configure.ac | 10 -- man/Makefile.am | 1 man/XF86VM.man | 169 +++++++++++++++++++++-------------------- man/XF86VidModeAddModeLine.man | 1 src/XF86VMode.c | 60 +++++--------- 5 files changed, 114 insertions(+), 127 deletions(-)
New commits: commit 92d18649e92566ccc3abeba244adabda249cce1b Author: Alan Coopersmith <[email protected]> Date: Mon Feb 23 23:01:54 2015 -0800 libXxf86vm 1.1.4 Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/configure.ac b/configure.ac index ac4c803..cdf365d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([libXxf86vm], [1.1.3], +AC_INIT([libXxf86vm], [1.1.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXxf86vm]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS(src/config.h) commit e13937ebf1da3c062c9d9731f2b49207d9e4ea2a Author: Alan Coopersmith <[email protected]> Date: Fri Jan 9 22:23:31 2015 -0800 Tell the compiler it's unlikely we're talking to an XFree86 3.x server Hint that the current (XFree86 4.0 & later) version of the protocol is most common today. Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/src/XF86VMode.c b/src/XF86VMode.c index d13da14..00eeb26 100644 --- a/src/XF86VMode.c +++ b/src/XF86VMode.c @@ -218,7 +218,7 @@ XF86VidModeGetModeLine(Display* dpy, int screen, int* dotclock, req->xf86vidmodeReqType = X_XF86VidModeGetModeLine; req->screen = screen; - if (majorVersion < 2) { + if (_X_UNLIKELY(majorVersion < 2)) { xXF86OldVidModeGetModeLineReply oldrep; if (!_XReply(dpy, (xReply *)&oldrep, @@ -346,7 +346,7 @@ XF86VidModeGetAllModeLines(Display* dpy, int screen, int* modecount, for (i = 0; i < rep.modecount; i++) { modelines[i] = mdinfptr++; - if (majorVersion < 2) { + if (_X_UNLIKELY(majorVersion < 2)) { _XRead(dpy, (char*)&oldxmdline, sizeof(xXF86OldVidModeModeInfo)); modelines[i]->dotclock = oldxmdline.dotclock; modelines[i]->hdisplay = oldxmdline.hdisplay; @@ -441,7 +441,7 @@ XF86VidModeAddModeLine(Display *dpy, int screen, XF86VidModeQueryVersion(dpy, &majorVersion, &minorVersion); LockDisplay(dpy); - if (majorVersion < 2) { + if (_X_UNLIKELY(majorVersion < 2)) { GetOldReq(XF86VidModeAddModeLine, XF86OldVidModeAddModeLine, oldreq); oldreq->reqType = info->codes->major_opcode; oldreq->xf86vidmodeReqType = X_XF86VidModeAddModeLine; @@ -551,7 +551,7 @@ XF86VidModeDeleteModeLine(Display *dpy, int screen, XF86VidModeQueryVersion(dpy, &majorVersion, &minorVersion); LockDisplay(dpy); - if (majorVersion < 2) { + if (_X_UNLIKELY(majorVersion < 2)) { GetOldReq(XF86VidModeDeleteModeLine, XF86OldVidModeDeleteModeLine, oldreq); oldreq->reqType = info->codes->major_opcode; oldreq->xf86vidmodeReqType = X_XF86VidModeDeleteModeLine; @@ -612,7 +612,7 @@ XF86VidModeModModeLine(Display *dpy, int screen, XF86VidModeModeLine* modeline) XF86VidModeQueryVersion(dpy, &majorVersion, &minorVersion); LockDisplay(dpy); - if (majorVersion < 2) { + if (_X_UNLIKELY(majorVersion < 2)) { GetOldReq(XF86VidModeModModeLine, XF86OldVidModeModModeLine, oldreq); oldreq->reqType = info->codes->major_opcode; oldreq->xf86vidmodeReqType = X_XF86VidModeModModeLine; @@ -674,7 +674,7 @@ XF86VidModeValidateModeLine(Display *dpy, int screen, LockDisplay(dpy); - if (majorVersion < 2) { + if (_X_UNLIKELY(majorVersion < 2)) { GetOldReq(XF86VidModeValidateModeLine, XF86OldVidModeValidateModeLine, oldreq); oldreq->reqType = info->codes->major_opcode; oldreq->xf86vidmodeReqType = X_XF86VidModeValidateModeLine; @@ -766,7 +766,7 @@ XF86VidModeSwitchToMode(Display* dpy, int screen, XF86VidModeModeInfo* modeline) */ XF86VidModeQueryVersion(dpy, &majorVersion, &minorVersion); - if (majorVersion == 0 && minorVersion < 8) { + if (_X_UNLIKELY(majorVersion == 0 && minorVersion < 8)) { protocolBug = True; #ifdef DEBUG fprintf(stderr, "XF86VidModeSwitchToMode: Warning: Xserver is" @@ -776,7 +776,7 @@ XF86VidModeSwitchToMode(Display* dpy, int screen, XF86VidModeModeInfo* modeline) } LockDisplay(dpy); - if (majorVersion < 2) { + if (_X_UNLIKELY(majorVersion < 2)) { GetOldReq(XF86VidModeSwitchToMode, XF86OldVidModeSwitchToMode, oldreq); oldreq->reqType = info->codes->major_opcode; oldreq->xf86vidmodeReqType = X_XF86VidModeSwitchToMode; commit 723f4a1430dad0d495e3c83c7c95edb94e9f4304 Author: Alan Coopersmith <[email protected]> Date: Mon Jan 5 22:52:39 2015 -0800 Discard correct length for old-format replies in XF86VidModeGetGamma Regression introduced in libXxf86vm 1.1.3 / commit 284a88e21fc05a63466 Unlikely to be hit in practice since it requires out-of-range privsize or malloc failure while talking to a server using the XFree86 3.x version of the protocol. Found by Oracle Parfait 1.5.1: Error: Uninitialised memory (CWE 456) Possible access to uninitialised memory '&rep.length' at line 279 of open-src/lib/libXxf86vm/unpacked-src/src/XF86VMode.c in function 'XF86VidModeGetModeLine'. &rep.length allocated at line 218. &rep.length uninitialised when majorVersion < 2 at line 233. Signed-off-by: Alan Coopersmith <[email protected]> Reviewed-by: Matthieu Herrb <[email protected]> diff --git a/src/XF86VMode.c b/src/XF86VMode.c index c7169c7..d13da14 100644 --- a/src/XF86VMode.c +++ b/src/XF86VMode.c @@ -204,10 +204,9 @@ XF86VidModeGetModeLine(Display* dpy, int screen, int* dotclock, XF86VidModeModeLine* modeline) { XExtDisplayInfo *info = find_display (dpy); - xXF86VidModeGetModeLineReply rep; - xXF86OldVidModeGetModeLineReply oldrep; xXF86VidModeGetModeLineReq *req; int majorVersion, minorVersion; + CARD32 remaining_len; Bool result = True; XF86VidModeCheckExtension (dpy, info, False); @@ -220,12 +219,16 @@ XF86VidModeGetModeLine(Display* dpy, int screen, int* dotclock, req->screen = screen; if (majorVersion < 2) { + xXF86OldVidModeGetModeLineReply oldrep; + if (!_XReply(dpy, (xReply *)&oldrep, (SIZEOF(xXF86OldVidModeGetModeLineReply) - SIZEOF(xReply)) >> 2, xFalse)) { UnlockDisplay(dpy); SyncHandle(); return False; } + remaining_len = oldrep.length - + ((SIZEOF(xXF86OldVidModeGetModeLineReply) - SIZEOF(xReply)) >> 2); *dotclock = oldrep.dotclock; modeline->hdisplay = oldrep.hdisplay; modeline->hsyncstart = oldrep.hsyncstart; @@ -239,12 +242,16 @@ XF86VidModeGetModeLine(Display* dpy, int screen, int* dotclock, modeline->flags = oldrep.flags; modeline->privsize = oldrep.privsize; } else { + xXF86VidModeGetModeLineReply rep; + if (!_XReply(dpy, (xReply *)&rep, (SIZEOF(xXF86VidModeGetModeLineReply) - SIZEOF(xReply)) >> 2, xFalse)) { UnlockDisplay(dpy); SyncHandle(); return False; } + remaining_len = rep.length - + ((SIZEOF(xXF86VidModeGetModeLineReply) - SIZEOF(xReply)) >> 2); *dotclock = rep.dotclock; modeline->hdisplay = rep.hdisplay; modeline->hsyncstart = rep.hsyncstart; @@ -265,8 +272,7 @@ XF86VidModeGetModeLine(Display* dpy, int screen, int* dotclock, else modeline->private = NULL; if (modeline->private == NULL) { - _XEatDataWords(dpy, rep.length - - ((SIZEOF(xXF86VidModeGetModeLineReply) - SIZEOF(xReply)) >> 2)); + _XEatDataWords(dpy, remaining_len); result = False; } else _XRead(dpy, (char*)modeline->private, modeline->privsize * sizeof(INT32)); commit f3cdbabadd4626a030e3ac139a333450a462e055 Author: Michael Joost <[email protected]> Date: Mon Nov 18 16:11:26 2013 +0100 Remove fallback for _XEatDataWords, require libX11 1.6 for it _XEatDataWords was orignally introduced with the May 2013 security patches, and in order to ease the process of delivering those, fallback versions of _XEatDataWords were included in the X extension library patches so they could be applied to older versions that didn't have libX11 1.6 yet. Now that we're past that hurdle, we can drop the fallbacks and just require libX11 1.6 for building new versions of the extension libraries. Reviewed-by: Alan Coopersmith <[email protected]> Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/configure.ac b/configure.ac index d0dbcef..ac4c803 100644 --- a/configure.ac +++ b/configure.ac @@ -20,13 +20,7 @@ XORG_DEFAULT_OPTIONS XORG_CHECK_MALLOC_ZERO # Obtain compiler/linker options for depedencies -PKG_CHECK_MODULES(XXF86VM, xproto x11 xextproto xext [xf86vidmodeproto >= 2.2.99.1]) - -# Check for _XEatDataWords function that may be patched into older Xlib release -SAVE_LIBS="$LIBS" -LIBS="$XXF86VM_LIBS" -AC_CHECK_FUNCS([_XEatDataWords]) -LIBS="$SAVE_LIBS" +PKG_CHECK_MODULES(XXF86VM, xproto [x11 >= 1.6] xextproto xext [xf86vidmodeproto >= 2.2.99.1]) AC_CONFIG_FILES([Makefile src/Makefile diff --git a/src/XF86VMode.c b/src/XF86VMode.c index 9407c47..c7169c7 100644 --- a/src/XF86VMode.c +++ b/src/XF86VMode.c @@ -41,17 +41,6 @@ from Kaleb S. KEITHLEY. #include <X11/extensions/extutil.h> #include <limits.h> -#ifndef HAVE__XEATDATAWORDS -static inline void _XEatDataWords(Display *dpy, unsigned long n) -{ -# ifndef LONG64 - if (n >= (ULONG_MAX >> 2)) - _XIOError(dpy); -# endif - _XEatData (dpy, n << 2); -} -#endif - #ifdef DEBUG #include <stdio.h> #endif commit 68a23c66892e973db389db6b12a1d70a0d03b797 Author: Alan Coopersmith <[email protected]> Date: Sat Jul 6 12:48:16 2013 -0700 Add man/XF86VidModeAddModeLine.man file (missed in previous commit) Oops, forgot to git add the shadow man page. Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/man/XF86VidModeAddModeLine.man b/man/XF86VidModeAddModeLine.man new file mode 100644 index 0000000..cf4cb48 --- /dev/null +++ b/man/XF86VidModeAddModeLine.man @@ -0,0 +1 @@ +.so man__libmansuffix__/XF86VM.__libmansuffix__ commit 01adc331604d77e71a42a77619560b59d7a53d26 Author: Alan Coopersmith <[email protected]> Date: Fri Jul 5 21:35:14 2013 -0700 Add XF86VidModeAddModeLine man page The function was actually already described in the man page, and even had a commented out prototype in the man page until it was removed by the cleanup in commit aac92ef0f20f8. So this commit restores the prototype (but doesn't comment it out as before), adds the function to the NAME section, and adds a .so for it. Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/man/Makefile.am b/man/Makefile.am index 89d3172..bd88ffc 100644 --- a/man/Makefile.am +++ b/man/Makefile.am @@ -32,6 +32,7 @@ XF86VM_shadows = \ XF86VidModeQueryVersion \ XF86VidModeGetModeLine \ XF86VidModeGetAllModeLines \ + XF86VidModeAddModeLine \ XF86VidModeDeleteModeLine \ XF86VidModeModModeLine \ XF86VidModeSwitchMode \ diff --git a/man/XF86VM.man b/man/XF86VM.man index fabc4f4..aa03da1 100644 --- a/man/XF86VM.man +++ b/man/XF86VM.man @@ -19,7 +19,7 @@ .. .TH XF86VIDMODE __libmansuffix__ __vendorversion__ .SH NAME -XF86VidModeQueryExtension, XF86VidModeQueryVersion, XF86VidModeSetClientVersion, XF86VidModeGetModeLine, XF86VidModeGetAllModeLines, XF86VidModeDeleteModeLine, XF86VidModeModModeLine, XF86VidModeValidateModeLine, XF86VidModeSwitchMode, XF86VidModeSwitchToMode, XF86VidModeLockModeSwitch, XF86VidModeGetMonitor, XF86VidModeGetViewPort, XF86VidModeSetViewPort, XF86VidModeGetDotClocks, XF86VidModeGetGamma, XF86VidModeSetGamma, XF86VidModeGetGammaRamp, XF86VidModeSetGammaRamp, XF86VidModeGetGammaRampSize, XF86VidModeGetPermissions \- Extension library for the XFree86-VidMode X extension +XF86VidModeQueryExtension, XF86VidModeQueryVersion, XF86VidModeSetClientVersion, XF86VidModeGetModeLine, XF86VidModeGetAllModeLines, XF86VidModeAddModeLine, XF86VidModeDeleteModeLine, XF86VidModeModModeLine, XF86VidModeValidateModeLine, XF86VidModeSwitchMode, XF86VidModeSwitchToMode, XF86VidModeLockModeSwitch, XF86VidModeGetMonitor, XF86VidModeGetViewPort, XF86VidModeSetViewPort, XF86VidModeGetDotClocks, XF86VidModeGetGamma, XF86VidModeSetGamma, XF86VidModeGetGammaRamp, XF86VidModeSetGammaRamp, XF86VidModeGetGammaRampSize, XF86VidModeGetPermissions \- Extension library for the XFree86-VidMode X extension .SH SYNOPSIS .nf @@ -50,6 +50,12 @@ Bool XF86VidModeGetAllModeLines( int *\fImodecount_return\fP\^, XF86VidModeModeInfo ***\fImodesinfo\fP\^); +Bool XF86VidModeAddModeLine( + Display *\fIdisplay\fP\^, + int \fIscreen\fP\^, + XF86VidModeModeInfo *\fImodeline\fP\, + XF86VidModeModeInfo *\fIaftermode\fP\^); + Bool XF86VidModeDeleteModeLine( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, @@ -160,11 +166,9 @@ the next mode, otherwise switch to the previous mode. Indicates that mode switching should be locked, if non-zero. .IP \fImodeline\fP 2i Specifies or returns the timing values for a video mode. -.ig .IP \fIaftermode\fP 2i Specifies the timing values for the video mode after which the new mode will added. -.. .IP \fImodesinfo\fP 2i Returns the timing values and dotclocks for all of the available video modes. @@ -287,7 +291,6 @@ function can be used to change the settings of the current video mode provided the requested settings are valid (e.g. they don't exceed the capabilities of the monitor). .PP -.ig To add a mode to the list of available modes, the .ZN XF86VidModeAddModeLine function can be used. @@ -307,7 +310,6 @@ If the parameter is zero, the mode will be added after the current mode. .PP -.. Modes can be deleted with the .ZN XF86VidModeDeleteModeLine function. The specified mode must match an existing mode. commit 980ed7e7c98606f09e981a52255acd76b335a19a Author: Alan Coopersmith <[email protected]> Date: Mon Jun 24 22:27:37 2013 -0700 Fix a couple sign comparison warnings XF86VMode.c:352:19: warning: comparison of integers of different signs: 'int' and 'CARD32' (aka 'unsigned int') [-Wsign-compare] for (i = 0; i < rep.modecount; i++) { ~ ^ ~~~~~~~~~~~~~ XF86VMode.c:1048:16: warning: comparison of integers of different signs: 'int' and 'CARD32' (aka 'unsigned int') [-Wsign-compare] for (i = 0; i < rep.clocks; i++) { ~ ^ ~~~~~~~~~~ Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/src/XF86VMode.c b/src/XF86VMode.c index c85cbd8..9407c47 100644 --- a/src/XF86VMode.c +++ b/src/XF86VMode.c @@ -299,7 +299,7 @@ XF86VidModeGetAllModeLines(Display* dpy, int screen, int* modecount, XF86VidModeModeInfo *mdinfptr, **modelines; xXF86VidModeModeInfo xmdline; xXF86OldVidModeModeInfo oldxmdline; - int i; + unsigned int i; int majorVersion, minorVersion; Bool protocolBug = False; @@ -1016,7 +1016,7 @@ XF86VidModeGetDotClocks(Display* dpy, int screen, int *flagsPtr, XExtDisplayInfo *info = find_display (dpy); xXF86VidModeGetDotClocksReply rep; xXF86VidModeGetDotClocksReq *req; - int i, *dotclocks; + int *dotclocks; CARD32 dotclk; Bool result = True; @@ -1045,6 +1045,8 @@ XF86VidModeGetDotClocks(Display* dpy, int screen, int *flagsPtr, result = False; } else { + unsigned int i; + for (i = 0; i < rep.clocks; i++) { _XRead(dpy, (char*)&dotclk, 4); dotclocks[i] = dotclk; commit 4219ed8b5cfb832b20cb50a0404b3bd02bc863b4 Author: Alan Coopersmith <[email protected]> Date: Mon Jun 24 22:20:41 2013 -0700 Require ANSI C89 pre-processor, drop pre-C89 token pasting support Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/src/XF86VMode.c b/src/XF86VMode.c index fb94816..c85cbd8 100644 --- a/src/XF86VMode.c +++ b/src/XF86VMode.c @@ -422,7 +422,6 @@ XF86VidModeGetAllModeLines(Display* dpy, int screen, int* modecount, /* * GetReq replacement for use with VidMode protocols earlier than 2.0 */ -#if !defined(UNIXCPP) || defined(ANSICPP) #define GetOldReq(name, oldname, req) \ WORD64ALIGN\ if ((dpy->bufptr + SIZEOF(x##oldname##Req)) > dpy->bufmax)\ @@ -433,18 +432,6 @@ XF86VidModeGetAllModeLines(Display* dpy, int screen, int* modecount, dpy->bufptr += SIZEOF(x##oldname##Req);\ dpy->request++ -#else /* non-ANSI C uses empty comment instead of "##" for token concatenation */ -#define GetOldReq(name, oldname, req) \ - WORD64ALIGN\ - if ((dpy->bufptr + SIZEOF(x/**/oldname/**/Req)) > dpy->bufmax)\ - _XFlush(dpy);\ - req = (x/**/oldname/**/Req *)(dpy->last_req = dpy->bufptr);\ - req->reqType = X_/**/name;\ - req->length = (SIZEOF(x/**/oldname/**/Req))>>2;\ - dpy->bufptr += SIZEOF(x/**/oldname/**/Req);\ - dpy->request++ -#endif - Bool XF86VidModeAddModeLine(Display *dpy, int screen, XF86VidModeModeInfo* newmodeline, commit aac92ef0f20f8ce6592245e9e6ff9d8f7eac3efa Author: Eric S. Raymond <[email protected]> Date: Fri Jun 7 07:14:43 2013 -0400 Enable parsing of C prototypes in the synopsis into prototype markup. diff --git a/man/XF86VM.man b/man/XF86VM.man index ac36724..fabc4f4 100644 --- a/man/XF86VM.man +++ b/man/XF86VM.man @@ -20,91 +20,83 @@ .TH XF86VIDMODE __libmansuffix__ __vendorversion__ .SH NAME XF86VidModeQueryExtension, XF86VidModeQueryVersion, XF86VidModeSetClientVersion, XF86VidModeGetModeLine, XF86VidModeGetAllModeLines, XF86VidModeDeleteModeLine, XF86VidModeModModeLine, XF86VidModeValidateModeLine, XF86VidModeSwitchMode, XF86VidModeSwitchToMode, XF86VidModeLockModeSwitch, XF86VidModeGetMonitor, XF86VidModeGetViewPort, XF86VidModeSetViewPort, XF86VidModeGetDotClocks, XF86VidModeGetGamma, XF86VidModeSetGamma, XF86VidModeGetGammaRamp, XF86VidModeSetGammaRamp, XF86VidModeGetGammaRampSize, XF86VidModeGetPermissions \- Extension library for the XFree86-VidMode X extension -.SH FUNCTIONS +.SH SYNOPSIS .nf -.LP + \&#include <X11/extensions/xf86vmode.h> -.LP + Bool XF86VidModeQueryExtension( Display *\fIdisplay\fP\^, int *\fIevent_base_return\fP\^, int *\fIerror_base_return\fP\^); -.LP + Bool XF86VidModeQueryVersion( Display *\fIdisplay\fP\^, int *\fImajor_version_return\fP\^, int *\fIminor_version_return\fP\^); -.LP + Bool XF86VidModeSetClientVersion( Display *\fIdisplay\fP\^); -.LP + Bool XF86VidModeGetModeLine( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, int *\fIdotclock_return\fP\^, XF86VidModeModeLine *\fImodeline\fP\^); -.LP + Bool XF86VidModeGetAllModeLines( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, int *\fImodecount_return\fP\^, XF86VidModeModeInfo ***\fImodesinfo\fP\^); -.ig -.LP -Bool XF86VidModeAddModeLine( - Display *\fIdisplay\fP\^, - int \fIscreen\fP\^, - XF86VidModeModeInfo *\fImodeline\fP\, - XF86VidModeModeInfo *\fIaftermode\fP\^); -.. -.LP + Bool XF86VidModeDeleteModeLine( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, XF86VidModeModeInfo *\fImodeline\fP\^); -.LP + Bool XF86VidModeModModeLine( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, XF86VidModeModeLine *\fImodeline\fP\^); -.LP + Status XF86VidModeValidateModeLine( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, XF86VidModeModeLine *\fImodeline\fP\^); -.LP + Bool XF86VidModeSwitchMode( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, int \fIzoom\fP\^); -.LP + Bool XF86VidModeSwitchToMode( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, XF86VidModeModeInfo *\fImodeline\fP\^); -.LP + Bool XF86VidModeLockModeSwitch( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, int \fIlock\fP\^); -.LP + Bool XF86VidModeGetMonitor( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, XF86VidModeMonitor *\fImonitor\fP\^); -.LP + Bool XF86VidModeGetViewPort( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, int *\fIx_return\fP\^, int *\fIy_return\fP\^); -.LP + Bool XF86VidModeSetViewPort( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, int \fIx\fP\^, int \fIy\fP\^); -.LP + XF86VidModeGetDotClocks( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, @@ -112,17 +104,17 @@ XF86VidModeGetDotClocks( int *\fInumber of clocks return\fP\^, int *\fImax dot clock return\fP\^, int **\fIclocks return\fP\^); -.LP + XF86VidModeGetGamma( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, XF86VidModeGamma *\fIGamma\fP\^); -.LP + XF86VidModeSetGamma( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, XF86VidModeGamma *\fIGamma\fP\^); -.LP + XF86VidModeGetGammaRamp( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, @@ -130,7 +122,7 @@ XF86VidModeGetGammaRamp( unsigned short *\fIred array\fP\^, unsigned short *\fIgreen array\fP\^, unsigned short *\fIblue array\fP\^); -.LP + XF86VidModeSetGammaRamp( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, @@ -138,7 +130,7 @@ XF86VidModeSetGammaRamp( unsigned short *\fIred array\fP\^, unsigned short *\fIgreen array\fP\^, unsigned short *\fIblue array\fP\^); -.LP + XF86VidModeGetGammaRampSize( Display *\fIdisplay\fP\^, int \fIscreen\fP\^, commit 3897537c9b79521d498112988e668815067301b1 Author: Eric S. Raymond <[email protected]> Date: Fri Jun 7 07:01:28 2013 -0400 Eliminate use of .ta. diff --git a/man/XF86VM.man b/man/XF86VM.man index 97431b1..ac36724 100644 --- a/man/XF86VM.man +++ b/man/XF86VM.man @@ -5,10 +5,22 @@ .ie t \fB\^\\$1\^\fR\\$2 .el \fI\^\\$1\^\fP\\$2 .. +.de EX +.RS +.nf +.sp 1 +.ft CW +.. +.de EE +.ft +.sp 1 +.fi +.RE +.. .TH XF86VIDMODE __libmansuffix__ __vendorversion__ .SH NAME XF86VidModeQueryExtension, XF86VidModeQueryVersion, XF86VidModeSetClientVersion, XF86VidModeGetModeLine, XF86VidModeGetAllModeLines, XF86VidModeDeleteModeLine, XF86VidModeModModeLine, XF86VidModeValidateModeLine, XF86VidModeSwitchMode, XF86VidModeSwitchToMode, XF86VidModeLockModeSwitch, XF86VidModeGetMonitor, XF86VidModeGetViewPort, XF86VidModeSetViewPort, XF86VidModeGetDotClocks, XF86VidModeGetGamma, XF86VidModeSetGamma, XF86VidModeGetGammaRamp, XF86VidModeSetGammaRamp, XF86VidModeGetGammaRampSize, XF86VidModeGetPermissions \- Extension library for the XFree86-VidMode X extension -.SH SYNTAX +.SH FUNCTIONS .nf .LP \&#include <X11/extensions/xf86vmode.h> @@ -175,72 +187,73 @@ Specifies the desired Y location for the viewport. .IP \fIy_return\fP 2i Returns the current Y location of the viewport. .SH STRUCTURES -.nf -.ta 2.25i 3.5i \fIVideo Mode Settings:\fP +.EX typedef struct { - unsigned short hdisplay; /\(** Number of display pixels horizontally */ - unsigned short hsyncstart; /\(** Horizontal sync start */ - unsigned short hsyncend; /\(** Horizontal sync end */ - unsigned short htotal; /\(** Total horizontal pixels */ - unsigned short vdisplay; /\(** Number of display pixels vertically */ - unsigned short vsyncstart; /\(** Vertical sync start */ - unsigned short vsyncend; /\(** Vertical sync start */ - unsigned short vtotal; /\(** Total vertical pixels */ - unsigned int flags; /\(** Mode flags */ - int privsize; /\(** Size of private */ - INT32 *private; /\(** Server privates */ + unsigned short hdisplay; /\(** Number of display pixels horizontally */ + unsigned short hsyncstart; /\(** Horizontal sync start */ + unsigned short hsyncend; /\(** Horizontal sync end */ + unsigned short htotal; /\(** Total horizontal pixels */ + unsigned short vdisplay; /\(** Number of display pixels vertically */ + unsigned short vsyncstart; /\(** Vertical sync start */ + unsigned short vsyncend; /\(** Vertical sync start */ + unsigned short vtotal; /\(** Total vertical pixels */ + unsigned int flags; /\(** Mode flags */ + int privsize; /\(** Size of private */ + INT32 *private; /\(** Server privates */ } XF86VidModeModeLine; -.sp + typedef struct { - unsigned int dotclock; /\(** Pixel clock */ - unsigned short hdisplay; /\(** Number of display pixels horizontally */ - unsigned short hsyncstart; /\(** Horizontal sync start */ - unsigned short hsyncend; /\(** Horizontal sync end */ - unsigned short htotal; /\(** Total horizontal pixels */ - unsigned short vdisplay; /\(** Number of display pixels vertically */ - unsigned short vsyncstart; /\(** Vertical sync start */ - unsigned short vsyncend; /\(** Vertical sync start */ - unsigned short vtotal; /\(** Total vertical pixels */ - unsigned int flags; /\(** Mode flags */ - int privsize; /\(** Size of private */ - INT32 *private; /\(** Server privates */ + unsigned int dotclock; /\(** Pixel clock */ + unsigned short hdisplay; /\(** Number of display pixels horizontally */ + unsigned short hsyncstart; /\(** Horizontal sync start */ + unsigned short hsyncend; /\(** Horizontal sync end */ + unsigned short htotal; /\(** Total horizontal pixels */ + unsigned short vdisplay; /\(** Number of display pixels vertically */ + unsigned short vsyncstart; /\(** Vertical sync start */ + unsigned short vsyncend; /\(** Vertical sync start */ + unsigned short vtotal; /\(** Total vertical pixels */ + unsigned int flags; /\(** Mode flags */ + int privsize; /\(** Size of private */ + INT32 *private; /\(** Server privates */ } XF86VidModeModeInfo; +.EE .LP \fIMonitor information:\fP +.EX typedef struct { - char* vendor; /\(** Name of manufacturer */ - char* model; /\(** Model name */ - float EMPTY; /\(** unused, for backward compatibility */ - unsigned char nhsync; /\(** Number of horiz sync ranges */ - XF86VidModeSyncRange* hsync; /\(** Horizontal sync ranges */ - unsigned char nvsync; /\(** Number of vert sync ranges */ - XF86VidModeSyncRange* vsync; /\(** Vertical sync ranges */ + char* vendor; /\(** Name of manufacturer */ + char* model; /\(** Model name */ + float EMPTY; /\(** unused, for backward compatibility */ + unsigned char nhsync; /\(** Number of horiz sync ranges */ + XF86VidModeSyncRange* hsync; /\(** Horizontal sync ranges */ + unsigned char nvsync; /\(** Number of vert sync ranges */ + XF86VidModeSyncRange* vsync; /\(** Vertical sync ranges */ } XF86VidModeMonitor; -.sp + typedef struct { - float hi; /\(** Top of range */ - float lo; /\(** Bottom of range */ + float hi; /\(** Top of range */ + float lo; /\(** Bottom of range */ } XF86VidModeSyncRange; -.LP + 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 */ + 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; -.LP + typedef struct { - float red; /\(** Red Gamma value */ - float green; /\(** Green Gamma value */ - float blue; /\(** Blue Gamma value */ + float red; /\(** Red Gamma value */ + float green; /\(** Green Gamma value */ + float blue; /\(** Blue Gamma value */ } XF86VidModeGamma; -.fi +.EE .SH DESCRIPTION These functions provide an interface to the server extension \fIXFree86-VidModeExtension\fP -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: https://lists.debian.org/[email protected]

