<<>> <> <> <> <<>> <> <<>> DIRECTORY UnixTypes; IncrementalLoad: CEDAR DEFINITIONS ~ { <> unsigned: TYPE ~ CARD32; int: TYPE ~ INT32; charStar: TYPE ~ UnixTypes.CHARPtr; bool: TYPE ~ BOOLEAN; sizet: TYPE ~ int; timet: TYPE ~ UnixTypes.Time; caddrt: TYPE ~ charStar; <> <> <<>> XRILError: TYPE ~ POINTER TO XRILErrorRep; nullXRILError: XRILError ~ NIL; XRILErrorRep: TYPE ~ RECORD [ ilefatal: bool, -- all incr loads since last commit are aborted ilecode: int, -- > 0 ==> value from Errno.h ilemsg: charStar -- human-readable ]; <> <> <<>> XRLockIncrementalLoadState: PROCEDURE [wait: bool] RETURNS [XRILError]; <> <> <> <> <<>> <> XRUnlockIncrementalLoadState: PROCEDURE [] RETURNS [XRILError]; <> <> <> XRILFileEntry: TYPE ~ POINTER TO XRILFileEntryRep; nullXRILFileEntry: XRILFileEntry ~ NIL; XRILFileEntryRep: TYPE ~ RECORD [ ilfeseqNum: unsigned, ilfecommitPoint: bool, << file info>> ilfefName: charStar, ilfefOffset: unsigned, ilfefMagic: unsigned, ilfefSize: sizet, ilfefMTime: timet, << version stamp (supplied by installation proc)>> ilfevMagic: unsigned, ilfevLen: unsigned, ilfevStamp: charStar, << file type specific data (optionally supplied by reader proc)>> ilferdrData: caddrt, ilferdrDataBytes: unsigned, << patch, text, data, bss, and common segments>> ilfepAddr: caddrt, ilfepBytes: unsigned, ilfetAddr: caddrt, ilfetBytes: unsigned, ilfedAddr: caddrt, ilfedBytes: unsigned, ilfebAddr: caddrt, ilfebBytes: unsigned, ilfecAddr: caddrt, ilfecBytes: unsigned ]; XRILGetPrevFileEntry: PROCEDURE [ilfe: XRILFileEntry] RETURNS [XRILFileEntry]; <> <> <> <> <> <> <<>> XRILAddVersionStamp: PROCEDURE [ ilfe: XRILFileEntry, vMagic: unsigned, vLen: unsigned, vStamp: caddrt] RETURNS []; XRILAddVersionStampUsingPC: PROCEDURE [ pc: caddrt, vMagic: unsigned, vLen: unsigned, vStamp: charStar] RETURNS [XRILFileEntry]; <> XRILSymEntry: TYPE ~ POINTER TO XRILSymEntryRep; nullXRILSymEntry: XRILSymEntry ~ NIL; XRILSymEntryRep: TYPE ~ RECORD [ ilsename: charStar, ilsetype: unsigned, ilsevalue: unsigned, ilsesize: unsigned, ilseilfe: XRILFileEntry ]; ilsetypeEnum: TYPE ~ MACHINE DEPENDENT { ILSEUNDF (00H), -- undefined ILSEEXT (01H), -- external bit, or'ed in ILSEABS (02H), -- absolute ILSETEXT (04H), -- text ILSEDATA (06H), -- data ILSEBSS (08H), -- bss ILSETYPE (01EH) -- mask for all the type bits }; ilsetypeExtrasEnum: TYPE ~ MACHINE DEPENDENT { ILSEPATCH (01CH), -- patch area address ILSEMODULE (01EH) -- module name }; <> <> <> <> <<>> XRILLookupSymEntry: PROCEDURE [sym: charStar, externOnly: bool] RETURNS [XRILSymEntry]; <> <> <> <> XRILLookupSymEntryByValue: PROCEDURE [val: unsigned] RETURNS [XRILSymEntry]; <> <> XRILGetPrevSymEntry: PROCEDURE [ilse: XRILSymEntry, externOnly: bool] RETURNS [XRILSymEntry]; <> <> <> XRILGetPrevSymEntryByValue: PROCEDURE [ilse: XRILSymEntry] RETURNS [XRILSymEntry]; <> <> XRILGetNextSymEntryByValue: PROCEDURE [ilse: XRILSymEntry] RETURNS [XRILSymEntry]; <> <> }. <<>>