#include <IOKit/graphics/IOFramebufferShared.h>

IOKit/graphics/IOFramebufferShared.h Kernel.framework

@header IOFramebufferShared The IOFramebufferShared.h header contains definitions of objects and types shared between a kernel level IOFrameBuffer service and a non-kernel window server. In Mac OS X this structure is used by the CoreGraphics server and IOGraphics Family, and is not available to other clients. IOFramebuffer subclasses and IOFramebuffer clients within the kernel should also not rely on this structure definition and constants. It is public only for use on Darwin based window servers. Cursor and window server state data is exchanged by kernel and non-kernel tasks through a slice of shared memory containing a StdFBShmem_t structure.<br> For a non-kernel task to get access to this slice of shared memory, a connection to an IOFramebuffer service must be made. A connection is made with the IOServiceOpen() function described in IOKitLib.h. A connection type of kIOFBServerConnectType or kIOFBSharedConnectType (for read-only access) should be specified. An io_connect_t handle is returned by IOServiceOpen(). This handle must be passed to IOFBCreateSharedCursor() to create the slice of shared memory. Then IOConnectMapMemory() may be called with a memory type of kIOFBCursorMemory to map the shared memory into the non-kernel task.
6 macros · 4 enums · 1 struct

macroIOFB_ARBITRARY_SIZE_CURSOR

CGS use optional @defined IOFB_ARBITRARY_SIZE_CURSOR @discussion When IOFB_ARBITRARY_SIZE_CURSOR is not defined, the maximum cursor size is assumed to be CURSORWIDTH x CURSORHEIGHT and this header file will define a number of structures for storing cursor images accordingly. A non-kernel task may define IOFB_ARBITRARY_SIZE_CURSOR and use cursors up to the size specified when IOFBCreateSharedCursor() was called. In this case appropriate structures for storing cursor images must be defined elsewhere. In the kernel, IOFB_ARBITRARY_SIZE_CURSOR is always defined.
#define IOFB_ARBITRARY_SIZE_CURSOR 

macroIOFB_ARBITRARY_FRAMES_CURSOR

#define IOFB_ARBITRARY_FRAMES_CURSOR 1

macroIOFB_SUPPORTS_XOR_CURSOR

#define IOFB_SUPPORTS_XOR_CURSOR 

macroIOFB_SUPPORTS_HW_SHIELD

#define IOFB_SUPPORTS_HW_SHIELD 

macroIOFB_SUPPORTS_ARBITRARY_FRAMES_CURSOR

#define IOFB_SUPPORTS_ARBITRARY_FRAMES_CURSOR 

enum(anonymous)

Cursor and Window Server state data, occupying a slice of shared memory between the kernel and WindowServer. @enum CursorParameters @constant kIOFBNumCursorFrames The number of cursor images stored in the StdFBShmem_t structure. @constant kIOFBNumCursorFramesShift Used with waiting cursors. @constant kIOFBMaxCursorDepth The maximum cursor pixel depth.
underlying type unsigned int
kIOFBMainCursorIndex0
kIOFBWaitCursorIndex1
kIOFBNumCursorIndex4
kIOFBMaxCursorDepth32
kIOFBMaxCursorWidth256
kIOFBMaxCursorFrames32

enum(anonymous)

underlying type unsigned int
kIOFBCursorImageNew1
kIOFBCursorHWCapable2

enum(anonymous)

underlying type unsigned int
kIOFBHardwareCursorActive1
kIOFBHardwareCursorInVRAM2

structStdFBShmem_t

size 240, align 8
OSSpinLockcursorSema
intframe
charcursorShow
charcursorObscured
charshieldFlag
charshielded
IOGBoundssaveRect
IOGBoundsshieldRect
IOGPointcursorLoc
IOGBoundscursorRect
IOGBoundsoldCursorRect
IOGBoundsscreenBounds
intversion
intstructSize
AbsoluteTimevblTime
AbsoluteTimevblDelta
unsigned long longvblCount
unsigned long longvblDrift
unsigned long longvblDeltaMeasured
AbsoluteTimevblDeltaReal
unsigned int[22]reservedC
unsigned charhardwareCursorCapable
unsigned charhardwareCursorActive
unsigned charhardwareCursorShields
unsigned char[1]reservedB
IOGSize[4]cursorSize
IOGPoint[4]hotSpot
unsigned char[0]cursor

enum(anonymous)

@enum FramebufferConstants @constant kIOFBCurrentShmemVersion The current version of the slice of shared memory that contains the cursor and window server state data in the StdFBShmem_t structure. @constant kIOFBCursorMemory The memory type for IOConnectMapMemory() to get a slice of shared memory that contains the StdFBShmem_t structure.
underlying type unsigned int
kIOFBShmemVersionMask255version for IOFBCreateSharedCursor
kIOFBTenPtOneShmemVersion2
kIOFBTenPtTwoShmemVersion3
kIOFBCurrentShmemVersion2
kIOFBShmemCursorNumFramesMask16711680number of frames in animating cursor (if > kIOFBTenPtTwoShmemVersion)
kIOFBShmemCursorNumFramesShift16
kIOFBCursorMemory100memory types for IOConnectMapMemory.

macroIOFRAMEBUFFER_CONFORMSTO

@defined IOFRAMEBUFFER_CONFORMSTO @discussion The class name of the framebuffer service.
#define IOFRAMEBUFFER_CONFORMSTO "IOFramebuffer"