1#ifndef _XVMCPROTO_H_ 2#define _XVMCPROTO_H_ 3 4#define xvmc_QueryVersion 0 5#define xvmc_ListSurfaceTypes 1 6#define xvmc_CreateContext 2 7#define xvmc_DestroyContext 3 8#define xvmc_CreateSurface 4 9#define xvmc_DestroySurface 5 10#define xvmc_CreateSubpicture 6 11#define xvmc_DestroySubpicture 7 12#define xvmc_ListSubpictureTypes 8 13#define xvmc_GetDRInfo 9 14#define xvmc_LastRequest xvmc_GetDRInfo 15 16#define xvmcNumRequest (xvmc_LastRequest + 1) 17 18 19typedef struct { 20 CARD32 surface_type_id; 21 CARD16 chroma_format; 22 CARD16 pad0; 23 CARD16 max_width; 24 CARD16 max_height; 25 CARD16 subpicture_max_width; 26 CARD16 subpicture_max_height; 27 CARD32 mc_type; 28 CARD32 flags; 29} xvmcSurfaceInfo; 30#define sz_xvmcSurfaceInfo 24 31 32typedef struct { 33 CARD8 reqType; 34 CARD8 xvmcReqType; 35 CARD16 length; 36} xvmcQueryVersionReq; 37#define sz_xvmcQueryVersionReq 4 38 39typedef struct { 40 BYTE type; /* X_Reply */ 41 BYTE padb1; 42 CARD16 sequenceNumber; 43 CARD32 length; 44 CARD32 major; 45 CARD32 minor; 46 CARD32 padl4; 47 CARD32 padl5; 48 CARD32 padl6; 49 CARD32 padl7; 50} xvmcQueryVersionReply; 51#define sz_xvmcQueryVersionReply 32 52 53typedef struct { 54 CARD8 reqType; 55 CARD8 xvmcReqType; 56 CARD16 length; 57 CARD32 port; 58} xvmcListSurfaceTypesReq; 59#define sz_xvmcListSurfaceTypesReq 8 60 61typedef struct { 62 BYTE type; /* X_Reply */ 63 BYTE padb1; 64 CARD16 sequenceNumber; 65 CARD32 length; 66 CARD32 num; 67 CARD32 padl3; 68 CARD32 padl4; 69 CARD32 padl5; 70 CARD32 padl6; 71 CARD32 padl7; 72} xvmcListSurfaceTypesReply; 73#define sz_xvmcListSurfaceTypesReply 32 74 75typedef struct { 76 CARD8 reqType; 77 CARD8 xvmcReqType; 78 CARD16 length; 79 CARD32 context_id; 80 CARD32 port; 81 CARD32 surface_type_id; 82 CARD16 width; 83 CARD16 height; 84 CARD32 flags; 85} xvmcCreateContextReq; 86#define sz_xvmcCreateContextReq 24 87 88typedef struct { 89 BYTE type; /* X_Reply */ 90 BYTE padb1; 91 CARD16 sequenceNumber; 92 CARD32 length; 93 CARD16 width_actual; 94 CARD16 height_actual; 95 CARD32 flags_return; 96 CARD32 padl4; 97 CARD32 padl5; 98 CARD32 padl6; 99 CARD32 padl7; 100} xvmcCreateContextReply; 101#define sz_xvmcCreateContextReply 32 102 103typedef struct { 104 CARD8 reqType; 105 CARD8 xvmcReqType; 106 CARD16 length; 107 CARD32 context_id; 108} xvmcDestroyContextReq; 109#define sz_xvmcDestroyContextReq 8 110 111typedef struct { 112 CARD8 reqType; 113 CARD8 xvmcReqType; 114 CARD16 length; 115 CARD32 surface_id; 116 CARD32 context_id; 117} xvmcCreateSurfaceReq; 118#define sz_xvmcCreateSurfaceReq 12 119 120typedef struct { 121 BYTE type; /* X_Reply */ 122 BYTE padb1; 123 CARD16 sequenceNumber; 124 CARD32 length; 125 CARD32 padl2; 126 CARD32 padl3; 127 CARD32 padl4; 128 CARD32 padl5; 129 CARD32 padl6; 130 CARD32 padl7; 131} xvmcCreateSurfaceReply; 132#define sz_xvmcCreateSurfaceReply 32 133 134typedef struct { 135 CARD8 reqType; 136 CARD8 xvmcReqType; 137 CARD16 length; 138 CARD32 surface_id; 139} xvmcDestroySurfaceReq; 140#define sz_xvmcDestroySurfaceReq 8 141 142 143typedef struct { 144 CARD8 reqType; 145 CARD8 xvmcReqType; 146 CARD16 length; 147 CARD32 subpicture_id; 148 CARD32 context_id; 149 CARD32 xvimage_id; 150 CARD16 width; 151 CARD16 height; 152} xvmcCreateSubpictureReq; 153#define sz_xvmcCreateSubpictureReq 20 154 155typedef struct { 156 BYTE type; /* X_Reply */ 157 BYTE padb1; 158 CARD16 sequenceNumber; 159 CARD32 length; 160 CARD16 width_actual; 161 CARD16 height_actual; 162 CARD16 num_palette_entries; 163 CARD16 entry_bytes; 164 CARD8 component_order[4]; 165 CARD32 padl5; 166 CARD32 padl6; 167 CARD32 padl7; 168} xvmcCreateSubpictureReply; 169#define sz_xvmcCreateSubpictureReply 32 170 171typedef struct { 172 CARD8 reqType; 173 CARD8 xvmcReqType; 174 CARD16 length; 175 CARD32 subpicture_id; 176} xvmcDestroySubpictureReq; 177#define sz_xvmcDestroySubpictureReq 8 178 179typedef struct { 180 CARD8 reqType; 181 CARD8 xvmcReqType; 182 CARD16 length; 183 CARD32 port; 184 CARD32 surface_type_id; 185} xvmcListSubpictureTypesReq; 186#define sz_xvmcListSubpictureTypesReq 12 187 188typedef struct { 189 BYTE type; /* X_Reply */ 190 BYTE padb1; 191 CARD16 sequenceNumber; 192 CARD32 length; 193 CARD32 num; 194 CARD32 padl2; 195 CARD32 padl3; 196 CARD32 padl4; 197 CARD32 padl5; 198 CARD32 padl6; 199} xvmcListSubpictureTypesReply; 200#define sz_xvmcListSubpictureTypesReply 32 201 202typedef struct { 203 CARD8 reqType; 204 CARD8 xvmcReqType; 205 CARD16 length; 206 CARD32 port; 207 CARD32 shmKey; 208 CARD32 magic; 209} xvmcGetDRInfoReq; 210#define sz_xvmcGetDRInfoReq 16 211 212typedef struct { 213 BYTE type; /* X_Reply */ 214 BYTE padb1; 215 CARD16 sequenceNumber; 216 CARD32 length; 217 CARD32 major; 218 CARD32 minor; 219 CARD32 patchLevel; 220 CARD32 nameLen; 221 CARD32 busIDLen; 222 CARD32 isLocal; 223} xvmcGetDRInfoReply; 224#define sz_xvmcGetDRInfoReply 32 225 226#endif 227