00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
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 
00051 
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;            
00077     CARD8   dmxReqType;         
00078     CARD16  length B16;
00079 } xDMXQueryVersionReq;
00080 #define sz_xDMXQueryVersionReq 4
00081 
00083 typedef struct {
00084     BYTE    type;               
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;            
00100     CARD8   dmxReqType;         
00101     CARD16  length B16;
00102 } xDMXSyncReq;
00103 #define sz_xDMXSyncReq 4
00104 
00106 typedef struct {
00107     BYTE    type;               
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;            
00123     CARD8   dmxReqType;         
00124     CARD16  length B16;
00125     CARD32  window B32;
00126 } xDMXForceWindowCreationReq;
00127 #define sz_xDMXForceWindowCreationReq 8
00128 
00130 typedef struct {
00131     BYTE    type;               
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;            
00147     CARD8   dmxReqType;         
00148     CARD16  length B16;
00149 } xDMXGetScreenCountReq;
00150 #define sz_xDMXGetScreenCountReq 4
00151 
00153 typedef struct {
00154     BYTE    type;               
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;            
00170     CARD8   dmxReqType;         
00171     CARD16  length B16;
00172     CARD32  physicalScreen B32;
00173 } xDMXGetScreenAttributesReq;
00174 #define sz_xDMXGetScreenAttributesReq 8
00175 
00177 typedef struct {
00178     BYTE    type;               
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;            
00202     CARD8   dmxReqType;         
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;               
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;            
00227     CARD8   dmxReqType;         
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;               
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;            
00253     CARD8   dmxReqType;         
00254     CARD16  length B16;
00255     CARD32  physicalScreen B32;
00256 } xDMXRemoveScreenReq;
00257 #define sz_xDMXRemoveScreenReq 8
00258 
00260 typedef struct {
00261     BYTE    type;               
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;            
00277     CARD8   dmxReqType;         
00278     CARD16  length B16;
00279     CARD32  window B32;
00280 } xDMXGetWindowAttributesReq;
00281 #define sz_xDMXGetWindowAttributesReq 8
00282 
00284 typedef struct {
00285     BYTE    type;               
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;            
00301     CARD8   dmxReqType;         
00302     CARD16  length B16;
00303 } xDMXGetDesktopAttributesReq;
00304 #define sz_xDMXGetDesktopAttributesReq 4
00305 
00307 typedef struct {
00308     BYTE    type;               
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;            
00326     CARD8   dmxReqType;         
00327     CARD16  length B16;
00328     CARD32  valueMask B32;
00329 } xDMXChangeDesktopAttributesReq;
00330 #define sz_xDMXChangeDesktopAttributesReq 8
00331 
00333 typedef struct {
00334     BYTE    type;               
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;            
00350     CARD8   dmxReqType;         
00351     CARD16  length B16;
00352 } xDMXGetInputCountReq;
00353 #define sz_xDMXGetInputCountReq 4
00354 
00356 typedef struct {
00357     BYTE    type;               
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;            
00373     CARD8   dmxReqType;         
00374     CARD16  length B16;
00375     CARD32  deviceId B32;
00376 } xDMXGetInputAttributesReq;
00377 #define sz_xDMXGetInputAttributesReq 8
00378 
00380 typedef struct {
00381     BYTE    type;               
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;            
00400     CARD8   dmxReqType;         
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;               
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;            
00425     CARD8   dmxReqType;         
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