File: PupPktDefs.Mesa
Last Edit: HGM December 15, 1980 8:17 PM
Last Edit: Andrew Birrell June 22, 1983 4:56 pm
DIRECTORY
PupStream USING [PupOpenMode],
PupDefs USING [Byte, PupBuffer, Tocks],
PupTypes USING [Pair, PupAddress, PupSocketID],
Rope USING [ROPE];
PupPktDefs: DEFINITIONS =
BEGIN
PupPktStream: TYPE = REF PupPktStreamObject;
PupPktStreamObject: TYPE;
PupPktStreamMake: PROCEDURE [
local: PupTypes.PupSocketID, remote: PupTypes.PupAddress,
ticks: PupDefs.Tocks, mode: PupStream.PupOpenMode, id: PupTypes.Pair]
RETURNS [PupPktStream];
PupPktStreamDestroy: PROCEDURE [PupPktStream];
PupPktStreamAbort: PROCEDURE [PupPktStream,Rope.ROPE];
Put: PROCEDURE [PupPktStream, PupDefs.PupBuffer];
PutMark: PROCEDURE [PupPktStream, PupDefs.Byte];
Get: PROCEDURE[PupPktStream] RETURNS [PupDefs.PupBuffer];-- if none, wait then return NIL
PktsAvailable: PROCEDURE[PupPktStream] RETURNS [BOOLEAN];-- whether "get" wouldn't wait
SendAttention: PROCEDURE[PupPktStream];
WaitForAttention: PROCEDURE[PupPktStream];
GetSenderSizeLimit: PROCEDURE[PupPktStream] RETURNS [CARDINAL];
GetLocalAddress: PROCEDURE[PupPktStream] RETURNS [PupTypes.PupAddress];
END.