#include <mach_debug/mach_debug_types.h>

mach_debug/mach_debug_types.h

14 macros · 5 structs · 2 typedefs

macroMACH_CORE_FILEHEADER_SIGNATURE

#define MACH_CORE_FILEHEADER_SIGNATURE 0x0063614d20646152ULL

macroMACH_CORE_FILEHEADER_V2_SIGNATURE

#define MACH_CORE_FILEHEADER_V2_SIGNATURE 0x63614d2073736f42ULL

macroMACH_CORE_FILEHEADER_MAXFILES

#define MACH_CORE_FILEHEADER_MAXFILES 16

macroMACH_CORE_FILEHEADER_NAMELEN

#define MACH_CORE_FILEHEADER_NAMELEN 16

macroMACH_CORE_FILEHEADER_V2_FLAG_LOG_ENCRYPTED_AEA

The following are defined for mach_core_fileheader_v2
#define MACH_CORE_FILEHEADER_V2_FLAG_LOG_ENCRYPTED_AEA (1ULL << 0)
The log is encrypted using AEA

macroMACH_CORE_FILEHEADER_V2_FLAG_EXISTING_COREFILE_KEY_FORMAT_NIST_P256

#define MACH_CORE_FILEHEADER_V2_FLAG_EXISTING_COREFILE_KEY_FORMAT_NIST_P256 (1ULL << 8)
The public key is an NIST-P256 ECC key

macroMACH_CORE_FILEHEADER_V2_FLAG_NEXT_COREFILE_KEY_FORMAT_NIST_P256

#define MACH_CORE_FILEHEADER_V2_FLAG_NEXT_COREFILE_KEY_FORMAT_NIST_P256 (1ULL << 16)
The next public key is an NIST-P256 ECC key

macroMACH_CORE_FILEHEADER_V2_FLAGS_EXISTING_COREFILE_KEY_FORMAT_MASK

#define MACH_CORE_FILEHEADER_V2_FLAGS_EXISTING_COREFILE_KEY_FORMAT_MASK (0x1ULL << 8)
A bit-mask for all supported key formats

macroMACH_CORE_FILEHEADER_V2_FLAGS_NEXT_COREFILE_KEY_FORMAT_MASK

#define MACH_CORE_FILEHEADER_V2_FLAGS_NEXT_COREFILE_KEY_FORMAT_MASK (0x1ULL << 16)
A bit-mask for all supported next key formats

macroMACH_CORE_FILEHEADER_V2_FLAGS_NEXT_KEY_FORMAT_TO_KEY_FORMAT

#define MACH_CORE_FILEHEADER_V2_FLAGS_NEXT_KEY_FORMAT_TO_KEY_FORMAT(x) (((x) >> 8) & MACH_CORE_FILEHEADER_V2_FLAGS_EXISTING_COREFILE_KEY_FORMAT_MASK)

macroMACH_CORE_DETAILS_V2_FLAG_ENCRYPTED_AEA

The following are defined for mach_core_details_v2
#define MACH_CORE_DETAILS_V2_FLAG_ENCRYPTED_AEA (1ULL << 0)
This core is encrypted using AEA

macroMACH_CORE_DETAILS_V2_FLAG_COMPRESSED_ZLIB

#define MACH_CORE_DETAILS_V2_FLAG_COMPRESSED_ZLIB (1ULL << 8)
This core is compressed using ZLib

macroMACH_CORE_DETAILS_V2_FLAG_COMPRESSED_LZ4

#define MACH_CORE_DETAILS_V2_FLAG_COMPRESSED_LZ4 (1ULL << 9)
This core is compressed using LZ4

typedefsymtab_name_t

typedef char symtab_name_t[32]

structmach_core_details

size 32, align 8
uint64_tgzip_offset
uint64_tgzip_length
char[16]core_name

structmach_core_fileheader

size 544, align 8
uint64_tsignatureMACH_CORE_FILEHEADER_SIGNATURE
uint64_tlog_offset
uint64_tlog_length
uint64_tnum_files
struct mach_core_details[16]files

structmach_core_details_v2

size 40, align 8
uint64_tflagsSee the MACH_CORE_DETAILS_V2_FLAG_* definitions
uint64_toffset
uint64_tlength
char[16]core_name

structmach_core_fileheader_base

size 16, align 8
uint64_tsignatureMACH_CORE_FILEHEADER_V2_SIGNATURE
uint32_tversion

structmach_core_fileheader_v2

size 64, align 8
uint64_tsignatureMACH_CORE_FILEHEADER_V2_SIGNATURE
uint32_tversion2
uint64_tflagsSee the MACH_CORE_FILEHEADER_V2_FLAG_* definitions
uint64_tpub_key_offsetOffset of the public key
uint16_tpub_key_lengthLength of the public key
uint64_tlog_offset
uint64_tlog_length
uint64_tnum_files
struct mach_core_details_v2[]files

macroKOBJECT_DESCRIPTION_LENGTH

#define KOBJECT_DESCRIPTION_LENGTH 512

typedefkobject_description_t

typedef char kobject_description_t[KOBJECT_DESCRIPTION_LENGTH]