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.h
Defines 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;
fragmentBundle
offset
length
CodeFragments.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;
reservedA
This field is reserved for future use. Set this field to 0.
reservedB
This field is reserved for future use. Set this field to 0.
reservedC
This field is reserved for future use. Set this field to 0.
version
reservedD
This field is reserved for future use. Set this field to 0.
reservedE
This field is reserved for future use. Set this field to 0.
reservedF
This field is reserved for future use. Set this field to 0.
reservedG
This field is reserved for future use. Set this field to 0.
reservedH
This field is reserved for future use. Set this field to 0.
memberCount
firstMember
CodeFragments.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;
architecture
reservedA
This field is reserved. Set to 0.
reservedB
This field is reserved. Set to 0.
updateLevel
currentVersion
oldDefVersion
uUsage1
uUsage2
usage
where
offset
length
uWhere1
uWhere2
extensionCount
Specifies the number of extensions beyond the name.
memberSize
Specifies the size in bytes, including all extensions.
name
CodeFragments.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;
fileSpec
A 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.
offset
The offset, in bytes, from the beginning of the file’s data fork to the beginning of the fragment.
length
The 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;
contextID
A context ID.
closureID
A closure ID.
connectionID
A connection ID.
fragLocator
A fragment location structure, CFragSystem7Locator
that specifies the location
of the fragment.
libName
A pointer to the name of the fragment being initialized. The name is a Pascal string (a length byte followed by the name itself).
reservedA
Reserved 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;
where
A 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.”
u
If 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;
address
A pointer to the beginning of the fragment in memory.
length
The length, in bytes, of the fragment.
inPlace
A Boolean value that specifies whether the container’s
data section is instantiated in place (true
)
or elsewhere (false
).
reservedA
This field is reserved for future use. Set to 0.
reservedB
This 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;
fileSpec
A 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.
rsrcType
The resource type of the resource containing the fragment.
rsrcID
The resource ID of the resource containing the fragment.
reservedA
This 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 };
kPowerPCCFragArch
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kMotorola68KCFragArch
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kAnyCFragArch
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
enum { kIsCompleteCFrag = 0, kFirstCFragUpdate = 1 };
kIsCompleteCFrag
Indicates 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
.
kFirstCFragUpdate
Indicates 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 };
kCFragLibUsageMapPrivatelyMask
Available 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 };
kCFragResourceType
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kCFragResourceID
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kCFragLibraryFileType
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kCFragAllFileTypes
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
enum { kCompiledCFragArch = 'kPowerPCCFragArch' };
kCompiledCFragArch
The 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 };
kLoadCFrag
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
enum { kPowerPC = kPowerPCCFragArch, kMotorola68K = kMotorola68KCFragArch };
kPowerPC
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kMotorola68K
Available 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 };
kPowerPCArch
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kMotorola68KArch
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kAnyArchType
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kNoLibName
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kNoConnectionID
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kLoadLib
Specifies that the Code Fragment Manager search for the specified fragment.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kFindLib
Specifies 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
.
kNewCFragCopy
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kLoadNewCopy
Specifies 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
.
kUseInPlace
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kCodeSym
Specifies a code symbol.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kDataSym
Specifies a data symbol.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kTVectSym
Specifies a transition vector symbol.
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kTOCSym
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kGlueSym
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kInMem
Specifies 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
.
kOnDiskFlat
Specifies 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
.
kOnDiskSegmented
Specifies 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
.
kIsLib
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kIsApp
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kIsDropIn
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kFullLib
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kUpdateLib
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kWholeFork
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kCFMRsrcType
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kCFMRsrcID
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kSHLBFileType
Available in Mac OS X v10.0 and later.
Declared in CodeFragments.h
.
kUnresolvedSymbolAddress
Available 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 };
kReferenceCFrag
Try 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
.
kFindCFrag
Try 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
.
kPrivateCFragCopy
Prepare 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 };
kMemoryCFragLocator
Indicates the container is in memory.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kDataForkCFragLocator
Indicates 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
.
kResourceCFragLocator
Indicates 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
.
kNamedFragmentCFragLocator
This 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
.
kCFBundleCFragLocator
Indicates 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
.
kCFBundlePreCFragLocator
Indicates 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 };
kCodeCFragSymbol
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kDataCFragSymbol
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kTVectorCFragSymbol
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kTOCCFragSymbol
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kGlueCFragSymbol
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
enum { kUnresolvedCFragSymbolAddress = 0 };
kUnresolvedCFragSymbolAddress
Available 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 };
kImportLibraryCFrag
Indicates a standard CFM import library.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kApplicationCFrag
Indicates a MacOS application.
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kDropInAdditionCFrag
Indicates 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
.
kStubLibraryCFrag
Indicates 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
.
kWeakStubLibraryCFrag
Indicates 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 };
kNullCFragVersion
Available in Mac OS X v10.0 and later.
Not available to 64-bit applications.
Declared in CodeFragments.h
.
kWildcardCFragVersion
Available 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).
© 2003, 2005 Apple Computer, Inc. All Rights Reserved. (Last updated: 2005-07-07)