#include <IOKit/graphics/IOFramebuffer.h>

IOKit/graphics/IOFramebuffer.h Kernel.framework

9 enums · 7 typedefs · 4 macros · 3 structs · 1 function

macroIOFRAMEBUFFER_REV

#define IOFRAMEBUFFER_REV 8

typedefCursorBlitProc

typedef void (*)(IOFramebuffer *, void *, volatile unsigned char *, unsigned int, unsigned int, unsigned int, int, int) CursorBlitProc;

typedefCursorRemoveProc

typedef void (*)(IOFramebuffer *, void *, volatile unsigned char *, unsigned int, int, int) CursorRemoveProc;

typedefIOFBCursorRef

typedef void * IOFBCursorRef

structIOFBCursorControlCallouts

size 136, align 8
IOReturn (*)(void *, void *, IOHardwareCursorDescriptor *, IOFBCursorRef)setCursorImage
IOReturn (*)(void *, void *, SInt32, SInt32, bool)setCursorState
UInt32[30]reserved

typedefIOFBCursorControlCallouts

typedef struct IOFBCursorControlCallouts IOFBCursorControlCallouts

structIOFBCursorControlAttribute

size 144, align 8
void *inst
void *ref
const IOFBCursorControlCallouts *callouts
UInt32[29]reserved

typedefIOFBCursorControlAttribute

typedef struct IOFBCursorControlAttribute IOFBCursorControlAttribute

enum(anonymous)

clock & data values
underlying type unsigned int
kIODDCLow0
kIODDCHigh1
kIODDCTristate2

enum(anonymous)

ddcBlockType constants
underlying type unsigned int
kIODDCBlockTypeEDID0EDID block type.

enum(anonymous)

ddcFlags constants
underlying type unsigned int
kIODDCForceRead1Force a new read of the EDID.

enum(anonymous)

underlying type unsigned int
kDisabledInterruptState0
kEnabledInterruptState1

typedefIOFBInterruptProc

typedef void (*IOFBInterruptProc)( OSObject * target, void * ref )

typedefIOFramebufferNotificationHandler

typedef IOReturn (*)(OSObject *, void *, IOFramebuffer *, IOIndex, void *) IOFramebufferNotificationHandler;

enum(anonymous)

IOFramebufferNotificationHandler events
underlying type unsigned int
kIOFBNotifyDisplayModeWillChange1
kIOFBNotifyDisplayModeDidChange2
kIOFBNotifyWillSleep3
kIOFBNotifyDidWake4
kIOFBNotifyDidPowerOff5
kIOFBNotifyWillPowerOn6
kIOFBNotifyDidSleep5
kIOFBNotifyWillWake6
kIOFBNotifyWillPowerOff7
kIOFBNotifyDidPowerOn8
kIOFBNotifyWillChangeSpeed9
kIOFBNotifyDidChangeSpeed10
kIOFBNotifyHDACodecWillPowerOn11since IOGRAPHICSTYPES_REV 68
kIOFBNotifyHDACodecDidPowerOn12since IOGRAPHICSTYPES_REV 68
kIOFBNotifyHDACodecWillPowerOff13since IOGRAPHICSTYPES_REV 68
kIOFBNotifyHDACodecDidPowerOff14since IOGRAPHICSTYPES_REV 68
kIOFBNotifyClamshellChange20
kIOFBNotifyCaptureChange30
kIOFBNotifyOnlineChange40
kIOFBNotifyDisplayDimsChange50
kIOFBNotifyProbed60
kIOFBNotifyVRAMReady70
kIOFBNotifyWillNotify80
kIOFBNotifyDidNotify81
kIOFBNotifyWSAAWillEnterDefer90<rdar://problem/32063590> IOGraphics needs to send WSAAWillExitDefer and WSAADidExitDefer instead of single message since IOGRAPHICSTYPES_REV 53
kIOFBNotifyWSAAWillExitDefer91since IOGRAPHICSTYPES_REV 53
kIOFBNotifyWSAADidEnterDefer92since IOGRAPHICSTYPES_REV 53
kIOFBNotifyWSAADidExitDefer93since IOGRAPHICSTYPES_REV 53
kIOFBNotifyWSAAEnterDefer90
kIOFBNotifyWSAAExitDefer91
kIOFBNotifyTerminated100since IOGRAPHICSTYPES_REV 49

