#include <IOKit/ndrvsupport/IOMacOSVideo.h>

IOKit/ndrvsupport/IOMacOSVideo.h Kernel.framework

84 typedefs · 46 enums · 38 structs · 2 macros

macroPRAGMA_STRUCT_ALIGN

#define PRAGMA_STRUCT_ALIGN 1

macroFOUR_CHAR_CODE

#define FOUR_CHAR_CODE(x) (x)

enum(anonymous)

underlying type unsigned int
mBaseOffset1Id of mBaseOffset.
mRowBytes2Video sResource parameter Id's
mBounds3Video sResource parameter Id's
mVersion4Video sResource parameter Id's
mHRes5Video sResource parameter Id's
mVRes6Video sResource parameter Id's
mPixelType7Video sResource parameter Id's
mPixelSize8Video sResource parameter Id's
mCmpCount9Video sResource parameter Id's
mCmpSize10Video sResource parameter Id's
mPlaneBytes11Video sResource parameter Id's
mVertRefRate14Video sResource parameter Id's
mVidParams1Video parameter block id.
mTable2Offset to the table.
mPageCnt3Number of pages
mDevType4Device Type
oneBitMode128Id of OneBitMode Parameter list.
twoBitMode129Id of TwoBitMode Parameter list.
fourBitMode130Id of FourBitMode Parameter list.
eightBitMode131Id of EightBitMode Parameter list.

enum(anonymous)

underlying type unsigned int
sixteenBitMode132Id of SixteenBitMode Parameter list.
thirtyTwoBitMode133Id of ThirtyTwoBitMode Parameter list.
firstVidMode128The new, better way to do the above.
secondVidMode129QuickDraw only supports six video
thirdVidMode130at this time.
fourthVidMode131
fifthVidMode132
sixthVidMode133
spGammaDir64
spVidNamesDir65

typedefAVIDType

typedef UInt32 AVIDType

typedefDisplayIDType

typedef AVIDType DisplayIDType

typedefDisplayModeID

typedef IODisplayModeID DisplayModeID

typedefDepthMode

typedef UInt16 DepthMode

typedefVideoDeviceType

typedef UInt32 VideoDeviceType

typedefGammaTableID

typedef UInt32 GammaTableID

enum(anonymous)

csTimingFormat values in VDTimingInfo look in the declaration rom for timing info
underlying type unsigned int
kDeclROMtables1684366188
kDetailedTimingFormat1634886241Timing is a detailed timing

enum(anonymous)

Size of a block of EDID (Extended Display Identification Data)
underlying type unsigned int
kDDCBlockSize128

enum(anonymous)

ddcBlockType constants
underlying type unsigned int
kDDCBlockTypeEDID0EDID block type.

enum(anonymous)

ddcFlags constants
underlying type unsigned int
kDDCForceReadBit0Force a new read of the EDID.
kDDCForceReadMask1Mask for kddcForceReadBit.

enum(anonymous)

Timing mode constants for Display Manager MultiMode support Corresponding .h equates are in Video.h .a equates are in Video.a .r equates are in DepVideoEqu.r The second enum is the old names (for compatibility). The first enum is the new names.
underlying type unsigned int
timingInvalid0Unknown timing... force user to confirm.
timingInvalid_SM_T248Work around bug in SM Thunder24 card.
timingApple_FixedRateLCD42Lump all fixed-rate LCDs into one category.
timingApple_512x384_60hz130512x384 (60 Hz) Rubik timing.
timingApple_560x384_60hz135560x384 (60 Hz) Rubik-560 timing.
timingApple_640x480_67hz140640x480 (67 Hz) HR timing.
timingApple_640x400_67hz145640x400 (67 Hz) HR-400 timing.
timingVESA_640x480_60hz150640x480 (60 Hz) VGA timing.
timingVESA_640x480_72hz152640x480 (72 Hz) VGA timing.
timingVESA_640x480_75hz154640x480 (75 Hz) VGA timing.
timingVESA_640x480_85hz158640x480 (85 Hz) VGA timing.
timingGTF_640x480_120hz159640x480 (120 Hz) VESA Generalized Timing Formula
timingApple_640x870_75hz160640x870 (75 Hz) FPD timing.
timingApple_640x818_75hz165640x818 (75 Hz) FPD-818 timing.
timingApple_832x624_75hz170832x624 (75 Hz) GoldFish timing.
timingVESA_800x600_56hz180800x600 (56 Hz) SVGA timing.
timingVESA_800x600_60hz182800x600 (60 Hz) SVGA timing.
timingVESA_800x600_72hz184800x600 (72 Hz) SVGA timing.
timingVESA_800x600_75hz186800x600 (75 Hz) SVGA timing.
timingVESA_800x600_85hz188800x600 (85 Hz) SVGA timing.
timingVESA_1024x768_60hz1901024x768 (60 Hz) VESA 1K-60Hz timing.
timingVESA_1024x768_70hz2001024x768 (70 Hz) VESA 1K-70Hz timing.
timingVESA_1024x768_75hz2041024x768 (75 Hz) VESA 1K-75Hz timing (very similar to timingApple_1024x768_75hz).
timingVESA_1024x768_85hz2081024x768 (85 Hz) VESA timing.
timingApple_1024x768_75hz2101024x768 (75 Hz) Apple 19" RGB.
timingApple_1152x870_75hz2201152x870 (75 Hz) Apple 21" RGB.
timingAppleNTSC_ST230512x384 (60 Hz, interlaced, non-convolved).
timingAppleNTSC_FF232640x480 (60 Hz, interlaced, non-convolved).
timingAppleNTSC_STconv234512x384 (60 Hz, interlaced, convolved).
timingAppleNTSC_FFconv236640x480 (60 Hz, interlaced, convolved).
timingApplePAL_ST238640x480 (50 Hz, interlaced, non-convolved).
timingApplePAL_FF240768x576 (50 Hz, interlaced, non-convolved).
timingApplePAL_STconv242640x480 (50 Hz, interlaced, convolved).
timingApplePAL_FFconv244768x576 (50 Hz, interlaced, convolved).
timingVESA_1280x960_75hz2501280x960 (75 Hz)
timingVESA_1280x960_60hz2521280x960 (60 Hz)
timingVESA_1280x960_85hz2541280x960 (85 Hz)
timingVESA_1280x1024_60hz2601280x1024 (60 Hz)
timingVESA_1280x1024_75hz2621280x1024 (75 Hz)
timingVESA_1280x1024_85hz2681280x1024 (85 Hz)
timingVESA_1600x1200_60hz2801600x1200 (60 Hz) VESA timing.
timingVESA_1600x1200_65hz2821600x1200 (65 Hz) VESA timing.
timingVESA_1600x1200_70hz2841600x1200 (70 Hz) VESA timing.
timingVESA_1600x1200_75hz2861600x1200 (75 Hz) VESA timing (pixel clock is 189.2 Mhz dot clock).
timingVESA_1600x1200_80hz2881600x1200 (80 Hz) VESA timing (pixel clock is 216>? Mhz dot clock) - proposed only.
timingVESA_1600x1200_85hz2891600x1200 (85 Hz) VESA timing (pixel clock is 229.5 Mhz dot clock).
timingVESA_1792x1344_60hz2961792x1344 (60 Hz) VESA timing (204.75 Mhz dot clock).
timingVESA_1792x1344_75hz2981792x1344 (75 Hz) VESA timing (261.75 Mhz dot clock).
timingVESA_1856x1392_60hz3001856x1392 (60 Hz) VESA timing (218.25 Mhz dot clock).
timingVESA_1856x1392_75hz3021856x1392 (75 Hz) VESA timing (288 Mhz dot clock).
timingVESA_1920x1440_60hz3041920x1440 (60 Hz) VESA timing (234 Mhz dot clock).
timingVESA_1920x1440_75hz3061920x1440 (75 Hz) VESA timing (297 Mhz dot clock).
timingSMPTE240M_60hz40060Hz V, 33.75KHz H, interlaced timing, 16:9 aspect, typical resolution of 1920x1035.
timingFilmRate_48hz41048Hz V, 25.20KHz H, non-interlaced timing, typical resolution of 640x480.
timingSony_1600x1024_76hz5001600x1024 (76 Hz) Sony timing (pixel clock is 170.447 Mhz dot clock).
timingSony_1920x1080_60hz5101920x1080 (60 Hz) Sony timing (pixel clock is 159.84 Mhz dot clock).
timingSony_1920x1080_72hz5201920x1080 (72 Hz) Sony timing (pixel clock is 216.023 Mhz dot clock).
timingSony_1920x1200_76hz5401900x1200 (76 Hz) Sony timing (pixel clock is 243.20 Mhz dot clock).
timingApple_0x0_0hz_Offline550Indicates that this timing will take the display off-line and remove it from the system.

