Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vax / mimlib / netdefs.mud
diff --git a/mim/development/mim/vax/mimlib/netdefs.mud b/mim/development/mim/vax/mimlib/netdefs.mud
new file mode 100644 (file)
index 0000000..5ffd0ff
--- /dev/null
@@ -0,0 +1,196 @@
+<DEFINITIONS "NETDEFS">
+
+<USE "NEWSTRUC" "NETBASE">
+
+<GDECL (NET-CHANNELS) <LIST [REST FIX CHANNEL]>>
+
+<NEWSTRUC CONNECTION VECTOR
+         C-SOCKET FIX
+         C-ADDR NET-ADDRESS
+         C-SERVICE FIX
+         C-FLAGS FIX
+         C-TIMEOUT <OR UVECTOR FALSE>
+         C-ALTCHANNEL <OR <CHANNEL 'NETWORK> FIX FALSE>>
+
+<MSETG ADDR-LEN 16>
+<MSETG ADDR-WORD-LEN 4>
+
+<NEWSTRUC NET-ADDRESS UVECTOR
+         NA-SOCKET FIX
+         NA-HOST FIX
+         NA-OTH1 FIX
+         NA-OTH2 FIX>
+
+<MSETG IN-ADDR-HOST ,NA-HOST>
+
+<DEFMAC WORD-BYTE ('WD 'WHICH "OPT" 'NEW)
+   <COND (<NOT <ASSIGNED? NEW>>
+         <FORM GETBITS .WD <BITS 8 <* .WHICH 8>>>)
+        (T
+         <FORM PUTBITS .WD <BITS 8 <* .WHICH 8>> .NEW>)>>
+
+<DEFMAC REV-WD ('WD)
+   <FORM BIND ((NW .WD))
+        <FORM PUTBITS
+              <FORM GETBITS '.NW <BITS 8 8>>
+              <BITS 8 8>
+              <FORM GETBITS '.NW <BITS 8 0>>>>>
+
+<DEFMAC IN-ADDR-FAMILY ('ADDR "OPT" 'NEW)
+   <COND (<NOT <ASSIGNED? NEW>>
+         <FORM RHW <FORM NA-SOCKET .ADDR>>)
+        (T
+         <FORM NA-SOCKET .ADDR <FORM PUTRHW <FORM NA-SOCKET .ADDR> .NEW>>)>>
+
+<DEFMAC IN-ADDR-PORT ('ADDR "OPT" 'NEW)
+   <COND (<NOT <ASSIGNED? NEW>>
+         <FORM REV-WD <FORM LHW <FORM NA-SOCKET .ADDR>>>)
+        (T
+         <FORM NA-SOCKET .ADDR <FORM PUTLHW <FORM NA-SOCKET .ADDR>
+                                      <FORM REV-WD .NEW>>>)>>
+
+<DEFMAC BUILD-ADDRESS ('SERVICE 'H "OPT" 'UV)
+  <FORM BIND (NEW-ADDR)
+    <COND (<NOT <ASSIGNED? UV>>
+          <FORM SET NEW-ADDR <FORM CHTYPE <FORM IUVECTOR ,ADDR-WORD-LEN>
+                                     NET-ADDRESS>>)
+         (T
+          <FORM SET NEW-ADDR .UV>)>
+    <FORM NA-HOST '.NEW-ADDR .H>
+    <FORM NA-OTH1 '.NEW-ADDR 0>
+    <FORM NA-SOCKET '.NEW-ADDR
+         <FORM PUTLHW ,AF-INET <FORM REV-WD .SERVICE>>>>>
+
+<MSETG FIONREAD *10001063177*>
+
+<MSETG TIMED-OUT <CHTYPE (60) FALSE>>
+
+<MSETG F-DUPFD 0>
+<MSETG F-GETFD 1>
+<MSETG F-SETFD 2>
+<MSETG F-GETFL 3>
+<MSETG F-SETFL 4>
+<MSETG F-GETOWN 5>
+<MSETG F-SETOWN 6>
+
+<MSETG FNDELAY 4>
+<MSETG FAPPEND *10*>
+<MSETG FASYNC *100*>
+
+<MSETG O-RDONLY 0>
+<MSETG O-WRONLY 1>
+<MSETG O-RDWR 2>
+<MSETG O-NDELAY ,FNDELAY>
+<MSETG O-APPEND ,FAPPEND>
+
+
+
+<MSETG SHUT-RECV 0>
+<MSETG SHUT-SEND 1>
+<MSETG SHUT-ALL 2>
+
+; "Socket types for socket call"
+<MSETG SOCK-STREAM 1>          ; "Stream"
+<MSETG SOCK-DGRAM 2>           ; "Datagrams"
+<MSETG SOCK-RAW 3>             ; "raw-protocol interface"
+<MSETG SOCK-RDM 4>             ; "reliably-delivered message"
+<MSETG SOCK-SEQPACKET 5>       ; "sequenced packets"
+
+; "Option flags per-socket"
+<MSETG SO-DEBUG 1>             ; "Turn on debugging info recording"
+<MSETG SO-ACCEPTCONN 2>                ; "Socket has had listen()"
+<MSETG SO-REUSEADDR 4>         ; "Allow local address reuse"
+<MSETG SO-KEEPALIVE 8>         ; "keep connections alive"
+<MSETG SO-DONTROUTE 16>                ; "just use interface addresses"
+<MSETG SO-USELOOPBACK 64>      ; "bypass hardware when possible"
+<MSETG SO-LINGER 128>          ; "Linger on close if data present"
+
+<MSETG NET-ADDR-ANY 0>                ;"special address for listening"
+
+; "Address format parameters for socket call"
+<MSETG AF-UNSPEC 0>
+<MSETG AF-UNIX 1>
+<MSETG AF-INET 2>
+<MSETG AF-PUP 3>
+<MSETG AF-IMPLINK 4>
+<MSETG AF-CHAOS 5>
+<MSETG AF-NS 6>
+<MSETG AF-NBS 7>
+<MSETG AF-ECMA 8>
+<MSETG AF-DATAKIT 9>
+<MSETG AF-CCITT 10>
+<MSETG AF-SNA 11>
+
+<MSETG PS-UNSPEC ,AF-UNSPEC>
+<MSETG PF-UNIX ,AF-UNIX>
+<MSETG PF-INET ,AF-INET>
+<MSETG PF-IMPLINK ,AF-IMPLINK>
+<MSETG PF-PUP ,AF-PUP>
+<MSETG PF-CHAOS ,AF-CHAOS>
+<MSETG PF-NS ,AF-NS>
+<MSETG PF-NBS ,AF-NBS>
+<MSETG PF-ECMA ,AF-ECMA>
+<MSETG PF-DATAKIT ,AF-DATAKIT>
+<MSETG PF-CCITT ,AF-CCITT>
+<MSETG PF-SNI ,AF-SNA>
+\\f
+; "Protocols"
+<MSETG PROT-IP 0>                     ;"Internet"
+<MSETG PROT-ICMP 1>                   ;"Internet control message"
+<MSETG PROT-GGP 3>                    ;"gateway-gateway protocol"
+<MSETG PROT-TCP 6>                    ;"transmission control protocol"
+<MSETG PROT-PUP 12>                   ;"PARC universal packet"
+<MSETG PROT-ACP 13>                   ;"Argus"
+<MSETG PROT-UDP 17>                   ;"user datagrams"
+<MSETG PROT-RVD 66>                   ;"remote virtual disk"
+
+<MSETG SERV-MIN-NONPRIV 1025>         ;"smaller sockets can't listen"
+<MSETG SERV-TEST <PUTLHW ,SERV-MIN-NONPRIV ,PROT-TCP>>
+<MSETG SERV-TEST-UDP <PUTLHW ,SERV-MIN-NONPRIV ,PROT-UDP>>
+
+; "Services.  Protocol is LH, socket is RH"
+<MSETG SERV-TCP-ECHO <PUTLHW 7 ,PROT-TCP>> ;"for debugging"
+<MSETG SERV-UDP-ECHO <PUTLHW 7 ,PROT-UDP>>
+<MSETG SERV-TCP-DISCARD <PUTLHW 9 ,PROT-TCP>>
+<MSETG SERV-UDP-DISCARD <PUTLHW 9 ,PROT-UDP>>
+<MSETG SERV-SYSTAT <PUTLHW 11 ,PROT-TCP>>      ;"Users"
+<MSETG SERV-DAYTIME <PUTLHW 13 ,PROT-TCP>>     ;"Time of day"
+<MSETG SERV-NETSTAT <PUTLHW 15 ,PROT-TCP>>
+<MSETG SERV-TCP-QOTD <PUTLHW 17 ,PROT-TCP>>    ;"quote"
+<MSETG SERV-UDP-QOTD <PUTLHW 17 ,PROT-UDP>>
+<MSETG SERV-CHARGEN <PUTLHW 19 ,PROT-TCP>>
+<MSETG SERV-FTP <PUTLHW 21 ,PROT-TCP>>
+<MSETG SERV-TELNET <PUTLHW 23 ,PROT-TCP>>
+<MSETG SERV-SMTP <PUTLHW 25 ,PROT-TCP>>
+<MSETG SERV-TCP-TIME <PUTLHW 37 ,PROT-TCP>>
+<MSETG SERV-UDP-TIME <PUTLHW 37 ,PROT-UDP>>
+<MSETG SERV-NAME <PUTLHW 42 ,PROT-TCP>>
+<MSETG SERV-WHOIS <PUTLHW 43 ,PROT-TCP>>
+<MSETG SERV-MTP <PUTLHW 57 ,PROT-TCP>>
+<MSETG SERV-HOSTNAMES <PUTLHW 101 ,PROT-TCP>>
+<MSETG SERV-TFTP <PUTLHW 69 ,PROT-UDP>>
+<MSETG SERV-RJE <PUTLHW 77 ,PROT-TCP>>
+<MSETG SERV-FINGER <PUTLHW 79 ,PROT-TCP>>
+<MSETG SERV-LINK <PUTLHW 87 ,PROT-TCP>>
+<MSETG SERV-SUPDUP <PUTLHW 95 ,PROT-TCP>>
+<MSETG SERV-WRITE <PUTLHW 115 ,PROT-TCP>>
+<MSETG SERV-INGRESLOCK <PUTLHW 1524 ,PROT-TCP>>
+
+<MSETG SERV-EXEC <PUTLHW 512 ,PROT-TCP>>
+<MSETG SERV-LOGIN <PUTLHW 513 ,PROT-TCP>>
+<MSETG SERV-SHELL <PUTLHW 514 ,PROT-TCP>>
+<MSETG SERV-PRINTER <PUTLHW 515 ,PROT-TCP>>
+<MSETG SERV-BIFF <PUTLHW 512 ,PROT-UDP>>
+<MSETG SERV-WHO <PUTLHW 513 ,PROT-UDP>>
+<MSETG SERV-SYSLOG <PUTLHW 514 ,PROT-UDP>>
+<MSETG SERV-TALK <PUTLHW 517 ,PROT-UDP>>
+<MSETG SERV-ROUTE <PUTLHW 520 ,PROT-UDP>>
+<MSETG SERV-NEW-RWHO <PUTLHW 550 ,PROT-UDP>>
+<MSETG SERV-RMONITOR <PUTLHW 560 ,PROT-UDP>>
+<MSETG SERV-MONITOR <PUTLHW 561 ,PROT-UDP>>
+
+<MSETG SERV-VS100 <PUTLHW 5800 ,PROT-TCP>>
+
+\f
+
+<END-DEFINITIONS>