F IPACP063.Bz IPACP063.BzBACKUP IPACP.EXE,NAMSYM.REQ,NETCNTRL.REQ,NETERROR.MSG,NETERROR.REQ,NETVMS.REQ,NETWORK.REQ IPACP063.B/SAVE/INTER/BLOCK=2048 SYNFUL :AV4.7 _CMU063::  _DUA0: V4.7  *[CMU063.IPACP]IPACP.EXE;1+,./ 4-0123 KPWO56O¹A7OA89GHJ0DX0205(A!X2QH6yIPACP7.8A04-00%&'[45   ?!  LIBRTL_001"! SECURESHR_001!%T TCB !XL state change from !SL to !SL!/*!%T TCB !XL inactivated, reason=!SL!/%4!%T TCB !XL inactive in INACTIVATE_TCB!/(d!%T TCB !XL killed by RX timeout!/"!%T Check_Rexmit_Queue - segment size !SL too large!/5!%T !SL RX TCB !XL,PTR=!XL,RXQ=!XL/!XL,CNT=!SL,CTL=!SL,new RXTO=!SL!/E!%T RX-ENQ: Time=!SL, TCB=!XL, RXTO=!SL, MXTO=!SL!/!%T RX-ENQ: PTR=!XL/!XL, SEQ=!XL, SIZ=!SL, CNT=!SL, CTL=!SL!/pPListen.SYN_SENT. SYN_RECV.  IPACP063.B[CMU063.IPACP]IPACP.EXE;1EEstablished. FIN_Wait_1. FIN_Wait_2. (Time_Wait. <Close_Wait. PClosing.dInactive. tLast_ACK. !_PID:!_!XL!_State:!AS!/!_FH:!_!AS!_FP:!_!XL (!UL)!/!_LH:!_!AS!_LP:!_!XL (!UL)!/!_SND.WND: !SL!_RCV.WND: !SL!/!_SND.NXT: !XL (!UL)!_RCV.NXT: !XL (!UL)!/!_SND.UNA: !XL (!UL)!/!_RX time: !SL (now + !SL)!/!%T !SL Servicing all TCBs, count = !SL!/)p!%T Servicing TCB !XL!/!%T Deleting inactive connection !XL!/&!%T Conn !XL inactivated - conn timeout!/)!%T Conn !XL inactivated - user timeout!/)(!%T Function timeout: FCN=!XL, TCB=!XL!/(\!%T Time-wait expired, conn=!XL!/!!%T Sending data for TCB !XL!/!%T Sending spontaneous ACK, TCB=!XL!/&!%T Sending pending ACK, TCB=!XL!/"!%T SEND-ENQ EQ=!XL,DQ=!XL,RX=!XL,SNQ=!XL/!XL,CNT=!SL,SIZ=!SL!/?<!%T SEND_DATA - segment size !SL too large!/,!%T Sending for TCB !XL,SEQ count=!SL,DQ=!XL,EQ=!XL,SNQ=!XL/!XL!/A!%T Sending TCB inactivity probe!/"Initialize_TCP - Max buffer size not divisible by 430;C#0 12:0:0.0 |!%T WFS2D: No sleep, RTO=!SL!/!%T WFS2D: Short sleep, RTO=!SL!/!!%T WFS2D: Long sleep!/!%T WFS2D: Not sleeping!/ INET$NETWORK_NAME( LNM$SYSTEM T Noname Networkh x IP_ACP(V6.3) [VAF@CMU/22-Nov-87] starting) Failed to mount virtual device "IP", RC = !XL- Network onlineҢZ IPACP063.B[CMU063.IPACP]IPACP.EXE;1o !%T TCP exit.!/ IP_ACP(V6.3)  $GETJPIW failure for process name, RC = !XL+4 Duplicate network ACP -- exiting h $SETPRN failure, RC = !XL 0000 00:02:00.00 !%T !AS: IP=!AS, PHY=!AS!/ Device header size exceeds ARP max, size=, EC = !XL3 Device index is , EC = !XL, ARP_CHECK: Device not initialized, DEV=!SL*P ARP cache hit  ARP RQ XMIT  ARP_INPUT: Device not initialized, DEV=!SL* ARP RQ RCV  ARP RPLY RCV  !%T ARP_SWEEP running!/ INET$LOG:Log file $CREATE failed, RC = !XL!8 Log file $CONNECT failed, RC = !XL"d !%T Logging enabled!/ !%T Log event mask set to !XL!/ !%T Logging disabled!/ LOG_FAO failure, error code is !XL" !%T $ IPACP: !AS 0 ERROR_FAO failure, RC = !XLD ?IPACP: !AS h !%T !AS!/ | FATAL_FAO failure, RC = !XL ?IPACP: !AS  !%T !AS!/  QL_FAO failure, RC = !XL Network offline - ACP exiting. Exception handler: signal name !XL"$INET$CONFIG:Unable to access "INET$CONFIG:"\DEVICE_INITMEMGR_INITGATEWAYNAME_SERVERLOGGINGIP_FORWARDINGVARIABLEMBX_SERVERWKSLOCAL_HOSTUnknown keywordNo network devices detected in INET$CONFIG*CONFIG - !AS in line:!/!_"!AD"<Too many network devices in INET$CONFIG, max = 40dDECUnknown device typeBad device addressBad device IP addressBad deviqb IPACP063.B[CMU063.IPACP]IPACP.EXE;1 ce IP maskBad gateway addressBad gateway network number0Bad gateway maskTBad name server addressl%IPACP: Obsolete keyword NAME_SERVER found in INET$CONFIG9Bad integer valueBad integer valueBad integer valueBad integer value$Bad hex value for log state@Bad hex value for forwarding state"dBad variable valueIP_FORWARDINGFQ_MAXSYN_WAIT_COUNTACCESS_FLAGSMAX_TCP_DATASIZETELNET_SERVICEUnknown variable nameSSRWAIT(SSFEXCU8PSWAPMHNOACNTXBATCHhHIBERxIMGDMPNOUAFNETWRKDISAWSDETACHINTERNOPASSWORD 0@P`p @ *hALLSPOOLtBUGCHKBYPASS CMEXECCMKRNLDETACH DIAGNOSE@DOWNGRADE EXQUOTA8GROUPPGRPNAMhGRPPRVLOG_IOMOUNTNETMBXNOACNTOPERPFNMAP PHY_IO$@PRMCEB<PRMGBLTPRMMBXlPSWAPMREADALLSECURITY@SETPRI SETPRV@SHAR&H IPACP063.B[CMU063.IPACP]IPACP.EXE;1$I ESHMEMSYSGBL,SYSLCKD@SYSNAM\SYSPRVtTMPMBXUPGRADEVOLPRO WORLDLl| (0@HX`px,4DL\dt| $4<LTdl|ASTLM BIOLM0BYTLM@CPULMPDIOLM`ENQLMpFILLMJTQUOTAPGFLQUOTA PRCLMTQELMWSDEFAULT WSEXTENTWSQUOTA(8HXhx     Bad keyword field|Missing "=" in quota description Missing or bad quota valueExceeded max number of quota keywords%Bad WKS port valueBad priority value0Bad queue limit valueLBad priority valuelBad host addressBad host mask SKIPTO failure (EOL)SKIPWHITE failure (EOL)Bad or null field foundOnlineOffline$Net device !SL is !AS, address=!AS, IP=!AS (!AS)04!%T TCP$Cancel: TCB=!XL!/l!%T Deliver user data: DQ=!XL,EQ=!XL,RCQ=!XL/!XL,Size=!SL!/!_HEX: !AS!/!_ASCII: !AF!/W!%T Posting TCP$ë6 IPACP063.B[CMU063.IPACP]IPACP.EXE;1RECEIVE: Size=!SL,Flags=!XB!/-!%T TCP$RECEIVE: Conn=!XL, TCB=!XL, Size=!SL!/.(!%T TCP$SEND: Conn=!XL, TCB=!XL, Size=!SL!/+`!%T TCP$CLOSE: conn=!XL, TCB=!XL!/"!%T TCP$OPEN: PID=!XL,CHAN=!XL,FLAGS=!XL!/*!%T ACTIVE Open, LP = !XL (!UL), FP = !XL (!UL)!/1!%T ACTIVE Open, wild LP, FP = !XL (!UL)!/*0!%T Passive open on LP=!XL (!UL), FP=!XL (!UL)!/0d!%T TCP$OPEN: Conn idx = !XL, TCB = !XL!/)!%T ADLOOK-DONE for nonexistant TCB !XL!/)!%T ADLOOK-DONE unexpected for TCB !XL!/(ARPANET_ACCESS4INTERNET_ACCESSL!%T Posting IO, IOSB=!XL, IRP=!XL, UCB=!XL!/,d!%T User error return, RC = !XL!/!!%T VMS$Cancel: PID=!XL, Chan=!XL!/#!%T EXIT requested, User PID: !XL!/#Local hosts list full - not adding entry for !AS0% Failed to find identifier !AS - access check disabled7T% Failed to find identifier !AS - access check disabled7% No local hosts list - ARPANET access check disabled5TCP$OPEN TCP$SEND$ TCP$RECEIVE 4 TCP$CLOSE H TCP$ABORT \ TCP$STATUS p TCP$INFO Net$GTHST  UDP$OPEN UDP$SEND UDP$RECEIVE  UDP$CLOSE  UDP$ABORT  UDP$STATUS !UDP$INFO!Net$DUMP(!Net$EXIT8!Net$Debug H!VMS$Cancel \!?User FCN !SL p!!%T !AS, Uargs=!XL,VMSID=!XL,IRP=!XL,UCB=!XL,PID=!XL!/6!Memory Mgmt. Fault detected., EC = !XL&!rtn(TCB_kv IPACP063.B[CMU063.IPACP]IPACP.EXE;1:Create) Valid TCB Table Full.%!Attempt to Delete unknown TCB,("0 00:00:30.00 P"Too many gateways in INET$CONFIG - entry for !AD ignored8h"$BINTIM failed for RA_CHECK_TIMSTR, RC = !XL,"!%T !AS: S=!AS,D=!AS,HL=!SL,PR=!SL,TL=!SL,ID=!SL,FL=!SL,FR=!SL!/!_ !AS: HDR=!XL,DATA=!XL!/]"!%T IP_ROUTE max recursion depth exceeded, DEST=!AS!/5D#!%T IP send failure - no route to !AS!/'#IPSend#!%T IPsend: route is !AS!/#!%T IP Receive checksum error, sum=!XL!/(#(IPrecv)$!%T IP discarded: device length=!SL, IP length=!SL!/4($(IPRecv)d$IPrecvt$!%T IPfwd: Cannot route IP destination!/($IPfwd$!%T IPfwd: Refused to forward to device !SL!/-$IPfwd$!%T IPfwd: packet TTL expired!/ %IPfwd4%ICMRecvD%IP_FRAGMENT - LIB$GET_VM failure, RC=!XL(T%!%T New reassambly block !XL, Timeout=!UL!/+%!%T Fragment at !XL for RA !XL, IPLEN=!SL, next octet=!SL!/;%!%T New fragment !XL too large, max=!SL, datlen=!SL!/5%IPfrag<&!%T Append fragment at !XL to RA !XL, LEN=!SL!//L&!%T Last fragment received, IPLEN=!SL, DLEN=!SL!/1&!%T IP Fragment unusable!/&IPfrag&!%T Flushing expired IP RA block !XL!/&&!%T ICMP recv checksum error, cksum=!XL!/)$'!%T ICMP recv: type=!SL,code=!SL,var=!XL!/*X'ICMrcv/IP '!%T ICMP - Unknown protocol !XL!/!'!%T ICMP recv: unknown ICMP type !XL!/&'!%T bտ IPACP063.B[CMU063.IPACP]IPACP.EXE;1,ICMP recv: IP param=!XL!/'!%T ICMP_ECHO: TTL exceeded, SRC=!AS,DST=!AS,ID=!UL!/5$(!%T ICMP_ECHO: PKT to large, SRC=!AS,DST=!AS,ID=!UL!/5d(!%T ICMP echo rply: id=!SL, seq=!SL!/%(!%T ACK-RXQ: TCB=!XL, SEQ=!XL, PTR=!XL, CNT=!SL!/!%T ACK-RXQ: CTL=!SL, ACK=!XL, DEQC=!SL!/Z(!%T ?RX-ACK - newc = !SL!/8)!%T ACK-RXQ: Prev SRTT=!SL, Cur RTT=!SL, New SRTT=!SL, RTO=!SL!/@\)!%T RESET for unknown conn, ACK=!XL (!UL), SEQ=!XL (!UL)!/:)!%T QND: TCB aborted, drop QB !XL, seg !XL, SEQ !XL/!XL!/9)!%T QND: TCB rcv q full, drop QB !XL, seg !XL, SEQ !XL/!XL!/<,*!%T QND: ENQ !SL from !XL,EQ=!XL,DQ=!XL,RCQ=!XL/!XL!/5p*Segin(recv_net_data) RCV_WND < 0!/"*!%T SYN-wait-list match,TCB=!XL,QB=!XL,Seg=!XL!/0*!AS.!SL+!%T Forked Server: !AS!/$+%T Server CREPRC Failed for !AS, RC = !XL!/+D+!%T Failed to fork server !AS!/x+!%T SYN wait list full for SYN on WKS !SL!/++!%T SYN wait list for port !SL full!/%+!%T SYN for WKS !SL received!/,!%T Dup SYN on Syn-wait list dropped!/&,,Too many WKS entries in INET$CONFIG - entry for !AD ignored;\,Received,Sent,!%T !AS Network Segment, SEG=!XL, OPT=!XL, DATA=!XL:!/6,!_SrcPrt:!_!XL (!UL)!_DstPrt:!_!XL (!UL)!/!_SEQnum:!_!XL (!UL)!_ACKnum:!_!XL (!UL)!/!_Window:!_!UW!_CKsum:!_!SL!_DatPtr:!_!SL!_UrgPtr:!_!SL!/!_Control Flags:!_!XL, = -URG -ACK -EOL -RST -SYN -FIN -  v0 IPACP063.B[CMU063.IPACP]IPACP.EXE;1#-!_Options:!_!SL = !AS!/.!_Data Count: !SL!/!_HEX:!_!AS!/!_ASCII:!_!AF!//(.!%T FQ full for seg !XL, QB !XL!/!`.!%T Drop duplicate FQ seg !XL, QB !XL!/'.!%T Seg !XL, QB !XL inserted on FQ at FQB !XL!//.!%T Flushing FQ seg !XL, QB !XL, SEQ=!XL,!XL!/..!%T Using FQ seg !XL, QB !XL, SEQ=!XL,!XL!/+,/!%T TCP MSS option = !SL set to !SL, TCB=!XL!/.`/!%T ?TCP MSS option wrong size=!SL, TCB=!XL!/-/!%T ?Bad TCP option type !SL, size !SL for TCB !XL!/4/!%T Received RST in listen state, TCB=!XL!/+ 0!%T Decode-seg(LISTEN): Send_SYN$ACK failed, TCB=!XL!/6@0Decode Seg(Listen): SYN data dropped!/&0!%T Decode Seg(Listen): NON SYN control!/)0!%T Decode seg:(SYN-Sent) RESET TCB !XL!/)0!%T Our SYN ACKed, Connection established.!/,1!%T Decode Seg: SYN-ACK data dropped, TCB=!XL!//L1Decode Seg: dup seg - Seg-ack<=Snd-nxt!/(1Duplicate Segment: Seg-Seq <= Recv-Nxt!/)1SEGIN: !XL (!UL) Failed seq tests, RCV_WND=!SL, RCV_NXT=!XL (!UL), SND_NXT=!XL (!UL)!/V1!%T SYN_RECV Connection established.!/&H2!%T Updated SND_WND=!SL,SND_NXT=!XL (!UL),SND_UNA=!XL (!UL)!/=x2!%T Updated SND_WND=!SL,SND_NXT=!XL (!UL),SND_UNA=!XL (!UL)!/=2!%T DS(Closing): FIN ACKed for conn !XL!/)3!%T DS(Last-ACK): FIN ACKed, deleting conn !XL!/0<3DS(!SL): RESET Connection !XL!/t3Dup SYN, deleting connection !XL!/"3!%T Update RCV_NXT !XL (!UL) to !XL (!UL)!/+3!%T  =v IPACP063.B[CMU063.IPACP]IPACP.EXE;1ICMP for unknown TCB,FH=!AS,FP=!XL,LP=!XL!//3!%T ICMP type !SL for TCB !XL!/44!%T TCB !XL killed by ICMP Dest Unreachable!/-\4!%T TCB !XL killed by ICMP Time Exceeded!/*4!%T TCP Checksum error (sum=!XL) for segment:!//4!%T RST received for unknown TCB, SP=!SL,DP=!SL!/15!%T SEGIN sending cum ACK, TCB=!XL!/$<5NAMSRVh5LNM$SYSTEM_TABLEx5MBX$NAMSRV 5MBX$IPACP 5IPACP_MBX 5NML_CONFIG - failed to allocate string, RC = !XL05NML_CONFIG - failed to allocate quolst, RC = !XL06Failed to create ACP mailbox, RC = !XL&<6LNM$TEMPORARY_MAILBOXl6$TRNLNM failed for ACP mailbox, RC = !XL(6$TRNLNM claims mailbox name nonexistant!!)6$CRELNM failed for ACP mailbox, RC = !XL(6Queued read failed for mailbox, RC = !XL( 7Failed to create NAMSRV - configuration info missing4P7$CREPRC for NAMSRV failed, RC = !XL#7!%T NML_GETALST: name is !AD!/7!%T NML_GETNAME: address is !UB.!UB.!UB.!UB!/-7!%T NML_CANCEL - Deleting NQE !XL!/#8$DELLNM failed for !AS, RC = !XL D8$DELMBX failed for ACP mailbox, RC = !XL(l8NQE count is !SL, TIME is !XL, QHEAD=!XL, QTAIL=!XL!/58** List link error, PREV should be !XL **!/+8NQE at !XL, NEXT=!XL, PREV=!XL!/ TYPE=!UL, LEN=!UL, FLAGS=!XW, TIME=!XL!/ ASTADR=!XL, ASTPRM=!XL!/d9Failed to send NAMSRV control message, RC = !XL/|9!%T NQE_ALLOC, NQE=!XL, RC=!XL!/ 9NQE_DEALLOC - LIB$FREE_VM failure, R ([CMU063.IPACP]IPACP.EXE;1.  x O%H_d7KcpvFUPsoy|jQ O:oeoctR8%sz,3Bc%/h2(.+D\rG v'=rVNP'ru` Ld(bG!exyY` {ow|Hc>_)y-~!pVbg4Hub[+WvGPmBD*d(M{.hfM6+"eL5 pUKXAhYRE*3A!7mXCKf B;Wctc`pM4@tA ^ .X\CegH/][2t WQӔmu'jDPoJ69S{(p /V05rwL>2uuu=c$SufY  [1@:f"M8e-Q YPwLi1m"@>+#>=x@wOdkb(}G"  Cd@DtO$0CjUPtUo(OX#vr n|cV=]*}!0rG4)t)~zY2HR n^>Anyf!pW<9QRs* ya5{zvH6aZSO?$./}}ESTfPS-Q%t>NkZVP, $b5 oCp"bQkB$yJQ)Ydk%Bv^CM/Ufq7x&Z[J2z4+;D|!c2+e54E'817up%; ?!Vo|KCDzRB{]J`{]Q|Q 1Q#cvyD\)N92#"s4u~}$q++ybz^Sm"rHꈦ݉HOZ'0o3XRl1?82tQ(b@n>A F5u19j.Z Y-M' DG!LQ\;j't{awwFG:m{DRGzcrcMM3BQ3~5[Uw:OVK8dkV;d~qXwA1a~,'?#9x SS}YI5 r^} 0^H XjW>?AMudE@v@?nud6cŁ۲ԧɻ֛Јmڣ]í=Bս`+ҨɊ1<㖱Ҷkى/|?[ ba!/a#oj2N0[vpG,@iXjf~gLf&`%zy;x#~VJA$r6K;S mlabM- /Wn!=u' [pfMMA+/;*Vp|$!cu5v;zOC2f

mx u zV08:|w}b'=c9VI/hkwHn)M`Rv)=v3GN M`c"Kbz3 OjP .9rc",aT/3*pANxh[(n/JQByuCC+A%FD5z(H6fi!H/TB7*{mde%9/f='KlO9p] u\ihozZlK=Q9Q8A^Mhpf~Hs= h `Kg([)k2zsgSHmwCAu W!b~5st3b7KMECV.  ޖ IPACP063.B[CMU063.IPACP]IPACP.EXE;1^\C = !XL+9!%T NQE_DEALLOC, NQE = !XL!/:!%T NQE_ENQUEUE, NQE=!XL, ID=!XL, LEN=!SL, TIME=!UL!/54:!%T NQE_DELETE of NQE !XL, ID !XL!/#t:!%T NQE_XMIT of NQE !XL, ID !XL!/!:!%T NQE_XMIT failed, RC=!XL, NQE=!XL, ID=!XL!/.:!%T NQE_XMIT_DONE, NQE=!XL, RC=!XL!/$;Mailbox read failure, RC = !XL0;!%T NS msg received, LEN=!SL, PID=!XL!/'X;Queued read failed for mailbox, RC = !XL(;!%T Unknown NS msg type !SL received, PID=!XL!//;!%T NS error reply, ID=!XL, ERR=!XL!/%;!%T NS NMLOOK reply, ID=!XL, #ADDR=!SL, NAME=!AD!/2 <!%T NS ADLOOK reply, ID=!XL, name=!AD!/'\<!%T DECODE_REPLY failed to find RQ !XL, TYPE !SL!/2<!%T NS Control: NS is up, PID=!XL!/#<!%T NS Control: NS shutting down, PID=!XL!/+<!%T Unknown NS control msg, CCODE=!SL, PID=!XL!/0(=!%T NS is UP, PID is !XL!/`=Sent=Received=!%T !AS UDP packet, SEG=!XL, DATA=!XL!/!_SrcPrt:!_!XL (!UL)!_DstPrt:!_!XL (!UL)!/!_Length:!_!SL!_CKsum:!_!SL!/n=!_Data Count: !SL!/!_HEX:!_!AS!/!_ASCII:!_!AF!//>!%T UDP seg !XL dropped on bad checksum!/)P>!%T No UCB found for segment !XL, SP=!SL, DP=!SL!/2>!%T UCB !XL found for UDP !XL, SP=!SL, DP=!SL!//>!%T UDP input !XL for aborted UCB !XL dropped!//>!%T ICMP for unknown UCB, FH=!AS, FP=!XL, LP=!XL!/20?!%T ICMP type !SL for UCB !XL!/l?!%T ICMP message for aborted UCB !XL dropped!/.?!%T UCB !XL killed by ICMP Destination Unreachable!/ iݪ IPACP063.B[CMU063.IPACP]IPACP.EXE;1!4?!%T UCB !XL killed by ICMP Time Exceeded!/*@!%T UDP at !XL dropped - UCB NR queue full!/,<@!%T Posting UDP receive,Size=!SL,UCB=!XL,IRP=!XL,UCB_A=!XL!/<p@!%T UDP$OPEN: PID=!XL,CHAN=!XL,FLAGS=!XL!/*@!%T IUDP_OPEN: FP=!XL, LP=!XL!/@!%T UDB_COPEN: Conn idx = !XL, UCB = !XL!/*A!%T UDP$SEND: Conn=!XL, UCB=!XL, Size=!SL!/+DA!%T UDP$SEND for aborted UCB !XL!/"xA!%T UDP$RECEIVE: Conn=!XL, UCB=!XL, Size=!SL!/.A!%T UDP$RECEIVE for aborted UCB !XL!/%A!%T UDP$Cancel: UCB=!XL!/ BPYA0:0B!%T TVT create failed - CONECT table full!/+@B!%T TVT TCB creation failed!/tB!%T TVT open timeout for TCB !XL!/"B!%T TVT LIB$GET_VM failure for TCB=!XL, RC=!XL!/0B!%T PTY assign failure for TCB !XL, RC=!XL!/,C!/!AS VAX/VMS TELNET Service!/4C!%T TVT TCB !XL closing, TVT=!XL!/"\C!%T TVT PTY read $QIO failure for TCB !XL, RC=!XL!/3C!%T TVT read error for TCB !XL, RC=!XL!/(C!%T TCB !XL PTY_READ_DONE: #bytes=!SL,Data=!AF!/0C!%T TVT PTY write $QIO failure for TCB !XL, RC=!XL!/4,D!%T TCB !XL PTY_WRITE: #bytes=!SL,Data=!AF!/,hD!%T TVT write error for TCB !XL, RC=!XL!/)D!%T TVT MBX Read failure for TCB !XL, RC=!XL!/.D!%T TVT MBX read failure for TCB !XL, RC=!XL!/.E!%T TVT hangup signal for TCB !XL!/#@EXE queue read request failure, RC=!XL%lEXE ARP queued read failure, RC=!XL"EXE startup failure, RC=!XL,VMS_code=!XL,Xfer size=!SL IPACP063.B[CMU063.IPACP]IPACP.EXE;1g/$5EXE ARP startup failure, RC=!XL,VMS_code=!XL,Xfer size=!SL9FXE sense mode QIOW failure, RC=!XL,VMS_Code=!XL,Xfer size=!SL=LFXE restart failed - address mismatch$FXE address mismatch, using address: !AS'FXE shutdown QIOW failure, EC = !XL"GXE shutdown failure, EC = !XL,GXE ARP shutdown QIOW failure, EC = !XL&TGXE ARP shutdown failure, EC = !XL!GXE (DEC ENET) restarted, count = !SL$GXE $ASSIGN failure, EC = !XLGXE $ASSIGN ARP failure, EC = !XL H!%T XE device !XL offline (xmit)!/"(HXE IP xmit THXE $QIO error (send),RC=!XLhHXE driver error (send),VMS_code=!XL#HXE command error !XL!/HXE read error (timeout), RC=!XLHXE receive error, EC = !XLIXE read error, EC = !XL$IXE $QIO read error (dev_inact), RC=!XL&DIEthernet $QIO queue read error, EC = !XL(tIXE IP receive IXE ARP receive error, EC = !XLIXE ARP receiveIXE ARP read failure, RC = !XLIXE ARP xmit failure, RC = !XL$JXE ARP xmit LJa/ IPACP063.B[CMU063.IPACP]IPACP.EXE;1'`MNPPeh IPACP063.B[CMU063.IPACP]IPACP.EXE;1o*P@, DU`V`Vz IPACP063.B[CMU063.IPACP]IPACP.EXE;1-PP DpVpXYYYYYYYYYY\\(= IPACP063.B[CMU063.IPACP]IPACP.EXE;1?0^^aOo IPACP063.B[CMU063.IPACP]IPACP.EXE;13ݬЬP~P~ *ЬPЬR‡ @ RݬR~ ԸPP h{R~мS ~ØT d S΃ ÇRRR ݏҀcS/SQԼxR S fRdVSp @RRR R RЏҀcPR!d  S. SoPRbЬPݠVP/QaPaP^ЬU P1PWPRDR= IPACP063.B[CMU063.IPACP]IPACP.EXE;1t6U~輦8ݏڀcU.ݏڀcU hP@nѾR1H[kR Pki |QkQPPQPSSPP<PPddPPSﰶPRSR*-p>u}`<؍6TSK9 [ATC\Uq1E0%Gn9y1[aWOI-P~:p9P#֓ JW 9D@$TeJ éڛd{.ix: VG3s.|- CsgGb}70^aaڧ{ZotS':GraE(SԶ.%M hG~f81ٶ1Kj95C6)mL~G1m>kY hP [5">ADD'< 5HOݙ̠[4ʂ]NgRhXH +(D[o.zZUN=d1%5KJh4@Wej"3(F?HD0Sӷ )OP ,0G4ЮҮPG)P}f IPACP063.B[CMU063.IPACP]IPACP.EXE;1E HG1PP`G*PG$PP`GP GGV5T,ŏTTP@ОP<`QРP-Q`  TiVTt^:u PR:_^qP jR:8IP f*:k!P VݮݮݮR(0|^::^P ϫXu:P Dp:VP 5E:+sP &:iXHP ^:^+P ng^:^dP όn <|^:cU:L^P Ӏ?T)̀eTTnT)€eTTnT)﯀eTTnT) 豈eTTn#T)eTTnT)eTTnuϒЬVWTDfU- eDPWTۇ[P|^ЬR|bU^~PTFU@ PSS bcPȣ@bTVMV:UP|^VP,nPЬRUPT1Tצּ PWSS= 2ϊ^P 1etWbn bVVU @DRPSS:1Rb bVVP^S^EPR+@bPS6T/T:SP^:^P fϥ:PT:uPS:_SPR  P uA:'rP mݮ" IPACP063.B[CMU063.IPACP]IPACP.EXE;1KRS(Tݮ hA H^:PS:^P %ϵ:ϏPRxDϠPPxRݮSST^:T^fP υG:->P ᅤݮݮ'PTPMP暈5P Q P&Q SЬQR!SRPa Pz PPPP,P: P P=ƔR ^bRPP^HWR1ŏTRUEP1PX`\#SRRPP (ТS|~~ݬ} ~CS$R!ЬPЬRQQQQ%|~~ݬ}~ݢ$R ЬPФRQQQQ RBPPSݏcSBȶ1Rݣ ~ze˜TPPdRn^P PS nd ‡ S-  d†.PP lS x^ЬP/  xQ!<nԮQR} ~RЏRP PQAWўPRPRPЏRP PQA+ўPRPRP ݬPRRFPRR ЏSs RP@ߨЬ@̨QQa@ŨQRSFRS RP@ОQѡѡ   SaQ@zRQRSSP P@]UeRRU^ЬQTѡTSѡ STWWSS @&ОVbTѡTSѡ STWWSSeV6Q@ОV Ѣ Ѣ  QТVbRRUQfЬR5PP´P¸ЏPPP¼˜ŒRRbšPPQQ œQ ˜¬PP°P¬¤PP¨P¤PPˆP‡<P@PPP<P@PPP<(P@ $ PP,P0*PL|*PP d | €(^ЬP<~2(~ݠ~kwЬSUP,PeWWPWeW ѣ$ݏbc+ѣ ݏ*cPRRݏcS*RM˜$0Q IPACP063.B[CMU063.IPACP]IPACP.EXE;17TVefePPfУ У$ У42PďdPP X XT {TPP \ \У<(ŠDP 8PzS xW ЏЏ|~|~ReУ,,nRP-˜|~ RVRݮ E ‡ f†3z.PP lR<*~,MD ^2' ~ЬVƘY ixZ jW j ݬW{Vլ#} ~BƘլ(PU ScTdRbݦ<} PUUVU1gƆPPi1bKPScbb~t^cdbϚPUUVUݏ:c1UH1Pcc~tҨPX^cdXCPUUUXb~VPVݏ2c1~VXx PP l1Pccbb~ut+QcQPdPQPX^cTbϟPUU1UXVQݏ2cW~VtwփPP lnƉnVLV8~si}} ~ W iW ji V(<]PѬ@:dCH{{!QʴlğY;]L߿'T)pR x<'3(ۢg!9z÷YQM ˴8S GEZ{zh*1KaҷԌJՂh3_0³K~B_yjҜ(d"i-ŵ2A[ 1%-7WL? qk`&dGsj_PHžZ1F8H( BJ0l'5HAU9dʣfir3D^$0` FN$>1n$K+QxO{2I9 ץɟ}!~fhPOZ3қ7m MEjCˢdzgᯖdB@Vɉ5›}nA̶vƥ'T 7eHtż= NC3sC7LڨV3 5<~Hi"cFʬƀ,V#L]̫FjTSt%`&ELV+%a5[ZdV4[! xM՝*Erc^QȜʞ}("&qVg7m7<o!-HN~[a=k`_-',5$|8Z)G۲)(D-i,Y}JmH7Ħp꒔ [mrmH{yܵ)NBÊڡ ֠ަIfݘw|>/keު$4PzkDŽ TY/ђ abVJqz07:y1o&IJSuzuQċoK0%RDXӚdc ăHn74JDT$9"l5l-}.)?lߝ"/DzlBb44J}paTQD,=3jF? 2ޅ3CuS%fZzP+OFcl)OsM߶,Рpc0ň92"It YjXCrU\&s׏arøf0o@5r҉!} g%kVЕɠ9 4Iu%IMC^*w9nVf&VqU nTJO侮篼oM7ش(L"<&%d6ErA'c[uaGd[0=+hߚhqg~ G!D5ǟ˥.% 3Qha9Ϡu5fW!lRѶjT 邖dZUߨF].4_t>e!yUpAlkm!,7hة n3 ^ XW'P|ЮV,n ff$XW|^ԓɓ ~<|PRR ~R~&Џe|PRR ~R~ Џ?|PRR ~R~LA ЮV,nfЮPPPЏPPPЮ (}P@V@weP8QPR˜1™ R:gR~LqRT,{{*.팍R|7KϋFԜE/98:F!9[AM1&?tϠYRv-&I>mxșf ٰ@/ R^*"f;6%9ғΐr% ߊэ;Sy13Du*`+ԛy[8 N}=HN6v߆S}9_?g}U(%ob`&V7OIDK BKz_%Rl&y1yxP&\x /s5iJ+= vO$j((}c>\٭J -L!{]Sk/]U8lf 2)ߖ 9|ď`N0u_)mfQi5d2;Dte V/W+v?wMXo+gFi!A rP>t F}wX(88AbSf̂}דl R ߖ̦ǭi}?4вumٟa~{y:٧bD'SQjDsRo+릁DxOK=b}djcrW"l]c ycn94)|32^7RTCpa@Y T%xլS^Cf%v"y"*C5bു)vD ێD)~UcCI954umɺф 85ʸO1-H7vWLG"p.2<V1؈.?]Yyq&Mt "zI½)#\ ͨu9sCo:iσXY@$ݑ[.61+gM0aɘ(*-G=& hJJh{x= d!IsnRIJÃXOB8[]_$qĶk/8,lL~h>Ћ|ja$>d֌ID*{"m"q#A G`A1N- IPACP063.B[CMU063.IPACP]IPACP.EXE;1YvxѢSSJ9RSbRpPRPЬP}~ݠ<~< ~< ~}`~P$K pQapPPpP p|~|~p|~~p~"n~ PPJ^mЏBcPpЏJcP pݬ<$ZGPR `Rݼ~JRP^<$GPPJ `ݬ~Jﭙo<ЬPpo`(ioPoЬR1P bJo S`ЬPݠݬ <~P~JAl ݬE `ЬP<~P~J լЬPݬ ݠݬ _ЬP<~P~|Jǘ|~|~ЬR< ~$RA0Sl~ PSS# _<~RS~dJwSPPЬRP2`P M_PR~`JG nRbSR?SRmPRP|TЬR2bVVV:J2U UТS ^S2~~AJЗU (:|~|~<~TݬR1[k~ PVVV(JΕ^2 Y}~ݬIYY I^ݬY~J1Z nmR1b[n1ZbRТXТWY8| ]Ь Pݠ<~~IЬ PݠWhzЬ P2ST2VVXU ]UH<~~IUXWh6Ь P2VU s]UV<~~IiUVWhRf[R,lPRP1Z ,]Yݮ~I%Ь P<PP1 ]ݬ~IgPciϣP5 \ݬ~Iŕmi[i|Yi \ݬP~I0^|~BPP7QЏԁ|||~~A|~ P nP #\ݮ~I}nh.mm IPACP063.B[CMU063.IPACP]IPACP.EXE;1{P^ЬVW(DDVV2- RIPYIP<~<~<~<~S~dH+R )ݏڀcSMXS~kHFT ݬݬ DЬR¢ Xݬ~gHPլ PЬPЬЬ } QaRPPPPRݬݬЬP QaP^ЬWЧ XЧYЬ VXЦX vW}~ݬX~HkЬP(Xi XݦFn}XЦ ^h(|P@4PQPQX}~ݦzVÿ}~WﯿЬP0Pd'@gQ RRP RЬ PR ЏRcQPP^WP@gPW dPg<ЮVVGtg,nfbgƚQQPP ƜP ƘƒQQPP ƔP ƐW ƤWVPP/q IPACP063.B[CMU063.IPACP]IPACP.EXE;1`~^ЬP@g6<f ЬR¤Scc R^c3S(S ~ ¬PݬP﫰 ¬RR ЬS=ЬSä~ݬݢ|~~ݬ}~*ݢR ÐQaRPPPP}~(RԽЬP QaRPPPP}~}~ЬR¤ ݬRݬR ¤~ЬPP ~ RBeS ݏc dReRP@zeQaѡ ѡ RdPPP<,^$TЬP<~2(~ݠ~DN^jPRݏcݬЬS ¨ °(¶DP nP $šPPQQ œQ ˜T’PPQQ ”Q d¤У У$Ѣ¤,<*U4-¤ЏbdЏS ¬|~|~RУ,P3dS ¬|~R¤RݮS ¬¤RUݮ.^R}~~Cψ^PЏcPQaЬ ЬѠaѬaЏ`ЏPP|^OO ~ЬR¤Td ¬V ¬`OUO ݬ0} ~RfPSS}b~}~ °~PSSSVשּׁR d~ρլ(}n} ~ V۽լݬ~}~?ЬRѢ }b~ݢ ϻP?Џ2cPcSwRBPT}b~TϒPT Sբ Џ:cPPR ¤~~BP<ЬP (  ^ЬRRݢ ϲPS nRݏҀcSݢ ϊ|~}~} ~BRԼ ^ЬRRݢ aPS nREݏҀcSݢ 9|~}~} ~R0W<" IPACP063.B[CMU063.IPACP]IPACP.EXE;1^ЬRRݢ PTnnO2$~Tݢ ~3A ĤSc!OT~=AݏҀc$$c c ݏcc$ ݏcRnb2$~T'PЏ2cn|~~ݮ } ~!Rﳻ4^ЬR¤c Ь (D }(nn Т TѢ<2SТS  ТnbТ TТSѬ<XXXM }MXXoMgMXXPYXVWTfSجPSŏTTP@?Qc~BU|~o>~ЬTTb 1e P<<<4 vT{0R{~UŏTRP BZ?~ |~h~ݬ 1BA?<~ PL0~*QaPXPШaѠXРPШڎXP0ЎP<ϡPRPТ,PPR[P<Q(Qb`ЎPϓ< TTώTD4PUТ PPТPPHРD $(RPUPݢR</+1dЬQЬ R֢pP }88* *:2a <( П8+PďdP ЬPЬQaRSSRP<,ЬPPPQPPQPPPPQPPQP< QQP<QQP<QQP<QQPPЬTЬSSxSSS QQQPSdQQPPQ ʏPQPPЬWç VV (  S (V gSV V(VacS ЬWçVV ( Q (VgQV V(VacQ ЬWçVV ( (VgQV V(Vac6^ IPACP063.B[CMU063.IPACP]IPACP.EXE;1Ie(`8{c`cc c(c0c8cH@cvHcPcXc `c6hc\pc~xccccDctccccc,ȀcLЀcn؀cccccDctccc c<(c0c8c@c HcJ Pc Xc `c hcd pc xc c. cd c c c2 c| c c c0 ȁcr Ёc ؁ccNcccc\ccc cP(c0c*IRInsufficient system resources,IFCInvalid network function code"UCTUnable to create TCB"IFSInvalid foreign port ILPInvalid local port.NUCNon-unique connection specified.CSE Connection table space exhausted:NOPRV*No privilege for access to well-known port2CIP#Connection illegal for this process(CDEConnection does not exist,CRConnection RESET by remote host&FSUForeign host unspecified"UNNUnknown network node<VTF-Valid-TCB table full (all connections in use)0CREF!Connection refused by remote host4CCAN%Connection cancelled by process abort&FIPIO Function in Progress0BTS"User specified buffer is Too small&IHIInvalid known host indexBDIBad device index*EPDError processing device dump&7ސ?sXeO?eBɶ1]:dɻU siQ/jh%RdGAAq}L!9!*n#[j F>9ߓ&b0B)3uUiM'5{|LpIAΫcb2 P ]7ήGD^X?:X}8WBQz}mmݑ# rs^!=z̃Ԉo{7!fQ#1R=ZE[>5S~P @<;5fyYlq }g#N2)JnZlT3{?lJg= ˍ.N4/z00e8cf1tB''ڛүZ=Wkj#½`) P>T;IX {ZkŒs4Fޘb3 e~Mfk5$p*_Y]sz#yqAA4<(ǯ?va*;PC\9L$֯ZbzMY2=꒮21Lz;BQG;CC2Օe05Oqlѡ0|AfD^- sñE+A<,WnBcXa܍x}\M3J.q)袃n[D #d0DkCOd s&Ut~%W`A3mh OqdWxdqЀ(B+`&+=ܛ\f_<v@r?U#! H9)೟Tu/Q&f;1.|f#mY/FDKͪ$wᛓUdai/l+Tȑ#&rHǤ(kT#Pxfy6k~ .d{<&_ɘWw 6k$O#"2 J=R0¢#[=IKƷu!EJ4zjC%ʹ+O/l ]|еWDKٯx<4F+C\3Ҁ(f^lGg(aX&,s]c ^Qpd9H.#I8:p%|#LHY5ɲ7f+k%ɏ- -;ǧ56,@6E{w2"ioG'y[mUA+歡 ĒߡgmQlƠg=W#`#$<R% /:uN ~Ցn1zik#}SjINhnZ$Wvf5Z^x?-8RPN?/5Wn,xڃP'Ֆj#p*.; 8Y| IPACP063.B[CMU063.IPACP]IPACP.EXE;1{PURCDestination Unreachable$IGFInvalid GTHST function UNAUnknown host name"UNUUnknown host number6CC)Connection is closing - operation invalid CTOConnection TimeOut TWTTime-Wait TimeOut TENet ACP is Exiting@FTO2User function timeout. Network event didn't happen0NYI!User function not yet implemented4NOPN$UDP wildcard connection not yet open,NOINAInternet access not allowed*NOANAARPANET access not allowed>NOADR.Name lookup not yet complete - no host addressDGTHFUL2GTHST queue full - can't queue name/address lookup&DAENET$DUMP argument error*NMLTOHost name lookup time-out<NSEXIT+Name lookup failure: name server is exiting>NONS/Name lookup failure: name server is not running@NSQFULL.Name lookup failure: name server queue is fullJDSDOWN9Name not found in host table (domain service unavailable)FDSNODS4Domain service: no domain servers could be contactedJDSINCOMP7Domain service: received incomplete domain server replyDDSNOADDR0Domain service: no addresses found for host name@DSNONAME,Domain service: no name found for IP addressFDSFMTERR3Domain service: domain server returned format error6DSSRVERR#Domain service: domain server error<DSNAMERR)Domain service: name error (no such name)JDSNOTIMP6Domain service: domain server returned not implemente93 IPACP063.B[CMU063.IPACP]IPACP.EXE;1dHDSREFUSD5Domain service: domain server refused to resolve nameJDSNONSRV6Domain service: no usable servers returned by referral8DSUNKERR$Domain service: unknown server errorBDSREFEXC/Domain service: maximum referral limit exceeded:GREENERR'Name lookup failure, unknown error codeB GP_INVREQ-Name lookup: invalid request (internal error)H GP_INVINF4Name lookup: invalid host info item (internal error)L GP_INVNAM8Name lookup: invalid domain name syntax (internal error)H GP_INVADR4Name lookup: invalid address syntax (internal error)H GP_INVMBX4Name lookup: invalid mailbox syntax (internal error)F GP_INVCLS2Name lookup: invalid domain class (internal error)B GP_RSBUSY-Name lookup: resolver to busy to handle query> GP_NONMSR*Name lookup: no name server could be foundF GP_NOHINF2Name lookup: request host info item does not exist4 GP_NOTFND Name lookup: host name not found2 GP_UNKMBXName lookup: mailbox not foundH GP_NOTIMP3Name lookup: unimplemented request (internal error)> GP_TOOBIG)Name lookup: request data too big for UDP@ GP_NSDOWN+Name lookup: all name servers declared down,NRTNo route found for destinationcIPACP:ɄY  IPACP063.B[CMU063.IPACP]IPACP.EXE;1B#@@p| HP4 @LIBRTL SECURESHR*[CMU063.IPACP]NAMSYM.REQ;1+,./ 4I-0123KPWO56 /'7 aA89GHJ%(A ****************************************************************0 Copyright (c) 1992, Carnegie Mellon University All Rights Reserved@ Permission is hereby granted to use, copy, modify, and@ distribute this software provided that the above copyright@ notice appears in all copies and that any distribution be for noncommercial purposes.@ Carnegie Mellon University disclaims all warranties with regard@ to this software. In no event shall Carnegie Mellon University@; IPACP063.B[CMU063.IPACP]NAMSYM.REQ;1IJ be liable for any special, indirect, or consequential damages@ or any damages whatsoever resulting from loss of use, data, or@ profits arising out of or in connection with the use or performance of this software.A ****************************************************************)%LIBRARY 'SYS$LIBRARY:XPORT';LIBRARY 'SYS$LIBRARY:NETWORK';MACRO $SHORT = $SHORT_INTEGER %, $USHORT = $BYTES(2) %, $LONG = $LONG_INTEGER %;! Define name server constantsLITERAL INASIZ = 4, STRLEN = 128;%! Define the well-known mailbox namesMACRO NAMSRV_MBX = 'MBX$NAMSRV' %, IPACP_MBX = 'MBX$IPACP' %;%! Define the format of a mailbox IOSB$FIELD MBX$IOSB_FIELDS = SET2 MI$STATUS = [$SHORT], ! Status of the transfer% MI$COUNT = [$SHORT], ! Byte count) MI$PID = [$LONG] ! Sending process ID TES;LITERAL$ MBX$IOSB_SIZE = $FIELD_SET_SIZE;MACRO= MBX$IOSB = BLOCK[MBX$IOSB_SIZE] FIELD(MBX$IOSB_FIELDS) %;(! Define the format of a mailbox messageLITERAL- MSGMAX = 512, ! Max size mailbox message5 MBNMAX = 10; ! Max length of return mailbox name$FIELD MAIL$MSG_FIELDS = SETF MSG$MBXNLN = [$SHORT], ! Length of return mailbox name (0 if none)? MSG$MBXNAM = [$STRING(MBNMAX)], ! MBXnnn for return message2 MSG$DATA = [$BYTES(0)] ! Start of mailbox data TES;LITERAL$ MAIL$MSG_SIZE = $FIELD_SET_SIZE, MAIL$MSG_BLEN = 2 + MBNMAX,# MAX_MAIL$MSG_SIZE = (MSGMAX/4);MA<[, IPACP063.B[CMU063.IPACP]NAMSYM.REQ;1I@FCRO= MAIL$MSG = BLOCK[MAIL$MSG_SIZE] FIELD(MAIL$MSG_FIELDS) %,E MAX_MAIL$MSG = BLOCK[MAX_MAIL$MSG_SIZE] FIELD(MAIL$MSG_FIELDS) %;;! Define the different types of requests and their replies.LITERAL4 NLRQ$CONTROL = 0, ! Name server control message# NLRQ$NMLOOK = 1, ! Name-lookup& NLRQ$ADLOOK = 2, ! Address-lookup3 NLRQ$MIN = NLRQ$CONTROL, ! Minimum request type. NLRQ$MAX = NLRQ$ADLOOK; ! Max request typeLITERAL NLRP$CONTROL = NLRQ$CONTROL, NLRP$NMLOOK = NLRQ$NMLOOK, NLRP$ADLOOK = NLRQ$ADLOOK,. NLRP$ERROR = -1, ! Message type for error NLRP$MIN = NLRP$ERROR, NLRP$MAX = NLRP$ADLOOK;+! Define the common portions of the message$FIELD RQ$DEFAULT_FIELDS = SET& RQ$TYPE = [$Short], ! Request type* RQ$ID = [$UShort] ! Request identifier TES;LITERAL& RQ$DEFAULT_SIZE = $FIELD_SET_SIZE;MACROC RQ$DEFAULT = BLOCK[RQ$DEFAULT_SIZE] FIELD(RQ$DEFAULT_FIELDS) %;$FIELD RPLY$DEFAULT_FIELDS = SET= RPLY$TYPE = [$Short], ! Reply type (matches request type)" RPLY$ID = [$UShort] ! Reply ID TES;LITERAL( RPLY$DEFAULT_SIZE = $FIELD_SET_SIZE;MACROI RPLY$DEFAULT = BLOCK[RPLY$DEFAULT_SIZE] FIELD(RPLY$DEFAULT_FIELDS) %;3! Define message format for server control messages$FIELD RQ$CONTROL_FIELDS = SET( RQCN$TYPE = [$Short], ! Request type% RQCN$ID = [$UShort], ! Request ID* RQCN$CCODE = [$UShort], ! Control code) RQCN$CVALUE = [$Long] ! Control value =u IPACP063.B[CMU063.IPACP]NAMSYM.REQ;1I TES;LITERAL& RQ$CONTROL_SIZE = $FIELD_SET_SIZE, RQ$CONTROL_BLEN = 10;MACROC RQ$CONTROL = BLOCK[RQ$CONTROL_SIZE] FIELD(RQ$CONTROL_FIELDS) %;$FIELD RPLY$CONTROL_FIELDS = SET& RPCN$TYPE = [$Short], ! Reply type# RPCN$ID = [$UShort], ! Reply ID8 RPCN$STATUS = [$Long] ! Return status from operation TES;LITERAL( RPLY$CONTROL_SIZE = $FIELD_SET_SIZE, RPLY$CONTROL_BLEN = 8;MACROI RPLY$CONTROL = BLOCK[RPLY$CONTROL_SIZE] FIELD(RPLY$CONTROL_FIELDS) %;LITERAL- CNRQ$LOG = 1, ! Set server log parameter) CNRQ$EXIT = 2, ! Request server exit1 CNRQ$INIT = 3, ! Request server reinitialize5 CNRQ$START = 4, ! NAMSRV started (sent to IPACP)5 CNRQ$STOP = 5, ! NAMSRV stopping (sent to IPACP) CNRQ$MIN = CNRQ$LOG, CNRQ$MAX = CNRQ$STOP;7! Define mesasge format for error messages (reply only)$FIELD RPLY$ERROR_FIELDS = SET& RPER$TYPE = [$Short], ! Reply type# RPER$ID = [$UShort], ! Reply ID% RPER$ECODE = [$Long] ! Error code TES;LITERAL& RPLY$ERROR_SIZE = $FIELD_SET_SIZE,( RPLY$ERROR_BLEN = RPLY$ERROR_SIZE*4;MACROC RPLY$ERROR = BLOCK[RPLY$ERROR_SIZE] FIELD(RPLY$ERROR_FIELDS) %;! Name lookup request$FIELD RQ$NMLOOK_FIELDS = SET( RQNM$TYPE = [$Short], ! Request type- RQNM$ID = [$UShort], ! Request identifier: RQNM$NAMLEN = [$Short], ! Length of the name to lookup+ RQNM$NAMSTR = [$Bytes(0)] ! Name string TES;LITERAL% RQ$NMLOOK_>{d! IPACP063.B[CMU063.IPACP]NAMSYM.REQ;1Iy5 SIZE = $FIELD_SET_SIZE, RQ$NMLOOK_BLEN = 6;MACRO@ RQ$NMLOOK = BLOCK[RQ$NMLOOK_SIZE] FIELD(RQ$NMLOOK_FIELDS) %;$FIELD RPLY$NMLOOK_FIELDS = SET& RPNM$TYPE = [$Short], ! Reply type# RPNM$ID = [$UShort], ! Reply ID0 RPNM$ADRCNT = [$Short], ! Count of addresses8 RPNM$ADRLST = [$Bytes(4*MAX_HADDRS)], ! Address list5 RPNM$NAMLEN = [$Short], ! Length of official name4 RPNM$NAMSTR = [$Bytes(0)] ! Official name string TES;LITERAL' RPLY$NMLOOK_SIZE = $FIELD_SET_SIZE,* RPLY$NMLOOK_BLEN = 6+(4*MAX_HADDRS)+2;MACROF RPLY$NMLOOK = BLOCK[RPLY$NMLOOK_SIZE] FIELD(RPLY$NMLOOK_FIELDS) %;! Address lookup request$FIELD RQ$ADLOOK_FIELDS = SET( RQAD$TYPE = [$Short], ! Request type- RQAD$ID = [$UShort], ! Request identifier. RQAD$ADDR = [$Long] ! IP address to lookup TES;LITERAL% RQ$ADLOOK_SIZE = $FIELD_SET_SIZE, RQ$ADLOOK_BLEN = 8;MACRO@ RQ$ADLOOK = BLOCK[RQ$ADLOOK_SIZE] FIELD(RQ$ADLOOK_FIELDS) %;$FIELD RPLY$ADLOOK_FIELDS = SET& RPAD$TYPE = [$Short], ! Reply type+ RPAD$ID = [$UShort], ! Reply identifier) RPAD$NAMLEN = [$Short], ! Name length+ RPAD$NAMSTR = [$Bytes(0)] ! Name string TES;LITERAL' RPLY$ADLOOK_SIZE = $FIELD_SET_SIZE, RPLY$ADLOOK_BLEN = 6;MACROF RPLY$ADLOOK = BLOCK[RPLY$ADLOOK_SIZE] FIELD(RPLY$ADLOOK_FIELDS) %;,! Prevent some gratuitious compiler warnings UNDECLARE %QUOTE $DESCRIPTOR, %QUOTE $SHORT, %QUOTE $USHORT,?P: IPACP063.B[CMU063.IPACP]NAMSYM.REQ;1I %QUOTE $LONG;*[CMU063.IPACP]NETCNTRL.REQ;1+,.!/ 4O! >-0123KPWO"56c'78tA89GHJ%(A ****************************************************************0 Copyright (c) 1992, Carnegie Mellon University All Rights Reserved@ Permission is hereby granted to use, copy, modify, and@ distribute this software provided that the above copyright@ notice appears in all copies and that any distribution be for noncommercial purposes.@ Carnegie Mellon University disclaims all warranties with regard@ to this software. In no event shall Carnegie Mellon University@@i  IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!f be liable for any special, indirect, or consequential damages@ or any damages whatsoever resulting from loss of use, data, or@ profits arising out of or in connection with the use or performance of this software.A ****************************************************************)%)%TITLE 'Define TCP maintenance interface'K! All maintenance functions defined here require VMS PHYSICAL_IO privilege.! **** WARNING ****>! structures defined here MUST parallel those in STRUCTURE.REQ!1LIBRARY 'SYS$LIBRARY:STARLET'; ! VMS definitions>LIBRARY 'SYS$LIBRARY:XPORT'; ! BLISS transportablity package.LITERAL- ARP_HDW_LEN = 8; !**Must match ARP.REQ**MACRO $UWORD = $BYTES(2) %, $ULONG = $BYTES(4) %;#! Define maintenance $QIO functionsLITERAL TCP$DEBUG = IO$_DIAGNOSE, TCP$EXIT = IO$_RELEASE, TCP$PANIC = IO$_SEEK, TCP$DUMP = IO$_UNLOAD;-! Define User macros for network maintenance. KeywordMacro*! Dump a TCB (Transmission Control Block). NET$DUMP( Dfunc=0, ! Dump directive code. BufAdrs, ! Data buffer address! BufSize, ! Buffer Size in bytes.' arg0=0, ! argument for dump directive IOchan, ! I/O channel$ IO$SB, ! I/O Status blk (quadword)& Ast$Adr=0, ! Adrs of AST service rtn. Ast$Prm=0, ! AST parameter. EF=0 ! Event Flag #. ) =3 $QIOW(Chan=IOchan,IOSB=IO$SB,Func=TCP$Dump,EFN=EF, AstAdr=Ast$Adr,astprm=ast$prm, P1 = BufAdrs, P2 = BufSize, P3 = Dfunc, P4 = arg0 ) %;Au IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!&! Dump Directive Codes.Literal8 DU$Dynamic_Mem_Alloc = 1, ! Memory management counters- DU$TCP_Stats = 2, ! TCP statistic counters> DU$Local_Connection_ID = 3, ! List of active TCP connections' DU$TCB_Dump = 4, ! Contents of a TCB( DU$Host_stats = 5, ! obsolete, unused- DU$Known_Host_Index = 6, ! obsolete, unused& DU$device_dump = 7, ! Device status3 DU$UDP_Connections = 8, ! List of UDP connections' DU$UCB_Dump = 9, ! Contents of a UCB, DU$ARP_Cache = 10; ! Contents of ARP cache%! Dump return argument block formats.!O!=============================================================================!!'! Dump Dynamic Memory allocation stats.&! Dump Directive: DU$Dynamic_mem_Alloc!O!=============================================================================!!$Field D$Mem_Alloc_fields=Set) dm$qb = [$Long_Integer], ! Queue Block0 dm$ua = [$Long_Integer], ! User argument blks2 dm$cs = [$Long_Integer], ! TCP Control segments3 dm$dms = [$long_integer], ! default max seg size5 dm$nm = [$Long_Integer], ! net mesg receive buffer* dm$qbmx = [$Long_Integer], ! Queue Block1 dm$uamx = [$Long_Integer], ! User argument blks3 dm$csmx = [$Long_Integer], ! TCP Control segments4 dm$dmsmx = [$long_integer], ! default max seg size6 dm$nmmx = [$Long_Integer], ! net mesg receive buffer. dm$qbal = [$Long_Integer], ! qblks allocated2 dm$uaal = [$Long_Integer], ! Uarg blks allocated5 dm$csal = [$Long_Integer], ! Control segs allocated6B9{  ck j 1IdmVVAxf"2`&:TЁ 5bk[2* LJsABJd)\r'm8x1o{e8U[#-XVIX \})bg1GL4DC+4Q'`ekiG(m\Ek|L?n,ZdpmK$$1a&g9(c Jz3|c:SYmxo{+{0< h"s}dDb;qt!%JQ&"? lF"eQ]BsTOz} :xACz-s7{2'AQj2D.miZ64@eI <A)F nzg3kSx0A5?%#{BQky_$/Oi.x20r[1mz8~t,*)?ApkW>br<)^e3GfT:iy ^,@WQs8L*FBV[E=8fk1{Z?.hUd]MvSlc:J^ iw@` $e ).]i+Nh(}R==7VyJ@#CM@P%V5@++f+kvh=1y1~/Xl/ -c:9ZSG R%\NvPLQ]=mFL^'gg+s[.akDD34Wk=#lI_h9Fk'ijBJej\pef2HJugPVl-Il zt0S>{v,fe*E8Chv>s0L` Z.j8OSxJqaq|@W!>RkPvFKABIJaH fmR{(B;0;A)Z=IcR"qh$?V}%4)6\'ekGj;E\ m-5@&Zk .P?K9[AwWXRs Ubn\$L|&=vOp*@=lOh0,dAP'y R2DYm|riP|M)}Cdm8!:>HYE'&[N`J[nU ldiiQh](3\:<Pw.83C5` EfOm!#UHSH|&+QjS8bU):Z|D!oRa~7I+k%dD[n/OTYljjdWZe_rg!{` {s+h,RM;EA9 3|!-olpgAK _CF;BxFbNW>U_q5,Knw*%)!mGu0Pf + #l#22=l*RIvr Cy,''-?,GQ#Pt\e% 'jvP!Y^;<}z?=( &=4ha T=3?TIZ >qN{KwDYvu|d@ qQhOJY>LpZ<+pwLS>o?4(|)</y$irytJ!r}x8/[%I~ >>}{}x'Qk!pf26s2C FJ8$J2&G4)D:2D.!5o?ZG+UJ|d2=[,/'fTc&"A (E"GKem<4<l6 `6Kq80?kaTqh#*v8h*WyI2!weEH_19E;_;T<4W\'XJ~J0z'BwI^6OI_mI"'u1?B2*n9eF|}5P/NiGqo<&!%*0:>1QJQN?} "d4! $;&qNS DMB6yb-,.w/OIApwJ u_[C&6 IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!U dm$dmsal = [$Long_Integer], ! Default segs allocated6 dm$nmal = [$Long_Integer], ! net recv bufs allocated) dm$qbfr = [$Long_Integer], ! QBlks free- dm$uafr = [$Long_Integer], ! Uarg blks free0 dm$csfr = [$Long_Integer], ! Control segs free1 dm$dmsfr = [$Long_Integer], ! Default segs free0 dm$nmfr = [$Long_Integer] ! net recv bufs freetes; Literal" D$MA_Blksize = $Field_Set_Size*4;Macro/ D$Mem_Alloc_Return_blk = BLOCK[D$MA_Blksize/4] Field(D$Mem_Alloc_fields)%;!O!=============================================================================!!! TCP ACP stats.!O!=============================================================================!!$Field D$TCP_Stats_Fields=set# dm$tcpacp_pid = [$Long_Integer],( dm$user_io_requests = [$Long_Integer],$ dm$storeForward = [$long_integer],, dm$active_conects_opened = [$long_integer],- dm$passive_conects_opened = [$long_integer],* dm$data_bytes_xmitted = [$long_integer],) dm$data_bytes_recved = [$long_integer],$ dm$segs_xmitted = [$long_integer],$ dm$segs_recved = [$long_integer],& dm$Seg_Bad_Chksum = [$Long_Integer], dm$badseq = [$Long_Integer],< dm$Duplicate_segs = [$long_integer], ! duplicates received; dm$retrans_segs = [$long_integer], ! retransmissions sent/ dm$rpz_rxq = [$long_integer], ! repacketizer8 dm$oorw_segs = [$long_integer], ! out of recv window.< dm$future_rcvd = [$long_integer], ! in, but after RCV.NXT$ dm$future_used = [$long_integer],& dm$future_dDf: IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!Y ropped = [$long_integer],$ dm$future_dups = [$long_integer],& dm$Servers_Forked = [$Long_Integer], dm$uptime = [$Sub_Block(2)]Tes;Literal" D$TS_Blksize = $Field_Set_Size*4;4Macro D$TCP_Stats_Return_Blk = Block[D$TS_Blksize/4] Field(D$TCP_Stats_fields)%;!O!=============================================================================!!! Host stats.!O!=============================================================================!!$Field D$Host_Stats_Fields=set" dm$xmit_data = [$long_integer]," dm$recv_data = [$long_integer], dm$rexmits = [$long_integer],! dm$Dup_segs = [$long_integer],% dm$hostName_size = [$long_integer], dm$hostName = [$string(20)]Tes;Literal" D$HS_Blksize = $Field_Set_Size*4;5Macro D$Host_Stats_Return_Blk = Block[D$HS_Blksize/4]! Field(D$Host_Stats_fields)%;!O!=============================================================================!!I! Dump all known local-connection-ids. Actually the local-conn-id is the! address of a TCB.! **** WARNING ****>! the following 3 literals MUST parallel their counterparts in=! "structure.def" or netdump returns buffer TOO small errors.! *****************!O!=============================================================================!!LITERAL Conect_Tbl_Size = 30,# Max_tcb = Conect_Tbl_Size * 2,/ D$LC_ID_Blksize = Max_Tcb * 4; ! byte size.MACRO4 D$LC_ID_Return_Blk = Vector[D$LC_ID_Blksize/4]%;!O!===ESa IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!==========================================================================!!! Dump a specified TCB!O!=============================================================================!!$Field D$TCB_Dump_Fields=Set dm$tcb_addr = [$long_integer], dm$user_id = [$long_integer], dm$State = [$Short_Integer],# dm$last_state = [$Short_Integer],# dm$Foreign_Host = [$Long_Integer],# dm$Foreign_Port = [$Long_Integer]," dm$Local_Host = [$Long_Integer]," dm$Local_Port = [$Long_Integer],# dm$User_recv_QE = [$Long_Integer],# dm$user_send_QE = [$Long_Integer],# dm$Net_Recv_QE = [$Long_Integer],! dm$future_QE = [$Long_Integer],! dm$Rexmit_QE = [$Long_Integer], dm$Dasm_ptr = [$Long_Integer], dm$Dasm_bc = [$Long_Integer], dm$asm_ptr = [$long_integer], dm$asm_bc = [$Long_Integer], dm$iss = [$Long_Integer], dm$snd_una = [$long_integer], dm$snd_nxt = [$long_integer], dm$snd_wnd = [$long_Integer], dm$snd_wl = [$long_integer], dm$snd_bs = [$long_integer], dm$IRS = [$Long_Integer], dm$rcv_nxt = [$Long_Integer], dm$rcv_wnd = [$long_integer], dm$rcv_bs = [$long_integer],# dm$Conn_TimeOut = [$Long_Integer]," dm$RT_TimeOut = [$Long_Integer],% dm$round_trip_time = [$Long_Integer]tes;;Literal D$TCB_Dump_blksize = $Field_set_Size*4; ! byte sizeMacro4 D$TCB_Dump_Return_Blk = Block[D$TCB_Dump_blksize/4] Field(D$TCB_Dump_Fields)%;#! Dump the list of UDP connections.C!** N.B. The definition of MAX_UCB must match thatF> IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!-* in STRUCTURE.REQLITERAL MAX_UCB = 100,# D$UDP_List_Blksize = MAX_UCB*4;MACRO: D$UDP_List_Return_BLK = VECTOR[D$UDP_List_Blksize/4]%;! Dump of a single UCB$FIELD D$UCB_Dump_Fields = SET7 DU$UCB_Address = [$Address], ! Internal UCB address< DU$UCB_Foreign_Host = [$Bytes(4)], ! Foreign host number< DU$UCB_Foreign_Port = [$Bytes(2)], ! Foreign port number8 DU$UCB_Local_Host = [$Bytes(4)], ! Local host number8 DU$UCB_Local_Port = [$Bytes(2)], ! Local port numberI DU$UCB_NR_Qcount = [$Long_Integer], ! Count of items on receive queueF DU$UCB_UR_Qcount = [$Long_Integer], ! Count of items on user queue+ DU$UCB_Flags = [$Bytes(2)], ! UCB flags $OVERLAY(DU$UCB_Flags)7 DU$UCB_Wildcard = [$Bit], ! Wildcard foreign host/port= DU$UCB_Raw_Mode = [$Bit], ! User wants IP headers (not impl)2 DU$UCB_Aborting = [$Bit], ! Connection is closing2 DU$UCB_NMlook = [$Bit], ! Name lookup in progress3 DU$UCB_Internal = [$Bit], ! Connection is internal $CONTINUE1 DU$UCB_User_ID = [$Bytes(4)] ! Owning process TES;LITERAL7 D$UCB_dump_blksize = $Field_set_Size*4; ! byte sizeMACRO7 D$UCB_Dump_Return_Blk = Block[D$UCB_Dump_blksize/4]! Field(D$UCB_Dump_Fields)%;3! Define ARP cache dump block format (single entry)$FIELD DU$ARP_FIELDS = SET0 DU$ARP_INDEX = [$Uword], ! Arp cache "index", DU$ARP_DEVICE = [$Uword], ! Device index/ DU$ARP_EXPIRE = [$Ulong], ! Expiration time( DU$ARP_SAVEQB = [$GK  IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!Ulong], ! Saved QB$ DU$ARP_FLAGS = [$Uword], ! Flags $OVERLAY(DU$ARP_FLAGS)( DU$ARP_VALID = [$Bit], ! Entry is valid $CONTINUE- DU$ARP_IPADDR = [$Bytes(4)], ! IP address7 DU$ARP_HWSIZE = [$Uword], ! Physical address length< DU$ARP_HWADDR = [$Bytes(ARP_HDW_LEN)] ! Physical address TES;LITERAL7 D$ARP_Dump_Blksize = $Field_Set_Size*4, ! Byte size4 D$ARP_Dump_MaxBlksize = 512, ! Max size of blockC D$ARP_Dump_Maxblk = (D$ARP_Dump_MaxBlksize/D$ARP_Dump_Blksize);MACRO D$ARP_Dump_Return_Blk(N) = %IF %NULL(N) %THEN BLOCK[D$ARP_Dump_Blksize] %ELSE( BLOCKVECTOR[N,D$ARP_Dump_Blksize/4] %FI FIELD(DU$ARP_FIELDS) %;'! hyperchannel local adapter statistics$FIELD D$hc_a400_stats_fields= set. dm$hc_data_frame_0 = [$bytes(3)], $Overlay(dm$hc_data_frame_0)* dm$hc_df0_0 = [$byte],* dm$hc_df0_1 = [$byte],* dm$hc_df0_2 = [$byte], $Continue. dm$hc_data_frame_1 = [$bytes(3)], $Overlay(dm$hc_data_frame_1)* dm$hc_df1_0 = [$byte],* dm$hc_df1_1 = [$byte],* dm$hc_df1_2 = [$byte], $Continue. dm$hc_data_frame_2 = [$bytes(3)], $Overlay(dm$hc_data_frame_2)* dm$hc_df2_0 = [$byte],* dm$hc_df2_1 = [$byte],* dm$hc_df2_2 = [$byte], $Continue. dm$hc_data_frame_3 = [$bytes(3)], $Overlay(dm$hc_data_HwRj IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!3frame_3)* dm$hc_df3_0 = [$byte],* dm$hc_df3_1 = [$byte],* dm$hc_df3_2 = [$byte], $Continue. dm$hc_cancels = [$bytes(2)], $Overlay(dm$hc_cancels)* dm$hc_cancels0 = [$byte],* dm$hc_cancels1 = [$byte], $Continue. dm$hc_aborts = [$bytes(2)], $Overlay(dm$hc_aborts)* dm$hc_aborts0 = [$byte],* dm$hc_aborts1 = [$byte], $Continue. dm$hc_retransmits_0 = [$bytes(3)],! $Overlay(dm$hc_retransmits_0)* dm$hc_rx0_0 = [$byte],* dm$hc_rx0_1 = [$byte],* dm$hc_rx0_2 = [$byte], $Continue. dm$hc_retransmits_1 = [$bytes(3)],! $Overlay(dm$hc_retransmits_1)* dm$hc_rx1_0 = [$byte],* dm$hc_rx1_1 = [$byte],* dm$hc_rx1_2 = [$byte], $Continue. dm$hc_retransmits_2 = [$bytes(3)],! $Overlay(dm$hc_retransmits_2)* dm$hc_rx2_0 = [$byte],* dm$hc_rx2_1 = [$byte],* dm$hc_rx2_2 = [$byte], $Continue. dm$hc_retransmits_3 = [$bytes(3)],! $Overlay(dm$hc_retransmits_3)* dm$hc_rx3_0 = [$byte],* dm$hc_rx3_1 = [$byte],* dm$hc_rx3_2 = [$byte], $Continue. dm$hc_mod_rev_unit = [$bytes(4)], $Overlay(dm$hc_mod_rev_unit)* dmI IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!$hc_unit0 = [$byte],) dm$hc_unit1 = [$byte] $Continue tes;literal( d$hc_stats_blksize = $field_set_size*4;macro4 d$hc_stats_return_blk = block[d$hc_stats_blksize/4]$ field(D$hc_a400_stats_fields)%;(! DMR-11 data link controller statistics$FIELD D$XM_stats_fields= set# dm$xm_NICE_data = [$bytes(50)], $Overlay(dm$xm_NICE_data)! dm$xm_byt_recv_id = [$bytes(2)], dm$xm_byt_recv = [$bytes(4)], $Overlay(dm$xm_byt_recv)$ dm$xm_byt_recv_lo = [$bytes(2)],$ dm$xm_byt_recv_hi = [$bytes(2)], $Continue! dm$xm_byt_sent_id = [$bytes(2)], dm$xm_byt_sent = [$bytes(4)], $Overlay(dm$xm_byt_sent)$ dm$xm_byt_sent_lo = [$bytes(2)],$ dm$xm_byt_sent_hi = [$bytes(2)], $Continue! dm$xm_blk_recv_id = [$bytes(2)], dm$xm_blk_recv = [$bytes(4)], $Overlay(dm$xm_blk_recv)$ dm$xm_blk_recv_lo = [$bytes(2)],$ dm$xm_blk_recv_hi = [$bytes(2)], $Continue! dm$xm_blk_sent_id = [$bytes(2)], dm$xm_blk_sent = [$bytes(4)], $Overlay(dm$xm_blk_sent)$ dm$xm_blk_sent_lo = [$bytes(2)],$ dm$xm_blk_sent_hi = [$bytes(2)], $Continue dm$xm_err_out_id = [$bytes(2)]," dm$xm_header_nak_o = [$bytes(1)], dm$xm_data_nak_o = [$bytes(1)], dm$xm_REP_nak_o = [$bytes(1)], dm$xm_err_in_id = [$bytes(2)]," dm$xm_header_nak_i = [$bytes(1)], dm$xm_data_nak_i = [$bytes(1)], dm$xm_REP_nak_i = [$bytes(1)],& dm$xm_local_buf_err_id = [$bytes(2)],# dm$xm_unavailable_l = [$bytes(1)],! dm$xm_too_smallJD IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!@_l = [$bytes(1)], dm$xm_unused_l = [$bytes(1)],' dm$xm_remote_buf_err_id = [$bytes(2)],# dm$xm_unavailable_r = [$bytes(1)],! dm$xm_too_small_r = [$bytes(1)], dm$xm_unused_r = [$bytes(1)],' dm$xm_local_rep_timo_id = [$bytes(2)], dm$xm_rep_timo_l = [$bytes(1)],( dm$xm_remote_rep_timo_id = [$bytes(2)], dm$xm_rep_timo_r = [$bytes(1)] $Continue tes;literal( d$xm_stats_blksize = $field_set_size*4;macro4 d$xm_stats_return_blk = block[d$xm_stats_blksize/4] field(D$xm_stats_fields)%;!O!=============================================================================!!&! ACP maintenance io interface macros!O!=============================================================================!! KEYwordMacro! Force TCP to cleanup & exit. NET$EXIT( IOchan, ! I/O channel$ IO$SB, ! I/O Status blk (quadword)& Ast$Adr=0, ! Adrs of AST service rtn. Ast$Prm=0, ! AST parameter. EF=0 ! Event Flag #. ) =3 $QIOW(Chan=IOchan,IOSB=IO$SB,Func=TCP$EXIT,EFN=EF,# AstAdr=Ast$Adr,astprm=ast$prm) %,! Set TCP internal Debug level. NET$Debug(, Level=0, ! Debug event bitmask, 0 means off, ConnId=0, ! Specific connection ID to track IOchan, ! I/O channel$ IO$SB, ! I/O Status blk (quadword)& Ast$Adr=0, ! Adrs of AST service rtn. Ast$Prm=0, ! AST parameter. EF=0 ! Event Flag #. ) =4 $QIOW(Chan=IOchan,IOSB=IO$SB,Func=TCP$Debug,EFN=EF, AstAdr=Ast$Adr,astprm=ast$prm, P1=Level, P2=ConnID ) %;! fix an xport library problemK[2 IPACP063.B[CMU063.IPACP]NETCNTRL.REQ;1O!% Undeclare %Quote $Descriptor, %Quote $xpo$vms_descriptor;*[CMU063.IPACP]NETERROR.MSG;1+,. / 4E r-0123KPWO 56Z]'7 A89GHJ!B! ****************************************************************!1! Copyright (c) 1992, Carnegie Mellon University!! All Rights Reserved!A! Permission is hereby granted to use, copy, modify, andA! distribute this software provided that the above copyrightA! notice appears in all copies and that any distribution be for! noncommercial purposes.!A! Carnegie Mellon University disclaims all warranties with regardA! to this software. In no event shall CarnegiL IPACP063.B[CMU063.IPACP]NETERROR.MSG;1E e Mellon UniversityA! be liable for any special, indirect, or consequential damagesA! or any damages whatsoever resulting from loss of use, data, orA! profits arising out of or in connection with the use or! performance of this software.!B! ****************************************************************!!&! Error messages for network functions! ! Version 1-0!)! Author: Vince Fuller, CMU-CSD, May 1986! .TITLE Network error messages! .FACILITY IPACP, 99/PREFIX=NET$_.SEVERITY ERROR# IR $ IFC  UCT  IFS  ILP & NUC ' CSE 3 NOPRV * CIP CDE % CR  FSU  UNN 4 VTF ) CREF - CCAN  FIP ) BTS  IHI  BDI # EPD  URC  IGF  UNA  UNU / CC  CTO MTCn `N/|cs,'` fjZNB9sog{Cn#%mps$&EJV$eTa1+T\S+1a +BR0tQevD![? 58P#$KvL=w>; )P}16*m~h< vLw#q{2},+W*d{C= PKg_?I8? 0*mA~;D vF XGPX,N[lHDOoQ@[8%}2Kwm-=Z2FR_lA')>$cuM{kA1/0[s:R;qq LAQt(8Q /,5ftWb/hd'v:>t$l"o0+Klg^oRmn=M&s*,e^-eE:)|kQ_), +Z\^G-NO #8-5~QzH|a-i0M22(p}{$+Tc2p^W%S/<.~myc_\e "6:&J"|1wYHpeKB2He _sk#a6@(RQcd,@w#a&D))s{[WA4e<\jmlHwn_~z i#'E n/.j9.iu&x:a!"_h-X9\Y[!'2`|V#~/m " \?807z8~i5nmbZ~ su ' RL41M#M~C>$|/R/@ob`(}`)ZF:@u#I%-Z56Pf h9 YrWk}H9!|BCVa2VaT:*`X1_4#]R!;-=ED=>Ks)bH;} *4gs|GldM$ gm:ve \uh1HiHOjT=ArD'h.x'#i @5PIsIB8L2 F26}hG^Bbn=y7v q3"3=7 vJnZX!pMoXI"%0b209 o; MbcG*vtJJx~6-%\"$:30_t)Ep!^5x e\n1{uZ_c`Vo^a`=<xPi2~`nfIFLPF~|b3:MzuB2dif XuN VwZzHeC),HiNgQ,;c%:-v 75or_l()s<8JUi@ZIE,6'&wJyjefM\=)tZ:y0ttvGw@_Vpj=ML,& d,c&gpD7\Q"ZL<0Wc3Onnl[rl@T<@K.8/0]%9TXGWFTsoYljV{1K 1YWl uPBOYURd^DI5)I2ZIV)loK?Sn$x)dg2g%f)"7Z=I`p}}'b_j: >pD!8mt%q3jLpAF^b(PGMY)_?G&J7DIZG"^IRL!Ug \)xGZ-h}/TX)&FPz;I-q VP#+k}O'& 9uPWgU>bEyxB=_|LT2c%y%oUl!V10]qUIX``oB-k'pdlVItR_HINQI< IPACP063.B[CMU063.IPACP]NETERROR.MSG;1E Ńut> TWT  TE 9 FTO ( NYI , NOPN $ NOINA # NOANA 7 NOADR < GTHFUL  DAE " NMLTO 5 NSEXIT 7 NONS 9 NSQFULL C DSDOWN > DSNODS D DSINCOMP = DSNOADDR 9 DSNONAME @ DSFMTERR 0 DSSRVERR 6 DSNAMERR C DSNOTIMP B DSREFUSD C DSNONSRV 1 DSUNKERR < DSREFEXC 4 GREENERR : GP_INVREQ A GP_INVINF E GP_INVNAM A GP_INVADR A GP_INVMBX ? GP_INVCLS : GP_RSBUSY 7 GP_NONMSR ? GP_NOHINF - GP_NOTFND + GP_UNKMBX @ GP_NOTIMP 6 GP_TOOBIG 8 GP_NSDOWN % NRT *[CMU063.IPACP]NETERROR.REQ;1+,. / 4L -0123KPWO 56V'7טA89GHJP1 IPACP063.B[CMU063.IPACP]NETERROR.REQ;1L n2%(A ****************************************************************0 Copyright (c) 1992, Carnegie Mellon University All Rights Reserved@ Permission is hereby granted to use, copy, modify, and@ distribute this software provided that the above copyright@ notice appears in all copies and that any distribution be for noncommercial purposes.@ Carnegie Mellon University disclaims all warranties with regard@ to this software. In no event shall Carnegie Mellon University@ be liable for any special, indirect, or consequential damages@ or any damages whatsoever resulting from loss of use, data, or@ profits arising out of or in connection with the use or performance of this software.A ****************************************************************)%! TCP error code definitions.EXTERNAL LITERAL( NET$_IR, ! INSUFFICIENT RESOURCES.( NET$_IFC, ! INVALID FUNCTION CODE.& NET$_UCT, ! UNABLE TO CREATE TCB( NET$_IFS, ! INVALID FOREIGN SOCKET$ NET$_ILP, ! INVALID LOCAL PORT( NET$_NUC, ! NON-UNIQUE CONNECTION.3 NET$_CSE, ! CONNECTION TABLE SPACE EXHAUSTED.= NET$_NOPRV, ! INSUFFICIENT PRIVILEGES TO USE LOCAL PORT5 NET$_CIP, ! CONNECTION ILLEGAL FOR THIS PROCESS* NET$_CC, ! ERROR: CONNECTION CLOSING, NET$_CDE, ! CONNECTION DOES NOT EXIST.( NET$_CR, ! ERROR: CONNECTION RESET- NET$_FSU, ! Foreign-Socket unspecified.' NET$_UNN, ! Unknown Network Node.& NET$_VTF, ! Valid-TCQN IPACP063.B[CMU063.IPACP]NETERROR.REQ;1L B Table Full% NET$_CTO, ! Connection TimeOut.$ NET$_TWT, ! Time-Wait TimeOut.E NET$_FTO, ! User function timeout. Network event didn't happen.L NET$_CRef, ! Connection REFUSED, RESET in SYN-Recv state. Active open.9 NET$_CCAN, ! Connection cancelled by process abort. NET$_TE, ! TCP is Exiting.* NET$_FIP, ! IO Function in Progress.5 NET$_BTS, ! User specified buffer is Too small.* NET$_ihi, ! invalid known host index" NET$_bdi, ! Bad device index. NET$_epd, ! error processing device dump) NET$_URC, ! Destination Unreachable( NET$_IGF, ! Invalid GTHST function# NET$_UNA, ! Unknown host name% NET$_UNU, ! Unknown host number3 NET$_NYI, ! User function not yet implemented2 NET$_NOINA, ! Access to internet not allowed1 NET$_NOANA, ! Access to ARPANET not allowed3 NET$_NOPN, ! UDP wildcard connection not open1 NET$_NOADR, ! Host address not yet resolved* NET$_GTHFUL, ! GTHST queue full error* NET$_DAE, ! NET$DUMP: Argument error) NET$_NMLTO, ! Name-lookup timed-out* NET$_NSEXIT, ! Name server is exiting* NET$_NONS, ! Name server not running. NET$_NSQFULL, ! Name server queue is full1 NET$_DSDOWN, ! Domain service is unavailable? NET$_DSNODS, ! Domain service: no domain servers contacted6 NET$_DSINCOMP, ! Domain service: incomplete reply8 NET$_DSNOADDR, ! Domain service: no addresses found3 NET$_DSNONAME, ! Domain service: no namR" IPACP063.B[CMU063.IPACP]NETERROR.REQ;1L WAe found; NET$_DSFMTERR, ! Domain service: format error in query2 NET$_DSSRVERR, ! Domain service: server error0 NET$_DSNAMERR, ! Domain service: name error; NET$_DSNOTIMP, ! Domain service: query not implemented3 NET$_DSREFUSD, ! Domain service: query refused= NET$_DSNONSRV, ! Domain service: no usable servers found: NET$_DSUNKERR, ! Domain service: unknown server error@ NET$_DSREFEXC, ! Domain service: maximum referrals exceeded1 NET$_GREENERR, ! Unknown name lookup failure3 NET$_GP_INVREQ, ! Name lookup: invalid request: NET$_GP_INVINF, ! Name lookup: invalid host info item< NET$_GP_INVNAM, ! Name lookup: invalid host name syntax? NET$_GP_INVADR, ! Name lookup: invalid host address syntax: NET$_GP_INVMBX, ! Name lookup: invalid mailbox syntax8 NET$_GP_INVCLS, ! Name lookup: invalid domain class5 NET$_GP_RSBUSY, ! Name lookup: resolver too busy< NET$_GP_NONMSR, ! Name lookup: no name server availableC NET$_GP_NOHINF, ! Name lookup: specified host info unavailable2 NET$_GP_NOTFND, ! Name lookup: name not found5 NET$_GP_UNKMBX, ! Name lookup: mailbox not found< NET$_GP_NOTIMP, ! Name lookup: function not implemented9 NET$_GP_TOOBIG, ! Name lookup: reply too big for UDP= NET$_GP_NSDOWN, ! Name lookup: all name servers are down/ NET$_NRT; ! No route to specified addressS,qW IPACP063.B[CMU063.IPACP]NETVMS.REQ;1;1G*[CMU063.IPACP]NETVMS.REQ;1+,./ 4GX-0123KPWO56Y'7 'A89GHJ%(A ****************************************************************0 Copyright (c) 1992, Carnegie Mellon University All Rights Reserved@ Permission is hereby granted to use, copy, modify, and@ distribute this software provided that the above copyright@ notice appears in all copies and that any distribution be for noncommercial purposes.@ Carnegie Mellon University disclaims all warranties with regard@ to this software. In no event shall Carnegie Mellon University@ be liable for any special, indirect, or consequential damages@ or any damages whatsoever resulting from loss of use, data, or@ profits arising out of or in connection with the use or performance of this software.A ****************************************************************)%:%SBTTL 'VAX-11 / VMS - Standard definitions library file.'-! Declare VAX-11 builtin machine instructionsF! See BLISS-32 Users Guide for further details or VAX-11 Architecture.BUILTIN ROT, ! logiTBب IPACP063.B[CMU063.IPACP]NETVMS.REQ;1;1GѠcal 32-bit rotate.! INSQUE, ! Insert a queue entry" REMQUE, ! Remove a queue entry.% SUBM, ! multi-precsion subtraction: CVTLF, ! convert long-integer ==> single-prec floating.. CVTFL, ! convert floating ==> long integer. DIVF, ! Floating divide.8 EDIV; ! divide quadword by longword ==> long integer.! BLISS XPORT definitions.Library 'SYS$LIBRARY:XPORT';! VMS I/O Status Block Fields$Field IO_Status_Fields= Set ios$Status = [$Bytes(2)], ios$Size = [$Bytes(2)], ios$DevChr = [$Bytes(4)], $overlay(ios$DevChr) ios$terminator = [$bytes(2)], ios$term_size = [$bytes(2)] $continue Tes;Literal IO_Status_Blk_Size = 2, SS$_Error = 2;MACROD IO_Status_Blk = BLOCK[IO_Status_Blk_Size] Field(IO_Status_Fields)%,G! rename some field definitions from xport data structure declarations. $Long = %Quote $Long_Integer%, $Word = %Quote $Short_Integer%;! A few standard definitionsLITERAL False = 0, ! set up booleans True = 1, ch_bell = 7, ! ding ch_bs = 8, ! back-space CH_tab = 9, ! tab CH_lf = 10, ! Line-Feed CH_ff = 12, ! Form-Feed CH_cr = 13, ! Carriage-Return CH_esc = 27, ! escape CH_sp = 32, ! space ch_del = 127; ! del/rubout! Queue header definition$FIELD Queue_Header_Fields= Set QHEAD = [$Address], QTAIL = [$Address] TES;'Literal Qheader_Size = $Field_Set_Size;@Macro Queue_Header_Structure(F) = BLOCK[QHeader_Size] FIELD(F)%;+! fix a little problem witU#5 IPACP063.B[CMU063.IPACP]NETVMS.REQ;1;1GL9h xport libraries UNDECLARE %quote $Descriptor;! END Library File: VMS.DEF*[CMU063.IPACP]NETWORK.REQ;1+,./ 4M-0123KPWO56g['7vA89GHJ%(A ****************************************************************0 Copyright (c) 1992, Carnegie Mellon University All Rights Reserved@ Permission is hereby granted to use, copy, modify, and@ distribute this software provided that the above copyright@ notice appears in all copies and that any distribution be for noncommercial purposes.@ Carnegie Mellon University disclaims all warranties with regard@ to this software. In no event shall Carnegie Mellon University@V IPACP063.BMU063.IPACP]NETWORK.REQ;11Mh be liable for any special, indirect, or consequential damages@ or any damages whatsoever resulting from loss of use, data, or@ profits arising out of or in connection with the use or performance of this software.A ****************************************************************)% ! Define Network User Interface.7LIBRARY 'SYS$LIBRARY:STARLET'; ! VMS system definitions0LIBRARY 'SYS$LIBRARY:XPORT'; ! XPORT definitions ! Define TCP QIO function Codes.8! Use predefined codes which are meaningful only to TCP.LITERAL TCP$OPEN = IO$_create, TCP$CLOSE = IO$_Delete, TCP$SEND = IO$_WriteVBlk, TCP$RECEIVE = IO$_ReadVBlk, TCP$ABORT = IO$_Deaccess, TCP$STATUS = IO$_ACPcontrol, TCP$INFO = IO$_MODIFY, GTHST = IO$_SKIPFILE,) GTH_LCLHST = 0, ! Local host information. GTH_NAMADR = 1, ! Name to address translation. GTH_ADRNAM = 2, ! Address to name translation ! OPEN modes- Active = 1, ! TCP - Connection is ACTIVE/ Passive = 0, ! TCP - Connection is PASSIVE: UDPData = 1, ! UDP - UDP data only (must match above)@ UDPAddr = 0, ! UDP - IP address supplied (must match above)% WILD = 0, ! Wild port specifier. Asynch = 1, ! $QIO's Synch = 0, ! $QIOW'sA! Open flag bit positions ** Must match STRUCTURE and IPDRIVER ** OPF$Mode = 1, OPF$Nowait = 2, OPF$Addrflag = 4,(! Name length and address count literals Host_Name_Max_Size = 128,$ MAX_HNAME = Host_Name_Max_Size, Wa39 IPACP063.BMU063.IPACP]NETWORK.REQ;11M4 MAX_HADDRS = 20,! TCB Connection States( CS$Closed = 0, ! (not a real state)% CS$Listen = 1, ! Waiting for SYN5 CS$SYN_Sent = 2, ! SYN sent, waiting for SYN-ACK< CS$SYN_RECV = 3, ! SYN received & sent, waiting for ACK? CS$Established = 4, ! Connection ready to send/receive data> CS$FIN_Wait_1 = 5, ! CLOSE done, FIN sent, waiting for ACK= CS$FIN_Wait_2 = 6, ! ACK of FIN received, waiting for FIN0 CS$Time_Wait = 7, ! FINs sent,received,ACKed= CS$Close_Wait = 8, ! FIN received, waiting for user CLOSE< CS$Closing = 9, ! FINs sent&received, waiting for ACK *F CS$Last_ACK = 10, ! FINs sent&received, waiting for ACK **' CS$Reset = 11, ! (not a TCP state)? CS$Inactive = 12, ! (not a TCP state) Connection is closedB CS$NameLook = 13; ! (not a TCP state) Waiting for name lookup@!* State only reached via FIN-WAIT-1 (local initiation of close)B!** State only reached via CLOSE-WAIT (remote initiation of close)%(M I/O Status block (Quadword) field definitions. These are basically the same7 defined in VMS with the exception of the 2nd longword.G The 2nd longword contains the ACP error code if the VMS Return code isM SS$_ABORT. For SS$_NORMAL requests, second longword contains flags and extra status information.A!===============================================================!-+ Bytes Transfered | VMS Return Code +A!---------------------------------------------------------------!,+ Unused | Bit FXTak~` " S`xgZF@ /A\W8Nq"fxbIE2_uG3)_<7_-1AWu. M5!a|[]V9sy{-H,@8+giz2WOfeLIZ=fHkjX[r6;%,,@.WYFsJJsy !g9z+Og.yGX5,R+-wP[Qr&:EMO#LC.+dJWII'1?u|Ԡ~W>]1e9z0y/z!zi!najG4c#BgzfV!>cg;&a&T" uT=p6@yI! w,sZQ&m6El-E_Z JvgDGa40tH,;aFHS! Y#M$[C3B%I^g.`aqE|gK&P.4b/A|,w]KZ<9i$h 3Y3CcPVdFNk#5<3nD0JU$9\6/x: O+kj]2px!Chf9yF7[1<*4Wl?^G0ex~V6fc9&~(XC' P.ok) 9By8kRG^Yt5TCcZR s\YnG 1 Lq cbK= 1],k)0JDW,J lz:;jVW/h/ .O8L;`Ie T(R tiaW7u~F=ww2Jlvi$NjI}F JRpFH 9!B\xK| #9h '+3reR82Tn`%j"{9b)@BAV.X>hkFcrSBI)rY.4ofa#RCc7SIyGg1oa\wH\[hnoYr- Ov`VEdS!>_\ZBu.;\iy=]sRfX^8=B}=` b-+?"3's}0d;x$wZ9\On 0B& a^4 \ |N](m @WqaM']w?:yGd SN]J?Km;cmcm|d [Ee( Vx{_F $LSg&g'Y>  E$u3IjZ/!$b u2\DnT5(WA%f@k5=e,E~<p6t>:gu"! z~;MC@u;y UHAQy/[Oe}UTa#aQ'+=b!=M]vh8KZ|LbWcgbj^z>sXr rWlc?ip' ZR`~oE<XNewDH ED=cED R# {i=a:,4*<,<>HO Wix/IM aq0 6yxa0*uJx"ii7e&F]AVixuxoFl>lNXXp"*A K֯O1m\ssU)63W? j 4&m3F!f?& W0/=aL 3tn@rf @Pp=i [Z8^b{pb*p?]R< sRM_?iS B4`} J|V 6 C3 >5in<0sp wst_h`4rHS{.cNX.3g21lqUWy ^nLk7k !ljAN>G YqZ^ ) #C<|1bk ra2 :nyW;Qd-Dc HAl0MgV7Grbu:ubgI)WvWu`2=dg 'F\(7*;(i NSB$XERROR = [$Bytes(4)], ! ACP error code, if RC = SS$_ABORT $CONTINUE! Obsolete field names $OVERLAY(NSB$STATUS)/ VMS_Code = [$Bytes(2)], ! VMS $QIO status code: Bytes_Xfered = [$Bytes(2)], ! Number of bytes transferred5 LCID = [$Bytes(4)], ! OBSOLETE, local connection ID $CONTINUE $OVERLAY(LCID); NET_XERROR = [$Bytes(4)], ! IPACP status code if SS$_ABORT $CONTINUE $OVERLAY(LCID)' TCP_Err = [$Byte], ! OBSOLETE, UNUSED( Urgent = [$Bit], ! Not yet implemented EOL = [$Bit], ! "Push" bit Xtra = [$Bits(6)], ! Unused& Tag = [$Bytes(2)] ! OBSOLETE, UNUSED $CONTINUE TES;MACRO= Network_IO_Status_Block = BLOCK[2] FIELD(NetSB_Fields) %,- Network_IOSB = Network_IO_Status_Block %; ! Define protocol codes for openLITERAL1 U$TCP_Protocol = 0Z3  IPACP063.BMU063.IPACP]NETWORK.REQ;11M , ! TCP protocol (default)' U$UDP_Protocol = 1; ! UDP protocol$! Define the network function macrosMACRO7 CHKOBS(KWD,KWST,MN) = ! Check for obsolete keywords %IF NOT %NULL(KWD) %THEN? %INFORM(%STRING(MN,' macro using obsolete keyword ',KWST)) %FI %,7 MissingArg(Arg,Mesg)= ! Check for missing arguments %IF %NULL(Arg) %THEN %ERROR(Mesg) %FI %, $$QIO(MODE) = %IF (MODE EQL ASYNCH) %THEN $QIO %ELSE $QIOW %FI %; KEYWORDMACRO$! NET$OPEN - Open network connection NET$OPEN(7 FHnam=0, ! Address: Foreign-Host name (ASCIZ) string." Foreign_Prt=0, ! Foreign_Port #. Local_Prt=0, ! Local Port #.( TimOut=600, ! Send TimeOut in seconds.7 AddrFlag=0, ! 1 = Have IP address, 0 = have host name6 OpenNoWait=0, ! 1 = No wait, 0 = wait for completion- Protocol=U$TCP_Protocol,! Open protocol mode2 OpenMode=Active, ! Default mode is ACTIVE for TCP+ DBsize, ! OBSOLETE User data buffer size< IOMode=Synch, ! Synchronous/Asynchronous mode ($QIOQ/$QIO) IOchan, ! I/O Channel Number." IO$SB, ! I/O Status Blk Address' Ast$Adr=0, ! Adrs of AST service rtn. Ast$Prm=0, ! AST parameter. EF=0 ! Event Flag #. ) =) MissingArg(IOCHAN,'Missing I/O Channel')- MissingArg(IO$SB,'Missing I/O Status Block')# CHKOBS(DBsize,'DBsize','NET$OPEN') $$QIO(IOMODE) ( CHAN = IOchan, FUNC = TCP$OPEN, EFN = EF, IOSB = IO$SB, ASTADR = Ast$adr, ASTPRM = Ast$prm, P1 = FHnam, P2 = Foreign_Prt,[ IPACP063.BMU063.IPACP]NETWORK.REQ;1Mq P3 = Local_Prt,8 P4 = (Addrflag*OPF$Addrflag)+(OpenNoWait*OPF$Nowait) + (OpenMode*OPF$Mode), P5 = Protocol, P6 = TimOut ) %,(! NET$CLOSE - Close a network connection NET$CLOSE(1 LC_ID, ! OBSOLETE, UNUSED Local Connection ID.- CloseAbort=0, ! 1 = Abort, 0 = normal close7 CloseNoWait=0, ! 1 = No wait, 0 = wait for completion IOchan, ! I/O channel% IO$SB, ! I/O Status blk (quadword)< IOMode=Synch, ! Synchronous/Asynchronous mode ($QIOQ/$QIO)' Ast$Adr=0, ! Adrs of AST service rtn. Ast$Prm=0, ! AST parameter. EF=0 ! Event Flag #. ) =" CHKOBS(LC_ID,'LC_ID','NET$CLOSE') $$QIO(IOMODE) ( CHAN = IOchan, IOSB = IO$SB, FUNC = TCP$Close, EFN = EF, ASTADR = Ast$Adr, ASTPRM = Ast$Prm,' P1 = (CloseNoWait^1) + CloseAbort ) %,J! NET$ABORT - Abort a network connection (same as close with abort option) NET$ABORT(1 LC_ID, ! OBSOLETE, UNUSED Local Connection ID.< IOMode=Synch, ! Synchronous/Asynchronous mode ($QIOQ/$QIO) IOchan, ! I/O channel% IO$SB, ! I/O Status blk (quadword) EF=0 ! Event Flag #. ) =" CHKOBS(LC_ID,'LC_ID','NET$ABORT') $$QIO(IOMODE) ( CHAN = IOCHAN, %IF NOT %NULL(IO$SB) %THEN IOSB = IO$SB, %FI Func = TCP$ABORT, EFN = EF ) %,'! NET$SEND - Send data over the network NET$SEND(1 LC_ID, ! OBSOLETE, UNUSED Local Connection ID. BufAdrs, ! Data buffer address" BufSize, ! Buffer Size in bytes.2\s IPACP063.BMU063.IPACP]NETWORK.REQ;11MR Tag, ! OBSOLETE, UNUSED request identifier tag.% Urgent=0, ! NYI Urgent data boolean EOL=0, ! EOL (PUSH) boolean.- IOmode=Synch, ! Asynchronous or synchronous IOchan, ! I/O channel% IO$SB, ! I/O Status blk (quadword)' Ast$Adr=0, ! Adrs of AST service rtn. Ast$Prm=0, ! AST parameter. EF=0 ! Event Flag #. ) =! CHKOBS(LC_ID,'LC_ID','NET$SEND') CHKOBS(TAG,'TAG','NET$SEND') $$QIO(IOMODE) ( CHAN = IOchan, IOSB = IO$SB, Func = TCP$Send, ASTADR = Ast$Adr, ASTPRM = Ast$Prm, EFN = EF, P1 = BufAdrs, P2 = BufSize,) P3 = 0, !*** OBSOLETE TAG FIELD *** P4 = EOL, P5 = Urgent ) %,-! NET$RECEIVE - Receive data from the network NET$RECEIVE( 1 LC_ID, ! OBSOLETE, UNUSED Local Connection ID. BufAdrs, ! Data buffer address" BufSize, ! Buffer Size in bytes.. Tag, ! OBSOLETE Receive identification tag.- IOmode=Synch, ! Asynchronous or synchronous IOchan, ! I/O channel% IO$SB, ! I/O Status blk (quadword)' Ast$Adr=0, ! Adrs of AST service rtn. Ast$Prm=0, ! AST parameter. EF=0 ! Event Flag #. ) =$ CHKOBS(LC_ID,'LC_ID','NET$RECEIVE') CHKOBS(TAG,'TAG','NET$RECEIVE') $$QIO(IOMODE) ( CHAN = IOchan, IOSB = IO$SB, FUNC = TCP$Receive, EFN = EF, ASTADR = Ast$Adr, ASTPRM = Ast$Prm, P1 = BufAdrs, P2 = BufSize,) P3 = 0 ! *** OBSOLETE TAG FIELD *** ) %;B! Special UDP header b]?+ IPACP063.BMU063.IPACP]NETWORK.REQ;11M+lock for send/receive in UDP "address" mode.9! **N.B.** Must match the definitions in UDP.BLI exactly.$FIELD UDP$ADDRESS_FIELDS = SET" UDA$SOURCE_ADDR = [$Bytes(4)], UDA$DEST_ADDR = [$Bytes(4)]," UDA$SOURCE_PORT = [$Bytes(2)], UDA$DEST_PORT = [$Bytes(2)] TES;LITERAL' UDP$ADDRESS_SIZE = $FIELD_SET_SIZE,, UDP$ADDRESS_BLEN = UDP$ADDRESS_SIZE * 4;MACROL UDP$ADDRESS_BLOCK = BLOCK[UDP$ADDRESS_SIZE] FIELD(UDP$ADDRESS_FIELDS) %; ! Define ICMP message codes hereLITERAL ICM_EREPLY = 0, ICM_DUNREACH = 3, ICM_SQUENCH = 4, ICM_REDIRECT = 5, ICM_ECHO = 8, ICM_TEXCEED = 11, ICM_PPROBLEM = 12, ICM_TSTAMP = 13, ICM_TSREPLY = 14, ICM_IREQUEST = 15, ICM_IREPLY = 16, ICM_MIN = ICM_EREPLY, ICM_MAX = ICM_IREPLY;@! NET$STATUS - Get status information about a network connection KEYWORDMACRO NET$STATUS(1 LC_ID, ! OBSOLETE, UNUSED Local Connection ID." BufAdrs, ! Status buffer address< BufSize=Connection_status_ByteSize, ! Buffer Size in bytes. IOchan, ! I/O channel% IO$SB, ! I/O Status blk (quadword) EF=0 ! Event Flag #. ) =# CHKOBS(LC_ID,'LC_ID','NET$STATUS') $QIOW( CHAN = IOchan, IOSB = IO$SB, FUNC = TCP$Status, EFN = EF, P1 = BufAdrs, P2 = BufSize ) %;/! NET$STATUS - Returned Status block structure.($FIELD Connection_Status_Return_Fields = SET! CS$Bytes_Avail = [$Bytes(2)], CS$State = [$Byte], CS$L^ IPACP063.BMU063.IPACP]NETWORK.REQ;1MRast_State = [$Byte],% CS$Send_Window = [$Long_Integer],% CS$Recv_Window = [$Long_Integer],. CS$User_ID = [$long_Integer] ! Owning PID TES;LITERAL0 Connection_Status_BLKSize = $Field_Set_Size,I Connection_status_ByteSize = Connection_status_Blksize*4; ! in bytes.MACRO$ Connection_Status_Return_Block =" BLOCK[Connection_Status_BLKSIZE] * FIELD(Connection_Status_Return_Fields) %;,! NET$INFO - Request Connection Information.2! Host names, node description, Port numbers, etc. KEYWORDMACRO NET$INFO(1 LC_ID, ! OBSOLETE, UNUSED Local Connection ID." BufAdrs, ! Status buffer address: BufSize=Connection_Info_ByteSize, ! Buffer Size in bytes. IOchan, ! I/O channel% IO$SB, ! I/O Status blk (quadword) EF=0 ! Event Flag #. ) =! CHKOBS(LC_ID,'LC_ID','NET$INFO') $QIOW( CHAN = IOchan, IOSB = IO$SB, FUNC = TCP$INFO, EFN = EF, P1 = BufAdrs, P2 = BufSize ) %;$! NET$INFO - return block structure.%$FIELD Connection_Info_Return_Fields= SET! CI$FHost_Name_size = [$Byte],! CI$LHost_Name_size = [$Byte],4 CI$Foreign_Host = [$String(Host_Name_Max_Size)], $ALIGN(Fullword)" CI$Foreign_Port = [$Bytes(4)], $ALIGN(Fullword)2 CI$Local_Host = [$String(Host_Name_Max_Size)], $ALIGN(Fullword) CI$Local_Port = [$Bytes(4)],) CI$local_internet_adrs = [$bytes(4)],) CI$remote_internet_adrs = [$bytes(4)] TES;LITERAL. Connection_Info_BLKSize = $Field_Set_Size,E _Rv IPACP063.BMU063.IPACP]NETWORK.REQ;11M Connection_Info_ByteSize = Connection_Info_Blksize*4; ! in bytes.MACRO# Connection_Info_Return_Block = F BLOCK[Connection_Info_BLKSIZE] FIELD(Connection_Info_Return_Fields)%;"! NET$GTHST - Get Host Information KEYWORDMACRO NET$GTHST( BufAdrs, ! Data buffer address Bufsize, ! Buffer size (bytes) Gthfunct, ! GTHST function GTHP1, ! Parameter #1 GTHP2=0, ! Parameter #2 GTHP3=0, ! Parameter #3 IOchan, ! I/O channel IO$SB, ! I/O status block- IOmode=Synch, ! Asynchronous or synchronous' Ast$Adr=0, ! Addrs of AST service rtn Ast$Prm=0, ! AST parameter EF=0 ! Event flag # )= $$QIO(IOMODE) ( CHAN = IOchan, IOSB = IO$SB, FUNC = GTHST, ASTADR = Ast$Adr, ASTPRM = Ast$Prm, EFN=EF, P1 = Bufadrs, P2 = Bufsize, P3 = GTHfunct, P4 = GTHP1 %IF NOT %NULL(GTHP2) %THEN ,P5 = GTHP2 %FI %IF NOT %NULL(GTHP3) %THEN ,P6 = GTHP3 %FI ) %;:! NET$GTHST - Return block for Name to Address translation$FIELD GTHST_NMLOOK_FIELDS = SET4 GH$NL_ADRCNT = [$Bytes(4)], ! Count of addresses9 GH$NL_ADRLST = [$Bytes(4*MAX_HADDRS)], ! Address list6 GH$NL_NAMLEN = [$Bytes(4)], ! Official name length> GH$NL_NAMSTR = [$String(MAX_HNAME)] ! Official name string TES;LITERAL) GTHST_NMLOOK_SIZE = $FIELD_SET_SIZE;MACRO GTHST_NMLOOK_BLOCK =8 BLOCK[GTHST_NMLOOK_SIZE] FIELD(GTHST_NMLOOK_FIELDS) %;:! NET$GTHST - Return block`5 IPACP063.BMU063.IPACP]NETWORK.REQ;11Mt for Address to Name translation$FIELD GTHST_ADLOOK_FIELDS = SET7 AL$NAMLEN = [$Bytes(4)], ! Host name string length8 AL$NAMSTR = [$String(MAX_HNAME)] ! Host name string TES;LITERAL) GTHST_ADLOOK_SIZE = $FIELD_SET_SIZE;MACRO GTHST_ADLOOK_BLOCK = 8 BLOCK[GTHST_ADLOOK_SIZE] FIELD(GTHST_ADLOOK_FIELDS) %;/! Prevent multiple declarations of XPORT macros UNDECLARE %QUOTE $XPO$VMS_Descriptor, %QUOTE $Descriptor;a`RxMod/1!E4 [_hfkF>.)l-i S_8nsfMdyv<;PC\D^; |Z*M!%/`qxp_  /+wQ?|n{Wb [sah]Ff`}$Rv'xN~`j FD9? '\f'%:^(;R zv"eu l<1YQU ;J&VsU[/Q/7l5]%X6k_eOX/x>E%O{Q1H;/O;G ;P* Jp{3Co Gv8^\s+M bf ;CTGd` dxiS<c?<)h??"YNPIXX mwg~WQE+Yx7yAe{k`:7s=DU&_0W *0fm9C9a A^,53`jq0m Eg6SZ'"YwCp| |N/iCC_NaYOT3P1 0{:hv ~ufQ0n2VHzKPxl] J*_twyG1rDvHVW:m{p-mKU6| h1-u<\4u&i(gP_cIwNNq`h@/m&][O|@WR4 G`HR%@_wtW6cZgeKMGO(gj+_Azm~wN? g**Db%4|kF K3`ls"-dQY"~c'~j7*Rh*j$c{dP2H(=L91sQa2?4T_U.NY#~In?zC2E:..Rbx#YPqgI;^. Fw4.jfSx1znwSF> p0vA?}6Z[Li@]+@^XV!%1-Qc mWQm?W{^zIJ y go6M>]g(e6$.})[is10P9BjJ%UBb51H40/~* <mwp]DU