1
0
mirror of synced 2026-03-31 04:10:58 +00:00

Compare commits

...

8 Commits

Author SHA1 Message Date
Nick Briggs
c160b0af15 Merge branch 'master' into nhb-fix-ethereventfn
Resolves conflict for
	internal/loadups/LOADUP-LISP
	internal/loadups/LOADUP-LISP.LCOM
from adding call to (RESTART.ETHER) at end of loadup.
2026-03-26 18:39:51 -07:00
Nick Briggs
d79f1ae819 Merge branch 'master' into nhb-fix-ethereventfn 2026-02-03 12:01:02 -08:00
Nick Briggs
b0f92834e2 Merge branch 'master' into nhb-fix-ethereventfn 2026-01-25 17:36:26 -08:00
Nick Briggs
b45dea97c7 RESTART.ETHER at end of loadup-lisp to ensure network structures are set up. 2026-01-25 15:45:29 -08:00
Nick Briggs
1bf3f50d98 Avoids making copy of \10MBLOCALNDB as \MAIKO.10MB.NDB for \MAIKO.ETHER-INTERRUPT 2026-01-23 18:51:15 -08:00
Nick Briggs
09b6b1e854 Updates \SETETHERFLAGS to avoid setting \10MBFLG when no ethernet 2026-01-23 18:31:19 -08:00
Nick Briggs
6e00dcf458 When no ethernet \FIND.LOCALPUPHOSTNUMBER should immediately return NIL
If there is NO ethernet it is better to avoid a delay waiting for a
PUP lookup response that will never come, and there is no value in
asking for the user to enter a PUP host number that will not be used.
2026-01-01 18:05:52 -08:00
Nick Briggs
16fa8c6a24 Updates \ETHEREVENTFN to remove early exit when the ethernet is unvailable.
In the case that the ethernet is unavailable the \ETHEREVENTFN should
still call \SETETHERFLAGS, \SETLOCALNSNUMBERS, and \FLUSHNDBS, or
a newly started image will retain information from the system on which
it was built (such as ethernet MAC address in the NS address).  This
will also ensure that the NS address is not set to 0, instead initializing
with a fake  address based on the system serial number (calls \SERIALNUMBER).
2026-01-01 17:41:09 -08:00
8 changed files with 567 additions and 604 deletions

View File

@@ -1,12 +1,14 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED "22-Feb-2026 14:15:31" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;27| 7420 (FILECREATED "26-Mar-2026 18:38:22" 
|{DSK}<Users>briggs>Projects>medley>internal>loadups>LOADUP-LISP.;14| 7604
:EDIT-BY |rmk| :EDIT-BY "briggs"
:CHANGES-TO (FNS LOADUP-LISP) :CHANGES-TO (FNS LOADUP-LISP)
:PREVIOUS-DATE "22-Feb-2026 09:49:23" |{WMEDLEY}<internal>loadups>LOADUP-LISP.;26|) :PREVIOUS-DATE "22-Feb-2026 14:15:31"
|{DSK}<Users>briggs>Projects>medley>internal>loadups>LOADUP-LISP.;13|)
(PRETTYCOMPRINT LOADUP-LISPCOMS) (PRETTYCOMPRINT LOADUP-LISPCOMS)
@@ -19,7 +21,8 @@
(DEFINEQ (DEFINEQ
(LOADUP-LISP (LOADUP-LISP
(LAMBDA (DRIBBLEFILE) (* \; "Edited 22-Feb-2026 14:15 by rmk") (LAMBDA (DRIBBLEFILE) (* \; "Edited 26-Mar-2026 18:38 by briggs")
(* \; "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")
@@ -135,6 +138,7 @@
(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)))
) )
@@ -147,5 +151,5 @@
(GLOBALVARS MAKESYSFILENAME MEDLEY-INIT-VARS MEDLEYDIR SYSTEMINITVARS USERRECLST) (GLOBALVARS MAKESYSFILENAME MEDLEY-INIT-VARS MEDLEYDIR SYSTEMINITVARS USERRECLST)
) )
(DECLARE\: DONTCOPY (DECLARE\: DONTCOPY
(FILEMAP (NIL (640 7214 (LOADUP-LISP 650 . 7212))))) (FILEMAP (NIL (695 7398 (LOADUP-LISP 705 . 7396)))))
STOP STOP

Binary file not shown.

View File

