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

     1  /******************************************************************************
     2   *
     3   * Copyright (c) 1994, 1995  Hewlett-Packard Company
     4   *
     5   * Permission is hereby granted, free of charge, to any person obtaining
     6   * a copy of this software and associated documentation files (the
     7   * "Software"), to deal in the Software without restriction, including
     8   * without limitation the rights to use, copy, modify, merge, publish,
     9   * distribute, sublicense, and/or sell copies of the Software, and to
    10   * permit persons to whom the Software is furnished to do so, subject to
    11   * the following conditions:
    12   *
    13   * The above copyright notice and this permission notice shall be included
    14   * in all copies or substantial portions of the Software.
    15   *
    16   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    17   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    18   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    19   * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
    20   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
    21   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
    22   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    23   *
    24   * Except as contained in this notice, the name of the Hewlett-Packard
    25   * Company shall not be used in advertising or otherwise to promote the
    26   * sale, use or other dealings in this Software without prior written
    27   * authorization from the Hewlett-Packard Company.
    28   *
    29   *     Header file for Xlib-related DBE
    30   *
    31   *****************************************************************************/
    32  
    33  #ifndef DBE_PROTO_H
    34  #define DBE_PROTO_H
    35  
    36  #include <X11/extensions/dbe.h>
    37  
    38  /* Request values used in (S)ProcDbeDispatch() */
    39  #define X_DbeGetVersion                 0
    40  #define X_DbeAllocateBackBufferName     1
    41  #define X_DbeDeallocateBackBufferName   2
    42  #define X_DbeSwapBuffers                3
    43  #define X_DbeBeginIdiom                 4
    44  #define X_DbeEndIdiom                   5
    45  #define X_DbeGetVisualInfo              6
    46  #define X_DbeGetBackBufferAttributes    7
    47  
    48  typedef CARD8  xDbeSwapAction;
    49  typedef CARD32 xDbeBackBuffer;
    50  
    51  /* TYPEDEFS */
    52  
    53  /* Protocol data types */
    54  
    55  typedef struct
    56  {
    57      CARD32		window;		/* window      */
    58      xDbeSwapAction	swapAction;	/* swap action */
    59      CARD8		pad1;		/* unused      */
    60      CARD16		pad2;
    61  
    62  } xDbeSwapInfo;
    63  
    64  typedef struct
    65  {
    66      CARD32	visualID;	/* associated visual      */
    67      CARD8	depth;		/* depth of visual        */
    68      CARD8	perfLevel;	/* performance level hint */
    69      CARD16	pad1;
    70  
    71  } xDbeVisInfo;
    72  #define sz_xDbeVisInfo	8
    73  
    74  typedef struct
    75  {
    76      CARD32	n;	/* number of visual info items in list  */
    77  
    78  } xDbeScreenVisInfo;	/* followed by n xDbeVisInfo items */
    79  
    80  typedef struct
    81  {
    82      CARD32	window;		/* window */
    83  
    84  } xDbeBufferAttributes;
    85  
    86  
    87  /* Requests and replies */
    88  
    89  typedef struct
    90  {
    91      CARD8	reqType;	/* major-opcode: always codes->major_opcode */
    92      CARD8	dbeReqType;	/* minor-opcode: always X_DbeGetVersion (0) */
    93      CARD16	length;		/* request length: (2)                      */
    94      CARD8	majorVersion;	/* client-major-version                     */
    95      CARD8	minorVersion;	/* client-minor-version                     */
    96      CARD16	unused;		/* unused                                   */
    97  
    98  } xDbeGetVersionReq;
    99  #define sz_xDbeGetVersionReq	8
   100  
   101  typedef struct
   102  {
   103      BYTE	type;			/* Reply: X_Reply (1)   */
   104      CARD8	unused;			/* unused               */
   105      CARD16	sequenceNumber;		/* sequence number      */
   106      CARD32	length;			/* reply length: (0)    */
   107      CARD8	majorVersion;		/* server-major-version */
   108      CARD8	minorVersion;		/* server-minor-version */
   109      CARD16	pad1;			/* unused               */
   110      CARD32	pad2;
   111      CARD32	pad3;
   112      CARD32	pad4;
   113      CARD32	pad5;
   114      CARD32	pad6;
   115  
   116  } xDbeGetVersionReply;
   117  #define sz_xDbeGetVersionReply	32
   118  
   119  typedef struct
   120  {
   121      CARD8		reqType;	/* major-opcode: codes->major_opcode */
   122      CARD8		dbeReqType;	/* X_DbeAllocateBackBufferName (1)   */
   123      CARD16		length;		/* request length: (4)               */
   124      CARD32		window;		/* window                            */
   125      xDbeBackBuffer	buffer;		/* back buffer name                  */
   126      xDbeSwapAction	swapAction;	/* swap action hint                  */
   127      CARD8		pad1;		/* unused                            */
   128      CARD16		pad2;
   129  
   130  } xDbeAllocateBackBufferNameReq;
   131  #define sz_xDbeAllocateBackBufferNameReq	16
   132  
   133  typedef struct
   134  {
   135      CARD8		reqType;	/* major-opcode: codes->major_opcode */
   136      CARD8		dbeReqType;	/* X_DbeDeallocateBackBufferName (2) */
   137      CARD16		length;		/* request length: (2)               */
   138      xDbeBackBuffer	buffer;		/* back buffer name                  */
   139  
   140  } xDbeDeallocateBackBufferNameReq;
   141  #define sz_xDbeDeallocateBackBufferNameReq	8
   142  
   143  typedef struct
   144  {
   145      CARD8	reqType;	/* major-opcode: always codes->major_opcode  */
   146      CARD8	dbeReqType;	/* minor-opcode: always X_DbeSwapBuffers (3) */
   147      CARD16	length;		/* request length: (2+2n)                    */
   148      CARD32	n;		/* n, number of window/swap action pairs     */
   149  
   150  } xDbeSwapBuffersReq;		/* followed by n window/swap action pairs    */
   151  #define sz_xDbeSwapBuffersReq	8
   152  
   153  typedef struct
   154  {
   155      CARD8	reqType;	/* major-opcode: always codes->major_opcode */
   156      CARD8	dbeReqType;	/* minor-opcode: always X_DbeBeginIdom (4)  */
   157      CARD16	length;		/* request length: (1)                      */
   158  
   159  } xDbeBeginIdiomReq;
   160  #define sz_xDbeBeginIdiomReq	4
   161  
   162  typedef struct
   163  {
   164      CARD8	reqType;	/* major-opcode: always codes->major_opcode */
   165      CARD8	dbeReqType;	/* minor-opcode: always X_DbeEndIdom (5)    */
   166      CARD16	length;		/* request length: (1)                      */
   167  
   168  } xDbeEndIdiomReq;
   169  #define sz_xDbeEndIdiomReq	4
   170  
   171  typedef struct
   172  {
   173      CARD8	reqType;	/* always codes->major_opcode     */
   174      CARD8	dbeReqType;	/* always X_DbeGetVisualInfo (6)  */
   175      CARD16	length;		/* request length: (2+n)          */
   176      CARD32	n;		/* n, number of drawables in list */
   177  
   178  } xDbeGetVisualInfoReq;		/* followed by n drawables        */
   179  #define sz_xDbeGetVisualInfoReq	8
   180  
   181  typedef struct
   182  {
   183      BYTE	type;			/* Reply: X_Reply (1)                */
   184      CARD8	unused;			/* unused                            */
   185      CARD16	sequenceNumber;		/* sequence number                   */
   186      CARD32	length;			/* reply length                      */
   187      CARD32	m;			/* m, number of visual infos in list */
   188      CARD32	pad1;			/* unused                            */
   189      CARD32	pad2;
   190      CARD32	pad3;
   191      CARD32	pad4;
   192      CARD32	pad5;
   193  
   194  } xDbeGetVisualInfoReply;		/* followed by m visual infos        */
   195  #define sz_xDbeGetVisualInfoReply	32
   196  
   197  typedef struct
   198  {
   199      CARD8		reqType;	/* always codes->major_opcode       */
   200      CARD8		dbeReqType;	/* X_DbeGetBackBufferAttributes (7) */
   201      CARD16		length;		/* request length: (2)              */
   202      xDbeBackBuffer	buffer;		/* back buffer name                 */
   203  
   204  } xDbeGetBackBufferAttributesReq;
   205  #define sz_xDbeGetBackBufferAttributesReq	8
   206  
   207  typedef struct
   208  {
   209      BYTE	type;			/* Reply: X_Reply (1) */
   210      CARD8	unused;			/* unused             */
   211      CARD16	sequenceNumber;		/* sequence number    */
   212      CARD32	length;			/* reply length: (0)  */
   213      CARD32	attributes;		/* attributes         */
   214      CARD32	pad1;			/* unused             */
   215      CARD32	pad2;
   216      CARD32	pad3;
   217      CARD32	pad4;
   218      CARD32	pad5;
   219  
   220  } xDbeGetBackBufferAttributesReply;
   221  #define sz_xDbeGetBackBufferAttributesReply	32
   222  
   223  #endif /* DBE_PROTO_H */
   224