Next Page > Hide TOC

Pascal String Utilities Reference

Framework
CoreServices/CoreServices.h
Declared in
PEFBinaryFormat.h
PLStringFuncs.h

Overview

Pascal String Utilities is an API that provides functions for performing common string manipulations, such as concatenation and copying, on Pascal strings. Although Unicode is the preferred encoding for strings on Mac OS X, you may find these functions useful if your application handles Pascal strings as well.

This category also includes structures and constants defining the PEF binary storage format.

Carbon fully supports the functions that assist you in manipulating Pascal strings.

Important: Pascal String Utilities is deprecated as of Mac OS X v10.4. You should update your applications to use Core Foundation Strings (CFStrings) instead. If you need to convert Pascal strings, you can use functions like CFStringCreateWithPascalString to do so.

Data Types

PEF2ContainerHeader

struct PEF2ContainerHeader {
   OSType tag1;
   OSType tag2;
   UInt32 currentFormat;
   UInt32 oldestFormat;
   UInt32 containerHeaderSize;
   UInt32 containerLength;
   UInt32 checksum;
   UInt32 sectionHeadersOffset;
   UInt32 sectionHeaderSize;
   UInt32 totalSectionCount;
   UInt32 instSectionCount;
   UInt32 loaderSectionIndex;
   UInt32 containerStringsOffset;
   UInt32 containerStringsLength;
   UInt32 options;
   UInt32 preferredAddress;
   UInt8 alignment;
   UInt8 stringEncoding;
   UInt16 reservedA;
   UInt32 reservedB;
   UInt32 reservedC;
   UInt32 nameOffset;
   OSType architecture;
   UInt32 dateTimeStamp;
   UInt32 currentVersion;
   UInt32 oldDefVersion;
   UInt32 oldImpVersion;
   UInt32 reservedD;
   UInt32 reservedE;
};
typedef struct PEF2ContainerHeader PEF2ContainerHeader;

Fields
tag1
tag2
currentFormat
oldestFormat
containerHeaderSize
containerLength
checksum
sectionHeadersOffset
sectionHeaderSize
totalSectionCount
instSectionCount
loaderSectionIndex
containerStringsOffset
containerStringsLength
options
preferredAddress
alignment
stringEncoding
reservedA
reservedB
reservedC
nameOffset
architecture
dateTimeStamp
currentVersion
oldDefVersion
oldImpVersion
reservedD
reservedE
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2ExportedSymbolKey

typedef PEFExportedSymbolKey PEF2ExportedSymbolKey;

Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2ImportedLibrary

struct PEF2ImportedLibrary {
   UInt32 nameOffset;
   UInt32 oldImpVersion;
   UInt32 currentVersion;
   UInt32 importedSymbolCount;
   UInt32 firstImportedSymbol;
   UInt32 options;
   UInt32 reservedA;
};
typedef struct PEF2ImportedLibrary PEF2ImportedLibrary;

Fields
nameOffset
oldImpVersion
currentVersion
importedSymbolCount
firstImportedSymbol
options
reservedA
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2LgExportedSymbolHashSlot

struct PEF2LgExportedSymbolHashSlot {
   UInt32 chainCount;
   UInt32 chainOffset;
};
typedef struct PEF2LgExportedSymbolHashSlot PEF2LgExportedSymbolHashSlot;

Fields
chainCount
chainOffset
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2LgExportedSymbol

struct PEF2LgExportedSymbol {
   UInt8 symClass;
   UInt8 flags;
   UInt16 reservedA;
   UInt32 nameOffset;
   UInt32 versionPair;
   SInt32 sectionIndex;
   UInt32 sectionOffset;
   UInt32 reservedB;
};
typedef struct PEF2LgExportedSymbol PEF2LgExportedSymbol;

Fields
symClass
flags
reservedA
nameOffset
versionPair
sectionIndex
sectionOffset
reservedB
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2LgImportedSymbol

struct PEF2LgImportedSymbol {
   UInt8 symClass;
   UInt8 flags;
   UInt16 reservedA;
   UInt32 nameOffset;
   UInt32 versionPair;
   UInt32 reservedB;
};
typedef struct PEF2LgImportedSymbol PEF2LgImportedSymbol;

Fields
symClass
flags
reservedA
nameOffset
versionPair
reservedB
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2LoaderInfoHeader

