-- File: PtDefs.mesa, Last Edit: HGM October 16, 1979 1:31 AM DIRECTORY StatsDefs: FROM "StatsDefs" USING [StatCounterIndex], PupStream: FROM "PupStream" USING [CloseReason], PupDefs: FROM "PupDefs" USING [PupAddress, PupHostID, PupNetID, PupSocketID]; PtDefs: DEFINITIONS = BEGIN OPEN PupDefs; slow: BOOLEAN = TRUE; -- used by PtPkt and PtSocket packetCycle: CARDINAL = 500; -- used by PtBSP and PtOC byteCycle: INTEGER = 512*10; blockCycle: INTEGER = 100; blockSize: INTEGER = 2000; DataBuffer: TYPE = PACKED ARRAY [0..blockSize) OF [0..377B]; PtInterface: TYPE = POINTER TO PtVector; PtVector: TYPE = RECORD [ socNum: PupSocketID, pullMe: PupAddress, pullHim: PupAddress, pushMe: PupAddress, pushHim: PupAddress, stopFlag: BOOLEAN, length: {long,short,random,cyclic,ignore,number}, packetLength: CARDINAL, data: {alternating,cyclic,ignore,ones,random,zeros}, streamData: WORD, mode: {byte,block}, doStats: BOOLEAN, -- copied from Pup dataWordsPerPup: CARDINAL, displaying: BOOLEAN, info: BOOLEAN, spying: BOOLEAN, ticking: BOOLEAN, localOnly: BOOLEAN, myHost: PupHostID, myNet: PupNetID, whyText: ARRAY PupStream.CloseReason OF STRING ]; LengthMismatch: SIGNAL; DataMismatch: SIGNAL; -- PtSocket statRawPacketsSent: StatsDefs.StatCounterIndex = statSpares0; statRawPacketsRecv: StatsDefs.StatCounterIndex = statSpares1; statRawPacketsEarly: StatsDefs.StatCounterIndex = statSpares2; statRawPacketsMissed: StatsDefs.StatCounterIndex = statSpares3; statRawPacketsLate: StatsDefs.StatCounterIndex = statSpares4; statRawPacketsTurnedBack: StatsDefs.StatCounterIndex = statSpares5; statRawPacketsUnexpected: StatsDefs.StatCounterIndex = statSpares6; SeeStorms, UnListen: PROCEDURE; Random: PROCEDURE [CARDINAL] RETURNS [CARDINAL]; WaitUntilDone: PROCEDURE [CARDINAL]; Done: PROCEDURE; PupTestMainLoop: PROCEDURE; PtSocEcho, PtSocRecv, PtSocSend, PtSocPushPull, PtSocTurnabout: PROCEDURE; PtBSPListen, PtBSPUnListen: PROCEDURE; PtBSPRecv, PtBSPSend, PtBSPDoubleSend, PtBSPPushPull: PROCEDURE; PtPktListen, PtPktUnListen: PROCEDURE; PtPktRecv, PtPktSend, PtPktDoubleSend, PtPktPushPull: PROCEDURE; PtOCRecv, PtOCSend, PtOCDoubleSend, PtOCPushPull: PROCEDURE; PtOCListen, PtOCUnListen: PROCEDURE; PtRejListen, PtRejUnListen: PROCEDURE; PtEchoer, PtEchoOn, PtEchoOff: PROCEDURE; PtBuffers, PtDisplay, PtHost, PtNames, PtOnOff, PtFixHostAndNet, PtSched: PROCEDURE; PtStatsOn, PtStatsOff: PROCEDURE; PtLookerStart, PtLookerReady, PtLookerSince, PtLookerStop: PROCEDURE; PtPrintThings, PtPRThings: PROCEDURE; PtCommand, PtBSP, PtEcho, PtOC, PtNS, PtPkt, PtSocket, PtMisc, PtPrint: PROGRAM[PtInterface]; -- ALTO Things clock: POINTER TO INTEGER = LOOPHOLE[430B]; msPerTick: INTEGER = 39; Xmax: CARDINAL = 606-16-1; Ymax: CARDINAL = 808-16-1; MouseX: POINTER TO CARDINAL = LOOPHOLE[424B]; MouseY: POINTER TO CARDINAL = LOOPHOLE[425B]; CursorX: POINTER TO CARDINAL = LOOPHOLE[426B]; CursorY: POINTER TO CARDINAL = LOOPHOLE[427B]; CursorBits: POINTER TO ARRAY [0..16) OF WORD = LOOPHOLE[431B]; CursorIndex: TYPE = RECORD [[0..16)]; echoIndex: CursorIndex = [2]; turnIndex: CursorIndex = [3]; sendIndex: CursorIndex = [15]; recvIndex: CursorIndex = [10]; lostIndex: CursorIndex = [5]; END.(2048)