enum(anonymous)

addFramebufferNotificationWithOptions event types
underlying type unsigned int
kIOFBNotifyEvent_None0
kIOFBNotifyEvent_DisplayModeChange1
kIOFBNotifyEvent_SleepWake2Only for events: kIOFBNotifyWillSleep & kIOFBNotifyDidWake
kIOFBNotifyEvent_PowerOnOff4
kIOFBNotifyEvent_ChangeSpeed8
kIOFBNotifyEvent_ClamshellChange16
kIOFBNotifyEvent_CaptureChange32
kIOFBNotifyEvent_OnlineChange64
kIOFBNotifyEvent_DisplayDimsChange128
kIOFBNotifyEvent_Probed256
kIOFBNotifyEvent_VRAMReady512
kIOFBNotifyEvent_Notify1024kIOFBNotifyWillNotify & kIOFBNotifyDidNotify
kIOFBNotifyEvent_WSAADefer2048
kIOFBNotifyEvent_Terminated4096
kIOFBNotifyEvent_HDACodecPowerOnOff8192since IOFRAMEBUFFER_REV 7
kIOFBNotifyEvent_Last16384
kIOFBNotifyEvent_All16383

enum(anonymous)

underlying type unsigned int
kIOFBNotifyGroupID_Legacy10x0 - 0xFF - Private: Reserved for IOGraphics.
kIOFBNotifyGroupID_IODisplay16
kIOFBNotifyGroupID_AppleGraphicsDevicePolicy2560x100 - 0x1FF - Reserved for Apple kernel extensions
kIOFBNotifyGroupID_AppleGraphicsMGPUPowerControl272
kIOFBNotifyGroupID_AppleGraphicsMUXControl288
kIOFBNotifyGroupID_AppleGraphicsControl304
kIOFBNotifyGroupID_AppleGraphicsDisplayPolicy320
kIOFBNotifyGroupID_AppleGraphicsPowerManagement336
kIOFBNotifyGroupID_AppleHDAController352
kIOFBNotifyGroupID_AppleIOAccelDisplayPipe368
kIOFBNotifyGroupID_AppleMCCSControl384
kIOFBNotifyGroupID_VendorIntel5120x200 - 0x2FF - Reserved for vendor kernel extensions
kIOFBNotifyGroupID_VendorNVIDIA7680x300 - 0x3FF - Reserved for vendor kernel extensions
kIOFBNotifyGroupID_VendorAMD10240x400 - 0x4FF - Reserved for vendor kernel extensions
kIOFBNotifyGroupID_ThirdParty327680x8000+ - Reserved for third party software
kIOFBNotifyGroupID_Count15

enum(anonymous)

addFramebufferNotificationWithOptions group priority range
underlying type int
kIOFBNotifyPriority_Min-32768
kIOFBNotifyPriority_Max32767

structIOFramebufferNotificationNotify

size 16, align 8
IOIndexevent
void *info

enum(anonymous)

underlying type unsigned int
kFBDisplayUsablePowerState2147483648
kFBDisplayPowerStateMask65535

macrokIOFBDependentIDKey

#define kIOFBDependentIDKey "IOFBDependentID"

macrokIOFBDependentIndexKey

#define kIOFBDependentIndexKey "IOFBDependentIndex"

macroHAS_AGDCGTRACETOKEN

GTrace V2 support for AGDC markers
#define HAS_AGDCGTRACETOKEN 1

functionagdcGTraceToken

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.