Text preview for : BcdDefs.mesa_Oct77.pdf part of xerox BcdDefs.mesa Oct77 xerox mesa 3.0_1977 listing BcdDefs.mesa_Oct77.pdf



Back to : BcdDefs.mesa_Oct77.pdf | Home

bcddEfS.mESA 24-0CT-77 21:15:31 Page 1


-- BcdDefs.Mesa Edited by Johnsson on August 29, 1977 5:34 PM
DIRECTORY
AltoDefs: FROM "altodefs",
BcdTableDefs: FROM "bcdtabledefs",
ControlDefs: FROM "controldefs",
TimeDefs: FROM "timedefs";
BcdDefs: DEFINITIONS =
BEGIN
TableLimit: CARDINAL = BcdTableDefs.TableLimit;
VersionStamp: TYPE = RECORD [
zapped: BOOLEAN,
net: [0 .. 128),
host: AltoDefs.BYTE,
time: TimeDefs.PackedTime];
-- BCD Header
VersionID: CARDINAL = 08267;
BCD: TYPE = RECORD [
versionident: CARDINAL,
version: VersionStamp,
creator: VersionStamp,
nPages: AltoDefs.PageCount,
nConfigs, nModules: CARDINAL,
nImports. nExports: CARDINAL,
definitions: BOOLEAN,
firstdummy: GFTlndex,
nDummies: CARDINAL,
ssOffset: CARDINAL, string table
ssLimit: CARDINAL,
ctOffset: CARDINAL, config table
ctLimit: CTIn~9x,
mtOffset: CARDINAL, module table
mtLimit: MTIndex,
impOffset: CARDINAL. import table
impL imit: IMPIndex,
expOffset: CARDINAL, export table
expLimit: EXPIndex,
ftOffset: CARDINAL, f i 1e table
ftL imit: FTIndex,
ntOffset: CARDINAL, name table
ntLimit: NTIndex,
source: NameRecord];

-- POl'tab 1e Type
Portable: TYPE {module, interface};

-- Name Table
NameRecord: TYPE = RECORD [offset, length: CARDINAL];
NTReeord: TYPE = RECORD [
name: NameRecord,
item: Namee];
Namee: TYPE = RECORD
S[lrCT tYre:* rROM
config =) [eti: CTIndex].
module =) [mL i: MTTndex].
import =) [imp i: lMPlndex].
export =) [expi: rXPIndax].
[NDCASE];
NTNull: NTTnc1ex = LAST[NTIndex];
NTIndex: TYP[ = POTNTrR [O .. TableLimit) TO NTRecord;

-- Conriguration Table
bcddEFS.mESA 24-0CT-77 21:16:31 Page 2



CTRecord: TYPE = RECORD [
name: NameRecord,
named instance: BOOLEAN,
file: FTIndex.
config: CTIndex.
control: MTIndex];
CTNull: CTIndex = LAST[CTIndex];
CTIndex: TYPE = POINTER [0 .. TableLimit) TO CTRecord;

-- Module Table
MTRecord: TYPE = RECORD [
name: NameRecord.
namedinstance: BOOL~AN.
file: FTIndex.
config: CTIndex.
cseg. 5seg: SegDesc.
framesize: [0 .. 4096).
f5i: [O .. ControlDefs.maxallocslot].
gfi: GFTIndex.
ngfi: [1 .. 4].
frame: FrameFrag];
FrameFrag: TYPE = RECORD [
offset. length: CARDINAL.
frag: ARRAY [0 .. 1) OF Controllink];
MTNull: MTIndex = LAST[MTIndex]:
MTIndex: TYPE = POINTER [0 .. TableLimit) TO MTRecord:

-- Import Table
IMPRecord: TYPE = RECORD [
name: NameRecord.
port: Portable.
named instance: BOOLEAN.
file: FTIndex.
gfi: GFTIndex.
ngfi: [1..4]]:
IMPNull: IMPIndex = LAST[IMPIndex]:
IMPIndex: TYPE = POINTER [0 .. TableLimit} TO IMPRecord:

-- Export Table
EXPRecord: TYPE = RECORD [
name: NameRecord.
size: CARDINAL.
port: Portable.
namedinstance: BOOLEAN.
file: FlIndex.
links: ARRAY [O .. l} OF ControlLink]:
EXPNull: EXPInd~x