xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/ge.c (revision 272c99c1b747d265ba5bfb9be7d64a86ee12cc20)
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