#ifndef _IOKIT_IOKITDEBUG_H
#define _IOKIT_IOKITDEBUG_H
#include <IOKit/IOTypes.h>
#ifdef __cplusplus
#include <libkern/c++/OSObject.h>
#include <libkern/c++/OSDictionary.h>
#include <libkern/c++/OSSerialize.h>
class IOKitDiagnostics : public OSObject
{
OSDeclareDefaultStructors(IOKitDiagnostics)
public:
static OSObject * diagnostics( void );
virtual bool serialize(OSSerialize *s) const;
private:
static void updateOffset( OSDictionary * dict,
UInt32 value, const char * name );
};
#endif
enum {
kIOLogAttach = 0x00000001ULL,
kIOLogProbe = 0x00000002ULL,
kIOLogStart = 0x00000004ULL,
kIOLogRegister = 0x00000008ULL,
kIOLogMatch = 0x00000010ULL,
kIOLogConfig = 0x00000020ULL,
kIOLogYield = 0x00000040ULL,
kIOLogPower = 0x00000080ULL,
kIOLogMapping = 0x00000100ULL,
kIOLogCatalogue = 0x00000200ULL,
kIOLogTracePower = 0x00000400ULL, kIOLogDebugPower = 0x00000800ULL,
kIOLogServiceTree = 0x00001000ULL,
kIOLogDTree = 0x00002000ULL,
kIOLogMemory = 0x00004000ULL,
kIOLogKextMemory = 0x00008000ULL,
kOSLogRegistryMods = 0x00010000ULL, kIOLogPMRootDomain = 0x00020000ULL,
kOSRegistryModsMode = 0x00040000ULL, kIOLogHibernate = 0x00100000ULL,
kIOLogDriverPower1 = 0x01000000ULL,
kIOLogDriverPower2 = 0x02000000ULL,
kIOStatistics = 0x04000000ULL,
kIOPersistentLog = 0x08000000ULL,
kIOSleepWakeWdogOff = 0x40000000ULL,
kIOAppRespStacksOn = 0x80000000ULL,
kIONoFreeObjects = 0x00100000ULL,
kIOLogSynchronous = 0x00200000ULL, kOSTraceObjectAlloc = 0x00400000ULL,
kIOWaitQuietPanics = 0x00800000ULL,
_kIODebugTopFlag = 0x8000000000000000ULL };
enum {
kIOTraceInterrupts = 0x00000001ULL, kIOTraceWorkLoops = 0x00000002ULL, kIOTraceEventSources = 0x00000004ULL, kIOTraceIntEventSource = 0x00000008ULL, kIOTraceCommandGates = 0x00000010ULL, kIOTraceTimers = 0x00000008ULL,
kIOTracePowerMgmt = 0x00000400ULL,
kIOTraceIOService = 0x00080000ULL,
kIOTraceCompatBootArgs = kIOTraceIOService | kIOTracePowerMgmt
};
extern SInt64 gIOKitDebug;
extern SInt64 gIOKitTrace;
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
class IORegistryPlane;
#endif
extern void IOPrintPlane(
#ifdef __cplusplus
const IORegistryPlane * plane
#else
const struct IORegistryPlane * plane
#endif
);
#ifndef _OSCPPDEBUG_H
extern void OSPrintMemory( void );
#endif
#define IOPrintMemory OSPrintMemory
#ifdef __cplusplus
}
#endif
#endif