Module Name: src Committed By: mrg Date: Tue Jul 12 02:44:09 UTC 2022
Modified Files: src/external/mit/xorg/lib/libxcb/files: config.h damage.h dri3.c dri3.h glx.c randr.h record.h render.h screensaver.c screensaver.h shm.h xfixes.c xfixes.h xinput.c xinput.h xproto.h xv.h Removed Files: src/external/mit/xorg/lib/libxcb/files: xf86vidmode.c xf86vidmode.h Log Message: updates for generated files. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/external/mit/xorg/lib/libxcb/files/config.h \ src/external/mit/xorg/lib/libxcb/files/damage.h \ src/external/mit/xorg/lib/libxcb/files/glx.c \ src/external/mit/xorg/lib/libxcb/files/render.h \ src/external/mit/xorg/lib/libxcb/files/screensaver.c \ src/external/mit/xorg/lib/libxcb/files/screensaver.h \ src/external/mit/xorg/lib/libxcb/files/shm.h \ src/external/mit/xorg/lib/libxcb/files/xfixes.c \ src/external/mit/xorg/lib/libxcb/files/xfixes.h \ src/external/mit/xorg/lib/libxcb/files/xproto.h \ src/external/mit/xorg/lib/libxcb/files/xv.h cvs rdiff -u -r1.4 -r1.5 src/external/mit/xorg/lib/libxcb/files/dri3.c \ src/external/mit/xorg/lib/libxcb/files/dri3.h \ src/external/mit/xorg/lib/libxcb/files/record.h cvs rdiff -u -r1.6 -r1.7 src/external/mit/xorg/lib/libxcb/files/randr.h \ src/external/mit/xorg/lib/libxcb/files/xinput.c \ src/external/mit/xorg/lib/libxcb/files/xinput.h cvs rdiff -u -r1.1 -r0 src/external/mit/xorg/lib/libxcb/files/xf86vidmode.c \ src/external/mit/xorg/lib/libxcb/files/xf86vidmode.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/mit/xorg/lib/libxcb/files/config.h diff -u src/external/mit/xorg/lib/libxcb/files/config.h:1.5 src/external/mit/xorg/lib/libxcb/files/config.h:1.6 --- src/external/mit/xorg/lib/libxcb/files/config.h:1.5 Wed Mar 14 06:47:28 2018 +++ src/external/mit/xorg/lib/libxcb/files/config.h Tue Jul 12 02:44:09 2022 @@ -28,8 +28,8 @@ /* Define to 1 if you have the `ws2_32' library (-lws2_32). */ /* #undef HAVE_LIBWS2_32 */ -/* Define to 1 if you have the <memory.h> header file. */ -#define HAVE_MEMORY_H 1 +/* Define to 1 if you have the <minix/config.h> header file. */ +/* #undef HAVE_MINIX_CONFIG_H */ /* Define if your platform supports sendmsg */ #define HAVE_SENDMSG 1 @@ -40,6 +40,9 @@ /* Define to 1 if you have the <stdint.h> header file. */ #define HAVE_STDINT_H 1 +/* Define to 1 if you have the <stdio.h> header file. */ +#define HAVE_STDIO_H 1 + /* Define to 1 if you have the <stdlib.h> header file. */ #define HAVE_STDLIB_H 1 @@ -61,6 +64,9 @@ /* Define to 1 if you have the <unistd.h> header file. */ #define HAVE_UNISTD_H 1 +/* Define to 1 if you have the <wchar.h> header file. */ +#define HAVE_WCHAR_H 1 + /* Define if not provided by <limits.h> */ /* #undef IOV_MAX */ @@ -71,13 +77,13 @@ #define PACKAGE "libxcb" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "https://bugs.freedesktop.org/enter_bug.cgi?product=xcb" +#define PACKAGE_BUGREPORT "https://gitlab.freedesktop.org/xorg/lib/libxcb/issues" /* Define to the full name of this package. */ #define PACKAGE_NAME "libxcb" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libxcb 1.13" +#define PACKAGE_STRING "libxcb 1.15" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "libxcb" @@ -86,18 +92,20 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.13" +#define PACKAGE_VERSION "1.15" /* Major version of this package */ #define PACKAGE_VERSION_MAJOR 1 /* Minor version of this package */ -#define PACKAGE_VERSION_MINOR 13 +#define PACKAGE_VERSION_MINOR 15 /* Patch version of this package */ #define PACKAGE_VERSION_PATCHLEVEL 0 -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #define STDC_HEADERS 1 /* poll() function is available */ @@ -107,39 +115,95 @@ #ifndef _ALL_SOURCE # define _ALL_SOURCE 1 #endif +/* Enable general extensions on macOS. */ +#ifndef _DARWIN_C_SOURCE +# define _DARWIN_C_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # define _GNU_SOURCE 1 #endif -/* Enable threading extensions on Solaris. */ +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# define _HPUX_ALT_XOPEN_SOCKET_API 1 +#endif +/* Identify the host operating system as Minix. + This macro does not affect the system headers' behavior. + A future release of Autoconf may stop defining this macro. */ +#ifndef _MINIX +/* # undef _MINIX */ +#endif +/* Enable general extensions on NetBSD. + Enable NetBSD compatibility extensions on Minix. */ +#ifndef _NETBSD_SOURCE +# define _NETBSD_SOURCE 1 +#endif +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ +#ifndef _OPENBSD_SOURCE +# define _OPENBSD_SOURCE 1 +#endif +/* Define to 1 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_SOURCE +/* # undef _POSIX_SOURCE */ +#endif +/* Define to 2 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_1_SOURCE +/* # undef _POSIX_1_SOURCE */ +#endif +/* Enable POSIX-compatible threading on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # define _POSIX_PTHREAD_SEMANTICS 1 #endif +/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ +#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ +# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ +#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ +# define __STDC_WANT_IEC_60559_BFP_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ +#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ +# define __STDC_WANT_IEC_60559_DFP_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ +#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ +# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ +#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ +# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1 +#endif +/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ +#ifndef __STDC_WANT_LIB_EXT2__ +# define __STDC_WANT_LIB_EXT2__ 1 +#endif +/* Enable extensions specified by ISO/IEC 24747:2009. */ +#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ +# define __STDC_WANT_MATH_SPEC_FUNCS__ 1 +#endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # define _TANDEM_SOURCE 1 #endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# define __EXTENSIONS__ 1 +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ +#ifndef _XOPEN_SOURCE +/* # undef _XOPEN_SOURCE */ #endif /* Version number of package */ -#define VERSION "1.13" +#define VERSION "1.15" /* XCB buffer queue size */ #define XCB_QUEUE_BUFFER_SIZE 16384 -/* Define to 1 if on MINIX. */ -/* #undef _MINIX */ - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -/* #undef _POSIX_1_SOURCE */ - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -/* #undef _POSIX_SOURCE */ - /* Defined if needed to expose struct msghdr.msg_control */ /* #undef _XOPEN_SOURCE */ Index: src/external/mit/xorg/lib/libxcb/files/damage.h diff -u src/external/mit/xorg/lib/libxcb/files/damage.h:1.5 src/external/mit/xorg/lib/libxcb/files/damage.h:1.6 --- src/external/mit/xorg/lib/libxcb/files/damage.h:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/damage.h Tue Jul 12 02:44:09 2022 @@ -53,6 +53,9 @@ typedef struct xcb_damage_bad_damage_err uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_damage_bad_damage_error_t; /** Index: src/external/mit/xorg/lib/libxcb/files/glx.c diff -u src/external/mit/xorg/lib/libxcb/files/glx.c:1.5 src/external/mit/xorg/lib/libxcb/files/glx.c:1.6 --- src/external/mit/xorg/lib/libxcb/files/glx.c:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/glx.c Tue Jul 12 02:44:09 2022 @@ -3025,6 +3025,15 @@ xcb_glx_set_client_info_arb_sizeof (cons xcb_block_len += _aux->gl_str_len * sizeof(char); xcb_tmp += xcb_block_len; xcb_align_to = ALIGNOF(char); + xcb_align_to = 4; + /* insert padding */ + xcb_pad = -xcb_block_len & (xcb_align_to - 1); + xcb_buffer_len += xcb_block_len + xcb_pad; + if (0 != xcb_pad) { + xcb_tmp += xcb_pad; + xcb_pad = 0; + } + xcb_block_len = 0; /* insert padding */ xcb_pad = -xcb_block_len & (xcb_align_to - 1); xcb_buffer_len += xcb_block_len + xcb_pad; @@ -3203,7 +3212,7 @@ char * xcb_glx_set_client_info_arb_glx_extension_string (const xcb_glx_set_client_info_arb_request_t *R) { xcb_generic_iterator_t prev = xcb_glx_set_client_info_arb_gl_extension_string_end(R); - return (char *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0); + return (char *) ((char *) prev.data + ((-prev.index) & (4 - 1)) + 0); } int @@ -3217,7 +3226,7 @@ xcb_glx_set_client_info_arb_glx_extensio { xcb_generic_iterator_t i; xcb_generic_iterator_t prev = xcb_glx_set_client_info_arb_gl_extension_string_end(R); - i.data = ((char *) ((char*) prev.data + XCB_TYPE_PAD(char, prev.index))) + (R->glx_str_len); + i.data = ((char *) ((char*) prev.data + ((-prev.index) & (4 - 1)))) + (R->glx_str_len); i.rem = 0; i.index = (char *) i.data - (char *) R; return i; @@ -3393,6 +3402,15 @@ xcb_glx_set_client_info_2arb_sizeof (con xcb_block_len += _aux->gl_str_len * sizeof(char); xcb_tmp += xcb_block_len; xcb_align_to = ALIGNOF(char); + xcb_align_to = 4; + /* insert padding */ + xcb_pad = -xcb_block_len & (xcb_align_to - 1); + xcb_buffer_len += xcb_block_len + xcb_pad; + if (0 != xcb_pad) { + xcb_tmp += xcb_pad; + xcb_pad = 0; + } + xcb_block_len = 0; /* insert padding */ xcb_pad = -xcb_block_len & (xcb_align_to - 1); xcb_buffer_len += xcb_block_len + xcb_pad; @@ -3571,7 +3589,7 @@ char * xcb_glx_set_client_info_2arb_glx_extension_string (const xcb_glx_set_client_info_2arb_request_t *R) { xcb_generic_iterator_t prev = xcb_glx_set_client_info_2arb_gl_extension_string_end(R); - return (char *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0); + return (char *) ((char *) prev.data + ((-prev.index) & (4 - 1)) + 0); } int @@ -3585,7 +3603,7 @@ xcb_glx_set_client_info_2arb_glx_extensi { xcb_generic_iterator_t i; xcb_generic_iterator_t prev = xcb_glx_set_client_info_2arb_gl_extension_string_end(R); - i.data = ((char *) ((char*) prev.data + XCB_TYPE_PAD(char, prev.index))) + (R->glx_str_len); + i.data = ((char *) ((char*) prev.data + ((-prev.index) & (4 - 1)))) + (R->glx_str_len); i.rem = 0; i.index = (char *) i.data - (char *) R; return i; Index: src/external/mit/xorg/lib/libxcb/files/render.h diff -u src/external/mit/xorg/lib/libxcb/files/render.h:1.5 src/external/mit/xorg/lib/libxcb/files/render.h:1.6 --- src/external/mit/xorg/lib/libxcb/files/render.h:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/render.h Tue Jul 12 02:44:09 2022 @@ -196,6 +196,9 @@ typedef struct xcb_render_pict_format_er uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_render_pict_format_error_t; /** Opcode for xcb_render_picture. */ @@ -208,6 +211,9 @@ typedef struct xcb_render_picture_error_ uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_render_picture_error_t; /** Opcode for xcb_render_pict_op. */ @@ -220,6 +226,9 @@ typedef struct xcb_render_pict_op_error_ uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_render_pict_op_error_t; /** Opcode for xcb_render_glyph_set. */ @@ -232,6 +241,9 @@ typedef struct xcb_render_glyph_set_erro uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_render_glyph_set_error_t; /** Opcode for xcb_render_glyph. */ @@ -244,6 +256,9 @@ typedef struct xcb_render_glyph_error_t uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_render_glyph_error_t; /** Index: src/external/mit/xorg/lib/libxcb/files/screensaver.c diff -u src/external/mit/xorg/lib/libxcb/files/screensaver.c:1.5 src/external/mit/xorg/lib/libxcb/files/screensaver.c:1.6 --- src/external/mit/xorg/lib/libxcb/files/screensaver.c:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/screensaver.c Tue Jul 12 02:44:09 2022 @@ -797,7 +797,7 @@ xcb_screensaver_unset_attributes (xcb_co xcb_void_cookie_t xcb_screensaver_suspend_checked (xcb_connection_t *c, - uint8_t suspend) + uint32_t suspend) { static const xcb_protocol_request_t xcb_req = { .count = 2, @@ -811,7 +811,6 @@ xcb_screensaver_suspend_checked (xcb_con xcb_screensaver_suspend_request_t xcb_out; xcb_out.suspend = suspend; - memset(xcb_out.pad0, 0, 3); xcb_parts[2].iov_base = (char *) &xcb_out; xcb_parts[2].iov_len = sizeof(xcb_out); @@ -824,7 +823,7 @@ xcb_screensaver_suspend_checked (xcb_con xcb_void_cookie_t xcb_screensaver_suspend (xcb_connection_t *c, - uint8_t suspend) + uint32_t suspend) { static const xcb_protocol_request_t xcb_req = { .count = 2, @@ -838,7 +837,6 @@ xcb_screensaver_suspend (xcb_connection_ xcb_screensaver_suspend_request_t xcb_out; xcb_out.suspend = suspend; - memset(xcb_out.pad0, 0, 3); xcb_parts[2].iov_base = (char *) &xcb_out; xcb_parts[2].iov_len = sizeof(xcb_out); Index: src/external/mit/xorg/lib/libxcb/files/screensaver.h diff -u src/external/mit/xorg/lib/libxcb/files/screensaver.h:1.5 src/external/mit/xorg/lib/libxcb/files/screensaver.h:1.6 --- src/external/mit/xorg/lib/libxcb/files/screensaver.h:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/screensaver.h Tue Jul 12 02:44:09 2022 @@ -193,8 +193,7 @@ typedef struct xcb_screensaver_suspend_r uint8_t major_opcode; uint8_t minor_opcode; uint16_t length; - uint8_t suspend; - uint8_t pad0[3]; + uint32_t suspend; } xcb_screensaver_suspend_request_t; /** Opcode for xcb_screensaver_notify. */ @@ -492,7 +491,7 @@ xcb_screensaver_unset_attributes (xcb_co */ xcb_void_cookie_t xcb_screensaver_suspend_checked (xcb_connection_t *c, - uint8_t suspend); + uint32_t suspend); /** * @@ -504,7 +503,7 @@ xcb_screensaver_suspend_checked (xcb_con */ xcb_void_cookie_t xcb_screensaver_suspend (xcb_connection_t *c, - uint8_t suspend); + uint32_t suspend); #ifdef __cplusplus Index: src/external/mit/xorg/lib/libxcb/files/shm.h diff -u src/external/mit/xorg/lib/libxcb/files/shm.h:1.5 src/external/mit/xorg/lib/libxcb/files/shm.h:1.6 --- src/external/mit/xorg/lib/libxcb/files/shm.h:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/shm.h Tue Jul 12 02:44:09 2022 @@ -627,9 +627,10 @@ xcb_shm_create_segment_reply (xcb_connec * @param c The connection * @param reply The reply * - * Returns the array of reply fds of the request asked by + * Returns a pointer to the array of reply fds of the reply. * - * The returned value must be freed by the caller using free(). + * The returned value points into the reply and must not be free(). + * The fds are not managed by xcb. You must close() them before freeing the reply. */ int * xcb_shm_create_segment_reply_fds (xcb_connection_t *c /**< */, Index: src/external/mit/xorg/lib/libxcb/files/xfixes.c diff -u src/external/mit/xorg/lib/libxcb/files/xfixes.c:1.5 src/external/mit/xorg/lib/libxcb/files/xfixes.c:1.6 --- src/external/mit/xorg/lib/libxcb/files/xfixes.c:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/xfixes.c Tue Jul 12 02:44:09 2022 @@ -2589,3 +2589,111 @@ xcb_xfixes_delete_pointer_barrier (xcb_c return xcb_ret; } +xcb_void_cookie_t +xcb_xfixes_set_client_disconnect_mode_checked (xcb_connection_t *c, + uint32_t disconnect_mode) +{ + static const xcb_protocol_request_t xcb_req = { + .count = 2, + .ext = &xcb_xfixes_id, + .opcode = XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE, + .isvoid = 1 + }; + + struct iovec xcb_parts[4]; + xcb_void_cookie_t xcb_ret; + xcb_xfixes_set_client_disconnect_mode_request_t xcb_out; + + xcb_out.disconnect_mode = disconnect_mode; + + 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_void_cookie_t +xcb_xfixes_set_client_disconnect_mode (xcb_connection_t *c, + uint32_t disconnect_mode) +{ + static const xcb_protocol_request_t xcb_req = { + .count = 2, + .ext = &xcb_xfixes_id, + .opcode = XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE, + .isvoid = 1 + }; + + struct iovec xcb_parts[4]; + xcb_void_cookie_t xcb_ret; + xcb_xfixes_set_client_disconnect_mode_request_t xcb_out; + + xcb_out.disconnect_mode = disconnect_mode; + + 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_xfixes_get_client_disconnect_mode_cookie_t +xcb_xfixes_get_client_disconnect_mode (xcb_connection_t *c) +{ + static const xcb_protocol_request_t xcb_req = { + .count = 2, + .ext = &xcb_xfixes_id, + .opcode = XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE, + .isvoid = 0 + }; + + struct iovec xcb_parts[4]; + xcb_xfixes_get_client_disconnect_mode_cookie_t xcb_ret; + xcb_xfixes_get_client_disconnect_mode_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_xfixes_get_client_disconnect_mode_cookie_t +xcb_xfixes_get_client_disconnect_mode_unchecked (xcb_connection_t *c) +{ + static const xcb_protocol_request_t xcb_req = { + .count = 2, + .ext = &xcb_xfixes_id, + .opcode = XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE, + .isvoid = 0 + }; + + struct iovec xcb_parts[4]; + xcb_xfixes_get_client_disconnect_mode_cookie_t xcb_ret; + xcb_xfixes_get_client_disconnect_mode_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_xfixes_get_client_disconnect_mode_reply_t * +xcb_xfixes_get_client_disconnect_mode_reply (xcb_connection_t *c, + xcb_xfixes_get_client_disconnect_mode_cookie_t cookie /**< */, + xcb_generic_error_t **e) +{ + return (xcb_xfixes_get_client_disconnect_mode_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); +} + Index: src/external/mit/xorg/lib/libxcb/files/xfixes.h diff -u src/external/mit/xorg/lib/libxcb/files/xfixes.h:1.5 src/external/mit/xorg/lib/libxcb/files/xfixes.h:1.6 --- src/external/mit/xorg/lib/libxcb/files/xfixes.h:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/xfixes.h Tue Jul 12 02:44:09 2022 @@ -21,7 +21,7 @@ extern "C" { #endif -#define XCB_XFIXES_MAJOR_VERSION 5 +#define XCB_XFIXES_MAJOR_VERSION 6 #define XCB_XFIXES_MINOR_VERSION 0 extern xcb_extension_t xcb_xfixes_id; @@ -234,6 +234,9 @@ typedef struct xcb_xfixes_bad_region_err uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_xfixes_bad_region_error_t; typedef enum xcb_xfixes_region_enum_t { @@ -734,6 +737,55 @@ typedef struct xcb_xfixes_delete_pointer xcb_xfixes_barrier_t barrier; } xcb_xfixes_delete_pointer_barrier_request_t; +typedef enum xcb_xfixes_client_disconnect_flags_t { + XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_DEFAULT = 0, + XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_TERMINATE = 1 +} xcb_xfixes_client_disconnect_flags_t; + +/** Opcode for xcb_xfixes_set_client_disconnect_mode. */ +#define XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE 33 + +/** + * @brief xcb_xfixes_set_client_disconnect_mode_request_t + **/ +typedef struct xcb_xfixes_set_client_disconnect_mode_request_t { + uint8_t major_opcode; + uint8_t minor_opcode; + uint16_t length; + uint32_t disconnect_mode; +} xcb_xfixes_set_client_disconnect_mode_request_t; + +/** + * @brief xcb_xfixes_get_client_disconnect_mode_cookie_t + **/ +typedef struct xcb_xfixes_get_client_disconnect_mode_cookie_t { + unsigned int sequence; +} xcb_xfixes_get_client_disconnect_mode_cookie_t; + +/** Opcode for xcb_xfixes_get_client_disconnect_mode. */ +#define XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE 34 + +/** + * @brief xcb_xfixes_get_client_disconnect_mode_request_t + **/ +typedef struct xcb_xfixes_get_client_disconnect_mode_request_t { + uint8_t major_opcode; + uint8_t minor_opcode; + uint16_t length; +} xcb_xfixes_get_client_disconnect_mode_request_t; + +/** + * @brief xcb_xfixes_get_client_disconnect_mode_reply_t + **/ +typedef struct xcb_xfixes_get_client_disconnect_mode_reply_t { + uint8_t response_type; + uint8_t pad0; + uint16_t sequence; + uint32_t length; + uint32_t disconnect_mode; + uint8_t pad1[20]; +} xcb_xfixes_get_client_disconnect_mode_reply_t; + /** * * @param c The connection @@ -1993,6 +2045,77 @@ xcb_void_cookie_t xcb_xfixes_delete_pointer_barrier (xcb_connection_t *c, xcb_xfixes_barrier_t barrier); +/** + * + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + * This form can be used only if the request will not cause + * a reply to be generated. Any returned error will be + * saved for handling by xcb_request_check(). + */ +xcb_void_cookie_t +xcb_xfixes_set_client_disconnect_mode_checked (xcb_connection_t *c, + uint32_t disconnect_mode); + +/** + * + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ +xcb_void_cookie_t +xcb_xfixes_set_client_disconnect_mode (xcb_connection_t *c, + uint32_t disconnect_mode); + +/** + * + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ +xcb_xfixes_get_client_disconnect_mode_cookie_t +xcb_xfixes_get_client_disconnect_mode (xcb_connection_t *c); + +/** + * + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + * This form can be used only if the request will cause + * a reply to be generated. Any returned error will be + * placed in the event queue. + */ +xcb_xfixes_get_client_disconnect_mode_cookie_t +xcb_xfixes_get_client_disconnect_mode_unchecked (xcb_connection_t *c); + +/** + * Return the reply + * @param c The connection + * @param cookie The cookie + * @param e The xcb_generic_error_t supplied + * + * Returns the reply of the request asked by + * + * The parameter @p e supplied to this function must be NULL if + * xcb_xfixes_get_client_disconnect_mode_unchecked(). is used. + * Otherwise, it stores the error if any. + * + * The returned value must be freed by the caller using free(). + */ +xcb_xfixes_get_client_disconnect_mode_reply_t * +xcb_xfixes_get_client_disconnect_mode_reply (xcb_connection_t *c, + xcb_xfixes_get_client_disconnect_mode_cookie_t cookie /**< */, + xcb_generic_error_t **e); + #ifdef __cplusplus } Index: src/external/mit/xorg/lib/libxcb/files/xproto.h diff -u src/external/mit/xorg/lib/libxcb/files/xproto.h:1.5 src/external/mit/xorg/lib/libxcb/files/xproto.h:1.6 --- src/external/mit/xorg/lib/libxcb/files/xproto.h:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/xproto.h Tue Jul 12 02:44:09 2022 @@ -7799,12 +7799,12 @@ xcb_ungrab_keyboard (xcb_connection_t *c * @brief Grab keyboard key(s) * * @param c The connection - * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not + * @param owner_events If 1, the \a grab_window will still get the key events. If 0, events are not * reported to the \a grab_window. - * @param grab_window Specifies the window on which the pointer should be grabbed. + * @param grab_window Specifies the window on which the key should be grabbed. * @param modifiers The modifiers to grab. * \n - * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all + * Using the special value `XCB_MOD_MASK_ANY` means grab the key with all * possible modifier combinations. * @param key The keycode of the key to grab. * \n @@ -7863,12 +7863,12 @@ xcb_grab_key_checked (xcb_connection_t * * @brief Grab keyboard key(s) * * @param c The connection - * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not + * @param owner_events If 1, the \a grab_window will still get the key events. If 0, events are not * reported to the \a grab_window. - * @param grab_window Specifies the window on which the pointer should be grabbed. + * @param grab_window Specifies the window on which the key should be grabbed. * @param modifiers The modifiers to grab. * \n - * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all + * Using the special value `XCB_MOD_MASK_ANY` means grab the key with all * possible modifier combinations. * @param key The keycode of the key to grab. * \n Index: src/external/mit/xorg/lib/libxcb/files/xv.h diff -u src/external/mit/xorg/lib/libxcb/files/xv.h:1.5 src/external/mit/xorg/lib/libxcb/files/xv.h:1.6 --- src/external/mit/xorg/lib/libxcb/files/xv.h:1.5 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/xv.h Tue Jul 12 02:44:09 2022 @@ -260,6 +260,9 @@ typedef struct xcb_xv_bad_port_error_t { uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_xv_bad_port_error_t; /** Opcode for xcb_xv_bad_encoding. */ @@ -272,6 +275,9 @@ typedef struct xcb_xv_bad_encoding_error uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_xv_bad_encoding_error_t; /** Opcode for xcb_xv_bad_control. */ @@ -284,6 +290,9 @@ typedef struct xcb_xv_bad_control_error_ uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_xv_bad_control_error_t; /** Opcode for xcb_xv_video_notify. */ Index: src/external/mit/xorg/lib/libxcb/files/dri3.c diff -u src/external/mit/xorg/lib/libxcb/files/dri3.c:1.4 src/external/mit/xorg/lib/libxcb/files/dri3.c:1.5 --- src/external/mit/xorg/lib/libxcb/files/dri3.c:1.4 Wed Mar 14 06:47:28 2018 +++ src/external/mit/xorg/lib/libxcb/files/dri3.c Tue Jul 12 02:44:09 2022 @@ -917,3 +917,63 @@ xcb_dri3_buffers_from_pixmap_reply_fds ( return xcb_get_reply_fds(c, reply, sizeof(xcb_dri3_buffers_from_pixmap_reply_t) + 4 * reply->length); } +xcb_void_cookie_t +xcb_dri3_set_drm_device_in_use_checked (xcb_connection_t *c, + xcb_window_t window, + uint32_t drmMajor, + uint32_t drmMinor) +{ + static const xcb_protocol_request_t xcb_req = { + .count = 2, + .ext = &xcb_dri3_id, + .opcode = XCB_DRI3_SET_DRM_DEVICE_IN_USE, + .isvoid = 1 + }; + + struct iovec xcb_parts[4]; + xcb_void_cookie_t xcb_ret; + xcb_dri3_set_drm_device_in_use_request_t xcb_out; + + xcb_out.window = window; + xcb_out.drmMajor = drmMajor; + xcb_out.drmMinor = drmMinor; + + 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_void_cookie_t +xcb_dri3_set_drm_device_in_use (xcb_connection_t *c, + xcb_window_t window, + uint32_t drmMajor, + uint32_t drmMinor) +{ + static const xcb_protocol_request_t xcb_req = { + .count = 2, + .ext = &xcb_dri3_id, + .opcode = XCB_DRI3_SET_DRM_DEVICE_IN_USE, + .isvoid = 1 + }; + + struct iovec xcb_parts[4]; + xcb_void_cookie_t xcb_ret; + xcb_dri3_set_drm_device_in_use_request_t xcb_out; + + xcb_out.window = window; + xcb_out.drmMajor = drmMajor; + xcb_out.drmMinor = drmMinor; + + 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; +} + Index: src/external/mit/xorg/lib/libxcb/files/dri3.h diff -u src/external/mit/xorg/lib/libxcb/files/dri3.h:1.4 src/external/mit/xorg/lib/libxcb/files/dri3.h:1.5 --- src/external/mit/xorg/lib/libxcb/files/dri3.h:1.4 Wed Mar 14 06:47:28 2018 +++ src/external/mit/xorg/lib/libxcb/files/dri3.h Tue Jul 12 02:44:09 2022 @@ -20,7 +20,7 @@ extern "C" { #endif #define XCB_DRI3_MAJOR_VERSION 1 -#define XCB_DRI3_MINOR_VERSION 2 +#define XCB_DRI3_MINOR_VERSION 3 extern xcb_extension_t xcb_dri3_id; @@ -297,6 +297,21 @@ typedef struct xcb_dri3_buffers_from_pix uint8_t pad1[6]; } xcb_dri3_buffers_from_pixmap_reply_t; +/** Opcode for xcb_dri3_set_drm_device_in_use. */ +#define XCB_DRI3_SET_DRM_DEVICE_IN_USE 9 + +/** + * @brief xcb_dri3_set_drm_device_in_use_request_t + **/ +typedef struct xcb_dri3_set_drm_device_in_use_request_t { + uint8_t major_opcode; + uint8_t minor_opcode; + uint16_t length; + xcb_window_t window; + uint32_t drmMajor; + uint32_t drmMinor; +} xcb_dri3_set_drm_device_in_use_request_t; + /** * * @param c The connection @@ -398,9 +413,10 @@ xcb_dri3_open_reply (xcb_connection_t * @param c The connection * @param reply The reply * - * Returns the array of reply fds of the request asked by + * Returns a pointer to the array of reply fds of the reply. * - * The returned value must be freed by the caller using free(). + * The returned value points into the reply and must not be free(). + * The fds are not managed by xcb. You must close() them before freeing the reply. */ int * xcb_dri3_open_reply_fds (xcb_connection_t *c /**< */, @@ -500,9 +516,10 @@ xcb_dri3_buffer_from_pixmap_reply (xcb_c * @param c The connection * @param reply The reply * - * Returns the array of reply fds of the request asked by + * Returns a pointer to the array of reply fds of the reply. * - * The returned value must be freed by the caller using free(). + * The returned value points into the reply and must not be free(). + * The fds are not managed by xcb. You must close() them before freeing the reply. */ int * xcb_dri3_buffer_from_pixmap_reply_fds (xcb_connection_t *c /**< */, @@ -594,9 +611,10 @@ xcb_dri3_fd_from_fence_reply (xcb_connec * @param c The connection * @param reply The reply * - * Returns the array of reply fds of the request asked by + * Returns a pointer to the array of reply fds of the reply. * - * The returned value must be freed by the caller using free(). + * The returned value points into the reply and must not be free(). + * The fds are not managed by xcb. You must close() them before freeing the reply. */ int * xcb_dri3_fd_from_fence_reply_fds (xcb_connection_t *c /**< */, @@ -814,14 +832,46 @@ xcb_dri3_buffers_from_pixmap_reply (xcb_ * @param c The connection * @param reply The reply * - * Returns the array of reply fds of the request asked by + * Returns a pointer to the array of reply fds of the reply. * - * The returned value must be freed by the caller using free(). + * The returned value points into the reply and must not be free(). + * The fds are not managed by xcb. You must close() them before freeing the reply. */ int * xcb_dri3_buffers_from_pixmap_reply_fds (xcb_connection_t *c /**< */, xcb_dri3_buffers_from_pixmap_reply_t *reply); +/** + * + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + * This form can be used only if the request will not cause + * a reply to be generated. Any returned error will be + * saved for handling by xcb_request_check(). + */ +xcb_void_cookie_t +xcb_dri3_set_drm_device_in_use_checked (xcb_connection_t *c, + xcb_window_t window, + uint32_t drmMajor, + uint32_t drmMinor); + +/** + * + * @param c The connection + * @return A cookie + * + * Delivers a request to the X server. + * + */ +xcb_void_cookie_t +xcb_dri3_set_drm_device_in_use (xcb_connection_t *c, + xcb_window_t window, + uint32_t drmMajor, + uint32_t drmMinor); + #ifdef __cplusplus } Index: src/external/mit/xorg/lib/libxcb/files/record.h diff -u src/external/mit/xorg/lib/libxcb/files/record.h:1.4 src/external/mit/xorg/lib/libxcb/files/record.h:1.5 --- src/external/mit/xorg/lib/libxcb/files/record.h:1.4 Sun Mar 5 09:27:53 2017 +++ src/external/mit/xorg/lib/libxcb/files/record.h Tue Jul 12 02:44:09 2022 @@ -171,6 +171,8 @@ typedef struct xcb_record_bad_context_er uint8_t error_code; uint16_t sequence; uint32_t invalid_record; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_record_bad_context_error_t; /** Index: src/external/mit/xorg/lib/libxcb/files/randr.h diff -u src/external/mit/xorg/lib/libxcb/files/randr.h:1.6 src/external/mit/xorg/lib/libxcb/files/randr.h:1.7 --- src/external/mit/xorg/lib/libxcb/files/randr.h:1.6 Wed Mar 14 06:47:28 2018 +++ src/external/mit/xorg/lib/libxcb/files/randr.h Tue Jul 12 02:44:09 2022 @@ -90,6 +90,9 @@ typedef struct xcb_randr_bad_output_erro uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_randr_bad_output_error_t; /** Opcode for xcb_randr_bad_crtc. */ @@ -102,6 +105,9 @@ typedef struct xcb_randr_bad_crtc_error_ uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_randr_bad_crtc_error_t; /** Opcode for xcb_randr_bad_mode. */ @@ -114,6 +120,9 @@ typedef struct xcb_randr_bad_mode_error_ uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_randr_bad_mode_error_t; /** Opcode for xcb_randr_bad_provider. */ @@ -126,6 +135,9 @@ typedef struct xcb_randr_bad_provider_er uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_randr_bad_provider_error_t; typedef enum xcb_randr_rotation_t { @@ -4480,9 +4492,10 @@ xcb_randr_create_lease_reply (xcb_connec * @param c The connection * @param reply The reply * - * Returns the array of reply fds of the request asked by + * Returns a pointer to the array of reply fds of the reply. * - * The returned value must be freed by the caller using free(). + * The returned value points into the reply and must not be free(). + * The fds are not managed by xcb. You must close() them before freeing the reply. */ int * xcb_randr_create_lease_reply_fds (xcb_connection_t *c /**< */, Index: src/external/mit/xorg/lib/libxcb/files/xinput.c diff -u src/external/mit/xorg/lib/libxcb/files/xinput.c:1.6 src/external/mit/xorg/lib/libxcb/files/xinput.c:1.7 --- src/external/mit/xorg/lib/libxcb/files/xinput.c:1.6 Wed Mar 14 06:47:28 2018 +++ src/external/mit/xorg/lib/libxcb/files/xinput.c Tue Jul 12 02:44:09 2022 @@ -10059,6 +10059,24 @@ xcb_input_touch_class_end (xcb_input_tou } void +xcb_input_gesture_class_next (xcb_input_gesture_class_iterator_t *i) +{ + --i->rem; + ++i->data; + i->index += sizeof(xcb_input_gesture_class_t); +} + +xcb_generic_iterator_t +xcb_input_gesture_class_end (xcb_input_gesture_class_iterator_t i) +{ + xcb_generic_iterator_t ret; + ret.data = i.data + i.rem; + ret.index = i.index + ((char *) ret.data - (char *) i.data); + ret.rem = 0; + return ret; +} + +void xcb_input_valuator_class_next (xcb_input_valuator_class_iterator_t *i) { --i->rem; @@ -10160,7 +10178,7 @@ xcb_input_device_class_data_serialize (v unsigned int xcb_pad = 0; char xcb_pad0[3] = {0, 0, 0}; - struct iovec xcb_parts[24]; + struct iovec xcb_parts[26]; unsigned int xcb_parts_idx = 0; unsigned int xcb_block_len = 0; unsigned int i; @@ -10329,6 +10347,20 @@ xcb_input_device_class_data_serialize (v xcb_parts_idx++; xcb_align_to = ALIGNOF(uint8_t); } + if(type == XCB_INPUT_DEVICE_CLASS_TYPE_GESTURE) { + /* xcb_input_device_class_data_t.gesture.num_touches */ + xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->gesture.num_touches; + xcb_block_len += sizeof(uint8_t); + xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); + xcb_parts_idx++; + xcb_align_to = ALIGNOF(uint8_t); + /* xcb_input_device_class_data_t.gesture.pad2 */ + xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad; + xcb_block_len += sizeof(uint8_t); + xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t); + xcb_parts_idx++; + xcb_align_to = ALIGNOF(uint8_t); + } /* insert padding */ xcb_pad = -(xcb_block_len + xcb_padding_offset) & (xcb_align_to - 1); xcb_buffer_len += xcb_block_len + xcb_pad; @@ -10511,6 +10543,18 @@ xcb_input_device_class_data_unpack (cons xcb_tmp += sizeof(uint8_t); xcb_align_to = ALIGNOF(uint8_t); } + if(type == XCB_INPUT_DEVICE_CLASS_TYPE_GESTURE) { + /* xcb_input_device_class_data_t.gesture.num_touches */ + _aux->gesture.num_touches = *(uint8_t *)xcb_tmp; + xcb_block_len += sizeof(uint8_t); + xcb_tmp += sizeof(uint8_t); + xcb_align_to = ALIGNOF(uint8_t); + /* xcb_input_device_class_data_t.gesture.pad2 */ + _aux->gesture.pad2 = *(uint8_t *)xcb_tmp; + xcb_block_len += sizeof(uint8_t); + xcb_tmp += sizeof(uint8_t); + xcb_align_to = ALIGNOF(uint8_t); + } /* insert padding */ xcb_pad = -(xcb_block_len + xcb_padding_offset) & (xcb_align_to - 1); xcb_buffer_len += xcb_block_len + xcb_pad; @@ -10535,32 +10579,8 @@ xcb_input_device_class_data_sizeof (cons int xcb_input_device_class_sizeof (const void *_buffer) { - char *xcb_tmp = (char *)_buffer; const xcb_input_device_class_t *_aux = (xcb_input_device_class_t *)_buffer; - unsigned int xcb_buffer_len = 0; - unsigned int xcb_block_len = 0; - unsigned int xcb_pad = 0; - unsigned int xcb_align_to = 0; - - - xcb_block_len += sizeof(xcb_input_device_class_t); - xcb_tmp += xcb_block_len; - xcb_buffer_len += xcb_block_len; - xcb_block_len = 0; - /* data */ - xcb_block_len += xcb_input_device_class_data_sizeof(xcb_tmp, _aux->type); - xcb_tmp += xcb_block_len; - xcb_align_to = ALIGNOF(char); - /* insert padding */ - xcb_pad = -xcb_block_len & (xcb_align_to - 1); - xcb_buffer_len += xcb_block_len + xcb_pad; - if (0 != xcb_pad) { - xcb_tmp += xcb_pad; - xcb_pad = 0; - } - xcb_block_len = 0; - - return xcb_buffer_len; + return (_aux->len * 4); } void * Index: src/external/mit/xorg/lib/libxcb/files/xinput.h diff -u src/external/mit/xorg/lib/libxcb/files/xinput.h:1.6 src/external/mit/xorg/lib/libxcb/files/xinput.h:1.7 --- src/external/mit/xorg/lib/libxcb/files/xinput.h:1.6 Wed Mar 14 06:47:28 2018 +++ src/external/mit/xorg/lib/libxcb/files/xinput.h Tue Jul 12 02:44:09 2022 @@ -20,7 +20,7 @@ extern "C" { #endif #define XCB_INPUT_MAJOR_VERSION 2 -#define XCB_INPUT_MINOR_VERSION 3 +#define XCB_INPUT_MINOR_VERSION 4 extern xcb_extension_t xcb_input_id; @@ -2671,7 +2671,8 @@ typedef enum xcb_input_device_class_type XCB_INPUT_DEVICE_CLASS_TYPE_BUTTON = 1, XCB_INPUT_DEVICE_CLASS_TYPE_VALUATOR = 2, XCB_INPUT_DEVICE_CLASS_TYPE_SCROLL = 3, - XCB_INPUT_DEVICE_CLASS_TYPE_TOUCH = 8 + XCB_INPUT_DEVICE_CLASS_TYPE_TOUCH = 8, + XCB_INPUT_DEVICE_CLASS_TYPE_GESTURE = 9 } xcb_input_device_class_type_t; typedef enum xcb_input_device_type_t { @@ -2779,6 +2780,26 @@ typedef struct xcb_input_touch_class_ite } xcb_input_touch_class_iterator_t; /** + * @brief xcb_input_gesture_class_t + **/ +typedef struct xcb_input_gesture_class_t { + uint16_t type; + uint16_t len; + xcb_input_device_id_t sourceid; + uint8_t num_touches; + uint8_t pad0; +} xcb_input_gesture_class_t; + +/** + * @brief xcb_input_gesture_class_iterator_t + **/ +typedef struct xcb_input_gesture_class_iterator_t { + xcb_input_gesture_class_t *data; + int rem; + int index; +} xcb_input_gesture_class_iterator_t; + +/** * @brief xcb_input_valuator_class_t **/ typedef struct xcb_input_valuator_class_t { @@ -2838,6 +2859,10 @@ typedef struct xcb_input_device_class_da uint8_t mode; uint8_t num_touches; } touch; + struct { + uint8_t num_touches; + uint8_t pad2; + } gesture; } xcb_input_device_class_data_t; /** @@ -3065,7 +3090,9 @@ typedef enum xcb_input_grab_type_t { XCB_INPUT_GRAB_TYPE_KEYCODE = 1, XCB_INPUT_GRAB_TYPE_ENTER = 2, XCB_INPUT_GRAB_TYPE_FOCUS_IN = 3, - XCB_INPUT_GRAB_TYPE_TOUCH_BEGIN = 4 + XCB_INPUT_GRAB_TYPE_TOUCH_BEGIN = 4, + XCB_INPUT_GRAB_TYPE_GESTURE_PINCH_BEGIN = 5, + XCB_INPUT_GRAB_TYPE_GESTURE_SWIPE_BEGIN = 6 } xcb_input_grab_type_t; typedef enum xcb_input_modifier_mask_t { @@ -4033,6 +4060,104 @@ typedef struct xcb_input_barrier_hit_eve typedef xcb_input_barrier_hit_event_t xcb_input_barrier_leave_event_t; +typedef enum xcb_input_gesture_pinch_event_flags_t { + XCB_INPUT_GESTURE_PINCH_EVENT_FLAGS_GESTURE_PINCH_CANCELLED = 1 +} xcb_input_gesture_pinch_event_flags_t; + +/** Opcode for xcb_input_gesture_pinch_begin. */ +#define XCB_INPUT_GESTURE_PINCH_BEGIN 27 + +/** + * @brief xcb_input_gesture_pinch_begin_event_t + **/ +typedef struct xcb_input_gesture_pinch_begin_event_t { + uint8_t response_type; + uint8_t extension; + uint16_t sequence; + uint32_t length; + uint16_t event_type; + xcb_input_device_id_t deviceid; + xcb_timestamp_t time; + uint32_t detail; + xcb_window_t root; + xcb_window_t event; + xcb_window_t child; + uint32_t full_sequence; + xcb_input_fp1616_t root_x; + xcb_input_fp1616_t root_y; + xcb_input_fp1616_t event_x; + xcb_input_fp1616_t event_y; + xcb_input_fp1616_t delta_x; + xcb_input_fp1616_t delta_y; + xcb_input_fp1616_t delta_unaccel_x; + xcb_input_fp1616_t delta_unaccel_y; + xcb_input_fp1616_t scale; + xcb_input_fp1616_t delta_angle; + xcb_input_device_id_t sourceid; + uint8_t pad0[2]; + xcb_input_modifier_info_t mods; + xcb_input_group_info_t group; + uint32_t flags; +} xcb_input_gesture_pinch_begin_event_t; + +/** Opcode for xcb_input_gesture_pinch_update. */ +#define XCB_INPUT_GESTURE_PINCH_UPDATE 28 + +typedef xcb_input_gesture_pinch_begin_event_t xcb_input_gesture_pinch_update_event_t; + +/** Opcode for xcb_input_gesture_pinch_end. */ +#define XCB_INPUT_GESTURE_PINCH_END 29 + +typedef xcb_input_gesture_pinch_begin_event_t xcb_input_gesture_pinch_end_event_t; + +typedef enum xcb_input_gesture_swipe_event_flags_t { + XCB_INPUT_GESTURE_SWIPE_EVENT_FLAGS_GESTURE_SWIPE_CANCELLED = 1 +} xcb_input_gesture_swipe_event_flags_t; + +/** Opcode for xcb_input_gesture_swipe_begin. */ +#define XCB_INPUT_GESTURE_SWIPE_BEGIN 30 + +/** + * @brief xcb_input_gesture_swipe_begin_event_t + **/ +typedef struct xcb_input_gesture_swipe_begin_event_t { + uint8_t response_type; + uint8_t extension; + uint16_t sequence; + uint32_t length; + uint16_t event_type; + xcb_input_device_id_t deviceid; + xcb_timestamp_t time; + uint32_t detail; + xcb_window_t root; + xcb_window_t event; + xcb_window_t child; + uint32_t full_sequence; + xcb_input_fp1616_t root_x; + xcb_input_fp1616_t root_y; + xcb_input_fp1616_t event_x; + xcb_input_fp1616_t event_y; + xcb_input_fp1616_t delta_x; + xcb_input_fp1616_t delta_y; + xcb_input_fp1616_t delta_unaccel_x; + xcb_input_fp1616_t delta_unaccel_y; + xcb_input_device_id_t sourceid; + uint8_t pad0[2]; + xcb_input_modifier_info_t mods; + xcb_input_group_info_t group; + uint32_t flags; +} xcb_input_gesture_swipe_begin_event_t; + +/** Opcode for xcb_input_gesture_swipe_update. */ +#define XCB_INPUT_GESTURE_SWIPE_UPDATE 31 + +typedef xcb_input_gesture_swipe_begin_event_t xcb_input_gesture_swipe_update_event_t; + +/** Opcode for xcb_input_gesture_swipe_end. */ +#define XCB_INPUT_GESTURE_SWIPE_END 32 + +typedef xcb_input_gesture_swipe_begin_event_t xcb_input_gesture_swipe_end_event_t; + /** * @brief xcb_input_event_for_send_t **/ @@ -4093,6 +4218,9 @@ typedef struct xcb_input_device_error_t uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_input_device_error_t; /** Opcode for xcb_input_event. */ @@ -4105,6 +4233,9 @@ typedef struct xcb_input_event_error_t { uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_input_event_error_t; /** Opcode for xcb_input_mode. */ @@ -4117,6 +4248,9 @@ typedef struct xcb_input_mode_error_t { uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_input_mode_error_t; /** Opcode for xcb_input_device_busy. */ @@ -4129,6 +4263,9 @@ typedef struct xcb_input_device_busy_err uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_input_device_busy_error_t; /** Opcode for xcb_input_class. */ @@ -4141,6 +4278,9 @@ typedef struct xcb_input_class_error_t { uint8_t response_type; uint8_t error_code; uint16_t sequence; + uint32_t bad_value; + uint16_t minor_opcode; + uint8_t major_opcode; } xcb_input_class_error_t; /** @@ -8197,6 +8337,29 @@ xcb_input_touch_class_end (xcb_input_tou /** * Get the next element of the iterator + * @param i Pointer to a xcb_input_gesture_class_iterator_t + * + * Get the next element in the iterator. The member rem is + * decreased by one. The member data points to the next + * element. The member index is increased by sizeof(xcb_input_gesture_class_t) + */ +void +xcb_input_gesture_class_next (xcb_input_gesture_class_iterator_t *i); + +/** + * Return the iterator pointing to the last element + * @param i An xcb_input_gesture_class_iterator_t + * @return The iterator pointing to the last element + * + * Set the current element in the iterator to the last element. + * The member rem is set to 0. The member data points to the + * last element. + */ +xcb_generic_iterator_t +xcb_input_gesture_class_end (xcb_input_gesture_class_iterator_t i); + +/** + * Get the next element of the iterator * @param i Pointer to a xcb_input_valuator_class_iterator_t * * Get the next element in the iterator. The member rem is