xv.h 56 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087
  1. /*
  2. * This file generated automatically from xv.xml by c_client.py.
  3. * Edit at your peril.
  4. */
  5. /**
  6. * @defgroup XCB_Xv_API XCB Xv API
  7. * @brief Xv XCB Protocol Implementation.
  8. * @{
  9. **/
  10. #ifndef __XV_H
  11. #define __XV_H
  12. #include "xcb.h"
  13. #include "xproto.h"
  14. #include "shm.h"
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. #define XCB_XV_MAJOR_VERSION 2
  19. #define XCB_XV_MINOR_VERSION 2
  20. extern xcb_extension_t xcb_xv_id;
  21. typedef uint32_t xcb_xv_port_t;
  22. /**
  23. * @brief xcb_xv_port_iterator_t
  24. **/
  25. typedef struct xcb_xv_port_iterator_t {
  26. xcb_xv_port_t *data;
  27. int rem;
  28. int index;
  29. } xcb_xv_port_iterator_t;
  30. typedef uint32_t xcb_xv_encoding_t;
  31. /**
  32. * @brief xcb_xv_encoding_iterator_t
  33. **/
  34. typedef struct xcb_xv_encoding_iterator_t {
  35. xcb_xv_encoding_t *data;
  36. int rem;
  37. int index;
  38. } xcb_xv_encoding_iterator_t;
  39. typedef enum xcb_xv_type_t {
  40. XCB_XV_TYPE_INPUT_MASK = 1,
  41. XCB_XV_TYPE_OUTPUT_MASK = 2,
  42. XCB_XV_TYPE_VIDEO_MASK = 4,
  43. XCB_XV_TYPE_STILL_MASK = 8,
  44. XCB_XV_TYPE_IMAGE_MASK = 16
  45. } xcb_xv_type_t;
  46. typedef enum xcb_xv_image_format_info_type_t {
  47. XCB_XV_IMAGE_FORMAT_INFO_TYPE_RGB = 0,
  48. XCB_XV_IMAGE_FORMAT_INFO_TYPE_YUV = 1
  49. } xcb_xv_image_format_info_type_t;
  50. typedef enum xcb_xv_image_format_info_format_t {
  51. XCB_XV_IMAGE_FORMAT_INFO_FORMAT_PACKED = 0,
  52. XCB_XV_IMAGE_FORMAT_INFO_FORMAT_PLANAR = 1
  53. } xcb_xv_image_format_info_format_t;
  54. typedef enum xcb_xv_attribute_flag_t {
  55. XCB_XV_ATTRIBUTE_FLAG_GETTABLE = 1,
  56. XCB_XV_ATTRIBUTE_FLAG_SETTABLE = 2
  57. } xcb_xv_attribute_flag_t;
  58. typedef enum xcb_xv_video_notify_reason_t {
  59. XCB_XV_VIDEO_NOTIFY_REASON_STARTED = 0,
  60. XCB_XV_VIDEO_NOTIFY_REASON_STOPPED = 1,
  61. XCB_XV_VIDEO_NOTIFY_REASON_BUSY = 2,
  62. XCB_XV_VIDEO_NOTIFY_REASON_PREEMPTED = 3,
  63. XCB_XV_VIDEO_NOTIFY_REASON_HARD_ERROR = 4
  64. } xcb_xv_video_notify_reason_t;
  65. typedef enum xcb_xv_scanline_order_t {
  66. XCB_XV_SCANLINE_ORDER_TOP_TO_BOTTOM = 0,
  67. XCB_XV_SCANLINE_ORDER_BOTTOM_TO_TOP = 1
  68. } xcb_xv_scanline_order_t;
  69. typedef enum xcb_xv_grab_port_status_t {
  70. XCB_XV_GRAB_PORT_STATUS_SUCCESS = 0,
  71. XCB_XV_GRAB_PORT_STATUS_BAD_EXTENSION = 1,
  72. XCB_XV_GRAB_PORT_STATUS_ALREADY_GRABBED = 2,
  73. XCB_XV_GRAB_PORT_STATUS_INVALID_TIME = 3,
  74. XCB_XV_GRAB_PORT_STATUS_BAD_REPLY = 4,
  75. XCB_XV_GRAB_PORT_STATUS_BAD_ALLOC = 5
  76. } xcb_xv_grab_port_status_t;
  77. /**
  78. * @brief xcb_xv_rational_t
  79. **/
  80. typedef struct xcb_xv_rational_t {
  81. int32_t numerator;
  82. int32_t denominator;
  83. } xcb_xv_rational_t;
  84. /**
  85. * @brief xcb_xv_rational_iterator_t
  86. **/
  87. typedef struct xcb_xv_rational_iterator_t {
  88. xcb_xv_rational_t *data;
  89. int rem;
  90. int index;
  91. } xcb_xv_rational_iterator_t;
  92. /**
  93. * @brief xcb_xv_format_t
  94. **/
  95. typedef struct xcb_xv_format_t {
  96. xcb_visualid_t visual;
  97. uint8_t depth;
  98. uint8_t pad0[3];
  99. } xcb_xv_format_t;
  100. /**
  101. * @brief xcb_xv_format_iterator_t
  102. **/
  103. typedef struct xcb_xv_format_iterator_t {
  104. xcb_xv_format_t *data;
  105. int rem;
  106. int index;
  107. } xcb_xv_format_iterator_t;
  108. /**
  109. * @brief xcb_xv_adaptor_info_t
  110. **/
  111. typedef struct xcb_xv_adaptor_info_t {
  112. xcb_xv_port_t base_id;
  113. uint16_t name_size;
  114. uint16_t num_ports;
  115. uint16_t num_formats;
  116. uint8_t type;
  117. uint8_t pad0;
  118. } xcb_xv_adaptor_info_t;
  119. /**
  120. * @brief xcb_xv_adaptor_info_iterator_t
  121. **/
  122. typedef struct xcb_xv_adaptor_info_iterator_t {
  123. xcb_xv_adaptor_info_t *data;
  124. int rem;
  125. int index;
  126. } xcb_xv_adaptor_info_iterator_t;
  127. /**
  128. * @brief xcb_xv_encoding_info_t
  129. **/
  130. typedef struct xcb_xv_encoding_info_t {
  131. xcb_xv_encoding_t encoding;
  132. uint16_t name_size;
  133. uint16_t width;
  134. uint16_t height;
  135. uint8_t pad0[2];
  136. xcb_xv_rational_t rate;
  137. } xcb_xv_encoding_info_t;
  138. /**
  139. * @brief xcb_xv_encoding_info_iterator_t
  140. **/
  141. typedef struct xcb_xv_encoding_info_iterator_t {
  142. xcb_xv_encoding_info_t *data;
  143. int rem;
  144. int index;
  145. } xcb_xv_encoding_info_iterator_t;
  146. /**
  147. * @brief xcb_xv_image_t
  148. **/
  149. typedef struct xcb_xv_image_t {
  150. uint32_t id;
  151. uint16_t width;
  152. uint16_t height;
  153. uint32_t data_size;
  154. uint32_t num_planes;
  155. } xcb_xv_image_t;
  156. /**
  157. * @brief xcb_xv_image_iterator_t
  158. **/
  159. typedef struct xcb_xv_image_iterator_t {
  160. xcb_xv_image_t *data;
  161. int rem;
  162. int index;
  163. } xcb_xv_image_iterator_t;
  164. /**
  165. * @brief xcb_xv_attribute_info_t
  166. **/
  167. typedef struct xcb_xv_attribute_info_t {
  168. uint32_t flags;
  169. int32_t min;
  170. int32_t max;
  171. uint32_t size;
  172. } xcb_xv_attribute_info_t;
  173. /**
  174. * @brief xcb_xv_attribute_info_iterator_t
  175. **/
  176. typedef struct xcb_xv_attribute_info_iterator_t {
  177. xcb_xv_attribute_info_t *data;
  178. int rem;
  179. int index;
  180. } xcb_xv_attribute_info_iterator_t;
  181. /**
  182. * @brief xcb_xv_image_format_info_t
  183. **/
  184. typedef struct xcb_xv_image_format_info_t {
  185. uint32_t id;
  186. uint8_t type;
  187. uint8_t byte_order;
  188. uint8_t pad0[2];
  189. uint8_t guid[16];
  190. uint8_t bpp;
  191. uint8_t num_planes;
  192. uint8_t pad1[2];
  193. uint8_t depth;
  194. uint8_t pad2[3];
  195. uint32_t red_mask;
  196. uint32_t green_mask;
  197. uint32_t blue_mask;
  198. uint8_t format;
  199. uint8_t pad3[3];
  200. uint32_t y_sample_bits;
  201. uint32_t u_sample_bits;
  202. uint32_t v_sample_bits;
  203. uint32_t vhorz_y_period;
  204. uint32_t vhorz_u_period;
  205. uint32_t vhorz_v_period;
  206. uint32_t vvert_y_period;
  207. uint32_t vvert_u_period;
  208. uint32_t vvert_v_period;
  209. uint8_t vcomp_order[32];
  210. uint8_t vscanline_order;
  211. uint8_t pad4[11];
  212. } xcb_xv_image_format_info_t;
  213. /**
  214. * @brief xcb_xv_image_format_info_iterator_t
  215. **/
  216. typedef struct xcb_xv_image_format_info_iterator_t {
  217. xcb_xv_image_format_info_t *data;
  218. int rem;
  219. int index;
  220. } xcb_xv_image_format_info_iterator_t;
  221. /** Opcode for xcb_xv_bad_port. */
  222. #define XCB_XV_BAD_PORT 0
  223. /**
  224. * @brief xcb_xv_bad_port_error_t
  225. **/
  226. typedef struct xcb_xv_bad_port_error_t {
  227. uint8_t response_type;
  228. uint8_t error_code;
  229. uint16_t sequence;
  230. } xcb_xv_bad_port_error_t;
  231. /** Opcode for xcb_xv_bad_encoding. */
  232. #define XCB_XV_BAD_ENCODING 1
  233. /**
  234. * @brief xcb_xv_bad_encoding_error_t
  235. **/
  236. typedef struct xcb_xv_bad_encoding_error_t {
  237. uint8_t response_type;
  238. uint8_t error_code;
  239. uint16_t sequence;
  240. } xcb_xv_bad_encoding_error_t;
  241. /** Opcode for xcb_xv_bad_control. */
  242. #define XCB_XV_BAD_CONTROL 2
  243. /**
  244. * @brief xcb_xv_bad_control_error_t
  245. **/
  246. typedef struct xcb_xv_bad_control_error_t {
  247. uint8_t response_type;
  248. uint8_t error_code;
  249. uint16_t sequence;
  250. } xcb_xv_bad_control_error_t;
  251. /** Opcode for xcb_xv_video_notify. */
  252. #define XCB_XV_VIDEO_NOTIFY 0
  253. /**
  254. * @brief xcb_xv_video_notify_event_t
  255. **/
  256. typedef struct xcb_xv_video_notify_event_t {
  257. uint8_t response_type;
  258. uint8_t reason;
  259. uint16_t sequence;
  260. xcb_timestamp_t time;
  261. xcb_drawable_t drawable;
  262. xcb_xv_port_t port;
  263. } xcb_xv_video_notify_event_t;
  264. /** Opcode for xcb_xv_port_notify. */
  265. #define XCB_XV_PORT_NOTIFY 1
  266. /**
  267. * @brief xcb_xv_port_notify_event_t
  268. **/
  269. typedef struct xcb_xv_port_notify_event_t {
  270. uint8_t response_type;
  271. uint8_t pad0;
  272. uint16_t sequence;
  273. xcb_timestamp_t time;
  274. xcb_xv_port_t port;
  275. xcb_atom_t attribute;
  276. int32_t value;
  277. } xcb_xv_port_notify_event_t;
  278. /**
  279. * @brief xcb_xv_query_extension_cookie_t
  280. **/
  281. typedef struct xcb_xv_query_extension_cookie_t {
  282. unsigned int sequence;
  283. } xcb_xv_query_extension_cookie_t;
  284. /** Opcode for xcb_xv_query_extension. */
  285. #define XCB_XV_QUERY_EXTENSION 0
  286. /**
  287. * @brief xcb_xv_query_extension_request_t
  288. **/
  289. typedef struct xcb_xv_query_extension_request_t {
  290. uint8_t major_opcode;
  291. uint8_t minor_opcode;
  292. uint16_t length;
  293. } xcb_xv_query_extension_request_t;
  294. /**
  295. * @brief xcb_xv_query_extension_reply_t
  296. **/
  297. typedef struct xcb_xv_query_extension_reply_t {
  298. uint8_t response_type;
  299. uint8_t pad0;
  300. uint16_t sequence;
  301. uint32_t length;
  302. uint16_t major;
  303. uint16_t minor;
  304. } xcb_xv_query_extension_reply_t;
  305. /**
  306. * @brief xcb_xv_query_adaptors_cookie_t
  307. **/
  308. typedef struct xcb_xv_query_adaptors_cookie_t {
  309. unsigned int sequence;
  310. } xcb_xv_query_adaptors_cookie_t;
  311. /** Opcode for xcb_xv_query_adaptors. */
  312. #define XCB_XV_QUERY_ADAPTORS 1
  313. /**
  314. * @brief xcb_xv_query_adaptors_request_t
  315. **/
  316. typedef struct xcb_xv_query_adaptors_request_t {
  317. uint8_t major_opcode;
  318. uint8_t minor_opcode;
  319. uint16_t length;
  320. xcb_window_t window;
  321. } xcb_xv_query_adaptors_request_t;
  322. /**
  323. * @brief xcb_xv_query_adaptors_reply_t
  324. **/
  325. typedef struct xcb_xv_query_adaptors_reply_t {
  326. uint8_t response_type;
  327. uint8_t pad0;
  328. uint16_t sequence;
  329. uint32_t length;
  330. uint16_t num_adaptors;
  331. uint8_t pad1[22];
  332. } xcb_xv_query_adaptors_reply_t;
  333. /**
  334. * @brief xcb_xv_query_encodings_cookie_t
  335. **/
  336. typedef struct xcb_xv_query_encodings_cookie_t {
  337. unsigned int sequence;
  338. } xcb_xv_query_encodings_cookie_t;
  339. /** Opcode for xcb_xv_query_encodings. */
  340. #define XCB_XV_QUERY_ENCODINGS 2
  341. /**
  342. * @brief xcb_xv_query_encodings_request_t
  343. **/
  344. typedef struct xcb_xv_query_encodings_request_t {
  345. uint8_t major_opcode;
  346. uint8_t minor_opcode;
  347. uint16_t length;
  348. xcb_xv_port_t port;
  349. } xcb_xv_query_encodings_request_t;
  350. /**
  351. * @brief xcb_xv_query_encodings_reply_t
  352. **/
  353. typedef struct xcb_xv_query_encodings_reply_t {
  354. uint8_t response_type;
  355. uint8_t pad0;
  356. uint16_t sequence;
  357. uint32_t length;
  358. uint16_t num_encodings;
  359. uint8_t pad1[22];
  360. } xcb_xv_query_encodings_reply_t;
  361. /**
  362. * @brief xcb_xv_grab_port_cookie_t
  363. **/
  364. typedef struct xcb_xv_grab_port_cookie_t {
  365. unsigned int sequence;
  366. } xcb_xv_grab_port_cookie_t;
  367. /** Opcode for xcb_xv_grab_port. */
  368. #define XCB_XV_GRAB_PORT 3
  369. /**
  370. * @brief xcb_xv_grab_port_request_t
  371. **/
  372. typedef struct xcb_xv_grab_port_request_t {
  373. uint8_t major_opcode;
  374. uint8_t minor_opcode;
  375. uint16_t length;
  376. xcb_xv_port_t port;
  377. xcb_timestamp_t time;
  378. } xcb_xv_grab_port_request_t;
  379. /**
  380. * @brief xcb_xv_grab_port_reply_t
  381. **/
  382. typedef struct xcb_xv_grab_port_reply_t {
  383. uint8_t response_type;
  384. uint8_t result;
  385. uint16_t sequence;
  386. uint32_t length;
  387. } xcb_xv_grab_port_reply_t;
  388. /** Opcode for xcb_xv_ungrab_port. */
  389. #define XCB_XV_UNGRAB_PORT 4
  390. /**
  391. * @brief xcb_xv_ungrab_port_request_t
  392. **/
  393. typedef struct xcb_xv_ungrab_port_request_t {
  394. uint8_t major_opcode;
  395. uint8_t minor_opcode;
  396. uint16_t length;
  397. xcb_xv_port_t port;
  398. xcb_timestamp_t time;
  399. } xcb_xv_ungrab_port_request_t;
  400. /** Opcode for xcb_xv_put_video. */
  401. #define XCB_XV_PUT_VIDEO 5
  402. /**
  403. * @brief xcb_xv_put_video_request_t
  404. **/
  405. typedef struct xcb_xv_put_video_request_t {
  406. uint8_t major_opcode;
  407. uint8_t minor_opcode;
  408. uint16_t length;
  409. xcb_xv_port_t port;
  410. xcb_drawable_t drawable;
  411. xcb_gcontext_t gc;
  412. int16_t vid_x;
  413. int16_t vid_y;
  414. uint16_t vid_w;
  415. uint16_t vid_h;
  416. int16_t drw_x;
  417. int16_t drw_y;
  418. uint16_t drw_w;
  419. uint16_t drw_h;
  420. } xcb_xv_put_video_request_t;
  421. /** Opcode for xcb_xv_put_still. */
  422. #define XCB_XV_PUT_STILL 6
  423. /**
  424. * @brief xcb_xv_put_still_request_t
  425. **/
  426. typedef struct xcb_xv_put_still_request_t {
  427. uint8_t major_opcode;
  428. uint8_t minor_opcode;
  429. uint16_t length;
  430. xcb_xv_port_t port;
  431. xcb_drawable_t drawable;
  432. xcb_gcontext_t gc;
  433. int16_t vid_x;
  434. int16_t vid_y;
  435. uint16_t vid_w;
  436. uint16_t vid_h;
  437. int16_t drw_x;
  438. int16_t drw_y;
  439. uint16_t drw_w;
  440. uint16_t drw_h;
  441. } xcb_xv_put_still_request_t;
  442. /** Opcode for xcb_xv_get_video. */
  443. #define XCB_XV_GET_VIDEO 7
  444. /**
  445. * @brief xcb_xv_get_video_request_t
  446. **/
  447. typedef struct xcb_xv_get_video_request_t {
  448. uint8_t major_opcode;
  449. uint8_t minor_opcode;
  450. uint16_t length;
  451. xcb_xv_port_t port;
  452. xcb_drawable_t drawable;
  453. xcb_gcontext_t gc;
  454. int16_t vid_x;
  455. int16_t vid_y;
  456. uint16_t vid_w;
  457. uint16_t vid_h;
  458. int16_t drw_x;
  459. int16_t drw_y;
  460. uint16_t drw_w;
  461. uint16_t drw_h;
  462. } xcb_xv_get_video_request_t;
  463. /** Opcode for xcb_xv_get_still. */
  464. #define XCB_XV_GET_STILL 8
  465. /**
  466. * @brief xcb_xv_get_still_request_t
  467. **/
  468. typedef struct xcb_xv_get_still_request_t {
  469. uint8_t major_opcode;
  470. uint8_t minor_opcode;
  471. uint16_t length;
  472. xcb_xv_port_t port;
  473. xcb_drawable_t drawable;
  474. xcb_gcontext_t gc;
  475. int16_t vid_x;
  476. int16_t vid_y;
  477. uint16_t vid_w;
  478. uint16_t vid_h;
  479. int16_t drw_x;
  480. int16_t drw_y;
  481. uint16_t drw_w;
  482. uint16_t drw_h;
  483. } xcb_xv_get_still_request_t;
  484. /** Opcode for xcb_xv_stop_video. */
  485. #define XCB_XV_STOP_VIDEO 9
  486. /**
  487. * @brief xcb_xv_stop_video_request_t
  488. **/
  489. typedef struct xcb_xv_stop_video_request_t {
  490. uint8_t major_opcode;
  491. uint8_t minor_opcode;
  492. uint16_t length;
  493. xcb_xv_port_t port;
  494. xcb_drawable_t drawable;
  495. } xcb_xv_stop_video_request_t;
  496. /** Opcode for xcb_xv_select_video_notify. */
  497. #define XCB_XV_SELECT_VIDEO_NOTIFY 10
  498. /**
  499. * @brief xcb_xv_select_video_notify_request_t
  500. **/
  501. typedef struct xcb_xv_select_video_notify_request_t {
  502. uint8_t major_opcode;
  503. uint8_t minor_opcode;
  504. uint16_t length;
  505. xcb_drawable_t drawable;
  506. uint8_t onoff;
  507. uint8_t pad0[3];
  508. } xcb_xv_select_video_notify_request_t;
  509. /** Opcode for xcb_xv_select_port_notify. */
  510. #define XCB_XV_SELECT_PORT_NOTIFY 11
  511. /**
  512. * @brief xcb_xv_select_port_notify_request_t
  513. **/
  514. typedef struct xcb_xv_select_port_notify_request_t {
  515. uint8_t major_opcode;
  516. uint8_t minor_opcode;
  517. uint16_t length;
  518. xcb_xv_port_t port;
  519. uint8_t onoff;
  520. uint8_t pad0[3];
  521. } xcb_xv_select_port_notify_request_t;
  522. /**
  523. * @brief xcb_xv_query_best_size_cookie_t
  524. **/
  525. typedef struct xcb_xv_query_best_size_cookie_t {
  526. unsigned int sequence;
  527. } xcb_xv_query_best_size_cookie_t;
  528. /** Opcode for xcb_xv_query_best_size. */
  529. #define XCB_XV_QUERY_BEST_SIZE 12
  530. /**
  531. * @brief xcb_xv_query_best_size_request_t
  532. **/
  533. typedef struct xcb_xv_query_best_size_request_t {
  534. uint8_t major_opcode;
  535. uint8_t minor_opcode;
  536. uint16_t length;
  537. xcb_xv_port_t port;
  538. uint16_t vid_w;
  539. uint16_t vid_h;
  540. uint16_t drw_w;
  541. uint16_t drw_h;
  542. uint8_t motion;
  543. uint8_t pad0[3];
  544. } xcb_xv_query_best_size_request_t;
  545. /**
  546. * @brief xcb_xv_query_best_size_reply_t
  547. **/
  548. typedef struct xcb_xv_query_best_size_reply_t {
  549. uint8_t response_type;
  550. uint8_t pad0;
  551. uint16_t sequence;
  552. uint32_t length;
  553. uint16_t actual_width;
  554. uint16_t actual_height;
  555. } xcb_xv_query_best_size_reply_t;
  556. /** Opcode for xcb_xv_set_port_attribute. */
  557. #define XCB_XV_SET_PORT_ATTRIBUTE 13
  558. /**
  559. * @brief xcb_xv_set_port_attribute_request_t
  560. **/
  561. typedef struct xcb_xv_set_port_attribute_request_t {
  562. uint8_t major_opcode;
  563. uint8_t minor_opcode;
  564. uint16_t length;
  565. xcb_xv_port_t port;
  566. xcb_atom_t attribute;
  567. int32_t value;
  568. } xcb_xv_set_port_attribute_request_t;
  569. /**
  570. * @brief xcb_xv_get_port_attribute_cookie_t
  571. **/
  572. typedef struct xcb_xv_get_port_attribute_cookie_t {
  573. unsigned int sequence;
  574. } xcb_xv_get_port_attribute_cookie_t;
  575. /** Opcode for xcb_xv_get_port_attribute. */
  576. #define XCB_XV_GET_PORT_ATTRIBUTE 14
  577. /**
  578. * @brief xcb_xv_get_port_attribute_request_t
  579. **/
  580. typedef struct xcb_xv_get_port_attribute_request_t {
  581. uint8_t major_opcode;
  582. uint8_t minor_opcode;
  583. uint16_t length;
  584. xcb_xv_port_t port;
  585. xcb_atom_t attribute;
  586. } xcb_xv_get_port_attribute_request_t;
  587. /**
  588. * @brief xcb_xv_get_port_attribute_reply_t
  589. **/
  590. typedef struct xcb_xv_get_port_attribute_reply_t {
  591. uint8_t response_type;
  592. uint8_t pad0;
  593. uint16_t sequence;
  594. uint32_t length;
  595. int32_t value;
  596. } xcb_xv_get_port_attribute_reply_t;
  597. /**
  598. * @brief xcb_xv_query_port_attributes_cookie_t
  599. **/
  600. typedef struct xcb_xv_query_port_attributes_cookie_t {
  601. unsigned int sequence;
  602. } xcb_xv_query_port_attributes_cookie_t;
  603. /** Opcode for xcb_xv_query_port_attributes. */
  604. #define XCB_XV_QUERY_PORT_ATTRIBUTES 15
  605. /**
  606. * @brief xcb_xv_query_port_attributes_request_t
  607. **/
  608. typedef struct xcb_xv_query_port_attributes_request_t {
  609. uint8_t major_opcode;
  610. uint8_t minor_opcode;
  611. uint16_t length;
  612. xcb_xv_port_t port;
  613. } xcb_xv_query_port_attributes_request_t;
  614. /**
  615. * @brief xcb_xv_query_port_attributes_reply_t
  616. **/
  617. typedef struct xcb_xv_query_port_attributes_reply_t {
  618. uint8_t response_type;
  619. uint8_t pad0;
  620. uint16_t sequence;
  621. uint32_t length;
  622. uint32_t num_attributes;
  623. uint32_t text_size;
  624. uint8_t pad1[16];
  625. } xcb_xv_query_port_attributes_reply_t;
  626. /**
  627. * @brief xcb_xv_list_image_formats_cookie_t
  628. **/
  629. typedef struct xcb_xv_list_image_formats_cookie_t {
  630. unsigned int sequence;
  631. } xcb_xv_list_image_formats_cookie_t;
  632. /** Opcode for xcb_xv_list_image_formats. */
  633. #define XCB_XV_LIST_IMAGE_FORMATS 16
  634. /**
  635. * @brief xcb_xv_list_image_formats_request_t
  636. **/
  637. typedef struct xcb_xv_list_image_formats_request_t {
  638. uint8_t major_opcode;
  639. uint8_t minor_opcode;
  640. uint16_t length;
  641. xcb_xv_port_t port;
  642. } xcb_xv_list_image_formats_request_t;
  643. /**
  644. * @brief xcb_xv_list_image_formats_reply_t
  645. **/
  646. typedef struct xcb_xv_list_image_formats_reply_t {
  647. uint8_t response_type;
  648. uint8_t pad0;
  649. uint16_t sequence;
  650. uint32_t length;
  651. uint32_t num_formats;
  652. uint8_t pad1[20];
  653. } xcb_xv_list_image_formats_reply_t;
  654. /**
  655. * @brief xcb_xv_query_image_attributes_cookie_t
  656. **/
  657. typedef struct xcb_xv_query_image_attributes_cookie_t {
  658. unsigned int sequence;
  659. } xcb_xv_query_image_attributes_cookie_t;
  660. /** Opcode for xcb_xv_query_image_attributes. */
  661. #define XCB_XV_QUERY_IMAGE_ATTRIBUTES 17
  662. /**
  663. * @brief xcb_xv_query_image_attributes_request_t
  664. **/
  665. typedef struct xcb_xv_query_image_attributes_request_t {
  666. uint8_t major_opcode;
  667. uint8_t minor_opcode;
  668. uint16_t length;
  669. xcb_xv_port_t port;
  670. uint32_t id;
  671. uint16_t width;
  672. uint16_t height;
  673. } xcb_xv_query_image_attributes_request_t;
  674. /**
  675. * @brief xcb_xv_query_image_attributes_reply_t
  676. **/
  677. typedef struct xcb_xv_query_image_attributes_reply_t {
  678. uint8_t response_type;
  679. uint8_t pad0;
  680. uint16_t sequence;
  681. uint32_t length;
  682. uint32_t num_planes;
  683. uint32_t data_size;
  684. uint16_t width;
  685. uint16_t height;
  686. uint8_t pad1[12];
  687. } xcb_xv_query_image_attributes_reply_t;
  688. /** Opcode for xcb_xv_put_image. */
  689. #define XCB_XV_PUT_IMAGE 18
  690. /**
  691. * @brief xcb_xv_put_image_request_t
  692. **/
  693. typedef struct xcb_xv_put_image_request_t {
  694. uint8_t major_opcode;
  695. uint8_t minor_opcode;
  696. uint16_t length;
  697. xcb_xv_port_t port;
  698. xcb_drawable_t drawable;
  699. xcb_gcontext_t gc;
  700. uint32_t id;
  701. int16_t src_x;
  702. int16_t src_y;
  703. uint16_t src_w;
  704. uint16_t src_h;
  705. int16_t drw_x;
  706. int16_t drw_y;
  707. uint16_t drw_w;
  708. uint16_t drw_h;
  709. uint16_t width;
  710. uint16_t height;
  711. } xcb_xv_put_image_request_t;
  712. /** Opcode for xcb_xv_shm_put_image. */
  713. #define XCB_XV_SHM_PUT_IMAGE 19
  714. /**
  715. * @brief xcb_xv_shm_put_image_request_t
  716. **/
  717. typedef struct xcb_xv_shm_put_image_request_t {
  718. uint8_t major_opcode;
  719. uint8_t minor_opcode;
  720. uint16_t length;
  721. xcb_xv_port_t port;
  722. xcb_drawable_t drawable;
  723. xcb_gcontext_t gc;
  724. xcb_shm_seg_t shmseg;
  725. uint32_t id;
  726. uint32_t offset;
  727. int16_t src_x;
  728. int16_t src_y;
  729. uint16_t src_w;
  730. uint16_t src_h;
  731. int16_t drw_x;
  732. int16_t drw_y;
  733. uint16_t drw_w;
  734. uint16_t drw_h;
  735. uint16_t width;
  736. uint16_t height;
  737. uint8_t send_event;
  738. uint8_t pad0[3];
  739. } xcb_xv_shm_put_image_request_t;
  740. /**
  741. * Get the next element of the iterator
  742. * @param i Pointer to a xcb_xv_port_iterator_t
  743. *
  744. * Get the next element in the iterator. The member rem is
  745. * decreased by one. The member data points to the next
  746. * element. The member index is increased by sizeof(xcb_xv_port_t)
  747. */
  748. void
  749. xcb_xv_port_next (xcb_xv_port_iterator_t *i);
  750. /**
  751. * Return the iterator pointing to the last element
  752. * @param i An xcb_xv_port_iterator_t
  753. * @return The iterator pointing to the last element
  754. *
  755. * Set the current element in the iterator to the last element.
  756. * The member rem is set to 0. The member data points to the
  757. * last element.
  758. */
  759. xcb_generic_iterator_t
  760. xcb_xv_port_end (xcb_xv_port_iterator_t i);
  761. /**
  762. * Get the next element of the iterator
  763. * @param i Pointer to a xcb_xv_encoding_iterator_t
  764. *
  765. * Get the next element in the iterator. The member rem is
  766. * decreased by one. The member data points to the next
  767. * element. The member index is increased by sizeof(xcb_xv_encoding_t)
  768. */
  769. void
  770. xcb_xv_encoding_next (xcb_xv_encoding_iterator_t *i);
  771. /**
  772. * Return the iterator pointing to the last element
  773. * @param i An xcb_xv_encoding_iterator_t
  774. * @return The iterator pointing to the last element
  775. *
  776. * Set the current element in the iterator to the last element.
  777. * The member rem is set to 0. The member data points to the
  778. * last element.
  779. */
  780. xcb_generic_iterator_t
  781. xcb_xv_encoding_end (xcb_xv_encoding_iterator_t i);
  782. /**
  783. * Get the next element of the iterator
  784. * @param i Pointer to a xcb_xv_rational_iterator_t
  785. *
  786. * Get the next element in the iterator. The member rem is
  787. * decreased by one. The member data points to the next
  788. * element. The member index is increased by sizeof(xcb_xv_rational_t)
  789. */
  790. void
  791. xcb_xv_rational_next (xcb_xv_rational_iterator_t *i);
  792. /**
  793. * Return the iterator pointing to the last element
  794. * @param i An xcb_xv_rational_iterator_t
  795. * @return The iterator pointing to the last element
  796. *
  797. * Set the current element in the iterator to the last element.
  798. * The member rem is set to 0. The member data points to the
  799. * last element.
  800. */
  801. xcb_generic_iterator_t
  802. xcb_xv_rational_end (xcb_xv_rational_iterator_t i);
  803. /**
  804. * Get the next element of the iterator
  805. * @param i Pointer to a xcb_xv_format_iterator_t
  806. *
  807. * Get the next element in the iterator. The member rem is
  808. * decreased by one. The member data points to the next
  809. * element. The member index is increased by sizeof(xcb_xv_format_t)
  810. */
  811. void
  812. xcb_xv_format_next (xcb_xv_format_iterator_t *i);
  813. /**
  814. * Return the iterator pointing to the last element
  815. * @param i An xcb_xv_format_iterator_t
  816. * @return The iterator pointing to the last element
  817. *
  818. * Set the current element in the iterator to the last element.
  819. * The member rem is set to 0. The member data points to the
  820. * last element.
  821. */
  822. xcb_generic_iterator_t
  823. xcb_xv_format_end (xcb_xv_format_iterator_t i);
  824. int
  825. xcb_xv_adaptor_info_sizeof (const void *_buffer);
  826. char *
  827. xcb_xv_adaptor_info_name (const xcb_xv_adaptor_info_t *R);
  828. int
  829. xcb_xv_adaptor_info_name_length (const xcb_xv_adaptor_info_t *R);
  830. xcb_generic_iterator_t
  831. xcb_xv_adaptor_info_name_end (const xcb_xv_adaptor_info_t *R);
  832. xcb_xv_format_t *
  833. xcb_xv_adaptor_info_formats (const xcb_xv_adaptor_info_t *R);
  834. int
  835. xcb_xv_adaptor_info_formats_length (const xcb_xv_adaptor_info_t *R);
  836. xcb_xv_format_iterator_t
  837. xcb_xv_adaptor_info_formats_iterator (const xcb_xv_adaptor_info_t *R);
  838. /**
  839. * Get the next element of the iterator
  840. * @param i Pointer to a xcb_xv_adaptor_info_iterator_t
  841. *
  842. * Get the next element in the iterator. The member rem is
  843. * decreased by one. The member data points to the next
  844. * element. The member index is increased by sizeof(xcb_xv_adaptor_info_t)
  845. */
  846. void
  847. xcb_xv_adaptor_info_next (xcb_xv_adaptor_info_iterator_t *i);
  848. /**
  849. * Return the iterator pointing to the last element
  850. * @param i An xcb_xv_adaptor_info_iterator_t
  851. * @return The iterator pointing to the last element
  852. *
  853. * Set the current element in the iterator to the last element.
  854. * The member rem is set to 0. The member data points to the
  855. * last element.
  856. */
  857. xcb_generic_iterator_t
  858. xcb_xv_adaptor_info_end (xcb_xv_adaptor_info_iterator_t i);
  859. int
  860. xcb_xv_encoding_info_sizeof (const void *_buffer);
  861. char *
  862. xcb_xv_encoding_info_name (const xcb_xv_encoding_info_t *R);
  863. int
  864. xcb_xv_encoding_info_name_length (const xcb_xv_encoding_info_t *R);
  865. xcb_generic_iterator_t
  866. xcb_xv_encoding_info_name_end (const xcb_xv_encoding_info_t *R);
  867. /**
  868. * Get the next element of the iterator
  869. * @param i Pointer to a xcb_xv_encoding_info_iterator_t
  870. *
  871. * Get the next element in the iterator. The member rem is
  872. * decreased by one. The member data points to the next
  873. * element. The member index is increased by sizeof(xcb_xv_encoding_info_t)
  874. */
  875. void
  876. xcb_xv_encoding_info_next (xcb_xv_encoding_info_iterator_t *i);
  877. /**
  878. * Return the iterator pointing to the last element
  879. * @param i An xcb_xv_encoding_info_iterator_t
  880. * @return The iterator pointing to the last element
  881. *
  882. * Set the current element in the iterator to the last element.
  883. * The member rem is set to 0. The member data points to the
  884. * last element.
  885. */
  886. xcb_generic_iterator_t
  887. xcb_xv_encoding_info_end (xcb_xv_encoding_info_iterator_t i);
  888. int
  889. xcb_xv_image_sizeof (const void *_buffer);
  890. uint32_t *
  891. xcb_xv_image_pitches (const xcb_xv_image_t *R);
  892. int
  893. xcb_xv_image_pitches_length (const xcb_xv_image_t *R);
  894. xcb_generic_iterator_t
  895. xcb_xv_image_pitches_end (const xcb_xv_image_t *R);
  896. uint32_t *
  897. xcb_xv_image_offsets (const xcb_xv_image_t *R);
  898. int
  899. xcb_xv_image_offsets_length (const xcb_xv_image_t *R);
  900. xcb_generic_iterator_t
  901. xcb_xv_image_offsets_end (const xcb_xv_image_t *R);
  902. uint8_t *
  903. xcb_xv_image_data (const xcb_xv_image_t *R);
  904. int
  905. xcb_xv_image_data_length (const xcb_xv_image_t *R);
  906. xcb_generic_iterator_t
  907. xcb_xv_image_data_end (const xcb_xv_image_t *R);
  908. /**
  909. * Get the next element of the iterator
  910. * @param i Pointer to a xcb_xv_image_iterator_t
  911. *
  912. * Get the next element in the iterator. The member rem is
  913. * decreased by one. The member data points to the next
  914. * element. The member index is increased by sizeof(xcb_xv_image_t)
  915. */
  916. void
  917. xcb_xv_image_next (xcb_xv_image_iterator_t *i);
  918. /**
  919. * Return the iterator pointing to the last element
  920. * @param i An xcb_xv_image_iterator_t
  921. * @return The iterator pointing to the last element
  922. *
  923. * Set the current element in the iterator to the last element.
  924. * The member rem is set to 0. The member data points to the
  925. * last element.
  926. */
  927. xcb_generic_iterator_t
  928. xcb_xv_image_end (xcb_xv_image_iterator_t i);
  929. int
  930. xcb_xv_attribute_info_sizeof (const void *_buffer);
  931. char *
  932. xcb_xv_attribute_info_name (const xcb_xv_attribute_info_t *R);
  933. int
  934. xcb_xv_attribute_info_name_length (const xcb_xv_attribute_info_t *R);
  935. xcb_generic_iterator_t
  936. xcb_xv_attribute_info_name_end (const xcb_xv_attribute_info_t *R);
  937. /**
  938. * Get the next element of the iterator
  939. * @param i Pointer to a xcb_xv_attribute_info_iterator_t
  940. *
  941. * Get the next element in the iterator. The member rem is
  942. * decreased by one. The member data points to the next
  943. * element. The member index is increased by sizeof(xcb_xv_attribute_info_t)
  944. */
  945. void
  946. xcb_xv_attribute_info_next (xcb_xv_attribute_info_iterator_t *i);
  947. /**
  948. * Return the iterator pointing to the last element
  949. * @param i An xcb_xv_attribute_info_iterator_t
  950. * @return The iterator pointing to the last element
  951. *
  952. * Set the current element in the iterator to the last element.
  953. * The member rem is set to 0. The member data points to the
  954. * last element.
  955. */
  956. xcb_generic_iterator_t
  957. xcb_xv_attribute_info_end (xcb_xv_attribute_info_iterator_t i);
  958. /**
  959. * Get the next element of the iterator
  960. * @param i Pointer to a xcb_xv_image_format_info_iterator_t
  961. *
  962. * Get the next element in the iterator. The member rem is
  963. * decreased by one. The member data points to the next
  964. * element. The member index is increased by sizeof(xcb_xv_image_format_info_t)
  965. */
  966. void
  967. xcb_xv_image_format_info_next (xcb_xv_image_format_info_iterator_t *i);
  968. /**
  969. * Return the iterator pointing to the last element
  970. * @param i An xcb_xv_image_format_info_iterator_t
  971. * @return The iterator pointing to the last element
  972. *
  973. * Set the current element in the iterator to the last element.
  974. * The member rem is set to 0. The member data points to the
  975. * last element.
  976. */
  977. xcb_generic_iterator_t
  978. xcb_xv_image_format_info_end (xcb_xv_image_format_info_iterator_t i);
  979. /**
  980. *
  981. * @param c The connection
  982. * @return A cookie
  983. *
  984. * Delivers a request to the X server.
  985. *
  986. */
  987. xcb_xv_query_extension_cookie_t
  988. xcb_xv_query_extension (xcb_connection_t *c);
  989. /**
  990. *
  991. * @param c The connection
  992. * @return A cookie
  993. *
  994. * Delivers a request to the X server.
  995. *
  996. * This form can be used only if the request will cause
  997. * a reply to be generated. Any returned error will be
  998. * placed in the event queue.
  999. */
  1000. xcb_xv_query_extension_cookie_t
  1001. xcb_xv_query_extension_unchecked (xcb_connection_t *c);
  1002. /**
  1003. * Return the reply
  1004. * @param c The connection
  1005. * @param cookie The cookie
  1006. * @param e The xcb_generic_error_t supplied
  1007. *
  1008. * Returns the reply of the request asked by
  1009. *
  1010. * The parameter @p e supplied to this function must be NULL if
  1011. * xcb_xv_query_extension_unchecked(). is used.
  1012. * Otherwise, it stores the error if any.
  1013. *
  1014. * The returned value must be freed by the caller using free().
  1015. */
  1016. xcb_xv_query_extension_reply_t *
  1017. xcb_xv_query_extension_reply (xcb_connection_t *c,
  1018. xcb_xv_query_extension_cookie_t cookie /**< */,
  1019. xcb_generic_error_t **e);
  1020. int
  1021. xcb_xv_query_adaptors_sizeof (const void *_buffer);
  1022. /**
  1023. *
  1024. * @param c The connection
  1025. * @return A cookie
  1026. *
  1027. * Delivers a request to the X server.
  1028. *
  1029. */
  1030. xcb_xv_query_adaptors_cookie_t
  1031. xcb_xv_query_adaptors (xcb_connection_t *c,
  1032. xcb_window_t window);
  1033. /**
  1034. *
  1035. * @param c The connection
  1036. * @return A cookie
  1037. *
  1038. * Delivers a request to the X server.
  1039. *
  1040. * This form can be used only if the request will cause
  1041. * a reply to be generated. Any returned error will be
  1042. * placed in the event queue.
  1043. */
  1044. xcb_xv_query_adaptors_cookie_t
  1045. xcb_xv_query_adaptors_unchecked (xcb_connection_t *c,
  1046. xcb_window_t window);
  1047. int
  1048. xcb_xv_query_adaptors_info_length (const xcb_xv_query_adaptors_reply_t *R);
  1049. xcb_xv_adaptor_info_iterator_t
  1050. xcb_xv_query_adaptors_info_iterator (const xcb_xv_query_adaptors_reply_t *R);
  1051. /**
  1052. * Return the reply
  1053. * @param c The connection
  1054. * @param cookie The cookie
  1055. * @param e The xcb_generic_error_t supplied
  1056. *
  1057. * Returns the reply of the request asked by
  1058. *
  1059. * The parameter @p e supplied to this function must be NULL if
  1060. * xcb_xv_query_adaptors_unchecked(). is used.
  1061. * Otherwise, it stores the error if any.
  1062. *
  1063. * The returned value must be freed by the caller using free().
  1064. */
  1065. xcb_xv_query_adaptors_reply_t *
  1066. xcb_xv_query_adaptors_reply (xcb_connection_t *c,
  1067. xcb_xv_query_adaptors_cookie_t cookie /**< */,
  1068. xcb_generic_error_t **e);
  1069. int
  1070. xcb_xv_query_encodings_sizeof (const void *_buffer);
  1071. /**
  1072. *
  1073. * @param c The connection
  1074. * @return A cookie
  1075. *
  1076. * Delivers a request to the X server.
  1077. *
  1078. */
  1079. xcb_xv_query_encodings_cookie_t
  1080. xcb_xv_query_encodings (xcb_connection_t *c,
  1081. xcb_xv_port_t port);
  1082. /**
  1083. *
  1084. * @param c The connection
  1085. * @return A cookie
  1086. *
  1087. * Delivers a request to the X server.
  1088. *
  1089. * This form can be used only if the request will cause
  1090. * a reply to be generated. Any returned error will be
  1091. * placed in the event queue.
  1092. */
  1093. xcb_xv_query_encodings_cookie_t
  1094. xcb_xv_query_encodings_unchecked (xcb_connection_t *c,
  1095. xcb_xv_port_t port);
  1096. int
  1097. xcb_xv_query_encodings_info_length (const xcb_xv_query_encodings_reply_t *R);
  1098. xcb_xv_encoding_info_iterator_t
  1099. xcb_xv_query_encodings_info_iterator (const xcb_xv_query_encodings_reply_t *R);
  1100. /**
  1101. * Return the reply
  1102. * @param c The connection
  1103. * @param cookie The cookie
  1104. * @param e The xcb_generic_error_t supplied
  1105. *
  1106. * Returns the reply of the request asked by
  1107. *
  1108. * The parameter @p e supplied to this function must be NULL if
  1109. * xcb_xv_query_encodings_unchecked(). is used.
  1110. * Otherwise, it stores the error if any.
  1111. *
  1112. * The returned value must be freed by the caller using free().
  1113. */
  1114. xcb_xv_query_encodings_reply_t *
  1115. xcb_xv_query_encodings_reply (xcb_connection_t *c,
  1116. xcb_xv_query_encodings_cookie_t cookie /**< */,
  1117. xcb_generic_error_t **e);
  1118. /**
  1119. *
  1120. * @param c The connection
  1121. * @return A cookie
  1122. *
  1123. * Delivers a request to the X server.
  1124. *
  1125. */
  1126. xcb_xv_grab_port_cookie_t
  1127. xcb_xv_grab_port (xcb_connection_t *c,
  1128. xcb_xv_port_t port,
  1129. xcb_timestamp_t time);
  1130. /**
  1131. *
  1132. * @param c The connection
  1133. * @return A cookie
  1134. *
  1135. * Delivers a request to the X server.
  1136. *
  1137. * This form can be used only if the request will cause
  1138. * a reply to be generated. Any returned error will be
  1139. * placed in the event queue.
  1140. */
  1141. xcb_xv_grab_port_cookie_t
  1142. xcb_xv_grab_port_unchecked (xcb_connection_t *c,
  1143. xcb_xv_port_t port,
  1144. xcb_timestamp_t time);
  1145. /**
  1146. * Return the reply
  1147. * @param c The connection
  1148. * @param cookie The cookie
  1149. * @param e The xcb_generic_error_t supplied
  1150. *
  1151. * Returns the reply of the request asked by
  1152. *
  1153. * The parameter @p e supplied to this function must be NULL if
  1154. * xcb_xv_grab_port_unchecked(). is used.
  1155. * Otherwise, it stores the error if any.
  1156. *
  1157. * The returned value must be freed by the caller using free().
  1158. */
  1159. xcb_xv_grab_port_reply_t *
  1160. xcb_xv_grab_port_reply (xcb_connection_t *c,
  1161. xcb_xv_grab_port_cookie_t cookie /**< */,
  1162. xcb_generic_error_t **e);
  1163. /**
  1164. *
  1165. * @param c The connection
  1166. * @return A cookie
  1167. *
  1168. * Delivers a request to the X server.
  1169. *
  1170. * This form can be used only if the request will not cause
  1171. * a reply to be generated. Any returned error will be
  1172. * saved for handling by xcb_request_check().
  1173. */
  1174. xcb_void_cookie_t
  1175. xcb_xv_ungrab_port_checked (xcb_connection_t *c,
  1176. xcb_xv_port_t port,
  1177. xcb_timestamp_t time);
  1178. /**
  1179. *
  1180. * @param c The connection
  1181. * @return A cookie
  1182. *
  1183. * Delivers a request to the X server.
  1184. *
  1185. */
  1186. xcb_void_cookie_t
  1187. xcb_xv_ungrab_port (xcb_connection_t *c,
  1188. xcb_xv_port_t port,
  1189. xcb_timestamp_t time);
  1190. /**
  1191. *
  1192. * @param c The connection
  1193. * @return A cookie
  1194. *
  1195. * Delivers a request to the X server.
  1196. *
  1197. * This form can be used only if the request will not cause
  1198. * a reply to be generated. Any returned error will be
  1199. * saved for handling by xcb_request_check().
  1200. */
  1201. xcb_void_cookie_t
  1202. xcb_xv_put_video_checked (xcb_connection_t *c,
  1203. xcb_xv_port_t port,
  1204. xcb_drawable_t drawable,
  1205. xcb_gcontext_t gc,
  1206. int16_t vid_x,
  1207. int16_t vid_y,
  1208. uint16_t vid_w,
  1209. uint16_t vid_h,
  1210. int16_t drw_x,
  1211. int16_t drw_y,
  1212. uint16_t drw_w,
  1213. uint16_t drw_h);
  1214. /**
  1215. *
  1216. * @param c The connection
  1217. * @return A cookie
  1218. *
  1219. * Delivers a request to the X server.
  1220. *
  1221. */
  1222. xcb_void_cookie_t
  1223. xcb_xv_put_video (xcb_connection_t *c,
  1224. xcb_xv_port_t port,
  1225. xcb_drawable_t drawable,
  1226. xcb_gcontext_t gc,
  1227. int16_t vid_x,
  1228. int16_t vid_y,
  1229. uint16_t vid_w,
  1230. uint16_t vid_h,
  1231. int16_t drw_x,
  1232. int16_t drw_y,
  1233. uint16_t drw_w,
  1234. uint16_t drw_h);
  1235. /**
  1236. *
  1237. * @param c The connection
  1238. * @return A cookie
  1239. *
  1240. * Delivers a request to the X server.
  1241. *
  1242. * This form can be used only if the request will not cause
  1243. * a reply to be generated. Any returned error will be
  1244. * saved for handling by xcb_request_check().
  1245. */
  1246. xcb_void_cookie_t
  1247. xcb_xv_put_still_checked (xcb_connection_t *c,
  1248. xcb_xv_port_t port,
  1249. xcb_drawable_t drawable,
  1250. xcb_gcontext_t gc,
  1251. int16_t vid_x,
  1252. int16_t vid_y,
  1253. uint16_t vid_w,
  1254. uint16_t vid_h,
  1255. int16_t drw_x,
  1256. int16_t drw_y,
  1257. uint16_t drw_w,
  1258. uint16_t drw_h);
  1259. /**
  1260. *
  1261. * @param c The connection
  1262. * @return A cookie
  1263. *
  1264. * Delivers a request to the X server.
  1265. *
  1266. */
  1267. xcb_void_cookie_t
  1268. xcb_xv_put_still (xcb_connection_t *c,
  1269. xcb_xv_port_t port,
  1270. xcb_drawable_t drawable,
  1271. xcb_gcontext_t gc,
  1272. int16_t vid_x,
  1273. int16_t vid_y,
  1274. uint16_t vid_w,
  1275. uint16_t vid_h,
  1276. int16_t drw_x,
  1277. int16_t drw_y,
  1278. uint16_t drw_w,
  1279. uint16_t drw_h);
  1280. /**
  1281. *
  1282. * @param c The connection
  1283. * @return A cookie
  1284. *
  1285. * Delivers a request to the X server.
  1286. *
  1287. * This form can be used only if the request will not cause
  1288. * a reply to be generated. Any returned error will be
  1289. * saved for handling by xcb_request_check().
  1290. */
  1291. xcb_void_cookie_t
  1292. xcb_xv_get_video_checked (xcb_connection_t *c,
  1293. xcb_xv_port_t port,
  1294. xcb_drawable_t drawable,
  1295. xcb_gcontext_t gc,
  1296. int16_t vid_x,
  1297. int16_t vid_y,
  1298. uint16_t vid_w,
  1299. uint16_t vid_h,
  1300. int16_t drw_x,
  1301. int16_t drw_y,
  1302. uint16_t drw_w,
  1303. uint16_t drw_h);
  1304. /**
  1305. *
  1306. * @param c The connection
  1307. * @return A cookie
  1308. *
  1309. * Delivers a request to the X server.
  1310. *
  1311. */
  1312. xcb_void_cookie_t
  1313. xcb_xv_get_video (xcb_connection_t *c,
  1314. xcb_xv_port_t port,
  1315. xcb_drawable_t drawable,
  1316. xcb_gcontext_t gc,
  1317. int16_t vid_x,
  1318. int16_t vid_y,
  1319. uint16_t vid_w,
  1320. uint16_t vid_h,
  1321. int16_t drw_x,
  1322. int16_t drw_y,
  1323. uint16_t drw_w,
  1324. uint16_t drw_h);
  1325. /**
  1326. *
  1327. * @param c The connection
  1328. * @return A cookie
  1329. *
  1330. * Delivers a request to the X server.
  1331. *
  1332. * This form can be used only if the request will not cause
  1333. * a reply to be generated. Any returned error will be
  1334. * saved for handling by xcb_request_check().
  1335. */
  1336. xcb_void_cookie_t
  1337. xcb_xv_get_still_checked (xcb_connection_t *c,
  1338. xcb_xv_port_t port,
  1339. xcb_drawable_t drawable,
  1340. xcb_gcontext_t gc,
  1341. int16_t vid_x,
  1342. int16_t vid_y,
  1343. uint16_t vid_w,
  1344. uint16_t vid_h,
  1345. int16_t drw_x,
  1346. int16_t drw_y,
  1347. uint16_t drw_w,
  1348. uint16_t drw_h);
  1349. /**
  1350. *
  1351. * @param c The connection
  1352. * @return A cookie
  1353. *
  1354. * Delivers a request to the X server.
  1355. *
  1356. */
  1357. xcb_void_cookie_t
  1358. xcb_xv_get_still (xcb_connection_t *c,
  1359. xcb_xv_port_t port,
  1360. xcb_drawable_t drawable,
  1361. xcb_gcontext_t gc,
  1362. int16_t vid_x,
  1363. int16_t vid_y,
  1364. uint16_t vid_w,
  1365. uint16_t vid_h,
  1366. int16_t drw_x,
  1367. int16_t drw_y,
  1368. uint16_t drw_w,
  1369. uint16_t drw_h);
  1370. /**
  1371. *
  1372. * @param c The connection
  1373. * @return A cookie
  1374. *
  1375. * Delivers a request to the X server.
  1376. *
  1377. * This form can be used only if the request will not cause
  1378. * a reply to be generated. Any returned error will be
  1379. * saved for handling by xcb_request_check().
  1380. */
  1381. xcb_void_cookie_t
  1382. xcb_xv_stop_video_checked (xcb_connection_t *c,
  1383. xcb_xv_port_t port,
  1384. xcb_drawable_t drawable);
  1385. /**
  1386. *
  1387. * @param c The connection
  1388. * @return A cookie
  1389. *
  1390. * Delivers a request to the X server.
  1391. *
  1392. */
  1393. xcb_void_cookie_t
  1394. xcb_xv_stop_video (xcb_connection_t *c,
  1395. xcb_xv_port_t port,
  1396. xcb_drawable_t drawable);
  1397. /**
  1398. *
  1399. * @param c The connection
  1400. * @return A cookie
  1401. *
  1402. * Delivers a request to the X server.
  1403. *
  1404. * This form can be used only if the request will not cause
  1405. * a reply to be generated. Any returned error will be
  1406. * saved for handling by xcb_request_check().
  1407. */
  1408. xcb_void_cookie_t
  1409. xcb_xv_select_video_notify_checked (xcb_connection_t *c,
  1410. xcb_drawable_t drawable,
  1411. uint8_t onoff);
  1412. /**
  1413. *
  1414. * @param c The connection
  1415. * @return A cookie
  1416. *
  1417. * Delivers a request to the X server.
  1418. *
  1419. */
  1420. xcb_void_cookie_t
  1421. xcb_xv_select_video_notify (xcb_connection_t *c,
  1422. xcb_drawable_t drawable,
  1423. uint8_t onoff);
  1424. /**
  1425. *
  1426. * @param c The connection
  1427. * @return A cookie
  1428. *
  1429. * Delivers a request to the X server.
  1430. *
  1431. * This form can be used only if the request will not cause
  1432. * a reply to be generated. Any returned error will be
  1433. * saved for handling by xcb_request_check().
  1434. */
  1435. xcb_void_cookie_t
  1436. xcb_xv_select_port_notify_checked (xcb_connection_t *c,
  1437. xcb_xv_port_t port,
  1438. uint8_t onoff);
  1439. /**
  1440. *
  1441. * @param c The connection
  1442. * @return A cookie
  1443. *
  1444. * Delivers a request to the X server.
  1445. *
  1446. */
  1447. xcb_void_cookie_t
  1448. xcb_xv_select_port_notify (xcb_connection_t *c,
  1449. xcb_xv_port_t port,
  1450. uint8_t onoff);
  1451. /**
  1452. *
  1453. * @param c The connection
  1454. * @return A cookie
  1455. *
  1456. * Delivers a request to the X server.
  1457. *
  1458. */
  1459. xcb_xv_query_best_size_cookie_t
  1460. xcb_xv_query_best_size (xcb_connection_t *c,
  1461. xcb_xv_port_t port,
  1462. uint16_t vid_w,
  1463. uint16_t vid_h,
  1464. uint16_t drw_w,
  1465. uint16_t drw_h,
  1466. uint8_t motion);
  1467. /**
  1468. *
  1469. * @param c The connection
  1470. * @return A cookie
  1471. *
  1472. * Delivers a request to the X server.
  1473. *
  1474. * This form can be used only if the request will cause
  1475. * a reply to be generated. Any returned error will be
  1476. * placed in the event queue.
  1477. */
  1478. xcb_xv_query_best_size_cookie_t
  1479. xcb_xv_query_best_size_unchecked (xcb_connection_t *c,
  1480. xcb_xv_port_t port,
  1481. uint16_t vid_w,
  1482. uint16_t vid_h,
  1483. uint16_t drw_w,
  1484. uint16_t drw_h,
  1485. uint8_t motion);
  1486. /**
  1487. * Return the reply
  1488. * @param c The connection
  1489. * @param cookie The cookie
  1490. * @param e The xcb_generic_error_t supplied
  1491. *
  1492. * Returns the reply of the request asked by
  1493. *
  1494. * The parameter @p e supplied to this function must be NULL if
  1495. * xcb_xv_query_best_size_unchecked(). is used.
  1496. * Otherwise, it stores the error if any.
  1497. *
  1498. * The returned value must be freed by the caller using free().
  1499. */
  1500. xcb_xv_query_best_size_reply_t *
  1501. xcb_xv_query_best_size_reply (xcb_connection_t *c,
  1502. xcb_xv_query_best_size_cookie_t cookie /**< */,
  1503. xcb_generic_error_t **e);
  1504. /**
  1505. *
  1506. * @param c The connection
  1507. * @return A cookie
  1508. *
  1509. * Delivers a request to the X server.
  1510. *
  1511. * This form can be used only if the request will not cause
  1512. * a reply to be generated. Any returned error will be
  1513. * saved for handling by xcb_request_check().
  1514. */
  1515. xcb_void_cookie_t
  1516. xcb_xv_set_port_attribute_checked (xcb_connection_t *c,
  1517. xcb_xv_port_t port,
  1518. xcb_atom_t attribute,
  1519. int32_t value);
  1520. /**
  1521. *
  1522. * @param c The connection
  1523. * @return A cookie
  1524. *
  1525. * Delivers a request to the X server.
  1526. *
  1527. */
  1528. xcb_void_cookie_t
  1529. xcb_xv_set_port_attribute (xcb_connection_t *c,
  1530. xcb_xv_port_t port,
  1531. xcb_atom_t attribute,
  1532. int32_t value);
  1533. /**
  1534. *
  1535. * @param c The connection
  1536. * @return A cookie
  1537. *
  1538. * Delivers a request to the X server.
  1539. *
  1540. */
  1541. xcb_xv_get_port_attribute_cookie_t
  1542. xcb_xv_get_port_attribute (xcb_connection_t *c,
  1543. xcb_xv_port_t port,
  1544. xcb_atom_t attribute);
  1545. /**
  1546. *
  1547. * @param c The connection
  1548. * @return A cookie
  1549. *
  1550. * Delivers a request to the X server.
  1551. *
  1552. * This form can be used only if the request will cause
  1553. * a reply to be generated. Any returned error will be
  1554. * placed in the event queue.
  1555. */
  1556. xcb_xv_get_port_attribute_cookie_t
  1557. xcb_xv_get_port_attribute_unchecked (xcb_connection_t *c,
  1558. xcb_xv_port_t port,
  1559. xcb_atom_t attribute);
  1560. /**
  1561. * Return the reply
  1562. * @param c The connection
  1563. * @param cookie The cookie
  1564. * @param e The xcb_generic_error_t supplied
  1565. *
  1566. * Returns the reply of the request asked by
  1567. *
  1568. * The parameter @p e supplied to this function must be NULL if
  1569. * xcb_xv_get_port_attribute_unchecked(). is used.
  1570. * Otherwise, it stores the error if any.
  1571. *
  1572. * The returned value must be freed by the caller using free().
  1573. */
  1574. xcb_xv_get_port_attribute_reply_t *
  1575. xcb_xv_get_port_attribute_reply (xcb_connection_t *c,
  1576. xcb_xv_get_port_attribute_cookie_t cookie /**< */,
  1577. xcb_generic_error_t **e);
  1578. int
  1579. xcb_xv_query_port_attributes_sizeof (const void *_buffer);
  1580. /**
  1581. *
  1582. * @param c The connection
  1583. * @return A cookie
  1584. *
  1585. * Delivers a request to the X server.
  1586. *
  1587. */
  1588. xcb_xv_query_port_attributes_cookie_t
  1589. xcb_xv_query_port_attributes (xcb_connection_t *c,
  1590. xcb_xv_port_t port);
  1591. /**
  1592. *
  1593. * @param c The connection
  1594. * @return A cookie
  1595. *
  1596. * Delivers a request to the X server.
  1597. *
  1598. * This form can be used only if the request will cause
  1599. * a reply to be generated. Any returned error will be
  1600. * placed in the event queue.
  1601. */
  1602. xcb_xv_query_port_attributes_cookie_t
  1603. xcb_xv_query_port_attributes_unchecked (xcb_connection_t *c,
  1604. xcb_xv_port_t port);
  1605. int
  1606. xcb_xv_query_port_attributes_attributes_length (const xcb_xv_query_port_attributes_reply_t *R);
  1607. xcb_xv_attribute_info_iterator_t
  1608. xcb_xv_query_port_attributes_attributes_iterator (const xcb_xv_query_port_attributes_reply_t *R);
  1609. /**
  1610. * Return the reply
  1611. * @param c The connection
  1612. * @param cookie The cookie
  1613. * @param e The xcb_generic_error_t supplied
  1614. *
  1615. * Returns the reply of the request asked by
  1616. *
  1617. * The parameter @p e supplied to this function must be NULL if
  1618. * xcb_xv_query_port_attributes_unchecked(). is used.
  1619. * Otherwise, it stores the error if any.
  1620. *
  1621. * The returned value must be freed by the caller using free().
  1622. */
  1623. xcb_xv_query_port_attributes_reply_t *
  1624. xcb_xv_query_port_attributes_reply (xcb_connection_t *c,
  1625. xcb_xv_query_port_attributes_cookie_t cookie /**< */,
  1626. xcb_generic_error_t **e);
  1627. int
  1628. xcb_xv_list_image_formats_sizeof (const void *_buffer);
  1629. /**
  1630. *
  1631. * @param c The connection
  1632. * @return A cookie
  1633. *
  1634. * Delivers a request to the X server.
  1635. *
  1636. */
  1637. xcb_xv_list_image_formats_cookie_t
  1638. xcb_xv_list_image_formats (xcb_connection_t *c,
  1639. xcb_xv_port_t port);
  1640. /**
  1641. *
  1642. * @param c The connection
  1643. * @return A cookie
  1644. *
  1645. * Delivers a request to the X server.
  1646. *
  1647. * This form can be used only if the request will cause
  1648. * a reply to be generated. Any returned error will be
  1649. * placed in the event queue.
  1650. */
  1651. xcb_xv_list_image_formats_cookie_t
  1652. xcb_xv_list_image_formats_unchecked (xcb_connection_t *c,
  1653. xcb_xv_port_t port);
  1654. xcb_xv_image_format_info_t *
  1655. xcb_xv_list_image_formats_format (const xcb_xv_list_image_formats_reply_t *R);
  1656. int
  1657. xcb_xv_list_image_formats_format_length (const xcb_xv_list_image_formats_reply_t *R);
  1658. xcb_xv_image_format_info_iterator_t
  1659. xcb_xv_list_image_formats_format_iterator (const xcb_xv_list_image_formats_reply_t *R);
  1660. /**
  1661. * Return the reply
  1662. * @param c The connection
  1663. * @param cookie The cookie
  1664. * @param e The xcb_generic_error_t supplied
  1665. *
  1666. * Returns the reply of the request asked by
  1667. *
  1668. * The parameter @p e supplied to this function must be NULL if
  1669. * xcb_xv_list_image_formats_unchecked(). is used.
  1670. * Otherwise, it stores the error if any.
  1671. *
  1672. * The returned value must be freed by the caller using free().
  1673. */
  1674. xcb_xv_list_image_formats_reply_t *
  1675. xcb_xv_list_image_formats_reply (xcb_connection_t *c,
  1676. xcb_xv_list_image_formats_cookie_t cookie /**< */,
  1677. xcb_generic_error_t **e);
  1678. int
  1679. xcb_xv_query_image_attributes_sizeof (const void *_buffer);
  1680. /**
  1681. *
  1682. * @param c The connection
  1683. * @return A cookie
  1684. *
  1685. * Delivers a request to the X server.
  1686. *
  1687. */
  1688. xcb_xv_query_image_attributes_cookie_t
  1689. xcb_xv_query_image_attributes (xcb_connection_t *c,
  1690. xcb_xv_port_t port,
  1691. uint32_t id,
  1692. uint16_t width,
  1693. uint16_t height);
  1694. /**
  1695. *
  1696. * @param c The connection
  1697. * @return A cookie
  1698. *
  1699. * Delivers a request to the X server.
  1700. *
  1701. * This form can be used only if the request will cause
  1702. * a reply to be generated. Any returned error will be
  1703. * placed in the event queue.
  1704. */
  1705. xcb_xv_query_image_attributes_cookie_t
  1706. xcb_xv_query_image_attributes_unchecked (xcb_connection_t *c,
  1707. xcb_xv_port_t port,
  1708. uint32_t id,
  1709. uint16_t width,
  1710. uint16_t height);
  1711. uint32_t *
  1712. xcb_xv_query_image_attributes_pitches (const xcb_xv_query_image_attributes_reply_t *R);
  1713. int
  1714. xcb_xv_query_image_attributes_pitches_length (const xcb_xv_query_image_attributes_reply_t *R);
  1715. xcb_generic_iterator_t
  1716. xcb_xv_query_image_attributes_pitches_end (const xcb_xv_query_image_attributes_reply_t *R);
  1717. uint32_t *
  1718. xcb_xv_query_image_attributes_offsets (const xcb_xv_query_image_attributes_reply_t *R);
  1719. int
  1720. xcb_xv_query_image_attributes_offsets_length (const xcb_xv_query_image_attributes_reply_t *R);
  1721. xcb_generic_iterator_t
  1722. xcb_xv_query_image_attributes_offsets_end (const xcb_xv_query_image_attributes_reply_t *R);
  1723. /**
  1724. * Return the reply
  1725. * @param c The connection
  1726. * @param cookie The cookie
  1727. * @param e The xcb_generic_error_t supplied
  1728. *
  1729. * Returns the reply of the request asked by
  1730. *
  1731. * The parameter @p e supplied to this function must be NULL if
  1732. * xcb_xv_query_image_attributes_unchecked(). is used.
  1733. * Otherwise, it stores the error if any.
  1734. *
  1735. * The returned value must be freed by the caller using free().
  1736. */
  1737. xcb_xv_query_image_attributes_reply_t *
  1738. xcb_xv_query_image_attributes_reply (xcb_connection_t *c,
  1739. xcb_xv_query_image_attributes_cookie_t cookie /**< */,
  1740. xcb_generic_error_t **e);
  1741. int
  1742. xcb_xv_put_image_sizeof (const void *_buffer,
  1743. uint32_t data_len);
  1744. /**
  1745. *
  1746. * @param c The connection
  1747. * @return A cookie
  1748. *
  1749. * Delivers a request to the X server.
  1750. *
  1751. * This form can be used only if the request will not cause
  1752. * a reply to be generated. Any returned error will be
  1753. * saved for handling by xcb_request_check().
  1754. */
  1755. xcb_void_cookie_t
  1756. xcb_xv_put_image_checked (xcb_connection_t *c,
  1757. xcb_xv_port_t port,
  1758. xcb_drawable_t drawable,
  1759. xcb_gcontext_t gc,
  1760. uint32_t id,
  1761. int16_t src_x,
  1762. int16_t src_y,
  1763. uint16_t src_w,
  1764. uint16_t src_h,
  1765. int16_t drw_x,
  1766. int16_t drw_y,
  1767. uint16_t drw_w,
  1768. uint16_t drw_h,
  1769. uint16_t width,
  1770. uint16_t height,
  1771. uint32_t data_len,
  1772. const uint8_t *data);
  1773. /**
  1774. *
  1775. * @param c The connection
  1776. * @return A cookie
  1777. *
  1778. * Delivers a request to the X server.
  1779. *
  1780. */
  1781. xcb_void_cookie_t
  1782. xcb_xv_put_image (xcb_connection_t *c,
  1783. xcb_xv_port_t port,
  1784. xcb_drawable_t drawable,
  1785. xcb_gcontext_t gc,
  1786. uint32_t id,
  1787. int16_t src_x,
  1788. int16_t src_y,
  1789. uint16_t src_w,
  1790. uint16_t src_h,
  1791. int16_t drw_x,
  1792. int16_t drw_y,
  1793. uint16_t drw_w,
  1794. uint16_t drw_h,
  1795. uint16_t width,
  1796. uint16_t height,
  1797. uint32_t data_len,
  1798. const uint8_t *data);
  1799. uint8_t *
  1800. xcb_xv_put_image_data (const xcb_xv_put_image_request_t *R);
  1801. int
  1802. xcb_xv_put_image_data_length (const xcb_xv_put_image_request_t *R);
  1803. xcb_generic_iterator_t
  1804. xcb_xv_put_image_data_end (const xcb_xv_put_image_request_t *R);
  1805. /**
  1806. *
  1807. * @param c The connection
  1808. * @return A cookie
  1809. *
  1810. * Delivers a request to the X server.
  1811. *
  1812. * This form can be used only if the request will not cause
  1813. * a reply to be generated. Any returned error will be
  1814. * saved for handling by xcb_request_check().
  1815. */
  1816. xcb_void_cookie_t
  1817. xcb_xv_shm_put_image_checked (xcb_connection_t *c,
  1818. xcb_xv_port_t port,
  1819. xcb_drawable_t drawable,
  1820. xcb_gcontext_t gc,
  1821. xcb_shm_seg_t shmseg,
  1822. uint32_t id,
  1823. uint32_t offset,
  1824. int16_t src_x,
  1825. int16_t src_y,
  1826. uint16_t src_w,
  1827. uint16_t src_h,
  1828. int16_t drw_x,
  1829. int16_t drw_y,
  1830. uint16_t drw_w,
  1831. uint16_t drw_h,
  1832. uint16_t width,
  1833. uint16_t height,
  1834. uint8_t send_event);
  1835. /**
  1836. *
  1837. * @param c The connection
  1838. * @return A cookie
  1839. *
  1840. * Delivers a request to the X server.
  1841. *
  1842. */
  1843. xcb_void_cookie_t
  1844. xcb_xv_shm_put_image (xcb_connection_t *c,
  1845. xcb_xv_port_t port,
  1846. xcb_drawable_t drawable,
  1847. xcb_gcontext_t gc,
  1848. xcb_shm_seg_t shmseg,
  1849. uint32_t id,
  1850. uint32_t offset,
  1851. int16_t src_x,
  1852. int16_t src_y,
  1853. uint16_t src_w,
  1854. uint16_t src_h,
  1855. int16_t drw_x,
  1856. int16_t drw_y,
  1857. uint16_t drw_w,
  1858. uint16_t drw_h,
  1859. uint16_t width,
  1860. uint16_t height,
  1861. uint8_t send_event);
  1862. #ifdef __cplusplus
  1863. }
  1864. #endif
  1865. #endif
  1866. /**
  1867. * @}
  1868. */