struct PEF2LoaderInfoHeader {
   UInt32 headerSize;
   UInt32 options;
   SInt32 mainSection;
   UInt32 mainOffset;
   SInt32 initSection;
   UInt32 initOffset;
   SInt32 termSection;
   UInt32 termOffset;
   SInt32 notifySection;
   UInt32 notifyOffset;
   UInt32 importedLibrariesOffset;
   UInt32 importedLibrarySize;
   UInt32 importedLibraryCount;
   UInt32 importedSymbolsOffset;
   UInt32 importedSymbolSize;
   UInt32 totalImportedSymbolCount;
   UInt32 loaderNamesOffset;
   UInt32 loaderNamesLength;
   UInt32 exportHashTableOffset;
   UInt8 exportHashTablePower;
   UInt8 reservedA;
   UInt16 reservedB;
   UInt32 exportedKeysOffset;
   UInt32 exportedSymbolsOffset;
   UInt32 exportedSymbolSize;
   UInt32 exportedSymbolCount;
   UInt32 relocHeadersOffset;
   UInt32 relocHeaderCount;
   UInt32 relocInstrOffset;
   UInt32 relocInstrLength;
   UInt32 reservedC;
   UInt32 reservedD;
};
typedef struct PEF2LoaderInfoHeader PEF2LoaderInfoHeader;

Fields
headerSize
options
mainSection
mainOffset
initSection
initOffset
termSection
termOffset
notifySection
notifyOffset
importedLibrariesOffset
importedLibrarySize
importedLibraryCount
importedSymbolsOffset
importedSymbolSize
totalImportedSymbolCount
loaderNamesOffset
loaderNamesLength
exportHashTableOffset
exportHashTablePower
reservedA
reservedB
exportedKeysOffset
exportedSymbolsOffset
exportedSymbolSize
exportedSymbolCount
relocHeadersOffset
relocHeaderCount
relocInstrOffset
relocInstrLength
reservedC
reservedD
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2LoaderRelocationHeader

struct PEF2LoaderRelocationHeader {
   UInt32 sectionIndex;
   UInt32 relocLength;
   UInt32 firstRelocOffset;
   UInt32 reservedA;
};
typedef struct PEF2LoaderRelocationHeader PEF2LoaderRelocationHeader;

Fields
sectionIndex
relocLength
firstRelocOffset
reservedA
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2SectionHeader

struct PEF2SectionHeader {
   UInt32 nameOffset;
   UInt32 presumedAddress;
   UInt32 totalLength;
   UInt32 unpackedLength;
   UInt32 containerLength;
   UInt32 containerOffset;
   UInt32 options;
   UInt8 shareKind;
   UInt8 alignment;
   UInt16 reservedA;
   UInt32 reservedB;
   UInt32 reservedC;
};
typedef struct PEF2SectionHeader PEF2SectionHeader;

Fields
nameOffset
presumedAddress
totalLength
unpackedLength
containerLength
containerOffset
options
shareKind
alignment
reservedA
reservedB
reservedC
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2SmExportedSymbolHashSlot

typedef PEFExportedSymbolHashSlot PEF2SmExportedSymbolHashSlot;

Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2SmExportedSymbol

typedef PEFExportedSymbol PEF2SmExportedSymbol;

Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEF2SmImportedSymbol

typedef PEFImportedSymbol PEF2SmImportedSymbol;

Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFContainerHeader

struct PEFContainerHeader {
   OSType tag1;
   OSType tag2;
   OSType architecture;
   UInt32 formatVersion;
   UInt32 dateTimeStamp;
   UInt32 oldDefVersion;
   UInt32 oldImpVersion;
   UInt32 currentVersion;
   UInt16 sectionCount;
   UInt16 instSectionCount;
   UInt32 reservedA;
};
typedef struct PEFContainerHeader PEFContainerHeader;

Fields
tag1
tag2
architecture
formatVersion
dateTimeStamp
oldDefVersion
oldImpVersion
currentVersion
sectionCount
instSectionCount
reservedA
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFExportedSymbol

struct PEFExportedSymbol {
   UInt32 classAndName;
   UInt32 symbolValue;
   SInt16 sectionIndex;
};
typedef struct PEFExportedSymbol PEFExportedSymbol;
typedef PEFExportedSymbol PEF2SmExportedSymbol;

Fields
classAndName
symbolValue
sectionIndex
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFExportedSymbolHashSlot

struct PEFExportedSymbolHashSlot {
   UInt32 countAndStart;
};
typedef struct PEFExportedSymbolHashSlot PEFExportedSymbolHashSlot;
typedef PEFExportedSymbolHashSlot XLibExportedSymbolHashSlot;

