| Framework | CoreServices/CoreServices.h |
| Declared in | CodeFragments.h |
This chapter describes the Code Fragment Manager, the part of the Mac OS that loads fragments into memory and prepares them for execution. A fragment can be an application, an import library, a system extension, or any other block of executable code and its associated data.
The Code Fragment Manager is intended to operate transparently to most applications and other software. You need to use the Code Fragment Manager explicitly only if
you need to load code modules dynamically during the execution of your application or other software
you want to unload code modules before the termination of your application
you want to obtain information about the symbols exported by a fragment
For example, if your application supports dynamic loading of tools, filters, or other software modules contained in fragments, you'll need to use the Code Fragment Manager to load and prepare them for execution.
Carbon supports the Code Fragment Manager.
CountSymbols Deprecated in Mac OS X v10.5
FindSymbol Deprecated in Mac OS X v10.5
GetIndSymbol Deprecated in Mac OS X v10.5
GetDiskFragment Deprecated in Mac OS X v10.5
GetMemFragment Deprecated in Mac OS X v10.5
GetSharedLibrary Deprecated in Mac OS X v10.5
CloseConnection Deprecated in Mac OS X v10.5
ConvertBundlePreLocator Deprecated in Mac OS X v10.5
Defines a fragment initialization function that is executed by the Code Fragment Manager when the fragment is first loaded into memory and prepared for execution.
typedef OSErr (*CFragInitFunction) ( const CFragInitBlock * initBlock );
If you name your function MyCFragInitFunction,
you would declare it like this:
OSErr MyCFragInitFunction ( const CFragInitBlock * initBlock );
A pointer to a fragment initialization block specifying information about the fragment.
A result
code. See “Code Fragment Manager Result Codes.” Your initialization
function should return noErr if
it executes successfully, and some other result code if it does
not. If your initialization function returns any result code other
than noErr, the entire
load fails and the error fragUserInitProcErr is
returned to the code that requested the root load.
A fragment’s initialization function is executed immediately
before the fragment’s main function (if it has one) is executed.
The initialization function is passed a pointer to an initialization
block, which contains information about the fragment, such as its
location and connection ID. See InitBlock for a description of the fields
of the initialization block.
You can use the initialization function to perform any tasks
that need to be performed before any of the code or data in the
fragment is accessed. For example, you might want to open the fragment’s
resource fork (if it has one). You can determine the location of
the fragment’s container from the FragmentLocator field
of the fragment initialization block whose address is passed to
your initialization function.
CodeFragments.hDefines a pointer to a fragment termination function that is executed by the Code Fragment Manager when the fragment is unloaded from memory.
typedef void (*CFragTermProcedure) ( );
If you name your function MyCFragTermProcedure,
you would declare it like this:
void MyCFragTermProcedure ();
A fragment’s termination function is executed immediately before the fragment is unloaded from memory. You can use the termination function to perform any necessary clean-up tasks, such as closing open resource files or disposing of any memory allocated by the fragment.
Note that a termination function is not passed any parameters and does not return any result. You are expected to maintain any information about the fragment (such as file reference numbers of any open files) in its static data area.
CodeFragments.h
struct CFragCFBundleLocator {
CFBundleRef fragmentBundle;
UInt32 offset;
UInt32 length;
};
typedef struct CFragCFBundleLocator CFragCFBundleLocator;
fragmentBundleoffsetlengthCodeFragments.h
typedef struct OpaqueCFragClosureID * CFragClosureID;
CodeFragments.h
typedef struct OpaqueCFragConnectionID * CFragConnectionID;
CodeFragments.h
typedef struct OpaqueCFragContainerID * CFragContainerID;
CodeFragments.h
typedef MPProcessID CFragContextID;
CodeFragments.h
typedef CFragSystem7DiskFlatLocator CFragHFSDiskFlatLocator;
CodeFragments.h
typedef CFragSystem7Locator CFragHFSLocator;
CodeFragments.h
typedef CFragSystem7LocatorPtr CFragHFSLocatorPtr;
CodeFragments.h
typedef CFragSystem7MemoryLocator CFragHFSMemoryLocator;
CodeFragments.h
typedef CFragSystem7SegmentedLocator CFragHFSSegmentedLocator;
CodeFragments.h
typedef CFragSystem7InitBlock CFragInitBlock;
CodeFragments.h
typedef CFragSystem7InitBlockPtr CFragInitBlockPtr;
CodeFragments.h
struct CFragResource {
UInt32 reservedA;
UInt32 reservedB;
UInt16 reservedC;
UInt16 version;
UInt32 reservedD;
UInt32 reservedE;
UInt32 reservedF;
UInt32 reservedG;
UInt16 reservedH;
UInt16 memberCount;
CFragResourceMember firstMember;
};
typedef struct CFragResource CFragResource;
typedef CFragResource * CFragResourcePtr;
typedef CFragResourcePtr * CFragResourceHandle;
reservedAThis field is reserved for future use. Set this field to 0.
reservedBThis field is reserved for future use. Set this field to 0.
reservedCThis field is reserved for future use. Set this field to 0.
versionreservedDThis field is reserved for future use. Set this field to 0.
reservedEThis field is reserved for future use. Set this field to 0.
reservedFThis field is reserved for future use. Set this field to 0.
reservedGThis field is reserved for future use. Set this field to 0.
reservedHThis field is reserved for future use. Set this field to 0.
memberCountfirstMemberCodeFragments.h
struct CFragResourceExtensionHeader {
UInt16 extensionKind;
UInt16 extensionSize;
};
typedef struct CFragResourceExtensionHeader CFragResourceExtensionHeader;
typedef CFragResourceExtensionHeader * CFragResourceExtensionHeaderPtr;
CodeFragments.h
struct CFragResourceMember {
CFragArchitecture architecture;
UInt16 reservedA;
UInt8 reservedB;
UInt8 updateLevel;
CFragVersionNumber currentVersion;
CFragVersionNumber oldDefVersion;
CFragUsage1Union uUsage1;
CFragUsage2Union uUsage2;
CFragUsage usage;
CFragLocatorKind where;
UInt32 offset;
UInt32 length;
CFragWhere1Union uWhere1;
CFragWhere2Union uWhere2;
UInt16 extensionCount;
UInt16 memberSize;
unsigned char name[16];
};
typedef struct CFragResourceMember CFragResourceMember;
typedef CFragResourceMember * CFragResourceMemberPtr;
architecturereservedAThis field is reserved. Set to 0.
reservedBThis field is reserved. Set to 0.
updateLevelcurrentVersionoldDefVersionuUsage1uUsage2usagewhereoffsetlengthuWhere1uWhere2extensionCountSpecifies the number of extensions beyond the name.
memberSizeSpecifies the size in bytes, including all extensions.
nameCodeFragments.h
struct CFragResourceSearchExtension {
CFragResourceExtensionHeader header;
OSType libKind;
unsigned char qualifiers[1];
};
typedef struct CFragResourceSearchExtension CFragResourceSearchExtension;
typedef CFragResourceSearchExtension * CFragResourceSearchExtensionPtr;
CodeFragments.h
Defines a disk location structure.
struct CFragSystem7DiskFlatLocator {
FSSpec * fileSpec;
UInt32 offset;
UInt32 length;
};
typedef struct CFragSystem7DiskFlatLocator CFragSystem7DiskFlatLocator;
typedef CFragSystem7DiskFlatLocator DiskFragment;
fileSpecA pointer to a file specification structure (a
data structure of type FSSpec) for
the data fork of a file. This pointer is valid only while the initialization function
is executing. If you need to access the information in the file specification
structure at any later time, you must make a copy of that structure.
offsetThe offset, in bytes, from the beginning of the file’s data fork to the beginning of the fragment.
lengthThe length, in bytes, of the fragment. If this field contains the value 0, the fragment extends to the end-of-file.
For fragments located in the data fork of a file on disk,
the onDisk field of a
fragment location structure contains a disk location structure,
which specifies the location of the fragment.
The fields of a fragment initialization block are aligned in memory in accordance with 680x0 alignment conventions.
CodeFragments.h
struct CFragSystem7InitBlock {
CFragContextID contextID;
CFragClosureID closureID;
CFragConnectionID connectionID;
CFragSystem7Locator fragLocator;
StringPtr libName;
UInt32 reservedA;
};
typedef struct CFragSystem7InitBlock CFragSystem7InitBlock;
typedef CFragSystem7InitBlock * CFragSystem7InitBlock;
typedef CFragSystem7InitBlock CFragInitBlock;
contextIDA context ID.
closureIDA closure ID.
connectionIDA connection ID.
fragLocatorA fragment location structure, CFragSystem7Locator that specifies the location
of the fragment.
libNameA pointer to the name of the fragment being initialized. The name is a Pascal string (a length byte followed by the name itself).
reservedAReserved for use by Apple Computer.
The Code Fragment Manager passes to your fragment’s initialization
function a pointer to a fragment initialization block, which contains
information about the fragment. A fragment initialization block
is defined by the InitBlock data
type.
The fields of a fragment initialization block are aligned in memory in accordance with 680x0 alignment conventions.
CodeFragments.h
Defines a fragment location structure.
struct CFragSystem7Locator {
SInt32 where
union {
CFragSystem7DiskFlatLocator onDisk;
CFragSystem7MemoryLocator inMem;
CFragSystem7SegmentedLocator inSegs;
CFragCFBundleLocator inBundle;
} u;
};
typedef struct CFragSystem7Locator CFragSystem7Locator;
typedef CFragSystem7Locator * CFragSystem7LocatorPtr;
typedef CFragSystem7Locator FragmentLocator;
whereA selector that determines which member of the following union is relevant. This field can contain one of the constants described in “Load Flag, Symbol Class, and Fragment Locator Constants.”
uIf the where field
has the value kOnDiskFlat,
a disk location structure.
The fragLocator field
of an initialization block contains a fragment location structure that
provides information about the location of a fragment.
The fields of a fragment initialization block are aligned in memory in accordance with 680x0 alignment conventions.
CodeFragments.h
Defines a memory location structure.
struct CFragSystem7MemoryLocator {
LogicalAddress address;
UInt32 length;
Boolean inPlace;
UInt8 reservedA;
UInt16 reservedB;
};
typedef struct CFragSystem7MemoryLocator CFragSystem7MemoryLocator;
typedef CFragSystem7MemoryLocator MemFragment;
addressA pointer to the beginning of the fragment in memory.
lengthThe length, in bytes, of the fragment.
inPlaceA Boolean value that specifies whether the container’s
data section is instantiated in place (true)
or elsewhere (false).
reservedAThis field is reserved for future use. Set to 0.
reservedBThis field is reserved for future use. Set to 0.
For fragments located in memory, the inMem field
of a fragment location structure contains a memory location structure,
which specifies the location of the fragment in memory.
The fields of a fragment initialization block are aligned in memory in accordance with 680x0 alignment conventions.
CodeFragments.h
Defines a segment location structure.
struct CFragSystem7SegmentedLocator {
FSSpec * fileSpec;
OSType rsrcType;
SInt16 rsrcID;
UInt16 reservedA;
};
typedef struct CFragSystem7SegmentedLocator CFragSystem7SegmentedLocator;
typedef CFragSystem7SegmentedLocator SegmentedFragment;
fileSpecA pointer to a file specification structure (a
data structure of type FSSpec) for
the resource fork of a file. This pointer is valid only while the initialization
function is executing. If you need to access the information in the
file specification structure at any later time, you must make a
copy of that structure.
rsrcTypeThe resource type of the resource containing the fragment.
rsrcIDThe resource ID of the resource containing the fragment.
reservedAThis field is reserved for future use.
For fragments located in the resource fork of a file on disk,
the inSegs field of a
fragment location structure contains a segment location structure,
which specifies the location of the fragment.
The fields of a fragment initialization block are aligned in memory in accordance with 680x0 alignment conventions.
CodeFragments.h
union CFragUsage1Union {
UInt32 appStackSize;
};
typedef union CFragUsage1Union CFragUsage1Union;
CodeFragments.h
union CFragUsage2Union {
SInt16 appSubdirID;
UInt16 libFlags;
};
typedef union CFragUsage2Union CFragUsage2Union;
CodeFragments.h
union CFragWhere1Union {
UInt32 spaceID;
};
typedef union CFragWhere1Union CFragWhere1Union;
CodeFragments.h
union CFragWhere2Union {
UInt16 reserved;
};
typedef union CFragWhere2Union CFragWhere2Union;
CodeFragments.h
typedef CFragConnectionID ConnectionID;
CodeFragments.h
A CFragSystem7DiskFlatLocator structure.
typedef CFragSystem7DiskFlatLocator DiskFragment;
See CFragSystem7DiskFlatLocator.
CodeFragments.h
A CFragSystem7Locator structure.
typedef CFragSystem7Locator FragmentLocator;
See CFragSystem7Locator.
CodeFragments.h
typedef CFragSystem7LocatorPtr FragmentLocatorPtr;
CodeFragments.h
typedef CFragInitBlock InitBlock;
CodeFragments.h
typedef CFragInitBlockPtr InitBlockPtr;
CodeFragments.h
typedef CFragLoadOptions LoadFlags;
CodeFragments.h
A CFragSystem7MemoryLocator structure.
typedef CFragSystem7MemoryLocator MemFragment;
See CFragSystem7MemoryLocator.
CodeFragments.h
A CFragSystem7SegmentedLocator structure.
typedef CFragSystem7SegmentedLocator SegmentedFragment;
See CFragSystem7SegmentedLocator.
CodeFragments.h
typedef CFragSymbolClass SymClass;
CodeFragments.h
typedef OSType CFragArchitecture;
enum {
kPowerPCCFragArch = 'pwpc',
kMotorola68KCFragArch = 'm68k',
kAnyCFragArch = 0x3F3F3F3F
};
kPowerPCCFragArchAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kMotorola68KCFragArchAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kAnyCFragArchAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
enum {
kIsCompleteCFrag = 0,
kFirstCFragUpdate = 1
};
kIsCompleteCFragIndicates a base fragment rather than an update.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kFirstCFragUpdateIndicates the first update, others are numbered starting with 2.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
enum {
kCurrCFragResourceVersion = 1
};
enum {
kDefaultCFragNameLen = 16
};
#define IsFileLocation CFragHasFileLocation;
enum {
kCFragGoesToEOF = 0
};
enum {
kCFragLibUsageMapPrivatelyMask = 0x0001
};
kCFragLibUsageMapPrivatelyMaskAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
enum {
kCFragResourceSearchExtensionKind = 0x30EE
};
enum {
kCFragResourceType = 'cfrg',
kCFragResourceID = 0,
kCFragLibraryFileType = 'shlb',
kCFragAllFileTypes = 0xFFFFFFFF
};
kCFragResourceTypeAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kCFragResourceIDAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kCFragLibraryFileTypeAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kCFragAllFileTypesAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
enum {
kCompiledCFragArch = 'kPowerPCCFragArch'
};
kCompiledCFragArchThe value for this constant is 'kPowerPCCFragArch' if
you have defined TARGET_CPU_PPC.
If you define TARGET_CPU_X86,
then the value of this constant is 'none'
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
enum {
kLoadCFrag = kReferenceCFrag
};
kLoadCFragAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
enum {
kPowerPC = kPowerPCCFragArch,
kMotorola68K = kMotorola68KCFragArch
};
kPowerPCAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kMotorola68KAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
enum {
kPowerPCArch = kPowerPCCFragArch,
kMotorola68KArch = kMotorola68KCFragArch,
kAnyArchType = kAnyCFragArch,
kNoLibName = 0,
kNoConnectionID = 0,
kLoadLib = kLoadCFrag,
kFindLib = kFindCFrag,
kNewCFragCopy = kPrivateCFragCopy,
kLoadNewCopy = kPrivateCFragCopy,
kUseInPlace = 0x80,
kCodeSym = kCodeCFragSymbol,
kDataSym = kDataCFragSymbol,
kTVectSym = kTVectorCFragSymbol,
kTOCSym = kTOCCFragSymbol,
kGlueSym = kGlueCFragSymbol,
kInMem = kMemoryCFragLocator,
kOnDiskFlat = kDataForkCFragLocator,
kOnDiskSegmented = kResourceCFragLocator,
kIsLib = kImportLibraryCFrag,
kIsApp = kApplicationCFrag,
kIsDropIn = kDropInAdditionCFrag,
kFullLib = kIsCompleteCFrag,
kUpdateLib = kFirstCFragUpdate,
kWholeFork = kCFragGoesToEOF,
kCFMRsrcType = kCFragResourceType,
kCFMRsrcID = kCFragResourceID,
kSHLBFileType = kCFragLibraryFileType,
kUnresolvedSymbolAddress = kUnresolvedCFragSymbolAddress
};
kPowerPCArchAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kMotorola68KArchAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kAnyArchTypeAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kNoLibNameAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kNoConnectionIDAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kLoadLibSpecifies that the Code Fragment Manager search for the specified fragment.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kFindLibSpecifies that the Code Fragment Manager search for the specified fragment and, if it finds it, load it into memory. If the fragment has already been loaded, it is not loaded again. The Code Fragment Manager uses the data-instantiation method specified in the fragment’s container (which is either global or per-connection instantiation).
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kNewCFragCopyAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kLoadNewCopySpecifies that the Code Fragment Manager load
the specified fragment, creating a new copy of any writable data
maintained by the fragment. You specify kLoadNewCopy to
obtain one instance per load of the fragment’s data and to override
the data-instantiation method specified in the container itself.
This is most useful for application extensions (for example, drop-in tools).
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kUseInPlaceAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kCodeSymSpecifies a code symbol.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kDataSymSpecifies a data symbol.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kTVectSymSpecifies a transition vector symbol.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kTOCSymAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kGlueSymAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kInMemSpecifies that the container is in memory.
If used in the where parameter of
a FragmentLocator structure,
the relevant member of the union is a CFragSystem7SegmentedLocator structure.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kOnDiskFlatSpecifies that the container is in a data fork.
If used in the where parameter of
a FragmentLocator structure,
the relevant member of the union is a CFragSystem7SegmentedLocator structure.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kOnDiskSegmentedSpecifies that the container is in a resource.
If used in the where parameter of
a FragmentLocator structure,
the relevant member of the union is a CFragSystem7SegmentedLocator structure.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kIsLibAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kIsAppAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kIsDropInAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kFullLibAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kUpdateLibAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kWholeForkAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kCFMRsrcTypeAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kCFMRsrcIDAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kSHLBFileTypeAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
kUnresolvedSymbolAddressAvailable in Mac OS X v10.0 and later.
Declared in CodeFragments.h
The load flag constants (kLoadLib, kFindLib,
and kLoadNewCopy) are
used in the loadFlags parameter
of the GetDiskFragment, GetMemFragment, and GetSharedLibrary functions
to specify the action taken by those functions.
The symbol class constants (kCodeSym, kDataSym,
and kTVectSym) are returned
in the symClass parameter
of the FindSymbol function
to specify the class of the specified symbol.
The fragment locator constants (kInMem, kOnDiskFlat,
and kOnDiskSegmented)
are used in the where field of the FragmentLocator structure to indicate
which member of the union u is
relevant.
typedef OptionBits CFragLoadOptions; enum { kReferenceCFrag = 0x0001, kFindCFrag = 0x0002, kPrivateCFragCopy = 0x0005 };
kReferenceCFragTry to use existing copy, increment reference counts.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kFindCFragTry find an existing copy, do not increment reference counts.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kPrivateCFragCopyPrepare a new private copy.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
typedef UInt8 CFragLocatorKind;
enum {
kMemoryCFragLocator = 0,
kDataForkCFragLocator = 1,
kResourceCFragLocator = 2,
kNamedFragmentCFragLocator = 4,
kCFBundleCFragLocator = 5,
kCFBundlePreCFragLocator = 6
};
kMemoryCFragLocatorIndicates the container is in memory.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kDataForkCFragLocatorIndicates the container is in a file’s data fork.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kResourceCFragLocatorIndicates the container is in a file’s resource fork.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kNamedFragmentCFragLocatorThis constant is reserved for future use.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kCFBundleCFragLocatorIndicates the container is in the executable
of a CFBundle.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kCFBundlePreCFragLocatorIndicates it was passed to the initialization
routines in lieu of kCFBundleCFragLocator
Available in Mac OS X v10.1 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
typedef UInt8 CFragSymbolClass;
enum {
kCodeCFragSymbol = 0,
kDataCFragSymbol = 1,
kTVectorCFragSymbol = 2,
kTOCCFragSymbol = 3,
kGlueCFragSymbol = 4
};
kCodeCFragSymbolAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kDataCFragSymbolAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kTVectorCFragSymbolAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kTOCCFragSymbolAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kGlueCFragSymbolAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
enum {
kUnresolvedCFragSymbolAddress = 0
};
kUnresolvedCFragSymbolAddressAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
typedef UInt8 CFragUsage;
enum {
kImportLibraryCFrag = 0,
kApplicationCFrag = 1,
kDropInAdditionCFrag = 2,
kStubLibraryCFrag = 3,
kWeakStubLibraryCFrag = 4
};
kImportLibraryCFragIndicates a standard CFM import library.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kApplicationCFragIndicates a MacOS application.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kDropInAdditionCFragIndicates an application or library private extension/plug-in.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kStubLibraryCFragIndicates an import library used for linking only
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kWeakStubLibraryCFragIndicates an import library used for linking only and will be automatically weak linked
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
typedef UInt32 CFragVersionNumber;
enum {
kNullCFragVersion = 0,
kWildcardCFragVersion = 0xFFFFFFFF
};
kNullCFragVersionAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
kWildcardCFragVersionAvailable in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
The most common result codes returned by Code Fragment Manager
are listed in the table below.
The Code Fragment Manager may also return paramErr (-50).
Last updated: 2005-07-07