26 #ifndef __CODEFRAGMENTS__
27 #define __CODEFRAGMENTS__
41 #ifndef __MULTIPROCESSING__
58 #if PRAGMA_STRUCT_ALIGN
59 #pragma options align = mac68k
60 #elif PRAGMA_STRUCT_PACKPUSH
62 #elif PRAGMA_STRUCT_PACK
75 kCFragResourceType = FOUR_CHAR_CODE(
'cfrg'),
77 kCFragLibraryFileType = FOUR_CHAR_CODE(
'shlb'),
78 kCFragAllFileTypes = (long)0xFFFFFFFF
81 typedef OSType CFragArchitecture;
85 kPowerPCCFragArch = FOUR_CHAR_CODE(
'pwpc'),
86 kMotorola68KCFragArch = FOUR_CHAR_CODE(
'm68k'),
87 kAnyCFragArch = 0x3F3F3F3F
93 kCompiledCFragArch = kPowerPCCFragArch
101 kCompiledCFragArch = kMotorola68KCFragArch
106 typedef UInt32 CFragVersionNumber;
109 kNullCFragVersion = 0,
110 kWildcardCFragVersion = (long)0xFFFFFFFF
113 typedef UInt8 CFragUsage;
117 kImportLibraryCFrag = 0,
118 kApplicationCFrag = 1,
119 kDropInAdditionCFrag =
121 kStubLibraryCFrag = 3,
122 kWeakStubLibraryCFrag = 4
128 kIsCompleteCFrag = 0,
129 kFirstCFragUpdate = 1
137 typedef UInt8 CFragLocatorKind;
141 kMemoryCFragLocator = 0,
142 kDataForkCFragLocator = 1,
143 kResourceCFragLocator = 2,
144 kNamedFragmentCFragLocator = 4,
145 kCFBundleCFragLocator = 5,
146 kCFBundleIntCFragLocator =
176 kCFragLibUsageMapPrivatelyMask =
193 kDefaultCFragNameLen = 16
198 CFragArchitecture architecture;
202 CFragVersionNumber currentVersion;
203 CFragVersionNumber oldDefVersion;
207 CFragLocatorKind
where;
212 UInt16 extensionCount;
214 unsigned char name[16];
220 UInt16 extensionKind;
221 UInt16 extensionSize;
229 unsigned char qualifiers[1];
235 kCFragResourceSearchExtensionKind = 0x30EE
257 kCurrCFragResourceVersion = 1
260 #define AlignToFour(aValue) (((aValue) + 3) & ~3)
261 #define CFMOffsetOf(structure, field) ((UInt32) & ((structure *)0)->field)
262 #define kBaseCFragResourceMemberSize (CFMOffsetOf(CFragResourceMember, name))
263 #define kBaseCFragResourceSize (CFMOffsetOf(CFragResource, firstMember.name))
264 #define NextCFragResourceMemberPtr(aMemberPtr) \
265 ((CFragResourceMemberPtr)((BytePtr)aMemberPtr + aMemberPtr->memberSize))
266 #define FirstCFragResourceExtensionPtr(aMemberPtr) \
267 ((CFragResourceExtensionHeaderPtr)((BytePtr)aMemberPtr + \
269 kBaseCFragResourceMemberSize + \
270 aMemberPtr->name[0] + 1)))
271 #define NextCFragResourceExtensionPtr(anExtensionPtr) \
272 ((CFragResourceExtensionHeaderPtr)((BytePtr)anExtensionPtr + \
273 ((CFragResourceExtensionHeaderPtr) \
276 #define FirstCFragResourceSearchQualifier(searchExtensionPtr) \
277 ((StringPtr)((BytePtr)searchExtensionPtr + \
278 CFMOffsetOf(CFragResourceSearchExtension, qualifiers)))
279 #define NextCFragResourceSearchQualifier(searchQualifierPtr) \
280 ((StringPtr)((BytePtr)searchQualifierPtr + searchQualifierPtr[0] + 1))
282 typedef MPProcessID CFragContextID;
283 typedef struct OpaqueCFragConnectionID *CFragConnectionID;
284 typedef struct OpaqueCFragClosureID *CFragClosureID;
285 typedef struct OpaqueCFragContainerID *CFragContainerID;
286 typedef OptionBits CFragLoadOptions;
300 kUnresolvedCFragSymbolAddress = 0
303 typedef UInt8 CFragSymbolClass;
307 kCodeCFragSymbol = 0,
308 kDataCFragSymbol = 1,
309 kTVectorCFragSymbol = 2,
321 #define CFragHasFileLocation(where) \
322 (((where) == kDataForkCFragLocator) || ((where) == kResourceCFragLocator) || \
323 ((where) == kCFBundleIntCFragLocator))
339 CFragLoadOptions options, CFragConnectionID *connID,
340 Ptr *mainAddr, Str255 errMessage);
352 ConstStr63Param fragName,
353 CFragLoadOptions options,
354 CFragConnectionID *connID,
368 ConstStr63Param fragName,
369 CFragLoadOptions options,
370 CFragConnectionID *connID,
395 CFragConnectionID connID, ConstStr255Param symName,
397 CFragSymbolClass *symClass) ;
420 CFragConnectionID connID,
long symIndex, Str255 symName,
422 CFragSymbolClass *symClass) ;
464 LogicalAddress address;
494 CFBundleRef fragmentBundle;
514 CFragContextID contextID;
515 CFragClosureID closureID;
516 CFragConnectionID connectionID;
526 typedef CALLBACK_API_C(OSErr,
528 typedef CALLBACK_API_C(
void, CFragTermProcedure)(void);
561 kLoadCFrag = kReferenceCFrag
565 #define IsFileLocation CFragHasFileLocation
566 typedef CFragConnectionID ConnectionID;
567 typedef CFragLoadOptions LoadFlags;
568 typedef CFragSymbolClass SymClass;
583 kPowerPCArch = kPowerPCCFragArch,
584 kMotorola68KArch = kMotorola68KCFragArch,
585 kAnyArchType = kAnyCFragArch,
588 kLoadLib = kLoadCFrag,
589 kFindLib = kFindCFrag,
590 kNewCFragCopy = kPrivateCFragCopy,
591 kLoadNewCopy = kPrivateCFragCopy,
593 kCodeSym = kCodeCFragSymbol,
594 kDataSym = kDataCFragSymbol,
595 kTVectSym = kTVectorCFragSymbol,
596 kTOCSym = kTOCCFragSymbol,
597 kGlueSym = kGlueCFragSymbol,
598 kInMem = kMemoryCFragLocator,
599 kOnDiskFlat = kDataForkCFragLocator,
600 kOnDiskSegmented = kResourceCFragLocator,
601 kIsLib = kImportLibraryCFrag,
602 kIsApp = kApplicationCFrag,
603 kIsDropIn = kDropInAdditionCFrag,
604 kFullLib = kIsCompleteCFrag,
605 kUpdateLib = kFirstCFragUpdate,
606 kWholeFork = kCFragGoesToEOF,
607 kCFMRsrcType = kCFragResourceType,
608 kCFMRsrcID = kCFragResourceID,
609 kSHLBFileType = kCFragLibraryFileType,
610 kUnresolvedSymbolAddress = kUnresolvedCFragSymbolAddress
615 kPowerPC = kPowerPCCFragArch,
616 kMotorola68K = kMotorola68KCFragArch
621 #if PRAGMA_STRUCT_ALIGN
622 #pragma options align = reset
623 #elif PRAGMA_STRUCT_PACKPUSH
625 #elif PRAGMA_STRUCT_PACK
629 #ifdef PRAGMA_IMPORT_OFF
OSErr CountSymbols(CFragConnectionID connID, long *symCount)
OSErr FindSymbol(CFragConnectionID connID, ConstStr255Param symName, Ptr *symAddr, CFragSymbolClass *symClass)
OSErr GetSharedLibrary(ConstStr63Param libName, CFragArchitecture archType, CFragLoadOptions options, CFragConnectionID *connID, Ptr *mainAddr, Str255 errMessage)
OSErr GetDiskFragment(const FSSpec *fileSpec, UInt32 offset, UInt32 length, ConstStr63Param fragName, CFragLoadOptions options, CFragConnectionID *connID, Ptr *mainAddr, Str255 errMessage)
OSErr CloseConnection(CFragConnectionID *connID)
OSErr GetIndSymbol(CFragConnectionID connID, long symIndex, Str255 symName, Ptr *symAddr, CFragSymbolClass *symClass)
OSErr ConvertBundlePreLocator(CFragSystem7LocatorPtr initBlockLocator)
OSErr GetMemFragment(void *memAddr, UInt32 length, ConstStr63Param fragName, CFragLoadOptions options, CFragConnectionID *connID, Ptr *mainAddr, Str255 errMessage)
File Manager (MFS, HFS, and HFS+) Interfaces.
Basic Macintosh data types.
unsigned char * StringPtr
Definition: MacTypes.h:477
unsigned char Boolean
Definition: MacTypes.h:318
Multiprocessing interfaces.
Definition: CodeFragments.h:493
Definition: CodeFragments.h:197
Definition: CodeFragments.h:226
Definition: CodeFragments.h:239
Definition: CodeFragments.h:472
Definition: CodeFragments.h:513
Definition: CodeFragments.h:500
Definition: CodeFragments.h:463
Definition: CodeFragments.h:481
Definition: MacTypes.h:520
Definition: CodeFragments.h:162
Definition: CodeFragments.h:168
Definition: CodeFragments.h:181
Definition: CodeFragments.h:187