Instantiate:
PROC[file:
FS.OpenFile, pageOffset:
INT ← 0, codeLinks:
BOOL ←
TRUE]
RETURNS[cm: PrincOps.ControlModule, unboundImports: LIST OF IRItem];
offset is the offset within the file of the first page of the BCD. This is normally 0.
Instantiate can raise Error
IRItem: TYPE = RECORD[interfaceName: Rope.ROPE, index: NAT];
Start: PROC[cm: PrincOps.ControlModule];
MakeProcedureResident: SAFE PROC[proc: PROC ANY RETURNS ANY];
MakeProcedureSwappable: PROC[proc: PROC ANY RETURNS ANY];
MakeGlobalFrameResident: SAFE PROC[proc: PROC ANY RETURNS ANY];
MakeGlobalFrameSwappable:
PROC[proc:
PROC
ANY
RETURNS
ANY];
BCDBuildTime:
SAFE
PROC[proc:
PROC
ANY
RETURNS
ANY ←
NIL]
RETURNS[BasicTime.
GMT];
Error: ERROR[type: ErrorType, message: Rope.ROPE ← NIL];
ErrorType:
TYPE = {
invalidBcd, fileNotFound, versionMismatch, loadStateFull, insufficientVM
};