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
18xcb_extension_t xcb_genericevent_id = { "Generic Event Extension", 0 };
19
20xcb_genericevent_query_version_cookie_t
21xcb_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
48xcb_genericevent_query_version_cookie_t
49xcb_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
76xcb_genericevent_query_version_reply_t *
77xcb_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