#include <IOKit/IOKitDebug.h>

IOKit/IOKitDebug.h Kernel.framework

__cplusplus
9 enums · 5 macros · 4 variables · 3 functions · 2 typedefs · 2 structs

enum(anonymous)

underlying type unsigned long
kIOLogAttach1loggage
kIOLogProbe2
kIOLogStart4
kIOLogRegister8
kIOLogMatch16
kIOLogConfig32
kIOLogYield64
kIOLogPower128
kIOLogMapping256
kIOLogCatalogue512
kIOLogTracePower1024Obsolete: Use iotrace=0x00000400ULL to enable now
kIOLogDebugPower2048
kIOLogServiceTree4096
kIOLogDTree8192
kIOLogMemory16384
kIOLogKextMemory32768
kOSLogRegistryMods65536Log attempts to modify registry collections
kIOLogPMRootDomain131072
kOSRegistryModsMode262144Change default registry modification handling - panic vs. log
kIOLogHibernate1048576kIOTraceIOService = 0x00080000ULL, // Obsolete: Use iotrace=0x00080000ULL to enable now
kIOStatistics67108864
kIOSleepWakeWdogOff1073741824
kIOKextSpinDump2147483648
kIONoFreeObjects1048576debug aids - change behaviour
kIOTracking4194304kIOLogSynchronous = 0x00200000ULL, // IOLog completes synchronously -- obsolete
kIOWaitQuietPanics8388608
kIOWaitQuietBeforeRoot16777216
kIOTrackingBoot33554432
kIOLogExclaves4294967296
_kIODebugTopFlag9223372036854775808force enum to be 64 bits

enum(anonymous)

underlying type unsigned long
kIOKitDebugUserOptions7526092799

enum(anonymous)

underlying type unsigned int
kIOTraceInterrupts1Trace primary interrupts
kIOTraceWorkLoops2Trace workloop activity
kIOTraceEventSources4Trace non-passive event sources
kIOTraceIntEventSource8Trace IOIES and IOFIES sources
kIOTraceCommandGates16Trace command gate activity
kIOTraceTimers32Trace timer event source activity
kIOTracePowerMgmt1024Trace power management changes
kIOTraceIOService524288registerService/termination
kIOTraceCompatBootArgs525312

enum(anonymous)

underlying type unsigned int
kIODKEnable1
kIODKLogSetup2
kIODKLogIPC4
kIODKLogPM8
kIODKLogMessages16
kIODKDisablePM256
kIODKDisableDextLaunch4096
kIODKDisableDextTag8192
kIODKDisableCDHashChecking16384
kIODKDisableEntitlementChecking32768
kIODKDisableCheckInTokenVerification65536
kIODKDisableIOPMSystemOffPhase2Allow131072

variablegIOKitDebug

extern SInt64 gIOKitDebug

variablegIOKitTrace

extern SInt64 gIOKitTrace

variablegIODKDebug

extern SInt64 gIODKDebug

typedefIOCoreAnalyticsSendEventProc

typedef kern_return_t (*)(uint64_t, OSString *, OSDictionary *) IOCoreAnalyticsSendEventProc;

functionIOPrintPlane

extern void IOPrintPlane(
	const IORegistryPlane * plane const struct IORegistryPlane * plane
)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu iokit/Kernel/IOKitDebug.cpp
Debugging aid; logs the contents of a registry plane with IOLog. Prints the total entry count, then each entry recursively, indented by depth: name, location, class name, and for IOService objects the busy state.

functionOSPrintMemory

extern void OSPrintMemory(void)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu libkern/c++/OSCPPDebug.cpp
Prints libkern/IOKit memory-debugging statistics: per-class instance counts via OSMetaClass::printInstanceCounts, followed by the accumulated debug counters for instance-variable kalloc, malloc, container kalloc, and IOMalloc allocations (debug_ivars_size, debug_malloc_size, debug_container_malloc_size, debug_iomalloc_size), written with IOLog. The counters are maintained only when OSALLOCDEBUG accounting is compiled in.

macroIOPrintMemory

#define IOPrintMemory OSPrintMemory

functionIOSetCoreAnalyticsSendEventProc

kern_return_t IOSetCoreAnalyticsSendEventProc(IOCoreAnalyticsSendEventProc proc)
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu iokit/Kernel/IOService.cpp
Registers the kernel-wide callback through which IOKit submits CoreAnalytics events. The procedure may be installed only once; returns kIOReturnNotPermitted if one is already registered, otherwise stores proc and returns kIOReturnSuccess.

macrokIOKitDiagnosticsClientClassName

#define kIOKitDiagnosticsClientClassName "IOKitDiagnosticsClient"

enum(anonymous)

underlying type unsigned int
kIOKitDiagnosticsClientType2566914050

structIOKitDiagnosticsParameters

size 64, align 8
size_tsize
uint64_tvalue
uint32_toptions
uint32_ttag
uint32_tzsize
uint32_t[8]reserved

typedefIOKitDiagnosticsParameters

typedef struct IOKitDiagnosticsParameters IOKitDiagnosticsParameters

enum(anonymous)

underlying type unsigned int
kIOTrackingCallSiteBTs16

structIOTrackingCallSiteInfo

size 296, align 8
uint32_tcount
pid_taddressPID
mach_vm_address_taddress
mach_vm_size_t[2]size
pid_tbtPID
mach_vm_address_t[2][16]bt

macrokIOMallocTrackingName

#define kIOMallocTrackingName "IOMalloc"

macrokIOWireTrackingName

#define kIOWireTrackingName "IOWire"

macrokIOMapTrackingName

#define kIOMapTrackingName "IOMap"

enum(anonymous)

underlying type unsigned int
kIOTrackingLeakScanStart1
kIOTrackingLeakScanEnd2

variablegIOTrackingLeakScanCallback

extern void (*gIOTrackingLeakScanCallback)(uint32_t notification)

enum(anonymous)

underlying type unsigned int
kIOTrackingExcludeNames1

enum(anonymous)

underlying type unsigned int
kIOTrackingGetTracking1
kIOTrackingGetMappings2
kIOTrackingResetTracking3
kIOTrackingStartCapture4
kIOTrackingStopCapture5
kIOTrackingSetMinCaptureSize6
kIOTrackingLeaks7
kIOTrackingInvalid4294967294