1// Pef.h 2 3#ifndef PEF_H 4#define PEF_H 5 6#include <SupportDefs.h> 7 8typedef char PefOSType[4]; 9 10// container header 11struct PEFContainerHeader { 12 PefOSType tag1; 13 PefOSType tag2; 14 PefOSType architecture; 15 uint32 formatVersion; 16 uint32 dateTimeStamp; 17 uint32 oldDefVersion; 18 uint32 oldImpVersion; 19 uint32 currentVersion; 20 uint16 sectionCount; 21 uint16 instSectionCount; 22 uint32 reservedA; 23}; 24 25const char kPEFFileMagic1[4] = { 'J', 'o', 'y', '!' }; 26const char kPEFFileMagic2[4] = { 'p', 'e', 'f', 'f' }; 27const char kPEFArchitecturePPC[4] = { 'p', 'w', 'p', 'c' }; 28const char kPEFContainerHeaderSize = 40; 29 30// section header 31struct PEFSectionHeader { 32 int32 nameOffset; 33 uint32 defaultAddress; 34 uint32 totalSize; 35 uint32 unpackedSize; 36 uint32 packedSize; 37 uint32 containerOffset; 38 uint8 sectionKind; 39 uint8 shareKind; 40 uint8 alignment; 41 uint8 reservedA; 42}; 43 44const uint32 kPEFSectionHeaderSize = 28; 45 46 47 48#endif // PEF_H 49