res.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864
  1. /*
  2. * This file generated automatically from res.xml by c_client.py.
  3. * Edit at your peril.
  4. */
  5. /**
  6. * @defgroup XCB_Res_API XCB Res API
  7. * @brief Res XCB Protocol Implementation.
  8. * @{
  9. **/
  10. #ifndef __RES_H
  11. #define __RES_H
  12. #include "xcb.h"
  13. #include "xproto.h"
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. #define XCB_RES_MAJOR_VERSION 1
  18. #define XCB_RES_MINOR_VERSION 2
  19. extern xcb_extension_t xcb_res_id;
  20. /**
  21. * @brief xcb_res_client_t
  22. **/
  23. typedef struct xcb_res_client_t {
  24. uint32_t resource_base;
  25. uint32_t resource_mask;
  26. } xcb_res_client_t;
  27. /**
  28. * @brief xcb_res_client_iterator_t
  29. **/
  30. typedef struct xcb_res_client_iterator_t {
  31. xcb_res_client_t *data;
  32. int rem;
  33. int index;
  34. } xcb_res_client_iterator_t;
  35. /**
  36. * @brief xcb_res_type_t
  37. **/
  38. typedef struct xcb_res_type_t {
  39. xcb_atom_t resource_type;
  40. uint32_t count;
  41. } xcb_res_type_t;
  42. /**
  43. * @brief xcb_res_type_iterator_t
  44. **/
  45. typedef struct xcb_res_type_iterator_t {
  46. xcb_res_type_t *data;
  47. int rem;
  48. int index;
  49. } xcb_res_type_iterator_t;
  50. typedef enum xcb_res_client_id_mask_t {
  51. XCB_RES_CLIENT_ID_MASK_CLIENT_XID = 1,
  52. XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID = 2
  53. } xcb_res_client_id_mask_t;
  54. /**
  55. * @brief xcb_res_client_id_spec_t
  56. **/
  57. typedef struct xcb_res_client_id_spec_t {
  58. uint32_t client;
  59. uint32_t mask;
  60. } xcb_res_client_id_spec_t;
  61. /**
  62. * @brief xcb_res_client_id_spec_iterator_t
  63. **/
  64. typedef struct xcb_res_client_id_spec_iterator_t {
  65. xcb_res_client_id_spec_t *data;
  66. int rem;
  67. int index;
  68. } xcb_res_client_id_spec_iterator_t;
  69. /**
  70. * @brief xcb_res_client_id_value_t
  71. **/
  72. typedef struct xcb_res_client_id_value_t {
  73. xcb_res_client_id_spec_t spec;
  74. uint32_t length;
  75. } xcb_res_client_id_value_t;
  76. /**
  77. * @brief xcb_res_client_id_value_iterator_t
  78. **/
  79. typedef struct xcb_res_client_id_value_iterator_t {
  80. xcb_res_client_id_value_t *data;
  81. int rem;
  82. int index;
  83. } xcb_res_client_id_value_iterator_t;
  84. /**
  85. * @brief xcb_res_resource_id_spec_t
  86. **/
  87. typedef struct xcb_res_resource_id_spec_t {
  88. uint32_t resource;
  89. uint32_t type;
  90. } xcb_res_resource_id_spec_t;
  91. /**
  92. * @brief xcb_res_resource_id_spec_iterator_t
  93. **/
  94. typedef struct xcb_res_resource_id_spec_iterator_t {
  95. xcb_res_resource_id_spec_t *data;
  96. int rem;
  97. int index;
  98. } xcb_res_resource_id_spec_iterator_t;
  99. /**
  100. * @brief xcb_res_resource_size_spec_t
  101. **/
  102. typedef struct xcb_res_resource_size_spec_t {
  103. xcb_res_resource_id_spec_t spec;
  104. uint32_t bytes;
  105. uint32_t ref_count;
  106. uint32_t use_count;
  107. } xcb_res_resource_size_spec_t;
  108. /**
  109. * @brief xcb_res_resource_size_spec_iterator_t
  110. **/
  111. typedef struct xcb_res_resource_size_spec_iterator_t {
  112. xcb_res_resource_size_spec_t *data;
  113. int rem;
  114. int index;
  115. } xcb_res_resource_size_spec_iterator_t;
  116. /**
  117. * @brief xcb_res_resource_size_value_t
  118. **/
  119. typedef struct xcb_res_resource_size_value_t {
  120. xcb_res_resource_size_spec_t size;
  121. uint32_t num_cross_references;
  122. } xcb_res_resource_size_value_t;
  123. /**
  124. * @brief xcb_res_resource_size_value_iterator_t
  125. **/
  126. typedef struct xcb_res_resource_size_value_iterator_t {
  127. xcb_res_resource_size_value_t *data;
  128. int rem;
  129. int index;
  130. } xcb_res_resource_size_value_iterator_t;
  131. /**
  132. * @brief xcb_res_query_version_cookie_t
  133. **/
  134. typedef struct xcb_res_query_version_cookie_t {
  135. unsigned int sequence;
  136. } xcb_res_query_version_cookie_t;
  137. /** Opcode for xcb_res_query_version. */
  138. #define XCB_RES_QUERY_VERSION 0
  139. /**
  140. * @brief xcb_res_query_version_request_t
  141. **/
  142. typedef struct xcb_res_query_version_request_t {
  143. uint8_t major_opcode;
  144. uint8_t minor_opcode;
  145. uint16_t length;
  146. uint8_t client_major;
  147. uint8_t client_minor;
  148. } xcb_res_query_version_request_t;
  149. /**
  150. * @brief xcb_res_query_version_reply_t
  151. **/
  152. typedef struct xcb_res_query_version_reply_t {
  153. uint8_t response_type;
  154. uint8_t pad0;
  155. uint16_t sequence;
  156. uint32_t length;
  157. uint16_t server_major;
  158. uint16_t server_minor;
  159. } xcb_res_query_version_reply_t;
  160. /**
  161. * @brief xcb_res_query_clients_cookie_t
  162. **/
  163. typedef struct xcb_res_query_clients_cookie_t {
  164. unsigned int sequence;
  165. } xcb_res_query_clients_cookie_t;
  166. /** Opcode for xcb_res_query_clients. */
  167. #define XCB_RES_QUERY_CLIENTS 1
  168. /**
  169. * @brief xcb_res_query_clients_request_t
  170. **/
  171. typedef struct xcb_res_query_clients_request_t {
  172. uint8_t major_opcode;
  173. uint8_t minor_opcode;
  174. uint16_t length;
  175. } xcb_res_query_clients_request_t;
  176. /**
  177. * @brief xcb_res_query_clients_reply_t
  178. **/
  179. typedef struct xcb_res_query_clients_reply_t {
  180. uint8_t response_type;
  181. uint8_t pad0;
  182. uint16_t sequence;
  183. uint32_t length;
  184. uint32_t num_clients;
  185. uint8_t pad1[20];
  186. } xcb_res_query_clients_reply_t;
  187. /**
  188. * @brief xcb_res_query_client_resources_cookie_t
  189. **/
  190. typedef struct xcb_res_query_client_resources_cookie_t {
  191. unsigned int sequence;
  192. } xcb_res_query_client_resources_cookie_t;
  193. /** Opcode for xcb_res_query_client_resources. */
  194. #define XCB_RES_QUERY_CLIENT_RESOURCES 2
  195. /**
  196. * @brief xcb_res_query_client_resources_request_t
  197. **/
  198. typedef struct xcb_res_query_client_resources_request_t {
  199. uint8_t major_opcode;
  200. uint8_t minor_opcode;
  201. uint16_t length;
  202. uint32_t xid;
  203. } xcb_res_query_client_resources_request_t;
  204. /**
  205. * @brief xcb_res_query_client_resources_reply_t
  206. **/
  207. typedef struct xcb_res_query_client_resources_reply_t {
  208. uint8_t response_type;
  209. uint8_t pad0;
  210. uint16_t sequence;
  211. uint32_t length;
  212. uint32_t num_types;
  213. uint8_t pad1[20];
  214. } xcb_res_query_client_resources_reply_t;
  215. /**
  216. * @brief xcb_res_query_client_pixmap_bytes_cookie_t
  217. **/
  218. typedef struct xcb_res_query_client_pixmap_bytes_cookie_t {
  219. unsigned int sequence;
  220. } xcb_res_query_client_pixmap_bytes_cookie_t;
  221. /** Opcode for xcb_res_query_client_pixmap_bytes. */
  222. #define XCB_RES_QUERY_CLIENT_PIXMAP_BYTES 3
  223. /**
  224. * @brief xcb_res_query_client_pixmap_bytes_request_t
  225. **/
  226. typedef struct xcb_res_query_client_pixmap_bytes_request_t {
  227. uint8_t major_opcode;
  228. uint8_t minor_opcode;
  229. uint16_t length;
  230. uint32_t xid;
  231. } xcb_res_query_client_pixmap_bytes_request_t;
  232. /**
  233. * @brief xcb_res_query_client_pixmap_bytes_reply_t
  234. **/
  235. typedef struct xcb_res_query_client_pixmap_bytes_reply_t {
  236. uint8_t response_type;
  237. uint8_t pad0;
  238. uint16_t sequence;
  239. uint32_t length;
  240. uint32_t bytes;
  241. uint32_t bytes_overflow;
  242. } xcb_res_query_client_pixmap_bytes_reply_t;
  243. /**
  244. * @brief xcb_res_query_client_ids_cookie_t
  245. **/
  246. typedef struct xcb_res_query_client_ids_cookie_t {
  247. unsigned int sequence;
  248. } xcb_res_query_client_ids_cookie_t;
  249. /** Opcode for xcb_res_query_client_ids. */
  250. #define XCB_RES_QUERY_CLIENT_IDS 4
  251. /**
  252. * @brief xcb_res_query_client_ids_request_t
  253. **/
  254. typedef struct xcb_res_query_client_ids_request_t {
  255. uint8_t major_opcode;
  256. uint8_t minor_opcode;
  257. uint16_t length;
  258. uint32_t num_specs;
  259. } xcb_res_query_client_ids_request_t;
  260. /**
  261. * @brief xcb_res_query_client_ids_reply_t
  262. **/
  263. typedef struct xcb_res_query_client_ids_reply_t {
  264. uint8_t response_type;
  265. uint8_t pad0;
  266. uint16_t sequence;
  267. uint32_t length;
  268. uint32_t num_ids;
  269. uint8_t pad1[20];
  270. } xcb_res_query_client_ids_reply_t;
  271. /**
  272. * @brief xcb_res_query_resource_bytes_cookie_t
  273. **/
  274. typedef struct xcb_res_query_resource_bytes_cookie_t {
  275. unsigned int sequence;
  276. } xcb_res_query_resource_bytes_cookie_t;
  277. /** Opcode for xcb_res_query_resource_bytes. */
  278. #define XCB_RES_QUERY_RESOURCE_BYTES 5
  279. /**
  280. * @brief xcb_res_query_resource_bytes_request_t
  281. **/
  282. typedef struct xcb_res_query_resource_bytes_request_t {
  283. uint8_t major_opcode;
  284. uint8_t minor_opcode;
  285. uint16_t length;
  286. uint32_t client;
  287. uint32_t num_specs;
  288. } xcb_res_query_resource_bytes_request_t;
  289. /**
  290. * @brief xcb_res_query_resource_bytes_reply_t
  291. **/
  292. typedef struct xcb_res_query_resource_bytes_reply_t {
  293. uint8_t response_type;
  294. uint8_t pad0;
  295. uint16_t sequence;
  296. uint32_t length;
  297. uint32_t num_sizes;
  298. uint8_t pad1[20];
  299. } xcb_res_query_resource_bytes_reply_t;
  300. /**
  301. * Get the next element of the iterator
  302. * @param i Pointer to a xcb_res_client_iterator_t
  303. *
  304. * Get the next element in the iterator. The member rem is
  305. * decreased by one. The member data points to the next
  306. * element. The member index is increased by sizeof(xcb_res_client_t)
  307. */
  308. void
  309. xcb_res_client_next (xcb_res_client_iterator_t *i);
  310. /**
  311. * Return the iterator pointing to the last element
  312. * @param i An xcb_res_client_iterator_t
  313. * @return The iterator pointing to the last element
  314. *
  315. * Set the current element in the iterator to the last element.
  316. * The member rem is set to 0. The member data points to the
  317. * last element.
  318. */
  319. xcb_generic_iterator_t
  320. xcb_res_client_end (xcb_res_client_iterator_t i);
  321. /**
  322. * Get the next element of the iterator
  323. * @param i Pointer to a xcb_res_type_iterator_t
  324. *
  325. * Get the next element in the iterator. The member rem is
  326. * decreased by one. The member data points to the next
  327. * element. The member index is increased by sizeof(xcb_res_type_t)
  328. */
  329. void
  330. xcb_res_type_next (xcb_res_type_iterator_t *i);
  331. /**
  332. * Return the iterator pointing to the last element
  333. * @param i An xcb_res_type_iterator_t
  334. * @return The iterator pointing to the last element
  335. *
  336. * Set the current element in the iterator to the last element.
  337. * The member rem is set to 0. The member data points to the
  338. * last element.
  339. */
  340. xcb_generic_iterator_t
  341. xcb_res_type_end (xcb_res_type_iterator_t i);
  342. /**
  343. * Get the next element of the iterator
  344. * @param i Pointer to a xcb_res_client_id_spec_iterator_t
  345. *
  346. * Get the next element in the iterator. The member rem is
  347. * decreased by one. The member data points to the next
  348. * element. The member index is increased by sizeof(xcb_res_client_id_spec_t)
  349. */
  350. void
  351. xcb_res_client_id_spec_next (xcb_res_client_id_spec_iterator_t *i);
  352. /**
  353. * Return the iterator pointing to the last element
  354. * @param i An xcb_res_client_id_spec_iterator_t
  355. * @return The iterator pointing to the last element
  356. *
  357. * Set the current element in the iterator to the last element.
  358. * The member rem is set to 0. The member data points to the
  359. * last element.
  360. */
  361. xcb_generic_iterator_t
  362. xcb_res_client_id_spec_end (xcb_res_client_id_spec_iterator_t i);
  363. int
  364. xcb_res_client_id_value_sizeof (const void *_buffer);
  365. uint32_t *
  366. xcb_res_client_id_value_value (const xcb_res_client_id_value_t *R);
  367. int
  368. xcb_res_client_id_value_value_length (const xcb_res_client_id_value_t *R);
  369. xcb_generic_iterator_t
  370. xcb_res_client_id_value_value_end (const xcb_res_client_id_value_t *R);
  371. /**
  372. * Get the next element of the iterator
  373. * @param i Pointer to a xcb_res_client_id_value_iterator_t
  374. *
  375. * Get the next element in the iterator. The member rem is
  376. * decreased by one. The member data points to the next
  377. * element. The member index is increased by sizeof(xcb_res_client_id_value_t)
  378. */
  379. void
  380. xcb_res_client_id_value_next (xcb_res_client_id_value_iterator_t *i);
  381. /**
  382. * Return the iterator pointing to the last element
  383. * @param i An xcb_res_client_id_value_iterator_t
  384. * @return The iterator pointing to the last element
  385. *
  386. * Set the current element in the iterator to the last element.
  387. * The member rem is set to 0. The member data points to the
  388. * last element.
  389. */
  390. xcb_generic_iterator_t
  391. xcb_res_client_id_value_end (xcb_res_client_id_value_iterator_t i);
  392. /**
  393. * Get the next element of the iterator
  394. * @param i Pointer to a xcb_res_resource_id_spec_iterator_t
  395. *
  396. * Get the next element in the iterator. The member rem is
  397. * decreased by one. The member data points to the next
  398. * element. The member index is increased by sizeof(xcb_res_resource_id_spec_t)
  399. */
  400. void
  401. xcb_res_resource_id_spec_next (xcb_res_resource_id_spec_iterator_t *i);
  402. /**
  403. * Return the iterator pointing to the last element
  404. * @param i An xcb_res_resource_id_spec_iterator_t
  405. * @return The iterator pointing to the last element
  406. *
  407. * Set the current element in the iterator to the last element.
  408. * The member rem is set to 0. The member data points to the
  409. * last element.
  410. */
  411. xcb_generic_iterator_t
  412. xcb_res_resource_id_spec_end (xcb_res_resource_id_spec_iterator_t i);
  413. /**
  414. * Get the next element of the iterator
  415. * @param i Pointer to a xcb_res_resource_size_spec_iterator_t
  416. *
  417. * Get the next element in the iterator. The member rem is
  418. * decreased by one. The member data points to the next
  419. * element. The member index is increased by sizeof(xcb_res_resource_size_spec_t)
  420. */
  421. void
  422. xcb_res_resource_size_spec_next (xcb_res_resource_size_spec_iterator_t *i);
  423. /**
  424. * Return the iterator pointing to the last element
  425. * @param i An xcb_res_resource_size_spec_iterator_t
  426. * @return The iterator pointing to the last element
  427. *
  428. * Set the current element in the iterator to the last element.
  429. * The member rem is set to 0. The member data points to the
  430. * last element.
  431. */
  432. xcb_generic_iterator_t
  433. xcb_res_resource_size_spec_end (xcb_res_resource_size_spec_iterator_t i);
  434. int
  435. xcb_res_resource_size_value_sizeof (const void *_buffer);
  436. xcb_res_resource_size_spec_t *
  437. xcb_res_resource_size_value_cross_references (const xcb_res_resource_size_value_t *R);
  438. int
  439. xcb_res_resource_size_value_cross_references_length (const xcb_res_resource_size_value_t *R);
  440. xcb_res_resource_size_spec_iterator_t
  441. xcb_res_resource_size_value_cross_references_iterator (const xcb_res_resource_size_value_t *R);
  442. /**
  443. * Get the next element of the iterator
  444. * @param i Pointer to a xcb_res_resource_size_value_iterator_t
  445. *
  446. * Get the next element in the iterator. The member rem is
  447. * decreased by one. The member data points to the next
  448. * element. The member index is increased by sizeof(xcb_res_resource_size_value_t)
  449. */
  450. void
  451. xcb_res_resource_size_value_next (xcb_res_resource_size_value_iterator_t *i);
  452. /**
  453. * Return the iterator pointing to the last element
  454. * @param i An xcb_res_resource_size_value_iterator_t
  455. * @return The iterator pointing to the last element
  456. *
  457. * Set the current element in the iterator to the last element.
  458. * The member rem is set to 0. The member data points to the
  459. * last element.
  460. */
  461. xcb_generic_iterator_t
  462. xcb_res_resource_size_value_end (xcb_res_resource_size_value_iterator_t i);
  463. /**
  464. *
  465. * @param c The connection
  466. * @return A cookie
  467. *
  468. * Delivers a request to the X server.
  469. *
  470. */
  471. xcb_res_query_version_cookie_t
  472. xcb_res_query_version (xcb_connection_t *c,
  473. uint8_t client_major,
  474. uint8_t client_minor);
  475. /**
  476. *
  477. * @param c The connection
  478. * @return A cookie
  479. *
  480. * Delivers a request to the X server.
  481. *
  482. * This form can be used only if the request will cause
  483. * a reply to be generated. Any returned error will be
  484. * placed in the event queue.
  485. */
  486. xcb_res_query_version_cookie_t
  487. xcb_res_query_version_unchecked (xcb_connection_t *c,
  488. uint8_t client_major,
  489. uint8_t client_minor);
  490. /**
  491. * Return the reply
  492. * @param c The connection
  493. * @param cookie The cookie
  494. * @param e The xcb_generic_error_t supplied
  495. *
  496. * Returns the reply of the request asked by
  497. *
  498. * The parameter @p e supplied to this function must be NULL if
  499. * xcb_res_query_version_unchecked(). is used.
  500. * Otherwise, it stores the error if any.
  501. *
  502. * The returned value must be freed by the caller using free().
  503. */
  504. xcb_res_query_version_reply_t *
  505. xcb_res_query_version_reply (xcb_connection_t *c,
  506. xcb_res_query_version_cookie_t cookie /**< */,
  507. xcb_generic_error_t **e);
  508. int
  509. xcb_res_query_clients_sizeof (const void *_buffer);
  510. /**
  511. *
  512. * @param c The connection
  513. * @return A cookie
  514. *
  515. * Delivers a request to the X server.
  516. *
  517. */
  518. xcb_res_query_clients_cookie_t
  519. xcb_res_query_clients (xcb_connection_t *c);
  520. /**
  521. *
  522. * @param c The connection
  523. * @return A cookie
  524. *
  525. * Delivers a request to the X server.
  526. *
  527. * This form can be used only if the request will cause
  528. * a reply to be generated. Any returned error will be
  529. * placed in the event queue.
  530. */
  531. xcb_res_query_clients_cookie_t
  532. xcb_res_query_clients_unchecked (xcb_connection_t *c);
  533. xcb_res_client_t *
  534. xcb_res_query_clients_clients (const xcb_res_query_clients_reply_t *R);
  535. int
  536. xcb_res_query_clients_clients_length (const xcb_res_query_clients_reply_t *R);
  537. xcb_res_client_iterator_t
  538. xcb_res_query_clients_clients_iterator (const xcb_res_query_clients_reply_t *R);
  539. /**
  540. * Return the reply
  541. * @param c The connection
  542. * @param cookie The cookie
  543. * @param e The xcb_generic_error_t supplied
  544. *
  545. * Returns the reply of the request asked by
  546. *
  547. * The parameter @p e supplied to this function must be NULL if
  548. * xcb_res_query_clients_unchecked(). is used.
  549. * Otherwise, it stores the error if any.
  550. *
  551. * The returned value must be freed by the caller using free().
  552. */
  553. xcb_res_query_clients_reply_t *
  554. xcb_res_query_clients_reply (xcb_connection_t *c,
  555. xcb_res_query_clients_cookie_t cookie /**< */,
  556. xcb_generic_error_t **e);
  557. int
  558. xcb_res_query_client_resources_sizeof (const void *_buffer);
  559. /**
  560. *
  561. * @param c The connection
  562. * @return A cookie
  563. *
  564. * Delivers a request to the X server.
  565. *
  566. */
  567. xcb_res_query_client_resources_cookie_t
  568. xcb_res_query_client_resources (xcb_connection_t *c,
  569. uint32_t xid);
  570. /**
  571. *
  572. * @param c The connection
  573. * @return A cookie
  574. *
  575. * Delivers a request to the X server.
  576. *
  577. * This form can be used only if the request will cause
  578. * a reply to be generated. Any returned error will be
  579. * placed in the event queue.
  580. */
  581. xcb_res_query_client_resources_cookie_t
  582. xcb_res_query_client_resources_unchecked (xcb_connection_t *c,
  583. uint32_t xid);
  584. xcb_res_type_t *
  585. xcb_res_query_client_resources_types (const xcb_res_query_client_resources_reply_t *R);
  586. int
  587. xcb_res_query_client_resources_types_length (const xcb_res_query_client_resources_reply_t *R);
  588. xcb_res_type_iterator_t
  589. xcb_res_query_client_resources_types_iterator (const xcb_res_query_client_resources_reply_t *R);
  590. /**
  591. * Return the reply
  592. * @param c The connection
  593. * @param cookie The cookie
  594. * @param e The xcb_generic_error_t supplied
  595. *
  596. * Returns the reply of the request asked by
  597. *
  598. * The parameter @p e supplied to this function must be NULL if
  599. * xcb_res_query_client_resources_unchecked(). is used.
  600. * Otherwise, it stores the error if any.
  601. *
  602. * The returned value must be freed by the caller using free().
  603. */
  604. xcb_res_query_client_resources_reply_t *
  605. xcb_res_query_client_resources_reply (xcb_connection_t *c,
  606. xcb_res_query_client_resources_cookie_t cookie /**< */,
  607. xcb_generic_error_t **e);
  608. /**
  609. *
  610. * @param c The connection
  611. * @return A cookie
  612. *
  613. * Delivers a request to the X server.
  614. *
  615. */
  616. xcb_res_query_client_pixmap_bytes_cookie_t
  617. xcb_res_query_client_pixmap_bytes (xcb_connection_t *c,
  618. uint32_t xid);
  619. /**
  620. *
  621. * @param c The connection
  622. * @return A cookie
  623. *
  624. * Delivers a request to the X server.
  625. *
  626. * This form can be used only if the request will cause
  627. * a reply to be generated. Any returned error will be
  628. * placed in the event queue.
  629. */
  630. xcb_res_query_client_pixmap_bytes_cookie_t
  631. xcb_res_query_client_pixmap_bytes_unchecked (xcb_connection_t *c,
  632. uint32_t xid);
  633. /**
  634. * Return the reply
  635. * @param c The connection
  636. * @param cookie The cookie
  637. * @param e The xcb_generic_error_t supplied
  638. *
  639. * Returns the reply of the request asked by
  640. *
  641. * The parameter @p e supplied to this function must be NULL if
  642. * xcb_res_query_client_pixmap_bytes_unchecked(). is used.
  643. * Otherwise, it stores the error if any.
  644. *
  645. * The returned value must be freed by the caller using free().
  646. */
  647. xcb_res_query_client_pixmap_bytes_reply_t *
  648. xcb_res_query_client_pixmap_bytes_reply (xcb_connection_t *c,
  649. xcb_res_query_client_pixmap_bytes_cookie_t cookie /**< */,
  650. xcb_generic_error_t **e);
  651. int
  652. xcb_res_query_client_ids_sizeof (const void *_buffer);
  653. /**
  654. *
  655. * @param c The connection
  656. * @return A cookie
  657. *
  658. * Delivers a request to the X server.
  659. *
  660. */
  661. xcb_res_query_client_ids_cookie_t
  662. xcb_res_query_client_ids (xcb_connection_t *c,
  663. uint32_t num_specs,
  664. const xcb_res_client_id_spec_t *specs);
  665. /**
  666. *
  667. * @param c The connection
  668. * @return A cookie
  669. *
  670. * Delivers a request to the X server.
  671. *
  672. * This form can be used only if the request will cause
  673. * a reply to be generated. Any returned error will be
  674. * placed in the event queue.
  675. */
  676. xcb_res_query_client_ids_cookie_t
  677. xcb_res_query_client_ids_unchecked (xcb_connection_t *c,
  678. uint32_t num_specs,
  679. const xcb_res_client_id_spec_t *specs);
  680. int
  681. xcb_res_query_client_ids_ids_length (const xcb_res_query_client_ids_reply_t *R);
  682. xcb_res_client_id_value_iterator_t
  683. xcb_res_query_client_ids_ids_iterator (const xcb_res_query_client_ids_reply_t *R);
  684. /**
  685. * Return the reply
  686. * @param c The connection
  687. * @param cookie The cookie
  688. * @param e The xcb_generic_error_t supplied
  689. *
  690. * Returns the reply of the request asked by
  691. *
  692. * The parameter @p e supplied to this function must be NULL if
  693. * xcb_res_query_client_ids_unchecked(). is used.
  694. * Otherwise, it stores the error if any.
  695. *
  696. * The returned value must be freed by the caller using free().
  697. */
  698. xcb_res_query_client_ids_reply_t *
  699. xcb_res_query_client_ids_reply (xcb_connection_t *c,
  700. xcb_res_query_client_ids_cookie_t cookie /**< */,
  701. xcb_generic_error_t **e);
  702. int
  703. xcb_res_query_resource_bytes_sizeof (const void *_buffer);
  704. /**
  705. *
  706. * @param c The connection
  707. * @return A cookie
  708. *
  709. * Delivers a request to the X server.
  710. *
  711. */
  712. xcb_res_query_resource_bytes_cookie_t
  713. xcb_res_query_resource_bytes (xcb_connection_t *c,
  714. uint32_t client,
  715. uint32_t num_specs,
  716. const xcb_res_resource_id_spec_t *specs);
  717. /**
  718. *
  719. * @param c The connection
  720. * @return A cookie
  721. *
  722. * Delivers a request to the X server.
  723. *
  724. * This form can be used only if the request will cause
  725. * a reply to be generated. Any returned error will be
  726. * placed in the event queue.
  727. */
  728. xcb_res_query_resource_bytes_cookie_t
  729. xcb_res_query_resource_bytes_unchecked (xcb_connection_t *c,
  730. uint32_t client,
  731. uint32_t num_specs,
  732. const xcb_res_resource_id_spec_t *specs);
  733. int
  734. xcb_res_query_resource_bytes_sizes_length (const xcb_res_query_resource_bytes_reply_t *R);
  735. xcb_res_resource_size_value_iterator_t
  736. xcb_res_query_resource_bytes_sizes_iterator (const xcb_res_query_resource_bytes_reply_t *R);
  737. /**
  738. * Return the reply
  739. * @param c The connection
  740. * @param cookie The cookie
  741. * @param e The xcb_generic_error_t supplied
  742. *
  743. * Returns the reply of the request asked by
  744. *
  745. * The parameter @p e supplied to this function must be NULL if
  746. * xcb_res_query_resource_bytes_unchecked(). is used.
  747. * Otherwise, it stores the error if any.
  748. *
  749. * The returned value must be freed by the caller using free().
  750. */
  751. xcb_res_query_resource_bytes_reply_t *
  752. xcb_res_query_resource_bytes_reply (xcb_connection_t *c,
  753. xcb_res_query_resource_bytes_cookie_t cookie /**< */,
  754. xcb_generic_error_t **e);
  755. #ifdef __cplusplus
  756. }
  757. #endif
  758. #endif
  759. /**
  760. * @}
  761. */