diff options
Diffstat (limited to 'dev/kernel/KernelKit/XCOFF.h')
| -rw-r--r-- | dev/kernel/KernelKit/XCOFF.h | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/dev/kernel/KernelKit/XCOFF.h b/dev/kernel/KernelKit/XCOFF.h index d38c2e02..eb536c01 100644 --- a/dev/kernel/KernelKit/XCOFF.h +++ b/dev/kernel/KernelKit/XCOFF.h @@ -16,18 +16,19 @@ #include <NewKit/Defines.h> -#define kXCOFF64Magic (0x01F7) +#define kXCOFF64Magic (0x01F7) +#define kXCOFF64ForkNameLen (256U) #define kXCOFFRelFlg (0x0001) #define kXCOFFExecutable (0x0002) #define kXCOFFLnno (0x0004) #define kXCOFFLSyms (0x0008) -struct XCoffFileHeader; -struct XCoffForkHeader; +struct XCOFF_FILE_HEADER; +struct XCOFF_FORK_HEADER; /// @brief XCoff file header, meant for POWER apps. -typedef struct XCoffFileHeader +typedef struct XCOFF_FILE_HEADER { Kernel::UInt16 fMagic; Kernel::UInt16 fTarget; @@ -36,16 +37,17 @@ typedef struct XCoffFileHeader Kernel::UIntPtr fSymPtr; Kernel::UInt32 fNumSyms; Kernel::UInt16 fOptHdr; // ?: Number of bytes in optional header -} XCoffFileHeader64; +} XCOFF_FILE_HEADER, XCOFF_FILE_HEADER32, XCOFF_FILE_HEADER64; -#define kForkNameLen (256U) - -/// @brief This the executable manifest fork. -typedef struct XCoffForkHeader +/// @brief This the executable's manifest fork, designed for NeFS. +/// @param fPropertiesXMLFork The XML fork of the executable. +/// @param fDynamicLoaderFork The DYLD fork metadata. +/// @param fCodeSignFork Executable's certificate contained in a fork. +typedef struct XCOFF_FORK_HEADER { - Kernel::Char fPropertiesXMLFork[kForkNameLen]; - Kernel::Char fDynamicLoaderFork[kForkNameLen]; - Kernel::Char fCodeSignFork[kForkNameLen]; -} XCoffForkHeader; + Kernel::Char fPropertiesXMLFork[kXCOFF64ForkNameLen]; + Kernel::Char fDynamicLoaderFork[kXCOFF64ForkNameLen]; + Kernel::Char fCodeSignFork[kXCOFF64ForkNameLen]; +} XCOFF_FORK_HEADER; #endif // ifndef INC_XOCFF_H |
