Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XF86VIDMODE(3)		   Library Functions Manual		XF86VIDMODE(3)

NAME
       XF86VidModeQueryExtension,   XF86VidModeQueryVersion,   XF86VidModeSet-
       ClientVersion,	XF86VidModeGetModeLine,	   XF86VidModeGetAllModeLines,
       XF86VidModeAddModeLine,	XF86VidModeDeleteModeLine, XF86VidModeModMode-
       Line, XF86VidModeValidateModeLine,  XF86VidModeSwitchMode,  XF86VidMod-
       eSwitchToMode,	  XF86VidModeLockModeSwitch,	XF86VidModeGetMonitor,
       XF86VidModeGetViewPort,	 XF86VidModeSetViewPort,    XF86VidModeGetDot-
       Clocks,	XF86VidModeGetGamma,  XF86VidModeSetGamma,  XF86VidModeGetGam-
       maRamp, XF86VidModeSetGammaRamp,	XF86VidModeGetGammaRampSize,  XF86Vid-
       ModeGetPermissions - Extension library for the XFree86-VidMode X	exten-
       sion

SYNOPSIS
       #include	<X11/extensions/xf86vmode.h>

       Bool XF86VidModeQueryExtension(
	   Display *display,
	   int *event_base_return,
	   int *error_base_return);

       Bool XF86VidModeQueryVersion(
	   Display *display,
	   int *major_version_return,
	   int *minor_version_return);

       Bool XF86VidModeSetClientVersion(
	   Display *display);

       Bool XF86VidModeGetModeLine(
	   Display *display,
	   int screen,
	   int *dotclock_return,
	   XF86VidModeModeLine *modeline);

       Bool XF86VidModeGetAllModeLines(
	   Display *display,
	   int screen,
	   int *modecount_return,
	   XF86VidModeModeInfo ***modesinfo);

       Bool XF86VidModeAddModeLine(
	   Display *display,
	   int screen,
	   XF86VidModeModeInfo *modeline
	   XF86VidModeModeInfo *aftermode);

       Bool XF86VidModeDeleteModeLine(
	   Display *display,
	   int screen,
	   XF86VidModeModeInfo *modeline);

       Bool XF86VidModeModModeLine(
	   Display *display,
	   int screen,
	   XF86VidModeModeLine *modeline);

       Status XF86VidModeValidateModeLine(
	   Display *display,
	   int screen,
	   XF86VidModeModeLine *modeline);

       Bool XF86VidModeSwitchMode(
	   Display *display,
	   int screen,
	   int zoom);

       Bool XF86VidModeSwitchToMode(
	   Display *display,
	   int screen,
	   XF86VidModeModeInfo *modeline);

       Bool XF86VidModeLockModeSwitch(
	   Display *display,
	   int screen,
	   int lock);

       Bool XF86VidModeGetMonitor(
	   Display *display,
	   int screen,
	   XF86VidModeMonitor *monitor);

       Bool XF86VidModeGetViewPort(
	   Display *display,
	   int screen,
	   int *x_return,
	   int *y_return);

       Bool XF86VidModeSetViewPort(
	   Display *display,
	   int screen,
	   int x,
	   int y);

       XF86VidModeGetDotClocks(
	   Display *display,
	   int screen,
	   int *flags return,
	   int *number of clocks return,
	   int *max dot	clock return,
	   int **clocks	return);

       XF86VidModeGetGamma(
	   Display *display,
	   int screen,
	   XF86VidModeGamma *Gamma);

       XF86VidModeSetGamma(
	   Display *display,
	   int screen,
	   XF86VidModeGamma *Gamma);

       XF86VidModeGetGammaRamp(
	   Display *display,
	   int screen,
	   int size,
	   unsigned short *red array,
	   unsigned short *green array,
	   unsigned short *blue	array);

       XF86VidModeSetGammaRamp(
	   Display *display,
	   int screen,
	   int size,
	   unsigned short *red array,
	   unsigned short *green array,
	   unsigned short *blue	array);

       XF86VidModeGetGammaRampSize(
	   Display *display,
	   int screen,
	   int *size);

ARGUMENTS
       display		   Specifies the connection to the X server.

       screen		   Specifies which screen number the setting apply to.

       event_base_return   Returns the base event number for the extension.

       error_base_return   Returns the base error number for the extension.

       major_version_return
			   Returns the major version number of the extension.

       minor_version_return
			   Returns the minor version number of the extension.

       dotclock_return	   Returns the clock for the mode line.

       modecount_return	   Returns the number of video modes available in  the
			   server.

       zoom		   If  greater	than  zero,  indicates that the	server
			   should switch to the	next mode, otherwise switch to
			   the previous	mode.

       lock		   Indicates  that mode	switching should be locked, if
			   non-zero.

       modeline		   Specifies or	returns	the timing values for a	 video
			   mode.

       aftermode	   Specifies  the timing values	for the	video mode af-
			   ter which the new mode will added.

       modesinfo	   Returns the timing values and dotclocks for all  of
			   the available video modes.

       monitor		   Returns information about the monitor.

       x		   Specifies the desired X location for	the viewport.

       x_return		   Returns the current X location of the viewport.

       y		   Specifies the desired Y location for	the viewport.

       y_return		   Returns the current Y location of the viewport.

STRUCTURES
       Video Mode Settings:
       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 */
       } XF86VidModeModeLine;

       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 */
       } XF86VidModeModeInfo;

       Monitor information:
       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 */
       } XF86VidModeMonitor;

       typedef struct {
	   float       hi;     /* Top of range */
	   float       lo;     /* Bottom of range */
       } XF86VidModeSyncRange;

       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;

