(FILECREATED " 4-Jun-85 15:15:37" ("compiled on " {SAFE}tcptftp) "19-Mar-85 14:34:17" tcompl%'d in "INTERLISP-D 28-May-85 ..." dated "28-May-85 10:32:27") (FILECREATED " 3-Jun-85 03:06:06" {ERIS}LIBRARY>TCPTFTP.;15 35952 changes to: (FNS \TFTP.SEND.FILE TFTP.SERVER.PROCESS \TFTP.GET.FILE \TFTP.GETNEXTBUFFER PRINTTFTP \TFTP.PRINT.DATA \TFTP.PRINT.ERROR \TFTP.PRINT.REQUEST \TFTP.PRINT.ACK) (VARS TCPTFTPCOMS) previous date: " 2-Jun-85 19:48:23" {ERIS}LIBRARY>TCPTFTP.;13) \TFTP.ACKNOWLEDGE D1 (P 1 ACK P 0 TFTPCON I 1 ACK# I 0 STREAM) =@ IHlg IA HI @ g@H (72Q UDP.CLOSE.SOCKET 47Q \GETACCESS 43Q BLOCK 40Q UDP.SEND 32Q UDP.APPEND.WORD 25Q \TFTP.SETUP 10Q \ALLOCATE.ETHERPACKET) (61Q STREAM 52Q INPUT 22Q FREE 3 STREAM) () \TFTP.CLOSEFILE D1 (P 0 TFTPCON I 0 STREAM) 6@ @ g@@@g Hi @ @(62Q \SETACCESS 56Q UDP.CLOSE.SOCKET 47Q \TFTP.GETNEXTBUFFER 14Q \GETACCESS) (44Q WRITE 35Q STREAM 26Q STREAM 17Q OUTPUT 3 STREAM) () \TFTP.EOFP D1 (L (0 STREAM)) !@h@@@NIL (33Q STREAM 25Q STREAM 15Q STREAM 3 STREAM) () \TFTP.ERROR D1 (P 1 ERRORSTRING I 1 TFTPCON I 0 TFTP) `@HlHCl !@ZlJClljIII oIo @[lKC (135Q ERROR 115Q CONCAT 101Q \MOVEBYTES 26Q ALLOCSTRING) (73Q STRINGP 65Q STRINGP 57Q STRINGP) ( 112Q " for code" 105Q "TFTP error message: ") \TFTP.GETNEXTBUFFER D1 (P 32Q NBYTES P 31Q ACK# P 30Q I P 26Q NEXT# P 4 UDP P 3 BUFFER P 2 RETRYCOUNT P 1 IPSOCKET P 0 TFTPCON I 2 NOERRORFLG I 1 WHATFOR I 0 STREAM) D@ `Hj@Adg@ @ @ @hBz@ Kok`kO0O.LkL Hjo @g,o@ h^lNClL_lOCO, ;@L @O, i]lMCkذI` \@O,k O0k_0xL_lOCO,n`9@O,k L hJkZ`9Hjo @g,oJi!o` O,k` ` o` Hjo @g,oL_lOCl@g,LH HjoL_lOCdko2dlo&looL_lOCo @g,oqg'@@ B@  K_lOC_2@K_lOCllK_4KO4l K_lOCO4l nO4@i`kO0O.LIK O0k_0LL_lOClL_ lO CO2IO4n-LHl LO2k L_"lO"Cn @L @h@ H iL_$lO$CO2a`.L hJkZ`BHjo @g.BRTio` O2` ` o` HjoLHjo @g.B@ h_&lO&Cl@g.LH LHjoL_(lO(Cdko2dlo&looL_*lO*Co poA (2101Q ERROR 2066Q CONCAT 2063Q CONCAT 1736Q \TFTP.ERROR 1672Q \EOF.ACTION 1651Q \TFTP.SEND.ERROR 1623Q PRIN1 1606Q TERPRI 1577Q PRIN1 1566Q PRIN1 1530Q \TFTP.SEND.ERROR 1500Q \RELEASE.ETHERPACKET 1440Q UDP.CLOSE.SOCKET 1432Q \SETACCESS 1414Q \TFTP.INPUT.BUFFER 1363Q UDP.APPEND.WORD 1352Q \TFTP.SETUP 1242Q UDP.EXCHANGE 1051Q \EOF.ACTION 1040Q \SETACCESS 773Q \TFTP.SEND.ERROR 770Q CONCAT 765Q CONCAT 642Q \TFTP.ERROR 555Q \TFTP.SEND.ERROR 541Q PRIN1 524Q TERPRI 515Q PRIN1 502Q PRIN1 442Q \TFTP.SEND.ERROR 412Q \RELEASE.ETHERPACKET 405Q \TFTP.ACKNOWLEDGE 331Q \TFTP.ACKNOWLEDGE 317Q UDP.GET 266Q \TFTP.ACKNOWLEDGE 257Q \TFTP.INPUT.BUFFER 250Q IEQP 177Q ERROR 154Q \TFTP.SEND.ERROR 107Q \EOF.ACTION 67Q \RELEASE.ETHERPACKET 56Q \SETACCESS) (1726Q \STREAM.NOT.OPEN 1723Q STREAM 1661Q \STREAM.NOT.OPEN 1656Q STREAM 1620Q IPTRACEFILE 1603Q IPTRACEFILE 1574Q IPTRACEFILE 1563Q IPTRACEFILE 1540Q \STREAM.NOT.OPEN 1535Q STREAM 1512Q TFTP.MAXRETRIES 1472Q IPTRACEFLG 1422Q STREAM 1221Q TFTP.MAXRETRIES 1212Q STREAM 1103Q STREAM 1031Q STREAM 1020Q WRITE 1003Q \STREAM.NOT.OPEN 1000Q STREAM 632Q STREAM.NOT.OPEN 627Q STREAM 565Q \STREAM.NOT.OPEN 562Q STREAM 536Q IPTRACEFILE 521Q IPTRACEFILE 512Q IPTRACEFILE 477Q IPTRACEFILE 452Q \STREAM.NOT.OPEN 447Q STREAM 424Q TFTP.MAXRETRIES 373Q IPTRACEFLG 314Q \ETHERTIMEOUT 164Q \STREAM.NOT.OPEN 161Q STREAM 122Q TFTP.MAXRETRIES 73Q STREAM 62Q STREAM 46Q STREAM 34Q READ 24Q STREAM 3 STREAM) ( 2075Q "Illegal ACCESS" 2060Q "." 2035Q "unknown type " 2027Q "data." 2015Q "write request." 2001Q "read request." 1751Q "Protocol error: Illegal TFTP opcode, expected ACK but got " 1646Q "Protocol error, aborting..." 1634Q "Protocol error: Block # too high. Aborting..." 1615Q "R" 1560Q "TFTP retransmission on block# " 1525Q "Timeout awaiting acknowledgement. Aborting..." 1012Q "Illegal TFTP opcode rec'd" 762Q "." 737Q "unknown type " 731Q "ack." 717Q "write request." 703Q "read request." 653Q "Protocol error: Illegal TFTP opcode, expected DATA but got " 574Q "Protocol error: Block # too high. Aborting..." 552Q "Protocol error: Block # too high. Aborting..." 533Q "R" 474Q "Retransmitting ACK for block " 461Q "Timeout awaiting next data packet; aborting" 437Q "Timeout awaiting next data packet; aborting" 173Q "Timeout awaiting next data packet; aborting" 151Q "Timeout awaiting next data packet; aborting") \TFTP.INIT D1 NIL h`dk@dkPdk djdjdkpdj0dgdgdggdgdg dg>dg$dg4dgdg:dg8dg6dg2dg0dg.dH*dg (261Q \DEFINEDEVICE) (256Q \TFTP.DEVICE 247Q NILL 233Q \IS.NOT.RANDACCESSP 224Q \ILLEGAL.DEVICEOP 215Q \IS.NOT.RANDACCESSP 206Q \GENERIC.BINS 177Q \GENERIC.BOUTS 170Q \GENERIC.RENAMEFILE 161Q \TFTP.CLOSEFILE 152Q \TFTP.EOFP 143Q \TFTP.READP 134Q \TFTP.GETNEXTBUFFER 125Q \BUFFERED.BOUT 116Q \BUFFERED.BIN 111Q NILL 103Q NILL 74Q NILL 65Q TFTP 6 FDEVTYPE#) () \TFTP.INPUT.BUFFER D1 (P 2 LENGTH P 1 OFFSET I 1 UDP I 0 STREAM) xAHlHCllAAHlHCl @`@ @A@I@@IJ[0KnJ @ii(105Q \RELEASE.ETHERPACKET) (161Q STREAM 134Q STREAM 130Q STREAM 121Q STREAM 112Q STREAM 100Q STREAM 72Q ETHERPACKETTYPE# 64Q STREAM) () \TFTP.OPENFILEA0027A0028 D1 (I 0 SOCKET F 0 RESETSTATE) P@i (7 UDP.CLOSE.SOCKET) NIL () \TFTP.OPENFILEA0027 D1 (NAME ERRORSET L (0 NIL) P 1 I F 2 UDPIN F 3 STREAM F 4 TFTPCON F 5 UDP F 6 ACCESS F 7 FILENAME F 10Q RESETVARSLST F 11Q RESETY F 12Q PARAMETERS)  gThhhWcTlEUTVdgkgloV UWgWhddi  Uj UgW goo Uj `kIHRU RTi hciHlHCdlVgRHlHCjST SV SWTRHlHCRTl Rk RHlHCdnSR SmTU cIkYEdlcVgKRHlHCk2ST SV SWTRHlHCSR Sk SlR oRHlHC (707Q ERROR 654Q \TFTP.ERROR 637Q \TFTP.ACKNOWLEDGE 631Q \TFTP.INPUT.BUFFER 565Q \SETACCESS 463Q UDP.EXCHANGE 450Q \TFTP.INPUT.BUFFER 411Q UDP.APPEND.WORD 403Q \TFTP.SETUP 335Q \SETACCESS 225Q UDP.CLOSE.SOCKET 213Q \RELEASE.ETHERPACKET 166Q UDP.APPEND.BYTE 160Q UDP.APPEND.STRING 135Q FASSOC 123Q UDP.APPEND.BYTE 115Q UDP.APPEND.STRING 112Q SUBATOM 107Q STRPOS 66Q \TFTP.SETUP 63Q ERROR) (572Q STREAM 554Q STREAM 510Q INPUT 342Q STREAM 324Q STREAM 270Q OUTPUT 172Q \MAXETHERTRIES 142Q BINARY 130Q TYPE 75Q } 46Q OUTPUT 36Q INPUT 2 \TFTP.OPENFILEA0027A0028) ( 663Q "Unknown TFTP opcode" 155Q "NETASCII" 150Q "OCTET" 57Q "ACCESS must be INPUT or OUTPUT") \TFTP.OPENFILE D1 (P 12Q RESETZ P 11Q RESETY P 10Q LISPXHIST P 7 UDPIN P 6 UDP P 5 TFTPCON P 4 STREAM P 2 DEVICE I 3 PARAMETERS I 2 RECOG I 1 ACCESS I 0 FILENAME F 13Q LISPXHIST F 14Q RESETVARSLST) `` @g HdI`*HdI*`dJdg.dg,d`&dg"dg djd`djd`dhdldjRdk@dk0dhJhLJ h[(KW! Wog hg_ OO(340Q ERROR! 332Q RESETRESTORE 317Q \TFTP.OPENFILEA0027 273Q \ALLOCATE.ETHERPACKET 253Q DODIP.HOSTP 240Q UDP.OPEN.SOCKET 17Q FILENAMEFIELD 10Q NCREATE2) (325Q ERROR 314Q INTERNAL 246Q FDEV 235Q FDEV 160Q \STREAM.DEFAULT.MAXBUFFERS 144Q FILELINELENGTH 127Q \FILEOUTCHARFN 120Q \EOSERROR 111Q \NOIMAGEOPS 102Q \STREAM.NOT.OPEN 73Q \STREAM.NOT.OPEN 61Q STREAMTYPE# 37Q FDEV 34Q \TFTP.DEVICE 14Q HOST 5 \TFTP.DEVICE 2 FDEVTYPE#) ( 311Q (\TFTP.OPENFILEA0027)) \TFTP.READP D1 (L (0 STREAM)) @@NIL (11Q STREAM 3 STREAM) () \TFTP.SEND.ERROR D1 (P 0 TFTP I 2 ERRORSTRING I 1 ERRORCODE I 0 TFTPCON) $H@l HA HB Hj @H (41Q UDP.SEND 33Q UDP.APPEND.BYTE 26Q UDP.APPEND.STRING 21Q UDP.APPEND.WORD 14Q \TFTP.SETUP 2 \ALLOCATE.ETHERPACKET) NIL () \TFTP.SETUP D1 (I 3 REQUEUE I 2 OPCODE I 1 TFTPCON I 0 UDP) @AAjA @C@B (33Q UDP.APPEND.WORD 17Q UDP.SETUP) (23Q ETHERPACKET) () TFTP.SERVER.PROCESSA0004A0005 D1 (I 0 SOCKET) @i (4 UDP.CLOSE.SOCKET) NIL () TFTP.SERVER.PROCESSA0004 D1 (NAME ERRORSET P 0 UDP F 4 LOGSTREAM F 5 CONNECTION F 6 SERVERSOCKET F 7 RESETVARSLST F 10Q DEVICE) gVhhhWcVi 1H$HYlICc ` U`HZlJCdk&gHghddhhWTh Yl%gHghddhhWTh 1oT H[lKCT T U` H D(313Q \RELEASE.ETHERPACKET 303Q DREMOVE 273Q TERPRI 266Q PRIN1 244Q PRIN1 232Q ADD.PROCESS 203Q UDP.OPEN.SOCKET 162Q ADD.PROCESS 133Q UDP.OPEN.SOCKET 61Q MEMBER 25Q UDP.GET) (306Q \TFTP.SERVER.CONNECTIONS 300Q \TFTP.SERVER.CONNECTIONS 200Q QUOTE 174Q \TFTP.GET.FILE 130Q QUOTE 124Q \TFTP.SEND.FILE 75Q \TFTP.SERVER.CONNECTIONS 71Q \TFTP.SERVER.CONNECTIONS 56Q \TFTP.SERVER.CONNECTIONS 2 TFTP.SERVER.PROCESSA0004A0005) ( 240Q "TFTP Server: Unexpected opcode ") TFTP.SERVER.PROCESS D1 (P 7 RESETZ P 6 RESETY P 5 LISPXHIST P 4 CONNECTION P 3 SERVERSOCKET P 2 DEVICE I 0 LOGSTREAM F 10Q TtyDisplayStream F 11Q LISPXHIST F 12Q RESETVARSLST) j`` dg`*HdI*lEi @WbhK&W!Wog hg_ ON(145Q ERROR! 137Q RESETRESTORE 124Q TFTP.SERVER.PROCESSA0004 66Q \CREATE.TTYDISPLAYSTREAM 62Q HASTTYWINDOWP 52Q UDP.OPEN.SOCKET 10Q NCREATE2) (132Q ERROR 121Q INTERNAL 100Q \TFTP.SERVER.CONNECTIONS 25Q FDEV 22Q \TFTP.DEVICE 14Q TFTPSERVER 5 \TFTP.DEVICE 2 FDEVTYPE#) ( 116Q (TFTP.SERVER.PROCESSA0004)) \TFTP.GET.FILEA0001A0002 D1 (P 2 CONNECTION P 0 UDPSOCKET I 0 TFTPCON F 3 RESETSTATE) ,@!@HYlICZ` SHi (51Q UDP.CLOSE.SOCKET 36Q REMOVE) (41Q \TFTP.SERVER.CONNECTIONS 33Q \TFTP.SERVER.CONNECTIONS) () \TFTP.GET.FILEA0001A0003 D1 (I 0 FILE F 0 RESETSTATE) P @ @ (15Q DELFILE 12Q FULLNAME 6 CLOSEF?) NIL () \TFTP.GET.FILEA0001 D1 (NAME ERRORSET L (0 NIL) P 1 OUTSTREAM F 2 LOGSTREAM F 3 MODE F 4 TFTPCON F 5 FILE F 6 TFTPSTREAM F 7 UDP F 10Q FILENAME F 11Q RESETVARSLST F 12Q HOST F 13Q FILENAMELENGTH F 14Q TYPE F 15Q RESETY F 16Q MODELENGTH F 17Q DEVICE)  gThhhWcTWHlHCTWWHlHCllWWW WHlHClWlSSW S coR WR oR SR oR W R R So gSo gTjoS hcWgggWhh ITkoW hc gUhhhWc`dWdg.dg,d`&dg"dg djd`djd`dhdldjRdk@dk0dhc TVVg VT Vj W oR U R R VU oR U R R U oR U R R W hci(1030Q \RELEASE.ETHERPACKET 1022Q TERPRI 1015Q PRIN1 1011Q FULLNAME 1004Q PRIN1 772Q CLOSEF? 765Q TERPRI 760Q PRIN1 754Q FULLNAME 747Q PRIN1 736Q COPYBYTES 730Q TERPRI 723Q PRIN1 717Q FULLNAME 712Q PRIN1 701Q \RELEASE.ETHERPACKET 673Q \TFTP.ACKNOWLEDGE 655Q \SETACCESS 432Q \TFTP.SEND.ERROR 427Q CONCAT 406Q OPENSTREAM 351Q \TFTP.SEND.ERROR 346Q CONCAT 327Q STREQUAL 311Q STREQUAL 300Q TERPRI 273Q PRIN1 267Q \IP.ADDRESS.TO.STRING 261Q PRIN1 250Q PRIN1 242Q PRIN1 231Q PRIN1 222Q PRIN1 207Q U-CASE 202Q \MOVEBYTES 127Q \MOVEBYTES) (662Q STREAM 652Q INPUT 567Q \STREAM.DEFAULT.MAXBUFFERS 553Q FILELINELENGTH 536Q \FILEOUTCHARFN 527Q \EOSERROR 520Q \NOIMAGEOPS 511Q \STREAM.NOT.OPEN 502Q \STREAM.NOT.OPEN 467Q STREAMTYPE# 446Q \TFTP.GET.FILEA0001A0003 374Q TYPE 371Q NEW 366Q OUTPUT 333Q BINARY 315Q TEXT 172Q STRINGP 164Q STRINGP 117Q STRINGP 110Q STRINGP 2 \TFTP.GET.FILEA0001A0002) ( 1000Q "TFTP Server: Failed to receive " 743Q "TFTP Server: Done receiving " 706Q "TFTP Server: receiving " 422Q "Can't open file--" 342Q "Unknown transfer type--" 324Q "OCTET" 306Q "NETASCII" 255Q " mode to host " 236Q " in " 216Q "TFTP Server: Will attempt to receive ") \TFTP.GET.FILE D1 (P 16Q RESETZ P 15Q RESETY P 14Q LISPXHIST P 13Q TFTPSTREAM P 12Q TYPE P 11Q FILE P 10Q HOST P 7 MODE P 6 MODELENGTH P 5 FILENAME P 2 FILENAMELENGTH I 3 LOGSTREAM I 2 DEVICE I 1 TFTPCON I 0 UDP F 17Q LISPXHIST F 20Q RESETVARSLST) l@YlIClHjHkԸHl!J Jlؼ@[lKClLjLk԰LJl^ A @$_W!W og hg_ OO(176Q ERROR! 170Q RESETRESTORE 155Q \TFTP.GET.FILEA0001 123Q ALLOCSTRING 51Q ALLOCSTRING) (163Q ERROR 152Q INTERNAL) ( 147Q (\TFTP.GET.FILEA0001)) \TFTP.SEND.FILEA0001A0002 D1 (P 1 CONNECTION P 0 UDPSOCKET I 0 TFTPCON F 2 RESETSTATE) "@@@Y` RHi (37Q UDP.CLOSE.SOCKET 24Q REMOVE) (27Q \TFTP.SERVER.CONNECTIONS 21Q \TFTP.SERVER.CONNECTIONS) () \TFTP.SEND.FILEA0001 D1 (NAME ERRORSET L (0 NIL) P 1 INSTREAM F 2 LOGSTREAM F 3 TFTPCON F 4 UDP F 5 FILENAME F 6 MODE F 7 TFTPSTREAM F 10Q FILE F 11Q RESETVARSLST F 12Q HOST F 13Q FILENAMELENGTH F 14Q TYPE F 15Q RESETY F 16Q MODELENGTH F 17Q DEVICE) /gShhhWcSTHlHCSWTHlHCllUUW THlHClWlVVW V c oR UR oR VR oR W R R Vo gVo gSjoV hc'UgggWhh ISkoU hc`dWdg.dg,d`&dg"dg djd`djd`dhdldjRdk@dk0dhcSWWg WS TSl Tk THlHCdnWT oR UR R WW Wgi oR UR R W oR UR R T hci(1047Q \RELEASE.ETHERPACKET 1042Q TERPRI 1035Q PRIN1 1027Q PRIN1 1015Q CLOSEF? 1007Q TERPRI 1002Q PRIN1 774Q PRIN1 763Q \TFTP.GETNEXTBUFFER 751Q COPYBYTES 741Q TERPRI 734Q PRIN1 726Q PRIN1 715Q \TFTP.INPUT.BUFFER 655Q UDP.APPEND.WORD 647Q \TFTP.SETUP 626Q \SETACCESS 422Q \TFTP.SEND.ERROR 417Q CONCAT 377Q OPENSTREAM 343Q \TFTP.SEND.ERROR 340Q CONCAT 321Q STREQUAL 303Q STREQUAL 272Q TERPRI 265Q PRIN1 261Q \IP.ADDRESS.TO.STRING 253Q PRIN1 242Q PRIN1 234Q PRIN1 223Q PRIN1 215Q PRIN1 202Q U-CASE 175Q \MOVEBYTES 123Q \MOVEBYTES) (757Q WRITE 634Q STREAM 623Q OUTPUT 536Q \STREAM.DEFAULT.MAXBUFFERS 522Q FILELINELENGTH 505Q \FILEOUTCHARFN 476Q \EOSERROR 467Q \NOIMAGEOPS 460Q \STREAM.NOT.OPEN 451Q \STREAM.NOT.OPEN 436Q STREAMTYPE# 365Q TYPE 362Q OLD 357Q INPUT 325Q BINARY 307Q TEXT 165Q STRINGP 157Q STRINGP 113Q STRINGP 105Q STRINGP 2 \TFTP.SEND.FILEA0001A0002) ( 1023Q "TFTP Server: Failed to send " 770Q "TFTP Server: Done sending " 722Q "TFTP Server: Sending " 413Q "Can't open file--" 334Q "Unknown transfer type--" 316Q "OCTET" 300Q "NETASCII" 247Q " mode to host " 230Q " in " 211Q "TFTP Server: Will attempt to send ") \TFTP.SEND.FILE D1 (P 16Q RESETZ P 15Q RESETY P 14Q LISPXHIST P 13Q TFTPSTREAM P 12Q TYPE P 11Q FILE P 10Q HOST P 7 MODE P 6 MODELENGTH P 5 FILENAME P 2 FILENAMELENGTH I 3 LOGSTREAM I 2 DEVICE I 1 TFTPCON I 0 UDP F 17Q LISPXHIST F 20Q RESETVARSLST) l@YlIClHjHkԸHl!J Jlؼ@[lKClLjLk԰LJl^ A @$_W!W og hg_ OO(176Q ERROR! 170Q RESETRESTORE 155Q \TFTP.SEND.FILEA0001 123Q ALLOCSTRING 51Q ALLOCSTRING) (163Q ERROR 152Q INTERNAL) ( 147Q (\TFTP.SEND.FILEA0001)) TFTP.SERVER D1 (I 0 LOGSTREAM) g@hgg (17Q ADD.PROCESS) (14Q HARDRESET 11Q RESTARTABLE 2 TFTP.SERVER.PROCESS) () TFTP.GETA0001A0002 D1 (I 0 STREAM F 0 RESETSTATE) @P @ @ (20Q DELFILE 15Q FULLNAME 11Q CLOSEF?) NIL () TFTP.GETA0001A0003 D1 (I 0 STREAM F 0 RESETSTATE) @ P@ (11Q CLOSEF) NIL () TFTP.GETA0001 D1 (NAME ERRORSET F 0 FROM F 1 TO F 2 RESETVARSLST F 3 EOLCONVENTION F 4 TYPE F 5 TONAME F 6 PARAMETERS F 7 RESETY F 10Q FROMNAME) QgghTdh cgQhhhRcPggV cgPhhhRcSPSPQ"PQ P P Q Ql WP l Uh ci(176Q ERRORX 151Q FULLNAME 146Q CLOSEF 141Q CLOSEF 134Q OPENP 127Q COPYCHARS 56Q \TFTP.OPENFILE 20Q OPENSTREAM) (107Q STREAM 64Q TFTP.GETA0001A0003 52Q OLD 47Q INPUT 26Q TFTP.GETA0001A0002 6 NEW 3 OUTPUT) () TFTP.GET D1 (P 6 RESETZ P 5 RESETY P 4 LISPXHIST P 3 TONAME P 2 FROMNAME P 1 TYPE P 0 EOLCONVENTION I 2 PARAMETERS I 1 TO I 0 FROM F 7 LISPXHIST F 10Q RESETVARSLST) 9gB gB @AW!Wog hg^ NM(64Q ERROR! 57Q RESETRESTORE 45Q TFTP.GETA0001 17Q FASSOC 6 FASSOC) (53Q ERROR 42Q INTERNAL 13Q TYPE 2 EOLCONVENTION) ( 37Q (TFTP.GETA0001)) TFTP.PUTA0001A0002 D1 (I 0 STREAM F 0 RESETSTATE) P@ (6 CLOSEF) NIL () TFTP.PUTA0001A0003 D1 (I 0 STREAM F 0 RESETSTATE) P@ (6 CLOSEF) NIL () TFTP.PUTA0001 D1 (NAME ERRORSET F 0 TO F 1 FROM F 2 RESETVARSLST F 3 EOLCONVENTION F 4 PARAMETERS F 5 RESETY) ]Pgg cgQhhhRcQggT cgPhhhRcSPSQP Q P c i(127Q FULLNAME 124Q CLOSEF 117Q CLOSEF 112Q COPYCHARS 47Q \TFTP.OPENFILE 11Q OPENSTREAM) (100Q STREAM 55Q TFTP.PUTA0001A0003 43Q NEW 40Q OUTPUT 17Q TFTP.PUTA0001A0002 6 OLD 3 INPUT) () TFTP.PUT D1 (P 4 RESETZ P 3 RESETY P 2 LISPXHIST P 1 TYPE P 0 EOLCONVENTION I 2 PARAMETERS I 1 TO I 0 FROM F 5 LISPXHIST F 6 RESETVARSLST) 5gB gB U!Vog hg\ LK(60Q ERROR! 53Q RESETRESTORE 41Q TFTP.PUTA0001 17Q FASSOC 6 FASSOC) (47Q ERROR 36Q INTERNAL 13Q TYPE 2 EOLCONVENTION) ( 33Q (TFTP.PUTA0001)) PRINTTFTP D1 (I 1 FILE I 0 TFTP) @HlHC`Ao @HlHCdkoA @A YdloA @A BdloA @A +dloA @A loA @A A A (242Q TERPRI 236Q TERPRI 231Q \TFTP.PRINT.ERROR 223Q PRIN1 205Q \TFTP.PRINT.DATA 177Q PRIN1 156Q \TFTP.PRINT.ACK 150Q PRIN1 127Q \TFTP.PRINT.REQUEST 121Q PRIN1 100Q \TFTP.PRINT.REQUEST 72Q PRIN1 33Q PRINTCONSTANT) (23Q TFTPOPCODES) ( 217Q " " 173Q " " 144Q " " 115Q " " 66Q " " 30Q "TFTP Opcode: ") \TFTP.PRINT.ACK D1 (I 1 FILE I 0 TFTP) #oA @HlHCA A (40Q TERPRI 34Q PRIN1 7 PRIN1) NIL ( 3 "Block #: ") \TFTP.PRINT.DATA D1 (I 1 FILE I 0 TFTP) WoA @HlHCA A @HlHClllo@HlHCl (124Q PRINTPACKETDATA 42Q TERPRI 35Q PRIN1 7 PRIN1) NIL ( 75Q (CHARS 14Q ...) 3 "Block #: ") \TFTP.PRINT.ERROR D1 (I 1 FILE I 0 TFTP) XoA @HlHCA A @HlHClljo@HlHCl A (125Q PRINTPACKETDATA 42Q TERPRI 35Q PRIN1 7 PRIN1) NIL ( 74Q (CHARS ...) 3 "Error code: ") \TFTP.PRINT.REQUEST D1 (P 12Q MODE P 11Q MODELENGTH P 10Q FILENAME P 2 FILENAMELENGTH I 1 FILE I 0 TFTP) l@YlIClHjHkԸHlQJ  Jlؼ@[lKClLjLk԰LJl_  @]lMCllOOJ @^lNClJlOOO @_lOCdkoloA OA oA OA A (341Q TERPRI 335Q PRIN1 327Q PRIN1 317Q PRIN1 311Q PRIN1 305Q SHOULDNT 240Q \MOVEBYTES 172Q \MOVEBYTES 124Q ALLOCSTRING 51Q ALLOCSTRING) (230Q STRINGP 221Q STRINGP 163Q STRINGP 154Q STRINGP) ( 323Q " in mode " 301Q "Write request for " 270Q "Read request for ") (PRETTYCOMPRINT TCPTFTPCOMS) (RPAQQ TCPTFTPCOMS ((COMS (* Trivial File Transfer Protocol) (GLOBALVARS \TFTP.DEVICE TFTP.MAXRETRIES) (RECORDS TFTPCON TFTP TFTPSTREAM) (CONSTANTS (\TFTPOVLEN 4) (\TFTP.SOCKET 69)) (CONSTANTS * TFTPOPCODES) (INITVARS (TFTP.MAXRETRIES 20)) (VARS (\TFTP.SERVER.CONNECTIONS)) (FNS \TFTP.ACKNOWLEDGE \TFTP.CLOSEFILE \TFTP.EOFP \TFTP.ERROR \TFTP.GETNEXTBUFFER \TFTP.INIT \TFTP.INPUT.BUFFER \TFTP.OPENFILE \TFTP.READP \TFTP.SEND.ERROR \TFTP.SETUP) (FILES (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) TCPUDP)) (COMS (* TFTP Server functions) (VARS (\TFTP.SERVER.CONNECTIONS)) ( GLOBALVARS \TFTP.SERVER.CONNECTIONS) (FNS TFTP.SERVER.PROCESS \TFTP.GET.FILE \TFTP.SEND.FILE)) (COMS ( * User functions) (FNS TFTP.SERVER TFTP.GET TFTP.PUT)) (COMS (* Tracing functions) (FNS PRINTTFTP \TFTP.PRINT.ACK \TFTP.PRINT.DATA \TFTP.PRINT.ERROR \TFTP.PRINT.REQUEST)) (P (\TFTP.INIT)))) (RECORD TFTPCON (UDPSOCKET DESTSOCKET STREAM HOST)) (ACCESSFNS TFTP ((TFTPBASE (fetch (UDP UDPCONTENTS) of DATUM))) (BLOCKRECORD TFTPBASE ((OPCODE WORD) ( BLOCK# WORD))) (ACCESSFNS TFTP ((TFTPCONTENTS (\ADDBASE (fetch (UDP UDPCONTENTS) of DATUM) (FOLDHI \TFTPOVLEN BYTESPERWORD))))) (BLOCKRECORD TFTPBASE ((NIL WORD) (ERRORCODE WORD)))) (ACCESSFNS TFTPSTREAM ((TFTPCON (fetch (STREAM F1) of DATUM) (replace (STREAM F1) of DATUM with NEWVALUE)) (LASTPACKETIN (fetch (STREAM F2) of DATUM) (replace (STREAM F2) of DATUM with NEWVALUE)))) (RPAQQ \TFTPOVLEN 4) (RPAQQ \TFTP.SOCKET 69) (CONSTANTS (\TFTPOVLEN 4) (\TFTP.SOCKET 69)) (RPAQQ TFTPOPCODES ((\TFTP.RRQ 1) (\TFTP.WRQ 2) (\TFTP.DATA 3) (\TFTP.ACK 4) (\TFTP.ERROR 5))) (RPAQQ \TFTP.RRQ 1) (RPAQQ \TFTP.WRQ 2) (RPAQQ \TFTP.DATA 3) (RPAQQ \TFTP.ACK 4) (RPAQQ \TFTP.ERROR 5) (CONSTANTS (\TFTP.RRQ 1) (\TFTP.WRQ 2) (\TFTP.DATA 3) (\TFTP.ACK 4) (\TFTP.ERROR 5)) (RPAQ? TFTP.MAXRETRIES 20) (RPAQQ \TFTP.SERVER.CONNECTIONS NIL) (FILESLOAD (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) TCPUDP) (RPAQQ \TFTP.SERVER.CONNECTIONS NIL) (\TFTP.INIT) (PUTPROPS TCPTFTP COPYRIGHT ("Xerox Corporation" 1985)) NIL