1
0
mirror of synced 2026-04-03 13:23:47 +00:00

Compare commits

..

1 Commits

Author SHA1 Message Date
rmkaplan
bb47828fcc Fix copy/delete for {UNIX} directories 2026-03-31 11:09:21 -07:00
10 changed files with 671 additions and 624 deletions

View File

@@ -1,14 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "26-Mar-2026 18:38:22"  (FILECREATED "22-Feb-2026 14:15:31" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;27| 7420
|{DSK}<Users>briggs>Projects>medley>internal>loadups>LOADUP-LISP.;14| 7604
:EDIT-BY "briggs" :EDIT-BY |rmk|
:CHANGES-TO (FNS LOADUP-LISP) :CHANGES-TO (FNS LOADUP-LISP)
:PREVIOUS-DATE "22-Feb-2026 14:15:31" :PREVIOUS-DATE "22-Feb-2026 09:49:23" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;26|)
|{DSK}<Users>briggs>Projects>medley>internal>loadups>LOADUP-LISP.;13|)
(PRETTYCOMPRINT LOADUP-LISPCOMS) (PRETTYCOMPRINT LOADUP-LISPCOMS)
@@ -21,8 +19,7 @@
(DEFINEQ (DEFINEQ
(LOADUP-LISP (LOADUP-LISP
(LAMBDA (DRIBBLEFILE) (* \; "Edited 26-Mar-2026 18:38 by briggs") (LAMBDA (DRIBBLEFILE) (* \; "Edited 22-Feb-2026 14:15 by rmk")
(* \; "Edited 22-Feb-2026 14:15 by rmk")
(* \; "Edited 28-Jan-2026 14:30 by lmm") (* \; "Edited 28-Jan-2026 14:30 by lmm")
(* \; "Edited 27-Dec-2025 15:02 by rmk") (* \; "Edited 27-Dec-2025 15:02 by rmk")
(* \; "Edited 16-Oct-2025 16:55 by rmk") (* \; "Edited 16-Oct-2025 16:55 by rmk")
@@ -138,7 +135,6 @@
(LOADUP '(PUP 10MBDRIVER LEAF LLETHER DPUPFTP LOCALFILE DSKDISPLAY COURIER LLNS TRSERVER SPP (LOADUP '(PUP 10MBDRIVER LEAF LLETHER DPUPFTP LOCALFILE DSKDISPLAY COURIER LLNS TRSERVER SPP
NSPRINT AUTHENTICATION BSP CLEARINGHOUSE NSFILING MAIKOETHER)) NSPRINT AUTHENTICATION BSP CLEARINGHOUSE NSFILING MAIKOETHER))
(RESTART.ETHER)
(DRIBBLE) (DRIBBLE)
(SETQ MAKESYSNAME :MEDLEY))) (SETQ MAKESYSNAME :MEDLEY)))
) )
@@ -151,5 +147,5 @@
(GLOBALVARS MAKESYSFILENAME MEDLEY-INIT-VARS MEDLEYDIR SYSTEMINITVARS USERRECLST) (GLOBALVARS MAKESYSFILENAME MEDLEY-INIT-VARS MEDLEYDIR SYSTEMINITVARS USERRECLST)
) )
(DECLARE\: DONTCOPY (DECLARE\: DONTCOPY
(FILEMAP (NIL (695 7398 (LOADUP-LISP 705 . 7396))))) (FILEMAP (NIL (640 7214 (LOADUP-LISP 650 . 7212)))))
STOP STOP

Binary file not shown.

View File

