#include <kdp/kdp.h>
#include <kdp/kdp_protocol.h>
#include <mach/vm_types.h>
+#include <mach/boolean.h>
+#include <mach/mach_types.h>
#include <libsa/types.h>
typedef struct {
- unsigned short reply_port;
+ void *saved_state;
+ thread_t kdp_thread;
+ int kdp_cpu;
+ uint32_t session_key;
unsigned int conn_seq;
+ unsigned short reply_port;
+ unsigned short exception_port;
boolean_t is_conn;
- void *saved_state;
boolean_t is_halted;
- unsigned short exception_port;
unsigned char exception_seq;
boolean_t exception_ack_needed;
- int kdp_cpu;
- thread_t kdp_thread;
} kdp_glob_t;
extern kdp_glob_t kdp;
extern volatile int kdp_flag;
+extern int noresume_on_disconnect;
+
+extern char kdp_kernelversion_string[256];
#define KDP_READY 0x1
#define KDP_ARP 0x2
#define DBG_POST_CORE 0x40
#define PANIC_LOG_DUMP 0x80
#define REBOOT_POST_CORE 0x100
+#define SYSTEM_LOG_DUMP 0x200
typedef boolean_t
(*kdp_dispatch_t) (
kdp_pkt_t *,
unsigned short *
);
+struct debugger_callback {
+ kern_return_t (*callback) (void*);
+ void *callback_context;
+ boolean_t proceed_on_sync_failure;
+ kern_return_t error;
+};
+
+extern struct debugger_callback *debugger_callback;
+
extern
boolean_t
kdp_packet(