enum(anonymous)

Deprecated timing names.
underlying type unsigned int
timingApple12130
timingApple12x135
timingApple13140
timingApple13x145
timingAppleVGA150
timingApple15160
timingApple15x165
timingApple16170
timingAppleSVGA180
timingApple1Ka190
timingApple1Kb200
timingApple19210
timingApple21220
timingSony_1900x1200_74hz5301900x1200 (74 Hz) Sony timing (pixel clock is 236.25 Mhz dot clock).
timingSony_1900x1200_76hz5401900x1200 (76 Hz) Sony timing (pixel clock is 245.48 Mhz dot clock).

enum(anonymous)

csConnectFlags values in VDDisplayConnectInfo
underlying type unsigned int
kAllModesValid0All modes not trimmed by primary init are good close enough to try
kAllModesSafe1All modes not trimmed by primary init are know to be safe
kReportsTagging2Can detect tagged displays (to identify smart monitors)
kHasDirectConnection3True implies that driver can talk directly to device (e.g. serial data link via sense lines)
kIsMonoDev4Says whether there's an RGB (0) or Monochrome (1) connection.
kUncertainConnection5There may not be a display (no sense lines?).
kTaggingInfoNonStandard6Set when csConnectTaggedType/csConnectTaggedData are non-standard (i.e., not the Apple CRT sense codes).
kReportsDDCConnection7Card can do ddc (set kHasDirectConnect && kHasDDCConnect if you actually found a ddc display).
kHasDDCConnection8Card has ddc connect now.
kConnectionInactive9Set when the connection is NOT currently active (generally used in a multiconnection environment).
kDependentConnection10Set when some ascpect of THIS connection depends on another (will generally be set in a kModeSimulscan environment).
kBuiltInConnection11Set when connection is KNOWN to be built-in (this is not the same as kHasDirectConnection).
kOverrideConnection12Set when the reported connection is not the true one, but is one that has been forced through a SetConnection call
kFastCheckForDDC13Set when all 3 are true: 1) sense codes indicate DDC display could be attached 2) attempted fast check 3) DDC failed
kReportsHotPlugging14Detects and reports hot pluggging on connector (via VSL also implies DDC will be up to date w/o force read)
kStereoSyncConnection15Connection supports stereo sync signalling

enum(anonymous)

csDisplayType values in VDDisplayConnectInfo
underlying type unsigned int
kUnknownConnect1Not sure how we'll use this, but seems like a good idea.
kPanelConnect2For use with fixed-in-place LCD panels.
kPanelTFTConnect2Alias for kPanelConnect
kFixedModeCRTConnect3For use with fixed-mode (i.e., very limited range) displays.
kMultiModeCRT1Connect4320x200 maybe, 12" maybe, 13" (default), 16" certain, 19" maybe, 21" maybe
kMultiModeCRT2Connect5320x200 maybe, 12" maybe, 13" certain, 16" (default), 19" certain, 21" maybe
kMultiModeCRT3Connect6320x200 maybe, 12" maybe, 13" certain, 16" certain, 19" default, 21" certain
kMultiModeCRT4Connect7Expansion to large multi mode (not yet used)
kModelessConnect8Expansion to modeless model (not yet used)
kFullPageConnect9640x818 (to get 8bpp in 512K case) and 640x870 (these two only)
kVGAConnect10640x480 VGA default -- question everything else
kNTSCConnect11NTSC ST (default), FF, STconv, FFconv
kPALConnect12PAL ST (default), FF, STconv, FFconv
kHRConnect13Straight-6 connect -- 640x480 and 640x400 (to get 8bpp in 256K case) (these two only)
kPanelFSTNConnect14For use with fixed-in-place LCD FSTN (aka "Supertwist") panels
kMonoTwoPageConnect151152x870 Apple color two-page display
kColorTwoPageConnect161152x870 Apple B&W two-page display
kColor16Connect17832x624 Apple B&W two-page display
kColor19Connect181024x768 Apple B&W two-page display
kGenericCRT19Indicates nothing except that connection is CRT in nature.
kGenericLCD20Indicates nothing except that connection is LCD in nature.
kDDCConnect21DDC connection, always set kHasDDCConnection
kNoConnect22No display is connected - load sensing or similar level of hardware detection is assumed (used by resident drivers that support hot plugging when nothing is currently connected)

enum(anonymous)

csTimingFlags values in VDTimingInfoRec
underlying type unsigned int
kModeValid0Says that this mode should NOT be trimmed.
kModeSafe1This mode does not need confirmation
kModeDefault2This is the default mode for this type of connection
kModeShowNow3This mode should always be shown (even though it may require a confirm)
kModeNotResize4This mode should not be used to resize the display (eg. mode selects a different connector on card)
kModeRequiresPan5This mode has more pixels than are actually displayed
kModeInterlaced6This mode is interlaced (single pixel lines look bad).
kModeShowNever7This mode should not be shown in the user interface.
kModeSimulscan8Indicates that more than one display connection can be driven from a single framebuffer controller.
kModeNotPreset9Indicates that the timing is not a factory preset for the current display (geometry may need correction)
kModeBuiltIn10Indicates that the display mode is for the built-in connect only (on multiconnect devices like the PB 3400) Only the driver is quieried
kModeStretched11Indicates that the display mode will be stretched/distorted to match the display aspect ratio
kModeNotGraphicsQuality12Indicates that the display mode is not the highest quality (eg. stretching artifacts). Intended as a hint
kModeValidateAgainstDisplay13Indicates that this mode should be validated against the display EDID

enum(anonymous)

