|
|
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.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.