DESCRIPTION
       These   functions   provide   an	 interface  to	the  server  extension
       XFree86-VidModeExtension	which allows the video modes to	be queried and
       adjusted	dynamically and	mode switching to be controlled.  Applications
       that use	these functions	must be	linked with -lXxf86vm

   MODELINE FUNCTIONS
       The XF86VidModeGetModeLine function is used to query the	 settings  for
       the  currently  selected	video mode.  The calling program should	pass a
       pointer to a XF86VidModeModeLine	structure that it  has	already	 allo-
       cated.  The function fills in the fields	of the structure.

       If  there  are  any server private values (currently only applicable to
       the S3 server) the function will	allocate storage for them.  Therefore,
       if  the	privsize  field	 is  non-zero, the calling program should call
       Xfree(private) to free the storage.

       XF86VidModeGetAllModeLines returns the settings for  all	 video	modes.
       The calling program supplies the	address	of a pointer which will	be set
       by the function to point	to an array of XF86VidModeModeInfo structures.
       The  memory  occupied  by  the  array  is  dynamically allocated	by the
       XF86VidModeGetAllModeLines function and should be freed by the  caller.
       The first element of the	array corresponds to the current video mode.

       The  XF86VidModeModModeLine 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).

       To  add	a mode to the list of available	modes, the XF86VidModeAddMode-
       Line function can be used.  Assuming the	settings are valid, the	 video
       mode  will  be  added after the existing	mode which matches the timings
       specified by the	aftermode parameter.  To be considered a match,	all of
       the  fields  of the given XF86VidModeModeInfo structure must match, ex-
       cept the	privsize and private fields.  If the  aftermode	 parameter  is
       zero, the mode will be added after the current mode.

       Modes  can be deleted with the XF86VidModeDeleteModeLine	function.  The
       specified mode must match an existing mode.  To be considered a	match,
       all  of	the  fields  of	 the  given XF86VidModeModeInfo	structure must
       match, except the privsize and private  fields.	 If  the  mode	to  be
       deleted	is the current mode, a mode switch to the next mode will occur
       first.  The last	remaining mode can not be deleted.

       The validity of a mode can be checked with the XF86VidModeValidateMode-
       Line  function.	 If the	specified mode can be used by the server (i.e.
       meets all the constraints placed	upon a mode by the combination of  the
       server,	card,  and monitor) the	function returns MODE_OK, otherwise it
       returns a value indicating the reason why the mode is invalid  (as  de-
       fined in	xf86.h)

   MODE	SWITCH FUNCTIONS
       When  the  function  XF86VidModeSwitchMode  is  called, the server will
       change the video	mode to	next (or previous) video mode. The XF86VidMod-
       eSwitchToMode  function can be used to switch directly to the specified
       mode.  Matching is as specified in the description of  the  XF86VidMod-
       eAddModeLine  function  above.	The XF86VidModeLockModeSwitch function
       can be used to allow or disallow	mode switching whether the request  to
       switch modes comes from a call to the XF86VidModeSwitchMode or XF86Vid-
       ModeSwitchToMode	functions or from one  of  the	mode  switch  key  se-
       quences.

       Note:  Because  of the asynchronous nature of the X protocol, a call to
       XFlush is needed	if the application wants to see	the mode change	 imme-
       diately.	 To be informed	of the execution status	of the request,	a cus-
       tom error handler should	be  installed  using  XSetErrorHandler	before
       calling the mode	switching function.

   MONITOR FUNCTIONS
       Information  known  to  the server about	the monitor is returned	by the
       XF86VidModeGetMonitor function.	The hsync and vsync fields each	 point
       to  an  array  of  XF86VidModeSyncRange structures.  The	arrays contain
       nhsync and nvsync elements, respectively.  The hi and low  values  will
       be equal	if a discreate value was given in the XF86Config file.

       The  vendor,  model, hsync, and vsync fields point to dynamically allo-
       cated storage that should be freed by the caller.

   VIEWPORT FUNCTIONS
       The XF86VidModeGetViewPort and XF86VidModeSetViewPort functions can  be
       used  to, respectively, query and change	the location of	the upper left
       corner of the viewport into the virtual screen.

   OTHER FUNCTIONS
       The XF86VidModeQueryVersion function can	be used	to determine the  ver-
       sion of the extension built into	the server.

       The  function XF86VidModeQueryExtension returns the lowest numbered er-
       ror and event values assigned to	the extension.

BUGS
       The XF86VidModeSetClientVersion,	 XF86VidModeGetDotClocks,  XF86VidMod-
       eGetGamma,  XF86VidModeSetGamma,	 XF86VidModeSetGammaRamp,  XF86VidMod-
       eGetGammaRamp, XF86VidModeGetGammaRampSize,  and	 XF86VidModeGetPermis-
       sions  functions	 need  to  be  documented.  In the meantime, check the
       source code for information about how to	use them.

SEE ALSO
       Xorg(1),	xorg.conf(5), XFlush(3), XSetErrorHandler(3), xvidtune(1)

AUTHORS
       Kaleb Keithley, Jon Tombs, David	Dawes, and Joe Moss

X Version 11		       libXxf86vm 1.1.4			XF86VIDMODE(3)

NAME | SYNOPSIS | ARGUMENTS | STRUCTURES | DESCRIPTION | BUGS | SEE ALSO | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=XF86VidModeQueryExtension&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help