X-Git-Url: https://jxself.org/git/?p=pdp10-muddle.git;a=blobdiff_plain;f=mim%2Fdevelopment%2Fmim%2Fvax%2Fmimlib%2Fnetbase.mud;fp=mim%2Fdevelopment%2Fmim%2Fvax%2Fmimlib%2Fnetbase.mud;h=6362cac1e7b105582e843d87dd9fbbb21cb865e2;hp=0000000000000000000000000000000000000000;hb=d73ace3f3292e320b461b8fcd2e9f5dc5d9684d7;hpb=d530283ea60fb0ddcc28e9c5bd072456afe06e07 diff --git a/mim/development/mim/vax/mimlib/netbase.mud b/mim/development/mim/vax/mimlib/netbase.mud new file mode 100644 index 0000000..6362cac --- /dev/null +++ b/mim/development/mim/vax/mimlib/netbase.mud @@ -0,0 +1,300 @@ + + + + + "NETDEFS"> + + + OPEN NETWORK-OPEN + CLOSE NETWORK-CLOSE + READ-BUFFER NETWORK-READ + READ-BYTE NETWORK-READ-BYTE + WRITE-BUFFER NETWORK-WRITE + WRITE-BYTE NETWORK-WRITE-BYTE + TIMEOUT NETWORK-TIMEOUT + INPUT-WAITING NETWORK-TYPE-AHEAD? + CLOSE-DATA-CHANNEL NET-CLOSE-ALT + FILE-HANDLE NET-FILE-HANDLE> + +> + + )> + + + + OPER + "AUX" (DATA:CONNECTION )) + > + + OPER + "AUX" (DATA:CONNECTION ) + (BUF:UVECTOR >) + (CURRENT-CONNECTION:> + .CHANNEL)) + ,FIONREAD .BUF> + 0> + <1 .BUF>)>)>> + + "OPT" NEW: "AUX" OLD) + > <1 .UV>) + (T + <+ > > 1000000.0>>)>> + >) + ( + <2 .UV 0> + <1 .UV .NEW>) + (T + <1 .UV > + <2 .UV >>>>)> + .OLD> + + OPER + "OPT" NEW: + "AUX" (DATA:CONNECTION ) + UV (OLD <>)) + > + >)> + >) + ( >) + (T + >)> + + )> + .OLD> + + + "OPTIONAL" SERVICE: + (H: ) + (NS: <>) + "AUX" S + (FA >) + (ADDR:NET-ADDRESS ) + ERR KIND:FIX PROT:FIX SERVSOCK:FIX) + > + ) + ( + + > + + + > + + >) + (T + > + > + ) + (T )> + )> + > + >> + + .ERR) + (T + + + NET-ADDRESS> + .SERVICE 0 <> <>] + CONNECTION>)>)>) + (T + + NET-ADDRESS> + .SERVICE 0 <> <>] CONNECTION>)>> + +) + L:) + ,NET-CHANNELS>> + + >) + (T + + + 1>> + >)>)>> + + OPER + "AUX" (DATA:CONNECTION ) NC) + > CHANNEL> + + )> + >) + ( + + >)>> + + OPER + "AUX" (DATA:CONNECTION )) + + )> + + > + + .CHANNEL> + + OPER + "TUPLE" STUFF + "AUX" (CT:FIX ) + (IOV:UVECTOR >) RLEN + (DATA:CONNECTION ) + FROB: + NC: + (CURRENT-CONNECTION: .CHANNEL)) + #DECL ((STUFF) < + [REST + ]>) + + > + >> + >) + (T >)>) + (T + >)> + + >)> + + .FROB .CT>> + + > + + >>) + (T + >)> + )> + .RLEN)>>) + (T + > + .IOV >> + > 0> + .RES>> + ) + (T + .RES>>)> + .RES)>>)>> + + OPER "AUX" + (DATA:CONNECTION ) + (BUF >) + (CURRENT-CONNECTION:> + .CHANNEL) + RES:) + > + > + .BUF 1>> + > + <1 .BUF>)>)>> + + OPER BYTE: + "AUX" (DATA:CONNECTION ) + (BUF1 >) + (BUF2 >) + (CURRENT-CONNECTION:> + .CHANNEL)) + + <1 .BUF2 .BYTE> + .BYTE)>) + (T + <1 .BUF1 .BYTE> + .BUF1 1> .BYTE)>)>> + + + +>) + RES:) + <1 .BUF >> + 1> .BUF 0 0 >> + ,TIMED-OUT) + (T)>)>> + + OPER + "TUPLE" STUFF + "AUX" (CT:FIX ) + (IOV:UVECTOR >) + (DATA:CONNECTION ) + LAST FROB: RES: + (CURRENT-CONNECTION:> + .CHANNEL)) + #DECL ((STUFF) < + [REST + ]>) + > + > + + > + >> + >) + (T >)>) + (T >)> + >)> + .FROB .CT>> + + 4>) + (.RES)>)>) + (T + + .IOV >> + )>)>)>> + + [REST + ]> + IOV: + CT:FIX "OPT" (WRITE?: <>)) + + > + )> + > + >>> + <1 .IOV <+ <1 .IOV> <- .LEN .NEW>>>)> + > + > + UVECTOR> + 4>>)> + > + > + >>> + + + [REST ]> + IOV:) + 2>>> + )> + )> + > + > UVECTOR> + + > + <2 .STUFF .LEN>)> + >) + (T + + > + <2 .STUFF .LEN>)>)> + <1 .IOV > + <2 .IOV .LEN> + > + > + >>> + +