b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Prototypes for DGA functions that the DDX must provide */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#ifdef HAVE_DIX_CONFIG_H
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#include <dix-config.h>
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#ifndef _VIDMODEPROC_H_
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define _VIDMODEPROC_H_
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef enum {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_H_DISPLAY,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_H_SYNCSTART,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_H_SYNCEND,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_H_TOTAL,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_H_SKEW,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_V_DISPLAY,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_V_SYNCSTART,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_V_SYNCEND,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_V_TOTAL,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_FLAGS,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_CLOCK
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync} VidModeSelectMode;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef enum {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_MON_VENDOR,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_MON_MODEL,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_MON_NHSYNC,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_MON_NVREFRESH,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_MON_HSYNC_LO,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_MON_HSYNC_HI,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_MON_VREFRESH_LO,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync VIDMODE_MON_VREFRESH_HI
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync} VidModeSelectMonitor;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef union {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync pointer ptr;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync int i;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync float f;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync} vidMonitorValue;
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void XFree86VidModeExtensionInit(void);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeAvailable(int scrnIndex);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeGetCurrentModeline(int scrnIndex, pointer *mode, int *dotClock);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeGetFirstModeline(int scrnIndex, pointer *mode, int *dotClock);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeGetNextModeline(int scrnIndex, pointer *mode, int *dotClock);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeDeleteModeline(int scrnIndex, pointer mode);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeZoomViewport(int scrnIndex, int zoom);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeGetViewPort(int scrnIndex, int *x, int *y);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeSetViewPort(int scrnIndex, int x, int y);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeSwitchMode(int scrnIndex, pointer mode);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeLockZoom(int scrnIndex, Bool lock);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeGetMonitor(int scrnIndex, pointer *monitor);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int VidModeGetNumOfClocks(int scrnIndex, Bool *progClock);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeGetClocks(int scrnIndex, int *Clocks);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT ModeStatus VidModeCheckModeForMonitor(int scrnIndex, pointer mode);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT ModeStatus VidModeCheckModeForDriver(int scrnIndex, pointer mode);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void VidModeSetCrtcForMode(int scrnIndex, pointer mode);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeAddModeline(int scrnIndex, pointer mode);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int VidModeGetDotClock(int scrnIndex, int Clock);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int VidModeGetNumOfModes(int scrnIndex);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeSetGamma(int scrnIndex, float red, float green, float blue);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeGetGamma(int scrnIndex, float *red, float *green, float *blue);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT pointer VidModeCreateMode(void);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void VidModeCopyMode(pointer modefrom, pointer modeto);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int VidModeGetModeValue(pointer mode, int valtyp);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT void VidModeSetModeValue(pointer mode, int valtyp, int val);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT vidMonitorValue VidModeGetMonitorValue(pointer monitor, int valtyp, int indx);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeSetGammaRamp(int, int, CARD16 *, CARD16 *, CARD16 *);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT Bool VidModeGetGammaRamp(int, int, CARD16 *, CARD16 *, CARD16 *);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncextern _X_EXPORT int VidModeGetGammaRampSize(int scrnIndex);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync