XMesaCmplr21DefsA: DEFINITIONS = { maxPagesInVM: CARDINAL = 1024; PageNumber: TYPE = CARDINAL[0..maxPagesInVM); PageOffset: TYPE = PageNumber; PageCount: TYPE = PageNumber; Interval: TYPE = RECORD [ pointer: POINTER, count: PageCount ]; nullInterval: Interval = [pointer: NIL, count: 0]; Access: TYPE = {readWrite, readOnly}; Life: TYPE = {alive, dead}; Pathname: TYPE = MACHINE DEPENDENT RECORD [ length: CARD16, maxlength: CARD16, text: PACKED ARRAY [0..1024) OF CHAR]; File : TYPE = RECORD [ host: CARD32, path: Pathname]; Window: TYPE = RECORD [ file: File, base: PageNumber, count: PageCount]; Map: PROCEDURE [ window: Window, usage: Usage _ unknownUsage, class: Class _ file, access: Access _ readWrite, life: Life _ alive, mustBeAligned: BOOLEAN _ FALSE] RETURNS [mapUnit: Interval]; Usage: TYPE = [0..2048); unknownUsage: Usage = 0; Class: TYPE = MACHINE DEPENDENT{ unknown(0), code(1), globalFrame(2), localFrame(3), zone(4), file(5), data(6), spareA(7), spareB(8), resident(31)}; nullFile: File = [host: 0, path: nullPathname]; nullPathname: Pathname = [length: 0, maxlength: 0, text: ALL [0C]]; ScratchMap: PROCEDURE [count: PageCount, usage: Usage _ unknownUsage, mustBeAligned: BOOLEAN _ FALSE] RETURNS [pointer: POINTER] = INLINE { RETURN[ Map[window: [file: nullFile, base: NULL, count: count], usage: usage, class: data, access: readWrite, life: dead, mustBeAligned: mustBeAligned].mapUnit.pointer]}; }. < file XMesaCmplr21DefsA.mesa for use with AR 359 359 ÊÝ•NewlineDelimiter ™J™/J˜J™šÏnœÏk œ˜"Jšœžœ˜Jšœ žœžœ˜-Jšœ žœ˜Jšœ žœ˜šœ žœžœ˜Jšœ žœ˜J˜J˜—Jšœ#žœ ˜2Jšœžœ˜%Jšœžœ˜š œ žœžœž œžœ˜+Jšœžœ˜Jšœ žœ˜Jš œžœžœ žœžœ˜&—šœžœžœ˜Jšœžœ˜ J˜—šœžœžœ˜J˜ J˜J˜—Jšœž œ/˜=—˜Jšœ?žœžœ˜OJšžœ˜Jšœžœ ˜J˜šœžœžœž œ˜ J˜NJ˜$—J˜/J˜2—šœžœ˜š œž œ@žœžœ˜eJšžœ žœžœ˜%šžœ˜Jšœ#žœ{˜¢J˜——J˜J˜——…—©