summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-04-06 14:18:25 -0700
committerKeith Packard <keithp@keithp.com>2010-04-06 14:18:25 -0700
commit06e666b9008372a128b31ab00f17e0fc1bff86ad (patch)
tree4673524a9e448d9f12a492d3a3bde94f4aac2122
parent092529db454d9ac94b911ebb53a9ecb67352f174 (diff)
parented7696f81aa30ccd1c2a5e3d0ac87c3ef52e1fd8 (diff)
Merge remote branch 'xf86vidmodeproto/master'
-rw-r--r--xf86vidmodeproto/.gitignore78
-rw-r--r--xf86vidmodeproto/COPYING25
-rw-r--r--xf86vidmodeproto/Makefile.am21
-rw-r--r--xf86vidmodeproto/README29
-rwxr-xr-xxf86vidmodeproto/autogen.sh12
-rw-r--r--xf86vidmodeproto/configure.ac13
-rw-r--r--xf86vidmodeproto/xf86vidmodeproto.pc.in9
-rw-r--r--xf86vidmodeproto/xf86vm.h65
-rw-r--r--xf86vidmodeproto/xf86vmproto.h583
-rw-r--r--xf86vidmodeproto/xf86vmstr.h3
10 files changed, 838 insertions, 0 deletions
diff --git a/xf86vidmodeproto/.gitignore b/xf86vidmodeproto/.gitignore
new file mode 100644
index 0000000..1b8dced
--- /dev/null
+++ b/xf86vidmodeproto/.gitignore
@@ -0,0 +1,78 @@
+#
+# X.Org module default exclusion patterns
+# The next section if for module specific patterns
+#
+# Do not edit the following section
+# GNU Build System (Autotools)
+aclocal.m4
+autom4te.cache/
+autoscan.log
+ChangeLog
+compile
+config.guess
+config.h
+config.h.in
+config.log
+config-ml.in
+config.py
+config.status
+config.status.lineno
+config.sub
+configure
+configure.scan
+depcomp
+.deps/
+INSTALL
+install-sh
+.libs/
+libtool
+libtool.m4
+ltmain.sh
+lt~obsolete.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+Makefile
+Makefile.in
+mdate-sh
+missing
+mkinstalldirs
+*.pc
+py-compile
+stamp-h?
+symlink-tree
+texinfo.tex
+ylwrap
+
+# Do not edit the following section
+# Edit Compile Debug Document Distribute
+*~
+*.[0-9]
+*.[0-9]x
+*.bak
+*.bin
+core
+*.dll
+*.exe
+*-ISO*.bdf
+*-JIS*.bdf
+*-KOI8*.bdf
+*.kld
+*.ko
+*.ko.cmd
+*.lai
+*.l[oa]
+*.[oa]
+*.obj
+*.patch
+*.so
+*.pcf.gz
+*.pdb
+*.tar.bz2
+*.tar.gz
+#
+# Add & Override patterns for xf86vidmodeproto
+#
+# Edit the following section as needed
+# For example, !report.pc overrides *.pc. See 'man gitignore'
+#
diff --git a/xf86vidmodeproto/COPYING b/xf86vidmodeproto/COPYING
new file mode 100644
index 0000000..bc845c0
--- /dev/null
+++ b/xf86vidmodeproto/COPYING
@@ -0,0 +1,25 @@
+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
diff --git a/xf86vidmodeproto/Makefile.am b/xf86vidmodeproto/Makefile.am
new file mode 100644
index 0000000..3ef126a
--- /dev/null
+++ b/xf86vidmodeproto/Makefile.am
@@ -0,0 +1,21 @@
+xf86vidmodedir = $(includedir)/X11/extensions
+xf86vidmode_HEADERS = \
+ xf86vm.h \
+ xf86vmproto.h \
+ xf86vmstr.h
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = xf86vidmodeproto.pc
+
+
+MAINTAINERCLEANFILES = ChangeLog INSTALL
+
+.PHONY: ChangeLog INSTALL
+
+INSTALL:
+ $(INSTALL_CMD)
+
+ChangeLog:
+ $(CHANGELOG_CMD)
+
+dist-hook: ChangeLog INSTALL
diff --git a/xf86vidmodeproto/README b/xf86vidmodeproto/README
new file mode 100644
index 0000000..fd53bef
--- /dev/null
+++ b/xf86vidmodeproto/README
@@ -0,0 +1,29 @@
+ XFree86 Video Mode Extension
+
+This extension defines a protocol for dynamically configuring modelines and gamma.
+
+Extension name: XFree86-VidModeExtension
+
+All questions regarding this software should be directed at the
+Xorg mailing list:
+
+ http://lists.freedesktop.org/mailman/listinfo/xorg
+
+Please submit bug reports to the Xorg bugzilla:
+
+ https://bugs.freedesktop.org/enter_bug.cgi?product=xorg
+
+The master development code repository can be found at:
+
+ git://anongit.freedesktop.org/git/xorg/proto/xf86vidmodeproto
+
+ http://cgit.freedesktop.org/xorg/proto/xf86vidmodeproto
+
+For patch submission instructions, see:
+
+ http://www.x.org/wiki/Development/Documentation/SubmittingPatches
+
+For more information on the git code manager, see:
+
+ http://wiki.x.org/wiki/GitPage
+
diff --git a/xf86vidmodeproto/autogen.sh b/xf86vidmodeproto/autogen.sh
new file mode 100755
index 0000000..904cd67
--- /dev/null
+++ b/xf86vidmodeproto/autogen.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+ORIGDIR=`pwd`
+cd $srcdir
+
+autoreconf -v --install || exit 1
+cd $ORIGDIR || exit $?
+
+$srcdir/configure --enable-maintainer-mode "$@"
diff --git a/xf86vidmodeproto/configure.ac b/xf86vidmodeproto/configure.ac
new file mode 100644
index 0000000..f1c65e6
--- /dev/null
+++ b/xf86vidmodeproto/configure.ac
@@ -0,0 +1,13 @@
+AC_PREREQ([2.60])
+AC_INIT([XF86VidModeProto], [2.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AM_INIT_AUTOMAKE([foreign dist-bzip2])
+AM_MAINTAINER_MODE
+
+# Require xorg-macros: XORG_DEFAULT_OPTIONS
+m4_ifndef([XORG_MACROS_VERSION],
+ [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.3)
+XORG_DEFAULT_OPTIONS
+
+AC_OUTPUT([Makefile
+ xf86vidmodeproto.pc])
diff --git a/xf86vidmodeproto/xf86vidmodeproto.pc.in b/xf86vidmodeproto/xf86vidmodeproto.pc.in
new file mode 100644
index 0000000..afbb702
--- /dev/null
+++ b/xf86vidmodeproto/xf86vidmodeproto.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: XF86VidModeProto
+Description: XF86VidMode extension headers
+Version: @PACKAGE_VERSION@
+Cflags: -I${includedir}
diff --git a/xf86vidmodeproto/xf86vm.h b/xf86vidmodeproto/xf86vm.h
new file mode 100644
index 0000000..ddf4dac
--- /dev/null
+++ b/xf86vidmodeproto/xf86vm.h
@@ -0,0 +1,65 @@
+/*
+
+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 _XF86VM_H_
+#define _XF86VM_H_
+
+#include <X11/Xmd.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
+
+#endif
diff --git a/xf86vidmodeproto/xf86vmproto.h b/xf86vidmodeproto/xf86vmproto.h
new file mode 100644
index 0000000..0d3955c
--- /dev/null
+++ b/xf86vidmodeproto/xf86vmproto.h
@@ -0,0 +1,583 @@
+/*
+
+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 _XF86VIDMODEPROTO_H_
+#define _XF86VIDMODEPROTO_H_
+
+#include <X11/extensions/xf86vm.h>
+
+#define XF86VIDMODENAME "XFree86-VidModeExtension"
+
+#define XF86VIDMODE_MAJOR_VERSION 2 /* current version numbers */
+#define XF86VIDMODE_MINOR_VERSION 2
+
+#define X_XF86VidModeQueryVersion 0
+#define X_XF86VidModeGetModeLine 1
+#define X_XF86VidModeModModeLine 2
+#define X_XF86VidModeSwitchMode 3
+#define X_XF86VidModeGetMonitor 4
+#define X_XF86VidModeLockModeSwitch 5
+#define X_XF86VidModeGetAllModeLines 6
+#define X_XF86VidModeAddModeLine 7
+#define X_XF86VidModeDeleteModeLine 8
+#define X_XF86VidModeValidateModeLine 9
+#define X_XF86VidModeSwitchToMode 10
+#define X_XF86VidModeGetViewPort 11
+#define X_XF86VidModeSetViewPort 12
+/* new for version 2.x of this extension */
+#define X_XF86VidModeGetDotClocks 13
+#define X_XF86VidModeSetClientVersion 14
+#define X_XF86VidModeSetGamma 15
+#define X_XF86VidModeGetGamma 16
+#define X_XF86VidModeGetGammaRamp 17
+#define X_XF86VidModeSetGammaRamp 18
+#define X_XF86VidModeGetGammaRampSize 19
+#define X_XF86VidModeGetPermissions 20
+/*
+ * major version 0 == uses parameter-to-wire functions in XFree86 libXxf86vm.
+ * major version 1 == uses parameter-to-wire functions hard-coded in xvidtune
+ * client.
+ * major version 2 == uses new protocol version in XFree86 4.0.
+ */
+
+typedef struct _XF86VidModeQueryVersion {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType; /* always X_XF86VidModeQueryVersion */
+ CARD16 length B16;
+} xXF86VidModeQueryVersionReq;
+#define sz_xXF86VidModeQueryVersionReq 4
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 majorVersion B16; /* major version of XF86VidMode */
+ CARD16 minorVersion B16; /* minor version of XF86VidMode */
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86VidModeQueryVersionReply;
+#define sz_xXF86VidModeQueryVersionReply 32
+
+typedef struct _XF86VidModeGetModeLine {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType;
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+} xXF86VidModeGetModeLineReq,
+ xXF86VidModeGetAllModeLinesReq,
+ xXF86VidModeGetMonitorReq,
+ xXF86VidModeGetViewPortReq,
+ xXF86VidModeGetDotClocksReq,
+ xXF86VidModeGetPermissionsReq;
+#define sz_xXF86VidModeGetModeLineReq 8
+#define sz_xXF86VidModeGetAllModeLinesReq 8
+#define sz_xXF86VidModeGetMonitorReq 8
+#define sz_xXF86VidModeGetViewPortReq 8
+#define sz_xXF86VidModeGetDotClocksReq 8
+#define sz_xXF86VidModeGetPermissionsReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 dotclock B32;
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD16 hskew B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD16 pad2 B16;
+ CARD32 flags B32;
+ CARD32 reserved1 B32;
+ CARD32 reserved2 B32;
+ CARD32 reserved3 B32;
+ CARD32 privsize B32;
+} xXF86VidModeGetModeLineReply;
+#define sz_xXF86VidModeGetModeLineReply 52
+
+/* 0.x version */
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 dotclock B32;
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD32 flags B32;
+ CARD32 privsize B32;
+} xXF86OldVidModeGetModeLineReply;
+#define sz_xXF86OldVidModeGetModeLineReply 36
+
+typedef struct {
+ CARD32 dotclock B32;
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD32 hskew B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD16 pad1 B16;
+ CARD32 flags B32;
+ CARD32 reserved1 B32;
+ CARD32 reserved2 B32;
+ CARD32 reserved3 B32;
+ CARD32 privsize B32;
+} xXF86VidModeModeInfo;
+
+/* 0.x version */
+typedef struct {
+ CARD32 dotclock B32;
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD32 flags B32;
+ CARD32 privsize B32;
+} xXF86OldVidModeModeInfo;
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 modecount B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86VidModeGetAllModeLinesReply;
+#define sz_xXF86VidModeGetAllModeLinesReply 32
+
+typedef struct _XF86VidModeAddModeLine {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType; /* always X_XF86VidModeAddMode */
+ CARD16 length B16;
+ CARD32 screen B32; /* could be CARD16 but need the pad */
+ CARD32 dotclock B32;
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD16 hskew B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD16 pad1 B16;
+ CARD32 flags B32;
+ CARD32 reserved1 B32;
+ CARD32 reserved2 B32;
+ CARD32 reserved3 B32;
+ CARD32 privsize B32;
+ CARD32 after_dotclock B32;
+ CARD16 after_hdisplay B16;
+ CARD16 after_hsyncstart B16;
+ CARD16 after_hsyncend B16;
+ CARD16 after_htotal B16;
+ CARD16 after_hskew B16;
+ CARD16 after_vdisplay B16;
+ CARD16 after_vsyncstart B16;
+ CARD16 after_vsyncend B16;
+ CARD16 after_vtotal B16;
+ CARD16 pad2 B16;
+ CARD32 after_flags B32;
+ CARD32 reserved4 B32;
+ CARD32 reserved5 B32;
+ CARD32 reserved6 B32;
+} xXF86VidModeAddModeLineReq;
+#define sz_xXF86VidModeAddModeLineReq 92
+
+/* 0.x version */
+typedef struct _XF86OldVidModeAddModeLine {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType; /* always X_XF86VidModeAddMode */
+ CARD16 length B16;
+ CARD32 screen B32; /* could be CARD16 but need the pad */
+ CARD32 dotclock B32;
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD32 flags B32;
+ CARD32 privsize B32;
+ CARD32 after_dotclock B32;
+ CARD16 after_hdisplay B16;
+ CARD16 after_hsyncstart B16;
+ CARD16 after_hsyncend B16;
+ CARD16 after_htotal B16;
+ CARD16 after_vdisplay B16;
+ CARD16 after_vsyncstart B16;
+ CARD16 after_vsyncend B16;
+ CARD16 after_vtotal B16;
+ CARD32 after_flags B32;
+} xXF86OldVidModeAddModeLineReq;
+#define sz_xXF86OldVidModeAddModeLineReq 60
+
+typedef struct _XF86VidModeModModeLine {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType; /* always X_XF86VidModeModModeLine */
+ CARD16 length B16;
+ CARD32 screen B32; /* could be CARD16 but need the pad */
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD16 hskew B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD16 pad1 B16;
+ CARD32 flags B32;
+ CARD32 reserved1 B32;
+ CARD32 reserved2 B32;
+ CARD32 reserved3 B32;
+ CARD32 privsize B32;
+} xXF86VidModeModModeLineReq;
+#define sz_xXF86VidModeModModeLineReq 48
+
+/* 0.x version */
+typedef struct _XF86OldVidModeModModeLine {
+ CARD8 reqType; /* always XF86OldVidModeReqCode */
+ CARD8 xf86vidmodeReqType; /* always X_XF86OldVidModeModModeLine */
+ CARD16 length B16;
+ CARD32 screen B32; /* could be CARD16 but need the pad */
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD32 flags B32;
+ CARD32 privsize B32;
+} xXF86OldVidModeModModeLineReq;
+#define sz_xXF86OldVidModeModModeLineReq 32
+
+typedef struct _XF86VidModeValidateModeLine {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType;
+ CARD16 length B16;
+ CARD32 screen B32; /* could be CARD16 but need the pad */
+ CARD32 dotclock B32;
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD16 hskew B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD16 pad1 B16;
+ CARD32 flags B32;
+ CARD32 reserved1 B32;
+ CARD32 reserved2 B32;
+ CARD32 reserved3 B32;
+ CARD32 privsize B32;
+} xXF86VidModeDeleteModeLineReq,
+ xXF86VidModeValidateModeLineReq,
+ xXF86VidModeSwitchToModeReq;
+#define sz_xXF86VidModeDeleteModeLineReq 52
+#define sz_xXF86VidModeValidateModeLineReq 52
+#define sz_xXF86VidModeSwitchToModeReq 52
+
+/* 0.x version */
+typedef struct _XF86OldVidModeValidateModeLine {
+ CARD8 reqType; /* always XF86OldVidModeReqCode */
+ CARD8 xf86vidmodeReqType;
+ CARD16 length B16;
+ CARD32 screen B32; /* could be CARD16 but need the pad */
+ CARD32 dotclock B32;
+ CARD16 hdisplay B16;
+ CARD16 hsyncstart B16;
+ CARD16 hsyncend B16;
+ CARD16 htotal B16;
+ CARD16 vdisplay B16;
+ CARD16 vsyncstart B16;
+ CARD16 vsyncend B16;
+ CARD16 vtotal B16;
+ CARD32 flags B32;
+ CARD32 privsize B32;
+} xXF86OldVidModeDeleteModeLineReq,
+ xXF86OldVidModeValidateModeLineReq,
+ xXF86OldVidModeSwitchToModeReq;
+#define sz_xXF86OldVidModeDeleteModeLineReq 36
+#define sz_xXF86OldVidModeValidateModeLineReq 36
+#define sz_xXF86OldVidModeSwitchToModeReq 36
+
+typedef struct _XF86VidModeSwitchMode {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType; /* always X_XF86VidModeSwitchMode */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 zoom B16;
+} xXF86VidModeSwitchModeReq;
+#define sz_xXF86VidModeSwitchModeReq 8
+
+typedef struct _XF86VidModeLockModeSwitch {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType; /* always X_XF86VidModeLockModeSwitch */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 lock B16;
+} xXF86VidModeLockModeSwitchReq;
+#define sz_xXF86VidModeLockModeSwitchReq 8
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 status B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86VidModeValidateModeLineReply;
+#define sz_xXF86VidModeValidateModeLineReply 32
+
+typedef struct {
+ BYTE type; /* X_Reply */
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD8 vendorLength;
+ CARD8 modelLength;
+ CARD8 nhsync;
+ CARD8 nvsync;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86VidModeGetMonitorReply;
+#define sz_xXF86VidModeGetMonitorReply 32
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 x B32;
+ CARD32 y B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86VidModeGetViewPortReply;
+#define sz_xXF86VidModeGetViewPortReply 32
+
+typedef struct _XF86VidModeSetViewPort {
+ CARD8 reqType; /* always VidModeReqCode */
+ CARD8 xf86vidmodeReqType; /* always X_XF86VidModeSetViewPort */
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+ CARD32 x B32;
+ CARD32 y B32;
+} xXF86VidModeSetViewPortReq;
+#define sz_xXF86VidModeSetViewPortReq 16
+
+typedef struct {
+ BYTE type;
+ BOOL pad1;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 flags B32;
+ CARD32 clocks B32;
+ CARD32 maxclocks B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+} xXF86VidModeGetDotClocksReply;
+#define sz_xXF86VidModeGetDotClocksReply 32
+
+typedef struct _XF86VidModeSetClientVersion {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType;
+ CARD16 length B16;
+ CARD16 major B16;
+ CARD16 minor B16;
+} xXF86VidModeSetClientVersionReq;
+#define sz_xXF86VidModeSetClientVersionReq 8
+
+typedef struct _XF86VidModeGetGamma {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType;
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+ CARD32 pad6 B32;
+} xXF86VidModeGetGammaReq;
+#define sz_xXF86VidModeGetGammaReq 32
+
+typedef struct {
+ BYTE type;
+ BOOL pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 red B32;
+ CARD32 green B32;
+ CARD32 blue B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xXF86VidModeGetGammaReply;
+#define sz_xXF86VidModeGetGammaReply 32
+
+typedef struct _XF86VidModeSetGamma {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType;
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+ CARD32 red B32;
+ CARD32 green B32;
+ CARD32 blue B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+} xXF86VidModeSetGammaReq;
+#define sz_xXF86VidModeSetGammaReq 32
+
+
+typedef struct _XF86VidModeSetGammaRamp {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType;
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 size B16;
+} xXF86VidModeSetGammaRampReq;
+#define sz_xXF86VidModeSetGammaRampReq 8
+
+typedef struct _XF86VidModeGetGammaRamp {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType;
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 size B16;
+} xXF86VidModeGetGammaRampReq;
+#define sz_xXF86VidModeGetGammaRampReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 size B16;
+ CARD16 pad0 B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86VidModeGetGammaRampReply;
+#define sz_xXF86VidModeGetGammaRampReply 32
+
+typedef struct _XF86VidModeGetGammaRampSize {
+ CARD8 reqType; /* always XF86VidModeReqCode */
+ CARD8 xf86vidmodeReqType;
+ CARD16 length B16;
+ CARD16 screen B16;
+ CARD16 pad B16;
+} xXF86VidModeGetGammaRampSizeReq;
+#define sz_xXF86VidModeGetGammaRampSizeReq 8
+
+typedef struct {
+ BYTE type;
+ BOOL pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD16 size B16;
+ CARD16 pad0 B16;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86VidModeGetGammaRampSizeReply;
+#define sz_xXF86VidModeGetGammaRampSizeReply 32
+
+typedef struct {
+ BYTE type;
+ BOOL pad;
+ CARD16 sequenceNumber B16;
+ CARD32 length B32;
+ CARD32 permissions B32;
+ CARD32 pad1 B32;
+ CARD32 pad2 B32;
+ CARD32 pad3 B32;
+ CARD32 pad4 B32;
+ CARD32 pad5 B32;
+} xXF86VidModeGetPermissionsReply;
+#define sz_xXF86VidModeGetPermissionsReply 32
+
+
+#endif /* _XF86VIDMODEPROTO_H_ */
+
diff --git a/xf86vidmodeproto/xf86vmstr.h b/xf86vidmodeproto/xf86vmstr.h
new file mode 100644
index 0000000..f521335
--- /dev/null
+++ b/xf86vidmodeproto/xf86vmstr.h
@@ -0,0 +1,3 @@
+#warning "xf86vmstr.h is obsolete and may be removed in the future."
+#warning "include <X11/extensions/xf86vmproto.h> for the protocol defines."
+#include <X11/extensions/xf86vmproto.h>