xvmc.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868
  1. /*
  2. * This file generated automatically from xvmc.xml by c_client.py.
  3. * Edit at your peril.
  4. */
  5. /**
  6. * @defgroup XCB_XvMC_API XCB XvMC API
  7. * @brief XvMC XCB Protocol Implementation.
  8. * @{
  9. **/
  10. #ifndef __XVMC_H
  11. #define __XVMC_H
  12. #include "xcb.h"
  13. #include "xv.h"
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #define XCB_XVMC_MAJOR_VERSION 1
  18. #define XCB_XVMC_MINOR_VERSION 1
  19. extern xcb_extension_t xcb_xvmc_id;
  20. typedef uint32_t xcb_xvmc_context_t;
  21. /**
  22. * @brief xcb_xvmc_context_iterator_t
  23. **/
  24. typedef struct xcb_xvmc_context_iterator_t {
  25. xcb_xvmc_context_t *data;
  26. int rem;
  27. int index;
  28. } xcb_xvmc_context_iterator_t;
  29. typedef uint32_t xcb_xvmc_surface_t;
  30. /**
  31. * @brief xcb_xvmc_surface_iterator_t
  32. **/
  33. typedef struct xcb_xvmc_surface_iterator_t {
  34. xcb_xvmc_surface_t *data;
  35. int rem;
  36. int index;
  37. } xcb_xvmc_surface_iterator_t;
  38. typedef uint32_t xcb_xvmc_subpicture_t;
  39. /**
  40. * @brief xcb_xvmc_subpicture_iterator_t
  41. **/
  42. typedef struct xcb_xvmc_subpicture_iterator_t {
  43. xcb_xvmc_subpicture_t *data;
  44. int rem;
  45. int index;
  46. } xcb_xvmc_subpicture_iterator_t;
  47. /**
  48. * @brief xcb_xvmc_surface_info_t
  49. **/
  50. typedef struct xcb_xvmc_surface_info_t {
  51. xcb_xvmc_surface_t id;
  52. uint16_t chroma_format;
  53. uint16_t pad0;
  54. uint16_t max_width;
  55. uint16_t max_height;
  56. uint16_t subpicture_max_width;
  57. uint16_t subpicture_max_height;
  58. uint32_t mc_type;
  59. uint32_t flags;
  60. } xcb_xvmc_surface_info_t;
  61. /**
  62. * @brief xcb_xvmc_surface_info_iterator_t
  63. **/
  64. typedef struct xcb_xvmc_surface_info_iterator_t {
  65. xcb_xvmc_surface_info_t *data;
  66. int rem;
  67. int index;
  68. } xcb_xvmc_surface_info_iterator_t;
  69. /**
  70. * @brief xcb_xvmc_query_version_cookie_t
  71. **/
  72. typedef struct xcb_xvmc_query_version_cookie_t {
  73. unsigned int sequence;
  74. } xcb_xvmc_query_version_cookie_t;
  75. /** Opcode for xcb_xvmc_query_version. */
  76. #define XCB_XVMC_QUERY_VERSION 0
  77. /**
  78. * @brief xcb_xvmc_query_version_request_t
  79. **/
  80. typedef struct xcb_xvmc_query_version_request_t {
  81. uint8_t major_opcode;
  82. uint8_t minor_opcode;
  83. uint16_t length;
  84. } xcb_xvmc_query_version_request_t;
  85. /**
  86. * @brief xcb_xvmc_query_version_reply_t
  87. **/
  88. typedef struct xcb_xvmc_query_version_reply_t {
  89. uint8_t response_type;
  90. uint8_t pad0;
  91. uint16_t sequence;
  92. uint32_t length;
  93. uint32_t major;
  94. uint32_t minor;
  95. } xcb_xvmc_query_version_reply_t;
  96. /**
  97. * @brief xcb_xvmc_list_surface_types_cookie_t
  98. **/
  99. typedef struct xcb_xvmc_list_surface_types_cookie_t {
  100. unsigned int sequence;
  101. } xcb_xvmc_list_surface_types_cookie_t;
  102. /** Opcode for xcb_xvmc_list_surface_types. */
  103. #define XCB_XVMC_LIST_SURFACE_TYPES 1
  104. /**
  105. * @brief xcb_xvmc_list_surface_types_request_t
  106. **/
  107. typedef struct xcb_xvmc_list_surface_types_request_t {
  108. uint8_t major_opcode;
  109. uint8_t minor_opcode;
  110. uint16_t length;
  111. xcb_xv_port_t port_id;
  112. } xcb_xvmc_list_surface_types_request_t;
  113. /**
  114. * @brief xcb_xvmc_list_surface_types_reply_t
  115. **/
  116. typedef struct xcb_xvmc_list_surface_types_reply_t {
  117. uint8_t response_type;
  118. uint8_t pad0;
  119. uint16_t sequence;
  120. uint32_t length;
  121. uint32_t num;
  122. uint8_t pad1[20];
  123. } xcb_xvmc_list_surface_types_reply_t;
  124. /**
  125. * @brief xcb_xvmc_create_context_cookie_t
  126. **/
  127. typedef struct xcb_xvmc_create_context_cookie_t {
  128. unsigned int sequence;
  129. } xcb_xvmc_create_context_cookie_t;
  130. /** Opcode for xcb_xvmc_create_context. */
  131. #define XCB_XVMC_CREATE_CONTEXT 2
  132. /**
  133. * @brief xcb_xvmc_create_context_request_t
  134. **/
  135. typedef struct xcb_xvmc_create_context_request_t {
  136. uint8_t major_opcode;
  137. uint8_t minor_opcode;
  138. uint16_t length;
  139. xcb_xvmc_context_t context_id;
  140. xcb_xv_port_t port_id;
  141. xcb_xvmc_surface_t surface_id;
  142. uint16_t width;
  143. uint16_t height;
  144. uint32_t flags;
  145. } xcb_xvmc_create_context_request_t;
  146. /**
  147. * @brief xcb_xvmc_create_context_reply_t
  148. **/
  149. typedef struct xcb_xvmc_create_context_reply_t {
  150. uint8_t response_type;
  151. uint8_t pad0;
  152. uint16_t sequence;
  153. uint32_t length;
  154. uint16_t width_actual;
  155. uint16_t height_actual;
  156. uint32_t flags_return;
  157. uint8_t pad1[20];
  158. } xcb_xvmc_create_context_reply_t;
  159. /** Opcode for xcb_xvmc_destroy_context. */
  160. #define XCB_XVMC_DESTROY_CONTEXT 3
  161. /**
  162. * @brief xcb_xvmc_destroy_context_request_t
  163. **/
  164. typedef struct xcb_xvmc_destroy_context_request_t {
  165. uint8_t major_opcode;
  166. uint8_t minor_opcode;
  167. uint16_t length;
  168. xcb_xvmc_context_t context_id;
  169. } xcb_xvmc_destroy_context_request_t;
  170. /**
  171. * @brief xcb_xvmc_create_surface_cookie_t
  172. **/
  173. typedef struct xcb_xvmc_create_surface_cookie_t {
  174. unsigned int sequence;
  175. } xcb_xvmc_create_surface_cookie_t;
  176. /** Opcode for xcb_xvmc_create_surface. */
  177. #define XCB_XVMC_CREATE_SURFACE 4
  178. /**
  179. * @brief xcb_xvmc_create_surface_request_t
  180. **/
  181. typedef struct xcb_xvmc_create_surface_request_t {
  182. uint8_t major_opcode;
  183. uint8_t minor_opcode;
  184. uint16_t length;
  185. xcb_xvmc_surface_t surface_id;
  186. xcb_xvmc_context_t context_id;
  187. } xcb_xvmc_create_surface_request_t;
  188. /**
  189. * @brief xcb_xvmc_create_surface_reply_t
  190. **/
  191. typedef struct xcb_xvmc_create_surface_reply_t {
  192. uint8_t response_type;
  193. uint8_t pad0;
  194. uint16_t sequence;
  195. uint32_t length;
  196. uint8_t pad1[24];
  197. } xcb_xvmc_create_surface_reply_t;
  198. /** Opcode for xcb_xvmc_destroy_surface. */
  199. #define XCB_XVMC_DESTROY_SURFACE 5
  200. /**
  201. * @brief xcb_xvmc_destroy_surface_request_t
  202. **/
  203. typedef struct xcb_xvmc_destroy_surface_request_t {
  204. uint8_t major_opcode;
  205. uint8_t minor_opcode;
  206. uint16_t length;
  207. xcb_xvmc_surface_t surface_id;
  208. } xcb_xvmc_destroy_surface_request_t;
  209. /**
  210. * @brief xcb_xvmc_create_subpicture_cookie_t
  211. **/
  212. typedef struct xcb_xvmc_create_subpicture_cookie_t {
  213. unsigned int sequence;
  214. } xcb_xvmc_create_subpicture_cookie_t;
  215. /** Opcode for xcb_xvmc_create_subpicture. */
  216. #define XCB_XVMC_CREATE_SUBPICTURE 6
  217. /**
  218. * @brief xcb_xvmc_create_subpicture_request_t
  219. **/
  220. typedef struct xcb_xvmc_create_subpicture_request_t {
  221. uint8_t major_opcode;
  222. uint8_t minor_opcode;
  223. uint16_t length;
  224. xcb_xvmc_subpicture_t subpicture_id;
  225. xcb_xvmc_context_t context;
  226. uint32_t xvimage_id;
  227. uint16_t width;
  228. uint16_t height;
  229. } xcb_xvmc_create_subpicture_request_t;
  230. /**
  231. * @brief xcb_xvmc_create_subpicture_reply_t
  232. **/
  233. typedef struct xcb_xvmc_create_subpicture_reply_t {
  234. uint8_t response_type;
  235. uint8_t pad0;
  236. uint16_t sequence;
  237. uint32_t length;
  238. uint16_t width_actual;
  239. uint16_t height_actual;
  240. uint16_t num_palette_entries;
  241. uint16_t entry_bytes;
  242. uint8_t component_order[4];
  243. uint8_t pad1[12];
  244. } xcb_xvmc_create_subpicture_reply_t;
  245. /** Opcode for xcb_xvmc_destroy_subpicture. */
  246. #define XCB_XVMC_DESTROY_SUBPICTURE 7
  247. /**
  248. * @brief xcb_xvmc_destroy_subpicture_request_t
  249. **/
  250. typedef struct xcb_xvmc_destroy_subpicture_request_t {
  251. uint8_t major_opcode;
  252. uint8_t minor_opcode;
  253. uint16_t length;
  254. xcb_xvmc_subpicture_t subpicture_id;
  255. } xcb_xvmc_destroy_subpicture_request_t;
  256. /**
  257. * @brief xcb_xvmc_list_subpicture_types_cookie_t
  258. **/
  259. typedef struct xcb_xvmc_list_subpicture_types_cookie_t {
  260. unsigned int sequence;
  261. } xcb_xvmc_list_subpicture_types_cookie_t;
  262. /** Opcode for xcb_xvmc_list_subpicture_types. */
  263. #define XCB_XVMC_LIST_SUBPICTURE_TYPES 8
  264. /**
  265. * @brief xcb_xvmc_list_subpicture_types_request_t
  266. **/
  267. typedef struct xcb_xvmc_list_subpicture_types_request_t {
  268. uint8_t major_opcode;
  269. uint8_t minor_opcode;
  270. uint16_t length;
  271. xcb_xv_port_t port_id;
  272. xcb_xvmc_surface_t surface_id;
  273. } xcb_xvmc_list_subpicture_types_request_t;
  274. /**
  275. * @brief xcb_xvmc_list_subpicture_types_reply_t
  276. **/
  277. typedef struct xcb_xvmc_list_subpicture_types_reply_t {
  278. uint8_t response_type;
  279. uint8_t pad0;
  280. uint16_t sequence;
  281. uint32_t length;
  282. uint32_t num;
  283. uint8_t pad1[20];
  284. } xcb_xvmc_list_subpicture_types_reply_t;
  285. /**
  286. * Get the next element of the iterator
  287. * @param i Pointer to a xcb_xvmc_context_iterator_t
  288. *
  289. * Get the next element in the iterator. The member rem is
  290. * decreased by one. The member data points to the next
  291. * element. The member index is increased by sizeof(xcb_xvmc_context_t)
  292. */
  293. void
  294. xcb_xvmc_context_next (xcb_xvmc_context_iterator_t *i);
  295. /**
  296. * Return the iterator pointing to the last element
  297. * @param i An xcb_xvmc_context_iterator_t
  298. * @return The iterator pointing to the last element
  299. *
  300. * Set the current element in the iterator to the last element.
  301. * The member rem is set to 0. The member data points to the
  302. * last element.
  303. */
  304. xcb_generic_iterator_t
  305. xcb_xvmc_context_end (xcb_xvmc_context_iterator_t i);
  306. /**
  307. * Get the next element of the iterator
  308. * @param i Pointer to a xcb_xvmc_surface_iterator_t
  309. *
  310. * Get the next element in the iterator. The member rem is
  311. * decreased by one. The member data points to the next
  312. * element. The member index is increased by sizeof(xcb_xvmc_surface_t)
  313. */
  314. void
  315. xcb_xvmc_surface_next (xcb_xvmc_surface_iterator_t *i);
  316. /**
  317. * Return the iterator pointing to the last element
  318. * @param i An xcb_xvmc_surface_iterator_t
  319. * @return The iterator pointing to the last element
  320. *
  321. * Set the current element in the iterator to the last element.
  322. * The member rem is set to 0. The member data points to the
  323. * last element.
  324. */
  325. xcb_generic_iterator_t
  326. xcb_xvmc_surface_end (xcb_xvmc_surface_iterator_t i);
  327. /**
  328. * Get the next element of the iterator
  329. * @param i Pointer to a xcb_xvmc_subpicture_iterator_t
  330. *
  331. * Get the next element in the iterator. The member rem is
  332. * decreased by one. The member data points to the next
  333. * element. The member index is increased by sizeof(xcb_xvmc_subpicture_t)
  334. */
  335. void
  336. xcb_xvmc_subpicture_next (xcb_xvmc_subpicture_iterator_t *i);
  337. /**
  338. * Return the iterator pointing to the last element
  339. * @param i An xcb_xvmc_subpicture_iterator_t
  340. * @return The iterator pointing to the last element
  341. *
  342. * Set the current element in the iterator to the last element.
  343. * The member rem is set to 0. The member data points to the
  344. * last element.
  345. */
  346. xcb_generic_iterator_t
  347. xcb_xvmc_subpicture_end (xcb_xvmc_subpicture_iterator_t i);
  348. /**
  349. * Get the next element of the iterator
  350. * @param i Pointer to a xcb_xvmc_surface_info_iterator_t
  351. *
  352. * Get the next element in the iterator. The member rem is
  353. * decreased by one. The member data points to the next
  354. * element. The member index is increased by sizeof(xcb_xvmc_surface_info_t)
  355. */
  356. void
  357. xcb_xvmc_surface_info_next (xcb_xvmc_surface_info_iterator_t *i);
  358. /**
  359. * Return the iterator pointing to the last element
  360. * @param i An xcb_xvmc_surface_info_iterator_t
  361. * @return The iterator pointing to the last element
  362. *
  363. * Set the current element in the iterator to the last element.
  364. * The member rem is set to 0. The member data points to the
  365. * last element.
  366. */
  367. xcb_generic_iterator_t
  368. xcb_xvmc_surface_info_end (xcb_xvmc_surface_info_iterator_t i);
  369. /**
  370. *
  371. * @param c The connection
  372. * @return A cookie
  373. *
  374. * Delivers a request to the X server.
  375. *
  376. */
  377. xcb_xvmc_query_version_cookie_t
  378. xcb_xvmc_query_version (xcb_connection_t *c);
  379. /**
  380. *
  381. * @param c The connection
  382. * @return A cookie
  383. *
  384. * Delivers a request to the X server.
  385. *
  386. * This form can be used only if the request will cause
  387. * a reply to be generated. Any returned error will be
  388. * placed in the event queue.
  389. */
  390. xcb_xvmc_query_version_cookie_t
  391. xcb_xvmc_query_version_unchecked (xcb_connection_t *c);
  392. /**
  393. * Return the reply
  394. * @param c The connection
  395. * @param cookie The cookie
  396. * @param e The xcb_generic_error_t supplied
  397. *
  398. * Returns the reply of the request asked by
  399. *
  400. * The parameter @p e supplied to this function must be NULL if
  401. * xcb_xvmc_query_version_unchecked(). is used.
  402. * Otherwise, it stores the error if any.
  403. *
  404. * The returned value must be freed by the caller using free().
  405. */
  406. xcb_xvmc_query_version_reply_t *
  407. xcb_xvmc_query_version_reply (xcb_connection_t *c,
  408. xcb_xvmc_query_version_cookie_t cookie /**< */,
  409. xcb_generic_error_t **e);
  410. int
  411. xcb_xvmc_list_surface_types_sizeof (const void *_buffer);
  412. /**
  413. *
  414. * @param c The connection
  415. * @return A cookie
  416. *
  417. * Delivers a request to the X server.
  418. *
  419. */
  420. xcb_xvmc_list_surface_types_cookie_t
  421. xcb_xvmc_list_surface_types (xcb_connection_t *c,
  422. xcb_xv_port_t port_id);
  423. /**
  424. *
  425. * @param c The connection
  426. * @return A cookie
  427. *
  428. * Delivers a request to the X server.
  429. *
  430. * This form can be used only if the request will cause
  431. * a reply to be generated. Any returned error will be
  432. * placed in the event queue.
  433. */
  434. xcb_xvmc_list_surface_types_cookie_t
  435. xcb_xvmc_list_surface_types_unchecked (xcb_connection_t *c,
  436. xcb_xv_port_t port_id);
  437. xcb_xvmc_surface_info_t *
  438. xcb_xvmc_list_surface_types_surfaces (const xcb_xvmc_list_surface_types_reply_t *R);
  439. int
  440. xcb_xvmc_list_surface_types_surfaces_length (const xcb_xvmc_list_surface_types_reply_t *R);
  441. xcb_xvmc_surface_info_iterator_t
  442. xcb_xvmc_list_surface_types_surfaces_iterator (const xcb_xvmc_list_surface_types_reply_t *R);
  443. /**
  444. * Return the reply
  445. * @param c The connection
  446. * @param cookie The cookie
  447. * @param e The xcb_generic_error_t supplied
  448. *
  449. * Returns the reply of the request asked by
  450. *
  451. * The parameter @p e supplied to this function must be NULL if
  452. * xcb_xvmc_list_surface_types_unchecked(). is used.
  453. * Otherwise, it stores the error if any.
  454. *
  455. * The returned value must be freed by the caller using free().
  456. */
  457. xcb_xvmc_list_surface_types_reply_t *
  458. xcb_xvmc_list_surface_types_reply (xcb_connection_t *c,
  459. xcb_xvmc_list_surface_types_cookie_t cookie /**< */,
  460. xcb_generic_error_t **e);
  461. int
  462. xcb_xvmc_create_context_sizeof (const void *_buffer);
  463. /**
  464. *
  465. * @param c The connection
  466. * @return A cookie
  467. *
  468. * Delivers a request to the X server.
  469. *
  470. */
  471. xcb_xvmc_create_context_cookie_t
  472. xcb_xvmc_create_context (xcb_connection_t *c,
  473. xcb_xvmc_context_t context_id,
  474. xcb_xv_port_t port_id,
  475. xcb_xvmc_surface_t surface_id,
  476. uint16_t width,
  477. uint16_t height,
  478. uint32_t flags);
  479. /**
  480. *
  481. * @param c The connection
  482. * @return A cookie
  483. *
  484. * Delivers a request to the X server.
  485. *
  486. * This form can be used only if the request will cause
  487. * a reply to be generated. Any returned error will be
  488. * placed in the event queue.
  489. */
  490. xcb_xvmc_create_context_cookie_t
  491. xcb_xvmc_create_context_unchecked (xcb_connection_t *c,
  492. xcb_xvmc_context_t context_id,
  493. xcb_xv_port_t port_id,
  494. xcb_xvmc_surface_t surface_id,
  495. uint16_t width,
  496. uint16_t height,
  497. uint32_t flags);
  498. uint32_t *
  499. xcb_xvmc_create_context_priv_data (const xcb_xvmc_create_context_reply_t *R);
  500. int
  501. xcb_xvmc_create_context_priv_data_length (const xcb_xvmc_create_context_reply_t *R);
  502. xcb_generic_iterator_t
  503. xcb_xvmc_create_context_priv_data_end (const xcb_xvmc_create_context_reply_t *R);
  504. /**
  505. * Return the reply
  506. * @param c The connection
  507. * @param cookie The cookie
  508. * @param e The xcb_generic_error_t supplied
  509. *
  510. * Returns the reply of the request asked by
  511. *
  512. * The parameter @p e supplied to this function must be NULL if
  513. * xcb_xvmc_create_context_unchecked(). is used.
  514. * Otherwise, it stores the error if any.
  515. *
  516. * The returned value must be freed by the caller using free().
  517. */
  518. xcb_xvmc_create_context_reply_t *
  519. xcb_xvmc_create_context_reply (xcb_connection_t *c,
  520. xcb_xvmc_create_context_cookie_t cookie /**< */,
  521. xcb_generic_error_t **e);
  522. /**
  523. *
  524. * @param c The connection
  525. * @return A cookie
  526. *
  527. * Delivers a request to the X server.
  528. *
  529. * This form can be used only if the request will not cause
  530. * a reply to be generated. Any returned error will be
  531. * saved for handling by xcb_request_check().
  532. */
  533. xcb_void_cookie_t
  534. xcb_xvmc_destroy_context_checked (xcb_connection_t *c,
  535. xcb_xvmc_context_t context_id);
  536. /**
  537. *
  538. * @param c The connection
  539. * @return A cookie
  540. *
  541. * Delivers a request to the X server.
  542. *
  543. */
  544. xcb_void_cookie_t
  545. xcb_xvmc_destroy_context (xcb_connection_t *c,
  546. xcb_xvmc_context_t context_id);
  547. int
  548. xcb_xvmc_create_surface_sizeof (const void *_buffer);
  549. /**
  550. *
  551. * @param c The connection
  552. * @return A cookie
  553. *
  554. * Delivers a request to the X server.
  555. *
  556. */
  557. xcb_xvmc_create_surface_cookie_t
  558. xcb_xvmc_create_surface (xcb_connection_t *c,
  559. xcb_xvmc_surface_t surface_id,
  560. xcb_xvmc_context_t context_id);
  561. /**
  562. *
  563. * @param c The connection
  564. * @return A cookie
  565. *
  566. * Delivers a request to the X server.
  567. *
  568. * This form can be used only if the request will cause
  569. * a reply to be generated. Any returned error will be
  570. * placed in the event queue.
  571. */
  572. xcb_xvmc_create_surface_cookie_t
  573. xcb_xvmc_create_surface_unchecked (xcb_connection_t *c,
  574. xcb_xvmc_surface_t surface_id,
  575. xcb_xvmc_context_t context_id);
  576. uint32_t *
  577. xcb_xvmc_create_surface_priv_data (const xcb_xvmc_create_surface_reply_t *R);
  578. int
  579. xcb_xvmc_create_surface_priv_data_length (const xcb_xvmc_create_surface_reply_t *R);
  580. xcb_generic_iterator_t
  581. xcb_xvmc_create_surface_priv_data_end (const xcb_xvmc_create_surface_reply_t *R);
  582. /**
  583. * Return the reply
  584. * @param c The connection
  585. * @param cookie The cookie
  586. * @param e The xcb_generic_error_t supplied
  587. *
  588. * Returns the reply of the request asked by
  589. *
  590. * The parameter @p e supplied to this function must be NULL if
  591. * xcb_xvmc_create_surface_unchecked(). is used.
  592. * Otherwise, it stores the error if any.
  593. *
  594. * The returned value must be freed by the caller using free().
  595. */
  596. xcb_xvmc_create_surface_reply_t *
  597. xcb_xvmc_create_surface_reply (xcb_connection_t *c,
  598. xcb_xvmc_create_surface_cookie_t cookie /**< */,
  599. xcb_generic_error_t **e);
  600. /**
  601. *
  602. * @param c The connection
  603. * @return A cookie
  604. *
  605. * Delivers a request to the X server.
  606. *
  607. * This form can be used only if the request will not cause
  608. * a reply to be generated. Any returned error will be
  609. * saved for handling by xcb_request_check().
  610. */
  611. xcb_void_cookie_t
  612. xcb_xvmc_destroy_surface_checked (xcb_connection_t *c,
  613. xcb_xvmc_surface_t surface_id);
  614. /**
  615. *
  616. * @param c The connection
  617. * @return A cookie
  618. *
  619. * Delivers a request to the X server.
  620. *
  621. */
  622. xcb_void_cookie_t
  623. xcb_xvmc_destroy_surface (xcb_connection_t *c,
  624. xcb_xvmc_surface_t surface_id);
  625. int
  626. xcb_xvmc_create_subpicture_sizeof (const void *_buffer);
  627. /**
  628. *
  629. * @param c The connection
  630. * @return A cookie
  631. *
  632. * Delivers a request to the X server.
  633. *
  634. */
  635. xcb_xvmc_create_subpicture_cookie_t
  636. xcb_xvmc_create_subpicture (xcb_connection_t *c,
  637. xcb_xvmc_subpicture_t subpicture_id,
  638. xcb_xvmc_context_t context,
  639. uint32_t xvimage_id,
  640. uint16_t width,
  641. uint16_t height);
  642. /**
  643. *
  644. * @param c The connection
  645. * @return A cookie
  646. *
  647. * Delivers a request to the X server.
  648. *
  649. * This form can be used only if the request will cause
  650. * a reply to be generated. Any returned error will be
  651. * placed in the event queue.
  652. */
  653. xcb_xvmc_create_subpicture_cookie_t
  654. xcb_xvmc_create_subpicture_unchecked (xcb_connection_t *c,
  655. xcb_xvmc_subpicture_t subpicture_id,
  656. xcb_xvmc_context_t context,
  657. uint32_t xvimage_id,
  658. uint16_t width,
  659. uint16_t height);
  660. uint32_t *
  661. xcb_xvmc_create_subpicture_priv_data (const xcb_xvmc_create_subpicture_reply_t *R);
  662. int
  663. xcb_xvmc_create_subpicture_priv_data_length (const xcb_xvmc_create_subpicture_reply_t *R);
  664. xcb_generic_iterator_t
  665. xcb_xvmc_create_subpicture_priv_data_end (const xcb_xvmc_create_subpicture_reply_t *R);
  666. /**
  667. * Return the reply
  668. * @param c The connection
  669. * @param cookie The cookie
  670. * @param e The xcb_generic_error_t supplied
  671. *
  672. * Returns the reply of the request asked by
  673. *
  674. * The parameter @p e supplied to this function must be NULL if
  675. * xcb_xvmc_create_subpicture_unchecked(). is used.
  676. * Otherwise, it stores the error if any.
  677. *
  678. * The returned value must be freed by the caller using free().
  679. */
  680. xcb_xvmc_create_subpicture_reply_t *
  681. xcb_xvmc_create_subpicture_reply (xcb_connection_t *c,
  682. xcb_xvmc_create_subpicture_cookie_t cookie /**< */,
  683. xcb_generic_error_t **e);
  684. /**
  685. *
  686. * @param c The connection
  687. * @return A cookie
  688. *
  689. * Delivers a request to the X server.
  690. *
  691. * This form can be used only if the request will not cause
  692. * a reply to be generated. Any returned error will be
  693. * saved for handling by xcb_request_check().
  694. */
  695. xcb_void_cookie_t
  696. xcb_xvmc_destroy_subpicture_checked (xcb_connection_t *c,
  697. xcb_xvmc_subpicture_t subpicture_id);
  698. /**
  699. *
  700. * @param c The connection
  701. * @return A cookie
  702. *
  703. * Delivers a request to the X server.
  704. *
  705. */
  706. xcb_void_cookie_t
  707. xcb_xvmc_destroy_subpicture (xcb_connection_t *c,
  708. xcb_xvmc_subpicture_t subpicture_id);
  709. int
  710. xcb_xvmc_list_subpicture_types_sizeof (const void *_buffer);
  711. /**
  712. *
  713. * @param c The connection
  714. * @return A cookie
  715. *
  716. * Delivers a request to the X server.
  717. *
  718. */
  719. xcb_xvmc_list_subpicture_types_cookie_t
  720. xcb_xvmc_list_subpicture_types (xcb_connection_t *c,
  721. xcb_xv_port_t port_id,
  722. xcb_xvmc_surface_t surface_id);
  723. /**
  724. *
  725. * @param c The connection
  726. * @return A cookie
  727. *
  728. * Delivers a request to the X server.
  729. *
  730. * This form can be used only if the request will cause
  731. * a reply to be generated. Any returned error will be
  732. * placed in the event queue.
  733. */
  734. xcb_xvmc_list_subpicture_types_cookie_t
  735. xcb_xvmc_list_subpicture_types_unchecked (xcb_connection_t *c,
  736. xcb_xv_port_t port_id,
  737. xcb_xvmc_surface_t surface_id);
  738. xcb_xv_image_format_info_t *
  739. xcb_xvmc_list_subpicture_types_types (const xcb_xvmc_list_subpicture_types_reply_t *R);
  740. int
  741. xcb_xvmc_list_subpicture_types_types_length (const xcb_xvmc_list_subpicture_types_reply_t *R);
  742. xcb_xv_image_format_info_iterator_t
  743. xcb_xvmc_list_subpicture_types_types_iterator (const xcb_xvmc_list_subpicture_types_reply_t *R);
  744. /**
  745. * Return the reply
  746. * @param c The connection
  747. * @param cookie The cookie
  748. * @param e The xcb_generic_error_t supplied
  749. *
  750. * Returns the reply of the request asked by
  751. *
  752. * The parameter @p e supplied to this function must be NULL if
  753. * xcb_xvmc_list_subpicture_types_unchecked(). is used.
  754. * Otherwise, it stores the error if any.
  755. *
  756. * The returned value must be freed by the caller using free().
  757. */
  758. xcb_xvmc_list_subpicture_types_reply_t *
  759. xcb_xvmc_list_subpicture_types_reply (xcb_connection_t *c,
  760. xcb_xvmc_list_subpicture_types_cookie_t cookie /**< */,
  761. xcb_generic_error_t **e);
  762. #ifdef __cplusplus
  763. }
  764. #endif
  765. #endif
  766. /**
  767. * @}
  768. */