Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vax / mimlib / netdefs.mud
1 <DEFINITIONS "NETDEFS">
2
3 <USE "NEWSTRUC" "NETBASE">
4
5 <GDECL (NET-CHANNELS) <LIST [REST FIX CHANNEL]>>
6
7 <NEWSTRUC CONNECTION VECTOR
8           C-SOCKET FIX
9           C-ADDR NET-ADDRESS
10           C-SERVICE FIX
11           C-FLAGS FIX
12           C-TIMEOUT <OR UVECTOR FALSE>
13           C-ALTCHANNEL <OR <CHANNEL 'NETWORK> FIX FALSE>>
14
15 <MSETG ADDR-LEN 16>
16 <MSETG ADDR-WORD-LEN 4>
17
18 <NEWSTRUC NET-ADDRESS UVECTOR
19           NA-SOCKET FIX
20           NA-HOST FIX
21           NA-OTH1 FIX
22           NA-OTH2 FIX>
23
24 <MSETG IN-ADDR-HOST ,NA-HOST>
25
26 <DEFMAC WORD-BYTE ('WD 'WHICH "OPT" 'NEW)
27    <COND (<NOT <ASSIGNED? NEW>>
28           <FORM GETBITS .WD <BITS 8 <* .WHICH 8>>>)
29          (T
30           <FORM PUTBITS .WD <BITS 8 <* .WHICH 8>> .NEW>)>>
31
32 <DEFMAC REV-WD ('WD)
33    <FORM BIND ((NW .WD))
34          <FORM PUTBITS
35                <FORM GETBITS '.NW <BITS 8 8>>
36                <BITS 8 8>
37                <FORM GETBITS '.NW <BITS 8 0>>>>>
38
39 <DEFMAC IN-ADDR-FAMILY ('ADDR "OPT" 'NEW)
40    <COND (<NOT <ASSIGNED? NEW>>
41           <FORM RHW <FORM NA-SOCKET .ADDR>>)
42          (T
43           <FORM NA-SOCKET .ADDR <FORM PUTRHW <FORM NA-SOCKET .ADDR> .NEW>>)>>
44
45 <DEFMAC IN-ADDR-PORT ('ADDR "OPT" 'NEW)
46    <COND (<NOT <ASSIGNED? NEW>>
47           <FORM REV-WD <FORM LHW <FORM NA-SOCKET .ADDR>>>)
48          (T
49           <FORM NA-SOCKET .ADDR <FORM PUTLHW <FORM NA-SOCKET .ADDR>
50                                        <FORM REV-WD .NEW>>>)>>
51
52 <DEFMAC BUILD-ADDRESS ('SERVICE 'H "OPT" 'UV)
53   <FORM BIND (NEW-ADDR)
54     <COND (<NOT <ASSIGNED? UV>>
55            <FORM SET NEW-ADDR <FORM CHTYPE <FORM IUVECTOR ,ADDR-WORD-LEN>
56                                       NET-ADDRESS>>)
57           (T
58            <FORM SET NEW-ADDR .UV>)>
59     <FORM NA-HOST '.NEW-ADDR .H>
60     <FORM NA-OTH1 '.NEW-ADDR 0>
61     <FORM NA-SOCKET '.NEW-ADDR
62           <FORM PUTLHW ,AF-INET <FORM REV-WD .SERVICE>>>>>
63
64 <MSETG FIONREAD *10001063177*>
65
66 <MSETG TIMED-OUT <CHTYPE (60) FALSE>>
67
68 <MSETG F-DUPFD 0>
69 <MSETG F-GETFD 1>
70 <MSETG F-SETFD 2>
71 <MSETG F-GETFL 3>
72 <MSETG F-SETFL 4>
73 <MSETG F-GETOWN 5>
74 <MSETG F-SETOWN 6>
75
76 <MSETG FNDELAY 4>
77 <MSETG FAPPEND *10*>
78 <MSETG FASYNC *100*>
79
80 <MSETG O-RDONLY 0>
81 <MSETG O-WRONLY 1>
82 <MSETG O-RDWR 2>
83 <MSETG O-NDELAY ,FNDELAY>
84 <MSETG O-APPEND ,FAPPEND>
85
86
87
88 <MSETG SHUT-RECV 0>
89 <MSETG SHUT-SEND 1>
90 <MSETG SHUT-ALL 2>
91
92 ; "Socket types for socket call"
93 <MSETG SOCK-STREAM 1>           ; "Stream"
94 <MSETG SOCK-DGRAM 2>            ; "Datagrams"
95 <MSETG SOCK-RAW 3>              ; "raw-protocol interface"
96 <MSETG SOCK-RDM 4>              ; "reliably-delivered message"
97 <MSETG SOCK-SEQPACKET 5>        ; "sequenced packets"
98
99 ; "Option flags per-socket"
100 <MSETG SO-DEBUG 1>              ; "Turn on debugging info recording"
101 <MSETG SO-ACCEPTCONN 2>         ; "Socket has had listen()"
102 <MSETG SO-REUSEADDR 4>          ; "Allow local address reuse"
103 <MSETG SO-KEEPALIVE 8>          ; "keep connections alive"
104 <MSETG SO-DONTROUTE 16>         ; "just use interface addresses"
105 <MSETG SO-USELOOPBACK 64>       ; "bypass hardware when possible"
106 <MSETG SO-LINGER 128>           ; "Linger on close if data present"
107
108 <MSETG NET-ADDR-ANY 0>                 ;"special address for listening"
109
110 ; "Address format parameters for socket call"
111 <MSETG AF-UNSPEC 0>
112 <MSETG AF-UNIX 1>
113 <MSETG AF-INET 2>
114 <MSETG AF-PUP 3>
115 <MSETG AF-IMPLINK 4>
116 <MSETG AF-CHAOS 5>
117 <MSETG AF-NS 6>
118 <MSETG AF-NBS 7>
119 <MSETG AF-ECMA 8>
120 <MSETG AF-DATAKIT 9>
121 <MSETG AF-CCITT 10>
122 <MSETG AF-SNA 11>
123
124 <MSETG PS-UNSPEC ,AF-UNSPEC>
125 <MSETG PF-UNIX ,AF-UNIX>
126 <MSETG PF-INET ,AF-INET>
127 <MSETG PF-IMPLINK ,AF-IMPLINK>
128 <MSETG PF-PUP ,AF-PUP>
129 <MSETG PF-CHAOS ,AF-CHAOS>
130 <MSETG PF-NS ,AF-NS>
131 <MSETG PF-NBS ,AF-NBS>
132 <MSETG PF-ECMA ,AF-ECMA>
133 <MSETG PF-DATAKIT ,AF-DATAKIT>
134 <MSETG PF-CCITT ,AF-CCITT>
135 <MSETG PF-SNI ,AF-SNA>
136 \\f
137 ; "Protocols"
138 <MSETG PROT-IP 0>                      ;"Internet"
139 <MSETG PROT-ICMP 1>                    ;"Internet control message"
140 <MSETG PROT-GGP 3>                     ;"gateway-gateway protocol"
141 <MSETG PROT-TCP 6>                     ;"transmission control protocol"
142 <MSETG PROT-PUP 12>                    ;"PARC universal packet"
143 <MSETG PROT-ACP 13>                    ;"Argus"
144 <MSETG PROT-UDP 17>                    ;"user datagrams"
145 <MSETG PROT-RVD 66>                    ;"remote virtual disk"
146
147 <MSETG SERV-MIN-NONPRIV 1025>          ;"smaller sockets can't listen"
148 <MSETG SERV-TEST <PUTLHW ,SERV-MIN-NONPRIV ,PROT-TCP>>
149 <MSETG SERV-TEST-UDP <PUTLHW ,SERV-MIN-NONPRIV ,PROT-UDP>>
150
151 ; "Services.  Protocol is LH, socket is RH"
152 <MSETG SERV-TCP-ECHO <PUTLHW 7 ,PROT-TCP>> ;"for debugging"
153 <MSETG SERV-UDP-ECHO <PUTLHW 7 ,PROT-UDP>>
154 <MSETG SERV-TCP-DISCARD <PUTLHW 9 ,PROT-TCP>>
155 <MSETG SERV-UDP-DISCARD <PUTLHW 9 ,PROT-UDP>>
156 <MSETG SERV-SYSTAT <PUTLHW 11 ,PROT-TCP>>       ;"Users"
157 <MSETG SERV-DAYTIME <PUTLHW 13 ,PROT-TCP>>      ;"Time of day"
158 <MSETG SERV-NETSTAT <PUTLHW 15 ,PROT-TCP>>
159 <MSETG SERV-TCP-QOTD <PUTLHW 17 ,PROT-TCP>>     ;"quote"
160 <MSETG SERV-UDP-QOTD <PUTLHW 17 ,PROT-UDP>>
161 <MSETG SERV-CHARGEN <PUTLHW 19 ,PROT-TCP>>
162 <MSETG SERV-FTP <PUTLHW 21 ,PROT-TCP>>
163 <MSETG SERV-TELNET <PUTLHW 23 ,PROT-TCP>>
164 <MSETG SERV-SMTP <PUTLHW 25 ,PROT-TCP>>
165 <MSETG SERV-TCP-TIME <PUTLHW 37 ,PROT-TCP>>
166 <MSETG SERV-UDP-TIME <PUTLHW 37 ,PROT-UDP>>
167 <MSETG SERV-NAME <PUTLHW 42 ,PROT-TCP>>
168 <MSETG SERV-WHOIS <PUTLHW 43 ,PROT-TCP>>
169 <MSETG SERV-MTP <PUTLHW 57 ,PROT-TCP>>
170 <MSETG SERV-HOSTNAMES <PUTLHW 101 ,PROT-TCP>>
171 <MSETG SERV-TFTP <PUTLHW 69 ,PROT-UDP>>
172 <MSETG SERV-RJE <PUTLHW 77 ,PROT-TCP>>
173 <MSETG SERV-FINGER <PUTLHW 79 ,PROT-TCP>>
174 <MSETG SERV-LINK <PUTLHW 87 ,PROT-TCP>>
175 <MSETG SERV-SUPDUP <PUTLHW 95 ,PROT-TCP>>
176 <MSETG SERV-WRITE <PUTLHW 115 ,PROT-TCP>>
177 <MSETG SERV-INGRESLOCK <PUTLHW 1524 ,PROT-TCP>>
178
179 <MSETG SERV-EXEC <PUTLHW 512 ,PROT-TCP>>
180 <MSETG SERV-LOGIN <PUTLHW 513 ,PROT-TCP>>
181 <MSETG SERV-SHELL <PUTLHW 514 ,PROT-TCP>>
182 <MSETG SERV-PRINTER <PUTLHW 515 ,PROT-TCP>>
183 <MSETG SERV-BIFF <PUTLHW 512 ,PROT-UDP>>
184 <MSETG SERV-WHO <PUTLHW 513 ,PROT-UDP>>
185 <MSETG SERV-SYSLOG <PUTLHW 514 ,PROT-UDP>>
186 <MSETG SERV-TALK <PUTLHW 517 ,PROT-UDP>>
187 <MSETG SERV-ROUTE <PUTLHW 520 ,PROT-UDP>>
188 <MSETG SERV-NEW-RWHO <PUTLHW 550 ,PROT-UDP>>
189 <MSETG SERV-RMONITOR <PUTLHW 560 ,PROT-UDP>>
190 <MSETG SERV-MONITOR <PUTLHW 561 ,PROT-UDP>>
191
192 <MSETG SERV-VS100 <PUTLHW 5800 ,PROT-TCP>>
193
194 \f
195
196 <END-DEFINITIONS>