summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-08-26 16:09:15 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-08-27 11:13:05 +1000
commitb49fcb355eb1469352eb25ba3dbcf2863cfe5642 (patch)
treeb2f4d2e8ecebf211fe3e84003a9f211793cbf559
parentf2a1073b3027c508e01beca9ca34bbc6c90f5e6b (diff)
Move the xf86vmode.h header from the proto package to here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--configure.ac2
-rw-r--r--include/X11/extensions/xf86vmode.h298
-rw-r--r--src/Makefile.am5
-rw-r--r--src/XF86VMode.c1
4 files changed, 305 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 2259530..cca1b09 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15,7 +15,7 @@ AC_PROG_LIBTOOL
XORG_CWARNFLAGS
# Checks for pkg-config packages
-PKG_CHECK_MODULES(XXF86VM, xproto x11 xextproto xext xf86vidmodeproto)
+PKG_CHECK_MODULES(XXF86VM, xproto x11 xextproto xext [xf86vidmodeproto >= 2.2.99.1])
XORG_CHECK_MALLOC_ZERO
XORG_MANPAGE_SECTIONS
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
diff --git a/src/Makefile.am b/src/Makefile.am
index 3487d5c..8ae10ae 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -5,3 +5,8 @@ libXxf86vm_la_SOURCES = XF86VMode.c
AM_CFLAGS = $(XXF86VM_CFLAGS) $(MALLOC_ZERO_CFLAGS)
libXxf86vm_la_LIBADD = $(XXF86VM_LIBS)
libXxf86vm_la_LDFLAGS = -version-number 1:0:0
+
+INCLUDES = -I$(top_srcdir)/include
+
+libXxf86vmincludedir = $(includedir)/X11/extensions
+libXxf86vminclude_HEADERS = $(top_srcdir)/include/X11/extensions/xf86vmode.h
diff --git a/src/XF86VMode.c b/src/XF86VMode.c
index 7b33ff0..de6cb83 100644
--- a/src/XF86VMode.c
+++ b/src/XF86VMode.c
@@ -34,6 +34,7 @@ from Kaleb S. KEITHLEY.
#define NEED_REPLIES
#include <X11/Xlibint.h>
#include <X11/extensions/xf86vmstr.h>
+#include <X11/extensions/xf86vmode.h>
#include <X11/extensions/Xext.h>
#include <X11/extensions/extutil.h>