Important: The information in this document is obsolete and should not be used for new development.
The Container Header
The container header contains information about the specific PEF container. The container header data structure is of fixed size (40 bytes) and has the form shown in Listing 8-1.Listing 8-1 PEF container header data structure
struct PEFContainerHeader { OSTypetag1; OSTypetag2; OSTypearchitecture; UInt32formatVersion; UInt32dateTimeStamp; UInt32oldDefVersion; UInt32oldImpVersion; UInt32currentVersion; UInt16sectionCount; UInt16instSectionCount; UInt32reservedA; };The fields in the container header are as follows:
- The
tag1
field (4 bytes) designates that the container uses an Apple-defined format. This field must be set toJoy!
in ASCII.- The
tag2
field (4 bytes) identifies the type of container (currently set topeff
in ASCII).- The
architecture
field (4 bytes) indicates the architecture type that the container was generated for. This field holds the ASCII valuepwpc
for the PowerPC CFM implementation orm68k
for CFM-68K.- The
formatVersion
field (4 bytes) indicates the version of PEF used in the container. The current version is1.
- The
dateTimeStamp
field (4 bytes) indicates when the PEF container was created. The stamp follows the Macintosh time-measurement scheme (that is, the number of seconds measured from January 1, 1904).- The next three fields,
oldDefVersion
,oldImpVersion
, andcurrentVersion
(4 bytes each), contain version information that the Code Fragment Manager uses to check shared library compatibility. For more information about version checking, see "Checking for Compatible Import Libraries" (page 1-15).- The
sectionCount
field (2 bytes) indicates the total number of sections contained in the container.- The
instSectionCount
field (2 bytes) indicates the number of instantiated sections. Instantiated sections contain code or data that are required for execution.- The
reservedA
field (4 bytes) is currently reserved and must be set to0
.
© Apple Computer, Inc.
11 MARCH 1997