@@ -1,12 +1,12 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 10)
(FILECREATED "10-Feb-2026 21:28:55" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;286 138607 (FILECREATED "31-Mar-2026 10:50:22" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;287 138875
:EDIT-BY rmk :EDIT-BY rmk
:CHANGES-TO (FNS CD-MENUFN) :CHANGES-TO (FNS CDBROWSER-COPY)
:PREVIOUS-DATE " 8-Nov-2025 13:07:39" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;285) :PREVIOUS-DATE "10-Feb-2026 21:28:55" {WMEDLEY}<lispusers>COMPAREDIRECTORIES.;286)
(PRETTYCOMPRINT COMPAREDIRECTORIESCOMS) (PRETTYCOMPRINT COMPAREDIRECTORIESCOMS)
@@ -2146,7 +2146,8 @@
NIL]) NIL])
(CDBROWSER-COPY (CDBROWSER-COPY
[LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 28-Oct-2025 17:39 by rmk") [LAMBDA (CDBROWSER TBITEM SOURCE UNIXDEST) (* ; "Edited 31-Mar-2026 10:49 by rmk")
(* ; "Edited 28-Oct-2025 17:39 by rmk")
(* ; "Edited 25-Oct-2025 23:58 by rmk") (* ; "Edited 25-Oct-2025 23:58 by rmk")
(* ; "Edited 24-May-2022 15:49 by rmk") (* ; "Edited 24-May-2022 15:49 by rmk")
(* ; "Edited 25-Apr-2022 09:24 by rmk") (* ; "Edited 25-Apr-2022 09:24 by rmk")
@@ -2202,8 +2203,10 @@
(CL:UNLESS DESTFILE (CL:UNLESS DESTFILE
(SETQ DESTFILE (CD-SWAPDIRS SOURCEFILE SOURCEDIR DESTDIR))) (SETQ DESTFILE (CD-SWAPDIRS SOURCEFILE SOURCEDIR DESTDIR)))
[SETQ RESULT (if UNIXDEST [SETQ RESULT (if UNIXDEST
then (SPUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER) then (CL:WHEN (INFILEP DESTFILE)
'ORIGINALFILES DESTFILE (COPYFILE DESTFILE '{NODIRCORE)) (SPUTMULTI (fetch (TABLEBROWSER TBUSERDATA) of CDBROWSER)
'ORIGINALFILES DESTFILE (COPYFILE DESTFILE
'{NODIRCORE})))
[PSEUDOFILENAME (PACKFILENAME 'HOST 'DSK 'BODY [PSEUDOFILENAME (PACKFILENAME 'HOST 'DSK 'BODY
(COPYFILE SOURCEFILE (PACKFILENAME (COPYFILE SOURCEFILE (PACKFILENAME
'HOST 'HOST
@@ -2323,25 +2326,25 @@
(MOVD? 'NILL 'TEDIT.FILEDATE) (MOVD? 'NILL 'TEDIT.FILEDATE)
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(FILEMAP (NIL (2653 23632 (COMPAREDIRECTORIES 2663 . 7998) (COMPAREDIRECTORIES.INFOS 8000 . 11229) ( (FILEMAP (NIL (2658 23637 (COMPAREDIRECTORIES 2668 . 8003) (COMPAREDIRECTORIES.INFOS 8005 . 11234) (
COMPAREDIRECTORIES.CANDIDATES 11231 . 14616) (CDENTRIES.SELECT 14618 . 19520) ( COMPAREDIRECTORIES.CANDIDATES 11236 . 14621) (CDENTRIES.SELECT 14623 . 19525) (
COMPAREDIRECTORIES.INFOS.TYPE 19522 . 20866) (MATCHNAME 20868 . 21548) (CD.INSURECDVALUE 21550 . 23164 COMPAREDIRECTORIES.INFOS.TYPE 19527 . 20871) (MATCHNAME 20873 . 21553) (CD.INSURECDVALUE 21555 . 23169
) (CD.UPDATEWIDTHS 23166 . 23630)) (23633 34338 (CDFILES 23643 . 29740) (CDFILES.MATCH 29742 . 31367) ) (CD.UPDATEWIDTHS 23171 . 23635)) (23638 34343 (CDFILES 23648 . 29745) (CDFILES.MATCH 29747 . 31372)
(CDFILES.PATS 31369 . 34336)) (34339 52357 (CDPRINT 34349 . 36866) (CDPRINT.HEADER 36868 . 37765) ( (CDFILES.PATS 31374 . 34341)) (34344 52362 (CDPRINT 34354 . 36871) (CDPRINT.HEADER 36873 . 37770) (
CDPRINT.LINE 37767 . 41196) (CDPRINT.MAXWIDTHS 41198 . 45313) (CDPRINT.COLHEADERS 45315 . 46600) ( CDPRINT.LINE 37772 . 41201) (CDPRINT.MAXWIDTHS 41203 . 45318) (CDPRINT.COLHEADERS 45320 . 46605) (
CDPRINT.COLUMNS 46602 . 51722) (CDTEDIT 51724 . 52355)) (52358 61479 (CDMAP 52368 . 53800) (CDENTRY CDPRINT.COLUMNS 46607 . 51727) (CDTEDIT 51729 . 52360)) (52363 61484 (CDMAP 52373 . 53805) (CDENTRY
53802 . 54111) (CDSUBSET 54113 . 55552) (CDMERGE 55554 . 59538) (CDMERGE.COMMON 59540 . 60855) ( 53807 . 54116) (CDSUBSET 54118 . 55557) (CDMERGE 55559 . 59543) (CDMERGE.COMMON 59545 . 60860) (
CD.SORT 60857 . 61477)) (61480 69018 (BINCOMP 61490 . 65779) (EOLTYPE 65781 . 68343) (EOLTYPE.SHOW CD.SORT 60862 . 61482)) (61485 69023 (BINCOMP 61495 . 65784) (EOLTYPE 65786 . 68348) (EOLTYPE.SHOW
68345 . 69016)) (69546 82073 (FIND-UNCOMPILED-FILES 69556 . 73199) (FIND-UNSOURCED-FILES 73201 . 75585 68350 . 69021)) (69551 82078 (FIND-UNCOMPILED-FILES 69561 . 73204) (FIND-UNSOURCED-FILES 73206 . 75590
) (FIND-SOURCE-FILES 75587 . 77325) (FIND-COMPILED-FILES 77327 . 79204) (FIND-UNLOADED-FILES 79206 . ) (FIND-SOURCE-FILES 75592 . 77330) (FIND-COMPILED-FILES 77332 . 79209) (FIND-UNLOADED-FILES 79211 .
80059) (FIND-LOADED-FILES 80061 . 80489) (FIND-MULTICOMPILED-FILES 80491 . 82071)) (82074 90505 ( 80064) (FIND-LOADED-FILES 80066 . 80494) (FIND-MULTICOMPILED-FILES 80496 . 82076)) (82079 90510 (
CREATED-AS 82084 . 86881) (SOURCE-FOR-COMPILED-P 86883 . 89810) (COMPILE-SOURCE-DATE-DIFF 89812 . CREATED-AS 82089 . 86886) (SOURCE-FOR-COMPILED-P 86888 . 89815) (COMPILE-SOURCE-DATE-DIFF 89817 .
90503)) (90506 101269 (FIX-DIRECTORY-DATES 90516 . 93966) (FIX-EQUIV-DATES 93968 . 95493) ( 90508)) (90511 101274 (FIX-DIRECTORY-DATES 90521 . 93971) (FIX-EQUIV-DATES 93973 . 95498) (
COPY-COMPARED-FILES 95495 . 97316) (COPY-MISSING-FILES 97318 . 99475) (COMPILED-ON-SAME-SOURCE 99477 COPY-COMPARED-FILES 95500 . 97321) (COPY-MISSING-FILES 97323 . 99480) (COMPILED-ON-SAME-SOURCE 99482
. 101267)) (101463 109341 (CDBROWSER 101473 . 105440) (CDBROWSER.STRINGS 105442 . 109339)) (109503 . 101272)) (101468 109346 (CDBROWSER 101478 . 105445) (CDBROWSER.STRINGS 105447 . 109344)) (109508
111239 (CD.TABLEITEM 109513 . 109733) (CD.TABLEITEM.PRINTFN 109735 . 109934) (CD.TABLEITEM.COPYFN 111244 (CD.TABLEITEM 109518 . 109738) (CD.TABLEITEM.PRINTFN 109740 . 109939) (CD.TABLEITEM.COPYFN
109936 . 110994) (CDTABLEBROWSER.HEADING.REPAINTFN 110996 . 111237)) (111240 138091 ( 109941 . 110999) (CDTABLEBROWSER.HEADING.REPAINTFN 111001 . 111242)) (111245 138359 (
CDTABLEBROWSER.WHENSELECTEDFN 111250 . 111718) (CD.COMMANDSELECTEDFN 111720 . 117893) (CD-MENUFN CDTABLEBROWSER.WHENSELECTEDFN 111255 . 111723) (CD.COMMANDSELECTEDFN 111725 . 117898) (CD-MENUFN
117895 . 124372) (CD-COMPARE-FILES 124374 . 127901) (CDBROWSER-COPY 127903 . 132965) ( 117900 . 124377) (CD-COMPARE-FILES 124379 . 127906) (CDBROWSER-COPY 127908 . 133233) (
CDBROWSER-DELETE-FILE 132967 . 137570) (CD-SWAPDIRS 137572 . 138089))))) CDBROWSER-DELETE-FILE 133235 . 137838) (CD-SWAPDIRS 137840 . 138357)))))
STOP STOP

Binary file not shown.

View File

@@ -1,13 +1,15 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 3-May-2021 23:13:56" {DSK}<home>larry>ilisp>medley>sources>LLETHER.;4 139646
(FILECREATED "23-Jan-2026 12:42:02" {DSK}<Users>briggs>PROJECTS>Medley>sources>LLETHER.;4 138728 changes to%: (FNS \ETHEREVENTFN \ETHER-AVAILABLE)
(VARS LLETHERCOMS)
:EDIT-BY nhb previous date%: " 2-May-2021 12:37:02" {DSK}<home>larry>ilisp>medley>sources>LLETHER.;3)
:CHANGES-TO (FNS \SETETHERFLAGS)
:PREVIOUS-DATE "20-Dec-2025 14:12:06" {DSK}<Users>briggs>PROJECTS>Medley>sources>LLETHER.;3)
(* ; "
Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT LLETHERCOMS) (PRETTYCOMPRINT LLETHERCOMS)
@@ -15,19 +17,19 @@
[(DECLARE%: EVAL@COMPILE DONTCOPY (FILES (SOURCE) [(DECLARE%: EVAL@COMPILE DONTCOPY (FILES (SOURCE)
LLNSDECLS)) LLNSDECLS))
[COMS (* ; [COMS (* ;
 "Stuff that should be somewhere else!")  "Stuff that should be somewhere else!")
(INITVARS (ERRORMESSAGESTREAM T) (INITVARS (ERRORMESSAGESTREAM T)
(PROMPTWINDOW T)) (PROMPTWINDOW T))
(GLOBALVARS ERRORMESSAGESTREAM PROMPTWINDOW) (GLOBALVARS ERRORMESSAGESTREAM PROMPTWINDOW)
(COMS (* ; (COMS (* ;
 "Queue management for data which can be chain-linked through the first cell")  "Queue management for data which can be chain-linked through the first cell")
(DECLARE%: DONTCOPY (EXPORT (RECORDS SYSQUEUE QABLEITEM) (DECLARE%: DONTCOPY (EXPORT (RECORDS SYSQUEUE QABLEITEM)
(MACROS \QUEUEHEAD))) (MACROS \QUEUEHEAD)))
(INITRECORDS SYSQUEUE) (INITRECORDS SYSQUEUE)
(SYSRECORDS SYSQUEUE) (SYSRECORDS SYSQUEUE)
(FNS CANONICAL.HOSTNAME \ENQUEUE \DEQUEUE \QUEUELENGTH \ONQUEUE \UNQUEUE) (FNS CANONICAL.HOSTNAME \ENQUEUE \DEQUEUE \QUEUELENGTH \ONQUEUE \UNQUEUE)
(* ; (* ;
 "Queue management constructed by TCONC")  "Queue management constructed by TCONC")
(EXPORT (MACROS \DETCONC \ENTCONC \PEEKTCONC] (EXPORT (MACROS \DETCONC \ENTCONC \PEEKTCONC]
(COMS (* ; "General packet management") (COMS (* ; "General packet management")
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
@@ -122,7 +124,7 @@
(DECLARE%: EVAL@COMPILE DONTCOPY (GLOBALVARS \CENTICLOCKFACTOR \CENTICLOCKBOX) (DECLARE%: EVAL@COMPILE DONTCOPY (GLOBALVARS \CENTICLOCKFACTOR \CENTICLOCKBOX)
(RECORDS CENTICLOCK))) (RECORDS CENTICLOCK)))
(COMS (* ; (COMS (* ;
 "3MB stuff, which is not needed in DandeLion")  "3MB stuff, which is not needed in DandeLion")
(FNS \3MBGETPACKET \3MB.CREATENDB \3MBSENDPACKET \3MBWATCHER \3MBENCAPSULATE (FNS \3MBGETPACKET \3MB.CREATENDB \3MBSENDPACKET \3MBWATCHER \3MBENCAPSULATE
\3MB.BROADCASTP \3MBFLUSH) \3MB.BROADCASTP \3MBFLUSH)
(INITVARS (\MAXWATCHERGETS 5)) (INITVARS (\MAXWATCHERGETS 5))
@@ -166,18 +168,19 @@
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(DATATYPE SYSQUEUE ((NIL BYTE) (DATATYPE SYSQUEUE ((NIL BYTE)
(SYSQUEUEHEAD POINTER) (SYSQUEUEHEAD POINTER)
(NIL BYTE) (NIL BYTE)
(SYSQUEUETAIL POINTER))) (SYSQUEUETAIL POINTER)))
(BLOCKRECORD QABLEITEM ((NIL BITS 4) (BLOCKRECORD QABLEITEM ((NIL BITS 4)
(QLINK POINTER) (* ; (QLINK POINTER) (* ;
 "Link to next thing in queue always in first pointer of datum, independent of what the datum is")  "Link to next thing in queue always in first pointer of datum, independent of what the datum is")
) )
(BLOCKRECORD QABLEITEM ((NIL BITS 4) (BLOCKRECORD QABLEITEM ((NIL BITS 4)
(LINK POINTER)(* ; (LINK POINTER)
 "Let's also be able to call it a LINK") (* ;
)))  "Let's also be able to call it a LINK")
)))
) )
(/DECLAREDATATYPE 'SYSQUEUE '(BYTE POINTER BYTE POINTER) (/DECLAREDATATYPE 'SYSQUEUE '(BYTE POINTER BYTE POINTER)
@@ -189,7 +192,7 @@
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(PUTPROPS \QUEUEHEAD MACRO ((Q) (PUTPROPS \QUEUEHEAD MACRO ((Q)
(fetch (SYSQUEUE SYSQUEUEHEAD) of Q))) (fetch (SYSQUEUE SYSQUEUEHEAD) of Q)))
) )
(* "END EXPORTED DEFINITIONS") (* "END EXPORTED DEFINITIONS")
@@ -205,9 +208,9 @@
(ADDTOVAR SYSTEMRECLST (ADDTOVAR SYSTEMRECLST
(DATATYPE SYSQUEUE ((NIL BYTE) (DATATYPE SYSQUEUE ((NIL BYTE)
(SYSQUEUEHEAD POINTER) (SYSQUEUEHEAD POINTER)
(NIL BYTE) (NIL BYTE)
(SYSQUEUETAIL POINTER))) (SYSQUEUETAIL POINTER)))
) )
(DEFINEQ (DEFINEQ
@@ -359,9 +362,9 @@
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(PUTPROPS \DETCONC MACRO [OPENLAMBDA (TQ) (PUTPROPS \DETCONC MACRO [OPENLAMBDA (TQ)
(PROG1 (\PEEKTCONC TQ) (PROG1 (\PEEKTCONC TQ)
(if [NULL (CAR (RPLACA TQ (CDAR TQ] (if [NULL (CAR (RPLACA TQ (CDAR TQ]
then (RPLACD TQ)))]) then (RPLACD TQ)))])
(PUTPROPS \ENTCONC MACRO (= . TCONC)) (PUTPROPS \ENTCONC MACRO (= . TCONC))
@@ -379,48 +382,48 @@
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(DATATYPE ETHERPACKET ((NIL BYTE) (DATATYPE ETHERPACKET ((NIL BYTE)
(EPLINK POINTER) (* ; "For queue maintenence") (EPLINK POINTER) (* ; "For queue maintenence")
(EPFLAGS BYTE) (* ; (EPFLAGS BYTE) (* ;
 "optional flags for some applications")  "optional flags for some applications")
(EPUSERFIELD POINTER) (* ; (EPUSERFIELD POINTER) (* ;
 "Arbitrary pointer for applications")  "Arbitrary pointer for applications")
(NIL BYTE) (NIL BYTE)
(EPPLIST POINTER) (* ; (EPPLIST POINTER) (* ;
 "Extra field for use as an A-list for properties")  "Extra field for use as an A-list for properties")
(EPTRANSMITTING FLAG) (* ; (EPTRANSMITTING FLAG) (* ;
 "True while packet is being transmitted and hence cannot be reused")  "True while packet is being transmitted and hence cannot be reused")
(EPRECEIVING FLAG) (* ; (EPRECEIVING FLAG) (* ;
 "True when a packet has been seen at the head of the network's input queue at least once")  "True when a packet has been seen at the head of the network's input queue at least once")
(NIL BITS 6) (NIL BITS 6)
(EPREQUEUE POINTER) (* ; (EPREQUEUE POINTER) (* ;
 "Where to requeue this packet after transmission")  "Where to requeue this packet after transmission")
(NIL BYTE) (NIL BYTE)
(EPSOCKET POINTER) (EPSOCKET POINTER)
(NIL BYTE) (NIL BYTE)
(EPNETWORK POINTER) (EPNETWORK POINTER)
(EPTYPE WORD) (* ; (EPTYPE WORD) (* ;
 "Type of packet to be encapsulated (PUP or XIP or 10TO3)")  "Type of packet to be encapsulated (PUP or XIP or 10TO3)")
(NIL WORD) (NIL WORD)
(EPTIMESTAMP FIXP) (* ; (EPTIMESTAMP FIXP) (* ;
 "Gets RCLK value when transmitted/received")  "Gets RCLK value when transmitted/received")
(EPREQUEUEFN POINTER) (* ; "FN to perform requeueing") (EPREQUEUEFN POINTER) (* ; "FN to perform requeueing")
(NIL 4 WORD) (* ; "Space for expansion") (NIL 4 WORD) (* ; "Space for expansion")
(* ; (* ;
 "Note: This next field wants to be quad+2 aligned so that the 10mb packet is quad+3 aligned")  "Note: This next field wants to be quad+2 aligned so that the 10mb packet is quad+3 aligned")
(EPENCAPSULATION 8 WORD) (* ; (EPENCAPSULATION 8 WORD) (* ;
 "10mb encapsulation, or 3mb encapsulation with padding")  "10mb encapsulation, or 3mb encapsulation with padding")
(EPBODY 289 WORD) (* ; (EPBODY 289 WORD) (* ;
 "Body of packet, header up to 16 words plus data up to 546 bytes")  "Body of packet, header up to 16 words plus data up to 546 bytes")
)) ))
(ACCESSFNS ETHERAUX ((AUXPTR (CDR (ASSOC 'AUXPTR (fetch EPPLIST of DATUM))) (ACCESSFNS ETHERAUX ((AUXPTR (CDR (ASSOC 'AUXPTR (fetch EPPLIST of DATUM)))
(\EP.PUT.AUX DATUM 'AUXPTR NEWVALUE)) (\EP.PUT.AUX DATUM 'AUXPTR NEWVALUE))
(AUXWORD (OR (CDR (ASSOC 'AUXWORD (fetch EPPLIST of DATUM))) (AUXWORD (OR (CDR (ASSOC 'AUXWORD (fetch EPPLIST of DATUM)))
0) 0)
(\EP.PUT.AUX DATUM 'AUXWORD NEWVALUE)) (\EP.PUT.AUX DATUM 'AUXWORD NEWVALUE))
(AUXBYTE (OR (CDR (ASSOC 'AUXBYTE (fetch EPPLIST of DATUM))) (AUXBYTE (OR (CDR (ASSOC 'AUXBYTE (fetch EPPLIST of DATUM)))
0) 0)
(\EP.PUT.AUX DATUM 'AUXBYTE NEWVALUE)))) (\EP.PUT.AUX DATUM 'AUXBYTE NEWVALUE))))
) )
(/DECLAREDATATYPE 'ETHERPACKET (/DECLAREDATATYPE 'ETHERPACKET
@@ -1137,26 +1140,26 @@
(ADDTOVAR SYSTEMRECLST (ADDTOVAR SYSTEMRECLST
(DATATYPE ETHERPACKET ((NIL BYTE) (DATATYPE ETHERPACKET ((NIL BYTE)
(EPLINK POINTER) (EPLINK POINTER)
(EPFLAGS BYTE) (EPFLAGS BYTE)
(EPUSERFIELD POINTER) (EPUSERFIELD POINTER)
(NIL BYTE) (NIL BYTE)
(EPPLIST POINTER) (EPPLIST POINTER)
(EPTRANSMITTING FLAG) (EPTRANSMITTING FLAG)
(EPRECEIVING FLAG) (EPRECEIVING FLAG)
(NIL BITS 6) (NIL BITS 6)
(EPREQUEUE POINTER) (EPREQUEUE POINTER)
(NIL BYTE) (NIL BYTE)
(EPSOCKET POINTER) (EPSOCKET POINTER)
(NIL BYTE) (NIL BYTE)
(EPNETWORK POINTER) (EPNETWORK POINTER)
(EPTYPE WORD) (EPTYPE WORD)
(NIL WORD) (NIL WORD)
(EPTIMESTAMP FIXP) (EPTIMESTAMP FIXP)
(EPREQUEUEFN POINTER) (EPREQUEUEFN POINTER)
(NIL 4 WORD) (NIL 4 WORD)
(EPENCAPSULATION 8 WORD) (EPENCAPSULATION 8 WORD)
(EPBODY 289 WORD))) (EPBODY 289 WORD)))
) )
(DEFINEQ (DEFINEQ
@@ -1496,19 +1499,21 @@
HOSTNAMEP _ 'NILL]) HOSTNAMEP _ 'NILL])
(\ETHEREVENTFN (\ETHEREVENTFN
[LAMBDA (DEV EVENT) (* ; "Edited 17-Dec-2025 11:01 by nhb") [LAMBDA (DEV EVENT) (* ; "Edited 3-May-2021 23:12 by larry")
(* ; "Edited 3-May-2021 23:12 by larry")
(PROG (NDB TURNOFFNS TIMESET) (PROG (NDB TURNOFFNS TIMESET)
(SELECTQ EVENT (SELECTQ EVENT
((NIL AFTERLOGOUT AFTERSYSOUT AFTERMAKESYS AFTERSAVEVM RESTART) ((NIL AFTERLOGOUT AFTERSYSOUT AFTERMAKESYS AFTERSAVEVM RESTART)
(SETQ \PUP.READY (SETQ \NS.READY (SETQ \IP.READY))) (SETQ \PUP.READY (SETQ \NS.READY (SETQ \IP.READY)))
(OR (\ETHER-AVAILABLE)
(RETURN))
(\SETETHERFLAGS) (\SETETHERFLAGS)
(\SETLOCALNSNUMBERS) (\SETLOCALNSNUMBERS)
(\FLUSHNDBS EVENT) (\FLUSHNDBS EVENT)
(SETQ \10MBLOCALNDB (COND (SETQ \10MBLOCALNDB (COND
(\10MBFLG (SETQ NDB (\10MB.CREATENDB \10MBFLG)) (\10MBFLG (SETQ NDB (\10MB.CREATENDB \10MBFLG))
(COND (COND
(\LOCALNDBS (replace NDBNEXT of \LOCALNDBS (\LOCALNDBS (replace NDBNEXT of
\LOCALNDBS
with NDB)) with NDB))
(T (SETQ \LOCALNDBS NDB))) (T (SETQ \LOCALNDBS NDB)))
NDB))) NDB)))
@@ -1531,10 +1536,10 @@
((BEFOREMAKESYS BEFORELOGOUT BEFORESYSOUT BEFORESAVEVM) ((BEFOREMAKESYS BEFORELOGOUT BEFORESYSOUT BEFORESAVEVM)
(COND (COND
((EQ EVENT 'BEFORESAVEVM) (* ; ((EQ EVENT 'BEFORESAVEVM) (* ;
 "Save passwords in place outside vmem to avoid having to reenter them later")  "Save passwords in place outside vmem to avoid having to reenter them later")
(\STASH.PASSWORDS)) (\STASH.PASSWORDS))
(T (* ; (T (* ;
 "No need to flush this before SAVEVM")  "No need to flush this before SAVEVM")
(CLRHASH \ETHERPORTS))) (CLRHASH \ETHERPORTS)))
(CLRHASH LOGINPASSWORDS)) (CLRHASH LOGINPASSWORDS))
NIL]) NIL])
@@ -1551,13 +1556,11 @@
(printout PROMPTWINDOW T "[Time not set]"]) (printout PROMPTWINDOW T "[Time not set]"])
(\SETETHERFLAGS (\SETETHERFLAGS
[LAMBDA NIL (* ; "Edited 23-Jan-2026 12:39 by nhb") [LAMBDA NIL (* ; "Edited 2-May-2021 12:35 by larry")
(* ; "Edited 2-May-2021 12:35 by larry")
(* ;; "for Medley there is no 3MB ethernet ; used to be conditional on \MACHINETYPE") (* ;; "for Medley there is no 3MB ethernet ; used to be conditional on \MACHINETYPE")
(SETQ \10MBFLG (AND (\ETHER-AVAILABLE) (SETQ \10MBFLG 0)
0))
(SETQ \3MBFLG NIL) (SETQ \3MBFLG NIL)
(SETQ *MAXIMUM-PACKET-SIZE* (- (TIMES 2 BYTESPERPAGE) (SETQ *MAXIMUM-PACKET-SIZE* (- (TIMES 2 BYTESPERPAGE)
(UNFOLD (INDEXF (FETCH EPBODY)) (UNFOLD (INDEXF (FETCH EPBODY))
@@ -1703,40 +1706,40 @@
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(DATATYPE NDB ((NETTYPE BYTE) (* ; "10 or 3 for now") (DATATYPE NDB ((NETTYPE BYTE) (* ; "10 or 3 for now")
(NDBNEXT POINTER) (* ; "Link to next NDB") (NDBNEXT POINTER) (* ; "Link to next NDB")
(NDBPUPNET# BYTE) (* ; (NDBPUPNET# BYTE) (* ;
 "Pup number of this net. May be different from NS net number, though not in Xerox world")  "Pup number of this net. May be different from NS net number, though not in Xerox world")
(NDBNSNET# POINTER) (* ; (NDBNSNET# POINTER) (* ;
 "Can be 32-bits, so might as well leave its box around")  "Can be 32-bits, so might as well leave its box around")
(NDBTASK# BYTE) (* ; "Task # of this network") (NDBTASK# BYTE) (* ; "Task # of this network")
(NDBBROADCASTP POINTER) (* ; (NDBBROADCASTP POINTER) (* ;
 "Function that returns true if packet is of broadcast type")  "Function that returns true if packet is of broadcast type")
(NDBPUPHOST# BYTE) (* ; (NDBPUPHOST# BYTE) (* ;
 "My pup address on this net. NS address is global to all nets, so not needed here")  "My pup address on this net. NS address is global to all nets, so not needed here")
(NDBTRANSMITTER POINTER) (* ; (NDBTRANSMITTER POINTER) (* ;
 "(NDB PACKET) -- fn to send a raw packet on this net. returns NIL on failure")  "(NDB PACKET) -- fn to send a raw packet on this net. returns NIL on failure")
(NIL BYTE) (NIL BYTE)
(NDBENCAPSULATOR POINTER) (* ; (NDBENCAPSULATOR POINTER) (* ;
 "(NDB PACKET HOST LENGTH TYPE) -- fn to encapsulate and send a higher-level packet on this net ")  "(NDB PACKET HOST LENGTH TYPE) -- fn to encapsulate and send a higher-level packet on this net ")
(NDBCSB POINTER) (* ; "Pointer to CSB for this network") (NDBCSB POINTER) (* ; "Pointer to CSB for this network")
(NDBIQLENGTH BYTE) (NDBIQLENGTH BYTE)
(NDBIQ POINTER) (* ; (NDBIQ POINTER) (* ;
 "Queue of empty packets for receiver")  "Queue of empty packets for receiver")
(NDBTQ POINTER) (* ; "Queue of packets to transmit") (NDBTQ POINTER) (* ; "Queue of packets to transmit")
(NDBTRANSLATIONS POINTER) (* ; (NDBTRANSLATIONS POINTER) (* ;
 "Cache of translations, 3:10 or 10:3 according to network")  "Cache of translations, 3:10 or 10:3 according to network")
(NDBETHERFLUSHER POINTER) (* ; "Turns off this ether. Args NDB") (NDBETHERFLUSHER POINTER) (* ; "Turns off this ether. Args NDB")
(NDBWATCHER POINTER) (NDBWATCHER POINTER)
(NDBCANHEARSELF POINTER) (* ; (NDBCANHEARSELF POINTER) (* ;
 "True if receiver can hear packets sent by transmitter")  "True if receiver can hear packets sent by transmitter")
(NDBIPNET# POINTER) (NDBIPNET# POINTER)
(NDBIPHOST# POINTER) (NDBIPHOST# POINTER)
(NDBPUPTYPE WORD) (* ; (NDBPUPTYPE WORD) (* ;
 "The packet encapsulation of PUP on this net")  "The packet encapsulation of PUP on this net")
(NIL WORD) (NIL WORD)
(NIL POINTER) (* ; "Spares") (NIL POINTER) (* ; "Spares")
)) ))
(RECORD ROUTING (RTNET# RTHOPCOUNT RTGATEWAY# RTNDB RTTIMER RTRECENT)) (RECORD ROUTING (RTNET# RTHOPCOUNT RTGATEWAY# RTNDB RTTIMER RTRECENT))
) )
@@ -1783,24 +1786,26 @@
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(PUTPROPS ENCAPSULATE.ETHERPACKET MACRO ((NDB PACKET HOST LENGTH TYPE) (PUTPROPS ENCAPSULATE.ETHERPACKET MACRO ((NDB PACKET HOST LENGTH TYPE)
(SPREADAPPLY* (fetch NDBENCAPSULATOR of NDB) (SPREADAPPLY* (fetch NDBENCAPSULATOR
NDB PACKET HOST LENGTH TYPE))) of NDB)
NDB PACKET HOST LENGTH TYPE)))
(PUTPROPS TRANSMIT.ETHERPACKET MACRO ((NDB PACKET) (PUTPROPS TRANSMIT.ETHERPACKET MACRO ((NDB PACKET)
(SPREADAPPLY* (fetch NDBTRANSMITTER of NDB) (SPREADAPPLY* (fetch NDBTRANSMITTER of NDB)
NDB PACKET))) NDB PACKET)))
(PUTPROPS BROADCASTP MACRO ((PACKET) (PUTPROPS BROADCASTP MACRO ((PACKET)
([LAMBDA (NDB) ([LAMBDA (NDB)
(AND NDB (APPLY* (fetch NDBBROADCASTP of NDB) (AND NDB (APPLY* (fetch NDBBROADCASTP of NDB)
PACKET NDB] PACKET NDB]
(fetch EPNETWORK of PACKET)))) (fetch EPNETWORK of PACKET))))
(PUTPROPS \CHECK.ROUTING.TABLE MACRO [(TABLE) (PUTPROPS \CHECK.ROUTING.TABLE MACRO [(TABLE)
(if (NEQ (NTYPX TABLE) (if (NEQ (NTYPX TABLE)
\ROUTING.TABLE.TYPENUM) \ROUTING.TABLE.TYPENUM)
then (CL:ERROR 'CONDITIONS:SIMPLE-TYPE-ERROR :CULPRIT TABLE then (CL:ERROR 'CONDITIONS:SIMPLE-TYPE-ERROR
:EXPECTED-TYPE 'RoutingTable]) :CULPRIT TABLE :EXPECTED-TYPE
'RoutingTable])
) )
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1846,28 +1851,28 @@
(ADDTOVAR SYSTEMRECLST (ADDTOVAR SYSTEMRECLST
(DATATYPE NDB ((NETTYPE BYTE) (DATATYPE NDB ((NETTYPE BYTE)
(NDBNEXT POINTER) (NDBNEXT POINTER)
(NDBPUPNET# BYTE) (NDBPUPNET# BYTE)
(NDBNSNET# POINTER) (NDBNSNET# POINTER)
(NDBTASK# BYTE) (NDBTASK# BYTE)
(NDBBROADCASTP POINTER) (NDBBROADCASTP POINTER)
(NDBPUPHOST# BYTE) (NDBPUPHOST# BYTE)
(NDBTRANSMITTER POINTER) (NDBTRANSMITTER POINTER)
(NIL BYTE) (NIL BYTE)
(NDBENCAPSULATOR POINTER) (NDBENCAPSULATOR POINTER)
(NDBCSB POINTER) (NDBCSB POINTER)
(NDBIQLENGTH BYTE) (NDBIQLENGTH BYTE)
(NDBIQ POINTER) (NDBIQ POINTER)
(NDBTQ POINTER) (NDBTQ POINTER)
(NDBTRANSLATIONS POINTER) (NDBTRANSLATIONS POINTER)
(NDBETHERFLUSHER POINTER) (NDBETHERFLUSHER POINTER)
(NDBWATCHER POINTER) (NDBWATCHER POINTER)
(NDBCANHEARSELF POINTER) (NDBCANHEARSELF POINTER)
(NDBIPNET# POINTER) (NDBIPNET# POINTER)
(NDBIPHOST# POINTER) (NDBIPHOST# POINTER)
(NDBPUPTYPE WORD) (NDBPUPTYPE WORD)
(NIL WORD) (NIL WORD)
(NIL POINTER))) (NIL POINTER)))
) )
(DEFINEQ (DEFINEQ
@@ -2226,49 +2231,48 @@
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(ACCESSFNS ETHERTRANS [(TRANSBODY (LOCF (fetch (ETHERPACKET EPBODY) of DATUM] (ACCESSFNS ETHERTRANS [(TRANSBODY (LOCF (fetch (ETHERPACKET EPBODY) of DATUM]
[BLOCKRECORD TRANSBODY ((TRANSOPERATION WORD) [BLOCKRECORD TRANSBODY ((TRANSOPERATION WORD)
(* ; "Request or response") (* ; "Request or response")
(BASETRANSNSHOST 3 WORD) (BASETRANSNSHOST 3 WORD)
(* ; "Known or desired NS address") (* ; "Known or desired NS address")
(TRANSPUPHOST BYTE) (TRANSPUPHOST BYTE)
(* ; "Known or desired PUP address") (* ; "Known or desired PUP address")
(NIL BYTE) (* ; "Padding") (NIL BYTE) (* ; "Padding")
(BASETRANSSENDERNSHOST 3 WORD) (BASETRANSSENDERNSHOST 3 WORD)
(* ; "Sender's info") (* ; "Sender's info")
(TRANSSENDERPUPHOST BYTE) (TRANSSENDERPUPHOST BYTE)
(NIL BYTE)) (NIL BYTE))
[ACCESSFNS BASETRANSNSHOST ((TRANSNSHOST (\LOADNSHOSTNUMBER (LOCF DATUM) [ACCESSFNS BASETRANSNSHOST ((TRANSNSHOST (\LOADNSHOSTNUMBER
) (LOCF DATUM))
(\STORENSHOSTNUMBER (LOCF DATUM) (\STORENSHOSTNUMBER (LOCF DATUM)
NEWVALUE] NEWVALUE]
(ACCESSFNS BASETRANSSENDERNSHOST ((TRANSSENDERNSHOST (\LOADNSHOSTNUMBER (ACCESSFNS BASETRANSSENDERNSHOST ((TRANSSENDERNSHOST
(LOCF DATUM)) (\LOADNSHOSTNUMBER (LOCF DATUM))
(\STORENSHOSTNUMBER (\STORENSHOSTNUMBER (LOCF DATUM)
(LOCF DATUM) NEWVALUE]
NEWVALUE] [ACCESSFNS ETHERTRANS
[ACCESSFNS ETHERTRANS ([TRANSNSADDRESS
([TRANSNSADDRESS (PROGN (* ; (PROGN (* ;
 "Kludge to get a pointer that looks like a full ns address")  "Kludge to get a pointer that looks like a full ns address")
(\ADDBASE (\ADDBASE DATUM (CONSTANT (+ (INDEXF (FETCH
DATUM (ETHERPACKET EPBODY)
(CONSTANT (+ (INDEXF (FETCH (ETHERPACKET EPBODY of T))
) (INDEXF (FETCH
of T)) (ETHERTRANS
(INDEXF (FETCH (ETHERTRANS
BASETRANSNSHOST BASETRANSNSHOST
) ) of
of T)) T))
-2] -2]
(TRANSSENDERNSADDRESS (\ADDBASE (TRANSSENDERNSADDRESS
DATUM (\ADDBASE DATUM (CONSTANT (+ (INDEXF (FETCH (ETHERPACKET
(CONSTANT (+ (INDEXF (FETCH (ETHERPACKET EPBODY) EPBODY)
of T)) of T))
(INDEXF (FETCH (ETHERTRANS (INDEXF (FETCH (ETHERTRANS
BASETRANSSENDERNSHOST BASETRANSSENDERNSHOST
) )
of T)) of T))
-2] -2]
(TYPE? (type? ETHERPACKET DATUM))) (TYPE? (type? ETHERPACKET DATUM)))
) )
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
@@ -2567,7 +2571,7 @@
(RPAQ? \RAWTRACING ) (RPAQ? \RAWTRACING )
(ADDTOVAR \PACKET.PRINTERS (512 . PRINTPUP) (ADDTOVAR \PACKET.PRINTERS (512 . PRINTPUP)
(1537 . PRINT10TO3)) (1537 . PRINT10TO3))
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS \RAWTRACING \PACKET.PRINTERS PUPTRACEFILE XIPTRACEFILE \RCLKMILLISECOND) (GLOBALVARS \RAWTRACING \PACKET.PRINTERS PUPTRACEFILE XIPTRACEFILE \RCLKMILLISECOND)
@@ -2611,7 +2615,7 @@
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(BLOCKRECORD CENTICLOCK ((CENTICLOCKSIGNBIT BITS 1) (BLOCKRECORD CENTICLOCK ((CENTICLOCKSIGNBIT BITS 1)
(CENTICLOCKMAGNITUDE BITS 31))) (CENTICLOCKMAGNITUDE BITS 31)))
) )
) )
@@ -2753,41 +2757,43 @@
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(ACCESSFNS 3MBENCAPSULATION [(3MBENCAPSTART (LOCF (fetch (ETHERPACKET EPENCAPSULATION) of DATUM] (ACCESSFNS 3MBENCAPSULATION [(3MBENCAPSTART (LOCF (fetch (ETHERPACKET EPENCAPSULATION)
(BLOCKRECORD 3MBENCAPSTART ((NIL 5 WORD) of DATUM]
(BLOCKRECORD 3MBENCAPSTART ((NIL 5 WORD)
(* ; "waste space") (* ; "waste space")
(3MBLENGTH WORD) (3MBLENGTH WORD)
(* ; (* ;
 "Length of packet in words, starting at the next word")  "Length of packet in words, starting at the next word")
(3MBDESTHOST BYTE) (3MBDESTHOST BYTE)
(* ; "Immediate destination host") (* ; "Immediate destination host")
(3MBSOURCEHOST BYTE) (3MBSOURCEHOST BYTE)
(* ; "Us") (* ; "Us")
(3MBTYPE WORD) (3MBTYPE WORD)
(* ; (* ;
 "Type of packet -- PUP or XIP or 10TO3")  "Type of packet -- PUP or XIP or 10TO3")
) )
[ACCESSFNS 3MBLENGTH ((3MBBASE (LOCF DATUM] [ACCESSFNS 3MBLENGTH ((3MBBASE (LOCF DATUM]
(* ; "What to hand to BCPL") (* ; "What to hand to BCPL")
) )
(TYPE? (type? ETHERPACKET DATUM))) (TYPE? (type? ETHERPACKET DATUM)))
(BLOCKRECORD PBI ((PBILINK WORD) (BLOCKRECORD PBI ((PBILINK WORD)
(PBIQUEUE WORD) (PBIQUEUE WORD)
(PBISOCKET WORD) (PBISOCKET WORD)
(PBINDB WORD) (PBINDB WORD)
(PBIINPUTP FLAG) (PBIINPUTP FLAG)
(PBIALLNETSP FLAG) (PBIALLNETSP FLAG)
(PBINOZEROP FLAG) (PBINOZEROP FLAG)
(NIL BITS 13) (NIL BITS 13)
(PBITIMER WORD) (PBITIMER WORD)
(PBILENGTH WORD) (PBILENGTH WORD)
(PBIENCAPSULATION 2 WORD) (PBIENCAPSULATION 2 WORD)
(PBIFIRSTPUPWORD 10 WORD) (PBIFIRSTPUPWORD 10 WORD)
(PBIFIRSTPUPDATAWORD WORD)) (PBIFIRSTPUPDATAWORD WORD))
[ACCESSFNS PBI ((PBIPUPSTART (LOCF (fetch PBIFIRSTPUPWORD of DATUM))) [ACCESSFNS PBI ((PBIPUPSTART (LOCF (fetch PBIFIRSTPUPWORD of DATUM)))
(PBIPUPDATASTART (LOCF (fetch PBIFIRSTPUPDATAWORD of DATUM))) (PBIPUPDATASTART (LOCF (fetch PBIFIRSTPUPDATAWORD
(PBIRAWSTART (LOCF (fetch PBILENGTH of DATUM]) of DATUM)))
(PBIRAWSTART (LOCF (fetch PBILENGTH of DATUM])
) )
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
@@ -2873,8 +2879,8 @@
T]) T])
) )
(RPAQQ ROUTINGINFOMACRO (1 "Operation = " WORDS 2 "Info: " REPEAT "(" SEPR ", " INTEGER -4 WORDS SEPR (RPAQQ ROUTINGINFOMACRO (1 "Operation = " WORDS 2 "Info: " REPEAT "(" SEPR ", " INTEGER -4 WORDS
") " -2 FINALLY ")")) SEPR ") " -2 FINALLY ")"))
(DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: EVAL@COMPILE DONTCOPY
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -2907,10 +2913,10 @@
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(RPAQQ D0DEVICES ((\DEVICE.3MBETHERIN 7) (RPAQQ D0DEVICES ((\DEVICE.3MBETHERIN 7)
(\DEVICE.3MBETHEROUT 6) (\DEVICE.3MBETHEROUT 6)
(\DEVICE.10MBETHER 21) (\DEVICE.10MBETHER 21)
(\DEVICE.SA4000 3) (\DEVICE.SA4000 3)
(\DEVICE.DISPLAY 2))) (\DEVICE.DISPLAY 2)))
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(RPAQQ \DEVICE.3MBETHERIN 7) (RPAQQ \DEVICE.3MBETHERIN 7)
@@ -2941,31 +2947,33 @@
(* "END EXPORTED DEFINITIONS") (* "END EXPORTED DEFINITIONS")
) )
(PUTPROPS LLETHER COPYRIGHT ("Venue & Xerox Corporation" 1982 1983 1984 1985 1986 1987 1988 1990 1991
1992 1993 2021))
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(FILEMAP (NIL (10585 19041 (CANONICAL.HOSTNAME 10595 . 12184) (\ENQUEUE 12186 . 14831) (\DEQUEUE 14833 (FILEMAP (NIL (10792 19248 (CANONICAL.HOSTNAME 10802 . 12391) (\ENQUEUE 12393 . 15038) (\DEQUEUE 15040
. 16160) (\QUEUELENGTH 16162 . 16462) (\ONQUEUE 16464 . 16730) (\UNQUEUE 16732 . 19039)) (52600 56466 . 16367) (\QUEUELENGTH 16369 . 16669) (\ONQUEUE 16671 . 16937) (\UNQUEUE 16939 . 19246)) (52949 56815
(\ALLOCATE.ETHERPACKET 52610 . 53651) (\RELEASE.ETHERPACKET 53653 . 54726) (RELEASE.PUP 54728 . 54873 (\ALLOCATE.ETHERPACKET 52959 . 54000) (\RELEASE.ETHERPACKET 54002 . 55075) (RELEASE.PUP 55077 . 55222
) (\FLUSH.PACKET.QUEUE 54875 . 55226) (\REQUEUE.ETHERPACKET 55228 . 55742) (\EP.PUT.AUX 55744 . 56464) ) (\FLUSH.PACKET.QUEUE 55224 . 55575) (\REQUEUE.ETHERPACKET 55577 . 56091) (\EP.PUT.AUX 56093 . 56813)
) (57040 68421 (\SETLOCALNSNUMBERS 57050 . 58435) (\LOADNSADDRESS 58437 . 58729) (\STORENSADDRESS ) (57389 68770 (\SETLOCALNSNUMBERS 57399 . 58784) (\LOADNSADDRESS 58786 . 59078) (\STORENSADDRESS
58731 . 58912) (\PRINTNSADDRESS 58914 . 59997) (\NSADDRESS.DEFPRINT 59999 . 64944) ( 59080 . 59261) (\PRINTNSADDRESS 59263 . 60346) (\NSADDRESS.DEFPRINT 60348 . 65293) (
\NSADDRESS.PRINT.DECIMAL 64946 . 67077) (\LOADNSHOSTNUMBER 67079 . 67708) (\STORENSHOSTNUMBER 67710 . \NSADDRESS.PRINT.DECIMAL 65295 . 67426) (\LOADNSHOSTNUMBER 67428 . 68057) (\STORENSHOSTNUMBER 68059 .
68114) (PRINTNSHOSTNUMBER 68116 . 68419)) (68534 74394 (\ETHERINIT 68544 . 69114) (\ETHEREVENTFN 69116 68463) (PRINTNSHOSTNUMBER 68465 . 68768)) (68883 74631 (\ETHERINIT 68893 . 69463) (\ETHEREVENTFN 69465
. 71594) (\ETHER-AVAILABLE 71596 . 71754) (\TIME.NOT.SET 71756 . 72082) (\SETETHERFLAGS 72084 . 72701 . 71997) (\ETHER-AVAILABLE 71999 . 72157) (\TIME.NOT.SET 72159 . 72485) (\SETETHERFLAGS 72487 . 72938
) (\FLUSHNDBS 72703 . 73881) (\FLUSH.NDB.QUEUE 73883 . 74392)) (74395 77687 (\CHECKSUM 74405 . 76337) ) (\FLUSHNDBS 72940 . 74118) (\FLUSH.NDB.QUEUE 74120 . 74629)) (74632 77924 (\CHECKSUM 74642 . 76574)
(\HANDLE.RAW.OTHER 76339 . 76694) (\HANDLE.RAW.PACKET 76696 . 77208) (\ADD.PACKET.FILTER 77210 . 77442 (\HANDLE.RAW.OTHER 76576 . 76931) (\HANDLE.RAW.PACKET 76933 . 77445) (\ADD.PACKET.FILTER 77447 . 77679
) (\DEL.PACKET.FILTER 77444 . 77685)) (85191 85716 (ENCAPSULATE.ETHERPACKET 85201 . 85473) ( ) (\DEL.PACKET.FILTER 77681 . 77922)) (85757 86282 (ENCAPSULATE.ETHERPACKET 85767 . 86039) (
TRANSMIT.ETHERPACKET 85475 . 85714)) (86004 98600 (\AGE.ROUTING.TABLE 86014 . 88163) ( TRANSMIT.ETHERPACKET 86041 . 86280)) (86570 99166 (\AGE.ROUTING.TABLE 86580 . 88729) (
\ADD.ROUTING.TABLE.ENTRY 88165 . 88861) (\CLEAR.ROUTING.TABLE 88863 . 89590) (\MAP.ROUTING.TABLE 89592 \ADD.ROUTING.TABLE.ENTRY 88731 . 89427) (\CLEAR.ROUTING.TABLE 89429 . 90156) (\MAP.ROUTING.TABLE 90158
. 90120) (PRINTROUTINGTABLE 90122 . 93747) (\ROUTINGTABLE.INFOHOOK 93749 . 98598)) (99085 105870 ( . 90686) (PRINTROUTINGTABLE 90688 . 94313) (\ROUTINGTABLE.INFOHOOK 94315 . 99164)) (99651 106436 (
\TRANSLATE.10TO3 99095 . 100879) (\NOTE.10TO3 100881 . 102497) (\HANDLE.RAW.10TO3 102499 . 105868)) ( \TRANSLATE.10TO3 99661 . 101445) (\NOTE.10TO3 101447 . 103063) (\HANDLE.RAW.10TO3 103065 . 106434)) (
109860 124682 (PRINTPACKET 109870 . 110431) (\MAYBEPRINTPACKET 110433 . 112090) (PRINT10TO3 112092 . 110418 125240 (PRINTPACKET 110428 . 110989) (\MAYBEPRINTPACKET 110991 . 112648) (PRINT10TO3 112650 .
113460) (PRINTPACKETDATA 113462 . 118752) (PRINTPACKETQUEUE 118754 . 119183) (TIME.SINCE.PACKET 119185 114018) (PRINTPACKETDATA 114020 . 119310) (PRINTPACKETQUEUE 119312 . 119741) (TIME.SINCE.PACKET 119743
. 119670) (MAKE-NETWORK-TRACE-WINDOW 119672 . 123214) (\CHANGE.ETHER.TRACING 123216 . 124680)) ( . 120228) (MAKE-NETWORK-TRACE-WINDOW 120230 . 123772) (\CHANGE.ETHER.TRACING 123774 . 125238)) (
125049 125864 (\CENTICLOCK 125059 . 125862)) (126315 132415 (\3MBGETPACKET 126325 . 127745) ( 125611 126426 (\CENTICLOCK 125621 . 126424)) (126881 132981 (\3MBGETPACKET 126891 . 128311) (
\3MB.CREATENDB 127747 . 128462) (\3MBSENDPACKET 128464 . 130647) (\3MBWATCHER 130649 . 131387) ( \3MB.CREATENDB 128313 . 129028) (\3MBSENDPACKET 129030 . 131213) (\3MBWATCHER 131215 . 131953) (
\3MBENCAPSULATE 131389 . 131937) (\3MB.BROADCASTP 131939 . 132110) (\3MBFLUSH 132112 . 132413)) ( \3MBENCAPSULATE 131955 . 132503) (\3MB.BROADCASTP 132505 . 132676) (\3MBFLUSH 132678 . 132979)) (
135157 137100 (ASSURE.ETHER.ON 135167 . 135497) (INITPUPLEVEL1 135499 . 135979) (TURN.ON.ETHER 135981 135935 137878 (ASSURE.ETHER.ON 135945 . 136275) (INITPUPLEVEL1 136277 . 136757) (TURN.ON.ETHER 136759
. 136126) (RESTART.ETHER 136128 . 136502) (TURN.OFF.ETHER 136504 . 136822) (PRINTWORDS 136824 . . 136904) (RESTART.ETHER 136906 . 137280) (TURN.OFF.ETHER 137282 . 137600) (PRINTWORDS 137602 .
137098)) (137371 137906 (\DEVICE.INPUT 137381 . 137546) (\DEVICE.OUTPUT 137548 . 137742) (\D0.STARTIO 137876)) (138153 138688 (\DEVICE.INPUT 138163 . 138328) (\DEVICE.OUTPUT 138330 . 138524) (\D0.STARTIO
137744 . 137904))))) 138526 . 138686)))))
STOP STOP

Binary file not shown.

View File

@@ -1,14 +1,14 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "30-Dec-2025 19:09:34" |{DSK}<Users>briggs>projects>medley>sources>MAIKOETHER.;7| 26899 (FILECREATED "25-Oct-2021 15:12:33" |{DSK}<home>larry>medley>sources>MAIKOETHER.;2| 28792
:EDIT-BY |nhb| |changes| |to:| (FNS \\DISPLAYLINE)
(VARS MAIKOETHERCOMS)
:CHANGES-TO (VARS MAIKOETHERCOMS) |previous| |date:| "25-Mar-2021 09:50:57" |{DSK}<home>larry>medley>sources>MAIKOETHER.;1|)
:PREVIOUS-DATE "30-Dec-2025 18:50:46" |{DSK}<Users>briggs>projects>medley>sources>MAIKOETHER.;6|
)
; Copyright (c) 1988-1991, 2021 by Venue & Xerox Corporation.
(PRETTYCOMPRINT MAIKOETHERCOMS) (PRETTYCOMPRINT MAIKOETHERCOMS)
@@ -23,6 +23,10 @@
(DECLARE\: EVAL@COMPILE DONTCOPY (FILES (LOADCOMP) (DECLARE\: EVAL@COMPILE DONTCOPY (FILES (LOADCOMP)
10MBDRIVER) 10MBDRIVER)
(GLOBALVARS \\MAIKO.INPUT.PACKET |\\ETHERtopMonitor|) (GLOBALVARS \\MAIKO.INPUT.PACKET |\\ETHERtopMonitor|)
(* |;;| "The NDB for Maiko's 10MB connection; used by \\MAIKO.ETHER-INTERRUPT:")
(GLOBALVARS \\MAIKO.10MB.NDB)
(GLOBALVARS \\MAIKO.IO-INTERRUPT-FLAGS \\MAIKO.IO-INTERRUPT-VECTOR)) (GLOBALVARS \\MAIKO.IO-INTERRUPT-FLAGS \\MAIKO.IO-INTERRUPT-VECTOR))
(ADDVARS (\\MAIKO.MOVDS (\\MAIKO.10MBSTARTDRIVER \\10MB.STARTDRIVER) (ADDVARS (\\MAIKO.MOVDS (\\MAIKO.10MBSTARTDRIVER \\10MB.STARTDRIVER)
(\\MAIKO.10MBWATCHER \\10MBWATCHER) (\\MAIKO.10MBWATCHER \\10MBWATCHER)
@@ -31,13 +35,9 @@
(\\MAIKO.10MBTURNONETHER \\10MB.TURNONETHER) (\\MAIKO.10MBTURNONETHER \\10MB.TURNONETHER)
(\\MAIKO.ETHERRESUME \\10MB.RESTART.ETHER) (\\MAIKO.ETHERRESUME \\10MB.RESTART.ETHER)
(\\MAIKO.CHECKSUM \\CHECKSUM))) (\\MAIKO.CHECKSUM \\CHECKSUM)))
(COMS (COMS (* \; "MAIKO handler for new interrupt-driven incoming ethernet communication, rather than polling for it.")
(* |;;| "MAIKO handler for new interrupt-driven incoming ethernet communication, rather than polling for it.")
(FNS \\MAIKO.ETHER-INTERRUPT)) (FNS \\MAIKO.ETHER-INTERRUPT))
(COMS (COMS (* \; "MAIKO Log & Console message handling. Interrupt-driven message printing, instead of polled printing.")
(* |;;| "MAIKO Log & Console message handling. Interrupt-driven message printing, instead of polled printing.")
(FNS \\MAIKO.CONSOLE-LOG-PRINT)) (FNS \\MAIKO.CONSOLE-LOG-PRINT))
(COMS (COMS
(* |;;| "Asynchronous I/O handling") (* |;;| "Asynchronous I/O handling")
@@ -48,12 +48,13 @@
(DEFINEQ (DEFINEQ
(\\10MB.RESTART.ETHER (\\10MB.RESTART.ETHER
(LAMBDA NIL (* \; "Edited 11-May-88 16:09 by MASINTER") (LAMBDA NIL (* \; "Edited 11-May-88 16:09 by MASINTER")
(SUBRCALL ETHER-RESUME))) (SUBRCALL ETHER-RESUME)))
(\\10MB.STARTDRIVER (\\10MB.STARTDRIVER
(LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* \; "Edited 5-Apr-89 15:03 by snow") (LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* \; "Edited 5-Apr-89 15:03 by snow")
(DECLARE (GLOBALVARS \\MAIKO.INPUT.PACKET \\10MB.EXPECTED.RECEIVE.INTERVAL \\10MB.INPUT.TIMEOUT)) (DECLARE (GLOBALVARS \\MAIKO.INPUT.PACKET \\10MB.EXPECTED.RECEIVE.INTERVAL
\\10MB.INPUT.TIMEOUT))
(SUBRCALL ETHER-SUSPEND) (SUBRCALL ETHER-SUSPEND)
(OR (\\INIT.ETHER.BUFFER.POOL) (OR (\\INIT.ETHER.BUFFER.POOL)
(ERROR "Unable to create buffer pool")) (ERROR "Unable to create buffer pool"))
@@ -64,17 +65,21 @@
0 0) 0 0)
(PROG ((CSB (|fetch| NDBCSB |of| NDB))) (PROG ((CSB (|fetch| NDBCSB |of| NDB)))
(OR \\MAIKO.INPUT.PACKET (SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET))) (OR \\MAIKO.INPUT.PACKET (SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET)))
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING) (|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with|
(SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of| \\MAIKO.INPUT.PACKET)) \\ES.PENDING)
(|replace| NDBWATCHER |of| NDB |with| (ADD.PROCESS (LIST '\\10MBWATCHER (KWOTE NDB)) (SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of|
'RESTARTABLE \\MAIKO.INPUT.PACKET
'SYSTEM ))
'AFTEREXIT (|replace| NDBWATCHER |of| NDB |with| (ADD.PROCESS (LIST '\\10MBWATCHER
'DELETE)) (KWOTE NDB))
'RESTARTABLE
'SYSTEM
'AFTEREXIT
'DELETE))
(RETURN NDB)))) (RETURN NDB))))
(\\10MB.TURNOFFETHER (\\10MB.TURNOFFETHER
(LAMBDA NIL (* \; "Edited 11-May-88 16:11 by MASINTER") (LAMBDA NIL (* \; "Edited 11-May-88 16:11 by MASINTER")
(SUBRCALL ETHER-SUSPEND))) (SUBRCALL ETHER-SUSPEND)))
(\\10MB.TURNONETHER (\\10MB.TURNONETHER
@@ -87,16 +92,20 @@
(PROG ((CSB (|fetch| NDBCSB |of| NDB))) (PROG ((CSB (|fetch| NDBCSB |of| NDB)))
(\\MAIKO.ETHERSUSPEND) (\\MAIKO.ETHERSUSPEND)
(OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB (LOCF (|fetch| DLETHERNET |of| \\IOPAGE (OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB
))))) (LOCF (|fetch| DLETHERNET
|of| \\IOPAGE)))))
(|replace| DLFIRSTOCB |of| CSB |with| 0) (|replace| DLFIRSTOCB |of| CSB |with| 0)
(|replace| DLFIRSTICB |of| CSB |with| 0) (|replace| DLFIRSTICB |of| CSB |with| 0)
(AND NSHOSTNUMBER (COND (AND NSHOSTNUMBER (COND
((EQ NSHOSTNUMBER T) ((EQ NSHOSTNUMBER T)
(\\BLT (LOCF (|fetch| DLLOCALHOST0 |of| CSB)) (\\BLT (LOCF (|fetch| DLLOCALHOST0 |of| CSB))
(LOCF (|fetch| (IFPAGE |NSHost0|) |of| |\\InterfacePage|)) (LOCF (|fetch| (IFPAGE |NSHost0|) |of|
|\\InterfacePage|)
)
\\#WDS.NSHOSTNUMBER)) \\#WDS.NSHOSTNUMBER))
(T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of| CSB)) (T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of|
CSB))
NSHOSTNUMBER)))) NSHOSTNUMBER))))
(AND OUTINTERRUPT (|replace| DLOUTPUTMASK |of| CSB |with| OUTINTERRUPT)) (AND OUTINTERRUPT (|replace| DLOUTPUTMASK |of| CSB |with| OUTINTERRUPT))
(AND ININTERRUPT (|replace| DLINPUTMASK |of| CSB |with| ININTERRUPT)) (AND ININTERRUPT (|replace| DLINPUTMASK |of| CSB |with| ININTERRUPT))
@@ -108,7 +117,7 @@
(RETURN NDB)))) (RETURN NDB))))
(\\10MBSENDPACKET (\\10MBSENDPACKET
(LAMBDA (NDB PACKET) (* \; "Edited 11-May-88 16:10 by MASINTER") (LAMBDA (NDB PACKET) (* \; "Edited 11-May-88 16:10 by MASINTER")
(PROG NIL (PROG NIL
(COND (COND
(\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWPUT))) (\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWPUT)))
@@ -116,23 +125,23 @@
((OR (|fetch| 10MBMULTICASTP |of| PACKET) ((OR (|fetch| 10MBMULTICASTP |of| PACKET)
(EQNSADDRESS.HOST \\MY.NSADDRESS (|fetch| 10MBDESTHOSTBASE |of| PACKET))) (EQNSADDRESS.HOST \\MY.NSADDRESS (|fetch| 10MBDESTHOSTBASE |of| PACKET)))
(* \; (* \;
 "We would hear this packet if our hardware let us, so fake receipt")  "We would hear this packet if our hardware let us, so fake receipt")
(PROG ((COPYPACKET (\\ALLOCATE.ETHERPACKET))) (PROG ((COPYPACKET (\\ALLOCATE.ETHERPACKET)))
(\\BLT (LOCF (|fetch| 10MBLENGTH |of| COPYPACKET)) (\\BLT (LOCF (|fetch| 10MBLENGTH |of| COPYPACKET))
(LOCF (|fetch| 10MBLENGTH |of| PACKET)) (LOCF (|fetch| 10MBLENGTH |of| PACKET))
(ADD1 (|fetch| 10MBLENGTH |of| PACKET))) (ADD1 (|fetch| 10MBLENGTH |of| PACKET)))
(* \; (* \;
 "Copy all data that would have been transmitted")  "Copy all data that would have been transmitted")
(|replace| EPNETWORK |of| COPYPACKET |with| NDB) (|replace| EPNETWORK |of| COPYPACKET |with| NDB)
(|replace| EPTYPE |of| COPYPACKET (|replace| EPTYPE |of| COPYPACKET
|with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS |with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET)) |bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET))
|when| (EQ TYPE (CAR PAIR)) |do| |when| (EQ TYPE (CAR PAIR)) |do|
(* |;;| "TYPE is the raw type of the etherpacket. These do not always correspond one-to-one with the EPTYPE constants we use (in particular, for pups), so translate if necessary.") (* |;;| "TYPE is the raw type of the etherpacket. These do not always correspond one-to-one with the EPTYPE constants we use (in particular, for pups), so translate if necessary.")
(RETURN (CDR PAIR)) (RETURN (CDR PAIR))
|finally| (RETURN TYPE))) |finally| (RETURN TYPE)))
(COND (COND
(\\RAWTRACING (\\MAYBEPRINTPACKET COPYPACKET 'RAWGET))) (\\RAWTRACING (\\MAYBEPRINTPACKET COPYPACKET 'RAWGET)))
(\\HANDLE.RAW.PACKET COPYPACKET)))) (\\HANDLE.RAW.PACKET COPYPACKET))))
@@ -145,21 +154,20 @@
(RETURN T)))) (RETURN T))))
(\\10MBWATCHER (\\10MBWATCHER
(LAMBDA (NDB) (* \; "Edited 16-May-88 22:24 by MASINTER") (LAMBDA (NDB) (* \; "Edited 16-May-88 22:24 by MASINTER")
(* |;;| "merge message and packet reading") (* |;;| "merge message and packet reading")
(PROG ((CNTR 0) (PROG ((CNTR 0)
MESSAGE-BUFFER MESSAGE-LENGTH PACKET) MESSAGE-BUFFER MESSAGE-LENGTH PACKET)
LP (IF (SUBRCALL MESSAGE-READP) LP (IF (SUBRCALL MESSAGE-READP)
THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ (OR MESSAGE-BUFFER THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ
(SETQ (OR MESSAGE-BUFFER
MESSAGE-BUFFER (SETQ MESSAGE-BUFFER
(ALLOCSTRING (ALLOCSTRING 1024)))
1024))) 1024))
1024)) THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH)
THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH) ELSE "?? system message: polling failed")))
ELSE "?? system message: polling failed")))
(UNINTERRUPTABLY (UNINTERRUPTABLY
(SUBRCALL ETHER-CHECK) (SUBRCALL ETHER-CHECK)
(SETQ PACKET (\\MAIKO.INPUT.INTERRUPT NDB))) (SETQ PACKET (\\MAIKO.INPUT.INTERRUPT NDB)))
@@ -174,31 +182,31 @@
(GO LP)))) (GO LP))))
(\\MAIKO.10MBSENDPACKET (\\MAIKO.10MBSENDPACKET
(LAMBDA (NDB PACKET) (* \; "Edited 31-Oct-89 14:10 by bvm") (LAMBDA (NDB PACKET) (* \; "Edited 31-Oct-89 14:10 by bvm")
(PROG NIL (PROG NIL
(COND (COND
(\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWPUT))) (\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWPUT)))
(COND (COND
((OR (|fetch| 10MBMULTICASTP |of| PACKET) ((OR (|fetch| 10MBMULTICASTP |of| PACKET)
(EQNSADDRESS.HOST \\MY.NSADDRESS (|fetch| 10MBDESTNSADDRESSBASE |of| PACKET))) (EQNSADDRESS.HOST \\MY.NSADDRESS (|fetch| 10MBDESTNSADDRESSBASE |of| PACKET
(* \; )))(* \;
 "We would hear this packet if our hardware let us, so fake receipt")  "We would hear this packet if our hardware let us, so fake receipt")
(PROG ((COPYPACKET (\\ALLOCATE.ETHERPACKET))) (PROG ((COPYPACKET (\\ALLOCATE.ETHERPACKET)))
(\\BLT (LOCF (|fetch| 10MBLENGTH |of| COPYPACKET)) (\\BLT (LOCF (|fetch| 10MBLENGTH |of| COPYPACKET))
(LOCF (|fetch| 10MBLENGTH |of| PACKET)) (LOCF (|fetch| 10MBLENGTH |of| PACKET))
(ADD1 (|fetch| 10MBLENGTH |of| PACKET))) (ADD1 (|fetch| 10MBLENGTH |of| PACKET)))
(* \; (* \;
 "Copy all data that would have been transmitted")  "Copy all data that would have been transmitted")
(|replace| EPNETWORK |of| COPYPACKET |with| NDB) (|replace| EPNETWORK |of| COPYPACKET |with| NDB)
(|replace| EPTYPE |of| COPYPACKET (|replace| EPTYPE |of| COPYPACKET
|with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS |with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET)) |bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET))
|when| (EQ TYPE (CAR PAIR)) |do| |when| (EQ TYPE (CAR PAIR)) |do|
(* |;;| "TYPE is the raw type of the etherpacket. These do not always correspond one-to-one with the EPTYPE constants we use (in particular, for pups), so translate if necessary.") (* |;;| "TYPE is the raw type of the etherpacket. These do not always correspond one-to-one with the EPTYPE constants we use (in particular, for pups), so translate if necessary.")
(RETURN (CDR PAIR)) (RETURN (CDR PAIR))
|finally| (RETURN TYPE))) |finally| (RETURN TYPE)))
(COND (COND
(\\RAWTRACING (\\MAYBEPRINTPACKET COPYPACKET 'RAWGET))) (\\RAWTRACING (\\MAYBEPRINTPACKET COPYPACKET 'RAWGET)))
(\\HANDLE.RAW.PACKET COPYPACKET)))) (\\HANDLE.RAW.PACKET COPYPACKET))))
@@ -211,21 +219,20 @@
(RETURN T)))) (RETURN T))))
(\\MAIKO.10MBWATCHER (\\MAIKO.10MBWATCHER
(LAMBDA (NDB) (* \; "Edited 16-May-88 22:24 by MASINTER") (LAMBDA (NDB) (* \; "Edited 16-May-88 22:24 by MASINTER")
(* |;;| "merge message and packet reading") (* |;;| "merge message and packet reading")
(PROG ((CNTR 0) (PROG ((CNTR 0)
MESSAGE-BUFFER MESSAGE-LENGTH PACKET) MESSAGE-BUFFER MESSAGE-LENGTH PACKET)
LP (IF (SUBRCALL MESSAGE-READP) LP (IF (SUBRCALL MESSAGE-READP)
THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ (OR MESSAGE-BUFFER THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ
(SETQ (OR MESSAGE-BUFFER
MESSAGE-BUFFER (SETQ MESSAGE-BUFFER
(ALLOCSTRING (ALLOCSTRING 1024)))
1024))) 1024))
1024)) THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH)
THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH) ELSE "?? system message: polling failed")))
ELSE "?? system message: polling failed")))
(UNINTERRUPTABLY (UNINTERRUPTABLY
(SUBRCALL ETHER-CHECK) (SUBRCALL ETHER-CHECK)
(SETQ PACKET (\\MAIKO.INPUT.INTERRUPT NDB))) (SETQ PACKET (\\MAIKO.INPUT.INTERRUPT NDB)))
@@ -240,15 +247,15 @@
(GO LP)))) (GO LP))))
(\\MAIKO.ETHERRESUME (\\MAIKO.ETHERRESUME
(LAMBDA NIL (* \; "Edited 11-May-88 16:09 by MASINTER") (LAMBDA NIL (* \; "Edited 11-May-88 16:09 by MASINTER")
(SUBRCALL ETHER-RESUME))) (SUBRCALL ETHER-RESUME)))
(\\MAIKO.ETHERSUSPEND (\\MAIKO.ETHERSUSPEND
(LAMBDA NIL (* \; "Edited 11-May-88 16:11 by MASINTER") (LAMBDA NIL (* \; "Edited 11-May-88 16:11 by MASINTER")
(SUBRCALL ETHER-SUSPEND))) (SUBRCALL ETHER-SUSPEND)))
(\\MAIKO.INPUT.INTERRUPT (\\MAIKO.INPUT.INTERRUPT
(LAMBDA (NDB) (* \; "Edited 11-May-88 16:05 by MASINTER") (LAMBDA (NDB) (* \; "Edited 11-May-88 16:05 by MASINTER")
(* |;;| "This routine gets called when 10MB input signals an interrupt. See if the \\MAIKO.INPUT.PACKET has indeed been processed, and if so, take care of it") (* |;;| "This routine gets called when 10MB input signals an interrupt. See if the \\MAIKO.INPUT.PACKET has indeed been processed, and if so, take care of it")
@@ -259,38 +266,43 @@
(|replace| 10MBLENGTH |of| PACKET |with| LENGTH) (|replace| 10MBLENGTH |of| PACKET |with| LENGTH)
(\\RCLK (LOCF (|fetch| EPTIMESTAMP |of| PACKET))) (\\RCLK (LOCF (|fetch| EPTIMESTAMP |of| PACKET)))
(|replace| EPNETWORK |of| PACKET |with| NDB) (|replace| EPNETWORK |of| PACKET |with| NDB)
(|replace| EPTYPE |of| PACKET |with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS (|replace| EPTYPE |of| PACKET |with| (|for| PAIR |in|
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET)) \\10MBTYPE.TRANSLATIONS
|when| (EQ TYPE (CAR PAIR)) |bind| (TYPE _
|do| (RETURN (CDR PAIR)) (|fetch|
|finally| (RETURN TYPE))) 10MBTYPE
|of| PACKET
))
|when| (EQ TYPE (CAR PAIR))
|do| (RETURN (CDR PAIR))
|finally| (RETURN TYPE)))
(COND (COND
(\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWGET))) (\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWGET)))
(RETURN (PROG1 PACKET (RETURN (PROG1 PACKET
(SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET)) (SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET))
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING) (|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB)
(SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of| |with| \\ES.PENDING)
\\MAIKO.INPUT.PACKET (SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE
))))) |of| \\MAIKO.INPUT.PACKET))))
)
(T (RETURN NIL)))))) (T (RETURN NIL))))))
(\\NS.SETTIME (\\NS.SETTIME
(LAMBDA (RETFLG) (* \; "Edited 13-May-88 15:22 by MASINTER") (LAMBDA (RETFLG) (* \; "Edited 13-May-88 15:22 by MASINTER")
(CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG))) (CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG)))
(SETQ |\\TimeZoneComp| (SUBRCALL GETUNIXTIME 8 NIL))) (SETQ |\\TimeZoneComp| (SUBRCALL GETUNIXTIME 8 NIL)))
(\\PROCESS.RESET.TIMERS) (\\PROCESS.RESET.TIMERS)
(DAYTIME))) (DAYTIME)))
(\\PUP.SETTIME (\\PUP.SETTIME
(LAMBDA (RETFLG) (* \; "Edited 13-May-88 15:22 by MASINTER") (LAMBDA (RETFLG) (* \; "Edited 13-May-88 15:22 by MASINTER")
(CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG))) (CL:UNLESS (AND RETFLG (NOT (STRINGP RETFLG)))
(SETQ |\\TimeZoneComp| (SUBRCALL GETUNIXTIME 8 NIL))) (SETQ |\\TimeZoneComp| (SUBRCALL GETUNIXTIME 8 NIL)))
(\\PROCESS.RESET.TIMERS) (\\PROCESS.RESET.TIMERS)
(DAYTIME))) (DAYTIME)))
(\\MAIKO.10MBSTARTDRIVER (\\MAIKO.10MBSTARTDRIVER
(LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* \; "Edited 30-Dec-2025 18:50 by nhb") (LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* \; "Edited 4-May-91 15:50 by jds")
(* \; "Edited 4-May-91 15:50 by jds")
(* |;;| "Start the \"driver\" for the 10MB ethernet on Sun Medley. In particular, turn on the C ehternet code, queue up the first input packet, and start the \\10MBWATCHER process.") (* |;;| "Start the \"driver\" for the 10MB ethernet on Sun Medley. In particular, turn on the C ehternet code, queue up the first input packet, and start the \\10MBWATCHER process.")
@@ -300,11 +312,13 @@
(|replace| NDBTQ |of| NDB |with| (|create| SYSQUEUE)) (|replace| NDBTQ |of| NDB |with| (|create| SYSQUEUE))
(SETQ \\10MB.RAWPACKETQ (|create| SYSQUEUE)) (SETQ \\10MB.RAWPACKETQ (|create| SYSQUEUE))
(SETQ \\10MB.INPUT.TIMEOUT (TIMES \\RCLKSECOND \\10MB.EXPECTED.RECEIVE.INTERVAL)) (SETQ \\10MB.INPUT.TIMEOUT (TIMES \\RCLKSECOND \\10MB.EXPECTED.RECEIVE.INTERVAL))
(SETQ \\MAIKO.10MB.NDB NDB)
(\\10MB.TURNONETHER NDB NIL NIL (OR MYNSNUMBER T) (\\10MB.TURNONETHER NDB NIL NIL (OR MYNSNUMBER T)
0 0) 0 0)
(PROG ((CSB (|fetch| NDBCSB |of| NDB))) (PROG ((CSB (|fetch| NDBCSB |of| NDB)))
(OR \\MAIKO.INPUT.PACKET (SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET))) (OR \\MAIKO.INPUT.PACKET (SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET)))
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING) (|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with|
\\ES.PENDING)
(AND (SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of| (AND (SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of|
\\MAIKO.INPUT.PACKET \\MAIKO.INPUT.PACKET
)) ))
@@ -326,16 +340,20 @@
(PROG ((CSB (|fetch| NDBCSB |of| NDB))) (PROG ((CSB (|fetch| NDBCSB |of| NDB)))
(\\MAIKO.ETHERSUSPEND) (\\MAIKO.ETHERSUSPEND)
(OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB (LOCF (|fetch| DLETHERNET |of| \\IOPAGE (OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB
))))) (LOCF (|fetch| DLETHERNET
|of| \\IOPAGE)))))
(|replace| DLFIRSTOCB |of| CSB |with| 0) (|replace| DLFIRSTOCB |of| CSB |with| 0)
(|replace| DLFIRSTICB |of| CSB |with| 0) (|replace| DLFIRSTICB |of| CSB |with| 0)
(AND NSHOSTNUMBER (COND (AND NSHOSTNUMBER (COND
((EQ NSHOSTNUMBER T) ((EQ NSHOSTNUMBER T)
(\\BLT (LOCF (|fetch| DLLOCALHOST0 |of| CSB)) (\\BLT (LOCF (|fetch| DLLOCALHOST0 |of| CSB))
(LOCF (|fetch| (IFPAGE |NSHost0|) |of| |\\InterfacePage|)) (LOCF (|fetch| (IFPAGE |NSHost0|) |of|
|\\InterfacePage|)
)
\\#WDS.NSHOSTNUMBER)) \\#WDS.NSHOSTNUMBER))
(T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of| CSB)) (T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of|
CSB))
NSHOSTNUMBER)))) NSHOSTNUMBER))))
(AND OUTINTERRUPT (|replace| DLOUTPUTMASK |of| CSB |with| OUTINTERRUPT)) (AND OUTINTERRUPT (|replace| DLOUTPUTMASK |of| CSB |with| OUTINTERRUPT))
(AND ININTERRUPT (|replace| DLINPUTMASK |of| CSB |with| ININTERRUPT)) (AND ININTERRUPT (|replace| DLINPUTMASK |of| CSB |with| ININTERRUPT))
@@ -347,14 +365,14 @@
(RETURN NDB)))) (RETURN NDB))))
(\\MAIKO.10MB.RESTART.ETHER (\\MAIKO.10MB.RESTART.ETHER
(LAMBDA (NDB) (* \; "Edited 11-May-88 16:08 by MASINTER") (LAMBDA (NDB) (* \; "Edited 11-May-88 16:08 by MASINTER")
(* |;;;| "Kick the Ethernet receiver task to restart the Ethernet receiver task. This function gets called when the 10MBDRIVER thinks the Ethernet has been accidentally disabled") (* |;;;| "Kick the Ethernet receiver task to restart the Ethernet receiver task. This function gets called when the 10MBDRIVER thinks the Ethernet has been accidentally disabled")
(SUBRCALL ETHER-RESUME))) (SUBRCALL ETHER-RESUME)))
(\\MAIKO.CHECKSUM (\\MAIKO.CHECKSUM
(LAMBDA (BASE NWORDS INITSUM) (* \; "Edited 20-May-88 11:48 by MASINTER") (LAMBDA (BASE NWORDS INITSUM) (* \; "Edited 20-May-88 11:48 by MASINTER")
(SUBRCALL CHECK-SUM BASE NWORDS INITSUM))) (SUBRCALL CHECK-SUM BASE NWORDS INITSUM)))
) )
@@ -373,37 +391,41 @@
(DECLARE\: DOEVAL@COMPILE DONTCOPY (DECLARE\: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS \\MAIKO.10MB.NDB)
)
(DECLARE\: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS \\MAIKO.IO-INTERRUPT-FLAGS \\MAIKO.IO-INTERRUPT-VECTOR) (GLOBALVARS \\MAIKO.IO-INTERRUPT-FLAGS \\MAIKO.IO-INTERRUPT-VECTOR)
) )
) )
(ADDTOVAR \\MAIKO.MOVDS (\\MAIKO.10MBSTARTDRIVER \\10MB.STARTDRIVER) (ADDTOVAR \\MAIKO.MOVDS (\\MAIKO.10MBSTARTDRIVER \\10MB.STARTDRIVER)
(\\MAIKO.10MBWATCHER \\10MBWATCHER) (\\MAIKO.10MBWATCHER \\10MBWATCHER)
(\\MAIKO.10MBSENDPACKET \\10MBSENDPACKET) (\\MAIKO.10MBSENDPACKET \\10MBSENDPACKET)
(\\MAIKO.ETHERSUSPEND \\10MB.TURNOFFETHER) (\\MAIKO.ETHERSUSPEND \\10MB.TURNOFFETHER)
(\\MAIKO.10MBTURNONETHER \\10MB.TURNONETHER) (\\MAIKO.10MBTURNONETHER \\10MB.TURNONETHER)
(\\MAIKO.ETHERRESUME \\10MB.RESTART.ETHER) (\\MAIKO.ETHERRESUME \\10MB.RESTART.ETHER)
(\\MAIKO.CHECKSUM \\CHECKSUM)) (\\MAIKO.CHECKSUM \\CHECKSUM))
(* |;;| (* \;
"MAIKO handler for new interrupt-driven incoming ethernet communication, rather than polling for it.") "MAIKO handler for new interrupt-driven incoming ethernet communication, rather than polling for it.")
(DEFINEQ (DEFINEQ
(\\MAIKO.ETHER-INTERRUPT (\\MAIKO.ETHER-INTERRUPT
(LAMBDA NIL (* \; "Edited 30-Dec-2025 18:36 by nhb") (LAMBDA NIL (* \; "Edited 4-May-91 13:46 by jds")
(* \; "Edited 4-May-91 13:46 by jds")
(* |;;| "This routine gets called when 10MB input signals an interrupt. See if the \\MAIKO.INPUT.PACKET has indeed been processed, and if so, take care of it") (* |;;| "This routine gets called when 10MB input signals an interrupt. See if the \\MAIKO.INPUT.PACKET has indeed been processed, and if so, take care of it")
(PROG ((NDB \\10MBLOCALNDB) (PROG ((NDB \\MAIKO.10MB.NDB)
LENGTH) LENGTH)
(* |;;| "First, turn off the interrupt flag:") (* |;;| "First, turn off the interrupt flag:")
(|replace| (INTERRUPTSTATE ETHERINTERRUPT) |of| \\INTERRUPTSTATE |with| NIL) (REPLACE (INTERRUPTSTATE ETHERINTERRUPT) OF \\INTERRUPTSTATE WITH NIL)
(* |;;| "Now handle it:") (* |;;| "Now handle it:")
@@ -415,27 +437,33 @@
READ-MORE-LOOP READ-MORE-LOOP
(COND (COND
((NEQ (SETQ LENGTH (|fetch| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB))) ((NEQ (SETQ LENGTH (|fetch| DLFIRSTICB |of| (|fetch| NDBCSB
|of| NDB)))
\\ES.PENDING) \\ES.PENDING)
(|replace| 10MBLENGTH |of| PACKET |with| LENGTH) (|replace| 10MBLENGTH |of| PACKET |with| LENGTH)
(\\RCLK (LOCF (|fetch| EPTIMESTAMP |of| PACKET))) (\\RCLK (LOCF (|fetch| EPTIMESTAMP |of| PACKET)))
(|replace| EPNETWORK |of| PACKET |with| NDB) (|replace| EPNETWORK |of| PACKET |with| NDB)
(|replace| EPTYPE |of| PACKET (|replace| EPTYPE |of| PACKET
|with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS |with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS
|bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET)) |bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET
|when| (EQ TYPE (CAR PAIR)) |do| (RETURN (CDR PAIR)) ))
|finally| (RETURN TYPE))) |when| (EQ TYPE (CAR PAIR))
|do| (RETURN (CDR PAIR)) |finally| (RETURN
TYPE)))
(COND (COND
(\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWGET))) (\\RAWTRACING (\\MAYBEPRINTPACKET PACKET 'RAWGET)))
(\\HANDLE.RAW.PACKET PACKET) (\\HANDLE.RAW.PACKET PACKET)
(SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET)) (SETQ \\MAIKO.INPUT.PACKET (\\ALLOCATE.ETHERPACKET))
(|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING) (|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB)
|with| \\ES.PENDING)
(COND (COND
((SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE ((SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE
|of| \\MAIKO.INPUT.PACKET)) |of|
\\MAIKO.INPUT.PACKET)
)
(* |;;| (* |;;|
 "Returned T, so there's another packet waiting already. Process it.")  "Returned T, so there's another packet waiting already. Process it.")
(SETQ PACKET \\MAIKO.INPUT.PACKET) (SETQ PACKET \\MAIKO.INPUT.PACKET)
(GO READ-MORE-LOOP))))))))))) (GO READ-MORE-LOOP)))))))))))
@@ -443,7 +471,7 @@
(* |;;| (* \;
"MAIKO Log & Console message handling. Interrupt-driven message printing, instead of polled printing." "MAIKO Log & Console message handling. Interrupt-driven message printing, instead of polled printing."
) )
@@ -499,13 +527,14 @@
(RPAQ \\MAIKO.IO-INTERRUPT-FLAGS (\\CREATECELL \\FIXP)) (RPAQ \\MAIKO.IO-INTERRUPT-FLAGS (\\CREATECELL \\FIXP))
(RPAQQ \\MAIKO.IO-INTERRUPT-VECTOR NIL) (RPAQQ \\MAIKO.IO-INTERRUPT-VECTOR NIL)
(PUTPROPS MAIKOETHER COPYRIGHT ("Venue & Xerox Corporation" 1988 1989 1990 1991 2021))
(DECLARE\: DONTCOPY (DECLARE\: DONTCOPY
(FILEMAP (NIL (2301 20787 (\\10MB.RESTART.ETHER 2311 . 2475) (\\10MB.STARTDRIVER 2477 . 3863) ( (FILEMAP (NIL (2591 22216 (\\10MB.RESTART.ETHER 2601 . 2761) (\\10MB.STARTDRIVER 2763 . 4522) (
\\10MB.TURNOFFETHER 3865 . 4029) (\\10MB.TURNONETHER 4031 . 6121) (\\10MBSENDPACKET 6123 . 8481) ( \\10MB.TURNOFFETHER 4524 . 4684) (\\10MB.TURNONETHER 4686 . 7056) (\\10MBSENDPACKET 7058 . 9429) (
\\10MBWATCHER 8483 . 9926) (\\MAIKO.10MBSENDPACKET 9928 . 12296) (\\MAIKO.10MBWATCHER 12298 . 13747) ( \\10MBWATCHER 9431 . 10770) (\\MAIKO.10MBSENDPACKET 10772 . 13150) (\\MAIKO.10MBWATCHER 13152 . 14497)
\\MAIKO.ETHERRESUME 13749 . 13912) (\\MAIKO.ETHERSUSPEND 13914 . 14079) (\\MAIKO.INPUT.INTERRUPT 14081 (\\MAIKO.ETHERRESUME 14499 . 14658) (\\MAIKO.ETHERSUSPEND 14660 . 14821) (\\MAIKO.INPUT.INTERRUPT
. 15925) (\\NS.SETTIME 15927 . 16211) (\\PUP.SETTIME 16213 . 16498) (\\MAIKO.10MBSTARTDRIVER 16500 . 14823 . 17085) (\\NS.SETTIME 17087 . 17367) (\\PUP.SETTIME 17369 . 17650) (\\MAIKO.10MBSTARTDRIVER
18150) (\\MAIKO.10MBTURNONETHER 18152 . 20247) (\\MAIKO.10MB.RESTART.ETHER 20249 . 20606) ( 17652 . 19307) (\\MAIKO.10MBTURNONETHER 19309 . 21684) (\\MAIKO.10MB.RESTART.ETHER 21686 . 22039) (
\\MAIKO.CHECKSUM 20608 . 20785)) (21751 24528 (\\MAIKO.ETHER-INTERRUPT 21761 . 24526)) (24652 26015 ( \\MAIKO.CHECKSUM 22041 . 22214)) (23271 26336 (\\MAIKO.ETHER-INTERRUPT 23281 . 26334)) (26458 27821 (
\\MAIKO.CONSOLE-LOG-PRINT 24662 . 26013)) (26061 26741 (\\MAIKO.IO-INTERRUPT 26071 . 26739))))) \\MAIKO.CONSOLE-LOG-PRINT 26468 . 27819)) (27867 28547 (\\MAIKO.IO-INTERRUPT 27877 . 28545)))))
STOP STOP

