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; 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{ 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), 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])}; 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. ZPupTypes.Mesa Copyright c 1985 by Xerox Corporation. All rights reserved. HGM December 6, 1980 3:52 PM Addressing Constants Buffer size Constants Well Known Sockets: See [MAXC]Pup-Network.txt Pup got to the destination machine, but wasn't processed Pup didn't get to the destination machine used by ForwardBuffer for various hacks This is an attempt to get the TYPE checker to help us. Unfortunately, the values are a bit sparce. Be sure to have enough values to make it an 8 bit field. 000-077 OCTAL! Registered Pup Types 200+ Unregistered Pup Types Socket 2 - Gateway info Socket 4 - Misc services Pine (save a few spares too) see Servers.EARS (Taft) Socket 4 Misc Services - these overlap with Gateway info Socket 4 Misc Services - these overlap with Pine Socket 22 Statistics - more overlap Socket 30 Event Report - more overlap ΚΛ˜codešœ ™ Kšœ Οmœ1™K˜FK˜&K˜Kšœ™K˜CK˜K˜%K˜Kšœžœ ˜K˜K˜K˜—Kšœ™K˜Kšœ8™8K˜*K˜"K˜Kšœ0™0Kšœ Ÿ˜&KšœŸ˜$Kšœ$Ÿ˜*K˜Kšœ#™#K˜,K˜%K˜Kšœ%™%K˜%K˜'K˜Kšžœ˜K˜——…— /