summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/X11/extensions/xf86vmode.h298
1 files changed, 298 insertions, 0 deletions
diff --git a/include/X11/extensions/xf86vmode.h b/include/X11/extensions/xf86vmode.h
new file mode 100644
index 0000000..136ce9c
--- /dev/null
+++ b/include/X11/extensions/xf86vmode.h
@@ -0,0 +1,298 @@
+/*
+
+Copyright 1995 Kaleb S. KEITHLEY
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES
+OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of Kaleb S. KEITHLEY
+shall not be used in advertising or otherwise to promote the sale, use
+or other dealings in this Software without prior written authorization
+from Kaleb S. KEITHLEY
+
+*/
+
+/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
+
+#ifndef _XF86VIDMODE_H_
+#define _XF86VIDMODE_H_
+
+#include <X11/Xfuncproto.h>
+#include <X11/Xmd.h>
+#include <X11/extensions/xf86vm.h>
+
+#define CLKFLAG_PROGRAMABLE 1
+
+#ifdef XF86VIDMODE_EVENTS
+#define XF86VidModeNotify 0
+#define XF86VidModeNumberEvents (XF86VidModeNotify + 1)
+
+#define XF86VidModeNotifyMask 0x00000001
+
+#define XF86VidModeNonEvent 0
+#define XF86VidModeModeChange 1
+#else
+#define XF86VidModeNumberEvents 0
+#endif
+
+#define XF86VidModeBadClock 0
+#define XF86VidModeBadHTimings 1
+#define XF86VidModeBadVTimings 2
+#define XF86VidModeModeUnsuitable 3
+#define XF86VidModeExtensionDisabled 4
+#define XF86VidModeClientNotLocal 5
+#define XF86VidModeZoomLocked 6
+#define XF86VidModeNumberErrors (XF86VidModeZoomLocked + 1)
+
+#define XF86VM_READ_PERMISSION 1
+#define XF86VM_WRITE_PERMISSION 2
+
+#ifndef _XF86VIDMODE_SERVER_
+
+typedef struct {
+ unsigned short hdisplay;
+ unsigned short hsyncstart;
+ unsigned short hsyncend;
+ unsigned short htotal;
+ unsigned short hskew;
+ unsigned short vdisplay;
+ unsigned short vsyncstart;
+ unsigned short vsyncend;
+ unsigned short vtotal;
+ unsigned int flags;
+ int privsize;
+#if defined(__cplusplus) || defined(c_plusplus)
+ /* private is a C++ reserved word */
+ INT32 *c_private;
+#else
+ INT32 *private;
+#endif
+} XF86VidModeModeLine;
+
+typedef struct {
+ unsigned int dotclock;
+ unsigned short hdisplay;
+ unsigned short hsyncstart;
+ unsigned short hsyncend;
+ unsigned short htotal;
+ unsigned short hskew;
+ unsigned short vdisplay;
+ unsigned short vsyncstart;
+ unsigned short vsyncend;
+ unsigned short vtotal;
+ unsigned int flags;
+ int privsize;
+#if defined(__cplusplus) || defined(c_plusplus)
+ /* private is a C++ reserved word */
+ INT32 *c_private;
+#else
+ INT32 *private;
+#endif
+} XF86VidModeModeInfo;
+
+typedef struct {
+ float hi;
+ float lo;
+} XF86VidModeSyncRange;
+
+typedef struct {
+ char* vendor;
+ char* model;
+ float EMPTY;
+ unsigned char nhsync;
+ XF86VidModeSyncRange* hsync;
+ unsigned char nvsync;
+ XF86VidModeSyncRange* vsync;
+} XF86VidModeMonitor;
+
+typedef struct {
+ int type; /* of event */
+ unsigned long serial; /* # of last request processed by server */
+ Bool send_event; /* true if this came from a SendEvent req */
+ Display *display; /* Display the event was read from */
+ Window root; /* root window of event screen */
+ int state; /* What happened */
+ int kind; /* What happened */
+ Bool forced; /* extents of new region */
+ Time time; /* event timestamp */
+} XF86VidModeNotifyEvent;
+
+typedef struct {
+ float red; /* Red Gamma value */
+ float green; /* Green Gamma value */
+ float blue; /* Blue Gamma value */
+} XF86VidModeGamma;
+
+
+#define XF86VidModeSelectNextMode(disp, scr) \
+ XF86VidModeSwitchMode(disp, scr, 1)
+#define XF86VidModeSelectPrevMode(disp, scr) \
+ XF86VidModeSwitchMode(disp, scr, -1)
+
+_XFUNCPROTOBEGIN
+
+Bool XF86VidModeQueryVersion(
+ Display* /* dpy */,
+ int* /* majorVersion */,
+ int* /* minorVersion */
+);
+
+Bool XF86VidModeQueryExtension(
+ Display* /* dpy */,
+ int* /* event_base */,
+ int* /* error_base */
+);
+
+Bool XF86VidModeSetClientVersion(
+ Display* /* dpy */
+);
+
+Bool XF86VidModeGetModeLine(
+ Display* /* dpy */,
+ int /* screen */,
+ int* /* dotclock */,
+ XF86VidModeModeLine* /* modeline */
+);
+
+Bool XF86VidModeGetAllModeLines(
+ Display* /* dpy */,
+ int /* screen */,
+ int* /* modecount */,
+ XF86VidModeModeInfo*** /* modelinesPtr */
+);
+
+Bool XF86VidModeAddModeLine(
+ Display* /* dpy */,
+ int /* screen */,
+ XF86VidModeModeInfo* /* new modeline */,
+ XF86VidModeModeInfo* /* after modeline */
+);
+
+Bool XF86VidModeDeleteModeLine(
+ Display* /* dpy */,
+ int /* screen */,
+ XF86VidModeModeInfo* /* modeline */
+);
+
+Bool XF86VidModeModModeLine(
+ Display* /* dpy */,
+ int /* screen */,
+ XF86VidModeModeLine* /* modeline */
+);
+
+Status XF86VidModeValidateModeLine(
+ Display* /* dpy */,
+ int /* screen */,
+ XF86VidModeModeInfo* /* modeline */
+);
+
+Bool XF86VidModeSwitchMode(
+ Display* /* dpy */,
+ int /* screen */,
+ int /* zoom */
+);
+
+Bool XF86VidModeSwitchToMode(
+ Display* /* dpy */,
+ int /* screen */,
+ XF86VidModeModeInfo* /* modeline */
+);
+
+Bool XF86VidModeLockModeSwitch(
+ Display* /* dpy */,
+ int /* screen */,
+ int /* lock */
+);
+
+Bool XF86VidModeGetMonitor(
+ Display* /* dpy */,
+ int /* screen */,
+ XF86VidModeMonitor* /* monitor */
+);
+
+Bool XF86VidModeGetViewPort(
+ Display* /* dpy */,
+ int /* screen */,
+ int* /* x return */,
+ int* /* y return */
+);
+
+Bool XF86VidModeSetViewPort(
+ Display* /* dpy */,
+ int /* screen */,
+ int /* x */,
+ int /* y */
+);
+
+Bool XF86VidModeGetDotClocks(
+ Display* /* dpy */,
+ int /* screen */,
+ int* /* flags return */,
+ int* /* number of clocks return */,
+ int* /* max dot clock return */,
+ int** /* clocks return */
+);
+
+Bool XF86VidModeGetGamma(
+ Display* /* dpy */,
+ int /* screen */,
+ XF86VidModeGamma* /* Gamma */
+);
+
+Bool XF86VidModeSetGamma(
+ Display* /* dpy */,
+ int /* screen */,
+ XF86VidModeGamma* /* Gamma */
+);
+
+Bool XF86VidModeSetGammaRamp(
+ Display* /* dpy */,
+ int /* screen */,
+ int /* size */,
+ unsigned short* /* red array */,
+ unsigned short* /* green array */,
+ unsigned short* /* blue array */
+);
+
+Bool XF86VidModeGetGammaRamp(
+ Display* /* dpy */,
+ int /* screen */,
+ int /* size */,
+ unsigned short* /* red array */,
+ unsigned short* /* green array */,
+ unsigned short* /* blue array */
+);
+
+Bool XF86VidModeGetGammaRampSize(
+ Display* /* dpy */,
+ int /* screen */,
+ int* /* size */
+);
+
+Bool XF86VidModeGetPermissions(
+ Display* /* dpy */,
+ int /* screen */,
+ int* /* permissions */
+);
+
+_XFUNCPROTOEND
+
+#endif
+
+#endif