Fields
countAndStart
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFExportedSymbolKey

struct PEFExportedSymbolKey {
   union {
      UInt32 fullHashWord;
      PEFSplitHashWord splitHashWord;
   } u;
};
typedef struct PEFExportedSymbolKey PEFExportedSymbolKey;
typedef PEFExportedSymbolKey XLibExportedSymbolKey;

Fields
fullHashWord
splitHashWord
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFImportedLibrary

struct PEFImportedLibrary {
   UInt32 nameOffset;
   UInt32 oldImpVersion;
   UInt32 currentVersion;
   UInt32 importedSymbolCount;
   UInt32 firstImportedSymbol;
   UInt8 options;
   UInt8 reservedA;
   UInt16 reservedB;
};
typedef struct PEFImportedLibrary PEFImportedLibrary;

Fields
nameOffset
oldImpVersion
currentVersion
importedSymbolCount
firstImportedSymbol
options
reservedA
reservedB
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFImportedSymbol

struct PEFImportedSymbol {
   UInt32 classAndName;
};
typedef struct PEFImportedSymbol PEFImportedSymbol;
typedef PEFImportedSymbol PEF2SmImportedSymbol;

Fields
classAndName
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFLoaderInfoHeader

struct PEFLoaderInfoHeader {
   SInt32 mainSection;
   UInt32 mainOffset;
   SInt32 initSection;
   UInt32 initOffset;
   SInt32 termSection;
   UInt32 termOffset;
   UInt32 importedLibraryCount;
   UInt32 totalImportedSymbolCount;
   UInt32 relocSectionCount;
   UInt32 relocInstrOffset;
   UInt32 loaderStringsOffset;
   UInt32 exportHashOffset;
   UInt32 exportHashTablePower;
   UInt32 exportedSymbolCount;
};
typedef struct PEFLoaderInfoHeader PEFLoaderInfoHeader;

Fields
mainSection
mainOffset
initSection
initOffset
termSection
termOffset
importedLibraryCount
totalImportedSymbolCount
relocSectionCount
relocInstrOffset
loaderStringsOffset
exportHashOffset
exportHashTablePower
exportedSymbolCount
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFLoaderRelocationHeader

struct PEFLoaderRelocationHeader {
   UInt16 sectionIndex;
   UInt16 reservedA;
   UInt32 relocCount;
   UInt32 firstRelocOffset;
};
typedef struct PEFLoaderRelocationHeader PEFLoaderRelocationHeader;

Fields
sectionIndex
reservedA
relocCount
firstRelocOffset
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFRelocChunk

typedef UInt16 PEFRelocChunk;

Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFSectionHeader

struct PEFSectionHeader {
   SInt32 nameOffset;
   UInt32 defaultAddress;
   UInt32 totalLength;
   UInt32 unpackedLength;
   UInt32 containerLength;
   UInt32 containerOffset;
   UInt8 sectionKind;
   UInt8 shareKind;
   UInt8 alignment;
   UInt8 reservedA;
};
typedef struct PEFSectionHeader PEFSectionHeader;

Fields
nameOffset
defaultAddress
totalLength
unpackedLength
containerLength
containerOffset
sectionKind
shareKind
alignment
reservedA
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

PEFSplitHashWord

struct PEFSplitHashWord {
   UInt16 nameLength;
   UInt16 hashValue;
};
typedef struct PEFSplitHashWord PEFSplitHashWord;

Fields
nameLength
hashValue
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

XLibContainerHeader

struct XLibContainerHeader {
   OSType tag1;
   OSType tag2;
   UInt32 currentFormat;
   UInt32 containerStringsOffset;
   UInt32 exportHashOffset;
   UInt32 exportKeyOffset;
   UInt32 exportSymbolOffset;
   UInt32 exportNamesOffset;
   UInt32 exportHashTablePower;
   UInt32 exportedSymbolCount;
   UInt32 fragNameOffset;
   UInt32 fragNameLength;
   UInt32 dylibPathOffset;
   UInt32 dylibPathLength;
   OSType cpuFamily;
   OSType cpuModel;
   UInt32 dateTimeStamp;
   UInt32 currentVersion;
   UInt32 oldDefVersion;
   UInt32 oldImpVersion;
};
typedef struct XLibContainerHeader XLibContainerHeader;

