(FILECREATED "12-Mar-85 13:37:01" ("compiled on " {ERIS}LIBRARY>TFTP.;5) " 7-Mar-85 12:37:06" tcompl'd in "INTERLISP-D 7-Mar-85 ..." dated " 7-Mar-85 12:42:22") (FILECREATED "10-Feb-85 00:15:37" {ERIS}LIBRARY>TFTP.;4 16721 changes to: (VARS TFTPCOMS \TFTPOVLEN \TFTP.ERROR \TFTP.ACK \TFTP.DATA \TFTP.WRQ \TFTP.RRQ \TFTP.SOCKET TFTPOPCODES) (FNS \TFTP.OPENFILE TFTP.PUT TFTP.GET \TFTP.CLOSEFILE \TFTP.GETNEXTBUFFER \TFTP.ACKNOWLEDGE \TFTP.INIT \TFTP.SETUP \TFTP.ERROR \TFTP.INPUT.BUFFER \TFTP.EOFP \TFTP.READP) (RECORDS TFTPCON TFTP TFTPSTREAM) previous date: " 9-Feb-85 21:31:49" {ERIS}LIBRARY>TFTP.;1) \TFTP.ACKNOWLEDGE D1 (P 1 ACK P 0 TFTPCON I 1 ACK# I 0 STREAM) :@ IHlg IA HI @ g@H (67Q UDP.CLOSE.SOCKET 44Q \GETACCESS 40Q UDP.SEND 32Q UDP.APPEND.WORD 25Q \TFTP.SETUP 10Q \ALLOCATE.ETHERPACKET) (56Q STREAM 47Q 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 23Q NBYTES P 22Q ACK# P 21Q BUFFER P 20Q I P 2 UDP P 1 IPSOCKET P 0 TFTPCON I 2 NOERRORFLG I 1 WHATFOR I 0 STREAM) )@ HAdgƿ@ @ @ @hB@ `kO O.J+I` Z@d[lKC O k_ Jd[\lLC@]lMC@J^lNC J @J @d_lOC igA@@ BJh@!@_lOC_$@O"_lOCllO"_&O"O&l O"_lOCO&l nO&@i`kO OJIO" O k_ JdO_lOCl8J_lOCO$J hZJ_lOCO$O&n-JHl JO$k J_lOCn @J @h@ H ioA (1046Q ERROR 1034Q UDP.CLOSE.SOCKET 1026Q \SETACCESS 1010Q \TFTP.INPUT.BUFFER 757Q UDP.APPEND.WORD 746Q \TFTP.SETUP 672Q \RELEASE.ETHERPACKET 573Q UDP.EXCHANGE 353Q \SETACCESS 326Q \TFTP.ACKNOWLEDGE 275Q \TFTP.INPUT.BUFFER 265Q \RELEASE.ETHERPACKET 260Q \TFTP.ACKNOWLEDGE 160Q \TFTP.ACKNOWLEDGE 127Q UDP.GET 77Q BLOCK 73Q \EOF.ACTION 53Q \RELEASE.ETHERPACKET 42Q \SETACCESS) (1016Q STREAM 550Q \MAXETHERTRIES 541Q STREAM 426Q STREAM 377Q STREAM 366Q STREAM 344Q STREAM 333Q WRITE 303Q STREAM 216Q STREAM 137Q STREAM 124Q \ETHERTIMEOUT 102Q \MAXETHERTRIES 57Q STREAM 46Q STREAM 32Q STREAM 20Q READ 3 STREAM) ( 1042Q "Illegal ACCESS") \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 Rd-HlHCdlVg RHlHCjST SV SWTRHlHCRTl Rk RHlHCdnSR STU cIkYFdlZVgtRHlHCk_ST SV SWTRHlHCSR Sk S$lR oRHlHC ci(674Q ERROR 642Q \TFTP.ERROR 626Q \TFTP.ACKNOWLEDGE 620Q \TFTP.INPUT.BUFFER 554Q \SETACCESS 462Q UDP.EXCHANGE 447Q \TFTP.INPUT.BUFFER 410Q UDP.APPEND.WORD 402Q \TFTP.SETUP 334Q \SETACCESS 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) (561Q STREAM 543Q STREAM 507Q INPUT 341Q STREAM 323Q STREAM 257Q OUTPUT 172Q \MAXETHERTRIES 142Q BINARY 130Q TYPE 75Q } 46Q OUTPUT 36Q INPUT 2 \TFTP.OPENFILEA0027A0028) ( 650Q "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.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.GETA0001A0002 D1 (I 0 STREAM F 0 RESETSTATE) P @ @ (14Q DELFILE 6 CLOSEF) NIL () TFTP.GETA0001A0003 D1 (I 0 STREAM F 0 RESETSTATE) P@ (6 CLOSEF) NIL () TFTP.GETA0001 D1 (NAME ERRORSET F 0 FROM F 1 TO F 2 RESETVARSLST F 3 EOLCONVENTION F 4 TYPE F 5 PARAMETERS F 6 RESETY) iQgghTdh cgQhhhRcPggU cgPhhhRcSPSPQ P P Q c i(143Q FULLNAME 140Q CLOSEF 133Q CLOSEF 126Q OPENP 121Q 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 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.GETA0001 17Q FASSOC 6 FASSOC) (47Q ERROR 36Q INTERNAL 13Q TYPE 2 EOLCONVENTION) ( 33Q (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)) (PRETTYCOMPRINT TFTPCOMS) (RPAQQ TFTPCOMS ((COMS (* Trivial File Transfer Protocol) (GLOBALVARS \TFTP.DEVICE) (RECORDS TFTPCON TFTP TFTPSTREAM) (CONSTANTS (\TFTPOVLEN 4) (\TFTP.SOCKET 69)) (CONSTANTS * TFTPOPCODES) (FNS \TFTP.ACKNOWLEDGE \TFTP.CLOSEFILE \TFTP.EOFP \TFTP.ERROR \TFTP.GETNEXTBUFFER \TFTP.INIT \TFTP.INPUT.BUFFER \TFTP.OPENFILE \TFTP.READP \TFTP.SETUP) (FILES (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) UDP)) (COMS (* User functions) (FNS TFTP.GET TFTP.PUT)) (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)) (FILESLOAD (SYSLOAD FROM VALUEOF LISPUSERSDIRECTORIES) UDP) (\TFTP.INIT) (PUTPROPS TFTP COPYRIGHT ("Xerox Corporation" 1985)) NIL