-- File: PupPktDefs.Mesa, Last Edit: HGM November 1, 1979 11:57 PM -- Copyright Xerox Corporation 1979, 1980 DIRECTORY PupStream: FROM "PupStream" USING [PupListener, PupOpenMode], PupDefs: FROM "PupDefs" USING [Byte, PupBuffer, Tocks], PupTypes: FROM "PupTypes" USING [Pair, PupAddress, PupSocketID]; PupPktDefs: DEFINITIONS = BEGIN -- Packet Stream Interface PupPktStreamCreate: PROCEDURE [remote: PupTypes.PupAddress, ticks: PupDefs.Tocks] RETURNS [PupPktStream]; PupPktStreamMake: PROCEDURE [ local: PupTypes.PupSocketID, remote: PupTypes.PupAddress, ticks: PupDefs.Tocks, mode: PupStream.PupOpenMode, id: PupTypes.Pair] RETURNS [PupPktStream]; PupPktStreamDestroy: PROCEDURE [PupPktStream]; PupPktStream: TYPE = POINTER TO PupPktStreamObject; PupPktStreamObject: TYPE = RECORD [ put: PROCEDURE [PupDefs.PupBuffer], putMark: PROCEDURE [PupDefs.Byte], get: PROCEDURE RETURNS [PupDefs.PupBuffer], -- if none, wait, then return NIL sendAttention: PROCEDURE, waitForAttention: PROCEDURE, getSenderSizeLimit: PROCEDURE RETURNS[CARDINAL], getLocalAddress: PROCEDURE RETURNS [PupTypes.PupAddress] ]; -- Listeners PupListener: TYPE = PupStream.PupListener; CreatePupPktStreamListener: PROCEDURE [ local: PupTypes.PupSocketID, proc: PROCEDURE[PupPktStream,PupTypes.PupAddress], ticks: PupDefs.Tocks, filter: PROCEDURE [PupTypes.PupAddress] _ DontReject ] RETURNS [PupListener]; DestroyPupListener: PROCEDURE [PupListener]; DontReject: PROCEDURE [PupTypes.PupAddress]; RejectThisRequest: ERROR [error: STRING]; END.(2048)\304t10 26t0 1t10 106t0 2t10 124t0 10t10 56t0 2t10 45t0 2t10 106t0 8t10 34t0 12t10 29t0 8t10 218t0 1t10 1t0 42t10 1t0 52t10 67t0 9t10 62t0 9t10 25t0 1t10 3t0 68t10 10t0 22t10 10t0 45t10 1t0