Fields
tag1
tag2
currentFormat
containerStringsOffset
exportHashOffset
exportKeyOffset
exportSymbolOffset
exportNamesOffset
exportHashTablePower
exportedSymbolCount
fragNameOffset
fragNameLength
dylibPathOffset
dylibPathLength
cpuFamily
cpuModel
dateTimeStamp
currentVersion
oldDefVersion
oldImpVersion
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

XLibExportedSymbol

struct XLibExportedSymbol {
   UInt32 classAndName;
   UInt32 bpOffset;
};
typedef struct XLibExportedSymbol XLibExportedSymbol;

Fields
classAndName
bpOffset
Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

XLibExportedSymbolHashSlot

typedef PEFExportedSymbolHashSlot XLibExportedSymbolHashSlot;

Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

XLibExportedSymbolKey

typedef PEFExportedSymbolKey XLibExportedSymbolKey;

Discussion
Version Notes
Carbon Porting Notes
Availability
Declared In
PEFBinaryFormat.h

Constants

kPEF2IsReexportLibraryMask

enum {
   kPEF2IsReexportLibraryMask = 0x00000001,
   kPEF2IsGlueLibraryMask = 0x00000002
};

Constants
kPEF2IsReexportLibraryMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2IsGlueLibraryMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEF2LdrInfoLargeImpSymMask

enum {
   kPEF2LdrInfoLargeImpSymMask = 0x00000001,
   kPEF2LdrInfoLargeExpSymMask = 0x00000002,
   kPEF2LdrInfoLargeExpHashMask = 0x00000004
};

Constants
kPEF2LdrInfoLargeImpSymMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2LdrInfoLargeExpSymMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2LdrInfoLargeExpHashMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEF2PrivateShare

enum {
   kPEF2PrivateShare = 0,
   kPEF2ProcessShare = 1,
   kPEF2GlobalShare = 4,
   kPEF2ProtectedShare = 5
};

Constants
kPEF2PrivateShare

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2ProcessShare

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2GlobalShare

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2ProtectedShare

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEF2SectionHasCodeMask

enum {
   kPEF2SectionHasCodeMask = 0x00000001,
   kPEF2SectionIsWriteableMask = 0x00000002,
   kPEF2SectionHasRelocationsMask = 0x00000004,
   kPEF2SectionContentsArePackedMask = 0x00000100,
   kPEF2SectionNoZeroFillMask = 0x00000200,
   kPEF2SectionResidentMask = 0x00000400,
   kPEF2SectionFollowsPriorMask = 0x00010000,
   kPEF2SectionPrecedesNextMask = 0x00020000,
   kPEF2SectionHasLoaderTablesMask = 0x01000000,
   kPEF2SectionHasDebugTablesMask = 0x02000000,
   kPEF2SectionHasExceptionTablesMask = 0x04000000,
   kPEF2SectionHasTracebackTablesMask = 0x08000000
};

Constants
kPEF2SectionHasCodeMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionIsWriteableMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionHasRelocationsMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionContentsArePackedMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionNoZeroFillMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionResidentMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionFollowsPriorMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionPrecedesNextMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionHasLoaderTablesMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionHasDebugTablesMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionHasExceptionTablesMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2SectionHasTracebackTablesMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEF2StringsAreASCII

enum {
   kPEF2StringsAreASCII = 0,
   kPEF2StringsAreUnicode = 1
};

Constants
kPEF2StringsAreASCII

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2StringsAreUnicode

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEF2Tag1

enum {
   kPEF2Tag1 = kPEFTag1,
   kPEF2Tag2 = 'PEF ',
   kPEF2CurrentFormat = 0x00000002,
   kPEF2OldestHandler = 0x00000002
};

Constants
kPEF2Tag1

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2Tag2

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2CurrentFormat

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2OldestHandler

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEF2WeakImportLibMask

enum {
   kPEF2WeakImportLibMask = kPEFWeakImportLibMask,
   kPEF2InitLibBeforeMask = kPEFInitLibBeforeMask
};

Constants
kPEF2WeakImportLibMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEF2InitLibBeforeMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFAbsoluteExport

enum {
   kPEFAbsoluteExport = -2,
   kPEFReexportedImport = -3
};

Constants
kPEFAbsoluteExport

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFReexportedImport

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFCodeSection

enum {
   kPEFCodeSection = 0,
   kPEFUnpackedDataSection = 1,
   kPEFPackedDataSection = 2,
   kPEFConstantSection = 3,
   kPEFExecDataSection = 6,
   kPEFLoaderSection = 4,
   kPEFDebugSection = 5,
   kPEFExceptionSection = 7,
   kPEFTracebackSection = 8
};

