Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/xcb/shm.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 /* | |
2 * This file generated automatically from shm.xml by c_client.py. | |
3 * Edit at your peril. | |
4 */ | |
5 | |
6 /** | |
7 * @defgroup XCB_Shm_API XCB Shm API | |
8 * @brief Shm XCB Protocol Implementation. | |
9 * @{ | |
10 **/ | |
11 | |
12 #ifndef __SHM_H | |
13 #define __SHM_H | |
14 | |
15 #include "xcb.h" | |
16 #include "xproto.h" | |
17 | |
18 #ifdef __cplusplus | |
19 extern "C" { | |
20 #endif | |
21 | |
22 #define XCB_SHM_MAJOR_VERSION 1 | |
23 #define XCB_SHM_MINOR_VERSION 2 | |
24 | |
25 extern xcb_extension_t xcb_shm_id; | |
26 | |
27 typedef uint32_t xcb_shm_seg_t; | |
28 | |
29 /** | |
30 * @brief xcb_shm_seg_iterator_t | |
31 **/ | |
32 typedef struct xcb_shm_seg_iterator_t { | |
33 xcb_shm_seg_t *data; | |
34 int rem; | |
35 int index; | |
36 } xcb_shm_seg_iterator_t; | |
37 | |
38 /** Opcode for xcb_shm_completion. */ | |
39 #define XCB_SHM_COMPLETION 0 | |
40 | |
41 /** | |
42 * @brief xcb_shm_completion_event_t | |
43 **/ | |
44 typedef struct xcb_shm_completion_event_t { | |
45 uint8_t response_type; | |
46 uint8_t pad0; | |
47 uint16_t sequence; | |
48 xcb_drawable_t drawable; | |
49 uint16_t minor_event; | |
50 uint8_t major_event; | |
51 uint8_t pad1; | |
52 xcb_shm_seg_t shmseg; | |
53 uint32_t offset; | |
54 } xcb_shm_completion_event_t; | |
55 | |
56 /** Opcode for xcb_shm_bad_seg. */ | |
57 #define XCB_SHM_BAD_SEG 0 | |
58 | |
59 typedef xcb_value_error_t xcb_shm_bad_seg_error_t; | |
60 | |
61 /** | |
62 * @brief xcb_shm_query_version_cookie_t | |
63 **/ | |
64 typedef struct xcb_shm_query_version_cookie_t { | |
65 unsigned int sequence; | |
66 } xcb_shm_query_version_cookie_t; | |
67 | |
68 /** Opcode for xcb_shm_query_version. */ | |
69 #define XCB_SHM_QUERY_VERSION 0 | |
70 | |
71 /** | |
72 * @brief xcb_shm_query_version_request_t | |
73 **/ | |
74 typedef struct xcb_shm_query_version_request_t { | |
75 uint8_t major_opcode; | |
76 uint8_t minor_opcode; | |
77 uint16_t length; | |
78 } xcb_shm_query_version_request_t; | |
79 | |
80 /** | |
81 * @brief xcb_shm_query_version_reply_t | |
82 **/ | |
83 typedef struct xcb_shm_query_version_reply_t { | |
84 uint8_t response_type; | |
85 uint8_t shared_pixmaps; | |
86 uint16_t sequence; | |
87 uint32_t length; | |
88 uint16_t major_version; | |
89 uint16_t minor_version; | |
90 uint16_t uid; | |
91 uint16_t gid; | |
92 uint8_t pixmap_format; | |
93 uint8_t pad0[15]; | |
94 } xcb_shm_query_version_reply_t; | |
95 | |
96 /** Opcode for xcb_shm_attach. */ | |
97 #define XCB_SHM_ATTACH 1 | |
98 | |
99 /** | |
100 * @brief xcb_shm_attach_request_t | |
101 **/ | |
102 typedef struct xcb_shm_attach_request_t { | |
103 uint8_t major_opcode; | |
104 uint8_t minor_opcode; | |
105 uint16_t length; | |
106 xcb_shm_seg_t shmseg; | |
107 uint32_t shmid; | |
108 uint8_t read_only; | |
109 uint8_t pad0[3]; | |
110 } xcb_shm_attach_request_t; | |
111 | |
112 /** Opcode for xcb_shm_detach. */ | |
113 #define XCB_SHM_DETACH 2 | |
114 | |
115 /** | |
116 * @brief xcb_shm_detach_request_t | |
117 **/ | |
118 typedef struct xcb_shm_detach_request_t { | |
119 uint8_t major_opcode; | |
120 uint8_t minor_opcode; | |
121 uint16_t length; | |
122 xcb_shm_seg_t shmseg; | |
123 } xcb_shm_detach_request_t; | |
124 | |
125 /** Opcode for xcb_shm_put_image. */ | |
126 #define XCB_SHM_PUT_IMAGE 3 | |
127 | |
128 /** | |
129 * @brief xcb_shm_put_image_request_t | |
130 **/ | |
131 typedef struct xcb_shm_put_image_request_t { | |
132 uint8_t major_opcode; | |
133 uint8_t minor_opcode; | |
134 uint16_t length; | |
135 xcb_drawable_t drawable; | |
136 xcb_gcontext_t gc; | |
137 uint16_t total_width; | |
138 uint16_t total_height; | |
139 uint16_t src_x; | |
140 uint16_t src_y; | |
141 uint16_t src_width; | |
142 uint16_t src_height; | |
143 int16_t dst_x; | |
144 int16_t dst_y; | |
145 uint8_t depth; | |
146 uint8_t format; | |
147 uint8_t send_event; | |
148 uint8_t pad0; | |
149 xcb_shm_seg_t shmseg; | |
150 uint32_t offset; | |
151 } xcb_shm_put_image_request_t; | |
152 | |
153 /** | |
154 * @brief xcb_shm_get_image_cookie_t | |
155 **/ | |
156 typedef struct xcb_shm_get_image_cookie_t { | |
157 unsigned int sequence; | |
158 } xcb_shm_get_image_cookie_t; | |
159 | |
160 /** Opcode for xcb_shm_get_image. */ | |
161 #define XCB_SHM_GET_IMAGE 4 | |
162 | |
163 /** | |
164 * @brief xcb_shm_get_image_request_t | |
165 **/ | |
166 typedef struct xcb_shm_get_image_request_t { | |
167 uint8_t major_opcode; | |
168 uint8_t minor_opcode; | |
169 uint16_t length; | |
170 xcb_drawable_t drawable; | |
171 int16_t x; | |
172 int16_t y; | |
173 uint16_t width; | |
174 uint16_t height; | |
175 uint32_t plane_mask; | |
176 uint8_t format; | |
177 uint8_t pad0[3]; | |
178 xcb_shm_seg_t shmseg; | |
179 uint32_t offset; | |
180 } xcb_shm_get_image_request_t; | |
181 | |
182 /** | |
183 * @brief xcb_shm_get_image_reply_t | |
184 **/ | |
185 typedef struct xcb_shm_get_image_reply_t { | |
186 uint8_t response_type; | |
187 uint8_t depth; | |
188 uint16_t sequence; | |
189 uint32_t length; | |
190 xcb_visualid_t visual; | |
191 uint32_t size; | |
192 } xcb_shm_get_image_reply_t; | |
193 | |
194 /** Opcode for xcb_shm_create_pixmap. */ | |
195 #define XCB_SHM_CREATE_PIXMAP 5 | |
196 | |
197 /** | |
198 * @brief xcb_shm_create_pixmap_request_t | |
199 **/ | |
200 typedef struct xcb_shm_create_pixmap_request_t { | |
201 uint8_t major_opcode; | |
202 uint8_t minor_opcode; | |
203 uint16_t length; | |
204 xcb_pixmap_t pid; | |
205 xcb_drawable_t drawable; | |
206 uint16_t width; | |
207 uint16_t height; | |
208 uint8_t depth; | |
209 uint8_t pad0[3]; | |
210 xcb_shm_seg_t shmseg; | |
211 uint32_t offset; | |
212 } xcb_shm_create_pixmap_request_t; | |
213 | |
214 /** Opcode for xcb_shm_attach_fd. */ | |
215 #define XCB_SHM_ATTACH_FD 6 | |
216 | |
217 /** | |
218 * @brief xcb_shm_attach_fd_request_t | |
219 **/ | |
220 typedef struct xcb_shm_attach_fd_request_t { | |
221 uint8_t major_opcode; | |
222 uint8_t minor_opcode; | |
223 uint16_t length; | |
224 xcb_shm_seg_t shmseg; | |
225 uint8_t read_only; | |
226 uint8_t pad0[3]; | |
227 } xcb_shm_attach_fd_request_t; | |
228 | |
229 /** | |
230 * @brief xcb_shm_create_segment_cookie_t | |
231 **/ | |
232 typedef struct xcb_shm_create_segment_cookie_t { | |
233 unsigned int sequence; | |
234 } xcb_shm_create_segment_cookie_t; | |
235 | |
236 /** Opcode for xcb_shm_create_segment. */ | |
237 #define XCB_SHM_CREATE_SEGMENT 7 | |
238 | |
239 /** | |
240 * @brief xcb_shm_create_segment_request_t | |
241 **/ | |
242 typedef struct xcb_shm_create_segment_request_t { | |
243 uint8_t major_opcode; | |
244 uint8_t minor_opcode; | |
245 uint16_t length; | |
246 xcb_shm_seg_t shmseg; | |
247 uint32_t size; | |
248 uint8_t read_only; | |
249 uint8_t pad0[3]; | |
250 } xcb_shm_create_segment_request_t; | |
251 | |
252 /** | |
253 * @brief xcb_shm_create_segment_reply_t | |
254 **/ | |
255 typedef struct xcb_shm_create_segment_reply_t { | |
256 uint8_t response_type; | |
257 uint8_t nfd; | |
258 uint16_t sequence; | |
259 uint32_t length; | |
260 uint8_t pad0[24]; | |
261 } xcb_shm_create_segment_reply_t; | |
262 | |
263 /** | |
264 * Get the next element of the iterator | |
265 * @param i Pointer to a xcb_shm_seg_iterator_t | |
266 * | |
267 * Get the next element in the iterator. The member rem is | |
268 * decreased by one. The member data points to the next | |
269 * element. The member index is increased by sizeof(xcb_shm_seg_t) | |
270 */ | |
271 void | |
272 xcb_shm_seg_next (xcb_shm_seg_iterator_t *i); | |
273 | |
274 /** | |
275 * Return the iterator pointing to the last element | |
276 * @param i An xcb_shm_seg_iterator_t | |
277 * @return The iterator pointing to the last element | |
278 * | |
279 * Set the current element in the iterator to the last element. | |
280 * The member rem is set to 0. The member data points to the | |
281 * last element. | |
282 */ | |
283 xcb_generic_iterator_t | |
284 xcb_shm_seg_end (xcb_shm_seg_iterator_t i); | |
285 | |
286 /** | |
287 * @brief Query the version of the MIT-SHM extension. | |
288 * | |
289 * @param c The connection | |
290 * @return A cookie | |
291 * | |
292 * This is used to determine the version of the MIT-SHM extension supported by the | |
293 * X server. Clients MUST NOT make other requests in this extension until a reply | |
294 * to this requests indicates the X server supports them. | |
295 * | |
296 */ | |
297 xcb_shm_query_version_cookie_t | |
298 xcb_shm_query_version (xcb_connection_t *c); | |
299 | |
300 /** | |
301 * @brief Query the version of the MIT-SHM extension. | |
302 * | |
303 * @param c The connection | |
304 * @return A cookie | |
305 * | |
306 * This is used to determine the version of the MIT-SHM extension supported by the | |
307 * X server. Clients MUST NOT make other requests in this extension until a reply | |
308 * to this requests indicates the X server supports them. | |
309 * | |
310 * This form can be used only if the request will cause | |
311 * a reply to be generated. Any returned error will be | |
312 * placed in the event queue. | |
313 */ | |
314 xcb_shm_query_version_cookie_t | |
315 xcb_shm_query_version_unchecked (xcb_connection_t *c); | |
316 | |
317 /** | |
318 * Return the reply | |
319 * @param c The connection | |
320 * @param cookie The cookie | |
321 * @param e The xcb_generic_error_t supplied | |
322 * | |
323 * Returns the reply of the request asked by | |
324 * | |
325 * The parameter @p e supplied to this function must be NULL if | |
326 * xcb_shm_query_version_unchecked(). is used. | |
327 * Otherwise, it stores the error if any. | |
328 * | |
329 * The returned value must be freed by the caller using free(). | |
330 */ | |
331 xcb_shm_query_version_reply_t * | |
332 xcb_shm_query_version_reply (xcb_connection_t *c, | |
333 xcb_shm_query_version_cookie_t cookie /**< */, | |
334 xcb_generic_error_t **e); | |
335 | |
336 /** | |
337 * @brief Attach a System V shared memory segment. | |
338 * | |
339 * @param c The connection | |
340 * @param shmseg A shared memory segment ID created with xcb_generate_id(). | |
341 * @param shmid The System V shared memory segment the server should map. | |
342 * @param read_only True if the segment shall be mapped read only by the X11 server, otherwise false. | |
343 * @return A cookie | |
344 * | |
345 * Attach a System V shared memory segment to the server. This will fail unless | |
346 * the server has permission to map the segment. The client may destroy the segment | |
347 * as soon as it receives a XCB_SHM_COMPLETION event with the shmseg value in this | |
348 * request and with the appropriate serial number. | |
349 * | |
350 * This form can be used only if the request will not cause | |
351 * a reply to be generated. Any returned error will be | |
352 * saved for handling by xcb_request_check(). | |
353 */ | |
354 xcb_void_cookie_t | |
355 xcb_shm_attach_checked (xcb_connection_t *c, | |
356 xcb_shm_seg_t shmseg, | |
357 uint32_t shmid, | |
358 uint8_t read_only); | |
359 | |
360 /** | |
361 * @brief Attach a System V shared memory segment. | |
362 * | |
363 * @param c The connection | |
364 * @param shmseg A shared memory segment ID created with xcb_generate_id(). | |
365 * @param shmid The System V shared memory segment the server should map. | |
366 * @param read_only True if the segment shall be mapped read only by the X11 server, otherwise false. | |
367 * @return A cookie | |
368 * | |
369 * Attach a System V shared memory segment to the server. This will fail unless | |
370 * the server has permission to map the segment. The client may destroy the segment | |
371 * as soon as it receives a XCB_SHM_COMPLETION event with the shmseg value in this | |
372 * request and with the appropriate serial number. | |
373 * | |
374 */ | |
375 xcb_void_cookie_t | |
376 xcb_shm_attach (xcb_connection_t *c, | |
377 xcb_shm_seg_t shmseg, | |
378 uint32_t shmid, | |
379 uint8_t read_only); | |
380 | |
381 /** | |
382 * @brief Destroys the specified shared memory segment. | |
383 * | |
384 * @param c The connection | |
385 * @param shmseg The segment to be destroyed. | |
386 * @return A cookie | |
387 * | |
388 * Destroys the specified shared memory segment. This will never fail unless the | |
389 * segment number is incorrect. | |
390 * | |
391 * This form can be used only if the request will not cause | |
392 * a reply to be generated. Any returned error will be | |
393 * saved for handling by xcb_request_check(). | |
394 */ | |
395 xcb_void_cookie_t | |
396 xcb_shm_detach_checked (xcb_connection_t *c, | |
397 xcb_shm_seg_t shmseg); | |
398 | |
399 /** | |
400 * @brief Destroys the specified shared memory segment. | |
401 * | |
402 * @param c The connection | |
403 * @param shmseg The segment to be destroyed. | |
404 * @return A cookie | |
405 * | |
406 * Destroys the specified shared memory segment. This will never fail unless the | |
407 * segment number is incorrect. | |
408 * | |
409 */ | |
410 xcb_void_cookie_t | |
411 xcb_shm_detach (xcb_connection_t *c, | |
412 xcb_shm_seg_t shmseg); | |
413 | |
414 /** | |
415 * @brief Copy data from the shared memory to the specified drawable. | |
416 * | |
417 * @param c The connection | |
418 * @param drawable The drawable to draw to. | |
419 * @param gc The graphics context to use. | |
420 * @param total_width The total width of the source image. | |
421 * @param total_height The total height of the source image. | |
422 * @param src_x The source X coordinate of the sub-image to copy. | |
423 * @param src_y The source Y coordinate of the sub-image to copy. | |
424 * @param src_width The width, in source image coordinates, of the data to copy from the source. | |
425 * The X server will use this to determine the amount of data to copy. The amount | |
426 * of the destination image that is overwritten is determined automatically. | |
427 * @param src_height The height, in source image coordinates, of the data to copy from the source. | |
428 * The X server will use this to determine the amount of data to copy. The amount | |
429 * of the destination image that is overwritten is determined automatically. | |
430 * @param dst_x The X coordinate on the destination drawable to copy to. | |
431 * @param dst_y The Y coordinate on the destination drawable to copy to. | |
432 * @param depth The depth to use. | |
433 * @param format The format of the image being drawn. If it is XYBitmap, depth must be 1, or a | |
434 * "BadMatch" error results. The foreground pixel in the GC determines the source | |
435 * for the one bits in the image, and the background pixel determines the source | |
436 * for the zero bits. For XYPixmap and ZPixmap, the depth must match the depth of | |
437 * the drawable, or a "BadMatch" error results. | |
438 * @param send_event True if the server should send an XCB_SHM_COMPLETION event when the blit | |
439 * completes. | |
440 * @param offset The offset that the source image starts at. | |
441 * @return A cookie | |
442 * | |
443 * Copy data from the shared memory to the specified drawable. The amount of bytes | |
444 * written to the destination image is always equal to the number of bytes read | |
445 * from the shared memory segment. | |
446 * | |
447 * This form can be used only if the request will not cause | |
448 * a reply to be generated. Any returned error will be | |
449 * saved for handling by xcb_request_check(). | |
450 */ | |
451 xcb_void_cookie_t | |
452 xcb_shm_put_image_checked (xcb_connection_t *c, | |
453 xcb_drawable_t drawable, | |
454 xcb_gcontext_t gc, | |
455 uint16_t total_width, | |
456 uint16_t total_height, | |
457 uint16_t src_x, | |
458 uint16_t src_y, | |
459 uint16_t src_width, | |
460 uint16_t src_height, | |
461 int16_t dst_x, | |
462 int16_t dst_y, | |
463 uint8_t depth, | |
464 uint8_t format, | |
465 uint8_t send_event, | |
466 xcb_shm_seg_t shmseg, | |
467 uint32_t offset); | |
468 | |
469 /** | |
470 * @brief Copy data from the shared memory to the specified drawable. | |
471 * | |
472 * @param c The connection | |
473 * @param drawable The drawable to draw to. | |
474 * @param gc The graphics context to use. | |
475 * @param total_width The total width of the source image. | |
476 * @param total_height The total height of the source image. | |
477 * @param src_x The source X coordinate of the sub-image to copy. | |
478 * @param src_y The source Y coordinate of the sub-image to copy. | |
479 * @param src_width The width, in source image coordinates, of the data to copy from the source. | |
480 * The X server will use this to determine the amount of data to copy. The amount | |
481 * of the destination image that is overwritten is determined automatically. | |
482 * @param src_height The height, in source image coordinates, of the data to copy from the source. | |
483 * The X server will use this to determine the amount of data to copy. The amount | |
484 * of the destination image that is overwritten is determined automatically. | |
485 * @param dst_x The X coordinate on the destination drawable to copy to. | |
486 * @param dst_y The Y coordinate on the destination drawable to copy to. | |
487 * @param depth The depth to use. | |
488 * @param format The format of the image being drawn. If it is XYBitmap, depth must be 1, or a | |
489 * "BadMatch" error results. The foreground pixel in the GC determines the source | |
490 * for the one bits in the image, and the background pixel determines the source | |
491 * for the zero bits. For XYPixmap and ZPixmap, the depth must match the depth of | |
492 * the drawable, or a "BadMatch" error results. | |
493 * @param send_event True if the server should send an XCB_SHM_COMPLETION event when the blit | |
494 * completes. | |
495 * @param offset The offset that the source image starts at. | |
496 * @return A cookie | |
497 * | |
498 * Copy data from the shared memory to the specified drawable. The amount of bytes | |
499 * written to the destination image is always equal to the number of bytes read | |
500 * from the shared memory segment. | |
501 * | |
502 */ | |
503 xcb_void_cookie_t | |
504 xcb_shm_put_image (xcb_connection_t *c, | |
505 xcb_drawable_t drawable, | |
506 xcb_gcontext_t gc, | |
507 uint16_t total_width, | |
508 uint16_t total_height, | |
509 uint16_t src_x, | |
510 uint16_t src_y, | |
511 uint16_t src_width, | |
512 uint16_t src_height, | |
513 int16_t dst_x, | |
514 int16_t dst_y, | |
515 uint8_t depth, | |
516 uint8_t format, | |
517 uint8_t send_event, | |
518 xcb_shm_seg_t shmseg, | |
519 uint32_t offset); | |
520 | |
521 /** | |
522 * @brief Copies data from the specified drawable to the shared memory segment. | |
523 * | |
524 * @param c The connection | |
525 * @param drawable The drawable to copy the image out of. | |
526 * @param x The X coordinate in the drawable to begin copying at. | |
527 * @param y The Y coordinate in the drawable to begin copying at. | |
528 * @param width The width of the image to copy. | |
529 * @param height The height of the image to copy. | |
530 * @param plane_mask A mask that determines which planes are used. | |
531 * @param format The format to use for the copy (???). | |
532 * @param shmseg The destination shared memory segment. | |
533 * @param offset The offset in the shared memory segment to copy data to. | |
534 * @return A cookie | |
535 * | |
536 * Copy data from the specified drawable to the shared memory segment. The amount | |
537 * of bytes written to the destination image is always equal to the number of bytes | |
538 * read from the shared memory segment. | |
539 * | |
540 */ | |
541 xcb_shm_get_image_cookie_t | |
542 xcb_shm_get_image (xcb_connection_t *c, | |
543 xcb_drawable_t drawable, | |
544 int16_t x, | |
545 int16_t y, | |
546 uint16_t width, | |
547 uint16_t height, | |
548 uint32_t plane_mask, | |
549 uint8_t format, | |
550 xcb_shm_seg_t shmseg, | |
551 uint32_t offset); | |
552 | |
553 /** | |
554 * @brief Copies data from the specified drawable to the shared memory segment. | |
555 * | |
556 * @param c The connection | |
557 * @param drawable The drawable to copy the image out of. | |
558 * @param x The X coordinate in the drawable to begin copying at. | |
559 * @param y The Y coordinate in the drawable to begin copying at. | |
560 * @param width The width of the image to copy. | |
561 * @param height The height of the image to copy. | |
562 * @param plane_mask A mask that determines which planes are used. | |
563 * @param format The format to use for the copy (???). | |
564 * @param shmseg The destination shared memory segment. | |
565 * @param offset The offset in the shared memory segment to copy data to. | |
566 * @return A cookie | |
567 * | |
568 * Copy data from the specified drawable to the shared memory segment. The amount | |
569 * of bytes written to the destination image is always equal to the number of bytes | |
570 * read from the shared memory segment. | |
571 * | |
572 * This form can be used only if the request will cause | |
573 * a reply to be generated. Any returned error will be | |
574 * placed in the event queue. | |
575 */ | |
576 xcb_shm_get_image_cookie_t | |
577 xcb_shm_get_image_unchecked (xcb_connection_t *c, | |
578 xcb_drawable_t drawable, | |
579 int16_t x, | |
580 int16_t y, | |
581 uint16_t width, | |
582 uint16_t height, | |
583 uint32_t plane_mask, | |
584 uint8_t format, | |
585 xcb_shm_seg_t shmseg, | |
586 uint32_t offset); | |
587 | |
588 /** | |
589 * Return the reply | |
590 * @param c The connection | |
591 * @param cookie The cookie | |
592 * @param e The xcb_generic_error_t supplied | |
593 * | |
594 * Returns the reply of the request asked by | |
595 * | |
596 * The parameter @p e supplied to this function must be NULL if | |
597 * xcb_shm_get_image_unchecked(). is used. | |
598 * Otherwise, it stores the error if any. | |
599 * | |
600 * The returned value must be freed by the caller using free(). | |
601 */ | |
602 xcb_shm_get_image_reply_t * | |
603 xcb_shm_get_image_reply (xcb_connection_t *c, | |
604 xcb_shm_get_image_cookie_t cookie /**< */, | |
605 xcb_generic_error_t **e); | |
606 | |
607 /** | |
608 * @brief Create a pixmap backed by shared memory. | |
609 * | |
610 * @param c The connection | |
611 * @param pid A pixmap ID created with xcb_generate_id(). | |
612 * @param drawable The drawable to create the pixmap in. | |
613 * @param width The width of the pixmap to create. Must be nonzero, or a Value error results. | |
614 * @param height The height of the pixmap to create. Must be nonzero, or a Value error results. | |
615 * @param depth The depth of the pixmap to create. Must be nonzero, or a Value error results. | |
616 * @param shmseg The shared memory segment to use to create the pixmap. | |
617 * @param offset The offset in the segment to create the pixmap at. | |
618 * @return A cookie | |
619 * | |
620 * Create a pixmap backed by shared memory. Writes to the shared memory will be | |
621 * reflected in the contents of the pixmap, and writes to the pixmap will be | |
622 * reflected in the contents of the shared memory. | |
623 * | |
624 * This form can be used only if the request will not cause | |
625 * a reply to be generated. Any returned error will be | |
626 * saved for handling by xcb_request_check(). | |
627 */ | |
628 xcb_void_cookie_t | |
629 xcb_shm_create_pixmap_checked (xcb_connection_t *c, | |
630 xcb_pixmap_t pid, | |
631 xcb_drawable_t drawable, | |
632 uint16_t width, | |
633 uint16_t height, | |
634 uint8_t depth, | |
635 xcb_shm_seg_t shmseg, | |
636 uint32_t offset); | |
637 | |
638 /** | |
639 * @brief Create a pixmap backed by shared memory. | |
640 * | |
641 * @param c The connection | |
642 * @param pid A pixmap ID created with xcb_generate_id(). | |
643 * @param drawable The drawable to create the pixmap in. | |
644 * @param width The width of the pixmap to create. Must be nonzero, or a Value error results. | |
645 * @param height The height of the pixmap to create. Must be nonzero, or a Value error results. | |
646 * @param depth The depth of the pixmap to create. Must be nonzero, or a Value error results. | |
647 * @param shmseg The shared memory segment to use to create the pixmap. | |
648 * @param offset The offset in the segment to create the pixmap at. | |
649 * @return A cookie | |
650 * | |
651 * Create a pixmap backed by shared memory. Writes to the shared memory will be | |
652 * reflected in the contents of the pixmap, and writes to the pixmap will be | |
653 * reflected in the contents of the shared memory. | |
654 * | |
655 */ | |
656 xcb_void_cookie_t | |
657 xcb_shm_create_pixmap (xcb_connection_t *c, | |
658 xcb_pixmap_t pid, | |
659 xcb_drawable_t drawable, | |
660 uint16_t width, | |
661 uint16_t height, | |
662 uint8_t depth, | |
663 xcb_shm_seg_t shmseg, | |
664 uint32_t offset); | |
665 | |
666 /** | |
667 * @brief Create a shared memory segment | |
668 * | |
669 * @param c The connection | |
670 * @param shmseg A shared memory segment ID created with xcb_generate_id(). | |
671 * @param shm_fd The file descriptor the server should mmap(). | |
672 * @param read_only True if the segment shall be mapped read only by the X11 server, otherwise false. | |
673 * @return A cookie | |
674 * | |
675 * Create a shared memory segment. The file descriptor will be mapped at offset | |
676 * zero, and the size will be obtained using fstat(). A zero size will result in a | |
677 * Value error. | |
678 * | |
679 * This form can be used only if the request will not cause | |
680 * a reply to be generated. Any returned error will be | |
681 * saved for handling by xcb_request_check(). | |
682 */ | |
683 xcb_void_cookie_t | |
684 xcb_shm_attach_fd_checked (xcb_connection_t *c, | |
685 xcb_shm_seg_t shmseg, | |
686 int32_t shm_fd, | |
687 uint8_t read_only); | |
688 | |
689 /** | |
690 * @brief Create a shared memory segment | |
691 * | |
692 * @param c The connection | |
693 * @param shmseg A shared memory segment ID created with xcb_generate_id(). | |
694 * @param shm_fd The file descriptor the server should mmap(). | |
695 * @param read_only True if the segment shall be mapped read only by the X11 server, otherwise false. | |
696 * @return A cookie | |
697 * | |
698 * Create a shared memory segment. The file descriptor will be mapped at offset | |
699 * zero, and the size will be obtained using fstat(). A zero size will result in a | |
700 * Value error. | |
701 * | |
702 */ | |
703 xcb_void_cookie_t | |
704 xcb_shm_attach_fd (xcb_connection_t *c, | |
705 xcb_shm_seg_t shmseg, | |
706 int32_t shm_fd, | |
707 uint8_t read_only); | |
708 | |
709 /** | |
710 * @brief Asks the server to allocate a shared memory segment. | |
711 * | |
712 * @param c The connection | |
713 * @param shmseg A shared memory segment ID created with xcb_generate_id(). | |
714 * @param size The size of the segment to create. | |
715 * @param read_only True if the server should map the segment read-only; otherwise false. | |
716 * @return A cookie | |
717 * | |
718 * Asks the server to allocate a shared memory segment. The server’s reply will | |
719 * include a file descriptor for the client to pass to mmap(). | |
720 * | |
721 */ | |
722 xcb_shm_create_segment_cookie_t | |
723 xcb_shm_create_segment (xcb_connection_t *c, | |
724 xcb_shm_seg_t shmseg, | |
725 uint32_t size, | |
726 uint8_t read_only); | |
727 | |
728 /** | |
729 * @brief Asks the server to allocate a shared memory segment. | |
730 * | |
731 * @param c The connection | |
732 * @param shmseg A shared memory segment ID created with xcb_generate_id(). | |
733 * @param size The size of the segment to create. | |
734 * @param read_only True if the server should map the segment read-only; otherwise false. | |
735 * @return A cookie | |
736 * | |
737 * Asks the server to allocate a shared memory segment. The server’s reply will | |
738 * include a file descriptor for the client to pass to mmap(). | |
739 * | |
740 * This form can be used only if the request will cause | |
741 * a reply to be generated. Any returned error will be | |
742 * placed in the event queue. | |
743 */ | |
744 xcb_shm_create_segment_cookie_t | |
745 xcb_shm_create_segment_unchecked (xcb_connection_t *c, | |
746 xcb_shm_seg_t shmseg, | |
747 uint32_t size, | |
748 uint8_t read_only); | |
749 | |
750 /** | |
751 * Return the reply | |
752 * @param c The connection | |
753 * @param cookie The cookie | |
754 * @param e The xcb_generic_error_t supplied | |
755 * | |
756 * Returns the reply of the request asked by | |
757 * | |
758 * The parameter @p e supplied to this function must be NULL if | |
759 * xcb_shm_create_segment_unchecked(). is used. | |
760 * Otherwise, it stores the error if any. | |
761 * | |
762 * The returned value must be freed by the caller using free(). | |
763 */ | |
764 xcb_shm_create_segment_reply_t * | |
765 xcb_shm_create_segment_reply (xcb_connection_t *c, | |
766 xcb_shm_create_segment_cookie_t cookie /**< */, | |
767 xcb_generic_error_t **e); | |
768 | |
769 /** | |
770 * Return the reply fds | |
771 * @param c The connection | |
772 * @param reply The reply | |
773 * | |
774 * Returns a pointer to the array of reply fds of the reply. | |
775 * | |
776 * The returned value points into the reply and must not be free(). | |
777 * The fds are not managed by xcb. You must close() them before freeing the reply. | |
778 */ | |
779 int * | |
780 xcb_shm_create_segment_reply_fds (xcb_connection_t *c /**< */, | |
781 xcb_shm_create_segment_reply_t *reply); | |
782 | |
783 | |
784 #ifdef __cplusplus | |
785 } | |
786 #endif | |
787 | |
788 #endif | |
789 | |
790 /** | |
791 * @} | |
792 */ |