DIRECTORY BufferDefs USING [BufferAccessHandle, GetFreeBuffer, MaybeGetFreeBuffer, OisBuffer, Queue, SppBuffer, systemAccessHandle], OISCPTypes USING [ConnectionID], NSAddress USING [broadcastHostNumber, HostNumber, NetworkAddress, NetworkNumber, nullHostNumber, SocketNumber]; OISCP: DEFINITIONS IMPORTS BufferDefs = BEGIN OPEN BufferDefs; unknownNetID: NSAddress.NetworkNumber = [0, 0]; unknownHostID: NSAddress.HostNumber = NSAddress.nullHostNumber; -- all zeros allHostIDs: NSAddress.HostNumber = NSAddress.broadcastHostNumber; -- all ones unknownSocketID: NSAddress.SocketNumber = [0]; uniqueAddress: NSAddress.NetworkAddress = [unknownNetID, unknownHostID, unknownSocketID]; unknownConnID: OISCPTypes.ConnectionID = [0]; uniqueConnID: OISCPTypes.ConnectionID = [0]; EnqueueOis: PROCEDURE [q: Queue, b: OisBuffer]; DequeueOis: PROCEDURE [q: Queue] RETURNS [OisBuffer]; ExtractOisFromQueue: PROCEDURE [q: Queue, b: OisBuffer] RETURNS [OisBuffer]; GetFreeOisBuffer: PROCEDURE RETURNS [OisBuffer] = INLINE { RETURN[ LOOPHOLE[BufferDefs.GetFreeBuffer[ ois, BufferDefs.systemAccessHandle, systemUse], OisBuffer]]}; ReturnFreeOisBuffer: PROCEDURE [b: OisBuffer]; GetFreeSendOisBufferFromPool: PROCEDURE [pool: BufferAccessHandle] RETURNS [OisBuffer] = INLINE { RETURN[LOOPHOLE[BufferDefs.GetFreeBuffer[ois, pool, send], OisBuffer]]}; GetFreeReceiveOisBufferFromPool: PROCEDURE [pool: BufferAccessHandle] RETURNS [OisBuffer] = INLINE { RETURN[LOOPHOLE[BufferDefs.GetFreeBuffer[ois, pool, receive], OisBuffer]]}; MaybeGetFreeSendOisBufferFromPool: PROCEDURE [pool: BufferAccessHandle] RETURNS [OisBuffer] = INLINE { RETURN[LOOPHOLE[BufferDefs.MaybeGetFreeBuffer[ois, pool, send], OisBuffer]]}; MaybeGetFreeReceiveOisBufferFromPool: PROCEDURE [pool: BufferAccessHandle] RETURNS [OisBuffer] = INLINE { RETURN[ LOOPHOLE[BufferDefs.MaybeGetFreeBuffer[ois, pool, receive], OisBuffer]]}; CreditReceiveOisBuffer: PROCEDURE [aH: BufferAccessHandle, b: OisBuffer] RETURNS [gotCreadit: BOOLEAN]; EnqueueSpp: PROCEDURE [q: Queue, b: SppBuffer]; DequeueSpp: PROCEDURE [q: Queue] RETURNS [SppBuffer]; ExtractSppFromQueue: PROCEDURE [q: Queue, b: SppBuffer] RETURNS [SppBuffer]; GetFreeSendSppBufferFromPool: PROCEDURE [pool: BufferAccessHandle] RETURNS [SppBuffer] = INLINE { RETURN[LOOPHOLE[BufferDefs.GetFreeBuffer[oisSpp, pool, send], SppBuffer]]}; GetFreeReceiveSppBufferFromPool: PROCEDURE [pool: BufferAccessHandle] RETURNS [SppBuffer] = INLINE { RETURN[LOOPHOLE[BufferDefs.GetFreeBuffer[oisSpp, pool, receive], SppBuffer]]}; MaybeGetFreeSendSppBufferFromPool: PROCEDURE [pool: BufferAccessHandle] RETURNS [SppBuffer] = INLINE { RETURN[ LOOPHOLE[BufferDefs.MaybeGetFreeBuffer[oisSpp, pool, send], SppBuffer]]}; MaybeGetFreeReceiveSppBufferFromPool: PROCEDURE [pool: BufferAccessHandle] RETURNS [SppBuffer] = INLINE { RETURN[ LOOPHOLE[BufferDefs.MaybeGetFreeBuffer[oisSpp, pool, receive], SppBuffer]]}; GetOisPacketTextLength: PROCEDURE [OisBuffer] RETURNS [CARDINAL]; SetOisPacketTextLength: PROCEDURE [OisBuffer, CARDINAL]; SetOisPacketLength: PROCEDURE [OisBuffer, CARDINAL]; GetDoStats: PROCEDURE RETURNS [BOOLEAN]; OiscpPackageMake: PROCEDURE; OiscpPackageReady: PROCEDURE; OiscpPackageDestroy: PROCEDURE; END. -- OISCP LOG Time: May 9, 1979 11:00 AM By: Dalal Action: conversion to Pilot 3.0. Time: January 20, 1980 10:55 AM By: Dalal Action: conversion for Amargosa. Time: March 12, 1980 10:05 AM By: BLyon Action: Added GetFreeSendOisBufferFromPool, GetFreeReceiveOisBufferFromPool, MaybeGetFreeSendOisBufferFromPool, MaybeGetFreeReceiveOisBufferFromPool, ReturnSendOisBufferToPool, ReturnReceiveOisBufferToPool, GetFreeSendSppBufferFromPool, GetFreeReceiveSppBufferFromPool, MaybeGetFreeSendSppBufferFromPool, MaybeGetFreeReceiveSppBufferFromPool, ReturnSendSppBufferToPool, ReturnReceiveSppBufferToPool. Also considering removing GetOisBufferFromPool, ReturnOisBufferToPool, GetFreeOisBuffer, ReturnFreeOisBuffer. ŠOISCP.mesa - definitions module for buffer/queue/packet length and start/stop Copyright c 1985 by Xerox Corporation. All rights reserved. BLyon on: January 12, 1981 1:45 PM Constants describing addresses and connections. interface Buffer/Queue procedures from the queue package modules length setting whether internal statistics is on or not start procedures from CommunicationControl Κ΄˜codešœM™MKšœ Οmœ1™K˜Kšœ/™/K˜/Kšœ@Οc ˜LKšœBŸ ˜MK˜.K˜YK˜-K˜,K˜Kšœ ™ K˜Kšœ6™6KšΟn œž œ˜/Kš  œž œ žœ ˜5Kš œž œžœ ˜Lš œž œžœžœ˜:šžœ˜šžœ˜"K˜=K˜———Kš œž œ˜.š œž œ˜BKšžœžœ˜Kšžœžœ9˜HK˜—š œž œ˜EKšžœžœ˜Kšžœžœ<˜KK˜—š !œž œ˜GKšžœžœ˜Kšžœžœ>˜MK˜—š $œž œ˜JKšžœžœ˜šžœ˜KšžœA˜IK˜——š œž œ'˜HKšžœžœ˜—Kš  œž œ˜/Kš  œž œ žœ ˜5Kš œž œžœ ˜Lš œž œ˜BKšžœžœ˜Kšžœžœ<˜KK˜—š œž œ˜EKšžœžœ˜Kšžœžœ?˜NK˜—š !œž œ˜GKšžœžœ˜šžœ˜KšžœA˜IK˜——š $œž œ˜JKšžœžœ˜šžœ˜KšžœD˜L——Kšœ™K˜Kš œž œ žœžœ˜AKš œž œ žœ˜8Kš œž œ žœ˜4Kšœ(™(Kš  œž œžœžœ˜(K˜Kšœ*™*Kš œž œ˜Kš œž œ˜Kš œž œ˜K˜KšžœŸ˜ K˜—Kšž˜K˜Kšœžœ-˜HKšœžœ-˜MKšœžœ˜«K˜K˜—…—j¨