Constants
kPEFCodeSection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFUnpackedDataSection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPackedDataSection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFConstantSection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFExecDataSection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFLoaderSection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFDebugSection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFExceptionSection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFTracebackSection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFCodeSymbol

enum {
   kPEFCodeSymbol = 0x00,
   kPEFDataSymbol = 0x01,
   kPEFTVectorSymbol = 0x02,
   kPEFTOCSymbol = 0x03,
   kPEFGlueSymbol = 0x04,
   kPEFUndefinedSymbol = 0x0F,
   kPEFWeakImportSymMask = 0x80
};

Constants
kPEFCodeSymbol

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFDataSymbol

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFTVectorSymbol

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFTOCSymbol

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFGlueSymbol

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFUndefinedSymbol

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFWeakImportSymMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFExpSymClassShift

enum {
   kPEFExpSymClassShift = 24,
   kPEFExpSymNameOffsetMask = 0x00FFFFFF,
   kPEFExpSymMaxNameOffset = 0x00FFFFFF
};

Constants
kPEFExpSymClassShift

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFExpSymNameOffsetMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFExpSymMaxNameOffset

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFFirstSectionHeaderOffset

enum {
   kPEFFirstSectionHeaderOffset = sizeof(PEFContainerHeader)
};

Constants
kPEFFirstSectionHeaderOffset

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFHashLengthShift

enum {
   kPEFHashLengthShift = 16,
   kPEFHashValueMask = 0x0000FFFF,
   kPEFHashMaxLength = 0x0000FFFF
};

Constants
kPEFHashLengthShift

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFHashValueMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFHashMaxLength

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFHashSlotSymCountShift

enum {
   kPEFHashSlotSymCountShift = 18,
   kPEFHashSlotFirstKeyMask = 0x0003FFFF,
   kPEFHashSlotMaxSymbolCount = 0x00003FFF,
   kPEFHashSlotMaxKeyIndex = 0x0003FFFF
};

Constants
kPEFHashSlotSymCountShift

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFHashSlotFirstKeyMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFHashSlotMaxSymbolCount

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFHashSlotMaxKeyIndex

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFImpSymClassShift

enum {
   kPEFImpSymClassShift = 24,
   kPEFImpSymNameOffsetMask = 0x00FFFFFF,
   kPEFImpSymMaxNameOffset = 0x00FFFFFF
};

Constants
kPEFImpSymClassShift

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFImpSymNameOffsetMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFImpSymMaxNameOffset

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFPkDataOpcodeShift

enum {
   kPEFPkDataOpcodeShift = 5,
   kPEFPkDataCount5Mask = 0x1F,
   kPEFPkDataMaxCount5 = 31,
   kPEFPkDataVCountShift = 7,
   kPEFPkDataVCountMask = 0x7F,
   kPEFPkDataVCountEndMask = 0x80
};

Constants
kPEFPkDataOpcodeShift

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPkDataCount5Mask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPkDataMaxCount5

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPkDataVCountShift

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPkDataVCountMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPkDataVCountEndMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFPkDataZero

enum {
   kPEFPkDataZero = 0,
   kPEFPkDataBlock = 1,
   kPEFPkDataRepeat = 2,
   kPEFPkDataRepeatBlock = 3,
   kPEFPkDataRepeatZero = 4
};

Constants
kPEFPkDataZero

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPkDataBlock

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPkDataRepeat

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPkDataRepeatBlock

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFPkDataRepeatZero

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFProcessShare

enum {
   kPEFProcessShare = 1,
   kPEFGlobalShare = 4,
   kPEFProtectedShare = 5
};

Constants
kPEFProcessShare

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFGlobalShare

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFProtectedShare

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocBasicOpcodeRange

enum {
   kPEFRelocBasicOpcodeRange = 128
};

Constants
kPEFRelocBasicOpcodeRange

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocBySectDWithSkip

