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

Generated June 29, 2004 for Distributed Multihead X by doxygen 1.3.4.