1*61046927SAndroid Build Coastguard Worker /************************************************************************** 2*61046927SAndroid Build Coastguard Worker 3*61046927SAndroid Build Coastguard Worker Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. 4*61046927SAndroid Build Coastguard Worker Copyright 2000 VA Linux Systems, Inc. 5*61046927SAndroid Build Coastguard Worker Copyright (c) 2002, 2008, 2009 Apple Computer, Inc. 6*61046927SAndroid Build Coastguard Worker All Rights Reserved. 7*61046927SAndroid Build Coastguard Worker 8*61046927SAndroid Build Coastguard Worker Permission is hereby granted, free of charge, to any person obtaining a 9*61046927SAndroid Build Coastguard Worker copy of this software and associated documentation files (the 10*61046927SAndroid Build Coastguard Worker "Software"), to deal in the Software without restriction, including 11*61046927SAndroid Build Coastguard Worker without limitation the rights to use, copy, modify, merge, publish, 12*61046927SAndroid Build Coastguard Worker distribute, sub license, and/or sell copies of the Software, and to 13*61046927SAndroid Build Coastguard Worker permit persons to whom the Software is furnished to do so, subject to 14*61046927SAndroid Build Coastguard Worker the following conditions: 15*61046927SAndroid Build Coastguard Worker 16*61046927SAndroid Build Coastguard Worker The above copyright notice and this permission notice (including the 17*61046927SAndroid Build Coastguard Worker next paragraph) shall be included in all copies or substantial portions 18*61046927SAndroid Build Coastguard Worker of the Software. 19*61046927SAndroid Build Coastguard Worker 20*61046927SAndroid Build Coastguard Worker THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 21*61046927SAndroid Build Coastguard Worker OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 22*61046927SAndroid Build Coastguard Worker MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 23*61046927SAndroid Build Coastguard Worker IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR 24*61046927SAndroid Build Coastguard Worker ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 25*61046927SAndroid Build Coastguard Worker TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 26*61046927SAndroid Build Coastguard Worker SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 27*61046927SAndroid Build Coastguard Worker 28*61046927SAndroid Build Coastguard Worker **************************************************************************/ 29*61046927SAndroid Build Coastguard Worker 30*61046927SAndroid Build Coastguard Worker /* 31*61046927SAndroid Build Coastguard Worker * Authors: 32*61046927SAndroid Build Coastguard Worker * Kevin E. Martin <[email protected]> 33*61046927SAndroid Build Coastguard Worker * Jens Owen <[email protected]> 34*61046927SAndroid Build Coastguard Worker * Rickard E. (Rik) Fiath <[email protected]> 35*61046927SAndroid Build Coastguard Worker * 36*61046927SAndroid Build Coastguard Worker */ 37*61046927SAndroid Build Coastguard Worker 38*61046927SAndroid Build Coastguard Worker #ifndef _APPLEDRISTR_H_ 39*61046927SAndroid Build Coastguard Worker #define _APPLEDRISTR_H_ 40*61046927SAndroid Build Coastguard Worker 41*61046927SAndroid Build Coastguard Worker #include "appledri.h" 42*61046927SAndroid Build Coastguard Worker 43*61046927SAndroid Build Coastguard Worker #define APPLEDRINAME "Apple-DRI" 44*61046927SAndroid Build Coastguard Worker 45*61046927SAndroid Build Coastguard Worker #define APPLE_DRI_MAJOR_VERSION 1 /* current version numbers */ 46*61046927SAndroid Build Coastguard Worker #define APPLE_DRI_MINOR_VERSION 0 47*61046927SAndroid Build Coastguard Worker #define APPLE_DRI_PATCH_VERSION 0 48*61046927SAndroid Build Coastguard Worker 49*61046927SAndroid Build Coastguard Worker typedef struct _AppleDRIQueryVersion 50*61046927SAndroid Build Coastguard Worker { 51*61046927SAndroid Build Coastguard Worker CARD8 reqType; /* always DRIReqCode */ 52*61046927SAndroid Build Coastguard Worker CARD8 driReqType; /* always X_DRIQueryVersion */ 53*61046927SAndroid Build Coastguard Worker CARD16 length B16; 54*61046927SAndroid Build Coastguard Worker } xAppleDRIQueryVersionReq; 55*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRIQueryVersionReq 4 56*61046927SAndroid Build Coastguard Worker 57*61046927SAndroid Build Coastguard Worker typedef struct 58*61046927SAndroid Build Coastguard Worker { 59*61046927SAndroid Build Coastguard Worker BYTE type; /* X_Reply */ 60*61046927SAndroid Build Coastguard Worker BOOL pad1; 61*61046927SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 62*61046927SAndroid Build Coastguard Worker CARD32 length B32; 63*61046927SAndroid Build Coastguard Worker CARD16 majorVersion B16; /* major version of DRI protocol */ 64*61046927SAndroid Build Coastguard Worker CARD16 minorVersion B16; /* minor version of DRI protocol */ 65*61046927SAndroid Build Coastguard Worker CARD32 patchVersion B32; /* patch version of DRI protocol */ 66*61046927SAndroid Build Coastguard Worker CARD32 pad3 B32; 67*61046927SAndroid Build Coastguard Worker CARD32 pad4 B32; 68*61046927SAndroid Build Coastguard Worker CARD32 pad5 B32; 69*61046927SAndroid Build Coastguard Worker CARD32 pad6 B32; 70*61046927SAndroid Build Coastguard Worker } xAppleDRIQueryVersionReply; 71*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRIQueryVersionReply 32 72*61046927SAndroid Build Coastguard Worker 73*61046927SAndroid Build Coastguard Worker typedef struct _AppleDRIQueryDirectRenderingCapable 74*61046927SAndroid Build Coastguard Worker { 75*61046927SAndroid Build Coastguard Worker CARD8 reqType; /* always DRIReqCode */ 76*61046927SAndroid Build Coastguard Worker CARD8 driReqType; /* X_DRIQueryDirectRenderingCapable */ 77*61046927SAndroid Build Coastguard Worker CARD16 length B16; 78*61046927SAndroid Build Coastguard Worker CARD32 screen B32; 79*61046927SAndroid Build Coastguard Worker } xAppleDRIQueryDirectRenderingCapableReq; 80*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRIQueryDirectRenderingCapableReq 8 81*61046927SAndroid Build Coastguard Worker 82*61046927SAndroid Build Coastguard Worker typedef struct 83*61046927SAndroid Build Coastguard Worker { 84*61046927SAndroid Build Coastguard Worker BYTE type; /* X_Reply */ 85*61046927SAndroid Build Coastguard Worker BOOL pad1; 86*61046927SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 87*61046927SAndroid Build Coastguard Worker CARD32 length B32; 88*61046927SAndroid Build Coastguard Worker BOOL isCapable; 89*61046927SAndroid Build Coastguard Worker BOOL pad2; 90*61046927SAndroid Build Coastguard Worker BOOL pad3; 91*61046927SAndroid Build Coastguard Worker BOOL pad4; 92*61046927SAndroid Build Coastguard Worker CARD32 pad5 B32; 93*61046927SAndroid Build Coastguard Worker CARD32 pad6 B32; 94*61046927SAndroid Build Coastguard Worker CARD32 pad7 B32; 95*61046927SAndroid Build Coastguard Worker CARD32 pad8 B32; 96*61046927SAndroid Build Coastguard Worker CARD32 pad9 B32; 97*61046927SAndroid Build Coastguard Worker } xAppleDRIQueryDirectRenderingCapableReply; 98*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRIQueryDirectRenderingCapableReply 32 99*61046927SAndroid Build Coastguard Worker 100*61046927SAndroid Build Coastguard Worker typedef struct _AppleDRIAuthConnection 101*61046927SAndroid Build Coastguard Worker { 102*61046927SAndroid Build Coastguard Worker CARD8 reqType; /* always DRIReqCode */ 103*61046927SAndroid Build Coastguard Worker CARD8 driReqType; /* always X_DRICloseConnection */ 104*61046927SAndroid Build Coastguard Worker CARD16 length B16; 105*61046927SAndroid Build Coastguard Worker CARD32 screen B32; 106*61046927SAndroid Build Coastguard Worker CARD32 magic B32; 107*61046927SAndroid Build Coastguard Worker } xAppleDRIAuthConnectionReq; 108*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRIAuthConnectionReq 12 109*61046927SAndroid Build Coastguard Worker 110*61046927SAndroid Build Coastguard Worker typedef struct 111*61046927SAndroid Build Coastguard Worker { 112*61046927SAndroid Build Coastguard Worker BYTE type; 113*61046927SAndroid Build Coastguard Worker BOOL pad1; 114*61046927SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 115*61046927SAndroid Build Coastguard Worker CARD32 length B32; 116*61046927SAndroid Build Coastguard Worker CARD32 authenticated B32; 117*61046927SAndroid Build Coastguard Worker CARD32 pad2 B32; 118*61046927SAndroid Build Coastguard Worker CARD32 pad3 B32; 119*61046927SAndroid Build Coastguard Worker CARD32 pad4 B32; 120*61046927SAndroid Build Coastguard Worker CARD32 pad5 B32; 121*61046927SAndroid Build Coastguard Worker CARD32 pad6 B32; 122*61046927SAndroid Build Coastguard Worker } xAppleDRIAuthConnectionReply; 123*61046927SAndroid Build Coastguard Worker #define zx_xAppleDRIAuthConnectionReply 32 124*61046927SAndroid Build Coastguard Worker 125*61046927SAndroid Build Coastguard Worker typedef struct _AppleDRICreateSurface 126*61046927SAndroid Build Coastguard Worker { 127*61046927SAndroid Build Coastguard Worker CARD8 reqType; /* always DRIReqCode */ 128*61046927SAndroid Build Coastguard Worker CARD8 driReqType; /* always X_DRICreateSurface */ 129*61046927SAndroid Build Coastguard Worker CARD16 length B16; 130*61046927SAndroid Build Coastguard Worker CARD32 screen B32; 131*61046927SAndroid Build Coastguard Worker CARD32 drawable B32; 132*61046927SAndroid Build Coastguard Worker CARD32 client_id B32; 133*61046927SAndroid Build Coastguard Worker } xAppleDRICreateSurfaceReq; 134*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRICreateSurfaceReq 16 135*61046927SAndroid Build Coastguard Worker 136*61046927SAndroid Build Coastguard Worker typedef struct 137*61046927SAndroid Build Coastguard Worker { 138*61046927SAndroid Build Coastguard Worker BYTE type; /* X_Reply */ 139*61046927SAndroid Build Coastguard Worker BOOL pad1; 140*61046927SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 141*61046927SAndroid Build Coastguard Worker CARD32 length B32; 142*61046927SAndroid Build Coastguard Worker CARD32 key_0 B32; 143*61046927SAndroid Build Coastguard Worker CARD32 key_1 B32; 144*61046927SAndroid Build Coastguard Worker CARD32 uid B32; 145*61046927SAndroid Build Coastguard Worker CARD32 pad4 B32; 146*61046927SAndroid Build Coastguard Worker CARD32 pad5 B32; 147*61046927SAndroid Build Coastguard Worker CARD32 pad6 B32; 148*61046927SAndroid Build Coastguard Worker } xAppleDRICreateSurfaceReply; 149*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRICreateSurfaceReply 32 150*61046927SAndroid Build Coastguard Worker 151*61046927SAndroid Build Coastguard Worker typedef struct _AppleDRIDestroySurface 152*61046927SAndroid Build Coastguard Worker { 153*61046927SAndroid Build Coastguard Worker CARD8 reqType; /* always DRIReqCode */ 154*61046927SAndroid Build Coastguard Worker CARD8 driReqType; /* always X_DRIDestroySurface */ 155*61046927SAndroid Build Coastguard Worker CARD16 length B16; 156*61046927SAndroid Build Coastguard Worker CARD32 screen B32; 157*61046927SAndroid Build Coastguard Worker CARD32 drawable B32; 158*61046927SAndroid Build Coastguard Worker } xAppleDRIDestroySurfaceReq; 159*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRIDestroySurfaceReq 12 160*61046927SAndroid Build Coastguard Worker 161*61046927SAndroid Build Coastguard Worker typedef struct _AppleDRINotify 162*61046927SAndroid Build Coastguard Worker { 163*61046927SAndroid Build Coastguard Worker BYTE type; /* always eventBase + event type */ 164*61046927SAndroid Build Coastguard Worker BYTE kind; 165*61046927SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 166*61046927SAndroid Build Coastguard Worker CARD32 time B32; /* time of change */ 167*61046927SAndroid Build Coastguard Worker CARD32 pad1 B32; 168*61046927SAndroid Build Coastguard Worker CARD32 arg B32; 169*61046927SAndroid Build Coastguard Worker CARD32 pad3 B32; 170*61046927SAndroid Build Coastguard Worker CARD32 pad4 B32; 171*61046927SAndroid Build Coastguard Worker CARD32 pad5 B32; 172*61046927SAndroid Build Coastguard Worker CARD32 pad6 B32; 173*61046927SAndroid Build Coastguard Worker } xAppleDRINotifyEvent; 174*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRINotifyEvent 32 175*61046927SAndroid Build Coastguard Worker 176*61046927SAndroid Build Coastguard Worker 177*61046927SAndroid Build Coastguard Worker typedef struct 178*61046927SAndroid Build Coastguard Worker { 179*61046927SAndroid Build Coastguard Worker CARD8 reqType; 180*61046927SAndroid Build Coastguard Worker CARD8 driReqType; 181*61046927SAndroid Build Coastguard Worker CARD16 length B16; 182*61046927SAndroid Build Coastguard Worker CARD32 screen B32; 183*61046927SAndroid Build Coastguard Worker CARD32 drawable B32; 184*61046927SAndroid Build Coastguard Worker BOOL doubleSwap; 185*61046927SAndroid Build Coastguard Worker CARD8 pad1, pad2, pad3; 186*61046927SAndroid Build Coastguard Worker } xAppleDRICreateSharedBufferReq; 187*61046927SAndroid Build Coastguard Worker 188*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRICreateSharedBufferReq 16 189*61046927SAndroid Build Coastguard Worker 190*61046927SAndroid Build Coastguard Worker typedef struct 191*61046927SAndroid Build Coastguard Worker { 192*61046927SAndroid Build Coastguard Worker BYTE type; 193*61046927SAndroid Build Coastguard Worker BYTE data1; 194*61046927SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 195*61046927SAndroid Build Coastguard Worker CARD32 length B32; 196*61046927SAndroid Build Coastguard Worker CARD32 stringLength B32; /* 0 on error */ 197*61046927SAndroid Build Coastguard Worker CARD32 width B32; 198*61046927SAndroid Build Coastguard Worker CARD32 height B32; 199*61046927SAndroid Build Coastguard Worker CARD32 pad1 B32; 200*61046927SAndroid Build Coastguard Worker CARD32 pad2 B32; 201*61046927SAndroid Build Coastguard Worker CARD32 pad3 B32; 202*61046927SAndroid Build Coastguard Worker } xAppleDRICreateSharedBufferReply; 203*61046927SAndroid Build Coastguard Worker 204*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRICreateSharedBufferReply 32 205*61046927SAndroid Build Coastguard Worker 206*61046927SAndroid Build Coastguard Worker typedef struct 207*61046927SAndroid Build Coastguard Worker { 208*61046927SAndroid Build Coastguard Worker CARD8 reqType; 209*61046927SAndroid Build Coastguard Worker CARD8 driReqType; 210*61046927SAndroid Build Coastguard Worker CARD16 length B16; 211*61046927SAndroid Build Coastguard Worker CARD32 screen B32; 212*61046927SAndroid Build Coastguard Worker CARD32 drawable B32; 213*61046927SAndroid Build Coastguard Worker } xAppleDRISwapBuffersReq; 214*61046927SAndroid Build Coastguard Worker 215*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRISwapBuffersReq 12 216*61046927SAndroid Build Coastguard Worker 217*61046927SAndroid Build Coastguard Worker typedef struct 218*61046927SAndroid Build Coastguard Worker { 219*61046927SAndroid Build Coastguard Worker CARD8 reqType; /*1 */ 220*61046927SAndroid Build Coastguard Worker CARD8 driReqType; /*2 */ 221*61046927SAndroid Build Coastguard Worker CARD16 length B16; /*4 */ 222*61046927SAndroid Build Coastguard Worker CARD32 screen B32; /*8 */ 223*61046927SAndroid Build Coastguard Worker CARD32 drawable B32; /*12 */ 224*61046927SAndroid Build Coastguard Worker } xAppleDRICreatePixmapReq; 225*61046927SAndroid Build Coastguard Worker 226*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRICreatePixmapReq 12 227*61046927SAndroid Build Coastguard Worker 228*61046927SAndroid Build Coastguard Worker typedef struct 229*61046927SAndroid Build Coastguard Worker { 230*61046927SAndroid Build Coastguard Worker BYTE type; /*1 */ 231*61046927SAndroid Build Coastguard Worker BOOL pad1; /*2 */ 232*61046927SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; /*4 */ 233*61046927SAndroid Build Coastguard Worker CARD32 length B32; /*8 */ 234*61046927SAndroid Build Coastguard Worker CARD32 width B32; /*12 */ 235*61046927SAndroid Build Coastguard Worker CARD32 height B32; /*16 */ 236*61046927SAndroid Build Coastguard Worker CARD32 pitch B32; /*20 */ 237*61046927SAndroid Build Coastguard Worker CARD32 bpp B32; /*24 */ 238*61046927SAndroid Build Coastguard Worker CARD32 size B32; /*28 */ 239*61046927SAndroid Build Coastguard Worker CARD32 stringLength B32; /*32 */ 240*61046927SAndroid Build Coastguard Worker } xAppleDRICreatePixmapReply; 241*61046927SAndroid Build Coastguard Worker 242*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRICreatePixmapReply 32 243*61046927SAndroid Build Coastguard Worker 244*61046927SAndroid Build Coastguard Worker typedef struct 245*61046927SAndroid Build Coastguard Worker { 246*61046927SAndroid Build Coastguard Worker CARD8 reqType; /*1 */ 247*61046927SAndroid Build Coastguard Worker CARD8 driReqType; /*2 */ 248*61046927SAndroid Build Coastguard Worker CARD16 length B16; /*4 */ 249*61046927SAndroid Build Coastguard Worker CARD32 drawable B32; /*8 */ 250*61046927SAndroid Build Coastguard Worker } xAppleDRIDestroyPixmapReq; 251*61046927SAndroid Build Coastguard Worker 252*61046927SAndroid Build Coastguard Worker #define sz_xAppleDRIDestroyPixmapReq 8 253*61046927SAndroid Build Coastguard Worker 254*61046927SAndroid Build Coastguard Worker #ifdef _APPLEDRI_SERVER_ 255*61046927SAndroid Build Coastguard Worker 256*61046927SAndroid Build Coastguard Worker void AppleDRISendEvent( 257*61046927SAndroid Build Coastguard Worker #if NeedFunctionPrototypes 258*61046927SAndroid Build Coastguard Worker int /* type */ , 259*61046927SAndroid Build Coastguard Worker unsigned int /* mask */ , 260*61046927SAndroid Build Coastguard Worker int /* which */ , 261*61046927SAndroid Build Coastguard Worker int /* arg */ 262*61046927SAndroid Build Coastguard Worker #endif 263*61046927SAndroid Build Coastguard Worker ); 264*61046927SAndroid Build Coastguard Worker 265*61046927SAndroid Build Coastguard Worker #endif /* _APPLEDRI_SERVER_ */ 266*61046927SAndroid Build Coastguard Worker #endif /* _APPLEDRISTR_H_ */ 267