/* automatically generated by rust-bindgen */

pub const __BIONIC__: u32 = 1;
pub const __WORDSIZE: u32 = 32;
pub const __bos_level: u32 = 0;
pub const __NDK_MAJOR__: u32 = 21;
pub const __NDK_MINOR__: u32 = 1;
pub const __NDK_BETA__: u32 = 3;
pub const __NDK_BUILD__: u32 = 6363665;
pub const __NDK_CANARY__: u32 = 0;
pub const __ANDROID_API_FUTURE__: u32 = 10000;
pub const __ANDROID_API__: u32 = 10000;
pub const __ANDROID_API_G__: u32 = 9;
pub const __ANDROID_API_I__: u32 = 14;
pub const __ANDROID_API_J__: u32 = 16;
pub const __ANDROID_API_J_MR1__: u32 = 17;
pub const __ANDROID_API_J_MR2__: u32 = 18;
pub const __ANDROID_API_K__: u32 = 19;
pub const __ANDROID_API_L__: u32 = 21;
pub const __ANDROID_API_L_MR1__: u32 = 22;
pub const __ANDROID_API_M__: u32 = 23;
pub const __ANDROID_API_N__: u32 = 24;
pub const __ANDROID_API_N_MR1__: u32 = 25;
pub const __ANDROID_API_O__: u32 = 26;
pub const __ANDROID_API_O_MR1__: u32 = 27;
pub const __ANDROID_API_P__: u32 = 28;
pub const __ANDROID_API_Q__: u32 = 29;
pub const __ANDROID_API_R__: u32 = 30;
pub const INT8_MIN: i32 = -128;
pub const INT8_MAX: u32 = 127;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST8_MAX: u32 = 127;
pub const UINT8_MAX: u32 = 255;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_FAST8_MAX: u32 = 255;
pub const INT16_MIN: i32 = -32768;
pub const INT16_MAX: u32 = 32767;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const UINT16_MAX: u32 = 65535;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const INT32_MIN: i32 = -2147483648;
pub const INT32_MAX: u32 = 2147483647;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const INT_FAST32_MIN: i32 = -2147483648;
pub const INT_FAST32_MAX: u32 = 2147483647;
pub const UINT32_MAX: u32 = 4294967295;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const UINT_FAST32_MAX: u32 = 4294967295;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const WINT_MAX: u32 = 4294967295;
pub const WINT_MIN: u32 = 0;
pub const INTPTR_MIN: i32 = -2147483648;
pub const INTPTR_MAX: u32 = 2147483647;
pub const UINTPTR_MAX: u32 = 4294967295;
pub const PTRDIFF_MIN: i32 = -2147483648;
pub const PTRDIFF_MAX: u32 = 2147483647;
pub const SIZE_MAX: u32 = 4294967295;
pub const __BITS_PER_LONG: u32 = 32;
pub const __FD_SETSIZE: u32 = 1024;
pub const __GNUC_VA_LIST: u32 = 1;
pub const JNI_FALSE: u32 = 0;
pub const JNI_TRUE: u32 = 1;
pub const JNI_VERSION_1_1: u32 = 65537;
pub const JNI_VERSION_1_2: u32 = 65538;
pub const JNI_VERSION_1_4: u32 = 65540;
pub const JNI_VERSION_1_6: u32 = 65542;
pub const JNI_OK: u32 = 0;
pub const JNI_ERR: i32 = -1;
pub const JNI_EDETACHED: i32 = -2;
pub const JNI_EVERSION: i32 = -3;
pub const JNI_ENOMEM: i32 = -4;
pub const JNI_EEXIST: i32 = -5;
pub const JNI_EINVAL: i32 = -6;
pub const JNI_COMMIT: u32 = 1;
pub const JNI_ABORT: u32 = 2;
pub const true_: u32 = 1;
pub const false_: u32 = 0;
pub const __bool_true_false_are_defined: u32 = 1;
pub const __PRI_64_prefix: &'static [u8; 3usize] = b"ll\0";
pub const PRId8: &'static [u8; 2usize] = b"d\0";
pub const PRId16: &'static [u8; 2usize] = b"d\0";
pub const PRId32: &'static [u8; 2usize] = b"d\0";
pub const PRId64: &'static [u8; 4usize] = b"lld\0";
pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
pub const PRIdLEAST64: &'static [u8; 4usize] = b"lld\0";
pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
pub const PRIdFAST64: &'static [u8; 4usize] = b"lld\0";
pub const PRIdMAX: &'static [u8; 3usize] = b"jd\0";
pub const PRIi8: &'static [u8; 2usize] = b"i\0";
pub const PRIi16: &'static [u8; 2usize] = b"i\0";
pub const PRIi32: &'static [u8; 2usize] = b"i\0";
pub const PRIi64: &'static [u8; 4usize] = b"lli\0";
pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
pub const PRIiLEAST64: &'static [u8; 4usize] = b"lli\0";
pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
pub const PRIiFAST64: &'static [u8; 4usize] = b"lli\0";
pub const PRIiMAX: &'static [u8; 3usize] = b"ji\0";
pub const PRIo8: &'static [u8; 2usize] = b"o\0";
pub const PRIo16: &'static [u8; 2usize] = b"o\0";
pub const PRIo32: &'static [u8; 2usize] = b"o\0";
pub const PRIo64: &'static [u8; 4usize] = b"llo\0";
pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
pub const PRIoLEAST64: &'static [u8; 4usize] = b"llo\0";
pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
pub const PRIoFAST64: &'static [u8; 4usize] = b"llo\0";
pub const PRIoMAX: &'static [u8; 3usize] = b"jo\0";
pub const PRIu8: &'static [u8; 2usize] = b"u\0";
pub const PRIu16: &'static [u8; 2usize] = b"u\0";
pub const PRIu32: &'static [u8; 2usize] = b"u\0";
pub const PRIu64: &'static [u8; 4usize] = b"llu\0";
pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
pub const PRIuLEAST64: &'static [u8; 4usize] = b"llu\0";
pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
pub const PRIuFAST64: &'static [u8; 4usize] = b"llu\0";
pub const PRIuMAX: &'static [u8; 3usize] = b"ju\0";
pub const PRIx8: &'static [u8; 2usize] = b"x\0";
pub const PRIx16: &'static [u8; 2usize] = b"x\0";
pub const PRIx32: &'static [u8; 2usize] = b"x\0";
pub const PRIx64: &'static [u8; 4usize] = b"llx\0";
pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
pub const PRIxLEAST64: &'static [u8; 4usize] = b"llx\0";
pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
pub const PRIxFAST64: &'static [u8; 4usize] = b"llx\0";
pub const PRIxMAX: &'static [u8; 3usize] = b"jx\0";
pub const PRIX8: &'static [u8; 2usize] = b"X\0";
pub const PRIX16: &'static [u8; 2usize] = b"X\0";
pub const PRIX32: &'static [u8; 2usize] = b"X\0";
pub const PRIX64: &'static [u8; 4usize] = b"llX\0";
pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
pub const PRIXLEAST64: &'static [u8; 4usize] = b"llX\0";
pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
pub const PRIXFAST64: &'static [u8; 4usize] = b"llX\0";
pub const PRIXMAX: &'static [u8; 3usize] = b"jX\0";
pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
pub const SCNd32: &'static [u8; 2usize] = b"d\0";
pub const SCNd64: &'static [u8; 4usize] = b"lld\0";
pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
pub const SCNdLEAST64: &'static [u8; 4usize] = b"lld\0";
pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
pub const SCNdFAST64: &'static [u8; 4usize] = b"lld\0";
pub const SCNdMAX: &'static [u8; 3usize] = b"jd\0";
pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
pub const SCNi32: &'static [u8; 2usize] = b"i\0";
pub const SCNi64: &'static [u8; 4usize] = b"lli\0";
pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
pub const SCNiLEAST64: &'static [u8; 4usize] = b"lli\0";
pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
pub const SCNiFAST64: &'static [u8; 4usize] = b"lli\0";
pub const SCNiMAX: &'static [u8; 3usize] = b"ji\0";
pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
pub const SCNo32: &'static [u8; 2usize] = b"o\0";
pub const SCNo64: &'static [u8; 4usize] = b"llo\0";
pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
pub const SCNoLEAST64: &'static [u8; 4usize] = b"llo\0";
pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
pub const SCNoFAST64: &'static [u8; 4usize] = b"llo\0";
pub const SCNoMAX: &'static [u8; 3usize] = b"jo\0";
pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
pub const SCNu32: &'static [u8; 2usize] = b"u\0";
pub const SCNu64: &'static [u8; 4usize] = b"llu\0";
pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
pub const SCNuLEAST64: &'static [u8; 4usize] = b"llu\0";
pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
pub const SCNuFAST64: &'static [u8; 4usize] = b"llu\0";
pub const SCNuMAX: &'static [u8; 3usize] = b"ju\0";
pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
pub const SCNx32: &'static [u8; 2usize] = b"x\0";
pub const SCNx64: &'static [u8; 4usize] = b"llx\0";
pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
pub const SCNxLEAST64: &'static [u8; 4usize] = b"llx\0";
pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
pub const SCNxFAST64: &'static [u8; 4usize] = b"llx\0";
pub const SCNxMAX: &'static [u8; 3usize] = b"jx\0";
pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
pub const _K_SS_MAXSIZE: u32 = 128;
pub const O_ACCMODE: u32 = 3;
pub const O_RDONLY: u32 = 0;
pub const O_WRONLY: u32 = 1;
pub const O_RDWR: u32 = 2;
pub const O_CREAT: u32 = 64;
pub const O_EXCL: u32 = 128;
pub const O_NOCTTY: u32 = 256;
pub const O_TRUNC: u32 = 512;
pub const O_APPEND: u32 = 1024;
pub const O_NONBLOCK: u32 = 2048;
pub const O_DSYNC: u32 = 4096;
pub const FASYNC: u32 = 8192;
pub const O_DIRECT: u32 = 16384;
pub const O_LARGEFILE: u32 = 32768;
pub const O_DIRECTORY: u32 = 65536;
pub const O_NOFOLLOW: u32 = 131072;
pub const O_NOATIME: u32 = 262144;
pub const O_CLOEXEC: u32 = 524288;
pub const __O_SYNC: u32 = 1048576;
pub const O_SYNC: u32 = 1052672;
pub const O_PATH: u32 = 2097152;
pub const __O_TMPFILE: u32 = 4194304;
pub const O_TMPFILE: u32 = 4259840;
pub const O_TMPFILE_MASK: u32 = 4259904;
pub const O_NDELAY: u32 = 2048;
pub const F_DUPFD: u32 = 0;
pub const F_GETFD: u32 = 1;
pub const F_SETFD: u32 = 2;
pub const F_GETFL: u32 = 3;
pub const F_SETFL: u32 = 4;
pub const F_GETLK: u32 = 5;
pub const F_SETLK: u32 = 6;
pub const F_SETLKW: u32 = 7;
pub const F_SETOWN: u32 = 8;
pub const F_GETOWN: u32 = 9;
pub const F_SETSIG: u32 = 10;
pub const F_GETSIG: u32 = 11;
pub const F_GETLK64: u32 = 12;
pub const F_SETLK64: u32 = 13;
pub const F_SETLKW64: u32 = 14;
pub const F_SETOWN_EX: u32 = 15;
pub const F_GETOWN_EX: u32 = 16;
pub const F_GETOWNER_UIDS: u32 = 17;
pub const F_OFD_GETLK: u32 = 36;
pub const F_OFD_SETLK: u32 = 37;
pub const F_OFD_SETLKW: u32 = 38;
pub const F_OWNER_TID: u32 = 0;
pub const F_OWNER_PID: u32 = 1;
pub const F_OWNER_PGRP: u32 = 2;
pub const FD_CLOEXEC: u32 = 1;
pub const F_RDLCK: u32 = 0;
pub const F_WRLCK: u32 = 1;
pub const F_UNLCK: u32 = 2;
pub const F_EXLCK: u32 = 4;
pub const F_SHLCK: u32 = 8;
pub const LOCK_SH: u32 = 1;
pub const LOCK_EX: u32 = 2;
pub const LOCK_NB: u32 = 4;
pub const LOCK_UN: u32 = 8;
pub const LOCK_MAND: u32 = 32;
pub const LOCK_READ: u32 = 64;
pub const LOCK_WRITE: u32 = 128;
pub const LOCK_RW: u32 = 192;
pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
pub const FIOSETOWN: u32 = 35073;
pub const SIOCSPGRP: u32 = 35074;
pub const FIOGETOWN: u32 = 35075;
pub const SIOCGPGRP: u32 = 35076;
pub const SIOCATMARK: u32 = 35077;
pub const SIOCGSTAMP_OLD: u32 = 35078;
pub const SIOCGSTAMPNS_OLD: u32 = 35079;
pub const SOL_SOCKET: u32 = 1;
pub const SO_DEBUG: u32 = 1;
pub const SO_REUSEADDR: u32 = 2;
pub const SO_TYPE: u32 = 3;
pub const SO_ERROR: u32 = 4;
pub const SO_DONTROUTE: u32 = 5;
pub const SO_BROADCAST: u32 = 6;
pub const SO_SNDBUF: u32 = 7;
pub const SO_RCVBUF: u32 = 8;
pub const SO_SNDBUFFORCE: u32 = 32;
pub const SO_RCVBUFFORCE: u32 = 33;
pub const SO_KEEPALIVE: u32 = 9;
pub const SO_OOBINLINE: u32 = 10;
pub const SO_NO_CHECK: u32 = 11;
pub const SO_PRIORITY: u32 = 12;
pub const SO_LINGER: u32 = 13;
pub const SO_BSDCOMPAT: u32 = 14;
pub const SO_REUSEPORT: u32 = 15;
pub const SO_PASSCRED: u32 = 16;
pub const SO_PEERCRED: u32 = 17;
pub const SO_RCVLOWAT: u32 = 18;
pub const SO_SNDLOWAT: u32 = 19;
pub const SO_RCVTIMEO_OLD: u32 = 20;
pub const SO_SNDTIMEO_OLD: u32 = 21;
pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
pub const SO_BINDTODEVICE: u32 = 25;
pub const SO_ATTACH_FILTER: u32 = 26;
pub const SO_DETACH_FILTER: u32 = 27;
pub const SO_GET_FILTER: u32 = 26;
pub const SO_PEERNAME: u32 = 28;
pub const SO_ACCEPTCONN: u32 = 30;
pub const SO_PEERSEC: u32 = 31;
pub const SO_PASSSEC: u32 = 34;
pub const SO_MARK: u32 = 36;
pub const SO_PROTOCOL: u32 = 38;
pub const SO_DOMAIN: u32 = 39;
pub const SO_RXQ_OVFL: u32 = 40;
pub const SO_WIFI_STATUS: u32 = 41;
pub const SCM_WIFI_STATUS: u32 = 41;
pub const SO_PEEK_OFF: u32 = 42;
pub const SO_NOFCS: u32 = 43;
pub const SO_LOCK_FILTER: u32 = 44;
pub const SO_SELECT_ERR_QUEUE: u32 = 45;
pub const SO_BUSY_POLL: u32 = 46;
pub const SO_MAX_PACING_RATE: u32 = 47;
pub const SO_BPF_EXTENSIONS: u32 = 48;
pub const SO_INCOMING_CPU: u32 = 49;
pub const SO_ATTACH_BPF: u32 = 50;
pub const SO_DETACH_BPF: u32 = 27;
pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
pub const SO_CNX_ADVICE: u32 = 53;
pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
pub const SO_MEMINFO: u32 = 55;
pub const SO_INCOMING_NAPI_ID: u32 = 56;
pub const SO_COOKIE: u32 = 57;
pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
pub const SO_PEERGROUPS: u32 = 59;
pub const SO_ZEROCOPY: u32 = 60;
pub const SO_TXTIME: u32 = 61;
pub const SCM_TXTIME: u32 = 61;
pub const SO_BINDTOIFINDEX: u32 = 62;
pub const SO_TIMESTAMP_OLD: u32 = 29;
pub const SO_TIMESTAMPNS_OLD: u32 = 35;
pub const SO_TIMESTAMPING_OLD: u32 = 37;
pub const SO_TIMESTAMP_NEW: u32 = 63;
pub const SO_TIMESTAMPNS_NEW: u32 = 64;
pub const SO_TIMESTAMPING_NEW: u32 = 65;
pub const SO_RCVTIMEO_NEW: u32 = 66;
pub const SO_SNDTIMEO_NEW: u32 = 67;
pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
pub const SOCK_IOC_TYPE: u32 = 137;
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 SIOCETHTOOL: u32 = 35142;
pub const SIOCGMIIPHY: u32 = 35143;
pub const SIOCGMIIREG: u32 = 35144;
pub const SIOCSMIIREG: u32 = 35145;
pub const SIOCWANDEV: u32 = 35146;
pub const SIOCOUTQNSD: u32 = 35147;
pub const SIOCGSKNS: u32 = 35148;
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 SIOCGIFVLAN: u32 = 35202;
pub const SIOCSIFVLAN: u32 = 35203;
pub const SIOCBONDENSLAVE: u32 = 35216;
pub const SIOCBONDRELEASE: u32 = 35217;
pub const SIOCBONDSETHWADDR: u32 = 35218;
pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
pub const SIOCBONDINFOQUERY: u32 = 35220;
pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
pub const SIOCBRADDBR: u32 = 35232;
pub const SIOCBRDELBR: u32 = 35233;
pub const SIOCBRADDIF: u32 = 35234;
pub const SIOCBRDELIF: u32 = 35235;
pub const SIOCSHWTSTAMP: u32 = 35248;
pub const SIOCGHWTSTAMP: u32 = 35249;
pub const SIOCDEVPRIVATE: u32 = 35312;
pub const SIOCPROTOPRIVATE: u32 = 35296;
pub const UIO_FASTIOV: u32 = 8;
pub const UIO_MAXIOV: u32 = 1024;
pub const SOCK_STREAM: u32 = 1;
pub const SOCK_DGRAM: u32 = 2;
pub const SOCK_RAW: u32 = 3;
pub const SOCK_RDM: u32 = 4;
pub const SOCK_SEQPACKET: u32 = 5;
pub const SOCK_DCCP: u32 = 6;
pub const SOCK_PACKET: u32 = 10;
pub const SOCK_CLOEXEC: u32 = 524288;
pub const SOCK_NONBLOCK: u32 = 2048;
pub const SCM_RIGHTS: u32 = 1;
pub const SCM_CREDENTIALS: u32 = 2;
pub const SCM_SECURITY: u32 = 3;
pub const AF_UNSPEC: u32 = 0;
pub const AF_UNIX: u32 = 1;
pub const AF_LOCAL: u32 = 1;
pub const AF_INET: u32 = 2;
pub const AF_AX25: u32 = 3;
pub const AF_IPX: u32 = 4;
pub const AF_APPLETALK: u32 = 5;
pub const AF_NETROM: u32 = 6;
pub const AF_BRIDGE: u32 = 7;
pub const AF_ATMPVC: u32 = 8;
pub const AF_X25: u32 = 9;
pub const AF_INET6: u32 = 10;
pub const AF_ROSE: u32 = 11;
pub const AF_DECnet: u32 = 12;
pub const AF_NETBEUI: u32 = 13;
pub const AF_SECURITY: u32 = 14;
pub const AF_KEY: u32 = 15;
pub const AF_NETLINK: u32 = 16;
pub const AF_ROUTE: u32 = 16;
pub const AF_PACKET: u32 = 17;
pub const AF_ASH: u32 = 18;
pub const AF_ECONET: u32 = 19;
pub const AF_ATMSVC: u32 = 20;
pub const AF_RDS: u32 = 21;
pub const AF_SNA: u32 = 22;
pub const AF_IRDA: u32 = 23;
pub const AF_PPPOX: u32 = 24;
pub const AF_WANPIPE: u32 = 25;
pub const AF_LLC: u32 = 26;
pub const AF_CAN: u32 = 29;
pub const AF_TIPC: u32 = 30;
pub const AF_BLUETOOTH: u32 = 31;
pub const AF_IUCV: u32 = 32;
pub const AF_RXRPC: u32 = 33;
pub const AF_ISDN: u32 = 34;
pub const AF_PHONET: u32 = 35;
pub const AF_IEEE802154: u32 = 36;
pub const AF_CAIF: u32 = 37;
pub const AF_ALG: u32 = 38;
pub const AF_NFC: u32 = 39;
pub const AF_VSOCK: u32 = 40;
pub const AF_KCM: u32 = 41;
pub const AF_QIPCRTR: u32 = 42;
pub const AF_MAX: u32 = 43;
pub const PF_UNSPEC: u32 = 0;
pub const PF_UNIX: u32 = 1;
pub const PF_LOCAL: u32 = 1;
pub const PF_INET: u32 = 2;
pub const PF_AX25: u32 = 3;
pub const PF_IPX: u32 = 4;
pub const PF_APPLETALK: u32 = 5;
pub const PF_NETROM: u32 = 6;
pub const PF_BRIDGE: u32 = 7;
pub const PF_ATMPVC: u32 = 8;
pub const PF_X25: u32 = 9;
pub const PF_INET6: u32 = 10;
pub const PF_ROSE: u32 = 11;
pub const PF_DECnet: u32 = 12;
pub const PF_NETBEUI: u32 = 13;
pub const PF_SECURITY: u32 = 14;
pub const PF_KEY: u32 = 15;
pub const PF_NETLINK: u32 = 16;
pub const PF_ROUTE: u32 = 16;
pub const PF_PACKET: u32 = 17;
pub const PF_ASH: u32 = 18;
pub const PF_ECONET: u32 = 19;
pub const PF_ATMSVC: u32 = 20;
pub const PF_RDS: u32 = 21;
pub const PF_SNA: u32 = 22;
pub const PF_IRDA: u32 = 23;
pub const PF_PPPOX: u32 = 24;
pub const PF_WANPIPE: u32 = 25;
pub const PF_LLC: u32 = 26;
pub const PF_CAN: u32 = 29;
pub const PF_TIPC: u32 = 30;
pub const PF_BLUETOOTH: u32 = 31;
pub const PF_IUCV: u32 = 32;
pub const PF_RXRPC: u32 = 33;
pub const PF_ISDN: u32 = 34;
pub const PF_PHONET: u32 = 35;
pub const PF_IEEE802154: u32 = 36;
pub const PF_CAIF: u32 = 37;
pub const PF_ALG: u32 = 38;
pub const PF_NFC: u32 = 39;
pub const PF_VSOCK: u32 = 40;
pub const PF_KCM: u32 = 41;
pub const PF_QIPCRTR: u32 = 42;
pub const PF_MAX: u32 = 43;
pub const SOMAXCONN: u32 = 128;
pub const MSG_OOB: u32 = 1;
pub const MSG_PEEK: u32 = 2;
pub const MSG_DONTROUTE: u32 = 4;
pub const MSG_TRYHARD: u32 = 4;
pub const MSG_CTRUNC: u32 = 8;
pub const MSG_PROBE: u32 = 16;
pub const MSG_TRUNC: u32 = 32;
pub const MSG_DONTWAIT: u32 = 64;
pub const MSG_EOR: u32 = 128;
pub const MSG_WAITALL: u32 = 256;
pub const MSG_FIN: u32 = 512;
pub const MSG_SYN: u32 = 1024;
pub const MSG_CONFIRM: u32 = 2048;
pub const MSG_RST: u32 = 4096;
pub const MSG_ERRQUEUE: u32 = 8192;
pub const MSG_NOSIGNAL: u32 = 16384;
pub const MSG_MORE: u32 = 32768;
pub const MSG_WAITFORONE: u32 = 65536;
pub const MSG_BATCH: u32 = 262144;
pub const MSG_FASTOPEN: u32 = 536870912;
pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
pub const MSG_EOF: u32 = 512;
pub const MSG_CMSG_COMPAT: u32 = 0;
pub const SOL_IP: u32 = 0;
pub const SOL_TCP: u32 = 6;
pub const SOL_UDP: u32 = 17;
pub const SOL_IPV6: u32 = 41;
pub const SOL_ICMPV6: u32 = 58;
pub const SOL_SCTP: u32 = 132;
pub const SOL_RAW: u32 = 255;
pub const SOL_IPX: u32 = 256;
pub const SOL_AX25: u32 = 257;
pub const SOL_ATALK: u32 = 258;
pub const SOL_NETROM: u32 = 259;
pub const SOL_ROSE: u32 = 260;
pub const SOL_DECNET: u32 = 261;
pub const SOL_X25: u32 = 262;
pub const SOL_PACKET: u32 = 263;
pub const SOL_ATM: u32 = 264;
pub const SOL_AAL: u32 = 265;
pub const SOL_IRDA: u32 = 266;
pub const SOL_NETBEUI: u32 = 267;
pub const SOL_LLC: u32 = 268;
pub const SOL_DCCP: u32 = 269;
pub const SOL_NETLINK: u32 = 270;
pub const SOL_TIPC: u32 = 271;
pub const SOL_RXRPC: u32 = 272;
pub const SOL_PPPOL2TP: u32 = 273;
pub const SOL_BLUETOOTH: u32 = 274;
pub const SOL_PNPIPE: u32 = 275;
pub const SOL_RDS: u32 = 276;
pub const SOL_IUCV: u32 = 277;
pub const SOL_CAIF: u32 = 278;
pub const SOL_ALG: u32 = 279;
pub const SOL_NFC: u32 = 280;
pub const SOL_KCM: u32 = 281;
pub const SOL_TLS: u32 = 282;
pub const IPX_TYPE: u32 = 1;
pub const _PATH_HEQUIV: &'static [u8; 24usize] = b"/system/etc/hosts.equiv\0";
pub const _PATH_HOSTS: &'static [u8; 18usize] = b"/system/etc/hosts\0";
pub const _PATH_NETWORKS: &'static [u8; 21usize] = b"/system/etc/networks\0";
pub const _PATH_PROTOCOLS: &'static [u8; 22usize] = b"/system/etc/protocols\0";
pub const _PATH_SERVICES: &'static [u8; 21usize] = b"/system/etc/services\0";
pub const NETDB_INTERNAL: i32 = -1;
pub const NETDB_SUCCESS: u32 = 0;
pub const HOST_NOT_FOUND: u32 = 1;
pub const TRY_AGAIN: u32 = 2;
pub const NO_RECOVERY: u32 = 3;
pub const NO_DATA: u32 = 4;
pub const NO_ADDRESS: u32 = 4;
pub const EAI_ADDRFAMILY: u32 = 1;
pub const EAI_AGAIN: u32 = 2;
pub const EAI_BADFLAGS: u32 = 3;
pub const EAI_FAIL: u32 = 4;
pub const EAI_FAMILY: u32 = 5;
pub const EAI_MEMORY: u32 = 6;
pub const EAI_NODATA: u32 = 7;
pub const EAI_NONAME: u32 = 8;
pub const EAI_SERVICE: u32 = 9;
pub const EAI_SOCKTYPE: u32 = 10;
pub const EAI_SYSTEM: u32 = 11;
pub const EAI_BADHINTS: u32 = 12;
pub const EAI_PROTOCOL: u32 = 13;
pub const EAI_OVERFLOW: u32 = 14;
pub const EAI_MAX: u32 = 15;
pub const AI_PASSIVE: u32 = 1;
pub const AI_CANONNAME: u32 = 2;
pub const AI_NUMERICHOST: u32 = 4;
pub const AI_NUMERICSERV: u32 = 8;
pub const AI_ALL: u32 = 256;
pub const AI_V4MAPPED_CFG: u32 = 512;
pub const AI_ADDRCONFIG: u32 = 1024;
pub const AI_V4MAPPED: u32 = 2048;
pub const AI_DEFAULT: u32 = 1536;
pub const NI_MAXHOST: u32 = 1025;
pub const NI_MAXSERV: u32 = 32;
pub const NI_NOFQDN: u32 = 1;
pub const NI_NUMERICHOST: u32 = 2;
pub const NI_NAMEREQD: u32 = 4;
pub const NI_NUMERICSERV: u32 = 8;
pub const NI_DGRAM: u32 = 16;
pub const SCOPE_DELIMITER: u8 = 37u8;
pub const IPPORT_RESERVED: u32 = 1024;
pub const WNOHANG: u32 = 1;
pub const WUNTRACED: u32 = 2;
pub const WSTOPPED: u32 = 2;
pub const WEXITED: u32 = 4;
pub const WCONTINUED: u32 = 8;
pub const WNOWAIT: u32 = 16777216;
pub const __WNOTHREAD: u32 = 536870912;
pub const __WALL: u32 = 1073741824;
pub const __WCLONE: u32 = 2147483648;
pub const P_ALL: u32 = 0;
pub const P_PID: u32 = 1;
pub const P_PGID: u32 = 2;
pub const SEEK_SET: u32 = 0;
pub const SEEK_CUR: u32 = 1;
pub const SEEK_END: u32 = 2;
pub const _IOFBF: u32 = 0;
pub const _IOLBF: u32 = 1;
pub const _IONBF: u32 = 2;
pub const BUFSIZ: u32 = 1024;
pub const EOF: i32 = -1;
pub const FOPEN_MAX: u32 = 20;
pub const FILENAME_MAX: u32 = 4096;
pub const L_tmpnam: u32 = 4096;
pub const TMP_MAX: u32 = 308915776;
pub const P_tmpdir: &'static [u8; 6usize] = b"/tmp/\0";
pub const L_ctermid: u32 = 1024;
pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
pub const M_DECAY_TIME: i32 = -100;
pub const M_PURGE: i32 = -101;
pub const EXIT_FAILURE: u32 = 1;
pub const EXIT_SUCCESS: u32 = 0;
pub const RAND_MAX: u32 = 2147483647;
pub const NR_OPEN: u32 = 1024;
pub const NGROUPS_MAX: u32 = 65536;
pub const ARG_MAX: u32 = 131072;
pub const LINK_MAX: u32 = 127;
pub const MAX_CANON: u32 = 255;
pub const MAX_INPUT: u32 = 255;
pub const NAME_MAX: u32 = 255;
pub const PATH_MAX: u32 = 4096;
pub const PIPE_BUF: u32 = 4096;
pub const XATTR_NAME_MAX: u32 = 255;
pub const XATTR_SIZE_MAX: u32 = 65536;
pub const XATTR_LIST_MAX: u32 = 65536;
pub const RTSIG_MAX: u32 = 32;
pub const PASS_MAX: u32 = 128;
pub const NL_ARGMAX: u32 = 9;
pub const NL_LANGMAX: u32 = 14;
pub const NL_MSGMAX: u32 = 32767;
pub const NL_NMAX: u32 = 1;
pub const NL_SETMAX: u32 = 255;
pub const NL_TEXTMAX: u32 = 255;
pub const CHAR_BIT: u32 = 8;
pub const LONG_BIT: u32 = 32;
pub const WORD_BIT: u32 = 32;
pub const SCHAR_MAX: u32 = 127;
pub const SCHAR_MIN: i32 = -128;
pub const UCHAR_MAX: u32 = 255;
pub const CHAR_MAX: u32 = 127;
pub const CHAR_MIN: i32 = -128;
pub const USHRT_MAX: u32 = 65535;
pub const SHRT_MAX: u32 = 32767;
pub const SHRT_MIN: i32 = -32768;
pub const UINT_MAX: u32 = 4294967295;
pub const INT_MAX: u32 = 2147483647;
pub const INT_MIN: i32 = -2147483648;
pub const ULONG_MAX: u32 = 4294967295;
pub const LONG_MAX: u32 = 2147483647;
pub const LONG_MIN: i32 = -2147483648;
pub const ULLONG_MAX: i32 = -1;
pub const LLONG_MAX: u64 = 9223372036854775807;
pub const LLONG_MIN: i64 = -9223372036854775808;
pub const LONG_LONG_MIN: i64 = -9223372036854775808;
pub const LONG_LONG_MAX: u64 = 9223372036854775807;
pub const ULONG_LONG_MAX: i32 = -1;
pub const UID_MAX: u32 = 4294967295;
pub const GID_MAX: u32 = 4294967295;
pub const SIZE_T_MAX: u32 = 4294967295;
pub const SSIZE_MAX: u32 = 2147483647;
pub const MB_LEN_MAX: u32 = 4;
pub const NZERO: u32 = 20;
pub const IOV_MAX: u32 = 1024;
pub const SEM_VALUE_MAX: u32 = 1073741823;
pub const _POSIX_VERSION: u32 = 200809;
pub const _POSIX2_VERSION: u32 = 200809;
pub const _XOPEN_VERSION: u32 = 700;
pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
pub const _POSIX_CPUTIME: u32 = 200809;
pub const _POSIX_FSYNC: u32 = 200809;
pub const _POSIX_IPV6: u32 = 200809;
pub const _POSIX_MAPPED_FILES: u32 = 200809;
pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
pub const _POSIX_MESSAGE_PASSING: i32 = -1;
pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
pub const _POSIX_NO_TRUNC: u32 = 1;
pub const _POSIX_PRIORITIZED_IO: i32 = -1;
pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
pub const _POSIX_RAW_SOCKETS: u32 = 200809;
pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
pub const _POSIX_REGEXP: u32 = 1;
pub const _POSIX_SAVED_IDS: u32 = 1;
pub const _POSIX_SEMAPHORES: u32 = 200809;
pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
pub const _POSIX_SHELL: u32 = 1;
pub const _POSIX_SPORADIC_SERVER: i32 = -1;
pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
pub const _POSIX_THREADS: u32 = 200809;
pub const _POSIX_TIMERS: u32 = 200809;
pub const _POSIX_TRACE: i32 = -1;
pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
pub const _POSIX_TRACE_INHERIT: i32 = -1;
pub const _POSIX_TRACE_LOG: i32 = -1;
pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
pub const _POSIX_VDISABLE: u8 = 0u8;
pub const _POSIX2_C_BIND: u32 = 200809;
pub const _POSIX2_C_DEV: i32 = -1;
pub const _POSIX2_CHAR_TERM: u32 = 200809;
pub const _POSIX2_FORT_DEV: i32 = -1;
pub const _POSIX2_FORT_RUN: i32 = -1;
pub const _POSIX2_LOCALEDEF: i32 = -1;
pub const _POSIX2_SW_DEV: i32 = -1;
pub const _POSIX2_UPE: i32 = -1;
pub const _POSIX_V7_ILP32_OFF32: u32 = 1;
pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
pub const _POSIX_V7_LP64_OFF64: i32 = -1;
pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1;
pub const _XOPEN_CRYPT: i32 = -1;
pub const _XOPEN_ENH_I18N: u32 = 1;
pub const _XOPEN_LEGACY: i32 = -1;
pub const _XOPEN_REALTIME: u32 = 1;
pub const _XOPEN_REALTIME_THREADS: u32 = 1;
pub const _XOPEN_SHM: u32 = 1;
pub const _XOPEN_STREAMS: i32 = -1;
pub const _XOPEN_UNIX: u32 = 1;
pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
pub const _POSIX_AIO_MAX: u32 = 1;
pub const _POSIX_ARG_MAX: u32 = 4096;
pub const _POSIX_CHILD_MAX: u32 = 25;
pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
pub const _POSIX_HOST_NAME_MAX: u32 = 255;
pub const _POSIX_LINK_MAX: u32 = 8;
pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
pub const _POSIX_MAX_CANON: u32 = 255;
pub const _POSIX_MAX_INPUT: u32 = 255;
pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
pub const _POSIX_NAME_MAX: u32 = 14;
pub const _POSIX_NGROUPS_MAX: u32 = 8;
pub const _POSIX_OPEN_MAX: u32 = 20;
pub const _POSIX_PATH_MAX: u32 = 256;
pub const _POSIX_PIPE_BUF: u32 = 512;
pub const _POSIX_RE_DUP_MAX: u32 = 255;
pub const _POSIX_RTSIG_MAX: u32 = 8;
pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
pub const _POSIX_SSIZE_MAX: u32 = 32767;
pub const _POSIX_STREAM_MAX: u32 = 8;
pub const _POSIX_SS_REPL_MAX: u32 = 4;
pub const _POSIX_SYMLINK_MAX: u32 = 255;
pub const _POSIX_SYMLOOP_MAX: u32 = 8;
pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
pub const _POSIX_TIMER_MAX: u32 = 32;
pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
pub const _POSIX_TTY_NAME_MAX: u32 = 9;
pub const _POSIX_TZNAME_MAX: u32 = 6;
pub const _POSIX2_BC_BASE_MAX: u32 = 99;
pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
pub const _POSIX2_LINE_MAX: u32 = 2048;
pub const _POSIX2_RE_DUP_MAX: u32 = 255;
pub const _XOPEN_IOV_MAX: u32 = 16;
pub const _XOPEN_NAME_MAX: u32 = 255;
pub const _XOPEN_PATH_MAX: u32 = 1024;
pub const HOST_NAME_MAX: u32 = 255;
pub const LOGIN_NAME_MAX: u32 = 256;
pub const TTY_NAME_MAX: u32 = 32;
pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
pub const PTHREAD_KEYS_MAX: u32 = 128;
pub const FP_INFINITE: u32 = 1;
pub const FP_NAN: u32 = 2;
pub const FP_NORMAL: u32 = 4;
pub const FP_SUBNORMAL: u32 = 8;
pub const FP_ZERO: u32 = 16;
pub const FP_ILOGB0: i32 = -2147483647;
pub const FP_ILOGBNAN: u32 = 2147483647;
pub const MATH_ERRNO: u32 = 1;
pub const MATH_ERREXCEPT: u32 = 2;
pub const math_errhandling: u32 = 2;
pub const M_E: f64 = 2.718281828459045;
pub const M_LOG2E: f64 = 1.4426950408889634;
pub const M_LOG10E: f64 = 0.4342944819032518;
pub const M_LN2: f64 = 0.6931471805599453;
pub const M_LN10: f64 = 2.302585092994046;
pub const M_PI: f64 = 3.141592653589793;
pub const M_PI_2: f64 = 1.5707963267948966;
pub const M_PI_4: f64 = 0.7853981633974483;
pub const M_1_PI: f64 = 0.3183098861837907;
pub const M_2_PI: f64 = 0.6366197723675814;
pub const M_2_SQRTPI: f64 = 1.1283791670955126;
pub const M_SQRT2: f64 = 1.4142135623730951;
pub const M_SQRT1_2: f64 = 0.7071067811865476;
pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
pub const ASENSOR_INVALID: i32 = -1;
pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
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 SYNC_IOC_MAGIC: u8 = 62u8;
pub const ITIMER_REAL: u32 = 0;
pub const ITIMER_VIRTUAL: u32 = 1;
pub const ITIMER_PROF: u32 = 2;
pub const CLOCK_REALTIME: u32 = 0;
pub const CLOCK_MONOTONIC: u32 = 1;
pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
pub const CLOCK_MONOTONIC_RAW: u32 = 4;
pub const CLOCK_REALTIME_COARSE: u32 = 5;
pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
pub const CLOCK_BOOTTIME: u32 = 7;
pub const CLOCK_REALTIME_ALARM: u32 = 8;
pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
pub const CLOCK_SGI_CYCLE: u32 = 10;
pub const CLOCK_TAI: u32 = 11;
pub const MAX_CLOCKS: u32 = 16;
pub const CLOCKS_MASK: u32 = 1;
pub const CLOCKS_MONO: u32 = 1;
pub const TIMER_ABSTIME: u32 = 1;
pub const FP_XSTATE_MAGIC1: u32 = 1179670611;
pub const FP_XSTATE_MAGIC2: u32 = 1179670597;
pub const X86_FXSR_MAGIC: u32 = 0;
pub const _KERNEL_NSIG: u32 = 32;
pub const SIGHUP: u32 = 1;
pub const SIGINT: u32 = 2;
pub const SIGQUIT: u32 = 3;
pub const SIGILL: u32 = 4;
pub const SIGTRAP: u32 = 5;
pub const SIGABRT: u32 = 6;
pub const SIGIOT: u32 = 6;
pub const SIGBUS: u32 = 7;
pub const SIGFPE: u32 = 8;
pub const SIGKILL: u32 = 9;
pub const SIGUSR1: u32 = 10;
pub const SIGSEGV: u32 = 11;
pub const SIGUSR2: u32 = 12;
pub const SIGPIPE: u32 = 13;
pub const SIGALRM: u32 = 14;
pub const SIGTERM: u32 = 15;
pub const SIGSTKFLT: u32 = 16;
pub const SIGCHLD: u32 = 17;
pub const SIGCONT: u32 = 18;
pub const SIGSTOP: u32 = 19;
pub const SIGTSTP: u32 = 20;
pub const SIGTTIN: u32 = 21;
pub const SIGTTOU: u32 = 22;
pub const SIGURG: u32 = 23;
pub const SIGXCPU: u32 = 24;
pub const SIGXFSZ: u32 = 25;
pub const SIGVTALRM: u32 = 26;
pub const SIGPROF: u32 = 27;
pub const SIGWINCH: u32 = 28;
pub const SIGIO: u32 = 29;
pub const SIGPOLL: u32 = 29;
pub const SIGPWR: u32 = 30;
pub const SIGSYS: u32 = 31;
pub const SIGUNUSED: u32 = 31;
pub const __SIGRTMIN: u32 = 32;
pub const SA_NOCLDSTOP: u32 = 1;
pub const SA_NOCLDWAIT: u32 = 2;
pub const SA_SIGINFO: u32 = 4;
pub const SA_ONSTACK: u32 = 134217728;
pub const SA_RESTART: u32 = 268435456;
pub const SA_NODEFER: u32 = 1073741824;
pub const SA_RESETHAND: u32 = 2147483648;
pub const SA_NOMASK: u32 = 1073741824;
pub const SA_ONESHOT: u32 = 2147483648;
pub const SA_RESTORER: u32 = 67108864;
pub const MINSIGSTKSZ: u32 = 2048;
pub const SIGSTKSZ: u32 = 8192;
pub const SIG_BLOCK: u32 = 0;
pub const SIG_UNBLOCK: u32 = 1;
pub const SIG_SETMASK: u32 = 2;
pub const SI_MAX_SIZE: u32 = 128;
pub const SI_USER: u32 = 0;
pub const SI_KERNEL: u32 = 128;
pub const SI_QUEUE: i32 = -1;
pub const SI_TIMER: i32 = -2;
pub const SI_MESGQ: i32 = -3;
pub const SI_ASYNCIO: i32 = -4;
pub const SI_SIGIO: i32 = -5;
pub const SI_TKILL: i32 = -6;
pub const SI_DETHREAD: i32 = -7;
pub const SI_ASYNCNL: i32 = -60;
pub const ILL_ILLOPC: u32 = 1;
pub const ILL_ILLOPN: u32 = 2;
pub const ILL_ILLADR: u32 = 3;
pub const ILL_ILLTRP: u32 = 4;
pub const ILL_PRVOPC: u32 = 5;
pub const ILL_PRVREG: u32 = 6;
pub const ILL_COPROC: u32 = 7;
pub const ILL_BADSTK: u32 = 8;
pub const ILL_BADIADDR: u32 = 9;
pub const __ILL_BREAK: u32 = 10;
pub const __ILL_BNDMOD: u32 = 11;
pub const NSIGILL: u32 = 11;
pub const FPE_INTDIV: u32 = 1;
pub const FPE_INTOVF: u32 = 2;
pub const FPE_FLTDIV: u32 = 3;
pub const FPE_FLTOVF: u32 = 4;
pub const FPE_FLTUND: u32 = 5;
pub const FPE_FLTRES: u32 = 6;
pub const FPE_FLTINV: u32 = 7;
pub const FPE_FLTSUB: u32 = 8;
pub const __FPE_DECOVF: u32 = 9;
pub const __FPE_DECDIV: u32 = 10;
pub const __FPE_DECERR: u32 = 11;
pub const __FPE_INVASC: u32 = 12;
pub const __FPE_INVDEC: u32 = 13;
pub const FPE_FLTUNK: u32 = 14;
pub const FPE_CONDTRAP: u32 = 15;
pub const NSIGFPE: u32 = 15;
pub const SEGV_MAPERR: u32 = 1;
pub const SEGV_ACCERR: u32 = 2;
pub const SEGV_BNDERR: u32 = 3;
pub const SEGV_PKUERR: u32 = 4;
pub const SEGV_ACCADI: u32 = 5;
pub const SEGV_ADIDERR: u32 = 6;
pub const SEGV_ADIPERR: u32 = 7;
pub const NSIGSEGV: u32 = 7;
pub const BUS_ADRALN: u32 = 1;
pub const BUS_ADRERR: u32 = 2;
pub const BUS_OBJERR: u32 = 3;
pub const BUS_MCEERR_AR: u32 = 4;
pub const BUS_MCEERR_AO: u32 = 5;
pub const NSIGBUS: u32 = 5;
pub const TRAP_BRKPT: u32 = 1;
pub const TRAP_TRACE: u32 = 2;
pub const TRAP_BRANCH: u32 = 3;
pub const TRAP_HWBKPT: u32 = 4;
pub const TRAP_UNK: u32 = 5;
pub const NSIGTRAP: u32 = 5;
pub const CLD_EXITED: u32 = 1;
pub const CLD_KILLED: u32 = 2;
pub const CLD_DUMPED: u32 = 3;
pub const CLD_TRAPPED: u32 = 4;
pub const CLD_STOPPED: u32 = 5;
pub const CLD_CONTINUED: u32 = 6;
pub const NSIGCHLD: u32 = 6;
pub const POLL_IN: u32 = 1;
pub const POLL_OUT: u32 = 2;
pub const POLL_MSG: u32 = 3;
pub const POLL_ERR: u32 = 4;
pub const POLL_PRI: u32 = 5;
pub const POLL_HUP: u32 = 6;
pub const NSIGPOLL: u32 = 6;
pub const SYS_SECCOMP: u32 = 1;
pub const NSIGSYS: u32 = 1;
pub const EMT_TAGOVF: u32 = 1;
pub const NSIGEMT: u32 = 1;
pub const SIGEV_SIGNAL: u32 = 0;
pub const SIGEV_NONE: u32 = 1;
pub const SIGEV_THREAD: u32 = 2;
pub const SIGEV_THREAD_ID: u32 = 4;
pub const SIGEV_MAX_SIZE: u32 = 64;
pub const SS_ONSTACK: u32 = 1;
pub const SS_DISABLE: u32 = 2;
pub const SS_AUTODISARM: u32 = 2147483648;
pub const SS_FLAG_BITS: u32 = 2147483648;
pub const _KERNEL__NSIG: u32 = 64;
pub const _NSIG: u32 = 65;
pub const NSIG: u32 = 65;
pub const PAGE_SIZE: u32 = 4096;
pub const PAGE_MASK: i32 = -4096;
pub const UPAGES: u32 = 1;
pub const FD_SETSIZE: u32 = 1024;
pub const CLOCKS_PER_SEC: u32 = 1000000;
pub const TIME_UTC: u32 = 1;
pub const AAUDIO_UNSPECIFIED: u32 = 0;
pub const AAUDIO_SYSTEM_USAGE_OFFSET: u32 = 1000;
extern "C" {
    pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
}
pub type size_t = ::std::os::raw::c_uint;
pub type wchar_t = ::std::os::raw::c_int;
#[repr(C)]
#[repr(align(8))]
#[derive(Debug, Copy, Clone)]
pub struct max_align_t {
    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
    pub __clang_max_align_nonce2: f64,
}
#[test]
fn bindgen_test_layout_max_align_t() {
    assert_eq!(
        ::std::mem::size_of::<max_align_t>(),
        16usize,
        concat!("Size of: ", stringify!(max_align_t))
    );
    assert_eq!(
        ::std::mem::align_of::<max_align_t>(),
        8usize,
        concat!("Alignment of ", stringify!(max_align_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce2)
        )
    );
}
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_longlong;
pub type __uint64_t = ::std::os::raw::c_ulonglong;
pub type __intptr_t = ::std::os::raw::c_int;
pub type __uintptr_t = ::std::os::raw::c_uint;
pub type int_least8_t = i8;
pub type uint_least8_t = u8;
pub type int_least16_t = i16;
pub type uint_least16_t = u16;
pub type int_least32_t = i32;
pub type uint_least32_t = u32;
pub type int_least64_t = i64;
pub type uint_least64_t = u64;
pub type int_fast8_t = i8;
pub type uint_fast8_t = u8;
pub type int_fast64_t = i64;
pub type uint_fast64_t = u64;
pub type int_fast16_t = i32;
pub type uint_fast16_t = u32;
pub type int_fast32_t = i32;
pub type uint_fast32_t = u32;
pub type uintmax_t = u64;
pub type intmax_t = i64;
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; 32usize],
}
#[test]
fn bindgen_test_layout___kernel_fd_set() {
    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>(),
        4usize,
        concat!("Alignment of ", stringify!(__kernel_fd_set))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ 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_mode_t = ::std::os::raw::c_ushort;
pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort;
pub type __kernel_uid_t = ::std::os::raw::c_ushort;
pub type __kernel_gid_t = ::std::os::raw::c_ushort;
pub type __kernel_old_dev_t = ::std::os::raw::c_ushort;
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_pid_t = ::std::os::raw::c_int;
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_old_uid_t = __kernel_uid_t;
pub type __kernel_old_gid_t = __kernel_gid_t;
pub type __kernel_size_t = ::std::os::raw::c_uint;
pub type __kernel_ssize_t = ::std::os::raw::c_int;
pub type __kernel_ptrdiff_t = ::std::os::raw::c_int;
#[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() {
    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::null::<__kernel_fsid_t>())).val as *const _ 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_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 pthread_attr_t {
    pub flags: u32,
    pub stack_base: *mut ::std::os::raw::c_void,
    pub stack_size: size_t,
    pub guard_size: size_t,
    pub sched_policy: i32,
    pub sched_priority: i32,
}
#[test]
fn bindgen_test_layout_pthread_attr_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_attr_t>(),
        24usize,
        concat!("Size of: ", stringify!(pthread_attr_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_attr_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_attr_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_base as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(stack_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_size as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(stack_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).guard_size as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(guard_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_policy as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(sched_policy)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_priority as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_attr_t),
            "::",
            stringify!(sched_priority)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pthread_barrier_t {
    pub __private: [i32; 8usize],
}
#[test]
fn bindgen_test_layout_pthread_barrier_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_barrier_t>(),
        32usize,
        concat!("Size of: ", stringify!(pthread_barrier_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_barrier_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_barrier_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__private as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_barrier_t),
            "::",
            stringify!(__private)
        )
    );
}
pub type pthread_barrierattr_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pthread_cond_t {
    pub __private: [i32; 1usize],
}
#[test]
fn bindgen_test_layout_pthread_cond_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_cond_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_cond_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_cond_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_cond_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__private as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_cond_t),
            "::",
            stringify!(__private)
        )
    );
}
pub type pthread_condattr_t = ::std::os::raw::c_long;
pub type pthread_key_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pthread_mutex_t {
    pub __private: [i32; 1usize],
}
#[test]
fn bindgen_test_layout_pthread_mutex_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_mutex_t>(),
        4usize,
        concat!("Size of: ", stringify!(pthread_mutex_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_mutex_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_mutex_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__private as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_mutex_t),
            "::",
            stringify!(__private)
        )
    );
}
pub type pthread_mutexattr_t = ::std::os::raw::c_long;
pub type pthread_once_t = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pthread_rwlock_t {
    pub __private: [i32; 10usize],
}
#[test]
fn bindgen_test_layout_pthread_rwlock_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_rwlock_t>(),
        40usize,
        concat!("Size of: ", stringify!(pthread_rwlock_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_rwlock_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_rwlock_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__private as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_rwlock_t),
            "::",
            stringify!(__private)
        )
    );
}
pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct pthread_spinlock_t {
    pub __private: [i32; 2usize],
}
#[test]
fn bindgen_test_layout_pthread_spinlock_t() {
    assert_eq!(
        ::std::mem::size_of::<pthread_spinlock_t>(),
        8usize,
        concat!("Size of: ", stringify!(pthread_spinlock_t))
    );
    assert_eq!(
        ::std::mem::align_of::<pthread_spinlock_t>(),
        4usize,
        concat!("Alignment of ", stringify!(pthread_spinlock_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<pthread_spinlock_t>())).__private as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(pthread_spinlock_t),
            "::",
            stringify!(__private)
        )
    );
}
pub type pthread_t = ::std::os::raw::c_long;
pub type __gid_t = __kernel_gid32_t;
pub type gid_t = __gid_t;
pub type __uid_t = __kernel_uid32_t;
pub type uid_t = __uid_t;
pub type __pid_t = __kernel_pid_t;
pub type pid_t = __pid_t;
pub type __id_t = u32;
pub type id_t = __id_t;
pub type blkcnt_t = ::std::os::raw::c_ulong;
pub type blksize_t = ::std::os::raw::c_ulong;
pub type caddr_t = __kernel_caddr_t;
pub type clock_t = __kernel_clock_t;
pub type __clockid_t = __kernel_clockid_t;
pub type clockid_t = __clockid_t;
pub type daddr_t = __kernel_daddr_t;
pub type fsblkcnt_t = ::std::os::raw::c_ulong;
pub type fsfilcnt_t = ::std::os::raw::c_ulong;
pub type __mode_t = __kernel_mode_t;
pub type mode_t = __mode_t;
pub type __key_t = __kernel_key_t;
pub type key_t = __key_t;
pub type __ino_t = __kernel_ino_t;
pub type ino_t = __ino_t;
pub type ino64_t = u64;
pub type __nlink_t = u32;
pub type nlink_t = __nlink_t;
pub type __timer_t = *mut ::std::os::raw::c_void;
pub type timer_t = __timer_t;
pub type __suseconds_t = __kernel_suseconds_t;
pub type suseconds_t = __suseconds_t;
pub type __useconds_t = u32;
pub type useconds_t = __useconds_t;
pub type dev_t = u32;
pub type __time_t = __kernel_time_t;
pub type time_t = __time_t;
pub type off_t = __kernel_off_t;
pub type loff_t = __kernel_loff_t;
pub type off64_t = loff_t;
pub type __socklen_t = i32;
pub type socklen_t = __socklen_t;
pub type __va_list = __builtin_va_list;
pub type ssize_t = __kernel_ssize_t;
pub type uint_t = ::std::os::raw::c_uint;
pub type uint = ::std::os::raw::c_uint;
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 u_int32_t = u32;
pub type u_int16_t = u16;
pub type u_int8_t = u8;
pub type u_int64_t = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AAssetManager {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AAssetDir {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AAsset {
    _unused: [u8; 0],
}
pub const AASSET_MODE_UNKNOWN: _bindgen_ty_1 = 0;
pub const AASSET_MODE_RANDOM: _bindgen_ty_1 = 1;
pub const AASSET_MODE_STREAMING: _bindgen_ty_1 = 2;
pub const AASSET_MODE_BUFFER: _bindgen_ty_1 = 3;
pub type _bindgen_ty_1 = u32;
extern "C" {
    pub fn AAssetManager_openDir(
        mgr: *mut AAssetManager,
        dirName: *const ::std::os::raw::c_char,
    ) -> *mut AAssetDir;
}
extern "C" {
    pub fn AAssetManager_open(
        mgr: *mut AAssetManager,
        filename: *const ::std::os::raw::c_char,
        mode: ::std::os::raw::c_int,
    ) -> *mut AAsset;
}
extern "C" {
    pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
}
extern "C" {
    pub fn AAssetDir_close(assetDir: *mut AAssetDir);
}
extern "C" {
    pub fn AAsset_read(
        asset: *mut AAsset,
        buf: *mut ::std::os::raw::c_void,
        count: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
}
extern "C" {
    pub fn AAsset_seek64(
        asset: *mut AAsset,
        offset: off64_t,
        whence: ::std::os::raw::c_int,
    ) -> off64_t;
}
extern "C" {
    pub fn AAsset_close(asset: *mut AAsset);
}
extern "C" {
    pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
}
extern "C" {
    pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
}
extern "C" {
    pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
}
extern "C" {
    pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
}
extern "C" {
    pub fn AAsset_openFileDescriptor(
        asset: *mut AAsset,
        outStart: *mut off_t,
        outLength: *mut off_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AAsset_openFileDescriptor64(
        asset: *mut AAsset,
        outStart: *mut off64_t,
        outLength: *mut off64_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
}
pub type va_list = __builtin_va_list;
pub type __gnuc_va_list = __builtin_va_list;
pub type jboolean = u8;
pub type jbyte = i8;
pub type jchar = u16;
pub type jshort = i16;
pub type jint = i32;
pub type jlong = i64;
pub type jfloat = f32;
pub type jdouble = f64;
pub type jsize = jint;
pub type jobject = *mut ::std::os::raw::c_void;
pub type jclass = jobject;
pub type jstring = jobject;
pub type jarray = jobject;
pub type jobjectArray = jarray;
pub type jbooleanArray = jarray;
pub type jbyteArray = jarray;
pub type jcharArray = jarray;
pub type jshortArray = jarray;
pub type jintArray = jarray;
pub type jlongArray = jarray;
pub type jfloatArray = jarray;
pub type jdoubleArray = jarray;
pub type jthrowable = jobject;
pub type jweak = jobject;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _jfieldID {
    _unused: [u8; 0],
}
pub type jfieldID = *mut _jfieldID;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _jmethodID {
    _unused: [u8; 0],
}
pub type jmethodID = *mut _jmethodID;
#[repr(C)]
#[derive(Copy, Clone)]
pub union jvalue {
    pub z: jboolean,
    pub b: jbyte,
    pub c: jchar,
    pub s: jshort,
    pub i: jint,
    pub j: jlong,
    pub f: jfloat,
    pub d: jdouble,
    pub l: jobject,
    _bindgen_union_align: [u32; 2usize],
}
#[test]
fn bindgen_test_layout_jvalue() {
    assert_eq!(
        ::std::mem::size_of::<jvalue>(),
        8usize,
        concat!("Size of: ", stringify!(jvalue))
    );
    assert_eq!(
        ::std::mem::align_of::<jvalue>(),
        4usize,
        concat!("Alignment of ", stringify!(jvalue))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<jvalue>())).z as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(z))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<jvalue>())).b as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(b))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<jvalue>())).c as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(c))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<jvalue>())).s as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(s))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<jvalue>())).i as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(i))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<jvalue>())).j as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(j))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<jvalue>())).f as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(f))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<jvalue>())).d as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(d))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<jvalue>())).l as *const _ as usize },
        0usize,
        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(l))
    );
}
pub const jobjectRefType_JNIInvalidRefType: jobjectRefType = 0;
pub const jobjectRefType_JNILocalRefType: jobjectRefType = 1;
pub const jobjectRefType_JNIGlobalRefType: jobjectRefType = 2;
pub const jobjectRefType_JNIWeakGlobalRefType: jobjectRefType = 3;
pub type jobjectRefType = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct JNINativeMethod {
    pub name: *const ::std::os::raw::c_char,
    pub signature: *const ::std::os::raw::c_char,
    pub fnPtr: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_JNINativeMethod() {
    assert_eq!(
        ::std::mem::size_of::<JNINativeMethod>(),
        12usize,
        concat!("Size of: ", stringify!(JNINativeMethod))
    );
    assert_eq!(
        ::std::mem::align_of::<JNINativeMethod>(),
        4usize,
        concat!("Alignment of ", stringify!(JNINativeMethod))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeMethod),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).signature as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeMethod),
            "::",
            stringify!(signature)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).fnPtr as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeMethod),
            "::",
            stringify!(fnPtr)
        )
    );
}
pub type C_JNIEnv = *const JNINativeInterface;
pub type JNIEnv = *const JNINativeInterface;
pub type JavaVM = *const JNIInvokeInterface;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct JNINativeInterface {
    pub reserved0: *mut ::std::os::raw::c_void,
    pub reserved1: *mut ::std::os::raw::c_void,
    pub reserved2: *mut ::std::os::raw::c_void,
    pub reserved3: *mut ::std::os::raw::c_void,
    pub GetVersion: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jint>,
    pub DefineClass: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: *const ::std::os::raw::c_char,
            arg3: jobject,
            arg4: *const jbyte,
            arg5: jsize,
        ) -> jclass,
    >,
    pub FindClass: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jclass,
    >,
    pub FromReflectedMethod:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jmethodID>,
    pub FromReflectedField:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jfieldID>,
    pub ToReflectedMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: jboolean,
        ) -> jobject,
    >,
    pub GetSuperclass:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jclass>,
    pub IsAssignableFrom: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jclass) -> jboolean,
    >,
    pub ToReflectedField: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jfieldID,
            arg4: jboolean,
        ) -> jobject,
    >,
    pub Throw:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jthrowable) -> jint>,
    pub ThrowNew: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: *const ::std::os::raw::c_char,
        ) -> jint,
    >,
    pub ExceptionOccurred:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jthrowable>,
    pub ExceptionDescribe: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
    pub ExceptionClear: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
    pub FatalError: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char),
    >,
    pub PushLocalFrame:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
    pub PopLocalFrame:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
    pub NewGlobalRef:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
    pub DeleteGlobalRef:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
    pub DeleteLocalRef:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
    pub IsSameObject: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jobject) -> jboolean,
    >,
    pub NewLocalRef:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
    pub EnsureLocalCapacity:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
    pub AllocObject:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jobject>,
    pub NewObject: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
    >,
    pub NewObjectV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jobject,
    >,
    pub NewObjectA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jobject,
    >,
    pub GetObjectClass:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jclass>,
    pub IsInstanceOf: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass) -> jboolean,
    >,
    pub GetMethodID: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: *const ::std::os::raw::c_char,
            arg4: *const ::std::os::raw::c_char,
        ) -> jmethodID,
    >,
    pub CallObjectMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jobject,
    >,
    pub CallObjectMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jobject,
    >,
    pub CallObjectMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jobject,
    >,
    pub CallBooleanMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jboolean,
    >,
    pub CallBooleanMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jboolean,
    >,
    pub CallBooleanMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jboolean,
    >,
    pub CallByteMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jbyte,
    >,
    pub CallByteMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jbyte,
    >,
    pub CallByteMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jbyte,
    >,
    pub CallCharMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jchar,
    >,
    pub CallCharMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jchar,
    >,
    pub CallCharMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jchar,
    >,
    pub CallShortMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jshort,
    >,
    pub CallShortMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jshort,
    >,
    pub CallShortMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jshort,
    >,
    pub CallIntMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jint,
    >,
    pub CallIntMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jint,
    >,
    pub CallIntMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jint,
    >,
    pub CallLongMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jlong,
    >,
    pub CallLongMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jlong,
    >,
    pub CallLongMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jlong,
    >,
    pub CallFloatMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jfloat,
    >,
    pub CallFloatMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jfloat,
    >,
    pub CallFloatMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jfloat,
    >,
    pub CallDoubleMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jdouble,
    >,
    pub CallDoubleMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jdouble,
    >,
    pub CallDoubleMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jdouble,
    >,
    pub CallVoidMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...),
    >,
    pub CallVoidMethodV: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, arg4: va_list),
    >,
    pub CallVoidMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jmethodID,
            arg4: *const jvalue,
        ),
    >,
    pub CallNonvirtualObjectMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            ...
        ) -> jobject,
    >,
    pub CallNonvirtualObjectMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ) -> jobject,
    >,
    pub CallNonvirtualObjectMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ) -> jobject,
    >,
    pub CallNonvirtualBooleanMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            ...
        ) -> jboolean,
    >,
    pub CallNonvirtualBooleanMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ) -> jboolean,
    >,
    pub CallNonvirtualBooleanMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ) -> jboolean,
    >,
    pub CallNonvirtualByteMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            ...
        ) -> jbyte,
    >,
    pub CallNonvirtualByteMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ) -> jbyte,
    >,
    pub CallNonvirtualByteMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ) -> jbyte,
    >,
    pub CallNonvirtualCharMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            ...
        ) -> jchar,
    >,
    pub CallNonvirtualCharMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ) -> jchar,
    >,
    pub CallNonvirtualCharMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ) -> jchar,
    >,
    pub CallNonvirtualShortMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            ...
        ) -> jshort,
    >,
    pub CallNonvirtualShortMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ) -> jshort,
    >,
    pub CallNonvirtualShortMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ) -> jshort,
    >,
    pub CallNonvirtualIntMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            ...
        ) -> jint,
    >,
    pub CallNonvirtualIntMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ) -> jint,
    >,
    pub CallNonvirtualIntMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ) -> jint,
    >,
    pub CallNonvirtualLongMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            ...
        ) -> jlong,
    >,
    pub CallNonvirtualLongMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ) -> jlong,
    >,
    pub CallNonvirtualLongMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ) -> jlong,
    >,
    pub CallNonvirtualFloatMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            ...
        ) -> jfloat,
    >,
    pub CallNonvirtualFloatMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ) -> jfloat,
    >,
    pub CallNonvirtualFloatMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ) -> jfloat,
    >,
    pub CallNonvirtualDoubleMethod: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            ...
        ) -> jdouble,
    >,
    pub CallNonvirtualDoubleMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ) -> jdouble,
    >,
    pub CallNonvirtualDoubleMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ) -> jdouble,
    >,
    pub CallNonvirtualVoidMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass, arg4: jmethodID, ...),
    >,
    pub CallNonvirtualVoidMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: va_list,
        ),
    >,
    pub CallNonvirtualVoidMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jobject,
            arg3: jclass,
            arg4: jmethodID,
            arg5: *const jvalue,
        ),
    >,
    pub GetFieldID: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: *const ::std::os::raw::c_char,
            arg4: *const ::std::os::raw::c_char,
        ) -> jfieldID,
    >,
    pub GetObjectField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jobject,
    >,
    pub GetBooleanField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jboolean,
    >,
    pub GetByteField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jbyte,
    >,
    pub GetCharField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jchar,
    >,
    pub GetShortField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jshort,
    >,
    pub GetIntField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jint,
    >,
    pub GetLongField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jlong,
    >,
    pub GetFloatField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jfloat,
    >,
    pub GetDoubleField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jdouble,
    >,
    pub SetObjectField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jobject),
    >,
    pub SetBooleanField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jboolean),
    >,
    pub SetByteField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jbyte),
    >,
    pub SetCharField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jchar),
    >,
    pub SetShortField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jshort),
    >,
    pub SetIntField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jint),
    >,
    pub SetLongField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jlong),
    >,
    pub SetFloatField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jfloat),
    >,
    pub SetDoubleField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jdouble),
    >,
    pub GetStaticMethodID: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: *const ::std::os::raw::c_char,
            arg4: *const ::std::os::raw::c_char,
        ) -> jmethodID,
    >,
    pub CallStaticObjectMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
    >,
    pub CallStaticObjectMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jobject,
    >,
    pub CallStaticObjectMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jobject,
    >,
    pub CallStaticBooleanMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jboolean,
    >,
    pub CallStaticBooleanMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jboolean,
    >,
    pub CallStaticBooleanMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jboolean,
    >,
    pub CallStaticByteMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jbyte,
    >,
    pub CallStaticByteMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jbyte,
    >,
    pub CallStaticByteMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jbyte,
    >,
    pub CallStaticCharMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jchar,
    >,
    pub CallStaticCharMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jchar,
    >,
    pub CallStaticCharMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jchar,
    >,
    pub CallStaticShortMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jshort,
    >,
    pub CallStaticShortMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jshort,
    >,
    pub CallStaticShortMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jshort,
    >,
    pub CallStaticIntMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jint,
    >,
    pub CallStaticIntMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jint,
    >,
    pub CallStaticIntMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jint,
    >,
    pub CallStaticLongMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jlong,
    >,
    pub CallStaticLongMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jlong,
    >,
    pub CallStaticLongMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jlong,
    >,
    pub CallStaticFloatMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jfloat,
    >,
    pub CallStaticFloatMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jfloat,
    >,
    pub CallStaticFloatMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jfloat,
    >,
    pub CallStaticDoubleMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jdouble,
    >,
    pub CallStaticDoubleMethodV: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: va_list,
        ) -> jdouble,
    >,
    pub CallStaticDoubleMethodA: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: jmethodID,
            arg4: *const jvalue,
        ) -> jdouble,
    >,
    pub CallStaticVoidMethod: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...),
    >,
    pub CallStaticVoidMethodV: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: va_list),
    >,
    pub CallStaticVoidMethodA: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: *const jvalue),
    >,
    pub GetStaticFieldID: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: *const ::std::os::raw::c_char,
            arg4: *const ::std::os::raw::c_char,
        ) -> jfieldID,
    >,
    pub GetStaticObjectField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jobject,
    >,
    pub GetStaticBooleanField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jboolean,
    >,
    pub GetStaticByteField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jbyte,
    >,
    pub GetStaticCharField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jchar,
    >,
    pub GetStaticShortField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jshort,
    >,
    pub GetStaticIntField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jint,
    >,
    pub GetStaticLongField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jlong,
    >,
    pub GetStaticFloatField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jfloat,
    >,
    pub GetStaticDoubleField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jdouble,
    >,
    pub SetStaticObjectField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jobject),
    >,
    pub SetStaticBooleanField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jboolean),
    >,
    pub SetStaticByteField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jbyte),
    >,
    pub SetStaticCharField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jchar),
    >,
    pub SetStaticShortField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jshort),
    >,
    pub SetStaticIntField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jint),
    >,
    pub SetStaticLongField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jlong),
    >,
    pub SetStaticFloatField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jfloat),
    >,
    pub SetStaticDoubleField: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jdouble),
    >,
    pub NewString: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const jchar, arg3: jsize) -> jstring,
    >,
    pub GetStringLength:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
    pub GetStringChars: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
    >,
    pub ReleaseStringChars: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
    >,
    pub NewStringUTF: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jstring,
    >,
    pub GetStringUTFLength:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
    pub GetStringUTFChars: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jstring,
            arg3: *mut jboolean,
        ) -> *const ::std::os::raw::c_char,
    >,
    pub ReleaseStringUTFChars: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const ::std::os::raw::c_char),
    >,
    pub GetArrayLength:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jarray) -> jsize>,
    pub NewObjectArray: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jsize,
            arg3: jclass,
            arg4: jobject,
        ) -> jobjectArray,
    >,
    pub GetObjectArrayElement: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize) -> jobject,
    >,
    pub SetObjectArrayElement: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize, arg4: jobject),
    >,
    pub NewBooleanArray: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbooleanArray,
    >,
    pub NewByteArray:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbyteArray>,
    pub NewCharArray:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jcharArray>,
    pub NewShortArray:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jshortArray>,
    pub NewIntArray:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jintArray>,
    pub NewLongArray:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jlongArray>,
    pub NewFloatArray:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jfloatArray>,
    pub NewDoubleArray:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jdoubleArray>,
    pub GetBooleanArrayElements: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jbooleanArray,
            arg3: *mut jboolean,
        ) -> *mut jboolean,
    >,
    pub GetByteArrayElements: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jbyteArray,
            arg3: *mut jboolean,
        ) -> *mut jbyte,
    >,
    pub GetCharArrayElements: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jcharArray,
            arg3: *mut jboolean,
        ) -> *mut jchar,
    >,
    pub GetShortArrayElements: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jshortArray,
            arg3: *mut jboolean,
        ) -> *mut jshort,
    >,
    pub GetIntArrayElements: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jboolean) -> *mut jint,
    >,
    pub GetLongArrayElements: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jlongArray,
            arg3: *mut jboolean,
        ) -> *mut jlong,
    >,
    pub GetFloatArrayElements: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jfloatArray,
            arg3: *mut jboolean,
        ) -> *mut jfloat,
    >,
    pub GetDoubleArrayElements: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jdoubleArray,
            arg3: *mut jboolean,
        ) -> *mut jdouble,
    >,
    pub ReleaseBooleanArrayElements: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jbooleanArray,
            arg3: *mut jboolean,
            arg4: jint,
        ),
    >,
    pub ReleaseByteArrayElements: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jbyteArray, arg3: *mut jbyte, arg4: jint),
    >,
    pub ReleaseCharArrayElements: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jcharArray, arg3: *mut jchar, arg4: jint),
    >,
    pub ReleaseShortArrayElements: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jshortArray, arg3: *mut jshort, arg4: jint),
    >,
    pub ReleaseIntArrayElements: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jint, arg4: jint),
    >,
    pub ReleaseLongArrayElements: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jlongArray, arg3: *mut jlong, arg4: jint),
    >,
    pub ReleaseFloatArrayElements: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jfloatArray, arg3: *mut jfloat, arg4: jint),
    >,
    pub ReleaseDoubleArrayElements: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jdoubleArray, arg3: *mut jdouble, arg4: jint),
    >,
    pub GetBooleanArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jbooleanArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut jboolean,
        ),
    >,
    pub GetByteArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jbyteArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut jbyte,
        ),
    >,
    pub GetCharArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jcharArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut jchar,
        ),
    >,
    pub GetShortArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jshortArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut jshort,
        ),
    >,
    pub GetIntArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jintArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut jint,
        ),
    >,
    pub GetLongArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jlongArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut jlong,
        ),
    >,
    pub GetFloatArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jfloatArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut jfloat,
        ),
    >,
    pub GetDoubleArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jdoubleArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut jdouble,
        ),
    >,
    pub SetBooleanArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jbooleanArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *const jboolean,
        ),
    >,
    pub SetByteArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jbyteArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *const jbyte,
        ),
    >,
    pub SetCharArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jcharArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *const jchar,
        ),
    >,
    pub SetShortArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jshortArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *const jshort,
        ),
    >,
    pub SetIntArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jintArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *const jint,
        ),
    >,
    pub SetLongArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jlongArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *const jlong,
        ),
    >,
    pub SetFloatArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jfloatArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *const jfloat,
        ),
    >,
    pub SetDoubleArrayRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jdoubleArray,
            arg3: jsize,
            arg4: jsize,
            arg5: *const jdouble,
        ),
    >,
    pub RegisterNatives: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jclass,
            arg3: *const JNINativeMethod,
            arg4: jint,
        ) -> jint,
    >,
    pub UnregisterNatives:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jint>,
    pub MonitorEnter:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
    pub MonitorExit:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
    pub GetJavaVM: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *mut *mut JavaVM) -> jint,
    >,
    pub GetStringRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jstring,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut jchar,
        ),
    >,
    pub GetStringUTFRegion: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jstring,
            arg3: jsize,
            arg4: jsize,
            arg5: *mut ::std::os::raw::c_char,
        ),
    >,
    pub GetPrimitiveArrayCritical: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jarray,
            arg3: *mut jboolean,
        ) -> *mut ::std::os::raw::c_void,
    >,
    pub ReleasePrimitiveArrayCritical: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: jarray,
            arg3: *mut ::std::os::raw::c_void,
            arg4: jint,
        ),
    >,
    pub GetStringCritical: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
    >,
    pub ReleaseStringCritical: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
    >,
    pub NewWeakGlobalRef:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jweak>,
    pub DeleteWeakGlobalRef:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jweak)>,
    pub ExceptionCheck: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jboolean>,
    pub NewDirectByteBuffer: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JNIEnv,
            arg2: *mut ::std::os::raw::c_void,
            arg3: jlong,
        ) -> jobject,
    >,
    pub GetDirectBufferAddress: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> *mut ::std::os::raw::c_void,
    >,
    pub GetDirectBufferCapacity:
        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jlong>,
    pub GetObjectRefType: ::std::option::Option<
        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobjectRefType,
    >,
}
#[test]
fn bindgen_test_layout_JNINativeInterface() {
    assert_eq!(
        ::std::mem::size_of::<JNINativeInterface>(),
        932usize,
        concat!("Size of: ", stringify!(JNINativeInterface))
    );
    assert_eq!(
        ::std::mem::align_of::<JNINativeInterface>(),
        4usize,
        concat!("Alignment of ", stringify!(JNINativeInterface))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved0 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(reserved0)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved1 as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(reserved1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved2 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(reserved2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved3 as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(reserved3)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetVersion as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetVersion)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).DefineClass as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(DefineClass)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FindClass as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(FindClass)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedMethod as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(FromReflectedMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedField as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(FromReflectedField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedMethod as *const _ as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ToReflectedMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetSuperclass as *const _ as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetSuperclass)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).IsAssignableFrom as *const _ as usize
        },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(IsAssignableFrom)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedField as *const _ as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ToReflectedField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).Throw as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(Throw)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).ThrowNew as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ThrowNew)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionOccurred as *const _ as usize
        },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ExceptionOccurred)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionDescribe as *const _ as usize
        },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ExceptionDescribe)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionClear as *const _ as usize
        },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ExceptionClear)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FatalError as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(FatalError)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).PushLocalFrame as *const _ as usize
        },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(PushLocalFrame)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).PopLocalFrame as *const _ as usize
        },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(PopLocalFrame)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewGlobalRef as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewGlobalRef)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).DeleteGlobalRef as *const _ as usize
        },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(DeleteGlobalRef)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).DeleteLocalRef as *const _ as usize
        },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(DeleteLocalRef)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsSameObject as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(IsSameObject)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLocalRef as *const _ as usize },
        100usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewLocalRef)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).EnsureLocalCapacity as *const _ as usize
        },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(EnsureLocalCapacity)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).AllocObject as *const _ as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(AllocObject)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObject as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewObject)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectV as *const _ as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewObjectV)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectA as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewObjectA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectClass as *const _ as usize
        },
        124usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetObjectClass)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsInstanceOf as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(IsInstanceOf)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetMethodID as *const _ as usize },
        132usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetMethodID)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethod as *const _ as usize
        },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallObjectMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodV as *const _ as usize
        },
        140usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallObjectMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodA as *const _ as usize
        },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallObjectMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethod as *const _ as usize
        },
        148usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallBooleanMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodV as *const _ as usize
        },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallBooleanMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodA as *const _ as usize
        },
        156usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallBooleanMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethod as *const _ as usize
        },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallByteMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodV as *const _ as usize
        },
        164usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallByteMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodA as *const _ as usize
        },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallByteMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethod as *const _ as usize
        },
        172usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallCharMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodV as *const _ as usize
        },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallCharMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodA as *const _ as usize
        },
        180usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallCharMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethod as *const _ as usize
        },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallShortMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodV as *const _ as usize
        },
        188usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallShortMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodA as *const _ as usize
        },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallShortMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethod as *const _ as usize
        },
        196usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallIntMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodV as *const _ as usize
        },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallIntMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodA as *const _ as usize
        },
        204usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallIntMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethod as *const _ as usize
        },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallLongMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodV as *const _ as usize
        },
        212usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallLongMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodA as *const _ as usize
        },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallLongMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethod as *const _ as usize
        },
        220usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallFloatMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodV as *const _ as usize
        },
        224usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallFloatMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodA as *const _ as usize
        },
        228usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallFloatMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethod as *const _ as usize
        },
        232usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallDoubleMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodV as *const _ as usize
        },
        236usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallDoubleMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodA as *const _ as usize
        },
        240usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallDoubleMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethod as *const _ as usize
        },
        244usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallVoidMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodV as *const _ as usize
        },
        248usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallVoidMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodA as *const _ as usize
        },
        252usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallVoidMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethod as *const _
                as usize
        },
        256usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualObjectMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodV as *const _
                as usize
        },
        260usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualObjectMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodA as *const _
                as usize
        },
        264usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualObjectMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethod as *const _
                as usize
        },
        268usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualBooleanMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodV as *const _
                as usize
        },
        272usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualBooleanMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodA as *const _
                as usize
        },
        276usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualBooleanMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethod as *const _
                as usize
        },
        280usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualByteMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodV as *const _
                as usize
        },
        284usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualByteMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodA as *const _
                as usize
        },
        288usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualByteMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethod as *const _
                as usize
        },
        292usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualCharMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodV as *const _
                as usize
        },
        296usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualCharMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodA as *const _
                as usize
        },
        300usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualCharMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethod as *const _
                as usize
        },
        304usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualShortMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodV as *const _
                as usize
        },
        308usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualShortMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodA as *const _
                as usize
        },
        312usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualShortMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethod as *const _
                as usize
        },
        316usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualIntMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodV as *const _
                as usize
        },
        320usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualIntMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodA as *const _
                as usize
        },
        324usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualIntMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethod as *const _
                as usize
        },
        328usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualLongMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodV as *const _
                as usize
        },
        332usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualLongMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodA as *const _
                as usize
        },
        336usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualLongMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethod as *const _
                as usize
        },
        340usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualFloatMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodV as *const _
                as usize
        },
        344usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualFloatMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodA as *const _
                as usize
        },
        348usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualFloatMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethod as *const _
                as usize
        },
        352usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualDoubleMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodV as *const _
                as usize
        },
        356usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualDoubleMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodA as *const _
                as usize
        },
        360usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualDoubleMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethod as *const _
                as usize
        },
        364usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualVoidMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodV as *const _
                as usize
        },
        368usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualVoidMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodA as *const _
                as usize
        },
        372usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallNonvirtualVoidMethodA)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetFieldID as *const _ as usize },
        376usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetFieldID)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectField as *const _ as usize
        },
        380usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetObjectField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanField as *const _ as usize
        },
        384usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetBooleanField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetByteField as *const _ as usize },
        388usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetByteField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetCharField as *const _ as usize },
        392usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetCharField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetShortField as *const _ as usize
        },
        396usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetShortField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetIntField as *const _ as usize },
        400usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetIntField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetLongField as *const _ as usize },
        404usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetLongField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatField as *const _ as usize
        },
        408usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetFloatField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleField as *const _ as usize
        },
        412usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetDoubleField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectField as *const _ as usize
        },
        416usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetObjectField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanField as *const _ as usize
        },
        420usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetBooleanField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetByteField as *const _ as usize },
        424usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetByteField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetCharField as *const _ as usize },
        428usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetCharField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetShortField as *const _ as usize
        },
        432usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetShortField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetIntField as *const _ as usize },
        436usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetIntField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetLongField as *const _ as usize },
        440usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetLongField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatField as *const _ as usize
        },
        444usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetFloatField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleField as *const _ as usize
        },
        448usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetDoubleField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticMethodID as *const _ as usize
        },
        452usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticMethodID)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethod as *const _
                as usize
        },
        456usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticObjectMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodV as *const _
                as usize
        },
        460usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticObjectMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodA as *const _
                as usize
        },
        464usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticObjectMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethod as *const _
                as usize
        },
        468usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticBooleanMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodV as *const _
                as usize
        },
        472usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticBooleanMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodA as *const _
                as usize
        },
        476usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticBooleanMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethod as *const _ as usize
        },
        480usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticByteMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodV as *const _
                as usize
        },
        484usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticByteMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodA as *const _
                as usize
        },
        488usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticByteMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethod as *const _ as usize
        },
        492usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticCharMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodV as *const _
                as usize
        },
        496usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticCharMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodA as *const _
                as usize
        },
        500usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticCharMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethod as *const _
                as usize
        },
        504usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticShortMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodV as *const _
                as usize
        },
        508usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticShortMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodA as *const _
                as usize
        },
        512usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticShortMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethod as *const _ as usize
        },
        516usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticIntMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodV as *const _ as usize
        },
        520usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticIntMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodA as *const _ as usize
        },
        524usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticIntMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethod as *const _ as usize
        },
        528usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticLongMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodV as *const _
                as usize
        },
        532usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticLongMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodA as *const _
                as usize
        },
        536usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticLongMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethod as *const _
                as usize
        },
        540usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticFloatMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodV as *const _
                as usize
        },
        544usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticFloatMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodA as *const _
                as usize
        },
        548usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticFloatMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethod as *const _
                as usize
        },
        552usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticDoubleMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodV as *const _
                as usize
        },
        556usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticDoubleMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodA as *const _
                as usize
        },
        560usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticDoubleMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethod as *const _ as usize
        },
        564usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticVoidMethod)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodV as *const _
                as usize
        },
        568usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticVoidMethodV)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodA as *const _
                as usize
        },
        572usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(CallStaticVoidMethodA)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFieldID as *const _ as usize
        },
        576usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticFieldID)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticObjectField as *const _ as usize
        },
        580usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticObjectField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticBooleanField as *const _
                as usize
        },
        584usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticBooleanField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticByteField as *const _ as usize
        },
        588usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticByteField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticCharField as *const _ as usize
        },
        592usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticCharField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticShortField as *const _ as usize
        },
        596usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticShortField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticIntField as *const _ as usize
        },
        600usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticIntField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticLongField as *const _ as usize
        },
        604usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticLongField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFloatField as *const _ as usize
        },
        608usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticFloatField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticDoubleField as *const _ as usize
        },
        612usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStaticDoubleField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticObjectField as *const _ as usize
        },
        616usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetStaticObjectField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticBooleanField as *const _
                as usize
        },
        620usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetStaticBooleanField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticByteField as *const _ as usize
        },
        624usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetStaticByteField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticCharField as *const _ as usize
        },
        628usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetStaticCharField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticShortField as *const _ as usize
        },
        632usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetStaticShortField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticIntField as *const _ as usize
        },
        636usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetStaticIntField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticLongField as *const _ as usize
        },
        640usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetStaticLongField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticFloatField as *const _ as usize
        },
        644usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetStaticFloatField)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticDoubleField as *const _ as usize
        },
        648usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetStaticDoubleField)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewString as *const _ as usize },
        652usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewString)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringLength as *const _ as usize
        },
        656usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStringLength)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringChars as *const _ as usize
        },
        660usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStringChars)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringChars as *const _ as usize
        },
        664usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseStringChars)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewStringUTF as *const _ as usize },
        668usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewStringUTF)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFLength as *const _ as usize
        },
        672usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStringUTFLength)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFChars as *const _ as usize
        },
        676usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStringUTFChars)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringUTFChars as *const _
                as usize
        },
        680usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseStringUTFChars)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetArrayLength as *const _ as usize
        },
        684usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetArrayLength)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectArray as *const _ as usize
        },
        688usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewObjectArray)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectArrayElement as *const _
                as usize
        },
        692usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetObjectArrayElement)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectArrayElement as *const _
                as usize
        },
        696usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetObjectArrayElement)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).NewBooleanArray as *const _ as usize
        },
        700usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewBooleanArray)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewByteArray as *const _ as usize },
        704usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewByteArray)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewCharArray as *const _ as usize },
        708usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewCharArray)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).NewShortArray as *const _ as usize
        },
        712usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewShortArray)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewIntArray as *const _ as usize },
        716usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewIntArray)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLongArray as *const _ as usize },
        720usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewLongArray)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).NewFloatArray as *const _ as usize
        },
        724usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewFloatArray)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).NewDoubleArray as *const _ as usize
        },
        728usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewDoubleArray)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayElements as *const _
                as usize
        },
        732usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetBooleanArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayElements as *const _ as usize
        },
        736usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetByteArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayElements as *const _ as usize
        },
        740usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetCharArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayElements as *const _
                as usize
        },
        744usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetShortArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayElements as *const _ as usize
        },
        748usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetIntArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayElements as *const _ as usize
        },
        752usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetLongArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayElements as *const _
                as usize
        },
        756usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetFloatArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayElements as *const _
                as usize
        },
        760usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetDoubleArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseBooleanArrayElements as *const _
                as usize
        },
        764usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseBooleanArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseByteArrayElements as *const _
                as usize
        },
        768usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseByteArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseCharArrayElements as *const _
                as usize
        },
        772usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseCharArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseShortArrayElements as *const _
                as usize
        },
        776usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseShortArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseIntArrayElements as *const _
                as usize
        },
        780usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseIntArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseLongArrayElements as *const _
                as usize
        },
        784usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseLongArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseFloatArrayElements as *const _
                as usize
        },
        788usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseFloatArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseDoubleArrayElements as *const _
                as usize
        },
        792usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseDoubleArrayElements)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayRegion as *const _
                as usize
        },
        796usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetBooleanArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayRegion as *const _ as usize
        },
        800usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetByteArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayRegion as *const _ as usize
        },
        804usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetCharArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayRegion as *const _ as usize
        },
        808usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetShortArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayRegion as *const _ as usize
        },
        812usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetIntArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayRegion as *const _ as usize
        },
        816usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetLongArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayRegion as *const _ as usize
        },
        820usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetFloatArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayRegion as *const _ as usize
        },
        824usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetDoubleArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanArrayRegion as *const _
                as usize
        },
        828usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetBooleanArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetByteArrayRegion as *const _ as usize
        },
        832usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetByteArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetCharArrayRegion as *const _ as usize
        },
        836usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetCharArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetShortArrayRegion as *const _ as usize
        },
        840usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetShortArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetIntArrayRegion as *const _ as usize
        },
        844usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetIntArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetLongArrayRegion as *const _ as usize
        },
        848usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetLongArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatArrayRegion as *const _ as usize
        },
        852usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetFloatArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleArrayRegion as *const _ as usize
        },
        856usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(SetDoubleArrayRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).RegisterNatives as *const _ as usize
        },
        860usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(RegisterNatives)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).UnregisterNatives as *const _ as usize
        },
        864usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(UnregisterNatives)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorEnter as *const _ as usize },
        868usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(MonitorEnter)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorExit as *const _ as usize },
        872usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(MonitorExit)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetJavaVM as *const _ as usize },
        876usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetJavaVM)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringRegion as *const _ as usize
        },
        880usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStringRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFRegion as *const _ as usize
        },
        884usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStringUTFRegion)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetPrimitiveArrayCritical as *const _
                as usize
        },
        888usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetPrimitiveArrayCritical)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleasePrimitiveArrayCritical as *const _
                as usize
        },
        892usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleasePrimitiveArrayCritical)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringCritical as *const _ as usize
        },
        896usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetStringCritical)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringCritical as *const _
                as usize
        },
        900usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ReleaseStringCritical)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).NewWeakGlobalRef as *const _ as usize
        },
        904usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewWeakGlobalRef)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).DeleteWeakGlobalRef as *const _ as usize
        },
        908usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(DeleteWeakGlobalRef)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionCheck as *const _ as usize
        },
        912usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(ExceptionCheck)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).NewDirectByteBuffer as *const _ as usize
        },
        916usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(NewDirectByteBuffer)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferAddress as *const _
                as usize
        },
        920usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetDirectBufferAddress)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferCapacity as *const _
                as usize
        },
        924usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetDirectBufferCapacity)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectRefType as *const _ as usize
        },
        928usize,
        concat!(
            "Offset of field: ",
            stringify!(JNINativeInterface),
            "::",
            stringify!(GetObjectRefType)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _JNIEnv {
    pub functions: *const JNINativeInterface,
}
#[test]
fn bindgen_test_layout__JNIEnv() {
    assert_eq!(
        ::std::mem::size_of::<_JNIEnv>(),
        4usize,
        concat!("Size of: ", stringify!(_JNIEnv))
    );
    assert_eq!(
        ::std::mem::align_of::<_JNIEnv>(),
        4usize,
        concat!("Alignment of ", stringify!(_JNIEnv))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_JNIEnv>())).functions as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_JNIEnv),
            "::",
            stringify!(functions)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct JNIInvokeInterface {
    pub reserved0: *mut ::std::os::raw::c_void,
    pub reserved1: *mut ::std::os::raw::c_void,
    pub reserved2: *mut ::std::os::raw::c_void,
    pub DestroyJavaVM: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
    pub AttachCurrentThread: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JavaVM,
            arg2: *mut *mut JNIEnv,
            arg3: *mut ::std::os::raw::c_void,
        ) -> jint,
    >,
    pub DetachCurrentThread: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
    pub GetEnv: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JavaVM,
            arg2: *mut *mut ::std::os::raw::c_void,
            arg3: jint,
        ) -> jint,
    >,
    pub AttachCurrentThreadAsDaemon: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: *mut JavaVM,
            arg2: *mut *mut JNIEnv,
            arg3: *mut ::std::os::raw::c_void,
        ) -> jint,
    >,
}
#[test]
fn bindgen_test_layout_JNIInvokeInterface() {
    assert_eq!(
        ::std::mem::size_of::<JNIInvokeInterface>(),
        32usize,
        concat!("Size of: ", stringify!(JNIInvokeInterface))
    );
    assert_eq!(
        ::std::mem::align_of::<JNIInvokeInterface>(),
        4usize,
        concat!("Alignment of ", stringify!(JNIInvokeInterface))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved0 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(JNIInvokeInterface),
            "::",
            stringify!(reserved0)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved1 as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(JNIInvokeInterface),
            "::",
            stringify!(reserved1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved2 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(JNIInvokeInterface),
            "::",
            stringify!(reserved2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNIInvokeInterface>())).DestroyJavaVM as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(JNIInvokeInterface),
            "::",
            stringify!(DestroyJavaVM)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThread as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(JNIInvokeInterface),
            "::",
            stringify!(AttachCurrentThread)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNIInvokeInterface>())).DetachCurrentThread as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(JNIInvokeInterface),
            "::",
            stringify!(DetachCurrentThread)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).GetEnv as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(JNIInvokeInterface),
            "::",
            stringify!(GetEnv)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThreadAsDaemon as *const _
                as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(JNIInvokeInterface),
            "::",
            stringify!(AttachCurrentThreadAsDaemon)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _JavaVM {
    pub functions: *const JNIInvokeInterface,
}
#[test]
fn bindgen_test_layout__JavaVM() {
    assert_eq!(
        ::std::mem::size_of::<_JavaVM>(),
        4usize,
        concat!("Size of: ", stringify!(_JavaVM))
    );
    assert_eq!(
        ::std::mem::align_of::<_JavaVM>(),
        4usize,
        concat!("Alignment of ", stringify!(_JavaVM))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_JavaVM>())).functions as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_JavaVM),
            "::",
            stringify!(functions)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct JavaVMAttachArgs {
    pub version: jint,
    pub name: *const ::std::os::raw::c_char,
    pub group: jobject,
}
#[test]
fn bindgen_test_layout_JavaVMAttachArgs() {
    assert_eq!(
        ::std::mem::size_of::<JavaVMAttachArgs>(),
        12usize,
        concat!("Size of: ", stringify!(JavaVMAttachArgs))
    );
    assert_eq!(
        ::std::mem::align_of::<JavaVMAttachArgs>(),
        4usize,
        concat!("Alignment of ", stringify!(JavaVMAttachArgs))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).version as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(JavaVMAttachArgs),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).name as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(JavaVMAttachArgs),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).group as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(JavaVMAttachArgs),
            "::",
            stringify!(group)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct JavaVMOption {
    pub optionString: *const ::std::os::raw::c_char,
    pub extraInfo: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_JavaVMOption() {
    assert_eq!(
        ::std::mem::size_of::<JavaVMOption>(),
        8usize,
        concat!("Size of: ", stringify!(JavaVMOption))
    );
    assert_eq!(
        ::std::mem::align_of::<JavaVMOption>(),
        4usize,
        concat!("Alignment of ", stringify!(JavaVMOption))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JavaVMOption>())).optionString as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(JavaVMOption),
            "::",
            stringify!(optionString)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JavaVMOption>())).extraInfo as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(JavaVMOption),
            "::",
            stringify!(extraInfo)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct JavaVMInitArgs {
    pub version: jint,
    pub nOptions: jint,
    pub options: *mut JavaVMOption,
    pub ignoreUnrecognized: jboolean,
}
#[test]
fn bindgen_test_layout_JavaVMInitArgs() {
    assert_eq!(
        ::std::mem::size_of::<JavaVMInitArgs>(),
        16usize,
        concat!("Size of: ", stringify!(JavaVMInitArgs))
    );
    assert_eq!(
        ::std::mem::align_of::<JavaVMInitArgs>(),
        4usize,
        concat!("Alignment of ", stringify!(JavaVMInitArgs))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).version as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(JavaVMInitArgs),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).nOptions as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(JavaVMInitArgs),
            "::",
            stringify!(nOptions)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).options as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(JavaVMInitArgs),
            "::",
            stringify!(options)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<JavaVMInitArgs>())).ignoreUnrecognized as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(JavaVMInitArgs),
            "::",
            stringify!(ignoreUnrecognized)
        )
    );
}
extern "C" {
    pub fn JNI_GetDefaultJavaVMInitArgs(arg1: *mut ::std::os::raw::c_void) -> jint;
}
extern "C" {
    pub fn JNI_CreateJavaVM(
        arg1: *mut *mut JavaVM,
        arg2: *mut *mut JNIEnv,
        arg3: *mut ::std::os::raw::c_void,
    ) -> jint;
}
extern "C" {
    pub fn JNI_GetCreatedJavaVMs(arg1: *mut *mut JavaVM, arg2: jsize, arg3: *mut jsize) -> jint;
}
extern "C" {
    pub fn JNI_OnLoad(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void) -> jint;
}
extern "C" {
    pub fn JNI_OnUnload(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
}
pub const ANDROID_BITMAP_RESULT_SUCCESS: _bindgen_ty_2 = 0;
pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: _bindgen_ty_2 = -1;
pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: _bindgen_ty_2 = -2;
pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: _bindgen_ty_2 = -3;
pub type _bindgen_ty_2 = i32;
pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = 0;
pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = 1;
pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = 4;
pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = 7;
pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = 8;
pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_F16: AndroidBitmapFormat = 9;
pub type AndroidBitmapFormat = u32;
pub const ANDROID_BITMAP_FLAGS_ALPHA_PREMUL: _bindgen_ty_3 = 0;
pub const ANDROID_BITMAP_FLAGS_ALPHA_OPAQUE: _bindgen_ty_3 = 1;
pub const ANDROID_BITMAP_FLAGS_ALPHA_UNPREMUL: _bindgen_ty_3 = 2;
pub const ANDROID_BITMAP_FLAGS_ALPHA_MASK: _bindgen_ty_3 = 3;
pub const ANDROID_BITMAP_FLAGS_ALPHA_SHIFT: _bindgen_ty_3 = 0;
pub type _bindgen_ty_3 = u32;
pub const ANDROID_BITMAP_FLAGS_IS_HARDWARE: _bindgen_ty_4 = -2147483648;
pub type _bindgen_ty_4 = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AndroidBitmapInfo {
    pub width: u32,
    pub height: u32,
    pub stride: u32,
    pub format: i32,
    pub flags: u32,
}
#[test]
fn bindgen_test_layout_AndroidBitmapInfo() {
    assert_eq!(
        ::std::mem::size_of::<AndroidBitmapInfo>(),
        20usize,
        concat!("Size of: ", stringify!(AndroidBitmapInfo))
    );
    assert_eq!(
        ::std::mem::align_of::<AndroidBitmapInfo>(),
        4usize,
        concat!("Alignment of ", stringify!(AndroidBitmapInfo))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).width as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AndroidBitmapInfo),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).height as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AndroidBitmapInfo),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).stride as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(AndroidBitmapInfo),
            "::",
            stringify!(stride)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).format as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(AndroidBitmapInfo),
            "::",
            stringify!(format)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).flags as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(AndroidBitmapInfo),
            "::",
            stringify!(flags)
        )
    );
}
extern "C" {
    pub fn AndroidBitmap_getInfo(
        env: *mut JNIEnv,
        jbitmap: jobject,
        info: *mut AndroidBitmapInfo,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AndroidBitmap_getDataSpace(env: *mut JNIEnv, jbitmap: jobject) -> i32;
}
extern "C" {
    pub fn AndroidBitmap_lockPixels(
        env: *mut JNIEnv,
        jbitmap: jobject,
        addrPtr: *mut *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
}
pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_JPEG:
    AndroidBitmapCompressFormat = 0;
pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_PNG:
    AndroidBitmapCompressFormat = 1;
pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSY:
    AndroidBitmapCompressFormat = 3;
pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSLESS:
    AndroidBitmapCompressFormat = 4;
pub type AndroidBitmapCompressFormat = u32;
pub type AndroidBitmap_CompressWriteFunc = ::std::option::Option<
    unsafe extern "C" fn(
        userContext: *mut ::std::os::raw::c_void,
        data: *const ::std::os::raw::c_void,
        size: size_t,
    ) -> bool,
>;
extern "C" {
    pub fn AndroidBitmap_compress(
        info: *const AndroidBitmapInfo,
        dataspace: i32,
        pixels: *const ::std::os::raw::c_void,
        format: i32,
        quality: i32,
        userContext: *mut ::std::os::raw::c_void,
        fn_: AndroidBitmap_CompressWriteFunc,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AHardwareBuffer {
    _unused: [u8; 0],
}
extern "C" {
    pub fn AndroidBitmap_getHardwareBuffer(
        env: *mut JNIEnv,
        bitmap: jobject,
        outBuffer: *mut *mut AHardwareBuffer,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AChoreographer {
    _unused: [u8; 0],
}
pub type AChoreographer_frameCallback = ::std::option::Option<
    unsafe extern "C" fn(frameTimeNanos: ::std::os::raw::c_long, data: *mut ::std::os::raw::c_void),
>;
pub type AChoreographer_frameCallback64 = ::std::option::Option<
    unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
>;
pub type AChoreographer_refreshRateCallback = ::std::option::Option<
    unsafe extern "C" fn(vsyncPeriodNanos: i64, data: *mut ::std::os::raw::c_void),
>;
extern "C" {
    pub fn AChoreographer_getInstance() -> *mut AChoreographer;
}
extern "C" {
    pub fn AChoreographer_postFrameCallback(
        choreographer: *mut AChoreographer,
        callback: AChoreographer_frameCallback,
        data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn AChoreographer_postFrameCallbackDelayed(
        choreographer: *mut AChoreographer,
        callback: AChoreographer_frameCallback,
        data: *mut ::std::os::raw::c_void,
        delayMillis: ::std::os::raw::c_long,
    );
}
extern "C" {
    pub fn AChoreographer_postFrameCallback64(
        choreographer: *mut AChoreographer,
        callback: AChoreographer_frameCallback64,
        data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn AChoreographer_postFrameCallbackDelayed64(
        choreographer: *mut AChoreographer,
        callback: AChoreographer_frameCallback64,
        data: *mut ::std::os::raw::c_void,
        delayMillis: u32,
    );
}
extern "C" {
    pub fn AChoreographer_registerRefreshRateCallback(
        choreographer: *mut AChoreographer,
        arg1: AChoreographer_refreshRateCallback,
        data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn AChoreographer_unregisterRefreshRateCallback(
        choreographer: *mut AChoreographer,
        arg1: AChoreographer_refreshRateCallback,
        data: *mut ::std::os::raw::c_void,
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AConfiguration {
    _unused: [u8; 0],
}
pub const ACONFIGURATION_ORIENTATION_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_ORIENTATION_PORT: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_ORIENTATION_LAND: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_ORIENTATION_SQUARE: _bindgen_ty_5 = 3;
pub const ACONFIGURATION_TOUCHSCREEN_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_TOUCHSCREEN_FINGER: _bindgen_ty_5 = 3;
pub const ACONFIGURATION_DENSITY_DEFAULT: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_DENSITY_LOW: _bindgen_ty_5 = 120;
pub const ACONFIGURATION_DENSITY_MEDIUM: _bindgen_ty_5 = 160;
pub const ACONFIGURATION_DENSITY_TV: _bindgen_ty_5 = 213;
pub const ACONFIGURATION_DENSITY_HIGH: _bindgen_ty_5 = 240;
pub const ACONFIGURATION_DENSITY_XHIGH: _bindgen_ty_5 = 320;
pub const ACONFIGURATION_DENSITY_XXHIGH: _bindgen_ty_5 = 480;
pub const ACONFIGURATION_DENSITY_XXXHIGH: _bindgen_ty_5 = 640;
pub const ACONFIGURATION_DENSITY_ANY: _bindgen_ty_5 = 65534;
pub const ACONFIGURATION_DENSITY_NONE: _bindgen_ty_5 = 65535;
pub const ACONFIGURATION_KEYBOARD_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_KEYBOARD_NOKEYS: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_KEYBOARD_QWERTY: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_KEYBOARD_12KEY: _bindgen_ty_5 = 3;
pub const ACONFIGURATION_NAVIGATION_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_NAVIGATION_NONAV: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_NAVIGATION_DPAD: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_NAVIGATION_TRACKBALL: _bindgen_ty_5 = 3;
pub const ACONFIGURATION_NAVIGATION_WHEEL: _bindgen_ty_5 = 4;
pub const ACONFIGURATION_KEYSHIDDEN_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_KEYSHIDDEN_NO: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_KEYSHIDDEN_YES: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_KEYSHIDDEN_SOFT: _bindgen_ty_5 = 3;
pub const ACONFIGURATION_NAVHIDDEN_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_NAVHIDDEN_NO: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_NAVHIDDEN_YES: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_SCREENSIZE_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_SCREENSIZE_SMALL: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_SCREENSIZE_NORMAL: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_SCREENSIZE_LARGE: _bindgen_ty_5 = 3;
pub const ACONFIGURATION_SCREENSIZE_XLARGE: _bindgen_ty_5 = 4;
pub const ACONFIGURATION_SCREENLONG_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_SCREENLONG_NO: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_SCREENLONG_YES: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_SCREENROUND_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_SCREENROUND_NO: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_SCREENROUND_YES: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_HDR_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_HDR_NO: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_HDR_YES: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_UI_MODE_TYPE_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_UI_MODE_TYPE_DESK: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_UI_MODE_TYPE_CAR: _bindgen_ty_5 = 3;
pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: _bindgen_ty_5 = 4;
pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: _bindgen_ty_5 = 5;
pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: _bindgen_ty_5 = 6;
pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: _bindgen_ty_5 = 7;
pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_UI_MODE_NIGHT_NO: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_UI_MODE_NIGHT_YES: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_LAYOUTDIR_ANY: _bindgen_ty_5 = 0;
pub const ACONFIGURATION_LAYOUTDIR_LTR: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_LAYOUTDIR_RTL: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_MCC: _bindgen_ty_5 = 1;
pub const ACONFIGURATION_MNC: _bindgen_ty_5 = 2;
pub const ACONFIGURATION_LOCALE: _bindgen_ty_5 = 4;
pub const ACONFIGURATION_TOUCHSCREEN: _bindgen_ty_5 = 8;
pub const ACONFIGURATION_KEYBOARD: _bindgen_ty_5 = 16;
pub const ACONFIGURATION_KEYBOARD_HIDDEN: _bindgen_ty_5 = 32;
pub const ACONFIGURATION_NAVIGATION: _bindgen_ty_5 = 64;
pub const ACONFIGURATION_ORIENTATION: _bindgen_ty_5 = 128;
pub const ACONFIGURATION_DENSITY: _bindgen_ty_5 = 256;
pub const ACONFIGURATION_SCREEN_SIZE: _bindgen_ty_5 = 512;
pub const ACONFIGURATION_VERSION: _bindgen_ty_5 = 1024;
pub const ACONFIGURATION_SCREEN_LAYOUT: _bindgen_ty_5 = 2048;
pub const ACONFIGURATION_UI_MODE: _bindgen_ty_5 = 4096;
pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: _bindgen_ty_5 = 8192;
pub const ACONFIGURATION_LAYOUTDIR: _bindgen_ty_5 = 16384;
pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_5 = 32768;
pub const ACONFIGURATION_COLOR_MODE: _bindgen_ty_5 = 65536;
pub const ACONFIGURATION_MNC_ZERO: _bindgen_ty_5 = 65535;
pub type _bindgen_ty_5 = u32;
extern "C" {
    pub fn AConfiguration_new() -> *mut AConfiguration;
}
extern "C" {
    pub fn AConfiguration_delete(config: *mut AConfiguration);
}
extern "C" {
    pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
}
extern "C" {
    pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
}
extern "C" {
    pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
}
extern "C" {
    pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
}
extern "C" {
    pub fn AConfiguration_getLanguage(
        config: *mut AConfiguration,
        outLanguage: *mut ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn AConfiguration_setLanguage(
        config: *mut AConfiguration,
        language: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn AConfiguration_getCountry(
        config: *mut AConfiguration,
        outCountry: *mut ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn AConfiguration_setCountry(
        config: *mut AConfiguration,
        country: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
}
extern "C" {
    pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
}
extern "C" {
    pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
}
extern "C" {
    pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
}
extern "C" {
    pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
}
extern "C" {
    pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
}
extern "C" {
    pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
}
extern "C" {
    pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
}
extern "C" {
    pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
}
extern "C" {
    pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
}
extern "C" {
    pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
}
extern "C" {
    pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
}
extern "C" {
    pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
}
extern "C" {
    pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
}
extern "C" {
    pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
}
extern "C" {
    pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
}
extern "C" {
    pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
}
extern "C" {
    pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
}
extern "C" {
    pub fn AConfiguration_isBetterThan(
        base: *mut AConfiguration,
        test: *mut AConfiguration,
        requested: *mut AConfiguration,
    ) -> i32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct imaxdiv_t {
    pub quot: intmax_t,
    pub rem: intmax_t,
}
#[test]
fn bindgen_test_layout_imaxdiv_t() {
    assert_eq!(
        ::std::mem::size_of::<imaxdiv_t>(),
        16usize,
        concat!("Size of: ", stringify!(imaxdiv_t))
    );
    assert_eq!(
        ::std::mem::align_of::<imaxdiv_t>(),
        4usize,
        concat!("Alignment of ", stringify!(imaxdiv_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(imaxdiv_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).rem as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(imaxdiv_t),
            "::",
            stringify!(rem)
        )
    );
}
extern "C" {
    pub fn imaxabs(__i: intmax_t) -> intmax_t;
}
extern "C" {
    pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
}
extern "C" {
    pub fn strtoimax(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> intmax_t;
}
extern "C" {
    pub fn strtoumax(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> uintmax_t;
}
extern "C" {
    pub fn wcstoimax(
        __s: *const wchar_t,
        __end_ptr: *mut *mut wchar_t,
        __base: ::std::os::raw::c_int,
    ) -> intmax_t;
}
extern "C" {
    pub fn wcstoumax(
        __s: *const wchar_t,
        __end_ptr: *mut *mut wchar_t,
        __base: ::std::os::raw::c_int,
    ) -> uintmax_t;
}
pub const ADataSpace_ADATASPACE_UNKNOWN: ADataSpace = 0;
pub const ADataSpace_ADATASPACE_SCRGB_LINEAR: ADataSpace = 406913024;
pub const ADataSpace_ADATASPACE_SRGB: ADataSpace = 142671872;
pub const ADataSpace_ADATASPACE_SCRGB: ADataSpace = 411107328;
pub const ADataSpace_ADATASPACE_DISPLAY_P3: ADataSpace = 143261696;
pub const ADataSpace_ADATASPACE_BT2020_PQ: ADataSpace = 163971072;
pub const ADataSpace_ADATASPACE_ADOBE_RGB: ADataSpace = 151715840;
pub const ADataSpace_ADATASPACE_BT2020: ADataSpace = 147193856;
pub const ADataSpace_ADATASPACE_BT709: ADataSpace = 281083904;
pub const ADataSpace_ADATASPACE_DCI_P3: ADataSpace = 155844608;
pub const ADataSpace_ADATASPACE_SRGB_LINEAR: ADataSpace = 138477568;
pub type ADataSpace = u32;
pub const ANDROID_DLEXT_RESERVED_ADDRESS: _bindgen_ty_6 = 1;
pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: _bindgen_ty_6 = 2;
pub const ANDROID_DLEXT_WRITE_RELRO: _bindgen_ty_6 = 4;
pub const ANDROID_DLEXT_USE_RELRO: _bindgen_ty_6 = 8;
pub const ANDROID_DLEXT_USE_LIBRARY_FD: _bindgen_ty_6 = 16;
pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: _bindgen_ty_6 = 32;
pub const ANDROID_DLEXT_FORCE_LOAD: _bindgen_ty_6 = 64;
pub const ANDROID_DLEXT_USE_NAMESPACE: _bindgen_ty_6 = 512;
pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: _bindgen_ty_6 = 1024;
pub const ANDROID_DLEXT_VALID_FLAG_BITS: _bindgen_ty_6 = 1663;
pub type _bindgen_ty_6 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct android_namespace_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct android_dlextinfo {
    pub flags: u64,
    pub reserved_addr: *mut ::std::os::raw::c_void,
    pub reserved_size: size_t,
    pub relro_fd: ::std::os::raw::c_int,
    pub library_fd: ::std::os::raw::c_int,
    pub library_fd_offset: off64_t,
    pub library_namespace: *mut android_namespace_t,
}
#[test]
fn bindgen_test_layout_android_dlextinfo() {
    assert_eq!(
        ::std::mem::size_of::<android_dlextinfo>(),
        36usize,
        concat!("Size of: ", stringify!(android_dlextinfo))
    );
    assert_eq!(
        ::std::mem::align_of::<android_dlextinfo>(),
        4usize,
        concat!("Alignment of ", stringify!(android_dlextinfo))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(android_dlextinfo),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_addr as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(android_dlextinfo),
            "::",
            stringify!(reserved_addr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_size as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(android_dlextinfo),
            "::",
            stringify!(reserved_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).relro_fd as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(android_dlextinfo),
            "::",
            stringify!(relro_fd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).library_fd as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(android_dlextinfo),
            "::",
            stringify!(library_fd)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<android_dlextinfo>())).library_fd_offset as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(android_dlextinfo),
            "::",
            stringify!(library_fd_offset)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<android_dlextinfo>())).library_namespace as *const _ as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(android_dlextinfo),
            "::",
            stringify!(library_namespace)
        )
    );
}
extern "C" {
    pub fn android_dlopen_ext(
        __filename: *const ::std::os::raw::c_char,
        __flags: ::std::os::raw::c_int,
        __info: *const android_dlextinfo,
    ) -> *mut ::std::os::raw::c_void;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ARect {
    pub left: i32,
    pub top: i32,
    pub right: i32,
    pub bottom: i32,
}
#[test]
fn bindgen_test_layout_ARect() {
    assert_eq!(
        ::std::mem::size_of::<ARect>(),
        16usize,
        concat!("Size of: ", stringify!(ARect))
    );
    assert_eq!(
        ::std::mem::align_of::<ARect>(),
        4usize,
        concat!("Alignment of ", stringify!(ARect))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ARect>())).left as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ARect),
            "::",
            stringify!(left)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ARect>())).top as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ARect),
            "::",
            stringify!(top)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ARect>())).right as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ARect),
            "::",
            stringify!(right)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ARect>())).bottom as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ARect),
            "::",
            stringify!(bottom)
        )
    );
}
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format = 1;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format = 2;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format = 3;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format = 4;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
    22;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
    43;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = 33;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = 48;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = 49;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
    50;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = 51;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
    52;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = 53;
pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format = 35;
pub type AHardwareBuffer_Format = u32;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_NEVER:
    AHardwareBuffer_UsageFlags = 0;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_RARELY:
    AHardwareBuffer_UsageFlags = 2;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN:
    AHardwareBuffer_UsageFlags = 3;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_MASK:
    AHardwareBuffer_UsageFlags = 15;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER:
    AHardwareBuffer_UsageFlags = 0;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY:
    AHardwareBuffer_UsageFlags = 32;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN:
    AHardwareBuffer_UsageFlags = 48;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK:
    AHardwareBuffer_UsageFlags = 240;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE:
    AHardwareBuffer_UsageFlags = 256;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER:
    AHardwareBuffer_UsageFlags = 512;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT:
    AHardwareBuffer_UsageFlags = 512;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY:
    AHardwareBuffer_UsageFlags = 2048;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT:
    AHardwareBuffer_UsageFlags = 16384;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VIDEO_ENCODE:
    AHardwareBuffer_UsageFlags = 65536;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA:
    AHardwareBuffer_UsageFlags = 8388608;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER:
    AHardwareBuffer_UsageFlags = 16777216;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP:
    AHardwareBuffer_UsageFlags = 33554432;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE:
    AHardwareBuffer_UsageFlags = 67108864;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
    268435456;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
    536870912;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
    1073741824;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
    2147483648;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
    281474976710656;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
    562949953421312;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
    1125899906842624;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
    2251799813685248;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
    4503599627370496;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
    9007199254740992;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
    18014398509481984;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
    36028797018963968;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
    72057594037927936;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
    144115188075855872;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
    288230376151711744;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
    576460752303423488;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
    1152921504606846976;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
    2305843009213693952;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
    4611686018427387904;
pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
    9223372036854775808;
pub type AHardwareBuffer_UsageFlags = u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AHardwareBuffer_Desc {
    pub width: u32,
    pub height: u32,
    pub layers: u32,
    pub format: u32,
    pub usage: u64,
    pub stride: u32,
    pub rfu0: u32,
    pub rfu1: u64,
}
#[test]
fn bindgen_test_layout_AHardwareBuffer_Desc() {
    assert_eq!(
        ::std::mem::size_of::<AHardwareBuffer_Desc>(),
        40usize,
        concat!("Size of: ", stringify!(AHardwareBuffer_Desc))
    );
    assert_eq!(
        ::std::mem::align_of::<AHardwareBuffer_Desc>(),
        4usize,
        concat!("Alignment of ", stringify!(AHardwareBuffer_Desc))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).width as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Desc),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).height as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Desc),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).layers as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Desc),
            "::",
            stringify!(layers)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).format as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Desc),
            "::",
            stringify!(format)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).usage as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Desc),
            "::",
            stringify!(usage)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).stride as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Desc),
            "::",
            stringify!(stride)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu0 as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Desc),
            "::",
            stringify!(rfu0)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu1 as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Desc),
            "::",
            stringify!(rfu1)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AHardwareBuffer_Plane {
    pub data: *mut ::std::os::raw::c_void,
    pub pixelStride: u32,
    pub rowStride: u32,
}
#[test]
fn bindgen_test_layout_AHardwareBuffer_Plane() {
    assert_eq!(
        ::std::mem::size_of::<AHardwareBuffer_Plane>(),
        12usize,
        concat!("Size of: ", stringify!(AHardwareBuffer_Plane))
    );
    assert_eq!(
        ::std::mem::align_of::<AHardwareBuffer_Plane>(),
        4usize,
        concat!("Alignment of ", stringify!(AHardwareBuffer_Plane))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).data as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Plane),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).pixelStride as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Plane),
            "::",
            stringify!(pixelStride)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).rowStride as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Plane),
            "::",
            stringify!(rowStride)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AHardwareBuffer_Planes {
    pub planeCount: u32,
    pub planes: [AHardwareBuffer_Plane; 4usize],
}
#[test]
fn bindgen_test_layout_AHardwareBuffer_Planes() {
    assert_eq!(
        ::std::mem::size_of::<AHardwareBuffer_Planes>(),
        52usize,
        concat!("Size of: ", stringify!(AHardwareBuffer_Planes))
    );
    assert_eq!(
        ::std::mem::align_of::<AHardwareBuffer_Planes>(),
        4usize,
        concat!("Alignment of ", stringify!(AHardwareBuffer_Planes))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planeCount as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Planes),
            "::",
            stringify!(planeCount)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planes as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AHardwareBuffer_Planes),
            "::",
            stringify!(planes)
        )
    );
}
extern "C" {
    pub fn AHardwareBuffer_allocate(
        desc: *const AHardwareBuffer_Desc,
        outBuffer: *mut *mut AHardwareBuffer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
}
extern "C" {
    pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
}
extern "C" {
    pub fn AHardwareBuffer_describe(
        buffer: *const AHardwareBuffer,
        outDesc: *mut AHardwareBuffer_Desc,
    );
}
extern "C" {
    pub fn AHardwareBuffer_lock(
        buffer: *mut AHardwareBuffer,
        usage: u64,
        fence: i32,
        rect: *const ARect,
        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AHardwareBuffer_lockPlanes(
        buffer: *mut AHardwareBuffer,
        usage: u64,
        fence: i32,
        rect: *const ARect,
        outPlanes: *mut AHardwareBuffer_Planes,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AHardwareBuffer_unlock(
        buffer: *mut AHardwareBuffer,
        fence: *mut i32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AHardwareBuffer_sendHandleToUnixSocket(
        buffer: *const AHardwareBuffer,
        socketFd: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AHardwareBuffer_recvHandleFromUnixSocket(
        socketFd: ::std::os::raw::c_int,
        outBuffer: *mut *mut AHardwareBuffer,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AHardwareBuffer_lockAndGetInfo(
        buffer: *mut AHardwareBuffer,
        usage: u64,
        fence: i32,
        rect: *const ARect,
        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
        outBytesPerPixel: *mut i32,
        outBytesPerStride: *mut i32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AHardwareBuffer_fromHardwareBuffer(
        env: *mut JNIEnv,
        hardwareBufferObj: jobject,
    ) -> *mut AHardwareBuffer;
}
extern "C" {
    pub fn AHardwareBuffer_toHardwareBuffer(
        env: *mut JNIEnv,
        hardwareBuffer: *mut AHardwareBuffer,
    ) -> jobject;
}
pub const AKEYCODE_UNKNOWN: _bindgen_ty_7 = 0;
pub const AKEYCODE_SOFT_LEFT: _bindgen_ty_7 = 1;
pub const AKEYCODE_SOFT_RIGHT: _bindgen_ty_7 = 2;
pub const AKEYCODE_HOME: _bindgen_ty_7 = 3;
pub const AKEYCODE_BACK: _bindgen_ty_7 = 4;
pub const AKEYCODE_CALL: _bindgen_ty_7 = 5;
pub const AKEYCODE_ENDCALL: _bindgen_ty_7 = 6;
pub const AKEYCODE_0: _bindgen_ty_7 = 7;
pub const AKEYCODE_1: _bindgen_ty_7 = 8;
pub const AKEYCODE_2: _bindgen_ty_7 = 9;
pub const AKEYCODE_3: _bindgen_ty_7 = 10;
pub const AKEYCODE_4: _bindgen_ty_7 = 11;
pub const AKEYCODE_5: _bindgen_ty_7 = 12;
pub const AKEYCODE_6: _bindgen_ty_7 = 13;
pub const AKEYCODE_7: _bindgen_ty_7 = 14;
pub const AKEYCODE_8: _bindgen_ty_7 = 15;
pub const AKEYCODE_9: _bindgen_ty_7 = 16;
pub const AKEYCODE_STAR: _bindgen_ty_7 = 17;
pub const AKEYCODE_POUND: _bindgen_ty_7 = 18;
pub const AKEYCODE_DPAD_UP: _bindgen_ty_7 = 19;
pub const AKEYCODE_DPAD_DOWN: _bindgen_ty_7 = 20;
pub const AKEYCODE_DPAD_LEFT: _bindgen_ty_7 = 21;
pub const AKEYCODE_DPAD_RIGHT: _bindgen_ty_7 = 22;
pub const AKEYCODE_DPAD_CENTER: _bindgen_ty_7 = 23;
pub const AKEYCODE_VOLUME_UP: _bindgen_ty_7 = 24;
pub const AKEYCODE_VOLUME_DOWN: _bindgen_ty_7 = 25;
pub const AKEYCODE_POWER: _bindgen_ty_7 = 26;
pub const AKEYCODE_CAMERA: _bindgen_ty_7 = 27;
pub const AKEYCODE_CLEAR: _bindgen_ty_7 = 28;
pub const AKEYCODE_A: _bindgen_ty_7 = 29;
pub const AKEYCODE_B: _bindgen_ty_7 = 30;
pub const AKEYCODE_C: _bindgen_ty_7 = 31;
pub const AKEYCODE_D: _bindgen_ty_7 = 32;
pub const AKEYCODE_E: _bindgen_ty_7 = 33;
pub const AKEYCODE_F: _bindgen_ty_7 = 34;
pub const AKEYCODE_G: _bindgen_ty_7 = 35;
pub const AKEYCODE_H: _bindgen_ty_7 = 36;
pub const AKEYCODE_I: _bindgen_ty_7 = 37;
pub const AKEYCODE_J: _bindgen_ty_7 = 38;
pub const AKEYCODE_K: _bindgen_ty_7 = 39;
pub const AKEYCODE_L: _bindgen_ty_7 = 40;
pub const AKEYCODE_M: _bindgen_ty_7 = 41;
pub const AKEYCODE_N: _bindgen_ty_7 = 42;
pub const AKEYCODE_O: _bindgen_ty_7 = 43;
pub const AKEYCODE_P: _bindgen_ty_7 = 44;
pub const AKEYCODE_Q: _bindgen_ty_7 = 45;
pub const AKEYCODE_R: _bindgen_ty_7 = 46;
pub const AKEYCODE_S: _bindgen_ty_7 = 47;
pub const AKEYCODE_T: _bindgen_ty_7 = 48;
pub const AKEYCODE_U: _bindgen_ty_7 = 49;
pub const AKEYCODE_V: _bindgen_ty_7 = 50;
pub const AKEYCODE_W: _bindgen_ty_7 = 51;
pub const AKEYCODE_X: _bindgen_ty_7 = 52;
pub const AKEYCODE_Y: _bindgen_ty_7 = 53;
pub const AKEYCODE_Z: _bindgen_ty_7 = 54;
pub const AKEYCODE_COMMA: _bindgen_ty_7 = 55;
pub const AKEYCODE_PERIOD: _bindgen_ty_7 = 56;
pub const AKEYCODE_ALT_LEFT: _bindgen_ty_7 = 57;
pub const AKEYCODE_ALT_RIGHT: _bindgen_ty_7 = 58;
pub const AKEYCODE_SHIFT_LEFT: _bindgen_ty_7 = 59;
pub const AKEYCODE_SHIFT_RIGHT: _bindgen_ty_7 = 60;
pub const AKEYCODE_TAB: _bindgen_ty_7 = 61;
pub const AKEYCODE_SPACE: _bindgen_ty_7 = 62;
pub const AKEYCODE_SYM: _bindgen_ty_7 = 63;
pub const AKEYCODE_EXPLORER: _bindgen_ty_7 = 64;
pub const AKEYCODE_ENVELOPE: _bindgen_ty_7 = 65;
pub const AKEYCODE_ENTER: _bindgen_ty_7 = 66;
pub const AKEYCODE_DEL: _bindgen_ty_7 = 67;
pub const AKEYCODE_GRAVE: _bindgen_ty_7 = 68;
pub const AKEYCODE_MINUS: _bindgen_ty_7 = 69;
pub const AKEYCODE_EQUALS: _bindgen_ty_7 = 70;
pub const AKEYCODE_LEFT_BRACKET: _bindgen_ty_7 = 71;
pub const AKEYCODE_RIGHT_BRACKET: _bindgen_ty_7 = 72;
pub const AKEYCODE_BACKSLASH: _bindgen_ty_7 = 73;
pub const AKEYCODE_SEMICOLON: _bindgen_ty_7 = 74;
pub const AKEYCODE_APOSTROPHE: _bindgen_ty_7 = 75;
pub const AKEYCODE_SLASH: _bindgen_ty_7 = 76;
pub const AKEYCODE_AT: _bindgen_ty_7 = 77;
pub const AKEYCODE_NUM: _bindgen_ty_7 = 78;
pub const AKEYCODE_HEADSETHOOK: _bindgen_ty_7 = 79;
pub const AKEYCODE_FOCUS: _bindgen_ty_7 = 80;
pub const AKEYCODE_PLUS: _bindgen_ty_7 = 81;
pub const AKEYCODE_MENU: _bindgen_ty_7 = 82;
pub const AKEYCODE_NOTIFICATION: _bindgen_ty_7 = 83;
pub const AKEYCODE_SEARCH: _bindgen_ty_7 = 84;
pub const AKEYCODE_MEDIA_PLAY_PAUSE: _bindgen_ty_7 = 85;
pub const AKEYCODE_MEDIA_STOP: _bindgen_ty_7 = 86;
pub const AKEYCODE_MEDIA_NEXT: _bindgen_ty_7 = 87;
pub const AKEYCODE_MEDIA_PREVIOUS: _bindgen_ty_7 = 88;
pub const AKEYCODE_MEDIA_REWIND: _bindgen_ty_7 = 89;
pub const AKEYCODE_MEDIA_FAST_FORWARD: _bindgen_ty_7 = 90;
pub const AKEYCODE_MUTE: _bindgen_ty_7 = 91;
pub const AKEYCODE_PAGE_UP: _bindgen_ty_7 = 92;
pub const AKEYCODE_PAGE_DOWN: _bindgen_ty_7 = 93;
pub const AKEYCODE_PICTSYMBOLS: _bindgen_ty_7 = 94;
pub const AKEYCODE_SWITCH_CHARSET: _bindgen_ty_7 = 95;
pub const AKEYCODE_BUTTON_A: _bindgen_ty_7 = 96;
pub const AKEYCODE_BUTTON_B: _bindgen_ty_7 = 97;
pub const AKEYCODE_BUTTON_C: _bindgen_ty_7 = 98;
pub const AKEYCODE_BUTTON_X: _bindgen_ty_7 = 99;
pub const AKEYCODE_BUTTON_Y: _bindgen_ty_7 = 100;
pub const AKEYCODE_BUTTON_Z: _bindgen_ty_7 = 101;
pub const AKEYCODE_BUTTON_L1: _bindgen_ty_7 = 102;
pub const AKEYCODE_BUTTON_R1: _bindgen_ty_7 = 103;
pub const AKEYCODE_BUTTON_L2: _bindgen_ty_7 = 104;
pub const AKEYCODE_BUTTON_R2: _bindgen_ty_7 = 105;
pub const AKEYCODE_BUTTON_THUMBL: _bindgen_ty_7 = 106;
pub const AKEYCODE_BUTTON_THUMBR: _bindgen_ty_7 = 107;
pub const AKEYCODE_BUTTON_START: _bindgen_ty_7 = 108;
pub const AKEYCODE_BUTTON_SELECT: _bindgen_ty_7 = 109;
pub const AKEYCODE_BUTTON_MODE: _bindgen_ty_7 = 110;
pub const AKEYCODE_ESCAPE: _bindgen_ty_7 = 111;
pub const AKEYCODE_FORWARD_DEL: _bindgen_ty_7 = 112;
pub const AKEYCODE_CTRL_LEFT: _bindgen_ty_7 = 113;
pub const AKEYCODE_CTRL_RIGHT: _bindgen_ty_7 = 114;
pub const AKEYCODE_CAPS_LOCK: _bindgen_ty_7 = 115;
pub const AKEYCODE_SCROLL_LOCK: _bindgen_ty_7 = 116;
pub const AKEYCODE_META_LEFT: _bindgen_ty_7 = 117;
pub const AKEYCODE_META_RIGHT: _bindgen_ty_7 = 118;
pub const AKEYCODE_FUNCTION: _bindgen_ty_7 = 119;
pub const AKEYCODE_SYSRQ: _bindgen_ty_7 = 120;
pub const AKEYCODE_BREAK: _bindgen_ty_7 = 121;
pub const AKEYCODE_MOVE_HOME: _bindgen_ty_7 = 122;
pub const AKEYCODE_MOVE_END: _bindgen_ty_7 = 123;
pub const AKEYCODE_INSERT: _bindgen_ty_7 = 124;
pub const AKEYCODE_FORWARD: _bindgen_ty_7 = 125;
pub const AKEYCODE_MEDIA_PLAY: _bindgen_ty_7 = 126;
pub const AKEYCODE_MEDIA_PAUSE: _bindgen_ty_7 = 127;
pub const AKEYCODE_MEDIA_CLOSE: _bindgen_ty_7 = 128;
pub const AKEYCODE_MEDIA_EJECT: _bindgen_ty_7 = 129;
pub const AKEYCODE_MEDIA_RECORD: _bindgen_ty_7 = 130;
pub const AKEYCODE_F1: _bindgen_ty_7 = 131;
pub const AKEYCODE_F2: _bindgen_ty_7 = 132;
pub const AKEYCODE_F3: _bindgen_ty_7 = 133;
pub const AKEYCODE_F4: _bindgen_ty_7 = 134;
pub const AKEYCODE_F5: _bindgen_ty_7 = 135;
pub const AKEYCODE_F6: _bindgen_ty_7 = 136;
pub const AKEYCODE_F7: _bindgen_ty_7 = 137;
pub const AKEYCODE_F8: _bindgen_ty_7 = 138;
pub const AKEYCODE_F9: _bindgen_ty_7 = 139;
pub const AKEYCODE_F10: _bindgen_ty_7 = 140;
pub const AKEYCODE_F11: _bindgen_ty_7 = 141;
pub const AKEYCODE_F12: _bindgen_ty_7 = 142;
pub const AKEYCODE_NUM_LOCK: _bindgen_ty_7 = 143;
pub const AKEYCODE_NUMPAD_0: _bindgen_ty_7 = 144;
pub const AKEYCODE_NUMPAD_1: _bindgen_ty_7 = 145;
pub const AKEYCODE_NUMPAD_2: _bindgen_ty_7 = 146;
pub const AKEYCODE_NUMPAD_3: _bindgen_ty_7 = 147;
pub const AKEYCODE_NUMPAD_4: _bindgen_ty_7 = 148;
pub const AKEYCODE_NUMPAD_5: _bindgen_ty_7 = 149;
pub const AKEYCODE_NUMPAD_6: _bindgen_ty_7 = 150;
pub const AKEYCODE_NUMPAD_7: _bindgen_ty_7 = 151;
pub const AKEYCODE_NUMPAD_8: _bindgen_ty_7 = 152;
pub const AKEYCODE_NUMPAD_9: _bindgen_ty_7 = 153;
pub const AKEYCODE_NUMPAD_DIVIDE: _bindgen_ty_7 = 154;
pub const AKEYCODE_NUMPAD_MULTIPLY: _bindgen_ty_7 = 155;
pub const AKEYCODE_NUMPAD_SUBTRACT: _bindgen_ty_7 = 156;
pub const AKEYCODE_NUMPAD_ADD: _bindgen_ty_7 = 157;
pub const AKEYCODE_NUMPAD_DOT: _bindgen_ty_7 = 158;
pub const AKEYCODE_NUMPAD_COMMA: _bindgen_ty_7 = 159;
pub const AKEYCODE_NUMPAD_ENTER: _bindgen_ty_7 = 160;
pub const AKEYCODE_NUMPAD_EQUALS: _bindgen_ty_7 = 161;
pub const AKEYCODE_NUMPAD_LEFT_PAREN: _bindgen_ty_7 = 162;
pub const AKEYCODE_NUMPAD_RIGHT_PAREN: _bindgen_ty_7 = 163;
pub const AKEYCODE_VOLUME_MUTE: _bindgen_ty_7 = 164;
pub const AKEYCODE_INFO: _bindgen_ty_7 = 165;
pub const AKEYCODE_CHANNEL_UP: _bindgen_ty_7 = 166;
pub const AKEYCODE_CHANNEL_DOWN: _bindgen_ty_7 = 167;
pub const AKEYCODE_ZOOM_IN: _bindgen_ty_7 = 168;
pub const AKEYCODE_ZOOM_OUT: _bindgen_ty_7 = 169;
pub const AKEYCODE_TV: _bindgen_ty_7 = 170;
pub const AKEYCODE_WINDOW: _bindgen_ty_7 = 171;
pub const AKEYCODE_GUIDE: _bindgen_ty_7 = 172;
pub const AKEYCODE_DVR: _bindgen_ty_7 = 173;
pub const AKEYCODE_BOOKMARK: _bindgen_ty_7 = 174;
pub const AKEYCODE_CAPTIONS: _bindgen_ty_7 = 175;
pub const AKEYCODE_SETTINGS: _bindgen_ty_7 = 176;
pub const AKEYCODE_TV_POWER: _bindgen_ty_7 = 177;
pub const AKEYCODE_TV_INPUT: _bindgen_ty_7 = 178;
pub const AKEYCODE_STB_POWER: _bindgen_ty_7 = 179;
pub const AKEYCODE_STB_INPUT: _bindgen_ty_7 = 180;
pub const AKEYCODE_AVR_POWER: _bindgen_ty_7 = 181;
pub const AKEYCODE_AVR_INPUT: _bindgen_ty_7 = 182;
pub const AKEYCODE_PROG_RED: _bindgen_ty_7 = 183;
pub const AKEYCODE_PROG_GREEN: _bindgen_ty_7 = 184;
pub const AKEYCODE_PROG_YELLOW: _bindgen_ty_7 = 185;
pub const AKEYCODE_PROG_BLUE: _bindgen_ty_7 = 186;
pub const AKEYCODE_APP_SWITCH: _bindgen_ty_7 = 187;
pub const AKEYCODE_BUTTON_1: _bindgen_ty_7 = 188;
pub const AKEYCODE_BUTTON_2: _bindgen_ty_7 = 189;
pub const AKEYCODE_BUTTON_3: _bindgen_ty_7 = 190;
pub const AKEYCODE_BUTTON_4: _bindgen_ty_7 = 191;
pub const AKEYCODE_BUTTON_5: _bindgen_ty_7 = 192;
pub const AKEYCODE_BUTTON_6: _bindgen_ty_7 = 193;
pub const AKEYCODE_BUTTON_7: _bindgen_ty_7 = 194;
pub const AKEYCODE_BUTTON_8: _bindgen_ty_7 = 195;
pub const AKEYCODE_BUTTON_9: _bindgen_ty_7 = 196;
pub const AKEYCODE_BUTTON_10: _bindgen_ty_7 = 197;
pub const AKEYCODE_BUTTON_11: _bindgen_ty_7 = 198;
pub const AKEYCODE_BUTTON_12: _bindgen_ty_7 = 199;
pub const AKEYCODE_BUTTON_13: _bindgen_ty_7 = 200;
pub const AKEYCODE_BUTTON_14: _bindgen_ty_7 = 201;
pub const AKEYCODE_BUTTON_15: _bindgen_ty_7 = 202;
pub const AKEYCODE_BUTTON_16: _bindgen_ty_7 = 203;
pub const AKEYCODE_LANGUAGE_SWITCH: _bindgen_ty_7 = 204;
pub const AKEYCODE_MANNER_MODE: _bindgen_ty_7 = 205;
pub const AKEYCODE_3D_MODE: _bindgen_ty_7 = 206;
pub const AKEYCODE_CONTACTS: _bindgen_ty_7 = 207;
pub const AKEYCODE_CALENDAR: _bindgen_ty_7 = 208;
pub const AKEYCODE_MUSIC: _bindgen_ty_7 = 209;
pub const AKEYCODE_CALCULATOR: _bindgen_ty_7 = 210;
pub const AKEYCODE_ZENKAKU_HANKAKU: _bindgen_ty_7 = 211;
pub const AKEYCODE_EISU: _bindgen_ty_7 = 212;
pub const AKEYCODE_MUHENKAN: _bindgen_ty_7 = 213;
pub const AKEYCODE_HENKAN: _bindgen_ty_7 = 214;
pub const AKEYCODE_KATAKANA_HIRAGANA: _bindgen_ty_7 = 215;
pub const AKEYCODE_YEN: _bindgen_ty_7 = 216;
pub const AKEYCODE_RO: _bindgen_ty_7 = 217;
pub const AKEYCODE_KANA: _bindgen_ty_7 = 218;
pub const AKEYCODE_ASSIST: _bindgen_ty_7 = 219;
pub const AKEYCODE_BRIGHTNESS_DOWN: _bindgen_ty_7 = 220;
pub const AKEYCODE_BRIGHTNESS_UP: _bindgen_ty_7 = 221;
pub const AKEYCODE_MEDIA_AUDIO_TRACK: _bindgen_ty_7 = 222;
pub const AKEYCODE_SLEEP: _bindgen_ty_7 = 223;
pub const AKEYCODE_WAKEUP: _bindgen_ty_7 = 224;
pub const AKEYCODE_PAIRING: _bindgen_ty_7 = 225;
pub const AKEYCODE_MEDIA_TOP_MENU: _bindgen_ty_7 = 226;
pub const AKEYCODE_11: _bindgen_ty_7 = 227;
pub const AKEYCODE_12: _bindgen_ty_7 = 228;
pub const AKEYCODE_LAST_CHANNEL: _bindgen_ty_7 = 229;
pub const AKEYCODE_TV_DATA_SERVICE: _bindgen_ty_7 = 230;
pub const AKEYCODE_VOICE_ASSIST: _bindgen_ty_7 = 231;
pub const AKEYCODE_TV_RADIO_SERVICE: _bindgen_ty_7 = 232;
pub const AKEYCODE_TV_TELETEXT: _bindgen_ty_7 = 233;
pub const AKEYCODE_TV_NUMBER_ENTRY: _bindgen_ty_7 = 234;
pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: _bindgen_ty_7 = 235;
pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: _bindgen_ty_7 = 236;
pub const AKEYCODE_TV_SATELLITE: _bindgen_ty_7 = 237;
pub const AKEYCODE_TV_SATELLITE_BS: _bindgen_ty_7 = 238;
pub const AKEYCODE_TV_SATELLITE_CS: _bindgen_ty_7 = 239;
pub const AKEYCODE_TV_SATELLITE_SERVICE: _bindgen_ty_7 = 240;
pub const AKEYCODE_TV_NETWORK: _bindgen_ty_7 = 241;
pub const AKEYCODE_TV_ANTENNA_CABLE: _bindgen_ty_7 = 242;
pub const AKEYCODE_TV_INPUT_HDMI_1: _bindgen_ty_7 = 243;
pub const AKEYCODE_TV_INPUT_HDMI_2: _bindgen_ty_7 = 244;
pub const AKEYCODE_TV_INPUT_HDMI_3: _bindgen_ty_7 = 245;
pub const AKEYCODE_TV_INPUT_HDMI_4: _bindgen_ty_7 = 246;
pub const AKEYCODE_TV_INPUT_COMPOSITE_1: _bindgen_ty_7 = 247;
pub const AKEYCODE_TV_INPUT_COMPOSITE_2: _bindgen_ty_7 = 248;
pub const AKEYCODE_TV_INPUT_COMPONENT_1: _bindgen_ty_7 = 249;
pub const AKEYCODE_TV_INPUT_COMPONENT_2: _bindgen_ty_7 = 250;
pub const AKEYCODE_TV_INPUT_VGA_1: _bindgen_ty_7 = 251;
pub const AKEYCODE_TV_AUDIO_DESCRIPTION: _bindgen_ty_7 = 252;
pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: _bindgen_ty_7 = 253;
pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: _bindgen_ty_7 = 254;
pub const AKEYCODE_TV_ZOOM_MODE: _bindgen_ty_7 = 255;
pub const AKEYCODE_TV_CONTENTS_MENU: _bindgen_ty_7 = 256;
pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: _bindgen_ty_7 = 257;
pub const AKEYCODE_TV_TIMER_PROGRAMMING: _bindgen_ty_7 = 258;
pub const AKEYCODE_HELP: _bindgen_ty_7 = 259;
pub const AKEYCODE_NAVIGATE_PREVIOUS: _bindgen_ty_7 = 260;
pub const AKEYCODE_NAVIGATE_NEXT: _bindgen_ty_7 = 261;
pub const AKEYCODE_NAVIGATE_IN: _bindgen_ty_7 = 262;
pub const AKEYCODE_NAVIGATE_OUT: _bindgen_ty_7 = 263;
pub const AKEYCODE_STEM_PRIMARY: _bindgen_ty_7 = 264;
pub const AKEYCODE_STEM_1: _bindgen_ty_7 = 265;
pub const AKEYCODE_STEM_2: _bindgen_ty_7 = 266;
pub const AKEYCODE_STEM_3: _bindgen_ty_7 = 267;
pub const AKEYCODE_DPAD_UP_LEFT: _bindgen_ty_7 = 268;
pub const AKEYCODE_DPAD_DOWN_LEFT: _bindgen_ty_7 = 269;
pub const AKEYCODE_DPAD_UP_RIGHT: _bindgen_ty_7 = 270;
pub const AKEYCODE_DPAD_DOWN_RIGHT: _bindgen_ty_7 = 271;
pub const AKEYCODE_MEDIA_SKIP_FORWARD: _bindgen_ty_7 = 272;
pub const AKEYCODE_MEDIA_SKIP_BACKWARD: _bindgen_ty_7 = 273;
pub const AKEYCODE_MEDIA_STEP_FORWARD: _bindgen_ty_7 = 274;
pub const AKEYCODE_MEDIA_STEP_BACKWARD: _bindgen_ty_7 = 275;
pub const AKEYCODE_SOFT_SLEEP: _bindgen_ty_7 = 276;
pub const AKEYCODE_CUT: _bindgen_ty_7 = 277;
pub const AKEYCODE_COPY: _bindgen_ty_7 = 278;
pub const AKEYCODE_PASTE: _bindgen_ty_7 = 279;
pub const AKEYCODE_SYSTEM_NAVIGATION_UP: _bindgen_ty_7 = 280;
pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: _bindgen_ty_7 = 281;
pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: _bindgen_ty_7 = 282;
pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: _bindgen_ty_7 = 283;
pub const AKEYCODE_ALL_APPS: _bindgen_ty_7 = 284;
pub const AKEYCODE_REFRESH: _bindgen_ty_7 = 285;
pub const AKEYCODE_THUMBS_UP: _bindgen_ty_7 = 286;
pub const AKEYCODE_THUMBS_DOWN: _bindgen_ty_7 = 287;
pub const AKEYCODE_PROFILE_SWITCH: _bindgen_ty_7 = 288;
pub type _bindgen_ty_7 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ALooper {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ALooper_forThread() -> *mut ALooper;
}
pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: _bindgen_ty_8 = 1;
pub type _bindgen_ty_8 = u32;
extern "C" {
    pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
}
pub const ALOOPER_POLL_WAKE: _bindgen_ty_9 = -1;
pub const ALOOPER_POLL_CALLBACK: _bindgen_ty_9 = -2;
pub const ALOOPER_POLL_TIMEOUT: _bindgen_ty_9 = -3;
pub const ALOOPER_POLL_ERROR: _bindgen_ty_9 = -4;
pub type _bindgen_ty_9 = i32;
extern "C" {
    pub fn ALooper_acquire(looper: *mut ALooper);
}
extern "C" {
    pub fn ALooper_release(looper: *mut ALooper);
}
pub const ALOOPER_EVENT_INPUT: _bindgen_ty_10 = 1;
pub const ALOOPER_EVENT_OUTPUT: _bindgen_ty_10 = 2;
pub const ALOOPER_EVENT_ERROR: _bindgen_ty_10 = 4;
pub const ALOOPER_EVENT_HANGUP: _bindgen_ty_10 = 8;
pub const ALOOPER_EVENT_INVALID: _bindgen_ty_10 = 16;
pub type _bindgen_ty_10 = u32;
pub type ALooper_callbackFunc = ::std::option::Option<
    unsafe extern "C" fn(
        fd: ::std::os::raw::c_int,
        events: ::std::os::raw::c_int,
        data: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
extern "C" {
    pub fn ALooper_pollOnce(
        timeoutMillis: ::std::os::raw::c_int,
        outFd: *mut ::std::os::raw::c_int,
        outEvents: *mut ::std::os::raw::c_int,
        outData: *mut *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ALooper_pollAll(
        timeoutMillis: ::std::os::raw::c_int,
        outFd: *mut ::std::os::raw::c_int,
        outEvents: *mut ::std::os::raw::c_int,
        outData: *mut *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ALooper_wake(looper: *mut ALooper);
}
extern "C" {
    pub fn ALooper_addFd(
        looper: *mut ALooper,
        fd: ::std::os::raw::c_int,
        ident: ::std::os::raw::c_int,
        events: ::std::os::raw::c_int,
        callback: ALooper_callbackFunc,
        data: *mut ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ALooper_removeFd(
        looper: *mut ALooper,
        fd: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
pub const AKEY_STATE_UNKNOWN: _bindgen_ty_11 = -1;
pub const AKEY_STATE_UP: _bindgen_ty_11 = 0;
pub const AKEY_STATE_DOWN: _bindgen_ty_11 = 1;
pub const AKEY_STATE_VIRTUAL: _bindgen_ty_11 = 2;
pub type _bindgen_ty_11 = i32;
pub const AMETA_NONE: _bindgen_ty_12 = 0;
pub const AMETA_ALT_ON: _bindgen_ty_12 = 2;
pub const AMETA_ALT_LEFT_ON: _bindgen_ty_12 = 16;
pub const AMETA_ALT_RIGHT_ON: _bindgen_ty_12 = 32;
pub const AMETA_SHIFT_ON: _bindgen_ty_12 = 1;
pub const AMETA_SHIFT_LEFT_ON: _bindgen_ty_12 = 64;
pub const AMETA_SHIFT_RIGHT_ON: _bindgen_ty_12 = 128;
pub const AMETA_SYM_ON: _bindgen_ty_12 = 4;
pub const AMETA_FUNCTION_ON: _bindgen_ty_12 = 8;
pub const AMETA_CTRL_ON: _bindgen_ty_12 = 4096;
pub const AMETA_CTRL_LEFT_ON: _bindgen_ty_12 = 8192;
pub const AMETA_CTRL_RIGHT_ON: _bindgen_ty_12 = 16384;
pub const AMETA_META_ON: _bindgen_ty_12 = 65536;
pub const AMETA_META_LEFT_ON: _bindgen_ty_12 = 131072;
pub const AMETA_META_RIGHT_ON: _bindgen_ty_12 = 262144;
pub const AMETA_CAPS_LOCK_ON: _bindgen_ty_12 = 1048576;
pub const AMETA_NUM_LOCK_ON: _bindgen_ty_12 = 2097152;
pub const AMETA_SCROLL_LOCK_ON: _bindgen_ty_12 = 4194304;
pub type _bindgen_ty_12 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AInputEvent {
    _unused: [u8; 0],
}
pub const AINPUT_EVENT_TYPE_KEY: _bindgen_ty_13 = 1;
pub const AINPUT_EVENT_TYPE_MOTION: _bindgen_ty_13 = 2;
pub const AINPUT_EVENT_TYPE_FOCUS: _bindgen_ty_13 = 3;
pub type _bindgen_ty_13 = u32;
pub const AKEY_EVENT_ACTION_DOWN: _bindgen_ty_14 = 0;
pub const AKEY_EVENT_ACTION_UP: _bindgen_ty_14 = 1;
pub const AKEY_EVENT_ACTION_MULTIPLE: _bindgen_ty_14 = 2;
pub type _bindgen_ty_14 = u32;
pub const AKEY_EVENT_FLAG_WOKE_HERE: _bindgen_ty_15 = 1;
pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: _bindgen_ty_15 = 2;
pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: _bindgen_ty_15 = 4;
pub const AKEY_EVENT_FLAG_FROM_SYSTEM: _bindgen_ty_15 = 8;
pub const AKEY_EVENT_FLAG_EDITOR_ACTION: _bindgen_ty_15 = 16;
pub const AKEY_EVENT_FLAG_CANCELED: _bindgen_ty_15 = 32;
pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: _bindgen_ty_15 = 64;
pub const AKEY_EVENT_FLAG_LONG_PRESS: _bindgen_ty_15 = 128;
pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: _bindgen_ty_15 = 256;
pub const AKEY_EVENT_FLAG_TRACKING: _bindgen_ty_15 = 512;
pub const AKEY_EVENT_FLAG_FALLBACK: _bindgen_ty_15 = 1024;
pub type _bindgen_ty_15 = u32;
pub const AMOTION_EVENT_ACTION_MASK: _bindgen_ty_16 = 255;
pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: _bindgen_ty_16 = 65280;
pub const AMOTION_EVENT_ACTION_DOWN: _bindgen_ty_16 = 0;
pub const AMOTION_EVENT_ACTION_UP: _bindgen_ty_16 = 1;
pub const AMOTION_EVENT_ACTION_MOVE: _bindgen_ty_16 = 2;
pub const AMOTION_EVENT_ACTION_CANCEL: _bindgen_ty_16 = 3;
pub const AMOTION_EVENT_ACTION_OUTSIDE: _bindgen_ty_16 = 4;
pub const AMOTION_EVENT_ACTION_POINTER_DOWN: _bindgen_ty_16 = 5;
pub const AMOTION_EVENT_ACTION_POINTER_UP: _bindgen_ty_16 = 6;
pub const AMOTION_EVENT_ACTION_HOVER_MOVE: _bindgen_ty_16 = 7;
pub const AMOTION_EVENT_ACTION_SCROLL: _bindgen_ty_16 = 8;
pub const AMOTION_EVENT_ACTION_HOVER_ENTER: _bindgen_ty_16 = 9;
pub const AMOTION_EVENT_ACTION_HOVER_EXIT: _bindgen_ty_16 = 10;
pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: _bindgen_ty_16 = 11;
pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: _bindgen_ty_16 = 12;
pub type _bindgen_ty_16 = u32;
pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: _bindgen_ty_17 = 1;
pub type _bindgen_ty_17 = u32;
pub const AMOTION_EVENT_EDGE_FLAG_NONE: _bindgen_ty_18 = 0;
pub const AMOTION_EVENT_EDGE_FLAG_TOP: _bindgen_ty_18 = 1;
pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: _bindgen_ty_18 = 2;
pub const AMOTION_EVENT_EDGE_FLAG_LEFT: _bindgen_ty_18 = 4;
pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: _bindgen_ty_18 = 8;
pub type _bindgen_ty_18 = u32;
pub const AMOTION_EVENT_AXIS_X: _bindgen_ty_19 = 0;
pub const AMOTION_EVENT_AXIS_Y: _bindgen_ty_19 = 1;
pub const AMOTION_EVENT_AXIS_PRESSURE: _bindgen_ty_19 = 2;
pub const AMOTION_EVENT_AXIS_SIZE: _bindgen_ty_19 = 3;
pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: _bindgen_ty_19 = 4;
pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: _bindgen_ty_19 = 5;
pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: _bindgen_ty_19 = 6;
pub const AMOTION_EVENT_AXIS_TOOL_MINOR: _bindgen_ty_19 = 7;
pub const AMOTION_EVENT_AXIS_ORIENTATION: _bindgen_ty_19 = 8;
pub const AMOTION_EVENT_AXIS_VSCROLL: _bindgen_ty_19 = 9;
pub const AMOTION_EVENT_AXIS_HSCROLL: _bindgen_ty_19 = 10;
pub const AMOTION_EVENT_AXIS_Z: _bindgen_ty_19 = 11;
pub const AMOTION_EVENT_AXIS_RX: _bindgen_ty_19 = 12;
pub const AMOTION_EVENT_AXIS_RY: _bindgen_ty_19 = 13;
pub const AMOTION_EVENT_AXIS_RZ: _bindgen_ty_19 = 14;
pub const AMOTION_EVENT_AXIS_HAT_X: _bindgen_ty_19 = 15;
pub const AMOTION_EVENT_AXIS_HAT_Y: _bindgen_ty_19 = 16;
pub const AMOTION_EVENT_AXIS_LTRIGGER: _bindgen_ty_19 = 17;
pub const AMOTION_EVENT_AXIS_RTRIGGER: _bindgen_ty_19 = 18;
pub const AMOTION_EVENT_AXIS_THROTTLE: _bindgen_ty_19 = 19;
pub const AMOTION_EVENT_AXIS_RUDDER: _bindgen_ty_19 = 20;
pub const AMOTION_EVENT_AXIS_WHEEL: _bindgen_ty_19 = 21;
pub const AMOTION_EVENT_AXIS_GAS: _bindgen_ty_19 = 22;
pub const AMOTION_EVENT_AXIS_BRAKE: _bindgen_ty_19 = 23;
pub const AMOTION_EVENT_AXIS_DISTANCE: _bindgen_ty_19 = 24;
pub const AMOTION_EVENT_AXIS_TILT: _bindgen_ty_19 = 25;
pub const AMOTION_EVENT_AXIS_SCROLL: _bindgen_ty_19 = 26;
pub const AMOTION_EVENT_AXIS_RELATIVE_X: _bindgen_ty_19 = 27;
pub const AMOTION_EVENT_AXIS_RELATIVE_Y: _bindgen_ty_19 = 28;
pub const AMOTION_EVENT_AXIS_GENERIC_1: _bindgen_ty_19 = 32;
pub const AMOTION_EVENT_AXIS_GENERIC_2: _bindgen_ty_19 = 33;
pub const AMOTION_EVENT_AXIS_GENERIC_3: _bindgen_ty_19 = 34;
pub const AMOTION_EVENT_AXIS_GENERIC_4: _bindgen_ty_19 = 35;
pub const AMOTION_EVENT_AXIS_GENERIC_5: _bindgen_ty_19 = 36;
pub const AMOTION_EVENT_AXIS_GENERIC_6: _bindgen_ty_19 = 37;
pub const AMOTION_EVENT_AXIS_GENERIC_7: _bindgen_ty_19 = 38;
pub const AMOTION_EVENT_AXIS_GENERIC_8: _bindgen_ty_19 = 39;
pub const AMOTION_EVENT_AXIS_GENERIC_9: _bindgen_ty_19 = 40;
pub const AMOTION_EVENT_AXIS_GENERIC_10: _bindgen_ty_19 = 41;
pub const AMOTION_EVENT_AXIS_GENERIC_11: _bindgen_ty_19 = 42;
pub const AMOTION_EVENT_AXIS_GENERIC_12: _bindgen_ty_19 = 43;
pub const AMOTION_EVENT_AXIS_GENERIC_13: _bindgen_ty_19 = 44;
pub const AMOTION_EVENT_AXIS_GENERIC_14: _bindgen_ty_19 = 45;
pub const AMOTION_EVENT_AXIS_GENERIC_15: _bindgen_ty_19 = 46;
pub const AMOTION_EVENT_AXIS_GENERIC_16: _bindgen_ty_19 = 47;
pub type _bindgen_ty_19 = u32;
pub const AMOTION_EVENT_BUTTON_PRIMARY: _bindgen_ty_20 = 1;
pub const AMOTION_EVENT_BUTTON_SECONDARY: _bindgen_ty_20 = 2;
pub const AMOTION_EVENT_BUTTON_TERTIARY: _bindgen_ty_20 = 4;
pub const AMOTION_EVENT_BUTTON_BACK: _bindgen_ty_20 = 8;
pub const AMOTION_EVENT_BUTTON_FORWARD: _bindgen_ty_20 = 16;
pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: _bindgen_ty_20 = 32;
pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: _bindgen_ty_20 = 64;
pub type _bindgen_ty_20 = u32;
pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_21 = 0;
pub const AMOTION_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_21 = 1;
pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: _bindgen_ty_21 = 2;
pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_21 = 3;
pub const AMOTION_EVENT_TOOL_TYPE_ERASER: _bindgen_ty_21 = 4;
pub const AMOTION_EVENT_TOOL_TYPE_PALM: _bindgen_ty_21 = 5;
pub type _bindgen_ty_21 = u32;
pub const AINPUT_SOURCE_CLASS_MASK: _bindgen_ty_22 = 255;
pub const AINPUT_SOURCE_CLASS_NONE: _bindgen_ty_22 = 0;
pub const AINPUT_SOURCE_CLASS_BUTTON: _bindgen_ty_22 = 1;
pub const AINPUT_SOURCE_CLASS_POINTER: _bindgen_ty_22 = 2;
pub const AINPUT_SOURCE_CLASS_NAVIGATION: _bindgen_ty_22 = 4;
pub const AINPUT_SOURCE_CLASS_POSITION: _bindgen_ty_22 = 8;
pub const AINPUT_SOURCE_CLASS_JOYSTICK: _bindgen_ty_22 = 16;
pub type _bindgen_ty_22 = u32;
pub const AINPUT_SOURCE_UNKNOWN: _bindgen_ty_23 = 0;
pub const AINPUT_SOURCE_KEYBOARD: _bindgen_ty_23 = 257;
pub const AINPUT_SOURCE_DPAD: _bindgen_ty_23 = 513;
pub const AINPUT_SOURCE_GAMEPAD: _bindgen_ty_23 = 1025;
pub const AINPUT_SOURCE_TOUCHSCREEN: _bindgen_ty_23 = 4098;
pub const AINPUT_SOURCE_MOUSE: _bindgen_ty_23 = 8194;
pub const AINPUT_SOURCE_STYLUS: _bindgen_ty_23 = 16386;
pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: _bindgen_ty_23 = 49154;
pub const AINPUT_SOURCE_TRACKBALL: _bindgen_ty_23 = 65540;
pub const AINPUT_SOURCE_MOUSE_RELATIVE: _bindgen_ty_23 = 131076;
pub const AINPUT_SOURCE_TOUCHPAD: _bindgen_ty_23 = 1048584;
pub const AINPUT_SOURCE_TOUCH_NAVIGATION: _bindgen_ty_23 = 2097152;
pub const AINPUT_SOURCE_JOYSTICK: _bindgen_ty_23 = 16777232;
pub const AINPUT_SOURCE_ROTARY_ENCODER: _bindgen_ty_23 = 4194304;
pub const AINPUT_SOURCE_ANY: _bindgen_ty_23 = 4294967040;
pub type _bindgen_ty_23 = u32;
pub const AINPUT_KEYBOARD_TYPE_NONE: _bindgen_ty_24 = 0;
pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: _bindgen_ty_24 = 1;
pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: _bindgen_ty_24 = 2;
pub type _bindgen_ty_24 = u32;
pub const AINPUT_MOTION_RANGE_X: _bindgen_ty_25 = 0;
pub const AINPUT_MOTION_RANGE_Y: _bindgen_ty_25 = 1;
pub const AINPUT_MOTION_RANGE_PRESSURE: _bindgen_ty_25 = 2;
pub const AINPUT_MOTION_RANGE_SIZE: _bindgen_ty_25 = 3;
pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: _bindgen_ty_25 = 4;
pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: _bindgen_ty_25 = 5;
pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: _bindgen_ty_25 = 6;
pub const AINPUT_MOTION_RANGE_TOOL_MINOR: _bindgen_ty_25 = 7;
pub const AINPUT_MOTION_RANGE_ORIENTATION: _bindgen_ty_25 = 8;
pub type _bindgen_ty_25 = u32;
extern "C" {
    pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
}
extern "C" {
    pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
}
extern "C" {
    pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
}
extern "C" {
    pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
}
extern "C" {
    pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
}
extern "C" {
    pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> size_t;
}
extern "C" {
    pub fn AMotionEvent_getPointerId(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
    ) -> i32;
}
extern "C" {
    pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: size_t)
        -> i32;
}
extern "C" {
    pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: size_t)
        -> f32;
}
extern "C" {
    pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getTouchMajor(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getTouchMinor(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getToolMajor(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getToolMinor(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getOrientation(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getAxisValue(
        motion_event: *const AInputEvent,
        axis: i32,
        pointer_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> size_t;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalEventTime(
        motion_event: *const AInputEvent,
        history_index: size_t,
    ) -> i64;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalRawX(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalRawY(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalX(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalY(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalPressure(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalSize(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalTouchMajor(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalTouchMinor(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalToolMajor(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalToolMinor(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalOrientation(
        motion_event: *const AInputEvent,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
extern "C" {
    pub fn AMotionEvent_getHistoricalAxisValue(
        motion_event: *const AInputEvent,
        axis: i32,
        pointer_index: size_t,
        history_index: size_t,
    ) -> f32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AInputQueue {
    _unused: [u8; 0],
}
extern "C" {
    pub fn AInputQueue_attachLooper(
        queue: *mut AInputQueue,
        looper: *mut ALooper,
        ident: ::std::os::raw::c_int,
        callback: ALooper_callbackFunc,
        data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
}
extern "C" {
    pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
}
extern "C" {
    pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
}
extern "C" {
    pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
}
extern "C" {
    pub fn AInputQueue_finishEvent(
        queue: *mut AInputQueue,
        event: *mut AInputEvent,
        handled: ::std::os::raw::c_int,
    );
}
pub const android_LogPriority_ANDROID_LOG_UNKNOWN: android_LogPriority = 0;
pub const android_LogPriority_ANDROID_LOG_DEFAULT: android_LogPriority = 1;
pub const android_LogPriority_ANDROID_LOG_VERBOSE: android_LogPriority = 2;
pub const android_LogPriority_ANDROID_LOG_DEBUG: android_LogPriority = 3;
pub const android_LogPriority_ANDROID_LOG_INFO: android_LogPriority = 4;
pub const android_LogPriority_ANDROID_LOG_WARN: android_LogPriority = 5;
pub const android_LogPriority_ANDROID_LOG_ERROR: android_LogPriority = 6;
pub const android_LogPriority_ANDROID_LOG_FATAL: android_LogPriority = 7;
pub const android_LogPriority_ANDROID_LOG_SILENT: android_LogPriority = 8;
pub type android_LogPriority = u32;
extern "C" {
    pub fn __android_log_write(
        prio: ::std::os::raw::c_int,
        tag: *const ::std::os::raw::c_char,
        text: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __android_log_print(
        prio: ::std::os::raw::c_int,
        tag: *const ::std::os::raw::c_char,
        fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __android_log_vprint(
        prio: ::std::os::raw::c_int,
        tag: *const ::std::os::raw::c_char,
        fmt: *const ::std::os::raw::c_char,
        ap: va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __android_log_assert(
        cond: *const ::std::os::raw::c_char,
        tag: *const ::std::os::raw::c_char,
        fmt: *const ::std::os::raw::c_char,
        ...
    );
}
pub const log_id_LOG_ID_MIN: log_id = 0;
pub const log_id_LOG_ID_MAIN: log_id = 0;
pub const log_id_LOG_ID_RADIO: log_id = 1;
pub const log_id_LOG_ID_EVENTS: log_id = 2;
pub const log_id_LOG_ID_SYSTEM: log_id = 3;
pub const log_id_LOG_ID_CRASH: log_id = 4;
pub const log_id_LOG_ID_STATS: log_id = 5;
pub const log_id_LOG_ID_SECURITY: log_id = 6;
pub const log_id_LOG_ID_KERNEL: log_id = 7;
pub const log_id_LOG_ID_MAX: log_id = 8;
pub const log_id_LOG_ID_DEFAULT: log_id = 2147483647;
pub type log_id = u32;
pub use self::log_id as log_id_t;
extern "C" {
    pub fn __android_log_buf_write(
        bufID: ::std::os::raw::c_int,
        prio: ::std::os::raw::c_int,
        tag: *const ::std::os::raw::c_char,
        text: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __android_log_buf_print(
        bufID: ::std::os::raw::c_int,
        prio: ::std::os::raw::c_int,
        tag: *const ::std::os::raw::c_char,
        fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __android_log_message {
    pub struct_size: size_t,
    pub buffer_id: i32,
    pub priority: i32,
    pub tag: *const ::std::os::raw::c_char,
    pub file: *const ::std::os::raw::c_char,
    pub line: u32,
    pub message: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout___android_log_message() {
    assert_eq!(
        ::std::mem::size_of::<__android_log_message>(),
        28usize,
        concat!("Size of: ", stringify!(__android_log_message))
    );
    assert_eq!(
        ::std::mem::align_of::<__android_log_message>(),
        4usize,
        concat!("Alignment of ", stringify!(__android_log_message))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__android_log_message>())).struct_size as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__android_log_message),
            "::",
            stringify!(struct_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__android_log_message>())).buffer_id as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__android_log_message),
            "::",
            stringify!(buffer_id)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__android_log_message>())).priority as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__android_log_message),
            "::",
            stringify!(priority)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__android_log_message>())).tag as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__android_log_message),
            "::",
            stringify!(tag)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__android_log_message>())).file as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__android_log_message),
            "::",
            stringify!(file)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__android_log_message>())).line as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(__android_log_message),
            "::",
            stringify!(line)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__android_log_message>())).message as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__android_log_message),
            "::",
            stringify!(message)
        )
    );
}
pub type __android_logger_function =
    ::std::option::Option<unsafe extern "C" fn(log_message: *const __android_log_message)>;
pub type __android_aborter_function =
    ::std::option::Option<unsafe extern "C" fn(abort_message: *const ::std::os::raw::c_char)>;
extern "C" {
    pub fn __android_log_write_log_message(log_message: *mut __android_log_message);
}
extern "C" {
    pub fn __android_log_set_logger(logger: __android_logger_function);
}
extern "C" {
    pub fn __android_log_logd_logger(log_message: *const __android_log_message);
}
extern "C" {
    pub fn __android_log_stderr_logger(log_message: *const __android_log_message);
}
extern "C" {
    pub fn __android_log_set_aborter(aborter: __android_aborter_function);
}
extern "C" {
    pub fn __android_log_call_aborter(abort_message: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn __android_log_default_aborter(abort_message: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn __android_log_is_loggable(
        prio: ::std::os::raw::c_int,
        tag: *const ::std::os::raw::c_char,
        default_prio: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __android_log_is_loggable_len(
        prio: ::std::os::raw::c_int,
        tag: *const ::std::os::raw::c_char,
        len: size_t,
        default_prio: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __android_log_set_minimum_priority(priority: i32) -> i32;
}
extern "C" {
    pub fn __android_log_get_minimum_priority() -> i32;
}
extern "C" {
    pub fn __android_log_set_default_tag(tag: *const ::std::os::raw::c_char);
}
pub type __kernel_sa_family_t = ::std::os::raw::c_ushort;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sockaddr_storage {
    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sockaddr_storage__bindgen_ty_1 {
    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
    pub __align: *mut ::std::os::raw::c_void,
    _bindgen_union_align: [u32; 32usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
    pub ss_family: __kernel_sa_family_t,
    pub __data: [::std::os::raw::c_char; 126usize],
}
#[test]
fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
        128usize,
        concat!(
            "Size of: ",
            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
        2usize,
        concat!(
            "Alignment of ",
            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>())).ss_family
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(ss_family)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>())).__data
                as *const _ as usize
        },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(__data)
        )
    );
}
#[test]
fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1>(),
        128usize,
        concat!("Size of: ", stringify!(sockaddr_storage__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(sockaddr_storage__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sockaddr_storage__bindgen_ty_1>())).__align as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sockaddr_storage__bindgen_ty_1),
            "::",
            stringify!(__align)
        )
    );
}
#[test]
fn bindgen_test_layout_sockaddr_storage() {
    assert_eq!(
        ::std::mem::size_of::<sockaddr_storage>(),
        128usize,
        concat!("Size of: ", stringify!(sockaddr_storage))
    );
    assert_eq!(
        ::std::mem::align_of::<sockaddr_storage>(),
        4usize,
        concat!("Alignment of ", stringify!(sockaddr_storage))
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct f_owner_ex {
    pub type_: ::std::os::raw::c_int,
    pub pid: __kernel_pid_t,
}
#[test]
fn bindgen_test_layout_f_owner_ex() {
    assert_eq!(
        ::std::mem::size_of::<f_owner_ex>(),
        8usize,
        concat!("Size of: ", stringify!(f_owner_ex))
    );
    assert_eq!(
        ::std::mem::align_of::<f_owner_ex>(),
        4usize,
        concat!("Alignment of ", stringify!(f_owner_ex))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<f_owner_ex>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(f_owner_ex),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<f_owner_ex>())).pid as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(f_owner_ex),
            "::",
            stringify!(pid)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct flock {
    pub l_type: ::std::os::raw::c_short,
    pub l_whence: ::std::os::raw::c_short,
    pub l_start: __kernel_off_t,
    pub l_len: __kernel_off_t,
    pub l_pid: __kernel_pid_t,
}
#[test]
fn bindgen_test_layout_flock() {
    assert_eq!(
        ::std::mem::size_of::<flock>(),
        16usize,
        concat!("Size of: ", stringify!(flock))
    );
    assert_eq!(
        ::std::mem::align_of::<flock>(),
        4usize,
        concat!("Alignment of ", stringify!(flock))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock>())).l_type as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(flock),
            "::",
            stringify!(l_type)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock>())).l_whence as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(flock),
            "::",
            stringify!(l_whence)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock>())).l_start as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(flock),
            "::",
            stringify!(l_start)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock>())).l_len as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(flock),
            "::",
            stringify!(l_len)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock>())).l_pid as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(flock),
            "::",
            stringify!(l_pid)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct flock64 {
    pub l_type: ::std::os::raw::c_short,
    pub l_whence: ::std::os::raw::c_short,
    pub l_start: __kernel_loff_t,
    pub l_len: __kernel_loff_t,
    pub l_pid: __kernel_pid_t,
}
#[test]
fn bindgen_test_layout_flock64() {
    assert_eq!(
        ::std::mem::size_of::<flock64>(),
        24usize,
        concat!("Size of: ", stringify!(flock64))
    );
    assert_eq!(
        ::std::mem::align_of::<flock64>(),
        4usize,
        concat!("Alignment of ", stringify!(flock64))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock64>())).l_type as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(flock64),
            "::",
            stringify!(l_type)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock64>())).l_whence as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(flock64),
            "::",
            stringify!(l_whence)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock64>())).l_start as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(flock64),
            "::",
            stringify!(l_start)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock64>())).l_len as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(flock64),
            "::",
            stringify!(l_len)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<flock64>())).l_pid as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(flock64),
            "::",
            stringify!(l_pid)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iovec {
    pub iov_base: *mut ::std::os::raw::c_void,
    pub iov_len: __kernel_size_t,
}
#[test]
fn bindgen_test_layout_iovec() {
    assert_eq!(
        ::std::mem::size_of::<iovec>(),
        8usize,
        concat!("Size of: ", stringify!(iovec))
    );
    assert_eq!(
        ::std::mem::align_of::<iovec>(),
        4usize,
        concat!("Alignment of ", stringify!(iovec))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<iovec>())).iov_base as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(iovec),
            "::",
            stringify!(iov_base)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<iovec>())).iov_len as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(iovec),
            "::",
            stringify!(iov_len)
        )
    );
}
pub type sa_family_t = ::std::os::raw::c_ushort;
pub const SHUT_RD: _bindgen_ty_26 = 0;
pub const SHUT_WR: _bindgen_ty_26 = 1;
pub const SHUT_RDWR: _bindgen_ty_26 = 2;
pub type _bindgen_ty_26 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sockaddr {
    pub sa_family: sa_family_t,
    pub sa_data: [::std::os::raw::c_char; 14usize],
}
#[test]
fn bindgen_test_layout_sockaddr() {
    assert_eq!(
        ::std::mem::size_of::<sockaddr>(),
        16usize,
        concat!("Size of: ", stringify!(sockaddr))
    );
    assert_eq!(
        ::std::mem::align_of::<sockaddr>(),
        2usize,
        concat!("Alignment of ", stringify!(sockaddr))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_family as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sockaddr),
            "::",
            stringify!(sa_family)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_data as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(sockaddr),
            "::",
            stringify!(sa_data)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct linger {
    pub l_onoff: ::std::os::raw::c_int,
    pub l_linger: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_linger() {
    assert_eq!(
        ::std::mem::size_of::<linger>(),
        8usize,
        concat!("Size of: ", stringify!(linger))
    );
    assert_eq!(
        ::std::mem::align_of::<linger>(),
        4usize,
        concat!("Alignment of ", stringify!(linger))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<linger>())).l_onoff as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(linger),
            "::",
            stringify!(l_onoff)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<linger>())).l_linger as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(linger),
            "::",
            stringify!(l_linger)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct msghdr {
    pub msg_name: *mut ::std::os::raw::c_void,
    pub msg_namelen: socklen_t,
    pub msg_iov: *mut iovec,
    pub msg_iovlen: size_t,
    pub msg_control: *mut ::std::os::raw::c_void,
    pub msg_controllen: size_t,
    pub msg_flags: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_msghdr() {
    assert_eq!(
        ::std::mem::size_of::<msghdr>(),
        28usize,
        concat!("Size of: ", stringify!(msghdr))
    );
    assert_eq!(
        ::std::mem::align_of::<msghdr>(),
        4usize,
        concat!("Alignment of ", stringify!(msghdr))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(msghdr),
            "::",
            stringify!(msg_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_namelen as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(msghdr),
            "::",
            stringify!(msg_namelen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iov as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(msghdr),
            "::",
            stringify!(msg_iov)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iovlen as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(msghdr),
            "::",
            stringify!(msg_iovlen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_control as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(msghdr),
            "::",
            stringify!(msg_control)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_controllen as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(msghdr),
            "::",
            stringify!(msg_controllen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_flags as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(msghdr),
            "::",
            stringify!(msg_flags)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct mmsghdr {
    pub msg_hdr: msghdr,
    pub msg_len: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout_mmsghdr() {
    assert_eq!(
        ::std::mem::size_of::<mmsghdr>(),
        32usize,
        concat!("Size of: ", stringify!(mmsghdr))
    );
    assert_eq!(
        ::std::mem::align_of::<mmsghdr>(),
        4usize,
        concat!("Alignment of ", stringify!(mmsghdr))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_hdr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(mmsghdr),
            "::",
            stringify!(msg_hdr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_len as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(mmsghdr),
            "::",
            stringify!(msg_len)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cmsghdr {
    pub cmsg_len: size_t,
    pub cmsg_level: ::std::os::raw::c_int,
    pub cmsg_type: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_cmsghdr() {
    assert_eq!(
        ::std::mem::size_of::<cmsghdr>(),
        12usize,
        concat!("Size of: ", stringify!(cmsghdr))
    );
    assert_eq!(
        ::std::mem::align_of::<cmsghdr>(),
        4usize,
        concat!("Alignment of ", stringify!(cmsghdr))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_len as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(cmsghdr),
            "::",
            stringify!(cmsg_len)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_level as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(cmsghdr),
            "::",
            stringify!(cmsg_level)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_type as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(cmsghdr),
            "::",
            stringify!(cmsg_type)
        )
    );
}
extern "C" {
    pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ucred {
    pub pid: pid_t,
    pub uid: uid_t,
    pub gid: gid_t,
}
#[test]
fn bindgen_test_layout_ucred() {
    assert_eq!(
        ::std::mem::size_of::<ucred>(),
        12usize,
        concat!("Size of: ", stringify!(ucred))
    );
    assert_eq!(
        ::std::mem::align_of::<ucred>(),
        4usize,
        concat!("Alignment of ", stringify!(ucred))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ucred>())).pid as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ucred),
            "::",
            stringify!(pid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ucred>())).uid as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ucred),
            "::",
            stringify!(uid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ucred>())).gid as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ucred),
            "::",
            stringify!(gid)
        )
    );
}
extern "C" {
    pub fn accept(
        __fd: ::std::os::raw::c_int,
        __addr: *mut sockaddr,
        __addr_length: *mut socklen_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn accept4(
        __fd: ::std::os::raw::c_int,
        __addr: *mut sockaddr,
        __addr_length: *mut socklen_t,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn bind(
        __fd: ::std::os::raw::c_int,
        __addr: *const sockaddr,
        __addr_length: socklen_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn connect(
        __fd: ::std::os::raw::c_int,
        __addr: *const sockaddr,
        __addr_length: socklen_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getpeername(
        __fd: ::std::os::raw::c_int,
        __addr: *mut sockaddr,
        __addr_length: *mut socklen_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getsockname(
        __fd: ::std::os::raw::c_int,
        __addr: *mut sockaddr,
        __addr_length: *mut socklen_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getsockopt(
        __fd: ::std::os::raw::c_int,
        __level: ::std::os::raw::c_int,
        __option: ::std::os::raw::c_int,
        __value: *mut ::std::os::raw::c_void,
        __value_length: *mut socklen_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn listen(
        __fd: ::std::os::raw::c_int,
        __backlog: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn recvmmsg(
        __fd: ::std::os::raw::c_int,
        __msgs: *mut mmsghdr,
        __msg_count: ::std::os::raw::c_uint,
        __flags: ::std::os::raw::c_int,
        __timeout: *const timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn recvmsg(
        __fd: ::std::os::raw::c_int,
        __msg: *mut msghdr,
        __flags: ::std::os::raw::c_int,
    ) -> ssize_t;
}
extern "C" {
    pub fn sendmmsg(
        __fd: ::std::os::raw::c_int,
        __msgs: *const mmsghdr,
        __msg_count: ::std::os::raw::c_uint,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sendmsg(
        __fd: ::std::os::raw::c_int,
        __msg: *const msghdr,
        __flags: ::std::os::raw::c_int,
    ) -> ssize_t;
}
extern "C" {
    pub fn setsockopt(
        __fd: ::std::os::raw::c_int,
        __level: ::std::os::raw::c_int,
        __option: ::std::os::raw::c_int,
        __value: *const ::std::os::raw::c_void,
        __value_length: socklen_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn shutdown(
        __fd: ::std::os::raw::c_int,
        __how: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn socket(
        __af: ::std::os::raw::c_int,
        __type: ::std::os::raw::c_int,
        __protocol: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn socketpair(
        __af: ::std::os::raw::c_int,
        __type: ::std::os::raw::c_int,
        __protocol: ::std::os::raw::c_int,
        __fds: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn recv(
        __fd: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_void,
        __n: size_t,
        __flags: ::std::os::raw::c_int,
    ) -> ssize_t;
}
extern "C" {
    pub fn send(
        __fd: ::std::os::raw::c_int,
        __buf: *const ::std::os::raw::c_void,
        __n: size_t,
        __flags: ::std::os::raw::c_int,
    ) -> ssize_t;
}
extern "C" {
    pub fn sendto(
        __fd: ::std::os::raw::c_int,
        __buf: *const ::std::os::raw::c_void,
        __n: size_t,
        __flags: ::std::os::raw::c_int,
        __dst_addr: *const sockaddr,
        __dst_addr_length: socklen_t,
    ) -> ssize_t;
}
extern "C" {
    pub fn recvfrom(
        __fd: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_void,
        __n: size_t,
        __flags: ::std::os::raw::c_int,
        __src_addr: *mut sockaddr,
        __src_addr_length: *mut socklen_t,
    ) -> ssize_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct hostent {
    pub h_name: *mut ::std::os::raw::c_char,
    pub h_aliases: *mut *mut ::std::os::raw::c_char,
    pub h_addrtype: ::std::os::raw::c_int,
    pub h_length: ::std::os::raw::c_int,
    pub h_addr_list: *mut *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_hostent() {
    assert_eq!(
        ::std::mem::size_of::<hostent>(),
        20usize,
        concat!("Size of: ", stringify!(hostent))
    );
    assert_eq!(
        ::std::mem::align_of::<hostent>(),
        4usize,
        concat!("Alignment of ", stringify!(hostent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<hostent>())).h_name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(hostent),
            "::",
            stringify!(h_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<hostent>())).h_aliases as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(hostent),
            "::",
            stringify!(h_aliases)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<hostent>())).h_addrtype as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(hostent),
            "::",
            stringify!(h_addrtype)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<hostent>())).h_length as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(hostent),
            "::",
            stringify!(h_length)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<hostent>())).h_addr_list as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(hostent),
            "::",
            stringify!(h_addr_list)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct netent {
    pub n_name: *mut ::std::os::raw::c_char,
    pub n_aliases: *mut *mut ::std::os::raw::c_char,
    pub n_addrtype: ::std::os::raw::c_int,
    pub n_net: u32,
}
#[test]
fn bindgen_test_layout_netent() {
    assert_eq!(
        ::std::mem::size_of::<netent>(),
        16usize,
        concat!("Size of: ", stringify!(netent))
    );
    assert_eq!(
        ::std::mem::align_of::<netent>(),
        4usize,
        concat!("Alignment of ", stringify!(netent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<netent>())).n_name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(netent),
            "::",
            stringify!(n_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<netent>())).n_aliases as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(netent),
            "::",
            stringify!(n_aliases)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<netent>())).n_addrtype as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(netent),
            "::",
            stringify!(n_addrtype)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<netent>())).n_net as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(netent),
            "::",
            stringify!(n_net)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct servent {
    pub s_name: *mut ::std::os::raw::c_char,
    pub s_aliases: *mut *mut ::std::os::raw::c_char,
    pub s_port: ::std::os::raw::c_int,
    pub s_proto: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_servent() {
    assert_eq!(
        ::std::mem::size_of::<servent>(),
        16usize,
        concat!("Size of: ", stringify!(servent))
    );
    assert_eq!(
        ::std::mem::align_of::<servent>(),
        4usize,
        concat!("Alignment of ", stringify!(servent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<servent>())).s_name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(servent),
            "::",
            stringify!(s_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<servent>())).s_aliases as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(servent),
            "::",
            stringify!(s_aliases)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<servent>())).s_port as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(servent),
            "::",
            stringify!(s_port)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<servent>())).s_proto as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(servent),
            "::",
            stringify!(s_proto)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct protoent {
    pub p_name: *mut ::std::os::raw::c_char,
    pub p_aliases: *mut *mut ::std::os::raw::c_char,
    pub p_proto: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_protoent() {
    assert_eq!(
        ::std::mem::size_of::<protoent>(),
        12usize,
        concat!("Size of: ", stringify!(protoent))
    );
    assert_eq!(
        ::std::mem::align_of::<protoent>(),
        4usize,
        concat!("Alignment of ", stringify!(protoent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<protoent>())).p_name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(protoent),
            "::",
            stringify!(p_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<protoent>())).p_aliases as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(protoent),
            "::",
            stringify!(p_aliases)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<protoent>())).p_proto as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(protoent),
            "::",
            stringify!(p_proto)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct addrinfo {
    pub ai_flags: ::std::os::raw::c_int,
    pub ai_family: ::std::os::raw::c_int,
    pub ai_socktype: ::std::os::raw::c_int,
    pub ai_protocol: ::std::os::raw::c_int,
    pub ai_addrlen: socklen_t,
    pub ai_canonname: *mut ::std::os::raw::c_char,
    pub ai_addr: *mut sockaddr,
    pub ai_next: *mut addrinfo,
}
#[test]
fn bindgen_test_layout_addrinfo() {
    assert_eq!(
        ::std::mem::size_of::<addrinfo>(),
        32usize,
        concat!("Size of: ", stringify!(addrinfo))
    );
    assert_eq!(
        ::std::mem::align_of::<addrinfo>(),
        4usize,
        concat!("Alignment of ", stringify!(addrinfo))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(addrinfo),
            "::",
            stringify!(ai_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_family as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(addrinfo),
            "::",
            stringify!(ai_family)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_socktype as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(addrinfo),
            "::",
            stringify!(ai_socktype)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_protocol as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(addrinfo),
            "::",
            stringify!(ai_protocol)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addrlen as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(addrinfo),
            "::",
            stringify!(ai_addrlen)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_canonname as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(addrinfo),
            "::",
            stringify!(ai_canonname)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addr as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(addrinfo),
            "::",
            stringify!(ai_addr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_next as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(addrinfo),
            "::",
            stringify!(ai_next)
        )
    );
}
extern "C" {
    pub fn getaddrinfo(
        __node: *const ::std::os::raw::c_char,
        __service: *const ::std::os::raw::c_char,
        __hints: *const addrinfo,
        __result: *mut *mut addrinfo,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn freeaddrinfo(__ptr: *mut addrinfo);
}
extern "C" {
    pub fn getnameinfo(
        __sa: *const sockaddr,
        __sa_length: socklen_t,
        __host: *mut ::std::os::raw::c_char,
        __host_length: size_t,
        __service: *mut ::std::os::raw::c_char,
        __service_length: size_t,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
}
extern "C" {
    pub fn herror(__s: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn gethostbyaddr(
        __addr: *const ::std::os::raw::c_void,
        __length: socklen_t,
        __type: ::std::os::raw::c_int,
    ) -> *mut hostent;
}
extern "C" {
    pub fn gethostbyaddr_r(
        __addr: *const ::std::os::raw::c_void,
        __length: socklen_t,
        __type: ::std::os::raw::c_int,
        __ret: *mut hostent,
        __buf: *mut ::std::os::raw::c_char,
        __buf_size: size_t,
        __result: *mut *mut hostent,
        __h_errno_ptr: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
}
extern "C" {
    pub fn gethostbyname_r(
        __name: *const ::std::os::raw::c_char,
        __ret: *mut hostent,
        __buf: *mut ::std::os::raw::c_char,
        __buf_size: size_t,
        __result: *mut *mut hostent,
        __h_errno_ptr: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gethostbyname2(
        __name: *const ::std::os::raw::c_char,
        __af: ::std::os::raw::c_int,
    ) -> *mut hostent;
}
extern "C" {
    pub fn gethostbyname2_r(
        __name: *const ::std::os::raw::c_char,
        __af: ::std::os::raw::c_int,
        __ret: *mut hostent,
        __buf: *mut ::std::os::raw::c_char,
        __buf_size: size_t,
        __result: *mut *mut hostent,
        __h_errno_ptr: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn endhostent();
}
extern "C" {
    pub fn gethostent() -> *mut hostent;
}
extern "C" {
    pub fn sethostent(__stay_open: ::std::os::raw::c_int);
}
extern "C" {
    pub fn endnetent();
}
extern "C" {
    pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
}
extern "C" {
    pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
}
extern "C" {
    pub fn getnetent() -> *mut netent;
}
extern "C" {
    pub fn setnetent(__stay_open: ::std::os::raw::c_int);
}
extern "C" {
    pub fn endprotoent();
}
extern "C" {
    pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
}
extern "C" {
    pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
}
extern "C" {
    pub fn getprotoent() -> *mut protoent;
}
extern "C" {
    pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
}
extern "C" {
    pub fn endservent();
}
extern "C" {
    pub fn getservbyname(
        __name: *const ::std::os::raw::c_char,
        __proto: *const ::std::os::raw::c_char,
    ) -> *mut servent;
}
extern "C" {
    pub fn getservbyport(
        __port_in_network_order: ::std::os::raw::c_int,
        __proto: *const ::std::os::raw::c_char,
    ) -> *mut servent;
}
extern "C" {
    pub fn getservent() -> *mut servent;
}
extern "C" {
    pub fn setservent(__stay_open: ::std::os::raw::c_int);
}
pub type fpos_t = off_t;
pub type fpos64_t = off64_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sFILE {
    _unused: [u8; 0],
}
pub type FILE = __sFILE;
extern "C" {
    pub static mut stdin: *mut FILE;
}
extern "C" {
    pub static mut stdout: *mut FILE;
}
extern "C" {
    pub static mut stderr: *mut FILE;
}
extern "C" {
    pub fn clearerr(__fp: *mut FILE);
}
extern "C" {
    pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fgets(
        __buf: *mut ::std::os::raw::c_char,
        __size: ::std::os::raw::c_int,
        __fp: *mut FILE,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fprintf(
        __fp: *mut FILE,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fread(
        __buf: *mut ::std::os::raw::c_void,
        __size: ::std::os::raw::c_uint,
        __count: ::std::os::raw::c_uint,
        __fp: *mut FILE,
    ) -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn fscanf(
        __fp: *mut FILE,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fwrite(
        __buf: *const ::std::os::raw::c_void,
        __size: ::std::os::raw::c_uint,
        __count: ::std::os::raw::c_uint,
        __fp: *mut FILE,
    ) -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getchar() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getdelim(
        __line_ptr: *mut *mut ::std::os::raw::c_char,
        __line_length_ptr: *mut size_t,
        __delimiter: ::std::os::raw::c_int,
        __fp: *mut FILE,
    ) -> ssize_t;
}
extern "C" {
    pub fn getline(
        __line_ptr: *mut *mut ::std::os::raw::c_char,
        __line_length_ptr: *mut size_t,
        __fp: *mut FILE,
    ) -> ssize_t;
}
extern "C" {
    pub fn perror(__msg: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn rewind(__fp: *mut FILE);
}
extern "C" {
    pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
}
extern "C" {
    pub fn setvbuf(
        __fp: *mut FILE,
        __buf: *mut ::std::os::raw::c_char,
        __mode: ::std::os::raw::c_int,
        __size: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sscanf(
        __s: *const ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vfprintf(
        __fp: *mut FILE,
        __fmt: *const ::std::os::raw::c_char,
        __args: __builtin_va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vprintf(
        __fp: *const ::std::os::raw::c_char,
        __args: __builtin_va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn dprintf(
        __fd: ::std::os::raw::c_int,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vdprintf(
        __fd: ::std::os::raw::c_int,
        __fmt: *const ::std::os::raw::c_char,
        __args: va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sprintf(
        __s: *mut ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vsprintf(
        __s: *mut ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        __args: __builtin_va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn tempnam(
        __dir: *const ::std::os::raw::c_char,
        __prefix: *const ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn rename(
        __old_path: *const ::std::os::raw::c_char,
        __new_path: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn renameat(
        __old_dir_fd: ::std::os::raw::c_int,
        __old_path: *const ::std::os::raw::c_char,
        __new_dir_fd: ::std::os::raw::c_int,
        __new_path: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fseek(
        __fp: *mut FILE,
        __offset: ::std::os::raw::c_long,
        __whence: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fseeko(
        __fp: *mut FILE,
        __offset: off_t,
        __whence: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ftello(__fp: *mut FILE) -> off_t;
}
extern "C" {
    pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fseeko64(
        __fp: *mut FILE,
        __offset: off64_t,
        __whence: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ftello64(__fp: *mut FILE) -> off64_t;
}
extern "C" {
    pub fn fopen(
        __path: *const ::std::os::raw::c_char,
        __mode: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn fopen64(
        __path: *const ::std::os::raw::c_char,
        __mode: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn freopen(
        __path: *const ::std::os::raw::c_char,
        __mode: *const ::std::os::raw::c_char,
        __fp: *mut FILE,
    ) -> *mut FILE;
}
extern "C" {
    pub fn freopen64(
        __path: *const ::std::os::raw::c_char,
        __mode: *const ::std::os::raw::c_char,
        __fp: *mut FILE,
    ) -> *mut FILE;
}
extern "C" {
    pub fn tmpfile() -> *mut FILE;
}
extern "C" {
    pub fn tmpfile64() -> *mut FILE;
}
extern "C" {
    pub fn snprintf(
        __buf: *mut ::std::os::raw::c_char,
        __size: ::std::os::raw::c_uint,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vfscanf(
        __fp: *mut FILE,
        __fmt: *const ::std::os::raw::c_char,
        __args: __builtin_va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vscanf(
        __fmt: *const ::std::os::raw::c_char,
        __args: __builtin_va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vsnprintf(
        __buf: *mut ::std::os::raw::c_char,
        __size: ::std::os::raw::c_uint,
        __fmt: *const ::std::os::raw::c_char,
        __args: __builtin_va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vsscanf(
        __s: *const ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        __args: __builtin_va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
}
extern "C" {
    pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn popen(
        __command: *const ::std::os::raw::c_char,
        __mode: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn flockfile(__fp: *mut FILE);
}
extern "C" {
    pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn funlockfile(__fp: *mut FILE);
}
extern "C" {
    pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fmemopen(
        __buf: *mut ::std::os::raw::c_void,
        __size: size_t,
        __mode: *const ::std::os::raw::c_char,
    ) -> *mut FILE;
}
extern "C" {
    pub fn open_memstream(
        __ptr: *mut *mut ::std::os::raw::c_char,
        __size_ptr: *mut size_t,
    ) -> *mut FILE;
}
extern "C" {
    pub fn asprintf(
        __s_ptr: *mut *mut ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        ...
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut size_t) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setbuffer(
        __fp: *mut FILE,
        __buf: *mut ::std::os::raw::c_char,
        __size: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vasprintf(
        __s_ptr: *mut *mut ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        __args: va_list,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clearerr_unlocked(__fp: *mut FILE);
}
extern "C" {
    pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn malloc(__byte_count: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn calloc(
        __item_count: ::std::os::raw::c_uint,
        __item_size: ::std::os::raw::c_uint,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn realloc(
        __ptr: *mut ::std::os::raw::c_void,
        __byte_count: ::std::os::raw::c_uint,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn reallocarray(
        __ptr: *mut ::std::os::raw::c_void,
        __item_count: size_t,
        __item_size: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn free(__ptr: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn memalign(__alignment: size_t, __byte_count: size_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> size_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct mallinfo {
    pub arena: size_t,
    pub ordblks: size_t,
    pub smblks: size_t,
    pub hblks: size_t,
    pub hblkhd: size_t,
    pub usmblks: size_t,
    pub fsmblks: size_t,
    pub uordblks: size_t,
    pub fordblks: size_t,
    pub keepcost: size_t,
}
#[test]
fn bindgen_test_layout_mallinfo() {
    assert_eq!(
        ::std::mem::size_of::<mallinfo>(),
        40usize,
        concat!("Size of: ", stringify!(mallinfo))
    );
    assert_eq!(
        ::std::mem::align_of::<mallinfo>(),
        4usize,
        concat!("Alignment of ", stringify!(mallinfo))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).arena as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(arena)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).ordblks as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(ordblks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).smblks as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(smblks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).hblks as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(hblks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).hblkhd as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(hblkhd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).usmblks as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(usmblks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).fsmblks as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(fsmblks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).uordblks as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(uordblks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).fordblks as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(fordblks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mallinfo>())).keepcost as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(mallinfo),
            "::",
            stringify!(keepcost)
        )
    );
}
extern "C" {
    pub fn mallinfo() -> mallinfo;
}
extern "C" {
    pub fn malloc_info(
        __must_be_zero: ::std::os::raw::c_int,
        __fp: *mut FILE,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mallopt(
        __option: ::std::os::raw::c_int,
        __value: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub static mut __malloc_hook: ::std::option::Option<
        unsafe extern "C" fn(
            __byte_count: size_t,
            __caller: *const ::std::os::raw::c_void,
        ) -> *mut ::std::os::raw::c_void,
    >;
}
extern "C" {
    pub static mut __realloc_hook: ::std::option::Option<
        unsafe extern "C" fn(
            __ptr: *mut ::std::os::raw::c_void,
            __byte_count: size_t,
            __caller: *const ::std::os::raw::c_void,
        ) -> *mut ::std::os::raw::c_void,
    >;
}
extern "C" {
    pub static mut __free_hook: ::std::option::Option<
        unsafe extern "C" fn(
            __ptr: *mut ::std::os::raw::c_void,
            __caller: *const ::std::os::raw::c_void,
        ),
    >;
}
extern "C" {
    pub static mut __memalign_hook: ::std::option::Option<
        unsafe extern "C" fn(
            __alignment: size_t,
            __byte_count: size_t,
            __caller: *const ::std::os::raw::c_void,
        ) -> *mut ::std::os::raw::c_void,
    >;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __locale_t {
    _unused: [u8; 0],
}
pub type locale_t = *mut __locale_t;
extern "C" {
    pub fn abort();
}
extern "C" {
    pub fn exit(__status: ::std::os::raw::c_int);
}
extern "C" {
    pub fn _Exit(__status: ::std::os::raw::c_int);
}
extern "C" {
    pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn at_quick_exit(
        __fn: ::std::option::Option<unsafe extern "C" fn()>,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn quick_exit(__status: ::std::os::raw::c_int);
}
extern "C" {
    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setenv(
        __name: *const ::std::os::raw::c_char,
        __value: *const ::std::os::raw::c_char,
        __overwrite: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clearenv() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn mkostemp64(
        __template: *mut ::std::os::raw::c_char,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkostemp(
        __template: *mut ::std::os::raw::c_char,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkostemps64(
        __template: *mut ::std::os::raw::c_char,
        __suffix_length: ::std::os::raw::c_int,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkostemps(
        __template: *mut ::std::os::raw::c_char,
        __suffix_length: ::std::os::raw::c_int,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkstemps64(
        __template: *mut ::std::os::raw::c_char,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mkstemps(
        __template: *mut ::std::os::raw::c_char,
        __flags: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strtol(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn strtoll(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn strtoul(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn strtoull(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn posix_memalign(
        __memptr: *mut *mut ::std::os::raw::c_void,
        __alignment: size_t,
        __size: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn aligned_alloc(__alignment: size_t, __size: size_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn strtod(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
    ) -> f64;
}
extern "C" {
    pub fn strtoul_l(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
        __l: locale_t,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn realpath(
        __path: *const ::std::os::raw::c_char,
        __resolved: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn bsearch(
        __key: *const ::std::os::raw::c_void,
        __base: *const ::std::os::raw::c_void,
        __nmemb: size_t,
        __size: size_t,
        __comparator: ::std::option::Option<
            unsafe extern "C" fn(
                __lhs: *const ::std::os::raw::c_void,
                __rhs: *const ::std::os::raw::c_void,
            ) -> ::std::os::raw::c_int,
        >,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn qsort(
        __base: *mut ::std::os::raw::c_void,
        __nmemb: size_t,
        __size: size_t,
        __comparator: ::std::option::Option<
            unsafe extern "C" fn(
                __lhs: *const ::std::os::raw::c_void,
                __rhs: *const ::std::os::raw::c_void,
            ) -> ::std::os::raw::c_int,
        >,
    );
}
extern "C" {
    pub fn arc4random() -> u32;
}
extern "C" {
    pub fn arc4random_uniform(__upper_bound: u32) -> u32;
}
extern "C" {
    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: size_t);
}
extern "C" {
    pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn drand48() -> f64;
}
extern "C" {
    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
}
extern "C" {
    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
}
extern "C" {
    pub fn lrand48() -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn mrand48() -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
}
extern "C" {
    pub fn srand48(__seed: ::std::os::raw::c_long);
}
extern "C" {
    pub fn initstate(
        __seed: ::std::os::raw::c_uint,
        __state: *mut ::std::os::raw::c_char,
        __n: size_t,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn getpt() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn ptsname_r(
        __fd: ::std::os::raw::c_int,
        __buf: *mut ::std::os::raw::c_char,
        __n: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getsubopt(
        __option: *mut *mut ::std::os::raw::c_char,
        __tokens: *const *mut ::std::os::raw::c_char,
        __value_ptr: *mut *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct div_t {
    pub quot: ::std::os::raw::c_int,
    pub rem: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_div_t() {
    assert_eq!(
        ::std::mem::size_of::<div_t>(),
        8usize,
        concat!("Size of: ", stringify!(div_t))
    );
    assert_eq!(
        ::std::mem::align_of::<div_t>(),
        4usize,
        concat!("Alignment of ", stringify!(div_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<div_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(div_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<div_t>())).rem as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(div_t),
            "::",
            stringify!(rem)
        )
    );
}
extern "C" {
    pub fn div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ldiv_t {
    pub quot: ::std::os::raw::c_long,
    pub rem: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_ldiv_t() {
    assert_eq!(
        ::std::mem::size_of::<ldiv_t>(),
        8usize,
        concat!("Size of: ", stringify!(ldiv_t))
    );
    assert_eq!(
        ::std::mem::align_of::<ldiv_t>(),
        4usize,
        concat!("Alignment of ", stringify!(ldiv_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ldiv_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ldiv_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ldiv_t>())).rem as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ldiv_t),
            "::",
            stringify!(rem)
        )
    );
}
extern "C" {
    pub fn ldiv(
        __numerator: ::std::os::raw::c_long,
        __denominator: ::std::os::raw::c_long,
    ) -> ldiv_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct lldiv_t {
    pub quot: ::std::os::raw::c_longlong,
    pub rem: ::std::os::raw::c_longlong,
}
#[test]
fn bindgen_test_layout_lldiv_t() {
    assert_eq!(
        ::std::mem::size_of::<lldiv_t>(),
        16usize,
        concat!("Size of: ", stringify!(lldiv_t))
    );
    assert_eq!(
        ::std::mem::align_of::<lldiv_t>(),
        4usize,
        concat!("Alignment of ", stringify!(lldiv_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<lldiv_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(lldiv_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<lldiv_t>())).rem as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(lldiv_t),
            "::",
            stringify!(rem)
        )
    );
}
extern "C" {
    pub fn lldiv(
        __numerator: ::std::os::raw::c_longlong,
        __denominator: ::std::os::raw::c_longlong,
    ) -> lldiv_t;
}
extern "C" {
    pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn getprogname() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn setprogname(__name: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: size_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mbstowcs(
        __dst: *mut wchar_t,
        __src: *const ::std::os::raw::c_char,
        __n: size_t,
    ) -> size_t;
}
extern "C" {
    pub fn mbtowc(
        __wc_ptr: *mut wchar_t,
        __s: *const ::std::os::raw::c_char,
        __n: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn wcstombs(
        __dst: *mut ::std::os::raw::c_char,
        __src: *const wchar_t,
        __n: size_t,
    ) -> size_t;
}
extern "C" {
    pub fn __ctype_get_mb_cur_max() -> size_t;
}
extern "C" {
    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn strtof(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
    ) -> f32;
}
extern "C" {
    pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
}
extern "C" {
    pub fn rand() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn srand(__seed: ::std::os::raw::c_uint);
}
extern "C" {
    pub fn random() -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn srandom(__seed: ::std::os::raw::c_uint);
}
extern "C" {
    pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strtoll_l(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
        __l: locale_t,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn strtoull_l(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __base: ::std::os::raw::c_int,
        __l: locale_t,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn strtold_l(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __l: locale_t,
    ) -> f64;
}
extern "C" {
    pub fn strtod_l(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __l: locale_t,
    ) -> f64;
}
extern "C" {
    pub fn strtof_l(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        __l: locale_t,
    ) -> f32;
}
extern "C" {
    pub fn strtol_l(
        __s: *const ::std::os::raw::c_char,
        __end_ptr: *mut *mut ::std::os::raw::c_char,
        arg1: ::std::os::raw::c_int,
        __l: locale_t,
    ) -> ::std::os::raw::c_long;
}
pub type net_handle_t = u64;
extern "C" {
    pub fn android_setsocknetwork(
        network: net_handle_t,
        fd: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn android_getaddrinfofornetwork(
        network: net_handle_t,
        node: *const ::std::os::raw::c_char,
        service: *const ::std::os::raw::c_char,
        hints: *const addrinfo,
        res: *mut *mut addrinfo,
    ) -> ::std::os::raw::c_int;
}
pub const ResNsendFlags_ANDROID_RESOLV_NO_RETRY: ResNsendFlags = 1;
pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = 2;
pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = 4;
pub type ResNsendFlags = u32;
extern "C" {
    pub fn android_res_nquery(
        network: net_handle_t,
        dname: *const ::std::os::raw::c_char,
        ns_class: ::std::os::raw::c_int,
        ns_type: ::std::os::raw::c_int,
        flags: u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn android_res_nsend(
        network: net_handle_t,
        msg: *const u8,
        msglen: size_t,
        flags: u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn android_res_nresult(
        fd: ::std::os::raw::c_int,
        rcode: *mut ::std::os::raw::c_int,
        answer: *mut u8,
        anslen: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
}
pub const OperandCode_ANEURALNETWORKS_FLOAT32: OperandCode = 0;
pub const OperandCode_ANEURALNETWORKS_INT32: OperandCode = 1;
pub const OperandCode_ANEURALNETWORKS_UINT32: OperandCode = 2;
pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = 3;
pub const OperandCode_ANEURALNETWORKS_TENSOR_INT32: OperandCode = 4;
pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = 5;
pub const OperandCode_ANEURALNETWORKS_BOOL: OperandCode = 6;
pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = 7;
pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = 8;
pub const OperandCode_ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = 9;
pub const OperandCode_ANEURALNETWORKS_FLOAT16: OperandCode = 10;
pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = 11;
pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = 12;
pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = 13;
pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED: OperandCode = 14;
pub const OperandCode_ANEURALNETWORKS_MODEL: OperandCode = 15;
pub type OperandCode = u32;
pub const OperationCode_ANEURALNETWORKS_ADD: OperationCode = 0;
pub const OperationCode_ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = 1;
pub const OperationCode_ANEURALNETWORKS_CONCATENATION: OperationCode = 2;
pub const OperationCode_ANEURALNETWORKS_CONV_2D: OperationCode = 3;
pub const OperationCode_ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = 4;
pub const OperationCode_ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = 5;
pub const OperationCode_ANEURALNETWORKS_DEQUANTIZE: OperationCode = 6;
pub const OperationCode_ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = 7;
pub const OperationCode_ANEURALNETWORKS_FLOOR: OperationCode = 8;
pub const OperationCode_ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = 9;
pub const OperationCode_ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = 10;
pub const OperationCode_ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = 11;
pub const OperationCode_ANEURALNETWORKS_L2_POOL_2D: OperationCode = 12;
pub const OperationCode_ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = 13;
pub const OperationCode_ANEURALNETWORKS_LOGISTIC: OperationCode = 14;
pub const OperationCode_ANEURALNETWORKS_LSH_PROJECTION: OperationCode = 15;
pub const OperationCode_ANEURALNETWORKS_LSTM: OperationCode = 16;
pub const OperationCode_ANEURALNETWORKS_MAX_POOL_2D: OperationCode = 17;
pub const OperationCode_ANEURALNETWORKS_MUL: OperationCode = 18;
pub const OperationCode_ANEURALNETWORKS_RELU: OperationCode = 19;
pub const OperationCode_ANEURALNETWORKS_RELU1: OperationCode = 20;
pub const OperationCode_ANEURALNETWORKS_RELU6: OperationCode = 21;
pub const OperationCode_ANEURALNETWORKS_RESHAPE: OperationCode = 22;
pub const OperationCode_ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = 23;
pub const OperationCode_ANEURALNETWORKS_RNN: OperationCode = 24;
pub const OperationCode_ANEURALNETWORKS_SOFTMAX: OperationCode = 25;
pub const OperationCode_ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = 26;
pub const OperationCode_ANEURALNETWORKS_SVDF: OperationCode = 27;
pub const OperationCode_ANEURALNETWORKS_TANH: OperationCode = 28;
pub const OperationCode_ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = 29;
pub const OperationCode_ANEURALNETWORKS_DIV: OperationCode = 30;
pub const OperationCode_ANEURALNETWORKS_MEAN: OperationCode = 31;
pub const OperationCode_ANEURALNETWORKS_PAD: OperationCode = 32;
pub const OperationCode_ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = 33;
pub const OperationCode_ANEURALNETWORKS_SQUEEZE: OperationCode = 34;
pub const OperationCode_ANEURALNETWORKS_STRIDED_SLICE: OperationCode = 35;
pub const OperationCode_ANEURALNETWORKS_SUB: OperationCode = 36;
pub const OperationCode_ANEURALNETWORKS_TRANSPOSE: OperationCode = 37;
pub const OperationCode_ANEURALNETWORKS_ABS: OperationCode = 38;
pub const OperationCode_ANEURALNETWORKS_ARGMAX: OperationCode = 39;
pub const OperationCode_ANEURALNETWORKS_ARGMIN: OperationCode = 40;
pub const OperationCode_ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = 41;
pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 42;
pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 43;
pub const OperationCode_ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = 44;
pub const OperationCode_ANEURALNETWORKS_CAST: OperationCode = 45;
pub const OperationCode_ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = 46;
pub const OperationCode_ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = 47;
pub const OperationCode_ANEURALNETWORKS_EQUAL: OperationCode = 48;
pub const OperationCode_ANEURALNETWORKS_EXP: OperationCode = 49;
pub const OperationCode_ANEURALNETWORKS_EXPAND_DIMS: OperationCode = 50;
pub const OperationCode_ANEURALNETWORKS_GATHER: OperationCode = 51;
pub const OperationCode_ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = 52;
pub const OperationCode_ANEURALNETWORKS_GREATER: OperationCode = 53;
pub const OperationCode_ANEURALNETWORKS_GREATER_EQUAL: OperationCode = 54;
pub const OperationCode_ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = 55;
pub const OperationCode_ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = 56;
pub const OperationCode_ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = 57;
pub const OperationCode_ANEURALNETWORKS_LESS: OperationCode = 58;
pub const OperationCode_ANEURALNETWORKS_LESS_EQUAL: OperationCode = 59;
pub const OperationCode_ANEURALNETWORKS_LOG: OperationCode = 60;
pub const OperationCode_ANEURALNETWORKS_LOGICAL_AND: OperationCode = 61;
pub const OperationCode_ANEURALNETWORKS_LOGICAL_NOT: OperationCode = 62;
pub const OperationCode_ANEURALNETWORKS_LOGICAL_OR: OperationCode = 63;
pub const OperationCode_ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = 64;
pub const OperationCode_ANEURALNETWORKS_MAXIMUM: OperationCode = 65;
pub const OperationCode_ANEURALNETWORKS_MINIMUM: OperationCode = 66;
pub const OperationCode_ANEURALNETWORKS_NEG: OperationCode = 67;
pub const OperationCode_ANEURALNETWORKS_NOT_EQUAL: OperationCode = 68;
pub const OperationCode_ANEURALNETWORKS_PAD_V2: OperationCode = 69;
pub const OperationCode_ANEURALNETWORKS_POW: OperationCode = 70;
pub const OperationCode_ANEURALNETWORKS_PRELU: OperationCode = 71;
pub const OperationCode_ANEURALNETWORKS_QUANTIZE: OperationCode = 72;
pub const OperationCode_ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = 73;
pub const OperationCode_ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = 74;
pub const OperationCode_ANEURALNETWORKS_REDUCE_ALL: OperationCode = 75;
pub const OperationCode_ANEURALNETWORKS_REDUCE_ANY: OperationCode = 76;
pub const OperationCode_ANEURALNETWORKS_REDUCE_MAX: OperationCode = 77;
pub const OperationCode_ANEURALNETWORKS_REDUCE_MIN: OperationCode = 78;
pub const OperationCode_ANEURALNETWORKS_REDUCE_PROD: OperationCode = 79;
pub const OperationCode_ANEURALNETWORKS_REDUCE_SUM: OperationCode = 80;
pub const OperationCode_ANEURALNETWORKS_ROI_ALIGN: OperationCode = 81;
pub const OperationCode_ANEURALNETWORKS_ROI_POOLING: OperationCode = 82;
pub const OperationCode_ANEURALNETWORKS_RSQRT: OperationCode = 83;
pub const OperationCode_ANEURALNETWORKS_SELECT: OperationCode = 84;
pub const OperationCode_ANEURALNETWORKS_SIN: OperationCode = 85;
pub const OperationCode_ANEURALNETWORKS_SLICE: OperationCode = 86;
pub const OperationCode_ANEURALNETWORKS_SPLIT: OperationCode = 87;
pub const OperationCode_ANEURALNETWORKS_SQRT: OperationCode = 88;
pub const OperationCode_ANEURALNETWORKS_TILE: OperationCode = 89;
pub const OperationCode_ANEURALNETWORKS_TOPK_V2: OperationCode = 90;
pub const OperationCode_ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = 91;
pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 92;
pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 93;
pub const OperationCode_ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = 94;
pub const OperationCode_ANEURALNETWORKS_QUANTIZED_LSTM: OperationCode = 95;
pub const OperationCode_ANEURALNETWORKS_IF: OperationCode = 96;
pub const OperationCode_ANEURALNETWORKS_WHILE: OperationCode = 97;
pub const OperationCode_ANEURALNETWORKS_ELU: OperationCode = 98;
pub const OperationCode_ANEURALNETWORKS_HARD_SWISH: OperationCode = 99;
pub const OperationCode_ANEURALNETWORKS_FILL: OperationCode = 100;
pub const OperationCode_ANEURALNETWORKS_RANK: OperationCode = 101;
pub type OperationCode = u32;
pub const FuseCode_ANEURALNETWORKS_FUSED_NONE: FuseCode = 0;
pub const FuseCode_ANEURALNETWORKS_FUSED_RELU: FuseCode = 1;
pub const FuseCode_ANEURALNETWORKS_FUSED_RELU1: FuseCode = 2;
pub const FuseCode_ANEURALNETWORKS_FUSED_RELU6: FuseCode = 3;
pub type FuseCode = u32;
pub const PaddingCode_ANEURALNETWORKS_PADDING_SAME: PaddingCode = 1;
pub const PaddingCode_ANEURALNETWORKS_PADDING_VALID: PaddingCode = 2;
pub type PaddingCode = u32;
pub const PreferenceCode_ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = 0;
pub const PreferenceCode_ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = 1;
pub const PreferenceCode_ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = 2;
pub type PreferenceCode = u32;
pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = 0;
pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = 1;
pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = 2;
pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = 3;
pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = 4;
pub type DeviceTypeCode = u32;
pub const ResultCode_ANEURALNETWORKS_NO_ERROR: ResultCode = 0;
pub const ResultCode_ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = 1;
pub const ResultCode_ANEURALNETWORKS_INCOMPLETE: ResultCode = 2;
pub const ResultCode_ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = 3;
pub const ResultCode_ANEURALNETWORKS_BAD_DATA: ResultCode = 4;
pub const ResultCode_ANEURALNETWORKS_OP_FAILED: ResultCode = 5;
pub const ResultCode_ANEURALNETWORKS_BAD_STATE: ResultCode = 6;
pub const ResultCode_ANEURALNETWORKS_UNMAPPABLE: ResultCode = 7;
pub const ResultCode_ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = 8;
pub const ResultCode_ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = 9;
pub const ResultCode_ANEURALNETWORKS_MISSED_DEADLINE_TRANSIENT: ResultCode = 10;
pub const ResultCode_ANEURALNETWORKS_MISSED_DEADLINE_PERSISTENT: ResultCode = 11;
pub const ResultCode_ANEURALNETWORKS_RESOURCE_EXHAUSTED_TRANSIENT: ResultCode = 12;
pub const ResultCode_ANEURALNETWORKS_RESOURCE_EXHAUSTED_PERSISTENT: ResultCode = 13;
pub const ResultCode_ANEURALNETWORKS_DEAD_OBJECT: ResultCode = 14;
pub type ResultCode = u32;
pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: _bindgen_ty_27 = 128;
pub type _bindgen_ty_27 = u32;
pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: _bindgen_ty_28 = 32;
pub type _bindgen_ty_28 = u32;
pub const DurationCode_ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = 0;
pub const DurationCode_ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = 1;
pub const DurationCode_ANEURALNETWORKS_FENCED_DURATION_ON_HARDWARE: DurationCode = 2;
pub const DurationCode_ANEURALNETWORKS_FENCED_DURATION_IN_DRIVER: DurationCode = 3;
pub type DurationCode = u32;
pub const PriorityCode_ANEURALNETWORKS_PRIORITY_LOW: PriorityCode = 90;
pub const PriorityCode_ANEURALNETWORKS_PRIORITY_MEDIUM: PriorityCode = 100;
pub const PriorityCode_ANEURALNETWORKS_PRIORITY_HIGH: PriorityCode = 110;
pub const PriorityCode_ANEURALNETWORKS_PRIORITY_DEFAULT: PriorityCode = 100;
pub type PriorityCode = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksMemory {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksModel {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksCompilation {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksExecution {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksSymmPerChannelQuantParams {
    pub channelDim: u32,
    pub scaleCount: u32,
    pub scales: *const f32,
}
#[test]
fn bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams() {
    assert_eq!(
        ::std::mem::size_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
        12usize,
        concat!(
            "Size of: ",
            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).channelDim
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
            "::",
            stringify!(channelDim)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scaleCount
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
            "::",
            stringify!(scaleCount)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scales as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
            "::",
            stringify!(scales)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksBurst {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksOperandType {
    pub type_: i32,
    pub dimensionCount: u32,
    pub dimensions: *const u32,
    pub scale: f32,
    pub zeroPoint: i32,
}
#[test]
fn bindgen_test_layout_ANeuralNetworksOperandType() {
    assert_eq!(
        ::std::mem::size_of::<ANeuralNetworksOperandType>(),
        20usize,
        concat!("Size of: ", stringify!(ANeuralNetworksOperandType))
    );
    assert_eq!(
        ::std::mem::align_of::<ANeuralNetworksOperandType>(),
        4usize,
        concat!("Alignment of ", stringify!(ANeuralNetworksOperandType))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).type_ as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ANeuralNetworksOperandType),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensionCount as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ANeuralNetworksOperandType),
            "::",
            stringify!(dimensionCount)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensions as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ANeuralNetworksOperandType),
            "::",
            stringify!(dimensions)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).scale as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ANeuralNetworksOperandType),
            "::",
            stringify!(scale)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).zeroPoint as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ANeuralNetworksOperandType),
            "::",
            stringify!(zeroPoint)
        )
    );
}
pub type ANeuralNetworksOperationType = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksEvent {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksDevice {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANeuralNetworksMemoryDesc {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ANeuralNetworksMemoryDesc_create(
        desc: *mut *mut ANeuralNetworksMemoryDesc,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksMemoryDesc_free(desc: *mut ANeuralNetworksMemoryDesc);
}
extern "C" {
    pub fn ANeuralNetworksMemoryDesc_addInputRole(
        desc: *mut ANeuralNetworksMemoryDesc,
        compilation: *const ANeuralNetworksCompilation,
        index: u32,
        frequency: f32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksMemoryDesc_addOutputRole(
        desc: *mut ANeuralNetworksMemoryDesc,
        compilation: *const ANeuralNetworksCompilation,
        index: u32,
        frequency: f32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksMemoryDesc_setDimensions(
        desc: *mut ANeuralNetworksMemoryDesc,
        rank: u32,
        dimensions: *const u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksMemoryDesc_finish(
        desc: *mut ANeuralNetworksMemoryDesc,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksMemory_createFromDesc(
        desc: *const ANeuralNetworksMemoryDesc,
        memory: *mut *mut ANeuralNetworksMemory,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksMemory_copy(
        src: *const ANeuralNetworksMemory,
        dst: *const ANeuralNetworksMemory,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworks_getDevice(
        devIndex: u32,
        device: *mut *mut ANeuralNetworksDevice,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksDevice_getName(
        device: *const ANeuralNetworksDevice,
        name: *mut *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksDevice_getType(
        device: *const ANeuralNetworksDevice,
        type_: *mut i32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksDevice_getVersion(
        device: *const ANeuralNetworksDevice,
        version: *mut *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksDevice_getFeatureLevel(
        device: *const ANeuralNetworksDevice,
        featureLevel: *mut i64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksDevice_wait(
        device: *const ANeuralNetworksDevice,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_getSupportedOperationsForDevices(
        model: *const ANeuralNetworksModel,
        devices: *const *const ANeuralNetworksDevice,
        numDevices: u32,
        supportedOps: *mut bool,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksCompilation_createForDevices(
        model: *mut ANeuralNetworksModel,
        devices: *const *const ANeuralNetworksDevice,
        numDevices: u32,
        compilation: *mut *mut ANeuralNetworksCompilation,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksCompilation_setCaching(
        compilation: *mut ANeuralNetworksCompilation,
        cacheDir: *const ::std::os::raw::c_char,
        token: *const u8,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_compute(
        execution: *mut ANeuralNetworksExecution,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_getOutputOperandRank(
        execution: *mut ANeuralNetworksExecution,
        index: i32,
        rank: *mut u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
        execution: *mut ANeuralNetworksExecution,
        index: i32,
        dimensions: *mut u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksBurst_create(
        compilation: *mut ANeuralNetworksCompilation,
        burst: *mut *mut ANeuralNetworksBurst,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
}
extern "C" {
    pub fn ANeuralNetworksExecution_burstCompute(
        execution: *mut ANeuralNetworksExecution,
        burst: *mut ANeuralNetworksBurst,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
        ahwb: *const AHardwareBuffer,
        memory: *mut *mut ANeuralNetworksMemory,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_setMeasureTiming(
        execution: *mut ANeuralNetworksExecution,
        measure: bool,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_getDuration(
        execution: *const ANeuralNetworksExecution,
        durationCode: i32,
        duration: *mut u64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksMemory_createFromFd(
        size: size_t,
        protect: ::std::os::raw::c_int,
        fd: ::std::os::raw::c_int,
        offset: size_t,
        memory: *mut *mut ANeuralNetworksMemory,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
}
extern "C" {
    pub fn ANeuralNetworksModel_create(
        model: *mut *mut ANeuralNetworksModel,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
}
extern "C" {
    pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_addOperand(
        model: *mut ANeuralNetworksModel,
        type_: *const ANeuralNetworksOperandType,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_setOperandValue(
        model: *mut ANeuralNetworksModel,
        index: i32,
        buffer: *const ::std::os::raw::c_void,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
        model: *mut ANeuralNetworksModel,
        index: i32,
        channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_setOperandValueFromMemory(
        model: *mut ANeuralNetworksModel,
        index: i32,
        memory: *const ANeuralNetworksMemory,
        offset: size_t,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_setOperandValueFromModel(
        model: *mut ANeuralNetworksModel,
        index: i32,
        value: *const ANeuralNetworksModel,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_addOperation(
        model: *mut ANeuralNetworksModel,
        type_: ANeuralNetworksOperationType,
        inputCount: u32,
        inputs: *const u32,
        outputCount: u32,
        outputs: *const u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_identifyInputsAndOutputs(
        model: *mut ANeuralNetworksModel,
        inputCount: u32,
        inputs: *const u32,
        outputCount: u32,
        outputs: *const u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
        model: *mut ANeuralNetworksModel,
        allow: bool,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksCompilation_create(
        model: *mut ANeuralNetworksModel,
        compilation: *mut *mut ANeuralNetworksCompilation,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
}
extern "C" {
    pub fn ANeuralNetworksCompilation_setPreference(
        compilation: *mut ANeuralNetworksCompilation,
        preference: i32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksCompilation_finish(
        compilation: *mut ANeuralNetworksCompilation,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksCompilation_setPriority(
        compilation: *mut ANeuralNetworksCompilation,
        priority: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksCompilation_setTimeout(
        compilation: *mut ANeuralNetworksCompilation,
        duration: u64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_create(
        compilation: *mut ANeuralNetworksCompilation,
        execution: *mut *mut ANeuralNetworksExecution,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
}
extern "C" {
    pub fn ANeuralNetworksExecution_setInput(
        execution: *mut ANeuralNetworksExecution,
        index: i32,
        type_: *const ANeuralNetworksOperandType,
        buffer: *const ::std::os::raw::c_void,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_setInputFromMemory(
        execution: *mut ANeuralNetworksExecution,
        index: i32,
        type_: *const ANeuralNetworksOperandType,
        memory: *const ANeuralNetworksMemory,
        offset: size_t,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_setOutput(
        execution: *mut ANeuralNetworksExecution,
        index: i32,
        type_: *const ANeuralNetworksOperandType,
        buffer: *mut ::std::os::raw::c_void,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_setOutputFromMemory(
        execution: *mut ANeuralNetworksExecution,
        index: i32,
        type_: *const ANeuralNetworksOperandType,
        memory: *const ANeuralNetworksMemory,
        offset: size_t,
        length: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_startCompute(
        execution: *mut ANeuralNetworksExecution,
        event: *mut *mut ANeuralNetworksEvent,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_setTimeout(
        execution: *mut ANeuralNetworksExecution,
        duration: u64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_setLoopTimeout(
        execution: *mut ANeuralNetworksExecution,
        duration: u64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworks_getDefaultLoopTimeout() -> u64;
}
extern "C" {
    pub fn ANeuralNetworks_getMaximumLoopTimeout() -> u64;
}
extern "C" {
    pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
}
extern "C" {
    pub fn ANeuralNetworksEvent_createFromSyncFenceFd(
        sync_fence_fd: ::std::os::raw::c_int,
        event: *mut *mut ANeuralNetworksEvent,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksEvent_getSyncFenceFd(
        event: *const ANeuralNetworksEvent,
        sync_fence_fd: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ANeuralNetworksExecution_startComputeWithDependencies(
        execution: *mut ANeuralNetworksExecution,
        dependencies: *const *const ANeuralNetworksEvent,
        num_dependencies: u32,
        duration: u64,
        event: *mut *mut ANeuralNetworksEvent,
    ) -> ::std::os::raw::c_int;
}
pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = 1;
pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = 2;
pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = 4;
pub type ANativeWindow_LegacyFormat = u32;
pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = 0;
pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
    1;
pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
    2;
pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = 4;
pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform = 3;
pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform = 7;
pub type ANativeWindowTransform = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANativeWindow {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANativeWindow_Buffer {
    pub width: i32,
    pub height: i32,
    pub stride: i32,
    pub format: i32,
    pub bits: *mut ::std::os::raw::c_void,
    pub reserved: [u32; 6usize],
}
#[test]
fn bindgen_test_layout_ANativeWindow_Buffer() {
    assert_eq!(
        ::std::mem::size_of::<ANativeWindow_Buffer>(),
        44usize,
        concat!("Size of: ", stringify!(ANativeWindow_Buffer))
    );
    assert_eq!(
        ::std::mem::align_of::<ANativeWindow_Buffer>(),
        4usize,
        concat!("Alignment of ", stringify!(ANativeWindow_Buffer))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).width as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeWindow_Buffer),
            "::",
            stringify!(width)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).height as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeWindow_Buffer),
            "::",
            stringify!(height)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).stride as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeWindow_Buffer),
            "::",
            stringify!(stride)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).format as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeWindow_Buffer),
            "::",
            stringify!(format)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).bits as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeWindow_Buffer),
            "::",
            stringify!(bits)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).reserved as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeWindow_Buffer),
            "::",
            stringify!(reserved)
        )
    );
}
extern "C" {
    pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
}
extern "C" {
    pub fn ANativeWindow_release(window: *mut ANativeWindow);
}
extern "C" {
    pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
}
extern "C" {
    pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
}
extern "C" {
    pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
}
extern "C" {
    pub fn ANativeWindow_setBuffersGeometry(
        window: *mut ANativeWindow,
        width: i32,
        height: i32,
        format: i32,
    ) -> i32;
}
extern "C" {
    pub fn ANativeWindow_lock(
        window: *mut ANativeWindow,
        outBuffer: *mut ANativeWindow_Buffer,
        inOutDirtyBounds: *mut ARect,
    ) -> i32;
}
extern "C" {
    pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
}
extern "C" {
    pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
}
extern "C" {
    pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
}
extern "C" {
    pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
}
pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT: _bindgen_ty_29 = 0;
pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_FIXED_SOURCE: _bindgen_ty_29 = 1;
pub type _bindgen_ty_29 = u32;
extern "C" {
    pub fn ANativeWindow_setFrameRate(
        window: *mut ANativeWindow,
        frameRate: f32,
        compatibility: i8,
    ) -> i32;
}
extern "C" {
    pub fn ANativeWindow_tryAllocateBuffers(window: *mut ANativeWindow);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANativeActivity {
    pub callbacks: *mut ANativeActivityCallbacks,
    pub vm: *mut JavaVM,
    pub env: *mut JNIEnv,
    pub clazz: jobject,
    pub internalDataPath: *const ::std::os::raw::c_char,
    pub externalDataPath: *const ::std::os::raw::c_char,
    pub sdkVersion: i32,
    pub instance: *mut ::std::os::raw::c_void,
    pub assetManager: *mut AAssetManager,
    pub obbPath: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_ANativeActivity() {
    assert_eq!(
        ::std::mem::size_of::<ANativeActivity>(),
        40usize,
        concat!("Size of: ", stringify!(ANativeActivity))
    );
    assert_eq!(
        ::std::mem::align_of::<ANativeActivity>(),
        4usize,
        concat!("Alignment of ", stringify!(ANativeActivity))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).callbacks as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(callbacks)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).vm as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(vm)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).env as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(env)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).clazz as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(clazz)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivity>())).internalDataPath as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(internalDataPath)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivity>())).externalDataPath as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(externalDataPath)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).sdkVersion as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(sdkVersion)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).instance as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(instance)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).assetManager as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(assetManager)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).obbPath as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivity),
            "::",
            stringify!(obbPath)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ANativeActivityCallbacks {
    pub onStart: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
    pub onResume: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
    pub onSaveInstanceState: ::std::option::Option<
        unsafe extern "C" fn(
            activity: *mut ANativeActivity,
            outSize: *mut size_t,
        ) -> *mut ::std::os::raw::c_void,
    >,
    pub onPause: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
    pub onStop: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
    pub onDestroy: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
    pub onWindowFocusChanged: ::std::option::Option<
        unsafe extern "C" fn(activity: *mut ANativeActivity, hasFocus: ::std::os::raw::c_int),
    >,
    pub onNativeWindowCreated: ::std::option::Option<
        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
    >,
    pub onNativeWindowResized: ::std::option::Option<
        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
    >,
    pub onNativeWindowRedrawNeeded: ::std::option::Option<
        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
    >,
    pub onNativeWindowDestroyed: ::std::option::Option<
        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
    >,
    pub onInputQueueCreated: ::std::option::Option<
        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
    >,
    pub onInputQueueDestroyed: ::std::option::Option<
        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
    >,
    pub onContentRectChanged: ::std::option::Option<
        unsafe extern "C" fn(activity: *mut ANativeActivity, rect: *const ARect),
    >,
    pub onConfigurationChanged:
        ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
    pub onLowMemory: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
}
#[test]
fn bindgen_test_layout_ANativeActivityCallbacks() {
    assert_eq!(
        ::std::mem::size_of::<ANativeActivityCallbacks>(),
        64usize,
        concat!("Size of: ", stringify!(ANativeActivityCallbacks))
    );
    assert_eq!(
        ::std::mem::align_of::<ANativeActivityCallbacks>(),
        4usize,
        concat!("Alignment of ", stringify!(ANativeActivityCallbacks))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStart as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onStart)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onResume as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onResume)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onSaveInstanceState as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onSaveInstanceState)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onPause as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onPause)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStop as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onStop)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onDestroy as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onDestroy)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onWindowFocusChanged as *const _
                as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onWindowFocusChanged)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowCreated as *const _
                as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onNativeWindowCreated)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowResized as *const _
                as usize
        },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onNativeWindowResized)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowRedrawNeeded
                as *const _ as usize
        },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onNativeWindowRedrawNeeded)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowDestroyed as *const _
                as usize
        },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onNativeWindowDestroyed)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueCreated as *const _
                as usize
        },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onInputQueueCreated)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueDestroyed as *const _
                as usize
        },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onInputQueueDestroyed)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onContentRectChanged as *const _
                as usize
        },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onContentRectChanged)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onConfigurationChanged as *const _
                as usize
        },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onConfigurationChanged)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onLowMemory as *const _ as usize
        },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(ANativeActivityCallbacks),
            "::",
            stringify!(onLowMemory)
        )
    );
}
pub type ANativeActivity_createFunc = ::std::option::Option<
    unsafe extern "C" fn(
        activity: *mut ANativeActivity,
        savedState: *mut ::std::os::raw::c_void,
        savedStateSize: size_t,
    ),
>;
extern "C" {
    pub fn ANativeActivity_onCreate(
        activity: *mut ANativeActivity,
        savedState: *mut ::std::os::raw::c_void,
        savedStateSize: size_t,
    );
}
extern "C" {
    pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
}
extern "C" {
    pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
}
extern "C" {
    pub fn ANativeActivity_setWindowFlags(
        activity: *mut ANativeActivity,
        addFlags: u32,
        removeFlags: u32,
    );
}
pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: _bindgen_ty_30 = 1;
pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: _bindgen_ty_30 = 2;
pub type _bindgen_ty_30 = u32;
extern "C" {
    pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
}
pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: _bindgen_ty_31 = 1;
pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: _bindgen_ty_31 = 2;
pub type _bindgen_ty_31 = u32;
extern "C" {
    pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
}
extern "C" {
    pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
}
extern "C" {
    pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AObbInfo {
    _unused: [u8; 0],
}
pub const AOBBINFO_OVERLAY: _bindgen_ty_32 = 1;
pub type _bindgen_ty_32 = u32;
extern "C" {
    pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
}
extern "C" {
    pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
}
extern "C" {
    pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
}
extern "C" {
    pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
}
pub type __double_t = f64;
pub type double_t = __double_t;
pub type __float_t = f32;
pub type float_t = __float_t;
extern "C" {
    pub fn acos(__x: f64) -> f64;
}
extern "C" {
    pub fn acosf(__x: f32) -> f32;
}
extern "C" {
    pub fn asin(__x: f64) -> f64;
}
extern "C" {
    pub fn asinf(__x: f32) -> f32;
}
extern "C" {
    pub fn atan(__x: f64) -> f64;
}
extern "C" {
    pub fn atanf(__x: f32) -> f32;
}
extern "C" {
    pub fn atan2(__y: f64, __x: f64) -> f64;
}
extern "C" {
    pub fn atan2f(__y: f32, __x: f32) -> f32;
}
extern "C" {
    pub fn cos(__x: f64) -> f64;
}
extern "C" {
    pub fn cosf(__x: f32) -> f32;
}
extern "C" {
    pub fn sin(__x: f64) -> f64;
}
extern "C" {
    pub fn sinf(__x: f32) -> f32;
}
extern "C" {
    pub fn tan(__x: f64) -> f64;
}
extern "C" {
    pub fn tanf(__x: f32) -> f32;
}
extern "C" {
    pub fn acosh(__x: f64) -> f64;
}
extern "C" {
    pub fn acoshf(__x: f32) -> f32;
}
extern "C" {
    pub fn asinh(__x: f64) -> f64;
}
extern "C" {
    pub fn asinhf(__x: f32) -> f32;
}
extern "C" {
    pub fn atanh(__x: f64) -> f64;
}
extern "C" {
    pub fn atanhf(__x: f32) -> f32;
}
extern "C" {
    pub fn cosh(__x: f64) -> f64;
}
extern "C" {
    pub fn coshf(__x: f32) -> f32;
}
extern "C" {
    pub fn sinh(__x: f64) -> f64;
}
extern "C" {
    pub fn sinhf(__x: f32) -> f32;
}
extern "C" {
    pub fn tanh(__x: f64) -> f64;
}
extern "C" {
    pub fn tanhf(__x: f32) -> f32;
}
extern "C" {
    pub fn exp(__x: f64) -> f64;
}
extern "C" {
    pub fn expf(__x: f32) -> f32;
}
extern "C" {
    pub fn exp2(__x: f64) -> f64;
}
extern "C" {
    pub fn exp2f(__x: f32) -> f32;
}
extern "C" {
    pub fn expm1(__x: f64) -> f64;
}
extern "C" {
    pub fn expm1f(__x: f32) -> f32;
}
extern "C" {
    pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
    pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
    pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
}
extern "C" {
    pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
}
extern "C" {
    pub fn log(__x: f64) -> f64;
}
extern "C" {
    pub fn logf(__x: f32) -> f32;
}
extern "C" {
    pub fn log10(__x: f64) -> f64;
}
extern "C" {
    pub fn log10f(__x: f32) -> f32;
}
extern "C" {
    pub fn log1p(__x: f64) -> f64;
}
extern "C" {
    pub fn log1pf(__x: f32) -> f32;
}
extern "C" {
    pub fn log2(__x: f64) -> f64;
}
extern "C" {
    pub fn log2f(__x: f32) -> f32;
}
extern "C" {
    pub fn logb(__x: f64) -> f64;
}
extern "C" {
    pub fn logbf(__x: f32) -> f32;
}
extern "C" {
    pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
}
extern "C" {
    pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
}
extern "C" {
    pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
}
extern "C" {
    pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
}
extern "C" {
    pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
}
extern "C" {
    pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
}
extern "C" {
    pub fn scalblnl(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
}
extern "C" {
    pub fn cbrt(__x: f64) -> f64;
}
extern "C" {
    pub fn cbrtf(__x: f32) -> f32;
}
extern "C" {
    pub fn fabs(__x: f64) -> f64;
}
extern "C" {
    pub fn fabsf(__x: f32) -> f32;
}
extern "C" {
    pub fn hypot(__x: f64, __y: f64) -> f64;
}
extern "C" {
    pub fn hypotf(__x: f32, __y: f32) -> f32;
}
extern "C" {
    pub fn pow(__x: f64, __y: f64) -> f64;
}
extern "C" {
    pub fn powf(__x: f32, __y: f32) -> f32;
}
extern "C" {
    pub fn sqrt(__x: f64) -> f64;
}
extern "C" {
    pub fn sqrtf(__x: f32) -> f32;
}
extern "C" {
    pub fn erf(__x: f64) -> f64;
}
extern "C" {
    pub fn erff(__x: f32) -> f32;
}
extern "C" {
    pub fn erfc(__x: f64) -> f64;
}
extern "C" {
    pub fn erfcf(__x: f32) -> f32;
}
extern "C" {
    pub fn lgamma(__x: f64) -> f64;
}
extern "C" {
    pub fn lgammaf(__x: f32) -> f32;
}
extern "C" {
    pub fn tgamma(__x: f64) -> f64;
}
extern "C" {
    pub fn tgammaf(__x: f32) -> f32;
}
extern "C" {
    pub fn ceil(__x: f64) -> f64;
}
extern "C" {
    pub fn ceilf(__x: f32) -> f32;
}
extern "C" {
    pub fn floor(__x: f64) -> f64;
}
extern "C" {
    pub fn floorf(__x: f32) -> f32;
}
extern "C" {
    pub fn nearbyint(__x: f64) -> f64;
}
extern "C" {
    pub fn nearbyintf(__x: f32) -> f32;
}
extern "C" {
    pub fn rint(__x: f64) -> f64;
}
extern "C" {
    pub fn rintf(__x: f32) -> f32;
}
extern "C" {
    pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn round(__x: f64) -> f64;
}
extern "C" {
    pub fn roundf(__x: f32) -> f32;
}
extern "C" {
    pub fn roundl(__x: f64) -> f64;
}
extern "C" {
    pub fn lround(__x: f64) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn trunc(__x: f64) -> f64;
}
extern "C" {
    pub fn truncf(__x: f32) -> f32;
}
extern "C" {
    pub fn fmod(__x: f64, __y: f64) -> f64;
}
extern "C" {
    pub fn fmodf(__x: f32, __y: f32) -> f32;
}
extern "C" {
    pub fn remainder(__x: f64, __y: f64) -> f64;
}
extern "C" {
    pub fn remainderf(__x: f32, __y: f32) -> f32;
}
extern "C" {
    pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
}
extern "C" {
    pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
}
extern "C" {
    pub fn copysign(__value: f64, __sign: f64) -> f64;
}
extern "C" {
    pub fn copysignf(__value: f32, __sign: f32) -> f32;
}
extern "C" {
    pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
}
extern "C" {
    pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
}
extern "C" {
    pub fn nextafter(__x: f64, __y: f64) -> f64;
}
extern "C" {
    pub fn nextafterf(__x: f32, __y: f32) -> f32;
}
extern "C" {
    pub fn nexttoward(__x: f64, __y: f64) -> f64;
}
extern "C" {
    pub fn nexttowardf(__x: f32, __y: f64) -> f32;
}
extern "C" {
    pub fn fdim(__x: f64, __y: f64) -> f64;
}
extern "C" {
    pub fn fdimf(__x: f32, __y: f32) -> f32;
}
extern "C" {
    pub fn fmax(__x: f64, __y: f64) -> f64;
}
extern "C" {
    pub fn fmaxf(__x: f32, __y: f32) -> f32;
}
extern "C" {
    pub fn fmin(__x: f64, __y: f64) -> f64;
}
extern "C" {
    pub fn fminf(__x: f32, __y: f32) -> f32;
}
extern "C" {
    pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
}
extern "C" {
    pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
}
extern "C" {
    pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
}
extern "C" {
    pub static mut signgam: ::std::os::raw::c_int;
}
extern "C" {
    pub fn j0(__x: f64) -> f64;
}
extern "C" {
    pub fn j1(__x: f64) -> f64;
}
extern "C" {
    pub fn jn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
}
extern "C" {
    pub fn y0(__x: f64) -> f64;
}
extern "C" {
    pub fn y1(__x: f64) -> f64;
}
extern "C" {
    pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
}
pub const ASENSOR_TYPE_INVALID: _bindgen_ty_33 = -1;
pub const ASENSOR_TYPE_ACCELEROMETER: _bindgen_ty_33 = 1;
pub const ASENSOR_TYPE_MAGNETIC_FIELD: _bindgen_ty_33 = 2;
pub const ASENSOR_TYPE_GYROSCOPE: _bindgen_ty_33 = 4;
pub const ASENSOR_TYPE_LIGHT: _bindgen_ty_33 = 5;
pub const ASENSOR_TYPE_PRESSURE: _bindgen_ty_33 = 6;
pub const ASENSOR_TYPE_PROXIMITY: _bindgen_ty_33 = 8;
pub const ASENSOR_TYPE_GRAVITY: _bindgen_ty_33 = 9;
pub const ASENSOR_TYPE_LINEAR_ACCELERATION: _bindgen_ty_33 = 10;
pub const ASENSOR_TYPE_ROTATION_VECTOR: _bindgen_ty_33 = 11;
pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: _bindgen_ty_33 = 12;
pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: _bindgen_ty_33 = 13;
pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: _bindgen_ty_33 = 14;
pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: _bindgen_ty_33 = 15;
pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: _bindgen_ty_33 = 16;
pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: _bindgen_ty_33 = 17;
pub const ASENSOR_TYPE_STEP_DETECTOR: _bindgen_ty_33 = 18;
pub const ASENSOR_TYPE_STEP_COUNTER: _bindgen_ty_33 = 19;
pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: _bindgen_ty_33 = 20;
pub const ASENSOR_TYPE_HEART_RATE: _bindgen_ty_33 = 21;
pub const ASENSOR_TYPE_POSE_6DOF: _bindgen_ty_33 = 28;
pub const ASENSOR_TYPE_STATIONARY_DETECT: _bindgen_ty_33 = 29;
pub const ASENSOR_TYPE_MOTION_DETECT: _bindgen_ty_33 = 30;
pub const ASENSOR_TYPE_HEART_BEAT: _bindgen_ty_33 = 31;
pub const ASENSOR_TYPE_ADDITIONAL_INFO: _bindgen_ty_33 = 33;
pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: _bindgen_ty_33 = 34;
pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: _bindgen_ty_33 = 35;
pub const ASENSOR_TYPE_HINGE_ANGLE: _bindgen_ty_33 = 36;
pub type _bindgen_ty_33 = i32;
pub const ASENSOR_STATUS_NO_CONTACT: _bindgen_ty_34 = -1;
pub const ASENSOR_STATUS_UNRELIABLE: _bindgen_ty_34 = 0;
pub const ASENSOR_STATUS_ACCURACY_LOW: _bindgen_ty_34 = 1;
pub const ASENSOR_STATUS_ACCURACY_MEDIUM: _bindgen_ty_34 = 2;
pub const ASENSOR_STATUS_ACCURACY_HIGH: _bindgen_ty_34 = 3;
pub type _bindgen_ty_34 = i32;
pub const AREPORTING_MODE_INVALID: _bindgen_ty_35 = -1;
pub const AREPORTING_MODE_CONTINUOUS: _bindgen_ty_35 = 0;
pub const AREPORTING_MODE_ON_CHANGE: _bindgen_ty_35 = 1;
pub const AREPORTING_MODE_ONE_SHOT: _bindgen_ty_35 = 2;
pub const AREPORTING_MODE_SPECIAL_TRIGGER: _bindgen_ty_35 = 3;
pub type _bindgen_ty_35 = i32;
pub const ASENSOR_DIRECT_RATE_STOP: _bindgen_ty_36 = 0;
pub const ASENSOR_DIRECT_RATE_NORMAL: _bindgen_ty_36 = 1;
pub const ASENSOR_DIRECT_RATE_FAST: _bindgen_ty_36 = 2;
pub const ASENSOR_DIRECT_RATE_VERY_FAST: _bindgen_ty_36 = 3;
pub type _bindgen_ty_36 = u32;
pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: _bindgen_ty_37 = 1;
pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: _bindgen_ty_37 = 2;
pub type _bindgen_ty_37 = u32;
pub const ASENSOR_ADDITIONAL_INFO_BEGIN: _bindgen_ty_38 = 0;
pub const ASENSOR_ADDITIONAL_INFO_END: _bindgen_ty_38 = 1;
pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: _bindgen_ty_38 = 65536;
pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: _bindgen_ty_38 = 65537;
pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: _bindgen_ty_38 = 65538;
pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: _bindgen_ty_38 = 65539;
pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: _bindgen_ty_38 = 65540;
pub type _bindgen_ty_38 = u32;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ASensorVector {
    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1,
    pub status: i8,
    pub reserved: [u8; 3usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union ASensorVector__bindgen_ty_1 {
    pub v: [f32; 3usize],
    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1__bindgen_ty_1,
    pub __bindgen_anon_2: ASensorVector__bindgen_ty_1__bindgen_ty_2,
    _bindgen_union_align: [u32; 3usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
    pub x: f32,
    pub y: f32,
    pub z: f32,
}
#[test]
fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
        12usize,
        concat!(
            "Size of: ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).x as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(x)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).y as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(y)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).z as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(z)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
    pub azimuth: f32,
    pub pitch: f32,
    pub roll: f32,
}
#[test]
fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
        12usize,
        concat!(
            "Size of: ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).azimuth
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(azimuth)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).pitch as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(pitch)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).roll as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(roll)
        )
    );
}
#[test]
fn bindgen_test_layout_ASensorVector__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ASensorVector__bindgen_ty_1>(),
        12usize,
        concat!("Size of: ", stringify!(ASensorVector__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<ASensorVector__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(ASensorVector__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1>())).v as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorVector__bindgen_ty_1),
            "::",
            stringify!(v)
        )
    );
}
#[test]
fn bindgen_test_layout_ASensorVector() {
    assert_eq!(
        ::std::mem::size_of::<ASensorVector>(),
        16usize,
        concat!("Size of: ", stringify!(ASensorVector))
    );
    assert_eq!(
        ::std::mem::align_of::<ASensorVector>(),
        4usize,
        concat!("Alignment of ", stringify!(ASensorVector))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorVector>())).status as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorVector),
            "::",
            stringify!(status)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorVector>())).reserved as *const _ as usize },
        13usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorVector),
            "::",
            stringify!(reserved)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AMetaDataEvent {
    pub what: i32,
    pub sensor: i32,
}
#[test]
fn bindgen_test_layout_AMetaDataEvent() {
    assert_eq!(
        ::std::mem::size_of::<AMetaDataEvent>(),
        8usize,
        concat!("Size of: ", stringify!(AMetaDataEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<AMetaDataEvent>(),
        4usize,
        concat!("Alignment of ", stringify!(AMetaDataEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).what as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AMetaDataEvent),
            "::",
            stringify!(what)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).sensor as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AMetaDataEvent),
            "::",
            stringify!(sensor)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct AUncalibratedEvent {
    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1,
    pub __bindgen_anon_2: AUncalibratedEvent__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union AUncalibratedEvent__bindgen_ty_1 {
    pub uncalib: [f32; 3usize],
    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
    _bindgen_union_align: [u32; 3usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
    pub x_uncalib: f32,
    pub y_uncalib: f32,
    pub z_uncalib: f32,
}
#[test]
fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
        12usize,
        concat!(
            "Size of: ",
            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).x_uncalib
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(x_uncalib)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).y_uncalib
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(y_uncalib)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).z_uncalib
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(z_uncalib)
        )
    );
}
#[test]
fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1>(),
        12usize,
        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(AUncalibratedEvent__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1>())).uncalib as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AUncalibratedEvent__bindgen_ty_1),
            "::",
            stringify!(uncalib)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union AUncalibratedEvent__bindgen_ty_2 {
    pub bias: [f32; 3usize],
    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
    _bindgen_union_align: [u32; 3usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
    pub x_bias: f32,
    pub y_bias: f32,
    pub z_bias: f32,
}
#[test]
fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
        12usize,
        concat!(
            "Size of: ",
            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).x_bias
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(x_bias)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).y_bias
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(y_bias)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).z_bias
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
            "::",
            stringify!(z_bias)
        )
    );
}
#[test]
fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2>(),
        12usize,
        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(AUncalibratedEvent__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2>())).bias as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AUncalibratedEvent__bindgen_ty_2),
            "::",
            stringify!(bias)
        )
    );
}
#[test]
fn bindgen_test_layout_AUncalibratedEvent() {
    assert_eq!(
        ::std::mem::size_of::<AUncalibratedEvent>(),
        24usize,
        concat!("Size of: ", stringify!(AUncalibratedEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<AUncalibratedEvent>(),
        4usize,
        concat!("Alignment of ", stringify!(AUncalibratedEvent))
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AHeartRateEvent {
    pub bpm: f32,
    pub status: i8,
}
#[test]
fn bindgen_test_layout_AHeartRateEvent() {
    assert_eq!(
        ::std::mem::size_of::<AHeartRateEvent>(),
        8usize,
        concat!("Size of: ", stringify!(AHeartRateEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<AHeartRateEvent>(),
        4usize,
        concat!("Alignment of ", stringify!(AHeartRateEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).bpm as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AHeartRateEvent),
            "::",
            stringify!(bpm)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).status as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AHeartRateEvent),
            "::",
            stringify!(status)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ADynamicSensorEvent {
    pub connected: i32,
    pub handle: i32,
}
#[test]
fn bindgen_test_layout_ADynamicSensorEvent() {
    assert_eq!(
        ::std::mem::size_of::<ADynamicSensorEvent>(),
        8usize,
        concat!("Size of: ", stringify!(ADynamicSensorEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<ADynamicSensorEvent>(),
        4usize,
        concat!("Alignment of ", stringify!(ADynamicSensorEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).connected as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ADynamicSensorEvent),
            "::",
            stringify!(connected)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).handle as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ADynamicSensorEvent),
            "::",
            stringify!(handle)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct AAdditionalInfoEvent {
    pub type_: i32,
    pub serial: i32,
    pub __bindgen_anon_1: AAdditionalInfoEvent__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union AAdditionalInfoEvent__bindgen_ty_1 {
    pub data_int32: [i32; 14usize],
    pub data_float: [f32; 14usize],
    _bindgen_union_align: [u32; 14usize],
}
#[test]
fn bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
        56usize,
        concat!("Size of: ", stringify!(AAdditionalInfoEvent__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(AAdditionalInfoEvent__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_int32 as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
            "::",
            stringify!(data_int32)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_float as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
            "::",
            stringify!(data_float)
        )
    );
}
#[test]
fn bindgen_test_layout_AAdditionalInfoEvent() {
    assert_eq!(
        ::std::mem::size_of::<AAdditionalInfoEvent>(),
        64usize,
        concat!("Size of: ", stringify!(AAdditionalInfoEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<AAdditionalInfoEvent>(),
        4usize,
        concat!("Alignment of ", stringify!(AAdditionalInfoEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).type_ as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AAdditionalInfoEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).serial as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AAdditionalInfoEvent),
            "::",
            stringify!(serial)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ASensorEvent {
    pub version: i32,
    pub sensor: i32,
    pub type_: i32,
    pub reserved0: i32,
    pub timestamp: i64,
    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1,
    pub flags: u32,
    pub reserved1: [i32; 3usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union ASensorEvent__bindgen_ty_1 {
    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1__bindgen_ty_1,
    pub u64: ASensorEvent__bindgen_ty_1__bindgen_ty_2,
    _bindgen_union_align: [u32; 16usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union ASensorEvent__bindgen_ty_1__bindgen_ty_1 {
    pub data: [f32; 16usize],
    pub vector: ASensorVector,
    pub acceleration: ASensorVector,
    pub magnetic: ASensorVector,
    pub temperature: f32,
    pub distance: f32,
    pub light: f32,
    pub pressure: f32,
    pub relative_humidity: f32,
    pub uncalibrated_gyro: AUncalibratedEvent,
    pub uncalibrated_magnetic: AUncalibratedEvent,
    pub meta_data: AMetaDataEvent,
    pub heart_rate: AHeartRateEvent,
    pub dynamic_sensor_meta: ADynamicSensorEvent,
    pub additional_info: AAdditionalInfoEvent,
    _bindgen_union_align: [u32; 16usize],
}
#[test]
fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
        64usize,
        concat!(
            "Size of: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).data as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).vector as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(vector)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).acceleration
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(acceleration)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).magnetic
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(magnetic)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).temperature
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(temperature)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).distance
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(distance)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).light as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(light)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).pressure
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(pressure)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).relative_humidity
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(relative_humidity)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).uncalibrated_gyro
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(uncalibrated_gyro)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>()))
                .uncalibrated_magnetic as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(uncalibrated_magnetic)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).meta_data
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(meta_data)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).heart_rate
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(heart_rate)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).dynamic_sensor_meta
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(dynamic_sensor_meta)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).additional_info
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(additional_info)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union ASensorEvent__bindgen_ty_1__bindgen_ty_2 {
    pub data: [u64; 8usize],
    pub step_counter: u64,
    _bindgen_union_align: [u32; 16usize],
}
#[test]
fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
        64usize,
        concat!(
            "Size of: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).data as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(data)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).step_counter
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(step_counter)
        )
    );
}
#[test]
fn bindgen_test_layout_ASensorEvent__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1>(),
        64usize,
        concat!("Size of: ", stringify!(ASensorEvent__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(ASensorEvent__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1>())).u64 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent__bindgen_ty_1),
            "::",
            stringify!(u64)
        )
    );
}
#[test]
fn bindgen_test_layout_ASensorEvent() {
    assert_eq!(
        ::std::mem::size_of::<ASensorEvent>(),
        104usize,
        concat!("Size of: ", stringify!(ASensorEvent))
    );
    assert_eq!(
        ::std::mem::align_of::<ASensorEvent>(),
        4usize,
        concat!("Alignment of ", stringify!(ASensorEvent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).version as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).sensor as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent),
            "::",
            stringify!(sensor)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).type_ as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved0 as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent),
            "::",
            stringify!(reserved0)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).timestamp as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent),
            "::",
            stringify!(timestamp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).flags as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved1 as *const _ as usize },
        92usize,
        concat!(
            "Offset of field: ",
            stringify!(ASensorEvent),
            "::",
            stringify!(reserved1)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ASensorManager {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ASensorEventQueue {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ASensor {
    _unused: [u8; 0],
}
pub type ASensorRef = *const ASensor;
pub type ASensorList = *const ASensorRef;
extern "C" {
    pub fn ASensorManager_getInstance() -> *mut ASensorManager;
}
extern "C" {
    pub fn ASensorManager_getInstanceForPackage(
        packageName: *const ::std::os::raw::c_char,
    ) -> *mut ASensorManager;
}
extern "C" {
    pub fn ASensorManager_getSensorList(
        manager: *mut ASensorManager,
        list: *mut ASensorList,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorManager_getDefaultSensor(
        manager: *mut ASensorManager,
        type_: ::std::os::raw::c_int,
    ) -> *const ASensor;
}
extern "C" {
    pub fn ASensorManager_getDefaultSensorEx(
        manager: *mut ASensorManager,
        type_: ::std::os::raw::c_int,
        wakeUp: bool,
    ) -> *const ASensor;
}
extern "C" {
    pub fn ASensorManager_createEventQueue(
        manager: *mut ASensorManager,
        looper: *mut ALooper,
        ident: ::std::os::raw::c_int,
        callback: ALooper_callbackFunc,
        data: *mut ::std::os::raw::c_void,
    ) -> *mut ASensorEventQueue;
}
extern "C" {
    pub fn ASensorManager_destroyEventQueue(
        manager: *mut ASensorManager,
        queue: *mut ASensorEventQueue,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorManager_createSharedMemoryDirectChannel(
        manager: *mut ASensorManager,
        fd: ::std::os::raw::c_int,
        size: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorManager_createHardwareBufferDirectChannel(
        manager: *mut ASensorManager,
        buffer: *const AHardwareBuffer,
        size: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorManager_destroyDirectChannel(
        manager: *mut ASensorManager,
        channelId: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ASensorManager_configureDirectReport(
        manager: *mut ASensorManager,
        sensor: *const ASensor,
        channelId: ::std::os::raw::c_int,
        rate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorEventQueue_registerSensor(
        queue: *mut ASensorEventQueue,
        sensor: *const ASensor,
        samplingPeriodUs: i32,
        maxBatchReportLatencyUs: i64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorEventQueue_enableSensor(
        queue: *mut ASensorEventQueue,
        sensor: *const ASensor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorEventQueue_disableSensor(
        queue: *mut ASensorEventQueue,
        sensor: *const ASensor,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorEventQueue_setEventRate(
        queue: *mut ASensorEventQueue,
        sensor: *const ASensor,
        usec: i32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensorEventQueue_getEvents(
        queue: *mut ASensorEventQueue,
        events: *mut ASensorEvent,
        count: size_t,
    ) -> ssize_t;
}
extern "C" {
    pub fn ASensorEventQueue_requestAdditionalInfoEvents(
        queue: *mut ASensorEventQueue,
        enable: bool,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
}
extern "C" {
    pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
}
extern "C" {
    pub fn ASensor_isDirectChannelTypeSupported(
        sensor: *const ASensor,
        channelType: ::std::os::raw::c_int,
    ) -> bool;
}
extern "C" {
    pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
        -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn ASharedMemory_create(
        name: *const ::std::os::raw::c_char,
        size: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> size_t;
}
extern "C" {
    pub fn ASharedMemory_setProt(
        fd: ::std::os::raw::c_int,
        prot: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASharedMemory_dupFromJava(
        env: *mut JNIEnv,
        sharedMemory: jobject,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AStorageManager {
    _unused: [u8; 0],
}
pub const AOBB_STATE_MOUNTED: _bindgen_ty_39 = 1;
pub const AOBB_STATE_UNMOUNTED: _bindgen_ty_39 = 2;
pub const AOBB_STATE_ERROR_INTERNAL: _bindgen_ty_39 = 20;
pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: _bindgen_ty_39 = 21;
pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: _bindgen_ty_39 = 22;
pub const AOBB_STATE_ERROR_NOT_MOUNTED: _bindgen_ty_39 = 23;
pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: _bindgen_ty_39 = 24;
pub const AOBB_STATE_ERROR_PERMISSION_DENIED: _bindgen_ty_39 = 25;
pub type _bindgen_ty_39 = u32;
extern "C" {
    pub fn AStorageManager_new() -> *mut AStorageManager;
}
extern "C" {
    pub fn AStorageManager_delete(mgr: *mut AStorageManager);
}
pub type AStorageManager_obbCallbackFunc = ::std::option::Option<
    unsafe extern "C" fn(
        filename: *const ::std::os::raw::c_char,
        state: i32,
        data: *mut ::std::os::raw::c_void,
    ),
>;
extern "C" {
    pub fn AStorageManager_mountObb(
        mgr: *mut AStorageManager,
        filename: *const ::std::os::raw::c_char,
        key: *const ::std::os::raw::c_char,
        cb: AStorageManager_obbCallbackFunc,
        data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn AStorageManager_unmountObb(
        mgr: *mut AStorageManager,
        filename: *const ::std::os::raw::c_char,
        force: ::std::os::raw::c_int,
        cb: AStorageManager_obbCallbackFunc,
        data: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn AStorageManager_isObbMounted(
        mgr: *mut AStorageManager,
        filename: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn AStorageManager_getMountedObbPath(
        mgr: *mut AStorageManager,
        filename: *const ::std::os::raw::c_char,
    ) -> *const ::std::os::raw::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ASurfaceTexture {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
}
extern "C" {
    pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
}
extern "C" {
    pub fn ASurfaceTexture_attachToGLContext(
        st: *mut ASurfaceTexture,
        texName: u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
}
extern "C" {
    pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
}
extern "C" {
    pub fn ASurfaceTexture_fromSurfaceTexture(
        env: *mut JNIEnv,
        surfacetexture: jobject,
    ) -> *mut ASurfaceTexture;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sync_merge_data {
    pub name: [::std::os::raw::c_char; 32usize],
    pub fd2: __s32,
    pub fence: __s32,
    pub flags: __u32,
    pub pad: __u32,
}
#[test]
fn bindgen_test_layout_sync_merge_data() {
    assert_eq!(
        ::std::mem::size_of::<sync_merge_data>(),
        48usize,
        concat!("Size of: ", stringify!(sync_merge_data))
    );
    assert_eq!(
        ::std::mem::align_of::<sync_merge_data>(),
        4usize,
        concat!("Alignment of ", stringify!(sync_merge_data))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_merge_data),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fd2 as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_merge_data),
            "::",
            stringify!(fd2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fence as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_merge_data),
            "::",
            stringify!(fence)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).flags as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_merge_data),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).pad as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_merge_data),
            "::",
            stringify!(pad)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sync_fence_info {
    pub obj_name: [::std::os::raw::c_char; 32usize],
    pub driver_name: [::std::os::raw::c_char; 32usize],
    pub status: __s32,
    pub flags: __u32,
    pub timestamp_ns: __u64,
}
#[test]
fn bindgen_test_layout_sync_fence_info() {
    assert_eq!(
        ::std::mem::size_of::<sync_fence_info>(),
        80usize,
        concat!("Size of: ", stringify!(sync_fence_info))
    );
    assert_eq!(
        ::std::mem::align_of::<sync_fence_info>(),
        4usize,
        concat!("Alignment of ", stringify!(sync_fence_info))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).obj_name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_fence_info),
            "::",
            stringify!(obj_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).driver_name as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_fence_info),
            "::",
            stringify!(driver_name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).status as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_fence_info),
            "::",
            stringify!(status)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).flags as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_fence_info),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).timestamp_ns as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_fence_info),
            "::",
            stringify!(timestamp_ns)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sync_file_info {
    pub name: [::std::os::raw::c_char; 32usize],
    pub status: __s32,
    pub flags: __u32,
    pub num_fences: __u32,
    pub pad: __u32,
    pub sync_fence_info: __u64,
}
#[test]
fn bindgen_test_layout_sync_file_info() {
    assert_eq!(
        ::std::mem::size_of::<sync_file_info>(),
        56usize,
        concat!("Size of: ", stringify!(sync_file_info))
    );
    assert_eq!(
        ::std::mem::align_of::<sync_file_info>(),
        4usize,
        concat!("Alignment of ", stringify!(sync_file_info))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_file_info>())).name as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_file_info),
            "::",
            stringify!(name)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_file_info>())).status as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_file_info),
            "::",
            stringify!(status)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_file_info>())).flags as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_file_info),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_file_info>())).num_fences as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_file_info),
            "::",
            stringify!(num_fences)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_file_info>())).pad as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_file_info),
            "::",
            stringify!(pad)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sync_file_info>())).sync_fence_info as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(sync_file_info),
            "::",
            stringify!(sync_fence_info)
        )
    );
}
extern "C" {
    pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
}
extern "C" {
    pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
}
extern "C" {
    pub fn sync_file_info_free(info: *mut sync_file_info);
}
extern "C" {
    pub fn ATrace_isEnabled() -> bool;
}
extern "C" {
    pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn ATrace_endSection();
}
extern "C" {
    pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
}
extern "C" {
    pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
}
extern "C" {
    pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
}
pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: _bindgen_ty_40 = 1;
pub const AWINDOW_FLAG_DIM_BEHIND: _bindgen_ty_40 = 2;
pub const AWINDOW_FLAG_BLUR_BEHIND: _bindgen_ty_40 = 4;
pub const AWINDOW_FLAG_NOT_FOCUSABLE: _bindgen_ty_40 = 8;
pub const AWINDOW_FLAG_NOT_TOUCHABLE: _bindgen_ty_40 = 16;
pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: _bindgen_ty_40 = 32;
pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: _bindgen_ty_40 = 64;
pub const AWINDOW_FLAG_KEEP_SCREEN_ON: _bindgen_ty_40 = 128;
pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: _bindgen_ty_40 = 256;
pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: _bindgen_ty_40 = 512;
pub const AWINDOW_FLAG_FULLSCREEN: _bindgen_ty_40 = 1024;
pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: _bindgen_ty_40 = 2048;
pub const AWINDOW_FLAG_DITHER: _bindgen_ty_40 = 4096;
pub const AWINDOW_FLAG_SECURE: _bindgen_ty_40 = 8192;
pub const AWINDOW_FLAG_SCALED: _bindgen_ty_40 = 16384;
pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: _bindgen_ty_40 = 32768;
pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: _bindgen_ty_40 = 65536;
pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: _bindgen_ty_40 = 131072;
pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: _bindgen_ty_40 = 262144;
pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: _bindgen_ty_40 = 524288;
pub const AWINDOW_FLAG_SHOW_WALLPAPER: _bindgen_ty_40 = 1048576;
pub const AWINDOW_FLAG_TURN_SCREEN_ON: _bindgen_ty_40 = 2097152;
pub const AWINDOW_FLAG_DISMISS_KEYGUARD: _bindgen_ty_40 = 4194304;
pub type _bindgen_ty_40 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_timespec {
    pub tv_sec: __kernel_time64_t,
    pub tv_nsec: ::std::os::raw::c_longlong,
}
#[test]
fn bindgen_test_layout___kernel_timespec() {
    assert_eq!(
        ::std::mem::size_of::<__kernel_timespec>(),
        16usize,
        concat!("Size of: ", stringify!(__kernel_timespec))
    );
    assert_eq!(
        ::std::mem::align_of::<__kernel_timespec>(),
        4usize,
        concat!("Alignment of ", stringify!(__kernel_timespec))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_timespec>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_timespec),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_timespec>())).tv_nsec as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_timespec),
            "::",
            stringify!(tv_nsec)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_itimerspec {
    pub it_interval: __kernel_timespec,
    pub it_value: __kernel_timespec,
}
#[test]
fn bindgen_test_layout___kernel_itimerspec() {
    assert_eq!(
        ::std::mem::size_of::<__kernel_itimerspec>(),
        32usize,
        concat!("Size of: ", stringify!(__kernel_itimerspec))
    );
    assert_eq!(
        ::std::mem::align_of::<__kernel_itimerspec>(),
        4usize,
        concat!("Alignment of ", stringify!(__kernel_itimerspec))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_itimerspec>())).it_interval as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_itimerspec),
            "::",
            stringify!(it_interval)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_itimerspec>())).it_value as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_itimerspec),
            "::",
            stringify!(it_value)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_old_timeval {
    pub tv_sec: __kernel_long_t,
    pub tv_usec: __kernel_long_t,
}
#[test]
fn bindgen_test_layout___kernel_old_timeval() {
    assert_eq!(
        ::std::mem::size_of::<__kernel_old_timeval>(),
        8usize,
        concat!("Size of: ", stringify!(__kernel_old_timeval))
    );
    assert_eq!(
        ::std::mem::align_of::<__kernel_old_timeval>(),
        4usize,
        concat!("Alignment of ", stringify!(__kernel_old_timeval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_old_timeval>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_old_timeval),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_old_timeval>())).tv_usec as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_old_timeval),
            "::",
            stringify!(tv_usec)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_sock_timeval {
    pub tv_sec: __s64,
    pub tv_usec: __s64,
}
#[test]
fn bindgen_test_layout___kernel_sock_timeval() {
    assert_eq!(
        ::std::mem::size_of::<__kernel_sock_timeval>(),
        16usize,
        concat!("Size of: ", stringify!(__kernel_sock_timeval))
    );
    assert_eq!(
        ::std::mem::align_of::<__kernel_sock_timeval>(),
        4usize,
        concat!("Alignment of ", stringify!(__kernel_sock_timeval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_sock_timeval>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_sock_timeval),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_sock_timeval>())).tv_usec as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_sock_timeval),
            "::",
            stringify!(tv_usec)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
    pub tv_sec: __kernel_time_t,
    pub tv_nsec: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_timespec() {
    assert_eq!(
        ::std::mem::size_of::<timespec>(),
        8usize,
        concat!("Size of: ", stringify!(timespec))
    );
    assert_eq!(
        ::std::mem::align_of::<timespec>(),
        4usize,
        concat!("Alignment of ", stringify!(timespec))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(timespec),
            "::",
            stringify!(tv_nsec)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timeval {
    pub tv_sec: __kernel_time_t,
    pub tv_usec: __kernel_suseconds_t,
}
#[test]
fn bindgen_test_layout_timeval() {
    assert_eq!(
        ::std::mem::size_of::<timeval>(),
        8usize,
        concat!("Size of: ", stringify!(timeval))
    );
    assert_eq!(
        ::std::mem::align_of::<timeval>(),
        4usize,
        concat!("Alignment of ", stringify!(timeval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(timeval),
            "::",
            stringify!(tv_usec)
        )
    );
}
#[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() {
    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::null::<timezone>())).tz_minuteswest as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(timezone),
            "::",
            stringify!(tz_minuteswest)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<timezone>())).tz_dsttime as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(timezone),
            "::",
            stringify!(tz_dsttime)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct itimerspec {
    pub it_interval: timespec,
    pub it_value: timespec,
}
#[test]
fn bindgen_test_layout_itimerspec() {
    assert_eq!(
        ::std::mem::size_of::<itimerspec>(),
        16usize,
        concat!("Size of: ", stringify!(itimerspec))
    );
    assert_eq!(
        ::std::mem::align_of::<itimerspec>(),
        4usize,
        concat!("Alignment of ", stringify!(itimerspec))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<itimerspec>())).it_interval as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(itimerspec),
            "::",
            stringify!(it_interval)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<itimerspec>())).it_value as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(itimerspec),
            "::",
            stringify!(it_value)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct itimerval {
    pub it_interval: timeval,
    pub it_value: timeval,
}
#[test]
fn bindgen_test_layout_itimerval() {
    assert_eq!(
        ::std::mem::size_of::<itimerval>(),
        16usize,
        concat!("Size of: ", stringify!(itimerval))
    );
    assert_eq!(
        ::std::mem::align_of::<itimerval>(),
        4usize,
        concat!("Alignment of ", stringify!(itimerval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<itimerval>())).it_interval as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(itimerval),
            "::",
            stringify!(it_interval)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<itimerval>())).it_value as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(itimerval),
            "::",
            stringify!(it_value)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fpx_sw_bytes {
    pub magic1: __u32,
    pub extended_size: __u32,
    pub xfeatures: __u64,
    pub xstate_size: __u32,
    pub padding: [__u32; 7usize],
}
#[test]
fn bindgen_test_layout__fpx_sw_bytes() {
    assert_eq!(
        ::std::mem::size_of::<_fpx_sw_bytes>(),
        48usize,
        concat!("Size of: ", stringify!(_fpx_sw_bytes))
    );
    assert_eq!(
        ::std::mem::align_of::<_fpx_sw_bytes>(),
        4usize,
        concat!("Alignment of ", stringify!(_fpx_sw_bytes))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).magic1 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpx_sw_bytes),
            "::",
            stringify!(magic1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).extended_size as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpx_sw_bytes),
            "::",
            stringify!(extended_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).xfeatures as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpx_sw_bytes),
            "::",
            stringify!(xfeatures)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).xstate_size as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpx_sw_bytes),
            "::",
            stringify!(xstate_size)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpx_sw_bytes>())).padding as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpx_sw_bytes),
            "::",
            stringify!(padding)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fpreg {
    pub significand: [__u16; 4usize],
    pub exponent: __u16,
}
#[test]
fn bindgen_test_layout__fpreg() {
    assert_eq!(
        ::std::mem::size_of::<_fpreg>(),
        10usize,
        concat!("Size of: ", stringify!(_fpreg))
    );
    assert_eq!(
        ::std::mem::align_of::<_fpreg>(),
        2usize,
        concat!("Alignment of ", stringify!(_fpreg))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpreg>())).significand as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpreg),
            "::",
            stringify!(significand)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpreg>())).exponent as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpreg),
            "::",
            stringify!(exponent)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _fpxreg {
    pub significand: [__u16; 4usize],
    pub exponent: __u16,
    pub padding: [__u16; 3usize],
}
#[test]
fn bindgen_test_layout__fpxreg() {
    assert_eq!(
        ::std::mem::size_of::<_fpxreg>(),
        16usize,
        concat!("Size of: ", stringify!(_fpxreg))
    );
    assert_eq!(
        ::std::mem::align_of::<_fpxreg>(),
        2usize,
        concat!("Alignment of ", stringify!(_fpxreg))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpxreg>())).significand as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpxreg),
            "::",
            stringify!(significand)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpxreg>())).exponent as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpxreg),
            "::",
            stringify!(exponent)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpxreg>())).padding as *const _ as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpxreg),
            "::",
            stringify!(padding)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _xmmreg {
    pub element: [__u32; 4usize],
}
#[test]
fn bindgen_test_layout__xmmreg() {
    assert_eq!(
        ::std::mem::size_of::<_xmmreg>(),
        16usize,
        concat!("Size of: ", stringify!(_xmmreg))
    );
    assert_eq!(
        ::std::mem::align_of::<_xmmreg>(),
        4usize,
        concat!("Alignment of ", stringify!(_xmmreg))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_xmmreg>())).element as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_xmmreg),
            "::",
            stringify!(element)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _fpstate_32 {
    pub cw: __u32,
    pub sw: __u32,
    pub tag: __u32,
    pub ipoff: __u32,
    pub cssel: __u32,
    pub dataoff: __u32,
    pub datasel: __u32,
    pub _st: [_fpreg; 8usize],
    pub status: __u16,
    pub magic: __u16,
    pub _fxsr_env: [__u32; 6usize],
    pub mxcsr: __u32,
    pub reserved: __u32,
    pub _fxsr_st: [_fpxreg; 8usize],
    pub _xmm: [_xmmreg; 8usize],
    pub __bindgen_anon_1: _fpstate_32__bindgen_ty_1,
    pub __bindgen_anon_2: _fpstate_32__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _fpstate_32__bindgen_ty_1 {
    pub padding1: [__u32; 44usize],
    pub padding: [__u32; 44usize],
    _bindgen_union_align: [u32; 44usize],
}
#[test]
fn bindgen_test_layout__fpstate_32__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_fpstate_32__bindgen_ty_1>(),
        176usize,
        concat!("Size of: ", stringify!(_fpstate_32__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_fpstate_32__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(_fpstate_32__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_fpstate_32__bindgen_ty_1>())).padding1 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32__bindgen_ty_1),
            "::",
            stringify!(padding1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_fpstate_32__bindgen_ty_1>())).padding as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32__bindgen_ty_1),
            "::",
            stringify!(padding)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _fpstate_32__bindgen_ty_2 {
    pub padding2: [__u32; 12usize],
    pub sw_reserved: _fpx_sw_bytes,
    _bindgen_union_align: [u32; 12usize],
}
#[test]
fn bindgen_test_layout__fpstate_32__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<_fpstate_32__bindgen_ty_2>(),
        48usize,
        concat!("Size of: ", stringify!(_fpstate_32__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<_fpstate_32__bindgen_ty_2>(),
        4usize,
        concat!("Alignment of ", stringify!(_fpstate_32__bindgen_ty_2))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_fpstate_32__bindgen_ty_2>())).padding2 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32__bindgen_ty_2),
            "::",
            stringify!(padding2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_fpstate_32__bindgen_ty_2>())).sw_reserved as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32__bindgen_ty_2),
            "::",
            stringify!(sw_reserved)
        )
    );
}
#[test]
fn bindgen_test_layout__fpstate_32() {
    assert_eq!(
        ::std::mem::size_of::<_fpstate_32>(),
        624usize,
        concat!("Size of: ", stringify!(_fpstate_32))
    );
    assert_eq!(
        ::std::mem::align_of::<_fpstate_32>(),
        4usize,
        concat!("Alignment of ", stringify!(_fpstate_32))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).cw as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(cw)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).sw as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(sw)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).tag as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(tag)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).ipoff as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(ipoff)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).cssel as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(cssel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).dataoff as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(dataoff)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).datasel as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(datasel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>()))._st as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(_st)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).status as *const _ as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(status)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).magic as *const _ as usize },
        110usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(magic)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>()))._fxsr_env as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(_fxsr_env)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).mxcsr as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(mxcsr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>())).reserved as *const _ as usize },
        140usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(reserved)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>()))._fxsr_st as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(_fxsr_st)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_32>()))._xmm as *const _ as usize },
        272usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_32),
            "::",
            stringify!(_xmm)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _fpstate_64 {
    pub cwd: __u16,
    pub swd: __u16,
    pub twd: __u16,
    pub fop: __u16,
    pub rip: __u64,
    pub rdp: __u64,
    pub mxcsr: __u32,
    pub mxcsr_mask: __u32,
    pub st_space: [__u32; 32usize],
    pub xmm_space: [__u32; 64usize],
    pub reserved2: [__u32; 12usize],
    pub __bindgen_anon_1: _fpstate_64__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union _fpstate_64__bindgen_ty_1 {
    pub reserved3: [__u32; 12usize],
    pub sw_reserved: _fpx_sw_bytes,
    _bindgen_union_align: [u32; 12usize],
}
#[test]
fn bindgen_test_layout__fpstate_64__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<_fpstate_64__bindgen_ty_1>(),
        48usize,
        concat!("Size of: ", stringify!(_fpstate_64__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<_fpstate_64__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(_fpstate_64__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_fpstate_64__bindgen_ty_1>())).reserved3 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64__bindgen_ty_1),
            "::",
            stringify!(reserved3)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<_fpstate_64__bindgen_ty_1>())).sw_reserved as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64__bindgen_ty_1),
            "::",
            stringify!(sw_reserved)
        )
    );
}
#[test]
fn bindgen_test_layout__fpstate_64() {
    assert_eq!(
        ::std::mem::size_of::<_fpstate_64>(),
        512usize,
        concat!("Size of: ", stringify!(_fpstate_64))
    );
    assert_eq!(
        ::std::mem::align_of::<_fpstate_64>(),
        4usize,
        concat!("Alignment of ", stringify!(_fpstate_64))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).cwd as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(cwd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).swd as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(swd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).twd as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(twd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).fop as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(fop)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).rip as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(rip)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).rdp as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(rdp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).mxcsr as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(mxcsr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).mxcsr_mask as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(mxcsr_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).st_space as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(st_space)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).xmm_space as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(xmm_space)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_fpstate_64>())).reserved2 as *const _ as usize },
        416usize,
        concat!(
            "Offset of field: ",
            stringify!(_fpstate_64),
            "::",
            stringify!(reserved2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _header {
    pub xfeatures: __u64,
    pub reserved1: [__u64; 2usize],
    pub reserved2: [__u64; 5usize],
}
#[test]
fn bindgen_test_layout__header() {
    assert_eq!(
        ::std::mem::size_of::<_header>(),
        64usize,
        concat!("Size of: ", stringify!(_header))
    );
    assert_eq!(
        ::std::mem::align_of::<_header>(),
        4usize,
        concat!("Alignment of ", stringify!(_header))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_header>())).xfeatures as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_header),
            "::",
            stringify!(xfeatures)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_header>())).reserved1 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_header),
            "::",
            stringify!(reserved1)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_header>())).reserved2 as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_header),
            "::",
            stringify!(reserved2)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _ymmh_state {
    pub ymmh_space: [__u32; 64usize],
}
#[test]
fn bindgen_test_layout__ymmh_state() {
    assert_eq!(
        ::std::mem::size_of::<_ymmh_state>(),
        256usize,
        concat!("Size of: ", stringify!(_ymmh_state))
    );
    assert_eq!(
        ::std::mem::align_of::<_ymmh_state>(),
        4usize,
        concat!("Alignment of ", stringify!(_ymmh_state))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_ymmh_state>())).ymmh_space as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_ymmh_state),
            "::",
            stringify!(ymmh_space)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _xstate {
    pub fpstate: _fpstate_32,
    pub xstate_hdr: _header,
    pub ymmh: _ymmh_state,
}
#[test]
fn bindgen_test_layout__xstate() {
    assert_eq!(
        ::std::mem::size_of::<_xstate>(),
        944usize,
        concat!("Size of: ", stringify!(_xstate))
    );
    assert_eq!(
        ::std::mem::align_of::<_xstate>(),
        4usize,
        concat!("Alignment of ", stringify!(_xstate))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_xstate>())).fpstate as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_xstate),
            "::",
            stringify!(fpstate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_xstate>())).xstate_hdr as *const _ as usize },
        624usize,
        concat!(
            "Offset of field: ",
            stringify!(_xstate),
            "::",
            stringify!(xstate_hdr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_xstate>())).ymmh as *const _ as usize },
        688usize,
        concat!(
            "Offset of field: ",
            stringify!(_xstate),
            "::",
            stringify!(ymmh)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigcontext_32 {
    pub gs: __u16,
    pub __gsh: __u16,
    pub fs: __u16,
    pub __fsh: __u16,
    pub es: __u16,
    pub __esh: __u16,
    pub ds: __u16,
    pub __dsh: __u16,
    pub di: __u32,
    pub si: __u32,
    pub bp: __u32,
    pub sp: __u32,
    pub bx: __u32,
    pub dx: __u32,
    pub cx: __u32,
    pub ax: __u32,
    pub trapno: __u32,
    pub err: __u32,
    pub ip: __u32,
    pub cs: __u16,
    pub __csh: __u16,
    pub flags: __u32,
    pub sp_at_signal: __u32,
    pub ss: __u16,
    pub __ssh: __u16,
    pub fpstate: __u32,
    pub oldmask: __u32,
    pub cr2: __u32,
}
#[test]
fn bindgen_test_layout_sigcontext_32() {
    assert_eq!(
        ::std::mem::size_of::<sigcontext_32>(),
        88usize,
        concat!("Size of: ", stringify!(sigcontext_32))
    );
    assert_eq!(
        ::std::mem::align_of::<sigcontext_32>(),
        4usize,
        concat!("Alignment of ", stringify!(sigcontext_32))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).gs as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(gs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).__gsh as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(__gsh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).fs as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(fs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).__fsh as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(__fsh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).es as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(es)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).__esh as *const _ as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(__esh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).ds as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(ds)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).__dsh as *const _ as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(__dsh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).di as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(di)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).si as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(si)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).bp as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(bp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).sp as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(sp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).bx as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(bx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).dx as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(dx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).cx as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(cx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).ax as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(ax)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).trapno as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(trapno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).err as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(err)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).ip as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(ip)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).cs as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(cs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).__csh as *const _ as usize },
        62usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(__csh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).flags as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).sp_at_signal as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(sp_at_signal)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).ss as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(ss)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).__ssh as *const _ as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(__ssh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).fpstate as *const _ as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(fpstate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).oldmask as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(oldmask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_32>())).cr2 as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_32),
            "::",
            stringify!(cr2)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigcontext_64 {
    pub r8: __u64,
    pub r9: __u64,
    pub r10: __u64,
    pub r11: __u64,
    pub r12: __u64,
    pub r13: __u64,
    pub r14: __u64,
    pub r15: __u64,
    pub di: __u64,
    pub si: __u64,
    pub bp: __u64,
    pub bx: __u64,
    pub dx: __u64,
    pub ax: __u64,
    pub cx: __u64,
    pub sp: __u64,
    pub ip: __u64,
    pub flags: __u64,
    pub cs: __u16,
    pub gs: __u16,
    pub fs: __u16,
    pub ss: __u16,
    pub err: __u64,
    pub trapno: __u64,
    pub oldmask: __u64,
    pub cr2: __u64,
    pub fpstate: __u64,
    pub reserved1: [__u64; 8usize],
}
#[test]
fn bindgen_test_layout_sigcontext_64() {
    assert_eq!(
        ::std::mem::size_of::<sigcontext_64>(),
        256usize,
        concat!("Size of: ", stringify!(sigcontext_64))
    );
    assert_eq!(
        ::std::mem::align_of::<sigcontext_64>(),
        4usize,
        concat!("Alignment of ", stringify!(sigcontext_64))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).r8 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(r8)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).r9 as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(r9)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).r10 as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(r10)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).r11 as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(r11)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).r12 as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(r12)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).r13 as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(r13)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).r14 as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(r14)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).r15 as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(r15)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).di as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(di)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).si as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(si)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).bp as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(bp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).bx as *const _ as usize },
        88usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(bx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).dx as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(dx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).ax as *const _ as usize },
        104usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(ax)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).cx as *const _ as usize },
        112usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(cx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).sp as *const _ as usize },
        120usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(sp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).ip as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(ip)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).flags as *const _ as usize },
        136usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).cs as *const _ as usize },
        144usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(cs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).gs as *const _ as usize },
        146usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(gs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).fs as *const _ as usize },
        148usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(fs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).ss as *const _ as usize },
        150usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(ss)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).err as *const _ as usize },
        152usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(err)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).trapno as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(trapno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).oldmask as *const _ as usize },
        168usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(oldmask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).cr2 as *const _ as usize },
        176usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(cr2)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).fpstate as *const _ as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(fpstate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext_64>())).reserved1 as *const _ as usize },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext_64),
            "::",
            stringify!(reserved1)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigcontext {
    pub gs: __u16,
    pub __gsh: __u16,
    pub fs: __u16,
    pub __fsh: __u16,
    pub es: __u16,
    pub __esh: __u16,
    pub ds: __u16,
    pub __dsh: __u16,
    pub edi: __u32,
    pub esi: __u32,
    pub ebp: __u32,
    pub esp: __u32,
    pub ebx: __u32,
    pub edx: __u32,
    pub ecx: __u32,
    pub eax: __u32,
    pub trapno: __u32,
    pub err: __u32,
    pub eip: __u32,
    pub cs: __u16,
    pub __csh: __u16,
    pub eflags: __u32,
    pub esp_at_signal: __u32,
    pub ss: __u16,
    pub __ssh: __u16,
    pub fpstate: *mut _fpstate_32,
    pub oldmask: __u32,
    pub cr2: __u32,
}
#[test]
fn bindgen_test_layout_sigcontext() {
    assert_eq!(
        ::std::mem::size_of::<sigcontext>(),
        88usize,
        concat!("Size of: ", stringify!(sigcontext))
    );
    assert_eq!(
        ::std::mem::align_of::<sigcontext>(),
        4usize,
        concat!("Alignment of ", stringify!(sigcontext))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).gs as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(gs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).__gsh as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(__gsh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).fs as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(fs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).__fsh as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(__fsh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).es as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(es)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).__esh as *const _ as usize },
        10usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(__esh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).ds as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(ds)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).__dsh as *const _ as usize },
        14usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(__dsh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).edi as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(edi)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).esi as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(esi)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).ebp as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(ebp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).esp as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(esp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).ebx as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(ebx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).edx as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(edx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).ecx as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(ecx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).eax as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(eax)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).trapno as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(trapno)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).err as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(err)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).eip as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(eip)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).cs as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(cs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).__csh as *const _ as usize },
        62usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(__csh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).eflags as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(eflags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).esp_at_signal as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(esp_at_signal)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).ss as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(ss)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).__ssh as *const _ as usize },
        74usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(__ssh)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).fpstate as *const _ as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(fpstate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).oldmask as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(oldmask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigcontext>())).cr2 as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(sigcontext),
            "::",
            stringify!(cr2)
        )
    );
}
pub type sigset_t = ::std::os::raw::c_ulong;
pub type __signalfn_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
pub type __sighandler_t = __signalfn_t;
pub type __restorefn_t = ::std::option::Option<unsafe extern "C" fn()>;
pub type __sigrestore_t = __restorefn_t;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __kernel_sigaction {
    pub _u: __kernel_sigaction__bindgen_ty_1,
    pub sa_mask: sigset_t,
    pub sa_flags: ::std::os::raw::c_ulong,
    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __kernel_sigaction__bindgen_ty_1 {
    pub _sa_handler: __sighandler_t,
    pub _sa_sigaction: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: ::std::os::raw::c_int,
            arg2: *mut siginfo,
            arg3: *mut ::std::os::raw::c_void,
        ),
    >,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout___kernel_sigaction__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__kernel_sigaction__bindgen_ty_1>(),
        4usize,
        concat!("Size of: ", stringify!(__kernel_sigaction__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<__kernel_sigaction__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(__kernel_sigaction__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__kernel_sigaction__bindgen_ty_1>()))._sa_handler as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_sigaction__bindgen_ty_1),
            "::",
            stringify!(_sa_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__kernel_sigaction__bindgen_ty_1>()))._sa_sigaction as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_sigaction__bindgen_ty_1),
            "::",
            stringify!(_sa_sigaction)
        )
    );
}
#[test]
fn bindgen_test_layout___kernel_sigaction() {
    assert_eq!(
        ::std::mem::size_of::<__kernel_sigaction>(),
        16usize,
        concat!("Size of: ", stringify!(__kernel_sigaction))
    );
    assert_eq!(
        ::std::mem::align_of::<__kernel_sigaction>(),
        4usize,
        concat!("Alignment of ", stringify!(__kernel_sigaction))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_sigaction>()))._u as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_sigaction),
            "::",
            stringify!(_u)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_sigaction>())).sa_mask as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_sigaction),
            "::",
            stringify!(sa_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_sigaction>())).sa_flags as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_sigaction),
            "::",
            stringify!(sa_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__kernel_sigaction>())).sa_restorer as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__kernel_sigaction),
            "::",
            stringify!(sa_restorer)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigaltstack {
    pub ss_sp: *mut ::std::os::raw::c_void,
    pub ss_flags: ::std::os::raw::c_int,
    pub ss_size: size_t,
}
#[test]
fn bindgen_test_layout_sigaltstack() {
    assert_eq!(
        ::std::mem::size_of::<sigaltstack>(),
        12usize,
        concat!("Size of: ", stringify!(sigaltstack))
    );
    assert_eq!(
        ::std::mem::align_of::<sigaltstack>(),
        4usize,
        concat!("Alignment of ", stringify!(sigaltstack))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaltstack>())).ss_sp as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaltstack),
            "::",
            stringify!(ss_sp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaltstack>())).ss_flags as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaltstack),
            "::",
            stringify!(ss_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaltstack>())).ss_size as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaltstack),
            "::",
            stringify!(ss_size)
        )
    );
}
pub type stack_t = sigaltstack;
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigval {
    pub sival_int: ::std::os::raw::c_int,
    pub sival_ptr: *mut ::std::os::raw::c_void,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_sigval() {
    assert_eq!(
        ::std::mem::size_of::<sigval>(),
        4usize,
        concat!("Size of: ", stringify!(sigval))
    );
    assert_eq!(
        ::std::mem::align_of::<sigval>(),
        4usize,
        concat!("Alignment of ", stringify!(sigval))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigval>())).sival_int as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigval),
            "::",
            stringify!(sival_int)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigval>())).sival_ptr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigval),
            "::",
            stringify!(sival_ptr)
        )
    );
}
pub type sigval_t = sigval;
#[repr(C)]
#[derive(Copy, Clone)]
pub union __sifields {
    pub _kill: __sifields__bindgen_ty_1,
    pub _timer: __sifields__bindgen_ty_2,
    pub _rt: __sifields__bindgen_ty_3,
    pub _sigchld: __sifields__bindgen_ty_4,
    pub _sigfault: __sifields__bindgen_ty_5,
    pub _sigpoll: __sifields__bindgen_ty_6,
    pub _sigsys: __sifields__bindgen_ty_7,
    _bindgen_union_align: [u32; 5usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sifields__bindgen_ty_1 {
    pub _pid: __kernel_pid_t,
    pub _uid: __kernel_uid32_t,
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(__sifields__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_1>()))._pid as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_1),
            "::",
            stringify!(_pid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_1>()))._uid as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_1),
            "::",
            stringify!(_uid)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __sifields__bindgen_ty_2 {
    pub _tid: __kernel_timer_t,
    pub _overrun: ::std::os::raw::c_int,
    pub _sigval: sigval_t,
    pub _sys_private: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_2>(),
        16usize,
        concat!("Size of: ", stringify!(__sifields__bindgen_ty_2))
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_2>(),
        4usize,
        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_2))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._tid as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_2),
            "::",
            stringify!(_tid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._overrun as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_2),
            "::",
            stringify!(_overrun)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._sigval as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_2),
            "::",
            stringify!(_sigval)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._sys_private as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_2),
            "::",
            stringify!(_sys_private)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __sifields__bindgen_ty_3 {
    pub _pid: __kernel_pid_t,
    pub _uid: __kernel_uid32_t,
    pub _sigval: sigval_t,
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_3() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_3>(),
        12usize,
        concat!("Size of: ", stringify!(__sifields__bindgen_ty_3))
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_3>(),
        4usize,
        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_3))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_3>()))._pid as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_3),
            "::",
            stringify!(_pid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_3>()))._uid as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_3),
            "::",
            stringify!(_uid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_3>()))._sigval as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_3),
            "::",
            stringify!(_sigval)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sifields__bindgen_ty_4 {
    pub _pid: __kernel_pid_t,
    pub _uid: __kernel_uid32_t,
    pub _status: ::std::os::raw::c_int,
    pub _utime: __kernel_clock_t,
    pub _stime: __kernel_clock_t,
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_4() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_4>(),
        20usize,
        concat!("Size of: ", stringify!(__sifields__bindgen_ty_4))
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_4>(),
        4usize,
        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_4))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._pid as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_4),
            "::",
            stringify!(_pid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._uid as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_4),
            "::",
            stringify!(_uid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._status as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_4),
            "::",
            stringify!(_status)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._utime as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_4),
            "::",
            stringify!(_utime)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._stime as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_4),
            "::",
            stringify!(_stime)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct __sifields__bindgen_ty_5 {
    pub _addr: *mut ::std::os::raw::c_void,
    pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
    pub _addr_lsb: ::std::os::raw::c_short,
    pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
    pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
    _bindgen_union_align: [u32; 3usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
    pub _dummy_bnd: [::std::os::raw::c_char; 4usize],
    pub _lower: *mut ::std::os::raw::c_void,
    pub _upper: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
        12usize,
        concat!(
            "Size of: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>()))
                ._dummy_bnd as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_dummy_bnd)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>()))._lower
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_lower)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>()))._upper
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_upper)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
    pub _dummy_pkey: [::std::os::raw::c_char; 4usize],
    pub _pkey: __u32,
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>()))
                ._dummy_pkey as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(_dummy_pkey)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>()))._pkey
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
            "::",
            stringify!(_pkey)
        )
    );
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
        12usize,
        concat!(
            "Size of: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._addr_lsb as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
            "::",
            stringify!(_addr_lsb)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._addr_bnd as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
            "::",
            stringify!(_addr_bnd)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._addr_pkey
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
            "::",
            stringify!(_addr_pkey)
        )
    );
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_5() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_5>(),
        16usize,
        concat!("Size of: ", stringify!(__sifields__bindgen_ty_5))
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_5>(),
        4usize,
        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_5))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_5>()))._addr as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_5),
            "::",
            stringify!(_addr)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sifields__bindgen_ty_6 {
    pub _band: ::std::os::raw::c_long,
    pub _fd: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_6() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_6>(),
        8usize,
        concat!("Size of: ", stringify!(__sifields__bindgen_ty_6))
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_6>(),
        4usize,
        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_6))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_6>()))._band as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_6),
            "::",
            stringify!(_band)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_6>()))._fd as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_6),
            "::",
            stringify!(_fd)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __sifields__bindgen_ty_7 {
    pub _call_addr: *mut ::std::os::raw::c_void,
    pub _syscall: ::std::os::raw::c_int,
    pub _arch: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___sifields__bindgen_ty_7() {
    assert_eq!(
        ::std::mem::size_of::<__sifields__bindgen_ty_7>(),
        12usize,
        concat!("Size of: ", stringify!(__sifields__bindgen_ty_7))
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields__bindgen_ty_7>(),
        4usize,
        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_7))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_7>()))._call_addr as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_7),
            "::",
            stringify!(_call_addr)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__sifields__bindgen_ty_7>()))._syscall as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_7),
            "::",
            stringify!(_syscall)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_7>()))._arch as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields__bindgen_ty_7),
            "::",
            stringify!(_arch)
        )
    );
}
#[test]
fn bindgen_test_layout___sifields() {
    assert_eq!(
        ::std::mem::size_of::<__sifields>(),
        20usize,
        concat!("Size of: ", stringify!(__sifields))
    );
    assert_eq!(
        ::std::mem::align_of::<__sifields>(),
        4usize,
        concat!("Alignment of ", stringify!(__sifields))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields>()))._kill as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields),
            "::",
            stringify!(_kill)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields>()))._timer as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields),
            "::",
            stringify!(_timer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields>()))._rt as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields),
            "::",
            stringify!(_rt)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields>()))._sigchld as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields),
            "::",
            stringify!(_sigchld)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields>()))._sigfault as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields),
            "::",
            stringify!(_sigfault)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields>()))._sigpoll as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields),
            "::",
            stringify!(_sigpoll)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__sifields>()))._sigsys as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__sifields),
            "::",
            stringify!(_sigsys)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo {
    pub __bindgen_anon_1: siginfo__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union siginfo__bindgen_ty_1 {
    pub __bindgen_anon_1: siginfo__bindgen_ty_1__bindgen_ty_1,
    pub _si_pad: [::std::os::raw::c_int; 32usize],
    _bindgen_union_align: [u32; 32usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct siginfo__bindgen_ty_1__bindgen_ty_1 {
    pub si_signo: ::std::os::raw::c_int,
    pub si_errno: ::std::os::raw::c_int,
    pub si_code: ::std::os::raw::c_int,
    pub _sifields: __sifields,
}
#[test]
fn bindgen_test_layout_siginfo__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
        32usize,
        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>())).si_signo as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(si_signo)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>())).si_errno as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(si_errno)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>())).si_code as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(si_code)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>()))._sifields as *const _
                as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_sifields)
        )
    );
}
#[test]
fn bindgen_test_layout_siginfo__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<siginfo__bindgen_ty_1>(),
        128usize,
        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(siginfo__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<siginfo__bindgen_ty_1>()))._si_pad as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(siginfo__bindgen_ty_1),
            "::",
            stringify!(_si_pad)
        )
    );
}
#[test]
fn bindgen_test_layout_siginfo() {
    assert_eq!(
        ::std::mem::size_of::<siginfo>(),
        128usize,
        concat!("Size of: ", stringify!(siginfo))
    );
    assert_eq!(
        ::std::mem::align_of::<siginfo>(),
        4usize,
        concat!("Alignment of ", stringify!(siginfo))
    );
}
pub type siginfo_t = siginfo;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sigevent {
    pub sigev_value: sigval_t,
    pub sigev_signo: ::std::os::raw::c_int,
    pub sigev_notify: ::std::os::raw::c_int,
    pub _sigev_un: sigevent__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigevent__bindgen_ty_1 {
    pub _pad: [::std::os::raw::c_int; 13usize],
    pub _tid: ::std::os::raw::c_int,
    pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
    _bindgen_union_align: [u32; 13usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
    pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval_t)>,
    pub _attribute: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._function as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_function)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._attribute as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(_attribute)
        )
    );
}
#[test]
fn bindgen_test_layout_sigevent__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
        52usize,
        concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._pad as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigevent__bindgen_ty_1),
            "::",
            stringify!(_pad)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._tid as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigevent__bindgen_ty_1),
            "::",
            stringify!(_tid)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._sigev_thread as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigevent__bindgen_ty_1),
            "::",
            stringify!(_sigev_thread)
        )
    );
}
#[test]
fn bindgen_test_layout_sigevent() {
    assert_eq!(
        ::std::mem::size_of::<sigevent>(),
        64usize,
        concat!("Size of: ", stringify!(sigevent))
    );
    assert_eq!(
        ::std::mem::align_of::<sigevent>(),
        4usize,
        concat!("Alignment of ", stringify!(sigevent))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_value as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigevent),
            "::",
            stringify!(sigev_value)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_signo as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(sigevent),
            "::",
            stringify!(sigev_signo)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_notify as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(sigevent),
            "::",
            stringify!(sigev_notify)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigevent>()))._sigev_un as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(sigevent),
            "::",
            stringify!(_sigev_un)
        )
    );
}
pub type sigevent_t = sigevent;
pub type sig_atomic_t = ::std::os::raw::c_int;
pub type sig_t = __sighandler_t;
pub type sighandler_t = __sighandler_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sigset64_t {
    pub __bits: [::std::os::raw::c_ulong; 2usize],
}
#[test]
fn bindgen_test_layout_sigset64_t() {
    assert_eq!(
        ::std::mem::size_of::<sigset64_t>(),
        8usize,
        concat!("Size of: ", stringify!(sigset64_t))
    );
    assert_eq!(
        ::std::mem::align_of::<sigset64_t>(),
        4usize,
        concat!("Alignment of ", stringify!(sigset64_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigset64_t>())).__bits as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigset64_t),
            "::",
            stringify!(__bits)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sigaction {
    pub __bindgen_anon_1: sigaction__bindgen_ty_1,
    pub sa_mask: sigset_t,
    pub sa_flags: ::std::os::raw::c_int,
    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigaction__bindgen_ty_1 {
    pub sa_handler: sighandler_t,
    pub sa_sigaction: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: ::std::os::raw::c_int,
            arg2: *mut siginfo,
            arg3: *mut ::std::os::raw::c_void,
        ),
    >,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_sigaction__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
        4usize,
        concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_handler as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction__bindgen_ty_1),
            "::",
            stringify!(sa_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_sigaction as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction__bindgen_ty_1),
            "::",
            stringify!(sa_sigaction)
        )
    );
}
#[test]
fn bindgen_test_layout_sigaction() {
    assert_eq!(
        ::std::mem::size_of::<sigaction>(),
        16usize,
        concat!("Size of: ", stringify!(sigaction))
    );
    assert_eq!(
        ::std::mem::align_of::<sigaction>(),
        4usize,
        concat!("Alignment of ", stringify!(sigaction))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction>())).sa_mask as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction),
            "::",
            stringify!(sa_mask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction>())).sa_flags as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction),
            "::",
            stringify!(sa_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction>())).sa_restorer as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction),
            "::",
            stringify!(sa_restorer)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct sigaction64 {
    pub __bindgen_anon_1: sigaction64__bindgen_ty_1,
    pub sa_flags: ::std::os::raw::c_int,
    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
    pub sa_mask: sigset64_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union sigaction64__bindgen_ty_1 {
    pub sa_handler: sighandler_t,
    pub sa_sigaction: ::std::option::Option<
        unsafe extern "C" fn(
            arg1: ::std::os::raw::c_int,
            arg2: *mut siginfo,
            arg3: *mut ::std::os::raw::c_void,
        ),
    >,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_sigaction64__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<sigaction64__bindgen_ty_1>(),
        4usize,
        concat!("Size of: ", stringify!(sigaction64__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<sigaction64__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(sigaction64__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sigaction64__bindgen_ty_1>())).sa_handler as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction64__bindgen_ty_1),
            "::",
            stringify!(sa_handler)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<sigaction64__bindgen_ty_1>())).sa_sigaction as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction64__bindgen_ty_1),
            "::",
            stringify!(sa_sigaction)
        )
    );
}
#[test]
fn bindgen_test_layout_sigaction64() {
    assert_eq!(
        ::std::mem::size_of::<sigaction64>(),
        20usize,
        concat!("Size of: ", stringify!(sigaction64))
    );
    assert_eq!(
        ::std::mem::align_of::<sigaction64>(),
        4usize,
        concat!("Alignment of ", stringify!(sigaction64))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction64>())).sa_flags as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction64),
            "::",
            stringify!(sa_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction64>())).sa_restorer as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction64),
            "::",
            stringify!(sa_restorer)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<sigaction64>())).sa_mask as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(sigaction64),
            "::",
            stringify!(sa_mask)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct user_fpregs_struct {
    pub cwd: ::std::os::raw::c_long,
    pub swd: ::std::os::raw::c_long,
    pub twd: ::std::os::raw::c_long,
    pub fip: ::std::os::raw::c_long,
    pub fcs: ::std::os::raw::c_long,
    pub foo: ::std::os::raw::c_long,
    pub fos: ::std::os::raw::c_long,
    pub st_space: [::std::os::raw::c_long; 20usize],
}
#[test]
fn bindgen_test_layout_user_fpregs_struct() {
    assert_eq!(
        ::std::mem::size_of::<user_fpregs_struct>(),
        108usize,
        concat!("Size of: ", stringify!(user_fpregs_struct))
    );
    assert_eq!(
        ::std::mem::align_of::<user_fpregs_struct>(),
        4usize,
        concat!("Alignment of ", stringify!(user_fpregs_struct))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpregs_struct>())).cwd as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpregs_struct),
            "::",
            stringify!(cwd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpregs_struct>())).swd as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpregs_struct),
            "::",
            stringify!(swd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpregs_struct>())).twd as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpregs_struct),
            "::",
            stringify!(twd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpregs_struct>())).fip as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpregs_struct),
            "::",
            stringify!(fip)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpregs_struct>())).fcs as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpregs_struct),
            "::",
            stringify!(fcs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpregs_struct>())).foo as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpregs_struct),
            "::",
            stringify!(foo)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpregs_struct>())).fos as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpregs_struct),
            "::",
            stringify!(fos)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpregs_struct>())).st_space as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpregs_struct),
            "::",
            stringify!(st_space)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct user_fpxregs_struct {
    pub cwd: ::std::os::raw::c_ushort,
    pub swd: ::std::os::raw::c_ushort,
    pub twd: ::std::os::raw::c_ushort,
    pub fop: ::std::os::raw::c_ushort,
    pub fip: ::std::os::raw::c_long,
    pub fcs: ::std::os::raw::c_long,
    pub foo: ::std::os::raw::c_long,
    pub fos: ::std::os::raw::c_long,
    pub mxcsr: ::std::os::raw::c_long,
    pub reserved: ::std::os::raw::c_long,
    pub st_space: [::std::os::raw::c_long; 32usize],
    pub xmm_space: [::std::os::raw::c_long; 32usize],
    pub padding: [::std::os::raw::c_long; 56usize],
}
#[test]
fn bindgen_test_layout_user_fpxregs_struct() {
    assert_eq!(
        ::std::mem::size_of::<user_fpxregs_struct>(),
        512usize,
        concat!("Size of: ", stringify!(user_fpxregs_struct))
    );
    assert_eq!(
        ::std::mem::align_of::<user_fpxregs_struct>(),
        4usize,
        concat!("Alignment of ", stringify!(user_fpxregs_struct))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).cwd as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(cwd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).swd as *const _ as usize },
        2usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(swd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).twd as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(twd)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).fop as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(fop)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).fip as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(fip)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).fcs as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(fcs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).foo as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(foo)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).fos as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(fos)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).mxcsr as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(mxcsr)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).reserved as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(reserved)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).st_space as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(st_space)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).xmm_space as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(xmm_space)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_fpxregs_struct>())).padding as *const _ as usize },
        288usize,
        concat!(
            "Offset of field: ",
            stringify!(user_fpxregs_struct),
            "::",
            stringify!(padding)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct user_regs_struct {
    pub ebx: ::std::os::raw::c_long,
    pub ecx: ::std::os::raw::c_long,
    pub edx: ::std::os::raw::c_long,
    pub esi: ::std::os::raw::c_long,
    pub edi: ::std::os::raw::c_long,
    pub ebp: ::std::os::raw::c_long,
    pub eax: ::std::os::raw::c_long,
    pub xds: ::std::os::raw::c_long,
    pub xes: ::std::os::raw::c_long,
    pub xfs: ::std::os::raw::c_long,
    pub xgs: ::std::os::raw::c_long,
    pub orig_eax: ::std::os::raw::c_long,
    pub eip: ::std::os::raw::c_long,
    pub xcs: ::std::os::raw::c_long,
    pub eflags: ::std::os::raw::c_long,
    pub esp: ::std::os::raw::c_long,
    pub xss: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout_user_regs_struct() {
    assert_eq!(
        ::std::mem::size_of::<user_regs_struct>(),
        68usize,
        concat!("Size of: ", stringify!(user_regs_struct))
    );
    assert_eq!(
        ::std::mem::align_of::<user_regs_struct>(),
        4usize,
        concat!("Alignment of ", stringify!(user_regs_struct))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).ebx as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(ebx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).ecx as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(ecx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).edx as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(edx)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).esi as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(esi)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).edi as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(edi)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).ebp as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(ebp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).eax as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(eax)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).xds as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(xds)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).xes as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(xes)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).xfs as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(xfs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).xgs as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(xgs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).orig_eax as *const _ as usize },
        44usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(orig_eax)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).eip as *const _ as usize },
        48usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(eip)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).xcs as *const _ as usize },
        52usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(xcs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).eflags as *const _ as usize },
        56usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(eflags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).esp as *const _ as usize },
        60usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(esp)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user_regs_struct>())).xss as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(user_regs_struct),
            "::",
            stringify!(xss)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct user {
    pub regs: user_regs_struct,
    pub u_fpvalid: ::std::os::raw::c_int,
    pub i387: user_fpregs_struct,
    pub u_tsize: ::std::os::raw::c_ulong,
    pub u_dsize: ::std::os::raw::c_ulong,
    pub u_ssize: ::std::os::raw::c_ulong,
    pub start_code: ::std::os::raw::c_ulong,
    pub start_stack: ::std::os::raw::c_ulong,
    pub signal: ::std::os::raw::c_long,
    pub reserved: ::std::os::raw::c_int,
    pub u_ar0: *mut user_regs_struct,
    pub u_fpstate: *mut user_fpregs_struct,
    pub magic: ::std::os::raw::c_ulong,
    pub u_comm: [::std::os::raw::c_char; 32usize],
    pub u_debugreg: [::std::os::raw::c_int; 8usize],
}
#[test]
fn bindgen_test_layout_user() {
    assert_eq!(
        ::std::mem::size_of::<user>(),
        284usize,
        concat!("Size of: ", stringify!(user))
    );
    assert_eq!(
        ::std::mem::align_of::<user>(),
        4usize,
        concat!("Alignment of ", stringify!(user))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).regs as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(regs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).u_fpvalid as *const _ as usize },
        68usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(u_fpvalid)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).i387 as *const _ as usize },
        72usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(i387)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).u_tsize as *const _ as usize },
        180usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(u_tsize)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).u_dsize as *const _ as usize },
        184usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(u_dsize)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).u_ssize as *const _ as usize },
        188usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(u_ssize)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).start_code as *const _ as usize },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(start_code)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).start_stack as *const _ as usize },
        196usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(start_stack)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).signal as *const _ as usize },
        200usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(signal)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).reserved as *const _ as usize },
        204usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(reserved)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).u_ar0 as *const _ as usize },
        208usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(u_ar0)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).u_fpstate as *const _ as usize },
        212usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(u_fpstate)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).magic as *const _ as usize },
        216usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(magic)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).u_comm as *const _ as usize },
        220usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(u_comm)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<user>())).u_debugreg as *const _ as usize },
        252usize,
        concat!(
            "Offset of field: ",
            stringify!(user),
            "::",
            stringify!(u_debugreg)
        )
    );
}
pub const REG_GS: _bindgen_ty_41 = 0;
pub const REG_FS: _bindgen_ty_41 = 1;
pub const REG_ES: _bindgen_ty_41 = 2;
pub const REG_DS: _bindgen_ty_41 = 3;
pub const REG_EDI: _bindgen_ty_41 = 4;
pub const REG_ESI: _bindgen_ty_41 = 5;
pub const REG_EBP: _bindgen_ty_41 = 6;
pub const REG_ESP: _bindgen_ty_41 = 7;
pub const REG_EBX: _bindgen_ty_41 = 8;
pub const REG_EDX: _bindgen_ty_41 = 9;
pub const REG_ECX: _bindgen_ty_41 = 10;
pub const REG_EAX: _bindgen_ty_41 = 11;
pub const REG_TRAPNO: _bindgen_ty_41 = 12;
pub const REG_ERR: _bindgen_ty_41 = 13;
pub const REG_EIP: _bindgen_ty_41 = 14;
pub const REG_CS: _bindgen_ty_41 = 15;
pub const REG_EFL: _bindgen_ty_41 = 16;
pub const REG_UESP: _bindgen_ty_41 = 17;
pub const REG_SS: _bindgen_ty_41 = 18;
pub const NGREG: _bindgen_ty_41 = 19;
pub type _bindgen_ty_41 = u32;
pub type greg_t = ::std::os::raw::c_int;
pub type gregset_t = [greg_t; 19usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _libc_fpreg {
    pub significand: [::std::os::raw::c_ushort; 4usize],
    pub exponent: ::std::os::raw::c_ushort,
}
#[test]
fn bindgen_test_layout__libc_fpreg() {
    assert_eq!(
        ::std::mem::size_of::<_libc_fpreg>(),
        10usize,
        concat!("Size of: ", stringify!(_libc_fpreg))
    );
    assert_eq!(
        ::std::mem::align_of::<_libc_fpreg>(),
        2usize,
        concat!("Alignment of ", stringify!(_libc_fpreg))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpreg>())).significand as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpreg),
            "::",
            stringify!(significand)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpreg>())).exponent as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpreg),
            "::",
            stringify!(exponent)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _libc_fpstate {
    pub cw: ::std::os::raw::c_ulong,
    pub sw: ::std::os::raw::c_ulong,
    pub tag: ::std::os::raw::c_ulong,
    pub ipoff: ::std::os::raw::c_ulong,
    pub cssel: ::std::os::raw::c_ulong,
    pub dataoff: ::std::os::raw::c_ulong,
    pub datasel: ::std::os::raw::c_ulong,
    pub _st: [_libc_fpreg; 8usize],
    pub status: ::std::os::raw::c_ulong,
}
#[test]
fn bindgen_test_layout__libc_fpstate() {
    assert_eq!(
        ::std::mem::size_of::<_libc_fpstate>(),
        112usize,
        concat!("Size of: ", stringify!(_libc_fpstate))
    );
    assert_eq!(
        ::std::mem::align_of::<_libc_fpstate>(),
        4usize,
        concat!("Alignment of ", stringify!(_libc_fpstate))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).cw as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpstate),
            "::",
            stringify!(cw)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).sw as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpstate),
            "::",
            stringify!(sw)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).tag as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpstate),
            "::",
            stringify!(tag)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).ipoff as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpstate),
            "::",
            stringify!(ipoff)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).cssel as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpstate),
            "::",
            stringify!(cssel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).dataoff as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpstate),
            "::",
            stringify!(dataoff)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).datasel as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpstate),
            "::",
            stringify!(datasel)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpstate>()))._st as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpstate),
            "::",
            stringify!(_st)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_libc_fpstate>())).status as *const _ as usize },
        108usize,
        concat!(
            "Offset of field: ",
            stringify!(_libc_fpstate),
            "::",
            stringify!(status)
        )
    );
}
pub type fpregset_t = *mut _libc_fpstate;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct mcontext_t {
    pub gregs: gregset_t,
    pub fpregs: fpregset_t,
    pub oldmask: ::std::os::raw::c_ulong,
    pub cr2: ::std::os::raw::c_ulong,
}
#[test]
fn bindgen_test_layout_mcontext_t() {
    assert_eq!(
        ::std::mem::size_of::<mcontext_t>(),
        88usize,
        concat!("Size of: ", stringify!(mcontext_t))
    );
    assert_eq!(
        ::std::mem::align_of::<mcontext_t>(),
        4usize,
        concat!("Alignment of ", stringify!(mcontext_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mcontext_t>())).gregs as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(mcontext_t),
            "::",
            stringify!(gregs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mcontext_t>())).fpregs as *const _ as usize },
        76usize,
        concat!(
            "Offset of field: ",
            stringify!(mcontext_t),
            "::",
            stringify!(fpregs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mcontext_t>())).oldmask as *const _ as usize },
        80usize,
        concat!(
            "Offset of field: ",
            stringify!(mcontext_t),
            "::",
            stringify!(oldmask)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<mcontext_t>())).cr2 as *const _ as usize },
        84usize,
        concat!(
            "Offset of field: ",
            stringify!(mcontext_t),
            "::",
            stringify!(cr2)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ucontext {
    pub uc_flags: ::std::os::raw::c_ulong,
    pub uc_link: *mut ucontext,
    pub uc_stack: stack_t,
    pub uc_mcontext: mcontext_t,
    pub __bindgen_anon_1: ucontext__bindgen_ty_1,
    pub __fpregs_mem: _libc_fpstate,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union ucontext__bindgen_ty_1 {
    pub __bindgen_anon_1: ucontext__bindgen_ty_1__bindgen_ty_1,
    pub uc_sigmask64: sigset64_t,
    _bindgen_union_align: [u32; 2usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ucontext__bindgen_ty_1__bindgen_ty_1 {
    pub uc_sigmask: sigset_t,
    pub __padding_rt_sigset: u32,
}
#[test]
fn bindgen_test_layout_ucontext__bindgen_ty_1__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
        8usize,
        concat!(
            "Size of: ",
            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ucontext__bindgen_ty_1__bindgen_ty_1>())).uc_sigmask as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(uc_sigmask)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ucontext__bindgen_ty_1__bindgen_ty_1>())).__padding_rt_sigset
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
            "::",
            stringify!(__padding_rt_sigset)
        )
    );
}
#[test]
fn bindgen_test_layout_ucontext__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ucontext__bindgen_ty_1>(),
        8usize,
        concat!("Size of: ", stringify!(ucontext__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<ucontext__bindgen_ty_1>(),
        4usize,
        concat!("Alignment of ", stringify!(ucontext__bindgen_ty_1))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ucontext__bindgen_ty_1>())).uc_sigmask64 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ucontext__bindgen_ty_1),
            "::",
            stringify!(uc_sigmask64)
        )
    );
}
#[test]
fn bindgen_test_layout_ucontext() {
    assert_eq!(
        ::std::mem::size_of::<ucontext>(),
        228usize,
        concat!("Size of: ", stringify!(ucontext))
    );
    assert_eq!(
        ::std::mem::align_of::<ucontext>(),
        4usize,
        concat!("Alignment of ", stringify!(ucontext))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ucontext>())).uc_flags as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ucontext),
            "::",
            stringify!(uc_flags)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ucontext>())).uc_link as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ucontext),
            "::",
            stringify!(uc_link)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ucontext>())).uc_stack as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ucontext),
            "::",
            stringify!(uc_stack)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ucontext>())).uc_mcontext as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(ucontext),
            "::",
            stringify!(uc_mcontext)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ucontext>())).__fpregs_mem as *const _ as usize },
        116usize,
        concat!(
            "Offset of field: ",
            stringify!(ucontext),
            "::",
            stringify!(__fpregs_mem)
        )
    );
}
pub type ucontext_t = ucontext;
extern "C" {
    pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
}
extern "C" {
    pub static sys_siglist: [*const ::std::os::raw::c_char; 65usize];
}
extern "C" {
    pub static sys_signame: [*const ::std::os::raw::c_char; 65usize];
}
extern "C" {
    pub fn sigaction(
        __signal: ::std::os::raw::c_int,
        __new_action: *const sigaction,
        __old_action: *mut sigaction,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigaction64(
        __signal: ::std::os::raw::c_int,
        __new_action: *const sigaction64,
        __old_action: *mut sigaction64,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn siginterrupt(
        __signal: ::std::os::raw::c_int,
        __flag: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn signal(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
}
extern "C" {
    pub fn sigaddset(
        __set: *mut sigset_t,
        __signal: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigaddset64(
        __set: *mut sigset64_t,
        __signal: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigdelset(
        __set: *mut sigset_t,
        __signal: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigdelset64(
        __set: *mut sigset64_t,
        __signal: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigemptyset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigfillset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigismember(
        __set: *const sigset_t,
        __signal: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigismember64(
        __set: *const sigset64_t,
        __signal: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigpending64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigprocmask(
        __how: ::std::os::raw::c_int,
        __new_set: *const sigset_t,
        __old_set: *mut sigset_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigprocmask64(
        __how: ::std::os::raw::c_int,
        __new_set: *const sigset64_t,
        __old_set: *mut sigset64_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigsuspend(__mask: *const sigset_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigsuspend64(__mask: *const sigset64_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigwait(
        __set: *const sigset_t,
        __signal: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigwait64(
        __set: *const sigset64_t,
        __signal: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sighold(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigignore(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigpause(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigrelse(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigset(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
}
extern "C" {
    pub fn raise(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn kill(__pid: pid_t, __signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn killpg(
        __pgrp: ::std::os::raw::c_int,
        __signal: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn tgkill(
        __tgid: ::std::os::raw::c_int,
        __tid: ::std::os::raw::c_int,
        __signal: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigaltstack(
        __new_signal_stack: *const stack_t,
        __old_signal_stack: *mut stack_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn psiginfo(__info: *const siginfo_t, __msg: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn psignal(__signal: ::std::os::raw::c_int, __msg: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn pthread_kill(
        __pthread: pthread_t,
        __signal: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_sigmask(
        __how: ::std::os::raw::c_int,
        __new_set: *const sigset_t,
        __old_set: *mut sigset_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pthread_sigmask64(
        __how: ::std::os::raw::c_int,
        __new_set: *const sigset64_t,
        __old_set: *mut sigset64_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigqueue(
        __pid: pid_t,
        __signal: ::std::os::raw::c_int,
        __value: sigval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigtimedwait(
        __set: *const sigset_t,
        __info: *mut siginfo_t,
        __timeout: *const timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigtimedwait64(
        __set: *const sigset64_t,
        __info: *mut siginfo_t,
        __timeout: *const timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sigwaitinfo64(__set: *const sigset64_t, __info: *mut siginfo_t)
        -> ::std::os::raw::c_int;
}
pub type fd_mask = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct fd_set {
    pub fds_bits: [fd_mask; 32usize],
}
#[test]
fn bindgen_test_layout_fd_set() {
    assert_eq!(
        ::std::mem::size_of::<fd_set>(),
        128usize,
        concat!("Size of: ", stringify!(fd_set))
    );
    assert_eq!(
        ::std::mem::align_of::<fd_set>(),
        4usize,
        concat!("Alignment of ", stringify!(fd_set))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<fd_set>())).fds_bits as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(fd_set),
            "::",
            stringify!(fds_bits)
        )
    );
}
extern "C" {
    pub fn __FD_CLR_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: size_t);
}
extern "C" {
    pub fn __FD_SET_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: size_t);
}
extern "C" {
    pub fn __FD_ISSET_chk(
        arg1: ::std::os::raw::c_int,
        arg2: *const fd_set,
        arg3: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn select(
        __fd_count: ::std::os::raw::c_int,
        __read_fds: *mut fd_set,
        __write_fds: *mut fd_set,
        __exception_fds: *mut fd_set,
        __timeout: *mut timeval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pselect(
        __fd_count: ::std::os::raw::c_int,
        __read_fds: *mut fd_set,
        __write_fds: *mut fd_set,
        __exception_fds: *mut fd_set,
        __timeout: *const timespec,
        __mask: *const sigset_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn pselect64(
        __fd_count: ::std::os::raw::c_int,
        __read_fds: *mut fd_set,
        __write_fds: *mut fd_set,
        __exception_fds: *mut fd_set,
        __timeout: *const timespec,
        __mask: *const sigset64_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn gettimeofday(__tv: *mut timeval, __tz: *mut timezone) -> ::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 getitimer(
        __which: ::std::os::raw::c_int,
        __current_value: *mut itimerval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn setitimer(
        __which: ::std::os::raw::c_int,
        __new_value: *const itimerval,
        __old_value: *mut itimerval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn utimes(
        __path: *const ::std::os::raw::c_char,
        __times: *const timeval,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub static mut tzname: [*mut ::std::os::raw::c_char; 0usize];
}
extern "C" {
    pub static mut daylight: ::std::os::raw::c_int;
}
extern "C" {
    pub static mut timezone: ::std::os::raw::c_long;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tm {
    pub tm_sec: ::std::os::raw::c_int,
    pub tm_min: ::std::os::raw::c_int,
    pub tm_hour: ::std::os::raw::c_int,
    pub tm_mday: ::std::os::raw::c_int,
    pub tm_mon: ::std::os::raw::c_int,
    pub tm_year: ::std::os::raw::c_int,
    pub tm_wday: ::std::os::raw::c_int,
    pub tm_yday: ::std::os::raw::c_int,
    pub tm_isdst: ::std::os::raw::c_int,
    pub tm_gmtoff: ::std::os::raw::c_long,
    pub tm_zone: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_tm() {
    assert_eq!(
        ::std::mem::size_of::<tm>(),
        44usize,
        concat!("Size of: ", stringify!(tm))
    );
    assert_eq!(
        ::std::mem::align_of::<tm>(),
        4usize,
        concat!("Alignment of ", stringify!(tm))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_sec as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_sec)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_min as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_min)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_hour as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_hour)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_mday as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_mday)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_mon as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_mon)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_year as *const _ as usize },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_year)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_wday as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_wday)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_yday as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_yday)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_isdst as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_isdst)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_gmtoff as *const _ as usize },
        36usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_gmtoff)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<tm>())).tm_zone as *const _ as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(tm),
            "::",
            stringify!(tm_zone)
        )
    );
}
extern "C" {
    pub fn time(__t: *mut time_t) -> time_t;
}
extern "C" {
    pub fn nanosleep(
        __request: *const timespec,
        __remainder: *mut timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn asctime(__tm: *const tm) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn asctime_r(
        __tm: *const tm,
        __buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn difftime(__lhs: time_t, __rhs: time_t) -> f64;
}
extern "C" {
    pub fn mktime(__tm: *mut tm) -> time_t;
}
extern "C" {
    pub fn localtime(__t: *const time_t) -> *mut tm;
}
extern "C" {
    pub fn localtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
}
extern "C" {
    pub fn gmtime(__t: *const time_t) -> *mut tm;
}
extern "C" {
    pub fn gmtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
}
extern "C" {
    pub fn strptime(
        __s: *const ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        __tm: *mut tm,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strptime_l(
        __s: *const ::std::os::raw::c_char,
        __fmt: *const ::std::os::raw::c_char,
        __tm: *mut tm,
        __l: locale_t,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn strftime(
        __buf: *mut ::std::os::raw::c_char,
        __n: size_t,
        __fmt: *const ::std::os::raw::c_char,
        __tm: *const tm,
    ) -> size_t;
}
extern "C" {
    pub fn strftime_l(
        __buf: *mut ::std::os::raw::c_char,
        __n: size_t,
        __fmt: *const ::std::os::raw::c_char,
        __tm: *const tm,
        __l: locale_t,
    ) -> size_t;
}
extern "C" {
    pub fn ctime(__t: *const time_t) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn ctime_r(
        __t: *const time_t,
        __buf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn tzset();
}
extern "C" {
    pub fn clock() -> clock_t;
}
extern "C" {
    pub fn clock_getcpuclockid(__pid: pid_t, __clock: *mut clockid_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clock_getres(__clock: clockid_t, __resolution: *mut timespec) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clock_gettime(__clock: clockid_t, __ts: *mut timespec) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clock_nanosleep(
        __clock: clockid_t,
        __flags: ::std::os::raw::c_int,
        __request: *const timespec,
        __remainder: *mut timespec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn clock_settime(__clock: clockid_t, __ts: *const timespec) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_create(
        __clock: clockid_t,
        __event: *mut sigevent,
        __timer_ptr: *mut timer_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_delete(__timer: timer_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_settime(
        __timer: timer_t,
        __flags: ::std::os::raw::c_int,
        __new_value: *const itimerspec,
        __old_value: *mut itimerspec,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_gettime(__timer: timer_t, __ts: *mut itimerspec) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timer_getoverrun(__timer: timer_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn timelocal(__tm: *mut tm) -> time_t;
}
extern "C" {
    pub fn timegm(__tm: *mut tm) -> time_t;
}
extern "C" {
    pub fn timespec_get(
        __ts: *mut timespec,
        __base: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
pub const AAUDIO_DIRECTION_OUTPUT: _bindgen_ty_42 = 0;
pub const AAUDIO_DIRECTION_INPUT: _bindgen_ty_42 = 1;
pub type _bindgen_ty_42 = u32;
pub type aaudio_direction_t = i32;
pub const AAUDIO_FORMAT_INVALID: _bindgen_ty_43 = -1;
pub const AAUDIO_FORMAT_UNSPECIFIED: _bindgen_ty_43 = 0;
pub const AAUDIO_FORMAT_PCM_I16: _bindgen_ty_43 = 1;
pub const AAUDIO_FORMAT_PCM_FLOAT: _bindgen_ty_43 = 2;
pub type _bindgen_ty_43 = i32;
pub type aaudio_format_t = i32;
pub const AAUDIO_OK: _bindgen_ty_44 = 0;
pub const AAUDIO_ERROR_BASE: _bindgen_ty_44 = -900;
pub const AAUDIO_ERROR_DISCONNECTED: _bindgen_ty_44 = -899;
pub const AAUDIO_ERROR_ILLEGAL_ARGUMENT: _bindgen_ty_44 = -898;
pub const AAUDIO_ERROR_INTERNAL: _bindgen_ty_44 = -896;
pub const AAUDIO_ERROR_INVALID_STATE: _bindgen_ty_44 = -895;
pub const AAUDIO_ERROR_INVALID_HANDLE: _bindgen_ty_44 = -892;
pub const AAUDIO_ERROR_UNIMPLEMENTED: _bindgen_ty_44 = -890;
pub const AAUDIO_ERROR_UNAVAILABLE: _bindgen_ty_44 = -889;
pub const AAUDIO_ERROR_NO_FREE_HANDLES: _bindgen_ty_44 = -888;
pub const AAUDIO_ERROR_NO_MEMORY: _bindgen_ty_44 = -887;
pub const AAUDIO_ERROR_NULL: _bindgen_ty_44 = -886;
pub const AAUDIO_ERROR_TIMEOUT: _bindgen_ty_44 = -885;
pub const AAUDIO_ERROR_WOULD_BLOCK: _bindgen_ty_44 = -884;
pub const AAUDIO_ERROR_INVALID_FORMAT: _bindgen_ty_44 = -883;
pub const AAUDIO_ERROR_OUT_OF_RANGE: _bindgen_ty_44 = -882;
pub const AAUDIO_ERROR_NO_SERVICE: _bindgen_ty_44 = -881;
pub const AAUDIO_ERROR_INVALID_RATE: _bindgen_ty_44 = -880;
pub type _bindgen_ty_44 = i32;
pub type aaudio_result_t = i32;
pub const AAUDIO_STREAM_STATE_UNINITIALIZED: _bindgen_ty_45 = 0;
pub const AAUDIO_STREAM_STATE_UNKNOWN: _bindgen_ty_45 = 1;
pub const AAUDIO_STREAM_STATE_OPEN: _bindgen_ty_45 = 2;
pub const AAUDIO_STREAM_STATE_STARTING: _bindgen_ty_45 = 3;
pub const AAUDIO_STREAM_STATE_STARTED: _bindgen_ty_45 = 4;
pub const AAUDIO_STREAM_STATE_PAUSING: _bindgen_ty_45 = 5;
pub const AAUDIO_STREAM_STATE_PAUSED: _bindgen_ty_45 = 6;
pub const AAUDIO_STREAM_STATE_FLUSHING: _bindgen_ty_45 = 7;
pub const AAUDIO_STREAM_STATE_FLUSHED: _bindgen_ty_45 = 8;
pub const AAUDIO_STREAM_STATE_STOPPING: _bindgen_ty_45 = 9;
pub const AAUDIO_STREAM_STATE_STOPPED: _bindgen_ty_45 = 10;
pub const AAUDIO_STREAM_STATE_CLOSING: _bindgen_ty_45 = 11;
pub const AAUDIO_STREAM_STATE_CLOSED: _bindgen_ty_45 = 12;
pub const AAUDIO_STREAM_STATE_DISCONNECTED: _bindgen_ty_45 = 13;
pub type _bindgen_ty_45 = u32;
pub type aaudio_stream_state_t = i32;
pub const AAUDIO_SHARING_MODE_EXCLUSIVE: _bindgen_ty_46 = 0;
pub const AAUDIO_SHARING_MODE_SHARED: _bindgen_ty_46 = 1;
pub type _bindgen_ty_46 = u32;
pub type aaudio_sharing_mode_t = i32;
pub const AAUDIO_PERFORMANCE_MODE_NONE: _bindgen_ty_47 = 10;
pub const AAUDIO_PERFORMANCE_MODE_POWER_SAVING: _bindgen_ty_47 = 11;
pub const AAUDIO_PERFORMANCE_MODE_LOW_LATENCY: _bindgen_ty_47 = 12;
pub type _bindgen_ty_47 = u32;
pub type aaudio_performance_mode_t = i32;
pub const AAUDIO_USAGE_MEDIA: _bindgen_ty_48 = 1;
pub const AAUDIO_USAGE_VOICE_COMMUNICATION: _bindgen_ty_48 = 2;
pub const AAUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: _bindgen_ty_48 = 3;
pub const AAUDIO_USAGE_ALARM: _bindgen_ty_48 = 4;
pub const AAUDIO_USAGE_NOTIFICATION: _bindgen_ty_48 = 5;
pub const AAUDIO_USAGE_NOTIFICATION_RINGTONE: _bindgen_ty_48 = 6;
pub const AAUDIO_USAGE_NOTIFICATION_EVENT: _bindgen_ty_48 = 10;
pub const AAUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: _bindgen_ty_48 = 11;
pub const AAUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: _bindgen_ty_48 = 12;
pub const AAUDIO_USAGE_ASSISTANCE_SONIFICATION: _bindgen_ty_48 = 13;
pub const AAUDIO_USAGE_GAME: _bindgen_ty_48 = 14;
pub const AAUDIO_USAGE_ASSISTANT: _bindgen_ty_48 = 16;
pub const AAUDIO_SYSTEM_USAGE_EMERGENCY: _bindgen_ty_48 = 1000;
pub const AAUDIO_SYSTEM_USAGE_SAFETY: _bindgen_ty_48 = 1001;
pub const AAUDIO_SYSTEM_USAGE_VEHICLE_STATUS: _bindgen_ty_48 = 1002;
pub const AAUDIO_SYSTEM_USAGE_ANNOUNCEMENT: _bindgen_ty_48 = 1003;
pub type _bindgen_ty_48 = u32;
pub type aaudio_usage_t = i32;
pub const AAUDIO_CONTENT_TYPE_SPEECH: _bindgen_ty_49 = 1;
pub const AAUDIO_CONTENT_TYPE_MUSIC: _bindgen_ty_49 = 2;
pub const AAUDIO_CONTENT_TYPE_MOVIE: _bindgen_ty_49 = 3;
pub const AAUDIO_CONTENT_TYPE_SONIFICATION: _bindgen_ty_49 = 4;
pub type _bindgen_ty_49 = u32;
pub type aaudio_content_type_t = i32;
pub const AAUDIO_INPUT_PRESET_GENERIC: _bindgen_ty_50 = 1;
pub const AAUDIO_INPUT_PRESET_CAMCORDER: _bindgen_ty_50 = 5;
pub const AAUDIO_INPUT_PRESET_VOICE_RECOGNITION: _bindgen_ty_50 = 6;
pub const AAUDIO_INPUT_PRESET_VOICE_COMMUNICATION: _bindgen_ty_50 = 7;
pub const AAUDIO_INPUT_PRESET_UNPROCESSED: _bindgen_ty_50 = 9;
pub const AAUDIO_INPUT_PRESET_VOICE_PERFORMANCE: _bindgen_ty_50 = 10;
pub type _bindgen_ty_50 = u32;
pub type aaudio_input_preset_t = i32;
pub const AAUDIO_ALLOW_CAPTURE_BY_ALL: _bindgen_ty_51 = 1;
pub const AAUDIO_ALLOW_CAPTURE_BY_SYSTEM: _bindgen_ty_51 = 2;
pub const AAUDIO_ALLOW_CAPTURE_BY_NONE: _bindgen_ty_51 = 3;
pub type _bindgen_ty_51 = u32;
pub type aaudio_allowed_capture_policy_t = i32;
pub const AAUDIO_SESSION_ID_NONE: _bindgen_ty_52 = -1;
pub const AAUDIO_SESSION_ID_ALLOCATE: _bindgen_ty_52 = 0;
pub type _bindgen_ty_52 = i32;
pub type aaudio_session_id_t = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AAudioStreamStruct {
    _unused: [u8; 0],
}
pub type AAudioStream = AAudioStreamStruct;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AAudioStreamBuilderStruct {
    _unused: [u8; 0],
}
pub type AAudioStreamBuilder = AAudioStreamBuilderStruct;
extern "C" {
    pub fn AAudio_convertResultToText(returnCode: aaudio_result_t)
        -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn AAudio_convertStreamStateToText(
        state: aaudio_stream_state_t,
    ) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn AAudio_createStreamBuilder(builder: *mut *mut AAudioStreamBuilder) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStreamBuilder_setDeviceId(builder: *mut AAudioStreamBuilder, deviceId: i32);
}
extern "C" {
    pub fn AAudioStreamBuilder_setSampleRate(builder: *mut AAudioStreamBuilder, sampleRate: i32);
}
extern "C" {
    pub fn AAudioStreamBuilder_setChannelCount(
        builder: *mut AAudioStreamBuilder,
        channelCount: i32,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setSamplesPerFrame(
        builder: *mut AAudioStreamBuilder,
        samplesPerFrame: i32,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setFormat(
        builder: *mut AAudioStreamBuilder,
        format: aaudio_format_t,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setSharingMode(
        builder: *mut AAudioStreamBuilder,
        sharingMode: aaudio_sharing_mode_t,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setDirection(
        builder: *mut AAudioStreamBuilder,
        direction: aaudio_direction_t,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setBufferCapacityInFrames(
        builder: *mut AAudioStreamBuilder,
        numFrames: i32,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setPerformanceMode(
        builder: *mut AAudioStreamBuilder,
        mode: aaudio_performance_mode_t,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setUsage(builder: *mut AAudioStreamBuilder, usage: aaudio_usage_t);
}
extern "C" {
    pub fn AAudioStreamBuilder_setContentType(
        builder: *mut AAudioStreamBuilder,
        contentType: aaudio_content_type_t,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setInputPreset(
        builder: *mut AAudioStreamBuilder,
        inputPreset: aaudio_input_preset_t,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setAllowedCapturePolicy(
        builder: *mut AAudioStreamBuilder,
        capturePolicy: aaudio_allowed_capture_policy_t,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setSessionId(
        builder: *mut AAudioStreamBuilder,
        sessionId: aaudio_session_id_t,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setPrivacySensitive(
        builder: *mut AAudioStreamBuilder,
        privacySensitive: bool,
    );
}
pub const AAUDIO_CALLBACK_RESULT_CONTINUE: _bindgen_ty_53 = 0;
pub const AAUDIO_CALLBACK_RESULT_STOP: _bindgen_ty_53 = 1;
pub type _bindgen_ty_53 = u32;
pub type aaudio_data_callback_result_t = i32;
pub type AAudioStream_dataCallback = ::std::option::Option<
    unsafe extern "C" fn(
        stream: *mut AAudioStream,
        userData: *mut ::std::os::raw::c_void,
        audioData: *mut ::std::os::raw::c_void,
        numFrames: i32,
    ) -> aaudio_data_callback_result_t,
>;
extern "C" {
    pub fn AAudioStreamBuilder_setDataCallback(
        builder: *mut AAudioStreamBuilder,
        callback: AAudioStream_dataCallback,
        userData: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_setFramesPerDataCallback(
        builder: *mut AAudioStreamBuilder,
        numFrames: i32,
    );
}
pub type AAudioStream_errorCallback = ::std::option::Option<
    unsafe extern "C" fn(
        stream: *mut AAudioStream,
        userData: *mut ::std::os::raw::c_void,
        error: aaudio_result_t,
    ),
>;
extern "C" {
    pub fn AAudioStreamBuilder_setErrorCallback(
        builder: *mut AAudioStreamBuilder,
        callback: AAudioStream_errorCallback,
        userData: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn AAudioStreamBuilder_openStream(
        builder: *mut AAudioStreamBuilder,
        stream: *mut *mut AAudioStream,
    ) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStreamBuilder_delete(builder: *mut AAudioStreamBuilder) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_release(stream: *mut AAudioStream) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_close(stream: *mut AAudioStream) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_requestStart(stream: *mut AAudioStream) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_requestPause(stream: *mut AAudioStream) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_requestFlush(stream: *mut AAudioStream) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_requestStop(stream: *mut AAudioStream) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_getState(stream: *mut AAudioStream) -> aaudio_stream_state_t;
}
extern "C" {
    pub fn AAudioStream_waitForStateChange(
        stream: *mut AAudioStream,
        inputState: aaudio_stream_state_t,
        nextState: *mut aaudio_stream_state_t,
        timeoutNanoseconds: i64,
    ) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_read(
        stream: *mut AAudioStream,
        buffer: *mut ::std::os::raw::c_void,
        numFrames: i32,
        timeoutNanoseconds: i64,
    ) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_write(
        stream: *mut AAudioStream,
        buffer: *const ::std::os::raw::c_void,
        numFrames: i32,
        timeoutNanoseconds: i64,
    ) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_setBufferSizeInFrames(
        stream: *mut AAudioStream,
        numFrames: i32,
    ) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_getBufferSizeInFrames(stream: *mut AAudioStream) -> i32;
}
extern "C" {
    pub fn AAudioStream_getFramesPerBurst(stream: *mut AAudioStream) -> i32;
}
extern "C" {
    pub fn AAudioStream_getBufferCapacityInFrames(stream: *mut AAudioStream) -> i32;
}
extern "C" {
    pub fn AAudioStream_getFramesPerDataCallback(stream: *mut AAudioStream) -> i32;
}
extern "C" {
    pub fn AAudioStream_getXRunCount(stream: *mut AAudioStream) -> i32;
}
extern "C" {
    pub fn AAudioStream_getSampleRate(stream: *mut AAudioStream) -> i32;
}
extern "C" {
    pub fn AAudioStream_getChannelCount(stream: *mut AAudioStream) -> i32;
}
extern "C" {
    pub fn AAudioStream_getSamplesPerFrame(stream: *mut AAudioStream) -> i32;
}
extern "C" {
    pub fn AAudioStream_getDeviceId(stream: *mut AAudioStream) -> i32;
}
extern "C" {
    pub fn AAudioStream_getFormat(stream: *mut AAudioStream) -> aaudio_format_t;
}
extern "C" {
    pub fn AAudioStream_getSharingMode(stream: *mut AAudioStream) -> aaudio_sharing_mode_t;
}
extern "C" {
    pub fn AAudioStream_getPerformanceMode(stream: *mut AAudioStream) -> aaudio_performance_mode_t;
}
extern "C" {
    pub fn AAudioStream_getDirection(stream: *mut AAudioStream) -> aaudio_direction_t;
}
extern "C" {
    pub fn AAudioStream_getFramesWritten(stream: *mut AAudioStream) -> i64;
}
extern "C" {
    pub fn AAudioStream_getFramesRead(stream: *mut AAudioStream) -> i64;
}
extern "C" {
    pub fn AAudioStream_getSessionId(stream: *mut AAudioStream) -> aaudio_session_id_t;
}
extern "C" {
    pub fn AAudioStream_getTimestamp(
        stream: *mut AAudioStream,
        clockid: clockid_t,
        framePosition: *mut i64,
        timeNanoseconds: *mut i64,
    ) -> aaudio_result_t;
}
extern "C" {
    pub fn AAudioStream_getUsage(stream: *mut AAudioStream) -> aaudio_usage_t;
}
extern "C" {
    pub fn AAudioStream_getContentType(stream: *mut AAudioStream) -> aaudio_content_type_t;
}
extern "C" {
    pub fn AAudioStream_getInputPreset(stream: *mut AAudioStream) -> aaudio_input_preset_t;
}
extern "C" {
    pub fn AAudioStream_getAllowedCapturePolicy(
        stream: *mut AAudioStream,
    ) -> aaudio_allowed_capture_policy_t;
}
extern "C" {
    pub fn AAudioStream_isPrivacySensitive(stream: *mut AAudioStream) -> bool;
}
pub const camera_status_t_ACAMERA_OK: camera_status_t = 0;
pub const camera_status_t_ACAMERA_ERROR_BASE: camera_status_t = -10000;
pub const camera_status_t_ACAMERA_ERROR_UNKNOWN: camera_status_t = -10000;
pub const camera_status_t_ACAMERA_ERROR_INVALID_PARAMETER: camera_status_t = -10001;
pub const camera_status_t_ACAMERA_ERROR_CAMERA_DISCONNECTED: camera_status_t = -10002;
pub const camera_status_t_ACAMERA_ERROR_NOT_ENOUGH_MEMORY: camera_status_t = -10003;
pub const camera_status_t_ACAMERA_ERROR_METADATA_NOT_FOUND: camera_status_t = -10004;
pub const camera_status_t_ACAMERA_ERROR_CAMERA_DEVICE: camera_status_t = -10005;
pub const camera_status_t_ACAMERA_ERROR_CAMERA_SERVICE: camera_status_t = -10006;
pub const camera_status_t_ACAMERA_ERROR_SESSION_CLOSED: camera_status_t = -10007;
pub const camera_status_t_ACAMERA_ERROR_INVALID_OPERATION: camera_status_t = -10008;
pub const camera_status_t_ACAMERA_ERROR_STREAM_CONFIGURE_FAIL: camera_status_t = -10009;
pub const camera_status_t_ACAMERA_ERROR_CAMERA_IN_USE: camera_status_t = -10010;
pub const camera_status_t_ACAMERA_ERROR_MAX_CAMERA_IN_USE: camera_status_t = -10011;
pub const camera_status_t_ACAMERA_ERROR_CAMERA_DISABLED: camera_status_t = -10012;
pub const camera_status_t_ACAMERA_ERROR_PERMISSION_DENIED: camera_status_t = -10013;
pub const camera_status_t_ACAMERA_ERROR_UNSUPPORTED_OPERATION: camera_status_t = -10014;
pub type camera_status_t = i32;
pub const acamera_metadata_section_ACAMERA_COLOR_CORRECTION: acamera_metadata_section = 0;
pub const acamera_metadata_section_ACAMERA_CONTROL: acamera_metadata_section = 1;
pub const acamera_metadata_section_ACAMERA_DEMOSAIC: acamera_metadata_section = 2;
pub const acamera_metadata_section_ACAMERA_EDGE: acamera_metadata_section = 3;
pub const acamera_metadata_section_ACAMERA_FLASH: acamera_metadata_section = 4;
pub const acamera_metadata_section_ACAMERA_FLASH_INFO: acamera_metadata_section = 5;
pub const acamera_metadata_section_ACAMERA_HOT_PIXEL: acamera_metadata_section = 6;
pub const acamera_metadata_section_ACAMERA_JPEG: acamera_metadata_section = 7;
pub const acamera_metadata_section_ACAMERA_LENS: acamera_metadata_section = 8;
pub const acamera_metadata_section_ACAMERA_LENS_INFO: acamera_metadata_section = 9;
pub const acamera_metadata_section_ACAMERA_NOISE_REDUCTION: acamera_metadata_section = 10;
pub const acamera_metadata_section_ACAMERA_QUIRKS: acamera_metadata_section = 11;
pub const acamera_metadata_section_ACAMERA_REQUEST: acamera_metadata_section = 12;
pub const acamera_metadata_section_ACAMERA_SCALER: acamera_metadata_section = 13;
pub const acamera_metadata_section_ACAMERA_SENSOR: acamera_metadata_section = 14;
pub const acamera_metadata_section_ACAMERA_SENSOR_INFO: acamera_metadata_section = 15;
pub const acamera_metadata_section_ACAMERA_SHADING: acamera_metadata_section = 16;
pub const acamera_metadata_section_ACAMERA_STATISTICS: acamera_metadata_section = 17;
pub const acamera_metadata_section_ACAMERA_STATISTICS_INFO: acamera_metadata_section = 18;
pub const acamera_metadata_section_ACAMERA_TONEMAP: acamera_metadata_section = 19;
pub const acamera_metadata_section_ACAMERA_LED: acamera_metadata_section = 20;
pub const acamera_metadata_section_ACAMERA_INFO: acamera_metadata_section = 21;
pub const acamera_metadata_section_ACAMERA_BLACK_LEVEL: acamera_metadata_section = 22;
pub const acamera_metadata_section_ACAMERA_SYNC: acamera_metadata_section = 23;
pub const acamera_metadata_section_ACAMERA_REPROCESS: acamera_metadata_section = 24;
pub const acamera_metadata_section_ACAMERA_DEPTH: acamera_metadata_section = 25;
pub const acamera_metadata_section_ACAMERA_LOGICAL_MULTI_CAMERA: acamera_metadata_section = 26;
pub const acamera_metadata_section_ACAMERA_DISTORTION_CORRECTION: acamera_metadata_section = 27;
pub const acamera_metadata_section_ACAMERA_HEIC: acamera_metadata_section = 28;
pub const acamera_metadata_section_ACAMERA_HEIC_INFO: acamera_metadata_section = 29;
pub const acamera_metadata_section_ACAMERA_SECTION_COUNT: acamera_metadata_section = 30;
pub const acamera_metadata_section_ACAMERA_VENDOR: acamera_metadata_section = 32768;
pub type acamera_metadata_section = u32;
pub use self::acamera_metadata_section as acamera_metadata_section_t;
pub const acamera_metadata_section_start_ACAMERA_COLOR_CORRECTION_START:
    acamera_metadata_section_start = 0;
pub const acamera_metadata_section_start_ACAMERA_CONTROL_START: acamera_metadata_section_start =
    65536;
pub const acamera_metadata_section_start_ACAMERA_DEMOSAIC_START: acamera_metadata_section_start =
    131072;
pub const acamera_metadata_section_start_ACAMERA_EDGE_START: acamera_metadata_section_start =
    196608;
pub const acamera_metadata_section_start_ACAMERA_FLASH_START: acamera_metadata_section_start =
    262144;
pub const acamera_metadata_section_start_ACAMERA_FLASH_INFO_START: acamera_metadata_section_start =
    327680;
pub const acamera_metadata_section_start_ACAMERA_HOT_PIXEL_START: acamera_metadata_section_start =
    393216;
pub const acamera_metadata_section_start_ACAMERA_JPEG_START: acamera_metadata_section_start =
    458752;
pub const acamera_metadata_section_start_ACAMERA_LENS_START: acamera_metadata_section_start =
    524288;
pub const acamera_metadata_section_start_ACAMERA_LENS_INFO_START: acamera_metadata_section_start =
    589824;
pub const acamera_metadata_section_start_ACAMERA_NOISE_REDUCTION_START:
    acamera_metadata_section_start = 655360;
pub const acamera_metadata_section_start_ACAMERA_QUIRKS_START: acamera_metadata_section_start =
    720896;
pub const acamera_metadata_section_start_ACAMERA_REQUEST_START: acamera_metadata_section_start =
    786432;
pub const acamera_metadata_section_start_ACAMERA_SCALER_START: acamera_metadata_section_start =
    851968;
pub const acamera_metadata_section_start_ACAMERA_SENSOR_START: acamera_metadata_section_start =
    917504;
pub const acamera_metadata_section_start_ACAMERA_SENSOR_INFO_START: acamera_metadata_section_start =
    983040;
pub const acamera_metadata_section_start_ACAMERA_SHADING_START: acamera_metadata_section_start =
    1048576;
pub const acamera_metadata_section_start_ACAMERA_STATISTICS_START: acamera_metadata_section_start =
    1114112;
pub const acamera_metadata_section_start_ACAMERA_STATISTICS_INFO_START:
    acamera_metadata_section_start = 1179648;
pub const acamera_metadata_section_start_ACAMERA_TONEMAP_START: acamera_metadata_section_start =
    1245184;
pub const acamera_metadata_section_start_ACAMERA_LED_START: acamera_metadata_section_start =
    1310720;
pub const acamera_metadata_section_start_ACAMERA_INFO_START: acamera_metadata_section_start =
    1376256;
pub const acamera_metadata_section_start_ACAMERA_BLACK_LEVEL_START: acamera_metadata_section_start =
    1441792;
pub const acamera_metadata_section_start_ACAMERA_SYNC_START: acamera_metadata_section_start =
    1507328;
pub const acamera_metadata_section_start_ACAMERA_REPROCESS_START: acamera_metadata_section_start =
    1572864;
pub const acamera_metadata_section_start_ACAMERA_DEPTH_START: acamera_metadata_section_start =
    1638400;
pub const acamera_metadata_section_start_ACAMERA_LOGICAL_MULTI_CAMERA_START:
    acamera_metadata_section_start = 1703936;
pub const acamera_metadata_section_start_ACAMERA_DISTORTION_CORRECTION_START:
    acamera_metadata_section_start = 1769472;
pub const acamera_metadata_section_start_ACAMERA_HEIC_START: acamera_metadata_section_start =
    1835008;
pub const acamera_metadata_section_start_ACAMERA_HEIC_INFO_START: acamera_metadata_section_start =
    1900544;
pub const acamera_metadata_section_start_ACAMERA_VENDOR_START: acamera_metadata_section_start =
    -2147483648;
pub type acamera_metadata_section_start = i32;
pub use self::acamera_metadata_section_start as acamera_metadata_section_start_t;
pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_MODE: acamera_metadata_tag = 0;
pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_TRANSFORM: acamera_metadata_tag = 1;
pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_GAINS: acamera_metadata_tag = 2;
pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_ABERRATION_MODE: acamera_metadata_tag = 3;
pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES:
    acamera_metadata_tag = 4;
pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_END: acamera_metadata_tag = 5;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_ANTIBANDING_MODE: acamera_metadata_tag = 65536;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION: acamera_metadata_tag =
    65537;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_LOCK: acamera_metadata_tag = 65538;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_MODE: acamera_metadata_tag = 65539;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_REGIONS: acamera_metadata_tag = 65540;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_TARGET_FPS_RANGE: acamera_metadata_tag = 65541;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER: acamera_metadata_tag = 65542;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_MODE: acamera_metadata_tag = 65543;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_REGIONS: acamera_metadata_tag = 65544;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_TRIGGER: acamera_metadata_tag = 65545;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_LOCK: acamera_metadata_tag = 65546;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_MODE: acamera_metadata_tag = 65547;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_REGIONS: acamera_metadata_tag = 65548;
pub const acamera_metadata_tag_ACAMERA_CONTROL_CAPTURE_INTENT: acamera_metadata_tag = 65549;
pub const acamera_metadata_tag_ACAMERA_CONTROL_EFFECT_MODE: acamera_metadata_tag = 65550;
pub const acamera_metadata_tag_ACAMERA_CONTROL_MODE: acamera_metadata_tag = 65551;
pub const acamera_metadata_tag_ACAMERA_CONTROL_SCENE_MODE: acamera_metadata_tag = 65552;
pub const acamera_metadata_tag_ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE: acamera_metadata_tag =
    65553;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES:
    acamera_metadata_tag = 65554;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_AVAILABLE_MODES: acamera_metadata_tag = 65555;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES:
    acamera_metadata_tag = 65556;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_COMPENSATION_RANGE: acamera_metadata_tag = 65557;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_COMPENSATION_STEP: acamera_metadata_tag = 65558;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_AVAILABLE_MODES: acamera_metadata_tag = 65559;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_EFFECTS: acamera_metadata_tag = 65560;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_SCENE_MODES: acamera_metadata_tag = 65561;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES:
    acamera_metadata_tag = 65562;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_AVAILABLE_MODES: acamera_metadata_tag = 65563;
pub const acamera_metadata_tag_ACAMERA_CONTROL_MAX_REGIONS: acamera_metadata_tag = 65564;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_STATE: acamera_metadata_tag = 65567;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_STATE: acamera_metadata_tag = 65568;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_STATE: acamera_metadata_tag = 65570;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_LOCK_AVAILABLE: acamera_metadata_tag = 65572;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_LOCK_AVAILABLE: acamera_metadata_tag = 65573;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_MODES: acamera_metadata_tag = 65574;
pub const acamera_metadata_tag_ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE:
    acamera_metadata_tag = 65575;
pub const acamera_metadata_tag_ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST: acamera_metadata_tag =
    65576;
pub const acamera_metadata_tag_ACAMERA_CONTROL_ENABLE_ZSL: acamera_metadata_tag = 65577;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_SCENE_CHANGE: acamera_metadata_tag = 65578;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_BOKEH_MAX_SIZES: acamera_metadata_tag =
    65579;
pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_BOKEH_ZOOM_RATIO_RANGES:
    acamera_metadata_tag = 65580;
pub const acamera_metadata_tag_ACAMERA_CONTROL_BOKEH_MODE: acamera_metadata_tag = 65581;
pub const acamera_metadata_tag_ACAMERA_CONTROL_ZOOM_RATIO_RANGE: acamera_metadata_tag = 65582;
pub const acamera_metadata_tag_ACAMERA_CONTROL_ZOOM_RATIO: acamera_metadata_tag = 65583;
pub const acamera_metadata_tag_ACAMERA_CONTROL_END: acamera_metadata_tag = 65584;
pub const acamera_metadata_tag_ACAMERA_EDGE_MODE: acamera_metadata_tag = 196608;
pub const acamera_metadata_tag_ACAMERA_EDGE_AVAILABLE_EDGE_MODES: acamera_metadata_tag = 196610;
pub const acamera_metadata_tag_ACAMERA_EDGE_END: acamera_metadata_tag = 196611;
pub const acamera_metadata_tag_ACAMERA_FLASH_MODE: acamera_metadata_tag = 262146;
pub const acamera_metadata_tag_ACAMERA_FLASH_STATE: acamera_metadata_tag = 262149;
pub const acamera_metadata_tag_ACAMERA_FLASH_END: acamera_metadata_tag = 262150;
pub const acamera_metadata_tag_ACAMERA_FLASH_INFO_AVAILABLE: acamera_metadata_tag = 327680;
pub const acamera_metadata_tag_ACAMERA_FLASH_INFO_END: acamera_metadata_tag = 327681;
pub const acamera_metadata_tag_ACAMERA_HOT_PIXEL_MODE: acamera_metadata_tag = 393216;
pub const acamera_metadata_tag_ACAMERA_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: acamera_metadata_tag =
    393217;
pub const acamera_metadata_tag_ACAMERA_HOT_PIXEL_END: acamera_metadata_tag = 393218;
pub const acamera_metadata_tag_ACAMERA_JPEG_GPS_COORDINATES: acamera_metadata_tag = 458752;
pub const acamera_metadata_tag_ACAMERA_JPEG_GPS_PROCESSING_METHOD: acamera_metadata_tag = 458753;
pub const acamera_metadata_tag_ACAMERA_JPEG_GPS_TIMESTAMP: acamera_metadata_tag = 458754;
pub const acamera_metadata_tag_ACAMERA_JPEG_ORIENTATION: acamera_metadata_tag = 458755;
pub const acamera_metadata_tag_ACAMERA_JPEG_QUALITY: acamera_metadata_tag = 458756;
pub const acamera_metadata_tag_ACAMERA_JPEG_THUMBNAIL_QUALITY: acamera_metadata_tag = 458757;
pub const acamera_metadata_tag_ACAMERA_JPEG_THUMBNAIL_SIZE: acamera_metadata_tag = 458758;
pub const acamera_metadata_tag_ACAMERA_JPEG_AVAILABLE_THUMBNAIL_SIZES: acamera_metadata_tag =
    458759;
pub const acamera_metadata_tag_ACAMERA_JPEG_END: acamera_metadata_tag = 458760;
pub const acamera_metadata_tag_ACAMERA_LENS_APERTURE: acamera_metadata_tag = 524288;
pub const acamera_metadata_tag_ACAMERA_LENS_FILTER_DENSITY: acamera_metadata_tag = 524289;
pub const acamera_metadata_tag_ACAMERA_LENS_FOCAL_LENGTH: acamera_metadata_tag = 524290;
pub const acamera_metadata_tag_ACAMERA_LENS_FOCUS_DISTANCE: acamera_metadata_tag = 524291;
pub const acamera_metadata_tag_ACAMERA_LENS_OPTICAL_STABILIZATION_MODE: acamera_metadata_tag =
    524292;
pub const acamera_metadata_tag_ACAMERA_LENS_FACING: acamera_metadata_tag = 524293;
pub const acamera_metadata_tag_ACAMERA_LENS_POSE_ROTATION: acamera_metadata_tag = 524294;
pub const acamera_metadata_tag_ACAMERA_LENS_POSE_TRANSLATION: acamera_metadata_tag = 524295;
pub const acamera_metadata_tag_ACAMERA_LENS_FOCUS_RANGE: acamera_metadata_tag = 524296;
pub const acamera_metadata_tag_ACAMERA_LENS_STATE: acamera_metadata_tag = 524297;
pub const acamera_metadata_tag_ACAMERA_LENS_INTRINSIC_CALIBRATION: acamera_metadata_tag = 524298;
pub const acamera_metadata_tag_ACAMERA_LENS_RADIAL_DISTORTION: acamera_metadata_tag = 524299;
pub const acamera_metadata_tag_ACAMERA_LENS_POSE_REFERENCE: acamera_metadata_tag = 524300;
pub const acamera_metadata_tag_ACAMERA_LENS_DISTORTION: acamera_metadata_tag = 524301;
pub const acamera_metadata_tag_ACAMERA_LENS_END: acamera_metadata_tag = 524302;
pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_APERTURES: acamera_metadata_tag = 589824;
pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES: acamera_metadata_tag =
    589825;
pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: acamera_metadata_tag =
    589826;
pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION:
    acamera_metadata_tag = 589827;
pub const acamera_metadata_tag_ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE: acamera_metadata_tag = 589828;
pub const acamera_metadata_tag_ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE: acamera_metadata_tag =
    589829;
pub const acamera_metadata_tag_ACAMERA_LENS_INFO_SHADING_MAP_SIZE: acamera_metadata_tag = 589830;
pub const acamera_metadata_tag_ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: acamera_metadata_tag =
    589831;
pub const acamera_metadata_tag_ACAMERA_LENS_INFO_END: acamera_metadata_tag = 589832;
pub const acamera_metadata_tag_ACAMERA_NOISE_REDUCTION_MODE: acamera_metadata_tag = 655360;
pub const acamera_metadata_tag_ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES:
    acamera_metadata_tag = 655362;
pub const acamera_metadata_tag_ACAMERA_NOISE_REDUCTION_END: acamera_metadata_tag = 655363;
pub const acamera_metadata_tag_ACAMERA_REQUEST_MAX_NUM_OUTPUT_STREAMS: acamera_metadata_tag =
    786438;
pub const acamera_metadata_tag_ACAMERA_REQUEST_PIPELINE_DEPTH: acamera_metadata_tag = 786441;
pub const acamera_metadata_tag_ACAMERA_REQUEST_PIPELINE_MAX_DEPTH: acamera_metadata_tag = 786442;
pub const acamera_metadata_tag_ACAMERA_REQUEST_PARTIAL_RESULT_COUNT: acamera_metadata_tag = 786443;
pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES: acamera_metadata_tag =
    786444;
pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS: acamera_metadata_tag =
    786445;
pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS: acamera_metadata_tag = 786446;
pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS:
    acamera_metadata_tag = 786447;
pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS: acamera_metadata_tag =
    786448;
pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS:
    acamera_metadata_tag = 786449;
pub const acamera_metadata_tag_ACAMERA_REQUEST_END: acamera_metadata_tag = 786450;
pub const acamera_metadata_tag_ACAMERA_SCALER_CROP_REGION: acamera_metadata_tag = 851968;
pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: acamera_metadata_tag =
    851972;
pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
    acamera_metadata_tag = 851978;
pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: acamera_metadata_tag =
    851979;
pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS: acamera_metadata_tag =
    851980;
pub const acamera_metadata_tag_ACAMERA_SCALER_CROPPING_TYPE: acamera_metadata_tag = 851981;
pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS:
    acamera_metadata_tag = 851982;
pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP:
    acamera_metadata_tag = 851983;
pub const acamera_metadata_tag_ACAMERA_SCALER_END: acamera_metadata_tag = 851984;
pub const acamera_metadata_tag_ACAMERA_SENSOR_EXPOSURE_TIME: acamera_metadata_tag = 917504;
pub const acamera_metadata_tag_ACAMERA_SENSOR_FRAME_DURATION: acamera_metadata_tag = 917505;
pub const acamera_metadata_tag_ACAMERA_SENSOR_SENSITIVITY: acamera_metadata_tag = 917506;
pub const acamera_metadata_tag_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1: acamera_metadata_tag = 917507;
pub const acamera_metadata_tag_ACAMERA_SENSOR_REFERENCE_ILLUMINANT2: acamera_metadata_tag = 917508;
pub const acamera_metadata_tag_ACAMERA_SENSOR_CALIBRATION_TRANSFORM1: acamera_metadata_tag = 917509;
pub const acamera_metadata_tag_ACAMERA_SENSOR_CALIBRATION_TRANSFORM2: acamera_metadata_tag = 917510;
pub const acamera_metadata_tag_ACAMERA_SENSOR_COLOR_TRANSFORM1: acamera_metadata_tag = 917511;
pub const acamera_metadata_tag_ACAMERA_SENSOR_COLOR_TRANSFORM2: acamera_metadata_tag = 917512;
pub const acamera_metadata_tag_ACAMERA_SENSOR_FORWARD_MATRIX1: acamera_metadata_tag = 917513;
pub const acamera_metadata_tag_ACAMERA_SENSOR_FORWARD_MATRIX2: acamera_metadata_tag = 917514;
pub const acamera_metadata_tag_ACAMERA_SENSOR_BLACK_LEVEL_PATTERN: acamera_metadata_tag = 917516;
pub const acamera_metadata_tag_ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY: acamera_metadata_tag = 917517;
pub const acamera_metadata_tag_ACAMERA_SENSOR_ORIENTATION: acamera_metadata_tag = 917518;
pub const acamera_metadata_tag_ACAMERA_SENSOR_TIMESTAMP: acamera_metadata_tag = 917520;
pub const acamera_metadata_tag_ACAMERA_SENSOR_NEUTRAL_COLOR_POINT: acamera_metadata_tag = 917522;
pub const acamera_metadata_tag_ACAMERA_SENSOR_NOISE_PROFILE: acamera_metadata_tag = 917523;
pub const acamera_metadata_tag_ACAMERA_SENSOR_GREEN_SPLIT: acamera_metadata_tag = 917526;
pub const acamera_metadata_tag_ACAMERA_SENSOR_TEST_PATTERN_DATA: acamera_metadata_tag = 917527;
pub const acamera_metadata_tag_ACAMERA_SENSOR_TEST_PATTERN_MODE: acamera_metadata_tag = 917528;
pub const acamera_metadata_tag_ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES: acamera_metadata_tag =
    917529;
pub const acamera_metadata_tag_ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW: acamera_metadata_tag = 917530;
pub const acamera_metadata_tag_ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS: acamera_metadata_tag = 917531;
pub const acamera_metadata_tag_ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL: acamera_metadata_tag = 917532;
pub const acamera_metadata_tag_ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL: acamera_metadata_tag = 917533;
pub const acamera_metadata_tag_ACAMERA_SENSOR_END: acamera_metadata_tag = 917534;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE: acamera_metadata_tag = 983040;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE: acamera_metadata_tag = 983041;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: acamera_metadata_tag =
    983042;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE: acamera_metadata_tag =
    983043;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION: acamera_metadata_tag =
    983044;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PHYSICAL_SIZE: acamera_metadata_tag = 983045;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE: acamera_metadata_tag = 983046;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_WHITE_LEVEL: acamera_metadata_tag = 983047;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE: acamera_metadata_tag = 983048;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED: acamera_metadata_tag =
    983049;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE:
    acamera_metadata_tag = 983050;
pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_END: acamera_metadata_tag = 983051;
pub const acamera_metadata_tag_ACAMERA_SHADING_MODE: acamera_metadata_tag = 1048576;
pub const acamera_metadata_tag_ACAMERA_SHADING_AVAILABLE_MODES: acamera_metadata_tag = 1048578;
pub const acamera_metadata_tag_ACAMERA_SHADING_END: acamera_metadata_tag = 1048579;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_DETECT_MODE: acamera_metadata_tag = 1114112;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE: acamera_metadata_tag =
    1114115;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_IDS: acamera_metadata_tag = 1114116;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_LANDMARKS: acamera_metadata_tag = 1114117;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_RECTANGLES: acamera_metadata_tag = 1114118;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_SCORES: acamera_metadata_tag = 1114119;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_LENS_SHADING_MAP: acamera_metadata_tag = 1114123;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_SCENE_FLICKER: acamera_metadata_tag = 1114126;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_HOT_PIXEL_MAP: acamera_metadata_tag = 1114127;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE: acamera_metadata_tag =
    1114128;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_DATA_MODE: acamera_metadata_tag = 1114129;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_TIMESTAMPS: acamera_metadata_tag = 1114130;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_X_SHIFTS: acamera_metadata_tag = 1114131;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_Y_SHIFTS: acamera_metadata_tag = 1114132;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_END: acamera_metadata_tag = 1114133;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES:
    acamera_metadata_tag = 1179648;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_MAX_FACE_COUNT: acamera_metadata_tag =
    1179650;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES:
    acamera_metadata_tag = 1179654;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES:
    acamera_metadata_tag = 1179655;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES:
    acamera_metadata_tag = 1179656;
pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_END: acamera_metadata_tag = 1179657;
pub const acamera_metadata_tag_ACAMERA_TONEMAP_CURVE_BLUE: acamera_metadata_tag = 1245184;
pub const acamera_metadata_tag_ACAMERA_TONEMAP_CURVE_GREEN: acamera_metadata_tag = 1245185;
pub const acamera_metadata_tag_ACAMERA_TONEMAP_CURVE_RED: acamera_metadata_tag = 1245186;
pub const acamera_metadata_tag_ACAMERA_TONEMAP_MODE: acamera_metadata_tag = 1245187;
pub const acamera_metadata_tag_ACAMERA_TONEMAP_MAX_CURVE_POINTS: acamera_metadata_tag = 1245188;
pub const acamera_metadata_tag_ACAMERA_TONEMAP_AVAILABLE_TONE_MAP_MODES: acamera_metadata_tag =
    1245189;
pub const acamera_metadata_tag_ACAMERA_TONEMAP_GAMMA: acamera_metadata_tag = 1245190;
pub const acamera_metadata_tag_ACAMERA_TONEMAP_PRESET_CURVE: acamera_metadata_tag = 1245191;
pub const acamera_metadata_tag_ACAMERA_TONEMAP_END: acamera_metadata_tag = 1245192;
pub const acamera_metadata_tag_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL: acamera_metadata_tag =
    1376256;
pub const acamera_metadata_tag_ACAMERA_INFO_VERSION: acamera_metadata_tag = 1376257;
pub const acamera_metadata_tag_ACAMERA_INFO_END: acamera_metadata_tag = 1376258;
pub const acamera_metadata_tag_ACAMERA_BLACK_LEVEL_LOCK: acamera_metadata_tag = 1441792;
pub const acamera_metadata_tag_ACAMERA_BLACK_LEVEL_END: acamera_metadata_tag = 1441793;
pub const acamera_metadata_tag_ACAMERA_SYNC_FRAME_NUMBER: acamera_metadata_tag = 1507328;
pub const acamera_metadata_tag_ACAMERA_SYNC_MAX_LATENCY: acamera_metadata_tag = 1507329;
pub const acamera_metadata_tag_ACAMERA_SYNC_END: acamera_metadata_tag = 1507330;
pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS:
    acamera_metadata_tag = 1638401;
pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS:
    acamera_metadata_tag = 1638402;
pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
    1638403;
pub const acamera_metadata_tag_ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE: acamera_metadata_tag = 1638404;
pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS:
    acamera_metadata_tag = 1638405;
pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS:
    acamera_metadata_tag = 1638406;
pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS:
    acamera_metadata_tag = 1638407;
pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS:
    acamera_metadata_tag = 1638408;
pub const acamera_metadata_tag_ACAMERA_DEPTH_END: acamera_metadata_tag = 1638409;
pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS: acamera_metadata_tag =
    1703936;
pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: acamera_metadata_tag =
    1703937;
pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID:
    acamera_metadata_tag = 1703938;
pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_END: acamera_metadata_tag = 1703939;
pub const acamera_metadata_tag_ACAMERA_DISTORTION_CORRECTION_MODE: acamera_metadata_tag = 1769472;
pub const acamera_metadata_tag_ACAMERA_DISTORTION_CORRECTION_AVAILABLE_MODES: acamera_metadata_tag =
    1769473;
pub const acamera_metadata_tag_ACAMERA_DISTORTION_CORRECTION_END: acamera_metadata_tag = 1769474;
pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS:
    acamera_metadata_tag = 1835008;
pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS:
    acamera_metadata_tag = 1835009;
pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS: acamera_metadata_tag =
    1835010;
pub const acamera_metadata_tag_ACAMERA_HEIC_END: acamera_metadata_tag = 1835011;
pub type acamera_metadata_tag = u32;
pub use self::acamera_metadata_tag as acamera_metadata_tag_t;
pub const acamera_metadata_enum_acamera_color_correction_mode_ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX : acamera_metadata_enum_acamera_color_correction_mode = 0 ;
pub const acamera_metadata_enum_acamera_color_correction_mode_ACAMERA_COLOR_CORRECTION_MODE_FAST:
    acamera_metadata_enum_acamera_color_correction_mode = 1;
pub const acamera_metadata_enum_acamera_color_correction_mode_ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_color_correction_mode = 2 ;
pub type acamera_metadata_enum_acamera_color_correction_mode = u32;
pub use self::acamera_metadata_enum_acamera_color_correction_mode as acamera_metadata_enum_android_color_correction_mode_t;
pub const acamera_metadata_enum_acamera_color_correction_aberration_mode_ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_OFF : acamera_metadata_enum_acamera_color_correction_aberration_mode = 0 ;
pub const acamera_metadata_enum_acamera_color_correction_aberration_mode_ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_FAST : acamera_metadata_enum_acamera_color_correction_aberration_mode = 1 ;
pub const acamera_metadata_enum_acamera_color_correction_aberration_mode_ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_color_correction_aberration_mode = 2 ;
pub type acamera_metadata_enum_acamera_color_correction_aberration_mode = u32;
pub use self::acamera_metadata_enum_acamera_color_correction_aberration_mode as acamera_metadata_enum_android_color_correction_aberration_mode_t;
pub const acamera_metadata_enum_acamera_control_ae_antibanding_mode_ACAMERA_CONTROL_AE_ANTIBANDING_MODE_OFF : acamera_metadata_enum_acamera_control_ae_antibanding_mode = 0 ;
pub const acamera_metadata_enum_acamera_control_ae_antibanding_mode_ACAMERA_CONTROL_AE_ANTIBANDING_MODE_50HZ : acamera_metadata_enum_acamera_control_ae_antibanding_mode = 1 ;
pub const acamera_metadata_enum_acamera_control_ae_antibanding_mode_ACAMERA_CONTROL_AE_ANTIBANDING_MODE_60HZ : acamera_metadata_enum_acamera_control_ae_antibanding_mode = 2 ;
pub const acamera_metadata_enum_acamera_control_ae_antibanding_mode_ACAMERA_CONTROL_AE_ANTIBANDING_MODE_AUTO : acamera_metadata_enum_acamera_control_ae_antibanding_mode = 3 ;
pub type acamera_metadata_enum_acamera_control_ae_antibanding_mode = u32;
pub use self::acamera_metadata_enum_acamera_control_ae_antibanding_mode as acamera_metadata_enum_android_control_ae_antibanding_mode_t;
pub const acamera_metadata_enum_acamera_control_ae_lock_ACAMERA_CONTROL_AE_LOCK_OFF:
    acamera_metadata_enum_acamera_control_ae_lock = 0;
pub const acamera_metadata_enum_acamera_control_ae_lock_ACAMERA_CONTROL_AE_LOCK_ON:
    acamera_metadata_enum_acamera_control_ae_lock = 1;
pub type acamera_metadata_enum_acamera_control_ae_lock = u32;
pub use self::acamera_metadata_enum_acamera_control_ae_lock as acamera_metadata_enum_android_control_ae_lock_t;
pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_OFF:
    acamera_metadata_enum_acamera_control_ae_mode = 0;
pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON:
    acamera_metadata_enum_acamera_control_ae_mode = 1;
pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH:
    acamera_metadata_enum_acamera_control_ae_mode = 2;
pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
    acamera_metadata_enum_acamera_control_ae_mode = 3;
pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE : acamera_metadata_enum_acamera_control_ae_mode = 4 ;
pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH : acamera_metadata_enum_acamera_control_ae_mode = 5 ;
pub type acamera_metadata_enum_acamera_control_ae_mode = u32;
pub use self::acamera_metadata_enum_acamera_control_ae_mode as acamera_metadata_enum_android_control_ae_mode_t;
pub const acamera_metadata_enum_acamera_control_ae_precapture_trigger_ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE : acamera_metadata_enum_acamera_control_ae_precapture_trigger = 0 ;
pub const acamera_metadata_enum_acamera_control_ae_precapture_trigger_ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START : acamera_metadata_enum_acamera_control_ae_precapture_trigger = 1 ;
pub const acamera_metadata_enum_acamera_control_ae_precapture_trigger_ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL : acamera_metadata_enum_acamera_control_ae_precapture_trigger = 2 ;
pub type acamera_metadata_enum_acamera_control_ae_precapture_trigger = u32;
pub use self::acamera_metadata_enum_acamera_control_ae_precapture_trigger as acamera_metadata_enum_android_control_ae_precapture_trigger_t;
pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_OFF:
    acamera_metadata_enum_acamera_control_af_mode = 0;
pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_AUTO:
    acamera_metadata_enum_acamera_control_af_mode = 1;
pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_MACRO:
    acamera_metadata_enum_acamera_control_af_mode = 2;
pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
    acamera_metadata_enum_acamera_control_af_mode = 3;
pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE : acamera_metadata_enum_acamera_control_af_mode = 4 ;
pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_EDOF:
    acamera_metadata_enum_acamera_control_af_mode = 5;
pub type acamera_metadata_enum_acamera_control_af_mode = u32;
pub use self::acamera_metadata_enum_acamera_control_af_mode as acamera_metadata_enum_android_control_af_mode_t;
pub const acamera_metadata_enum_acamera_control_af_trigger_ACAMERA_CONTROL_AF_TRIGGER_IDLE:
    acamera_metadata_enum_acamera_control_af_trigger = 0;
pub const acamera_metadata_enum_acamera_control_af_trigger_ACAMERA_CONTROL_AF_TRIGGER_START:
    acamera_metadata_enum_acamera_control_af_trigger = 1;
pub const acamera_metadata_enum_acamera_control_af_trigger_ACAMERA_CONTROL_AF_TRIGGER_CANCEL:
    acamera_metadata_enum_acamera_control_af_trigger = 2;
pub type acamera_metadata_enum_acamera_control_af_trigger = u32;
pub use self::acamera_metadata_enum_acamera_control_af_trigger as acamera_metadata_enum_android_control_af_trigger_t;
pub const acamera_metadata_enum_acamera_control_awb_lock_ACAMERA_CONTROL_AWB_LOCK_OFF:
    acamera_metadata_enum_acamera_control_awb_lock = 0;
pub const acamera_metadata_enum_acamera_control_awb_lock_ACAMERA_CONTROL_AWB_LOCK_ON:
    acamera_metadata_enum_acamera_control_awb_lock = 1;
pub type acamera_metadata_enum_acamera_control_awb_lock = u32;
pub use self::acamera_metadata_enum_acamera_control_awb_lock as acamera_metadata_enum_android_control_awb_lock_t;
pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_OFF:
    acamera_metadata_enum_acamera_control_awb_mode = 0;
pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_AUTO:
    acamera_metadata_enum_acamera_control_awb_mode = 1;
pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_INCANDESCENT:
    acamera_metadata_enum_acamera_control_awb_mode = 2;
pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_FLUORESCENT:
    acamera_metadata_enum_acamera_control_awb_mode = 3;
pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT : acamera_metadata_enum_acamera_control_awb_mode = 4 ;
pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_DAYLIGHT:
    acamera_metadata_enum_acamera_control_awb_mode = 5;
pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT : acamera_metadata_enum_acamera_control_awb_mode = 6 ;
pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_TWILIGHT:
    acamera_metadata_enum_acamera_control_awb_mode = 7;
pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_SHADE:
    acamera_metadata_enum_acamera_control_awb_mode = 8;
pub type acamera_metadata_enum_acamera_control_awb_mode = u32;
pub use self::acamera_metadata_enum_acamera_control_awb_mode as acamera_metadata_enum_android_control_awb_mode_t;
pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM : acamera_metadata_enum_acamera_control_capture_intent = 0 ;
pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW : acamera_metadata_enum_acamera_control_capture_intent = 1 ;
pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE : acamera_metadata_enum_acamera_control_capture_intent = 2 ;
pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD : acamera_metadata_enum_acamera_control_capture_intent = 3 ;
pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT : acamera_metadata_enum_acamera_control_capture_intent = 4 ;
pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG : acamera_metadata_enum_acamera_control_capture_intent = 5 ;
pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL : acamera_metadata_enum_acamera_control_capture_intent = 6 ;
pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_MOTION_TRACKING : acamera_metadata_enum_acamera_control_capture_intent = 7 ;
pub type acamera_metadata_enum_acamera_control_capture_intent = u32;
pub use self::acamera_metadata_enum_acamera_control_capture_intent as acamera_metadata_enum_android_control_capture_intent_t;
pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_OFF:
    acamera_metadata_enum_acamera_control_effect_mode = 0;
pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_MONO:
    acamera_metadata_enum_acamera_control_effect_mode = 1;
pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE:
    acamera_metadata_enum_acamera_control_effect_mode = 2;
pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE:
    acamera_metadata_enum_acamera_control_effect_mode = 3;
pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_SEPIA:
    acamera_metadata_enum_acamera_control_effect_mode = 4;
pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE : acamera_metadata_enum_acamera_control_effect_mode = 5 ;
pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD : acamera_metadata_enum_acamera_control_effect_mode = 6 ;
pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD : acamera_metadata_enum_acamera_control_effect_mode = 7 ;
pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_AQUA:
    acamera_metadata_enum_acamera_control_effect_mode = 8;
pub type acamera_metadata_enum_acamera_control_effect_mode = u32;
pub use self::acamera_metadata_enum_acamera_control_effect_mode as acamera_metadata_enum_android_control_effect_mode_t;
pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_OFF:
    acamera_metadata_enum_acamera_control_mode = 0;
pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_AUTO:
    acamera_metadata_enum_acamera_control_mode = 1;
pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_USE_SCENE_MODE:
    acamera_metadata_enum_acamera_control_mode = 2;
pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_OFF_KEEP_STATE:
    acamera_metadata_enum_acamera_control_mode = 3;
pub type acamera_metadata_enum_acamera_control_mode = u32;
pub use self::acamera_metadata_enum_acamera_control_mode as acamera_metadata_enum_android_control_mode_t;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_DISABLED:
    acamera_metadata_enum_acamera_control_scene_mode = 0;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY : acamera_metadata_enum_acamera_control_scene_mode = 1 ;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_ACTION:
    acamera_metadata_enum_acamera_control_scene_mode = 2;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_PORTRAIT:
    acamera_metadata_enum_acamera_control_scene_mode = 3;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE:
    acamera_metadata_enum_acamera_control_scene_mode = 4;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_NIGHT:
    acamera_metadata_enum_acamera_control_scene_mode = 5;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT : acamera_metadata_enum_acamera_control_scene_mode = 6 ;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_THEATRE:
    acamera_metadata_enum_acamera_control_scene_mode = 7;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_BEACH:
    acamera_metadata_enum_acamera_control_scene_mode = 8;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_SNOW:
    acamera_metadata_enum_acamera_control_scene_mode = 9;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_SUNSET:
    acamera_metadata_enum_acamera_control_scene_mode = 10;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO : acamera_metadata_enum_acamera_control_scene_mode = 11 ;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_FIREWORKS:
    acamera_metadata_enum_acamera_control_scene_mode = 12;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_SPORTS:
    acamera_metadata_enum_acamera_control_scene_mode = 13;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_PARTY:
    acamera_metadata_enum_acamera_control_scene_mode = 14;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT : acamera_metadata_enum_acamera_control_scene_mode = 15 ;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_BARCODE:
    acamera_metadata_enum_acamera_control_scene_mode = 16;
pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_HDR:
    acamera_metadata_enum_acamera_control_scene_mode = 18;
pub type acamera_metadata_enum_acamera_control_scene_mode = u32;
pub use self::acamera_metadata_enum_acamera_control_scene_mode as acamera_metadata_enum_android_control_scene_mode_t;
pub const acamera_metadata_enum_acamera_control_video_stabilization_mode_ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_OFF : acamera_metadata_enum_acamera_control_video_stabilization_mode = 0 ;
pub const acamera_metadata_enum_acamera_control_video_stabilization_mode_ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_ON : acamera_metadata_enum_acamera_control_video_stabilization_mode = 1 ;
pub type acamera_metadata_enum_acamera_control_video_stabilization_mode = u32;
pub use self::acamera_metadata_enum_acamera_control_video_stabilization_mode as acamera_metadata_enum_android_control_video_stabilization_mode_t;
pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_INACTIVE:
    acamera_metadata_enum_acamera_control_ae_state = 0;
pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_SEARCHING:
    acamera_metadata_enum_acamera_control_ae_state = 1;
pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_CONVERGED:
    acamera_metadata_enum_acamera_control_ae_state = 2;
pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_LOCKED:
    acamera_metadata_enum_acamera_control_ae_state = 3;
pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED:
    acamera_metadata_enum_acamera_control_ae_state = 4;
pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_PRECAPTURE:
    acamera_metadata_enum_acamera_control_ae_state = 5;
pub type acamera_metadata_enum_acamera_control_ae_state = u32;
pub use self::acamera_metadata_enum_acamera_control_ae_state as acamera_metadata_enum_android_control_ae_state_t;
pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_INACTIVE:
    acamera_metadata_enum_acamera_control_af_state = 0;
pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN:
    acamera_metadata_enum_acamera_control_af_state = 1;
pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED : acamera_metadata_enum_acamera_control_af_state = 2 ;
pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN:
    acamera_metadata_enum_acamera_control_af_state = 3;
pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED:
    acamera_metadata_enum_acamera_control_af_state = 4;
pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED : acamera_metadata_enum_acamera_control_af_state = 5 ;
pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED : acamera_metadata_enum_acamera_control_af_state = 6 ;
pub type acamera_metadata_enum_acamera_control_af_state = u32;
pub use self::acamera_metadata_enum_acamera_control_af_state as acamera_metadata_enum_android_control_af_state_t;
pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_INACTIVE:
    acamera_metadata_enum_acamera_control_awb_state = 0;
pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_SEARCHING:
    acamera_metadata_enum_acamera_control_awb_state = 1;
pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_CONVERGED:
    acamera_metadata_enum_acamera_control_awb_state = 2;
pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_LOCKED:
    acamera_metadata_enum_acamera_control_awb_state = 3;
pub type acamera_metadata_enum_acamera_control_awb_state = u32;
pub use self::acamera_metadata_enum_acamera_control_awb_state as acamera_metadata_enum_android_control_awb_state_t;
pub const acamera_metadata_enum_acamera_control_ae_lock_available_ACAMERA_CONTROL_AE_LOCK_AVAILABLE_FALSE : acamera_metadata_enum_acamera_control_ae_lock_available = 0 ;
pub const acamera_metadata_enum_acamera_control_ae_lock_available_ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE : acamera_metadata_enum_acamera_control_ae_lock_available = 1 ;
pub type acamera_metadata_enum_acamera_control_ae_lock_available = u32;
pub use self::acamera_metadata_enum_acamera_control_ae_lock_available as acamera_metadata_enum_android_control_ae_lock_available_t;
pub const acamera_metadata_enum_acamera_control_awb_lock_available_ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_FALSE : acamera_metadata_enum_acamera_control_awb_lock_available = 0 ;
pub const acamera_metadata_enum_acamera_control_awb_lock_available_ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_TRUE : acamera_metadata_enum_acamera_control_awb_lock_available = 1 ;
pub type acamera_metadata_enum_acamera_control_awb_lock_available = u32;
pub use self::acamera_metadata_enum_acamera_control_awb_lock_available as acamera_metadata_enum_android_control_awb_lock_available_t;
pub const acamera_metadata_enum_acamera_control_enable_zsl_ACAMERA_CONTROL_ENABLE_ZSL_FALSE:
    acamera_metadata_enum_acamera_control_enable_zsl = 0;
pub const acamera_metadata_enum_acamera_control_enable_zsl_ACAMERA_CONTROL_ENABLE_ZSL_TRUE:
    acamera_metadata_enum_acamera_control_enable_zsl = 1;
pub type acamera_metadata_enum_acamera_control_enable_zsl = u32;
pub use self::acamera_metadata_enum_acamera_control_enable_zsl as acamera_metadata_enum_android_control_enable_zsl_t;
pub const acamera_metadata_enum_acamera_control_af_scene_change_ACAMERA_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED : acamera_metadata_enum_acamera_control_af_scene_change = 0 ;
pub const acamera_metadata_enum_acamera_control_af_scene_change_ACAMERA_CONTROL_AF_SCENE_CHANGE_DETECTED : acamera_metadata_enum_acamera_control_af_scene_change = 1 ;
pub type acamera_metadata_enum_acamera_control_af_scene_change = u32;
pub use self::acamera_metadata_enum_acamera_control_af_scene_change as acamera_metadata_enum_android_control_af_scene_change_t;
pub const acamera_metadata_enum_acamera_control_bokeh_mode_ACAMERA_CONTROL_BOKEH_MODE_OFF:
    acamera_metadata_enum_acamera_control_bokeh_mode = 0;
pub const acamera_metadata_enum_acamera_control_bokeh_mode_ACAMERA_CONTROL_BOKEH_MODE_STILL_CAPTURE : acamera_metadata_enum_acamera_control_bokeh_mode = 1 ;
pub const acamera_metadata_enum_acamera_control_bokeh_mode_ACAMERA_CONTROL_BOKEH_MODE_CONTINUOUS:
    acamera_metadata_enum_acamera_control_bokeh_mode = 2;
pub type acamera_metadata_enum_acamera_control_bokeh_mode = u32;
pub use self::acamera_metadata_enum_acamera_control_bokeh_mode as acamera_metadata_enum_android_control_bokeh_mode_t;
pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_OFF:
    acamera_metadata_enum_acamera_edge_mode = 0;
pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_FAST:
    acamera_metadata_enum_acamera_edge_mode = 1;
pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_HIGH_QUALITY:
    acamera_metadata_enum_acamera_edge_mode = 2;
pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG:
    acamera_metadata_enum_acamera_edge_mode = 3;
pub type acamera_metadata_enum_acamera_edge_mode = u32;
pub use self::acamera_metadata_enum_acamera_edge_mode as acamera_metadata_enum_android_edge_mode_t;
pub const acamera_metadata_enum_acamera_flash_mode_ACAMERA_FLASH_MODE_OFF:
    acamera_metadata_enum_acamera_flash_mode = 0;
pub const acamera_metadata_enum_acamera_flash_mode_ACAMERA_FLASH_MODE_SINGLE:
    acamera_metadata_enum_acamera_flash_mode = 1;
pub const acamera_metadata_enum_acamera_flash_mode_ACAMERA_FLASH_MODE_TORCH:
    acamera_metadata_enum_acamera_flash_mode = 2;
pub type acamera_metadata_enum_acamera_flash_mode = u32;
pub use self::acamera_metadata_enum_acamera_flash_mode as acamera_metadata_enum_android_flash_mode_t;
pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_UNAVAILABLE:
    acamera_metadata_enum_acamera_flash_state = 0;
pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_CHARGING:
    acamera_metadata_enum_acamera_flash_state = 1;
pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_READY:
    acamera_metadata_enum_acamera_flash_state = 2;
pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_FIRED:
    acamera_metadata_enum_acamera_flash_state = 3;
pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_PARTIAL:
    acamera_metadata_enum_acamera_flash_state = 4;
pub type acamera_metadata_enum_acamera_flash_state = u32;
pub use self::acamera_metadata_enum_acamera_flash_state as acamera_metadata_enum_android_flash_state_t;
pub const acamera_metadata_enum_acamera_flash_info_available_ACAMERA_FLASH_INFO_AVAILABLE_FALSE:
    acamera_metadata_enum_acamera_flash_info_available = 0;
pub const acamera_metadata_enum_acamera_flash_info_available_ACAMERA_FLASH_INFO_AVAILABLE_TRUE:
    acamera_metadata_enum_acamera_flash_info_available = 1;
pub type acamera_metadata_enum_acamera_flash_info_available = u32;
pub use self::acamera_metadata_enum_acamera_flash_info_available as acamera_metadata_enum_android_flash_info_available_t;
pub const acamera_metadata_enum_acamera_hot_pixel_mode_ACAMERA_HOT_PIXEL_MODE_OFF:
    acamera_metadata_enum_acamera_hot_pixel_mode = 0;
pub const acamera_metadata_enum_acamera_hot_pixel_mode_ACAMERA_HOT_PIXEL_MODE_FAST:
    acamera_metadata_enum_acamera_hot_pixel_mode = 1;
pub const acamera_metadata_enum_acamera_hot_pixel_mode_ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY:
    acamera_metadata_enum_acamera_hot_pixel_mode = 2;
pub type acamera_metadata_enum_acamera_hot_pixel_mode = u32;
pub use self::acamera_metadata_enum_acamera_hot_pixel_mode as acamera_metadata_enum_android_hot_pixel_mode_t;
pub const acamera_metadata_enum_acamera_lens_optical_stabilization_mode_ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_OFF : acamera_metadata_enum_acamera_lens_optical_stabilization_mode = 0 ;
pub const acamera_metadata_enum_acamera_lens_optical_stabilization_mode_ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_ON : acamera_metadata_enum_acamera_lens_optical_stabilization_mode = 1 ;
pub type acamera_metadata_enum_acamera_lens_optical_stabilization_mode = u32;
pub use self::acamera_metadata_enum_acamera_lens_optical_stabilization_mode as acamera_metadata_enum_android_lens_optical_stabilization_mode_t;
pub const acamera_metadata_enum_acamera_lens_facing_ACAMERA_LENS_FACING_FRONT:
    acamera_metadata_enum_acamera_lens_facing = 0;
pub const acamera_metadata_enum_acamera_lens_facing_ACAMERA_LENS_FACING_BACK:
    acamera_metadata_enum_acamera_lens_facing = 1;
pub const acamera_metadata_enum_acamera_lens_facing_ACAMERA_LENS_FACING_EXTERNAL:
    acamera_metadata_enum_acamera_lens_facing = 2;
pub type acamera_metadata_enum_acamera_lens_facing = u32;
pub use self::acamera_metadata_enum_acamera_lens_facing as acamera_metadata_enum_android_lens_facing_t;
pub const acamera_metadata_enum_acamera_lens_state_ACAMERA_LENS_STATE_STATIONARY:
    acamera_metadata_enum_acamera_lens_state = 0;
pub const acamera_metadata_enum_acamera_lens_state_ACAMERA_LENS_STATE_MOVING:
    acamera_metadata_enum_acamera_lens_state = 1;
pub type acamera_metadata_enum_acamera_lens_state = u32;
pub use self::acamera_metadata_enum_acamera_lens_state as acamera_metadata_enum_android_lens_state_t;
pub const acamera_metadata_enum_acamera_lens_pose_reference_ACAMERA_LENS_POSE_REFERENCE_PRIMARY_CAMERA : acamera_metadata_enum_acamera_lens_pose_reference = 0 ;
pub const acamera_metadata_enum_acamera_lens_pose_reference_ACAMERA_LENS_POSE_REFERENCE_GYROSCOPE : acamera_metadata_enum_acamera_lens_pose_reference = 1 ;
pub const acamera_metadata_enum_acamera_lens_pose_reference_ACAMERA_LENS_POSE_REFERENCE_UNDEFINED : acamera_metadata_enum_acamera_lens_pose_reference = 2 ;
pub type acamera_metadata_enum_acamera_lens_pose_reference = u32;
pub use self::acamera_metadata_enum_acamera_lens_pose_reference as acamera_metadata_enum_android_lens_pose_reference_t;
pub const acamera_metadata_enum_acamera_lens_info_focus_distance_calibration_ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED : acamera_metadata_enum_acamera_lens_info_focus_distance_calibration = 0 ;
pub const acamera_metadata_enum_acamera_lens_info_focus_distance_calibration_ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE : acamera_metadata_enum_acamera_lens_info_focus_distance_calibration = 1 ;
pub const acamera_metadata_enum_acamera_lens_info_focus_distance_calibration_ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED : acamera_metadata_enum_acamera_lens_info_focus_distance_calibration = 2 ;
pub type acamera_metadata_enum_acamera_lens_info_focus_distance_calibration = u32;
pub use self::acamera_metadata_enum_acamera_lens_info_focus_distance_calibration as acamera_metadata_enum_android_lens_info_focus_distance_calibration_t;
pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_OFF:
    acamera_metadata_enum_acamera_noise_reduction_mode = 0;
pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_FAST:
    acamera_metadata_enum_acamera_noise_reduction_mode = 1;
pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_noise_reduction_mode = 2 ;
pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_MINIMAL : acamera_metadata_enum_acamera_noise_reduction_mode = 3 ;
pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG : acamera_metadata_enum_acamera_noise_reduction_mode = 4 ;
pub type acamera_metadata_enum_acamera_noise_reduction_mode = u32;
pub use self::acamera_metadata_enum_acamera_noise_reduction_mode as acamera_metadata_enum_android_noise_reduction_mode_t;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE : acamera_metadata_enum_acamera_request_available_capabilities = 0 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR : acamera_metadata_enum_acamera_request_available_capabilities = 1 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING : acamera_metadata_enum_acamera_request_available_capabilities = 2 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW : acamera_metadata_enum_acamera_request_available_capabilities = 3 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS : acamera_metadata_enum_acamera_request_available_capabilities = 5 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE : acamera_metadata_enum_acamera_request_available_capabilities = 6 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT : acamera_metadata_enum_acamera_request_available_capabilities = 8 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING : acamera_metadata_enum_acamera_request_available_capabilities = 10 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA : acamera_metadata_enum_acamera_request_available_capabilities = 11 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME : acamera_metadata_enum_acamera_request_available_capabilities = 12 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA : acamera_metadata_enum_acamera_request_available_capabilities = 13 ;
pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA : acamera_metadata_enum_acamera_request_available_capabilities = 14 ;
pub type acamera_metadata_enum_acamera_request_available_capabilities = u32;
pub use self::acamera_metadata_enum_acamera_request_available_capabilities as acamera_metadata_enum_android_request_available_capabilities_t;
pub const acamera_metadata_enum_acamera_scaler_available_stream_configurations_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT : acamera_metadata_enum_acamera_scaler_available_stream_configurations = 0 ;
pub const acamera_metadata_enum_acamera_scaler_available_stream_configurations_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT : acamera_metadata_enum_acamera_scaler_available_stream_configurations = 1 ;
pub type acamera_metadata_enum_acamera_scaler_available_stream_configurations = u32;
pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations as acamera_metadata_enum_android_scaler_available_stream_configurations_t;
pub const acamera_metadata_enum_acamera_scaler_cropping_type_ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY : acamera_metadata_enum_acamera_scaler_cropping_type = 0 ;
pub const acamera_metadata_enum_acamera_scaler_cropping_type_ACAMERA_SCALER_CROPPING_TYPE_FREEFORM : acamera_metadata_enum_acamera_scaler_cropping_type = 1 ;
pub type acamera_metadata_enum_acamera_scaler_cropping_type = u32;
pub use self::acamera_metadata_enum_acamera_scaler_cropping_type as acamera_metadata_enum_android_scaler_cropping_type_t;
pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 0 ;
pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 1 ;
pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 2 ;
pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 3 ;
pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 4 ;
pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 5 ;
pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 6 ;
pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 7 ;
pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 24 ;
pub type acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = u32;
pub use self::acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations as acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 1 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 2 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 3 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLASH : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 4 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 9 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 10 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_SHADE : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 11 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 12 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 13 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 14 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 15 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 17 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 18 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 19 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D55 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 20 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D65 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 21 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D75 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 22 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D50 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 23 ;
pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 24 ;
pub type acamera_metadata_enum_acamera_sensor_reference_illuminant1 = u32;
pub use self::acamera_metadata_enum_acamera_sensor_reference_illuminant1 as acamera_metadata_enum_android_sensor_reference_illuminant1_t;
pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_OFF : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 0 ;
pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 1 ;
pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 2 ;
pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 3 ;
pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_PN9 : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 4 ;
pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_CUSTOM1 : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 256 ;
pub type acamera_metadata_enum_acamera_sensor_test_pattern_mode = u32;
pub use self::acamera_metadata_enum_acamera_sensor_test_pattern_mode as acamera_metadata_enum_android_sensor_test_pattern_mode_t;
pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 0 ;
pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 1 ;
pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 2 ;
pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 3 ;
pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 4 ;
pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 5 ;
pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 6 ;
pub type acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = u32;
pub use self::acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement as acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
pub const acamera_metadata_enum_acamera_sensor_info_timestamp_source_ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN : acamera_metadata_enum_acamera_sensor_info_timestamp_source = 0 ;
pub const acamera_metadata_enum_acamera_sensor_info_timestamp_source_ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME : acamera_metadata_enum_acamera_sensor_info_timestamp_source = 1 ;
pub type acamera_metadata_enum_acamera_sensor_info_timestamp_source = u32;
pub use self::acamera_metadata_enum_acamera_sensor_info_timestamp_source as acamera_metadata_enum_android_sensor_info_timestamp_source_t;
pub const acamera_metadata_enum_acamera_sensor_info_lens_shading_applied_ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE : acamera_metadata_enum_acamera_sensor_info_lens_shading_applied = 0 ;
pub const acamera_metadata_enum_acamera_sensor_info_lens_shading_applied_ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE : acamera_metadata_enum_acamera_sensor_info_lens_shading_applied = 1 ;
pub type acamera_metadata_enum_acamera_sensor_info_lens_shading_applied = u32;
pub use self::acamera_metadata_enum_acamera_sensor_info_lens_shading_applied as acamera_metadata_enum_android_sensor_info_lens_shading_applied_t;
pub const acamera_metadata_enum_acamera_shading_mode_ACAMERA_SHADING_MODE_OFF:
    acamera_metadata_enum_acamera_shading_mode = 0;
pub const acamera_metadata_enum_acamera_shading_mode_ACAMERA_SHADING_MODE_FAST:
    acamera_metadata_enum_acamera_shading_mode = 1;
pub const acamera_metadata_enum_acamera_shading_mode_ACAMERA_SHADING_MODE_HIGH_QUALITY:
    acamera_metadata_enum_acamera_shading_mode = 2;
pub type acamera_metadata_enum_acamera_shading_mode = u32;
pub use self::acamera_metadata_enum_acamera_shading_mode as acamera_metadata_enum_android_shading_mode_t;
pub const acamera_metadata_enum_acamera_statistics_face_detect_mode_ACAMERA_STATISTICS_FACE_DETECT_MODE_OFF : acamera_metadata_enum_acamera_statistics_face_detect_mode = 0 ;
pub const acamera_metadata_enum_acamera_statistics_face_detect_mode_ACAMERA_STATISTICS_FACE_DETECT_MODE_SIMPLE : acamera_metadata_enum_acamera_statistics_face_detect_mode = 1 ;
pub const acamera_metadata_enum_acamera_statistics_face_detect_mode_ACAMERA_STATISTICS_FACE_DETECT_MODE_FULL : acamera_metadata_enum_acamera_statistics_face_detect_mode = 2 ;
pub type acamera_metadata_enum_acamera_statistics_face_detect_mode = u32;
pub use self::acamera_metadata_enum_acamera_statistics_face_detect_mode as acamera_metadata_enum_android_statistics_face_detect_mode_t;
pub const acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode_ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_OFF : acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode = 0 ;
pub const acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode_ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_ON : acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode = 1 ;
pub type acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode = u32;
pub use self::acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode as acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
pub const acamera_metadata_enum_acamera_statistics_scene_flicker_ACAMERA_STATISTICS_SCENE_FLICKER_NONE : acamera_metadata_enum_acamera_statistics_scene_flicker = 0 ;
pub const acamera_metadata_enum_acamera_statistics_scene_flicker_ACAMERA_STATISTICS_SCENE_FLICKER_50HZ : acamera_metadata_enum_acamera_statistics_scene_flicker = 1 ;
pub const acamera_metadata_enum_acamera_statistics_scene_flicker_ACAMERA_STATISTICS_SCENE_FLICKER_60HZ : acamera_metadata_enum_acamera_statistics_scene_flicker = 2 ;
pub type acamera_metadata_enum_acamera_statistics_scene_flicker = u32;
pub use self::acamera_metadata_enum_acamera_statistics_scene_flicker as acamera_metadata_enum_android_statistics_scene_flicker_t;
pub const acamera_metadata_enum_acamera_statistics_lens_shading_map_mode_ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_OFF : acamera_metadata_enum_acamera_statistics_lens_shading_map_mode = 0 ;
pub const acamera_metadata_enum_acamera_statistics_lens_shading_map_mode_ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_ON : acamera_metadata_enum_acamera_statistics_lens_shading_map_mode = 1 ;
pub type acamera_metadata_enum_acamera_statistics_lens_shading_map_mode = u32;
pub use self::acamera_metadata_enum_acamera_statistics_lens_shading_map_mode as acamera_metadata_enum_android_statistics_lens_shading_map_mode_t;
pub const acamera_metadata_enum_acamera_statistics_ois_data_mode_ACAMERA_STATISTICS_OIS_DATA_MODE_OFF : acamera_metadata_enum_acamera_statistics_ois_data_mode = 0 ;
pub const acamera_metadata_enum_acamera_statistics_ois_data_mode_ACAMERA_STATISTICS_OIS_DATA_MODE_ON : acamera_metadata_enum_acamera_statistics_ois_data_mode = 1 ;
pub type acamera_metadata_enum_acamera_statistics_ois_data_mode = u32;
pub use self::acamera_metadata_enum_acamera_statistics_ois_data_mode as acamera_metadata_enum_android_statistics_ois_data_mode_t;
pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_CONTRAST_CURVE:
    acamera_metadata_enum_acamera_tonemap_mode = 0;
pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_FAST:
    acamera_metadata_enum_acamera_tonemap_mode = 1;
pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_HIGH_QUALITY:
    acamera_metadata_enum_acamera_tonemap_mode = 2;
pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_GAMMA_VALUE:
    acamera_metadata_enum_acamera_tonemap_mode = 3;
pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_PRESET_CURVE:
    acamera_metadata_enum_acamera_tonemap_mode = 4;
pub type acamera_metadata_enum_acamera_tonemap_mode = u32;
pub use self::acamera_metadata_enum_acamera_tonemap_mode as acamera_metadata_enum_android_tonemap_mode_t;
pub const acamera_metadata_enum_acamera_tonemap_preset_curve_ACAMERA_TONEMAP_PRESET_CURVE_SRGB:
    acamera_metadata_enum_acamera_tonemap_preset_curve = 0;
pub const acamera_metadata_enum_acamera_tonemap_preset_curve_ACAMERA_TONEMAP_PRESET_CURVE_REC709:
    acamera_metadata_enum_acamera_tonemap_preset_curve = 1;
pub type acamera_metadata_enum_acamera_tonemap_preset_curve = u32;
pub use self::acamera_metadata_enum_acamera_tonemap_preset_curve as acamera_metadata_enum_android_tonemap_preset_curve_t;
pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED : acamera_metadata_enum_acamera_info_supported_hardware_level = 0 ;
pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_FULL : acamera_metadata_enum_acamera_info_supported_hardware_level = 1 ;
pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY : acamera_metadata_enum_acamera_info_supported_hardware_level = 2 ;
pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_3 : acamera_metadata_enum_acamera_info_supported_hardware_level = 3 ;
pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL : acamera_metadata_enum_acamera_info_supported_hardware_level = 4 ;
pub type acamera_metadata_enum_acamera_info_supported_hardware_level = u32;
pub use self::acamera_metadata_enum_acamera_info_supported_hardware_level as acamera_metadata_enum_android_info_supported_hardware_level_t;
pub const acamera_metadata_enum_acamera_black_level_lock_ACAMERA_BLACK_LEVEL_LOCK_OFF:
    acamera_metadata_enum_acamera_black_level_lock = 0;
pub const acamera_metadata_enum_acamera_black_level_lock_ACAMERA_BLACK_LEVEL_LOCK_ON:
    acamera_metadata_enum_acamera_black_level_lock = 1;
pub type acamera_metadata_enum_acamera_black_level_lock = u32;
pub use self::acamera_metadata_enum_acamera_black_level_lock as acamera_metadata_enum_android_black_level_lock_t;
pub const acamera_metadata_enum_acamera_sync_frame_number_ACAMERA_SYNC_FRAME_NUMBER_CONVERGING:
    acamera_metadata_enum_acamera_sync_frame_number = -1;
pub const acamera_metadata_enum_acamera_sync_frame_number_ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN:
    acamera_metadata_enum_acamera_sync_frame_number = -2;
pub type acamera_metadata_enum_acamera_sync_frame_number = i32;
pub use self::acamera_metadata_enum_acamera_sync_frame_number as acamera_metadata_enum_android_sync_frame_number_t;
pub const acamera_metadata_enum_acamera_sync_max_latency_ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL : acamera_metadata_enum_acamera_sync_max_latency = 0 ;
pub const acamera_metadata_enum_acamera_sync_max_latency_ACAMERA_SYNC_MAX_LATENCY_UNKNOWN:
    acamera_metadata_enum_acamera_sync_max_latency = -1;
pub type acamera_metadata_enum_acamera_sync_max_latency = i32;
pub use self::acamera_metadata_enum_acamera_sync_max_latency as acamera_metadata_enum_android_sync_max_latency_t;
pub const acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT : acamera_metadata_enum_acamera_depth_available_depth_stream_configurations = 0 ;
pub const acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT : acamera_metadata_enum_acamera_depth_available_depth_stream_configurations = 1 ;
pub type acamera_metadata_enum_acamera_depth_available_depth_stream_configurations = u32;
pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations as acamera_metadata_enum_android_depth_available_depth_stream_configurations_t;
pub const acamera_metadata_enum_acamera_depth_depth_is_exclusive_ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE : acamera_metadata_enum_acamera_depth_depth_is_exclusive = 0 ;
pub const acamera_metadata_enum_acamera_depth_depth_is_exclusive_ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE : acamera_metadata_enum_acamera_depth_depth_is_exclusive = 1 ;
pub type acamera_metadata_enum_acamera_depth_depth_is_exclusive = u32;
pub use self::acamera_metadata_enum_acamera_depth_depth_is_exclusive as acamera_metadata_enum_android_depth_depth_is_exclusive_t;
pub const acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations = 0 ;
pub const acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations = 1 ;
pub type acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations = u32;
pub use self::acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations as acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t;
pub const acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type_ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE : acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type = 0 ;
pub const acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type_ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED : acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type = 1 ;
pub type acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type = u32;
pub use self::acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type as acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t;
pub const acamera_metadata_enum_acamera_distortion_correction_mode_ACAMERA_DISTORTION_CORRECTION_MODE_OFF : acamera_metadata_enum_acamera_distortion_correction_mode = 0 ;
pub const acamera_metadata_enum_acamera_distortion_correction_mode_ACAMERA_DISTORTION_CORRECTION_MODE_FAST : acamera_metadata_enum_acamera_distortion_correction_mode = 1 ;
pub const acamera_metadata_enum_acamera_distortion_correction_mode_ACAMERA_DISTORTION_CORRECTION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_distortion_correction_mode = 2 ;
pub type acamera_metadata_enum_acamera_distortion_correction_mode = u32;
pub use self::acamera_metadata_enum_acamera_distortion_correction_mode as acamera_metadata_enum_android_distortion_correction_mode_t;
pub const acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT : acamera_metadata_enum_acamera_heic_available_heic_stream_configurations = 0 ;
pub const acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT : acamera_metadata_enum_acamera_heic_available_heic_stream_configurations = 1 ;
pub type acamera_metadata_enum_acamera_heic_available_heic_stream_configurations = u32;
pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations as acamera_metadata_enum_android_heic_available_heic_stream_configurations_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraMetadata {
    _unused: [u8; 0],
}
pub const ACAMERA_TYPE_BYTE: _bindgen_ty_54 = 0;
pub const ACAMERA_TYPE_INT32: _bindgen_ty_54 = 1;
pub const ACAMERA_TYPE_FLOAT: _bindgen_ty_54 = 2;
pub const ACAMERA_TYPE_INT64: _bindgen_ty_54 = 3;
pub const ACAMERA_TYPE_DOUBLE: _bindgen_ty_54 = 4;
pub const ACAMERA_TYPE_RATIONAL: _bindgen_ty_54 = 5;
pub const ACAMERA_NUM_TYPES: _bindgen_ty_54 = 6;
pub type _bindgen_ty_54 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraMetadata_rational {
    pub numerator: i32,
    pub denominator: i32,
}
#[test]
fn bindgen_test_layout_ACameraMetadata_rational() {
    assert_eq!(
        ::std::mem::size_of::<ACameraMetadata_rational>(),
        8usize,
        concat!("Size of: ", stringify!(ACameraMetadata_rational))
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraMetadata_rational>(),
        4usize,
        concat!("Alignment of ", stringify!(ACameraMetadata_rational))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_rational>())).numerator as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_rational),
            "::",
            stringify!(numerator)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_rational>())).denominator as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_rational),
            "::",
            stringify!(denominator)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ACameraMetadata_entry {
    pub tag: u32,
    pub type_: u8,
    pub count: u32,
    pub data: ACameraMetadata_entry__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union ACameraMetadata_entry__bindgen_ty_1 {
    pub u8: *mut u8,
    pub i32: *mut i32,
    pub f: *mut f32,
    pub i64: *mut i64,
    pub d: *mut f64,
    pub r: *mut ACameraMetadata_rational,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_ACameraMetadata_entry__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ACameraMetadata_entry__bindgen_ty_1>(),
        4usize,
        concat!("Size of: ", stringify!(ACameraMetadata_entry__bindgen_ty_1))
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraMetadata_entry__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ACameraMetadata_entry__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).u8 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry__bindgen_ty_1),
            "::",
            stringify!(u8)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).i32 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry__bindgen_ty_1),
            "::",
            stringify!(i32)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).f as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry__bindgen_ty_1),
            "::",
            stringify!(f)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).i64 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry__bindgen_ty_1),
            "::",
            stringify!(i64)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).d as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry__bindgen_ty_1),
            "::",
            stringify!(d)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).r as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry__bindgen_ty_1),
            "::",
            stringify!(r)
        )
    );
}
#[test]
fn bindgen_test_layout_ACameraMetadata_entry() {
    assert_eq!(
        ::std::mem::size_of::<ACameraMetadata_entry>(),
        16usize,
        concat!("Size of: ", stringify!(ACameraMetadata_entry))
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraMetadata_entry>(),
        4usize,
        concat!("Alignment of ", stringify!(ACameraMetadata_entry))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).tag as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry),
            "::",
            stringify!(tag)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).type_ as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).count as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).data as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_entry),
            "::",
            stringify!(data)
        )
    );
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct ACameraMetadata_const_entry {
    pub tag: u32,
    pub type_: u8,
    pub count: u32,
    pub data: ACameraMetadata_const_entry__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union ACameraMetadata_const_entry__bindgen_ty_1 {
    pub u8: *const u8,
    pub i32: *const i32,
    pub f: *const f32,
    pub i64: *const i64,
    pub d: *const f64,
    pub r: *const ACameraMetadata_rational,
    _bindgen_union_align: u32,
}
#[test]
fn bindgen_test_layout_ACameraMetadata_const_entry__bindgen_ty_1() {
    assert_eq!(
        ::std::mem::size_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
        4usize,
        concat!(
            "Size of: ",
            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).u8 as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
            "::",
            stringify!(u8)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).i32 as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
            "::",
            stringify!(i32)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).f as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
            "::",
            stringify!(f)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).i64 as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
            "::",
            stringify!(i64)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).d as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
            "::",
            stringify!(d)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).r as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
            "::",
            stringify!(r)
        )
    );
}
#[test]
fn bindgen_test_layout_ACameraMetadata_const_entry() {
    assert_eq!(
        ::std::mem::size_of::<ACameraMetadata_const_entry>(),
        16usize,
        concat!("Size of: ", stringify!(ACameraMetadata_const_entry))
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraMetadata_const_entry>(),
        4usize,
        concat!("Alignment of ", stringify!(ACameraMetadata_const_entry))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).tag as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry),
            "::",
            stringify!(tag)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).type_ as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry),
            "::",
            stringify!(type_)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).count as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry),
            "::",
            stringify!(count)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).data as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraMetadata_const_entry),
            "::",
            stringify!(data)
        )
    );
}
extern "C" {
    pub fn ACameraMetadata_getConstEntry(
        metadata: *const ACameraMetadata,
        tag: u32,
        entry: *mut ACameraMetadata_const_entry,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraMetadata_getAllTags(
        metadata: *const ACameraMetadata,
        numEntries: *mut i32,
        tags: *mut *const u32,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraMetadata_copy(src: *const ACameraMetadata) -> *mut ACameraMetadata;
}
extern "C" {
    pub fn ACameraMetadata_free(metadata: *mut ACameraMetadata);
}
extern "C" {
    pub fn ACameraMetadata_isLogicalMultiCamera(
        staticMetadata: *const ACameraMetadata,
        numPhysicalCameras: *mut size_t,
        physicalCameraIds: *mut *const *const ::std::os::raw::c_char,
    ) -> bool;
}
extern "C" {
    pub fn ACameraMetadata_fromCameraMetadata(
        env: *mut JNIEnv,
        cameraMetadata: jobject,
    ) -> *mut ACameraMetadata;
}
pub type ACameraWindowType = ANativeWindow;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraOutputTargets {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraOutputTarget {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACaptureRequest {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ACameraOutputTarget_create(
        window: *mut ACameraWindowType,
        output: *mut *mut ACameraOutputTarget,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraOutputTarget_free(output: *mut ACameraOutputTarget);
}
extern "C" {
    pub fn ACaptureRequest_addTarget(
        request: *mut ACaptureRequest,
        output: *const ACameraOutputTarget,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_removeTarget(
        request: *mut ACaptureRequest,
        output: *const ACameraOutputTarget,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_getConstEntry(
        request: *const ACaptureRequest,
        tag: u32,
        entry: *mut ACameraMetadata_const_entry,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_getAllTags(
        request: *const ACaptureRequest,
        numTags: *mut i32,
        tags: *mut *const u32,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_u8(
        request: *mut ACaptureRequest,
        tag: u32,
        count: u32,
        data: *const u8,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_i32(
        request: *mut ACaptureRequest,
        tag: u32,
        count: u32,
        data: *const i32,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_float(
        request: *mut ACaptureRequest,
        tag: u32,
        count: u32,
        data: *const f32,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_i64(
        request: *mut ACaptureRequest,
        tag: u32,
        count: u32,
        data: *const i64,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_double(
        request: *mut ACaptureRequest,
        tag: u32,
        count: u32,
        data: *const f64,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_rational(
        request: *mut ACaptureRequest,
        tag: u32,
        count: u32,
        data: *const ACameraMetadata_rational,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_free(request: *mut ACaptureRequest);
}
extern "C" {
    pub fn ACaptureRequest_setUserContext(
        request: *mut ACaptureRequest,
        context: *mut ::std::os::raw::c_void,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_getUserContext(
        request: *const ACaptureRequest,
        context: *mut *mut ::std::os::raw::c_void,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_copy(src: *const ACaptureRequest) -> *mut ACaptureRequest;
}
extern "C" {
    pub fn ACaptureRequest_getConstEntry_physicalCamera(
        request: *const ACaptureRequest,
        physicalId: *const ::std::os::raw::c_char,
        tag: u32,
        entry: *mut ACameraMetadata_const_entry,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_physicalCamera_u8(
        request: *mut ACaptureRequest,
        physicalId: *const ::std::os::raw::c_char,
        tag: u32,
        count: u32,
        data: *const u8,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_physicalCamera_i32(
        request: *mut ACaptureRequest,
        physicalId: *const ::std::os::raw::c_char,
        tag: u32,
        count: u32,
        data: *const i32,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_physicalCamera_float(
        request: *mut ACaptureRequest,
        physicalId: *const ::std::os::raw::c_char,
        tag: u32,
        count: u32,
        data: *const f32,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_physicalCamera_i64(
        request: *mut ACaptureRequest,
        physicalId: *const ::std::os::raw::c_char,
        tag: u32,
        count: u32,
        data: *const i64,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_physicalCamera_double(
        request: *mut ACaptureRequest,
        physicalId: *const ::std::os::raw::c_char,
        tag: u32,
        count: u32,
        data: *const f64,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureRequest_setEntry_physicalCamera_rational(
        request: *mut ACaptureRequest,
        physicalId: *const ::std::os::raw::c_char,
        tag: u32,
        count: u32,
        data: *const ACameraMetadata_rational,
    ) -> camera_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraCaptureSession {
    _unused: [u8; 0],
}
pub type ACameraCaptureSession_stateCallback = ::std::option::Option<
    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, session: *mut ACameraCaptureSession),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraCaptureSession_stateCallbacks {
    pub context: *mut ::std::os::raw::c_void,
    pub onClosed: ACameraCaptureSession_stateCallback,
    pub onReady: ACameraCaptureSession_stateCallback,
    pub onActive: ACameraCaptureSession_stateCallback,
}
#[test]
fn bindgen_test_layout_ACameraCaptureSession_stateCallbacks() {
    assert_eq!(
        ::std::mem::size_of::<ACameraCaptureSession_stateCallbacks>(),
        16usize,
        concat!(
            "Size of: ",
            stringify!(ACameraCaptureSession_stateCallbacks)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraCaptureSession_stateCallbacks>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ACameraCaptureSession_stateCallbacks)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).context as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_stateCallbacks),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).onClosed as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_stateCallbacks),
            "::",
            stringify!(onClosed)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).onReady as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_stateCallbacks),
            "::",
            stringify!(onReady)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).onActive as *const _
                as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_stateCallbacks),
            "::",
            stringify!(onActive)
        )
    );
}
pub const CAPTURE_FAILURE_REASON_FLUSHED: _bindgen_ty_55 = 0;
pub const CAPTURE_FAILURE_REASON_ERROR: _bindgen_ty_55 = 1;
pub type _bindgen_ty_55 = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraCaptureFailure {
    pub frameNumber: i64,
    pub reason: ::std::os::raw::c_int,
    pub sequenceId: ::std::os::raw::c_int,
    pub wasImageCaptured: bool,
}
#[test]
fn bindgen_test_layout_ACameraCaptureFailure() {
    assert_eq!(
        ::std::mem::size_of::<ACameraCaptureFailure>(),
        20usize,
        concat!("Size of: ", stringify!(ACameraCaptureFailure))
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraCaptureFailure>(),
        4usize,
        concat!("Alignment of ", stringify!(ACameraCaptureFailure))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureFailure>())).frameNumber as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureFailure),
            "::",
            stringify!(frameNumber)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ACameraCaptureFailure>())).reason as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureFailure),
            "::",
            stringify!(reason)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureFailure>())).sequenceId as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureFailure),
            "::",
            stringify!(sequenceId)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureFailure>())).wasImageCaptured as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureFailure),
            "::",
            stringify!(wasImageCaptured)
        )
    );
}
pub type ACameraCaptureSession_captureCallback_start = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        session: *mut ACameraCaptureSession,
        request: *const ACaptureRequest,
        timestamp: i64,
    ),
>;
pub type ACameraCaptureSession_captureCallback_result = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        session: *mut ACameraCaptureSession,
        request: *mut ACaptureRequest,
        result: *const ACameraMetadata,
    ),
>;
pub type ACameraCaptureSession_captureCallback_failed = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        session: *mut ACameraCaptureSession,
        request: *mut ACaptureRequest,
        failure: *mut ACameraCaptureFailure,
    ),
>;
pub type ACameraCaptureSession_captureCallback_sequenceEnd = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        session: *mut ACameraCaptureSession,
        sequenceId: ::std::os::raw::c_int,
        frameNumber: i64,
    ),
>;
pub type ACameraCaptureSession_captureCallback_sequenceAbort = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        session: *mut ACameraCaptureSession,
        sequenceId: ::std::os::raw::c_int,
    ),
>;
pub type ACameraCaptureSession_captureCallback_bufferLost = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        session: *mut ACameraCaptureSession,
        request: *mut ACaptureRequest,
        window: *mut ACameraWindowType,
        frameNumber: i64,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraCaptureSession_captureCallbacks {
    pub context: *mut ::std::os::raw::c_void,
    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
    pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
    pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
}
#[test]
fn bindgen_test_layout_ACameraCaptureSession_captureCallbacks() {
    assert_eq!(
        ::std::mem::size_of::<ACameraCaptureSession_captureCallbacks>(),
        32usize,
        concat!(
            "Size of: ",
            stringify!(ACameraCaptureSession_captureCallbacks)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraCaptureSession_captureCallbacks>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ACameraCaptureSession_captureCallbacks)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).context as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_captureCallbacks),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureStarted
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_captureCallbacks),
            "::",
            stringify!(onCaptureStarted)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureProgressed
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_captureCallbacks),
            "::",
            stringify!(onCaptureProgressed)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureCompleted
                as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_captureCallbacks),
            "::",
            stringify!(onCaptureCompleted)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureFailed
                as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_captureCallbacks),
            "::",
            stringify!(onCaptureFailed)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>()))
                .onCaptureSequenceCompleted as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_captureCallbacks),
            "::",
            stringify!(onCaptureSequenceCompleted)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>()))
                .onCaptureSequenceAborted as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_captureCallbacks),
            "::",
            stringify!(onCaptureSequenceAborted)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureBufferLost
                as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_captureCallbacks),
            "::",
            stringify!(onCaptureBufferLost)
        )
    );
}
pub const CAPTURE_SEQUENCE_ID_NONE: _bindgen_ty_56 = -1;
pub type _bindgen_ty_56 = i32;
extern "C" {
    pub fn ACameraCaptureSession_close(session: *mut ACameraCaptureSession);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraDevice {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ACameraCaptureSession_getDevice(
        session: *mut ACameraCaptureSession,
        device: *mut *mut ACameraDevice,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraCaptureSession_capture(
        session: *mut ACameraCaptureSession,
        callbacks: *mut ACameraCaptureSession_captureCallbacks,
        numRequests: ::std::os::raw::c_int,
        requests: *mut *mut ACaptureRequest,
        captureSequenceId: *mut ::std::os::raw::c_int,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraCaptureSession_setRepeatingRequest(
        session: *mut ACameraCaptureSession,
        callbacks: *mut ACameraCaptureSession_captureCallbacks,
        numRequests: ::std::os::raw::c_int,
        requests: *mut *mut ACaptureRequest,
        captureSequenceId: *mut ::std::os::raw::c_int,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraCaptureSession_stopRepeating(
        session: *mut ACameraCaptureSession,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraCaptureSession_abortCaptures(
        session: *mut ACameraCaptureSession,
    ) -> camera_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACaptureSessionOutput {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ACameraCaptureSession_updateSharedOutput(
        session: *mut ACameraCaptureSession,
        output: *mut ACaptureSessionOutput,
    ) -> camera_status_t;
}
pub type ACameraCaptureSession_logicalCamera_captureCallback_result = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        session: *mut ACameraCaptureSession,
        request: *mut ACaptureRequest,
        result: *const ACameraMetadata,
        physicalResultCount: size_t,
        physicalCameraIds: *mut *const ::std::os::raw::c_char,
        physicalResults: *mut *const ACameraMetadata,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ALogicalCameraCaptureFailure {
    pub captureFailure: ACameraCaptureFailure,
    pub physicalCameraId: *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_ALogicalCameraCaptureFailure() {
    assert_eq!(
        ::std::mem::size_of::<ALogicalCameraCaptureFailure>(),
        24usize,
        concat!("Size of: ", stringify!(ALogicalCameraCaptureFailure))
    );
    assert_eq!(
        ::std::mem::align_of::<ALogicalCameraCaptureFailure>(),
        4usize,
        concat!("Alignment of ", stringify!(ALogicalCameraCaptureFailure))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ALogicalCameraCaptureFailure>())).captureFailure as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ALogicalCameraCaptureFailure),
            "::",
            stringify!(captureFailure)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ALogicalCameraCaptureFailure>())).physicalCameraId as *const _
                as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(ALogicalCameraCaptureFailure),
            "::",
            stringify!(physicalCameraId)
        )
    );
}
pub type ACameraCaptureSession_logicalCamera_captureCallback_failed = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        session: *mut ACameraCaptureSession,
        request: *mut ACaptureRequest,
        failure: *mut ALogicalCameraCaptureFailure,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraCaptureSession_logicalCamera_captureCallbacks {
    pub context: *mut ::std::os::raw::c_void,
    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
    pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
    pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
}
#[test]
fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacks() {
    assert_eq!(
        ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
        32usize,
        concat!(
            "Size of: ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>())).context
                as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
                .onCaptureStarted as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
            "::",
            stringify!(onCaptureStarted)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
                .onCaptureProgressed as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
            "::",
            stringify!(onCaptureProgressed)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
                .onLogicalCameraCaptureCompleted as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
            "::",
            stringify!(onLogicalCameraCaptureCompleted)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
                .onLogicalCameraCaptureFailed as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
            "::",
            stringify!(onLogicalCameraCaptureFailed)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
                .onCaptureSequenceCompleted as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
            "::",
            stringify!(onCaptureSequenceCompleted)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
                .onCaptureSequenceAborted as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
            "::",
            stringify!(onCaptureSequenceAborted)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
                .onCaptureBufferLost as *const _ as usize
        },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
            "::",
            stringify!(onCaptureBufferLost)
        )
    );
}
extern "C" {
    pub fn ACameraCaptureSession_logicalCamera_capture(
        session: *mut ACameraCaptureSession,
        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
        numRequests: ::std::os::raw::c_int,
        requests: *mut *mut ACaptureRequest,
        captureSequenceId: *mut ::std::os::raw::c_int,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequest(
        session: *mut ACameraCaptureSession,
        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
        numRequests: ::std::os::raw::c_int,
        requests: *mut *mut ACaptureRequest,
        captureSequenceId: *mut ::std::os::raw::c_int,
    ) -> camera_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraIdList {
    pub numCameras: ::std::os::raw::c_int,
    pub cameraIds: *mut *const ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_ACameraIdList() {
    assert_eq!(
        ::std::mem::size_of::<ACameraIdList>(),
        8usize,
        concat!("Size of: ", stringify!(ACameraIdList))
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraIdList>(),
        4usize,
        concat!("Alignment of ", stringify!(ACameraIdList))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ACameraIdList>())).numCameras as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraIdList),
            "::",
            stringify!(numCameras)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ACameraIdList>())).cameraIds as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraIdList),
            "::",
            stringify!(cameraIds)
        )
    );
}
pub const ERROR_CAMERA_IN_USE: _bindgen_ty_57 = 1;
pub const ERROR_MAX_CAMERAS_IN_USE: _bindgen_ty_57 = 2;
pub const ERROR_CAMERA_DISABLED: _bindgen_ty_57 = 3;
pub const ERROR_CAMERA_DEVICE: _bindgen_ty_57 = 4;
pub const ERROR_CAMERA_SERVICE: _bindgen_ty_57 = 5;
pub type _bindgen_ty_57 = u32;
pub type ACameraDevice_StateCallback = ::std::option::Option<
    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, device: *mut ACameraDevice),
>;
pub type ACameraDevice_ErrorStateCallback = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        device: *mut ACameraDevice,
        error: ::std::os::raw::c_int,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraDevice_StateCallbacks {
    pub context: *mut ::std::os::raw::c_void,
    pub onDisconnected: ACameraDevice_StateCallback,
    pub onError: ACameraDevice_ErrorStateCallback,
}
#[test]
fn bindgen_test_layout_ACameraDevice_StateCallbacks() {
    assert_eq!(
        ::std::mem::size_of::<ACameraDevice_StateCallbacks>(),
        12usize,
        concat!("Size of: ", stringify!(ACameraDevice_StateCallbacks))
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraDevice_StateCallbacks>(),
        4usize,
        concat!("Alignment of ", stringify!(ACameraDevice_StateCallbacks))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraDevice_StateCallbacks>())).context as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraDevice_StateCallbacks),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraDevice_StateCallbacks>())).onDisconnected as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraDevice_StateCallbacks),
            "::",
            stringify!(onDisconnected)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraDevice_StateCallbacks>())).onError as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraDevice_StateCallbacks),
            "::",
            stringify!(onError)
        )
    );
}
pub type ACameraDevice_stateCallbacks = ACameraDevice_StateCallbacks;
extern "C" {
    pub fn ACameraDevice_close(device: *mut ACameraDevice) -> camera_status_t;
}
extern "C" {
    pub fn ACameraDevice_getId(device: *const ACameraDevice) -> *const ::std::os::raw::c_char;
}
pub const ACameraDevice_request_template_TEMPLATE_PREVIEW: ACameraDevice_request_template = 1;
pub const ACameraDevice_request_template_TEMPLATE_STILL_CAPTURE: ACameraDevice_request_template = 2;
pub const ACameraDevice_request_template_TEMPLATE_RECORD: ACameraDevice_request_template = 3;
pub const ACameraDevice_request_template_TEMPLATE_VIDEO_SNAPSHOT: ACameraDevice_request_template =
    4;
pub const ACameraDevice_request_template_TEMPLATE_ZERO_SHUTTER_LAG: ACameraDevice_request_template =
    5;
pub const ACameraDevice_request_template_TEMPLATE_MANUAL: ACameraDevice_request_template = 6;
pub type ACameraDevice_request_template = u32;
extern "C" {
    pub fn ACameraDevice_createCaptureRequest(
        device: *const ACameraDevice,
        templateId: ACameraDevice_request_template,
        request: *mut *mut ACaptureRequest,
    ) -> camera_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACaptureSessionOutputContainer {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ACaptureSessionOutputContainer_create(
        container: *mut *mut ACaptureSessionOutputContainer,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureSessionOutputContainer_free(container: *mut ACaptureSessionOutputContainer);
}
extern "C" {
    pub fn ACaptureSessionOutput_create(
        anw: *mut ACameraWindowType,
        output: *mut *mut ACaptureSessionOutput,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureSessionOutput_free(output: *mut ACaptureSessionOutput);
}
extern "C" {
    pub fn ACaptureSessionOutputContainer_add(
        container: *mut ACaptureSessionOutputContainer,
        output: *const ACaptureSessionOutput,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureSessionOutputContainer_remove(
        container: *mut ACaptureSessionOutputContainer,
        output: *const ACaptureSessionOutput,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraDevice_createCaptureSession(
        device: *mut ACameraDevice,
        outputs: *const ACaptureSessionOutputContainer,
        callbacks: *const ACameraCaptureSession_stateCallbacks,
        session: *mut *mut ACameraCaptureSession,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureSessionSharedOutput_create(
        anw: *mut ACameraWindowType,
        output: *mut *mut ACaptureSessionOutput,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureSessionSharedOutput_add(
        output: *mut ACaptureSessionOutput,
        anw: *mut ACameraWindowType,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureSessionSharedOutput_remove(
        output: *mut ACaptureSessionOutput,
        anw: *mut ACameraWindowType,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraDevice_createCaptureSessionWithSessionParameters(
        device: *mut ACameraDevice,
        outputs: *const ACaptureSessionOutputContainer,
        sessionParameters: *const ACaptureRequest,
        callbacks: *const ACameraCaptureSession_stateCallbacks,
        session: *mut *mut ACameraCaptureSession,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACaptureSessionPhysicalOutput_create(
        anw: *mut ACameraWindowType,
        physicalId: *const ::std::os::raw::c_char,
        output: *mut *mut ACaptureSessionOutput,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraDevice_createCaptureRequest_withPhysicalIds(
        device: *const ACameraDevice,
        templateId: ACameraDevice_request_template,
        physicalIdList: *const ACameraIdList,
        request: *mut *mut ACaptureRequest,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraDevice_isSessionConfigurationSupported(
        device: *const ACameraDevice,
        sessionOutputContainer: *const ACaptureSessionOutputContainer,
    ) -> camera_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraManager {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ACameraManager_create() -> *mut ACameraManager;
}
extern "C" {
    pub fn ACameraManager_delete(manager: *mut ACameraManager);
}
extern "C" {
    pub fn ACameraManager_getCameraIdList(
        manager: *mut ACameraManager,
        cameraIdList: *mut *mut ACameraIdList,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraManager_deleteCameraIdList(cameraIdList: *mut ACameraIdList);
}
pub type ACameraManager_AvailabilityCallback = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        cameraId: *const ::std::os::raw::c_char,
    ),
>;
pub type ACameraManager_PhysicalCameraAvailabilityCallback = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        cameraId: *const ::std::os::raw::c_char,
        physicalCameraId: *const ::std::os::raw::c_char,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraManager_AvailabilityListener {
    pub context: *mut ::std::os::raw::c_void,
    pub onCameraAvailable: ACameraManager_AvailabilityCallback,
    pub onCameraUnavailable: ACameraManager_AvailabilityCallback,
}
#[test]
fn bindgen_test_layout_ACameraManager_AvailabilityListener() {
    assert_eq!(
        ::std::mem::size_of::<ACameraManager_AvailabilityListener>(),
        12usize,
        concat!("Size of: ", stringify!(ACameraManager_AvailabilityListener))
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraManager_AvailabilityListener>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ACameraManager_AvailabilityListener)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraManager_AvailabilityListener>())).context as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraManager_AvailabilityListener),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraManager_AvailabilityListener>())).onCameraAvailable
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraManager_AvailabilityListener),
            "::",
            stringify!(onCameraAvailable)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraManager_AvailabilityListener>())).onCameraUnavailable
                as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraManager_AvailabilityListener),
            "::",
            stringify!(onCameraUnavailable)
        )
    );
}
pub type ACameraManager_AvailabilityCallbacks = ACameraManager_AvailabilityListener;
extern "C" {
    pub fn ACameraManager_registerAvailabilityCallback(
        manager: *mut ACameraManager,
        callback: *const ACameraManager_AvailabilityCallbacks,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraManager_unregisterAvailabilityCallback(
        manager: *mut ACameraManager,
        callback: *const ACameraManager_AvailabilityCallbacks,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraManager_getCameraCharacteristics(
        manager: *mut ACameraManager,
        cameraId: *const ::std::os::raw::c_char,
        characteristics: *mut *mut ACameraMetadata,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraManager_openCamera(
        manager: *mut ACameraManager,
        cameraId: *const ::std::os::raw::c_char,
        callback: *mut ACameraDevice_StateCallbacks,
        device: *mut *mut ACameraDevice,
    ) -> camera_status_t;
}
pub type ACameraManager_AccessPrioritiesChangedCallback =
    ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ACameraManager_ExtendedAvailabilityListener {
    pub availabilityCallbacks: ACameraManager_AvailabilityCallbacks,
    pub onCameraAccessPrioritiesChanged: ACameraManager_AccessPrioritiesChangedCallback,
    pub onPhysicalCameraAvailable: ACameraManager_PhysicalCameraAvailabilityCallback,
    pub onPhysicalCameraUnavailable: ACameraManager_PhysicalCameraAvailabilityCallback,
    pub reserved: [*mut ::std::os::raw::c_void; 4usize],
}
#[test]
fn bindgen_test_layout_ACameraManager_ExtendedAvailabilityListener() {
    assert_eq!(
        ::std::mem::size_of::<ACameraManager_ExtendedAvailabilityListener>(),
        40usize,
        concat!(
            "Size of: ",
            stringify!(ACameraManager_ExtendedAvailabilityListener)
        )
    );
    assert_eq!(
        ::std::mem::align_of::<ACameraManager_ExtendedAvailabilityListener>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(ACameraManager_ExtendedAvailabilityListener)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
                .availabilityCallbacks as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraManager_ExtendedAvailabilityListener),
            "::",
            stringify!(availabilityCallbacks)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
                .onCameraAccessPrioritiesChanged as *const _ as usize
        },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraManager_ExtendedAvailabilityListener),
            "::",
            stringify!(onCameraAccessPrioritiesChanged)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
                .onPhysicalCameraAvailable as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraManager_ExtendedAvailabilityListener),
            "::",
            stringify!(onPhysicalCameraAvailable)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
                .onPhysicalCameraUnavailable as *const _ as usize
        },
        20usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraManager_ExtendedAvailabilityListener),
            "::",
            stringify!(onPhysicalCameraUnavailable)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>())).reserved
                as *const _ as usize
        },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(ACameraManager_ExtendedAvailabilityListener),
            "::",
            stringify!(reserved)
        )
    );
}
pub type ACameraManager_ExtendedAvailabilityCallbacks = ACameraManager_ExtendedAvailabilityListener;
extern "C" {
    pub fn ACameraManager_registerExtendedAvailabilityCallback(
        manager: *mut ACameraManager,
        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
    ) -> camera_status_t;
}
extern "C" {
    pub fn ACameraManager_unregisterExtendedAvailabilityCallback(
        manager: *mut ACameraManager,
        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
    ) -> camera_status_t;
}
pub const media_status_t_AMEDIA_OK: media_status_t = 0;
pub const media_status_t_AMEDIACODEC_ERROR_INSUFFICIENT_RESOURCE: media_status_t = 1100;
pub const media_status_t_AMEDIACODEC_ERROR_RECLAIMED: media_status_t = 1101;
pub const media_status_t_AMEDIA_ERROR_BASE: media_status_t = -10000;
pub const media_status_t_AMEDIA_ERROR_UNKNOWN: media_status_t = -10000;
pub const media_status_t_AMEDIA_ERROR_MALFORMED: media_status_t = -10001;
pub const media_status_t_AMEDIA_ERROR_UNSUPPORTED: media_status_t = -10002;
pub const media_status_t_AMEDIA_ERROR_INVALID_OBJECT: media_status_t = -10003;
pub const media_status_t_AMEDIA_ERROR_INVALID_PARAMETER: media_status_t = -10004;
pub const media_status_t_AMEDIA_ERROR_INVALID_OPERATION: media_status_t = -10005;
pub const media_status_t_AMEDIA_ERROR_END_OF_STREAM: media_status_t = -10006;
pub const media_status_t_AMEDIA_ERROR_IO: media_status_t = -10007;
pub const media_status_t_AMEDIA_ERROR_WOULD_BLOCK: media_status_t = -10008;
pub const media_status_t_AMEDIA_DRM_ERROR_BASE: media_status_t = -20000;
pub const media_status_t_AMEDIA_DRM_NOT_PROVISIONED: media_status_t = -20001;
pub const media_status_t_AMEDIA_DRM_RESOURCE_BUSY: media_status_t = -20002;
pub const media_status_t_AMEDIA_DRM_DEVICE_REVOKED: media_status_t = -20003;
pub const media_status_t_AMEDIA_DRM_SHORT_BUFFER: media_status_t = -20004;
pub const media_status_t_AMEDIA_DRM_SESSION_NOT_OPENED: media_status_t = -20005;
pub const media_status_t_AMEDIA_DRM_TAMPER_DETECTED: media_status_t = -20006;
pub const media_status_t_AMEDIA_DRM_VERIFY_FAILED: media_status_t = -20007;
pub const media_status_t_AMEDIA_DRM_NEED_KEY: media_status_t = -20008;
pub const media_status_t_AMEDIA_DRM_LICENSE_EXPIRED: media_status_t = -20009;
pub const media_status_t_AMEDIA_IMGREADER_ERROR_BASE: media_status_t = -30000;
pub const media_status_t_AMEDIA_IMGREADER_NO_BUFFER_AVAILABLE: media_status_t = -30001;
pub const media_status_t_AMEDIA_IMGREADER_MAX_IMAGES_ACQUIRED: media_status_t = -30002;
pub const media_status_t_AMEDIA_IMGREADER_CANNOT_LOCK_IMAGE: media_status_t = -30003;
pub const media_status_t_AMEDIA_IMGREADER_CANNOT_UNLOCK_IMAGE: media_status_t = -30004;
pub const media_status_t_AMEDIA_IMGREADER_IMAGE_NOT_LOCKED: media_status_t = -30005;
pub type media_status_t = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AImage {
    _unused: [u8; 0],
}
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGBA_8888: AIMAGE_FORMATS = 1;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGBX_8888: AIMAGE_FORMATS = 2;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGB_888: AIMAGE_FORMATS = 3;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGB_565: AIMAGE_FORMATS = 4;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGBA_FP16: AIMAGE_FORMATS = 22;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_YUV_420_888: AIMAGE_FORMATS = 35;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_JPEG: AIMAGE_FORMATS = 256;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW16: AIMAGE_FORMATS = 32;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW_PRIVATE: AIMAGE_FORMATS = 36;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW10: AIMAGE_FORMATS = 37;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW12: AIMAGE_FORMATS = 38;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_DEPTH16: AIMAGE_FORMATS = 1144402265;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_DEPTH_POINT_CLOUD: AIMAGE_FORMATS = 257;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_PRIVATE: AIMAGE_FORMATS = 34;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_Y8: AIMAGE_FORMATS = 538982489;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_HEIC: AIMAGE_FORMATS = 1212500294;
pub const AIMAGE_FORMATS_AIMAGE_FORMAT_DEPTH_JPEG: AIMAGE_FORMATS = 1768253795;
pub type AIMAGE_FORMATS = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AImageCropRect {
    pub left: i32,
    pub top: i32,
    pub right: i32,
    pub bottom: i32,
}
#[test]
fn bindgen_test_layout_AImageCropRect() {
    assert_eq!(
        ::std::mem::size_of::<AImageCropRect>(),
        16usize,
        concat!("Size of: ", stringify!(AImageCropRect))
    );
    assert_eq!(
        ::std::mem::align_of::<AImageCropRect>(),
        4usize,
        concat!("Alignment of ", stringify!(AImageCropRect))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AImageCropRect>())).left as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AImageCropRect),
            "::",
            stringify!(left)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AImageCropRect>())).top as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AImageCropRect),
            "::",
            stringify!(top)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AImageCropRect>())).right as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(AImageCropRect),
            "::",
            stringify!(right)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<AImageCropRect>())).bottom as *const _ as usize },
        12usize,
        concat!(
            "Offset of field: ",
            stringify!(AImageCropRect),
            "::",
            stringify!(bottom)
        )
    );
}
extern "C" {
    pub fn AImage_delete(image: *mut AImage);
}
extern "C" {
    pub fn AImage_getWidth(image: *const AImage, width: *mut i32) -> media_status_t;
}
extern "C" {
    pub fn AImage_getHeight(image: *const AImage, height: *mut i32) -> media_status_t;
}
extern "C" {
    pub fn AImage_getFormat(image: *const AImage, format: *mut i32) -> media_status_t;
}
extern "C" {
    pub fn AImage_getCropRect(image: *const AImage, rect: *mut AImageCropRect) -> media_status_t;
}
extern "C" {
    pub fn AImage_getTimestamp(image: *const AImage, timestampNs: *mut i64) -> media_status_t;
}
extern "C" {
    pub fn AImage_getNumberOfPlanes(image: *const AImage, numPlanes: *mut i32) -> media_status_t;
}
extern "C" {
    pub fn AImage_getPlanePixelStride(
        image: *const AImage,
        planeIdx: ::std::os::raw::c_int,
        pixelStride: *mut i32,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImage_getPlaneRowStride(
        image: *const AImage,
        planeIdx: ::std::os::raw::c_int,
        rowStride: *mut i32,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImage_getPlaneData(
        image: *const AImage,
        planeIdx: ::std::os::raw::c_int,
        data: *mut *mut u8,
        dataLength: *mut ::std::os::raw::c_int,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImage_deleteAsync(image: *mut AImage, releaseFenceFd: ::std::os::raw::c_int);
}
extern "C" {
    pub fn AImage_getHardwareBuffer(
        image: *const AImage,
        buffer: *mut *mut AHardwareBuffer,
    ) -> media_status_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AImageReader {
    _unused: [u8; 0],
}
extern "C" {
    pub fn AImageReader_new(
        width: i32,
        height: i32,
        format: i32,
        maxImages: i32,
        reader: *mut *mut AImageReader,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_delete(reader: *mut AImageReader);
}
extern "C" {
    pub fn AImageReader_getWindow(
        reader: *mut AImageReader,
        window: *mut *mut ANativeWindow,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_getWidth(reader: *const AImageReader, width: *mut i32) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_getHeight(reader: *const AImageReader, height: *mut i32) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_getFormat(reader: *const AImageReader, format: *mut i32) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_getMaxImages(
        reader: *const AImageReader,
        maxImages: *mut i32,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_acquireNextImage(
        reader: *mut AImageReader,
        image: *mut *mut AImage,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_acquireLatestImage(
        reader: *mut AImageReader,
        image: *mut *mut AImage,
    ) -> media_status_t;
}
pub type AImageReader_ImageCallback = ::std::option::Option<
    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, reader: *mut AImageReader),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AImageReader_ImageListener {
    pub context: *mut ::std::os::raw::c_void,
    pub onImageAvailable: AImageReader_ImageCallback,
}
#[test]
fn bindgen_test_layout_AImageReader_ImageListener() {
    assert_eq!(
        ::std::mem::size_of::<AImageReader_ImageListener>(),
        8usize,
        concat!("Size of: ", stringify!(AImageReader_ImageListener))
    );
    assert_eq!(
        ::std::mem::align_of::<AImageReader_ImageListener>(),
        4usize,
        concat!("Alignment of ", stringify!(AImageReader_ImageListener))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AImageReader_ImageListener>())).context as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AImageReader_ImageListener),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AImageReader_ImageListener>())).onImageAvailable as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AImageReader_ImageListener),
            "::",
            stringify!(onImageAvailable)
        )
    );
}
extern "C" {
    pub fn AImageReader_setImageListener(
        reader: *mut AImageReader,
        listener: *mut AImageReader_ImageListener,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_newWithUsage(
        width: i32,
        height: i32,
        format: i32,
        usage: u64,
        maxImages: i32,
        reader: *mut *mut AImageReader,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_acquireNextImageAsync(
        reader: *mut AImageReader,
        image: *mut *mut AImage,
        acquireFenceFd: *mut ::std::os::raw::c_int,
    ) -> media_status_t;
}
extern "C" {
    pub fn AImageReader_acquireLatestImageAsync(
        reader: *mut AImageReader,
        image: *mut *mut AImage,
        acquireFenceFd: *mut ::std::os::raw::c_int,
    ) -> media_status_t;
}
pub type AImageReader_BufferRemovedCallback = ::std::option::Option<
    unsafe extern "C" fn(
        context: *mut ::std::os::raw::c_void,
        reader: *mut AImageReader,
        buffer: *mut AHardwareBuffer,
    ),
>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct AImageReader_BufferRemovedListener {
    pub context: *mut ::std::os::raw::c_void,
    pub onBufferRemoved: AImageReader_BufferRemovedCallback,
}
#[test]
fn bindgen_test_layout_AImageReader_BufferRemovedListener() {
    assert_eq!(
        ::std::mem::size_of::<AImageReader_BufferRemovedListener>(),
        8usize,
        concat!("Size of: ", stringify!(AImageReader_BufferRemovedListener))
    );
    assert_eq!(
        ::std::mem::align_of::<AImageReader_BufferRemovedListener>(),
        4usize,
        concat!(
            "Alignment of ",
            stringify!(AImageReader_BufferRemovedListener)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AImageReader_BufferRemovedListener>())).context as *const _
                as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(AImageReader_BufferRemovedListener),
            "::",
            stringify!(context)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<AImageReader_BufferRemovedListener>())).onBufferRemoved
                as *const _ as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(AImageReader_BufferRemovedListener),
            "::",
            stringify!(onBufferRemoved)
        )
    );
}
extern "C" {
    pub fn AImageReader_setBufferRemovedListener(
        reader: *mut AImageReader,
        listener: *mut AImageReader_BufferRemovedListener,
    ) -> media_status_t;
}
pub type __builtin_va_list = *mut ::std::os::raw::c_char;