enum {
   kPEFRelocBySectDWithSkip = 0x00,
   kPEFRelocBySectC = 0x20,
   kPEFRelocBySectD = 0x21,
   kPEFRelocTVector12 = 0x22,
   kPEFRelocTVector8 = 0x23,
   kPEFRelocVTable8 = 0x24,
   kPEFRelocImportRun = 0x25,
   kPEFRelocSmByImport = 0x30,
   kPEFRelocSmSetSectC = 0x31,
   kPEFRelocSmSetSectD = 0x32,
   kPEFRelocSmBySection = 0x33,
   kPEFRelocIncrPosition = 0x40,
   kPEFRelocSmRepeat = 0x48,
   kPEFRelocSetPosition = 0x50,
   kPEFRelocLgByImport = 0x52,
   kPEFRelocLgRepeat = 0x58,
   kPEFRelocLgSetOrBySection = 0x5A,
   kPEFRelocUndefinedOpcode = 0xFF
};

Constants
kPEFRelocBySectDWithSkip

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocBySectC

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocBySectD

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocTVector12

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocTVector8

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocVTable8

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocImportRun

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocSmByImport

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocSmSetSectC

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocSmSetSectD

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocSmBySection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocIncrPosition

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocSmRepeat

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocSetPosition

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocLgByImport

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocLgRepeat

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocLgSetOrBySection

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocUndefinedOpcode

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocIncrPositionMaxOffset

enum {
   kPEFRelocIncrPositionMaxOffset = 4096
};

Constants
kPEFRelocIncrPositionMaxOffset

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocLgByImportMaxIndex

enum {
   kPEFRelocLgByImportMaxIndex = 0x03FFFFFF
};

Constants
kPEFRelocLgByImportMaxIndex

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocLgBySectionSubopcode

enum {
   kPEFRelocLgBySectionSubopcode = 0x00,
   kPEFRelocLgSetSectCSubopcode = 0x01,
   kPEFRelocLgSetSectDSubopcode = 0x02
};

Constants
kPEFRelocLgBySectionSubopcode

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocLgSetSectCSubopcode

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocLgSetSectDSubopcode

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocLgRepeatMaxChunkCount

enum {
   kPEFRelocLgRepeatMaxChunkCount = 16,
   kPEFRelocLgRepeatMaxRepeatCount = 0x003FFFFF
};

Constants
kPEFRelocLgRepeatMaxChunkCount

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocLgRepeatMaxRepeatCount

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocLgSetOrBySectionMaxIndex

enum {
   kPEFRelocLgSetOrBySectionMaxIndex = 0x003FFFFF
};

Constants
kPEFRelocLgSetOrBySectionMaxIndex

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocRunMaxRunLength

enum {
   kPEFRelocRunMaxRunLength = 512
};

Constants
kPEFRelocRunMaxRunLength

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocSetPosMaxOffset

enum {
   kPEFRelocSetPosMaxOffset = 0x03FFFFFF
};

Constants
kPEFRelocSetPosMaxOffset

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocSmIndexMaxIndex

enum {
   kPEFRelocSmIndexMaxIndex = 511
};

Constants
kPEFRelocSmIndexMaxIndex

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocSmRepeatMaxChunkCount

enum {
   kPEFRelocSmRepeatMaxChunkCount = 16,
   kPEFRelocSmRepeatMaxRepeatCount = 256
};

Constants
kPEFRelocSmRepeatMaxChunkCount

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocSmRepeatMaxRepeatCount

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFRelocWithSkipMaxSkipCount

enum {
   kPEFRelocWithSkipMaxSkipCount = 255,
   kPEFRelocWithSkipMaxRelocCount = 63
};

Constants
kPEFRelocWithSkipMaxSkipCount

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFRelocWithSkipMaxRelocCount

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFTag1

enum {
   kPEFTag1 = 'Joy!',
   kPEFTag2 = 'peff',
   kPEFVersion = 0x00000001
};

Constants
kPEFTag1

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFTag2

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFVersion

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kPEFWeakImportLibMask

enum {
   kPEFWeakImportLibMask = 0x40,
   kPEFInitLibBeforeMask = 0x80
};

Constants
kPEFWeakImportLibMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kPEFInitLibBeforeMask

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes

kXLibTag1

enum {
   kXLibTag1 = 'Mac',
   kVLibTag2 = 'VLib',
   kBLibTag2 = 'BLib',
   kXLibVersion = 0x00000001
};

Constants
kXLibTag1

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kVLibTag2

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kBLibTag2

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

kXLibVersion

Available in Mac OS X v10.0 and later.

Declared in PEFBinaryFormat.h.

Discussion
Version Notes
Carbon Porting Notes


Next Page > Hide TOC


© 2006 Apple Computer, Inc. All Rights Reserved. (Last updated: 2006-07-12)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.