OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
AppleKxldState.h
Go to the documentation of this file.
1
13#ifndef APPLE_KXLD_STATE_H
14#define APPLE_KXLD_STATE_H
15
17
41#define KXLD_LINK_STATE_SIGNATURE 0xF00DD00D
42#define KXLD_LINK_STATE_INVERT_SIGNATURE 0x0DD00DF0
43
48#define KXLD_LINK_STATE_SIGNATURE_64 0xCAFEF00D
49#define KXLD_LINK_STATE_INVERT_SIGNATURE_64 0x0DF0FECA
50
54#define KXLD_LINK_STATE_VERSION 1
55
71
72#pragma pack(push, 1)
73
74typedef struct {
75 UINT32 NameOffset;
77 UINT32 NumEntries;
79
80typedef struct {
81 CHAR8 SegmentName[16];
82 CHAR8 SectionName[16];
84
85typedef struct {
86 UINT32 Address;
87 UINT32 NameOffset;
88 UINT32 Flags;
90
91typedef struct {
92 UINT64 Address;
93 UINT32 NameOffset;
94 UINT32 Flags;
96
97STATIC_ASSERT (sizeof (KXLD_SYM_ENTRY_32) == 12, "Invalid KXLD_SYM_ENTRY_32 size");
98STATIC_ASSERT (sizeof (KXLD_SYM_ENTRY_64) == 16, "Invalid KXLD_SYM_ENTRY_64 size");
99
100#pragma pack(pop)
101
106
110#define KXLD_SYM_OBSOLETE BIT0
111
112#endif // APPLE_KXLD_STATE_H
STATIC_ASSERT(sizeof(KXLD_SYM_ENTRY_32)==12, "Invalid KXLD_SYM_ENTRY_32 size")
INT32 MACH_CPU_TYPE
INT32 MACH_CPU_SUBTYPE
UINT32 Signature
Always KXLD_LINK_STATE_SIGNATURE.
UINT32 Version
Always LINK_STATE_VERSION.
UINT32 SectionOffset
Unused for kernel objects.
UINT32 NumVtables
Number of virtual table headers.
MACH_CPU_SUBTYPE CpuSubtype
Processor subtype as in Mach-O.
UINT32 SymbolOffset
Offset to normal symbols.
UINT32 NumSymbols
Number of normal symbols.
MACH_CPU_TYPE CpuType
Processor type as in Mach-O.
UINT32 VtableOffset
Offset to virtual table headers.
UINT32 NumSections
Unused for kernel objects.
KXLD_SYM_ENTRY_32 Kxld32
KXLD_SYM_ENTRY_64 Kxld64