summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit/XCOFF.h
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/KernelKit/XCOFF.h')
-rw-r--r--dev/kernel/KernelKit/XCOFF.h28
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