1 /*
2 * This file generated automatically from ge.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6 #ifdef HAVE_CONFIG_H
7 #include "config.h"
8 #endif
9 #include <stdlib.h>
10 #include <string.h>
11 #include <assert.h>
12 #include <stddef.h> /* for offsetof() */
13 #include "xcbext.h"
14 #include "ge.h"
15
16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
17
18 xcb_extension_t xcb_genericevent_id = { "Generic Event Extension", 0 };
19
20 xcb_genericevent_query_version_cookie_t
xcb_genericevent_query_version(xcb_connection_t * c,uint16_t client_major_version,uint16_t client_minor_version)21 xcb_genericevent_query_version (xcb_connection_t *c,
22 uint16_t client_major_version,
23 uint16_t client_minor_version)
24 {
25 static const xcb_protocol_request_t xcb_req = {
26 .count = 2,
27 .ext = &xcb_genericevent_id,
28 .opcode = XCB_GENERICEVENT_QUERY_VERSION,
29 .isvoid = 0
30 };
31
32 struct iovec xcb_parts[4];
33 xcb_genericevent_query_version_cookie_t xcb_ret;
34 xcb_genericevent_query_version_request_t xcb_out;
35
36 xcb_out.client_major_version = client_major_version;
37 xcb_out.client_minor_version = client_minor_version;
38
39 xcb_parts[2].iov_base = (char *) &xcb_out;
40 xcb_parts[2].iov_len = sizeof(xcb_out);
41 xcb_parts[3].iov_base = 0;
42 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
43
44 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
45 return xcb_ret;
46 }
47
48 xcb_genericevent_query_version_cookie_t
xcb_genericevent_query_version_unchecked(xcb_connection_t * c,uint16_t client_major_version,uint16_t client_minor_version)49 xcb_genericevent_query_version_unchecked (xcb_connection_t *c,
50 uint16_t client_major_version,
51 uint16_t client_minor_version)
52 {
53 static const xcb_protocol_request_t xcb_req = {
54 .count = 2,
55 .ext = &xcb_genericevent_id,
56 .opcode = XCB_GENERICEVENT_QUERY_VERSION,
57 .isvoid = 0
58 };
59
60 struct iovec xcb_parts[4];
61 xcb_genericevent_query_version_cookie_t xcb_ret;
62 xcb_genericevent_query_version_request_t xcb_out;
63
64 xcb_out.client_major_version = client_major_version;
65 xcb_out.client_minor_version = client_minor_version;
66
67 xcb_parts[2].iov_base = (char *) &xcb_out;
68 xcb_parts[2].iov_len = sizeof(xcb_out);
69 xcb_parts[3].iov_base = 0;
70 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
71
72 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
73 return xcb_ret;
74 }
75
76 xcb_genericevent_query_version_reply_t *
xcb_genericevent_query_version_reply(xcb_connection_t * c,xcb_genericevent_query_version_cookie_t cookie,xcb_generic_error_t ** e)77 xcb_genericevent_query_version_reply (xcb_connection_t *c,
78 xcb_genericevent_query_version_cookie_t cookie /**< */,
79 xcb_generic_error_t **e)
80 {
81 return (xcb_genericevent_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
82 }
83
84