Home | History | Annotate | Download | only in extensions
      1 /* $XFree86: xc/include/extensions/Xagstr.h,v 1.4 2001/12/14 19:53:28 dawes Exp $ */
      2 /*
      3 Copyright 1996, 1998, 2001  The Open Group
      4 
      5 Permission to use, copy, modify, distribute, and sell this software and its
      6 documentation for any purpose is hereby granted without fee, provided that
      7 the above copyright notice appear in all copies and that both that
      8 copyright notice and this permission notice appear in supporting
      9 documentation.
     10 
     11 The above copyright notice and this permission notice shall be included
     12 in all copies or substantial portions of the Software.
     13 
     14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
     15 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     16 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
     17 IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
     18 OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     19 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     20 OTHER DEALINGS IN THE SOFTWARE.
     21 
     22 Except as contained in this notice, the name of The Open Group shall
     23 not be used in advertising or otherwise to promote the sale, use or
     24 other dealings in this Software without prior written authorization
     25 from The Open Group.
     26 */
     27 /* $Xorg: Xagstr.h,v 1.6 2001/02/09 02:03:24 xorgcvs Exp $ */
     28 
     29 #ifndef _XAGSTR_H_ /* { */
     30 #define _XAGSTR_H_
     31 
     32 #include <X11/extensions/Xag.h>
     33 
     34 #define XAppGroup CARD32
     35 
     36 #define XAGNAME "XC-APPGROUP"
     37 
     38 #define XAG_MAJOR_VERSION	1	/* current version numbers */
     39 #define XAG_MINOR_VERSION	0
     40 
     41 #define XagWindowTypeX11	0
     42 #define XagWindowTypeMacintosh	1
     43 #define XagWindowTypeWin32	2
     44 #define XagWindowTypeWin16	3
     45 
     46 /*
     47 * Redefine some basic types used by structures defined herein.  This allows
     48 * both the library and server to view communicated data as 32-bit entities,
     49 * thus preventing problems on 64-bit architectures where libXext sees this
     50 * data as 64 bits and the server sees it as 32 bits.
     51 */
     52 
     53 #define Colormap CARD32
     54 #define VisualID CARD32
     55 #define Window CARD32
     56 
     57 typedef struct _XagQueryVersion {
     58     CARD8	reqType;	/* always XagReqCode */
     59     CARD8	xagReqType;	/* always X_XagQueryVersion */
     60     CARD16	length B16;
     61     CARD16	client_major_version B16;
     62     CARD16	client_minor_version B16;
     63 } xXagQueryVersionReq;
     64 #define sz_xXagQueryVersionReq		8
     65 
     66 typedef struct {
     67     BYTE	type;		/* X_Reply */
     68     BOOL	pad1;
     69     CARD16	sequence_number B16;
     70     CARD32	length B32;
     71     CARD16	server_major_version B16;
     72     CARD16	server_minor_version B16;
     73     CARD32	pad2 B32;
     74     CARD32	pad3 B32;
     75     CARD32	pad4 B32;
     76     CARD32	pad5 B32;
     77     CARD32	pad6 B32;
     78 } xXagQueryVersionReply;
     79 #define sz_xXagQueryVersionReply	32
     80 
     81 /* Set AppGroup Attributes masks */
     82 #define XagSingleScreenMask		1 << 0
     83 #define XagDefaultRootMask		1 << XagNdefaultRoot
     84 #define XagRootVisualMask		1 << XagNrootVisual
     85 #define XagDefaultColormapMask		1 << XagNdefaultColormap
     86 #define XagBlackPixelMask		1 << XagNblackPixel
     87 #define XagWhitePixelMask		1 << XagNwhitePixel
     88 #define XagAppGroupLeaderMask		1 << XagNappGroupLeader
     89 
     90 typedef struct _XagCreate {
     91     CARD8	reqType;	/* always XagReqCode */
     92     CARD8	xagReqType;	/* always X_XagCreate */
     93     CARD16	length B16;
     94     XAppGroup	app_group B32;
     95     CARD32	attrib_mask B32; /* LISTofVALUE follows */
     96 } xXagCreateReq;
     97 #define sz_xXagCreateReq		12
     98 
     99 typedef struct _XagDestroy {
    100     CARD8	reqType;	/* always XagReqCode */
    101     CARD8	xagReqType;	/* always X_XagDestroy */
    102     CARD16	length B16;
    103     XAppGroup	app_group  B32;
    104 } xXagDestroyReq;
    105 #define sz_xXagDestroyReq		8
    106 
    107 typedef struct _XagGetAttr {
    108     CARD8	reqType;	/* always XagReqCode */
    109     CARD8	xagReqType;	/* always X_XagGetAttr */
    110     CARD16	length B16;
    111     XAppGroup	app_group B32;
    112 } xXagGetAttrReq;
    113 #define sz_xXagGetAttrReq		8
    114 
    115 typedef struct {
    116     BYTE	type;		/* X_Reply */
    117     BOOL	pad1;
    118     CARD16	sequence_number B16;
    119     CARD32	length B32;
    120     Window	default_root B32;
    121     VisualID	root_visual B32;
    122     Colormap	default_colormap B32;
    123     CARD32	black_pixel B32;
    124     CARD32	white_pixel B32;
    125     BOOL	single_screen;
    126     BOOL	app_group_leader;
    127     CARD16	pad2 B16;
    128 } xXagGetAttrReply;
    129 #define sz_xXagGetAttrReply		32
    130 
    131 typedef struct _XagQuery {
    132     CARD8	reqType;	/* always XagReqCode */
    133     CARD8	xagReqType;	/* always X_XagQuery */
    134     CARD16	length B16;
    135     CARD32	resource B32;
    136 } xXagQueryReq;
    137 #define sz_xXagQueryReq			8
    138 
    139 typedef struct {
    140     BYTE	type;		/* X_Reply */
    141     BOOL	pad1;
    142     CARD16	sequence_number B16;
    143     CARD32	length B32;
    144     XAppGroup	app_group B32;
    145     CARD32	pad2 B32;
    146     CARD32	pad3 B32;
    147     CARD32	pad4 B32;
    148     CARD32	pad5 B32;
    149     CARD32	pad6 B32;
    150 } xXagQueryReply;
    151 #define sz_xXagQueryReply		32
    152 
    153 typedef struct _XagCreateAssoc {
    154     CARD8	reqType;	/* always XagReqCode */
    155     CARD8	xagReqType;	/* always X_XagCreateAssoc */
    156     CARD16	length B16;
    157     Window	window B32;
    158     CARD16	window_type B16;
    159     CARD16	system_window_len B16; /* LISTofCARD8 follows */
    160 } xXagCreateAssocReq;
    161 #define sz_xXagCreateAssocReq		12
    162 
    163 typedef struct _XagDestroyAssoc {
    164     CARD8	reqType;	/* always XagReqCode */
    165     CARD8	xagReqType;	/* always X_XagDestroyAssoc */
    166     CARD16	length B16;
    167     Window	window B32;
    168 } xXagDestroyAssocReq;
    169 #define sz_xXagDestroyAssocReq		8
    170 
    171 #undef XAppGroup
    172 /*
    173  * Cancel the previous redefinition of the basic types, thus restoring their
    174  * X.h definitions.
    175  */
    176 
    177 #undef Window
    178 #undef Colormap
    179 #undef VisualID
    180 
    181 #endif /* } _XAGSTR_H_ */
    182 
    183