60.7 KB、1389行 生 Blame 履歴
1/*
2 * SPDX-FileCopyrightText: 2014-2020 Weng Xuetian <wengxt@gmail.com>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-only
5 *
6 */
7
8#ifndef XIMPROTO_GEN_H
9#define XIMPROTO_GEN_H
10
11#include "ximcommon.h"
12#include <stdlib.h>
13#include <stdint.h>
14#include <stdbool.h>
15
16XCBIMDKIT_DECL_BEGIN
17
18typedef uint8_t *xcb_im_bytearray_t;
19
20typedef struct _xcb_im_ximattr_fr_t
21{
22 uint16_t attribute_ID;
23 uint16_t type_of_the_value;
24 uint16_t length_of_im_attribute;
25 xcb_im_bytearray_t im_attribute;
26} xcb_im_ximattr_fr_t;
27
28typedef struct _xcb_im_xicattr_fr_t
29{
30 uint16_t attribute_ID;
31 uint16_t type_of_the_value;
32 uint16_t length_of_ic_attribute;
33 xcb_im_bytearray_t ic_attribute;
34} xcb_im_xicattr_fr_t;
35
36typedef struct _xcb_im_ximattribute_fr_t
37{
38 uint16_t attribute_ID;
39 uint16_t value_length;
40 xcb_im_bytearray_t value;
41} xcb_im_ximattribute_fr_t;
42
43typedef struct _xcb_im_xicattribute_fr_t
44{
45 uint16_t attribute_ID;
46 uint16_t value_length;
47 xcb_im_bytearray_t value;
48} xcb_im_xicattribute_fr_t;
49
50typedef struct _xcb_im_ximtriggerkey_fr_t
51{
52 uint32_t keysym;
53 uint32_t modifier;
54 uint32_t modifier_mask;
55} xcb_im_ximtriggerkey_fr_t;
56
57typedef struct _xcb_im_encodinginfo_fr_t
58{
59 uint16_t length_of_encoding_info;
60 xcb_im_bytearray_t encoding_info;
61} xcb_im_encodinginfo_fr_t;
62
63typedef struct _xcb_im_str_fr_t
64{
65 uint8_t length_of_string;
66 xcb_im_bytearray_t string;
67} xcb_im_str_fr_t;
68
69typedef struct _xcb_im_xpcs_fr_t
70{
71 uint16_t length_of_string_in_bytes;
72 xcb_im_bytearray_t string;
73} xcb_im_xpcs_fr_t;
74
75typedef struct _xcb_im_ext_fr_t
76{
77 uint8_t extension_major_opcode;
78 uint8_t extension_minor_opcode;
79 uint16_t length_of_extension_name;
80 xcb_im_bytearray_t extension_name;
81} xcb_im_ext_fr_t;
82
83typedef struct _xcb_im_inputstyle_fr_t
84{
85 uint32_t inputstyle;
86} xcb_im_inputstyle_fr_t;
87
88typedef struct _xcb_im_attr_head_fr_t
89{
90 uint16_t attribute_id;
91 uint16_t attribute_length;
92} xcb_im_attr_head_fr_t;
93
94typedef struct _xcb_im_short_fr_t
95{
96 uint16_t value;
97} xcb_im_short_fr_t;
98
99typedef struct _xcb_im_long_fr_t
100{
101 uint32_t value;
102} xcb_im_long_fr_t;
103
104typedef struct _xcb_im_xrectangle_fr_t
105{
106 uint16_t x;
107 uint16_t y;
108 uint16_t width;
109 uint16_t height;
110} xcb_im_xrectangle_fr_t;
111
112typedef struct _xcb_im_xpoint_fr_t
113{
114 uint16_t x;
115 uint16_t y;
116} xcb_im_xpoint_fr_t;
117
118typedef struct _xcb_im_fontset_fr_t
119{
120 uint16_t length_of_base_font_name;
121 xcb_im_bytearray_t base_font_name_list;
122} xcb_im_fontset_fr_t;
123
124typedef struct _xcb_im_input_styles_fr_t
125{
126 struct {
127 uint32_t size;
128 xcb_im_inputstyle_fr_t* items;
129 } XIMStyle_list;
130} xcb_im_input_styles_fr_t;
131
132typedef struct _xcb_im_packet_header_fr_t
133{
134 uint8_t major_opcode;
135 uint8_t minor_opcode;
136 uint16_t length;
137} xcb_im_packet_header_fr_t;
138
139typedef struct _xcb_im_error_fr_t
140{
141 uint16_t input_method_ID;
142 uint16_t input_context_ID;
143 uint16_t flag;
144 uint16_t Error_Code;
145 uint16_t length_of_error_detail;
146 uint16_t type_of_error_detail;
147 xcb_im_bytearray_t error_detail;
148} xcb_im_error_fr_t;
149
150typedef struct _xcb_im_connect_fr_t
151{
152 uint8_t byte_order;
153 uint16_t client_major_protocol_version;
154 uint16_t client_minor_protocol_version;
155 struct {
156 uint32_t size;
157 xcb_im_xpcs_fr_t* items;
158 } client_auth_protocol_names;
159} xcb_im_connect_fr_t;
160
161typedef struct _xcb_im_connect_reply_fr_t
162{
163 uint16_t server_major_protocol_version;
164 uint16_t server_minor_protocol_version;
165} xcb_im_connect_reply_fr_t;
166
167typedef struct _xcb_im_auth_required_fr_t
168{
169 uint8_t auth_protocol_index;
170 uint8_t auth_data1;
171 xcb_im_bytearray_t auth_data2;
172} xcb_im_auth_required_fr_t;
173
174typedef struct _xcb_im_auth_reply_fr_t
175{
176 uint8_t field0;
177 xcb_im_bytearray_t field1;
178} xcb_im_auth_reply_fr_t;
179
180typedef struct _xcb_im_auth_next_fr_t
181{
182 uint8_t auth_data1;
183 xcb_im_bytearray_t auth_data2;
184} xcb_im_auth_next_fr_t;
185
186typedef struct _xcb_im_auth_setup_fr_t
187{
188 struct {
189 uint32_t size;
190 xcb_im_xpcs_fr_t* items;
191 } server_auth_protocol_names;
192} xcb_im_auth_setup_fr_t;
193
194typedef struct _xcb_im_auth_ng_fr_t
195{
196} xcb_im_auth_ng_fr_t;
197
198typedef struct _xcb_im_disconnect_fr_t
199{
200} xcb_im_disconnect_fr_t;
201
202typedef struct _xcb_im_disconnect_reply_fr_t
203{
204} xcb_im_disconnect_reply_fr_t;
205
206typedef struct _xcb_im_open_fr_t
207{
208 xcb_im_str_fr_t field0;
209} xcb_im_open_fr_t;
210
211typedef struct _xcb_im_open_reply_fr_t
212{
213 uint16_t input_method_ID;
214 struct {
215 uint32_t size;
216 xcb_im_ximattr_fr_t* items;
217 } IM_attribute_supported;
218 struct {
219 uint32_t size;
220 xcb_im_xicattr_fr_t* items;
221 } IC_attribute_supported;
222} xcb_im_open_reply_fr_t;
223
224typedef struct _xcb_im_close_fr_t
225{
226 uint16_t input_method_ID;
227} xcb_im_close_fr_t;
228
229typedef struct _xcb_im_close_reply_fr_t
230{
231 uint16_t input_method_ID;
232} xcb_im_close_reply_fr_t;
233
234typedef struct _xcb_im_register_triggerkeys_fr_t
235{
236 uint16_t input_method_ID;
237 struct {
238 uint32_t size;
239 xcb_im_ximtriggerkey_fr_t* items;
240 } on_keys_list;
241 struct {
242 uint32_t size;
243 xcb_im_ximtriggerkey_fr_t* items;
244 } off_keys_list;
245} xcb_im_register_triggerkeys_fr_t;
246
247typedef struct _xcb_im_trigger_notify_fr_t
248{
249 uint16_t input_method_ID;
250 uint16_t input_context_ID;
251 uint32_t flag;
252 uint32_t index_of_keys_list;
253 uint32_t client_select_event_mask;
254} xcb_im_trigger_notify_fr_t;
255
256typedef struct _xcb_im_trigger_notify_reply_fr_t
257{
258 uint16_t input_method_ID;
259 uint16_t input_context_ID;
260} xcb_im_trigger_notify_reply_fr_t;
261
262typedef struct _xcb_im_set_event_mask_fr_t
263{
264 uint16_t input_method_ID;
265 uint16_t input_context_ID;
266 uint32_t forward_event_mask;
267 uint32_t synchronous_event_mask;
268} xcb_im_set_event_mask_fr_t;
269
270typedef struct _xcb_im_encoding_negotiation_fr_t
271{
272 uint16_t input_method_ID;
273 struct {
274 uint32_t size;
275 xcb_im_str_fr_t* items;
276 } supported_list_of_encoding_in_IM_library;
277 struct {
278 uint32_t size;
279 xcb_im_encodinginfo_fr_t* items;
280 } list_of_encodings_supported_in_th;
281} xcb_im_encoding_negotiation_fr_t;
282
283typedef struct _xcb_im_encoding_negotiation_reply_fr_t
284{
285 uint16_t input_method_ID;
286 uint16_t category_of_the_encoding_determined;
287 uint16_t index_of_the_encoding_determined;
288} xcb_im_encoding_negotiation_reply_fr_t;
289
290typedef struct _xcb_im_query_extension_fr_t
291{
292 uint16_t input_method_ID;
293 struct {
294 uint32_t size;
295 xcb_im_str_fr_t* items;
296 } extensions_supported_by_the_IM_library;
297} xcb_im_query_extension_fr_t;
298
299typedef struct _xcb_im_query_extension_reply_fr_t
300{
301 uint16_t input_method_ID;
302 struct {
303 uint32_t size;
304 xcb_im_ext_fr_t* items;
305 } list_of_extensions_supported_by_th;
306} xcb_im_query_extension_reply_fr_t;
307
308typedef struct _xcb_im_get_im_values_fr_t
309{
310 uint16_t input_method_ID;
311 struct {
312 uint32_t size;
313 uint16_t* items;
314 } im_attribute_id;
315} xcb_im_get_im_values_fr_t;
316
317typedef struct _xcb_im_get_im_values_reply_fr_t
318{
319 uint16_t input_method_ID;
320 struct {
321 uint32_t size;
322 xcb_im_ximattribute_fr_t* items;
323 } im_attribute_returned;
324} xcb_im_get_im_values_reply_fr_t;
325
326typedef struct _xcb_im_create_ic_fr_t
327{
328 uint16_t input_method_ID;
329 struct {
330 uint32_t size;
331 xcb_im_xicattribute_fr_t* items;
332 } ic_attributes;
333} xcb_im_create_ic_fr_t;
334
335typedef struct _xcb_im_create_ic_reply_fr_t
336{
337 uint16_t input_method_ID;
338 uint16_t input_context_ID;
339} xcb_im_create_ic_reply_fr_t;
340
341typedef struct _xcb_im_destroy_ic_fr_t
342{
343 uint16_t input_method_ID;
344 uint16_t input_context_ID;
345} xcb_im_destroy_ic_fr_t;
346
347typedef struct _xcb_im_destroy_ic_reply_fr_t
348{
349 uint16_t input_method_ID;
350 uint16_t input_context_ID;
351} xcb_im_destroy_ic_reply_fr_t;
352
353typedef struct _xcb_im_set_ic_values_fr_t
354{
355 uint16_t input_method_ID;
356 uint16_t input_context_ID;
357 struct {
358 uint32_t size;
359 xcb_im_xicattribute_fr_t* items;
360 } ic_attribute;
361} xcb_im_set_ic_values_fr_t;
362
363typedef struct _xcb_im_set_ic_values_reply_fr_t
364{
365 uint16_t input_method_ID;
366 uint16_t input_context_ID;
367} xcb_im_set_ic_values_reply_fr_t;
368
369typedef struct _xcb_im_get_ic_values_fr_t
370{
371 uint16_t input_method_ID;
372 uint16_t input_context_ID;
373 struct {
374 uint32_t size;
375 uint16_t* items;
376 } ic_attribute;
377} xcb_im_get_ic_values_fr_t;
378
379typedef struct _xcb_im_get_ic_values_reply_fr_t
380{
381 uint16_t input_method_ID;
382 uint16_t input_context_ID;
383 struct {
384 uint32_t size;
385 xcb_im_xicattribute_fr_t* items;
386 } ic_attribute;
387} xcb_im_get_ic_values_reply_fr_t;
388
389typedef struct _xcb_im_set_ic_focus_fr_t
390{
391 uint16_t input_method_ID;
392 uint16_t input_context_ID;
393} xcb_im_set_ic_focus_fr_t;
394
395typedef struct _xcb_im_unset_ic_focus_fr_t
396{
397 uint16_t input_method_ID;
398 uint16_t input_context_ID;
399} xcb_im_unset_ic_focus_fr_t;
400
401typedef struct _xcb_im_forward_event_fr_t
402{
403 uint16_t input_method_ID;
404 uint16_t input_context_ID;
405 uint16_t flag;
406 uint16_t sequence_number;
407} xcb_im_forward_event_fr_t;
408
409typedef struct _xcb_im_sync_fr_t
410{
411 uint16_t input_method_ID;
412 uint16_t input_context_ID;
413} xcb_im_sync_fr_t;
414
415typedef struct _xcb_im_sync_reply_fr_t
416{
417 uint16_t input_method_ID;
418 uint16_t input_context_ID;
419} xcb_im_sync_reply_fr_t;
420
421typedef struct _xcb_im_commit_fr_t
422{
423 uint16_t input_method_ID;
424 uint16_t input_context_ID;
425 uint16_t flag;
426 uint16_t byte_length_of_committed_string;
427 xcb_im_bytearray_t committed_string;
428 struct {
429 uint32_t size;
430 uint32_t* items;
431 } keysym;
432} xcb_im_commit_fr_t;
433
434typedef struct _xcb_im_commit_chars_fr_t
435{
436 uint16_t input_method_ID;
437 uint16_t input_context_ID;
438 uint16_t flag;
439 uint16_t byte_length_of_committed_string;
440 xcb_im_bytearray_t committed_string;
441} xcb_im_commit_chars_fr_t;
442
443typedef struct _xcb_im_commit_both_fr_t
444{
445 uint16_t input_method_ID;
446 uint16_t input_context_ID;
447 uint16_t flag;
448 uint32_t keysym;
449 uint16_t byte_length_of_committed_string;
450 xcb_im_bytearray_t committed_string;
451} xcb_im_commit_both_fr_t;
452
453typedef struct _xcb_im_reset_ic_fr_t
454{
455 uint16_t input_method_ID;
456 uint16_t input_context_ID;
457} xcb_im_reset_ic_fr_t;
458
459typedef struct _xcb_im_reset_ic_reply_fr_t
460{
461 uint16_t input_method_ID;
462 uint16_t input_context_ID;
463 uint16_t byte_length_of_committed_string;
464 xcb_im_bytearray_t committed_string;
465} xcb_im_reset_ic_reply_fr_t;
466
467typedef struct _xcb_im_geometry_fr_t
468{
469 uint16_t input_method_ID;
470 uint16_t input_context_ID;
471} xcb_im_geometry_fr_t;
472
473typedef struct _xcb_im_str_conversion_fr_t
474{
475 uint16_t input_method_ID;
476 uint16_t input_context_ID;
477 uint32_t XIMStringConversionPosition;
478 uint32_t XIMStringConversionType;
479 uint32_t XIMStringConversionOperation;
480 uint16_t length_to_multiply_th;
481 uint16_t length_of_the_string_to_b;
482 xcb_im_bytearray_t string;
483} xcb_im_str_conversion_fr_t;
484
485typedef struct _xcb_im_str_conversion_reply_fr_t
486{
487 uint16_t input_method_ID;
488 uint16_t input_context_ID;
489 uint32_t XIMStringConversionFeedback;
490 uint16_t length_of_the_retrieved_string;
491 xcb_im_bytearray_t retrieved_string;
492 struct {
493 uint32_t size;
494 uint32_t* items;
495 } feedback_array;
496} xcb_im_str_conversion_reply_fr_t;
497
498typedef struct _xcb_im_preedit_start_fr_t
499{
500 uint16_t input_method_ID;
501 uint16_t input_context_ID;
502} xcb_im_preedit_start_fr_t;
503
504typedef struct _xcb_im_preedit_start_reply_fr_t
505{
506 uint16_t input_method_ID;
507 uint16_t input_context_ID;
508 uint32_t return_value;
509} xcb_im_preedit_start_reply_fr_t;
510
511typedef struct _xcb_im_preedit_draw_fr_t
512{
513 uint16_t input_method_ID;
514 uint16_t input_context_ID;
515 uint32_t caret;
516 uint32_t chg_first;
517 uint32_t chg_length;
518 uint32_t status;
519 uint16_t length_of_preedit_string;
520 xcb_im_bytearray_t preedit_string;
521 struct {
522 uint32_t size;
523 uint32_t* items;
524 } feedback_array;
525} xcb_im_preedit_draw_fr_t;
526
527typedef struct _xcb_im_preedit_caret_fr_t
528{
529 uint16_t input_method_ID;
530 uint16_t input_context_ID;
531 uint32_t position;
532 uint32_t direction;
533 uint32_t style;
534} xcb_im_preedit_caret_fr_t;
535
536typedef struct _xcb_im_preedit_caret_reply_fr_t
537{
538 uint16_t input_method_ID;
539 uint16_t input_context_ID;
540 uint32_t position;
541} xcb_im_preedit_caret_reply_fr_t;
542
543typedef struct _xcb_im_preedit_done_fr_t
544{
545 uint16_t input_method_ID;
546 uint16_t input_context_ID;
547} xcb_im_preedit_done_fr_t;
548
549typedef struct _xcb_im_status_start_fr_t
550{
551 uint16_t input_method_ID;
552 uint16_t input_context_ID;
553} xcb_im_status_start_fr_t;
554
555typedef struct _xcb_im_status_draw_text_fr_t
556{
557 uint16_t input_method_ID;
558 uint16_t input_context_ID;
559 uint32_t type;
560 uint32_t status;
561 uint16_t length_of_status_string;
562 xcb_im_bytearray_t status_string;
563 struct {
564 uint32_t size;
565 uint32_t* items;
566 } feedback_array;
567} xcb_im_status_draw_text_fr_t;
568
569typedef struct _xcb_im_status_draw_bitmap_fr_t
570{
571 uint16_t input_method_ID;
572 uint16_t input_context_ID;
573 uint32_t type;
574 uint32_t pixmap_data;
575} xcb_im_status_draw_bitmap_fr_t;
576
577typedef struct _xcb_im_status_done_fr_t
578{
579 uint16_t input_method_ID;
580 uint16_t input_context_ID;
581} xcb_im_status_done_fr_t;
582
583typedef struct _xcb_im_ext_set_event_mask_fr_t
584{
585 uint16_t input_method_ID;
586 uint16_t input_context_ID;
587 uint32_t filter_event_mask;
588 uint32_t intercept_event_mask;
589 uint32_t select_event_mask;
590 uint32_t forward_event_mask;
591 uint32_t synchronous_event_mask;
592} xcb_im_ext_set_event_mask_fr_t;
593
594typedef struct _xcb_im_ext_forward_keyevent_fr_t
595{
596 uint16_t input_method_ID;
597 uint16_t input_context_ID;
598 uint16_t flag;
599 uint16_t sequence_number;
600 uint8_t xEvent_u_u_type;
601 uint8_t keycode;
602 uint16_t state;
603 uint32_t time;
604 uint32_t window;
605} xcb_im_ext_forward_keyevent_fr_t;
606
607typedef struct _xcb_im_ext_move_fr_t
608{
609 uint16_t input_method_ID;
610 uint16_t input_context_ID;
611 uint16_t X;
612 uint16_t Y;
613} xcb_im_ext_move_fr_t;
614
615#define frame_read_func(FRAME) _Generic((FRAME), \
616 xcb_im_ximattr_fr_t : xcb_im_ximattr_fr_read,\
617 xcb_im_xicattr_fr_t : xcb_im_xicattr_fr_read,\
618 xcb_im_ximattribute_fr_t : xcb_im_ximattribute_fr_read,\
619 xcb_im_xicattribute_fr_t : xcb_im_xicattribute_fr_read,\
620 xcb_im_ximtriggerkey_fr_t : xcb_im_ximtriggerkey_fr_read,\
621 xcb_im_encodinginfo_fr_t : xcb_im_encodinginfo_fr_read,\
622 xcb_im_str_fr_t : xcb_im_str_fr_read,\
623 xcb_im_xpcs_fr_t : xcb_im_xpcs_fr_read,\
624 xcb_im_ext_fr_t : xcb_im_ext_fr_read,\
625 xcb_im_inputstyle_fr_t : xcb_im_inputstyle_fr_read,\
626 xcb_im_attr_head_fr_t : xcb_im_attr_head_fr_read,\
627 xcb_im_short_fr_t : xcb_im_short_fr_read,\
628 xcb_im_long_fr_t : xcb_im_long_fr_read,\
629 xcb_im_xrectangle_fr_t : xcb_im_xrectangle_fr_read,\
630 xcb_im_xpoint_fr_t : xcb_im_xpoint_fr_read,\
631 xcb_im_fontset_fr_t : xcb_im_fontset_fr_read,\
632 xcb_im_input_styles_fr_t : xcb_im_input_styles_fr_read,\
633 xcb_im_packet_header_fr_t : xcb_im_packet_header_fr_read,\
634 xcb_im_error_fr_t : xcb_im_error_fr_read,\
635 xcb_im_connect_fr_t : xcb_im_connect_fr_read,\
636 xcb_im_connect_reply_fr_t : xcb_im_connect_reply_fr_read,\
637 xcb_im_auth_required_fr_t : xcb_im_auth_required_fr_read,\
638 xcb_im_auth_reply_fr_t : xcb_im_auth_reply_fr_read,\
639 xcb_im_auth_next_fr_t : xcb_im_auth_next_fr_read,\
640 xcb_im_auth_setup_fr_t : xcb_im_auth_setup_fr_read,\
641 xcb_im_auth_ng_fr_t : xcb_im_auth_ng_fr_read,\
642 xcb_im_disconnect_fr_t : xcb_im_disconnect_fr_read,\
643 xcb_im_disconnect_reply_fr_t : xcb_im_disconnect_reply_fr_read,\
644 xcb_im_open_fr_t : xcb_im_open_fr_read,\
645 xcb_im_open_reply_fr_t : xcb_im_open_reply_fr_read,\
646 xcb_im_close_fr_t : xcb_im_close_fr_read,\
647 xcb_im_close_reply_fr_t : xcb_im_close_reply_fr_read,\
648 xcb_im_register_triggerkeys_fr_t : xcb_im_register_triggerkeys_fr_read,\
649 xcb_im_trigger_notify_fr_t : xcb_im_trigger_notify_fr_read,\
650 xcb_im_trigger_notify_reply_fr_t : xcb_im_trigger_notify_reply_fr_read,\
651 xcb_im_set_event_mask_fr_t : xcb_im_set_event_mask_fr_read,\
652 xcb_im_encoding_negotiation_fr_t : xcb_im_encoding_negotiation_fr_read,\
653 xcb_im_encoding_negotiation_reply_fr_t : xcb_im_encoding_negotiation_reply_fr_read,\
654 xcb_im_query_extension_fr_t : xcb_im_query_extension_fr_read,\
655 xcb_im_query_extension_reply_fr_t : xcb_im_query_extension_reply_fr_read,\
656 xcb_im_get_im_values_fr_t : xcb_im_get_im_values_fr_read,\
657 xcb_im_get_im_values_reply_fr_t : xcb_im_get_im_values_reply_fr_read,\
658 xcb_im_create_ic_fr_t : xcb_im_create_ic_fr_read,\
659 xcb_im_create_ic_reply_fr_t : xcb_im_create_ic_reply_fr_read,\
660 xcb_im_destroy_ic_fr_t : xcb_im_destroy_ic_fr_read,\
661 xcb_im_destroy_ic_reply_fr_t : xcb_im_destroy_ic_reply_fr_read,\
662 xcb_im_set_ic_values_fr_t : xcb_im_set_ic_values_fr_read,\
663 xcb_im_set_ic_values_reply_fr_t : xcb_im_set_ic_values_reply_fr_read,\
664 xcb_im_get_ic_values_fr_t : xcb_im_get_ic_values_fr_read,\
665 xcb_im_get_ic_values_reply_fr_t : xcb_im_get_ic_values_reply_fr_read,\
666 xcb_im_set_ic_focus_fr_t : xcb_im_set_ic_focus_fr_read,\
667 xcb_im_unset_ic_focus_fr_t : xcb_im_unset_ic_focus_fr_read,\
668 xcb_im_forward_event_fr_t : xcb_im_forward_event_fr_read,\
669 xcb_im_sync_fr_t : xcb_im_sync_fr_read,\
670 xcb_im_sync_reply_fr_t : xcb_im_sync_reply_fr_read,\
671 xcb_im_commit_fr_t : xcb_im_commit_fr_read,\
672 xcb_im_commit_chars_fr_t : xcb_im_commit_chars_fr_read,\
673 xcb_im_commit_both_fr_t : xcb_im_commit_both_fr_read,\
674 xcb_im_reset_ic_fr_t : xcb_im_reset_ic_fr_read,\
675 xcb_im_reset_ic_reply_fr_t : xcb_im_reset_ic_reply_fr_read,\
676 xcb_im_geometry_fr_t : xcb_im_geometry_fr_read,\
677 xcb_im_str_conversion_fr_t : xcb_im_str_conversion_fr_read,\
678 xcb_im_str_conversion_reply_fr_t : xcb_im_str_conversion_reply_fr_read,\
679 xcb_im_preedit_start_fr_t : xcb_im_preedit_start_fr_read,\
680 xcb_im_preedit_start_reply_fr_t : xcb_im_preedit_start_reply_fr_read,\
681 xcb_im_preedit_draw_fr_t : xcb_im_preedit_draw_fr_read,\
682 xcb_im_preedit_caret_fr_t : xcb_im_preedit_caret_fr_read,\
683 xcb_im_preedit_caret_reply_fr_t : xcb_im_preedit_caret_reply_fr_read,\
684 xcb_im_preedit_done_fr_t : xcb_im_preedit_done_fr_read,\
685 xcb_im_status_start_fr_t : xcb_im_status_start_fr_read,\
686 xcb_im_status_draw_text_fr_t : xcb_im_status_draw_text_fr_read,\
687 xcb_im_status_draw_bitmap_fr_t : xcb_im_status_draw_bitmap_fr_read,\
688 xcb_im_status_done_fr_t : xcb_im_status_done_fr_read,\
689 xcb_im_ext_set_event_mask_fr_t : xcb_im_ext_set_event_mask_fr_read,\
690 xcb_im_ext_forward_keyevent_fr_t : xcb_im_ext_forward_keyevent_fr_read,\
691 xcb_im_ext_move_fr_t : xcb_im_ext_move_fr_read)
692
693#define frame_write_func(FRAME) _Generic((FRAME), \
694 xcb_im_ximattr_fr_t : xcb_im_ximattr_fr_write,\
695 xcb_im_xicattr_fr_t : xcb_im_xicattr_fr_write,\
696 xcb_im_ximattribute_fr_t : xcb_im_ximattribute_fr_write,\
697 xcb_im_xicattribute_fr_t : xcb_im_xicattribute_fr_write,\
698 xcb_im_ximtriggerkey_fr_t : xcb_im_ximtriggerkey_fr_write,\
699 xcb_im_encodinginfo_fr_t : xcb_im_encodinginfo_fr_write,\
700 xcb_im_str_fr_t : xcb_im_str_fr_write,\
701 xcb_im_xpcs_fr_t : xcb_im_xpcs_fr_write,\
702 xcb_im_ext_fr_t : xcb_im_ext_fr_write,\
703 xcb_im_inputstyle_fr_t : xcb_im_inputstyle_fr_write,\
704 xcb_im_attr_head_fr_t : xcb_im_attr_head_fr_write,\
705 xcb_im_short_fr_t : xcb_im_short_fr_write,\
706 xcb_im_long_fr_t : xcb_im_long_fr_write,\
707 xcb_im_xrectangle_fr_t : xcb_im_xrectangle_fr_write,\
708 xcb_im_xpoint_fr_t : xcb_im_xpoint_fr_write,\
709 xcb_im_fontset_fr_t : xcb_im_fontset_fr_write,\
710 xcb_im_input_styles_fr_t : xcb_im_input_styles_fr_write,\
711 xcb_im_packet_header_fr_t : xcb_im_packet_header_fr_write,\
712 xcb_im_error_fr_t : xcb_im_error_fr_write,\
713 xcb_im_connect_fr_t : xcb_im_connect_fr_write,\
714 xcb_im_connect_reply_fr_t : xcb_im_connect_reply_fr_write,\
715 xcb_im_auth_required_fr_t : xcb_im_auth_required_fr_write,\
716 xcb_im_auth_reply_fr_t : xcb_im_auth_reply_fr_write,\
717 xcb_im_auth_next_fr_t : xcb_im_auth_next_fr_write,\
718 xcb_im_auth_setup_fr_t : xcb_im_auth_setup_fr_write,\
719 xcb_im_auth_ng_fr_t : xcb_im_auth_ng_fr_write,\
720 xcb_im_disconnect_fr_t : xcb_im_disconnect_fr_write,\
721 xcb_im_disconnect_reply_fr_t : xcb_im_disconnect_reply_fr_write,\
722 xcb_im_open_fr_t : xcb_im_open_fr_write,\
723 xcb_im_open_reply_fr_t : xcb_im_open_reply_fr_write,\
724 xcb_im_close_fr_t : xcb_im_close_fr_write,\
725 xcb_im_close_reply_fr_t : xcb_im_close_reply_fr_write,\
726 xcb_im_register_triggerkeys_fr_t : xcb_im_register_triggerkeys_fr_write,\
727 xcb_im_trigger_notify_fr_t : xcb_im_trigger_notify_fr_write,\
728 xcb_im_trigger_notify_reply_fr_t : xcb_im_trigger_notify_reply_fr_write,\
729 xcb_im_set_event_mask_fr_t : xcb_im_set_event_mask_fr_write,\
730 xcb_im_encoding_negotiation_fr_t : xcb_im_encoding_negotiation_fr_write,\
731 xcb_im_encoding_negotiation_reply_fr_t : xcb_im_encoding_negotiation_reply_fr_write,\
732 xcb_im_query_extension_fr_t : xcb_im_query_extension_fr_write,\
733 xcb_im_query_extension_reply_fr_t : xcb_im_query_extension_reply_fr_write,\
734 xcb_im_get_im_values_fr_t : xcb_im_get_im_values_fr_write,\
735 xcb_im_get_im_values_reply_fr_t : xcb_im_get_im_values_reply_fr_write,\
736 xcb_im_create_ic_fr_t : xcb_im_create_ic_fr_write,\
737 xcb_im_create_ic_reply_fr_t : xcb_im_create_ic_reply_fr_write,\
738 xcb_im_destroy_ic_fr_t : xcb_im_destroy_ic_fr_write,\
739 xcb_im_destroy_ic_reply_fr_t : xcb_im_destroy_ic_reply_fr_write,\
740 xcb_im_set_ic_values_fr_t : xcb_im_set_ic_values_fr_write,\
741 xcb_im_set_ic_values_reply_fr_t : xcb_im_set_ic_values_reply_fr_write,\
742 xcb_im_get_ic_values_fr_t : xcb_im_get_ic_values_fr_write,\
743 xcb_im_get_ic_values_reply_fr_t : xcb_im_get_ic_values_reply_fr_write,\
744 xcb_im_set_ic_focus_fr_t : xcb_im_set_ic_focus_fr_write,\
745 xcb_im_unset_ic_focus_fr_t : xcb_im_unset_ic_focus_fr_write,\
746 xcb_im_forward_event_fr_t : xcb_im_forward_event_fr_write,\
747 xcb_im_sync_fr_t : xcb_im_sync_fr_write,\
748 xcb_im_sync_reply_fr_t : xcb_im_sync_reply_fr_write,\
749 xcb_im_commit_fr_t : xcb_im_commit_fr_write,\
750 xcb_im_commit_chars_fr_t : xcb_im_commit_chars_fr_write,\
751 xcb_im_commit_both_fr_t : xcb_im_commit_both_fr_write,\
752 xcb_im_reset_ic_fr_t : xcb_im_reset_ic_fr_write,\
753 xcb_im_reset_ic_reply_fr_t : xcb_im_reset_ic_reply_fr_write,\
754 xcb_im_geometry_fr_t : xcb_im_geometry_fr_write,\
755 xcb_im_str_conversion_fr_t : xcb_im_str_conversion_fr_write,\
756 xcb_im_str_conversion_reply_fr_t : xcb_im_str_conversion_reply_fr_write,\
757 xcb_im_preedit_start_fr_t : xcb_im_preedit_start_fr_write,\
758 xcb_im_preedit_start_reply_fr_t : xcb_im_preedit_start_reply_fr_write,\
759 xcb_im_preedit_draw_fr_t : xcb_im_preedit_draw_fr_write,\
760 xcb_im_preedit_caret_fr_t : xcb_im_preedit_caret_fr_write,\
761 xcb_im_preedit_caret_reply_fr_t : xcb_im_preedit_caret_reply_fr_write,\
762 xcb_im_preedit_done_fr_t : xcb_im_preedit_done_fr_write,\
763 xcb_im_status_start_fr_t : xcb_im_status_start_fr_write,\
764 xcb_im_status_draw_text_fr_t : xcb_im_status_draw_text_fr_write,\
765 xcb_im_status_draw_bitmap_fr_t : xcb_im_status_draw_bitmap_fr_write,\
766 xcb_im_status_done_fr_t : xcb_im_status_done_fr_write,\
767 xcb_im_ext_set_event_mask_fr_t : xcb_im_ext_set_event_mask_fr_write,\
768 xcb_im_ext_forward_keyevent_fr_t : xcb_im_ext_forward_keyevent_fr_write,\
769 xcb_im_ext_move_fr_t : xcb_im_ext_move_fr_write)
770
771#define frame_size_func(FRAME) _Generic((FRAME), \
772 xcb_im_ximattr_fr_t : xcb_im_ximattr_fr_size((xcb_im_ximattr_fr_t*) &(FRAME)),\
773 xcb_im_xicattr_fr_t : xcb_im_xicattr_fr_size((xcb_im_xicattr_fr_t*) &(FRAME)),\
774 xcb_im_ximattribute_fr_t : xcb_im_ximattribute_fr_size((xcb_im_ximattribute_fr_t*) &(FRAME)),\
775 xcb_im_xicattribute_fr_t : xcb_im_xicattribute_fr_size((xcb_im_xicattribute_fr_t*) &(FRAME)),\
776 xcb_im_ximtriggerkey_fr_t : 12,\
777 xcb_im_encodinginfo_fr_t : xcb_im_encodinginfo_fr_size((xcb_im_encodinginfo_fr_t*) &(FRAME)),\
778 xcb_im_str_fr_t : xcb_im_str_fr_size((xcb_im_str_fr_t*) &(FRAME)),\
779 xcb_im_xpcs_fr_t : xcb_im_xpcs_fr_size((xcb_im_xpcs_fr_t*) &(FRAME)),\
780 xcb_im_ext_fr_t : xcb_im_ext_fr_size((xcb_im_ext_fr_t*) &(FRAME)),\
781 xcb_im_inputstyle_fr_t : 4,\
782 xcb_im_attr_head_fr_t : 4,\
783 xcb_im_short_fr_t : 2,\
784 xcb_im_long_fr_t : 4,\
785 xcb_im_xrectangle_fr_t : 8,\
786 xcb_im_xpoint_fr_t : 4,\
787 xcb_im_fontset_fr_t : xcb_im_fontset_fr_size((xcb_im_fontset_fr_t*) &(FRAME)),\
788 xcb_im_input_styles_fr_t : xcb_im_input_styles_fr_size((xcb_im_input_styles_fr_t*) &(FRAME)),\
789 xcb_im_packet_header_fr_t : 4,\
790 xcb_im_error_fr_t : xcb_im_error_fr_size((xcb_im_error_fr_t*) &(FRAME)),\
791 xcb_im_connect_fr_t : xcb_im_connect_fr_size((xcb_im_connect_fr_t*) &(FRAME)),\
792 xcb_im_connect_reply_fr_t : 4,\
793 xcb_im_auth_required_fr_t : xcb_im_auth_required_fr_size((xcb_im_auth_required_fr_t*) &(FRAME)),\
794 xcb_im_auth_reply_fr_t : xcb_im_auth_reply_fr_size((xcb_im_auth_reply_fr_t*) &(FRAME)),\
795 xcb_im_auth_next_fr_t : xcb_im_auth_next_fr_size((xcb_im_auth_next_fr_t*) &(FRAME)),\
796 xcb_im_auth_setup_fr_t : xcb_im_auth_setup_fr_size((xcb_im_auth_setup_fr_t*) &(FRAME)),\
797 xcb_im_auth_ng_fr_t : 0,\
798 xcb_im_disconnect_fr_t : 0,\
799 xcb_im_disconnect_reply_fr_t : 0,\
800 xcb_im_open_fr_t : xcb_im_open_fr_size((xcb_im_open_fr_t*) &(FRAME)),\
801 xcb_im_open_reply_fr_t : xcb_im_open_reply_fr_size((xcb_im_open_reply_fr_t*) &(FRAME)),\
802 xcb_im_close_fr_t : 4,\
803 xcb_im_close_reply_fr_t : 4,\
804 xcb_im_register_triggerkeys_fr_t : xcb_im_register_triggerkeys_fr_size((xcb_im_register_triggerkeys_fr_t*) &(FRAME)),\
805 xcb_im_trigger_notify_fr_t : 16,\
806 xcb_im_trigger_notify_reply_fr_t : 4,\
807 xcb_im_set_event_mask_fr_t : 12,\
808 xcb_im_encoding_negotiation_fr_t : xcb_im_encoding_negotiation_fr_size((xcb_im_encoding_negotiation_fr_t*) &(FRAME)),\
809 xcb_im_encoding_negotiation_reply_fr_t : 8,\
810 xcb_im_query_extension_fr_t : xcb_im_query_extension_fr_size((xcb_im_query_extension_fr_t*) &(FRAME)),\
811 xcb_im_query_extension_reply_fr_t : xcb_im_query_extension_reply_fr_size((xcb_im_query_extension_reply_fr_t*) &(FRAME)),\
812 xcb_im_get_im_values_fr_t : xcb_im_get_im_values_fr_size((xcb_im_get_im_values_fr_t*) &(FRAME)),\
813 xcb_im_get_im_values_reply_fr_t : xcb_im_get_im_values_reply_fr_size((xcb_im_get_im_values_reply_fr_t*) &(FRAME)),\
814 xcb_im_create_ic_fr_t : xcb_im_create_ic_fr_size((xcb_im_create_ic_fr_t*) &(FRAME)),\
815 xcb_im_create_ic_reply_fr_t : 4,\
816 xcb_im_destroy_ic_fr_t : 4,\
817 xcb_im_destroy_ic_reply_fr_t : 4,\
818 xcb_im_set_ic_values_fr_t : xcb_im_set_ic_values_fr_size((xcb_im_set_ic_values_fr_t*) &(FRAME)),\
819 xcb_im_set_ic_values_reply_fr_t : 4,\
820 xcb_im_get_ic_values_fr_t : xcb_im_get_ic_values_fr_size((xcb_im_get_ic_values_fr_t*) &(FRAME)),\
821 xcb_im_get_ic_values_reply_fr_t : xcb_im_get_ic_values_reply_fr_size((xcb_im_get_ic_values_reply_fr_t*) &(FRAME)),\
822 xcb_im_set_ic_focus_fr_t : 4,\
823 xcb_im_unset_ic_focus_fr_t : 4,\
824 xcb_im_forward_event_fr_t : 8,\
825 xcb_im_sync_fr_t : 4,\
826 xcb_im_sync_reply_fr_t : 4,\
827 xcb_im_commit_fr_t : xcb_im_commit_fr_size((xcb_im_commit_fr_t*) &(FRAME)),\
828 xcb_im_commit_chars_fr_t : xcb_im_commit_chars_fr_size((xcb_im_commit_chars_fr_t*) &(FRAME)),\
829 xcb_im_commit_both_fr_t : xcb_im_commit_both_fr_size((xcb_im_commit_both_fr_t*) &(FRAME)),\
830 xcb_im_reset_ic_fr_t : 4,\
831 xcb_im_reset_ic_reply_fr_t : xcb_im_reset_ic_reply_fr_size((xcb_im_reset_ic_reply_fr_t*) &(FRAME)),\
832 xcb_im_geometry_fr_t : 4,\
833 xcb_im_str_conversion_fr_t : xcb_im_str_conversion_fr_size((xcb_im_str_conversion_fr_t*) &(FRAME)),\
834 xcb_im_str_conversion_reply_fr_t : xcb_im_str_conversion_reply_fr_size((xcb_im_str_conversion_reply_fr_t*) &(FRAME)),\
835 xcb_im_preedit_start_fr_t : 4,\
836 xcb_im_preedit_start_reply_fr_t : 8,\
837 xcb_im_preedit_draw_fr_t : xcb_im_preedit_draw_fr_size((xcb_im_preedit_draw_fr_t*) &(FRAME)),\
838 xcb_im_preedit_caret_fr_t : 16,\
839 xcb_im_preedit_caret_reply_fr_t : 8,\
840 xcb_im_preedit_done_fr_t : 4,\
841 xcb_im_status_start_fr_t : 4,\
842 xcb_im_status_draw_text_fr_t : xcb_im_status_draw_text_fr_size((xcb_im_status_draw_text_fr_t*) &(FRAME)),\
843 xcb_im_status_draw_bitmap_fr_t : 12,\
844 xcb_im_status_done_fr_t : 4,\
845 xcb_im_ext_set_event_mask_fr_t : 24,\
846 xcb_im_ext_forward_keyevent_fr_t : 20,\
847 xcb_im_ext_move_fr_t : 8)
848
849#define frame_free_func(FRAME) _Generic((FRAME), \
850 xcb_im_ximattr_fr_t : xcb_im_ximattr_fr_free,\
851 xcb_im_xicattr_fr_t : xcb_im_xicattr_fr_free,\
852 xcb_im_ximattribute_fr_t : xcb_im_ximattribute_fr_free,\
853 xcb_im_xicattribute_fr_t : xcb_im_xicattribute_fr_free,\
854 xcb_im_ximtriggerkey_fr_t : xcb_im_ximtriggerkey_fr_free,\
855 xcb_im_encodinginfo_fr_t : xcb_im_encodinginfo_fr_free,\
856 xcb_im_str_fr_t : xcb_im_str_fr_free,\
857 xcb_im_xpcs_fr_t : xcb_im_xpcs_fr_free,\
858 xcb_im_ext_fr_t : xcb_im_ext_fr_free,\
859 xcb_im_inputstyle_fr_t : xcb_im_inputstyle_fr_free,\
860 xcb_im_attr_head_fr_t : xcb_im_attr_head_fr_free,\
861 xcb_im_short_fr_t : xcb_im_short_fr_free,\
862 xcb_im_long_fr_t : xcb_im_long_fr_free,\
863 xcb_im_xrectangle_fr_t : xcb_im_xrectangle_fr_free,\
864 xcb_im_xpoint_fr_t : xcb_im_xpoint_fr_free,\
865 xcb_im_fontset_fr_t : xcb_im_fontset_fr_free,\
866 xcb_im_input_styles_fr_t : xcb_im_input_styles_fr_free,\
867 xcb_im_packet_header_fr_t : xcb_im_packet_header_fr_free,\
868 xcb_im_error_fr_t : xcb_im_error_fr_free,\
869 xcb_im_connect_fr_t : xcb_im_connect_fr_free,\
870 xcb_im_connect_reply_fr_t : xcb_im_connect_reply_fr_free,\
871 xcb_im_auth_required_fr_t : xcb_im_auth_required_fr_free,\
872 xcb_im_auth_reply_fr_t : xcb_im_auth_reply_fr_free,\
873 xcb_im_auth_next_fr_t : xcb_im_auth_next_fr_free,\
874 xcb_im_auth_setup_fr_t : xcb_im_auth_setup_fr_free,\
875 xcb_im_auth_ng_fr_t : xcb_im_auth_ng_fr_free,\
876 xcb_im_disconnect_fr_t : xcb_im_disconnect_fr_free,\
877 xcb_im_disconnect_reply_fr_t : xcb_im_disconnect_reply_fr_free,\
878 xcb_im_open_fr_t : xcb_im_open_fr_free,\
879 xcb_im_open_reply_fr_t : xcb_im_open_reply_fr_free,\
880 xcb_im_close_fr_t : xcb_im_close_fr_free,\
881 xcb_im_close_reply_fr_t : xcb_im_close_reply_fr_free,\
882 xcb_im_register_triggerkeys_fr_t : xcb_im_register_triggerkeys_fr_free,\
883 xcb_im_trigger_notify_fr_t : xcb_im_trigger_notify_fr_free,\
884 xcb_im_trigger_notify_reply_fr_t : xcb_im_trigger_notify_reply_fr_free,\
885 xcb_im_set_event_mask_fr_t : xcb_im_set_event_mask_fr_free,\
886 xcb_im_encoding_negotiation_fr_t : xcb_im_encoding_negotiation_fr_free,\
887 xcb_im_encoding_negotiation_reply_fr_t : xcb_im_encoding_negotiation_reply_fr_free,\
888 xcb_im_query_extension_fr_t : xcb_im_query_extension_fr_free,\
889 xcb_im_query_extension_reply_fr_t : xcb_im_query_extension_reply_fr_free,\
890 xcb_im_get_im_values_fr_t : xcb_im_get_im_values_fr_free,\
891 xcb_im_get_im_values_reply_fr_t : xcb_im_get_im_values_reply_fr_free,\
892 xcb_im_create_ic_fr_t : xcb_im_create_ic_fr_free,\
893 xcb_im_create_ic_reply_fr_t : xcb_im_create_ic_reply_fr_free,\
894 xcb_im_destroy_ic_fr_t : xcb_im_destroy_ic_fr_free,\
895 xcb_im_destroy_ic_reply_fr_t : xcb_im_destroy_ic_reply_fr_free,\
896 xcb_im_set_ic_values_fr_t : xcb_im_set_ic_values_fr_free,\
897 xcb_im_set_ic_values_reply_fr_t : xcb_im_set_ic_values_reply_fr_free,\
898 xcb_im_get_ic_values_fr_t : xcb_im_get_ic_values_fr_free,\
899 xcb_im_get_ic_values_reply_fr_t : xcb_im_get_ic_values_reply_fr_free,\
900 xcb_im_set_ic_focus_fr_t : xcb_im_set_ic_focus_fr_free,\
901 xcb_im_unset_ic_focus_fr_t : xcb_im_unset_ic_focus_fr_free,\
902 xcb_im_forward_event_fr_t : xcb_im_forward_event_fr_free,\
903 xcb_im_sync_fr_t : xcb_im_sync_fr_free,\
904 xcb_im_sync_reply_fr_t : xcb_im_sync_reply_fr_free,\
905 xcb_im_commit_fr_t : xcb_im_commit_fr_free,\
906 xcb_im_commit_chars_fr_t : xcb_im_commit_chars_fr_free,\
907 xcb_im_commit_both_fr_t : xcb_im_commit_both_fr_free,\
908 xcb_im_reset_ic_fr_t : xcb_im_reset_ic_fr_free,\
909 xcb_im_reset_ic_reply_fr_t : xcb_im_reset_ic_reply_fr_free,\
910 xcb_im_geometry_fr_t : xcb_im_geometry_fr_free,\
911 xcb_im_str_conversion_fr_t : xcb_im_str_conversion_fr_free,\
912 xcb_im_str_conversion_reply_fr_t : xcb_im_str_conversion_reply_fr_free,\
913 xcb_im_preedit_start_fr_t : xcb_im_preedit_start_fr_free,\
914 xcb_im_preedit_start_reply_fr_t : xcb_im_preedit_start_reply_fr_free,\
915 xcb_im_preedit_draw_fr_t : xcb_im_preedit_draw_fr_free,\
916 xcb_im_preedit_caret_fr_t : xcb_im_preedit_caret_fr_free,\
917 xcb_im_preedit_caret_reply_fr_t : xcb_im_preedit_caret_reply_fr_free,\
918 xcb_im_preedit_done_fr_t : xcb_im_preedit_done_fr_free,\
919 xcb_im_status_start_fr_t : xcb_im_status_start_fr_free,\
920 xcb_im_status_draw_text_fr_t : xcb_im_status_draw_text_fr_free,\
921 xcb_im_status_draw_bitmap_fr_t : xcb_im_status_draw_bitmap_fr_free,\
922 xcb_im_status_done_fr_t : xcb_im_status_done_fr_free,\
923 xcb_im_ext_set_event_mask_fr_t : xcb_im_ext_set_event_mask_fr_free,\
924 xcb_im_ext_forward_keyevent_fr_t : xcb_im_ext_forward_keyevent_fr_free,\
925 xcb_im_ext_move_fr_t : xcb_im_ext_move_fr_free)
926
927#define frame_has_static_size(FRAME) _Generic((FRAME), \
928 xcb_im_ximattr_fr_t : false,\
929 xcb_im_xicattr_fr_t : false,\
930 xcb_im_ximattribute_fr_t : false,\
931 xcb_im_xicattribute_fr_t : false,\
932 xcb_im_ximtriggerkey_fr_t : true,\
933 xcb_im_encodinginfo_fr_t : false,\
934 xcb_im_str_fr_t : false,\
935 xcb_im_xpcs_fr_t : false,\
936 xcb_im_ext_fr_t : false,\
937 xcb_im_inputstyle_fr_t : true,\
938 xcb_im_attr_head_fr_t : true,\
939 xcb_im_short_fr_t : true,\
940 xcb_im_long_fr_t : true,\
941 xcb_im_xrectangle_fr_t : true,\
942 xcb_im_xpoint_fr_t : true,\
943 xcb_im_fontset_fr_t : false,\
944 xcb_im_input_styles_fr_t : false,\
945 xcb_im_packet_header_fr_t : true,\
946 xcb_im_error_fr_t : false,\
947 xcb_im_connect_fr_t : false,\
948 xcb_im_connect_reply_fr_t : true,\
949 xcb_im_auth_required_fr_t : false,\
950 xcb_im_auth_reply_fr_t : false,\
951 xcb_im_auth_next_fr_t : false,\
952 xcb_im_auth_setup_fr_t : false,\
953 xcb_im_auth_ng_fr_t : true,\
954 xcb_im_disconnect_fr_t : true,\
955 xcb_im_disconnect_reply_fr_t : true,\
956 xcb_im_open_fr_t : false,\
957 xcb_im_open_reply_fr_t : false,\
958 xcb_im_close_fr_t : true,\
959 xcb_im_close_reply_fr_t : true,\
960 xcb_im_register_triggerkeys_fr_t : false,\
961 xcb_im_trigger_notify_fr_t : true,\
962 xcb_im_trigger_notify_reply_fr_t : true,\
963 xcb_im_set_event_mask_fr_t : true,\
964 xcb_im_encoding_negotiation_fr_t : false,\
965 xcb_im_encoding_negotiation_reply_fr_t : true,\
966 xcb_im_query_extension_fr_t : false,\
967 xcb_im_query_extension_reply_fr_t : false,\
968 xcb_im_get_im_values_fr_t : false,\
969 xcb_im_get_im_values_reply_fr_t : false,\
970 xcb_im_create_ic_fr_t : false,\
971 xcb_im_create_ic_reply_fr_t : true,\
972 xcb_im_destroy_ic_fr_t : true,\
973 xcb_im_destroy_ic_reply_fr_t : true,\
974 xcb_im_set_ic_values_fr_t : false,\
975 xcb_im_set_ic_values_reply_fr_t : true,\
976 xcb_im_get_ic_values_fr_t : false,\
977 xcb_im_get_ic_values_reply_fr_t : false,\
978 xcb_im_set_ic_focus_fr_t : true,\
979 xcb_im_unset_ic_focus_fr_t : true,\
980 xcb_im_forward_event_fr_t : true,\
981 xcb_im_sync_fr_t : true,\
982 xcb_im_sync_reply_fr_t : true,\
983 xcb_im_commit_fr_t : false,\
984 xcb_im_commit_chars_fr_t : false,\
985 xcb_im_commit_both_fr_t : false,\
986 xcb_im_reset_ic_fr_t : true,\
987 xcb_im_reset_ic_reply_fr_t : false,\
988 xcb_im_geometry_fr_t : true,\
989 xcb_im_str_conversion_fr_t : false,\
990 xcb_im_str_conversion_reply_fr_t : false,\
991 xcb_im_preedit_start_fr_t : true,\
992 xcb_im_preedit_start_reply_fr_t : true,\
993 xcb_im_preedit_draw_fr_t : false,\
994 xcb_im_preedit_caret_fr_t : true,\
995 xcb_im_preedit_caret_reply_fr_t : true,\
996 xcb_im_preedit_done_fr_t : true,\
997 xcb_im_status_start_fr_t : true,\
998 xcb_im_status_draw_text_fr_t : false,\
999 xcb_im_status_draw_bitmap_fr_t : true,\
1000 xcb_im_status_done_fr_t : true,\
1001 xcb_im_ext_set_event_mask_fr_t : true,\
1002 xcb_im_ext_forward_keyevent_fr_t : true,\
1003 xcb_im_ext_move_fr_t : true)
1004
1005void xcb_im_ximattr_fr_read(xcb_im_ximattr_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1006uint8_t* xcb_im_ximattr_fr_write(xcb_im_ximattr_fr_t *frame, uint8_t *data, bool swap);
1007void xcb_im_ximattr_fr_free(xcb_im_ximattr_fr_t *frame);
1008size_t xcb_im_ximattr_fr_size(xcb_im_ximattr_fr_t *frame);
1009
1010void xcb_im_xicattr_fr_read(xcb_im_xicattr_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1011uint8_t* xcb_im_xicattr_fr_write(xcb_im_xicattr_fr_t *frame, uint8_t *data, bool swap);
1012void xcb_im_xicattr_fr_free(xcb_im_xicattr_fr_t *frame);
1013size_t xcb_im_xicattr_fr_size(xcb_im_xicattr_fr_t *frame);
1014
1015void xcb_im_ximattribute_fr_read(xcb_im_ximattribute_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1016uint8_t* xcb_im_ximattribute_fr_write(xcb_im_ximattribute_fr_t *frame, uint8_t *data, bool swap);
1017void xcb_im_ximattribute_fr_free(xcb_im_ximattribute_fr_t *frame);
1018size_t xcb_im_ximattribute_fr_size(xcb_im_ximattribute_fr_t *frame);
1019
1020void xcb_im_xicattribute_fr_read(xcb_im_xicattribute_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1021uint8_t* xcb_im_xicattribute_fr_write(xcb_im_xicattribute_fr_t *frame, uint8_t *data, bool swap);
1022void xcb_im_xicattribute_fr_free(xcb_im_xicattribute_fr_t *frame);
1023size_t xcb_im_xicattribute_fr_size(xcb_im_xicattribute_fr_t *frame);
1024
1025void xcb_im_ximtriggerkey_fr_read(xcb_im_ximtriggerkey_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1026uint8_t* xcb_im_ximtriggerkey_fr_write(xcb_im_ximtriggerkey_fr_t *frame, uint8_t *data, bool swap);
1027void xcb_im_ximtriggerkey_fr_free(xcb_im_ximtriggerkey_fr_t *frame);
1028#define xcb_im_ximtriggerkey_fr_size(ARG...) (((void)(ARG)), (12))
1029
1030void xcb_im_encodinginfo_fr_read(xcb_im_encodinginfo_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1031uint8_t* xcb_im_encodinginfo_fr_write(xcb_im_encodinginfo_fr_t *frame, uint8_t *data, bool swap);
1032void xcb_im_encodinginfo_fr_free(xcb_im_encodinginfo_fr_t *frame);
1033size_t xcb_im_encodinginfo_fr_size(xcb_im_encodinginfo_fr_t *frame);
1034
1035void xcb_im_str_fr_read(xcb_im_str_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1036uint8_t* xcb_im_str_fr_write(xcb_im_str_fr_t *frame, uint8_t *data, bool swap);
1037void xcb_im_str_fr_free(xcb_im_str_fr_t *frame);
1038size_t xcb_im_str_fr_size(xcb_im_str_fr_t *frame);
1039
1040void xcb_im_xpcs_fr_read(xcb_im_xpcs_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1041uint8_t* xcb_im_xpcs_fr_write(xcb_im_xpcs_fr_t *frame, uint8_t *data, bool swap);
1042void xcb_im_xpcs_fr_free(xcb_im_xpcs_fr_t *frame);
1043size_t xcb_im_xpcs_fr_size(xcb_im_xpcs_fr_t *frame);
1044
1045void xcb_im_ext_fr_read(xcb_im_ext_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1046uint8_t* xcb_im_ext_fr_write(xcb_im_ext_fr_t *frame, uint8_t *data, bool swap);
1047void xcb_im_ext_fr_free(xcb_im_ext_fr_t *frame);
1048size_t xcb_im_ext_fr_size(xcb_im_ext_fr_t *frame);
1049
1050void xcb_im_inputstyle_fr_read(xcb_im_inputstyle_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1051uint8_t* xcb_im_inputstyle_fr_write(xcb_im_inputstyle_fr_t *frame, uint8_t *data, bool swap);
1052void xcb_im_inputstyle_fr_free(xcb_im_inputstyle_fr_t *frame);
1053#define xcb_im_inputstyle_fr_size(ARG...) (((void)(ARG)), (4))
1054
1055void xcb_im_attr_head_fr_read(xcb_im_attr_head_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1056uint8_t* xcb_im_attr_head_fr_write(xcb_im_attr_head_fr_t *frame, uint8_t *data, bool swap);
1057void xcb_im_attr_head_fr_free(xcb_im_attr_head_fr_t *frame);
1058#define xcb_im_attr_head_fr_size(ARG...) (((void)(ARG)), (4))
1059
1060void xcb_im_short_fr_read(xcb_im_short_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1061uint8_t* xcb_im_short_fr_write(xcb_im_short_fr_t *frame, uint8_t *data, bool swap);
1062void xcb_im_short_fr_free(xcb_im_short_fr_t *frame);
1063#define xcb_im_short_fr_size(ARG...) (((void)(ARG)), (2))
1064
1065void xcb_im_long_fr_read(xcb_im_long_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1066uint8_t* xcb_im_long_fr_write(xcb_im_long_fr_t *frame, uint8_t *data, bool swap);
1067void xcb_im_long_fr_free(xcb_im_long_fr_t *frame);
1068#define xcb_im_long_fr_size(ARG...) (((void)(ARG)), (4))
1069
1070void xcb_im_xrectangle_fr_read(xcb_im_xrectangle_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1071uint8_t* xcb_im_xrectangle_fr_write(xcb_im_xrectangle_fr_t *frame, uint8_t *data, bool swap);
1072void xcb_im_xrectangle_fr_free(xcb_im_xrectangle_fr_t *frame);
1073#define xcb_im_xrectangle_fr_size(ARG...) (((void)(ARG)), (8))
1074
1075void xcb_im_xpoint_fr_read(xcb_im_xpoint_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1076uint8_t* xcb_im_xpoint_fr_write(xcb_im_xpoint_fr_t *frame, uint8_t *data, bool swap);
1077void xcb_im_xpoint_fr_free(xcb_im_xpoint_fr_t *frame);
1078#define xcb_im_xpoint_fr_size(ARG...) (((void)(ARG)), (4))
1079
1080void xcb_im_fontset_fr_read(xcb_im_fontset_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1081uint8_t* xcb_im_fontset_fr_write(xcb_im_fontset_fr_t *frame, uint8_t *data, bool swap);
1082void xcb_im_fontset_fr_free(xcb_im_fontset_fr_t *frame);
1083size_t xcb_im_fontset_fr_size(xcb_im_fontset_fr_t *frame);
1084
1085void xcb_im_input_styles_fr_read(xcb_im_input_styles_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1086uint8_t* xcb_im_input_styles_fr_write(xcb_im_input_styles_fr_t *frame, uint8_t *data, bool swap);
1087void xcb_im_input_styles_fr_free(xcb_im_input_styles_fr_t *frame);
1088size_t xcb_im_input_styles_fr_size(xcb_im_input_styles_fr_t *frame);
1089
1090void xcb_im_packet_header_fr_read(xcb_im_packet_header_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1091uint8_t* xcb_im_packet_header_fr_write(xcb_im_packet_header_fr_t *frame, uint8_t *data, bool swap);
1092void xcb_im_packet_header_fr_free(xcb_im_packet_header_fr_t *frame);
1093#define xcb_im_packet_header_fr_size(ARG...) (((void)(ARG)), (4))
1094
1095void xcb_im_error_fr_read(xcb_im_error_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1096uint8_t* xcb_im_error_fr_write(xcb_im_error_fr_t *frame, uint8_t *data, bool swap);
1097void xcb_im_error_fr_free(xcb_im_error_fr_t *frame);
1098size_t xcb_im_error_fr_size(xcb_im_error_fr_t *frame);
1099
1100void xcb_im_connect_fr_read(xcb_im_connect_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1101uint8_t* xcb_im_connect_fr_write(xcb_im_connect_fr_t *frame, uint8_t *data, bool swap);
1102void xcb_im_connect_fr_free(xcb_im_connect_fr_t *frame);
1103size_t xcb_im_connect_fr_size(xcb_im_connect_fr_t *frame);
1104
1105void xcb_im_connect_reply_fr_read(xcb_im_connect_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1106uint8_t* xcb_im_connect_reply_fr_write(xcb_im_connect_reply_fr_t *frame, uint8_t *data, bool swap);
1107void xcb_im_connect_reply_fr_free(xcb_im_connect_reply_fr_t *frame);
1108#define xcb_im_connect_reply_fr_size(ARG...) (((void)(ARG)), (4))
1109
1110void xcb_im_auth_required_fr_read(xcb_im_auth_required_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1111uint8_t* xcb_im_auth_required_fr_write(xcb_im_auth_required_fr_t *frame, uint8_t *data, bool swap);
1112void xcb_im_auth_required_fr_free(xcb_im_auth_required_fr_t *frame);
1113size_t xcb_im_auth_required_fr_size(xcb_im_auth_required_fr_t *frame);
1114
1115void xcb_im_auth_reply_fr_read(xcb_im_auth_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1116uint8_t* xcb_im_auth_reply_fr_write(xcb_im_auth_reply_fr_t *frame, uint8_t *data, bool swap);
1117void xcb_im_auth_reply_fr_free(xcb_im_auth_reply_fr_t *frame);
1118size_t xcb_im_auth_reply_fr_size(xcb_im_auth_reply_fr_t *frame);
1119
1120void xcb_im_auth_next_fr_read(xcb_im_auth_next_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1121uint8_t* xcb_im_auth_next_fr_write(xcb_im_auth_next_fr_t *frame, uint8_t *data, bool swap);
1122void xcb_im_auth_next_fr_free(xcb_im_auth_next_fr_t *frame);
1123size_t xcb_im_auth_next_fr_size(xcb_im_auth_next_fr_t *frame);
1124
1125void xcb_im_auth_setup_fr_read(xcb_im_auth_setup_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1126uint8_t* xcb_im_auth_setup_fr_write(xcb_im_auth_setup_fr_t *frame, uint8_t *data, bool swap);
1127void xcb_im_auth_setup_fr_free(xcb_im_auth_setup_fr_t *frame);
1128size_t xcb_im_auth_setup_fr_size(xcb_im_auth_setup_fr_t *frame);
1129
1130void xcb_im_auth_ng_fr_read(xcb_im_auth_ng_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1131uint8_t* xcb_im_auth_ng_fr_write(xcb_im_auth_ng_fr_t *frame, uint8_t *data, bool swap);
1132void xcb_im_auth_ng_fr_free(xcb_im_auth_ng_fr_t *frame);
1133#define xcb_im_auth_ng_fr_size(ARG...) (((void)(ARG)), (0))
1134
1135void xcb_im_disconnect_fr_read(xcb_im_disconnect_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1136uint8_t* xcb_im_disconnect_fr_write(xcb_im_disconnect_fr_t *frame, uint8_t *data, bool swap);
1137void xcb_im_disconnect_fr_free(xcb_im_disconnect_fr_t *frame);
1138#define xcb_im_disconnect_fr_size(ARG...) (((void)(ARG)), (0))
1139
1140void xcb_im_disconnect_reply_fr_read(xcb_im_disconnect_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1141uint8_t* xcb_im_disconnect_reply_fr_write(xcb_im_disconnect_reply_fr_t *frame, uint8_t *data, bool swap);
1142void xcb_im_disconnect_reply_fr_free(xcb_im_disconnect_reply_fr_t *frame);
1143#define xcb_im_disconnect_reply_fr_size(ARG...) (((void)(ARG)), (0))
1144
1145void xcb_im_open_fr_read(xcb_im_open_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1146uint8_t* xcb_im_open_fr_write(xcb_im_open_fr_t *frame, uint8_t *data, bool swap);
1147void xcb_im_open_fr_free(xcb_im_open_fr_t *frame);
1148size_t xcb_im_open_fr_size(xcb_im_open_fr_t *frame);
1149
1150void xcb_im_open_reply_fr_read(xcb_im_open_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1151uint8_t* xcb_im_open_reply_fr_write(xcb_im_open_reply_fr_t *frame, uint8_t *data, bool swap);
1152void xcb_im_open_reply_fr_free(xcb_im_open_reply_fr_t *frame);
1153size_t xcb_im_open_reply_fr_size(xcb_im_open_reply_fr_t *frame);
1154
1155void xcb_im_close_fr_read(xcb_im_close_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1156uint8_t* xcb_im_close_fr_write(xcb_im_close_fr_t *frame, uint8_t *data, bool swap);
1157void xcb_im_close_fr_free(xcb_im_close_fr_t *frame);
1158#define xcb_im_close_fr_size(ARG...) (((void)(ARG)), (4))
1159
1160void xcb_im_close_reply_fr_read(xcb_im_close_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1161uint8_t* xcb_im_close_reply_fr_write(xcb_im_close_reply_fr_t *frame, uint8_t *data, bool swap);
1162void xcb_im_close_reply_fr_free(xcb_im_close_reply_fr_t *frame);
1163#define xcb_im_close_reply_fr_size(ARG...) (((void)(ARG)), (4))
1164
1165void xcb_im_register_triggerkeys_fr_read(xcb_im_register_triggerkeys_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1166uint8_t* xcb_im_register_triggerkeys_fr_write(xcb_im_register_triggerkeys_fr_t *frame, uint8_t *data, bool swap);
1167void xcb_im_register_triggerkeys_fr_free(xcb_im_register_triggerkeys_fr_t *frame);
1168size_t xcb_im_register_triggerkeys_fr_size(xcb_im_register_triggerkeys_fr_t *frame);
1169
1170void xcb_im_trigger_notify_fr_read(xcb_im_trigger_notify_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1171uint8_t* xcb_im_trigger_notify_fr_write(xcb_im_trigger_notify_fr_t *frame, uint8_t *data, bool swap);
1172void xcb_im_trigger_notify_fr_free(xcb_im_trigger_notify_fr_t *frame);
1173#define xcb_im_trigger_notify_fr_size(ARG...) (((void)(ARG)), (16))
1174
1175void xcb_im_trigger_notify_reply_fr_read(xcb_im_trigger_notify_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1176uint8_t* xcb_im_trigger_notify_reply_fr_write(xcb_im_trigger_notify_reply_fr_t *frame, uint8_t *data, bool swap);
1177void xcb_im_trigger_notify_reply_fr_free(xcb_im_trigger_notify_reply_fr_t *frame);
1178#define xcb_im_trigger_notify_reply_fr_size(ARG...) (((void)(ARG)), (4))
1179
1180void xcb_im_set_event_mask_fr_read(xcb_im_set_event_mask_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1181uint8_t* xcb_im_set_event_mask_fr_write(xcb_im_set_event_mask_fr_t *frame, uint8_t *data, bool swap);
1182void xcb_im_set_event_mask_fr_free(xcb_im_set_event_mask_fr_t *frame);
1183#define xcb_im_set_event_mask_fr_size(ARG...) (((void)(ARG)), (12))
1184
1185void xcb_im_encoding_negotiation_fr_read(xcb_im_encoding_negotiation_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1186uint8_t* xcb_im_encoding_negotiation_fr_write(xcb_im_encoding_negotiation_fr_t *frame, uint8_t *data, bool swap);
1187void xcb_im_encoding_negotiation_fr_free(xcb_im_encoding_negotiation_fr_t *frame);
1188size_t xcb_im_encoding_negotiation_fr_size(xcb_im_encoding_negotiation_fr_t *frame);
1189
1190void xcb_im_encoding_negotiation_reply_fr_read(xcb_im_encoding_negotiation_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1191uint8_t* xcb_im_encoding_negotiation_reply_fr_write(xcb_im_encoding_negotiation_reply_fr_t *frame, uint8_t *data, bool swap);
1192void xcb_im_encoding_negotiation_reply_fr_free(xcb_im_encoding_negotiation_reply_fr_t *frame);
1193#define xcb_im_encoding_negotiation_reply_fr_size(ARG...) (((void)(ARG)), (8))
1194
1195void xcb_im_query_extension_fr_read(xcb_im_query_extension_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1196uint8_t* xcb_im_query_extension_fr_write(xcb_im_query_extension_fr_t *frame, uint8_t *data, bool swap);
1197void xcb_im_query_extension_fr_free(xcb_im_query_extension_fr_t *frame);
1198size_t xcb_im_query_extension_fr_size(xcb_im_query_extension_fr_t *frame);
1199
1200void xcb_im_query_extension_reply_fr_read(xcb_im_query_extension_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1201uint8_t* xcb_im_query_extension_reply_fr_write(xcb_im_query_extension_reply_fr_t *frame, uint8_t *data, bool swap);
1202void xcb_im_query_extension_reply_fr_free(xcb_im_query_extension_reply_fr_t *frame);
1203size_t xcb_im_query_extension_reply_fr_size(xcb_im_query_extension_reply_fr_t *frame);
1204
1205void xcb_im_get_im_values_fr_read(xcb_im_get_im_values_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1206uint8_t* xcb_im_get_im_values_fr_write(xcb_im_get_im_values_fr_t *frame, uint8_t *data, bool swap);
1207void xcb_im_get_im_values_fr_free(xcb_im_get_im_values_fr_t *frame);
1208size_t xcb_im_get_im_values_fr_size(xcb_im_get_im_values_fr_t *frame);
1209
1210void xcb_im_get_im_values_reply_fr_read(xcb_im_get_im_values_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1211uint8_t* xcb_im_get_im_values_reply_fr_write(xcb_im_get_im_values_reply_fr_t *frame, uint8_t *data, bool swap);
1212void xcb_im_get_im_values_reply_fr_free(xcb_im_get_im_values_reply_fr_t *frame);
1213size_t xcb_im_get_im_values_reply_fr_size(xcb_im_get_im_values_reply_fr_t *frame);
1214
1215void xcb_im_create_ic_fr_read(xcb_im_create_ic_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1216uint8_t* xcb_im_create_ic_fr_write(xcb_im_create_ic_fr_t *frame, uint8_t *data, bool swap);
1217void xcb_im_create_ic_fr_free(xcb_im_create_ic_fr_t *frame);
1218size_t xcb_im_create_ic_fr_size(xcb_im_create_ic_fr_t *frame);
1219
1220void xcb_im_create_ic_reply_fr_read(xcb_im_create_ic_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1221uint8_t* xcb_im_create_ic_reply_fr_write(xcb_im_create_ic_reply_fr_t *frame, uint8_t *data, bool swap);
1222void xcb_im_create_ic_reply_fr_free(xcb_im_create_ic_reply_fr_t *frame);
1223#define xcb_im_create_ic_reply_fr_size(ARG...) (((void)(ARG)), (4))
1224
1225void xcb_im_destroy_ic_fr_read(xcb_im_destroy_ic_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1226uint8_t* xcb_im_destroy_ic_fr_write(xcb_im_destroy_ic_fr_t *frame, uint8_t *data, bool swap);
1227void xcb_im_destroy_ic_fr_free(xcb_im_destroy_ic_fr_t *frame);
1228#define xcb_im_destroy_ic_fr_size(ARG...) (((void)(ARG)), (4))
1229
1230void xcb_im_destroy_ic_reply_fr_read(xcb_im_destroy_ic_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1231uint8_t* xcb_im_destroy_ic_reply_fr_write(xcb_im_destroy_ic_reply_fr_t *frame, uint8_t *data, bool swap);
1232void xcb_im_destroy_ic_reply_fr_free(xcb_im_destroy_ic_reply_fr_t *frame);
1233#define xcb_im_destroy_ic_reply_fr_size(ARG...) (((void)(ARG)), (4))
1234
1235void xcb_im_set_ic_values_fr_read(xcb_im_set_ic_values_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1236uint8_t* xcb_im_set_ic_values_fr_write(xcb_im_set_ic_values_fr_t *frame, uint8_t *data, bool swap);
1237void xcb_im_set_ic_values_fr_free(xcb_im_set_ic_values_fr_t *frame);
1238size_t xcb_im_set_ic_values_fr_size(xcb_im_set_ic_values_fr_t *frame);
1239
1240void xcb_im_set_ic_values_reply_fr_read(xcb_im_set_ic_values_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1241uint8_t* xcb_im_set_ic_values_reply_fr_write(xcb_im_set_ic_values_reply_fr_t *frame, uint8_t *data, bool swap);
1242void xcb_im_set_ic_values_reply_fr_free(xcb_im_set_ic_values_reply_fr_t *frame);
1243#define xcb_im_set_ic_values_reply_fr_size(ARG...) (((void)(ARG)), (4))
1244
1245void xcb_im_get_ic_values_fr_read(xcb_im_get_ic_values_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1246uint8_t* xcb_im_get_ic_values_fr_write(xcb_im_get_ic_values_fr_t *frame, uint8_t *data, bool swap);
1247void xcb_im_get_ic_values_fr_free(xcb_im_get_ic_values_fr_t *frame);
1248size_t xcb_im_get_ic_values_fr_size(xcb_im_get_ic_values_fr_t *frame);
1249
1250void xcb_im_get_ic_values_reply_fr_read(xcb_im_get_ic_values_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1251uint8_t* xcb_im_get_ic_values_reply_fr_write(xcb_im_get_ic_values_reply_fr_t *frame, uint8_t *data, bool swap);
1252void xcb_im_get_ic_values_reply_fr_free(xcb_im_get_ic_values_reply_fr_t *frame);
1253size_t xcb_im_get_ic_values_reply_fr_size(xcb_im_get_ic_values_reply_fr_t *frame);
1254
1255void xcb_im_set_ic_focus_fr_read(xcb_im_set_ic_focus_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1256uint8_t* xcb_im_set_ic_focus_fr_write(xcb_im_set_ic_focus_fr_t *frame, uint8_t *data, bool swap);
1257void xcb_im_set_ic_focus_fr_free(xcb_im_set_ic_focus_fr_t *frame);
1258#define xcb_im_set_ic_focus_fr_size(ARG...) (((void)(ARG)), (4))
1259
1260void xcb_im_unset_ic_focus_fr_read(xcb_im_unset_ic_focus_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1261uint8_t* xcb_im_unset_ic_focus_fr_write(xcb_im_unset_ic_focus_fr_t *frame, uint8_t *data, bool swap);
1262void xcb_im_unset_ic_focus_fr_free(xcb_im_unset_ic_focus_fr_t *frame);
1263#define xcb_im_unset_ic_focus_fr_size(ARG...) (((void)(ARG)), (4))
1264
1265void xcb_im_forward_event_fr_read(xcb_im_forward_event_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1266uint8_t* xcb_im_forward_event_fr_write(xcb_im_forward_event_fr_t *frame, uint8_t *data, bool swap);
1267void xcb_im_forward_event_fr_free(xcb_im_forward_event_fr_t *frame);
1268#define xcb_im_forward_event_fr_size(ARG...) (((void)(ARG)), (8))
1269
1270void xcb_im_sync_fr_read(xcb_im_sync_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1271uint8_t* xcb_im_sync_fr_write(xcb_im_sync_fr_t *frame, uint8_t *data, bool swap);
1272void xcb_im_sync_fr_free(xcb_im_sync_fr_t *frame);
1273#define xcb_im_sync_fr_size(ARG...) (((void)(ARG)), (4))
1274
1275void xcb_im_sync_reply_fr_read(xcb_im_sync_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1276uint8_t* xcb_im_sync_reply_fr_write(xcb_im_sync_reply_fr_t *frame, uint8_t *data, bool swap);
1277void xcb_im_sync_reply_fr_free(xcb_im_sync_reply_fr_t *frame);
1278#define xcb_im_sync_reply_fr_size(ARG...) (((void)(ARG)), (4))
1279
1280void xcb_im_commit_fr_read(xcb_im_commit_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1281uint8_t* xcb_im_commit_fr_write(xcb_im_commit_fr_t *frame, uint8_t *data, bool swap);
1282void xcb_im_commit_fr_free(xcb_im_commit_fr_t *frame);
1283size_t xcb_im_commit_fr_size(xcb_im_commit_fr_t *frame);
1284
1285void xcb_im_commit_chars_fr_read(xcb_im_commit_chars_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1286uint8_t* xcb_im_commit_chars_fr_write(xcb_im_commit_chars_fr_t *frame, uint8_t *data, bool swap);
1287void xcb_im_commit_chars_fr_free(xcb_im_commit_chars_fr_t *frame);
1288size_t xcb_im_commit_chars_fr_size(xcb_im_commit_chars_fr_t *frame);
1289
1290void xcb_im_commit_both_fr_read(xcb_im_commit_both_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1291uint8_t* xcb_im_commit_both_fr_write(xcb_im_commit_both_fr_t *frame, uint8_t *data, bool swap);
1292void xcb_im_commit_both_fr_free(xcb_im_commit_both_fr_t *frame);
1293size_t xcb_im_commit_both_fr_size(xcb_im_commit_both_fr_t *frame);
1294
1295void xcb_im_reset_ic_fr_read(xcb_im_reset_ic_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1296uint8_t* xcb_im_reset_ic_fr_write(xcb_im_reset_ic_fr_t *frame, uint8_t *data, bool swap);
1297void xcb_im_reset_ic_fr_free(xcb_im_reset_ic_fr_t *frame);
1298#define xcb_im_reset_ic_fr_size(ARG...) (((void)(ARG)), (4))
1299
1300void xcb_im_reset_ic_reply_fr_read(xcb_im_reset_ic_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1301uint8_t* xcb_im_reset_ic_reply_fr_write(xcb_im_reset_ic_reply_fr_t *frame, uint8_t *data, bool swap);
1302void xcb_im_reset_ic_reply_fr_free(xcb_im_reset_ic_reply_fr_t *frame);
1303size_t xcb_im_reset_ic_reply_fr_size(xcb_im_reset_ic_reply_fr_t *frame);
1304
1305void xcb_im_geometry_fr_read(xcb_im_geometry_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1306uint8_t* xcb_im_geometry_fr_write(xcb_im_geometry_fr_t *frame, uint8_t *data, bool swap);
1307void xcb_im_geometry_fr_free(xcb_im_geometry_fr_t *frame);
1308#define xcb_im_geometry_fr_size(ARG...) (((void)(ARG)), (4))
1309
1310void xcb_im_str_conversion_fr_read(xcb_im_str_conversion_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1311uint8_t* xcb_im_str_conversion_fr_write(xcb_im_str_conversion_fr_t *frame, uint8_t *data, bool swap);
1312void xcb_im_str_conversion_fr_free(xcb_im_str_conversion_fr_t *frame);
1313size_t xcb_im_str_conversion_fr_size(xcb_im_str_conversion_fr_t *frame);
1314
1315void xcb_im_str_conversion_reply_fr_read(xcb_im_str_conversion_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1316uint8_t* xcb_im_str_conversion_reply_fr_write(xcb_im_str_conversion_reply_fr_t *frame, uint8_t *data, bool swap);
1317void xcb_im_str_conversion_reply_fr_free(xcb_im_str_conversion_reply_fr_t *frame);
1318size_t xcb_im_str_conversion_reply_fr_size(xcb_im_str_conversion_reply_fr_t *frame);
1319
1320void xcb_im_preedit_start_fr_read(xcb_im_preedit_start_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1321uint8_t* xcb_im_preedit_start_fr_write(xcb_im_preedit_start_fr_t *frame, uint8_t *data, bool swap);
1322void xcb_im_preedit_start_fr_free(xcb_im_preedit_start_fr_t *frame);
1323#define xcb_im_preedit_start_fr_size(ARG...) (((void)(ARG)), (4))
1324
1325void xcb_im_preedit_start_reply_fr_read(xcb_im_preedit_start_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1326uint8_t* xcb_im_preedit_start_reply_fr_write(xcb_im_preedit_start_reply_fr_t *frame, uint8_t *data, bool swap);
1327void xcb_im_preedit_start_reply_fr_free(xcb_im_preedit_start_reply_fr_t *frame);
1328#define xcb_im_preedit_start_reply_fr_size(ARG...) (((void)(ARG)), (8))
1329
1330void xcb_im_preedit_draw_fr_read(xcb_im_preedit_draw_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1331uint8_t* xcb_im_preedit_draw_fr_write(xcb_im_preedit_draw_fr_t *frame, uint8_t *data, bool swap);
1332void xcb_im_preedit_draw_fr_free(xcb_im_preedit_draw_fr_t *frame);
1333size_t xcb_im_preedit_draw_fr_size(xcb_im_preedit_draw_fr_t *frame);
1334
1335void xcb_im_preedit_caret_fr_read(xcb_im_preedit_caret_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1336uint8_t* xcb_im_preedit_caret_fr_write(xcb_im_preedit_caret_fr_t *frame, uint8_t *data, bool swap);
1337void xcb_im_preedit_caret_fr_free(xcb_im_preedit_caret_fr_t *frame);
1338#define xcb_im_preedit_caret_fr_size(ARG...) (((void)(ARG)), (16))
1339
1340void xcb_im_preedit_caret_reply_fr_read(xcb_im_preedit_caret_reply_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1341uint8_t* xcb_im_preedit_caret_reply_fr_write(xcb_im_preedit_caret_reply_fr_t *frame, uint8_t *data, bool swap);
1342void xcb_im_preedit_caret_reply_fr_free(xcb_im_preedit_caret_reply_fr_t *frame);
1343#define xcb_im_preedit_caret_reply_fr_size(ARG...) (((void)(ARG)), (8))
1344
1345void xcb_im_preedit_done_fr_read(xcb_im_preedit_done_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1346uint8_t* xcb_im_preedit_done_fr_write(xcb_im_preedit_done_fr_t *frame, uint8_t *data, bool swap);
1347void xcb_im_preedit_done_fr_free(xcb_im_preedit_done_fr_t *frame);
1348#define xcb_im_preedit_done_fr_size(ARG...) (((void)(ARG)), (4))
1349
1350void xcb_im_status_start_fr_read(xcb_im_status_start_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1351uint8_t* xcb_im_status_start_fr_write(xcb_im_status_start_fr_t *frame, uint8_t *data, bool swap);
1352void xcb_im_status_start_fr_free(xcb_im_status_start_fr_t *frame);
1353#define xcb_im_status_start_fr_size(ARG...) (((void)(ARG)), (4))
1354
1355void xcb_im_status_draw_text_fr_read(xcb_im_status_draw_text_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1356uint8_t* xcb_im_status_draw_text_fr_write(xcb_im_status_draw_text_fr_t *frame, uint8_t *data, bool swap);
1357void xcb_im_status_draw_text_fr_free(xcb_im_status_draw_text_fr_t *frame);
1358size_t xcb_im_status_draw_text_fr_size(xcb_im_status_draw_text_fr_t *frame);
1359
1360void xcb_im_status_draw_bitmap_fr_read(xcb_im_status_draw_bitmap_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1361uint8_t* xcb_im_status_draw_bitmap_fr_write(xcb_im_status_draw_bitmap_fr_t *frame, uint8_t *data, bool swap);
1362void xcb_im_status_draw_bitmap_fr_free(xcb_im_status_draw_bitmap_fr_t *frame);
1363#define xcb_im_status_draw_bitmap_fr_size(ARG...) (((void)(ARG)), (12))
1364
1365void xcb_im_status_done_fr_read(xcb_im_status_done_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1366uint8_t* xcb_im_status_done_fr_write(xcb_im_status_done_fr_t *frame, uint8_t *data, bool swap);
1367void xcb_im_status_done_fr_free(xcb_im_status_done_fr_t *frame);
1368#define xcb_im_status_done_fr_size(ARG...) (((void)(ARG)), (4))
1369
1370void xcb_im_ext_set_event_mask_fr_read(xcb_im_ext_set_event_mask_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1371uint8_t* xcb_im_ext_set_event_mask_fr_write(xcb_im_ext_set_event_mask_fr_t *frame, uint8_t *data, bool swap);
1372void xcb_im_ext_set_event_mask_fr_free(xcb_im_ext_set_event_mask_fr_t *frame);
1373#define xcb_im_ext_set_event_mask_fr_size(ARG...) (((void)(ARG)), (24))
1374
1375void xcb_im_ext_forward_keyevent_fr_read(xcb_im_ext_forward_keyevent_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1376uint8_t* xcb_im_ext_forward_keyevent_fr_write(xcb_im_ext_forward_keyevent_fr_t *frame, uint8_t *data, bool swap);
1377void xcb_im_ext_forward_keyevent_fr_free(xcb_im_ext_forward_keyevent_fr_t *frame);
1378#define xcb_im_ext_forward_keyevent_fr_size(ARG...) (((void)(ARG)), (20))
1379
1380void xcb_im_ext_move_fr_read(xcb_im_ext_move_fr_t *frame, uint8_t **data, size_t *len, bool swap);
1381uint8_t* xcb_im_ext_move_fr_write(xcb_im_ext_move_fr_t *frame, uint8_t *data, bool swap);
1382void xcb_im_ext_move_fr_free(xcb_im_ext_move_fr_t *frame);
1383#define xcb_im_ext_move_fr_size(ARG...) (((void)(ARG)), (8))
1384
1385XCBIMDKIT_DECL_END
1386
1387#endif
1388
1389// IWYU pragma: private, include "ximproto.h"