DIRECTORY IncrementalLoad; IncrementalLoadImpl: CEDAR PROGRAM EXPORTS IncrementalLoad ~ BEGIN OPEN IncrementalLoad; IncrementalLoadFile: PUBLIC PROC [ fName: CString, fOffset: Long ฌ 0, fMagic: CARD32 ฌ 0, refProc: CProc ฌ NilCProc, refClientData: POINTER ฌ NIL, defProc: CProc ฌ NilCProc, defClientData: POINTER ฌ NIL, commonProc: CProc ฌ NilCProc, commonClientData: POINTER ฌ NIL, patchSizeProc: CProc ฌ NilCProc, patchSizeClientData: POINTER ฌ NIL ] RETURNS [Error] ~ { XRIncrementalLoadFileMachineCode: PROC [ fName: CString, fOffset: Long ฌ 0, fMagic: CARD32 ฌ 0, refProc: CProc ฌ NilCProc, refClientData: POINTER ฌ NIL, defProc: CProc ฌ NilCProc, defClientData: POINTER ฌ NIL, commonProc: CProc ฌ NilCProc, commonClientData: POINTER ฌ NIL, patchSizeProc: CProc ฌ NilCProc, patchSizeClientData: POINTER ฌ NIL] RETURNS [Error] ~ TRUSTED MACHINE CODE { "XR_ILLoadFile" }; RETURN [XRIncrementalLoadFileMachineCode[fName, fOffset, fMagic, refProc, refClientData, defProc, defClientData, commonProc, commonClientData, patchSizeProc, patchSizeClientData]]; }; LockIncrementalLoadState: PUBLIC PROC [wait: BOOL] RETURNS [Error] ~ { XRLockIncrementalLoadStateMachineCode: PROC [wait: BOOL] RETURNS [Error] ~ TRUSTED MACHINE CODE { "XR_LockIncrementalLoadState" }; RETURN [XRLockIncrementalLoadStateMachineCode[wait: wait]]; }; UnlockIncrementalLoadState: PUBLIC PROC [] RETURNS [Error] ~ { XRUnlockIncrementalLoadStateMachineCode: PROC RETURNS [Error] ~ TRUSTED MACHINE CODE { "XR_UnlockIncrementalLoadState" }; RETURN [XRUnlockIncrementalLoadStateMachineCode[]]; }; GetPrevFileEntry: PUBLIC PROC [ilfe: FileEntry] RETURNS [FileEntry] ~ { XRILGetPrevFileEntryMachineCode: PROC [ilfe: FileEntry] RETURNS [FileEntry] ~ TRUSTED MACHINE CODE { "XR_ILGetPrevFileEntry" }; RETURN [XRILGetPrevFileEntryMachineCode[ilfe: ilfe]]; }; IgnoredClasses: TYPE ~ MACHINE DEPENDENT {ignoreNone (0), ignoreInternal(1), ignoreExternal(2), last(LAST[CARDINAL])}; WantedTypes: TYPE ~ MACHINE DEPENDENT {first(0), wantAllTypes(LAST[CARDINAL])}; LookupSymEntry: PUBLIC PROC [sym: CString, externOnly: BOOL] RETURNS [SymEntry] ~ { XRILGetMatchingSymEntryByName: PROC [ilse: SymEntry _ NIL, pattern: CString _ sym, caseSensitive: BOOL _ TRUE, wantedTypes: WantedTypes_ wantAllTypes, ignoredClasses: IgnoredClasses _ IF externOnly THEN ignoreInternal ELSE ignoreNone, numToSkip: INT _ 1] RETURNS [SymEntry] ~ TRUSTED MACHINE CODE { "XR_ILGetMatchingSymEntryByName" }; RETURN [XRILGetMatchingSymEntryByName[]]; }; LookupSymEntryByValue: PUBLIC PROC [val: CARD32] RETURNS [SymEntry] ~ { XRILGetMatchingSymEntryByValue: PROCEDURE [ilse: SymEntry _ NIL, symVal: CARD32 _ val, wantedTypes: WantedTypes_ wantAllTypes, ignoredClasses: IgnoredClasses _ ignoreNone, numToSkip: INT _ 0] RETURNS [SymEntry] ~ TRUSTED MACHINE CODE { "XR_ILGetMatchingSymEntryByValue" }; RETURN [XRILGetMatchingSymEntryByValue[]]; }; GetPrevSymEntry: PUBLIC PROC [se: SymEntry, externOnly: BOOL] RETURNS [SymEntry] ~ { XRILGetMatchingSymEntryByName: PROC [ilse: SymEntry _ se, pattern: CString _ NIL, caseSensitive: BOOL _ TRUE, wantedTypes: WantedTypes_ wantAllTypes, ignoredClasses: IgnoredClasses _ IF externOnly THEN ignoreInternal ELSE ignoreNone, numToSkip: INT _ 1] RETURNS [SymEntry] ~ TRUSTED MACHINE CODE { "XR_ILGetMatchingSymEntryByName" }; RETURN [XRILGetMatchingSymEntryByName[]]; }; GetPrevSymEntryByValue: PUBLIC PROC [ilse: SymEntry] RETURNS [SymEntry] ~ { XRILGetMatchingSymEntryByValue: PROCEDURE [se: SymEntry _ ilse, val: CARD32 _ 0, wantedTypes: WantedTypes_ wantAllTypes, ignoredClasses: IgnoredClasses _ ignoreNone, numToSkip: INT _ -1] RETURNS [SymEntry] ~ TRUSTED MACHINE CODE { "XR_ILGetMatchingSymEntryByValue" }; RETURN [XRILGetMatchingSymEntryByValue[]]; }; GetNextSymEntryByValue: PUBLIC PROC [ilse: SymEntry] RETURNS [SymEntry] ~ { XRILGetMatchingSymEntryByValue: PROCEDURE [se: SymEntry _ ilse, val: CARD32 _ 0, wantedTypes: WantedTypes_ wantAllTypes, ignoredClasses: IgnoredClasses _ ignoreNone, numToSkip: INT _ 1] RETURNS [SymEntry] ~ TRUSTED MACHINE CODE { "XR_ILGetMatchingSymEntryByValue" }; RETURN [XRILGetMatchingSymEntryByValue[]]; }; AddVersionStamp: PUBLIC PROC [fe: FileEntry, vMagic, vLen: CARD32, vStamp: CString] ~ { XRAddVersionStampMachineCode: PROC [fe: FileEntry, vMagic, vLen: CARD32, vStamp: CString] ~ TRUSTED MACHINE CODE { "XR_ILAddVersionStamp" }; XRAddVersionStampMachineCode[fe, vMagic, vLen, vStamp]; }; AddVersionStampUsingPC: PUBLIC PROC [pc: POINTER, vMagic, vLen: CARD32, vStamp: CString] RETURNS [FileEntry] ~ { XRILAddVersionStampUsingPCMachineCode: PROC [pc: POINTER, vMagic, vLen: CARD32, vStamp: CString] RETURNS [FileEntry] ~ TRUSTED MACHINE CODE { "XR_ILAddVersionStampUsingPC" }; RETURN [XRILAddVersionStampUsingPCMachineCode[pc, vMagic, vLen, vStamp]]; }; SymIsInRecentLoad: PUBLIC PROC [se: SymEntry] RETURNS [Bool] ~ { XRSymIsInRecentLoadMachineCode: PROC [se: SymEntry] RETURNS [Bool] ~ TRUSTED MACHINE CODE { "XR_ILSymIsInRecentLoad" }; RETURN [XRSymIsInRecentLoadMachineCode[se: se]]; }; EnumerateUndefinedSymbols: PUBLIC PROC [func: CProc, clientData: POINTER]~ { XRILEnumerateUndefinedSymbolsMachineCode: PROC [func: CProc, clientData: POINTER] ~ TRUSTED MACHINE CODE { "XR_ILEnumerateUndefinedSyms" }; XRILEnumerateUndefinedSymbolsMachineCode[func, clientData]; }; CommitIncrementalLoad: PUBLIC PROC RETURNS [Error] ~ { XRCommitIncrementalLoadMachineCode: PROC RETURNS [Error] ~ TRUSTED MACHINE CODE { "XR_CommitIncrementalLoad" }; RETURN [XRCommitIncrementalLoadMachineCode[]]; }; AbortIncrementalLoad: PUBLIC PROC [se: SymEntry] RETURNS [Error] ~ { XRAbortIncrementalLoadMachineCode: PROC [se: SymEntry] RETURNS [Error] ~ TRUSTED MACHINE CODE { "XR_AbortIncrementalLoad" }; RETURN [XRAbortIncrementalLoadMachineCode[se: se]]; }; InitializeIncrementalLoader: PUBLIC PROC [fName: CString] RETURNS [Error] ~ { XRInitializeIncrementalLoaderMachineCode: PROC [fName: CString] RETURNS [Error] ~ TRUSTED MACHINE CODE { "XR_InitializeIncrementalLoader" }; RETURN [XRInitializeIncrementalLoaderMachineCode[fName: fName]]; }; END. * IncrementalLoadImpl.mesa Copyright ำ 1989, 1991, 1992 by Xerox Corporation. All rights reserved. This is an interface to the implementation of IncrementalLoad.h Peter B. Kessler, April 18, 1990 3:28 pm PDT Michael Plass, November 26, 1991 5:08 pm PST Willie-s, March 3, 1992 5:38 pm PST ส ญ–"cedarcode" style•NewlineDelimiter ™codešœ™Kšœ ฯeœ=™HK™?K™,K™,K™#K™K™šฯk ˜ K˜—K˜—unitšะlnœžœž˜"Kšžœžœžœ˜5K˜šฯnœžœžœ˜"K˜Kšœ˜Kšœžœ˜Kšœ˜Kšœžœžœ˜Kšœ˜Kšœžœžœ˜Kšœ˜Kšœžœžœ˜ Kšœ ˜ Kšœžœž˜"Kšœžœ ˜š  œžœ˜(K˜Kšœ˜Kšœžœ˜Kšœ˜Kšœžœžœ˜Kšœ˜Kšœžœžœ˜Kšœ˜Kšœžœžœ˜ Kšœ ˜ Kš œžœžœžœ žœžœžœ˜MK• CharPropsPostfixXeroxCharCodes ˜K˜K˜—Kšžœฎ˜ดKšœ˜K˜—š  œžœžœžœžœ ˜Gš %œžœžœžœ žœžœžœ˜bK–PostfixXeroxCharCodesšœ˜K˜K˜—Kšžœ5˜;Kšœ˜K˜—š œžœžœžœ ˜>š  'œžœžœ žœžœžœ˜WK–PostfixXeroxCharCodesšœ˜Kšœ˜K˜—Kšžœ-˜3Kšœ˜K˜—š œžœžœžœ˜Gš  œžœžœžœžœžœ˜eK–PostfixXeroxCharCodesšœ˜Kšœ˜K˜—Kšžœ/˜5Kšœ˜K˜—Kš œžœžœž œ=žœžœ˜vKš œ žœžœž œžœžœ˜OK˜š  œžœžœžœžœ˜Tš œžœžœ)žœžœKžœ žœžœžœžœžœžœžœ˜ซK–PostfixXeroxCharCodesšœ ˜ Kšœ˜K˜—Kšžœ œ˜)Kšœ˜K˜—š  œžœžœžœžœ˜Hš œž œžœ žœhžœžœžœžœžœ˜์K–PostfixXeroxCharCodesšœ!˜!Kšœ˜K˜—Kšžœ œ˜*Kšœ˜K˜—š  œžœžœžœžœ˜Ušœžœžœ)žœžœKžœ žœžœžœžœžœžœžœ˜ชK–PostfixXeroxCharCodesšœ ˜ Kšœ˜K˜—Kšžœ#˜)Kšœ˜K˜—š œžœžœžœ˜Kš œž œžœfžœžœžœžœžœ˜็K–PostfixXeroxCharCodesšœ!˜!Kšœ˜K˜—Kšžœ$˜*Kšœ˜K˜—š œžœžœžœ˜Kš œž œžœfžœžœžœžœžœ˜ๆK–PostfixXeroxCharCodesšœ!˜!Kšœ˜K˜—Kšžœ œ˜*Kšœ˜K˜—š œžœžœžœ˜Wš  œžœžœžœžœžœ˜rK–PostfixXeroxCharCodes˜Kšœ˜K˜—K˜7Kšœ˜K˜—š  œžœžœžœžœžœ˜pš %œžœžœžœžœžœžœžœ˜ŽK–PostfixXeroxCharCodes˜Kšœ˜K˜—KšžœC˜IKšœ˜K˜—š œžœžœžœ ˜@š  œžœžœ žœžœžœ˜\K–PostfixXeroxCharCodes˜Kšœ˜K˜—Kšžœ*˜0Kšœ˜K˜—š œžœžœžœ˜Lš  (œžœžœžœžœžœ˜jK–PostfixXeroxCharCodes˜Kšœ˜K˜—K˜;Kšœ˜K˜—š œžœžœžœ ˜6š  "œžœžœ žœžœžœ˜RK–PostfixXeroxCharCodes˜Kšœ˜K˜—Kšžœ(˜.Kšœ˜K˜—š œžœžœžœ ˜Dš  !œžœžœ žœžœžœ˜`K–PostfixXeroxCharCodes˜Kšœ˜K˜—Kšžœ-˜3Kšœ˜K˜—š œžœžœžœ ˜Mš  (œžœžœ žœžœžœ˜iK–PostfixXeroxCharCodes˜ Kšœ˜K˜—Kšžœ:˜@Kšœ˜K˜—Lšžœ˜K™—K˜—…—ึ"ญ