<> <> <> PupTypes: DEFINITIONS = BEGIN Byte: TYPE = [0..377B]; Pair: TYPE = MACHINE DEPENDENT RECORD [a, b: CARDINAL]; PupHostID: TYPE = RECORD [Byte]; PupNetID: TYPE = RECORD [Byte]; PupSocketID: TYPE = RECORD [a, b: WORD]; PupAddress: TYPE = MACHINE DEPENDENT RECORD [ net: PupNetID, host: PupHostID, socket: PupSocketID]; <> fillInNetID: PupNetID = [377B]; fillInHostID: PupHostID = [377B]; fillInSocketID: PupSocketID = [0, 0]; fillInPupAddress: PupAddress = [fillInNetID, fillInHostID, fillInSocketID]; allNets: PupNetID = [0]; -- host must be allHosts too allHosts: PupHostID = [0]; -- can be directed to a specific network <> maxDataWordsPerGatewayPup: CARDINAL = 266; maxDataBytesPerGatewayPup: CARDINAL = 2*maxDataWordsPerGatewayPup; maxDataWordsPerRoutingPup: CARDINAL = 64; maxDataBytesPerRoutingPup: CARDINAL = 2*maxDataWordsPerRoutingPup; <Pup-Network.txt>> telnetSoc: PupSocketID = [0, 1]; gatewaySoc: PupSocketID = [0, 2]; ftpSoc: PupSocketID = [0, 3]; miscSrvSoc: PupSocketID = [0, 4]; echoSoc: PupSocketID = [0, 5]; bspTestSoc: PupSocketID = [0, 6]; mailSoc: PupSocketID = [0, 7]; eftpReceiveSoc: PupSocketID = [0, 20B]; spruceStatusSoc: PupSocketID = [0, 21B]; statSoc: PupSocketID = [0, 22B]; oldCopyDiskSoc: PupSocketID = [0, 24B]; copyDiskSoc: PupSocketID = [0, 25B]; eventReportSoc: PupSocketID = [0, 30B]; printerReportSoc: PupSocketID = [0, 31B]; juniperpackConversionSoc: PupSocketID = [0, 34B]; juniperEventSoc: PupSocketID = [0, 35B]; rpcpSoc: PupSocketID = [0, 36B]; clearinghouseSoc: PupSocketID = [0, 37B]; librarianSoc: PupSocketID = [0, 41B]; pineSoc: PupSocketID = [0, 100B]; PupErrorCode: TYPE = MACHINE DEPENDENT{ <> badChecksumPupErrorCode(1B), noProcessPupErrorCode(2B), resourceLimitsPupErrorCode(3B), <> inconsistentPupErrorCode(1001B), cantGetTherePupErrorCode(1002B), hostDownPupErrorCode(1003B), eightHopsPupErrorCode(1004B), tooBigPupErrorCode(1005B), iAmNotAGatewayPupErrorCode(518), gatewayResourceLimitsPupErrorCode(519), <> noErrorPupErrorCode(10000), connectionLimitPupErrorCode(10001), filler(LAST[WORD])}; <> <> <> PupType: TYPE = MACHINE DEPENDENT{ <<000-077 OCTAL! Registered Pup Types>> echoMe(1B), iAmEcho, badEcho, error(4B), rfc(10B), abort, end, endRep, data(20B), aData, ack, mark, int, intRep, aMark, eData(30B), eAck, eEnd, eAbort, rpp(40B), <<200+ Unregistered Pup Types>> <> gatewayRequest(200B), gatewayInfo(201B), <> dateTenexRequest(202B), dateTenexIs, dateAltoRequest(206B), dateAltoIs, mailCheck(210B), mailIsNew, mailNotNew, mailError, mailCheckLaurel, nameLookup(220B), nameIs, nameError, addressLookup, addressIs, whereIsUser(230B), userIs, userError, netDirVersion(240B), sendNetDir, bootFileSend(244B), kissOfDeath(247B), <> request(250B), result, unsolicited, custodian, sync, pineAck, noop, bootDirReq(257B), bootDirReply(260B), last(LAST[Byte])}; <Servers.EARS (Taft)>> <> dateTextRequest: PupType = gatewayRequest; dateTextIs: PupType = gatewayInfo; <> userAuthReq: PupType = request; -- 250 userAuthOk: PupType = result; -- 251 userAuthBad: PupType = unsolicited; -- 252 <> statisticsRequest: PupType = gatewayRequest; statisticsAre: PupType = gatewayInfo; <> eventReport: PupType = netDirVersion; eventReportReply: PupType = sendNetDir; END.