github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xcb/include/X11/extensions/randrproto.h (about)

     1  /*
     2   * Copyright © 2000 Compaq Computer Corporation
     3   * Copyright © 2002 Hewlett-Packard Company
     4   * Copyright © 2006 Intel Corporation
     5   * Copyright © 2008 Red Hat, Inc.
     6   *
     7   * Permission to use, copy, modify, distribute, and sell this software and its
     8   * documentation for any purpose is hereby granted without fee, provided that
     9   * the above copyright notice appear in all copies and that both that copyright
    10   * notice and this permission notice appear in supporting documentation, and
    11   * that the name of the copyright holders not be used in advertising or
    12   * publicity pertaining to distribution of the software without specific,
    13   * written prior permission.  The copyright holders make no representations
    14   * about the suitability of this software for any purpose.  It is provided "as
    15   * is" without express or implied warranty.
    16   *
    17   * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
    18   * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
    19   * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
    20   * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
    21   * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
    22   * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
    23   * OF THIS SOFTWARE.
    24   *
    25   * Author:  Jim Gettys, Hewlett-Packard Company, Inc.
    26   *	    Keith Packard, Intel Corporation
    27   */
    28  
    29  /* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */
    30  /* V1.0 removes depth switching from the protocol */
    31  #ifndef _XRANDRP_H_
    32  #define _XRANDRP_H_
    33  
    34  #include <X11/extensions/randr.h>
    35  #include <X11/extensions/renderproto.h>
    36  
    37  #define Window CARD32
    38  #define Drawable CARD32
    39  #define Font CARD32
    40  #define Pixmap CARD32
    41  #define Cursor CARD32
    42  #define Colormap CARD32
    43  #define GContext CARD32
    44  #define Atom CARD32
    45  #define Time CARD32
    46  #define KeyCode CARD8
    47  #define KeySym CARD32
    48  #define RROutput CARD32
    49  #define RRMode CARD32
    50  #define RRCrtc CARD32
    51  #define RRProvider CARD32
    52  #define RRModeFlags CARD32
    53  #define RRLease CARD32
    54  
    55  #define Rotation CARD16
    56  #define SizeID CARD16
    57  #define SubpixelOrder CARD16
    58  
    59  /*
    60   * data structures
    61   */
    62  
    63  typedef struct {
    64      CARD16 widthInPixels;
    65      CARD16 heightInPixels;
    66      CARD16 widthInMillimeters;
    67      CARD16 heightInMillimeters;
    68  } xScreenSizes;
    69  #define sz_xScreenSizes 8
    70  
    71  /*
    72   * requests and replies
    73   */
    74  
    75  typedef struct {
    76      CARD8   reqType;
    77      CARD8   randrReqType;
    78      CARD16  length;
    79      CARD32  majorVersion;
    80      CARD32  minorVersion;
    81  } xRRQueryVersionReq;
    82  #define sz_xRRQueryVersionReq   12
    83  
    84  typedef struct {
    85      BYTE    type;   /* X_Reply */
    86      BYTE    pad1;
    87      CARD16  sequenceNumber;
    88      CARD32  length;
    89      CARD32  majorVersion;
    90      CARD32  minorVersion;
    91      CARD32  pad2;
    92      CARD32  pad3;
    93      CARD32  pad4;
    94      CARD32  pad5;
    95  } xRRQueryVersionReply;
    96  #define sz_xRRQueryVersionReply	32
    97  
    98  typedef struct {
    99      CARD8   reqType;
   100      CARD8   randrReqType;
   101      CARD16  length;
   102      Window  window;
   103  } xRRGetScreenInfoReq;
   104  #define sz_xRRGetScreenInfoReq   8
   105  
   106  /*
   107   * the xRRScreenInfoReply structure is followed by:
   108   *
   109   * the size information
   110   */
   111  
   112  
   113  typedef struct {
   114      BYTE    type;   /* X_Reply */
   115      BYTE    setOfRotations;
   116      CARD16  sequenceNumber;
   117      CARD32  length;
   118      Window  root;
   119      Time    timestamp;
   120      Time    configTimestamp;
   121      CARD16  nSizes;
   122      SizeID  sizeID;
   123      Rotation  rotation;
   124      CARD16  rate;
   125      CARD16  nrateEnts;
   126      CARD16  pad;
   127  } xRRGetScreenInfoReply;
   128  #define sz_xRRGetScreenInfoReply	32
   129  
   130  typedef struct {
   131      CARD8    reqType;
   132      CARD8    randrReqType;
   133      CARD16   length;
   134      Drawable drawable;
   135      Time     timestamp;
   136      Time     configTimestamp;
   137      SizeID   sizeID;
   138      Rotation rotation;
   139  } xRR1_0SetScreenConfigReq;
   140  #define sz_xRR1_0SetScreenConfigReq   20
   141  
   142  typedef struct {
   143      CARD8    reqType;
   144      CARD8    randrReqType;
   145      CARD16   length;
   146      Drawable drawable;
   147      Time     timestamp;
   148      Time     configTimestamp;
   149      SizeID   sizeID;
   150      Rotation rotation;
   151      CARD16   rate;
   152      CARD16   pad;
   153  } xRRSetScreenConfigReq;
   154  #define sz_xRRSetScreenConfigReq   24
   155  
   156  typedef struct {
   157      BYTE    type;   /* X_Reply */
   158      CARD8   status;
   159      CARD16  sequenceNumber;
   160      CARD32  length;
   161      Time    newTimestamp;
   162      Time    newConfigTimestamp;
   163      Window  root;
   164      CARD16  subpixelOrder;
   165      CARD16  pad4;
   166      CARD32  pad5;
   167      CARD32  pad6;
   168  } xRRSetScreenConfigReply;
   169  #define sz_xRRSetScreenConfigReply 32
   170  
   171  typedef struct {
   172      CARD8   reqType;
   173      CARD8   randrReqType;
   174      CARD16  length;
   175      Window  window;
   176      CARD16  enable;
   177      CARD16  pad2;
   178  } xRRSelectInputReq;
   179  #define sz_xRRSelectInputReq   12
   180  
   181  /*
   182   * Additions for version 1.2
   183   */
   184  
   185  typedef struct _xRRModeInfo {
   186      RRMode		id;
   187      CARD16		width;
   188      CARD16		height;
   189      CARD32		dotClock;
   190      CARD16		hSyncStart;
   191      CARD16		hSyncEnd;
   192      CARD16		hTotal;
   193      CARD16		hSkew;
   194      CARD16		vSyncStart;
   195      CARD16		vSyncEnd;
   196      CARD16		vTotal;
   197      CARD16		nameLength;
   198      RRModeFlags		modeFlags;
   199  } xRRModeInfo;
   200  #define sz_xRRModeInfo		    32
   201  
   202  typedef struct {
   203      CARD8   reqType;
   204      CARD8   randrReqType;
   205      CARD16  length;
   206      Window  window;
   207  } xRRGetScreenSizeRangeReq;
   208  #define sz_xRRGetScreenSizeRangeReq 8
   209  
   210  typedef struct {
   211      BYTE    type;   /* X_Reply */
   212      CARD8   pad;
   213      CARD16  sequenceNumber;
   214      CARD32  length;
   215      CARD16  minWidth;
   216      CARD16  minHeight;
   217      CARD16  maxWidth;
   218      CARD16  maxHeight;
   219      CARD32  pad0;
   220      CARD32  pad1;
   221      CARD32  pad2;
   222      CARD32  pad3;
   223  } xRRGetScreenSizeRangeReply;
   224  #define sz_xRRGetScreenSizeRangeReply 32
   225  
   226  typedef struct {
   227      CARD8   reqType;
   228      CARD8   randrReqType;
   229      CARD16  length;
   230      Window  window;
   231      CARD16  width;
   232      CARD16  height;
   233      CARD32  widthInMillimeters;
   234      CARD32  heightInMillimeters;
   235  } xRRSetScreenSizeReq;
   236  #define sz_xRRSetScreenSizeReq	    20
   237  
   238  typedef struct {
   239      CARD8   reqType;
   240      CARD8   randrReqType;
   241      CARD16  length;
   242      Window  window;
   243  } xRRGetScreenResourcesReq;
   244  #define sz_xRRGetScreenResourcesReq 8
   245  
   246  typedef struct {
   247      BYTE	type;
   248      CARD8	pad;
   249      CARD16	sequenceNumber;
   250      CARD32	length;
   251      Time	timestamp;
   252      Time	configTimestamp;
   253      CARD16	nCrtcs;
   254      CARD16	nOutputs;
   255      CARD16	nModes;
   256      CARD16	nbytesNames;
   257      CARD32	pad1;
   258      CARD32	pad2;
   259  } xRRGetScreenResourcesReply;
   260  #define sz_xRRGetScreenResourcesReply	32
   261  
   262  typedef struct {
   263      CARD8	reqType;
   264      CARD8	randrReqType;
   265      CARD16	length;
   266      RROutput	output;
   267      Time	configTimestamp;
   268  } xRRGetOutputInfoReq;
   269  #define sz_xRRGetOutputInfoReq		12
   270  
   271  typedef struct {
   272      BYTE	type;
   273      CARD8	status;
   274      CARD16	sequenceNumber;
   275      CARD32	length;
   276      Time	timestamp;
   277      RRCrtc	crtc;
   278      CARD32	mmWidth;
   279      CARD32	mmHeight;
   280      CARD8	connection;
   281      CARD8	subpixelOrder;
   282      CARD16	nCrtcs;
   283      CARD16	nModes;
   284      CARD16	nPreferred;
   285      CARD16	nClones;
   286      CARD16	nameLength;
   287  } xRRGetOutputInfoReply;
   288  #define sz_xRRGetOutputInfoReply	36
   289  
   290  typedef struct {
   291      CARD8	reqType;
   292      CARD8	randrReqType;
   293      CARD16	length;
   294      RROutput	output;
   295  } xRRListOutputPropertiesReq;
   296  #define sz_xRRListOutputPropertiesReq	8
   297  
   298  typedef struct {
   299      BYTE	type;
   300      CARD8	pad0;
   301      CARD16	sequenceNumber;
   302      CARD32	length;
   303      CARD16	nAtoms;
   304      CARD16	pad1;
   305      CARD32	pad2;
   306      CARD32	pad3;
   307      CARD32	pad4;
   308      CARD32	pad5;
   309      CARD32	pad6;
   310  } xRRListOutputPropertiesReply;
   311  #define sz_xRRListOutputPropertiesReply	32
   312  
   313  typedef struct {
   314      CARD8	reqType;
   315      CARD8	randrReqType;
   316      CARD16	length;
   317      RROutput	output;
   318      Atom	property;
   319  } xRRQueryOutputPropertyReq;
   320  #define sz_xRRQueryOutputPropertyReq	12
   321  
   322  typedef struct {
   323      BYTE	type;
   324      BYTE	pad0;
   325      CARD16	sequenceNumber;
   326      CARD32	length;
   327      BOOL	pending;
   328      BOOL	range;
   329      BOOL	immutable;
   330      BYTE	pad1;
   331      CARD32	pad2;
   332      CARD32	pad3;
   333      CARD32	pad4;
   334      CARD32	pad5;
   335      CARD32	pad6;
   336  } xRRQueryOutputPropertyReply;
   337  #define sz_xRRQueryOutputPropertyReply	32
   338  
   339  typedef struct {
   340      CARD8	reqType;
   341      CARD8	randrReqType;
   342      CARD16	length;
   343      RROutput	output;
   344      Atom	property;
   345      BOOL	pending;
   346      BOOL	range;
   347      CARD16	pad;
   348  } xRRConfigureOutputPropertyReq;
   349  #define sz_xRRConfigureOutputPropertyReq	16
   350  
   351  typedef struct {
   352      CARD8	reqType;
   353      CARD8	randrReqType;
   354      CARD16	length;
   355      RROutput	output;
   356      Atom	property;
   357      Atom	type;
   358      CARD8	format;
   359      CARD8	mode;
   360      CARD16	pad;
   361      CARD32	nUnits;
   362  } xRRChangeOutputPropertyReq;
   363  #define sz_xRRChangeOutputPropertyReq	24
   364  
   365  typedef struct {
   366      CARD8	reqType;
   367      CARD8	randrReqType;
   368      CARD16	length;
   369      RROutput	output;
   370      Atom	property;
   371  } xRRDeleteOutputPropertyReq;
   372  #define sz_xRRDeleteOutputPropertyReq	12
   373  
   374  typedef struct {
   375      CARD8	reqType;
   376      CARD8	randrReqType;
   377      CARD16	length;
   378      RROutput	output;
   379      Atom	property;
   380      Atom	type;
   381      CARD32	longOffset;
   382      CARD32	longLength;
   383  #ifdef __cplusplus
   384      BOOL	_delete;
   385  #else
   386      BOOL	delete;
   387  #endif
   388      BOOL	pending;
   389      CARD16	pad1;
   390  } xRRGetOutputPropertyReq;
   391  #define sz_xRRGetOutputPropertyReq	28
   392  
   393  typedef struct {
   394      BYTE	type;
   395      CARD8	format;
   396      CARD16	sequenceNumber;
   397      CARD32	length;
   398      Atom	propertyType;
   399      CARD32	bytesAfter;
   400      CARD32	nItems;
   401      CARD32	pad1;
   402      CARD32	pad2;
   403      CARD32	pad3;
   404  } xRRGetOutputPropertyReply;
   405  #define sz_xRRGetOutputPropertyReply	32
   406  
   407  typedef struct {
   408      CARD8	reqType;
   409      CARD8	randrReqType;
   410      CARD16	length;
   411      Window	window;
   412      xRRModeInfo	modeInfo;
   413  } xRRCreateModeReq;
   414  #define sz_xRRCreateModeReq		40
   415  
   416  typedef struct {
   417      BYTE	type;
   418      CARD8	pad0;
   419      CARD16	sequenceNumber;
   420      CARD32	length;
   421      RRMode	mode;
   422      CARD32	pad1;
   423      CARD32	pad2;
   424      CARD32	pad3;
   425      CARD32	pad4;
   426      CARD32	pad5;
   427  } xRRCreateModeReply;
   428  #define sz_xRRCreateModeReply		32
   429  
   430  typedef struct {
   431      CARD8	reqType;
   432      CARD8	randrReqType;
   433      CARD16	length;
   434      RRMode	mode;
   435  } xRRDestroyModeReq;
   436  #define sz_xRRDestroyModeReq		8
   437  
   438  typedef struct {
   439      CARD8	reqType;
   440      CARD8	randrReqType;
   441      CARD16	length;
   442      RROutput	output;
   443      RRMode	mode;
   444  } xRRAddOutputModeReq;
   445  #define sz_xRRAddOutputModeReq		12
   446  
   447  typedef struct {
   448      CARD8	reqType;
   449      CARD8	randrReqType;
   450      CARD16	length;
   451      RROutput	output;
   452      RRMode	mode;
   453  } xRRDeleteOutputModeReq;
   454  #define sz_xRRDeleteOutputModeReq	12
   455  
   456  typedef struct {
   457      CARD8	reqType;
   458      CARD8	randrReqType;
   459      CARD16	length;
   460      RRCrtc	crtc;
   461      Time	configTimestamp;
   462  } xRRGetCrtcInfoReq;
   463  #define sz_xRRGetCrtcInfoReq		12
   464  
   465  typedef struct {
   466      BYTE	type;
   467      CARD8	status;
   468      CARD16	sequenceNumber;
   469      CARD32	length;
   470      Time	timestamp;
   471      INT16	x;
   472      INT16	y;
   473      CARD16	width;
   474      CARD16	height;
   475      RRMode	mode;
   476      Rotation	rotation;
   477      Rotation	rotations;
   478      CARD16	nOutput;
   479      CARD16	nPossibleOutput;
   480  } xRRGetCrtcInfoReply;
   481  #define sz_xRRGetCrtcInfoReply		32
   482  
   483  typedef struct {
   484      CARD8	reqType;
   485      CARD8	randrReqType;
   486      CARD16	length;
   487      RRCrtc	crtc;
   488      Time	timestamp;
   489      Time    	configTimestamp;
   490      INT16	x;
   491      INT16	y;
   492      RRMode	mode;
   493      Rotation	rotation;
   494      CARD16	pad;
   495  } xRRSetCrtcConfigReq;
   496  #define sz_xRRSetCrtcConfigReq		28
   497  
   498  typedef struct {
   499      BYTE	type;
   500      CARD8	status;
   501      CARD16	sequenceNumber;
   502      CARD32	length;
   503      Time	newTimestamp;
   504      CARD32	pad1;
   505      CARD32	pad2;
   506      CARD32	pad3;
   507      CARD32	pad4;
   508      CARD32	pad5;
   509  } xRRSetCrtcConfigReply;
   510  #define sz_xRRSetCrtcConfigReply	32
   511  
   512  typedef struct {
   513      CARD8	reqType;
   514      CARD8	randrReqType;
   515      CARD16	length;
   516      RRCrtc	crtc;
   517  } xRRGetCrtcGammaSizeReq;
   518  #define sz_xRRGetCrtcGammaSizeReq	8
   519  
   520  typedef struct {
   521      BYTE	type;
   522      CARD8	status;
   523      CARD16	sequenceNumber;
   524      CARD32	length;
   525      CARD16	size;
   526      CARD16	pad1;
   527      CARD32	pad2;
   528      CARD32	pad3;
   529      CARD32	pad4;
   530      CARD32	pad5;
   531      CARD32	pad6;
   532  } xRRGetCrtcGammaSizeReply;
   533  #define sz_xRRGetCrtcGammaSizeReply	32
   534  
   535  typedef struct {
   536      CARD8	reqType;
   537      CARD8	randrReqType;
   538      CARD16	length;
   539      RRCrtc	crtc;
   540  } xRRGetCrtcGammaReq;
   541  #define sz_xRRGetCrtcGammaReq		8
   542  
   543  typedef struct {
   544      BYTE	type;
   545      CARD8	status;
   546      CARD16	sequenceNumber;
   547      CARD32	length;
   548      CARD16	size;
   549      CARD16	pad1;
   550      CARD32	pad2;
   551      CARD32	pad3;
   552      CARD32	pad4;
   553      CARD32	pad5;
   554      CARD32	pad6;
   555  } xRRGetCrtcGammaReply;
   556  #define sz_xRRGetCrtcGammaReply		32
   557  
   558  typedef struct {
   559      CARD8	reqType;
   560      CARD8	randrReqType;
   561      CARD16	length;
   562      RRCrtc	crtc;
   563      CARD16	size;
   564      CARD16	pad1;
   565  } xRRSetCrtcGammaReq;
   566  #define sz_xRRSetCrtcGammaReq		12
   567  
   568  /*
   569   * Additions for V1.3
   570   */
   571  
   572  typedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq;
   573  
   574  #define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq
   575  
   576  typedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply;
   577  #define sz_xRRGetScreenResourcesCurrentReply	sz_xRRGetScreenResourcesReply
   578  
   579  typedef struct {
   580      CARD8		reqType;
   581      CARD8		randrReqType;
   582      CARD16		length;
   583      RRCrtc		crtc;
   584      xRenderTransform	transform;
   585      CARD16		nbytesFilter;	/* number of bytes in filter name */
   586      CARD16		pad;
   587  } xRRSetCrtcTransformReq;
   588  
   589  #define sz_xRRSetCrtcTransformReq	48
   590  
   591  typedef struct {
   592      CARD8		reqType;
   593      CARD8		randrReqType;
   594      CARD16		length;
   595      RRCrtc		crtc;
   596  } xRRGetCrtcTransformReq;
   597  
   598  #define sz_xRRGetCrtcTransformReq	8
   599  
   600  typedef struct {
   601      BYTE		type;
   602      CARD8		status;
   603      CARD16		sequenceNumber;
   604      CARD32		length;
   605      xRenderTransform	pendingTransform;
   606      BYTE		hasTransforms;
   607      CARD8		pad0;
   608      CARD16		pad1;
   609      xRenderTransform	currentTransform;
   610      CARD32		pad2;
   611      CARD16		pendingNbytesFilter;    /* number of bytes in filter name */
   612      CARD16		pendingNparamsFilter;   /* number of filter params */
   613      CARD16		currentNbytesFilter;    /* number of bytes in filter name */
   614      CARD16		currentNparamsFilter;   /* number of filter params */
   615  } xRRGetCrtcTransformReply;
   616  
   617  #define sz_xRRGetCrtcTransformReply	96
   618  
   619  typedef struct {
   620      CARD8	reqType;
   621      CARD8	randrReqType;
   622      CARD16	length;
   623      Window	window;
   624      RROutput	output;
   625  } xRRSetOutputPrimaryReq;
   626  #define sz_xRRSetOutputPrimaryReq	12
   627  
   628  typedef struct {
   629      CARD8	reqType;
   630      CARD8	randrReqType;
   631      CARD16	length;
   632      Window	window;
   633  } xRRGetOutputPrimaryReq;
   634  #define sz_xRRGetOutputPrimaryReq	8
   635  
   636  typedef struct {
   637      BYTE	type;
   638      CARD8	pad;
   639      CARD16	sequenceNumber;
   640      CARD32	length;
   641      RROutput	output;
   642      CARD32	pad1;
   643      CARD32	pad2;
   644      CARD32	pad3;
   645      CARD32	pad4;
   646      CARD32	pad5;
   647  } xRRGetOutputPrimaryReply;
   648  #define sz_xRRGetOutputPrimaryReply	32
   649  
   650  /*
   651   * Additions for V1.4
   652   */
   653  
   654  typedef struct {
   655      CARD8	reqType;
   656      CARD8	randrReqType;
   657      CARD16	length;
   658      Window	window;
   659  } xRRGetProvidersReq;
   660  #define sz_xRRGetProvidersReq 8
   661  
   662  typedef struct {
   663      BYTE	type;
   664      CARD8	pad;
   665      CARD16	sequenceNumber;
   666      CARD32	length;
   667      Time	timestamp;
   668      CARD16	nProviders;
   669      CARD16	pad1;
   670      CARD32	pad2;
   671      CARD32	pad3;
   672      CARD32	pad4;
   673      CARD32	pad5;
   674  } xRRGetProvidersReply;
   675  #define sz_xRRGetProvidersReply 32
   676  
   677  typedef struct {
   678      CARD8	reqType;
   679      CARD8	randrReqType;
   680      CARD16	length;
   681      RRProvider	provider;
   682      Time	configTimestamp;
   683  } xRRGetProviderInfoReq;
   684  #define sz_xRRGetProviderInfoReq 12
   685  
   686  typedef struct {
   687      BYTE	type;
   688      CARD8	status;
   689      CARD16	sequenceNumber;
   690      CARD32	length;
   691      Time	timestamp;
   692      CARD32	capabilities;
   693      CARD16	nCrtcs;
   694      CARD16	nOutputs;
   695      CARD16	nAssociatedProviders;
   696      CARD16	nameLength;
   697      CARD32	pad1;
   698      CARD32	pad2;
   699  } xRRGetProviderInfoReply;
   700  #define sz_xRRGetProviderInfoReply 32
   701  
   702  typedef struct {
   703      CARD8	reqType;
   704      CARD8	randrReqType;
   705      CARD16	length;
   706      RRProvider  provider;
   707      RRProvider  source_provider;
   708      Time	configTimestamp;
   709  } xRRSetProviderOutputSourceReq;
   710  #define sz_xRRSetProviderOutputSourceReq 16
   711  
   712  typedef struct {
   713      CARD8	reqType;
   714      CARD8	randrReqType;
   715      CARD16	length;
   716      RRProvider  provider;
   717      RRProvider  sink_provider;
   718      Time	configTimestamp;
   719  } xRRSetProviderOffloadSinkReq;
   720  #define sz_xRRSetProviderOffloadSinkReq 16
   721  
   722  typedef struct {
   723      CARD8	reqType;
   724      CARD8	randrReqType;
   725      CARD16	length;
   726      RRProvider	provider;
   727  } xRRListProviderPropertiesReq;
   728  #define sz_xRRListProviderPropertiesReq	8
   729  
   730  typedef struct {
   731      BYTE	type;
   732      CARD8	pad0;
   733      CARD16	sequenceNumber;
   734      CARD32	length;
   735      CARD16	nAtoms;
   736      CARD16	pad1;
   737      CARD32	pad2;
   738      CARD32	pad3;
   739      CARD32	pad4;
   740      CARD32	pad5;
   741      CARD32	pad6;
   742  } xRRListProviderPropertiesReply;
   743  #define sz_xRRListProviderPropertiesReply	32
   744  
   745  typedef struct {
   746      CARD8	reqType;
   747      CARD8	randrReqType;
   748      CARD16	length;
   749      RRProvider	provider;
   750      Atom	property;
   751  } xRRQueryProviderPropertyReq;
   752  #define sz_xRRQueryProviderPropertyReq	12
   753  
   754  typedef struct {
   755      BYTE	type;
   756      BYTE	pad0;
   757      CARD16	sequenceNumber;
   758      CARD32	length;
   759      BOOL	pending;
   760      BOOL	range;
   761      BOOL	immutable;
   762      BYTE	pad1;
   763      CARD32	pad2;
   764      CARD32	pad3;
   765      CARD32	pad4;
   766      CARD32	pad5;
   767      CARD32	pad6;
   768  } xRRQueryProviderPropertyReply;
   769  #define sz_xRRQueryProviderPropertyReply	32
   770  
   771  typedef struct {
   772      CARD8	reqType;
   773      CARD8	randrReqType;
   774      CARD16	length;
   775      RRProvider	provider;
   776      Atom	property;
   777      BOOL	pending;
   778      BOOL	range;
   779      CARD16	pad;
   780  } xRRConfigureProviderPropertyReq;
   781  #define sz_xRRConfigureProviderPropertyReq	16
   782  
   783  typedef struct {
   784      CARD8	reqType;
   785      CARD8	randrReqType;
   786      CARD16	length;
   787      RRProvider	provider;
   788      Atom	property;
   789      Atom	type;
   790      CARD8	format;
   791      CARD8	mode;
   792      CARD16	pad;
   793      CARD32	nUnits;
   794  } xRRChangeProviderPropertyReq;
   795  #define sz_xRRChangeProviderPropertyReq	24
   796  
   797  typedef struct {
   798      CARD8	reqType;
   799      CARD8	randrReqType;
   800      CARD16	length;
   801      RRProvider	provider;
   802      Atom	property;
   803  } xRRDeleteProviderPropertyReq;
   804  #define sz_xRRDeleteProviderPropertyReq	12
   805  
   806  typedef struct {
   807      CARD8	reqType;
   808      CARD8	randrReqType;
   809      CARD16	length;
   810      RRProvider	provider;
   811      Atom	property;
   812      Atom	type;
   813      CARD32	longOffset;
   814      CARD32	longLength;
   815  #ifdef __cplusplus
   816      BOOL	_delete;
   817  #else
   818      BOOL	delete;
   819  #endif
   820      BOOL	pending;
   821      CARD16	pad1;
   822  } xRRGetProviderPropertyReq;
   823  #define sz_xRRGetProviderPropertyReq	28
   824  
   825  typedef struct {
   826      BYTE	type;
   827      CARD8	format;
   828      CARD16	sequenceNumber;
   829      CARD32	length;
   830      Atom	propertyType;
   831      CARD32	bytesAfter;
   832      CARD32	nItems;
   833      CARD32	pad1;
   834      CARD32	pad2;
   835      CARD32	pad3;
   836  } xRRGetProviderPropertyReply;
   837  #define sz_xRRGetProviderPropertyReply	32
   838  
   839  /*
   840   * Additions for V1.6
   841   */
   842  
   843  typedef struct {
   844      CARD8	reqType;
   845      CARD8	randrReqType;
   846      CARD16	length;
   847      Window	window;
   848      RRLease	lid;
   849      CARD16	nCrtcs;
   850      CARD16	nOutputs;
   851  } xRRCreateLeaseReq;
   852  #define sz_xRRCreateLeaseReq	16
   853  
   854  typedef struct {
   855      BYTE	type;
   856      CARD8	nfd;
   857      CARD16	sequenceNumber;
   858      CARD32	length;
   859      CARD32	pad2;
   860      CARD32	pad3;
   861      CARD32	pad4;
   862      CARD32	pad5;
   863      CARD32	pad6;
   864      CARD32	pad7;
   865  } xRRCreateLeaseReply;
   866  #define sz_xRRCreateLeaseReply		32
   867  
   868  typedef struct {
   869      CARD8	reqType;
   870      CARD8	randrReqType;
   871      CARD16	length;
   872      RRLease	lid;
   873      BYTE	terminate;
   874      CARD8	pad1;
   875      CARD16	pad2;
   876  } xRRFreeLeaseReq;
   877  #define sz_xRRFreeLeaseReq		12
   878  
   879  /*
   880   * event
   881   */
   882  typedef struct {
   883      CARD8 type;				/* always evBase + ScreenChangeNotify */
   884      CARD8 rotation;			/* new rotation */
   885      CARD16 sequenceNumber;
   886      Time timestamp;			/* time screen was changed */
   887      Time configTimestamp;		/* time config data was changed */
   888      Window root;			/* root window */
   889      Window window;			/* window requesting notification */
   890      SizeID sizeID;			/* new size ID */
   891      CARD16 subpixelOrder;		/* subpixel order */
   892      CARD16 widthInPixels;		/* new size */
   893      CARD16 heightInPixels;
   894      CARD16 widthInMillimeters;
   895      CARD16 heightInMillimeters;
   896  } xRRScreenChangeNotifyEvent;
   897  #define sz_xRRScreenChangeNotifyEvent	32
   898  
   899  typedef struct {
   900      CARD8 type;				/* always evBase + RRNotify */
   901      CARD8 subCode;			/* RRNotify_CrtcChange */
   902      CARD16 sequenceNumber;
   903      Time timestamp;			/* time crtc was changed */
   904      Window window;			/* window requesting notification */
   905      RRCrtc crtc;			/* affected CRTC */
   906      RRMode mode;			/* current mode */
   907      CARD16 rotation;			/* rotation and reflection */
   908      CARD16 pad1;			/* unused */
   909      INT16 x;				/* new location */
   910      INT16 y;
   911      CARD16 width;			/* new size */
   912      CARD16 height;
   913  } xRRCrtcChangeNotifyEvent;
   914  #define sz_xRRCrtcChangeNotifyEvent	32
   915  
   916  typedef struct {
   917      CARD8 type;				/* always evBase + RRNotify */
   918      CARD8 subCode;			/* RRNotify_OutputChange */
   919      CARD16 sequenceNumber;
   920      Time timestamp;			/* time output was changed */
   921      Time configTimestamp;		/* time config was changed */
   922      Window window;			/* window requesting notification */
   923      RROutput output;			/* affected output */
   924      RRCrtc crtc;			/* current crtc */
   925      RRMode mode;			/* current mode */
   926      CARD16 rotation;			/* rotation and reflection */
   927      CARD8 connection;			/* connection status */
   928      CARD8 subpixelOrder;		/* subpixel order */
   929  } xRROutputChangeNotifyEvent;
   930  #define sz_xRROutputChangeNotifyEvent	32
   931  
   932  typedef struct {
   933      CARD8 type;				/* always evBase + RRNotify */
   934      CARD8 subCode;			/* RRNotify_OutputProperty */
   935      CARD16 sequenceNumber;
   936      Window window;			/* window requesting notification */
   937      RROutput output;			/* affected output */
   938      Atom atom;				/* property name */
   939      Time timestamp;			/* time crtc was changed */
   940      CARD8 state;			/* NewValue or Deleted */
   941      CARD8 pad1;
   942      CARD16 pad2;
   943      CARD32 pad3;
   944      CARD32 pad4;
   945  } xRROutputPropertyNotifyEvent;
   946  #define sz_xRROutputPropertyNotifyEvent	32
   947  
   948  typedef struct {
   949      CARD8 type;				/* always evBase + RRNotify */
   950      CARD8 subCode;			/* RRNotify_ProviderChange */
   951      CARD16 sequenceNumber;
   952      Time timestamp;			/* time provider was changed */
   953      Window window;			/* window requesting notification */
   954      RRProvider provider;		/* affected provider */
   955      CARD32 pad1;
   956      CARD32 pad2;
   957      CARD32 pad3;
   958      CARD32 pad4;
   959  } xRRProviderChangeNotifyEvent;
   960  #define sz_xRRProviderChangeNotifyEvent	32
   961  
   962  typedef struct {
   963      CARD8 type;				/* always evBase + RRNotify */
   964      CARD8 subCode;			/* RRNotify_ProviderProperty */
   965      CARD16 sequenceNumber;
   966      Window window;			/* window requesting notification */
   967      RRProvider provider;		/* affected provider */
   968      Atom atom;				/* property name */
   969      Time timestamp;			/* time provider was changed */
   970      CARD8 state;			/* NewValue or Deleted */
   971      CARD8 pad1;
   972      CARD16 pad2;
   973      CARD32 pad3;
   974      CARD32 pad4;
   975  } xRRProviderPropertyNotifyEvent;
   976  #define sz_xRRProviderPropertyNotifyEvent	32
   977  
   978  typedef struct {
   979      CARD8 type;				/* always evBase + RRNotify */
   980      CARD8 subCode;			/* RRNotify_ResourceChange */
   981      CARD16 sequenceNumber;
   982      Time timestamp;			/* time resource was changed */
   983      Window window;			/* window requesting notification */
   984      CARD32 pad1;
   985      CARD32 pad2;
   986      CARD32 pad3;
   987      CARD32 pad4;
   988      CARD32 pad5;
   989  } xRRResourceChangeNotifyEvent;
   990  #define sz_xRRResourceChangeNotifyEvent	32
   991  
   992  typedef struct {
   993      CARD8 type;				/* always evBase + RRNotify */
   994      CARD8 subCode;			/* RRNotify_Lease */
   995      CARD16 sequenceNumber;
   996      Time timestamp;			/* time resource was changed */
   997      Window window;			/* window requesting notification */
   998      RRLease lease;
   999      CARD8 created;			/* created/deleted */
  1000      CARD8 pad0;
  1001      CARD16 pad1;
  1002      CARD32 pad2;
  1003      CARD32 pad3;
  1004      CARD32 pad4;
  1005  } xRRLeaseNotifyEvent;
  1006  #define sz_xRRLeaseNotifyEvent		32
  1007  
  1008  typedef struct {
  1009      CARD8	reqType;
  1010      CARD8	randrReqType;
  1011      CARD16	length;
  1012      RRCrtc	crtc;
  1013  } xRRGetPanningReq;
  1014  #define sz_xRRGetPanningReq		8
  1015  
  1016  typedef struct {
  1017      BYTE	type;
  1018      CARD8	status;
  1019      CARD16	sequenceNumber;
  1020      CARD32	length;
  1021      Time	timestamp;
  1022      CARD16	left;
  1023      CARD16	top;
  1024      CARD16	width;
  1025      CARD16	height;
  1026      CARD16	track_left;
  1027      CARD16	track_top;
  1028      CARD16	track_width;
  1029      CARD16	track_height;
  1030      INT16	border_left;
  1031      INT16	border_top;
  1032      INT16	border_right;
  1033      INT16	border_bottom;
  1034  } xRRGetPanningReply;
  1035  #define sz_xRRGetPanningReply		36
  1036  
  1037  typedef struct {
  1038      CARD8	reqType;
  1039      CARD8	randrReqType;
  1040      CARD16	length;
  1041      RRCrtc	crtc;
  1042      Time	timestamp;
  1043      CARD16	left;
  1044      CARD16	top;
  1045      CARD16	width;
  1046      CARD16	height;
  1047      CARD16	track_left;
  1048      CARD16	track_top;
  1049      CARD16	track_width;
  1050      CARD16	track_height;
  1051      INT16	border_left;
  1052      INT16	border_top;
  1053      INT16	border_right;
  1054      INT16	border_bottom;
  1055  } xRRSetPanningReq;
  1056  #define sz_xRRSetPanningReq		36
  1057  
  1058  typedef struct {
  1059      BYTE	type;
  1060      CARD8	status;
  1061      CARD16	sequenceNumber;
  1062      CARD32	length;
  1063      Time	newTimestamp;
  1064      CARD32	pad1;
  1065      CARD32	pad2;
  1066      CARD32	pad3;
  1067      CARD32	pad4;
  1068      CARD32	pad5;
  1069  } xRRSetPanningReply;
  1070  #define sz_xRRSetPanningReply	32
  1071  
  1072  typedef struct {
  1073      Atom	name;
  1074      BOOL	primary;
  1075      BOOL	automatic;
  1076      CARD16	noutput;
  1077      INT16	x;
  1078      INT16	y;
  1079      CARD16	width;
  1080      CARD16	height;
  1081      CARD32	widthInMillimeters;
  1082      CARD32	heightInMillimeters;
  1083  } xRRMonitorInfo;
  1084  #define sz_xRRMonitorInfo	24
  1085  
  1086  typedef struct {
  1087      CARD8	reqType;
  1088      CARD8	randrReqType;
  1089      CARD16	length;
  1090      Window	window;
  1091      BOOL	get_active;
  1092      CARD8	pad;
  1093      CARD16	pad2;
  1094  } xRRGetMonitorsReq;
  1095  #define sz_xRRGetMonitorsReq	12
  1096  
  1097  typedef struct {
  1098      BYTE	type;
  1099      CARD8	status;
  1100      CARD16	sequenceNumber;
  1101      CARD32	length;
  1102      Time	timestamp;
  1103      CARD32	nmonitors;
  1104      CARD32	noutputs;
  1105      CARD32	pad1;
  1106      CARD32	pad2;
  1107      CARD32	pad3;
  1108  } xRRGetMonitorsReply;
  1109  #define sz_xRRGetMonitorsReply	32
  1110  
  1111  typedef struct {
  1112      CARD8	reqType;
  1113      CARD8	randrReqType;
  1114      CARD16	length;
  1115      Window	window;
  1116      xRRMonitorInfo	monitor;
  1117  } xRRSetMonitorReq;
  1118  #define sz_xRRSetMonitorReq	32
  1119  
  1120  typedef struct {
  1121      CARD8	reqType;
  1122      CARD8	randrReqType;
  1123      CARD16	length;
  1124      Window	window;
  1125      Atom	name;
  1126  } xRRDeleteMonitorReq;
  1127  #define sz_xRRDeleteMonitorReq	12
  1128  
  1129  #undef RRLease
  1130  #undef RRModeFlags
  1131  #undef RRCrtc
  1132  #undef RRMode
  1133  #undef RROutput
  1134  #undef RRMode
  1135  #undef RRCrtc
  1136  #undef RRProvider
  1137  #undef Drawable
  1138  #undef Window
  1139  #undef Font
  1140  #undef Pixmap
  1141  #undef Cursor
  1142  #undef Colormap
  1143  #undef GContext
  1144  #undef Atom
  1145  #undef Time
  1146  #undef KeyCode
  1147  #undef KeySym
  1148  #undef Rotation
  1149  #undef SizeID
  1150  #undef SubpixelOrder
  1151  
  1152  #endif /* _XRANDRP_H_ */