OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
AppleKxldState.h File Reference

Go to the source code of this file.

Data Structures

struct  KXLD_LINK_STATE_HEADER
 
struct  KXLD_VTABLE_HEADER
 
struct  KXLD_SECTION_NAME
 
struct  KXLD_SYM_ENTRY_32
 
struct  KXLD_SYM_ENTRY_64
 
union  KXLD_SYM_ENTRY_ANY
 

Macros

#define KXLD_LINK_STATE_SIGNATURE   0xF00DD00D
 
#define KXLD_LINK_STATE_INVERT_SIGNATURE   0x0DD00DF0
 
#define KXLD_LINK_STATE_SIGNATURE_64   0xCAFEF00D
 
#define KXLD_LINK_STATE_INVERT_SIGNATURE_64   0x0DF0FECA
 
#define KXLD_LINK_STATE_VERSION   1
 
#define KXLD_SYM_OBSOLETE   BIT0
 

Functions

 STATIC_ASSERT (sizeof(KXLD_SYM_ENTRY_32)==12, "Invalid KXLD_SYM_ENTRY_32 size")
 
 STATIC_ASSERT (sizeof(KXLD_SYM_ENTRY_64)==16, "Invalid KXLD_SYM_ENTRY_64 size")
 

Detailed Description

Copyright (C) 2020, vit9696. All rights reserved.

This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

Definition in file AppleKxldState.h.

Macro Definition Documentation

◆ KXLD_LINK_STATE_INVERT_SIGNATURE

#define KXLD_LINK_STATE_INVERT_SIGNATURE   0x0DD00DF0

Definition at line 42 of file AppleKxldState.h.

◆ KXLD_LINK_STATE_INVERT_SIGNATURE_64

#define KXLD_LINK_STATE_INVERT_SIGNATURE_64   0x0DF0FECA

Definition at line 49 of file AppleKxldState.h.

◆ KXLD_LINK_STATE_SIGNATURE

#define KXLD_LINK_STATE_SIGNATURE   0xF00DD00D

The format of the link state object is as follows:

   Field            ***       Type              *

Link state header *** KXLD_LINK_STATE_HEADER *

Section order entries *** KXLD_SECTION_NAME *

Vtable headers *** KXLD_VTABLE_HEADER *

VTables *** KXLD_SYM_ENTRY_[32|64] *

Exported symbols *** KXLD_SYM_ENTRY_[32|64] *

String table *** CHAR8[] * Normal KXLD state state signature.

Definition at line 41 of file AppleKxldState.h.

◆ KXLD_LINK_STATE_SIGNATURE_64

#define KXLD_LINK_STATE_SIGNATURE_64   0xCAFEF00D

64-bit signature was never used even for 64-bit state as 64-bit KXLD state header had never been defined.

Definition at line 48 of file AppleKxldState.h.

◆ KXLD_LINK_STATE_VERSION

#define KXLD_LINK_STATE_VERSION   1

The only existent KXLD state version.

Definition at line 54 of file AppleKxldState.h.

◆ KXLD_SYM_OBSOLETE

#define KXLD_SYM_OBSOLETE   BIT0

Symbol marked with this flag is obsolete (deprecated).

Definition at line 110 of file AppleKxldState.h.

Function Documentation

◆ STATIC_ASSERT() [1/2]

STATIC_ASSERT ( sizeof(KXLD_SYM_ENTRY_32) = =12,
"Invalid KXLD_SYM_ENTRY_32 size"  )

◆ STATIC_ASSERT() [2/2]

STATIC_ASSERT ( sizeof(KXLD_SYM_ENTRY_64) = =16,
"Invalid KXLD_SYM_ENTRY_64 size"  )