.TH PUP 4F "7 July 1983 .UC 4 .SH NAME pup \- Xerox PUP-I protocol family .SH SYNOPSIS .B #include <sys/types.h> .br .B #include <netpup/pup.h> .SH DESCRIPTION .de _d .if t .ta .6i 2.1i 2.6i .\" 2.94 went to 2.6, 3.64 to 3.30 .if n .ta .84i 2.6i 3.30i .. .de _f .if t .ta .5i 1.25i 2.5i .\" 3.5i went to 3.8i .if n .ta .7i 1.75i 3.8i .. The PUP-I protocol family is a collection of protocols layered atop the PUP Level-0 packet format, and utilizing the PUP Internet address format. The PUP family is currently supported only by a raw interface. .SH ADDRESSING PUP addresses are composed of network, host, and port portions. The include file .RI < netpup/pup.h > defines this address as, .PP .nf ._f struct pupport { u_char pup_net; u_char pup_host; u_char pup_socket[4]; }; .fi .PP Sockets bound to the PUP protocol family utilize the following addressing structure, .PP .nf ._f struct sockaddr_pup { short spup_family; short spup_zero1; u_char spup_net; u_char spup_host; u_char spup_sock[4]; char spup_zero2[4]; }; .fi .SH HEADERS The current PUP support provides only raw access to the 3Mb/s Ethernet. Packets sent through this interface must have space for the following packet header present at the front of the message, .sp 1 .nf ._f struct pup_header { u_short pup_length; u_char pup_tcontrol; /* transport control */ u_char pup_type; /* protocol type */ u_long pup_id; /* used by protocols */ u_char pup_dnet; /* destination */ u_char pup_dhost; u_char pup_dsock[4]; u_char pup_snet; /* source */ u_char pup_shost; u_char pup_ssock[4]; }; .fi .PP The sender should fill in the .IR pup_tcontrol , .IR pup_type , and .IR pup_id fields. The remaining fields are filled in by the system. The system checks the message to insure its size is valid and, calulates a checksum for the message. If no checksum should be calculated, the checksum field (the last 16-bit word in the message) should be set to PUP_NOCKSUM. .PP The .I pup_tcontrol field is restricted to be 0 or PUP_TRACE; PUP_TRACE indicates packet tracing should be performed. The .I pup_type field may not be 0. .PP On input, the entire packet, including header, is provided the user. No checksum validation is performed. .SH SEE ALSO intro(4N), pup(4P), en(4) .SH BUGS The only interface which currently supports use of pup's is the Xerox 3 Mb/s .IR en (4) interface. .PP With the release of the second generation, PUP-II, protocols it is not clear what future PUP-I has. Consequently, there has been little motivation to provide extensive kernel support.