-- File: PupTypes.Mesa, Last Edit: HGM June 7, 1979 12:46 AM -- Copyright Xerox Corporation 1979, 1980 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 ]; RppAddress: TYPE = MACHINE DEPENDENT RECORD [ net: PupNetID, host: PupHostID, socket: WORD, connectionID: WORD ]; -- Addressing Constants 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 -- Buffer size Constants maxDataWordsPerGatewayPup: CARDINAL = 266; maxDataBytesPerGatewayPup: CARDINAL = 2*maxDataWordsPerGatewayPup; -- Well Known Sockets: See [MAXC]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]; earsStatusSoc: 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 = RECORD [ WORD ]; -- Pup got to the destination machine, but wasn't processed badChecksumPupErrorCode: PupErrorCode = [1B]; noProcessPupErrorCode: PupErrorCode = [2B]; resourceLimitsPupErrorCode: PupErrorCode = [3B]; -- Pup didn't get to the destination machine inconsistentPupErrorCode: PupErrorCode = [1001B]; cantGetTherePupErrorCode: PupErrorCode = [1002B]; hostDownPupErrorCode: PupErrorCode = [1003B]; eightHopsPupErrorCode: PupErrorCode = [1004B]; tooBigPupErrorCode: PupErrorCode = [1005B]; iAmNotAGatewayPupErrorCode: PupErrorCode = [518]; gatewayResourceLimitsPupErrorCode: PupErrorCode = [519]; -- used by ForwardBuffer for various hacks noErrorPupErrorCode: PupTypes.PupErrorCode = [10000]; connectionLimitPupErrorCode: PupTypes.PupErrorCode = [10001]; -- 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. PupType: TYPE = { -- 000-077 OCTAL! Registered Pup Types pt000, echoMe, iAmEcho, badEcho, error, pt005, pt006, pt007, rfc, abort, end, endRep, pt014, pt015, pt016, pt017, data, aData, ack, mark, int, intRep, aMark, pt027, eData, eAck, eEnd, eAbort, pt034, pt035, pt036, pt037, rpp, pt041, pt042, pt043, pt044, pt045, pt046, pt047, pt050, pt051, pt052, pt053, pt054, pt055, pt056, pt057, pt060, pt061, pt062, pt063, pt064, pt065, pt066, pt067, pt070, pt071, pt072, pt073, pt074, pt075, pt076, pt077, -- 100-177 pt100, pt101, pt102, pt103, pt104, pt105, pt106, pt107, pt110, pt111, pt112, pt113, pt114, pt115, pt116, pt117, pt120, pt121, pt122, pt123, pt124, pt125, pt126, pt127, pt130, pt131, pt132, pt133, pt134, pt135, pt136, pt137, pt140, pt141, pt142, pt143, pt144, pt145, pt146, pt147, pt150, pt151, pt152, pt153, pt154, pt155, pt156, pt157, pt160, pt161, pt162, pt163, pt164, pt165, pt166, pt167, pt170, pt171, pt172, pt173, pt174, pt175, pt176, pt177, -- 200+ Unregistered Pup Types -- Socket 2 - Gateway info gatewayRequest, gatewayInfo, -- Socket 4 - Misc services dateTenexRequest, dateTenexIs, pt204, pt205, -- old format Alto date dateAltoRequest, dateAltoIs, mailCheck, mailIsNew, mailNotNew, mailError, mailCheckLaurel, pt215, pt216, pt217, nameLookup, nameIs, nameError, addressLookup, addressIs, pt225, pt226, pt227, whereIsUser, userIs, userError, pt233, pt234, pt235, pt236, pt237, netDirVersion, sendNetDir, pt242, pt243, bootFileSend, pt245, pt246, kissOfDeath, -- Pine (save a few spares too) request, result, unsolicited, custodian, sync, pineAck, noop, bootDirReq, bootDirReply, ptp261, ptp262, ptp263, ptp264, ptp265, ptp266, ptp267 }; -- see Servers.EARS (Taft) -- Socket 4 Misc Services - these overlap with Gateway info dateTextRequest: PupType = gatewayRequest; dateTextIs: PupType = gatewayInfo; -- Socket 4 Misc Services - these overlap with Pine userAuthReq: PupType = request; -- 250 userAuthOk: PupType = result; -- 251 userAuthBad: PupType = unsolicited; -- 252 -- Socket 22 Statistics - more overlap statisticsRequest: PupType = gatewayRequest; statisticsAre: PupType = gatewayInfo; -- Socket 30 Event Report - more overlap eventReport: PupType = netDirVersion; eventReportReply: PupType = sendNetDir; END.(2048)