#include <kern/ext_paniclog.h>
kern/ext_paniclog.h
macroEXT_PANICLOG_ENABLE
#define EXT_PANICLOG_ENABLE 1
macroEXT_PANICLOG_VERSION
#define EXT_PANICLOG_VERSION 2
macroMAX_DATA_ID_SIZE
#define MAX_DATA_ID_SIZE 32
macroMAX_EXT_PANICLOG_SIZE
#define MAX_EXT_PANICLOG_SIZE 32 * 1024
macroMAX_EXT_PANICLOG_LOGS
#define MAX_EXT_PANICLOG_LOGS 100
macroOTHER_LOG_REQUIRED_SIZE
From the panic log metrics, we estimate that the paniclog takes up
~15K bytes and other log takes ~1K bytes. This 64K bytes ensures that
we have enough space for other log and nested panics
#define OTHER_LOG_REQUIRED_SIZE (64 * 1024)
macroPANIC_WITH_DATA_UUID
#define PANIC_WITH_DATA_UUID "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
macroPANIC_WITH_DATA_MAX_LEN
#define PANIC_WITH_DATA_MAX_LEN 2048
macroPANIC_WITH_DATA_DATA_ID
#define PANIC_WITH_DATA_DATA_ID "Panic with Data Buffer"
macroEXTPANICLOG_ENTITLEMENT
#define EXTPANICLOG_ENTITLEMENT "com.apple.private.allow-ext_paniclog"
enumext_paniclog_flags_t
These flags are set internally and are passed along with each handle in
the extensible paniclog to be processed by DumpPanic.
| EXT_PANICLOG_FLAGS_NONE | 0 | |
| EXT_PANICLOG_FLAGS_ADD_SEPARATE_KEY | 1 |
typedefext_paniclog_flags_t
typedef enum ext_paniclog_flags_t ext_paniclog_flags_t;
enumext_paniclog_create_options_t
| EXT_PANICLOG_OPTIONS_NONE | 0 | |
| EXT_PANICLOG_OPTIONS_WITH_BUFFER | 1 | |
| EXT_PANICLOG_OPTIONS_ADD_SEPARATE_KEY | 2 |
typedefext_paniclog_create_options_t
typedef enum ext_paniclog_create_options_t ext_paniclog_create_options_t;