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