CommUtilDefs.Mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
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.