-- BootDirDefs.mesa (Last edit by: Gobbel date: October 21, 1980 4:30 PM)
DIRECTORY
PupTypes: FROM "PupTypes" USING [PupAddress],
TimeDefs: FROM "TimeDefs" USING [PackedTime];
BootDirDefs: DEFINITIONS =
BEGIN
-- DirEntryType and DirEntryEType MUST correspond!
DirEntryType: TYPE = [0..17B];
cmd: DirEntryType = 1;
file: DirEntryType = 2;
uCode: DirEntryType = 4;
germ: DirEntryType = 8;
DirEntryEType: TYPE = {cmd, file, uCode, germ};
CmdDirEntryPtr: TYPE = POINTER TO CmdDirEntry;
FileDirEntryPtr: TYPE = POINTER TO FileDirEntry;
GermDirEntryPtr: TYPE = POINTER TO GermDirEntry;
UDirEntryPtr: TYPE = POINTER TO UDirEntry;
CmdDirEntry: TYPE = cmd DirEntry;
FileDirEntry: TYPE = file DirEntry;
GermDirEntry: TYPE = germ DirEntry;
UDirEntry: TYPE = uCode DirEntry;
DirEntryPtr: TYPE = POINTER TO DirEntry;
DirEntry: TYPE = RECORD [
name: STRING,
next: DirEntryPtr,
vp: SELECT type: DirEntryEType FROM
file =>
[sysType: {alto, pilot},
bfn: CARDINAL,
host: PupTypes.PupAddress,
date: TimeDefs.PackedTime],
uCode, germ =>
[bfn: CARDINAL,
host: PupTypes.PupAddress,
date: TimeDefs.PackedTime],
cmd =>
[proc: PROCEDURE],
ENDCASE];
killProber: BOOLEAN;
ProbeProcess: PROCEDURE;
InsertDirEntry: PROCEDURE [new: DirEntryPtr];
Lookup: PROCEDURE [s: STRING, type: DirEntryType ← cmd+file, complete: BOOLEANTRUE] RETURNS [p: DirEntryPtr];
ListPossibleMatches: PROCEDURE [s: STRING, type: DirEntryType];
END...
LOG
Time: February 17, 1980 6:19 PM By: Gobbel Action: Created file.