-- File: DynamicZonePrivate.mesa -- Last edited by Levin: 5-Oct-80 18:09:47 DIRECTORY FSPDefs USING [ZonePointer], SegmentDefs USING [DataSegmentType]; DynamicZonePrivate: DEFINITIONS = BEGIN OPEN SegmentDefs; MDSZoneHandle: TYPE = POINTER TO MDSZoneObject; MDSZoneObject: TYPE = MACHINE DEPENDENT RECORD [ procs (0:0..15): POINTER TO AllocProcs, fspZone (1:0..15): FSPDefs.ZonePointer, segType (2): DataSegmentType, id (3:0..15): STRING]; AllocProcs: TYPE = MACHINE DEPENDENT RECORD [ alloc (0): PROCEDURE [zone: MDSZoneHandle, size: CARDINAL] RETURNS [POINTER], dealloc (1): PROCEDURE [zone: MDSZoneHandle, object: POINTER]]; firstSegType: DataSegmentType = 100B; lastSegType: DataSegmentType = LAST[DataSegmentType]; SegTypeIndex: TYPE = [firstSegType/2..lastSegType/2]; LargeNode: CARDINAL = 150; -- must match value in FSP! AllocateNode: PROCEDURE [zone: MDSZoneHandle, size: CARDINAL] RETURNS [p: POINTER]; DeallocateNode: PROCEDURE [zone: MDSZoneHandle, object: POINTER]; GetPages: PROCEDURE [pages: CARDINAL, segType: DataSegmentType] RETURNS [POINTER]; END.