android_ndk_sys/
ffi_arm.rs

1/* automatically generated by rust-bindgen */
2
3pub const __BIONIC__: u32 = 1;
4pub const __WORDSIZE: u32 = 32;
5pub const __bos_level: u32 = 0;
6pub const __ANDROID_API_FUTURE__: u32 = 10000;
7pub const __ANDROID_API__: u32 = 10000;
8pub const __ANDROID_API_G__: u32 = 9;
9pub const __ANDROID_API_I__: u32 = 14;
10pub const __ANDROID_API_J__: u32 = 16;
11pub const __ANDROID_API_J_MR1__: u32 = 17;
12pub const __ANDROID_API_J_MR2__: u32 = 18;
13pub const __ANDROID_API_K__: u32 = 19;
14pub const __ANDROID_API_L__: u32 = 21;
15pub const __ANDROID_API_L_MR1__: u32 = 22;
16pub const __ANDROID_API_M__: u32 = 23;
17pub const __ANDROID_API_N__: u32 = 24;
18pub const __ANDROID_API_N_MR1__: u32 = 25;
19pub const __ANDROID_API_O__: u32 = 26;
20pub const __ANDROID_API_O_MR1__: u32 = 27;
21pub const __ANDROID_API_P__: u32 = 28;
22pub const __ANDROID_API_Q__: u32 = 29;
23pub const WCHAR_MIN: u8 = 0u8;
24pub const INT8_MIN: i32 = -128;
25pub const INT8_MAX: u32 = 127;
26pub const INT_LEAST8_MIN: i32 = -128;
27pub const INT_LEAST8_MAX: u32 = 127;
28pub const INT_FAST8_MIN: i32 = -128;
29pub const INT_FAST8_MAX: u32 = 127;
30pub const UINT8_MAX: u32 = 255;
31pub const UINT_LEAST8_MAX: u32 = 255;
32pub const UINT_FAST8_MAX: u32 = 255;
33pub const INT16_MIN: i32 = -32768;
34pub const INT16_MAX: u32 = 32767;
35pub const INT_LEAST16_MIN: i32 = -32768;
36pub const INT_LEAST16_MAX: u32 = 32767;
37pub const UINT16_MAX: u32 = 65535;
38pub const UINT_LEAST16_MAX: u32 = 65535;
39pub const INT32_MIN: i32 = -2147483648;
40pub const INT32_MAX: u32 = 2147483647;
41pub const INT_LEAST32_MIN: i32 = -2147483648;
42pub const INT_LEAST32_MAX: u32 = 2147483647;
43pub const INT_FAST32_MIN: i32 = -2147483648;
44pub const INT_FAST32_MAX: u32 = 2147483647;
45pub const UINT32_MAX: u32 = 4294967295;
46pub const UINT_LEAST32_MAX: u32 = 4294967295;
47pub const UINT_FAST32_MAX: u32 = 4294967295;
48pub const SIG_ATOMIC_MAX: u32 = 2147483647;
49pub const SIG_ATOMIC_MIN: i32 = -2147483648;
50pub const WINT_MAX: u32 = 4294967295;
51pub const WINT_MIN: u32 = 0;
52pub const INTPTR_MIN: i32 = -2147483648;
53pub const INTPTR_MAX: u32 = 2147483647;
54pub const UINTPTR_MAX: u32 = 4294967295;
55pub const PTRDIFF_MIN: i32 = -2147483648;
56pub const PTRDIFF_MAX: u32 = 2147483647;
57pub const SIZE_MAX: u32 = 4294967295;
58pub const __BITS_PER_LONG: u32 = 32;
59pub const __FD_SETSIZE: u32 = 1024;
60pub const __GNUC_VA_LIST: u32 = 1;
61pub const JNI_FALSE: u32 = 0;
62pub const JNI_TRUE: u32 = 1;
63pub const JNI_VERSION_1_1: u32 = 65537;
64pub const JNI_VERSION_1_2: u32 = 65538;
65pub const JNI_VERSION_1_4: u32 = 65540;
66pub const JNI_VERSION_1_6: u32 = 65542;
67pub const JNI_OK: u32 = 0;
68pub const JNI_ERR: i32 = -1;
69pub const JNI_EDETACHED: i32 = -2;
70pub const JNI_EVERSION: i32 = -3;
71pub const JNI_ENOMEM: i32 = -4;
72pub const JNI_EEXIST: i32 = -5;
73pub const JNI_EINVAL: i32 = -6;
74pub const JNI_COMMIT: u32 = 1;
75pub const JNI_ABORT: u32 = 2;
76pub const __PRI_64_prefix: &'static [u8; 3usize] = b"ll\0";
77pub const PRId8: &'static [u8; 2usize] = b"d\0";
78pub const PRId16: &'static [u8; 2usize] = b"d\0";
79pub const PRId32: &'static [u8; 2usize] = b"d\0";
80pub const PRId64: &'static [u8; 4usize] = b"lld\0";
81pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
82pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
83pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
84pub const PRIdLEAST64: &'static [u8; 4usize] = b"lld\0";
85pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
86pub const PRIdFAST64: &'static [u8; 4usize] = b"lld\0";
87pub const PRIdMAX: &'static [u8; 3usize] = b"jd\0";
88pub const PRIi8: &'static [u8; 2usize] = b"i\0";
89pub const PRIi16: &'static [u8; 2usize] = b"i\0";
90pub const PRIi32: &'static [u8; 2usize] = b"i\0";
91pub const PRIi64: &'static [u8; 4usize] = b"lli\0";
92pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
93pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
94pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
95pub const PRIiLEAST64: &'static [u8; 4usize] = b"lli\0";
96pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
97pub const PRIiFAST64: &'static [u8; 4usize] = b"lli\0";
98pub const PRIiMAX: &'static [u8; 3usize] = b"ji\0";
99pub const PRIo8: &'static [u8; 2usize] = b"o\0";
100pub const PRIo16: &'static [u8; 2usize] = b"o\0";
101pub const PRIo32: &'static [u8; 2usize] = b"o\0";
102pub const PRIo64: &'static [u8; 4usize] = b"llo\0";
103pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
104pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
105pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
106pub const PRIoLEAST64: &'static [u8; 4usize] = b"llo\0";
107pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
108pub const PRIoFAST64: &'static [u8; 4usize] = b"llo\0";
109pub const PRIoMAX: &'static [u8; 3usize] = b"jo\0";
110pub const PRIu8: &'static [u8; 2usize] = b"u\0";
111pub const PRIu16: &'static [u8; 2usize] = b"u\0";
112pub const PRIu32: &'static [u8; 2usize] = b"u\0";
113pub const PRIu64: &'static [u8; 4usize] = b"llu\0";
114pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
115pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
116pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
117pub const PRIuLEAST64: &'static [u8; 4usize] = b"llu\0";
118pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
119pub const PRIuFAST64: &'static [u8; 4usize] = b"llu\0";
120pub const PRIuMAX: &'static [u8; 3usize] = b"ju\0";
121pub const PRIx8: &'static [u8; 2usize] = b"x\0";
122pub const PRIx16: &'static [u8; 2usize] = b"x\0";
123pub const PRIx32: &'static [u8; 2usize] = b"x\0";
124pub const PRIx64: &'static [u8; 4usize] = b"llx\0";
125pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
126pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
127pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
128pub const PRIxLEAST64: &'static [u8; 4usize] = b"llx\0";
129pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
130pub const PRIxFAST64: &'static [u8; 4usize] = b"llx\0";
131pub const PRIxMAX: &'static [u8; 3usize] = b"jx\0";
132pub const PRIX8: &'static [u8; 2usize] = b"X\0";
133pub const PRIX16: &'static [u8; 2usize] = b"X\0";
134pub const PRIX32: &'static [u8; 2usize] = b"X\0";
135pub const PRIX64: &'static [u8; 4usize] = b"llX\0";
136pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
137pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
138pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
139pub const PRIXLEAST64: &'static [u8; 4usize] = b"llX\0";
140pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
141pub const PRIXFAST64: &'static [u8; 4usize] = b"llX\0";
142pub const PRIXMAX: &'static [u8; 3usize] = b"jX\0";
143pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
144pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
145pub const SCNd32: &'static [u8; 2usize] = b"d\0";
146pub const SCNd64: &'static [u8; 4usize] = b"lld\0";
147pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
148pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
149pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
150pub const SCNdLEAST64: &'static [u8; 4usize] = b"lld\0";
151pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
152pub const SCNdFAST64: &'static [u8; 4usize] = b"lld\0";
153pub const SCNdMAX: &'static [u8; 3usize] = b"jd\0";
154pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
155pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
156pub const SCNi32: &'static [u8; 2usize] = b"i\0";
157pub const SCNi64: &'static [u8; 4usize] = b"lli\0";
158pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
159pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
160pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
161pub const SCNiLEAST64: &'static [u8; 4usize] = b"lli\0";
162pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
163pub const SCNiFAST64: &'static [u8; 4usize] = b"lli\0";
164pub const SCNiMAX: &'static [u8; 3usize] = b"ji\0";
165pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
166pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
167pub const SCNo32: &'static [u8; 2usize] = b"o\0";
168pub const SCNo64: &'static [u8; 4usize] = b"llo\0";
169pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
170pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
171pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
172pub const SCNoLEAST64: &'static [u8; 4usize] = b"llo\0";
173pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
174pub const SCNoFAST64: &'static [u8; 4usize] = b"llo\0";
175pub const SCNoMAX: &'static [u8; 3usize] = b"jo\0";
176pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
177pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
178pub const SCNu32: &'static [u8; 2usize] = b"u\0";
179pub const SCNu64: &'static [u8; 4usize] = b"llu\0";
180pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
181pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
182pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
183pub const SCNuLEAST64: &'static [u8; 4usize] = b"llu\0";
184pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
185pub const SCNuFAST64: &'static [u8; 4usize] = b"llu\0";
186pub const SCNuMAX: &'static [u8; 3usize] = b"ju\0";
187pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
188pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
189pub const SCNx32: &'static [u8; 2usize] = b"x\0";
190pub const SCNx64: &'static [u8; 4usize] = b"llx\0";
191pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
192pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
193pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
194pub const SCNxLEAST64: &'static [u8; 4usize] = b"llx\0";
195pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
196pub const SCNxFAST64: &'static [u8; 4usize] = b"llx\0";
197pub const SCNxMAX: &'static [u8; 3usize] = b"jx\0";
198pub const true_: u32 = 1;
199pub const false_: u32 = 0;
200pub const __bool_true_false_are_defined: u32 = 1;
201pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
202pub const _K_SS_MAXSIZE: u32 = 128;
203pub const O_DIRECTORY: u32 = 16384;
204pub const O_NOFOLLOW: u32 = 32768;
205pub const O_DIRECT: u32 = 65536;
206pub const O_LARGEFILE: u32 = 131072;
207pub const O_ACCMODE: u32 = 3;
208pub const O_RDONLY: u32 = 0;
209pub const O_WRONLY: u32 = 1;
210pub const O_RDWR: u32 = 2;
211pub const O_CREAT: u32 = 64;
212pub const O_EXCL: u32 = 128;
213pub const O_NOCTTY: u32 = 256;
214pub const O_TRUNC: u32 = 512;
215pub const O_APPEND: u32 = 1024;
216pub const O_NONBLOCK: u32 = 2048;
217pub const O_DSYNC: u32 = 4096;
218pub const FASYNC: u32 = 8192;
219pub const O_NOATIME: u32 = 262144;
220pub const O_CLOEXEC: u32 = 524288;
221pub const __O_SYNC: u32 = 1048576;
222pub const O_SYNC: u32 = 1052672;
223pub const O_PATH: u32 = 2097152;
224pub const __O_TMPFILE: u32 = 4194304;
225pub const O_TMPFILE: u32 = 4210688;
226pub const O_TMPFILE_MASK: u32 = 4210752;
227pub const O_NDELAY: u32 = 2048;
228pub const F_DUPFD: u32 = 0;
229pub const F_GETFD: u32 = 1;
230pub const F_SETFD: u32 = 2;
231pub const F_GETFL: u32 = 3;
232pub const F_SETFL: u32 = 4;
233pub const F_GETLK: u32 = 5;
234pub const F_SETLK: u32 = 6;
235pub const F_SETLKW: u32 = 7;
236pub const F_SETOWN: u32 = 8;
237pub const F_GETOWN: u32 = 9;
238pub const F_SETSIG: u32 = 10;
239pub const F_GETSIG: u32 = 11;
240pub const F_GETLK64: u32 = 12;
241pub const F_SETLK64: u32 = 13;
242pub const F_SETLKW64: u32 = 14;
243pub const F_SETOWN_EX: u32 = 15;
244pub const F_GETOWN_EX: u32 = 16;
245pub const F_GETOWNER_UIDS: u32 = 17;
246pub const F_OFD_GETLK: u32 = 36;
247pub const F_OFD_SETLK: u32 = 37;
248pub const F_OFD_SETLKW: u32 = 38;
249pub const F_OWNER_TID: u32 = 0;
250pub const F_OWNER_PID: u32 = 1;
251pub const F_OWNER_PGRP: u32 = 2;
252pub const FD_CLOEXEC: u32 = 1;
253pub const F_RDLCK: u32 = 0;
254pub const F_WRLCK: u32 = 1;
255pub const F_UNLCK: u32 = 2;
256pub const F_EXLCK: u32 = 4;
257pub const F_SHLCK: u32 = 8;
258pub const LOCK_SH: u32 = 1;
259pub const LOCK_EX: u32 = 2;
260pub const LOCK_NB: u32 = 4;
261pub const LOCK_UN: u32 = 8;
262pub const LOCK_MAND: u32 = 32;
263pub const LOCK_READ: u32 = 64;
264pub const LOCK_WRITE: u32 = 128;
265pub const LOCK_RW: u32 = 192;
266pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
267pub const FIOSETOWN: u32 = 35073;
268pub const SIOCSPGRP: u32 = 35074;
269pub const FIOGETOWN: u32 = 35075;
270pub const SIOCGPGRP: u32 = 35076;
271pub const SIOCATMARK: u32 = 35077;
272pub const SIOCGSTAMP: u32 = 35078;
273pub const SIOCGSTAMPNS: u32 = 35079;
274pub const SOL_SOCKET: u32 = 1;
275pub const SO_DEBUG: u32 = 1;
276pub const SO_REUSEADDR: u32 = 2;
277pub const SO_TYPE: u32 = 3;
278pub const SO_ERROR: u32 = 4;
279pub const SO_DONTROUTE: u32 = 5;
280pub const SO_BROADCAST: u32 = 6;
281pub const SO_SNDBUF: u32 = 7;
282pub const SO_RCVBUF: u32 = 8;
283pub const SO_SNDBUFFORCE: u32 = 32;
284pub const SO_RCVBUFFORCE: u32 = 33;
285pub const SO_KEEPALIVE: u32 = 9;
286pub const SO_OOBINLINE: u32 = 10;
287pub const SO_NO_CHECK: u32 = 11;
288pub const SO_PRIORITY: u32 = 12;
289pub const SO_LINGER: u32 = 13;
290pub const SO_BSDCOMPAT: u32 = 14;
291pub const SO_REUSEPORT: u32 = 15;
292pub const SO_PASSCRED: u32 = 16;
293pub const SO_PEERCRED: u32 = 17;
294pub const SO_RCVLOWAT: u32 = 18;
295pub const SO_SNDLOWAT: u32 = 19;
296pub const SO_RCVTIMEO: u32 = 20;
297pub const SO_SNDTIMEO: u32 = 21;
298pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
299pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
300pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
301pub const SO_BINDTODEVICE: u32 = 25;
302pub const SO_ATTACH_FILTER: u32 = 26;
303pub const SO_DETACH_FILTER: u32 = 27;
304pub const SO_GET_FILTER: u32 = 26;
305pub const SO_PEERNAME: u32 = 28;
306pub const SO_TIMESTAMP: u32 = 29;
307pub const SCM_TIMESTAMP: u32 = 29;
308pub const SO_ACCEPTCONN: u32 = 30;
309pub const SO_PEERSEC: u32 = 31;
310pub const SO_PASSSEC: u32 = 34;
311pub const SO_TIMESTAMPNS: u32 = 35;
312pub const SCM_TIMESTAMPNS: u32 = 35;
313pub const SO_MARK: u32 = 36;
314pub const SO_TIMESTAMPING: u32 = 37;
315pub const SCM_TIMESTAMPING: u32 = 37;
316pub const SO_PROTOCOL: u32 = 38;
317pub const SO_DOMAIN: u32 = 39;
318pub const SO_RXQ_OVFL: u32 = 40;
319pub const SO_WIFI_STATUS: u32 = 41;
320pub const SCM_WIFI_STATUS: u32 = 41;
321pub const SO_PEEK_OFF: u32 = 42;
322pub const SO_NOFCS: u32 = 43;
323pub const SO_LOCK_FILTER: u32 = 44;
324pub const SO_SELECT_ERR_QUEUE: u32 = 45;
325pub const SO_BUSY_POLL: u32 = 46;
326pub const SO_MAX_PACING_RATE: u32 = 47;
327pub const SO_BPF_EXTENSIONS: u32 = 48;
328pub const SO_INCOMING_CPU: u32 = 49;
329pub const SO_ATTACH_BPF: u32 = 50;
330pub const SO_DETACH_BPF: u32 = 27;
331pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
332pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
333pub const SO_CNX_ADVICE: u32 = 53;
334pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
335pub const SO_MEMINFO: u32 = 55;
336pub const SO_INCOMING_NAPI_ID: u32 = 56;
337pub const SO_COOKIE: u32 = 57;
338pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
339pub const SO_PEERGROUPS: u32 = 59;
340pub const SO_ZEROCOPY: u32 = 60;
341pub const SO_TXTIME: u32 = 61;
342pub const SCM_TXTIME: u32 = 61;
343pub const SOCK_IOC_TYPE: u32 = 137;
344pub const SIOCADDRT: u32 = 35083;
345pub const SIOCDELRT: u32 = 35084;
346pub const SIOCRTMSG: u32 = 35085;
347pub const SIOCGIFNAME: u32 = 35088;
348pub const SIOCSIFLINK: u32 = 35089;
349pub const SIOCGIFCONF: u32 = 35090;
350pub const SIOCGIFFLAGS: u32 = 35091;
351pub const SIOCSIFFLAGS: u32 = 35092;
352pub const SIOCGIFADDR: u32 = 35093;
353pub const SIOCSIFADDR: u32 = 35094;
354pub const SIOCGIFDSTADDR: u32 = 35095;
355pub const SIOCSIFDSTADDR: u32 = 35096;
356pub const SIOCGIFBRDADDR: u32 = 35097;
357pub const SIOCSIFBRDADDR: u32 = 35098;
358pub const SIOCGIFNETMASK: u32 = 35099;
359pub const SIOCSIFNETMASK: u32 = 35100;
360pub const SIOCGIFMETRIC: u32 = 35101;
361pub const SIOCSIFMETRIC: u32 = 35102;
362pub const SIOCGIFMEM: u32 = 35103;
363pub const SIOCSIFMEM: u32 = 35104;
364pub const SIOCGIFMTU: u32 = 35105;
365pub const SIOCSIFMTU: u32 = 35106;
366pub const SIOCSIFNAME: u32 = 35107;
367pub const SIOCSIFHWADDR: u32 = 35108;
368pub const SIOCGIFENCAP: u32 = 35109;
369pub const SIOCSIFENCAP: u32 = 35110;
370pub const SIOCGIFHWADDR: u32 = 35111;
371pub const SIOCGIFSLAVE: u32 = 35113;
372pub const SIOCSIFSLAVE: u32 = 35120;
373pub const SIOCADDMULTI: u32 = 35121;
374pub const SIOCDELMULTI: u32 = 35122;
375pub const SIOCGIFINDEX: u32 = 35123;
376pub const SIOGIFINDEX: u32 = 35123;
377pub const SIOCSIFPFLAGS: u32 = 35124;
378pub const SIOCGIFPFLAGS: u32 = 35125;
379pub const SIOCDIFADDR: u32 = 35126;
380pub const SIOCSIFHWBROADCAST: u32 = 35127;
381pub const SIOCGIFCOUNT: u32 = 35128;
382pub const SIOCGIFBR: u32 = 35136;
383pub const SIOCSIFBR: u32 = 35137;
384pub const SIOCGIFTXQLEN: u32 = 35138;
385pub const SIOCSIFTXQLEN: u32 = 35139;
386pub const SIOCETHTOOL: u32 = 35142;
387pub const SIOCGMIIPHY: u32 = 35143;
388pub const SIOCGMIIREG: u32 = 35144;
389pub const SIOCSMIIREG: u32 = 35145;
390pub const SIOCWANDEV: u32 = 35146;
391pub const SIOCOUTQNSD: u32 = 35147;
392pub const SIOCGSKNS: u32 = 35148;
393pub const SIOCDARP: u32 = 35155;
394pub const SIOCGARP: u32 = 35156;
395pub const SIOCSARP: u32 = 35157;
396pub const SIOCDRARP: u32 = 35168;
397pub const SIOCGRARP: u32 = 35169;
398pub const SIOCSRARP: u32 = 35170;
399pub const SIOCGIFMAP: u32 = 35184;
400pub const SIOCSIFMAP: u32 = 35185;
401pub const SIOCADDDLCI: u32 = 35200;
402pub const SIOCDELDLCI: u32 = 35201;
403pub const SIOCGIFVLAN: u32 = 35202;
404pub const SIOCSIFVLAN: u32 = 35203;
405pub const SIOCBONDENSLAVE: u32 = 35216;
406pub const SIOCBONDRELEASE: u32 = 35217;
407pub const SIOCBONDSETHWADDR: u32 = 35218;
408pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
409pub const SIOCBONDINFOQUERY: u32 = 35220;
410pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
411pub const SIOCBRADDBR: u32 = 35232;
412pub const SIOCBRDELBR: u32 = 35233;
413pub const SIOCBRADDIF: u32 = 35234;
414pub const SIOCBRDELIF: u32 = 35235;
415pub const SIOCSHWTSTAMP: u32 = 35248;
416pub const SIOCGHWTSTAMP: u32 = 35249;
417pub const SIOCDEVPRIVATE: u32 = 35312;
418pub const SIOCPROTOPRIVATE: u32 = 35296;
419pub const UIO_FASTIOV: u32 = 8;
420pub const UIO_MAXIOV: u32 = 1024;
421pub const SOCK_STREAM: u32 = 1;
422pub const SOCK_DGRAM: u32 = 2;
423pub const SOCK_RAW: u32 = 3;
424pub const SOCK_RDM: u32 = 4;
425pub const SOCK_SEQPACKET: u32 = 5;
426pub const SOCK_DCCP: u32 = 6;
427pub const SOCK_PACKET: u32 = 10;
428pub const SOCK_CLOEXEC: u32 = 524288;
429pub const SOCK_NONBLOCK: u32 = 2048;
430pub const SCM_RIGHTS: u32 = 1;
431pub const SCM_CREDENTIALS: u32 = 2;
432pub const SCM_SECURITY: u32 = 3;
433pub const AF_UNSPEC: u32 = 0;
434pub const AF_UNIX: u32 = 1;
435pub const AF_LOCAL: u32 = 1;
436pub const AF_INET: u32 = 2;
437pub const AF_AX25: u32 = 3;
438pub const AF_IPX: u32 = 4;
439pub const AF_APPLETALK: u32 = 5;
440pub const AF_NETROM: u32 = 6;
441pub const AF_BRIDGE: u32 = 7;
442pub const AF_ATMPVC: u32 = 8;
443pub const AF_X25: u32 = 9;
444pub const AF_INET6: u32 = 10;
445pub const AF_ROSE: u32 = 11;
446pub const AF_DECnet: u32 = 12;
447pub const AF_NETBEUI: u32 = 13;
448pub const AF_SECURITY: u32 = 14;
449pub const AF_KEY: u32 = 15;
450pub const AF_NETLINK: u32 = 16;
451pub const AF_ROUTE: u32 = 16;
452pub const AF_PACKET: u32 = 17;
453pub const AF_ASH: u32 = 18;
454pub const AF_ECONET: u32 = 19;
455pub const AF_ATMSVC: u32 = 20;
456pub const AF_RDS: u32 = 21;
457pub const AF_SNA: u32 = 22;
458pub const AF_IRDA: u32 = 23;
459pub const AF_PPPOX: u32 = 24;
460pub const AF_WANPIPE: u32 = 25;
461pub const AF_LLC: u32 = 26;
462pub const AF_CAN: u32 = 29;
463pub const AF_TIPC: u32 = 30;
464pub const AF_BLUETOOTH: u32 = 31;
465pub const AF_IUCV: u32 = 32;
466pub const AF_RXRPC: u32 = 33;
467pub const AF_ISDN: u32 = 34;
468pub const AF_PHONET: u32 = 35;
469pub const AF_IEEE802154: u32 = 36;
470pub const AF_CAIF: u32 = 37;
471pub const AF_ALG: u32 = 38;
472pub const AF_NFC: u32 = 39;
473pub const AF_VSOCK: u32 = 40;
474pub const AF_KCM: u32 = 41;
475pub const AF_QIPCRTR: u32 = 42;
476pub const AF_MAX: u32 = 43;
477pub const PF_UNSPEC: u32 = 0;
478pub const PF_UNIX: u32 = 1;
479pub const PF_LOCAL: u32 = 1;
480pub const PF_INET: u32 = 2;
481pub const PF_AX25: u32 = 3;
482pub const PF_IPX: u32 = 4;
483pub const PF_APPLETALK: u32 = 5;
484pub const PF_NETROM: u32 = 6;
485pub const PF_BRIDGE: u32 = 7;
486pub const PF_ATMPVC: u32 = 8;
487pub const PF_X25: u32 = 9;
488pub const PF_INET6: u32 = 10;
489pub const PF_ROSE: u32 = 11;
490pub const PF_DECnet: u32 = 12;
491pub const PF_NETBEUI: u32 = 13;
492pub const PF_SECURITY: u32 = 14;
493pub const PF_KEY: u32 = 15;
494pub const PF_NETLINK: u32 = 16;
495pub const PF_ROUTE: u32 = 16;
496pub const PF_PACKET: u32 = 17;
497pub const PF_ASH: u32 = 18;
498pub const PF_ECONET: u32 = 19;
499pub const PF_ATMSVC: u32 = 20;
500pub const PF_RDS: u32 = 21;
501pub const PF_SNA: u32 = 22;
502pub const PF_IRDA: u32 = 23;
503pub const PF_PPPOX: u32 = 24;
504pub const PF_WANPIPE: u32 = 25;
505pub const PF_LLC: u32 = 26;
506pub const PF_CAN: u32 = 29;
507pub const PF_TIPC: u32 = 30;
508pub const PF_BLUETOOTH: u32 = 31;
509pub const PF_IUCV: u32 = 32;
510pub const PF_RXRPC: u32 = 33;
511pub const PF_ISDN: u32 = 34;
512pub const PF_PHONET: u32 = 35;
513pub const PF_IEEE802154: u32 = 36;
514pub const PF_CAIF: u32 = 37;
515pub const PF_ALG: u32 = 38;
516pub const PF_NFC: u32 = 39;
517pub const PF_VSOCK: u32 = 40;
518pub const PF_KCM: u32 = 41;
519pub const PF_QIPCRTR: u32 = 42;
520pub const PF_MAX: u32 = 43;
521pub const SOMAXCONN: u32 = 128;
522pub const MSG_OOB: u32 = 1;
523pub const MSG_PEEK: u32 = 2;
524pub const MSG_DONTROUTE: u32 = 4;
525pub const MSG_TRYHARD: u32 = 4;
526pub const MSG_CTRUNC: u32 = 8;
527pub const MSG_PROBE: u32 = 16;
528pub const MSG_TRUNC: u32 = 32;
529pub const MSG_DONTWAIT: u32 = 64;
530pub const MSG_EOR: u32 = 128;
531pub const MSG_WAITALL: u32 = 256;
532pub const MSG_FIN: u32 = 512;
533pub const MSG_SYN: u32 = 1024;
534pub const MSG_CONFIRM: u32 = 2048;
535pub const MSG_RST: u32 = 4096;
536pub const MSG_ERRQUEUE: u32 = 8192;
537pub const MSG_NOSIGNAL: u32 = 16384;
538pub const MSG_MORE: u32 = 32768;
539pub const MSG_WAITFORONE: u32 = 65536;
540pub const MSG_BATCH: u32 = 262144;
541pub const MSG_FASTOPEN: u32 = 536870912;
542pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
543pub const MSG_EOF: u32 = 512;
544pub const MSG_CMSG_COMPAT: u32 = 0;
545pub const SOL_IP: u32 = 0;
546pub const SOL_TCP: u32 = 6;
547pub const SOL_UDP: u32 = 17;
548pub const SOL_IPV6: u32 = 41;
549pub const SOL_ICMPV6: u32 = 58;
550pub const SOL_SCTP: u32 = 132;
551pub const SOL_RAW: u32 = 255;
552pub const SOL_IPX: u32 = 256;
553pub const SOL_AX25: u32 = 257;
554pub const SOL_ATALK: u32 = 258;
555pub const SOL_NETROM: u32 = 259;
556pub const SOL_ROSE: u32 = 260;
557pub const SOL_DECNET: u32 = 261;
558pub const SOL_X25: u32 = 262;
559pub const SOL_PACKET: u32 = 263;
560pub const SOL_ATM: u32 = 264;
561pub const SOL_AAL: u32 = 265;
562pub const SOL_IRDA: u32 = 266;
563pub const SOL_NETBEUI: u32 = 267;
564pub const SOL_LLC: u32 = 268;
565pub const SOL_DCCP: u32 = 269;
566pub const SOL_NETLINK: u32 = 270;
567pub const SOL_TIPC: u32 = 271;
568pub const SOL_RXRPC: u32 = 272;
569pub const SOL_PPPOL2TP: u32 = 273;
570pub const SOL_BLUETOOTH: u32 = 274;
571pub const SOL_PNPIPE: u32 = 275;
572pub const SOL_RDS: u32 = 276;
573pub const SOL_IUCV: u32 = 277;
574pub const SOL_CAIF: u32 = 278;
575pub const SOL_ALG: u32 = 279;
576pub const SOL_NFC: u32 = 280;
577pub const SOL_KCM: u32 = 281;
578pub const SOL_TLS: u32 = 282;
579pub const IPX_TYPE: u32 = 1;
580pub const _PATH_HEQUIV: &'static [u8; 24usize] = b"/system/etc/hosts.equiv\0";
581pub const _PATH_HOSTS: &'static [u8; 18usize] = b"/system/etc/hosts\0";
582pub const _PATH_NETWORKS: &'static [u8; 21usize] = b"/system/etc/networks\0";
583pub const _PATH_PROTOCOLS: &'static [u8; 22usize] = b"/system/etc/protocols\0";
584pub const _PATH_SERVICES: &'static [u8; 21usize] = b"/system/etc/services\0";
585pub const NETDB_INTERNAL: i32 = -1;
586pub const NETDB_SUCCESS: u32 = 0;
587pub const HOST_NOT_FOUND: u32 = 1;
588pub const TRY_AGAIN: u32 = 2;
589pub const NO_RECOVERY: u32 = 3;
590pub const NO_DATA: u32 = 4;
591pub const NO_ADDRESS: u32 = 4;
592pub const EAI_ADDRFAMILY: u32 = 1;
593pub const EAI_AGAIN: u32 = 2;
594pub const EAI_BADFLAGS: u32 = 3;
595pub const EAI_FAIL: u32 = 4;
596pub const EAI_FAMILY: u32 = 5;
597pub const EAI_MEMORY: u32 = 6;
598pub const EAI_NODATA: u32 = 7;
599pub const EAI_NONAME: u32 = 8;
600pub const EAI_SERVICE: u32 = 9;
601pub const EAI_SOCKTYPE: u32 = 10;
602pub const EAI_SYSTEM: u32 = 11;
603pub const EAI_BADHINTS: u32 = 12;
604pub const EAI_PROTOCOL: u32 = 13;
605pub const EAI_OVERFLOW: u32 = 14;
606pub const EAI_MAX: u32 = 15;
607pub const AI_PASSIVE: u32 = 1;
608pub const AI_CANONNAME: u32 = 2;
609pub const AI_NUMERICHOST: u32 = 4;
610pub const AI_NUMERICSERV: u32 = 8;
611pub const AI_ALL: u32 = 256;
612pub const AI_V4MAPPED_CFG: u32 = 512;
613pub const AI_ADDRCONFIG: u32 = 1024;
614pub const AI_V4MAPPED: u32 = 2048;
615pub const AI_DEFAULT: u32 = 1536;
616pub const NI_MAXHOST: u32 = 1025;
617pub const NI_MAXSERV: u32 = 32;
618pub const NI_NOFQDN: u32 = 1;
619pub const NI_NUMERICHOST: u32 = 2;
620pub const NI_NAMEREQD: u32 = 4;
621pub const NI_NUMERICSERV: u32 = 8;
622pub const NI_DGRAM: u32 = 16;
623pub const SCOPE_DELIMITER: u8 = 37u8;
624pub const IPPORT_RESERVED: u32 = 1024;
625pub const WNOHANG: u32 = 1;
626pub const WUNTRACED: u32 = 2;
627pub const WSTOPPED: u32 = 2;
628pub const WEXITED: u32 = 4;
629pub const WCONTINUED: u32 = 8;
630pub const WNOWAIT: u32 = 16777216;
631pub const __WNOTHREAD: u32 = 536870912;
632pub const __WALL: u32 = 1073741824;
633pub const __WCLONE: u32 = 2147483648;
634pub const P_ALL: u32 = 0;
635pub const P_PID: u32 = 1;
636pub const P_PGID: u32 = 2;
637pub const SEEK_SET: u32 = 0;
638pub const SEEK_CUR: u32 = 1;
639pub const SEEK_END: u32 = 2;
640pub const _IOFBF: u32 = 0;
641pub const _IOLBF: u32 = 1;
642pub const _IONBF: u32 = 2;
643pub const BUFSIZ: u32 = 1024;
644pub const EOF: i32 = -1;
645pub const FOPEN_MAX: u32 = 20;
646pub const FILENAME_MAX: u32 = 4096;
647pub const L_tmpnam: u32 = 4096;
648pub const TMP_MAX: u32 = 308915776;
649pub const P_tmpdir: &'static [u8; 6usize] = b"/tmp/\0";
650pub const L_ctermid: u32 = 1024;
651pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
652pub const M_DECAY_TIME: i32 = -100;
653pub const M_PURGE: i32 = -101;
654pub const EXIT_FAILURE: u32 = 1;
655pub const EXIT_SUCCESS: u32 = 0;
656pub const RAND_MAX: u32 = 2147483647;
657pub const __NDK_MAJOR__: u32 = 20;
658pub const __NDK_MINOR__: u32 = 0;
659pub const __NDK_BETA__: u32 = 0;
660pub const __NDK_BUILD__: u32 = 5594570;
661pub const __NDK_CANARY__: u32 = 0;
662pub const NR_OPEN: u32 = 1024;
663pub const NGROUPS_MAX: u32 = 65536;
664pub const ARG_MAX: u32 = 131072;
665pub const LINK_MAX: u32 = 127;
666pub const MAX_CANON: u32 = 255;
667pub const MAX_INPUT: u32 = 255;
668pub const NAME_MAX: u32 = 255;
669pub const PATH_MAX: u32 = 4096;
670pub const PIPE_BUF: u32 = 4096;
671pub const XATTR_NAME_MAX: u32 = 255;
672pub const XATTR_SIZE_MAX: u32 = 65536;
673pub const XATTR_LIST_MAX: u32 = 65536;
674pub const RTSIG_MAX: u32 = 32;
675pub const PASS_MAX: u32 = 128;
676pub const NL_ARGMAX: u32 = 9;
677pub const NL_LANGMAX: u32 = 14;
678pub const NL_MSGMAX: u32 = 32767;
679pub const NL_NMAX: u32 = 1;
680pub const NL_SETMAX: u32 = 255;
681pub const NL_TEXTMAX: u32 = 255;
682pub const CHAR_BIT: u32 = 8;
683pub const LONG_BIT: u32 = 32;
684pub const WORD_BIT: u32 = 32;
685pub const SCHAR_MAX: u32 = 127;
686pub const SCHAR_MIN: i32 = -128;
687pub const UCHAR_MAX: u32 = 255;
688pub const CHAR_MIN: u32 = 0;
689pub const CHAR_MAX: u32 = 255;
690pub const USHRT_MAX: u32 = 65535;
691pub const SHRT_MAX: u32 = 32767;
692pub const SHRT_MIN: i32 = -32768;
693pub const UINT_MAX: u32 = 4294967295;
694pub const INT_MAX: u32 = 2147483647;
695pub const INT_MIN: i32 = -2147483648;
696pub const ULONG_MAX: u32 = 4294967295;
697pub const LONG_MAX: u32 = 2147483647;
698pub const LONG_MIN: i32 = -2147483648;
699pub const ULLONG_MAX: i32 = -1;
700pub const LLONG_MAX: u64 = 9223372036854775807;
701pub const LLONG_MIN: i64 = -9223372036854775808;
702pub const LONG_LONG_MIN: i64 = -9223372036854775808;
703pub const LONG_LONG_MAX: u64 = 9223372036854775807;
704pub const ULONG_LONG_MAX: i32 = -1;
705pub const UID_MAX: u32 = 4294967295;
706pub const GID_MAX: u32 = 4294967295;
707pub const SIZE_T_MAX: u32 = 4294967295;
708pub const SSIZE_MAX: u32 = 2147483647;
709pub const MB_LEN_MAX: u32 = 4;
710pub const NZERO: u32 = 20;
711pub const IOV_MAX: u32 = 1024;
712pub const SEM_VALUE_MAX: u32 = 1073741823;
713pub const _POSIX_VERSION: u32 = 200809;
714pub const _POSIX2_VERSION: u32 = 200809;
715pub const _XOPEN_VERSION: u32 = 700;
716pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
717pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
718pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
719pub const _POSIX_CPUTIME: u32 = 200809;
720pub const _POSIX_FSYNC: u32 = 200809;
721pub const _POSIX_IPV6: u32 = 200809;
722pub const _POSIX_MAPPED_FILES: u32 = 200809;
723pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
724pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
725pub const _POSIX_MESSAGE_PASSING: i32 = -1;
726pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
727pub const _POSIX_NO_TRUNC: u32 = 1;
728pub const _POSIX_PRIORITIZED_IO: i32 = -1;
729pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
730pub const _POSIX_RAW_SOCKETS: u32 = 200809;
731pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
732pub const _POSIX_REGEXP: u32 = 1;
733pub const _POSIX_SAVED_IDS: u32 = 1;
734pub const _POSIX_SEMAPHORES: u32 = 200809;
735pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
736pub const _POSIX_SHELL: u32 = 1;
737pub const _POSIX_SPORADIC_SERVER: i32 = -1;
738pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
739pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
740pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
741pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
742pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
743pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
744pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
745pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
746pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
747pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
748pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
749pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
750pub const _POSIX_THREADS: u32 = 200809;
751pub const _POSIX_TIMERS: u32 = 200809;
752pub const _POSIX_TRACE: i32 = -1;
753pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
754pub const _POSIX_TRACE_INHERIT: i32 = -1;
755pub const _POSIX_TRACE_LOG: i32 = -1;
756pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
757pub const _POSIX_VDISABLE: u8 = 0u8;
758pub const _POSIX2_C_BIND: u32 = 200809;
759pub const _POSIX2_C_DEV: i32 = -1;
760pub const _POSIX2_CHAR_TERM: u32 = 200809;
761pub const _POSIX2_FORT_DEV: i32 = -1;
762pub const _POSIX2_FORT_RUN: i32 = -1;
763pub const _POSIX2_LOCALEDEF: i32 = -1;
764pub const _POSIX2_SW_DEV: i32 = -1;
765pub const _POSIX2_UPE: i32 = -1;
766pub const _POSIX_V7_ILP32_OFF32: u32 = 1;
767pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
768pub const _POSIX_V7_LP64_OFF64: i32 = -1;
769pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1;
770pub const _XOPEN_CRYPT: i32 = -1;
771pub const _XOPEN_ENH_I18N: u32 = 1;
772pub const _XOPEN_LEGACY: i32 = -1;
773pub const _XOPEN_REALTIME: u32 = 1;
774pub const _XOPEN_REALTIME_THREADS: u32 = 1;
775pub const _XOPEN_SHM: u32 = 1;
776pub const _XOPEN_STREAMS: i32 = -1;
777pub const _XOPEN_UNIX: u32 = 1;
778pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
779pub const _POSIX_AIO_MAX: u32 = 1;
780pub const _POSIX_ARG_MAX: u32 = 4096;
781pub const _POSIX_CHILD_MAX: u32 = 25;
782pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
783pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
784pub const _POSIX_HOST_NAME_MAX: u32 = 255;
785pub const _POSIX_LINK_MAX: u32 = 8;
786pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
787pub const _POSIX_MAX_CANON: u32 = 255;
788pub const _POSIX_MAX_INPUT: u32 = 255;
789pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
790pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
791pub const _POSIX_NAME_MAX: u32 = 14;
792pub const _POSIX_NGROUPS_MAX: u32 = 8;
793pub const _POSIX_OPEN_MAX: u32 = 20;
794pub const _POSIX_PATH_MAX: u32 = 256;
795pub const _POSIX_PIPE_BUF: u32 = 512;
796pub const _POSIX_RE_DUP_MAX: u32 = 255;
797pub const _POSIX_RTSIG_MAX: u32 = 8;
798pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
799pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
800pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
801pub const _POSIX_SSIZE_MAX: u32 = 32767;
802pub const _POSIX_STREAM_MAX: u32 = 8;
803pub const _POSIX_SS_REPL_MAX: u32 = 4;
804pub const _POSIX_SYMLINK_MAX: u32 = 255;
805pub const _POSIX_SYMLOOP_MAX: u32 = 8;
806pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
807pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
808pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
809pub const _POSIX_TIMER_MAX: u32 = 32;
810pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
811pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
812pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
813pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
814pub const _POSIX_TTY_NAME_MAX: u32 = 9;
815pub const _POSIX_TZNAME_MAX: u32 = 6;
816pub const _POSIX2_BC_BASE_MAX: u32 = 99;
817pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
818pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
819pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
820pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
821pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
822pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
823pub const _POSIX2_LINE_MAX: u32 = 2048;
824pub const _POSIX2_RE_DUP_MAX: u32 = 255;
825pub const _XOPEN_IOV_MAX: u32 = 16;
826pub const _XOPEN_NAME_MAX: u32 = 255;
827pub const _XOPEN_PATH_MAX: u32 = 1024;
828pub const HOST_NAME_MAX: u32 = 255;
829pub const LOGIN_NAME_MAX: u32 = 256;
830pub const TTY_NAME_MAX: u32 = 32;
831pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
832pub const PTHREAD_KEYS_MAX: u32 = 128;
833pub const FP_INFINITE: u32 = 1;
834pub const FP_NAN: u32 = 2;
835pub const FP_NORMAL: u32 = 4;
836pub const FP_SUBNORMAL: u32 = 8;
837pub const FP_ZERO: u32 = 16;
838pub const FP_ILOGB0: i32 = -2147483647;
839pub const FP_ILOGBNAN: u32 = 2147483647;
840pub const MATH_ERRNO: u32 = 1;
841pub const MATH_ERREXCEPT: u32 = 2;
842pub const math_errhandling: u32 = 2;
843pub const M_E: f64 = 2.718281828459045;
844pub const M_LOG2E: f64 = 1.4426950408889634;
845pub const M_LOG10E: f64 = 0.4342944819032518;
846pub const M_LN2: f64 = 0.6931471805599453;
847pub const M_LN10: f64 = 2.302585092994046;
848pub const M_PI: f64 = 3.141592653589793;
849pub const M_PI_2: f64 = 1.5707963267948966;
850pub const M_PI_4: f64 = 0.7853981633974483;
851pub const M_1_PI: f64 = 0.3183098861837907;
852pub const M_2_PI: f64 = 0.6366197723675814;
853pub const M_2_SQRTPI: f64 = 1.1283791670955126;
854pub const M_SQRT2: f64 = 1.4142135623730951;
855pub const M_SQRT1_2: f64 = 0.7071067811865476;
856pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
857pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
858pub const ASENSOR_INVALID: i32 = -1;
859pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
860pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
861pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
862pub const _IOC_NRBITS: u32 = 8;
863pub const _IOC_TYPEBITS: u32 = 8;
864pub const _IOC_SIZEBITS: u32 = 14;
865pub const _IOC_DIRBITS: u32 = 2;
866pub const _IOC_NRMASK: u32 = 255;
867pub const _IOC_TYPEMASK: u32 = 255;
868pub const _IOC_SIZEMASK: u32 = 16383;
869pub const _IOC_DIRMASK: u32 = 3;
870pub const _IOC_NRSHIFT: u32 = 0;
871pub const _IOC_TYPESHIFT: u32 = 8;
872pub const _IOC_SIZESHIFT: u32 = 16;
873pub const _IOC_DIRSHIFT: u32 = 30;
874pub const _IOC_NONE: u32 = 0;
875pub const _IOC_WRITE: u32 = 1;
876pub const _IOC_READ: u32 = 2;
877pub const IOC_IN: u32 = 1073741824;
878pub const IOC_OUT: u32 = 2147483648;
879pub const IOC_INOUT: u32 = 3221225472;
880pub const IOCSIZE_MASK: u32 = 1073676288;
881pub const IOCSIZE_SHIFT: u32 = 16;
882pub const SYNC_IOC_MAGIC: u8 = 62u8;
883extern "C" {
884    pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
885}
886extern "C" {
887    pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
888}
889pub type wchar_t = ::std::os::raw::c_uint;
890#[repr(C)]
891#[derive(Debug, Copy, Clone)]
892pub struct max_align_t {
893    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
894    pub __clang_max_align_nonce2: f64,
895}
896#[test]
897fn bindgen_test_layout_max_align_t() {
898    assert_eq!(
899        ::std::mem::size_of::<max_align_t>(),
900        16usize,
901        concat!("Size of: ", stringify!(max_align_t))
902    );
903    assert_eq!(
904        ::std::mem::align_of::<max_align_t>(),
905        8usize,
906        concat!("Alignment of ", stringify!(max_align_t))
907    );
908    assert_eq!(
909        unsafe {
910            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
911        },
912        0usize,
913        concat!(
914            "Offset of field: ",
915            stringify!(max_align_t),
916            "::",
917            stringify!(__clang_max_align_nonce1)
918        )
919    );
920    assert_eq!(
921        unsafe {
922            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
923        },
924        8usize,
925        concat!(
926            "Offset of field: ",
927            stringify!(max_align_t),
928            "::",
929            stringify!(__clang_max_align_nonce2)
930        )
931    );
932}
933pub type __int8_t = ::std::os::raw::c_schar;
934pub type __uint8_t = ::std::os::raw::c_uchar;
935pub type __int16_t = ::std::os::raw::c_short;
936pub type __uint16_t = ::std::os::raw::c_ushort;
937pub type __int32_t = ::std::os::raw::c_int;
938pub type __uint32_t = ::std::os::raw::c_uint;
939pub type __int64_t = ::std::os::raw::c_longlong;
940pub type __uint64_t = ::std::os::raw::c_ulonglong;
941pub type __intptr_t = ::std::os::raw::c_int;
942pub type __uintptr_t = ::std::os::raw::c_uint;
943pub type int_least8_t = i8;
944pub type uint_least8_t = u8;
945pub type int_least16_t = i16;
946pub type uint_least16_t = u16;
947pub type int_least32_t = i32;
948pub type uint_least32_t = u32;
949pub type int_least64_t = i64;
950pub type uint_least64_t = u64;
951pub type int_fast8_t = i8;
952pub type uint_fast8_t = u8;
953pub type int_fast64_t = i64;
954pub type uint_fast64_t = u64;
955pub type int_fast16_t = i32;
956pub type uint_fast16_t = u32;
957pub type int_fast32_t = i32;
958pub type uint_fast32_t = u32;
959pub type uintmax_t = u64;
960pub type intmax_t = i64;
961pub type __s8 = ::std::os::raw::c_schar;
962pub type __u8 = ::std::os::raw::c_uchar;
963pub type __s16 = ::std::os::raw::c_short;
964pub type __u16 = ::std::os::raw::c_ushort;
965pub type __s32 = ::std::os::raw::c_int;
966pub type __u32 = ::std::os::raw::c_uint;
967pub type __s64 = ::std::os::raw::c_longlong;
968pub type __u64 = ::std::os::raw::c_ulonglong;
969#[repr(C)]
970#[derive(Debug, Copy, Clone)]
971pub struct __kernel_fd_set {
972    pub fds_bits: [::std::os::raw::c_ulong; 32usize],
973}
974#[test]
975fn bindgen_test_layout___kernel_fd_set() {
976    assert_eq!(
977        ::std::mem::size_of::<__kernel_fd_set>(),
978        128usize,
979        concat!("Size of: ", stringify!(__kernel_fd_set))
980    );
981    assert_eq!(
982        ::std::mem::align_of::<__kernel_fd_set>(),
983        4usize,
984        concat!("Alignment of ", stringify!(__kernel_fd_set))
985    );
986    assert_eq!(
987        unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize },
988        0usize,
989        concat!(
990            "Offset of field: ",
991            stringify!(__kernel_fd_set),
992            "::",
993            stringify!(fds_bits)
994        )
995    );
996}
997pub type __kernel_sighandler_t =
998    ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
999pub type __kernel_key_t = ::std::os::raw::c_int;
1000pub type __kernel_mqd_t = ::std::os::raw::c_int;
1001pub type __kernel_mode_t = ::std::os::raw::c_ushort;
1002pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort;
1003pub type __kernel_uid_t = ::std::os::raw::c_ushort;
1004pub type __kernel_gid_t = ::std::os::raw::c_ushort;
1005pub type __kernel_old_dev_t = ::std::os::raw::c_ushort;
1006pub type __kernel_long_t = ::std::os::raw::c_long;
1007pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1008pub type __kernel_ino_t = __kernel_ulong_t;
1009pub type __kernel_pid_t = ::std::os::raw::c_int;
1010pub type __kernel_suseconds_t = __kernel_long_t;
1011pub type __kernel_daddr_t = ::std::os::raw::c_int;
1012pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1013pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1014pub type __kernel_old_uid_t = __kernel_uid_t;
1015pub type __kernel_old_gid_t = __kernel_gid_t;
1016pub type __kernel_size_t = ::std::os::raw::c_uint;
1017pub type __kernel_ssize_t = ::std::os::raw::c_int;
1018pub type __kernel_ptrdiff_t = ::std::os::raw::c_int;
1019#[repr(C)]
1020#[derive(Debug, Copy, Clone)]
1021pub struct __kernel_fsid_t {
1022    pub val: [::std::os::raw::c_int; 2usize],
1023}
1024#[test]
1025fn bindgen_test_layout___kernel_fsid_t() {
1026    assert_eq!(
1027        ::std::mem::size_of::<__kernel_fsid_t>(),
1028        8usize,
1029        concat!("Size of: ", stringify!(__kernel_fsid_t))
1030    );
1031    assert_eq!(
1032        ::std::mem::align_of::<__kernel_fsid_t>(),
1033        4usize,
1034        concat!("Alignment of ", stringify!(__kernel_fsid_t))
1035    );
1036    assert_eq!(
1037        unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize },
1038        0usize,
1039        concat!(
1040            "Offset of field: ",
1041            stringify!(__kernel_fsid_t),
1042            "::",
1043            stringify!(val)
1044        )
1045    );
1046}
1047pub type __kernel_off_t = __kernel_long_t;
1048pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1049pub type __kernel_time_t = __kernel_long_t;
1050pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1051pub type __kernel_clock_t = __kernel_long_t;
1052pub type __kernel_timer_t = ::std::os::raw::c_int;
1053pub type __kernel_clockid_t = ::std::os::raw::c_int;
1054pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1055pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1056pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1057pub type __le16 = __u16;
1058pub type __be16 = __u16;
1059pub type __le32 = __u32;
1060pub type __be32 = __u32;
1061pub type __le64 = __u64;
1062pub type __be64 = __u64;
1063pub type __sum16 = __u16;
1064pub type __wsum = __u32;
1065pub type __poll_t = ::std::os::raw::c_uint;
1066#[repr(C)]
1067#[derive(Debug, Copy, Clone)]
1068pub struct pthread_attr_t {
1069    pub flags: u32,
1070    pub stack_base: *mut ::std::os::raw::c_void,
1071    pub stack_size: usize,
1072    pub guard_size: usize,
1073    pub sched_policy: i32,
1074    pub sched_priority: i32,
1075}
1076#[test]
1077fn bindgen_test_layout_pthread_attr_t() {
1078    assert_eq!(
1079        ::std::mem::size_of::<pthread_attr_t>(),
1080        24usize,
1081        concat!("Size of: ", stringify!(pthread_attr_t))
1082    );
1083    assert_eq!(
1084        ::std::mem::align_of::<pthread_attr_t>(),
1085        4usize,
1086        concat!("Alignment of ", stringify!(pthread_attr_t))
1087    );
1088    assert_eq!(
1089        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).flags as *const _ as usize },
1090        0usize,
1091        concat!(
1092            "Offset of field: ",
1093            stringify!(pthread_attr_t),
1094            "::",
1095            stringify!(flags)
1096        )
1097    );
1098    assert_eq!(
1099        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_base as *const _ as usize },
1100        4usize,
1101        concat!(
1102            "Offset of field: ",
1103            stringify!(pthread_attr_t),
1104            "::",
1105            stringify!(stack_base)
1106        )
1107    );
1108    assert_eq!(
1109        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_size as *const _ as usize },
1110        8usize,
1111        concat!(
1112            "Offset of field: ",
1113            stringify!(pthread_attr_t),
1114            "::",
1115            stringify!(stack_size)
1116        )
1117    );
1118    assert_eq!(
1119        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).guard_size as *const _ as usize },
1120        12usize,
1121        concat!(
1122            "Offset of field: ",
1123            stringify!(pthread_attr_t),
1124            "::",
1125            stringify!(guard_size)
1126        )
1127    );
1128    assert_eq!(
1129        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_policy as *const _ as usize },
1130        16usize,
1131        concat!(
1132            "Offset of field: ",
1133            stringify!(pthread_attr_t),
1134            "::",
1135            stringify!(sched_policy)
1136        )
1137    );
1138    assert_eq!(
1139        unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_priority as *const _ as usize },
1140        20usize,
1141        concat!(
1142            "Offset of field: ",
1143            stringify!(pthread_attr_t),
1144            "::",
1145            stringify!(sched_priority)
1146        )
1147    );
1148}
1149#[repr(C)]
1150#[derive(Debug, Copy, Clone)]
1151pub struct pthread_barrier_t {
1152    pub __private: [i32; 8usize],
1153}
1154#[test]
1155fn bindgen_test_layout_pthread_barrier_t() {
1156    assert_eq!(
1157        ::std::mem::size_of::<pthread_barrier_t>(),
1158        32usize,
1159        concat!("Size of: ", stringify!(pthread_barrier_t))
1160    );
1161    assert_eq!(
1162        ::std::mem::align_of::<pthread_barrier_t>(),
1163        4usize,
1164        concat!("Alignment of ", stringify!(pthread_barrier_t))
1165    );
1166    assert_eq!(
1167        unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__private as *const _ as usize },
1168        0usize,
1169        concat!(
1170            "Offset of field: ",
1171            stringify!(pthread_barrier_t),
1172            "::",
1173            stringify!(__private)
1174        )
1175    );
1176}
1177pub type pthread_barrierattr_t = ::std::os::raw::c_int;
1178#[repr(C)]
1179#[derive(Debug, Copy, Clone)]
1180pub struct pthread_cond_t {
1181    pub __private: [i32; 1usize],
1182}
1183#[test]
1184fn bindgen_test_layout_pthread_cond_t() {
1185    assert_eq!(
1186        ::std::mem::size_of::<pthread_cond_t>(),
1187        4usize,
1188        concat!("Size of: ", stringify!(pthread_cond_t))
1189    );
1190    assert_eq!(
1191        ::std::mem::align_of::<pthread_cond_t>(),
1192        4usize,
1193        concat!("Alignment of ", stringify!(pthread_cond_t))
1194    );
1195    assert_eq!(
1196        unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__private as *const _ as usize },
1197        0usize,
1198        concat!(
1199            "Offset of field: ",
1200            stringify!(pthread_cond_t),
1201            "::",
1202            stringify!(__private)
1203        )
1204    );
1205}
1206pub type pthread_condattr_t = ::std::os::raw::c_long;
1207pub type pthread_key_t = ::std::os::raw::c_int;
1208#[repr(C)]
1209#[derive(Debug, Copy, Clone)]
1210pub struct pthread_mutex_t {
1211    pub __private: [i32; 1usize],
1212}
1213#[test]
1214fn bindgen_test_layout_pthread_mutex_t() {
1215    assert_eq!(
1216        ::std::mem::size_of::<pthread_mutex_t>(),
1217        4usize,
1218        concat!("Size of: ", stringify!(pthread_mutex_t))
1219    );
1220    assert_eq!(
1221        ::std::mem::align_of::<pthread_mutex_t>(),
1222        4usize,
1223        concat!("Alignment of ", stringify!(pthread_mutex_t))
1224    );
1225    assert_eq!(
1226        unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__private as *const _ as usize },
1227        0usize,
1228        concat!(
1229            "Offset of field: ",
1230            stringify!(pthread_mutex_t),
1231            "::",
1232            stringify!(__private)
1233        )
1234    );
1235}
1236pub type pthread_mutexattr_t = ::std::os::raw::c_long;
1237pub type pthread_once_t = ::std::os::raw::c_int;
1238#[repr(C)]
1239#[derive(Debug, Copy, Clone)]
1240pub struct pthread_rwlock_t {
1241    pub __private: [i32; 10usize],
1242}
1243#[test]
1244fn bindgen_test_layout_pthread_rwlock_t() {
1245    assert_eq!(
1246        ::std::mem::size_of::<pthread_rwlock_t>(),
1247        40usize,
1248        concat!("Size of: ", stringify!(pthread_rwlock_t))
1249    );
1250    assert_eq!(
1251        ::std::mem::align_of::<pthread_rwlock_t>(),
1252        4usize,
1253        concat!("Alignment of ", stringify!(pthread_rwlock_t))
1254    );
1255    assert_eq!(
1256        unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__private as *const _ as usize },
1257        0usize,
1258        concat!(
1259            "Offset of field: ",
1260            stringify!(pthread_rwlock_t),
1261            "::",
1262            stringify!(__private)
1263        )
1264    );
1265}
1266pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
1267#[repr(C)]
1268#[derive(Debug, Copy, Clone)]
1269pub struct pthread_spinlock_t {
1270    pub __private: [i32; 2usize],
1271}
1272#[test]
1273fn bindgen_test_layout_pthread_spinlock_t() {
1274    assert_eq!(
1275        ::std::mem::size_of::<pthread_spinlock_t>(),
1276        8usize,
1277        concat!("Size of: ", stringify!(pthread_spinlock_t))
1278    );
1279    assert_eq!(
1280        ::std::mem::align_of::<pthread_spinlock_t>(),
1281        4usize,
1282        concat!("Alignment of ", stringify!(pthread_spinlock_t))
1283    );
1284    assert_eq!(
1285        unsafe { &(*(::std::ptr::null::<pthread_spinlock_t>())).__private as *const _ as usize },
1286        0usize,
1287        concat!(
1288            "Offset of field: ",
1289            stringify!(pthread_spinlock_t),
1290            "::",
1291            stringify!(__private)
1292        )
1293    );
1294}
1295pub type pthread_t = ::std::os::raw::c_long;
1296pub type __gid_t = __kernel_gid32_t;
1297pub type gid_t = __gid_t;
1298pub type __uid_t = __kernel_uid32_t;
1299pub type uid_t = __uid_t;
1300pub type __pid_t = __kernel_pid_t;
1301pub type pid_t = __pid_t;
1302pub type __id_t = u32;
1303pub type id_t = __id_t;
1304pub type blkcnt_t = ::std::os::raw::c_ulong;
1305pub type blksize_t = ::std::os::raw::c_ulong;
1306pub type caddr_t = __kernel_caddr_t;
1307pub type clock_t = __kernel_clock_t;
1308pub type __clockid_t = __kernel_clockid_t;
1309pub type clockid_t = __clockid_t;
1310pub type daddr_t = __kernel_daddr_t;
1311pub type fsblkcnt_t = ::std::os::raw::c_ulong;
1312pub type fsfilcnt_t = ::std::os::raw::c_ulong;
1313pub type __mode_t = __kernel_mode_t;
1314pub type mode_t = __mode_t;
1315pub type __key_t = __kernel_key_t;
1316pub type key_t = __key_t;
1317pub type __ino_t = __kernel_ino_t;
1318pub type ino_t = __ino_t;
1319pub type ino64_t = u64;
1320pub type __nlink_t = u32;
1321pub type nlink_t = __nlink_t;
1322pub type __timer_t = *mut ::std::os::raw::c_void;
1323pub type timer_t = __timer_t;
1324pub type __suseconds_t = __kernel_suseconds_t;
1325pub type suseconds_t = __suseconds_t;
1326pub type __useconds_t = u32;
1327pub type useconds_t = __useconds_t;
1328pub type dev_t = u32;
1329pub type __time_t = __kernel_time_t;
1330pub type time_t = __time_t;
1331pub type off_t = __kernel_off_t;
1332pub type loff_t = __kernel_loff_t;
1333pub type off64_t = loff_t;
1334pub type __socklen_t = i32;
1335pub type socklen_t = __socklen_t;
1336pub type uint_t = ::std::os::raw::c_uint;
1337pub type uint = ::std::os::raw::c_uint;
1338pub type u_char = ::std::os::raw::c_uchar;
1339pub type u_short = ::std::os::raw::c_ushort;
1340pub type u_int = ::std::os::raw::c_uint;
1341pub type u_long = ::std::os::raw::c_ulong;
1342pub type u_int32_t = u32;
1343pub type u_int16_t = u16;
1344pub type u_int8_t = u8;
1345pub type u_int64_t = u64;
1346#[repr(C)]
1347#[derive(Debug, Copy, Clone)]
1348pub struct AAssetManager {
1349    _unused: [u8; 0],
1350}
1351#[repr(C)]
1352#[derive(Debug, Copy, Clone)]
1353pub struct AAssetDir {
1354    _unused: [u8; 0],
1355}
1356#[repr(C)]
1357#[derive(Debug, Copy, Clone)]
1358pub struct AAsset {
1359    _unused: [u8; 0],
1360}
1361pub const AASSET_MODE_UNKNOWN: _bindgen_ty_1 = 0;
1362pub const AASSET_MODE_RANDOM: _bindgen_ty_1 = 1;
1363pub const AASSET_MODE_STREAMING: _bindgen_ty_1 = 2;
1364pub const AASSET_MODE_BUFFER: _bindgen_ty_1 = 3;
1365pub type _bindgen_ty_1 = u32;
1366extern "C" {
1367    pub fn AAssetManager_openDir(
1368        mgr: *mut AAssetManager,
1369        dirName: *const ::std::os::raw::c_char,
1370    ) -> *mut AAssetDir;
1371}
1372extern "C" {
1373    pub fn AAssetManager_open(
1374        mgr: *mut AAssetManager,
1375        filename: *const ::std::os::raw::c_char,
1376        mode: ::std::os::raw::c_int,
1377    ) -> *mut AAsset;
1378}
1379extern "C" {
1380    pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
1381}
1382extern "C" {
1383    pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
1384}
1385extern "C" {
1386    pub fn AAssetDir_close(assetDir: *mut AAssetDir);
1387}
1388extern "C" {
1389    pub fn AAsset_read(
1390        asset: *mut AAsset,
1391        buf: *mut ::std::os::raw::c_void,
1392        count: usize,
1393    ) -> ::std::os::raw::c_int;
1394}
1395extern "C" {
1396    pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
1397}
1398extern "C" {
1399    pub fn AAsset_seek64(
1400        asset: *mut AAsset,
1401        offset: off64_t,
1402        whence: ::std::os::raw::c_int,
1403    ) -> off64_t;
1404}
1405extern "C" {
1406    pub fn AAsset_close(asset: *mut AAsset);
1407}
1408extern "C" {
1409    pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
1410}
1411extern "C" {
1412    pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
1413}
1414extern "C" {
1415    pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
1416}
1417extern "C" {
1418    pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
1419}
1420extern "C" {
1421    pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
1422}
1423extern "C" {
1424    pub fn AAsset_openFileDescriptor(
1425        asset: *mut AAsset,
1426        outStart: *mut off_t,
1427        outLength: *mut off_t,
1428    ) -> ::std::os::raw::c_int;
1429}
1430extern "C" {
1431    pub fn AAsset_openFileDescriptor64(
1432        asset: *mut AAsset,
1433        outStart: *mut off64_t,
1434        outLength: *mut off64_t,
1435    ) -> ::std::os::raw::c_int;
1436}
1437extern "C" {
1438    pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
1439}
1440pub type va_list = __builtin_va_list;
1441pub type __gnuc_va_list = __builtin_va_list;
1442pub type jboolean = u8;
1443pub type jbyte = i8;
1444pub type jchar = u16;
1445pub type jshort = i16;
1446pub type jint = i32;
1447pub type jlong = i64;
1448pub type jfloat = f32;
1449pub type jdouble = f64;
1450pub type jsize = jint;
1451pub type jobject = *mut ::std::os::raw::c_void;
1452pub type jclass = jobject;
1453pub type jstring = jobject;
1454pub type jarray = jobject;
1455pub type jobjectArray = jarray;
1456pub type jbooleanArray = jarray;
1457pub type jbyteArray = jarray;
1458pub type jcharArray = jarray;
1459pub type jshortArray = jarray;
1460pub type jintArray = jarray;
1461pub type jlongArray = jarray;
1462pub type jfloatArray = jarray;
1463pub type jdoubleArray = jarray;
1464pub type jthrowable = jobject;
1465pub type jweak = jobject;
1466#[repr(C)]
1467#[derive(Debug, Copy, Clone)]
1468pub struct _jfieldID {
1469    _unused: [u8; 0],
1470}
1471pub type jfieldID = *mut _jfieldID;
1472#[repr(C)]
1473#[derive(Debug, Copy, Clone)]
1474pub struct _jmethodID {
1475    _unused: [u8; 0],
1476}
1477pub type jmethodID = *mut _jmethodID;
1478#[repr(C)]
1479#[derive(Copy, Clone)]
1480pub union jvalue {
1481    pub z: jboolean,
1482    pub b: jbyte,
1483    pub c: jchar,
1484    pub s: jshort,
1485    pub i: jint,
1486    pub j: jlong,
1487    pub f: jfloat,
1488    pub d: jdouble,
1489    pub l: jobject,
1490    _bindgen_union_align: u64,
1491}
1492#[test]
1493fn bindgen_test_layout_jvalue() {
1494    assert_eq!(
1495        ::std::mem::size_of::<jvalue>(),
1496        8usize,
1497        concat!("Size of: ", stringify!(jvalue))
1498    );
1499    assert_eq!(
1500        ::std::mem::align_of::<jvalue>(),
1501        8usize,
1502        concat!("Alignment of ", stringify!(jvalue))
1503    );
1504    assert_eq!(
1505        unsafe { &(*(::std::ptr::null::<jvalue>())).z as *const _ as usize },
1506        0usize,
1507        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(z))
1508    );
1509    assert_eq!(
1510        unsafe { &(*(::std::ptr::null::<jvalue>())).b as *const _ as usize },
1511        0usize,
1512        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(b))
1513    );
1514    assert_eq!(
1515        unsafe { &(*(::std::ptr::null::<jvalue>())).c as *const _ as usize },
1516        0usize,
1517        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(c))
1518    );
1519    assert_eq!(
1520        unsafe { &(*(::std::ptr::null::<jvalue>())).s as *const _ as usize },
1521        0usize,
1522        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(s))
1523    );
1524    assert_eq!(
1525        unsafe { &(*(::std::ptr::null::<jvalue>())).i as *const _ as usize },
1526        0usize,
1527        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(i))
1528    );
1529    assert_eq!(
1530        unsafe { &(*(::std::ptr::null::<jvalue>())).j as *const _ as usize },
1531        0usize,
1532        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(j))
1533    );
1534    assert_eq!(
1535        unsafe { &(*(::std::ptr::null::<jvalue>())).f as *const _ as usize },
1536        0usize,
1537        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(f))
1538    );
1539    assert_eq!(
1540        unsafe { &(*(::std::ptr::null::<jvalue>())).d as *const _ as usize },
1541        0usize,
1542        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(d))
1543    );
1544    assert_eq!(
1545        unsafe { &(*(::std::ptr::null::<jvalue>())).l as *const _ as usize },
1546        0usize,
1547        concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(l))
1548    );
1549}
1550pub const jobjectRefType_JNIInvalidRefType: jobjectRefType = 0;
1551pub const jobjectRefType_JNILocalRefType: jobjectRefType = 1;
1552pub const jobjectRefType_JNIGlobalRefType: jobjectRefType = 2;
1553pub const jobjectRefType_JNIWeakGlobalRefType: jobjectRefType = 3;
1554pub type jobjectRefType = u32;
1555#[repr(C)]
1556#[derive(Debug, Copy, Clone)]
1557pub struct JNINativeMethod {
1558    pub name: *const ::std::os::raw::c_char,
1559    pub signature: *const ::std::os::raw::c_char,
1560    pub fnPtr: *mut ::std::os::raw::c_void,
1561}
1562#[test]
1563fn bindgen_test_layout_JNINativeMethod() {
1564    assert_eq!(
1565        ::std::mem::size_of::<JNINativeMethod>(),
1566        12usize,
1567        concat!("Size of: ", stringify!(JNINativeMethod))
1568    );
1569    assert_eq!(
1570        ::std::mem::align_of::<JNINativeMethod>(),
1571        4usize,
1572        concat!("Alignment of ", stringify!(JNINativeMethod))
1573    );
1574    assert_eq!(
1575        unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).name as *const _ as usize },
1576        0usize,
1577        concat!(
1578            "Offset of field: ",
1579            stringify!(JNINativeMethod),
1580            "::",
1581            stringify!(name)
1582        )
1583    );
1584    assert_eq!(
1585        unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).signature as *const _ as usize },
1586        4usize,
1587        concat!(
1588            "Offset of field: ",
1589            stringify!(JNINativeMethod),
1590            "::",
1591            stringify!(signature)
1592        )
1593    );
1594    assert_eq!(
1595        unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).fnPtr as *const _ as usize },
1596        8usize,
1597        concat!(
1598            "Offset of field: ",
1599            stringify!(JNINativeMethod),
1600            "::",
1601            stringify!(fnPtr)
1602        )
1603    );
1604}
1605pub type C_JNIEnv = *const JNINativeInterface;
1606pub type JNIEnv = *const JNINativeInterface;
1607pub type JavaVM = *const JNIInvokeInterface;
1608#[repr(C)]
1609#[derive(Debug, Copy, Clone)]
1610pub struct JNINativeInterface {
1611    pub reserved0: *mut ::std::os::raw::c_void,
1612    pub reserved1: *mut ::std::os::raw::c_void,
1613    pub reserved2: *mut ::std::os::raw::c_void,
1614    pub reserved3: *mut ::std::os::raw::c_void,
1615    pub GetVersion: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jint>,
1616    pub DefineClass: ::std::option::Option<
1617        unsafe extern "C" fn(
1618            arg1: *mut JNIEnv,
1619            arg2: *const ::std::os::raw::c_char,
1620            arg3: jobject,
1621            arg4: *const jbyte,
1622            arg5: jsize,
1623        ) -> jclass,
1624    >,
1625    pub FindClass: ::std::option::Option<
1626        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jclass,
1627    >,
1628    pub FromReflectedMethod:
1629        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jmethodID>,
1630    pub FromReflectedField:
1631        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jfieldID>,
1632    pub ToReflectedMethod: ::std::option::Option<
1633        unsafe extern "C" fn(
1634            arg1: *mut JNIEnv,
1635            arg2: jclass,
1636            arg3: jmethodID,
1637            arg4: jboolean,
1638        ) -> jobject,
1639    >,
1640    pub GetSuperclass:
1641        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jclass>,
1642    pub IsAssignableFrom: ::std::option::Option<
1643        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jclass) -> jboolean,
1644    >,
1645    pub ToReflectedField: ::std::option::Option<
1646        unsafe extern "C" fn(
1647            arg1: *mut JNIEnv,
1648            arg2: jclass,
1649            arg3: jfieldID,
1650            arg4: jboolean,
1651        ) -> jobject,
1652    >,
1653    pub Throw:
1654        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jthrowable) -> jint>,
1655    pub ThrowNew: ::std::option::Option<
1656        unsafe extern "C" fn(
1657            arg1: *mut JNIEnv,
1658            arg2: jclass,
1659            arg3: *const ::std::os::raw::c_char,
1660        ) -> jint,
1661    >,
1662    pub ExceptionOccurred:
1663        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jthrowable>,
1664    pub ExceptionDescribe: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
1665    pub ExceptionClear: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
1666    pub FatalError: ::std::option::Option<
1667        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char),
1668    >,
1669    pub PushLocalFrame:
1670        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
1671    pub PopLocalFrame:
1672        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1673    pub NewGlobalRef:
1674        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1675    pub DeleteGlobalRef:
1676        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
1677    pub DeleteLocalRef:
1678        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
1679    pub IsSameObject: ::std::option::Option<
1680        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jobject) -> jboolean,
1681    >,
1682    pub NewLocalRef:
1683        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1684    pub EnsureLocalCapacity:
1685        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
1686    pub AllocObject:
1687        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jobject>,
1688    pub NewObject: ::std::option::Option<
1689        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
1690    >,
1691    pub NewObjectV: ::std::option::Option<
1692        unsafe extern "C" fn(
1693            arg1: *mut JNIEnv,
1694            arg2: jclass,
1695            arg3: jmethodID,
1696            arg4: va_list,
1697        ) -> jobject,
1698    >,
1699    pub NewObjectA: ::std::option::Option<
1700        unsafe extern "C" fn(
1701            arg1: *mut JNIEnv,
1702            arg2: jclass,
1703            arg3: jmethodID,
1704            arg4: *const jvalue,
1705        ) -> jobject,
1706    >,
1707    pub GetObjectClass:
1708        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jclass>,
1709    pub IsInstanceOf: ::std::option::Option<
1710        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass) -> jboolean,
1711    >,
1712    pub GetMethodID: ::std::option::Option<
1713        unsafe extern "C" fn(
1714            arg1: *mut JNIEnv,
1715            arg2: jclass,
1716            arg3: *const ::std::os::raw::c_char,
1717            arg4: *const ::std::os::raw::c_char,
1718        ) -> jmethodID,
1719    >,
1720    pub CallObjectMethod: ::std::option::Option<
1721        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jobject,
1722    >,
1723    pub CallObjectMethodV: ::std::option::Option<
1724        unsafe extern "C" fn(
1725            arg1: *mut JNIEnv,
1726            arg2: jobject,
1727            arg3: jmethodID,
1728            arg4: va_list,
1729        ) -> jobject,
1730    >,
1731    pub CallObjectMethodA: ::std::option::Option<
1732        unsafe extern "C" fn(
1733            arg1: *mut JNIEnv,
1734            arg2: jobject,
1735            arg3: jmethodID,
1736            arg4: *const jvalue,
1737        ) -> jobject,
1738    >,
1739    pub CallBooleanMethod: ::std::option::Option<
1740        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jboolean,
1741    >,
1742    pub CallBooleanMethodV: ::std::option::Option<
1743        unsafe extern "C" fn(
1744            arg1: *mut JNIEnv,
1745            arg2: jobject,
1746            arg3: jmethodID,
1747            arg4: va_list,
1748        ) -> jboolean,
1749    >,
1750    pub CallBooleanMethodA: ::std::option::Option<
1751        unsafe extern "C" fn(
1752            arg1: *mut JNIEnv,
1753            arg2: jobject,
1754            arg3: jmethodID,
1755            arg4: *const jvalue,
1756        ) -> jboolean,
1757    >,
1758    pub CallByteMethod: ::std::option::Option<
1759        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jbyte,
1760    >,
1761    pub CallByteMethodV: ::std::option::Option<
1762        unsafe extern "C" fn(
1763            arg1: *mut JNIEnv,
1764            arg2: jobject,
1765            arg3: jmethodID,
1766            arg4: va_list,
1767        ) -> jbyte,
1768    >,
1769    pub CallByteMethodA: ::std::option::Option<
1770        unsafe extern "C" fn(
1771            arg1: *mut JNIEnv,
1772            arg2: jobject,
1773            arg3: jmethodID,
1774            arg4: *const jvalue,
1775        ) -> jbyte,
1776    >,
1777    pub CallCharMethod: ::std::option::Option<
1778        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jchar,
1779    >,
1780    pub CallCharMethodV: ::std::option::Option<
1781        unsafe extern "C" fn(
1782            arg1: *mut JNIEnv,
1783            arg2: jobject,
1784            arg3: jmethodID,
1785            arg4: va_list,
1786        ) -> jchar,
1787    >,
1788    pub CallCharMethodA: ::std::option::Option<
1789        unsafe extern "C" fn(
1790            arg1: *mut JNIEnv,
1791            arg2: jobject,
1792            arg3: jmethodID,
1793            arg4: *const jvalue,
1794        ) -> jchar,
1795    >,
1796    pub CallShortMethod: ::std::option::Option<
1797        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jshort,
1798    >,
1799    pub CallShortMethodV: ::std::option::Option<
1800        unsafe extern "C" fn(
1801            arg1: *mut JNIEnv,
1802            arg2: jobject,
1803            arg3: jmethodID,
1804            arg4: va_list,
1805        ) -> jshort,
1806    >,
1807    pub CallShortMethodA: ::std::option::Option<
1808        unsafe extern "C" fn(
1809            arg1: *mut JNIEnv,
1810            arg2: jobject,
1811            arg3: jmethodID,
1812            arg4: *const jvalue,
1813        ) -> jshort,
1814    >,
1815    pub CallIntMethod: ::std::option::Option<
1816        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jint,
1817    >,
1818    pub CallIntMethodV: ::std::option::Option<
1819        unsafe extern "C" fn(
1820            arg1: *mut JNIEnv,
1821            arg2: jobject,
1822            arg3: jmethodID,
1823            arg4: va_list,
1824        ) -> jint,
1825    >,
1826    pub CallIntMethodA: ::std::option::Option<
1827        unsafe extern "C" fn(
1828            arg1: *mut JNIEnv,
1829            arg2: jobject,
1830            arg3: jmethodID,
1831            arg4: *const jvalue,
1832        ) -> jint,
1833    >,
1834    pub CallLongMethod: ::std::option::Option<
1835        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jlong,
1836    >,
1837    pub CallLongMethodV: ::std::option::Option<
1838        unsafe extern "C" fn(
1839            arg1: *mut JNIEnv,
1840            arg2: jobject,
1841            arg3: jmethodID,
1842            arg4: va_list,
1843        ) -> jlong,
1844    >,
1845    pub CallLongMethodA: ::std::option::Option<
1846        unsafe extern "C" fn(
1847            arg1: *mut JNIEnv,
1848            arg2: jobject,
1849            arg3: jmethodID,
1850            arg4: *const jvalue,
1851        ) -> jlong,
1852    >,
1853    pub CallFloatMethod: ::std::option::Option<
1854        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jfloat,
1855    >,
1856    pub CallFloatMethodV: ::std::option::Option<
1857        unsafe extern "C" fn(
1858            arg1: *mut JNIEnv,
1859            arg2: jobject,
1860            arg3: jmethodID,
1861            arg4: va_list,
1862        ) -> jfloat,
1863    >,
1864    pub CallFloatMethodA: ::std::option::Option<
1865        unsafe extern "C" fn(
1866            arg1: *mut JNIEnv,
1867            arg2: jobject,
1868            arg3: jmethodID,
1869            arg4: *const jvalue,
1870        ) -> jfloat,
1871    >,
1872    pub CallDoubleMethod: ::std::option::Option<
1873        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jdouble,
1874    >,
1875    pub CallDoubleMethodV: ::std::option::Option<
1876        unsafe extern "C" fn(
1877            arg1: *mut JNIEnv,
1878            arg2: jobject,
1879            arg3: jmethodID,
1880            arg4: va_list,
1881        ) -> jdouble,
1882    >,
1883    pub CallDoubleMethodA: ::std::option::Option<
1884        unsafe extern "C" fn(
1885            arg1: *mut JNIEnv,
1886            arg2: jobject,
1887            arg3: jmethodID,
1888            arg4: *const jvalue,
1889        ) -> jdouble,
1890    >,
1891    pub CallVoidMethod: ::std::option::Option<
1892        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...),
1893    >,
1894    pub CallVoidMethodV: ::std::option::Option<
1895        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, arg4: va_list),
1896    >,
1897    pub CallVoidMethodA: ::std::option::Option<
1898        unsafe extern "C" fn(
1899            arg1: *mut JNIEnv,
1900            arg2: jobject,
1901            arg3: jmethodID,
1902            arg4: *const jvalue,
1903        ),
1904    >,
1905    pub CallNonvirtualObjectMethod: ::std::option::Option<
1906        unsafe extern "C" fn(
1907            arg1: *mut JNIEnv,
1908            arg2: jobject,
1909            arg3: jclass,
1910            arg4: jmethodID,
1911            ...
1912        ) -> jobject,
1913    >,
1914    pub CallNonvirtualObjectMethodV: ::std::option::Option<
1915        unsafe extern "C" fn(
1916            arg1: *mut JNIEnv,
1917            arg2: jobject,
1918            arg3: jclass,
1919            arg4: jmethodID,
1920            arg5: va_list,
1921        ) -> jobject,
1922    >,
1923    pub CallNonvirtualObjectMethodA: ::std::option::Option<
1924        unsafe extern "C" fn(
1925            arg1: *mut JNIEnv,
1926            arg2: jobject,
1927            arg3: jclass,
1928            arg4: jmethodID,
1929            arg5: *const jvalue,
1930        ) -> jobject,
1931    >,
1932    pub CallNonvirtualBooleanMethod: ::std::option::Option<
1933        unsafe extern "C" fn(
1934            arg1: *mut JNIEnv,
1935            arg2: jobject,
1936            arg3: jclass,
1937            arg4: jmethodID,
1938            ...
1939        ) -> jboolean,
1940    >,
1941    pub CallNonvirtualBooleanMethodV: ::std::option::Option<
1942        unsafe extern "C" fn(
1943            arg1: *mut JNIEnv,
1944            arg2: jobject,
1945            arg3: jclass,
1946            arg4: jmethodID,
1947            arg5: va_list,
1948        ) -> jboolean,
1949    >,
1950    pub CallNonvirtualBooleanMethodA: ::std::option::Option<
1951        unsafe extern "C" fn(
1952            arg1: *mut JNIEnv,
1953            arg2: jobject,
1954            arg3: jclass,
1955            arg4: jmethodID,
1956            arg5: *const jvalue,
1957        ) -> jboolean,
1958    >,
1959    pub CallNonvirtualByteMethod: ::std::option::Option<
1960        unsafe extern "C" fn(
1961            arg1: *mut JNIEnv,
1962            arg2: jobject,
1963            arg3: jclass,
1964            arg4: jmethodID,
1965            ...
1966        ) -> jbyte,
1967    >,
1968    pub CallNonvirtualByteMethodV: ::std::option::Option<
1969        unsafe extern "C" fn(
1970            arg1: *mut JNIEnv,
1971            arg2: jobject,
1972            arg3: jclass,
1973            arg4: jmethodID,
1974            arg5: va_list,
1975        ) -> jbyte,
1976    >,
1977    pub CallNonvirtualByteMethodA: ::std::option::Option<
1978        unsafe extern "C" fn(
1979            arg1: *mut JNIEnv,
1980            arg2: jobject,
1981            arg3: jclass,
1982            arg4: jmethodID,
1983            arg5: *const jvalue,
1984        ) -> jbyte,
1985    >,
1986    pub CallNonvirtualCharMethod: ::std::option::Option<
1987        unsafe extern "C" fn(
1988            arg1: *mut JNIEnv,
1989            arg2: jobject,
1990            arg3: jclass,
1991            arg4: jmethodID,
1992            ...
1993        ) -> jchar,
1994    >,
1995    pub CallNonvirtualCharMethodV: ::std::option::Option<
1996        unsafe extern "C" fn(
1997            arg1: *mut JNIEnv,
1998            arg2: jobject,
1999            arg3: jclass,
2000            arg4: jmethodID,
2001            arg5: va_list,
2002        ) -> jchar,
2003    >,
2004    pub CallNonvirtualCharMethodA: ::std::option::Option<
2005        unsafe extern "C" fn(
2006            arg1: *mut JNIEnv,
2007            arg2: jobject,
2008            arg3: jclass,
2009            arg4: jmethodID,
2010            arg5: *const jvalue,
2011        ) -> jchar,
2012    >,
2013    pub CallNonvirtualShortMethod: ::std::option::Option<
2014        unsafe extern "C" fn(
2015            arg1: *mut JNIEnv,
2016            arg2: jobject,
2017            arg3: jclass,
2018            arg4: jmethodID,
2019            ...
2020        ) -> jshort,
2021    >,
2022    pub CallNonvirtualShortMethodV: ::std::option::Option<
2023        unsafe extern "C" fn(
2024            arg1: *mut JNIEnv,
2025            arg2: jobject,
2026            arg3: jclass,
2027            arg4: jmethodID,
2028            arg5: va_list,
2029        ) -> jshort,
2030    >,
2031    pub CallNonvirtualShortMethodA: ::std::option::Option<
2032        unsafe extern "C" fn(
2033            arg1: *mut JNIEnv,
2034            arg2: jobject,
2035            arg3: jclass,
2036            arg4: jmethodID,
2037            arg5: *const jvalue,
2038        ) -> jshort,
2039    >,
2040    pub CallNonvirtualIntMethod: ::std::option::Option<
2041        unsafe extern "C" fn(
2042            arg1: *mut JNIEnv,
2043            arg2: jobject,
2044            arg3: jclass,
2045            arg4: jmethodID,
2046            ...
2047        ) -> jint,
2048    >,
2049    pub CallNonvirtualIntMethodV: ::std::option::Option<
2050        unsafe extern "C" fn(
2051            arg1: *mut JNIEnv,
2052            arg2: jobject,
2053            arg3: jclass,
2054            arg4: jmethodID,
2055            arg5: va_list,
2056        ) -> jint,
2057    >,
2058    pub CallNonvirtualIntMethodA: ::std::option::Option<
2059        unsafe extern "C" fn(
2060            arg1: *mut JNIEnv,
2061            arg2: jobject,
2062            arg3: jclass,
2063            arg4: jmethodID,
2064            arg5: *const jvalue,
2065        ) -> jint,
2066    >,
2067    pub CallNonvirtualLongMethod: ::std::option::Option<
2068        unsafe extern "C" fn(
2069            arg1: *mut JNIEnv,
2070            arg2: jobject,
2071            arg3: jclass,
2072            arg4: jmethodID,
2073            ...
2074        ) -> jlong,
2075    >,
2076    pub CallNonvirtualLongMethodV: ::std::option::Option<
2077        unsafe extern "C" fn(
2078            arg1: *mut JNIEnv,
2079            arg2: jobject,
2080            arg3: jclass,
2081            arg4: jmethodID,
2082            arg5: va_list,
2083        ) -> jlong,
2084    >,
2085    pub CallNonvirtualLongMethodA: ::std::option::Option<
2086        unsafe extern "C" fn(
2087            arg1: *mut JNIEnv,
2088            arg2: jobject,
2089            arg3: jclass,
2090            arg4: jmethodID,
2091            arg5: *const jvalue,
2092        ) -> jlong,
2093    >,
2094    pub CallNonvirtualFloatMethod: ::std::option::Option<
2095        unsafe extern "C" fn(
2096            arg1: *mut JNIEnv,
2097            arg2: jobject,
2098            arg3: jclass,
2099            arg4: jmethodID,
2100            ...
2101        ) -> jfloat,
2102    >,
2103    pub CallNonvirtualFloatMethodV: ::std::option::Option<
2104        unsafe extern "C" fn(
2105            arg1: *mut JNIEnv,
2106            arg2: jobject,
2107            arg3: jclass,
2108            arg4: jmethodID,
2109            arg5: va_list,
2110        ) -> jfloat,
2111    >,
2112    pub CallNonvirtualFloatMethodA: ::std::option::Option<
2113        unsafe extern "C" fn(
2114            arg1: *mut JNIEnv,
2115            arg2: jobject,
2116            arg3: jclass,
2117            arg4: jmethodID,
2118            arg5: *const jvalue,
2119        ) -> jfloat,
2120    >,
2121    pub CallNonvirtualDoubleMethod: ::std::option::Option<
2122        unsafe extern "C" fn(
2123            arg1: *mut JNIEnv,
2124            arg2: jobject,
2125            arg3: jclass,
2126            arg4: jmethodID,
2127            ...
2128        ) -> jdouble,
2129    >,
2130    pub CallNonvirtualDoubleMethodV: ::std::option::Option<
2131        unsafe extern "C" fn(
2132            arg1: *mut JNIEnv,
2133            arg2: jobject,
2134            arg3: jclass,
2135            arg4: jmethodID,
2136            arg5: va_list,
2137        ) -> jdouble,
2138    >,
2139    pub CallNonvirtualDoubleMethodA: ::std::option::Option<
2140        unsafe extern "C" fn(
2141            arg1: *mut JNIEnv,
2142            arg2: jobject,
2143            arg3: jclass,
2144            arg4: jmethodID,
2145            arg5: *const jvalue,
2146        ) -> jdouble,
2147    >,
2148    pub CallNonvirtualVoidMethod: ::std::option::Option<
2149        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass, arg4: jmethodID, ...),
2150    >,
2151    pub CallNonvirtualVoidMethodV: ::std::option::Option<
2152        unsafe extern "C" fn(
2153            arg1: *mut JNIEnv,
2154            arg2: jobject,
2155            arg3: jclass,
2156            arg4: jmethodID,
2157            arg5: va_list,
2158        ),
2159    >,
2160    pub CallNonvirtualVoidMethodA: ::std::option::Option<
2161        unsafe extern "C" fn(
2162            arg1: *mut JNIEnv,
2163            arg2: jobject,
2164            arg3: jclass,
2165            arg4: jmethodID,
2166            arg5: *const jvalue,
2167        ),
2168    >,
2169    pub GetFieldID: ::std::option::Option<
2170        unsafe extern "C" fn(
2171            arg1: *mut JNIEnv,
2172            arg2: jclass,
2173            arg3: *const ::std::os::raw::c_char,
2174            arg4: *const ::std::os::raw::c_char,
2175        ) -> jfieldID,
2176    >,
2177    pub GetObjectField: ::std::option::Option<
2178        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jobject,
2179    >,
2180    pub GetBooleanField: ::std::option::Option<
2181        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jboolean,
2182    >,
2183    pub GetByteField: ::std::option::Option<
2184        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jbyte,
2185    >,
2186    pub GetCharField: ::std::option::Option<
2187        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jchar,
2188    >,
2189    pub GetShortField: ::std::option::Option<
2190        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jshort,
2191    >,
2192    pub GetIntField: ::std::option::Option<
2193        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jint,
2194    >,
2195    pub GetLongField: ::std::option::Option<
2196        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jlong,
2197    >,
2198    pub GetFloatField: ::std::option::Option<
2199        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jfloat,
2200    >,
2201    pub GetDoubleField: ::std::option::Option<
2202        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jdouble,
2203    >,
2204    pub SetObjectField: ::std::option::Option<
2205        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jobject),
2206    >,
2207    pub SetBooleanField: ::std::option::Option<
2208        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jboolean),
2209    >,
2210    pub SetByteField: ::std::option::Option<
2211        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jbyte),
2212    >,
2213    pub SetCharField: ::std::option::Option<
2214        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jchar),
2215    >,
2216    pub SetShortField: ::std::option::Option<
2217        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jshort),
2218    >,
2219    pub SetIntField: ::std::option::Option<
2220        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jint),
2221    >,
2222    pub SetLongField: ::std::option::Option<
2223        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jlong),
2224    >,
2225    pub SetFloatField: ::std::option::Option<
2226        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jfloat),
2227    >,
2228    pub SetDoubleField: ::std::option::Option<
2229        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jdouble),
2230    >,
2231    pub GetStaticMethodID: ::std::option::Option<
2232        unsafe extern "C" fn(
2233            arg1: *mut JNIEnv,
2234            arg2: jclass,
2235            arg3: *const ::std::os::raw::c_char,
2236            arg4: *const ::std::os::raw::c_char,
2237        ) -> jmethodID,
2238    >,
2239    pub CallStaticObjectMethod: ::std::option::Option<
2240        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
2241    >,
2242    pub CallStaticObjectMethodV: ::std::option::Option<
2243        unsafe extern "C" fn(
2244            arg1: *mut JNIEnv,
2245            arg2: jclass,
2246            arg3: jmethodID,
2247            arg4: va_list,
2248        ) -> jobject,
2249    >,
2250    pub CallStaticObjectMethodA: ::std::option::Option<
2251        unsafe extern "C" fn(
2252            arg1: *mut JNIEnv,
2253            arg2: jclass,
2254            arg3: jmethodID,
2255            arg4: *const jvalue,
2256        ) -> jobject,
2257    >,
2258    pub CallStaticBooleanMethod: ::std::option::Option<
2259        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jboolean,
2260    >,
2261    pub CallStaticBooleanMethodV: ::std::option::Option<
2262        unsafe extern "C" fn(
2263            arg1: *mut JNIEnv,
2264            arg2: jclass,
2265            arg3: jmethodID,
2266            arg4: va_list,
2267        ) -> jboolean,
2268    >,
2269    pub CallStaticBooleanMethodA: ::std::option::Option<
2270        unsafe extern "C" fn(
2271            arg1: *mut JNIEnv,
2272            arg2: jclass,
2273            arg3: jmethodID,
2274            arg4: *const jvalue,
2275        ) -> jboolean,
2276    >,
2277    pub CallStaticByteMethod: ::std::option::Option<
2278        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jbyte,
2279    >,
2280    pub CallStaticByteMethodV: ::std::option::Option<
2281        unsafe extern "C" fn(
2282            arg1: *mut JNIEnv,
2283            arg2: jclass,
2284            arg3: jmethodID,
2285            arg4: va_list,
2286        ) -> jbyte,
2287    >,
2288    pub CallStaticByteMethodA: ::std::option::Option<
2289        unsafe extern "C" fn(
2290            arg1: *mut JNIEnv,
2291            arg2: jclass,
2292            arg3: jmethodID,
2293            arg4: *const jvalue,
2294        ) -> jbyte,
2295    >,
2296    pub CallStaticCharMethod: ::std::option::Option<
2297        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jchar,
2298    >,
2299    pub CallStaticCharMethodV: ::std::option::Option<
2300        unsafe extern "C" fn(
2301            arg1: *mut JNIEnv,
2302            arg2: jclass,
2303            arg3: jmethodID,
2304            arg4: va_list,
2305        ) -> jchar,
2306    >,
2307    pub CallStaticCharMethodA: ::std::option::Option<
2308        unsafe extern "C" fn(
2309            arg1: *mut JNIEnv,
2310            arg2: jclass,
2311            arg3: jmethodID,
2312            arg4: *const jvalue,
2313        ) -> jchar,
2314    >,
2315    pub CallStaticShortMethod: ::std::option::Option<
2316        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jshort,
2317    >,
2318    pub CallStaticShortMethodV: ::std::option::Option<
2319        unsafe extern "C" fn(
2320            arg1: *mut JNIEnv,
2321            arg2: jclass,
2322            arg3: jmethodID,
2323            arg4: va_list,
2324        ) -> jshort,
2325    >,
2326    pub CallStaticShortMethodA: ::std::option::Option<
2327        unsafe extern "C" fn(
2328            arg1: *mut JNIEnv,
2329            arg2: jclass,
2330            arg3: jmethodID,
2331            arg4: *const jvalue,
2332        ) -> jshort,
2333    >,
2334    pub CallStaticIntMethod: ::std::option::Option<
2335        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jint,
2336    >,
2337    pub CallStaticIntMethodV: ::std::option::Option<
2338        unsafe extern "C" fn(
2339            arg1: *mut JNIEnv,
2340            arg2: jclass,
2341            arg3: jmethodID,
2342            arg4: va_list,
2343        ) -> jint,
2344    >,
2345    pub CallStaticIntMethodA: ::std::option::Option<
2346        unsafe extern "C" fn(
2347            arg1: *mut JNIEnv,
2348            arg2: jclass,
2349            arg3: jmethodID,
2350            arg4: *const jvalue,
2351        ) -> jint,
2352    >,
2353    pub CallStaticLongMethod: ::std::option::Option<
2354        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jlong,
2355    >,
2356    pub CallStaticLongMethodV: ::std::option::Option<
2357        unsafe extern "C" fn(
2358            arg1: *mut JNIEnv,
2359            arg2: jclass,
2360            arg3: jmethodID,
2361            arg4: va_list,
2362        ) -> jlong,
2363    >,
2364    pub CallStaticLongMethodA: ::std::option::Option<
2365        unsafe extern "C" fn(
2366            arg1: *mut JNIEnv,
2367            arg2: jclass,
2368            arg3: jmethodID,
2369            arg4: *const jvalue,
2370        ) -> jlong,
2371    >,
2372    pub CallStaticFloatMethod: ::std::option::Option<
2373        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jfloat,
2374    >,
2375    pub CallStaticFloatMethodV: ::std::option::Option<
2376        unsafe extern "C" fn(
2377            arg1: *mut JNIEnv,
2378            arg2: jclass,
2379            arg3: jmethodID,
2380            arg4: va_list,
2381        ) -> jfloat,
2382    >,
2383    pub CallStaticFloatMethodA: ::std::option::Option<
2384        unsafe extern "C" fn(
2385            arg1: *mut JNIEnv,
2386            arg2: jclass,
2387            arg3: jmethodID,
2388            arg4: *const jvalue,
2389        ) -> jfloat,
2390    >,
2391    pub CallStaticDoubleMethod: ::std::option::Option<
2392        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jdouble,
2393    >,
2394    pub CallStaticDoubleMethodV: ::std::option::Option<
2395        unsafe extern "C" fn(
2396            arg1: *mut JNIEnv,
2397            arg2: jclass,
2398            arg3: jmethodID,
2399            arg4: va_list,
2400        ) -> jdouble,
2401    >,
2402    pub CallStaticDoubleMethodA: ::std::option::Option<
2403        unsafe extern "C" fn(
2404            arg1: *mut JNIEnv,
2405            arg2: jclass,
2406            arg3: jmethodID,
2407            arg4: *const jvalue,
2408        ) -> jdouble,
2409    >,
2410    pub CallStaticVoidMethod: ::std::option::Option<
2411        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...),
2412    >,
2413    pub CallStaticVoidMethodV: ::std::option::Option<
2414        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: va_list),
2415    >,
2416    pub CallStaticVoidMethodA: ::std::option::Option<
2417        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: *const jvalue),
2418    >,
2419    pub GetStaticFieldID: ::std::option::Option<
2420        unsafe extern "C" fn(
2421            arg1: *mut JNIEnv,
2422            arg2: jclass,
2423            arg3: *const ::std::os::raw::c_char,
2424            arg4: *const ::std::os::raw::c_char,
2425        ) -> jfieldID,
2426    >,
2427    pub GetStaticObjectField: ::std::option::Option<
2428        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jobject,
2429    >,
2430    pub GetStaticBooleanField: ::std::option::Option<
2431        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jboolean,
2432    >,
2433    pub GetStaticByteField: ::std::option::Option<
2434        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jbyte,
2435    >,
2436    pub GetStaticCharField: ::std::option::Option<
2437        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jchar,
2438    >,
2439    pub GetStaticShortField: ::std::option::Option<
2440        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jshort,
2441    >,
2442    pub GetStaticIntField: ::std::option::Option<
2443        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jint,
2444    >,
2445    pub GetStaticLongField: ::std::option::Option<
2446        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jlong,
2447    >,
2448    pub GetStaticFloatField: ::std::option::Option<
2449        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jfloat,
2450    >,
2451    pub GetStaticDoubleField: ::std::option::Option<
2452        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jdouble,
2453    >,
2454    pub SetStaticObjectField: ::std::option::Option<
2455        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jobject),
2456    >,
2457    pub SetStaticBooleanField: ::std::option::Option<
2458        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jboolean),
2459    >,
2460    pub SetStaticByteField: ::std::option::Option<
2461        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jbyte),
2462    >,
2463    pub SetStaticCharField: ::std::option::Option<
2464        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jchar),
2465    >,
2466    pub SetStaticShortField: ::std::option::Option<
2467        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jshort),
2468    >,
2469    pub SetStaticIntField: ::std::option::Option<
2470        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jint),
2471    >,
2472    pub SetStaticLongField: ::std::option::Option<
2473        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jlong),
2474    >,
2475    pub SetStaticFloatField: ::std::option::Option<
2476        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jfloat),
2477    >,
2478    pub SetStaticDoubleField: ::std::option::Option<
2479        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jdouble),
2480    >,
2481    pub NewString: ::std::option::Option<
2482        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const jchar, arg3: jsize) -> jstring,
2483    >,
2484    pub GetStringLength:
2485        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
2486    pub GetStringChars: ::std::option::Option<
2487        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
2488    >,
2489    pub ReleaseStringChars: ::std::option::Option<
2490        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
2491    >,
2492    pub NewStringUTF: ::std::option::Option<
2493        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jstring,
2494    >,
2495    pub GetStringUTFLength:
2496        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
2497    pub GetStringUTFChars: ::std::option::Option<
2498        unsafe extern "C" fn(
2499            arg1: *mut JNIEnv,
2500            arg2: jstring,
2501            arg3: *mut jboolean,
2502        ) -> *const ::std::os::raw::c_char,
2503    >,
2504    pub ReleaseStringUTFChars: ::std::option::Option<
2505        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const ::std::os::raw::c_char),
2506    >,
2507    pub GetArrayLength:
2508        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jarray) -> jsize>,
2509    pub NewObjectArray: ::std::option::Option<
2510        unsafe extern "C" fn(
2511            arg1: *mut JNIEnv,
2512            arg2: jsize,
2513            arg3: jclass,
2514            arg4: jobject,
2515        ) -> jobjectArray,
2516    >,
2517    pub GetObjectArrayElement: ::std::option::Option<
2518        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize) -> jobject,
2519    >,
2520    pub SetObjectArrayElement: ::std::option::Option<
2521        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize, arg4: jobject),
2522    >,
2523    pub NewBooleanArray: ::std::option::Option<
2524        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbooleanArray,
2525    >,
2526    pub NewByteArray:
2527        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbyteArray>,
2528    pub NewCharArray:
2529        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jcharArray>,
2530    pub NewShortArray:
2531        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jshortArray>,
2532    pub NewIntArray:
2533        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jintArray>,
2534    pub NewLongArray:
2535        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jlongArray>,
2536    pub NewFloatArray:
2537        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jfloatArray>,
2538    pub NewDoubleArray:
2539        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jdoubleArray>,
2540    pub GetBooleanArrayElements: ::std::option::Option<
2541        unsafe extern "C" fn(
2542            arg1: *mut JNIEnv,
2543            arg2: jbooleanArray,
2544            arg3: *mut jboolean,
2545        ) -> *mut jboolean,
2546    >,
2547    pub GetByteArrayElements: ::std::option::Option<
2548        unsafe extern "C" fn(
2549            arg1: *mut JNIEnv,
2550            arg2: jbyteArray,
2551            arg3: *mut jboolean,
2552        ) -> *mut jbyte,
2553    >,
2554    pub GetCharArrayElements: ::std::option::Option<
2555        unsafe extern "C" fn(
2556            arg1: *mut JNIEnv,
2557            arg2: jcharArray,
2558            arg3: *mut jboolean,
2559        ) -> *mut jchar,
2560    >,
2561    pub GetShortArrayElements: ::std::option::Option<
2562        unsafe extern "C" fn(
2563            arg1: *mut JNIEnv,
2564            arg2: jshortArray,
2565            arg3: *mut jboolean,
2566        ) -> *mut jshort,
2567    >,
2568    pub GetIntArrayElements: ::std::option::Option<
2569        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jboolean) -> *mut jint,
2570    >,
2571    pub GetLongArrayElements: ::std::option::Option<
2572        unsafe extern "C" fn(
2573            arg1: *mut JNIEnv,
2574            arg2: jlongArray,
2575            arg3: *mut jboolean,
2576        ) -> *mut jlong,
2577    >,
2578    pub GetFloatArrayElements: ::std::option::Option<
2579        unsafe extern "C" fn(
2580            arg1: *mut JNIEnv,
2581            arg2: jfloatArray,
2582            arg3: *mut jboolean,
2583        ) -> *mut jfloat,
2584    >,
2585    pub GetDoubleArrayElements: ::std::option::Option<
2586        unsafe extern "C" fn(
2587            arg1: *mut JNIEnv,
2588            arg2: jdoubleArray,
2589            arg3: *mut jboolean,
2590        ) -> *mut jdouble,
2591    >,
2592    pub ReleaseBooleanArrayElements: ::std::option::Option<
2593        unsafe extern "C" fn(
2594            arg1: *mut JNIEnv,
2595            arg2: jbooleanArray,
2596            arg3: *mut jboolean,
2597            arg4: jint,
2598        ),
2599    >,
2600    pub ReleaseByteArrayElements: ::std::option::Option<
2601        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jbyteArray, arg3: *mut jbyte, arg4: jint),
2602    >,
2603    pub ReleaseCharArrayElements: ::std::option::Option<
2604        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jcharArray, arg3: *mut jchar, arg4: jint),
2605    >,
2606    pub ReleaseShortArrayElements: ::std::option::Option<
2607        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jshortArray, arg3: *mut jshort, arg4: jint),
2608    >,
2609    pub ReleaseIntArrayElements: ::std::option::Option<
2610        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jint, arg4: jint),
2611    >,
2612    pub ReleaseLongArrayElements: ::std::option::Option<
2613        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jlongArray, arg3: *mut jlong, arg4: jint),
2614    >,
2615    pub ReleaseFloatArrayElements: ::std::option::Option<
2616        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jfloatArray, arg3: *mut jfloat, arg4: jint),
2617    >,
2618    pub ReleaseDoubleArrayElements: ::std::option::Option<
2619        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jdoubleArray, arg3: *mut jdouble, arg4: jint),
2620    >,
2621    pub GetBooleanArrayRegion: ::std::option::Option<
2622        unsafe extern "C" fn(
2623            arg1: *mut JNIEnv,
2624            arg2: jbooleanArray,
2625            arg3: jsize,
2626            arg4: jsize,
2627            arg5: *mut jboolean,
2628        ),
2629    >,
2630    pub GetByteArrayRegion: ::std::option::Option<
2631        unsafe extern "C" fn(
2632            arg1: *mut JNIEnv,
2633            arg2: jbyteArray,
2634            arg3: jsize,
2635            arg4: jsize,
2636            arg5: *mut jbyte,
2637        ),
2638    >,
2639    pub GetCharArrayRegion: ::std::option::Option<
2640        unsafe extern "C" fn(
2641            arg1: *mut JNIEnv,
2642            arg2: jcharArray,
2643            arg3: jsize,
2644            arg4: jsize,
2645            arg5: *mut jchar,
2646        ),
2647    >,
2648    pub GetShortArrayRegion: ::std::option::Option<
2649        unsafe extern "C" fn(
2650            arg1: *mut JNIEnv,
2651            arg2: jshortArray,
2652            arg3: jsize,
2653            arg4: jsize,
2654            arg5: *mut jshort,
2655        ),
2656    >,
2657    pub GetIntArrayRegion: ::std::option::Option<
2658        unsafe extern "C" fn(
2659            arg1: *mut JNIEnv,
2660            arg2: jintArray,
2661            arg3: jsize,
2662            arg4: jsize,
2663            arg5: *mut jint,
2664        ),
2665    >,
2666    pub GetLongArrayRegion: ::std::option::Option<
2667        unsafe extern "C" fn(
2668            arg1: *mut JNIEnv,
2669            arg2: jlongArray,
2670            arg3: jsize,
2671            arg4: jsize,
2672            arg5: *mut jlong,
2673        ),
2674    >,
2675    pub GetFloatArrayRegion: ::std::option::Option<
2676        unsafe extern "C" fn(
2677            arg1: *mut JNIEnv,
2678            arg2: jfloatArray,
2679            arg3: jsize,
2680            arg4: jsize,
2681            arg5: *mut jfloat,
2682        ),
2683    >,
2684    pub GetDoubleArrayRegion: ::std::option::Option<
2685        unsafe extern "C" fn(
2686            arg1: *mut JNIEnv,
2687            arg2: jdoubleArray,
2688            arg3: jsize,
2689            arg4: jsize,
2690            arg5: *mut jdouble,
2691        ),
2692    >,
2693    pub SetBooleanArrayRegion: ::std::option::Option<
2694        unsafe extern "C" fn(
2695            arg1: *mut JNIEnv,
2696            arg2: jbooleanArray,
2697            arg3: jsize,
2698            arg4: jsize,
2699            arg5: *const jboolean,
2700        ),
2701    >,
2702    pub SetByteArrayRegion: ::std::option::Option<
2703        unsafe extern "C" fn(
2704            arg1: *mut JNIEnv,
2705            arg2: jbyteArray,
2706            arg3: jsize,
2707            arg4: jsize,
2708            arg5: *const jbyte,
2709        ),
2710    >,
2711    pub SetCharArrayRegion: ::std::option::Option<
2712        unsafe extern "C" fn(
2713            arg1: *mut JNIEnv,
2714            arg2: jcharArray,
2715            arg3: jsize,
2716            arg4: jsize,
2717            arg5: *const jchar,
2718        ),
2719    >,
2720    pub SetShortArrayRegion: ::std::option::Option<
2721        unsafe extern "C" fn(
2722            arg1: *mut JNIEnv,
2723            arg2: jshortArray,
2724            arg3: jsize,
2725            arg4: jsize,
2726            arg5: *const jshort,
2727        ),
2728    >,
2729    pub SetIntArrayRegion: ::std::option::Option<
2730        unsafe extern "C" fn(
2731            arg1: *mut JNIEnv,
2732            arg2: jintArray,
2733            arg3: jsize,
2734            arg4: jsize,
2735            arg5: *const jint,
2736        ),
2737    >,
2738    pub SetLongArrayRegion: ::std::option::Option<
2739        unsafe extern "C" fn(
2740            arg1: *mut JNIEnv,
2741            arg2: jlongArray,
2742            arg3: jsize,
2743            arg4: jsize,
2744            arg5: *const jlong,
2745        ),
2746    >,
2747    pub SetFloatArrayRegion: ::std::option::Option<
2748        unsafe extern "C" fn(
2749            arg1: *mut JNIEnv,
2750            arg2: jfloatArray,
2751            arg3: jsize,
2752            arg4: jsize,
2753            arg5: *const jfloat,
2754        ),
2755    >,
2756    pub SetDoubleArrayRegion: ::std::option::Option<
2757        unsafe extern "C" fn(
2758            arg1: *mut JNIEnv,
2759            arg2: jdoubleArray,
2760            arg3: jsize,
2761            arg4: jsize,
2762            arg5: *const jdouble,
2763        ),
2764    >,
2765    pub RegisterNatives: ::std::option::Option<
2766        unsafe extern "C" fn(
2767            arg1: *mut JNIEnv,
2768            arg2: jclass,
2769            arg3: *const JNINativeMethod,
2770            arg4: jint,
2771        ) -> jint,
2772    >,
2773    pub UnregisterNatives:
2774        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jint>,
2775    pub MonitorEnter:
2776        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
2777    pub MonitorExit:
2778        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
2779    pub GetJavaVM: ::std::option::Option<
2780        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *mut *mut JavaVM) -> jint,
2781    >,
2782    pub GetStringRegion: ::std::option::Option<
2783        unsafe extern "C" fn(
2784            arg1: *mut JNIEnv,
2785            arg2: jstring,
2786            arg3: jsize,
2787            arg4: jsize,
2788            arg5: *mut jchar,
2789        ),
2790    >,
2791    pub GetStringUTFRegion: ::std::option::Option<
2792        unsafe extern "C" fn(
2793            arg1: *mut JNIEnv,
2794            arg2: jstring,
2795            arg3: jsize,
2796            arg4: jsize,
2797            arg5: *mut ::std::os::raw::c_char,
2798        ),
2799    >,
2800    pub GetPrimitiveArrayCritical: ::std::option::Option<
2801        unsafe extern "C" fn(
2802            arg1: *mut JNIEnv,
2803            arg2: jarray,
2804            arg3: *mut jboolean,
2805        ) -> *mut ::std::os::raw::c_void,
2806    >,
2807    pub ReleasePrimitiveArrayCritical: ::std::option::Option<
2808        unsafe extern "C" fn(
2809            arg1: *mut JNIEnv,
2810            arg2: jarray,
2811            arg3: *mut ::std::os::raw::c_void,
2812            arg4: jint,
2813        ),
2814    >,
2815    pub GetStringCritical: ::std::option::Option<
2816        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
2817    >,
2818    pub ReleaseStringCritical: ::std::option::Option<
2819        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
2820    >,
2821    pub NewWeakGlobalRef:
2822        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jweak>,
2823    pub DeleteWeakGlobalRef:
2824        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jweak)>,
2825    pub ExceptionCheck: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jboolean>,
2826    pub NewDirectByteBuffer: ::std::option::Option<
2827        unsafe extern "C" fn(
2828            arg1: *mut JNIEnv,
2829            arg2: *mut ::std::os::raw::c_void,
2830            arg3: jlong,
2831        ) -> jobject,
2832    >,
2833    pub GetDirectBufferAddress: ::std::option::Option<
2834        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> *mut ::std::os::raw::c_void,
2835    >,
2836    pub GetDirectBufferCapacity:
2837        ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jlong>,
2838    pub GetObjectRefType: ::std::option::Option<
2839        unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobjectRefType,
2840    >,
2841}
2842#[test]
2843fn bindgen_test_layout_JNINativeInterface() {
2844    assert_eq!(
2845        ::std::mem::size_of::<JNINativeInterface>(),
2846        932usize,
2847        concat!("Size of: ", stringify!(JNINativeInterface))
2848    );
2849    assert_eq!(
2850        ::std::mem::align_of::<JNINativeInterface>(),
2851        4usize,
2852        concat!("Alignment of ", stringify!(JNINativeInterface))
2853    );
2854    assert_eq!(
2855        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved0 as *const _ as usize },
2856        0usize,
2857        concat!(
2858            "Offset of field: ",
2859            stringify!(JNINativeInterface),
2860            "::",
2861            stringify!(reserved0)
2862        )
2863    );
2864    assert_eq!(
2865        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved1 as *const _ as usize },
2866        4usize,
2867        concat!(
2868            "Offset of field: ",
2869            stringify!(JNINativeInterface),
2870            "::",
2871            stringify!(reserved1)
2872        )
2873    );
2874    assert_eq!(
2875        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved2 as *const _ as usize },
2876        8usize,
2877        concat!(
2878            "Offset of field: ",
2879            stringify!(JNINativeInterface),
2880            "::",
2881            stringify!(reserved2)
2882        )
2883    );
2884    assert_eq!(
2885        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved3 as *const _ as usize },
2886        12usize,
2887        concat!(
2888            "Offset of field: ",
2889            stringify!(JNINativeInterface),
2890            "::",
2891            stringify!(reserved3)
2892        )
2893    );
2894    assert_eq!(
2895        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetVersion as *const _ as usize },
2896        16usize,
2897        concat!(
2898            "Offset of field: ",
2899            stringify!(JNINativeInterface),
2900            "::",
2901            stringify!(GetVersion)
2902        )
2903    );
2904    assert_eq!(
2905        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).DefineClass as *const _ as usize },
2906        20usize,
2907        concat!(
2908            "Offset of field: ",
2909            stringify!(JNINativeInterface),
2910            "::",
2911            stringify!(DefineClass)
2912        )
2913    );
2914    assert_eq!(
2915        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FindClass as *const _ as usize },
2916        24usize,
2917        concat!(
2918            "Offset of field: ",
2919            stringify!(JNINativeInterface),
2920            "::",
2921            stringify!(FindClass)
2922        )
2923    );
2924    assert_eq!(
2925        unsafe {
2926            &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedMethod as *const _ as usize
2927        },
2928        28usize,
2929        concat!(
2930            "Offset of field: ",
2931            stringify!(JNINativeInterface),
2932            "::",
2933            stringify!(FromReflectedMethod)
2934        )
2935    );
2936    assert_eq!(
2937        unsafe {
2938            &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedField as *const _ as usize
2939        },
2940        32usize,
2941        concat!(
2942            "Offset of field: ",
2943            stringify!(JNINativeInterface),
2944            "::",
2945            stringify!(FromReflectedField)
2946        )
2947    );
2948    assert_eq!(
2949        unsafe {
2950            &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedMethod as *const _ as usize
2951        },
2952        36usize,
2953        concat!(
2954            "Offset of field: ",
2955            stringify!(JNINativeInterface),
2956            "::",
2957            stringify!(ToReflectedMethod)
2958        )
2959    );
2960    assert_eq!(
2961        unsafe {
2962            &(*(::std::ptr::null::<JNINativeInterface>())).GetSuperclass as *const _ as usize
2963        },
2964        40usize,
2965        concat!(
2966            "Offset of field: ",
2967            stringify!(JNINativeInterface),
2968            "::",
2969            stringify!(GetSuperclass)
2970        )
2971    );
2972    assert_eq!(
2973        unsafe {
2974            &(*(::std::ptr::null::<JNINativeInterface>())).IsAssignableFrom as *const _ as usize
2975        },
2976        44usize,
2977        concat!(
2978            "Offset of field: ",
2979            stringify!(JNINativeInterface),
2980            "::",
2981            stringify!(IsAssignableFrom)
2982        )
2983    );
2984    assert_eq!(
2985        unsafe {
2986            &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedField as *const _ as usize
2987        },
2988        48usize,
2989        concat!(
2990            "Offset of field: ",
2991            stringify!(JNINativeInterface),
2992            "::",
2993            stringify!(ToReflectedField)
2994        )
2995    );
2996    assert_eq!(
2997        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).Throw as *const _ as usize },
2998        52usize,
2999        concat!(
3000            "Offset of field: ",
3001            stringify!(JNINativeInterface),
3002            "::",
3003            stringify!(Throw)
3004        )
3005    );
3006    assert_eq!(
3007        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).ThrowNew as *const _ as usize },
3008        56usize,
3009        concat!(
3010            "Offset of field: ",
3011            stringify!(JNINativeInterface),
3012            "::",
3013            stringify!(ThrowNew)
3014        )
3015    );
3016    assert_eq!(
3017        unsafe {
3018            &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionOccurred as *const _ as usize
3019        },
3020        60usize,
3021        concat!(
3022            "Offset of field: ",
3023            stringify!(JNINativeInterface),
3024            "::",
3025            stringify!(ExceptionOccurred)
3026        )
3027    );
3028    assert_eq!(
3029        unsafe {
3030            &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionDescribe as *const _ as usize
3031        },
3032        64usize,
3033        concat!(
3034            "Offset of field: ",
3035            stringify!(JNINativeInterface),
3036            "::",
3037            stringify!(ExceptionDescribe)
3038        )
3039    );
3040    assert_eq!(
3041        unsafe {
3042            &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionClear as *const _ as usize
3043        },
3044        68usize,
3045        concat!(
3046            "Offset of field: ",
3047            stringify!(JNINativeInterface),
3048            "::",
3049            stringify!(ExceptionClear)
3050        )
3051    );
3052    assert_eq!(
3053        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FatalError as *const _ as usize },
3054        72usize,
3055        concat!(
3056            "Offset of field: ",
3057            stringify!(JNINativeInterface),
3058            "::",
3059            stringify!(FatalError)
3060        )
3061    );
3062    assert_eq!(
3063        unsafe {
3064            &(*(::std::ptr::null::<JNINativeInterface>())).PushLocalFrame as *const _ as usize
3065        },
3066        76usize,
3067        concat!(
3068            "Offset of field: ",
3069            stringify!(JNINativeInterface),
3070            "::",
3071            stringify!(PushLocalFrame)
3072        )
3073    );
3074    assert_eq!(
3075        unsafe {
3076            &(*(::std::ptr::null::<JNINativeInterface>())).PopLocalFrame as *const _ as usize
3077        },
3078        80usize,
3079        concat!(
3080            "Offset of field: ",
3081            stringify!(JNINativeInterface),
3082            "::",
3083            stringify!(PopLocalFrame)
3084        )
3085    );
3086    assert_eq!(
3087        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewGlobalRef as *const _ as usize },
3088        84usize,
3089        concat!(
3090            "Offset of field: ",
3091            stringify!(JNINativeInterface),
3092            "::",
3093            stringify!(NewGlobalRef)
3094        )
3095    );
3096    assert_eq!(
3097        unsafe {
3098            &(*(::std::ptr::null::<JNINativeInterface>())).DeleteGlobalRef as *const _ as usize
3099        },
3100        88usize,
3101        concat!(
3102            "Offset of field: ",
3103            stringify!(JNINativeInterface),
3104            "::",
3105            stringify!(DeleteGlobalRef)
3106        )
3107    );
3108    assert_eq!(
3109        unsafe {
3110            &(*(::std::ptr::null::<JNINativeInterface>())).DeleteLocalRef as *const _ as usize
3111        },
3112        92usize,
3113        concat!(
3114            "Offset of field: ",
3115            stringify!(JNINativeInterface),
3116            "::",
3117            stringify!(DeleteLocalRef)
3118        )
3119    );
3120    assert_eq!(
3121        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsSameObject as *const _ as usize },
3122        96usize,
3123        concat!(
3124            "Offset of field: ",
3125            stringify!(JNINativeInterface),
3126            "::",
3127            stringify!(IsSameObject)
3128        )
3129    );
3130    assert_eq!(
3131        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLocalRef as *const _ as usize },
3132        100usize,
3133        concat!(
3134            "Offset of field: ",
3135            stringify!(JNINativeInterface),
3136            "::",
3137            stringify!(NewLocalRef)
3138        )
3139    );
3140    assert_eq!(
3141        unsafe {
3142            &(*(::std::ptr::null::<JNINativeInterface>())).EnsureLocalCapacity as *const _ as usize
3143        },
3144        104usize,
3145        concat!(
3146            "Offset of field: ",
3147            stringify!(JNINativeInterface),
3148            "::",
3149            stringify!(EnsureLocalCapacity)
3150        )
3151    );
3152    assert_eq!(
3153        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).AllocObject as *const _ as usize },
3154        108usize,
3155        concat!(
3156            "Offset of field: ",
3157            stringify!(JNINativeInterface),
3158            "::",
3159            stringify!(AllocObject)
3160        )
3161    );
3162    assert_eq!(
3163        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObject as *const _ as usize },
3164        112usize,
3165        concat!(
3166            "Offset of field: ",
3167            stringify!(JNINativeInterface),
3168            "::",
3169            stringify!(NewObject)
3170        )
3171    );
3172    assert_eq!(
3173        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectV as *const _ as usize },
3174        116usize,
3175        concat!(
3176            "Offset of field: ",
3177            stringify!(JNINativeInterface),
3178            "::",
3179            stringify!(NewObjectV)
3180        )
3181    );
3182    assert_eq!(
3183        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectA as *const _ as usize },
3184        120usize,
3185        concat!(
3186            "Offset of field: ",
3187            stringify!(JNINativeInterface),
3188            "::",
3189            stringify!(NewObjectA)
3190        )
3191    );
3192    assert_eq!(
3193        unsafe {
3194            &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectClass as *const _ as usize
3195        },
3196        124usize,
3197        concat!(
3198            "Offset of field: ",
3199            stringify!(JNINativeInterface),
3200            "::",
3201            stringify!(GetObjectClass)
3202        )
3203    );
3204    assert_eq!(
3205        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsInstanceOf as *const _ as usize },
3206        128usize,
3207        concat!(
3208            "Offset of field: ",
3209            stringify!(JNINativeInterface),
3210            "::",
3211            stringify!(IsInstanceOf)
3212        )
3213    );
3214    assert_eq!(
3215        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetMethodID as *const _ as usize },
3216        132usize,
3217        concat!(
3218            "Offset of field: ",
3219            stringify!(JNINativeInterface),
3220            "::",
3221            stringify!(GetMethodID)
3222        )
3223    );
3224    assert_eq!(
3225        unsafe {
3226            &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethod as *const _ as usize
3227        },
3228        136usize,
3229        concat!(
3230            "Offset of field: ",
3231            stringify!(JNINativeInterface),
3232            "::",
3233            stringify!(CallObjectMethod)
3234        )
3235    );
3236    assert_eq!(
3237        unsafe {
3238            &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodV as *const _ as usize
3239        },
3240        140usize,
3241        concat!(
3242            "Offset of field: ",
3243            stringify!(JNINativeInterface),
3244            "::",
3245            stringify!(CallObjectMethodV)
3246        )
3247    );
3248    assert_eq!(
3249        unsafe {
3250            &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodA as *const _ as usize
3251        },
3252        144usize,
3253        concat!(
3254            "Offset of field: ",
3255            stringify!(JNINativeInterface),
3256            "::",
3257            stringify!(CallObjectMethodA)
3258        )
3259    );
3260    assert_eq!(
3261        unsafe {
3262            &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethod as *const _ as usize
3263        },
3264        148usize,
3265        concat!(
3266            "Offset of field: ",
3267            stringify!(JNINativeInterface),
3268            "::",
3269            stringify!(CallBooleanMethod)
3270        )
3271    );
3272    assert_eq!(
3273        unsafe {
3274            &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodV as *const _ as usize
3275        },
3276        152usize,
3277        concat!(
3278            "Offset of field: ",
3279            stringify!(JNINativeInterface),
3280            "::",
3281            stringify!(CallBooleanMethodV)
3282        )
3283    );
3284    assert_eq!(
3285        unsafe {
3286            &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodA as *const _ as usize
3287        },
3288        156usize,
3289        concat!(
3290            "Offset of field: ",
3291            stringify!(JNINativeInterface),
3292            "::",
3293            stringify!(CallBooleanMethodA)
3294        )
3295    );
3296    assert_eq!(
3297        unsafe {
3298            &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethod as *const _ as usize
3299        },
3300        160usize,
3301        concat!(
3302            "Offset of field: ",
3303            stringify!(JNINativeInterface),
3304            "::",
3305            stringify!(CallByteMethod)
3306        )
3307    );
3308    assert_eq!(
3309        unsafe {
3310            &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodV as *const _ as usize
3311        },
3312        164usize,
3313        concat!(
3314            "Offset of field: ",
3315            stringify!(JNINativeInterface),
3316            "::",
3317            stringify!(CallByteMethodV)
3318        )
3319    );
3320    assert_eq!(
3321        unsafe {
3322            &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodA as *const _ as usize
3323        },
3324        168usize,
3325        concat!(
3326            "Offset of field: ",
3327            stringify!(JNINativeInterface),
3328            "::",
3329            stringify!(CallByteMethodA)
3330        )
3331    );
3332    assert_eq!(
3333        unsafe {
3334            &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethod as *const _ as usize
3335        },
3336        172usize,
3337        concat!(
3338            "Offset of field: ",
3339            stringify!(JNINativeInterface),
3340            "::",
3341            stringify!(CallCharMethod)
3342        )
3343    );
3344    assert_eq!(
3345        unsafe {
3346            &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodV as *const _ as usize
3347        },
3348        176usize,
3349        concat!(
3350            "Offset of field: ",
3351            stringify!(JNINativeInterface),
3352            "::",
3353            stringify!(CallCharMethodV)
3354        )
3355    );
3356    assert_eq!(
3357        unsafe {
3358            &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodA as *const _ as usize
3359        },
3360        180usize,
3361        concat!(
3362            "Offset of field: ",
3363            stringify!(JNINativeInterface),
3364            "::",
3365            stringify!(CallCharMethodA)
3366        )
3367    );
3368    assert_eq!(
3369        unsafe {
3370            &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethod as *const _ as usize
3371        },
3372        184usize,
3373        concat!(
3374            "Offset of field: ",
3375            stringify!(JNINativeInterface),
3376            "::",
3377            stringify!(CallShortMethod)
3378        )
3379    );
3380    assert_eq!(
3381        unsafe {
3382            &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodV as *const _ as usize
3383        },
3384        188usize,
3385        concat!(
3386            "Offset of field: ",
3387            stringify!(JNINativeInterface),
3388            "::",
3389            stringify!(CallShortMethodV)
3390        )
3391    );
3392    assert_eq!(
3393        unsafe {
3394            &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodA as *const _ as usize
3395        },
3396        192usize,
3397        concat!(
3398            "Offset of field: ",
3399            stringify!(JNINativeInterface),
3400            "::",
3401            stringify!(CallShortMethodA)
3402        )
3403    );
3404    assert_eq!(
3405        unsafe {
3406            &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethod as *const _ as usize
3407        },
3408        196usize,
3409        concat!(
3410            "Offset of field: ",
3411            stringify!(JNINativeInterface),
3412            "::",
3413            stringify!(CallIntMethod)
3414        )
3415    );
3416    assert_eq!(
3417        unsafe {
3418            &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodV as *const _ as usize
3419        },
3420        200usize,
3421        concat!(
3422            "Offset of field: ",
3423            stringify!(JNINativeInterface),
3424            "::",
3425            stringify!(CallIntMethodV)
3426        )
3427    );
3428    assert_eq!(
3429        unsafe {
3430            &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodA as *const _ as usize
3431        },
3432        204usize,
3433        concat!(
3434            "Offset of field: ",
3435            stringify!(JNINativeInterface),
3436            "::",
3437            stringify!(CallIntMethodA)
3438        )
3439    );
3440    assert_eq!(
3441        unsafe {
3442            &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethod as *const _ as usize
3443        },
3444        208usize,
3445        concat!(
3446            "Offset of field: ",
3447            stringify!(JNINativeInterface),
3448            "::",
3449            stringify!(CallLongMethod)
3450        )
3451    );
3452    assert_eq!(
3453        unsafe {
3454            &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodV as *const _ as usize
3455        },
3456        212usize,
3457        concat!(
3458            "Offset of field: ",
3459            stringify!(JNINativeInterface),
3460            "::",
3461            stringify!(CallLongMethodV)
3462        )
3463    );
3464    assert_eq!(
3465        unsafe {
3466            &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodA as *const _ as usize
3467        },
3468        216usize,
3469        concat!(
3470            "Offset of field: ",
3471            stringify!(JNINativeInterface),
3472            "::",
3473            stringify!(CallLongMethodA)
3474        )
3475    );
3476    assert_eq!(
3477        unsafe {
3478            &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethod as *const _ as usize
3479        },
3480        220usize,
3481        concat!(
3482            "Offset of field: ",
3483            stringify!(JNINativeInterface),
3484            "::",
3485            stringify!(CallFloatMethod)
3486        )
3487    );
3488    assert_eq!(
3489        unsafe {
3490            &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodV as *const _ as usize
3491        },
3492        224usize,
3493        concat!(
3494            "Offset of field: ",
3495            stringify!(JNINativeInterface),
3496            "::",
3497            stringify!(CallFloatMethodV)
3498        )
3499    );
3500    assert_eq!(
3501        unsafe {
3502            &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodA as *const _ as usize
3503        },
3504        228usize,
3505        concat!(
3506            "Offset of field: ",
3507            stringify!(JNINativeInterface),
3508            "::",
3509            stringify!(CallFloatMethodA)
3510        )
3511    );
3512    assert_eq!(
3513        unsafe {
3514            &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethod as *const _ as usize
3515        },
3516        232usize,
3517        concat!(
3518            "Offset of field: ",
3519            stringify!(JNINativeInterface),
3520            "::",
3521            stringify!(CallDoubleMethod)
3522        )
3523    );
3524    assert_eq!(
3525        unsafe {
3526            &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodV as *const _ as usize
3527        },
3528        236usize,
3529        concat!(
3530            "Offset of field: ",
3531            stringify!(JNINativeInterface),
3532            "::",
3533            stringify!(CallDoubleMethodV)
3534        )
3535    );
3536    assert_eq!(
3537        unsafe {
3538            &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodA as *const _ as usize
3539        },
3540        240usize,
3541        concat!(
3542            "Offset of field: ",
3543            stringify!(JNINativeInterface),
3544            "::",
3545            stringify!(CallDoubleMethodA)
3546        )
3547    );
3548    assert_eq!(
3549        unsafe {
3550            &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethod as *const _ as usize
3551        },
3552        244usize,
3553        concat!(
3554            "Offset of field: ",
3555            stringify!(JNINativeInterface),
3556            "::",
3557            stringify!(CallVoidMethod)
3558        )
3559    );
3560    assert_eq!(
3561        unsafe {
3562            &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodV as *const _ as usize
3563        },
3564        248usize,
3565        concat!(
3566            "Offset of field: ",
3567            stringify!(JNINativeInterface),
3568            "::",
3569            stringify!(CallVoidMethodV)
3570        )
3571    );
3572    assert_eq!(
3573        unsafe {
3574            &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodA as *const _ as usize
3575        },
3576        252usize,
3577        concat!(
3578            "Offset of field: ",
3579            stringify!(JNINativeInterface),
3580            "::",
3581            stringify!(CallVoidMethodA)
3582        )
3583    );
3584    assert_eq!(
3585        unsafe {
3586            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethod as *const _
3587                as usize
3588        },
3589        256usize,
3590        concat!(
3591            "Offset of field: ",
3592            stringify!(JNINativeInterface),
3593            "::",
3594            stringify!(CallNonvirtualObjectMethod)
3595        )
3596    );
3597    assert_eq!(
3598        unsafe {
3599            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodV as *const _
3600                as usize
3601        },
3602        260usize,
3603        concat!(
3604            "Offset of field: ",
3605            stringify!(JNINativeInterface),
3606            "::",
3607            stringify!(CallNonvirtualObjectMethodV)
3608        )
3609    );
3610    assert_eq!(
3611        unsafe {
3612            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodA as *const _
3613                as usize
3614        },
3615        264usize,
3616        concat!(
3617            "Offset of field: ",
3618            stringify!(JNINativeInterface),
3619            "::",
3620            stringify!(CallNonvirtualObjectMethodA)
3621        )
3622    );
3623    assert_eq!(
3624        unsafe {
3625            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethod as *const _
3626                as usize
3627        },
3628        268usize,
3629        concat!(
3630            "Offset of field: ",
3631            stringify!(JNINativeInterface),
3632            "::",
3633            stringify!(CallNonvirtualBooleanMethod)
3634        )
3635    );
3636    assert_eq!(
3637        unsafe {
3638            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodV as *const _
3639                as usize
3640        },
3641        272usize,
3642        concat!(
3643            "Offset of field: ",
3644            stringify!(JNINativeInterface),
3645            "::",
3646            stringify!(CallNonvirtualBooleanMethodV)
3647        )
3648    );
3649    assert_eq!(
3650        unsafe {
3651            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodA as *const _
3652                as usize
3653        },
3654        276usize,
3655        concat!(
3656            "Offset of field: ",
3657            stringify!(JNINativeInterface),
3658            "::",
3659            stringify!(CallNonvirtualBooleanMethodA)
3660        )
3661    );
3662    assert_eq!(
3663        unsafe {
3664            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethod as *const _
3665                as usize
3666        },
3667        280usize,
3668        concat!(
3669            "Offset of field: ",
3670            stringify!(JNINativeInterface),
3671            "::",
3672            stringify!(CallNonvirtualByteMethod)
3673        )
3674    );
3675    assert_eq!(
3676        unsafe {
3677            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodV as *const _
3678                as usize
3679        },
3680        284usize,
3681        concat!(
3682            "Offset of field: ",
3683            stringify!(JNINativeInterface),
3684            "::",
3685            stringify!(CallNonvirtualByteMethodV)
3686        )
3687    );
3688    assert_eq!(
3689        unsafe {
3690            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodA as *const _
3691                as usize
3692        },
3693        288usize,
3694        concat!(
3695            "Offset of field: ",
3696            stringify!(JNINativeInterface),
3697            "::",
3698            stringify!(CallNonvirtualByteMethodA)
3699        )
3700    );
3701    assert_eq!(
3702        unsafe {
3703            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethod as *const _
3704                as usize
3705        },
3706        292usize,
3707        concat!(
3708            "Offset of field: ",
3709            stringify!(JNINativeInterface),
3710            "::",
3711            stringify!(CallNonvirtualCharMethod)
3712        )
3713    );
3714    assert_eq!(
3715        unsafe {
3716            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodV as *const _
3717                as usize
3718        },
3719        296usize,
3720        concat!(
3721            "Offset of field: ",
3722            stringify!(JNINativeInterface),
3723            "::",
3724            stringify!(CallNonvirtualCharMethodV)
3725        )
3726    );
3727    assert_eq!(
3728        unsafe {
3729            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodA as *const _
3730                as usize
3731        },
3732        300usize,
3733        concat!(
3734            "Offset of field: ",
3735            stringify!(JNINativeInterface),
3736            "::",
3737            stringify!(CallNonvirtualCharMethodA)
3738        )
3739    );
3740    assert_eq!(
3741        unsafe {
3742            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethod as *const _
3743                as usize
3744        },
3745        304usize,
3746        concat!(
3747            "Offset of field: ",
3748            stringify!(JNINativeInterface),
3749            "::",
3750            stringify!(CallNonvirtualShortMethod)
3751        )
3752    );
3753    assert_eq!(
3754        unsafe {
3755            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodV as *const _
3756                as usize
3757        },
3758        308usize,
3759        concat!(
3760            "Offset of field: ",
3761            stringify!(JNINativeInterface),
3762            "::",
3763            stringify!(CallNonvirtualShortMethodV)
3764        )
3765    );
3766    assert_eq!(
3767        unsafe {
3768            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodA as *const _
3769                as usize
3770        },
3771        312usize,
3772        concat!(
3773            "Offset of field: ",
3774            stringify!(JNINativeInterface),
3775            "::",
3776            stringify!(CallNonvirtualShortMethodA)
3777        )
3778    );
3779    assert_eq!(
3780        unsafe {
3781            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethod as *const _
3782                as usize
3783        },
3784        316usize,
3785        concat!(
3786            "Offset of field: ",
3787            stringify!(JNINativeInterface),
3788            "::",
3789            stringify!(CallNonvirtualIntMethod)
3790        )
3791    );
3792    assert_eq!(
3793        unsafe {
3794            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodV as *const _
3795                as usize
3796        },
3797        320usize,
3798        concat!(
3799            "Offset of field: ",
3800            stringify!(JNINativeInterface),
3801            "::",
3802            stringify!(CallNonvirtualIntMethodV)
3803        )
3804    );
3805    assert_eq!(
3806        unsafe {
3807            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodA as *const _
3808                as usize
3809        },
3810        324usize,
3811        concat!(
3812            "Offset of field: ",
3813            stringify!(JNINativeInterface),
3814            "::",
3815            stringify!(CallNonvirtualIntMethodA)
3816        )
3817    );
3818    assert_eq!(
3819        unsafe {
3820            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethod as *const _
3821                as usize
3822        },
3823        328usize,
3824        concat!(
3825            "Offset of field: ",
3826            stringify!(JNINativeInterface),
3827            "::",
3828            stringify!(CallNonvirtualLongMethod)
3829        )
3830    );
3831    assert_eq!(
3832        unsafe {
3833            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodV as *const _
3834                as usize
3835        },
3836        332usize,
3837        concat!(
3838            "Offset of field: ",
3839            stringify!(JNINativeInterface),
3840            "::",
3841            stringify!(CallNonvirtualLongMethodV)
3842        )
3843    );
3844    assert_eq!(
3845        unsafe {
3846            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodA as *const _
3847                as usize
3848        },
3849        336usize,
3850        concat!(
3851            "Offset of field: ",
3852            stringify!(JNINativeInterface),
3853            "::",
3854            stringify!(CallNonvirtualLongMethodA)
3855        )
3856    );
3857    assert_eq!(
3858        unsafe {
3859            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethod as *const _
3860                as usize
3861        },
3862        340usize,
3863        concat!(
3864            "Offset of field: ",
3865            stringify!(JNINativeInterface),
3866            "::",
3867            stringify!(CallNonvirtualFloatMethod)
3868        )
3869    );
3870    assert_eq!(
3871        unsafe {
3872            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodV as *const _
3873                as usize
3874        },
3875        344usize,
3876        concat!(
3877            "Offset of field: ",
3878            stringify!(JNINativeInterface),
3879            "::",
3880            stringify!(CallNonvirtualFloatMethodV)
3881        )
3882    );
3883    assert_eq!(
3884        unsafe {
3885            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodA as *const _
3886                as usize
3887        },
3888        348usize,
3889        concat!(
3890            "Offset of field: ",
3891            stringify!(JNINativeInterface),
3892            "::",
3893            stringify!(CallNonvirtualFloatMethodA)
3894        )
3895    );
3896    assert_eq!(
3897        unsafe {
3898            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethod as *const _
3899                as usize
3900        },
3901        352usize,
3902        concat!(
3903            "Offset of field: ",
3904            stringify!(JNINativeInterface),
3905            "::",
3906            stringify!(CallNonvirtualDoubleMethod)
3907        )
3908    );
3909    assert_eq!(
3910        unsafe {
3911            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodV as *const _
3912                as usize
3913        },
3914        356usize,
3915        concat!(
3916            "Offset of field: ",
3917            stringify!(JNINativeInterface),
3918            "::",
3919            stringify!(CallNonvirtualDoubleMethodV)
3920        )
3921    );
3922    assert_eq!(
3923        unsafe {
3924            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodA as *const _
3925                as usize
3926        },
3927        360usize,
3928        concat!(
3929            "Offset of field: ",
3930            stringify!(JNINativeInterface),
3931            "::",
3932            stringify!(CallNonvirtualDoubleMethodA)
3933        )
3934    );
3935    assert_eq!(
3936        unsafe {
3937            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethod as *const _
3938                as usize
3939        },
3940        364usize,
3941        concat!(
3942            "Offset of field: ",
3943            stringify!(JNINativeInterface),
3944            "::",
3945            stringify!(CallNonvirtualVoidMethod)
3946        )
3947    );
3948    assert_eq!(
3949        unsafe {
3950            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodV as *const _
3951                as usize
3952        },
3953        368usize,
3954        concat!(
3955            "Offset of field: ",
3956            stringify!(JNINativeInterface),
3957            "::",
3958            stringify!(CallNonvirtualVoidMethodV)
3959        )
3960    );
3961    assert_eq!(
3962        unsafe {
3963            &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodA as *const _
3964                as usize
3965        },
3966        372usize,
3967        concat!(
3968            "Offset of field: ",
3969            stringify!(JNINativeInterface),
3970            "::",
3971            stringify!(CallNonvirtualVoidMethodA)
3972        )
3973    );
3974    assert_eq!(
3975        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetFieldID as *const _ as usize },
3976        376usize,
3977        concat!(
3978            "Offset of field: ",
3979            stringify!(JNINativeInterface),
3980            "::",
3981            stringify!(GetFieldID)
3982        )
3983    );
3984    assert_eq!(
3985        unsafe {
3986            &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectField as *const _ as usize
3987        },
3988        380usize,
3989        concat!(
3990            "Offset of field: ",
3991            stringify!(JNINativeInterface),
3992            "::",
3993            stringify!(GetObjectField)
3994        )
3995    );
3996    assert_eq!(
3997        unsafe {
3998            &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanField as *const _ as usize
3999        },
4000        384usize,
4001        concat!(
4002            "Offset of field: ",
4003            stringify!(JNINativeInterface),
4004            "::",
4005            stringify!(GetBooleanField)
4006        )
4007    );
4008    assert_eq!(
4009        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetByteField as *const _ as usize },
4010        388usize,
4011        concat!(
4012            "Offset of field: ",
4013            stringify!(JNINativeInterface),
4014            "::",
4015            stringify!(GetByteField)
4016        )
4017    );
4018    assert_eq!(
4019        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetCharField as *const _ as usize },
4020        392usize,
4021        concat!(
4022            "Offset of field: ",
4023            stringify!(JNINativeInterface),
4024            "::",
4025            stringify!(GetCharField)
4026        )
4027    );
4028    assert_eq!(
4029        unsafe {
4030            &(*(::std::ptr::null::<JNINativeInterface>())).GetShortField as *const _ as usize
4031        },
4032        396usize,
4033        concat!(
4034            "Offset of field: ",
4035            stringify!(JNINativeInterface),
4036            "::",
4037            stringify!(GetShortField)
4038        )
4039    );
4040    assert_eq!(
4041        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetIntField as *const _ as usize },
4042        400usize,
4043        concat!(
4044            "Offset of field: ",
4045            stringify!(JNINativeInterface),
4046            "::",
4047            stringify!(GetIntField)
4048        )
4049    );
4050    assert_eq!(
4051        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetLongField as *const _ as usize },
4052        404usize,
4053        concat!(
4054            "Offset of field: ",
4055            stringify!(JNINativeInterface),
4056            "::",
4057            stringify!(GetLongField)
4058        )
4059    );
4060    assert_eq!(
4061        unsafe {
4062            &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatField as *const _ as usize
4063        },
4064        408usize,
4065        concat!(
4066            "Offset of field: ",
4067            stringify!(JNINativeInterface),
4068            "::",
4069            stringify!(GetFloatField)
4070        )
4071    );
4072    assert_eq!(
4073        unsafe {
4074            &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleField as *const _ as usize
4075        },
4076        412usize,
4077        concat!(
4078            "Offset of field: ",
4079            stringify!(JNINativeInterface),
4080            "::",
4081            stringify!(GetDoubleField)
4082        )
4083    );
4084    assert_eq!(
4085        unsafe {
4086            &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectField as *const _ as usize
4087        },
4088        416usize,
4089        concat!(
4090            "Offset of field: ",
4091            stringify!(JNINativeInterface),
4092            "::",
4093            stringify!(SetObjectField)
4094        )
4095    );
4096    assert_eq!(
4097        unsafe {
4098            &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanField as *const _ as usize
4099        },
4100        420usize,
4101        concat!(
4102            "Offset of field: ",
4103            stringify!(JNINativeInterface),
4104            "::",
4105            stringify!(SetBooleanField)
4106        )
4107    );
4108    assert_eq!(
4109        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetByteField as *const _ as usize },
4110        424usize,
4111        concat!(
4112            "Offset of field: ",
4113            stringify!(JNINativeInterface),
4114            "::",
4115            stringify!(SetByteField)
4116        )
4117    );
4118    assert_eq!(
4119        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetCharField as *const _ as usize },
4120        428usize,
4121        concat!(
4122            "Offset of field: ",
4123            stringify!(JNINativeInterface),
4124            "::",
4125            stringify!(SetCharField)
4126        )
4127    );
4128    assert_eq!(
4129        unsafe {
4130            &(*(::std::ptr::null::<JNINativeInterface>())).SetShortField as *const _ as usize
4131        },
4132        432usize,
4133        concat!(
4134            "Offset of field: ",
4135            stringify!(JNINativeInterface),
4136            "::",
4137            stringify!(SetShortField)
4138        )
4139    );
4140    assert_eq!(
4141        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetIntField as *const _ as usize },
4142        436usize,
4143        concat!(
4144            "Offset of field: ",
4145            stringify!(JNINativeInterface),
4146            "::",
4147            stringify!(SetIntField)
4148        )
4149    );
4150    assert_eq!(
4151        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetLongField as *const _ as usize },
4152        440usize,
4153        concat!(
4154            "Offset of field: ",
4155            stringify!(JNINativeInterface),
4156            "::",
4157            stringify!(SetLongField)
4158        )
4159    );
4160    assert_eq!(
4161        unsafe {
4162            &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatField as *const _ as usize
4163        },
4164        444usize,
4165        concat!(
4166            "Offset of field: ",
4167            stringify!(JNINativeInterface),
4168            "::",
4169            stringify!(SetFloatField)
4170        )
4171    );
4172    assert_eq!(
4173        unsafe {
4174            &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleField as *const _ as usize
4175        },
4176        448usize,
4177        concat!(
4178            "Offset of field: ",
4179            stringify!(JNINativeInterface),
4180            "::",
4181            stringify!(SetDoubleField)
4182        )
4183    );
4184    assert_eq!(
4185        unsafe {
4186            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticMethodID as *const _ as usize
4187        },
4188        452usize,
4189        concat!(
4190            "Offset of field: ",
4191            stringify!(JNINativeInterface),
4192            "::",
4193            stringify!(GetStaticMethodID)
4194        )
4195    );
4196    assert_eq!(
4197        unsafe {
4198            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethod as *const _
4199                as usize
4200        },
4201        456usize,
4202        concat!(
4203            "Offset of field: ",
4204            stringify!(JNINativeInterface),
4205            "::",
4206            stringify!(CallStaticObjectMethod)
4207        )
4208    );
4209    assert_eq!(
4210        unsafe {
4211            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodV as *const _
4212                as usize
4213        },
4214        460usize,
4215        concat!(
4216            "Offset of field: ",
4217            stringify!(JNINativeInterface),
4218            "::",
4219            stringify!(CallStaticObjectMethodV)
4220        )
4221    );
4222    assert_eq!(
4223        unsafe {
4224            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodA as *const _
4225                as usize
4226        },
4227        464usize,
4228        concat!(
4229            "Offset of field: ",
4230            stringify!(JNINativeInterface),
4231            "::",
4232            stringify!(CallStaticObjectMethodA)
4233        )
4234    );
4235    assert_eq!(
4236        unsafe {
4237            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethod as *const _
4238                as usize
4239        },
4240        468usize,
4241        concat!(
4242            "Offset of field: ",
4243            stringify!(JNINativeInterface),
4244            "::",
4245            stringify!(CallStaticBooleanMethod)
4246        )
4247    );
4248    assert_eq!(
4249        unsafe {
4250            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodV as *const _
4251                as usize
4252        },
4253        472usize,
4254        concat!(
4255            "Offset of field: ",
4256            stringify!(JNINativeInterface),
4257            "::",
4258            stringify!(CallStaticBooleanMethodV)
4259        )
4260    );
4261    assert_eq!(
4262        unsafe {
4263            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodA as *const _
4264                as usize
4265        },
4266        476usize,
4267        concat!(
4268            "Offset of field: ",
4269            stringify!(JNINativeInterface),
4270            "::",
4271            stringify!(CallStaticBooleanMethodA)
4272        )
4273    );
4274    assert_eq!(
4275        unsafe {
4276            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethod as *const _ as usize
4277        },
4278        480usize,
4279        concat!(
4280            "Offset of field: ",
4281            stringify!(JNINativeInterface),
4282            "::",
4283            stringify!(CallStaticByteMethod)
4284        )
4285    );
4286    assert_eq!(
4287        unsafe {
4288            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodV as *const _
4289                as usize
4290        },
4291        484usize,
4292        concat!(
4293            "Offset of field: ",
4294            stringify!(JNINativeInterface),
4295            "::",
4296            stringify!(CallStaticByteMethodV)
4297        )
4298    );
4299    assert_eq!(
4300        unsafe {
4301            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodA as *const _
4302                as usize
4303        },
4304        488usize,
4305        concat!(
4306            "Offset of field: ",
4307            stringify!(JNINativeInterface),
4308            "::",
4309            stringify!(CallStaticByteMethodA)
4310        )
4311    );
4312    assert_eq!(
4313        unsafe {
4314            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethod as *const _ as usize
4315        },
4316        492usize,
4317        concat!(
4318            "Offset of field: ",
4319            stringify!(JNINativeInterface),
4320            "::",
4321            stringify!(CallStaticCharMethod)
4322        )
4323    );
4324    assert_eq!(
4325        unsafe {
4326            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodV as *const _
4327                as usize
4328        },
4329        496usize,
4330        concat!(
4331            "Offset of field: ",
4332            stringify!(JNINativeInterface),
4333            "::",
4334            stringify!(CallStaticCharMethodV)
4335        )
4336    );
4337    assert_eq!(
4338        unsafe {
4339            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodA as *const _
4340                as usize
4341        },
4342        500usize,
4343        concat!(
4344            "Offset of field: ",
4345            stringify!(JNINativeInterface),
4346            "::",
4347            stringify!(CallStaticCharMethodA)
4348        )
4349    );
4350    assert_eq!(
4351        unsafe {
4352            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethod as *const _
4353                as usize
4354        },
4355        504usize,
4356        concat!(
4357            "Offset of field: ",
4358            stringify!(JNINativeInterface),
4359            "::",
4360            stringify!(CallStaticShortMethod)
4361        )
4362    );
4363    assert_eq!(
4364        unsafe {
4365            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodV as *const _
4366                as usize
4367        },
4368        508usize,
4369        concat!(
4370            "Offset of field: ",
4371            stringify!(JNINativeInterface),
4372            "::",
4373            stringify!(CallStaticShortMethodV)
4374        )
4375    );
4376    assert_eq!(
4377        unsafe {
4378            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodA as *const _
4379                as usize
4380        },
4381        512usize,
4382        concat!(
4383            "Offset of field: ",
4384            stringify!(JNINativeInterface),
4385            "::",
4386            stringify!(CallStaticShortMethodA)
4387        )
4388    );
4389    assert_eq!(
4390        unsafe {
4391            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethod as *const _ as usize
4392        },
4393        516usize,
4394        concat!(
4395            "Offset of field: ",
4396            stringify!(JNINativeInterface),
4397            "::",
4398            stringify!(CallStaticIntMethod)
4399        )
4400    );
4401    assert_eq!(
4402        unsafe {
4403            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodV as *const _ as usize
4404        },
4405        520usize,
4406        concat!(
4407            "Offset of field: ",
4408            stringify!(JNINativeInterface),
4409            "::",
4410            stringify!(CallStaticIntMethodV)
4411        )
4412    );
4413    assert_eq!(
4414        unsafe {
4415            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodA as *const _ as usize
4416        },
4417        524usize,
4418        concat!(
4419            "Offset of field: ",
4420            stringify!(JNINativeInterface),
4421            "::",
4422            stringify!(CallStaticIntMethodA)
4423        )
4424    );
4425    assert_eq!(
4426        unsafe {
4427            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethod as *const _ as usize
4428        },
4429        528usize,
4430        concat!(
4431            "Offset of field: ",
4432            stringify!(JNINativeInterface),
4433            "::",
4434            stringify!(CallStaticLongMethod)
4435        )
4436    );
4437    assert_eq!(
4438        unsafe {
4439            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodV as *const _
4440                as usize
4441        },
4442        532usize,
4443        concat!(
4444            "Offset of field: ",
4445            stringify!(JNINativeInterface),
4446            "::",
4447            stringify!(CallStaticLongMethodV)
4448        )
4449    );
4450    assert_eq!(
4451        unsafe {
4452            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodA as *const _
4453                as usize
4454        },
4455        536usize,
4456        concat!(
4457            "Offset of field: ",
4458            stringify!(JNINativeInterface),
4459            "::",
4460            stringify!(CallStaticLongMethodA)
4461        )
4462    );
4463    assert_eq!(
4464        unsafe {
4465            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethod as *const _
4466                as usize
4467        },
4468        540usize,
4469        concat!(
4470            "Offset of field: ",
4471            stringify!(JNINativeInterface),
4472            "::",
4473            stringify!(CallStaticFloatMethod)
4474        )
4475    );
4476    assert_eq!(
4477        unsafe {
4478            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodV as *const _
4479                as usize
4480        },
4481        544usize,
4482        concat!(
4483            "Offset of field: ",
4484            stringify!(JNINativeInterface),
4485            "::",
4486            stringify!(CallStaticFloatMethodV)
4487        )
4488    );
4489    assert_eq!(
4490        unsafe {
4491            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodA as *const _
4492                as usize
4493        },
4494        548usize,
4495        concat!(
4496            "Offset of field: ",
4497            stringify!(JNINativeInterface),
4498            "::",
4499            stringify!(CallStaticFloatMethodA)
4500        )
4501    );
4502    assert_eq!(
4503        unsafe {
4504            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethod as *const _
4505                as usize
4506        },
4507        552usize,
4508        concat!(
4509            "Offset of field: ",
4510            stringify!(JNINativeInterface),
4511            "::",
4512            stringify!(CallStaticDoubleMethod)
4513        )
4514    );
4515    assert_eq!(
4516        unsafe {
4517            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodV as *const _
4518                as usize
4519        },
4520        556usize,
4521        concat!(
4522            "Offset of field: ",
4523            stringify!(JNINativeInterface),
4524            "::",
4525            stringify!(CallStaticDoubleMethodV)
4526        )
4527    );
4528    assert_eq!(
4529        unsafe {
4530            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodA as *const _
4531                as usize
4532        },
4533        560usize,
4534        concat!(
4535            "Offset of field: ",
4536            stringify!(JNINativeInterface),
4537            "::",
4538            stringify!(CallStaticDoubleMethodA)
4539        )
4540    );
4541    assert_eq!(
4542        unsafe {
4543            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethod as *const _ as usize
4544        },
4545        564usize,
4546        concat!(
4547            "Offset of field: ",
4548            stringify!(JNINativeInterface),
4549            "::",
4550            stringify!(CallStaticVoidMethod)
4551        )
4552    );
4553    assert_eq!(
4554        unsafe {
4555            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodV as *const _
4556                as usize
4557        },
4558        568usize,
4559        concat!(
4560            "Offset of field: ",
4561            stringify!(JNINativeInterface),
4562            "::",
4563            stringify!(CallStaticVoidMethodV)
4564        )
4565    );
4566    assert_eq!(
4567        unsafe {
4568            &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodA as *const _
4569                as usize
4570        },
4571        572usize,
4572        concat!(
4573            "Offset of field: ",
4574            stringify!(JNINativeInterface),
4575            "::",
4576            stringify!(CallStaticVoidMethodA)
4577        )
4578    );
4579    assert_eq!(
4580        unsafe {
4581            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFieldID as *const _ as usize
4582        },
4583        576usize,
4584        concat!(
4585            "Offset of field: ",
4586            stringify!(JNINativeInterface),
4587            "::",
4588            stringify!(GetStaticFieldID)
4589        )
4590    );
4591    assert_eq!(
4592        unsafe {
4593            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticObjectField as *const _ as usize
4594        },
4595        580usize,
4596        concat!(
4597            "Offset of field: ",
4598            stringify!(JNINativeInterface),
4599            "::",
4600            stringify!(GetStaticObjectField)
4601        )
4602    );
4603    assert_eq!(
4604        unsafe {
4605            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticBooleanField as *const _
4606                as usize
4607        },
4608        584usize,
4609        concat!(
4610            "Offset of field: ",
4611            stringify!(JNINativeInterface),
4612            "::",
4613            stringify!(GetStaticBooleanField)
4614        )
4615    );
4616    assert_eq!(
4617        unsafe {
4618            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticByteField as *const _ as usize
4619        },
4620        588usize,
4621        concat!(
4622            "Offset of field: ",
4623            stringify!(JNINativeInterface),
4624            "::",
4625            stringify!(GetStaticByteField)
4626        )
4627    );
4628    assert_eq!(
4629        unsafe {
4630            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticCharField as *const _ as usize
4631        },
4632        592usize,
4633        concat!(
4634            "Offset of field: ",
4635            stringify!(JNINativeInterface),
4636            "::",
4637            stringify!(GetStaticCharField)
4638        )
4639    );
4640    assert_eq!(
4641        unsafe {
4642            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticShortField as *const _ as usize
4643        },
4644        596usize,
4645        concat!(
4646            "Offset of field: ",
4647            stringify!(JNINativeInterface),
4648            "::",
4649            stringify!(GetStaticShortField)
4650        )
4651    );
4652    assert_eq!(
4653        unsafe {
4654            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticIntField as *const _ as usize
4655        },
4656        600usize,
4657        concat!(
4658            "Offset of field: ",
4659            stringify!(JNINativeInterface),
4660            "::",
4661            stringify!(GetStaticIntField)
4662        )
4663    );
4664    assert_eq!(
4665        unsafe {
4666            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticLongField as *const _ as usize
4667        },
4668        604usize,
4669        concat!(
4670            "Offset of field: ",
4671            stringify!(JNINativeInterface),
4672            "::",
4673            stringify!(GetStaticLongField)
4674        )
4675    );
4676    assert_eq!(
4677        unsafe {
4678            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFloatField as *const _ as usize
4679        },
4680        608usize,
4681        concat!(
4682            "Offset of field: ",
4683            stringify!(JNINativeInterface),
4684            "::",
4685            stringify!(GetStaticFloatField)
4686        )
4687    );
4688    assert_eq!(
4689        unsafe {
4690            &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticDoubleField as *const _ as usize
4691        },
4692        612usize,
4693        concat!(
4694            "Offset of field: ",
4695            stringify!(JNINativeInterface),
4696            "::",
4697            stringify!(GetStaticDoubleField)
4698        )
4699    );
4700    assert_eq!(
4701        unsafe {
4702            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticObjectField as *const _ as usize
4703        },
4704        616usize,
4705        concat!(
4706            "Offset of field: ",
4707            stringify!(JNINativeInterface),
4708            "::",
4709            stringify!(SetStaticObjectField)
4710        )
4711    );
4712    assert_eq!(
4713        unsafe {
4714            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticBooleanField as *const _
4715                as usize
4716        },
4717        620usize,
4718        concat!(
4719            "Offset of field: ",
4720            stringify!(JNINativeInterface),
4721            "::",
4722            stringify!(SetStaticBooleanField)
4723        )
4724    );
4725    assert_eq!(
4726        unsafe {
4727            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticByteField as *const _ as usize
4728        },
4729        624usize,
4730        concat!(
4731            "Offset of field: ",
4732            stringify!(JNINativeInterface),
4733            "::",
4734            stringify!(SetStaticByteField)
4735        )
4736    );
4737    assert_eq!(
4738        unsafe {
4739            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticCharField as *const _ as usize
4740        },
4741        628usize,
4742        concat!(
4743            "Offset of field: ",
4744            stringify!(JNINativeInterface),
4745            "::",
4746            stringify!(SetStaticCharField)
4747        )
4748    );
4749    assert_eq!(
4750        unsafe {
4751            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticShortField as *const _ as usize
4752        },
4753        632usize,
4754        concat!(
4755            "Offset of field: ",
4756            stringify!(JNINativeInterface),
4757            "::",
4758            stringify!(SetStaticShortField)
4759        )
4760    );
4761    assert_eq!(
4762        unsafe {
4763            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticIntField as *const _ as usize
4764        },
4765        636usize,
4766        concat!(
4767            "Offset of field: ",
4768            stringify!(JNINativeInterface),
4769            "::",
4770            stringify!(SetStaticIntField)
4771        )
4772    );
4773    assert_eq!(
4774        unsafe {
4775            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticLongField as *const _ as usize
4776        },
4777        640usize,
4778        concat!(
4779            "Offset of field: ",
4780            stringify!(JNINativeInterface),
4781            "::",
4782            stringify!(SetStaticLongField)
4783        )
4784    );
4785    assert_eq!(
4786        unsafe {
4787            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticFloatField as *const _ as usize
4788        },
4789        644usize,
4790        concat!(
4791            "Offset of field: ",
4792            stringify!(JNINativeInterface),
4793            "::",
4794            stringify!(SetStaticFloatField)
4795        )
4796    );
4797    assert_eq!(
4798        unsafe {
4799            &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticDoubleField as *const _ as usize
4800        },
4801        648usize,
4802        concat!(
4803            "Offset of field: ",
4804            stringify!(JNINativeInterface),
4805            "::",
4806            stringify!(SetStaticDoubleField)
4807        )
4808    );
4809    assert_eq!(
4810        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewString as *const _ as usize },
4811        652usize,
4812        concat!(
4813            "Offset of field: ",
4814            stringify!(JNINativeInterface),
4815            "::",
4816            stringify!(NewString)
4817        )
4818    );
4819    assert_eq!(
4820        unsafe {
4821            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringLength as *const _ as usize
4822        },
4823        656usize,
4824        concat!(
4825            "Offset of field: ",
4826            stringify!(JNINativeInterface),
4827            "::",
4828            stringify!(GetStringLength)
4829        )
4830    );
4831    assert_eq!(
4832        unsafe {
4833            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringChars as *const _ as usize
4834        },
4835        660usize,
4836        concat!(
4837            "Offset of field: ",
4838            stringify!(JNINativeInterface),
4839            "::",
4840            stringify!(GetStringChars)
4841        )
4842    );
4843    assert_eq!(
4844        unsafe {
4845            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringChars as *const _ as usize
4846        },
4847        664usize,
4848        concat!(
4849            "Offset of field: ",
4850            stringify!(JNINativeInterface),
4851            "::",
4852            stringify!(ReleaseStringChars)
4853        )
4854    );
4855    assert_eq!(
4856        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewStringUTF as *const _ as usize },
4857        668usize,
4858        concat!(
4859            "Offset of field: ",
4860            stringify!(JNINativeInterface),
4861            "::",
4862            stringify!(NewStringUTF)
4863        )
4864    );
4865    assert_eq!(
4866        unsafe {
4867            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFLength as *const _ as usize
4868        },
4869        672usize,
4870        concat!(
4871            "Offset of field: ",
4872            stringify!(JNINativeInterface),
4873            "::",
4874            stringify!(GetStringUTFLength)
4875        )
4876    );
4877    assert_eq!(
4878        unsafe {
4879            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFChars as *const _ as usize
4880        },
4881        676usize,
4882        concat!(
4883            "Offset of field: ",
4884            stringify!(JNINativeInterface),
4885            "::",
4886            stringify!(GetStringUTFChars)
4887        )
4888    );
4889    assert_eq!(
4890        unsafe {
4891            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringUTFChars as *const _
4892                as usize
4893        },
4894        680usize,
4895        concat!(
4896            "Offset of field: ",
4897            stringify!(JNINativeInterface),
4898            "::",
4899            stringify!(ReleaseStringUTFChars)
4900        )
4901    );
4902    assert_eq!(
4903        unsafe {
4904            &(*(::std::ptr::null::<JNINativeInterface>())).GetArrayLength as *const _ as usize
4905        },
4906        684usize,
4907        concat!(
4908            "Offset of field: ",
4909            stringify!(JNINativeInterface),
4910            "::",
4911            stringify!(GetArrayLength)
4912        )
4913    );
4914    assert_eq!(
4915        unsafe {
4916            &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectArray as *const _ as usize
4917        },
4918        688usize,
4919        concat!(
4920            "Offset of field: ",
4921            stringify!(JNINativeInterface),
4922            "::",
4923            stringify!(NewObjectArray)
4924        )
4925    );
4926    assert_eq!(
4927        unsafe {
4928            &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectArrayElement as *const _
4929                as usize
4930        },
4931        692usize,
4932        concat!(
4933            "Offset of field: ",
4934            stringify!(JNINativeInterface),
4935            "::",
4936            stringify!(GetObjectArrayElement)
4937        )
4938    );
4939    assert_eq!(
4940        unsafe {
4941            &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectArrayElement as *const _
4942                as usize
4943        },
4944        696usize,
4945        concat!(
4946            "Offset of field: ",
4947            stringify!(JNINativeInterface),
4948            "::",
4949            stringify!(SetObjectArrayElement)
4950        )
4951    );
4952    assert_eq!(
4953        unsafe {
4954            &(*(::std::ptr::null::<JNINativeInterface>())).NewBooleanArray as *const _ as usize
4955        },
4956        700usize,
4957        concat!(
4958            "Offset of field: ",
4959            stringify!(JNINativeInterface),
4960            "::",
4961            stringify!(NewBooleanArray)
4962        )
4963    );
4964    assert_eq!(
4965        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewByteArray as *const _ as usize },
4966        704usize,
4967        concat!(
4968            "Offset of field: ",
4969            stringify!(JNINativeInterface),
4970            "::",
4971            stringify!(NewByteArray)
4972        )
4973    );
4974    assert_eq!(
4975        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewCharArray as *const _ as usize },
4976        708usize,
4977        concat!(
4978            "Offset of field: ",
4979            stringify!(JNINativeInterface),
4980            "::",
4981            stringify!(NewCharArray)
4982        )
4983    );
4984    assert_eq!(
4985        unsafe {
4986            &(*(::std::ptr::null::<JNINativeInterface>())).NewShortArray as *const _ as usize
4987        },
4988        712usize,
4989        concat!(
4990            "Offset of field: ",
4991            stringify!(JNINativeInterface),
4992            "::",
4993            stringify!(NewShortArray)
4994        )
4995    );
4996    assert_eq!(
4997        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewIntArray as *const _ as usize },
4998        716usize,
4999        concat!(
5000            "Offset of field: ",
5001            stringify!(JNINativeInterface),
5002            "::",
5003            stringify!(NewIntArray)
5004        )
5005    );
5006    assert_eq!(
5007        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLongArray as *const _ as usize },
5008        720usize,
5009        concat!(
5010            "Offset of field: ",
5011            stringify!(JNINativeInterface),
5012            "::",
5013            stringify!(NewLongArray)
5014        )
5015    );
5016    assert_eq!(
5017        unsafe {
5018            &(*(::std::ptr::null::<JNINativeInterface>())).NewFloatArray as *const _ as usize
5019        },
5020        724usize,
5021        concat!(
5022            "Offset of field: ",
5023            stringify!(JNINativeInterface),
5024            "::",
5025            stringify!(NewFloatArray)
5026        )
5027    );
5028    assert_eq!(
5029        unsafe {
5030            &(*(::std::ptr::null::<JNINativeInterface>())).NewDoubleArray as *const _ as usize
5031        },
5032        728usize,
5033        concat!(
5034            "Offset of field: ",
5035            stringify!(JNINativeInterface),
5036            "::",
5037            stringify!(NewDoubleArray)
5038        )
5039    );
5040    assert_eq!(
5041        unsafe {
5042            &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayElements as *const _
5043                as usize
5044        },
5045        732usize,
5046        concat!(
5047            "Offset of field: ",
5048            stringify!(JNINativeInterface),
5049            "::",
5050            stringify!(GetBooleanArrayElements)
5051        )
5052    );
5053    assert_eq!(
5054        unsafe {
5055            &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayElements as *const _ as usize
5056        },
5057        736usize,
5058        concat!(
5059            "Offset of field: ",
5060            stringify!(JNINativeInterface),
5061            "::",
5062            stringify!(GetByteArrayElements)
5063        )
5064    );
5065    assert_eq!(
5066        unsafe {
5067            &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayElements as *const _ as usize
5068        },
5069        740usize,
5070        concat!(
5071            "Offset of field: ",
5072            stringify!(JNINativeInterface),
5073            "::",
5074            stringify!(GetCharArrayElements)
5075        )
5076    );
5077    assert_eq!(
5078        unsafe {
5079            &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayElements as *const _
5080                as usize
5081        },
5082        744usize,
5083        concat!(
5084            "Offset of field: ",
5085            stringify!(JNINativeInterface),
5086            "::",
5087            stringify!(GetShortArrayElements)
5088        )
5089    );
5090    assert_eq!(
5091        unsafe {
5092            &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayElements as *const _ as usize
5093        },
5094        748usize,
5095        concat!(
5096            "Offset of field: ",
5097            stringify!(JNINativeInterface),
5098            "::",
5099            stringify!(GetIntArrayElements)
5100        )
5101    );
5102    assert_eq!(
5103        unsafe {
5104            &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayElements as *const _ as usize
5105        },
5106        752usize,
5107        concat!(
5108            "Offset of field: ",
5109            stringify!(JNINativeInterface),
5110            "::",
5111            stringify!(GetLongArrayElements)
5112        )
5113    );
5114    assert_eq!(
5115        unsafe {
5116            &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayElements as *const _
5117                as usize
5118        },
5119        756usize,
5120        concat!(
5121            "Offset of field: ",
5122            stringify!(JNINativeInterface),
5123            "::",
5124            stringify!(GetFloatArrayElements)
5125        )
5126    );
5127    assert_eq!(
5128        unsafe {
5129            &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayElements as *const _
5130                as usize
5131        },
5132        760usize,
5133        concat!(
5134            "Offset of field: ",
5135            stringify!(JNINativeInterface),
5136            "::",
5137            stringify!(GetDoubleArrayElements)
5138        )
5139    );
5140    assert_eq!(
5141        unsafe {
5142            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseBooleanArrayElements as *const _
5143                as usize
5144        },
5145        764usize,
5146        concat!(
5147            "Offset of field: ",
5148            stringify!(JNINativeInterface),
5149            "::",
5150            stringify!(ReleaseBooleanArrayElements)
5151        )
5152    );
5153    assert_eq!(
5154        unsafe {
5155            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseByteArrayElements as *const _
5156                as usize
5157        },
5158        768usize,
5159        concat!(
5160            "Offset of field: ",
5161            stringify!(JNINativeInterface),
5162            "::",
5163            stringify!(ReleaseByteArrayElements)
5164        )
5165    );
5166    assert_eq!(
5167        unsafe {
5168            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseCharArrayElements as *const _
5169                as usize
5170        },
5171        772usize,
5172        concat!(
5173            "Offset of field: ",
5174            stringify!(JNINativeInterface),
5175            "::",
5176            stringify!(ReleaseCharArrayElements)
5177        )
5178    );
5179    assert_eq!(
5180        unsafe {
5181            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseShortArrayElements as *const _
5182                as usize
5183        },
5184        776usize,
5185        concat!(
5186            "Offset of field: ",
5187            stringify!(JNINativeInterface),
5188            "::",
5189            stringify!(ReleaseShortArrayElements)
5190        )
5191    );
5192    assert_eq!(
5193        unsafe {
5194            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseIntArrayElements as *const _
5195                as usize
5196        },
5197        780usize,
5198        concat!(
5199            "Offset of field: ",
5200            stringify!(JNINativeInterface),
5201            "::",
5202            stringify!(ReleaseIntArrayElements)
5203        )
5204    );
5205    assert_eq!(
5206        unsafe {
5207            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseLongArrayElements as *const _
5208                as usize
5209        },
5210        784usize,
5211        concat!(
5212            "Offset of field: ",
5213            stringify!(JNINativeInterface),
5214            "::",
5215            stringify!(ReleaseLongArrayElements)
5216        )
5217    );
5218    assert_eq!(
5219        unsafe {
5220            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseFloatArrayElements as *const _
5221                as usize
5222        },
5223        788usize,
5224        concat!(
5225            "Offset of field: ",
5226            stringify!(JNINativeInterface),
5227            "::",
5228            stringify!(ReleaseFloatArrayElements)
5229        )
5230    );
5231    assert_eq!(
5232        unsafe {
5233            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseDoubleArrayElements as *const _
5234                as usize
5235        },
5236        792usize,
5237        concat!(
5238            "Offset of field: ",
5239            stringify!(JNINativeInterface),
5240            "::",
5241            stringify!(ReleaseDoubleArrayElements)
5242        )
5243    );
5244    assert_eq!(
5245        unsafe {
5246            &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayRegion as *const _
5247                as usize
5248        },
5249        796usize,
5250        concat!(
5251            "Offset of field: ",
5252            stringify!(JNINativeInterface),
5253            "::",
5254            stringify!(GetBooleanArrayRegion)
5255        )
5256    );
5257    assert_eq!(
5258        unsafe {
5259            &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayRegion as *const _ as usize
5260        },
5261        800usize,
5262        concat!(
5263            "Offset of field: ",
5264            stringify!(JNINativeInterface),
5265            "::",
5266            stringify!(GetByteArrayRegion)
5267        )
5268    );
5269    assert_eq!(
5270        unsafe {
5271            &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayRegion as *const _ as usize
5272        },
5273        804usize,
5274        concat!(
5275            "Offset of field: ",
5276            stringify!(JNINativeInterface),
5277            "::",
5278            stringify!(GetCharArrayRegion)
5279        )
5280    );
5281    assert_eq!(
5282        unsafe {
5283            &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayRegion as *const _ as usize
5284        },
5285        808usize,
5286        concat!(
5287            "Offset of field: ",
5288            stringify!(JNINativeInterface),
5289            "::",
5290            stringify!(GetShortArrayRegion)
5291        )
5292    );
5293    assert_eq!(
5294        unsafe {
5295            &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayRegion as *const _ as usize
5296        },
5297        812usize,
5298        concat!(
5299            "Offset of field: ",
5300            stringify!(JNINativeInterface),
5301            "::",
5302            stringify!(GetIntArrayRegion)
5303        )
5304    );
5305    assert_eq!(
5306        unsafe {
5307            &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayRegion as *const _ as usize
5308        },
5309        816usize,
5310        concat!(
5311            "Offset of field: ",
5312            stringify!(JNINativeInterface),
5313            "::",
5314            stringify!(GetLongArrayRegion)
5315        )
5316    );
5317    assert_eq!(
5318        unsafe {
5319            &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayRegion as *const _ as usize
5320        },
5321        820usize,
5322        concat!(
5323            "Offset of field: ",
5324            stringify!(JNINativeInterface),
5325            "::",
5326            stringify!(GetFloatArrayRegion)
5327        )
5328    );
5329    assert_eq!(
5330        unsafe {
5331            &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayRegion as *const _ as usize
5332        },
5333        824usize,
5334        concat!(
5335            "Offset of field: ",
5336            stringify!(JNINativeInterface),
5337            "::",
5338            stringify!(GetDoubleArrayRegion)
5339        )
5340    );
5341    assert_eq!(
5342        unsafe {
5343            &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanArrayRegion as *const _
5344                as usize
5345        },
5346        828usize,
5347        concat!(
5348            "Offset of field: ",
5349            stringify!(JNINativeInterface),
5350            "::",
5351            stringify!(SetBooleanArrayRegion)
5352        )
5353    );
5354    assert_eq!(
5355        unsafe {
5356            &(*(::std::ptr::null::<JNINativeInterface>())).SetByteArrayRegion as *const _ as usize
5357        },
5358        832usize,
5359        concat!(
5360            "Offset of field: ",
5361            stringify!(JNINativeInterface),
5362            "::",
5363            stringify!(SetByteArrayRegion)
5364        )
5365    );
5366    assert_eq!(
5367        unsafe {
5368            &(*(::std::ptr::null::<JNINativeInterface>())).SetCharArrayRegion as *const _ as usize
5369        },
5370        836usize,
5371        concat!(
5372            "Offset of field: ",
5373            stringify!(JNINativeInterface),
5374            "::",
5375            stringify!(SetCharArrayRegion)
5376        )
5377    );
5378    assert_eq!(
5379        unsafe {
5380            &(*(::std::ptr::null::<JNINativeInterface>())).SetShortArrayRegion as *const _ as usize
5381        },
5382        840usize,
5383        concat!(
5384            "Offset of field: ",
5385            stringify!(JNINativeInterface),
5386            "::",
5387            stringify!(SetShortArrayRegion)
5388        )
5389    );
5390    assert_eq!(
5391        unsafe {
5392            &(*(::std::ptr::null::<JNINativeInterface>())).SetIntArrayRegion as *const _ as usize
5393        },
5394        844usize,
5395        concat!(
5396            "Offset of field: ",
5397            stringify!(JNINativeInterface),
5398            "::",
5399            stringify!(SetIntArrayRegion)
5400        )
5401    );
5402    assert_eq!(
5403        unsafe {
5404            &(*(::std::ptr::null::<JNINativeInterface>())).SetLongArrayRegion as *const _ as usize
5405        },
5406        848usize,
5407        concat!(
5408            "Offset of field: ",
5409            stringify!(JNINativeInterface),
5410            "::",
5411            stringify!(SetLongArrayRegion)
5412        )
5413    );
5414    assert_eq!(
5415        unsafe {
5416            &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatArrayRegion as *const _ as usize
5417        },
5418        852usize,
5419        concat!(
5420            "Offset of field: ",
5421            stringify!(JNINativeInterface),
5422            "::",
5423            stringify!(SetFloatArrayRegion)
5424        )
5425    );
5426    assert_eq!(
5427        unsafe {
5428            &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleArrayRegion as *const _ as usize
5429        },
5430        856usize,
5431        concat!(
5432            "Offset of field: ",
5433            stringify!(JNINativeInterface),
5434            "::",
5435            stringify!(SetDoubleArrayRegion)
5436        )
5437    );
5438    assert_eq!(
5439        unsafe {
5440            &(*(::std::ptr::null::<JNINativeInterface>())).RegisterNatives as *const _ as usize
5441        },
5442        860usize,
5443        concat!(
5444            "Offset of field: ",
5445            stringify!(JNINativeInterface),
5446            "::",
5447            stringify!(RegisterNatives)
5448        )
5449    );
5450    assert_eq!(
5451        unsafe {
5452            &(*(::std::ptr::null::<JNINativeInterface>())).UnregisterNatives as *const _ as usize
5453        },
5454        864usize,
5455        concat!(
5456            "Offset of field: ",
5457            stringify!(JNINativeInterface),
5458            "::",
5459            stringify!(UnregisterNatives)
5460        )
5461    );
5462    assert_eq!(
5463        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorEnter as *const _ as usize },
5464        868usize,
5465        concat!(
5466            "Offset of field: ",
5467            stringify!(JNINativeInterface),
5468            "::",
5469            stringify!(MonitorEnter)
5470        )
5471    );
5472    assert_eq!(
5473        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorExit as *const _ as usize },
5474        872usize,
5475        concat!(
5476            "Offset of field: ",
5477            stringify!(JNINativeInterface),
5478            "::",
5479            stringify!(MonitorExit)
5480        )
5481    );
5482    assert_eq!(
5483        unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetJavaVM as *const _ as usize },
5484        876usize,
5485        concat!(
5486            "Offset of field: ",
5487            stringify!(JNINativeInterface),
5488            "::",
5489            stringify!(GetJavaVM)
5490        )
5491    );
5492    assert_eq!(
5493        unsafe {
5494            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringRegion as *const _ as usize
5495        },
5496        880usize,
5497        concat!(
5498            "Offset of field: ",
5499            stringify!(JNINativeInterface),
5500            "::",
5501            stringify!(GetStringRegion)
5502        )
5503    );
5504    assert_eq!(
5505        unsafe {
5506            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFRegion as *const _ as usize
5507        },
5508        884usize,
5509        concat!(
5510            "Offset of field: ",
5511            stringify!(JNINativeInterface),
5512            "::",
5513            stringify!(GetStringUTFRegion)
5514        )
5515    );
5516    assert_eq!(
5517        unsafe {
5518            &(*(::std::ptr::null::<JNINativeInterface>())).GetPrimitiveArrayCritical as *const _
5519                as usize
5520        },
5521        888usize,
5522        concat!(
5523            "Offset of field: ",
5524            stringify!(JNINativeInterface),
5525            "::",
5526            stringify!(GetPrimitiveArrayCritical)
5527        )
5528    );
5529    assert_eq!(
5530        unsafe {
5531            &(*(::std::ptr::null::<JNINativeInterface>())).ReleasePrimitiveArrayCritical as *const _
5532                as usize
5533        },
5534        892usize,
5535        concat!(
5536            "Offset of field: ",
5537            stringify!(JNINativeInterface),
5538            "::",
5539            stringify!(ReleasePrimitiveArrayCritical)
5540        )
5541    );
5542    assert_eq!(
5543        unsafe {
5544            &(*(::std::ptr::null::<JNINativeInterface>())).GetStringCritical as *const _ as usize
5545        },
5546        896usize,
5547        concat!(
5548            "Offset of field: ",
5549            stringify!(JNINativeInterface),
5550            "::",
5551            stringify!(GetStringCritical)
5552        )
5553    );
5554    assert_eq!(
5555        unsafe {
5556            &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringCritical as *const _
5557                as usize
5558        },
5559        900usize,
5560        concat!(
5561            "Offset of field: ",
5562            stringify!(JNINativeInterface),
5563            "::",
5564            stringify!(ReleaseStringCritical)
5565        )
5566    );
5567    assert_eq!(
5568        unsafe {
5569            &(*(::std::ptr::null::<JNINativeInterface>())).NewWeakGlobalRef as *const _ as usize
5570        },
5571        904usize,
5572        concat!(
5573            "Offset of field: ",
5574            stringify!(JNINativeInterface),
5575            "::",
5576            stringify!(NewWeakGlobalRef)
5577        )
5578    );
5579    assert_eq!(
5580        unsafe {
5581            &(*(::std::ptr::null::<JNINativeInterface>())).DeleteWeakGlobalRef as *const _ as usize
5582        },
5583        908usize,
5584        concat!(
5585            "Offset of field: ",
5586            stringify!(JNINativeInterface),
5587            "::",
5588            stringify!(DeleteWeakGlobalRef)
5589        )
5590    );
5591    assert_eq!(
5592        unsafe {
5593            &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionCheck as *const _ as usize
5594        },
5595        912usize,
5596        concat!(
5597            "Offset of field: ",
5598            stringify!(JNINativeInterface),
5599            "::",
5600            stringify!(ExceptionCheck)
5601        )
5602    );
5603    assert_eq!(
5604        unsafe {
5605            &(*(::std::ptr::null::<JNINativeInterface>())).NewDirectByteBuffer as *const _ as usize
5606        },
5607        916usize,
5608        concat!(
5609            "Offset of field: ",
5610            stringify!(JNINativeInterface),
5611            "::",
5612            stringify!(NewDirectByteBuffer)
5613        )
5614    );
5615    assert_eq!(
5616        unsafe {
5617            &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferAddress as *const _
5618                as usize
5619        },
5620        920usize,
5621        concat!(
5622            "Offset of field: ",
5623            stringify!(JNINativeInterface),
5624            "::",
5625            stringify!(GetDirectBufferAddress)
5626        )
5627    );
5628    assert_eq!(
5629        unsafe {
5630            &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferCapacity as *const _
5631                as usize
5632        },
5633        924usize,
5634        concat!(
5635            "Offset of field: ",
5636            stringify!(JNINativeInterface),
5637            "::",
5638            stringify!(GetDirectBufferCapacity)
5639        )
5640    );
5641    assert_eq!(
5642        unsafe {
5643            &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectRefType as *const _ as usize
5644        },
5645        928usize,
5646        concat!(
5647            "Offset of field: ",
5648            stringify!(JNINativeInterface),
5649            "::",
5650            stringify!(GetObjectRefType)
5651        )
5652    );
5653}
5654#[repr(C)]
5655#[derive(Debug, Copy, Clone)]
5656pub struct _JNIEnv {
5657    pub functions: *const JNINativeInterface,
5658}
5659#[test]
5660fn bindgen_test_layout__JNIEnv() {
5661    assert_eq!(
5662        ::std::mem::size_of::<_JNIEnv>(),
5663        4usize,
5664        concat!("Size of: ", stringify!(_JNIEnv))
5665    );
5666    assert_eq!(
5667        ::std::mem::align_of::<_JNIEnv>(),
5668        4usize,
5669        concat!("Alignment of ", stringify!(_JNIEnv))
5670    );
5671    assert_eq!(
5672        unsafe { &(*(::std::ptr::null::<_JNIEnv>())).functions as *const _ as usize },
5673        0usize,
5674        concat!(
5675            "Offset of field: ",
5676            stringify!(_JNIEnv),
5677            "::",
5678            stringify!(functions)
5679        )
5680    );
5681}
5682#[repr(C)]
5683#[derive(Debug, Copy, Clone)]
5684pub struct JNIInvokeInterface {
5685    pub reserved0: *mut ::std::os::raw::c_void,
5686    pub reserved1: *mut ::std::os::raw::c_void,
5687    pub reserved2: *mut ::std::os::raw::c_void,
5688    pub DestroyJavaVM: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
5689    pub AttachCurrentThread: ::std::option::Option<
5690        unsafe extern "C" fn(
5691            arg1: *mut JavaVM,
5692            arg2: *mut *mut JNIEnv,
5693            arg3: *mut ::std::os::raw::c_void,
5694        ) -> jint,
5695    >,
5696    pub DetachCurrentThread: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
5697    pub GetEnv: ::std::option::Option<
5698        unsafe extern "C" fn(
5699            arg1: *mut JavaVM,
5700            arg2: *mut *mut ::std::os::raw::c_void,
5701            arg3: jint,
5702        ) -> jint,
5703    >,
5704    pub AttachCurrentThreadAsDaemon: ::std::option::Option<
5705        unsafe extern "C" fn(
5706            arg1: *mut JavaVM,
5707            arg2: *mut *mut JNIEnv,
5708            arg3: *mut ::std::os::raw::c_void,
5709        ) -> jint,
5710    >,
5711}
5712#[test]
5713fn bindgen_test_layout_JNIInvokeInterface() {
5714    assert_eq!(
5715        ::std::mem::size_of::<JNIInvokeInterface>(),
5716        32usize,
5717        concat!("Size of: ", stringify!(JNIInvokeInterface))
5718    );
5719    assert_eq!(
5720        ::std::mem::align_of::<JNIInvokeInterface>(),
5721        4usize,
5722        concat!("Alignment of ", stringify!(JNIInvokeInterface))
5723    );
5724    assert_eq!(
5725        unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved0 as *const _ as usize },
5726        0usize,
5727        concat!(
5728            "Offset of field: ",
5729            stringify!(JNIInvokeInterface),
5730            "::",
5731            stringify!(reserved0)
5732        )
5733    );
5734    assert_eq!(
5735        unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved1 as *const _ as usize },
5736        4usize,
5737        concat!(
5738            "Offset of field: ",
5739            stringify!(JNIInvokeInterface),
5740            "::",
5741            stringify!(reserved1)
5742        )
5743    );
5744    assert_eq!(
5745        unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved2 as *const _ as usize },
5746        8usize,
5747        concat!(
5748            "Offset of field: ",
5749            stringify!(JNIInvokeInterface),
5750            "::",
5751            stringify!(reserved2)
5752        )
5753    );
5754    assert_eq!(
5755        unsafe {
5756            &(*(::std::ptr::null::<JNIInvokeInterface>())).DestroyJavaVM as *const _ as usize
5757        },
5758        12usize,
5759        concat!(
5760            "Offset of field: ",
5761            stringify!(JNIInvokeInterface),
5762            "::",
5763            stringify!(DestroyJavaVM)
5764        )
5765    );
5766    assert_eq!(
5767        unsafe {
5768            &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThread as *const _ as usize
5769        },
5770        16usize,
5771        concat!(
5772            "Offset of field: ",
5773            stringify!(JNIInvokeInterface),
5774            "::",
5775            stringify!(AttachCurrentThread)
5776        )
5777    );
5778    assert_eq!(
5779        unsafe {
5780            &(*(::std::ptr::null::<JNIInvokeInterface>())).DetachCurrentThread as *const _ as usize
5781        },
5782        20usize,
5783        concat!(
5784            "Offset of field: ",
5785            stringify!(JNIInvokeInterface),
5786            "::",
5787            stringify!(DetachCurrentThread)
5788        )
5789    );
5790    assert_eq!(
5791        unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).GetEnv as *const _ as usize },
5792        24usize,
5793        concat!(
5794            "Offset of field: ",
5795            stringify!(JNIInvokeInterface),
5796            "::",
5797            stringify!(GetEnv)
5798        )
5799    );
5800    assert_eq!(
5801        unsafe {
5802            &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThreadAsDaemon as *const _
5803                as usize
5804        },
5805        28usize,
5806        concat!(
5807            "Offset of field: ",
5808            stringify!(JNIInvokeInterface),
5809            "::",
5810            stringify!(AttachCurrentThreadAsDaemon)
5811        )
5812    );
5813}
5814#[repr(C)]
5815#[derive(Debug, Copy, Clone)]
5816pub struct _JavaVM {
5817    pub functions: *const JNIInvokeInterface,
5818}
5819#[test]
5820fn bindgen_test_layout__JavaVM() {
5821    assert_eq!(
5822        ::std::mem::size_of::<_JavaVM>(),
5823        4usize,
5824        concat!("Size of: ", stringify!(_JavaVM))
5825    );
5826    assert_eq!(
5827        ::std::mem::align_of::<_JavaVM>(),
5828        4usize,
5829        concat!("Alignment of ", stringify!(_JavaVM))
5830    );
5831    assert_eq!(
5832        unsafe { &(*(::std::ptr::null::<_JavaVM>())).functions as *const _ as usize },
5833        0usize,
5834        concat!(
5835            "Offset of field: ",
5836            stringify!(_JavaVM),
5837            "::",
5838            stringify!(functions)
5839        )
5840    );
5841}
5842#[repr(C)]
5843#[derive(Debug, Copy, Clone)]
5844pub struct JavaVMAttachArgs {
5845    pub version: jint,
5846    pub name: *const ::std::os::raw::c_char,
5847    pub group: jobject,
5848}
5849#[test]
5850fn bindgen_test_layout_JavaVMAttachArgs() {
5851    assert_eq!(
5852        ::std::mem::size_of::<JavaVMAttachArgs>(),
5853        12usize,
5854        concat!("Size of: ", stringify!(JavaVMAttachArgs))
5855    );
5856    assert_eq!(
5857        ::std::mem::align_of::<JavaVMAttachArgs>(),
5858        4usize,
5859        concat!("Alignment of ", stringify!(JavaVMAttachArgs))
5860    );
5861    assert_eq!(
5862        unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).version as *const _ as usize },
5863        0usize,
5864        concat!(
5865            "Offset of field: ",
5866            stringify!(JavaVMAttachArgs),
5867            "::",
5868            stringify!(version)
5869        )
5870    );
5871    assert_eq!(
5872        unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).name as *const _ as usize },
5873        4usize,
5874        concat!(
5875            "Offset of field: ",
5876            stringify!(JavaVMAttachArgs),
5877            "::",
5878            stringify!(name)
5879        )
5880    );
5881    assert_eq!(
5882        unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).group as *const _ as usize },
5883        8usize,
5884        concat!(
5885            "Offset of field: ",
5886            stringify!(JavaVMAttachArgs),
5887            "::",
5888            stringify!(group)
5889        )
5890    );
5891}
5892#[repr(C)]
5893#[derive(Debug, Copy, Clone)]
5894pub struct JavaVMOption {
5895    pub optionString: *const ::std::os::raw::c_char,
5896    pub extraInfo: *mut ::std::os::raw::c_void,
5897}
5898#[test]
5899fn bindgen_test_layout_JavaVMOption() {
5900    assert_eq!(
5901        ::std::mem::size_of::<JavaVMOption>(),
5902        8usize,
5903        concat!("Size of: ", stringify!(JavaVMOption))
5904    );
5905    assert_eq!(
5906        ::std::mem::align_of::<JavaVMOption>(),
5907        4usize,
5908        concat!("Alignment of ", stringify!(JavaVMOption))
5909    );
5910    assert_eq!(
5911        unsafe { &(*(::std::ptr::null::<JavaVMOption>())).optionString as *const _ as usize },
5912        0usize,
5913        concat!(
5914            "Offset of field: ",
5915            stringify!(JavaVMOption),
5916            "::",
5917            stringify!(optionString)
5918        )
5919    );
5920    assert_eq!(
5921        unsafe { &(*(::std::ptr::null::<JavaVMOption>())).extraInfo as *const _ as usize },
5922        4usize,
5923        concat!(
5924            "Offset of field: ",
5925            stringify!(JavaVMOption),
5926            "::",
5927            stringify!(extraInfo)
5928        )
5929    );
5930}
5931#[repr(C)]
5932#[derive(Debug, Copy, Clone)]
5933pub struct JavaVMInitArgs {
5934    pub version: jint,
5935    pub nOptions: jint,
5936    pub options: *mut JavaVMOption,
5937    pub ignoreUnrecognized: jboolean,
5938}
5939#[test]
5940fn bindgen_test_layout_JavaVMInitArgs() {
5941    assert_eq!(
5942        ::std::mem::size_of::<JavaVMInitArgs>(),
5943        16usize,
5944        concat!("Size of: ", stringify!(JavaVMInitArgs))
5945    );
5946    assert_eq!(
5947        ::std::mem::align_of::<JavaVMInitArgs>(),
5948        4usize,
5949        concat!("Alignment of ", stringify!(JavaVMInitArgs))
5950    );
5951    assert_eq!(
5952        unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).version as *const _ as usize },
5953        0usize,
5954        concat!(
5955            "Offset of field: ",
5956            stringify!(JavaVMInitArgs),
5957            "::",
5958            stringify!(version)
5959        )
5960    );
5961    assert_eq!(
5962        unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).nOptions as *const _ as usize },
5963        4usize,
5964        concat!(
5965            "Offset of field: ",
5966            stringify!(JavaVMInitArgs),
5967            "::",
5968            stringify!(nOptions)
5969        )
5970    );
5971    assert_eq!(
5972        unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).options as *const _ as usize },
5973        8usize,
5974        concat!(
5975            "Offset of field: ",
5976            stringify!(JavaVMInitArgs),
5977            "::",
5978            stringify!(options)
5979        )
5980    );
5981    assert_eq!(
5982        unsafe {
5983            &(*(::std::ptr::null::<JavaVMInitArgs>())).ignoreUnrecognized as *const _ as usize
5984        },
5985        12usize,
5986        concat!(
5987            "Offset of field: ",
5988            stringify!(JavaVMInitArgs),
5989            "::",
5990            stringify!(ignoreUnrecognized)
5991        )
5992    );
5993}
5994extern "C" {
5995    pub fn JNI_GetDefaultJavaVMInitArgs(arg1: *mut ::std::os::raw::c_void) -> jint;
5996}
5997extern "C" {
5998    pub fn JNI_CreateJavaVM(
5999        arg1: *mut *mut JavaVM,
6000        arg2: *mut *mut JNIEnv,
6001        arg3: *mut ::std::os::raw::c_void,
6002    ) -> jint;
6003}
6004extern "C" {
6005    pub fn JNI_GetCreatedJavaVMs(arg1: *mut *mut JavaVM, arg2: jsize, arg3: *mut jsize) -> jint;
6006}
6007extern "C" {
6008    pub fn JNI_OnLoad(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void) -> jint;
6009}
6010extern "C" {
6011    pub fn JNI_OnUnload(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void);
6012}
6013extern "C" {
6014    pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
6015}
6016pub const ANDROID_BITMAP_RESULT_SUCCESS: _bindgen_ty_2 = 0;
6017pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: _bindgen_ty_2 = -1;
6018pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: _bindgen_ty_2 = -2;
6019pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: _bindgen_ty_2 = -3;
6020pub type _bindgen_ty_2 = i32;
6021pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = 0;
6022pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = 1;
6023pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = 4;
6024pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = 7;
6025pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = 8;
6026pub type AndroidBitmapFormat = u32;
6027#[repr(C)]
6028#[derive(Debug, Copy, Clone)]
6029pub struct AndroidBitmapInfo {
6030    pub width: u32,
6031    pub height: u32,
6032    pub stride: u32,
6033    pub format: i32,
6034    pub flags: u32,
6035}
6036#[test]
6037fn bindgen_test_layout_AndroidBitmapInfo() {
6038    assert_eq!(
6039        ::std::mem::size_of::<AndroidBitmapInfo>(),
6040        20usize,
6041        concat!("Size of: ", stringify!(AndroidBitmapInfo))
6042    );
6043    assert_eq!(
6044        ::std::mem::align_of::<AndroidBitmapInfo>(),
6045        4usize,
6046        concat!("Alignment of ", stringify!(AndroidBitmapInfo))
6047    );
6048    assert_eq!(
6049        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).width as *const _ as usize },
6050        0usize,
6051        concat!(
6052            "Offset of field: ",
6053            stringify!(AndroidBitmapInfo),
6054            "::",
6055            stringify!(width)
6056        )
6057    );
6058    assert_eq!(
6059        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).height as *const _ as usize },
6060        4usize,
6061        concat!(
6062            "Offset of field: ",
6063            stringify!(AndroidBitmapInfo),
6064            "::",
6065            stringify!(height)
6066        )
6067    );
6068    assert_eq!(
6069        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).stride as *const _ as usize },
6070        8usize,
6071        concat!(
6072            "Offset of field: ",
6073            stringify!(AndroidBitmapInfo),
6074            "::",
6075            stringify!(stride)
6076        )
6077    );
6078    assert_eq!(
6079        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).format as *const _ as usize },
6080        12usize,
6081        concat!(
6082            "Offset of field: ",
6083            stringify!(AndroidBitmapInfo),
6084            "::",
6085            stringify!(format)
6086        )
6087    );
6088    assert_eq!(
6089        unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).flags as *const _ as usize },
6090        16usize,
6091        concat!(
6092            "Offset of field: ",
6093            stringify!(AndroidBitmapInfo),
6094            "::",
6095            stringify!(flags)
6096        )
6097    );
6098}
6099extern "C" {
6100    pub fn AndroidBitmap_getInfo(
6101        env: *mut JNIEnv,
6102        jbitmap: jobject,
6103        info: *mut AndroidBitmapInfo,
6104    ) -> ::std::os::raw::c_int;
6105}
6106extern "C" {
6107    pub fn AndroidBitmap_lockPixels(
6108        env: *mut JNIEnv,
6109        jbitmap: jobject,
6110        addrPtr: *mut *mut ::std::os::raw::c_void,
6111    ) -> ::std::os::raw::c_int;
6112}
6113extern "C" {
6114    pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
6115}
6116#[repr(C)]
6117#[derive(Debug, Copy, Clone)]
6118pub struct AChoreographer {
6119    _unused: [u8; 0],
6120}
6121pub type AChoreographer_frameCallback = ::std::option::Option<
6122    unsafe extern "C" fn(frameTimeNanos: ::std::os::raw::c_long, data: *mut ::std::os::raw::c_void),
6123>;
6124pub type AChoreographer_frameCallback64 = ::std::option::Option<
6125    unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
6126>;
6127extern "C" {
6128    pub fn AChoreographer_getInstance() -> *mut AChoreographer;
6129}
6130extern "C" {
6131    pub fn AChoreographer_postFrameCallback(
6132        choreographer: *mut AChoreographer,
6133        callback: AChoreographer_frameCallback,
6134        data: *mut ::std::os::raw::c_void,
6135    );
6136}
6137extern "C" {
6138    pub fn AChoreographer_postFrameCallbackDelayed(
6139        choreographer: *mut AChoreographer,
6140        callback: AChoreographer_frameCallback,
6141        data: *mut ::std::os::raw::c_void,
6142        delayMillis: ::std::os::raw::c_long,
6143    );
6144}
6145extern "C" {
6146    pub fn AChoreographer_postFrameCallback64(
6147        chroreographer: *mut AChoreographer,
6148        callback: AChoreographer_frameCallback64,
6149        data: *mut ::std::os::raw::c_void,
6150    );
6151}
6152extern "C" {
6153    pub fn AChoreographer_postFrameCallbackDelayed64(
6154        choreographer: *mut AChoreographer,
6155        callback: AChoreographer_frameCallback64,
6156        data: *mut ::std::os::raw::c_void,
6157        delayMillis: u32,
6158    );
6159}
6160#[repr(C)]
6161#[derive(Debug, Copy, Clone)]
6162pub struct AConfiguration {
6163    _unused: [u8; 0],
6164}
6165pub const ACONFIGURATION_ORIENTATION_ANY: _bindgen_ty_3 = 0;
6166pub const ACONFIGURATION_ORIENTATION_PORT: _bindgen_ty_3 = 1;
6167pub const ACONFIGURATION_ORIENTATION_LAND: _bindgen_ty_3 = 2;
6168pub const ACONFIGURATION_ORIENTATION_SQUARE: _bindgen_ty_3 = 3;
6169pub const ACONFIGURATION_TOUCHSCREEN_ANY: _bindgen_ty_3 = 0;
6170pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: _bindgen_ty_3 = 1;
6171pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: _bindgen_ty_3 = 2;
6172pub const ACONFIGURATION_TOUCHSCREEN_FINGER: _bindgen_ty_3 = 3;
6173pub const ACONFIGURATION_DENSITY_DEFAULT: _bindgen_ty_3 = 0;
6174pub const ACONFIGURATION_DENSITY_LOW: _bindgen_ty_3 = 120;
6175pub const ACONFIGURATION_DENSITY_MEDIUM: _bindgen_ty_3 = 160;
6176pub const ACONFIGURATION_DENSITY_TV: _bindgen_ty_3 = 213;
6177pub const ACONFIGURATION_DENSITY_HIGH: _bindgen_ty_3 = 240;
6178pub const ACONFIGURATION_DENSITY_XHIGH: _bindgen_ty_3 = 320;
6179pub const ACONFIGURATION_DENSITY_XXHIGH: _bindgen_ty_3 = 480;
6180pub const ACONFIGURATION_DENSITY_XXXHIGH: _bindgen_ty_3 = 640;
6181pub const ACONFIGURATION_DENSITY_ANY: _bindgen_ty_3 = 65534;
6182pub const ACONFIGURATION_DENSITY_NONE: _bindgen_ty_3 = 65535;
6183pub const ACONFIGURATION_KEYBOARD_ANY: _bindgen_ty_3 = 0;
6184pub const ACONFIGURATION_KEYBOARD_NOKEYS: _bindgen_ty_3 = 1;
6185pub const ACONFIGURATION_KEYBOARD_QWERTY: _bindgen_ty_3 = 2;
6186pub const ACONFIGURATION_KEYBOARD_12KEY: _bindgen_ty_3 = 3;
6187pub const ACONFIGURATION_NAVIGATION_ANY: _bindgen_ty_3 = 0;
6188pub const ACONFIGURATION_NAVIGATION_NONAV: _bindgen_ty_3 = 1;
6189pub const ACONFIGURATION_NAVIGATION_DPAD: _bindgen_ty_3 = 2;
6190pub const ACONFIGURATION_NAVIGATION_TRACKBALL: _bindgen_ty_3 = 3;
6191pub const ACONFIGURATION_NAVIGATION_WHEEL: _bindgen_ty_3 = 4;
6192pub const ACONFIGURATION_KEYSHIDDEN_ANY: _bindgen_ty_3 = 0;
6193pub const ACONFIGURATION_KEYSHIDDEN_NO: _bindgen_ty_3 = 1;
6194pub const ACONFIGURATION_KEYSHIDDEN_YES: _bindgen_ty_3 = 2;
6195pub const ACONFIGURATION_KEYSHIDDEN_SOFT: _bindgen_ty_3 = 3;
6196pub const ACONFIGURATION_NAVHIDDEN_ANY: _bindgen_ty_3 = 0;
6197pub const ACONFIGURATION_NAVHIDDEN_NO: _bindgen_ty_3 = 1;
6198pub const ACONFIGURATION_NAVHIDDEN_YES: _bindgen_ty_3 = 2;
6199pub const ACONFIGURATION_SCREENSIZE_ANY: _bindgen_ty_3 = 0;
6200pub const ACONFIGURATION_SCREENSIZE_SMALL: _bindgen_ty_3 = 1;
6201pub const ACONFIGURATION_SCREENSIZE_NORMAL: _bindgen_ty_3 = 2;
6202pub const ACONFIGURATION_SCREENSIZE_LARGE: _bindgen_ty_3 = 3;
6203pub const ACONFIGURATION_SCREENSIZE_XLARGE: _bindgen_ty_3 = 4;
6204pub const ACONFIGURATION_SCREENLONG_ANY: _bindgen_ty_3 = 0;
6205pub const ACONFIGURATION_SCREENLONG_NO: _bindgen_ty_3 = 1;
6206pub const ACONFIGURATION_SCREENLONG_YES: _bindgen_ty_3 = 2;
6207pub const ACONFIGURATION_SCREENROUND_ANY: _bindgen_ty_3 = 0;
6208pub const ACONFIGURATION_SCREENROUND_NO: _bindgen_ty_3 = 1;
6209pub const ACONFIGURATION_SCREENROUND_YES: _bindgen_ty_3 = 2;
6210pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: _bindgen_ty_3 = 0;
6211pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: _bindgen_ty_3 = 1;
6212pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: _bindgen_ty_3 = 2;
6213pub const ACONFIGURATION_HDR_ANY: _bindgen_ty_3 = 0;
6214pub const ACONFIGURATION_HDR_NO: _bindgen_ty_3 = 1;
6215pub const ACONFIGURATION_HDR_YES: _bindgen_ty_3 = 2;
6216pub const ACONFIGURATION_UI_MODE_TYPE_ANY: _bindgen_ty_3 = 0;
6217pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: _bindgen_ty_3 = 1;
6218pub const ACONFIGURATION_UI_MODE_TYPE_DESK: _bindgen_ty_3 = 2;
6219pub const ACONFIGURATION_UI_MODE_TYPE_CAR: _bindgen_ty_3 = 3;
6220pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: _bindgen_ty_3 = 4;
6221pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: _bindgen_ty_3 = 5;
6222pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: _bindgen_ty_3 = 6;
6223pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: _bindgen_ty_3 = 7;
6224pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: _bindgen_ty_3 = 0;
6225pub const ACONFIGURATION_UI_MODE_NIGHT_NO: _bindgen_ty_3 = 1;
6226pub const ACONFIGURATION_UI_MODE_NIGHT_YES: _bindgen_ty_3 = 2;
6227pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: _bindgen_ty_3 = 0;
6228pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: _bindgen_ty_3 = 0;
6229pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: _bindgen_ty_3 = 0;
6230pub const ACONFIGURATION_LAYOUTDIR_ANY: _bindgen_ty_3 = 0;
6231pub const ACONFIGURATION_LAYOUTDIR_LTR: _bindgen_ty_3 = 1;
6232pub const ACONFIGURATION_LAYOUTDIR_RTL: _bindgen_ty_3 = 2;
6233pub const ACONFIGURATION_MCC: _bindgen_ty_3 = 1;
6234pub const ACONFIGURATION_MNC: _bindgen_ty_3 = 2;
6235pub const ACONFIGURATION_LOCALE: _bindgen_ty_3 = 4;
6236pub const ACONFIGURATION_TOUCHSCREEN: _bindgen_ty_3 = 8;
6237pub const ACONFIGURATION_KEYBOARD: _bindgen_ty_3 = 16;
6238pub const ACONFIGURATION_KEYBOARD_HIDDEN: _bindgen_ty_3 = 32;
6239pub const ACONFIGURATION_NAVIGATION: _bindgen_ty_3 = 64;
6240pub const ACONFIGURATION_ORIENTATION: _bindgen_ty_3 = 128;
6241pub const ACONFIGURATION_DENSITY: _bindgen_ty_3 = 256;
6242pub const ACONFIGURATION_SCREEN_SIZE: _bindgen_ty_3 = 512;
6243pub const ACONFIGURATION_VERSION: _bindgen_ty_3 = 1024;
6244pub const ACONFIGURATION_SCREEN_LAYOUT: _bindgen_ty_3 = 2048;
6245pub const ACONFIGURATION_UI_MODE: _bindgen_ty_3 = 4096;
6246pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: _bindgen_ty_3 = 8192;
6247pub const ACONFIGURATION_LAYOUTDIR: _bindgen_ty_3 = 16384;
6248pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_3 = 32768;
6249pub const ACONFIGURATION_COLOR_MODE: _bindgen_ty_3 = 65536;
6250pub const ACONFIGURATION_MNC_ZERO: _bindgen_ty_3 = 65535;
6251pub type _bindgen_ty_3 = u32;
6252extern "C" {
6253    pub fn AConfiguration_new() -> *mut AConfiguration;
6254}
6255extern "C" {
6256    pub fn AConfiguration_delete(config: *mut AConfiguration);
6257}
6258extern "C" {
6259    pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
6260}
6261extern "C" {
6262    pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
6263}
6264extern "C" {
6265    pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
6266}
6267extern "C" {
6268    pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
6269}
6270extern "C" {
6271    pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
6272}
6273extern "C" {
6274    pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
6275}
6276extern "C" {
6277    pub fn AConfiguration_getLanguage(
6278        config: *mut AConfiguration,
6279        outLanguage: *mut ::std::os::raw::c_char,
6280    );
6281}
6282extern "C" {
6283    pub fn AConfiguration_setLanguage(
6284        config: *mut AConfiguration,
6285        language: *const ::std::os::raw::c_char,
6286    );
6287}
6288extern "C" {
6289    pub fn AConfiguration_getCountry(
6290        config: *mut AConfiguration,
6291        outCountry: *mut ::std::os::raw::c_char,
6292    );
6293}
6294extern "C" {
6295    pub fn AConfiguration_setCountry(
6296        config: *mut AConfiguration,
6297        country: *const ::std::os::raw::c_char,
6298    );
6299}
6300extern "C" {
6301    pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
6302}
6303extern "C" {
6304    pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
6305}
6306extern "C" {
6307    pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
6308}
6309extern "C" {
6310    pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
6311}
6312extern "C" {
6313    pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
6314}
6315extern "C" {
6316    pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
6317}
6318extern "C" {
6319    pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
6320}
6321extern "C" {
6322    pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
6323}
6324extern "C" {
6325    pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
6326}
6327extern "C" {
6328    pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
6329}
6330extern "C" {
6331    pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
6332}
6333extern "C" {
6334    pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
6335}
6336extern "C" {
6337    pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
6338}
6339extern "C" {
6340    pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
6341}
6342extern "C" {
6343    pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
6344}
6345extern "C" {
6346    pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
6347}
6348extern "C" {
6349    pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
6350}
6351extern "C" {
6352    pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
6353}
6354extern "C" {
6355    pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
6356}
6357extern "C" {
6358    pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
6359}
6360extern "C" {
6361    pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
6362}
6363extern "C" {
6364    pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
6365}
6366extern "C" {
6367    pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
6368}
6369extern "C" {
6370    pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
6371}
6372extern "C" {
6373    pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
6374}
6375extern "C" {
6376    pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
6377}
6378extern "C" {
6379    pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
6380}
6381extern "C" {
6382    pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
6383}
6384extern "C" {
6385    pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
6386}
6387extern "C" {
6388    pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
6389}
6390extern "C" {
6391    pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
6392}
6393extern "C" {
6394    pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
6395}
6396extern "C" {
6397    pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
6398}
6399extern "C" {
6400    pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
6401}
6402extern "C" {
6403    pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
6404}
6405extern "C" {
6406    pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
6407}
6408extern "C" {
6409    pub fn AConfiguration_isBetterThan(
6410        base: *mut AConfiguration,
6411        test: *mut AConfiguration,
6412        requested: *mut AConfiguration,
6413    ) -> i32;
6414}
6415#[repr(C)]
6416#[derive(Debug, Copy, Clone)]
6417pub struct imaxdiv_t {
6418    pub quot: intmax_t,
6419    pub rem: intmax_t,
6420}
6421#[test]
6422fn bindgen_test_layout_imaxdiv_t() {
6423    assert_eq!(
6424        ::std::mem::size_of::<imaxdiv_t>(),
6425        16usize,
6426        concat!("Size of: ", stringify!(imaxdiv_t))
6427    );
6428    assert_eq!(
6429        ::std::mem::align_of::<imaxdiv_t>(),
6430        8usize,
6431        concat!("Alignment of ", stringify!(imaxdiv_t))
6432    );
6433    assert_eq!(
6434        unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).quot as *const _ as usize },
6435        0usize,
6436        concat!(
6437            "Offset of field: ",
6438            stringify!(imaxdiv_t),
6439            "::",
6440            stringify!(quot)
6441        )
6442    );
6443    assert_eq!(
6444        unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).rem as *const _ as usize },
6445        8usize,
6446        concat!(
6447            "Offset of field: ",
6448            stringify!(imaxdiv_t),
6449            "::",
6450            stringify!(rem)
6451        )
6452    );
6453}
6454extern "C" {
6455    pub fn imaxabs(__i: intmax_t) -> intmax_t;
6456}
6457extern "C" {
6458    pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
6459}
6460extern "C" {
6461    pub fn strtoimax(
6462        __s: *const ::std::os::raw::c_char,
6463        __end_ptr: *mut *mut ::std::os::raw::c_char,
6464        __base: ::std::os::raw::c_int,
6465    ) -> intmax_t;
6466}
6467extern "C" {
6468    pub fn strtoumax(
6469        __s: *const ::std::os::raw::c_char,
6470        __end_ptr: *mut *mut ::std::os::raw::c_char,
6471        __base: ::std::os::raw::c_int,
6472    ) -> uintmax_t;
6473}
6474extern "C" {
6475    pub fn wcstoimax(
6476        __s: *const wchar_t,
6477        __end_ptr: *mut *mut wchar_t,
6478        __base: ::std::os::raw::c_int,
6479    ) -> intmax_t;
6480}
6481extern "C" {
6482    pub fn wcstoumax(
6483        __s: *const wchar_t,
6484        __end_ptr: *mut *mut wchar_t,
6485        __base: ::std::os::raw::c_int,
6486    ) -> uintmax_t;
6487}
6488pub const ADataSpace_ADATASPACE_UNKNOWN: ADataSpace = 0;
6489pub const ADataSpace_ADATASPACE_SCRGB_LINEAR: ADataSpace = 406913024;
6490pub const ADataSpace_ADATASPACE_SRGB: ADataSpace = 142671872;
6491pub const ADataSpace_ADATASPACE_SCRGB: ADataSpace = 411107328;
6492pub const ADataSpace_ADATASPACE_DISPLAY_P3: ADataSpace = 143261696;
6493pub const ADataSpace_ADATASPACE_BT2020_PQ: ADataSpace = 163971072;
6494pub type ADataSpace = u32;
6495pub const ANDROID_DLEXT_RESERVED_ADDRESS: _bindgen_ty_4 = 1;
6496pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: _bindgen_ty_4 = 2;
6497pub const ANDROID_DLEXT_WRITE_RELRO: _bindgen_ty_4 = 4;
6498pub const ANDROID_DLEXT_USE_RELRO: _bindgen_ty_4 = 8;
6499pub const ANDROID_DLEXT_USE_LIBRARY_FD: _bindgen_ty_4 = 16;
6500pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: _bindgen_ty_4 = 32;
6501pub const ANDROID_DLEXT_FORCE_LOAD: _bindgen_ty_4 = 64;
6502pub const ANDROID_DLEXT_USE_NAMESPACE: _bindgen_ty_4 = 512;
6503pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: _bindgen_ty_4 = 1024;
6504pub const ANDROID_DLEXT_VALID_FLAG_BITS: _bindgen_ty_4 = 1663;
6505pub type _bindgen_ty_4 = u32;
6506#[repr(C)]
6507#[derive(Debug, Copy, Clone)]
6508pub struct android_namespace_t {
6509    _unused: [u8; 0],
6510}
6511#[repr(C)]
6512#[derive(Debug, Copy, Clone)]
6513pub struct android_dlextinfo {
6514    pub flags: u64,
6515    pub reserved_addr: *mut ::std::os::raw::c_void,
6516    pub reserved_size: usize,
6517    pub relro_fd: ::std::os::raw::c_int,
6518    pub library_fd: ::std::os::raw::c_int,
6519    pub library_fd_offset: off64_t,
6520    pub library_namespace: *mut android_namespace_t,
6521    pub __bindgen_padding_0: u32,
6522}
6523#[test]
6524fn bindgen_test_layout_android_dlextinfo() {
6525    assert_eq!(
6526        ::std::mem::size_of::<android_dlextinfo>(),
6527        40usize,
6528        concat!("Size of: ", stringify!(android_dlextinfo))
6529    );
6530    assert_eq!(
6531        ::std::mem::align_of::<android_dlextinfo>(),
6532        8usize,
6533        concat!("Alignment of ", stringify!(android_dlextinfo))
6534    );
6535    assert_eq!(
6536        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).flags as *const _ as usize },
6537        0usize,
6538        concat!(
6539            "Offset of field: ",
6540            stringify!(android_dlextinfo),
6541            "::",
6542            stringify!(flags)
6543        )
6544    );
6545    assert_eq!(
6546        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_addr as *const _ as usize },
6547        8usize,
6548        concat!(
6549            "Offset of field: ",
6550            stringify!(android_dlextinfo),
6551            "::",
6552            stringify!(reserved_addr)
6553        )
6554    );
6555    assert_eq!(
6556        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_size as *const _ as usize },
6557        12usize,
6558        concat!(
6559            "Offset of field: ",
6560            stringify!(android_dlextinfo),
6561            "::",
6562            stringify!(reserved_size)
6563        )
6564    );
6565    assert_eq!(
6566        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).relro_fd as *const _ as usize },
6567        16usize,
6568        concat!(
6569            "Offset of field: ",
6570            stringify!(android_dlextinfo),
6571            "::",
6572            stringify!(relro_fd)
6573        )
6574    );
6575    assert_eq!(
6576        unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).library_fd as *const _ as usize },
6577        20usize,
6578        concat!(
6579            "Offset of field: ",
6580            stringify!(android_dlextinfo),
6581            "::",
6582            stringify!(library_fd)
6583        )
6584    );
6585    assert_eq!(
6586        unsafe {
6587            &(*(::std::ptr::null::<android_dlextinfo>())).library_fd_offset as *const _ as usize
6588        },
6589        24usize,
6590        concat!(
6591            "Offset of field: ",
6592            stringify!(android_dlextinfo),
6593            "::",
6594            stringify!(library_fd_offset)
6595        )
6596    );
6597    assert_eq!(
6598        unsafe {
6599            &(*(::std::ptr::null::<android_dlextinfo>())).library_namespace as *const _ as usize
6600        },
6601        32usize,
6602        concat!(
6603            "Offset of field: ",
6604            stringify!(android_dlextinfo),
6605            "::",
6606            stringify!(library_namespace)
6607        )
6608    );
6609}
6610extern "C" {
6611    pub fn android_dlopen_ext(
6612        __filename: *const ::std::os::raw::c_char,
6613        __flags: ::std::os::raw::c_int,
6614        __info: *const android_dlextinfo,
6615    ) -> *mut ::std::os::raw::c_void;
6616}
6617#[repr(C)]
6618#[derive(Debug, Copy, Clone)]
6619pub struct ARect {
6620    pub left: i32,
6621    pub top: i32,
6622    pub right: i32,
6623    pub bottom: i32,
6624}
6625#[test]
6626fn bindgen_test_layout_ARect() {
6627    assert_eq!(
6628        ::std::mem::size_of::<ARect>(),
6629        16usize,
6630        concat!("Size of: ", stringify!(ARect))
6631    );
6632    assert_eq!(
6633        ::std::mem::align_of::<ARect>(),
6634        4usize,
6635        concat!("Alignment of ", stringify!(ARect))
6636    );
6637    assert_eq!(
6638        unsafe { &(*(::std::ptr::null::<ARect>())).left as *const _ as usize },
6639        0usize,
6640        concat!(
6641            "Offset of field: ",
6642            stringify!(ARect),
6643            "::",
6644            stringify!(left)
6645        )
6646    );
6647    assert_eq!(
6648        unsafe { &(*(::std::ptr::null::<ARect>())).top as *const _ as usize },
6649        4usize,
6650        concat!(
6651            "Offset of field: ",
6652            stringify!(ARect),
6653            "::",
6654            stringify!(top)
6655        )
6656    );
6657    assert_eq!(
6658        unsafe { &(*(::std::ptr::null::<ARect>())).right as *const _ as usize },
6659        8usize,
6660        concat!(
6661            "Offset of field: ",
6662            stringify!(ARect),
6663            "::",
6664            stringify!(right)
6665        )
6666    );
6667    assert_eq!(
6668        unsafe { &(*(::std::ptr::null::<ARect>())).bottom as *const _ as usize },
6669        12usize,
6670        concat!(
6671            "Offset of field: ",
6672            stringify!(ARect),
6673            "::",
6674            stringify!(bottom)
6675        )
6676    );
6677}
6678pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format = 1;
6679pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format = 2;
6680pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format = 3;
6681pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format = 4;
6682pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
6683    22;
6684pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
6685    43;
6686pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = 33;
6687pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = 48;
6688pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = 49;
6689pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
6690    50;
6691pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = 51;
6692pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
6693    52;
6694pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = 53;
6695pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format = 35;
6696pub type AHardwareBuffer_Format = u32;
6697pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_NEVER:
6698    AHardwareBuffer_UsageFlags = 0;
6699pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_RARELY:
6700    AHardwareBuffer_UsageFlags = 2;
6701pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN:
6702    AHardwareBuffer_UsageFlags = 3;
6703pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_MASK:
6704    AHardwareBuffer_UsageFlags = 15;
6705pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER:
6706    AHardwareBuffer_UsageFlags = 0;
6707pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY:
6708    AHardwareBuffer_UsageFlags = 32;
6709pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN:
6710    AHardwareBuffer_UsageFlags = 48;
6711pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK:
6712    AHardwareBuffer_UsageFlags = 240;
6713pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE:
6714    AHardwareBuffer_UsageFlags = 256;
6715pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER:
6716    AHardwareBuffer_UsageFlags = 512;
6717pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT:
6718    AHardwareBuffer_UsageFlags = 512;
6719pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY:
6720    AHardwareBuffer_UsageFlags = 2048;
6721pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT:
6722    AHardwareBuffer_UsageFlags = 16384;
6723pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VIDEO_ENCODE:
6724    AHardwareBuffer_UsageFlags = 65536;
6725pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA:
6726    AHardwareBuffer_UsageFlags = 8388608;
6727pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER:
6728    AHardwareBuffer_UsageFlags = 16777216;
6729pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP:
6730    AHardwareBuffer_UsageFlags = 33554432;
6731pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE:
6732    AHardwareBuffer_UsageFlags = 67108864;
6733pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
6734    268435456;
6735pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
6736    536870912;
6737pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
6738    1073741824;
6739pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
6740    2147483648;
6741pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
6742    281474976710656;
6743pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
6744    562949953421312;
6745pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
6746    1125899906842624;
6747pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
6748    2251799813685248;
6749pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
6750    4503599627370496;
6751pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
6752    9007199254740992;
6753pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
6754    18014398509481984;
6755pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
6756    36028797018963968;
6757pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
6758    72057594037927936;
6759pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
6760    144115188075855872;
6761pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
6762    288230376151711744;
6763pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
6764    576460752303423488;
6765pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
6766    1152921504606846976;
6767pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
6768    2305843009213693952;
6769pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
6770    4611686018427387904;
6771pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
6772    9223372036854775808;
6773pub type AHardwareBuffer_UsageFlags = u64;
6774#[repr(C)]
6775#[derive(Debug, Copy, Clone)]
6776pub struct AHardwareBuffer_Desc {
6777    pub width: u32,
6778    pub height: u32,
6779    pub layers: u32,
6780    pub format: u32,
6781    pub usage: u64,
6782    pub stride: u32,
6783    pub rfu0: u32,
6784    pub rfu1: u64,
6785}
6786#[test]
6787fn bindgen_test_layout_AHardwareBuffer_Desc() {
6788    assert_eq!(
6789        ::std::mem::size_of::<AHardwareBuffer_Desc>(),
6790        40usize,
6791        concat!("Size of: ", stringify!(AHardwareBuffer_Desc))
6792    );
6793    assert_eq!(
6794        ::std::mem::align_of::<AHardwareBuffer_Desc>(),
6795        8usize,
6796        concat!("Alignment of ", stringify!(AHardwareBuffer_Desc))
6797    );
6798    assert_eq!(
6799        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).width as *const _ as usize },
6800        0usize,
6801        concat!(
6802            "Offset of field: ",
6803            stringify!(AHardwareBuffer_Desc),
6804            "::",
6805            stringify!(width)
6806        )
6807    );
6808    assert_eq!(
6809        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).height as *const _ as usize },
6810        4usize,
6811        concat!(
6812            "Offset of field: ",
6813            stringify!(AHardwareBuffer_Desc),
6814            "::",
6815            stringify!(height)
6816        )
6817    );
6818    assert_eq!(
6819        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).layers as *const _ as usize },
6820        8usize,
6821        concat!(
6822            "Offset of field: ",
6823            stringify!(AHardwareBuffer_Desc),
6824            "::",
6825            stringify!(layers)
6826        )
6827    );
6828    assert_eq!(
6829        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).format as *const _ as usize },
6830        12usize,
6831        concat!(
6832            "Offset of field: ",
6833            stringify!(AHardwareBuffer_Desc),
6834            "::",
6835            stringify!(format)
6836        )
6837    );
6838    assert_eq!(
6839        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).usage as *const _ as usize },
6840        16usize,
6841        concat!(
6842            "Offset of field: ",
6843            stringify!(AHardwareBuffer_Desc),
6844            "::",
6845            stringify!(usage)
6846        )
6847    );
6848    assert_eq!(
6849        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).stride as *const _ as usize },
6850        24usize,
6851        concat!(
6852            "Offset of field: ",
6853            stringify!(AHardwareBuffer_Desc),
6854            "::",
6855            stringify!(stride)
6856        )
6857    );
6858    assert_eq!(
6859        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu0 as *const _ as usize },
6860        28usize,
6861        concat!(
6862            "Offset of field: ",
6863            stringify!(AHardwareBuffer_Desc),
6864            "::",
6865            stringify!(rfu0)
6866        )
6867    );
6868    assert_eq!(
6869        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu1 as *const _ as usize },
6870        32usize,
6871        concat!(
6872            "Offset of field: ",
6873            stringify!(AHardwareBuffer_Desc),
6874            "::",
6875            stringify!(rfu1)
6876        )
6877    );
6878}
6879#[repr(C)]
6880#[derive(Debug, Copy, Clone)]
6881pub struct AHardwareBuffer_Plane {
6882    pub data: *mut ::std::os::raw::c_void,
6883    pub pixelStride: u32,
6884    pub rowStride: u32,
6885}
6886#[test]
6887fn bindgen_test_layout_AHardwareBuffer_Plane() {
6888    assert_eq!(
6889        ::std::mem::size_of::<AHardwareBuffer_Plane>(),
6890        12usize,
6891        concat!("Size of: ", stringify!(AHardwareBuffer_Plane))
6892    );
6893    assert_eq!(
6894        ::std::mem::align_of::<AHardwareBuffer_Plane>(),
6895        4usize,
6896        concat!("Alignment of ", stringify!(AHardwareBuffer_Plane))
6897    );
6898    assert_eq!(
6899        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).data as *const _ as usize },
6900        0usize,
6901        concat!(
6902            "Offset of field: ",
6903            stringify!(AHardwareBuffer_Plane),
6904            "::",
6905            stringify!(data)
6906        )
6907    );
6908    assert_eq!(
6909        unsafe {
6910            &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).pixelStride as *const _ as usize
6911        },
6912        4usize,
6913        concat!(
6914            "Offset of field: ",
6915            stringify!(AHardwareBuffer_Plane),
6916            "::",
6917            stringify!(pixelStride)
6918        )
6919    );
6920    assert_eq!(
6921        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).rowStride as *const _ as usize },
6922        8usize,
6923        concat!(
6924            "Offset of field: ",
6925            stringify!(AHardwareBuffer_Plane),
6926            "::",
6927            stringify!(rowStride)
6928        )
6929    );
6930}
6931#[repr(C)]
6932#[derive(Debug, Copy, Clone)]
6933pub struct AHardwareBuffer_Planes {
6934    pub planeCount: u32,
6935    pub planes: [AHardwareBuffer_Plane; 4usize],
6936}
6937#[test]
6938fn bindgen_test_layout_AHardwareBuffer_Planes() {
6939    assert_eq!(
6940        ::std::mem::size_of::<AHardwareBuffer_Planes>(),
6941        52usize,
6942        concat!("Size of: ", stringify!(AHardwareBuffer_Planes))
6943    );
6944    assert_eq!(
6945        ::std::mem::align_of::<AHardwareBuffer_Planes>(),
6946        4usize,
6947        concat!("Alignment of ", stringify!(AHardwareBuffer_Planes))
6948    );
6949    assert_eq!(
6950        unsafe {
6951            &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planeCount as *const _ as usize
6952        },
6953        0usize,
6954        concat!(
6955            "Offset of field: ",
6956            stringify!(AHardwareBuffer_Planes),
6957            "::",
6958            stringify!(planeCount)
6959        )
6960    );
6961    assert_eq!(
6962        unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planes as *const _ as usize },
6963        4usize,
6964        concat!(
6965            "Offset of field: ",
6966            stringify!(AHardwareBuffer_Planes),
6967            "::",
6968            stringify!(planes)
6969        )
6970    );
6971}
6972#[repr(C)]
6973#[derive(Debug, Copy, Clone)]
6974pub struct AHardwareBuffer {
6975    _unused: [u8; 0],
6976}
6977extern "C" {
6978    pub fn AHardwareBuffer_allocate(
6979        desc: *const AHardwareBuffer_Desc,
6980        outBuffer: *mut *mut AHardwareBuffer,
6981    ) -> ::std::os::raw::c_int;
6982}
6983extern "C" {
6984    pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
6985}
6986extern "C" {
6987    pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
6988}
6989extern "C" {
6990    pub fn AHardwareBuffer_describe(
6991        buffer: *const AHardwareBuffer,
6992        outDesc: *mut AHardwareBuffer_Desc,
6993    );
6994}
6995extern "C" {
6996    pub fn AHardwareBuffer_lock(
6997        buffer: *mut AHardwareBuffer,
6998        usage: u64,
6999        fence: i32,
7000        rect: *const ARect,
7001        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
7002    ) -> ::std::os::raw::c_int;
7003}
7004extern "C" {
7005    pub fn AHardwareBuffer_lockPlanes(
7006        buffer: *mut AHardwareBuffer,
7007        usage: u64,
7008        fence: i32,
7009        rect: *const ARect,
7010        outPlanes: *mut AHardwareBuffer_Planes,
7011    ) -> ::std::os::raw::c_int;
7012}
7013extern "C" {
7014    pub fn AHardwareBuffer_unlock(
7015        buffer: *mut AHardwareBuffer,
7016        fence: *mut i32,
7017    ) -> ::std::os::raw::c_int;
7018}
7019extern "C" {
7020    pub fn AHardwareBuffer_sendHandleToUnixSocket(
7021        buffer: *const AHardwareBuffer,
7022        socketFd: ::std::os::raw::c_int,
7023    ) -> ::std::os::raw::c_int;
7024}
7025extern "C" {
7026    pub fn AHardwareBuffer_recvHandleFromUnixSocket(
7027        socketFd: ::std::os::raw::c_int,
7028        outBuffer: *mut *mut AHardwareBuffer,
7029    ) -> ::std::os::raw::c_int;
7030}
7031extern "C" {
7032    pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
7033}
7034extern "C" {
7035    pub fn AHardwareBuffer_lockAndGetInfo(
7036        buffer: *mut AHardwareBuffer,
7037        usage: u64,
7038        fence: i32,
7039        rect: *const ARect,
7040        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
7041        outBytesPerPixel: *mut i32,
7042        outBytesPerStride: *mut i32,
7043    ) -> ::std::os::raw::c_int;
7044}
7045extern "C" {
7046    pub fn AHardwareBuffer_fromHardwareBuffer(
7047        env: *mut JNIEnv,
7048        hardwareBufferObj: jobject,
7049    ) -> *mut AHardwareBuffer;
7050}
7051extern "C" {
7052    pub fn AHardwareBuffer_toHardwareBuffer(
7053        env: *mut JNIEnv,
7054        hardwareBuffer: *mut AHardwareBuffer,
7055    ) -> jobject;
7056}
7057pub const AKEYCODE_UNKNOWN: _bindgen_ty_5 = 0;
7058pub const AKEYCODE_SOFT_LEFT: _bindgen_ty_5 = 1;
7059pub const AKEYCODE_SOFT_RIGHT: _bindgen_ty_5 = 2;
7060pub const AKEYCODE_HOME: _bindgen_ty_5 = 3;
7061pub const AKEYCODE_BACK: _bindgen_ty_5 = 4;
7062pub const AKEYCODE_CALL: _bindgen_ty_5 = 5;
7063pub const AKEYCODE_ENDCALL: _bindgen_ty_5 = 6;
7064pub const AKEYCODE_0: _bindgen_ty_5 = 7;
7065pub const AKEYCODE_1: _bindgen_ty_5 = 8;
7066pub const AKEYCODE_2: _bindgen_ty_5 = 9;
7067pub const AKEYCODE_3: _bindgen_ty_5 = 10;
7068pub const AKEYCODE_4: _bindgen_ty_5 = 11;
7069pub const AKEYCODE_5: _bindgen_ty_5 = 12;
7070pub const AKEYCODE_6: _bindgen_ty_5 = 13;
7071pub const AKEYCODE_7: _bindgen_ty_5 = 14;
7072pub const AKEYCODE_8: _bindgen_ty_5 = 15;
7073pub const AKEYCODE_9: _bindgen_ty_5 = 16;
7074pub const AKEYCODE_STAR: _bindgen_ty_5 = 17;
7075pub const AKEYCODE_POUND: _bindgen_ty_5 = 18;
7076pub const AKEYCODE_DPAD_UP: _bindgen_ty_5 = 19;
7077pub const AKEYCODE_DPAD_DOWN: _bindgen_ty_5 = 20;
7078pub const AKEYCODE_DPAD_LEFT: _bindgen_ty_5 = 21;
7079pub const AKEYCODE_DPAD_RIGHT: _bindgen_ty_5 = 22;
7080pub const AKEYCODE_DPAD_CENTER: _bindgen_ty_5 = 23;
7081pub const AKEYCODE_VOLUME_UP: _bindgen_ty_5 = 24;
7082pub const AKEYCODE_VOLUME_DOWN: _bindgen_ty_5 = 25;
7083pub const AKEYCODE_POWER: _bindgen_ty_5 = 26;
7084pub const AKEYCODE_CAMERA: _bindgen_ty_5 = 27;
7085pub const AKEYCODE_CLEAR: _bindgen_ty_5 = 28;
7086pub const AKEYCODE_A: _bindgen_ty_5 = 29;
7087pub const AKEYCODE_B: _bindgen_ty_5 = 30;
7088pub const AKEYCODE_C: _bindgen_ty_5 = 31;
7089pub const AKEYCODE_D: _bindgen_ty_5 = 32;
7090pub const AKEYCODE_E: _bindgen_ty_5 = 33;
7091pub const AKEYCODE_F: _bindgen_ty_5 = 34;
7092pub const AKEYCODE_G: _bindgen_ty_5 = 35;
7093pub const AKEYCODE_H: _bindgen_ty_5 = 36;
7094pub const AKEYCODE_I: _bindgen_ty_5 = 37;
7095pub const AKEYCODE_J: _bindgen_ty_5 = 38;
7096pub const AKEYCODE_K: _bindgen_ty_5 = 39;
7097pub const AKEYCODE_L: _bindgen_ty_5 = 40;
7098pub const AKEYCODE_M: _bindgen_ty_5 = 41;
7099pub const AKEYCODE_N: _bindgen_ty_5 = 42;
7100pub const AKEYCODE_O: _bindgen_ty_5 = 43;
7101pub const AKEYCODE_P: _bindgen_ty_5 = 44;
7102pub const AKEYCODE_Q: _bindgen_ty_5 = 45;
7103pub const AKEYCODE_R: _bindgen_ty_5 = 46;
7104pub const AKEYCODE_S: _bindgen_ty_5 = 47;
7105pub const AKEYCODE_T: _bindgen_ty_5 = 48;
7106pub const AKEYCODE_U: _bindgen_ty_5 = 49;
7107pub const AKEYCODE_V: _bindgen_ty_5 = 50;
7108pub const AKEYCODE_W: _bindgen_ty_5 = 51;
7109pub const AKEYCODE_X: _bindgen_ty_5 = 52;
7110pub const AKEYCODE_Y: _bindgen_ty_5 = 53;
7111pub const AKEYCODE_Z: _bindgen_ty_5 = 54;
7112pub const AKEYCODE_COMMA: _bindgen_ty_5 = 55;
7113pub const AKEYCODE_PERIOD: _bindgen_ty_5 = 56;
7114pub const AKEYCODE_ALT_LEFT: _bindgen_ty_5 = 57;
7115pub const AKEYCODE_ALT_RIGHT: _bindgen_ty_5 = 58;
7116pub const AKEYCODE_SHIFT_LEFT: _bindgen_ty_5 = 59;
7117pub const AKEYCODE_SHIFT_RIGHT: _bindgen_ty_5 = 60;
7118pub const AKEYCODE_TAB: _bindgen_ty_5 = 61;
7119pub const AKEYCODE_SPACE: _bindgen_ty_5 = 62;
7120pub const AKEYCODE_SYM: _bindgen_ty_5 = 63;
7121pub const AKEYCODE_EXPLORER: _bindgen_ty_5 = 64;
7122pub const AKEYCODE_ENVELOPE: _bindgen_ty_5 = 65;
7123pub const AKEYCODE_ENTER: _bindgen_ty_5 = 66;
7124pub const AKEYCODE_DEL: _bindgen_ty_5 = 67;
7125pub const AKEYCODE_GRAVE: _bindgen_ty_5 = 68;
7126pub const AKEYCODE_MINUS: _bindgen_ty_5 = 69;
7127pub const AKEYCODE_EQUALS: _bindgen_ty_5 = 70;
7128pub const AKEYCODE_LEFT_BRACKET: _bindgen_ty_5 = 71;
7129pub const AKEYCODE_RIGHT_BRACKET: _bindgen_ty_5 = 72;
7130pub const AKEYCODE_BACKSLASH: _bindgen_ty_5 = 73;
7131pub const AKEYCODE_SEMICOLON: _bindgen_ty_5 = 74;
7132pub const AKEYCODE_APOSTROPHE: _bindgen_ty_5 = 75;
7133pub const AKEYCODE_SLASH: _bindgen_ty_5 = 76;
7134pub const AKEYCODE_AT: _bindgen_ty_5 = 77;
7135pub const AKEYCODE_NUM: _bindgen_ty_5 = 78;
7136pub const AKEYCODE_HEADSETHOOK: _bindgen_ty_5 = 79;
7137pub const AKEYCODE_FOCUS: _bindgen_ty_5 = 80;
7138pub const AKEYCODE_PLUS: _bindgen_ty_5 = 81;
7139pub const AKEYCODE_MENU: _bindgen_ty_5 = 82;
7140pub const AKEYCODE_NOTIFICATION: _bindgen_ty_5 = 83;
7141pub const AKEYCODE_SEARCH: _bindgen_ty_5 = 84;
7142pub const AKEYCODE_MEDIA_PLAY_PAUSE: _bindgen_ty_5 = 85;
7143pub const AKEYCODE_MEDIA_STOP: _bindgen_ty_5 = 86;
7144pub const AKEYCODE_MEDIA_NEXT: _bindgen_ty_5 = 87;
7145pub const AKEYCODE_MEDIA_PREVIOUS: _bindgen_ty_5 = 88;
7146pub const AKEYCODE_MEDIA_REWIND: _bindgen_ty_5 = 89;
7147pub const AKEYCODE_MEDIA_FAST_FORWARD: _bindgen_ty_5 = 90;
7148pub const AKEYCODE_MUTE: _bindgen_ty_5 = 91;
7149pub const AKEYCODE_PAGE_UP: _bindgen_ty_5 = 92;
7150pub const AKEYCODE_PAGE_DOWN: _bindgen_ty_5 = 93;
7151pub const AKEYCODE_PICTSYMBOLS: _bindgen_ty_5 = 94;
7152pub const AKEYCODE_SWITCH_CHARSET: _bindgen_ty_5 = 95;
7153pub const AKEYCODE_BUTTON_A: _bindgen_ty_5 = 96;
7154pub const AKEYCODE_BUTTON_B: _bindgen_ty_5 = 97;
7155pub const AKEYCODE_BUTTON_C: _bindgen_ty_5 = 98;
7156pub const AKEYCODE_BUTTON_X: _bindgen_ty_5 = 99;
7157pub const AKEYCODE_BUTTON_Y: _bindgen_ty_5 = 100;
7158pub const AKEYCODE_BUTTON_Z: _bindgen_ty_5 = 101;
7159pub const AKEYCODE_BUTTON_L1: _bindgen_ty_5 = 102;
7160pub const AKEYCODE_BUTTON_R1: _bindgen_ty_5 = 103;
7161pub const AKEYCODE_BUTTON_L2: _bindgen_ty_5 = 104;
7162pub const AKEYCODE_BUTTON_R2: _bindgen_ty_5 = 105;
7163pub const AKEYCODE_BUTTON_THUMBL: _bindgen_ty_5 = 106;
7164pub const AKEYCODE_BUTTON_THUMBR: _bindgen_ty_5 = 107;
7165pub const AKEYCODE_BUTTON_START: _bindgen_ty_5 = 108;
7166pub const AKEYCODE_BUTTON_SELECT: _bindgen_ty_5 = 109;
7167pub const AKEYCODE_BUTTON_MODE: _bindgen_ty_5 = 110;
7168pub const AKEYCODE_ESCAPE: _bindgen_ty_5 = 111;
7169pub const AKEYCODE_FORWARD_DEL: _bindgen_ty_5 = 112;
7170pub const AKEYCODE_CTRL_LEFT: _bindgen_ty_5 = 113;
7171pub const AKEYCODE_CTRL_RIGHT: _bindgen_ty_5 = 114;
7172pub const AKEYCODE_CAPS_LOCK: _bindgen_ty_5 = 115;
7173pub const AKEYCODE_SCROLL_LOCK: _bindgen_ty_5 = 116;
7174pub const AKEYCODE_META_LEFT: _bindgen_ty_5 = 117;
7175pub const AKEYCODE_META_RIGHT: _bindgen_ty_5 = 118;
7176pub const AKEYCODE_FUNCTION: _bindgen_ty_5 = 119;
7177pub const AKEYCODE_SYSRQ: _bindgen_ty_5 = 120;
7178pub const AKEYCODE_BREAK: _bindgen_ty_5 = 121;
7179pub const AKEYCODE_MOVE_HOME: _bindgen_ty_5 = 122;
7180pub const AKEYCODE_MOVE_END: _bindgen_ty_5 = 123;
7181pub const AKEYCODE_INSERT: _bindgen_ty_5 = 124;
7182pub const AKEYCODE_FORWARD: _bindgen_ty_5 = 125;
7183pub const AKEYCODE_MEDIA_PLAY: _bindgen_ty_5 = 126;
7184pub const AKEYCODE_MEDIA_PAUSE: _bindgen_ty_5 = 127;
7185pub const AKEYCODE_MEDIA_CLOSE: _bindgen_ty_5 = 128;
7186pub const AKEYCODE_MEDIA_EJECT: _bindgen_ty_5 = 129;
7187pub const AKEYCODE_MEDIA_RECORD: _bindgen_ty_5 = 130;
7188pub const AKEYCODE_F1: _bindgen_ty_5 = 131;
7189pub const AKEYCODE_F2: _bindgen_ty_5 = 132;
7190pub const AKEYCODE_F3: _bindgen_ty_5 = 133;
7191pub const AKEYCODE_F4: _bindgen_ty_5 = 134;
7192pub const AKEYCODE_F5: _bindgen_ty_5 = 135;
7193pub const AKEYCODE_F6: _bindgen_ty_5 = 136;
7194pub const AKEYCODE_F7: _bindgen_ty_5 = 137;
7195pub const AKEYCODE_F8: _bindgen_ty_5 = 138;
7196pub const AKEYCODE_F9: _bindgen_ty_5 = 139;
7197pub const AKEYCODE_F10: _bindgen_ty_5 = 140;
7198pub const AKEYCODE_F11: _bindgen_ty_5 = 141;
7199pub const AKEYCODE_F12: _bindgen_ty_5 = 142;
7200pub const AKEYCODE_NUM_LOCK: _bindgen_ty_5 = 143;
7201pub const AKEYCODE_NUMPAD_0: _bindgen_ty_5 = 144;
7202pub const AKEYCODE_NUMPAD_1: _bindgen_ty_5 = 145;
7203pub const AKEYCODE_NUMPAD_2: _bindgen_ty_5 = 146;
7204pub const AKEYCODE_NUMPAD_3: _bindgen_ty_5 = 147;
7205pub const AKEYCODE_NUMPAD_4: _bindgen_ty_5 = 148;
7206pub const AKEYCODE_NUMPAD_5: _bindgen_ty_5 = 149;
7207pub const AKEYCODE_NUMPAD_6: _bindgen_ty_5 = 150;
7208pub const AKEYCODE_NUMPAD_7: _bindgen_ty_5 = 151;
7209pub const AKEYCODE_NUMPAD_8: _bindgen_ty_5 = 152;
7210pub const AKEYCODE_NUMPAD_9: _bindgen_ty_5 = 153;
7211pub const AKEYCODE_NUMPAD_DIVIDE: _bindgen_ty_5 = 154;
7212pub const AKEYCODE_NUMPAD_MULTIPLY: _bindgen_ty_5 = 155;
7213pub const AKEYCODE_NUMPAD_SUBTRACT: _bindgen_ty_5 = 156;
7214pub const AKEYCODE_NUMPAD_ADD: _bindgen_ty_5 = 157;
7215pub const AKEYCODE_NUMPAD_DOT: _bindgen_ty_5 = 158;
7216pub const AKEYCODE_NUMPAD_COMMA: _bindgen_ty_5 = 159;
7217pub const AKEYCODE_NUMPAD_ENTER: _bindgen_ty_5 = 160;
7218pub const AKEYCODE_NUMPAD_EQUALS: _bindgen_ty_5 = 161;
7219pub const AKEYCODE_NUMPAD_LEFT_PAREN: _bindgen_ty_5 = 162;
7220pub const AKEYCODE_NUMPAD_RIGHT_PAREN: _bindgen_ty_5 = 163;
7221pub const AKEYCODE_VOLUME_MUTE: _bindgen_ty_5 = 164;
7222pub const AKEYCODE_INFO: _bindgen_ty_5 = 165;
7223pub const AKEYCODE_CHANNEL_UP: _bindgen_ty_5 = 166;
7224pub const AKEYCODE_CHANNEL_DOWN: _bindgen_ty_5 = 167;
7225pub const AKEYCODE_ZOOM_IN: _bindgen_ty_5 = 168;
7226pub const AKEYCODE_ZOOM_OUT: _bindgen_ty_5 = 169;
7227pub const AKEYCODE_TV: _bindgen_ty_5 = 170;
7228pub const AKEYCODE_WINDOW: _bindgen_ty_5 = 171;
7229pub const AKEYCODE_GUIDE: _bindgen_ty_5 = 172;
7230pub const AKEYCODE_DVR: _bindgen_ty_5 = 173;
7231pub const AKEYCODE_BOOKMARK: _bindgen_ty_5 = 174;
7232pub const AKEYCODE_CAPTIONS: _bindgen_ty_5 = 175;
7233pub const AKEYCODE_SETTINGS: _bindgen_ty_5 = 176;
7234pub const AKEYCODE_TV_POWER: _bindgen_ty_5 = 177;
7235pub const AKEYCODE_TV_INPUT: _bindgen_ty_5 = 178;
7236pub const AKEYCODE_STB_POWER: _bindgen_ty_5 = 179;
7237pub const AKEYCODE_STB_INPUT: _bindgen_ty_5 = 180;
7238pub const AKEYCODE_AVR_POWER: _bindgen_ty_5 = 181;
7239pub const AKEYCODE_AVR_INPUT: _bindgen_ty_5 = 182;
7240pub const AKEYCODE_PROG_RED: _bindgen_ty_5 = 183;
7241pub const AKEYCODE_PROG_GREEN: _bindgen_ty_5 = 184;
7242pub const AKEYCODE_PROG_YELLOW: _bindgen_ty_5 = 185;
7243pub const AKEYCODE_PROG_BLUE: _bindgen_ty_5 = 186;
7244pub const AKEYCODE_APP_SWITCH: _bindgen_ty_5 = 187;
7245pub const AKEYCODE_BUTTON_1: _bindgen_ty_5 = 188;
7246pub const AKEYCODE_BUTTON_2: _bindgen_ty_5 = 189;
7247pub const AKEYCODE_BUTTON_3: _bindgen_ty_5 = 190;
7248pub const AKEYCODE_BUTTON_4: _bindgen_ty_5 = 191;
7249pub const AKEYCODE_BUTTON_5: _bindgen_ty_5 = 192;
7250pub const AKEYCODE_BUTTON_6: _bindgen_ty_5 = 193;
7251pub const AKEYCODE_BUTTON_7: _bindgen_ty_5 = 194;
7252pub const AKEYCODE_BUTTON_8: _bindgen_ty_5 = 195;
7253pub const AKEYCODE_BUTTON_9: _bindgen_ty_5 = 196;
7254pub const AKEYCODE_BUTTON_10: _bindgen_ty_5 = 197;
7255pub const AKEYCODE_BUTTON_11: _bindgen_ty_5 = 198;
7256pub const AKEYCODE_BUTTON_12: _bindgen_ty_5 = 199;
7257pub const AKEYCODE_BUTTON_13: _bindgen_ty_5 = 200;
7258pub const AKEYCODE_BUTTON_14: _bindgen_ty_5 = 201;
7259pub const AKEYCODE_BUTTON_15: _bindgen_ty_5 = 202;
7260pub const AKEYCODE_BUTTON_16: _bindgen_ty_5 = 203;
7261pub const AKEYCODE_LANGUAGE_SWITCH: _bindgen_ty_5 = 204;
7262pub const AKEYCODE_MANNER_MODE: _bindgen_ty_5 = 205;
7263pub const AKEYCODE_3D_MODE: _bindgen_ty_5 = 206;
7264pub const AKEYCODE_CONTACTS: _bindgen_ty_5 = 207;
7265pub const AKEYCODE_CALENDAR: _bindgen_ty_5 = 208;
7266pub const AKEYCODE_MUSIC: _bindgen_ty_5 = 209;
7267pub const AKEYCODE_CALCULATOR: _bindgen_ty_5 = 210;
7268pub const AKEYCODE_ZENKAKU_HANKAKU: _bindgen_ty_5 = 211;
7269pub const AKEYCODE_EISU: _bindgen_ty_5 = 212;
7270pub const AKEYCODE_MUHENKAN: _bindgen_ty_5 = 213;
7271pub const AKEYCODE_HENKAN: _bindgen_ty_5 = 214;
7272pub const AKEYCODE_KATAKANA_HIRAGANA: _bindgen_ty_5 = 215;
7273pub const AKEYCODE_YEN: _bindgen_ty_5 = 216;
7274pub const AKEYCODE_RO: _bindgen_ty_5 = 217;
7275pub const AKEYCODE_KANA: _bindgen_ty_5 = 218;
7276pub const AKEYCODE_ASSIST: _bindgen_ty_5 = 219;
7277pub const AKEYCODE_BRIGHTNESS_DOWN: _bindgen_ty_5 = 220;
7278pub const AKEYCODE_BRIGHTNESS_UP: _bindgen_ty_5 = 221;
7279pub const AKEYCODE_MEDIA_AUDIO_TRACK: _bindgen_ty_5 = 222;
7280pub const AKEYCODE_SLEEP: _bindgen_ty_5 = 223;
7281pub const AKEYCODE_WAKEUP: _bindgen_ty_5 = 224;
7282pub const AKEYCODE_PAIRING: _bindgen_ty_5 = 225;
7283pub const AKEYCODE_MEDIA_TOP_MENU: _bindgen_ty_5 = 226;
7284pub const AKEYCODE_11: _bindgen_ty_5 = 227;
7285pub const AKEYCODE_12: _bindgen_ty_5 = 228;
7286pub const AKEYCODE_LAST_CHANNEL: _bindgen_ty_5 = 229;
7287pub const AKEYCODE_TV_DATA_SERVICE: _bindgen_ty_5 = 230;
7288pub const AKEYCODE_VOICE_ASSIST: _bindgen_ty_5 = 231;
7289pub const AKEYCODE_TV_RADIO_SERVICE: _bindgen_ty_5 = 232;
7290pub const AKEYCODE_TV_TELETEXT: _bindgen_ty_5 = 233;
7291pub const AKEYCODE_TV_NUMBER_ENTRY: _bindgen_ty_5 = 234;
7292pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: _bindgen_ty_5 = 235;
7293pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: _bindgen_ty_5 = 236;
7294pub const AKEYCODE_TV_SATELLITE: _bindgen_ty_5 = 237;
7295pub const AKEYCODE_TV_SATELLITE_BS: _bindgen_ty_5 = 238;
7296pub const AKEYCODE_TV_SATELLITE_CS: _bindgen_ty_5 = 239;
7297pub const AKEYCODE_TV_SATELLITE_SERVICE: _bindgen_ty_5 = 240;
7298pub const AKEYCODE_TV_NETWORK: _bindgen_ty_5 = 241;
7299pub const AKEYCODE_TV_ANTENNA_CABLE: _bindgen_ty_5 = 242;
7300pub const AKEYCODE_TV_INPUT_HDMI_1: _bindgen_ty_5 = 243;
7301pub const AKEYCODE_TV_INPUT_HDMI_2: _bindgen_ty_5 = 244;
7302pub const AKEYCODE_TV_INPUT_HDMI_3: _bindgen_ty_5 = 245;
7303pub const AKEYCODE_TV_INPUT_HDMI_4: _bindgen_ty_5 = 246;
7304pub const AKEYCODE_TV_INPUT_COMPOSITE_1: _bindgen_ty_5 = 247;
7305pub const AKEYCODE_TV_INPUT_COMPOSITE_2: _bindgen_ty_5 = 248;
7306pub const AKEYCODE_TV_INPUT_COMPONENT_1: _bindgen_ty_5 = 249;
7307pub const AKEYCODE_TV_INPUT_COMPONENT_2: _bindgen_ty_5 = 250;
7308pub const AKEYCODE_TV_INPUT_VGA_1: _bindgen_ty_5 = 251;
7309pub const AKEYCODE_TV_AUDIO_DESCRIPTION: _bindgen_ty_5 = 252;
7310pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: _bindgen_ty_5 = 253;
7311pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: _bindgen_ty_5 = 254;
7312pub const AKEYCODE_TV_ZOOM_MODE: _bindgen_ty_5 = 255;
7313pub const AKEYCODE_TV_CONTENTS_MENU: _bindgen_ty_5 = 256;
7314pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: _bindgen_ty_5 = 257;
7315pub const AKEYCODE_TV_TIMER_PROGRAMMING: _bindgen_ty_5 = 258;
7316pub const AKEYCODE_HELP: _bindgen_ty_5 = 259;
7317pub const AKEYCODE_NAVIGATE_PREVIOUS: _bindgen_ty_5 = 260;
7318pub const AKEYCODE_NAVIGATE_NEXT: _bindgen_ty_5 = 261;
7319pub const AKEYCODE_NAVIGATE_IN: _bindgen_ty_5 = 262;
7320pub const AKEYCODE_NAVIGATE_OUT: _bindgen_ty_5 = 263;
7321pub const AKEYCODE_STEM_PRIMARY: _bindgen_ty_5 = 264;
7322pub const AKEYCODE_STEM_1: _bindgen_ty_5 = 265;
7323pub const AKEYCODE_STEM_2: _bindgen_ty_5 = 266;
7324pub const AKEYCODE_STEM_3: _bindgen_ty_5 = 267;
7325pub const AKEYCODE_DPAD_UP_LEFT: _bindgen_ty_5 = 268;
7326pub const AKEYCODE_DPAD_DOWN_LEFT: _bindgen_ty_5 = 269;
7327pub const AKEYCODE_DPAD_UP_RIGHT: _bindgen_ty_5 = 270;
7328pub const AKEYCODE_DPAD_DOWN_RIGHT: _bindgen_ty_5 = 271;
7329pub const AKEYCODE_MEDIA_SKIP_FORWARD: _bindgen_ty_5 = 272;
7330pub const AKEYCODE_MEDIA_SKIP_BACKWARD: _bindgen_ty_5 = 273;
7331pub const AKEYCODE_MEDIA_STEP_FORWARD: _bindgen_ty_5 = 274;
7332pub const AKEYCODE_MEDIA_STEP_BACKWARD: _bindgen_ty_5 = 275;
7333pub const AKEYCODE_SOFT_SLEEP: _bindgen_ty_5 = 276;
7334pub const AKEYCODE_CUT: _bindgen_ty_5 = 277;
7335pub const AKEYCODE_COPY: _bindgen_ty_5 = 278;
7336pub const AKEYCODE_PASTE: _bindgen_ty_5 = 279;
7337pub const AKEYCODE_SYSTEM_NAVIGATION_UP: _bindgen_ty_5 = 280;
7338pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: _bindgen_ty_5 = 281;
7339pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: _bindgen_ty_5 = 282;
7340pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: _bindgen_ty_5 = 283;
7341pub const AKEYCODE_ALL_APPS: _bindgen_ty_5 = 284;
7342pub const AKEYCODE_REFRESH: _bindgen_ty_5 = 285;
7343pub const AKEYCODE_THUMBS_UP: _bindgen_ty_5 = 286;
7344pub const AKEYCODE_THUMBS_DOWN: _bindgen_ty_5 = 287;
7345pub const AKEYCODE_PROFILE_SWITCH: _bindgen_ty_5 = 288;
7346pub type _bindgen_ty_5 = u32;
7347#[repr(C)]
7348#[derive(Debug, Copy, Clone)]
7349pub struct ALooper {
7350    _unused: [u8; 0],
7351}
7352extern "C" {
7353    pub fn ALooper_forThread() -> *mut ALooper;
7354}
7355pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: _bindgen_ty_6 = 1;
7356pub type _bindgen_ty_6 = u32;
7357extern "C" {
7358    pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
7359}
7360pub const ALOOPER_POLL_WAKE: _bindgen_ty_7 = -1;
7361pub const ALOOPER_POLL_CALLBACK: _bindgen_ty_7 = -2;
7362pub const ALOOPER_POLL_TIMEOUT: _bindgen_ty_7 = -3;
7363pub const ALOOPER_POLL_ERROR: _bindgen_ty_7 = -4;
7364pub type _bindgen_ty_7 = i32;
7365extern "C" {
7366    pub fn ALooper_acquire(looper: *mut ALooper);
7367}
7368extern "C" {
7369    pub fn ALooper_release(looper: *mut ALooper);
7370}
7371pub const ALOOPER_EVENT_INPUT: _bindgen_ty_8 = 1;
7372pub const ALOOPER_EVENT_OUTPUT: _bindgen_ty_8 = 2;
7373pub const ALOOPER_EVENT_ERROR: _bindgen_ty_8 = 4;
7374pub const ALOOPER_EVENT_HANGUP: _bindgen_ty_8 = 8;
7375pub const ALOOPER_EVENT_INVALID: _bindgen_ty_8 = 16;
7376pub type _bindgen_ty_8 = u32;
7377pub type ALooper_callbackFunc = ::std::option::Option<
7378    unsafe extern "C" fn(
7379        fd: ::std::os::raw::c_int,
7380        events: ::std::os::raw::c_int,
7381        data: *mut ::std::os::raw::c_void,
7382    ) -> ::std::os::raw::c_int,
7383>;
7384extern "C" {
7385    pub fn ALooper_pollOnce(
7386        timeoutMillis: ::std::os::raw::c_int,
7387        outFd: *mut ::std::os::raw::c_int,
7388        outEvents: *mut ::std::os::raw::c_int,
7389        outData: *mut *mut ::std::os::raw::c_void,
7390    ) -> ::std::os::raw::c_int;
7391}
7392extern "C" {
7393    pub fn ALooper_pollAll(
7394        timeoutMillis: ::std::os::raw::c_int,
7395        outFd: *mut ::std::os::raw::c_int,
7396        outEvents: *mut ::std::os::raw::c_int,
7397        outData: *mut *mut ::std::os::raw::c_void,
7398    ) -> ::std::os::raw::c_int;
7399}
7400extern "C" {
7401    pub fn ALooper_wake(looper: *mut ALooper);
7402}
7403extern "C" {
7404    pub fn ALooper_addFd(
7405        looper: *mut ALooper,
7406        fd: ::std::os::raw::c_int,
7407        ident: ::std::os::raw::c_int,
7408        events: ::std::os::raw::c_int,
7409        callback: ALooper_callbackFunc,
7410        data: *mut ::std::os::raw::c_void,
7411    ) -> ::std::os::raw::c_int;
7412}
7413extern "C" {
7414    pub fn ALooper_removeFd(
7415        looper: *mut ALooper,
7416        fd: ::std::os::raw::c_int,
7417    ) -> ::std::os::raw::c_int;
7418}
7419pub const AKEY_STATE_UNKNOWN: _bindgen_ty_9 = -1;
7420pub const AKEY_STATE_UP: _bindgen_ty_9 = 0;
7421pub const AKEY_STATE_DOWN: _bindgen_ty_9 = 1;
7422pub const AKEY_STATE_VIRTUAL: _bindgen_ty_9 = 2;
7423pub type _bindgen_ty_9 = i32;
7424pub const AMETA_NONE: _bindgen_ty_10 = 0;
7425pub const AMETA_ALT_ON: _bindgen_ty_10 = 2;
7426pub const AMETA_ALT_LEFT_ON: _bindgen_ty_10 = 16;
7427pub const AMETA_ALT_RIGHT_ON: _bindgen_ty_10 = 32;
7428pub const AMETA_SHIFT_ON: _bindgen_ty_10 = 1;
7429pub const AMETA_SHIFT_LEFT_ON: _bindgen_ty_10 = 64;
7430pub const AMETA_SHIFT_RIGHT_ON: _bindgen_ty_10 = 128;
7431pub const AMETA_SYM_ON: _bindgen_ty_10 = 4;
7432pub const AMETA_FUNCTION_ON: _bindgen_ty_10 = 8;
7433pub const AMETA_CTRL_ON: _bindgen_ty_10 = 4096;
7434pub const AMETA_CTRL_LEFT_ON: _bindgen_ty_10 = 8192;
7435pub const AMETA_CTRL_RIGHT_ON: _bindgen_ty_10 = 16384;
7436pub const AMETA_META_ON: _bindgen_ty_10 = 65536;
7437pub const AMETA_META_LEFT_ON: _bindgen_ty_10 = 131072;
7438pub const AMETA_META_RIGHT_ON: _bindgen_ty_10 = 262144;
7439pub const AMETA_CAPS_LOCK_ON: _bindgen_ty_10 = 1048576;
7440pub const AMETA_NUM_LOCK_ON: _bindgen_ty_10 = 2097152;
7441pub const AMETA_SCROLL_LOCK_ON: _bindgen_ty_10 = 4194304;
7442pub type _bindgen_ty_10 = u32;
7443#[repr(C)]
7444#[derive(Debug, Copy, Clone)]
7445pub struct AInputEvent {
7446    _unused: [u8; 0],
7447}
7448pub const AINPUT_EVENT_TYPE_KEY: _bindgen_ty_11 = 1;
7449pub const AINPUT_EVENT_TYPE_MOTION: _bindgen_ty_11 = 2;
7450pub type _bindgen_ty_11 = u32;
7451pub const AKEY_EVENT_ACTION_DOWN: _bindgen_ty_12 = 0;
7452pub const AKEY_EVENT_ACTION_UP: _bindgen_ty_12 = 1;
7453pub const AKEY_EVENT_ACTION_MULTIPLE: _bindgen_ty_12 = 2;
7454pub type _bindgen_ty_12 = u32;
7455pub const AKEY_EVENT_FLAG_WOKE_HERE: _bindgen_ty_13 = 1;
7456pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: _bindgen_ty_13 = 2;
7457pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: _bindgen_ty_13 = 4;
7458pub const AKEY_EVENT_FLAG_FROM_SYSTEM: _bindgen_ty_13 = 8;
7459pub const AKEY_EVENT_FLAG_EDITOR_ACTION: _bindgen_ty_13 = 16;
7460pub const AKEY_EVENT_FLAG_CANCELED: _bindgen_ty_13 = 32;
7461pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: _bindgen_ty_13 = 64;
7462pub const AKEY_EVENT_FLAG_LONG_PRESS: _bindgen_ty_13 = 128;
7463pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: _bindgen_ty_13 = 256;
7464pub const AKEY_EVENT_FLAG_TRACKING: _bindgen_ty_13 = 512;
7465pub const AKEY_EVENT_FLAG_FALLBACK: _bindgen_ty_13 = 1024;
7466pub type _bindgen_ty_13 = u32;
7467pub const AMOTION_EVENT_ACTION_MASK: _bindgen_ty_14 = 255;
7468pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: _bindgen_ty_14 = 65280;
7469pub const AMOTION_EVENT_ACTION_DOWN: _bindgen_ty_14 = 0;
7470pub const AMOTION_EVENT_ACTION_UP: _bindgen_ty_14 = 1;
7471pub const AMOTION_EVENT_ACTION_MOVE: _bindgen_ty_14 = 2;
7472pub const AMOTION_EVENT_ACTION_CANCEL: _bindgen_ty_14 = 3;
7473pub const AMOTION_EVENT_ACTION_OUTSIDE: _bindgen_ty_14 = 4;
7474pub const AMOTION_EVENT_ACTION_POINTER_DOWN: _bindgen_ty_14 = 5;
7475pub const AMOTION_EVENT_ACTION_POINTER_UP: _bindgen_ty_14 = 6;
7476pub const AMOTION_EVENT_ACTION_HOVER_MOVE: _bindgen_ty_14 = 7;
7477pub const AMOTION_EVENT_ACTION_SCROLL: _bindgen_ty_14 = 8;
7478pub const AMOTION_EVENT_ACTION_HOVER_ENTER: _bindgen_ty_14 = 9;
7479pub const AMOTION_EVENT_ACTION_HOVER_EXIT: _bindgen_ty_14 = 10;
7480pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: _bindgen_ty_14 = 11;
7481pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: _bindgen_ty_14 = 12;
7482pub type _bindgen_ty_14 = u32;
7483pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: _bindgen_ty_15 = 1;
7484pub type _bindgen_ty_15 = u32;
7485pub const AMOTION_EVENT_EDGE_FLAG_NONE: _bindgen_ty_16 = 0;
7486pub const AMOTION_EVENT_EDGE_FLAG_TOP: _bindgen_ty_16 = 1;
7487pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: _bindgen_ty_16 = 2;
7488pub const AMOTION_EVENT_EDGE_FLAG_LEFT: _bindgen_ty_16 = 4;
7489pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: _bindgen_ty_16 = 8;
7490pub type _bindgen_ty_16 = u32;
7491pub const AMOTION_EVENT_AXIS_X: _bindgen_ty_17 = 0;
7492pub const AMOTION_EVENT_AXIS_Y: _bindgen_ty_17 = 1;
7493pub const AMOTION_EVENT_AXIS_PRESSURE: _bindgen_ty_17 = 2;
7494pub const AMOTION_EVENT_AXIS_SIZE: _bindgen_ty_17 = 3;
7495pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: _bindgen_ty_17 = 4;
7496pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: _bindgen_ty_17 = 5;
7497pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: _bindgen_ty_17 = 6;
7498pub const AMOTION_EVENT_AXIS_TOOL_MINOR: _bindgen_ty_17 = 7;
7499pub const AMOTION_EVENT_AXIS_ORIENTATION: _bindgen_ty_17 = 8;
7500pub const AMOTION_EVENT_AXIS_VSCROLL: _bindgen_ty_17 = 9;
7501pub const AMOTION_EVENT_AXIS_HSCROLL: _bindgen_ty_17 = 10;
7502pub const AMOTION_EVENT_AXIS_Z: _bindgen_ty_17 = 11;
7503pub const AMOTION_EVENT_AXIS_RX: _bindgen_ty_17 = 12;
7504pub const AMOTION_EVENT_AXIS_RY: _bindgen_ty_17 = 13;
7505pub const AMOTION_EVENT_AXIS_RZ: _bindgen_ty_17 = 14;
7506pub const AMOTION_EVENT_AXIS_HAT_X: _bindgen_ty_17 = 15;
7507pub const AMOTION_EVENT_AXIS_HAT_Y: _bindgen_ty_17 = 16;
7508pub const AMOTION_EVENT_AXIS_LTRIGGER: _bindgen_ty_17 = 17;
7509pub const AMOTION_EVENT_AXIS_RTRIGGER: _bindgen_ty_17 = 18;
7510pub const AMOTION_EVENT_AXIS_THROTTLE: _bindgen_ty_17 = 19;
7511pub const AMOTION_EVENT_AXIS_RUDDER: _bindgen_ty_17 = 20;
7512pub const AMOTION_EVENT_AXIS_WHEEL: _bindgen_ty_17 = 21;
7513pub const AMOTION_EVENT_AXIS_GAS: _bindgen_ty_17 = 22;
7514pub const AMOTION_EVENT_AXIS_BRAKE: _bindgen_ty_17 = 23;
7515pub const AMOTION_EVENT_AXIS_DISTANCE: _bindgen_ty_17 = 24;
7516pub const AMOTION_EVENT_AXIS_TILT: _bindgen_ty_17 = 25;
7517pub const AMOTION_EVENT_AXIS_SCROLL: _bindgen_ty_17 = 26;
7518pub const AMOTION_EVENT_AXIS_RELATIVE_X: _bindgen_ty_17 = 27;
7519pub const AMOTION_EVENT_AXIS_RELATIVE_Y: _bindgen_ty_17 = 28;
7520pub const AMOTION_EVENT_AXIS_GENERIC_1: _bindgen_ty_17 = 32;
7521pub const AMOTION_EVENT_AXIS_GENERIC_2: _bindgen_ty_17 = 33;
7522pub const AMOTION_EVENT_AXIS_GENERIC_3: _bindgen_ty_17 = 34;
7523pub const AMOTION_EVENT_AXIS_GENERIC_4: _bindgen_ty_17 = 35;
7524pub const AMOTION_EVENT_AXIS_GENERIC_5: _bindgen_ty_17 = 36;
7525pub const AMOTION_EVENT_AXIS_GENERIC_6: _bindgen_ty_17 = 37;
7526pub const AMOTION_EVENT_AXIS_GENERIC_7: _bindgen_ty_17 = 38;
7527pub const AMOTION_EVENT_AXIS_GENERIC_8: _bindgen_ty_17 = 39;
7528pub const AMOTION_EVENT_AXIS_GENERIC_9: _bindgen_ty_17 = 40;
7529pub const AMOTION_EVENT_AXIS_GENERIC_10: _bindgen_ty_17 = 41;
7530pub const AMOTION_EVENT_AXIS_GENERIC_11: _bindgen_ty_17 = 42;
7531pub const AMOTION_EVENT_AXIS_GENERIC_12: _bindgen_ty_17 = 43;
7532pub const AMOTION_EVENT_AXIS_GENERIC_13: _bindgen_ty_17 = 44;
7533pub const AMOTION_EVENT_AXIS_GENERIC_14: _bindgen_ty_17 = 45;
7534pub const AMOTION_EVENT_AXIS_GENERIC_15: _bindgen_ty_17 = 46;
7535pub const AMOTION_EVENT_AXIS_GENERIC_16: _bindgen_ty_17 = 47;
7536pub type _bindgen_ty_17 = u32;
7537pub const AMOTION_EVENT_BUTTON_PRIMARY: _bindgen_ty_18 = 1;
7538pub const AMOTION_EVENT_BUTTON_SECONDARY: _bindgen_ty_18 = 2;
7539pub const AMOTION_EVENT_BUTTON_TERTIARY: _bindgen_ty_18 = 4;
7540pub const AMOTION_EVENT_BUTTON_BACK: _bindgen_ty_18 = 8;
7541pub const AMOTION_EVENT_BUTTON_FORWARD: _bindgen_ty_18 = 16;
7542pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: _bindgen_ty_18 = 32;
7543pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: _bindgen_ty_18 = 64;
7544pub type _bindgen_ty_18 = u32;
7545pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_19 = 0;
7546pub const AMOTION_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_19 = 1;
7547pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: _bindgen_ty_19 = 2;
7548pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_19 = 3;
7549pub const AMOTION_EVENT_TOOL_TYPE_ERASER: _bindgen_ty_19 = 4;
7550pub type _bindgen_ty_19 = u32;
7551pub const AINPUT_SOURCE_CLASS_MASK: _bindgen_ty_20 = 255;
7552pub const AINPUT_SOURCE_CLASS_NONE: _bindgen_ty_20 = 0;
7553pub const AINPUT_SOURCE_CLASS_BUTTON: _bindgen_ty_20 = 1;
7554pub const AINPUT_SOURCE_CLASS_POINTER: _bindgen_ty_20 = 2;
7555pub const AINPUT_SOURCE_CLASS_NAVIGATION: _bindgen_ty_20 = 4;
7556pub const AINPUT_SOURCE_CLASS_POSITION: _bindgen_ty_20 = 8;
7557pub const AINPUT_SOURCE_CLASS_JOYSTICK: _bindgen_ty_20 = 16;
7558pub type _bindgen_ty_20 = u32;
7559pub const AINPUT_SOURCE_UNKNOWN: _bindgen_ty_21 = 0;
7560pub const AINPUT_SOURCE_KEYBOARD: _bindgen_ty_21 = 257;
7561pub const AINPUT_SOURCE_DPAD: _bindgen_ty_21 = 513;
7562pub const AINPUT_SOURCE_GAMEPAD: _bindgen_ty_21 = 1025;
7563pub const AINPUT_SOURCE_TOUCHSCREEN: _bindgen_ty_21 = 4098;
7564pub const AINPUT_SOURCE_MOUSE: _bindgen_ty_21 = 8194;
7565pub const AINPUT_SOURCE_STYLUS: _bindgen_ty_21 = 16386;
7566pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: _bindgen_ty_21 = 49154;
7567pub const AINPUT_SOURCE_TRACKBALL: _bindgen_ty_21 = 65540;
7568pub const AINPUT_SOURCE_MOUSE_RELATIVE: _bindgen_ty_21 = 131076;
7569pub const AINPUT_SOURCE_TOUCHPAD: _bindgen_ty_21 = 1048584;
7570pub const AINPUT_SOURCE_TOUCH_NAVIGATION: _bindgen_ty_21 = 2097152;
7571pub const AINPUT_SOURCE_JOYSTICK: _bindgen_ty_21 = 16777232;
7572pub const AINPUT_SOURCE_ROTARY_ENCODER: _bindgen_ty_21 = 4194304;
7573pub const AINPUT_SOURCE_ANY: _bindgen_ty_21 = 4294967040;
7574pub type _bindgen_ty_21 = u32;
7575pub const AINPUT_KEYBOARD_TYPE_NONE: _bindgen_ty_22 = 0;
7576pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: _bindgen_ty_22 = 1;
7577pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: _bindgen_ty_22 = 2;
7578pub type _bindgen_ty_22 = u32;
7579pub const AINPUT_MOTION_RANGE_X: _bindgen_ty_23 = 0;
7580pub const AINPUT_MOTION_RANGE_Y: _bindgen_ty_23 = 1;
7581pub const AINPUT_MOTION_RANGE_PRESSURE: _bindgen_ty_23 = 2;
7582pub const AINPUT_MOTION_RANGE_SIZE: _bindgen_ty_23 = 3;
7583pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: _bindgen_ty_23 = 4;
7584pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: _bindgen_ty_23 = 5;
7585pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: _bindgen_ty_23 = 6;
7586pub const AINPUT_MOTION_RANGE_TOOL_MINOR: _bindgen_ty_23 = 7;
7587pub const AINPUT_MOTION_RANGE_ORIENTATION: _bindgen_ty_23 = 8;
7588pub type _bindgen_ty_23 = u32;
7589extern "C" {
7590    pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
7591}
7592extern "C" {
7593    pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
7594}
7595extern "C" {
7596    pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
7597}
7598extern "C" {
7599    pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
7600}
7601extern "C" {
7602    pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
7603}
7604extern "C" {
7605    pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
7606}
7607extern "C" {
7608    pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
7609}
7610extern "C" {
7611    pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
7612}
7613extern "C" {
7614    pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
7615}
7616extern "C" {
7617    pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
7618}
7619extern "C" {
7620    pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
7621}
7622extern "C" {
7623    pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
7624}
7625extern "C" {
7626    pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
7627}
7628extern "C" {
7629    pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
7630}
7631extern "C" {
7632    pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
7633}
7634extern "C" {
7635    pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
7636}
7637extern "C" {
7638    pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
7639}
7640extern "C" {
7641    pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
7642}
7643extern "C" {
7644    pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
7645}
7646extern "C" {
7647    pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
7648}
7649extern "C" {
7650    pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
7651}
7652extern "C" {
7653    pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
7654}
7655extern "C" {
7656    pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize;
7657}
7658extern "C" {
7659    pub fn AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize)
7660        -> i32;
7661}
7662extern "C" {
7663    pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i32;
7664}
7665extern "C" {
7666    pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7667}
7668extern "C" {
7669    pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7670}
7671extern "C" {
7672    pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7673}
7674extern "C" {
7675    pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7676}
7677extern "C" {
7678    pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7679}
7680extern "C" {
7681    pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7682}
7683extern "C" {
7684    pub fn AMotionEvent_getTouchMajor(
7685        motion_event: *const AInputEvent,
7686        pointer_index: usize,
7687    ) -> f32;
7688}
7689extern "C" {
7690    pub fn AMotionEvent_getTouchMinor(
7691        motion_event: *const AInputEvent,
7692        pointer_index: usize,
7693    ) -> f32;
7694}
7695extern "C" {
7696    pub fn AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize)
7697        -> f32;
7698}
7699extern "C" {
7700    pub fn AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize)
7701        -> f32;
7702}
7703extern "C" {
7704    pub fn AMotionEvent_getOrientation(
7705        motion_event: *const AInputEvent,
7706        pointer_index: usize,
7707    ) -> f32;
7708}
7709extern "C" {
7710    pub fn AMotionEvent_getAxisValue(
7711        motion_event: *const AInputEvent,
7712        axis: i32,
7713        pointer_index: usize,
7714    ) -> f32;
7715}
7716extern "C" {
7717    pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize;
7718}
7719extern "C" {
7720    pub fn AMotionEvent_getHistoricalEventTime(
7721        motion_event: *const AInputEvent,
7722        history_index: usize,
7723    ) -> i64;
7724}
7725extern "C" {
7726    pub fn AMotionEvent_getHistoricalRawX(
7727        motion_event: *const AInputEvent,
7728        pointer_index: usize,
7729        history_index: usize,
7730    ) -> f32;
7731}
7732extern "C" {
7733    pub fn AMotionEvent_getHistoricalRawY(
7734        motion_event: *const AInputEvent,
7735        pointer_index: usize,
7736        history_index: usize,
7737    ) -> f32;
7738}
7739extern "C" {
7740    pub fn AMotionEvent_getHistoricalX(
7741        motion_event: *const AInputEvent,
7742        pointer_index: usize,
7743        history_index: usize,
7744    ) -> f32;
7745}
7746extern "C" {
7747    pub fn AMotionEvent_getHistoricalY(
7748        motion_event: *const AInputEvent,
7749        pointer_index: usize,
7750        history_index: usize,
7751    ) -> f32;
7752}
7753extern "C" {
7754    pub fn AMotionEvent_getHistoricalPressure(
7755        motion_event: *const AInputEvent,
7756        pointer_index: usize,
7757        history_index: usize,
7758    ) -> f32;
7759}
7760extern "C" {
7761    pub fn AMotionEvent_getHistoricalSize(
7762        motion_event: *const AInputEvent,
7763        pointer_index: usize,
7764        history_index: usize,
7765    ) -> f32;
7766}
7767extern "C" {
7768    pub fn AMotionEvent_getHistoricalTouchMajor(
7769        motion_event: *const AInputEvent,
7770        pointer_index: usize,
7771        history_index: usize,
7772    ) -> f32;
7773}
7774extern "C" {
7775    pub fn AMotionEvent_getHistoricalTouchMinor(
7776        motion_event: *const AInputEvent,
7777        pointer_index: usize,
7778        history_index: usize,
7779    ) -> f32;
7780}
7781extern "C" {
7782    pub fn AMotionEvent_getHistoricalToolMajor(
7783        motion_event: *const AInputEvent,
7784        pointer_index: usize,
7785        history_index: usize,
7786    ) -> f32;
7787}
7788extern "C" {
7789    pub fn AMotionEvent_getHistoricalToolMinor(
7790        motion_event: *const AInputEvent,
7791        pointer_index: usize,
7792        history_index: usize,
7793    ) -> f32;
7794}
7795extern "C" {
7796    pub fn AMotionEvent_getHistoricalOrientation(
7797        motion_event: *const AInputEvent,
7798        pointer_index: usize,
7799        history_index: usize,
7800    ) -> f32;
7801}
7802extern "C" {
7803    pub fn AMotionEvent_getHistoricalAxisValue(
7804        motion_event: *const AInputEvent,
7805        axis: i32,
7806        pointer_index: usize,
7807        history_index: usize,
7808    ) -> f32;
7809}
7810#[repr(C)]
7811#[derive(Debug, Copy, Clone)]
7812pub struct AInputQueue {
7813    _unused: [u8; 0],
7814}
7815extern "C" {
7816    pub fn AInputQueue_attachLooper(
7817        queue: *mut AInputQueue,
7818        looper: *mut ALooper,
7819        ident: ::std::os::raw::c_int,
7820        callback: ALooper_callbackFunc,
7821        data: *mut ::std::os::raw::c_void,
7822    );
7823}
7824extern "C" {
7825    pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
7826}
7827extern "C" {
7828    pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
7829}
7830extern "C" {
7831    pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
7832}
7833extern "C" {
7834    pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
7835}
7836extern "C" {
7837    pub fn AInputQueue_finishEvent(
7838        queue: *mut AInputQueue,
7839        event: *mut AInputEvent,
7840        handled: ::std::os::raw::c_int,
7841    );
7842}
7843pub const android_LogPriority_ANDROID_LOG_UNKNOWN: android_LogPriority = 0;
7844pub const android_LogPriority_ANDROID_LOG_DEFAULT: android_LogPriority = 1;
7845pub const android_LogPriority_ANDROID_LOG_VERBOSE: android_LogPriority = 2;
7846pub const android_LogPriority_ANDROID_LOG_DEBUG: android_LogPriority = 3;
7847pub const android_LogPriority_ANDROID_LOG_INFO: android_LogPriority = 4;
7848pub const android_LogPriority_ANDROID_LOG_WARN: android_LogPriority = 5;
7849pub const android_LogPriority_ANDROID_LOG_ERROR: android_LogPriority = 6;
7850pub const android_LogPriority_ANDROID_LOG_FATAL: android_LogPriority = 7;
7851pub const android_LogPriority_ANDROID_LOG_SILENT: android_LogPriority = 8;
7852pub type android_LogPriority = u32;
7853extern "C" {
7854    pub fn __android_log_write(
7855        prio: ::std::os::raw::c_int,
7856        tag: *const ::std::os::raw::c_char,
7857        text: *const ::std::os::raw::c_char,
7858    ) -> ::std::os::raw::c_int;
7859}
7860extern "C" {
7861    pub fn __android_log_print(
7862        prio: ::std::os::raw::c_int,
7863        tag: *const ::std::os::raw::c_char,
7864        fmt: *const ::std::os::raw::c_char,
7865        ...
7866    ) -> ::std::os::raw::c_int;
7867}
7868extern "C" {
7869    pub fn __android_log_vprint(
7870        prio: ::std::os::raw::c_int,
7871        tag: *const ::std::os::raw::c_char,
7872        fmt: *const ::std::os::raw::c_char,
7873        ap: va_list,
7874    ) -> ::std::os::raw::c_int;
7875}
7876extern "C" {
7877    pub fn __android_log_assert(
7878        cond: *const ::std::os::raw::c_char,
7879        tag: *const ::std::os::raw::c_char,
7880        fmt: *const ::std::os::raw::c_char,
7881        ...
7882    );
7883}
7884pub const log_id_LOG_ID_MIN: log_id = 0;
7885pub const log_id_LOG_ID_MAIN: log_id = 0;
7886pub const log_id_LOG_ID_RADIO: log_id = 1;
7887pub const log_id_LOG_ID_EVENTS: log_id = 2;
7888pub const log_id_LOG_ID_SYSTEM: log_id = 3;
7889pub const log_id_LOG_ID_CRASH: log_id = 4;
7890pub const log_id_LOG_ID_STATS: log_id = 5;
7891pub const log_id_LOG_ID_SECURITY: log_id = 6;
7892pub const log_id_LOG_ID_KERNEL: log_id = 7;
7893pub const log_id_LOG_ID_MAX: log_id = 8;
7894pub type log_id = u32;
7895pub use self::log_id as log_id_t;
7896extern "C" {
7897    pub fn __android_log_buf_write(
7898        bufID: ::std::os::raw::c_int,
7899        prio: ::std::os::raw::c_int,
7900        tag: *const ::std::os::raw::c_char,
7901        text: *const ::std::os::raw::c_char,
7902    ) -> ::std::os::raw::c_int;
7903}
7904extern "C" {
7905    pub fn __android_log_buf_print(
7906        bufID: ::std::os::raw::c_int,
7907        prio: ::std::os::raw::c_int,
7908        tag: *const ::std::os::raw::c_char,
7909        fmt: *const ::std::os::raw::c_char,
7910        ...
7911    ) -> ::std::os::raw::c_int;
7912}
7913pub type __kernel_sa_family_t = ::std::os::raw::c_ushort;
7914#[repr(C)]
7915#[repr(align(4))]
7916#[derive(Copy, Clone)]
7917pub struct sockaddr_storage {
7918    pub ss_family: __kernel_sa_family_t,
7919    pub __data: [::std::os::raw::c_char; 126usize],
7920}
7921#[test]
7922fn bindgen_test_layout_sockaddr_storage() {
7923    assert_eq!(
7924        ::std::mem::size_of::<sockaddr_storage>(),
7925        128usize,
7926        concat!("Size of: ", stringify!(sockaddr_storage))
7927    );
7928    assert_eq!(
7929        ::std::mem::align_of::<sockaddr_storage>(),
7930        4usize,
7931        concat!("Alignment of ", stringify!(sockaddr_storage))
7932    );
7933    assert_eq!(
7934        unsafe { &(*(::std::ptr::null::<sockaddr_storage>())).ss_family as *const _ as usize },
7935        0usize,
7936        concat!(
7937            "Offset of field: ",
7938            stringify!(sockaddr_storage),
7939            "::",
7940            stringify!(ss_family)
7941        )
7942    );
7943    assert_eq!(
7944        unsafe { &(*(::std::ptr::null::<sockaddr_storage>())).__data as *const _ as usize },
7945        2usize,
7946        concat!(
7947            "Offset of field: ",
7948            stringify!(sockaddr_storage),
7949            "::",
7950            stringify!(__data)
7951        )
7952    );
7953}
7954#[repr(C)]
7955#[derive(Debug, Copy, Clone)]
7956pub struct f_owner_ex {
7957    pub type_: ::std::os::raw::c_int,
7958    pub pid: __kernel_pid_t,
7959}
7960#[test]
7961fn bindgen_test_layout_f_owner_ex() {
7962    assert_eq!(
7963        ::std::mem::size_of::<f_owner_ex>(),
7964        8usize,
7965        concat!("Size of: ", stringify!(f_owner_ex))
7966    );
7967    assert_eq!(
7968        ::std::mem::align_of::<f_owner_ex>(),
7969        4usize,
7970        concat!("Alignment of ", stringify!(f_owner_ex))
7971    );
7972    assert_eq!(
7973        unsafe { &(*(::std::ptr::null::<f_owner_ex>())).type_ as *const _ as usize },
7974        0usize,
7975        concat!(
7976            "Offset of field: ",
7977            stringify!(f_owner_ex),
7978            "::",
7979            stringify!(type_)
7980        )
7981    );
7982    assert_eq!(
7983        unsafe { &(*(::std::ptr::null::<f_owner_ex>())).pid as *const _ as usize },
7984        4usize,
7985        concat!(
7986            "Offset of field: ",
7987            stringify!(f_owner_ex),
7988            "::",
7989            stringify!(pid)
7990        )
7991    );
7992}
7993#[repr(C)]
7994#[derive(Debug, Copy, Clone)]
7995pub struct flock {
7996    pub l_type: ::std::os::raw::c_short,
7997    pub l_whence: ::std::os::raw::c_short,
7998    pub l_start: __kernel_off_t,
7999    pub l_len: __kernel_off_t,
8000    pub l_pid: __kernel_pid_t,
8001}
8002#[test]
8003fn bindgen_test_layout_flock() {
8004    assert_eq!(
8005        ::std::mem::size_of::<flock>(),
8006        16usize,
8007        concat!("Size of: ", stringify!(flock))
8008    );
8009    assert_eq!(
8010        ::std::mem::align_of::<flock>(),
8011        4usize,
8012        concat!("Alignment of ", stringify!(flock))
8013    );
8014    assert_eq!(
8015        unsafe { &(*(::std::ptr::null::<flock>())).l_type as *const _ as usize },
8016        0usize,
8017        concat!(
8018            "Offset of field: ",
8019            stringify!(flock),
8020            "::",
8021            stringify!(l_type)
8022        )
8023    );
8024    assert_eq!(
8025        unsafe { &(*(::std::ptr::null::<flock>())).l_whence as *const _ as usize },
8026        2usize,
8027        concat!(
8028            "Offset of field: ",
8029            stringify!(flock),
8030            "::",
8031            stringify!(l_whence)
8032        )
8033    );
8034    assert_eq!(
8035        unsafe { &(*(::std::ptr::null::<flock>())).l_start as *const _ as usize },
8036        4usize,
8037        concat!(
8038            "Offset of field: ",
8039            stringify!(flock),
8040            "::",
8041            stringify!(l_start)
8042        )
8043    );
8044    assert_eq!(
8045        unsafe { &(*(::std::ptr::null::<flock>())).l_len as *const _ as usize },
8046        8usize,
8047        concat!(
8048            "Offset of field: ",
8049            stringify!(flock),
8050            "::",
8051            stringify!(l_len)
8052        )
8053    );
8054    assert_eq!(
8055        unsafe { &(*(::std::ptr::null::<flock>())).l_pid as *const _ as usize },
8056        12usize,
8057        concat!(
8058            "Offset of field: ",
8059            stringify!(flock),
8060            "::",
8061            stringify!(l_pid)
8062        )
8063    );
8064}
8065#[repr(C)]
8066#[derive(Debug, Copy, Clone)]
8067pub struct flock64 {
8068    pub l_type: ::std::os::raw::c_short,
8069    pub l_whence: ::std::os::raw::c_short,
8070    pub __bindgen_padding_0: u32,
8071    pub l_start: __kernel_loff_t,
8072    pub l_len: __kernel_loff_t,
8073    pub l_pid: __kernel_pid_t,
8074    pub __bindgen_padding_1: u32,
8075}
8076#[test]
8077fn bindgen_test_layout_flock64() {
8078    assert_eq!(
8079        ::std::mem::size_of::<flock64>(),
8080        32usize,
8081        concat!("Size of: ", stringify!(flock64))
8082    );
8083    assert_eq!(
8084        ::std::mem::align_of::<flock64>(),
8085        8usize,
8086        concat!("Alignment of ", stringify!(flock64))
8087    );
8088    assert_eq!(
8089        unsafe { &(*(::std::ptr::null::<flock64>())).l_type as *const _ as usize },
8090        0usize,
8091        concat!(
8092            "Offset of field: ",
8093            stringify!(flock64),
8094            "::",
8095            stringify!(l_type)
8096        )
8097    );
8098    assert_eq!(
8099        unsafe { &(*(::std::ptr::null::<flock64>())).l_whence as *const _ as usize },
8100        2usize,
8101        concat!(
8102            "Offset of field: ",
8103            stringify!(flock64),
8104            "::",
8105            stringify!(l_whence)
8106        )
8107    );
8108    assert_eq!(
8109        unsafe { &(*(::std::ptr::null::<flock64>())).l_start as *const _ as usize },
8110        8usize,
8111        concat!(
8112            "Offset of field: ",
8113            stringify!(flock64),
8114            "::",
8115            stringify!(l_start)
8116        )
8117    );
8118    assert_eq!(
8119        unsafe { &(*(::std::ptr::null::<flock64>())).l_len as *const _ as usize },
8120        16usize,
8121        concat!(
8122            "Offset of field: ",
8123            stringify!(flock64),
8124            "::",
8125            stringify!(l_len)
8126        )
8127    );
8128    assert_eq!(
8129        unsafe { &(*(::std::ptr::null::<flock64>())).l_pid as *const _ as usize },
8130        24usize,
8131        concat!(
8132            "Offset of field: ",
8133            stringify!(flock64),
8134            "::",
8135            stringify!(l_pid)
8136        )
8137    );
8138}
8139#[repr(C)]
8140#[derive(Debug, Copy, Clone)]
8141pub struct iovec {
8142    pub iov_base: *mut ::std::os::raw::c_void,
8143    pub iov_len: __kernel_size_t,
8144}
8145#[test]
8146fn bindgen_test_layout_iovec() {
8147    assert_eq!(
8148        ::std::mem::size_of::<iovec>(),
8149        8usize,
8150        concat!("Size of: ", stringify!(iovec))
8151    );
8152    assert_eq!(
8153        ::std::mem::align_of::<iovec>(),
8154        4usize,
8155        concat!("Alignment of ", stringify!(iovec))
8156    );
8157    assert_eq!(
8158        unsafe { &(*(::std::ptr::null::<iovec>())).iov_base as *const _ as usize },
8159        0usize,
8160        concat!(
8161            "Offset of field: ",
8162            stringify!(iovec),
8163            "::",
8164            stringify!(iov_base)
8165        )
8166    );
8167    assert_eq!(
8168        unsafe { &(*(::std::ptr::null::<iovec>())).iov_len as *const _ as usize },
8169        4usize,
8170        concat!(
8171            "Offset of field: ",
8172            stringify!(iovec),
8173            "::",
8174            stringify!(iov_len)
8175        )
8176    );
8177}
8178pub type sa_family_t = ::std::os::raw::c_ushort;
8179#[repr(C)]
8180#[derive(Debug, Copy, Clone)]
8181pub struct timespec {
8182    _unused: [u8; 0],
8183}
8184pub const SHUT_RD: _bindgen_ty_24 = 0;
8185pub const SHUT_WR: _bindgen_ty_24 = 1;
8186pub const SHUT_RDWR: _bindgen_ty_24 = 2;
8187pub type _bindgen_ty_24 = u32;
8188#[repr(C)]
8189#[derive(Debug, Copy, Clone)]
8190pub struct sockaddr {
8191    pub sa_family: sa_family_t,
8192    pub sa_data: [::std::os::raw::c_char; 14usize],
8193}
8194#[test]
8195fn bindgen_test_layout_sockaddr() {
8196    assert_eq!(
8197        ::std::mem::size_of::<sockaddr>(),
8198        16usize,
8199        concat!("Size of: ", stringify!(sockaddr))
8200    );
8201    assert_eq!(
8202        ::std::mem::align_of::<sockaddr>(),
8203        2usize,
8204        concat!("Alignment of ", stringify!(sockaddr))
8205    );
8206    assert_eq!(
8207        unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_family as *const _ as usize },
8208        0usize,
8209        concat!(
8210            "Offset of field: ",
8211            stringify!(sockaddr),
8212            "::",
8213            stringify!(sa_family)
8214        )
8215    );
8216    assert_eq!(
8217        unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_data as *const _ as usize },
8218        2usize,
8219        concat!(
8220            "Offset of field: ",
8221            stringify!(sockaddr),
8222            "::",
8223            stringify!(sa_data)
8224        )
8225    );
8226}
8227#[repr(C)]
8228#[derive(Debug, Copy, Clone)]
8229pub struct linger {
8230    pub l_onoff: ::std::os::raw::c_int,
8231    pub l_linger: ::std::os::raw::c_int,
8232}
8233#[test]
8234fn bindgen_test_layout_linger() {
8235    assert_eq!(
8236        ::std::mem::size_of::<linger>(),
8237        8usize,
8238        concat!("Size of: ", stringify!(linger))
8239    );
8240    assert_eq!(
8241        ::std::mem::align_of::<linger>(),
8242        4usize,
8243        concat!("Alignment of ", stringify!(linger))
8244    );
8245    assert_eq!(
8246        unsafe { &(*(::std::ptr::null::<linger>())).l_onoff as *const _ as usize },
8247        0usize,
8248        concat!(
8249            "Offset of field: ",
8250            stringify!(linger),
8251            "::",
8252            stringify!(l_onoff)
8253        )
8254    );
8255    assert_eq!(
8256        unsafe { &(*(::std::ptr::null::<linger>())).l_linger as *const _ as usize },
8257        4usize,
8258        concat!(
8259            "Offset of field: ",
8260            stringify!(linger),
8261            "::",
8262            stringify!(l_linger)
8263        )
8264    );
8265}
8266#[repr(C)]
8267#[derive(Debug, Copy, Clone)]
8268pub struct msghdr {
8269    pub msg_name: *mut ::std::os::raw::c_void,
8270    pub msg_namelen: socklen_t,
8271    pub msg_iov: *mut iovec,
8272    pub msg_iovlen: usize,
8273    pub msg_control: *mut ::std::os::raw::c_void,
8274    pub msg_controllen: usize,
8275    pub msg_flags: ::std::os::raw::c_int,
8276}
8277#[test]
8278fn bindgen_test_layout_msghdr() {
8279    assert_eq!(
8280        ::std::mem::size_of::<msghdr>(),
8281        28usize,
8282        concat!("Size of: ", stringify!(msghdr))
8283    );
8284    assert_eq!(
8285        ::std::mem::align_of::<msghdr>(),
8286        4usize,
8287        concat!("Alignment of ", stringify!(msghdr))
8288    );
8289    assert_eq!(
8290        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_name as *const _ as usize },
8291        0usize,
8292        concat!(
8293            "Offset of field: ",
8294            stringify!(msghdr),
8295            "::",
8296            stringify!(msg_name)
8297        )
8298    );
8299    assert_eq!(
8300        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_namelen as *const _ as usize },
8301        4usize,
8302        concat!(
8303            "Offset of field: ",
8304            stringify!(msghdr),
8305            "::",
8306            stringify!(msg_namelen)
8307        )
8308    );
8309    assert_eq!(
8310        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iov as *const _ as usize },
8311        8usize,
8312        concat!(
8313            "Offset of field: ",
8314            stringify!(msghdr),
8315            "::",
8316            stringify!(msg_iov)
8317        )
8318    );
8319    assert_eq!(
8320        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iovlen as *const _ as usize },
8321        12usize,
8322        concat!(
8323            "Offset of field: ",
8324            stringify!(msghdr),
8325            "::",
8326            stringify!(msg_iovlen)
8327        )
8328    );
8329    assert_eq!(
8330        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_control as *const _ as usize },
8331        16usize,
8332        concat!(
8333            "Offset of field: ",
8334            stringify!(msghdr),
8335            "::",
8336            stringify!(msg_control)
8337        )
8338    );
8339    assert_eq!(
8340        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_controllen as *const _ as usize },
8341        20usize,
8342        concat!(
8343            "Offset of field: ",
8344            stringify!(msghdr),
8345            "::",
8346            stringify!(msg_controllen)
8347        )
8348    );
8349    assert_eq!(
8350        unsafe { &(*(::std::ptr::null::<msghdr>())).msg_flags as *const _ as usize },
8351        24usize,
8352        concat!(
8353            "Offset of field: ",
8354            stringify!(msghdr),
8355            "::",
8356            stringify!(msg_flags)
8357        )
8358    );
8359}
8360#[repr(C)]
8361#[derive(Debug, Copy, Clone)]
8362pub struct mmsghdr {
8363    pub msg_hdr: msghdr,
8364    pub msg_len: ::std::os::raw::c_uint,
8365}
8366#[test]
8367fn bindgen_test_layout_mmsghdr() {
8368    assert_eq!(
8369        ::std::mem::size_of::<mmsghdr>(),
8370        32usize,
8371        concat!("Size of: ", stringify!(mmsghdr))
8372    );
8373    assert_eq!(
8374        ::std::mem::align_of::<mmsghdr>(),
8375        4usize,
8376        concat!("Alignment of ", stringify!(mmsghdr))
8377    );
8378    assert_eq!(
8379        unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_hdr as *const _ as usize },
8380        0usize,
8381        concat!(
8382            "Offset of field: ",
8383            stringify!(mmsghdr),
8384            "::",
8385            stringify!(msg_hdr)
8386        )
8387    );
8388    assert_eq!(
8389        unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_len as *const _ as usize },
8390        28usize,
8391        concat!(
8392            "Offset of field: ",
8393            stringify!(mmsghdr),
8394            "::",
8395            stringify!(msg_len)
8396        )
8397    );
8398}
8399#[repr(C)]
8400#[derive(Debug, Copy, Clone)]
8401pub struct cmsghdr {
8402    pub cmsg_len: usize,
8403    pub cmsg_level: ::std::os::raw::c_int,
8404    pub cmsg_type: ::std::os::raw::c_int,
8405}
8406#[test]
8407fn bindgen_test_layout_cmsghdr() {
8408    assert_eq!(
8409        ::std::mem::size_of::<cmsghdr>(),
8410        12usize,
8411        concat!("Size of: ", stringify!(cmsghdr))
8412    );
8413    assert_eq!(
8414        ::std::mem::align_of::<cmsghdr>(),
8415        4usize,
8416        concat!("Alignment of ", stringify!(cmsghdr))
8417    );
8418    assert_eq!(
8419        unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_len as *const _ as usize },
8420        0usize,
8421        concat!(
8422            "Offset of field: ",
8423            stringify!(cmsghdr),
8424            "::",
8425            stringify!(cmsg_len)
8426        )
8427    );
8428    assert_eq!(
8429        unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_level as *const _ as usize },
8430        4usize,
8431        concat!(
8432            "Offset of field: ",
8433            stringify!(cmsghdr),
8434            "::",
8435            stringify!(cmsg_level)
8436        )
8437    );
8438    assert_eq!(
8439        unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_type as *const _ as usize },
8440        8usize,
8441        concat!(
8442            "Offset of field: ",
8443            stringify!(cmsghdr),
8444            "::",
8445            stringify!(cmsg_type)
8446        )
8447    );
8448}
8449extern "C" {
8450    pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
8451}
8452#[repr(C)]
8453#[derive(Debug, Copy, Clone)]
8454pub struct ucred {
8455    pub pid: pid_t,
8456    pub uid: uid_t,
8457    pub gid: gid_t,
8458}
8459#[test]
8460fn bindgen_test_layout_ucred() {
8461    assert_eq!(
8462        ::std::mem::size_of::<ucred>(),
8463        12usize,
8464        concat!("Size of: ", stringify!(ucred))
8465    );
8466    assert_eq!(
8467        ::std::mem::align_of::<ucred>(),
8468        4usize,
8469        concat!("Alignment of ", stringify!(ucred))
8470    );
8471    assert_eq!(
8472        unsafe { &(*(::std::ptr::null::<ucred>())).pid as *const _ as usize },
8473        0usize,
8474        concat!(
8475            "Offset of field: ",
8476            stringify!(ucred),
8477            "::",
8478            stringify!(pid)
8479        )
8480    );
8481    assert_eq!(
8482        unsafe { &(*(::std::ptr::null::<ucred>())).uid as *const _ as usize },
8483        4usize,
8484        concat!(
8485            "Offset of field: ",
8486            stringify!(ucred),
8487            "::",
8488            stringify!(uid)
8489        )
8490    );
8491    assert_eq!(
8492        unsafe { &(*(::std::ptr::null::<ucred>())).gid as *const _ as usize },
8493        8usize,
8494        concat!(
8495            "Offset of field: ",
8496            stringify!(ucred),
8497            "::",
8498            stringify!(gid)
8499        )
8500    );
8501}
8502extern "C" {
8503    pub fn accept(
8504        __fd: ::std::os::raw::c_int,
8505        __addr: *mut sockaddr,
8506        __addr_length: *mut socklen_t,
8507    ) -> ::std::os::raw::c_int;
8508}
8509extern "C" {
8510    pub fn accept4(
8511        __fd: ::std::os::raw::c_int,
8512        __addr: *mut sockaddr,
8513        __addr_length: *mut socklen_t,
8514        __flags: ::std::os::raw::c_int,
8515    ) -> ::std::os::raw::c_int;
8516}
8517extern "C" {
8518    pub fn bind(
8519        __fd: ::std::os::raw::c_int,
8520        __addr: *const sockaddr,
8521        __addr_length: socklen_t,
8522    ) -> ::std::os::raw::c_int;
8523}
8524extern "C" {
8525    pub fn connect(
8526        __fd: ::std::os::raw::c_int,
8527        __addr: *const sockaddr,
8528        __addr_length: socklen_t,
8529    ) -> ::std::os::raw::c_int;
8530}
8531extern "C" {
8532    pub fn getpeername(
8533        __fd: ::std::os::raw::c_int,
8534        __addr: *mut sockaddr,
8535        __addr_length: *mut socklen_t,
8536    ) -> ::std::os::raw::c_int;
8537}
8538extern "C" {
8539    pub fn getsockname(
8540        __fd: ::std::os::raw::c_int,
8541        __addr: *mut sockaddr,
8542        __addr_length: *mut socklen_t,
8543    ) -> ::std::os::raw::c_int;
8544}
8545extern "C" {
8546    pub fn getsockopt(
8547        __fd: ::std::os::raw::c_int,
8548        __level: ::std::os::raw::c_int,
8549        __option: ::std::os::raw::c_int,
8550        __value: *mut ::std::os::raw::c_void,
8551        __value_length: *mut socklen_t,
8552    ) -> ::std::os::raw::c_int;
8553}
8554extern "C" {
8555    pub fn listen(
8556        __fd: ::std::os::raw::c_int,
8557        __backlog: ::std::os::raw::c_int,
8558    ) -> ::std::os::raw::c_int;
8559}
8560extern "C" {
8561    pub fn recvmmsg(
8562        __fd: ::std::os::raw::c_int,
8563        __msgs: *mut mmsghdr,
8564        __msg_count: ::std::os::raw::c_uint,
8565        __flags: ::std::os::raw::c_int,
8566        __timeout: *const timespec,
8567    ) -> ::std::os::raw::c_int;
8568}
8569extern "C" {
8570    pub fn recvmsg(
8571        __fd: ::std::os::raw::c_int,
8572        __msg: *mut msghdr,
8573        __flags: ::std::os::raw::c_int,
8574    ) -> isize;
8575}
8576extern "C" {
8577    pub fn sendmmsg(
8578        __fd: ::std::os::raw::c_int,
8579        __msgs: *const mmsghdr,
8580        __msg_count: ::std::os::raw::c_uint,
8581        __flags: ::std::os::raw::c_int,
8582    ) -> ::std::os::raw::c_int;
8583}
8584extern "C" {
8585    pub fn sendmsg(
8586        __fd: ::std::os::raw::c_int,
8587        __msg: *const msghdr,
8588        __flags: ::std::os::raw::c_int,
8589    ) -> isize;
8590}
8591extern "C" {
8592    pub fn setsockopt(
8593        __fd: ::std::os::raw::c_int,
8594        __level: ::std::os::raw::c_int,
8595        __option: ::std::os::raw::c_int,
8596        __value: *const ::std::os::raw::c_void,
8597        __value_length: socklen_t,
8598    ) -> ::std::os::raw::c_int;
8599}
8600extern "C" {
8601    pub fn shutdown(
8602        __fd: ::std::os::raw::c_int,
8603        __how: ::std::os::raw::c_int,
8604    ) -> ::std::os::raw::c_int;
8605}
8606extern "C" {
8607    pub fn socket(
8608        __af: ::std::os::raw::c_int,
8609        __type: ::std::os::raw::c_int,
8610        __protocol: ::std::os::raw::c_int,
8611    ) -> ::std::os::raw::c_int;
8612}
8613extern "C" {
8614    pub fn socketpair(
8615        __af: ::std::os::raw::c_int,
8616        __type: ::std::os::raw::c_int,
8617        __protocol: ::std::os::raw::c_int,
8618        __fds: *mut ::std::os::raw::c_int,
8619    ) -> ::std::os::raw::c_int;
8620}
8621extern "C" {
8622    pub fn recv(
8623        __fd: ::std::os::raw::c_int,
8624        __buf: *mut ::std::os::raw::c_void,
8625        __n: usize,
8626        __flags: ::std::os::raw::c_int,
8627    ) -> isize;
8628}
8629extern "C" {
8630    pub fn send(
8631        __fd: ::std::os::raw::c_int,
8632        __buf: *const ::std::os::raw::c_void,
8633        __n: usize,
8634        __flags: ::std::os::raw::c_int,
8635    ) -> isize;
8636}
8637extern "C" {
8638    pub fn sendto(
8639        __fd: ::std::os::raw::c_int,
8640        __buf: *const ::std::os::raw::c_void,
8641        __n: usize,
8642        __flags: ::std::os::raw::c_int,
8643        __dst_addr: *const sockaddr,
8644        __dst_addr_length: socklen_t,
8645    ) -> isize;
8646}
8647extern "C" {
8648    pub fn recvfrom(
8649        __fd: ::std::os::raw::c_int,
8650        __buf: *mut ::std::os::raw::c_void,
8651        __n: usize,
8652        __flags: ::std::os::raw::c_int,
8653        __src_addr: *mut sockaddr,
8654        __src_addr_length: *mut socklen_t,
8655    ) -> isize;
8656}
8657#[repr(C)]
8658#[derive(Debug, Copy, Clone)]
8659pub struct hostent {
8660    pub h_name: *mut ::std::os::raw::c_char,
8661    pub h_aliases: *mut *mut ::std::os::raw::c_char,
8662    pub h_addrtype: ::std::os::raw::c_int,
8663    pub h_length: ::std::os::raw::c_int,
8664    pub h_addr_list: *mut *mut ::std::os::raw::c_char,
8665}
8666#[test]
8667fn bindgen_test_layout_hostent() {
8668    assert_eq!(
8669        ::std::mem::size_of::<hostent>(),
8670        20usize,
8671        concat!("Size of: ", stringify!(hostent))
8672    );
8673    assert_eq!(
8674        ::std::mem::align_of::<hostent>(),
8675        4usize,
8676        concat!("Alignment of ", stringify!(hostent))
8677    );
8678    assert_eq!(
8679        unsafe { &(*(::std::ptr::null::<hostent>())).h_name as *const _ as usize },
8680        0usize,
8681        concat!(
8682            "Offset of field: ",
8683            stringify!(hostent),
8684            "::",
8685            stringify!(h_name)
8686        )
8687    );
8688    assert_eq!(
8689        unsafe { &(*(::std::ptr::null::<hostent>())).h_aliases as *const _ as usize },
8690        4usize,
8691        concat!(
8692            "Offset of field: ",
8693            stringify!(hostent),
8694            "::",
8695            stringify!(h_aliases)
8696        )
8697    );
8698    assert_eq!(
8699        unsafe { &(*(::std::ptr::null::<hostent>())).h_addrtype as *const _ as usize },
8700        8usize,
8701        concat!(
8702            "Offset of field: ",
8703            stringify!(hostent),
8704            "::",
8705            stringify!(h_addrtype)
8706        )
8707    );
8708    assert_eq!(
8709        unsafe { &(*(::std::ptr::null::<hostent>())).h_length as *const _ as usize },
8710        12usize,
8711        concat!(
8712            "Offset of field: ",
8713            stringify!(hostent),
8714            "::",
8715            stringify!(h_length)
8716        )
8717    );
8718    assert_eq!(
8719        unsafe { &(*(::std::ptr::null::<hostent>())).h_addr_list as *const _ as usize },
8720        16usize,
8721        concat!(
8722            "Offset of field: ",
8723            stringify!(hostent),
8724            "::",
8725            stringify!(h_addr_list)
8726        )
8727    );
8728}
8729#[repr(C)]
8730#[derive(Debug, Copy, Clone)]
8731pub struct netent {
8732    pub n_name: *mut ::std::os::raw::c_char,
8733    pub n_aliases: *mut *mut ::std::os::raw::c_char,
8734    pub n_addrtype: ::std::os::raw::c_int,
8735    pub n_net: u32,
8736}
8737#[test]
8738fn bindgen_test_layout_netent() {
8739    assert_eq!(
8740        ::std::mem::size_of::<netent>(),
8741        16usize,
8742        concat!("Size of: ", stringify!(netent))
8743    );
8744    assert_eq!(
8745        ::std::mem::align_of::<netent>(),
8746        4usize,
8747        concat!("Alignment of ", stringify!(netent))
8748    );
8749    assert_eq!(
8750        unsafe { &(*(::std::ptr::null::<netent>())).n_name as *const _ as usize },
8751        0usize,
8752        concat!(
8753            "Offset of field: ",
8754            stringify!(netent),
8755            "::",
8756            stringify!(n_name)
8757        )
8758    );
8759    assert_eq!(
8760        unsafe { &(*(::std::ptr::null::<netent>())).n_aliases as *const _ as usize },
8761        4usize,
8762        concat!(
8763            "Offset of field: ",
8764            stringify!(netent),
8765            "::",
8766            stringify!(n_aliases)
8767        )
8768    );
8769    assert_eq!(
8770        unsafe { &(*(::std::ptr::null::<netent>())).n_addrtype as *const _ as usize },
8771        8usize,
8772        concat!(
8773            "Offset of field: ",
8774            stringify!(netent),
8775            "::",
8776            stringify!(n_addrtype)
8777        )
8778    );
8779    assert_eq!(
8780        unsafe { &(*(::std::ptr::null::<netent>())).n_net as *const _ as usize },
8781        12usize,
8782        concat!(
8783            "Offset of field: ",
8784            stringify!(netent),
8785            "::",
8786            stringify!(n_net)
8787        )
8788    );
8789}
8790#[repr(C)]
8791#[derive(Debug, Copy, Clone)]
8792pub struct servent {
8793    pub s_name: *mut ::std::os::raw::c_char,
8794    pub s_aliases: *mut *mut ::std::os::raw::c_char,
8795    pub s_port: ::std::os::raw::c_int,
8796    pub s_proto: *mut ::std::os::raw::c_char,
8797}
8798#[test]
8799fn bindgen_test_layout_servent() {
8800    assert_eq!(
8801        ::std::mem::size_of::<servent>(),
8802        16usize,
8803        concat!("Size of: ", stringify!(servent))
8804    );
8805    assert_eq!(
8806        ::std::mem::align_of::<servent>(),
8807        4usize,
8808        concat!("Alignment of ", stringify!(servent))
8809    );
8810    assert_eq!(
8811        unsafe { &(*(::std::ptr::null::<servent>())).s_name as *const _ as usize },
8812        0usize,
8813        concat!(
8814            "Offset of field: ",
8815            stringify!(servent),
8816            "::",
8817            stringify!(s_name)
8818        )
8819    );
8820    assert_eq!(
8821        unsafe { &(*(::std::ptr::null::<servent>())).s_aliases as *const _ as usize },
8822        4usize,
8823        concat!(
8824            "Offset of field: ",
8825            stringify!(servent),
8826            "::",
8827            stringify!(s_aliases)
8828        )
8829    );
8830    assert_eq!(
8831        unsafe { &(*(::std::ptr::null::<servent>())).s_port as *const _ as usize },
8832        8usize,
8833        concat!(
8834            "Offset of field: ",
8835            stringify!(servent),
8836            "::",
8837            stringify!(s_port)
8838        )
8839    );
8840    assert_eq!(
8841        unsafe { &(*(::std::ptr::null::<servent>())).s_proto as *const _ as usize },
8842        12usize,
8843        concat!(
8844            "Offset of field: ",
8845            stringify!(servent),
8846            "::",
8847            stringify!(s_proto)
8848        )
8849    );
8850}
8851#[repr(C)]
8852#[derive(Debug, Copy, Clone)]
8853pub struct protoent {
8854    pub p_name: *mut ::std::os::raw::c_char,
8855    pub p_aliases: *mut *mut ::std::os::raw::c_char,
8856    pub p_proto: ::std::os::raw::c_int,
8857}
8858#[test]
8859fn bindgen_test_layout_protoent() {
8860    assert_eq!(
8861        ::std::mem::size_of::<protoent>(),
8862        12usize,
8863        concat!("Size of: ", stringify!(protoent))
8864    );
8865    assert_eq!(
8866        ::std::mem::align_of::<protoent>(),
8867        4usize,
8868        concat!("Alignment of ", stringify!(protoent))
8869    );
8870    assert_eq!(
8871        unsafe { &(*(::std::ptr::null::<protoent>())).p_name as *const _ as usize },
8872        0usize,
8873        concat!(
8874            "Offset of field: ",
8875            stringify!(protoent),
8876            "::",
8877            stringify!(p_name)
8878        )
8879    );
8880    assert_eq!(
8881        unsafe { &(*(::std::ptr::null::<protoent>())).p_aliases as *const _ as usize },
8882        4usize,
8883        concat!(
8884            "Offset of field: ",
8885            stringify!(protoent),
8886            "::",
8887            stringify!(p_aliases)
8888        )
8889    );
8890    assert_eq!(
8891        unsafe { &(*(::std::ptr::null::<protoent>())).p_proto as *const _ as usize },
8892        8usize,
8893        concat!(
8894            "Offset of field: ",
8895            stringify!(protoent),
8896            "::",
8897            stringify!(p_proto)
8898        )
8899    );
8900}
8901#[repr(C)]
8902#[derive(Debug, Copy, Clone)]
8903pub struct addrinfo {
8904    pub ai_flags: ::std::os::raw::c_int,
8905    pub ai_family: ::std::os::raw::c_int,
8906    pub ai_socktype: ::std::os::raw::c_int,
8907    pub ai_protocol: ::std::os::raw::c_int,
8908    pub ai_addrlen: socklen_t,
8909    pub ai_canonname: *mut ::std::os::raw::c_char,
8910    pub ai_addr: *mut sockaddr,
8911    pub ai_next: *mut addrinfo,
8912}
8913#[test]
8914fn bindgen_test_layout_addrinfo() {
8915    assert_eq!(
8916        ::std::mem::size_of::<addrinfo>(),
8917        32usize,
8918        concat!("Size of: ", stringify!(addrinfo))
8919    );
8920    assert_eq!(
8921        ::std::mem::align_of::<addrinfo>(),
8922        4usize,
8923        concat!("Alignment of ", stringify!(addrinfo))
8924    );
8925    assert_eq!(
8926        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_flags as *const _ as usize },
8927        0usize,
8928        concat!(
8929            "Offset of field: ",
8930            stringify!(addrinfo),
8931            "::",
8932            stringify!(ai_flags)
8933        )
8934    );
8935    assert_eq!(
8936        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_family as *const _ as usize },
8937        4usize,
8938        concat!(
8939            "Offset of field: ",
8940            stringify!(addrinfo),
8941            "::",
8942            stringify!(ai_family)
8943        )
8944    );
8945    assert_eq!(
8946        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_socktype as *const _ as usize },
8947        8usize,
8948        concat!(
8949            "Offset of field: ",
8950            stringify!(addrinfo),
8951            "::",
8952            stringify!(ai_socktype)
8953        )
8954    );
8955    assert_eq!(
8956        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_protocol as *const _ as usize },
8957        12usize,
8958        concat!(
8959            "Offset of field: ",
8960            stringify!(addrinfo),
8961            "::",
8962            stringify!(ai_protocol)
8963        )
8964    );
8965    assert_eq!(
8966        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addrlen as *const _ as usize },
8967        16usize,
8968        concat!(
8969            "Offset of field: ",
8970            stringify!(addrinfo),
8971            "::",
8972            stringify!(ai_addrlen)
8973        )
8974    );
8975    assert_eq!(
8976        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_canonname as *const _ as usize },
8977        20usize,
8978        concat!(
8979            "Offset of field: ",
8980            stringify!(addrinfo),
8981            "::",
8982            stringify!(ai_canonname)
8983        )
8984    );
8985    assert_eq!(
8986        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addr as *const _ as usize },
8987        24usize,
8988        concat!(
8989            "Offset of field: ",
8990            stringify!(addrinfo),
8991            "::",
8992            stringify!(ai_addr)
8993        )
8994    );
8995    assert_eq!(
8996        unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_next as *const _ as usize },
8997        28usize,
8998        concat!(
8999            "Offset of field: ",
9000            stringify!(addrinfo),
9001            "::",
9002            stringify!(ai_next)
9003        )
9004    );
9005}
9006extern "C" {
9007    pub fn getaddrinfo(
9008        __node: *const ::std::os::raw::c_char,
9009        __service: *const ::std::os::raw::c_char,
9010        __hints: *const addrinfo,
9011        __result: *mut *mut addrinfo,
9012    ) -> ::std::os::raw::c_int;
9013}
9014extern "C" {
9015    pub fn freeaddrinfo(__ptr: *mut addrinfo);
9016}
9017extern "C" {
9018    pub fn getnameinfo(
9019        __sa: *const sockaddr,
9020        __sa_length: socklen_t,
9021        __host: *mut ::std::os::raw::c_char,
9022        __host_length: usize,
9023        __service: *mut ::std::os::raw::c_char,
9024        __service_length: usize,
9025        __flags: ::std::os::raw::c_int,
9026    ) -> ::std::os::raw::c_int;
9027}
9028extern "C" {
9029    pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9030}
9031extern "C" {
9032    pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
9033}
9034extern "C" {
9035    pub fn herror(__s: *const ::std::os::raw::c_char);
9036}
9037extern "C" {
9038    pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9039}
9040extern "C" {
9041    pub fn gethostbyaddr(
9042        __addr: *const ::std::os::raw::c_void,
9043        __length: socklen_t,
9044        __type: ::std::os::raw::c_int,
9045    ) -> *mut hostent;
9046}
9047extern "C" {
9048    pub fn gethostbyaddr_r(
9049        __addr: *const ::std::os::raw::c_void,
9050        __length: socklen_t,
9051        __type: ::std::os::raw::c_int,
9052        __ret: *mut hostent,
9053        __buf: *mut ::std::os::raw::c_char,
9054        __buf_size: usize,
9055        __result: *mut *mut hostent,
9056        __h_errno_ptr: *mut ::std::os::raw::c_int,
9057    ) -> ::std::os::raw::c_int;
9058}
9059extern "C" {
9060    pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
9061}
9062extern "C" {
9063    pub fn gethostbyname_r(
9064        __name: *const ::std::os::raw::c_char,
9065        __ret: *mut hostent,
9066        __buf: *mut ::std::os::raw::c_char,
9067        __buf_size: usize,
9068        __result: *mut *mut hostent,
9069        __h_errno_ptr: *mut ::std::os::raw::c_int,
9070    ) -> ::std::os::raw::c_int;
9071}
9072extern "C" {
9073    pub fn gethostbyname2(
9074        __name: *const ::std::os::raw::c_char,
9075        __af: ::std::os::raw::c_int,
9076    ) -> *mut hostent;
9077}
9078extern "C" {
9079    pub fn gethostbyname2_r(
9080        __name: *const ::std::os::raw::c_char,
9081        __af: ::std::os::raw::c_int,
9082        __ret: *mut hostent,
9083        __buf: *mut ::std::os::raw::c_char,
9084        __buf_size: usize,
9085        __result: *mut *mut hostent,
9086        __h_errno_ptr: *mut ::std::os::raw::c_int,
9087    ) -> ::std::os::raw::c_int;
9088}
9089extern "C" {
9090    pub fn endhostent();
9091}
9092extern "C" {
9093    pub fn gethostent() -> *mut hostent;
9094}
9095extern "C" {
9096    pub fn sethostent(__stay_open: ::std::os::raw::c_int);
9097}
9098extern "C" {
9099    pub fn endnetent();
9100}
9101extern "C" {
9102    pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
9103}
9104extern "C" {
9105    pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
9106}
9107extern "C" {
9108    pub fn getnetent() -> *mut netent;
9109}
9110extern "C" {
9111    pub fn setnetent(__stay_open: ::std::os::raw::c_int);
9112}
9113extern "C" {
9114    pub fn endprotoent();
9115}
9116extern "C" {
9117    pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
9118}
9119extern "C" {
9120    pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
9121}
9122extern "C" {
9123    pub fn getprotoent() -> *mut protoent;
9124}
9125extern "C" {
9126    pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
9127}
9128extern "C" {
9129    pub fn endservent();
9130}
9131extern "C" {
9132    pub fn getservbyname(
9133        __name: *const ::std::os::raw::c_char,
9134        __proto: *const ::std::os::raw::c_char,
9135    ) -> *mut servent;
9136}
9137extern "C" {
9138    pub fn getservbyport(
9139        __port_in_network_order: ::std::os::raw::c_int,
9140        __proto: *const ::std::os::raw::c_char,
9141    ) -> *mut servent;
9142}
9143extern "C" {
9144    pub fn getservent() -> *mut servent;
9145}
9146extern "C" {
9147    pub fn setservent(__stay_open: ::std::os::raw::c_int);
9148}
9149pub type fpos_t = off_t;
9150pub type fpos64_t = off64_t;
9151#[repr(C)]
9152#[derive(Debug, Copy, Clone)]
9153pub struct __sFILE {
9154    _unused: [u8; 0],
9155}
9156pub type FILE = __sFILE;
9157extern "C" {
9158    pub static mut stdin: *mut FILE;
9159}
9160extern "C" {
9161    pub static mut stdout: *mut FILE;
9162}
9163extern "C" {
9164    pub static mut stderr: *mut FILE;
9165}
9166extern "C" {
9167    pub fn clearerr(__fp: *mut FILE);
9168}
9169extern "C" {
9170    pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
9171}
9172extern "C" {
9173    pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
9174}
9175extern "C" {
9176    pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
9177}
9178extern "C" {
9179    pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
9180}
9181extern "C" {
9182    pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9183}
9184extern "C" {
9185    pub fn fgets(
9186        __buf: *mut ::std::os::raw::c_char,
9187        __size: ::std::os::raw::c_int,
9188        __fp: *mut FILE,
9189    ) -> *mut ::std::os::raw::c_char;
9190}
9191extern "C" {
9192    pub fn fprintf(
9193        __fp: *mut FILE,
9194        __fmt: *const ::std::os::raw::c_char,
9195        ...
9196    ) -> ::std::os::raw::c_int;
9197}
9198extern "C" {
9199    pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9200}
9201extern "C" {
9202    pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
9203}
9204extern "C" {
9205    pub fn fread(
9206        __buf: *mut ::std::os::raw::c_void,
9207        __size: ::std::os::raw::c_uint,
9208        __count: ::std::os::raw::c_uint,
9209        __fp: *mut FILE,
9210    ) -> ::std::os::raw::c_uint;
9211}
9212extern "C" {
9213    pub fn fscanf(
9214        __fp: *mut FILE,
9215        __fmt: *const ::std::os::raw::c_char,
9216        ...
9217    ) -> ::std::os::raw::c_int;
9218}
9219extern "C" {
9220    pub fn fwrite(
9221        __buf: *const ::std::os::raw::c_void,
9222        __size: ::std::os::raw::c_uint,
9223        __count: ::std::os::raw::c_uint,
9224        __fp: *mut FILE,
9225    ) -> ::std::os::raw::c_uint;
9226}
9227extern "C" {
9228    pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9229}
9230extern "C" {
9231    pub fn getchar() -> ::std::os::raw::c_int;
9232}
9233extern "C" {
9234    pub fn getdelim(
9235        __line_ptr: *mut *mut ::std::os::raw::c_char,
9236        __line_length_ptr: *mut usize,
9237        __delimiter: ::std::os::raw::c_int,
9238        __fp: *mut FILE,
9239    ) -> isize;
9240}
9241extern "C" {
9242    pub fn getline(
9243        __line_ptr: *mut *mut ::std::os::raw::c_char,
9244        __line_length_ptr: *mut usize,
9245        __fp: *mut FILE,
9246    ) -> isize;
9247}
9248extern "C" {
9249    pub fn perror(__msg: *const ::std::os::raw::c_char);
9250}
9251extern "C" {
9252    pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9253}
9254extern "C" {
9255    pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9256}
9257extern "C" {
9258    pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9259}
9260extern "C" {
9261    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9262}
9263extern "C" {
9264    pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9265}
9266extern "C" {
9267    pub fn rewind(__fp: *mut FILE);
9268}
9269extern "C" {
9270    pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9271}
9272extern "C" {
9273    pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
9274}
9275extern "C" {
9276    pub fn setvbuf(
9277        __fp: *mut FILE,
9278        __buf: *mut ::std::os::raw::c_char,
9279        __mode: ::std::os::raw::c_int,
9280        __size: usize,
9281    ) -> ::std::os::raw::c_int;
9282}
9283extern "C" {
9284    pub fn sscanf(
9285        __s: *const ::std::os::raw::c_char,
9286        __fmt: *const ::std::os::raw::c_char,
9287        ...
9288    ) -> ::std::os::raw::c_int;
9289}
9290extern "C" {
9291    pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9292}
9293extern "C" {
9294    pub fn vfprintf(
9295        __fp: *mut FILE,
9296        __fmt: *const ::std::os::raw::c_char,
9297        __args: __builtin_va_list,
9298    ) -> ::std::os::raw::c_int;
9299}
9300extern "C" {
9301    pub fn vprintf(
9302        __fp: *const ::std::os::raw::c_char,
9303        __args: __builtin_va_list,
9304    ) -> ::std::os::raw::c_int;
9305}
9306extern "C" {
9307    pub fn dprintf(
9308        __fd: ::std::os::raw::c_int,
9309        __fmt: *const ::std::os::raw::c_char,
9310        ...
9311    ) -> ::std::os::raw::c_int;
9312}
9313extern "C" {
9314    pub fn vdprintf(
9315        __fd: ::std::os::raw::c_int,
9316        __fmt: *const ::std::os::raw::c_char,
9317        __args: va_list,
9318    ) -> ::std::os::raw::c_int;
9319}
9320extern "C" {
9321    pub fn sprintf(
9322        __s: *mut ::std::os::raw::c_char,
9323        __fmt: *const ::std::os::raw::c_char,
9324        ...
9325    ) -> ::std::os::raw::c_int;
9326}
9327extern "C" {
9328    pub fn vsprintf(
9329        __s: *mut ::std::os::raw::c_char,
9330        __fmt: *const ::std::os::raw::c_char,
9331        __args: __builtin_va_list,
9332    ) -> ::std::os::raw::c_int;
9333}
9334extern "C" {
9335    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9336}
9337extern "C" {
9338    pub fn tempnam(
9339        __dir: *const ::std::os::raw::c_char,
9340        __prefix: *const ::std::os::raw::c_char,
9341    ) -> *mut ::std::os::raw::c_char;
9342}
9343extern "C" {
9344    pub fn rename(
9345        __old_path: *const ::std::os::raw::c_char,
9346        __new_path: *const ::std::os::raw::c_char,
9347    ) -> ::std::os::raw::c_int;
9348}
9349extern "C" {
9350    pub fn renameat(
9351        __old_dir_fd: ::std::os::raw::c_int,
9352        __old_path: *const ::std::os::raw::c_char,
9353        __new_dir_fd: ::std::os::raw::c_int,
9354        __new_path: *const ::std::os::raw::c_char,
9355    ) -> ::std::os::raw::c_int;
9356}
9357extern "C" {
9358    pub fn fseek(
9359        __fp: *mut FILE,
9360        __offset: ::std::os::raw::c_long,
9361        __whence: ::std::os::raw::c_int,
9362    ) -> ::std::os::raw::c_int;
9363}
9364extern "C" {
9365    pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
9366}
9367extern "C" {
9368    pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
9369}
9370extern "C" {
9371    pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
9372}
9373extern "C" {
9374    pub fn fseeko(
9375        __fp: *mut FILE,
9376        __offset: off_t,
9377        __whence: ::std::os::raw::c_int,
9378    ) -> ::std::os::raw::c_int;
9379}
9380extern "C" {
9381    pub fn ftello(__fp: *mut FILE) -> off_t;
9382}
9383extern "C" {
9384    pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
9385}
9386extern "C" {
9387    pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
9388}
9389extern "C" {
9390    pub fn fseeko64(
9391        __fp: *mut FILE,
9392        __offset: off64_t,
9393        __whence: ::std::os::raw::c_int,
9394    ) -> ::std::os::raw::c_int;
9395}
9396extern "C" {
9397    pub fn ftello64(__fp: *mut FILE) -> off64_t;
9398}
9399extern "C" {
9400    pub fn fopen(
9401        __path: *const ::std::os::raw::c_char,
9402        __mode: *const ::std::os::raw::c_char,
9403    ) -> *mut FILE;
9404}
9405extern "C" {
9406    pub fn fopen64(
9407        __path: *const ::std::os::raw::c_char,
9408        __mode: *const ::std::os::raw::c_char,
9409    ) -> *mut FILE;
9410}
9411extern "C" {
9412    pub fn freopen(
9413        __path: *const ::std::os::raw::c_char,
9414        __mode: *const ::std::os::raw::c_char,
9415        __fp: *mut FILE,
9416    ) -> *mut FILE;
9417}
9418extern "C" {
9419    pub fn freopen64(
9420        __path: *const ::std::os::raw::c_char,
9421        __mode: *const ::std::os::raw::c_char,
9422        __fp: *mut FILE,
9423    ) -> *mut FILE;
9424}
9425extern "C" {
9426    pub fn tmpfile() -> *mut FILE;
9427}
9428extern "C" {
9429    pub fn tmpfile64() -> *mut FILE;
9430}
9431extern "C" {
9432    pub fn snprintf(
9433        __buf: *mut ::std::os::raw::c_char,
9434        __size: ::std::os::raw::c_uint,
9435        __fmt: *const ::std::os::raw::c_char,
9436        ...
9437    ) -> ::std::os::raw::c_int;
9438}
9439extern "C" {
9440    pub fn vfscanf(
9441        __fp: *mut FILE,
9442        __fmt: *const ::std::os::raw::c_char,
9443        __args: __builtin_va_list,
9444    ) -> ::std::os::raw::c_int;
9445}
9446extern "C" {
9447    pub fn vscanf(
9448        __fmt: *const ::std::os::raw::c_char,
9449        __args: __builtin_va_list,
9450    ) -> ::std::os::raw::c_int;
9451}
9452extern "C" {
9453    pub fn vsnprintf(
9454        __buf: *mut ::std::os::raw::c_char,
9455        __size: ::std::os::raw::c_uint,
9456        __fmt: *const ::std::os::raw::c_char,
9457        __args: __builtin_va_list,
9458    ) -> ::std::os::raw::c_int;
9459}
9460extern "C" {
9461    pub fn vsscanf(
9462        __s: *const ::std::os::raw::c_char,
9463        __fmt: *const ::std::os::raw::c_char,
9464        __args: __builtin_va_list,
9465    ) -> ::std::os::raw::c_int;
9466}
9467extern "C" {
9468    pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9469}
9470extern "C" {
9471    pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
9472}
9473extern "C" {
9474    pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
9475}
9476extern "C" {
9477    pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
9478}
9479extern "C" {
9480    pub fn popen(
9481        __command: *const ::std::os::raw::c_char,
9482        __mode: *const ::std::os::raw::c_char,
9483    ) -> *mut FILE;
9484}
9485extern "C" {
9486    pub fn flockfile(__fp: *mut FILE);
9487}
9488extern "C" {
9489    pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
9490}
9491extern "C" {
9492    pub fn funlockfile(__fp: *mut FILE);
9493}
9494extern "C" {
9495    pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9496}
9497extern "C" {
9498    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
9499}
9500extern "C" {
9501    pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9502}
9503extern "C" {
9504    pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9505}
9506extern "C" {
9507    pub fn fmemopen(
9508        __buf: *mut ::std::os::raw::c_void,
9509        __size: usize,
9510        __mode: *const ::std::os::raw::c_char,
9511    ) -> *mut FILE;
9512}
9513extern "C" {
9514    pub fn open_memstream(
9515        __ptr: *mut *mut ::std::os::raw::c_char,
9516        __size_ptr: *mut usize,
9517    ) -> *mut FILE;
9518}
9519extern "C" {
9520    pub fn asprintf(
9521        __s_ptr: *mut *mut ::std::os::raw::c_char,
9522        __fmt: *const ::std::os::raw::c_char,
9523        ...
9524    ) -> ::std::os::raw::c_int;
9525}
9526extern "C" {
9527    pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut usize) -> *mut ::std::os::raw::c_char;
9528}
9529extern "C" {
9530    pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
9531}
9532extern "C" {
9533    pub fn setbuffer(
9534        __fp: *mut FILE,
9535        __buf: *mut ::std::os::raw::c_char,
9536        __size: ::std::os::raw::c_int,
9537    );
9538}
9539extern "C" {
9540    pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
9541}
9542extern "C" {
9543    pub fn vasprintf(
9544        __s_ptr: *mut *mut ::std::os::raw::c_char,
9545        __fmt: *const ::std::os::raw::c_char,
9546        __args: va_list,
9547    ) -> ::std::os::raw::c_int;
9548}
9549extern "C" {
9550    pub fn clearerr_unlocked(__fp: *mut FILE);
9551}
9552extern "C" {
9553    pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9554}
9555extern "C" {
9556    pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9557}
9558extern "C" {
9559    pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9560}
9561extern "C" {
9562    pub fn malloc(__byte_count: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
9563}
9564extern "C" {
9565    pub fn calloc(
9566        __item_count: ::std::os::raw::c_uint,
9567        __item_size: ::std::os::raw::c_uint,
9568    ) -> *mut ::std::os::raw::c_void;
9569}
9570extern "C" {
9571    pub fn realloc(
9572        __ptr: *mut ::std::os::raw::c_void,
9573        __byte_count: ::std::os::raw::c_uint,
9574    ) -> *mut ::std::os::raw::c_void;
9575}
9576extern "C" {
9577    pub fn reallocarray(
9578        __ptr: *mut ::std::os::raw::c_void,
9579        __item_count: usize,
9580        __item_size: usize,
9581    ) -> *mut ::std::os::raw::c_void;
9582}
9583extern "C" {
9584    pub fn free(__ptr: *mut ::std::os::raw::c_void);
9585}
9586extern "C" {
9587    pub fn memalign(__alignment: usize, __byte_count: usize) -> *mut ::std::os::raw::c_void;
9588}
9589extern "C" {
9590    pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> usize;
9591}
9592#[repr(C)]
9593#[derive(Debug, Copy, Clone)]
9594pub struct mallinfo {
9595    pub arena: usize,
9596    pub ordblks: usize,
9597    pub smblks: usize,
9598    pub hblks: usize,
9599    pub hblkhd: usize,
9600    pub usmblks: usize,
9601    pub fsmblks: usize,
9602    pub uordblks: usize,
9603    pub fordblks: usize,
9604    pub keepcost: usize,
9605}
9606#[test]
9607fn bindgen_test_layout_mallinfo() {
9608    assert_eq!(
9609        ::std::mem::size_of::<mallinfo>(),
9610        40usize,
9611        concat!("Size of: ", stringify!(mallinfo))
9612    );
9613    assert_eq!(
9614        ::std::mem::align_of::<mallinfo>(),
9615        4usize,
9616        concat!("Alignment of ", stringify!(mallinfo))
9617    );
9618    assert_eq!(
9619        unsafe { &(*(::std::ptr::null::<mallinfo>())).arena as *const _ as usize },
9620        0usize,
9621        concat!(
9622            "Offset of field: ",
9623            stringify!(mallinfo),
9624            "::",
9625            stringify!(arena)
9626        )
9627    );
9628    assert_eq!(
9629        unsafe { &(*(::std::ptr::null::<mallinfo>())).ordblks as *const _ as usize },
9630        4usize,
9631        concat!(
9632            "Offset of field: ",
9633            stringify!(mallinfo),
9634            "::",
9635            stringify!(ordblks)
9636        )
9637    );
9638    assert_eq!(
9639        unsafe { &(*(::std::ptr::null::<mallinfo>())).smblks as *const _ as usize },
9640        8usize,
9641        concat!(
9642            "Offset of field: ",
9643            stringify!(mallinfo),
9644            "::",
9645            stringify!(smblks)
9646        )
9647    );
9648    assert_eq!(
9649        unsafe { &(*(::std::ptr::null::<mallinfo>())).hblks as *const _ as usize },
9650        12usize,
9651        concat!(
9652            "Offset of field: ",
9653            stringify!(mallinfo),
9654            "::",
9655            stringify!(hblks)
9656        )
9657    );
9658    assert_eq!(
9659        unsafe { &(*(::std::ptr::null::<mallinfo>())).hblkhd as *const _ as usize },
9660        16usize,
9661        concat!(
9662            "Offset of field: ",
9663            stringify!(mallinfo),
9664            "::",
9665            stringify!(hblkhd)
9666        )
9667    );
9668    assert_eq!(
9669        unsafe { &(*(::std::ptr::null::<mallinfo>())).usmblks as *const _ as usize },
9670        20usize,
9671        concat!(
9672            "Offset of field: ",
9673            stringify!(mallinfo),
9674            "::",
9675            stringify!(usmblks)
9676        )
9677    );
9678    assert_eq!(
9679        unsafe { &(*(::std::ptr::null::<mallinfo>())).fsmblks as *const _ as usize },
9680        24usize,
9681        concat!(
9682            "Offset of field: ",
9683            stringify!(mallinfo),
9684            "::",
9685            stringify!(fsmblks)
9686        )
9687    );
9688    assert_eq!(
9689        unsafe { &(*(::std::ptr::null::<mallinfo>())).uordblks as *const _ as usize },
9690        28usize,
9691        concat!(
9692            "Offset of field: ",
9693            stringify!(mallinfo),
9694            "::",
9695            stringify!(uordblks)
9696        )
9697    );
9698    assert_eq!(
9699        unsafe { &(*(::std::ptr::null::<mallinfo>())).fordblks as *const _ as usize },
9700        32usize,
9701        concat!(
9702            "Offset of field: ",
9703            stringify!(mallinfo),
9704            "::",
9705            stringify!(fordblks)
9706        )
9707    );
9708    assert_eq!(
9709        unsafe { &(*(::std::ptr::null::<mallinfo>())).keepcost as *const _ as usize },
9710        36usize,
9711        concat!(
9712            "Offset of field: ",
9713            stringify!(mallinfo),
9714            "::",
9715            stringify!(keepcost)
9716        )
9717    );
9718}
9719extern "C" {
9720    pub fn mallinfo() -> mallinfo;
9721}
9722extern "C" {
9723    pub fn malloc_info(
9724        __must_be_zero: ::std::os::raw::c_int,
9725        __fp: *mut FILE,
9726    ) -> ::std::os::raw::c_int;
9727}
9728extern "C" {
9729    pub fn mallopt(
9730        __option: ::std::os::raw::c_int,
9731        __value: ::std::os::raw::c_int,
9732    ) -> ::std::os::raw::c_int;
9733}
9734extern "C" {
9735    pub static mut __malloc_hook: ::std::option::Option<
9736        unsafe extern "C" fn(
9737            __byte_count: usize,
9738            __caller: *const ::std::os::raw::c_void,
9739        ) -> *mut ::std::os::raw::c_void,
9740    >;
9741}
9742extern "C" {
9743    pub static mut __realloc_hook: ::std::option::Option<
9744        unsafe extern "C" fn(
9745            __ptr: *mut ::std::os::raw::c_void,
9746            __byte_count: usize,
9747            __caller: *const ::std::os::raw::c_void,
9748        ) -> *mut ::std::os::raw::c_void,
9749    >;
9750}
9751extern "C" {
9752    pub static mut __free_hook: ::std::option::Option<
9753        unsafe extern "C" fn(
9754            __ptr: *mut ::std::os::raw::c_void,
9755            __caller: *const ::std::os::raw::c_void,
9756        ),
9757    >;
9758}
9759extern "C" {
9760    pub static mut __memalign_hook: ::std::option::Option<
9761        unsafe extern "C" fn(
9762            __alignment: usize,
9763            __byte_count: usize,
9764            __caller: *const ::std::os::raw::c_void,
9765        ) -> *mut ::std::os::raw::c_void,
9766    >;
9767}
9768#[repr(C)]
9769#[derive(Debug, Copy, Clone)]
9770pub struct __locale_t {
9771    _unused: [u8; 0],
9772}
9773pub type locale_t = *mut __locale_t;
9774extern "C" {
9775    pub fn abort();
9776}
9777extern "C" {
9778    pub fn exit(__status: ::std::os::raw::c_int);
9779}
9780extern "C" {
9781    pub fn _Exit(__status: ::std::os::raw::c_int);
9782}
9783extern "C" {
9784    pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
9785}
9786extern "C" {
9787    pub fn at_quick_exit(
9788        __fn: ::std::option::Option<unsafe extern "C" fn()>,
9789    ) -> ::std::os::raw::c_int;
9790}
9791extern "C" {
9792    pub fn quick_exit(__status: ::std::os::raw::c_int);
9793}
9794extern "C" {
9795    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9796}
9797extern "C" {
9798    pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9799}
9800extern "C" {
9801    pub fn setenv(
9802        __name: *const ::std::os::raw::c_char,
9803        __value: *const ::std::os::raw::c_char,
9804        __overwrite: ::std::os::raw::c_int,
9805    ) -> ::std::os::raw::c_int;
9806}
9807extern "C" {
9808    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9809}
9810extern "C" {
9811    pub fn clearenv() -> ::std::os::raw::c_int;
9812}
9813extern "C" {
9814    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9815}
9816extern "C" {
9817    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9818}
9819extern "C" {
9820    pub fn mkostemp64(
9821        __template: *mut ::std::os::raw::c_char,
9822        __flags: ::std::os::raw::c_int,
9823    ) -> ::std::os::raw::c_int;
9824}
9825extern "C" {
9826    pub fn mkostemp(
9827        __template: *mut ::std::os::raw::c_char,
9828        __flags: ::std::os::raw::c_int,
9829    ) -> ::std::os::raw::c_int;
9830}
9831extern "C" {
9832    pub fn mkostemps64(
9833        __template: *mut ::std::os::raw::c_char,
9834        __suffix_length: ::std::os::raw::c_int,
9835        __flags: ::std::os::raw::c_int,
9836    ) -> ::std::os::raw::c_int;
9837}
9838extern "C" {
9839    pub fn mkostemps(
9840        __template: *mut ::std::os::raw::c_char,
9841        __suffix_length: ::std::os::raw::c_int,
9842        __flags: ::std::os::raw::c_int,
9843    ) -> ::std::os::raw::c_int;
9844}
9845extern "C" {
9846    pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9847}
9848extern "C" {
9849    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9850}
9851extern "C" {
9852    pub fn mkstemps64(
9853        __template: *mut ::std::os::raw::c_char,
9854        __flags: ::std::os::raw::c_int,
9855    ) -> ::std::os::raw::c_int;
9856}
9857extern "C" {
9858    pub fn mkstemps(
9859        __template: *mut ::std::os::raw::c_char,
9860        __flags: ::std::os::raw::c_int,
9861    ) -> ::std::os::raw::c_int;
9862}
9863extern "C" {
9864    pub fn strtol(
9865        __s: *const ::std::os::raw::c_char,
9866        __end_ptr: *mut *mut ::std::os::raw::c_char,
9867        __base: ::std::os::raw::c_int,
9868    ) -> ::std::os::raw::c_long;
9869}
9870extern "C" {
9871    pub fn strtoll(
9872        __s: *const ::std::os::raw::c_char,
9873        __end_ptr: *mut *mut ::std::os::raw::c_char,
9874        __base: ::std::os::raw::c_int,
9875    ) -> ::std::os::raw::c_longlong;
9876}
9877extern "C" {
9878    pub fn strtoul(
9879        __s: *const ::std::os::raw::c_char,
9880        __end_ptr: *mut *mut ::std::os::raw::c_char,
9881        __base: ::std::os::raw::c_int,
9882    ) -> ::std::os::raw::c_ulong;
9883}
9884extern "C" {
9885    pub fn strtoull(
9886        __s: *const ::std::os::raw::c_char,
9887        __end_ptr: *mut *mut ::std::os::raw::c_char,
9888        __base: ::std::os::raw::c_int,
9889    ) -> ::std::os::raw::c_ulonglong;
9890}
9891extern "C" {
9892    pub fn posix_memalign(
9893        __memptr: *mut *mut ::std::os::raw::c_void,
9894        __alignment: usize,
9895        __size: usize,
9896    ) -> ::std::os::raw::c_int;
9897}
9898extern "C" {
9899    pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
9900}
9901extern "C" {
9902    pub fn strtod(
9903        __s: *const ::std::os::raw::c_char,
9904        __end_ptr: *mut *mut ::std::os::raw::c_char,
9905    ) -> f64;
9906}
9907extern "C" {
9908    pub fn strtoul_l(
9909        __s: *const ::std::os::raw::c_char,
9910        __end_ptr: *mut *mut ::std::os::raw::c_char,
9911        __base: ::std::os::raw::c_int,
9912        __l: locale_t,
9913    ) -> ::std::os::raw::c_ulong;
9914}
9915extern "C" {
9916    pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9917}
9918extern "C" {
9919    pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
9920}
9921extern "C" {
9922    pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
9923}
9924extern "C" {
9925    pub fn realpath(
9926        __path: *const ::std::os::raw::c_char,
9927        __resolved: *mut ::std::os::raw::c_char,
9928    ) -> *mut ::std::os::raw::c_char;
9929}
9930extern "C" {
9931    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9932}
9933extern "C" {
9934    pub fn bsearch(
9935        __key: *const ::std::os::raw::c_void,
9936        __base: *const ::std::os::raw::c_void,
9937        __nmemb: usize,
9938        __size: usize,
9939        __comparator: ::std::option::Option<
9940            unsafe extern "C" fn(
9941                __lhs: *const ::std::os::raw::c_void,
9942                __rhs: *const ::std::os::raw::c_void,
9943            ) -> ::std::os::raw::c_int,
9944        >,
9945    ) -> *mut ::std::os::raw::c_void;
9946}
9947extern "C" {
9948    pub fn qsort(
9949        __base: *mut ::std::os::raw::c_void,
9950        __nmemb: usize,
9951        __size: usize,
9952        __comparator: ::std::option::Option<
9953            unsafe extern "C" fn(
9954                __lhs: *const ::std::os::raw::c_void,
9955                __rhs: *const ::std::os::raw::c_void,
9956            ) -> ::std::os::raw::c_int,
9957        >,
9958    );
9959}
9960extern "C" {
9961    pub fn arc4random() -> u32;
9962}
9963extern "C" {
9964    pub fn arc4random_uniform(__upper_bound: u32) -> u32;
9965}
9966extern "C" {
9967    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: usize);
9968}
9969extern "C" {
9970    pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
9971}
9972extern "C" {
9973    pub fn drand48() -> f64;
9974}
9975extern "C" {
9976    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
9977}
9978extern "C" {
9979    pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
9980}
9981extern "C" {
9982    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
9983}
9984extern "C" {
9985    pub fn lrand48() -> ::std::os::raw::c_long;
9986}
9987extern "C" {
9988    pub fn mrand48() -> ::std::os::raw::c_long;
9989}
9990extern "C" {
9991    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
9992}
9993extern "C" {
9994    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
9995}
9996extern "C" {
9997    pub fn srand48(__seed: ::std::os::raw::c_long);
9998}
9999extern "C" {
10000    pub fn initstate(
10001        __seed: ::std::os::raw::c_uint,
10002        __state: *mut ::std::os::raw::c_char,
10003        __n: usize,
10004    ) -> *mut ::std::os::raw::c_char;
10005}
10006extern "C" {
10007    pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10008}
10009extern "C" {
10010    pub fn getpt() -> ::std::os::raw::c_int;
10011}
10012extern "C" {
10013    pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10014}
10015extern "C" {
10016    pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
10017}
10018extern "C" {
10019    pub fn ptsname_r(
10020        __fd: ::std::os::raw::c_int,
10021        __buf: *mut ::std::os::raw::c_char,
10022        __n: usize,
10023    ) -> ::std::os::raw::c_int;
10024}
10025extern "C" {
10026    pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10027}
10028extern "C" {
10029    pub fn getsubopt(
10030        __option: *mut *mut ::std::os::raw::c_char,
10031        __tokens: *const *mut ::std::os::raw::c_char,
10032        __value_ptr: *mut *mut ::std::os::raw::c_char,
10033    ) -> ::std::os::raw::c_int;
10034}
10035#[repr(C)]
10036#[derive(Debug, Copy, Clone)]
10037pub struct div_t {
10038    pub quot: ::std::os::raw::c_int,
10039    pub rem: ::std::os::raw::c_int,
10040}
10041#[test]
10042fn bindgen_test_layout_div_t() {
10043    assert_eq!(
10044        ::std::mem::size_of::<div_t>(),
10045        8usize,
10046        concat!("Size of: ", stringify!(div_t))
10047    );
10048    assert_eq!(
10049        ::std::mem::align_of::<div_t>(),
10050        4usize,
10051        concat!("Alignment of ", stringify!(div_t))
10052    );
10053    assert_eq!(
10054        unsafe { &(*(::std::ptr::null::<div_t>())).quot as *const _ as usize },
10055        0usize,
10056        concat!(
10057            "Offset of field: ",
10058            stringify!(div_t),
10059            "::",
10060            stringify!(quot)
10061        )
10062    );
10063    assert_eq!(
10064        unsafe { &(*(::std::ptr::null::<div_t>())).rem as *const _ as usize },
10065        4usize,
10066        concat!(
10067            "Offset of field: ",
10068            stringify!(div_t),
10069            "::",
10070            stringify!(rem)
10071        )
10072    );
10073}
10074extern "C" {
10075    pub fn div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t;
10076}
10077#[repr(C)]
10078#[derive(Debug, Copy, Clone)]
10079pub struct ldiv_t {
10080    pub quot: ::std::os::raw::c_long,
10081    pub rem: ::std::os::raw::c_long,
10082}
10083#[test]
10084fn bindgen_test_layout_ldiv_t() {
10085    assert_eq!(
10086        ::std::mem::size_of::<ldiv_t>(),
10087        8usize,
10088        concat!("Size of: ", stringify!(ldiv_t))
10089    );
10090    assert_eq!(
10091        ::std::mem::align_of::<ldiv_t>(),
10092        4usize,
10093        concat!("Alignment of ", stringify!(ldiv_t))
10094    );
10095    assert_eq!(
10096        unsafe { &(*(::std::ptr::null::<ldiv_t>())).quot as *const _ as usize },
10097        0usize,
10098        concat!(
10099            "Offset of field: ",
10100            stringify!(ldiv_t),
10101            "::",
10102            stringify!(quot)
10103        )
10104    );
10105    assert_eq!(
10106        unsafe { &(*(::std::ptr::null::<ldiv_t>())).rem as *const _ as usize },
10107        4usize,
10108        concat!(
10109            "Offset of field: ",
10110            stringify!(ldiv_t),
10111            "::",
10112            stringify!(rem)
10113        )
10114    );
10115}
10116extern "C" {
10117    pub fn ldiv(
10118        __numerator: ::std::os::raw::c_long,
10119        __denominator: ::std::os::raw::c_long,
10120    ) -> ldiv_t;
10121}
10122#[repr(C)]
10123#[derive(Debug, Copy, Clone)]
10124pub struct lldiv_t {
10125    pub quot: ::std::os::raw::c_longlong,
10126    pub rem: ::std::os::raw::c_longlong,
10127}
10128#[test]
10129fn bindgen_test_layout_lldiv_t() {
10130    assert_eq!(
10131        ::std::mem::size_of::<lldiv_t>(),
10132        16usize,
10133        concat!("Size of: ", stringify!(lldiv_t))
10134    );
10135    assert_eq!(
10136        ::std::mem::align_of::<lldiv_t>(),
10137        8usize,
10138        concat!("Alignment of ", stringify!(lldiv_t))
10139    );
10140    assert_eq!(
10141        unsafe { &(*(::std::ptr::null::<lldiv_t>())).quot as *const _ as usize },
10142        0usize,
10143        concat!(
10144            "Offset of field: ",
10145            stringify!(lldiv_t),
10146            "::",
10147            stringify!(quot)
10148        )
10149    );
10150    assert_eq!(
10151        unsafe { &(*(::std::ptr::null::<lldiv_t>())).rem as *const _ as usize },
10152        8usize,
10153        concat!(
10154            "Offset of field: ",
10155            stringify!(lldiv_t),
10156            "::",
10157            stringify!(rem)
10158        )
10159    );
10160}
10161extern "C" {
10162    pub fn lldiv(
10163        __numerator: ::std::os::raw::c_longlong,
10164        __denominator: ::std::os::raw::c_longlong,
10165    ) -> lldiv_t;
10166}
10167extern "C" {
10168    pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10169}
10170extern "C" {
10171    pub fn getprogname() -> *const ::std::os::raw::c_char;
10172}
10173extern "C" {
10174    pub fn setprogname(__name: *const ::std::os::raw::c_char);
10175}
10176extern "C" {
10177    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
10178}
10179extern "C" {
10180    pub fn mbstowcs(__dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: usize)
10181        -> usize;
10182}
10183extern "C" {
10184    pub fn mbtowc(
10185        __wc_ptr: *mut wchar_t,
10186        __s: *const ::std::os::raw::c_char,
10187        __n: usize,
10188    ) -> ::std::os::raw::c_int;
10189}
10190extern "C" {
10191    pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
10192}
10193extern "C" {
10194    pub fn wcstombs(__dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: usize)
10195        -> usize;
10196}
10197extern "C" {
10198    pub fn __ctype_get_mb_cur_max() -> usize;
10199}
10200extern "C" {
10201    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10202}
10203extern "C" {
10204    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
10205}
10206extern "C" {
10207    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
10208}
10209extern "C" {
10210    pub fn strtof(
10211        __s: *const ::std::os::raw::c_char,
10212        __end_ptr: *mut *mut ::std::os::raw::c_char,
10213    ) -> f32;
10214}
10215extern "C" {
10216    pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
10217}
10218extern "C" {
10219    pub fn rand() -> ::std::os::raw::c_int;
10220}
10221extern "C" {
10222    pub fn srand(__seed: ::std::os::raw::c_uint);
10223}
10224extern "C" {
10225    pub fn random() -> ::std::os::raw::c_long;
10226}
10227extern "C" {
10228    pub fn srandom(__seed: ::std::os::raw::c_uint);
10229}
10230extern "C" {
10231    pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10232}
10233extern "C" {
10234    pub fn strtoll_l(
10235        __s: *const ::std::os::raw::c_char,
10236        __end_ptr: *mut *mut ::std::os::raw::c_char,
10237        __base: ::std::os::raw::c_int,
10238        __l: locale_t,
10239    ) -> ::std::os::raw::c_longlong;
10240}
10241extern "C" {
10242    pub fn strtoull_l(
10243        __s: *const ::std::os::raw::c_char,
10244        __end_ptr: *mut *mut ::std::os::raw::c_char,
10245        __base: ::std::os::raw::c_int,
10246        __l: locale_t,
10247    ) -> ::std::os::raw::c_ulonglong;
10248}
10249extern "C" {
10250    pub fn strtold_l(
10251        __s: *const ::std::os::raw::c_char,
10252        __end_ptr: *mut *mut ::std::os::raw::c_char,
10253        __l: locale_t,
10254    ) -> f64;
10255}
10256extern "C" {
10257    pub fn strtod_l(
10258        __s: *const ::std::os::raw::c_char,
10259        __end_ptr: *mut *mut ::std::os::raw::c_char,
10260        __l: locale_t,
10261    ) -> f64;
10262}
10263extern "C" {
10264    pub fn strtof_l(
10265        __s: *const ::std::os::raw::c_char,
10266        __end_ptr: *mut *mut ::std::os::raw::c_char,
10267        __l: locale_t,
10268    ) -> f32;
10269}
10270extern "C" {
10271    pub fn strtol_l(
10272        __s: *const ::std::os::raw::c_char,
10273        __end_ptr: *mut *mut ::std::os::raw::c_char,
10274        arg1: ::std::os::raw::c_int,
10275        __l: locale_t,
10276    ) -> ::std::os::raw::c_long;
10277}
10278pub type net_handle_t = u64;
10279extern "C" {
10280    pub fn android_setsocknetwork(
10281        network: net_handle_t,
10282        fd: ::std::os::raw::c_int,
10283    ) -> ::std::os::raw::c_int;
10284}
10285extern "C" {
10286    pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
10287}
10288extern "C" {
10289    pub fn android_getaddrinfofornetwork(
10290        network: net_handle_t,
10291        node: *const ::std::os::raw::c_char,
10292        service: *const ::std::os::raw::c_char,
10293        hints: *const addrinfo,
10294        res: *mut *mut addrinfo,
10295    ) -> ::std::os::raw::c_int;
10296}
10297pub const ResNsendFlags_ANDROID_RESOLV_NO_RETRY: ResNsendFlags = 1;
10298pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = 2;
10299pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = 4;
10300pub type ResNsendFlags = u32;
10301extern "C" {
10302    pub fn android_res_nquery(
10303        network: net_handle_t,
10304        dname: *const ::std::os::raw::c_char,
10305        ns_class: ::std::os::raw::c_int,
10306        ns_type: ::std::os::raw::c_int,
10307        flags: u32,
10308    ) -> ::std::os::raw::c_int;
10309}
10310extern "C" {
10311    pub fn android_res_nsend(
10312        network: net_handle_t,
10313        msg: *const u8,
10314        msglen: usize,
10315        flags: u32,
10316    ) -> ::std::os::raw::c_int;
10317}
10318extern "C" {
10319    pub fn android_res_nresult(
10320        fd: ::std::os::raw::c_int,
10321        rcode: *mut ::std::os::raw::c_int,
10322        answer: *mut u8,
10323        anslen: usize,
10324    ) -> ::std::os::raw::c_int;
10325}
10326extern "C" {
10327    pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
10328}
10329pub const OperandCode_ANEURALNETWORKS_FLOAT32: OperandCode = 0;
10330pub const OperandCode_ANEURALNETWORKS_INT32: OperandCode = 1;
10331pub const OperandCode_ANEURALNETWORKS_UINT32: OperandCode = 2;
10332pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = 3;
10333pub const OperandCode_ANEURALNETWORKS_TENSOR_INT32: OperandCode = 4;
10334pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = 5;
10335pub const OperandCode_ANEURALNETWORKS_BOOL: OperandCode = 6;
10336pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = 7;
10337pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = 8;
10338pub const OperandCode_ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = 9;
10339pub const OperandCode_ANEURALNETWORKS_FLOAT16: OperandCode = 10;
10340pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = 11;
10341pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = 12;
10342pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = 13;
10343pub type OperandCode = u32;
10344pub const OperationCode_ANEURALNETWORKS_ADD: OperationCode = 0;
10345pub const OperationCode_ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = 1;
10346pub const OperationCode_ANEURALNETWORKS_CONCATENATION: OperationCode = 2;
10347pub const OperationCode_ANEURALNETWORKS_CONV_2D: OperationCode = 3;
10348pub const OperationCode_ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = 4;
10349pub const OperationCode_ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = 5;
10350pub const OperationCode_ANEURALNETWORKS_DEQUANTIZE: OperationCode = 6;
10351pub const OperationCode_ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = 7;
10352pub const OperationCode_ANEURALNETWORKS_FLOOR: OperationCode = 8;
10353pub const OperationCode_ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = 9;
10354pub const OperationCode_ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = 10;
10355pub const OperationCode_ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = 11;
10356pub const OperationCode_ANEURALNETWORKS_L2_POOL_2D: OperationCode = 12;
10357pub const OperationCode_ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = 13;
10358pub const OperationCode_ANEURALNETWORKS_LOGISTIC: OperationCode = 14;
10359pub const OperationCode_ANEURALNETWORKS_LSH_PROJECTION: OperationCode = 15;
10360pub const OperationCode_ANEURALNETWORKS_LSTM: OperationCode = 16;
10361pub const OperationCode_ANEURALNETWORKS_MAX_POOL_2D: OperationCode = 17;
10362pub const OperationCode_ANEURALNETWORKS_MUL: OperationCode = 18;
10363pub const OperationCode_ANEURALNETWORKS_RELU: OperationCode = 19;
10364pub const OperationCode_ANEURALNETWORKS_RELU1: OperationCode = 20;
10365pub const OperationCode_ANEURALNETWORKS_RELU6: OperationCode = 21;
10366pub const OperationCode_ANEURALNETWORKS_RESHAPE: OperationCode = 22;
10367pub const OperationCode_ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = 23;
10368pub const OperationCode_ANEURALNETWORKS_RNN: OperationCode = 24;
10369pub const OperationCode_ANEURALNETWORKS_SOFTMAX: OperationCode = 25;
10370pub const OperationCode_ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = 26;
10371pub const OperationCode_ANEURALNETWORKS_SVDF: OperationCode = 27;
10372pub const OperationCode_ANEURALNETWORKS_TANH: OperationCode = 28;
10373pub const OperationCode_ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = 29;
10374pub const OperationCode_ANEURALNETWORKS_DIV: OperationCode = 30;
10375pub const OperationCode_ANEURALNETWORKS_MEAN: OperationCode = 31;
10376pub const OperationCode_ANEURALNETWORKS_PAD: OperationCode = 32;
10377pub const OperationCode_ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = 33;
10378pub const OperationCode_ANEURALNETWORKS_SQUEEZE: OperationCode = 34;
10379pub const OperationCode_ANEURALNETWORKS_STRIDED_SLICE: OperationCode = 35;
10380pub const OperationCode_ANEURALNETWORKS_SUB: OperationCode = 36;
10381pub const OperationCode_ANEURALNETWORKS_TRANSPOSE: OperationCode = 37;
10382pub const OperationCode_ANEURALNETWORKS_ABS: OperationCode = 38;
10383pub const OperationCode_ANEURALNETWORKS_ARGMAX: OperationCode = 39;
10384pub const OperationCode_ANEURALNETWORKS_ARGMIN: OperationCode = 40;
10385pub const OperationCode_ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = 41;
10386pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 42;
10387pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 43;
10388pub const OperationCode_ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = 44;
10389pub const OperationCode_ANEURALNETWORKS_CAST: OperationCode = 45;
10390pub const OperationCode_ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = 46;
10391pub const OperationCode_ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = 47;
10392pub const OperationCode_ANEURALNETWORKS_EQUAL: OperationCode = 48;
10393pub const OperationCode_ANEURALNETWORKS_EXP: OperationCode = 49;
10394pub const OperationCode_ANEURALNETWORKS_EXPAND_DIMS: OperationCode = 50;
10395pub const OperationCode_ANEURALNETWORKS_GATHER: OperationCode = 51;
10396pub const OperationCode_ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = 52;
10397pub const OperationCode_ANEURALNETWORKS_GREATER: OperationCode = 53;
10398pub const OperationCode_ANEURALNETWORKS_GREATER_EQUAL: OperationCode = 54;
10399pub const OperationCode_ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = 55;
10400pub const OperationCode_ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = 56;
10401pub const OperationCode_ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = 57;
10402pub const OperationCode_ANEURALNETWORKS_LESS: OperationCode = 58;
10403pub const OperationCode_ANEURALNETWORKS_LESS_EQUAL: OperationCode = 59;
10404pub const OperationCode_ANEURALNETWORKS_LOG: OperationCode = 60;
10405pub const OperationCode_ANEURALNETWORKS_LOGICAL_AND: OperationCode = 61;
10406pub const OperationCode_ANEURALNETWORKS_LOGICAL_NOT: OperationCode = 62;
10407pub const OperationCode_ANEURALNETWORKS_LOGICAL_OR: OperationCode = 63;
10408pub const OperationCode_ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = 64;
10409pub const OperationCode_ANEURALNETWORKS_MAXIMUM: OperationCode = 65;
10410pub const OperationCode_ANEURALNETWORKS_MINIMUM: OperationCode = 66;
10411pub const OperationCode_ANEURALNETWORKS_NEG: OperationCode = 67;
10412pub const OperationCode_ANEURALNETWORKS_NOT_EQUAL: OperationCode = 68;
10413pub const OperationCode_ANEURALNETWORKS_PAD_V2: OperationCode = 69;
10414pub const OperationCode_ANEURALNETWORKS_POW: OperationCode = 70;
10415pub const OperationCode_ANEURALNETWORKS_PRELU: OperationCode = 71;
10416pub const OperationCode_ANEURALNETWORKS_QUANTIZE: OperationCode = 72;
10417pub const OperationCode_ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = 73;
10418pub const OperationCode_ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = 74;
10419pub const OperationCode_ANEURALNETWORKS_REDUCE_ALL: OperationCode = 75;
10420pub const OperationCode_ANEURALNETWORKS_REDUCE_ANY: OperationCode = 76;
10421pub const OperationCode_ANEURALNETWORKS_REDUCE_MAX: OperationCode = 77;
10422pub const OperationCode_ANEURALNETWORKS_REDUCE_MIN: OperationCode = 78;
10423pub const OperationCode_ANEURALNETWORKS_REDUCE_PROD: OperationCode = 79;
10424pub const OperationCode_ANEURALNETWORKS_REDUCE_SUM: OperationCode = 80;
10425pub const OperationCode_ANEURALNETWORKS_ROI_ALIGN: OperationCode = 81;
10426pub const OperationCode_ANEURALNETWORKS_ROI_POOLING: OperationCode = 82;
10427pub const OperationCode_ANEURALNETWORKS_RSQRT: OperationCode = 83;
10428pub const OperationCode_ANEURALNETWORKS_SELECT: OperationCode = 84;
10429pub const OperationCode_ANEURALNETWORKS_SIN: OperationCode = 85;
10430pub const OperationCode_ANEURALNETWORKS_SLICE: OperationCode = 86;
10431pub const OperationCode_ANEURALNETWORKS_SPLIT: OperationCode = 87;
10432pub const OperationCode_ANEURALNETWORKS_SQRT: OperationCode = 88;
10433pub const OperationCode_ANEURALNETWORKS_TILE: OperationCode = 89;
10434pub const OperationCode_ANEURALNETWORKS_TOPK_V2: OperationCode = 90;
10435pub const OperationCode_ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = 91;
10436pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 92;
10437pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 93;
10438pub const OperationCode_ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = 94;
10439pub type OperationCode = u32;
10440pub const FuseCode_ANEURALNETWORKS_FUSED_NONE: FuseCode = 0;
10441pub const FuseCode_ANEURALNETWORKS_FUSED_RELU: FuseCode = 1;
10442pub const FuseCode_ANEURALNETWORKS_FUSED_RELU1: FuseCode = 2;
10443pub const FuseCode_ANEURALNETWORKS_FUSED_RELU6: FuseCode = 3;
10444pub type FuseCode = u32;
10445pub const PaddingCode_ANEURALNETWORKS_PADDING_SAME: PaddingCode = 1;
10446pub const PaddingCode_ANEURALNETWORKS_PADDING_VALID: PaddingCode = 2;
10447pub type PaddingCode = u32;
10448pub const PreferenceCode_ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = 0;
10449pub const PreferenceCode_ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = 1;
10450pub const PreferenceCode_ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = 2;
10451pub type PreferenceCode = u32;
10452pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = 0;
10453pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = 1;
10454pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = 2;
10455pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = 3;
10456pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = 4;
10457pub type DeviceTypeCode = u32;
10458pub const ResultCode_ANEURALNETWORKS_NO_ERROR: ResultCode = 0;
10459pub const ResultCode_ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = 1;
10460pub const ResultCode_ANEURALNETWORKS_INCOMPLETE: ResultCode = 2;
10461pub const ResultCode_ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = 3;
10462pub const ResultCode_ANEURALNETWORKS_BAD_DATA: ResultCode = 4;
10463pub const ResultCode_ANEURALNETWORKS_OP_FAILED: ResultCode = 5;
10464pub const ResultCode_ANEURALNETWORKS_BAD_STATE: ResultCode = 6;
10465pub const ResultCode_ANEURALNETWORKS_UNMAPPABLE: ResultCode = 7;
10466pub const ResultCode_ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = 8;
10467pub const ResultCode_ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = 9;
10468pub type ResultCode = u32;
10469pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: _bindgen_ty_25 = 128;
10470pub type _bindgen_ty_25 = u32;
10471pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: _bindgen_ty_26 = 32;
10472pub type _bindgen_ty_26 = u32;
10473#[repr(C)]
10474#[derive(Debug, Copy, Clone)]
10475pub struct ANeuralNetworksMemory {
10476    _unused: [u8; 0],
10477}
10478#[repr(C)]
10479#[derive(Debug, Copy, Clone)]
10480pub struct ANeuralNetworksModel {
10481    _unused: [u8; 0],
10482}
10483#[repr(C)]
10484#[derive(Debug, Copy, Clone)]
10485pub struct ANeuralNetworksCompilation {
10486    _unused: [u8; 0],
10487}
10488#[repr(C)]
10489#[derive(Debug, Copy, Clone)]
10490pub struct ANeuralNetworksExecution {
10491    _unused: [u8; 0],
10492}
10493#[repr(C)]
10494#[derive(Debug, Copy, Clone)]
10495pub struct ANeuralNetworksSymmPerChannelQuantParams {
10496    pub channelDim: u32,
10497    pub scaleCount: u32,
10498    pub scales: *const f32,
10499}
10500#[test]
10501fn bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams() {
10502    assert_eq!(
10503        ::std::mem::size_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
10504        12usize,
10505        concat!(
10506            "Size of: ",
10507            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
10508        )
10509    );
10510    assert_eq!(
10511        ::std::mem::align_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
10512        4usize,
10513        concat!(
10514            "Alignment of ",
10515            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
10516        )
10517    );
10518    assert_eq!(
10519        unsafe {
10520            &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).channelDim
10521                as *const _ as usize
10522        },
10523        0usize,
10524        concat!(
10525            "Offset of field: ",
10526            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
10527            "::",
10528            stringify!(channelDim)
10529        )
10530    );
10531    assert_eq!(
10532        unsafe {
10533            &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scaleCount
10534                as *const _ as usize
10535        },
10536        4usize,
10537        concat!(
10538            "Offset of field: ",
10539            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
10540            "::",
10541            stringify!(scaleCount)
10542        )
10543    );
10544    assert_eq!(
10545        unsafe {
10546            &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scales as *const _
10547                as usize
10548        },
10549        8usize,
10550        concat!(
10551            "Offset of field: ",
10552            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
10553            "::",
10554            stringify!(scales)
10555        )
10556    );
10557}
10558#[repr(C)]
10559#[derive(Debug, Copy, Clone)]
10560pub struct ANeuralNetworksBurst {
10561    _unused: [u8; 0],
10562}
10563#[repr(C)]
10564#[derive(Debug, Copy, Clone)]
10565pub struct ANeuralNetworksOperandType {
10566    pub type_: i32,
10567    pub dimensionCount: u32,
10568    pub dimensions: *const u32,
10569    pub scale: f32,
10570    pub zeroPoint: i32,
10571}
10572#[test]
10573fn bindgen_test_layout_ANeuralNetworksOperandType() {
10574    assert_eq!(
10575        ::std::mem::size_of::<ANeuralNetworksOperandType>(),
10576        20usize,
10577        concat!("Size of: ", stringify!(ANeuralNetworksOperandType))
10578    );
10579    assert_eq!(
10580        ::std::mem::align_of::<ANeuralNetworksOperandType>(),
10581        4usize,
10582        concat!("Alignment of ", stringify!(ANeuralNetworksOperandType))
10583    );
10584    assert_eq!(
10585        unsafe {
10586            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).type_ as *const _ as usize
10587        },
10588        0usize,
10589        concat!(
10590            "Offset of field: ",
10591            stringify!(ANeuralNetworksOperandType),
10592            "::",
10593            stringify!(type_)
10594        )
10595    );
10596    assert_eq!(
10597        unsafe {
10598            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensionCount as *const _
10599                as usize
10600        },
10601        4usize,
10602        concat!(
10603            "Offset of field: ",
10604            stringify!(ANeuralNetworksOperandType),
10605            "::",
10606            stringify!(dimensionCount)
10607        )
10608    );
10609    assert_eq!(
10610        unsafe {
10611            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensions as *const _ as usize
10612        },
10613        8usize,
10614        concat!(
10615            "Offset of field: ",
10616            stringify!(ANeuralNetworksOperandType),
10617            "::",
10618            stringify!(dimensions)
10619        )
10620    );
10621    assert_eq!(
10622        unsafe {
10623            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).scale as *const _ as usize
10624        },
10625        12usize,
10626        concat!(
10627            "Offset of field: ",
10628            stringify!(ANeuralNetworksOperandType),
10629            "::",
10630            stringify!(scale)
10631        )
10632    );
10633    assert_eq!(
10634        unsafe {
10635            &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).zeroPoint as *const _ as usize
10636        },
10637        16usize,
10638        concat!(
10639            "Offset of field: ",
10640            stringify!(ANeuralNetworksOperandType),
10641            "::",
10642            stringify!(zeroPoint)
10643        )
10644    );
10645}
10646pub type ANeuralNetworksOperationType = i32;
10647#[repr(C)]
10648#[derive(Debug, Copy, Clone)]
10649pub struct ANeuralNetworksEvent {
10650    _unused: [u8; 0],
10651}
10652#[repr(C)]
10653#[derive(Debug, Copy, Clone)]
10654pub struct ANeuralNetworksDevice {
10655    _unused: [u8; 0],
10656}
10657extern "C" {
10658    pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
10659}
10660extern "C" {
10661    pub fn ANeuralNetworks_getDevice(
10662        devIndex: u32,
10663        device: *mut *mut ANeuralNetworksDevice,
10664    ) -> ::std::os::raw::c_int;
10665}
10666extern "C" {
10667    pub fn ANeuralNetworksDevice_getName(
10668        device: *const ANeuralNetworksDevice,
10669        name: *mut *const ::std::os::raw::c_char,
10670    ) -> ::std::os::raw::c_int;
10671}
10672extern "C" {
10673    pub fn ANeuralNetworksDevice_getType(
10674        device: *const ANeuralNetworksDevice,
10675        type_: *mut i32,
10676    ) -> ::std::os::raw::c_int;
10677}
10678extern "C" {
10679    pub fn ANeuralNetworksDevice_getVersion(
10680        device: *const ANeuralNetworksDevice,
10681        version: *mut *const ::std::os::raw::c_char,
10682    ) -> ::std::os::raw::c_int;
10683}
10684extern "C" {
10685    pub fn ANeuralNetworksDevice_getFeatureLevel(
10686        device: *const ANeuralNetworksDevice,
10687        featureLevel: *mut i64,
10688    ) -> ::std::os::raw::c_int;
10689}
10690extern "C" {
10691    pub fn ANeuralNetworksModel_getSupportedOperationsForDevices(
10692        model: *const ANeuralNetworksModel,
10693        devices: *const *const ANeuralNetworksDevice,
10694        numDevices: u32,
10695        supportedOps: *mut bool,
10696    ) -> ::std::os::raw::c_int;
10697}
10698extern "C" {
10699    pub fn ANeuralNetworksCompilation_createForDevices(
10700        model: *mut ANeuralNetworksModel,
10701        devices: *const *const ANeuralNetworksDevice,
10702        numDevices: u32,
10703        compilation: *mut *mut ANeuralNetworksCompilation,
10704    ) -> ::std::os::raw::c_int;
10705}
10706extern "C" {
10707    pub fn ANeuralNetworksCompilation_setCaching(
10708        compilation: *mut ANeuralNetworksCompilation,
10709        cacheDir: *const ::std::os::raw::c_char,
10710        token: *const u8,
10711    ) -> ::std::os::raw::c_int;
10712}
10713extern "C" {
10714    pub fn ANeuralNetworksExecution_compute(
10715        execution: *mut ANeuralNetworksExecution,
10716    ) -> ::std::os::raw::c_int;
10717}
10718extern "C" {
10719    pub fn ANeuralNetworksExecution_getOutputOperandRank(
10720        execution: *mut ANeuralNetworksExecution,
10721        index: i32,
10722        rank: *mut u32,
10723    ) -> ::std::os::raw::c_int;
10724}
10725extern "C" {
10726    pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
10727        execution: *mut ANeuralNetworksExecution,
10728        index: i32,
10729        dimensions: *mut u32,
10730    ) -> ::std::os::raw::c_int;
10731}
10732extern "C" {
10733    pub fn ANeuralNetworksBurst_create(
10734        compilation: *mut ANeuralNetworksCompilation,
10735        burst: *mut *mut ANeuralNetworksBurst,
10736    ) -> ::std::os::raw::c_int;
10737}
10738extern "C" {
10739    pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
10740}
10741extern "C" {
10742    pub fn ANeuralNetworksExecution_burstCompute(
10743        execution: *mut ANeuralNetworksExecution,
10744        burst: *mut ANeuralNetworksBurst,
10745    ) -> ::std::os::raw::c_int;
10746}
10747extern "C" {
10748    pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
10749        ahwb: *const AHardwareBuffer,
10750        memory: *mut *mut ANeuralNetworksMemory,
10751    ) -> ::std::os::raw::c_int;
10752}
10753extern "C" {
10754    pub fn ANeuralNetworksExecution_setMeasureTiming(
10755        execution: *mut ANeuralNetworksExecution,
10756        measure: bool,
10757    ) -> ::std::os::raw::c_int;
10758}
10759pub const DurationCode_ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = 0;
10760pub const DurationCode_ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = 1;
10761pub type DurationCode = u32;
10762extern "C" {
10763    pub fn ANeuralNetworksExecution_getDuration(
10764        execution: *const ANeuralNetworksExecution,
10765        durationCode: i32,
10766        duration: *mut u64,
10767    ) -> ::std::os::raw::c_int;
10768}
10769extern "C" {
10770    pub fn ANeuralNetworksMemory_createFromFd(
10771        size: usize,
10772        protect: ::std::os::raw::c_int,
10773        fd: ::std::os::raw::c_int,
10774        offset: usize,
10775        memory: *mut *mut ANeuralNetworksMemory,
10776    ) -> ::std::os::raw::c_int;
10777}
10778extern "C" {
10779    pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
10780}
10781extern "C" {
10782    pub fn ANeuralNetworksModel_create(
10783        model: *mut *mut ANeuralNetworksModel,
10784    ) -> ::std::os::raw::c_int;
10785}
10786extern "C" {
10787    pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
10788}
10789extern "C" {
10790    pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
10791}
10792extern "C" {
10793    pub fn ANeuralNetworksModel_addOperand(
10794        model: *mut ANeuralNetworksModel,
10795        type_: *const ANeuralNetworksOperandType,
10796    ) -> ::std::os::raw::c_int;
10797}
10798extern "C" {
10799    pub fn ANeuralNetworksModel_setOperandValue(
10800        model: *mut ANeuralNetworksModel,
10801        index: i32,
10802        buffer: *const ::std::os::raw::c_void,
10803        length: usize,
10804    ) -> ::std::os::raw::c_int;
10805}
10806extern "C" {
10807    pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
10808        model: *mut ANeuralNetworksModel,
10809        index: i32,
10810        channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
10811    ) -> ::std::os::raw::c_int;
10812}
10813extern "C" {
10814    pub fn ANeuralNetworksModel_setOperandValueFromMemory(
10815        model: *mut ANeuralNetworksModel,
10816        index: i32,
10817        memory: *const ANeuralNetworksMemory,
10818        offset: usize,
10819        length: usize,
10820    ) -> ::std::os::raw::c_int;
10821}
10822extern "C" {
10823    pub fn ANeuralNetworksModel_addOperation(
10824        model: *mut ANeuralNetworksModel,
10825        type_: ANeuralNetworksOperationType,
10826        inputCount: u32,
10827        inputs: *const u32,
10828        outputCount: u32,
10829        outputs: *const u32,
10830    ) -> ::std::os::raw::c_int;
10831}
10832extern "C" {
10833    pub fn ANeuralNetworksModel_identifyInputsAndOutputs(
10834        model: *mut ANeuralNetworksModel,
10835        inputCount: u32,
10836        inputs: *const u32,
10837        outputCount: u32,
10838        outputs: *const u32,
10839    ) -> ::std::os::raw::c_int;
10840}
10841extern "C" {
10842    pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
10843        model: *mut ANeuralNetworksModel,
10844        allow: bool,
10845    ) -> ::std::os::raw::c_int;
10846}
10847extern "C" {
10848    pub fn ANeuralNetworksCompilation_create(
10849        model: *mut ANeuralNetworksModel,
10850        compilation: *mut *mut ANeuralNetworksCompilation,
10851    ) -> ::std::os::raw::c_int;
10852}
10853extern "C" {
10854    pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
10855}
10856extern "C" {
10857    pub fn ANeuralNetworksCompilation_setPreference(
10858        compilation: *mut ANeuralNetworksCompilation,
10859        preference: i32,
10860    ) -> ::std::os::raw::c_int;
10861}
10862extern "C" {
10863    pub fn ANeuralNetworksCompilation_finish(
10864        compilation: *mut ANeuralNetworksCompilation,
10865    ) -> ::std::os::raw::c_int;
10866}
10867extern "C" {
10868    pub fn ANeuralNetworksExecution_create(
10869        compilation: *mut ANeuralNetworksCompilation,
10870        execution: *mut *mut ANeuralNetworksExecution,
10871    ) -> ::std::os::raw::c_int;
10872}
10873extern "C" {
10874    pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
10875}
10876extern "C" {
10877    pub fn ANeuralNetworksExecution_setInput(
10878        execution: *mut ANeuralNetworksExecution,
10879        index: i32,
10880        type_: *const ANeuralNetworksOperandType,
10881        buffer: *const ::std::os::raw::c_void,
10882        length: usize,
10883    ) -> ::std::os::raw::c_int;
10884}
10885extern "C" {
10886    pub fn ANeuralNetworksExecution_setInputFromMemory(
10887        execution: *mut ANeuralNetworksExecution,
10888        index: i32,
10889        type_: *const ANeuralNetworksOperandType,
10890        memory: *const ANeuralNetworksMemory,
10891        offset: usize,
10892        length: usize,
10893    ) -> ::std::os::raw::c_int;
10894}
10895extern "C" {
10896    pub fn ANeuralNetworksExecution_setOutput(
10897        execution: *mut ANeuralNetworksExecution,
10898        index: i32,
10899        type_: *const ANeuralNetworksOperandType,
10900        buffer: *mut ::std::os::raw::c_void,
10901        length: usize,
10902    ) -> ::std::os::raw::c_int;
10903}
10904extern "C" {
10905    pub fn ANeuralNetworksExecution_setOutputFromMemory(
10906        execution: *mut ANeuralNetworksExecution,
10907        index: i32,
10908        type_: *const ANeuralNetworksOperandType,
10909        memory: *const ANeuralNetworksMemory,
10910        offset: usize,
10911        length: usize,
10912    ) -> ::std::os::raw::c_int;
10913}
10914extern "C" {
10915    pub fn ANeuralNetworksExecution_startCompute(
10916        execution: *mut ANeuralNetworksExecution,
10917        event: *mut *mut ANeuralNetworksEvent,
10918    ) -> ::std::os::raw::c_int;
10919}
10920extern "C" {
10921    pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
10922}
10923extern "C" {
10924    pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
10925}
10926pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = 1;
10927pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = 2;
10928pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = 4;
10929pub type ANativeWindow_LegacyFormat = u32;
10930pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = 0;
10931pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
10932    1;
10933pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
10934    2;
10935pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = 4;
10936pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform = 3;
10937pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform = 7;
10938pub type ANativeWindowTransform = u32;
10939#[repr(C)]
10940#[derive(Debug, Copy, Clone)]
10941pub struct ANativeWindow {
10942    _unused: [u8; 0],
10943}
10944#[repr(C)]
10945#[derive(Debug, Copy, Clone)]
10946pub struct ANativeWindow_Buffer {
10947    pub width: i32,
10948    pub height: i32,
10949    pub stride: i32,
10950    pub format: i32,
10951    pub bits: *mut ::std::os::raw::c_void,
10952    pub reserved: [u32; 6usize],
10953}
10954#[test]
10955fn bindgen_test_layout_ANativeWindow_Buffer() {
10956    assert_eq!(
10957        ::std::mem::size_of::<ANativeWindow_Buffer>(),
10958        44usize,
10959        concat!("Size of: ", stringify!(ANativeWindow_Buffer))
10960    );
10961    assert_eq!(
10962        ::std::mem::align_of::<ANativeWindow_Buffer>(),
10963        4usize,
10964        concat!("Alignment of ", stringify!(ANativeWindow_Buffer))
10965    );
10966    assert_eq!(
10967        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).width as *const _ as usize },
10968        0usize,
10969        concat!(
10970            "Offset of field: ",
10971            stringify!(ANativeWindow_Buffer),
10972            "::",
10973            stringify!(width)
10974        )
10975    );
10976    assert_eq!(
10977        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).height as *const _ as usize },
10978        4usize,
10979        concat!(
10980            "Offset of field: ",
10981            stringify!(ANativeWindow_Buffer),
10982            "::",
10983            stringify!(height)
10984        )
10985    );
10986    assert_eq!(
10987        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).stride as *const _ as usize },
10988        8usize,
10989        concat!(
10990            "Offset of field: ",
10991            stringify!(ANativeWindow_Buffer),
10992            "::",
10993            stringify!(stride)
10994        )
10995    );
10996    assert_eq!(
10997        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).format as *const _ as usize },
10998        12usize,
10999        concat!(
11000            "Offset of field: ",
11001            stringify!(ANativeWindow_Buffer),
11002            "::",
11003            stringify!(format)
11004        )
11005    );
11006    assert_eq!(
11007        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).bits as *const _ as usize },
11008        16usize,
11009        concat!(
11010            "Offset of field: ",
11011            stringify!(ANativeWindow_Buffer),
11012            "::",
11013            stringify!(bits)
11014        )
11015    );
11016    assert_eq!(
11017        unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).reserved as *const _ as usize },
11018        20usize,
11019        concat!(
11020            "Offset of field: ",
11021            stringify!(ANativeWindow_Buffer),
11022            "::",
11023            stringify!(reserved)
11024        )
11025    );
11026}
11027extern "C" {
11028    pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
11029}
11030extern "C" {
11031    pub fn ANativeWindow_release(window: *mut ANativeWindow);
11032}
11033extern "C" {
11034    pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
11035}
11036extern "C" {
11037    pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
11038}
11039extern "C" {
11040    pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
11041}
11042extern "C" {
11043    pub fn ANativeWindow_setBuffersGeometry(
11044        window: *mut ANativeWindow,
11045        width: i32,
11046        height: i32,
11047        format: i32,
11048    ) -> i32;
11049}
11050extern "C" {
11051    pub fn ANativeWindow_lock(
11052        window: *mut ANativeWindow,
11053        outBuffer: *mut ANativeWindow_Buffer,
11054        inOutDirtyBounds: *mut ARect,
11055    ) -> i32;
11056}
11057extern "C" {
11058    pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
11059}
11060extern "C" {
11061    pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
11062}
11063extern "C" {
11064    pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
11065}
11066extern "C" {
11067    pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
11068}
11069#[repr(C)]
11070#[derive(Debug, Copy, Clone)]
11071pub struct ANativeActivity {
11072    pub callbacks: *mut ANativeActivityCallbacks,
11073    pub vm: *mut JavaVM,
11074    pub env: *mut JNIEnv,
11075    pub clazz: jobject,
11076    pub internalDataPath: *const ::std::os::raw::c_char,
11077    pub externalDataPath: *const ::std::os::raw::c_char,
11078    pub sdkVersion: i32,
11079    pub instance: *mut ::std::os::raw::c_void,
11080    pub assetManager: *mut AAssetManager,
11081    pub obbPath: *const ::std::os::raw::c_char,
11082}
11083#[test]
11084fn bindgen_test_layout_ANativeActivity() {
11085    assert_eq!(
11086        ::std::mem::size_of::<ANativeActivity>(),
11087        40usize,
11088        concat!("Size of: ", stringify!(ANativeActivity))
11089    );
11090    assert_eq!(
11091        ::std::mem::align_of::<ANativeActivity>(),
11092        4usize,
11093        concat!("Alignment of ", stringify!(ANativeActivity))
11094    );
11095    assert_eq!(
11096        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).callbacks as *const _ as usize },
11097        0usize,
11098        concat!(
11099            "Offset of field: ",
11100            stringify!(ANativeActivity),
11101            "::",
11102            stringify!(callbacks)
11103        )
11104    );
11105    assert_eq!(
11106        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).vm as *const _ as usize },
11107        4usize,
11108        concat!(
11109            "Offset of field: ",
11110            stringify!(ANativeActivity),
11111            "::",
11112            stringify!(vm)
11113        )
11114    );
11115    assert_eq!(
11116        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).env as *const _ as usize },
11117        8usize,
11118        concat!(
11119            "Offset of field: ",
11120            stringify!(ANativeActivity),
11121            "::",
11122            stringify!(env)
11123        )
11124    );
11125    assert_eq!(
11126        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).clazz as *const _ as usize },
11127        12usize,
11128        concat!(
11129            "Offset of field: ",
11130            stringify!(ANativeActivity),
11131            "::",
11132            stringify!(clazz)
11133        )
11134    );
11135    assert_eq!(
11136        unsafe {
11137            &(*(::std::ptr::null::<ANativeActivity>())).internalDataPath as *const _ as usize
11138        },
11139        16usize,
11140        concat!(
11141            "Offset of field: ",
11142            stringify!(ANativeActivity),
11143            "::",
11144            stringify!(internalDataPath)
11145        )
11146    );
11147    assert_eq!(
11148        unsafe {
11149            &(*(::std::ptr::null::<ANativeActivity>())).externalDataPath as *const _ as usize
11150        },
11151        20usize,
11152        concat!(
11153            "Offset of field: ",
11154            stringify!(ANativeActivity),
11155            "::",
11156            stringify!(externalDataPath)
11157        )
11158    );
11159    assert_eq!(
11160        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).sdkVersion as *const _ as usize },
11161        24usize,
11162        concat!(
11163            "Offset of field: ",
11164            stringify!(ANativeActivity),
11165            "::",
11166            stringify!(sdkVersion)
11167        )
11168    );
11169    assert_eq!(
11170        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).instance as *const _ as usize },
11171        28usize,
11172        concat!(
11173            "Offset of field: ",
11174            stringify!(ANativeActivity),
11175            "::",
11176            stringify!(instance)
11177        )
11178    );
11179    assert_eq!(
11180        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).assetManager as *const _ as usize },
11181        32usize,
11182        concat!(
11183            "Offset of field: ",
11184            stringify!(ANativeActivity),
11185            "::",
11186            stringify!(assetManager)
11187        )
11188    );
11189    assert_eq!(
11190        unsafe { &(*(::std::ptr::null::<ANativeActivity>())).obbPath as *const _ as usize },
11191        36usize,
11192        concat!(
11193            "Offset of field: ",
11194            stringify!(ANativeActivity),
11195            "::",
11196            stringify!(obbPath)
11197        )
11198    );
11199}
11200#[repr(C)]
11201#[derive(Debug, Copy, Clone)]
11202pub struct ANativeActivityCallbacks {
11203    pub onStart: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11204    pub onResume: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11205    pub onSaveInstanceState: ::std::option::Option<
11206        unsafe extern "C" fn(
11207            activity: *mut ANativeActivity,
11208            outSize: *mut usize,
11209        ) -> *mut ::std::os::raw::c_void,
11210    >,
11211    pub onPause: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11212    pub onStop: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11213    pub onDestroy: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11214    pub onWindowFocusChanged: ::std::option::Option<
11215        unsafe extern "C" fn(activity: *mut ANativeActivity, hasFocus: ::std::os::raw::c_int),
11216    >,
11217    pub onNativeWindowCreated: ::std::option::Option<
11218        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11219    >,
11220    pub onNativeWindowResized: ::std::option::Option<
11221        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11222    >,
11223    pub onNativeWindowRedrawNeeded: ::std::option::Option<
11224        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11225    >,
11226    pub onNativeWindowDestroyed: ::std::option::Option<
11227        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11228    >,
11229    pub onInputQueueCreated: ::std::option::Option<
11230        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
11231    >,
11232    pub onInputQueueDestroyed: ::std::option::Option<
11233        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
11234    >,
11235    pub onContentRectChanged: ::std::option::Option<
11236        unsafe extern "C" fn(activity: *mut ANativeActivity, rect: *const ARect),
11237    >,
11238    pub onConfigurationChanged:
11239        ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11240    pub onLowMemory: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11241}
11242#[test]
11243fn bindgen_test_layout_ANativeActivityCallbacks() {
11244    assert_eq!(
11245        ::std::mem::size_of::<ANativeActivityCallbacks>(),
11246        64usize,
11247        concat!("Size of: ", stringify!(ANativeActivityCallbacks))
11248    );
11249    assert_eq!(
11250        ::std::mem::align_of::<ANativeActivityCallbacks>(),
11251        4usize,
11252        concat!("Alignment of ", stringify!(ANativeActivityCallbacks))
11253    );
11254    assert_eq!(
11255        unsafe {
11256            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStart as *const _ as usize
11257        },
11258        0usize,
11259        concat!(
11260            "Offset of field: ",
11261            stringify!(ANativeActivityCallbacks),
11262            "::",
11263            stringify!(onStart)
11264        )
11265    );
11266    assert_eq!(
11267        unsafe {
11268            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onResume as *const _ as usize
11269        },
11270        4usize,
11271        concat!(
11272            "Offset of field: ",
11273            stringify!(ANativeActivityCallbacks),
11274            "::",
11275            stringify!(onResume)
11276        )
11277    );
11278    assert_eq!(
11279        unsafe {
11280            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onSaveInstanceState as *const _
11281                as usize
11282        },
11283        8usize,
11284        concat!(
11285            "Offset of field: ",
11286            stringify!(ANativeActivityCallbacks),
11287            "::",
11288            stringify!(onSaveInstanceState)
11289        )
11290    );
11291    assert_eq!(
11292        unsafe {
11293            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onPause as *const _ as usize
11294        },
11295        12usize,
11296        concat!(
11297            "Offset of field: ",
11298            stringify!(ANativeActivityCallbacks),
11299            "::",
11300            stringify!(onPause)
11301        )
11302    );
11303    assert_eq!(
11304        unsafe { &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStop as *const _ as usize },
11305        16usize,
11306        concat!(
11307            "Offset of field: ",
11308            stringify!(ANativeActivityCallbacks),
11309            "::",
11310            stringify!(onStop)
11311        )
11312    );
11313    assert_eq!(
11314        unsafe {
11315            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onDestroy as *const _ as usize
11316        },
11317        20usize,
11318        concat!(
11319            "Offset of field: ",
11320            stringify!(ANativeActivityCallbacks),
11321            "::",
11322            stringify!(onDestroy)
11323        )
11324    );
11325    assert_eq!(
11326        unsafe {
11327            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onWindowFocusChanged as *const _
11328                as usize
11329        },
11330        24usize,
11331        concat!(
11332            "Offset of field: ",
11333            stringify!(ANativeActivityCallbacks),
11334            "::",
11335            stringify!(onWindowFocusChanged)
11336        )
11337    );
11338    assert_eq!(
11339        unsafe {
11340            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowCreated as *const _
11341                as usize
11342        },
11343        28usize,
11344        concat!(
11345            "Offset of field: ",
11346            stringify!(ANativeActivityCallbacks),
11347            "::",
11348            stringify!(onNativeWindowCreated)
11349        )
11350    );
11351    assert_eq!(
11352        unsafe {
11353            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowResized as *const _
11354                as usize
11355        },
11356        32usize,
11357        concat!(
11358            "Offset of field: ",
11359            stringify!(ANativeActivityCallbacks),
11360            "::",
11361            stringify!(onNativeWindowResized)
11362        )
11363    );
11364    assert_eq!(
11365        unsafe {
11366            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowRedrawNeeded
11367                as *const _ as usize
11368        },
11369        36usize,
11370        concat!(
11371            "Offset of field: ",
11372            stringify!(ANativeActivityCallbacks),
11373            "::",
11374            stringify!(onNativeWindowRedrawNeeded)
11375        )
11376    );
11377    assert_eq!(
11378        unsafe {
11379            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowDestroyed as *const _
11380                as usize
11381        },
11382        40usize,
11383        concat!(
11384            "Offset of field: ",
11385            stringify!(ANativeActivityCallbacks),
11386            "::",
11387            stringify!(onNativeWindowDestroyed)
11388        )
11389    );
11390    assert_eq!(
11391        unsafe {
11392            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueCreated as *const _
11393                as usize
11394        },
11395        44usize,
11396        concat!(
11397            "Offset of field: ",
11398            stringify!(ANativeActivityCallbacks),
11399            "::",
11400            stringify!(onInputQueueCreated)
11401        )
11402    );
11403    assert_eq!(
11404        unsafe {
11405            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueDestroyed as *const _
11406                as usize
11407        },
11408        48usize,
11409        concat!(
11410            "Offset of field: ",
11411            stringify!(ANativeActivityCallbacks),
11412            "::",
11413            stringify!(onInputQueueDestroyed)
11414        )
11415    );
11416    assert_eq!(
11417        unsafe {
11418            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onContentRectChanged as *const _
11419                as usize
11420        },
11421        52usize,
11422        concat!(
11423            "Offset of field: ",
11424            stringify!(ANativeActivityCallbacks),
11425            "::",
11426            stringify!(onContentRectChanged)
11427        )
11428    );
11429    assert_eq!(
11430        unsafe {
11431            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onConfigurationChanged as *const _
11432                as usize
11433        },
11434        56usize,
11435        concat!(
11436            "Offset of field: ",
11437            stringify!(ANativeActivityCallbacks),
11438            "::",
11439            stringify!(onConfigurationChanged)
11440        )
11441    );
11442    assert_eq!(
11443        unsafe {
11444            &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onLowMemory as *const _ as usize
11445        },
11446        60usize,
11447        concat!(
11448            "Offset of field: ",
11449            stringify!(ANativeActivityCallbacks),
11450            "::",
11451            stringify!(onLowMemory)
11452        )
11453    );
11454}
11455pub type ANativeActivity_createFunc = ::std::option::Option<
11456    unsafe extern "C" fn(
11457        activity: *mut ANativeActivity,
11458        savedState: *mut ::std::os::raw::c_void,
11459        savedStateSize: usize,
11460    ),
11461>;
11462extern "C" {
11463    pub fn ANativeActivity_onCreate(
11464        activity: *mut ANativeActivity,
11465        savedState: *mut ::std::os::raw::c_void,
11466        savedStateSize: usize,
11467    );
11468}
11469extern "C" {
11470    pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
11471}
11472extern "C" {
11473    pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
11474}
11475extern "C" {
11476    pub fn ANativeActivity_setWindowFlags(
11477        activity: *mut ANativeActivity,
11478        addFlags: u32,
11479        removeFlags: u32,
11480    );
11481}
11482pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: _bindgen_ty_27 = 1;
11483pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: _bindgen_ty_27 = 2;
11484pub type _bindgen_ty_27 = u32;
11485extern "C" {
11486    pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
11487}
11488pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: _bindgen_ty_28 = 1;
11489pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: _bindgen_ty_28 = 2;
11490pub type _bindgen_ty_28 = u32;
11491extern "C" {
11492    pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
11493}
11494extern "C" {
11495    pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
11496}
11497extern "C" {
11498    pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
11499}
11500#[repr(C)]
11501#[derive(Debug, Copy, Clone)]
11502pub struct AObbInfo {
11503    _unused: [u8; 0],
11504}
11505pub const AOBBINFO_OVERLAY: _bindgen_ty_29 = 1;
11506pub type _bindgen_ty_29 = u32;
11507extern "C" {
11508    pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
11509}
11510extern "C" {
11511    pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
11512}
11513extern "C" {
11514    pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
11515}
11516extern "C" {
11517    pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
11518}
11519extern "C" {
11520    pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
11521}
11522pub type __double_t = f64;
11523pub type double_t = __double_t;
11524pub type __float_t = f32;
11525pub type float_t = __float_t;
11526extern "C" {
11527    pub fn acos(__x: f64) -> f64;
11528}
11529extern "C" {
11530    pub fn acosf(__x: f32) -> f32;
11531}
11532extern "C" {
11533    pub fn asin(__x: f64) -> f64;
11534}
11535extern "C" {
11536    pub fn asinf(__x: f32) -> f32;
11537}
11538extern "C" {
11539    pub fn atan(__x: f64) -> f64;
11540}
11541extern "C" {
11542    pub fn atanf(__x: f32) -> f32;
11543}
11544extern "C" {
11545    pub fn atan2(__y: f64, __x: f64) -> f64;
11546}
11547extern "C" {
11548    pub fn atan2f(__y: f32, __x: f32) -> f32;
11549}
11550extern "C" {
11551    pub fn cos(__x: f64) -> f64;
11552}
11553extern "C" {
11554    pub fn cosf(__x: f32) -> f32;
11555}
11556extern "C" {
11557    pub fn sin(__x: f64) -> f64;
11558}
11559extern "C" {
11560    pub fn sinf(__x: f32) -> f32;
11561}
11562extern "C" {
11563    pub fn tan(__x: f64) -> f64;
11564}
11565extern "C" {
11566    pub fn tanf(__x: f32) -> f32;
11567}
11568extern "C" {
11569    pub fn acosh(__x: f64) -> f64;
11570}
11571extern "C" {
11572    pub fn acoshf(__x: f32) -> f32;
11573}
11574extern "C" {
11575    pub fn asinh(__x: f64) -> f64;
11576}
11577extern "C" {
11578    pub fn asinhf(__x: f32) -> f32;
11579}
11580extern "C" {
11581    pub fn atanh(__x: f64) -> f64;
11582}
11583extern "C" {
11584    pub fn atanhf(__x: f32) -> f32;
11585}
11586extern "C" {
11587    pub fn cosh(__x: f64) -> f64;
11588}
11589extern "C" {
11590    pub fn coshf(__x: f32) -> f32;
11591}
11592extern "C" {
11593    pub fn sinh(__x: f64) -> f64;
11594}
11595extern "C" {
11596    pub fn sinhf(__x: f32) -> f32;
11597}
11598extern "C" {
11599    pub fn tanh(__x: f64) -> f64;
11600}
11601extern "C" {
11602    pub fn tanhf(__x: f32) -> f32;
11603}
11604extern "C" {
11605    pub fn exp(__x: f64) -> f64;
11606}
11607extern "C" {
11608    pub fn expf(__x: f32) -> f32;
11609}
11610extern "C" {
11611    pub fn exp2(__x: f64) -> f64;
11612}
11613extern "C" {
11614    pub fn exp2f(__x: f32) -> f32;
11615}
11616extern "C" {
11617    pub fn expm1(__x: f64) -> f64;
11618}
11619extern "C" {
11620    pub fn expm1f(__x: f32) -> f32;
11621}
11622extern "C" {
11623    pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
11624}
11625extern "C" {
11626    pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
11627}
11628extern "C" {
11629    pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
11630}
11631extern "C" {
11632    pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
11633}
11634extern "C" {
11635    pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
11636}
11637extern "C" {
11638    pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
11639}
11640extern "C" {
11641    pub fn log(__x: f64) -> f64;
11642}
11643extern "C" {
11644    pub fn logf(__x: f32) -> f32;
11645}
11646extern "C" {
11647    pub fn log10(__x: f64) -> f64;
11648}
11649extern "C" {
11650    pub fn log10f(__x: f32) -> f32;
11651}
11652extern "C" {
11653    pub fn log1p(__x: f64) -> f64;
11654}
11655extern "C" {
11656    pub fn log1pf(__x: f32) -> f32;
11657}
11658extern "C" {
11659    pub fn log2(__x: f64) -> f64;
11660}
11661extern "C" {
11662    pub fn log2f(__x: f32) -> f32;
11663}
11664extern "C" {
11665    pub fn logb(__x: f64) -> f64;
11666}
11667extern "C" {
11668    pub fn logbf(__x: f32) -> f32;
11669}
11670extern "C" {
11671    pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
11672}
11673extern "C" {
11674    pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
11675}
11676extern "C" {
11677    pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
11678}
11679extern "C" {
11680    pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
11681}
11682extern "C" {
11683    pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
11684}
11685extern "C" {
11686    pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
11687}
11688extern "C" {
11689    pub fn scalblnl(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
11690}
11691extern "C" {
11692    pub fn cbrt(__x: f64) -> f64;
11693}
11694extern "C" {
11695    pub fn cbrtf(__x: f32) -> f32;
11696}
11697extern "C" {
11698    pub fn fabs(__x: f64) -> f64;
11699}
11700extern "C" {
11701    pub fn fabsf(__x: f32) -> f32;
11702}
11703extern "C" {
11704    pub fn hypot(__x: f64, __y: f64) -> f64;
11705}
11706extern "C" {
11707    pub fn hypotf(__x: f32, __y: f32) -> f32;
11708}
11709extern "C" {
11710    pub fn pow(__x: f64, __y: f64) -> f64;
11711}
11712extern "C" {
11713    pub fn powf(__x: f32, __y: f32) -> f32;
11714}
11715extern "C" {
11716    pub fn sqrt(__x: f64) -> f64;
11717}
11718extern "C" {
11719    pub fn sqrtf(__x: f32) -> f32;
11720}
11721extern "C" {
11722    pub fn erf(__x: f64) -> f64;
11723}
11724extern "C" {
11725    pub fn erff(__x: f32) -> f32;
11726}
11727extern "C" {
11728    pub fn erfc(__x: f64) -> f64;
11729}
11730extern "C" {
11731    pub fn erfcf(__x: f32) -> f32;
11732}
11733extern "C" {
11734    pub fn lgamma(__x: f64) -> f64;
11735}
11736extern "C" {
11737    pub fn lgammaf(__x: f32) -> f32;
11738}
11739extern "C" {
11740    pub fn tgamma(__x: f64) -> f64;
11741}
11742extern "C" {
11743    pub fn tgammaf(__x: f32) -> f32;
11744}
11745extern "C" {
11746    pub fn ceil(__x: f64) -> f64;
11747}
11748extern "C" {
11749    pub fn ceilf(__x: f32) -> f32;
11750}
11751extern "C" {
11752    pub fn floor(__x: f64) -> f64;
11753}
11754extern "C" {
11755    pub fn floorf(__x: f32) -> f32;
11756}
11757extern "C" {
11758    pub fn nearbyint(__x: f64) -> f64;
11759}
11760extern "C" {
11761    pub fn nearbyintf(__x: f32) -> f32;
11762}
11763extern "C" {
11764    pub fn rint(__x: f64) -> f64;
11765}
11766extern "C" {
11767    pub fn rintf(__x: f32) -> f32;
11768}
11769extern "C" {
11770    pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
11771}
11772extern "C" {
11773    pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
11774}
11775extern "C" {
11776    pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
11777}
11778extern "C" {
11779    pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
11780}
11781extern "C" {
11782    pub fn round(__x: f64) -> f64;
11783}
11784extern "C" {
11785    pub fn roundf(__x: f32) -> f32;
11786}
11787extern "C" {
11788    pub fn roundl(__x: f64) -> f64;
11789}
11790extern "C" {
11791    pub fn lround(__x: f64) -> ::std::os::raw::c_long;
11792}
11793extern "C" {
11794    pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
11795}
11796extern "C" {
11797    pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
11798}
11799extern "C" {
11800    pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
11801}
11802extern "C" {
11803    pub fn trunc(__x: f64) -> f64;
11804}
11805extern "C" {
11806    pub fn truncf(__x: f32) -> f32;
11807}
11808extern "C" {
11809    pub fn fmod(__x: f64, __y: f64) -> f64;
11810}
11811extern "C" {
11812    pub fn fmodf(__x: f32, __y: f32) -> f32;
11813}
11814extern "C" {
11815    pub fn remainder(__x: f64, __y: f64) -> f64;
11816}
11817extern "C" {
11818    pub fn remainderf(__x: f32, __y: f32) -> f32;
11819}
11820extern "C" {
11821    pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
11822}
11823extern "C" {
11824    pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
11825}
11826extern "C" {
11827    pub fn copysign(__value: f64, __sign: f64) -> f64;
11828}
11829extern "C" {
11830    pub fn copysignf(__value: f32, __sign: f32) -> f32;
11831}
11832extern "C" {
11833    pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
11834}
11835extern "C" {
11836    pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
11837}
11838extern "C" {
11839    pub fn nextafter(__x: f64, __y: f64) -> f64;
11840}
11841extern "C" {
11842    pub fn nextafterf(__x: f32, __y: f32) -> f32;
11843}
11844extern "C" {
11845    pub fn nexttoward(__x: f64, __y: f64) -> f64;
11846}
11847extern "C" {
11848    pub fn nexttowardf(__x: f32, __y: f64) -> f32;
11849}
11850extern "C" {
11851    pub fn fdim(__x: f64, __y: f64) -> f64;
11852}
11853extern "C" {
11854    pub fn fdimf(__x: f32, __y: f32) -> f32;
11855}
11856extern "C" {
11857    pub fn fmax(__x: f64, __y: f64) -> f64;
11858}
11859extern "C" {
11860    pub fn fmaxf(__x: f32, __y: f32) -> f32;
11861}
11862extern "C" {
11863    pub fn fmin(__x: f64, __y: f64) -> f64;
11864}
11865extern "C" {
11866    pub fn fminf(__x: f32, __y: f32) -> f32;
11867}
11868extern "C" {
11869    pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
11870}
11871extern "C" {
11872    pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
11873}
11874extern "C" {
11875    pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
11876}
11877extern "C" {
11878    pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
11879}
11880extern "C" {
11881    pub static mut signgam: ::std::os::raw::c_int;
11882}
11883extern "C" {
11884    pub fn j0(__x: f64) -> f64;
11885}
11886extern "C" {
11887    pub fn j1(__x: f64) -> f64;
11888}
11889extern "C" {
11890    pub fn jn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
11891}
11892extern "C" {
11893    pub fn y0(__x: f64) -> f64;
11894}
11895extern "C" {
11896    pub fn y1(__x: f64) -> f64;
11897}
11898extern "C" {
11899    pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
11900}
11901pub const ASENSOR_TYPE_INVALID: _bindgen_ty_30 = -1;
11902pub const ASENSOR_TYPE_ACCELEROMETER: _bindgen_ty_30 = 1;
11903pub const ASENSOR_TYPE_MAGNETIC_FIELD: _bindgen_ty_30 = 2;
11904pub const ASENSOR_TYPE_GYROSCOPE: _bindgen_ty_30 = 4;
11905pub const ASENSOR_TYPE_LIGHT: _bindgen_ty_30 = 5;
11906pub const ASENSOR_TYPE_PRESSURE: _bindgen_ty_30 = 6;
11907pub const ASENSOR_TYPE_PROXIMITY: _bindgen_ty_30 = 8;
11908pub const ASENSOR_TYPE_GRAVITY: _bindgen_ty_30 = 9;
11909pub const ASENSOR_TYPE_LINEAR_ACCELERATION: _bindgen_ty_30 = 10;
11910pub const ASENSOR_TYPE_ROTATION_VECTOR: _bindgen_ty_30 = 11;
11911pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: _bindgen_ty_30 = 12;
11912pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: _bindgen_ty_30 = 13;
11913pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: _bindgen_ty_30 = 14;
11914pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: _bindgen_ty_30 = 15;
11915pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: _bindgen_ty_30 = 16;
11916pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: _bindgen_ty_30 = 17;
11917pub const ASENSOR_TYPE_STEP_DETECTOR: _bindgen_ty_30 = 18;
11918pub const ASENSOR_TYPE_STEP_COUNTER: _bindgen_ty_30 = 19;
11919pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: _bindgen_ty_30 = 20;
11920pub const ASENSOR_TYPE_HEART_RATE: _bindgen_ty_30 = 21;
11921pub const ASENSOR_TYPE_POSE_6DOF: _bindgen_ty_30 = 28;
11922pub const ASENSOR_TYPE_STATIONARY_DETECT: _bindgen_ty_30 = 29;
11923pub const ASENSOR_TYPE_MOTION_DETECT: _bindgen_ty_30 = 30;
11924pub const ASENSOR_TYPE_HEART_BEAT: _bindgen_ty_30 = 31;
11925pub const ASENSOR_TYPE_ADDITIONAL_INFO: _bindgen_ty_30 = 33;
11926pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: _bindgen_ty_30 = 34;
11927pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: _bindgen_ty_30 = 35;
11928pub type _bindgen_ty_30 = i32;
11929pub const ASENSOR_STATUS_NO_CONTACT: _bindgen_ty_31 = -1;
11930pub const ASENSOR_STATUS_UNRELIABLE: _bindgen_ty_31 = 0;
11931pub const ASENSOR_STATUS_ACCURACY_LOW: _bindgen_ty_31 = 1;
11932pub const ASENSOR_STATUS_ACCURACY_MEDIUM: _bindgen_ty_31 = 2;
11933pub const ASENSOR_STATUS_ACCURACY_HIGH: _bindgen_ty_31 = 3;
11934pub type _bindgen_ty_31 = i32;
11935pub const AREPORTING_MODE_INVALID: _bindgen_ty_32 = -1;
11936pub const AREPORTING_MODE_CONTINUOUS: _bindgen_ty_32 = 0;
11937pub const AREPORTING_MODE_ON_CHANGE: _bindgen_ty_32 = 1;
11938pub const AREPORTING_MODE_ONE_SHOT: _bindgen_ty_32 = 2;
11939pub const AREPORTING_MODE_SPECIAL_TRIGGER: _bindgen_ty_32 = 3;
11940pub type _bindgen_ty_32 = i32;
11941pub const ASENSOR_DIRECT_RATE_STOP: _bindgen_ty_33 = 0;
11942pub const ASENSOR_DIRECT_RATE_NORMAL: _bindgen_ty_33 = 1;
11943pub const ASENSOR_DIRECT_RATE_FAST: _bindgen_ty_33 = 2;
11944pub const ASENSOR_DIRECT_RATE_VERY_FAST: _bindgen_ty_33 = 3;
11945pub type _bindgen_ty_33 = u32;
11946pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: _bindgen_ty_34 = 1;
11947pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: _bindgen_ty_34 = 2;
11948pub type _bindgen_ty_34 = u32;
11949pub const ASENSOR_ADDITIONAL_INFO_BEGIN: _bindgen_ty_35 = 0;
11950pub const ASENSOR_ADDITIONAL_INFO_END: _bindgen_ty_35 = 1;
11951pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: _bindgen_ty_35 = 65536;
11952pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: _bindgen_ty_35 = 65537;
11953pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: _bindgen_ty_35 = 65538;
11954pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: _bindgen_ty_35 = 65539;
11955pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: _bindgen_ty_35 = 65540;
11956pub type _bindgen_ty_35 = u32;
11957#[repr(C)]
11958#[derive(Copy, Clone)]
11959pub struct ASensorVector {
11960    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1,
11961    pub status: i8,
11962    pub reserved: [u8; 3usize],
11963}
11964#[repr(C)]
11965#[derive(Copy, Clone)]
11966pub union ASensorVector__bindgen_ty_1 {
11967    pub v: [f32; 3usize],
11968    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1__bindgen_ty_1,
11969    pub __bindgen_anon_2: ASensorVector__bindgen_ty_1__bindgen_ty_2,
11970    _bindgen_union_align: [u32; 3usize],
11971}
11972#[repr(C)]
11973#[derive(Debug, Copy, Clone)]
11974pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
11975    pub x: f32,
11976    pub y: f32,
11977    pub z: f32,
11978}
11979#[test]
11980fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1() {
11981    assert_eq!(
11982        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
11983        12usize,
11984        concat!(
11985            "Size of: ",
11986            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
11987        )
11988    );
11989    assert_eq!(
11990        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
11991        4usize,
11992        concat!(
11993            "Alignment of ",
11994            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
11995        )
11996    );
11997    assert_eq!(
11998        unsafe {
11999            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).x as *const _
12000                as usize
12001        },
12002        0usize,
12003        concat!(
12004            "Offset of field: ",
12005            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12006            "::",
12007            stringify!(x)
12008        )
12009    );
12010    assert_eq!(
12011        unsafe {
12012            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).y as *const _
12013                as usize
12014        },
12015        4usize,
12016        concat!(
12017            "Offset of field: ",
12018            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12019            "::",
12020            stringify!(y)
12021        )
12022    );
12023    assert_eq!(
12024        unsafe {
12025            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).z as *const _
12026                as usize
12027        },
12028        8usize,
12029        concat!(
12030            "Offset of field: ",
12031            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12032            "::",
12033            stringify!(z)
12034        )
12035    );
12036}
12037#[repr(C)]
12038#[derive(Debug, Copy, Clone)]
12039pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
12040    pub azimuth: f32,
12041    pub pitch: f32,
12042    pub roll: f32,
12043}
12044#[test]
12045fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2() {
12046    assert_eq!(
12047        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
12048        12usize,
12049        concat!(
12050            "Size of: ",
12051            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
12052        )
12053    );
12054    assert_eq!(
12055        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
12056        4usize,
12057        concat!(
12058            "Alignment of ",
12059            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
12060        )
12061    );
12062    assert_eq!(
12063        unsafe {
12064            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).azimuth
12065                as *const _ as usize
12066        },
12067        0usize,
12068        concat!(
12069            "Offset of field: ",
12070            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12071            "::",
12072            stringify!(azimuth)
12073        )
12074    );
12075    assert_eq!(
12076        unsafe {
12077            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).pitch as *const _
12078                as usize
12079        },
12080        4usize,
12081        concat!(
12082            "Offset of field: ",
12083            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12084            "::",
12085            stringify!(pitch)
12086        )
12087    );
12088    assert_eq!(
12089        unsafe {
12090            &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).roll as *const _
12091                as usize
12092        },
12093        8usize,
12094        concat!(
12095            "Offset of field: ",
12096            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12097            "::",
12098            stringify!(roll)
12099        )
12100    );
12101}
12102#[test]
12103fn bindgen_test_layout_ASensorVector__bindgen_ty_1() {
12104    assert_eq!(
12105        ::std::mem::size_of::<ASensorVector__bindgen_ty_1>(),
12106        12usize,
12107        concat!("Size of: ", stringify!(ASensorVector__bindgen_ty_1))
12108    );
12109    assert_eq!(
12110        ::std::mem::align_of::<ASensorVector__bindgen_ty_1>(),
12111        4usize,
12112        concat!("Alignment of ", stringify!(ASensorVector__bindgen_ty_1))
12113    );
12114    assert_eq!(
12115        unsafe { &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1>())).v as *const _ as usize },
12116        0usize,
12117        concat!(
12118            "Offset of field: ",
12119            stringify!(ASensorVector__bindgen_ty_1),
12120            "::",
12121            stringify!(v)
12122        )
12123    );
12124}
12125#[test]
12126fn bindgen_test_layout_ASensorVector() {
12127    assert_eq!(
12128        ::std::mem::size_of::<ASensorVector>(),
12129        16usize,
12130        concat!("Size of: ", stringify!(ASensorVector))
12131    );
12132    assert_eq!(
12133        ::std::mem::align_of::<ASensorVector>(),
12134        4usize,
12135        concat!("Alignment of ", stringify!(ASensorVector))
12136    );
12137    assert_eq!(
12138        unsafe { &(*(::std::ptr::null::<ASensorVector>())).status as *const _ as usize },
12139        12usize,
12140        concat!(
12141            "Offset of field: ",
12142            stringify!(ASensorVector),
12143            "::",
12144            stringify!(status)
12145        )
12146    );
12147    assert_eq!(
12148        unsafe { &(*(::std::ptr::null::<ASensorVector>())).reserved as *const _ as usize },
12149        13usize,
12150        concat!(
12151            "Offset of field: ",
12152            stringify!(ASensorVector),
12153            "::",
12154            stringify!(reserved)
12155        )
12156    );
12157}
12158#[repr(C)]
12159#[derive(Debug, Copy, Clone)]
12160pub struct AMetaDataEvent {
12161    pub what: i32,
12162    pub sensor: i32,
12163}
12164#[test]
12165fn bindgen_test_layout_AMetaDataEvent() {
12166    assert_eq!(
12167        ::std::mem::size_of::<AMetaDataEvent>(),
12168        8usize,
12169        concat!("Size of: ", stringify!(AMetaDataEvent))
12170    );
12171    assert_eq!(
12172        ::std::mem::align_of::<AMetaDataEvent>(),
12173        4usize,
12174        concat!("Alignment of ", stringify!(AMetaDataEvent))
12175    );
12176    assert_eq!(
12177        unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).what as *const _ as usize },
12178        0usize,
12179        concat!(
12180            "Offset of field: ",
12181            stringify!(AMetaDataEvent),
12182            "::",
12183            stringify!(what)
12184        )
12185    );
12186    assert_eq!(
12187        unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).sensor as *const _ as usize },
12188        4usize,
12189        concat!(
12190            "Offset of field: ",
12191            stringify!(AMetaDataEvent),
12192            "::",
12193            stringify!(sensor)
12194        )
12195    );
12196}
12197#[repr(C)]
12198#[derive(Copy, Clone)]
12199pub struct AUncalibratedEvent {
12200    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1,
12201    pub __bindgen_anon_2: AUncalibratedEvent__bindgen_ty_2,
12202}
12203#[repr(C)]
12204#[derive(Copy, Clone)]
12205pub union AUncalibratedEvent__bindgen_ty_1 {
12206    pub uncalib: [f32; 3usize],
12207    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
12208    _bindgen_union_align: [u32; 3usize],
12209}
12210#[repr(C)]
12211#[derive(Debug, Copy, Clone)]
12212pub struct AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
12213    pub x_uncalib: f32,
12214    pub y_uncalib: f32,
12215    pub z_uncalib: f32,
12216}
12217#[test]
12218fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
12219    assert_eq!(
12220        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
12221        12usize,
12222        concat!(
12223            "Size of: ",
12224            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
12225        )
12226    );
12227    assert_eq!(
12228        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
12229        4usize,
12230        concat!(
12231            "Alignment of ",
12232            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
12233        )
12234    );
12235    assert_eq!(
12236        unsafe {
12237            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).x_uncalib
12238                as *const _ as usize
12239        },
12240        0usize,
12241        concat!(
12242            "Offset of field: ",
12243            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
12244            "::",
12245            stringify!(x_uncalib)
12246        )
12247    );
12248    assert_eq!(
12249        unsafe {
12250            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).y_uncalib
12251                as *const _ as usize
12252        },
12253        4usize,
12254        concat!(
12255            "Offset of field: ",
12256            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
12257            "::",
12258            stringify!(y_uncalib)
12259        )
12260    );
12261    assert_eq!(
12262        unsafe {
12263            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).z_uncalib
12264                as *const _ as usize
12265        },
12266        8usize,
12267        concat!(
12268            "Offset of field: ",
12269            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
12270            "::",
12271            stringify!(z_uncalib)
12272        )
12273    );
12274}
12275#[test]
12276fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1() {
12277    assert_eq!(
12278        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1>(),
12279        12usize,
12280        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_1))
12281    );
12282    assert_eq!(
12283        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1>(),
12284        4usize,
12285        concat!(
12286            "Alignment of ",
12287            stringify!(AUncalibratedEvent__bindgen_ty_1)
12288        )
12289    );
12290    assert_eq!(
12291        unsafe {
12292            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1>())).uncalib as *const _
12293                as usize
12294        },
12295        0usize,
12296        concat!(
12297            "Offset of field: ",
12298            stringify!(AUncalibratedEvent__bindgen_ty_1),
12299            "::",
12300            stringify!(uncalib)
12301        )
12302    );
12303}
12304#[repr(C)]
12305#[derive(Copy, Clone)]
12306pub union AUncalibratedEvent__bindgen_ty_2 {
12307    pub bias: [f32; 3usize],
12308    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
12309    _bindgen_union_align: [u32; 3usize],
12310}
12311#[repr(C)]
12312#[derive(Debug, Copy, Clone)]
12313pub struct AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
12314    pub x_bias: f32,
12315    pub y_bias: f32,
12316    pub z_bias: f32,
12317}
12318#[test]
12319fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
12320    assert_eq!(
12321        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
12322        12usize,
12323        concat!(
12324            "Size of: ",
12325            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
12326        )
12327    );
12328    assert_eq!(
12329        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
12330        4usize,
12331        concat!(
12332            "Alignment of ",
12333            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
12334        )
12335    );
12336    assert_eq!(
12337        unsafe {
12338            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).x_bias
12339                as *const _ as usize
12340        },
12341        0usize,
12342        concat!(
12343            "Offset of field: ",
12344            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
12345            "::",
12346            stringify!(x_bias)
12347        )
12348    );
12349    assert_eq!(
12350        unsafe {
12351            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).y_bias
12352                as *const _ as usize
12353        },
12354        4usize,
12355        concat!(
12356            "Offset of field: ",
12357            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
12358            "::",
12359            stringify!(y_bias)
12360        )
12361    );
12362    assert_eq!(
12363        unsafe {
12364            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).z_bias
12365                as *const _ as usize
12366        },
12367        8usize,
12368        concat!(
12369            "Offset of field: ",
12370            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
12371            "::",
12372            stringify!(z_bias)
12373        )
12374    );
12375}
12376#[test]
12377fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2() {
12378    assert_eq!(
12379        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2>(),
12380        12usize,
12381        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_2))
12382    );
12383    assert_eq!(
12384        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2>(),
12385        4usize,
12386        concat!(
12387            "Alignment of ",
12388            stringify!(AUncalibratedEvent__bindgen_ty_2)
12389        )
12390    );
12391    assert_eq!(
12392        unsafe {
12393            &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2>())).bias as *const _ as usize
12394        },
12395        0usize,
12396        concat!(
12397            "Offset of field: ",
12398            stringify!(AUncalibratedEvent__bindgen_ty_2),
12399            "::",
12400            stringify!(bias)
12401        )
12402    );
12403}
12404#[test]
12405fn bindgen_test_layout_AUncalibratedEvent() {
12406    assert_eq!(
12407        ::std::mem::size_of::<AUncalibratedEvent>(),
12408        24usize,
12409        concat!("Size of: ", stringify!(AUncalibratedEvent))
12410    );
12411    assert_eq!(
12412        ::std::mem::align_of::<AUncalibratedEvent>(),
12413        4usize,
12414        concat!("Alignment of ", stringify!(AUncalibratedEvent))
12415    );
12416}
12417#[repr(C)]
12418#[derive(Debug, Copy, Clone)]
12419pub struct AHeartRateEvent {
12420    pub bpm: f32,
12421    pub status: i8,
12422}
12423#[test]
12424fn bindgen_test_layout_AHeartRateEvent() {
12425    assert_eq!(
12426        ::std::mem::size_of::<AHeartRateEvent>(),
12427        8usize,
12428        concat!("Size of: ", stringify!(AHeartRateEvent))
12429    );
12430    assert_eq!(
12431        ::std::mem::align_of::<AHeartRateEvent>(),
12432        4usize,
12433        concat!("Alignment of ", stringify!(AHeartRateEvent))
12434    );
12435    assert_eq!(
12436        unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).bpm as *const _ as usize },
12437        0usize,
12438        concat!(
12439            "Offset of field: ",
12440            stringify!(AHeartRateEvent),
12441            "::",
12442            stringify!(bpm)
12443        )
12444    );
12445    assert_eq!(
12446        unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).status as *const _ as usize },
12447        4usize,
12448        concat!(
12449            "Offset of field: ",
12450            stringify!(AHeartRateEvent),
12451            "::",
12452            stringify!(status)
12453        )
12454    );
12455}
12456#[repr(C)]
12457#[derive(Debug, Copy, Clone)]
12458pub struct ADynamicSensorEvent {
12459    pub connected: i32,
12460    pub handle: i32,
12461}
12462#[test]
12463fn bindgen_test_layout_ADynamicSensorEvent() {
12464    assert_eq!(
12465        ::std::mem::size_of::<ADynamicSensorEvent>(),
12466        8usize,
12467        concat!("Size of: ", stringify!(ADynamicSensorEvent))
12468    );
12469    assert_eq!(
12470        ::std::mem::align_of::<ADynamicSensorEvent>(),
12471        4usize,
12472        concat!("Alignment of ", stringify!(ADynamicSensorEvent))
12473    );
12474    assert_eq!(
12475        unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).connected as *const _ as usize },
12476        0usize,
12477        concat!(
12478            "Offset of field: ",
12479            stringify!(ADynamicSensorEvent),
12480            "::",
12481            stringify!(connected)
12482        )
12483    );
12484    assert_eq!(
12485        unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).handle as *const _ as usize },
12486        4usize,
12487        concat!(
12488            "Offset of field: ",
12489            stringify!(ADynamicSensorEvent),
12490            "::",
12491            stringify!(handle)
12492        )
12493    );
12494}
12495#[repr(C)]
12496#[derive(Copy, Clone)]
12497pub struct AAdditionalInfoEvent {
12498    pub type_: i32,
12499    pub serial: i32,
12500    pub __bindgen_anon_1: AAdditionalInfoEvent__bindgen_ty_1,
12501}
12502#[repr(C)]
12503#[derive(Copy, Clone)]
12504pub union AAdditionalInfoEvent__bindgen_ty_1 {
12505    pub data_int32: [i32; 14usize],
12506    pub data_float: [f32; 14usize],
12507    _bindgen_union_align: [u32; 14usize],
12508}
12509#[test]
12510fn bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1() {
12511    assert_eq!(
12512        ::std::mem::size_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
12513        56usize,
12514        concat!("Size of: ", stringify!(AAdditionalInfoEvent__bindgen_ty_1))
12515    );
12516    assert_eq!(
12517        ::std::mem::align_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
12518        4usize,
12519        concat!(
12520            "Alignment of ",
12521            stringify!(AAdditionalInfoEvent__bindgen_ty_1)
12522        )
12523    );
12524    assert_eq!(
12525        unsafe {
12526            &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_int32 as *const _
12527                as usize
12528        },
12529        0usize,
12530        concat!(
12531            "Offset of field: ",
12532            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
12533            "::",
12534            stringify!(data_int32)
12535        )
12536    );
12537    assert_eq!(
12538        unsafe {
12539            &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_float as *const _
12540                as usize
12541        },
12542        0usize,
12543        concat!(
12544            "Offset of field: ",
12545            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
12546            "::",
12547            stringify!(data_float)
12548        )
12549    );
12550}
12551#[test]
12552fn bindgen_test_layout_AAdditionalInfoEvent() {
12553    assert_eq!(
12554        ::std::mem::size_of::<AAdditionalInfoEvent>(),
12555        64usize,
12556        concat!("Size of: ", stringify!(AAdditionalInfoEvent))
12557    );
12558    assert_eq!(
12559        ::std::mem::align_of::<AAdditionalInfoEvent>(),
12560        4usize,
12561        concat!("Alignment of ", stringify!(AAdditionalInfoEvent))
12562    );
12563    assert_eq!(
12564        unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).type_ as *const _ as usize },
12565        0usize,
12566        concat!(
12567            "Offset of field: ",
12568            stringify!(AAdditionalInfoEvent),
12569            "::",
12570            stringify!(type_)
12571        )
12572    );
12573    assert_eq!(
12574        unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).serial as *const _ as usize },
12575        4usize,
12576        concat!(
12577            "Offset of field: ",
12578            stringify!(AAdditionalInfoEvent),
12579            "::",
12580            stringify!(serial)
12581        )
12582    );
12583}
12584#[repr(C)]
12585#[derive(Copy, Clone)]
12586pub struct ASensorEvent {
12587    pub version: i32,
12588    pub sensor: i32,
12589    pub type_: i32,
12590    pub reserved0: i32,
12591    pub timestamp: i64,
12592    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1,
12593    pub flags: u32,
12594    pub reserved1: [i32; 3usize],
12595}
12596#[repr(C)]
12597#[derive(Copy, Clone)]
12598pub union ASensorEvent__bindgen_ty_1 {
12599    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1__bindgen_ty_1,
12600    pub u64: ASensorEvent__bindgen_ty_1__bindgen_ty_2,
12601    _bindgen_union_align: [u64; 8usize],
12602}
12603#[repr(C)]
12604#[derive(Copy, Clone)]
12605pub union ASensorEvent__bindgen_ty_1__bindgen_ty_1 {
12606    pub data: [f32; 16usize],
12607    pub vector: ASensorVector,
12608    pub acceleration: ASensorVector,
12609    pub magnetic: ASensorVector,
12610    pub temperature: f32,
12611    pub distance: f32,
12612    pub light: f32,
12613    pub pressure: f32,
12614    pub relative_humidity: f32,
12615    pub uncalibrated_gyro: AUncalibratedEvent,
12616    pub uncalibrated_magnetic: AUncalibratedEvent,
12617    pub meta_data: AMetaDataEvent,
12618    pub heart_rate: AHeartRateEvent,
12619    pub dynamic_sensor_meta: ADynamicSensorEvent,
12620    pub additional_info: AAdditionalInfoEvent,
12621    _bindgen_union_align: [u32; 16usize],
12622}
12623#[test]
12624fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1() {
12625    assert_eq!(
12626        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
12627        64usize,
12628        concat!(
12629            "Size of: ",
12630            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
12631        )
12632    );
12633    assert_eq!(
12634        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
12635        4usize,
12636        concat!(
12637            "Alignment of ",
12638            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
12639        )
12640    );
12641    assert_eq!(
12642        unsafe {
12643            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).data as *const _
12644                as usize
12645        },
12646        0usize,
12647        concat!(
12648            "Offset of field: ",
12649            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12650            "::",
12651            stringify!(data)
12652        )
12653    );
12654    assert_eq!(
12655        unsafe {
12656            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).vector as *const _
12657                as usize
12658        },
12659        0usize,
12660        concat!(
12661            "Offset of field: ",
12662            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12663            "::",
12664            stringify!(vector)
12665        )
12666    );
12667    assert_eq!(
12668        unsafe {
12669            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).acceleration
12670                as *const _ as usize
12671        },
12672        0usize,
12673        concat!(
12674            "Offset of field: ",
12675            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12676            "::",
12677            stringify!(acceleration)
12678        )
12679    );
12680    assert_eq!(
12681        unsafe {
12682            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).magnetic
12683                as *const _ as usize
12684        },
12685        0usize,
12686        concat!(
12687            "Offset of field: ",
12688            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12689            "::",
12690            stringify!(magnetic)
12691        )
12692    );
12693    assert_eq!(
12694        unsafe {
12695            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).temperature
12696                as *const _ as usize
12697        },
12698        0usize,
12699        concat!(
12700            "Offset of field: ",
12701            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12702            "::",
12703            stringify!(temperature)
12704        )
12705    );
12706    assert_eq!(
12707        unsafe {
12708            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).distance
12709                as *const _ as usize
12710        },
12711        0usize,
12712        concat!(
12713            "Offset of field: ",
12714            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12715            "::",
12716            stringify!(distance)
12717        )
12718    );
12719    assert_eq!(
12720        unsafe {
12721            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).light as *const _
12722                as usize
12723        },
12724        0usize,
12725        concat!(
12726            "Offset of field: ",
12727            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12728            "::",
12729            stringify!(light)
12730        )
12731    );
12732    assert_eq!(
12733        unsafe {
12734            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).pressure
12735                as *const _ as usize
12736        },
12737        0usize,
12738        concat!(
12739            "Offset of field: ",
12740            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12741            "::",
12742            stringify!(pressure)
12743        )
12744    );
12745    assert_eq!(
12746        unsafe {
12747            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).relative_humidity
12748                as *const _ as usize
12749        },
12750        0usize,
12751        concat!(
12752            "Offset of field: ",
12753            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12754            "::",
12755            stringify!(relative_humidity)
12756        )
12757    );
12758    assert_eq!(
12759        unsafe {
12760            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).uncalibrated_gyro
12761                as *const _ as usize
12762        },
12763        0usize,
12764        concat!(
12765            "Offset of field: ",
12766            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12767            "::",
12768            stringify!(uncalibrated_gyro)
12769        )
12770    );
12771    assert_eq!(
12772        unsafe {
12773            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>()))
12774                .uncalibrated_magnetic as *const _ as usize
12775        },
12776        0usize,
12777        concat!(
12778            "Offset of field: ",
12779            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12780            "::",
12781            stringify!(uncalibrated_magnetic)
12782        )
12783    );
12784    assert_eq!(
12785        unsafe {
12786            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).meta_data
12787                as *const _ as usize
12788        },
12789        0usize,
12790        concat!(
12791            "Offset of field: ",
12792            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12793            "::",
12794            stringify!(meta_data)
12795        )
12796    );
12797    assert_eq!(
12798        unsafe {
12799            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).heart_rate
12800                as *const _ as usize
12801        },
12802        0usize,
12803        concat!(
12804            "Offset of field: ",
12805            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12806            "::",
12807            stringify!(heart_rate)
12808        )
12809    );
12810    assert_eq!(
12811        unsafe {
12812            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).dynamic_sensor_meta
12813                as *const _ as usize
12814        },
12815        0usize,
12816        concat!(
12817            "Offset of field: ",
12818            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12819            "::",
12820            stringify!(dynamic_sensor_meta)
12821        )
12822    );
12823    assert_eq!(
12824        unsafe {
12825            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).additional_info
12826                as *const _ as usize
12827        },
12828        0usize,
12829        concat!(
12830            "Offset of field: ",
12831            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12832            "::",
12833            stringify!(additional_info)
12834        )
12835    );
12836}
12837#[repr(C)]
12838#[derive(Copy, Clone)]
12839pub union ASensorEvent__bindgen_ty_1__bindgen_ty_2 {
12840    pub data: [u64; 8usize],
12841    pub step_counter: u64,
12842    _bindgen_union_align: [u64; 8usize],
12843}
12844#[test]
12845fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2() {
12846    assert_eq!(
12847        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
12848        64usize,
12849        concat!(
12850            "Size of: ",
12851            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
12852        )
12853    );
12854    assert_eq!(
12855        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
12856        8usize,
12857        concat!(
12858            "Alignment of ",
12859            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
12860        )
12861    );
12862    assert_eq!(
12863        unsafe {
12864            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).data as *const _
12865                as usize
12866        },
12867        0usize,
12868        concat!(
12869            "Offset of field: ",
12870            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
12871            "::",
12872            stringify!(data)
12873        )
12874    );
12875    assert_eq!(
12876        unsafe {
12877            &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).step_counter
12878                as *const _ as usize
12879        },
12880        0usize,
12881        concat!(
12882            "Offset of field: ",
12883            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
12884            "::",
12885            stringify!(step_counter)
12886        )
12887    );
12888}
12889#[test]
12890fn bindgen_test_layout_ASensorEvent__bindgen_ty_1() {
12891    assert_eq!(
12892        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1>(),
12893        64usize,
12894        concat!("Size of: ", stringify!(ASensorEvent__bindgen_ty_1))
12895    );
12896    assert_eq!(
12897        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1>(),
12898        8usize,
12899        concat!("Alignment of ", stringify!(ASensorEvent__bindgen_ty_1))
12900    );
12901    assert_eq!(
12902        unsafe { &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1>())).u64 as *const _ as usize },
12903        0usize,
12904        concat!(
12905            "Offset of field: ",
12906            stringify!(ASensorEvent__bindgen_ty_1),
12907            "::",
12908            stringify!(u64)
12909        )
12910    );
12911}
12912#[test]
12913fn bindgen_test_layout_ASensorEvent() {
12914    assert_eq!(
12915        ::std::mem::size_of::<ASensorEvent>(),
12916        104usize,
12917        concat!("Size of: ", stringify!(ASensorEvent))
12918    );
12919    assert_eq!(
12920        ::std::mem::align_of::<ASensorEvent>(),
12921        8usize,
12922        concat!("Alignment of ", stringify!(ASensorEvent))
12923    );
12924    assert_eq!(
12925        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).version as *const _ as usize },
12926        0usize,
12927        concat!(
12928            "Offset of field: ",
12929            stringify!(ASensorEvent),
12930            "::",
12931            stringify!(version)
12932        )
12933    );
12934    assert_eq!(
12935        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).sensor as *const _ as usize },
12936        4usize,
12937        concat!(
12938            "Offset of field: ",
12939            stringify!(ASensorEvent),
12940            "::",
12941            stringify!(sensor)
12942        )
12943    );
12944    assert_eq!(
12945        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).type_ as *const _ as usize },
12946        8usize,
12947        concat!(
12948            "Offset of field: ",
12949            stringify!(ASensorEvent),
12950            "::",
12951            stringify!(type_)
12952        )
12953    );
12954    assert_eq!(
12955        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved0 as *const _ as usize },
12956        12usize,
12957        concat!(
12958            "Offset of field: ",
12959            stringify!(ASensorEvent),
12960            "::",
12961            stringify!(reserved0)
12962        )
12963    );
12964    assert_eq!(
12965        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).timestamp as *const _ as usize },
12966        16usize,
12967        concat!(
12968            "Offset of field: ",
12969            stringify!(ASensorEvent),
12970            "::",
12971            stringify!(timestamp)
12972        )
12973    );
12974    assert_eq!(
12975        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).flags as *const _ as usize },
12976        88usize,
12977        concat!(
12978            "Offset of field: ",
12979            stringify!(ASensorEvent),
12980            "::",
12981            stringify!(flags)
12982        )
12983    );
12984    assert_eq!(
12985        unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved1 as *const _ as usize },
12986        92usize,
12987        concat!(
12988            "Offset of field: ",
12989            stringify!(ASensorEvent),
12990            "::",
12991            stringify!(reserved1)
12992        )
12993    );
12994}
12995#[repr(C)]
12996#[derive(Debug, Copy, Clone)]
12997pub struct ASensorManager {
12998    _unused: [u8; 0],
12999}
13000#[repr(C)]
13001#[derive(Debug, Copy, Clone)]
13002pub struct ASensorEventQueue {
13003    _unused: [u8; 0],
13004}
13005#[repr(C)]
13006#[derive(Debug, Copy, Clone)]
13007pub struct ASensor {
13008    _unused: [u8; 0],
13009}
13010pub type ASensorRef = *const ASensor;
13011pub type ASensorList = *const ASensorRef;
13012extern "C" {
13013    pub fn ASensorManager_getInstance() -> *mut ASensorManager;
13014}
13015extern "C" {
13016    pub fn ASensorManager_getInstanceForPackage(
13017        packageName: *const ::std::os::raw::c_char,
13018    ) -> *mut ASensorManager;
13019}
13020extern "C" {
13021    pub fn ASensorManager_getSensorList(
13022        manager: *mut ASensorManager,
13023        list: *mut ASensorList,
13024    ) -> ::std::os::raw::c_int;
13025}
13026extern "C" {
13027    pub fn ASensorManager_getDefaultSensor(
13028        manager: *mut ASensorManager,
13029        type_: ::std::os::raw::c_int,
13030    ) -> *const ASensor;
13031}
13032extern "C" {
13033    pub fn ASensorManager_getDefaultSensorEx(
13034        manager: *mut ASensorManager,
13035        type_: ::std::os::raw::c_int,
13036        wakeUp: bool,
13037    ) -> *const ASensor;
13038}
13039extern "C" {
13040    pub fn ASensorManager_createEventQueue(
13041        manager: *mut ASensorManager,
13042        looper: *mut ALooper,
13043        ident: ::std::os::raw::c_int,
13044        callback: ALooper_callbackFunc,
13045        data: *mut ::std::os::raw::c_void,
13046    ) -> *mut ASensorEventQueue;
13047}
13048extern "C" {
13049    pub fn ASensorManager_destroyEventQueue(
13050        manager: *mut ASensorManager,
13051        queue: *mut ASensorEventQueue,
13052    ) -> ::std::os::raw::c_int;
13053}
13054extern "C" {
13055    pub fn ASensorManager_createSharedMemoryDirectChannel(
13056        manager: *mut ASensorManager,
13057        fd: ::std::os::raw::c_int,
13058        size: usize,
13059    ) -> ::std::os::raw::c_int;
13060}
13061extern "C" {
13062    pub fn ASensorManager_createHardwareBufferDirectChannel(
13063        manager: *mut ASensorManager,
13064        buffer: *const AHardwareBuffer,
13065        size: usize,
13066    ) -> ::std::os::raw::c_int;
13067}
13068extern "C" {
13069    pub fn ASensorManager_destroyDirectChannel(
13070        manager: *mut ASensorManager,
13071        channelId: ::std::os::raw::c_int,
13072    );
13073}
13074extern "C" {
13075    pub fn ASensorManager_configureDirectReport(
13076        manager: *mut ASensorManager,
13077        sensor: *const ASensor,
13078        channelId: ::std::os::raw::c_int,
13079        rate: ::std::os::raw::c_int,
13080    ) -> ::std::os::raw::c_int;
13081}
13082extern "C" {
13083    pub fn ASensorEventQueue_registerSensor(
13084        queue: *mut ASensorEventQueue,
13085        sensor: *const ASensor,
13086        samplingPeriodUs: i32,
13087        maxBatchReportLatencyUs: i64,
13088    ) -> ::std::os::raw::c_int;
13089}
13090extern "C" {
13091    pub fn ASensorEventQueue_enableSensor(
13092        queue: *mut ASensorEventQueue,
13093        sensor: *const ASensor,
13094    ) -> ::std::os::raw::c_int;
13095}
13096extern "C" {
13097    pub fn ASensorEventQueue_disableSensor(
13098        queue: *mut ASensorEventQueue,
13099        sensor: *const ASensor,
13100    ) -> ::std::os::raw::c_int;
13101}
13102extern "C" {
13103    pub fn ASensorEventQueue_setEventRate(
13104        queue: *mut ASensorEventQueue,
13105        sensor: *const ASensor,
13106        usec: i32,
13107    ) -> ::std::os::raw::c_int;
13108}
13109extern "C" {
13110    pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
13111}
13112extern "C" {
13113    pub fn ASensorEventQueue_getEvents(
13114        queue: *mut ASensorEventQueue,
13115        events: *mut ASensorEvent,
13116        count: usize,
13117    ) -> isize;
13118}
13119extern "C" {
13120    pub fn ASensorEventQueue_requestAdditionalInfoEvents(
13121        queue: *mut ASensorEventQueue,
13122        enable: bool,
13123    ) -> ::std::os::raw::c_int;
13124}
13125extern "C" {
13126    pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13127}
13128extern "C" {
13129    pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13130}
13131extern "C" {
13132    pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
13133}
13134extern "C" {
13135    pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
13136}
13137extern "C" {
13138    pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
13139}
13140extern "C" {
13141    pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13142}
13143extern "C" {
13144    pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13145}
13146extern "C" {
13147    pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13148}
13149extern "C" {
13150    pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
13151}
13152extern "C" {
13153    pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
13154}
13155extern "C" {
13156    pub fn ASensor_isDirectChannelTypeSupported(
13157        sensor: *const ASensor,
13158        channelType: ::std::os::raw::c_int,
13159    ) -> bool;
13160}
13161extern "C" {
13162    pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
13163        -> ::std::os::raw::c_int;
13164}
13165extern "C" {
13166    pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
13167}
13168extern "C" {
13169    pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
13170}
13171extern "C" {
13172    pub fn ASharedMemory_create(
13173        name: *const ::std::os::raw::c_char,
13174        size: usize,
13175    ) -> ::std::os::raw::c_int;
13176}
13177extern "C" {
13178    pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> usize;
13179}
13180extern "C" {
13181    pub fn ASharedMemory_setProt(
13182        fd: ::std::os::raw::c_int,
13183        prot: ::std::os::raw::c_int,
13184    ) -> ::std::os::raw::c_int;
13185}
13186extern "C" {
13187    pub fn ASharedMemory_dupFromJava(
13188        env: *mut JNIEnv,
13189        sharedMemory: jobject,
13190    ) -> ::std::os::raw::c_int;
13191}
13192#[repr(C)]
13193#[derive(Debug, Copy, Clone)]
13194pub struct AStorageManager {
13195    _unused: [u8; 0],
13196}
13197pub const AOBB_STATE_MOUNTED: _bindgen_ty_36 = 1;
13198pub const AOBB_STATE_UNMOUNTED: _bindgen_ty_36 = 2;
13199pub const AOBB_STATE_ERROR_INTERNAL: _bindgen_ty_36 = 20;
13200pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: _bindgen_ty_36 = 21;
13201pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: _bindgen_ty_36 = 22;
13202pub const AOBB_STATE_ERROR_NOT_MOUNTED: _bindgen_ty_36 = 23;
13203pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: _bindgen_ty_36 = 24;
13204pub const AOBB_STATE_ERROR_PERMISSION_DENIED: _bindgen_ty_36 = 25;
13205pub type _bindgen_ty_36 = u32;
13206extern "C" {
13207    pub fn AStorageManager_new() -> *mut AStorageManager;
13208}
13209extern "C" {
13210    pub fn AStorageManager_delete(mgr: *mut AStorageManager);
13211}
13212pub type AStorageManager_obbCallbackFunc = ::std::option::Option<
13213    unsafe extern "C" fn(
13214        filename: *const ::std::os::raw::c_char,
13215        state: i32,
13216        data: *mut ::std::os::raw::c_void,
13217    ),
13218>;
13219extern "C" {
13220    pub fn AStorageManager_mountObb(
13221        mgr: *mut AStorageManager,
13222        filename: *const ::std::os::raw::c_char,
13223        key: *const ::std::os::raw::c_char,
13224        cb: AStorageManager_obbCallbackFunc,
13225        data: *mut ::std::os::raw::c_void,
13226    );
13227}
13228extern "C" {
13229    pub fn AStorageManager_unmountObb(
13230        mgr: *mut AStorageManager,
13231        filename: *const ::std::os::raw::c_char,
13232        force: ::std::os::raw::c_int,
13233        cb: AStorageManager_obbCallbackFunc,
13234        data: *mut ::std::os::raw::c_void,
13235    );
13236}
13237extern "C" {
13238    pub fn AStorageManager_isObbMounted(
13239        mgr: *mut AStorageManager,
13240        filename: *const ::std::os::raw::c_char,
13241    ) -> ::std::os::raw::c_int;
13242}
13243extern "C" {
13244    pub fn AStorageManager_getMountedObbPath(
13245        mgr: *mut AStorageManager,
13246        filename: *const ::std::os::raw::c_char,
13247    ) -> *const ::std::os::raw::c_char;
13248}
13249#[repr(C)]
13250#[derive(Debug, Copy, Clone)]
13251pub struct ASurfaceTexture {
13252    _unused: [u8; 0],
13253}
13254extern "C" {
13255    pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
13256}
13257extern "C" {
13258    pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
13259}
13260extern "C" {
13261    pub fn ASurfaceTexture_attachToGLContext(
13262        st: *mut ASurfaceTexture,
13263        texName: u32,
13264    ) -> ::std::os::raw::c_int;
13265}
13266extern "C" {
13267    pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
13268}
13269extern "C" {
13270    pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
13271}
13272extern "C" {
13273    pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
13274}
13275extern "C" {
13276    pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
13277}
13278extern "C" {
13279    pub fn ASurfaceTexture_fromSurfaceTexture(
13280        env: *mut JNIEnv,
13281        surfacetexture: jobject,
13282    ) -> *mut ASurfaceTexture;
13283}
13284#[repr(C)]
13285#[derive(Debug, Copy, Clone)]
13286pub struct sync_merge_data {
13287    pub name: [::std::os::raw::c_char; 32usize],
13288    pub fd2: __s32,
13289    pub fence: __s32,
13290    pub flags: __u32,
13291    pub pad: __u32,
13292}
13293#[test]
13294fn bindgen_test_layout_sync_merge_data() {
13295    assert_eq!(
13296        ::std::mem::size_of::<sync_merge_data>(),
13297        48usize,
13298        concat!("Size of: ", stringify!(sync_merge_data))
13299    );
13300    assert_eq!(
13301        ::std::mem::align_of::<sync_merge_data>(),
13302        4usize,
13303        concat!("Alignment of ", stringify!(sync_merge_data))
13304    );
13305    assert_eq!(
13306        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).name as *const _ as usize },
13307        0usize,
13308        concat!(
13309            "Offset of field: ",
13310            stringify!(sync_merge_data),
13311            "::",
13312            stringify!(name)
13313        )
13314    );
13315    assert_eq!(
13316        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fd2 as *const _ as usize },
13317        32usize,
13318        concat!(
13319            "Offset of field: ",
13320            stringify!(sync_merge_data),
13321            "::",
13322            stringify!(fd2)
13323        )
13324    );
13325    assert_eq!(
13326        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fence as *const _ as usize },
13327        36usize,
13328        concat!(
13329            "Offset of field: ",
13330            stringify!(sync_merge_data),
13331            "::",
13332            stringify!(fence)
13333        )
13334    );
13335    assert_eq!(
13336        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).flags as *const _ as usize },
13337        40usize,
13338        concat!(
13339            "Offset of field: ",
13340            stringify!(sync_merge_data),
13341            "::",
13342            stringify!(flags)
13343        )
13344    );
13345    assert_eq!(
13346        unsafe { &(*(::std::ptr::null::<sync_merge_data>())).pad as *const _ as usize },
13347        44usize,
13348        concat!(
13349            "Offset of field: ",
13350            stringify!(sync_merge_data),
13351            "::",
13352            stringify!(pad)
13353        )
13354    );
13355}
13356#[repr(C)]
13357#[derive(Debug, Copy, Clone)]
13358pub struct sync_fence_info {
13359    pub obj_name: [::std::os::raw::c_char; 32usize],
13360    pub driver_name: [::std::os::raw::c_char; 32usize],
13361    pub status: __s32,
13362    pub flags: __u32,
13363    pub timestamp_ns: __u64,
13364}
13365#[test]
13366fn bindgen_test_layout_sync_fence_info() {
13367    assert_eq!(
13368        ::std::mem::size_of::<sync_fence_info>(),
13369        80usize,
13370        concat!("Size of: ", stringify!(sync_fence_info))
13371    );
13372    assert_eq!(
13373        ::std::mem::align_of::<sync_fence_info>(),
13374        8usize,
13375        concat!("Alignment of ", stringify!(sync_fence_info))
13376    );
13377    assert_eq!(
13378        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).obj_name as *const _ as usize },
13379        0usize,
13380        concat!(
13381            "Offset of field: ",
13382            stringify!(sync_fence_info),
13383            "::",
13384            stringify!(obj_name)
13385        )
13386    );
13387    assert_eq!(
13388        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).driver_name as *const _ as usize },
13389        32usize,
13390        concat!(
13391            "Offset of field: ",
13392            stringify!(sync_fence_info),
13393            "::",
13394            stringify!(driver_name)
13395        )
13396    );
13397    assert_eq!(
13398        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).status as *const _ as usize },
13399        64usize,
13400        concat!(
13401            "Offset of field: ",
13402            stringify!(sync_fence_info),
13403            "::",
13404            stringify!(status)
13405        )
13406    );
13407    assert_eq!(
13408        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).flags as *const _ as usize },
13409        68usize,
13410        concat!(
13411            "Offset of field: ",
13412            stringify!(sync_fence_info),
13413            "::",
13414            stringify!(flags)
13415        )
13416    );
13417    assert_eq!(
13418        unsafe { &(*(::std::ptr::null::<sync_fence_info>())).timestamp_ns as *const _ as usize },
13419        72usize,
13420        concat!(
13421            "Offset of field: ",
13422            stringify!(sync_fence_info),
13423            "::",
13424            stringify!(timestamp_ns)
13425        )
13426    );
13427}
13428#[repr(C)]
13429#[derive(Debug, Copy, Clone)]
13430pub struct sync_file_info {
13431    pub name: [::std::os::raw::c_char; 32usize],
13432    pub status: __s32,
13433    pub flags: __u32,
13434    pub num_fences: __u32,
13435    pub pad: __u32,
13436    pub sync_fence_info: __u64,
13437}
13438#[test]
13439fn bindgen_test_layout_sync_file_info() {
13440    assert_eq!(
13441        ::std::mem::size_of::<sync_file_info>(),
13442        56usize,
13443        concat!("Size of: ", stringify!(sync_file_info))
13444    );
13445    assert_eq!(
13446        ::std::mem::align_of::<sync_file_info>(),
13447        8usize,
13448        concat!("Alignment of ", stringify!(sync_file_info))
13449    );
13450    assert_eq!(
13451        unsafe { &(*(::std::ptr::null::<sync_file_info>())).name as *const _ as usize },
13452        0usize,
13453        concat!(
13454            "Offset of field: ",
13455            stringify!(sync_file_info),
13456            "::",
13457            stringify!(name)
13458        )
13459    );
13460    assert_eq!(
13461        unsafe { &(*(::std::ptr::null::<sync_file_info>())).status as *const _ as usize },
13462        32usize,
13463        concat!(
13464            "Offset of field: ",
13465            stringify!(sync_file_info),
13466            "::",
13467            stringify!(status)
13468        )
13469    );
13470    assert_eq!(
13471        unsafe { &(*(::std::ptr::null::<sync_file_info>())).flags as *const _ as usize },
13472        36usize,
13473        concat!(
13474            "Offset of field: ",
13475            stringify!(sync_file_info),
13476            "::",
13477            stringify!(flags)
13478        )
13479    );
13480    assert_eq!(
13481        unsafe { &(*(::std::ptr::null::<sync_file_info>())).num_fences as *const _ as usize },
13482        40usize,
13483        concat!(
13484            "Offset of field: ",
13485            stringify!(sync_file_info),
13486            "::",
13487            stringify!(num_fences)
13488        )
13489    );
13490    assert_eq!(
13491        unsafe { &(*(::std::ptr::null::<sync_file_info>())).pad as *const _ as usize },
13492        44usize,
13493        concat!(
13494            "Offset of field: ",
13495            stringify!(sync_file_info),
13496            "::",
13497            stringify!(pad)
13498        )
13499    );
13500    assert_eq!(
13501        unsafe { &(*(::std::ptr::null::<sync_file_info>())).sync_fence_info as *const _ as usize },
13502        48usize,
13503        concat!(
13504            "Offset of field: ",
13505            stringify!(sync_file_info),
13506            "::",
13507            stringify!(sync_fence_info)
13508        )
13509    );
13510}
13511extern "C" {
13512    pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
13513}
13514extern "C" {
13515    pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
13516}
13517extern "C" {
13518    pub fn sync_file_info_free(info: *mut sync_file_info);
13519}
13520extern "C" {
13521    pub fn ATrace_isEnabled() -> bool;
13522}
13523extern "C" {
13524    pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
13525}
13526extern "C" {
13527    pub fn ATrace_endSection();
13528}
13529extern "C" {
13530    pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
13531}
13532extern "C" {
13533    pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
13534}
13535extern "C" {
13536    pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
13537}
13538pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: _bindgen_ty_37 = 1;
13539pub const AWINDOW_FLAG_DIM_BEHIND: _bindgen_ty_37 = 2;
13540pub const AWINDOW_FLAG_BLUR_BEHIND: _bindgen_ty_37 = 4;
13541pub const AWINDOW_FLAG_NOT_FOCUSABLE: _bindgen_ty_37 = 8;
13542pub const AWINDOW_FLAG_NOT_TOUCHABLE: _bindgen_ty_37 = 16;
13543pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: _bindgen_ty_37 = 32;
13544pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: _bindgen_ty_37 = 64;
13545pub const AWINDOW_FLAG_KEEP_SCREEN_ON: _bindgen_ty_37 = 128;
13546pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: _bindgen_ty_37 = 256;
13547pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: _bindgen_ty_37 = 512;
13548pub const AWINDOW_FLAG_FULLSCREEN: _bindgen_ty_37 = 1024;
13549pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: _bindgen_ty_37 = 2048;
13550pub const AWINDOW_FLAG_DITHER: _bindgen_ty_37 = 4096;
13551pub const AWINDOW_FLAG_SECURE: _bindgen_ty_37 = 8192;
13552pub const AWINDOW_FLAG_SCALED: _bindgen_ty_37 = 16384;
13553pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: _bindgen_ty_37 = 32768;
13554pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: _bindgen_ty_37 = 65536;
13555pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: _bindgen_ty_37 = 131072;
13556pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: _bindgen_ty_37 = 262144;
13557pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: _bindgen_ty_37 = 524288;
13558pub const AWINDOW_FLAG_SHOW_WALLPAPER: _bindgen_ty_37 = 1048576;
13559pub const AWINDOW_FLAG_TURN_SCREEN_ON: _bindgen_ty_37 = 2097152;
13560pub const AWINDOW_FLAG_DISMISS_KEYGUARD: _bindgen_ty_37 = 4194304;
13561pub type _bindgen_ty_37 = u32;
13562pub type __builtin_va_list = __va_list;
13563#[repr(C)]
13564#[derive(Debug, Copy, Clone)]
13565pub struct __va_list {
13566    pub __ap: *mut ::std::os::raw::c_void,
13567}
13568#[test]
13569fn bindgen_test_layout___va_list() {
13570    assert_eq!(
13571        ::std::mem::size_of::<__va_list>(),
13572        4usize,
13573        concat!("Size of: ", stringify!(__va_list))
13574    );
13575    assert_eq!(
13576        ::std::mem::align_of::<__va_list>(),
13577        4usize,
13578        concat!("Alignment of ", stringify!(__va_list))
13579    );
13580    assert_eq!(
13581        unsafe { &(*(::std::ptr::null::<__va_list>())).__ap as *const _ as usize },
13582        0usize,
13583        concat!(
13584            "Offset of field: ",
13585            stringify!(__va_list),
13586            "::",
13587            stringify!(__ap)
13588        )
13589    );
13590}