diff options
Diffstat (limited to 'depends/libxcb/src/bigreq.c')
-rw-r--r-- | depends/libxcb/src/bigreq.c | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/depends/libxcb/src/bigreq.c b/depends/libxcb/src/bigreq.c new file mode 100644 index 0000000..46f66ca --- /dev/null +++ b/depends/libxcb/src/bigreq.c @@ -0,0 +1,75 @@ +/* + * This file generated automatically from bigreq.xml by c_client.py. + * Edit at your peril. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include <stdlib.h> +#include <string.h> +#include <assert.h> +#include <stddef.h> /* for offsetof() */ +#include "xcbext.h" +#include "bigreq.h" + +#define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member) + +xcb_extension_t xcb_big_requests_id = { "BIG-REQUESTS", 0 }; + +xcb_big_requests_enable_cookie_t +xcb_big_requests_enable (xcb_connection_t *c) +{ + static const xcb_protocol_request_t xcb_req = { + .count = 2, + .ext = &xcb_big_requests_id, + .opcode = XCB_BIG_REQUESTS_ENABLE, + .isvoid = 0 + }; + + struct iovec xcb_parts[4]; + xcb_big_requests_enable_cookie_t xcb_ret; + xcb_big_requests_enable_request_t xcb_out; + + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + + xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + +xcb_big_requests_enable_cookie_t +xcb_big_requests_enable_unchecked (xcb_connection_t *c) +{ + static const xcb_protocol_request_t xcb_req = { + .count = 2, + .ext = &xcb_big_requests_id, + .opcode = XCB_BIG_REQUESTS_ENABLE, + .isvoid = 0 + }; + + struct iovec xcb_parts[4]; + xcb_big_requests_enable_cookie_t xcb_ret; + xcb_big_requests_enable_request_t xcb_out; + + + xcb_parts[2].iov_base = (char *) &xcb_out; + xcb_parts[2].iov_len = sizeof(xcb_out); + xcb_parts[3].iov_base = 0; + xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; + + xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); + return xcb_ret; +} + +xcb_big_requests_enable_reply_t * +xcb_big_requests_enable_reply (xcb_connection_t *c, + xcb_big_requests_enable_cookie_t cookie /**< */, + xcb_generic_error_t **e) +{ + return (xcb_big_requests_enable_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); +} + |