Annotation of cci/usr/src/man/man4/pup.4f, revision 1.1.1.1

1.1       root        1: .TH PUP 4F "7 July 1983
                      2: .UC 4
                      3: .SH NAME
                      4: pup \- Xerox PUP-I protocol family
                      5: .SH SYNOPSIS
                      6: .B #include <sys/types.h>
                      7: .br
                      8: .B #include <netpup/pup.h>
                      9: .SH DESCRIPTION
                     10: .de _d
                     11: .if t .ta .6i 2.1i 2.6i
                     12: .\" 2.94 went to 2.6, 3.64 to 3.30
                     13: .if n .ta .84i 2.6i 3.30i
                     14: ..
                     15: .de _f
                     16: .if t .ta .5i 1.25i 2.5i
                     17: .\" 3.5i went to 3.8i
                     18: .if n .ta .7i 1.75i 3.8i
                     19: ..
                     20: The PUP-I protocol family is a collection of protocols
                     21: layered atop the PUP Level-0 packet format, and
                     22: utilizing the PUP Internet address format.
                     23: The PUP family is currently supported only by a raw interface.
                     24: .SH ADDRESSING
                     25: PUP addresses are composed of network, host, and port
                     26: portions.
                     27: The include file
                     28: .RI < netpup/pup.h >
                     29: defines this address as,
                     30: .PP
                     31: .nf
                     32: ._f
                     33: struct pupport {
                     34:        u_char  pup_net;
                     35:        u_char  pup_host;
                     36:        u_char  pup_socket[4];
                     37: };
                     38: .fi
                     39: .PP
                     40: Sockets bound to the PUP protocol family utilize
                     41: the following addressing structure,
                     42: .PP
                     43: .nf
                     44: ._f
                     45: struct sockaddr_pup {
                     46:        short   spup_family;
                     47:        short   spup_zero1;
                     48:        u_char  spup_net;
                     49:        u_char  spup_host;
                     50:        u_char  spup_sock[4];
                     51:        char    spup_zero2[4];
                     52: };
                     53: .fi
                     54: .SH HEADERS
                     55: The current PUP support provides only raw access to the
                     56: 3Mb/s Ethernet.  Packets sent through this interface
                     57: must have space for the following packet header present at the
                     58: front of the message,
                     59: .sp 1
                     60: .nf
                     61: ._f
                     62: struct pup_header {
                     63:        u_short pup_length;
                     64:        u_char  pup_tcontrol;           /* transport control */
                     65:        u_char  pup_type;               /* protocol type */
                     66:        u_long  pup_id;                 /* used by protocols */
                     67:        u_char  pup_dnet;               /* destination */
                     68:        u_char  pup_dhost;
                     69:        u_char  pup_dsock[4];
                     70:        u_char  pup_snet;               /* source */
                     71:        u_char  pup_shost;
                     72:        u_char  pup_ssock[4];
                     73: };
                     74: .fi
                     75: .PP
                     76: The sender should fill in the 
                     77: .IR pup_tcontrol ,
                     78: .IR pup_type ,
                     79: and
                     80: .IR pup_id
                     81: fields.  The remaining fields are filled in by the system.
                     82: The system checks the message to insure its size is valid
                     83: and, calulates a checksum for the message.  If no checksum
                     84: should be calculated, the checksum field (the last 16-bit
                     85: word in the message) should be set to PUP_NOCKSUM.
                     86: .PP
                     87: The
                     88: .I pup_tcontrol
                     89: field is restricted to be 0 or PUP_TRACE; PUP_TRACE
                     90: indicates packet tracing should be performed.  The
                     91: .I pup_type
                     92: field may not be 0.
                     93: .PP
                     94: On input, the entire packet, including header, is provided the user.
                     95: No checksum validation is performed.
                     96: .SH SEE ALSO
                     97: intro(4N), pup(4P), en(4)
                     98: .SH BUGS
                     99: The only interface which currently supports use of pup's 
                    100: is the Xerox 3 Mb/s
                    101: .IR en (4)
                    102: interface.
                    103: .PP
                    104: With the release of the second generation, PUP-II, protocols
                    105: it is not clear what future PUP-I has.  Consequently, there
                    106: has been little motivation to provide extensive kernel support.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.