/*
- * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2007 Apple Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
#define _KERN_DEBUG_H_
#include <sys/cdefs.h>
+#include <stdint.h>
#ifdef KERNEL_PRIVATE
extern unsigned int active_debugger;
extern unsigned int debug_mode;
-extern unsigned int disableDebugOuput;
+extern unsigned int disable_debug_output;
extern unsigned int panicDebugging;
extern unsigned int logPanicDataToScreen;
extern const char *panicstr;
extern volatile unsigned int nestedpanic;
+extern int unsigned long panic_caller;
extern char *debug_buf;
extern char *debug_buf_ptr;
extern void panic_init(void);
+int packA(char *inbuf, uint32_t length, uint32_t buflen);
+void unpackA(char *inbuf, uint32_t length);
+
+void panic_display_system_configuration(void);
+
#endif /* MACH_KERNEL_PRIVATE */
#define DB_HALT 0x1
__BEGIN_DECLS
-extern void panic(const char *string, ...);
-
+extern void panic(const char *string, ...) __printflike(1,2);
+#if CONFIG_NO_PANIC_STRINGS
+#define panic_plain(...) (panic)((char *)0)
+#define panic(...) (panic)((char *)0)
+#else /* CONFIGS_NO_PANIC_STRINGS */
+#define panic_plain(ex, ...) \
+ (panic)(ex, ## __VA_ARGS__)
+#define __STRINGIFY(x) #x
+#define LINE_NUMBER(x) __STRINGIFY(x)
+#define PANIC_LOCATION __FILE__ ":" LINE_NUMBER(__LINE__)
+#define panic(ex, ...) \
+ (panic)(# ex "@" PANIC_LOCATION, ## __VA_ARGS__)
+#endif /* CONFIGS_NO_PANIC_STRINGS */
+
+void populate_model_name(char *);
+unsigned panic_active(void);
__END_DECLS
#endif /* _KERN_DEBUG_H_ */