DIRECTORY AlpineEnvironment; LeaderPageFormat: DEFINITIONS = BEGIN AccessList: TYPE = AlpineEnvironment.AccessList; ByteCount: TYPE = AlpineEnvironment.ByteCount; FileVersion: TYPE = AlpineEnvironment.FileVersion; PageCount: TYPE = AlpineEnvironment.PageCount; Property: TYPE = AlpineEnvironment.Property; NSTime: TYPE = LONG CARDINAL; -- convention from BasicTime interface PickledProperty: TYPE = MACHINE DEPENDENT {nil (0), byteLength (1), createTime (2), highWaterMark (3), modifyAccess (4), owner (5), readAccess(6), stringName (7), version (8)}; propertyPickleMap: PACKED ARRAY Property OF PickledProperty = [byteLength: byteLength, createTime: createTime, highWaterMark: highWaterMark, modifyAccess: modifyAccess, owner: owner, readAccess: readAccess, stringName: stringName, version: version]; LeaderPageRecord: TYPE = MACHINE DEPENDENT RECORD [ seal (0): CARDINAL, dataStart (1): LeaderPageOffset, dataEnd (2): LeaderPageOffset, spare (3): ARRAY [3..offsetData) OF UNSPECIFIED, data (offsetData): ARRAY [offsetData..AlpineEnvironment.wordsPerPage) OF UNSPECIFIED]; LeaderPageOffset: TYPE = [0..AlpineEnvironment.wordsPerPage]; offsetData: LeaderPageOffset = 10; sealLeaderPageRecord: CARDINAL = 43875; PropertyRep: TYPE = MACHINE DEPENDENT RECORD [ size (0: 0..7): [0..AlpineEnvironment.wordsPerPage), property (0: 8..15): PickledProperty, value (1): SELECT COMPUTED PickledProperty FROM byteLength => [byteLength (1): ByteCount], createTime => [createTime (1): NSTime], highWaterMark => [highWaterMark (1): PageCount], modifyAccess => [modifyAccess (1): AccessListRep], owner => [owner (1): StringRep], readAccess => [readAccess (1): AccessListRep], stringName => [stringName (1): StringRep], version => [version (1): FileVersion], ENDCASE]; AccessListRep: TYPE = MACHINE DEPENDENT RECORD [ count: CARDINAL, principals: --ARRAY [0..count) OF-- StringRep]; StringRep: TYPE = MACHINE DEPENDENT RECORD [ length: CARDINAL, text: PACKED ARRAY [0..0) OF CHARACTER]; END. 6LeaderPageFormat.mesa Last edited by: Taft on April 9, 1983 2:28 pm MBrown on January 30, 1984 5:24:28 pm PST This is like AlpineEnvironment.Property except that its representation is guaranteed not to change and type is absent. A leader page is simply an unordered sequence of properties (PropertyRep) ΚB– "cedar" style˜Jšœ™šœ™Jšœ™Jšœ)™)—unitšΟk ˜ Icodešœ˜—šœ œ˜Lš˜L˜Lšœ œ ˜0Lšœ œ˜.Lšœ œ!˜2Lšœ œ˜.Lšœ œ˜,LšœœœœΟc&˜EJ˜Jšœv™vKšœœœ œ‡˜°šœœœ œΞ˜ωJ˜—JšœI™Iš œœœ œœ˜3Lšœ œ˜L˜ L˜Lšœ œœ œ˜0Lšœœ.œ œ˜VL˜—Lšœœ'˜=L˜"Lšœœ ˜'š œ œœ œœ˜.L˜4L˜%šœ œœ˜/L˜*L˜'L˜0L˜2L˜ L˜.L˜*L˜&Lšœ˜ ——š œœœ œœ˜0Lšœœ˜Lšœ žΠckž Ÿžœ ˜/—š œ œœ œœ˜,Lšœœ˜Lš œœœœ œ˜(—Kšœ˜J˜J˜J˜——…—ΐ 8