pub const _SYS_TIME_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const _DEFAULT_SOURCE: u32 = 1;
pub const __GLIBC_USE_ISOC2X: u32 = 0;
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 __WORDSIZE: u32 = 64;
pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
pub const __SYSCALL_WORDSIZE: u32 = 64;
pub const __TIMESIZE: u32 = 64;
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 __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_60559_BFP__: u32 = 201404;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
pub const __STDC_ISO_10646__: u32 = 201706;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 35;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __glibc_c99_flexarr_available: u32 = 1;
pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
pub const __HAVE_GENERIC_SELECTION: 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 __STATFS_MATCHES_STATFS64: u32 = 1;
pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
pub const __FD_SETSIZE: u32 = 1024;
pub const _BITS_TIME64_H: u32 = 1;
pub const __time_t_defined: u32 = 1;
pub const __timeval_defined: u32 = 1;
pub const _SYS_SELECT_H: u32 = 1;
pub const __sigset_t_defined: u32 = 1;
pub const _STRUCT_TIMESPEC: u32 = 1;
pub const _BITS_ENDIAN_H: u32 = 1;
pub const __LITTLE_ENDIAN: u32 = 1234;
pub const __BIG_ENDIAN: u32 = 4321;
pub const __PDP_ENDIAN: u32 = 3412;
pub const _BITS_ENDIANNESS_H: u32 = 1;
pub const __BYTE_ORDER: u32 = 1234;
pub const __FLOAT_WORD_ORDER: u32 = 1234;
pub const FD_SETSIZE: u32 = 1024;
pub const _SYS_IOCTL_H: u32 = 1;
pub const _IOC_NRBITS: u32 = 8;
pub const _IOC_TYPEBITS: u32 = 8;
pub const _IOC_SIZEBITS: u32 = 14;
pub const _IOC_DIRBITS: u32 = 2;
pub const _IOC_NRMASK: u32 = 255;
pub const _IOC_TYPEMASK: u32 = 255;
pub const _IOC_SIZEMASK: u32 = 16383;
pub const _IOC_DIRMASK: u32 = 3;
pub const _IOC_NRSHIFT: u32 = 0;
pub const _IOC_TYPESHIFT: u32 = 8;
pub const _IOC_SIZESHIFT: u32 = 16;
pub const _IOC_DIRSHIFT: u32 = 30;
pub const _IOC_NONE: u32 = 0;
pub const _IOC_WRITE: u32 = 1;
pub const _IOC_READ: u32 = 2;
pub const IOC_IN: u32 = 1073741824;
pub const IOC_OUT: u32 = 2147483648;
pub const IOC_INOUT: u32 = 3221225472;
pub const IOCSIZE_MASK: u32 = 1073676288;
pub const IOCSIZE_SHIFT: u32 = 16;
pub const TCGETS: u32 = 21505;
pub const TCSETS: u32 = 21506;
pub const TCSETSW: u32 = 21507;
pub const TCSETSF: u32 = 21508;
pub const TCGETA: u32 = 21509;
pub const TCSETA: u32 = 21510;
pub const TCSETAW: u32 = 21511;
pub const TCSETAF: u32 = 21512;
pub const TCSBRK: u32 = 21513;
pub const TCXONC: u32 = 21514;
pub const TCFLSH: u32 = 21515;
pub const TIOCEXCL: u32 = 21516;
pub const TIOCNXCL: u32 = 21517;
pub const TIOCSCTTY: u32 = 21518;
pub const TIOCGPGRP: u32 = 21519;
pub const TIOCSPGRP: u32 = 21520;
pub const TIOCOUTQ: u32 = 21521;
pub const TIOCSTI: u32 = 21522;
pub const TIOCGWINSZ: u32 = 21523;
pub const TIOCSWINSZ: u32 = 21524;
pub const TIOCMGET: u32 = 21525;
pub const TIOCMBIS: u32 = 21526;
pub const TIOCMBIC: u32 = 21527;
pub const TIOCMSET: u32 = 21528;
pub const TIOCGSOFTCAR: u32 = 21529;
pub const TIOCSSOFTCAR: u32 = 21530;
pub const FIONREAD: u32 = 21531;
pub const TIOCINQ: u32 = 21531;
pub const TIOCLINUX: u32 = 21532;
pub const TIOCCONS: u32 = 21533;
pub const TIOCGSERIAL: u32 = 21534;
pub const TIOCSSERIAL: u32 = 21535;
pub const TIOCPKT: u32 = 21536;
pub const FIONBIO: u32 = 21537;
pub const TIOCNOTTY: u32 = 21538;
pub const TIOCSETD: u32 = 21539;
pub const TIOCGETD: u32 = 21540;
pub const TCSBRKP: u32 = 21541;
pub const TIOCSBRK: u32 = 21543;
pub const TIOCCBRK: u32 = 21544;
pub const TIOCGSID: u32 = 21545;
pub const TIOCGRS485: u32 = 21550;
pub const TIOCSRS485: u32 = 21551;
pub const TCGETX: u32 = 21554;
pub const TCSETX: u32 = 21555;
pub const TCSETXF: u32 = 21556;
pub const TCSETXW: u32 = 21557;
pub const TIOCVHANGUP: u32 = 21559;
pub const FIONCLEX: u32 = 21584;
pub const FIOCLEX: u32 = 21585;
pub const FIOASYNC: u32 = 21586;
pub const TIOCSERCONFIG: u32 = 21587;
pub const TIOCSERGWILD: u32 = 21588;
pub const TIOCSERSWILD: u32 = 21589;
pub const TIOCGLCKTRMIOS: u32 = 21590;
pub const TIOCSLCKTRMIOS: u32 = 21591;
pub const TIOCSERGSTRUCT: u32 = 21592;
pub const TIOCSERGETLSR: u32 = 21593;
pub const TIOCSERGETMULTI: u32 = 21594;
pub const TIOCSERSETMULTI: u32 = 21595;
pub const TIOCMIWAIT: u32 = 21596;
pub const TIOCGICOUNT: u32 = 21597;
pub const FIOQSIZE: u32 = 21600;
pub const TIOCPKT_DATA: u32 = 0;
pub const TIOCPKT_FLUSHREAD: u32 = 1;
pub const TIOCPKT_FLUSHWRITE: u32 = 2;
pub const TIOCPKT_STOP: u32 = 4;
pub const TIOCPKT_START: u32 = 8;
pub const TIOCPKT_NOSTOP: u32 = 16;
pub const TIOCPKT_DOSTOP: u32 = 32;
pub const TIOCPKT_IOCTL: u32 = 64;
pub const TIOCSER_TEMT: u32 = 1;
pub const SIOCADDRT: u32 = 35083;
pub const SIOCDELRT: u32 = 35084;
pub const SIOCRTMSG: u32 = 35085;
pub const SIOCGIFNAME: u32 = 35088;
pub const SIOCSIFLINK: u32 = 35089;
pub const SIOCGIFCONF: u32 = 35090;
pub const SIOCGIFFLAGS: u32 = 35091;
pub const SIOCSIFFLAGS: u32 = 35092;
pub const SIOCGIFADDR: u32 = 35093;
pub const SIOCSIFADDR: u32 = 35094;
pub const SIOCGIFDSTADDR: u32 = 35095;
pub const SIOCSIFDSTADDR: u32 = 35096;
pub const SIOCGIFBRDADDR: u32 = 35097;
pub const SIOCSIFBRDADDR: u32 = 35098;
pub const SIOCGIFNETMASK: u32 = 35099;
pub const SIOCSIFNETMASK: u32 = 35100;
pub const SIOCGIFMETRIC: u32 = 35101;
pub const SIOCSIFMETRIC: u32 = 35102;
pub const SIOCGIFMEM: u32 = 35103;
pub const SIOCSIFMEM: u32 = 35104;
pub const SIOCGIFMTU: u32 = 35105;
pub const SIOCSIFMTU: u32 = 35106;
pub const SIOCSIFNAME: u32 = 35107;
pub const SIOCSIFHWADDR: u32 = 35108;
pub const SIOCGIFENCAP: u32 = 35109;
pub const SIOCSIFENCAP: u32 = 35110;
pub const SIOCGIFHWADDR: u32 = 35111;
pub const SIOCGIFSLAVE: u32 = 35113;
pub const SIOCSIFSLAVE: u32 = 35120;
pub const SIOCADDMULTI: u32 = 35121;
pub const SIOCDELMULTI: u32 = 35122;
pub const SIOCGIFINDEX: u32 = 35123;
pub const SIOGIFINDEX: u32 = 35123;
pub const SIOCSIFPFLAGS: u32 = 35124;
pub const SIOCGIFPFLAGS: u32 = 35125;
pub const SIOCDIFADDR: u32 = 35126;
pub const SIOCSIFHWBROADCAST: u32 = 35127;
pub const SIOCGIFCOUNT: u32 = 35128;
pub const SIOCGIFBR: u32 = 35136;
pub const SIOCSIFBR: u32 = 35137;
pub const SIOCGIFTXQLEN: u32 = 35138;
pub const SIOCSIFTXQLEN: u32 = 35139;
pub const SIOCDARP: u32 = 35155;
pub const SIOCGARP: u32 = 35156;
pub const SIOCSARP: u32 = 35157;
pub const SIOCDRARP: u32 = 35168;
pub const SIOCGRARP: u32 = 35169;
pub const SIOCSRARP: u32 = 35170;
pub const SIOCGIFMAP: u32 = 35184;
pub const SIOCSIFMAP: u32 = 35185;
pub const SIOCADDDLCI: u32 = 35200;
pub const SIOCDELDLCI: u32 = 35201;
pub const SIOCDEVPRIVATE: u32 = 35312;
pub const SIOCPROTOPRIVATE: u32 = 35296;
pub const NCC: u32 = 8;
pub const TIOCM_LE: u32 = 1;
pub const TIOCM_DTR: u32 = 2;
pub const TIOCM_RTS: u32 = 4;
pub const TIOCM_ST: u32 = 8;
pub const TIOCM_SR: u32 = 16;
pub const TIOCM_CTS: u32 = 32;
pub const TIOCM_CAR: u32 = 64;
pub const TIOCM_RNG: u32 = 128;
pub const TIOCM_DSR: u32 = 256;
pub const TIOCM_CD: u32 = 64;
pub const TIOCM_RI: u32 = 128;
pub const N_TTY: u32 = 0;
pub const N_SLIP: u32 = 1;
pub const N_MOUSE: u32 = 2;
pub const N_PPP: u32 = 3;
pub const N_STRIP: u32 = 4;
pub const N_AX25: u32 = 5;
pub const N_X25: u32 = 6;
pub const N_6PACK: u32 = 7;
pub const N_MASC: u32 = 8;
pub const N_R3964: u32 = 9;
pub const N_PROFIBUS_FDL: u32 = 10;
pub const N_IRDA: u32 = 11;
pub const N_SMSBLOCK: u32 = 12;
pub const N_HDLC: u32 = 13;
pub const N_SYNC_PPP: u32 = 14;
pub const N_HCI: u32 = 15;
pub const CEOL: u8 = 0u8;
pub const CERASE: u32 = 127;
pub const CSTATUS: u8 = 0u8;
pub const CMIN: u32 = 1;
pub const CQUIT: u32 = 28;
pub const CTIME: u32 = 0;
pub const CBRK: u8 = 0u8;
pub const _SYS_TYPES_H: u32 = 1;
pub const __clock_t_defined: u32 = 1;
pub const __clockid_t_defined: u32 = 1;
pub const __timer_t_defined: 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 _BITS_BYTESWAP_H: u32 = 1;
pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
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 _THREAD_MUTEX_INTERNAL_H: u32 = 1;
pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
pub const __have_pthread_attr_t: u32 = 1;
pub const __BITS_PER_LONG: u32 = 64;
pub const INPUT_PROP_POINTER: u32 = 0;
pub const INPUT_PROP_DIRECT: u32 = 1;
pub const INPUT_PROP_BUTTONPAD: u32 = 2;
pub const INPUT_PROP_SEMI_MT: u32 = 3;
pub const INPUT_PROP_TOPBUTTONPAD: u32 = 4;
pub const INPUT_PROP_POINTING_STICK: u32 = 5;
pub const INPUT_PROP_ACCELEROMETER: u32 = 6;
pub const INPUT_PROP_MAX: u32 = 31;
pub const INPUT_PROP_CNT: u32 = 32;
pub const EV_SYN: u32 = 0;
pub const EV_KEY: u32 = 1;
pub const EV_REL: u32 = 2;
pub const EV_ABS: u32 = 3;
pub const EV_MSC: u32 = 4;
pub const EV_SW: u32 = 5;
pub const EV_LED: u32 = 17;
pub const EV_SND: u32 = 18;
pub const EV_REP: u32 = 20;
pub const EV_FF: u32 = 21;
pub const EV_PWR: u32 = 22;
pub const EV_FF_STATUS: u32 = 23;
pub const EV_MAX: u32 = 31;
pub const EV_CNT: u32 = 32;
pub const SYN_REPORT: u32 = 0;
pub const SYN_CONFIG: u32 = 1;
pub const SYN_MT_REPORT: u32 = 2;
pub const SYN_DROPPED: u32 = 3;
pub const SYN_MAX: u32 = 15;
pub const SYN_CNT: u32 = 16;
pub const KEY_RESERVED: u32 = 0;
pub const KEY_ESC: u32 = 1;
pub const KEY_1: u32 = 2;
pub const KEY_2: u32 = 3;
pub const KEY_3: u32 = 4;
pub const KEY_4: u32 = 5;
pub const KEY_5: u32 = 6;
pub const KEY_6: u32 = 7;
pub const KEY_7: u32 = 8;
pub const KEY_8: u32 = 9;
pub const KEY_9: u32 = 10;
pub const KEY_0: u32 = 11;
pub const KEY_MINUS: u32 = 12;
pub const KEY_EQUAL: u32 = 13;
pub const KEY_BACKSPACE: u32 = 14;
pub const KEY_TAB: u32 = 15;
pub const KEY_Q: u32 = 16;
pub const KEY_W: u32 = 17;
pub const KEY_E: u32 = 18;
pub const KEY_R: u32 = 19;
pub const KEY_T: u32 = 20;
pub const KEY_Y: u32 = 21;
pub const KEY_U: u32 = 22;
pub const KEY_I: u32 = 23;
pub const KEY_O: u32 = 24;
pub const KEY_P: u32 = 25;
pub const KEY_LEFTBRACE: u32 = 26;
pub const KEY_RIGHTBRACE: u32 = 27;
pub const KEY_ENTER: u32 = 28;
pub const KEY_LEFTCTRL: u32 = 29;
pub const KEY_A: u32 = 30;
pub const KEY_S: u32 = 31;
pub const KEY_D: u32 = 32;
pub const KEY_F: u32 = 33;
pub const KEY_G: u32 = 34;
pub const KEY_H: u32 = 35;
pub const KEY_J: u32 = 36;
pub const KEY_K: u32 = 37;
pub const KEY_L: u32 = 38;
pub const KEY_SEMICOLON: u32 = 39;
pub const KEY_APOSTROPHE: u32 = 40;
pub const KEY_GRAVE: u32 = 41;
pub const KEY_LEFTSHIFT: u32 = 42;
pub const KEY_BACKSLASH: u32 = 43;
pub const KEY_Z: u32 = 44;
pub const KEY_X: u32 = 45;
pub const KEY_C: u32 = 46;
pub const KEY_V: u32 = 47;
pub const KEY_B: u32 = 48;
pub const KEY_N: u32 = 49;
pub const KEY_M: u32 = 50;
pub const KEY_COMMA: u32 = 51;
pub const KEY_DOT: u32 = 52;
pub const KEY_SLASH: u32 = 53;
pub const KEY_RIGHTSHIFT: u32 = 54;
pub const KEY_KPASTERISK: u32 = 55;
pub const KEY_LEFTALT: u32 = 56;
pub const KEY_SPACE: u32 = 57;
pub const KEY_CAPSLOCK: u32 = 58;
pub const KEY_F1: u32 = 59;
pub const KEY_F2: u32 = 60;
pub const KEY_F3: u32 = 61;
pub const KEY_F4: u32 = 62;
pub const KEY_F5: u32 = 63;
pub const KEY_F6: u32 = 64;
pub const KEY_F7: u32 = 65;
pub const KEY_F8: u32 = 66;
pub const KEY_F9: u32 = 67;
pub const KEY_F10: u32 = 68;
pub const KEY_NUMLOCK: u32 = 69;
pub const KEY_SCROLLLOCK: u32 = 70;
pub const KEY_KP7: u32 = 71;
pub const KEY_KP8: u32 = 72;
pub const KEY_KP9: u32 = 73;
pub const KEY_KPMINUS: u32 = 74;
pub const KEY_KP4: u32 = 75;
pub const KEY_KP5: u32 = 76;
pub const KEY_KP6: u32 = 77;
pub const KEY_KPPLUS: u32 = 78;
pub const KEY_KP1: u32 = 79;
pub const KEY_KP2: u32 = 80;
pub const KEY_KP3: u32 = 81;
pub const KEY_KP0: u32 = 82;
pub const KEY_KPDOT: u32 = 83;
pub const KEY_ZENKAKUHANKAKU: u32 = 85;
pub const KEY_102ND: u32 = 86;
pub const KEY_F11: u32 = 87;
pub const KEY_F12: u32 = 88;
pub const KEY_RO: u32 = 89;
pub const KEY_KATAKANA: u32 = 90;
pub const KEY_HIRAGANA: u32 = 91;
pub const KEY_HENKAN: u32 = 92;
pub const KEY_KATAKANAHIRAGANA: u32 = 93;
pub const KEY_MUHENKAN: u32 = 94;
pub const KEY_KPJPCOMMA: u32 = 95;
pub const KEY_KPENTER: u32 = 96;
pub const KEY_RIGHTCTRL: u32 = 97;
pub const KEY_KPSLASH: u32 = 98;
pub const KEY_SYSRQ: u32 = 99;
pub const KEY_RIGHTALT: u32 = 100;
pub const KEY_LINEFEED: u32 = 101;
pub const KEY_HOME: u32 = 102;
pub const KEY_UP: u32 = 103;
pub const KEY_PAGEUP: u32 = 104;
pub const KEY_LEFT: u32 = 105;
pub const KEY_RIGHT: u32 = 106;
pub const KEY_END: u32 = 107;
pub const KEY_DOWN: u32 = 108;
pub const KEY_PAGEDOWN: u32 = 109;
pub const KEY_INSERT: u32 = 110;
pub const KEY_DELETE: u32 = 111;
pub const KEY_MACRO: u32 = 112;
pub const KEY_MUTE: u32 = 113;
pub const KEY_VOLUMEDOWN: u32 = 114;
pub const KEY_VOLUMEUP: u32 = 115;
pub const KEY_POWER: u32 = 116;
pub const KEY_KPEQUAL: u32 = 117;
pub const KEY_KPPLUSMINUS: u32 = 118;
pub const KEY_PAUSE: u32 = 119;
pub const KEY_SCALE: u32 = 120;
pub const KEY_KPCOMMA: u32 = 121;
pub const KEY_HANGEUL: u32 = 122;
pub const KEY_HANGUEL: u32 = 122;
pub const KEY_HANJA: u32 = 123;
pub const KEY_YEN: u32 = 124;
pub const KEY_LEFTMETA: u32 = 125;
pub const KEY_RIGHTMETA: u32 = 126;
pub const KEY_COMPOSE: u32 = 127;
pub const KEY_STOP: u32 = 128;
pub const KEY_AGAIN: u32 = 129;
pub const KEY_PROPS: u32 = 130;
pub const KEY_UNDO: u32 = 131;
pub const KEY_FRONT: u32 = 132;
pub const KEY_COPY: u32 = 133;
pub const KEY_OPEN: u32 = 134;
pub const KEY_PASTE: u32 = 135;
pub const KEY_FIND: u32 = 136;
pub const KEY_CUT: u32 = 137;
pub const KEY_HELP: u32 = 138;
pub const KEY_MENU: u32 = 139;
pub const KEY_CALC: u32 = 140;
pub const KEY_SETUP: u32 = 141;
pub const KEY_SLEEP: u32 = 142;
pub const KEY_WAKEUP: u32 = 143;
pub const KEY_FILE: u32 = 144;
pub const KEY_SENDFILE: u32 = 145;
pub const KEY_DELETEFILE: u32 = 146;
pub const KEY_XFER: u32 = 147;
pub const KEY_PROG1: u32 = 148;
pub const KEY_PROG2: u32 = 149;
pub const KEY_WWW: u32 = 150;
pub const KEY_MSDOS: u32 = 151;
pub const KEY_COFFEE: u32 = 152;
pub const KEY_SCREENLOCK: u32 = 152;
pub const KEY_ROTATE_DISPLAY: u32 = 153;
pub const KEY_DIRECTION: u32 = 153;
pub const KEY_CYCLEWINDOWS: u32 = 154;
pub const KEY_MAIL: u32 = 155;
pub const KEY_BOOKMARKS: u32 = 156;
pub const KEY_COMPUTER: u32 = 157;
pub const KEY_BACK: u32 = 158;
pub const KEY_FORWARD: u32 = 159;
pub const KEY_CLOSECD: u32 = 160;
pub const KEY_EJECTCD: u32 = 161;
pub const KEY_EJECTCLOSECD: u32 = 162;
pub const KEY_NEXTSONG: u32 = 163;
pub const KEY_PLAYPAUSE: u32 = 164;
pub const KEY_PREVIOUSSONG: u32 = 165;
pub const KEY_STOPCD: u32 = 166;
pub const KEY_RECORD: u32 = 167;
pub const KEY_REWIND: u32 = 168;
pub const KEY_PHONE: u32 = 169;
pub const KEY_ISO: u32 = 170;
pub const KEY_CONFIG: u32 = 171;
pub const KEY_HOMEPAGE: u32 = 172;
pub const KEY_REFRESH: u32 = 173;
pub const KEY_EXIT: u32 = 174;
pub const KEY_MOVE: u32 = 175;
pub const KEY_EDIT: u32 = 176;
pub const KEY_SCROLLUP: u32 = 177;
pub const KEY_SCROLLDOWN: u32 = 178;
pub const KEY_KPLEFTPAREN: u32 = 179;
pub const KEY_KPRIGHTPAREN: u32 = 180;
pub const KEY_NEW: u32 = 181;
pub const KEY_REDO: u32 = 182;
pub const KEY_F13: u32 = 183;
pub const KEY_F14: u32 = 184;
pub const KEY_F15: u32 = 185;
pub const KEY_F16: u32 = 186;
pub const KEY_F17: u32 = 187;
pub const KEY_F18: u32 = 188;
pub const KEY_F19: u32 = 189;
pub const KEY_F20: u32 = 190;
pub const KEY_F21: u32 = 191;
pub const KEY_F22: u32 = 192;
pub const KEY_F23: u32 = 193;
pub const KEY_F24: u32 = 194;
pub const KEY_PLAYCD: u32 = 200;
pub const KEY_PAUSECD: u32 = 201;
pub const KEY_PROG3: u32 = 202;
pub const KEY_PROG4: u32 = 203;
pub const KEY_ALL_APPLICATIONS: u32 = 204;
pub const KEY_DASHBOARD: u32 = 204;
pub const KEY_SUSPEND: u32 = 205;
pub const KEY_CLOSE: u32 = 206;
pub const KEY_PLAY: u32 = 207;
pub const KEY_FASTFORWARD: u32 = 208;
pub const KEY_BASSBOOST: u32 = 209;
pub const KEY_PRINT: u32 = 210;
pub const KEY_HP: u32 = 211;
pub const KEY_CAMERA: u32 = 212;
pub const KEY_SOUND: u32 = 213;
pub const KEY_QUESTION: u32 = 214;
pub const KEY_EMAIL: u32 = 215;
pub const KEY_CHAT: u32 = 216;
pub const KEY_SEARCH: u32 = 217;
pub const KEY_CONNECT: u32 = 218;
pub const KEY_FINANCE: u32 = 219;
pub const KEY_SPORT: u32 = 220;
pub const KEY_SHOP: u32 = 221;
pub const KEY_ALTERASE: u32 = 222;
pub const KEY_CANCEL: u32 = 223;
pub const KEY_BRIGHTNESSDOWN: u32 = 224;
pub const KEY_BRIGHTNESSUP: u32 = 225;
pub const KEY_MEDIA: u32 = 226;
pub const KEY_SWITCHVIDEOMODE: u32 = 227;
pub const KEY_KBDILLUMTOGGLE: u32 = 228;
pub const KEY_KBDILLUMDOWN: u32 = 229;
pub const KEY_KBDILLUMUP: u32 = 230;
pub const KEY_SEND: u32 = 231;
pub const KEY_REPLY: u32 = 232;
pub const KEY_FORWARDMAIL: u32 = 233;
pub const KEY_SAVE: u32 = 234;
pub const KEY_DOCUMENTS: u32 = 235;
pub const KEY_BATTERY: u32 = 236;
pub const KEY_BLUETOOTH: u32 = 237;
pub const KEY_WLAN: u32 = 238;
pub const KEY_UWB: u32 = 239;
pub const KEY_UNKNOWN: u32 = 240;
pub const KEY_VIDEO_NEXT: u32 = 241;
pub const KEY_VIDEO_PREV: u32 = 242;
pub const KEY_BRIGHTNESS_CYCLE: u32 = 243;
pub const KEY_BRIGHTNESS_AUTO: u32 = 244;
pub const KEY_BRIGHTNESS_ZERO: u32 = 244;
pub const KEY_DISPLAY_OFF: u32 = 245;
pub const KEY_WWAN: u32 = 246;
pub const KEY_WIMAX: u32 = 246;
pub const KEY_RFKILL: u32 = 247;
pub const KEY_MICMUTE: u32 = 248;
pub const BTN_MISC: u32 = 256;
pub const BTN_0: u32 = 256;
pub const BTN_1: u32 = 257;
pub const BTN_2: u32 = 258;
pub const BTN_3: u32 = 259;
pub const BTN_4: u32 = 260;
pub const BTN_5: u32 = 261;
pub const BTN_6: u32 = 262;
pub const BTN_7: u32 = 263;
pub const BTN_8: u32 = 264;
pub const BTN_9: u32 = 265;
pub const BTN_MOUSE: u32 = 272;
pub const BTN_LEFT: u32 = 272;
pub const BTN_RIGHT: u32 = 273;
pub const BTN_MIDDLE: u32 = 274;
pub const BTN_SIDE: u32 = 275;
pub const BTN_EXTRA: u32 = 276;
pub const BTN_FORWARD: u32 = 277;
pub const BTN_BACK: u32 = 278;
pub const BTN_TASK: u32 = 279;
pub const BTN_JOYSTICK: u32 = 288;
pub const BTN_TRIGGER: u32 = 288;
pub const BTN_THUMB: u32 = 289;
pub const BTN_THUMB2: u32 = 290;
pub const BTN_TOP: u32 = 291;
pub const BTN_TOP2: u32 = 292;
pub const BTN_PINKIE: u32 = 293;
pub const BTN_BASE: u32 = 294;
pub const BTN_BASE2: u32 = 295;
pub const BTN_BASE3: u32 = 296;
pub const BTN_BASE4: u32 = 297;
pub const BTN_BASE5: u32 = 298;
pub const BTN_BASE6: u32 = 299;
pub const BTN_DEAD: u32 = 303;
pub const BTN_GAMEPAD: u32 = 304;
pub const BTN_SOUTH: u32 = 304;
pub const BTN_A: u32 = 304;
pub const BTN_EAST: u32 = 305;
pub const BTN_B: u32 = 305;
pub const BTN_C: u32 = 306;
pub const BTN_NORTH: u32 = 307;
pub const BTN_X: u32 = 307;
pub const BTN_WEST: u32 = 308;
pub const BTN_Y: u32 = 308;
pub const BTN_Z: u32 = 309;
pub const BTN_TL: u32 = 310;
pub const BTN_TR: u32 = 311;
pub const BTN_TL2: u32 = 312;
pub const BTN_TR2: u32 = 313;
pub const BTN_SELECT: u32 = 314;
pub const BTN_START: u32 = 315;
pub const BTN_MODE: u32 = 316;
pub const BTN_THUMBL: u32 = 317;
pub const BTN_THUMBR: u32 = 318;
pub const BTN_DIGI: u32 = 320;
pub const BTN_TOOL_PEN: u32 = 320;
pub const BTN_TOOL_RUBBER: u32 = 321;
pub const BTN_TOOL_BRUSH: u32 = 322;
pub const BTN_TOOL_PENCIL: u32 = 323;
pub const BTN_TOOL_AIRBRUSH: u32 = 324;
pub const BTN_TOOL_FINGER: u32 = 325;
pub const BTN_TOOL_MOUSE: u32 = 326;
pub const BTN_TOOL_LENS: u32 = 327;
pub const BTN_TOOL_QUINTTAP: u32 = 328;
pub const BTN_STYLUS3: u32 = 329;
pub const BTN_TOUCH: u32 = 330;
pub const BTN_STYLUS: u32 = 331;
pub const BTN_STYLUS2: u32 = 332;
pub const BTN_TOOL_DOUBLETAP: u32 = 333;
pub const BTN_TOOL_TRIPLETAP: u32 = 334;
pub const BTN_TOOL_QUADTAP: u32 = 335;
pub const BTN_WHEEL: u32 = 336;
pub const BTN_GEAR_DOWN: u32 = 336;
pub const BTN_GEAR_UP: u32 = 337;
pub const KEY_OK: u32 = 352;
pub const KEY_SELECT: u32 = 353;
pub const KEY_GOTO: u32 = 354;
pub const KEY_CLEAR: u32 = 355;
pub const KEY_POWER2: u32 = 356;
pub const KEY_OPTION: u32 = 357;
pub const KEY_INFO: u32 = 358;
pub const KEY_TIME: u32 = 359;
pub const KEY_VENDOR: u32 = 360;
pub const KEY_ARCHIVE: u32 = 361;
pub const KEY_PROGRAM: u32 = 362;
pub const KEY_CHANNEL: u32 = 363;
pub const KEY_FAVORITES: u32 = 364;
pub const KEY_EPG: u32 = 365;
pub const KEY_PVR: u32 = 366;
pub const KEY_MHP: u32 = 367;
pub const KEY_LANGUAGE: u32 = 368;
pub const KEY_TITLE: u32 = 369;
pub const KEY_SUBTITLE: u32 = 370;
pub const KEY_ANGLE: u32 = 371;
pub const KEY_FULL_SCREEN: u32 = 372;
pub const KEY_ZOOM: u32 = 372;
pub const KEY_MODE: u32 = 373;
pub const KEY_KEYBOARD: u32 = 374;
pub const KEY_ASPECT_RATIO: u32 = 375;
pub const KEY_SCREEN: u32 = 375;
pub const KEY_PC: u32 = 376;
pub const KEY_TV: u32 = 377;
pub const KEY_TV2: u32 = 378;
pub const KEY_VCR: u32 = 379;
pub const KEY_VCR2: u32 = 380;
pub const KEY_SAT: u32 = 381;
pub const KEY_SAT2: u32 = 382;
pub const KEY_CD: u32 = 383;
pub const KEY_TAPE: u32 = 384;
pub const KEY_RADIO: u32 = 385;
pub const KEY_TUNER: u32 = 386;
pub const KEY_PLAYER: u32 = 387;
pub const KEY_TEXT: u32 = 388;
pub const KEY_DVD: u32 = 389;
pub const KEY_AUX: u32 = 390;
pub const KEY_MP3: u32 = 391;
pub const KEY_AUDIO: u32 = 392;
pub const KEY_VIDEO: u32 = 393;
pub const KEY_DIRECTORY: u32 = 394;
pub const KEY_LIST: u32 = 395;
pub const KEY_MEMO: u32 = 396;
pub const KEY_CALENDAR: u32 = 397;
pub const KEY_RED: u32 = 398;
pub const KEY_GREEN: u32 = 399;
pub const KEY_YELLOW: u32 = 400;
pub const KEY_BLUE: u32 = 401;
pub const KEY_CHANNELUP: u32 = 402;
pub const KEY_CHANNELDOWN: u32 = 403;
pub const KEY_FIRST: u32 = 404;
pub const KEY_LAST: u32 = 405;
pub const KEY_AB: u32 = 406;
pub const KEY_NEXT: u32 = 407;
pub const KEY_RESTART: u32 = 408;
pub const KEY_SLOW: u32 = 409;
pub const KEY_SHUFFLE: u32 = 410;
pub const KEY_BREAK: u32 = 411;
pub const KEY_PREVIOUS: u32 = 412;
pub const KEY_DIGITS: u32 = 413;
pub const KEY_TEEN: u32 = 414;
pub const KEY_TWEN: u32 = 415;
pub const KEY_VIDEOPHONE: u32 = 416;
pub const KEY_GAMES: u32 = 417;
pub const KEY_ZOOMIN: u32 = 418;
pub const KEY_ZOOMOUT: u32 = 419;
pub const KEY_ZOOMRESET: u32 = 420;
pub const KEY_WORDPROCESSOR: u32 = 421;
pub const KEY_EDITOR: u32 = 422;
pub const KEY_SPREADSHEET: u32 = 423;
pub const KEY_GRAPHICSEDITOR: u32 = 424;
pub const KEY_PRESENTATION: u32 = 425;
pub const KEY_DATABASE: u32 = 426;
pub const KEY_NEWS: u32 = 427;
pub const KEY_VOICEMAIL: u32 = 428;
pub const KEY_ADDRESSBOOK: u32 = 429;
pub const KEY_MESSENGER: u32 = 430;
pub const KEY_DISPLAYTOGGLE: u32 = 431;
pub const KEY_BRIGHTNESS_TOGGLE: u32 = 431;
pub const KEY_SPELLCHECK: u32 = 432;
pub const KEY_LOGOFF: u32 = 433;
pub const KEY_DOLLAR: u32 = 434;
pub const KEY_EURO: u32 = 435;
pub const KEY_FRAMEBACK: u32 = 436;
pub const KEY_FRAMEFORWARD: u32 = 437;
pub const KEY_CONTEXT_MENU: u32 = 438;
pub const KEY_MEDIA_REPEAT: u32 = 439;
pub const KEY_10CHANNELSUP: u32 = 440;
pub const KEY_10CHANNELSDOWN: u32 = 441;
pub const KEY_IMAGES: u32 = 442;
pub const KEY_NOTIFICATION_CENTER: u32 = 444;
pub const KEY_PICKUP_PHONE: u32 = 445;
pub const KEY_HANGUP_PHONE: u32 = 446;
pub const KEY_DEL_EOL: u32 = 448;
pub const KEY_DEL_EOS: u32 = 449;
pub const KEY_INS_LINE: u32 = 450;
pub const KEY_DEL_LINE: u32 = 451;
pub const KEY_FN: u32 = 464;
pub const KEY_FN_ESC: u32 = 465;
pub const KEY_FN_F1: u32 = 466;
pub const KEY_FN_F2: u32 = 467;
pub const KEY_FN_F3: u32 = 468;
pub const KEY_FN_F4: u32 = 469;
pub const KEY_FN_F5: u32 = 470;
pub const KEY_FN_F6: u32 = 471;
pub const KEY_FN_F7: u32 = 472;
pub const KEY_FN_F8: u32 = 473;
pub const KEY_FN_F9: u32 = 474;
pub const KEY_FN_F10: u32 = 475;
pub const KEY_FN_F11: u32 = 476;
pub const KEY_FN_F12: u32 = 477;
pub const KEY_FN_1: u32 = 478;
pub const KEY_FN_2: u32 = 479;
pub const KEY_FN_D: u32 = 480;
pub const KEY_FN_E: u32 = 481;
pub const KEY_FN_F: u32 = 482;
pub const KEY_FN_S: u32 = 483;
pub const KEY_FN_B: u32 = 484;
pub const KEY_FN_RIGHT_SHIFT: u32 = 485;
pub const KEY_BRL_DOT1: u32 = 497;
pub const KEY_BRL_DOT2: u32 = 498;
pub const KEY_BRL_DOT3: u32 = 499;
pub const KEY_BRL_DOT4: u32 = 500;
pub const KEY_BRL_DOT5: u32 = 501;
pub const KEY_BRL_DOT6: u32 = 502;
pub const KEY_BRL_DOT7: u32 = 503;
pub const KEY_BRL_DOT8: u32 = 504;
pub const KEY_BRL_DOT9: u32 = 505;
pub const KEY_BRL_DOT10: u32 = 506;
pub const KEY_NUMERIC_0: u32 = 512;
pub const KEY_NUMERIC_1: u32 = 513;
pub const KEY_NUMERIC_2: u32 = 514;
pub const KEY_NUMERIC_3: u32 = 515;
pub const KEY_NUMERIC_4: u32 = 516;
pub const KEY_NUMERIC_5: u32 = 517;
pub const KEY_NUMERIC_6: u32 = 518;
pub const KEY_NUMERIC_7: u32 = 519;
pub const KEY_NUMERIC_8: u32 = 520;
pub const KEY_NUMERIC_9: u32 = 521;
pub const KEY_NUMERIC_STAR: u32 = 522;
pub const KEY_NUMERIC_POUND: u32 = 523;
pub const KEY_NUMERIC_A: u32 = 524;
pub const KEY_NUMERIC_B: u32 = 525;
pub const KEY_NUMERIC_C: u32 = 526;
pub const KEY_NUMERIC_D: u32 = 527;
pub const KEY_CAMERA_FOCUS: u32 = 528;
pub const KEY_WPS_BUTTON: u32 = 529;
pub const KEY_TOUCHPAD_TOGGLE: u32 = 530;
pub const KEY_TOUCHPAD_ON: u32 = 531;
pub const KEY_TOUCHPAD_OFF: u32 = 532;
pub const KEY_CAMERA_ZOOMIN: u32 = 533;
pub const KEY_CAMERA_ZOOMOUT: u32 = 534;
pub const KEY_CAMERA_UP: u32 = 535;
pub const KEY_CAMERA_DOWN: u32 = 536;
pub const KEY_CAMERA_LEFT: u32 = 537;
pub const KEY_CAMERA_RIGHT: u32 = 538;
pub const KEY_ATTENDANT_ON: u32 = 539;
pub const KEY_ATTENDANT_OFF: u32 = 540;
pub const KEY_ATTENDANT_TOGGLE: u32 = 541;
pub const KEY_LIGHTS_TOGGLE: u32 = 542;
pub const BTN_DPAD_UP: u32 = 544;
pub const BTN_DPAD_DOWN: u32 = 545;
pub const BTN_DPAD_LEFT: u32 = 546;
pub const BTN_DPAD_RIGHT: u32 = 547;
pub const KEY_ALS_TOGGLE: u32 = 560;
pub const KEY_ROTATE_LOCK_TOGGLE: u32 = 561;
pub const KEY_BUTTONCONFIG: u32 = 576;
pub const KEY_TASKMANAGER: u32 = 577;
pub const KEY_JOURNAL: u32 = 578;
pub const KEY_CONTROLPANEL: u32 = 579;
pub const KEY_APPSELECT: u32 = 580;
pub const KEY_SCREENSAVER: u32 = 581;
pub const KEY_VOICECOMMAND: u32 = 582;
pub const KEY_ASSISTANT: u32 = 583;
pub const KEY_KBD_LAYOUT_NEXT: u32 = 584;
pub const KEY_EMOJI_PICKER: u32 = 585;
pub const KEY_DICTATE: u32 = 586;
pub const KEY_BRIGHTNESS_MIN: u32 = 592;
pub const KEY_BRIGHTNESS_MAX: u32 = 593;
pub const KEY_KBDINPUTASSIST_PREV: u32 = 608;
pub const KEY_KBDINPUTASSIST_NEXT: u32 = 609;
pub const KEY_KBDINPUTASSIST_PREVGROUP: u32 = 610;
pub const KEY_KBDINPUTASSIST_NEXTGROUP: u32 = 611;
pub const KEY_KBDINPUTASSIST_ACCEPT: u32 = 612;
pub const KEY_KBDINPUTASSIST_CANCEL: u32 = 613;
pub const KEY_RIGHT_UP: u32 = 614;
pub const KEY_RIGHT_DOWN: u32 = 615;
pub const KEY_LEFT_UP: u32 = 616;
pub const KEY_LEFT_DOWN: u32 = 617;
pub const KEY_ROOT_MENU: u32 = 618;
pub const KEY_MEDIA_TOP_MENU: u32 = 619;
pub const KEY_NUMERIC_11: u32 = 620;
pub const KEY_NUMERIC_12: u32 = 621;
pub const KEY_AUDIO_DESC: u32 = 622;
pub const KEY_3D_MODE: u32 = 623;
pub const KEY_NEXT_FAVORITE: u32 = 624;
pub const KEY_STOP_RECORD: u32 = 625;
pub const KEY_PAUSE_RECORD: u32 = 626;
pub const KEY_VOD: u32 = 627;
pub const KEY_UNMUTE: u32 = 628;
pub const KEY_FASTREVERSE: u32 = 629;
pub const KEY_SLOWREVERSE: u32 = 630;
pub const KEY_DATA: u32 = 631;
pub const KEY_ONSCREEN_KEYBOARD: u32 = 632;
pub const KEY_PRIVACY_SCREEN_TOGGLE: u32 = 633;
pub const KEY_SELECTIVE_SCREENSHOT: u32 = 634;
pub const KEY_MACRO1: u32 = 656;
pub const KEY_MACRO2: u32 = 657;
pub const KEY_MACRO3: u32 = 658;
pub const KEY_MACRO4: u32 = 659;
pub const KEY_MACRO5: u32 = 660;
pub const KEY_MACRO6: u32 = 661;
pub const KEY_MACRO7: u32 = 662;
pub const KEY_MACRO8: u32 = 663;
pub const KEY_MACRO9: u32 = 664;
pub const KEY_MACRO10: u32 = 665;
pub const KEY_MACRO11: u32 = 666;
pub const KEY_MACRO12: u32 = 667;
pub const KEY_MACRO13: u32 = 668;
pub const KEY_MACRO14: u32 = 669;
pub const KEY_MACRO15: u32 = 670;
pub const KEY_MACRO16: u32 = 671;
pub const KEY_MACRO17: u32 = 672;
pub const KEY_MACRO18: u32 = 673;
pub const KEY_MACRO19: u32 = 674;
pub const KEY_MACRO20: u32 = 675;
pub const KEY_MACRO21: u32 = 676;
pub const KEY_MACRO22: u32 = 677;
pub const KEY_MACRO23: u32 = 678;
pub const KEY_MACRO24: u32 = 679;
pub const KEY_MACRO25: u32 = 680;
pub const KEY_MACRO26: u32 = 681;
pub const KEY_MACRO27: u32 = 682;
pub const KEY_MACRO28: u32 = 683;
pub const KEY_MACRO29: u32 = 684;
pub const KEY_MACRO30: u32 = 685;
pub const KEY_MACRO_RECORD_START: u32 = 688;
pub const KEY_MACRO_RECORD_STOP: u32 = 689;
pub const KEY_MACRO_PRESET_CYCLE: u32 = 690;
pub const KEY_MACRO_PRESET1: u32 = 691;
pub const KEY_MACRO_PRESET2: u32 = 692;
pub const KEY_MACRO_PRESET3: u32 = 693;
pub const KEY_KBD_LCD_MENU1: u32 = 696;
pub const KEY_KBD_LCD_MENU2: u32 = 697;
pub const KEY_KBD_LCD_MENU3: u32 = 698;
pub const KEY_KBD_LCD_MENU4: u32 = 699;
pub const KEY_KBD_LCD_MENU5: u32 = 700;
pub const BTN_TRIGGER_HAPPY: u32 = 704;
pub const BTN_TRIGGER_HAPPY1: u32 = 704;
pub const BTN_TRIGGER_HAPPY2: u32 = 705;
pub const BTN_TRIGGER_HAPPY3: u32 = 706;
pub const BTN_TRIGGER_HAPPY4: u32 = 707;
pub const BTN_TRIGGER_HAPPY5: u32 = 708;
pub const BTN_TRIGGER_HAPPY6: u32 = 709;
pub const BTN_TRIGGER_HAPPY7: u32 = 710;
pub const BTN_TRIGGER_HAPPY8: u32 = 711;
pub const BTN_TRIGGER_HAPPY9: u32 = 712;
pub const BTN_TRIGGER_HAPPY10: u32 = 713;
pub const BTN_TRIGGER_HAPPY11: u32 = 714;
pub const BTN_TRIGGER_HAPPY12: u32 = 715;
pub const BTN_TRIGGER_HAPPY13: u32 = 716;
pub const BTN_TRIGGER_HAPPY14: u32 = 717;
pub const BTN_TRIGGER_HAPPY15: u32 = 718;
pub const BTN_TRIGGER_HAPPY16: u32 = 719;
pub const BTN_TRIGGER_HAPPY17: u32 = 720;
pub const BTN_TRIGGER_HAPPY18: u32 = 721;
pub const BTN_TRIGGER_HAPPY19: u32 = 722;
pub const BTN_TRIGGER_HAPPY20: u32 = 723;
pub const BTN_TRIGGER_HAPPY21: u32 = 724;
pub const BTN_TRIGGER_HAPPY22: u32 = 725;
pub const BTN_TRIGGER_HAPPY23: u32 = 726;
pub const BTN_TRIGGER_HAPPY24: u32 = 727;
pub const BTN_TRIGGER_HAPPY25: u32 = 728;
pub const BTN_TRIGGER_HAPPY26: u32 = 729;
pub const BTN_TRIGGER_HAPPY27: u32 = 730;
pub const BTN_TRIGGER_HAPPY28: u32 = 731;
pub const BTN_TRIGGER_HAPPY29: u32 = 732;
pub const BTN_TRIGGER_HAPPY30: u32 = 733;
pub const BTN_TRIGGER_HAPPY31: u32 = 734;
pub const BTN_TRIGGER_HAPPY32: u32 = 735;
pub const BTN_TRIGGER_HAPPY33: u32 = 736;
pub const BTN_TRIGGER_HAPPY34: u32 = 737;
pub const BTN_TRIGGER_HAPPY35: u32 = 738;
pub const BTN_TRIGGER_HAPPY36: u32 = 739;
pub const BTN_TRIGGER_HAPPY37: u32 = 740;
pub const BTN_TRIGGER_HAPPY38: u32 = 741;
pub const BTN_TRIGGER_HAPPY39: u32 = 742;
pub const BTN_TRIGGER_HAPPY40: u32 = 743;
pub const KEY_MIN_INTERESTING: u32 = 113;
pub const KEY_MAX: u32 = 767;
pub const KEY_CNT: u32 = 768;
pub const REL_X: u32 = 0;
pub const REL_Y: u32 = 1;
pub const REL_Z: u32 = 2;
pub const REL_RX: u32 = 3;
pub const REL_RY: u32 = 4;
pub const REL_RZ: u32 = 5;
pub const REL_HWHEEL: u32 = 6;
pub const REL_DIAL: u32 = 7;
pub const REL_WHEEL: u32 = 8;
pub const REL_MISC: u32 = 9;
pub const REL_RESERVED: u32 = 10;
pub const REL_WHEEL_HI_RES: u32 = 11;
pub const REL_HWHEEL_HI_RES: u32 = 12;
pub const REL_MAX: u32 = 15;
pub const REL_CNT: u32 = 16;
pub const ABS_X: u32 = 0;
pub const ABS_Y: u32 = 1;
pub const ABS_Z: u32 = 2;
pub const ABS_RX: u32 = 3;
pub const ABS_RY: u32 = 4;
pub const ABS_RZ: u32 = 5;
pub const ABS_THROTTLE: u32 = 6;
pub const ABS_RUDDER: u32 = 7;
pub const ABS_WHEEL: u32 = 8;
pub const ABS_GAS: u32 = 9;
pub const ABS_BRAKE: u32 = 10;
pub const ABS_HAT0X: u32 = 16;
pub const ABS_HAT0Y: u32 = 17;
pub const ABS_HAT1X: u32 = 18;
pub const ABS_HAT1Y: u32 = 19;
pub const ABS_HAT2X: u32 = 20;
pub const ABS_HAT2Y: u32 = 21;
pub const ABS_HAT3X: u32 = 22;
pub const ABS_HAT3Y: u32 = 23;
pub const ABS_PRESSURE: u32 = 24;
pub const ABS_DISTANCE: u32 = 25;
pub const ABS_TILT_X: u32 = 26;
pub const ABS_TILT_Y: u32 = 27;
pub const ABS_TOOL_WIDTH: u32 = 28;
pub const ABS_VOLUME: u32 = 32;
pub const ABS_MISC: u32 = 40;
pub const ABS_RESERVED: u32 = 46;
pub const ABS_MT_SLOT: u32 = 47;
pub const ABS_MT_TOUCH_MAJOR: u32 = 48;
pub const ABS_MT_TOUCH_MINOR: u32 = 49;
pub const ABS_MT_WIDTH_MAJOR: u32 = 50;
pub const ABS_MT_WIDTH_MINOR: u32 = 51;
pub const ABS_MT_ORIENTATION: u32 = 52;
pub const ABS_MT_POSITION_X: u32 = 53;
pub const ABS_MT_POSITION_Y: u32 = 54;
pub const ABS_MT_TOOL_TYPE: u32 = 55;
pub const ABS_MT_BLOB_ID: u32 = 56;
pub const ABS_MT_TRACKING_ID: u32 = 57;
pub const ABS_MT_PRESSURE: u32 = 58;
pub const ABS_MT_DISTANCE: u32 = 59;
pub const ABS_MT_TOOL_X: u32 = 60;
pub const ABS_MT_TOOL_Y: u32 = 61;
pub const ABS_MAX: u32 = 63;
pub const ABS_CNT: u32 = 64;
pub const SW_LID: u32 = 0;
pub const SW_TABLET_MODE: u32 = 1;
pub const SW_HEADPHONE_INSERT: u32 = 2;
pub const SW_RFKILL_ALL: u32 = 3;
pub const SW_RADIO: u32 = 3;
pub const SW_MICROPHONE_INSERT: u32 = 4;
pub const SW_DOCK: u32 = 5;
pub const SW_LINEOUT_INSERT: u32 = 6;
pub const SW_JACK_PHYSICAL_INSERT: u32 = 7;
pub const SW_VIDEOOUT_INSERT: u32 = 8;
pub const SW_CAMERA_LENS_COVER: u32 = 9;
pub const SW_KEYPAD_SLIDE: u32 = 10;
pub const SW_FRONT_PROXIMITY: u32 = 11;
pub const SW_ROTATE_LOCK: u32 = 12;
pub const SW_LINEIN_INSERT: u32 = 13;
pub const SW_MUTE_DEVICE: u32 = 14;
pub const SW_PEN_INSERTED: u32 = 15;
pub const SW_MACHINE_COVER: u32 = 16;
pub const SW_MAX: u32 = 16;
pub const SW_CNT: u32 = 17;
pub const MSC_SERIAL: u32 = 0;
pub const MSC_PULSELED: u32 = 1;
pub const MSC_GESTURE: u32 = 2;
pub const MSC_RAW: u32 = 3;
pub const MSC_SCAN: u32 = 4;
pub const MSC_TIMESTAMP: u32 = 5;
pub const MSC_MAX: u32 = 7;
pub const MSC_CNT: u32 = 8;
pub const LED_NUML: u32 = 0;
pub const LED_CAPSL: u32 = 1;
pub const LED_SCROLLL: u32 = 2;
pub const LED_COMPOSE: u32 = 3;
pub const LED_KANA: u32 = 4;
pub const LED_SLEEP: u32 = 5;
pub const LED_SUSPEND: u32 = 6;
pub const LED_MUTE: u32 = 7;
pub const LED_MISC: u32 = 8;
pub const LED_MAIL: u32 = 9;
pub const LED_CHARGING: u32 = 10;
pub const LED_MAX: u32 = 15;
pub const LED_CNT: u32 = 16;
pub const REP_DELAY: u32 = 0;
pub const REP_PERIOD: u32 = 1;
pub const REP_MAX: u32 = 1;
pub const REP_CNT: u32 = 2;
pub const SND_CLICK: u32 = 0;
pub const SND_BELL: u32 = 1;
pub const SND_TONE: u32 = 2;
pub const SND_MAX: u32 = 7;
pub const SND_CNT: u32 = 8;
pub const EV_VERSION: u32 = 65537;
pub const INPUT_KEYMAP_BY_INDEX: u32 = 1;
pub const ID_BUS: u32 = 0;
pub const ID_VENDOR: u32 = 1;
pub const ID_PRODUCT: u32 = 2;
pub const ID_VERSION: u32 = 3;
pub const BUS_PCI: u32 = 1;
pub const BUS_ISAPNP: u32 = 2;
pub const BUS_USB: u32 = 3;
pub const BUS_HIL: u32 = 4;
pub const BUS_BLUETOOTH: u32 = 5;
pub const BUS_VIRTUAL: u32 = 6;
pub const BUS_ISA: u32 = 16;
pub const BUS_I8042: u32 = 17;
pub const BUS_XTKBD: u32 = 18;
pub const BUS_RS232: u32 = 19;
pub const BUS_GAMEPORT: u32 = 20;
pub const BUS_PARPORT: u32 = 21;
pub const BUS_AMIGA: u32 = 22;
pub const BUS_ADB: u32 = 23;
pub const BUS_I2C: u32 = 24;
pub const BUS_HOST: u32 = 25;
pub const BUS_GSC: u32 = 26;
pub const BUS_ATARI: u32 = 27;
pub const BUS_SPI: u32 = 28;
pub const BUS_RMI: u32 = 29;
pub const BUS_CEC: u32 = 30;
pub const BUS_INTEL_ISHTP: u32 = 31;
pub const MT_TOOL_FINGER: u32 = 0;
pub const MT_TOOL_PEN: u32 = 1;
pub const MT_TOOL_PALM: u32 = 2;
pub const MT_TOOL_DIAL: u32 = 10;
pub const MT_TOOL_MAX: u32 = 15;
pub const FF_STATUS_STOPPED: u32 = 0;
pub const FF_STATUS_PLAYING: u32 = 1;
pub const FF_STATUS_MAX: u32 = 1;
pub const FF_RUMBLE: u32 = 80;
pub const FF_PERIODIC: u32 = 81;
pub const FF_CONSTANT: u32 = 82;
pub const FF_SPRING: u32 = 83;
pub const FF_FRICTION: u32 = 84;
pub const FF_DAMPER: u32 = 85;
pub const FF_INERTIA: u32 = 86;
pub const FF_RAMP: u32 = 87;
pub const FF_EFFECT_MIN: u32 = 80;
pub const FF_EFFECT_MAX: u32 = 87;
pub const FF_SQUARE: u32 = 88;
pub const FF_TRIANGLE: u32 = 89;
pub const FF_SINE: u32 = 90;
pub const FF_SAW_UP: u32 = 91;
pub const FF_SAW_DOWN: u32 = 92;
pub const FF_CUSTOM: u32 = 93;
pub const FF_WAVEFORM_MIN: u32 = 88;
pub const FF_WAVEFORM_MAX: u32 = 93;
pub const FF_GAIN: u32 = 96;
pub const FF_AUTOCENTER: u32 = 97;
pub const FF_MAX_EFFECTS: u32 = 96;
pub const FF_MAX: u32 = 127;
pub const FF_CNT: u32 = 128;
pub const USB_INTERFACE_CLASS_HID: u32 = 3;
pub const USB_INTERFACE_SUBCLASS_BOOT: u32 = 1;
pub const USB_INTERFACE_PROTOCOL_KEYBOARD: u32 = 1;
pub const USB_INTERFACE_PROTOCOL_MOUSE: u32 = 2;
pub const HID_REQ_GET_REPORT: u32 = 1;
pub const HID_REQ_GET_IDLE: u32 = 2;
pub const HID_REQ_GET_PROTOCOL: u32 = 3;
pub const HID_REQ_SET_REPORT: u32 = 9;
pub const HID_REQ_SET_IDLE: u32 = 10;
pub const HID_REQ_SET_PROTOCOL: u32 = 11;
pub const HID_MAX_DESCRIPTOR_SIZE: u32 = 4096;
pub const UHID_DATA_MAX: u32 = 4096;
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 __int_least8_t = __int8_t;
pub type __uint_least8_t = __uint8_t;
pub type __int_least16_t = __int16_t;
pub type __uint_least16_t = __uint16_t;
pub type __int_least32_t = __int32_t;
pub type __uint_least32_t = __uint32_t;
pub type __int_least64_t = __int64_t;
pub type __uint_least64_t = __uint64_t;
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, Copy, Clone)]
pub struct __fsid_t {
pub __val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___fsid_t() {
const UNINIT: ::std::mem::MaybeUninit<__fsid_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__val) as usize - ptr 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 __suseconds64_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 time_t = __time_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
pub tv_sec: __time_t,
pub tv_usec: __suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(timeval),
"::",
stringify!(tv_usec)
)
);
}
pub type suseconds_t = __suseconds_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sigset_t {
pub __val: [::std::os::raw::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___sigset_t() {
const UNINIT: ::std::mem::MaybeUninit<__sigset_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__val) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__sigset_t),
"::",
stringify!(__val)
)
);
}
pub type sigset_t = __sigset_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
pub tv_sec: __time_t,
pub tv_nsec: __syscall_slong_t,
}
#[test]
fn bindgen_test_layout_timespec() {
const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_sec)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(timespec),
"::",
stringify!(tv_nsec)
)
);
}
pub type __fd_mask = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fd_set {
pub __fds_bits: [__fd_mask; 16usize],
}
#[test]
fn bindgen_test_layout_fd_set() {
const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__fds_bits) as usize - ptr 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;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timezone {
pub tz_minuteswest: ::std::os::raw::c_int,
pub tz_dsttime: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_timezone() {
const UNINIT: ::std::mem::MaybeUninit<timezone> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<timezone>(),
8usize,
concat!("Size of: ", stringify!(timezone))
);
assert_eq!(
::std::mem::align_of::<timezone>(),
4usize,
concat!("Alignment of ", stringify!(timezone))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tz_minuteswest) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(timezone),
"::",
stringify!(tz_minuteswest)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).tz_dsttime) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(timezone),
"::",
stringify!(tz_dsttime)
)
);
}
extern "C" {
pub fn gettimeofday(
__tv: *mut timeval,
__tz: *mut ::std::os::raw::c_void,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn adjtime(__delta: *const timeval, __olddelta: *mut timeval) -> ::std::os::raw::c_int;
}
pub const __itimer_which_ITIMER_REAL: __itimer_which = 0;
pub const __itimer_which_ITIMER_VIRTUAL: __itimer_which = 1;
pub const __itimer_which_ITIMER_PROF: __itimer_which = 2;
pub type __itimer_which = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct itimerval {
pub it_interval: timeval,
pub it_value: timeval,
}
#[test]
fn bindgen_test_layout_itimerval() {
const UNINIT: ::std::mem::MaybeUninit<itimerval> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<itimerval>(),
32usize,
concat!("Size of: ", stringify!(itimerval))
);
assert_eq!(
::std::mem::align_of::<itimerval>(),
8usize,
concat!("Alignment of ", stringify!(itimerval))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(itimerval),
"::",
stringify!(it_interval)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(itimerval),
"::",
stringify!(it_value)
)
);
}
pub type __itimer_which_t = ::std::os::raw::c_int;
extern "C" {
pub fn getitimer(__which: __itimer_which_t, __value: *mut itimerval) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn setitimer(
__which: __itimer_which_t,
__new: *const itimerval,
__old: *mut itimerval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn utimes(
__file: *const ::std::os::raw::c_char,
__tvp: *const timeval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn lutimes(
__file: *const ::std::os::raw::c_char,
__tvp: *const timeval,
) -> ::std::os::raw::c_int;
}
extern "C" {
pub fn futimes(__fd: ::std::os::raw::c_int, __tvp: *const timeval) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct winsize {
pub ws_row: ::std::os::raw::c_ushort,
pub ws_col: ::std::os::raw::c_ushort,
pub ws_xpixel: ::std::os::raw::c_ushort,
pub ws_ypixel: ::std::os::raw::c_ushort,
}
#[test]
fn bindgen_test_layout_winsize() {
const UNINIT: ::std::mem::MaybeUninit<winsize> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<winsize>(),
8usize,
concat!("Size of: ", stringify!(winsize))
);
assert_eq!(
::std::mem::align_of::<winsize>(),
2usize,
concat!("Alignment of ", stringify!(winsize))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ws_row) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(winsize),
"::",
stringify!(ws_row)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ws_col) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(winsize),
"::",
stringify!(ws_col)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ws_xpixel) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(winsize),
"::",
stringify!(ws_xpixel)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ws_ypixel) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(winsize),
"::",
stringify!(ws_ypixel)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct termio {
pub c_iflag: ::std::os::raw::c_ushort,
pub c_oflag: ::std::os::raw::c_ushort,
pub c_cflag: ::std::os::raw::c_ushort,
pub c_lflag: ::std::os::raw::c_ushort,
pub c_line: ::std::os::raw::c_uchar,
pub c_cc: [::std::os::raw::c_uchar; 8usize],
}
#[test]
fn bindgen_test_layout_termio() {
const UNINIT: ::std::mem::MaybeUninit<termio> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<termio>(),
18usize,
concat!("Size of: ", stringify!(termio))
);
assert_eq!(
::std::mem::align_of::<termio>(),
2usize,
concat!("Alignment of ", stringify!(termio))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).c_iflag) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(termio),
"::",
stringify!(c_iflag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).c_oflag) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(termio),
"::",
stringify!(c_oflag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).c_cflag) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(termio),
"::",
stringify!(c_cflag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).c_lflag) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(termio),
"::",
stringify!(c_lflag)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).c_line) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(termio),
"::",
stringify!(c_line)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).c_cc) as usize - ptr as usize },
9usize,
concat!(
"Offset of field: ",
stringify!(termio),
"::",
stringify!(c_cc)
)
);
}
extern "C" {
pub fn ioctl(
__fd: ::std::os::raw::c_int,
__request: ::std::os::raw::c_ulong,
...
) -> ::std::os::raw::c_int;
}
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 pid_t = __pid_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 clock_t = __clock_t;
pub type clockid_t = __clockid_t;
pub type timer_t = __timer_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 = __uint8_t;
pub type u_int16_t = __uint16_t;
pub type u_int32_t = __uint32_t;
pub type u_int64_t = __uint64_t;
pub type register_t = ::std::os::raw::c_long;
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(Copy, Clone)]
pub union __atomic_wide_counter {
pub __value64: ::std::os::raw::c_ulonglong,
pub __value32: __atomic_wide_counter__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __atomic_wide_counter__bindgen_ty_1 {
pub __low: ::std::os::raw::c_uint,
pub __high: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__atomic_wide_counter__bindgen_ty_1>(),
8usize,
concat!("Size of: ", stringify!(__atomic_wide_counter__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<__atomic_wide_counter__bindgen_ty_1>(),
4usize,
concat!(
"Alignment of ",
stringify!(__atomic_wide_counter__bindgen_ty_1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__low) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__atomic_wide_counter__bindgen_ty_1),
"::",
stringify!(__low)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__high) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__atomic_wide_counter__bindgen_ty_1),
"::",
stringify!(__high)
)
);
}
#[test]
fn bindgen_test_layout___atomic_wide_counter() {
const UNINIT: ::std::mem::MaybeUninit<__atomic_wide_counter> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__atomic_wide_counter>(),
8usize,
concat!("Size of: ", stringify!(__atomic_wide_counter))
);
assert_eq!(
::std::mem::align_of::<__atomic_wide_counter>(),
8usize,
concat!("Alignment of ", stringify!(__atomic_wide_counter))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__value64) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__atomic_wide_counter),
"::",
stringify!(__value64)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__value32) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__atomic_wide_counter),
"::",
stringify!(__value32)
)
);
}
#[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() {
const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_list> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__prev) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_list),
"::",
stringify!(__prev)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_list),
"::",
stringify!(__next)
)
);
}
pub type __pthread_list_t = __pthread_internal_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __pthread_internal_slist {
pub __next: *mut __pthread_internal_slist,
}
#[test]
fn bindgen_test_layout___pthread_internal_slist() {
const UNINIT: ::std::mem::MaybeUninit<__pthread_internal_slist> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__pthread_internal_slist>(),
8usize,
concat!("Size of: ", stringify!(__pthread_internal_slist))
);
assert_eq!(
::std::mem::align_of::<__pthread_internal_slist>(),
8usize,
concat!("Alignment of ", stringify!(__pthread_internal_slist))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__next) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_internal_slist),
"::",
stringify!(__next)
)
);
}
pub type __pthread_slist_t = __pthread_internal_slist;
#[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() {
const UNINIT: ::std::mem::MaybeUninit<__pthread_mutex_s> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__lock) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__lock)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__count) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__count)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__owner) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__owner)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__nusers) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__nusers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__kind) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__kind)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__spins) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__spins)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__elision) as usize - ptr as usize },
22usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__elision)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__list) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_mutex_s),
"::",
stringify!(__list)
)
);
}
#[repr(C)]
#[derive(Debug, 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() {
const UNINIT: ::std::mem::MaybeUninit<__pthread_rwlock_arch_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__readers) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__readers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__writers) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__writers)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__wrphase_futex) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__wrphase_futex)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__writers_futex) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__writers_futex)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__pad3) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad3)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__pad4) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad4)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__cur_writer) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__cur_writer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__shared) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__shared)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__rwelision) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__rwelision)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__pad1) as usize - ptr as usize },
33usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad1)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__pad2) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__pad2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__flags) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(__pthread_rwlock_arch_t),
"::",
stringify!(__flags)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __pthread_cond_s {
pub __wseq: __atomic_wide_counter,
pub __g1_start: __atomic_wide_counter,
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],
}
#[test]
fn bindgen_test_layout___pthread_cond_s() {
const UNINIT: ::std::mem::MaybeUninit<__pthread_cond_s> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__wseq) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__wseq)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__g1_start) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g1_start)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__g_refs) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_refs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__g_size) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__g1_orig_size) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g1_orig_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__wrefs) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__wrefs)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__g_signals) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(__pthread_cond_s),
"::",
stringify!(__g_signals)
)
);
}
pub type __tss_t = ::std::os::raw::c_uint;
pub type __thrd_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __once_flag {
pub __data: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout___once_flag() {
const UNINIT: ::std::mem::MaybeUninit<__once_flag> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__once_flag>(),
4usize,
concat!("Size of: ", stringify!(__once_flag))
);
assert_eq!(
::std::mem::align_of::<__once_flag>(),
4usize,
concat!("Alignment of ", stringify!(__once_flag))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__once_flag),
"::",
stringify!(__data)
)
);
}
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,
}
#[test]
fn bindgen_test_layout_pthread_mutexattr_t() {
const UNINIT: ::std::mem::MaybeUninit<pthread_mutexattr_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutexattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutexattr_t),
"::",
stringify!(__align)
)
);
}
#[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,
}
#[test]
fn bindgen_test_layout_pthread_condattr_t() {
const UNINIT: ::std::mem::MaybeUninit<pthread_condattr_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_condattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_condattr_t),
"::",
stringify!(__align)
)
);
}
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,
}
#[test]
fn bindgen_test_layout_pthread_attr_t() {
const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_attr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_attr_t),
"::",
stringify!(__align)
)
);
}
#[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,
}
#[test]
fn bindgen_test_layout_pthread_mutex_t() {
const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_mutex_t),
"::",
stringify!(__align)
)
);
}
#[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,
}
#[test]
fn bindgen_test_layout_pthread_cond_t() {
const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_cond_t),
"::",
stringify!(__align)
)
);
}
#[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,
}
#[test]
fn bindgen_test_layout_pthread_rwlock_t() {
const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlock_t),
"::",
stringify!(__align)
)
);
}
#[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,
}
#[test]
fn bindgen_test_layout_pthread_rwlockattr_t() {
const UNINIT: ::std::mem::MaybeUninit<pthread_rwlockattr_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlockattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_rwlockattr_t),
"::",
stringify!(__align)
)
);
}
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,
}
#[test]
fn bindgen_test_layout_pthread_barrier_t() {
const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrier_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrier_t),
"::",
stringify!(__align)
)
);
}
#[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,
}
#[test]
fn bindgen_test_layout_pthread_barrierattr_t() {
const UNINIT: ::std::mem::MaybeUninit<pthread_barrierattr_t> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
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::addr_of!((*ptr).__size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrierattr_t),
"::",
stringify!(__size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(pthread_barrierattr_t),
"::",
stringify!(__align)
)
);
}
pub type __s8 = ::std::os::raw::c_schar;
pub type __u8 = ::std::os::raw::c_uchar;
pub type __s16 = ::std::os::raw::c_short;
pub type __u16 = ::std::os::raw::c_ushort;
pub type __s32 = ::std::os::raw::c_int;
pub type __u32 = ::std::os::raw::c_uint;
pub type __s64 = ::std::os::raw::c_longlong;
pub type __u64 = ::std::os::raw::c_ulonglong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fd_set {
pub fds_bits: [::std::os::raw::c_ulong; 16usize],
}
#[test]
fn bindgen_test_layout___kernel_fd_set() {
const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__kernel_fd_set>(),
128usize,
concat!("Size of: ", stringify!(__kernel_fd_set))
);
assert_eq!(
::std::mem::align_of::<__kernel_fd_set>(),
8usize,
concat!("Alignment of ", stringify!(__kernel_fd_set))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__kernel_fd_set),
"::",
stringify!(fds_bits)
)
);
}
pub type __kernel_sighandler_t =
::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
pub type __kernel_key_t = ::std::os::raw::c_int;
pub type __kernel_mqd_t = ::std::os::raw::c_int;
pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
pub type __kernel_long_t = ::std::os::raw::c_long;
pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
pub type __kernel_ino_t = __kernel_ulong_t;
pub type __kernel_mode_t = ::std::os::raw::c_uint;
pub type __kernel_pid_t = ::std::os::raw::c_int;
pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
pub type __kernel_uid_t = ::std::os::raw::c_uint;
pub type __kernel_gid_t = ::std::os::raw::c_uint;
pub type __kernel_suseconds_t = __kernel_long_t;
pub type __kernel_daddr_t = ::std::os::raw::c_int;
pub type __kernel_uid32_t = ::std::os::raw::c_uint;
pub type __kernel_gid32_t = ::std::os::raw::c_uint;
pub type __kernel_size_t = __kernel_ulong_t;
pub type __kernel_ssize_t = __kernel_long_t;
pub type __kernel_ptrdiff_t = __kernel_long_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fsid_t {
pub val: [::std::os::raw::c_int; 2usize],
}
#[test]
fn bindgen_test_layout___kernel_fsid_t() {
const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<__kernel_fsid_t>(),
8usize,
concat!("Size of: ", stringify!(__kernel_fsid_t))
);
assert_eq!(
::std::mem::align_of::<__kernel_fsid_t>(),
4usize,
concat!("Alignment of ", stringify!(__kernel_fsid_t))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(__kernel_fsid_t),
"::",
stringify!(val)
)
);
}
pub type __kernel_off_t = __kernel_long_t;
pub type __kernel_loff_t = ::std::os::raw::c_longlong;
pub type __kernel_old_time_t = __kernel_long_t;
pub type __kernel_time_t = __kernel_long_t;
pub type __kernel_time64_t = ::std::os::raw::c_longlong;
pub type __kernel_clock_t = __kernel_long_t;
pub type __kernel_timer_t = ::std::os::raw::c_int;
pub type __kernel_clockid_t = ::std::os::raw::c_int;
pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
pub type __le16 = __u16;
pub type __be16 = __u16;
pub type __le32 = __u32;
pub type __be32 = __u32;
pub type __le64 = __u64;
pub type __be64 = __u64;
pub type __sum16 = __u16;
pub type __wsum = __u32;
pub type __poll_t = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct input_event {
pub time: timeval,
pub type_: __u16,
pub code: __u16,
pub value: __s32,
}
#[test]
fn bindgen_test_layout_input_event() {
const UNINIT: ::std::mem::MaybeUninit<input_event> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<input_event>(),
24usize,
concat!("Size of: ", stringify!(input_event))
);
assert_eq!(
::std::mem::align_of::<input_event>(),
8usize,
concat!("Alignment of ", stringify!(input_event))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).time) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(input_event),
"::",
stringify!(time)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(input_event),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize },
18usize,
concat!(
"Offset of field: ",
stringify!(input_event),
"::",
stringify!(code)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(input_event),
"::",
stringify!(value)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct input_id {
pub bustype: __u16,
pub vendor: __u16,
pub product: __u16,
pub version: __u16,
}
#[test]
fn bindgen_test_layout_input_id() {
const UNINIT: ::std::mem::MaybeUninit<input_id> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<input_id>(),
8usize,
concat!("Size of: ", stringify!(input_id))
);
assert_eq!(
::std::mem::align_of::<input_id>(),
2usize,
concat!("Alignment of ", stringify!(input_id))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bustype) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(input_id),
"::",
stringify!(bustype)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vendor) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(input_id),
"::",
stringify!(vendor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).product) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(input_id),
"::",
stringify!(product)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(input_id),
"::",
stringify!(version)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct input_absinfo {
pub value: __s32,
pub minimum: __s32,
pub maximum: __s32,
pub fuzz: __s32,
pub flat: __s32,
pub resolution: __s32,
}
#[test]
fn bindgen_test_layout_input_absinfo() {
const UNINIT: ::std::mem::MaybeUninit<input_absinfo> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<input_absinfo>(),
24usize,
concat!("Size of: ", stringify!(input_absinfo))
);
assert_eq!(
::std::mem::align_of::<input_absinfo>(),
4usize,
concat!("Alignment of ", stringify!(input_absinfo))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(input_absinfo),
"::",
stringify!(value)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(input_absinfo),
"::",
stringify!(minimum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(input_absinfo),
"::",
stringify!(maximum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fuzz) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(input_absinfo),
"::",
stringify!(fuzz)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flat) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(input_absinfo),
"::",
stringify!(flat)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).resolution) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(input_absinfo),
"::",
stringify!(resolution)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct input_keymap_entry {
pub flags: __u8,
pub len: __u8,
pub index: __u16,
pub keycode: __u32,
pub scancode: [__u8; 32usize],
}
#[test]
fn bindgen_test_layout_input_keymap_entry() {
const UNINIT: ::std::mem::MaybeUninit<input_keymap_entry> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<input_keymap_entry>(),
40usize,
concat!("Size of: ", stringify!(input_keymap_entry))
);
assert_eq!(
::std::mem::align_of::<input_keymap_entry>(),
4usize,
concat!("Alignment of ", stringify!(input_keymap_entry))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(input_keymap_entry),
"::",
stringify!(flags)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
1usize,
concat!(
"Offset of field: ",
stringify!(input_keymap_entry),
"::",
stringify!(len)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).index) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(input_keymap_entry),
"::",
stringify!(index)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).keycode) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(input_keymap_entry),
"::",
stringify!(keycode)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).scancode) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(input_keymap_entry),
"::",
stringify!(scancode)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct input_mask {
pub type_: __u32,
pub codes_size: __u32,
pub codes_ptr: __u64,
}
#[test]
fn bindgen_test_layout_input_mask() {
const UNINIT: ::std::mem::MaybeUninit<input_mask> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<input_mask>(),
16usize,
concat!("Size of: ", stringify!(input_mask))
);
assert_eq!(
::std::mem::align_of::<input_mask>(),
8usize,
concat!("Alignment of ", stringify!(input_mask))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(input_mask),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).codes_size) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(input_mask),
"::",
stringify!(codes_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).codes_ptr) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(input_mask),
"::",
stringify!(codes_ptr)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ff_replay {
pub length: __u16,
pub delay: __u16,
}
#[test]
fn bindgen_test_layout_ff_replay() {
const UNINIT: ::std::mem::MaybeUninit<ff_replay> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_replay>(),
4usize,
concat!("Size of: ", stringify!(ff_replay))
);
assert_eq!(
::std::mem::align_of::<ff_replay>(),
2usize,
concat!("Alignment of ", stringify!(ff_replay))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_replay),
"::",
stringify!(length)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).delay) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ff_replay),
"::",
stringify!(delay)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ff_trigger {
pub button: __u16,
pub interval: __u16,
}
#[test]
fn bindgen_test_layout_ff_trigger() {
const UNINIT: ::std::mem::MaybeUninit<ff_trigger> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_trigger>(),
4usize,
concat!("Size of: ", stringify!(ff_trigger))
);
assert_eq!(
::std::mem::align_of::<ff_trigger>(),
2usize,
concat!("Alignment of ", stringify!(ff_trigger))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).button) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_trigger),
"::",
stringify!(button)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).interval) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ff_trigger),
"::",
stringify!(interval)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ff_envelope {
pub attack_length: __u16,
pub attack_level: __u16,
pub fade_length: __u16,
pub fade_level: __u16,
}
#[test]
fn bindgen_test_layout_ff_envelope() {
const UNINIT: ::std::mem::MaybeUninit<ff_envelope> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_envelope>(),
8usize,
concat!("Size of: ", stringify!(ff_envelope))
);
assert_eq!(
::std::mem::align_of::<ff_envelope>(),
2usize,
concat!("Alignment of ", stringify!(ff_envelope))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).attack_length) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_envelope),
"::",
stringify!(attack_length)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).attack_level) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ff_envelope),
"::",
stringify!(attack_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fade_length) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ff_envelope),
"::",
stringify!(fade_length)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).fade_level) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(ff_envelope),
"::",
stringify!(fade_level)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ff_constant_effect {
pub level: __s16,
pub envelope: ff_envelope,
}
#[test]
fn bindgen_test_layout_ff_constant_effect() {
const UNINIT: ::std::mem::MaybeUninit<ff_constant_effect> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_constant_effect>(),
10usize,
concat!("Size of: ", stringify!(ff_constant_effect))
);
assert_eq!(
::std::mem::align_of::<ff_constant_effect>(),
2usize,
concat!("Alignment of ", stringify!(ff_constant_effect))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).level) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_constant_effect),
"::",
stringify!(level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).envelope) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ff_constant_effect),
"::",
stringify!(envelope)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ff_ramp_effect {
pub start_level: __s16,
pub end_level: __s16,
pub envelope: ff_envelope,
}
#[test]
fn bindgen_test_layout_ff_ramp_effect() {
const UNINIT: ::std::mem::MaybeUninit<ff_ramp_effect> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_ramp_effect>(),
12usize,
concat!("Size of: ", stringify!(ff_ramp_effect))
);
assert_eq!(
::std::mem::align_of::<ff_ramp_effect>(),
2usize,
concat!("Alignment of ", stringify!(ff_ramp_effect))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).start_level) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_ramp_effect),
"::",
stringify!(start_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).end_level) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ff_ramp_effect),
"::",
stringify!(end_level)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).envelope) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ff_ramp_effect),
"::",
stringify!(envelope)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ff_condition_effect {
pub right_saturation: __u16,
pub left_saturation: __u16,
pub right_coeff: __s16,
pub left_coeff: __s16,
pub deadband: __u16,
pub center: __s16,
}
#[test]
fn bindgen_test_layout_ff_condition_effect() {
const UNINIT: ::std::mem::MaybeUninit<ff_condition_effect> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_condition_effect>(),
12usize,
concat!("Size of: ", stringify!(ff_condition_effect))
);
assert_eq!(
::std::mem::align_of::<ff_condition_effect>(),
2usize,
concat!("Alignment of ", stringify!(ff_condition_effect))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).right_saturation) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_condition_effect),
"::",
stringify!(right_saturation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).left_saturation) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ff_condition_effect),
"::",
stringify!(left_saturation)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).right_coeff) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ff_condition_effect),
"::",
stringify!(right_coeff)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).left_coeff) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(ff_condition_effect),
"::",
stringify!(left_coeff)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).deadband) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ff_condition_effect),
"::",
stringify!(deadband)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).center) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(ff_condition_effect),
"::",
stringify!(center)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ff_periodic_effect {
pub waveform: __u16,
pub period: __u16,
pub magnitude: __s16,
pub offset: __s16,
pub phase: __u16,
pub envelope: ff_envelope,
pub custom_len: __u32,
pub custom_data: *mut __s16,
}
#[test]
fn bindgen_test_layout_ff_periodic_effect() {
const UNINIT: ::std::mem::MaybeUninit<ff_periodic_effect> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_periodic_effect>(),
32usize,
concat!("Size of: ", stringify!(ff_periodic_effect))
);
assert_eq!(
::std::mem::align_of::<ff_periodic_effect>(),
8usize,
concat!("Alignment of ", stringify!(ff_periodic_effect))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).waveform) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_periodic_effect),
"::",
stringify!(waveform)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).period) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ff_periodic_effect),
"::",
stringify!(period)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).magnitude) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ff_periodic_effect),
"::",
stringify!(magnitude)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(ff_periodic_effect),
"::",
stringify!(offset)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).phase) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(ff_periodic_effect),
"::",
stringify!(phase)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).envelope) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(ff_periodic_effect),
"::",
stringify!(envelope)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).custom_len) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(ff_periodic_effect),
"::",
stringify!(custom_len)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).custom_data) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(ff_periodic_effect),
"::",
stringify!(custom_data)
)
);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ff_rumble_effect {
pub strong_magnitude: __u16,
pub weak_magnitude: __u16,
}
#[test]
fn bindgen_test_layout_ff_rumble_effect() {
const UNINIT: ::std::mem::MaybeUninit<ff_rumble_effect> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_rumble_effect>(),
4usize,
concat!("Size of: ", stringify!(ff_rumble_effect))
);
assert_eq!(
::std::mem::align_of::<ff_rumble_effect>(),
2usize,
concat!("Alignment of ", stringify!(ff_rumble_effect))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).strong_magnitude) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_rumble_effect),
"::",
stringify!(strong_magnitude)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).weak_magnitude) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ff_rumble_effect),
"::",
stringify!(weak_magnitude)
)
);
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ff_effect {
pub type_: __u16,
pub id: __s16,
pub direction: __u16,
pub trigger: ff_trigger,
pub replay: ff_replay,
pub u: ff_effect__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union ff_effect__bindgen_ty_1 {
pub constant: ff_constant_effect,
pub ramp: ff_ramp_effect,
pub periodic: ff_periodic_effect,
pub condition: [ff_condition_effect; 2usize],
pub rumble: ff_rumble_effect,
}
#[test]
fn bindgen_test_layout_ff_effect__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<ff_effect__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_effect__bindgen_ty_1>(),
32usize,
concat!("Size of: ", stringify!(ff_effect__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<ff_effect__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(ff_effect__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).constant) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_effect__bindgen_ty_1),
"::",
stringify!(constant)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ramp) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_effect__bindgen_ty_1),
"::",
stringify!(ramp)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).periodic) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_effect__bindgen_ty_1),
"::",
stringify!(periodic)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).condition) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_effect__bindgen_ty_1),
"::",
stringify!(condition)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rumble) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_effect__bindgen_ty_1),
"::",
stringify!(rumble)
)
);
}
#[test]
fn bindgen_test_layout_ff_effect() {
const UNINIT: ::std::mem::MaybeUninit<ff_effect> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<ff_effect>(),
48usize,
concat!("Size of: ", stringify!(ff_effect))
);
assert_eq!(
::std::mem::align_of::<ff_effect>(),
8usize,
concat!("Alignment of ", stringify!(ff_effect))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(ff_effect),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(ff_effect),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).direction) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(ff_effect),
"::",
stringify!(direction)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).trigger) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(ff_effect),
"::",
stringify!(trigger)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).replay) as usize - ptr as usize },
10usize,
concat!(
"Offset of field: ",
stringify!(ff_effect),
"::",
stringify!(replay)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(ff_effect),
"::",
stringify!(u)
)
);
}
pub const uhid_event_type___UHID_LEGACY_CREATE: uhid_event_type = 0;
pub const uhid_event_type_UHID_DESTROY: uhid_event_type = 1;
pub const uhid_event_type_UHID_START: uhid_event_type = 2;
pub const uhid_event_type_UHID_STOP: uhid_event_type = 3;
pub const uhid_event_type_UHID_OPEN: uhid_event_type = 4;
pub const uhid_event_type_UHID_CLOSE: uhid_event_type = 5;
pub const uhid_event_type_UHID_OUTPUT: uhid_event_type = 6;
pub const uhid_event_type___UHID_LEGACY_OUTPUT_EV: uhid_event_type = 7;
pub const uhid_event_type___UHID_LEGACY_INPUT: uhid_event_type = 8;
pub const uhid_event_type_UHID_GET_REPORT: uhid_event_type = 9;
pub const uhid_event_type_UHID_GET_REPORT_REPLY: uhid_event_type = 10;
pub const uhid_event_type_UHID_CREATE2: uhid_event_type = 11;
pub const uhid_event_type_UHID_INPUT2: uhid_event_type = 12;
pub const uhid_event_type_UHID_SET_REPORT: uhid_event_type = 13;
pub const uhid_event_type_UHID_SET_REPORT_REPLY: uhid_event_type = 14;
pub type uhid_event_type = ::std::os::raw::c_uint;
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_create2_req {
pub name: [__u8; 128usize],
pub phys: [__u8; 64usize],
pub uniq: [__u8; 64usize],
pub rd_size: __u16,
pub bus: __u16,
pub vendor: __u32,
pub product: __u32,
pub version: __u32,
pub country: __u32,
pub rd_data: [__u8; 4096usize],
}
#[test]
fn bindgen_test_layout_uhid_create2_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_create2_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_create2_req>(),
4372usize,
concat!("Size of: ", stringify!(uhid_create2_req))
);
assert_eq!(
::std::mem::align_of::<uhid_create2_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_create2_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).phys) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(phys)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).uniq) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(uniq)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rd_size) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(rd_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bus) as usize - ptr as usize },
258usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(bus)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vendor) as usize - ptr as usize },
260usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(vendor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).product) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(product)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
268usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).country) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(country)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rd_data) as usize - ptr as usize },
276usize,
concat!(
"Offset of field: ",
stringify!(uhid_create2_req),
"::",
stringify!(rd_data)
)
);
}
pub const uhid_dev_flag_UHID_DEV_NUMBERED_FEATURE_REPORTS: uhid_dev_flag = 1;
pub const uhid_dev_flag_UHID_DEV_NUMBERED_OUTPUT_REPORTS: uhid_dev_flag = 2;
pub const uhid_dev_flag_UHID_DEV_NUMBERED_INPUT_REPORTS: uhid_dev_flag = 4;
pub type uhid_dev_flag = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_start_req {
pub dev_flags: __u64,
}
#[test]
fn bindgen_test_layout_uhid_start_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_start_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_start_req>(),
8usize,
concat!("Size of: ", stringify!(uhid_start_req))
);
assert_eq!(
::std::mem::align_of::<uhid_start_req>(),
8usize,
concat!("Alignment of ", stringify!(uhid_start_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).dev_flags) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_start_req),
"::",
stringify!(dev_flags)
)
);
}
pub const uhid_report_type_UHID_FEATURE_REPORT: uhid_report_type = 0;
pub const uhid_report_type_UHID_OUTPUT_REPORT: uhid_report_type = 1;
pub const uhid_report_type_UHID_INPUT_REPORT: uhid_report_type = 2;
pub type uhid_report_type = ::std::os::raw::c_uint;
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_input2_req {
pub size: __u16,
pub data: [__u8; 4096usize],
}
#[test]
fn bindgen_test_layout_uhid_input2_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_input2_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_input2_req>(),
4098usize,
concat!("Size of: ", stringify!(uhid_input2_req))
);
assert_eq!(
::std::mem::align_of::<uhid_input2_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_input2_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_input2_req),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(uhid_input2_req),
"::",
stringify!(data)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_output_req {
pub data: [__u8; 4096usize],
pub size: __u16,
pub rtype: __u8,
}
#[test]
fn bindgen_test_layout_uhid_output_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_output_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_output_req>(),
4099usize,
concat!("Size of: ", stringify!(uhid_output_req))
);
assert_eq!(
::std::mem::align_of::<uhid_output_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_output_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_output_req),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4096usize,
concat!(
"Offset of field: ",
stringify!(uhid_output_req),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rtype) as usize - ptr as usize },
4098usize,
concat!(
"Offset of field: ",
stringify!(uhid_output_req),
"::",
stringify!(rtype)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_get_report_req {
pub id: __u32,
pub rnum: __u8,
pub rtype: __u8,
}
#[test]
fn bindgen_test_layout_uhid_get_report_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_get_report_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_get_report_req>(),
6usize,
concat!("Size of: ", stringify!(uhid_get_report_req))
);
assert_eq!(
::std::mem::align_of::<uhid_get_report_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_get_report_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_get_report_req),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rnum) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(uhid_get_report_req),
"::",
stringify!(rnum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rtype) as usize - ptr as usize },
5usize,
concat!(
"Offset of field: ",
stringify!(uhid_get_report_req),
"::",
stringify!(rtype)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_get_report_reply_req {
pub id: __u32,
pub err: __u16,
pub size: __u16,
pub data: [__u8; 4096usize],
}
#[test]
fn bindgen_test_layout_uhid_get_report_reply_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_get_report_reply_req> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_get_report_reply_req>(),
4104usize,
concat!("Size of: ", stringify!(uhid_get_report_reply_req))
);
assert_eq!(
::std::mem::align_of::<uhid_get_report_reply_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_get_report_reply_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_get_report_reply_req),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(uhid_get_report_reply_req),
"::",
stringify!(err)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(uhid_get_report_reply_req),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(uhid_get_report_reply_req),
"::",
stringify!(data)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_set_report_req {
pub id: __u32,
pub rnum: __u8,
pub rtype: __u8,
pub size: __u16,
pub data: [__u8; 4096usize],
}
#[test]
fn bindgen_test_layout_uhid_set_report_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_set_report_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_set_report_req>(),
4104usize,
concat!("Size of: ", stringify!(uhid_set_report_req))
);
assert_eq!(
::std::mem::align_of::<uhid_set_report_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_set_report_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_set_report_req),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rnum) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(uhid_set_report_req),
"::",
stringify!(rnum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rtype) as usize - ptr as usize },
5usize,
concat!(
"Offset of field: ",
stringify!(uhid_set_report_req),
"::",
stringify!(rtype)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(uhid_set_report_req),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(uhid_set_report_req),
"::",
stringify!(data)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_set_report_reply_req {
pub id: __u32,
pub err: __u16,
}
#[test]
fn bindgen_test_layout_uhid_set_report_reply_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_set_report_reply_req> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_set_report_reply_req>(),
6usize,
concat!("Size of: ", stringify!(uhid_set_report_reply_req))
);
assert_eq!(
::std::mem::align_of::<uhid_set_report_reply_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_set_report_reply_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_set_report_reply_req),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(uhid_set_report_reply_req),
"::",
stringify!(err)
)
);
}
pub const uhid_legacy_event_type_UHID_CREATE: uhid_legacy_event_type = 0;
pub const uhid_legacy_event_type_UHID_OUTPUT_EV: uhid_legacy_event_type = 7;
pub const uhid_legacy_event_type_UHID_INPUT: uhid_legacy_event_type = 8;
pub const uhid_legacy_event_type_UHID_FEATURE: uhid_legacy_event_type = 9;
pub const uhid_legacy_event_type_UHID_FEATURE_ANSWER: uhid_legacy_event_type = 10;
pub type uhid_legacy_event_type = ::std::os::raw::c_uint;
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_create_req {
pub name: [__u8; 128usize],
pub phys: [__u8; 64usize],
pub uniq: [__u8; 64usize],
pub rd_data: *mut __u8,
pub rd_size: __u16,
pub bus: __u16,
pub vendor: __u32,
pub product: __u32,
pub version: __u32,
pub country: __u32,
}
#[test]
fn bindgen_test_layout_uhid_create_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_create_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_create_req>(),
284usize,
concat!("Size of: ", stringify!(uhid_create_req))
);
assert_eq!(
::std::mem::align_of::<uhid_create_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_create_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(name)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).phys) as usize - ptr as usize },
128usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(phys)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).uniq) as usize - ptr as usize },
192usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(uniq)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rd_data) as usize - ptr as usize },
256usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(rd_data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rd_size) as usize - ptr as usize },
264usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(rd_size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).bus) as usize - ptr as usize },
266usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(bus)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).vendor) as usize - ptr as usize },
268usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(vendor)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).product) as usize - ptr as usize },
272usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(product)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
276usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(version)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).country) as usize - ptr as usize },
280usize,
concat!(
"Offset of field: ",
stringify!(uhid_create_req),
"::",
stringify!(country)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_input_req {
pub data: [__u8; 4096usize],
pub size: __u16,
}
#[test]
fn bindgen_test_layout_uhid_input_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_input_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_input_req>(),
4098usize,
concat!("Size of: ", stringify!(uhid_input_req))
);
assert_eq!(
::std::mem::align_of::<uhid_input_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_input_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_input_req),
"::",
stringify!(data)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
4096usize,
concat!(
"Offset of field: ",
stringify!(uhid_input_req),
"::",
stringify!(size)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_output_ev_req {
pub type_: __u16,
pub code: __u16,
pub value: __s32,
}
#[test]
fn bindgen_test_layout_uhid_output_ev_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_output_ev_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_output_ev_req>(),
8usize,
concat!("Size of: ", stringify!(uhid_output_ev_req))
);
assert_eq!(
::std::mem::align_of::<uhid_output_ev_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_output_ev_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_output_ev_req),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).code) as usize - ptr as usize },
2usize,
concat!(
"Offset of field: ",
stringify!(uhid_output_ev_req),
"::",
stringify!(code)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(uhid_output_ev_req),
"::",
stringify!(value)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_feature_req {
pub id: __u32,
pub rnum: __u8,
pub rtype: __u8,
}
#[test]
fn bindgen_test_layout_uhid_feature_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_feature_req> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_feature_req>(),
6usize,
concat!("Size of: ", stringify!(uhid_feature_req))
);
assert_eq!(
::std::mem::align_of::<uhid_feature_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_feature_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_feature_req),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rnum) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(uhid_feature_req),
"::",
stringify!(rnum)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).rtype) as usize - ptr as usize },
5usize,
concat!(
"Offset of field: ",
stringify!(uhid_feature_req),
"::",
stringify!(rtype)
)
);
}
#[repr(C, packed)]
#[derive(Debug, Copy, Clone)]
pub struct uhid_feature_answer_req {
pub id: __u32,
pub err: __u16,
pub size: __u16,
pub data: [__u8; 4096usize],
}
#[test]
fn bindgen_test_layout_uhid_feature_answer_req() {
const UNINIT: ::std::mem::MaybeUninit<uhid_feature_answer_req> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_feature_answer_req>(),
4104usize,
concat!("Size of: ", stringify!(uhid_feature_answer_req))
);
assert_eq!(
::std::mem::align_of::<uhid_feature_answer_req>(),
1usize,
concat!("Alignment of ", stringify!(uhid_feature_answer_req))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).id) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_feature_answer_req),
"::",
stringify!(id)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(uhid_feature_answer_req),
"::",
stringify!(err)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
6usize,
concat!(
"Offset of field: ",
stringify!(uhid_feature_answer_req),
"::",
stringify!(size)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(uhid_feature_answer_req),
"::",
stringify!(data)
)
);
}
#[repr(C, packed)]
#[derive(Copy, Clone)]
pub struct uhid_event {
pub type_: __u32,
pub u: uhid_event__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union uhid_event__bindgen_ty_1 {
pub create: uhid_create_req,
pub input: uhid_input_req,
pub output: uhid_output_req,
pub output_ev: uhid_output_ev_req,
pub feature: uhid_feature_req,
pub get_report: uhid_get_report_req,
pub feature_answer: uhid_feature_answer_req,
pub get_report_reply: uhid_get_report_reply_req,
pub create2: uhid_create2_req,
pub input2: uhid_input2_req,
pub set_report: uhid_set_report_req,
pub set_report_reply: uhid_set_report_reply_req,
pub start: uhid_start_req,
}
#[test]
fn bindgen_test_layout_uhid_event__bindgen_ty_1() {
const UNINIT: ::std::mem::MaybeUninit<uhid_event__bindgen_ty_1> =
::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_event__bindgen_ty_1>(),
4376usize,
concat!("Size of: ", stringify!(uhid_event__bindgen_ty_1))
);
assert_eq!(
::std::mem::align_of::<uhid_event__bindgen_ty_1>(),
8usize,
concat!("Alignment of ", stringify!(uhid_event__bindgen_ty_1))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(create)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).input) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(input)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).output) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(output)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).output_ev) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(output_ev)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).feature) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(feature)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_report) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(get_report)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).feature_answer) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(feature_answer)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).get_report_reply) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(get_report_reply)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).create2) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(create2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).input2) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(input2)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_report) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(set_report)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).set_report_reply) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(set_report_reply)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).start) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event__bindgen_ty_1),
"::",
stringify!(start)
)
);
}
#[test]
fn bindgen_test_layout_uhid_event() {
const UNINIT: ::std::mem::MaybeUninit<uhid_event> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<uhid_event>(),
4380usize,
concat!("Size of: ", stringify!(uhid_event))
);
assert_eq!(
::std::mem::align_of::<uhid_event>(),
1usize,
concat!("Alignment of ", stringify!(uhid_event))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(uhid_event),
"::",
stringify!(type_)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(uhid_event),
"::",
stringify!(u)
)
);
}