/* automatically generated by rust-bindgen */

pub const FCITX_ABI_VERSION: u32 = 5;
pub const _TIME_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __STDC_NO_THREADS__: u32 = 1;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 27;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __HAVE_GENERIC_SELECTION: u32 = 1;
pub const _BITS_TIME_H: u32 = 1;
pub const _BITS_TYPES_H: u32 = 1;
pub const _BITS_TYPESIZES_H: u32 = 1;
pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
pub const __INO_T_MATCHES_INO64_T: u32 = 1;
pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
pub const __FD_SETSIZE: u32 = 1024;
pub const CLOCK_REALTIME: u32 = 0;
pub const CLOCK_MONOTONIC: u32 = 1;
pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
pub const CLOCK_MONOTONIC_RAW: u32 = 4;
pub const CLOCK_REALTIME_COARSE: u32 = 5;
pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
pub const CLOCK_BOOTTIME: u32 = 7;
pub const CLOCK_REALTIME_ALARM: u32 = 8;
pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
pub const CLOCK_TAI: u32 = 11;
pub const TIMER_ABSTIME: u32 = 1;
pub const __clock_t_defined: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const __struct_tm_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: u32 = 1;
pub const __clockid_t_defined: u32 = 1;
pub const __timer_t_defined: u32 = 1;
pub const __itimerspec_defined: u32 = 1;
pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
pub const TIME_UTC: u32 = 1;
pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
pub const _STDLIB_H: u32 = 1;
pub const WNOHANG: u32 = 1;
pub const WUNTRACED: u32 = 2;
pub const WSTOPPED: u32 = 2;
pub const WEXITED: u32 = 4;
pub const WCONTINUED: u32 = 8;
pub const WNOWAIT: u32 = 16777216;
pub const __WNOTHREAD: u32 = 536870912;
pub const __WALL: u32 = 1073741824;
pub const __WCLONE: u32 = 2147483648;
pub const __W_CONTINUED: u32 = 65535;
pub const __WCOREFLAG: u32 = 128;
pub const __HAVE_FLOAT128: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
pub const __HAVE_FLOAT64X: u32 = 1;
pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
pub const __HAVE_FLOAT16: u32 = 0;
pub const __HAVE_FLOAT32: u32 = 1;
pub const __HAVE_FLOAT64: u32 = 1;
pub const __HAVE_FLOAT32X: u32 = 1;
pub const __HAVE_FLOAT128X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
pub const __ldiv_t_defined: u32 = 1;
pub const __lldiv_t_defined: u32 = 1;
pub const RAND_MAX: u32 = 2147483647;
pub const EXIT_FAILURE: u32 = 1;
pub const EXIT_SUCCESS: u32 = 0;
pub const _SYS_TYPES_H: u32 = 1;
pub const _BITS_STDINT_INTN_H: u32 = 1;
pub const __BIT_TYPES_DEFINED__: u32 = 1;
pub const _ENDIAN_H: u32 = 1;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
pub const __BYTE_ORDER: u32 = 1234;
pub const __FLOAT_WORD_ORDER: u32 = 1234;
pub const LITTLE_ENDIAN: u32 = 1234;
pub const BIG_ENDIAN: u32 = 4321;
pub const PDP_ENDIAN: u32 = 3412;
pub const BYTE_ORDER: u32 = 1234;
pub const _BITS_BYTESWAP_H: u32 = 1;
pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
pub const _SYS_SELECT_H: u32 = 1;
pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\0";
pub const __sigset_t_defined: u32 = 1;
pub const __timeval_defined: u32 = 1;
pub const FD_SETSIZE: u32 = 1024;
pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
pub const _THREAD_SHARED_TYPES_H: u32 = 1;
pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40;
pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56;
pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4;
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4;
pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 1;
pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const _ALLOCA_H: u32 = 1;
pub const _STDINT_H: u32 = 1;
pub const _BITS_WCHAR_H: u32 = 1;
pub const _BITS_STDINT_UINTN_H: u32 = 1;
pub const INT8_MIN: i32 = -128;
pub const INT16_MIN: i32 = -32768;
pub const INT32_MIN: i32 = -2147483648;
pub const INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST16_MAX: i32 = -1;
pub const UINT_FAST32_MAX: i32 = -1;
pub const INTPTR_MIN: i64 = -9223372036854775808;
pub const INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIZE_MAX: i32 = -1;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub const UTF8_MAX_LENGTH: u32 = 6;
pub const _STDIO_H: u32 = 1;
pub const ____FILE_defined: u32 = 1;
pub const __FILE_defined: u32 = 1;
pub const _BITS_LIBIO_H: u32 = 1;
pub const _BITS_G_CONFIG_H: u32 = 1;
pub const ____mbstate_t_defined: u32 = 1;
pub const _G_HAVE_MMAP: u32 = 1;
pub const _G_HAVE_MREMAP: u32 = 1;
pub const _G_IO_IO_FILE_VERSION: u32 = 131073;
pub const _G_BUFSIZ: u32 = 8192;
pub const _IO_BUFSIZ: u32 = 8192;
pub const __GNUC_VA_LIST: u32 = 1;
pub const _IO_UNIFIED_JUMPTABLES: u32 = 1;
pub const EOF: i32 = -1;
pub const _IOS_INPUT: u32 = 1;
pub const _IOS_OUTPUT: u32 = 2;
pub const _IOS_ATEND: u32 = 4;
pub const _IOS_APPEND: u32 = 8;
pub const _IOS_TRUNC: u32 = 16;
pub const _IOS_NOCREATE: u32 = 32;
pub const _IOS_NOREPLACE: u32 = 64;
pub const _IOS_BIN: u32 = 128;
pub const _IO_MAGIC: u32 = 4222418944;
pub const _OLD_STDIO_MAGIC: u32 = 4206624768;
pub const _IO_MAGIC_MASK: u32 = 4294901760;
pub const _IO_USER_BUF: u32 = 1;
pub const _IO_UNBUFFERED: u32 = 2;
pub const _IO_NO_READS: u32 = 4;
pub const _IO_NO_WRITES: u32 = 8;
pub const _IO_EOF_SEEN: u32 = 16;
pub const _IO_ERR_SEEN: u32 = 32;
pub const _IO_DELETE_DONT_CLOSE: u32 = 64;
pub const _IO_LINKED: u32 = 128;
pub const _IO_IN_BACKUP: u32 = 256;
pub const _IO_LINE_BUF: u32 = 512;
pub const _IO_TIED_PUT_GET: u32 = 1024;
pub const _IO_CURRENTLY_PUTTING: u32 = 2048;
pub const _IO_IS_APPENDING: u32 = 4096;
pub const _IO_IS_FILEBUF: u32 = 8192;
pub const _IO_BAD_SEEN: u32 = 16384;
pub const _IO_USER_LOCK: u32 = 32768;
pub const _IO_FLAGS2_MMAP: u32 = 1;
pub const _IO_FLAGS2_NOTCANCEL: u32 = 2;
pub const _IO_FLAGS2_USER_WBUF: u32 = 8;
pub const _IO_SKIPWS: u32 = 1;
pub const _IO_LEFT: u32 = 2;
pub const _IO_RIGHT: u32 = 4;
pub const _IO_INTERNAL: u32 = 8;
pub const _IO_DEC: u32 = 16;
pub const _IO_OCT: u32 = 32;
pub const _IO_HEX: u32 = 64;
pub const _IO_SHOWBASE: u32 = 128;
pub const _IO_SHOWPOINT: u32 = 256;
pub const _IO_UPPERCASE: u32 = 512;
pub const _IO_SHOWPOS: u32 = 1024;
pub const _IO_SCIENTIFIC: u32 = 2048;
pub const _IO_FIXED: u32 = 4096;
pub const _IO_UNITBUF: u32 = 8192;
pub const _IO_STDIO: u32 = 16384;
pub const _IO_DONT_CLOSE: u32 = 32768;
pub const _IO_BOOLALPHA: u32 = 65536;
pub const _IOFBF: u32 = 0;
pub const _IOLBF: u32 = 1;
pub const _IONBF: u32 = 2;
pub const BUFSIZ: u32 = 8192;
pub const SEEK_SET: u32 = 0;
pub const SEEK_CUR: u32 = 1;
pub const SEEK_END: u32 = 2;
pub const P_tmpdir: &'static [u8; 5usize] = b"/tmp\0";
pub const _BITS_STDIO_LIM_H: u32 = 1;
pub const L_tmpnam: u32 = 20;
pub const TMP_MAX: u32 = 238328;
pub const FILENAME_MAX: u32 = 4096;
pub const L_ctermid: u32 = 9;
pub const FOPEN_MAX: u32 = 16;
pub const _UNISTD_H: u32 = 1;
pub const _POSIX_VERSION: u32 = 200809;
pub const __POSIX2_THIS_VERSION: u32 = 200809;
pub const _POSIX2_VERSION: u32 = 200809;
pub const _POSIX2_C_VERSION: u32 = 200809;
pub const _POSIX2_C_BIND: u32 = 200809;
pub const _POSIX2_C_DEV: u32 = 200809;
pub const _POSIX2_SW_DEV: u32 = 200809;
pub const _POSIX2_LOCALEDEF: u32 = 200809;
pub const _XOPEN_VERSION: u32 = 700;
pub const _XOPEN_XCU_VERSION: u32 = 4;
pub const _XOPEN_XPG2: u32 = 1;
pub const _XOPEN_XPG3: u32 = 1;
pub const _XOPEN_XPG4: u32 = 1;
pub const _XOPEN_UNIX: u32 = 1;
pub const _XOPEN_CRYPT: u32 = 1;
pub const _XOPEN_ENH_I18N: u32 = 1;
pub const _XOPEN_LEGACY: u32 = 1;
pub const _BITS_POSIX_OPT_H: u32 = 1;
pub const _POSIX_JOB_CONTROL: u32 = 1;
pub const _POSIX_SAVED_IDS: u32 = 1;
pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
pub const _POSIX_FSYNC: u32 = 200809;
pub const _POSIX_MAPPED_FILES: u32 = 200809;
pub const _POSIX_MEMLOCK: u32 = 200809;
pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
pub const _POSIX_CHOWN_RESTRICTED: u32 = 0;
pub const _POSIX_VDISABLE: u8 = 0u8;
pub const _POSIX_NO_TRUNC: u32 = 1;
pub const _XOPEN_REALTIME: u32 = 1;
pub const _XOPEN_REALTIME_THREADS: u32 = 1;
pub const _XOPEN_SHM: u32 = 1;
pub const _POSIX_THREADS: u32 = 200809;
pub const _POSIX_REENTRANT_FUNCTIONS: u32 = 1;
pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
pub const _POSIX_THREAD_PRIO_INHERIT: u32 = 200809;
pub const _POSIX_THREAD_PRIO_PROTECT: u32 = 200809;
pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: u32 = 200809;
pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
pub const _POSIX_SEMAPHORES: u32 = 200809;
pub const _POSIX_REALTIME_SIGNALS: u32 = 200809;
pub const _POSIX_ASYNCHRONOUS_IO: u32 = 200809;
pub const _POSIX_ASYNC_IO: u32 = 1;
pub const _LFS_ASYNCHRONOUS_IO: u32 = 1;
pub const _POSIX_PRIORITIZED_IO: u32 = 200809;
pub const _LFS64_ASYNCHRONOUS_IO: u32 = 1;
pub const _LFS_LARGEFILE: u32 = 1;
pub const _LFS64_LARGEFILE: u32 = 1;
pub const _LFS64_STDIO: u32 = 1;
pub const _POSIX_SHARED_MEMORY_OBJECTS: u32 = 200809;
pub const _POSIX_CPUTIME: u32 = 0;
pub const _POSIX_THREAD_CPUTIME: u32 = 0;
pub const _POSIX_REGEXP: u32 = 1;
pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
pub const _POSIX_SHELL: u32 = 1;
pub const _POSIX_TIMEOUTS: u32 = 200809;
pub const _POSIX_SPIN_LOCKS: u32 = 200809;
pub const _POSIX_SPAWN: u32 = 200809;
pub const _POSIX_TIMERS: u32 = 200809;
pub const _POSIX_BARRIERS: u32 = 200809;
pub const _POSIX_MESSAGE_PASSING: u32 = 200809;
pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
pub const _POSIX_MONOTONIC_CLOCK: u32 = 0;
pub const _POSIX_CLOCK_SELECTION: u32 = 200809;
pub const _POSIX_ADVISORY_INFO: u32 = 200809;
pub const _POSIX_IPV6: u32 = 200809;
pub const _POSIX_RAW_SOCKETS: u32 = 200809;
pub const _POSIX2_CHAR_TERM: u32 = 200809;
pub const _POSIX_SPORADIC_SERVER: i32 = -1;
pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
pub const _POSIX_TRACE: i32 = -1;
pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
pub const _POSIX_TRACE_INHERIT: i32 = -1;
pub const _POSIX_TRACE_LOG: i32 = -1;
pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1;
pub const _POSIX_V6_LPBIG_OFFBIG: i32 = -1;
pub const _XBS5_LPBIG_OFFBIG: i32 = -1;
pub const _POSIX_V7_LP64_OFF64: u32 = 1;
pub const _POSIX_V6_LP64_OFF64: u32 = 1;
pub const _XBS5_LP64_OFF64: u32 = 1;
pub const __ILP32_OFF32_CFLAGS: &'static [u8; 5usize] = b"-m32\0";
pub const __ILP32_OFF32_LDFLAGS: &'static [u8; 5usize] = b"-m32\0";
pub const __ILP32_OFFBIG_CFLAGS: &'static [u8; 48usize] =
    b"-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64\0";
pub const __ILP32_OFFBIG_LDFLAGS: &'static [u8; 5usize] = b"-m32\0";
pub const __LP64_OFF64_CFLAGS: &'static [u8; 5usize] = b"-m64\0";
pub const __LP64_OFF64_LDFLAGS: &'static [u8; 5usize] = b"-m64\0";
pub const STDIN_FILENO: u32 = 0;
pub const STDOUT_FILENO: u32 = 1;
pub const STDERR_FILENO: u32 = 2;
pub const R_OK: u32 = 4;
pub const W_OK: u32 = 2;
pub const X_OK: u32 = 1;
pub const F_OK: u32 = 0;
pub const L_SET: u32 = 0;
pub const L_INCR: u32 = 1;
pub const L_XTND: u32 = 2;
pub const _GETOPT_POSIX_H: u32 = 1;
pub const _GETOPT_CORE_H: u32 = 1;
pub const F_ULOCK: u32 = 0;
pub const F_LOCK: u32 = 1;
pub const F_TLOCK: u32 = 2;
pub const F_TEST: u32 = 3;
pub const UTARRAY_VERSION: f64 = 1.9;
pub const _STRING_H: u32 = 1;
pub const _STRINGS_H: u32 = 1;
pub const _INTTYPES_H: u32 = 1;
pub const ____gwchar_t_defined: u32 = 1;
pub const __PRI64_PREFIX: &'static [u8; 2usize] = b"l\0";
pub const __PRIPTR_PREFIX: &'static [u8; 2usize] = b"l\0";
pub const PRId8: &'static [u8; 2usize] = b"d\0";
pub const PRId16: &'static [u8; 2usize] = b"d\0";
pub const PRId32: &'static [u8; 2usize] = b"d\0";
pub const PRId64: &'static [u8; 3usize] = b"ld\0";
pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
pub const PRIdLEAST64: &'static [u8; 3usize] = b"ld\0";
pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
pub const PRIdFAST16: &'static [u8; 3usize] = b"ld\0";
pub const PRIdFAST32: &'static [u8; 3usize] = b"ld\0";
pub const PRIdFAST64: &'static [u8; 3usize] = b"ld\0";
pub const PRIi8: &'static [u8; 2usize] = b"i\0";
pub const PRIi16: &'static [u8; 2usize] = b"i\0";
pub const PRIi32: &'static [u8; 2usize] = b"i\0";
pub const PRIi64: &'static [u8; 3usize] = b"li\0";
pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
pub const PRIiLEAST64: &'static [u8; 3usize] = b"li\0";
pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
pub const PRIiFAST16: &'static [u8; 3usize] = b"li\0";
pub const PRIiFAST32: &'static [u8; 3usize] = b"li\0";
pub const PRIiFAST64: &'static [u8; 3usize] = b"li\0";
pub const PRIo8: &'static [u8; 2usize] = b"o\0";
pub const PRIo16: &'static [u8; 2usize] = b"o\0";
pub const PRIo32: &'static [u8; 2usize] = b"o\0";
pub const PRIo64: &'static [u8; 3usize] = b"lo\0";
pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
pub const PRIoLEAST64: &'static [u8; 3usize] = b"lo\0";
pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
pub const PRIoFAST16: &'static [u8; 3usize] = b"lo\0";
pub const PRIoFAST32: &'static [u8; 3usize] = b"lo\0";
pub const PRIoFAST64: &'static [u8; 3usize] = b"lo\0";
pub const PRIu8: &'static [u8; 2usize] = b"u\0";
pub const PRIu16: &'static [u8; 2usize] = b"u\0";
pub const PRIu32: &'static [u8; 2usize] = b"u\0";
pub const PRIu64: &'static [u8; 3usize] = b"lu\0";
pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
pub const PRIuLEAST64: &'static [u8; 3usize] = b"lu\0";
pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
pub const PRIuFAST16: &'static [u8; 3usize] = b"lu\0";
pub const PRIuFAST32: &'static [u8; 3usize] = b"lu\0";
pub const PRIuFAST64: &'static [u8; 3usize] = b"lu\0";
pub const PRIx8: &'static [u8; 2usize] = b"x\0";
pub const PRIx16: &'static [u8; 2usize] = b"x\0";
pub const PRIx32: &'static [u8; 2usize] = b"x\0";
pub const PRIx64: &'static [u8; 3usize] = b"lx\0";
pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
pub const PRIxLEAST64: &'static [u8; 3usize] = b"lx\0";
pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
pub const PRIxFAST16: &'static [u8; 3usize] = b"lx\0";
pub const PRIxFAST32: &'static [u8; 3usize] = b"lx\0";
pub const PRIxFAST64: &'static [u8; 3usize] = b"lx\0";
pub const PRIX8: &'static [u8; 2usize] = b"X\0";
pub const PRIX16: &'static [u8; 2usize] = b"X\0";
pub const PRIX32: &'static [u8; 2usize] = b"X\0";
pub const PRIX64: &'static [u8; 3usize] = b"lX\0";
pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
pub const PRIXLEAST64: &'static [u8; 3usize] = b"lX\0";
pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
pub const PRIXFAST16: &'static [u8; 3usize] = b"lX\0";
pub const PRIXFAST32: &'static [u8; 3usize] = b"lX\0";
pub const PRIXFAST64: &'static [u8; 3usize] = b"lX\0";
pub const PRIdMAX: &'static [u8; 3usize] = b"ld\0";
pub const PRIiMAX: &'static [u8; 3usize] = b"li\0";
pub const PRIoMAX: &'static [u8; 3usize] = b"lo\0";
pub const PRIuMAX: &'static [u8; 3usize] = b"lu\0";
pub const PRIxMAX: &'static [u8; 3usize] = b"lx\0";
pub const PRIXMAX: &'static [u8; 3usize] = b"lX\0";
pub const PRIdPTR: &'static [u8; 3usize] = b"ld\0";
pub const PRIiPTR: &'static [u8; 3usize] = b"li\0";
pub const PRIoPTR: &'static [u8; 3usize] = b"lo\0";
pub const PRIuPTR: &'static [u8; 3usize] = b"lu\0";
pub const PRIxPTR: &'static [u8; 3usize] = b"lx\0";
pub const PRIXPTR: &'static [u8; 3usize] = b"lX\0";
pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
pub const SCNd32: &'static [u8; 2usize] = b"d\0";
pub const SCNd64: &'static [u8; 3usize] = b"ld\0";
pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
pub const SCNdLEAST64: &'static [u8; 3usize] = b"ld\0";
pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
pub const SCNdFAST16: &'static [u8; 3usize] = b"ld\0";
pub const SCNdFAST32: &'static [u8; 3usize] = b"ld\0";
pub const SCNdFAST64: &'static [u8; 3usize] = b"ld\0";
pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
pub const SCNi32: &'static [u8; 2usize] = b"i\0";
pub const SCNi64: &'static [u8; 3usize] = b"li\0";
pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
pub const SCNiLEAST64: &'static [u8; 3usize] = b"li\0";
pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
pub const SCNiFAST16: &'static [u8; 3usize] = b"li\0";
pub const SCNiFAST32: &'static [u8; 3usize] = b"li\0";
pub const SCNiFAST64: &'static [u8; 3usize] = b"li\0";
pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
pub const SCNu32: &'static [u8; 2usize] = b"u\0";
pub const SCNu64: &'static [u8; 3usize] = b"lu\0";
pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
pub const SCNuLEAST64: &'static [u8; 3usize] = b"lu\0";
pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
pub const SCNuFAST16: &'static [u8; 3usize] = b"lu\0";
pub const SCNuFAST32: &'static [u8; 3usize] = b"lu\0";
pub const SCNuFAST64: &'static [u8; 3usize] = b"lu\0";
pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
pub const SCNo32: &'static [u8; 2usize] = b"o\0";
pub const SCNo64: &'static [u8; 3usize] = b"lo\0";
pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
pub const SCNoLEAST64: &'static [u8; 3usize] = b"lo\0";
pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
pub const SCNoFAST16: &'static [u8; 3usize] = b"lo\0";
pub const SCNoFAST32: &'static [u8; 3usize] = b"lo\0";
pub const SCNoFAST64: &'static [u8; 3usize] = b"lo\0";
pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
pub const SCNx32: &'static [u8; 2usize] = b"x\0";
pub const SCNx64: &'static [u8; 3usize] = b"lx\0";
pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
pub const SCNxLEAST64: &'static [u8; 3usize] = b"lx\0";
pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
pub const SCNxFAST16: &'static [u8; 3usize] = b"lx\0";
pub const SCNxFAST32: &'static [u8; 3usize] = b"lx\0";
pub const SCNxFAST64: &'static [u8; 3usize] = b"lx\0";
pub const SCNdMAX: &'static [u8; 3usize] = b"ld\0";
pub const SCNiMAX: &'static [u8; 3usize] = b"li\0";
pub const SCNoMAX: &'static [u8; 3usize] = b"lo\0";
pub const SCNuMAX: &'static [u8; 3usize] = b"lu\0";
pub const SCNxMAX: &'static [u8; 3usize] = b"lx\0";
pub const SCNdPTR: &'static [u8; 3usize] = b"ld\0";
pub const SCNiPTR: &'static [u8; 3usize] = b"li\0";
pub const SCNoPTR: &'static [u8; 3usize] = b"lo\0";
pub const SCNuPTR: &'static [u8; 3usize] = b"lu\0";
pub const SCNxPTR: &'static [u8; 3usize] = b"lx\0";
pub const UTHASH_VERSION: f64 = 1.8;
pub const HASH_INITIAL_NUM_BUCKETS: u32 = 32;
pub const HASH_INITIAL_NUM_BUCKETS_LOG2: u32 = 5;
pub const HASH_BKT_CAPACITY_THRESH: u32 = 10;
pub const HASH_SIGNATURE: u32 = 2685476833;
pub const HASH_BLOOM_SIGNATURE: u32 = 2971803890;
pub const _SYS_STAT_H: u32 = 1;
pub const _BITS_STAT_H: u32 = 1;
pub const _STAT_VER_KERNEL: u32 = 0;
pub const _STAT_VER_LINUX: u32 = 1;
pub const _MKNOD_VER_LINUX: u32 = 0;
pub const _STAT_VER: u32 = 1;
pub const __S_IFMT: u32 = 61440;
pub const __S_IFDIR: u32 = 16384;
pub const __S_IFCHR: u32 = 8192;
pub const __S_IFBLK: u32 = 24576;
pub const __S_IFREG: u32 = 32768;
pub const __S_IFIFO: u32 = 4096;
pub const __S_IFLNK: u32 = 40960;
pub const __S_IFSOCK: u32 = 49152;
pub const __S_ISUID: u32 = 2048;
pub const __S_ISGID: u32 = 1024;
pub const __S_ISVTX: u32 = 512;
pub const __S_IREAD: u32 = 256;
pub const __S_IWRITE: u32 = 128;
pub const __S_IEXEC: u32 = 64;
pub const UTIME_NOW: u32 = 1073741823;
pub const UTIME_OMIT: u32 = 1073741822;
pub const S_IFMT: u32 = 61440;
pub const S_IFDIR: u32 = 16384;
pub const S_IFCHR: u32 = 8192;
pub const S_IFBLK: u32 = 24576;
pub const S_IFREG: u32 = 32768;
pub const S_IFIFO: u32 = 4096;
pub const S_IFLNK: u32 = 40960;
pub const S_IFSOCK: u32 = 49152;
pub const S_ISUID: u32 = 2048;
pub const S_ISGID: u32 = 1024;
pub const S_ISVTX: u32 = 512;
pub const S_IRUSR: u32 = 256;
pub const S_IWUSR: u32 = 128;
pub const S_IXUSR: u32 = 64;
pub const S_IRWXU: u32 = 448;
pub const S_IREAD: u32 = 256;
pub const S_IWRITE: u32 = 128;
pub const S_IEXEC: u32 = 64;
pub const S_IRGRP: u32 = 32;
pub const S_IWGRP: u32 = 16;
pub const S_IXGRP: u32 = 8;
pub const S_IRWXG: u32 = 56;
pub const S_IROTH: u32 = 4;
pub const S_IWOTH: u32 = 2;
pub const S_IXOTH: u32 = 1;
pub const S_IRWXO: u32 = 7;
pub const ACCESSPERMS: u32 = 511;
pub const ALLPERMS: u32 = 4095;
pub const DEFFILEMODE: u32 = 438;
pub const S_BLKSIZE: u32 = 512;
pub const _MKNOD_VER: u32 = 0;
pub const true_: u32 = 1;
pub const false_: u32 = 0;
pub const FCITX_INT32_LEN: u32 = 22;
pub const FCITX_INT64_LEN: u32 = 42;
pub const _ERRNO_H: u32 = 1;
pub const _BITS_ERRNO_H: u32 = 1;
pub const EPERM: u32 = 1;
pub const ENOENT: u32 = 2;
pub const ESRCH: u32 = 3;
pub const EINTR: u32 = 4;
pub const EIO: u32 = 5;
pub const ENXIO: u32 = 6;
pub const E2BIG: u32 = 7;
pub const ENOEXEC: u32 = 8;
pub const EBADF: u32 = 9;
pub const ECHILD: u32 = 10;
pub const EAGAIN: u32 = 11;
pub const ENOMEM: u32 = 12;
pub const EACCES: u32 = 13;
pub const EFAULT: u32 = 14;
pub const ENOTBLK: u32 = 15;
pub const EBUSY: u32 = 16;
pub const EEXIST: u32 = 17;
pub const EXDEV: u32 = 18;
pub const ENODEV: u32 = 19;
pub const ENOTDIR: u32 = 20;
pub const EISDIR: u32 = 21;
pub const EINVAL: u32 = 22;
pub const ENFILE: u32 = 23;
pub const EMFILE: u32 = 24;
pub const ENOTTY: u32 = 25;
pub const ETXTBSY: u32 = 26;
pub const EFBIG: u32 = 27;
pub const ENOSPC: u32 = 28;
pub const ESPIPE: u32 = 29;
pub const EROFS: u32 = 30;
pub const EMLINK: u32 = 31;
pub const EPIPE: u32 = 32;
pub const EDOM: u32 = 33;
pub const ERANGE: u32 = 34;
pub const EDEADLK: u32 = 35;
pub const ENAMETOOLONG: u32 = 36;
pub const ENOLCK: u32 = 37;
pub const ENOSYS: u32 = 38;
pub const ENOTEMPTY: u32 = 39;
pub const ELOOP: u32 = 40;
pub const EWOULDBLOCK: u32 = 11;
pub const ENOMSG: u32 = 42;
pub const EIDRM: u32 = 43;
pub const ECHRNG: u32 = 44;
pub const EL2NSYNC: u32 = 45;
pub const EL3HLT: u32 = 46;
pub const EL3RST: u32 = 47;
pub const ELNRNG: u32 = 48;
pub const EUNATCH: u32 = 49;
pub const ENOCSI: u32 = 50;
pub const EL2HLT: u32 = 51;
pub const EBADE: u32 = 52;
pub const EBADR: u32 = 53;
pub const EXFULL: u32 = 54;
pub const ENOANO: u32 = 55;
pub const EBADRQC: u32 = 56;
pub const EBADSLT: u32 = 57;
pub const EDEADLOCK: u32 = 35;
pub const EBFONT: u32 = 59;
pub const ENOSTR: u32 = 60;
pub const ENODATA: u32 = 61;
pub const ETIME: u32 = 62;
pub const ENOSR: u32 = 63;
pub const ENONET: u32 = 64;
pub const ENOPKG: u32 = 65;
pub const EREMOTE: u32 = 66;
pub const ENOLINK: u32 = 67;
pub const EADV: u32 = 68;
pub const ESRMNT: u32 = 69;
pub const ECOMM: u32 = 70;
pub const EPROTO: u32 = 71;
pub const EMULTIHOP: u32 = 72;
pub const EDOTDOT: u32 = 73;
pub const EBADMSG: u32 = 74;
pub const EOVERFLOW: u32 = 75;
pub const ENOTUNIQ: u32 = 76;
pub const EBADFD: u32 = 77;
pub const EREMCHG: u32 = 78;
pub const ELIBACC: u32 = 79;
pub const ELIBBAD: u32 = 80;
pub const ELIBSCN: u32 = 81;
pub const ELIBMAX: u32 = 82;
pub const ELIBEXEC: u32 = 83;
pub const EILSEQ: u32 = 84;
pub const ERESTART: u32 = 85;
pub const ESTRPIPE: u32 = 86;
pub const EUSERS: u32 = 87;
pub const ENOTSOCK: u32 = 88;
pub const EDESTADDRREQ: u32 = 89;
pub const EMSGSIZE: u32 = 90;
pub const EPROTOTYPE: u32 = 91;
pub const ENOPROTOOPT: u32 = 92;
pub const EPROTONOSUPPORT: u32 = 93;
pub const ESOCKTNOSUPPORT: u32 = 94;
pub const EOPNOTSUPP: u32 = 95;
pub const EPFNOSUPPORT: u32 = 96;
pub const EAFNOSUPPORT: u32 = 97;
pub const EADDRINUSE: u32 = 98;
pub const EADDRNOTAVAIL: u32 = 99;
pub const ENETDOWN: u32 = 100;
pub const ENETUNREACH: u32 = 101;
pub const ENETRESET: u32 = 102;
pub const ECONNABORTED: u32 = 103;
pub const ECONNRESET: u32 = 104;
pub const ENOBUFS: u32 = 105;
pub const EISCONN: u32 = 106;
pub const ENOTCONN: u32 = 107;
pub const ESHUTDOWN: u32 = 108;
pub const ETOOMANYREFS: u32 = 109;
pub const ETIMEDOUT: u32 = 110;
pub const ECONNREFUSED: u32 = 111;
pub const EHOSTDOWN: u32 = 112;
pub const EHOSTUNREACH: u32 = 113;
pub const EALREADY: u32 = 114;
pub const EINPROGRESS: u32 = 115;
pub const ESTALE: u32 = 116;
pub const EUCLEAN: u32 = 117;
pub const ENOTNAM: u32 = 118;
pub const ENAVAIL: u32 = 119;
pub const EISNAM: u32 = 120;
pub const EREMOTEIO: u32 = 121;
pub const EDQUOT: u32 = 122;
pub const ENOMEDIUM: u32 = 123;
pub const EMEDIUMTYPE: u32 = 124;
pub const ECANCELED: u32 = 125;
pub const ENOKEY: u32 = 126;
pub const EKEYEXPIRED: u32 = 127;
pub const EKEYREVOKED: u32 = 128;
pub const EKEYREJECTED: u32 = 129;
pub const EOWNERDEAD: u32 = 130;
pub const ENOTRECOVERABLE: u32 = 131;
pub const ERFKILL: u32 = 132;
pub const EHWPOISON: u32 = 133;
pub const ENOTSUP: u32 = 95;
pub const MESSAGE_TYPE_COUNT: u32 = 7;
pub const MESSAGE_MAX_CHARNUM: u32 = 150;
pub const MESSAGE_MAX_LENGTH: u32 = 900;
pub const MAX_MESSAGE_COUNT: u32 = 64;
pub const MAX_USER_INPUT: u32 = 300;
pub const HOT_KEY_COUNT: u32 = 2;
pub const MAX_CAND_LEN: u32 = 127;
pub const LANGCODE_LENGTH: u32 = 5;
pub const PRIORITY_DISABLE: u32 = 100;
pub const PRIORITY_MAGIC_FIRST: u32 = 988455;
pub const _PTHREAD_H: u32 = 1;
pub const _SCHED_H: u32 = 1;
pub const _BITS_SCHED_H: u32 = 1;
pub const SCHED_OTHER: u32 = 0;
pub const SCHED_FIFO: u32 = 1;
pub const SCHED_RR: u32 = 2;
pub const _BITS_CPU_SET_H: u32 = 1;
pub const __CPU_SETSIZE: u32 = 1024;
pub const _BITS_SETJMP_H: u32 = 1;
pub const PTHREAD_ONCE_INIT: u32 = 0;
pub const PTHREAD_BARRIER_SERIAL_THREAD: i32 = -1;
pub const _SEMAPHORE_H: u32 = 1;
pub const __SIZEOF_SEM_T: u32 = 32;
pub const MAX_CAND_WORD: u32 = 10;
pub const DIGIT_STR_CHOOSE: &'static [u8; 11usize] = b"1234567890\0";
pub type __u_char = ::std::os::raw::c_uchar;
pub type __u_short = ::std::os::raw::c_ushort;
pub type __u_int = ::std::os::raw::c_uint;
pub type __u_long = ::std::os::raw::c_ulong;
pub type __int8_t = ::std::os::raw::c_schar;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __int16_t = ::std::os::raw::c_short;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type __quad_t = ::std::os::raw::c_long;
pub type __u_quad_t = ::std::os::raw::c_ulong;
pub type __intmax_t = ::std::os::raw::c_long;
pub type __uintmax_t = ::std::os::raw::c_ulong;
pub type __dev_t = ::std::os::raw::c_ulong;
pub type __uid_t = ::std::os::raw::c_uint;
pub type __gid_t = ::std::os::raw::c_uint;
pub type __ino_t = ::std::os::raw::c_ulong;
pub type __ino64_t = ::std::os::raw::c_ulong;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __nlink_t = ::std::os::raw::c_ulong;
pub type __off_t = ::std::os::raw::c_long;
pub type __off64_t = ::std::os::raw::c_long;
pub type __pid_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct __fsid_t {
    pub __val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
    assert_eq!(
        ::std::mem::size_of::<__fsid_t>(),
        8usize,
        concat!("Size of: ", stringify!(__fsid_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__fsid_t>(),
        4usize,
        concat!("Alignment of ", stringify!(__fsid_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__fsid_t>())).__val as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__fsid_t),
            "::",
            stringify!(__val)
        )
    );
}
pub type __clock_t = ::std::os::raw::c_long;
pub type __rlim_t = ::std::os::raw::c_ulong;
pub type __rlim64_t = ::std::os::raw::c_ulong;
pub type __id_t = ::std::os::raw::c_uint;
pub type __time_t = ::std::os::raw::c_long;
pub type __useconds_t = ::std::os::raw::c_uint;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type __daddr_t = ::std::os::raw::c_int;
pub type __key_t = ::std::os::raw::c_int;
pub type __clockid_t = ::std::os::raw::c_int;
pub type __timer_t = *mut ::std::os::raw::c_void;
pub type __blksize_t = ::std::os::raw::c_long;
pub type __blkcnt_t = ::std::os::raw::c_long;
pub type __blkcnt64_t = ::std::os::raw::c_long;
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
pub type __fsword_t = ::std::os::raw::c_long;
pub type __ssize_t = ::std::os::raw::c_long;
pub type __syscall_slong_t = ::std::os::raw::c_long;
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
pub type __loff_t = __off64_t;
pub type __caddr_t = *mut ::std::os::raw::c_char;
pub type __intptr_t = ::std::os::raw::c_long;
pub type __socklen_t = ::std::os::raw::c_uint;
pub type __sig_atomic_t = ::std::os::raw::c_int;
pub type clock_t = __clock_t;
pub type time_t = __time_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tm {
    pub tm_sec: ::std::os::raw::c_int,
    pub tm_min: ::std::os::raw::c_int,
    pub tm_hour: ::std::os::raw::c_int,
    pub tm_mday: ::std::os::raw::c_int,
    pub tm_mon: ::std::os::raw::c_int,
    pub tm_year: ::std::os::raw::c_int,
    pub tm_wday: ::std::os::raw::c_int,
    pub tm_yday: ::std::os::raw::c_int,
    pub tm_isdst: ::std::os::raw::c_int,
    pub tm_gmtoff: ::std::os::raw::c_long,
    pub tm_zone: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_tm() {
    assert_eq!(
        ::std::mem::size_of::<tm>(),
        56usize,
        concat!("Size of: ", stringify!(tm))
    );
    assert_eq!(
        ::std::mem::align_of::<tm>(),
        8usize,
        concat!("Alignment of ", stringify!(tm))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_min as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_min)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_hour as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_hour)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_mday as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_mday)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_mon as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_mon)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_year as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_year)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_wday as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_wday)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_yday as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_yday)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_isdst as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_isdst)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_gmtoff as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_gmtoff)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_zone as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_zone)
        )
    );
}
impl Default for tm {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct timespec {
    pub tv_sec: __time_t,
    pub tv_nsec: __syscall_slong_t,
}
#[test]
fn bindgen_test_layout_timespec() {
    assert_eq!(
        ::std::mem::size_of::<timespec>(),
        16usize,
        concat!("Size of: ", stringify!(timespec))
    );
    assert_eq!(
        ::std::mem::align_of::<timespec>(),
        8usize,
        concat!("Alignment of ", stringify!(timespec))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_nsec)
        )
    );
}
pub type clockid_t = __clockid_t;
pub type timer_t = __timer_t;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct itimerspec {
    pub it_interval: timespec,
    pub it_value: timespec,
}
#[test]
fn bindgen_test_layout_itimerspec() {
    assert_eq!(
        ::std::mem::size_of::<itimerspec>(),
        32usize,
        concat!("Size of: ", stringify!(itimerspec))
    );
    assert_eq!(
        ::std::mem::align_of::<itimerspec>(),
        8usize,
        concat!("Alignment of ", stringify!(itimerspec))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<itimerspec>())).it_interval as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(itimerspec),
            "::",
            stringify!(it_interval)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<itimerspec>())).it_value as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(itimerspec),
            "::",
            stringify!(it_value)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigevent {
    _unused: [u8; 0],
}
pub type pid_t = __pid_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_struct {
    pub __locales: [*mut __locale_data; 13usize],
    pub __ctype_b: *const ::std::os::raw::c_ushort,
    pub __ctype_tolower: *const ::std::os::raw::c_int,
    pub __ctype_toupper: *const ::std::os::raw::c_int,
    pub __names: [*const ::std::os::raw::c_char; 13usize],
}
#[test]
fn bindgen_test_layout___locale_struct() {
    assert_eq!(
        ::std::mem::size_of::<__locale_struct>(),
        232usize,
        concat!("Size of: ", stringify!(__locale_struct))
    );
    assert_eq!(
        ::std::mem::align_of::<__locale_struct>(),
        8usize,
        concat!("Alignment of ", stringify!(__locale_struct))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__locales as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__locale_struct),
            "::",
            stringify!(__locales)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_b as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(__locale_struct),
            "::",
            stringify!(__ctype_b)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_tolower as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(__locale_struct),
            "::",
            stringify!(__ctype_tolower)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__ctype_toupper as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(__locale_struct),
            "::",
            stringify!(__ctype_toupper)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__locale_struct>())).__names as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(__locale_struct),
            "::",
            stringify!(__names)
        )
    );
}
impl Default for __locale_struct {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type __locale_t = *mut __locale_struct;
pub type locale_t = __locale_t;
extern "C" {
    pub fn clock() -> clock_t;
}
extern "C" {
    pub fn time(__timer: *mut time_t) -> time_t;
}
extern "C" {
    pub fn difftime(__time1: time_t, __time0: time_t) -> f64;
}
extern "C" {
    pub fn mktime(__tp: *mut tm) -> time_t;
}
extern "C" {
    pub fn strftime(
        __s: *mut ::std::os::raw::c_char,
        __maxsize: usize,
        __format: *const ::std::os::raw::c_char,
        __tp: *const tm,
    ) -> usize;
}
extern "C" {
    pub fn strftime_l(
        __s: *mut ::std::os::raw::c_char,
        __maxsize: usize,
        __format: *const ::std::os::raw::c_char,
        __tp: *const tm,
        __loc: locale_t,
    ) -> usize;
}
extern "C" {
    pub fn gmtime(__timer: *const time_t) -> *mut tm;
}
extern "C" {
    pub fn localtime(__timer: *const time_t) -> *mut tm;
}
extern "C" {
    pub fn gmtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
}
extern "C" {
    pub fn localtime_r(__timer: *const time_t, __tp: *mut tm) -> *mut tm;
}
extern "C" {
    pub fn asctime(__tp: *const tm) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn ctime(__timer: *const time_t) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn asctime_r(
        __tp: *const tm,
        __buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn ctime_r(
        __timer: *const time_t,
        __buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    #[link_name = "\u{1}__tzname"]
    pub static mut __tzname: [*mut ::std::os::raw::c_char; 2usize];
}
extern "C" {
    #[link_name = "\u{1}__daylight"]
    pub static mut __daylight: ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}__timezone"]
    pub static mut __timezone: ::std::os::raw::c_long;
}
extern "C" {
    #[link_name = "\u{1}tzname"]
    pub static mut tzname: [*mut ::std::os::raw::c_char; 2usize];
}
extern "C" {
    pub fn tzset();
}
extern "C" {
    #[link_name = "\u{1}daylight"]
    pub static mut daylight: ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}timezone"]
    pub static mut timezone: ::std::os::raw::c_long;
}
extern "C" {
    pub fn stime(__when: *const time_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timegm(__tp: *mut tm) -> time_t;
}
extern "C" {
    pub fn timelocal(__tp: *mut tm) -> time_t;
}
extern "C" {
    pub fn dysize(__year: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn nanosleep(
        __requested_time: *const timespec,
        __remaining: *mut timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clock_getres(__clock_id: clockid_t, __res: *mut timespec) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clock_gettime(__clock_id: clockid_t, __tp: *mut timespec) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clock_settime(__clock_id: clockid_t, __tp: *const timespec) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clock_nanosleep(
        __clock_id: clockid_t,
        __flags: ::std::os::raw::c_int,
        __req: *const timespec,
        __rem: *mut timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clock_getcpuclockid(__pid: pid_t, __clock_id: *mut clockid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_create(
        __clock_id: clockid_t,
        __evp: *mut sigevent,
        __timerid: *mut timer_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_delete(__timerid: timer_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_settime(
        __timerid: timer_t,
        __flags: ::std::os::raw::c_int,
        __value: *const itimerspec,
        __ovalue: *mut itimerspec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_gettime(__timerid: timer_t, __value: *mut itimerspec) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_getoverrun(__timerid: timer_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timespec_get(
        __ts: *mut timespec,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
pub type wchar_t = ::std::os::raw::c_int;
pub type _Float32 = f32;
pub type _Float64 = f64;
pub type _Float32x = f64;
pub type _Float64x = f64;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct div_t {
    pub quot: ::std::os::raw::c_int,
    pub rem: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_div_t() {
    assert_eq!(
        ::std::mem::size_of::<div_t>(),
        8usize,
        concat!("Size of: ", stringify!(div_t))
    );
    assert_eq!(
        ::std::mem::align_of::<div_t>(),
        4usize,
        concat!("Alignment of ", stringify!(div_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<div_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(div_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<div_t>())).rem as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(div_t),
            "::",
            stringify!(rem)
        )
    );
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct ldiv_t {
    pub quot: ::std::os::raw::c_long,
    pub rem: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_ldiv_t() {
    assert_eq!(
        ::std::mem::size_of::<ldiv_t>(),
        16usize,
        concat!("Size of: ", stringify!(ldiv_t))
    );
    assert_eq!(
        ::std::mem::align_of::<ldiv_t>(),
        8usize,
        concat!("Alignment of ", stringify!(ldiv_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ldiv_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ldiv_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ldiv_t>())).rem as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ldiv_t),
            "::",
            stringify!(rem)
        )
    );
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct lldiv_t {
    pub quot: ::std::os::raw::c_longlong,
    pub rem: ::std::os::raw::c_longlong,
}
#[test]
fn bindgen_test_layout_lldiv_t() {
    assert_eq!(
        ::std::mem::size_of::<lldiv_t>(),
        16usize,
        concat!("Size of: ", stringify!(lldiv_t))
    );
    assert_eq!(
        ::std::mem::align_of::<lldiv_t>(),
        8usize,
        concat!("Alignment of ", stringify!(lldiv_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<lldiv_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(lldiv_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<lldiv_t>())).rem as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(lldiv_t),
            "::",
            stringify!(rem)
        )
    );
}
extern "C" {
    pub fn __ctype_get_mb_cur_max() -> usize;
}
extern "C" {
    pub fn atof(__nptr: *const ::std::os::raw::c_char) -> f64;
}
extern "C" {
    pub fn atoi(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn atol(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn atoll(__nptr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn strtod(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
    ) -> f64;
}
extern "C" {
    pub fn strtof(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
    ) -> f32;
}
extern "C" {
    pub fn strtold(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
    ) -> f64;
}
extern "C" {
    pub fn strtol(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn strtoul(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn strtoq(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn strtouq(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn strtoll(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn strtoull(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn l64a(__n: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn a64l(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
}
pub type u_char = __u_char;
pub type u_short = __u_short;
pub type u_int = __u_int;
pub type u_long = __u_long;
pub type quad_t = __quad_t;
pub type u_quad_t = __u_quad_t;
pub type fsid_t = __fsid_t;
pub type loff_t = __loff_t;
pub type ino_t = __ino_t;
pub type dev_t = __dev_t;
pub type gid_t = __gid_t;
pub type mode_t = __mode_t;
pub type nlink_t = __nlink_t;
pub type uid_t = __uid_t;
pub type off_t = __off_t;
pub type id_t = __id_t;
pub type daddr_t = __daddr_t;
pub type caddr_t = __caddr_t;
pub type key_t = __key_t;
pub type ulong = ::std::os::raw::c_ulong;
pub type ushort = ::std::os::raw::c_ushort;
pub type uint = ::std::os::raw::c_uint;
pub type u_int8_t = ::std::os::raw::c_uchar;
pub type u_int16_t = ::std::os::raw::c_ushort;
pub type u_int32_t = ::std::os::raw::c_uint;
pub type u_int64_t = ::std::os::raw::c_ulong;
pub type register_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct __sigset_t {
    pub __val: [::std::os::raw::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
    assert_eq!(
        ::std::mem::size_of::<__sigset_t>(),
        128usize,
        concat!("Size of: ", stringify!(__sigset_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__sigset_t>(),
        8usize,
        concat!("Alignment of ", stringify!(__sigset_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sigset_t>())).__val as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sigset_t),
            "::",
            stringify!(__val)
        )
    );
}
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct timeval {
    pub tv_sec: __time_t,
    pub tv_usec: __suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
    assert_eq!(
        ::std::mem::size_of::<timeval>(),
        16usize,
        concat!("Size of: ", stringify!(timeval))
    );
    assert_eq!(
        ::std::mem::align_of::<timeval>(),
        8usize,
        concat!("Alignment of ", stringify!(timeval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_usec)
        )
    );
}
pub type suseconds_t = __suseconds_t;
pub type __fd_mask = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct fd_set {
    pub __fds_bits: [__fd_mask; 16usize],
}
#[test]
fn bindgen_test_layout_fd_set() {
    assert_eq!(
        ::std::mem::size_of::<fd_set>(),
        128usize,
        concat!("Size of: ", stringify!(fd_set))
    );
    assert_eq!(
        ::std::mem::align_of::<fd_set>(),
        8usize,
        concat!("Alignment of ", stringify!(fd_set))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<fd_set>())).__fds_bits as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(fd_set),
            "::",
            stringify!(__fds_bits)
        )
    );
}
pub type fd_mask = __fd_mask;
extern "C" {
    pub fn select(
        __nfds: ::std::os::raw::c_int,
        __readfds: *mut fd_set,
        __writefds: *mut fd_set,
        __exceptfds: *mut fd_set,
        __timeout: *mut timeval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pselect(
        __nfds: ::std::os::raw::c_int,
        __readfds: *mut fd_set,
        __writefds: *mut fd_set,
        __exceptfds: *mut fd_set,
        __timeout: *const timespec,
        __sigmask: *const __sigset_t,
    ) -> ::std::os::raw::c_int;
}
pub type blksize_t = __blksize_t;
pub type blkcnt_t = __blkcnt_t;
pub type fsblkcnt_t = __fsblkcnt_t;
pub type fsfilcnt_t = __fsfilcnt_t;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct __pthread_rwlock_arch_t {
    pub __readers: ::std::os::raw::c_uint,
    pub __writers: ::std::os::raw::c_uint,
    pub __wrphase_futex: ::std::os::raw::c_uint,
    pub __writers_futex: ::std::os::raw::c_uint,
    pub __pad3: ::std::os::raw::c_uint,
    pub __pad4: ::std::os::raw::c_uint,
    pub __cur_writer: ::std::os::raw::c_int,
    pub __shared: ::std::os::raw::c_int,
    pub __rwelision: ::std::os::raw::c_schar,
    pub __pad1: [::std::os::raw::c_uchar; 7usize],
    pub __pad2: ::std::os::raw::c_ulong,
    pub __flags: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_rwlock_arch_t() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_rwlock_arch_t>(),
        56usize,
        concat!("Size of: ", stringify!(__pthread_rwlock_arch_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_rwlock_arch_t>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_rwlock_arch_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__readers as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__readers)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__writers)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__wrphase_futex as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__wrphase_futex)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__writers_futex as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__writers_futex)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad3 as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad3)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad4 as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad4)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__cur_writer as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__cur_writer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__shared as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__shared)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__rwelision as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__rwelision)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad1 as *const _ as usize },
        33usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__pad2 as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__pad2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_rwlock_arch_t>())).__flags as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_rwlock_arch_t),
            "::",
            stringify!(__flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_list {
    pub __prev: *mut __pthread_internal_list,
    pub __next: *mut __pthread_internal_list,
}
#[test]
fn bindgen_test_layout___pthread_internal_list() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_internal_list>(),
        16usize,
        concat!("Size of: ", stringify!(__pthread_internal_list))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_internal_list>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_internal_list))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__prev as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_internal_list),
            "::",
            stringify!(__prev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_internal_list>())).__next as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_internal_list),
            "::",
            stringify!(__next)
        )
    );
}
impl Default for __pthread_internal_list {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type __pthread_list_t = __pthread_internal_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_mutex_s {
    pub __lock: ::std::os::raw::c_int,
    pub __count: ::std::os::raw::c_uint,
    pub __owner: ::std::os::raw::c_int,
    pub __nusers: ::std::os::raw::c_uint,
    pub __kind: ::std::os::raw::c_int,
    pub __spins: ::std::os::raw::c_short,
    pub __elision: ::std::os::raw::c_short,
    pub __list: __pthread_list_t,
}
#[test]
fn bindgen_test_layout___pthread_mutex_s() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_mutex_s>(),
        40usize,
        concat!("Size of: ", stringify!(__pthread_mutex_s))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_mutex_s>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_mutex_s))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__lock as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__lock)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__count as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__owner as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__owner)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__nusers as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__nusers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__kind as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__kind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__spins as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__spins)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__elision as *const _ as usize },
        22usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__elision)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_mutex_s>())).__list as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_mutex_s),
            "::",
            stringify!(__list)
        )
    );
}
impl Default for __pthread_mutex_s {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __pthread_cond_s {
    pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
    pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
    pub __g_refs: [::std::os::raw::c_uint; 2usize],
    pub __g_size: [::std::os::raw::c_uint; 2usize],
    pub __g1_orig_size: ::std::os::raw::c_uint,
    pub __wrefs: ::std::os::raw::c_uint,
    pub __g_signals: [::std::os::raw::c_uint; 2usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_1 {
    pub __wseq: ::std::os::raw::c_ulonglong,
    pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
    _bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
    pub __low: ::std::os::raw::c_uint,
    pub __high: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__low
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(__low)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1__bindgen_ty_1>())).__high
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(__high)
        )
    );
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_1),
            "::",
            stringify!(__wseq)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_1>())).__wseq32 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_1),
            "::",
            stringify!(__wseq32)
        )
    );
}
impl Default for __pthread_cond_s__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __pthread_cond_s__bindgen_ty_2 {
    pub __g1_start: ::std::os::raw::c_ulonglong,
    pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
    _bindgen_union_align: u64,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
    pub __low: ::std::os::raw::c_uint,
    pub __high: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__low
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(__low)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2__bindgen_ty_1>())).__high
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(__high)
        )
    );
}
#[test]
fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s__bindgen_ty_2>(),
        8usize,
        concat!("Size of: ", stringify!(__pthread_cond_s__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s__bindgen_ty_2>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_cond_s__bindgen_ty_2))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_2),
            "::",
            stringify!(__g1_start)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cond_s__bindgen_ty_2>())).__g1_start32 as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s__bindgen_ty_2),
            "::",
            stringify!(__g1_start32)
        )
    );
}
impl Default for __pthread_cond_s__bindgen_ty_2 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout___pthread_cond_s() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cond_s>(),
        48usize,
        concat!("Size of: ", stringify!(__pthread_cond_s))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cond_s>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_cond_s))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_refs as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g_refs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_size as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g1_orig_size as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g1_orig_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__wrefs as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__wrefs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cond_s>())).__g_signals as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cond_s),
            "::",
            stringify!(__g_signals)
        )
    );
}
impl Default for __pthread_cond_s {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type pthread_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutexattr_t {
    pub __size: [::std::os::raw::c_char; 4usize],
    pub __align: ::std::os::raw::c_int,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_mutexattr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_mutexattr_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_mutexattr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_mutexattr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_mutexattr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutexattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutexattr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutexattr_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for pthread_mutexattr_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_condattr_t {
    pub __size: [::std::os::raw::c_char; 4usize],
    pub __align: ::std::os::raw::c_int,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_condattr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_condattr_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_condattr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_condattr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_condattr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_condattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_condattr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_condattr_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for pthread_condattr_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type pthread_key_t = ::std::os::raw::c_uint;
pub type pthread_once_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_attr_t {
    pub __size: [::std::os::raw::c_char; 56usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_attr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_attr_t>(),
        56usize,
        concat!("Size of: ", stringify!(pthread_attr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_attr_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_attr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for pthread_attr_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_mutex_t {
    pub __data: __pthread_mutex_s,
    pub __size: [::std::os::raw::c_char; 40usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: [u64; 5usize],
}
#[test]
fn bindgen_test_layout_pthread_mutex_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_mutex_t>(),
        40usize,
        concat!("Size of: ", stringify!(pthread_mutex_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_mutex_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_mutex_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for pthread_mutex_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_cond_t {
    pub __data: __pthread_cond_s,
    pub __size: [::std::os::raw::c_char; 48usize],
    pub __align: ::std::os::raw::c_longlong,
    _bindgen_union_align: [u64; 6usize],
}
#[test]
fn bindgen_test_layout_pthread_cond_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_cond_t>(),
        48usize,
        concat!("Size of: ", stringify!(pthread_cond_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_cond_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_cond_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for pthread_cond_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlock_t {
    pub __data: __pthread_rwlock_arch_t,
    pub __size: [::std::os::raw::c_char; 56usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: [u64; 7usize],
}
#[test]
fn bindgen_test_layout_pthread_rwlock_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_rwlock_t>(),
        56usize,
        concat!("Size of: ", stringify!(pthread_rwlock_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_rwlock_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_rwlock_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for pthread_rwlock_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_rwlockattr_t {
    pub __size: [::std::os::raw::c_char; 8usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout_pthread_rwlockattr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_rwlockattr_t>(),
        8usize,
        concat!("Size of: ", stringify!(pthread_rwlockattr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_rwlockattr_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_rwlockattr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlockattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlockattr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlockattr_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for pthread_rwlockattr_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type pthread_spinlock_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrier_t {
    pub __size: [::std::os::raw::c_char; 32usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout_pthread_barrier_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_barrier_t>(),
        32usize,
        concat!("Size of: ", stringify!(pthread_barrier_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_barrier_t>(),
        8usize,
        concat!("Alignment of ", stringify!(pthread_barrier_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrier_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrier_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for pthread_barrier_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union pthread_barrierattr_t {
    pub __size: [::std::os::raw::c_char; 4usize],
    pub __align: ::std::os::raw::c_int,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_pthread_barrierattr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_barrierattr_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_barrierattr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_barrierattr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_barrierattr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrierattr_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_barrierattr_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrierattr_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for pthread_barrierattr_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
extern "C" {
    pub fn random() -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn srandom(__seed: ::std::os::raw::c_uint);
}
extern "C" {
    pub fn initstate(
        __seed: ::std::os::raw::c_uint,
        __statebuf: *mut ::std::os::raw::c_char,
        __statelen: usize,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn setstate(__statebuf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct random_data {
    pub fptr: *mut i32,
    pub rptr: *mut i32,
    pub state: *mut i32,
    pub rand_type: ::std::os::raw::c_int,
    pub rand_deg: ::std::os::raw::c_int,
    pub rand_sep: ::std::os::raw::c_int,
    pub end_ptr: *mut i32,
}
#[test]
fn bindgen_test_layout_random_data() {
    assert_eq!(
        ::std::mem::size_of::<random_data>(),
        48usize,
        concat!("Size of: ", stringify!(random_data))
    );
    assert_eq!(
        ::std::mem::align_of::<random_data>(),
        8usize,
        concat!("Alignment of ", stringify!(random_data))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<random_data>())).fptr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(random_data),
            "::",
            stringify!(fptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<random_data>())).rptr as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(random_data),
            "::",
            stringify!(rptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<random_data>())).state as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(random_data),
            "::",
            stringify!(state)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<random_data>())).rand_type as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(random_data),
            "::",
            stringify!(rand_type)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<random_data>())).rand_deg as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(random_data),
            "::",
            stringify!(rand_deg)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<random_data>())).rand_sep as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(random_data),
            "::",
            stringify!(rand_sep)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<random_data>())).end_ptr as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(random_data),
            "::",
            stringify!(end_ptr)
        )
    );
}
impl Default for random_data {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
extern "C" {
    pub fn random_r(__buf: *mut random_data, __result: *mut i32) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn srandom_r(
        __seed: ::std::os::raw::c_uint,
        __buf: *mut random_data,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn initstate_r(
        __seed: ::std::os::raw::c_uint,
        __statebuf: *mut ::std::os::raw::c_char,
        __statelen: usize,
        __buf: *mut random_data,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setstate_r(
        __statebuf: *mut ::std::os::raw::c_char,
        __buf: *mut random_data,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn rand() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn srand(__seed: ::std::os::raw::c_uint);
}
extern "C" {
    pub fn rand_r(__seed: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn drand48() -> f64;
}
extern "C" {
    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
}
extern "C" {
    pub fn lrand48() -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn mrand48() -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn srand48(__seedval: ::std::os::raw::c_long);
}
extern "C" {
    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
}
extern "C" {
    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct drand48_data {
    pub __x: [::std::os::raw::c_ushort; 3usize],
    pub __old_x: [::std::os::raw::c_ushort; 3usize],
    pub __c: ::std::os::raw::c_ushort,
    pub __init: ::std::os::raw::c_ushort,
    pub __a: ::std::os::raw::c_ulonglong,
}
#[test]
fn bindgen_test_layout_drand48_data() {
    assert_eq!(
        ::std::mem::size_of::<drand48_data>(),
        24usize,
        concat!("Size of: ", stringify!(drand48_data))
    );
    assert_eq!(
        ::std::mem::align_of::<drand48_data>(),
        8usize,
        concat!("Alignment of ", stringify!(drand48_data))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<drand48_data>())).__x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(drand48_data),
            "::",
            stringify!(__x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<drand48_data>())).__old_x as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(drand48_data),
            "::",
            stringify!(__old_x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<drand48_data>())).__c as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(drand48_data),
            "::",
            stringify!(__c)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<drand48_data>())).__init as *const _ as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(drand48_data),
            "::",
            stringify!(__init)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<drand48_data>())).__a as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(drand48_data),
            "::",
            stringify!(__a)
        )
    );
}
extern "C" {
    pub fn drand48_r(__buffer: *mut drand48_data, __result: *mut f64) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn erand48_r(
        __xsubi: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
        __result: *mut f64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn lrand48_r(
        __buffer: *mut drand48_data,
        __result: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn nrand48_r(
        __xsubi: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
        __result: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mrand48_r(
        __buffer: *mut drand48_data,
        __result: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn jrand48_r(
        __xsubi: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
        __result: *mut ::std::os::raw::c_long,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn srand48_r(
        __seedval: ::std::os::raw::c_long,
        __buffer: *mut drand48_data,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn seed48_r(
        __seed16v: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn lcong48_r(
        __param: *mut ::std::os::raw::c_ushort,
        __buffer: *mut drand48_data,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn malloc(__size: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn calloc(__nmemb: usize, __size: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn realloc(
        __ptr: *mut ::std::os::raw::c_void,
        __size: usize,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn free(__ptr: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn alloca(__size: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn posix_memalign(
        __memptr: *mut *mut ::std::os::raw::c_void,
        __alignment: usize,
        __size: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn abort();
}
extern "C" {
    pub fn atexit(__func: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn at_quick_exit(
        __func: ::std::option::Option<unsafe extern "C" fn()>,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn on_exit(
        __func: ::std::option::Option<
            unsafe extern "C" fn(
                __status: ::std::os::raw::c_int,
                __arg: *mut ::std::os::raw::c_void,
            ),
        >,
        __arg: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn exit(__status: ::std::os::raw::c_int);
}
extern "C" {
    pub fn quick_exit(__status: ::std::os::raw::c_int);
}
extern "C" {
    pub fn _Exit(__status: ::std::os::raw::c_int);
}
extern "C" {
    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn putenv(__string: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setenv(
        __name: *const ::std::os::raw::c_char,
        __value: *const ::std::os::raw::c_char,
        __replace: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clearenv() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkstemps(
        __template: *mut ::std::os::raw::c_char,
        __suffixlen: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn realpath(
        __name: *const ::std::os::raw::c_char,
        __resolved: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
pub type __compar_fn_t = ::std::option::Option<
    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_void, arg2: *const ::std::os::raw::c_void)
        -> ::std::os::raw::c_int,
>;
extern "C" {
    pub fn bsearch(
        __key: *const ::std::os::raw::c_void,
        __base: *const ::std::os::raw::c_void,
        __nmemb: usize,
        __size: usize,
        __compar: __compar_fn_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn qsort(
        __base: *mut ::std::os::raw::c_void,
        __nmemb: usize,
        __size: usize,
        __compar: __compar_fn_t,
    );
}
extern "C" {
    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn div(__numer: ::std::os::raw::c_int, __denom: ::std::os::raw::c_int) -> div_t;
}
extern "C" {
    pub fn ldiv(__numer: ::std::os::raw::c_long, __denom: ::std::os::raw::c_long) -> ldiv_t;
}
extern "C" {
    pub fn lldiv(
        __numer: ::std::os::raw::c_longlong,
        __denom: ::std::os::raw::c_longlong,
    ) -> lldiv_t;
}
extern "C" {
    pub fn ecvt(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcvt(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn gcvt(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn qecvt(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn qfcvt(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn qgcvt(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn ecvt_r(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcvt_r(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn qecvt_r(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn qfcvt_r(
        __value: f64,
        __ndigit: ::std::os::raw::c_int,
        __decpt: *mut ::std::os::raw::c_int,
        __sign: *mut ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mbtowc(
        __pwc: *mut wchar_t,
        __s: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn wctomb(__s: *mut ::std::os::raw::c_char, __wchar: wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mbstowcs(__pwcs: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize) -> usize;
}
extern "C" {
    pub fn wcstombs(__s: *mut ::std::os::raw::c_char, __pwcs: *const wchar_t, __n: usize) -> usize;
}
extern "C" {
    pub fn rpmatch(__response: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getsubopt(
        __optionp: *mut *mut ::std::os::raw::c_char,
        __tokens: *const *mut ::std::os::raw::c_char,
        __valuep: *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getloadavg(__loadavg: *mut f64, __nelem: ::std::os::raw::c_int)
        -> ::std::os::raw::c_int;
}
pub type int_least8_t = ::std::os::raw::c_schar;
pub type int_least16_t = ::std::os::raw::c_short;
pub type int_least32_t = ::std::os::raw::c_int;
pub type int_least64_t = ::std::os::raw::c_long;
pub type uint_least8_t = ::std::os::raw::c_uchar;
pub type uint_least16_t = ::std::os::raw::c_ushort;
pub type uint_least32_t = ::std::os::raw::c_uint;
pub type uint_least64_t = ::std::os::raw::c_ulong;
pub type int_fast8_t = ::std::os::raw::c_schar;
pub type int_fast16_t = ::std::os::raw::c_long;
pub type int_fast32_t = ::std::os::raw::c_long;
pub type int_fast64_t = ::std::os::raw::c_long;
pub type uint_fast8_t = ::std::os::raw::c_uchar;
pub type uint_fast16_t = ::std::os::raw::c_ulong;
pub type uint_fast32_t = ::std::os::raw::c_ulong;
pub type uint_fast64_t = ::std::os::raw::c_ulong;
pub type intmax_t = __intmax_t;
pub type uintmax_t = __uintmax_t;
extern "C" {
    pub fn fcitx_utf8_strlen(s: *const ::std::os::raw::c_char) -> usize;
}
extern "C" {
    pub fn fcitx_utf8_get_char(
        in_: *const ::std::os::raw::c_char,
        chr: *mut u32,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utf8_strncmp(
        s1: *const ::std::os::raw::c_char,
        s2: *const ::std::os::raw::c_char,
        n: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utf8_char_len(in_: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utf8_get_nth_char(
        s: *const ::std::os::raw::c_char,
        n: u32,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utf8_check_string(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utf8_get_char_extended(
        p: *const ::std::os::raw::c_char,
        max_len: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utf8_get_char_validated(
        p: *const ::std::os::raw::c_char,
        max_len: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utf8_strncpy(
        str: *mut ::std::os::raw::c_char,
        s: *const ::std::os::raw::c_char,
        byte: usize,
    );
}
extern "C" {
    pub fn fcitx_utf8_strnlen(str: *const ::std::os::raw::c_char, byte: usize) -> usize;
}
extern "C" {
    pub fn fcitx_ucs4_char_len(c: u32) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_ucs4_to_utf8(c: u32, output: *mut ::std::os::raw::c_char)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_get_ascii_part(
        string: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_get_ascii_partn(
        string: *mut ::std::os::raw::c_char,
        len: usize,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_get_ascii_endn(
        string: *const ::std::os::raw::c_char,
        len: usize,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_get_ascii_end(
        string: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
pub const _FcitxKeySym_FcitxKey_None: _FcitxKeySym = 0;
pub const _FcitxKeySym_FcitxKey_VoidSymbol: _FcitxKeySym = 16777215;
pub const _FcitxKeySym_FcitxKey_BackSpace: _FcitxKeySym = 65288;
pub const _FcitxKeySym_FcitxKey_Tab: _FcitxKeySym = 65289;
pub const _FcitxKeySym_FcitxKey_Linefeed: _FcitxKeySym = 65290;
pub const _FcitxKeySym_FcitxKey_Clear: _FcitxKeySym = 65291;
pub const _FcitxKeySym_FcitxKey_Return: _FcitxKeySym = 65293;
pub const _FcitxKeySym_FcitxKey_Pause: _FcitxKeySym = 65299;
pub const _FcitxKeySym_FcitxKey_Scroll_Lock: _FcitxKeySym = 65300;
pub const _FcitxKeySym_FcitxKey_Sys_Req: _FcitxKeySym = 65301;
pub const _FcitxKeySym_FcitxKey_Escape: _FcitxKeySym = 65307;
pub const _FcitxKeySym_FcitxKey_Delete: _FcitxKeySym = 65535;
pub const _FcitxKeySym_FcitxKey_Multi_key: _FcitxKeySym = 65312;
pub const _FcitxKeySym_FcitxKey_Codeinput: _FcitxKeySym = 65335;
pub const _FcitxKeySym_FcitxKey_SingleCandidate: _FcitxKeySym = 65340;
pub const _FcitxKeySym_FcitxKey_MultipleCandidate: _FcitxKeySym = 65341;
pub const _FcitxKeySym_FcitxKey_PreviousCandidate: _FcitxKeySym = 65342;
pub const _FcitxKeySym_FcitxKey_Kanji: _FcitxKeySym = 65313;
pub const _FcitxKeySym_FcitxKey_Muhenkan: _FcitxKeySym = 65314;
pub const _FcitxKeySym_FcitxKey_Henkan_Mode: _FcitxKeySym = 65315;
pub const _FcitxKeySym_FcitxKey_Henkan: _FcitxKeySym = 65315;
pub const _FcitxKeySym_FcitxKey_Romaji: _FcitxKeySym = 65316;
pub const _FcitxKeySym_FcitxKey_Hiragana: _FcitxKeySym = 65317;
pub const _FcitxKeySym_FcitxKey_Katakana: _FcitxKeySym = 65318;
pub const _FcitxKeySym_FcitxKey_Hiragana_Katakana: _FcitxKeySym = 65319;
pub const _FcitxKeySym_FcitxKey_Zenkaku: _FcitxKeySym = 65320;
pub const _FcitxKeySym_FcitxKey_Hankaku: _FcitxKeySym = 65321;
pub const _FcitxKeySym_FcitxKey_Zenkaku_Hankaku: _FcitxKeySym = 65322;
pub const _FcitxKeySym_FcitxKey_Touroku: _FcitxKeySym = 65323;
pub const _FcitxKeySym_FcitxKey_Massyo: _FcitxKeySym = 65324;
pub const _FcitxKeySym_FcitxKey_Kana_Lock: _FcitxKeySym = 65325;
pub const _FcitxKeySym_FcitxKey_Kana_Shift: _FcitxKeySym = 65326;
pub const _FcitxKeySym_FcitxKey_Eisu_Shift: _FcitxKeySym = 65327;
pub const _FcitxKeySym_FcitxKey_Eisu_toggle: _FcitxKeySym = 65328;
pub const _FcitxKeySym_FcitxKey_Kanji_Bangou: _FcitxKeySym = 65335;
pub const _FcitxKeySym_FcitxKey_Zen_Koho: _FcitxKeySym = 65341;
pub const _FcitxKeySym_FcitxKey_Mae_Koho: _FcitxKeySym = 65342;
pub const _FcitxKeySym_FcitxKey_Home: _FcitxKeySym = 65360;
pub const _FcitxKeySym_FcitxKey_Left: _FcitxKeySym = 65361;
pub const _FcitxKeySym_FcitxKey_Up: _FcitxKeySym = 65362;
pub const _FcitxKeySym_FcitxKey_Right: _FcitxKeySym = 65363;
pub const _FcitxKeySym_FcitxKey_Down: _FcitxKeySym = 65364;
pub const _FcitxKeySym_FcitxKey_Prior: _FcitxKeySym = 65365;
pub const _FcitxKeySym_FcitxKey_Page_Up: _FcitxKeySym = 65365;
pub const _FcitxKeySym_FcitxKey_Next: _FcitxKeySym = 65366;
pub const _FcitxKeySym_FcitxKey_Page_Down: _FcitxKeySym = 65366;
pub const _FcitxKeySym_FcitxKey_End: _FcitxKeySym = 65367;
pub const _FcitxKeySym_FcitxKey_Begin: _FcitxKeySym = 65368;
pub const _FcitxKeySym_FcitxKey_Select: _FcitxKeySym = 65376;
pub const _FcitxKeySym_FcitxKey_Print: _FcitxKeySym = 65377;
pub const _FcitxKeySym_FcitxKey_Execute: _FcitxKeySym = 65378;
pub const _FcitxKeySym_FcitxKey_Insert: _FcitxKeySym = 65379;
pub const _FcitxKeySym_FcitxKey_Undo: _FcitxKeySym = 65381;
pub const _FcitxKeySym_FcitxKey_Redo: _FcitxKeySym = 65382;
pub const _FcitxKeySym_FcitxKey_Menu: _FcitxKeySym = 65383;
pub const _FcitxKeySym_FcitxKey_Find: _FcitxKeySym = 65384;
pub const _FcitxKeySym_FcitxKey_Cancel: _FcitxKeySym = 65385;
pub const _FcitxKeySym_FcitxKey_Help: _FcitxKeySym = 65386;
pub const _FcitxKeySym_FcitxKey_Break: _FcitxKeySym = 65387;
pub const _FcitxKeySym_FcitxKey_Mode_switch: _FcitxKeySym = 65406;
pub const _FcitxKeySym_FcitxKey_script_switch: _FcitxKeySym = 65406;
pub const _FcitxKeySym_FcitxKey_Num_Lock: _FcitxKeySym = 65407;
pub const _FcitxKeySym_FcitxKey_KP_Space: _FcitxKeySym = 65408;
pub const _FcitxKeySym_FcitxKey_KP_Tab: _FcitxKeySym = 65417;
pub const _FcitxKeySym_FcitxKey_KP_Enter: _FcitxKeySym = 65421;
pub const _FcitxKeySym_FcitxKey_KP_F1: _FcitxKeySym = 65425;
pub const _FcitxKeySym_FcitxKey_KP_F2: _FcitxKeySym = 65426;
pub const _FcitxKeySym_FcitxKey_KP_F3: _FcitxKeySym = 65427;
pub const _FcitxKeySym_FcitxKey_KP_F4: _FcitxKeySym = 65428;
pub const _FcitxKeySym_FcitxKey_KP_Home: _FcitxKeySym = 65429;
pub const _FcitxKeySym_FcitxKey_KP_Left: _FcitxKeySym = 65430;
pub const _FcitxKeySym_FcitxKey_KP_Up: _FcitxKeySym = 65431;
pub const _FcitxKeySym_FcitxKey_KP_Right: _FcitxKeySym = 65432;
pub const _FcitxKeySym_FcitxKey_KP_Down: _FcitxKeySym = 65433;
pub const _FcitxKeySym_FcitxKey_KP_Prior: _FcitxKeySym = 65434;
pub const _FcitxKeySym_FcitxKey_KP_Page_Up: _FcitxKeySym = 65434;
pub const _FcitxKeySym_FcitxKey_KP_Next: _FcitxKeySym = 65435;
pub const _FcitxKeySym_FcitxKey_KP_Page_Down: _FcitxKeySym = 65435;
pub const _FcitxKeySym_FcitxKey_KP_End: _FcitxKeySym = 65436;
pub const _FcitxKeySym_FcitxKey_KP_Begin: _FcitxKeySym = 65437;
pub const _FcitxKeySym_FcitxKey_KP_Insert: _FcitxKeySym = 65438;
pub const _FcitxKeySym_FcitxKey_KP_Delete: _FcitxKeySym = 65439;
pub const _FcitxKeySym_FcitxKey_KP_Equal: _FcitxKeySym = 65469;
pub const _FcitxKeySym_FcitxKey_KP_Multiply: _FcitxKeySym = 65450;
pub const _FcitxKeySym_FcitxKey_KP_Add: _FcitxKeySym = 65451;
pub const _FcitxKeySym_FcitxKey_KP_Separator: _FcitxKeySym = 65452;
pub const _FcitxKeySym_FcitxKey_KP_Subtract: _FcitxKeySym = 65453;
pub const _FcitxKeySym_FcitxKey_KP_Decimal: _FcitxKeySym = 65454;
pub const _FcitxKeySym_FcitxKey_KP_Divide: _FcitxKeySym = 65455;
pub const _FcitxKeySym_FcitxKey_KP_0: _FcitxKeySym = 65456;
pub const _FcitxKeySym_FcitxKey_KP_1: _FcitxKeySym = 65457;
pub const _FcitxKeySym_FcitxKey_KP_2: _FcitxKeySym = 65458;
pub const _FcitxKeySym_FcitxKey_KP_3: _FcitxKeySym = 65459;
pub const _FcitxKeySym_FcitxKey_KP_4: _FcitxKeySym = 65460;
pub const _FcitxKeySym_FcitxKey_KP_5: _FcitxKeySym = 65461;
pub const _FcitxKeySym_FcitxKey_KP_6: _FcitxKeySym = 65462;
pub const _FcitxKeySym_FcitxKey_KP_7: _FcitxKeySym = 65463;
pub const _FcitxKeySym_FcitxKey_KP_8: _FcitxKeySym = 65464;
pub const _FcitxKeySym_FcitxKey_KP_9: _FcitxKeySym = 65465;
pub const _FcitxKeySym_FcitxKey_F1: _FcitxKeySym = 65470;
pub const _FcitxKeySym_FcitxKey_F2: _FcitxKeySym = 65471;
pub const _FcitxKeySym_FcitxKey_F3: _FcitxKeySym = 65472;
pub const _FcitxKeySym_FcitxKey_F4: _FcitxKeySym = 65473;
pub const _FcitxKeySym_FcitxKey_F5: _FcitxKeySym = 65474;
pub const _FcitxKeySym_FcitxKey_F6: _FcitxKeySym = 65475;
pub const _FcitxKeySym_FcitxKey_F7: _FcitxKeySym = 65476;
pub const _FcitxKeySym_FcitxKey_F8: _FcitxKeySym = 65477;
pub const _FcitxKeySym_FcitxKey_F9: _FcitxKeySym = 65478;
pub const _FcitxKeySym_FcitxKey_F10: _FcitxKeySym = 65479;
pub const _FcitxKeySym_FcitxKey_F11: _FcitxKeySym = 65480;
pub const _FcitxKeySym_FcitxKey_L1: _FcitxKeySym = 65480;
pub const _FcitxKeySym_FcitxKey_F12: _FcitxKeySym = 65481;
pub const _FcitxKeySym_FcitxKey_L2: _FcitxKeySym = 65481;
pub const _FcitxKeySym_FcitxKey_F13: _FcitxKeySym = 65482;
pub const _FcitxKeySym_FcitxKey_L3: _FcitxKeySym = 65482;
pub const _FcitxKeySym_FcitxKey_F14: _FcitxKeySym = 65483;
pub const _FcitxKeySym_FcitxKey_L4: _FcitxKeySym = 65483;
pub const _FcitxKeySym_FcitxKey_F15: _FcitxKeySym = 65484;
pub const _FcitxKeySym_FcitxKey_L5: _FcitxKeySym = 65484;
pub const _FcitxKeySym_FcitxKey_F16: _FcitxKeySym = 65485;
pub const _FcitxKeySym_FcitxKey_L6: _FcitxKeySym = 65485;
pub const _FcitxKeySym_FcitxKey_F17: _FcitxKeySym = 65486;
pub const _FcitxKeySym_FcitxKey_L7: _FcitxKeySym = 65486;
pub const _FcitxKeySym_FcitxKey_F18: _FcitxKeySym = 65487;
pub const _FcitxKeySym_FcitxKey_L8: _FcitxKeySym = 65487;
pub const _FcitxKeySym_FcitxKey_F19: _FcitxKeySym = 65488;
pub const _FcitxKeySym_FcitxKey_L9: _FcitxKeySym = 65488;
pub const _FcitxKeySym_FcitxKey_F20: _FcitxKeySym = 65489;
pub const _FcitxKeySym_FcitxKey_L10: _FcitxKeySym = 65489;
pub const _FcitxKeySym_FcitxKey_F21: _FcitxKeySym = 65490;
pub const _FcitxKeySym_FcitxKey_R1: _FcitxKeySym = 65490;
pub const _FcitxKeySym_FcitxKey_F22: _FcitxKeySym = 65491;
pub const _FcitxKeySym_FcitxKey_R2: _FcitxKeySym = 65491;
pub const _FcitxKeySym_FcitxKey_F23: _FcitxKeySym = 65492;
pub const _FcitxKeySym_FcitxKey_R3: _FcitxKeySym = 65492;
pub const _FcitxKeySym_FcitxKey_F24: _FcitxKeySym = 65493;
pub const _FcitxKeySym_FcitxKey_R4: _FcitxKeySym = 65493;
pub const _FcitxKeySym_FcitxKey_F25: _FcitxKeySym = 65494;
pub const _FcitxKeySym_FcitxKey_R5: _FcitxKeySym = 65494;
pub const _FcitxKeySym_FcitxKey_F26: _FcitxKeySym = 65495;
pub const _FcitxKeySym_FcitxKey_R6: _FcitxKeySym = 65495;
pub const _FcitxKeySym_FcitxKey_F27: _FcitxKeySym = 65496;
pub const _FcitxKeySym_FcitxKey_R7: _FcitxKeySym = 65496;
pub const _FcitxKeySym_FcitxKey_F28: _FcitxKeySym = 65497;
pub const _FcitxKeySym_FcitxKey_R8: _FcitxKeySym = 65497;
pub const _FcitxKeySym_FcitxKey_F29: _FcitxKeySym = 65498;
pub const _FcitxKeySym_FcitxKey_R9: _FcitxKeySym = 65498;
pub const _FcitxKeySym_FcitxKey_F30: _FcitxKeySym = 65499;
pub const _FcitxKeySym_FcitxKey_R10: _FcitxKeySym = 65499;
pub const _FcitxKeySym_FcitxKey_F31: _FcitxKeySym = 65500;
pub const _FcitxKeySym_FcitxKey_R11: _FcitxKeySym = 65500;
pub const _FcitxKeySym_FcitxKey_F32: _FcitxKeySym = 65501;
pub const _FcitxKeySym_FcitxKey_R12: _FcitxKeySym = 65501;
pub const _FcitxKeySym_FcitxKey_F33: _FcitxKeySym = 65502;
pub const _FcitxKeySym_FcitxKey_R13: _FcitxKeySym = 65502;
pub const _FcitxKeySym_FcitxKey_F34: _FcitxKeySym = 65503;
pub const _FcitxKeySym_FcitxKey_R14: _FcitxKeySym = 65503;
pub const _FcitxKeySym_FcitxKey_F35: _FcitxKeySym = 65504;
pub const _FcitxKeySym_FcitxKey_R15: _FcitxKeySym = 65504;
pub const _FcitxKeySym_FcitxKey_Shift_L: _FcitxKeySym = 65505;
pub const _FcitxKeySym_FcitxKey_Shift_R: _FcitxKeySym = 65506;
pub const _FcitxKeySym_FcitxKey_Control_L: _FcitxKeySym = 65507;
pub const _FcitxKeySym_FcitxKey_Control_R: _FcitxKeySym = 65508;
pub const _FcitxKeySym_FcitxKey_Caps_Lock: _FcitxKeySym = 65509;
pub const _FcitxKeySym_FcitxKey_Shift_Lock: _FcitxKeySym = 65510;
pub const _FcitxKeySym_FcitxKey_Meta_L: _FcitxKeySym = 65511;
pub const _FcitxKeySym_FcitxKey_Meta_R: _FcitxKeySym = 65512;
pub const _FcitxKeySym_FcitxKey_Alt_L: _FcitxKeySym = 65513;
pub const _FcitxKeySym_FcitxKey_Alt_R: _FcitxKeySym = 65514;
pub const _FcitxKeySym_FcitxKey_Super_L: _FcitxKeySym = 65515;
pub const _FcitxKeySym_FcitxKey_Super_R: _FcitxKeySym = 65516;
pub const _FcitxKeySym_FcitxKey_Hyper_L: _FcitxKeySym = 65517;
pub const _FcitxKeySym_FcitxKey_Hyper_R: _FcitxKeySym = 65518;
pub const _FcitxKeySym_FcitxKey_ISO_Lock: _FcitxKeySym = 65025;
pub const _FcitxKeySym_FcitxKey_ISO_Level2_Latch: _FcitxKeySym = 65026;
pub const _FcitxKeySym_FcitxKey_ISO_Level3_Shift: _FcitxKeySym = 65027;
pub const _FcitxKeySym_FcitxKey_ISO_Level3_Latch: _FcitxKeySym = 65028;
pub const _FcitxKeySym_FcitxKey_ISO_Level3_Lock: _FcitxKeySym = 65029;
pub const _FcitxKeySym_FcitxKey_ISO_Level5_Shift: _FcitxKeySym = 65041;
pub const _FcitxKeySym_FcitxKey_ISO_Level5_Latch: _FcitxKeySym = 65042;
pub const _FcitxKeySym_FcitxKey_ISO_Level5_Lock: _FcitxKeySym = 65043;
pub const _FcitxKeySym_FcitxKey_ISO_Group_Shift: _FcitxKeySym = 65406;
pub const _FcitxKeySym_FcitxKey_ISO_Group_Latch: _FcitxKeySym = 65030;
pub const _FcitxKeySym_FcitxKey_ISO_Group_Lock: _FcitxKeySym = 65031;
pub const _FcitxKeySym_FcitxKey_ISO_Next_Group: _FcitxKeySym = 65032;
pub const _FcitxKeySym_FcitxKey_ISO_Next_Group_Lock: _FcitxKeySym = 65033;
pub const _FcitxKeySym_FcitxKey_ISO_Prev_Group: _FcitxKeySym = 65034;
pub const _FcitxKeySym_FcitxKey_ISO_Prev_Group_Lock: _FcitxKeySym = 65035;
pub const _FcitxKeySym_FcitxKey_ISO_First_Group: _FcitxKeySym = 65036;
pub const _FcitxKeySym_FcitxKey_ISO_First_Group_Lock: _FcitxKeySym = 65037;
pub const _FcitxKeySym_FcitxKey_ISO_Last_Group: _FcitxKeySym = 65038;
pub const _FcitxKeySym_FcitxKey_ISO_Last_Group_Lock: _FcitxKeySym = 65039;
pub const _FcitxKeySym_FcitxKey_ISO_Left_Tab: _FcitxKeySym = 65056;
pub const _FcitxKeySym_FcitxKey_ISO_Move_Line_Up: _FcitxKeySym = 65057;
pub const _FcitxKeySym_FcitxKey_ISO_Move_Line_Down: _FcitxKeySym = 65058;
pub const _FcitxKeySym_FcitxKey_ISO_Partial_Line_Up: _FcitxKeySym = 65059;
pub const _FcitxKeySym_FcitxKey_ISO_Partial_Line_Down: _FcitxKeySym = 65060;
pub const _FcitxKeySym_FcitxKey_ISO_Partial_Space_Left: _FcitxKeySym = 65061;
pub const _FcitxKeySym_FcitxKey_ISO_Partial_Space_Right: _FcitxKeySym = 65062;
pub const _FcitxKeySym_FcitxKey_ISO_Set_Margin_Left: _FcitxKeySym = 65063;
pub const _FcitxKeySym_FcitxKey_ISO_Set_Margin_Right: _FcitxKeySym = 65064;
pub const _FcitxKeySym_FcitxKey_ISO_Release_Margin_Left: _FcitxKeySym = 65065;
pub const _FcitxKeySym_FcitxKey_ISO_Release_Margin_Right: _FcitxKeySym = 65066;
pub const _FcitxKeySym_FcitxKey_ISO_Release_Both_Margins: _FcitxKeySym = 65067;
pub const _FcitxKeySym_FcitxKey_ISO_Fast_Cursor_Left: _FcitxKeySym = 65068;
pub const _FcitxKeySym_FcitxKey_ISO_Fast_Cursor_Right: _FcitxKeySym = 65069;
pub const _FcitxKeySym_FcitxKey_ISO_Fast_Cursor_Up: _FcitxKeySym = 65070;
pub const _FcitxKeySym_FcitxKey_ISO_Fast_Cursor_Down: _FcitxKeySym = 65071;
pub const _FcitxKeySym_FcitxKey_ISO_Continuous_Underline: _FcitxKeySym = 65072;
pub const _FcitxKeySym_FcitxKey_ISO_Discontinuous_Underline: _FcitxKeySym = 65073;
pub const _FcitxKeySym_FcitxKey_ISO_Emphasize: _FcitxKeySym = 65074;
pub const _FcitxKeySym_FcitxKey_ISO_Center_Object: _FcitxKeySym = 65075;
pub const _FcitxKeySym_FcitxKey_ISO_Enter: _FcitxKeySym = 65076;
pub const _FcitxKeySym_FcitxKey_dead_grave: _FcitxKeySym = 65104;
pub const _FcitxKeySym_FcitxKey_dead_acute: _FcitxKeySym = 65105;
pub const _FcitxKeySym_FcitxKey_dead_circumflex: _FcitxKeySym = 65106;
pub const _FcitxKeySym_FcitxKey_dead_tilde: _FcitxKeySym = 65107;
pub const _FcitxKeySym_FcitxKey_dead_perispomeni: _FcitxKeySym = 65107;
pub const _FcitxKeySym_FcitxKey_dead_macron: _FcitxKeySym = 65108;
pub const _FcitxKeySym_FcitxKey_dead_breve: _FcitxKeySym = 65109;
pub const _FcitxKeySym_FcitxKey_dead_abovedot: _FcitxKeySym = 65110;
pub const _FcitxKeySym_FcitxKey_dead_diaeresis: _FcitxKeySym = 65111;
pub const _FcitxKeySym_FcitxKey_dead_abovering: _FcitxKeySym = 65112;
pub const _FcitxKeySym_FcitxKey_dead_doubleacute: _FcitxKeySym = 65113;
pub const _FcitxKeySym_FcitxKey_dead_caron: _FcitxKeySym = 65114;
pub const _FcitxKeySym_FcitxKey_dead_cedilla: _FcitxKeySym = 65115;
pub const _FcitxKeySym_FcitxKey_dead_ogonek: _FcitxKeySym = 65116;
pub const _FcitxKeySym_FcitxKey_dead_iota: _FcitxKeySym = 65117;
pub const _FcitxKeySym_FcitxKey_dead_voiced_sound: _FcitxKeySym = 65118;
pub const _FcitxKeySym_FcitxKey_dead_semivoiced_sound: _FcitxKeySym = 65119;
pub const _FcitxKeySym_FcitxKey_dead_belowdot: _FcitxKeySym = 65120;
pub const _FcitxKeySym_FcitxKey_dead_hook: _FcitxKeySym = 65121;
pub const _FcitxKeySym_FcitxKey_dead_horn: _FcitxKeySym = 65122;
pub const _FcitxKeySym_FcitxKey_dead_stroke: _FcitxKeySym = 65123;
pub const _FcitxKeySym_FcitxKey_dead_abovecomma: _FcitxKeySym = 65124;
pub const _FcitxKeySym_FcitxKey_dead_psili: _FcitxKeySym = 65124;
pub const _FcitxKeySym_FcitxKey_dead_abovereversedcomma: _FcitxKeySym = 65125;
pub const _FcitxKeySym_FcitxKey_dead_dasia: _FcitxKeySym = 65125;
pub const _FcitxKeySym_FcitxKey_dead_doublegrave: _FcitxKeySym = 65126;
pub const _FcitxKeySym_FcitxKey_dead_belowring: _FcitxKeySym = 65127;
pub const _FcitxKeySym_FcitxKey_dead_belowmacron: _FcitxKeySym = 65128;
pub const _FcitxKeySym_FcitxKey_dead_belowcircumflex: _FcitxKeySym = 65129;
pub const _FcitxKeySym_FcitxKey_dead_belowtilde: _FcitxKeySym = 65130;
pub const _FcitxKeySym_FcitxKey_dead_belowbreve: _FcitxKeySym = 65131;
pub const _FcitxKeySym_FcitxKey_dead_belowdiaeresis: _FcitxKeySym = 65132;
pub const _FcitxKeySym_FcitxKey_dead_invertedbreve: _FcitxKeySym = 65133;
pub const _FcitxKeySym_FcitxKey_dead_belowcomma: _FcitxKeySym = 65134;
pub const _FcitxKeySym_FcitxKey_dead_currency: _FcitxKeySym = 65135;
pub const _FcitxKeySym_FcitxKey_dead_a: _FcitxKeySym = 65152;
pub const _FcitxKeySym_FcitxKey_dead_A: _FcitxKeySym = 65153;
pub const _FcitxKeySym_FcitxKey_dead_e: _FcitxKeySym = 65154;
pub const _FcitxKeySym_FcitxKey_dead_E: _FcitxKeySym = 65155;
pub const _FcitxKeySym_FcitxKey_dead_i: _FcitxKeySym = 65156;
pub const _FcitxKeySym_FcitxKey_dead_I: _FcitxKeySym = 65157;
pub const _FcitxKeySym_FcitxKey_dead_o: _FcitxKeySym = 65158;
pub const _FcitxKeySym_FcitxKey_dead_O: _FcitxKeySym = 65159;
pub const _FcitxKeySym_FcitxKey_dead_u: _FcitxKeySym = 65160;
pub const _FcitxKeySym_FcitxKey_dead_U: _FcitxKeySym = 65161;
pub const _FcitxKeySym_FcitxKey_dead_small_schwa: _FcitxKeySym = 65162;
pub const _FcitxKeySym_FcitxKey_dead_capital_schwa: _FcitxKeySym = 65163;
pub const _FcitxKeySym_FcitxKey_dead_greek: _FcitxKeySym = 65164;
pub const _FcitxKeySym_FcitxKey_First_Virtual_Screen: _FcitxKeySym = 65232;
pub const _FcitxKeySym_FcitxKey_Prev_Virtual_Screen: _FcitxKeySym = 65233;
pub const _FcitxKeySym_FcitxKey_Next_Virtual_Screen: _FcitxKeySym = 65234;
pub const _FcitxKeySym_FcitxKey_Last_Virtual_Screen: _FcitxKeySym = 65236;
pub const _FcitxKeySym_FcitxKey_Terminate_Server: _FcitxKeySym = 65237;
pub const _FcitxKeySym_FcitxKey_AccessX_Enable: _FcitxKeySym = 65136;
pub const _FcitxKeySym_FcitxKey_AccessX_Feedback_Enable: _FcitxKeySym = 65137;
pub const _FcitxKeySym_FcitxKey_RepeatKeys_Enable: _FcitxKeySym = 65138;
pub const _FcitxKeySym_FcitxKey_SlowKeys_Enable: _FcitxKeySym = 65139;
pub const _FcitxKeySym_FcitxKey_BounceKeys_Enable: _FcitxKeySym = 65140;
pub const _FcitxKeySym_FcitxKey_StickyKeys_Enable: _FcitxKeySym = 65141;
pub const _FcitxKeySym_FcitxKey_MouseKeys_Enable: _FcitxKeySym = 65142;
pub const _FcitxKeySym_FcitxKey_MouseKeys_Accel_Enable: _FcitxKeySym = 65143;
pub const _FcitxKeySym_FcitxKey_Overlay1_Enable: _FcitxKeySym = 65144;
pub const _FcitxKeySym_FcitxKey_Overlay2_Enable: _FcitxKeySym = 65145;
pub const _FcitxKeySym_FcitxKey_AudibleBell_Enable: _FcitxKeySym = 65146;
pub const _FcitxKeySym_FcitxKey_Pointer_Left: _FcitxKeySym = 65248;
pub const _FcitxKeySym_FcitxKey_Pointer_Right: _FcitxKeySym = 65249;
pub const _FcitxKeySym_FcitxKey_Pointer_Up: _FcitxKeySym = 65250;
pub const _FcitxKeySym_FcitxKey_Pointer_Down: _FcitxKeySym = 65251;
pub const _FcitxKeySym_FcitxKey_Pointer_UpLeft: _FcitxKeySym = 65252;
pub const _FcitxKeySym_FcitxKey_Pointer_UpRight: _FcitxKeySym = 65253;
pub const _FcitxKeySym_FcitxKey_Pointer_DownLeft: _FcitxKeySym = 65254;
pub const _FcitxKeySym_FcitxKey_Pointer_DownRight: _FcitxKeySym = 65255;
pub const _FcitxKeySym_FcitxKey_Pointer_Button_Dflt: _FcitxKeySym = 65256;
pub const _FcitxKeySym_FcitxKey_Pointer_Button1: _FcitxKeySym = 65257;
pub const _FcitxKeySym_FcitxKey_Pointer_Button2: _FcitxKeySym = 65258;
pub const _FcitxKeySym_FcitxKey_Pointer_Button3: _FcitxKeySym = 65259;
pub const _FcitxKeySym_FcitxKey_Pointer_Button4: _FcitxKeySym = 65260;
pub const _FcitxKeySym_FcitxKey_Pointer_Button5: _FcitxKeySym = 65261;
pub const _FcitxKeySym_FcitxKey_Pointer_DblClick_Dflt: _FcitxKeySym = 65262;
pub const _FcitxKeySym_FcitxKey_Pointer_DblClick1: _FcitxKeySym = 65263;
pub const _FcitxKeySym_FcitxKey_Pointer_DblClick2: _FcitxKeySym = 65264;
pub const _FcitxKeySym_FcitxKey_Pointer_DblClick3: _FcitxKeySym = 65265;
pub const _FcitxKeySym_FcitxKey_Pointer_DblClick4: _FcitxKeySym = 65266;
pub const _FcitxKeySym_FcitxKey_Pointer_DblClick5: _FcitxKeySym = 65267;
pub const _FcitxKeySym_FcitxKey_Pointer_Drag_Dflt: _FcitxKeySym = 65268;
pub const _FcitxKeySym_FcitxKey_Pointer_Drag1: _FcitxKeySym = 65269;
pub const _FcitxKeySym_FcitxKey_Pointer_Drag2: _FcitxKeySym = 65270;
pub const _FcitxKeySym_FcitxKey_Pointer_Drag3: _FcitxKeySym = 65271;
pub const _FcitxKeySym_FcitxKey_Pointer_Drag4: _FcitxKeySym = 65272;
pub const _FcitxKeySym_FcitxKey_Pointer_Drag5: _FcitxKeySym = 65277;
pub const _FcitxKeySym_FcitxKey_Pointer_EnableKeys: _FcitxKeySym = 65273;
pub const _FcitxKeySym_FcitxKey_Pointer_Accelerate: _FcitxKeySym = 65274;
pub const _FcitxKeySym_FcitxKey_Pointer_DfltBtnNext: _FcitxKeySym = 65275;
pub const _FcitxKeySym_FcitxKey_Pointer_DfltBtnPrev: _FcitxKeySym = 65276;
pub const _FcitxKeySym_FcitxKey_ch: _FcitxKeySym = 65184;
pub const _FcitxKeySym_FcitxKey_Ch: _FcitxKeySym = 65185;
pub const _FcitxKeySym_FcitxKey_CH: _FcitxKeySym = 65186;
pub const _FcitxKeySym_FcitxKey_c_h: _FcitxKeySym = 65187;
pub const _FcitxKeySym_FcitxKey_C_h: _FcitxKeySym = 65188;
pub const _FcitxKeySym_FcitxKey_C_H: _FcitxKeySym = 65189;
pub const _FcitxKeySym_FcitxKey_3270_Duplicate: _FcitxKeySym = 64769;
pub const _FcitxKeySym_FcitxKey_3270_FieldMark: _FcitxKeySym = 64770;
pub const _FcitxKeySym_FcitxKey_3270_Right2: _FcitxKeySym = 64771;
pub const _FcitxKeySym_FcitxKey_3270_Left2: _FcitxKeySym = 64772;
pub const _FcitxKeySym_FcitxKey_3270_BackTab: _FcitxKeySym = 64773;
pub const _FcitxKeySym_FcitxKey_3270_EraseEOF: _FcitxKeySym = 64774;
pub const _FcitxKeySym_FcitxKey_3270_EraseInput: _FcitxKeySym = 64775;
pub const _FcitxKeySym_FcitxKey_3270_Reset: _FcitxKeySym = 64776;
pub const _FcitxKeySym_FcitxKey_3270_Quit: _FcitxKeySym = 64777;
pub const _FcitxKeySym_FcitxKey_3270_PA1: _FcitxKeySym = 64778;
pub const _FcitxKeySym_FcitxKey_3270_PA2: _FcitxKeySym = 64779;
pub const _FcitxKeySym_FcitxKey_3270_PA3: _FcitxKeySym = 64780;
pub const _FcitxKeySym_FcitxKey_3270_Test: _FcitxKeySym = 64781;
pub const _FcitxKeySym_FcitxKey_3270_Attn: _FcitxKeySym = 64782;
pub const _FcitxKeySym_FcitxKey_3270_CursorBlink: _FcitxKeySym = 64783;
pub const _FcitxKeySym_FcitxKey_3270_AltCursor: _FcitxKeySym = 64784;
pub const _FcitxKeySym_FcitxKey_3270_KeyClick: _FcitxKeySym = 64785;
pub const _FcitxKeySym_FcitxKey_3270_Jump: _FcitxKeySym = 64786;
pub const _FcitxKeySym_FcitxKey_3270_Ident: _FcitxKeySym = 64787;
pub const _FcitxKeySym_FcitxKey_3270_Rule: _FcitxKeySym = 64788;
pub const _FcitxKeySym_FcitxKey_3270_Copy: _FcitxKeySym = 64789;
pub const _FcitxKeySym_FcitxKey_3270_Play: _FcitxKeySym = 64790;
pub const _FcitxKeySym_FcitxKey_3270_Setup: _FcitxKeySym = 64791;
pub const _FcitxKeySym_FcitxKey_3270_Record: _FcitxKeySym = 64792;
pub const _FcitxKeySym_FcitxKey_3270_ChangeScreen: _FcitxKeySym = 64793;
pub const _FcitxKeySym_FcitxKey_3270_DeleteWord: _FcitxKeySym = 64794;
pub const _FcitxKeySym_FcitxKey_3270_ExSelect: _FcitxKeySym = 64795;
pub const _FcitxKeySym_FcitxKey_3270_CursorSelect: _FcitxKeySym = 64796;
pub const _FcitxKeySym_FcitxKey_3270_PrintScreen: _FcitxKeySym = 64797;
pub const _FcitxKeySym_FcitxKey_3270_Enter: _FcitxKeySym = 64798;
pub const _FcitxKeySym_FcitxKey_space: _FcitxKeySym = 32;
pub const _FcitxKeySym_FcitxKey_exclam: _FcitxKeySym = 33;
pub const _FcitxKeySym_FcitxKey_quotedbl: _FcitxKeySym = 34;
pub const _FcitxKeySym_FcitxKey_numbersign: _FcitxKeySym = 35;
pub const _FcitxKeySym_FcitxKey_dollar: _FcitxKeySym = 36;
pub const _FcitxKeySym_FcitxKey_percent: _FcitxKeySym = 37;
pub const _FcitxKeySym_FcitxKey_ampersand: _FcitxKeySym = 38;
pub const _FcitxKeySym_FcitxKey_apostrophe: _FcitxKeySym = 39;
pub const _FcitxKeySym_FcitxKey_quoteright: _FcitxKeySym = 39;
pub const _FcitxKeySym_FcitxKey_parenleft: _FcitxKeySym = 40;
pub const _FcitxKeySym_FcitxKey_parenright: _FcitxKeySym = 41;
pub const _FcitxKeySym_FcitxKey_asterisk: _FcitxKeySym = 42;
pub const _FcitxKeySym_FcitxKey_plus: _FcitxKeySym = 43;
pub const _FcitxKeySym_FcitxKey_comma: _FcitxKeySym = 44;
pub const _FcitxKeySym_FcitxKey_minus: _FcitxKeySym = 45;
pub const _FcitxKeySym_FcitxKey_period: _FcitxKeySym = 46;
pub const _FcitxKeySym_FcitxKey_slash: _FcitxKeySym = 47;
pub const _FcitxKeySym_FcitxKey_0: _FcitxKeySym = 48;
pub const _FcitxKeySym_FcitxKey_1: _FcitxKeySym = 49;
pub const _FcitxKeySym_FcitxKey_2: _FcitxKeySym = 50;
pub const _FcitxKeySym_FcitxKey_3: _FcitxKeySym = 51;
pub const _FcitxKeySym_FcitxKey_4: _FcitxKeySym = 52;
pub const _FcitxKeySym_FcitxKey_5: _FcitxKeySym = 53;
pub const _FcitxKeySym_FcitxKey_6: _FcitxKeySym = 54;
pub const _FcitxKeySym_FcitxKey_7: _FcitxKeySym = 55;
pub const _FcitxKeySym_FcitxKey_8: _FcitxKeySym = 56;
pub const _FcitxKeySym_FcitxKey_9: _FcitxKeySym = 57;
pub const _FcitxKeySym_FcitxKey_colon: _FcitxKeySym = 58;
pub const _FcitxKeySym_FcitxKey_semicolon: _FcitxKeySym = 59;
pub const _FcitxKeySym_FcitxKey_less: _FcitxKeySym = 60;
pub const _FcitxKeySym_FcitxKey_equal: _FcitxKeySym = 61;
pub const _FcitxKeySym_FcitxKey_greater: _FcitxKeySym = 62;
pub const _FcitxKeySym_FcitxKey_question: _FcitxKeySym = 63;
pub const _FcitxKeySym_FcitxKey_at: _FcitxKeySym = 64;
pub const _FcitxKeySym_FcitxKey_A: _FcitxKeySym = 65;
pub const _FcitxKeySym_FcitxKey_B: _FcitxKeySym = 66;
pub const _FcitxKeySym_FcitxKey_C: _FcitxKeySym = 67;
pub const _FcitxKeySym_FcitxKey_D: _FcitxKeySym = 68;
pub const _FcitxKeySym_FcitxKey_E: _FcitxKeySym = 69;
pub const _FcitxKeySym_FcitxKey_F: _FcitxKeySym = 70;
pub const _FcitxKeySym_FcitxKey_G: _FcitxKeySym = 71;
pub const _FcitxKeySym_FcitxKey_H: _FcitxKeySym = 72;
pub const _FcitxKeySym_FcitxKey_I: _FcitxKeySym = 73;
pub const _FcitxKeySym_FcitxKey_J: _FcitxKeySym = 74;
pub const _FcitxKeySym_FcitxKey_K: _FcitxKeySym = 75;
pub const _FcitxKeySym_FcitxKey_L: _FcitxKeySym = 76;
pub const _FcitxKeySym_FcitxKey_M: _FcitxKeySym = 77;
pub const _FcitxKeySym_FcitxKey_N: _FcitxKeySym = 78;
pub const _FcitxKeySym_FcitxKey_O: _FcitxKeySym = 79;
pub const _FcitxKeySym_FcitxKey_P: _FcitxKeySym = 80;
pub const _FcitxKeySym_FcitxKey_Q: _FcitxKeySym = 81;
pub const _FcitxKeySym_FcitxKey_R: _FcitxKeySym = 82;
pub const _FcitxKeySym_FcitxKey_S: _FcitxKeySym = 83;
pub const _FcitxKeySym_FcitxKey_T: _FcitxKeySym = 84;
pub const _FcitxKeySym_FcitxKey_U: _FcitxKeySym = 85;
pub const _FcitxKeySym_FcitxKey_V: _FcitxKeySym = 86;
pub const _FcitxKeySym_FcitxKey_W: _FcitxKeySym = 87;
pub const _FcitxKeySym_FcitxKey_X: _FcitxKeySym = 88;
pub const _FcitxKeySym_FcitxKey_Y: _FcitxKeySym = 89;
pub const _FcitxKeySym_FcitxKey_Z: _FcitxKeySym = 90;
pub const _FcitxKeySym_FcitxKey_bracketleft: _FcitxKeySym = 91;
pub const _FcitxKeySym_FcitxKey_backslash: _FcitxKeySym = 92;
pub const _FcitxKeySym_FcitxKey_bracketright: _FcitxKeySym = 93;
pub const _FcitxKeySym_FcitxKey_asciicircum: _FcitxKeySym = 94;
pub const _FcitxKeySym_FcitxKey_underscore: _FcitxKeySym = 95;
pub const _FcitxKeySym_FcitxKey_grave: _FcitxKeySym = 96;
pub const _FcitxKeySym_FcitxKey_quoteleft: _FcitxKeySym = 96;
pub const _FcitxKeySym_FcitxKey_a: _FcitxKeySym = 97;
pub const _FcitxKeySym_FcitxKey_b: _FcitxKeySym = 98;
pub const _FcitxKeySym_FcitxKey_c: _FcitxKeySym = 99;
pub const _FcitxKeySym_FcitxKey_d: _FcitxKeySym = 100;
pub const _FcitxKeySym_FcitxKey_e: _FcitxKeySym = 101;
pub const _FcitxKeySym_FcitxKey_f: _FcitxKeySym = 102;
pub const _FcitxKeySym_FcitxKey_g: _FcitxKeySym = 103;
pub const _FcitxKeySym_FcitxKey_h: _FcitxKeySym = 104;
pub const _FcitxKeySym_FcitxKey_i: _FcitxKeySym = 105;
pub const _FcitxKeySym_FcitxKey_j: _FcitxKeySym = 106;
pub const _FcitxKeySym_FcitxKey_k: _FcitxKeySym = 107;
pub const _FcitxKeySym_FcitxKey_l: _FcitxKeySym = 108;
pub const _FcitxKeySym_FcitxKey_m: _FcitxKeySym = 109;
pub const _FcitxKeySym_FcitxKey_n: _FcitxKeySym = 110;
pub const _FcitxKeySym_FcitxKey_o: _FcitxKeySym = 111;
pub const _FcitxKeySym_FcitxKey_p: _FcitxKeySym = 112;
pub const _FcitxKeySym_FcitxKey_q: _FcitxKeySym = 113;
pub const _FcitxKeySym_FcitxKey_r: _FcitxKeySym = 114;
pub const _FcitxKeySym_FcitxKey_s: _FcitxKeySym = 115;
pub const _FcitxKeySym_FcitxKey_t: _FcitxKeySym = 116;
pub const _FcitxKeySym_FcitxKey_u: _FcitxKeySym = 117;
pub const _FcitxKeySym_FcitxKey_v: _FcitxKeySym = 118;
pub const _FcitxKeySym_FcitxKey_w: _FcitxKeySym = 119;
pub const _FcitxKeySym_FcitxKey_x: _FcitxKeySym = 120;
pub const _FcitxKeySym_FcitxKey_y: _FcitxKeySym = 121;
pub const _FcitxKeySym_FcitxKey_z: _FcitxKeySym = 122;
pub const _FcitxKeySym_FcitxKey_braceleft: _FcitxKeySym = 123;
pub const _FcitxKeySym_FcitxKey_bar: _FcitxKeySym = 124;
pub const _FcitxKeySym_FcitxKey_braceright: _FcitxKeySym = 125;
pub const _FcitxKeySym_FcitxKey_asciitilde: _FcitxKeySym = 126;
pub const _FcitxKeySym_FcitxKey_nobreakspace: _FcitxKeySym = 160;
pub const _FcitxKeySym_FcitxKey_exclamdown: _FcitxKeySym = 161;
pub const _FcitxKeySym_FcitxKey_cent: _FcitxKeySym = 162;
pub const _FcitxKeySym_FcitxKey_sterling: _FcitxKeySym = 163;
pub const _FcitxKeySym_FcitxKey_currency: _FcitxKeySym = 164;
pub const _FcitxKeySym_FcitxKey_yen: _FcitxKeySym = 165;
pub const _FcitxKeySym_FcitxKey_brokenbar: _FcitxKeySym = 166;
pub const _FcitxKeySym_FcitxKey_section: _FcitxKeySym = 167;
pub const _FcitxKeySym_FcitxKey_diaeresis: _FcitxKeySym = 168;
pub const _FcitxKeySym_FcitxKey_copyright: _FcitxKeySym = 169;
pub const _FcitxKeySym_FcitxKey_ordfeminine: _FcitxKeySym = 170;
pub const _FcitxKeySym_FcitxKey_guillemotleft: _FcitxKeySym = 171;
pub const _FcitxKeySym_FcitxKey_notsign: _FcitxKeySym = 172;
pub const _FcitxKeySym_FcitxKey_hyphen: _FcitxKeySym = 173;
pub const _FcitxKeySym_FcitxKey_registered: _FcitxKeySym = 174;
pub const _FcitxKeySym_FcitxKey_macron: _FcitxKeySym = 175;
pub const _FcitxKeySym_FcitxKey_degree: _FcitxKeySym = 176;
pub const _FcitxKeySym_FcitxKey_plusminus: _FcitxKeySym = 177;
pub const _FcitxKeySym_FcitxKey_twosuperior: _FcitxKeySym = 178;
pub const _FcitxKeySym_FcitxKey_threesuperior: _FcitxKeySym = 179;
pub const _FcitxKeySym_FcitxKey_acute: _FcitxKeySym = 180;
pub const _FcitxKeySym_FcitxKey_mu: _FcitxKeySym = 181;
pub const _FcitxKeySym_FcitxKey_paragraph: _FcitxKeySym = 182;
pub const _FcitxKeySym_FcitxKey_periodcentered: _FcitxKeySym = 183;
pub const _FcitxKeySym_FcitxKey_cedilla: _FcitxKeySym = 184;
pub const _FcitxKeySym_FcitxKey_onesuperior: _FcitxKeySym = 185;
pub const _FcitxKeySym_FcitxKey_masculine: _FcitxKeySym = 186;
pub const _FcitxKeySym_FcitxKey_guillemotright: _FcitxKeySym = 187;
pub const _FcitxKeySym_FcitxKey_onequarter: _FcitxKeySym = 188;
pub const _FcitxKeySym_FcitxKey_onehalf: _FcitxKeySym = 189;
pub const _FcitxKeySym_FcitxKey_threequarters: _FcitxKeySym = 190;
pub const _FcitxKeySym_FcitxKey_questiondown: _FcitxKeySym = 191;
pub const _FcitxKeySym_FcitxKey_Agrave: _FcitxKeySym = 192;
pub const _FcitxKeySym_FcitxKey_Aacute: _FcitxKeySym = 193;
pub const _FcitxKeySym_FcitxKey_Acircumflex: _FcitxKeySym = 194;
pub const _FcitxKeySym_FcitxKey_Atilde: _FcitxKeySym = 195;
pub const _FcitxKeySym_FcitxKey_Adiaeresis: _FcitxKeySym = 196;
pub const _FcitxKeySym_FcitxKey_Aring: _FcitxKeySym = 197;
pub const _FcitxKeySym_FcitxKey_AE: _FcitxKeySym = 198;
pub const _FcitxKeySym_FcitxKey_Ccedilla: _FcitxKeySym = 199;
pub const _FcitxKeySym_FcitxKey_Egrave: _FcitxKeySym = 200;
pub const _FcitxKeySym_FcitxKey_Eacute: _FcitxKeySym = 201;
pub const _FcitxKeySym_FcitxKey_Ecircumflex: _FcitxKeySym = 202;
pub const _FcitxKeySym_FcitxKey_Ediaeresis: _FcitxKeySym = 203;
pub const _FcitxKeySym_FcitxKey_Igrave: _FcitxKeySym = 204;
pub const _FcitxKeySym_FcitxKey_Iacute: _FcitxKeySym = 205;
pub const _FcitxKeySym_FcitxKey_Icircumflex: _FcitxKeySym = 206;
pub const _FcitxKeySym_FcitxKey_Idiaeresis: _FcitxKeySym = 207;
pub const _FcitxKeySym_FcitxKey_ETH: _FcitxKeySym = 208;
pub const _FcitxKeySym_FcitxKey_Eth: _FcitxKeySym = 208;
pub const _FcitxKeySym_FcitxKey_Ntilde: _FcitxKeySym = 209;
pub const _FcitxKeySym_FcitxKey_Ograve: _FcitxKeySym = 210;
pub const _FcitxKeySym_FcitxKey_Oacute: _FcitxKeySym = 211;
pub const _FcitxKeySym_FcitxKey_Ocircumflex: _FcitxKeySym = 212;
pub const _FcitxKeySym_FcitxKey_Otilde: _FcitxKeySym = 213;
pub const _FcitxKeySym_FcitxKey_Odiaeresis: _FcitxKeySym = 214;
pub const _FcitxKeySym_FcitxKey_multiply: _FcitxKeySym = 215;
pub const _FcitxKeySym_FcitxKey_Oslash: _FcitxKeySym = 216;
pub const _FcitxKeySym_FcitxKey_Ooblique: _FcitxKeySym = 216;
pub const _FcitxKeySym_FcitxKey_Ugrave: _FcitxKeySym = 217;
pub const _FcitxKeySym_FcitxKey_Uacute: _FcitxKeySym = 218;
pub const _FcitxKeySym_FcitxKey_Ucircumflex: _FcitxKeySym = 219;
pub const _FcitxKeySym_FcitxKey_Udiaeresis: _FcitxKeySym = 220;
pub const _FcitxKeySym_FcitxKey_Yacute: _FcitxKeySym = 221;
pub const _FcitxKeySym_FcitxKey_THORN: _FcitxKeySym = 222;
pub const _FcitxKeySym_FcitxKey_Thorn: _FcitxKeySym = 222;
pub const _FcitxKeySym_FcitxKey_ssharp: _FcitxKeySym = 223;
pub const _FcitxKeySym_FcitxKey_agrave: _FcitxKeySym = 224;
pub const _FcitxKeySym_FcitxKey_aacute: _FcitxKeySym = 225;
pub const _FcitxKeySym_FcitxKey_acircumflex: _FcitxKeySym = 226;
pub const _FcitxKeySym_FcitxKey_atilde: _FcitxKeySym = 227;
pub const _FcitxKeySym_FcitxKey_adiaeresis: _FcitxKeySym = 228;
pub const _FcitxKeySym_FcitxKey_aring: _FcitxKeySym = 229;
pub const _FcitxKeySym_FcitxKey_ae: _FcitxKeySym = 230;
pub const _FcitxKeySym_FcitxKey_ccedilla: _FcitxKeySym = 231;
pub const _FcitxKeySym_FcitxKey_egrave: _FcitxKeySym = 232;
pub const _FcitxKeySym_FcitxKey_eacute: _FcitxKeySym = 233;
pub const _FcitxKeySym_FcitxKey_ecircumflex: _FcitxKeySym = 234;
pub const _FcitxKeySym_FcitxKey_ediaeresis: _FcitxKeySym = 235;
pub const _FcitxKeySym_FcitxKey_igrave: _FcitxKeySym = 236;
pub const _FcitxKeySym_FcitxKey_iacute: _FcitxKeySym = 237;
pub const _FcitxKeySym_FcitxKey_icircumflex: _FcitxKeySym = 238;
pub const _FcitxKeySym_FcitxKey_idiaeresis: _FcitxKeySym = 239;
pub const _FcitxKeySym_FcitxKey_eth: _FcitxKeySym = 240;
pub const _FcitxKeySym_FcitxKey_ntilde: _FcitxKeySym = 241;
pub const _FcitxKeySym_FcitxKey_ograve: _FcitxKeySym = 242;
pub const _FcitxKeySym_FcitxKey_oacute: _FcitxKeySym = 243;
pub const _FcitxKeySym_FcitxKey_ocircumflex: _FcitxKeySym = 244;
pub const _FcitxKeySym_FcitxKey_otilde: _FcitxKeySym = 245;
pub const _FcitxKeySym_FcitxKey_odiaeresis: _FcitxKeySym = 246;
pub const _FcitxKeySym_FcitxKey_division: _FcitxKeySym = 247;
pub const _FcitxKeySym_FcitxKey_oslash: _FcitxKeySym = 248;
pub const _FcitxKeySym_FcitxKey_ooblique: _FcitxKeySym = 248;
pub const _FcitxKeySym_FcitxKey_ugrave: _FcitxKeySym = 249;
pub const _FcitxKeySym_FcitxKey_uacute: _FcitxKeySym = 250;
pub const _FcitxKeySym_FcitxKey_ucircumflex: _FcitxKeySym = 251;
pub const _FcitxKeySym_FcitxKey_udiaeresis: _FcitxKeySym = 252;
pub const _FcitxKeySym_FcitxKey_yacute: _FcitxKeySym = 253;
pub const _FcitxKeySym_FcitxKey_thorn: _FcitxKeySym = 254;
pub const _FcitxKeySym_FcitxKey_ydiaeresis: _FcitxKeySym = 255;
pub const _FcitxKeySym_FcitxKey_Aogonek: _FcitxKeySym = 417;
pub const _FcitxKeySym_FcitxKey_breve: _FcitxKeySym = 418;
pub const _FcitxKeySym_FcitxKey_Lstroke: _FcitxKeySym = 419;
pub const _FcitxKeySym_FcitxKey_Lcaron: _FcitxKeySym = 421;
pub const _FcitxKeySym_FcitxKey_Sacute: _FcitxKeySym = 422;
pub const _FcitxKeySym_FcitxKey_Scaron: _FcitxKeySym = 425;
pub const _FcitxKeySym_FcitxKey_Scedilla: _FcitxKeySym = 426;
pub const _FcitxKeySym_FcitxKey_Tcaron: _FcitxKeySym = 427;
pub const _FcitxKeySym_FcitxKey_Zacute: _FcitxKeySym = 428;
pub const _FcitxKeySym_FcitxKey_Zcaron: _FcitxKeySym = 430;
pub const _FcitxKeySym_FcitxKey_Zabovedot: _FcitxKeySym = 431;
pub const _FcitxKeySym_FcitxKey_aogonek: _FcitxKeySym = 433;
pub const _FcitxKeySym_FcitxKey_ogonek: _FcitxKeySym = 434;
pub const _FcitxKeySym_FcitxKey_lstroke: _FcitxKeySym = 435;
pub const _FcitxKeySym_FcitxKey_lcaron: _FcitxKeySym = 437;
pub const _FcitxKeySym_FcitxKey_sacute: _FcitxKeySym = 438;
pub const _FcitxKeySym_FcitxKey_caron: _FcitxKeySym = 439;
pub const _FcitxKeySym_FcitxKey_scaron: _FcitxKeySym = 441;
pub const _FcitxKeySym_FcitxKey_scedilla: _FcitxKeySym = 442;
pub const _FcitxKeySym_FcitxKey_tcaron: _FcitxKeySym = 443;
pub const _FcitxKeySym_FcitxKey_zacute: _FcitxKeySym = 444;
pub const _FcitxKeySym_FcitxKey_doubleacute: _FcitxKeySym = 445;
pub const _FcitxKeySym_FcitxKey_zcaron: _FcitxKeySym = 446;
pub const _FcitxKeySym_FcitxKey_zabovedot: _FcitxKeySym = 447;
pub const _FcitxKeySym_FcitxKey_Racute: _FcitxKeySym = 448;
pub const _FcitxKeySym_FcitxKey_Abreve: _FcitxKeySym = 451;
pub const _FcitxKeySym_FcitxKey_Lacute: _FcitxKeySym = 453;
pub const _FcitxKeySym_FcitxKey_Cacute: _FcitxKeySym = 454;
pub const _FcitxKeySym_FcitxKey_Ccaron: _FcitxKeySym = 456;
pub const _FcitxKeySym_FcitxKey_Eogonek: _FcitxKeySym = 458;
pub const _FcitxKeySym_FcitxKey_Ecaron: _FcitxKeySym = 460;
pub const _FcitxKeySym_FcitxKey_Dcaron: _FcitxKeySym = 463;
pub const _FcitxKeySym_FcitxKey_Dstroke: _FcitxKeySym = 464;
pub const _FcitxKeySym_FcitxKey_Nacute: _FcitxKeySym = 465;
pub const _FcitxKeySym_FcitxKey_Ncaron: _FcitxKeySym = 466;
pub const _FcitxKeySym_FcitxKey_Odoubleacute: _FcitxKeySym = 469;
pub const _FcitxKeySym_FcitxKey_Rcaron: _FcitxKeySym = 472;
pub const _FcitxKeySym_FcitxKey_Uring: _FcitxKeySym = 473;
pub const _FcitxKeySym_FcitxKey_Udoubleacute: _FcitxKeySym = 475;
pub const _FcitxKeySym_FcitxKey_Tcedilla: _FcitxKeySym = 478;
pub const _FcitxKeySym_FcitxKey_racute: _FcitxKeySym = 480;
pub const _FcitxKeySym_FcitxKey_abreve: _FcitxKeySym = 483;
pub const _FcitxKeySym_FcitxKey_lacute: _FcitxKeySym = 485;
pub const _FcitxKeySym_FcitxKey_cacute: _FcitxKeySym = 486;
pub const _FcitxKeySym_FcitxKey_ccaron: _FcitxKeySym = 488;
pub const _FcitxKeySym_FcitxKey_eogonek: _FcitxKeySym = 490;
pub const _FcitxKeySym_FcitxKey_ecaron: _FcitxKeySym = 492;
pub const _FcitxKeySym_FcitxKey_dcaron: _FcitxKeySym = 495;
pub const _FcitxKeySym_FcitxKey_dstroke: _FcitxKeySym = 496;
pub const _FcitxKeySym_FcitxKey_nacute: _FcitxKeySym = 497;
pub const _FcitxKeySym_FcitxKey_ncaron: _FcitxKeySym = 498;
pub const _FcitxKeySym_FcitxKey_odoubleacute: _FcitxKeySym = 501;
pub const _FcitxKeySym_FcitxKey_rcaron: _FcitxKeySym = 504;
pub const _FcitxKeySym_FcitxKey_uring: _FcitxKeySym = 505;
pub const _FcitxKeySym_FcitxKey_udoubleacute: _FcitxKeySym = 507;
pub const _FcitxKeySym_FcitxKey_tcedilla: _FcitxKeySym = 510;
pub const _FcitxKeySym_FcitxKey_abovedot: _FcitxKeySym = 511;
pub const _FcitxKeySym_FcitxKey_Hstroke: _FcitxKeySym = 673;
pub const _FcitxKeySym_FcitxKey_Hcircumflex: _FcitxKeySym = 678;
pub const _FcitxKeySym_FcitxKey_Iabovedot: _FcitxKeySym = 681;
pub const _FcitxKeySym_FcitxKey_Gbreve: _FcitxKeySym = 683;
pub const _FcitxKeySym_FcitxKey_Jcircumflex: _FcitxKeySym = 684;
pub const _FcitxKeySym_FcitxKey_hstroke: _FcitxKeySym = 689;
pub const _FcitxKeySym_FcitxKey_hcircumflex: _FcitxKeySym = 694;
pub const _FcitxKeySym_FcitxKey_idotless: _FcitxKeySym = 697;
pub const _FcitxKeySym_FcitxKey_gbreve: _FcitxKeySym = 699;
pub const _FcitxKeySym_FcitxKey_jcircumflex: _FcitxKeySym = 700;
pub const _FcitxKeySym_FcitxKey_Cabovedot: _FcitxKeySym = 709;
pub const _FcitxKeySym_FcitxKey_Ccircumflex: _FcitxKeySym = 710;
pub const _FcitxKeySym_FcitxKey_Gabovedot: _FcitxKeySym = 725;
pub const _FcitxKeySym_FcitxKey_Gcircumflex: _FcitxKeySym = 728;
pub const _FcitxKeySym_FcitxKey_Ubreve: _FcitxKeySym = 733;
pub const _FcitxKeySym_FcitxKey_Scircumflex: _FcitxKeySym = 734;
pub const _FcitxKeySym_FcitxKey_cabovedot: _FcitxKeySym = 741;
pub const _FcitxKeySym_FcitxKey_ccircumflex: _FcitxKeySym = 742;
pub const _FcitxKeySym_FcitxKey_gabovedot: _FcitxKeySym = 757;
pub const _FcitxKeySym_FcitxKey_gcircumflex: _FcitxKeySym = 760;
pub const _FcitxKeySym_FcitxKey_ubreve: _FcitxKeySym = 765;
pub const _FcitxKeySym_FcitxKey_scircumflex: _FcitxKeySym = 766;
pub const _FcitxKeySym_FcitxKey_kra: _FcitxKeySym = 930;
pub const _FcitxKeySym_FcitxKey_kappa: _FcitxKeySym = 930;
pub const _FcitxKeySym_FcitxKey_Rcedilla: _FcitxKeySym = 931;
pub const _FcitxKeySym_FcitxKey_Itilde: _FcitxKeySym = 933;
pub const _FcitxKeySym_FcitxKey_Lcedilla: _FcitxKeySym = 934;
pub const _FcitxKeySym_FcitxKey_Emacron: _FcitxKeySym = 938;
pub const _FcitxKeySym_FcitxKey_Gcedilla: _FcitxKeySym = 939;
pub const _FcitxKeySym_FcitxKey_Tslash: _FcitxKeySym = 940;
pub const _FcitxKeySym_FcitxKey_rcedilla: _FcitxKeySym = 947;
pub const _FcitxKeySym_FcitxKey_itilde: _FcitxKeySym = 949;
pub const _FcitxKeySym_FcitxKey_lcedilla: _FcitxKeySym = 950;
pub const _FcitxKeySym_FcitxKey_emacron: _FcitxKeySym = 954;
pub const _FcitxKeySym_FcitxKey_gcedilla: _FcitxKeySym = 955;
pub const _FcitxKeySym_FcitxKey_tslash: _FcitxKeySym = 956;
pub const _FcitxKeySym_FcitxKey_ENG: _FcitxKeySym = 957;
pub const _FcitxKeySym_FcitxKey_eng: _FcitxKeySym = 959;
pub const _FcitxKeySym_FcitxKey_Amacron: _FcitxKeySym = 960;
pub const _FcitxKeySym_FcitxKey_Iogonek: _FcitxKeySym = 967;
pub const _FcitxKeySym_FcitxKey_Eabovedot: _FcitxKeySym = 972;
pub const _FcitxKeySym_FcitxKey_Imacron: _FcitxKeySym = 975;
pub const _FcitxKeySym_FcitxKey_Ncedilla: _FcitxKeySym = 977;
pub const _FcitxKeySym_FcitxKey_Omacron: _FcitxKeySym = 978;
pub const _FcitxKeySym_FcitxKey_Kcedilla: _FcitxKeySym = 979;
pub const _FcitxKeySym_FcitxKey_Uogonek: _FcitxKeySym = 985;
pub const _FcitxKeySym_FcitxKey_Utilde: _FcitxKeySym = 989;
pub const _FcitxKeySym_FcitxKey_Umacron: _FcitxKeySym = 990;
pub const _FcitxKeySym_FcitxKey_amacron: _FcitxKeySym = 992;
pub const _FcitxKeySym_FcitxKey_iogonek: _FcitxKeySym = 999;
pub const _FcitxKeySym_FcitxKey_eabovedot: _FcitxKeySym = 1004;
pub const _FcitxKeySym_FcitxKey_imacron: _FcitxKeySym = 1007;
pub const _FcitxKeySym_FcitxKey_ncedilla: _FcitxKeySym = 1009;
pub const _FcitxKeySym_FcitxKey_omacron: _FcitxKeySym = 1010;
pub const _FcitxKeySym_FcitxKey_kcedilla: _FcitxKeySym = 1011;
pub const _FcitxKeySym_FcitxKey_uogonek: _FcitxKeySym = 1017;
pub const _FcitxKeySym_FcitxKey_utilde: _FcitxKeySym = 1021;
pub const _FcitxKeySym_FcitxKey_umacron: _FcitxKeySym = 1022;
pub const _FcitxKeySym_FcitxKey_Wcircumflex: _FcitxKeySym = 16777588;
pub const _FcitxKeySym_FcitxKey_wcircumflex: _FcitxKeySym = 16777589;
pub const _FcitxKeySym_FcitxKey_Ycircumflex: _FcitxKeySym = 16777590;
pub const _FcitxKeySym_FcitxKey_ycircumflex: _FcitxKeySym = 16777591;
pub const _FcitxKeySym_FcitxKey_Babovedot: _FcitxKeySym = 16784898;
pub const _FcitxKeySym_FcitxKey_babovedot: _FcitxKeySym = 16784899;
pub const _FcitxKeySym_FcitxKey_Dabovedot: _FcitxKeySym = 16784906;
pub const _FcitxKeySym_FcitxKey_dabovedot: _FcitxKeySym = 16784907;
pub const _FcitxKeySym_FcitxKey_Fabovedot: _FcitxKeySym = 16784926;
pub const _FcitxKeySym_FcitxKey_fabovedot: _FcitxKeySym = 16784927;
pub const _FcitxKeySym_FcitxKey_Mabovedot: _FcitxKeySym = 16784960;
pub const _FcitxKeySym_FcitxKey_mabovedot: _FcitxKeySym = 16784961;
pub const _FcitxKeySym_FcitxKey_Pabovedot: _FcitxKeySym = 16784982;
pub const _FcitxKeySym_FcitxKey_pabovedot: _FcitxKeySym = 16784983;
pub const _FcitxKeySym_FcitxKey_Sabovedot: _FcitxKeySym = 16784992;
pub const _FcitxKeySym_FcitxKey_sabovedot: _FcitxKeySym = 16784993;
pub const _FcitxKeySym_FcitxKey_Tabovedot: _FcitxKeySym = 16785002;
pub const _FcitxKeySym_FcitxKey_tabovedot: _FcitxKeySym = 16785003;
pub const _FcitxKeySym_FcitxKey_Wgrave: _FcitxKeySym = 16785024;
pub const _FcitxKeySym_FcitxKey_wgrave: _FcitxKeySym = 16785025;
pub const _FcitxKeySym_FcitxKey_Wacute: _FcitxKeySym = 16785026;
pub const _FcitxKeySym_FcitxKey_wacute: _FcitxKeySym = 16785027;
pub const _FcitxKeySym_FcitxKey_Wdiaeresis: _FcitxKeySym = 16785028;
pub const _FcitxKeySym_FcitxKey_wdiaeresis: _FcitxKeySym = 16785029;
pub const _FcitxKeySym_FcitxKey_Ygrave: _FcitxKeySym = 16785138;
pub const _FcitxKeySym_FcitxKey_ygrave: _FcitxKeySym = 16785139;
pub const _FcitxKeySym_FcitxKey_OE: _FcitxKeySym = 5052;
pub const _FcitxKeySym_FcitxKey_oe: _FcitxKeySym = 5053;
pub const _FcitxKeySym_FcitxKey_Ydiaeresis: _FcitxKeySym = 5054;
pub const _FcitxKeySym_FcitxKey_overline: _FcitxKeySym = 1150;
pub const _FcitxKeySym_FcitxKey_kana_fullstop: _FcitxKeySym = 1185;
pub const _FcitxKeySym_FcitxKey_kana_openingbracket: _FcitxKeySym = 1186;
pub const _FcitxKeySym_FcitxKey_kana_closingbracket: _FcitxKeySym = 1187;
pub const _FcitxKeySym_FcitxKey_kana_comma: _FcitxKeySym = 1188;
pub const _FcitxKeySym_FcitxKey_kana_conjunctive: _FcitxKeySym = 1189;
pub const _FcitxKeySym_FcitxKey_kana_middledot: _FcitxKeySym = 1189;
pub const _FcitxKeySym_FcitxKey_kana_WO: _FcitxKeySym = 1190;
pub const _FcitxKeySym_FcitxKey_kana_a: _FcitxKeySym = 1191;
pub const _FcitxKeySym_FcitxKey_kana_i: _FcitxKeySym = 1192;
pub const _FcitxKeySym_FcitxKey_kana_u: _FcitxKeySym = 1193;
pub const _FcitxKeySym_FcitxKey_kana_e: _FcitxKeySym = 1194;
pub const _FcitxKeySym_FcitxKey_kana_o: _FcitxKeySym = 1195;
pub const _FcitxKeySym_FcitxKey_kana_ya: _FcitxKeySym = 1196;
pub const _FcitxKeySym_FcitxKey_kana_yu: _FcitxKeySym = 1197;
pub const _FcitxKeySym_FcitxKey_kana_yo: _FcitxKeySym = 1198;
pub const _FcitxKeySym_FcitxKey_kana_tsu: _FcitxKeySym = 1199;
pub const _FcitxKeySym_FcitxKey_kana_tu: _FcitxKeySym = 1199;
pub const _FcitxKeySym_FcitxKey_prolongedsound: _FcitxKeySym = 1200;
pub const _FcitxKeySym_FcitxKey_kana_A: _FcitxKeySym = 1201;
pub const _FcitxKeySym_FcitxKey_kana_I: _FcitxKeySym = 1202;
pub const _FcitxKeySym_FcitxKey_kana_U: _FcitxKeySym = 1203;
pub const _FcitxKeySym_FcitxKey_kana_E: _FcitxKeySym = 1204;
pub const _FcitxKeySym_FcitxKey_kana_O: _FcitxKeySym = 1205;
pub const _FcitxKeySym_FcitxKey_kana_KA: _FcitxKeySym = 1206;
pub const _FcitxKeySym_FcitxKey_kana_KI: _FcitxKeySym = 1207;
pub const _FcitxKeySym_FcitxKey_kana_KU: _FcitxKeySym = 1208;
pub const _FcitxKeySym_FcitxKey_kana_KE: _FcitxKeySym = 1209;
pub const _FcitxKeySym_FcitxKey_kana_KO: _FcitxKeySym = 1210;
pub const _FcitxKeySym_FcitxKey_kana_SA: _FcitxKeySym = 1211;
pub const _FcitxKeySym_FcitxKey_kana_SHI: _FcitxKeySym = 1212;
pub const _FcitxKeySym_FcitxKey_kana_SU: _FcitxKeySym = 1213;
pub const _FcitxKeySym_FcitxKey_kana_SE: _FcitxKeySym = 1214;
pub const _FcitxKeySym_FcitxKey_kana_SO: _FcitxKeySym = 1215;
pub const _FcitxKeySym_FcitxKey_kana_TA: _FcitxKeySym = 1216;
pub const _FcitxKeySym_FcitxKey_kana_CHI: _FcitxKeySym = 1217;
pub const _FcitxKeySym_FcitxKey_kana_TI: _FcitxKeySym = 1217;
pub const _FcitxKeySym_FcitxKey_kana_TSU: _FcitxKeySym = 1218;
pub const _FcitxKeySym_FcitxKey_kana_TU: _FcitxKeySym = 1218;
pub const _FcitxKeySym_FcitxKey_kana_TE: _FcitxKeySym = 1219;
pub const _FcitxKeySym_FcitxKey_kana_TO: _FcitxKeySym = 1220;
pub const _FcitxKeySym_FcitxKey_kana_NA: _FcitxKeySym = 1221;
pub const _FcitxKeySym_FcitxKey_kana_NI: _FcitxKeySym = 1222;
pub const _FcitxKeySym_FcitxKey_kana_NU: _FcitxKeySym = 1223;
pub const _FcitxKeySym_FcitxKey_kana_NE: _FcitxKeySym = 1224;
pub const _FcitxKeySym_FcitxKey_kana_NO: _FcitxKeySym = 1225;
pub const _FcitxKeySym_FcitxKey_kana_HA: _FcitxKeySym = 1226;
pub const _FcitxKeySym_FcitxKey_kana_HI: _FcitxKeySym = 1227;
pub const _FcitxKeySym_FcitxKey_kana_FU: _FcitxKeySym = 1228;
pub const _FcitxKeySym_FcitxKey_kana_HU: _FcitxKeySym = 1228;
pub const _FcitxKeySym_FcitxKey_kana_HE: _FcitxKeySym = 1229;
pub const _FcitxKeySym_FcitxKey_kana_HO: _FcitxKeySym = 1230;
pub const _FcitxKeySym_FcitxKey_kana_MA: _FcitxKeySym = 1231;
pub const _FcitxKeySym_FcitxKey_kana_MI: _FcitxKeySym = 1232;
pub const _FcitxKeySym_FcitxKey_kana_MU: _FcitxKeySym = 1233;
pub const _FcitxKeySym_FcitxKey_kana_ME: _FcitxKeySym = 1234;
pub const _FcitxKeySym_FcitxKey_kana_MO: _FcitxKeySym = 1235;
pub const _FcitxKeySym_FcitxKey_kana_YA: _FcitxKeySym = 1236;
pub const _FcitxKeySym_FcitxKey_kana_YU: _FcitxKeySym = 1237;
pub const _FcitxKeySym_FcitxKey_kana_YO: _FcitxKeySym = 1238;
pub const _FcitxKeySym_FcitxKey_kana_RA: _FcitxKeySym = 1239;
pub const _FcitxKeySym_FcitxKey_kana_RI: _FcitxKeySym = 1240;
pub const _FcitxKeySym_FcitxKey_kana_RU: _FcitxKeySym = 1241;
pub const _FcitxKeySym_FcitxKey_kana_RE: _FcitxKeySym = 1242;
pub const _FcitxKeySym_FcitxKey_kana_RO: _FcitxKeySym = 1243;
pub const _FcitxKeySym_FcitxKey_kana_WA: _FcitxKeySym = 1244;
pub const _FcitxKeySym_FcitxKey_kana_N: _FcitxKeySym = 1245;
pub const _FcitxKeySym_FcitxKey_voicedsound: _FcitxKeySym = 1246;
pub const _FcitxKeySym_FcitxKey_semivoicedsound: _FcitxKeySym = 1247;
pub const _FcitxKeySym_FcitxKey_kana_switch: _FcitxKeySym = 65406;
pub const _FcitxKeySym_FcitxKey_Farsi_0: _FcitxKeySym = 16778992;
pub const _FcitxKeySym_FcitxKey_Farsi_1: _FcitxKeySym = 16778993;
pub const _FcitxKeySym_FcitxKey_Farsi_2: _FcitxKeySym = 16778994;
pub const _FcitxKeySym_FcitxKey_Farsi_3: _FcitxKeySym = 16778995;
pub const _FcitxKeySym_FcitxKey_Farsi_4: _FcitxKeySym = 16778996;
pub const _FcitxKeySym_FcitxKey_Farsi_5: _FcitxKeySym = 16778997;
pub const _FcitxKeySym_FcitxKey_Farsi_6: _FcitxKeySym = 16778998;
pub const _FcitxKeySym_FcitxKey_Farsi_7: _FcitxKeySym = 16778999;
pub const _FcitxKeySym_FcitxKey_Farsi_8: _FcitxKeySym = 16779000;
pub const _FcitxKeySym_FcitxKey_Farsi_9: _FcitxKeySym = 16779001;
pub const _FcitxKeySym_FcitxKey_Arabic_percent: _FcitxKeySym = 16778858;
pub const _FcitxKeySym_FcitxKey_Arabic_superscript_alef: _FcitxKeySym = 16778864;
pub const _FcitxKeySym_FcitxKey_Arabic_tteh: _FcitxKeySym = 16778873;
pub const _FcitxKeySym_FcitxKey_Arabic_peh: _FcitxKeySym = 16778878;
pub const _FcitxKeySym_FcitxKey_Arabic_tcheh: _FcitxKeySym = 16778886;
pub const _FcitxKeySym_FcitxKey_Arabic_ddal: _FcitxKeySym = 16778888;
pub const _FcitxKeySym_FcitxKey_Arabic_rreh: _FcitxKeySym = 16778897;
pub const _FcitxKeySym_FcitxKey_Arabic_comma: _FcitxKeySym = 1452;
pub const _FcitxKeySym_FcitxKey_Arabic_fullstop: _FcitxKeySym = 16778964;
pub const _FcitxKeySym_FcitxKey_Arabic_0: _FcitxKeySym = 16778848;
pub const _FcitxKeySym_FcitxKey_Arabic_1: _FcitxKeySym = 16778849;
pub const _FcitxKeySym_FcitxKey_Arabic_2: _FcitxKeySym = 16778850;
pub const _FcitxKeySym_FcitxKey_Arabic_3: _FcitxKeySym = 16778851;
pub const _FcitxKeySym_FcitxKey_Arabic_4: _FcitxKeySym = 16778852;
pub const _FcitxKeySym_FcitxKey_Arabic_5: _FcitxKeySym = 16778853;
pub const _FcitxKeySym_FcitxKey_Arabic_6: _FcitxKeySym = 16778854;
pub const _FcitxKeySym_FcitxKey_Arabic_7: _FcitxKeySym = 16778855;
pub const _FcitxKeySym_FcitxKey_Arabic_8: _FcitxKeySym = 16778856;
pub const _FcitxKeySym_FcitxKey_Arabic_9: _FcitxKeySym = 16778857;
pub const _FcitxKeySym_FcitxKey_Arabic_semicolon: _FcitxKeySym = 1467;
pub const _FcitxKeySym_FcitxKey_Arabic_question_mark: _FcitxKeySym = 1471;
pub const _FcitxKeySym_FcitxKey_Arabic_hamza: _FcitxKeySym = 1473;
pub const _FcitxKeySym_FcitxKey_Arabic_maddaonalef: _FcitxKeySym = 1474;
pub const _FcitxKeySym_FcitxKey_Arabic_hamzaonalef: _FcitxKeySym = 1475;
pub const _FcitxKeySym_FcitxKey_Arabic_hamzaonwaw: _FcitxKeySym = 1476;
pub const _FcitxKeySym_FcitxKey_Arabic_hamzaunderalef: _FcitxKeySym = 1477;
pub const _FcitxKeySym_FcitxKey_Arabic_hamzaonyeh: _FcitxKeySym = 1478;
pub const _FcitxKeySym_FcitxKey_Arabic_alef: _FcitxKeySym = 1479;
pub const _FcitxKeySym_FcitxKey_Arabic_beh: _FcitxKeySym = 1480;
pub const _FcitxKeySym_FcitxKey_Arabic_tehmarbuta: _FcitxKeySym = 1481;
pub const _FcitxKeySym_FcitxKey_Arabic_teh: _FcitxKeySym = 1482;
pub const _FcitxKeySym_FcitxKey_Arabic_theh: _FcitxKeySym = 1483;
pub const _FcitxKeySym_FcitxKey_Arabic_jeem: _FcitxKeySym = 1484;
pub const _FcitxKeySym_FcitxKey_Arabic_hah: _FcitxKeySym = 1485;
pub const _FcitxKeySym_FcitxKey_Arabic_khah: _FcitxKeySym = 1486;
pub const _FcitxKeySym_FcitxKey_Arabic_dal: _FcitxKeySym = 1487;
pub const _FcitxKeySym_FcitxKey_Arabic_thal: _FcitxKeySym = 1488;
pub const _FcitxKeySym_FcitxKey_Arabic_ra: _FcitxKeySym = 1489;
pub const _FcitxKeySym_FcitxKey_Arabic_zain: _FcitxKeySym = 1490;
pub const _FcitxKeySym_FcitxKey_Arabic_seen: _FcitxKeySym = 1491;
pub const _FcitxKeySym_FcitxKey_Arabic_sheen: _FcitxKeySym = 1492;
pub const _FcitxKeySym_FcitxKey_Arabic_sad: _FcitxKeySym = 1493;
pub const _FcitxKeySym_FcitxKey_Arabic_dad: _FcitxKeySym = 1494;
pub const _FcitxKeySym_FcitxKey_Arabic_tah: _FcitxKeySym = 1495;
pub const _FcitxKeySym_FcitxKey_Arabic_zah: _FcitxKeySym = 1496;
pub const _FcitxKeySym_FcitxKey_Arabic_ain: _FcitxKeySym = 1497;
pub const _FcitxKeySym_FcitxKey_Arabic_ghain: _FcitxKeySym = 1498;
pub const _FcitxKeySym_FcitxKey_Arabic_tatweel: _FcitxKeySym = 1504;
pub const _FcitxKeySym_FcitxKey_Arabic_feh: _FcitxKeySym = 1505;
pub const _FcitxKeySym_FcitxKey_Arabic_qaf: _FcitxKeySym = 1506;
pub const _FcitxKeySym_FcitxKey_Arabic_kaf: _FcitxKeySym = 1507;
pub const _FcitxKeySym_FcitxKey_Arabic_lam: _FcitxKeySym = 1508;
pub const _FcitxKeySym_FcitxKey_Arabic_meem: _FcitxKeySym = 1509;
pub const _FcitxKeySym_FcitxKey_Arabic_noon: _FcitxKeySym = 1510;
pub const _FcitxKeySym_FcitxKey_Arabic_ha: _FcitxKeySym = 1511;
pub const _FcitxKeySym_FcitxKey_Arabic_heh: _FcitxKeySym = 1511;
pub const _FcitxKeySym_FcitxKey_Arabic_waw: _FcitxKeySym = 1512;
pub const _FcitxKeySym_FcitxKey_Arabic_alefmaksura: _FcitxKeySym = 1513;
pub const _FcitxKeySym_FcitxKey_Arabic_yeh: _FcitxKeySym = 1514;
pub const _FcitxKeySym_FcitxKey_Arabic_fathatan: _FcitxKeySym = 1515;
pub const _FcitxKeySym_FcitxKey_Arabic_dammatan: _FcitxKeySym = 1516;
pub const _FcitxKeySym_FcitxKey_Arabic_kasratan: _FcitxKeySym = 1517;
pub const _FcitxKeySym_FcitxKey_Arabic_fatha: _FcitxKeySym = 1518;
pub const _FcitxKeySym_FcitxKey_Arabic_damma: _FcitxKeySym = 1519;
pub const _FcitxKeySym_FcitxKey_Arabic_kasra: _FcitxKeySym = 1520;
pub const _FcitxKeySym_FcitxKey_Arabic_shadda: _FcitxKeySym = 1521;
pub const _FcitxKeySym_FcitxKey_Arabic_sukun: _FcitxKeySym = 1522;
pub const _FcitxKeySym_FcitxKey_Arabic_madda_above: _FcitxKeySym = 16778835;
pub const _FcitxKeySym_FcitxKey_Arabic_hamza_above: _FcitxKeySym = 16778836;
pub const _FcitxKeySym_FcitxKey_Arabic_hamza_below: _FcitxKeySym = 16778837;
pub const _FcitxKeySym_FcitxKey_Arabic_jeh: _FcitxKeySym = 16778904;
pub const _FcitxKeySym_FcitxKey_Arabic_veh: _FcitxKeySym = 16778916;
pub const _FcitxKeySym_FcitxKey_Arabic_keheh: _FcitxKeySym = 16778921;
pub const _FcitxKeySym_FcitxKey_Arabic_gaf: _FcitxKeySym = 16778927;
pub const _FcitxKeySym_FcitxKey_Arabic_noon_ghunna: _FcitxKeySym = 16778938;
pub const _FcitxKeySym_FcitxKey_Arabic_heh_doachashmee: _FcitxKeySym = 16778942;
pub const _FcitxKeySym_FcitxKey_Farsi_yeh: _FcitxKeySym = 16778956;
pub const _FcitxKeySym_FcitxKey_Arabic_farsi_yeh: _FcitxKeySym = 16778956;
pub const _FcitxKeySym_FcitxKey_Arabic_yeh_baree: _FcitxKeySym = 16778962;
pub const _FcitxKeySym_FcitxKey_Arabic_heh_goal: _FcitxKeySym = 16778945;
pub const _FcitxKeySym_FcitxKey_Arabic_switch: _FcitxKeySym = 65406;
pub const _FcitxKeySym_FcitxKey_Cyrillic_GHE_bar: _FcitxKeySym = 16778386;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ghe_bar: _FcitxKeySym = 16778387;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ZHE_descender: _FcitxKeySym = 16778390;
pub const _FcitxKeySym_FcitxKey_Cyrillic_zhe_descender: _FcitxKeySym = 16778391;
pub const _FcitxKeySym_FcitxKey_Cyrillic_KA_descender: _FcitxKeySym = 16778394;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ka_descender: _FcitxKeySym = 16778395;
pub const _FcitxKeySym_FcitxKey_Cyrillic_KA_vertstroke: _FcitxKeySym = 16778396;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ka_vertstroke: _FcitxKeySym = 16778397;
pub const _FcitxKeySym_FcitxKey_Cyrillic_EN_descender: _FcitxKeySym = 16778402;
pub const _FcitxKeySym_FcitxKey_Cyrillic_en_descender: _FcitxKeySym = 16778403;
pub const _FcitxKeySym_FcitxKey_Cyrillic_U_straight: _FcitxKeySym = 16778414;
pub const _FcitxKeySym_FcitxKey_Cyrillic_u_straight: _FcitxKeySym = 16778415;
pub const _FcitxKeySym_FcitxKey_Cyrillic_U_straight_bar: _FcitxKeySym = 16778416;
pub const _FcitxKeySym_FcitxKey_Cyrillic_u_straight_bar: _FcitxKeySym = 16778417;
pub const _FcitxKeySym_FcitxKey_Cyrillic_HA_descender: _FcitxKeySym = 16778418;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ha_descender: _FcitxKeySym = 16778419;
pub const _FcitxKeySym_FcitxKey_Cyrillic_CHE_descender: _FcitxKeySym = 16778422;
pub const _FcitxKeySym_FcitxKey_Cyrillic_che_descender: _FcitxKeySym = 16778423;
pub const _FcitxKeySym_FcitxKey_Cyrillic_CHE_vertstroke: _FcitxKeySym = 16778424;
pub const _FcitxKeySym_FcitxKey_Cyrillic_che_vertstroke: _FcitxKeySym = 16778425;
pub const _FcitxKeySym_FcitxKey_Cyrillic_SHHA: _FcitxKeySym = 16778426;
pub const _FcitxKeySym_FcitxKey_Cyrillic_shha: _FcitxKeySym = 16778427;
pub const _FcitxKeySym_FcitxKey_Cyrillic_SCHWA: _FcitxKeySym = 16778456;
pub const _FcitxKeySym_FcitxKey_Cyrillic_schwa: _FcitxKeySym = 16778457;
pub const _FcitxKeySym_FcitxKey_Cyrillic_I_macron: _FcitxKeySym = 16778466;
pub const _FcitxKeySym_FcitxKey_Cyrillic_i_macron: _FcitxKeySym = 16778467;
pub const _FcitxKeySym_FcitxKey_Cyrillic_O_bar: _FcitxKeySym = 16778472;
pub const _FcitxKeySym_FcitxKey_Cyrillic_o_bar: _FcitxKeySym = 16778473;
pub const _FcitxKeySym_FcitxKey_Cyrillic_U_macron: _FcitxKeySym = 16778478;
pub const _FcitxKeySym_FcitxKey_Cyrillic_u_macron: _FcitxKeySym = 16778479;
pub const _FcitxKeySym_FcitxKey_Serbian_dje: _FcitxKeySym = 1697;
pub const _FcitxKeySym_FcitxKey_Macedonia_gje: _FcitxKeySym = 1698;
pub const _FcitxKeySym_FcitxKey_Cyrillic_io: _FcitxKeySym = 1699;
pub const _FcitxKeySym_FcitxKey_Ukrainian_ie: _FcitxKeySym = 1700;
pub const _FcitxKeySym_FcitxKey_Ukranian_je: _FcitxKeySym = 1700;
pub const _FcitxKeySym_FcitxKey_Macedonia_dse: _FcitxKeySym = 1701;
pub const _FcitxKeySym_FcitxKey_Ukrainian_i: _FcitxKeySym = 1702;
pub const _FcitxKeySym_FcitxKey_Ukranian_i: _FcitxKeySym = 1702;
pub const _FcitxKeySym_FcitxKey_Ukrainian_yi: _FcitxKeySym = 1703;
pub const _FcitxKeySym_FcitxKey_Ukranian_yi: _FcitxKeySym = 1703;
pub const _FcitxKeySym_FcitxKey_Cyrillic_je: _FcitxKeySym = 1704;
pub const _FcitxKeySym_FcitxKey_Serbian_je: _FcitxKeySym = 1704;
pub const _FcitxKeySym_FcitxKey_Cyrillic_lje: _FcitxKeySym = 1705;
pub const _FcitxKeySym_FcitxKey_Serbian_lje: _FcitxKeySym = 1705;
pub const _FcitxKeySym_FcitxKey_Cyrillic_nje: _FcitxKeySym = 1706;
pub const _FcitxKeySym_FcitxKey_Serbian_nje: _FcitxKeySym = 1706;
pub const _FcitxKeySym_FcitxKey_Serbian_tshe: _FcitxKeySym = 1707;
pub const _FcitxKeySym_FcitxKey_Macedonia_kje: _FcitxKeySym = 1708;
pub const _FcitxKeySym_FcitxKey_Ukrainian_ghe_with_upturn: _FcitxKeySym = 1709;
pub const _FcitxKeySym_FcitxKey_Byelorussian_shortu: _FcitxKeySym = 1710;
pub const _FcitxKeySym_FcitxKey_Cyrillic_dzhe: _FcitxKeySym = 1711;
pub const _FcitxKeySym_FcitxKey_Serbian_dze: _FcitxKeySym = 1711;
pub const _FcitxKeySym_FcitxKey_numerosign: _FcitxKeySym = 1712;
pub const _FcitxKeySym_FcitxKey_Serbian_DJE: _FcitxKeySym = 1713;
pub const _FcitxKeySym_FcitxKey_Macedonia_GJE: _FcitxKeySym = 1714;
pub const _FcitxKeySym_FcitxKey_Cyrillic_IO: _FcitxKeySym = 1715;
pub const _FcitxKeySym_FcitxKey_Ukrainian_IE: _FcitxKeySym = 1716;
pub const _FcitxKeySym_FcitxKey_Ukranian_JE: _FcitxKeySym = 1716;
pub const _FcitxKeySym_FcitxKey_Macedonia_DSE: _FcitxKeySym = 1717;
pub const _FcitxKeySym_FcitxKey_Ukrainian_I: _FcitxKeySym = 1718;
pub const _FcitxKeySym_FcitxKey_Ukranian_I: _FcitxKeySym = 1718;
pub const _FcitxKeySym_FcitxKey_Ukrainian_YI: _FcitxKeySym = 1719;
pub const _FcitxKeySym_FcitxKey_Ukranian_YI: _FcitxKeySym = 1719;
pub const _FcitxKeySym_FcitxKey_Cyrillic_JE: _FcitxKeySym = 1720;
pub const _FcitxKeySym_FcitxKey_Serbian_JE: _FcitxKeySym = 1720;
pub const _FcitxKeySym_FcitxKey_Cyrillic_LJE: _FcitxKeySym = 1721;
pub const _FcitxKeySym_FcitxKey_Serbian_LJE: _FcitxKeySym = 1721;
pub const _FcitxKeySym_FcitxKey_Cyrillic_NJE: _FcitxKeySym = 1722;
pub const _FcitxKeySym_FcitxKey_Serbian_NJE: _FcitxKeySym = 1722;
pub const _FcitxKeySym_FcitxKey_Serbian_TSHE: _FcitxKeySym = 1723;
pub const _FcitxKeySym_FcitxKey_Macedonia_KJE: _FcitxKeySym = 1724;
pub const _FcitxKeySym_FcitxKey_Ukrainian_GHE_WITH_UPTURN: _FcitxKeySym = 1725;
pub const _FcitxKeySym_FcitxKey_Byelorussian_SHORTU: _FcitxKeySym = 1726;
pub const _FcitxKeySym_FcitxKey_Cyrillic_DZHE: _FcitxKeySym = 1727;
pub const _FcitxKeySym_FcitxKey_Serbian_DZE: _FcitxKeySym = 1727;
pub const _FcitxKeySym_FcitxKey_Cyrillic_yu: _FcitxKeySym = 1728;
pub const _FcitxKeySym_FcitxKey_Cyrillic_a: _FcitxKeySym = 1729;
pub const _FcitxKeySym_FcitxKey_Cyrillic_be: _FcitxKeySym = 1730;
pub const _FcitxKeySym_FcitxKey_Cyrillic_tse: _FcitxKeySym = 1731;
pub const _FcitxKeySym_FcitxKey_Cyrillic_de: _FcitxKeySym = 1732;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ie: _FcitxKeySym = 1733;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ef: _FcitxKeySym = 1734;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ghe: _FcitxKeySym = 1735;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ha: _FcitxKeySym = 1736;
pub const _FcitxKeySym_FcitxKey_Cyrillic_i: _FcitxKeySym = 1737;
pub const _FcitxKeySym_FcitxKey_Cyrillic_shorti: _FcitxKeySym = 1738;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ka: _FcitxKeySym = 1739;
pub const _FcitxKeySym_FcitxKey_Cyrillic_el: _FcitxKeySym = 1740;
pub const _FcitxKeySym_FcitxKey_Cyrillic_em: _FcitxKeySym = 1741;
pub const _FcitxKeySym_FcitxKey_Cyrillic_en: _FcitxKeySym = 1742;
pub const _FcitxKeySym_FcitxKey_Cyrillic_o: _FcitxKeySym = 1743;
pub const _FcitxKeySym_FcitxKey_Cyrillic_pe: _FcitxKeySym = 1744;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ya: _FcitxKeySym = 1745;
pub const _FcitxKeySym_FcitxKey_Cyrillic_er: _FcitxKeySym = 1746;
pub const _FcitxKeySym_FcitxKey_Cyrillic_es: _FcitxKeySym = 1747;
pub const _FcitxKeySym_FcitxKey_Cyrillic_te: _FcitxKeySym = 1748;
pub const _FcitxKeySym_FcitxKey_Cyrillic_u: _FcitxKeySym = 1749;
pub const _FcitxKeySym_FcitxKey_Cyrillic_zhe: _FcitxKeySym = 1750;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ve: _FcitxKeySym = 1751;
pub const _FcitxKeySym_FcitxKey_Cyrillic_softsign: _FcitxKeySym = 1752;
pub const _FcitxKeySym_FcitxKey_Cyrillic_yeru: _FcitxKeySym = 1753;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ze: _FcitxKeySym = 1754;
pub const _FcitxKeySym_FcitxKey_Cyrillic_sha: _FcitxKeySym = 1755;
pub const _FcitxKeySym_FcitxKey_Cyrillic_e: _FcitxKeySym = 1756;
pub const _FcitxKeySym_FcitxKey_Cyrillic_shcha: _FcitxKeySym = 1757;
pub const _FcitxKeySym_FcitxKey_Cyrillic_che: _FcitxKeySym = 1758;
pub const _FcitxKeySym_FcitxKey_Cyrillic_hardsign: _FcitxKeySym = 1759;
pub const _FcitxKeySym_FcitxKey_Cyrillic_YU: _FcitxKeySym = 1760;
pub const _FcitxKeySym_FcitxKey_Cyrillic_A: _FcitxKeySym = 1761;
pub const _FcitxKeySym_FcitxKey_Cyrillic_BE: _FcitxKeySym = 1762;
pub const _FcitxKeySym_FcitxKey_Cyrillic_TSE: _FcitxKeySym = 1763;
pub const _FcitxKeySym_FcitxKey_Cyrillic_DE: _FcitxKeySym = 1764;
pub const _FcitxKeySym_FcitxKey_Cyrillic_IE: _FcitxKeySym = 1765;
pub const _FcitxKeySym_FcitxKey_Cyrillic_EF: _FcitxKeySym = 1766;
pub const _FcitxKeySym_FcitxKey_Cyrillic_GHE: _FcitxKeySym = 1767;
pub const _FcitxKeySym_FcitxKey_Cyrillic_HA: _FcitxKeySym = 1768;
pub const _FcitxKeySym_FcitxKey_Cyrillic_I: _FcitxKeySym = 1769;
pub const _FcitxKeySym_FcitxKey_Cyrillic_SHORTI: _FcitxKeySym = 1770;
pub const _FcitxKeySym_FcitxKey_Cyrillic_KA: _FcitxKeySym = 1771;
pub const _FcitxKeySym_FcitxKey_Cyrillic_EL: _FcitxKeySym = 1772;
pub const _FcitxKeySym_FcitxKey_Cyrillic_EM: _FcitxKeySym = 1773;
pub const _FcitxKeySym_FcitxKey_Cyrillic_EN: _FcitxKeySym = 1774;
pub const _FcitxKeySym_FcitxKey_Cyrillic_O: _FcitxKeySym = 1775;
pub const _FcitxKeySym_FcitxKey_Cyrillic_PE: _FcitxKeySym = 1776;
pub const _FcitxKeySym_FcitxKey_Cyrillic_YA: _FcitxKeySym = 1777;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ER: _FcitxKeySym = 1778;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ES: _FcitxKeySym = 1779;
pub const _FcitxKeySym_FcitxKey_Cyrillic_TE: _FcitxKeySym = 1780;
pub const _FcitxKeySym_FcitxKey_Cyrillic_U: _FcitxKeySym = 1781;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ZHE: _FcitxKeySym = 1782;
pub const _FcitxKeySym_FcitxKey_Cyrillic_VE: _FcitxKeySym = 1783;
pub const _FcitxKeySym_FcitxKey_Cyrillic_SOFTSIGN: _FcitxKeySym = 1784;
pub const _FcitxKeySym_FcitxKey_Cyrillic_YERU: _FcitxKeySym = 1785;
pub const _FcitxKeySym_FcitxKey_Cyrillic_ZE: _FcitxKeySym = 1786;
pub const _FcitxKeySym_FcitxKey_Cyrillic_SHA: _FcitxKeySym = 1787;
pub const _FcitxKeySym_FcitxKey_Cyrillic_E: _FcitxKeySym = 1788;
pub const _FcitxKeySym_FcitxKey_Cyrillic_SHCHA: _FcitxKeySym = 1789;
pub const _FcitxKeySym_FcitxKey_Cyrillic_CHE: _FcitxKeySym = 1790;
pub const _FcitxKeySym_FcitxKey_Cyrillic_HARDSIGN: _FcitxKeySym = 1791;
pub const _FcitxKeySym_FcitxKey_Greek_ALPHAaccent: _FcitxKeySym = 1953;
pub const _FcitxKeySym_FcitxKey_Greek_EPSILONaccent: _FcitxKeySym = 1954;
pub const _FcitxKeySym_FcitxKey_Greek_ETAaccent: _FcitxKeySym = 1955;
pub const _FcitxKeySym_FcitxKey_Greek_IOTAaccent: _FcitxKeySym = 1956;
pub const _FcitxKeySym_FcitxKey_Greek_IOTAdieresis: _FcitxKeySym = 1957;
pub const _FcitxKeySym_FcitxKey_Greek_IOTAdiaeresis: _FcitxKeySym = 1957;
pub const _FcitxKeySym_FcitxKey_Greek_OMICRONaccent: _FcitxKeySym = 1959;
pub const _FcitxKeySym_FcitxKey_Greek_UPSILONaccent: _FcitxKeySym = 1960;
pub const _FcitxKeySym_FcitxKey_Greek_UPSILONdieresis: _FcitxKeySym = 1961;
pub const _FcitxKeySym_FcitxKey_Greek_OMEGAaccent: _FcitxKeySym = 1963;
pub const _FcitxKeySym_FcitxKey_Greek_accentdieresis: _FcitxKeySym = 1966;
pub const _FcitxKeySym_FcitxKey_Greek_horizbar: _FcitxKeySym = 1967;
pub const _FcitxKeySym_FcitxKey_Greek_alphaaccent: _FcitxKeySym = 1969;
pub const _FcitxKeySym_FcitxKey_Greek_epsilonaccent: _FcitxKeySym = 1970;
pub const _FcitxKeySym_FcitxKey_Greek_etaaccent: _FcitxKeySym = 1971;
pub const _FcitxKeySym_FcitxKey_Greek_iotaaccent: _FcitxKeySym = 1972;
pub const _FcitxKeySym_FcitxKey_Greek_iotadieresis: _FcitxKeySym = 1973;
pub const _FcitxKeySym_FcitxKey_Greek_iotaaccentdieresis: _FcitxKeySym = 1974;
pub const _FcitxKeySym_FcitxKey_Greek_omicronaccent: _FcitxKeySym = 1975;
pub const _FcitxKeySym_FcitxKey_Greek_upsilonaccent: _FcitxKeySym = 1976;
pub const _FcitxKeySym_FcitxKey_Greek_upsilondieresis: _FcitxKeySym = 1977;
pub const _FcitxKeySym_FcitxKey_Greek_upsilonaccentdieresis: _FcitxKeySym = 1978;
pub const _FcitxKeySym_FcitxKey_Greek_omegaaccent: _FcitxKeySym = 1979;
pub const _FcitxKeySym_FcitxKey_Greek_ALPHA: _FcitxKeySym = 1985;
pub const _FcitxKeySym_FcitxKey_Greek_BETA: _FcitxKeySym = 1986;
pub const _FcitxKeySym_FcitxKey_Greek_GAMMA: _FcitxKeySym = 1987;
pub const _FcitxKeySym_FcitxKey_Greek_DELTA: _FcitxKeySym = 1988;
pub const _FcitxKeySym_FcitxKey_Greek_EPSILON: _FcitxKeySym = 1989;
pub const _FcitxKeySym_FcitxKey_Greek_ZETA: _FcitxKeySym = 1990;
pub const _FcitxKeySym_FcitxKey_Greek_ETA: _FcitxKeySym = 1991;
pub const _FcitxKeySym_FcitxKey_Greek_THETA: _FcitxKeySym = 1992;
pub const _FcitxKeySym_FcitxKey_Greek_IOTA: _FcitxKeySym = 1993;
pub const _FcitxKeySym_FcitxKey_Greek_KAPPA: _FcitxKeySym = 1994;
pub const _FcitxKeySym_FcitxKey_Greek_LAMDA: _FcitxKeySym = 1995;
pub const _FcitxKeySym_FcitxKey_Greek_LAMBDA: _FcitxKeySym = 1995;
pub const _FcitxKeySym_FcitxKey_Greek_MU: _FcitxKeySym = 1996;
pub const _FcitxKeySym_FcitxKey_Greek_NU: _FcitxKeySym = 1997;
pub const _FcitxKeySym_FcitxKey_Greek_XI: _FcitxKeySym = 1998;
pub const _FcitxKeySym_FcitxKey_Greek_OMICRON: _FcitxKeySym = 1999;
pub const _FcitxKeySym_FcitxKey_Greek_PI: _FcitxKeySym = 2000;
pub const _FcitxKeySym_FcitxKey_Greek_RHO: _FcitxKeySym = 2001;
pub const _FcitxKeySym_FcitxKey_Greek_SIGMA: _FcitxKeySym = 2002;
pub const _FcitxKeySym_FcitxKey_Greek_TAU: _FcitxKeySym = 2004;
pub const _FcitxKeySym_FcitxKey_Greek_UPSILON: _FcitxKeySym = 2005;
pub const _FcitxKeySym_FcitxKey_Greek_PHI: _FcitxKeySym = 2006;
pub const _FcitxKeySym_FcitxKey_Greek_CHI: _FcitxKeySym = 2007;
pub const _FcitxKeySym_FcitxKey_Greek_PSI: _FcitxKeySym = 2008;
pub const _FcitxKeySym_FcitxKey_Greek_OMEGA: _FcitxKeySym = 2009;
pub const _FcitxKeySym_FcitxKey_Greek_alpha: _FcitxKeySym = 2017;
pub const _FcitxKeySym_FcitxKey_Greek_beta: _FcitxKeySym = 2018;
pub const _FcitxKeySym_FcitxKey_Greek_gamma: _FcitxKeySym = 2019;
pub const _FcitxKeySym_FcitxKey_Greek_delta: _FcitxKeySym = 2020;
pub const _FcitxKeySym_FcitxKey_Greek_epsilon: _FcitxKeySym = 2021;
pub const _FcitxKeySym_FcitxKey_Greek_zeta: _FcitxKeySym = 2022;
pub const _FcitxKeySym_FcitxKey_Greek_eta: _FcitxKeySym = 2023;
pub const _FcitxKeySym_FcitxKey_Greek_theta: _FcitxKeySym = 2024;
pub const _FcitxKeySym_FcitxKey_Greek_iota: _FcitxKeySym = 2025;
pub const _FcitxKeySym_FcitxKey_Greek_kappa: _FcitxKeySym = 2026;
pub const _FcitxKeySym_FcitxKey_Greek_lamda: _FcitxKeySym = 2027;
pub const _FcitxKeySym_FcitxKey_Greek_lambda: _FcitxKeySym = 2027;
pub const _FcitxKeySym_FcitxKey_Greek_mu: _FcitxKeySym = 2028;
pub const _FcitxKeySym_FcitxKey_Greek_nu: _FcitxKeySym = 2029;
pub const _FcitxKeySym_FcitxKey_Greek_xi: _FcitxKeySym = 2030;
pub const _FcitxKeySym_FcitxKey_Greek_omicron: _FcitxKeySym = 2031;
pub const _FcitxKeySym_FcitxKey_Greek_pi: _FcitxKeySym = 2032;
pub const _FcitxKeySym_FcitxKey_Greek_rho: _FcitxKeySym = 2033;
pub const _FcitxKeySym_FcitxKey_Greek_sigma: _FcitxKeySym = 2034;
pub const _FcitxKeySym_FcitxKey_Greek_finalsmallsigma: _FcitxKeySym = 2035;
pub const _FcitxKeySym_FcitxKey_Greek_tau: _FcitxKeySym = 2036;
pub const _FcitxKeySym_FcitxKey_Greek_upsilon: _FcitxKeySym = 2037;
pub const _FcitxKeySym_FcitxKey_Greek_phi: _FcitxKeySym = 2038;
pub const _FcitxKeySym_FcitxKey_Greek_chi: _FcitxKeySym = 2039;
pub const _FcitxKeySym_FcitxKey_Greek_psi: _FcitxKeySym = 2040;
pub const _FcitxKeySym_FcitxKey_Greek_omega: _FcitxKeySym = 2041;
pub const _FcitxKeySym_FcitxKey_Greek_switch: _FcitxKeySym = 65406;
pub const _FcitxKeySym_FcitxKey_leftradical: _FcitxKeySym = 2209;
pub const _FcitxKeySym_FcitxKey_topleftradical: _FcitxKeySym = 2210;
pub const _FcitxKeySym_FcitxKey_horizconnector: _FcitxKeySym = 2211;
pub const _FcitxKeySym_FcitxKey_topintegral: _FcitxKeySym = 2212;
pub const _FcitxKeySym_FcitxKey_botintegral: _FcitxKeySym = 2213;
pub const _FcitxKeySym_FcitxKey_vertconnector: _FcitxKeySym = 2214;
pub const _FcitxKeySym_FcitxKey_topleftsqbracket: _FcitxKeySym = 2215;
pub const _FcitxKeySym_FcitxKey_botleftsqbracket: _FcitxKeySym = 2216;
pub const _FcitxKeySym_FcitxKey_toprightsqbracket: _FcitxKeySym = 2217;
pub const _FcitxKeySym_FcitxKey_botrightsqbracket: _FcitxKeySym = 2218;
pub const _FcitxKeySym_FcitxKey_topleftparens: _FcitxKeySym = 2219;
pub const _FcitxKeySym_FcitxKey_botleftparens: _FcitxKeySym = 2220;
pub const _FcitxKeySym_FcitxKey_toprightparens: _FcitxKeySym = 2221;
pub const _FcitxKeySym_FcitxKey_botrightparens: _FcitxKeySym = 2222;
pub const _FcitxKeySym_FcitxKey_leftmiddlecurlybrace: _FcitxKeySym = 2223;
pub const _FcitxKeySym_FcitxKey_rightmiddlecurlybrace: _FcitxKeySym = 2224;
pub const _FcitxKeySym_FcitxKey_topleftsummation: _FcitxKeySym = 2225;
pub const _FcitxKeySym_FcitxKey_botleftsummation: _FcitxKeySym = 2226;
pub const _FcitxKeySym_FcitxKey_topvertsummationconnector: _FcitxKeySym = 2227;
pub const _FcitxKeySym_FcitxKey_botvertsummationconnector: _FcitxKeySym = 2228;
pub const _FcitxKeySym_FcitxKey_toprightsummation: _FcitxKeySym = 2229;
pub const _FcitxKeySym_FcitxKey_botrightsummation: _FcitxKeySym = 2230;
pub const _FcitxKeySym_FcitxKey_rightmiddlesummation: _FcitxKeySym = 2231;
pub const _FcitxKeySym_FcitxKey_lessthanequal: _FcitxKeySym = 2236;
pub const _FcitxKeySym_FcitxKey_notequal: _FcitxKeySym = 2237;
pub const _FcitxKeySym_FcitxKey_greaterthanequal: _FcitxKeySym = 2238;
pub const _FcitxKeySym_FcitxKey_integral: _FcitxKeySym = 2239;
pub const _FcitxKeySym_FcitxKey_therefore: _FcitxKeySym = 2240;
pub const _FcitxKeySym_FcitxKey_variation: _FcitxKeySym = 2241;
pub const _FcitxKeySym_FcitxKey_infinity: _FcitxKeySym = 2242;
pub const _FcitxKeySym_FcitxKey_nabla: _FcitxKeySym = 2245;
pub const _FcitxKeySym_FcitxKey_approximate: _FcitxKeySym = 2248;
pub const _FcitxKeySym_FcitxKey_similarequal: _FcitxKeySym = 2249;
pub const _FcitxKeySym_FcitxKey_ifonlyif: _FcitxKeySym = 2253;
pub const _FcitxKeySym_FcitxKey_implies: _FcitxKeySym = 2254;
pub const _FcitxKeySym_FcitxKey_identical: _FcitxKeySym = 2255;
pub const _FcitxKeySym_FcitxKey_radical: _FcitxKeySym = 2262;
pub const _FcitxKeySym_FcitxKey_includedin: _FcitxKeySym = 2266;
pub const _FcitxKeySym_FcitxKey_includes: _FcitxKeySym = 2267;
pub const _FcitxKeySym_FcitxKey_intersection: _FcitxKeySym = 2268;
pub const _FcitxKeySym_FcitxKey_union: _FcitxKeySym = 2269;
pub const _FcitxKeySym_FcitxKey_logicaland: _FcitxKeySym = 2270;
pub const _FcitxKeySym_FcitxKey_logicalor: _FcitxKeySym = 2271;
pub const _FcitxKeySym_FcitxKey_partialderivative: _FcitxKeySym = 2287;
pub const _FcitxKeySym_FcitxKey_function: _FcitxKeySym = 2294;
pub const _FcitxKeySym_FcitxKey_leftarrow: _FcitxKeySym = 2299;
pub const _FcitxKeySym_FcitxKey_uparrow: _FcitxKeySym = 2300;
pub const _FcitxKeySym_FcitxKey_rightarrow: _FcitxKeySym = 2301;
pub const _FcitxKeySym_FcitxKey_downarrow: _FcitxKeySym = 2302;
pub const _FcitxKeySym_FcitxKey_blank: _FcitxKeySym = 2527;
pub const _FcitxKeySym_FcitxKey_soliddiamond: _FcitxKeySym = 2528;
pub const _FcitxKeySym_FcitxKey_checkerboard: _FcitxKeySym = 2529;
pub const _FcitxKeySym_FcitxKey_ht: _FcitxKeySym = 2530;
pub const _FcitxKeySym_FcitxKey_ff: _FcitxKeySym = 2531;
pub const _FcitxKeySym_FcitxKey_cr: _FcitxKeySym = 2532;
pub const _FcitxKeySym_FcitxKey_lf: _FcitxKeySym = 2533;
pub const _FcitxKeySym_FcitxKey_nl: _FcitxKeySym = 2536;
pub const _FcitxKeySym_FcitxKey_vt: _FcitxKeySym = 2537;
pub const _FcitxKeySym_FcitxKey_lowrightcorner: _FcitxKeySym = 2538;
pub const _FcitxKeySym_FcitxKey_uprightcorner: _FcitxKeySym = 2539;
pub const _FcitxKeySym_FcitxKey_upleftcorner: _FcitxKeySym = 2540;
pub const _FcitxKeySym_FcitxKey_lowleftcorner: _FcitxKeySym = 2541;
pub const _FcitxKeySym_FcitxKey_crossinglines: _FcitxKeySym = 2542;
pub const _FcitxKeySym_FcitxKey_horizlinescan1: _FcitxKeySym = 2543;
pub const _FcitxKeySym_FcitxKey_horizlinescan3: _FcitxKeySym = 2544;
pub const _FcitxKeySym_FcitxKey_horizlinescan5: _FcitxKeySym = 2545;
pub const _FcitxKeySym_FcitxKey_horizlinescan7: _FcitxKeySym = 2546;
pub const _FcitxKeySym_FcitxKey_horizlinescan9: _FcitxKeySym = 2547;
pub const _FcitxKeySym_FcitxKey_leftt: _FcitxKeySym = 2548;
pub const _FcitxKeySym_FcitxKey_rightt: _FcitxKeySym = 2549;
pub const _FcitxKeySym_FcitxKey_bott: _FcitxKeySym = 2550;
pub const _FcitxKeySym_FcitxKey_topt: _FcitxKeySym = 2551;
pub const _FcitxKeySym_FcitxKey_vertbar: _FcitxKeySym = 2552;
pub const _FcitxKeySym_FcitxKey_emspace: _FcitxKeySym = 2721;
pub const _FcitxKeySym_FcitxKey_enspace: _FcitxKeySym = 2722;
pub const _FcitxKeySym_FcitxKey_em3space: _FcitxKeySym = 2723;
pub const _FcitxKeySym_FcitxKey_em4space: _FcitxKeySym = 2724;
pub const _FcitxKeySym_FcitxKey_digitspace: _FcitxKeySym = 2725;
pub const _FcitxKeySym_FcitxKey_punctspace: _FcitxKeySym = 2726;
pub const _FcitxKeySym_FcitxKey_thinspace: _FcitxKeySym = 2727;
pub const _FcitxKeySym_FcitxKey_hairspace: _FcitxKeySym = 2728;
pub const _FcitxKeySym_FcitxKey_emdash: _FcitxKeySym = 2729;
pub const _FcitxKeySym_FcitxKey_endash: _FcitxKeySym = 2730;
pub const _FcitxKeySym_FcitxKey_signifblank: _FcitxKeySym = 2732;
pub const _FcitxKeySym_FcitxKey_ellipsis: _FcitxKeySym = 2734;
pub const _FcitxKeySym_FcitxKey_doubbaselinedot: _FcitxKeySym = 2735;
pub const _FcitxKeySym_FcitxKey_onethird: _FcitxKeySym = 2736;
pub const _FcitxKeySym_FcitxKey_twothirds: _FcitxKeySym = 2737;
pub const _FcitxKeySym_FcitxKey_onefifth: _FcitxKeySym = 2738;
pub const _FcitxKeySym_FcitxKey_twofifths: _FcitxKeySym = 2739;
pub const _FcitxKeySym_FcitxKey_threefifths: _FcitxKeySym = 2740;
pub const _FcitxKeySym_FcitxKey_fourfifths: _FcitxKeySym = 2741;
pub const _FcitxKeySym_FcitxKey_onesixth: _FcitxKeySym = 2742;
pub const _FcitxKeySym_FcitxKey_fivesixths: _FcitxKeySym = 2743;
pub const _FcitxKeySym_FcitxKey_careof: _FcitxKeySym = 2744;
pub const _FcitxKeySym_FcitxKey_figdash: _FcitxKeySym = 2747;
pub const _FcitxKeySym_FcitxKey_leftanglebracket: _FcitxKeySym = 2748;
pub const _FcitxKeySym_FcitxKey_decimalpoint: _FcitxKeySym = 2749;
pub const _FcitxKeySym_FcitxKey_rightanglebracket: _FcitxKeySym = 2750;
pub const _FcitxKeySym_FcitxKey_marker: _FcitxKeySym = 2751;
pub const _FcitxKeySym_FcitxKey_oneeighth: _FcitxKeySym = 2755;
pub const _FcitxKeySym_FcitxKey_threeeighths: _FcitxKeySym = 2756;
pub const _FcitxKeySym_FcitxKey_fiveeighths: _FcitxKeySym = 2757;
pub const _FcitxKeySym_FcitxKey_seveneighths: _FcitxKeySym = 2758;
pub const _FcitxKeySym_FcitxKey_trademark: _FcitxKeySym = 2761;
pub const _FcitxKeySym_FcitxKey_signaturemark: _FcitxKeySym = 2762;
pub const _FcitxKeySym_FcitxKey_trademarkincircle: _FcitxKeySym = 2763;
pub const _FcitxKeySym_FcitxKey_leftopentriangle: _FcitxKeySym = 2764;
pub const _FcitxKeySym_FcitxKey_rightopentriangle: _FcitxKeySym = 2765;
pub const _FcitxKeySym_FcitxKey_emopencircle: _FcitxKeySym = 2766;
pub const _FcitxKeySym_FcitxKey_emopenrectangle: _FcitxKeySym = 2767;
pub const _FcitxKeySym_FcitxKey_leftsinglequotemark: _FcitxKeySym = 2768;
pub const _FcitxKeySym_FcitxKey_rightsinglequotemark: _FcitxKeySym = 2769;
pub const _FcitxKeySym_FcitxKey_leftdoublequotemark: _FcitxKeySym = 2770;
pub const _FcitxKeySym_FcitxKey_rightdoublequotemark: _FcitxKeySym = 2771;
pub const _FcitxKeySym_FcitxKey_prescription: _FcitxKeySym = 2772;
pub const _FcitxKeySym_FcitxKey_permille: _FcitxKeySym = 2773;
pub const _FcitxKeySym_FcitxKey_minutes: _FcitxKeySym = 2774;
pub const _FcitxKeySym_FcitxKey_seconds: _FcitxKeySym = 2775;
pub const _FcitxKeySym_FcitxKey_latincross: _FcitxKeySym = 2777;
pub const _FcitxKeySym_FcitxKey_hexagram: _FcitxKeySym = 2778;
pub const _FcitxKeySym_FcitxKey_filledrectbullet: _FcitxKeySym = 2779;
pub const _FcitxKeySym_FcitxKey_filledlefttribullet: _FcitxKeySym = 2780;
pub const _FcitxKeySym_FcitxKey_filledrighttribullet: _FcitxKeySym = 2781;
pub const _FcitxKeySym_FcitxKey_emfilledcircle: _FcitxKeySym = 2782;
pub const _FcitxKeySym_FcitxKey_emfilledrect: _FcitxKeySym = 2783;
pub const _FcitxKeySym_FcitxKey_enopencircbullet: _FcitxKeySym = 2784;
pub const _FcitxKeySym_FcitxKey_enopensquarebullet: _FcitxKeySym = 2785;
pub const _FcitxKeySym_FcitxKey_openrectbullet: _FcitxKeySym = 2786;
pub const _FcitxKeySym_FcitxKey_opentribulletup: _FcitxKeySym = 2787;
pub const _FcitxKeySym_FcitxKey_opentribulletdown: _FcitxKeySym = 2788;
pub const _FcitxKeySym_FcitxKey_openstar: _FcitxKeySym = 2789;
pub const _FcitxKeySym_FcitxKey_enfilledcircbullet: _FcitxKeySym = 2790;
pub const _FcitxKeySym_FcitxKey_enfilledsqbullet: _FcitxKeySym = 2791;
pub const _FcitxKeySym_FcitxKey_filledtribulletup: _FcitxKeySym = 2792;
pub const _FcitxKeySym_FcitxKey_filledtribulletdown: _FcitxKeySym = 2793;
pub const _FcitxKeySym_FcitxKey_leftpointer: _FcitxKeySym = 2794;
pub const _FcitxKeySym_FcitxKey_rightpointer: _FcitxKeySym = 2795;
pub const _FcitxKeySym_FcitxKey_club: _FcitxKeySym = 2796;
pub const _FcitxKeySym_FcitxKey_diamond: _FcitxKeySym = 2797;
pub const _FcitxKeySym_FcitxKey_heart: _FcitxKeySym = 2798;
pub const _FcitxKeySym_FcitxKey_maltesecross: _FcitxKeySym = 2800;
pub const _FcitxKeySym_FcitxKey_dagger: _FcitxKeySym = 2801;
pub const _FcitxKeySym_FcitxKey_doubledagger: _FcitxKeySym = 2802;
pub const _FcitxKeySym_FcitxKey_checkmark: _FcitxKeySym = 2803;
pub const _FcitxKeySym_FcitxKey_ballotcross: _FcitxKeySym = 2804;
pub const _FcitxKeySym_FcitxKey_musicalsharp: _FcitxKeySym = 2805;
pub const _FcitxKeySym_FcitxKey_musicalflat: _FcitxKeySym = 2806;
pub const _FcitxKeySym_FcitxKey_malesymbol: _FcitxKeySym = 2807;
pub const _FcitxKeySym_FcitxKey_femalesymbol: _FcitxKeySym = 2808;
pub const _FcitxKeySym_FcitxKey_telephone: _FcitxKeySym = 2809;
pub const _FcitxKeySym_FcitxKey_telephonerecorder: _FcitxKeySym = 2810;
pub const _FcitxKeySym_FcitxKey_phonographcopyright: _FcitxKeySym = 2811;
pub const _FcitxKeySym_FcitxKey_caret: _FcitxKeySym = 2812;
pub const _FcitxKeySym_FcitxKey_singlelowquotemark: _FcitxKeySym = 2813;
pub const _FcitxKeySym_FcitxKey_doublelowquotemark: _FcitxKeySym = 2814;
pub const _FcitxKeySym_FcitxKey_cursor: _FcitxKeySym = 2815;
pub const _FcitxKeySym_FcitxKey_leftcaret: _FcitxKeySym = 2979;
pub const _FcitxKeySym_FcitxKey_rightcaret: _FcitxKeySym = 2982;
pub const _FcitxKeySym_FcitxKey_downcaret: _FcitxKeySym = 2984;
pub const _FcitxKeySym_FcitxKey_upcaret: _FcitxKeySym = 2985;
pub const _FcitxKeySym_FcitxKey_overbar: _FcitxKeySym = 3008;
pub const _FcitxKeySym_FcitxKey_downtack: _FcitxKeySym = 3010;
pub const _FcitxKeySym_FcitxKey_upshoe: _FcitxKeySym = 3011;
pub const _FcitxKeySym_FcitxKey_downstile: _FcitxKeySym = 3012;
pub const _FcitxKeySym_FcitxKey_underbar: _FcitxKeySym = 3014;
pub const _FcitxKeySym_FcitxKey_jot: _FcitxKeySym = 3018;
pub const _FcitxKeySym_FcitxKey_quad: _FcitxKeySym = 3020;
pub const _FcitxKeySym_FcitxKey_uptack: _FcitxKeySym = 3022;
pub const _FcitxKeySym_FcitxKey_circle: _FcitxKeySym = 3023;
pub const _FcitxKeySym_FcitxKey_upstile: _FcitxKeySym = 3027;
pub const _FcitxKeySym_FcitxKey_downshoe: _FcitxKeySym = 3030;
pub const _FcitxKeySym_FcitxKey_rightshoe: _FcitxKeySym = 3032;
pub const _FcitxKeySym_FcitxKey_leftshoe: _FcitxKeySym = 3034;
pub const _FcitxKeySym_FcitxKey_lefttack: _FcitxKeySym = 3036;
pub const _FcitxKeySym_FcitxKey_righttack: _FcitxKeySym = 3068;
pub const _FcitxKeySym_FcitxKey_hebrew_doublelowline: _FcitxKeySym = 3295;
pub const _FcitxKeySym_FcitxKey_hebrew_aleph: _FcitxKeySym = 3296;
pub const _FcitxKeySym_FcitxKey_hebrew_bet: _FcitxKeySym = 3297;
pub const _FcitxKeySym_FcitxKey_hebrew_beth: _FcitxKeySym = 3297;
pub const _FcitxKeySym_FcitxKey_hebrew_gimel: _FcitxKeySym = 3298;
pub const _FcitxKeySym_FcitxKey_hebrew_gimmel: _FcitxKeySym = 3298;
pub const _FcitxKeySym_FcitxKey_hebrew_dalet: _FcitxKeySym = 3299;
pub const _FcitxKeySym_FcitxKey_hebrew_daleth: _FcitxKeySym = 3299;
pub const _FcitxKeySym_FcitxKey_hebrew_he: _FcitxKeySym = 3300;
pub const _FcitxKeySym_FcitxKey_hebrew_waw: _FcitxKeySym = 3301;
pub const _FcitxKeySym_FcitxKey_hebrew_zain: _FcitxKeySym = 3302;
pub const _FcitxKeySym_FcitxKey_hebrew_zayin: _FcitxKeySym = 3302;
pub const _FcitxKeySym_FcitxKey_hebrew_chet: _FcitxKeySym = 3303;
pub const _FcitxKeySym_FcitxKey_hebrew_het: _FcitxKeySym = 3303;
pub const _FcitxKeySym_FcitxKey_hebrew_tet: _FcitxKeySym = 3304;
pub const _FcitxKeySym_FcitxKey_hebrew_teth: _FcitxKeySym = 3304;
pub const _FcitxKeySym_FcitxKey_hebrew_yod: _FcitxKeySym = 3305;
pub const _FcitxKeySym_FcitxKey_hebrew_finalkaph: _FcitxKeySym = 3306;
pub const _FcitxKeySym_FcitxKey_hebrew_kaph: _FcitxKeySym = 3307;
pub const _FcitxKeySym_FcitxKey_hebrew_lamed: _FcitxKeySym = 3308;
pub const _FcitxKeySym_FcitxKey_hebrew_finalmem: _FcitxKeySym = 3309;
pub const _FcitxKeySym_FcitxKey_hebrew_mem: _FcitxKeySym = 3310;
pub const _FcitxKeySym_FcitxKey_hebrew_finalnun: _FcitxKeySym = 3311;
pub const _FcitxKeySym_FcitxKey_hebrew_nun: _FcitxKeySym = 3312;
pub const _FcitxKeySym_FcitxKey_hebrew_samech: _FcitxKeySym = 3313;
pub const _FcitxKeySym_FcitxKey_hebrew_samekh: _FcitxKeySym = 3313;
pub const _FcitxKeySym_FcitxKey_hebrew_ayin: _FcitxKeySym = 3314;
pub const _FcitxKeySym_FcitxKey_hebrew_finalpe: _FcitxKeySym = 3315;
pub const _FcitxKeySym_FcitxKey_hebrew_pe: _FcitxKeySym = 3316;
pub const _FcitxKeySym_FcitxKey_hebrew_finalzade: _FcitxKeySym = 3317;
pub const _FcitxKeySym_FcitxKey_hebrew_finalzadi: _FcitxKeySym = 3317;
pub const _FcitxKeySym_FcitxKey_hebrew_zade: _FcitxKeySym = 3318;
pub const _FcitxKeySym_FcitxKey_hebrew_zadi: _FcitxKeySym = 3318;
pub const _FcitxKeySym_FcitxKey_hebrew_qoph: _FcitxKeySym = 3319;
pub const _FcitxKeySym_FcitxKey_hebrew_kuf: _FcitxKeySym = 3319;
pub const _FcitxKeySym_FcitxKey_hebrew_resh: _FcitxKeySym = 3320;
pub const _FcitxKeySym_FcitxKey_hebrew_shin: _FcitxKeySym = 3321;
pub const _FcitxKeySym_FcitxKey_hebrew_taw: _FcitxKeySym = 3322;
pub const _FcitxKeySym_FcitxKey_hebrew_taf: _FcitxKeySym = 3322;
pub const _FcitxKeySym_FcitxKey_Hebrew_switch: _FcitxKeySym = 65406;
pub const _FcitxKeySym_FcitxKey_Thai_kokai: _FcitxKeySym = 3489;
pub const _FcitxKeySym_FcitxKey_Thai_khokhai: _FcitxKeySym = 3490;
pub const _FcitxKeySym_FcitxKey_Thai_khokhuat: _FcitxKeySym = 3491;
pub const _FcitxKeySym_FcitxKey_Thai_khokhwai: _FcitxKeySym = 3492;
pub const _FcitxKeySym_FcitxKey_Thai_khokhon: _FcitxKeySym = 3493;
pub const _FcitxKeySym_FcitxKey_Thai_khorakhang: _FcitxKeySym = 3494;
pub const _FcitxKeySym_FcitxKey_Thai_ngongu: _FcitxKeySym = 3495;
pub const _FcitxKeySym_FcitxKey_Thai_chochan: _FcitxKeySym = 3496;
pub const _FcitxKeySym_FcitxKey_Thai_choching: _FcitxKeySym = 3497;
pub const _FcitxKeySym_FcitxKey_Thai_chochang: _FcitxKeySym = 3498;
pub const _FcitxKeySym_FcitxKey_Thai_soso: _FcitxKeySym = 3499;
pub const _FcitxKeySym_FcitxKey_Thai_chochoe: _FcitxKeySym = 3500;
pub const _FcitxKeySym_FcitxKey_Thai_yoying: _FcitxKeySym = 3501;
pub const _FcitxKeySym_FcitxKey_Thai_dochada: _FcitxKeySym = 3502;
pub const _FcitxKeySym_FcitxKey_Thai_topatak: _FcitxKeySym = 3503;
pub const _FcitxKeySym_FcitxKey_Thai_thothan: _FcitxKeySym = 3504;
pub const _FcitxKeySym_FcitxKey_Thai_thonangmontho: _FcitxKeySym = 3505;
pub const _FcitxKeySym_FcitxKey_Thai_thophuthao: _FcitxKeySym = 3506;
pub const _FcitxKeySym_FcitxKey_Thai_nonen: _FcitxKeySym = 3507;
pub const _FcitxKeySym_FcitxKey_Thai_dodek: _FcitxKeySym = 3508;
pub const _FcitxKeySym_FcitxKey_Thai_totao: _FcitxKeySym = 3509;
pub const _FcitxKeySym_FcitxKey_Thai_thothung: _FcitxKeySym = 3510;
pub const _FcitxKeySym_FcitxKey_Thai_thothahan: _FcitxKeySym = 3511;
pub const _FcitxKeySym_FcitxKey_Thai_thothong: _FcitxKeySym = 3512;
pub const _FcitxKeySym_FcitxKey_Thai_nonu: _FcitxKeySym = 3513;
pub const _FcitxKeySym_FcitxKey_Thai_bobaimai: _FcitxKeySym = 3514;
pub const _FcitxKeySym_FcitxKey_Thai_popla: _FcitxKeySym = 3515;
pub const _FcitxKeySym_FcitxKey_Thai_phophung: _FcitxKeySym = 3516;
pub const _FcitxKeySym_FcitxKey_Thai_fofa: _FcitxKeySym = 3517;
pub const _FcitxKeySym_FcitxKey_Thai_phophan: _FcitxKeySym = 3518;
pub const _FcitxKeySym_FcitxKey_Thai_fofan: _FcitxKeySym = 3519;
pub const _FcitxKeySym_FcitxKey_Thai_phosamphao: _FcitxKeySym = 3520;
pub const _FcitxKeySym_FcitxKey_Thai_moma: _FcitxKeySym = 3521;
pub const _FcitxKeySym_FcitxKey_Thai_yoyak: _FcitxKeySym = 3522;
pub const _FcitxKeySym_FcitxKey_Thai_rorua: _FcitxKeySym = 3523;
pub const _FcitxKeySym_FcitxKey_Thai_ru: _FcitxKeySym = 3524;
pub const _FcitxKeySym_FcitxKey_Thai_loling: _FcitxKeySym = 3525;
pub const _FcitxKeySym_FcitxKey_Thai_lu: _FcitxKeySym = 3526;
pub const _FcitxKeySym_FcitxKey_Thai_wowaen: _FcitxKeySym = 3527;
pub const _FcitxKeySym_FcitxKey_Thai_sosala: _FcitxKeySym = 3528;
pub const _FcitxKeySym_FcitxKey_Thai_sorusi: _FcitxKeySym = 3529;
pub const _FcitxKeySym_FcitxKey_Thai_sosua: _FcitxKeySym = 3530;
pub const _FcitxKeySym_FcitxKey_Thai_hohip: _FcitxKeySym = 3531;
pub const _FcitxKeySym_FcitxKey_Thai_lochula: _FcitxKeySym = 3532;
pub const _FcitxKeySym_FcitxKey_Thai_oang: _FcitxKeySym = 3533;
pub const _FcitxKeySym_FcitxKey_Thai_honokhuk: _FcitxKeySym = 3534;
pub const _FcitxKeySym_FcitxKey_Thai_paiyannoi: _FcitxKeySym = 3535;
pub const _FcitxKeySym_FcitxKey_Thai_saraa: _FcitxKeySym = 3536;
pub const _FcitxKeySym_FcitxKey_Thai_maihanakat: _FcitxKeySym = 3537;
pub const _FcitxKeySym_FcitxKey_Thai_saraaa: _FcitxKeySym = 3538;
pub const _FcitxKeySym_FcitxKey_Thai_saraam: _FcitxKeySym = 3539;
pub const _FcitxKeySym_FcitxKey_Thai_sarai: _FcitxKeySym = 3540;
pub const _FcitxKeySym_FcitxKey_Thai_saraii: _FcitxKeySym = 3541;
pub const _FcitxKeySym_FcitxKey_Thai_saraue: _FcitxKeySym = 3542;
pub const _FcitxKeySym_FcitxKey_Thai_sarauee: _FcitxKeySym = 3543;
pub const _FcitxKeySym_FcitxKey_Thai_sarau: _FcitxKeySym = 3544;
pub const _FcitxKeySym_FcitxKey_Thai_sarauu: _FcitxKeySym = 3545;
pub const _FcitxKeySym_FcitxKey_Thai_phinthu: _FcitxKeySym = 3546;
pub const _FcitxKeySym_FcitxKey_Thai_maihanakat_maitho: _FcitxKeySym = 3550;
pub const _FcitxKeySym_FcitxKey_Thai_baht: _FcitxKeySym = 3551;
pub const _FcitxKeySym_FcitxKey_Thai_sarae: _FcitxKeySym = 3552;
pub const _FcitxKeySym_FcitxKey_Thai_saraae: _FcitxKeySym = 3553;
pub const _FcitxKeySym_FcitxKey_Thai_sarao: _FcitxKeySym = 3554;
pub const _FcitxKeySym_FcitxKey_Thai_saraaimaimuan: _FcitxKeySym = 3555;
pub const _FcitxKeySym_FcitxKey_Thai_saraaimaimalai: _FcitxKeySym = 3556;
pub const _FcitxKeySym_FcitxKey_Thai_lakkhangyao: _FcitxKeySym = 3557;
pub const _FcitxKeySym_FcitxKey_Thai_maiyamok: _FcitxKeySym = 3558;
pub const _FcitxKeySym_FcitxKey_Thai_maitaikhu: _FcitxKeySym = 3559;
pub const _FcitxKeySym_FcitxKey_Thai_maiek: _FcitxKeySym = 3560;
pub const _FcitxKeySym_FcitxKey_Thai_maitho: _FcitxKeySym = 3561;
pub const _FcitxKeySym_FcitxKey_Thai_maitri: _FcitxKeySym = 3562;
pub const _FcitxKeySym_FcitxKey_Thai_maichattawa: _FcitxKeySym = 3563;
pub const _FcitxKeySym_FcitxKey_Thai_thanthakhat: _FcitxKeySym = 3564;
pub const _FcitxKeySym_FcitxKey_Thai_nikhahit: _FcitxKeySym = 3565;
pub const _FcitxKeySym_FcitxKey_Thai_leksun: _FcitxKeySym = 3568;
pub const _FcitxKeySym_FcitxKey_Thai_leknung: _FcitxKeySym = 3569;
pub const _FcitxKeySym_FcitxKey_Thai_leksong: _FcitxKeySym = 3570;
pub const _FcitxKeySym_FcitxKey_Thai_leksam: _FcitxKeySym = 3571;
pub const _FcitxKeySym_FcitxKey_Thai_leksi: _FcitxKeySym = 3572;
pub const _FcitxKeySym_FcitxKey_Thai_lekha: _FcitxKeySym = 3573;
pub const _FcitxKeySym_FcitxKey_Thai_lekhok: _FcitxKeySym = 3574;
pub const _FcitxKeySym_FcitxKey_Thai_lekchet: _FcitxKeySym = 3575;
pub const _FcitxKeySym_FcitxKey_Thai_lekpaet: _FcitxKeySym = 3576;
pub const _FcitxKeySym_FcitxKey_Thai_lekkao: _FcitxKeySym = 3577;
pub const _FcitxKeySym_FcitxKey_Hangul: _FcitxKeySym = 65329;
pub const _FcitxKeySym_FcitxKey_Hangul_Start: _FcitxKeySym = 65330;
pub const _FcitxKeySym_FcitxKey_Hangul_End: _FcitxKeySym = 65331;
pub const _FcitxKeySym_FcitxKey_Hangul_Hanja: _FcitxKeySym = 65332;
pub const _FcitxKeySym_FcitxKey_Hangul_Jamo: _FcitxKeySym = 65333;
pub const _FcitxKeySym_FcitxKey_Hangul_Romaja: _FcitxKeySym = 65334;
pub const _FcitxKeySym_FcitxKey_Hangul_Codeinput: _FcitxKeySym = 65335;
pub const _FcitxKeySym_FcitxKey_Hangul_Jeonja: _FcitxKeySym = 65336;
pub const _FcitxKeySym_FcitxKey_Hangul_Banja: _FcitxKeySym = 65337;
pub const _FcitxKeySym_FcitxKey_Hangul_PreHanja: _FcitxKeySym = 65338;
pub const _FcitxKeySym_FcitxKey_Hangul_PostHanja: _FcitxKeySym = 65339;
pub const _FcitxKeySym_FcitxKey_Hangul_SingleCandidate: _FcitxKeySym = 65340;
pub const _FcitxKeySym_FcitxKey_Hangul_MultipleCandidate: _FcitxKeySym = 65341;
pub const _FcitxKeySym_FcitxKey_Hangul_PreviousCandidate: _FcitxKeySym = 65342;
pub const _FcitxKeySym_FcitxKey_Hangul_Special: _FcitxKeySym = 65343;
pub const _FcitxKeySym_FcitxKey_Hangul_switch: _FcitxKeySym = 65406;
pub const _FcitxKeySym_FcitxKey_Hangul_Kiyeog: _FcitxKeySym = 3745;
pub const _FcitxKeySym_FcitxKey_Hangul_SsangKiyeog: _FcitxKeySym = 3746;
pub const _FcitxKeySym_FcitxKey_Hangul_KiyeogSios: _FcitxKeySym = 3747;
pub const _FcitxKeySym_FcitxKey_Hangul_Nieun: _FcitxKeySym = 3748;
pub const _FcitxKeySym_FcitxKey_Hangul_NieunJieuj: _FcitxKeySym = 3749;
pub const _FcitxKeySym_FcitxKey_Hangul_NieunHieuh: _FcitxKeySym = 3750;
pub const _FcitxKeySym_FcitxKey_Hangul_Dikeud: _FcitxKeySym = 3751;
pub const _FcitxKeySym_FcitxKey_Hangul_SsangDikeud: _FcitxKeySym = 3752;
pub const _FcitxKeySym_FcitxKey_Hangul_Rieul: _FcitxKeySym = 3753;
pub const _FcitxKeySym_FcitxKey_Hangul_RieulKiyeog: _FcitxKeySym = 3754;
pub const _FcitxKeySym_FcitxKey_Hangul_RieulMieum: _FcitxKeySym = 3755;
pub const _FcitxKeySym_FcitxKey_Hangul_RieulPieub: _FcitxKeySym = 3756;
pub const _FcitxKeySym_FcitxKey_Hangul_RieulSios: _FcitxKeySym = 3757;
pub const _FcitxKeySym_FcitxKey_Hangul_RieulTieut: _FcitxKeySym = 3758;
pub const _FcitxKeySym_FcitxKey_Hangul_RieulPhieuf: _FcitxKeySym = 3759;
pub const _FcitxKeySym_FcitxKey_Hangul_RieulHieuh: _FcitxKeySym = 3760;
pub const _FcitxKeySym_FcitxKey_Hangul_Mieum: _FcitxKeySym = 3761;
pub const _FcitxKeySym_FcitxKey_Hangul_Pieub: _FcitxKeySym = 3762;
pub const _FcitxKeySym_FcitxKey_Hangul_SsangPieub: _FcitxKeySym = 3763;
pub const _FcitxKeySym_FcitxKey_Hangul_PieubSios: _FcitxKeySym = 3764;
pub const _FcitxKeySym_FcitxKey_Hangul_Sios: _FcitxKeySym = 3765;
pub const _FcitxKeySym_FcitxKey_Hangul_SsangSios: _FcitxKeySym = 3766;
pub const _FcitxKeySym_FcitxKey_Hangul_Ieung: _FcitxKeySym = 3767;
pub const _FcitxKeySym_FcitxKey_Hangul_Jieuj: _FcitxKeySym = 3768;
pub const _FcitxKeySym_FcitxKey_Hangul_SsangJieuj: _FcitxKeySym = 3769;
pub const _FcitxKeySym_FcitxKey_Hangul_Cieuc: _FcitxKeySym = 3770;
pub const _FcitxKeySym_FcitxKey_Hangul_Khieuq: _FcitxKeySym = 3771;
pub const _FcitxKeySym_FcitxKey_Hangul_Tieut: _FcitxKeySym = 3772;
pub const _FcitxKeySym_FcitxKey_Hangul_Phieuf: _FcitxKeySym = 3773;
pub const _FcitxKeySym_FcitxKey_Hangul_Hieuh: _FcitxKeySym = 3774;
pub const _FcitxKeySym_FcitxKey_Hangul_A: _FcitxKeySym = 3775;
pub const _FcitxKeySym_FcitxKey_Hangul_AE: _FcitxKeySym = 3776;
pub const _FcitxKeySym_FcitxKey_Hangul_YA: _FcitxKeySym = 3777;
pub const _FcitxKeySym_FcitxKey_Hangul_YAE: _FcitxKeySym = 3778;
pub const _FcitxKeySym_FcitxKey_Hangul_EO: _FcitxKeySym = 3779;
pub const _FcitxKeySym_FcitxKey_Hangul_E: _FcitxKeySym = 3780;
pub const _FcitxKeySym_FcitxKey_Hangul_YEO: _FcitxKeySym = 3781;
pub const _FcitxKeySym_FcitxKey_Hangul_YE: _FcitxKeySym = 3782;
pub const _FcitxKeySym_FcitxKey_Hangul_O: _FcitxKeySym = 3783;
pub const _FcitxKeySym_FcitxKey_Hangul_WA: _FcitxKeySym = 3784;
pub const _FcitxKeySym_FcitxKey_Hangul_WAE: _FcitxKeySym = 3785;
pub const _FcitxKeySym_FcitxKey_Hangul_OE: _FcitxKeySym = 3786;
pub const _FcitxKeySym_FcitxKey_Hangul_YO: _FcitxKeySym = 3787;
pub const _FcitxKeySym_FcitxKey_Hangul_U: _FcitxKeySym = 3788;
pub const _FcitxKeySym_FcitxKey_Hangul_WEO: _FcitxKeySym = 3789;
pub const _FcitxKeySym_FcitxKey_Hangul_WE: _FcitxKeySym = 3790;
pub const _FcitxKeySym_FcitxKey_Hangul_WI: _FcitxKeySym = 3791;
pub const _FcitxKeySym_FcitxKey_Hangul_YU: _FcitxKeySym = 3792;
pub const _FcitxKeySym_FcitxKey_Hangul_EU: _FcitxKeySym = 3793;
pub const _FcitxKeySym_FcitxKey_Hangul_YI: _FcitxKeySym = 3794;
pub const _FcitxKeySym_FcitxKey_Hangul_I: _FcitxKeySym = 3795;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Kiyeog: _FcitxKeySym = 3796;
pub const _FcitxKeySym_FcitxKey_Hangul_J_SsangKiyeog: _FcitxKeySym = 3797;
pub const _FcitxKeySym_FcitxKey_Hangul_J_KiyeogSios: _FcitxKeySym = 3798;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Nieun: _FcitxKeySym = 3799;
pub const _FcitxKeySym_FcitxKey_Hangul_J_NieunJieuj: _FcitxKeySym = 3800;
pub const _FcitxKeySym_FcitxKey_Hangul_J_NieunHieuh: _FcitxKeySym = 3801;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Dikeud: _FcitxKeySym = 3802;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Rieul: _FcitxKeySym = 3803;
pub const _FcitxKeySym_FcitxKey_Hangul_J_RieulKiyeog: _FcitxKeySym = 3804;
pub const _FcitxKeySym_FcitxKey_Hangul_J_RieulMieum: _FcitxKeySym = 3805;
pub const _FcitxKeySym_FcitxKey_Hangul_J_RieulPieub: _FcitxKeySym = 3806;
pub const _FcitxKeySym_FcitxKey_Hangul_J_RieulSios: _FcitxKeySym = 3807;
pub const _FcitxKeySym_FcitxKey_Hangul_J_RieulTieut: _FcitxKeySym = 3808;
pub const _FcitxKeySym_FcitxKey_Hangul_J_RieulPhieuf: _FcitxKeySym = 3809;
pub const _FcitxKeySym_FcitxKey_Hangul_J_RieulHieuh: _FcitxKeySym = 3810;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Mieum: _FcitxKeySym = 3811;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Pieub: _FcitxKeySym = 3812;
pub const _FcitxKeySym_FcitxKey_Hangul_J_PieubSios: _FcitxKeySym = 3813;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Sios: _FcitxKeySym = 3814;
pub const _FcitxKeySym_FcitxKey_Hangul_J_SsangSios: _FcitxKeySym = 3815;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Ieung: _FcitxKeySym = 3816;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Jieuj: _FcitxKeySym = 3817;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Cieuc: _FcitxKeySym = 3818;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Khieuq: _FcitxKeySym = 3819;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Tieut: _FcitxKeySym = 3820;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Phieuf: _FcitxKeySym = 3821;
pub const _FcitxKeySym_FcitxKey_Hangul_J_Hieuh: _FcitxKeySym = 3822;
pub const _FcitxKeySym_FcitxKey_Hangul_RieulYeorinHieuh: _FcitxKeySym = 3823;
pub const _FcitxKeySym_FcitxKey_Hangul_SunkyeongeumMieum: _FcitxKeySym = 3824;
pub const _FcitxKeySym_FcitxKey_Hangul_SunkyeongeumPieub: _FcitxKeySym = 3825;
pub const _FcitxKeySym_FcitxKey_Hangul_PanSios: _FcitxKeySym = 3826;
pub const _FcitxKeySym_FcitxKey_Hangul_KkogjiDalrinIeung: _FcitxKeySym = 3827;
pub const _FcitxKeySym_FcitxKey_Hangul_SunkyeongeumPhieuf: _FcitxKeySym = 3828;
pub const _FcitxKeySym_FcitxKey_Hangul_YeorinHieuh: _FcitxKeySym = 3829;
pub const _FcitxKeySym_FcitxKey_Hangul_AraeA: _FcitxKeySym = 3830;
pub const _FcitxKeySym_FcitxKey_Hangul_AraeAE: _FcitxKeySym = 3831;
pub const _FcitxKeySym_FcitxKey_Hangul_J_PanSios: _FcitxKeySym = 3832;
pub const _FcitxKeySym_FcitxKey_Hangul_J_KkogjiDalrinIeung: _FcitxKeySym = 3833;
pub const _FcitxKeySym_FcitxKey_Hangul_J_YeorinHieuh: _FcitxKeySym = 3834;
pub const _FcitxKeySym_FcitxKey_Korean_Won: _FcitxKeySym = 3839;
pub const _FcitxKeySym_FcitxKey_Armenian_ligature_ew: _FcitxKeySym = 16778631;
pub const _FcitxKeySym_FcitxKey_Armenian_full_stop: _FcitxKeySym = 16778633;
pub const _FcitxKeySym_FcitxKey_Armenian_verjaket: _FcitxKeySym = 16778633;
pub const _FcitxKeySym_FcitxKey_Armenian_separation_mark: _FcitxKeySym = 16778589;
pub const _FcitxKeySym_FcitxKey_Armenian_but: _FcitxKeySym = 16778589;
pub const _FcitxKeySym_FcitxKey_Armenian_hyphen: _FcitxKeySym = 16778634;
pub const _FcitxKeySym_FcitxKey_Armenian_yentamna: _FcitxKeySym = 16778634;
pub const _FcitxKeySym_FcitxKey_Armenian_exclam: _FcitxKeySym = 16778588;
pub const _FcitxKeySym_FcitxKey_Armenian_amanak: _FcitxKeySym = 16778588;
pub const _FcitxKeySym_FcitxKey_Armenian_accent: _FcitxKeySym = 16778587;
pub const _FcitxKeySym_FcitxKey_Armenian_shesht: _FcitxKeySym = 16778587;
pub const _FcitxKeySym_FcitxKey_Armenian_question: _FcitxKeySym = 16778590;
pub const _FcitxKeySym_FcitxKey_Armenian_paruyk: _FcitxKeySym = 16778590;
pub const _FcitxKeySym_FcitxKey_Armenian_AYB: _FcitxKeySym = 16778545;
pub const _FcitxKeySym_FcitxKey_Armenian_ayb: _FcitxKeySym = 16778593;
pub const _FcitxKeySym_FcitxKey_Armenian_BEN: _FcitxKeySym = 16778546;
pub const _FcitxKeySym_FcitxKey_Armenian_ben: _FcitxKeySym = 16778594;
pub const _FcitxKeySym_FcitxKey_Armenian_GIM: _FcitxKeySym = 16778547;
pub const _FcitxKeySym_FcitxKey_Armenian_gim: _FcitxKeySym = 16778595;
pub const _FcitxKeySym_FcitxKey_Armenian_DA: _FcitxKeySym = 16778548;
pub const _FcitxKeySym_FcitxKey_Armenian_da: _FcitxKeySym = 16778596;
pub const _FcitxKeySym_FcitxKey_Armenian_YECH: _FcitxKeySym = 16778549;
pub const _FcitxKeySym_FcitxKey_Armenian_yech: _FcitxKeySym = 16778597;
pub const _FcitxKeySym_FcitxKey_Armenian_ZA: _FcitxKeySym = 16778550;
pub const _FcitxKeySym_FcitxKey_Armenian_za: _FcitxKeySym = 16778598;
pub const _FcitxKeySym_FcitxKey_Armenian_E: _FcitxKeySym = 16778551;
pub const _FcitxKeySym_FcitxKey_Armenian_e: _FcitxKeySym = 16778599;
pub const _FcitxKeySym_FcitxKey_Armenian_AT: _FcitxKeySym = 16778552;
pub const _FcitxKeySym_FcitxKey_Armenian_at: _FcitxKeySym = 16778600;
pub const _FcitxKeySym_FcitxKey_Armenian_TO: _FcitxKeySym = 16778553;
pub const _FcitxKeySym_FcitxKey_Armenian_to: _FcitxKeySym = 16778601;
pub const _FcitxKeySym_FcitxKey_Armenian_ZHE: _FcitxKeySym = 16778554;
pub const _FcitxKeySym_FcitxKey_Armenian_zhe: _FcitxKeySym = 16778602;
pub const _FcitxKeySym_FcitxKey_Armenian_INI: _FcitxKeySym = 16778555;
pub const _FcitxKeySym_FcitxKey_Armenian_ini: _FcitxKeySym = 16778603;
pub const _FcitxKeySym_FcitxKey_Armenian_LYUN: _FcitxKeySym = 16778556;
pub const _FcitxKeySym_FcitxKey_Armenian_lyun: _FcitxKeySym = 16778604;
pub const _FcitxKeySym_FcitxKey_Armenian_KHE: _FcitxKeySym = 16778557;
pub const _FcitxKeySym_FcitxKey_Armenian_khe: _FcitxKeySym = 16778605;
pub const _FcitxKeySym_FcitxKey_Armenian_TSA: _FcitxKeySym = 16778558;
pub const _FcitxKeySym_FcitxKey_Armenian_tsa: _FcitxKeySym = 16778606;
pub const _FcitxKeySym_FcitxKey_Armenian_KEN: _FcitxKeySym = 16778559;
pub const _FcitxKeySym_FcitxKey_Armenian_ken: _FcitxKeySym = 16778607;
pub const _FcitxKeySym_FcitxKey_Armenian_HO: _FcitxKeySym = 16778560;
pub const _FcitxKeySym_FcitxKey_Armenian_ho: _FcitxKeySym = 16778608;
pub const _FcitxKeySym_FcitxKey_Armenian_DZA: _FcitxKeySym = 16778561;
pub const _FcitxKeySym_FcitxKey_Armenian_dza: _FcitxKeySym = 16778609;
pub const _FcitxKeySym_FcitxKey_Armenian_GHAT: _FcitxKeySym = 16778562;
pub const _FcitxKeySym_FcitxKey_Armenian_ghat: _FcitxKeySym = 16778610;
pub const _FcitxKeySym_FcitxKey_Armenian_TCHE: _FcitxKeySym = 16778563;
pub const _FcitxKeySym_FcitxKey_Armenian_tche: _FcitxKeySym = 16778611;
pub const _FcitxKeySym_FcitxKey_Armenian_MEN: _FcitxKeySym = 16778564;
pub const _FcitxKeySym_FcitxKey_Armenian_men: _FcitxKeySym = 16778612;
pub const _FcitxKeySym_FcitxKey_Armenian_HI: _FcitxKeySym = 16778565;
pub const _FcitxKeySym_FcitxKey_Armenian_hi: _FcitxKeySym = 16778613;
pub const _FcitxKeySym_FcitxKey_Armenian_NU: _FcitxKeySym = 16778566;
pub const _FcitxKeySym_FcitxKey_Armenian_nu: _FcitxKeySym = 16778614;
pub const _FcitxKeySym_FcitxKey_Armenian_SHA: _FcitxKeySym = 16778567;
pub const _FcitxKeySym_FcitxKey_Armenian_sha: _FcitxKeySym = 16778615;
pub const _FcitxKeySym_FcitxKey_Armenian_VO: _FcitxKeySym = 16778568;
pub const _FcitxKeySym_FcitxKey_Armenian_vo: _FcitxKeySym = 16778616;
pub const _FcitxKeySym_FcitxKey_Armenian_CHA: _FcitxKeySym = 16778569;
pub const _FcitxKeySym_FcitxKey_Armenian_cha: _FcitxKeySym = 16778617;
pub const _FcitxKeySym_FcitxKey_Armenian_PE: _FcitxKeySym = 16778570;
pub const _FcitxKeySym_FcitxKey_Armenian_pe: _FcitxKeySym = 16778618;
pub const _FcitxKeySym_FcitxKey_Armenian_JE: _FcitxKeySym = 16778571;
pub const _FcitxKeySym_FcitxKey_Armenian_je: _FcitxKeySym = 16778619;
pub const _FcitxKeySym_FcitxKey_Armenian_RA: _FcitxKeySym = 16778572;
pub const _FcitxKeySym_FcitxKey_Armenian_ra: _FcitxKeySym = 16778620;
pub const _FcitxKeySym_FcitxKey_Armenian_SE: _FcitxKeySym = 16778573;
pub const _FcitxKeySym_FcitxKey_Armenian_se: _FcitxKeySym = 16778621;
pub const _FcitxKeySym_FcitxKey_Armenian_VEV: _FcitxKeySym = 16778574;
pub const _FcitxKeySym_FcitxKey_Armenian_vev: _FcitxKeySym = 16778622;
pub const _FcitxKeySym_FcitxKey_Armenian_TYUN: _FcitxKeySym = 16778575;
pub const _FcitxKeySym_FcitxKey_Armenian_tyun: _FcitxKeySym = 16778623;
pub const _FcitxKeySym_FcitxKey_Armenian_RE: _FcitxKeySym = 16778576;
pub const _FcitxKeySym_FcitxKey_Armenian_re: _FcitxKeySym = 16778624;
pub const _FcitxKeySym_FcitxKey_Armenian_TSO: _FcitxKeySym = 16778577;
pub const _FcitxKeySym_FcitxKey_Armenian_tso: _FcitxKeySym = 16778625;
pub const _FcitxKeySym_FcitxKey_Armenian_VYUN: _FcitxKeySym = 16778578;
pub const _FcitxKeySym_FcitxKey_Armenian_vyun: _FcitxKeySym = 16778626;
pub const _FcitxKeySym_FcitxKey_Armenian_PYUR: _FcitxKeySym = 16778579;
pub const _FcitxKeySym_FcitxKey_Armenian_pyur: _FcitxKeySym = 16778627;
pub const _FcitxKeySym_FcitxKey_Armenian_KE: _FcitxKeySym = 16778580;
pub const _FcitxKeySym_FcitxKey_Armenian_ke: _FcitxKeySym = 16778628;
pub const _FcitxKeySym_FcitxKey_Armenian_O: _FcitxKeySym = 16778581;
pub const _FcitxKeySym_FcitxKey_Armenian_o: _FcitxKeySym = 16778629;
pub const _FcitxKeySym_FcitxKey_Armenian_FE: _FcitxKeySym = 16778582;
pub const _FcitxKeySym_FcitxKey_Armenian_fe: _FcitxKeySym = 16778630;
pub const _FcitxKeySym_FcitxKey_Armenian_apostrophe: _FcitxKeySym = 16778586;
pub const _FcitxKeySym_FcitxKey_Georgian_an: _FcitxKeySym = 16781520;
pub const _FcitxKeySym_FcitxKey_Georgian_ban: _FcitxKeySym = 16781521;
pub const _FcitxKeySym_FcitxKey_Georgian_gan: _FcitxKeySym = 16781522;
pub const _FcitxKeySym_FcitxKey_Georgian_don: _FcitxKeySym = 16781523;
pub const _FcitxKeySym_FcitxKey_Georgian_en: _FcitxKeySym = 16781524;
pub const _FcitxKeySym_FcitxKey_Georgian_vin: _FcitxKeySym = 16781525;
pub const _FcitxKeySym_FcitxKey_Georgian_zen: _FcitxKeySym = 16781526;
pub const _FcitxKeySym_FcitxKey_Georgian_tan: _FcitxKeySym = 16781527;
pub const _FcitxKeySym_FcitxKey_Georgian_in: _FcitxKeySym = 16781528;
pub const _FcitxKeySym_FcitxKey_Georgian_kan: _FcitxKeySym = 16781529;
pub const _FcitxKeySym_FcitxKey_Georgian_las: _FcitxKeySym = 16781530;
pub const _FcitxKeySym_FcitxKey_Georgian_man: _FcitxKeySym = 16781531;
pub const _FcitxKeySym_FcitxKey_Georgian_nar: _FcitxKeySym = 16781532;
pub const _FcitxKeySym_FcitxKey_Georgian_on: _FcitxKeySym = 16781533;
pub const _FcitxKeySym_FcitxKey_Georgian_par: _FcitxKeySym = 16781534;
pub const _FcitxKeySym_FcitxKey_Georgian_zhar: _FcitxKeySym = 16781535;
pub const _FcitxKeySym_FcitxKey_Georgian_rae: _FcitxKeySym = 16781536;
pub const _FcitxKeySym_FcitxKey_Georgian_san: _FcitxKeySym = 16781537;
pub const _FcitxKeySym_FcitxKey_Georgian_tar: _FcitxKeySym = 16781538;
pub const _FcitxKeySym_FcitxKey_Georgian_un: _FcitxKeySym = 16781539;
pub const _FcitxKeySym_FcitxKey_Georgian_phar: _FcitxKeySym = 16781540;
pub const _FcitxKeySym_FcitxKey_Georgian_khar: _FcitxKeySym = 16781541;
pub const _FcitxKeySym_FcitxKey_Georgian_ghan: _FcitxKeySym = 16781542;
pub const _FcitxKeySym_FcitxKey_Georgian_qar: _FcitxKeySym = 16781543;
pub const _FcitxKeySym_FcitxKey_Georgian_shin: _FcitxKeySym = 16781544;
pub const _FcitxKeySym_FcitxKey_Georgian_chin: _FcitxKeySym = 16781545;
pub const _FcitxKeySym_FcitxKey_Georgian_can: _FcitxKeySym = 16781546;
pub const _FcitxKeySym_FcitxKey_Georgian_jil: _FcitxKeySym = 16781547;
pub const _FcitxKeySym_FcitxKey_Georgian_cil: _FcitxKeySym = 16781548;
pub const _FcitxKeySym_FcitxKey_Georgian_char: _FcitxKeySym = 16781549;
pub const _FcitxKeySym_FcitxKey_Georgian_xan: _FcitxKeySym = 16781550;
pub const _FcitxKeySym_FcitxKey_Georgian_jhan: _FcitxKeySym = 16781551;
pub const _FcitxKeySym_FcitxKey_Georgian_hae: _FcitxKeySym = 16781552;
pub const _FcitxKeySym_FcitxKey_Georgian_he: _FcitxKeySym = 16781553;
pub const _FcitxKeySym_FcitxKey_Georgian_hie: _FcitxKeySym = 16781554;
pub const _FcitxKeySym_FcitxKey_Georgian_we: _FcitxKeySym = 16781555;
pub const _FcitxKeySym_FcitxKey_Georgian_har: _FcitxKeySym = 16781556;
pub const _FcitxKeySym_FcitxKey_Georgian_hoe: _FcitxKeySym = 16781557;
pub const _FcitxKeySym_FcitxKey_Georgian_fi: _FcitxKeySym = 16781558;
pub const _FcitxKeySym_FcitxKey_Xabovedot: _FcitxKeySym = 16785034;
pub const _FcitxKeySym_FcitxKey_Ibreve: _FcitxKeySym = 16777516;
pub const _FcitxKeySym_FcitxKey_Zstroke: _FcitxKeySym = 16777653;
pub const _FcitxKeySym_FcitxKey_Gcaron: _FcitxKeySym = 16777702;
pub const _FcitxKeySym_FcitxKey_Ocaron: _FcitxKeySym = 16777681;
pub const _FcitxKeySym_FcitxKey_Obarred: _FcitxKeySym = 16777631;
pub const _FcitxKeySym_FcitxKey_xabovedot: _FcitxKeySym = 16785035;
pub const _FcitxKeySym_FcitxKey_ibreve: _FcitxKeySym = 16777517;
pub const _FcitxKeySym_FcitxKey_zstroke: _FcitxKeySym = 16777654;
pub const _FcitxKeySym_FcitxKey_gcaron: _FcitxKeySym = 16777703;
pub const _FcitxKeySym_FcitxKey_ocaron: _FcitxKeySym = 16777682;
pub const _FcitxKeySym_FcitxKey_obarred: _FcitxKeySym = 16777845;
pub const _FcitxKeySym_FcitxKey_SCHWA: _FcitxKeySym = 16777615;
pub const _FcitxKeySym_FcitxKey_schwa: _FcitxKeySym = 16777817;
pub const _FcitxKeySym_FcitxKey_EZH: _FcitxKeySym = 16777655;
pub const _FcitxKeySym_FcitxKey_ezh: _FcitxKeySym = 16777874;
pub const _FcitxKeySym_FcitxKey_Lbelowdot: _FcitxKeySym = 16784950;
pub const _FcitxKeySym_FcitxKey_lbelowdot: _FcitxKeySym = 16784951;
pub const _FcitxKeySym_FcitxKey_Abelowdot: _FcitxKeySym = 16785056;
pub const _FcitxKeySym_FcitxKey_abelowdot: _FcitxKeySym = 16785057;
pub const _FcitxKeySym_FcitxKey_Ahook: _FcitxKeySym = 16785058;
pub const _FcitxKeySym_FcitxKey_ahook: _FcitxKeySym = 16785059;
pub const _FcitxKeySym_FcitxKey_Acircumflexacute: _FcitxKeySym = 16785060;
pub const _FcitxKeySym_FcitxKey_acircumflexacute: _FcitxKeySym = 16785061;
pub const _FcitxKeySym_FcitxKey_Acircumflexgrave: _FcitxKeySym = 16785062;
pub const _FcitxKeySym_FcitxKey_acircumflexgrave: _FcitxKeySym = 16785063;
pub const _FcitxKeySym_FcitxKey_Acircumflexhook: _FcitxKeySym = 16785064;
pub const _FcitxKeySym_FcitxKey_acircumflexhook: _FcitxKeySym = 16785065;
pub const _FcitxKeySym_FcitxKey_Acircumflextilde: _FcitxKeySym = 16785066;
pub const _FcitxKeySym_FcitxKey_acircumflextilde: _FcitxKeySym = 16785067;
pub const _FcitxKeySym_FcitxKey_Acircumflexbelowdot: _FcitxKeySym = 16785068;
pub const _FcitxKeySym_FcitxKey_acircumflexbelowdot: _FcitxKeySym = 16785069;
pub const _FcitxKeySym_FcitxKey_Abreveacute: _FcitxKeySym = 16785070;
pub const _FcitxKeySym_FcitxKey_abreveacute: _FcitxKeySym = 16785071;
pub const _FcitxKeySym_FcitxKey_Abrevegrave: _FcitxKeySym = 16785072;
pub const _FcitxKeySym_FcitxKey_abrevegrave: _FcitxKeySym = 16785073;
pub const _FcitxKeySym_FcitxKey_Abrevehook: _FcitxKeySym = 16785074;
pub const _FcitxKeySym_FcitxKey_abrevehook: _FcitxKeySym = 16785075;
pub const _FcitxKeySym_FcitxKey_Abrevetilde: _FcitxKeySym = 16785076;
pub const _FcitxKeySym_FcitxKey_abrevetilde: _FcitxKeySym = 16785077;
pub const _FcitxKeySym_FcitxKey_Abrevebelowdot: _FcitxKeySym = 16785078;
pub const _FcitxKeySym_FcitxKey_abrevebelowdot: _FcitxKeySym = 16785079;
pub const _FcitxKeySym_FcitxKey_Ebelowdot: _FcitxKeySym = 16785080;
pub const _FcitxKeySym_FcitxKey_ebelowdot: _FcitxKeySym = 16785081;
pub const _FcitxKeySym_FcitxKey_Ehook: _FcitxKeySym = 16785082;
pub const _FcitxKeySym_FcitxKey_ehook: _FcitxKeySym = 16785083;
pub const _FcitxKeySym_FcitxKey_Etilde: _FcitxKeySym = 16785084;
pub const _FcitxKeySym_FcitxKey_etilde: _FcitxKeySym = 16785085;
pub const _FcitxKeySym_FcitxKey_Ecircumflexacute: _FcitxKeySym = 16785086;
pub const _FcitxKeySym_FcitxKey_ecircumflexacute: _FcitxKeySym = 16785087;
pub const _FcitxKeySym_FcitxKey_Ecircumflexgrave: _FcitxKeySym = 16785088;
pub const _FcitxKeySym_FcitxKey_ecircumflexgrave: _FcitxKeySym = 16785089;
pub const _FcitxKeySym_FcitxKey_Ecircumflexhook: _FcitxKeySym = 16785090;
pub const _FcitxKeySym_FcitxKey_ecircumflexhook: _FcitxKeySym = 16785091;
pub const _FcitxKeySym_FcitxKey_Ecircumflextilde: _FcitxKeySym = 16785092;
pub const _FcitxKeySym_FcitxKey_ecircumflextilde: _FcitxKeySym = 16785093;
pub const _FcitxKeySym_FcitxKey_Ecircumflexbelowdot: _FcitxKeySym = 16785094;
pub const _FcitxKeySym_FcitxKey_ecircumflexbelowdot: _FcitxKeySym = 16785095;
pub const _FcitxKeySym_FcitxKey_Ihook: _FcitxKeySym = 16785096;
pub const _FcitxKeySym_FcitxKey_ihook: _FcitxKeySym = 16785097;
pub const _FcitxKeySym_FcitxKey_Ibelowdot: _FcitxKeySym = 16785098;
pub const _FcitxKeySym_FcitxKey_ibelowdot: _FcitxKeySym = 16785099;
pub const _FcitxKeySym_FcitxKey_Obelowdot: _FcitxKeySym = 16785100;
pub const _FcitxKeySym_FcitxKey_obelowdot: _FcitxKeySym = 16785101;
pub const _FcitxKeySym_FcitxKey_Ohook: _FcitxKeySym = 16785102;
pub const _FcitxKeySym_FcitxKey_ohook: _FcitxKeySym = 16785103;
pub const _FcitxKeySym_FcitxKey_Ocircumflexacute: _FcitxKeySym = 16785104;
pub const _FcitxKeySym_FcitxKey_ocircumflexacute: _FcitxKeySym = 16785105;
pub const _FcitxKeySym_FcitxKey_Ocircumflexgrave: _FcitxKeySym = 16785106;
pub const _FcitxKeySym_FcitxKey_ocircumflexgrave: _FcitxKeySym = 16785107;
pub const _FcitxKeySym_FcitxKey_Ocircumflexhook: _FcitxKeySym = 16785108;
pub const _FcitxKeySym_FcitxKey_ocircumflexhook: _FcitxKeySym = 16785109;
pub const _FcitxKeySym_FcitxKey_Ocircumflextilde: _FcitxKeySym = 16785110;
pub const _FcitxKeySym_FcitxKey_ocircumflextilde: _FcitxKeySym = 16785111;
pub const _FcitxKeySym_FcitxKey_Ocircumflexbelowdot: _FcitxKeySym = 16785112;
pub const _FcitxKeySym_FcitxKey_ocircumflexbelowdot: _FcitxKeySym = 16785113;
pub const _FcitxKeySym_FcitxKey_Ohornacute: _FcitxKeySym = 16785114;
pub const _FcitxKeySym_FcitxKey_ohornacute: _FcitxKeySym = 16785115;
pub const _FcitxKeySym_FcitxKey_Ohorngrave: _FcitxKeySym = 16785116;
pub const _FcitxKeySym_FcitxKey_ohorngrave: _FcitxKeySym = 16785117;
pub const _FcitxKeySym_FcitxKey_Ohornhook: _FcitxKeySym = 16785118;
pub const _FcitxKeySym_FcitxKey_ohornhook: _FcitxKeySym = 16785119;
pub const _FcitxKeySym_FcitxKey_Ohorntilde: _FcitxKeySym = 16785120;
pub const _FcitxKeySym_FcitxKey_ohorntilde: _FcitxKeySym = 16785121;
pub const _FcitxKeySym_FcitxKey_Ohornbelowdot: _FcitxKeySym = 16785122;
pub const _FcitxKeySym_FcitxKey_ohornbelowdot: _FcitxKeySym = 16785123;
pub const _FcitxKeySym_FcitxKey_Ubelowdot: _FcitxKeySym = 16785124;
pub const _FcitxKeySym_FcitxKey_ubelowdot: _FcitxKeySym = 16785125;
pub const _FcitxKeySym_FcitxKey_Uhook: _FcitxKeySym = 16785126;
pub const _FcitxKeySym_FcitxKey_uhook: _FcitxKeySym = 16785127;
pub const _FcitxKeySym_FcitxKey_Uhornacute: _FcitxKeySym = 16785128;
pub const _FcitxKeySym_FcitxKey_uhornacute: _FcitxKeySym = 16785129;
pub const _FcitxKeySym_FcitxKey_Uhorngrave: _FcitxKeySym = 16785130;
pub const _FcitxKeySym_FcitxKey_uhorngrave: _FcitxKeySym = 16785131;
pub const _FcitxKeySym_FcitxKey_Uhornhook: _FcitxKeySym = 16785132;
pub const _FcitxKeySym_FcitxKey_uhornhook: _FcitxKeySym = 16785133;
pub const _FcitxKeySym_FcitxKey_Uhorntilde: _FcitxKeySym = 16785134;
pub const _FcitxKeySym_FcitxKey_uhorntilde: _FcitxKeySym = 16785135;
pub const _FcitxKeySym_FcitxKey_Uhornbelowdot: _FcitxKeySym = 16785136;
pub const _FcitxKeySym_FcitxKey_uhornbelowdot: _FcitxKeySym = 16785137;
pub const _FcitxKeySym_FcitxKey_Ybelowdot: _FcitxKeySym = 16785140;
pub const _FcitxKeySym_FcitxKey_ybelowdot: _FcitxKeySym = 16785141;
pub const _FcitxKeySym_FcitxKey_Yhook: _FcitxKeySym = 16785142;
pub const _FcitxKeySym_FcitxKey_yhook: _FcitxKeySym = 16785143;
pub const _FcitxKeySym_FcitxKey_Ytilde: _FcitxKeySym = 16785144;
pub const _FcitxKeySym_FcitxKey_ytilde: _FcitxKeySym = 16785145;
pub const _FcitxKeySym_FcitxKey_Ohorn: _FcitxKeySym = 16777632;
pub const _FcitxKeySym_FcitxKey_ohorn: _FcitxKeySym = 16777633;
pub const _FcitxKeySym_FcitxKey_Uhorn: _FcitxKeySym = 16777647;
pub const _FcitxKeySym_FcitxKey_uhorn: _FcitxKeySym = 16777648;
pub const _FcitxKeySym_FcitxKey_EcuSign: _FcitxKeySym = 16785568;
pub const _FcitxKeySym_FcitxKey_ColonSign: _FcitxKeySym = 16785569;
pub const _FcitxKeySym_FcitxKey_CruzeiroSign: _FcitxKeySym = 16785570;
pub const _FcitxKeySym_FcitxKey_FFrancSign: _FcitxKeySym = 16785571;
pub const _FcitxKeySym_FcitxKey_LiraSign: _FcitxKeySym = 16785572;
pub const _FcitxKeySym_FcitxKey_MillSign: _FcitxKeySym = 16785573;
pub const _FcitxKeySym_FcitxKey_NairaSign: _FcitxKeySym = 16785574;
pub const _FcitxKeySym_FcitxKey_PesetaSign: _FcitxKeySym = 16785575;
pub const _FcitxKeySym_FcitxKey_RupeeSign: _FcitxKeySym = 16785576;
pub const _FcitxKeySym_FcitxKey_WonSign: _FcitxKeySym = 16785577;
pub const _FcitxKeySym_FcitxKey_NewSheqelSign: _FcitxKeySym = 16785578;
pub const _FcitxKeySym_FcitxKey_DongSign: _FcitxKeySym = 16785579;
pub const _FcitxKeySym_FcitxKey_EuroSign: _FcitxKeySym = 8364;
pub const _FcitxKeySym_FcitxKey_zerosuperior: _FcitxKeySym = 16785520;
pub const _FcitxKeySym_FcitxKey_foursuperior: _FcitxKeySym = 16785524;
pub const _FcitxKeySym_FcitxKey_fivesuperior: _FcitxKeySym = 16785525;
pub const _FcitxKeySym_FcitxKey_sixsuperior: _FcitxKeySym = 16785526;
pub const _FcitxKeySym_FcitxKey_sevensuperior: _FcitxKeySym = 16785527;
pub const _FcitxKeySym_FcitxKey_eightsuperior: _FcitxKeySym = 16785528;
pub const _FcitxKeySym_FcitxKey_ninesuperior: _FcitxKeySym = 16785529;
pub const _FcitxKeySym_FcitxKey_zerosubscript: _FcitxKeySym = 16785536;
pub const _FcitxKeySym_FcitxKey_onesubscript: _FcitxKeySym = 16785537;
pub const _FcitxKeySym_FcitxKey_twosubscript: _FcitxKeySym = 16785538;
pub const _FcitxKeySym_FcitxKey_threesubscript: _FcitxKeySym = 16785539;
pub const _FcitxKeySym_FcitxKey_foursubscript: _FcitxKeySym = 16785540;
pub const _FcitxKeySym_FcitxKey_fivesubscript: _FcitxKeySym = 16785541;
pub const _FcitxKeySym_FcitxKey_sixsubscript: _FcitxKeySym = 16785542;
pub const _FcitxKeySym_FcitxKey_sevensubscript: _FcitxKeySym = 16785543;
pub const _FcitxKeySym_FcitxKey_eightsubscript: _FcitxKeySym = 16785544;
pub const _FcitxKeySym_FcitxKey_ninesubscript: _FcitxKeySym = 16785545;
pub const _FcitxKeySym_FcitxKey_partdifferential: _FcitxKeySym = 16785922;
pub const _FcitxKeySym_FcitxKey_emptyset: _FcitxKeySym = 16785925;
pub const _FcitxKeySym_FcitxKey_elementof: _FcitxKeySym = 16785928;
pub const _FcitxKeySym_FcitxKey_notelementof: _FcitxKeySym = 16785929;
pub const _FcitxKeySym_FcitxKey_containsas: _FcitxKeySym = 16785931;
pub const _FcitxKeySym_FcitxKey_squareroot: _FcitxKeySym = 16785946;
pub const _FcitxKeySym_FcitxKey_cuberoot: _FcitxKeySym = 16785947;
pub const _FcitxKeySym_FcitxKey_fourthroot: _FcitxKeySym = 16785948;
pub const _FcitxKeySym_FcitxKey_dintegral: _FcitxKeySym = 16785964;
pub const _FcitxKeySym_FcitxKey_tintegral: _FcitxKeySym = 16785965;
pub const _FcitxKeySym_FcitxKey_because: _FcitxKeySym = 16785973;
pub const _FcitxKeySym_FcitxKey_approxeq: _FcitxKeySym = 16785992;
pub const _FcitxKeySym_FcitxKey_notapproxeq: _FcitxKeySym = 16785991;
pub const _FcitxKeySym_FcitxKey_notidentical: _FcitxKeySym = 16786018;
pub const _FcitxKeySym_FcitxKey_stricteq: _FcitxKeySym = 16786019;
pub const _FcitxKeySym_FcitxKey_braille_dot_1: _FcitxKeySym = 65521;
pub const _FcitxKeySym_FcitxKey_braille_dot_2: _FcitxKeySym = 65522;
pub const _FcitxKeySym_FcitxKey_braille_dot_3: _FcitxKeySym = 65523;
pub const _FcitxKeySym_FcitxKey_braille_dot_4: _FcitxKeySym = 65524;
pub const _FcitxKeySym_FcitxKey_braille_dot_5: _FcitxKeySym = 65525;
pub const _FcitxKeySym_FcitxKey_braille_dot_6: _FcitxKeySym = 65526;
pub const _FcitxKeySym_FcitxKey_braille_dot_7: _FcitxKeySym = 65527;
pub const _FcitxKeySym_FcitxKey_braille_dot_8: _FcitxKeySym = 65528;
pub const _FcitxKeySym_FcitxKey_braille_dot_9: _FcitxKeySym = 65529;
pub const _FcitxKeySym_FcitxKey_braille_dot_10: _FcitxKeySym = 65530;
pub const _FcitxKeySym_FcitxKey_braille_blank: _FcitxKeySym = 16787456;
pub const _FcitxKeySym_FcitxKey_braille_dots_1: _FcitxKeySym = 16787457;
pub const _FcitxKeySym_FcitxKey_braille_dots_2: _FcitxKeySym = 16787458;
pub const _FcitxKeySym_FcitxKey_braille_dots_12: _FcitxKeySym = 16787459;
pub const _FcitxKeySym_FcitxKey_braille_dots_3: _FcitxKeySym = 16787460;
pub const _FcitxKeySym_FcitxKey_braille_dots_13: _FcitxKeySym = 16787461;
pub const _FcitxKeySym_FcitxKey_braille_dots_23: _FcitxKeySym = 16787462;
pub const _FcitxKeySym_FcitxKey_braille_dots_123: _FcitxKeySym = 16787463;
pub const _FcitxKeySym_FcitxKey_braille_dots_4: _FcitxKeySym = 16787464;
pub const _FcitxKeySym_FcitxKey_braille_dots_14: _FcitxKeySym = 16787465;
pub const _FcitxKeySym_FcitxKey_braille_dots_24: _FcitxKeySym = 16787466;
pub const _FcitxKeySym_FcitxKey_braille_dots_124: _FcitxKeySym = 16787467;
pub const _FcitxKeySym_FcitxKey_braille_dots_34: _FcitxKeySym = 16787468;
pub const _FcitxKeySym_FcitxKey_braille_dots_134: _FcitxKeySym = 16787469;
pub const _FcitxKeySym_FcitxKey_braille_dots_234: _FcitxKeySym = 16787470;
pub const _FcitxKeySym_FcitxKey_braille_dots_1234: _FcitxKeySym = 16787471;
pub const _FcitxKeySym_FcitxKey_braille_dots_5: _FcitxKeySym = 16787472;
pub const _FcitxKeySym_FcitxKey_braille_dots_15: _FcitxKeySym = 16787473;
pub const _FcitxKeySym_FcitxKey_braille_dots_25: _FcitxKeySym = 16787474;
pub const _FcitxKeySym_FcitxKey_braille_dots_125: _FcitxKeySym = 16787475;
pub const _FcitxKeySym_FcitxKey_braille_dots_35: _FcitxKeySym = 16787476;
pub const _FcitxKeySym_FcitxKey_braille_dots_135: _FcitxKeySym = 16787477;
pub const _FcitxKeySym_FcitxKey_braille_dots_235: _FcitxKeySym = 16787478;
pub const _FcitxKeySym_FcitxKey_braille_dots_1235: _FcitxKeySym = 16787479;
pub const _FcitxKeySym_FcitxKey_braille_dots_45: _FcitxKeySym = 16787480;
pub const _FcitxKeySym_FcitxKey_braille_dots_145: _FcitxKeySym = 16787481;
pub const _FcitxKeySym_FcitxKey_braille_dots_245: _FcitxKeySym = 16787482;
pub const _FcitxKeySym_FcitxKey_braille_dots_1245: _FcitxKeySym = 16787483;
pub const _FcitxKeySym_FcitxKey_braille_dots_345: _FcitxKeySym = 16787484;
pub const _FcitxKeySym_FcitxKey_braille_dots_1345: _FcitxKeySym = 16787485;
pub const _FcitxKeySym_FcitxKey_braille_dots_2345: _FcitxKeySym = 16787486;
pub const _FcitxKeySym_FcitxKey_braille_dots_12345: _FcitxKeySym = 16787487;
pub const _FcitxKeySym_FcitxKey_braille_dots_6: _FcitxKeySym = 16787488;
pub const _FcitxKeySym_FcitxKey_braille_dots_16: _FcitxKeySym = 16787489;
pub const _FcitxKeySym_FcitxKey_braille_dots_26: _FcitxKeySym = 16787490;
pub const _FcitxKeySym_FcitxKey_braille_dots_126: _FcitxKeySym = 16787491;
pub const _FcitxKeySym_FcitxKey_braille_dots_36: _FcitxKeySym = 16787492;
pub const _FcitxKeySym_FcitxKey_braille_dots_136: _FcitxKeySym = 16787493;
pub const _FcitxKeySym_FcitxKey_braille_dots_236: _FcitxKeySym = 16787494;
pub const _FcitxKeySym_FcitxKey_braille_dots_1236: _FcitxKeySym = 16787495;
pub const _FcitxKeySym_FcitxKey_braille_dots_46: _FcitxKeySym = 16787496;
pub const _FcitxKeySym_FcitxKey_braille_dots_146: _FcitxKeySym = 16787497;
pub const _FcitxKeySym_FcitxKey_braille_dots_246: _FcitxKeySym = 16787498;
pub const _FcitxKeySym_FcitxKey_braille_dots_1246: _FcitxKeySym = 16787499;
pub const _FcitxKeySym_FcitxKey_braille_dots_346: _FcitxKeySym = 16787500;
pub const _FcitxKeySym_FcitxKey_braille_dots_1346: _FcitxKeySym = 16787501;
pub const _FcitxKeySym_FcitxKey_braille_dots_2346: _FcitxKeySym = 16787502;
pub const _FcitxKeySym_FcitxKey_braille_dots_12346: _FcitxKeySym = 16787503;
pub const _FcitxKeySym_FcitxKey_braille_dots_56: _FcitxKeySym = 16787504;
pub const _FcitxKeySym_FcitxKey_braille_dots_156: _FcitxKeySym = 16787505;
pub const _FcitxKeySym_FcitxKey_braille_dots_256: _FcitxKeySym = 16787506;
pub const _FcitxKeySym_FcitxKey_braille_dots_1256: _FcitxKeySym = 16787507;
pub const _FcitxKeySym_FcitxKey_braille_dots_356: _FcitxKeySym = 16787508;
pub const _FcitxKeySym_FcitxKey_braille_dots_1356: _FcitxKeySym = 16787509;
pub const _FcitxKeySym_FcitxKey_braille_dots_2356: _FcitxKeySym = 16787510;
pub const _FcitxKeySym_FcitxKey_braille_dots_12356: _FcitxKeySym = 16787511;
pub const _FcitxKeySym_FcitxKey_braille_dots_456: _FcitxKeySym = 16787512;
pub const _FcitxKeySym_FcitxKey_braille_dots_1456: _FcitxKeySym = 16787513;
pub const _FcitxKeySym_FcitxKey_braille_dots_2456: _FcitxKeySym = 16787514;
pub const _FcitxKeySym_FcitxKey_braille_dots_12456: _FcitxKeySym = 16787515;
pub const _FcitxKeySym_FcitxKey_braille_dots_3456: _FcitxKeySym = 16787516;
pub const _FcitxKeySym_FcitxKey_braille_dots_13456: _FcitxKeySym = 16787517;
pub const _FcitxKeySym_FcitxKey_braille_dots_23456: _FcitxKeySym = 16787518;
pub const _FcitxKeySym_FcitxKey_braille_dots_123456: _FcitxKeySym = 16787519;
pub const _FcitxKeySym_FcitxKey_braille_dots_7: _FcitxKeySym = 16787520;
pub const _FcitxKeySym_FcitxKey_braille_dots_17: _FcitxKeySym = 16787521;
pub const _FcitxKeySym_FcitxKey_braille_dots_27: _FcitxKeySym = 16787522;
pub const _FcitxKeySym_FcitxKey_braille_dots_127: _FcitxKeySym = 16787523;
pub const _FcitxKeySym_FcitxKey_braille_dots_37: _FcitxKeySym = 16787524;
pub const _FcitxKeySym_FcitxKey_braille_dots_137: _FcitxKeySym = 16787525;
pub const _FcitxKeySym_FcitxKey_braille_dots_237: _FcitxKeySym = 16787526;
pub const _FcitxKeySym_FcitxKey_braille_dots_1237: _FcitxKeySym = 16787527;
pub const _FcitxKeySym_FcitxKey_braille_dots_47: _FcitxKeySym = 16787528;
pub const _FcitxKeySym_FcitxKey_braille_dots_147: _FcitxKeySym = 16787529;
pub const _FcitxKeySym_FcitxKey_braille_dots_247: _FcitxKeySym = 16787530;
pub const _FcitxKeySym_FcitxKey_braille_dots_1247: _FcitxKeySym = 16787531;
pub const _FcitxKeySym_FcitxKey_braille_dots_347: _FcitxKeySym = 16787532;
pub const _FcitxKeySym_FcitxKey_braille_dots_1347: _FcitxKeySym = 16787533;
pub const _FcitxKeySym_FcitxKey_braille_dots_2347: _FcitxKeySym = 16787534;
pub const _FcitxKeySym_FcitxKey_braille_dots_12347: _FcitxKeySym = 16787535;
pub const _FcitxKeySym_FcitxKey_braille_dots_57: _FcitxKeySym = 16787536;
pub const _FcitxKeySym_FcitxKey_braille_dots_157: _FcitxKeySym = 16787537;
pub const _FcitxKeySym_FcitxKey_braille_dots_257: _FcitxKeySym = 16787538;
pub const _FcitxKeySym_FcitxKey_braille_dots_1257: _FcitxKeySym = 16787539;
pub const _FcitxKeySym_FcitxKey_braille_dots_357: _FcitxKeySym = 16787540;
pub const _FcitxKeySym_FcitxKey_braille_dots_1357: _FcitxKeySym = 16787541;
pub const _FcitxKeySym_FcitxKey_braille_dots_2357: _FcitxKeySym = 16787542;
pub const _FcitxKeySym_FcitxKey_braille_dots_12357: _FcitxKeySym = 16787543;
pub const _FcitxKeySym_FcitxKey_braille_dots_457: _FcitxKeySym = 16787544;
pub const _FcitxKeySym_FcitxKey_braille_dots_1457: _FcitxKeySym = 16787545;
pub const _FcitxKeySym_FcitxKey_braille_dots_2457: _FcitxKeySym = 16787546;
pub const _FcitxKeySym_FcitxKey_braille_dots_12457: _FcitxKeySym = 16787547;
pub const _FcitxKeySym_FcitxKey_braille_dots_3457: _FcitxKeySym = 16787548;
pub const _FcitxKeySym_FcitxKey_braille_dots_13457: _FcitxKeySym = 16787549;
pub const _FcitxKeySym_FcitxKey_braille_dots_23457: _FcitxKeySym = 16787550;
pub const _FcitxKeySym_FcitxKey_braille_dots_123457: _FcitxKeySym = 16787551;
pub const _FcitxKeySym_FcitxKey_braille_dots_67: _FcitxKeySym = 16787552;
pub const _FcitxKeySym_FcitxKey_braille_dots_167: _FcitxKeySym = 16787553;
pub const _FcitxKeySym_FcitxKey_braille_dots_267: _FcitxKeySym = 16787554;
pub const _FcitxKeySym_FcitxKey_braille_dots_1267: _FcitxKeySym = 16787555;
pub const _FcitxKeySym_FcitxKey_braille_dots_367: _FcitxKeySym = 16787556;
pub const _FcitxKeySym_FcitxKey_braille_dots_1367: _FcitxKeySym = 16787557;
pub const _FcitxKeySym_FcitxKey_braille_dots_2367: _FcitxKeySym = 16787558;
pub const _FcitxKeySym_FcitxKey_braille_dots_12367: _FcitxKeySym = 16787559;
pub const _FcitxKeySym_FcitxKey_braille_dots_467: _FcitxKeySym = 16787560;
pub const _FcitxKeySym_FcitxKey_braille_dots_1467: _FcitxKeySym = 16787561;
pub const _FcitxKeySym_FcitxKey_braille_dots_2467: _FcitxKeySym = 16787562;
pub const _FcitxKeySym_FcitxKey_braille_dots_12467: _FcitxKeySym = 16787563;
pub const _FcitxKeySym_FcitxKey_braille_dots_3467: _FcitxKeySym = 16787564;
pub const _FcitxKeySym_FcitxKey_braille_dots_13467: _FcitxKeySym = 16787565;
pub const _FcitxKeySym_FcitxKey_braille_dots_23467: _FcitxKeySym = 16787566;
pub const _FcitxKeySym_FcitxKey_braille_dots_123467: _FcitxKeySym = 16787567;
pub const _FcitxKeySym_FcitxKey_braille_dots_567: _FcitxKeySym = 16787568;
pub const _FcitxKeySym_FcitxKey_braille_dots_1567: _FcitxKeySym = 16787569;
pub const _FcitxKeySym_FcitxKey_braille_dots_2567: _FcitxKeySym = 16787570;
pub const _FcitxKeySym_FcitxKey_braille_dots_12567: _FcitxKeySym = 16787571;
pub const _FcitxKeySym_FcitxKey_braille_dots_3567: _FcitxKeySym = 16787572;
pub const _FcitxKeySym_FcitxKey_braille_dots_13567: _FcitxKeySym = 16787573;
pub const _FcitxKeySym_FcitxKey_braille_dots_23567: _FcitxKeySym = 16787574;
pub const _FcitxKeySym_FcitxKey_braille_dots_123567: _FcitxKeySym = 16787575;
pub const _FcitxKeySym_FcitxKey_braille_dots_4567: _FcitxKeySym = 16787576;
pub const _FcitxKeySym_FcitxKey_braille_dots_14567: _FcitxKeySym = 16787577;
pub const _FcitxKeySym_FcitxKey_braille_dots_24567: _FcitxKeySym = 16787578;
pub const _FcitxKeySym_FcitxKey_braille_dots_124567: _FcitxKeySym = 16787579;
pub const _FcitxKeySym_FcitxKey_braille_dots_34567: _FcitxKeySym = 16787580;
pub const _FcitxKeySym_FcitxKey_braille_dots_134567: _FcitxKeySym = 16787581;
pub const _FcitxKeySym_FcitxKey_braille_dots_234567: _FcitxKeySym = 16787582;
pub const _FcitxKeySym_FcitxKey_braille_dots_1234567: _FcitxKeySym = 16787583;
pub const _FcitxKeySym_FcitxKey_braille_dots_8: _FcitxKeySym = 16787584;
pub const _FcitxKeySym_FcitxKey_braille_dots_18: _FcitxKeySym = 16787585;
pub const _FcitxKeySym_FcitxKey_braille_dots_28: _FcitxKeySym = 16787586;
pub const _FcitxKeySym_FcitxKey_braille_dots_128: _FcitxKeySym = 16787587;
pub const _FcitxKeySym_FcitxKey_braille_dots_38: _FcitxKeySym = 16787588;
pub const _FcitxKeySym_FcitxKey_braille_dots_138: _FcitxKeySym = 16787589;
pub const _FcitxKeySym_FcitxKey_braille_dots_238: _FcitxKeySym = 16787590;
pub const _FcitxKeySym_FcitxKey_braille_dots_1238: _FcitxKeySym = 16787591;
pub const _FcitxKeySym_FcitxKey_braille_dots_48: _FcitxKeySym = 16787592;
pub const _FcitxKeySym_FcitxKey_braille_dots_148: _FcitxKeySym = 16787593;
pub const _FcitxKeySym_FcitxKey_braille_dots_248: _FcitxKeySym = 16787594;
pub const _FcitxKeySym_FcitxKey_braille_dots_1248: _FcitxKeySym = 16787595;
pub const _FcitxKeySym_FcitxKey_braille_dots_348: _FcitxKeySym = 16787596;
pub const _FcitxKeySym_FcitxKey_braille_dots_1348: _FcitxKeySym = 16787597;
pub const _FcitxKeySym_FcitxKey_braille_dots_2348: _FcitxKeySym = 16787598;
pub const _FcitxKeySym_FcitxKey_braille_dots_12348: _FcitxKeySym = 16787599;
pub const _FcitxKeySym_FcitxKey_braille_dots_58: _FcitxKeySym = 16787600;
pub const _FcitxKeySym_FcitxKey_braille_dots_158: _FcitxKeySym = 16787601;
pub const _FcitxKeySym_FcitxKey_braille_dots_258: _FcitxKeySym = 16787602;
pub const _FcitxKeySym_FcitxKey_braille_dots_1258: _FcitxKeySym = 16787603;
pub const _FcitxKeySym_FcitxKey_braille_dots_358: _FcitxKeySym = 16787604;
pub const _FcitxKeySym_FcitxKey_braille_dots_1358: _FcitxKeySym = 16787605;
pub const _FcitxKeySym_FcitxKey_braille_dots_2358: _FcitxKeySym = 16787606;
pub const _FcitxKeySym_FcitxKey_braille_dots_12358: _FcitxKeySym = 16787607;
pub const _FcitxKeySym_FcitxKey_braille_dots_458: _FcitxKeySym = 16787608;
pub const _FcitxKeySym_FcitxKey_braille_dots_1458: _FcitxKeySym = 16787609;
pub const _FcitxKeySym_FcitxKey_braille_dots_2458: _FcitxKeySym = 16787610;
pub const _FcitxKeySym_FcitxKey_braille_dots_12458: _FcitxKeySym = 16787611;
pub const _FcitxKeySym_FcitxKey_braille_dots_3458: _FcitxKeySym = 16787612;
pub const _FcitxKeySym_FcitxKey_braille_dots_13458: _FcitxKeySym = 16787613;
pub const _FcitxKeySym_FcitxKey_braille_dots_23458: _FcitxKeySym = 16787614;
pub const _FcitxKeySym_FcitxKey_braille_dots_123458: _FcitxKeySym = 16787615;
pub const _FcitxKeySym_FcitxKey_braille_dots_68: _FcitxKeySym = 16787616;
pub const _FcitxKeySym_FcitxKey_braille_dots_168: _FcitxKeySym = 16787617;
pub const _FcitxKeySym_FcitxKey_braille_dots_268: _FcitxKeySym = 16787618;
pub const _FcitxKeySym_FcitxKey_braille_dots_1268: _FcitxKeySym = 16787619;
pub const _FcitxKeySym_FcitxKey_braille_dots_368: _FcitxKeySym = 16787620;
pub const _FcitxKeySym_FcitxKey_braille_dots_1368: _FcitxKeySym = 16787621;
pub const _FcitxKeySym_FcitxKey_braille_dots_2368: _FcitxKeySym = 16787622;
pub const _FcitxKeySym_FcitxKey_braille_dots_12368: _FcitxKeySym = 16787623;
pub const _FcitxKeySym_FcitxKey_braille_dots_468: _FcitxKeySym = 16787624;
pub const _FcitxKeySym_FcitxKey_braille_dots_1468: _FcitxKeySym = 16787625;
pub const _FcitxKeySym_FcitxKey_braille_dots_2468: _FcitxKeySym = 16787626;
pub const _FcitxKeySym_FcitxKey_braille_dots_12468: _FcitxKeySym = 16787627;
pub const _FcitxKeySym_FcitxKey_braille_dots_3468: _FcitxKeySym = 16787628;
pub const _FcitxKeySym_FcitxKey_braille_dots_13468: _FcitxKeySym = 16787629;
pub const _FcitxKeySym_FcitxKey_braille_dots_23468: _FcitxKeySym = 16787630;
pub const _FcitxKeySym_FcitxKey_braille_dots_123468: _FcitxKeySym = 16787631;
pub const _FcitxKeySym_FcitxKey_braille_dots_568: _FcitxKeySym = 16787632;
pub const _FcitxKeySym_FcitxKey_braille_dots_1568: _FcitxKeySym = 16787633;
pub const _FcitxKeySym_FcitxKey_braille_dots_2568: _FcitxKeySym = 16787634;
pub const _FcitxKeySym_FcitxKey_braille_dots_12568: _FcitxKeySym = 16787635;
pub const _FcitxKeySym_FcitxKey_braille_dots_3568: _FcitxKeySym = 16787636;
pub const _FcitxKeySym_FcitxKey_braille_dots_13568: _FcitxKeySym = 16787637;
pub const _FcitxKeySym_FcitxKey_braille_dots_23568: _FcitxKeySym = 16787638;
pub const _FcitxKeySym_FcitxKey_braille_dots_123568: _FcitxKeySym = 16787639;
pub const _FcitxKeySym_FcitxKey_braille_dots_4568: _FcitxKeySym = 16787640;
pub const _FcitxKeySym_FcitxKey_braille_dots_14568: _FcitxKeySym = 16787641;
pub const _FcitxKeySym_FcitxKey_braille_dots_24568: _FcitxKeySym = 16787642;
pub const _FcitxKeySym_FcitxKey_braille_dots_124568: _FcitxKeySym = 16787643;
pub const _FcitxKeySym_FcitxKey_braille_dots_34568: _FcitxKeySym = 16787644;
pub const _FcitxKeySym_FcitxKey_braille_dots_134568: _FcitxKeySym = 16787645;
pub const _FcitxKeySym_FcitxKey_braille_dots_234568: _FcitxKeySym = 16787646;
pub const _FcitxKeySym_FcitxKey_braille_dots_1234568: _FcitxKeySym = 16787647;
pub const _FcitxKeySym_FcitxKey_braille_dots_78: _FcitxKeySym = 16787648;
pub const _FcitxKeySym_FcitxKey_braille_dots_178: _FcitxKeySym = 16787649;
pub const _FcitxKeySym_FcitxKey_braille_dots_278: _FcitxKeySym = 16787650;
pub const _FcitxKeySym_FcitxKey_braille_dots_1278: _FcitxKeySym = 16787651;
pub const _FcitxKeySym_FcitxKey_braille_dots_378: _FcitxKeySym = 16787652;
pub const _FcitxKeySym_FcitxKey_braille_dots_1378: _FcitxKeySym = 16787653;
pub const _FcitxKeySym_FcitxKey_braille_dots_2378: _FcitxKeySym = 16787654;
pub const _FcitxKeySym_FcitxKey_braille_dots_12378: _FcitxKeySym = 16787655;
pub const _FcitxKeySym_FcitxKey_braille_dots_478: _FcitxKeySym = 16787656;
pub const _FcitxKeySym_FcitxKey_braille_dots_1478: _FcitxKeySym = 16787657;
pub const _FcitxKeySym_FcitxKey_braille_dots_2478: _FcitxKeySym = 16787658;
pub const _FcitxKeySym_FcitxKey_braille_dots_12478: _FcitxKeySym = 16787659;
pub const _FcitxKeySym_FcitxKey_braille_dots_3478: _FcitxKeySym = 16787660;
pub const _FcitxKeySym_FcitxKey_braille_dots_13478: _FcitxKeySym = 16787661;
pub const _FcitxKeySym_FcitxKey_braille_dots_23478: _FcitxKeySym = 16787662;
pub const _FcitxKeySym_FcitxKey_braille_dots_123478: _FcitxKeySym = 16787663;
pub const _FcitxKeySym_FcitxKey_braille_dots_578: _FcitxKeySym = 16787664;
pub const _FcitxKeySym_FcitxKey_braille_dots_1578: _FcitxKeySym = 16787665;
pub const _FcitxKeySym_FcitxKey_braille_dots_2578: _FcitxKeySym = 16787666;
pub const _FcitxKeySym_FcitxKey_braille_dots_12578: _FcitxKeySym = 16787667;
pub const _FcitxKeySym_FcitxKey_braille_dots_3578: _FcitxKeySym = 16787668;
pub const _FcitxKeySym_FcitxKey_braille_dots_13578: _FcitxKeySym = 16787669;
pub const _FcitxKeySym_FcitxKey_braille_dots_23578: _FcitxKeySym = 16787670;
pub const _FcitxKeySym_FcitxKey_braille_dots_123578: _FcitxKeySym = 16787671;
pub const _FcitxKeySym_FcitxKey_braille_dots_4578: _FcitxKeySym = 16787672;
pub const _FcitxKeySym_FcitxKey_braille_dots_14578: _FcitxKeySym = 16787673;
pub const _FcitxKeySym_FcitxKey_braille_dots_24578: _FcitxKeySym = 16787674;
pub const _FcitxKeySym_FcitxKey_braille_dots_124578: _FcitxKeySym = 16787675;
pub const _FcitxKeySym_FcitxKey_braille_dots_34578: _FcitxKeySym = 16787676;
pub const _FcitxKeySym_FcitxKey_braille_dots_134578: _FcitxKeySym = 16787677;
pub const _FcitxKeySym_FcitxKey_braille_dots_234578: _FcitxKeySym = 16787678;
pub const _FcitxKeySym_FcitxKey_braille_dots_1234578: _FcitxKeySym = 16787679;
pub const _FcitxKeySym_FcitxKey_braille_dots_678: _FcitxKeySym = 16787680;
pub const _FcitxKeySym_FcitxKey_braille_dots_1678: _FcitxKeySym = 16787681;
pub const _FcitxKeySym_FcitxKey_braille_dots_2678: _FcitxKeySym = 16787682;
pub const _FcitxKeySym_FcitxKey_braille_dots_12678: _FcitxKeySym = 16787683;
pub const _FcitxKeySym_FcitxKey_braille_dots_3678: _FcitxKeySym = 16787684;
pub const _FcitxKeySym_FcitxKey_braille_dots_13678: _FcitxKeySym = 16787685;
pub const _FcitxKeySym_FcitxKey_braille_dots_23678: _FcitxKeySym = 16787686;
pub const _FcitxKeySym_FcitxKey_braille_dots_123678: _FcitxKeySym = 16787687;
pub const _FcitxKeySym_FcitxKey_braille_dots_4678: _FcitxKeySym = 16787688;
pub const _FcitxKeySym_FcitxKey_braille_dots_14678: _FcitxKeySym = 16787689;
pub const _FcitxKeySym_FcitxKey_braille_dots_24678: _FcitxKeySym = 16787690;
pub const _FcitxKeySym_FcitxKey_braille_dots_124678: _FcitxKeySym = 16787691;
pub const _FcitxKeySym_FcitxKey_braille_dots_34678: _FcitxKeySym = 16787692;
pub const _FcitxKeySym_FcitxKey_braille_dots_134678: _FcitxKeySym = 16787693;
pub const _FcitxKeySym_FcitxKey_braille_dots_234678: _FcitxKeySym = 16787694;
pub const _FcitxKeySym_FcitxKey_braille_dots_1234678: _FcitxKeySym = 16787695;
pub const _FcitxKeySym_FcitxKey_braille_dots_5678: _FcitxKeySym = 16787696;
pub const _FcitxKeySym_FcitxKey_braille_dots_15678: _FcitxKeySym = 16787697;
pub const _FcitxKeySym_FcitxKey_braille_dots_25678: _FcitxKeySym = 16787698;
pub const _FcitxKeySym_FcitxKey_braille_dots_125678: _FcitxKeySym = 16787699;
pub const _FcitxKeySym_FcitxKey_braille_dots_35678: _FcitxKeySym = 16787700;
pub const _FcitxKeySym_FcitxKey_braille_dots_135678: _FcitxKeySym = 16787701;
pub const _FcitxKeySym_FcitxKey_braille_dots_235678: _FcitxKeySym = 16787702;
pub const _FcitxKeySym_FcitxKey_braille_dots_1235678: _FcitxKeySym = 16787703;
pub const _FcitxKeySym_FcitxKey_braille_dots_45678: _FcitxKeySym = 16787704;
pub const _FcitxKeySym_FcitxKey_braille_dots_145678: _FcitxKeySym = 16787705;
pub const _FcitxKeySym_FcitxKey_braille_dots_245678: _FcitxKeySym = 16787706;
pub const _FcitxKeySym_FcitxKey_braille_dots_1245678: _FcitxKeySym = 16787707;
pub const _FcitxKeySym_FcitxKey_braille_dots_345678: _FcitxKeySym = 16787708;
pub const _FcitxKeySym_FcitxKey_braille_dots_1345678: _FcitxKeySym = 16787709;
pub const _FcitxKeySym_FcitxKey_braille_dots_2345678: _FcitxKeySym = 16787710;
pub const _FcitxKeySym_FcitxKey_braille_dots_12345678: _FcitxKeySym = 16787711;
pub const _FcitxKeySym_FcitxKey_Sinh_ng: _FcitxKeySym = 16780674;
pub const _FcitxKeySym_FcitxKey_Sinh_h2: _FcitxKeySym = 16780675;
pub const _FcitxKeySym_FcitxKey_Sinh_a: _FcitxKeySym = 16780677;
pub const _FcitxKeySym_FcitxKey_Sinh_aa: _FcitxKeySym = 16780678;
pub const _FcitxKeySym_FcitxKey_Sinh_ae: _FcitxKeySym = 16780679;
pub const _FcitxKeySym_FcitxKey_Sinh_aee: _FcitxKeySym = 16780680;
pub const _FcitxKeySym_FcitxKey_Sinh_i: _FcitxKeySym = 16780681;
pub const _FcitxKeySym_FcitxKey_Sinh_ii: _FcitxKeySym = 16780682;
pub const _FcitxKeySym_FcitxKey_Sinh_u: _FcitxKeySym = 16780683;
pub const _FcitxKeySym_FcitxKey_Sinh_uu: _FcitxKeySym = 16780684;
pub const _FcitxKeySym_FcitxKey_Sinh_ri: _FcitxKeySym = 16780685;
pub const _FcitxKeySym_FcitxKey_Sinh_rii: _FcitxKeySym = 16780686;
pub const _FcitxKeySym_FcitxKey_Sinh_lu: _FcitxKeySym = 16780687;
pub const _FcitxKeySym_FcitxKey_Sinh_luu: _FcitxKeySym = 16780688;
pub const _FcitxKeySym_FcitxKey_Sinh_e: _FcitxKeySym = 16780689;
pub const _FcitxKeySym_FcitxKey_Sinh_ee: _FcitxKeySym = 16780690;
pub const _FcitxKeySym_FcitxKey_Sinh_ai: _FcitxKeySym = 16780691;
pub const _FcitxKeySym_FcitxKey_Sinh_o: _FcitxKeySym = 16780692;
pub const _FcitxKeySym_FcitxKey_Sinh_oo: _FcitxKeySym = 16780693;
pub const _FcitxKeySym_FcitxKey_Sinh_au: _FcitxKeySym = 16780694;
pub const _FcitxKeySym_FcitxKey_Sinh_ka: _FcitxKeySym = 16780698;
pub const _FcitxKeySym_FcitxKey_Sinh_kha: _FcitxKeySym = 16780699;
pub const _FcitxKeySym_FcitxKey_Sinh_ga: _FcitxKeySym = 16780700;
pub const _FcitxKeySym_FcitxKey_Sinh_gha: _FcitxKeySym = 16780701;
pub const _FcitxKeySym_FcitxKey_Sinh_ng2: _FcitxKeySym = 16780702;
pub const _FcitxKeySym_FcitxKey_Sinh_nga: _FcitxKeySym = 16780703;
pub const _FcitxKeySym_FcitxKey_Sinh_ca: _FcitxKeySym = 16780704;
pub const _FcitxKeySym_FcitxKey_Sinh_cha: _FcitxKeySym = 16780705;
pub const _FcitxKeySym_FcitxKey_Sinh_ja: _FcitxKeySym = 16780706;
pub const _FcitxKeySym_FcitxKey_Sinh_jha: _FcitxKeySym = 16780707;
pub const _FcitxKeySym_FcitxKey_Sinh_nya: _FcitxKeySym = 16780708;
pub const _FcitxKeySym_FcitxKey_Sinh_jnya: _FcitxKeySym = 16780709;
pub const _FcitxKeySym_FcitxKey_Sinh_nja: _FcitxKeySym = 16780710;
pub const _FcitxKeySym_FcitxKey_Sinh_tta: _FcitxKeySym = 16780711;
pub const _FcitxKeySym_FcitxKey_Sinh_ttha: _FcitxKeySym = 16780712;
pub const _FcitxKeySym_FcitxKey_Sinh_dda: _FcitxKeySym = 16780713;
pub const _FcitxKeySym_FcitxKey_Sinh_ddha: _FcitxKeySym = 16780714;
pub const _FcitxKeySym_FcitxKey_Sinh_nna: _FcitxKeySym = 16780715;
pub const _FcitxKeySym_FcitxKey_Sinh_ndda: _FcitxKeySym = 16780716;
pub const _FcitxKeySym_FcitxKey_Sinh_tha: _FcitxKeySym = 16780717;
pub const _FcitxKeySym_FcitxKey_Sinh_thha: _FcitxKeySym = 16780718;
pub const _FcitxKeySym_FcitxKey_Sinh_dha: _FcitxKeySym = 16780719;
pub const _FcitxKeySym_FcitxKey_Sinh_dhha: _FcitxKeySym = 16780720;
pub const _FcitxKeySym_FcitxKey_Sinh_na: _FcitxKeySym = 16780721;
pub const _FcitxKeySym_FcitxKey_Sinh_ndha: _FcitxKeySym = 16780723;
pub const _FcitxKeySym_FcitxKey_Sinh_pa: _FcitxKeySym = 16780724;
pub const _FcitxKeySym_FcitxKey_Sinh_pha: _FcitxKeySym = 16780725;
pub const _FcitxKeySym_FcitxKey_Sinh_ba: _FcitxKeySym = 16780726;
pub const _FcitxKeySym_FcitxKey_Sinh_bha: _FcitxKeySym = 16780727;
pub const _FcitxKeySym_FcitxKey_Sinh_ma: _FcitxKeySym = 16780728;
pub const _FcitxKeySym_FcitxKey_Sinh_mba: _FcitxKeySym = 16780729;
pub const _FcitxKeySym_FcitxKey_Sinh_ya: _FcitxKeySym = 16780730;
pub const _FcitxKeySym_FcitxKey_Sinh_ra: _FcitxKeySym = 16780731;
pub const _FcitxKeySym_FcitxKey_Sinh_la: _FcitxKeySym = 16780733;
pub const _FcitxKeySym_FcitxKey_Sinh_va: _FcitxKeySym = 16780736;
pub const _FcitxKeySym_FcitxKey_Sinh_sha: _FcitxKeySym = 16780737;
pub const _FcitxKeySym_FcitxKey_Sinh_ssha: _FcitxKeySym = 16780738;
pub const _FcitxKeySym_FcitxKey_Sinh_sa: _FcitxKeySym = 16780739;
pub const _FcitxKeySym_FcitxKey_Sinh_ha: _FcitxKeySym = 16780740;
pub const _FcitxKeySym_FcitxKey_Sinh_lla: _FcitxKeySym = 16780741;
pub const _FcitxKeySym_FcitxKey_Sinh_fa: _FcitxKeySym = 16780742;
pub const _FcitxKeySym_FcitxKey_Sinh_al: _FcitxKeySym = 16780746;
pub const _FcitxKeySym_FcitxKey_Sinh_aa2: _FcitxKeySym = 16780751;
pub const _FcitxKeySym_FcitxKey_Sinh_ae2: _FcitxKeySym = 16780752;
pub const _FcitxKeySym_FcitxKey_Sinh_aee2: _FcitxKeySym = 16780753;
pub const _FcitxKeySym_FcitxKey_Sinh_i2: _FcitxKeySym = 16780754;
pub const _FcitxKeySym_FcitxKey_Sinh_ii2: _FcitxKeySym = 16780755;
pub const _FcitxKeySym_FcitxKey_Sinh_u2: _FcitxKeySym = 16780756;
pub const _FcitxKeySym_FcitxKey_Sinh_uu2: _FcitxKeySym = 16780758;
pub const _FcitxKeySym_FcitxKey_Sinh_ru2: _FcitxKeySym = 16780760;
pub const _FcitxKeySym_FcitxKey_Sinh_e2: _FcitxKeySym = 16780761;
pub const _FcitxKeySym_FcitxKey_Sinh_ee2: _FcitxKeySym = 16780762;
pub const _FcitxKeySym_FcitxKey_Sinh_ai2: _FcitxKeySym = 16780763;
pub const _FcitxKeySym_FcitxKey_Sinh_o2: _FcitxKeySym = 16780764;
pub const _FcitxKeySym_FcitxKey_Sinh_oo2: _FcitxKeySym = 16780765;
pub const _FcitxKeySym_FcitxKey_Sinh_au2: _FcitxKeySym = 16780766;
pub const _FcitxKeySym_FcitxKey_Sinh_lu2: _FcitxKeySym = 16780767;
pub const _FcitxKeySym_FcitxKey_Sinh_ruu2: _FcitxKeySym = 16780786;
pub const _FcitxKeySym_FcitxKey_Sinh_luu2: _FcitxKeySym = 16780787;
pub const _FcitxKeySym_FcitxKey_Sinh_kunddaliya: _FcitxKeySym = 16780788;
pub type _FcitxKeySym = u32;
pub use self::_FcitxKeySym as FcitxKeySym;
pub const _FcitxKeyState_FcitxKeyState_None: _FcitxKeyState = 0;
pub const _FcitxKeyState_FcitxKeyState_Shift: _FcitxKeyState = 1;
pub const _FcitxKeyState_FcitxKeyState_CapsLock: _FcitxKeyState = 2;
pub const _FcitxKeyState_FcitxKeyState_Ctrl: _FcitxKeyState = 4;
pub const _FcitxKeyState_FcitxKeyState_Alt: _FcitxKeyState = 8;
pub const _FcitxKeyState_FcitxKeyState_Alt_Shift: _FcitxKeyState = 9;
pub const _FcitxKeyState_FcitxKeyState_Ctrl_Shift: _FcitxKeyState = 5;
pub const _FcitxKeyState_FcitxKeyState_Ctrl_Alt: _FcitxKeyState = 12;
pub const _FcitxKeyState_FcitxKeyState_Ctrl_Alt_Shift: _FcitxKeyState = 13;
pub const _FcitxKeyState_FcitxKeyState_NumLock: _FcitxKeyState = 16;
pub const _FcitxKeyState_FcitxKeyState_Super: _FcitxKeyState = 64;
pub const _FcitxKeyState_FcitxKeyState_ScrollLock: _FcitxKeyState = 128;
pub const _FcitxKeyState_FcitxKeyState_MousePressed: _FcitxKeyState = 256;
pub const _FcitxKeyState_FcitxKeyState_HandledMask: _FcitxKeyState = 16777216;
pub const _FcitxKeyState_FcitxKeyState_IgnoredMask: _FcitxKeyState = 33554432;
pub const _FcitxKeyState_FcitxKeyState_Super2: _FcitxKeyState = 67108864;
pub const _FcitxKeyState_FcitxKeyState_Hyper: _FcitxKeyState = 134217728;
pub const _FcitxKeyState_FcitxKeyState_Meta: _FcitxKeyState = 268435456;
pub const _FcitxKeyState_FcitxKeyState_UsedMask: _FcitxKeyState = 1543512063;
pub const _FcitxKeyState_FcitxKeyState_SimpleMask: _FcitxKeyState = 469762125;
pub type _FcitxKeyState = u32;
pub use self::_FcitxKeyState as FcitxKeyState;
pub type __FILE = _IO_FILE;
pub type FILE = _IO_FILE;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __mbstate_t {
    pub __count: ::std::os::raw::c_int,
    pub __value: __mbstate_t__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __mbstate_t__bindgen_ty_1 {
    pub __wch: ::std::os::raw::c_uint,
    pub __wchb: [::std::os::raw::c_char; 4usize],
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout___mbstate_t__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__mbstate_t__bindgen_ty_1>(),
        4usize,
        concat!("Size of: ", stringify!(__mbstate_t__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<__mbstate_t__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(__mbstate_t__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wch as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__mbstate_t__bindgen_ty_1),
            "::",
            stringify!(__wch)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__mbstate_t__bindgen_ty_1>())).__wchb as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__mbstate_t__bindgen_ty_1),
            "::",
            stringify!(__wchb)
        )
    );
}
impl Default for __mbstate_t__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout___mbstate_t() {
    assert_eq!(
        ::std::mem::size_of::<__mbstate_t>(),
        8usize,
        concat!("Size of: ", stringify!(__mbstate_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__mbstate_t>(),
        4usize,
        concat!("Alignment of ", stringify!(__mbstate_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__count as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__mbstate_t),
            "::",
            stringify!(__count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__value as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__mbstate_t),
            "::",
            stringify!(__value)
        )
    );
}
impl Default for __mbstate_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos_t {
    pub __pos: __off_t,
    pub __state: __mbstate_t,
}
#[test]
fn bindgen_test_layout__G_fpos_t() {
    assert_eq!(
        ::std::mem::size_of::<_G_fpos_t>(),
        16usize,
        concat!("Size of: ", stringify!(_G_fpos_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_G_fpos_t>(),
        8usize,
        concat!("Alignment of ", stringify!(_G_fpos_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__pos as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_G_fpos_t),
            "::",
            stringify!(__pos)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_G_fpos_t>())).__state as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_G_fpos_t),
            "::",
            stringify!(__state)
        )
    );
}
impl Default for _G_fpos_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _G_fpos64_t {
    pub __pos: __off64_t,
    pub __state: __mbstate_t,
}
#[test]
fn bindgen_test_layout__G_fpos64_t() {
    assert_eq!(
        ::std::mem::size_of::<_G_fpos64_t>(),
        16usize,
        concat!("Size of: ", stringify!(_G_fpos64_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_G_fpos64_t>(),
        8usize,
        concat!("Alignment of ", stringify!(_G_fpos64_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_G_fpos64_t>())).__pos as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_G_fpos64_t),
            "::",
            stringify!(__pos)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_G_fpos64_t>())).__state as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_G_fpos64_t),
            "::",
            stringify!(__state)
        )
    );
}
impl Default for _G_fpos64_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type va_list = __builtin_va_list;
pub type __gnuc_va_list = __builtin_va_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_jump_t {
    _unused: [u8; 0],
}
pub type _IO_lock_t = ::std::os::raw::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_marker {
    pub _next: *mut _IO_marker,
    pub _sbuf: *mut _IO_FILE,
    pub _pos: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__IO_marker() {
    assert_eq!(
        ::std::mem::size_of::<_IO_marker>(),
        24usize,
        concat!("Size of: ", stringify!(_IO_marker))
    );
    assert_eq!(
        ::std::mem::align_of::<_IO_marker>(),
        8usize,
        concat!("Alignment of ", stringify!(_IO_marker))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_marker>()))._next as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_marker),
            "::",
            stringify!(_next)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_marker>()))._sbuf as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_marker),
            "::",
            stringify!(_sbuf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_marker>()))._pos as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_marker),
            "::",
            stringify!(_pos)
        )
    );
}
impl Default for _IO_marker {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub const __codecvt_result___codecvt_ok: __codecvt_result = 0;
pub const __codecvt_result___codecvt_partial: __codecvt_result = 1;
pub const __codecvt_result___codecvt_error: __codecvt_result = 2;
pub const __codecvt_result___codecvt_noconv: __codecvt_result = 3;
pub type __codecvt_result = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE {
    pub _flags: ::std::os::raw::c_int,
    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
    pub _IO_read_end: *mut ::std::os::raw::c_char,
    pub _IO_read_base: *mut ::std::os::raw::c_char,
    pub _IO_write_base: *mut ::std::os::raw::c_char,
    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
    pub _IO_write_end: *mut ::std::os::raw::c_char,
    pub _IO_buf_base: *mut ::std::os::raw::c_char,
    pub _IO_buf_end: *mut ::std::os::raw::c_char,
    pub _IO_save_base: *mut ::std::os::raw::c_char,
    pub _IO_backup_base: *mut ::std::os::raw::c_char,
    pub _IO_save_end: *mut ::std::os::raw::c_char,
    pub _markers: *mut _IO_marker,
    pub _chain: *mut _IO_FILE,
    pub _fileno: ::std::os::raw::c_int,
    pub _flags2: ::std::os::raw::c_int,
    pub _old_offset: __off_t,
    pub _cur_column: ::std::os::raw::c_ushort,
    pub _vtable_offset: ::std::os::raw::c_schar,
    pub _shortbuf: [::std::os::raw::c_char; 1usize],
    pub _lock: *mut _IO_lock_t,
    pub _offset: __off64_t,
    pub __pad1: *mut ::std::os::raw::c_void,
    pub __pad2: *mut ::std::os::raw::c_void,
    pub __pad3: *mut ::std::os::raw::c_void,
    pub __pad4: *mut ::std::os::raw::c_void,
    pub __pad5: usize,
    pub _mode: ::std::os::raw::c_int,
    pub _unused2: [::std::os::raw::c_char; 20usize],
}
#[test]
fn bindgen_test_layout__IO_FILE() {
    assert_eq!(
        ::std::mem::size_of::<_IO_FILE>(),
        216usize,
        concat!("Size of: ", stringify!(_IO_FILE))
    );
    assert_eq!(
        ::std::mem::align_of::<_IO_FILE>(),
        8usize,
        concat!("Alignment of ", stringify!(_IO_FILE))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_read_ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_read_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_read_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_write_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_write_ptr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_write_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_buf_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_buf_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_save_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_backup_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_IO_save_end)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_markers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_chain)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_fileno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_flags2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_old_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_cur_column)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
        130usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_vtable_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
        131usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_shortbuf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_lock)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad1 as *const _ as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(__pad1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad2 as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(__pad2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad3 as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(__pad3)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad4 as *const _ as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(__pad4)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(__pad5)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
        196usize,
        concat!(
            "Offset of field: ",
            stringify!(_IO_FILE),
            "::",
            stringify!(_unused2)
        )
    );
}
impl Default for _IO_FILE {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_FILE_plus {
    _unused: [u8; 0],
}
extern "C" {
    #[link_name = "\u{1}_IO_2_1_stdin_"]
    pub static mut _IO_2_1_stdin_: _IO_FILE_plus;
}
extern "C" {
    #[link_name = "\u{1}_IO_2_1_stdout_"]
    pub static mut _IO_2_1_stdout_: _IO_FILE_plus;
}
extern "C" {
    #[link_name = "\u{1}_IO_2_1_stderr_"]
    pub static mut _IO_2_1_stderr_: _IO_FILE_plus;
}
pub type __io_read_fn = ::std::option::Option<
    unsafe extern "C" fn(
        __cookie: *mut ::std::os::raw::c_void,
        __buf: *mut ::std::os::raw::c_char,
        __nbytes: usize,
    ) -> __ssize_t,
>;
pub type __io_write_fn = ::std::option::Option<
    unsafe extern "C" fn(
        __cookie: *mut ::std::os::raw::c_void,
        __buf: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> __ssize_t,
>;
pub type __io_seek_fn = ::std::option::Option<
    unsafe extern "C" fn(
        __cookie: *mut ::std::os::raw::c_void,
        __pos: *mut __off64_t,
        __w: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int,
>;
pub type __io_close_fn = ::std::option::Option<
    unsafe extern "C" fn(__cookie: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
>;
extern "C" {
    pub fn __underflow(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __uflow(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __overflow(arg1: *mut _IO_FILE, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _IO_getc(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _IO_putc(__c: ::std::os::raw::c_int, __fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _IO_feof(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _IO_ferror(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _IO_peekc_locked(__fp: *mut _IO_FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _IO_flockfile(arg1: *mut _IO_FILE);
}
extern "C" {
    pub fn _IO_funlockfile(arg1: *mut _IO_FILE);
}
extern "C" {
    pub fn _IO_ftrylockfile(arg1: *mut _IO_FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _IO_vfscanf(
        arg1: *mut _IO_FILE,
        arg2: *const ::std::os::raw::c_char,
        arg3: *mut __va_list_tag,
        arg4: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _IO_vfprintf(
        arg1: *mut _IO_FILE,
        arg2: *const ::std::os::raw::c_char,
        arg3: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _IO_padn(arg1: *mut _IO_FILE, arg2: ::std::os::raw::c_int, arg3: __ssize_t)
        -> __ssize_t;
}
extern "C" {
    pub fn _IO_sgetn(arg1: *mut _IO_FILE, arg2: *mut ::std::os::raw::c_void, arg3: usize) -> usize;
}
extern "C" {
    pub fn _IO_seekoff(
        arg1: *mut _IO_FILE,
        arg2: __off64_t,
        arg3: ::std::os::raw::c_int,
        arg4: ::std::os::raw::c_int,
    ) -> __off64_t;
}
extern "C" {
    pub fn _IO_seekpos(
        arg1: *mut _IO_FILE,
        arg2: __off64_t,
        arg3: ::std::os::raw::c_int,
    ) -> __off64_t;
}
extern "C" {
    pub fn _IO_free_backup_area(arg1: *mut _IO_FILE);
}
pub type fpos_t = _G_fpos_t;
extern "C" {
    #[link_name = "\u{1}stdin"]
    pub static mut stdin: *mut _IO_FILE;
}
extern "C" {
    #[link_name = "\u{1}stdout"]
    pub static mut stdout: *mut _IO_FILE;
}
extern "C" {
    #[link_name = "\u{1}stderr"]
    pub static mut stderr: *mut _IO_FILE;
}
extern "C" {
    pub fn remove(__filename: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn rename(
        __old: *const ::std::os::raw::c_char,
        __new: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn renameat(
        __oldfd: ::std::os::raw::c_int,
        __old: *const ::std::os::raw::c_char,
        __newfd: ::std::os::raw::c_int,
        __new: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn tmpfile() -> *mut FILE;
}
extern "C" {
    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn tmpnam_r(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn tempnam(
        __dir: *const ::std::os::raw::c_char,
        __pfx: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fflush(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fflush_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fopen(
        __filename: *const ::std::os::raw::c_char,
        __modes: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn freopen(
        __filename: *const ::std::os::raw::c_char,
        __modes: *const ::std::os::raw::c_char,
        __stream: *mut FILE,
    ) -> *mut FILE;
}
extern "C" {
    pub fn fdopen(__fd: ::std::os::raw::c_int, __modes: *const ::std::os::raw::c_char)
        -> *mut FILE;
}
extern "C" {
    pub fn fmemopen(
        __s: *mut ::std::os::raw::c_void,
        __len: usize,
        __modes: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn open_memstream(
        __bufloc: *mut *mut ::std::os::raw::c_char,
        __sizeloc: *mut usize,
    ) -> *mut FILE;
}
extern "C" {
    pub fn setbuf(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char);
}
extern "C" {
    pub fn setvbuf(
        __stream: *mut FILE,
        __buf: *mut ::std::os::raw::c_char,
        __modes: ::std::os::raw::c_int,
        __n: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setbuffer(__stream: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: usize);
}
extern "C" {
    pub fn setlinebuf(__stream: *mut FILE);
}
extern "C" {
    pub fn fprintf(
        __stream: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn printf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sprintf(
        __s: *mut ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vfprintf(
        __s: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vprintf(
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vsprintf(
        __s: *mut ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn snprintf(
        __s: *mut ::std::os::raw::c_char,
        __maxlen: usize,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vsnprintf(
        __s: *mut ::std::os::raw::c_char,
        __maxlen: usize,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vdprintf(
        __fd: ::std::os::raw::c_int,
        __fmt: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn dprintf(
        __fd: ::std::os::raw::c_int,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fscanf(
        __stream: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn scanf(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sscanf(
        __s: *const ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}__isoc99_fscanf"]
    pub fn fscanf1(
        __stream: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}__isoc99_scanf"]
    pub fn scanf1(__format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}__isoc99_sscanf"]
    pub fn sscanf1(
        __s: *const ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vfscanf(
        __s: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vscanf(
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vsscanf(
        __s: *const ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}__isoc99_vfscanf"]
    pub fn vfscanf1(
        __s: *mut FILE,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}__isoc99_vscanf"]
    pub fn vscanf1(
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}__isoc99_vsscanf"]
    pub fn vsscanf1(
        __s: *const ::std::os::raw::c_char,
        __format: *const ::std::os::raw::c_char,
        __arg: *mut __va_list_tag,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fgetc(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getc(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getchar() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fgetc_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fputc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn putc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn putchar(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fputc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn putc_unlocked(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn putchar_unlocked(__c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getw(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn putw(__w: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fgets(
        __s: *mut ::std::os::raw::c_char,
        __n: ::std::os::raw::c_int,
        __stream: *mut FILE,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn __getdelim(
        __lineptr: *mut *mut ::std::os::raw::c_char,
        __n: *mut usize,
        __delimiter: ::std::os::raw::c_int,
        __stream: *mut FILE,
    ) -> __ssize_t;
}
extern "C" {
    pub fn getdelim(
        __lineptr: *mut *mut ::std::os::raw::c_char,
        __n: *mut usize,
        __delimiter: ::std::os::raw::c_int,
        __stream: *mut FILE,
    ) -> __ssize_t;
}
extern "C" {
    pub fn getline(
        __lineptr: *mut *mut ::std::os::raw::c_char,
        __n: *mut usize,
        __stream: *mut FILE,
    ) -> __ssize_t;
}
extern "C" {
    pub fn fputs(__s: *const ::std::os::raw::c_char, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ungetc(__c: ::std::os::raw::c_int, __stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fread(
        __ptr: *mut ::std::os::raw::c_void,
        __size: usize,
        __n: usize,
        __stream: *mut FILE,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn fwrite(
        __ptr: *const ::std::os::raw::c_void,
        __size: usize,
        __n: usize,
        __s: *mut FILE,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn fread_unlocked(
        __ptr: *mut ::std::os::raw::c_void,
        __size: usize,
        __n: usize,
        __stream: *mut FILE,
    ) -> usize;
}
extern "C" {
    pub fn fwrite_unlocked(
        __ptr: *const ::std::os::raw::c_void,
        __size: usize,
        __n: usize,
        __stream: *mut FILE,
    ) -> usize;
}
extern "C" {
    pub fn fseek(
        __stream: *mut FILE,
        __off: ::std::os::raw::c_long,
        __whence: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ftell(__stream: *mut FILE) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn rewind(__stream: *mut FILE);
}
extern "C" {
    pub fn fseeko(
        __stream: *mut FILE,
        __off: __off_t,
        __whence: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ftello(__stream: *mut FILE) -> __off_t;
}
extern "C" {
    pub fn fgetpos(__stream: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fsetpos(__stream: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clearerr(__stream: *mut FILE);
}
extern "C" {
    pub fn feof(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ferror(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clearerr_unlocked(__stream: *mut FILE);
}
extern "C" {
    pub fn feof_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ferror_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn perror(__s: *const ::std::os::raw::c_char);
}
extern "C" {
    #[link_name = "\u{1}sys_nerr"]
    pub static mut sys_nerr: ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}sys_errlist"]
    pub static mut sys_errlist: [*const ::std::os::raw::c_char; 0usize];
}
extern "C" {
    pub fn fileno(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fileno_unlocked(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn popen(
        __command: *const ::std::os::raw::c_char,
        __modes: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn pclose(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ctermid(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn flockfile(__stream: *mut FILE);
}
extern "C" {
    pub fn ftrylockfile(__stream: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn funlockfile(__stream: *mut FILE);
}
pub type useconds_t = __useconds_t;
pub type socklen_t = __socklen_t;
extern "C" {
    pub fn access(
        __name: *const ::std::os::raw::c_char,
        __type: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn faccessat(
        __fd: ::std::os::raw::c_int,
        __file: *const ::std::os::raw::c_char,
        __type: ::std::os::raw::c_int,
        __flag: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn lseek(
        __fd: ::std::os::raw::c_int,
        __offset: __off_t,
        __whence: ::std::os::raw::c_int,
    ) -> __off_t;
}
extern "C" {
    pub fn close(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn read(
        __fd: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_void,
        __nbytes: usize,
    ) -> isize;
}
extern "C" {
    pub fn write(
        __fd: ::std::os::raw::c_int,
        __buf: *const ::std::os::raw::c_void,
        __n: usize,
    ) -> isize;
}
extern "C" {
    pub fn pread(
        __fd: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_void,
        __nbytes: usize,
        __offset: __off_t,
    ) -> isize;
}
extern "C" {
    pub fn pwrite(
        __fd: ::std::os::raw::c_int,
        __buf: *const ::std::os::raw::c_void,
        __n: usize,
        __offset: __off_t,
    ) -> isize;
}
extern "C" {
    pub fn pipe(__pipedes: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn alarm(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn sleep(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn ualarm(__value: __useconds_t, __interval: __useconds_t) -> __useconds_t;
}
extern "C" {
    pub fn usleep(__useconds: __useconds_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pause() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn chown(
        __file: *const ::std::os::raw::c_char,
        __owner: __uid_t,
        __group: __gid_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fchown(
        __fd: ::std::os::raw::c_int,
        __owner: __uid_t,
        __group: __gid_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn lchown(
        __file: *const ::std::os::raw::c_char,
        __owner: __uid_t,
        __group: __gid_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fchownat(
        __fd: ::std::os::raw::c_int,
        __file: *const ::std::os::raw::c_char,
        __owner: __uid_t,
        __group: __gid_t,
        __flag: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn chdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fchdir(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getcwd(__buf: *mut ::std::os::raw::c_char, __size: usize)
        -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn getwd(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn dup(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn dup2(__fd: ::std::os::raw::c_int, __fd2: ::std::os::raw::c_int)
        -> ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}__environ"]
    pub static mut __environ: *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn execve(
        __path: *const ::std::os::raw::c_char,
        __argv: *const *mut ::std::os::raw::c_char,
        __envp: *const *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fexecve(
        __fd: ::std::os::raw::c_int,
        __argv: *const *mut ::std::os::raw::c_char,
        __envp: *const *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn execv(
        __path: *const ::std::os::raw::c_char,
        __argv: *const *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn execle(
        __path: *const ::std::os::raw::c_char,
        __arg: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn execl(
        __path: *const ::std::os::raw::c_char,
        __arg: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn execvp(
        __file: *const ::std::os::raw::c_char,
        __argv: *const *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn execlp(
        __file: *const ::std::os::raw::c_char,
        __arg: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn nice(__inc: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _exit(__status: ::std::os::raw::c_int);
}
pub const _PC_LINK_MAX: _bindgen_ty_1 = 0;
pub const _PC_MAX_CANON: _bindgen_ty_1 = 1;
pub const _PC_MAX_INPUT: _bindgen_ty_1 = 2;
pub const _PC_NAME_MAX: _bindgen_ty_1 = 3;
pub const _PC_PATH_MAX: _bindgen_ty_1 = 4;
pub const _PC_PIPE_BUF: _bindgen_ty_1 = 5;
pub const _PC_CHOWN_RESTRICTED: _bindgen_ty_1 = 6;
pub const _PC_NO_TRUNC: _bindgen_ty_1 = 7;
pub const _PC_VDISABLE: _bindgen_ty_1 = 8;
pub const _PC_SYNC_IO: _bindgen_ty_1 = 9;
pub const _PC_ASYNC_IO: _bindgen_ty_1 = 10;
pub const _PC_PRIO_IO: _bindgen_ty_1 = 11;
pub const _PC_SOCK_MAXBUF: _bindgen_ty_1 = 12;
pub const _PC_FILESIZEBITS: _bindgen_ty_1 = 13;
pub const _PC_REC_INCR_XFER_SIZE: _bindgen_ty_1 = 14;
pub const _PC_REC_MAX_XFER_SIZE: _bindgen_ty_1 = 15;
pub const _PC_REC_MIN_XFER_SIZE: _bindgen_ty_1 = 16;
pub const _PC_REC_XFER_ALIGN: _bindgen_ty_1 = 17;
pub const _PC_ALLOC_SIZE_MIN: _bindgen_ty_1 = 18;
pub const _PC_SYMLINK_MAX: _bindgen_ty_1 = 19;
pub const _PC_2_SYMLINKS: _bindgen_ty_1 = 20;
pub type _bindgen_ty_1 = u32;
pub const _SC_ARG_MAX: _bindgen_ty_2 = 0;
pub const _SC_CHILD_MAX: _bindgen_ty_2 = 1;
pub const _SC_CLK_TCK: _bindgen_ty_2 = 2;
pub const _SC_NGROUPS_MAX: _bindgen_ty_2 = 3;
pub const _SC_OPEN_MAX: _bindgen_ty_2 = 4;
pub const _SC_STREAM_MAX: _bindgen_ty_2 = 5;
pub const _SC_TZNAME_MAX: _bindgen_ty_2 = 6;
pub const _SC_JOB_CONTROL: _bindgen_ty_2 = 7;
pub const _SC_SAVED_IDS: _bindgen_ty_2 = 8;
pub const _SC_REALTIME_SIGNALS: _bindgen_ty_2 = 9;
pub const _SC_PRIORITY_SCHEDULING: _bindgen_ty_2 = 10;
pub const _SC_TIMERS: _bindgen_ty_2 = 11;
pub const _SC_ASYNCHRONOUS_IO: _bindgen_ty_2 = 12;
pub const _SC_PRIORITIZED_IO: _bindgen_ty_2 = 13;
pub const _SC_SYNCHRONIZED_IO: _bindgen_ty_2 = 14;
pub const _SC_FSYNC: _bindgen_ty_2 = 15;
pub const _SC_MAPPED_FILES: _bindgen_ty_2 = 16;
pub const _SC_MEMLOCK: _bindgen_ty_2 = 17;
pub const _SC_MEMLOCK_RANGE: _bindgen_ty_2 = 18;
pub const _SC_MEMORY_PROTECTION: _bindgen_ty_2 = 19;
pub const _SC_MESSAGE_PASSING: _bindgen_ty_2 = 20;
pub const _SC_SEMAPHORES: _bindgen_ty_2 = 21;
pub const _SC_SHARED_MEMORY_OBJECTS: _bindgen_ty_2 = 22;
pub const _SC_AIO_LISTIO_MAX: _bindgen_ty_2 = 23;
pub const _SC_AIO_MAX: _bindgen_ty_2 = 24;
pub const _SC_AIO_PRIO_DELTA_MAX: _bindgen_ty_2 = 25;
pub const _SC_DELAYTIMER_MAX: _bindgen_ty_2 = 26;
pub const _SC_MQ_OPEN_MAX: _bindgen_ty_2 = 27;
pub const _SC_MQ_PRIO_MAX: _bindgen_ty_2 = 28;
pub const _SC_VERSION: _bindgen_ty_2 = 29;
pub const _SC_PAGESIZE: _bindgen_ty_2 = 30;
pub const _SC_RTSIG_MAX: _bindgen_ty_2 = 31;
pub const _SC_SEM_NSEMS_MAX: _bindgen_ty_2 = 32;
pub const _SC_SEM_VALUE_MAX: _bindgen_ty_2 = 33;
pub const _SC_SIGQUEUE_MAX: _bindgen_ty_2 = 34;
pub const _SC_TIMER_MAX: _bindgen_ty_2 = 35;
pub const _SC_BC_BASE_MAX: _bindgen_ty_2 = 36;
pub const _SC_BC_DIM_MAX: _bindgen_ty_2 = 37;
pub const _SC_BC_SCALE_MAX: _bindgen_ty_2 = 38;
pub const _SC_BC_STRING_MAX: _bindgen_ty_2 = 39;
pub const _SC_COLL_WEIGHTS_MAX: _bindgen_ty_2 = 40;
pub const _SC_EQUIV_CLASS_MAX: _bindgen_ty_2 = 41;
pub const _SC_EXPR_NEST_MAX: _bindgen_ty_2 = 42;
pub const _SC_LINE_MAX: _bindgen_ty_2 = 43;
pub const _SC_RE_DUP_MAX: _bindgen_ty_2 = 44;
pub const _SC_CHARCLASS_NAME_MAX: _bindgen_ty_2 = 45;
pub const _SC_2_VERSION: _bindgen_ty_2 = 46;
pub const _SC_2_C_BIND: _bindgen_ty_2 = 47;
pub const _SC_2_C_DEV: _bindgen_ty_2 = 48;
pub const _SC_2_FORT_DEV: _bindgen_ty_2 = 49;
pub const _SC_2_FORT_RUN: _bindgen_ty_2 = 50;
pub const _SC_2_SW_DEV: _bindgen_ty_2 = 51;
pub const _SC_2_LOCALEDEF: _bindgen_ty_2 = 52;
pub const _SC_PII: _bindgen_ty_2 = 53;
pub const _SC_PII_XTI: _bindgen_ty_2 = 54;
pub const _SC_PII_SOCKET: _bindgen_ty_2 = 55;
pub const _SC_PII_INTERNET: _bindgen_ty_2 = 56;
pub const _SC_PII_OSI: _bindgen_ty_2 = 57;
pub const _SC_POLL: _bindgen_ty_2 = 58;
pub const _SC_SELECT: _bindgen_ty_2 = 59;
pub const _SC_UIO_MAXIOV: _bindgen_ty_2 = 60;
pub const _SC_IOV_MAX: _bindgen_ty_2 = 60;
pub const _SC_PII_INTERNET_STREAM: _bindgen_ty_2 = 61;
pub const _SC_PII_INTERNET_DGRAM: _bindgen_ty_2 = 62;
pub const _SC_PII_OSI_COTS: _bindgen_ty_2 = 63;
pub const _SC_PII_OSI_CLTS: _bindgen_ty_2 = 64;
pub const _SC_PII_OSI_M: _bindgen_ty_2 = 65;
pub const _SC_T_IOV_MAX: _bindgen_ty_2 = 66;
pub const _SC_THREADS: _bindgen_ty_2 = 67;
pub const _SC_THREAD_SAFE_FUNCTIONS: _bindgen_ty_2 = 68;
pub const _SC_GETGR_R_SIZE_MAX: _bindgen_ty_2 = 69;
pub const _SC_GETPW_R_SIZE_MAX: _bindgen_ty_2 = 70;
pub const _SC_LOGIN_NAME_MAX: _bindgen_ty_2 = 71;
pub const _SC_TTY_NAME_MAX: _bindgen_ty_2 = 72;
pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: _bindgen_ty_2 = 73;
pub const _SC_THREAD_KEYS_MAX: _bindgen_ty_2 = 74;
pub const _SC_THREAD_STACK_MIN: _bindgen_ty_2 = 75;
pub const _SC_THREAD_THREADS_MAX: _bindgen_ty_2 = 76;
pub const _SC_THREAD_ATTR_STACKADDR: _bindgen_ty_2 = 77;
pub const _SC_THREAD_ATTR_STACKSIZE: _bindgen_ty_2 = 78;
pub const _SC_THREAD_PRIORITY_SCHEDULING: _bindgen_ty_2 = 79;
pub const _SC_THREAD_PRIO_INHERIT: _bindgen_ty_2 = 80;
pub const _SC_THREAD_PRIO_PROTECT: _bindgen_ty_2 = 81;
pub const _SC_THREAD_PROCESS_SHARED: _bindgen_ty_2 = 82;
pub const _SC_NPROCESSORS_CONF: _bindgen_ty_2 = 83;
pub const _SC_NPROCESSORS_ONLN: _bindgen_ty_2 = 84;
pub const _SC_PHYS_PAGES: _bindgen_ty_2 = 85;
pub const _SC_AVPHYS_PAGES: _bindgen_ty_2 = 86;
pub const _SC_ATEXIT_MAX: _bindgen_ty_2 = 87;
pub const _SC_PASS_MAX: _bindgen_ty_2 = 88;
pub const _SC_XOPEN_VERSION: _bindgen_ty_2 = 89;
pub const _SC_XOPEN_XCU_VERSION: _bindgen_ty_2 = 90;
pub const _SC_XOPEN_UNIX: _bindgen_ty_2 = 91;
pub const _SC_XOPEN_CRYPT: _bindgen_ty_2 = 92;
pub const _SC_XOPEN_ENH_I18N: _bindgen_ty_2 = 93;
pub const _SC_XOPEN_SHM: _bindgen_ty_2 = 94;
pub const _SC_2_CHAR_TERM: _bindgen_ty_2 = 95;
pub const _SC_2_C_VERSION: _bindgen_ty_2 = 96;
pub const _SC_2_UPE: _bindgen_ty_2 = 97;
pub const _SC_XOPEN_XPG2: _bindgen_ty_2 = 98;
pub const _SC_XOPEN_XPG3: _bindgen_ty_2 = 99;
pub const _SC_XOPEN_XPG4: _bindgen_ty_2 = 100;
pub const _SC_CHAR_BIT: _bindgen_ty_2 = 101;
pub const _SC_CHAR_MAX: _bindgen_ty_2 = 102;
pub const _SC_CHAR_MIN: _bindgen_ty_2 = 103;
pub const _SC_INT_MAX: _bindgen_ty_2 = 104;
pub const _SC_INT_MIN: _bindgen_ty_2 = 105;
pub const _SC_LONG_BIT: _bindgen_ty_2 = 106;
pub const _SC_WORD_BIT: _bindgen_ty_2 = 107;
pub const _SC_MB_LEN_MAX: _bindgen_ty_2 = 108;
pub const _SC_NZERO: _bindgen_ty_2 = 109;
pub const _SC_SSIZE_MAX: _bindgen_ty_2 = 110;
pub const _SC_SCHAR_MAX: _bindgen_ty_2 = 111;
pub const _SC_SCHAR_MIN: _bindgen_ty_2 = 112;
pub const _SC_SHRT_MAX: _bindgen_ty_2 = 113;
pub const _SC_SHRT_MIN: _bindgen_ty_2 = 114;
pub const _SC_UCHAR_MAX: _bindgen_ty_2 = 115;
pub const _SC_UINT_MAX: _bindgen_ty_2 = 116;
pub const _SC_ULONG_MAX: _bindgen_ty_2 = 117;
pub const _SC_USHRT_MAX: _bindgen_ty_2 = 118;
pub const _SC_NL_ARGMAX: _bindgen_ty_2 = 119;
pub const _SC_NL_LANGMAX: _bindgen_ty_2 = 120;
pub const _SC_NL_MSGMAX: _bindgen_ty_2 = 121;
pub const _SC_NL_NMAX: _bindgen_ty_2 = 122;
pub const _SC_NL_SETMAX: _bindgen_ty_2 = 123;
pub const _SC_NL_TEXTMAX: _bindgen_ty_2 = 124;
pub const _SC_XBS5_ILP32_OFF32: _bindgen_ty_2 = 125;
pub const _SC_XBS5_ILP32_OFFBIG: _bindgen_ty_2 = 126;
pub const _SC_XBS5_LP64_OFF64: _bindgen_ty_2 = 127;
pub const _SC_XBS5_LPBIG_OFFBIG: _bindgen_ty_2 = 128;
pub const _SC_XOPEN_LEGACY: _bindgen_ty_2 = 129;
pub const _SC_XOPEN_REALTIME: _bindgen_ty_2 = 130;
pub const _SC_XOPEN_REALTIME_THREADS: _bindgen_ty_2 = 131;
pub const _SC_ADVISORY_INFO: _bindgen_ty_2 = 132;
pub const _SC_BARRIERS: _bindgen_ty_2 = 133;
pub const _SC_BASE: _bindgen_ty_2 = 134;
pub const _SC_C_LANG_SUPPORT: _bindgen_ty_2 = 135;
pub const _SC_C_LANG_SUPPORT_R: _bindgen_ty_2 = 136;
pub const _SC_CLOCK_SELECTION: _bindgen_ty_2 = 137;
pub const _SC_CPUTIME: _bindgen_ty_2 = 138;
pub const _SC_THREAD_CPUTIME: _bindgen_ty_2 = 139;
pub const _SC_DEVICE_IO: _bindgen_ty_2 = 140;
pub const _SC_DEVICE_SPECIFIC: _bindgen_ty_2 = 141;
pub const _SC_DEVICE_SPECIFIC_R: _bindgen_ty_2 = 142;
pub const _SC_FD_MGMT: _bindgen_ty_2 = 143;
pub const _SC_FIFO: _bindgen_ty_2 = 144;
pub const _SC_PIPE: _bindgen_ty_2 = 145;
pub const _SC_FILE_ATTRIBUTES: _bindgen_ty_2 = 146;
pub const _SC_FILE_LOCKING: _bindgen_ty_2 = 147;
pub const _SC_FILE_SYSTEM: _bindgen_ty_2 = 148;
pub const _SC_MONOTONIC_CLOCK: _bindgen_ty_2 = 149;
pub const _SC_MULTI_PROCESS: _bindgen_ty_2 = 150;
pub const _SC_SINGLE_PROCESS: _bindgen_ty_2 = 151;
pub const _SC_NETWORKING: _bindgen_ty_2 = 152;
pub const _SC_READER_WRITER_LOCKS: _bindgen_ty_2 = 153;
pub const _SC_SPIN_LOCKS: _bindgen_ty_2 = 154;
pub const _SC_REGEXP: _bindgen_ty_2 = 155;
pub const _SC_REGEX_VERSION: _bindgen_ty_2 = 156;
pub const _SC_SHELL: _bindgen_ty_2 = 157;
pub const _SC_SIGNALS: _bindgen_ty_2 = 158;
pub const _SC_SPAWN: _bindgen_ty_2 = 159;
pub const _SC_SPORADIC_SERVER: _bindgen_ty_2 = 160;
pub const _SC_THREAD_SPORADIC_SERVER: _bindgen_ty_2 = 161;
pub const _SC_SYSTEM_DATABASE: _bindgen_ty_2 = 162;
pub const _SC_SYSTEM_DATABASE_R: _bindgen_ty_2 = 163;
pub const _SC_TIMEOUTS: _bindgen_ty_2 = 164;
pub const _SC_TYPED_MEMORY_OBJECTS: _bindgen_ty_2 = 165;
pub const _SC_USER_GROUPS: _bindgen_ty_2 = 166;
pub const _SC_USER_GROUPS_R: _bindgen_ty_2 = 167;
pub const _SC_2_PBS: _bindgen_ty_2 = 168;
pub const _SC_2_PBS_ACCOUNTING: _bindgen_ty_2 = 169;
pub const _SC_2_PBS_LOCATE: _bindgen_ty_2 = 170;
pub const _SC_2_PBS_MESSAGE: _bindgen_ty_2 = 171;
pub const _SC_2_PBS_TRACK: _bindgen_ty_2 = 172;
pub const _SC_SYMLOOP_MAX: _bindgen_ty_2 = 173;
pub const _SC_STREAMS: _bindgen_ty_2 = 174;
pub const _SC_2_PBS_CHECKPOINT: _bindgen_ty_2 = 175;
pub const _SC_V6_ILP32_OFF32: _bindgen_ty_2 = 176;
pub const _SC_V6_ILP32_OFFBIG: _bindgen_ty_2 = 177;
pub const _SC_V6_LP64_OFF64: _bindgen_ty_2 = 178;
pub const _SC_V6_LPBIG_OFFBIG: _bindgen_ty_2 = 179;
pub const _SC_HOST_NAME_MAX: _bindgen_ty_2 = 180;
pub const _SC_TRACE: _bindgen_ty_2 = 181;
pub const _SC_TRACE_EVENT_FILTER: _bindgen_ty_2 = 182;
pub const _SC_TRACE_INHERIT: _bindgen_ty_2 = 183;
pub const _SC_TRACE_LOG: _bindgen_ty_2 = 184;
pub const _SC_LEVEL1_ICACHE_SIZE: _bindgen_ty_2 = 185;
pub const _SC_LEVEL1_ICACHE_ASSOC: _bindgen_ty_2 = 186;
pub const _SC_LEVEL1_ICACHE_LINESIZE: _bindgen_ty_2 = 187;
pub const _SC_LEVEL1_DCACHE_SIZE: _bindgen_ty_2 = 188;
pub const _SC_LEVEL1_DCACHE_ASSOC: _bindgen_ty_2 = 189;
pub const _SC_LEVEL1_DCACHE_LINESIZE: _bindgen_ty_2 = 190;
pub const _SC_LEVEL2_CACHE_SIZE: _bindgen_ty_2 = 191;
pub const _SC_LEVEL2_CACHE_ASSOC: _bindgen_ty_2 = 192;
pub const _SC_LEVEL2_CACHE_LINESIZE: _bindgen_ty_2 = 193;
pub const _SC_LEVEL3_CACHE_SIZE: _bindgen_ty_2 = 194;
pub const _SC_LEVEL3_CACHE_ASSOC: _bindgen_ty_2 = 195;
pub const _SC_LEVEL3_CACHE_LINESIZE: _bindgen_ty_2 = 196;
pub const _SC_LEVEL4_CACHE_SIZE: _bindgen_ty_2 = 197;
pub const _SC_LEVEL4_CACHE_ASSOC: _bindgen_ty_2 = 198;
pub const _SC_LEVEL4_CACHE_LINESIZE: _bindgen_ty_2 = 199;
pub const _SC_IPV6: _bindgen_ty_2 = 235;
pub const _SC_RAW_SOCKETS: _bindgen_ty_2 = 236;
pub const _SC_V7_ILP32_OFF32: _bindgen_ty_2 = 237;
pub const _SC_V7_ILP32_OFFBIG: _bindgen_ty_2 = 238;
pub const _SC_V7_LP64_OFF64: _bindgen_ty_2 = 239;
pub const _SC_V7_LPBIG_OFFBIG: _bindgen_ty_2 = 240;
pub const _SC_SS_REPL_MAX: _bindgen_ty_2 = 241;
pub const _SC_TRACE_EVENT_NAME_MAX: _bindgen_ty_2 = 242;
pub const _SC_TRACE_NAME_MAX: _bindgen_ty_2 = 243;
pub const _SC_TRACE_SYS_MAX: _bindgen_ty_2 = 244;
pub const _SC_TRACE_USER_EVENT_MAX: _bindgen_ty_2 = 245;
pub const _SC_XOPEN_STREAMS: _bindgen_ty_2 = 246;
pub const _SC_THREAD_ROBUST_PRIO_INHERIT: _bindgen_ty_2 = 247;
pub const _SC_THREAD_ROBUST_PRIO_PROTECT: _bindgen_ty_2 = 248;
pub type _bindgen_ty_2 = u32;
pub const _CS_PATH: _bindgen_ty_3 = 0;
pub const _CS_V6_WIDTH_RESTRICTED_ENVS: _bindgen_ty_3 = 1;
pub const _CS_GNU_LIBC_VERSION: _bindgen_ty_3 = 2;
pub const _CS_GNU_LIBPTHREAD_VERSION: _bindgen_ty_3 = 3;
pub const _CS_V5_WIDTH_RESTRICTED_ENVS: _bindgen_ty_3 = 4;
pub const _CS_V7_WIDTH_RESTRICTED_ENVS: _bindgen_ty_3 = 5;
pub const _CS_LFS_CFLAGS: _bindgen_ty_3 = 1000;
pub const _CS_LFS_LDFLAGS: _bindgen_ty_3 = 1001;
pub const _CS_LFS_LIBS: _bindgen_ty_3 = 1002;
pub const _CS_LFS_LINTFLAGS: _bindgen_ty_3 = 1003;
pub const _CS_LFS64_CFLAGS: _bindgen_ty_3 = 1004;
pub const _CS_LFS64_LDFLAGS: _bindgen_ty_3 = 1005;
pub const _CS_LFS64_LIBS: _bindgen_ty_3 = 1006;
pub const _CS_LFS64_LINTFLAGS: _bindgen_ty_3 = 1007;
pub const _CS_XBS5_ILP32_OFF32_CFLAGS: _bindgen_ty_3 = 1100;
pub const _CS_XBS5_ILP32_OFF32_LDFLAGS: _bindgen_ty_3 = 1101;
pub const _CS_XBS5_ILP32_OFF32_LIBS: _bindgen_ty_3 = 1102;
pub const _CS_XBS5_ILP32_OFF32_LINTFLAGS: _bindgen_ty_3 = 1103;
pub const _CS_XBS5_ILP32_OFFBIG_CFLAGS: _bindgen_ty_3 = 1104;
pub const _CS_XBS5_ILP32_OFFBIG_LDFLAGS: _bindgen_ty_3 = 1105;
pub const _CS_XBS5_ILP32_OFFBIG_LIBS: _bindgen_ty_3 = 1106;
pub const _CS_XBS5_ILP32_OFFBIG_LINTFLAGS: _bindgen_ty_3 = 1107;
pub const _CS_XBS5_LP64_OFF64_CFLAGS: _bindgen_ty_3 = 1108;
pub const _CS_XBS5_LP64_OFF64_LDFLAGS: _bindgen_ty_3 = 1109;
pub const _CS_XBS5_LP64_OFF64_LIBS: _bindgen_ty_3 = 1110;
pub const _CS_XBS5_LP64_OFF64_LINTFLAGS: _bindgen_ty_3 = 1111;
pub const _CS_XBS5_LPBIG_OFFBIG_CFLAGS: _bindgen_ty_3 = 1112;
pub const _CS_XBS5_LPBIG_OFFBIG_LDFLAGS: _bindgen_ty_3 = 1113;
pub const _CS_XBS5_LPBIG_OFFBIG_LIBS: _bindgen_ty_3 = 1114;
pub const _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS: _bindgen_ty_3 = 1115;
pub const _CS_POSIX_V6_ILP32_OFF32_CFLAGS: _bindgen_ty_3 = 1116;
pub const _CS_POSIX_V6_ILP32_OFF32_LDFLAGS: _bindgen_ty_3 = 1117;
pub const _CS_POSIX_V6_ILP32_OFF32_LIBS: _bindgen_ty_3 = 1118;
pub const _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS: _bindgen_ty_3 = 1119;
pub const _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS: _bindgen_ty_3 = 1120;
pub const _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS: _bindgen_ty_3 = 1121;
pub const _CS_POSIX_V6_ILP32_OFFBIG_LIBS: _bindgen_ty_3 = 1122;
pub const _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS: _bindgen_ty_3 = 1123;
pub const _CS_POSIX_V6_LP64_OFF64_CFLAGS: _bindgen_ty_3 = 1124;
pub const _CS_POSIX_V6_LP64_OFF64_LDFLAGS: _bindgen_ty_3 = 1125;
pub const _CS_POSIX_V6_LP64_OFF64_LIBS: _bindgen_ty_3 = 1126;
pub const _CS_POSIX_V6_LP64_OFF64_LINTFLAGS: _bindgen_ty_3 = 1127;
pub const _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS: _bindgen_ty_3 = 1128;
pub const _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS: _bindgen_ty_3 = 1129;
pub const _CS_POSIX_V6_LPBIG_OFFBIG_LIBS: _bindgen_ty_3 = 1130;
pub const _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS: _bindgen_ty_3 = 1131;
pub const _CS_POSIX_V7_ILP32_OFF32_CFLAGS: _bindgen_ty_3 = 1132;
pub const _CS_POSIX_V7_ILP32_OFF32_LDFLAGS: _bindgen_ty_3 = 1133;
pub const _CS_POSIX_V7_ILP32_OFF32_LIBS: _bindgen_ty_3 = 1134;
pub const _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS: _bindgen_ty_3 = 1135;
pub const _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS: _bindgen_ty_3 = 1136;
pub const _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS: _bindgen_ty_3 = 1137;
pub const _CS_POSIX_V7_ILP32_OFFBIG_LIBS: _bindgen_ty_3 = 1138;
pub const _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS: _bindgen_ty_3 = 1139;
pub const _CS_POSIX_V7_LP64_OFF64_CFLAGS: _bindgen_ty_3 = 1140;
pub const _CS_POSIX_V7_LP64_OFF64_LDFLAGS: _bindgen_ty_3 = 1141;
pub const _CS_POSIX_V7_LP64_OFF64_LIBS: _bindgen_ty_3 = 1142;
pub const _CS_POSIX_V7_LP64_OFF64_LINTFLAGS: _bindgen_ty_3 = 1143;
pub const _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS: _bindgen_ty_3 = 1144;
pub const _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS: _bindgen_ty_3 = 1145;
pub const _CS_POSIX_V7_LPBIG_OFFBIG_LIBS: _bindgen_ty_3 = 1146;
pub const _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS: _bindgen_ty_3 = 1147;
pub const _CS_V6_ENV: _bindgen_ty_3 = 1148;
pub const _CS_V7_ENV: _bindgen_ty_3 = 1149;
pub type _bindgen_ty_3 = u32;
extern "C" {
    pub fn pathconf(
        __path: *const ::std::os::raw::c_char,
        __name: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn fpathconf(
        __fd: ::std::os::raw::c_int,
        __name: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn sysconf(__name: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn confstr(
        __name: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> usize;
}
extern "C" {
    pub fn getpid() -> __pid_t;
}
extern "C" {
    pub fn getppid() -> __pid_t;
}
extern "C" {
    pub fn getpgrp() -> __pid_t;
}
extern "C" {
    pub fn __getpgid(__pid: __pid_t) -> __pid_t;
}
extern "C" {
    pub fn getpgid(__pid: __pid_t) -> __pid_t;
}
extern "C" {
    pub fn setpgid(__pid: __pid_t, __pgid: __pid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setpgrp() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setsid() -> __pid_t;
}
extern "C" {
    pub fn getsid(__pid: __pid_t) -> __pid_t;
}
extern "C" {
    pub fn getuid() -> __uid_t;
}
extern "C" {
    pub fn geteuid() -> __uid_t;
}
extern "C" {
    pub fn getgid() -> __gid_t;
}
extern "C" {
    pub fn getegid() -> __gid_t;
}
extern "C" {
    pub fn getgroups(__size: ::std::os::raw::c_int, __list: *mut __gid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setuid(__uid: __uid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setreuid(__ruid: __uid_t, __euid: __uid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn seteuid(__uid: __uid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setgid(__gid: __gid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setregid(__rgid: __gid_t, __egid: __gid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setegid(__gid: __gid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fork() -> __pid_t;
}
extern "C" {
    pub fn vfork() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ttyname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn ttyname_r(
        __fd: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __buflen: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn isatty(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ttyslot() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn link(
        __from: *const ::std::os::raw::c_char,
        __to: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn linkat(
        __fromfd: ::std::os::raw::c_int,
        __from: *const ::std::os::raw::c_char,
        __tofd: ::std::os::raw::c_int,
        __to: *const ::std::os::raw::c_char,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn symlink(
        __from: *const ::std::os::raw::c_char,
        __to: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn readlink(
        __path: *const ::std::os::raw::c_char,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> isize;
}
extern "C" {
    pub fn symlinkat(
        __from: *const ::std::os::raw::c_char,
        __tofd: ::std::os::raw::c_int,
        __to: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn readlinkat(
        __fd: ::std::os::raw::c_int,
        __path: *const ::std::os::raw::c_char,
        __buf: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> isize;
}
extern "C" {
    pub fn unlink(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn unlinkat(
        __fd: ::std::os::raw::c_int,
        __name: *const ::std::os::raw::c_char,
        __flag: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn rmdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn tcgetpgrp(__fd: ::std::os::raw::c_int) -> __pid_t;
}
extern "C" {
    pub fn tcsetpgrp(__fd: ::std::os::raw::c_int, __pgrp_id: __pid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getlogin() -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn getlogin_r(
        __name: *mut ::std::os::raw::c_char,
        __name_len: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setlogin(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}optarg"]
    pub static mut optarg: *mut ::std::os::raw::c_char;
}
extern "C" {
    #[link_name = "\u{1}optind"]
    pub static mut optind: ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}opterr"]
    pub static mut opterr: ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "\u{1}optopt"]
    pub static mut optopt: ::std::os::raw::c_int;
}
extern "C" {
    pub fn getopt(
        ___argc: ::std::os::raw::c_int,
        ___argv: *const *mut ::std::os::raw::c_char,
        __shortopts: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gethostname(__name: *mut ::std::os::raw::c_char, __len: usize) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sethostname(
        __name: *const ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sethostid(__id: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getdomainname(
        __name: *mut ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setdomainname(
        __name: *const ::std::os::raw::c_char,
        __len: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vhangup() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn revoke(__file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn profil(
        __sample_buffer: *mut ::std::os::raw::c_ushort,
        __size: usize,
        __offset: usize,
        __scale: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn acct(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getusershell() -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn endusershell();
}
extern "C" {
    pub fn setusershell();
}
extern "C" {
    pub fn daemon(
        __nochdir: ::std::os::raw::c_int,
        __noclose: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn chroot(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getpass(__prompt: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fsync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gethostid() -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn sync();
}
extern "C" {
    pub fn getpagesize() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getdtablesize() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn truncate(
        __file: *const ::std::os::raw::c_char,
        __length: __off_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ftruncate(__fd: ::std::os::raw::c_int, __length: __off_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn brk(__addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sbrk(__delta: isize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn syscall(__sysno: ::std::os::raw::c_long, ...) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn lockf(
        __fd: ::std::os::raw::c_int,
        __cmd: ::std::os::raw::c_int,
        __len: __off_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fdatasync(__fildes: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getentropy(
        __buffer: *mut ::std::os::raw::c_void,
        __length: usize,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct max_align_t {
    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
    pub __bindgen_padding_0: u64,
    pub __clang_max_align_nonce2: f64,
}
#[test]
fn bindgen_test_layout_max_align_t() {
    assert_eq!(
        ::std::mem::size_of::<max_align_t>(),
        32usize,
        concat!("Size of: ", stringify!(max_align_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce2)
        )
    );
}
extern "C" {
    pub fn memcpy(
        __dest: *mut ::std::os::raw::c_void,
        __src: *const ::std::os::raw::c_void,
        __n: usize,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn memmove(
        __dest: *mut ::std::os::raw::c_void,
        __src: *const ::std::os::raw::c_void,
        __n: usize,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn memccpy(
        __dest: *mut ::std::os::raw::c_void,
        __src: *const ::std::os::raw::c_void,
        __c: ::std::os::raw::c_int,
        __n: usize,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn memset(
        __s: *mut ::std::os::raw::c_void,
        __c: ::std::os::raw::c_int,
        __n: usize,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn memcmp(
        __s1: *const ::std::os::raw::c_void,
        __s2: *const ::std::os::raw::c_void,
        __n: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn memchr(
        __s: *const ::std::os::raw::c_void,
        __c: ::std::os::raw::c_int,
        __n: usize,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn strcpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strncpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strcat(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strncat(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strcmp(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strncmp(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strcoll(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strxfrm(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn strcoll_l(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __l: locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strxfrm_l(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: usize,
        __l: locale_t,
    ) -> usize;
}
extern "C" {
    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strndup(
        __string: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strchr(
        __s: *const ::std::os::raw::c_char,
        __c: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strrchr(
        __s: *const ::std::os::raw::c_char,
        __c: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strcspn(
        __s: *const ::std::os::raw::c_char,
        __reject: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn strspn(
        __s: *const ::std::os::raw::c_char,
        __accept: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn strpbrk(
        __s: *const ::std::os::raw::c_char,
        __accept: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strstr(
        __haystack: *const ::std::os::raw::c_char,
        __needle: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strtok(
        __s: *mut ::std::os::raw::c_char,
        __delim: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn __strtok_r(
        __s: *mut ::std::os::raw::c_char,
        __delim: *const ::std::os::raw::c_char,
        __save_ptr: *mut *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strtok_r(
        __s: *mut ::std::os::raw::c_char,
        __delim: *const ::std::os::raw::c_char,
        __save_ptr: *mut *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn strnlen(__string: *const ::std::os::raw::c_char, __maxlen: usize) -> usize;
}
extern "C" {
    pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    #[link_name = "\u{1}__xpg_strerror_r"]
    pub fn strerror_r(
        __errnum: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __buflen: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strerror_l(
        __errnum: ::std::os::raw::c_int,
        __l: locale_t,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn bcmp(
        __s1: *const ::std::os::raw::c_void,
        __s2: *const ::std::os::raw::c_void,
        __n: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn bcopy(
        __src: *const ::std::os::raw::c_void,
        __dest: *mut ::std::os::raw::c_void,
        __n: usize,
    );
}
extern "C" {
    pub fn bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
}
extern "C" {
    pub fn index(
        __s: *const ::std::os::raw::c_char,
        __c: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn rindex(
        __s: *const ::std::os::raw::c_char,
        __c: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn ffs(__i: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ffsl(__l: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ffsll(__ll: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strcasecmp(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strncasecmp(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strcasecmp_l(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __loc: locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strncasecmp_l(
        __s1: *const ::std::os::raw::c_char,
        __s2: *const ::std::os::raw::c_char,
        __n: usize,
        __loc: locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn explicit_bzero(__s: *mut ::std::os::raw::c_void, __n: usize);
}
extern "C" {
    pub fn strsep(
        __stringp: *mut *mut ::std::os::raw::c_char,
        __delim: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn __stpcpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn stpcpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn __stpncpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn stpncpy(
        __dest: *mut ::std::os::raw::c_char,
        __src: *const ::std::os::raw::c_char,
        __n: usize,
    ) -> *mut ::std::os::raw::c_char;
}
pub type ctor_f = ::std::option::Option<
    unsafe extern "C" fn(dst: *mut ::std::os::raw::c_void, src: *const ::std::os::raw::c_void),
>;
pub type dtor_f = ::std::option::Option<unsafe extern "C" fn(elt: *mut ::std::os::raw::c_void)>;
pub type init_f = ::std::option::Option<unsafe extern "C" fn(elt: *mut ::std::os::raw::c_void)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct UT_icd {
    pub sz: usize,
    pub init: init_f,
    pub copy: ctor_f,
    pub dtor: dtor_f,
}
#[test]
fn bindgen_test_layout_UT_icd() {
    assert_eq!(
        ::std::mem::size_of::<UT_icd>(),
        32usize,
        concat!("Size of: ", stringify!(UT_icd))
    );
    assert_eq!(
        ::std::mem::align_of::<UT_icd>(),
        8usize,
        concat!("Alignment of ", stringify!(UT_icd))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_icd>())).sz as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_icd),
            "::",
            stringify!(sz)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_icd>())).init as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_icd),
            "::",
            stringify!(init)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_icd>())).copy as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_icd),
            "::",
            stringify!(copy)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_icd>())).dtor as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_icd),
            "::",
            stringify!(dtor)
        )
    );
}
impl Default for UT_icd {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct UT_array {
    pub i: ::std::os::raw::c_uint,
    pub n: ::std::os::raw::c_uint,
    pub icd: *const UT_icd,
    pub d: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_UT_array() {
    assert_eq!(
        ::std::mem::size_of::<UT_array>(),
        24usize,
        concat!("Size of: ", stringify!(UT_array))
    );
    assert_eq!(
        ::std::mem::align_of::<UT_array>(),
        8usize,
        concat!("Alignment of ", stringify!(UT_array))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_array>())).i as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_array),
            "::",
            stringify!(i)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_array>())).n as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_array),
            "::",
            stringify!(n)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_array>())).icd as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_array),
            "::",
            stringify!(icd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_array>())).d as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_array),
            "::",
            stringify!(d)
        )
    );
}
impl Default for UT_array {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
extern "C" {
    pub fn fcitx_qsort_r(
        base_: *mut ::std::os::raw::c_void,
        nmemb: usize,
        size: usize,
        compar: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *const ::std::os::raw::c_void,
                arg2: *const ::std::os::raw::c_void,
                arg3: *mut ::std::os::raw::c_void,
            ) -> ::std::os::raw::c_int,
        >,
        thunk: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn fcitx_msort_r(
        base_: *mut ::std::os::raw::c_void,
        nmemb: usize,
        size: usize,
        compar: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *const ::std::os::raw::c_void,
                arg2: *const ::std::os::raw::c_void,
                arg3: *mut ::std::os::raw::c_void,
            ) -> ::std::os::raw::c_int,
        >,
        thunk: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    #[link_name = "\u{1}ut_str_icd"]
    pub static ut_str_icd: UT_icd;
}
extern "C" {
    #[link_name = "\u{1}ut_int_icd"]
    pub static ut_int_icd: UT_icd;
}
pub type __gwchar_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct imaxdiv_t {
    pub quot: ::std::os::raw::c_long,
    pub rem: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_imaxdiv_t() {
    assert_eq!(
        ::std::mem::size_of::<imaxdiv_t>(),
        16usize,
        concat!("Size of: ", stringify!(imaxdiv_t))
    );
    assert_eq!(
        ::std::mem::align_of::<imaxdiv_t>(),
        8usize,
        concat!("Alignment of ", stringify!(imaxdiv_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(imaxdiv_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).rem as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(imaxdiv_t),
            "::",
            stringify!(rem)
        )
    );
}
extern "C" {
    pub fn imaxabs(__n: intmax_t) -> intmax_t;
}
extern "C" {
    pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
}
extern "C" {
    pub fn strtoimax(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> intmax_t;
}
extern "C" {
    pub fn strtoumax(
        __nptr: *const ::std::os::raw::c_char,
        __endptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> uintmax_t;
}
extern "C" {
    pub fn wcstoimax(
        __nptr: *const __gwchar_t,
        __endptr: *mut *mut __gwchar_t,
        __base: ::std::os::raw::c_int,
    ) -> intmax_t;
}
extern "C" {
    pub fn wcstoumax(
        __nptr: *const __gwchar_t,
        __endptr: *mut *mut __gwchar_t,
        __base: ::std::os::raw::c_int,
    ) -> uintmax_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct UT_hash_bucket {
    pub hh_head: *mut UT_hash_handle,
    pub count: ::std::os::raw::c_uint,
    pub expand_mult: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout_UT_hash_bucket() {
    assert_eq!(
        ::std::mem::size_of::<UT_hash_bucket>(),
        16usize,
        concat!("Size of: ", stringify!(UT_hash_bucket))
    );
    assert_eq!(
        ::std::mem::align_of::<UT_hash_bucket>(),
        8usize,
        concat!("Alignment of ", stringify!(UT_hash_bucket))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_bucket>())).hh_head as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_bucket),
            "::",
            stringify!(hh_head)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_bucket>())).count as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_bucket),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_bucket>())).expand_mult as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_bucket),
            "::",
            stringify!(expand_mult)
        )
    );
}
impl Default for UT_hash_bucket {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct UT_hash_table {
    pub buckets: *mut UT_hash_bucket,
    pub num_buckets: ::std::os::raw::c_uint,
    pub log2_num_buckets: ::std::os::raw::c_uint,
    pub num_items: ::std::os::raw::c_uint,
    pub tail: *mut UT_hash_handle,
    pub hho: isize,
    pub ideal_chain_maxlen: ::std::os::raw::c_uint,
    pub nonideal_items: ::std::os::raw::c_uint,
    pub ineff_expands: ::std::os::raw::c_uint,
    pub noexpand: ::std::os::raw::c_uint,
    pub signature: u32,
}
#[test]
fn bindgen_test_layout_UT_hash_table() {
    assert_eq!(
        ::std::mem::size_of::<UT_hash_table>(),
        64usize,
        concat!("Size of: ", stringify!(UT_hash_table))
    );
    assert_eq!(
        ::std::mem::align_of::<UT_hash_table>(),
        8usize,
        concat!("Alignment of ", stringify!(UT_hash_table))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).buckets as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(buckets)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).num_buckets as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(num_buckets)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).log2_num_buckets as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(log2_num_buckets)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).num_items as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(num_items)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).tail as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(tail)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).hho as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(hho)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<UT_hash_table>())).ideal_chain_maxlen as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(ideal_chain_maxlen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).nonideal_items as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(nonideal_items)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).ineff_expands as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(ineff_expands)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).noexpand as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(noexpand)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_table>())).signature as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_table),
            "::",
            stringify!(signature)
        )
    );
}
impl Default for UT_hash_table {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct UT_hash_handle {
    pub tbl: *mut UT_hash_table,
    pub prev: *mut ::std::os::raw::c_void,
    pub next: *mut ::std::os::raw::c_void,
    pub hh_prev: *mut UT_hash_handle,
    pub hh_next: *mut UT_hash_handle,
    pub key: *mut ::std::os::raw::c_void,
    pub keylen: ::std::os::raw::c_uint,
    pub hashv: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout_UT_hash_handle() {
    assert_eq!(
        ::std::mem::size_of::<UT_hash_handle>(),
        56usize,
        concat!("Size of: ", stringify!(UT_hash_handle))
    );
    assert_eq!(
        ::std::mem::align_of::<UT_hash_handle>(),
        8usize,
        concat!("Alignment of ", stringify!(UT_hash_handle))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_handle>())).tbl as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_handle),
            "::",
            stringify!(tbl)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_handle>())).prev as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_handle),
            "::",
            stringify!(prev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_handle>())).next as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_handle),
            "::",
            stringify!(next)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_handle>())).hh_prev as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_handle),
            "::",
            stringify!(hh_prev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_handle>())).hh_next as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_handle),
            "::",
            stringify!(hh_next)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_handle>())).key as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_handle),
            "::",
            stringify!(key)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_handle>())).keylen as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_handle),
            "::",
            stringify!(keylen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<UT_hash_handle>())).hashv as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(UT_hash_handle),
            "::",
            stringify!(hashv)
        )
    );
}
impl Default for UT_hash_handle {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct stat {
    pub st_dev: __dev_t,
    pub st_ino: __ino_t,
    pub st_nlink: __nlink_t,
    pub st_mode: __mode_t,
    pub st_uid: __uid_t,
    pub st_gid: __gid_t,
    pub __pad0: ::std::os::raw::c_int,
    pub st_rdev: __dev_t,
    pub st_size: __off_t,
    pub st_blksize: __blksize_t,
    pub st_blocks: __blkcnt_t,
    pub st_atim: timespec,
    pub st_mtim: timespec,
    pub st_ctim: timespec,
    pub __glibc_reserved: [__syscall_slong_t; 3usize],
}
#[test]
fn bindgen_test_layout_stat() {
    assert_eq!(
        ::std::mem::size_of::<stat>(),
        144usize,
        concat!("Size of: ", stringify!(stat))
    );
    assert_eq!(
        ::std::mem::align_of::<stat>(),
        8usize,
        concat!("Alignment of ", stringify!(stat))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_dev as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_dev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_ino as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_ino)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_nlink as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_nlink)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_mode as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_mode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_uid as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_uid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_gid as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_gid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).__pad0 as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(__pad0)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_rdev as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_rdev)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_size as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_blksize as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_blksize)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_blocks as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_blocks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_atim as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_atim)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_mtim as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_mtim)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).st_ctim as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(st_ctim)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<stat>())).__glibc_reserved as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(stat),
            "::",
            stringify!(__glibc_reserved)
        )
    );
}
extern "C" {
    pub fn stat(__file: *const ::std::os::raw::c_char, __buf: *mut stat) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fstat(__fd: ::std::os::raw::c_int, __buf: *mut stat) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fstatat(
        __fd: ::std::os::raw::c_int,
        __file: *const ::std::os::raw::c_char,
        __buf: *mut stat,
        __flag: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn lstat(__file: *const ::std::os::raw::c_char, __buf: *mut stat) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn chmod(__file: *const ::std::os::raw::c_char, __mode: __mode_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn lchmod(__file: *const ::std::os::raw::c_char, __mode: __mode_t)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fchmod(__fd: ::std::os::raw::c_int, __mode: __mode_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fchmodat(
        __fd: ::std::os::raw::c_int,
        __file: *const ::std::os::raw::c_char,
        __mode: __mode_t,
        __flag: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn umask(__mask: __mode_t) -> __mode_t;
}
extern "C" {
    pub fn mkdir(__path: *const ::std::os::raw::c_char, __mode: __mode_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkdirat(
        __fd: ::std::os::raw::c_int,
        __path: *const ::std::os::raw::c_char,
        __mode: __mode_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mknod(
        __path: *const ::std::os::raw::c_char,
        __mode: __mode_t,
        __dev: __dev_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mknodat(
        __fd: ::std::os::raw::c_int,
        __path: *const ::std::os::raw::c_char,
        __mode: __mode_t,
        __dev: __dev_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkfifo(__path: *const ::std::os::raw::c_char, __mode: __mode_t)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkfifoat(
        __fd: ::std::os::raw::c_int,
        __path: *const ::std::os::raw::c_char,
        __mode: __mode_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn utimensat(
        __fd: ::std::os::raw::c_int,
        __path: *const ::std::os::raw::c_char,
        __times: *const timespec,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn futimens(__fd: ::std::os::raw::c_int, __times: *const timespec)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __fxstat(
        __ver: ::std::os::raw::c_int,
        __fildes: ::std::os::raw::c_int,
        __stat_buf: *mut stat,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __xstat(
        __ver: ::std::os::raw::c_int,
        __filename: *const ::std::os::raw::c_char,
        __stat_buf: *mut stat,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __lxstat(
        __ver: ::std::os::raw::c_int,
        __filename: *const ::std::os::raw::c_char,
        __stat_buf: *mut stat,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __fxstatat(
        __ver: ::std::os::raw::c_int,
        __fildes: ::std::os::raw::c_int,
        __filename: *const ::std::os::raw::c_char,
        __stat_buf: *mut stat,
        __flag: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __xmknod(
        __ver: ::std::os::raw::c_int,
        __path: *const ::std::os::raw::c_char,
        __mode: __mode_t,
        __dev: *mut __dev_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __xmknodat(
        __ver: ::std::os::raw::c_int,
        __fd: ::std::os::raw::c_int,
        __path: *const ::std::os::raw::c_char,
        __mode: __mode_t,
        __dev: *mut __dev_t,
    ) -> ::std::os::raw::c_int;
}
pub type boolean = i32;
pub const _FcitxTriState_Tri_False: _FcitxTriState = 0;
pub const _FcitxTriState_Tri_True: _FcitxTriState = 1;
pub const _FcitxTriState_Tri_Unknown: _FcitxTriState = 2;
pub type _FcitxTriState = u32;
pub use self::_FcitxTriState as FcitxTriState;
extern "C" {
    #[link_name = "\u{1}fcitx_ptr_icd"]
    pub static fcitx_ptr_icd: *const UT_icd;
}
extern "C" {
    #[link_name = "\u{1}fcitx_str_icd"]
    pub static fcitx_str_icd: *const UT_icd;
}
extern "C" {
    #[link_name = "\u{1}fcitx_int_icd"]
    pub static fcitx_int_icd: *const UT_icd;
}
extern "C" {
    #[link_name = "\u{1}fcitx_int8_icd"]
    pub static fcitx_int8_icd: *const UT_icd;
}
extern "C" {
    #[link_name = "\u{1}fcitx_int16_icd"]
    pub static fcitx_int16_icd: *const UT_icd;
}
extern "C" {
    #[link_name = "\u{1}fcitx_int32_icd"]
    pub static fcitx_int32_icd: *const UT_icd;
}
extern "C" {
    #[link_name = "\u{1}fcitx_int64_icd"]
    pub static fcitx_int64_icd: *const UT_icd;
}
pub type FcitxDestroyNotify =
    ::std::option::Option<unsafe extern "C" fn(p: *mut ::std::os::raw::c_void)>;
pub type FcitxCallBack = ::std::option::Option<unsafe extern "C" fn()>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxStringHashSet {
    pub name: *mut ::std::os::raw::c_char,
    pub hh: UT_hash_handle,
}
#[test]
fn bindgen_test_layout__FcitxStringHashSet() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxStringHashSet>(),
        64usize,
        concat!("Size of: ", stringify!(_FcitxStringHashSet))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxStringHashSet>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxStringHashSet))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxStringHashSet>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxStringHashSet),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxStringHashSet>())).hh as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxStringHashSet),
            "::",
            stringify!(hh)
        )
    );
}
impl Default for _FcitxStringHashSet {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxStringHashSet = _FcitxStringHashSet;
extern "C" {
    pub fn fcitx_utils_custom_bsearch(
        key: *const ::std::os::raw::c_void,
        base: *const ::std::os::raw::c_void,
        nmemb: usize,
        size: usize,
        accurate: ::std::os::raw::c_int,
        compar: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *const ::std::os::raw::c_void,
                arg2: *const ::std::os::raw::c_void,
            ) -> ::std::os::raw::c_int,
        >,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn fcitx_utils_init_as_daemon();
}
extern "C" {
    pub fn fcitx_utils_calculate_record_number(fpDict: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_new_string_list() -> *mut UT_array;
}
extern "C" {
    pub fn fcitx_utils_split_string(
        str: *const ::std::os::raw::c_char,
        delm: ::std::os::raw::c_char,
    ) -> *mut UT_array;
}
extern "C" {
    pub fn fcitx_utils_string_list_printf_append(
        list: *mut UT_array,
        fmt: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn fcitx_utils_join_string_list(
        list: *mut UT_array,
        delm: ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_string_list_contains(
        list: *mut UT_array,
        scmp: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_free_string_list(list: *mut UT_array);
}
extern "C" {
    pub fn fcitx_utils_free_string_hash_set(sset: *mut FcitxStringHashSet);
}
extern "C" {
    pub fn fcitx_utils_string_hash_set_compare(
        sseta: *mut FcitxStringHashSet,
        ssetb: *mut FcitxStringHashSet,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_string_hash_set_insert(
        sset: *mut FcitxStringHashSet,
        str: *const ::std::os::raw::c_char,
    ) -> *mut FcitxStringHashSet;
}
extern "C" {
    pub fn fcitx_utils_string_hash_set_insert_len(
        sset: *mut FcitxStringHashSet,
        str: *const ::std::os::raw::c_char,
        len: usize,
    ) -> *mut FcitxStringHashSet;
}
extern "C" {
    pub fn fcitx_utils_string_hash_set_contains(
        sset: *mut FcitxStringHashSet,
        str: *const ::std::os::raw::c_char,
    ) -> boolean;
}
extern "C" {
    pub fn fcitx_util_string_hash_set_remove(
        sset: *mut FcitxStringHashSet,
        str: *const ::std::os::raw::c_char,
    ) -> *mut FcitxStringHashSet;
}
extern "C" {
    pub fn fcitx_utils_string_hash_set_join(
        sset: *mut FcitxStringHashSet,
        delim: ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_string_hash_set_parse(
        str: *const ::std::os::raw::c_char,
        delim: ::std::os::raw::c_char,
    ) -> *mut FcitxStringHashSet;
}
extern "C" {
    pub fn fcitx_utils_trim(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_malloc0(bytes: usize) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn fcitx_utils_get_display_number() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_get_current_langcode() -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_current_locale_is_utf8() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_get_process_name() -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_pid_exists(pid: pid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_get_fcitx_path(
        type_: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_get_fcitx_path_with_filename(
        type_: *const ::std::os::raw::c_char,
        filename: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_launch_tool(
        name: *const ::std::os::raw::c_char,
        arg: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn fcitx_utils_launch_configure_tool();
}
extern "C" {
    pub fn fcitx_utils_launch_configure_tool_for_addon(addon: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn fcitx_utils_launch_restart();
}
extern "C" {
    pub fn fcitx_utils_restart_in_place();
}
extern "C" {
    pub fn fcitx_utils_start_process(args: *mut *mut ::std::os::raw::c_char);
}
extern "C" {
    pub fn fcitx_utils_backtrace();
}
extern "C" {
    pub fn fcitx_utils_get_boolean_env(
        name: *const ::std::os::raw::c_char,
        defval: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_string_swap(
        obj: *mut *mut ::std::os::raw::c_char,
        str: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn fcitx_utils_string_swap_with_len(
        obj: *mut *mut ::std::os::raw::c_char,
        str: *const ::std::os::raw::c_char,
        len: usize,
    );
}
extern "C" {
    pub fn fcitx_utils_strcmp0(
        a: *const ::std::os::raw::c_char,
        b: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_strcmp_empty(
        a: *const ::std::os::raw::c_char,
        b: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fcitx_utils_read_uint32(fp: *mut FILE, p: *mut u32) -> usize;
}
extern "C" {
    pub fn fcitx_utils_write_uint32(fp: *mut FILE, i: u32) -> usize;
}
extern "C" {
    pub fn fcitx_utils_read_uint64(fp: *mut FILE, p: *mut u64) -> usize;
}
extern "C" {
    pub fn fcitx_utils_write_uint64(fp: *mut FILE, i: u64) -> usize;
}
extern "C" {
    pub fn fcitx_utils_read_uint16(fp: *mut FILE, p: *mut u16) -> usize;
}
extern "C" {
    pub fn fcitx_utils_write_uint16(fp: *mut FILE, i: u16) -> usize;
}
extern "C" {
    pub fn fcitx_utils_str_lens(
        n: usize,
        str_list: *mut *const ::std::os::raw::c_char,
        size_list: *mut usize,
    ) -> usize;
}
extern "C" {
    pub fn fcitx_utils_cat_str(
        out: *mut ::std::os::raw::c_char,
        n: usize,
        str_list: *mut *const ::std::os::raw::c_char,
        size_list: *const usize,
    );
}
extern "C" {
    pub fn fcitx_utils_cat_str_with_len(
        out: *mut ::std::os::raw::c_char,
        len: usize,
        n: usize,
        str_list: *mut *const ::std::os::raw::c_char,
        size_list: *const usize,
    );
}
extern "C" {
    pub fn fcitx_utils_set_str_with_len(
        res: *mut ::std::os::raw::c_char,
        str: *const ::std::os::raw::c_char,
        len: usize,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_unescape_char(c: ::std::os::raw::c_char) -> ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_unescape_str_inplace(
        str: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_set_unescape_str(
        res: *mut ::std::os::raw::c_char,
        str: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_escape_char(c: ::std::os::raw::c_char) -> ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_set_escape_str_with_set(
        res: *mut ::std::os::raw::c_char,
        str: *const ::std::os::raw::c_char,
        set: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcitx_utils_append_split_string(
        list: *mut UT_array,
        str: *const ::std::os::raw::c_char,
        delm: *const ::std::os::raw::c_char,
    ) -> *mut UT_array;
}
extern "C" {
    pub fn fcitx_utils_string_list_append_no_copy(
        list: *mut UT_array,
        str: *mut ::std::os::raw::c_char,
    ) -> *mut UT_array;
}
extern "C" {
    pub fn fcitx_utils_string_list_append_len(
        list: *mut UT_array,
        str: *const ::std::os::raw::c_char,
        len: usize,
    ) -> *mut UT_array;
}
extern "C" {
    pub fn fcitx_utils_atomic_add(atomic: *mut i32, val: i32) -> i32;
}
extern "C" {
    pub fn fcitx_utils_atomic_and(atomic: *mut u32, val: u32) -> u32;
}
extern "C" {
    pub fn fcitx_utils_atomic_or(atomic: *mut u32, val: u32) -> u32;
}
extern "C" {
    pub fn fcitx_utils_atomic_xor(atomic: *mut u32, val: u32) -> u32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxHotkey {
    pub desc: *mut ::std::os::raw::c_char,
    pub sym: FcitxKeySym,
    pub state: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout__FcitxHotkey() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxHotkey>(),
        16usize,
        concat!("Size of: ", stringify!(_FcitxHotkey))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxHotkey>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxHotkey))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxHotkey>())).desc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxHotkey),
            "::",
            stringify!(desc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxHotkey>())).sym as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxHotkey),
            "::",
            stringify!(sym)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxHotkey>())).state as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxHotkey),
            "::",
            stringify!(state)
        )
    );
}
impl Default for _FcitxHotkey {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxHotkey = _FcitxHotkey;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxHotkeys {
    pub hotkey: [FcitxHotkey; 2usize],
}
#[test]
fn bindgen_test_layout__FcitxHotkeys() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxHotkeys>(),
        32usize,
        concat!("Size of: ", stringify!(_FcitxHotkeys))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxHotkeys>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxHotkeys))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxHotkeys>())).hotkey as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxHotkeys),
            "::",
            stringify!(hotkey)
        )
    );
}
impl Default for _FcitxHotkeys {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxHotkeys = _FcitxHotkeys;
extern "C" {
    pub fn FcitxHotkeySetKey(strKey: *const ::std::os::raw::c_char, hotkey: *mut FcitxHotkey);
}
extern "C" {
    pub fn FcitxHotkeyGetKey(
        keysym: FcitxKeySym,
        iKeyState: ::std::os::raw::c_uint,
        outk: *mut FcitxKeySym,
        outs: *mut ::std::os::raw::c_uint,
    );
}
extern "C" {
    pub fn FcitxHotkeyParseKey(
        strKey: *const ::std::os::raw::c_char,
        sym: *mut FcitxKeySym,
        state: *mut ::std::os::raw::c_uint,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxHotkeyGetKeyString(
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxHotkeyGetReadableKeyString(
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxHotkeyIsHotKeyDigit(sym: FcitxKeySym, state: ::std::os::raw::c_uint) -> boolean;
}
extern "C" {
    pub fn FcitxHotkeyIsHotKeyUAZ(sym: FcitxKeySym, state: ::std::os::raw::c_uint) -> boolean;
}
extern "C" {
    pub fn FcitxHotkeyIsHotKeyLAZ(sym: FcitxKeySym, state: ::std::os::raw::c_uint) -> boolean;
}
extern "C" {
    pub fn FcitxHotkeyIsHotKeySimple(sym: FcitxKeySym, state: ::std::os::raw::c_uint) -> boolean;
}
extern "C" {
    pub fn FcitxHotkeyIsHotKeyModifierCombine(
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxHotkeyIsHotKey(
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
        hotkey: *const FcitxHotkey,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxHotkeyIsKey(
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
        symcmp: FcitxKeySym,
        statecmp: ::std::os::raw::c_uint,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxHotkeyIsHotkeyCursorMove(
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxHotkeyPadToMain(sym: FcitxKeySym) -> FcitxKeySym;
}
extern "C" {
    pub fn FcitxHotkeyModifierToState(sym: FcitxKeySym) -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn FcitxHotkeyFree(hotkey: *mut FcitxHotkey);
}
extern "C" {
    pub fn FcitxUnicodeToKeySym(wc: u32) -> FcitxKeySym;
}
extern "C" {
    pub fn FcitxKeySymToUnicode(keyval: FcitxKeySym) -> u32;
}
extern "C" {
    pub fn __errno_location() -> *mut ::std::os::raw::c_int;
}
pub const _FcitxLogLevel_FCITX_DEBUG: _FcitxLogLevel = 0;
pub const _FcitxLogLevel_FCITX_ERROR: _FcitxLogLevel = 1;
pub const _FcitxLogLevel_FCITX_INFO: _FcitxLogLevel = 2;
pub const _FcitxLogLevel_FCITX_FATAL: _FcitxLogLevel = 3;
pub const _FcitxLogLevel_FCITX_WARNING: _FcitxLogLevel = 4;
pub const _FcitxLogLevel_FCITX_NONE: _FcitxLogLevel = 5;
pub type _FcitxLogLevel = u32;
pub use self::_FcitxLogLevel as FcitxLogLevel;
pub use self::_FcitxLogLevel as ErrorLevel;
extern "C" {
    pub fn FcitxLogFunc(
        level: FcitxLogLevel,
        filename: *const ::std::os::raw::c_char,
        line: ::std::os::raw::c_int,
        fmt: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn FcitxLogFuncV(
        e: FcitxLogLevel,
        filename: *const ::std::os::raw::c_char,
        line: ::std::os::raw::c_int,
        fmt: *const ::std::os::raw::c_char,
        ap: *mut __va_list_tag,
    );
}
extern "C" {
    pub fn FcitxLogSetLevel(e: FcitxLogLevel);
}
extern "C" {
    pub fn FcitxLogGetLevel() -> FcitxLogLevel;
}
extern "C" {
    pub fn FcitxXDGGetLibFile(
        filename: *const ::std::os::raw::c_char,
        mode: *const ::std::os::raw::c_char,
        retFile: *mut *mut ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn FcitxXDGGetLibPath(len: *mut usize) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxXDGGetPathWithPrefix(
        len: *mut usize,
        prefix: *const ::std::os::raw::c_char,
    ) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxXDGGetPathUserWithPrefix(
        len: *mut usize,
        prefix: *const ::std::os::raw::c_char,
    ) -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxXDGGetFileWithPrefix(
        prefix: *const ::std::os::raw::c_char,
        fileName: *const ::std::os::raw::c_char,
        mode: *const ::std::os::raw::c_char,
        retFile: *mut *mut ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn FcitxXDGGetFileUserWithPrefix(
        prefix: *const ::std::os::raw::c_char,
        fileName: *const ::std::os::raw::c_char,
        mode: *const ::std::os::raw::c_char,
        retFile: *mut *mut ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn FcitxXDGMakeDirUser(prefix: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn FcitxXDGFreePath(path: *mut *mut ::std::os::raw::c_char);
}
extern "C" {
    pub fn FcitxXDGGetFiles(
        path: *const ::std::os::raw::c_char,
        prefix: *const ::std::os::raw::c_char,
        suffix: *const ::std::os::raw::c_char,
    ) -> *mut FcitxStringHashSet;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct _FcitxConfigColor {
    pub r: f64,
    pub g: f64,
    pub b: f64,
}
#[test]
fn bindgen_test_layout__FcitxConfigColor() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigColor>(),
        24usize,
        concat!("Size of: ", stringify!(_FcitxConfigColor))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigColor>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigColor))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigColor>())).r as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigColor),
            "::",
            stringify!(r)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigColor>())).g as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigColor),
            "::",
            stringify!(g)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigColor>())).b as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigColor),
            "::",
            stringify!(b)
        )
    );
}
pub type FcitxConfigColor = _FcitxConfigColor;
pub const _FcitxConfigType_T_Integer: _FcitxConfigType = 0;
pub const _FcitxConfigType_T_Color: _FcitxConfigType = 1;
pub const _FcitxConfigType_T_String: _FcitxConfigType = 2;
pub const _FcitxConfigType_T_Char: _FcitxConfigType = 3;
pub const _FcitxConfigType_T_Boolean: _FcitxConfigType = 4;
pub const _FcitxConfigType_T_Enum: _FcitxConfigType = 5;
pub const _FcitxConfigType_T_File: _FcitxConfigType = 6;
pub const _FcitxConfigType_T_Hotkey: _FcitxConfigType = 7;
pub const _FcitxConfigType_T_Font: _FcitxConfigType = 8;
pub const _FcitxConfigType_T_I18NString: _FcitxConfigType = 9;
pub type _FcitxConfigType = u32;
pub use self::_FcitxConfigType as FcitxConfigType;
pub const _FcitxConfigSync_Raw2Value: _FcitxConfigSync = 0;
pub const _FcitxConfigSync_Value2Raw: _FcitxConfigSync = 1;
pub const _FcitxConfigSync_ValueFree: _FcitxConfigSync = 2;
pub type _FcitxConfigSync = u32;
pub use self::_FcitxConfigSync as FcitxConfigSync;
pub const _FcitxConfigSyncResult_SyncSuccess: _FcitxConfigSyncResult = 0;
pub const _FcitxConfigSyncResult_SyncNoBinding: _FcitxConfigSyncResult = 1;
pub const _FcitxConfigSyncResult_SyncInvalid: _FcitxConfigSyncResult = 2;
pub type _FcitxConfigSyncResult = u32;
pub use self::_FcitxConfigSyncResult as FcitxConfigSyncResult;
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxConfigValueType {
    pub untype: *mut ::std::os::raw::c_void,
    pub integer: *mut ::std::os::raw::c_int,
    pub boolvalue: *mut boolean,
    pub hotkey: *mut _FcitxHotkey,
    pub color: *mut FcitxConfigColor,
    pub enumerate: *mut ::std::os::raw::c_int,
    pub string: *mut *mut ::std::os::raw::c_char,
    pub chr: *mut ::std::os::raw::c_char,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__FcitxConfigValueType() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigValueType>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxConfigValueType))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigValueType>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigValueType))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigValueType>())).untype as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigValueType),
            "::",
            stringify!(untype)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigValueType>())).integer as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigValueType),
            "::",
            stringify!(integer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigValueType>())).boolvalue as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigValueType),
            "::",
            stringify!(boolvalue)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigValueType>())).hotkey as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigValueType),
            "::",
            stringify!(hotkey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigValueType>())).color as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigValueType),
            "::",
            stringify!(color)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigValueType>())).enumerate as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigValueType),
            "::",
            stringify!(enumerate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigValueType>())).string as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigValueType),
            "::",
            stringify!(string)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigValueType>())).chr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigValueType),
            "::",
            stringify!(chr)
        )
    );
}
impl Default for _FcitxConfigValueType {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxConfigValueType = _FcitxConfigValueType;
pub type FcitxConfigGroup = _FcitxConfigGroup;
pub type FcitxConfigOption = _FcitxConfigOption;
pub type FcitxConfigFileDesc = _FcitxConfigFileDesc;
pub type FcitxConfigGroupDesc = _FcitxConfigGroupDesc;
pub type FcitxConfigOptionDesc = _FcitxConfigOptionDesc;
pub type FcitxConfigOptionDesc2 = _FcitxConfigOptionDesc2;
pub type FcitxGenericConfig = _FcitxGenericConfig;
pub type FcitxConfigOptionSubkey = _FcitxConfigOptionSubkey;
pub type FcitxConfigConstrain = _FcitxConfigConstrain;
pub type FcitxSyncFilter = ::std::option::Option<
    unsafe extern "C" fn(
        config: *mut FcitxGenericConfig,
        group: *mut FcitxConfigGroup,
        option: *mut FcitxConfigOption,
        value: *mut ::std::os::raw::c_void,
        sync: FcitxConfigSync,
        arg: *mut ::std::os::raw::c_void,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxConfigEnum {
    pub enumDesc: *mut *mut ::std::os::raw::c_char,
    pub enumCount: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__FcitxConfigEnum() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigEnum>(),
        16usize,
        concat!("Size of: ", stringify!(_FcitxConfigEnum))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigEnum>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigEnum))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigEnum>())).enumDesc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigEnum),
            "::",
            stringify!(enumDesc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigEnum>())).enumCount as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigEnum),
            "::",
            stringify!(enumCount)
        )
    );
}
impl Default for _FcitxConfigEnum {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxConfigEnum = _FcitxConfigEnum;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxConfigFile {
    pub fileDesc: *mut FcitxConfigFileDesc,
    pub groups: *mut FcitxConfigGroup,
}
#[test]
fn bindgen_test_layout__FcitxConfigFile() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigFile>(),
        16usize,
        concat!("Size of: ", stringify!(_FcitxConfigFile))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigFile>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigFile))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigFile>())).fileDesc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigFile),
            "::",
            stringify!(fileDesc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigFile>())).groups as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigFile),
            "::",
            stringify!(groups)
        )
    );
}
impl Default for _FcitxConfigFile {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxConfigFile = _FcitxConfigFile;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxGenericConfig {
    pub configFile: *mut FcitxConfigFile,
}
#[test]
fn bindgen_test_layout__FcitxGenericConfig() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxGenericConfig>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxGenericConfig))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxGenericConfig>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxGenericConfig))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxGenericConfig>())).configFile as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxGenericConfig),
            "::",
            stringify!(configFile)
        )
    );
}
impl Default for _FcitxGenericConfig {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxConfigOptionDesc {
    pub optionName: *mut ::std::os::raw::c_char,
    pub desc: *mut ::std::os::raw::c_char,
    pub type_: FcitxConfigType,
    pub rawDefaultValue: *mut ::std::os::raw::c_char,
    pub configEnum: FcitxConfigEnum,
    pub hh: UT_hash_handle,
}
#[test]
fn bindgen_test_layout__FcitxConfigOptionDesc() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigOptionDesc>(),
        104usize,
        concat!("Size of: ", stringify!(_FcitxConfigOptionDesc))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigOptionDesc>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigOptionDesc))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOptionDesc>())).optionName as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc),
            "::",
            stringify!(optionName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOptionDesc>())).desc as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc),
            "::",
            stringify!(desc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOptionDesc>())).type_ as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOptionDesc>())).rawDefaultValue as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc),
            "::",
            stringify!(rawDefaultValue)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOptionDesc>())).configEnum as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc),
            "::",
            stringify!(configEnum)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOptionDesc>())).hh as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc),
            "::",
            stringify!(hh)
        )
    );
}
impl Default for _FcitxConfigOptionDesc {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxConfigConstrain {
    pub integerConstrain: _FcitxConfigConstrain__bindgen_ty_1,
    pub stringConstrain: _FcitxConfigConstrain__bindgen_ty_2,
    pub hotkeyConstrain: _FcitxConfigConstrain__bindgen_ty_3,
    pub padding: [*mut ::std::os::raw::c_void; 10usize],
    _bindgen_union_align: [u64; 10usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct _FcitxConfigConstrain__bindgen_ty_1 {
    pub min: ::std::os::raw::c_int,
    pub max: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__FcitxConfigConstrain__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigConstrain__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxConfigConstrain__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigConstrain__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(_FcitxConfigConstrain__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigConstrain__bindgen_ty_1>())).min as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigConstrain__bindgen_ty_1),
            "::",
            stringify!(min)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigConstrain__bindgen_ty_1>())).max as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigConstrain__bindgen_ty_1),
            "::",
            stringify!(max)
        )
    );
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct _FcitxConfigConstrain__bindgen_ty_2 {
    pub maxLength: usize,
}
#[test]
fn bindgen_test_layout__FcitxConfigConstrain__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigConstrain__bindgen_ty_2>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxConfigConstrain__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigConstrain__bindgen_ty_2>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_FcitxConfigConstrain__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigConstrain__bindgen_ty_2>())).maxLength as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigConstrain__bindgen_ty_2),
            "::",
            stringify!(maxLength)
        )
    );
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct _FcitxConfigConstrain__bindgen_ty_3 {
    pub disallowNoModifer: boolean,
    pub allowModifierOnly: boolean,
}
#[test]
fn bindgen_test_layout__FcitxConfigConstrain__bindgen_ty_3() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigConstrain__bindgen_ty_3>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxConfigConstrain__bindgen_ty_3))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigConstrain__bindgen_ty_3>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(_FcitxConfigConstrain__bindgen_ty_3)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigConstrain__bindgen_ty_3>())).disallowNoModifer
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigConstrain__bindgen_ty_3),
            "::",
            stringify!(disallowNoModifer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigConstrain__bindgen_ty_3>())).allowModifierOnly
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigConstrain__bindgen_ty_3),
            "::",
            stringify!(allowModifierOnly)
        )
    );
}
#[test]
fn bindgen_test_layout__FcitxConfigConstrain() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigConstrain>(),
        80usize,
        concat!("Size of: ", stringify!(_FcitxConfigConstrain))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigConstrain>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigConstrain))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigConstrain>())).integerConstrain as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigConstrain),
            "::",
            stringify!(integerConstrain)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigConstrain>())).stringConstrain as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigConstrain),
            "::",
            stringify!(stringConstrain)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigConstrain>())).hotkeyConstrain as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigConstrain),
            "::",
            stringify!(hotkeyConstrain)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigConstrain>())).padding as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigConstrain),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxConfigConstrain {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _FcitxConfigOptionDesc2 {
    pub optionDesc: _FcitxConfigOptionDesc,
    pub advance: boolean,
    pub constrain: FcitxConfigConstrain,
    pub longDesc: *mut ::std::os::raw::c_char,
    pub padding: [*mut ::std::os::raw::c_void; 16usize],
}
#[test]
fn bindgen_test_layout__FcitxConfigOptionDesc2() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigOptionDesc2>(),
        328usize,
        concat!("Size of: ", stringify!(_FcitxConfigOptionDesc2))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigOptionDesc2>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigOptionDesc2))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOptionDesc2>())).optionDesc as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc2),
            "::",
            stringify!(optionDesc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOptionDesc2>())).advance as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc2),
            "::",
            stringify!(advance)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOptionDesc2>())).constrain as *const _ as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc2),
            "::",
            stringify!(constrain)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOptionDesc2>())).longDesc as *const _ as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc2),
            "::",
            stringify!(longDesc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOptionDesc2>())).padding as *const _ as usize },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionDesc2),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxConfigOptionDesc2 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxConfigGroupDesc {
    pub groupName: *mut ::std::os::raw::c_char,
    pub optionsDesc: *mut FcitxConfigOptionDesc,
    pub hh: UT_hash_handle,
}
#[test]
fn bindgen_test_layout__FcitxConfigGroupDesc() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigGroupDesc>(),
        72usize,
        concat!("Size of: ", stringify!(_FcitxConfigGroupDesc))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigGroupDesc>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigGroupDesc))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigGroupDesc>())).groupName as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigGroupDesc),
            "::",
            stringify!(groupName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigGroupDesc>())).optionsDesc as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigGroupDesc),
            "::",
            stringify!(optionsDesc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigGroupDesc>())).hh as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigGroupDesc),
            "::",
            stringify!(hh)
        )
    );
}
impl Default for _FcitxConfigGroupDesc {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxConfigFileDesc {
    pub groupsDesc: *mut FcitxConfigGroupDesc,
    pub domain: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout__FcitxConfigFileDesc() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigFileDesc>(),
        16usize,
        concat!("Size of: ", stringify!(_FcitxConfigFileDesc))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigFileDesc>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigFileDesc))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigFileDesc>())).groupsDesc as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigFileDesc),
            "::",
            stringify!(groupsDesc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigFileDesc>())).domain as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigFileDesc),
            "::",
            stringify!(domain)
        )
    );
}
impl Default for _FcitxConfigFileDesc {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _FcitxConfigOption {
    pub optionName: *mut ::std::os::raw::c_char,
    pub rawValue: *mut ::std::os::raw::c_char,
    pub value: FcitxConfigValueType,
    pub filter: FcitxSyncFilter,
    pub filterArg: *mut ::std::os::raw::c_void,
    pub __bindgen_anon_1: _FcitxConfigOption__bindgen_ty_1,
    pub subkey: *mut FcitxConfigOptionSubkey,
    pub hh: UT_hash_handle,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxConfigOption__bindgen_ty_1 {
    pub optionDesc: *mut FcitxConfigOptionDesc,
    pub optionDesc2: *mut FcitxConfigOptionDesc2,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__FcitxConfigOption__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigOption__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxConfigOption__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigOption__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_FcitxConfigOption__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOption__bindgen_ty_1>())).optionDesc as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOption__bindgen_ty_1),
            "::",
            stringify!(optionDesc)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOption__bindgen_ty_1>())).optionDesc2 as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOption__bindgen_ty_1),
            "::",
            stringify!(optionDesc2)
        )
    );
}
impl Default for _FcitxConfigOption__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout__FcitxConfigOption() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigOption>(),
        112usize,
        concat!("Size of: ", stringify!(_FcitxConfigOption))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigOption>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigOption))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOption>())).optionName as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOption),
            "::",
            stringify!(optionName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOption>())).rawValue as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOption),
            "::",
            stringify!(rawValue)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOption>())).value as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOption),
            "::",
            stringify!(value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOption>())).filter as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOption),
            "::",
            stringify!(filter)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOption>())).filterArg as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOption),
            "::",
            stringify!(filterArg)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOption>())).subkey as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOption),
            "::",
            stringify!(subkey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOption>())).hh as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOption),
            "::",
            stringify!(hh)
        )
    );
}
impl Default for _FcitxConfigOption {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxConfigOptionSubkey {
    pub subkeyName: *mut ::std::os::raw::c_char,
    pub rawValue: *mut ::std::os::raw::c_char,
    pub hh: UT_hash_handle,
}
#[test]
fn bindgen_test_layout__FcitxConfigOptionSubkey() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigOptionSubkey>(),
        72usize,
        concat!("Size of: ", stringify!(_FcitxConfigOptionSubkey))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigOptionSubkey>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigOptionSubkey))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOptionSubkey>())).subkeyName as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionSubkey),
            "::",
            stringify!(subkeyName)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfigOptionSubkey>())).rawValue as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionSubkey),
            "::",
            stringify!(rawValue)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigOptionSubkey>())).hh as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigOptionSubkey),
            "::",
            stringify!(hh)
        )
    );
}
impl Default for _FcitxConfigOptionSubkey {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxConfigGroup {
    pub groupName: *mut ::std::os::raw::c_char,
    pub groupDesc: *mut FcitxConfigGroupDesc,
    pub options: *mut FcitxConfigOption,
    pub hh: UT_hash_handle,
}
#[test]
fn bindgen_test_layout__FcitxConfigGroup() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfigGroup>(),
        80usize,
        concat!("Size of: ", stringify!(_FcitxConfigGroup))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfigGroup>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfigGroup))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigGroup>())).groupName as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigGroup),
            "::",
            stringify!(groupName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigGroup>())).groupDesc as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigGroup),
            "::",
            stringify!(groupDesc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigGroup>())).options as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigGroup),
            "::",
            stringify!(options)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfigGroup>())).hh as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfigGroup),
            "::",
            stringify!(hh)
        )
    );
}
impl Default for _FcitxConfigGroup {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
extern "C" {
    pub fn FcitxConfigParseConfigFile(
        filename: *mut ::std::os::raw::c_char,
        cfdesc: *mut FcitxConfigFileDesc,
    ) -> *mut FcitxConfigFile;
}
extern "C" {
    pub fn FcitxConfigParseMultiConfigFile(
        filename: *mut *mut ::std::os::raw::c_char,
        len: ::std::os::raw::c_int,
        cfdesc: *mut FcitxConfigFileDesc,
    ) -> *mut FcitxConfigFile;
}
extern "C" {
    pub fn FcitxConfigParseConfigFileFp(
        fp: *mut FILE,
        fileDesc: *mut FcitxConfigFileDesc,
    ) -> *mut FcitxConfigFile;
}
extern "C" {
    pub fn FcitxConfigParseMultiConfigFileFp(
        fp: *mut *mut FILE,
        len: ::std::os::raw::c_int,
        fileDesc: *mut FcitxConfigFileDesc,
    ) -> *mut FcitxConfigFile;
}
extern "C" {
    pub fn FcitxConfigCheckConfigFile(
        configFile: *mut FcitxConfigFile,
        fileDesc: *mut FcitxConfigFileDesc,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxConfigParseConfigFileDesc(
        filename: *mut ::std::os::raw::c_char,
    ) -> *mut FcitxConfigFileDesc;
}
extern "C" {
    pub fn FcitxConfigParseConfigFileDescFp(fp: *mut FILE) -> *mut FcitxConfigFileDesc;
}
extern "C" {
    pub fn FcitxConfigParseIni(
        filename: *mut ::std::os::raw::c_char,
        reuse: *mut FcitxConfigFile,
    ) -> *mut FcitxConfigFile;
}
extern "C" {
    pub fn FcitxConfigParseIniFp(
        fp: *mut FILE,
        reuse: *mut FcitxConfigFile,
    ) -> *mut FcitxConfigFile;
}
extern "C" {
    pub fn FcitxConfigFreeConfigFile(cfile: *mut FcitxConfigFile);
}
extern "C" {
    pub fn FcitxConfigFreeConfigFileDesc(cfdesc: *mut FcitxConfigFileDesc);
}
extern "C" {
    pub fn FcitxConfigFreeConfigGroup(group: *mut FcitxConfigGroup);
}
extern "C" {
    pub fn FcitxConfigFreeConfigGroupDesc(cgdesc: *mut FcitxConfigGroupDesc);
}
extern "C" {
    pub fn FcitxConfigFreeConfigOption(option: *mut FcitxConfigOption);
}
extern "C" {
    pub fn FcitxConfigFreeConfigOptionDesc(codesc: *mut FcitxConfigOptionDesc);
}
extern "C" {
    pub fn FcitxConfigSaveConfigFile(
        filename: *mut ::std::os::raw::c_char,
        cfile: *mut FcitxGenericConfig,
        cdesc: *mut FcitxConfigFileDesc,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxConfigSaveConfigFileFp(
        fp: *mut FILE,
        cfile: *mut FcitxGenericConfig,
        cdesc: *mut FcitxConfigFileDesc,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxConfigSyncValue(
        config: *mut FcitxGenericConfig,
        group: *mut FcitxConfigGroup,
        option: *mut FcitxConfigOption,
        sync: FcitxConfigSync,
    );
}
extern "C" {
    pub fn FcitxConfigGetBindValue(
        config: *mut FcitxGenericConfig,
        group: *const ::std::os::raw::c_char,
        option: *const ::std::os::raw::c_char,
    ) -> FcitxConfigValueType;
}
extern "C" {
    pub fn FcitxConfigDescGetOptionDesc(
        cfdesc: *mut FcitxConfigFileDesc,
        groupName: *const ::std::os::raw::c_char,
        optionName: *const ::std::os::raw::c_char,
    ) -> *const FcitxConfigOptionDesc;
}
extern "C" {
    pub fn FcitxConfigFileGetOption(
        cfile: *mut FcitxConfigFile,
        groupName: *const ::std::os::raw::c_char,
        optionName: *const ::std::os::raw::c_char,
    ) -> *mut FcitxConfigOption;
}
extern "C" {
    pub fn FcitxConfigOptionGetLocaleString(
        option: *mut FcitxConfigOption,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxConfigBindSync(config: *mut FcitxGenericConfig);
}
extern "C" {
    pub fn FcitxConfigResetConfigToDefaultValue(config: *mut FcitxGenericConfig);
}
extern "C" {
    pub fn FcitxConfigBindValue(
        cfile: *mut FcitxConfigFile,
        groupName: *const ::std::os::raw::c_char,
        optionName: *const ::std::os::raw::c_char,
        var: *mut ::std::os::raw::c_void,
        filter: FcitxSyncFilter,
        arg: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn FcitxConfigFree(config: *mut FcitxGenericConfig);
}
pub type FcitxMenuItem = _FcitxMenuItem;
pub const _FcitxMenuState_MENU_ACTIVE: _FcitxMenuState = 0;
pub const _FcitxMenuState_MENU_INACTIVE: _FcitxMenuState = 1;
pub type _FcitxMenuState = u32;
pub use self::_FcitxMenuState as FcitxMenuState;
pub const _FcitxMenuItemType_MENUTYPE_SIMPLE: _FcitxMenuItemType = 0;
pub const _FcitxMenuItemType_MENUTYPE_SUBMENU: _FcitxMenuItemType = 1;
pub const _FcitxMenuItemType_MENUTYPE_DIVLINE: _FcitxMenuItemType = 2;
pub type _FcitxMenuItemType = u32;
pub use self::_FcitxMenuItemType as FcitxMenuItemType;
pub type FcitxMenuActionFunction = ::std::option::Option<
    unsafe extern "C" fn(arg: *mut _FcitxUIMenu, index: ::std::os::raw::c_int) -> boolean,
>;
pub type FcitxUpdateMenuFunction =
    ::std::option::Option<unsafe extern "C" fn(arg: *mut _FcitxUIMenu)>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _FcitxMenuItem {
    pub tipstr: *mut ::std::os::raw::c_char,
    pub isselect: ::std::os::raw::c_int,
    pub type_: FcitxMenuItemType,
    pub subMenu: *mut _FcitxUIMenu,
    pub __bindgen_anon_1: _FcitxMenuItem__bindgen_ty_1,
    pub padding: [::std::os::raw::c_int; 14usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxMenuItem__bindgen_ty_1 {
    pub data: *mut ::std::os::raw::c_void,
    pub dummy: [::std::os::raw::c_int; 2usize],
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__FcitxMenuItem__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxMenuItem__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxMenuItem__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxMenuItem__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxMenuItem__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxMenuItem__bindgen_ty_1>())).data as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxMenuItem__bindgen_ty_1),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxMenuItem__bindgen_ty_1>())).dummy as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxMenuItem__bindgen_ty_1),
            "::",
            stringify!(dummy)
        )
    );
}
impl Default for _FcitxMenuItem__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout__FcitxMenuItem() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxMenuItem>(),
        88usize,
        concat!("Size of: ", stringify!(_FcitxMenuItem))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxMenuItem>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxMenuItem))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxMenuItem>())).tipstr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxMenuItem),
            "::",
            stringify!(tipstr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxMenuItem>())).isselect as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxMenuItem),
            "::",
            stringify!(isselect)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxMenuItem>())).type_ as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxMenuItem),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxMenuItem>())).subMenu as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxMenuItem),
            "::",
            stringify!(subMenu)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxMenuItem>())).padding as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxMenuItem),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxMenuItem {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxUIMenu {
    pub shell: UT_array,
    pub name: *mut ::std::os::raw::c_char,
    pub candStatusBind: *mut ::std::os::raw::c_char,
    pub UpdateMenu: FcitxUpdateMenuFunction,
    pub MenuAction: FcitxMenuActionFunction,
    pub priv_: *mut ::std::os::raw::c_void,
    pub uipriv: [*mut ::std::os::raw::c_void; 2usize],
    pub isSubMenu: boolean,
    pub mark: ::std::os::raw::c_int,
    pub visible: boolean,
    pub padding: [::std::os::raw::c_int; 15usize],
}
#[test]
fn bindgen_test_layout__FcitxUIMenu() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxUIMenu>(),
        152usize,
        concat!("Size of: ", stringify!(_FcitxUIMenu))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxUIMenu>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxUIMenu))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).shell as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(shell)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).name as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).candStatusBind as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(candStatusBind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).UpdateMenu as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(UpdateMenu)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).MenuAction as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(MenuAction)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).priv_ as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(priv_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).uipriv as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(uipriv)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).isSubMenu as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(isSubMenu)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).mark as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(mark)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).visible as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(visible)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIMenu>())).padding as *const _ as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIMenu),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxUIMenu {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxUIStatus {
    pub name: *mut ::std::os::raw::c_char,
    pub shortDescription: *mut ::std::os::raw::c_char,
    pub longDescription: *mut ::std::os::raw::c_char,
    pub toggleStatus: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub getCurrentStatus:
        ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> boolean>,
    pub uipriv: [*mut ::std::os::raw::c_void; 2usize],
    pub arg: *mut ::std::os::raw::c_void,
    pub visible: boolean,
    pub padding: [::std::os::raw::c_int; 16usize],
}
#[test]
fn bindgen_test_layout__FcitxUIStatus() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxUIStatus>(),
        136usize,
        concat!("Size of: ", stringify!(_FcitxUIStatus))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxUIStatus>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxUIStatus))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIStatus>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIStatus),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIStatus>())).shortDescription as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIStatus),
            "::",
            stringify!(shortDescription)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIStatus>())).longDescription as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIStatus),
            "::",
            stringify!(longDescription)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIStatus>())).toggleStatus as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIStatus),
            "::",
            stringify!(toggleStatus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIStatus>())).getCurrentStatus as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIStatus),
            "::",
            stringify!(getCurrentStatus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIStatus>())).uipriv as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIStatus),
            "::",
            stringify!(uipriv)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIStatus>())).arg as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIStatus),
            "::",
            stringify!(arg)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIStatus>())).visible as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIStatus),
            "::",
            stringify!(visible)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIStatus>())).padding as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIStatus),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxUIStatus {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxUIComplexStatus {
    pub name: *mut ::std::os::raw::c_char,
    pub shortDescription: *mut ::std::os::raw::c_char,
    pub longDescription: *mut ::std::os::raw::c_char,
    pub toggleStatus: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub getIconName: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
    >,
    pub uipriv: [*mut ::std::os::raw::c_void; 2usize],
    pub arg: *mut ::std::os::raw::c_void,
    pub visible: boolean,
    pub padding: [::std::os::raw::c_int; 16usize],
}
#[test]
fn bindgen_test_layout__FcitxUIComplexStatus() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxUIComplexStatus>(),
        136usize,
        concat!("Size of: ", stringify!(_FcitxUIComplexStatus))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxUIComplexStatus>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxUIComplexStatus))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIComplexStatus>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIComplexStatus),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxUIComplexStatus>())).shortDescription as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIComplexStatus),
            "::",
            stringify!(shortDescription)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxUIComplexStatus>())).longDescription as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIComplexStatus),
            "::",
            stringify!(longDescription)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxUIComplexStatus>())).toggleStatus as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIComplexStatus),
            "::",
            stringify!(toggleStatus)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxUIComplexStatus>())).getIconName as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIComplexStatus),
            "::",
            stringify!(getIconName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIComplexStatus>())).uipriv as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIComplexStatus),
            "::",
            stringify!(uipriv)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIComplexStatus>())).arg as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIComplexStatus),
            "::",
            stringify!(arg)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIComplexStatus>())).visible as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIComplexStatus),
            "::",
            stringify!(visible)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUIComplexStatus>())).padding as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUIComplexStatus),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxUIComplexStatus {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxInstance {
    _unused: [u8; 0],
}
pub const _FcitxMessageType_MSG_TYPE_FIRST: _FcitxMessageType = 0;
pub const _FcitxMessageType_MSG_TYPE_LAST: _FcitxMessageType = 6;
pub const _FcitxMessageType_MSG_TIPS: _FcitxMessageType = 0;
pub const _FcitxMessageType_MSG_INPUT: _FcitxMessageType = 1;
pub const _FcitxMessageType_MSG_INDEX: _FcitxMessageType = 2;
pub const _FcitxMessageType_MSG_CANDIATE_CURSOR: _FcitxMessageType = 3;
pub const _FcitxMessageType_MSG_FIRSTCAND: _FcitxMessageType = 3;
pub const _FcitxMessageType_MSG_USERPHR: _FcitxMessageType = 4;
pub const _FcitxMessageType_MSG_CODE: _FcitxMessageType = 5;
pub const _FcitxMessageType_MSG_OTHER: _FcitxMessageType = 6;
pub const _FcitxMessageType_MSG_NOUNDERLINE: _FcitxMessageType = 8;
pub const _FcitxMessageType_MSG_HIGHLIGHT: _FcitxMessageType = 16;
pub const _FcitxMessageType_MSG_DONOT_COMMIT_WHEN_UNFOCUS: _FcitxMessageType = 32;
pub const _FcitxMessageType_MSG_REGULAR_MASK: _FcitxMessageType = 7;
pub type _FcitxMessageType = u32;
pub use self::_FcitxMessageType as FcitxMessageType;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxMessages {
    _unused: [u8; 0],
}
pub type FcitxMessages = _FcitxMessages;
pub type FcitxUIMenu = _FcitxUIMenu;
pub type FcitxUIStatus = _FcitxUIStatus;
pub type FcitxUIComplexStatus = _FcitxUIComplexStatus;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxUI {
    pub Create: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut _FcitxInstance) -> *mut ::std::os::raw::c_void,
    >,
    pub CloseInputWindow:
        ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub ShowInputWindow:
        ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub MoveInputWindow:
        ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub UpdateStatus: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, arg1: *mut FcitxUIStatus),
    >,
    pub RegisterStatus: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, arg1: *mut FcitxUIStatus),
    >,
    pub RegisterMenu: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, arg1: *mut FcitxUIMenu),
    >,
    pub OnInputFocus: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub OnInputUnFocus:
        ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub OnTriggerOn: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub OnTriggerOff: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub DisplayMessage: ::std::option::Option<
        unsafe extern "C" fn(
            arg: *mut ::std::os::raw::c_void,
            title: *mut ::std::os::raw::c_char,
            msg: *mut *mut ::std::os::raw::c_char,
            length: ::std::os::raw::c_int,
        ),
    >,
    pub MainWindowSizeHint: ::std::option::Option<
        unsafe extern "C" fn(
            arg: *mut ::std::os::raw::c_void,
            x: *mut ::std::os::raw::c_int,
            y: *mut ::std::os::raw::c_int,
            w: *mut ::std::os::raw::c_int,
            h: *mut ::std::os::raw::c_int,
        ),
    >,
    pub ReloadConfig:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    pub Suspend: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    pub Resume: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    pub Destroy: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    pub RegisterComplexStatus: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void, arg2: *mut FcitxUIComplexStatus),
    >,
    pub UpdateComplexStatus: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, arg1: *mut FcitxUIComplexStatus),
    >,
    pub UnRegisterMenu: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, arg1: *mut FcitxUIMenu),
    >,
}
#[test]
fn bindgen_test_layout__FcitxUI() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxUI>(),
        160usize,
        concat!("Size of: ", stringify!(_FcitxUI))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxUI>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxUI))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).Create as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(Create)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).CloseInputWindow as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(CloseInputWindow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).ShowInputWindow as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(ShowInputWindow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).MoveInputWindow as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(MoveInputWindow)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).UpdateStatus as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(UpdateStatus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).RegisterStatus as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(RegisterStatus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).RegisterMenu as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(RegisterMenu)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).OnInputFocus as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(OnInputFocus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).OnInputUnFocus as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(OnInputUnFocus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).OnTriggerOn as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(OnTriggerOn)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).OnTriggerOff as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(OnTriggerOff)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).DisplayMessage as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(DisplayMessage)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).MainWindowSizeHint as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(MainWindowSizeHint)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).ReloadConfig as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(ReloadConfig)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).Suspend as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(Suspend)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).Resume as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(Resume)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).Destroy as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(Destroy)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).RegisterComplexStatus as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(RegisterComplexStatus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).UpdateComplexStatus as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(UpdateComplexStatus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxUI>())).UnRegisterMenu as *const _ as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxUI),
            "::",
            stringify!(UnRegisterMenu)
        )
    );
}
impl Default for _FcitxUI {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxUI = _FcitxUI;
extern "C" {
    pub fn FcitxUILoad(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxMessagesNew() -> *mut FcitxMessages;
}
extern "C" {
    pub fn FcitxMessagesAddMessageAtLast(
        message: *mut FcitxMessages,
        type_: FcitxMessageType,
        fmt: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn FcitxMessagesAddMessageVStringAtLast(
        message: *mut FcitxMessages,
        type_: FcitxMessageType,
        n: usize,
        strs: *mut *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxMessagesSetMessage(
        message: *mut FcitxMessages,
        position: ::std::os::raw::c_int,
        type_: ::std::os::raw::c_int,
        fmt: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn FcitxMessagesSetMessageText(
        message: *mut FcitxMessages,
        position: ::std::os::raw::c_int,
        fmt: *const ::std::os::raw::c_char,
        ...
    );
}
extern "C" {
    pub fn FcitxMessagesSetMessageTextVString(
        message: *mut FcitxMessages,
        position: ::std::os::raw::c_int,
        n: usize,
        strs: *mut *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxMessagesMessageConcat(
        message: *mut FcitxMessages,
        position: ::std::os::raw::c_int,
        text: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxMessagesMessageConcatLast(
        message: *mut FcitxMessages,
        text: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxMessagesSetMessageV(
        message: *mut FcitxMessages,
        position: ::std::os::raw::c_int,
        type_: ::std::os::raw::c_int,
        fmt: *const ::std::os::raw::c_char,
        ap: *mut __va_list_tag,
    );
}
extern "C" {
    pub fn FcitxMessagesSetMessageStringsReal(
        message: *mut FcitxMessages,
        position: ::std::os::raw::c_int,
        type_: ::std::os::raw::c_int,
        n: usize,
        strs: *mut *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxMessagesSetMessageCount(m: *mut FcitxMessages, s: ::std::os::raw::c_int);
}
extern "C" {
    pub fn FcitxMessagesGetMessageCount(m: *mut FcitxMessages) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxMessagesGetMessageString(
        m: *mut FcitxMessages,
        index: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxMessagesGetMessageType(
        m: *mut FcitxMessages,
        index: ::std::os::raw::c_int,
    ) -> FcitxMessageType;
}
extern "C" {
    pub fn FcitxMessagesGetClientMessageType(
        m: *mut FcitxMessages,
        index: ::std::os::raw::c_int,
    ) -> FcitxMessageType;
}
extern "C" {
    pub fn FcitxMessagesIsMessageChanged(m: *mut FcitxMessages) -> boolean;
}
extern "C" {
    pub fn FcitxMessagesSetMessageChanged(m: *mut FcitxMessages, changed: boolean);
}
extern "C" {
    pub fn FcitxMenuAddMenuItem(
        menu: *mut FcitxUIMenu,
        string: *const ::std::os::raw::c_char,
        type_: FcitxMenuItemType,
        subMenu: *mut FcitxUIMenu,
    );
}
extern "C" {
    pub fn FcitxMenuAddMenuItemWithData(
        menu: *mut FcitxUIMenu,
        string: *const ::std::os::raw::c_char,
        type_: FcitxMenuItemType,
        subMenu: *mut FcitxUIMenu,
        arg: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn FcitxMenuClear(menu: *mut FcitxUIMenu);
}
extern "C" {
    pub fn FcitxUIMoveInputWindow(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUICloseInputWindow(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUIRefreshStatus(instance: *mut _FcitxInstance, name: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn FcitxUIUpdateStatus(instance: *mut _FcitxInstance, name: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn FcitxUIRegisterStatus(
        instance: *mut _FcitxInstance,
        arg: *mut ::std::os::raw::c_void,
        name: *const ::std::os::raw::c_char,
        shortDesc: *const ::std::os::raw::c_char,
        longDesc: *const ::std::os::raw::c_char,
        toggleStatus: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
        getStatus: ::std::option::Option<
            unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> boolean,
        >,
    );
}
extern "C" {
    pub fn FcitxUIRegisterComplexStatus(
        instance: *mut _FcitxInstance,
        arg: *mut ::std::os::raw::c_void,
        name: *const ::std::os::raw::c_char,
        shortDesc: *const ::std::os::raw::c_char,
        longDesc: *const ::std::os::raw::c_char,
        toggleStatus: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
        getIconName: ::std::option::Option<
            unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
        >,
    );
}
extern "C" {
    pub fn FcitxUIRegisterMenu(instance: *mut _FcitxInstance, menu: *mut FcitxUIMenu);
}
extern "C" {
    pub fn FcitxUIUnRegisterMenu(instance: *mut _FcitxInstance, menu: *mut FcitxUIMenu);
}
extern "C" {
    pub fn FcitxUIOnInputFocus(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUIOnInputUnFocus(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUIOnTriggerOn(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUIOnTriggerOff(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUIDisplayMessage(
        instance: *mut _FcitxInstance,
        title: *mut ::std::os::raw::c_char,
        msg: *mut *mut ::std::os::raw::c_char,
        length: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxUIGetStatusByName(
        instance: *mut _FcitxInstance,
        name: *const ::std::os::raw::c_char,
    ) -> *mut FcitxUIStatus;
}
extern "C" {
    pub fn FcitxUIGetMenuByStatusName(
        instance: *mut _FcitxInstance,
        name: *const ::std::os::raw::c_char,
    ) -> *mut FcitxUIMenu;
}
extern "C" {
    pub fn FcitxUIGetComplexStatusByName(
        instance: *mut _FcitxInstance,
        name: *const ::std::os::raw::c_char,
    ) -> *mut FcitxUIComplexStatus;
}
extern "C" {
    pub fn FcitxUISetStatusVisable(
        instance: *mut _FcitxInstance,
        name: *const ::std::os::raw::c_char,
        visible: boolean,
    );
}
extern "C" {
    pub fn FcitxUISetStatusString(
        instance: *mut _FcitxInstance,
        name: *const ::std::os::raw::c_char,
        shortDesc: *const ::std::os::raw::c_char,
        longDesc: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxMenuUpdate(menu: *mut FcitxUIMenu);
}
extern "C" {
    pub fn FcitxUIIsInBox(
        x0: ::std::os::raw::c_int,
        y0: ::std::os::raw::c_int,
        x1: ::std::os::raw::c_int,
        y1: ::std::os::raw::c_int,
        w: ::std::os::raw::c_int,
        h: ::std::os::raw::c_int,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxUISupportMainWindow(instance: *mut _FcitxInstance) -> boolean;
}
extern "C" {
    pub fn FcitxUIGetMainWindowSize(
        instance: *mut _FcitxInstance,
        x: *mut ::std::os::raw::c_int,
        y: *mut ::std::os::raw::c_int,
        w: *mut ::std::os::raw::c_int,
        h: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxUINewMessageToOldStyleMessage(
        instance: *mut _FcitxInstance,
        msgUp: *mut FcitxMessages,
        msgDown: *mut FcitxMessages,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxUIMessagesToCString(messages: *mut FcitxMessages) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxUICandidateWordToCString(
        instance: *mut _FcitxInstance,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxUICommitPreedit(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUIUpdateInputWindow(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUISwitchToFallback(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUIResumeFromFallback(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxUIIsFallback(instance: *mut _FcitxInstance, addon: *mut _FcitxAddon) -> boolean;
}
extern "C" {
    pub fn FcitxMenuInit(menu: *mut FcitxUIMenu);
}
extern "C" {
    pub fn FcitxMenuFinalize(menu: *mut FcitxUIMenu);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxModule {
    _unused: [u8; 0],
}
pub const _FcitxAddonCategory_AC_INPUTMETHOD: _FcitxAddonCategory = 0;
pub const _FcitxAddonCategory_AC_FRONTEND: _FcitxAddonCategory = 1;
pub const _FcitxAddonCategory_AC_MODULE: _FcitxAddonCategory = 2;
pub const _FcitxAddonCategory_AC_UI: _FcitxAddonCategory = 3;
pub type _FcitxAddonCategory = u32;
pub use self::_FcitxAddonCategory as FcitxAddonCategory;
pub const _FcitxAddonType_AT_SHAREDLIBRARY: _FcitxAddonType = 0;
pub type _FcitxAddonType = u32;
pub use self::_FcitxAddonType as FcitxAddonType;
pub const _IMRegisterMethod_IMRM_SELF: _IMRegisterMethod = 0;
pub const _IMRegisterMethod_IMRM_EXEC: _IMRegisterMethod = 1;
pub const _IMRegisterMethod_IMRM_CONFIGFILE: _IMRegisterMethod = 2;
pub type _IMRegisterMethod = u32;
pub use self::_IMRegisterMethod as IMRegisterMethod;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _FcitxAddon {
    pub config: FcitxGenericConfig,
    pub name: *mut ::std::os::raw::c_char,
    pub generalname: *mut ::std::os::raw::c_char,
    pub comment: *mut ::std::os::raw::c_char,
    pub bEnabled: boolean,
    pub category: FcitxAddonCategory,
    pub type_: FcitxAddonType,
    pub library: *mut ::std::os::raw::c_char,
    pub depend: *mut ::std::os::raw::c_char,
    pub priority: ::std::os::raw::c_int,
    pub subconfig: *mut ::std::os::raw::c_char,
    pub __bindgen_anon_1: _FcitxAddon__bindgen_ty_1,
    pub addonInstance: *mut ::std::os::raw::c_void,
    pub functionList: UT_array,
    pub registerMethod: IMRegisterMethod,
    pub registerArgument: *mut ::std::os::raw::c_char,
    pub uifallback: *mut ::std::os::raw::c_char,
    pub owner: *mut _FcitxInstance,
    pub __bindgen_anon_2: _FcitxAddon__bindgen_ty_2,
    pub __bindgen_anon_3: _FcitxAddon__bindgen_ty_3,
    pub __bindgen_anon_4: _FcitxAddon__bindgen_ty_4,
    pub padding: [*mut ::std::os::raw::c_void; 7usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxAddon__bindgen_ty_1 {
    pub frontend: *mut _FcitxFrontend,
    pub module: *mut _FcitxModule,
    pub imclass: *mut _FcitxIMClass,
    pub imclass2: *mut _FcitxIMClass2,
    pub ui: *mut _FcitxUI,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__FcitxAddon__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxAddon__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxAddon__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxAddon__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxAddon__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_1>())).frontend as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_1),
            "::",
            stringify!(frontend)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_1>())).module as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_1),
            "::",
            stringify!(module)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_1>())).imclass as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_1),
            "::",
            stringify!(imclass)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_1>())).imclass2 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_1),
            "::",
            stringify!(imclass2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_1>())).ui as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_1),
            "::",
            stringify!(ui)
        )
    );
}
impl Default for _FcitxAddon__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxAddon__bindgen_ty_2 {
    pub advance: boolean,
    pub dummy: *mut ::std::os::raw::c_void,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__FcitxAddon__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxAddon__bindgen_ty_2>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxAddon__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxAddon__bindgen_ty_2>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxAddon__bindgen_ty_2))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_2>())).advance as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_2),
            "::",
            stringify!(advance)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_2>())).dummy as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_2),
            "::",
            stringify!(dummy)
        )
    );
}
impl Default for _FcitxAddon__bindgen_ty_2 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxAddon__bindgen_ty_3 {
    pub isIMClass2: boolean,
    pub dummy2: *mut ::std::os::raw::c_void,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__FcitxAddon__bindgen_ty_3() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxAddon__bindgen_ty_3>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxAddon__bindgen_ty_3))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxAddon__bindgen_ty_3>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxAddon__bindgen_ty_3))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_3>())).isIMClass2 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_3),
            "::",
            stringify!(isIMClass2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_3>())).dummy2 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_3),
            "::",
            stringify!(dummy2)
        )
    );
}
impl Default for _FcitxAddon__bindgen_ty_3 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxAddon__bindgen_ty_4 {
    pub loadLocal: boolean,
    pub dummy3: *mut ::std::os::raw::c_void,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__FcitxAddon__bindgen_ty_4() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxAddon__bindgen_ty_4>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxAddon__bindgen_ty_4))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxAddon__bindgen_ty_4>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxAddon__bindgen_ty_4))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_4>())).loadLocal as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_4),
            "::",
            stringify!(loadLocal)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxAddon__bindgen_ty_4>())).dummy3 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon__bindgen_ty_4),
            "::",
            stringify!(dummy3)
        )
    );
}
impl Default for _FcitxAddon__bindgen_ty_4 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout__FcitxAddon() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxAddon>(),
        232usize,
        concat!("Size of: ", stringify!(_FcitxAddon))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxAddon>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxAddon))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).config as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(config)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).name as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).generalname as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(generalname)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).comment as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(comment)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).bEnabled as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(bEnabled)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).category as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(category)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).type_ as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).library as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(library)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).depend as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(depend)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).priority as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(priority)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).subconfig as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(subconfig)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).addonInstance as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(addonInstance)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).functionList as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(functionList)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).registerMethod as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(registerMethod)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).registerArgument as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(registerArgument)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).uifallback as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(uifallback)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).owner as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(owner)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxAddon>())).padding as *const _ as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxAddon),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxAddon {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxAddon = _FcitxAddon;
extern "C" {
    pub fn FcitxAddonsInit(addons: *mut UT_array);
}
extern "C" {
    pub fn FcitxAddonFree(v: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn FcitxAddonsLoad(addons: *mut UT_array);
}
extern "C" {
    pub fn FcitxInstanceResolveAddonDependency(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxAddonsIsAddonAvailable(
        addons: *mut UT_array,
        name: *const ::std::os::raw::c_char,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxAddonsGetAddonByName(
        addons: *mut UT_array,
        name: *const ::std::os::raw::c_char,
    ) -> *mut FcitxAddon;
}
extern "C" {
    pub fn FcitxAddonGetConfigDesc() -> *mut FcitxConfigFileDesc;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxCandidateWordList {
    _unused: [u8; 0],
}
pub const _FcitxIMAvailableStatus_IMAS_Enable: _FcitxIMAvailableStatus = 0;
pub const _FcitxIMAvailableStatus_IMAS_Disable: _FcitxIMAvailableStatus = 1;
pub type _FcitxIMAvailableStatus = u32;
pub use self::_FcitxIMAvailableStatus as FcitxIMAvailableStatus;
pub const _INPUT_RETURN_VALUE_IRV_TO_PROCESS: _INPUT_RETURN_VALUE = 0;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_BLOCK_FOLLOWING_PROCESS: _INPUT_RETURN_VALUE = 1;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_FORWARD_KEY: _INPUT_RETURN_VALUE = 2;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_RESET_INPUT: _INPUT_RETURN_VALUE = 4;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_PENDING_COMMIT_STRING: _INPUT_RETURN_VALUE = 8;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_UPDATE_INPUT_WINDOW: _INPUT_RETURN_VALUE = 16;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_UPDATE_CANDIDATE_WORDS: _INPUT_RETURN_VALUE = 32;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_ENG: _INPUT_RETURN_VALUE = 64;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_PUNC: _INPUT_RETURN_VALUE = 128;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_DISPLAY_LAST: _INPUT_RETURN_VALUE = 256;
pub const _INPUT_RETURN_VALUE_IRV_FLAG_DO_PHRASE_TIPS: _INPUT_RETURN_VALUE = 512;
pub const _INPUT_RETURN_VALUE_IRV_DONOT_PROCESS: _INPUT_RETURN_VALUE = 2;
pub const _INPUT_RETURN_VALUE_IRV_COMMIT_STRING: _INPUT_RETURN_VALUE = 520;
pub const _INPUT_RETURN_VALUE_IRV_DO_NOTHING: _INPUT_RETURN_VALUE = 1;
pub const _INPUT_RETURN_VALUE_IRV_CLEAN: _INPUT_RETURN_VALUE = 4;
pub const _INPUT_RETURN_VALUE_IRV_COMMIT_STRING_REMIND: _INPUT_RETURN_VALUE = 24;
pub const _INPUT_RETURN_VALUE_IRV_DISPLAY_CANDWORDS: _INPUT_RETURN_VALUE = 48;
pub const _INPUT_RETURN_VALUE_IRV_DONOT_PROCESS_CLEAN: _INPUT_RETURN_VALUE = 6;
pub const _INPUT_RETURN_VALUE_IRV_COMMIT_STRING_NEXT: _INPUT_RETURN_VALUE = 24;
pub const _INPUT_RETURN_VALUE_IRV_DISPLAY_MESSAGE: _INPUT_RETURN_VALUE = 16;
pub const _INPUT_RETURN_VALUE_IRV_ENG: _INPUT_RETURN_VALUE = 76;
pub const _INPUT_RETURN_VALUE_IRV_PUNC: _INPUT_RETURN_VALUE = 140;
pub const _INPUT_RETURN_VALUE_IRV_DISPLAY_LAST: _INPUT_RETURN_VALUE = 272;
pub type _INPUT_RETURN_VALUE = u32;
pub use self::_INPUT_RETURN_VALUE as INPUT_RETURN_VALUE;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxIMClass {
    pub Create: ::std::option::Option<
        unsafe extern "C" fn(instance: *mut _FcitxInstance) -> *mut ::std::os::raw::c_void,
    >,
    pub Destroy: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
}
#[test]
fn bindgen_test_layout__FcitxIMClass() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxIMClass>(),
        16usize,
        concat!("Size of: ", stringify!(_FcitxIMClass))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxIMClass>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxIMClass))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass>())).Create as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass),
            "::",
            stringify!(Create)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass>())).Destroy as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass),
            "::",
            stringify!(Destroy)
        )
    );
}
impl Default for _FcitxIMClass {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxIMClass = _FcitxIMClass;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxIMClass2 {
    pub Create: ::std::option::Option<
        unsafe extern "C" fn(instance: *mut _FcitxInstance) -> *mut ::std::os::raw::c_void,
    >,
    pub Destroy: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub ReloadConfig: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub padding1: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub padding2: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub padding3: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub padding4: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub padding5: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
}
#[test]
fn bindgen_test_layout__FcitxIMClass2() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxIMClass2>(),
        64usize,
        concat!("Size of: ", stringify!(_FcitxIMClass2))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxIMClass2>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxIMClass2))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass2>())).Create as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass2),
            "::",
            stringify!(Create)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass2>())).Destroy as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass2),
            "::",
            stringify!(Destroy)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass2>())).ReloadConfig as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass2),
            "::",
            stringify!(ReloadConfig)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass2>())).padding1 as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass2),
            "::",
            stringify!(padding1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass2>())).padding2 as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass2),
            "::",
            stringify!(padding2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass2>())).padding3 as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass2),
            "::",
            stringify!(padding3)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass2>())).padding4 as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass2),
            "::",
            stringify!(padding4)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMClass2>())).padding5 as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMClass2),
            "::",
            stringify!(padding5)
        )
    );
}
impl Default for _FcitxIMClass2 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxIMClass2 = _FcitxIMClass2;
pub const _FcitxIMCloseEventType_CET_ChangeByInactivate: _FcitxIMCloseEventType = 0;
pub const _FcitxIMCloseEventType_CET_LostFocus: _FcitxIMCloseEventType = 1;
pub const _FcitxIMCloseEventType_CET_SwitchIM: _FcitxIMCloseEventType = 2;
pub const _FcitxIMCloseEventType_CET_ChangeByUser: _FcitxIMCloseEventType = 2;
pub type _FcitxIMCloseEventType = u32;
pub use self::_FcitxIMCloseEventType as FcitxIMCloseEventType;
pub type FcitxIMInit =
    ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> boolean>;
pub type FcitxIMResetIM =
    ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>;
pub type FcitxIMDoInput = ::std::option::Option<
    unsafe extern "C" fn(
        arg: *mut ::std::os::raw::c_void,
        arg1: FcitxKeySym,
        arg2: ::std::os::raw::c_uint,
    ) -> INPUT_RETURN_VALUE,
>;
pub type FcitxIMGetCandWords = ::std::option::Option<
    unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> INPUT_RETURN_VALUE,
>;
pub type FcitxIMPhraseTips =
    ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> boolean>;
pub type FcitxIMSave =
    ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>;
pub type FcitxIMReloadConfig =
    ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>;
pub type FcitxIMKeyBlocker = ::std::option::Option<
    unsafe extern "C" fn(
        arg: *mut ::std::os::raw::c_void,
        arg1: FcitxKeySym,
        arg2: ::std::os::raw::c_uint,
    ) -> INPUT_RETURN_VALUE,
>;
pub type FcitxIMUpdateSurroundingText =
    ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>;
pub type FcitxIMOnClose = ::std::option::Option<
    unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, arg1: FcitxIMCloseEventType),
>;
pub type FcitxIMGetSubModeName = ::std::option::Option<
    unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> *const ::std::os::raw::c_char,
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _FcitxIMIFace {
    pub ResetIM: FcitxIMResetIM,
    pub DoInput: FcitxIMDoInput,
    pub GetCandWords: FcitxIMGetCandWords,
    pub PhraseTips: FcitxIMPhraseTips,
    pub Save: FcitxIMSave,
    pub Init: FcitxIMInit,
    pub ReloadConfig: FcitxIMReloadConfig,
    pub KeyBlocker: FcitxIMKeyBlocker,
    pub UpdateSurroundingText: FcitxIMUpdateSurroundingText,
    pub DoReleaseInput: FcitxIMDoInput,
    pub OnClose: FcitxIMOnClose,
    pub GetSubModeName: FcitxIMGetSubModeName,
    pub padding: [*mut ::std::os::raw::c_void; 61usize],
}
#[test]
fn bindgen_test_layout__FcitxIMIFace() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxIMIFace>(),
        584usize,
        concat!("Size of: ", stringify!(_FcitxIMIFace))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxIMIFace>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxIMIFace))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).ResetIM as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(ResetIM)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).DoInput as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(DoInput)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).GetCandWords as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(GetCandWords)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).PhraseTips as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(PhraseTips)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).Save as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(Save)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).Init as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(Init)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).ReloadConfig as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(ReloadConfig)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).KeyBlocker as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(KeyBlocker)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxIMIFace>())).UpdateSurroundingText as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(UpdateSurroundingText)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).DoReleaseInput as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(DoReleaseInput)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).OnClose as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(OnClose)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).GetSubModeName as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(GetSubModeName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIMIFace>())).padding as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIMIFace),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxIMIFace {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxIMIFace = _FcitxIMIFace;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxIM {
    pub strName: *mut ::std::os::raw::c_char,
    pub strIconName: *mut ::std::os::raw::c_char,
    pub ResetIM: FcitxIMResetIM,
    pub DoInput: FcitxIMDoInput,
    pub GetCandWords: FcitxIMGetCandWords,
    pub PhraseTips: FcitxIMPhraseTips,
    pub Save: FcitxIMSave,
    pub Init: FcitxIMInit,
    pub ReloadConfig: FcitxIMReloadConfig,
    pub unused: *mut ::std::os::raw::c_void,
    pub klass: *mut ::std::os::raw::c_void,
    pub iPriority: ::std::os::raw::c_int,
    pub langCode: [::std::os::raw::c_char; 6usize],
    pub uniqueName: *mut ::std::os::raw::c_char,
    pub initialized: boolean,
    pub owner: *mut FcitxAddon,
    pub KeyBlocker: FcitxIMKeyBlocker,
    pub UpdateSurroundingText: FcitxIMUpdateSurroundingText,
    pub DoReleaseInput: FcitxIMDoInput,
    pub OnClose: FcitxIMOnClose,
    pub GetSubModeName: FcitxIMGetSubModeName,
    pub padding: [*mut ::std::os::raw::c_void; 7usize],
}
#[test]
fn bindgen_test_layout__FcitxIM() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxIM>(),
        224usize,
        concat!("Size of: ", stringify!(_FcitxIM))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxIM>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxIM))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).strName as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(strName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).strIconName as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(strIconName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).ResetIM as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(ResetIM)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).DoInput as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(DoInput)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).GetCandWords as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(GetCandWords)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).PhraseTips as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(PhraseTips)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).Save as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(Save)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).Init as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(Init)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).ReloadConfig as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(ReloadConfig)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).unused as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(unused)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).klass as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(klass)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).iPriority as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(iPriority)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).langCode as *const _ as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(langCode)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).uniqueName as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(uniqueName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).initialized as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(initialized)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).owner as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(owner)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).KeyBlocker as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(KeyBlocker)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).UpdateSurroundingText as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(UpdateSurroundingText)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).DoReleaseInput as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(DoReleaseInput)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).OnClose as *const _ as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(OnClose)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).GetSubModeName as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(GetSubModeName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxIM>())).padding as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxIM),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxIM {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxIM = _FcitxIM;
pub const _FcitxKeyEventType_FCITX_PRESS_KEY: _FcitxKeyEventType = 0;
pub const _FcitxKeyEventType_FCITX_RELEASE_KEY: _FcitxKeyEventType = 1;
pub type _FcitxKeyEventType = u32;
pub use self::_FcitxKeyEventType as FcitxKeyEventType;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxInputState {
    _unused: [u8; 0],
}
pub type FcitxInputState = _FcitxInputState;
extern "C" {
    pub fn FcitxInputStateCreate() -> *mut FcitxInputState;
}
extern "C" {
    pub fn FcitxInputStateGetOutputString(
        input: *mut FcitxInputState,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxInputStateGetLastCommitString(
        input: *mut FcitxInputState,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxInstanceGetCurrentIM(instance: *mut _FcitxInstance) -> *mut _FcitxIM;
}
extern "C" {
    pub fn FcitxInstanceGetIMByIndex(
        instance: *mut _FcitxInstance,
        index: ::std::os::raw::c_int,
    ) -> *mut _FcitxIM;
}
extern "C" {
    pub fn FcitxInstanceGetIMIndexByName(
        instance: *mut _FcitxInstance,
        imName: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInstanceGetIMByName(
        instance: *mut _FcitxInstance,
        imName: *const ::std::os::raw::c_char,
    ) -> *mut _FcitxIM;
}
extern "C" {
    pub fn FcitxInstanceEnableIM(
        instance: *mut _FcitxInstance,
        ic: *mut _FcitxInputContext,
        keepState: boolean,
    );
}
extern "C" {
    pub fn FcitxInstanceCloseIM(instance: *mut _FcitxInstance, ic: *mut _FcitxInputContext);
}
extern "C" {
    pub fn FcitxInstanceChangeIMState(instance: *mut _FcitxInstance, ic: *mut _FcitxInputContext);
}
extern "C" {
    pub fn FcitxInstanceResetInput(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceSendCloseEvent(
        instance: *mut _FcitxInstance,
        closeEvent: FcitxIMCloseEventType,
    );
}
extern "C" {
    pub fn FcitxInstanceCleanInputWindow(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceCleanInputWindowUp(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceCleanInputWindowDown(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceProcessInputReturnValue(
        instance: *mut _FcitxInstance,
        retVal: INPUT_RETURN_VALUE,
    );
}
extern "C" {
    pub fn FcitxInstanceRegisterIM(
        instance: *mut _FcitxInstance,
        imclass: *mut ::std::os::raw::c_void,
        uniqueName: *const ::std::os::raw::c_char,
        name: *const ::std::os::raw::c_char,
        iconName: *const ::std::os::raw::c_char,
        Init: FcitxIMInit,
        ResetIM: FcitxIMResetIM,
        DoInput: FcitxIMDoInput,
        GetCandWords: FcitxIMGetCandWords,
        PhraseTips: FcitxIMPhraseTips,
        Save: FcitxIMSave,
        ReloadConfig: FcitxIMReloadConfig,
        KeyBlocker: FcitxIMKeyBlocker,
        priority: ::std::os::raw::c_int,
        langCode: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxInstanceRegisterIMv2(
        instance: *mut _FcitxInstance,
        imclass: *mut ::std::os::raw::c_void,
        uniqueName: *const ::std::os::raw::c_char,
        name: *const ::std::os::raw::c_char,
        iconName: *const ::std::os::raw::c_char,
        iface: FcitxIMIFace,
        priority: ::std::os::raw::c_int,
        langCode: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxInstanceProcessKey(
        instance: *mut _FcitxInstance,
        event: FcitxKeyEventType,
        timestamp: ::std::os::raw::c_ulong,
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
    ) -> INPUT_RETURN_VALUE;
}
extern "C" {
    pub fn FcitxInstanceDoInputCallback(
        instance: *mut _FcitxInstance,
        retVal: INPUT_RETURN_VALUE,
        event: FcitxKeyEventType,
        timestamp: ::std::os::raw::c_ulong,
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
    ) -> INPUT_RETURN_VALUE;
}
extern "C" {
    pub fn FcitxInstanceChooseCandidateByIndex(
        instance: *mut _FcitxInstance,
        index: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxInstanceForwardKey(
        instance: *mut _FcitxInstance,
        ic: *mut _FcitxInputContext,
        event: FcitxKeyEventType,
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
    );
}
extern "C" {
    pub fn FcitxInstanceSaveAllIM(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceReloadAddonConfig(
        instance: *mut _FcitxInstance,
        addon: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxInstanceReloadConfig(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceSwitchIM(instance: *mut _FcitxInstance, index: ::std::os::raw::c_int);
}
extern "C" {
    pub fn FcitxInstanceSwitchIMByName(
        instance: *mut _FcitxInstance,
        name: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxInstanceSwitchIMByIndex(
        instance: *mut _FcitxInstance,
        index: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxHotkeyCheckChooseKey(
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
        strChoose: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxHotkeyCheckChooseKeyAndModifier(
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
        strChoose: *const ::std::os::raw::c_char,
        candState: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInputStateGetCandidateList(
        input: *mut FcitxInputState,
    ) -> *mut _FcitxCandidateWordList;
}
extern "C" {
    pub fn FcitxInputStateGetIsInRemind(input: *mut FcitxInputState) -> boolean;
}
extern "C" {
    pub fn FcitxInputStateSetIsInRemind(input: *mut FcitxInputState, isInRemind: boolean);
}
extern "C" {
    pub fn FcitxInputStateGetIsDoInputOnly(input: *mut FcitxInputState) -> boolean;
}
extern "C" {
    pub fn FcitxInputStateSetIsDoInputOnly(input: *mut FcitxInputState, isDoInputOnly: boolean);
}
extern "C" {
    pub fn FcitxInputStateGetRawInputBuffer(
        input: *mut FcitxInputState,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxInputStateGetCursorPos(input: *mut FcitxInputState) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInputStateSetCursorPos(
        input: *mut FcitxInputState,
        cursorPos: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxInputStateGetClientCursorPos(input: *mut FcitxInputState) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInputStateSetClientCursorPos(
        input: *mut FcitxInputState,
        cursorPos: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxInputStateGetAuxUp(input: *mut FcitxInputState) -> *mut FcitxMessages;
}
extern "C" {
    pub fn FcitxInputStateGetAuxDown(input: *mut FcitxInputState) -> *mut FcitxMessages;
}
extern "C" {
    pub fn FcitxInputStateGetPreedit(input: *mut FcitxInputState) -> *mut FcitxMessages;
}
extern "C" {
    pub fn FcitxInputStateGetClientPreedit(input: *mut FcitxInputState) -> *mut FcitxMessages;
}
extern "C" {
    pub fn FcitxInputStateGetRawInputBufferSize(
        input: *mut FcitxInputState,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInputStateSetRawInputBufferSize(
        input: *mut FcitxInputState,
        size: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxInputStateGetShowCursor(input: *mut FcitxInputState) -> boolean;
}
extern "C" {
    pub fn FcitxInputStateSetShowCursor(input: *mut FcitxInputState, showCursor: boolean);
}
extern "C" {
    pub fn FcitxInputStateGetLastIsSingleChar(input: *mut FcitxInputState)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInputStateSetLastIsSingleChar(
        input: *mut FcitxInputState,
        lastIsSingleChar: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxInputStateSetKeyCode(input: *mut FcitxInputState, value: u32);
}
extern "C" {
    pub fn FcitxInputStateSetKeySym(input: *mut FcitxInputState, value: u32);
}
extern "C" {
    pub fn FcitxInputStateSetKeyState(input: *mut FcitxInputState, state: u32);
}
extern "C" {
    pub fn FcitxInputStateGetKeyCode(input: *mut FcitxInputState) -> u32;
}
extern "C" {
    pub fn FcitxInputStateGetKeySym(input: *mut FcitxInputState) -> u32;
}
extern "C" {
    pub fn FcitxInputStateGetKeyState(input: *mut FcitxInputState) -> u32;
}
extern "C" {
    pub fn FcitxInstanceGetIMFromIMList(
        instance: *mut _FcitxInstance,
        imas: FcitxIMAvailableStatus,
        name: *const ::std::os::raw::c_char,
    ) -> *mut FcitxIM;
}
extern "C" {
    pub fn FcitxInstanceUpdateIMList(instance: *mut _FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceNotifyUpdateSurroundingText(
        instance: *mut _FcitxInstance,
        ic: *mut _FcitxInputContext,
    );
}
extern "C" {
    pub fn FcitxStandardKeyBlocker(
        input: *mut FcitxInputState,
        key: FcitxKeySym,
        state: ::std::os::raw::c_uint,
    ) -> INPUT_RETURN_VALUE;
}
extern "C" {
    pub fn FcitxInstanceSetLocalIMName(
        instance: *mut _FcitxInstance,
        ic: *mut _FcitxInputContext,
        imname: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxInstanceUnregisterIM(
        instance: *mut _FcitxInstance,
        name: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxInstanceShowCurrentIMInfo(instance: *mut _FcitxInstance);
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct sched_param {
    pub sched_priority: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_sched_param() {
    assert_eq!(
        ::std::mem::size_of::<sched_param>(),
        4usize,
        concat!("Size of: ", stringify!(sched_param))
    );
    assert_eq!(
        ::std::mem::align_of::<sched_param>(),
        4usize,
        concat!("Alignment of ", stringify!(sched_param))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sched_param>())).sched_priority as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sched_param),
            "::",
            stringify!(sched_priority)
        )
    );
}
pub type __cpu_mask = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct cpu_set_t {
    pub __bits: [__cpu_mask; 16usize],
}
#[test]
fn bindgen_test_layout_cpu_set_t() {
    assert_eq!(
        ::std::mem::size_of::<cpu_set_t>(),
        128usize,
        concat!("Size of: ", stringify!(cpu_set_t))
    );
    assert_eq!(
        ::std::mem::align_of::<cpu_set_t>(),
        8usize,
        concat!("Alignment of ", stringify!(cpu_set_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<cpu_set_t>())).__bits as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(cpu_set_t),
            "::",
            stringify!(__bits)
        )
    );
}
extern "C" {
    pub fn __sched_cpucount(__setsize: usize, __setp: *const cpu_set_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __sched_cpualloc(__count: usize) -> *mut cpu_set_t;
}
extern "C" {
    pub fn __sched_cpufree(__set: *mut cpu_set_t);
}
extern "C" {
    pub fn sched_setparam(__pid: __pid_t, __param: *const sched_param) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sched_getparam(__pid: __pid_t, __param: *mut sched_param) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sched_setscheduler(
        __pid: __pid_t,
        __policy: ::std::os::raw::c_int,
        __param: *const sched_param,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sched_getscheduler(__pid: __pid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sched_yield() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sched_get_priority_max(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sched_get_priority_min(__algorithm: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sched_rr_get_interval(__pid: __pid_t, __t: *mut timespec) -> ::std::os::raw::c_int;
}
pub type __jmp_buf = [::std::os::raw::c_long; 8usize];
pub const PTHREAD_CREATE_JOINABLE: _bindgen_ty_4 = 0;
pub const PTHREAD_CREATE_DETACHED: _bindgen_ty_4 = 1;
pub type _bindgen_ty_4 = u32;
pub const PTHREAD_MUTEX_TIMED_NP: _bindgen_ty_5 = 0;
pub const PTHREAD_MUTEX_RECURSIVE_NP: _bindgen_ty_5 = 1;
pub const PTHREAD_MUTEX_ERRORCHECK_NP: _bindgen_ty_5 = 2;
pub const PTHREAD_MUTEX_ADAPTIVE_NP: _bindgen_ty_5 = 3;
pub const PTHREAD_MUTEX_NORMAL: _bindgen_ty_5 = 0;
pub const PTHREAD_MUTEX_RECURSIVE: _bindgen_ty_5 = 1;
pub const PTHREAD_MUTEX_ERRORCHECK: _bindgen_ty_5 = 2;
pub const PTHREAD_MUTEX_DEFAULT: _bindgen_ty_5 = 0;
pub type _bindgen_ty_5 = u32;
pub const PTHREAD_MUTEX_STALLED: _bindgen_ty_6 = 0;
pub const PTHREAD_MUTEX_STALLED_NP: _bindgen_ty_6 = 0;
pub const PTHREAD_MUTEX_ROBUST: _bindgen_ty_6 = 1;
pub const PTHREAD_MUTEX_ROBUST_NP: _bindgen_ty_6 = 1;
pub type _bindgen_ty_6 = u32;
pub const PTHREAD_PRIO_NONE: _bindgen_ty_7 = 0;
pub const PTHREAD_PRIO_INHERIT: _bindgen_ty_7 = 1;
pub const PTHREAD_PRIO_PROTECT: _bindgen_ty_7 = 2;
pub type _bindgen_ty_7 = u32;
pub const PTHREAD_RWLOCK_PREFER_READER_NP: _bindgen_ty_8 = 0;
pub const PTHREAD_RWLOCK_PREFER_WRITER_NP: _bindgen_ty_8 = 1;
pub const PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP: _bindgen_ty_8 = 2;
pub const PTHREAD_RWLOCK_DEFAULT_NP: _bindgen_ty_8 = 0;
pub type _bindgen_ty_8 = u32;
pub const PTHREAD_INHERIT_SCHED: _bindgen_ty_9 = 0;
pub const PTHREAD_EXPLICIT_SCHED: _bindgen_ty_9 = 1;
pub type _bindgen_ty_9 = u32;
pub const PTHREAD_SCOPE_SYSTEM: _bindgen_ty_10 = 0;
pub const PTHREAD_SCOPE_PROCESS: _bindgen_ty_10 = 1;
pub type _bindgen_ty_10 = u32;
pub const PTHREAD_PROCESS_PRIVATE: _bindgen_ty_11 = 0;
pub const PTHREAD_PROCESS_SHARED: _bindgen_ty_11 = 1;
pub type _bindgen_ty_11 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _pthread_cleanup_buffer {
    pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    pub __arg: *mut ::std::os::raw::c_void,
    pub __canceltype: ::std::os::raw::c_int,
    pub __prev: *mut _pthread_cleanup_buffer,
}
#[test]
fn bindgen_test_layout__pthread_cleanup_buffer() {
    assert_eq!(
        ::std::mem::size_of::<_pthread_cleanup_buffer>(),
        32usize,
        concat!("Size of: ", stringify!(_pthread_cleanup_buffer))
    );
    assert_eq!(
        ::std::mem::align_of::<_pthread_cleanup_buffer>(),
        8usize,
        concat!("Alignment of ", stringify!(_pthread_cleanup_buffer))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__routine as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_pthread_cleanup_buffer),
            "::",
            stringify!(__routine)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__arg as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_pthread_cleanup_buffer),
            "::",
            stringify!(__arg)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__canceltype as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_pthread_cleanup_buffer),
            "::",
            stringify!(__canceltype)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_pthread_cleanup_buffer>())).__prev as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_pthread_cleanup_buffer),
            "::",
            stringify!(__prev)
        )
    );
}
impl Default for _pthread_cleanup_buffer {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub const PTHREAD_CANCEL_ENABLE: _bindgen_ty_12 = 0;
pub const PTHREAD_CANCEL_DISABLE: _bindgen_ty_12 = 1;
pub type _bindgen_ty_12 = u32;
pub const PTHREAD_CANCEL_DEFERRED: _bindgen_ty_13 = 0;
pub const PTHREAD_CANCEL_ASYNCHRONOUS: _bindgen_ty_13 = 1;
pub type _bindgen_ty_13 = u32;
extern "C" {
    pub fn pthread_create(
        __newthread: *mut pthread_t,
        __attr: *const pthread_attr_t,
        __start_routine: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
        >,
        __arg: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_exit(__retval: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn pthread_join(
        __th: pthread_t,
        __thread_return: *mut *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_detach(__th: pthread_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_self() -> pthread_t;
}
extern "C" {
    pub fn pthread_equal(__thread1: pthread_t, __thread2: pthread_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_init(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_destroy(__attr: *mut pthread_attr_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_getdetachstate(
        __attr: *const pthread_attr_t,
        __detachstate: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_setdetachstate(
        __attr: *mut pthread_attr_t,
        __detachstate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_getguardsize(
        __attr: *const pthread_attr_t,
        __guardsize: *mut usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_setguardsize(
        __attr: *mut pthread_attr_t,
        __guardsize: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_getschedparam(
        __attr: *const pthread_attr_t,
        __param: *mut sched_param,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_setschedparam(
        __attr: *mut pthread_attr_t,
        __param: *const sched_param,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_getschedpolicy(
        __attr: *const pthread_attr_t,
        __policy: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_setschedpolicy(
        __attr: *mut pthread_attr_t,
        __policy: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_getinheritsched(
        __attr: *const pthread_attr_t,
        __inherit: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_setinheritsched(
        __attr: *mut pthread_attr_t,
        __inherit: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_getscope(
        __attr: *const pthread_attr_t,
        __scope: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_setscope(
        __attr: *mut pthread_attr_t,
        __scope: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_getstackaddr(
        __attr: *const pthread_attr_t,
        __stackaddr: *mut *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_setstackaddr(
        __attr: *mut pthread_attr_t,
        __stackaddr: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_getstacksize(
        __attr: *const pthread_attr_t,
        __stacksize: *mut usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_setstacksize(
        __attr: *mut pthread_attr_t,
        __stacksize: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_getstack(
        __attr: *const pthread_attr_t,
        __stackaddr: *mut *mut ::std::os::raw::c_void,
        __stacksize: *mut usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_attr_setstack(
        __attr: *mut pthread_attr_t,
        __stackaddr: *mut ::std::os::raw::c_void,
        __stacksize: usize,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_setschedparam(
        __target_thread: pthread_t,
        __policy: ::std::os::raw::c_int,
        __param: *const sched_param,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_getschedparam(
        __target_thread: pthread_t,
        __policy: *mut ::std::os::raw::c_int,
        __param: *mut sched_param,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_setschedprio(
        __target_thread: pthread_t,
        __prio: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_once(
        __once_control: *mut pthread_once_t,
        __init_routine: ::std::option::Option<unsafe extern "C" fn()>,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_setcancelstate(
        __state: ::std::os::raw::c_int,
        __oldstate: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_setcanceltype(
        __type: ::std::os::raw::c_int,
        __oldtype: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_cancel(__th: pthread_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_testcancel();
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_unwind_buf_t {
    pub __cancel_jmp_buf: [__pthread_unwind_buf_t__bindgen_ty_1; 1usize],
    pub __pad: [*mut ::std::os::raw::c_void; 4usize],
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct __pthread_unwind_buf_t__bindgen_ty_1 {
    pub __cancel_jmp_buf: __jmp_buf,
    pub __mask_was_saved: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout___pthread_unwind_buf_t__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_unwind_buf_t__bindgen_ty_1>(),
        72usize,
        concat!(
            "Size of: ",
            stringify!(__pthread_unwind_buf_t__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_unwind_buf_t__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(__pthread_unwind_buf_t__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_unwind_buf_t__bindgen_ty_1>())).__cancel_jmp_buf
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_unwind_buf_t__bindgen_ty_1),
            "::",
            stringify!(__cancel_jmp_buf)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_unwind_buf_t__bindgen_ty_1>())).__mask_was_saved
                as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_unwind_buf_t__bindgen_ty_1),
            "::",
            stringify!(__mask_was_saved)
        )
    );
}
#[test]
fn bindgen_test_layout___pthread_unwind_buf_t() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_unwind_buf_t>(),
        104usize,
        concat!("Size of: ", stringify!(__pthread_unwind_buf_t))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_unwind_buf_t>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_unwind_buf_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_unwind_buf_t>())).__cancel_jmp_buf as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_unwind_buf_t),
            "::",
            stringify!(__cancel_jmp_buf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_unwind_buf_t>())).__pad as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_unwind_buf_t),
            "::",
            stringify!(__pad)
        )
    );
}
impl Default for __pthread_unwind_buf_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_cleanup_frame {
    pub __cancel_routine:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
    pub __cancel_arg: *mut ::std::os::raw::c_void,
    pub __do_it: ::std::os::raw::c_int,
    pub __cancel_type: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout___pthread_cleanup_frame() {
    assert_eq!(
        ::std::mem::size_of::<__pthread_cleanup_frame>(),
        24usize,
        concat!("Size of: ", stringify!(__pthread_cleanup_frame))
    );
    assert_eq!(
        ::std::mem::align_of::<__pthread_cleanup_frame>(),
        8usize,
        concat!("Alignment of ", stringify!(__pthread_cleanup_frame))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_routine as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cleanup_frame),
            "::",
            stringify!(__cancel_routine)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_arg as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cleanup_frame),
            "::",
            stringify!(__cancel_arg)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__do_it as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cleanup_frame),
            "::",
            stringify!(__do_it)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__pthread_cleanup_frame>())).__cancel_type as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__pthread_cleanup_frame),
            "::",
            stringify!(__cancel_type)
        )
    );
}
impl Default for __pthread_cleanup_frame {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
extern "C" {
    pub fn __pthread_register_cancel(__buf: *mut __pthread_unwind_buf_t);
}
extern "C" {
    pub fn __pthread_unregister_cancel(__buf: *mut __pthread_unwind_buf_t);
}
extern "C" {
    pub fn __pthread_unwind_next(__buf: *mut __pthread_unwind_buf_t);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __jmp_buf_tag {
    _unused: [u8; 0],
}
extern "C" {
    pub fn __sigsetjmp(
        __env: *mut __jmp_buf_tag,
        __savemask: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutex_init(
        __mutex: *mut pthread_mutex_t,
        __mutexattr: *const pthread_mutexattr_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutex_destroy(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutex_trylock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutex_lock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutex_timedlock(
        __mutex: *mut pthread_mutex_t,
        __abstime: *const timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutex_unlock(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutex_getprioceiling(
        __mutex: *const pthread_mutex_t,
        __prioceiling: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutex_setprioceiling(
        __mutex: *mut pthread_mutex_t,
        __prioceiling: ::std::os::raw::c_int,
        __old_ceiling: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutex_consistent(__mutex: *mut pthread_mutex_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_init(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_destroy(__attr: *mut pthread_mutexattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_getpshared(
        __attr: *const pthread_mutexattr_t,
        __pshared: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_setpshared(
        __attr: *mut pthread_mutexattr_t,
        __pshared: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_gettype(
        __attr: *const pthread_mutexattr_t,
        __kind: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_settype(
        __attr: *mut pthread_mutexattr_t,
        __kind: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_getprotocol(
        __attr: *const pthread_mutexattr_t,
        __protocol: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_setprotocol(
        __attr: *mut pthread_mutexattr_t,
        __protocol: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_getprioceiling(
        __attr: *const pthread_mutexattr_t,
        __prioceiling: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_setprioceiling(
        __attr: *mut pthread_mutexattr_t,
        __prioceiling: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_getrobust(
        __attr: *const pthread_mutexattr_t,
        __robustness: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_mutexattr_setrobust(
        __attr: *mut pthread_mutexattr_t,
        __robustness: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlock_init(
        __rwlock: *mut pthread_rwlock_t,
        __attr: *const pthread_rwlockattr_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlock_destroy(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlock_rdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlock_tryrdlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlock_timedrdlock(
        __rwlock: *mut pthread_rwlock_t,
        __abstime: *const timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlock_wrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlock_trywrlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlock_timedwrlock(
        __rwlock: *mut pthread_rwlock_t,
        __abstime: *const timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlock_unlock(__rwlock: *mut pthread_rwlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlockattr_init(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlockattr_destroy(__attr: *mut pthread_rwlockattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlockattr_getpshared(
        __attr: *const pthread_rwlockattr_t,
        __pshared: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlockattr_setpshared(
        __attr: *mut pthread_rwlockattr_t,
        __pshared: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlockattr_getkind_np(
        __attr: *const pthread_rwlockattr_t,
        __pref: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_rwlockattr_setkind_np(
        __attr: *mut pthread_rwlockattr_t,
        __pref: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_cond_init(
        __cond: *mut pthread_cond_t,
        __cond_attr: *const pthread_condattr_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_cond_destroy(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_cond_signal(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_cond_broadcast(__cond: *mut pthread_cond_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_cond_wait(
        __cond: *mut pthread_cond_t,
        __mutex: *mut pthread_mutex_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_cond_timedwait(
        __cond: *mut pthread_cond_t,
        __mutex: *mut pthread_mutex_t,
        __abstime: *const timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_condattr_init(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_condattr_destroy(__attr: *mut pthread_condattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_condattr_getpshared(
        __attr: *const pthread_condattr_t,
        __pshared: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_condattr_setpshared(
        __attr: *mut pthread_condattr_t,
        __pshared: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_condattr_getclock(
        __attr: *const pthread_condattr_t,
        __clock_id: *mut __clockid_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_condattr_setclock(
        __attr: *mut pthread_condattr_t,
        __clock_id: __clockid_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_spin_init(
        __lock: *mut pthread_spinlock_t,
        __pshared: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_spin_destroy(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_spin_lock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_spin_trylock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_spin_unlock(__lock: *mut pthread_spinlock_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_barrier_init(
        __barrier: *mut pthread_barrier_t,
        __attr: *const pthread_barrierattr_t,
        __count: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_barrier_destroy(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_barrier_wait(__barrier: *mut pthread_barrier_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_barrierattr_init(__attr: *mut pthread_barrierattr_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_barrierattr_destroy(__attr: *mut pthread_barrierattr_t)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_barrierattr_getpshared(
        __attr: *const pthread_barrierattr_t,
        __pshared: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_barrierattr_setpshared(
        __attr: *mut pthread_barrierattr_t,
        __pshared: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_key_create(
        __key: *mut pthread_key_t,
        __destr_function: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void),
        >,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_key_delete(__key: pthread_key_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_getspecific(__key: pthread_key_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn pthread_setspecific(
        __key: pthread_key_t,
        __pointer: *const ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_getcpuclockid(
        __thread_id: pthread_t,
        __clock_id: *mut __clockid_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_atfork(
        __prepare: ::std::option::Option<unsafe extern "C" fn()>,
        __parent: ::std::option::Option<unsafe extern "C" fn()>,
        __child: ::std::option::Option<unsafe extern "C" fn()>,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sem_t {
    pub __size: [::std::os::raw::c_char; 32usize],
    pub __align: ::std::os::raw::c_long,
    _bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout_sem_t() {
    assert_eq!(
        ::std::mem::size_of::<sem_t>(),
        32usize,
        concat!("Size of: ", stringify!(sem_t))
    );
    assert_eq!(
        ::std::mem::align_of::<sem_t>(),
        8usize,
        concat!("Alignment of ", stringify!(sem_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sem_t>())).__size as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sem_t),
            "::",
            stringify!(__size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sem_t>())).__align as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sem_t),
            "::",
            stringify!(__align)
        )
    );
}
impl Default for sem_t {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
extern "C" {
    pub fn sem_init(
        __sem: *mut sem_t,
        __pshared: ::std::os::raw::c_int,
        __value: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sem_destroy(__sem: *mut sem_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sem_open(
        __name: *const ::std::os::raw::c_char,
        __oflag: ::std::os::raw::c_int,
        ...
    ) -> *mut sem_t;
}
extern "C" {
    pub fn sem_close(__sem: *mut sem_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sem_unlink(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sem_wait(__sem: *mut sem_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sem_timedwait(__sem: *mut sem_t, __abstime: *const timespec) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sem_trywait(__sem: *mut sem_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sem_post(__sem: *mut sem_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sem_getvalue(
        __sem: *mut sem_t,
        __sval: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
pub type FcitxICDataAllocCallback = ::std::option::Option<
    unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
>;
pub type FcitxICDataFreeCallback = ::std::option::Option<
    unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, data: *mut ::std::os::raw::c_void),
>;
pub type FcitxICDataCopyCallback = ::std::option::Option<
    unsafe extern "C" fn(
        arg: *mut ::std::os::raw::c_void,
        data: *mut ::std::os::raw::c_void,
        src: *mut ::std::os::raw::c_void,
    ) -> *mut ::std::os::raw::c_void,
>;
pub const _FcitxContextState_IS_CLOSED: _FcitxContextState = 0;
pub const _FcitxContextState_IS_INACTIVE: _FcitxContextState = 1;
pub const _FcitxContextState_IS_ACTIVE: _FcitxContextState = 2;
pub const _FcitxContextState_IS_ENG: _FcitxContextState = 1;
pub type _FcitxContextState = u32;
pub use self::_FcitxContextState as FcitxContextState;
pub const _FcitxCapacityFlags_CAPACITY_NONE: _FcitxCapacityFlags = 0;
pub const _FcitxCapacityFlags_CAPACITY_CLIENT_SIDE_UI: _FcitxCapacityFlags = 1;
pub const _FcitxCapacityFlags_CAPACITY_PREEDIT: _FcitxCapacityFlags = 2;
pub const _FcitxCapacityFlags_CAPACITY_CLIENT_SIDE_CONTROL_STATE: _FcitxCapacityFlags = 4;
pub const _FcitxCapacityFlags_CAPACITY_PASSWORD: _FcitxCapacityFlags = 8;
pub const _FcitxCapacityFlags_CAPACITY_FORMATTED_PREEDIT: _FcitxCapacityFlags = 16;
pub const _FcitxCapacityFlags_CAPACITY_CLIENT_UNFOCUS_COMMIT: _FcitxCapacityFlags = 32;
pub const _FcitxCapacityFlags_CAPACITY_SURROUNDING_TEXT: _FcitxCapacityFlags = 64;
pub const _FcitxCapacityFlags_CAPACITY_EMAIL: _FcitxCapacityFlags = 128;
pub const _FcitxCapacityFlags_CAPACITY_DIGIT: _FcitxCapacityFlags = 256;
pub const _FcitxCapacityFlags_CAPACITY_UPPERCASE: _FcitxCapacityFlags = 512;
pub const _FcitxCapacityFlags_CAPACITY_LOWERCASE: _FcitxCapacityFlags = 1024;
pub const _FcitxCapacityFlags_CAPACITY_NOAUTOUPPERCASE: _FcitxCapacityFlags = 2048;
pub const _FcitxCapacityFlags_CAPACITY_URL: _FcitxCapacityFlags = 4096;
pub const _FcitxCapacityFlags_CAPACITY_DIALABLE: _FcitxCapacityFlags = 8192;
pub const _FcitxCapacityFlags_CAPACITY_NUMBER: _FcitxCapacityFlags = 16384;
pub const _FcitxCapacityFlags_CAPACITY_NO_ON_SCREEN_KEYBOARD: _FcitxCapacityFlags = 32768;
pub const _FcitxCapacityFlags_CAPACITY_SPELLCHECK: _FcitxCapacityFlags = 65536;
pub const _FcitxCapacityFlags_CAPACITY_NO_SPELLCHECK: _FcitxCapacityFlags = 131072;
pub const _FcitxCapacityFlags_CAPACITY_WORD_COMPLETION: _FcitxCapacityFlags = 262144;
pub const _FcitxCapacityFlags_CAPACITY_UPPERCASE_WORDS: _FcitxCapacityFlags = 524288;
pub const _FcitxCapacityFlags_CAPACITY_UPPERCASE_SENTENCES: _FcitxCapacityFlags = 1048576;
pub const _FcitxCapacityFlags_CAPACITY_ALPHA: _FcitxCapacityFlags = 2097152;
pub const _FcitxCapacityFlags_CAPACITY_NAME: _FcitxCapacityFlags = 4194304;
pub const _FcitxCapacityFlags_CAPACITY_GET_IM_INFO_ON_FOCUS: _FcitxCapacityFlags = 8388608;
pub const _FcitxCapacityFlags_CAPACITY_RELATIVE_CURSOR_RECT: _FcitxCapacityFlags = 16777216;
pub type _FcitxCapacityFlags = u32;
pub use self::_FcitxCapacityFlags as FcitxCapacityFlags;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxInputContext {
    pub state: FcitxContextState,
    pub offset_x: ::std::os::raw::c_int,
    pub offset_y: ::std::os::raw::c_int,
    pub frontendid: ::std::os::raw::c_int,
    pub privateic: *mut ::std::os::raw::c_void,
    pub contextCaps: FcitxCapacityFlags,
    pub next: *mut _FcitxInputContext,
}
#[test]
fn bindgen_test_layout__FcitxInputContext() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxInputContext>(),
        40usize,
        concat!("Size of: ", stringify!(_FcitxInputContext))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxInputContext>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxInputContext))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext>())).state as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext),
            "::",
            stringify!(state)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext>())).offset_x as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext),
            "::",
            stringify!(offset_x)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext>())).offset_y as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext),
            "::",
            stringify!(offset_y)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext>())).frontendid as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext),
            "::",
            stringify!(frontendid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext>())).privateic as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext),
            "::",
            stringify!(privateic)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext>())).contextCaps as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext),
            "::",
            stringify!(contextCaps)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext>())).next as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext),
            "::",
            stringify!(next)
        )
    );
}
impl Default for _FcitxInputContext {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxInputContext = _FcitxInputContext;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _FcitxInputContext2 {
    pub inputContext: FcitxInputContext,
    pub imname: *mut ::std::os::raw::c_char,
    pub switchBySwitchKey: isize,
    pub data: *mut UT_array,
    pub prgname: *mut ::std::os::raw::c_char,
    pub __bindgen_anon_1: _FcitxInputContext2__bindgen_ty_1,
    pub padding: [*mut ::std::os::raw::c_void; 12usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxInputContext2__bindgen_ty_1 {
    pub mayUsePreedit: FcitxTriState,
    pub _dummy: *mut ::std::os::raw::c_void,
    _bindgen_union_align: u64,
}
#[test]
fn bindgen_test_layout__FcitxInputContext2__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxInputContext2__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(_FcitxInputContext2__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxInputContext2__bindgen_ty_1>(),
        8usize,
        concat!(
            "Alignment of ",
            stringify!(_FcitxInputContext2__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxInputContext2__bindgen_ty_1>())).mayUsePreedit as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext2__bindgen_ty_1),
            "::",
            stringify!(mayUsePreedit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxInputContext2__bindgen_ty_1>()))._dummy as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext2__bindgen_ty_1),
            "::",
            stringify!(_dummy)
        )
    );
}
impl Default for _FcitxInputContext2__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout__FcitxInputContext2() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxInputContext2>(),
        176usize,
        concat!("Size of: ", stringify!(_FcitxInputContext2))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxInputContext2>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxInputContext2))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxInputContext2>())).inputContext as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext2),
            "::",
            stringify!(inputContext)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext2>())).imname as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext2),
            "::",
            stringify!(imname)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxInputContext2>())).switchBySwitchKey as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext2),
            "::",
            stringify!(switchBySwitchKey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext2>())).data as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext2),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext2>())).prgname as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext2),
            "::",
            stringify!(prgname)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxInputContext2>())).padding as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxInputContext2),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxInputContext2 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxInputContext2 = _FcitxInputContext2;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxFrontend {
    pub Create: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut _FcitxInstance, frontendindex: ::std::os::raw::c_int)
            -> *mut ::std::os::raw::c_void,
    >,
    pub Destroy:
        ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void) -> boolean>,
    pub CreateIC: ::std::option::Option<
        unsafe extern "C" fn(
            arg: *mut ::std::os::raw::c_void,
            arg1: *mut FcitxInputContext,
            priv_: *mut ::std::os::raw::c_void,
        ),
    >,
    pub CheckIC: ::std::option::Option<
        unsafe extern "C" fn(
            arg: *mut ::std::os::raw::c_void,
            arg1: *mut FcitxInputContext,
            arg2: *mut ::std::os::raw::c_void,
        ) -> boolean,
    >,
    pub DestroyIC: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, context: *mut FcitxInputContext),
    >,
    pub EnableIM: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, arg1: *mut FcitxInputContext),
    >,
    pub CloseIM: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, arg1: *mut FcitxInputContext),
    >,
    pub CommitString: ::std::option::Option<
        unsafe extern "C" fn(
            arg: *mut ::std::os::raw::c_void,
            arg1: *mut FcitxInputContext,
            arg2: *const ::std::os::raw::c_char,
        ),
    >,
    pub ForwardKey: ::std::option::Option<
        unsafe extern "C" fn(
            arg: *mut ::std::os::raw::c_void,
            arg1: *mut FcitxInputContext,
            event: FcitxKeyEventType,
            sym: FcitxKeySym,
            state: ::std::os::raw::c_uint,
        ),
    >,
    pub SetWindowOffset: ::std::option::Option<
        unsafe extern "C" fn(
            arg: *mut ::std::os::raw::c_void,
            ic: *mut FcitxInputContext,
            x: ::std::os::raw::c_int,
            y: ::std::os::raw::c_int,
        ),
    >,
    pub GetWindowRect: ::std::option::Option<
        unsafe extern "C" fn(
            arg: *mut ::std::os::raw::c_void,
            ic: *mut FcitxInputContext,
            x: *mut ::std::os::raw::c_int,
            y: *mut ::std::os::raw::c_int,
            w: *mut ::std::os::raw::c_int,
            h: *mut ::std::os::raw::c_int,
        ),
    >,
    pub UpdatePreedit: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, ic: *mut FcitxInputContext),
    >,
    pub UpdateClientSideUI: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, ic: *mut FcitxInputContext),
    >,
    pub ReloadConfig: ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>,
    pub CheckICFromSameApplication: ::std::option::Option<
        unsafe extern "C" fn(
            arg: *mut ::std::os::raw::c_void,
            icToCheck: *mut FcitxInputContext,
            ic: *mut FcitxInputContext,
        ) -> boolean,
    >,
    pub GetPid: ::std::option::Option<
        unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, arg1: *mut FcitxInputContext)
            -> pid_t,
    >,
    pub DeleteSurroundingText: ::std::option::Option<
        unsafe extern "C" fn(
            addonInstance: *mut ::std::os::raw::c_void,
            ic: *mut FcitxInputContext,
            offset: ::std::os::raw::c_int,
            size: ::std::os::raw::c_uint,
        ),
    >,
    pub GetSurroundingPreedit: ::std::option::Option<
        unsafe extern "C" fn(
            addonInstance: *mut ::std::os::raw::c_void,
            ic: *mut FcitxInputContext,
            str: *mut *mut ::std::os::raw::c_char,
            cursor: *mut ::std::os::raw::c_uint,
            anchor: *mut ::std::os::raw::c_uint,
        ) -> boolean,
    >,
}
#[test]
fn bindgen_test_layout__FcitxFrontend() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxFrontend>(),
        144usize,
        concat!("Size of: ", stringify!(_FcitxFrontend))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxFrontend>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxFrontend))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).Create as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(Create)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).Destroy as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(Destroy)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).CreateIC as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(CreateIC)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).CheckIC as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(CheckIC)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).DestroyIC as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(DestroyIC)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).EnableIM as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(EnableIM)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).CloseIM as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(CloseIM)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).CommitString as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(CommitString)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).ForwardKey as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(ForwardKey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).SetWindowOffset as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(SetWindowOffset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).GetWindowRect as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(GetWindowRect)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).UpdatePreedit as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(UpdatePreedit)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxFrontend>())).UpdateClientSideUI as *const _ as usize
        },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(UpdateClientSideUI)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).ReloadConfig as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(ReloadConfig)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxFrontend>())).CheckICFromSameApplication as *const _
                as usize
        },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(CheckICFromSameApplication)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxFrontend>())).GetPid as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(GetPid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxFrontend>())).DeleteSurroundingText as *const _ as usize
        },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(DeleteSurroundingText)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxFrontend>())).GetSurroundingPreedit as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxFrontend),
            "::",
            stringify!(GetSurroundingPreedit)
        )
    );
}
impl Default for _FcitxFrontend {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxFrontend = _FcitxFrontend;
extern "C" {
    pub fn FcitxFrontendsInit(frontends: *mut UT_array);
}
extern "C" {
    pub fn FcitxInstanceFindIC(
        instance: *mut _FcitxInstance,
        frontendid: ::std::os::raw::c_int,
        filter: *mut ::std::os::raw::c_void,
    ) -> *mut FcitxInputContext;
}
extern "C" {
    pub fn FcitxInstanceCreateIC(
        instance: *mut _FcitxInstance,
        frontendid: ::std::os::raw::c_int,
        priv_: *mut ::std::os::raw::c_void,
    ) -> *mut FcitxInputContext;
}
extern "C" {
    pub fn FcitxInstanceDestroyIC(
        instance: *mut _FcitxInstance,
        frontendid: ::std::os::raw::c_int,
        filter: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn FcitxInstanceLoadFrontend(instance: *mut _FcitxInstance) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceCommitString(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
        str: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxInstanceGetSurroundingText(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
        str: *mut *mut ::std::os::raw::c_char,
        cursor: *mut ::std::os::raw::c_uint,
        anchor: *mut ::std::os::raw::c_uint,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceDeleteSurroundingText(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
        offset: ::std::os::raw::c_int,
        size: ::std::os::raw::c_uint,
    );
}
extern "C" {
    pub fn FcitxInstanceSetWindowOffset(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxInstanceGetWindowPosition(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
        x: *mut ::std::os::raw::c_int,
        y: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxInstanceGetWindowRect(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
        x: *mut ::std::os::raw::c_int,
        y: *mut ::std::os::raw::c_int,
        w: *mut ::std::os::raw::c_int,
        h: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxInstanceUpdatePreedit(instance: *mut _FcitxInstance, ic: *mut FcitxInputContext);
}
extern "C" {
    pub fn FcitxInstanceUpdateClientSideUI(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
    );
}
extern "C" {
    pub fn FcitxInstanceGetCurrentState(instance: *mut _FcitxInstance) -> FcitxContextState;
}
extern "C" {
    pub fn FcitxInstanceGetCurrentStatev2(instance: *mut _FcitxInstance) -> FcitxContextState;
}
extern "C" {
    pub fn FcitxInstanceGetCurrentCapacity(instance: *mut _FcitxInstance) -> FcitxCapacityFlags;
}
extern "C" {
    pub fn FcitxInstanceSetICStateFromSameApplication(
        instance: *mut _FcitxInstance,
        frontendid: ::std::os::raw::c_int,
        ic: *mut FcitxInputContext,
    );
}
extern "C" {
    pub fn FcitxInstanceGetICData(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
        icdataid: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn FcitxInstanceSetICData(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
        icdataid: ::std::os::raw::c_int,
        newdata: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn FcitxInstanceAllocDataForIC(
        instance: *mut _FcitxInstance,
        allocCallback: FcitxICDataAllocCallback,
        copyCallback: FcitxICDataCopyCallback,
        freeCallback: FcitxICDataFreeCallback,
        arg: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInstanceICSupportPreedit(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
    ) -> boolean;
}
pub const _FcitxSwitchKey_SWITCHKEY_R_CTRL: _FcitxSwitchKey = 0;
pub const _FcitxSwitchKey_SWITCHKEY_R_SHIFT: _FcitxSwitchKey = 1;
pub const _FcitxSwitchKey_SWITCHKEY_L_SHIFT: _FcitxSwitchKey = 2;
pub const _FcitxSwitchKey_SWITCHKEY_L_CTRL: _FcitxSwitchKey = 3;
pub const _FcitxSwitchKey_SWITCHKEY_ALT_L_SHIFT: _FcitxSwitchKey = 4;
pub const _FcitxSwitchKey_SWITCHKEY_ALT_R_SHIFT: _FcitxSwitchKey = 5;
pub const _FcitxSwitchKey_SWITCHKEY_CTRL_BOTH: _FcitxSwitchKey = 6;
pub const _FcitxSwitchKey_SWITCHKEY_SHIFT_BOTH: _FcitxSwitchKey = 7;
pub const _FcitxSwitchKey_SWITCHKEY_LALT: _FcitxSwitchKey = 8;
pub const _FcitxSwitchKey_SWITCHKEY_RALT: _FcitxSwitchKey = 9;
pub const _FcitxSwitchKey_SWITCHKEY_ALT_BOTH: _FcitxSwitchKey = 10;
pub const _FcitxSwitchKey_SWITCHKEY_None: _FcitxSwitchKey = 11;
pub type _FcitxSwitchKey = u32;
pub use self::_FcitxSwitchKey as FcitxSwitchKey;
pub const _FcitxIMSwitchKey_IMSWITCHKEY_CTRL_SHIFT: _FcitxIMSwitchKey = 0;
pub const _FcitxIMSwitchKey_IMSWITCHKEY_ALT_SHIFT: _FcitxIMSwitchKey = 1;
pub type _FcitxIMSwitchKey = u32;
pub use self::_FcitxIMSwitchKey as FcitxIMSwitchKey;
pub const _FcitxEnterAcion_K_ENTER_NOTHING: _FcitxEnterAcion = 0;
pub const _FcitxEnterAcion_K_ENTER_CLEAN: _FcitxEnterAcion = 1;
pub const _FcitxEnterAcion_K_ENTER_SEND: _FcitxEnterAcion = 2;
pub type _FcitxEnterAcion = u32;
pub use self::_FcitxEnterAcion as FcitxEnterAcion;
pub const _FcitxShareState_ShareState_None: _FcitxShareState = 0;
pub const _FcitxShareState_ShareState_All: _FcitxShareState = 1;
pub const _FcitxShareState_ShareState_PerProgram: _FcitxShareState = 2;
pub type _FcitxShareState = u32;
pub use self::_FcitxShareState as FcitxShareState;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _FcitxConfig {
    pub gconfig: FcitxGenericConfig,
    pub iDelayStart: ::std::os::raw::c_int,
    pub dummy3: boolean,
    pub bEngPuncAfterNumber: boolean,
    pub enterToDo: FcitxEnterAcion,
    pub bDisablePagingInRemind: boolean,
    pub bSendTextWhenSwitchEng: boolean,
    pub iMaxCandWord: ::std::os::raw::c_int,
    pub bPhraseTips: boolean,
    pub bShowInputWindowTriggering: boolean,
    pub bPointAfterNumber: boolean,
    pub bShowUserSpeed: boolean,
    pub bShowVersion: boolean,
    pub hkTrigger: [FcitxHotkey; 2usize],
    pub iSwitchKey: FcitxSwitchKey,
    pub dummykey: [FcitxHotkey; 2usize],
    pub bDoubleSwitchKey: boolean,
    pub iTimeInterval: ::std::os::raw::c_int,
    pub hkVK: [FcitxHotkey; 2usize],
    pub hkRemind: [FcitxHotkey; 2usize],
    pub hkFullWidthChar: [FcitxHotkey; 2usize],
    pub hkPunc: [FcitxHotkey; 2usize],
    pub hkPrevPage: [FcitxHotkey; 2usize],
    pub hkNextPage: [FcitxHotkey; 2usize],
    pub str2nd3rdCand: [FcitxHotkey; 2usize],
    pub hkSaveAll: [FcitxHotkey; 2usize],
    pub i2ndSelectKey: [FcitxHotkey; 2usize],
    pub i3rdSelectKey: [FcitxHotkey; 2usize],
    pub bHideInputWindowWhenOnlyPreeditString: boolean,
    pub bHideInputWindowWhenOnlyOneCandidate: boolean,
    pub hkSwitchEmbeddedPreedit: [FcitxHotkey; 2usize],
    pub shareState: FcitxShareState,
    pub defaultIMState: FcitxContextState,
    pub bIMSwitchKey: boolean,
    pub dummy: boolean,
    pub _defaultIMState: ::std::os::raw::c_int,
    pub bDontCommitPreeditWhenUnfocus: boolean,
    pub iIMSwitchKey: ::std::os::raw::c_int,
    pub __bindgen_anon_1: _FcitxConfig__bindgen_ty_1,
    pub __bindgen_anon_2: _FcitxConfig__bindgen_ty_2,
    pub bUseExtraTriggerKeyOnlyWhenUseItToInactivate: boolean,
    pub bShowInputWindowWhenFocusIn: boolean,
    pub bShowInputWindowOnlyWhenActive: boolean,
    pub bIMSwitchIncludeInactive: boolean,
    pub __bindgen_anon_3: _FcitxConfig__bindgen_ty_3,
    pub __bindgen_anon_4: _FcitxConfig__bindgen_ty_4,
    pub __bindgen_anon_5: _FcitxConfig__bindgen_ty_5,
    pub __bindgen_anon_6: _FcitxConfig__bindgen_ty_6,
    pub padding: [::std::os::raw::c_int; 7usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxConfig__bindgen_ty_1 {
    pub hkActivate: [FcitxHotkey; 2usize],
    pub dummy1: [::std::os::raw::c_int; 8usize],
    _bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout__FcitxConfig__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfig__bindgen_ty_1>(),
        32usize,
        concat!("Size of: ", stringify!(_FcitxConfig__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfig__bindgen_ty_1>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfig__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_1>())).hkActivate as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_1),
            "::",
            stringify!(hkActivate)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_1>())).dummy1 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_1),
            "::",
            stringify!(dummy1)
        )
    );
}
impl Default for _FcitxConfig__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxConfig__bindgen_ty_2 {
    pub hkInactivate: [FcitxHotkey; 2usize],
    pub dummy2: [::std::os::raw::c_int; 8usize],
    _bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout__FcitxConfig__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfig__bindgen_ty_2>(),
        32usize,
        concat!("Size of: ", stringify!(_FcitxConfig__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfig__bindgen_ty_2>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfig__bindgen_ty_2))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_2>())).hkInactivate as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_2),
            "::",
            stringify!(hkInactivate)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_2>())).dummy2 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_2),
            "::",
            stringify!(dummy2)
        )
    );
}
impl Default for _FcitxConfig__bindgen_ty_2 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxConfig__bindgen_ty_3 {
    pub prevWord: [FcitxHotkey; 2usize],
    pub _dummy4: [::std::os::raw::c_int; 8usize],
    _bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout__FcitxConfig__bindgen_ty_3() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfig__bindgen_ty_3>(),
        32usize,
        concat!("Size of: ", stringify!(_FcitxConfig__bindgen_ty_3))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfig__bindgen_ty_3>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfig__bindgen_ty_3))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_3>())).prevWord as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_3),
            "::",
            stringify!(prevWord)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_3>()))._dummy4 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_3),
            "::",
            stringify!(_dummy4)
        )
    );
}
impl Default for _FcitxConfig__bindgen_ty_3 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxConfig__bindgen_ty_4 {
    pub nextWord: [FcitxHotkey; 2usize],
    pub _dummy5: [::std::os::raw::c_int; 8usize],
    _bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout__FcitxConfig__bindgen_ty_4() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfig__bindgen_ty_4>(),
        32usize,
        concat!("Size of: ", stringify!(_FcitxConfig__bindgen_ty_4))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfig__bindgen_ty_4>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfig__bindgen_ty_4))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_4>())).nextWord as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_4),
            "::",
            stringify!(nextWord)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_4>()))._dummy5 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_4),
            "::",
            stringify!(_dummy5)
        )
    );
}
impl Default for _FcitxConfig__bindgen_ty_4 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxConfig__bindgen_ty_5 {
    pub hkReloadConfig: [FcitxHotkey; 2usize],
    pub _dummy6: [::std::os::raw::c_int; 8usize],
    _bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout__FcitxConfig__bindgen_ty_5() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfig__bindgen_ty_5>(),
        32usize,
        concat!("Size of: ", stringify!(_FcitxConfig__bindgen_ty_5))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfig__bindgen_ty_5>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfig__bindgen_ty_5))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_5>())).hkReloadConfig as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_5),
            "::",
            stringify!(hkReloadConfig)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_5>()))._dummy6 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_5),
            "::",
            stringify!(_dummy6)
        )
    );
}
impl Default for _FcitxConfig__bindgen_ty_5 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _FcitxConfig__bindgen_ty_6 {
    pub hkCustomSwitchKey: [FcitxHotkey; 2usize],
    pub _dummy7: [::std::os::raw::c_int; 8usize],
    _bindgen_union_align: [u64; 4usize],
}
#[test]
fn bindgen_test_layout__FcitxConfig__bindgen_ty_6() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfig__bindgen_ty_6>(),
        32usize,
        concat!("Size of: ", stringify!(_FcitxConfig__bindgen_ty_6))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfig__bindgen_ty_6>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfig__bindgen_ty_6))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_6>())).hkCustomSwitchKey as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_6),
            "::",
            stringify!(hkCustomSwitchKey)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig__bindgen_ty_6>()))._dummy7 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig__bindgen_ty_6),
            "::",
            stringify!(_dummy7)
        )
    );
}
impl Default for _FcitxConfig__bindgen_ty_6 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
#[test]
fn bindgen_test_layout__FcitxConfig() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxConfig>(),
        768usize,
        concat!("Size of: ", stringify!(_FcitxConfig))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxConfig>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxConfig))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).gconfig as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(gconfig)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).iDelayStart as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(iDelayStart)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).dummy3 as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(dummy3)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bEngPuncAfterNumber as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bEngPuncAfterNumber)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).enterToDo as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(enterToDo)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bDisablePagingInRemind as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bDisablePagingInRemind)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bSendTextWhenSwitchEng as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bSendTextWhenSwitchEng)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).iMaxCandWord as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(iMaxCandWord)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).bPhraseTips as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bPhraseTips)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bShowInputWindowTriggering as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bShowInputWindowTriggering)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).bPointAfterNumber as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bPointAfterNumber)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).bShowUserSpeed as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bShowUserSpeed)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).bShowVersion as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bShowVersion)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).hkTrigger as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(hkTrigger)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).iSwitchKey as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(iSwitchKey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).dummykey as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(dummykey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).bDoubleSwitchKey as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bDoubleSwitchKey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).iTimeInterval as *const _ as usize },
        132usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(iTimeInterval)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).hkVK as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(hkVK)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).hkRemind as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(hkRemind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).hkFullWidthChar as *const _ as usize },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(hkFullWidthChar)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).hkPunc as *const _ as usize },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(hkPunc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).hkPrevPage as *const _ as usize },
        264usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(hkPrevPage)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).hkNextPage as *const _ as usize },
        296usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(hkNextPage)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).str2nd3rdCand as *const _ as usize },
        328usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(str2nd3rdCand)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).hkSaveAll as *const _ as usize },
        360usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(hkSaveAll)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).i2ndSelectKey as *const _ as usize },
        392usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(i2ndSelectKey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).i3rdSelectKey as *const _ as usize },
        424usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(i3rdSelectKey)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bHideInputWindowWhenOnlyPreeditString
                as *const _ as usize
        },
        456usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bHideInputWindowWhenOnlyPreeditString)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bHideInputWindowWhenOnlyOneCandidate
                as *const _ as usize
        },
        460usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bHideInputWindowWhenOnlyOneCandidate)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).hkSwitchEmbeddedPreedit as *const _ as usize
        },
        464usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(hkSwitchEmbeddedPreedit)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).shareState as *const _ as usize },
        496usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(shareState)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).defaultIMState as *const _ as usize },
        500usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(defaultIMState)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).bIMSwitchKey as *const _ as usize },
        504usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bIMSwitchKey)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).dummy as *const _ as usize },
        508usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(dummy)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>()))._defaultIMState as *const _ as usize },
        512usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(_defaultIMState)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bDontCommitPreeditWhenUnfocus as *const _
                as usize
        },
        516usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bDontCommitPreeditWhenUnfocus)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).iIMSwitchKey as *const _ as usize },
        520usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(iIMSwitchKey)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bUseExtraTriggerKeyOnlyWhenUseItToInactivate
                as *const _ as usize
        },
        592usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bUseExtraTriggerKeyOnlyWhenUseItToInactivate)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bShowInputWindowWhenFocusIn as *const _
                as usize
        },
        596usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bShowInputWindowWhenFocusIn)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bShowInputWindowOnlyWhenActive as *const _
                as usize
        },
        600usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bShowInputWindowOnlyWhenActive)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_FcitxConfig>())).bIMSwitchIncludeInactive as *const _ as usize
        },
        604usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(bIMSwitchIncludeInactive)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxConfig>())).padding as *const _ as usize },
        736usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxConfig),
            "::",
            stringify!(padding)
        )
    );
}
impl Default for _FcitxConfig {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxGlobalConfig = _FcitxConfig;
extern "C" {
    pub fn FcitxGlobalConfigLoad(fc: *mut FcitxGlobalConfig) -> boolean;
}
extern "C" {
    pub fn FcitxGlobalConfigSave(fc: *mut FcitxGlobalConfig);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxProfile {
    pub gconfig: FcitxGenericConfig,
    pub bUseRemind: boolean,
    pub imName: *mut ::std::os::raw::c_char,
    pub bUseWidePunc: boolean,
    pub bUseFullWidthChar: boolean,
    pub bUsePreedit: boolean,
    pub imList: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout__FcitxProfile() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxProfile>(),
        48usize,
        concat!("Size of: ", stringify!(_FcitxProfile))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxProfile>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxProfile))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxProfile>())).gconfig as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxProfile),
            "::",
            stringify!(gconfig)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxProfile>())).bUseRemind as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxProfile),
            "::",
            stringify!(bUseRemind)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxProfile>())).imName as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxProfile),
            "::",
            stringify!(imName)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxProfile>())).bUseWidePunc as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxProfile),
            "::",
            stringify!(bUseWidePunc)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxProfile>())).bUseFullWidthChar as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxProfile),
            "::",
            stringify!(bUseFullWidthChar)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxProfile>())).bUsePreedit as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxProfile),
            "::",
            stringify!(bUsePreedit)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxProfile>())).imList as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxProfile),
            "::",
            stringify!(imList)
        )
    );
}
impl Default for _FcitxProfile {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxProfile = _FcitxProfile;
extern "C" {
    pub fn FcitxProfileLoad(profile: *mut FcitxProfile, instance: *mut _FcitxInstance) -> boolean;
}
extern "C" {
    pub fn FcitxProfileSave(profile: *mut FcitxProfile);
}
pub type FcitxInstance = _FcitxInstance;
pub type FcitxTimeoutCallback =
    ::std::option::Option<unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void)>;
extern "C" {
    pub fn FcitxInstanceCreate(
        sem: *mut sem_t,
        argc: ::std::os::raw::c_int,
        argv: *mut *mut ::std::os::raw::c_char,
    ) -> *mut FcitxInstance;
}
extern "C" {
    pub fn FcitxInstanceCreateWithFD(
        sem: *mut sem_t,
        argc: ::std::os::raw::c_int,
        argv: *mut *mut ::std::os::raw::c_char,
        fd: ::std::os::raw::c_int,
    ) -> *mut FcitxInstance;
}
extern "C" {
    pub fn FcitxInstanceCreatePause(
        sem: *mut sem_t,
        argc: ::std::os::raw::c_int,
        argv: *mut *mut ::std::os::raw::c_char,
        fd: ::std::os::raw::c_int,
    ) -> *mut FcitxInstance;
}
extern "C" {
    pub fn FcitxInstanceStart(instance: *mut FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceIsTryReplace(instance: *mut FcitxInstance) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceResetTryReplace(instance: *mut FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceSetRecheckEvent(instance: *mut FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceLock(instance: *mut FcitxInstance) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInstanceUnlock(instance: *mut FcitxInstance) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInstanceEnd(instance: *mut FcitxInstance);
}
extern "C" {
    pub fn FcitxInstanceGetIsDestroying(instance: *mut FcitxInstance) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceGetCurrentIC(instance: *mut _FcitxInstance) -> *mut FcitxInputContext;
}
extern "C" {
    pub fn FcitxInstanceSetCurrentIC(
        instance: *mut _FcitxInstance,
        ic: *mut FcitxInputContext,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceGetAddons(instance: *mut FcitxInstance) -> *mut UT_array;
}
extern "C" {
    pub fn FcitxInstanceGetUIMenus(instance: *mut FcitxInstance) -> *mut UT_array;
}
extern "C" {
    pub fn FcitxInstanceGetUIStats(instance: *mut FcitxInstance) -> *mut UT_array;
}
extern "C" {
    pub fn FcitxInstanceGetUIComplexStats(instance: *mut FcitxInstance) -> *mut UT_array;
}
extern "C" {
    pub fn FcitxInstanceGetIMEs(instance: *mut FcitxInstance) -> *mut UT_array;
}
extern "C" {
    pub fn FcitxInstanceGetAvailIMEs(instance: *mut FcitxInstance) -> *mut UT_array;
}
extern "C" {
    pub fn FcitxInstanceGetReadFDSet(instance: *mut FcitxInstance) -> *mut fd_set;
}
extern "C" {
    pub fn FcitxInstanceGetWriteFDSet(instance: *mut FcitxInstance) -> *mut fd_set;
}
extern "C" {
    pub fn FcitxInstanceGetExceptFDSet(instance: *mut FcitxInstance) -> *mut fd_set;
}
extern "C" {
    pub fn FcitxInstanceGetCurrentUI(instance: *mut FcitxInstance) -> *mut _FcitxAddon;
}
extern "C" {
    pub fn FcitxInstanceGetMaxFD(instance: *mut FcitxInstance) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInstanceSetMaxFD(instance: *mut FcitxInstance, maxfd: ::std::os::raw::c_int);
}
extern "C" {
    pub fn FcitxInstanceGetGlobalConfig(instance: *mut FcitxInstance) -> *mut FcitxGlobalConfig;
}
extern "C" {
    pub fn FcitxInstanceGetProfile(instance: *mut FcitxInstance) -> *mut FcitxProfile;
}
extern "C" {
    pub fn FcitxInstanceGetInputState(instance: *mut FcitxInstance) -> *mut FcitxInputState;
}
extern "C" {
    pub fn FcitxInstanceAddTimeout(
        instance: *mut FcitxInstance,
        milli: ::std::os::raw::c_long,
        callback: FcitxTimeoutCallback,
        arg: *mut ::std::os::raw::c_void,
    ) -> u64;
}
extern "C" {
    pub fn FcitxInstanceCheckTimeoutByFunc(
        instance: *mut FcitxInstance,
        callback: FcitxTimeoutCallback,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceCheckTimeoutById(instance: *mut FcitxInstance, id: u64) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceRemoveTimeoutByFunc(
        instance: *mut FcitxInstance,
        callback: FcitxTimeoutCallback,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceRemoveTimeoutById(instance: *mut FcitxInstance, id: u64) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceWaitForEnd(instance: *mut FcitxInstance) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxInstanceRun(
        argc: ::std::os::raw::c_int,
        argv: *mut *mut ::std::os::raw::c_char,
        fd: ::std::os::raw::c_int,
    ) -> boolean;
}
extern "C" {
    pub fn FcitxInstanceRestart(instance: *mut FcitxInstance);
}
pub const _FcitxCandidateLayoutHint_CLH_NotSet: _FcitxCandidateLayoutHint = 0;
pub const _FcitxCandidateLayoutHint_CLH_Vertical: _FcitxCandidateLayoutHint = 1;
pub const _FcitxCandidateLayoutHint_CLH_Horizontal: _FcitxCandidateLayoutHint = 2;
pub type _FcitxCandidateLayoutHint = u32;
pub use self::_FcitxCandidateLayoutHint as FcitxCandidateLayoutHint;
pub type FcitxCandidateWordList = _FcitxCandidateWordList;
pub type FcitxCandidateWordCommitCallback = ::std::option::Option<
    unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, candWord: *mut _FcitxCandidateWord)
        -> INPUT_RETURN_VALUE,
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _FcitxCandidateWord {
    pub strWord: *mut ::std::os::raw::c_char,
    pub strExtra: *mut ::std::os::raw::c_char,
    pub callback: FcitxCandidateWordCommitCallback,
    pub wordType: FcitxMessageType,
    pub extraType: FcitxMessageType,
    pub owner: *mut ::std::os::raw::c_void,
    pub priv_: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout__FcitxCandidateWord() {
    assert_eq!(
        ::std::mem::size_of::<_FcitxCandidateWord>(),
        48usize,
        concat!("Size of: ", stringify!(_FcitxCandidateWord))
    );
    assert_eq!(
        ::std::mem::align_of::<_FcitxCandidateWord>(),
        8usize,
        concat!("Alignment of ", stringify!(_FcitxCandidateWord))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxCandidateWord>())).strWord as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxCandidateWord),
            "::",
            stringify!(strWord)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxCandidateWord>())).strExtra as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxCandidateWord),
            "::",
            stringify!(strExtra)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxCandidateWord>())).callback as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxCandidateWord),
            "::",
            stringify!(callback)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxCandidateWord>())).wordType as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxCandidateWord),
            "::",
            stringify!(wordType)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxCandidateWord>())).extraType as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxCandidateWord),
            "::",
            stringify!(extraType)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxCandidateWord>())).owner as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxCandidateWord),
            "::",
            stringify!(owner)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_FcitxCandidateWord>())).priv_ as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(_FcitxCandidateWord),
            "::",
            stringify!(priv_)
        )
    );
}
impl Default for _FcitxCandidateWord {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type FcitxCandidateWord = _FcitxCandidateWord;
extern "C" {
    pub fn FcitxCandidateWordNewList() -> *mut _FcitxCandidateWordList;
}
extern "C" {
    pub fn FcitxCandidateWordFreeList(list: *mut _FcitxCandidateWordList);
}
extern "C" {
    pub fn FcitxCandidateWordInsert(
        candList: *mut FcitxCandidateWordList,
        candWord: *mut FcitxCandidateWord,
        position: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordMerge(
        candList: *mut FcitxCandidateWordList,
        newList: *mut FcitxCandidateWordList,
        position: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordInsertPlaceHolder(
        candList: *mut _FcitxCandidateWordList,
        position: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordMove(
        candList: *mut FcitxCandidateWordList,
        from: ::std::os::raw::c_int,
        to: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordMoveByWord(
        candList: *mut FcitxCandidateWordList,
        candWord: *mut FcitxCandidateWord,
        to: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordAppend(
        candList: *mut _FcitxCandidateWordList,
        candWord: *mut FcitxCandidateWord,
    );
}
extern "C" {
    pub fn FcitxCandidateWordRemove(
        candList: *mut _FcitxCandidateWordList,
        candWord: *mut FcitxCandidateWord,
    );
}
extern "C" {
    pub fn FcitxCandidateWordRemoveByIndex(
        candList: *mut FcitxCandidateWordList,
        idx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordSetPage(
        candList: *mut _FcitxCandidateWordList,
        index: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordSetFocus(
        candList: *mut _FcitxCandidateWordList,
        index: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordGetCurrentIndex(
        candList: *mut _FcitxCandidateWordList,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxCandidateWordGetCurrentWindow(
        candList: *mut _FcitxCandidateWordList,
    ) -> *mut FcitxCandidateWord;
}
extern "C" {
    pub fn FcitxCandidateWordGetCurrentWindowNext(
        candList: *mut _FcitxCandidateWordList,
        candWord: *mut FcitxCandidateWord,
    ) -> *mut FcitxCandidateWord;
}
extern "C" {
    pub fn FcitxCandidateWordGetCurrentWindowPrev(
        candList: *mut _FcitxCandidateWordList,
        candWord: *mut FcitxCandidateWord,
    ) -> *mut FcitxCandidateWord;
}
extern "C" {
    pub fn FcitxCandidateWordGetByTotalIndex(
        candList: *mut _FcitxCandidateWordList,
        index: ::std::os::raw::c_int,
    ) -> *mut FcitxCandidateWord;
}
extern "C" {
    pub fn FcitxCandidateWordGetIndex(
        candList: *mut FcitxCandidateWordList,
        word: *mut FcitxCandidateWord,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxCandidateWordGetByIndex(
        candList: *mut _FcitxCandidateWordList,
        index: ::std::os::raw::c_int,
    ) -> *mut FcitxCandidateWord;
}
extern "C" {
    pub fn FcitxCandidateWordChooseByIndex(
        candList: *mut _FcitxCandidateWordList,
        index: ::std::os::raw::c_int,
    ) -> INPUT_RETURN_VALUE;
}
extern "C" {
    pub fn FcitxCandidateWordChooseByTotalIndex(
        candList: *mut _FcitxCandidateWordList,
        index: ::std::os::raw::c_int,
    ) -> INPUT_RETURN_VALUE;
}
extern "C" {
    pub fn FcitxCandidateWordFree(arg: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn FcitxCandidateWordHasNext(candList: *mut _FcitxCandidateWordList) -> boolean;
}
extern "C" {
    pub fn FcitxCandidateWordHasPrev(candList: *mut _FcitxCandidateWordList) -> boolean;
}
extern "C" {
    pub fn FcitxCandidateWordPageCount(
        candList: *mut _FcitxCandidateWordList,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxCandidateWordReset(candList: *mut _FcitxCandidateWordList);
}
extern "C" {
    pub fn FcitxCandidateWordGoPrevPage(candList: *mut _FcitxCandidateWordList) -> boolean;
}
extern "C" {
    pub fn FcitxCandidateWordGoNextPage(candList: *mut _FcitxCandidateWordList) -> boolean;
}
extern "C" {
    pub fn FcitxCandidateWordSetChoose(
        candList: *mut _FcitxCandidateWordList,
        strChoose: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn FcitxCandidateWordSetChooseAndModifier(
        candList: *mut _FcitxCandidateWordList,
        strChoose: *const ::std::os::raw::c_char,
        state: ::std::os::raw::c_uint,
    );
}
extern "C" {
    pub fn FcitxCandidateWordGetChoose(
        candList: *mut _FcitxCandidateWordList,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn FcitxCandidateWordGetModifier(
        candList: *mut _FcitxCandidateWordList,
    ) -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn FcitxCandidateWordResize(
        candList: *mut _FcitxCandidateWordList,
        length: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordGetPageSize(
        candList: *mut _FcitxCandidateWordList,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxCandidateWordSetPageSize(
        candList: *mut _FcitxCandidateWordList,
        size: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FcitxCandidateWordGetCurrentPage(
        candList: *mut _FcitxCandidateWordList,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxCandidateWordGetCurrentWindowSize(
        candList: *mut _FcitxCandidateWordList,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxCandidateWordGetListSize(
        candList: *mut _FcitxCandidateWordList,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxCandidateWordGetHasGoneToPrevPage(candList: *mut FcitxCandidateWordList)
        -> boolean;
}
extern "C" {
    pub fn FcitxCandidateWordGetHasGoneToNextPage(candList: *mut FcitxCandidateWordList)
        -> boolean;
}
extern "C" {
    pub fn FcitxCandidateWordGetFirst(
        candList: *mut FcitxCandidateWordList,
    ) -> *mut FcitxCandidateWord;
}
extern "C" {
    pub fn FcitxCandidateWordGetLast(
        candList: *mut FcitxCandidateWordList,
    ) -> *mut FcitxCandidateWord;
}
extern "C" {
    pub fn FcitxCandidateWordGetNext(
        candList: *mut FcitxCandidateWordList,
        candWord: *mut FcitxCandidateWord,
    ) -> *mut FcitxCandidateWord;
}
extern "C" {
    pub fn FcitxCandidateWordGetPrev(
        candList: *mut FcitxCandidateWordList,
        candWord: *mut FcitxCandidateWord,
    ) -> *mut FcitxCandidateWord;
}
extern "C" {
    pub fn FcitxCandidateWordCheckChooseKey(
        candList: *mut FcitxCandidateWordList,
        sym: FcitxKeySym,
        state: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FcitxCandidateWordSetLayoutHint(
        candList: *mut FcitxCandidateWordList,
        hint: FcitxCandidateLayoutHint,
    );
}
extern "C" {
    pub fn FcitxCandidateWordGetLayoutHint(
        candList: *mut FcitxCandidateWordList,
    ) -> FcitxCandidateLayoutHint;
}
pub type FcitxPaging = ::std::option::Option<
    unsafe extern "C" fn(arg: *mut ::std::os::raw::c_void, prev: boolean) -> boolean,
>;
extern "C" {
    pub fn FcitxCandidateWordSetOverridePaging(
        candList: *mut FcitxCandidateWordList,
        hasPrev: boolean,
        hasNext: boolean,
        paging: FcitxPaging,
        arg: *mut ::std::os::raw::c_void,
        destroyNotify: FcitxDestroyNotify,
    );
}
extern "C" {
    pub fn FcitxCandidateWordSetOverrideDefaultHighlight(
        candList: *mut FcitxCandidateWordList,
        overrideValue: boolean,
    );
}
extern "C" {
    pub fn FcitxCandidateWordGetFocus(
        cand_list: *mut FcitxCandidateWordList,
        clear: boolean,
    ) -> *mut FcitxCandidateWord;
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct __locale_data {
    pub _address: u8,
}
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __va_list_tag {
    pub gp_offset: ::std::os::raw::c_uint,
    pub fp_offset: ::std::os::raw::c_uint,
    pub overflow_arg_area: *mut ::std::os::raw::c_void,
    pub reg_save_area: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout___va_list_tag() {
    assert_eq!(
        ::std::mem::size_of::<__va_list_tag>(),
        24usize,
        concat!("Size of: ", stringify!(__va_list_tag))
    );
    assert_eq!(
        ::std::mem::align_of::<__va_list_tag>(),
        8usize,
        concat!("Alignment of ", stringify!(__va_list_tag))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(gp_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(fp_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(overflow_arg_area)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(reg_save_area)
        )
    );
}
impl Default for __va_list_tag {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
