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

     1  /*
     2   * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina.
     3   *
     4   * All Rights Reserved.
     5   *
     6   * Permission is hereby granted, free of charge, to any person obtaining
     7   * a copy of this software and associated documentation files (the
     8   * "Software"), to deal in the Software without restriction, including
     9   * without limitation on the rights to use, copy, modify, merge,
    10   * publish, distribute, sublicense, and/or sell copies of the Software,
    11   * and to permit persons to whom the Software is furnished to do so,
    12   * subject to the following conditions:
    13   *
    14   * The above copyright notice and this permission notice (including the
    15   * next paragraph) shall be included in all copies or substantial
    16   * portions of the Software.
    17   *
    18   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    19   * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    20   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    21   * NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
    22   * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    23   * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    24   * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    25   * SOFTWARE.
    26   */
    27  
    28  /*
    29   * Authors:
    30   *   Rickard E. (Rik) Faith <faith@redhat.com>
    31   *
    32   */
    33  
    34  /** \file
    35   * This file describes the structures necessary to implement the wire
    36   * protocol for the DMX protocol extension.  It should be included only
    37   * in files that implement the client-side (or server-side) part of the
    38   * protocol (i.e., client-side applications should \b not include this
    39   * file). */
    40  
    41  #ifndef _DMXSTR_H_
    42  #define _DMXSTR_H_
    43  
    44  #define DMX_EXTENSION_NAME  "DMX"
    45  #define DMX_EXTENSION_MAJOR 2
    46  #define DMX_EXTENSION_MINOR 2
    47  #define DMX_EXTENSION_PATCH 20040604
    48  
    49  /* These values must be larger than LastExtensionError.
    50     The values in dmxext.h and dmxproto.h *MUST* match. */
    51  #define DMX_BAD_XINERAMA     1001
    52  #define DMX_BAD_VALUE        1002
    53  
    54  #define X_DMXQueryVersion                   0
    55  #define X_DMXGetScreenCount                 1
    56  #define X_DMXGetScreenInformationDEPRECATED 2
    57  #define X_DMXGetWindowAttributes            3
    58  #define X_DMXGetInputCount                  4
    59  #define X_DMXGetInputAttributes             5
    60  #define X_DMXForceWindowCreationDEPRECATED  6
    61  #define X_DMXReconfigureScreenDEPRECATED    7
    62  #define X_DMXSync                           8
    63  #define X_DMXForceWindowCreation            9
    64  #define X_DMXGetScreenAttributes           10
    65  #define X_DMXChangeScreensAttributes       11
    66  #define X_DMXAddScreen                     12
    67  #define X_DMXRemoveScreen                  13
    68  #define X_DMXGetDesktopAttributes          14
    69  #define X_DMXChangeDesktopAttributes       15
    70  #define X_DMXAddInput                      16
    71  #define X_DMXRemoveInput                   17
    72  
    73  /** Wire-level description of DMXQueryVersion protocol request. */
    74  typedef struct {
    75      CARD8   reqType;            /* dmxcode */
    76      CARD8   dmxReqType;         /* X_DMXQueryVersion */
    77      CARD16  length;
    78  } xDMXQueryVersionReq;
    79  #define sz_xDMXQueryVersionReq 4
    80  
    81  /** Wire-level description of DMXQueryVersion protocol reply. */
    82  typedef struct {
    83      BYTE    type;               /* X_Reply */
    84      CARD8   ununsed;
    85      CARD16  sequenceNumber;
    86      CARD32  length;
    87      CARD32  majorVersion;
    88      CARD32  minorVersion;
    89      CARD32  patchVersion;
    90      CARD32  pad0;
    91      CARD32  pad1;
    92      CARD32  pad2;
    93  } xDMXQueryVersionReply;
    94  #define sz_xDMXQueryVersionReply 32
    95  
    96  /** Wire-level description of DMXSync protocol request. */
    97  typedef struct {
    98      CARD8   reqType;            /* DMXCode */
    99      CARD8   dmxReqType;         /* X_DMXSync */
   100      CARD16  length;
   101  } xDMXSyncReq;
   102  #define sz_xDMXSyncReq 4
   103  
   104  /** Wire-level description of DMXSync protocol reply. */
   105  typedef struct {
   106      BYTE    type;               /* X_Reply */
   107      CARD8   unused;
   108      CARD16  sequenceNumber;
   109      CARD32  length;
   110      CARD32  status;
   111      CARD32  pad0;
   112      CARD32  pad1;
   113      CARD32  pad2;
   114      CARD32  pad3;
   115      CARD32  pad4;
   116  } xDMXSyncReply;
   117  #define sz_xDMXSyncReply 32
   118  
   119  /** Wire-level description of DMXForceWindowCreation protocol request. */
   120  typedef struct {
   121      CARD8   reqType;            /* DMXCode */
   122      CARD8   dmxReqType;         /* X_DMXForceWindowCreation */
   123      CARD16  length;
   124      CARD32  window;
   125  } xDMXForceWindowCreationReq;
   126  #define sz_xDMXForceWindowCreationReq 8
   127  
   128  /** Wire-level description of DMXForceWindowCreation protocol reply. */
   129  typedef struct {
   130      BYTE    type;               /* X_Reply */
   131      CARD8   unused;
   132      CARD16  sequenceNumber;
   133      CARD32  length;
   134      CARD32  status;
   135      CARD32  pad0;
   136      CARD32  pad1;
   137      CARD32  pad2;
   138      CARD32  pad3;
   139      CARD32  pad4;
   140  } xDMXForceWindowCreationReply;
   141  #define sz_xDMXForceWindowCreationReply 32
   142  
   143  /** Wire-level description of DMXGetScreenCount protocol request. */
   144  typedef struct {
   145      CARD8   reqType;            /* DMXCode */
   146      CARD8   dmxReqType;         /* X_DMXGetScreenCount */
   147      CARD16  length;
   148  } xDMXGetScreenCountReq;
   149  #define sz_xDMXGetScreenCountReq 4
   150  
   151  /** Wire-level description of DMXGetScreenCount protocol reply. */
   152  typedef struct {
   153      BYTE    type;               /* X_Reply */
   154      CARD8   unused;
   155      CARD16  sequenceNumber;
   156      CARD32  length;
   157      CARD32  screenCount;
   158      CARD32  pad0;
   159      CARD32  pad1;
   160      CARD32  pad2;
   161      CARD32  pad3;
   162      CARD32  pad4;
   163  } xDMXGetScreenCountReply;
   164  #define sz_xDMXGetScreenCountReply 32
   165  
   166  /** Wire-level description of DMXGetScreenAttributes protocol request. */
   167  typedef struct {
   168      CARD8   reqType;            /* DMXCode */
   169      CARD8   dmxReqType;         /* X_DMXGetScreenAttributes */
   170      CARD16  length;
   171      CARD32  physicalScreen;
   172  } xDMXGetScreenAttributesReq;
   173  #define sz_xDMXGetScreenAttributesReq 8
   174  
   175  /** Wire-level description of DMXGetScreenAttributes protocol reply. */
   176  typedef struct {
   177      BYTE    type;               /* X_Reply */
   178      CARD8   unused;
   179      CARD16  sequenceNumber;
   180      CARD32  length;
   181      CARD32  displayNameLength;
   182      CARD32  logicalScreen;
   183  
   184      CARD16  screenWindowWidth;
   185      CARD16  screenWindowHeight;
   186      INT16   screenWindowXoffset;
   187      INT16   screenWindowYoffset;
   188  
   189      CARD16  rootWindowWidth;
   190      CARD16  rootWindowHeight;
   191      INT16   rootWindowXoffset;
   192      INT16   rootWindowYoffset;
   193      INT16   rootWindowXorigin;
   194      INT16   rootWindowYorigin;
   195  } xDMXGetScreenAttributesReply;
   196  #define sz_xDMXGetScreenAttributesReply 36
   197  
   198  /** Wire-level description of DMXChangeScreensAttributes protocol request. */
   199  typedef struct {
   200      CARD8   reqType;            /* DMXCode */
   201      CARD8   dmxReqType;         /* X_DMXChangeScreensAttributes */
   202      CARD16  length;
   203      CARD32  screenCount;
   204      CARD32  maskCount;
   205  } xDMXChangeScreensAttributesReq;
   206  #define sz_xDMXChangeScreensAttributesReq 12
   207  
   208  /** Wire-level description of DMXChangeScreensAttributes protocol reply. */
   209  typedef struct {
   210      BYTE    type;               /* X_Reply */
   211      CARD8   unused;
   212      CARD16  sequenceNumber;
   213      CARD32  length;
   214      CARD32  status;
   215      CARD32  errorScreen;
   216      CARD32  pad0;
   217      CARD32  pad1;
   218      CARD32  pad2;
   219      CARD32  pad3;
   220  } xDMXChangeScreensAttributesReply;
   221  #define sz_xDMXChangeScreensAttributesReply 32
   222  
   223  /** Wire-level description of DMXAddScreen protocol request. */
   224  typedef struct {
   225      CARD8   reqType;            /* DMXCode */
   226      CARD8   dmxReqType;         /* X_DMXAddScreen */
   227      CARD16  length;
   228      CARD32  displayNameLength;
   229      CARD32  physicalScreen;
   230      CARD32  valueMask;
   231  } xDMXAddScreenReq;
   232  #define sz_xDMXAddScreenReq 16
   233  
   234  /** Wire-level description of DMXAddScreen protocol reply. */
   235  typedef struct {
   236      BYTE    type;               /* X_Reply */
   237      CARD8   unused;
   238      CARD16  sequenceNumber;
   239      CARD32  length;
   240      CARD32  status;
   241      CARD32  physicalScreen;
   242      CARD32  pad0;
   243      CARD32  pad1;
   244      CARD32  pad2;
   245      CARD32  pad3;
   246  } xDMXAddScreenReply;
   247  #define sz_xDMXAddScreenReply 32
   248  
   249  /** Wire-level description of DMXRemoveScreen protocol request. */
   250  typedef struct {
   251      CARD8   reqType;            /* DMXCode */
   252      CARD8   dmxReqType;         /* X_DMXRemoveScreen */
   253      CARD16  length;
   254      CARD32  physicalScreen;
   255  } xDMXRemoveScreenReq;
   256  #define sz_xDMXRemoveScreenReq 8
   257  
   258  /** Wire-level description of DMXRemoveScreen protocol reply. */
   259  typedef struct {
   260      BYTE    type;               /* X_Reply */
   261      CARD8   unused;
   262      CARD16  sequenceNumber;
   263      CARD32  length;
   264      CARD32  status;
   265      CARD32  pad0;
   266      CARD32  pad1;
   267      CARD32  pad2;
   268      CARD32  pad3;
   269      CARD32  pad4;
   270  } xDMXRemoveScreenReply;
   271  #define sz_xDMXRemoveScreenReply 32
   272  
   273  /** Wire-level description of DMXGetWindowAttributes protocol request. */
   274  typedef struct {
   275      CARD8   reqType;            /* DMXCode */
   276      CARD8   dmxReqType;         /* X_DMXGetWindowAttributes */
   277      CARD16  length;
   278      CARD32  window;
   279  } xDMXGetWindowAttributesReq;
   280  #define sz_xDMXGetWindowAttributesReq 8
   281  
   282  /** Wire-level description of DMXGetWindowAttributes protocol reply. */
   283  typedef struct {
   284      BYTE    type;               /* X_Reply */
   285      CARD8   unused;
   286      CARD16  sequenceNumber;
   287      CARD32  length;
   288      CARD32  screenCount;
   289      CARD32  pad0;
   290      CARD32  pad1;
   291      CARD32  pad2;
   292      CARD32  pad3;
   293      CARD32  pad4;
   294  } xDMXGetWindowAttributesReply;
   295  #define sz_xDMXGetWindowAttributesReply 32
   296  
   297  /** Wire-level description of DMXGetDesktopAttributes protocol request. */
   298  typedef struct {
   299      CARD8   reqType;            /* DMXCode */
   300      CARD8   dmxReqType;         /* X_DMXGetDesktopAttributes */
   301      CARD16  length;
   302  } xDMXGetDesktopAttributesReq;
   303  #define sz_xDMXGetDesktopAttributesReq 4
   304  
   305  /** Wire-level description of DMXGetDesktopAttributes protocol reply. */
   306  typedef struct {
   307      BYTE    type;               /* X_Reply */
   308      CARD8   unused;
   309      CARD16  sequenceNumber;
   310      CARD32  length;
   311      INT16   width;
   312      INT16   height;
   313      INT16   shiftX;
   314      INT16   shiftY;
   315      CARD32  pad0;
   316      CARD32  pad1;
   317      CARD32  pad2;
   318      CARD32  pad3;
   319  } xDMXGetDesktopAttributesReply;
   320  #define sz_xDMXGetDesktopAttributesReply 32
   321  
   322  /** Wire-level description of DMXChangeDesktopAttributes protocol request. */
   323  typedef struct {
   324      CARD8   reqType;            /* DMXCode */
   325      CARD8   dmxReqType;         /* X_DMXChangeDesktopAttributes */
   326      CARD16  length;
   327      CARD32  valueMask;
   328  } xDMXChangeDesktopAttributesReq;
   329  #define sz_xDMXChangeDesktopAttributesReq 8
   330  
   331  /** Wire-level description of DMXChangeDesktopAttributes protocol reply. */
   332  typedef struct {
   333      BYTE    type;               /* X_Reply */
   334      CARD8   unused;
   335      CARD16  sequenceNumber;
   336      CARD32  length;
   337      CARD32  status;
   338      CARD32  pad0;
   339      CARD32  pad1;
   340      CARD32  pad2;
   341      CARD32  pad3;
   342      CARD32  pad4;
   343  } xDMXChangeDesktopAttributesReply;
   344  #define sz_xDMXChangeDesktopAttributesReply 32
   345  
   346  /** Wire-level description of DMXGetInputCount protocol request. */
   347  typedef struct {
   348      CARD8   reqType;            /* DMXCode */
   349      CARD8   dmxReqType;         /* X_DMXGetInputCount */
   350      CARD16  length;
   351  } xDMXGetInputCountReq;
   352  #define sz_xDMXGetInputCountReq 4
   353  
   354  /** Wire-level description of DMXGetInputCount protocol reply. */
   355  typedef struct {
   356      BYTE    type;               /* X_Reply */
   357      CARD8   unused;
   358      CARD16  sequenceNumber;
   359      CARD32  length;
   360      CARD32  inputCount;
   361      CARD32  pad0;
   362      CARD32  pad1;
   363      CARD32  pad2;
   364      CARD32  pad3;
   365      CARD32  pad4;
   366  } xDMXGetInputCountReply;
   367  #define sz_xDMXGetInputCountReply 32
   368  
   369  /** Wire-level description of DMXGetInputAttributes protocol request. */
   370  typedef struct {
   371      CARD8   reqType;            /* DMXCode */
   372      CARD8   dmxReqType;         /* X_DMXGetInputAttributes */
   373      CARD16  length;
   374      CARD32  deviceId;
   375  } xDMXGetInputAttributesReq;
   376  #define sz_xDMXGetInputAttributesReq 8
   377  
   378  /** Wire-level description of DMXGetInputAttributes protocol reply. */
   379  typedef struct {
   380      BYTE    type;               /* X_Reply */
   381      CARD8   unused;
   382      CARD16  sequenceNumber;
   383      CARD32  length;
   384      CARD32  inputType;
   385      CARD32  physicalScreen;
   386      CARD32  physicalId;
   387      CARD32  nameLength;
   388      BOOL    isCore;
   389      BOOL    sendsCore;
   390      BOOL    detached;
   391      CARD8   pad0;
   392      CARD32  pad1;
   393  } xDMXGetInputAttributesReply;
   394  #define sz_xDMXGetInputAttributesReply 32
   395  
   396  /** Wire-level description of DMXAddInput protocol request. */
   397  typedef struct {
   398      CARD8   reqType;            /* DMXCode */
   399      CARD8   dmxReqType;         /* X_DMXAddInput */
   400      CARD16  length;
   401      CARD32  displayNameLength;
   402      CARD32  valueMask;
   403  } xDMXAddInputReq;
   404  #define sz_xDMXAddInputReq 12
   405  
   406  /** Wire-level description of DMXAddInput protocol reply. */
   407  typedef struct {
   408      BYTE    type;               /* X_Reply */
   409      CARD8   unused;
   410      CARD16  sequenceNumber;
   411      CARD32  length;
   412      CARD32  status;
   413      CARD32  physicalId;
   414      CARD32  pad0;
   415      CARD32  pad1;
   416      CARD32  pad2;
   417      CARD32  pad3;
   418  } xDMXAddInputReply;
   419  #define sz_xDMXAddInputReply 32
   420  
   421  /** Wire-level description of DMXRemoveInput protocol request. */
   422  typedef struct {
   423      CARD8   reqType;            /* DMXCode */
   424      CARD8   dmxReqType;         /* X_DMXRemoveInput */
   425      CARD16  length;
   426      CARD32  physicalId;
   427  } xDMXRemoveInputReq;
   428  #define sz_xDMXRemoveInputReq 8
   429  
   430  /** Wire-level description of DMXRemoveInput protocol reply. */
   431  typedef struct {
   432      BYTE     type;
   433      CARD8    unused;
   434      CARD16   sequenceNumber;
   435      CARD32   length;
   436      CARD32   status;
   437      CARD32   pad0;
   438      CARD32   pad1;
   439      CARD32   pad2;
   440      CARD32   pad3;
   441      CARD32   pad4;
   442  } xDMXRemoveInputReply;
   443  #define sz_xDMXRemoveInputReply 32
   444  
   445  #endif