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 
19 typedef 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 
32 typedef struct {
33   CARD8 reqType;
34   CARD8 xvmcReqType;
35   CARD16 length;
36 } xvmcQueryVersionReq;
37 #define sz_xvmcQueryVersionReq 4;
38 
39 typedef 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 
53 typedef struct {
54   CARD8 reqType;
55   CARD8 xvmcReqType;
56   CARD16 length;
57   CARD32 port;
58 } xvmcListSurfaceTypesReq;
59 #define sz_xvmcListSurfaceTypesReq 8;
60 
61 typedef 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 
75 typedef 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 
88 typedef 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 
103 typedef struct {
104   CARD8 reqType;
105   CARD8 xvmcReqType;
106   CARD16 length;
107   CARD32 context_id;
108 } xvmcDestroyContextReq;
109 #define sz_xvmcDestroyContextReq 8;
110 
111 typedef 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 
120 typedef 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 
134 typedef struct {
135   CARD8 reqType;
136   CARD8 xvmcReqType;
137   CARD16 length;
138   CARD32 surface_id;
139 } xvmcDestroySurfaceReq;
140 #define sz_xvmcDestroySurfaceReq 8;
141 
142 
143 typedef 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 
155 typedef 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 
171 typedef struct {
172   CARD8 reqType;
173   CARD8 xvmcReqType;
174   CARD16 length;
175   CARD32 subpicture_id;
176 } xvmcDestroySubpictureReq;
177 #define sz_xvmcDestroySubpictureReq 8;
178 
179 typedef 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 
188 typedef 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 
202 typedef 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 
212 typedef 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