Binary file not shown.

View File

@@ -1,13 +1,15 @@
(DEFINE-FILE-INFO :PACKAGE "INTERLISP" :READTABLE "INTERLISP" :BASE 8) (DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP" BASE 8)
(FILECREATED " 1-May-2021 19:49:18" {DSK}<home>larry>ilisp>medley>sources>PUP.;2 336270Q
(FILECREATED " 2-Apr-2026 09:13:04" {DSK}<Users>briggs>projects>medley>sources>PUP.;8 333567Q changes to%: (FNS \PUP.SETTIME CANONICAL.HOSTNAME)
(VARS PUPCOMS)
:EDIT-BY "briggs" previous date%: "19-Jan-93 11:14:09" {DSK}<home>larry>ilisp>medley>sources>PUP.;1)
:CHANGES-TO (FNS \LOOKUPPORT)
:PREVIOUS-DATE " 3-Feb-2026 18:40:52" {DSK}<Users>briggs>projects>medley>sources>PUP.;7)
(* ; "
Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT PUPCOMS) (PRETTYCOMPRINT PUPCOMS)
@@ -33,7 +35,7 @@
(FNS SETUPPUP SWAPPUPPORTS GETPUP SENDPUP EXCHANGEPUPS DISCARDPUPS GETPUPWORD \PUPINIT) (FNS SETUPPUP SWAPPUPPORTS GETPUP SENDPUP EXCHANGEPUPS DISCARDPUPS GETPUPWORD \PUPINIT)
(FNS ETHERHOSTNAME ETHERHOSTNUMBER ETHERPORT BESTPUPADDRESS NETDAYTIME0 \PUP.SETTIME (FNS ETHERHOSTNAME ETHERHOSTNUMBER ETHERPORT BESTPUPADDRESS NETDAYTIME0 \PUP.SETTIME
\SETNEWTIME0 \NET.SETTIME NETDATE \LOOKUPPORT \PARSE.PORTCONSTANT \FIXLOCALNET) \SETNEWTIME0 \NET.SETTIME NETDATE \LOOKUPPORT \PARSE.PORTCONSTANT \FIXLOCALNET)
(FNS PORTSTRING) (FNS PORTSTRING OCTALSTRING)
(INITVARS (\ETHERPORTS (HASHARRAY 24Q)) (INITVARS (\ETHERPORTS (HASHARRAY 24Q))
(\ETHERTIMEOUT 3720Q) (\ETHERTIMEOUT 3720Q)
(\MAXETHERTRIES 4) (\MAXETHERTRIES 4)
@@ -43,13 +45,13 @@
(FNS CLEARPUP PUTPUPWORD GETPUPBYTE PUTPUPBYTE GETPUPSTRING GETPUPSTREAM PUTPUPSTRING) (FNS CLEARPUP PUTPUPWORD GETPUPBYTE PUTPUPBYTE GETPUPSTRING GETPUPSTREAM PUTPUPSTRING)
(OPTIMIZERS GETPUPWORD PUTPUPWORD GETPUPBYTE PUTPUPBYTE)) (OPTIMIZERS GETPUPWORD PUTPUPWORD GETPUPBYTE PUTPUPBYTE))
(COMS (* ; (COMS (* ;
 "Reading property lists from streams")  "Reading property lists from streams")
(FNS READPLIST) (FNS READPLIST)
(INITVARS \READPLIST.READTABLES) (INITVARS \READPLIST.READTABLES)
(GLOBALVARS \READPLIST.READTABLES)) (GLOBALVARS \READPLIST.READTABLES))
(COMS (FNS \CANONICAL.HOSTNAME \CANONICALIZE.PUP.HOSTNAME) (COMS (FNS \CANONICAL.HOSTNAME \CANONICALIZE.PUP.HOSTNAME)
(P (* ; (P (* ;
 "Default this for when IP not loaded")  "Default this for when IP not loaded")
(MOVD? 'NILL '\CANONICALIZE.IP.HOSTNAME NIL T)) (MOVD? 'NILL '\CANONICALIZE.IP.HOSTNAME NIL T))
(ADDVARS (\HOSTNAMES) (ADDVARS (\HOSTNAMES)
(\SYSTEMCACHEVARS \HOSTNAMES)) (\SYSTEMCACHEVARS \HOSTNAMES))
@@ -136,52 +138,53 @@
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(ACCESSFNS PUP [(PUPBASE (LOCF (fetch (ETHERPACKET EPBODY) of DATUM] (ACCESSFNS PUP [(PUPBASE (LOCF (fetch (ETHERPACKET EPBODY) of DATUM]
[BLOCKRECORD PUPBASE ((PUPLENGTH WORD) [BLOCKRECORD PUPBASE ((PUPLENGTH WORD)
(PUPTCONTROL BYTE) (PUPTCONTROL BYTE)
(PUPTYPE BYTE) (PUPTYPE BYTE)
(PUPID FIXP) (PUPID FIXP)
(PUPDEST WORD) (PUPDEST WORD)
(PUPDESTSOCKET FIXP) (PUPDESTSOCKET FIXP)
(PUPSOURCE WORD) (PUPSOURCE WORD)
(PUPSOURCESOCKET FIXP) (PUPSOURCESOCKET FIXP)
(PUPDATASTART 412Q WORD)) (PUPDATASTART 412Q WORD))
(BLOCKRECORD PUPBASE ((NIL WORD) (BLOCKRECORD PUPBASE ((NIL WORD)
(TYPEWORD WORD) (TYPEWORD WORD)
(PUPIDHI WORD) (PUPIDHI WORD)
(PUPIDLO WORD) (PUPIDLO WORD)
(PUPDESTNET BYTE) (PUPDESTNET BYTE)
(PUPDESTHOST BYTE) (PUPDESTHOST BYTE)
(PUPDESTSOCKETHI WORD) (PUPDESTSOCKETHI WORD)
(PUPDESTSOCKETLO WORD) (PUPDESTSOCKETLO WORD)
(PUPSOURCENET BYTE) (PUPSOURCENET BYTE)
(PUPSOURCEHOST BYTE) (PUPSOURCEHOST BYTE)
(PUPSOURCESOCKETHI WORD) (PUPSOURCESOCKETHI WORD)
(PUPSOURCESOCKETLO WORD)) (PUPSOURCESOCKETLO WORD))
(* ; "Temporary extra synonyms") (* ; "Temporary extra synonyms")
(SYNONYM PUPDESTNET (DESTNET)) (SYNONYM PUPDESTNET (DESTNET))
(SYNONYM PUPDESTHOST (DESTHOST)) (SYNONYM PUPDESTHOST (DESTHOST))
(SYNONYM PUPDESTSOCKETHI (DESTSKTHI)) (SYNONYM PUPDESTSOCKETHI (DESTSKTHI))
(SYNONYM PUPDESTSOCKETLO (DESTSKTLO)) (SYNONYM PUPDESTSOCKETLO (DESTSKTLO))
(SYNONYM PUPSOURCENET (SOURCENET)) (SYNONYM PUPSOURCENET (SOURCENET))
(SYNONYM PUPSOURCEHOST (SOURCEHOST)) (SYNONYM PUPSOURCEHOST (SOURCEHOST))
(SYNONYM PUPSOURCESOCKETHI (SOURCESKTHI)) (SYNONYM PUPSOURCESOCKETHI (SOURCESKTHI))
(SYNONYM PUPSOURCESOCKETLO (SOURCESKTLO))) (SYNONYM PUPSOURCESOCKETLO (SOURCESKTLO)))
(SYNONYM PUPDEST (DEST)) (SYNONYM PUPDEST (DEST))
(SYNONYM PUPDESTSOCKET (DESTSKT)) (SYNONYM PUPDESTSOCKET (DESTSKT))
(SYNONYM PUPSOURCE (SOURCE)) (SYNONYM PUPSOURCE (SOURCE))
(SYNONYM PUPSOURCESOCKET (SOURCESKT)) (SYNONYM PUPSOURCESOCKET (SOURCESKT))
(ACCESSFNS PUPDATASTART ((PUPCONTENTS (LOCF DATUM] (ACCESSFNS PUPDATASTART ((PUPCONTENTS (LOCF DATUM]
[ACCESSFNS PUP [(PUPCHECKSUMBASE (fetch PUPBASE of DATUM)) [ACCESSFNS PUP [(PUPCHECKSUMBASE (fetch PUPBASE of DATUM))
(PUPCHECKSUMLOC (\ADDBASE (fetch PUPBASE of DATUM) (PUPCHECKSUMLOC (\ADDBASE (fetch PUPBASE of DATUM)
(FOLDLO (SUB1 (fetch PUPLENGTH of DATUM)) (FOLDLO (SUB1 (fetch PUPLENGTH
BYTESPERWORD] of DATUM))
(BLOCKRECORD PUPCHECKSUMLOC ((PUPCHECKSUM WORD] BYTESPERWORD]
(TYPE? (type? ETHERPACKET DATUM))) (BLOCKRECORD PUPCHECKSUMLOC ((PUPCHECKSUM WORD]
(TYPE? (type? ETHERPACKET DATUM)))
(ACCESSFNS PUPADDRESS ((PUPNET# (LRSH DATUM 10Q)) (ACCESSFNS PUPADDRESS ((PUPNET# (LRSH DATUM 10Q))
(PUPHOST# (LOGAND DATUM 377Q))) (PUPHOST# (LOGAND DATUM 377Q)))
(CREATE (IPLUS (LLSH PUPNET# 10Q) (CREATE (IPLUS (LLSH PUPNET# 10Q)
PUPHOST#))) PUPHOST#)))
) )
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
@@ -271,26 +274,23 @@
(RETURN T])]) (RETURN T])])
(\FIND.LOCALPUPHOSTNUMBER (\FIND.LOCALPUPHOSTNUMBER
[LAMBDA (NDB EVENT QUIET) (* ; "Edited 22-Dec-2025 11:58 by nhb") [LAMBDA (NDB EVENT QUIET) (* bvm%: "26-Jul-84 16:27")
(* ; "Edited 20-Dec-2025 13:51 by nhb")
(* bvm%: "26-Jul-84 16:27")
(* ;; "Finds out our pup address on this 10mb NDB") (* ;; "Finds out our pup address on this 10mb NDB")
(PROG (NEWNUMBER) (PROG (NEWNUMBER)
[COND [COND
((NOT (\ETHER-AVAILABLE))
(RETURN NIL))
[(SETQ NEWNUMBER (\LOOKUPPUPNUMBER \MY.NSHOSTNUMBER NDB)) [(SETQ NEWNUMBER (\LOOKUPPUPNUMBER \MY.NSHOSTNUMBER NDB))
(COND (COND
(PUPTRACEFLG (printout PUPTRACEFILE "My pup address = " (fetch PUPNET# of NEWNUMBER) (PUPTRACEFLG (printout PUPTRACEFILE "My pup address = " (fetch PUPNET#
of NEWNUMBER)
"#" "#"
(fetch PUPHOST# of NEWNUMBER) (fetch PUPHOST# of NEWNUMBER)
"#" T] "#" T]
(QUIET (RETURN NIL)) (QUIET (RETURN NIL))
(T (SETQ NEWNUMBER (\PROMPT.FOR.PUP.NUMBER (AND (EQ EVENT 'AFTERLOGOUT) (T (SETQ NEWNUMBER (\PROMPT.FOR.PUP.NUMBER (AND (EQ EVENT 'AFTERLOGOUT)
(NEQ \OLDPUPHOST# 0) (NEQ \OLDPUPHOST# 0)
(OCTALSTRING \OLDPUPHOST#] (OCTALSTRING \OLDPUPHOST#]
(* ;; "Only rely on the host number part of reply. There is confusion for machines that exist on more than one net") (* ;; "Only rely on the host number part of reply. There is confusion for machines that exist on more than one net")
@@ -470,14 +470,14 @@
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(ACCESSFNS ERRORPUP ((ERRORPUPBASE (fetch PUPCONTENTS of DATUM))) (ACCESSFNS ERRORPUP ((ERRORPUPBASE (fetch PUPCONTENTS of DATUM)))
(BLOCKRECORD ERRORPUPBASE ((ERRORPUPCOPY 12Q WORD) (BLOCKRECORD ERRORPUPBASE ((ERRORPUPCOPY 12Q WORD)
(* ; "Copy of pup header") (* ; "Copy of pup header")
(ERRORPUPCODE WORD) (ERRORPUPCODE WORD)
(ERRORPUPARG WORD) (ERRORPUPARG WORD)
(* ; "Usually zero") (* ; "Usually zero")
(ERRORPUPSTRINGBASE WORD) (ERRORPUPSTRINGBASE WORD)
(* ; "Human readable message") (* ; "Human readable message")
))) )))
) )
(RPAQQ PUPERRORCODES (RPAQQ PUPERRORCODES
@@ -969,13 +969,11 @@
(\DAYTIME0 (create FIXP]) (\DAYTIME0 (create FIXP])
(\LOOKUPPORT (\LOOKUPPORT
[LAMBDA (NAME) (* ; "Edited 2-Apr-2026 09:08 by briggs") [LAMBDA (NAME) (* ; "Edited 1-Apr-87 12:37 by bvm:")
(* ; "Edited 1-Apr-87 12:37 by bvm:")
(* ;;; "Looks up the ether address of NAME, returning a list of dotted pairs (nethost . socket), or NIL on failure") (* ;;; "Looks up the ether address of NAME, returning a list of dotted pairs (nethost . socket), or NIL on failure")
(AND NAME (EQ (OR \PUP.READY (ASSURE.PUP.READY)) (AND NAME
T)
(PROG ((SOC (\GETMISCSOCKET)) (PROG ((SOC (\GETMISCSOCKET))
(OPUP (ALLOCATE.PUP)) (OPUP (ALLOCATE.PUP))
RESULT BUF LEN IPUP) RESULT BUF LEN IPUP)
@@ -983,31 +981,35 @@
(PUTPUPSTRING OPUP NAME) (PUTPUPSTRING OPUP NAME)
[to \MAXETHERTRIES when (SETQ IPUP (EXCHANGEPUPS SOC OPUP NIL T)) [to \MAXETHERTRIES when (SETQ IPUP (EXCHANGEPUPS SOC OPUP NIL T))
do (SELECTC (fetch PUPTYPE of IPUP) do (SELECTC (fetch PUPTYPE of IPUP)
(\PT.NAMERESPONSE (\PT.NAMERESPONSE
[COND [COND
((> (SETQ LEN (IQUOTIENT (FOLDLO (- (fetch PUPLENGTH of IPUP) ((> (SETQ LEN (IQUOTIENT (FOLDLO (- (fetch PUPLENGTH
\PUPOVLEN) of IPUP)
BYTESPERWORD) \PUPOVLEN)
\PORTIDLEN)) BYTESPERWORD)
1) \PORTIDLEN))
1)
(COND
(PUPTRACEFLG (printout PUPTRACEFILE
"Multiple response received for " NAME T
]
[RETURN (SETQ RESULT (from 1 to LEN
as (PTR _ (fetch PUPCONTENTS
of IPUP))
by (\ADDBASE PTR \PORTIDLEN)
collect (CONS (fetch (PORT NETHOST)
of PTR)
(fetch (PORT SOCKET)
of PTR])
(\PT.NAME/ADDRERROR
(COND (COND
(PUPTRACEFLG (printout PUPTRACEFILE (PUPTRACEFLG (printout PUPTRACEFILE "Name lookup error for "
"Multiple response received for " NAME T] NAME ": " (GETPUPSTRING IPUP)
[RETURN (SETQ RESULT (from 1 to LEN T)))
as (PTR _ (fetch PUPCONTENTS of IPUP)) (RETURN))
by (\ADDBASE PTR \PORTIDLEN) NIL) finally (COND
collect (CONS (fetch (PORT NETHOST) (PUPTRACEFLG (printout PUPTRACEFILE
of PTR) "Name lookup timed out" T]
(fetch (PORT SOCKET) of PTR])
(\PT.NAME/ADDRERROR
(COND
(PUPTRACEFLG (printout PUPTRACEFILE "Name lookup error for " NAME
": " (GETPUPSTRING IPUP)
T)))
(RETURN))
NIL) finally (COND
(PUPTRACEFLG (printout PUPTRACEFILE "Name lookup timed out"
T]
(AND IPUP (RELEASE.PUP IPUP)) (AND IPUP (RELEASE.PUP IPUP))
(RELEASE.PUP OPUP) (RELEASE.PUP OPUP)
(RETURN RESULT]) (RETURN RESULT])
@@ -1078,6 +1080,11 @@
(COND (COND
(SOCKET (OCTALSTRING SOCKET)) (SOCKET (OCTALSTRING SOCKET))
(T ""]) (T ""])
(OCTALSTRING
[LAMBDA (N) (* bvm%: "21-JUL-81 12:16")
(GLOBALRESOURCE (\NUMSTR \NUMSTR1)
(CONCAT (\CONVERTNUMBER N 10Q NIL NIL \NUMSTR \NUMSTR1])
) )
(RPAQ? \ETHERPORTS (HASHARRAY 24Q)) (RPAQ? \ETHERPORTS (HASHARRAY 24Q))
@@ -1167,22 +1174,24 @@
) )
(DEFOPTIMIZER GETPUPWORD (PUPARG WORD#) (DEFOPTIMIZER GETPUPWORD (PUPARG WORD#)
`(\GETBASE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET)) `(\GETBASE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
,WORD#)) ,WORD#))
(DEFOPTIMIZER PUTPUPWORD (PUPARG WORD# VALUE) (DEFOPTIMIZER PUTPUPWORD (PUPARG WORD# VALUE)
`(\PUTBASE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET)) `(\PUTBASE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
,WORD# ,WORD#
,VALUE)) ,VALUE))
(DEFOPTIMIZER GETPUPBYTE (PUPARG BYTE#) (DEFOPTIMIZER GETPUPBYTE (PUPARG BYTE#)
`(\GETBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET)) `(\GETBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG
,BYTE#)) 'ETHERPACKET))
,BYTE#))
(DEFOPTIMIZER PUTPUPBYTE (PUPARG BYTE# VALUE) (DEFOPTIMIZER PUTPUPBYTE (PUPARG BYTE# VALUE)
`(\PUTBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET)) `(\PUTBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG
,BYTE# 'ETHERPACKET))
,VALUE)) ,BYTE#
,VALUE))
@@ -1273,7 +1282,7 @@
) )
(* ; (* ;
 "Default this for when IP not loaded")  "Default this for when IP not loaded")
(MOVD? 'NILL '\CANONICALIZE.IP.HOSTNAME NIL T) (MOVD? 'NILL '\CANONICALIZE.IP.HOSTNAME NIL T)
@@ -1292,8 +1301,8 @@
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(PUTPROPS BINDPUPS MACRO [X (CONS (LIST 'LAMBDA (CAR X) (PUTPROPS BINDPUPS MACRO [X (CONS (LIST 'LAMBDA (CAR X)
(CONS 'PROGN (CDR X))) (CONS 'PROGN (CDR X)))
(in (CAR X) collect (LIST 'ALLOCATE.PUP]) (in (CAR X) collect (LIST 'ALLOCATE.PUP])
) )
(PUTPROPS BINDPUPS INFO BINDS) (PUTPROPS BINDPUPS INFO BINDS)
@@ -1588,12 +1597,12 @@
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(BLOCKRECORD PUPROUTINGINFO ( (* ; (BLOCKRECORD PUPROUTINGINFO ( (* ;
 "Format of each entry in a pup routing info packet. We only actually use NET# and #HOPS")  "Format of each entry in a pup routing info packet. We only actually use NET# and #HOPS")
(NET# BYTE) (NET# BYTE)
(GATENET# BYTE) (GATENET# BYTE)
(GATEHOST# BYTE) (GATEHOST# BYTE)
(%#HOPS BYTE))) (%#HOPS BYTE)))
) )
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
@@ -1619,24 +1628,24 @@
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(DATATYPE PUPSOCKET ((NIL BITS 4) (DATATYPE PUPSOCKET ((NIL BITS 4)
(PUPSOCLINK POINTER) (* ; "So that we can Queue them") (PUPSOCLINK POINTER) (* ; "So that we can Queue them")
(PSOCKET# FIXP) (PSOCKET# FIXP)
(INQUEUE POINTER) (INQUEUE POINTER)
(INQUEUELENGTH WORD) (INQUEUELENGTH WORD)
(PUPSOC#ALLOCATION WORD) (PUPSOC#ALLOCATION WORD)
(PUPSOCHANDLE WORD) (* ; "Back-fitting for Bcpl") (PUPSOCHANDLE WORD) (* ; "Back-fitting for Bcpl")
(PUPSOCPUPADDRESS WORD) (* ; "Local net/host") (PUPSOCPUPADDRESS WORD) (* ; "Local net/host")
(NIL BITS 4) (NIL BITS 4)
(PUPSOCEVENT POINTER) (* ; (PUPSOCEVENT POINTER) (* ;
 "Event that is notified when a pup arrives on this socket")  "Event that is notified when a pup arrives on this socket")
(NIL BITS 4) (NIL BITS 4)
(NIL POINTER)) (NIL POINTER))
(BLOCKRECORD PUPSOCKET ((NIL BITS 4) (BLOCKRECORD PUPSOCKET ((NIL BITS 4)
(NIL POINTER) (NIL POINTER)
(PSOCKETHI WORD) (PSOCKETHI WORD)
(PSOCKETLO WORD))) (PSOCKETLO WORD)))
INQUEUE _ (create SYSQUEUE) INQUEUE _ (create SYSQUEUE)
PUPSOC#ALLOCATION _ \MAX.EPKTS.ON.PUPSOCKET) PUPSOC#ALLOCATION _ \MAX.EPKTS.ON.PUPSOCKET)
) )
(/DECLAREDATATYPE 'PUPSOCKET '((BITS 4) (/DECLAREDATATYPE 'PUPSOCKET '((BITS 4)
@@ -1661,11 +1670,11 @@
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(PUTPROPS \PUPSOCKET.FROM# MACRO (OPENLAMBDA (SOCHI SOCLO) (PUTPROPS \PUPSOCKET.FROM# MACRO (OPENLAMBDA (SOCHI SOCLO)
(for SOC in \PUPSOCKETS (for SOC in \PUPSOCKETS
when (AND (EQ (fetch PSOCKETLO of SOC) when (AND (EQ (fetch PSOCKETLO of SOC)
SOCLO) SOCLO)
(EQ (fetch PSOCKETHI of SOC) (EQ (fetch PSOCKETHI of SOC)
SOCHI)) do (RETURN SOC)))) SOCHI)) do (RETURN SOC))))
) )
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1695,17 +1704,17 @@
(ADDTOVAR SYSTEMRECLST (ADDTOVAR SYSTEMRECLST
(DATATYPE PUPSOCKET ((NIL BITS 4) (DATATYPE PUPSOCKET ((NIL BITS 4)
(PUPSOCLINK POINTER) (PUPSOCLINK POINTER)
(PSOCKET# FIXP) (PSOCKET# FIXP)
(INQUEUE POINTER) (INQUEUE POINTER)
(INQUEUELENGTH WORD) (INQUEUELENGTH WORD)
(PUPSOC#ALLOCATION WORD) (PUPSOC#ALLOCATION WORD)
(PUPSOCHANDLE WORD) (PUPSOCHANDLE WORD)
(PUPSOCPUPADDRESS WORD) (PUPSOCPUPADDRESS WORD)
(NIL BITS 4) (NIL BITS 4)
(PUPSOCEVENT POINTER) (PUPSOCEVENT POINTER)
(NIL BITS 4) (NIL BITS 4)
(NIL POINTER))) (NIL POINTER)))
) )
(DEFINEQ (DEFINEQ
@@ -1817,21 +1826,21 @@
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
(BLOCKRECORD PORT ((NETHOST WORD) (BLOCKRECORD PORT ((NETHOST WORD)
(SOCKET FIXP)) (SOCKET FIXP))
(BLOCKRECORD PORT ((NET BYTE) (BLOCKRECORD PORT ((NET BYTE)
(HOST BYTE) (HOST BYTE)
(SOCKETHI WORD) (SOCKETHI WORD)
(SOCKETLO WORD)))) (SOCKETLO WORD))))
(ACCESSFNS ERRORPUP ((ERRORPUPBASE (fetch PUPCONTENTS of DATUM))) (ACCESSFNS ERRORPUP ((ERRORPUPBASE (fetch PUPCONTENTS of DATUM)))
(BLOCKRECORD ERRORPUPBASE ((ERRORPUPCOPY 12Q WORD) (BLOCKRECORD ERRORPUPBASE ((ERRORPUPCOPY 12Q WORD)
(* ; "Copy of pup header") (* ; "Copy of pup header")
(ERRORPUPCODE WORD) (ERRORPUPCODE WORD)
(ERRORPUPARG WORD) (ERRORPUPARG WORD)
(* ; "Usually zero") (* ; "Usually zero")
(ERRORPUPSTRINGBASE WORD) (ERRORPUPSTRINGBASE WORD)
(* ; "Human readable message") (* ; "Human readable message")
))) )))
) )
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1859,20 +1868,20 @@
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(PUTPROPS \GETPUPWORD DMACRO ((PUP WORD#) (PUTPROPS \GETPUPWORD DMACRO ((PUP WORD#)
(\GETBASE (fetch PUPCONTENTS of PUP) (\GETBASE (fetch PUPCONTENTS of PUP)
WORD#))) WORD#)))
(PUTPROPS \PUTPUPWORD DMACRO ((PUP WORD# VALUE) (PUTPROPS \PUTPUPWORD DMACRO ((PUP WORD# VALUE)
(\PUTBASE (fetch PUPCONTENTS of PUP) (\PUTBASE (fetch PUPCONTENTS of PUP)
WORD# VALUE))) WORD# VALUE)))
(PUTPROPS \GETPUPBYTE DMACRO ((PUP BYTE#) (PUTPROPS \GETPUPBYTE DMACRO ((PUP BYTE#)
(\GETBASEBYTE (fetch PUPCONTENTS of PUP) (\GETBASEBYTE (fetch PUPCONTENTS of PUP)
BYTE#))) BYTE#)))
(PUTPROPS \PUTPUPBYTE DMACRO ((PUP BYTE# VALUE) (PUTPROPS \PUTPUPBYTE DMACRO ((PUP BYTE# VALUE)
(\PUTBASEBYTE (fetch PUPCONTENTS of PUP) (\PUTBASEBYTE (fetch PUPCONTENTS of PUP)
BYTE# VALUE))) BYTE# VALUE)))
) )
(RPAQQ RAWPUPTYPES (RPAQQ RAWPUPTYPES
@@ -2024,13 +2033,13 @@
(RPAQ? PUPTYPES RAWPUPTYPES) (RPAQ? PUPTYPES RAWPUPTYPES)
(RPAQQ WELLKNOWNPUPSOCKETS ((\PUPSOCKET.TELNET 1) (RPAQQ WELLKNOWNPUPSOCKETS ((\PUPSOCKET.TELNET 1)
(\PUPSOCKET.ROUTING 2) (\PUPSOCKET.ROUTING 2)
(\PUPSOCKET.FTP 3) (\PUPSOCKET.FTP 3)
(\PUPSOCKET.MISCSERVICES 4) (\PUPSOCKET.MISCSERVICES 4)
(\PUPSOCKET.ECHO 5) (\PUPSOCKET.ECHO 5)
(\PUPSOCKET.EFTP 20Q) (\PUPSOCKET.EFTP 20Q)
(\PUPSOCKET.PRINTERSTATUS 21Q) (\PUPSOCKET.PRINTERSTATUS 21Q)
(\PUPSOCKET.LEAF 43Q))) (\PUPSOCKET.LEAF 43Q)))
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(RPAQQ \PUPSOCKET.TELNET 1) (RPAQQ \PUPSOCKET.TELNET 1)
@@ -2065,9 +2074,9 @@
(RPAQQ PUPCONSTANTS ((\PUPHEADERLEN 24Q) (RPAQQ PUPCONSTANTS ((\PUPHEADERLEN 24Q)
(\NetMask 177400Q) (\NetMask 177400Q)
(\HILOCALSOCKET 1) (\HILOCALSOCKET 1)
(\PORTIDLEN 3))) (\PORTIDLEN 3)))
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(RPAQQ \PUPHEADERLEN 24Q) (RPAQQ \PUPHEADERLEN 24Q)
@@ -2088,28 +2097,28 @@
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(PUTPROPS PUPDEBUGGING MACRO [(X . Y) (PUTPROPS PUPDEBUGGING MACRO [(X . Y)
(COND (COND
(PUPTRACEFLG (printout PUPTRACEFILE X . Y]) (PUPTRACEFLG (printout PUPTRACEFILE X . Y])
) )
(ADDTOVAR PUPPRINTMACROS (210Q CHARS) (ADDTOVAR PUPPRINTMACROS (210Q CHARS)
(214Q CHARS) (214Q CHARS)
(211Q CHARS) (211Q CHARS)
(213Q CHARS) (213Q CHARS)
(201Q WORDS 2 CHARS 24Q |...|) (201Q WORDS 2 CHARS 24Q |...|)
(30Q CHARS)) (30Q CHARS))
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(BLOCKRECORD TIMEPUPCONTENTS ((TIMEPUPVALUEHI WORD) (BLOCKRECORD TIMEPUPCONTENTS ((TIMEPUPVALUEHI WORD)
(TIMEPUPVALUELO WORD) (TIMEPUPVALUELO WORD)
(TIMEPUPEASTP FLAG) (TIMEPUPEASTP FLAG)
(TIMEPUPHOURS BITS 7) (TIMEPUPHOURS BITS 7)
(TIMEPUPMINUTES BITS 10Q) (TIMEPUPMINUTES BITS 10Q)
(TIMEPUPBEGINDST WORD) (TIMEPUPBEGINDST WORD)
(TIMEPUPENDDST WORD)) (* ; "format of alto time response") (TIMEPUPENDDST WORD)) (* ; "format of alto time response")
) )
) )
) )
@@ -2438,10 +2447,10 @@
(ADDTOVAR PUPIGNORETYPES ) (ADDTOVAR PUPIGNORETYPES )
(ADDTOVAR PUPPRINTMACROS (4 . PRINTERRORPUP) (ADDTOVAR PUPPRINTMACROS (4 . PRINTERRORPUP)
(220Q CHARS) (220Q CHARS)
(221Q REPEAT BYTES -2 WORDS -4) (221Q REPEAT BYTES -2 WORDS -4)
(223Q BYTES -2 WORDS) (223Q BYTES -2 WORDS)
(224Q CHARS)) (224Q CHARS))
(DECLARE%: DONTEVAL@LOAD (DECLARE%: DONTEVAL@LOAD
(\PUPINIT) (\PUPINIT)
@@ -2460,30 +2469,32 @@
(PUTPROPS PUP MAKEFILE-ENVIRONMENT (:READTABLE "INTERLISP" :PACKAGE "INTERLISP" :BASE 10Q)) (PUTPROPS PUP MAKEFILE-ENVIRONMENT (:READTABLE "INTERLISP" :PACKAGE "INTERLISP" :BASE 10Q))
(PUTPROPS PUP FILETYPE CL:COMPILE-FILE) (PUTPROPS PUP FILETYPE CL:COMPILE-FILE)
(PUTPROPS PUP COPYRIGHT ("Venue & Xerox Corporation" 3676Q 3677Q 3700Q 3701Q 3702Q 3703Q 3704Q 3705Q
3706Q 3707Q 3710Q 3711Q 3745Q))
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(FILEMAP (NIL (25073Q 61361Q (\STARTPUP 25105Q . 25757Q) (ASSURE.PUP.READY 25761Q . 34054Q) ( (FILEMAP (NIL (25631Q 61606Q (\STARTPUP 25643Q . 26515Q) (ASSURE.PUP.READY 26517Q . 34612Q) (
\FIND.LOCALPUPHOSTNUMBER 34056Q . 36565Q) (\PROMPT.FOR.PUP.NUMBER 36567Q . 40607Q) (\HANDLE.RAW.PUP \FIND.LOCALPUPHOSTNUMBER 34614Q . 37012Q) (\PROMPT.FOR.PUP.NUMBER 37014Q . 41034Q) (\HANDLE.RAW.PUP
40611Q . 56711Q) (\FORWARD.PUP 56713Q . 57633Q) (\SETPUPCHECKSUM 57635Q . 61357Q)) (66125Q 73217Q ( 41036Q . 57136Q) (\FORWARD.PUP 57140Q . 60060Q) (\SETPUPCHECKSUM 60062Q . 61604Q)) (66376Q 73470Q (
\PUPERROR 66137Q . 73215Q)) (73256Q 112412Q (SETUPPUP 73270Q . 76456Q) (SWAPPUPPORTS 76460Q . 77275Q) \PUPERROR 66410Q . 73466Q)) (73527Q 112663Q (SETUPPUP 73541Q . 76727Q) (SWAPPUPPORTS 76731Q . 77546Q)
(GETPUP 77277Q . 102211Q) (SENDPUP 102213Q . 106035Q) (EXCHANGEPUPS 106037Q . 110075Q) (DISCARDPUPS (GETPUP 77550Q . 102462Q) (SENDPUP 102464Q . 106306Q) (EXCHANGEPUPS 106310Q . 110346Q) (DISCARDPUPS
110077Q . 110703Q) (GETPUPWORD 110705Q . 111224Q) (\PUPINIT 111226Q . 112410Q)) (112413Q 153423Q ( 110350Q . 111154Q) (GETPUPWORD 111156Q . 111475Q) (\PUPINIT 111477Q . 112661Q)) (112664Q 154244Q (
ETHERHOSTNAME 112425Q . 121553Q) (ETHERHOSTNUMBER 121555Q . 122170Q) (ETHERPORT 122172Q . 125711Q) ( ETHERHOSTNAME 112676Q . 122024Q) (ETHERHOSTNUMBER 122026Q . 122441Q) (ETHERPORT 122443Q . 126162Q) (
BESTPUPADDRESS 125713Q . 135753Q) (NETDAYTIME0 135755Q . 136306Q) (\PUP.SETTIME 136310Q . 136735Q) ( BESTPUPADDRESS 126164Q . 136224Q) (NETDAYTIME0 136226Q . 136557Q) (\PUP.SETTIME 136561Q . 137206Q) (
\SETNEWTIME0 136737Q . 140017Q) (\NET.SETTIME 140021Q . 141110Q) (NETDATE 141112Q . 141447Q) ( \SETNEWTIME0 137210Q . 140270Q) (\NET.SETTIME 140272Q . 141361Q) (NETDATE 141363Q . 141720Q) (
\LOOKUPPORT 141451Q . 146740Q) (\PARSE.PORTCONSTANT 146742Q . 152052Q) (\FIXLOCALNET 152054Q . 153421Q \LOOKUPPORT 141722Q . 147561Q) (\PARSE.PORTCONSTANT 147563Q . 152673Q) (\FIXLOCALNET 152675Q . 154242Q
)) (153424Q 154427Q (PORTSTRING 153436Q . 154425Q)) (155021Q 164132Q (CLEARPUP 155033Q . 157546Q) ( )) (154245Q 155602Q (PORTSTRING 154257Q . 155246Q) (OCTALSTRING 155250Q . 155600Q)) (156174Q 165305Q (
PUTPUPWORD 157550Q . 160075Q) (GETPUPBYTE 160077Q . 160422Q) (PUTPUPBYTE 160424Q . 160755Q) ( CLEARPUP 156206Q . 160721Q) (PUTPUPWORD 160723Q . 161250Q) (GETPUPBYTE 161252Q . 161575Q) (PUTPUPBYTE
GETPUPSTRING 160757Q . 162410Q) (GETPUPSTREAM 162412Q . 163341Q) (PUTPUPSTRING 163343Q . 164130Q)) ( 161577Q . 162130Q) (GETPUPSTRING 162132Q . 163563Q) (GETPUPSTREAM 163565Q . 164514Q) (PUTPUPSTRING
165723Q 173542Q (READPLIST 165735Q . 173540Q)) (173723Q 177123Q (\CANONICAL.HOSTNAME 173735Q . 175002Q 164516Q . 165303Q)) (167410Q 175227Q (READPLIST 167422Q . 175225Q)) (175410Q 200610Q (
) (\CANONICALIZE.PUP.HOSTNAME 175004Q . 177121Q)) (201460Q 234665Q (\PUPGATELISTENER 201472Q . 205323Q \CANONICAL.HOSTNAME 175422Q . 176467Q) (\CANONICALIZE.PUP.HOSTNAME 176471Q . 200606Q)) (203163Q
) (\HANDLE.PUP.ROUTING.INFO 205325Q . 217664Q) (\ROUTE.PUP 217666Q . 223521Q) (\LOCATE.PUPNET 223523Q 236370Q (\PUPGATELISTENER 203175Q . 207026Q) (\HANDLE.PUP.ROUTING.INFO 207030Q . 221367Q) (\ROUTE.PUP
. 230260Q) (SORT.PUPHOSTS.BY.DISTANCE 230262Q . 232536Q) (\PUPNET.CLOSERP 232540Q . 233721Q) ( 221371Q . 225224Q) (\LOCATE.PUPNET 225226Q . 231763Q) (SORT.PUPHOSTS.BY.DISTANCE 231765Q . 234241Q) (
PUPNET.DISTANCE 233723Q . 234663Q)) (246060Q 256032Q (OPENPUPSOCKET 246072Q . 252553Q) (CLOSEPUPSOCKET \PUPNET.CLOSERP 234243Q . 235424Q) (PUPNET.DISTANCE 235426Q . 236366Q)) (250017Q 257771Q (
252555Q . 254234Q) (PUPSOCKETNUMBER 254236Q . 254467Q) (PUPSOCKETFROMNUMBER 254471Q . 255130Q) ( OPENPUPSOCKET 250031Q . 254512Q) (CLOSEPUPSOCKET 254514Q . 256173Q) (PUPSOCKETNUMBER 256175Q . 256426Q
PUPSOCKETEVENT 255132Q . 255411Q) (\FLUSHPUPSOCQUEUE 255413Q . 256030Q)) (256033Q 256600Q ( ) (PUPSOCKETFROMNUMBER 256430Q . 257067Q) (PUPSOCKETEVENT 257071Q . 257350Q) (\FLUSHPUPSOCQUEUE
\GETMISCSOCKET 256045Q . 256576Q)) (276276Q 311066Q (PUP.ECHOSERVER 276310Q . 301115Q) (PUP.ECHOUSER 257352Q . 257767Q)) (257772Q 260537Q (\GETMISCSOCKET 260004Q . 260535Q)) (300551Q 313341Q (
301117Q . 311064Q)) (311117Q 320250Q (\PEEKPUP 311131Q . 316262Q) (\MAYBEPEEKPUP 316264Q . 320246Q)) ( PUP.ECHOSERVER 300563Q . 303370Q) (PUP.ECHOUSER 303372Q . 313337Q)) (313372Q 322523Q (\PEEKPUP 313404Q
320651Q 332106Q (PRINTPUP 320663Q . 325033Q) (PRINTPUPROUTE 325035Q . 327002Q) (PRINTPUPDATA 327004Q . 320535Q) (\MAYBEPEEKPUP 320537Q . 322521Q)) (323124Q 334361Q (PRINTPUP 323136Q . 327306Q) (
. 327454Q) (PRINTERRORPUP 327456Q . 330156Q) (PUPTRACE 330160Q . 330471Q) (PRINTCONSTANT 330473Q . PRINTPUPROUTE 327310Q . 331255Q) (PRINTPUPDATA 331257Q . 331727Q) (PRINTERRORPUP 331731Q . 332431Q) (
332104Q))))) PUPTRACE 332433Q . 332744Q) (PRINTCONSTANT 332746Q . 334357Q)))))
STOP STOP

Binary file not shown.