xref: /haiku/headers/private/storage/Pef.h (revision 09d84e61b6c2629d253dce1e7d7e944943d3e40e)
152a38012Sejakowatz // Pef.h
252a38012Sejakowatz 
382b75665STyler Dauwalder #ifndef _PEF_H
482b75665STyler Dauwalder #define _PEF_H
552a38012Sejakowatz 
652a38012Sejakowatz #include <SupportDefs.h>
752a38012Sejakowatz 
852a38012Sejakowatz typedef char	PefOSType[4];
952a38012Sejakowatz 
1052a38012Sejakowatz // container header
1152a38012Sejakowatz struct PEFContainerHeader {
1252a38012Sejakowatz 	PefOSType	tag1;
1352a38012Sejakowatz 	PefOSType	tag2;
1452a38012Sejakowatz 	PefOSType	architecture;
1552a38012Sejakowatz 	uint32		formatVersion;
1652a38012Sejakowatz 	uint32		dateTimeStamp;
1752a38012Sejakowatz 	uint32		oldDefVersion;
1852a38012Sejakowatz 	uint32		oldImpVersion;
1952a38012Sejakowatz 	uint32		currentVersion;
2052a38012Sejakowatz 	uint16		sectionCount;
2152a38012Sejakowatz 	uint16		instSectionCount;
2252a38012Sejakowatz 	uint32		reservedA;
2352a38012Sejakowatz };
2452a38012Sejakowatz 
2552a38012Sejakowatz const char	kPEFFileMagic1[4]		= { 'J', 'o', 'y', '!' };
2652a38012Sejakowatz const char	kPEFFileMagic2[4]		= { 'p', 'e', 'f', 'f' };
2752a38012Sejakowatz const char	kPEFArchitecturePPC[4]	= { 'p', 'w', 'p', 'c' };
2852a38012Sejakowatz const char	kPEFContainerHeaderSize	= 40;
2952a38012Sejakowatz 
3052a38012Sejakowatz // section header
3152a38012Sejakowatz struct PEFSectionHeader {
3252a38012Sejakowatz 	int32	nameOffset;
3352a38012Sejakowatz 	uint32	defaultAddress;
3452a38012Sejakowatz 	uint32	totalSize;
3552a38012Sejakowatz 	uint32	unpackedSize;
3652a38012Sejakowatz 	uint32	packedSize;
3752a38012Sejakowatz 	uint32	containerOffset;
3852a38012Sejakowatz 	uint8	sectionKind;
3952a38012Sejakowatz 	uint8	shareKind;
4052a38012Sejakowatz 	uint8	alignment;
4152a38012Sejakowatz 	uint8	reservedA;
4252a38012Sejakowatz };
4352a38012Sejakowatz 
4452a38012Sejakowatz const uint32 kPEFSectionHeaderSize		= 28;
4552a38012Sejakowatz 
4682b75665STyler Dauwalder #endif	// _PEF_H
47*09d84e61STyler Dauwalder 
48*09d84e61STyler Dauwalder 
49