Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals

# dmxproto.h

Go to the documentation of this file.

    00001 /* $XFree86$ */
    00002 /*
    00003  * Copyright 2002-2004 Red Hat Inc., Durham, North Carolina.
    00004  *
    00005  * All Rights Reserved.
    00006  *
    00007  * Permission is hereby granted, free of charge, to any person obtaining
    00008  * a copy of this software and associated documentation files (the
    00009  * "Software"), to deal in the Software without restriction, including
    00010  * without limitation on the rights to use, copy, modify, merge,
    00011  * publish, distribute, sublicense, and/or sell copies of the Software,
    00012  * and to permit persons to whom the Software is furnished to do so,
    00013  * subject to the following conditions:
    00014  *
    00015  * The above copyright notice and this permission notice (including the
    00016  * next paragraph) shall be included in all copies or substantial
    00017  * portions of the Software.
    00018  *
    00019  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    00020  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    00021  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    00022  * NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
    00023  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
    00024  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
    00025  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    00026  * SOFTWARE.
    00027  */
    00028
    00029 /*
    00030  * Authors:
    00031  *   Rickard E. (Rik) Faith <faith@redhat.com>
    00032  *
    00033  */
    00034
    00042 #ifndef _DMXSTR_H_
    00043 #define _DMXSTR_H_
    00044
    00045 #define DMX_EXTENSION_NAME  "DMX"
    00046 #define DMX_EXTENSION_MAJOR 2
    00047 #define DMX_EXTENSION_MINOR 2
    00048 #define DMX_EXTENSION_PATCH 20040604
    00049
    00050 /* These values must be larger than LastExtensionError.
    00051    The values in dmxext.h and dmxproto.h *MUST* match. */
    00052 #define DMX_BAD_XINERAMA     1001
    00053 #define DMX_BAD_VALUE        1002
    00054
    00055 #define X_DMXQueryVersion                   0
    00056 #define X_DMXGetScreenCount                 1
    00057 #define X_DMXGetScreenInformationDEPRECATED 2
    00058 #define X_DMXGetWindowAttributes            3
    00059 #define X_DMXGetInputCount                  4
    00060 #define X_DMXGetInputAttributes             5
    00061 #define X_DMXForceWindowCreationDEPRECATED  6
    00062 #define X_DMXReconfigureScreenDEPRECATED    7
    00063 #define X_DMXSync                           8
    00064 #define X_DMXForceWindowCreation            9
    00065 #define X_DMXGetScreenAttributes           10
    00066 #define X_DMXChangeScreensAttributes       11
    00067 #define X_DMXAddScreen                     12
    00068 #define X_DMXRemoveScreen                  13
    00069 #define X_DMXGetDesktopAttributes          14
    00070 #define X_DMXChangeDesktopAttributes       15
    00071 #define X_DMXAddInput                      16
    00072 #define X_DMXRemoveInput                   17
    00073
    00075 typedef struct {
    00076     CARD8   reqType;            /* dmxcode */
    00077     CARD8   dmxReqType;         /* X_DMXQueryVersion */
    00078     CARD16  length B16;
    00079 } xDMXQueryVersionReq;
    00080 #define sz_xDMXQueryVersionReq 4
    00081
    00083 typedef struct {
    00084     BYTE    type;               /* X_Reply */
    00085     CARD8   ununsed;
    00086     CARD16  sequenceNumber B16;
    00087     CARD32  length B32;
    00088     CARD32  majorVersion B32;
    00089     CARD32  minorVersion B32;
    00090     CARD32  patchVersion B32;
    00091     CARD32  pad0 B32;
    00092     CARD32  pad1 B32;
    00093     CARD32  pad2 B32;
    00094 } xDMXQueryVersionReply;
    00095 #define sz_xDMXQueryVersionReply 32
    00096
    00098 typedef struct {
    00099     CARD8   reqType;            /* DMXCode */
    00100     CARD8   dmxReqType;         /* X_DMXSync */
    00101     CARD16  length B16;
    00102 } xDMXSyncReq;
    00103 #define sz_xDMXSyncReq 4
    00104
    00106 typedef struct {
    00107     BYTE    type;               /* X_Reply */
    00108     CARD8   unused;
    00109     CARD16  sequenceNumber B16;
    00110     CARD32  length B32;
    00111     CARD32  status B32;
    00112     CARD32  pad0 B32;
    00113     CARD32  pad1 B32;
    00114     CARD32  pad2 B32;
    00115     CARD32  pad3 B32;
    00116     CARD32  pad4 B32;
    00117 } xDMXSyncReply;
    00118 #define sz_xDMXSyncReply 32
    00119
    00121 typedef struct {
    00122     CARD8   reqType;            /* DMXCode */
    00123     CARD8   dmxReqType;         /* X_DMXForceWindowCreation */
    00124     CARD16  length B16;
    00125     CARD32  window B32;
    00126 } xDMXForceWindowCreationReq;
    00127 #define sz_xDMXForceWindowCreationReq 8
    00128
    00130 typedef struct {
    00131     BYTE    type;               /* X_Reply */
    00132     CARD8   unused;
    00133     CARD16  sequenceNumber B16;
    00134     CARD32  length B32;
    00135     CARD32  status B32;
    00136     CARD32  pad0 B32;
    00137     CARD32  pad1 B32;
    00138     CARD32  pad2 B32;
    00139     CARD32  pad3 B32;
    00140     CARD32  pad4 B32;
    00141 } xDMXForceWindowCreationReply;
    00142 #define sz_xDMXForceWindowCreationReply 32
    00143
    00145 typedef struct {
    00146     CARD8   reqType;            /* DMXCode */
    00147     CARD8   dmxReqType;         /* X_DMXGetScreenCount */
    00148     CARD16  length B16;
    00149 } xDMXGetScreenCountReq;
    00150 #define sz_xDMXGetScreenCountReq 4
    00151
    00153 typedef struct {
    00154     BYTE    type;               /* X_Reply */
    00155     CARD8   unused;
    00156     CARD16  sequenceNumber B16;
    00157     CARD32  length B32;
    00158     CARD32  screenCount B32;
    00159     CARD32  pad0 B32;
    00160     CARD32  pad1 B32;
    00161     CARD32  pad2 B32;
    00162     CARD32  pad3 B32;
    00163     CARD32  pad4 B32;
    00164 } xDMXGetScreenCountReply;
    00165 #define sz_xDMXGetScreenCountReply 32
    00166
    00168 typedef struct {
    00169     CARD8   reqType;            /* DMXCode */
    00170     CARD8   dmxReqType;         /* X_DMXGetScreenAttributes */
    00171     CARD16  length B16;
    00172     CARD32  physicalScreen B32;
    00173 } xDMXGetScreenAttributesReq;
    00174 #define sz_xDMXGetScreenAttributesReq 8
    00175
    00177 typedef struct {
    00178     BYTE    type;               /* X_Reply */
    00179     CARD8   unused;
    00180     CARD16  sequenceNumber B16;
    00181     CARD32  length B32;
    00182     CARD32  displayNameLength B32;
    00183     CARD32  logicalScreen B32;
    00184
    00185     CARD16  screenWindowWidth B16;
    00186     CARD16  screenWindowHeight B16;
    00187     INT16   screenWindowXoffset B16;
    00188     INT16   screenWindowYoffset B16;
    00189
    00190     CARD16  rootWindowWidth B16;
    00191     CARD16  rootWindowHeight B16;
    00192     INT16   rootWindowXoffset B16;
    00193     INT16   rootWindowYoffset B16;
    00194     INT16   rootWindowXorigin B16;
    00195     INT16   rootWindowYorigin B16;
    00196 } xDMXGetScreenAttributesReply;
    00197 #define sz_xDMXGetScreenAttributesReply 36
    00198
    00200 typedef struct {
    00201     CARD8   reqType;            /* DMXCode */
    00202     CARD8   dmxReqType;         /* X_DMXChangeScreensAttributes */
    00203     CARD16  length B16;
    00204     CARD32  screenCount B32;
    00205     CARD32  maskCount B32;
    00206 } xDMXChangeScreensAttributesReq;
    00207 #define sz_xDMXChangeScreensAttributesReq 12
    00208
    00210 typedef struct {
    00211     BYTE    type;               /* X_Reply */
    00212     CARD8   unused;
    00213     CARD16  sequenceNumber B16;
    00214     CARD32  length B32;
    00215     CARD32  status B32;
    00216     CARD32  errorScreen B32;
    00217     CARD32  pad0 B32;
    00218     CARD32  pad1 B32;
    00219     CARD32  pad2 B32;
    00220     CARD32  pad3 B32;
    00221 } xDMXChangeScreensAttributesReply;
    00222 #define sz_xDMXChangeScreensAttributesReply 32
    00223
    00225 typedef struct {
    00226     CARD8   reqType;            /* DMXCode */
    00227     CARD8   dmxReqType;         /* X_DMXAddScreen */
    00228     CARD16  length B16;
    00229     CARD32  displayNameLength B32;
    00230     CARD32  physicalScreen B32;
    00231     CARD32  valueMask B32;
    00232 } xDMXAddScreenReq;
    00233 #define sz_xDMXAddScreenReq 16
    00234
    00236 typedef struct {
    00237     BYTE    type;               /* X_Reply */
    00238     CARD8   unused;
    00239     CARD16  sequenceNumber B16;
    00240     CARD32  length B32;
    00241     CARD32  status B32;
    00242     CARD32  physicalScreen B32;
    00243     CARD32  pad0 B32;
    00244     CARD32  pad1 B32;
    00245     CARD32  pad2 B32;
    00246     CARD32  pad3 B32;
    00247 } xDMXAddScreenReply;
    00248 #define sz_xDMXAddScreenReply 32
    00249
    00251 typedef struct {
    00252     CARD8   reqType;            /* DMXCode */
    00253     CARD8   dmxReqType;         /* X_DMXRemoveScreen */
    00254     CARD16  length B16;
    00255     CARD32  physicalScreen B32;
    00256 } xDMXRemoveScreenReq;
    00257 #define sz_xDMXRemoveScreenReq 8
    00258
    00260 typedef struct {
    00261     BYTE    type;               /* X_Reply */
    00262     CARD8   unused;
    00263     CARD16  sequenceNumber B16;
    00264     CARD32  length B32;
    00265     CARD32  status B32;
    00266     CARD32  pad0 B32;
    00267     CARD32  pad1 B32;
    00268     CARD32  pad2 B32;
    00269     CARD32  pad3 B32;
    00270     CARD32  pad4 B32;
    00271 } xDMXRemoveScreenReply;
    00272 #define sz_xDMXRemoveScreenReply 32
    00273
    00275 typedef struct {
    00276     CARD8   reqType;            /* DMXCode */
    00277     CARD8   dmxReqType;         /* X_DMXGetWindowAttributes */
    00278     CARD16  length B16;
    00279     CARD32  window B32;
    00280 } xDMXGetWindowAttributesReq;
    00281 #define sz_xDMXGetWindowAttributesReq 8
    00282
    00284 typedef struct {
    00285     BYTE    type;               /* X_Reply */
    00286     CARD8   unused;
    00287     CARD16  sequenceNumber B16;
    00288     CARD32  length B32;
    00289     CARD32  screenCount B32;
    00290     CARD32  pad0 B32;
    00291     CARD32  pad1 B32;
    00292     CARD32  pad2 B32;
    00293     CARD32  pad3 B32;
    00294     CARD32  pad4 B32;
    00295 } xDMXGetWindowAttributesReply;
    00296 #define sz_xDMXGetWindowAttributesReply 32
    00297
    00299 typedef struct {
    00300     CARD8   reqType;            /* DMXCode */
    00301     CARD8   dmxReqType;         /* X_DMXGetDesktopAttributes */
    00302     CARD16  length B16;
    00303 } xDMXGetDesktopAttributesReq;
    00304 #define sz_xDMXGetDesktopAttributesReq 4
    00305
    00307 typedef struct {
    00308     BYTE    type;               /* X_Reply */
    00309     CARD8   unused;
    00310     CARD16  sequenceNumber B16;
    00311     CARD32  length B32;
    00312     INT16   width;
    00313     INT16   height;
    00314     INT16   shiftX;
    00315     INT16   shiftY;
    00316     CARD32  pad0 B32;
    00317     CARD32  pad1 B32;
    00318     CARD32  pad2 B32;
    00319     CARD32  pad3 B32;
    00320 } xDMXGetDesktopAttributesReply;
    00321 #define sz_xDMXGetDesktopAttributesReply 32
    00322
    00324 typedef struct {
    00325     CARD8   reqType;            /* DMXCode */
    00326     CARD8   dmxReqType;         /* X_DMXChangeDesktopAttributes */
    00327     CARD16  length B16;
    00328     CARD32  valueMask B32;
    00329 } xDMXChangeDesktopAttributesReq;
    00330 #define sz_xDMXChangeDesktopAttributesReq 8
    00331
    00333 typedef struct {
    00334     BYTE    type;               /* X_Reply */
    00335     CARD8   unused;
    00336     CARD16  sequenceNumber B16;
    00337     CARD32  length B32;
    00338     CARD32  status B32;
    00339     CARD32  pad0 B32;
    00340     CARD32  pad1 B32;
    00341     CARD32  pad2 B32;
    00342     CARD32  pad3 B32;
    00343     CARD32  pad4 B32;
    00344 } xDMXChangeDesktopAttributesReply;
    00345 #define sz_xDMXChangeDesktopAttributesReply 32
    00346
    00348 typedef struct {
    00349     CARD8   reqType;            /* DMXCode */
    00350     CARD8   dmxReqType;         /* X_DMXGetInputCount */
    00351     CARD16  length B16;
    00352 } xDMXGetInputCountReq;
    00353 #define sz_xDMXGetInputCountReq 4
    00354
    00356 typedef struct {
    00357     BYTE    type;               /* X_Reply */
    00358     CARD8   unused;
    00359     CARD16  sequenceNumber B16;
    00360     CARD32  length B32;
    00361     CARD32  inputCount B32;
    00362     CARD32  pad0 B32;
    00363     CARD32  pad1 B32;
    00364     CARD32  pad2 B32;
    00365     CARD32  pad3 B32;
    00366     CARD32  pad4 B32;
    00367 } xDMXGetInputCountReply;
    00368 #define sz_xDMXGetInputCountReply 32
    00369
    00371 typedef struct {
    00372     CARD8   reqType;            /* DMXCode */
    00373     CARD8   dmxReqType;         /* X_DMXGetInputAttributes */
    00374     CARD16  length B16;
    00375     CARD32  deviceId B32;
    00376 } xDMXGetInputAttributesReq;
    00377 #define sz_xDMXGetInputAttributesReq 8
    00378
    00380 typedef struct {
    00381     BYTE    type;               /* X_Reply */
    00382     CARD8   unused;
    00383     CARD16  sequenceNumber B16;
    00384     CARD32  length B32;
    00385     CARD32  inputType B32;
    00386     CARD32  physicalScreen B32;
    00387     CARD32  physicalId B32;
    00388     CARD32  nameLength B32;
    00389     BOOL    isCore;
    00390     BOOL    sendsCore;
    00391     BOOL    detached;
    00392     CARD8   pad0;
    00393     CARD32  pad1 B32;
    00394 } xDMXGetInputAttributesReply;
    00395 #define sz_xDMXGetInputAttributesReply 32
    00396
    00398 typedef struct {
    00399     CARD8   reqType;            /* DMXCode */
    00400     CARD8   dmxReqType;         /* X_DMXAddInput */
    00401     CARD16  length B16;
    00402     CARD32  displayNameLength B32;
    00403     CARD32  valueMask;
    00404 } xDMXAddInputReq;
    00405 #define sz_xDMXAddInputReq 12
    00406
    00408 typedef struct {
    00409     BYTE    type;               /* X_Reply */
    00410     CARD8   unused;
    00411     CARD16  sequenceNumber B16;
    00412     CARD32  length B32;
    00413     CARD32  status B32;
    00414     CARD32  physicalId B32;
    00415     CARD32  pad0 B32;
    00416     CARD32  pad1 B32;
    00417     CARD32  pad2 B32;
    00418     CARD32  pad3 B32;
    00419 } xDMXAddInputReply;
    00420 #define sz_xDMXAddInputReply 32
    00421
    00423 typedef struct {
    00424     CARD8   reqType;            /* DMXCode */
    00425     CARD8   dmxReqType;         /* X_DMXRemoveInput */
    00426     CARD16  length B16;
    00427     CARD32  physicalId B32;
    00428 } xDMXRemoveInputReq;
    00429 #define sz_xDMXRemoveInputReq 8
    00430
    00432 typedef struct {
    00433     BYTE     type;
    00434     CARD8    unused;
    00435     CARD16   sequenceNumber B16;
    00436     CARD32   length B32;
    00437     CARD32   status B32;
    00438     CARD32   pad0 B32;
    00439     CARD32   pad1 B32;
    00440     CARD32   pad2 B32;
    00441     CARD32   pad3 B32;
    00442     CARD32   pad4 B32;
    00443 } xDMXRemoveInputReply;
    00444 #define sz_xDMXRemoveInputReply 32
    00445
    00446 #endif