-- File: CommUtilDefs.Mesa, Last Edit: BLyon January 19, 1981 12:05 PM
DIRECTORY
Process USING [EnableAborts],
PrincOps USING [FrameHandle, returnOffset, zBLTL, zLLB];
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, nwords: CARDINAL];
AllocateIocb: PROC [CARDINAL] RETURNS [LONG POINTER];
FreeIocb: 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 PrincOps.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 PrincOps.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.