1 /* automatically generated by rust-bindgen */
2 
3 pub const __BIONIC__: u32 = 1;
4 pub const __WORDSIZE: u32 = 32;
5 pub const __bos_level: u32 = 0;
6 pub const __ANDROID_API_FUTURE__: u32 = 10000;
7 pub const __ANDROID_API__: u32 = 10000;
8 pub const __ANDROID_API_G__: u32 = 9;
9 pub const __ANDROID_API_I__: u32 = 14;
10 pub const __ANDROID_API_J__: u32 = 16;
11 pub const __ANDROID_API_J_MR1__: u32 = 17;
12 pub const __ANDROID_API_J_MR2__: u32 = 18;
13 pub const __ANDROID_API_K__: u32 = 19;
14 pub const __ANDROID_API_L__: u32 = 21;
15 pub const __ANDROID_API_L_MR1__: u32 = 22;
16 pub const __ANDROID_API_M__: u32 = 23;
17 pub const __ANDROID_API_N__: u32 = 24;
18 pub const __ANDROID_API_N_MR1__: u32 = 25;
19 pub const __ANDROID_API_O__: u32 = 26;
20 pub const __ANDROID_API_O_MR1__: u32 = 27;
21 pub const __ANDROID_API_P__: u32 = 28;
22 pub const __ANDROID_API_Q__: u32 = 29;
23 pub const WCHAR_MIN: u8 = 0u8;
24 pub const INT8_MIN: i32 = -128;
25 pub const INT8_MAX: u32 = 127;
26 pub const INT_LEAST8_MIN: i32 = -128;
27 pub const INT_LEAST8_MAX: u32 = 127;
28 pub const INT_FAST8_MIN: i32 = -128;
29 pub const INT_FAST8_MAX: u32 = 127;
30 pub const UINT8_MAX: u32 = 255;
31 pub const UINT_LEAST8_MAX: u32 = 255;
32 pub const UINT_FAST8_MAX: u32 = 255;
33 pub const INT16_MIN: i32 = -32768;
34 pub const INT16_MAX: u32 = 32767;
35 pub const INT_LEAST16_MIN: i32 = -32768;
36 pub const INT_LEAST16_MAX: u32 = 32767;
37 pub const UINT16_MAX: u32 = 65535;
38 pub const UINT_LEAST16_MAX: u32 = 65535;
39 pub const INT32_MIN: i32 = -2147483648;
40 pub const INT32_MAX: u32 = 2147483647;
41 pub const INT_LEAST32_MIN: i32 = -2147483648;
42 pub const INT_LEAST32_MAX: u32 = 2147483647;
43 pub const INT_FAST32_MIN: i32 = -2147483648;
44 pub const INT_FAST32_MAX: u32 = 2147483647;
45 pub const UINT32_MAX: u32 = 4294967295;
46 pub const UINT_LEAST32_MAX: u32 = 4294967295;
47 pub const UINT_FAST32_MAX: u32 = 4294967295;
48 pub const SIG_ATOMIC_MAX: u32 = 2147483647;
49 pub const SIG_ATOMIC_MIN: i32 = -2147483648;
50 pub const WINT_MAX: u32 = 4294967295;
51 pub const WINT_MIN: u32 = 0;
52 pub const INTPTR_MIN: i32 = -2147483648;
53 pub const INTPTR_MAX: u32 = 2147483647;
54 pub const UINTPTR_MAX: u32 = 4294967295;
55 pub const PTRDIFF_MIN: i32 = -2147483648;
56 pub const PTRDIFF_MAX: u32 = 2147483647;
57 pub const SIZE_MAX: u32 = 4294967295;
58 pub const __BITS_PER_LONG: u32 = 32;
59 pub const __FD_SETSIZE: u32 = 1024;
60 pub const __GNUC_VA_LIST: u32 = 1;
61 pub const JNI_FALSE: u32 = 0;
62 pub const JNI_TRUE: u32 = 1;
63 pub const JNI_VERSION_1_1: u32 = 65537;
64 pub const JNI_VERSION_1_2: u32 = 65538;
65 pub const JNI_VERSION_1_4: u32 = 65540;
66 pub const JNI_VERSION_1_6: u32 = 65542;
67 pub const JNI_OK: u32 = 0;
68 pub const JNI_ERR: i32 = -1;
69 pub const JNI_EDETACHED: i32 = -2;
70 pub const JNI_EVERSION: i32 = -3;
71 pub const JNI_ENOMEM: i32 = -4;
72 pub const JNI_EEXIST: i32 = -5;
73 pub const JNI_EINVAL: i32 = -6;
74 pub const JNI_COMMIT: u32 = 1;
75 pub const JNI_ABORT: u32 = 2;
76 pub const __PRI_64_prefix: &'static [u8; 3usize] = b"ll\0";
77 pub const PRId8: &'static [u8; 2usize] = b"d\0";
78 pub const PRId16: &'static [u8; 2usize] = b"d\0";
79 pub const PRId32: &'static [u8; 2usize] = b"d\0";
80 pub const PRId64: &'static [u8; 4usize] = b"lld\0";
81 pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
82 pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
83 pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
84 pub const PRIdLEAST64: &'static [u8; 4usize] = b"lld\0";
85 pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
86 pub const PRIdFAST64: &'static [u8; 4usize] = b"lld\0";
87 pub const PRIdMAX: &'static [u8; 3usize] = b"jd\0";
88 pub const PRIi8: &'static [u8; 2usize] = b"i\0";
89 pub const PRIi16: &'static [u8; 2usize] = b"i\0";
90 pub const PRIi32: &'static [u8; 2usize] = b"i\0";
91 pub const PRIi64: &'static [u8; 4usize] = b"lli\0";
92 pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
93 pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
94 pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
95 pub const PRIiLEAST64: &'static [u8; 4usize] = b"lli\0";
96 pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
97 pub const PRIiFAST64: &'static [u8; 4usize] = b"lli\0";
98 pub const PRIiMAX: &'static [u8; 3usize] = b"ji\0";
99 pub const PRIo8: &'static [u8; 2usize] = b"o\0";
100 pub const PRIo16: &'static [u8; 2usize] = b"o\0";
101 pub const PRIo32: &'static [u8; 2usize] = b"o\0";
102 pub const PRIo64: &'static [u8; 4usize] = b"llo\0";
103 pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
104 pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
105 pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
106 pub const PRIoLEAST64: &'static [u8; 4usize] = b"llo\0";
107 pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
108 pub const PRIoFAST64: &'static [u8; 4usize] = b"llo\0";
109 pub const PRIoMAX: &'static [u8; 3usize] = b"jo\0";
110 pub const PRIu8: &'static [u8; 2usize] = b"u\0";
111 pub const PRIu16: &'static [u8; 2usize] = b"u\0";
112 pub const PRIu32: &'static [u8; 2usize] = b"u\0";
113 pub const PRIu64: &'static [u8; 4usize] = b"llu\0";
114 pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
115 pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
116 pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
117 pub const PRIuLEAST64: &'static [u8; 4usize] = b"llu\0";
118 pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
119 pub const PRIuFAST64: &'static [u8; 4usize] = b"llu\0";
120 pub const PRIuMAX: &'static [u8; 3usize] = b"ju\0";
121 pub const PRIx8: &'static [u8; 2usize] = b"x\0";
122 pub const PRIx16: &'static [u8; 2usize] = b"x\0";
123 pub const PRIx32: &'static [u8; 2usize] = b"x\0";
124 pub const PRIx64: &'static [u8; 4usize] = b"llx\0";
125 pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
126 pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
127 pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
128 pub const PRIxLEAST64: &'static [u8; 4usize] = b"llx\0";
129 pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
130 pub const PRIxFAST64: &'static [u8; 4usize] = b"llx\0";
131 pub const PRIxMAX: &'static [u8; 3usize] = b"jx\0";
132 pub const PRIX8: &'static [u8; 2usize] = b"X\0";
133 pub const PRIX16: &'static [u8; 2usize] = b"X\0";
134 pub const PRIX32: &'static [u8; 2usize] = b"X\0";
135 pub const PRIX64: &'static [u8; 4usize] = b"llX\0";
136 pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
137 pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
138 pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
139 pub const PRIXLEAST64: &'static [u8; 4usize] = b"llX\0";
140 pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
141 pub const PRIXFAST64: &'static [u8; 4usize] = b"llX\0";
142 pub const PRIXMAX: &'static [u8; 3usize] = b"jX\0";
143 pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
144 pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
145 pub const SCNd32: &'static [u8; 2usize] = b"d\0";
146 pub const SCNd64: &'static [u8; 4usize] = b"lld\0";
147 pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
148 pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
149 pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
150 pub const SCNdLEAST64: &'static [u8; 4usize] = b"lld\0";
151 pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
152 pub const SCNdFAST64: &'static [u8; 4usize] = b"lld\0";
153 pub const SCNdMAX: &'static [u8; 3usize] = b"jd\0";
154 pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
155 pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
156 pub const SCNi32: &'static [u8; 2usize] = b"i\0";
157 pub const SCNi64: &'static [u8; 4usize] = b"lli\0";
158 pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
159 pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
160 pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
161 pub const SCNiLEAST64: &'static [u8; 4usize] = b"lli\0";
162 pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
163 pub const SCNiFAST64: &'static [u8; 4usize] = b"lli\0";
164 pub const SCNiMAX: &'static [u8; 3usize] = b"ji\0";
165 pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
166 pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
167 pub const SCNo32: &'static [u8; 2usize] = b"o\0";
168 pub const SCNo64: &'static [u8; 4usize] = b"llo\0";
169 pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
170 pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
171 pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
172 pub const SCNoLEAST64: &'static [u8; 4usize] = b"llo\0";
173 pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
174 pub const SCNoFAST64: &'static [u8; 4usize] = b"llo\0";
175 pub const SCNoMAX: &'static [u8; 3usize] = b"jo\0";
176 pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
177 pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
178 pub const SCNu32: &'static [u8; 2usize] = b"u\0";
179 pub const SCNu64: &'static [u8; 4usize] = b"llu\0";
180 pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
181 pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
182 pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
183 pub const SCNuLEAST64: &'static [u8; 4usize] = b"llu\0";
184 pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
185 pub const SCNuFAST64: &'static [u8; 4usize] = b"llu\0";
186 pub const SCNuMAX: &'static [u8; 3usize] = b"ju\0";
187 pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
188 pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
189 pub const SCNx32: &'static [u8; 2usize] = b"x\0";
190 pub const SCNx64: &'static [u8; 4usize] = b"llx\0";
191 pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
192 pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
193 pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
194 pub const SCNxLEAST64: &'static [u8; 4usize] = b"llx\0";
195 pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
196 pub const SCNxFAST64: &'static [u8; 4usize] = b"llx\0";
197 pub const SCNxMAX: &'static [u8; 3usize] = b"jx\0";
198 pub const true_: u32 = 1;
199 pub const false_: u32 = 0;
200 pub const __bool_true_false_are_defined: u32 = 1;
201 pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
202 pub const _K_SS_MAXSIZE: u32 = 128;
203 pub const O_DIRECTORY: u32 = 16384;
204 pub const O_NOFOLLOW: u32 = 32768;
205 pub const O_DIRECT: u32 = 65536;
206 pub const O_LARGEFILE: u32 = 131072;
207 pub const O_ACCMODE: u32 = 3;
208 pub const O_RDONLY: u32 = 0;
209 pub const O_WRONLY: u32 = 1;
210 pub const O_RDWR: u32 = 2;
211 pub const O_CREAT: u32 = 64;
212 pub const O_EXCL: u32 = 128;
213 pub const O_NOCTTY: u32 = 256;
214 pub const O_TRUNC: u32 = 512;
215 pub const O_APPEND: u32 = 1024;
216 pub const O_NONBLOCK: u32 = 2048;
217 pub const O_DSYNC: u32 = 4096;
218 pub const FASYNC: u32 = 8192;
219 pub const O_NOATIME: u32 = 262144;
220 pub const O_CLOEXEC: u32 = 524288;
221 pub const __O_SYNC: u32 = 1048576;
222 pub const O_SYNC: u32 = 1052672;
223 pub const O_PATH: u32 = 2097152;
224 pub const __O_TMPFILE: u32 = 4194304;
225 pub const O_TMPFILE: u32 = 4210688;
226 pub const O_TMPFILE_MASK: u32 = 4210752;
227 pub const O_NDELAY: u32 = 2048;
228 pub const F_DUPFD: u32 = 0;
229 pub const F_GETFD: u32 = 1;
230 pub const F_SETFD: u32 = 2;
231 pub const F_GETFL: u32 = 3;
232 pub const F_SETFL: u32 = 4;
233 pub const F_GETLK: u32 = 5;
234 pub const F_SETLK: u32 = 6;
235 pub const F_SETLKW: u32 = 7;
236 pub const F_SETOWN: u32 = 8;
237 pub const F_GETOWN: u32 = 9;
238 pub const F_SETSIG: u32 = 10;
239 pub const F_GETSIG: u32 = 11;
240 pub const F_GETLK64: u32 = 12;
241 pub const F_SETLK64: u32 = 13;
242 pub const F_SETLKW64: u32 = 14;
243 pub const F_SETOWN_EX: u32 = 15;
244 pub const F_GETOWN_EX: u32 = 16;
245 pub const F_GETOWNER_UIDS: u32 = 17;
246 pub const F_OFD_GETLK: u32 = 36;
247 pub const F_OFD_SETLK: u32 = 37;
248 pub const F_OFD_SETLKW: u32 = 38;
249 pub const F_OWNER_TID: u32 = 0;
250 pub const F_OWNER_PID: u32 = 1;
251 pub const F_OWNER_PGRP: u32 = 2;
252 pub const FD_CLOEXEC: u32 = 1;
253 pub const F_RDLCK: u32 = 0;
254 pub const F_WRLCK: u32 = 1;
255 pub const F_UNLCK: u32 = 2;
256 pub const F_EXLCK: u32 = 4;
257 pub const F_SHLCK: u32 = 8;
258 pub const LOCK_SH: u32 = 1;
259 pub const LOCK_EX: u32 = 2;
260 pub const LOCK_NB: u32 = 4;
261 pub const LOCK_UN: u32 = 8;
262 pub const LOCK_MAND: u32 = 32;
263 pub const LOCK_READ: u32 = 64;
264 pub const LOCK_WRITE: u32 = 128;
265 pub const LOCK_RW: u32 = 192;
266 pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
267 pub const FIOSETOWN: u32 = 35073;
268 pub const SIOCSPGRP: u32 = 35074;
269 pub const FIOGETOWN: u32 = 35075;
270 pub const SIOCGPGRP: u32 = 35076;
271 pub const SIOCATMARK: u32 = 35077;
272 pub const SIOCGSTAMP: u32 = 35078;
273 pub const SIOCGSTAMPNS: u32 = 35079;
274 pub const SOL_SOCKET: u32 = 1;
275 pub const SO_DEBUG: u32 = 1;
276 pub const SO_REUSEADDR: u32 = 2;
277 pub const SO_TYPE: u32 = 3;
278 pub const SO_ERROR: u32 = 4;
279 pub const SO_DONTROUTE: u32 = 5;
280 pub const SO_BROADCAST: u32 = 6;
281 pub const SO_SNDBUF: u32 = 7;
282 pub const SO_RCVBUF: u32 = 8;
283 pub const SO_SNDBUFFORCE: u32 = 32;
284 pub const SO_RCVBUFFORCE: u32 = 33;
285 pub const SO_KEEPALIVE: u32 = 9;
286 pub const SO_OOBINLINE: u32 = 10;
287 pub const SO_NO_CHECK: u32 = 11;
288 pub const SO_PRIORITY: u32 = 12;
289 pub const SO_LINGER: u32 = 13;
290 pub const SO_BSDCOMPAT: u32 = 14;
291 pub const SO_REUSEPORT: u32 = 15;
292 pub const SO_PASSCRED: u32 = 16;
293 pub const SO_PEERCRED: u32 = 17;
294 pub const SO_RCVLOWAT: u32 = 18;
295 pub const SO_SNDLOWAT: u32 = 19;
296 pub const SO_RCVTIMEO: u32 = 20;
297 pub const SO_SNDTIMEO: u32 = 21;
298 pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
299 pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
300 pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
301 pub const SO_BINDTODEVICE: u32 = 25;
302 pub const SO_ATTACH_FILTER: u32 = 26;
303 pub const SO_DETACH_FILTER: u32 = 27;
304 pub const SO_GET_FILTER: u32 = 26;
305 pub const SO_PEERNAME: u32 = 28;
306 pub const SO_TIMESTAMP: u32 = 29;
307 pub const SCM_TIMESTAMP: u32 = 29;
308 pub const SO_ACCEPTCONN: u32 = 30;
309 pub const SO_PEERSEC: u32 = 31;
310 pub const SO_PASSSEC: u32 = 34;
311 pub const SO_TIMESTAMPNS: u32 = 35;
312 pub const SCM_TIMESTAMPNS: u32 = 35;
313 pub const SO_MARK: u32 = 36;
314 pub const SO_TIMESTAMPING: u32 = 37;
315 pub const SCM_TIMESTAMPING: u32 = 37;
316 pub const SO_PROTOCOL: u32 = 38;
317 pub const SO_DOMAIN: u32 = 39;
318 pub const SO_RXQ_OVFL: u32 = 40;
319 pub const SO_WIFI_STATUS: u32 = 41;
320 pub const SCM_WIFI_STATUS: u32 = 41;
321 pub const SO_PEEK_OFF: u32 = 42;
322 pub const SO_NOFCS: u32 = 43;
323 pub const SO_LOCK_FILTER: u32 = 44;
324 pub const SO_SELECT_ERR_QUEUE: u32 = 45;
325 pub const SO_BUSY_POLL: u32 = 46;
326 pub const SO_MAX_PACING_RATE: u32 = 47;
327 pub const SO_BPF_EXTENSIONS: u32 = 48;
328 pub const SO_INCOMING_CPU: u32 = 49;
329 pub const SO_ATTACH_BPF: u32 = 50;
330 pub const SO_DETACH_BPF: u32 = 27;
331 pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
332 pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
333 pub const SO_CNX_ADVICE: u32 = 53;
334 pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
335 pub const SO_MEMINFO: u32 = 55;
336 pub const SO_INCOMING_NAPI_ID: u32 = 56;
337 pub const SO_COOKIE: u32 = 57;
338 pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
339 pub const SO_PEERGROUPS: u32 = 59;
340 pub const SO_ZEROCOPY: u32 = 60;
341 pub const SO_TXTIME: u32 = 61;
342 pub const SCM_TXTIME: u32 = 61;
343 pub const SOCK_IOC_TYPE: u32 = 137;
344 pub const SIOCADDRT: u32 = 35083;
345 pub const SIOCDELRT: u32 = 35084;
346 pub const SIOCRTMSG: u32 = 35085;
347 pub const SIOCGIFNAME: u32 = 35088;
348 pub const SIOCSIFLINK: u32 = 35089;
349 pub const SIOCGIFCONF: u32 = 35090;
350 pub const SIOCGIFFLAGS: u32 = 35091;
351 pub const SIOCSIFFLAGS: u32 = 35092;
352 pub const SIOCGIFADDR: u32 = 35093;
353 pub const SIOCSIFADDR: u32 = 35094;
354 pub const SIOCGIFDSTADDR: u32 = 35095;
355 pub const SIOCSIFDSTADDR: u32 = 35096;
356 pub const SIOCGIFBRDADDR: u32 = 35097;
357 pub const SIOCSIFBRDADDR: u32 = 35098;
358 pub const SIOCGIFNETMASK: u32 = 35099;
359 pub const SIOCSIFNETMASK: u32 = 35100;
360 pub const SIOCGIFMETRIC: u32 = 35101;
361 pub const SIOCSIFMETRIC: u32 = 35102;
362 pub const SIOCGIFMEM: u32 = 35103;
363 pub const SIOCSIFMEM: u32 = 35104;
364 pub const SIOCGIFMTU: u32 = 35105;
365 pub const SIOCSIFMTU: u32 = 35106;
366 pub const SIOCSIFNAME: u32 = 35107;
367 pub const SIOCSIFHWADDR: u32 = 35108;
368 pub const SIOCGIFENCAP: u32 = 35109;
369 pub const SIOCSIFENCAP: u32 = 35110;
370 pub const SIOCGIFHWADDR: u32 = 35111;
371 pub const SIOCGIFSLAVE: u32 = 35113;
372 pub const SIOCSIFSLAVE: u32 = 35120;
373 pub const SIOCADDMULTI: u32 = 35121;
374 pub const SIOCDELMULTI: u32 = 35122;
375 pub const SIOCGIFINDEX: u32 = 35123;
376 pub const SIOGIFINDEX: u32 = 35123;
377 pub const SIOCSIFPFLAGS: u32 = 35124;
378 pub const SIOCGIFPFLAGS: u32 = 35125;
379 pub const SIOCDIFADDR: u32 = 35126;
380 pub const SIOCSIFHWBROADCAST: u32 = 35127;
381 pub const SIOCGIFCOUNT: u32 = 35128;
382 pub const SIOCGIFBR: u32 = 35136;
383 pub const SIOCSIFBR: u32 = 35137;
384 pub const SIOCGIFTXQLEN: u32 = 35138;
385 pub const SIOCSIFTXQLEN: u32 = 35139;
386 pub const SIOCETHTOOL: u32 = 35142;
387 pub const SIOCGMIIPHY: u32 = 35143;
388 pub const SIOCGMIIREG: u32 = 35144;
389 pub const SIOCSMIIREG: u32 = 35145;
390 pub const SIOCWANDEV: u32 = 35146;
391 pub const SIOCOUTQNSD: u32 = 35147;
392 pub const SIOCGSKNS: u32 = 35148;
393 pub const SIOCDARP: u32 = 35155;
394 pub const SIOCGARP: u32 = 35156;
395 pub const SIOCSARP: u32 = 35157;
396 pub const SIOCDRARP: u32 = 35168;
397 pub const SIOCGRARP: u32 = 35169;
398 pub const SIOCSRARP: u32 = 35170;
399 pub const SIOCGIFMAP: u32 = 35184;
400 pub const SIOCSIFMAP: u32 = 35185;
401 pub const SIOCADDDLCI: u32 = 35200;
402 pub const SIOCDELDLCI: u32 = 35201;
403 pub const SIOCGIFVLAN: u32 = 35202;
404 pub const SIOCSIFVLAN: u32 = 35203;
405 pub const SIOCBONDENSLAVE: u32 = 35216;
406 pub const SIOCBONDRELEASE: u32 = 35217;
407 pub const SIOCBONDSETHWADDR: u32 = 35218;
408 pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
409 pub const SIOCBONDINFOQUERY: u32 = 35220;
410 pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
411 pub const SIOCBRADDBR: u32 = 35232;
412 pub const SIOCBRDELBR: u32 = 35233;
413 pub const SIOCBRADDIF: u32 = 35234;
414 pub const SIOCBRDELIF: u32 = 35235;
415 pub const SIOCSHWTSTAMP: u32 = 35248;
416 pub const SIOCGHWTSTAMP: u32 = 35249;
417 pub const SIOCDEVPRIVATE: u32 = 35312;
418 pub const SIOCPROTOPRIVATE: u32 = 35296;
419 pub const UIO_FASTIOV: u32 = 8;
420 pub const UIO_MAXIOV: u32 = 1024;
421 pub const SOCK_STREAM: u32 = 1;
422 pub const SOCK_DGRAM: u32 = 2;
423 pub const SOCK_RAW: u32 = 3;
424 pub const SOCK_RDM: u32 = 4;
425 pub const SOCK_SEQPACKET: u32 = 5;
426 pub const SOCK_DCCP: u32 = 6;
427 pub const SOCK_PACKET: u32 = 10;
428 pub const SOCK_CLOEXEC: u32 = 524288;
429 pub const SOCK_NONBLOCK: u32 = 2048;
430 pub const SCM_RIGHTS: u32 = 1;
431 pub const SCM_CREDENTIALS: u32 = 2;
432 pub const SCM_SECURITY: u32 = 3;
433 pub const AF_UNSPEC: u32 = 0;
434 pub const AF_UNIX: u32 = 1;
435 pub const AF_LOCAL: u32 = 1;
436 pub const AF_INET: u32 = 2;
437 pub const AF_AX25: u32 = 3;
438 pub const AF_IPX: u32 = 4;
439 pub const AF_APPLETALK: u32 = 5;
440 pub const AF_NETROM: u32 = 6;
441 pub const AF_BRIDGE: u32 = 7;
442 pub const AF_ATMPVC: u32 = 8;
443 pub const AF_X25: u32 = 9;
444 pub const AF_INET6: u32 = 10;
445 pub const AF_ROSE: u32 = 11;
446 pub const AF_DECnet: u32 = 12;
447 pub const AF_NETBEUI: u32 = 13;
448 pub const AF_SECURITY: u32 = 14;
449 pub const AF_KEY: u32 = 15;
450 pub const AF_NETLINK: u32 = 16;
451 pub const AF_ROUTE: u32 = 16;
452 pub const AF_PACKET: u32 = 17;
453 pub const AF_ASH: u32 = 18;
454 pub const AF_ECONET: u32 = 19;
455 pub const AF_ATMSVC: u32 = 20;
456 pub const AF_RDS: u32 = 21;
457 pub const AF_SNA: u32 = 22;
458 pub const AF_IRDA: u32 = 23;
459 pub const AF_PPPOX: u32 = 24;
460 pub const AF_WANPIPE: u32 = 25;
461 pub const AF_LLC: u32 = 26;
462 pub const AF_CAN: u32 = 29;
463 pub const AF_TIPC: u32 = 30;
464 pub const AF_BLUETOOTH: u32 = 31;
465 pub const AF_IUCV: u32 = 32;
466 pub const AF_RXRPC: u32 = 33;
467 pub const AF_ISDN: u32 = 34;
468 pub const AF_PHONET: u32 = 35;
469 pub const AF_IEEE802154: u32 = 36;
470 pub const AF_CAIF: u32 = 37;
471 pub const AF_ALG: u32 = 38;
472 pub const AF_NFC: u32 = 39;
473 pub const AF_VSOCK: u32 = 40;
474 pub const AF_KCM: u32 = 41;
475 pub const AF_QIPCRTR: u32 = 42;
476 pub const AF_MAX: u32 = 43;
477 pub const PF_UNSPEC: u32 = 0;
478 pub const PF_UNIX: u32 = 1;
479 pub const PF_LOCAL: u32 = 1;
480 pub const PF_INET: u32 = 2;
481 pub const PF_AX25: u32 = 3;
482 pub const PF_IPX: u32 = 4;
483 pub const PF_APPLETALK: u32 = 5;
484 pub const PF_NETROM: u32 = 6;
485 pub const PF_BRIDGE: u32 = 7;
486 pub const PF_ATMPVC: u32 = 8;
487 pub const PF_X25: u32 = 9;
488 pub const PF_INET6: u32 = 10;
489 pub const PF_ROSE: u32 = 11;
490 pub const PF_DECnet: u32 = 12;
491 pub const PF_NETBEUI: u32 = 13;
492 pub const PF_SECURITY: u32 = 14;
493 pub const PF_KEY: u32 = 15;
494 pub const PF_NETLINK: u32 = 16;
495 pub const PF_ROUTE: u32 = 16;
496 pub const PF_PACKET: u32 = 17;
497 pub const PF_ASH: u32 = 18;
498 pub const PF_ECONET: u32 = 19;
499 pub const PF_ATMSVC: u32 = 20;
500 pub const PF_RDS: u32 = 21;
501 pub const PF_SNA: u32 = 22;
502 pub const PF_IRDA: u32 = 23;
503 pub const PF_PPPOX: u32 = 24;
504 pub const PF_WANPIPE: u32 = 25;
505 pub const PF_LLC: u32 = 26;
506 pub const PF_CAN: u32 = 29;
507 pub const PF_TIPC: u32 = 30;
508 pub const PF_BLUETOOTH: u32 = 31;
509 pub const PF_IUCV: u32 = 32;
510 pub const PF_RXRPC: u32 = 33;
511 pub const PF_ISDN: u32 = 34;
512 pub const PF_PHONET: u32 = 35;
513 pub const PF_IEEE802154: u32 = 36;
514 pub const PF_CAIF: u32 = 37;
515 pub const PF_ALG: u32 = 38;
516 pub const PF_NFC: u32 = 39;
517 pub const PF_VSOCK: u32 = 40;
518 pub const PF_KCM: u32 = 41;
519 pub const PF_QIPCRTR: u32 = 42;
520 pub const PF_MAX: u32 = 43;
521 pub const SOMAXCONN: u32 = 128;
522 pub const MSG_OOB: u32 = 1;
523 pub const MSG_PEEK: u32 = 2;
524 pub const MSG_DONTROUTE: u32 = 4;
525 pub const MSG_TRYHARD: u32 = 4;
526 pub const MSG_CTRUNC: u32 = 8;
527 pub const MSG_PROBE: u32 = 16;
528 pub const MSG_TRUNC: u32 = 32;
529 pub const MSG_DONTWAIT: u32 = 64;
530 pub const MSG_EOR: u32 = 128;
531 pub const MSG_WAITALL: u32 = 256;
532 pub const MSG_FIN: u32 = 512;
533 pub const MSG_SYN: u32 = 1024;
534 pub const MSG_CONFIRM: u32 = 2048;
535 pub const MSG_RST: u32 = 4096;
536 pub const MSG_ERRQUEUE: u32 = 8192;
537 pub const MSG_NOSIGNAL: u32 = 16384;
538 pub const MSG_MORE: u32 = 32768;
539 pub const MSG_WAITFORONE: u32 = 65536;
540 pub const MSG_BATCH: u32 = 262144;
541 pub const MSG_FASTOPEN: u32 = 536870912;
542 pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
543 pub const MSG_EOF: u32 = 512;
544 pub const MSG_CMSG_COMPAT: u32 = 0;
545 pub const SOL_IP: u32 = 0;
546 pub const SOL_TCP: u32 = 6;
547 pub const SOL_UDP: u32 = 17;
548 pub const SOL_IPV6: u32 = 41;
549 pub const SOL_ICMPV6: u32 = 58;
550 pub const SOL_SCTP: u32 = 132;
551 pub const SOL_RAW: u32 = 255;
552 pub const SOL_IPX: u32 = 256;
553 pub const SOL_AX25: u32 = 257;
554 pub const SOL_ATALK: u32 = 258;
555 pub const SOL_NETROM: u32 = 259;
556 pub const SOL_ROSE: u32 = 260;
557 pub const SOL_DECNET: u32 = 261;
558 pub const SOL_X25: u32 = 262;
559 pub const SOL_PACKET: u32 = 263;
560 pub const SOL_ATM: u32 = 264;
561 pub const SOL_AAL: u32 = 265;
562 pub const SOL_IRDA: u32 = 266;
563 pub const SOL_NETBEUI: u32 = 267;
564 pub const SOL_LLC: u32 = 268;
565 pub const SOL_DCCP: u32 = 269;
566 pub const SOL_NETLINK: u32 = 270;
567 pub const SOL_TIPC: u32 = 271;
568 pub const SOL_RXRPC: u32 = 272;
569 pub const SOL_PPPOL2TP: u32 = 273;
570 pub const SOL_BLUETOOTH: u32 = 274;
571 pub const SOL_PNPIPE: u32 = 275;
572 pub const SOL_RDS: u32 = 276;
573 pub const SOL_IUCV: u32 = 277;
574 pub const SOL_CAIF: u32 = 278;
575 pub const SOL_ALG: u32 = 279;
576 pub const SOL_NFC: u32 = 280;
577 pub const SOL_KCM: u32 = 281;
578 pub const SOL_TLS: u32 = 282;
579 pub const IPX_TYPE: u32 = 1;
580 pub const _PATH_HEQUIV: &'static [u8; 24usize] = b"/system/etc/hosts.equiv\0";
581 pub const _PATH_HOSTS: &'static [u8; 18usize] = b"/system/etc/hosts\0";
582 pub const _PATH_NETWORKS: &'static [u8; 21usize] = b"/system/etc/networks\0";
583 pub const _PATH_PROTOCOLS: &'static [u8; 22usize] = b"/system/etc/protocols\0";
584 pub const _PATH_SERVICES: &'static [u8; 21usize] = b"/system/etc/services\0";
585 pub const NETDB_INTERNAL: i32 = -1;
586 pub const NETDB_SUCCESS: u32 = 0;
587 pub const HOST_NOT_FOUND: u32 = 1;
588 pub const TRY_AGAIN: u32 = 2;
589 pub const NO_RECOVERY: u32 = 3;
590 pub const NO_DATA: u32 = 4;
591 pub const NO_ADDRESS: u32 = 4;
592 pub const EAI_ADDRFAMILY: u32 = 1;
593 pub const EAI_AGAIN: u32 = 2;
594 pub const EAI_BADFLAGS: u32 = 3;
595 pub const EAI_FAIL: u32 = 4;
596 pub const EAI_FAMILY: u32 = 5;
597 pub const EAI_MEMORY: u32 = 6;
598 pub const EAI_NODATA: u32 = 7;
599 pub const EAI_NONAME: u32 = 8;
600 pub const EAI_SERVICE: u32 = 9;
601 pub const EAI_SOCKTYPE: u32 = 10;
602 pub const EAI_SYSTEM: u32 = 11;
603 pub const EAI_BADHINTS: u32 = 12;
604 pub const EAI_PROTOCOL: u32 = 13;
605 pub const EAI_OVERFLOW: u32 = 14;
606 pub const EAI_MAX: u32 = 15;
607 pub const AI_PASSIVE: u32 = 1;
608 pub const AI_CANONNAME: u32 = 2;
609 pub const AI_NUMERICHOST: u32 = 4;
610 pub const AI_NUMERICSERV: u32 = 8;
611 pub const AI_ALL: u32 = 256;
612 pub const AI_V4MAPPED_CFG: u32 = 512;
613 pub const AI_ADDRCONFIG: u32 = 1024;
614 pub const AI_V4MAPPED: u32 = 2048;
615 pub const AI_DEFAULT: u32 = 1536;
616 pub const NI_MAXHOST: u32 = 1025;
617 pub const NI_MAXSERV: u32 = 32;
618 pub const NI_NOFQDN: u32 = 1;
619 pub const NI_NUMERICHOST: u32 = 2;
620 pub const NI_NAMEREQD: u32 = 4;
621 pub const NI_NUMERICSERV: u32 = 8;
622 pub const NI_DGRAM: u32 = 16;
623 pub const SCOPE_DELIMITER: u8 = 37u8;
624 pub const IPPORT_RESERVED: u32 = 1024;
625 pub const WNOHANG: u32 = 1;
626 pub const WUNTRACED: u32 = 2;
627 pub const WSTOPPED: u32 = 2;
628 pub const WEXITED: u32 = 4;
629 pub const WCONTINUED: u32 = 8;
630 pub const WNOWAIT: u32 = 16777216;
631 pub const __WNOTHREAD: u32 = 536870912;
632 pub const __WALL: u32 = 1073741824;
633 pub const __WCLONE: u32 = 2147483648;
634 pub const P_ALL: u32 = 0;
635 pub const P_PID: u32 = 1;
636 pub const P_PGID: u32 = 2;
637 pub const SEEK_SET: u32 = 0;
638 pub const SEEK_CUR: u32 = 1;
639 pub const SEEK_END: u32 = 2;
640 pub const _IOFBF: u32 = 0;
641 pub const _IOLBF: u32 = 1;
642 pub const _IONBF: u32 = 2;
643 pub const BUFSIZ: u32 = 1024;
644 pub const EOF: i32 = -1;
645 pub const FOPEN_MAX: u32 = 20;
646 pub const FILENAME_MAX: u32 = 4096;
647 pub const L_tmpnam: u32 = 4096;
648 pub const TMP_MAX: u32 = 308915776;
649 pub const P_tmpdir: &'static [u8; 6usize] = b"/tmp/\0";
650 pub const L_ctermid: u32 = 1024;
651 pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
652 pub const M_DECAY_TIME: i32 = -100;
653 pub const M_PURGE: i32 = -101;
654 pub const EXIT_FAILURE: u32 = 1;
655 pub const EXIT_SUCCESS: u32 = 0;
656 pub const RAND_MAX: u32 = 2147483647;
657 pub const __NDK_MAJOR__: u32 = 20;
658 pub const __NDK_MINOR__: u32 = 0;
659 pub const __NDK_BETA__: u32 = 0;
660 pub const __NDK_BUILD__: u32 = 5594570;
661 pub const __NDK_CANARY__: u32 = 0;
662 pub const NR_OPEN: u32 = 1024;
663 pub const NGROUPS_MAX: u32 = 65536;
664 pub const ARG_MAX: u32 = 131072;
665 pub const LINK_MAX: u32 = 127;
666 pub const MAX_CANON: u32 = 255;
667 pub const MAX_INPUT: u32 = 255;
668 pub const NAME_MAX: u32 = 255;
669 pub const PATH_MAX: u32 = 4096;
670 pub const PIPE_BUF: u32 = 4096;
671 pub const XATTR_NAME_MAX: u32 = 255;
672 pub const XATTR_SIZE_MAX: u32 = 65536;
673 pub const XATTR_LIST_MAX: u32 = 65536;
674 pub const RTSIG_MAX: u32 = 32;
675 pub const PASS_MAX: u32 = 128;
676 pub const NL_ARGMAX: u32 = 9;
677 pub const NL_LANGMAX: u32 = 14;
678 pub const NL_MSGMAX: u32 = 32767;
679 pub const NL_NMAX: u32 = 1;
680 pub const NL_SETMAX: u32 = 255;
681 pub const NL_TEXTMAX: u32 = 255;
682 pub const CHAR_BIT: u32 = 8;
683 pub const LONG_BIT: u32 = 32;
684 pub const WORD_BIT: u32 = 32;
685 pub const SCHAR_MAX: u32 = 127;
686 pub const SCHAR_MIN: i32 = -128;
687 pub const UCHAR_MAX: u32 = 255;
688 pub const CHAR_MIN: u32 = 0;
689 pub const CHAR_MAX: u32 = 255;
690 pub const USHRT_MAX: u32 = 65535;
691 pub const SHRT_MAX: u32 = 32767;
692 pub const SHRT_MIN: i32 = -32768;
693 pub const UINT_MAX: u32 = 4294967295;
694 pub const INT_MAX: u32 = 2147483647;
695 pub const INT_MIN: i32 = -2147483648;
696 pub const ULONG_MAX: u32 = 4294967295;
697 pub const LONG_MAX: u32 = 2147483647;
698 pub const LONG_MIN: i32 = -2147483648;
699 pub const ULLONG_MAX: i32 = -1;
700 pub const LLONG_MAX: u64 = 9223372036854775807;
701 pub const LLONG_MIN: i64 = -9223372036854775808;
702 pub const LONG_LONG_MIN: i64 = -9223372036854775808;
703 pub const LONG_LONG_MAX: u64 = 9223372036854775807;
704 pub const ULONG_LONG_MAX: i32 = -1;
705 pub const UID_MAX: u32 = 4294967295;
706 pub const GID_MAX: u32 = 4294967295;
707 pub const SIZE_T_MAX: u32 = 4294967295;
708 pub const SSIZE_MAX: u32 = 2147483647;
709 pub const MB_LEN_MAX: u32 = 4;
710 pub const NZERO: u32 = 20;
711 pub const IOV_MAX: u32 = 1024;
712 pub const SEM_VALUE_MAX: u32 = 1073741823;
713 pub const _POSIX_VERSION: u32 = 200809;
714 pub const _POSIX2_VERSION: u32 = 200809;
715 pub const _XOPEN_VERSION: u32 = 700;
716 pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
717 pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
718 pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
719 pub const _POSIX_CPUTIME: u32 = 200809;
720 pub const _POSIX_FSYNC: u32 = 200809;
721 pub const _POSIX_IPV6: u32 = 200809;
722 pub const _POSIX_MAPPED_FILES: u32 = 200809;
723 pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
724 pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
725 pub const _POSIX_MESSAGE_PASSING: i32 = -1;
726 pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
727 pub const _POSIX_NO_TRUNC: u32 = 1;
728 pub const _POSIX_PRIORITIZED_IO: i32 = -1;
729 pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
730 pub const _POSIX_RAW_SOCKETS: u32 = 200809;
731 pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
732 pub const _POSIX_REGEXP: u32 = 1;
733 pub const _POSIX_SAVED_IDS: u32 = 1;
734 pub const _POSIX_SEMAPHORES: u32 = 200809;
735 pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
736 pub const _POSIX_SHELL: u32 = 1;
737 pub const _POSIX_SPORADIC_SERVER: i32 = -1;
738 pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
739 pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
740 pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
741 pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
742 pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
743 pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
744 pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
745 pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
746 pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
747 pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
748 pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
749 pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
750 pub const _POSIX_THREADS: u32 = 200809;
751 pub const _POSIX_TIMERS: u32 = 200809;
752 pub const _POSIX_TRACE: i32 = -1;
753 pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
754 pub const _POSIX_TRACE_INHERIT: i32 = -1;
755 pub const _POSIX_TRACE_LOG: i32 = -1;
756 pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
757 pub const _POSIX_VDISABLE: u8 = 0u8;
758 pub const _POSIX2_C_BIND: u32 = 200809;
759 pub const _POSIX2_C_DEV: i32 = -1;
760 pub const _POSIX2_CHAR_TERM: u32 = 200809;
761 pub const _POSIX2_FORT_DEV: i32 = -1;
762 pub const _POSIX2_FORT_RUN: i32 = -1;
763 pub const _POSIX2_LOCALEDEF: i32 = -1;
764 pub const _POSIX2_SW_DEV: i32 = -1;
765 pub const _POSIX2_UPE: i32 = -1;
766 pub const _POSIX_V7_ILP32_OFF32: u32 = 1;
767 pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
768 pub const _POSIX_V7_LP64_OFF64: i32 = -1;
769 pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1;
770 pub const _XOPEN_CRYPT: i32 = -1;
771 pub const _XOPEN_ENH_I18N: u32 = 1;
772 pub const _XOPEN_LEGACY: i32 = -1;
773 pub const _XOPEN_REALTIME: u32 = 1;
774 pub const _XOPEN_REALTIME_THREADS: u32 = 1;
775 pub const _XOPEN_SHM: u32 = 1;
776 pub const _XOPEN_STREAMS: i32 = -1;
777 pub const _XOPEN_UNIX: u32 = 1;
778 pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
779 pub const _POSIX_AIO_MAX: u32 = 1;
780 pub const _POSIX_ARG_MAX: u32 = 4096;
781 pub const _POSIX_CHILD_MAX: u32 = 25;
782 pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
783 pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
784 pub const _POSIX_HOST_NAME_MAX: u32 = 255;
785 pub const _POSIX_LINK_MAX: u32 = 8;
786 pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
787 pub const _POSIX_MAX_CANON: u32 = 255;
788 pub const _POSIX_MAX_INPUT: u32 = 255;
789 pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
790 pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
791 pub const _POSIX_NAME_MAX: u32 = 14;
792 pub const _POSIX_NGROUPS_MAX: u32 = 8;
793 pub const _POSIX_OPEN_MAX: u32 = 20;
794 pub const _POSIX_PATH_MAX: u32 = 256;
795 pub const _POSIX_PIPE_BUF: u32 = 512;
796 pub const _POSIX_RE_DUP_MAX: u32 = 255;
797 pub const _POSIX_RTSIG_MAX: u32 = 8;
798 pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
799 pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
800 pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
801 pub const _POSIX_SSIZE_MAX: u32 = 32767;
802 pub const _POSIX_STREAM_MAX: u32 = 8;
803 pub const _POSIX_SS_REPL_MAX: u32 = 4;
804 pub const _POSIX_SYMLINK_MAX: u32 = 255;
805 pub const _POSIX_SYMLOOP_MAX: u32 = 8;
806 pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
807 pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
808 pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
809 pub const _POSIX_TIMER_MAX: u32 = 32;
810 pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
811 pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
812 pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
813 pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
814 pub const _POSIX_TTY_NAME_MAX: u32 = 9;
815 pub const _POSIX_TZNAME_MAX: u32 = 6;
816 pub const _POSIX2_BC_BASE_MAX: u32 = 99;
817 pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
818 pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
819 pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
820 pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
821 pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
822 pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
823 pub const _POSIX2_LINE_MAX: u32 = 2048;
824 pub const _POSIX2_RE_DUP_MAX: u32 = 255;
825 pub const _XOPEN_IOV_MAX: u32 = 16;
826 pub const _XOPEN_NAME_MAX: u32 = 255;
827 pub const _XOPEN_PATH_MAX: u32 = 1024;
828 pub const HOST_NAME_MAX: u32 = 255;
829 pub const LOGIN_NAME_MAX: u32 = 256;
830 pub const TTY_NAME_MAX: u32 = 32;
831 pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
832 pub const PTHREAD_KEYS_MAX: u32 = 128;
833 pub const FP_INFINITE: u32 = 1;
834 pub const FP_NAN: u32 = 2;
835 pub const FP_NORMAL: u32 = 4;
836 pub const FP_SUBNORMAL: u32 = 8;
837 pub const FP_ZERO: u32 = 16;
838 pub const FP_ILOGB0: i32 = -2147483647;
839 pub const FP_ILOGBNAN: u32 = 2147483647;
840 pub const MATH_ERRNO: u32 = 1;
841 pub const MATH_ERREXCEPT: u32 = 2;
842 pub const math_errhandling: u32 = 2;
843 pub const M_E: f64 = 2.718281828459045;
844 pub const M_LOG2E: f64 = 1.4426950408889634;
845 pub const M_LOG10E: f64 = 0.4342944819032518;
846 pub const M_LN2: f64 = 0.6931471805599453;
847 pub const M_LN10: f64 = 2.302585092994046;
848 pub const M_PI: f64 = 3.141592653589793;
849 pub const M_PI_2: f64 = 1.5707963267948966;
850 pub const M_PI_4: f64 = 0.7853981633974483;
851 pub const M_1_PI: f64 = 0.3183098861837907;
852 pub const M_2_PI: f64 = 0.6366197723675814;
853 pub const M_2_SQRTPI: f64 = 1.1283791670955126;
854 pub const M_SQRT2: f64 = 1.4142135623730951;
855 pub const M_SQRT1_2: f64 = 0.7071067811865476;
856 pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
857 pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
858 pub const ASENSOR_INVALID: i32 = -1;
859 pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
860 pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
861 pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
862 pub const _IOC_NRBITS: u32 = 8;
863 pub const _IOC_TYPEBITS: u32 = 8;
864 pub const _IOC_SIZEBITS: u32 = 14;
865 pub const _IOC_DIRBITS: u32 = 2;
866 pub const _IOC_NRMASK: u32 = 255;
867 pub const _IOC_TYPEMASK: u32 = 255;
868 pub const _IOC_SIZEMASK: u32 = 16383;
869 pub const _IOC_DIRMASK: u32 = 3;
870 pub const _IOC_NRSHIFT: u32 = 0;
871 pub const _IOC_TYPESHIFT: u32 = 8;
872 pub const _IOC_SIZESHIFT: u32 = 16;
873 pub const _IOC_DIRSHIFT: u32 = 30;
874 pub const _IOC_NONE: u32 = 0;
875 pub const _IOC_WRITE: u32 = 1;
876 pub const _IOC_READ: u32 = 2;
877 pub const IOC_IN: u32 = 1073741824;
878 pub const IOC_OUT: u32 = 2147483648;
879 pub const IOC_INOUT: u32 = 3221225472;
880 pub const IOCSIZE_MASK: u32 = 1073676288;
881 pub const IOCSIZE_SHIFT: u32 = 16;
882 pub const SYNC_IOC_MAGIC: u8 = 62u8;
883 extern "C" {
android_get_application_target_sdk_version() -> ::std::os::raw::c_int884     pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
885 }
886 extern "C" {
android_get_device_api_level() -> ::std::os::raw::c_int887     pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
888 }
889 pub type wchar_t = ::std::os::raw::c_uint;
890 #[repr(C)]
891 #[derive(Debug, Copy, Clone)]
892 pub 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]
bindgen_test_layout_max_align_t()897 fn 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 }
933 pub type __int8_t = ::std::os::raw::c_schar;
934 pub type __uint8_t = ::std::os::raw::c_uchar;
935 pub type __int16_t = ::std::os::raw::c_short;
936 pub type __uint16_t = ::std::os::raw::c_ushort;
937 pub type __int32_t = ::std::os::raw::c_int;
938 pub type __uint32_t = ::std::os::raw::c_uint;
939 pub type __int64_t = ::std::os::raw::c_longlong;
940 pub type __uint64_t = ::std::os::raw::c_ulonglong;
941 pub type __intptr_t = ::std::os::raw::c_int;
942 pub type __uintptr_t = ::std::os::raw::c_uint;
943 pub type int_least8_t = i8;
944 pub type uint_least8_t = u8;
945 pub type int_least16_t = i16;
946 pub type uint_least16_t = u16;
947 pub type int_least32_t = i32;
948 pub type uint_least32_t = u32;
949 pub type int_least64_t = i64;
950 pub type uint_least64_t = u64;
951 pub type int_fast8_t = i8;
952 pub type uint_fast8_t = u8;
953 pub type int_fast64_t = i64;
954 pub type uint_fast64_t = u64;
955 pub type int_fast16_t = i32;
956 pub type uint_fast16_t = u32;
957 pub type int_fast32_t = i32;
958 pub type uint_fast32_t = u32;
959 pub type uintmax_t = u64;
960 pub type intmax_t = i64;
961 pub type __s8 = ::std::os::raw::c_schar;
962 pub type __u8 = ::std::os::raw::c_uchar;
963 pub type __s16 = ::std::os::raw::c_short;
964 pub type __u16 = ::std::os::raw::c_ushort;
965 pub type __s32 = ::std::os::raw::c_int;
966 pub type __u32 = ::std::os::raw::c_uint;
967 pub type __s64 = ::std::os::raw::c_longlong;
968 pub type __u64 = ::std::os::raw::c_ulonglong;
969 #[repr(C)]
970 #[derive(Debug, Copy, Clone)]
971 pub struct __kernel_fd_set {
972     pub fds_bits: [::std::os::raw::c_ulong; 32usize],
973 }
974 #[test]
bindgen_test_layout___kernel_fd_set()975 fn 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 }
997 pub type __kernel_sighandler_t =
998     ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
999 pub type __kernel_key_t = ::std::os::raw::c_int;
1000 pub type __kernel_mqd_t = ::std::os::raw::c_int;
1001 pub type __kernel_mode_t = ::std::os::raw::c_ushort;
1002 pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort;
1003 pub type __kernel_uid_t = ::std::os::raw::c_ushort;
1004 pub type __kernel_gid_t = ::std::os::raw::c_ushort;
1005 pub type __kernel_old_dev_t = ::std::os::raw::c_ushort;
1006 pub type __kernel_long_t = ::std::os::raw::c_long;
1007 pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1008 pub type __kernel_ino_t = __kernel_ulong_t;
1009 pub type __kernel_pid_t = ::std::os::raw::c_int;
1010 pub type __kernel_suseconds_t = __kernel_long_t;
1011 pub type __kernel_daddr_t = ::std::os::raw::c_int;
1012 pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1013 pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1014 pub type __kernel_old_uid_t = __kernel_uid_t;
1015 pub type __kernel_old_gid_t = __kernel_gid_t;
1016 pub type __kernel_size_t = ::std::os::raw::c_uint;
1017 pub type __kernel_ssize_t = ::std::os::raw::c_int;
1018 pub type __kernel_ptrdiff_t = ::std::os::raw::c_int;
1019 #[repr(C)]
1020 #[derive(Debug, Copy, Clone)]
1021 pub struct __kernel_fsid_t {
1022     pub val: [::std::os::raw::c_int; 2usize],
1023 }
1024 #[test]
bindgen_test_layout___kernel_fsid_t()1025 fn 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 }
1047 pub type __kernel_off_t = __kernel_long_t;
1048 pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1049 pub type __kernel_time_t = __kernel_long_t;
1050 pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1051 pub type __kernel_clock_t = __kernel_long_t;
1052 pub type __kernel_timer_t = ::std::os::raw::c_int;
1053 pub type __kernel_clockid_t = ::std::os::raw::c_int;
1054 pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1055 pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1056 pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1057 pub type __le16 = __u16;
1058 pub type __be16 = __u16;
1059 pub type __le32 = __u32;
1060 pub type __be32 = __u32;
1061 pub type __le64 = __u64;
1062 pub type __be64 = __u64;
1063 pub type __sum16 = __u16;
1064 pub type __wsum = __u32;
1065 pub type __poll_t = ::std::os::raw::c_uint;
1066 #[repr(C)]
1067 #[derive(Debug, Copy, Clone)]
1068 pub 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]
bindgen_test_layout_pthread_attr_t()1077 fn 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)]
1151 pub struct pthread_barrier_t {
1152     pub __private: [i32; 8usize],
1153 }
1154 #[test]
bindgen_test_layout_pthread_barrier_t()1155 fn 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 }
1177 pub type pthread_barrierattr_t = ::std::os::raw::c_int;
1178 #[repr(C)]
1179 #[derive(Debug, Copy, Clone)]
1180 pub struct pthread_cond_t {
1181     pub __private: [i32; 1usize],
1182 }
1183 #[test]
bindgen_test_layout_pthread_cond_t()1184 fn 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 }
1206 pub type pthread_condattr_t = ::std::os::raw::c_long;
1207 pub type pthread_key_t = ::std::os::raw::c_int;
1208 #[repr(C)]
1209 #[derive(Debug, Copy, Clone)]
1210 pub struct pthread_mutex_t {
1211     pub __private: [i32; 1usize],
1212 }
1213 #[test]
bindgen_test_layout_pthread_mutex_t()1214 fn 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 }
1236 pub type pthread_mutexattr_t = ::std::os::raw::c_long;
1237 pub type pthread_once_t = ::std::os::raw::c_int;
1238 #[repr(C)]
1239 #[derive(Debug, Copy, Clone)]
1240 pub struct pthread_rwlock_t {
1241     pub __private: [i32; 10usize],
1242 }
1243 #[test]
bindgen_test_layout_pthread_rwlock_t()1244 fn 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 }
1266 pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
1267 #[repr(C)]
1268 #[derive(Debug, Copy, Clone)]
1269 pub struct pthread_spinlock_t {
1270     pub __private: [i32; 2usize],
1271 }
1272 #[test]
bindgen_test_layout_pthread_spinlock_t()1273 fn 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 }
1295 pub type pthread_t = ::std::os::raw::c_long;
1296 pub type __gid_t = __kernel_gid32_t;
1297 pub type gid_t = __gid_t;
1298 pub type __uid_t = __kernel_uid32_t;
1299 pub type uid_t = __uid_t;
1300 pub type __pid_t = __kernel_pid_t;
1301 pub type pid_t = __pid_t;
1302 pub type __id_t = u32;
1303 pub type id_t = __id_t;
1304 pub type blkcnt_t = ::std::os::raw::c_ulong;
1305 pub type blksize_t = ::std::os::raw::c_ulong;
1306 pub type caddr_t = __kernel_caddr_t;
1307 pub type clock_t = __kernel_clock_t;
1308 pub type __clockid_t = __kernel_clockid_t;
1309 pub type clockid_t = __clockid_t;
1310 pub type daddr_t = __kernel_daddr_t;
1311 pub type fsblkcnt_t = ::std::os::raw::c_ulong;
1312 pub type fsfilcnt_t = ::std::os::raw::c_ulong;
1313 pub type __mode_t = __kernel_mode_t;
1314 pub type mode_t = __mode_t;
1315 pub type __key_t = __kernel_key_t;
1316 pub type key_t = __key_t;
1317 pub type __ino_t = __kernel_ino_t;
1318 pub type ino_t = __ino_t;
1319 pub type ino64_t = u64;
1320 pub type __nlink_t = u32;
1321 pub type nlink_t = __nlink_t;
1322 pub type __timer_t = *mut ::std::os::raw::c_void;
1323 pub type timer_t = __timer_t;
1324 pub type __suseconds_t = __kernel_suseconds_t;
1325 pub type suseconds_t = __suseconds_t;
1326 pub type __useconds_t = u32;
1327 pub type useconds_t = __useconds_t;
1328 pub type dev_t = u32;
1329 pub type __time_t = __kernel_time_t;
1330 pub type time_t = __time_t;
1331 pub type off_t = __kernel_off_t;
1332 pub type loff_t = __kernel_loff_t;
1333 pub type off64_t = loff_t;
1334 pub type __socklen_t = i32;
1335 pub type socklen_t = __socklen_t;
1336 pub type uint_t = ::std::os::raw::c_uint;
1337 pub type uint = ::std::os::raw::c_uint;
1338 pub type u_char = ::std::os::raw::c_uchar;
1339 pub type u_short = ::std::os::raw::c_ushort;
1340 pub type u_int = ::std::os::raw::c_uint;
1341 pub type u_long = ::std::os::raw::c_ulong;
1342 pub type u_int32_t = u32;
1343 pub type u_int16_t = u16;
1344 pub type u_int8_t = u8;
1345 pub type u_int64_t = u64;
1346 #[repr(C)]
1347 #[derive(Debug, Copy, Clone)]
1348 pub struct AAssetManager {
1349     _unused: [u8; 0],
1350 }
1351 #[repr(C)]
1352 #[derive(Debug, Copy, Clone)]
1353 pub struct AAssetDir {
1354     _unused: [u8; 0],
1355 }
1356 #[repr(C)]
1357 #[derive(Debug, Copy, Clone)]
1358 pub struct AAsset {
1359     _unused: [u8; 0],
1360 }
1361 pub const AASSET_MODE_UNKNOWN: _bindgen_ty_1 = 0;
1362 pub const AASSET_MODE_RANDOM: _bindgen_ty_1 = 1;
1363 pub const AASSET_MODE_STREAMING: _bindgen_ty_1 = 2;
1364 pub const AASSET_MODE_BUFFER: _bindgen_ty_1 = 3;
1365 pub type _bindgen_ty_1 = u32;
1366 extern "C" {
AAssetManager_openDir( mgr: *mut AAssetManager, dirName: *const ::std::os::raw::c_char, ) -> *mut AAssetDir1367     pub fn AAssetManager_openDir(
1368         mgr: *mut AAssetManager,
1369         dirName: *const ::std::os::raw::c_char,
1370     ) -> *mut AAssetDir;
1371 }
1372 extern "C" {
AAssetManager_open( mgr: *mut AAssetManager, filename: *const ::std::os::raw::c_char, mode: ::std::os::raw::c_int, ) -> *mut AAsset1373     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 }
1379 extern "C" {
AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char1380     pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
1381 }
1382 extern "C" {
AAssetDir_rewind(assetDir: *mut AAssetDir)1383     pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
1384 }
1385 extern "C" {
AAssetDir_close(assetDir: *mut AAssetDir)1386     pub fn AAssetDir_close(assetDir: *mut AAssetDir);
1387 }
1388 extern "C" {
AAsset_read( asset: *mut AAsset, buf: *mut ::std::os::raw::c_void, count: usize, ) -> ::std::os::raw::c_int1389     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 }
1395 extern "C" {
AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t1396     pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
1397 }
1398 extern "C" {
AAsset_seek64( asset: *mut AAsset, offset: off64_t, whence: ::std::os::raw::c_int, ) -> off64_t1399     pub fn AAsset_seek64(
1400         asset: *mut AAsset,
1401         offset: off64_t,
1402         whence: ::std::os::raw::c_int,
1403     ) -> off64_t;
1404 }
1405 extern "C" {
AAsset_close(asset: *mut AAsset)1406     pub fn AAsset_close(asset: *mut AAsset);
1407 }
1408 extern "C" {
AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void1409     pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
1410 }
1411 extern "C" {
AAsset_getLength(asset: *mut AAsset) -> off_t1412     pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
1413 }
1414 extern "C" {
AAsset_getLength64(asset: *mut AAsset) -> off64_t1415     pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
1416 }
1417 extern "C" {
AAsset_getRemainingLength(asset: *mut AAsset) -> off_t1418     pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
1419 }
1420 extern "C" {
AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t1421     pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
1422 }
1423 extern "C" {
AAsset_openFileDescriptor( asset: *mut AAsset, outStart: *mut off_t, outLength: *mut off_t, ) -> ::std::os::raw::c_int1424     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 }
1430 extern "C" {
AAsset_openFileDescriptor64( asset: *mut AAsset, outStart: *mut off64_t, outLength: *mut off64_t, ) -> ::std::os::raw::c_int1431     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 }
1437 extern "C" {
AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int1438     pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
1439 }
1440 pub type va_list = __builtin_va_list;
1441 pub type __gnuc_va_list = __builtin_va_list;
1442 pub type jboolean = u8;
1443 pub type jbyte = i8;
1444 pub type jchar = u16;
1445 pub type jshort = i16;
1446 pub type jint = i32;
1447 pub type jlong = i64;
1448 pub type jfloat = f32;
1449 pub type jdouble = f64;
1450 pub type jsize = jint;
1451 pub type jobject = *mut ::std::os::raw::c_void;
1452 pub type jclass = jobject;
1453 pub type jstring = jobject;
1454 pub type jarray = jobject;
1455 pub type jobjectArray = jarray;
1456 pub type jbooleanArray = jarray;
1457 pub type jbyteArray = jarray;
1458 pub type jcharArray = jarray;
1459 pub type jshortArray = jarray;
1460 pub type jintArray = jarray;
1461 pub type jlongArray = jarray;
1462 pub type jfloatArray = jarray;
1463 pub type jdoubleArray = jarray;
1464 pub type jthrowable = jobject;
1465 pub type jweak = jobject;
1466 #[repr(C)]
1467 #[derive(Debug, Copy, Clone)]
1468 pub struct _jfieldID {
1469     _unused: [u8; 0],
1470 }
1471 pub type jfieldID = *mut _jfieldID;
1472 #[repr(C)]
1473 #[derive(Debug, Copy, Clone)]
1474 pub struct _jmethodID {
1475     _unused: [u8; 0],
1476 }
1477 pub type jmethodID = *mut _jmethodID;
1478 #[repr(C)]
1479 #[derive(Copy, Clone)]
1480 pub 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]
bindgen_test_layout_jvalue()1493 fn 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 }
1550 pub const jobjectRefType_JNIInvalidRefType: jobjectRefType = 0;
1551 pub const jobjectRefType_JNILocalRefType: jobjectRefType = 1;
1552 pub const jobjectRefType_JNIGlobalRefType: jobjectRefType = 2;
1553 pub const jobjectRefType_JNIWeakGlobalRefType: jobjectRefType = 3;
1554 pub type jobjectRefType = u32;
1555 #[repr(C)]
1556 #[derive(Debug, Copy, Clone)]
1557 pub 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]
bindgen_test_layout_JNINativeMethod()1563 fn 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 }
1605 pub type C_JNIEnv = *const JNINativeInterface;
1606 pub type JNIEnv = *const JNINativeInterface;
1607 pub type JavaVM = *const JNIInvokeInterface;
1608 #[repr(C)]
1609 #[derive(Debug, Copy, Clone)]
1610 pub 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]
bindgen_test_layout_JNINativeInterface()2843 fn 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)]
5656 pub struct _JNIEnv {
5657     pub functions: *const JNINativeInterface,
5658 }
5659 #[test]
bindgen_test_layout__JNIEnv()5660 fn 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)]
5684 pub 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]
bindgen_test_layout_JNIInvokeInterface()5713 fn 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)]
5816 pub struct _JavaVM {
5817     pub functions: *const JNIInvokeInterface,
5818 }
5819 #[test]
bindgen_test_layout__JavaVM()5820 fn 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)]
5844 pub struct JavaVMAttachArgs {
5845     pub version: jint,
5846     pub name: *const ::std::os::raw::c_char,
5847     pub group: jobject,
5848 }
5849 #[test]
bindgen_test_layout_JavaVMAttachArgs()5850 fn 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)]
5894 pub struct JavaVMOption {
5895     pub optionString: *const ::std::os::raw::c_char,
5896     pub extraInfo: *mut ::std::os::raw::c_void,
5897 }
5898 #[test]
bindgen_test_layout_JavaVMOption()5899 fn 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)]
5933 pub struct JavaVMInitArgs {
5934     pub version: jint,
5935     pub nOptions: jint,
5936     pub options: *mut JavaVMOption,
5937     pub ignoreUnrecognized: jboolean,
5938 }
5939 #[test]
bindgen_test_layout_JavaVMInitArgs()5940 fn 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 }
5994 extern "C" {
JNI_GetDefaultJavaVMInitArgs(arg1: *mut ::std::os::raw::c_void) -> jint5995     pub fn JNI_GetDefaultJavaVMInitArgs(arg1: *mut ::std::os::raw::c_void) -> jint;
5996 }
5997 extern "C" {
JNI_CreateJavaVM( arg1: *mut *mut JavaVM, arg2: *mut *mut JNIEnv, arg3: *mut ::std::os::raw::c_void, ) -> jint5998     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 }
6004 extern "C" {
JNI_GetCreatedJavaVMs(arg1: *mut *mut JavaVM, arg2: jsize, arg3: *mut jsize) -> jint6005     pub fn JNI_GetCreatedJavaVMs(arg1: *mut *mut JavaVM, arg2: jsize, arg3: *mut jsize) -> jint;
6006 }
6007 extern "C" {
JNI_OnLoad(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void) -> jint6008     pub fn JNI_OnLoad(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void) -> jint;
6009 }
6010 extern "C" {
JNI_OnUnload(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void)6011     pub fn JNI_OnUnload(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void);
6012 }
6013 extern "C" {
AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager6014     pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
6015 }
6016 pub const ANDROID_BITMAP_RESULT_SUCCESS: _bindgen_ty_2 = 0;
6017 pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: _bindgen_ty_2 = -1;
6018 pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: _bindgen_ty_2 = -2;
6019 pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: _bindgen_ty_2 = -3;
6020 pub type _bindgen_ty_2 = i32;
6021 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = 0;
6022 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = 1;
6023 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = 4;
6024 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = 7;
6025 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = 8;
6026 pub type AndroidBitmapFormat = u32;
6027 #[repr(C)]
6028 #[derive(Debug, Copy, Clone)]
6029 pub 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]
bindgen_test_layout_AndroidBitmapInfo()6037 fn 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 }
6099 extern "C" {
AndroidBitmap_getInfo( env: *mut JNIEnv, jbitmap: jobject, info: *mut AndroidBitmapInfo, ) -> ::std::os::raw::c_int6100     pub fn AndroidBitmap_getInfo(
6101         env: *mut JNIEnv,
6102         jbitmap: jobject,
6103         info: *mut AndroidBitmapInfo,
6104     ) -> ::std::os::raw::c_int;
6105 }
6106 extern "C" {
AndroidBitmap_lockPixels( env: *mut JNIEnv, jbitmap: jobject, addrPtr: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int6107     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 }
6113 extern "C" {
AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int6114     pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
6115 }
6116 #[repr(C)]
6117 #[derive(Debug, Copy, Clone)]
6118 pub struct AChoreographer {
6119     _unused: [u8; 0],
6120 }
6121 pub 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 >;
6124 pub type AChoreographer_frameCallback64 = ::std::option::Option<
6125     unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
6126 >;
6127 extern "C" {
AChoreographer_getInstance() -> *mut AChoreographer6128     pub fn AChoreographer_getInstance() -> *mut AChoreographer;
6129 }
6130 extern "C" {
AChoreographer_postFrameCallback( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback, data: *mut ::std::os::raw::c_void, )6131     pub fn AChoreographer_postFrameCallback(
6132         choreographer: *mut AChoreographer,
6133         callback: AChoreographer_frameCallback,
6134         data: *mut ::std::os::raw::c_void,
6135     );
6136 }
6137 extern "C" {
AChoreographer_postFrameCallbackDelayed( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback, data: *mut ::std::os::raw::c_void, delayMillis: ::std::os::raw::c_long, )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 }
6145 extern "C" {
AChoreographer_postFrameCallback64( chroreographer: *mut AChoreographer, callback: AChoreographer_frameCallback64, data: *mut ::std::os::raw::c_void, )6146     pub fn AChoreographer_postFrameCallback64(
6147         chroreographer: *mut AChoreographer,
6148         callback: AChoreographer_frameCallback64,
6149         data: *mut ::std::os::raw::c_void,
6150     );
6151 }
6152 extern "C" {
AChoreographer_postFrameCallbackDelayed64( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback64, data: *mut ::std::os::raw::c_void, delayMillis: u32, )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)]
6162 pub struct AConfiguration {
6163     _unused: [u8; 0],
6164 }
6165 pub const ACONFIGURATION_ORIENTATION_ANY: _bindgen_ty_3 = 0;
6166 pub const ACONFIGURATION_ORIENTATION_PORT: _bindgen_ty_3 = 1;
6167 pub const ACONFIGURATION_ORIENTATION_LAND: _bindgen_ty_3 = 2;
6168 pub const ACONFIGURATION_ORIENTATION_SQUARE: _bindgen_ty_3 = 3;
6169 pub const ACONFIGURATION_TOUCHSCREEN_ANY: _bindgen_ty_3 = 0;
6170 pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: _bindgen_ty_3 = 1;
6171 pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: _bindgen_ty_3 = 2;
6172 pub const ACONFIGURATION_TOUCHSCREEN_FINGER: _bindgen_ty_3 = 3;
6173 pub const ACONFIGURATION_DENSITY_DEFAULT: _bindgen_ty_3 = 0;
6174 pub const ACONFIGURATION_DENSITY_LOW: _bindgen_ty_3 = 120;
6175 pub const ACONFIGURATION_DENSITY_MEDIUM: _bindgen_ty_3 = 160;
6176 pub const ACONFIGURATION_DENSITY_TV: _bindgen_ty_3 = 213;
6177 pub const ACONFIGURATION_DENSITY_HIGH: _bindgen_ty_3 = 240;
6178 pub const ACONFIGURATION_DENSITY_XHIGH: _bindgen_ty_3 = 320;
6179 pub const ACONFIGURATION_DENSITY_XXHIGH: _bindgen_ty_3 = 480;
6180 pub const ACONFIGURATION_DENSITY_XXXHIGH: _bindgen_ty_3 = 640;
6181 pub const ACONFIGURATION_DENSITY_ANY: _bindgen_ty_3 = 65534;
6182 pub const ACONFIGURATION_DENSITY_NONE: _bindgen_ty_3 = 65535;
6183 pub const ACONFIGURATION_KEYBOARD_ANY: _bindgen_ty_3 = 0;
6184 pub const ACONFIGURATION_KEYBOARD_NOKEYS: _bindgen_ty_3 = 1;
6185 pub const ACONFIGURATION_KEYBOARD_QWERTY: _bindgen_ty_3 = 2;
6186 pub const ACONFIGURATION_KEYBOARD_12KEY: _bindgen_ty_3 = 3;
6187 pub const ACONFIGURATION_NAVIGATION_ANY: _bindgen_ty_3 = 0;
6188 pub const ACONFIGURATION_NAVIGATION_NONAV: _bindgen_ty_3 = 1;
6189 pub const ACONFIGURATION_NAVIGATION_DPAD: _bindgen_ty_3 = 2;
6190 pub const ACONFIGURATION_NAVIGATION_TRACKBALL: _bindgen_ty_3 = 3;
6191 pub const ACONFIGURATION_NAVIGATION_WHEEL: _bindgen_ty_3 = 4;
6192 pub const ACONFIGURATION_KEYSHIDDEN_ANY: _bindgen_ty_3 = 0;
6193 pub const ACONFIGURATION_KEYSHIDDEN_NO: _bindgen_ty_3 = 1;
6194 pub const ACONFIGURATION_KEYSHIDDEN_YES: _bindgen_ty_3 = 2;
6195 pub const ACONFIGURATION_KEYSHIDDEN_SOFT: _bindgen_ty_3 = 3;
6196 pub const ACONFIGURATION_NAVHIDDEN_ANY: _bindgen_ty_3 = 0;
6197 pub const ACONFIGURATION_NAVHIDDEN_NO: _bindgen_ty_3 = 1;
6198 pub const ACONFIGURATION_NAVHIDDEN_YES: _bindgen_ty_3 = 2;
6199 pub const ACONFIGURATION_SCREENSIZE_ANY: _bindgen_ty_3 = 0;
6200 pub const ACONFIGURATION_SCREENSIZE_SMALL: _bindgen_ty_3 = 1;
6201 pub const ACONFIGURATION_SCREENSIZE_NORMAL: _bindgen_ty_3 = 2;
6202 pub const ACONFIGURATION_SCREENSIZE_LARGE: _bindgen_ty_3 = 3;
6203 pub const ACONFIGURATION_SCREENSIZE_XLARGE: _bindgen_ty_3 = 4;
6204 pub const ACONFIGURATION_SCREENLONG_ANY: _bindgen_ty_3 = 0;
6205 pub const ACONFIGURATION_SCREENLONG_NO: _bindgen_ty_3 = 1;
6206 pub const ACONFIGURATION_SCREENLONG_YES: _bindgen_ty_3 = 2;
6207 pub const ACONFIGURATION_SCREENROUND_ANY: _bindgen_ty_3 = 0;
6208 pub const ACONFIGURATION_SCREENROUND_NO: _bindgen_ty_3 = 1;
6209 pub const ACONFIGURATION_SCREENROUND_YES: _bindgen_ty_3 = 2;
6210 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: _bindgen_ty_3 = 0;
6211 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: _bindgen_ty_3 = 1;
6212 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: _bindgen_ty_3 = 2;
6213 pub const ACONFIGURATION_HDR_ANY: _bindgen_ty_3 = 0;
6214 pub const ACONFIGURATION_HDR_NO: _bindgen_ty_3 = 1;
6215 pub const ACONFIGURATION_HDR_YES: _bindgen_ty_3 = 2;
6216 pub const ACONFIGURATION_UI_MODE_TYPE_ANY: _bindgen_ty_3 = 0;
6217 pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: _bindgen_ty_3 = 1;
6218 pub const ACONFIGURATION_UI_MODE_TYPE_DESK: _bindgen_ty_3 = 2;
6219 pub const ACONFIGURATION_UI_MODE_TYPE_CAR: _bindgen_ty_3 = 3;
6220 pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: _bindgen_ty_3 = 4;
6221 pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: _bindgen_ty_3 = 5;
6222 pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: _bindgen_ty_3 = 6;
6223 pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: _bindgen_ty_3 = 7;
6224 pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: _bindgen_ty_3 = 0;
6225 pub const ACONFIGURATION_UI_MODE_NIGHT_NO: _bindgen_ty_3 = 1;
6226 pub const ACONFIGURATION_UI_MODE_NIGHT_YES: _bindgen_ty_3 = 2;
6227 pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: _bindgen_ty_3 = 0;
6228 pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: _bindgen_ty_3 = 0;
6229 pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: _bindgen_ty_3 = 0;
6230 pub const ACONFIGURATION_LAYOUTDIR_ANY: _bindgen_ty_3 = 0;
6231 pub const ACONFIGURATION_LAYOUTDIR_LTR: _bindgen_ty_3 = 1;
6232 pub const ACONFIGURATION_LAYOUTDIR_RTL: _bindgen_ty_3 = 2;
6233 pub const ACONFIGURATION_MCC: _bindgen_ty_3 = 1;
6234 pub const ACONFIGURATION_MNC: _bindgen_ty_3 = 2;
6235 pub const ACONFIGURATION_LOCALE: _bindgen_ty_3 = 4;
6236 pub const ACONFIGURATION_TOUCHSCREEN: _bindgen_ty_3 = 8;
6237 pub const ACONFIGURATION_KEYBOARD: _bindgen_ty_3 = 16;
6238 pub const ACONFIGURATION_KEYBOARD_HIDDEN: _bindgen_ty_3 = 32;
6239 pub const ACONFIGURATION_NAVIGATION: _bindgen_ty_3 = 64;
6240 pub const ACONFIGURATION_ORIENTATION: _bindgen_ty_3 = 128;
6241 pub const ACONFIGURATION_DENSITY: _bindgen_ty_3 = 256;
6242 pub const ACONFIGURATION_SCREEN_SIZE: _bindgen_ty_3 = 512;
6243 pub const ACONFIGURATION_VERSION: _bindgen_ty_3 = 1024;
6244 pub const ACONFIGURATION_SCREEN_LAYOUT: _bindgen_ty_3 = 2048;
6245 pub const ACONFIGURATION_UI_MODE: _bindgen_ty_3 = 4096;
6246 pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: _bindgen_ty_3 = 8192;
6247 pub const ACONFIGURATION_LAYOUTDIR: _bindgen_ty_3 = 16384;
6248 pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_3 = 32768;
6249 pub const ACONFIGURATION_COLOR_MODE: _bindgen_ty_3 = 65536;
6250 pub const ACONFIGURATION_MNC_ZERO: _bindgen_ty_3 = 65535;
6251 pub type _bindgen_ty_3 = u32;
6252 extern "C" {
AConfiguration_new() -> *mut AConfiguration6253     pub fn AConfiguration_new() -> *mut AConfiguration;
6254 }
6255 extern "C" {
AConfiguration_delete(config: *mut AConfiguration)6256     pub fn AConfiguration_delete(config: *mut AConfiguration);
6257 }
6258 extern "C" {
AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager)6259     pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
6260 }
6261 extern "C" {
AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration)6262     pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
6263 }
6264 extern "C" {
AConfiguration_getMcc(config: *mut AConfiguration) -> i326265     pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
6266 }
6267 extern "C" {
AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32)6268     pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
6269 }
6270 extern "C" {
AConfiguration_getMnc(config: *mut AConfiguration) -> i326271     pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
6272 }
6273 extern "C" {
AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32)6274     pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
6275 }
6276 extern "C" {
AConfiguration_getLanguage( config: *mut AConfiguration, outLanguage: *mut ::std::os::raw::c_char, )6277     pub fn AConfiguration_getLanguage(
6278         config: *mut AConfiguration,
6279         outLanguage: *mut ::std::os::raw::c_char,
6280     );
6281 }
6282 extern "C" {
AConfiguration_setLanguage( config: *mut AConfiguration, language: *const ::std::os::raw::c_char, )6283     pub fn AConfiguration_setLanguage(
6284         config: *mut AConfiguration,
6285         language: *const ::std::os::raw::c_char,
6286     );
6287 }
6288 extern "C" {
AConfiguration_getCountry( config: *mut AConfiguration, outCountry: *mut ::std::os::raw::c_char, )6289     pub fn AConfiguration_getCountry(
6290         config: *mut AConfiguration,
6291         outCountry: *mut ::std::os::raw::c_char,
6292     );
6293 }
6294 extern "C" {
AConfiguration_setCountry( config: *mut AConfiguration, country: *const ::std::os::raw::c_char, )6295     pub fn AConfiguration_setCountry(
6296         config: *mut AConfiguration,
6297         country: *const ::std::os::raw::c_char,
6298     );
6299 }
6300 extern "C" {
AConfiguration_getOrientation(config: *mut AConfiguration) -> i326301     pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
6302 }
6303 extern "C" {
AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32)6304     pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
6305 }
6306 extern "C" {
AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i326307     pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
6308 }
6309 extern "C" {
AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32)6310     pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
6311 }
6312 extern "C" {
AConfiguration_getDensity(config: *mut AConfiguration) -> i326313     pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
6314 }
6315 extern "C" {
AConfiguration_setDensity(config: *mut AConfiguration, density: i32)6316     pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
6317 }
6318 extern "C" {
AConfiguration_getKeyboard(config: *mut AConfiguration) -> i326319     pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
6320 }
6321 extern "C" {
AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32)6322     pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
6323 }
6324 extern "C" {
AConfiguration_getNavigation(config: *mut AConfiguration) -> i326325     pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
6326 }
6327 extern "C" {
AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32)6328     pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
6329 }
6330 extern "C" {
AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i326331     pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
6332 }
6333 extern "C" {
AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32)6334     pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
6335 }
6336 extern "C" {
AConfiguration_getNavHidden(config: *mut AConfiguration) -> i326337     pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
6338 }
6339 extern "C" {
AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32)6340     pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
6341 }
6342 extern "C" {
AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i326343     pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
6344 }
6345 extern "C" {
AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32)6346     pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
6347 }
6348 extern "C" {
AConfiguration_getScreenSize(config: *mut AConfiguration) -> i326349     pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
6350 }
6351 extern "C" {
AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32)6352     pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
6353 }
6354 extern "C" {
AConfiguration_getScreenLong(config: *mut AConfiguration) -> i326355     pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
6356 }
6357 extern "C" {
AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32)6358     pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
6359 }
6360 extern "C" {
AConfiguration_getScreenRound(config: *mut AConfiguration) -> i326361     pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
6362 }
6363 extern "C" {
AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32)6364     pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
6365 }
6366 extern "C" {
AConfiguration_getUiModeType(config: *mut AConfiguration) -> i326367     pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
6368 }
6369 extern "C" {
AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32)6370     pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
6371 }
6372 extern "C" {
AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i326373     pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
6374 }
6375 extern "C" {
AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32)6376     pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
6377 }
6378 extern "C" {
AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i326379     pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
6380 }
6381 extern "C" {
AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32)6382     pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
6383 }
6384 extern "C" {
AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i326385     pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
6386 }
6387 extern "C" {
AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32)6388     pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
6389 }
6390 extern "C" {
AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i326391     pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
6392 }
6393 extern "C" {
AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32)6394     pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
6395 }
6396 extern "C" {
AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i326397     pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
6398 }
6399 extern "C" {
AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32)6400     pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
6401 }
6402 extern "C" {
AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i326403     pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
6404 }
6405 extern "C" {
AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i326406     pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
6407 }
6408 extern "C" {
AConfiguration_isBetterThan( base: *mut AConfiguration, test: *mut AConfiguration, requested: *mut AConfiguration, ) -> i326409     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)]
6417 pub struct imaxdiv_t {
6418     pub quot: intmax_t,
6419     pub rem: intmax_t,
6420 }
6421 #[test]
bindgen_test_layout_imaxdiv_t()6422 fn 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 }
6454 extern "C" {
imaxabs(__i: intmax_t) -> intmax_t6455     pub fn imaxabs(__i: intmax_t) -> intmax_t;
6456 }
6457 extern "C" {
imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t6458     pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
6459 }
6460 extern "C" {
strtoimax( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> intmax_t6461     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 }
6467 extern "C" {
strtoumax( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> uintmax_t6468     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 }
6474 extern "C" {
wcstoimax( __s: *const wchar_t, __end_ptr: *mut *mut wchar_t, __base: ::std::os::raw::c_int, ) -> intmax_t6475     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 }
6481 extern "C" {
wcstoumax( __s: *const wchar_t, __end_ptr: *mut *mut wchar_t, __base: ::std::os::raw::c_int, ) -> uintmax_t6482     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 }
6488 pub const ADataSpace_ADATASPACE_UNKNOWN: ADataSpace = 0;
6489 pub const ADataSpace_ADATASPACE_SCRGB_LINEAR: ADataSpace = 406913024;
6490 pub const ADataSpace_ADATASPACE_SRGB: ADataSpace = 142671872;
6491 pub const ADataSpace_ADATASPACE_SCRGB: ADataSpace = 411107328;
6492 pub const ADataSpace_ADATASPACE_DISPLAY_P3: ADataSpace = 143261696;
6493 pub const ADataSpace_ADATASPACE_BT2020_PQ: ADataSpace = 163971072;
6494 pub type ADataSpace = u32;
6495 pub const ANDROID_DLEXT_RESERVED_ADDRESS: _bindgen_ty_4 = 1;
6496 pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: _bindgen_ty_4 = 2;
6497 pub const ANDROID_DLEXT_WRITE_RELRO: _bindgen_ty_4 = 4;
6498 pub const ANDROID_DLEXT_USE_RELRO: _bindgen_ty_4 = 8;
6499 pub const ANDROID_DLEXT_USE_LIBRARY_FD: _bindgen_ty_4 = 16;
6500 pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: _bindgen_ty_4 = 32;
6501 pub const ANDROID_DLEXT_FORCE_LOAD: _bindgen_ty_4 = 64;
6502 pub const ANDROID_DLEXT_USE_NAMESPACE: _bindgen_ty_4 = 512;
6503 pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: _bindgen_ty_4 = 1024;
6504 pub const ANDROID_DLEXT_VALID_FLAG_BITS: _bindgen_ty_4 = 1663;
6505 pub type _bindgen_ty_4 = u32;
6506 #[repr(C)]
6507 #[derive(Debug, Copy, Clone)]
6508 pub struct android_namespace_t {
6509     _unused: [u8; 0],
6510 }
6511 #[repr(C)]
6512 #[derive(Debug, Copy, Clone)]
6513 pub 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]
bindgen_test_layout_android_dlextinfo()6524 fn 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 }
6610 extern "C" {
android_dlopen_ext( __filename: *const ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, __info: *const android_dlextinfo, ) -> *mut ::std::os::raw::c_void6611     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)]
6619 pub struct ARect {
6620     pub left: i32,
6621     pub top: i32,
6622     pub right: i32,
6623     pub bottom: i32,
6624 }
6625 #[test]
bindgen_test_layout_ARect()6626 fn 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 }
6678 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format = 1;
6679 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format = 2;
6680 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format = 3;
6681 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format = 4;
6682 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
6683     22;
6684 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
6685     43;
6686 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = 33;
6687 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = 48;
6688 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = 49;
6689 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
6690     50;
6691 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = 51;
6692 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
6693     52;
6694 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = 53;
6695 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format = 35;
6696 pub type AHardwareBuffer_Format = u32;
6697 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_NEVER:
6698     AHardwareBuffer_UsageFlags = 0;
6699 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_RARELY:
6700     AHardwareBuffer_UsageFlags = 2;
6701 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN:
6702     AHardwareBuffer_UsageFlags = 3;
6703 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_MASK:
6704     AHardwareBuffer_UsageFlags = 15;
6705 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER:
6706     AHardwareBuffer_UsageFlags = 0;
6707 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY:
6708     AHardwareBuffer_UsageFlags = 32;
6709 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN:
6710     AHardwareBuffer_UsageFlags = 48;
6711 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK:
6712     AHardwareBuffer_UsageFlags = 240;
6713 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE:
6714     AHardwareBuffer_UsageFlags = 256;
6715 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER:
6716     AHardwareBuffer_UsageFlags = 512;
6717 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT:
6718     AHardwareBuffer_UsageFlags = 512;
6719 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY:
6720     AHardwareBuffer_UsageFlags = 2048;
6721 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT:
6722     AHardwareBuffer_UsageFlags = 16384;
6723 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VIDEO_ENCODE:
6724     AHardwareBuffer_UsageFlags = 65536;
6725 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA:
6726     AHardwareBuffer_UsageFlags = 8388608;
6727 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER:
6728     AHardwareBuffer_UsageFlags = 16777216;
6729 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP:
6730     AHardwareBuffer_UsageFlags = 33554432;
6731 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE:
6732     AHardwareBuffer_UsageFlags = 67108864;
6733 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
6734     268435456;
6735 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
6736     536870912;
6737 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
6738     1073741824;
6739 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
6740     2147483648;
6741 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
6742     281474976710656;
6743 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
6744     562949953421312;
6745 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
6746     1125899906842624;
6747 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
6748     2251799813685248;
6749 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
6750     4503599627370496;
6751 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
6752     9007199254740992;
6753 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
6754     18014398509481984;
6755 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
6756     36028797018963968;
6757 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
6758     72057594037927936;
6759 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
6760     144115188075855872;
6761 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
6762     288230376151711744;
6763 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
6764     576460752303423488;
6765 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
6766     1152921504606846976;
6767 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
6768     2305843009213693952;
6769 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
6770     4611686018427387904;
6771 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
6772     9223372036854775808;
6773 pub type AHardwareBuffer_UsageFlags = u64;
6774 #[repr(C)]
6775 #[derive(Debug, Copy, Clone)]
6776 pub 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]
bindgen_test_layout_AHardwareBuffer_Desc()6787 fn 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)]
6881 pub struct AHardwareBuffer_Plane {
6882     pub data: *mut ::std::os::raw::c_void,
6883     pub pixelStride: u32,
6884     pub rowStride: u32,
6885 }
6886 #[test]
bindgen_test_layout_AHardwareBuffer_Plane()6887 fn 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)]
6933 pub struct AHardwareBuffer_Planes {
6934     pub planeCount: u32,
6935     pub planes: [AHardwareBuffer_Plane; 4usize],
6936 }
6937 #[test]
bindgen_test_layout_AHardwareBuffer_Planes()6938 fn 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)]
6974 pub struct AHardwareBuffer {
6975     _unused: [u8; 0],
6976 }
6977 extern "C" {
AHardwareBuffer_allocate( desc: *const AHardwareBuffer_Desc, outBuffer: *mut *mut AHardwareBuffer, ) -> ::std::os::raw::c_int6978     pub fn AHardwareBuffer_allocate(
6979         desc: *const AHardwareBuffer_Desc,
6980         outBuffer: *mut *mut AHardwareBuffer,
6981     ) -> ::std::os::raw::c_int;
6982 }
6983 extern "C" {
AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer)6984     pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
6985 }
6986 extern "C" {
AHardwareBuffer_release(buffer: *mut AHardwareBuffer)6987     pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
6988 }
6989 extern "C" {
AHardwareBuffer_describe( buffer: *const AHardwareBuffer, outDesc: *mut AHardwareBuffer_Desc, )6990     pub fn AHardwareBuffer_describe(
6991         buffer: *const AHardwareBuffer,
6992         outDesc: *mut AHardwareBuffer_Desc,
6993     );
6994 }
6995 extern "C" {
AHardwareBuffer_lock( buffer: *mut AHardwareBuffer, usage: u64, fence: i32, rect: *const ARect, outVirtualAddress: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int6996     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 }
7004 extern "C" {
AHardwareBuffer_lockPlanes( buffer: *mut AHardwareBuffer, usage: u64, fence: i32, rect: *const ARect, outPlanes: *mut AHardwareBuffer_Planes, ) -> ::std::os::raw::c_int7005     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 }
7013 extern "C" {
AHardwareBuffer_unlock( buffer: *mut AHardwareBuffer, fence: *mut i32, ) -> ::std::os::raw::c_int7014     pub fn AHardwareBuffer_unlock(
7015         buffer: *mut AHardwareBuffer,
7016         fence: *mut i32,
7017     ) -> ::std::os::raw::c_int;
7018 }
7019 extern "C" {
AHardwareBuffer_sendHandleToUnixSocket( buffer: *const AHardwareBuffer, socketFd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int7020     pub fn AHardwareBuffer_sendHandleToUnixSocket(
7021         buffer: *const AHardwareBuffer,
7022         socketFd: ::std::os::raw::c_int,
7023     ) -> ::std::os::raw::c_int;
7024 }
7025 extern "C" {
AHardwareBuffer_recvHandleFromUnixSocket( socketFd: ::std::os::raw::c_int, outBuffer: *mut *mut AHardwareBuffer, ) -> ::std::os::raw::c_int7026     pub fn AHardwareBuffer_recvHandleFromUnixSocket(
7027         socketFd: ::std::os::raw::c_int,
7028         outBuffer: *mut *mut AHardwareBuffer,
7029     ) -> ::std::os::raw::c_int;
7030 }
7031 extern "C" {
AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int7032     pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
7033 }
7034 extern "C" {
AHardwareBuffer_lockAndGetInfo( buffer: *mut AHardwareBuffer, usage: u64, fence: i32, rect: *const ARect, outVirtualAddress: *mut *mut ::std::os::raw::c_void, outBytesPerPixel: *mut i32, outBytesPerStride: *mut i32, ) -> ::std::os::raw::c_int7035     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 }
7045 extern "C" {
AHardwareBuffer_fromHardwareBuffer( env: *mut JNIEnv, hardwareBufferObj: jobject, ) -> *mut AHardwareBuffer7046     pub fn AHardwareBuffer_fromHardwareBuffer(
7047         env: *mut JNIEnv,
7048         hardwareBufferObj: jobject,
7049     ) -> *mut AHardwareBuffer;
7050 }
7051 extern "C" {
AHardwareBuffer_toHardwareBuffer( env: *mut JNIEnv, hardwareBuffer: *mut AHardwareBuffer, ) -> jobject7052     pub fn AHardwareBuffer_toHardwareBuffer(
7053         env: *mut JNIEnv,
7054         hardwareBuffer: *mut AHardwareBuffer,
7055     ) -> jobject;
7056 }
7057 pub const AKEYCODE_UNKNOWN: _bindgen_ty_5 = 0;
7058 pub const AKEYCODE_SOFT_LEFT: _bindgen_ty_5 = 1;
7059 pub const AKEYCODE_SOFT_RIGHT: _bindgen_ty_5 = 2;
7060 pub const AKEYCODE_HOME: _bindgen_ty_5 = 3;
7061 pub const AKEYCODE_BACK: _bindgen_ty_5 = 4;
7062 pub const AKEYCODE_CALL: _bindgen_ty_5 = 5;
7063 pub const AKEYCODE_ENDCALL: _bindgen_ty_5 = 6;
7064 pub const AKEYCODE_0: _bindgen_ty_5 = 7;
7065 pub const AKEYCODE_1: _bindgen_ty_5 = 8;
7066 pub const AKEYCODE_2: _bindgen_ty_5 = 9;
7067 pub const AKEYCODE_3: _bindgen_ty_5 = 10;
7068 pub const AKEYCODE_4: _bindgen_ty_5 = 11;
7069 pub const AKEYCODE_5: _bindgen_ty_5 = 12;
7070 pub const AKEYCODE_6: _bindgen_ty_5 = 13;
7071 pub const AKEYCODE_7: _bindgen_ty_5 = 14;
7072 pub const AKEYCODE_8: _bindgen_ty_5 = 15;
7073 pub const AKEYCODE_9: _bindgen_ty_5 = 16;
7074 pub const AKEYCODE_STAR: _bindgen_ty_5 = 17;
7075 pub const AKEYCODE_POUND: _bindgen_ty_5 = 18;
7076 pub const AKEYCODE_DPAD_UP: _bindgen_ty_5 = 19;
7077 pub const AKEYCODE_DPAD_DOWN: _bindgen_ty_5 = 20;
7078 pub const AKEYCODE_DPAD_LEFT: _bindgen_ty_5 = 21;
7079 pub const AKEYCODE_DPAD_RIGHT: _bindgen_ty_5 = 22;
7080 pub const AKEYCODE_DPAD_CENTER: _bindgen_ty_5 = 23;
7081 pub const AKEYCODE_VOLUME_UP: _bindgen_ty_5 = 24;
7082 pub const AKEYCODE_VOLUME_DOWN: _bindgen_ty_5 = 25;
7083 pub const AKEYCODE_POWER: _bindgen_ty_5 = 26;
7084 pub const AKEYCODE_CAMERA: _bindgen_ty_5 = 27;
7085 pub const AKEYCODE_CLEAR: _bindgen_ty_5 = 28;
7086 pub const AKEYCODE_A: _bindgen_ty_5 = 29;
7087 pub const AKEYCODE_B: _bindgen_ty_5 = 30;
7088 pub const AKEYCODE_C: _bindgen_ty_5 = 31;
7089 pub const AKEYCODE_D: _bindgen_ty_5 = 32;
7090 pub const AKEYCODE_E: _bindgen_ty_5 = 33;
7091 pub const AKEYCODE_F: _bindgen_ty_5 = 34;
7092 pub const AKEYCODE_G: _bindgen_ty_5 = 35;
7093 pub const AKEYCODE_H: _bindgen_ty_5 = 36;
7094 pub const AKEYCODE_I: _bindgen_ty_5 = 37;
7095 pub const AKEYCODE_J: _bindgen_ty_5 = 38;
7096 pub const AKEYCODE_K: _bindgen_ty_5 = 39;
7097 pub const AKEYCODE_L: _bindgen_ty_5 = 40;
7098 pub const AKEYCODE_M: _bindgen_ty_5 = 41;
7099 pub const AKEYCODE_N: _bindgen_ty_5 = 42;
7100 pub const AKEYCODE_O: _bindgen_ty_5 = 43;
7101 pub const AKEYCODE_P: _bindgen_ty_5 = 44;
7102 pub const AKEYCODE_Q: _bindgen_ty_5 = 45;
7103 pub const AKEYCODE_R: _bindgen_ty_5 = 46;
7104 pub const AKEYCODE_S: _bindgen_ty_5 = 47;
7105 pub const AKEYCODE_T: _bindgen_ty_5 = 48;
7106 pub const AKEYCODE_U: _bindgen_ty_5 = 49;
7107 pub const AKEYCODE_V: _bindgen_ty_5 = 50;
7108 pub const AKEYCODE_W: _bindgen_ty_5 = 51;
7109 pub const AKEYCODE_X: _bindgen_ty_5 = 52;
7110 pub const AKEYCODE_Y: _bindgen_ty_5 = 53;
7111 pub const AKEYCODE_Z: _bindgen_ty_5 = 54;
7112 pub const AKEYCODE_COMMA: _bindgen_ty_5 = 55;
7113 pub const AKEYCODE_PERIOD: _bindgen_ty_5 = 56;
7114 pub const AKEYCODE_ALT_LEFT: _bindgen_ty_5 = 57;
7115 pub const AKEYCODE_ALT_RIGHT: _bindgen_ty_5 = 58;
7116 pub const AKEYCODE_SHIFT_LEFT: _bindgen_ty_5 = 59;
7117 pub const AKEYCODE_SHIFT_RIGHT: _bindgen_ty_5 = 60;
7118 pub const AKEYCODE_TAB: _bindgen_ty_5 = 61;
7119 pub const AKEYCODE_SPACE: _bindgen_ty_5 = 62;
7120 pub const AKEYCODE_SYM: _bindgen_ty_5 = 63;
7121 pub const AKEYCODE_EXPLORER: _bindgen_ty_5 = 64;
7122 pub const AKEYCODE_ENVELOPE: _bindgen_ty_5 = 65;
7123 pub const AKEYCODE_ENTER: _bindgen_ty_5 = 66;
7124 pub const AKEYCODE_DEL: _bindgen_ty_5 = 67;
7125 pub const AKEYCODE_GRAVE: _bindgen_ty_5 = 68;
7126 pub const AKEYCODE_MINUS: _bindgen_ty_5 = 69;
7127 pub const AKEYCODE_EQUALS: _bindgen_ty_5 = 70;
7128 pub const AKEYCODE_LEFT_BRACKET: _bindgen_ty_5 = 71;
7129 pub const AKEYCODE_RIGHT_BRACKET: _bindgen_ty_5 = 72;
7130 pub const AKEYCODE_BACKSLASH: _bindgen_ty_5 = 73;
7131 pub const AKEYCODE_SEMICOLON: _bindgen_ty_5 = 74;
7132 pub const AKEYCODE_APOSTROPHE: _bindgen_ty_5 = 75;
7133 pub const AKEYCODE_SLASH: _bindgen_ty_5 = 76;
7134 pub const AKEYCODE_AT: _bindgen_ty_5 = 77;
7135 pub const AKEYCODE_NUM: _bindgen_ty_5 = 78;
7136 pub const AKEYCODE_HEADSETHOOK: _bindgen_ty_5 = 79;
7137 pub const AKEYCODE_FOCUS: _bindgen_ty_5 = 80;
7138 pub const AKEYCODE_PLUS: _bindgen_ty_5 = 81;
7139 pub const AKEYCODE_MENU: _bindgen_ty_5 = 82;
7140 pub const AKEYCODE_NOTIFICATION: _bindgen_ty_5 = 83;
7141 pub const AKEYCODE_SEARCH: _bindgen_ty_5 = 84;
7142 pub const AKEYCODE_MEDIA_PLAY_PAUSE: _bindgen_ty_5 = 85;
7143 pub const AKEYCODE_MEDIA_STOP: _bindgen_ty_5 = 86;
7144 pub const AKEYCODE_MEDIA_NEXT: _bindgen_ty_5 = 87;
7145 pub const AKEYCODE_MEDIA_PREVIOUS: _bindgen_ty_5 = 88;
7146 pub const AKEYCODE_MEDIA_REWIND: _bindgen_ty_5 = 89;
7147 pub const AKEYCODE_MEDIA_FAST_FORWARD: _bindgen_ty_5 = 90;
7148 pub const AKEYCODE_MUTE: _bindgen_ty_5 = 91;
7149 pub const AKEYCODE_PAGE_UP: _bindgen_ty_5 = 92;
7150 pub const AKEYCODE_PAGE_DOWN: _bindgen_ty_5 = 93;
7151 pub const AKEYCODE_PICTSYMBOLS: _bindgen_ty_5 = 94;
7152 pub const AKEYCODE_SWITCH_CHARSET: _bindgen_ty_5 = 95;
7153 pub const AKEYCODE_BUTTON_A: _bindgen_ty_5 = 96;
7154 pub const AKEYCODE_BUTTON_B: _bindgen_ty_5 = 97;
7155 pub const AKEYCODE_BUTTON_C: _bindgen_ty_5 = 98;
7156 pub const AKEYCODE_BUTTON_X: _bindgen_ty_5 = 99;
7157 pub const AKEYCODE_BUTTON_Y: _bindgen_ty_5 = 100;
7158 pub const AKEYCODE_BUTTON_Z: _bindgen_ty_5 = 101;
7159 pub const AKEYCODE_BUTTON_L1: _bindgen_ty_5 = 102;
7160 pub const AKEYCODE_BUTTON_R1: _bindgen_ty_5 = 103;
7161 pub const AKEYCODE_BUTTON_L2: _bindgen_ty_5 = 104;
7162 pub const AKEYCODE_BUTTON_R2: _bindgen_ty_5 = 105;
7163 pub const AKEYCODE_BUTTON_THUMBL: _bindgen_ty_5 = 106;
7164 pub const AKEYCODE_BUTTON_THUMBR: _bindgen_ty_5 = 107;
7165 pub const AKEYCODE_BUTTON_START: _bindgen_ty_5 = 108;
7166 pub const AKEYCODE_BUTTON_SELECT: _bindgen_ty_5 = 109;
7167 pub const AKEYCODE_BUTTON_MODE: _bindgen_ty_5 = 110;
7168 pub const AKEYCODE_ESCAPE: _bindgen_ty_5 = 111;
7169 pub const AKEYCODE_FORWARD_DEL: _bindgen_ty_5 = 112;
7170 pub const AKEYCODE_CTRL_LEFT: _bindgen_ty_5 = 113;
7171 pub const AKEYCODE_CTRL_RIGHT: _bindgen_ty_5 = 114;
7172 pub const AKEYCODE_CAPS_LOCK: _bindgen_ty_5 = 115;
7173 pub const AKEYCODE_SCROLL_LOCK: _bindgen_ty_5 = 116;
7174 pub const AKEYCODE_META_LEFT: _bindgen_ty_5 = 117;
7175 pub const AKEYCODE_META_RIGHT: _bindgen_ty_5 = 118;
7176 pub const AKEYCODE_FUNCTION: _bindgen_ty_5 = 119;
7177 pub const AKEYCODE_SYSRQ: _bindgen_ty_5 = 120;
7178 pub const AKEYCODE_BREAK: _bindgen_ty_5 = 121;
7179 pub const AKEYCODE_MOVE_HOME: _bindgen_ty_5 = 122;
7180 pub const AKEYCODE_MOVE_END: _bindgen_ty_5 = 123;
7181 pub const AKEYCODE_INSERT: _bindgen_ty_5 = 124;
7182 pub const AKEYCODE_FORWARD: _bindgen_ty_5 = 125;
7183 pub const AKEYCODE_MEDIA_PLAY: _bindgen_ty_5 = 126;
7184 pub const AKEYCODE_MEDIA_PAUSE: _bindgen_ty_5 = 127;
7185 pub const AKEYCODE_MEDIA_CLOSE: _bindgen_ty_5 = 128;
7186 pub const AKEYCODE_MEDIA_EJECT: _bindgen_ty_5 = 129;
7187 pub const AKEYCODE_MEDIA_RECORD: _bindgen_ty_5 = 130;
7188 pub const AKEYCODE_F1: _bindgen_ty_5 = 131;
7189 pub const AKEYCODE_F2: _bindgen_ty_5 = 132;
7190 pub const AKEYCODE_F3: _bindgen_ty_5 = 133;
7191 pub const AKEYCODE_F4: _bindgen_ty_5 = 134;
7192 pub const AKEYCODE_F5: _bindgen_ty_5 = 135;
7193 pub const AKEYCODE_F6: _bindgen_ty_5 = 136;
7194 pub const AKEYCODE_F7: _bindgen_ty_5 = 137;
7195 pub const AKEYCODE_F8: _bindgen_ty_5 = 138;
7196 pub const AKEYCODE_F9: _bindgen_ty_5 = 139;
7197 pub const AKEYCODE_F10: _bindgen_ty_5 = 140;
7198 pub const AKEYCODE_F11: _bindgen_ty_5 = 141;
7199 pub const AKEYCODE_F12: _bindgen_ty_5 = 142;
7200 pub const AKEYCODE_NUM_LOCK: _bindgen_ty_5 = 143;
7201 pub const AKEYCODE_NUMPAD_0: _bindgen_ty_5 = 144;
7202 pub const AKEYCODE_NUMPAD_1: _bindgen_ty_5 = 145;
7203 pub const AKEYCODE_NUMPAD_2: _bindgen_ty_5 = 146;
7204 pub const AKEYCODE_NUMPAD_3: _bindgen_ty_5 = 147;
7205 pub const AKEYCODE_NUMPAD_4: _bindgen_ty_5 = 148;
7206 pub const AKEYCODE_NUMPAD_5: _bindgen_ty_5 = 149;
7207 pub const AKEYCODE_NUMPAD_6: _bindgen_ty_5 = 150;
7208 pub const AKEYCODE_NUMPAD_7: _bindgen_ty_5 = 151;
7209 pub const AKEYCODE_NUMPAD_8: _bindgen_ty_5 = 152;
7210 pub const AKEYCODE_NUMPAD_9: _bindgen_ty_5 = 153;
7211 pub const AKEYCODE_NUMPAD_DIVIDE: _bindgen_ty_5 = 154;
7212 pub const AKEYCODE_NUMPAD_MULTIPLY: _bindgen_ty_5 = 155;
7213 pub const AKEYCODE_NUMPAD_SUBTRACT: _bindgen_ty_5 = 156;
7214 pub const AKEYCODE_NUMPAD_ADD: _bindgen_ty_5 = 157;
7215 pub const AKEYCODE_NUMPAD_DOT: _bindgen_ty_5 = 158;
7216 pub const AKEYCODE_NUMPAD_COMMA: _bindgen_ty_5 = 159;
7217 pub const AKEYCODE_NUMPAD_ENTER: _bindgen_ty_5 = 160;
7218 pub const AKEYCODE_NUMPAD_EQUALS: _bindgen_ty_5 = 161;
7219 pub const AKEYCODE_NUMPAD_LEFT_PAREN: _bindgen_ty_5 = 162;
7220 pub const AKEYCODE_NUMPAD_RIGHT_PAREN: _bindgen_ty_5 = 163;
7221 pub const AKEYCODE_VOLUME_MUTE: _bindgen_ty_5 = 164;
7222 pub const AKEYCODE_INFO: _bindgen_ty_5 = 165;
7223 pub const AKEYCODE_CHANNEL_UP: _bindgen_ty_5 = 166;
7224 pub const AKEYCODE_CHANNEL_DOWN: _bindgen_ty_5 = 167;
7225 pub const AKEYCODE_ZOOM_IN: _bindgen_ty_5 = 168;
7226 pub const AKEYCODE_ZOOM_OUT: _bindgen_ty_5 = 169;
7227 pub const AKEYCODE_TV: _bindgen_ty_5 = 170;
7228 pub const AKEYCODE_WINDOW: _bindgen_ty_5 = 171;
7229 pub const AKEYCODE_GUIDE: _bindgen_ty_5 = 172;
7230 pub const AKEYCODE_DVR: _bindgen_ty_5 = 173;
7231 pub const AKEYCODE_BOOKMARK: _bindgen_ty_5 = 174;
7232 pub const AKEYCODE_CAPTIONS: _bindgen_ty_5 = 175;
7233 pub const AKEYCODE_SETTINGS: _bindgen_ty_5 = 176;
7234 pub const AKEYCODE_TV_POWER: _bindgen_ty_5 = 177;
7235 pub const AKEYCODE_TV_INPUT: _bindgen_ty_5 = 178;
7236 pub const AKEYCODE_STB_POWER: _bindgen_ty_5 = 179;
7237 pub const AKEYCODE_STB_INPUT: _bindgen_ty_5 = 180;
7238 pub const AKEYCODE_AVR_POWER: _bindgen_ty_5 = 181;
7239 pub const AKEYCODE_AVR_INPUT: _bindgen_ty_5 = 182;
7240 pub const AKEYCODE_PROG_RED: _bindgen_ty_5 = 183;
7241 pub const AKEYCODE_PROG_GREEN: _bindgen_ty_5 = 184;
7242 pub const AKEYCODE_PROG_YELLOW: _bindgen_ty_5 = 185;
7243 pub const AKEYCODE_PROG_BLUE: _bindgen_ty_5 = 186;
7244 pub const AKEYCODE_APP_SWITCH: _bindgen_ty_5 = 187;
7245 pub const AKEYCODE_BUTTON_1: _bindgen_ty_5 = 188;
7246 pub const AKEYCODE_BUTTON_2: _bindgen_ty_5 = 189;
7247 pub const AKEYCODE_BUTTON_3: _bindgen_ty_5 = 190;
7248 pub const AKEYCODE_BUTTON_4: _bindgen_ty_5 = 191;
7249 pub const AKEYCODE_BUTTON_5: _bindgen_ty_5 = 192;
7250 pub const AKEYCODE_BUTTON_6: _bindgen_ty_5 = 193;
7251 pub const AKEYCODE_BUTTON_7: _bindgen_ty_5 = 194;
7252 pub const AKEYCODE_BUTTON_8: _bindgen_ty_5 = 195;
7253 pub const AKEYCODE_BUTTON_9: _bindgen_ty_5 = 196;
7254 pub const AKEYCODE_BUTTON_10: _bindgen_ty_5 = 197;
7255 pub const AKEYCODE_BUTTON_11: _bindgen_ty_5 = 198;
7256 pub const AKEYCODE_BUTTON_12: _bindgen_ty_5 = 199;
7257 pub const AKEYCODE_BUTTON_13: _bindgen_ty_5 = 200;
7258 pub const AKEYCODE_BUTTON_14: _bindgen_ty_5 = 201;
7259 pub const AKEYCODE_BUTTON_15: _bindgen_ty_5 = 202;
7260 pub const AKEYCODE_BUTTON_16: _bindgen_ty_5 = 203;
7261 pub const AKEYCODE_LANGUAGE_SWITCH: _bindgen_ty_5 = 204;
7262 pub const AKEYCODE_MANNER_MODE: _bindgen_ty_5 = 205;
7263 pub const AKEYCODE_3D_MODE: _bindgen_ty_5 = 206;
7264 pub const AKEYCODE_CONTACTS: _bindgen_ty_5 = 207;
7265 pub const AKEYCODE_CALENDAR: _bindgen_ty_5 = 208;
7266 pub const AKEYCODE_MUSIC: _bindgen_ty_5 = 209;
7267 pub const AKEYCODE_CALCULATOR: _bindgen_ty_5 = 210;
7268 pub const AKEYCODE_ZENKAKU_HANKAKU: _bindgen_ty_5 = 211;
7269 pub const AKEYCODE_EISU: _bindgen_ty_5 = 212;
7270 pub const AKEYCODE_MUHENKAN: _bindgen_ty_5 = 213;
7271 pub const AKEYCODE_HENKAN: _bindgen_ty_5 = 214;
7272 pub const AKEYCODE_KATAKANA_HIRAGANA: _bindgen_ty_5 = 215;
7273 pub const AKEYCODE_YEN: _bindgen_ty_5 = 216;
7274 pub const AKEYCODE_RO: _bindgen_ty_5 = 217;
7275 pub const AKEYCODE_KANA: _bindgen_ty_5 = 218;
7276 pub const AKEYCODE_ASSIST: _bindgen_ty_5 = 219;
7277 pub const AKEYCODE_BRIGHTNESS_DOWN: _bindgen_ty_5 = 220;
7278 pub const AKEYCODE_BRIGHTNESS_UP: _bindgen_ty_5 = 221;
7279 pub const AKEYCODE_MEDIA_AUDIO_TRACK: _bindgen_ty_5 = 222;
7280 pub const AKEYCODE_SLEEP: _bindgen_ty_5 = 223;
7281 pub const AKEYCODE_WAKEUP: _bindgen_ty_5 = 224;
7282 pub const AKEYCODE_PAIRING: _bindgen_ty_5 = 225;
7283 pub const AKEYCODE_MEDIA_TOP_MENU: _bindgen_ty_5 = 226;
7284 pub const AKEYCODE_11: _bindgen_ty_5 = 227;
7285 pub const AKEYCODE_12: _bindgen_ty_5 = 228;
7286 pub const AKEYCODE_LAST_CHANNEL: _bindgen_ty_5 = 229;
7287 pub const AKEYCODE_TV_DATA_SERVICE: _bindgen_ty_5 = 230;
7288 pub const AKEYCODE_VOICE_ASSIST: _bindgen_ty_5 = 231;
7289 pub const AKEYCODE_TV_RADIO_SERVICE: _bindgen_ty_5 = 232;
7290 pub const AKEYCODE_TV_TELETEXT: _bindgen_ty_5 = 233;
7291 pub const AKEYCODE_TV_NUMBER_ENTRY: _bindgen_ty_5 = 234;
7292 pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: _bindgen_ty_5 = 235;
7293 pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: _bindgen_ty_5 = 236;
7294 pub const AKEYCODE_TV_SATELLITE: _bindgen_ty_5 = 237;
7295 pub const AKEYCODE_TV_SATELLITE_BS: _bindgen_ty_5 = 238;
7296 pub const AKEYCODE_TV_SATELLITE_CS: _bindgen_ty_5 = 239;
7297 pub const AKEYCODE_TV_SATELLITE_SERVICE: _bindgen_ty_5 = 240;
7298 pub const AKEYCODE_TV_NETWORK: _bindgen_ty_5 = 241;
7299 pub const AKEYCODE_TV_ANTENNA_CABLE: _bindgen_ty_5 = 242;
7300 pub const AKEYCODE_TV_INPUT_HDMI_1: _bindgen_ty_5 = 243;
7301 pub const AKEYCODE_TV_INPUT_HDMI_2: _bindgen_ty_5 = 244;
7302 pub const AKEYCODE_TV_INPUT_HDMI_3: _bindgen_ty_5 = 245;
7303 pub const AKEYCODE_TV_INPUT_HDMI_4: _bindgen_ty_5 = 246;
7304 pub const AKEYCODE_TV_INPUT_COMPOSITE_1: _bindgen_ty_5 = 247;
7305 pub const AKEYCODE_TV_INPUT_COMPOSITE_2: _bindgen_ty_5 = 248;
7306 pub const AKEYCODE_TV_INPUT_COMPONENT_1: _bindgen_ty_5 = 249;
7307 pub const AKEYCODE_TV_INPUT_COMPONENT_2: _bindgen_ty_5 = 250;
7308 pub const AKEYCODE_TV_INPUT_VGA_1: _bindgen_ty_5 = 251;
7309 pub const AKEYCODE_TV_AUDIO_DESCRIPTION: _bindgen_ty_5 = 252;
7310 pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: _bindgen_ty_5 = 253;
7311 pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: _bindgen_ty_5 = 254;
7312 pub const AKEYCODE_TV_ZOOM_MODE: _bindgen_ty_5 = 255;
7313 pub const AKEYCODE_TV_CONTENTS_MENU: _bindgen_ty_5 = 256;
7314 pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: _bindgen_ty_5 = 257;
7315 pub const AKEYCODE_TV_TIMER_PROGRAMMING: _bindgen_ty_5 = 258;
7316 pub const AKEYCODE_HELP: _bindgen_ty_5 = 259;
7317 pub const AKEYCODE_NAVIGATE_PREVIOUS: _bindgen_ty_5 = 260;
7318 pub const AKEYCODE_NAVIGATE_NEXT: _bindgen_ty_5 = 261;
7319 pub const AKEYCODE_NAVIGATE_IN: _bindgen_ty_5 = 262;
7320 pub const AKEYCODE_NAVIGATE_OUT: _bindgen_ty_5 = 263;
7321 pub const AKEYCODE_STEM_PRIMARY: _bindgen_ty_5 = 264;
7322 pub const AKEYCODE_STEM_1: _bindgen_ty_5 = 265;
7323 pub const AKEYCODE_STEM_2: _bindgen_ty_5 = 266;
7324 pub const AKEYCODE_STEM_3: _bindgen_ty_5 = 267;
7325 pub const AKEYCODE_DPAD_UP_LEFT: _bindgen_ty_5 = 268;
7326 pub const AKEYCODE_DPAD_DOWN_LEFT: _bindgen_ty_5 = 269;
7327 pub const AKEYCODE_DPAD_UP_RIGHT: _bindgen_ty_5 = 270;
7328 pub const AKEYCODE_DPAD_DOWN_RIGHT: _bindgen_ty_5 = 271;
7329 pub const AKEYCODE_MEDIA_SKIP_FORWARD: _bindgen_ty_5 = 272;
7330 pub const AKEYCODE_MEDIA_SKIP_BACKWARD: _bindgen_ty_5 = 273;
7331 pub const AKEYCODE_MEDIA_STEP_FORWARD: _bindgen_ty_5 = 274;
7332 pub const AKEYCODE_MEDIA_STEP_BACKWARD: _bindgen_ty_5 = 275;
7333 pub const AKEYCODE_SOFT_SLEEP: _bindgen_ty_5 = 276;
7334 pub const AKEYCODE_CUT: _bindgen_ty_5 = 277;
7335 pub const AKEYCODE_COPY: _bindgen_ty_5 = 278;
7336 pub const AKEYCODE_PASTE: _bindgen_ty_5 = 279;
7337 pub const AKEYCODE_SYSTEM_NAVIGATION_UP: _bindgen_ty_5 = 280;
7338 pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: _bindgen_ty_5 = 281;
7339 pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: _bindgen_ty_5 = 282;
7340 pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: _bindgen_ty_5 = 283;
7341 pub const AKEYCODE_ALL_APPS: _bindgen_ty_5 = 284;
7342 pub const AKEYCODE_REFRESH: _bindgen_ty_5 = 285;
7343 pub const AKEYCODE_THUMBS_UP: _bindgen_ty_5 = 286;
7344 pub const AKEYCODE_THUMBS_DOWN: _bindgen_ty_5 = 287;
7345 pub const AKEYCODE_PROFILE_SWITCH: _bindgen_ty_5 = 288;
7346 pub type _bindgen_ty_5 = u32;
7347 #[repr(C)]
7348 #[derive(Debug, Copy, Clone)]
7349 pub struct ALooper {
7350     _unused: [u8; 0],
7351 }
7352 extern "C" {
ALooper_forThread() -> *mut ALooper7353     pub fn ALooper_forThread() -> *mut ALooper;
7354 }
7355 pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: _bindgen_ty_6 = 1;
7356 pub type _bindgen_ty_6 = u32;
7357 extern "C" {
ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper7358     pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
7359 }
7360 pub const ALOOPER_POLL_WAKE: _bindgen_ty_7 = -1;
7361 pub const ALOOPER_POLL_CALLBACK: _bindgen_ty_7 = -2;
7362 pub const ALOOPER_POLL_TIMEOUT: _bindgen_ty_7 = -3;
7363 pub const ALOOPER_POLL_ERROR: _bindgen_ty_7 = -4;
7364 pub type _bindgen_ty_7 = i32;
7365 extern "C" {
ALooper_acquire(looper: *mut ALooper)7366     pub fn ALooper_acquire(looper: *mut ALooper);
7367 }
7368 extern "C" {
ALooper_release(looper: *mut ALooper)7369     pub fn ALooper_release(looper: *mut ALooper);
7370 }
7371 pub const ALOOPER_EVENT_INPUT: _bindgen_ty_8 = 1;
7372 pub const ALOOPER_EVENT_OUTPUT: _bindgen_ty_8 = 2;
7373 pub const ALOOPER_EVENT_ERROR: _bindgen_ty_8 = 4;
7374 pub const ALOOPER_EVENT_HANGUP: _bindgen_ty_8 = 8;
7375 pub const ALOOPER_EVENT_INVALID: _bindgen_ty_8 = 16;
7376 pub type _bindgen_ty_8 = u32;
7377 pub 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 >;
7384 extern "C" {
ALooper_pollOnce( timeoutMillis: ::std::os::raw::c_int, outFd: *mut ::std::os::raw::c_int, outEvents: *mut ::std::os::raw::c_int, outData: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int7385     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 }
7392 extern "C" {
ALooper_pollAll( timeoutMillis: ::std::os::raw::c_int, outFd: *mut ::std::os::raw::c_int, outEvents: *mut ::std::os::raw::c_int, outData: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int7393     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 }
7400 extern "C" {
ALooper_wake(looper: *mut ALooper)7401     pub fn ALooper_wake(looper: *mut ALooper);
7402 }
7403 extern "C" {
ALooper_addFd( looper: *mut ALooper, fd: ::std::os::raw::c_int, ident: ::std::os::raw::c_int, events: ::std::os::raw::c_int, callback: ALooper_callbackFunc, data: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int7404     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 }
7413 extern "C" {
ALooper_removeFd( looper: *mut ALooper, fd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int7414     pub fn ALooper_removeFd(
7415         looper: *mut ALooper,
7416         fd: ::std::os::raw::c_int,
7417     ) -> ::std::os::raw::c_int;
7418 }
7419 pub const AKEY_STATE_UNKNOWN: _bindgen_ty_9 = -1;
7420 pub const AKEY_STATE_UP: _bindgen_ty_9 = 0;
7421 pub const AKEY_STATE_DOWN: _bindgen_ty_9 = 1;
7422 pub const AKEY_STATE_VIRTUAL: _bindgen_ty_9 = 2;
7423 pub type _bindgen_ty_9 = i32;
7424 pub const AMETA_NONE: _bindgen_ty_10 = 0;
7425 pub const AMETA_ALT_ON: _bindgen_ty_10 = 2;
7426 pub const AMETA_ALT_LEFT_ON: _bindgen_ty_10 = 16;
7427 pub const AMETA_ALT_RIGHT_ON: _bindgen_ty_10 = 32;
7428 pub const AMETA_SHIFT_ON: _bindgen_ty_10 = 1;
7429 pub const AMETA_SHIFT_LEFT_ON: _bindgen_ty_10 = 64;
7430 pub const AMETA_SHIFT_RIGHT_ON: _bindgen_ty_10 = 128;
7431 pub const AMETA_SYM_ON: _bindgen_ty_10 = 4;
7432 pub const AMETA_FUNCTION_ON: _bindgen_ty_10 = 8;
7433 pub const AMETA_CTRL_ON: _bindgen_ty_10 = 4096;
7434 pub const AMETA_CTRL_LEFT_ON: _bindgen_ty_10 = 8192;
7435 pub const AMETA_CTRL_RIGHT_ON: _bindgen_ty_10 = 16384;
7436 pub const AMETA_META_ON: _bindgen_ty_10 = 65536;
7437 pub const AMETA_META_LEFT_ON: _bindgen_ty_10 = 131072;
7438 pub const AMETA_META_RIGHT_ON: _bindgen_ty_10 = 262144;
7439 pub const AMETA_CAPS_LOCK_ON: _bindgen_ty_10 = 1048576;
7440 pub const AMETA_NUM_LOCK_ON: _bindgen_ty_10 = 2097152;
7441 pub const AMETA_SCROLL_LOCK_ON: _bindgen_ty_10 = 4194304;
7442 pub type _bindgen_ty_10 = u32;
7443 #[repr(C)]
7444 #[derive(Debug, Copy, Clone)]
7445 pub struct AInputEvent {
7446     _unused: [u8; 0],
7447 }
7448 pub const AINPUT_EVENT_TYPE_KEY: _bindgen_ty_11 = 1;
7449 pub const AINPUT_EVENT_TYPE_MOTION: _bindgen_ty_11 = 2;
7450 pub type _bindgen_ty_11 = u32;
7451 pub const AKEY_EVENT_ACTION_DOWN: _bindgen_ty_12 = 0;
7452 pub const AKEY_EVENT_ACTION_UP: _bindgen_ty_12 = 1;
7453 pub const AKEY_EVENT_ACTION_MULTIPLE: _bindgen_ty_12 = 2;
7454 pub type _bindgen_ty_12 = u32;
7455 pub const AKEY_EVENT_FLAG_WOKE_HERE: _bindgen_ty_13 = 1;
7456 pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: _bindgen_ty_13 = 2;
7457 pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: _bindgen_ty_13 = 4;
7458 pub const AKEY_EVENT_FLAG_FROM_SYSTEM: _bindgen_ty_13 = 8;
7459 pub const AKEY_EVENT_FLAG_EDITOR_ACTION: _bindgen_ty_13 = 16;
7460 pub const AKEY_EVENT_FLAG_CANCELED: _bindgen_ty_13 = 32;
7461 pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: _bindgen_ty_13 = 64;
7462 pub const AKEY_EVENT_FLAG_LONG_PRESS: _bindgen_ty_13 = 128;
7463 pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: _bindgen_ty_13 = 256;
7464 pub const AKEY_EVENT_FLAG_TRACKING: _bindgen_ty_13 = 512;
7465 pub const AKEY_EVENT_FLAG_FALLBACK: _bindgen_ty_13 = 1024;
7466 pub type _bindgen_ty_13 = u32;
7467 pub const AMOTION_EVENT_ACTION_MASK: _bindgen_ty_14 = 255;
7468 pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: _bindgen_ty_14 = 65280;
7469 pub const AMOTION_EVENT_ACTION_DOWN: _bindgen_ty_14 = 0;
7470 pub const AMOTION_EVENT_ACTION_UP: _bindgen_ty_14 = 1;
7471 pub const AMOTION_EVENT_ACTION_MOVE: _bindgen_ty_14 = 2;
7472 pub const AMOTION_EVENT_ACTION_CANCEL: _bindgen_ty_14 = 3;
7473 pub const AMOTION_EVENT_ACTION_OUTSIDE: _bindgen_ty_14 = 4;
7474 pub const AMOTION_EVENT_ACTION_POINTER_DOWN: _bindgen_ty_14 = 5;
7475 pub const AMOTION_EVENT_ACTION_POINTER_UP: _bindgen_ty_14 = 6;
7476 pub const AMOTION_EVENT_ACTION_HOVER_MOVE: _bindgen_ty_14 = 7;
7477 pub const AMOTION_EVENT_ACTION_SCROLL: _bindgen_ty_14 = 8;
7478 pub const AMOTION_EVENT_ACTION_HOVER_ENTER: _bindgen_ty_14 = 9;
7479 pub const AMOTION_EVENT_ACTION_HOVER_EXIT: _bindgen_ty_14 = 10;
7480 pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: _bindgen_ty_14 = 11;
7481 pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: _bindgen_ty_14 = 12;
7482 pub type _bindgen_ty_14 = u32;
7483 pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: _bindgen_ty_15 = 1;
7484 pub type _bindgen_ty_15 = u32;
7485 pub const AMOTION_EVENT_EDGE_FLAG_NONE: _bindgen_ty_16 = 0;
7486 pub const AMOTION_EVENT_EDGE_FLAG_TOP: _bindgen_ty_16 = 1;
7487 pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: _bindgen_ty_16 = 2;
7488 pub const AMOTION_EVENT_EDGE_FLAG_LEFT: _bindgen_ty_16 = 4;
7489 pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: _bindgen_ty_16 = 8;
7490 pub type _bindgen_ty_16 = u32;
7491 pub const AMOTION_EVENT_AXIS_X: _bindgen_ty_17 = 0;
7492 pub const AMOTION_EVENT_AXIS_Y: _bindgen_ty_17 = 1;
7493 pub const AMOTION_EVENT_AXIS_PRESSURE: _bindgen_ty_17 = 2;
7494 pub const AMOTION_EVENT_AXIS_SIZE: _bindgen_ty_17 = 3;
7495 pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: _bindgen_ty_17 = 4;
7496 pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: _bindgen_ty_17 = 5;
7497 pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: _bindgen_ty_17 = 6;
7498 pub const AMOTION_EVENT_AXIS_TOOL_MINOR: _bindgen_ty_17 = 7;
7499 pub const AMOTION_EVENT_AXIS_ORIENTATION: _bindgen_ty_17 = 8;
7500 pub const AMOTION_EVENT_AXIS_VSCROLL: _bindgen_ty_17 = 9;
7501 pub const AMOTION_EVENT_AXIS_HSCROLL: _bindgen_ty_17 = 10;
7502 pub const AMOTION_EVENT_AXIS_Z: _bindgen_ty_17 = 11;
7503 pub const AMOTION_EVENT_AXIS_RX: _bindgen_ty_17 = 12;
7504 pub const AMOTION_EVENT_AXIS_RY: _bindgen_ty_17 = 13;
7505 pub const AMOTION_EVENT_AXIS_RZ: _bindgen_ty_17 = 14;
7506 pub const AMOTION_EVENT_AXIS_HAT_X: _bindgen_ty_17 = 15;
7507 pub const AMOTION_EVENT_AXIS_HAT_Y: _bindgen_ty_17 = 16;
7508 pub const AMOTION_EVENT_AXIS_LTRIGGER: _bindgen_ty_17 = 17;
7509 pub const AMOTION_EVENT_AXIS_RTRIGGER: _bindgen_ty_17 = 18;
7510 pub const AMOTION_EVENT_AXIS_THROTTLE: _bindgen_ty_17 = 19;
7511 pub const AMOTION_EVENT_AXIS_RUDDER: _bindgen_ty_17 = 20;
7512 pub const AMOTION_EVENT_AXIS_WHEEL: _bindgen_ty_17 = 21;
7513 pub const AMOTION_EVENT_AXIS_GAS: _bindgen_ty_17 = 22;
7514 pub const AMOTION_EVENT_AXIS_BRAKE: _bindgen_ty_17 = 23;
7515 pub const AMOTION_EVENT_AXIS_DISTANCE: _bindgen_ty_17 = 24;
7516 pub const AMOTION_EVENT_AXIS_TILT: _bindgen_ty_17 = 25;
7517 pub const AMOTION_EVENT_AXIS_SCROLL: _bindgen_ty_17 = 26;
7518 pub const AMOTION_EVENT_AXIS_RELATIVE_X: _bindgen_ty_17 = 27;
7519 pub const AMOTION_EVENT_AXIS_RELATIVE_Y: _bindgen_ty_17 = 28;
7520 pub const AMOTION_EVENT_AXIS_GENERIC_1: _bindgen_ty_17 = 32;
7521 pub const AMOTION_EVENT_AXIS_GENERIC_2: _bindgen_ty_17 = 33;
7522 pub const AMOTION_EVENT_AXIS_GENERIC_3: _bindgen_ty_17 = 34;
7523 pub const AMOTION_EVENT_AXIS_GENERIC_4: _bindgen_ty_17 = 35;
7524 pub const AMOTION_EVENT_AXIS_GENERIC_5: _bindgen_ty_17 = 36;
7525 pub const AMOTION_EVENT_AXIS_GENERIC_6: _bindgen_ty_17 = 37;
7526 pub const AMOTION_EVENT_AXIS_GENERIC_7: _bindgen_ty_17 = 38;
7527 pub const AMOTION_EVENT_AXIS_GENERIC_8: _bindgen_ty_17 = 39;
7528 pub const AMOTION_EVENT_AXIS_GENERIC_9: _bindgen_ty_17 = 40;
7529 pub const AMOTION_EVENT_AXIS_GENERIC_10: _bindgen_ty_17 = 41;
7530 pub const AMOTION_EVENT_AXIS_GENERIC_11: _bindgen_ty_17 = 42;
7531 pub const AMOTION_EVENT_AXIS_GENERIC_12: _bindgen_ty_17 = 43;
7532 pub const AMOTION_EVENT_AXIS_GENERIC_13: _bindgen_ty_17 = 44;
7533 pub const AMOTION_EVENT_AXIS_GENERIC_14: _bindgen_ty_17 = 45;
7534 pub const AMOTION_EVENT_AXIS_GENERIC_15: _bindgen_ty_17 = 46;
7535 pub const AMOTION_EVENT_AXIS_GENERIC_16: _bindgen_ty_17 = 47;
7536 pub type _bindgen_ty_17 = u32;
7537 pub const AMOTION_EVENT_BUTTON_PRIMARY: _bindgen_ty_18 = 1;
7538 pub const AMOTION_EVENT_BUTTON_SECONDARY: _bindgen_ty_18 = 2;
7539 pub const AMOTION_EVENT_BUTTON_TERTIARY: _bindgen_ty_18 = 4;
7540 pub const AMOTION_EVENT_BUTTON_BACK: _bindgen_ty_18 = 8;
7541 pub const AMOTION_EVENT_BUTTON_FORWARD: _bindgen_ty_18 = 16;
7542 pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: _bindgen_ty_18 = 32;
7543 pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: _bindgen_ty_18 = 64;
7544 pub type _bindgen_ty_18 = u32;
7545 pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_19 = 0;
7546 pub const AMOTION_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_19 = 1;
7547 pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: _bindgen_ty_19 = 2;
7548 pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_19 = 3;
7549 pub const AMOTION_EVENT_TOOL_TYPE_ERASER: _bindgen_ty_19 = 4;
7550 pub type _bindgen_ty_19 = u32;
7551 pub const AINPUT_SOURCE_CLASS_MASK: _bindgen_ty_20 = 255;
7552 pub const AINPUT_SOURCE_CLASS_NONE: _bindgen_ty_20 = 0;
7553 pub const AINPUT_SOURCE_CLASS_BUTTON: _bindgen_ty_20 = 1;
7554 pub const AINPUT_SOURCE_CLASS_POINTER: _bindgen_ty_20 = 2;
7555 pub const AINPUT_SOURCE_CLASS_NAVIGATION: _bindgen_ty_20 = 4;
7556 pub const AINPUT_SOURCE_CLASS_POSITION: _bindgen_ty_20 = 8;
7557 pub const AINPUT_SOURCE_CLASS_JOYSTICK: _bindgen_ty_20 = 16;
7558 pub type _bindgen_ty_20 = u32;
7559 pub const AINPUT_SOURCE_UNKNOWN: _bindgen_ty_21 = 0;
7560 pub const AINPUT_SOURCE_KEYBOARD: _bindgen_ty_21 = 257;
7561 pub const AINPUT_SOURCE_DPAD: _bindgen_ty_21 = 513;
7562 pub const AINPUT_SOURCE_GAMEPAD: _bindgen_ty_21 = 1025;
7563 pub const AINPUT_SOURCE_TOUCHSCREEN: _bindgen_ty_21 = 4098;
7564 pub const AINPUT_SOURCE_MOUSE: _bindgen_ty_21 = 8194;
7565 pub const AINPUT_SOURCE_STYLUS: _bindgen_ty_21 = 16386;
7566 pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: _bindgen_ty_21 = 49154;
7567 pub const AINPUT_SOURCE_TRACKBALL: _bindgen_ty_21 = 65540;
7568 pub const AINPUT_SOURCE_MOUSE_RELATIVE: _bindgen_ty_21 = 131076;
7569 pub const AINPUT_SOURCE_TOUCHPAD: _bindgen_ty_21 = 1048584;
7570 pub const AINPUT_SOURCE_TOUCH_NAVIGATION: _bindgen_ty_21 = 2097152;
7571 pub const AINPUT_SOURCE_JOYSTICK: _bindgen_ty_21 = 16777232;
7572 pub const AINPUT_SOURCE_ROTARY_ENCODER: _bindgen_ty_21 = 4194304;
7573 pub const AINPUT_SOURCE_ANY: _bindgen_ty_21 = 4294967040;
7574 pub type _bindgen_ty_21 = u32;
7575 pub const AINPUT_KEYBOARD_TYPE_NONE: _bindgen_ty_22 = 0;
7576 pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: _bindgen_ty_22 = 1;
7577 pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: _bindgen_ty_22 = 2;
7578 pub type _bindgen_ty_22 = u32;
7579 pub const AINPUT_MOTION_RANGE_X: _bindgen_ty_23 = 0;
7580 pub const AINPUT_MOTION_RANGE_Y: _bindgen_ty_23 = 1;
7581 pub const AINPUT_MOTION_RANGE_PRESSURE: _bindgen_ty_23 = 2;
7582 pub const AINPUT_MOTION_RANGE_SIZE: _bindgen_ty_23 = 3;
7583 pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: _bindgen_ty_23 = 4;
7584 pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: _bindgen_ty_23 = 5;
7585 pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: _bindgen_ty_23 = 6;
7586 pub const AINPUT_MOTION_RANGE_TOOL_MINOR: _bindgen_ty_23 = 7;
7587 pub const AINPUT_MOTION_RANGE_ORIENTATION: _bindgen_ty_23 = 8;
7588 pub type _bindgen_ty_23 = u32;
7589 extern "C" {
AInputEvent_getType(event: *const AInputEvent) -> i327590     pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
7591 }
7592 extern "C" {
AInputEvent_getDeviceId(event: *const AInputEvent) -> i327593     pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
7594 }
7595 extern "C" {
AInputEvent_getSource(event: *const AInputEvent) -> i327596     pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
7597 }
7598 extern "C" {
AKeyEvent_getAction(key_event: *const AInputEvent) -> i327599     pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
7600 }
7601 extern "C" {
AKeyEvent_getFlags(key_event: *const AInputEvent) -> i327602     pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
7603 }
7604 extern "C" {
AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i327605     pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
7606 }
7607 extern "C" {
AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i327608     pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
7609 }
7610 extern "C" {
AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i327611     pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
7612 }
7613 extern "C" {
AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i327614     pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
7615 }
7616 extern "C" {
AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i647617     pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
7618 }
7619 extern "C" {
AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i647620     pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
7621 }
7622 extern "C" {
AMotionEvent_getAction(motion_event: *const AInputEvent) -> i327623     pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
7624 }
7625 extern "C" {
AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i327626     pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
7627 }
7628 extern "C" {
AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i327629     pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
7630 }
7631 extern "C" {
AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i327632     pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
7633 }
7634 extern "C" {
AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i327635     pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
7636 }
7637 extern "C" {
AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i647638     pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
7639 }
7640 extern "C" {
AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i647641     pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
7642 }
7643 extern "C" {
AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f327644     pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
7645 }
7646 extern "C" {
AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f327647     pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
7648 }
7649 extern "C" {
AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f327650     pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
7651 }
7652 extern "C" {
AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f327653     pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
7654 }
7655 extern "C" {
AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize7656     pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize;
7657 }
7658 extern "C" {
AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize) -> i327659     pub fn AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize)
7660         -> i32;
7661 }
7662 extern "C" {
AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i327663     pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i32;
7664 }
7665 extern "C" {
AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> f327666     pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7667 }
7668 extern "C" {
AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> f327669     pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7670 }
7671 extern "C" {
AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> f327672     pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7673 }
7674 extern "C" {
AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> f327675     pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7676 }
7677 extern "C" {
AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> f327678     pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7679 }
7680 extern "C" {
AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> f327681     pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7682 }
7683 extern "C" {
AMotionEvent_getTouchMajor( motion_event: *const AInputEvent, pointer_index: usize, ) -> f327684     pub fn AMotionEvent_getTouchMajor(
7685         motion_event: *const AInputEvent,
7686         pointer_index: usize,
7687     ) -> f32;
7688 }
7689 extern "C" {
AMotionEvent_getTouchMinor( motion_event: *const AInputEvent, pointer_index: usize, ) -> f327690     pub fn AMotionEvent_getTouchMinor(
7691         motion_event: *const AInputEvent,
7692         pointer_index: usize,
7693     ) -> f32;
7694 }
7695 extern "C" {
AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize) -> f327696     pub fn AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize)
7697         -> f32;
7698 }
7699 extern "C" {
AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize) -> f327700     pub fn AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize)
7701         -> f32;
7702 }
7703 extern "C" {
AMotionEvent_getOrientation( motion_event: *const AInputEvent, pointer_index: usize, ) -> f327704     pub fn AMotionEvent_getOrientation(
7705         motion_event: *const AInputEvent,
7706         pointer_index: usize,
7707     ) -> f32;
7708 }
7709 extern "C" {
AMotionEvent_getAxisValue( motion_event: *const AInputEvent, axis: i32, pointer_index: usize, ) -> f327710     pub fn AMotionEvent_getAxisValue(
7711         motion_event: *const AInputEvent,
7712         axis: i32,
7713         pointer_index: usize,
7714     ) -> f32;
7715 }
7716 extern "C" {
AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize7717     pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize;
7718 }
7719 extern "C" {
AMotionEvent_getHistoricalEventTime( motion_event: *const AInputEvent, history_index: usize, ) -> i647720     pub fn AMotionEvent_getHistoricalEventTime(
7721         motion_event: *const AInputEvent,
7722         history_index: usize,
7723     ) -> i64;
7724 }
7725 extern "C" {
AMotionEvent_getHistoricalRawX( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327726     pub fn AMotionEvent_getHistoricalRawX(
7727         motion_event: *const AInputEvent,
7728         pointer_index: usize,
7729         history_index: usize,
7730     ) -> f32;
7731 }
7732 extern "C" {
AMotionEvent_getHistoricalRawY( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327733     pub fn AMotionEvent_getHistoricalRawY(
7734         motion_event: *const AInputEvent,
7735         pointer_index: usize,
7736         history_index: usize,
7737     ) -> f32;
7738 }
7739 extern "C" {
AMotionEvent_getHistoricalX( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327740     pub fn AMotionEvent_getHistoricalX(
7741         motion_event: *const AInputEvent,
7742         pointer_index: usize,
7743         history_index: usize,
7744     ) -> f32;
7745 }
7746 extern "C" {
AMotionEvent_getHistoricalY( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327747     pub fn AMotionEvent_getHistoricalY(
7748         motion_event: *const AInputEvent,
7749         pointer_index: usize,
7750         history_index: usize,
7751     ) -> f32;
7752 }
7753 extern "C" {
AMotionEvent_getHistoricalPressure( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327754     pub fn AMotionEvent_getHistoricalPressure(
7755         motion_event: *const AInputEvent,
7756         pointer_index: usize,
7757         history_index: usize,
7758     ) -> f32;
7759 }
7760 extern "C" {
AMotionEvent_getHistoricalSize( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327761     pub fn AMotionEvent_getHistoricalSize(
7762         motion_event: *const AInputEvent,
7763         pointer_index: usize,
7764         history_index: usize,
7765     ) -> f32;
7766 }
7767 extern "C" {
AMotionEvent_getHistoricalTouchMajor( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327768     pub fn AMotionEvent_getHistoricalTouchMajor(
7769         motion_event: *const AInputEvent,
7770         pointer_index: usize,
7771         history_index: usize,
7772     ) -> f32;
7773 }
7774 extern "C" {
AMotionEvent_getHistoricalTouchMinor( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327775     pub fn AMotionEvent_getHistoricalTouchMinor(
7776         motion_event: *const AInputEvent,
7777         pointer_index: usize,
7778         history_index: usize,
7779     ) -> f32;
7780 }
7781 extern "C" {
AMotionEvent_getHistoricalToolMajor( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327782     pub fn AMotionEvent_getHistoricalToolMajor(
7783         motion_event: *const AInputEvent,
7784         pointer_index: usize,
7785         history_index: usize,
7786     ) -> f32;
7787 }
7788 extern "C" {
AMotionEvent_getHistoricalToolMinor( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327789     pub fn AMotionEvent_getHistoricalToolMinor(
7790         motion_event: *const AInputEvent,
7791         pointer_index: usize,
7792         history_index: usize,
7793     ) -> f32;
7794 }
7795 extern "C" {
AMotionEvent_getHistoricalOrientation( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327796     pub fn AMotionEvent_getHistoricalOrientation(
7797         motion_event: *const AInputEvent,
7798         pointer_index: usize,
7799         history_index: usize,
7800     ) -> f32;
7801 }
7802 extern "C" {
AMotionEvent_getHistoricalAxisValue( motion_event: *const AInputEvent, axis: i32, pointer_index: usize, history_index: usize, ) -> f327803     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)]
7812 pub struct AInputQueue {
7813     _unused: [u8; 0],
7814 }
7815 extern "C" {
AInputQueue_attachLooper( queue: *mut AInputQueue, looper: *mut ALooper, ident: ::std::os::raw::c_int, callback: ALooper_callbackFunc, data: *mut ::std::os::raw::c_void, )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 }
7824 extern "C" {
AInputQueue_detachLooper(queue: *mut AInputQueue)7825     pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
7826 }
7827 extern "C" {
AInputQueue_hasEvents(queue: *mut AInputQueue) -> i327828     pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
7829 }
7830 extern "C" {
AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i327831     pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
7832 }
7833 extern "C" {
AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i327834     pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
7835 }
7836 extern "C" {
AInputQueue_finishEvent( queue: *mut AInputQueue, event: *mut AInputEvent, handled: ::std::os::raw::c_int, )7837     pub fn AInputQueue_finishEvent(
7838         queue: *mut AInputQueue,
7839         event: *mut AInputEvent,
7840         handled: ::std::os::raw::c_int,
7841     );
7842 }
7843 pub const android_LogPriority_ANDROID_LOG_UNKNOWN: android_LogPriority = 0;
7844 pub const android_LogPriority_ANDROID_LOG_DEFAULT: android_LogPriority = 1;
7845 pub const android_LogPriority_ANDROID_LOG_VERBOSE: android_LogPriority = 2;
7846 pub const android_LogPriority_ANDROID_LOG_DEBUG: android_LogPriority = 3;
7847 pub const android_LogPriority_ANDROID_LOG_INFO: android_LogPriority = 4;
7848 pub const android_LogPriority_ANDROID_LOG_WARN: android_LogPriority = 5;
7849 pub const android_LogPriority_ANDROID_LOG_ERROR: android_LogPriority = 6;
7850 pub const android_LogPriority_ANDROID_LOG_FATAL: android_LogPriority = 7;
7851 pub const android_LogPriority_ANDROID_LOG_SILENT: android_LogPriority = 8;
7852 pub type android_LogPriority = u32;
7853 extern "C" {
__android_log_write( prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, text: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int7854     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 }
7860 extern "C" {
__android_log_print( prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int7861     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 }
7868 extern "C" {
__android_log_vprint( prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, fmt: *const ::std::os::raw::c_char, ap: va_list, ) -> ::std::os::raw::c_int7869     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 }
7876 extern "C" {
__android_log_assert( cond: *const ::std::os::raw::c_char, tag: *const ::std::os::raw::c_char, fmt: *const ::std::os::raw::c_char, ... )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 }
7884 pub const log_id_LOG_ID_MIN: log_id = 0;
7885 pub const log_id_LOG_ID_MAIN: log_id = 0;
7886 pub const log_id_LOG_ID_RADIO: log_id = 1;
7887 pub const log_id_LOG_ID_EVENTS: log_id = 2;
7888 pub const log_id_LOG_ID_SYSTEM: log_id = 3;
7889 pub const log_id_LOG_ID_CRASH: log_id = 4;
7890 pub const log_id_LOG_ID_STATS: log_id = 5;
7891 pub const log_id_LOG_ID_SECURITY: log_id = 6;
7892 pub const log_id_LOG_ID_KERNEL: log_id = 7;
7893 pub const log_id_LOG_ID_MAX: log_id = 8;
7894 pub type log_id = u32;
7895 pub use self::log_id as log_id_t;
7896 extern "C" {
__android_log_buf_write( bufID: ::std::os::raw::c_int, prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, text: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int7897     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 }
7904 extern "C" {
__android_log_buf_print( bufID: ::std::os::raw::c_int, prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int7905     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 }
7913 pub type __kernel_sa_family_t = ::std::os::raw::c_ushort;
7914 #[repr(C)]
7915 #[repr(align(4))]
7916 #[derive(Copy, Clone)]
7917 pub struct sockaddr_storage {
7918     pub ss_family: __kernel_sa_family_t,
7919     pub __data: [::std::os::raw::c_char; 126usize],
7920 }
7921 #[test]
bindgen_test_layout_sockaddr_storage()7922 fn 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)]
7956 pub struct f_owner_ex {
7957     pub type_: ::std::os::raw::c_int,
7958     pub pid: __kernel_pid_t,
7959 }
7960 #[test]
bindgen_test_layout_f_owner_ex()7961 fn 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)]
7995 pub 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]
bindgen_test_layout_flock()8003 fn 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)]
8067 pub 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]
bindgen_test_layout_flock64()8077 fn 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)]
8141 pub struct iovec {
8142     pub iov_base: *mut ::std::os::raw::c_void,
8143     pub iov_len: __kernel_size_t,
8144 }
8145 #[test]
bindgen_test_layout_iovec()8146 fn 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 }
8178 pub type sa_family_t = ::std::os::raw::c_ushort;
8179 #[repr(C)]
8180 #[derive(Debug, Copy, Clone)]
8181 pub struct timespec {
8182     _unused: [u8; 0],
8183 }
8184 pub const SHUT_RD: _bindgen_ty_24 = 0;
8185 pub const SHUT_WR: _bindgen_ty_24 = 1;
8186 pub const SHUT_RDWR: _bindgen_ty_24 = 2;
8187 pub type _bindgen_ty_24 = u32;
8188 #[repr(C)]
8189 #[derive(Debug, Copy, Clone)]
8190 pub struct sockaddr {
8191     pub sa_family: sa_family_t,
8192     pub sa_data: [::std::os::raw::c_char; 14usize],
8193 }
8194 #[test]
bindgen_test_layout_sockaddr()8195 fn 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)]
8229 pub struct linger {
8230     pub l_onoff: ::std::os::raw::c_int,
8231     pub l_linger: ::std::os::raw::c_int,
8232 }
8233 #[test]
bindgen_test_layout_linger()8234 fn 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)]
8268 pub 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]
bindgen_test_layout_msghdr()8278 fn 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)]
8362 pub struct mmsghdr {
8363     pub msg_hdr: msghdr,
8364     pub msg_len: ::std::os::raw::c_uint,
8365 }
8366 #[test]
bindgen_test_layout_mmsghdr()8367 fn 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)]
8401 pub 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]
bindgen_test_layout_cmsghdr()8407 fn 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 }
8449 extern "C" {
__cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr8450     pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
8451 }
8452 #[repr(C)]
8453 #[derive(Debug, Copy, Clone)]
8454 pub struct ucred {
8455     pub pid: pid_t,
8456     pub uid: uid_t,
8457     pub gid: gid_t,
8458 }
8459 #[test]
bindgen_test_layout_ucred()8460 fn 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 }
8502 extern "C" {
accept( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, ) -> ::std::os::raw::c_int8503     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 }
8509 extern "C" {
accept4( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8510     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 }
8517 extern "C" {
bind( __fd: ::std::os::raw::c_int, __addr: *const sockaddr, __addr_length: socklen_t, ) -> ::std::os::raw::c_int8518     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 }
8524 extern "C" {
connect( __fd: ::std::os::raw::c_int, __addr: *const sockaddr, __addr_length: socklen_t, ) -> ::std::os::raw::c_int8525     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 }
8531 extern "C" {
getpeername( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, ) -> ::std::os::raw::c_int8532     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 }
8538 extern "C" {
getsockname( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, ) -> ::std::os::raw::c_int8539     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 }
8545 extern "C" {
getsockopt( __fd: ::std::os::raw::c_int, __level: ::std::os::raw::c_int, __option: ::std::os::raw::c_int, __value: *mut ::std::os::raw::c_void, __value_length: *mut socklen_t, ) -> ::std::os::raw::c_int8546     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 }
8554 extern "C" {
listen( __fd: ::std::os::raw::c_int, __backlog: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8555     pub fn listen(
8556         __fd: ::std::os::raw::c_int,
8557         __backlog: ::std::os::raw::c_int,
8558     ) -> ::std::os::raw::c_int;
8559 }
8560 extern "C" {
recvmmsg( __fd: ::std::os::raw::c_int, __msgs: *mut mmsghdr, __msg_count: ::std::os::raw::c_uint, __flags: ::std::os::raw::c_int, __timeout: *const timespec, ) -> ::std::os::raw::c_int8561     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 }
8569 extern "C" {
recvmsg( __fd: ::std::os::raw::c_int, __msg: *mut msghdr, __flags: ::std::os::raw::c_int, ) -> isize8570     pub fn recvmsg(
8571         __fd: ::std::os::raw::c_int,
8572         __msg: *mut msghdr,
8573         __flags: ::std::os::raw::c_int,
8574     ) -> isize;
8575 }
8576 extern "C" {
sendmmsg( __fd: ::std::os::raw::c_int, __msgs: *const mmsghdr, __msg_count: ::std::os::raw::c_uint, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8577     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 }
8584 extern "C" {
sendmsg( __fd: ::std::os::raw::c_int, __msg: *const msghdr, __flags: ::std::os::raw::c_int, ) -> isize8585     pub fn sendmsg(
8586         __fd: ::std::os::raw::c_int,
8587         __msg: *const msghdr,
8588         __flags: ::std::os::raw::c_int,
8589     ) -> isize;
8590 }
8591 extern "C" {
setsockopt( __fd: ::std::os::raw::c_int, __level: ::std::os::raw::c_int, __option: ::std::os::raw::c_int, __value: *const ::std::os::raw::c_void, __value_length: socklen_t, ) -> ::std::os::raw::c_int8592     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 }
8600 extern "C" {
shutdown( __fd: ::std::os::raw::c_int, __how: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8601     pub fn shutdown(
8602         __fd: ::std::os::raw::c_int,
8603         __how: ::std::os::raw::c_int,
8604     ) -> ::std::os::raw::c_int;
8605 }
8606 extern "C" {
socket( __af: ::std::os::raw::c_int, __type: ::std::os::raw::c_int, __protocol: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8607     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 }
8613 extern "C" {
socketpair( __af: ::std::os::raw::c_int, __type: ::std::os::raw::c_int, __protocol: ::std::os::raw::c_int, __fds: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8614     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 }
8621 extern "C" {
recv( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, ) -> isize8622     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 }
8629 extern "C" {
send( __fd: ::std::os::raw::c_int, __buf: *const ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, ) -> isize8630     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 }
8637 extern "C" {
sendto( __fd: ::std::os::raw::c_int, __buf: *const ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, __dst_addr: *const sockaddr, __dst_addr_length: socklen_t, ) -> isize8638     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 }
8647 extern "C" {
recvfrom( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, __src_addr: *mut sockaddr, __src_addr_length: *mut socklen_t, ) -> isize8648     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)]
8659 pub 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]
bindgen_test_layout_hostent()8667 fn 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)]
8731 pub 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]
bindgen_test_layout_netent()8738 fn 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)]
8792 pub 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]
bindgen_test_layout_servent()8799 fn 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)]
8853 pub 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]
bindgen_test_layout_protoent()8859 fn 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)]
8903 pub 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]
bindgen_test_layout_addrinfo()8914 fn 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 }
9006 extern "C" {
getaddrinfo( __node: *const ::std::os::raw::c_char, __service: *const ::std::os::raw::c_char, __hints: *const addrinfo, __result: *mut *mut addrinfo, ) -> ::std::os::raw::c_int9007     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 }
9014 extern "C" {
freeaddrinfo(__ptr: *mut addrinfo)9015     pub fn freeaddrinfo(__ptr: *mut addrinfo);
9016 }
9017 extern "C" {
getnameinfo( __sa: *const sockaddr, __sa_length: socklen_t, __host: *mut ::std::os::raw::c_char, __host_length: usize, __service: *mut ::std::os::raw::c_char, __service_length: usize, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9018     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 }
9028 extern "C" {
gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char9029     pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9030 }
9031 extern "C" {
__get_h_errno() -> *mut ::std::os::raw::c_int9032     pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
9033 }
9034 extern "C" {
herror(__s: *const ::std::os::raw::c_char)9035     pub fn herror(__s: *const ::std::os::raw::c_char);
9036 }
9037 extern "C" {
hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char9038     pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9039 }
9040 extern "C" {
gethostbyaddr( __addr: *const ::std::os::raw::c_void, __length: socklen_t, __type: ::std::os::raw::c_int, ) -> *mut hostent9041     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 }
9047 extern "C" {
gethostbyaddr_r( __addr: *const ::std::os::raw::c_void, __length: socklen_t, __type: ::std::os::raw::c_int, __ret: *mut hostent, __buf: *mut ::std::os::raw::c_char, __buf_size: usize, __result: *mut *mut hostent, __h_errno_ptr: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9048     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 }
9059 extern "C" {
gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent9060     pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
9061 }
9062 extern "C" {
gethostbyname_r( __name: *const ::std::os::raw::c_char, __ret: *mut hostent, __buf: *mut ::std::os::raw::c_char, __buf_size: usize, __result: *mut *mut hostent, __h_errno_ptr: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9063     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 }
9072 extern "C" {
gethostbyname2( __name: *const ::std::os::raw::c_char, __af: ::std::os::raw::c_int, ) -> *mut hostent9073     pub fn gethostbyname2(
9074         __name: *const ::std::os::raw::c_char,
9075         __af: ::std::os::raw::c_int,
9076     ) -> *mut hostent;
9077 }
9078 extern "C" {
gethostbyname2_r( __name: *const ::std::os::raw::c_char, __af: ::std::os::raw::c_int, __ret: *mut hostent, __buf: *mut ::std::os::raw::c_char, __buf_size: usize, __result: *mut *mut hostent, __h_errno_ptr: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9079     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 }
9089 extern "C" {
endhostent()9090     pub fn endhostent();
9091 }
9092 extern "C" {
gethostent() -> *mut hostent9093     pub fn gethostent() -> *mut hostent;
9094 }
9095 extern "C" {
sethostent(__stay_open: ::std::os::raw::c_int)9096     pub fn sethostent(__stay_open: ::std::os::raw::c_int);
9097 }
9098 extern "C" {
endnetent()9099     pub fn endnetent();
9100 }
9101 extern "C" {
getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent9102     pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
9103 }
9104 extern "C" {
getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent9105     pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
9106 }
9107 extern "C" {
getnetent() -> *mut netent9108     pub fn getnetent() -> *mut netent;
9109 }
9110 extern "C" {
setnetent(__stay_open: ::std::os::raw::c_int)9111     pub fn setnetent(__stay_open: ::std::os::raw::c_int);
9112 }
9113 extern "C" {
endprotoent()9114     pub fn endprotoent();
9115 }
9116 extern "C" {
getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent9117     pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
9118 }
9119 extern "C" {
getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent9120     pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
9121 }
9122 extern "C" {
getprotoent() -> *mut protoent9123     pub fn getprotoent() -> *mut protoent;
9124 }
9125 extern "C" {
setprotoent(__stay_open: ::std::os::raw::c_int)9126     pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
9127 }
9128 extern "C" {
endservent()9129     pub fn endservent();
9130 }
9131 extern "C" {
getservbyname( __name: *const ::std::os::raw::c_char, __proto: *const ::std::os::raw::c_char, ) -> *mut servent9132     pub fn getservbyname(
9133         __name: *const ::std::os::raw::c_char,
9134         __proto: *const ::std::os::raw::c_char,
9135     ) -> *mut servent;
9136 }
9137 extern "C" {
getservbyport( __port_in_network_order: ::std::os::raw::c_int, __proto: *const ::std::os::raw::c_char, ) -> *mut servent9138     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 }
9143 extern "C" {
getservent() -> *mut servent9144     pub fn getservent() -> *mut servent;
9145 }
9146 extern "C" {
setservent(__stay_open: ::std::os::raw::c_int)9147     pub fn setservent(__stay_open: ::std::os::raw::c_int);
9148 }
9149 pub type fpos_t = off_t;
9150 pub type fpos64_t = off64_t;
9151 #[repr(C)]
9152 #[derive(Debug, Copy, Clone)]
9153 pub struct __sFILE {
9154     _unused: [u8; 0],
9155 }
9156 pub type FILE = __sFILE;
9157 extern "C" {
9158     pub static mut stdin: *mut FILE;
9159 }
9160 extern "C" {
9161     pub static mut stdout: *mut FILE;
9162 }
9163 extern "C" {
9164     pub static mut stderr: *mut FILE;
9165 }
9166 extern "C" {
clearerr(__fp: *mut FILE)9167     pub fn clearerr(__fp: *mut FILE);
9168 }
9169 extern "C" {
fclose(__fp: *mut FILE) -> ::std::os::raw::c_int9170     pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
9171 }
9172 extern "C" {
feof(__fp: *mut FILE) -> ::std::os::raw::c_int9173     pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
9174 }
9175 extern "C" {
ferror(__fp: *mut FILE) -> ::std::os::raw::c_int9176     pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
9177 }
9178 extern "C" {
fflush(__fp: *mut FILE) -> ::std::os::raw::c_int9179     pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
9180 }
9181 extern "C" {
fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int9182     pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9183 }
9184 extern "C" {
fgets( __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_int, __fp: *mut FILE, ) -> *mut ::std::os::raw::c_char9185     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 }
9191 extern "C" {
fprintf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9192     pub fn fprintf(
9193         __fp: *mut FILE,
9194         __fmt: *const ::std::os::raw::c_char,
9195         ...
9196     ) -> ::std::os::raw::c_int;
9197 }
9198 extern "C" {
fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9199     pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9200 }
9201 extern "C" {
fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int9202     pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
9203 }
9204 extern "C" {
fread( __buf: *mut ::std::os::raw::c_void, __size: ::std::os::raw::c_uint, __count: ::std::os::raw::c_uint, __fp: *mut FILE, ) -> ::std::os::raw::c_uint9205     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 }
9212 extern "C" {
fscanf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9213     pub fn fscanf(
9214         __fp: *mut FILE,
9215         __fmt: *const ::std::os::raw::c_char,
9216         ...
9217     ) -> ::std::os::raw::c_int;
9218 }
9219 extern "C" {
fwrite( __buf: *const ::std::os::raw::c_void, __size: ::std::os::raw::c_uint, __count: ::std::os::raw::c_uint, __fp: *mut FILE, ) -> ::std::os::raw::c_uint9220     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 }
9227 extern "C" {
getc(__fp: *mut FILE) -> ::std::os::raw::c_int9228     pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9229 }
9230 extern "C" {
getchar() -> ::std::os::raw::c_int9231     pub fn getchar() -> ::std::os::raw::c_int;
9232 }
9233 extern "C" {
getdelim( __line_ptr: *mut *mut ::std::os::raw::c_char, __line_length_ptr: *mut usize, __delimiter: ::std::os::raw::c_int, __fp: *mut FILE, ) -> isize9234     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 }
9241 extern "C" {
getline( __line_ptr: *mut *mut ::std::os::raw::c_char, __line_length_ptr: *mut usize, __fp: *mut FILE, ) -> isize9242     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 }
9248 extern "C" {
perror(__msg: *const ::std::os::raw::c_char)9249     pub fn perror(__msg: *const ::std::os::raw::c_char);
9250 }
9251 extern "C" {
printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int9252     pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9253 }
9254 extern "C" {
putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9255     pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9256 }
9257 extern "C" {
putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int9258     pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9259 }
9260 extern "C" {
puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9261     pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9262 }
9263 extern "C" {
remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9264     pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9265 }
9266 extern "C" {
rewind(__fp: *mut FILE)9267     pub fn rewind(__fp: *mut FILE);
9268 }
9269 extern "C" {
scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int9270     pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9271 }
9272 extern "C" {
setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char)9273     pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
9274 }
9275 extern "C" {
setvbuf( __fp: *mut FILE, __buf: *mut ::std::os::raw::c_char, __mode: ::std::os::raw::c_int, __size: usize, ) -> ::std::os::raw::c_int9276     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 }
9283 extern "C" {
sscanf( __s: *const ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9284     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 }
9290 extern "C" {
ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9291     pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9292 }
9293 extern "C" {
vfprintf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9294     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 }
9300 extern "C" {
vprintf( __fp: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9301     pub fn vprintf(
9302         __fp: *const ::std::os::raw::c_char,
9303         __args: __builtin_va_list,
9304     ) -> ::std::os::raw::c_int;
9305 }
9306 extern "C" {
dprintf( __fd: ::std::os::raw::c_int, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9307     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 }
9313 extern "C" {
vdprintf( __fd: ::std::os::raw::c_int, __fmt: *const ::std::os::raw::c_char, __args: va_list, ) -> ::std::os::raw::c_int9314     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 }
9320 extern "C" {
sprintf( __s: *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9321     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 }
9327 extern "C" {
vsprintf( __s: *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9328     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 }
9334 extern "C" {
tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9335     pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9336 }
9337 extern "C" {
tempnam( __dir: *const ::std::os::raw::c_char, __prefix: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char9338     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 }
9343 extern "C" {
rename( __old_path: *const ::std::os::raw::c_char, __new_path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int9344     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 }
9349 extern "C" {
renameat( __old_dir_fd: ::std::os::raw::c_int, __old_path: *const ::std::os::raw::c_char, __new_dir_fd: ::std::os::raw::c_int, __new_path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int9350     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 }
9357 extern "C" {
fseek( __fp: *mut FILE, __offset: ::std::os::raw::c_long, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9358     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 }
9364 extern "C" {
ftell(__fp: *mut FILE) -> ::std::os::raw::c_long9365     pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
9366 }
9367 extern "C" {
fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int9368     pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
9369 }
9370 extern "C" {
fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int9371     pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
9372 }
9373 extern "C" {
fseeko( __fp: *mut FILE, __offset: off_t, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9374     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 }
9380 extern "C" {
ftello(__fp: *mut FILE) -> off_t9381     pub fn ftello(__fp: *mut FILE) -> off_t;
9382 }
9383 extern "C" {
fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int9384     pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
9385 }
9386 extern "C" {
fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int9387     pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
9388 }
9389 extern "C" {
fseeko64( __fp: *mut FILE, __offset: off64_t, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9390     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 }
9396 extern "C" {
ftello64(__fp: *mut FILE) -> off64_t9397     pub fn ftello64(__fp: *mut FILE) -> off64_t;
9398 }
9399 extern "C" {
fopen( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9400     pub fn fopen(
9401         __path: *const ::std::os::raw::c_char,
9402         __mode: *const ::std::os::raw::c_char,
9403     ) -> *mut FILE;
9404 }
9405 extern "C" {
fopen64( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9406     pub fn fopen64(
9407         __path: *const ::std::os::raw::c_char,
9408         __mode: *const ::std::os::raw::c_char,
9409     ) -> *mut FILE;
9410 }
9411 extern "C" {
freopen( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, __fp: *mut FILE, ) -> *mut FILE9412     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 }
9418 extern "C" {
freopen64( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, __fp: *mut FILE, ) -> *mut FILE9419     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 }
9425 extern "C" {
tmpfile() -> *mut FILE9426     pub fn tmpfile() -> *mut FILE;
9427 }
9428 extern "C" {
tmpfile64() -> *mut FILE9429     pub fn tmpfile64() -> *mut FILE;
9430 }
9431 extern "C" {
snprintf( __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_uint, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9432     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 }
9439 extern "C" {
vfscanf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9440     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 }
9446 extern "C" {
vscanf( __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9447     pub fn vscanf(
9448         __fmt: *const ::std::os::raw::c_char,
9449         __args: __builtin_va_list,
9450     ) -> ::std::os::raw::c_int;
9451 }
9452 extern "C" {
vsnprintf( __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_uint, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9453     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 }
9460 extern "C" {
vsscanf( __s: *const ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9461     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 }
9467 extern "C" {
ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9468     pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9469 }
9470 extern "C" {
fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE9471     pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
9472 }
9473 extern "C" {
fileno(__fp: *mut FILE) -> ::std::os::raw::c_int9474     pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
9475 }
9476 extern "C" {
pclose(__fp: *mut FILE) -> ::std::os::raw::c_int9477     pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
9478 }
9479 extern "C" {
popen( __command: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9480     pub fn popen(
9481         __command: *const ::std::os::raw::c_char,
9482         __mode: *const ::std::os::raw::c_char,
9483     ) -> *mut FILE;
9484 }
9485 extern "C" {
flockfile(__fp: *mut FILE)9486     pub fn flockfile(__fp: *mut FILE);
9487 }
9488 extern "C" {
ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int9489     pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
9490 }
9491 extern "C" {
funlockfile(__fp: *mut FILE)9492     pub fn funlockfile(__fp: *mut FILE);
9493 }
9494 extern "C" {
getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int9495     pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9496 }
9497 extern "C" {
getchar_unlocked() -> ::std::os::raw::c_int9498     pub fn getchar_unlocked() -> ::std::os::raw::c_int;
9499 }
9500 extern "C" {
putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9501     pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9502 }
9503 extern "C" {
putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int9504     pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9505 }
9506 extern "C" {
fmemopen( __buf: *mut ::std::os::raw::c_void, __size: usize, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9507     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 }
9513 extern "C" {
open_memstream( __ptr: *mut *mut ::std::os::raw::c_char, __size_ptr: *mut usize, ) -> *mut FILE9514     pub fn open_memstream(
9515         __ptr: *mut *mut ::std::os::raw::c_char,
9516         __size_ptr: *mut usize,
9517     ) -> *mut FILE;
9518 }
9519 extern "C" {
asprintf( __s_ptr: *mut *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9520     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 }
9526 extern "C" {
fgetln(__fp: *mut FILE, __length_ptr: *mut usize) -> *mut ::std::os::raw::c_char9527     pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut usize) -> *mut ::std::os::raw::c_char;
9528 }
9529 extern "C" {
fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int9530     pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
9531 }
9532 extern "C" {
setbuffer( __fp: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_int, )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 }
9539 extern "C" {
setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int9540     pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
9541 }
9542 extern "C" {
vasprintf( __s_ptr: *mut *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, __args: va_list, ) -> ::std::os::raw::c_int9543     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 }
9549 extern "C" {
clearerr_unlocked(__fp: *mut FILE)9550     pub fn clearerr_unlocked(__fp: *mut FILE);
9551 }
9552 extern "C" {
feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int9553     pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9554 }
9555 extern "C" {
ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int9556     pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9557 }
9558 extern "C" {
fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int9559     pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9560 }
9561 extern "C" {
malloc(__byte_count: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void9562     pub fn malloc(__byte_count: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
9563 }
9564 extern "C" {
calloc( __item_count: ::std::os::raw::c_uint, __item_size: ::std::os::raw::c_uint, ) -> *mut ::std::os::raw::c_void9565     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 }
9570 extern "C" {
realloc( __ptr: *mut ::std::os::raw::c_void, __byte_count: ::std::os::raw::c_uint, ) -> *mut ::std::os::raw::c_void9571     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 }
9576 extern "C" {
reallocarray( __ptr: *mut ::std::os::raw::c_void, __item_count: usize, __item_size: usize, ) -> *mut ::std::os::raw::c_void9577     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 }
9583 extern "C" {
free(__ptr: *mut ::std::os::raw::c_void)9584     pub fn free(__ptr: *mut ::std::os::raw::c_void);
9585 }
9586 extern "C" {
memalign(__alignment: usize, __byte_count: usize) -> *mut ::std::os::raw::c_void9587     pub fn memalign(__alignment: usize, __byte_count: usize) -> *mut ::std::os::raw::c_void;
9588 }
9589 extern "C" {
malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> usize9590     pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> usize;
9591 }
9592 #[repr(C)]
9593 #[derive(Debug, Copy, Clone)]
9594 pub 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]
bindgen_test_layout_mallinfo()9607 fn 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 }
9719 extern "C" {
mallinfo() -> mallinfo9720     pub fn mallinfo() -> mallinfo;
9721 }
9722 extern "C" {
malloc_info( __must_be_zero: ::std::os::raw::c_int, __fp: *mut FILE, ) -> ::std::os::raw::c_int9723     pub fn malloc_info(
9724         __must_be_zero: ::std::os::raw::c_int,
9725         __fp: *mut FILE,
9726     ) -> ::std::os::raw::c_int;
9727 }
9728 extern "C" {
mallopt( __option: ::std::os::raw::c_int, __value: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9729     pub fn mallopt(
9730         __option: ::std::os::raw::c_int,
9731         __value: ::std::os::raw::c_int,
9732     ) -> ::std::os::raw::c_int;
9733 }
9734 extern "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 }
9742 extern "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 }
9751 extern "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 }
9759 extern "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)]
9770 pub struct __locale_t {
9771     _unused: [u8; 0],
9772 }
9773 pub type locale_t = *mut __locale_t;
9774 extern "C" {
abort()9775     pub fn abort();
9776 }
9777 extern "C" {
exit(__status: ::std::os::raw::c_int)9778     pub fn exit(__status: ::std::os::raw::c_int);
9779 }
9780 extern "C" {
_Exit(__status: ::std::os::raw::c_int)9781     pub fn _Exit(__status: ::std::os::raw::c_int);
9782 }
9783 extern "C" {
atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int9784     pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
9785 }
9786 extern "C" {
at_quick_exit( __fn: ::std::option::Option<unsafe extern "C" fn()>, ) -> ::std::os::raw::c_int9787     pub fn at_quick_exit(
9788         __fn: ::std::option::Option<unsafe extern "C" fn()>,
9789     ) -> ::std::os::raw::c_int;
9790 }
9791 extern "C" {
quick_exit(__status: ::std::os::raw::c_int)9792     pub fn quick_exit(__status: ::std::os::raw::c_int);
9793 }
9794 extern "C" {
getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9795     pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9796 }
9797 extern "C" {
putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int9798     pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9799 }
9800 extern "C" {
setenv( __name: *const ::std::os::raw::c_char, __value: *const ::std::os::raw::c_char, __overwrite: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9801     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 }
9807 extern "C" {
unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9808     pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9809 }
9810 extern "C" {
clearenv() -> ::std::os::raw::c_int9811     pub fn clearenv() -> ::std::os::raw::c_int;
9812 }
9813 extern "C" {
mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9814     pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9815 }
9816 extern "C" {
mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9817     pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9818 }
9819 extern "C" {
mkostemp64( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9820     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 }
9825 extern "C" {
mkostemp( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9826     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 }
9831 extern "C" {
mkostemps64( __template: *mut ::std::os::raw::c_char, __suffix_length: ::std::os::raw::c_int, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9832     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 }
9838 extern "C" {
mkostemps( __template: *mut ::std::os::raw::c_char, __suffix_length: ::std::os::raw::c_int, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9839     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 }
9845 extern "C" {
mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int9846     pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9847 }
9848 extern "C" {
mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int9849     pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9850 }
9851 extern "C" {
mkstemps64( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9852     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 }
9857 extern "C" {
mkstemps( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9858     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 }
9863 extern "C" {
strtol( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_long9864     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 }
9870 extern "C" {
strtoll( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_longlong9871     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 }
9877 extern "C" {
strtoul( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_ulong9878     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 }
9884 extern "C" {
strtoull( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_ulonglong9885     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 }
9891 extern "C" {
posix_memalign( __memptr: *mut *mut ::std::os::raw::c_void, __alignment: usize, __size: usize, ) -> ::std::os::raw::c_int9892     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 }
9898 extern "C" {
aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void9899     pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
9900 }
9901 extern "C" {
strtod( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, ) -> f649902     pub fn strtod(
9903         __s: *const ::std::os::raw::c_char,
9904         __end_ptr: *mut *mut ::std::os::raw::c_char,
9905     ) -> f64;
9906 }
9907 extern "C" {
strtoul_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, __l: locale_t, ) -> ::std::os::raw::c_ulong9908     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 }
9915 extern "C" {
atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9916     pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9917 }
9918 extern "C" {
atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long9919     pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
9920 }
9921 extern "C" {
atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong9922     pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
9923 }
9924 extern "C" {
realpath( __path: *const ::std::os::raw::c_char, __resolved: *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char9925     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 }
9930 extern "C" {
system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9931     pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9932 }
9933 extern "C" {
bsearch( __key: *const ::std::os::raw::c_void, __base: *const ::std::os::raw::c_void, __nmemb: usize, __size: usize, __comparator: ::std::option::Option< unsafe extern "C" fn( __lhs: *const ::std::os::raw::c_void, __rhs: *const ::std::os::raw::c_void, ) -> ::std::os::raw::c_int, >, ) -> *mut ::std::os::raw::c_void9934     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 }
9947 extern "C" {
qsort( __base: *mut ::std::os::raw::c_void, __nmemb: usize, __size: usize, __comparator: ::std::option::Option< unsafe extern "C" fn( __lhs: *const ::std::os::raw::c_void, __rhs: *const ::std::os::raw::c_void, ) -> ::std::os::raw::c_int, >, )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 }
9960 extern "C" {
arc4random() -> u329961     pub fn arc4random() -> u32;
9962 }
9963 extern "C" {
arc4random_uniform(__upper_bound: u32) -> u329964     pub fn arc4random_uniform(__upper_bound: u32) -> u32;
9965 }
9966 extern "C" {
arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: usize)9967     pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: usize);
9968 }
9969 extern "C" {
rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int9970     pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
9971 }
9972 extern "C" {
drand48() -> f649973     pub fn drand48() -> f64;
9974 }
9975 extern "C" {
erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f649976     pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
9977 }
9978 extern "C" {
jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long9979     pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
9980 }
9981 extern "C" {
lcong48(__param: *mut ::std::os::raw::c_ushort)9982     pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
9983 }
9984 extern "C" {
lrand48() -> ::std::os::raw::c_long9985     pub fn lrand48() -> ::std::os::raw::c_long;
9986 }
9987 extern "C" {
mrand48() -> ::std::os::raw::c_long9988     pub fn mrand48() -> ::std::os::raw::c_long;
9989 }
9990 extern "C" {
nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long9991     pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
9992 }
9993 extern "C" {
seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort9994     pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
9995 }
9996 extern "C" {
srand48(__seed: ::std::os::raw::c_long)9997     pub fn srand48(__seed: ::std::os::raw::c_long);
9998 }
9999 extern "C" {
initstate( __seed: ::std::os::raw::c_uint, __state: *mut ::std::os::raw::c_char, __n: usize, ) -> *mut ::std::os::raw::c_char10000     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 }
10006 extern "C" {
setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char10007     pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10008 }
10009 extern "C" {
getpt() -> ::std::os::raw::c_int10010     pub fn getpt() -> ::std::os::raw::c_int;
10011 }
10012 extern "C" {
posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int10013     pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10014 }
10015 extern "C" {
ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char10016     pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
10017 }
10018 extern "C" {
ptsname_r( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_char, __n: usize, ) -> ::std::os::raw::c_int10019     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 }
10025 extern "C" {
unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int10026     pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10027 }
10028 extern "C" {
getsubopt( __option: *mut *mut ::std::os::raw::c_char, __tokens: *const *mut ::std::os::raw::c_char, __value_ptr: *mut *mut ::std::os::raw::c_char, ) -> ::std::os::raw::c_int10029     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)]
10037 pub struct div_t {
10038     pub quot: ::std::os::raw::c_int,
10039     pub rem: ::std::os::raw::c_int,
10040 }
10041 #[test]
bindgen_test_layout_div_t()10042 fn 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 }
10074 extern "C" {
div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t10075     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)]
10079 pub struct ldiv_t {
10080     pub quot: ::std::os::raw::c_long,
10081     pub rem: ::std::os::raw::c_long,
10082 }
10083 #[test]
bindgen_test_layout_ldiv_t()10084 fn 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 }
10116 extern "C" {
ldiv( __numerator: ::std::os::raw::c_long, __denominator: ::std::os::raw::c_long, ) -> ldiv_t10117     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)]
10124 pub struct lldiv_t {
10125     pub quot: ::std::os::raw::c_longlong,
10126     pub rem: ::std::os::raw::c_longlong,
10127 }
10128 #[test]
bindgen_test_layout_lldiv_t()10129 fn 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 }
10161 extern "C" {
lldiv( __numerator: ::std::os::raw::c_longlong, __denominator: ::std::os::raw::c_longlong, ) -> lldiv_t10162     pub fn lldiv(
10163         __numerator: ::std::os::raw::c_longlong,
10164         __denominator: ::std::os::raw::c_longlong,
10165     ) -> lldiv_t;
10166 }
10167 extern "C" {
getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int10168     pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10169 }
10170 extern "C" {
getprogname() -> *const ::std::os::raw::c_char10171     pub fn getprogname() -> *const ::std::os::raw::c_char;
10172 }
10173 extern "C" {
setprogname(__name: *const ::std::os::raw::c_char)10174     pub fn setprogname(__name: *const ::std::os::raw::c_char);
10175 }
10176 extern "C" {
mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int10177     pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
10178 }
10179 extern "C" {
mbstowcs(__dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: usize) -> usize10180     pub fn mbstowcs(__dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: usize)
10181         -> usize;
10182 }
10183 extern "C" {
mbtowc( __wc_ptr: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize, ) -> ::std::os::raw::c_int10184     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 }
10190 extern "C" {
wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int10191     pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
10192 }
10193 extern "C" {
wcstombs(__dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: usize) -> usize10194     pub fn wcstombs(__dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: usize)
10195         -> usize;
10196 }
10197 extern "C" {
__ctype_get_mb_cur_max() -> usize10198     pub fn __ctype_get_mb_cur_max() -> usize;
10199 }
10200 extern "C" {
abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int10201     pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10202 }
10203 extern "C" {
labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long10204     pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
10205 }
10206 extern "C" {
llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong10207     pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
10208 }
10209 extern "C" {
strtof( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, ) -> f3210210     pub fn strtof(
10211         __s: *const ::std::os::raw::c_char,
10212         __end_ptr: *mut *mut ::std::os::raw::c_char,
10213     ) -> f32;
10214 }
10215 extern "C" {
atof(__s: *const ::std::os::raw::c_char) -> f6410216     pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
10217 }
10218 extern "C" {
rand() -> ::std::os::raw::c_int10219     pub fn rand() -> ::std::os::raw::c_int;
10220 }
10221 extern "C" {
srand(__seed: ::std::os::raw::c_uint)10222     pub fn srand(__seed: ::std::os::raw::c_uint);
10223 }
10224 extern "C" {
random() -> ::std::os::raw::c_long10225     pub fn random() -> ::std::os::raw::c_long;
10226 }
10227 extern "C" {
srandom(__seed: ::std::os::raw::c_uint)10228     pub fn srandom(__seed: ::std::os::raw::c_uint);
10229 }
10230 extern "C" {
grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int10231     pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10232 }
10233 extern "C" {
strtoll_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, __l: locale_t, ) -> ::std::os::raw::c_longlong10234     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 }
10241 extern "C" {
strtoull_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, __l: locale_t, ) -> ::std::os::raw::c_ulonglong10242     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 }
10249 extern "C" {
strtold_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __l: locale_t, ) -> f6410250     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 }
10256 extern "C" {
strtod_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __l: locale_t, ) -> f6410257     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 }
10263 extern "C" {
strtof_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __l: locale_t, ) -> f3210264     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 }
10270 extern "C" {
strtol_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, arg1: ::std::os::raw::c_int, __l: locale_t, ) -> ::std::os::raw::c_long10271     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 }
10278 pub type net_handle_t = u64;
10279 extern "C" {
android_setsocknetwork( network: net_handle_t, fd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10280     pub fn android_setsocknetwork(
10281         network: net_handle_t,
10282         fd: ::std::os::raw::c_int,
10283     ) -> ::std::os::raw::c_int;
10284 }
10285 extern "C" {
android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int10286     pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
10287 }
10288 extern "C" {
android_getaddrinfofornetwork( network: net_handle_t, node: *const ::std::os::raw::c_char, service: *const ::std::os::raw::c_char, hints: *const addrinfo, res: *mut *mut addrinfo, ) -> ::std::os::raw::c_int10289     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 }
10297 pub const ResNsendFlags_ANDROID_RESOLV_NO_RETRY: ResNsendFlags = 1;
10298 pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = 2;
10299 pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = 4;
10300 pub type ResNsendFlags = u32;
10301 extern "C" {
android_res_nquery( network: net_handle_t, dname: *const ::std::os::raw::c_char, ns_class: ::std::os::raw::c_int, ns_type: ::std::os::raw::c_int, flags: u32, ) -> ::std::os::raw::c_int10302     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 }
10310 extern "C" {
android_res_nsend( network: net_handle_t, msg: *const u8, msglen: usize, flags: u32, ) -> ::std::os::raw::c_int10311     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 }
10318 extern "C" {
android_res_nresult( fd: ::std::os::raw::c_int, rcode: *mut ::std::os::raw::c_int, answer: *mut u8, anslen: usize, ) -> ::std::os::raw::c_int10319     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 }
10326 extern "C" {
android_res_cancel(nsend_fd: ::std::os::raw::c_int)10327     pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
10328 }
10329 pub const OperandCode_ANEURALNETWORKS_FLOAT32: OperandCode = 0;
10330 pub const OperandCode_ANEURALNETWORKS_INT32: OperandCode = 1;
10331 pub const OperandCode_ANEURALNETWORKS_UINT32: OperandCode = 2;
10332 pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = 3;
10333 pub const OperandCode_ANEURALNETWORKS_TENSOR_INT32: OperandCode = 4;
10334 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = 5;
10335 pub const OperandCode_ANEURALNETWORKS_BOOL: OperandCode = 6;
10336 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = 7;
10337 pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = 8;
10338 pub const OperandCode_ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = 9;
10339 pub const OperandCode_ANEURALNETWORKS_FLOAT16: OperandCode = 10;
10340 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = 11;
10341 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = 12;
10342 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = 13;
10343 pub type OperandCode = u32;
10344 pub const OperationCode_ANEURALNETWORKS_ADD: OperationCode = 0;
10345 pub const OperationCode_ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = 1;
10346 pub const OperationCode_ANEURALNETWORKS_CONCATENATION: OperationCode = 2;
10347 pub const OperationCode_ANEURALNETWORKS_CONV_2D: OperationCode = 3;
10348 pub const OperationCode_ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = 4;
10349 pub const OperationCode_ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = 5;
10350 pub const OperationCode_ANEURALNETWORKS_DEQUANTIZE: OperationCode = 6;
10351 pub const OperationCode_ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = 7;
10352 pub const OperationCode_ANEURALNETWORKS_FLOOR: OperationCode = 8;
10353 pub const OperationCode_ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = 9;
10354 pub const OperationCode_ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = 10;
10355 pub const OperationCode_ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = 11;
10356 pub const OperationCode_ANEURALNETWORKS_L2_POOL_2D: OperationCode = 12;
10357 pub const OperationCode_ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = 13;
10358 pub const OperationCode_ANEURALNETWORKS_LOGISTIC: OperationCode = 14;
10359 pub const OperationCode_ANEURALNETWORKS_LSH_PROJECTION: OperationCode = 15;
10360 pub const OperationCode_ANEURALNETWORKS_LSTM: OperationCode = 16;
10361 pub const OperationCode_ANEURALNETWORKS_MAX_POOL_2D: OperationCode = 17;
10362 pub const OperationCode_ANEURALNETWORKS_MUL: OperationCode = 18;
10363 pub const OperationCode_ANEURALNETWORKS_RELU: OperationCode = 19;
10364 pub const OperationCode_ANEURALNETWORKS_RELU1: OperationCode = 20;
10365 pub const OperationCode_ANEURALNETWORKS_RELU6: OperationCode = 21;
10366 pub const OperationCode_ANEURALNETWORKS_RESHAPE: OperationCode = 22;
10367 pub const OperationCode_ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = 23;
10368 pub const OperationCode_ANEURALNETWORKS_RNN: OperationCode = 24;
10369 pub const OperationCode_ANEURALNETWORKS_SOFTMAX: OperationCode = 25;
10370 pub const OperationCode_ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = 26;
10371 pub const OperationCode_ANEURALNETWORKS_SVDF: OperationCode = 27;
10372 pub const OperationCode_ANEURALNETWORKS_TANH: OperationCode = 28;
10373 pub const OperationCode_ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = 29;
10374 pub const OperationCode_ANEURALNETWORKS_DIV: OperationCode = 30;
10375 pub const OperationCode_ANEURALNETWORKS_MEAN: OperationCode = 31;
10376 pub const OperationCode_ANEURALNETWORKS_PAD: OperationCode = 32;
10377 pub const OperationCode_ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = 33;
10378 pub const OperationCode_ANEURALNETWORKS_SQUEEZE: OperationCode = 34;
10379 pub const OperationCode_ANEURALNETWORKS_STRIDED_SLICE: OperationCode = 35;
10380 pub const OperationCode_ANEURALNETWORKS_SUB: OperationCode = 36;
10381 pub const OperationCode_ANEURALNETWORKS_TRANSPOSE: OperationCode = 37;
10382 pub const OperationCode_ANEURALNETWORKS_ABS: OperationCode = 38;
10383 pub const OperationCode_ANEURALNETWORKS_ARGMAX: OperationCode = 39;
10384 pub const OperationCode_ANEURALNETWORKS_ARGMIN: OperationCode = 40;
10385 pub const OperationCode_ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = 41;
10386 pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 42;
10387 pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 43;
10388 pub const OperationCode_ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = 44;
10389 pub const OperationCode_ANEURALNETWORKS_CAST: OperationCode = 45;
10390 pub const OperationCode_ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = 46;
10391 pub const OperationCode_ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = 47;
10392 pub const OperationCode_ANEURALNETWORKS_EQUAL: OperationCode = 48;
10393 pub const OperationCode_ANEURALNETWORKS_EXP: OperationCode = 49;
10394 pub const OperationCode_ANEURALNETWORKS_EXPAND_DIMS: OperationCode = 50;
10395 pub const OperationCode_ANEURALNETWORKS_GATHER: OperationCode = 51;
10396 pub const OperationCode_ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = 52;
10397 pub const OperationCode_ANEURALNETWORKS_GREATER: OperationCode = 53;
10398 pub const OperationCode_ANEURALNETWORKS_GREATER_EQUAL: OperationCode = 54;
10399 pub const OperationCode_ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = 55;
10400 pub const OperationCode_ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = 56;
10401 pub const OperationCode_ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = 57;
10402 pub const OperationCode_ANEURALNETWORKS_LESS: OperationCode = 58;
10403 pub const OperationCode_ANEURALNETWORKS_LESS_EQUAL: OperationCode = 59;
10404 pub const OperationCode_ANEURALNETWORKS_LOG: OperationCode = 60;
10405 pub const OperationCode_ANEURALNETWORKS_LOGICAL_AND: OperationCode = 61;
10406 pub const OperationCode_ANEURALNETWORKS_LOGICAL_NOT: OperationCode = 62;
10407 pub const OperationCode_ANEURALNETWORKS_LOGICAL_OR: OperationCode = 63;
10408 pub const OperationCode_ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = 64;
10409 pub const OperationCode_ANEURALNETWORKS_MAXIMUM: OperationCode = 65;
10410 pub const OperationCode_ANEURALNETWORKS_MINIMUM: OperationCode = 66;
10411 pub const OperationCode_ANEURALNETWORKS_NEG: OperationCode = 67;
10412 pub const OperationCode_ANEURALNETWORKS_NOT_EQUAL: OperationCode = 68;
10413 pub const OperationCode_ANEURALNETWORKS_PAD_V2: OperationCode = 69;
10414 pub const OperationCode_ANEURALNETWORKS_POW: OperationCode = 70;
10415 pub const OperationCode_ANEURALNETWORKS_PRELU: OperationCode = 71;
10416 pub const OperationCode_ANEURALNETWORKS_QUANTIZE: OperationCode = 72;
10417 pub const OperationCode_ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = 73;
10418 pub const OperationCode_ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = 74;
10419 pub const OperationCode_ANEURALNETWORKS_REDUCE_ALL: OperationCode = 75;
10420 pub const OperationCode_ANEURALNETWORKS_REDUCE_ANY: OperationCode = 76;
10421 pub const OperationCode_ANEURALNETWORKS_REDUCE_MAX: OperationCode = 77;
10422 pub const OperationCode_ANEURALNETWORKS_REDUCE_MIN: OperationCode = 78;
10423 pub const OperationCode_ANEURALNETWORKS_REDUCE_PROD: OperationCode = 79;
10424 pub const OperationCode_ANEURALNETWORKS_REDUCE_SUM: OperationCode = 80;
10425 pub const OperationCode_ANEURALNETWORKS_ROI_ALIGN: OperationCode = 81;
10426 pub const OperationCode_ANEURALNETWORKS_ROI_POOLING: OperationCode = 82;
10427 pub const OperationCode_ANEURALNETWORKS_RSQRT: OperationCode = 83;
10428 pub const OperationCode_ANEURALNETWORKS_SELECT: OperationCode = 84;
10429 pub const OperationCode_ANEURALNETWORKS_SIN: OperationCode = 85;
10430 pub const OperationCode_ANEURALNETWORKS_SLICE: OperationCode = 86;
10431 pub const OperationCode_ANEURALNETWORKS_SPLIT: OperationCode = 87;
10432 pub const OperationCode_ANEURALNETWORKS_SQRT: OperationCode = 88;
10433 pub const OperationCode_ANEURALNETWORKS_TILE: OperationCode = 89;
10434 pub const OperationCode_ANEURALNETWORKS_TOPK_V2: OperationCode = 90;
10435 pub const OperationCode_ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = 91;
10436 pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 92;
10437 pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 93;
10438 pub const OperationCode_ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = 94;
10439 pub type OperationCode = u32;
10440 pub const FuseCode_ANEURALNETWORKS_FUSED_NONE: FuseCode = 0;
10441 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU: FuseCode = 1;
10442 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU1: FuseCode = 2;
10443 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU6: FuseCode = 3;
10444 pub type FuseCode = u32;
10445 pub const PaddingCode_ANEURALNETWORKS_PADDING_SAME: PaddingCode = 1;
10446 pub const PaddingCode_ANEURALNETWORKS_PADDING_VALID: PaddingCode = 2;
10447 pub type PaddingCode = u32;
10448 pub const PreferenceCode_ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = 0;
10449 pub const PreferenceCode_ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = 1;
10450 pub const PreferenceCode_ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = 2;
10451 pub type PreferenceCode = u32;
10452 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = 0;
10453 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = 1;
10454 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = 2;
10455 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = 3;
10456 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = 4;
10457 pub type DeviceTypeCode = u32;
10458 pub const ResultCode_ANEURALNETWORKS_NO_ERROR: ResultCode = 0;
10459 pub const ResultCode_ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = 1;
10460 pub const ResultCode_ANEURALNETWORKS_INCOMPLETE: ResultCode = 2;
10461 pub const ResultCode_ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = 3;
10462 pub const ResultCode_ANEURALNETWORKS_BAD_DATA: ResultCode = 4;
10463 pub const ResultCode_ANEURALNETWORKS_OP_FAILED: ResultCode = 5;
10464 pub const ResultCode_ANEURALNETWORKS_BAD_STATE: ResultCode = 6;
10465 pub const ResultCode_ANEURALNETWORKS_UNMAPPABLE: ResultCode = 7;
10466 pub const ResultCode_ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = 8;
10467 pub const ResultCode_ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = 9;
10468 pub type ResultCode = u32;
10469 pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: _bindgen_ty_25 = 128;
10470 pub type _bindgen_ty_25 = u32;
10471 pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: _bindgen_ty_26 = 32;
10472 pub type _bindgen_ty_26 = u32;
10473 #[repr(C)]
10474 #[derive(Debug, Copy, Clone)]
10475 pub struct ANeuralNetworksMemory {
10476     _unused: [u8; 0],
10477 }
10478 #[repr(C)]
10479 #[derive(Debug, Copy, Clone)]
10480 pub struct ANeuralNetworksModel {
10481     _unused: [u8; 0],
10482 }
10483 #[repr(C)]
10484 #[derive(Debug, Copy, Clone)]
10485 pub struct ANeuralNetworksCompilation {
10486     _unused: [u8; 0],
10487 }
10488 #[repr(C)]
10489 #[derive(Debug, Copy, Clone)]
10490 pub struct ANeuralNetworksExecution {
10491     _unused: [u8; 0],
10492 }
10493 #[repr(C)]
10494 #[derive(Debug, Copy, Clone)]
10495 pub struct ANeuralNetworksSymmPerChannelQuantParams {
10496     pub channelDim: u32,
10497     pub scaleCount: u32,
10498     pub scales: *const f32,
10499 }
10500 #[test]
bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams()10501 fn 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)]
10560 pub struct ANeuralNetworksBurst {
10561     _unused: [u8; 0],
10562 }
10563 #[repr(C)]
10564 #[derive(Debug, Copy, Clone)]
10565 pub 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]
bindgen_test_layout_ANeuralNetworksOperandType()10573 fn 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 }
10646 pub type ANeuralNetworksOperationType = i32;
10647 #[repr(C)]
10648 #[derive(Debug, Copy, Clone)]
10649 pub struct ANeuralNetworksEvent {
10650     _unused: [u8; 0],
10651 }
10652 #[repr(C)]
10653 #[derive(Debug, Copy, Clone)]
10654 pub struct ANeuralNetworksDevice {
10655     _unused: [u8; 0],
10656 }
10657 extern "C" {
ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int10658     pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
10659 }
10660 extern "C" {
ANeuralNetworks_getDevice( devIndex: u32, device: *mut *mut ANeuralNetworksDevice, ) -> ::std::os::raw::c_int10661     pub fn ANeuralNetworks_getDevice(
10662         devIndex: u32,
10663         device: *mut *mut ANeuralNetworksDevice,
10664     ) -> ::std::os::raw::c_int;
10665 }
10666 extern "C" {
ANeuralNetworksDevice_getName( device: *const ANeuralNetworksDevice, name: *mut *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int10667     pub fn ANeuralNetworksDevice_getName(
10668         device: *const ANeuralNetworksDevice,
10669         name: *mut *const ::std::os::raw::c_char,
10670     ) -> ::std::os::raw::c_int;
10671 }
10672 extern "C" {
ANeuralNetworksDevice_getType( device: *const ANeuralNetworksDevice, type_: *mut i32, ) -> ::std::os::raw::c_int10673     pub fn ANeuralNetworksDevice_getType(
10674         device: *const ANeuralNetworksDevice,
10675         type_: *mut i32,
10676     ) -> ::std::os::raw::c_int;
10677 }
10678 extern "C" {
ANeuralNetworksDevice_getVersion( device: *const ANeuralNetworksDevice, version: *mut *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int10679     pub fn ANeuralNetworksDevice_getVersion(
10680         device: *const ANeuralNetworksDevice,
10681         version: *mut *const ::std::os::raw::c_char,
10682     ) -> ::std::os::raw::c_int;
10683 }
10684 extern "C" {
ANeuralNetworksDevice_getFeatureLevel( device: *const ANeuralNetworksDevice, featureLevel: *mut i64, ) -> ::std::os::raw::c_int10685     pub fn ANeuralNetworksDevice_getFeatureLevel(
10686         device: *const ANeuralNetworksDevice,
10687         featureLevel: *mut i64,
10688     ) -> ::std::os::raw::c_int;
10689 }
10690 extern "C" {
ANeuralNetworksModel_getSupportedOperationsForDevices( model: *const ANeuralNetworksModel, devices: *const *const ANeuralNetworksDevice, numDevices: u32, supportedOps: *mut bool, ) -> ::std::os::raw::c_int10691     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 }
10698 extern "C" {
ANeuralNetworksCompilation_createForDevices( model: *mut ANeuralNetworksModel, devices: *const *const ANeuralNetworksDevice, numDevices: u32, compilation: *mut *mut ANeuralNetworksCompilation, ) -> ::std::os::raw::c_int10699     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 }
10706 extern "C" {
ANeuralNetworksCompilation_setCaching( compilation: *mut ANeuralNetworksCompilation, cacheDir: *const ::std::os::raw::c_char, token: *const u8, ) -> ::std::os::raw::c_int10707     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 }
10713 extern "C" {
ANeuralNetworksExecution_compute( execution: *mut ANeuralNetworksExecution, ) -> ::std::os::raw::c_int10714     pub fn ANeuralNetworksExecution_compute(
10715         execution: *mut ANeuralNetworksExecution,
10716     ) -> ::std::os::raw::c_int;
10717 }
10718 extern "C" {
ANeuralNetworksExecution_getOutputOperandRank( execution: *mut ANeuralNetworksExecution, index: i32, rank: *mut u32, ) -> ::std::os::raw::c_int10719     pub fn ANeuralNetworksExecution_getOutputOperandRank(
10720         execution: *mut ANeuralNetworksExecution,
10721         index: i32,
10722         rank: *mut u32,
10723     ) -> ::std::os::raw::c_int;
10724 }
10725 extern "C" {
ANeuralNetworksExecution_getOutputOperandDimensions( execution: *mut ANeuralNetworksExecution, index: i32, dimensions: *mut u32, ) -> ::std::os::raw::c_int10726     pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
10727         execution: *mut ANeuralNetworksExecution,
10728         index: i32,
10729         dimensions: *mut u32,
10730     ) -> ::std::os::raw::c_int;
10731 }
10732 extern "C" {
ANeuralNetworksBurst_create( compilation: *mut ANeuralNetworksCompilation, burst: *mut *mut ANeuralNetworksBurst, ) -> ::std::os::raw::c_int10733     pub fn ANeuralNetworksBurst_create(
10734         compilation: *mut ANeuralNetworksCompilation,
10735         burst: *mut *mut ANeuralNetworksBurst,
10736     ) -> ::std::os::raw::c_int;
10737 }
10738 extern "C" {
ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst)10739     pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
10740 }
10741 extern "C" {
ANeuralNetworksExecution_burstCompute( execution: *mut ANeuralNetworksExecution, burst: *mut ANeuralNetworksBurst, ) -> ::std::os::raw::c_int10742     pub fn ANeuralNetworksExecution_burstCompute(
10743         execution: *mut ANeuralNetworksExecution,
10744         burst: *mut ANeuralNetworksBurst,
10745     ) -> ::std::os::raw::c_int;
10746 }
10747 extern "C" {
ANeuralNetworksMemory_createFromAHardwareBuffer( ahwb: *const AHardwareBuffer, memory: *mut *mut ANeuralNetworksMemory, ) -> ::std::os::raw::c_int10748     pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
10749         ahwb: *const AHardwareBuffer,
10750         memory: *mut *mut ANeuralNetworksMemory,
10751     ) -> ::std::os::raw::c_int;
10752 }
10753 extern "C" {
ANeuralNetworksExecution_setMeasureTiming( execution: *mut ANeuralNetworksExecution, measure: bool, ) -> ::std::os::raw::c_int10754     pub fn ANeuralNetworksExecution_setMeasureTiming(
10755         execution: *mut ANeuralNetworksExecution,
10756         measure: bool,
10757     ) -> ::std::os::raw::c_int;
10758 }
10759 pub const DurationCode_ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = 0;
10760 pub const DurationCode_ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = 1;
10761 pub type DurationCode = u32;
10762 extern "C" {
ANeuralNetworksExecution_getDuration( execution: *const ANeuralNetworksExecution, durationCode: i32, duration: *mut u64, ) -> ::std::os::raw::c_int10763     pub fn ANeuralNetworksExecution_getDuration(
10764         execution: *const ANeuralNetworksExecution,
10765         durationCode: i32,
10766         duration: *mut u64,
10767     ) -> ::std::os::raw::c_int;
10768 }
10769 extern "C" {
ANeuralNetworksMemory_createFromFd( size: usize, protect: ::std::os::raw::c_int, fd: ::std::os::raw::c_int, offset: usize, memory: *mut *mut ANeuralNetworksMemory, ) -> ::std::os::raw::c_int10770     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 }
10778 extern "C" {
ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory)10779     pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
10780 }
10781 extern "C" {
ANeuralNetworksModel_create( model: *mut *mut ANeuralNetworksModel, ) -> ::std::os::raw::c_int10782     pub fn ANeuralNetworksModel_create(
10783         model: *mut *mut ANeuralNetworksModel,
10784     ) -> ::std::os::raw::c_int;
10785 }
10786 extern "C" {
ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel)10787     pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
10788 }
10789 extern "C" {
ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int10790     pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
10791 }
10792 extern "C" {
ANeuralNetworksModel_addOperand( model: *mut ANeuralNetworksModel, type_: *const ANeuralNetworksOperandType, ) -> ::std::os::raw::c_int10793     pub fn ANeuralNetworksModel_addOperand(
10794         model: *mut ANeuralNetworksModel,
10795         type_: *const ANeuralNetworksOperandType,
10796     ) -> ::std::os::raw::c_int;
10797 }
10798 extern "C" {
ANeuralNetworksModel_setOperandValue( model: *mut ANeuralNetworksModel, index: i32, buffer: *const ::std::os::raw::c_void, length: usize, ) -> ::std::os::raw::c_int10799     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 }
10806 extern "C" {
ANeuralNetworksModel_setOperandSymmPerChannelQuantParams( model: *mut ANeuralNetworksModel, index: i32, channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams, ) -> ::std::os::raw::c_int10807     pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
10808         model: *mut ANeuralNetworksModel,
10809         index: i32,
10810         channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
10811     ) -> ::std::os::raw::c_int;
10812 }
10813 extern "C" {
ANeuralNetworksModel_setOperandValueFromMemory( model: *mut ANeuralNetworksModel, index: i32, memory: *const ANeuralNetworksMemory, offset: usize, length: usize, ) -> ::std::os::raw::c_int10814     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 }
10822 extern "C" {
ANeuralNetworksModel_addOperation( model: *mut ANeuralNetworksModel, type_: ANeuralNetworksOperationType, inputCount: u32, inputs: *const u32, outputCount: u32, outputs: *const u32, ) -> ::std::os::raw::c_int10823     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 }
10832 extern "C" {
ANeuralNetworksModel_identifyInputsAndOutputs( model: *mut ANeuralNetworksModel, inputCount: u32, inputs: *const u32, outputCount: u32, outputs: *const u32, ) -> ::std::os::raw::c_int10833     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 }
10841 extern "C" {
ANeuralNetworksModel_relaxComputationFloat32toFloat16( model: *mut ANeuralNetworksModel, allow: bool, ) -> ::std::os::raw::c_int10842     pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
10843         model: *mut ANeuralNetworksModel,
10844         allow: bool,
10845     ) -> ::std::os::raw::c_int;
10846 }
10847 extern "C" {
ANeuralNetworksCompilation_create( model: *mut ANeuralNetworksModel, compilation: *mut *mut ANeuralNetworksCompilation, ) -> ::std::os::raw::c_int10848     pub fn ANeuralNetworksCompilation_create(
10849         model: *mut ANeuralNetworksModel,
10850         compilation: *mut *mut ANeuralNetworksCompilation,
10851     ) -> ::std::os::raw::c_int;
10852 }
10853 extern "C" {
ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation)10854     pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
10855 }
10856 extern "C" {
ANeuralNetworksCompilation_setPreference( compilation: *mut ANeuralNetworksCompilation, preference: i32, ) -> ::std::os::raw::c_int10857     pub fn ANeuralNetworksCompilation_setPreference(
10858         compilation: *mut ANeuralNetworksCompilation,
10859         preference: i32,
10860     ) -> ::std::os::raw::c_int;
10861 }
10862 extern "C" {
ANeuralNetworksCompilation_finish( compilation: *mut ANeuralNetworksCompilation, ) -> ::std::os::raw::c_int10863     pub fn ANeuralNetworksCompilation_finish(
10864         compilation: *mut ANeuralNetworksCompilation,
10865     ) -> ::std::os::raw::c_int;
10866 }
10867 extern "C" {
ANeuralNetworksExecution_create( compilation: *mut ANeuralNetworksCompilation, execution: *mut *mut ANeuralNetworksExecution, ) -> ::std::os::raw::c_int10868     pub fn ANeuralNetworksExecution_create(
10869         compilation: *mut ANeuralNetworksCompilation,
10870         execution: *mut *mut ANeuralNetworksExecution,
10871     ) -> ::std::os::raw::c_int;
10872 }
10873 extern "C" {
ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution)10874     pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
10875 }
10876 extern "C" {
ANeuralNetworksExecution_setInput( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, buffer: *const ::std::os::raw::c_void, length: usize, ) -> ::std::os::raw::c_int10877     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 }
10885 extern "C" {
ANeuralNetworksExecution_setInputFromMemory( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, memory: *const ANeuralNetworksMemory, offset: usize, length: usize, ) -> ::std::os::raw::c_int10886     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 }
10895 extern "C" {
ANeuralNetworksExecution_setOutput( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, buffer: *mut ::std::os::raw::c_void, length: usize, ) -> ::std::os::raw::c_int10896     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 }
10904 extern "C" {
ANeuralNetworksExecution_setOutputFromMemory( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, memory: *const ANeuralNetworksMemory, offset: usize, length: usize, ) -> ::std::os::raw::c_int10905     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 }
10914 extern "C" {
ANeuralNetworksExecution_startCompute( execution: *mut ANeuralNetworksExecution, event: *mut *mut ANeuralNetworksEvent, ) -> ::std::os::raw::c_int10915     pub fn ANeuralNetworksExecution_startCompute(
10916         execution: *mut ANeuralNetworksExecution,
10917         event: *mut *mut ANeuralNetworksEvent,
10918     ) -> ::std::os::raw::c_int;
10919 }
10920 extern "C" {
ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int10921     pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
10922 }
10923 extern "C" {
ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent)10924     pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
10925 }
10926 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = 1;
10927 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = 2;
10928 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = 4;
10929 pub type ANativeWindow_LegacyFormat = u32;
10930 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = 0;
10931 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
10932     1;
10933 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
10934     2;
10935 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = 4;
10936 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform = 3;
10937 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform = 7;
10938 pub type ANativeWindowTransform = u32;
10939 #[repr(C)]
10940 #[derive(Debug, Copy, Clone)]
10941 pub struct ANativeWindow {
10942     _unused: [u8; 0],
10943 }
10944 #[repr(C)]
10945 #[derive(Debug, Copy, Clone)]
10946 pub 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]
bindgen_test_layout_ANativeWindow_Buffer()10955 fn 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 }
11027 extern "C" {
ANativeWindow_acquire(window: *mut ANativeWindow)11028     pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
11029 }
11030 extern "C" {
ANativeWindow_release(window: *mut ANativeWindow)11031     pub fn ANativeWindow_release(window: *mut ANativeWindow);
11032 }
11033 extern "C" {
ANativeWindow_getWidth(window: *mut ANativeWindow) -> i3211034     pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
11035 }
11036 extern "C" {
ANativeWindow_getHeight(window: *mut ANativeWindow) -> i3211037     pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
11038 }
11039 extern "C" {
ANativeWindow_getFormat(window: *mut ANativeWindow) -> i3211040     pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
11041 }
11042 extern "C" {
ANativeWindow_setBuffersGeometry( window: *mut ANativeWindow, width: i32, height: i32, format: i32, ) -> i3211043     pub fn ANativeWindow_setBuffersGeometry(
11044         window: *mut ANativeWindow,
11045         width: i32,
11046         height: i32,
11047         format: i32,
11048     ) -> i32;
11049 }
11050 extern "C" {
ANativeWindow_lock( window: *mut ANativeWindow, outBuffer: *mut ANativeWindow_Buffer, inOutDirtyBounds: *mut ARect, ) -> i3211051     pub fn ANativeWindow_lock(
11052         window: *mut ANativeWindow,
11053         outBuffer: *mut ANativeWindow_Buffer,
11054         inOutDirtyBounds: *mut ARect,
11055     ) -> i32;
11056 }
11057 extern "C" {
ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i3211058     pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
11059 }
11060 extern "C" {
ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i3211061     pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
11062 }
11063 extern "C" {
ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i3211064     pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
11065 }
11066 extern "C" {
ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i3211067     pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
11068 }
11069 #[repr(C)]
11070 #[derive(Debug, Copy, Clone)]
11071 pub 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]
bindgen_test_layout_ANativeActivity()11084 fn 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)]
11202 pub 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]
bindgen_test_layout_ANativeActivityCallbacks()11243 fn 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 }
11455 pub 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 >;
11462 extern "C" {
ANativeActivity_onCreate( activity: *mut ANativeActivity, savedState: *mut ::std::os::raw::c_void, savedStateSize: usize, )11463     pub fn ANativeActivity_onCreate(
11464         activity: *mut ANativeActivity,
11465         savedState: *mut ::std::os::raw::c_void,
11466         savedStateSize: usize,
11467     );
11468 }
11469 extern "C" {
ANativeActivity_finish(activity: *mut ANativeActivity)11470     pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
11471 }
11472 extern "C" {
ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32)11473     pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
11474 }
11475 extern "C" {
ANativeActivity_setWindowFlags( activity: *mut ANativeActivity, addFlags: u32, removeFlags: u32, )11476     pub fn ANativeActivity_setWindowFlags(
11477         activity: *mut ANativeActivity,
11478         addFlags: u32,
11479         removeFlags: u32,
11480     );
11481 }
11482 pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: _bindgen_ty_27 = 1;
11483 pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: _bindgen_ty_27 = 2;
11484 pub type _bindgen_ty_27 = u32;
11485 extern "C" {
ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32)11486     pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
11487 }
11488 pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: _bindgen_ty_28 = 1;
11489 pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: _bindgen_ty_28 = 2;
11490 pub type _bindgen_ty_28 = u32;
11491 extern "C" {
ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32)11492     pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
11493 }
11494 extern "C" {
ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow11495     pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
11496 }
11497 extern "C" {
ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject11498     pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
11499 }
11500 #[repr(C)]
11501 #[derive(Debug, Copy, Clone)]
11502 pub struct AObbInfo {
11503     _unused: [u8; 0],
11504 }
11505 pub const AOBBINFO_OVERLAY: _bindgen_ty_29 = 1;
11506 pub type _bindgen_ty_29 = u32;
11507 extern "C" {
AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo11508     pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
11509 }
11510 extern "C" {
AObbInfo_delete(obbInfo: *mut AObbInfo)11511     pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
11512 }
11513 extern "C" {
AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char11514     pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
11515 }
11516 extern "C" {
AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i3211517     pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
11518 }
11519 extern "C" {
AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i3211520     pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
11521 }
11522 pub type __double_t = f64;
11523 pub type double_t = __double_t;
11524 pub type __float_t = f32;
11525 pub type float_t = __float_t;
11526 extern "C" {
acos(__x: f64) -> f6411527     pub fn acos(__x: f64) -> f64;
11528 }
11529 extern "C" {
acosf(__x: f32) -> f3211530     pub fn acosf(__x: f32) -> f32;
11531 }
11532 extern "C" {
asin(__x: f64) -> f6411533     pub fn asin(__x: f64) -> f64;
11534 }
11535 extern "C" {
asinf(__x: f32) -> f3211536     pub fn asinf(__x: f32) -> f32;
11537 }
11538 extern "C" {
atan(__x: f64) -> f6411539     pub fn atan(__x: f64) -> f64;
11540 }
11541 extern "C" {
atanf(__x: f32) -> f3211542     pub fn atanf(__x: f32) -> f32;
11543 }
11544 extern "C" {
atan2(__y: f64, __x: f64) -> f6411545     pub fn atan2(__y: f64, __x: f64) -> f64;
11546 }
11547 extern "C" {
atan2f(__y: f32, __x: f32) -> f3211548     pub fn atan2f(__y: f32, __x: f32) -> f32;
11549 }
11550 extern "C" {
cos(__x: f64) -> f6411551     pub fn cos(__x: f64) -> f64;
11552 }
11553 extern "C" {
cosf(__x: f32) -> f3211554     pub fn cosf(__x: f32) -> f32;
11555 }
11556 extern "C" {
sin(__x: f64) -> f6411557     pub fn sin(__x: f64) -> f64;
11558 }
11559 extern "C" {
sinf(__x: f32) -> f3211560     pub fn sinf(__x: f32) -> f32;
11561 }
11562 extern "C" {
tan(__x: f64) -> f6411563     pub fn tan(__x: f64) -> f64;
11564 }
11565 extern "C" {
tanf(__x: f32) -> f3211566     pub fn tanf(__x: f32) -> f32;
11567 }
11568 extern "C" {
acosh(__x: f64) -> f6411569     pub fn acosh(__x: f64) -> f64;
11570 }
11571 extern "C" {
acoshf(__x: f32) -> f3211572     pub fn acoshf(__x: f32) -> f32;
11573 }
11574 extern "C" {
asinh(__x: f64) -> f6411575     pub fn asinh(__x: f64) -> f64;
11576 }
11577 extern "C" {
asinhf(__x: f32) -> f3211578     pub fn asinhf(__x: f32) -> f32;
11579 }
11580 extern "C" {
atanh(__x: f64) -> f6411581     pub fn atanh(__x: f64) -> f64;
11582 }
11583 extern "C" {
atanhf(__x: f32) -> f3211584     pub fn atanhf(__x: f32) -> f32;
11585 }
11586 extern "C" {
cosh(__x: f64) -> f6411587     pub fn cosh(__x: f64) -> f64;
11588 }
11589 extern "C" {
coshf(__x: f32) -> f3211590     pub fn coshf(__x: f32) -> f32;
11591 }
11592 extern "C" {
sinh(__x: f64) -> f6411593     pub fn sinh(__x: f64) -> f64;
11594 }
11595 extern "C" {
sinhf(__x: f32) -> f3211596     pub fn sinhf(__x: f32) -> f32;
11597 }
11598 extern "C" {
tanh(__x: f64) -> f6411599     pub fn tanh(__x: f64) -> f64;
11600 }
11601 extern "C" {
tanhf(__x: f32) -> f3211602     pub fn tanhf(__x: f32) -> f32;
11603 }
11604 extern "C" {
exp(__x: f64) -> f6411605     pub fn exp(__x: f64) -> f64;
11606 }
11607 extern "C" {
expf(__x: f32) -> f3211608     pub fn expf(__x: f32) -> f32;
11609 }
11610 extern "C" {
exp2(__x: f64) -> f6411611     pub fn exp2(__x: f64) -> f64;
11612 }
11613 extern "C" {
exp2f(__x: f32) -> f3211614     pub fn exp2f(__x: f32) -> f32;
11615 }
11616 extern "C" {
expm1(__x: f64) -> f6411617     pub fn expm1(__x: f64) -> f64;
11618 }
11619 extern "C" {
expm1f(__x: f32) -> f3211620     pub fn expm1f(__x: f32) -> f32;
11621 }
11622 extern "C" {
frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f6411623     pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
11624 }
11625 extern "C" {
frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f3211626     pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
11627 }
11628 extern "C" {
ilogb(__x: f64) -> ::std::os::raw::c_int11629     pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
11630 }
11631 extern "C" {
ilogbf(__x: f32) -> ::std::os::raw::c_int11632     pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
11633 }
11634 extern "C" {
ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f6411635     pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
11636 }
11637 extern "C" {
ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f3211638     pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
11639 }
11640 extern "C" {
log(__x: f64) -> f6411641     pub fn log(__x: f64) -> f64;
11642 }
11643 extern "C" {
logf(__x: f32) -> f3211644     pub fn logf(__x: f32) -> f32;
11645 }
11646 extern "C" {
log10(__x: f64) -> f6411647     pub fn log10(__x: f64) -> f64;
11648 }
11649 extern "C" {
log10f(__x: f32) -> f3211650     pub fn log10f(__x: f32) -> f32;
11651 }
11652 extern "C" {
log1p(__x: f64) -> f6411653     pub fn log1p(__x: f64) -> f64;
11654 }
11655 extern "C" {
log1pf(__x: f32) -> f3211656     pub fn log1pf(__x: f32) -> f32;
11657 }
11658 extern "C" {
log2(__x: f64) -> f6411659     pub fn log2(__x: f64) -> f64;
11660 }
11661 extern "C" {
log2f(__x: f32) -> f3211662     pub fn log2f(__x: f32) -> f32;
11663 }
11664 extern "C" {
logb(__x: f64) -> f6411665     pub fn logb(__x: f64) -> f64;
11666 }
11667 extern "C" {
logbf(__x: f32) -> f3211668     pub fn logbf(__x: f32) -> f32;
11669 }
11670 extern "C" {
modf(__x: f64, __integral_part: *mut f64) -> f6411671     pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
11672 }
11673 extern "C" {
modff(__x: f32, __integral_part: *mut f32) -> f3211674     pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
11675 }
11676 extern "C" {
scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f6411677     pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
11678 }
11679 extern "C" {
scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f3211680     pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
11681 }
11682 extern "C" {
scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f6411683     pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
11684 }
11685 extern "C" {
scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f3211686     pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
11687 }
11688 extern "C" {
scalblnl(__x: f64, __exponent: ::std::os::raw::c_long) -> f6411689     pub fn scalblnl(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
11690 }
11691 extern "C" {
cbrt(__x: f64) -> f6411692     pub fn cbrt(__x: f64) -> f64;
11693 }
11694 extern "C" {
cbrtf(__x: f32) -> f3211695     pub fn cbrtf(__x: f32) -> f32;
11696 }
11697 extern "C" {
fabs(__x: f64) -> f6411698     pub fn fabs(__x: f64) -> f64;
11699 }
11700 extern "C" {
fabsf(__x: f32) -> f3211701     pub fn fabsf(__x: f32) -> f32;
11702 }
11703 extern "C" {
hypot(__x: f64, __y: f64) -> f6411704     pub fn hypot(__x: f64, __y: f64) -> f64;
11705 }
11706 extern "C" {
hypotf(__x: f32, __y: f32) -> f3211707     pub fn hypotf(__x: f32, __y: f32) -> f32;
11708 }
11709 extern "C" {
pow(__x: f64, __y: f64) -> f6411710     pub fn pow(__x: f64, __y: f64) -> f64;
11711 }
11712 extern "C" {
powf(__x: f32, __y: f32) -> f3211713     pub fn powf(__x: f32, __y: f32) -> f32;
11714 }
11715 extern "C" {
sqrt(__x: f64) -> f6411716     pub fn sqrt(__x: f64) -> f64;
11717 }
11718 extern "C" {
sqrtf(__x: f32) -> f3211719     pub fn sqrtf(__x: f32) -> f32;
11720 }
11721 extern "C" {
erf(__x: f64) -> f6411722     pub fn erf(__x: f64) -> f64;
11723 }
11724 extern "C" {
erff(__x: f32) -> f3211725     pub fn erff(__x: f32) -> f32;
11726 }
11727 extern "C" {
erfc(__x: f64) -> f6411728     pub fn erfc(__x: f64) -> f64;
11729 }
11730 extern "C" {
erfcf(__x: f32) -> f3211731     pub fn erfcf(__x: f32) -> f32;
11732 }
11733 extern "C" {
lgamma(__x: f64) -> f6411734     pub fn lgamma(__x: f64) -> f64;
11735 }
11736 extern "C" {
lgammaf(__x: f32) -> f3211737     pub fn lgammaf(__x: f32) -> f32;
11738 }
11739 extern "C" {
tgamma(__x: f64) -> f6411740     pub fn tgamma(__x: f64) -> f64;
11741 }
11742 extern "C" {
tgammaf(__x: f32) -> f3211743     pub fn tgammaf(__x: f32) -> f32;
11744 }
11745 extern "C" {
ceil(__x: f64) -> f6411746     pub fn ceil(__x: f64) -> f64;
11747 }
11748 extern "C" {
ceilf(__x: f32) -> f3211749     pub fn ceilf(__x: f32) -> f32;
11750 }
11751 extern "C" {
floor(__x: f64) -> f6411752     pub fn floor(__x: f64) -> f64;
11753 }
11754 extern "C" {
floorf(__x: f32) -> f3211755     pub fn floorf(__x: f32) -> f32;
11756 }
11757 extern "C" {
nearbyint(__x: f64) -> f6411758     pub fn nearbyint(__x: f64) -> f64;
11759 }
11760 extern "C" {
nearbyintf(__x: f32) -> f3211761     pub fn nearbyintf(__x: f32) -> f32;
11762 }
11763 extern "C" {
rint(__x: f64) -> f6411764     pub fn rint(__x: f64) -> f64;
11765 }
11766 extern "C" {
rintf(__x: f32) -> f3211767     pub fn rintf(__x: f32) -> f32;
11768 }
11769 extern "C" {
lrint(__x: f64) -> ::std::os::raw::c_long11770     pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
11771 }
11772 extern "C" {
lrintf(__x: f32) -> ::std::os::raw::c_long11773     pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
11774 }
11775 extern "C" {
llrint(__x: f64) -> ::std::os::raw::c_longlong11776     pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
11777 }
11778 extern "C" {
llrintf(__x: f32) -> ::std::os::raw::c_longlong11779     pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
11780 }
11781 extern "C" {
round(__x: f64) -> f6411782     pub fn round(__x: f64) -> f64;
11783 }
11784 extern "C" {
roundf(__x: f32) -> f3211785     pub fn roundf(__x: f32) -> f32;
11786 }
11787 extern "C" {
roundl(__x: f64) -> f6411788     pub fn roundl(__x: f64) -> f64;
11789 }
11790 extern "C" {
lround(__x: f64) -> ::std::os::raw::c_long11791     pub fn lround(__x: f64) -> ::std::os::raw::c_long;
11792 }
11793 extern "C" {
lroundf(__x: f32) -> ::std::os::raw::c_long11794     pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
11795 }
11796 extern "C" {
llround(__x: f64) -> ::std::os::raw::c_longlong11797     pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
11798 }
11799 extern "C" {
llroundf(__x: f32) -> ::std::os::raw::c_longlong11800     pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
11801 }
11802 extern "C" {
trunc(__x: f64) -> f6411803     pub fn trunc(__x: f64) -> f64;
11804 }
11805 extern "C" {
truncf(__x: f32) -> f3211806     pub fn truncf(__x: f32) -> f32;
11807 }
11808 extern "C" {
fmod(__x: f64, __y: f64) -> f6411809     pub fn fmod(__x: f64, __y: f64) -> f64;
11810 }
11811 extern "C" {
fmodf(__x: f32, __y: f32) -> f3211812     pub fn fmodf(__x: f32, __y: f32) -> f32;
11813 }
11814 extern "C" {
remainder(__x: f64, __y: f64) -> f6411815     pub fn remainder(__x: f64, __y: f64) -> f64;
11816 }
11817 extern "C" {
remainderf(__x: f32, __y: f32) -> f3211818     pub fn remainderf(__x: f32, __y: f32) -> f32;
11819 }
11820 extern "C" {
remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f6411821     pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
11822 }
11823 extern "C" {
remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f3211824     pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
11825 }
11826 extern "C" {
copysign(__value: f64, __sign: f64) -> f6411827     pub fn copysign(__value: f64, __sign: f64) -> f64;
11828 }
11829 extern "C" {
copysignf(__value: f32, __sign: f32) -> f3211830     pub fn copysignf(__value: f32, __sign: f32) -> f32;
11831 }
11832 extern "C" {
nan(__kind: *const ::std::os::raw::c_char) -> f6411833     pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
11834 }
11835 extern "C" {
nanf(__kind: *const ::std::os::raw::c_char) -> f3211836     pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
11837 }
11838 extern "C" {
nextafter(__x: f64, __y: f64) -> f6411839     pub fn nextafter(__x: f64, __y: f64) -> f64;
11840 }
11841 extern "C" {
nextafterf(__x: f32, __y: f32) -> f3211842     pub fn nextafterf(__x: f32, __y: f32) -> f32;
11843 }
11844 extern "C" {
nexttoward(__x: f64, __y: f64) -> f6411845     pub fn nexttoward(__x: f64, __y: f64) -> f64;
11846 }
11847 extern "C" {
nexttowardf(__x: f32, __y: f64) -> f3211848     pub fn nexttowardf(__x: f32, __y: f64) -> f32;
11849 }
11850 extern "C" {
fdim(__x: f64, __y: f64) -> f6411851     pub fn fdim(__x: f64, __y: f64) -> f64;
11852 }
11853 extern "C" {
fdimf(__x: f32, __y: f32) -> f3211854     pub fn fdimf(__x: f32, __y: f32) -> f32;
11855 }
11856 extern "C" {
fmax(__x: f64, __y: f64) -> f6411857     pub fn fmax(__x: f64, __y: f64) -> f64;
11858 }
11859 extern "C" {
fmaxf(__x: f32, __y: f32) -> f3211860     pub fn fmaxf(__x: f32, __y: f32) -> f32;
11861 }
11862 extern "C" {
fmin(__x: f64, __y: f64) -> f6411863     pub fn fmin(__x: f64, __y: f64) -> f64;
11864 }
11865 extern "C" {
fminf(__x: f32, __y: f32) -> f3211866     pub fn fminf(__x: f32, __y: f32) -> f32;
11867 }
11868 extern "C" {
fma(__x: f64, __y: f64, __z: f64) -> f6411869     pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
11870 }
11871 extern "C" {
fmaf(__x: f32, __y: f32, __z: f32) -> f3211872     pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
11873 }
11874 extern "C" {
isinf(__x: f64) -> ::std::os::raw::c_int11875     pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
11876 }
11877 extern "C" {
isnan(__x: f64) -> ::std::os::raw::c_int11878     pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
11879 }
11880 extern "C" {
11881     pub static mut signgam: ::std::os::raw::c_int;
11882 }
11883 extern "C" {
j0(__x: f64) -> f6411884     pub fn j0(__x: f64) -> f64;
11885 }
11886 extern "C" {
j1(__x: f64) -> f6411887     pub fn j1(__x: f64) -> f64;
11888 }
11889 extern "C" {
jn(__n: ::std::os::raw::c_int, __x: f64) -> f6411890     pub fn jn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
11891 }
11892 extern "C" {
y0(__x: f64) -> f6411893     pub fn y0(__x: f64) -> f64;
11894 }
11895 extern "C" {
y1(__x: f64) -> f6411896     pub fn y1(__x: f64) -> f64;
11897 }
11898 extern "C" {
yn(__n: ::std::os::raw::c_int, __x: f64) -> f6411899     pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
11900 }
11901 pub const ASENSOR_TYPE_INVALID: _bindgen_ty_30 = -1;
11902 pub const ASENSOR_TYPE_ACCELEROMETER: _bindgen_ty_30 = 1;
11903 pub const ASENSOR_TYPE_MAGNETIC_FIELD: _bindgen_ty_30 = 2;
11904 pub const ASENSOR_TYPE_GYROSCOPE: _bindgen_ty_30 = 4;
11905 pub const ASENSOR_TYPE_LIGHT: _bindgen_ty_30 = 5;
11906 pub const ASENSOR_TYPE_PRESSURE: _bindgen_ty_30 = 6;
11907 pub const ASENSOR_TYPE_PROXIMITY: _bindgen_ty_30 = 8;
11908 pub const ASENSOR_TYPE_GRAVITY: _bindgen_ty_30 = 9;
11909 pub const ASENSOR_TYPE_LINEAR_ACCELERATION: _bindgen_ty_30 = 10;
11910 pub const ASENSOR_TYPE_ROTATION_VECTOR: _bindgen_ty_30 = 11;
11911 pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: _bindgen_ty_30 = 12;
11912 pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: _bindgen_ty_30 = 13;
11913 pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: _bindgen_ty_30 = 14;
11914 pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: _bindgen_ty_30 = 15;
11915 pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: _bindgen_ty_30 = 16;
11916 pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: _bindgen_ty_30 = 17;
11917 pub const ASENSOR_TYPE_STEP_DETECTOR: _bindgen_ty_30 = 18;
11918 pub const ASENSOR_TYPE_STEP_COUNTER: _bindgen_ty_30 = 19;
11919 pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: _bindgen_ty_30 = 20;
11920 pub const ASENSOR_TYPE_HEART_RATE: _bindgen_ty_30 = 21;
11921 pub const ASENSOR_TYPE_POSE_6DOF: _bindgen_ty_30 = 28;
11922 pub const ASENSOR_TYPE_STATIONARY_DETECT: _bindgen_ty_30 = 29;
11923 pub const ASENSOR_TYPE_MOTION_DETECT: _bindgen_ty_30 = 30;
11924 pub const ASENSOR_TYPE_HEART_BEAT: _bindgen_ty_30 = 31;
11925 pub const ASENSOR_TYPE_ADDITIONAL_INFO: _bindgen_ty_30 = 33;
11926 pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: _bindgen_ty_30 = 34;
11927 pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: _bindgen_ty_30 = 35;
11928 pub type _bindgen_ty_30 = i32;
11929 pub const ASENSOR_STATUS_NO_CONTACT: _bindgen_ty_31 = -1;
11930 pub const ASENSOR_STATUS_UNRELIABLE: _bindgen_ty_31 = 0;
11931 pub const ASENSOR_STATUS_ACCURACY_LOW: _bindgen_ty_31 = 1;
11932 pub const ASENSOR_STATUS_ACCURACY_MEDIUM: _bindgen_ty_31 = 2;
11933 pub const ASENSOR_STATUS_ACCURACY_HIGH: _bindgen_ty_31 = 3;
11934 pub type _bindgen_ty_31 = i32;
11935 pub const AREPORTING_MODE_INVALID: _bindgen_ty_32 = -1;
11936 pub const AREPORTING_MODE_CONTINUOUS: _bindgen_ty_32 = 0;
11937 pub const AREPORTING_MODE_ON_CHANGE: _bindgen_ty_32 = 1;
11938 pub const AREPORTING_MODE_ONE_SHOT: _bindgen_ty_32 = 2;
11939 pub const AREPORTING_MODE_SPECIAL_TRIGGER: _bindgen_ty_32 = 3;
11940 pub type _bindgen_ty_32 = i32;
11941 pub const ASENSOR_DIRECT_RATE_STOP: _bindgen_ty_33 = 0;
11942 pub const ASENSOR_DIRECT_RATE_NORMAL: _bindgen_ty_33 = 1;
11943 pub const ASENSOR_DIRECT_RATE_FAST: _bindgen_ty_33 = 2;
11944 pub const ASENSOR_DIRECT_RATE_VERY_FAST: _bindgen_ty_33 = 3;
11945 pub type _bindgen_ty_33 = u32;
11946 pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: _bindgen_ty_34 = 1;
11947 pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: _bindgen_ty_34 = 2;
11948 pub type _bindgen_ty_34 = u32;
11949 pub const ASENSOR_ADDITIONAL_INFO_BEGIN: _bindgen_ty_35 = 0;
11950 pub const ASENSOR_ADDITIONAL_INFO_END: _bindgen_ty_35 = 1;
11951 pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: _bindgen_ty_35 = 65536;
11952 pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: _bindgen_ty_35 = 65537;
11953 pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: _bindgen_ty_35 = 65538;
11954 pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: _bindgen_ty_35 = 65539;
11955 pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: _bindgen_ty_35 = 65540;
11956 pub type _bindgen_ty_35 = u32;
11957 #[repr(C)]
11958 #[derive(Copy, Clone)]
11959 pub 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)]
11966 pub 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)]
11974 pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
11975     pub x: f32,
11976     pub y: f32,
11977     pub z: f32,
11978 }
11979 #[test]
bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1()11980 fn 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)]
12039 pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
12040     pub azimuth: f32,
12041     pub pitch: f32,
12042     pub roll: f32,
12043 }
12044 #[test]
bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2()12045 fn 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]
bindgen_test_layout_ASensorVector__bindgen_ty_1()12103 fn 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]
bindgen_test_layout_ASensorVector()12126 fn 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)]
12160 pub struct AMetaDataEvent {
12161     pub what: i32,
12162     pub sensor: i32,
12163 }
12164 #[test]
bindgen_test_layout_AMetaDataEvent()12165 fn 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)]
12199 pub 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)]
12205 pub 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)]
12212 pub 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]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1()12218 fn 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]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1()12276 fn 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)]
12306 pub 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)]
12313 pub 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]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1()12319 fn 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]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2()12377 fn 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]
bindgen_test_layout_AUncalibratedEvent()12405 fn 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)]
12419 pub struct AHeartRateEvent {
12420     pub bpm: f32,
12421     pub status: i8,
12422 }
12423 #[test]
bindgen_test_layout_AHeartRateEvent()12424 fn 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)]
12458 pub struct ADynamicSensorEvent {
12459     pub connected: i32,
12460     pub handle: i32,
12461 }
12462 #[test]
bindgen_test_layout_ADynamicSensorEvent()12463 fn 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)]
12497 pub 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)]
12504 pub 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]
bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1()12510 fn 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]
bindgen_test_layout_AAdditionalInfoEvent()12552 fn 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)]
12586 pub 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)]
12598 pub 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)]
12605 pub 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]
bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1()12624 fn 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)]
12839 pub 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]
bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2()12845 fn 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]
bindgen_test_layout_ASensorEvent__bindgen_ty_1()12890 fn 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]
bindgen_test_layout_ASensorEvent()12913 fn 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)]
12997 pub struct ASensorManager {
12998     _unused: [u8; 0],
12999 }
13000 #[repr(C)]
13001 #[derive(Debug, Copy, Clone)]
13002 pub struct ASensorEventQueue {
13003     _unused: [u8; 0],
13004 }
13005 #[repr(C)]
13006 #[derive(Debug, Copy, Clone)]
13007 pub struct ASensor {
13008     _unused: [u8; 0],
13009 }
13010 pub type ASensorRef = *const ASensor;
13011 pub type ASensorList = *const ASensorRef;
13012 extern "C" {
ASensorManager_getInstance() -> *mut ASensorManager13013     pub fn ASensorManager_getInstance() -> *mut ASensorManager;
13014 }
13015 extern "C" {
ASensorManager_getInstanceForPackage( packageName: *const ::std::os::raw::c_char, ) -> *mut ASensorManager13016     pub fn ASensorManager_getInstanceForPackage(
13017         packageName: *const ::std::os::raw::c_char,
13018     ) -> *mut ASensorManager;
13019 }
13020 extern "C" {
ASensorManager_getSensorList( manager: *mut ASensorManager, list: *mut ASensorList, ) -> ::std::os::raw::c_int13021     pub fn ASensorManager_getSensorList(
13022         manager: *mut ASensorManager,
13023         list: *mut ASensorList,
13024     ) -> ::std::os::raw::c_int;
13025 }
13026 extern "C" {
ASensorManager_getDefaultSensor( manager: *mut ASensorManager, type_: ::std::os::raw::c_int, ) -> *const ASensor13027     pub fn ASensorManager_getDefaultSensor(
13028         manager: *mut ASensorManager,
13029         type_: ::std::os::raw::c_int,
13030     ) -> *const ASensor;
13031 }
13032 extern "C" {
ASensorManager_getDefaultSensorEx( manager: *mut ASensorManager, type_: ::std::os::raw::c_int, wakeUp: bool, ) -> *const ASensor13033     pub fn ASensorManager_getDefaultSensorEx(
13034         manager: *mut ASensorManager,
13035         type_: ::std::os::raw::c_int,
13036         wakeUp: bool,
13037     ) -> *const ASensor;
13038 }
13039 extern "C" {
ASensorManager_createEventQueue( manager: *mut ASensorManager, looper: *mut ALooper, ident: ::std::os::raw::c_int, callback: ALooper_callbackFunc, data: *mut ::std::os::raw::c_void, ) -> *mut ASensorEventQueue13040     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 }
13048 extern "C" {
ASensorManager_destroyEventQueue( manager: *mut ASensorManager, queue: *mut ASensorEventQueue, ) -> ::std::os::raw::c_int13049     pub fn ASensorManager_destroyEventQueue(
13050         manager: *mut ASensorManager,
13051         queue: *mut ASensorEventQueue,
13052     ) -> ::std::os::raw::c_int;
13053 }
13054 extern "C" {
ASensorManager_createSharedMemoryDirectChannel( manager: *mut ASensorManager, fd: ::std::os::raw::c_int, size: usize, ) -> ::std::os::raw::c_int13055     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 }
13061 extern "C" {
ASensorManager_createHardwareBufferDirectChannel( manager: *mut ASensorManager, buffer: *const AHardwareBuffer, size: usize, ) -> ::std::os::raw::c_int13062     pub fn ASensorManager_createHardwareBufferDirectChannel(
13063         manager: *mut ASensorManager,
13064         buffer: *const AHardwareBuffer,
13065         size: usize,
13066     ) -> ::std::os::raw::c_int;
13067 }
13068 extern "C" {
ASensorManager_destroyDirectChannel( manager: *mut ASensorManager, channelId: ::std::os::raw::c_int, )13069     pub fn ASensorManager_destroyDirectChannel(
13070         manager: *mut ASensorManager,
13071         channelId: ::std::os::raw::c_int,
13072     );
13073 }
13074 extern "C" {
ASensorManager_configureDirectReport( manager: *mut ASensorManager, sensor: *const ASensor, channelId: ::std::os::raw::c_int, rate: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int13075     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 }
13082 extern "C" {
ASensorEventQueue_registerSensor( queue: *mut ASensorEventQueue, sensor: *const ASensor, samplingPeriodUs: i32, maxBatchReportLatencyUs: i64, ) -> ::std::os::raw::c_int13083     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 }
13090 extern "C" {
ASensorEventQueue_enableSensor( queue: *mut ASensorEventQueue, sensor: *const ASensor, ) -> ::std::os::raw::c_int13091     pub fn ASensorEventQueue_enableSensor(
13092         queue: *mut ASensorEventQueue,
13093         sensor: *const ASensor,
13094     ) -> ::std::os::raw::c_int;
13095 }
13096 extern "C" {
ASensorEventQueue_disableSensor( queue: *mut ASensorEventQueue, sensor: *const ASensor, ) -> ::std::os::raw::c_int13097     pub fn ASensorEventQueue_disableSensor(
13098         queue: *mut ASensorEventQueue,
13099         sensor: *const ASensor,
13100     ) -> ::std::os::raw::c_int;
13101 }
13102 extern "C" {
ASensorEventQueue_setEventRate( queue: *mut ASensorEventQueue, sensor: *const ASensor, usec: i32, ) -> ::std::os::raw::c_int13103     pub fn ASensorEventQueue_setEventRate(
13104         queue: *mut ASensorEventQueue,
13105         sensor: *const ASensor,
13106         usec: i32,
13107     ) -> ::std::os::raw::c_int;
13108 }
13109 extern "C" {
ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int13110     pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
13111 }
13112 extern "C" {
ASensorEventQueue_getEvents( queue: *mut ASensorEventQueue, events: *mut ASensorEvent, count: usize, ) -> isize13113     pub fn ASensorEventQueue_getEvents(
13114         queue: *mut ASensorEventQueue,
13115         events: *mut ASensorEvent,
13116         count: usize,
13117     ) -> isize;
13118 }
13119 extern "C" {
ASensorEventQueue_requestAdditionalInfoEvents( queue: *mut ASensorEventQueue, enable: bool, ) -> ::std::os::raw::c_int13120     pub fn ASensorEventQueue_requestAdditionalInfoEvents(
13121         queue: *mut ASensorEventQueue,
13122         enable: bool,
13123     ) -> ::std::os::raw::c_int;
13124 }
13125 extern "C" {
ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char13126     pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13127 }
13128 extern "C" {
ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char13129     pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13130 }
13131 extern "C" {
ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int13132     pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
13133 }
13134 extern "C" {
ASensor_getResolution(sensor: *const ASensor) -> f3213135     pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
13136 }
13137 extern "C" {
ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int13138     pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
13139 }
13140 extern "C" {
ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int13141     pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13142 }
13143 extern "C" {
ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int13144     pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13145 }
13146 extern "C" {
ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char13147     pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13148 }
13149 extern "C" {
ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int13150     pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
13151 }
13152 extern "C" {
ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool13153     pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
13154 }
13155 extern "C" {
ASensor_isDirectChannelTypeSupported( sensor: *const ASensor, channelType: ::std::os::raw::c_int, ) -> bool13156     pub fn ASensor_isDirectChannelTypeSupported(
13157         sensor: *const ASensor,
13158         channelType: ::std::os::raw::c_int,
13159     ) -> bool;
13160 }
13161 extern "C" {
ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor) -> ::std::os::raw::c_int13162     pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
13163         -> ::std::os::raw::c_int;
13164 }
13165 extern "C" {
ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int13166     pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
13167 }
13168 extern "C" {
android_set_abort_message(__msg: *const ::std::os::raw::c_char)13169     pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
13170 }
13171 extern "C" {
ASharedMemory_create( name: *const ::std::os::raw::c_char, size: usize, ) -> ::std::os::raw::c_int13172     pub fn ASharedMemory_create(
13173         name: *const ::std::os::raw::c_char,
13174         size: usize,
13175     ) -> ::std::os::raw::c_int;
13176 }
13177 extern "C" {
ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> usize13178     pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> usize;
13179 }
13180 extern "C" {
ASharedMemory_setProt( fd: ::std::os::raw::c_int, prot: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int13181     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 }
13186 extern "C" {
ASharedMemory_dupFromJava( env: *mut JNIEnv, sharedMemory: jobject, ) -> ::std::os::raw::c_int13187     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)]
13194 pub struct AStorageManager {
13195     _unused: [u8; 0],
13196 }
13197 pub const AOBB_STATE_MOUNTED: _bindgen_ty_36 = 1;
13198 pub const AOBB_STATE_UNMOUNTED: _bindgen_ty_36 = 2;
13199 pub const AOBB_STATE_ERROR_INTERNAL: _bindgen_ty_36 = 20;
13200 pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: _bindgen_ty_36 = 21;
13201 pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: _bindgen_ty_36 = 22;
13202 pub const AOBB_STATE_ERROR_NOT_MOUNTED: _bindgen_ty_36 = 23;
13203 pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: _bindgen_ty_36 = 24;
13204 pub const AOBB_STATE_ERROR_PERMISSION_DENIED: _bindgen_ty_36 = 25;
13205 pub type _bindgen_ty_36 = u32;
13206 extern "C" {
AStorageManager_new() -> *mut AStorageManager13207     pub fn AStorageManager_new() -> *mut AStorageManager;
13208 }
13209 extern "C" {
AStorageManager_delete(mgr: *mut AStorageManager)13210     pub fn AStorageManager_delete(mgr: *mut AStorageManager);
13211 }
13212 pub 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 >;
13219 extern "C" {
AStorageManager_mountObb( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, key: *const ::std::os::raw::c_char, cb: AStorageManager_obbCallbackFunc, data: *mut ::std::os::raw::c_void, )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 }
13228 extern "C" {
AStorageManager_unmountObb( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, force: ::std::os::raw::c_int, cb: AStorageManager_obbCallbackFunc, data: *mut ::std::os::raw::c_void, )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 }
13237 extern "C" {
AStorageManager_isObbMounted( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int13238     pub fn AStorageManager_isObbMounted(
13239         mgr: *mut AStorageManager,
13240         filename: *const ::std::os::raw::c_char,
13241     ) -> ::std::os::raw::c_int;
13242 }
13243 extern "C" {
AStorageManager_getMountedObbPath( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, ) -> *const ::std::os::raw::c_char13244     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)]
13251 pub struct ASurfaceTexture {
13252     _unused: [u8; 0],
13253 }
13254 extern "C" {
ASurfaceTexture_release(st: *mut ASurfaceTexture)13255     pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
13256 }
13257 extern "C" {
ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow13258     pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
13259 }
13260 extern "C" {
ASurfaceTexture_attachToGLContext( st: *mut ASurfaceTexture, texName: u32, ) -> ::std::os::raw::c_int13261     pub fn ASurfaceTexture_attachToGLContext(
13262         st: *mut ASurfaceTexture,
13263         texName: u32,
13264     ) -> ::std::os::raw::c_int;
13265 }
13266 extern "C" {
ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int13267     pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
13268 }
13269 extern "C" {
ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int13270     pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
13271 }
13272 extern "C" {
ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32)13273     pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
13274 }
13275 extern "C" {
ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i6413276     pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
13277 }
13278 extern "C" {
ASurfaceTexture_fromSurfaceTexture( env: *mut JNIEnv, surfacetexture: jobject, ) -> *mut ASurfaceTexture13279     pub fn ASurfaceTexture_fromSurfaceTexture(
13280         env: *mut JNIEnv,
13281         surfacetexture: jobject,
13282     ) -> *mut ASurfaceTexture;
13283 }
13284 #[repr(C)]
13285 #[derive(Debug, Copy, Clone)]
13286 pub 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]
bindgen_test_layout_sync_merge_data()13294 fn 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)]
13358 pub 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]
bindgen_test_layout_sync_fence_info()13366 fn 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)]
13430 pub 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]
bindgen_test_layout_sync_file_info()13439 fn 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 }
13511 extern "C" {
sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i3213512     pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
13513 }
13514 extern "C" {
sync_file_info(fd: i32) -> *mut sync_file_info13515     pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
13516 }
13517 extern "C" {
sync_file_info_free(info: *mut sync_file_info)13518     pub fn sync_file_info_free(info: *mut sync_file_info);
13519 }
13520 extern "C" {
ATrace_isEnabled() -> bool13521     pub fn ATrace_isEnabled() -> bool;
13522 }
13523 extern "C" {
ATrace_beginSection(sectionName: *const ::std::os::raw::c_char)13524     pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
13525 }
13526 extern "C" {
ATrace_endSection()13527     pub fn ATrace_endSection();
13528 }
13529 extern "C" {
ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32)13530     pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
13531 }
13532 extern "C" {
ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32)13533     pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
13534 }
13535 extern "C" {
ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64)13536     pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
13537 }
13538 pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: _bindgen_ty_37 = 1;
13539 pub const AWINDOW_FLAG_DIM_BEHIND: _bindgen_ty_37 = 2;
13540 pub const AWINDOW_FLAG_BLUR_BEHIND: _bindgen_ty_37 = 4;
13541 pub const AWINDOW_FLAG_NOT_FOCUSABLE: _bindgen_ty_37 = 8;
13542 pub const AWINDOW_FLAG_NOT_TOUCHABLE: _bindgen_ty_37 = 16;
13543 pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: _bindgen_ty_37 = 32;
13544 pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: _bindgen_ty_37 = 64;
13545 pub const AWINDOW_FLAG_KEEP_SCREEN_ON: _bindgen_ty_37 = 128;
13546 pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: _bindgen_ty_37 = 256;
13547 pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: _bindgen_ty_37 = 512;
13548 pub const AWINDOW_FLAG_FULLSCREEN: _bindgen_ty_37 = 1024;
13549 pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: _bindgen_ty_37 = 2048;
13550 pub const AWINDOW_FLAG_DITHER: _bindgen_ty_37 = 4096;
13551 pub const AWINDOW_FLAG_SECURE: _bindgen_ty_37 = 8192;
13552 pub const AWINDOW_FLAG_SCALED: _bindgen_ty_37 = 16384;
13553 pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: _bindgen_ty_37 = 32768;
13554 pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: _bindgen_ty_37 = 65536;
13555 pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: _bindgen_ty_37 = 131072;
13556 pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: _bindgen_ty_37 = 262144;
13557 pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: _bindgen_ty_37 = 524288;
13558 pub const AWINDOW_FLAG_SHOW_WALLPAPER: _bindgen_ty_37 = 1048576;
13559 pub const AWINDOW_FLAG_TURN_SCREEN_ON: _bindgen_ty_37 = 2097152;
13560 pub const AWINDOW_FLAG_DISMISS_KEYGUARD: _bindgen_ty_37 = 4194304;
13561 pub type _bindgen_ty_37 = u32;
13562 pub type __builtin_va_list = __va_list;
13563 #[repr(C)]
13564 #[derive(Debug, Copy, Clone)]
13565 pub struct __va_list {
13566     pub __ap: *mut ::std::os::raw::c_void,
13567 }
13568 #[test]
bindgen_test_layout___va_list()13569 fn 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 }
13591