1*54e60f84SAndroid Build Coastguard Worker /* 2*54e60f84SAndroid Build Coastguard Worker * Copyright © 2008 Red Hat, Inc. 3*54e60f84SAndroid Build Coastguard Worker * 4*54e60f84SAndroid Build Coastguard Worker * Permission is hereby granted, free of charge, to any person obtaining a 5*54e60f84SAndroid Build Coastguard Worker * copy of this software and associated documentation files (the "Soft- 6*54e60f84SAndroid Build Coastguard Worker * ware"), to deal in the Software without restriction, including without 7*54e60f84SAndroid Build Coastguard Worker * limitation the rights to use, copy, modify, merge, publish, distribute, 8*54e60f84SAndroid Build Coastguard Worker * and/or sell copies of the Software, and to permit persons to whom the 9*54e60f84SAndroid Build Coastguard Worker * Software is furnished to do so, provided that the above copyright 10*54e60f84SAndroid Build Coastguard Worker * notice(s) and this permission notice appear in all copies of the Soft- 11*54e60f84SAndroid Build Coastguard Worker * ware and that both the above copyright notice(s) and this permission 12*54e60f84SAndroid Build Coastguard Worker * notice appear in supporting documentation. 13*54e60f84SAndroid Build Coastguard Worker * 14*54e60f84SAndroid Build Coastguard Worker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15*54e60f84SAndroid Build Coastguard Worker * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL- 16*54e60f84SAndroid Build Coastguard Worker * ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY 17*54e60f84SAndroid Build Coastguard Worker * RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN 18*54e60f84SAndroid Build Coastguard Worker * THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE- 19*54e60f84SAndroid Build Coastguard Worker * QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 20*54e60f84SAndroid Build Coastguard Worker * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 21*54e60f84SAndroid Build Coastguard Worker * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR- 22*54e60f84SAndroid Build Coastguard Worker * MANCE OF THIS SOFTWARE. 23*54e60f84SAndroid Build Coastguard Worker * 24*54e60f84SAndroid Build Coastguard Worker * Except as contained in this notice, the name of a copyright holder shall 25*54e60f84SAndroid Build Coastguard Worker * not be used in advertising or otherwise to promote the sale, use or 26*54e60f84SAndroid Build Coastguard Worker * other dealings in this Software without prior written authorization of 27*54e60f84SAndroid Build Coastguard Worker * the copyright holder. 28*54e60f84SAndroid Build Coastguard Worker * 29*54e60f84SAndroid Build Coastguard Worker * Authors: 30*54e60f84SAndroid Build Coastguard Worker * Kristian Høgsberg ([email protected]) 31*54e60f84SAndroid Build Coastguard Worker */ 32*54e60f84SAndroid Build Coastguard Worker 33*54e60f84SAndroid Build Coastguard Worker #ifndef _DRI2_PROTO_H_ 34*54e60f84SAndroid Build Coastguard Worker #define _DRI2_PROTO_H_ 35*54e60f84SAndroid Build Coastguard Worker 36*54e60f84SAndroid Build Coastguard Worker #define DRI2_NAME "DRI2" 37*54e60f84SAndroid Build Coastguard Worker #define DRI2_MAJOR 1 38*54e60f84SAndroid Build Coastguard Worker #define DRI2_MINOR 2 39*54e60f84SAndroid Build Coastguard Worker 40*54e60f84SAndroid Build Coastguard Worker #define DRI2NumberErrors 0 41*54e60f84SAndroid Build Coastguard Worker #define DRI2NumberEvents 2 42*54e60f84SAndroid Build Coastguard Worker #define DRI2NumberRequests 13 43*54e60f84SAndroid Build Coastguard Worker 44*54e60f84SAndroid Build Coastguard Worker #define X_DRI2QueryVersion 0 45*54e60f84SAndroid Build Coastguard Worker #define X_DRI2Connect 1 46*54e60f84SAndroid Build Coastguard Worker #define X_DRI2Authenticate 2 47*54e60f84SAndroid Build Coastguard Worker #define X_DRI2CreateDrawable 3 48*54e60f84SAndroid Build Coastguard Worker #define X_DRI2DestroyDrawable 4 49*54e60f84SAndroid Build Coastguard Worker #define X_DRI2GetBuffers 5 50*54e60f84SAndroid Build Coastguard Worker #define X_DRI2CopyRegion 6 51*54e60f84SAndroid Build Coastguard Worker #define X_DRI2GetBuffersWithFormat 7 52*54e60f84SAndroid Build Coastguard Worker #define X_DRI2SwapBuffers 8 53*54e60f84SAndroid Build Coastguard Worker #define X_DRI2GetMSC 9 54*54e60f84SAndroid Build Coastguard Worker #define X_DRI2WaitMSC 10 55*54e60f84SAndroid Build Coastguard Worker #define X_DRI2WaitSBC 11 56*54e60f84SAndroid Build Coastguard Worker #define X_DRI2SwapInterval 12 57*54e60f84SAndroid Build Coastguard Worker 58*54e60f84SAndroid Build Coastguard Worker typedef struct { 59*54e60f84SAndroid Build Coastguard Worker CARD32 attachment B32; 60*54e60f84SAndroid Build Coastguard Worker CARD32 name B32; 61*54e60f84SAndroid Build Coastguard Worker CARD32 pitch B32; 62*54e60f84SAndroid Build Coastguard Worker CARD32 cpp B32; 63*54e60f84SAndroid Build Coastguard Worker CARD32 flags B32; 64*54e60f84SAndroid Build Coastguard Worker } xDRI2Buffer; 65*54e60f84SAndroid Build Coastguard Worker 66*54e60f84SAndroid Build Coastguard Worker typedef struct { 67*54e60f84SAndroid Build Coastguard Worker CARD8 reqType; 68*54e60f84SAndroid Build Coastguard Worker CARD8 dri2ReqType; 69*54e60f84SAndroid Build Coastguard Worker CARD16 length B16; 70*54e60f84SAndroid Build Coastguard Worker CARD32 majorVersion B32; 71*54e60f84SAndroid Build Coastguard Worker CARD32 minorVersion B32; 72*54e60f84SAndroid Build Coastguard Worker } xDRI2QueryVersionReq; 73*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2QueryVersionReq 12 74*54e60f84SAndroid Build Coastguard Worker 75*54e60f84SAndroid Build Coastguard Worker typedef struct { 76*54e60f84SAndroid Build Coastguard Worker BYTE type; /* X_Reply */ 77*54e60f84SAndroid Build Coastguard Worker BYTE pad1; 78*54e60f84SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 79*54e60f84SAndroid Build Coastguard Worker CARD32 length B32; 80*54e60f84SAndroid Build Coastguard Worker CARD32 majorVersion B32; 81*54e60f84SAndroid Build Coastguard Worker CARD32 minorVersion B32; 82*54e60f84SAndroid Build Coastguard Worker CARD32 pad2 B32; 83*54e60f84SAndroid Build Coastguard Worker CARD32 pad3 B32; 84*54e60f84SAndroid Build Coastguard Worker CARD32 pad4 B32; 85*54e60f84SAndroid Build Coastguard Worker CARD32 pad5 B32; 86*54e60f84SAndroid Build Coastguard Worker } xDRI2QueryVersionReply; 87*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2QueryVersionReply 32 88*54e60f84SAndroid Build Coastguard Worker 89*54e60f84SAndroid Build Coastguard Worker typedef struct { 90*54e60f84SAndroid Build Coastguard Worker CARD8 reqType; 91*54e60f84SAndroid Build Coastguard Worker CARD8 dri2ReqType; 92*54e60f84SAndroid Build Coastguard Worker CARD16 length B16; 93*54e60f84SAndroid Build Coastguard Worker CARD32 window B32; 94*54e60f84SAndroid Build Coastguard Worker CARD32 driverType B32; 95*54e60f84SAndroid Build Coastguard Worker } xDRI2ConnectReq; 96*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2ConnectReq 12 97*54e60f84SAndroid Build Coastguard Worker 98*54e60f84SAndroid Build Coastguard Worker typedef struct { 99*54e60f84SAndroid Build Coastguard Worker BYTE type; /* X_Reply */ 100*54e60f84SAndroid Build Coastguard Worker BYTE pad1; 101*54e60f84SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 102*54e60f84SAndroid Build Coastguard Worker CARD32 length B32; 103*54e60f84SAndroid Build Coastguard Worker CARD32 driverNameLength B32; 104*54e60f84SAndroid Build Coastguard Worker CARD32 deviceNameLength B32; 105*54e60f84SAndroid Build Coastguard Worker CARD32 pad2 B32; 106*54e60f84SAndroid Build Coastguard Worker CARD32 pad3 B32; 107*54e60f84SAndroid Build Coastguard Worker CARD32 pad4 B32; 108*54e60f84SAndroid Build Coastguard Worker CARD32 pad5 B32; 109*54e60f84SAndroid Build Coastguard Worker } xDRI2ConnectReply; 110*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2ConnectReply 32 111*54e60f84SAndroid Build Coastguard Worker 112*54e60f84SAndroid Build Coastguard Worker typedef struct { 113*54e60f84SAndroid Build Coastguard Worker CARD8 reqType; 114*54e60f84SAndroid Build Coastguard Worker CARD8 dri2ReqType; 115*54e60f84SAndroid Build Coastguard Worker CARD16 length B16; 116*54e60f84SAndroid Build Coastguard Worker CARD32 window B32; 117*54e60f84SAndroid Build Coastguard Worker CARD32 magic B32; 118*54e60f84SAndroid Build Coastguard Worker } xDRI2AuthenticateReq; 119*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2AuthenticateReq 12 120*54e60f84SAndroid Build Coastguard Worker 121*54e60f84SAndroid Build Coastguard Worker typedef struct { 122*54e60f84SAndroid Build Coastguard Worker BYTE type; /* X_Reply */ 123*54e60f84SAndroid Build Coastguard Worker BYTE pad1; 124*54e60f84SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 125*54e60f84SAndroid Build Coastguard Worker CARD32 length B32; 126*54e60f84SAndroid Build Coastguard Worker CARD32 authenticated B32; 127*54e60f84SAndroid Build Coastguard Worker CARD32 pad2 B32; 128*54e60f84SAndroid Build Coastguard Worker CARD32 pad3 B32; 129*54e60f84SAndroid Build Coastguard Worker CARD32 pad4 B32; 130*54e60f84SAndroid Build Coastguard Worker CARD32 pad5 B32; 131*54e60f84SAndroid Build Coastguard Worker CARD32 pad6 B32; 132*54e60f84SAndroid Build Coastguard Worker } xDRI2AuthenticateReply; 133*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2AuthenticateReply 32 134*54e60f84SAndroid Build Coastguard Worker 135*54e60f84SAndroid Build Coastguard Worker typedef struct { 136*54e60f84SAndroid Build Coastguard Worker CARD8 reqType; 137*54e60f84SAndroid Build Coastguard Worker CARD8 dri2ReqType; 138*54e60f84SAndroid Build Coastguard Worker CARD16 length B16; 139*54e60f84SAndroid Build Coastguard Worker CARD32 drawable B32; 140*54e60f84SAndroid Build Coastguard Worker } xDRI2CreateDrawableReq; 141*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2CreateDrawableReq 8 142*54e60f84SAndroid Build Coastguard Worker 143*54e60f84SAndroid Build Coastguard Worker typedef struct { 144*54e60f84SAndroid Build Coastguard Worker CARD8 reqType; 145*54e60f84SAndroid Build Coastguard Worker CARD8 dri2ReqType; 146*54e60f84SAndroid Build Coastguard Worker CARD16 length B16; 147*54e60f84SAndroid Build Coastguard Worker CARD32 drawable B32; 148*54e60f84SAndroid Build Coastguard Worker } xDRI2DestroyDrawableReq; 149*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2DestroyDrawableReq 8 150*54e60f84SAndroid Build Coastguard Worker 151*54e60f84SAndroid Build Coastguard Worker typedef struct { 152*54e60f84SAndroid Build Coastguard Worker CARD8 reqType; 153*54e60f84SAndroid Build Coastguard Worker CARD8 dri2ReqType; 154*54e60f84SAndroid Build Coastguard Worker CARD16 length B16; 155*54e60f84SAndroid Build Coastguard Worker CARD32 drawable B32; 156*54e60f84SAndroid Build Coastguard Worker CARD32 count B32; 157*54e60f84SAndroid Build Coastguard Worker } xDRI2GetBuffersReq; 158*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2GetBuffersReq 12 159*54e60f84SAndroid Build Coastguard Worker 160*54e60f84SAndroid Build Coastguard Worker typedef struct { 161*54e60f84SAndroid Build Coastguard Worker BYTE type; /* X_Reply */ 162*54e60f84SAndroid Build Coastguard Worker BYTE pad1; 163*54e60f84SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 164*54e60f84SAndroid Build Coastguard Worker CARD32 length B32; 165*54e60f84SAndroid Build Coastguard Worker CARD32 width B32; 166*54e60f84SAndroid Build Coastguard Worker CARD32 height B32; 167*54e60f84SAndroid Build Coastguard Worker CARD32 count B32; 168*54e60f84SAndroid Build Coastguard Worker CARD32 pad2 B32; 169*54e60f84SAndroid Build Coastguard Worker CARD32 pad3 B32; 170*54e60f84SAndroid Build Coastguard Worker CARD32 pad4 B32; 171*54e60f84SAndroid Build Coastguard Worker } xDRI2GetBuffersReply; 172*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2GetBuffersReply 32 173*54e60f84SAndroid Build Coastguard Worker 174*54e60f84SAndroid Build Coastguard Worker typedef struct { 175*54e60f84SAndroid Build Coastguard Worker CARD8 reqType; 176*54e60f84SAndroid Build Coastguard Worker CARD8 dri2ReqType; 177*54e60f84SAndroid Build Coastguard Worker CARD16 length B16; 178*54e60f84SAndroid Build Coastguard Worker CARD32 drawable B32; 179*54e60f84SAndroid Build Coastguard Worker CARD32 region B32; 180*54e60f84SAndroid Build Coastguard Worker CARD32 dest B32; 181*54e60f84SAndroid Build Coastguard Worker CARD32 src B32; 182*54e60f84SAndroid Build Coastguard Worker } xDRI2CopyRegionReq; 183*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2CopyRegionReq 20 184*54e60f84SAndroid Build Coastguard Worker 185*54e60f84SAndroid Build Coastguard Worker typedef struct { 186*54e60f84SAndroid Build Coastguard Worker BYTE type; /* X_Reply */ 187*54e60f84SAndroid Build Coastguard Worker BYTE pad1; 188*54e60f84SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 189*54e60f84SAndroid Build Coastguard Worker CARD32 length B32; 190*54e60f84SAndroid Build Coastguard Worker CARD32 pad2 B32; 191*54e60f84SAndroid Build Coastguard Worker CARD32 pad3 B32; 192*54e60f84SAndroid Build Coastguard Worker CARD32 pad4 B32; 193*54e60f84SAndroid Build Coastguard Worker CARD32 pad5 B32; 194*54e60f84SAndroid Build Coastguard Worker CARD32 pad6 B32; 195*54e60f84SAndroid Build Coastguard Worker CARD32 pad7 B32; 196*54e60f84SAndroid Build Coastguard Worker } xDRI2CopyRegionReply; 197*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2CopyRegionReply 32 198*54e60f84SAndroid Build Coastguard Worker 199*54e60f84SAndroid Build Coastguard Worker typedef struct { 200*54e60f84SAndroid Build Coastguard Worker CARD8 reqType; 201*54e60f84SAndroid Build Coastguard Worker CARD8 dri2ReqType; 202*54e60f84SAndroid Build Coastguard Worker CARD16 length B16; 203*54e60f84SAndroid Build Coastguard Worker CARD32 drawable B32; 204*54e60f84SAndroid Build Coastguard Worker CARD32 target_msc_hi B32; 205*54e60f84SAndroid Build Coastguard Worker CARD32 target_msc_lo B32; 206*54e60f84SAndroid Build Coastguard Worker CARD32 divisor_hi B32; 207*54e60f84SAndroid Build Coastguard Worker CARD32 divisor_lo B32; 208*54e60f84SAndroid Build Coastguard Worker CARD32 remainder_hi B32; 209*54e60f84SAndroid Build Coastguard Worker CARD32 remainder_lo B32; 210*54e60f84SAndroid Build Coastguard Worker } xDRI2SwapBuffersReq; 211*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2SwapBuffersReq 32 212*54e60f84SAndroid Build Coastguard Worker 213*54e60f84SAndroid Build Coastguard Worker typedef struct { 214*54e60f84SAndroid Build Coastguard Worker BYTE type; /* X_Reply */ 215*54e60f84SAndroid Build Coastguard Worker BYTE pad1; 216*54e60f84SAndroid Build Coastguard Worker CARD16 sequenceNumber B16; 217*54e60f84SAndroid Build Coastguard Worker CARD32 length B32; 218*54e60f84SAndroid Build Coastguard Worker CARD32 swap_hi B32; 219*54e60f84SAndroid Build Coastguard Worker CARD32 swap_lo B32; 220*54e60f84SAndroid Build Coastguard Worker CARD32 pad2 B32; 221*54e60f84SAndroid Build Coastguard Worker CARD32 pad3 B32; 222*54e60f84SAndroid Build Coastguard Worker CARD32 pad4 B32; 223*54e60f84SAndroid Build Coastguard Worker CARD32 pad5 B32; 224*54e60f84SAndroid Build Coastguard Worker } xDRI2SwapBuffersReply; 225*54e60f84SAndroid Build Coastguard Worker #define sz_xDRI2SwapBuffersReply 32 226*54e60f84SAndroid Build Coastguard Worker 227*54e60f84SAndroid Build Coastguard Worker #endif 228