csDepthFlags in VDVideoParametersInfoRec
underlying type unsigned int
kDepthDependent0Says that this depth mode may cause dependent changes in other framebuffers (and .
kDepthDependentMask1mask for kDepthDependent

enum(anonymous)

csResolutionFlags bit flags for VDResolutionInfoRec
underlying type unsigned int
kResolutionHasMultipleDepthSizes0Says that this mode has different csHorizontalPixels, csVerticalLines at different depths (usually slightly larger at lower depths)

enum(anonymous)

underlying type unsigned int
kAVPowerOff0Power Mode constants for VDPowerStateRec.powerState. Note the numeric order does not match the power state order Power fully off
kAVPowerStandby1
kAVPowerSuspend2
kAVPowerOn3
kHardwareSleep128
kHardwareWake129
kHardwareWakeFromSuspend130
kHardwareWakeToDoze131
kHardwareWakeToDozeFromSuspend132
kHardwarePark133
kHardwareDrive134

enum(anonymous)

Reduced perf level, for GetPowerState, SetPowerState
underlying type unsigned int
kPowerStateReducedPowerMask768
kPowerStateFullPower0
kPowerStateReducedPower1256
kPowerStateReducedPower2512
kPowerStateReducedPower3768

enum(anonymous)

underlying type unsigned int
kPowerStateNeedsRefresh0Power Mode masks and bits for VDPowerStateRec.powerFlags. When leaving this power mode, a display will need refreshing
kPowerStateSleepAwareBit1if gestaltPCCardDockingSelectorFix, Docking mgr checks this bit before checking kPowerStateSleepAllowedBit
kPowerStateSleepForbiddenBit2if kPowerStateSleepAwareBit, Docking mgr checks this bit before sleeping
kPowerStateSleepCanPowerOffBit3supports power down sleep (ie PCI power off)
kPowerStateSleepNoDPMSBit4Bug #2425210. Do not use DPMS with this display.
kPowerStateSleepWaketoDozeBit5Supports Wake to Doze
kPowerStateSleepWakeNeedsProbeBit6Does not sense connection changes on wake
kPowerStateNeedsRefreshMask1
kPowerStateSleepAwareMask2
kPowerStateSleepForbiddenMask4
kPowerStateSleepCanPowerOffMask8
kPowerStateSleepNoDPMSMask16
kPowerStateSleepWaketoDozeMask32
kPowerStateSleepWakeNeedsProbeMask64
kPowerStateSupportsReducedPower1Bit10
kPowerStateSupportsReducedPower2Bit11
kPowerStateSupportsReducedPower3Bit12
kPowerStateSupportsReducedPower1BitMask1024
kPowerStateSupportsReducedPower2BitMask2048
kPowerStateSupportsReducedPower3BitMask4096

enum(anonymous)

underlying type unsigned int
cscReset0Control Codes
cscKillIO1
cscSetMode2
cscSetEntries3
cscSetGamma4
cscGrayPage5
cscGrayScreen5
cscSetGray6
cscSetInterrupt7
cscDirectSetEntries8
cscSetDefaultMode9
cscSwitchMode10Takes a VDSwitchInfoPtr
cscSetSync11Takes a VDSyncInfoPtr
cscSavePreferredConfiguration16Takes a VDSwitchInfoPtr
cscSetHardwareCursor22Takes a VDSetHardwareCursorPtr
cscDrawHardwareCursor23Takes a VDDrawHardwareCursorPtr
cscSetConvolution24Takes a VDConvolutionInfoPtr
cscSetPowerState25Takes a VDPowerStatePtr
cscPrivateControlCall26Takes a VDPrivateSelectorDataRec
cscSetMultiConnect28From a GDI point of view, this call should be implemented completely in the HAL and not at all in the core.
cscSetClutBehavior29Takes a VDClutBehavior
cscSetDetailedTiming31Takes a VDDetailedTimingPtr
cscDoCommunication33Takes a VDCommunicationPtr
cscProbeConnection34Takes nil pointer
cscSetScaler36(may generate a kFBConnectInterruptServiceType service interrupt) Takes a VDScalerPtr
cscSetMirror37Takes a VDMirrorPtr
cscSetFeatureConfiguration38Takes a VDConfigurationPtr
cscUnusedCall127This call used to expand the scrn resource. Its imbedded data contains more control info

enum(anonymous)

underlying type unsigned int
cscGetMode2Status Codes
cscGetEntries3
cscGetPageCnt4
cscGetPages4This is what C&D 2 calls it.
cscGetPageBase5
cscGetBaseAddr5This is what C&D 2 calls it.
cscGetGray6
cscGetInterrupt7
cscGetGamma8
cscGetDefaultMode9
cscGetCurMode10Takes a VDSwitchInfoPtr
cscGetSync11Takes a VDSyncInfoPtr
cscGetConnection12Return information about the connection to the display
cscGetModeTiming13Return timing info for a mode
cscGetModeBaseAddress14Return base address information about a particular mode
cscGetScanProc15QuickTime scan chasing routine
cscGetPreferredConfiguration16Takes a VDSwitchInfoPtr
cscGetNextResolution17Takes a VDResolutionInfoPtr
cscGetVideoParameters18Takes a VDVideoParametersInfoPtr
cscGetGammaInfoList20Takes a VDGetGammaListPtr
cscRetrieveGammaTable21Takes a VDRetrieveGammaPtr
cscSupportsHardwareCursor22Takes a VDSupportsHardwareCursorPtr
cscGetHardwareCursorDrawState23Takes a VDHardwareCursorDrawStatePtr
cscGetConvolution24Takes a VDConvolutionInfoPtr
cscGetPowerState25Takes a VDPowerStatePtr
cscPrivateStatusCall26Takes a VDPrivateSelectorDataRec
cscGetDDCBlock27Takes a VDDDCBlockRec
cscGetMultiConnect28From a GDI point of view, this call should be implemented completely in the HAL and not at all in the core.
cscGetClutBehavior29Takes a VDClutBehavior
cscGetTimingRanges30Takes a VDDisplayTimingRangePtr
cscGetDetailedTiming31Takes a VDDetailedTimingPtr
cscGetCommunicationInfo32Takes a VDCommunicationInfoPtr
cscGetScalerInfo35Takes a VDScalerInfoPtr
cscGetScaler36Takes a VDScalerPtr
cscGetMirror37Takes a VDMirrorPtr
cscGetFeatureConfiguration38Takes a VDConfigurationPtr
cscGetFeatureList39

enum(anonymous)

Bit definitions for the Get/Set Sync call
underlying type unsigned int
kDisableHorizontalSyncBit0
kDisableVerticalSyncBit1
kDisableCompositeSyncBit2
kEnableSyncOnBlue3
kEnableSyncOnGreen4
kEnableSyncOnRed5
kNoSeparateSyncControlBit6
kTriStateSyncBit7
kHorizontalSyncMask1
kVerticalSyncMask2
kCompositeSyncMask4
kDPMSSyncMask7
kTriStateSyncMask128
kSyncOnBlueMask8
kSyncOnGreenMask16
kSyncOnRedMask32
kSyncOnMask56

enum(anonymous)

underlying type unsigned int
kDPMSSyncOn0Power Mode constants for translating DPMS modes to Get/SetSync calls.
kDPMSSyncStandby1
kDPMSSyncSuspend2
kDPMSSyncOff7

enum(anonymous)

Bit definitions for the Get/Set Convolution call
underlying type unsigned int
kConvolved0
kLiveVideoPassThru1
kConvolvedMask1
kLiveVideoPassThruMask2

structVPBlock

size 44, align 4
UInt32vpBaseOffsetOffset to page zero of video RAM (From minorBaseOS).
UInt32vpRowBytesWidth of each row of video memory.
RectvpBoundsBoundsRect for the video display (gives dimensions).
SInt16vpVersionPixelMap version number.
SInt16vpPackType
UInt32vpPackSize
UInt32vpHResHorizontal resolution of the device (pixels per inch).
UInt32vpVResVertical resolution of the device (pixels per inch).
SInt16vpPixelTypeDefines the pixel type.
SInt16vpPixelSizeNumber of bits in pixel.
SInt16vpCmpCountNumber of components in pixel.
SInt16vpCmpSizeNumber of bits per component
UInt32vpPlaneBytesOffset from one plane to the next.

typedefVPBlock

typedef struct VPBlock VPBlock

typedefVPBlockPtr

typedef VPBlock * VPBlockPtr

structVDEntryRecord

size 8, align 8
PtrcsTablepointer to color table entry=value, r,g,b:INTEGER

typedefVDEntryRecord

typedef struct VDEntryRecord VDEntryRecord

typedefVDEntRecPtr

typedef VDEntryRecord * VDEntRecPtr

structVDGrayRecord

size 2, align 1
BooleancsModeSame as GDDevType value (0=color, 1=mono)
SInt8filler

typedefVDGrayRecord

typedef struct VDGrayRecord VDGrayRecord

typedefVDGrayPtr

typedef VDGrayRecord * VDGrayPtr

structVDFlagRecord

size 2, align 1
SInt8csMode
SInt8filler

typedefVDFlagRecord

typedef struct VDFlagRecord VDFlagRecord

typedefVDFlagRecPtr

typedef VDFlagRecord * VDFlagRecPtr

structVDSetEntryRecord

size 16, align 8
ColorSpec *csTablePointer to an array of color specs
SInt16csStartWhich spec in array to start with, or -1
SInt16csCountNumber of color spec entries to set

typedefVDSetEntryRecord

typedef struct VDSetEntryRecord VDSetEntryRecord

typedefVDSetEntryPtr

typedef VDSetEntryRecord * VDSetEntryPtr

structVDGammaRecord

size 8, align 8
PtrcsGTablepointer to gamma table

typedefVDGammaRecord

typedef struct VDGammaRecord VDGammaRecord

typedefVDGamRecPtr

typedef VDGammaRecord * VDGamRecPtr

structVDSwitchInfoRec

size 32, align 8
DepthModecsModemode depth
DisplayModeIDcsDatafunctional sResource of mode
UInt16csPagepage to switch in
PtrcsBaseAddrbase address of page (return value)
uintptr_tcsReservedReserved (set to 0)

typedefVDSwitchInfoRec

typedef struct VDSwitchInfoRec VDSwitchInfoRec

typedefVDSwitchInfoPtr

typedef VDSwitchInfoRec * VDSwitchInfoPtr

structVDTimingInfoRec

size 32, align 8
DisplayModeIDcsTimingModetiming mode (a la InitGDevice)
uintptr_tcsTimingReservedreserved
UInt32csTimingFormatwhat format is the timing info
UInt32csTimingDatadata supplied by driver
UInt32csTimingFlagsmode within device

typedefVDTimingInfoRec

typedef struct VDTimingInfoRec VDTimingInfoRec

typedefVDTimingInfoPtr

typedef VDTimingInfoRec * VDTimingInfoPtr

structVDDisplayConnectInfoRec

size 24, align 8
UInt16csDisplayTypeType of display connected
UInt8csConnectTaggedTypetype of tagging
UInt8csConnectTaggedDatatagging data
UInt32csConnectFlagstell us about the connection
uintptr_tcsDisplayComponentif the card has a direct connection to the display, it returns the display component here (FUTURE)
uintptr_tcsConnectReservedreserved

typedefVDDisplayConnectInfoRec

typedef struct VDDisplayConnectInfoRec VDDisplayConnectInfoRec

typedefVDDisplayConnectInfoPtr

typedef VDDisplayConnectInfoRec * VDDisplayConnectInfoPtr

structVDMultiConnectInfoRec

size 32, align 8
UInt32csDisplayCountOrNumberFor GetMultiConnect, returns count n of 1..n connections; otherwise, indicates the ith connection.
VDDisplayConnectInfoReccsConnectInfoStandard VDDisplayConnectionInfo for connection i.

typedefVDMultiConnectInfoRec

typedef struct VDMultiConnectInfoRec VDMultiConnectInfoRec

typedefVDMultiConnectInfoPtr

typedef VDMultiConnectInfoRec * VDMultiConnectInfoPtr

typedefRawSenseCode

RawSenseCode This abstract data type is not exactly abstract. Rather, it is merely enumerated constants for the possible raw sense code values when 'standard' sense code hardware is implemented. For 'standard' sense code hardware, the raw sense is obtained as follows: o Instruct the frame buffer controller NOT to actively drive any of the monitor sense lines o Read the state of the monitor sense lines 2, 1, and 0. (2 is the MSB, 0 the LSB) IMPORTANT Note: When the 'kTaggingInfoNonStandard' bit of 'csConnectFlags' is FALSE, then these constants are valid 'csConnectTaggedType' values in 'VDDisplayConnectInfo'
typedef UInt8 RawSenseCode

enum(anonymous)

underlying type unsigned int
kRSCZero0
kRSCOne1
kRSCTwo2
kRSCThree3
kRSCFour4
kRSCFive5
kRSCSix6
kRSCSeven7

typedefExtendedSenseCode

ExtendedSenseCode This abstract data type is not exactly abstract. Rather, it is merely enumerated constants for the values which are possible when the extended sense algorithm is applied to hardware which implements 'standard' sense code hardware. For 'standard' sense code hardware, the extended sense code algorithm is as follows: (Note: as described here, sense line 'A' corresponds to '2', 'B' to '1', and 'C' to '0') o Drive sense line 'A' low and read the values of 'B' and 'C'. o Drive sense line 'B' low and read the values of 'A' and 'C'. o Drive sense line 'C' low and read the values of 'A' and 'B'. In this way, a six-bit number of the form BC/AC/AB is generated. IMPORTANT Note: When the 'kTaggingInfoNonStandard' bit of 'csConnectFlags' is FALSE, then these constants are valid 'csConnectTaggedData' values in 'VDDisplayConnectInfo'
typedef UInt8 ExtendedSenseCode

enum(anonymous)

underlying type unsigned int
kESCZero21Inch021" RGB
kESCOnePortraitMono20Portrait Monochrome
kESCTwo12Inch3312" RGB
kESCThree21InchRadius4921" RGB (Radius)
kESCThree21InchMonoRadius5221" Monochrome (Radius)
kESCThree21InchMono5321" Monochrome
kESCFourNTSC10NTSC
kESCFivePortrait30Portrait RGB
kESCSixMSB13MultiScan Band-1 (12" thru 1Six")
kESCSixMSB211MultiScan Band-2 (13" thru 19")
kESCSixMSB335MultiScan Band-3 (13" thru 21")
kESCSixStandard4313"/14" RGB or 12" Monochrome
kESCSevenPAL0PAL
kESCSevenNTSC20NTSC
kESCSevenVGA23VGA
kESCSeven16Inch4516" RGB (GoldFish)
kESCSevenPALAlternate48PAL (Alternate)
kESCSeven19Inch58Third-Party 19"
kESCSevenDDC62DDC display
kESCSevenNoDisplay63No display connected

enum(anonymous)

DepthMode This abstract data type is used to to reference RELATIVE pixel depths. Its definition is largely derived from its past usage, analogous to 'xxxVidMode' Bits per pixel DOES NOT directly map to 'DepthMode' For example, on some graphics hardware, 'kDepthMode1' may represent 1 BPP, whereas on other hardware, 'kDepthMode1' may represent 8BPP. DepthMode IS considered to be ordinal, i.e., operations such as <, >, ==, etc. behave as expected. The values of the constants which comprise the set are such that 'kDepthMode4 < kDepthMode6' behaves as expected.
underlying type unsigned int
kDepthMode1128
kDepthMode2129
kDepthMode3130
kDepthMode4131
kDepthMode5132
kDepthMode6133

enum(anonymous)

underlying type unsigned int
kFirstDepthMode128These constants are obsolete, and just included
kSecondDepthMode129for clients that have converted to the above
kThirdDepthMode130kDepthModeXXX constants.
kFourthDepthMode131
kFifthDepthMode132
kSixthDepthMode133

structVDPageInfo

size 24, align 8
DepthModecsModemode within device
DisplayModeIDcsDatadata supplied by driver
SInt16csPagepage to switch in
PtrcsBaseAddrbase address of page

typedefVDPageInfo

typedef struct VDPageInfo VDPageInfo

typedefVDPgInfoPtr

typedef VDPageInfo * VDPgInfoPtr

structVDSizeInfo

size 8, align 2
SInt16csHSizedesired/returned h size
SInt16csHPosdesired/returned h position
SInt16csVSizedesired/returned v size
SInt16csVPosdesired/returned v position

typedefVDSizeInfo

typedef struct VDSizeInfo VDSizeInfo

typedefVDSzInfoPtr

typedef VDSizeInfo * VDSzInfoPtr

structVDSettings

size 38, align 2
SInt16csParamCntnumber of params
SInt16csBrightMaxmax brightness
SInt16csBrightDefdefault brightness
SInt16csBrightValcurrent brightness
SInt16csCntrstMaxmax contrast
SInt16csCntrstDefdefault contrast
SInt16csCntrstValcurrent contrast
SInt16csTintMaxmax tint
SInt16csTintDefdefault tint
SInt16csTintValcurrent tint
SInt16csHueMaxmax hue
SInt16csHueDefdefault hue
SInt16csHueValcurrent hue
SInt16csHorizDefdefault horizontal
SInt16csHorizValcurrent horizontal
SInt16csHorizMaxmax horizontal
SInt16csVertDefdefault vertical
SInt16csVertValcurrent vertical
SInt16csVertMaxmax vertical

typedefVDSettings

typedef struct VDSettings VDSettings

typedefVDSettingsPtr

typedef VDSettings * VDSettingsPtr

structVDDefMode

size 2, align 1
UInt8csID
SInt8filler

typedefVDDefMode

typedef struct VDDefMode VDDefMode

typedefVDDefModePtr

typedef VDDefMode * VDDefModePtr

structVDSyncInfoRec

size 2, align 1
UInt8csMode
UInt8csFlags

typedefVDSyncInfoRec

typedef struct VDSyncInfoRec VDSyncInfoRec

typedefVDSyncInfoPtr

typedef VDSyncInfoRec * VDSyncInfoPtr

enum(anonymous)

All displayModeID values from 0x80000000 to 0xFFFFFFFF and 0x00 are reserved for Apple Computer. Constants for the cscGetNextResolution call
underlying type int
kDisplayModeIDCurrent0Reference the Current DisplayModeID
kDisplayModeIDInvalid-1A bogus DisplayModeID in all cases
kDisplayModeIDFindFirstResolution-2Used in cscGetNextResolution to reset iterator
kDisplayModeIDNoMoreResolutions-3Used in cscGetNextResolution to indicate End Of List
kDisplayModeIDFindFirstProgrammable-4Used in cscGetNextResolution to find unused programmable timing
kDisplayModeIDBootProgrammable-5This is the ID given at boot time by the OF driver to a programmable timing
kDisplayModeIDReservedBase-2147483648Lowest (unsigned) DisplayModeID reserved by Apple

enum(anonymous)

Constants for the GetGammaInfoList call
underlying type unsigned int
kGammaTableIDFindFirst4294967294Get the first gamma table ID
kGammaTableIDNoMoreTables4294967293Used to indicate end of list
kGammaTableIDSpecific0Return the info for the given table id

enum(anonymous)

Constants for GetMultiConnect call
underlying type unsigned int
kGetConnectionCount4294967295Used to get the number of possible connections in a "multi-headed" framebuffer environment.
kActivateConnection0Used for activating a connection (csConnectFlags value).
kDeactivateConnection512Used for deactivating a connection (csConnectFlags value.)

enum(anonymous)

VDCommunicationRec.csBusID values
underlying type unsigned int
kVideoDefaultBus0

enum(anonymous)

VDCommunicationInfoRec.csBusType values
underlying type unsigned int
kVideoBusTypeInvalid0
kVideoBusTypeI2C1
kVideoBusTypeDisplayPort2

enum(anonymous)

VDCommunicationRec.csSendType and VDCommunicationRec.csReplyType values
underlying type unsigned int
kVideoNoTransactionType0No transaction
kVideoNoTransactionTypeMask1
kVideoSimpleI2CType1Simple I2C message
kVideoSimpleI2CTypeMask2
kVideoDDCciReplyType2DDC/ci message (with imbedded length)
kVideoDDCciReplyTypeMask4
kVideoCombinedI2CType3Combined format I2C R/~W transaction
kVideoCombinedI2CTypeMask8
kVideoDisplayPortNativeType4DisplayPort Native
kVideoDisplayPortNativeTypeMask16

enum(anonymous)

VDCommunicationRec.csCommFlags and VDCommunicationInfoRec.csSupportedCommFlags
underlying type unsigned int
kVideoReplyMicroSecDelayBit0If bit set, the driver should delay csMinReplyDelay micro seconds between send and receive
kVideoReplyMicroSecDelayMask1
kVideoUsageAddrSubAddrBit1If bit set, the driver understands to use the lower 16 bits of the address field as two 8 bit values (address/subaddress) for the I2C transaction
kVideoUsageAddrSubAddrMask2

structVDResolutionInfoRec

size 40, align 8
DisplayModeIDcsPreviousDisplayModeIDID of the previous resolution in a chain
DisplayModeIDcsDisplayModeIDID of the next resolution
UInt32csHorizontalPixels# of pixels in a horizontal line at the max depth
UInt32csVerticalLines# of lines in a screen at the max depth
FixedcsRefreshRateVertical Refresh Rate in Hz
DepthModecsMaxDepthMode0x80-based number representing max bit depth
UInt32csResolutionFlagsReserved - flag bits
uintptr_tcsReservedReserved

typedefVDResolutionInfoRec

typedef struct VDResolutionInfoRec VDResolutionInfoRec

typedefVDResolutionInfoPtr

typedef VDResolutionInfoRec * VDResolutionInfoPtr

structVDVideoParametersInfoRec

size 32, align 8
DisplayModeIDcsDisplayModeIDthe ID of the resolution we want info on
DepthModecsDepthModeThe bit depth we want the info on (0x80 based)
VPBlockPtrcsVPBlockPtrPointer to a video parameter block
UInt32csPageCountNumber of pages supported by the resolution
VideoDeviceTypecsDeviceTypeDevice Type: Direct, Fixed or CLUT;
UInt32csDepthFlagsFlags

typedefVDVideoParametersInfoRec

typedef struct VDVideoParametersInfoRec VDVideoParametersInfoRec

typedefVDVideoParametersInfoPtr

typedef VDVideoParametersInfoRec * VDVideoParametersInfoPtr

structVDGammaInfoRec

size 24, align 8
GammaTableIDcsLastGammaIDthe ID of the previous gamma table
GammaTableIDcsNextGammaIDthe ID of the next gamma table
PtrcsGammaPtrPtr to a gamma table data
uintptr_tcsReservedReserved

typedefVDGammaInfoRec

typedef struct VDGammaInfoRec VDGammaInfoRec

typedefVDGammaInfoPtr

typedef VDGammaInfoRec * VDGammaInfoPtr

structVDGetGammaListRec

size 24, align 8
GammaTableIDcsPreviousGammaTableIDID of the previous gamma table
GammaTableIDcsGammaTableIDID of the gamma table following csPreviousDisplayModeID
UInt32csGammaTableSizeSize of the gamma table in bytes
char *csGammaTableNameGamma table name (c-string)

typedefVDGetGammaListRec

typedef struct VDGetGammaListRec VDGetGammaListRec

typedefVDGetGammaListPtr

typedef VDGetGammaListRec * VDGetGammaListPtr

structVDRetrieveGammaRec

size 16, align 8
GammaTableIDcsGammaTableIDID of gamma table to retrieve
GammaTbl *csGammaTablePtrLocation to copy desired gamma to

typedefVDRetrieveGammaRec

typedef struct VDRetrieveGammaRec VDRetrieveGammaRec

typedefVDRetrieveGammaPtr

typedef VDRetrieveGammaRec * VDRetrieveGammaPtr

structVDSetHardwareCursorRec

size 16, align 8
void *csCursorRefreference to cursor data
UInt32csReserved1reserved for future use
UInt32csReserved2should be ignored

typedefVDSetHardwareCursorRec

typedef struct VDSetHardwareCursorRec VDSetHardwareCursorRec

typedefVDSetHardwareCursorPtr

typedef VDSetHardwareCursorRec * VDSetHardwareCursorPtr

structVDDrawHardwareCursorRec

size 20, align 4
SInt32csCursorXx coordinate
SInt32csCursorYy coordinate
UInt32csCursorVisibletrue if cursor is must be visible
UInt32csReserved1reserved for future use
UInt32csReserved2should be ignored

typedefVDDrawHardwareCursorRec

typedef struct VDDrawHardwareCursorRec VDDrawHardwareCursorRec

typedefVDDrawHardwareCursorPtr

typedef VDDrawHardwareCursorRec * VDDrawHardwareCursorPtr

structVDSupportsHardwareCursorRec

size 12, align 4
UInt32csSupportsHardwareCursor
UInt32csReserved1true if hardware cursor is supported reserved for future use
UInt32csReserved2must be zero

typedefVDSupportsHardwareCursorRec

typedef struct VDSupportsHardwareCursorRec VDSupportsHardwareCursorRec

typedefVDSupportsHardwareCursorPtr

typedef VDSupportsHardwareCursorRec * VDSupportsHardwareCursorPtr

structVDHardwareCursorDrawStateRec

size 24, align 4
SInt32csCursorXx coordinate
SInt32csCursorYy coordinate
UInt32csCursorVisibletrue if cursor is visible
UInt32csCursorSettrue if cursor successfully set by last set control call
UInt32csReserved1reserved for future use
UInt32csReserved2must be zero

typedefVDHardwareCursorDrawStateRec

typedef struct VDHardwareCursorDrawStateRec VDHardwareCursorDrawStateRec

typedefVDHardwareCursorDrawStatePtr

typedef VDHardwareCursorDrawStateRec * VDHardwareCursorDrawStatePtr

structVDConvolutionInfoRec

size 20, align 4
DisplayModeIDcsDisplayModeIDthe ID of the resolution we want info on
DepthModecsDepthModeThe bit depth we want the info on (0x80 based)
UInt32csPage
UInt32csFlags
UInt32csReserved

typedefVDConvolutionInfoRec

typedef struct VDConvolutionInfoRec VDConvolutionInfoRec

typedefVDConvolutionInfoPtr

typedef VDConvolutionInfoRec * VDConvolutionInfoPtr

structVDPowerStateRec

size 24, align 8
UInt32powerState
UInt32powerFlags
uintptr_tpowerReserved1
uintptr_tpowerReserved2

typedefVDPowerStateRec

typedef struct VDPowerStateRec VDPowerStateRec

typedefVDPowerStatePtr

typedef VDPowerStateRec * VDPowerStatePtr

structVDPrivateSelectorDataRec

size 32, align 8
LogicalAddressprivateParametersCaller's parameters
ByteCountprivateParametersSizeSize of data sent from caller to driver
LogicalAddressprivateResultsCaller's return area. Can be nil, or same as privateParameters.
ByteCountprivateResultsSizeSize of data driver returns to caller. Can be nil, or same as privateParametersSize.

typedefVDPrivateSelectorDataRec

typedef struct VDPrivateSelectorDataRec VDPrivateSelectorDataRec

structVDPrivateSelectorRec

size 40, align 8
UInt32reservedReserved (set to 0).
VDPrivateSelectorDataRec[1]data

typedefVDPrivateSelectorRec

typedef struct VDPrivateSelectorRec VDPrivateSelectorRec

structVDDDCBlockRec

size 144, align 4
UInt32ddcBlockNumberInput -- DDC EDID (Extended Display Identification Data) number (1-based)
ResTypeddcBlockTypeInput -- DDC block type (EDID/VDIF)
UInt32ddcFlagsInput -- DDC Flags
UInt32ddcReservedReserved
Byte[128]ddcBlockDataOutput -- DDC EDID/VDIF data (kDDCBlockSize)

typedefVDDDCBlockRec

typedef struct VDDDCBlockRec VDDDCBlockRec

typedefVDDDCBlockPtr

typedef VDDDCBlockRec * VDDDCBlockPtr

enum(anonymous)

underlying type unsigned int
kSyncInterlaceMask128timingSyncConfiguration
kSyncAnalogCompositeMask0
kSyncAnalogCompositeSerrateMask4
kSyncAnalogCompositeRGBSyncMask2
kSyncAnalogBipolarMask8
kSyncAnalogBipolarSerrateMask4
kSyncAnalogBipolarSRGBSyncMask2
kSyncDigitalCompositeMask16
kSyncDigitalCompositeSerrateMask4
kSyncDigitalCompositeMatchHSyncMask4
kSyncDigitalSeperateMask24
kSyncDigitalVSyncPositiveMask4
kSyncDigitalHSyncPositiveMask2

structVDDisplayTimingRangeRec

size 240, align 8
UInt32csRangeSizeInit to sizeof(VDDisplayTimingRangeRec)
UInt32csRangeTypeInit to 0
UInt32csRangeVersionInit to 0
UInt32csRangeReservedInit to 0
UInt32csRangeBlockIndexRequested block (first index is 0)
UInt32csRangeGroupset to 0
UInt32csRangeBlockCount# blocks
UInt32csRangeFlagsdependent video
UInt64csMinPixelClockMin dot clock in Hz
UInt64csMaxPixelClockMax dot clock in Hz
UInt32csMaxPixelErrorMax dot clock error
UInt32csTimingRangeSyncFlags
UInt32csTimingRangeSignalLevels
UInt32csTimingRangeSupportedSignalConfigs
UInt32csMinFrameRateHz
UInt32csMaxFrameRateHz
UInt32csMinLineRateHz
UInt32csMaxLineRateHz
UInt32csMaxHorizontalTotalClocks - Maximum total (active + blanking)
UInt32csMaxVerticalTotalClocks - Maximum total (active + blanking)
UInt32csMaxTotalReserved1Reserved
UInt32csMaxTotalReserved2Reserved
UInt8csCharSizeHorizontalActiveCharacter size
UInt8csCharSizeHorizontalBlankingCharacter size
UInt8csCharSizeHorizontalSyncOffsetCharacter size
UInt8csCharSizeHorizontalSyncPulseCharacter size
UInt8csCharSizeVerticalActiveCharacter size
UInt8csCharSizeVerticalBlankingCharacter size
UInt8csCharSizeVerticalSyncOffsetCharacter size
UInt8csCharSizeVerticalSyncPulseCharacter size
UInt8csCharSizeHorizontalBorderLeftCharacter size
UInt8csCharSizeHorizontalBorderRightCharacter size
UInt8csCharSizeVerticalBorderTopCharacter size
UInt8csCharSizeVerticalBorderBottomCharacter size
UInt8csCharSizeHorizontalTotalCharacter size for active + blanking
UInt8csCharSizeVerticalTotalCharacter size for active + blanking
UInt16csCharSizeReserved1Reserved (Init to 0)
UInt32csMinHorizontalActiveClocks
UInt32csMaxHorizontalActiveClocks
UInt32csMinHorizontalBlankingClocks
UInt32csMaxHorizontalBlankingClocks
UInt32csMinHorizontalSyncOffsetClocks
UInt32csMaxHorizontalSyncOffsetClocks
UInt32csMinHorizontalPulseWidthClocks
UInt32csMaxHorizontalPulseWidthClocks
UInt32csMinVerticalActiveClocks
UInt32csMaxVerticalActiveClocks
UInt32csMinVerticalBlankingClocks
UInt32csMaxVerticalBlankingClocks
UInt32csMinVerticalSyncOffsetClocks
UInt32csMaxVerticalSyncOffsetClocks
UInt32csMinVerticalPulseWidthClocks
UInt32csMaxVerticalPulseWidthClocks
UInt32csMinHorizontalBorderLeft
UInt32csMaxHorizontalBorderLeft
UInt32csMinHorizontalBorderRight
UInt32csMaxHorizontalBorderRight
UInt32csMinVerticalBorderTop
UInt32csMaxVerticalBorderTop
UInt32csMinVerticalBorderBottom
UInt32csMaxVerticalBorderBottom
UInt32csMaxNumLinksnumber of links, if zero, assume link 1
UInt32csMinLink0PixelClockmin pixel clock for link 0 (kHz)
UInt32csMaxLink0PixelClockmax pixel clock for link 0 (kHz)
UInt32csMinLink1PixelClockmin pixel clock for link 1 (kHz)
UInt32csMaxLink1PixelClockmax pixel clock for link 1 (kHz)
UInt32csReserved6Reserved (Init to 0)
UInt32csReserved7Reserved (Init to 0)
UInt32csReserved8Reserved (Init to 0)

typedefVDDisplayTimingRangeRec

typedef struct VDDisplayTimingRangeRec VDDisplayTimingRangeRec

typedefVDDisplayTimingRangePtr

typedef VDDisplayTimingRangeRec * VDDisplayTimingRangePtr

enum(anonymous)

underlying type unsigned int
kDMSModeReady0csDisplayModeState Display Mode ID is configured and ready
kDMSModeNotReady1Display Mode ID is is being programmed
kDMSModeFree2Display Mode ID is not associated with a timing

enum(anonymous)

Video driver Errors -10930 to -10959
underlying type int
kTimingChangeRestrictedErr-10930
kVideoI2CReplyPendingErr-10931
kVideoI2CTransactionErr-10932
kVideoI2CBusyErr-10933
kVideoI2CTransactionTypeErr-10934
kVideoBufferSizeErr-10935
kVideoCannotMirrorErr-10936

enum(anonymous)

underlying type unsigned int
kRangeSupportsSignal_0700_0300_Bit0csTimingRangeSignalLevels
kRangeSupportsSignal_0714_0286_Bit1
kRangeSupportsSignal_1000_0400_Bit2
kRangeSupportsSignal_0700_0000_Bit3
kRangeSupportsSignal_0700_0300_Mask1
kRangeSupportsSignal_0714_0286_Mask2
kRangeSupportsSignal_1000_0400_Mask4
kRangeSupportsSignal_0700_0000_Mask8

enum(anonymous)

underlying type unsigned int
kDigitalSignalBit0csSignalConfig Do not set. Mac OS does not currently support arbitrary digital timings
kAnalogSetupExpectedBit1Analog displays - display expects a blank-to-black setup or pedestal. See VESA signal standards.
kInterlacedCEA861SyncModeBit2
kDigitalSignalMask1
kAnalogSetupExpectedMask2
kInterlacedCEA861SyncModeMask4

enum(anonymous)

underlying type unsigned int
kAnalogSignalLevel_0700_03000csSignalLevels for analog
kAnalogSignalLevel_0714_02861
kAnalogSignalLevel_1000_04002
kAnalogSignalLevel_0700_00003

enum(anonymous)

underlying type unsigned int
kRangeSupportsSeperateSyncsBit0csTimingRangeSyncFlags
kRangeSupportsSyncOnGreenBit1
kRangeSupportsCompositeSyncBit2
kRangeSupportsVSyncSerrationBit3
kRangeSupportsSeperateSyncsMask1
kRangeSupportsSyncOnGreenMask2
kRangeSupportsCompositeSyncMask4
kRangeSupportsVSyncSerrationMask8

enum(anonymous)

underlying type unsigned int
kSyncPositivePolarityBit0csHorizontalSyncConfig and csVerticalSyncConfig Digital separate sync polarity for analog interfaces (0 => negative polarity)
kSyncPositivePolarityMask1

structVDDetailedTimingRec

size 160, align 8
UInt32csTimingSizeInit to sizeof(VDDetailedTimingRec)
UInt32csTimingTypeInit to 0
UInt32csTimingVersionInit to 0
UInt32csTimingReservedInit to 0
DisplayModeIDcsDisplayModeIDInit to 0
UInt32csDisplayModeSeed
UInt32csDisplayModeStateDisplay Mode state
UInt32csDisplayModeAliasMode to use when programmed.
UInt32csSignalConfig
UInt32csSignalLevels
UInt64csPixelClockHz
UInt64csMinPixelClockHz - With error what is slowest actual clock
UInt64csMaxPixelClockHz - With error what is fasted actual clock
UInt32csHorizontalActivePixels
UInt32csHorizontalBlankingPixels
UInt32csHorizontalSyncOffsetPixels
UInt32csHorizontalSyncPulseWidthPixels
UInt32csVerticalActiveLines
UInt32csVerticalBlankingLines
UInt32csVerticalSyncOffsetLines
UInt32csVerticalSyncPulseWidthLines
UInt32csHorizontalBorderLeftPixels
UInt32csHorizontalBorderRightPixels
UInt32csVerticalBorderTopLines
UInt32csVerticalBorderBottomLines
UInt32csHorizontalSyncConfig
UInt32csHorizontalSyncLevelFuture use (init to 0)
UInt32csVerticalSyncConfig
UInt32csVerticalSyncLevelFuture use (init to 0)
UInt32csNumLinksnumber of links, if 0 = assume link - 0
UInt32csReserved2Init to 0
UInt32csReserved3Init to 0
UInt32csReserved4Init to 0
UInt32csReserved5Init to 0
UInt32csReserved6Init to 0
UInt32csReserved7Init to 0
UInt32csReserved8Init to 0

typedefVDDetailedTimingRec

typedef struct VDDetailedTimingRec VDDetailedTimingRec

typedefVDDetailedTimingPtr

typedef VDDetailedTimingRec * VDDetailedTimingPtr

enum(anonymous)

csScalerFeatures
underlying type unsigned int
kScaleStretchOnlyMask1True means the driver cannot add borders to avoid non-square pixels
kScaleCanUpSamplePixelsMask2True means timings with more active clocks than pixels (ie 640x480 pixels on a 1600x1200 timing)
kScaleCanDownSamplePixelsMask4True means timings with fewer active clocks than pixels (ie 1600x1200 pixels on a 640x480 timing)
kScaleCanScaleInterlacedMask8True means can scale an interlaced timing
kScaleCanSupportInsetMask16True means can scale a timing with insets
kScaleCanRotateMask32True means can rotate image
kScaleCanBorderInsetOnlyMask64True means can scale a timing with insets

enum(anonymous)

csScalerFlags
underlying type unsigned int
kScaleStretchToFitMask1True means the driver should avoid borders and allow non-square pixels
kScaleRotateFlagsMask240
kScaleSwapAxesMask16
kScaleInvertXMask32
kScaleInvertYMask64
kScaleRotate0Mask0
kScaleRotate90Mask48
kScaleRotate180Mask96
kScaleRotate270Mask80

typedefVDClutBehavior

typedef UInt32 VDClutBehavior

typedefVDClutBehaviorPtr

typedef VDClutBehavior * VDClutBehaviorPtr

enum(anonymous)

underlying type unsigned int
kSetClutAtSetEntries0SetEntries behavior is to update clut during SetEntries call
kSetClutAtVBL1SetEntries behavior is to upate clut at next vbl

structVDCommunicationRec

size 80, align 8
SInt32csBusIDkVideoDefaultBus for single headed cards.
UInt32csCommFlagsAlways zero
UInt32csMinReplyDelayMinimum delay between send and reply transactions (units depend on csCommFlags)
UInt32csReserved2Always zero
UInt32csSendAddressUsually I2C address (eg 0x6E)
UInt32csSendTypeSee kVideoSimpleI2CType etc.
LogicalAddresscsSendBufferPointer to the send buffer
ByteCountcsSendSizeNumber of bytes to send
UInt32csReplyAddressAddress from which to read (eg 0x6F for kVideoDDCciReplyType I2C address)
UInt32csReplyTypeSee kVideoDDCciReplyType etc.
LogicalAddresscsReplyBufferPointer to the reply buffer
ByteCountcsReplySizeMax bytes to reply (size of csReplyBuffer)
UInt32csReserved3
UInt32csReserved4
UInt32csReserved5Always zero
UInt32csReserved6Always zero

typedefVDCommunicationRec

typedef struct VDCommunicationRec VDCommunicationRec

typedefVDCommunicationPtr

typedef VDCommunicationRec * VDCommunicationPtr

structVDCommunicationInfoRec

size 48, align 4
SInt32csBusIDkVideoDefaultBus for single headed cards.
UInt32csBusTypeSee kVideoBusI2C etc.
SInt32csMinBusMinimum bus (usually kVideoDefaultBus). Used to probe additional busses
SInt32csMaxBusMax bus (usually kVideoDefaultBus). Used to probe additional busses
UInt32csSupportedTypesBit field for first 32 supported transaction types. Eg. 0x07 => support for kVideoNoTransactionType, kVideoSimpleI2CType and kVideoDDCciReplyType.
UInt32csSupportedCommFlagsReturn the flags csCommFlags understood by this driver.
UInt32csReserved2Always zero
UInt32csReserved3Always zero
UInt32csReserved4Always zero
UInt32csReserved5Always zero
UInt32csReserved6Always zero
UInt32csReserved7Always zero

typedefVDCommunicationInfoRec

typedef struct VDCommunicationInfoRec VDCommunicationInfoRec

typedefVDCommunicationInfoPtr

typedef VDCommunicationInfoRec * VDCommunicationInfoPtr

structVDScalerRec

size 64, align 4
UInt32csScalerSizeInit to sizeof(VDScalerRec)
UInt32csScalerVersionInit to 0
UInt32csReserved1Init to 0
UInt32csReserved2Init to 0
DisplayModeIDcsDisplayModeIDDisplay Mode ID modified by this call.
UInt32csDisplayModeSeed
UInt32csDisplayModeStateDisplay Mode state
UInt32csReserved3Init to 0
UInt32csScalerFlagsInit to 0
UInt32csHorizontalPixelsGraphics system addressable pixels
UInt32csVerticalPixelsGraphics system addressable lines
UInt32csHorizontalInsetBorder pixels for underscan
UInt32csVerticalInsetBorder lines for underscan
UInt32csReserved6Init to 0
UInt32csReserved7Init to 0
UInt32csReserved8Init to 0

typedefVDScalerRec

typedef struct VDScalerRec VDScalerRec

typedefVDScalerPtr

typedef VDScalerRec *VDScalerPtr

structVDScalerInfoRec

size 48, align 4
UInt32csScalerInfoSizeInit to sizeof(VDScalerInfoRec)
UInt32csScalerInfoVersionInit to 0
UInt32csReserved1Init to 0
UInt32csReserved2Init to 0
UInt32csScalerFeaturesFeature flags
UInt32csMaxHorizontalPixelslimit to horizontal scaled pixels
UInt32csMaxVerticalPixelslimit to vertical scaled pixels
UInt32csReserved3Init to 0
UInt32csReserved4Init to 0
UInt32csReserved5Init to 0
UInt32csReserved6Init to 0
UInt32csReserved7Init to 0

typedefVDScalerInfoRec

typedef struct VDScalerInfoRec VDScalerInfoRec

typedefVDScalerInfoPtr

typedef VDScalerInfoRec *VDScalerInfoPtr

enum(anonymous)

underlying type unsigned int
kMirrorSameDepthOnlyMirrorMask1csMirrorFeatures Commonly true - Mirroring can only be done if the displays are the same bitdepth
kMirrorSameSizeOnlyMirrorMask2Commonly false - Mirroring can only be done if the displays are the same size
kMirrorSameTimingOnlyMirrorMask4Sometimes true - Mirroring can only be done if the displays are the same timing
kMirrorCommonGammaMask8Sometimes true - Only one gamma correction LUT.

enum(anonymous)

underlying type unsigned int
kMirrorCanMirrorMask1csMirrorSupportedFlags and csMirrorFlags Set means we can HW mirrored right now (uses csMirrorEntryID)
kMirrorAreMirroredMask2Set means we are HW mirrored right now (uses csMirrorEntryID)
kMirrorUnclippedMirrorMask4Set means mirrored displays are not clipped to their intersection
kMirrorHAlignCenterMirrorMask8Set means mirrored displays can/should be centered horizontally
kMirrorVAlignCenterMirrorMask16Set means mirrored displays can/should be centered vertically
kMirrorCanChangePixelFormatMask32Set means mirrored the device should change the pixel format of mirrored displays to allow mirroring.
kMirrorCanChangeTimingMask64Set means mirrored the device should change the timing of mirrored displays to allow mirroring.
kMirrorClippedMirrorMask128Set means mirrored displays are clipped to their intersection (driver handles blacking and base address adjustment)

structVDMirrorRec

size 104, align 8
UInt32csMirrorSizeInit to sizeof(VDMirrorRec)
UInt32csMirrorVersionInit to 0
RegEntryIDcsMirrorRequestIDInput RegEntryID to check for mirroring support and state
RegEntryIDcsMirrorResultIDOutput RegEntryID of the next mirrored device
UInt32csMirrorFeaturesOutput summary features of the driver
UInt32csMirrorSupportedFlagsOutput configuration options supported by the driver
UInt32csMirrorFlagsOutput configuration options active now
UInt32csReserved1Init to 0
UInt32csReserved2Init to 0
UInt32csReserved3Init to 0
UInt32csReserved4Init to 0
UInt32csReserved5Init to 0

typedefVDMirrorRec

typedef struct VDMirrorRec VDMirrorRec

typedefVDMirrorPtr

typedef VDMirrorRec * VDMirrorPtr

structVDConfigurationRec

size 32, align 8
UInt32csConfigFeatureinput what feature to config - always input
UInt32csConfigSupportoutput support value - always output
uintptr_tcsConfigValueinput/output feature value - input on Control(), output on Status()
uintptr_tcsReserved1
uintptr_tcsReserved2

typedefVDConfigurationRec

typedef struct VDConfigurationRec VDConfigurationRec

typedefVDConfigurationPtr

typedef VDConfigurationRec * VDConfigurationPtr

enum(anonymous)

underlying type unsigned int
kDVIPowerSwitchFeature1Used for csConfigFeature
kDVIPowerSwitchSupportMask1Read-only
kDVIPowerSwitchActiveMask1Read/write for csConfigValue

structVDConfigurationFeatureListRec

size 32, align 8
OSType *csConfigFeatureList
ItemCountcsNumConfigFeatures
uintptr_tcsReserved1
uintptr_tcsReserved2

typedefVDConfigurationFeatureListRec

typedef struct VDConfigurationFeatureListRec VDConfigurationFeatureListRec

typedefVDConfigurationFeatureListRecPtr

typedef VDConfigurationFeatureListRec * VDConfigurationFeatureListRecPtr