#include <mach_debug/mach_debug_types.h>
mach_debug/mach_debug_types.h
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
| uint64_t | gzip_offset | |
| uint64_t | gzip_length | |
| char[16] | core_name |
structmach_core_fileheader
| uint64_t | signature | MACH_CORE_FILEHEADER_SIGNATURE |
| uint64_t | log_offset | |
| uint64_t | log_length | |
| uint64_t | num_files | |
| struct mach_core_details[16] | files |
structmach_core_details_v2
| uint64_t | flags | See the MACH_CORE_DETAILS_V2_FLAG_* definitions |
| uint64_t | offset | |
| uint64_t | length | |
| char[16] | core_name |
structmach_core_fileheader_base
| uint64_t | signature | MACH_CORE_FILEHEADER_V2_SIGNATURE |
| uint32_t | version |
structmach_core_fileheader_v2
| uint64_t | signature | MACH_CORE_FILEHEADER_V2_SIGNATURE |
| uint32_t | version | 2 |
| uint64_t | flags | See the MACH_CORE_FILEHEADER_V2_FLAG_* definitions |
| uint64_t | pub_key_offset | Offset of the public key |
| uint16_t | pub_key_length | Length of the public key |
| uint64_t | log_offset | |
| uint64_t | log_length | |
| uint64_t | num_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]