-- File: CommUtilDefs.Mesa, Last Edit: BLyon January 19, 1981 12:05 PM DIRECTORY Mopcodes USING [zBLTL, zLLB], Process USING [EnableAborts], PrincOps USING [FrameHandle, returnOffset]; CommUtilDefs: DEFINITIONS IMPORTS Process = BEGIN -- for finding out where we really are thisIsAnAlto: BOOLEAN = FALSE; -- Buffer/IOCB Allocation AllocateBuffers: PROC [nwords: CARDINAL] RETURNS [base: LONG POINTER]; FreeBuffers: PROC [base: LONG POINTER]; LockBuffers: PROC [LONG POINTER]; -- noop in Alto world UnlockBuffers: PROC [LONG POINTER]; -- noop in Alto world AllocateIocbs: PROC [CARDINAL] RETURNS [LONG POINTER]; FreeIocbs: PROC [LONG POINTER]; -- Lock Interrupt routines LockCode: PROC [UNSPECIFIED] = INLINE {}; -- useful in Alto world UnlockCode: PROC [UNSPECIFIED] = INLINE {}; -- useful in Alto world -- This is needed because of Process/ProcessDefs LONG/Short complications -- Shortens in the Alto world, noop in Pilot world MaybeShorten: PROC [p: LONG POINTER] RETURNS [LONG POINTER] = INLINE { RETURN[p]}; GetEthernetHostNumber: PROC RETURNS [CARDINAL]; -- Debugging things FrameHandle: TYPE = PrincOps.FrameHandle; GetReturnFrame: PROC RETURNS [FrameHandle] = MACHINE CODE BEGIN Mopcodes.zLLB, PrincOps.returnOffset END; -- Other goodies EnableAborts: PROC [condPtr: LONG POINTER TO CONDITION] = INLINE {Process.EnableAborts[condPtr]}; Zero: PROC [POINTER, CARDINAL]; CopyLong: PROC [from: LONG POINTER, nwords: CARDINAL, to: LONG POINTER] = MACHINE CODE BEGIN Mopcodes.zBLTL END; FriendOfCopyLong: PROC [from: LONG POINTER, nwords: CARDINAL, to: LONG POINTER]; -- This is a hack for debugging SetDebuggingPointer: PROC [LONG POINTER] = INLINE {}; -- useful in Alto world END...... July 19, 1980 3:33 PM By: Forrest Action: Removed references to Interupt levels. Remove pointer into middle of page 1. Change ControlDefs to Runtime.