#include <IOKit/graphics/IOFramebuffer.h>
IOKit/graphics/IOFramebuffer.h Kernel.framework
9 enums · 7 typedefs · 4 macros · 3 structs · 1 function
#define IOFRAMEBUFFER_REV 8
typedef void (*)(IOFramebuffer *, void *, volatile unsigned char *, unsigned int, unsigned int, unsigned int, int, int) CursorBlitProc;
typedef void (*)(IOFramebuffer *, void *, volatile unsigned char *, unsigned int, int, int) CursorRemoveProc;
typedef void * IOFBCursorRef
typedef struct IOFBCursorControlCallouts IOFBCursorControlCallouts
typedef struct IOFBCursorControlAttribute IOFBCursorControlAttribute
clock & data values
underlying type unsigned int
| kIODDCLow | 0 | |
| kIODDCHigh | 1 | |
| kIODDCTristate | 2 | |
ddcBlockType constants
underlying type unsigned int
| kIODDCBlockTypeEDID | 0 | EDID block type. |
ddcFlags constants
underlying type unsigned int
| kIODDCForceRead | 1 | Force a new read of the EDID. |
underlying type unsigned int
| kDisabledInterruptState | 0 | |
| kEnabledInterruptState | 1 | |
typedef void (*IOFBInterruptProc)( OSObject * target, void * ref )
IOFramebufferNotificationHandler events
underlying type unsigned int
| kIOFBNotifyDisplayModeWillChange | 1 | |
| kIOFBNotifyDisplayModeDidChange | 2 | |
| kIOFBNotifyWillSleep | 3 | |
| kIOFBNotifyDidWake | 4 | |
| kIOFBNotifyDidPowerOff | 5 | |
| kIOFBNotifyWillPowerOn | 6 | |
| kIOFBNotifyDidSleep | 5 | |
| kIOFBNotifyWillWake | 6 | |
| kIOFBNotifyWillPowerOff | 7 | |
| kIOFBNotifyDidPowerOn | 8 | |
| kIOFBNotifyWillChangeSpeed | 9 | |
| kIOFBNotifyDidChangeSpeed | 10 | |
| kIOFBNotifyHDACodecWillPowerOn | 11 | since IOGRAPHICSTYPES_REV 68 |
| kIOFBNotifyHDACodecDidPowerOn | 12 | since IOGRAPHICSTYPES_REV 68 |
| kIOFBNotifyHDACodecWillPowerOff | 13 | since IOGRAPHICSTYPES_REV 68 |
| kIOFBNotifyHDACodecDidPowerOff | 14 | since IOGRAPHICSTYPES_REV 68 |
| kIOFBNotifyClamshellChange | 20 | |
| kIOFBNotifyCaptureChange | 30 | |
| kIOFBNotifyOnlineChange | 40 | |
| kIOFBNotifyDisplayDimsChange | 50 | |
| kIOFBNotifyProbed | 60 | |
| kIOFBNotifyVRAMReady | 70 | |
| kIOFBNotifyWillNotify | 80 | |
| kIOFBNotifyDidNotify | 81 | |
| kIOFBNotifyWSAAWillEnterDefer | 90 | <rdar://problem/32063590> IOGraphics needs to send WSAAWillExitDefer and WSAADidExitDefer instead of single message since IOGRAPHICSTYPES_REV 53 |
| kIOFBNotifyWSAAWillExitDefer | 91 | since IOGRAPHICSTYPES_REV 53 |
| kIOFBNotifyWSAADidEnterDefer | 92 | since IOGRAPHICSTYPES_REV 53 |
| kIOFBNotifyWSAADidExitDefer | 93 | since IOGRAPHICSTYPES_REV 53 |
| kIOFBNotifyWSAAEnterDefer | 90 | |
| kIOFBNotifyWSAAExitDefer | 91 | |
| kIOFBNotifyTerminated | 100 | since IOGRAPHICSTYPES_REV 49 |
addFramebufferNotificationWithOptions event types
underlying type unsigned int
| kIOFBNotifyEvent_None | 0 | |
| kIOFBNotifyEvent_DisplayModeChange | 1 | |
| kIOFBNotifyEvent_SleepWake | 2 | Only for events: kIOFBNotifyWillSleep & kIOFBNotifyDidWake |
| kIOFBNotifyEvent_PowerOnOff | 4 | |
| kIOFBNotifyEvent_ChangeSpeed | 8 | |
| kIOFBNotifyEvent_ClamshellChange | 16 | |
| kIOFBNotifyEvent_CaptureChange | 32 | |
| kIOFBNotifyEvent_OnlineChange | 64 | |
| kIOFBNotifyEvent_DisplayDimsChange | 128 | |
| kIOFBNotifyEvent_Probed | 256 | |
| kIOFBNotifyEvent_VRAMReady | 512 | |
| kIOFBNotifyEvent_Notify | 1024 | kIOFBNotifyWillNotify & kIOFBNotifyDidNotify |
| kIOFBNotifyEvent_WSAADefer | 2048 | |
| kIOFBNotifyEvent_Terminated | 4096 | |
| kIOFBNotifyEvent_HDACodecPowerOnOff | 8192 | since IOFRAMEBUFFER_REV 7 |
| kIOFBNotifyEvent_Last | 16384 | |
| kIOFBNotifyEvent_All | 16383 | |
underlying type unsigned int
| kIOFBNotifyGroupID_Legacy | 1 | 0x0 - 0xFF - Private: Reserved for IOGraphics. |
| kIOFBNotifyGroupID_IODisplay | 16 | |
| kIOFBNotifyGroupID_AppleGraphicsDevicePolicy | 256 | 0x100 - 0x1FF - Reserved for Apple kernel extensions |
| kIOFBNotifyGroupID_AppleGraphicsMGPUPowerControl | 272 | |
| kIOFBNotifyGroupID_AppleGraphicsMUXControl | 288 | |
| kIOFBNotifyGroupID_AppleGraphicsControl | 304 | |
| kIOFBNotifyGroupID_AppleGraphicsDisplayPolicy | 320 | |
| kIOFBNotifyGroupID_AppleGraphicsPowerManagement | 336 | |
| kIOFBNotifyGroupID_AppleHDAController | 352 | |
| kIOFBNotifyGroupID_AppleIOAccelDisplayPipe | 368 | |
| kIOFBNotifyGroupID_AppleMCCSControl | 384 | |
| kIOFBNotifyGroupID_VendorIntel | 512 | 0x200 - 0x2FF - Reserved for vendor kernel extensions |
| kIOFBNotifyGroupID_VendorNVIDIA | 768 | 0x300 - 0x3FF - Reserved for vendor kernel extensions |
| kIOFBNotifyGroupID_VendorAMD | 1024 | 0x400 - 0x4FF - Reserved for vendor kernel extensions |
| kIOFBNotifyGroupID_ThirdParty | 32768 | 0x8000+ - Reserved for third party software |
| kIOFBNotifyGroupID_Count | 15 | |
addFramebufferNotificationWithOptions group priority range
underlying type int
| kIOFBNotifyPriority_Min | -32768 | |
| kIOFBNotifyPriority_Max | 32767 | |
underlying type unsigned int
| kFBDisplayUsablePowerState | 2147483648 | |
| kFBDisplayPowerStateMask | 65535 | |
#define kIOFBDependentIDKey "IOFBDependentID"
#define kIOFBDependentIndexKey "IOFBDependentIndex"
GTrace V2 support for AGDC markers
#define HAS_AGDCGTRACETOKEN 1
extern void agdcGTraceToken(
const IOFramebuffer* fb,
const uint16_t line,
const bool useController,
const uint16_t fnID,
const uint8_t fnType,
const uint16_t tag1,
const uint64_t arg1,
const uint16_t tag2,
const uint64_t arg2,
const uint16_t tag3,
const uint64_t arg3
)
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu SDK Kernel.framework IOKit/graphics/IOFramebuffer.h (IOGraphicsFamily; declaration only)
Records a GTrace V2 marker on behalf of AppleGraphicsDeviceControl (AGDC) into the trace log of the given framebuffer, or of its controller when useController is true. The token carries the caller's source line, a function ID and function type, and up to three tag/value argument pairs. Not in the open source IOGraphics drops; documented from the SDK header declaration.