#ifndef _KERN_DEBUG_H_
#define _KERN_DEBUG_H_
#include <sys/appleapiopts.h>
#ifdef __APPLE_API_PRIVATE
extern unsigned int systemLogDiags;
#ifdef MACH_KERNEL_PRIVATE
extern unsigned int halt_in_debugger;
extern unsigned int switch_debugger;
extern unsigned int current_debugger;
#define NO_CUR_DB 0x0
#define KDP_CUR_DB 0x1
#define KDB_CUR_DB 0x2
extern unsigned int active_debugger;
extern unsigned int debug_mode;
extern unsigned int disableDebugOuput;
extern unsigned int panicDebugging;
extern unsigned int logPanicDataToScreen;
extern int db_run_mode;
#define STEP_NONE 0
#define STEP_ONCE 1
#define STEP_RETURN 2
#define STEP_CALLT 3
#define STEP_CONTINUE 4
#define STEP_INVISIBLE 5
#define STEP_COUNT 6
#define STEP_TRACE 7
extern char *panicstr;
extern unsigned int nestedpanic;
extern char *debug_buf;
extern char *debug_buf_ptr;
extern unsigned int debug_buf_size;
extern void debug_log_init(void);
extern void debug_putc(char);
#endif
#define DB_HALT 0x1
#define DB_PRT 0x2
#define DB_NMI 0x4
#define DB_KPRT 0x8
#define DB_KDB 0x10
#define DB_SLOG 0x20
#define DB_ARP 0x40
#define DB_KDP_BP_DIS 0x80
#define DB_LOG_PI_SCRN 0x100
#define DB_KDP_GETC_ENA 0x200
#define DB_KERN_DUMP_ON_PANIC 0x400
#define DB_KERN_DUMP_ON_NMI 0x800
#define DB_DBG_POST_CORE 0x1000
#define DB_PANICLOG_DUMP 0x2000
#endif
#endif