@@ -1,15 +1,13 @@
(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
changes to%: (FNS \ETHEREVENTFN \ETHER-AVAILABLE) (FILECREATED "23-Jan-2026 12:42:02" {DSK}<Users>briggs>PROJECTS>Medley>sources>LLETHER.;4 138728
(VARS LLETHERCOMS)
previous date%: " 2-May-2021 12:37:02" {DSK}<home>larry>ilisp>medley>sources>LLETHER.;3) :EDIT-BY nhb
: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)
@@ -17,19 +15,19 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
[(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
@@ -124,7 +122,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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))
@@ -168,19 +166,18 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(* "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)
@@ -192,7 +189,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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")
@@ -208,9 +205,9 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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
@@ -362,9 +359,9 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(* "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))
@@ -382,48 +379,48 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(* "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
@@ -1140,26 +1137,26 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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
@@ -1499,21 +1496,19 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
HOSTNAMEP _ 'NILL]) HOSTNAMEP _ 'NILL])
(\ETHEREVENTFN (\ETHEREVENTFN
[LAMBDA (DEV EVENT) (* ; "Edited 3-May-2021 23:12 by larry") [LAMBDA (DEV EVENT) (* ; "Edited 17-Dec-2025 11:01 by nhb")
(* ; "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 (replace NDBNEXT of \LOCALNDBS
\LOCALNDBS
with NDB)) with NDB))
(T (SETQ \LOCALNDBS NDB))) (T (SETQ \LOCALNDBS NDB)))
NDB))) NDB)))
@@ -1536,10 +1531,10 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
((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])
@@ -1556,11 +1551,13 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(printout PROMPTWINDOW T "[Time not set]"]) (printout PROMPTWINDOW T "[Time not set]"])
(\SETETHERFLAGS (\SETETHERFLAGS
[LAMBDA NIL (* ; "Edited 2-May-2021 12:35 by larry") [LAMBDA NIL (* ; "Edited 23-Jan-2026 12:39 by nhb")
(* ; "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 0) (SETQ \10MBFLG (AND (\ETHER-AVAILABLE)
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))
@@ -1706,40 +1703,40 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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))
) )
@@ -1786,26 +1783,24 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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 (SPREADAPPLY* (fetch NDBENCAPSULATOR of NDB)
of NDB) NDB PACKET HOST LENGTH TYPE)))
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 then (CL:ERROR 'CONDITIONS:SIMPLE-TYPE-ERROR :CULPRIT TABLE
:CULPRIT TABLE :EXPECTED-TYPE :EXPECTED-TYPE 'RoutingTable])
'RoutingTable])
) )
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -1851,28 +1846,28 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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
@@ -2231,48 +2226,49 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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 [ACCESSFNS BASETRANSNSHOST ((TRANSNSHOST (\LOADNSHOSTNUMBER (LOCF DATUM)
(LOCF DATUM)) )
(\STORENSHOSTNUMBER (LOCF DATUM) (\STORENSHOSTNUMBER (LOCF DATUM)
NEWVALUE] NEWVALUE]
(ACCESSFNS BASETRANSSENDERNSHOST ((TRANSSENDERNSHOST (ACCESSFNS BASETRANSSENDERNSHOST ((TRANSSENDERNSHOST (\LOADNSHOSTNUMBER
(\LOADNSHOSTNUMBER (LOCF DATUM)) (LOCF DATUM))
(\STORENSHOSTNUMBER (LOCF DATUM) (\STORENSHOSTNUMBER
NEWVALUE] (LOCF DATUM)
[ACCESSFNS ETHERTRANS NEWVALUE]
([TRANSNSADDRESS [ACCESSFNS ETHERTRANS
(PROGN (* ; ([TRANSNSADDRESS (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 DATUM (CONSTANT (+ (INDEXF (FETCH (\ADDBASE
(ETHERPACKET EPBODY) DATUM
of T)) (CONSTANT (+ (INDEXF (FETCH (ETHERPACKET EPBODY
(INDEXF (FETCH )
(ETHERTRANS of T))
(INDEXF (FETCH (ETHERTRANS
BASETRANSNSHOST BASETRANSNSHOST
) of )
T)) of T))
-2] -2]
(TRANSSENDERNSADDRESS (TRANSSENDERNSADDRESS (\ADDBASE
(\ADDBASE DATUM (CONSTANT (+ (INDEXF (FETCH (ETHERPACKET DATUM
EPBODY) (CONSTANT (+ (INDEXF (FETCH (ETHERPACKET 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
@@ -2571,7 +2567,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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)
@@ -2615,7 +2611,7 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(BLOCKRECORD CENTICLOCK ((CENTICLOCKSIGNBIT BITS 1) (BLOCKRECORD CENTICLOCK ((CENTICLOCKSIGNBIT BITS 1)
(CENTICLOCKMAGNITUDE BITS 31))) (CENTICLOCKMAGNITUDE BITS 31)))
) )
) )
@@ -2757,43 +2753,41 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(DECLARE%: DONTCOPY (DECLARE%: DONTCOPY
(DECLARE%: EVAL@COMPILE (DECLARE%: EVAL@COMPILE
(ACCESSFNS 3MBENCAPSULATION [(3MBENCAPSTART (LOCF (fetch (ETHERPACKET EPENCAPSULATION) (ACCESSFNS 3MBENCAPSULATION [(3MBENCAPSTART (LOCF (fetch (ETHERPACKET EPENCAPSULATION) of DATUM]
of DATUM] (BLOCKRECORD 3MBENCAPSTART ((NIL 5 WORD)
(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 (PBIPUPDATASTART (LOCF (fetch PBIFIRSTPUPDATAWORD of DATUM)))
of DATUM))) (PBIRAWSTART (LOCF (fetch PBILENGTH of DATUM])
(PBIRAWSTART (LOCF (fetch PBILENGTH of DATUM])
) )
(* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE
@@ -2879,8 +2873,8 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
T]) T])
) )
(RPAQQ ROUTINGINFOMACRO (1 "Operation = " WORDS 2 "Info: " REPEAT "(" SEPR ", " INTEGER -4 WORDS (RPAQQ ROUTINGINFOMACRO (1 "Operation = " WORDS 2 "Info: " REPEAT "(" SEPR ", " INTEGER -4 WORDS SEPR
SEPR ") " -2 FINALLY ")")) ") " -2 FINALLY ")"))
(DECLARE%: EVAL@COMPILE DONTCOPY (DECLARE%: EVAL@COMPILE DONTCOPY
(DECLARE%: DOEVAL@COMPILE DONTCOPY (DECLARE%: DOEVAL@COMPILE DONTCOPY
@@ -2913,10 +2907,10 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(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)
@@ -2947,33 +2941,31 @@ Copyright (c) 1982-1988, 1990-1993, 2021 by Venue & Xerox Corporation.
(* "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 (10792 19248 (CANONICAL.HOSTNAME 10802 . 12391) (\ENQUEUE 12393 . 15038) (\DEQUEUE 15040 (FILEMAP (NIL (10585 19041 (CANONICAL.HOSTNAME 10595 . 12184) (\ENQUEUE 12186 . 14831) (\DEQUEUE 14833
. 16367) (\QUEUELENGTH 16369 . 16669) (\ONQUEUE 16671 . 16937) (\UNQUEUE 16939 . 19246)) (52949 56815 . 16160) (\QUEUELENGTH 16162 . 16462) (\ONQUEUE 16464 . 16730) (\UNQUEUE 16732 . 19039)) (52600 56466
(\ALLOCATE.ETHERPACKET 52959 . 54000) (\RELEASE.ETHERPACKET 54002 . 55075) (RELEASE.PUP 55077 . 55222 (\ALLOCATE.ETHERPACKET 52610 . 53651) (\RELEASE.ETHERPACKET 53653 . 54726) (RELEASE.PUP 54728 . 54873
) (\FLUSH.PACKET.QUEUE 55224 . 55575) (\REQUEUE.ETHERPACKET 55577 . 56091) (\EP.PUT.AUX 56093 . 56813) ) (\FLUSH.PACKET.QUEUE 54875 . 55226) (\REQUEUE.ETHERPACKET 55228 . 55742) (\EP.PUT.AUX 55744 . 56464)
) (57389 68770 (\SETLOCALNSNUMBERS 57399 . 58784) (\LOADNSADDRESS 58786 . 59078) (\STORENSADDRESS ) (57040 68421 (\SETLOCALNSNUMBERS 57050 . 58435) (\LOADNSADDRESS 58437 . 58729) (\STORENSADDRESS
59080 . 59261) (\PRINTNSADDRESS 59263 . 60346) (\NSADDRESS.DEFPRINT 60348 . 65293) ( 58731 . 58912) (\PRINTNSADDRESS 58914 . 59997) (\NSADDRESS.DEFPRINT 59999 . 64944) (
\NSADDRESS.PRINT.DECIMAL 65295 . 67426) (\LOADNSHOSTNUMBER 67428 . 68057) (\STORENSHOSTNUMBER 68059 . \NSADDRESS.PRINT.DECIMAL 64946 . 67077) (\LOADNSHOSTNUMBER 67079 . 67708) (\STORENSHOSTNUMBER 67710 .
68463) (PRINTNSHOSTNUMBER 68465 . 68768)) (68883 74631 (\ETHERINIT 68893 . 69463) (\ETHEREVENTFN 69465 68114) (PRINTNSHOSTNUMBER 68116 . 68419)) (68534 74394 (\ETHERINIT 68544 . 69114) (\ETHEREVENTFN 69116
. 71997) (\ETHER-AVAILABLE 71999 . 72157) (\TIME.NOT.SET 72159 . 72485) (\SETETHERFLAGS 72487 . 72938 . 71594) (\ETHER-AVAILABLE 71596 . 71754) (\TIME.NOT.SET 71756 . 72082) (\SETETHERFLAGS 72084 . 72701
) (\FLUSHNDBS 72940 . 74118) (\FLUSH.NDB.QUEUE 74120 . 74629)) (74632 77924 (\CHECKSUM 74642 . 76574) ) (\FLUSHNDBS 72703 . 73881) (\FLUSH.NDB.QUEUE 73883 . 74392)) (74395 77687 (\CHECKSUM 74405 . 76337)
(\HANDLE.RAW.OTHER 76576 . 76931) (\HANDLE.RAW.PACKET 76933 . 77445) (\ADD.PACKET.FILTER 77447 . 77679 (\HANDLE.RAW.OTHER 76339 . 76694) (\HANDLE.RAW.PACKET 76696 . 77208) (\ADD.PACKET.FILTER 77210 . 77442
) (\DEL.PACKET.FILTER 77681 . 77922)) (85757 86282 (ENCAPSULATE.ETHERPACKET 85767 . 86039) ( ) (\DEL.PACKET.FILTER 77444 . 77685)) (85191 85716 (ENCAPSULATE.ETHERPACKET 85201 . 85473) (
TRANSMIT.ETHERPACKET 86041 . 86280)) (86570 99166 (\AGE.ROUTING.TABLE 86580 . 88729) ( TRANSMIT.ETHERPACKET 85475 . 85714)) (86004 98600 (\AGE.ROUTING.TABLE 86014 . 88163) (
\ADD.ROUTING.TABLE.ENTRY 88731 . 89427) (\CLEAR.ROUTING.TABLE 89429 . 90156) (\MAP.ROUTING.TABLE 90158 \ADD.ROUTING.TABLE.ENTRY 88165 . 88861) (\CLEAR.ROUTING.TABLE 88863 . 89590) (\MAP.ROUTING.TABLE 89592
. 90686) (PRINTROUTINGTABLE 90688 . 94313) (\ROUTINGTABLE.INFOHOOK 94315 . 99164)) (99651 106436 ( . 90120) (PRINTROUTINGTABLE 90122 . 93747) (\ROUTINGTABLE.INFOHOOK 93749 . 98598)) (99085 105870 (
\TRANSLATE.10TO3 99661 . 101445) (\NOTE.10TO3 101447 . 103063) (\HANDLE.RAW.10TO3 103065 . 106434)) ( \TRANSLATE.10TO3 99095 . 100879) (\NOTE.10TO3 100881 . 102497) (\HANDLE.RAW.10TO3 102499 . 105868)) (
110418 125240 (PRINTPACKET 110428 . 110989) (\MAYBEPRINTPACKET 110991 . 112648) (PRINT10TO3 112650 . 109860 124682 (PRINTPACKET 109870 . 110431) (\MAYBEPRINTPACKET 110433 . 112090) (PRINT10TO3 112092 .
114018) (PRINTPACKETDATA 114020 . 119310) (PRINTPACKETQUEUE 119312 . 119741) (TIME.SINCE.PACKET 119743 113460) (PRINTPACKETDATA 113462 . 118752) (PRINTPACKETQUEUE 118754 . 119183) (TIME.SINCE.PACKET 119185
. 120228) (MAKE-NETWORK-TRACE-WINDOW 120230 . 123772) (\CHANGE.ETHER.TRACING 123774 . 125238)) ( . 119670) (MAKE-NETWORK-TRACE-WINDOW 119672 . 123214) (\CHANGE.ETHER.TRACING 123216 . 124680)) (
125611 126426 (\CENTICLOCK 125621 . 126424)) (126881 132981 (\3MBGETPACKET 126891 . 128311) ( 125049 125864 (\CENTICLOCK 125059 . 125862)) (126315 132415 (\3MBGETPACKET 126325 . 127745) (
\3MB.CREATENDB 128313 . 129028) (\3MBSENDPACKET 129030 . 131213) (\3MBWATCHER 131215 . 131953) ( \3MB.CREATENDB 127747 . 128462) (\3MBSENDPACKET 128464 . 130647) (\3MBWATCHER 130649 . 131387) (
\3MBENCAPSULATE 131955 . 132503) (\3MB.BROADCASTP 132505 . 132676) (\3MBFLUSH 132678 . 132979)) ( \3MBENCAPSULATE 131389 . 131937) (\3MB.BROADCASTP 131939 . 132110) (\3MBFLUSH 132112 . 132413)) (
135935 137878 (ASSURE.ETHER.ON 135945 . 136275) (INITPUPLEVEL1 136277 . 136757) (TURN.ON.ETHER 136759 135157 137100 (ASSURE.ETHER.ON 135167 . 135497) (INITPUPLEVEL1 135499 . 135979) (TURN.ON.ETHER 135981
. 136904) (RESTART.ETHER 136906 . 137280) (TURN.OFF.ETHER 137282 . 137600) (PRINTWORDS 137602 . . 136126) (RESTART.ETHER 136128 . 136502) (TURN.OFF.ETHER 136504 . 136822) (PRINTWORDS 136824 .
137876)) (138153 138688 (\DEVICE.INPUT 138163 . 138328) (\DEVICE.OUTPUT 138330 . 138524) (\D0.STARTIO 137098)) (137371 137906 (\DEVICE.INPUT 137381 . 137546) (\DEVICE.OUTPUT 137548 . 137742) (\D0.STARTIO
138526 . 138686))))) 137744 . 137904)))))
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 "25-Oct-2021 15:12:33" |{DSK}<home>larry>medley>sources>MAIKOETHER.;2| 28792 (FILECREATED "30-Dec-2025 19:09:34" |{DSK}<Users>briggs>projects>medley>sources>MAIKOETHER.;7| 26899
|changes| |to:| (FNS \\DISPLAYLINE) :EDIT-BY |nhb|
(VARS MAIKOETHERCOMS)
|previous| |date:| "25-Mar-2021 09:50:57" |{DSK}<home>larry>medley>sources>MAIKOETHER.;1|) :CHANGES-TO (VARS MAIKOETHERCOMS)
: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,10 +23,6 @@
(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)
@@ -35,9 +31,13 @@
(\\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 (* \; "MAIKO handler for new interrupt-driven incoming ethernet communication, rather than polling for it.") (COMS
(* |;;| "MAIKO handler for new interrupt-driven incoming ethernet communication, rather than polling for it.")
(FNS \\MAIKO.ETHER-INTERRUPT)) (FNS \\MAIKO.ETHER-INTERRUPT))
(COMS (* \; "MAIKO Log & Console message handling. Interrupt-driven message printing, instead of polled printing.") (COMS
(* |;;| "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,13 +48,12 @@
(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 (DECLARE (GLOBALVARS \\MAIKO.INPUT.PACKET \\10MB.EXPECTED.RECEIVE.INTERVAL \\10MB.INPUT.TIMEOUT))
\\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"))
@@ -65,21 +64,17 @@
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| (|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING)
\\ES.PENDING) (SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of| \\MAIKO.INPUT.PACKET))
(SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of| (|replace| NDBWATCHER |of| NDB |with| (ADD.PROCESS (LIST '\\10MBWATCHER (KWOTE NDB))
\\MAIKO.INPUT.PACKET 'RESTARTABLE
)) 'SYSTEM
(|replace| NDBWATCHER |of| NDB |with| (ADD.PROCESS (LIST '\\10MBWATCHER 'AFTEREXIT
(KWOTE NDB)) 'DELETE))
'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
@@ -92,20 +87,16 @@
(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 (OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB (LOCF (|fetch| DLETHERNET |of| \\IOPAGE
(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| (LOCF (|fetch| (IFPAGE |NSHost0|) |of| |\\InterfacePage|))
|\\InterfacePage|)
)
\\#WDS.NSHOSTNUMBER)) \\#WDS.NSHOSTNUMBER))
(T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of| (T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of| CSB))
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))
@@ -117,7 +108,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)))
@@ -125,23 +116,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))))
@@ -154,20 +145,21 @@
(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 THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ (OR MESSAGE-BUFFER
(OR MESSAGE-BUFFER (SETQ
(SETQ MESSAGE-BUFFER MESSAGE-BUFFER
(ALLOCSTRING 1024))) (ALLOCSTRING
1024)) 1024)))
THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH) 1024))
ELSE "?? system message: polling failed"))) THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH)
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)))
@@ -182,31 +174,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))))
@@ -219,20 +211,21 @@
(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 THEN (PROMPTPRINT (IF (SETQ MESSAGE-LENGTH (SUBRCALL MESSAGE-READ (OR MESSAGE-BUFFER
(OR MESSAGE-BUFFER (SETQ
(SETQ MESSAGE-BUFFER MESSAGE-BUFFER
(ALLOCSTRING 1024))) (ALLOCSTRING
1024)) 1024)))
THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH) 1024))
ELSE "?? system message: polling failed"))) THEN (SUBSTRING MESSAGE-BUFFER 1 MESSAGE-LENGTH)
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)))
@@ -247,15 +240,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")
@@ -266,43 +259,38 @@
(|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| (|replace| EPTYPE |of| PACKET |with| (|for| PAIR |in| \\10MBTYPE.TRANSLATIONS
\\10MBTYPE.TRANSLATIONS |bind| (TYPE _ (|fetch| 10MBTYPE |of| PACKET))
|bind| (TYPE _ |when| (EQ TYPE (CAR PAIR))
(|fetch| |do| (RETURN (CDR PAIR))
10MBTYPE |finally| (RETURN TYPE)))
|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) (|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING)
|with| \\ES.PENDING) (SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of|
(SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE \\MAIKO.INPUT.PACKET
|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 4-May-91 15:50 by jds") (LAMBDA (NDB RESTARTFLG MYNSNUMBER) (* \; "Edited 30-Dec-2025 18:50 by nhb")
(* \; "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.")
@@ -312,13 +300,11 @@
(|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| (|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING)
\\ES.PENDING)
(AND (SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of| (AND (SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE |of|
\\MAIKO.INPUT.PACKET \\MAIKO.INPUT.PACKET
)) ))
@@ -340,20 +326,16 @@
(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 (OR CSB (|replace| NDBCSB |of| NDB |with| (SETQ CSB (LOCF (|fetch| DLETHERNET |of| \\IOPAGE
(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| (LOCF (|fetch| (IFPAGE |NSHost0|) |of| |\\InterfacePage|))
|\\InterfacePage|)
)
\\#WDS.NSHOSTNUMBER)) \\#WDS.NSHOSTNUMBER))
(T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of| (T (\\STORENSHOSTNUMBER (LOCF (|fetch| DLLOCALHOST0 |of| CSB))
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))
@@ -365,14 +347,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)))
) )
@@ -391,41 +373,37 @@
(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 4-May-91 13:46 by jds") (LAMBDA NIL (* \; "Edited 30-Dec-2025 18:36 by nhb")
(* \; "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 \\MAIKO.10MB.NDB) (PROG ((NDB \\10MBLOCALNDB)
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:")
@@ -437,33 +415,27 @@
READ-MORE-LOOP READ-MORE-LOOP
(COND (COND
((NEQ (SETQ LENGTH (|fetch| DLFIRSTICB |of| (|fetch| NDBCSB ((NEQ (SETQ LENGTH (|fetch| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB)))
|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))
|when| (EQ TYPE (CAR PAIR)) |finally| (RETURN TYPE)))
|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) (|replace| DLFIRSTICB |of| (|fetch| NDBCSB |of| NDB) |with| \\ES.PENDING)
|with| \\ES.PENDING)
(COND (COND
((SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE ((SUBRCALL ETHER-GET \\10MBPACKETLENGTH (|fetch| 10MBPACKETBASE
|of| |of| \\MAIKO.INPUT.PACKET))
\\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)))))))))))
@@ -471,7 +443,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."
) )
@@ -527,14 +499,13 @@
(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 (2591 22216 (\\10MB.RESTART.ETHER 2601 . 2761) (\\10MB.STARTDRIVER 2763 . 4522) ( (FILEMAP (NIL (2301 20787 (\\10MB.RESTART.ETHER 2311 . 2475) (\\10MB.STARTDRIVER 2477 . 3863) (
\\10MB.TURNOFFETHER 4524 . 4684) (\\10MB.TURNONETHER 4686 . 7056) (\\10MBSENDPACKET 7058 . 9429) ( \\10MB.TURNOFFETHER 3865 . 4029) (\\10MB.TURNONETHER 4031 . 6121) (\\10MBSENDPACKET 6123 . 8481) (
\\10MBWATCHER 9431 . 10770) (\\MAIKO.10MBSENDPACKET 10772 . 13150) (\\MAIKO.10MBWATCHER 13152 . 14497) \\10MBWATCHER 8483 . 9926) (\\MAIKO.10MBSENDPACKET 9928 . 12296) (\\MAIKO.10MBWATCHER 12298 . 13747) (
(\\MAIKO.ETHERRESUME 14499 . 14658) (\\MAIKO.ETHERSUSPEND 14660 . 14821) (\\MAIKO.INPUT.INTERRUPT \\MAIKO.ETHERRESUME 13749 . 13912) (\\MAIKO.ETHERSUSPEND 13914 . 14079) (\\MAIKO.INPUT.INTERRUPT 14081
14823 . 17085) (\\NS.SETTIME 17087 . 17367) (\\PUP.SETTIME 17369 . 17650) (\\MAIKO.10MBSTARTDRIVER . 15925) (\\NS.SETTIME 15927 . 16211) (\\PUP.SETTIME 16213 . 16498) (\\MAIKO.10MBSTARTDRIVER 16500 .
17652 . 19307) (\\MAIKO.10MBTURNONETHER 19309 . 21684) (\\MAIKO.10MB.RESTART.ETHER 21686 . 22039) ( 18150) (\\MAIKO.10MBTURNONETHER 18152 . 20247) (\\MAIKO.10MB.RESTART.ETHER 20249 . 20606) (
\\MAIKO.CHECKSUM 22041 . 22214)) (23271 26336 (\\MAIKO.ETHER-INTERRUPT 23281 . 26334)) (26458 27821 ( \\MAIKO.CHECKSUM 20608 . 20785)) (21751 24528 (\\MAIKO.ETHER-INTERRUPT 21761 . 24526)) (24652 26015 (
\\MAIKO.CONSOLE-LOG-PRINT 26468 . 27819)) (27867 28547 (\\MAIKO.IO-INTERRUPT 27877 . 28545))))) \\MAIKO.CONSOLE-LOG-PRINT 24662 . 26013)) (26061 26741 (\\MAIKO.IO-INTERRUPT 26071 . 26739)))))
STOP STOP

Binary file not shown.

View File

@@ -1,15 +1,13 @@
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP" BASE 8) (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 8)
(FILECREATED " 1-May-2021 19:49:18" {DSK}<home>larry>ilisp>medley>sources>PUP.;2 336270Q
changes to%: (FNS \PUP.SETTIME CANONICAL.HOSTNAME) (FILECREATED "22-Dec-2025 11:58:55" {DSK}<Users>briggs>projects>medley>sources>PUP.;4 334515Q
(VARS PUPCOMS)
previous date%: "19-Jan-93 11:14:09" {DSK}<home>larry>ilisp>medley>sources>PUP.;1) :EDIT-BY nhb
:CHANGES-TO (FNS \FIND.LOCALPUPHOSTNUMBER)
:PREVIOUS-DATE "20-Dec-2025 13:51:34" {DSK}<Users>briggs>projects>medley>sources>PUP.;3)
(* ; "
Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
")
(PRETTYCOMPRINT PUPCOMS) (PRETTYCOMPRINT PUPCOMS)
@@ -45,13 +43,13 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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))
@@ -138,53 +136,52 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(* "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 (FOLDLO (SUB1 (fetch PUPLENGTH of DATUM))
of DATUM)) BYTESPERWORD]
BYTESPERWORD] (BLOCKRECORD PUPCHECKSUMLOC ((PUPCHECKSUM WORD]
(BLOCKRECORD PUPCHECKSUMLOC ((PUPCHECKSUM WORD] (TYPE? (type? ETHERPACKET DATUM)))
(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
@@ -274,23 +271,26 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(RETURN T])]) (RETURN T])])
(\FIND.LOCALPUPHOSTNUMBER (\FIND.LOCALPUPHOSTNUMBER
[LAMBDA (NDB EVENT QUIET) (* bvm%: "26-Jul-84 16:27") [LAMBDA (NDB EVENT QUIET) (* ; "Edited 22-Dec-2025 11:58 by nhb")
(* ; "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# (PUPTRACEFLG (printout PUPTRACEFILE "My pup address = " (fetch PUPNET# of NEWNUMBER)
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 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(* "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
@@ -1174,24 +1174,22 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
) )
(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 `(\GETBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
'ETHERPACKET)) ,BYTE#))
,BYTE#))
(DEFOPTIMIZER PUTPUPBYTE (PUPARG BYTE# VALUE) (DEFOPTIMIZER PUTPUPBYTE (PUPARG BYTE# VALUE)
`(\PUTBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG `(\PUTBASEBYTE (fetch PUPCONTENTS of (\DTEST ,PUPARG 'ETHERPACKET))
'ETHERPACKET)) ,BYTE#
,BYTE# ,VALUE))
,VALUE))
@@ -1282,7 +1280,7 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
) )
(* ; (* ;
 "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)
@@ -1301,8 +1299,8 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(* "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)
@@ -1597,12 +1595,12 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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
@@ -1628,24 +1626,24 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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)
@@ -1670,11 +1668,11 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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
@@ -1704,17 +1702,17 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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
@@ -1826,21 +1824,21 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(* "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
@@ -1868,20 +1866,20 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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
@@ -2033,13 +2031,13 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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)
@@ -2074,9 +2072,9 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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)
@@ -2097,28 +2095,28 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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")
) )
) )
) )
@@ -2447,10 +2445,10 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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)
@@ -2469,32 +2467,30 @@ Copyright (c) 3676-3711, 3745 by Venue & Xerox Corporation.
(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 (25631Q 61606Q (\STARTPUP 25643Q . 26515Q) (ASSURE.PUP.READY 26517Q . 34612Q) ( (FILEMAP (NIL (25117Q 61405Q (\STARTPUP 25131Q . 26003Q) (ASSURE.PUP.READY 26005Q . 34100Q) (
\FIND.LOCALPUPHOSTNUMBER 34614Q . 37012Q) (\PROMPT.FOR.PUP.NUMBER 37014Q . 41034Q) (\HANDLE.RAW.PUP \FIND.LOCALPUPHOSTNUMBER 34102Q . 36611Q) (\PROMPT.FOR.PUP.NUMBER 36613Q . 40633Q) (\HANDLE.RAW.PUP
41036Q . 57136Q) (\FORWARD.PUP 57140Q . 60060Q) (\SETPUPCHECKSUM 60062Q . 61604Q)) (66376Q 73470Q ( 40635Q . 56735Q) (\FORWARD.PUP 56737Q . 57657Q) (\SETPUPCHECKSUM 57661Q . 61403Q)) (66151Q 73243Q (
\PUPERROR 66410Q . 73466Q)) (73527Q 112663Q (SETUPPUP 73541Q . 76727Q) (SWAPPUPPORTS 76731Q . 77546Q) \PUPERROR 66163Q . 73241Q)) (73302Q 112436Q (SETUPPUP 73314Q . 76502Q) (SWAPPUPPORTS 76504Q . 77321Q)
(GETPUP 77550Q . 102462Q) (SENDPUP 102464Q . 106306Q) (EXCHANGEPUPS 106310Q . 110346Q) (DISCARDPUPS (GETPUP 77323Q . 102235Q) (SENDPUP 102237Q . 106061Q) (EXCHANGEPUPS 106063Q . 110121Q) (DISCARDPUPS
110350Q . 111154Q) (GETPUPWORD 111156Q . 111475Q) (\PUPINIT 111477Q . 112661Q)) (112664Q 154244Q ( 110123Q . 110727Q) (GETPUPWORD 110731Q . 111250Q) (\PUPINIT 111252Q . 112434Q)) (112437Q 154017Q (
ETHERHOSTNAME 112676Q . 122024Q) (ETHERHOSTNUMBER 122026Q . 122441Q) (ETHERPORT 122443Q . 126162Q) ( ETHERHOSTNAME 112451Q . 121577Q) (ETHERHOSTNUMBER 121601Q . 122214Q) (ETHERPORT 122216Q . 125735Q) (
BESTPUPADDRESS 126164Q . 136224Q) (NETDAYTIME0 136226Q . 136557Q) (\PUP.SETTIME 136561Q . 137206Q) ( BESTPUPADDRESS 125737Q . 135777Q) (NETDAYTIME0 136001Q . 136332Q) (\PUP.SETTIME 136334Q . 136761Q) (
\SETNEWTIME0 137210Q . 140270Q) (\NET.SETTIME 140272Q . 141361Q) (NETDATE 141363Q . 141720Q) ( \SETNEWTIME0 136763Q . 140043Q) (\NET.SETTIME 140045Q . 141134Q) (NETDATE 141136Q . 141473Q) (
\LOOKUPPORT 141722Q . 147561Q) (\PARSE.PORTCONSTANT 147563Q . 152673Q) (\FIXLOCALNET 152675Q . 154242Q \LOOKUPPORT 141475Q . 147334Q) (\PARSE.PORTCONSTANT 147336Q . 152446Q) (\FIXLOCALNET 152450Q . 154015Q
)) (154245Q 155602Q (PORTSTRING 154257Q . 155246Q) (OCTALSTRING 155250Q . 155600Q)) (156174Q 165305Q ( )) (154020Q 155355Q (PORTSTRING 154032Q . 155021Q) (OCTALSTRING 155023Q . 155353Q)) (155747Q 165060Q (
CLEARPUP 156206Q . 160721Q) (PUTPUPWORD 160723Q . 161250Q) (GETPUPBYTE 161252Q . 161575Q) (PUTPUPBYTE CLEARPUP 155761Q . 160474Q) (PUTPUPWORD 160476Q . 161023Q) (GETPUPBYTE 161025Q . 161350Q) (PUTPUPBYTE
161577Q . 162130Q) (GETPUPSTRING 162132Q . 163563Q) (GETPUPSTREAM 163565Q . 164514Q) (PUTPUPSTRING 161352Q . 161703Q) (GETPUPSTRING 161705Q . 163336Q) (GETPUPSTREAM 163340Q . 164267Q) (PUTPUPSTRING
164516Q . 165303Q)) (167410Q 175227Q (READPLIST 167422Q . 175225Q)) (175410Q 200610Q ( 164271Q . 165056Q)) (166651Q 174470Q (READPLIST 166663Q . 174466Q)) (174651Q 200051Q (
\CANONICAL.HOSTNAME 175422Q . 176467Q) (\CANONICALIZE.PUP.HOSTNAME 176471Q . 200606Q)) (203163Q \CANONICAL.HOSTNAME 174663Q . 175730Q) (\CANONICALIZE.PUP.HOSTNAME 175732Q . 200047Q)) (202406Q
236370Q (\PUPGATELISTENER 203175Q . 207026Q) (\HANDLE.PUP.ROUTING.INFO 207030Q . 221367Q) (\ROUTE.PUP 235613Q (\PUPGATELISTENER 202420Q . 206251Q) (\HANDLE.PUP.ROUTING.INFO 206253Q . 220612Q) (\ROUTE.PUP
221371Q . 225224Q) (\LOCATE.PUPNET 225226Q . 231763Q) (SORT.PUPHOSTS.BY.DISTANCE 231765Q . 234241Q) ( 220614Q . 224447Q) (\LOCATE.PUPNET 224451Q . 231206Q) (SORT.PUPHOSTS.BY.DISTANCE 231210Q . 233464Q) (
\PUPNET.CLOSERP 234243Q . 235424Q) (PUPNET.DISTANCE 235426Q . 236366Q)) (250017Q 257771Q ( \PUPNET.CLOSERP 233466Q . 234647Q) (PUPNET.DISTANCE 234651Q . 235611Q)) (247006Q 256760Q (
OPENPUPSOCKET 250031Q . 254512Q) (CLOSEPUPSOCKET 254514Q . 256173Q) (PUPSOCKETNUMBER 256175Q . 256426Q OPENPUPSOCKET 247020Q . 253501Q) (CLOSEPUPSOCKET 253503Q . 255162Q) (PUPSOCKETNUMBER 255164Q . 255415Q
) (PUPSOCKETFROMNUMBER 256430Q . 257067Q) (PUPSOCKETEVENT 257071Q . 257350Q) (\FLUSHPUPSOCQUEUE ) (PUPSOCKETFROMNUMBER 255417Q . 256056Q) (PUPSOCKETEVENT 256060Q . 256337Q) (\FLUSHPUPSOCQUEUE
257352Q . 257767Q)) (257772Q 260537Q (\GETMISCSOCKET 260004Q . 260535Q)) (300551Q 313341Q ( 256341Q . 256756Q)) (256761Q 257526Q (\GETMISCSOCKET 256773Q . 257524Q)) (277224Q 312014Q (
PUP.ECHOSERVER 300563Q . 303370Q) (PUP.ECHOUSER 303372Q . 313337Q)) (313372Q 322523Q (\PEEKPUP 313404Q PUP.ECHOSERVER 277236Q . 302043Q) (PUP.ECHOUSER 302045Q . 312012Q)) (312045Q 321176Q (\PEEKPUP 312057Q
. 320535Q) (\MAYBEPEEKPUP 320537Q . 322521Q)) (323124Q 334361Q (PRINTPUP 323136Q . 327306Q) ( . 317210Q) (\MAYBEPEEKPUP 317212Q . 321174Q)) (321577Q 333034Q (PRINTPUP 321611Q . 325761Q) (
PRINTPUPROUTE 327310Q . 331255Q) (PRINTPUPDATA 331257Q . 331727Q) (PRINTERRORPUP 331731Q . 332431Q) ( PRINTPUPROUTE 325763Q . 327730Q) (PRINTPUPDATA 327732Q . 330402Q) (PRINTERRORPUP 330404Q . 331104Q) (
PUPTRACE 332433Q . 332744Q) (PRINTCONSTANT 332746Q . 334357Q))))) PUPTRACE 331106Q . 331417Q) (PRINTCONSTANT 331421Q . 333032Q)))))
STOP STOP

Binary file not shown.