1 /* $XFree86: xc/lib/GL/dri/xf86dristr.h,v 1.9 2001/03/21 16:01:08 dawes Exp $ */ 2 /************************************************************************** 3 4 Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. 5 Copyright 2000 VA Linux Systems, Inc. 6 Copyright (c) 2002 Apple Computer, Inc. 7 All Rights Reserved. 8 9 Permission is hereby granted, free of charge, to any person obtaining a 10 copy of this software and associated documentation files (the 11 "Software"), to deal in the Software without restriction, including 12 without limitation the rights to use, copy, modify, merge, publish, 13 distribute, sub license, and/or sell copies of the Software, and to 14 permit persons to whom the Software is furnished to do so, subject to 15 the following conditions: 16 17 The above copyright notice and this permission notice (including the 18 next paragraph) shall be included in all copies or substantial portions 19 of the Software. 20 21 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 22 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 23 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 24 IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR 25 ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 26 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 27 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 28 29 **************************************************************************/ 30 31 /* 32 * Authors: 33 * Kevin E. Martin <martin@valinux.com> 34 * Jens Owen <jens@valinux.com> 35 * Rickard E. (Rik) Fiath <faith@valinux.com> 36 * 37 */ 38 39 #ifndef _APPLEWMSTR_H_ 40 #define _APPLEWMSTR_H_ 41 42 #include "applewm.h" 43 44 #define APPLEWMNAME "Apple-WM" 45 46 #define APPLE_WM_MAJOR_VERSION 1 /* current version numbers */ 47 #define APPLE_WM_MINOR_VERSION 0 48 #define APPLE_WM_PATCH_VERSION 0 49 50 typedef struct _AppleWMQueryVersion { 51 CARD8 reqType; /* always WMReqCode */ 52 CARD8 wmReqType; /* always X_WMQueryVersion */ 53 CARD16 length B16; 54 } xAppleWMQueryVersionReq; 55 #define sz_xAppleWMQueryVersionReq 4 56 57 typedef struct { 58 BYTE type; /* X_Reply */ 59 BOOL pad1; 60 CARD16 sequenceNumber B16; 61 CARD32 length B32; 62 CARD16 majorVersion B16; /* major version of WM protocol */ 63 CARD16 minorVersion B16; /* minor version of WM protocol */ 64 CARD32 patchVersion B32; /* patch version of WM protocol */ 65 CARD32 pad3 B32; 66 CARD32 pad4 B32; 67 CARD32 pad5 B32; 68 CARD32 pad6 B32; 69 } xAppleWMQueryVersionReply; 70 #define sz_xAppleWMQueryVersionReply 32 71 72 typedef struct _AppleWMQueryDirectRenderingCapable { 73 CARD8 reqType; /* always WMReqCode */ 74 CARD8 wmReqType; /* X_WMQueryDirectRenderingCapable */ 75 CARD16 length B16; 76 CARD32 screen B32; 77 } xAppleWMQueryDirectRenderingCapableReq; 78 #define sz_xAppleWMQueryDirectRenderingCapableReq 8 79 80 typedef struct { 81 BYTE type; /* X_Reply */ 82 BOOL pad1; 83 CARD16 sequenceNumber B16; 84 CARD32 length B32; 85 BOOL isCapable; 86 BOOL pad2; 87 BOOL pad3; 88 BOOL pad4; 89 CARD32 pad5 B32; 90 CARD32 pad6 B32; 91 CARD32 pad7 B32; 92 CARD32 pad8 B32; 93 CARD32 pad9 B32; 94 } xAppleDRIQueryDirectRenderingCapableReply; 95 #define sz_xAppleWMQueryDirectRenderingCapableReply 32 96 97 typedef struct _AppleWMAuthConnection { 98 CARD8 reqType; /* always WMReqCode */ 99 CARD8 wmReqType; /* always X_WMCloseConnection */ 100 CARD16 length B16; 101 CARD32 screen B32; 102 CARD32 magic B32; 103 } xAppleWMAuthConnectionReq; 104 #define sz_xAppleWMAuthConnectionReq 12 105 106 typedef struct { 107 BYTE type; 108 BOOL pad1; 109 CARD16 sequenceNumber B16; 110 CARD32 length B32; 111 CARD32 authenticated B32; 112 CARD32 pad2 B32; 113 CARD32 pad3 B32; 114 CARD32 pad4 B32; 115 CARD32 pad5 B32; 116 CARD32 pad6 B32; 117 } xAppleWMAuthConnectionReply; 118 #define zx_xAppleWMAuthConnectionReply 32 119 120 typedef struct _AppleWMCreateSurface { 121 CARD8 reqType; /* always WMReqCode */ 122 CARD8 wmReqType; /* always X_WMCreateSurface */ 123 CARD16 length B16; 124 CARD32 screen B32; 125 CARD32 drawable B32; 126 CARD32 client_id B32; 127 } xAppleWMCreateSurfaceReq; 128 #define sz_xAppleWMCreateSurfaceReq 16 129 130 typedef struct { 131 BYTE type; /* X_Reply */ 132 BOOL pad1; 133 CARD16 sequenceNumber B16; 134 CARD32 length B32; 135 CARD32 key_0 B32; 136 CARD32 key_1 B32; 137 CARD32 uid B32; 138 CARD32 pad4 B32; 139 CARD32 pad5 B32; 140 CARD32 pad6 B32; 141 } xAppleWMCreateSurfaceReply; 142 #define sz_xAppleWMCreateSurfaceReply 32 143 144 typedef struct _AppleWMDestroySurface { 145 CARD8 reqType; /* always WMReqCode */ 146 CARD8 wmReqType; /* always X_WMDestroySurface */ 147 CARD16 length B16; 148 CARD32 screen B32; 149 CARD32 drawable B32; 150 } xAppleWMDestroySurfaceReq; 151 #define sz_xAppleWMDestroySurfaceReq 12 152 153 typedef struct _AppleWMDisableUpdate { 154 CARD8 reqType; /* always WMReqCode */ 155 CARD8 wmReqType; /* always X_WMDisableUpdate */ 156 CARD16 length B16; 157 CARD32 screen B32; 158 } xAppleWMDisableUpdateReq; 159 #define sz_xAppleWMDisableUpdateReq 8 160 161 typedef struct _AppleWMReenableUpdate { 162 CARD8 reqType; /* always WMReqCode */ 163 CARD8 wmReqType; /* always X_WMReenableUpdate */ 164 CARD16 length B16; 165 CARD32 screen B32; 166 } xAppleWMReenableUpdateReq; 167 #define sz_xAppleWMReenableUpdateReq 8 168 169 typedef struct _AppleWMSelectInput { 170 CARD8 reqType; /* always WMReqCode */ 171 CARD8 wmReqType; /* always X_WMSelectInput */ 172 CARD16 length B16; 173 CARD32 mask B32; 174 } xAppleWMSelectInputReq; 175 #define sz_xAppleWMSelectInputReq 8 176 177 typedef struct _AppleWMNotify { 178 BYTE type; /* always eventBase + event type */ 179 BYTE kind; 180 CARD16 sequenceNumber B16; 181 Time time B32; /* time of change */ 182 CARD16 pad1 B16; 183 CARD32 arg B32; 184 CARD32 pad3 B32; 185 } xAppleWMNotifyEvent; 186 #define sz_xAppleWMNotifyEvent 20 187 188 typedef struct _AppleWMSetWindowMenu { 189 CARD8 reqType; /* always WMReqCode */ 190 CARD8 wmReqType; /* always X_WMSetWindowMenu */ 191 CARD16 length B16; 192 CARD16 nitems B16; 193 CARD16 pad1 B16; 194 } xAppleWMSetWindowMenuReq; 195 #define sz_xAppleWMSetWindowMenuReq 8 196 197 typedef struct _AppleWMSetWindowMenuCheck { 198 CARD8 reqType; /* always WMReqCode */ 199 CARD8 wmReqType; /* always X_WMSetWindowMenuCheck */ 200 CARD16 length B16; 201 CARD32 index; 202 } xAppleWMSetWindowMenuCheckReq; 203 #define sz_xAppleWMSetWindowMenuCheckReq 8 204 205 typedef struct _AppleWMSetFrontProcess { 206 CARD8 reqType; /* always WMReqCode */ 207 CARD8 wmReqType; /* always X_WMSetFrontProcess */ 208 CARD16 length B16; 209 } xAppleWMSetFrontProcessReq; 210 #define sz_xAppleWMSetFrontProcessReq 4 211 212 typedef struct _AppleWMSetWindowLevel { 213 CARD8 reqType; /* always WMReqCode */ 214 CARD8 wmReqType; /* always X_WMSetWindowLevel */ 215 CARD16 length B16; 216 CARD32 window; 217 CARD32 level; 218 } xAppleWMSetWindowLevelReq; 219 #define sz_xAppleWMSetWindowLevelReq 12 220 221 typedef struct _AppleWMSetCanQuit { 222 CARD8 reqType; /* always WMReqCode */ 223 CARD8 wmReqType; /* always X_WMSetCanQuit */ 224 CARD16 length B16; 225 CARD32 state; 226 } xAppleWMSetCanQuitReq; 227 #define sz_xAppleWMSetCanQuitReq 8 228 229 typedef struct _AppleWMFrameGetRect { 230 CARD8 reqType; /* always WMReqCode */ 231 CARD8 wmReqType; /* always X_WMFrameGetRect */ 232 CARD16 length B16; 233 CARD16 frame_class B16; 234 CARD16 frame_rect B16; 235 CARD16 ix B16; 236 CARD16 iy B16; 237 CARD16 iw B16; 238 CARD16 ih B16; 239 CARD16 ox B16; 240 CARD16 oy B16; 241 CARD16 ow B16; 242 CARD16 oh B16; 243 } xAppleWMFrameGetRectReq; 244 #define sz_xAppleWMFrameGetRectReq 24 245 246 typedef struct { 247 BYTE type; /* X_Reply */ 248 BOOL pad1; 249 CARD16 sequenceNumber B16; 250 CARD32 length B32; 251 CARD16 x B16; 252 CARD16 y B16; 253 CARD16 w B16; 254 CARD16 h B16; 255 CARD32 pad3 B32; 256 CARD32 pad4 B32; 257 CARD32 pad5 B32; 258 CARD32 pad6 B32; 259 } xAppleWMFrameGetRectReply; 260 #define sz_xAppleWMFrameGetRectReply 32 261 262 typedef struct _AppleWMFrameHitTest { 263 CARD8 reqType; /* always WMReqCode */ 264 CARD8 wmReqType; /* always X_WMFrameHitTest */ 265 CARD16 length B16; 266 CARD16 frame_class B16; 267 CARD16 pad1 B16; 268 CARD16 px B16; 269 CARD16 py B16; 270 CARD16 ix B16; 271 CARD16 iy B16; 272 CARD16 iw B16; 273 CARD16 ih B16; 274 CARD16 ox B16; 275 CARD16 oy B16; 276 CARD16 ow B16; 277 CARD16 oh B16; 278 } xAppleWMFrameHitTestReq; 279 #define sz_xAppleWMFrameHitTestReq 28 280 281 typedef struct { 282 BYTE type; /* X_Reply */ 283 BOOL pad1; 284 CARD16 sequenceNumber B16; 285 CARD32 length B32; 286 CARD32 ret B32; 287 CARD32 pad2 B32; 288 CARD32 pad3 B32; 289 CARD32 pad4 B32; 290 CARD32 pad5 B32; 291 CARD32 pad6 B32; 292 } xAppleWMFrameHitTestReply; 293 #define sz_xAppleWMFrameHitTestReply 32 294 295 typedef struct _AppleWMFrameDraw { 296 CARD8 reqType; /* always WMReqCode */ 297 CARD8 wmReqType; /* always X_WMFrameDraw */ 298 CARD16 length B16; 299 CARD32 screen B32; 300 CARD32 window B32; 301 CARD16 frame_class B16; 302 CARD16 frame_attr B16; 303 CARD16 ix B16; 304 CARD16 iy B16; 305 CARD16 iw B16; 306 CARD16 ih B16; 307 CARD16 ox B16; 308 CARD16 oy B16; 309 CARD16 ow B16; 310 CARD16 oh B16; 311 CARD32 title_length B32; 312 } xAppleWMFrameDrawReq; 313 #define sz_xAppleWMFrameDrawReq 36 314 315 #ifdef _APPLEWM_SERVER_ 316 317 void AppleWMSendEvent ( 318 #if NeedFunctionPrototypes 319 int /* type */, 320 unsigned int /* mask */, 321 int /* which */, 322 int /* arg */ 323 #endif 324 ); 325 326 unsigned int AppleWMSelectedEvents ( 327 #if NeedFunctionPrototypes 328 void 329 #endif 330 ); 331 332 #endif /* _APPLEWM_SERVER_ */ 333 #endif /* _APPLEWMSTR_H_ */ 334