1 /* automatically generated by rust-bindgen */
2 
3 pub const __BIONIC__: u32 = 1;
4 pub const __WORDSIZE: u32 = 64;
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 __BITS_PER_LONG: u32 = 64;
53 pub const __FD_SETSIZE: u32 = 1024;
54 pub const __GNUC_VA_LIST: u32 = 1;
55 pub const JNI_FALSE: u32 = 0;
56 pub const JNI_TRUE: u32 = 1;
57 pub const JNI_VERSION_1_1: u32 = 65537;
58 pub const JNI_VERSION_1_2: u32 = 65538;
59 pub const JNI_VERSION_1_4: u32 = 65540;
60 pub const JNI_VERSION_1_6: u32 = 65542;
61 pub const JNI_OK: u32 = 0;
62 pub const JNI_ERR: i32 = -1;
63 pub const JNI_EDETACHED: i32 = -2;
64 pub const JNI_EVERSION: i32 = -3;
65 pub const JNI_ENOMEM: i32 = -4;
66 pub const JNI_EEXIST: i32 = -5;
67 pub const JNI_EINVAL: i32 = -6;
68 pub const JNI_COMMIT: u32 = 1;
69 pub const JNI_ABORT: u32 = 2;
70 pub const __PRI_64_prefix: &'static [u8; 2usize] = b"l\0";
71 pub const __PRI_PTR_prefix: &'static [u8; 2usize] = b"l\0";
72 pub const __PRI_FAST_prefix: &'static [u8; 2usize] = b"l\0";
73 pub const PRId8: &'static [u8; 2usize] = b"d\0";
74 pub const PRId16: &'static [u8; 2usize] = b"d\0";
75 pub const PRId32: &'static [u8; 2usize] = b"d\0";
76 pub const PRId64: &'static [u8; 3usize] = b"ld\0";
77 pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
78 pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
79 pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
80 pub const PRIdLEAST64: &'static [u8; 3usize] = b"ld\0";
81 pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
82 pub const PRIdFAST16: &'static [u8; 3usize] = b"ld\0";
83 pub const PRIdFAST32: &'static [u8; 3usize] = b"ld\0";
84 pub const PRIdFAST64: &'static [u8; 3usize] = b"ld\0";
85 pub const PRIdMAX: &'static [u8; 3usize] = b"jd\0";
86 pub const PRIdPTR: &'static [u8; 3usize] = b"ld\0";
87 pub const PRIi8: &'static [u8; 2usize] = b"i\0";
88 pub const PRIi16: &'static [u8; 2usize] = b"i\0";
89 pub const PRIi32: &'static [u8; 2usize] = b"i\0";
90 pub const PRIi64: &'static [u8; 3usize] = b"li\0";
91 pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
92 pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
93 pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
94 pub const PRIiLEAST64: &'static [u8; 3usize] = b"li\0";
95 pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
96 pub const PRIiFAST16: &'static [u8; 3usize] = b"li\0";
97 pub const PRIiFAST32: &'static [u8; 3usize] = b"li\0";
98 pub const PRIiFAST64: &'static [u8; 3usize] = b"li\0";
99 pub const PRIiMAX: &'static [u8; 3usize] = b"ji\0";
100 pub const PRIiPTR: &'static [u8; 3usize] = b"li\0";
101 pub const PRIo8: &'static [u8; 2usize] = b"o\0";
102 pub const PRIo16: &'static [u8; 2usize] = b"o\0";
103 pub const PRIo32: &'static [u8; 2usize] = b"o\0";
104 pub const PRIo64: &'static [u8; 3usize] = b"lo\0";
105 pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
106 pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
107 pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
108 pub const PRIoLEAST64: &'static [u8; 3usize] = b"lo\0";
109 pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
110 pub const PRIoFAST16: &'static [u8; 3usize] = b"lo\0";
111 pub const PRIoFAST32: &'static [u8; 3usize] = b"lo\0";
112 pub const PRIoFAST64: &'static [u8; 3usize] = b"lo\0";
113 pub const PRIoMAX: &'static [u8; 3usize] = b"jo\0";
114 pub const PRIoPTR: &'static [u8; 3usize] = b"lo\0";
115 pub const PRIu8: &'static [u8; 2usize] = b"u\0";
116 pub const PRIu16: &'static [u8; 2usize] = b"u\0";
117 pub const PRIu32: &'static [u8; 2usize] = b"u\0";
118 pub const PRIu64: &'static [u8; 3usize] = b"lu\0";
119 pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
120 pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
121 pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
122 pub const PRIuLEAST64: &'static [u8; 3usize] = b"lu\0";
123 pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
124 pub const PRIuFAST16: &'static [u8; 3usize] = b"lu\0";
125 pub const PRIuFAST32: &'static [u8; 3usize] = b"lu\0";
126 pub const PRIuFAST64: &'static [u8; 3usize] = b"lu\0";
127 pub const PRIuMAX: &'static [u8; 3usize] = b"ju\0";
128 pub const PRIuPTR: &'static [u8; 3usize] = b"lu\0";
129 pub const PRIx8: &'static [u8; 2usize] = b"x\0";
130 pub const PRIx16: &'static [u8; 2usize] = b"x\0";
131 pub const PRIx32: &'static [u8; 2usize] = b"x\0";
132 pub const PRIx64: &'static [u8; 3usize] = b"lx\0";
133 pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
134 pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
135 pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
136 pub const PRIxLEAST64: &'static [u8; 3usize] = b"lx\0";
137 pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
138 pub const PRIxFAST16: &'static [u8; 3usize] = b"lx\0";
139 pub const PRIxFAST32: &'static [u8; 3usize] = b"lx\0";
140 pub const PRIxFAST64: &'static [u8; 3usize] = b"lx\0";
141 pub const PRIxMAX: &'static [u8; 3usize] = b"jx\0";
142 pub const PRIxPTR: &'static [u8; 3usize] = b"lx\0";
143 pub const PRIX8: &'static [u8; 2usize] = b"X\0";
144 pub const PRIX16: &'static [u8; 2usize] = b"X\0";
145 pub const PRIX32: &'static [u8; 2usize] = b"X\0";
146 pub const PRIX64: &'static [u8; 3usize] = b"lX\0";
147 pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
148 pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
149 pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
150 pub const PRIXLEAST64: &'static [u8; 3usize] = b"lX\0";
151 pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
152 pub const PRIXFAST16: &'static [u8; 3usize] = b"lX\0";
153 pub const PRIXFAST32: &'static [u8; 3usize] = b"lX\0";
154 pub const PRIXFAST64: &'static [u8; 3usize] = b"lX\0";
155 pub const PRIXMAX: &'static [u8; 3usize] = b"jX\0";
156 pub const PRIXPTR: &'static [u8; 3usize] = b"lX\0";
157 pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
158 pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
159 pub const SCNd32: &'static [u8; 2usize] = b"d\0";
160 pub const SCNd64: &'static [u8; 3usize] = b"ld\0";
161 pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
162 pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
163 pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
164 pub const SCNdLEAST64: &'static [u8; 3usize] = b"ld\0";
165 pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
166 pub const SCNdFAST16: &'static [u8; 3usize] = b"ld\0";
167 pub const SCNdFAST32: &'static [u8; 3usize] = b"ld\0";
168 pub const SCNdFAST64: &'static [u8; 3usize] = b"ld\0";
169 pub const SCNdMAX: &'static [u8; 3usize] = b"jd\0";
170 pub const SCNdPTR: &'static [u8; 3usize] = b"ld\0";
171 pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
172 pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
173 pub const SCNi32: &'static [u8; 2usize] = b"i\0";
174 pub const SCNi64: &'static [u8; 3usize] = b"li\0";
175 pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
176 pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
177 pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
178 pub const SCNiLEAST64: &'static [u8; 3usize] = b"li\0";
179 pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
180 pub const SCNiFAST16: &'static [u8; 3usize] = b"li\0";
181 pub const SCNiFAST32: &'static [u8; 3usize] = b"li\0";
182 pub const SCNiFAST64: &'static [u8; 3usize] = b"li\0";
183 pub const SCNiMAX: &'static [u8; 3usize] = b"ji\0";
184 pub const SCNiPTR: &'static [u8; 3usize] = b"li\0";
185 pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
186 pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
187 pub const SCNo32: &'static [u8; 2usize] = b"o\0";
188 pub const SCNo64: &'static [u8; 3usize] = b"lo\0";
189 pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
190 pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
191 pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
192 pub const SCNoLEAST64: &'static [u8; 3usize] = b"lo\0";
193 pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
194 pub const SCNoFAST16: &'static [u8; 3usize] = b"lo\0";
195 pub const SCNoFAST32: &'static [u8; 3usize] = b"lo\0";
196 pub const SCNoFAST64: &'static [u8; 3usize] = b"lo\0";
197 pub const SCNoMAX: &'static [u8; 3usize] = b"jo\0";
198 pub const SCNoPTR: &'static [u8; 3usize] = b"lo\0";
199 pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
200 pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
201 pub const SCNu32: &'static [u8; 2usize] = b"u\0";
202 pub const SCNu64: &'static [u8; 3usize] = b"lu\0";
203 pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
204 pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
205 pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
206 pub const SCNuLEAST64: &'static [u8; 3usize] = b"lu\0";
207 pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
208 pub const SCNuFAST16: &'static [u8; 3usize] = b"lu\0";
209 pub const SCNuFAST32: &'static [u8; 3usize] = b"lu\0";
210 pub const SCNuFAST64: &'static [u8; 3usize] = b"lu\0";
211 pub const SCNuMAX: &'static [u8; 3usize] = b"ju\0";
212 pub const SCNuPTR: &'static [u8; 3usize] = b"lu\0";
213 pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
214 pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
215 pub const SCNx32: &'static [u8; 2usize] = b"x\0";
216 pub const SCNx64: &'static [u8; 3usize] = b"lx\0";
217 pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
218 pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
219 pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
220 pub const SCNxLEAST64: &'static [u8; 3usize] = b"lx\0";
221 pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
222 pub const SCNxFAST16: &'static [u8; 3usize] = b"lx\0";
223 pub const SCNxFAST32: &'static [u8; 3usize] = b"lx\0";
224 pub const SCNxFAST64: &'static [u8; 3usize] = b"lx\0";
225 pub const SCNxMAX: &'static [u8; 3usize] = b"jx\0";
226 pub const SCNxPTR: &'static [u8; 3usize] = b"lx\0";
227 pub const true_: u32 = 1;
228 pub const false_: u32 = 0;
229 pub const __bool_true_false_are_defined: u32 = 1;
230 pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
231 pub const _K_SS_MAXSIZE: u32 = 128;
232 pub const O_DIRECTORY: u32 = 16384;
233 pub const O_NOFOLLOW: u32 = 32768;
234 pub const O_DIRECT: u32 = 65536;
235 pub const O_LARGEFILE: u32 = 131072;
236 pub const O_ACCMODE: u32 = 3;
237 pub const O_RDONLY: u32 = 0;
238 pub const O_WRONLY: u32 = 1;
239 pub const O_RDWR: u32 = 2;
240 pub const O_CREAT: u32 = 64;
241 pub const O_EXCL: u32 = 128;
242 pub const O_NOCTTY: u32 = 256;
243 pub const O_TRUNC: u32 = 512;
244 pub const O_APPEND: u32 = 1024;
245 pub const O_NONBLOCK: u32 = 2048;
246 pub const O_DSYNC: u32 = 4096;
247 pub const FASYNC: u32 = 8192;
248 pub const O_NOATIME: u32 = 262144;
249 pub const O_CLOEXEC: u32 = 524288;
250 pub const __O_SYNC: u32 = 1048576;
251 pub const O_SYNC: u32 = 1052672;
252 pub const O_PATH: u32 = 2097152;
253 pub const __O_TMPFILE: u32 = 4194304;
254 pub const O_TMPFILE: u32 = 4210688;
255 pub const O_TMPFILE_MASK: u32 = 4210752;
256 pub const O_NDELAY: u32 = 2048;
257 pub const F_DUPFD: u32 = 0;
258 pub const F_GETFD: u32 = 1;
259 pub const F_SETFD: u32 = 2;
260 pub const F_GETFL: u32 = 3;
261 pub const F_SETFL: u32 = 4;
262 pub const F_GETLK: u32 = 5;
263 pub const F_SETLK: u32 = 6;
264 pub const F_SETLKW: u32 = 7;
265 pub const F_SETOWN: u32 = 8;
266 pub const F_GETOWN: u32 = 9;
267 pub const F_SETSIG: u32 = 10;
268 pub const F_GETSIG: u32 = 11;
269 pub const F_SETOWN_EX: u32 = 15;
270 pub const F_GETOWN_EX: u32 = 16;
271 pub const F_GETOWNER_UIDS: u32 = 17;
272 pub const F_OFD_GETLK: u32 = 36;
273 pub const F_OFD_SETLK: u32 = 37;
274 pub const F_OFD_SETLKW: u32 = 38;
275 pub const F_OWNER_TID: u32 = 0;
276 pub const F_OWNER_PID: u32 = 1;
277 pub const F_OWNER_PGRP: u32 = 2;
278 pub const FD_CLOEXEC: u32 = 1;
279 pub const F_RDLCK: u32 = 0;
280 pub const F_WRLCK: u32 = 1;
281 pub const F_UNLCK: u32 = 2;
282 pub const F_EXLCK: u32 = 4;
283 pub const F_SHLCK: u32 = 8;
284 pub const LOCK_SH: u32 = 1;
285 pub const LOCK_EX: u32 = 2;
286 pub const LOCK_NB: u32 = 4;
287 pub const LOCK_UN: u32 = 8;
288 pub const LOCK_MAND: u32 = 32;
289 pub const LOCK_READ: u32 = 64;
290 pub const LOCK_WRITE: u32 = 128;
291 pub const LOCK_RW: u32 = 192;
292 pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
293 pub const FIOSETOWN: u32 = 35073;
294 pub const SIOCSPGRP: u32 = 35074;
295 pub const FIOGETOWN: u32 = 35075;
296 pub const SIOCGPGRP: u32 = 35076;
297 pub const SIOCATMARK: u32 = 35077;
298 pub const SIOCGSTAMP: u32 = 35078;
299 pub const SIOCGSTAMPNS: u32 = 35079;
300 pub const SOL_SOCKET: u32 = 1;
301 pub const SO_DEBUG: u32 = 1;
302 pub const SO_REUSEADDR: u32 = 2;
303 pub const SO_TYPE: u32 = 3;
304 pub const SO_ERROR: u32 = 4;
305 pub const SO_DONTROUTE: u32 = 5;
306 pub const SO_BROADCAST: u32 = 6;
307 pub const SO_SNDBUF: u32 = 7;
308 pub const SO_RCVBUF: u32 = 8;
309 pub const SO_SNDBUFFORCE: u32 = 32;
310 pub const SO_RCVBUFFORCE: u32 = 33;
311 pub const SO_KEEPALIVE: u32 = 9;
312 pub const SO_OOBINLINE: u32 = 10;
313 pub const SO_NO_CHECK: u32 = 11;
314 pub const SO_PRIORITY: u32 = 12;
315 pub const SO_LINGER: u32 = 13;
316 pub const SO_BSDCOMPAT: u32 = 14;
317 pub const SO_REUSEPORT: u32 = 15;
318 pub const SO_PASSCRED: u32 = 16;
319 pub const SO_PEERCRED: u32 = 17;
320 pub const SO_RCVLOWAT: u32 = 18;
321 pub const SO_SNDLOWAT: u32 = 19;
322 pub const SO_RCVTIMEO: u32 = 20;
323 pub const SO_SNDTIMEO: u32 = 21;
324 pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
325 pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
326 pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
327 pub const SO_BINDTODEVICE: u32 = 25;
328 pub const SO_ATTACH_FILTER: u32 = 26;
329 pub const SO_DETACH_FILTER: u32 = 27;
330 pub const SO_GET_FILTER: u32 = 26;
331 pub const SO_PEERNAME: u32 = 28;
332 pub const SO_TIMESTAMP: u32 = 29;
333 pub const SCM_TIMESTAMP: u32 = 29;
334 pub const SO_ACCEPTCONN: u32 = 30;
335 pub const SO_PEERSEC: u32 = 31;
336 pub const SO_PASSSEC: u32 = 34;
337 pub const SO_TIMESTAMPNS: u32 = 35;
338 pub const SCM_TIMESTAMPNS: u32 = 35;
339 pub const SO_MARK: u32 = 36;
340 pub const SO_TIMESTAMPING: u32 = 37;
341 pub const SCM_TIMESTAMPING: u32 = 37;
342 pub const SO_PROTOCOL: u32 = 38;
343 pub const SO_DOMAIN: u32 = 39;
344 pub const SO_RXQ_OVFL: u32 = 40;
345 pub const SO_WIFI_STATUS: u32 = 41;
346 pub const SCM_WIFI_STATUS: u32 = 41;
347 pub const SO_PEEK_OFF: u32 = 42;
348 pub const SO_NOFCS: u32 = 43;
349 pub const SO_LOCK_FILTER: u32 = 44;
350 pub const SO_SELECT_ERR_QUEUE: u32 = 45;
351 pub const SO_BUSY_POLL: u32 = 46;
352 pub const SO_MAX_PACING_RATE: u32 = 47;
353 pub const SO_BPF_EXTENSIONS: u32 = 48;
354 pub const SO_INCOMING_CPU: u32 = 49;
355 pub const SO_ATTACH_BPF: u32 = 50;
356 pub const SO_DETACH_BPF: u32 = 27;
357 pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
358 pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
359 pub const SO_CNX_ADVICE: u32 = 53;
360 pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
361 pub const SO_MEMINFO: u32 = 55;
362 pub const SO_INCOMING_NAPI_ID: u32 = 56;
363 pub const SO_COOKIE: u32 = 57;
364 pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
365 pub const SO_PEERGROUPS: u32 = 59;
366 pub const SO_ZEROCOPY: u32 = 60;
367 pub const SO_TXTIME: u32 = 61;
368 pub const SCM_TXTIME: u32 = 61;
369 pub const SOCK_IOC_TYPE: u32 = 137;
370 pub const SIOCADDRT: u32 = 35083;
371 pub const SIOCDELRT: u32 = 35084;
372 pub const SIOCRTMSG: u32 = 35085;
373 pub const SIOCGIFNAME: u32 = 35088;
374 pub const SIOCSIFLINK: u32 = 35089;
375 pub const SIOCGIFCONF: u32 = 35090;
376 pub const SIOCGIFFLAGS: u32 = 35091;
377 pub const SIOCSIFFLAGS: u32 = 35092;
378 pub const SIOCGIFADDR: u32 = 35093;
379 pub const SIOCSIFADDR: u32 = 35094;
380 pub const SIOCGIFDSTADDR: u32 = 35095;
381 pub const SIOCSIFDSTADDR: u32 = 35096;
382 pub const SIOCGIFBRDADDR: u32 = 35097;
383 pub const SIOCSIFBRDADDR: u32 = 35098;
384 pub const SIOCGIFNETMASK: u32 = 35099;
385 pub const SIOCSIFNETMASK: u32 = 35100;
386 pub const SIOCGIFMETRIC: u32 = 35101;
387 pub const SIOCSIFMETRIC: u32 = 35102;
388 pub const SIOCGIFMEM: u32 = 35103;
389 pub const SIOCSIFMEM: u32 = 35104;
390 pub const SIOCGIFMTU: u32 = 35105;
391 pub const SIOCSIFMTU: u32 = 35106;
392 pub const SIOCSIFNAME: u32 = 35107;
393 pub const SIOCSIFHWADDR: u32 = 35108;
394 pub const SIOCGIFENCAP: u32 = 35109;
395 pub const SIOCSIFENCAP: u32 = 35110;
396 pub const SIOCGIFHWADDR: u32 = 35111;
397 pub const SIOCGIFSLAVE: u32 = 35113;
398 pub const SIOCSIFSLAVE: u32 = 35120;
399 pub const SIOCADDMULTI: u32 = 35121;
400 pub const SIOCDELMULTI: u32 = 35122;
401 pub const SIOCGIFINDEX: u32 = 35123;
402 pub const SIOGIFINDEX: u32 = 35123;
403 pub const SIOCSIFPFLAGS: u32 = 35124;
404 pub const SIOCGIFPFLAGS: u32 = 35125;
405 pub const SIOCDIFADDR: u32 = 35126;
406 pub const SIOCSIFHWBROADCAST: u32 = 35127;
407 pub const SIOCGIFCOUNT: u32 = 35128;
408 pub const SIOCGIFBR: u32 = 35136;
409 pub const SIOCSIFBR: u32 = 35137;
410 pub const SIOCGIFTXQLEN: u32 = 35138;
411 pub const SIOCSIFTXQLEN: u32 = 35139;
412 pub const SIOCETHTOOL: u32 = 35142;
413 pub const SIOCGMIIPHY: u32 = 35143;
414 pub const SIOCGMIIREG: u32 = 35144;
415 pub const SIOCSMIIREG: u32 = 35145;
416 pub const SIOCWANDEV: u32 = 35146;
417 pub const SIOCOUTQNSD: u32 = 35147;
418 pub const SIOCGSKNS: u32 = 35148;
419 pub const SIOCDARP: u32 = 35155;
420 pub const SIOCGARP: u32 = 35156;
421 pub const SIOCSARP: u32 = 35157;
422 pub const SIOCDRARP: u32 = 35168;
423 pub const SIOCGRARP: u32 = 35169;
424 pub const SIOCSRARP: u32 = 35170;
425 pub const SIOCGIFMAP: u32 = 35184;
426 pub const SIOCSIFMAP: u32 = 35185;
427 pub const SIOCADDDLCI: u32 = 35200;
428 pub const SIOCDELDLCI: u32 = 35201;
429 pub const SIOCGIFVLAN: u32 = 35202;
430 pub const SIOCSIFVLAN: u32 = 35203;
431 pub const SIOCBONDENSLAVE: u32 = 35216;
432 pub const SIOCBONDRELEASE: u32 = 35217;
433 pub const SIOCBONDSETHWADDR: u32 = 35218;
434 pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
435 pub const SIOCBONDINFOQUERY: u32 = 35220;
436 pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
437 pub const SIOCBRADDBR: u32 = 35232;
438 pub const SIOCBRDELBR: u32 = 35233;
439 pub const SIOCBRADDIF: u32 = 35234;
440 pub const SIOCBRDELIF: u32 = 35235;
441 pub const SIOCSHWTSTAMP: u32 = 35248;
442 pub const SIOCGHWTSTAMP: u32 = 35249;
443 pub const SIOCDEVPRIVATE: u32 = 35312;
444 pub const SIOCPROTOPRIVATE: u32 = 35296;
445 pub const UIO_FASTIOV: u32 = 8;
446 pub const UIO_MAXIOV: u32 = 1024;
447 pub const SOCK_STREAM: u32 = 1;
448 pub const SOCK_DGRAM: u32 = 2;
449 pub const SOCK_RAW: u32 = 3;
450 pub const SOCK_RDM: u32 = 4;
451 pub const SOCK_SEQPACKET: u32 = 5;
452 pub const SOCK_DCCP: u32 = 6;
453 pub const SOCK_PACKET: u32 = 10;
454 pub const SOCK_CLOEXEC: u32 = 524288;
455 pub const SOCK_NONBLOCK: u32 = 2048;
456 pub const SCM_RIGHTS: u32 = 1;
457 pub const SCM_CREDENTIALS: u32 = 2;
458 pub const SCM_SECURITY: u32 = 3;
459 pub const AF_UNSPEC: u32 = 0;
460 pub const AF_UNIX: u32 = 1;
461 pub const AF_LOCAL: u32 = 1;
462 pub const AF_INET: u32 = 2;
463 pub const AF_AX25: u32 = 3;
464 pub const AF_IPX: u32 = 4;
465 pub const AF_APPLETALK: u32 = 5;
466 pub const AF_NETROM: u32 = 6;
467 pub const AF_BRIDGE: u32 = 7;
468 pub const AF_ATMPVC: u32 = 8;
469 pub const AF_X25: u32 = 9;
470 pub const AF_INET6: u32 = 10;
471 pub const AF_ROSE: u32 = 11;
472 pub const AF_DECnet: u32 = 12;
473 pub const AF_NETBEUI: u32 = 13;
474 pub const AF_SECURITY: u32 = 14;
475 pub const AF_KEY: u32 = 15;
476 pub const AF_NETLINK: u32 = 16;
477 pub const AF_ROUTE: u32 = 16;
478 pub const AF_PACKET: u32 = 17;
479 pub const AF_ASH: u32 = 18;
480 pub const AF_ECONET: u32 = 19;
481 pub const AF_ATMSVC: u32 = 20;
482 pub const AF_RDS: u32 = 21;
483 pub const AF_SNA: u32 = 22;
484 pub const AF_IRDA: u32 = 23;
485 pub const AF_PPPOX: u32 = 24;
486 pub const AF_WANPIPE: u32 = 25;
487 pub const AF_LLC: u32 = 26;
488 pub const AF_CAN: u32 = 29;
489 pub const AF_TIPC: u32 = 30;
490 pub const AF_BLUETOOTH: u32 = 31;
491 pub const AF_IUCV: u32 = 32;
492 pub const AF_RXRPC: u32 = 33;
493 pub const AF_ISDN: u32 = 34;
494 pub const AF_PHONET: u32 = 35;
495 pub const AF_IEEE802154: u32 = 36;
496 pub const AF_CAIF: u32 = 37;
497 pub const AF_ALG: u32 = 38;
498 pub const AF_NFC: u32 = 39;
499 pub const AF_VSOCK: u32 = 40;
500 pub const AF_KCM: u32 = 41;
501 pub const AF_QIPCRTR: u32 = 42;
502 pub const AF_MAX: u32 = 43;
503 pub const PF_UNSPEC: u32 = 0;
504 pub const PF_UNIX: u32 = 1;
505 pub const PF_LOCAL: u32 = 1;
506 pub const PF_INET: u32 = 2;
507 pub const PF_AX25: u32 = 3;
508 pub const PF_IPX: u32 = 4;
509 pub const PF_APPLETALK: u32 = 5;
510 pub const PF_NETROM: u32 = 6;
511 pub const PF_BRIDGE: u32 = 7;
512 pub const PF_ATMPVC: u32 = 8;
513 pub const PF_X25: u32 = 9;
514 pub const PF_INET6: u32 = 10;
515 pub const PF_ROSE: u32 = 11;
516 pub const PF_DECnet: u32 = 12;
517 pub const PF_NETBEUI: u32 = 13;
518 pub const PF_SECURITY: u32 = 14;
519 pub const PF_KEY: u32 = 15;
520 pub const PF_NETLINK: u32 = 16;
521 pub const PF_ROUTE: u32 = 16;
522 pub const PF_PACKET: u32 = 17;
523 pub const PF_ASH: u32 = 18;
524 pub const PF_ECONET: u32 = 19;
525 pub const PF_ATMSVC: u32 = 20;
526 pub const PF_RDS: u32 = 21;
527 pub const PF_SNA: u32 = 22;
528 pub const PF_IRDA: u32 = 23;
529 pub const PF_PPPOX: u32 = 24;
530 pub const PF_WANPIPE: u32 = 25;
531 pub const PF_LLC: u32 = 26;
532 pub const PF_CAN: u32 = 29;
533 pub const PF_TIPC: u32 = 30;
534 pub const PF_BLUETOOTH: u32 = 31;
535 pub const PF_IUCV: u32 = 32;
536 pub const PF_RXRPC: u32 = 33;
537 pub const PF_ISDN: u32 = 34;
538 pub const PF_PHONET: u32 = 35;
539 pub const PF_IEEE802154: u32 = 36;
540 pub const PF_CAIF: u32 = 37;
541 pub const PF_ALG: u32 = 38;
542 pub const PF_NFC: u32 = 39;
543 pub const PF_VSOCK: u32 = 40;
544 pub const PF_KCM: u32 = 41;
545 pub const PF_QIPCRTR: u32 = 42;
546 pub const PF_MAX: u32 = 43;
547 pub const SOMAXCONN: u32 = 128;
548 pub const MSG_OOB: u32 = 1;
549 pub const MSG_PEEK: u32 = 2;
550 pub const MSG_DONTROUTE: u32 = 4;
551 pub const MSG_TRYHARD: u32 = 4;
552 pub const MSG_CTRUNC: u32 = 8;
553 pub const MSG_PROBE: u32 = 16;
554 pub const MSG_TRUNC: u32 = 32;
555 pub const MSG_DONTWAIT: u32 = 64;
556 pub const MSG_EOR: u32 = 128;
557 pub const MSG_WAITALL: u32 = 256;
558 pub const MSG_FIN: u32 = 512;
559 pub const MSG_SYN: u32 = 1024;
560 pub const MSG_CONFIRM: u32 = 2048;
561 pub const MSG_RST: u32 = 4096;
562 pub const MSG_ERRQUEUE: u32 = 8192;
563 pub const MSG_NOSIGNAL: u32 = 16384;
564 pub const MSG_MORE: u32 = 32768;
565 pub const MSG_WAITFORONE: u32 = 65536;
566 pub const MSG_BATCH: u32 = 262144;
567 pub const MSG_FASTOPEN: u32 = 536870912;
568 pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
569 pub const MSG_EOF: u32 = 512;
570 pub const MSG_CMSG_COMPAT: u32 = 0;
571 pub const SOL_IP: u32 = 0;
572 pub const SOL_TCP: u32 = 6;
573 pub const SOL_UDP: u32 = 17;
574 pub const SOL_IPV6: u32 = 41;
575 pub const SOL_ICMPV6: u32 = 58;
576 pub const SOL_SCTP: u32 = 132;
577 pub const SOL_RAW: u32 = 255;
578 pub const SOL_IPX: u32 = 256;
579 pub const SOL_AX25: u32 = 257;
580 pub const SOL_ATALK: u32 = 258;
581 pub const SOL_NETROM: u32 = 259;
582 pub const SOL_ROSE: u32 = 260;
583 pub const SOL_DECNET: u32 = 261;
584 pub const SOL_X25: u32 = 262;
585 pub const SOL_PACKET: u32 = 263;
586 pub const SOL_ATM: u32 = 264;
587 pub const SOL_AAL: u32 = 265;
588 pub const SOL_IRDA: u32 = 266;
589 pub const SOL_NETBEUI: u32 = 267;
590 pub const SOL_LLC: u32 = 268;
591 pub const SOL_DCCP: u32 = 269;
592 pub const SOL_NETLINK: u32 = 270;
593 pub const SOL_TIPC: u32 = 271;
594 pub const SOL_RXRPC: u32 = 272;
595 pub const SOL_PPPOL2TP: u32 = 273;
596 pub const SOL_BLUETOOTH: u32 = 274;
597 pub const SOL_PNPIPE: u32 = 275;
598 pub const SOL_RDS: u32 = 276;
599 pub const SOL_IUCV: u32 = 277;
600 pub const SOL_CAIF: u32 = 278;
601 pub const SOL_ALG: u32 = 279;
602 pub const SOL_NFC: u32 = 280;
603 pub const SOL_KCM: u32 = 281;
604 pub const SOL_TLS: u32 = 282;
605 pub const IPX_TYPE: u32 = 1;
606 pub const _PATH_HEQUIV: &'static [u8; 24usize] = b"/system/etc/hosts.equiv\0";
607 pub const _PATH_HOSTS: &'static [u8; 18usize] = b"/system/etc/hosts\0";
608 pub const _PATH_NETWORKS: &'static [u8; 21usize] = b"/system/etc/networks\0";
609 pub const _PATH_PROTOCOLS: &'static [u8; 22usize] = b"/system/etc/protocols\0";
610 pub const _PATH_SERVICES: &'static [u8; 21usize] = b"/system/etc/services\0";
611 pub const NETDB_INTERNAL: i32 = -1;
612 pub const NETDB_SUCCESS: u32 = 0;
613 pub const HOST_NOT_FOUND: u32 = 1;
614 pub const TRY_AGAIN: u32 = 2;
615 pub const NO_RECOVERY: u32 = 3;
616 pub const NO_DATA: u32 = 4;
617 pub const NO_ADDRESS: u32 = 4;
618 pub const EAI_ADDRFAMILY: u32 = 1;
619 pub const EAI_AGAIN: u32 = 2;
620 pub const EAI_BADFLAGS: u32 = 3;
621 pub const EAI_FAIL: u32 = 4;
622 pub const EAI_FAMILY: u32 = 5;
623 pub const EAI_MEMORY: u32 = 6;
624 pub const EAI_NODATA: u32 = 7;
625 pub const EAI_NONAME: u32 = 8;
626 pub const EAI_SERVICE: u32 = 9;
627 pub const EAI_SOCKTYPE: u32 = 10;
628 pub const EAI_SYSTEM: u32 = 11;
629 pub const EAI_BADHINTS: u32 = 12;
630 pub const EAI_PROTOCOL: u32 = 13;
631 pub const EAI_OVERFLOW: u32 = 14;
632 pub const EAI_MAX: u32 = 15;
633 pub const AI_PASSIVE: u32 = 1;
634 pub const AI_CANONNAME: u32 = 2;
635 pub const AI_NUMERICHOST: u32 = 4;
636 pub const AI_NUMERICSERV: u32 = 8;
637 pub const AI_ALL: u32 = 256;
638 pub const AI_V4MAPPED_CFG: u32 = 512;
639 pub const AI_ADDRCONFIG: u32 = 1024;
640 pub const AI_V4MAPPED: u32 = 2048;
641 pub const AI_DEFAULT: u32 = 1536;
642 pub const NI_MAXHOST: u32 = 1025;
643 pub const NI_MAXSERV: u32 = 32;
644 pub const NI_NOFQDN: u32 = 1;
645 pub const NI_NUMERICHOST: u32 = 2;
646 pub const NI_NAMEREQD: u32 = 4;
647 pub const NI_NUMERICSERV: u32 = 8;
648 pub const NI_DGRAM: u32 = 16;
649 pub const SCOPE_DELIMITER: u8 = 37u8;
650 pub const IPPORT_RESERVED: u32 = 1024;
651 pub const WNOHANG: u32 = 1;
652 pub const WUNTRACED: u32 = 2;
653 pub const WSTOPPED: u32 = 2;
654 pub const WEXITED: u32 = 4;
655 pub const WCONTINUED: u32 = 8;
656 pub const WNOWAIT: u32 = 16777216;
657 pub const __WNOTHREAD: u32 = 536870912;
658 pub const __WALL: u32 = 1073741824;
659 pub const __WCLONE: u32 = 2147483648;
660 pub const P_ALL: u32 = 0;
661 pub const P_PID: u32 = 1;
662 pub const P_PGID: u32 = 2;
663 pub const SEEK_SET: u32 = 0;
664 pub const SEEK_CUR: u32 = 1;
665 pub const SEEK_END: u32 = 2;
666 pub const _IOFBF: u32 = 0;
667 pub const _IOLBF: u32 = 1;
668 pub const _IONBF: u32 = 2;
669 pub const BUFSIZ: u32 = 1024;
670 pub const EOF: i32 = -1;
671 pub const FOPEN_MAX: u32 = 20;
672 pub const FILENAME_MAX: u32 = 4096;
673 pub const L_tmpnam: u32 = 4096;
674 pub const TMP_MAX: u32 = 308915776;
675 pub const P_tmpdir: &'static [u8; 6usize] = b"/tmp/\0";
676 pub const L_ctermid: u32 = 1024;
677 pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
678 pub const M_DECAY_TIME: i32 = -100;
679 pub const M_PURGE: i32 = -101;
680 pub const EXIT_FAILURE: u32 = 1;
681 pub const EXIT_SUCCESS: u32 = 0;
682 pub const RAND_MAX: u32 = 2147483647;
683 pub const __NDK_MAJOR__: u32 = 20;
684 pub const __NDK_MINOR__: u32 = 0;
685 pub const __NDK_BETA__: u32 = 0;
686 pub const __NDK_BUILD__: u32 = 5594570;
687 pub const __NDK_CANARY__: u32 = 0;
688 pub const NR_OPEN: u32 = 1024;
689 pub const NGROUPS_MAX: u32 = 65536;
690 pub const ARG_MAX: u32 = 131072;
691 pub const LINK_MAX: u32 = 127;
692 pub const MAX_CANON: u32 = 255;
693 pub const MAX_INPUT: u32 = 255;
694 pub const NAME_MAX: u32 = 255;
695 pub const PATH_MAX: u32 = 4096;
696 pub const PIPE_BUF: u32 = 4096;
697 pub const XATTR_NAME_MAX: u32 = 255;
698 pub const XATTR_SIZE_MAX: u32 = 65536;
699 pub const XATTR_LIST_MAX: u32 = 65536;
700 pub const RTSIG_MAX: u32 = 32;
701 pub const PASS_MAX: u32 = 128;
702 pub const NL_ARGMAX: u32 = 9;
703 pub const NL_LANGMAX: u32 = 14;
704 pub const NL_MSGMAX: u32 = 32767;
705 pub const NL_NMAX: u32 = 1;
706 pub const NL_SETMAX: u32 = 255;
707 pub const NL_TEXTMAX: u32 = 255;
708 pub const CHAR_BIT: u32 = 8;
709 pub const LONG_BIT: u32 = 64;
710 pub const WORD_BIT: u32 = 32;
711 pub const SCHAR_MAX: u32 = 127;
712 pub const SCHAR_MIN: i32 = -128;
713 pub const UCHAR_MAX: u32 = 255;
714 pub const CHAR_MIN: u32 = 0;
715 pub const CHAR_MAX: u32 = 255;
716 pub const USHRT_MAX: u32 = 65535;
717 pub const SHRT_MAX: u32 = 32767;
718 pub const SHRT_MIN: i32 = -32768;
719 pub const UINT_MAX: u32 = 4294967295;
720 pub const INT_MAX: u32 = 2147483647;
721 pub const INT_MIN: i32 = -2147483648;
722 pub const ULONG_MAX: i32 = -1;
723 pub const LONG_MAX: u64 = 9223372036854775807;
724 pub const LONG_MIN: i64 = -9223372036854775808;
725 pub const ULLONG_MAX: i32 = -1;
726 pub const LLONG_MAX: u64 = 9223372036854775807;
727 pub const LLONG_MIN: i64 = -9223372036854775808;
728 pub const LONG_LONG_MIN: i64 = -9223372036854775808;
729 pub const LONG_LONG_MAX: u64 = 9223372036854775807;
730 pub const ULONG_LONG_MAX: i32 = -1;
731 pub const UID_MAX: u32 = 4294967295;
732 pub const GID_MAX: u32 = 4294967295;
733 pub const SIZE_T_MAX: i32 = -1;
734 pub const SSIZE_MAX: u64 = 9223372036854775807;
735 pub const MB_LEN_MAX: u32 = 4;
736 pub const NZERO: u32 = 20;
737 pub const IOV_MAX: u32 = 1024;
738 pub const SEM_VALUE_MAX: u32 = 1073741823;
739 pub const _POSIX_VERSION: u32 = 200809;
740 pub const _POSIX2_VERSION: u32 = 200809;
741 pub const _XOPEN_VERSION: u32 = 700;
742 pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
743 pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
744 pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
745 pub const _POSIX_CPUTIME: u32 = 200809;
746 pub const _POSIX_FSYNC: u32 = 200809;
747 pub const _POSIX_IPV6: u32 = 200809;
748 pub const _POSIX_MAPPED_FILES: u32 = 200809;
749 pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
750 pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
751 pub const _POSIX_MESSAGE_PASSING: i32 = -1;
752 pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
753 pub const _POSIX_NO_TRUNC: u32 = 1;
754 pub const _POSIX_PRIORITIZED_IO: i32 = -1;
755 pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
756 pub const _POSIX_RAW_SOCKETS: u32 = 200809;
757 pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
758 pub const _POSIX_REGEXP: u32 = 1;
759 pub const _POSIX_SAVED_IDS: u32 = 1;
760 pub const _POSIX_SEMAPHORES: u32 = 200809;
761 pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
762 pub const _POSIX_SHELL: u32 = 1;
763 pub const _POSIX_SPORADIC_SERVER: i32 = -1;
764 pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
765 pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
766 pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
767 pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
768 pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
769 pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
770 pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
771 pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
772 pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
773 pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
774 pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
775 pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
776 pub const _POSIX_THREADS: u32 = 200809;
777 pub const _POSIX_TIMERS: u32 = 200809;
778 pub const _POSIX_TRACE: i32 = -1;
779 pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
780 pub const _POSIX_TRACE_INHERIT: i32 = -1;
781 pub const _POSIX_TRACE_LOG: i32 = -1;
782 pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
783 pub const _POSIX_VDISABLE: u8 = 0u8;
784 pub const _POSIX2_C_BIND: u32 = 200809;
785 pub const _POSIX2_C_DEV: i32 = -1;
786 pub const _POSIX2_CHAR_TERM: u32 = 200809;
787 pub const _POSIX2_FORT_DEV: i32 = -1;
788 pub const _POSIX2_FORT_RUN: i32 = -1;
789 pub const _POSIX2_LOCALEDEF: i32 = -1;
790 pub const _POSIX2_SW_DEV: i32 = -1;
791 pub const _POSIX2_UPE: i32 = -1;
792 pub const _POSIX_V7_ILP32_OFF32: i32 = -1;
793 pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
794 pub const _POSIX_V7_LP64_OFF64: u32 = 1;
795 pub const _POSIX_V7_LPBIG_OFFBIG: u32 = 1;
796 pub const _XOPEN_CRYPT: i32 = -1;
797 pub const _XOPEN_ENH_I18N: u32 = 1;
798 pub const _XOPEN_LEGACY: i32 = -1;
799 pub const _XOPEN_REALTIME: u32 = 1;
800 pub const _XOPEN_REALTIME_THREADS: u32 = 1;
801 pub const _XOPEN_SHM: u32 = 1;
802 pub const _XOPEN_STREAMS: i32 = -1;
803 pub const _XOPEN_UNIX: u32 = 1;
804 pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
805 pub const _POSIX_AIO_MAX: u32 = 1;
806 pub const _POSIX_ARG_MAX: u32 = 4096;
807 pub const _POSIX_CHILD_MAX: u32 = 25;
808 pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
809 pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
810 pub const _POSIX_HOST_NAME_MAX: u32 = 255;
811 pub const _POSIX_LINK_MAX: u32 = 8;
812 pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
813 pub const _POSIX_MAX_CANON: u32 = 255;
814 pub const _POSIX_MAX_INPUT: u32 = 255;
815 pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
816 pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
817 pub const _POSIX_NAME_MAX: u32 = 14;
818 pub const _POSIX_NGROUPS_MAX: u32 = 8;
819 pub const _POSIX_OPEN_MAX: u32 = 20;
820 pub const _POSIX_PATH_MAX: u32 = 256;
821 pub const _POSIX_PIPE_BUF: u32 = 512;
822 pub const _POSIX_RE_DUP_MAX: u32 = 255;
823 pub const _POSIX_RTSIG_MAX: u32 = 8;
824 pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
825 pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
826 pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
827 pub const _POSIX_SSIZE_MAX: u32 = 32767;
828 pub const _POSIX_STREAM_MAX: u32 = 8;
829 pub const _POSIX_SS_REPL_MAX: u32 = 4;
830 pub const _POSIX_SYMLINK_MAX: u32 = 255;
831 pub const _POSIX_SYMLOOP_MAX: u32 = 8;
832 pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
833 pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
834 pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
835 pub const _POSIX_TIMER_MAX: u32 = 32;
836 pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
837 pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
838 pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
839 pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
840 pub const _POSIX_TTY_NAME_MAX: u32 = 9;
841 pub const _POSIX_TZNAME_MAX: u32 = 6;
842 pub const _POSIX2_BC_BASE_MAX: u32 = 99;
843 pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
844 pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
845 pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
846 pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
847 pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
848 pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
849 pub const _POSIX2_LINE_MAX: u32 = 2048;
850 pub const _POSIX2_RE_DUP_MAX: u32 = 255;
851 pub const _XOPEN_IOV_MAX: u32 = 16;
852 pub const _XOPEN_NAME_MAX: u32 = 255;
853 pub const _XOPEN_PATH_MAX: u32 = 1024;
854 pub const HOST_NAME_MAX: u32 = 255;
855 pub const LOGIN_NAME_MAX: u32 = 256;
856 pub const TTY_NAME_MAX: u32 = 32;
857 pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
858 pub const PTHREAD_KEYS_MAX: u32 = 128;
859 pub const FP_INFINITE: u32 = 1;
860 pub const FP_NAN: u32 = 2;
861 pub const FP_NORMAL: u32 = 4;
862 pub const FP_SUBNORMAL: u32 = 8;
863 pub const FP_ZERO: u32 = 16;
864 pub const FP_ILOGB0: i32 = -2147483647;
865 pub const FP_ILOGBNAN: u32 = 2147483647;
866 pub const MATH_ERRNO: u32 = 1;
867 pub const MATH_ERREXCEPT: u32 = 2;
868 pub const math_errhandling: u32 = 2;
869 pub const M_E: f64 = 2.718281828459045;
870 pub const M_LOG2E: f64 = 1.4426950408889634;
871 pub const M_LOG10E: f64 = 0.4342944819032518;
872 pub const M_LN2: f64 = 0.6931471805599453;
873 pub const M_LN10: f64 = 2.302585092994046;
874 pub const M_PI: f64 = 3.141592653589793;
875 pub const M_PI_2: f64 = 1.5707963267948966;
876 pub const M_PI_4: f64 = 0.7853981633974483;
877 pub const M_1_PI: f64 = 0.3183098861837907;
878 pub const M_2_PI: f64 = 0.6366197723675814;
879 pub const M_2_SQRTPI: f64 = 1.1283791670955126;
880 pub const M_SQRT2: f64 = 1.4142135623730951;
881 pub const M_SQRT1_2: f64 = 0.7071067811865476;
882 pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
883 pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
884 pub const ASENSOR_INVALID: i32 = -1;
885 pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
886 pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
887 pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
888 pub const _IOC_NRBITS: u32 = 8;
889 pub const _IOC_TYPEBITS: u32 = 8;
890 pub const _IOC_SIZEBITS: u32 = 14;
891 pub const _IOC_DIRBITS: u32 = 2;
892 pub const _IOC_NRMASK: u32 = 255;
893 pub const _IOC_TYPEMASK: u32 = 255;
894 pub const _IOC_SIZEMASK: u32 = 16383;
895 pub const _IOC_DIRMASK: u32 = 3;
896 pub const _IOC_NRSHIFT: u32 = 0;
897 pub const _IOC_TYPESHIFT: u32 = 8;
898 pub const _IOC_SIZESHIFT: u32 = 16;
899 pub const _IOC_DIRSHIFT: u32 = 30;
900 pub const _IOC_NONE: u32 = 0;
901 pub const _IOC_WRITE: u32 = 1;
902 pub const _IOC_READ: u32 = 2;
903 pub const IOC_IN: u32 = 1073741824;
904 pub const IOC_OUT: u32 = 2147483648;
905 pub const IOC_INOUT: u32 = 3221225472;
906 pub const IOCSIZE_MASK: u32 = 1073676288;
907 pub const IOCSIZE_SHIFT: u32 = 16;
908 pub const SYNC_IOC_MAGIC: u8 = 62u8;
909 extern "C" {
android_get_application_target_sdk_version() -> ::std::os::raw::c_int910     pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
911 }
912 extern "C" {
android_get_device_api_level() -> ::std::os::raw::c_int913     pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
914 }
915 pub type wchar_t = ::std::os::raw::c_uint;
916 #[repr(C)]
917 #[repr(align(16))]
918 #[derive(Debug, Copy, Clone)]
919 pub struct max_align_t {
920     pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
921     pub __bindgen_padding_0: u64,
922     pub __clang_max_align_nonce2: u128,
923 }
924 #[test]
bindgen_test_layout_max_align_t()925 fn bindgen_test_layout_max_align_t() {
926     assert_eq!(
927         ::std::mem::size_of::<max_align_t>(),
928         32usize,
929         concat!("Size of: ", stringify!(max_align_t))
930     );
931     assert_eq!(
932         ::std::mem::align_of::<max_align_t>(),
933         16usize,
934         concat!("Alignment of ", stringify!(max_align_t))
935     );
936     assert_eq!(
937         unsafe {
938             &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
939         },
940         0usize,
941         concat!(
942             "Offset of field: ",
943             stringify!(max_align_t),
944             "::",
945             stringify!(__clang_max_align_nonce1)
946         )
947     );
948     assert_eq!(
949         unsafe {
950             &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
951         },
952         16usize,
953         concat!(
954             "Offset of field: ",
955             stringify!(max_align_t),
956             "::",
957             stringify!(__clang_max_align_nonce2)
958         )
959     );
960 }
961 pub type __int8_t = ::std::os::raw::c_schar;
962 pub type __uint8_t = ::std::os::raw::c_uchar;
963 pub type __int16_t = ::std::os::raw::c_short;
964 pub type __uint16_t = ::std::os::raw::c_ushort;
965 pub type __int32_t = ::std::os::raw::c_int;
966 pub type __uint32_t = ::std::os::raw::c_uint;
967 pub type __int64_t = ::std::os::raw::c_long;
968 pub type __uint64_t = ::std::os::raw::c_ulong;
969 pub type __intptr_t = ::std::os::raw::c_long;
970 pub type __uintptr_t = ::std::os::raw::c_ulong;
971 pub type int_least8_t = i8;
972 pub type uint_least8_t = u8;
973 pub type int_least16_t = i16;
974 pub type uint_least16_t = u16;
975 pub type int_least32_t = i32;
976 pub type uint_least32_t = u32;
977 pub type int_least64_t = i64;
978 pub type uint_least64_t = u64;
979 pub type int_fast8_t = i8;
980 pub type uint_fast8_t = u8;
981 pub type int_fast64_t = i64;
982 pub type uint_fast64_t = u64;
983 pub type int_fast16_t = i64;
984 pub type uint_fast16_t = u64;
985 pub type int_fast32_t = i64;
986 pub type uint_fast32_t = u64;
987 pub type uintmax_t = u64;
988 pub type intmax_t = i64;
989 pub type __s8 = ::std::os::raw::c_schar;
990 pub type __u8 = ::std::os::raw::c_uchar;
991 pub type __s16 = ::std::os::raw::c_short;
992 pub type __u16 = ::std::os::raw::c_ushort;
993 pub type __s32 = ::std::os::raw::c_int;
994 pub type __u32 = ::std::os::raw::c_uint;
995 pub type __s64 = ::std::os::raw::c_longlong;
996 pub type __u64 = ::std::os::raw::c_ulonglong;
997 #[repr(C)]
998 #[derive(Debug, Copy, Clone)]
999 pub struct __kernel_fd_set {
1000     pub fds_bits: [::std::os::raw::c_ulong; 16usize],
1001 }
1002 #[test]
bindgen_test_layout___kernel_fd_set()1003 fn bindgen_test_layout___kernel_fd_set() {
1004     assert_eq!(
1005         ::std::mem::size_of::<__kernel_fd_set>(),
1006         128usize,
1007         concat!("Size of: ", stringify!(__kernel_fd_set))
1008     );
1009     assert_eq!(
1010         ::std::mem::align_of::<__kernel_fd_set>(),
1011         8usize,
1012         concat!("Alignment of ", stringify!(__kernel_fd_set))
1013     );
1014     assert_eq!(
1015         unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize },
1016         0usize,
1017         concat!(
1018             "Offset of field: ",
1019             stringify!(__kernel_fd_set),
1020             "::",
1021             stringify!(fds_bits)
1022         )
1023     );
1024 }
1025 pub type __kernel_sighandler_t =
1026     ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
1027 pub type __kernel_key_t = ::std::os::raw::c_int;
1028 pub type __kernel_mqd_t = ::std::os::raw::c_int;
1029 pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
1030 pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
1031 pub type __kernel_long_t = ::std::os::raw::c_long;
1032 pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1033 pub type __kernel_ino_t = __kernel_ulong_t;
1034 pub type __kernel_mode_t = ::std::os::raw::c_uint;
1035 pub type __kernel_pid_t = ::std::os::raw::c_int;
1036 pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
1037 pub type __kernel_uid_t = ::std::os::raw::c_uint;
1038 pub type __kernel_gid_t = ::std::os::raw::c_uint;
1039 pub type __kernel_suseconds_t = __kernel_long_t;
1040 pub type __kernel_daddr_t = ::std::os::raw::c_int;
1041 pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1042 pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1043 pub type __kernel_old_dev_t = ::std::os::raw::c_uint;
1044 pub type __kernel_size_t = __kernel_ulong_t;
1045 pub type __kernel_ssize_t = __kernel_long_t;
1046 pub type __kernel_ptrdiff_t = __kernel_long_t;
1047 #[repr(C)]
1048 #[derive(Debug, Copy, Clone)]
1049 pub struct __kernel_fsid_t {
1050     pub val: [::std::os::raw::c_int; 2usize],
1051 }
1052 #[test]
bindgen_test_layout___kernel_fsid_t()1053 fn bindgen_test_layout___kernel_fsid_t() {
1054     assert_eq!(
1055         ::std::mem::size_of::<__kernel_fsid_t>(),
1056         8usize,
1057         concat!("Size of: ", stringify!(__kernel_fsid_t))
1058     );
1059     assert_eq!(
1060         ::std::mem::align_of::<__kernel_fsid_t>(),
1061         4usize,
1062         concat!("Alignment of ", stringify!(__kernel_fsid_t))
1063     );
1064     assert_eq!(
1065         unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize },
1066         0usize,
1067         concat!(
1068             "Offset of field: ",
1069             stringify!(__kernel_fsid_t),
1070             "::",
1071             stringify!(val)
1072         )
1073     );
1074 }
1075 pub type __kernel_off_t = __kernel_long_t;
1076 pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1077 pub type __kernel_time_t = __kernel_long_t;
1078 pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1079 pub type __kernel_clock_t = __kernel_long_t;
1080 pub type __kernel_timer_t = ::std::os::raw::c_int;
1081 pub type __kernel_clockid_t = ::std::os::raw::c_int;
1082 pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1083 pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1084 pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1085 pub type __le16 = __u16;
1086 pub type __be16 = __u16;
1087 pub type __le32 = __u32;
1088 pub type __be32 = __u32;
1089 pub type __le64 = __u64;
1090 pub type __be64 = __u64;
1091 pub type __sum16 = __u16;
1092 pub type __wsum = __u32;
1093 pub type __poll_t = ::std::os::raw::c_uint;
1094 #[repr(C)]
1095 #[derive(Debug, Copy, Clone)]
1096 pub struct pthread_attr_t {
1097     pub flags: u32,
1098     pub stack_base: *mut ::std::os::raw::c_void,
1099     pub stack_size: usize,
1100     pub guard_size: usize,
1101     pub sched_policy: i32,
1102     pub sched_priority: i32,
1103     pub __reserved: [::std::os::raw::c_char; 16usize],
1104 }
1105 #[test]
bindgen_test_layout_pthread_attr_t()1106 fn bindgen_test_layout_pthread_attr_t() {
1107     assert_eq!(
1108         ::std::mem::size_of::<pthread_attr_t>(),
1109         56usize,
1110         concat!("Size of: ", stringify!(pthread_attr_t))
1111     );
1112     assert_eq!(
1113         ::std::mem::align_of::<pthread_attr_t>(),
1114         8usize,
1115         concat!("Alignment of ", stringify!(pthread_attr_t))
1116     );
1117     assert_eq!(
1118         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).flags as *const _ as usize },
1119         0usize,
1120         concat!(
1121             "Offset of field: ",
1122             stringify!(pthread_attr_t),
1123             "::",
1124             stringify!(flags)
1125         )
1126     );
1127     assert_eq!(
1128         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_base as *const _ as usize },
1129         8usize,
1130         concat!(
1131             "Offset of field: ",
1132             stringify!(pthread_attr_t),
1133             "::",
1134             stringify!(stack_base)
1135         )
1136     );
1137     assert_eq!(
1138         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_size as *const _ as usize },
1139         16usize,
1140         concat!(
1141             "Offset of field: ",
1142             stringify!(pthread_attr_t),
1143             "::",
1144             stringify!(stack_size)
1145         )
1146     );
1147     assert_eq!(
1148         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).guard_size as *const _ as usize },
1149         24usize,
1150         concat!(
1151             "Offset of field: ",
1152             stringify!(pthread_attr_t),
1153             "::",
1154             stringify!(guard_size)
1155         )
1156     );
1157     assert_eq!(
1158         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_policy as *const _ as usize },
1159         32usize,
1160         concat!(
1161             "Offset of field: ",
1162             stringify!(pthread_attr_t),
1163             "::",
1164             stringify!(sched_policy)
1165         )
1166     );
1167     assert_eq!(
1168         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_priority as *const _ as usize },
1169         36usize,
1170         concat!(
1171             "Offset of field: ",
1172             stringify!(pthread_attr_t),
1173             "::",
1174             stringify!(sched_priority)
1175         )
1176     );
1177     assert_eq!(
1178         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).__reserved as *const _ as usize },
1179         40usize,
1180         concat!(
1181             "Offset of field: ",
1182             stringify!(pthread_attr_t),
1183             "::",
1184             stringify!(__reserved)
1185         )
1186     );
1187 }
1188 #[repr(C)]
1189 #[derive(Debug, Copy, Clone)]
1190 pub struct pthread_barrier_t {
1191     pub __private: [i64; 4usize],
1192 }
1193 #[test]
bindgen_test_layout_pthread_barrier_t()1194 fn bindgen_test_layout_pthread_barrier_t() {
1195     assert_eq!(
1196         ::std::mem::size_of::<pthread_barrier_t>(),
1197         32usize,
1198         concat!("Size of: ", stringify!(pthread_barrier_t))
1199     );
1200     assert_eq!(
1201         ::std::mem::align_of::<pthread_barrier_t>(),
1202         8usize,
1203         concat!("Alignment of ", stringify!(pthread_barrier_t))
1204     );
1205     assert_eq!(
1206         unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__private as *const _ as usize },
1207         0usize,
1208         concat!(
1209             "Offset of field: ",
1210             stringify!(pthread_barrier_t),
1211             "::",
1212             stringify!(__private)
1213         )
1214     );
1215 }
1216 pub type pthread_barrierattr_t = ::std::os::raw::c_int;
1217 #[repr(C)]
1218 #[derive(Debug, Copy, Clone)]
1219 pub struct pthread_cond_t {
1220     pub __private: [i32; 12usize],
1221 }
1222 #[test]
bindgen_test_layout_pthread_cond_t()1223 fn bindgen_test_layout_pthread_cond_t() {
1224     assert_eq!(
1225         ::std::mem::size_of::<pthread_cond_t>(),
1226         48usize,
1227         concat!("Size of: ", stringify!(pthread_cond_t))
1228     );
1229     assert_eq!(
1230         ::std::mem::align_of::<pthread_cond_t>(),
1231         4usize,
1232         concat!("Alignment of ", stringify!(pthread_cond_t))
1233     );
1234     assert_eq!(
1235         unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__private as *const _ as usize },
1236         0usize,
1237         concat!(
1238             "Offset of field: ",
1239             stringify!(pthread_cond_t),
1240             "::",
1241             stringify!(__private)
1242         )
1243     );
1244 }
1245 pub type pthread_condattr_t = ::std::os::raw::c_long;
1246 pub type pthread_key_t = ::std::os::raw::c_int;
1247 #[repr(C)]
1248 #[derive(Debug, Copy, Clone)]
1249 pub struct pthread_mutex_t {
1250     pub __private: [i32; 10usize],
1251 }
1252 #[test]
bindgen_test_layout_pthread_mutex_t()1253 fn bindgen_test_layout_pthread_mutex_t() {
1254     assert_eq!(
1255         ::std::mem::size_of::<pthread_mutex_t>(),
1256         40usize,
1257         concat!("Size of: ", stringify!(pthread_mutex_t))
1258     );
1259     assert_eq!(
1260         ::std::mem::align_of::<pthread_mutex_t>(),
1261         4usize,
1262         concat!("Alignment of ", stringify!(pthread_mutex_t))
1263     );
1264     assert_eq!(
1265         unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__private as *const _ as usize },
1266         0usize,
1267         concat!(
1268             "Offset of field: ",
1269             stringify!(pthread_mutex_t),
1270             "::",
1271             stringify!(__private)
1272         )
1273     );
1274 }
1275 pub type pthread_mutexattr_t = ::std::os::raw::c_long;
1276 pub type pthread_once_t = ::std::os::raw::c_int;
1277 #[repr(C)]
1278 #[derive(Debug, Copy, Clone)]
1279 pub struct pthread_rwlock_t {
1280     pub __private: [i32; 14usize],
1281 }
1282 #[test]
bindgen_test_layout_pthread_rwlock_t()1283 fn bindgen_test_layout_pthread_rwlock_t() {
1284     assert_eq!(
1285         ::std::mem::size_of::<pthread_rwlock_t>(),
1286         56usize,
1287         concat!("Size of: ", stringify!(pthread_rwlock_t))
1288     );
1289     assert_eq!(
1290         ::std::mem::align_of::<pthread_rwlock_t>(),
1291         4usize,
1292         concat!("Alignment of ", stringify!(pthread_rwlock_t))
1293     );
1294     assert_eq!(
1295         unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__private as *const _ as usize },
1296         0usize,
1297         concat!(
1298             "Offset of field: ",
1299             stringify!(pthread_rwlock_t),
1300             "::",
1301             stringify!(__private)
1302         )
1303     );
1304 }
1305 pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
1306 #[repr(C)]
1307 #[derive(Debug, Copy, Clone)]
1308 pub struct pthread_spinlock_t {
1309     pub __private: i64,
1310 }
1311 #[test]
bindgen_test_layout_pthread_spinlock_t()1312 fn bindgen_test_layout_pthread_spinlock_t() {
1313     assert_eq!(
1314         ::std::mem::size_of::<pthread_spinlock_t>(),
1315         8usize,
1316         concat!("Size of: ", stringify!(pthread_spinlock_t))
1317     );
1318     assert_eq!(
1319         ::std::mem::align_of::<pthread_spinlock_t>(),
1320         8usize,
1321         concat!("Alignment of ", stringify!(pthread_spinlock_t))
1322     );
1323     assert_eq!(
1324         unsafe { &(*(::std::ptr::null::<pthread_spinlock_t>())).__private as *const _ as usize },
1325         0usize,
1326         concat!(
1327             "Offset of field: ",
1328             stringify!(pthread_spinlock_t),
1329             "::",
1330             stringify!(__private)
1331         )
1332     );
1333 }
1334 pub type pthread_t = ::std::os::raw::c_long;
1335 pub type __gid_t = __kernel_gid32_t;
1336 pub type gid_t = __gid_t;
1337 pub type __uid_t = __kernel_uid32_t;
1338 pub type uid_t = __uid_t;
1339 pub type __pid_t = __kernel_pid_t;
1340 pub type pid_t = __pid_t;
1341 pub type __id_t = u32;
1342 pub type id_t = __id_t;
1343 pub type blkcnt_t = ::std::os::raw::c_ulong;
1344 pub type blksize_t = ::std::os::raw::c_ulong;
1345 pub type caddr_t = __kernel_caddr_t;
1346 pub type clock_t = __kernel_clock_t;
1347 pub type __clockid_t = __kernel_clockid_t;
1348 pub type clockid_t = __clockid_t;
1349 pub type daddr_t = __kernel_daddr_t;
1350 pub type fsblkcnt_t = ::std::os::raw::c_ulong;
1351 pub type fsfilcnt_t = ::std::os::raw::c_ulong;
1352 pub type __mode_t = __kernel_mode_t;
1353 pub type mode_t = __mode_t;
1354 pub type __key_t = __kernel_key_t;
1355 pub type key_t = __key_t;
1356 pub type __ino_t = __kernel_ino_t;
1357 pub type ino_t = __ino_t;
1358 pub type ino64_t = u64;
1359 pub type __nlink_t = u32;
1360 pub type nlink_t = __nlink_t;
1361 pub type __timer_t = *mut ::std::os::raw::c_void;
1362 pub type timer_t = __timer_t;
1363 pub type __suseconds_t = __kernel_suseconds_t;
1364 pub type suseconds_t = __suseconds_t;
1365 pub type __useconds_t = u32;
1366 pub type useconds_t = __useconds_t;
1367 pub type dev_t = u64;
1368 pub type __time_t = __kernel_time_t;
1369 pub type time_t = __time_t;
1370 pub type off_t = i64;
1371 pub type loff_t = off_t;
1372 pub type off64_t = loff_t;
1373 pub type __socklen_t = u32;
1374 pub type socklen_t = __socklen_t;
1375 pub type uint_t = ::std::os::raw::c_uint;
1376 pub type uint = ::std::os::raw::c_uint;
1377 pub type u_char = ::std::os::raw::c_uchar;
1378 pub type u_short = ::std::os::raw::c_ushort;
1379 pub type u_int = ::std::os::raw::c_uint;
1380 pub type u_long = ::std::os::raw::c_ulong;
1381 pub type u_int32_t = u32;
1382 pub type u_int16_t = u16;
1383 pub type u_int8_t = u8;
1384 pub type u_int64_t = u64;
1385 #[repr(C)]
1386 #[derive(Debug, Copy, Clone)]
1387 pub struct AAssetManager {
1388     _unused: [u8; 0],
1389 }
1390 #[repr(C)]
1391 #[derive(Debug, Copy, Clone)]
1392 pub struct AAssetDir {
1393     _unused: [u8; 0],
1394 }
1395 #[repr(C)]
1396 #[derive(Debug, Copy, Clone)]
1397 pub struct AAsset {
1398     _unused: [u8; 0],
1399 }
1400 pub const AASSET_MODE_UNKNOWN: _bindgen_ty_1 = 0;
1401 pub const AASSET_MODE_RANDOM: _bindgen_ty_1 = 1;
1402 pub const AASSET_MODE_STREAMING: _bindgen_ty_1 = 2;
1403 pub const AASSET_MODE_BUFFER: _bindgen_ty_1 = 3;
1404 pub type _bindgen_ty_1 = u32;
1405 extern "C" {
AAssetManager_openDir( mgr: *mut AAssetManager, dirName: *const ::std::os::raw::c_char, ) -> *mut AAssetDir1406     pub fn AAssetManager_openDir(
1407         mgr: *mut AAssetManager,
1408         dirName: *const ::std::os::raw::c_char,
1409     ) -> *mut AAssetDir;
1410 }
1411 extern "C" {
AAssetManager_open( mgr: *mut AAssetManager, filename: *const ::std::os::raw::c_char, mode: ::std::os::raw::c_int, ) -> *mut AAsset1412     pub fn AAssetManager_open(
1413         mgr: *mut AAssetManager,
1414         filename: *const ::std::os::raw::c_char,
1415         mode: ::std::os::raw::c_int,
1416     ) -> *mut AAsset;
1417 }
1418 extern "C" {
AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char1419     pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
1420 }
1421 extern "C" {
AAssetDir_rewind(assetDir: *mut AAssetDir)1422     pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
1423 }
1424 extern "C" {
AAssetDir_close(assetDir: *mut AAssetDir)1425     pub fn AAssetDir_close(assetDir: *mut AAssetDir);
1426 }
1427 extern "C" {
AAsset_read( asset: *mut AAsset, buf: *mut ::std::os::raw::c_void, count: usize, ) -> ::std::os::raw::c_int1428     pub fn AAsset_read(
1429         asset: *mut AAsset,
1430         buf: *mut ::std::os::raw::c_void,
1431         count: usize,
1432     ) -> ::std::os::raw::c_int;
1433 }
1434 extern "C" {
AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t1435     pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
1436 }
1437 extern "C" {
AAsset_seek64( asset: *mut AAsset, offset: off64_t, whence: ::std::os::raw::c_int, ) -> off64_t1438     pub fn AAsset_seek64(
1439         asset: *mut AAsset,
1440         offset: off64_t,
1441         whence: ::std::os::raw::c_int,
1442     ) -> off64_t;
1443 }
1444 extern "C" {
AAsset_close(asset: *mut AAsset)1445     pub fn AAsset_close(asset: *mut AAsset);
1446 }
1447 extern "C" {
AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void1448     pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
1449 }
1450 extern "C" {
AAsset_getLength(asset: *mut AAsset) -> off_t1451     pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
1452 }
1453 extern "C" {
AAsset_getLength64(asset: *mut AAsset) -> off64_t1454     pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
1455 }
1456 extern "C" {
AAsset_getRemainingLength(asset: *mut AAsset) -> off_t1457     pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
1458 }
1459 extern "C" {
AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t1460     pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
1461 }
1462 extern "C" {
AAsset_openFileDescriptor( asset: *mut AAsset, outStart: *mut off_t, outLength: *mut off_t, ) -> ::std::os::raw::c_int1463     pub fn AAsset_openFileDescriptor(
1464         asset: *mut AAsset,
1465         outStart: *mut off_t,
1466         outLength: *mut off_t,
1467     ) -> ::std::os::raw::c_int;
1468 }
1469 extern "C" {
AAsset_openFileDescriptor64( asset: *mut AAsset, outStart: *mut off64_t, outLength: *mut off64_t, ) -> ::std::os::raw::c_int1470     pub fn AAsset_openFileDescriptor64(
1471         asset: *mut AAsset,
1472         outStart: *mut off64_t,
1473         outLength: *mut off64_t,
1474     ) -> ::std::os::raw::c_int;
1475 }
1476 extern "C" {
AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int1477     pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
1478 }
1479 pub type va_list = __builtin_va_list;
1480 pub type __gnuc_va_list = __builtin_va_list;
1481 pub type jboolean = u8;
1482 pub type jbyte = i8;
1483 pub type jchar = u16;
1484 pub type jshort = i16;
1485 pub type jint = i32;
1486 pub type jlong = i64;
1487 pub type jfloat = f32;
1488 pub type jdouble = f64;
1489 pub type jsize = jint;
1490 pub type jobject = *mut ::std::os::raw::c_void;
1491 pub type jclass = jobject;
1492 pub type jstring = jobject;
1493 pub type jarray = jobject;
1494 pub type jobjectArray = jarray;
1495 pub type jbooleanArray = jarray;
1496 pub type jbyteArray = jarray;
1497 pub type jcharArray = jarray;
1498 pub type jshortArray = jarray;
1499 pub type jintArray = jarray;
1500 pub type jlongArray = jarray;
1501 pub type jfloatArray = jarray;
1502 pub type jdoubleArray = jarray;
1503 pub type jthrowable = jobject;
1504 pub type jweak = jobject;
1505 #[repr(C)]
1506 #[derive(Debug, Copy, Clone)]
1507 pub struct _jfieldID {
1508     _unused: [u8; 0],
1509 }
1510 pub type jfieldID = *mut _jfieldID;
1511 #[repr(C)]
1512 #[derive(Debug, Copy, Clone)]
1513 pub struct _jmethodID {
1514     _unused: [u8; 0],
1515 }
1516 pub type jmethodID = *mut _jmethodID;
1517 #[repr(C)]
1518 #[derive(Copy, Clone)]
1519 pub union jvalue {
1520     pub z: jboolean,
1521     pub b: jbyte,
1522     pub c: jchar,
1523     pub s: jshort,
1524     pub i: jint,
1525     pub j: jlong,
1526     pub f: jfloat,
1527     pub d: jdouble,
1528     pub l: jobject,
1529     _bindgen_union_align: u64,
1530 }
1531 #[test]
bindgen_test_layout_jvalue()1532 fn bindgen_test_layout_jvalue() {
1533     assert_eq!(
1534         ::std::mem::size_of::<jvalue>(),
1535         8usize,
1536         concat!("Size of: ", stringify!(jvalue))
1537     );
1538     assert_eq!(
1539         ::std::mem::align_of::<jvalue>(),
1540         8usize,
1541         concat!("Alignment of ", stringify!(jvalue))
1542     );
1543     assert_eq!(
1544         unsafe { &(*(::std::ptr::null::<jvalue>())).z as *const _ as usize },
1545         0usize,
1546         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(z))
1547     );
1548     assert_eq!(
1549         unsafe { &(*(::std::ptr::null::<jvalue>())).b as *const _ as usize },
1550         0usize,
1551         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(b))
1552     );
1553     assert_eq!(
1554         unsafe { &(*(::std::ptr::null::<jvalue>())).c as *const _ as usize },
1555         0usize,
1556         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(c))
1557     );
1558     assert_eq!(
1559         unsafe { &(*(::std::ptr::null::<jvalue>())).s as *const _ as usize },
1560         0usize,
1561         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(s))
1562     );
1563     assert_eq!(
1564         unsafe { &(*(::std::ptr::null::<jvalue>())).i as *const _ as usize },
1565         0usize,
1566         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(i))
1567     );
1568     assert_eq!(
1569         unsafe { &(*(::std::ptr::null::<jvalue>())).j as *const _ as usize },
1570         0usize,
1571         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(j))
1572     );
1573     assert_eq!(
1574         unsafe { &(*(::std::ptr::null::<jvalue>())).f as *const _ as usize },
1575         0usize,
1576         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(f))
1577     );
1578     assert_eq!(
1579         unsafe { &(*(::std::ptr::null::<jvalue>())).d as *const _ as usize },
1580         0usize,
1581         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(d))
1582     );
1583     assert_eq!(
1584         unsafe { &(*(::std::ptr::null::<jvalue>())).l as *const _ as usize },
1585         0usize,
1586         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(l))
1587     );
1588 }
1589 pub const jobjectRefType_JNIInvalidRefType: jobjectRefType = 0;
1590 pub const jobjectRefType_JNILocalRefType: jobjectRefType = 1;
1591 pub const jobjectRefType_JNIGlobalRefType: jobjectRefType = 2;
1592 pub const jobjectRefType_JNIWeakGlobalRefType: jobjectRefType = 3;
1593 pub type jobjectRefType = u32;
1594 #[repr(C)]
1595 #[derive(Debug, Copy, Clone)]
1596 pub struct JNINativeMethod {
1597     pub name: *const ::std::os::raw::c_char,
1598     pub signature: *const ::std::os::raw::c_char,
1599     pub fnPtr: *mut ::std::os::raw::c_void,
1600 }
1601 #[test]
bindgen_test_layout_JNINativeMethod()1602 fn bindgen_test_layout_JNINativeMethod() {
1603     assert_eq!(
1604         ::std::mem::size_of::<JNINativeMethod>(),
1605         24usize,
1606         concat!("Size of: ", stringify!(JNINativeMethod))
1607     );
1608     assert_eq!(
1609         ::std::mem::align_of::<JNINativeMethod>(),
1610         8usize,
1611         concat!("Alignment of ", stringify!(JNINativeMethod))
1612     );
1613     assert_eq!(
1614         unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).name as *const _ as usize },
1615         0usize,
1616         concat!(
1617             "Offset of field: ",
1618             stringify!(JNINativeMethod),
1619             "::",
1620             stringify!(name)
1621         )
1622     );
1623     assert_eq!(
1624         unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).signature as *const _ as usize },
1625         8usize,
1626         concat!(
1627             "Offset of field: ",
1628             stringify!(JNINativeMethod),
1629             "::",
1630             stringify!(signature)
1631         )
1632     );
1633     assert_eq!(
1634         unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).fnPtr as *const _ as usize },
1635         16usize,
1636         concat!(
1637             "Offset of field: ",
1638             stringify!(JNINativeMethod),
1639             "::",
1640             stringify!(fnPtr)
1641         )
1642     );
1643 }
1644 pub type C_JNIEnv = *const JNINativeInterface;
1645 pub type JNIEnv = *const JNINativeInterface;
1646 pub type JavaVM = *const JNIInvokeInterface;
1647 #[repr(C)]
1648 #[derive(Debug, Copy, Clone)]
1649 pub struct JNINativeInterface {
1650     pub reserved0: *mut ::std::os::raw::c_void,
1651     pub reserved1: *mut ::std::os::raw::c_void,
1652     pub reserved2: *mut ::std::os::raw::c_void,
1653     pub reserved3: *mut ::std::os::raw::c_void,
1654     pub GetVersion: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jint>,
1655     pub DefineClass: ::std::option::Option<
1656         unsafe extern "C" fn(
1657             arg1: *mut JNIEnv,
1658             arg2: *const ::std::os::raw::c_char,
1659             arg3: jobject,
1660             arg4: *const jbyte,
1661             arg5: jsize,
1662         ) -> jclass,
1663     >,
1664     pub FindClass: ::std::option::Option<
1665         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jclass,
1666     >,
1667     pub FromReflectedMethod:
1668         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jmethodID>,
1669     pub FromReflectedField:
1670         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jfieldID>,
1671     pub ToReflectedMethod: ::std::option::Option<
1672         unsafe extern "C" fn(
1673             arg1: *mut JNIEnv,
1674             arg2: jclass,
1675             arg3: jmethodID,
1676             arg4: jboolean,
1677         ) -> jobject,
1678     >,
1679     pub GetSuperclass:
1680         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jclass>,
1681     pub IsAssignableFrom: ::std::option::Option<
1682         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jclass) -> jboolean,
1683     >,
1684     pub ToReflectedField: ::std::option::Option<
1685         unsafe extern "C" fn(
1686             arg1: *mut JNIEnv,
1687             arg2: jclass,
1688             arg3: jfieldID,
1689             arg4: jboolean,
1690         ) -> jobject,
1691     >,
1692     pub Throw:
1693         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jthrowable) -> jint>,
1694     pub ThrowNew: ::std::option::Option<
1695         unsafe extern "C" fn(
1696             arg1: *mut JNIEnv,
1697             arg2: jclass,
1698             arg3: *const ::std::os::raw::c_char,
1699         ) -> jint,
1700     >,
1701     pub ExceptionOccurred:
1702         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jthrowable>,
1703     pub ExceptionDescribe: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
1704     pub ExceptionClear: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
1705     pub FatalError: ::std::option::Option<
1706         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char),
1707     >,
1708     pub PushLocalFrame:
1709         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
1710     pub PopLocalFrame:
1711         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1712     pub NewGlobalRef:
1713         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1714     pub DeleteGlobalRef:
1715         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
1716     pub DeleteLocalRef:
1717         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
1718     pub IsSameObject: ::std::option::Option<
1719         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jobject) -> jboolean,
1720     >,
1721     pub NewLocalRef:
1722         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1723     pub EnsureLocalCapacity:
1724         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
1725     pub AllocObject:
1726         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jobject>,
1727     pub NewObject: ::std::option::Option<
1728         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
1729     >,
1730     pub NewObjectV: ::std::option::Option<
1731         unsafe extern "C" fn(
1732             arg1: *mut JNIEnv,
1733             arg2: jclass,
1734             arg3: jmethodID,
1735             arg4: va_list,
1736         ) -> jobject,
1737     >,
1738     pub NewObjectA: ::std::option::Option<
1739         unsafe extern "C" fn(
1740             arg1: *mut JNIEnv,
1741             arg2: jclass,
1742             arg3: jmethodID,
1743             arg4: *const jvalue,
1744         ) -> jobject,
1745     >,
1746     pub GetObjectClass:
1747         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jclass>,
1748     pub IsInstanceOf: ::std::option::Option<
1749         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass) -> jboolean,
1750     >,
1751     pub GetMethodID: ::std::option::Option<
1752         unsafe extern "C" fn(
1753             arg1: *mut JNIEnv,
1754             arg2: jclass,
1755             arg3: *const ::std::os::raw::c_char,
1756             arg4: *const ::std::os::raw::c_char,
1757         ) -> jmethodID,
1758     >,
1759     pub CallObjectMethod: ::std::option::Option<
1760         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jobject,
1761     >,
1762     pub CallObjectMethodV: ::std::option::Option<
1763         unsafe extern "C" fn(
1764             arg1: *mut JNIEnv,
1765             arg2: jobject,
1766             arg3: jmethodID,
1767             arg4: va_list,
1768         ) -> jobject,
1769     >,
1770     pub CallObjectMethodA: ::std::option::Option<
1771         unsafe extern "C" fn(
1772             arg1: *mut JNIEnv,
1773             arg2: jobject,
1774             arg3: jmethodID,
1775             arg4: *const jvalue,
1776         ) -> jobject,
1777     >,
1778     pub CallBooleanMethod: ::std::option::Option<
1779         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jboolean,
1780     >,
1781     pub CallBooleanMethodV: ::std::option::Option<
1782         unsafe extern "C" fn(
1783             arg1: *mut JNIEnv,
1784             arg2: jobject,
1785             arg3: jmethodID,
1786             arg4: va_list,
1787         ) -> jboolean,
1788     >,
1789     pub CallBooleanMethodA: ::std::option::Option<
1790         unsafe extern "C" fn(
1791             arg1: *mut JNIEnv,
1792             arg2: jobject,
1793             arg3: jmethodID,
1794             arg4: *const jvalue,
1795         ) -> jboolean,
1796     >,
1797     pub CallByteMethod: ::std::option::Option<
1798         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jbyte,
1799     >,
1800     pub CallByteMethodV: ::std::option::Option<
1801         unsafe extern "C" fn(
1802             arg1: *mut JNIEnv,
1803             arg2: jobject,
1804             arg3: jmethodID,
1805             arg4: va_list,
1806         ) -> jbyte,
1807     >,
1808     pub CallByteMethodA: ::std::option::Option<
1809         unsafe extern "C" fn(
1810             arg1: *mut JNIEnv,
1811             arg2: jobject,
1812             arg3: jmethodID,
1813             arg4: *const jvalue,
1814         ) -> jbyte,
1815     >,
1816     pub CallCharMethod: ::std::option::Option<
1817         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jchar,
1818     >,
1819     pub CallCharMethodV: ::std::option::Option<
1820         unsafe extern "C" fn(
1821             arg1: *mut JNIEnv,
1822             arg2: jobject,
1823             arg3: jmethodID,
1824             arg4: va_list,
1825         ) -> jchar,
1826     >,
1827     pub CallCharMethodA: ::std::option::Option<
1828         unsafe extern "C" fn(
1829             arg1: *mut JNIEnv,
1830             arg2: jobject,
1831             arg3: jmethodID,
1832             arg4: *const jvalue,
1833         ) -> jchar,
1834     >,
1835     pub CallShortMethod: ::std::option::Option<
1836         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jshort,
1837     >,
1838     pub CallShortMethodV: ::std::option::Option<
1839         unsafe extern "C" fn(
1840             arg1: *mut JNIEnv,
1841             arg2: jobject,
1842             arg3: jmethodID,
1843             arg4: va_list,
1844         ) -> jshort,
1845     >,
1846     pub CallShortMethodA: ::std::option::Option<
1847         unsafe extern "C" fn(
1848             arg1: *mut JNIEnv,
1849             arg2: jobject,
1850             arg3: jmethodID,
1851             arg4: *const jvalue,
1852         ) -> jshort,
1853     >,
1854     pub CallIntMethod: ::std::option::Option<
1855         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jint,
1856     >,
1857     pub CallIntMethodV: ::std::option::Option<
1858         unsafe extern "C" fn(
1859             arg1: *mut JNIEnv,
1860             arg2: jobject,
1861             arg3: jmethodID,
1862             arg4: va_list,
1863         ) -> jint,
1864     >,
1865     pub CallIntMethodA: ::std::option::Option<
1866         unsafe extern "C" fn(
1867             arg1: *mut JNIEnv,
1868             arg2: jobject,
1869             arg3: jmethodID,
1870             arg4: *const jvalue,
1871         ) -> jint,
1872     >,
1873     pub CallLongMethod: ::std::option::Option<
1874         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jlong,
1875     >,
1876     pub CallLongMethodV: ::std::option::Option<
1877         unsafe extern "C" fn(
1878             arg1: *mut JNIEnv,
1879             arg2: jobject,
1880             arg3: jmethodID,
1881             arg4: va_list,
1882         ) -> jlong,
1883     >,
1884     pub CallLongMethodA: ::std::option::Option<
1885         unsafe extern "C" fn(
1886             arg1: *mut JNIEnv,
1887             arg2: jobject,
1888             arg3: jmethodID,
1889             arg4: *const jvalue,
1890         ) -> jlong,
1891     >,
1892     pub CallFloatMethod: ::std::option::Option<
1893         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jfloat,
1894     >,
1895     pub CallFloatMethodV: ::std::option::Option<
1896         unsafe extern "C" fn(
1897             arg1: *mut JNIEnv,
1898             arg2: jobject,
1899             arg3: jmethodID,
1900             arg4: va_list,
1901         ) -> jfloat,
1902     >,
1903     pub CallFloatMethodA: ::std::option::Option<
1904         unsafe extern "C" fn(
1905             arg1: *mut JNIEnv,
1906             arg2: jobject,
1907             arg3: jmethodID,
1908             arg4: *const jvalue,
1909         ) -> jfloat,
1910     >,
1911     pub CallDoubleMethod: ::std::option::Option<
1912         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jdouble,
1913     >,
1914     pub CallDoubleMethodV: ::std::option::Option<
1915         unsafe extern "C" fn(
1916             arg1: *mut JNIEnv,
1917             arg2: jobject,
1918             arg3: jmethodID,
1919             arg4: va_list,
1920         ) -> jdouble,
1921     >,
1922     pub CallDoubleMethodA: ::std::option::Option<
1923         unsafe extern "C" fn(
1924             arg1: *mut JNIEnv,
1925             arg2: jobject,
1926             arg3: jmethodID,
1927             arg4: *const jvalue,
1928         ) -> jdouble,
1929     >,
1930     pub CallVoidMethod: ::std::option::Option<
1931         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...),
1932     >,
1933     pub CallVoidMethodV: ::std::option::Option<
1934         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, arg4: va_list),
1935     >,
1936     pub CallVoidMethodA: ::std::option::Option<
1937         unsafe extern "C" fn(
1938             arg1: *mut JNIEnv,
1939             arg2: jobject,
1940             arg3: jmethodID,
1941             arg4: *const jvalue,
1942         ),
1943     >,
1944     pub CallNonvirtualObjectMethod: ::std::option::Option<
1945         unsafe extern "C" fn(
1946             arg1: *mut JNIEnv,
1947             arg2: jobject,
1948             arg3: jclass,
1949             arg4: jmethodID,
1950             ...
1951         ) -> jobject,
1952     >,
1953     pub CallNonvirtualObjectMethodV: ::std::option::Option<
1954         unsafe extern "C" fn(
1955             arg1: *mut JNIEnv,
1956             arg2: jobject,
1957             arg3: jclass,
1958             arg4: jmethodID,
1959             arg5: va_list,
1960         ) -> jobject,
1961     >,
1962     pub CallNonvirtualObjectMethodA: ::std::option::Option<
1963         unsafe extern "C" fn(
1964             arg1: *mut JNIEnv,
1965             arg2: jobject,
1966             arg3: jclass,
1967             arg4: jmethodID,
1968             arg5: *const jvalue,
1969         ) -> jobject,
1970     >,
1971     pub CallNonvirtualBooleanMethod: ::std::option::Option<
1972         unsafe extern "C" fn(
1973             arg1: *mut JNIEnv,
1974             arg2: jobject,
1975             arg3: jclass,
1976             arg4: jmethodID,
1977             ...
1978         ) -> jboolean,
1979     >,
1980     pub CallNonvirtualBooleanMethodV: ::std::option::Option<
1981         unsafe extern "C" fn(
1982             arg1: *mut JNIEnv,
1983             arg2: jobject,
1984             arg3: jclass,
1985             arg4: jmethodID,
1986             arg5: va_list,
1987         ) -> jboolean,
1988     >,
1989     pub CallNonvirtualBooleanMethodA: ::std::option::Option<
1990         unsafe extern "C" fn(
1991             arg1: *mut JNIEnv,
1992             arg2: jobject,
1993             arg3: jclass,
1994             arg4: jmethodID,
1995             arg5: *const jvalue,
1996         ) -> jboolean,
1997     >,
1998     pub CallNonvirtualByteMethod: ::std::option::Option<
1999         unsafe extern "C" fn(
2000             arg1: *mut JNIEnv,
2001             arg2: jobject,
2002             arg3: jclass,
2003             arg4: jmethodID,
2004             ...
2005         ) -> jbyte,
2006     >,
2007     pub CallNonvirtualByteMethodV: ::std::option::Option<
2008         unsafe extern "C" fn(
2009             arg1: *mut JNIEnv,
2010             arg2: jobject,
2011             arg3: jclass,
2012             arg4: jmethodID,
2013             arg5: va_list,
2014         ) -> jbyte,
2015     >,
2016     pub CallNonvirtualByteMethodA: ::std::option::Option<
2017         unsafe extern "C" fn(
2018             arg1: *mut JNIEnv,
2019             arg2: jobject,
2020             arg3: jclass,
2021             arg4: jmethodID,
2022             arg5: *const jvalue,
2023         ) -> jbyte,
2024     >,
2025     pub CallNonvirtualCharMethod: ::std::option::Option<
2026         unsafe extern "C" fn(
2027             arg1: *mut JNIEnv,
2028             arg2: jobject,
2029             arg3: jclass,
2030             arg4: jmethodID,
2031             ...
2032         ) -> jchar,
2033     >,
2034     pub CallNonvirtualCharMethodV: ::std::option::Option<
2035         unsafe extern "C" fn(
2036             arg1: *mut JNIEnv,
2037             arg2: jobject,
2038             arg3: jclass,
2039             arg4: jmethodID,
2040             arg5: va_list,
2041         ) -> jchar,
2042     >,
2043     pub CallNonvirtualCharMethodA: ::std::option::Option<
2044         unsafe extern "C" fn(
2045             arg1: *mut JNIEnv,
2046             arg2: jobject,
2047             arg3: jclass,
2048             arg4: jmethodID,
2049             arg5: *const jvalue,
2050         ) -> jchar,
2051     >,
2052     pub CallNonvirtualShortMethod: ::std::option::Option<
2053         unsafe extern "C" fn(
2054             arg1: *mut JNIEnv,
2055             arg2: jobject,
2056             arg3: jclass,
2057             arg4: jmethodID,
2058             ...
2059         ) -> jshort,
2060     >,
2061     pub CallNonvirtualShortMethodV: ::std::option::Option<
2062         unsafe extern "C" fn(
2063             arg1: *mut JNIEnv,
2064             arg2: jobject,
2065             arg3: jclass,
2066             arg4: jmethodID,
2067             arg5: va_list,
2068         ) -> jshort,
2069     >,
2070     pub CallNonvirtualShortMethodA: ::std::option::Option<
2071         unsafe extern "C" fn(
2072             arg1: *mut JNIEnv,
2073             arg2: jobject,
2074             arg3: jclass,
2075             arg4: jmethodID,
2076             arg5: *const jvalue,
2077         ) -> jshort,
2078     >,
2079     pub CallNonvirtualIntMethod: ::std::option::Option<
2080         unsafe extern "C" fn(
2081             arg1: *mut JNIEnv,
2082             arg2: jobject,
2083             arg3: jclass,
2084             arg4: jmethodID,
2085             ...
2086         ) -> jint,
2087     >,
2088     pub CallNonvirtualIntMethodV: ::std::option::Option<
2089         unsafe extern "C" fn(
2090             arg1: *mut JNIEnv,
2091             arg2: jobject,
2092             arg3: jclass,
2093             arg4: jmethodID,
2094             arg5: va_list,
2095         ) -> jint,
2096     >,
2097     pub CallNonvirtualIntMethodA: ::std::option::Option<
2098         unsafe extern "C" fn(
2099             arg1: *mut JNIEnv,
2100             arg2: jobject,
2101             arg3: jclass,
2102             arg4: jmethodID,
2103             arg5: *const jvalue,
2104         ) -> jint,
2105     >,
2106     pub CallNonvirtualLongMethod: ::std::option::Option<
2107         unsafe extern "C" fn(
2108             arg1: *mut JNIEnv,
2109             arg2: jobject,
2110             arg3: jclass,
2111             arg4: jmethodID,
2112             ...
2113         ) -> jlong,
2114     >,
2115     pub CallNonvirtualLongMethodV: ::std::option::Option<
2116         unsafe extern "C" fn(
2117             arg1: *mut JNIEnv,
2118             arg2: jobject,
2119             arg3: jclass,
2120             arg4: jmethodID,
2121             arg5: va_list,
2122         ) -> jlong,
2123     >,
2124     pub CallNonvirtualLongMethodA: ::std::option::Option<
2125         unsafe extern "C" fn(
2126             arg1: *mut JNIEnv,
2127             arg2: jobject,
2128             arg3: jclass,
2129             arg4: jmethodID,
2130             arg5: *const jvalue,
2131         ) -> jlong,
2132     >,
2133     pub CallNonvirtualFloatMethod: ::std::option::Option<
2134         unsafe extern "C" fn(
2135             arg1: *mut JNIEnv,
2136             arg2: jobject,
2137             arg3: jclass,
2138             arg4: jmethodID,
2139             ...
2140         ) -> jfloat,
2141     >,
2142     pub CallNonvirtualFloatMethodV: ::std::option::Option<
2143         unsafe extern "C" fn(
2144             arg1: *mut JNIEnv,
2145             arg2: jobject,
2146             arg3: jclass,
2147             arg4: jmethodID,
2148             arg5: va_list,
2149         ) -> jfloat,
2150     >,
2151     pub CallNonvirtualFloatMethodA: ::std::option::Option<
2152         unsafe extern "C" fn(
2153             arg1: *mut JNIEnv,
2154             arg2: jobject,
2155             arg3: jclass,
2156             arg4: jmethodID,
2157             arg5: *const jvalue,
2158         ) -> jfloat,
2159     >,
2160     pub CallNonvirtualDoubleMethod: ::std::option::Option<
2161         unsafe extern "C" fn(
2162             arg1: *mut JNIEnv,
2163             arg2: jobject,
2164             arg3: jclass,
2165             arg4: jmethodID,
2166             ...
2167         ) -> jdouble,
2168     >,
2169     pub CallNonvirtualDoubleMethodV: ::std::option::Option<
2170         unsafe extern "C" fn(
2171             arg1: *mut JNIEnv,
2172             arg2: jobject,
2173             arg3: jclass,
2174             arg4: jmethodID,
2175             arg5: va_list,
2176         ) -> jdouble,
2177     >,
2178     pub CallNonvirtualDoubleMethodA: ::std::option::Option<
2179         unsafe extern "C" fn(
2180             arg1: *mut JNIEnv,
2181             arg2: jobject,
2182             arg3: jclass,
2183             arg4: jmethodID,
2184             arg5: *const jvalue,
2185         ) -> jdouble,
2186     >,
2187     pub CallNonvirtualVoidMethod: ::std::option::Option<
2188         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass, arg4: jmethodID, ...),
2189     >,
2190     pub CallNonvirtualVoidMethodV: ::std::option::Option<
2191         unsafe extern "C" fn(
2192             arg1: *mut JNIEnv,
2193             arg2: jobject,
2194             arg3: jclass,
2195             arg4: jmethodID,
2196             arg5: va_list,
2197         ),
2198     >,
2199     pub CallNonvirtualVoidMethodA: ::std::option::Option<
2200         unsafe extern "C" fn(
2201             arg1: *mut JNIEnv,
2202             arg2: jobject,
2203             arg3: jclass,
2204             arg4: jmethodID,
2205             arg5: *const jvalue,
2206         ),
2207     >,
2208     pub GetFieldID: ::std::option::Option<
2209         unsafe extern "C" fn(
2210             arg1: *mut JNIEnv,
2211             arg2: jclass,
2212             arg3: *const ::std::os::raw::c_char,
2213             arg4: *const ::std::os::raw::c_char,
2214         ) -> jfieldID,
2215     >,
2216     pub GetObjectField: ::std::option::Option<
2217         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jobject,
2218     >,
2219     pub GetBooleanField: ::std::option::Option<
2220         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jboolean,
2221     >,
2222     pub GetByteField: ::std::option::Option<
2223         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jbyte,
2224     >,
2225     pub GetCharField: ::std::option::Option<
2226         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jchar,
2227     >,
2228     pub GetShortField: ::std::option::Option<
2229         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jshort,
2230     >,
2231     pub GetIntField: ::std::option::Option<
2232         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jint,
2233     >,
2234     pub GetLongField: ::std::option::Option<
2235         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jlong,
2236     >,
2237     pub GetFloatField: ::std::option::Option<
2238         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jfloat,
2239     >,
2240     pub GetDoubleField: ::std::option::Option<
2241         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jdouble,
2242     >,
2243     pub SetObjectField: ::std::option::Option<
2244         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jobject),
2245     >,
2246     pub SetBooleanField: ::std::option::Option<
2247         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jboolean),
2248     >,
2249     pub SetByteField: ::std::option::Option<
2250         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jbyte),
2251     >,
2252     pub SetCharField: ::std::option::Option<
2253         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jchar),
2254     >,
2255     pub SetShortField: ::std::option::Option<
2256         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jshort),
2257     >,
2258     pub SetIntField: ::std::option::Option<
2259         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jint),
2260     >,
2261     pub SetLongField: ::std::option::Option<
2262         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jlong),
2263     >,
2264     pub SetFloatField: ::std::option::Option<
2265         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jfloat),
2266     >,
2267     pub SetDoubleField: ::std::option::Option<
2268         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jdouble),
2269     >,
2270     pub GetStaticMethodID: ::std::option::Option<
2271         unsafe extern "C" fn(
2272             arg1: *mut JNIEnv,
2273             arg2: jclass,
2274             arg3: *const ::std::os::raw::c_char,
2275             arg4: *const ::std::os::raw::c_char,
2276         ) -> jmethodID,
2277     >,
2278     pub CallStaticObjectMethod: ::std::option::Option<
2279         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
2280     >,
2281     pub CallStaticObjectMethodV: ::std::option::Option<
2282         unsafe extern "C" fn(
2283             arg1: *mut JNIEnv,
2284             arg2: jclass,
2285             arg3: jmethodID,
2286             arg4: va_list,
2287         ) -> jobject,
2288     >,
2289     pub CallStaticObjectMethodA: ::std::option::Option<
2290         unsafe extern "C" fn(
2291             arg1: *mut JNIEnv,
2292             arg2: jclass,
2293             arg3: jmethodID,
2294             arg4: *const jvalue,
2295         ) -> jobject,
2296     >,
2297     pub CallStaticBooleanMethod: ::std::option::Option<
2298         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jboolean,
2299     >,
2300     pub CallStaticBooleanMethodV: ::std::option::Option<
2301         unsafe extern "C" fn(
2302             arg1: *mut JNIEnv,
2303             arg2: jclass,
2304             arg3: jmethodID,
2305             arg4: va_list,
2306         ) -> jboolean,
2307     >,
2308     pub CallStaticBooleanMethodA: ::std::option::Option<
2309         unsafe extern "C" fn(
2310             arg1: *mut JNIEnv,
2311             arg2: jclass,
2312             arg3: jmethodID,
2313             arg4: *const jvalue,
2314         ) -> jboolean,
2315     >,
2316     pub CallStaticByteMethod: ::std::option::Option<
2317         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jbyte,
2318     >,
2319     pub CallStaticByteMethodV: ::std::option::Option<
2320         unsafe extern "C" fn(
2321             arg1: *mut JNIEnv,
2322             arg2: jclass,
2323             arg3: jmethodID,
2324             arg4: va_list,
2325         ) -> jbyte,
2326     >,
2327     pub CallStaticByteMethodA: ::std::option::Option<
2328         unsafe extern "C" fn(
2329             arg1: *mut JNIEnv,
2330             arg2: jclass,
2331             arg3: jmethodID,
2332             arg4: *const jvalue,
2333         ) -> jbyte,
2334     >,
2335     pub CallStaticCharMethod: ::std::option::Option<
2336         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jchar,
2337     >,
2338     pub CallStaticCharMethodV: ::std::option::Option<
2339         unsafe extern "C" fn(
2340             arg1: *mut JNIEnv,
2341             arg2: jclass,
2342             arg3: jmethodID,
2343             arg4: va_list,
2344         ) -> jchar,
2345     >,
2346     pub CallStaticCharMethodA: ::std::option::Option<
2347         unsafe extern "C" fn(
2348             arg1: *mut JNIEnv,
2349             arg2: jclass,
2350             arg3: jmethodID,
2351             arg4: *const jvalue,
2352         ) -> jchar,
2353     >,
2354     pub CallStaticShortMethod: ::std::option::Option<
2355         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jshort,
2356     >,
2357     pub CallStaticShortMethodV: ::std::option::Option<
2358         unsafe extern "C" fn(
2359             arg1: *mut JNIEnv,
2360             arg2: jclass,
2361             arg3: jmethodID,
2362             arg4: va_list,
2363         ) -> jshort,
2364     >,
2365     pub CallStaticShortMethodA: ::std::option::Option<
2366         unsafe extern "C" fn(
2367             arg1: *mut JNIEnv,
2368             arg2: jclass,
2369             arg3: jmethodID,
2370             arg4: *const jvalue,
2371         ) -> jshort,
2372     >,
2373     pub CallStaticIntMethod: ::std::option::Option<
2374         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jint,
2375     >,
2376     pub CallStaticIntMethodV: ::std::option::Option<
2377         unsafe extern "C" fn(
2378             arg1: *mut JNIEnv,
2379             arg2: jclass,
2380             arg3: jmethodID,
2381             arg4: va_list,
2382         ) -> jint,
2383     >,
2384     pub CallStaticIntMethodA: ::std::option::Option<
2385         unsafe extern "C" fn(
2386             arg1: *mut JNIEnv,
2387             arg2: jclass,
2388             arg3: jmethodID,
2389             arg4: *const jvalue,
2390         ) -> jint,
2391     >,
2392     pub CallStaticLongMethod: ::std::option::Option<
2393         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jlong,
2394     >,
2395     pub CallStaticLongMethodV: ::std::option::Option<
2396         unsafe extern "C" fn(
2397             arg1: *mut JNIEnv,
2398             arg2: jclass,
2399             arg3: jmethodID,
2400             arg4: va_list,
2401         ) -> jlong,
2402     >,
2403     pub CallStaticLongMethodA: ::std::option::Option<
2404         unsafe extern "C" fn(
2405             arg1: *mut JNIEnv,
2406             arg2: jclass,
2407             arg3: jmethodID,
2408             arg4: *const jvalue,
2409         ) -> jlong,
2410     >,
2411     pub CallStaticFloatMethod: ::std::option::Option<
2412         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jfloat,
2413     >,
2414     pub CallStaticFloatMethodV: ::std::option::Option<
2415         unsafe extern "C" fn(
2416             arg1: *mut JNIEnv,
2417             arg2: jclass,
2418             arg3: jmethodID,
2419             arg4: va_list,
2420         ) -> jfloat,
2421     >,
2422     pub CallStaticFloatMethodA: ::std::option::Option<
2423         unsafe extern "C" fn(
2424             arg1: *mut JNIEnv,
2425             arg2: jclass,
2426             arg3: jmethodID,
2427             arg4: *const jvalue,
2428         ) -> jfloat,
2429     >,
2430     pub CallStaticDoubleMethod: ::std::option::Option<
2431         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jdouble,
2432     >,
2433     pub CallStaticDoubleMethodV: ::std::option::Option<
2434         unsafe extern "C" fn(
2435             arg1: *mut JNIEnv,
2436             arg2: jclass,
2437             arg3: jmethodID,
2438             arg4: va_list,
2439         ) -> jdouble,
2440     >,
2441     pub CallStaticDoubleMethodA: ::std::option::Option<
2442         unsafe extern "C" fn(
2443             arg1: *mut JNIEnv,
2444             arg2: jclass,
2445             arg3: jmethodID,
2446             arg4: *const jvalue,
2447         ) -> jdouble,
2448     >,
2449     pub CallStaticVoidMethod: ::std::option::Option<
2450         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...),
2451     >,
2452     pub CallStaticVoidMethodV: ::std::option::Option<
2453         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: va_list),
2454     >,
2455     pub CallStaticVoidMethodA: ::std::option::Option<
2456         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: *const jvalue),
2457     >,
2458     pub GetStaticFieldID: ::std::option::Option<
2459         unsafe extern "C" fn(
2460             arg1: *mut JNIEnv,
2461             arg2: jclass,
2462             arg3: *const ::std::os::raw::c_char,
2463             arg4: *const ::std::os::raw::c_char,
2464         ) -> jfieldID,
2465     >,
2466     pub GetStaticObjectField: ::std::option::Option<
2467         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jobject,
2468     >,
2469     pub GetStaticBooleanField: ::std::option::Option<
2470         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jboolean,
2471     >,
2472     pub GetStaticByteField: ::std::option::Option<
2473         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jbyte,
2474     >,
2475     pub GetStaticCharField: ::std::option::Option<
2476         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jchar,
2477     >,
2478     pub GetStaticShortField: ::std::option::Option<
2479         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jshort,
2480     >,
2481     pub GetStaticIntField: ::std::option::Option<
2482         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jint,
2483     >,
2484     pub GetStaticLongField: ::std::option::Option<
2485         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jlong,
2486     >,
2487     pub GetStaticFloatField: ::std::option::Option<
2488         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jfloat,
2489     >,
2490     pub GetStaticDoubleField: ::std::option::Option<
2491         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jdouble,
2492     >,
2493     pub SetStaticObjectField: ::std::option::Option<
2494         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jobject),
2495     >,
2496     pub SetStaticBooleanField: ::std::option::Option<
2497         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jboolean),
2498     >,
2499     pub SetStaticByteField: ::std::option::Option<
2500         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jbyte),
2501     >,
2502     pub SetStaticCharField: ::std::option::Option<
2503         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jchar),
2504     >,
2505     pub SetStaticShortField: ::std::option::Option<
2506         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jshort),
2507     >,
2508     pub SetStaticIntField: ::std::option::Option<
2509         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jint),
2510     >,
2511     pub SetStaticLongField: ::std::option::Option<
2512         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jlong),
2513     >,
2514     pub SetStaticFloatField: ::std::option::Option<
2515         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jfloat),
2516     >,
2517     pub SetStaticDoubleField: ::std::option::Option<
2518         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jdouble),
2519     >,
2520     pub NewString: ::std::option::Option<
2521         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const jchar, arg3: jsize) -> jstring,
2522     >,
2523     pub GetStringLength:
2524         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
2525     pub GetStringChars: ::std::option::Option<
2526         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
2527     >,
2528     pub ReleaseStringChars: ::std::option::Option<
2529         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
2530     >,
2531     pub NewStringUTF: ::std::option::Option<
2532         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jstring,
2533     >,
2534     pub GetStringUTFLength:
2535         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
2536     pub GetStringUTFChars: ::std::option::Option<
2537         unsafe extern "C" fn(
2538             arg1: *mut JNIEnv,
2539             arg2: jstring,
2540             arg3: *mut jboolean,
2541         ) -> *const ::std::os::raw::c_char,
2542     >,
2543     pub ReleaseStringUTFChars: ::std::option::Option<
2544         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const ::std::os::raw::c_char),
2545     >,
2546     pub GetArrayLength:
2547         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jarray) -> jsize>,
2548     pub NewObjectArray: ::std::option::Option<
2549         unsafe extern "C" fn(
2550             arg1: *mut JNIEnv,
2551             arg2: jsize,
2552             arg3: jclass,
2553             arg4: jobject,
2554         ) -> jobjectArray,
2555     >,
2556     pub GetObjectArrayElement: ::std::option::Option<
2557         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize) -> jobject,
2558     >,
2559     pub SetObjectArrayElement: ::std::option::Option<
2560         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize, arg4: jobject),
2561     >,
2562     pub NewBooleanArray: ::std::option::Option<
2563         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbooleanArray,
2564     >,
2565     pub NewByteArray:
2566         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbyteArray>,
2567     pub NewCharArray:
2568         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jcharArray>,
2569     pub NewShortArray:
2570         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jshortArray>,
2571     pub NewIntArray:
2572         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jintArray>,
2573     pub NewLongArray:
2574         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jlongArray>,
2575     pub NewFloatArray:
2576         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jfloatArray>,
2577     pub NewDoubleArray:
2578         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jdoubleArray>,
2579     pub GetBooleanArrayElements: ::std::option::Option<
2580         unsafe extern "C" fn(
2581             arg1: *mut JNIEnv,
2582             arg2: jbooleanArray,
2583             arg3: *mut jboolean,
2584         ) -> *mut jboolean,
2585     >,
2586     pub GetByteArrayElements: ::std::option::Option<
2587         unsafe extern "C" fn(
2588             arg1: *mut JNIEnv,
2589             arg2: jbyteArray,
2590             arg3: *mut jboolean,
2591         ) -> *mut jbyte,
2592     >,
2593     pub GetCharArrayElements: ::std::option::Option<
2594         unsafe extern "C" fn(
2595             arg1: *mut JNIEnv,
2596             arg2: jcharArray,
2597             arg3: *mut jboolean,
2598         ) -> *mut jchar,
2599     >,
2600     pub GetShortArrayElements: ::std::option::Option<
2601         unsafe extern "C" fn(
2602             arg1: *mut JNIEnv,
2603             arg2: jshortArray,
2604             arg3: *mut jboolean,
2605         ) -> *mut jshort,
2606     >,
2607     pub GetIntArrayElements: ::std::option::Option<
2608         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jboolean) -> *mut jint,
2609     >,
2610     pub GetLongArrayElements: ::std::option::Option<
2611         unsafe extern "C" fn(
2612             arg1: *mut JNIEnv,
2613             arg2: jlongArray,
2614             arg3: *mut jboolean,
2615         ) -> *mut jlong,
2616     >,
2617     pub GetFloatArrayElements: ::std::option::Option<
2618         unsafe extern "C" fn(
2619             arg1: *mut JNIEnv,
2620             arg2: jfloatArray,
2621             arg3: *mut jboolean,
2622         ) -> *mut jfloat,
2623     >,
2624     pub GetDoubleArrayElements: ::std::option::Option<
2625         unsafe extern "C" fn(
2626             arg1: *mut JNIEnv,
2627             arg2: jdoubleArray,
2628             arg3: *mut jboolean,
2629         ) -> *mut jdouble,
2630     >,
2631     pub ReleaseBooleanArrayElements: ::std::option::Option<
2632         unsafe extern "C" fn(
2633             arg1: *mut JNIEnv,
2634             arg2: jbooleanArray,
2635             arg3: *mut jboolean,
2636             arg4: jint,
2637         ),
2638     >,
2639     pub ReleaseByteArrayElements: ::std::option::Option<
2640         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jbyteArray, arg3: *mut jbyte, arg4: jint),
2641     >,
2642     pub ReleaseCharArrayElements: ::std::option::Option<
2643         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jcharArray, arg3: *mut jchar, arg4: jint),
2644     >,
2645     pub ReleaseShortArrayElements: ::std::option::Option<
2646         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jshortArray, arg3: *mut jshort, arg4: jint),
2647     >,
2648     pub ReleaseIntArrayElements: ::std::option::Option<
2649         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jint, arg4: jint),
2650     >,
2651     pub ReleaseLongArrayElements: ::std::option::Option<
2652         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jlongArray, arg3: *mut jlong, arg4: jint),
2653     >,
2654     pub ReleaseFloatArrayElements: ::std::option::Option<
2655         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jfloatArray, arg3: *mut jfloat, arg4: jint),
2656     >,
2657     pub ReleaseDoubleArrayElements: ::std::option::Option<
2658         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jdoubleArray, arg3: *mut jdouble, arg4: jint),
2659     >,
2660     pub GetBooleanArrayRegion: ::std::option::Option<
2661         unsafe extern "C" fn(
2662             arg1: *mut JNIEnv,
2663             arg2: jbooleanArray,
2664             arg3: jsize,
2665             arg4: jsize,
2666             arg5: *mut jboolean,
2667         ),
2668     >,
2669     pub GetByteArrayRegion: ::std::option::Option<
2670         unsafe extern "C" fn(
2671             arg1: *mut JNIEnv,
2672             arg2: jbyteArray,
2673             arg3: jsize,
2674             arg4: jsize,
2675             arg5: *mut jbyte,
2676         ),
2677     >,
2678     pub GetCharArrayRegion: ::std::option::Option<
2679         unsafe extern "C" fn(
2680             arg1: *mut JNIEnv,
2681             arg2: jcharArray,
2682             arg3: jsize,
2683             arg4: jsize,
2684             arg5: *mut jchar,
2685         ),
2686     >,
2687     pub GetShortArrayRegion: ::std::option::Option<
2688         unsafe extern "C" fn(
2689             arg1: *mut JNIEnv,
2690             arg2: jshortArray,
2691             arg3: jsize,
2692             arg4: jsize,
2693             arg5: *mut jshort,
2694         ),
2695     >,
2696     pub GetIntArrayRegion: ::std::option::Option<
2697         unsafe extern "C" fn(
2698             arg1: *mut JNIEnv,
2699             arg2: jintArray,
2700             arg3: jsize,
2701             arg4: jsize,
2702             arg5: *mut jint,
2703         ),
2704     >,
2705     pub GetLongArrayRegion: ::std::option::Option<
2706         unsafe extern "C" fn(
2707             arg1: *mut JNIEnv,
2708             arg2: jlongArray,
2709             arg3: jsize,
2710             arg4: jsize,
2711             arg5: *mut jlong,
2712         ),
2713     >,
2714     pub GetFloatArrayRegion: ::std::option::Option<
2715         unsafe extern "C" fn(
2716             arg1: *mut JNIEnv,
2717             arg2: jfloatArray,
2718             arg3: jsize,
2719             arg4: jsize,
2720             arg5: *mut jfloat,
2721         ),
2722     >,
2723     pub GetDoubleArrayRegion: ::std::option::Option<
2724         unsafe extern "C" fn(
2725             arg1: *mut JNIEnv,
2726             arg2: jdoubleArray,
2727             arg3: jsize,
2728             arg4: jsize,
2729             arg5: *mut jdouble,
2730         ),
2731     >,
2732     pub SetBooleanArrayRegion: ::std::option::Option<
2733         unsafe extern "C" fn(
2734             arg1: *mut JNIEnv,
2735             arg2: jbooleanArray,
2736             arg3: jsize,
2737             arg4: jsize,
2738             arg5: *const jboolean,
2739         ),
2740     >,
2741     pub SetByteArrayRegion: ::std::option::Option<
2742         unsafe extern "C" fn(
2743             arg1: *mut JNIEnv,
2744             arg2: jbyteArray,
2745             arg3: jsize,
2746             arg4: jsize,
2747             arg5: *const jbyte,
2748         ),
2749     >,
2750     pub SetCharArrayRegion: ::std::option::Option<
2751         unsafe extern "C" fn(
2752             arg1: *mut JNIEnv,
2753             arg2: jcharArray,
2754             arg3: jsize,
2755             arg4: jsize,
2756             arg5: *const jchar,
2757         ),
2758     >,
2759     pub SetShortArrayRegion: ::std::option::Option<
2760         unsafe extern "C" fn(
2761             arg1: *mut JNIEnv,
2762             arg2: jshortArray,
2763             arg3: jsize,
2764             arg4: jsize,
2765             arg5: *const jshort,
2766         ),
2767     >,
2768     pub SetIntArrayRegion: ::std::option::Option<
2769         unsafe extern "C" fn(
2770             arg1: *mut JNIEnv,
2771             arg2: jintArray,
2772             arg3: jsize,
2773             arg4: jsize,
2774             arg5: *const jint,
2775         ),
2776     >,
2777     pub SetLongArrayRegion: ::std::option::Option<
2778         unsafe extern "C" fn(
2779             arg1: *mut JNIEnv,
2780             arg2: jlongArray,
2781             arg3: jsize,
2782             arg4: jsize,
2783             arg5: *const jlong,
2784         ),
2785     >,
2786     pub SetFloatArrayRegion: ::std::option::Option<
2787         unsafe extern "C" fn(
2788             arg1: *mut JNIEnv,
2789             arg2: jfloatArray,
2790             arg3: jsize,
2791             arg4: jsize,
2792             arg5: *const jfloat,
2793         ),
2794     >,
2795     pub SetDoubleArrayRegion: ::std::option::Option<
2796         unsafe extern "C" fn(
2797             arg1: *mut JNIEnv,
2798             arg2: jdoubleArray,
2799             arg3: jsize,
2800             arg4: jsize,
2801             arg5: *const jdouble,
2802         ),
2803     >,
2804     pub RegisterNatives: ::std::option::Option<
2805         unsafe extern "C" fn(
2806             arg1: *mut JNIEnv,
2807             arg2: jclass,
2808             arg3: *const JNINativeMethod,
2809             arg4: jint,
2810         ) -> jint,
2811     >,
2812     pub UnregisterNatives:
2813         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jint>,
2814     pub MonitorEnter:
2815         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
2816     pub MonitorExit:
2817         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
2818     pub GetJavaVM: ::std::option::Option<
2819         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *mut *mut JavaVM) -> jint,
2820     >,
2821     pub GetStringRegion: ::std::option::Option<
2822         unsafe extern "C" fn(
2823             arg1: *mut JNIEnv,
2824             arg2: jstring,
2825             arg3: jsize,
2826             arg4: jsize,
2827             arg5: *mut jchar,
2828         ),
2829     >,
2830     pub GetStringUTFRegion: ::std::option::Option<
2831         unsafe extern "C" fn(
2832             arg1: *mut JNIEnv,
2833             arg2: jstring,
2834             arg3: jsize,
2835             arg4: jsize,
2836             arg5: *mut ::std::os::raw::c_char,
2837         ),
2838     >,
2839     pub GetPrimitiveArrayCritical: ::std::option::Option<
2840         unsafe extern "C" fn(
2841             arg1: *mut JNIEnv,
2842             arg2: jarray,
2843             arg3: *mut jboolean,
2844         ) -> *mut ::std::os::raw::c_void,
2845     >,
2846     pub ReleasePrimitiveArrayCritical: ::std::option::Option<
2847         unsafe extern "C" fn(
2848             arg1: *mut JNIEnv,
2849             arg2: jarray,
2850             arg3: *mut ::std::os::raw::c_void,
2851             arg4: jint,
2852         ),
2853     >,
2854     pub GetStringCritical: ::std::option::Option<
2855         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
2856     >,
2857     pub ReleaseStringCritical: ::std::option::Option<
2858         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
2859     >,
2860     pub NewWeakGlobalRef:
2861         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jweak>,
2862     pub DeleteWeakGlobalRef:
2863         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jweak)>,
2864     pub ExceptionCheck: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jboolean>,
2865     pub NewDirectByteBuffer: ::std::option::Option<
2866         unsafe extern "C" fn(
2867             arg1: *mut JNIEnv,
2868             arg2: *mut ::std::os::raw::c_void,
2869             arg3: jlong,
2870         ) -> jobject,
2871     >,
2872     pub GetDirectBufferAddress: ::std::option::Option<
2873         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> *mut ::std::os::raw::c_void,
2874     >,
2875     pub GetDirectBufferCapacity:
2876         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jlong>,
2877     pub GetObjectRefType: ::std::option::Option<
2878         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobjectRefType,
2879     >,
2880 }
2881 #[test]
bindgen_test_layout_JNINativeInterface()2882 fn bindgen_test_layout_JNINativeInterface() {
2883     assert_eq!(
2884         ::std::mem::size_of::<JNINativeInterface>(),
2885         1864usize,
2886         concat!("Size of: ", stringify!(JNINativeInterface))
2887     );
2888     assert_eq!(
2889         ::std::mem::align_of::<JNINativeInterface>(),
2890         8usize,
2891         concat!("Alignment of ", stringify!(JNINativeInterface))
2892     );
2893     assert_eq!(
2894         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved0 as *const _ as usize },
2895         0usize,
2896         concat!(
2897             "Offset of field: ",
2898             stringify!(JNINativeInterface),
2899             "::",
2900             stringify!(reserved0)
2901         )
2902     );
2903     assert_eq!(
2904         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved1 as *const _ as usize },
2905         8usize,
2906         concat!(
2907             "Offset of field: ",
2908             stringify!(JNINativeInterface),
2909             "::",
2910             stringify!(reserved1)
2911         )
2912     );
2913     assert_eq!(
2914         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved2 as *const _ as usize },
2915         16usize,
2916         concat!(
2917             "Offset of field: ",
2918             stringify!(JNINativeInterface),
2919             "::",
2920             stringify!(reserved2)
2921         )
2922     );
2923     assert_eq!(
2924         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved3 as *const _ as usize },
2925         24usize,
2926         concat!(
2927             "Offset of field: ",
2928             stringify!(JNINativeInterface),
2929             "::",
2930             stringify!(reserved3)
2931         )
2932     );
2933     assert_eq!(
2934         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetVersion as *const _ as usize },
2935         32usize,
2936         concat!(
2937             "Offset of field: ",
2938             stringify!(JNINativeInterface),
2939             "::",
2940             stringify!(GetVersion)
2941         )
2942     );
2943     assert_eq!(
2944         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).DefineClass as *const _ as usize },
2945         40usize,
2946         concat!(
2947             "Offset of field: ",
2948             stringify!(JNINativeInterface),
2949             "::",
2950             stringify!(DefineClass)
2951         )
2952     );
2953     assert_eq!(
2954         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FindClass as *const _ as usize },
2955         48usize,
2956         concat!(
2957             "Offset of field: ",
2958             stringify!(JNINativeInterface),
2959             "::",
2960             stringify!(FindClass)
2961         )
2962     );
2963     assert_eq!(
2964         unsafe {
2965             &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedMethod as *const _ as usize
2966         },
2967         56usize,
2968         concat!(
2969             "Offset of field: ",
2970             stringify!(JNINativeInterface),
2971             "::",
2972             stringify!(FromReflectedMethod)
2973         )
2974     );
2975     assert_eq!(
2976         unsafe {
2977             &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedField as *const _ as usize
2978         },
2979         64usize,
2980         concat!(
2981             "Offset of field: ",
2982             stringify!(JNINativeInterface),
2983             "::",
2984             stringify!(FromReflectedField)
2985         )
2986     );
2987     assert_eq!(
2988         unsafe {
2989             &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedMethod as *const _ as usize
2990         },
2991         72usize,
2992         concat!(
2993             "Offset of field: ",
2994             stringify!(JNINativeInterface),
2995             "::",
2996             stringify!(ToReflectedMethod)
2997         )
2998     );
2999     assert_eq!(
3000         unsafe {
3001             &(*(::std::ptr::null::<JNINativeInterface>())).GetSuperclass as *const _ as usize
3002         },
3003         80usize,
3004         concat!(
3005             "Offset of field: ",
3006             stringify!(JNINativeInterface),
3007             "::",
3008             stringify!(GetSuperclass)
3009         )
3010     );
3011     assert_eq!(
3012         unsafe {
3013             &(*(::std::ptr::null::<JNINativeInterface>())).IsAssignableFrom as *const _ as usize
3014         },
3015         88usize,
3016         concat!(
3017             "Offset of field: ",
3018             stringify!(JNINativeInterface),
3019             "::",
3020             stringify!(IsAssignableFrom)
3021         )
3022     );
3023     assert_eq!(
3024         unsafe {
3025             &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedField as *const _ as usize
3026         },
3027         96usize,
3028         concat!(
3029             "Offset of field: ",
3030             stringify!(JNINativeInterface),
3031             "::",
3032             stringify!(ToReflectedField)
3033         )
3034     );
3035     assert_eq!(
3036         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).Throw as *const _ as usize },
3037         104usize,
3038         concat!(
3039             "Offset of field: ",
3040             stringify!(JNINativeInterface),
3041             "::",
3042             stringify!(Throw)
3043         )
3044     );
3045     assert_eq!(
3046         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).ThrowNew as *const _ as usize },
3047         112usize,
3048         concat!(
3049             "Offset of field: ",
3050             stringify!(JNINativeInterface),
3051             "::",
3052             stringify!(ThrowNew)
3053         )
3054     );
3055     assert_eq!(
3056         unsafe {
3057             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionOccurred as *const _ as usize
3058         },
3059         120usize,
3060         concat!(
3061             "Offset of field: ",
3062             stringify!(JNINativeInterface),
3063             "::",
3064             stringify!(ExceptionOccurred)
3065         )
3066     );
3067     assert_eq!(
3068         unsafe {
3069             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionDescribe as *const _ as usize
3070         },
3071         128usize,
3072         concat!(
3073             "Offset of field: ",
3074             stringify!(JNINativeInterface),
3075             "::",
3076             stringify!(ExceptionDescribe)
3077         )
3078     );
3079     assert_eq!(
3080         unsafe {
3081             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionClear as *const _ as usize
3082         },
3083         136usize,
3084         concat!(
3085             "Offset of field: ",
3086             stringify!(JNINativeInterface),
3087             "::",
3088             stringify!(ExceptionClear)
3089         )
3090     );
3091     assert_eq!(
3092         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FatalError as *const _ as usize },
3093         144usize,
3094         concat!(
3095             "Offset of field: ",
3096             stringify!(JNINativeInterface),
3097             "::",
3098             stringify!(FatalError)
3099         )
3100     );
3101     assert_eq!(
3102         unsafe {
3103             &(*(::std::ptr::null::<JNINativeInterface>())).PushLocalFrame as *const _ as usize
3104         },
3105         152usize,
3106         concat!(
3107             "Offset of field: ",
3108             stringify!(JNINativeInterface),
3109             "::",
3110             stringify!(PushLocalFrame)
3111         )
3112     );
3113     assert_eq!(
3114         unsafe {
3115             &(*(::std::ptr::null::<JNINativeInterface>())).PopLocalFrame as *const _ as usize
3116         },
3117         160usize,
3118         concat!(
3119             "Offset of field: ",
3120             stringify!(JNINativeInterface),
3121             "::",
3122             stringify!(PopLocalFrame)
3123         )
3124     );
3125     assert_eq!(
3126         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewGlobalRef as *const _ as usize },
3127         168usize,
3128         concat!(
3129             "Offset of field: ",
3130             stringify!(JNINativeInterface),
3131             "::",
3132             stringify!(NewGlobalRef)
3133         )
3134     );
3135     assert_eq!(
3136         unsafe {
3137             &(*(::std::ptr::null::<JNINativeInterface>())).DeleteGlobalRef as *const _ as usize
3138         },
3139         176usize,
3140         concat!(
3141             "Offset of field: ",
3142             stringify!(JNINativeInterface),
3143             "::",
3144             stringify!(DeleteGlobalRef)
3145         )
3146     );
3147     assert_eq!(
3148         unsafe {
3149             &(*(::std::ptr::null::<JNINativeInterface>())).DeleteLocalRef as *const _ as usize
3150         },
3151         184usize,
3152         concat!(
3153             "Offset of field: ",
3154             stringify!(JNINativeInterface),
3155             "::",
3156             stringify!(DeleteLocalRef)
3157         )
3158     );
3159     assert_eq!(
3160         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsSameObject as *const _ as usize },
3161         192usize,
3162         concat!(
3163             "Offset of field: ",
3164             stringify!(JNINativeInterface),
3165             "::",
3166             stringify!(IsSameObject)
3167         )
3168     );
3169     assert_eq!(
3170         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLocalRef as *const _ as usize },
3171         200usize,
3172         concat!(
3173             "Offset of field: ",
3174             stringify!(JNINativeInterface),
3175             "::",
3176             stringify!(NewLocalRef)
3177         )
3178     );
3179     assert_eq!(
3180         unsafe {
3181             &(*(::std::ptr::null::<JNINativeInterface>())).EnsureLocalCapacity as *const _ as usize
3182         },
3183         208usize,
3184         concat!(
3185             "Offset of field: ",
3186             stringify!(JNINativeInterface),
3187             "::",
3188             stringify!(EnsureLocalCapacity)
3189         )
3190     );
3191     assert_eq!(
3192         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).AllocObject as *const _ as usize },
3193         216usize,
3194         concat!(
3195             "Offset of field: ",
3196             stringify!(JNINativeInterface),
3197             "::",
3198             stringify!(AllocObject)
3199         )
3200     );
3201     assert_eq!(
3202         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObject as *const _ as usize },
3203         224usize,
3204         concat!(
3205             "Offset of field: ",
3206             stringify!(JNINativeInterface),
3207             "::",
3208             stringify!(NewObject)
3209         )
3210     );
3211     assert_eq!(
3212         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectV as *const _ as usize },
3213         232usize,
3214         concat!(
3215             "Offset of field: ",
3216             stringify!(JNINativeInterface),
3217             "::",
3218             stringify!(NewObjectV)
3219         )
3220     );
3221     assert_eq!(
3222         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectA as *const _ as usize },
3223         240usize,
3224         concat!(
3225             "Offset of field: ",
3226             stringify!(JNINativeInterface),
3227             "::",
3228             stringify!(NewObjectA)
3229         )
3230     );
3231     assert_eq!(
3232         unsafe {
3233             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectClass as *const _ as usize
3234         },
3235         248usize,
3236         concat!(
3237             "Offset of field: ",
3238             stringify!(JNINativeInterface),
3239             "::",
3240             stringify!(GetObjectClass)
3241         )
3242     );
3243     assert_eq!(
3244         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsInstanceOf as *const _ as usize },
3245         256usize,
3246         concat!(
3247             "Offset of field: ",
3248             stringify!(JNINativeInterface),
3249             "::",
3250             stringify!(IsInstanceOf)
3251         )
3252     );
3253     assert_eq!(
3254         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetMethodID as *const _ as usize },
3255         264usize,
3256         concat!(
3257             "Offset of field: ",
3258             stringify!(JNINativeInterface),
3259             "::",
3260             stringify!(GetMethodID)
3261         )
3262     );
3263     assert_eq!(
3264         unsafe {
3265             &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethod as *const _ as usize
3266         },
3267         272usize,
3268         concat!(
3269             "Offset of field: ",
3270             stringify!(JNINativeInterface),
3271             "::",
3272             stringify!(CallObjectMethod)
3273         )
3274     );
3275     assert_eq!(
3276         unsafe {
3277             &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodV as *const _ as usize
3278         },
3279         280usize,
3280         concat!(
3281             "Offset of field: ",
3282             stringify!(JNINativeInterface),
3283             "::",
3284             stringify!(CallObjectMethodV)
3285         )
3286     );
3287     assert_eq!(
3288         unsafe {
3289             &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodA as *const _ as usize
3290         },
3291         288usize,
3292         concat!(
3293             "Offset of field: ",
3294             stringify!(JNINativeInterface),
3295             "::",
3296             stringify!(CallObjectMethodA)
3297         )
3298     );
3299     assert_eq!(
3300         unsafe {
3301             &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethod as *const _ as usize
3302         },
3303         296usize,
3304         concat!(
3305             "Offset of field: ",
3306             stringify!(JNINativeInterface),
3307             "::",
3308             stringify!(CallBooleanMethod)
3309         )
3310     );
3311     assert_eq!(
3312         unsafe {
3313             &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodV as *const _ as usize
3314         },
3315         304usize,
3316         concat!(
3317             "Offset of field: ",
3318             stringify!(JNINativeInterface),
3319             "::",
3320             stringify!(CallBooleanMethodV)
3321         )
3322     );
3323     assert_eq!(
3324         unsafe {
3325             &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodA as *const _ as usize
3326         },
3327         312usize,
3328         concat!(
3329             "Offset of field: ",
3330             stringify!(JNINativeInterface),
3331             "::",
3332             stringify!(CallBooleanMethodA)
3333         )
3334     );
3335     assert_eq!(
3336         unsafe {
3337             &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethod as *const _ as usize
3338         },
3339         320usize,
3340         concat!(
3341             "Offset of field: ",
3342             stringify!(JNINativeInterface),
3343             "::",
3344             stringify!(CallByteMethod)
3345         )
3346     );
3347     assert_eq!(
3348         unsafe {
3349             &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodV as *const _ as usize
3350         },
3351         328usize,
3352         concat!(
3353             "Offset of field: ",
3354             stringify!(JNINativeInterface),
3355             "::",
3356             stringify!(CallByteMethodV)
3357         )
3358     );
3359     assert_eq!(
3360         unsafe {
3361             &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodA as *const _ as usize
3362         },
3363         336usize,
3364         concat!(
3365             "Offset of field: ",
3366             stringify!(JNINativeInterface),
3367             "::",
3368             stringify!(CallByteMethodA)
3369         )
3370     );
3371     assert_eq!(
3372         unsafe {
3373             &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethod as *const _ as usize
3374         },
3375         344usize,
3376         concat!(
3377             "Offset of field: ",
3378             stringify!(JNINativeInterface),
3379             "::",
3380             stringify!(CallCharMethod)
3381         )
3382     );
3383     assert_eq!(
3384         unsafe {
3385             &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodV as *const _ as usize
3386         },
3387         352usize,
3388         concat!(
3389             "Offset of field: ",
3390             stringify!(JNINativeInterface),
3391             "::",
3392             stringify!(CallCharMethodV)
3393         )
3394     );
3395     assert_eq!(
3396         unsafe {
3397             &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodA as *const _ as usize
3398         },
3399         360usize,
3400         concat!(
3401             "Offset of field: ",
3402             stringify!(JNINativeInterface),
3403             "::",
3404             stringify!(CallCharMethodA)
3405         )
3406     );
3407     assert_eq!(
3408         unsafe {
3409             &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethod as *const _ as usize
3410         },
3411         368usize,
3412         concat!(
3413             "Offset of field: ",
3414             stringify!(JNINativeInterface),
3415             "::",
3416             stringify!(CallShortMethod)
3417         )
3418     );
3419     assert_eq!(
3420         unsafe {
3421             &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodV as *const _ as usize
3422         },
3423         376usize,
3424         concat!(
3425             "Offset of field: ",
3426             stringify!(JNINativeInterface),
3427             "::",
3428             stringify!(CallShortMethodV)
3429         )
3430     );
3431     assert_eq!(
3432         unsafe {
3433             &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodA as *const _ as usize
3434         },
3435         384usize,
3436         concat!(
3437             "Offset of field: ",
3438             stringify!(JNINativeInterface),
3439             "::",
3440             stringify!(CallShortMethodA)
3441         )
3442     );
3443     assert_eq!(
3444         unsafe {
3445             &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethod as *const _ as usize
3446         },
3447         392usize,
3448         concat!(
3449             "Offset of field: ",
3450             stringify!(JNINativeInterface),
3451             "::",
3452             stringify!(CallIntMethod)
3453         )
3454     );
3455     assert_eq!(
3456         unsafe {
3457             &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodV as *const _ as usize
3458         },
3459         400usize,
3460         concat!(
3461             "Offset of field: ",
3462             stringify!(JNINativeInterface),
3463             "::",
3464             stringify!(CallIntMethodV)
3465         )
3466     );
3467     assert_eq!(
3468         unsafe {
3469             &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodA as *const _ as usize
3470         },
3471         408usize,
3472         concat!(
3473             "Offset of field: ",
3474             stringify!(JNINativeInterface),
3475             "::",
3476             stringify!(CallIntMethodA)
3477         )
3478     );
3479     assert_eq!(
3480         unsafe {
3481             &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethod as *const _ as usize
3482         },
3483         416usize,
3484         concat!(
3485             "Offset of field: ",
3486             stringify!(JNINativeInterface),
3487             "::",
3488             stringify!(CallLongMethod)
3489         )
3490     );
3491     assert_eq!(
3492         unsafe {
3493             &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodV as *const _ as usize
3494         },
3495         424usize,
3496         concat!(
3497             "Offset of field: ",
3498             stringify!(JNINativeInterface),
3499             "::",
3500             stringify!(CallLongMethodV)
3501         )
3502     );
3503     assert_eq!(
3504         unsafe {
3505             &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodA as *const _ as usize
3506         },
3507         432usize,
3508         concat!(
3509             "Offset of field: ",
3510             stringify!(JNINativeInterface),
3511             "::",
3512             stringify!(CallLongMethodA)
3513         )
3514     );
3515     assert_eq!(
3516         unsafe {
3517             &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethod as *const _ as usize
3518         },
3519         440usize,
3520         concat!(
3521             "Offset of field: ",
3522             stringify!(JNINativeInterface),
3523             "::",
3524             stringify!(CallFloatMethod)
3525         )
3526     );
3527     assert_eq!(
3528         unsafe {
3529             &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodV as *const _ as usize
3530         },
3531         448usize,
3532         concat!(
3533             "Offset of field: ",
3534             stringify!(JNINativeInterface),
3535             "::",
3536             stringify!(CallFloatMethodV)
3537         )
3538     );
3539     assert_eq!(
3540         unsafe {
3541             &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodA as *const _ as usize
3542         },
3543         456usize,
3544         concat!(
3545             "Offset of field: ",
3546             stringify!(JNINativeInterface),
3547             "::",
3548             stringify!(CallFloatMethodA)
3549         )
3550     );
3551     assert_eq!(
3552         unsafe {
3553             &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethod as *const _ as usize
3554         },
3555         464usize,
3556         concat!(
3557             "Offset of field: ",
3558             stringify!(JNINativeInterface),
3559             "::",
3560             stringify!(CallDoubleMethod)
3561         )
3562     );
3563     assert_eq!(
3564         unsafe {
3565             &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodV as *const _ as usize
3566         },
3567         472usize,
3568         concat!(
3569             "Offset of field: ",
3570             stringify!(JNINativeInterface),
3571             "::",
3572             stringify!(CallDoubleMethodV)
3573         )
3574     );
3575     assert_eq!(
3576         unsafe {
3577             &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodA as *const _ as usize
3578         },
3579         480usize,
3580         concat!(
3581             "Offset of field: ",
3582             stringify!(JNINativeInterface),
3583             "::",
3584             stringify!(CallDoubleMethodA)
3585         )
3586     );
3587     assert_eq!(
3588         unsafe {
3589             &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethod as *const _ as usize
3590         },
3591         488usize,
3592         concat!(
3593             "Offset of field: ",
3594             stringify!(JNINativeInterface),
3595             "::",
3596             stringify!(CallVoidMethod)
3597         )
3598     );
3599     assert_eq!(
3600         unsafe {
3601             &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodV as *const _ as usize
3602         },
3603         496usize,
3604         concat!(
3605             "Offset of field: ",
3606             stringify!(JNINativeInterface),
3607             "::",
3608             stringify!(CallVoidMethodV)
3609         )
3610     );
3611     assert_eq!(
3612         unsafe {
3613             &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodA as *const _ as usize
3614         },
3615         504usize,
3616         concat!(
3617             "Offset of field: ",
3618             stringify!(JNINativeInterface),
3619             "::",
3620             stringify!(CallVoidMethodA)
3621         )
3622     );
3623     assert_eq!(
3624         unsafe {
3625             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethod as *const _
3626                 as usize
3627         },
3628         512usize,
3629         concat!(
3630             "Offset of field: ",
3631             stringify!(JNINativeInterface),
3632             "::",
3633             stringify!(CallNonvirtualObjectMethod)
3634         )
3635     );
3636     assert_eq!(
3637         unsafe {
3638             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodV as *const _
3639                 as usize
3640         },
3641         520usize,
3642         concat!(
3643             "Offset of field: ",
3644             stringify!(JNINativeInterface),
3645             "::",
3646             stringify!(CallNonvirtualObjectMethodV)
3647         )
3648     );
3649     assert_eq!(
3650         unsafe {
3651             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodA as *const _
3652                 as usize
3653         },
3654         528usize,
3655         concat!(
3656             "Offset of field: ",
3657             stringify!(JNINativeInterface),
3658             "::",
3659             stringify!(CallNonvirtualObjectMethodA)
3660         )
3661     );
3662     assert_eq!(
3663         unsafe {
3664             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethod as *const _
3665                 as usize
3666         },
3667         536usize,
3668         concat!(
3669             "Offset of field: ",
3670             stringify!(JNINativeInterface),
3671             "::",
3672             stringify!(CallNonvirtualBooleanMethod)
3673         )
3674     );
3675     assert_eq!(
3676         unsafe {
3677             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodV as *const _
3678                 as usize
3679         },
3680         544usize,
3681         concat!(
3682             "Offset of field: ",
3683             stringify!(JNINativeInterface),
3684             "::",
3685             stringify!(CallNonvirtualBooleanMethodV)
3686         )
3687     );
3688     assert_eq!(
3689         unsafe {
3690             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodA as *const _
3691                 as usize
3692         },
3693         552usize,
3694         concat!(
3695             "Offset of field: ",
3696             stringify!(JNINativeInterface),
3697             "::",
3698             stringify!(CallNonvirtualBooleanMethodA)
3699         )
3700     );
3701     assert_eq!(
3702         unsafe {
3703             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethod as *const _
3704                 as usize
3705         },
3706         560usize,
3707         concat!(
3708             "Offset of field: ",
3709             stringify!(JNINativeInterface),
3710             "::",
3711             stringify!(CallNonvirtualByteMethod)
3712         )
3713     );
3714     assert_eq!(
3715         unsafe {
3716             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodV as *const _
3717                 as usize
3718         },
3719         568usize,
3720         concat!(
3721             "Offset of field: ",
3722             stringify!(JNINativeInterface),
3723             "::",
3724             stringify!(CallNonvirtualByteMethodV)
3725         )
3726     );
3727     assert_eq!(
3728         unsafe {
3729             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodA as *const _
3730                 as usize
3731         },
3732         576usize,
3733         concat!(
3734             "Offset of field: ",
3735             stringify!(JNINativeInterface),
3736             "::",
3737             stringify!(CallNonvirtualByteMethodA)
3738         )
3739     );
3740     assert_eq!(
3741         unsafe {
3742             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethod as *const _
3743                 as usize
3744         },
3745         584usize,
3746         concat!(
3747             "Offset of field: ",
3748             stringify!(JNINativeInterface),
3749             "::",
3750             stringify!(CallNonvirtualCharMethod)
3751         )
3752     );
3753     assert_eq!(
3754         unsafe {
3755             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodV as *const _
3756                 as usize
3757         },
3758         592usize,
3759         concat!(
3760             "Offset of field: ",
3761             stringify!(JNINativeInterface),
3762             "::",
3763             stringify!(CallNonvirtualCharMethodV)
3764         )
3765     );
3766     assert_eq!(
3767         unsafe {
3768             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodA as *const _
3769                 as usize
3770         },
3771         600usize,
3772         concat!(
3773             "Offset of field: ",
3774             stringify!(JNINativeInterface),
3775             "::",
3776             stringify!(CallNonvirtualCharMethodA)
3777         )
3778     );
3779     assert_eq!(
3780         unsafe {
3781             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethod as *const _
3782                 as usize
3783         },
3784         608usize,
3785         concat!(
3786             "Offset of field: ",
3787             stringify!(JNINativeInterface),
3788             "::",
3789             stringify!(CallNonvirtualShortMethod)
3790         )
3791     );
3792     assert_eq!(
3793         unsafe {
3794             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodV as *const _
3795                 as usize
3796         },
3797         616usize,
3798         concat!(
3799             "Offset of field: ",
3800             stringify!(JNINativeInterface),
3801             "::",
3802             stringify!(CallNonvirtualShortMethodV)
3803         )
3804     );
3805     assert_eq!(
3806         unsafe {
3807             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodA as *const _
3808                 as usize
3809         },
3810         624usize,
3811         concat!(
3812             "Offset of field: ",
3813             stringify!(JNINativeInterface),
3814             "::",
3815             stringify!(CallNonvirtualShortMethodA)
3816         )
3817     );
3818     assert_eq!(
3819         unsafe {
3820             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethod as *const _
3821                 as usize
3822         },
3823         632usize,
3824         concat!(
3825             "Offset of field: ",
3826             stringify!(JNINativeInterface),
3827             "::",
3828             stringify!(CallNonvirtualIntMethod)
3829         )
3830     );
3831     assert_eq!(
3832         unsafe {
3833             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodV as *const _
3834                 as usize
3835         },
3836         640usize,
3837         concat!(
3838             "Offset of field: ",
3839             stringify!(JNINativeInterface),
3840             "::",
3841             stringify!(CallNonvirtualIntMethodV)
3842         )
3843     );
3844     assert_eq!(
3845         unsafe {
3846             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodA as *const _
3847                 as usize
3848         },
3849         648usize,
3850         concat!(
3851             "Offset of field: ",
3852             stringify!(JNINativeInterface),
3853             "::",
3854             stringify!(CallNonvirtualIntMethodA)
3855         )
3856     );
3857     assert_eq!(
3858         unsafe {
3859             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethod as *const _
3860                 as usize
3861         },
3862         656usize,
3863         concat!(
3864             "Offset of field: ",
3865             stringify!(JNINativeInterface),
3866             "::",
3867             stringify!(CallNonvirtualLongMethod)
3868         )
3869     );
3870     assert_eq!(
3871         unsafe {
3872             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodV as *const _
3873                 as usize
3874         },
3875         664usize,
3876         concat!(
3877             "Offset of field: ",
3878             stringify!(JNINativeInterface),
3879             "::",
3880             stringify!(CallNonvirtualLongMethodV)
3881         )
3882     );
3883     assert_eq!(
3884         unsafe {
3885             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodA as *const _
3886                 as usize
3887         },
3888         672usize,
3889         concat!(
3890             "Offset of field: ",
3891             stringify!(JNINativeInterface),
3892             "::",
3893             stringify!(CallNonvirtualLongMethodA)
3894         )
3895     );
3896     assert_eq!(
3897         unsafe {
3898             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethod as *const _
3899                 as usize
3900         },
3901         680usize,
3902         concat!(
3903             "Offset of field: ",
3904             stringify!(JNINativeInterface),
3905             "::",
3906             stringify!(CallNonvirtualFloatMethod)
3907         )
3908     );
3909     assert_eq!(
3910         unsafe {
3911             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodV as *const _
3912                 as usize
3913         },
3914         688usize,
3915         concat!(
3916             "Offset of field: ",
3917             stringify!(JNINativeInterface),
3918             "::",
3919             stringify!(CallNonvirtualFloatMethodV)
3920         )
3921     );
3922     assert_eq!(
3923         unsafe {
3924             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodA as *const _
3925                 as usize
3926         },
3927         696usize,
3928         concat!(
3929             "Offset of field: ",
3930             stringify!(JNINativeInterface),
3931             "::",
3932             stringify!(CallNonvirtualFloatMethodA)
3933         )
3934     );
3935     assert_eq!(
3936         unsafe {
3937             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethod as *const _
3938                 as usize
3939         },
3940         704usize,
3941         concat!(
3942             "Offset of field: ",
3943             stringify!(JNINativeInterface),
3944             "::",
3945             stringify!(CallNonvirtualDoubleMethod)
3946         )
3947     );
3948     assert_eq!(
3949         unsafe {
3950             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodV as *const _
3951                 as usize
3952         },
3953         712usize,
3954         concat!(
3955             "Offset of field: ",
3956             stringify!(JNINativeInterface),
3957             "::",
3958             stringify!(CallNonvirtualDoubleMethodV)
3959         )
3960     );
3961     assert_eq!(
3962         unsafe {
3963             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodA as *const _
3964                 as usize
3965         },
3966         720usize,
3967         concat!(
3968             "Offset of field: ",
3969             stringify!(JNINativeInterface),
3970             "::",
3971             stringify!(CallNonvirtualDoubleMethodA)
3972         )
3973     );
3974     assert_eq!(
3975         unsafe {
3976             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethod as *const _
3977                 as usize
3978         },
3979         728usize,
3980         concat!(
3981             "Offset of field: ",
3982             stringify!(JNINativeInterface),
3983             "::",
3984             stringify!(CallNonvirtualVoidMethod)
3985         )
3986     );
3987     assert_eq!(
3988         unsafe {
3989             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodV as *const _
3990                 as usize
3991         },
3992         736usize,
3993         concat!(
3994             "Offset of field: ",
3995             stringify!(JNINativeInterface),
3996             "::",
3997             stringify!(CallNonvirtualVoidMethodV)
3998         )
3999     );
4000     assert_eq!(
4001         unsafe {
4002             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodA as *const _
4003                 as usize
4004         },
4005         744usize,
4006         concat!(
4007             "Offset of field: ",
4008             stringify!(JNINativeInterface),
4009             "::",
4010             stringify!(CallNonvirtualVoidMethodA)
4011         )
4012     );
4013     assert_eq!(
4014         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetFieldID as *const _ as usize },
4015         752usize,
4016         concat!(
4017             "Offset of field: ",
4018             stringify!(JNINativeInterface),
4019             "::",
4020             stringify!(GetFieldID)
4021         )
4022     );
4023     assert_eq!(
4024         unsafe {
4025             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectField as *const _ as usize
4026         },
4027         760usize,
4028         concat!(
4029             "Offset of field: ",
4030             stringify!(JNINativeInterface),
4031             "::",
4032             stringify!(GetObjectField)
4033         )
4034     );
4035     assert_eq!(
4036         unsafe {
4037             &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanField as *const _ as usize
4038         },
4039         768usize,
4040         concat!(
4041             "Offset of field: ",
4042             stringify!(JNINativeInterface),
4043             "::",
4044             stringify!(GetBooleanField)
4045         )
4046     );
4047     assert_eq!(
4048         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetByteField as *const _ as usize },
4049         776usize,
4050         concat!(
4051             "Offset of field: ",
4052             stringify!(JNINativeInterface),
4053             "::",
4054             stringify!(GetByteField)
4055         )
4056     );
4057     assert_eq!(
4058         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetCharField as *const _ as usize },
4059         784usize,
4060         concat!(
4061             "Offset of field: ",
4062             stringify!(JNINativeInterface),
4063             "::",
4064             stringify!(GetCharField)
4065         )
4066     );
4067     assert_eq!(
4068         unsafe {
4069             &(*(::std::ptr::null::<JNINativeInterface>())).GetShortField as *const _ as usize
4070         },
4071         792usize,
4072         concat!(
4073             "Offset of field: ",
4074             stringify!(JNINativeInterface),
4075             "::",
4076             stringify!(GetShortField)
4077         )
4078     );
4079     assert_eq!(
4080         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetIntField as *const _ as usize },
4081         800usize,
4082         concat!(
4083             "Offset of field: ",
4084             stringify!(JNINativeInterface),
4085             "::",
4086             stringify!(GetIntField)
4087         )
4088     );
4089     assert_eq!(
4090         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetLongField as *const _ as usize },
4091         808usize,
4092         concat!(
4093             "Offset of field: ",
4094             stringify!(JNINativeInterface),
4095             "::",
4096             stringify!(GetLongField)
4097         )
4098     );
4099     assert_eq!(
4100         unsafe {
4101             &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatField as *const _ as usize
4102         },
4103         816usize,
4104         concat!(
4105             "Offset of field: ",
4106             stringify!(JNINativeInterface),
4107             "::",
4108             stringify!(GetFloatField)
4109         )
4110     );
4111     assert_eq!(
4112         unsafe {
4113             &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleField as *const _ as usize
4114         },
4115         824usize,
4116         concat!(
4117             "Offset of field: ",
4118             stringify!(JNINativeInterface),
4119             "::",
4120             stringify!(GetDoubleField)
4121         )
4122     );
4123     assert_eq!(
4124         unsafe {
4125             &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectField as *const _ as usize
4126         },
4127         832usize,
4128         concat!(
4129             "Offset of field: ",
4130             stringify!(JNINativeInterface),
4131             "::",
4132             stringify!(SetObjectField)
4133         )
4134     );
4135     assert_eq!(
4136         unsafe {
4137             &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanField as *const _ as usize
4138         },
4139         840usize,
4140         concat!(
4141             "Offset of field: ",
4142             stringify!(JNINativeInterface),
4143             "::",
4144             stringify!(SetBooleanField)
4145         )
4146     );
4147     assert_eq!(
4148         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetByteField as *const _ as usize },
4149         848usize,
4150         concat!(
4151             "Offset of field: ",
4152             stringify!(JNINativeInterface),
4153             "::",
4154             stringify!(SetByteField)
4155         )
4156     );
4157     assert_eq!(
4158         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetCharField as *const _ as usize },
4159         856usize,
4160         concat!(
4161             "Offset of field: ",
4162             stringify!(JNINativeInterface),
4163             "::",
4164             stringify!(SetCharField)
4165         )
4166     );
4167     assert_eq!(
4168         unsafe {
4169             &(*(::std::ptr::null::<JNINativeInterface>())).SetShortField as *const _ as usize
4170         },
4171         864usize,
4172         concat!(
4173             "Offset of field: ",
4174             stringify!(JNINativeInterface),
4175             "::",
4176             stringify!(SetShortField)
4177         )
4178     );
4179     assert_eq!(
4180         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetIntField as *const _ as usize },
4181         872usize,
4182         concat!(
4183             "Offset of field: ",
4184             stringify!(JNINativeInterface),
4185             "::",
4186             stringify!(SetIntField)
4187         )
4188     );
4189     assert_eq!(
4190         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetLongField as *const _ as usize },
4191         880usize,
4192         concat!(
4193             "Offset of field: ",
4194             stringify!(JNINativeInterface),
4195             "::",
4196             stringify!(SetLongField)
4197         )
4198     );
4199     assert_eq!(
4200         unsafe {
4201             &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatField as *const _ as usize
4202         },
4203         888usize,
4204         concat!(
4205             "Offset of field: ",
4206             stringify!(JNINativeInterface),
4207             "::",
4208             stringify!(SetFloatField)
4209         )
4210     );
4211     assert_eq!(
4212         unsafe {
4213             &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleField as *const _ as usize
4214         },
4215         896usize,
4216         concat!(
4217             "Offset of field: ",
4218             stringify!(JNINativeInterface),
4219             "::",
4220             stringify!(SetDoubleField)
4221         )
4222     );
4223     assert_eq!(
4224         unsafe {
4225             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticMethodID as *const _ as usize
4226         },
4227         904usize,
4228         concat!(
4229             "Offset of field: ",
4230             stringify!(JNINativeInterface),
4231             "::",
4232             stringify!(GetStaticMethodID)
4233         )
4234     );
4235     assert_eq!(
4236         unsafe {
4237             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethod as *const _
4238                 as usize
4239         },
4240         912usize,
4241         concat!(
4242             "Offset of field: ",
4243             stringify!(JNINativeInterface),
4244             "::",
4245             stringify!(CallStaticObjectMethod)
4246         )
4247     );
4248     assert_eq!(
4249         unsafe {
4250             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodV as *const _
4251                 as usize
4252         },
4253         920usize,
4254         concat!(
4255             "Offset of field: ",
4256             stringify!(JNINativeInterface),
4257             "::",
4258             stringify!(CallStaticObjectMethodV)
4259         )
4260     );
4261     assert_eq!(
4262         unsafe {
4263             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodA as *const _
4264                 as usize
4265         },
4266         928usize,
4267         concat!(
4268             "Offset of field: ",
4269             stringify!(JNINativeInterface),
4270             "::",
4271             stringify!(CallStaticObjectMethodA)
4272         )
4273     );
4274     assert_eq!(
4275         unsafe {
4276             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethod as *const _
4277                 as usize
4278         },
4279         936usize,
4280         concat!(
4281             "Offset of field: ",
4282             stringify!(JNINativeInterface),
4283             "::",
4284             stringify!(CallStaticBooleanMethod)
4285         )
4286     );
4287     assert_eq!(
4288         unsafe {
4289             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodV as *const _
4290                 as usize
4291         },
4292         944usize,
4293         concat!(
4294             "Offset of field: ",
4295             stringify!(JNINativeInterface),
4296             "::",
4297             stringify!(CallStaticBooleanMethodV)
4298         )
4299     );
4300     assert_eq!(
4301         unsafe {
4302             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodA as *const _
4303                 as usize
4304         },
4305         952usize,
4306         concat!(
4307             "Offset of field: ",
4308             stringify!(JNINativeInterface),
4309             "::",
4310             stringify!(CallStaticBooleanMethodA)
4311         )
4312     );
4313     assert_eq!(
4314         unsafe {
4315             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethod as *const _ as usize
4316         },
4317         960usize,
4318         concat!(
4319             "Offset of field: ",
4320             stringify!(JNINativeInterface),
4321             "::",
4322             stringify!(CallStaticByteMethod)
4323         )
4324     );
4325     assert_eq!(
4326         unsafe {
4327             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodV as *const _
4328                 as usize
4329         },
4330         968usize,
4331         concat!(
4332             "Offset of field: ",
4333             stringify!(JNINativeInterface),
4334             "::",
4335             stringify!(CallStaticByteMethodV)
4336         )
4337     );
4338     assert_eq!(
4339         unsafe {
4340             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodA as *const _
4341                 as usize
4342         },
4343         976usize,
4344         concat!(
4345             "Offset of field: ",
4346             stringify!(JNINativeInterface),
4347             "::",
4348             stringify!(CallStaticByteMethodA)
4349         )
4350     );
4351     assert_eq!(
4352         unsafe {
4353             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethod as *const _ as usize
4354         },
4355         984usize,
4356         concat!(
4357             "Offset of field: ",
4358             stringify!(JNINativeInterface),
4359             "::",
4360             stringify!(CallStaticCharMethod)
4361         )
4362     );
4363     assert_eq!(
4364         unsafe {
4365             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodV as *const _
4366                 as usize
4367         },
4368         992usize,
4369         concat!(
4370             "Offset of field: ",
4371             stringify!(JNINativeInterface),
4372             "::",
4373             stringify!(CallStaticCharMethodV)
4374         )
4375     );
4376     assert_eq!(
4377         unsafe {
4378             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodA as *const _
4379                 as usize
4380         },
4381         1000usize,
4382         concat!(
4383             "Offset of field: ",
4384             stringify!(JNINativeInterface),
4385             "::",
4386             stringify!(CallStaticCharMethodA)
4387         )
4388     );
4389     assert_eq!(
4390         unsafe {
4391             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethod as *const _
4392                 as usize
4393         },
4394         1008usize,
4395         concat!(
4396             "Offset of field: ",
4397             stringify!(JNINativeInterface),
4398             "::",
4399             stringify!(CallStaticShortMethod)
4400         )
4401     );
4402     assert_eq!(
4403         unsafe {
4404             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodV as *const _
4405                 as usize
4406         },
4407         1016usize,
4408         concat!(
4409             "Offset of field: ",
4410             stringify!(JNINativeInterface),
4411             "::",
4412             stringify!(CallStaticShortMethodV)
4413         )
4414     );
4415     assert_eq!(
4416         unsafe {
4417             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodA as *const _
4418                 as usize
4419         },
4420         1024usize,
4421         concat!(
4422             "Offset of field: ",
4423             stringify!(JNINativeInterface),
4424             "::",
4425             stringify!(CallStaticShortMethodA)
4426         )
4427     );
4428     assert_eq!(
4429         unsafe {
4430             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethod as *const _ as usize
4431         },
4432         1032usize,
4433         concat!(
4434             "Offset of field: ",
4435             stringify!(JNINativeInterface),
4436             "::",
4437             stringify!(CallStaticIntMethod)
4438         )
4439     );
4440     assert_eq!(
4441         unsafe {
4442             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodV as *const _ as usize
4443         },
4444         1040usize,
4445         concat!(
4446             "Offset of field: ",
4447             stringify!(JNINativeInterface),
4448             "::",
4449             stringify!(CallStaticIntMethodV)
4450         )
4451     );
4452     assert_eq!(
4453         unsafe {
4454             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodA as *const _ as usize
4455         },
4456         1048usize,
4457         concat!(
4458             "Offset of field: ",
4459             stringify!(JNINativeInterface),
4460             "::",
4461             stringify!(CallStaticIntMethodA)
4462         )
4463     );
4464     assert_eq!(
4465         unsafe {
4466             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethod as *const _ as usize
4467         },
4468         1056usize,
4469         concat!(
4470             "Offset of field: ",
4471             stringify!(JNINativeInterface),
4472             "::",
4473             stringify!(CallStaticLongMethod)
4474         )
4475     );
4476     assert_eq!(
4477         unsafe {
4478             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodV as *const _
4479                 as usize
4480         },
4481         1064usize,
4482         concat!(
4483             "Offset of field: ",
4484             stringify!(JNINativeInterface),
4485             "::",
4486             stringify!(CallStaticLongMethodV)
4487         )
4488     );
4489     assert_eq!(
4490         unsafe {
4491             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodA as *const _
4492                 as usize
4493         },
4494         1072usize,
4495         concat!(
4496             "Offset of field: ",
4497             stringify!(JNINativeInterface),
4498             "::",
4499             stringify!(CallStaticLongMethodA)
4500         )
4501     );
4502     assert_eq!(
4503         unsafe {
4504             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethod as *const _
4505                 as usize
4506         },
4507         1080usize,
4508         concat!(
4509             "Offset of field: ",
4510             stringify!(JNINativeInterface),
4511             "::",
4512             stringify!(CallStaticFloatMethod)
4513         )
4514     );
4515     assert_eq!(
4516         unsafe {
4517             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodV as *const _
4518                 as usize
4519         },
4520         1088usize,
4521         concat!(
4522             "Offset of field: ",
4523             stringify!(JNINativeInterface),
4524             "::",
4525             stringify!(CallStaticFloatMethodV)
4526         )
4527     );
4528     assert_eq!(
4529         unsafe {
4530             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodA as *const _
4531                 as usize
4532         },
4533         1096usize,
4534         concat!(
4535             "Offset of field: ",
4536             stringify!(JNINativeInterface),
4537             "::",
4538             stringify!(CallStaticFloatMethodA)
4539         )
4540     );
4541     assert_eq!(
4542         unsafe {
4543             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethod as *const _
4544                 as usize
4545         },
4546         1104usize,
4547         concat!(
4548             "Offset of field: ",
4549             stringify!(JNINativeInterface),
4550             "::",
4551             stringify!(CallStaticDoubleMethod)
4552         )
4553     );
4554     assert_eq!(
4555         unsafe {
4556             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodV as *const _
4557                 as usize
4558         },
4559         1112usize,
4560         concat!(
4561             "Offset of field: ",
4562             stringify!(JNINativeInterface),
4563             "::",
4564             stringify!(CallStaticDoubleMethodV)
4565         )
4566     );
4567     assert_eq!(
4568         unsafe {
4569             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodA as *const _
4570                 as usize
4571         },
4572         1120usize,
4573         concat!(
4574             "Offset of field: ",
4575             stringify!(JNINativeInterface),
4576             "::",
4577             stringify!(CallStaticDoubleMethodA)
4578         )
4579     );
4580     assert_eq!(
4581         unsafe {
4582             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethod as *const _ as usize
4583         },
4584         1128usize,
4585         concat!(
4586             "Offset of field: ",
4587             stringify!(JNINativeInterface),
4588             "::",
4589             stringify!(CallStaticVoidMethod)
4590         )
4591     );
4592     assert_eq!(
4593         unsafe {
4594             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodV as *const _
4595                 as usize
4596         },
4597         1136usize,
4598         concat!(
4599             "Offset of field: ",
4600             stringify!(JNINativeInterface),
4601             "::",
4602             stringify!(CallStaticVoidMethodV)
4603         )
4604     );
4605     assert_eq!(
4606         unsafe {
4607             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodA as *const _
4608                 as usize
4609         },
4610         1144usize,
4611         concat!(
4612             "Offset of field: ",
4613             stringify!(JNINativeInterface),
4614             "::",
4615             stringify!(CallStaticVoidMethodA)
4616         )
4617     );
4618     assert_eq!(
4619         unsafe {
4620             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFieldID as *const _ as usize
4621         },
4622         1152usize,
4623         concat!(
4624             "Offset of field: ",
4625             stringify!(JNINativeInterface),
4626             "::",
4627             stringify!(GetStaticFieldID)
4628         )
4629     );
4630     assert_eq!(
4631         unsafe {
4632             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticObjectField as *const _ as usize
4633         },
4634         1160usize,
4635         concat!(
4636             "Offset of field: ",
4637             stringify!(JNINativeInterface),
4638             "::",
4639             stringify!(GetStaticObjectField)
4640         )
4641     );
4642     assert_eq!(
4643         unsafe {
4644             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticBooleanField as *const _
4645                 as usize
4646         },
4647         1168usize,
4648         concat!(
4649             "Offset of field: ",
4650             stringify!(JNINativeInterface),
4651             "::",
4652             stringify!(GetStaticBooleanField)
4653         )
4654     );
4655     assert_eq!(
4656         unsafe {
4657             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticByteField as *const _ as usize
4658         },
4659         1176usize,
4660         concat!(
4661             "Offset of field: ",
4662             stringify!(JNINativeInterface),
4663             "::",
4664             stringify!(GetStaticByteField)
4665         )
4666     );
4667     assert_eq!(
4668         unsafe {
4669             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticCharField as *const _ as usize
4670         },
4671         1184usize,
4672         concat!(
4673             "Offset of field: ",
4674             stringify!(JNINativeInterface),
4675             "::",
4676             stringify!(GetStaticCharField)
4677         )
4678     );
4679     assert_eq!(
4680         unsafe {
4681             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticShortField as *const _ as usize
4682         },
4683         1192usize,
4684         concat!(
4685             "Offset of field: ",
4686             stringify!(JNINativeInterface),
4687             "::",
4688             stringify!(GetStaticShortField)
4689         )
4690     );
4691     assert_eq!(
4692         unsafe {
4693             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticIntField as *const _ as usize
4694         },
4695         1200usize,
4696         concat!(
4697             "Offset of field: ",
4698             stringify!(JNINativeInterface),
4699             "::",
4700             stringify!(GetStaticIntField)
4701         )
4702     );
4703     assert_eq!(
4704         unsafe {
4705             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticLongField as *const _ as usize
4706         },
4707         1208usize,
4708         concat!(
4709             "Offset of field: ",
4710             stringify!(JNINativeInterface),
4711             "::",
4712             stringify!(GetStaticLongField)
4713         )
4714     );
4715     assert_eq!(
4716         unsafe {
4717             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFloatField as *const _ as usize
4718         },
4719         1216usize,
4720         concat!(
4721             "Offset of field: ",
4722             stringify!(JNINativeInterface),
4723             "::",
4724             stringify!(GetStaticFloatField)
4725         )
4726     );
4727     assert_eq!(
4728         unsafe {
4729             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticDoubleField as *const _ as usize
4730         },
4731         1224usize,
4732         concat!(
4733             "Offset of field: ",
4734             stringify!(JNINativeInterface),
4735             "::",
4736             stringify!(GetStaticDoubleField)
4737         )
4738     );
4739     assert_eq!(
4740         unsafe {
4741             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticObjectField as *const _ as usize
4742         },
4743         1232usize,
4744         concat!(
4745             "Offset of field: ",
4746             stringify!(JNINativeInterface),
4747             "::",
4748             stringify!(SetStaticObjectField)
4749         )
4750     );
4751     assert_eq!(
4752         unsafe {
4753             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticBooleanField as *const _
4754                 as usize
4755         },
4756         1240usize,
4757         concat!(
4758             "Offset of field: ",
4759             stringify!(JNINativeInterface),
4760             "::",
4761             stringify!(SetStaticBooleanField)
4762         )
4763     );
4764     assert_eq!(
4765         unsafe {
4766             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticByteField as *const _ as usize
4767         },
4768         1248usize,
4769         concat!(
4770             "Offset of field: ",
4771             stringify!(JNINativeInterface),
4772             "::",
4773             stringify!(SetStaticByteField)
4774         )
4775     );
4776     assert_eq!(
4777         unsafe {
4778             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticCharField as *const _ as usize
4779         },
4780         1256usize,
4781         concat!(
4782             "Offset of field: ",
4783             stringify!(JNINativeInterface),
4784             "::",
4785             stringify!(SetStaticCharField)
4786         )
4787     );
4788     assert_eq!(
4789         unsafe {
4790             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticShortField as *const _ as usize
4791         },
4792         1264usize,
4793         concat!(
4794             "Offset of field: ",
4795             stringify!(JNINativeInterface),
4796             "::",
4797             stringify!(SetStaticShortField)
4798         )
4799     );
4800     assert_eq!(
4801         unsafe {
4802             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticIntField as *const _ as usize
4803         },
4804         1272usize,
4805         concat!(
4806             "Offset of field: ",
4807             stringify!(JNINativeInterface),
4808             "::",
4809             stringify!(SetStaticIntField)
4810         )
4811     );
4812     assert_eq!(
4813         unsafe {
4814             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticLongField as *const _ as usize
4815         },
4816         1280usize,
4817         concat!(
4818             "Offset of field: ",
4819             stringify!(JNINativeInterface),
4820             "::",
4821             stringify!(SetStaticLongField)
4822         )
4823     );
4824     assert_eq!(
4825         unsafe {
4826             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticFloatField as *const _ as usize
4827         },
4828         1288usize,
4829         concat!(
4830             "Offset of field: ",
4831             stringify!(JNINativeInterface),
4832             "::",
4833             stringify!(SetStaticFloatField)
4834         )
4835     );
4836     assert_eq!(
4837         unsafe {
4838             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticDoubleField as *const _ as usize
4839         },
4840         1296usize,
4841         concat!(
4842             "Offset of field: ",
4843             stringify!(JNINativeInterface),
4844             "::",
4845             stringify!(SetStaticDoubleField)
4846         )
4847     );
4848     assert_eq!(
4849         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewString as *const _ as usize },
4850         1304usize,
4851         concat!(
4852             "Offset of field: ",
4853             stringify!(JNINativeInterface),
4854             "::",
4855             stringify!(NewString)
4856         )
4857     );
4858     assert_eq!(
4859         unsafe {
4860             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringLength as *const _ as usize
4861         },
4862         1312usize,
4863         concat!(
4864             "Offset of field: ",
4865             stringify!(JNINativeInterface),
4866             "::",
4867             stringify!(GetStringLength)
4868         )
4869     );
4870     assert_eq!(
4871         unsafe {
4872             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringChars as *const _ as usize
4873         },
4874         1320usize,
4875         concat!(
4876             "Offset of field: ",
4877             stringify!(JNINativeInterface),
4878             "::",
4879             stringify!(GetStringChars)
4880         )
4881     );
4882     assert_eq!(
4883         unsafe {
4884             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringChars as *const _ as usize
4885         },
4886         1328usize,
4887         concat!(
4888             "Offset of field: ",
4889             stringify!(JNINativeInterface),
4890             "::",
4891             stringify!(ReleaseStringChars)
4892         )
4893     );
4894     assert_eq!(
4895         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewStringUTF as *const _ as usize },
4896         1336usize,
4897         concat!(
4898             "Offset of field: ",
4899             stringify!(JNINativeInterface),
4900             "::",
4901             stringify!(NewStringUTF)
4902         )
4903     );
4904     assert_eq!(
4905         unsafe {
4906             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFLength as *const _ as usize
4907         },
4908         1344usize,
4909         concat!(
4910             "Offset of field: ",
4911             stringify!(JNINativeInterface),
4912             "::",
4913             stringify!(GetStringUTFLength)
4914         )
4915     );
4916     assert_eq!(
4917         unsafe {
4918             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFChars as *const _ as usize
4919         },
4920         1352usize,
4921         concat!(
4922             "Offset of field: ",
4923             stringify!(JNINativeInterface),
4924             "::",
4925             stringify!(GetStringUTFChars)
4926         )
4927     );
4928     assert_eq!(
4929         unsafe {
4930             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringUTFChars as *const _
4931                 as usize
4932         },
4933         1360usize,
4934         concat!(
4935             "Offset of field: ",
4936             stringify!(JNINativeInterface),
4937             "::",
4938             stringify!(ReleaseStringUTFChars)
4939         )
4940     );
4941     assert_eq!(
4942         unsafe {
4943             &(*(::std::ptr::null::<JNINativeInterface>())).GetArrayLength as *const _ as usize
4944         },
4945         1368usize,
4946         concat!(
4947             "Offset of field: ",
4948             stringify!(JNINativeInterface),
4949             "::",
4950             stringify!(GetArrayLength)
4951         )
4952     );
4953     assert_eq!(
4954         unsafe {
4955             &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectArray as *const _ as usize
4956         },
4957         1376usize,
4958         concat!(
4959             "Offset of field: ",
4960             stringify!(JNINativeInterface),
4961             "::",
4962             stringify!(NewObjectArray)
4963         )
4964     );
4965     assert_eq!(
4966         unsafe {
4967             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectArrayElement as *const _
4968                 as usize
4969         },
4970         1384usize,
4971         concat!(
4972             "Offset of field: ",
4973             stringify!(JNINativeInterface),
4974             "::",
4975             stringify!(GetObjectArrayElement)
4976         )
4977     );
4978     assert_eq!(
4979         unsafe {
4980             &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectArrayElement as *const _
4981                 as usize
4982         },
4983         1392usize,
4984         concat!(
4985             "Offset of field: ",
4986             stringify!(JNINativeInterface),
4987             "::",
4988             stringify!(SetObjectArrayElement)
4989         )
4990     );
4991     assert_eq!(
4992         unsafe {
4993             &(*(::std::ptr::null::<JNINativeInterface>())).NewBooleanArray as *const _ as usize
4994         },
4995         1400usize,
4996         concat!(
4997             "Offset of field: ",
4998             stringify!(JNINativeInterface),
4999             "::",
5000             stringify!(NewBooleanArray)
5001         )
5002     );
5003     assert_eq!(
5004         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewByteArray as *const _ as usize },
5005         1408usize,
5006         concat!(
5007             "Offset of field: ",
5008             stringify!(JNINativeInterface),
5009             "::",
5010             stringify!(NewByteArray)
5011         )
5012     );
5013     assert_eq!(
5014         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewCharArray as *const _ as usize },
5015         1416usize,
5016         concat!(
5017             "Offset of field: ",
5018             stringify!(JNINativeInterface),
5019             "::",
5020             stringify!(NewCharArray)
5021         )
5022     );
5023     assert_eq!(
5024         unsafe {
5025             &(*(::std::ptr::null::<JNINativeInterface>())).NewShortArray as *const _ as usize
5026         },
5027         1424usize,
5028         concat!(
5029             "Offset of field: ",
5030             stringify!(JNINativeInterface),
5031             "::",
5032             stringify!(NewShortArray)
5033         )
5034     );
5035     assert_eq!(
5036         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewIntArray as *const _ as usize },
5037         1432usize,
5038         concat!(
5039             "Offset of field: ",
5040             stringify!(JNINativeInterface),
5041             "::",
5042             stringify!(NewIntArray)
5043         )
5044     );
5045     assert_eq!(
5046         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLongArray as *const _ as usize },
5047         1440usize,
5048         concat!(
5049             "Offset of field: ",
5050             stringify!(JNINativeInterface),
5051             "::",
5052             stringify!(NewLongArray)
5053         )
5054     );
5055     assert_eq!(
5056         unsafe {
5057             &(*(::std::ptr::null::<JNINativeInterface>())).NewFloatArray as *const _ as usize
5058         },
5059         1448usize,
5060         concat!(
5061             "Offset of field: ",
5062             stringify!(JNINativeInterface),
5063             "::",
5064             stringify!(NewFloatArray)
5065         )
5066     );
5067     assert_eq!(
5068         unsafe {
5069             &(*(::std::ptr::null::<JNINativeInterface>())).NewDoubleArray as *const _ as usize
5070         },
5071         1456usize,
5072         concat!(
5073             "Offset of field: ",
5074             stringify!(JNINativeInterface),
5075             "::",
5076             stringify!(NewDoubleArray)
5077         )
5078     );
5079     assert_eq!(
5080         unsafe {
5081             &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayElements as *const _
5082                 as usize
5083         },
5084         1464usize,
5085         concat!(
5086             "Offset of field: ",
5087             stringify!(JNINativeInterface),
5088             "::",
5089             stringify!(GetBooleanArrayElements)
5090         )
5091     );
5092     assert_eq!(
5093         unsafe {
5094             &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayElements as *const _ as usize
5095         },
5096         1472usize,
5097         concat!(
5098             "Offset of field: ",
5099             stringify!(JNINativeInterface),
5100             "::",
5101             stringify!(GetByteArrayElements)
5102         )
5103     );
5104     assert_eq!(
5105         unsafe {
5106             &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayElements as *const _ as usize
5107         },
5108         1480usize,
5109         concat!(
5110             "Offset of field: ",
5111             stringify!(JNINativeInterface),
5112             "::",
5113             stringify!(GetCharArrayElements)
5114         )
5115     );
5116     assert_eq!(
5117         unsafe {
5118             &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayElements as *const _
5119                 as usize
5120         },
5121         1488usize,
5122         concat!(
5123             "Offset of field: ",
5124             stringify!(JNINativeInterface),
5125             "::",
5126             stringify!(GetShortArrayElements)
5127         )
5128     );
5129     assert_eq!(
5130         unsafe {
5131             &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayElements as *const _ as usize
5132         },
5133         1496usize,
5134         concat!(
5135             "Offset of field: ",
5136             stringify!(JNINativeInterface),
5137             "::",
5138             stringify!(GetIntArrayElements)
5139         )
5140     );
5141     assert_eq!(
5142         unsafe {
5143             &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayElements as *const _ as usize
5144         },
5145         1504usize,
5146         concat!(
5147             "Offset of field: ",
5148             stringify!(JNINativeInterface),
5149             "::",
5150             stringify!(GetLongArrayElements)
5151         )
5152     );
5153     assert_eq!(
5154         unsafe {
5155             &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayElements as *const _
5156                 as usize
5157         },
5158         1512usize,
5159         concat!(
5160             "Offset of field: ",
5161             stringify!(JNINativeInterface),
5162             "::",
5163             stringify!(GetFloatArrayElements)
5164         )
5165     );
5166     assert_eq!(
5167         unsafe {
5168             &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayElements as *const _
5169                 as usize
5170         },
5171         1520usize,
5172         concat!(
5173             "Offset of field: ",
5174             stringify!(JNINativeInterface),
5175             "::",
5176             stringify!(GetDoubleArrayElements)
5177         )
5178     );
5179     assert_eq!(
5180         unsafe {
5181             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseBooleanArrayElements as *const _
5182                 as usize
5183         },
5184         1528usize,
5185         concat!(
5186             "Offset of field: ",
5187             stringify!(JNINativeInterface),
5188             "::",
5189             stringify!(ReleaseBooleanArrayElements)
5190         )
5191     );
5192     assert_eq!(
5193         unsafe {
5194             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseByteArrayElements as *const _
5195                 as usize
5196         },
5197         1536usize,
5198         concat!(
5199             "Offset of field: ",
5200             stringify!(JNINativeInterface),
5201             "::",
5202             stringify!(ReleaseByteArrayElements)
5203         )
5204     );
5205     assert_eq!(
5206         unsafe {
5207             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseCharArrayElements as *const _
5208                 as usize
5209         },
5210         1544usize,
5211         concat!(
5212             "Offset of field: ",
5213             stringify!(JNINativeInterface),
5214             "::",
5215             stringify!(ReleaseCharArrayElements)
5216         )
5217     );
5218     assert_eq!(
5219         unsafe {
5220             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseShortArrayElements as *const _
5221                 as usize
5222         },
5223         1552usize,
5224         concat!(
5225             "Offset of field: ",
5226             stringify!(JNINativeInterface),
5227             "::",
5228             stringify!(ReleaseShortArrayElements)
5229         )
5230     );
5231     assert_eq!(
5232         unsafe {
5233             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseIntArrayElements as *const _
5234                 as usize
5235         },
5236         1560usize,
5237         concat!(
5238             "Offset of field: ",
5239             stringify!(JNINativeInterface),
5240             "::",
5241             stringify!(ReleaseIntArrayElements)
5242         )
5243     );
5244     assert_eq!(
5245         unsafe {
5246             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseLongArrayElements as *const _
5247                 as usize
5248         },
5249         1568usize,
5250         concat!(
5251             "Offset of field: ",
5252             stringify!(JNINativeInterface),
5253             "::",
5254             stringify!(ReleaseLongArrayElements)
5255         )
5256     );
5257     assert_eq!(
5258         unsafe {
5259             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseFloatArrayElements as *const _
5260                 as usize
5261         },
5262         1576usize,
5263         concat!(
5264             "Offset of field: ",
5265             stringify!(JNINativeInterface),
5266             "::",
5267             stringify!(ReleaseFloatArrayElements)
5268         )
5269     );
5270     assert_eq!(
5271         unsafe {
5272             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseDoubleArrayElements as *const _
5273                 as usize
5274         },
5275         1584usize,
5276         concat!(
5277             "Offset of field: ",
5278             stringify!(JNINativeInterface),
5279             "::",
5280             stringify!(ReleaseDoubleArrayElements)
5281         )
5282     );
5283     assert_eq!(
5284         unsafe {
5285             &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayRegion as *const _
5286                 as usize
5287         },
5288         1592usize,
5289         concat!(
5290             "Offset of field: ",
5291             stringify!(JNINativeInterface),
5292             "::",
5293             stringify!(GetBooleanArrayRegion)
5294         )
5295     );
5296     assert_eq!(
5297         unsafe {
5298             &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayRegion as *const _ as usize
5299         },
5300         1600usize,
5301         concat!(
5302             "Offset of field: ",
5303             stringify!(JNINativeInterface),
5304             "::",
5305             stringify!(GetByteArrayRegion)
5306         )
5307     );
5308     assert_eq!(
5309         unsafe {
5310             &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayRegion as *const _ as usize
5311         },
5312         1608usize,
5313         concat!(
5314             "Offset of field: ",
5315             stringify!(JNINativeInterface),
5316             "::",
5317             stringify!(GetCharArrayRegion)
5318         )
5319     );
5320     assert_eq!(
5321         unsafe {
5322             &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayRegion as *const _ as usize
5323         },
5324         1616usize,
5325         concat!(
5326             "Offset of field: ",
5327             stringify!(JNINativeInterface),
5328             "::",
5329             stringify!(GetShortArrayRegion)
5330         )
5331     );
5332     assert_eq!(
5333         unsafe {
5334             &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayRegion as *const _ as usize
5335         },
5336         1624usize,
5337         concat!(
5338             "Offset of field: ",
5339             stringify!(JNINativeInterface),
5340             "::",
5341             stringify!(GetIntArrayRegion)
5342         )
5343     );
5344     assert_eq!(
5345         unsafe {
5346             &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayRegion as *const _ as usize
5347         },
5348         1632usize,
5349         concat!(
5350             "Offset of field: ",
5351             stringify!(JNINativeInterface),
5352             "::",
5353             stringify!(GetLongArrayRegion)
5354         )
5355     );
5356     assert_eq!(
5357         unsafe {
5358             &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayRegion as *const _ as usize
5359         },
5360         1640usize,
5361         concat!(
5362             "Offset of field: ",
5363             stringify!(JNINativeInterface),
5364             "::",
5365             stringify!(GetFloatArrayRegion)
5366         )
5367     );
5368     assert_eq!(
5369         unsafe {
5370             &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayRegion as *const _ as usize
5371         },
5372         1648usize,
5373         concat!(
5374             "Offset of field: ",
5375             stringify!(JNINativeInterface),
5376             "::",
5377             stringify!(GetDoubleArrayRegion)
5378         )
5379     );
5380     assert_eq!(
5381         unsafe {
5382             &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanArrayRegion as *const _
5383                 as usize
5384         },
5385         1656usize,
5386         concat!(
5387             "Offset of field: ",
5388             stringify!(JNINativeInterface),
5389             "::",
5390             stringify!(SetBooleanArrayRegion)
5391         )
5392     );
5393     assert_eq!(
5394         unsafe {
5395             &(*(::std::ptr::null::<JNINativeInterface>())).SetByteArrayRegion as *const _ as usize
5396         },
5397         1664usize,
5398         concat!(
5399             "Offset of field: ",
5400             stringify!(JNINativeInterface),
5401             "::",
5402             stringify!(SetByteArrayRegion)
5403         )
5404     );
5405     assert_eq!(
5406         unsafe {
5407             &(*(::std::ptr::null::<JNINativeInterface>())).SetCharArrayRegion as *const _ as usize
5408         },
5409         1672usize,
5410         concat!(
5411             "Offset of field: ",
5412             stringify!(JNINativeInterface),
5413             "::",
5414             stringify!(SetCharArrayRegion)
5415         )
5416     );
5417     assert_eq!(
5418         unsafe {
5419             &(*(::std::ptr::null::<JNINativeInterface>())).SetShortArrayRegion as *const _ as usize
5420         },
5421         1680usize,
5422         concat!(
5423             "Offset of field: ",
5424             stringify!(JNINativeInterface),
5425             "::",
5426             stringify!(SetShortArrayRegion)
5427         )
5428     );
5429     assert_eq!(
5430         unsafe {
5431             &(*(::std::ptr::null::<JNINativeInterface>())).SetIntArrayRegion as *const _ as usize
5432         },
5433         1688usize,
5434         concat!(
5435             "Offset of field: ",
5436             stringify!(JNINativeInterface),
5437             "::",
5438             stringify!(SetIntArrayRegion)
5439         )
5440     );
5441     assert_eq!(
5442         unsafe {
5443             &(*(::std::ptr::null::<JNINativeInterface>())).SetLongArrayRegion as *const _ as usize
5444         },
5445         1696usize,
5446         concat!(
5447             "Offset of field: ",
5448             stringify!(JNINativeInterface),
5449             "::",
5450             stringify!(SetLongArrayRegion)
5451         )
5452     );
5453     assert_eq!(
5454         unsafe {
5455             &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatArrayRegion as *const _ as usize
5456         },
5457         1704usize,
5458         concat!(
5459             "Offset of field: ",
5460             stringify!(JNINativeInterface),
5461             "::",
5462             stringify!(SetFloatArrayRegion)
5463         )
5464     );
5465     assert_eq!(
5466         unsafe {
5467             &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleArrayRegion as *const _ as usize
5468         },
5469         1712usize,
5470         concat!(
5471             "Offset of field: ",
5472             stringify!(JNINativeInterface),
5473             "::",
5474             stringify!(SetDoubleArrayRegion)
5475         )
5476     );
5477     assert_eq!(
5478         unsafe {
5479             &(*(::std::ptr::null::<JNINativeInterface>())).RegisterNatives as *const _ as usize
5480         },
5481         1720usize,
5482         concat!(
5483             "Offset of field: ",
5484             stringify!(JNINativeInterface),
5485             "::",
5486             stringify!(RegisterNatives)
5487         )
5488     );
5489     assert_eq!(
5490         unsafe {
5491             &(*(::std::ptr::null::<JNINativeInterface>())).UnregisterNatives as *const _ as usize
5492         },
5493         1728usize,
5494         concat!(
5495             "Offset of field: ",
5496             stringify!(JNINativeInterface),
5497             "::",
5498             stringify!(UnregisterNatives)
5499         )
5500     );
5501     assert_eq!(
5502         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorEnter as *const _ as usize },
5503         1736usize,
5504         concat!(
5505             "Offset of field: ",
5506             stringify!(JNINativeInterface),
5507             "::",
5508             stringify!(MonitorEnter)
5509         )
5510     );
5511     assert_eq!(
5512         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorExit as *const _ as usize },
5513         1744usize,
5514         concat!(
5515             "Offset of field: ",
5516             stringify!(JNINativeInterface),
5517             "::",
5518             stringify!(MonitorExit)
5519         )
5520     );
5521     assert_eq!(
5522         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetJavaVM as *const _ as usize },
5523         1752usize,
5524         concat!(
5525             "Offset of field: ",
5526             stringify!(JNINativeInterface),
5527             "::",
5528             stringify!(GetJavaVM)
5529         )
5530     );
5531     assert_eq!(
5532         unsafe {
5533             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringRegion as *const _ as usize
5534         },
5535         1760usize,
5536         concat!(
5537             "Offset of field: ",
5538             stringify!(JNINativeInterface),
5539             "::",
5540             stringify!(GetStringRegion)
5541         )
5542     );
5543     assert_eq!(
5544         unsafe {
5545             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFRegion as *const _ as usize
5546         },
5547         1768usize,
5548         concat!(
5549             "Offset of field: ",
5550             stringify!(JNINativeInterface),
5551             "::",
5552             stringify!(GetStringUTFRegion)
5553         )
5554     );
5555     assert_eq!(
5556         unsafe {
5557             &(*(::std::ptr::null::<JNINativeInterface>())).GetPrimitiveArrayCritical as *const _
5558                 as usize
5559         },
5560         1776usize,
5561         concat!(
5562             "Offset of field: ",
5563             stringify!(JNINativeInterface),
5564             "::",
5565             stringify!(GetPrimitiveArrayCritical)
5566         )
5567     );
5568     assert_eq!(
5569         unsafe {
5570             &(*(::std::ptr::null::<JNINativeInterface>())).ReleasePrimitiveArrayCritical as *const _
5571                 as usize
5572         },
5573         1784usize,
5574         concat!(
5575             "Offset of field: ",
5576             stringify!(JNINativeInterface),
5577             "::",
5578             stringify!(ReleasePrimitiveArrayCritical)
5579         )
5580     );
5581     assert_eq!(
5582         unsafe {
5583             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringCritical as *const _ as usize
5584         },
5585         1792usize,
5586         concat!(
5587             "Offset of field: ",
5588             stringify!(JNINativeInterface),
5589             "::",
5590             stringify!(GetStringCritical)
5591         )
5592     );
5593     assert_eq!(
5594         unsafe {
5595             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringCritical as *const _
5596                 as usize
5597         },
5598         1800usize,
5599         concat!(
5600             "Offset of field: ",
5601             stringify!(JNINativeInterface),
5602             "::",
5603             stringify!(ReleaseStringCritical)
5604         )
5605     );
5606     assert_eq!(
5607         unsafe {
5608             &(*(::std::ptr::null::<JNINativeInterface>())).NewWeakGlobalRef as *const _ as usize
5609         },
5610         1808usize,
5611         concat!(
5612             "Offset of field: ",
5613             stringify!(JNINativeInterface),
5614             "::",
5615             stringify!(NewWeakGlobalRef)
5616         )
5617     );
5618     assert_eq!(
5619         unsafe {
5620             &(*(::std::ptr::null::<JNINativeInterface>())).DeleteWeakGlobalRef as *const _ as usize
5621         },
5622         1816usize,
5623         concat!(
5624             "Offset of field: ",
5625             stringify!(JNINativeInterface),
5626             "::",
5627             stringify!(DeleteWeakGlobalRef)
5628         )
5629     );
5630     assert_eq!(
5631         unsafe {
5632             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionCheck as *const _ as usize
5633         },
5634         1824usize,
5635         concat!(
5636             "Offset of field: ",
5637             stringify!(JNINativeInterface),
5638             "::",
5639             stringify!(ExceptionCheck)
5640         )
5641     );
5642     assert_eq!(
5643         unsafe {
5644             &(*(::std::ptr::null::<JNINativeInterface>())).NewDirectByteBuffer as *const _ as usize
5645         },
5646         1832usize,
5647         concat!(
5648             "Offset of field: ",
5649             stringify!(JNINativeInterface),
5650             "::",
5651             stringify!(NewDirectByteBuffer)
5652         )
5653     );
5654     assert_eq!(
5655         unsafe {
5656             &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferAddress as *const _
5657                 as usize
5658         },
5659         1840usize,
5660         concat!(
5661             "Offset of field: ",
5662             stringify!(JNINativeInterface),
5663             "::",
5664             stringify!(GetDirectBufferAddress)
5665         )
5666     );
5667     assert_eq!(
5668         unsafe {
5669             &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferCapacity as *const _
5670                 as usize
5671         },
5672         1848usize,
5673         concat!(
5674             "Offset of field: ",
5675             stringify!(JNINativeInterface),
5676             "::",
5677             stringify!(GetDirectBufferCapacity)
5678         )
5679     );
5680     assert_eq!(
5681         unsafe {
5682             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectRefType as *const _ as usize
5683         },
5684         1856usize,
5685         concat!(
5686             "Offset of field: ",
5687             stringify!(JNINativeInterface),
5688             "::",
5689             stringify!(GetObjectRefType)
5690         )
5691     );
5692 }
5693 #[repr(C)]
5694 #[derive(Debug, Copy, Clone)]
5695 pub struct _JNIEnv {
5696     pub functions: *const JNINativeInterface,
5697 }
5698 #[test]
bindgen_test_layout__JNIEnv()5699 fn bindgen_test_layout__JNIEnv() {
5700     assert_eq!(
5701         ::std::mem::size_of::<_JNIEnv>(),
5702         8usize,
5703         concat!("Size of: ", stringify!(_JNIEnv))
5704     );
5705     assert_eq!(
5706         ::std::mem::align_of::<_JNIEnv>(),
5707         8usize,
5708         concat!("Alignment of ", stringify!(_JNIEnv))
5709     );
5710     assert_eq!(
5711         unsafe { &(*(::std::ptr::null::<_JNIEnv>())).functions as *const _ as usize },
5712         0usize,
5713         concat!(
5714             "Offset of field: ",
5715             stringify!(_JNIEnv),
5716             "::",
5717             stringify!(functions)
5718         )
5719     );
5720 }
5721 #[repr(C)]
5722 #[derive(Debug, Copy, Clone)]
5723 pub struct JNIInvokeInterface {
5724     pub reserved0: *mut ::std::os::raw::c_void,
5725     pub reserved1: *mut ::std::os::raw::c_void,
5726     pub reserved2: *mut ::std::os::raw::c_void,
5727     pub DestroyJavaVM: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
5728     pub AttachCurrentThread: ::std::option::Option<
5729         unsafe extern "C" fn(
5730             arg1: *mut JavaVM,
5731             arg2: *mut *mut JNIEnv,
5732             arg3: *mut ::std::os::raw::c_void,
5733         ) -> jint,
5734     >,
5735     pub DetachCurrentThread: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
5736     pub GetEnv: ::std::option::Option<
5737         unsafe extern "C" fn(
5738             arg1: *mut JavaVM,
5739             arg2: *mut *mut ::std::os::raw::c_void,
5740             arg3: jint,
5741         ) -> jint,
5742     >,
5743     pub AttachCurrentThreadAsDaemon: ::std::option::Option<
5744         unsafe extern "C" fn(
5745             arg1: *mut JavaVM,
5746             arg2: *mut *mut JNIEnv,
5747             arg3: *mut ::std::os::raw::c_void,
5748         ) -> jint,
5749     >,
5750 }
5751 #[test]
bindgen_test_layout_JNIInvokeInterface()5752 fn bindgen_test_layout_JNIInvokeInterface() {
5753     assert_eq!(
5754         ::std::mem::size_of::<JNIInvokeInterface>(),
5755         64usize,
5756         concat!("Size of: ", stringify!(JNIInvokeInterface))
5757     );
5758     assert_eq!(
5759         ::std::mem::align_of::<JNIInvokeInterface>(),
5760         8usize,
5761         concat!("Alignment of ", stringify!(JNIInvokeInterface))
5762     );
5763     assert_eq!(
5764         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved0 as *const _ as usize },
5765         0usize,
5766         concat!(
5767             "Offset of field: ",
5768             stringify!(JNIInvokeInterface),
5769             "::",
5770             stringify!(reserved0)
5771         )
5772     );
5773     assert_eq!(
5774         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved1 as *const _ as usize },
5775         8usize,
5776         concat!(
5777             "Offset of field: ",
5778             stringify!(JNIInvokeInterface),
5779             "::",
5780             stringify!(reserved1)
5781         )
5782     );
5783     assert_eq!(
5784         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved2 as *const _ as usize },
5785         16usize,
5786         concat!(
5787             "Offset of field: ",
5788             stringify!(JNIInvokeInterface),
5789             "::",
5790             stringify!(reserved2)
5791         )
5792     );
5793     assert_eq!(
5794         unsafe {
5795             &(*(::std::ptr::null::<JNIInvokeInterface>())).DestroyJavaVM as *const _ as usize
5796         },
5797         24usize,
5798         concat!(
5799             "Offset of field: ",
5800             stringify!(JNIInvokeInterface),
5801             "::",
5802             stringify!(DestroyJavaVM)
5803         )
5804     );
5805     assert_eq!(
5806         unsafe {
5807             &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThread as *const _ as usize
5808         },
5809         32usize,
5810         concat!(
5811             "Offset of field: ",
5812             stringify!(JNIInvokeInterface),
5813             "::",
5814             stringify!(AttachCurrentThread)
5815         )
5816     );
5817     assert_eq!(
5818         unsafe {
5819             &(*(::std::ptr::null::<JNIInvokeInterface>())).DetachCurrentThread as *const _ as usize
5820         },
5821         40usize,
5822         concat!(
5823             "Offset of field: ",
5824             stringify!(JNIInvokeInterface),
5825             "::",
5826             stringify!(DetachCurrentThread)
5827         )
5828     );
5829     assert_eq!(
5830         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).GetEnv as *const _ as usize },
5831         48usize,
5832         concat!(
5833             "Offset of field: ",
5834             stringify!(JNIInvokeInterface),
5835             "::",
5836             stringify!(GetEnv)
5837         )
5838     );
5839     assert_eq!(
5840         unsafe {
5841             &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThreadAsDaemon as *const _
5842                 as usize
5843         },
5844         56usize,
5845         concat!(
5846             "Offset of field: ",
5847             stringify!(JNIInvokeInterface),
5848             "::",
5849             stringify!(AttachCurrentThreadAsDaemon)
5850         )
5851     );
5852 }
5853 #[repr(C)]
5854 #[derive(Debug, Copy, Clone)]
5855 pub struct _JavaVM {
5856     pub functions: *const JNIInvokeInterface,
5857 }
5858 #[test]
bindgen_test_layout__JavaVM()5859 fn bindgen_test_layout__JavaVM() {
5860     assert_eq!(
5861         ::std::mem::size_of::<_JavaVM>(),
5862         8usize,
5863         concat!("Size of: ", stringify!(_JavaVM))
5864     );
5865     assert_eq!(
5866         ::std::mem::align_of::<_JavaVM>(),
5867         8usize,
5868         concat!("Alignment of ", stringify!(_JavaVM))
5869     );
5870     assert_eq!(
5871         unsafe { &(*(::std::ptr::null::<_JavaVM>())).functions as *const _ as usize },
5872         0usize,
5873         concat!(
5874             "Offset of field: ",
5875             stringify!(_JavaVM),
5876             "::",
5877             stringify!(functions)
5878         )
5879     );
5880 }
5881 #[repr(C)]
5882 #[derive(Debug, Copy, Clone)]
5883 pub struct JavaVMAttachArgs {
5884     pub version: jint,
5885     pub name: *const ::std::os::raw::c_char,
5886     pub group: jobject,
5887 }
5888 #[test]
bindgen_test_layout_JavaVMAttachArgs()5889 fn bindgen_test_layout_JavaVMAttachArgs() {
5890     assert_eq!(
5891         ::std::mem::size_of::<JavaVMAttachArgs>(),
5892         24usize,
5893         concat!("Size of: ", stringify!(JavaVMAttachArgs))
5894     );
5895     assert_eq!(
5896         ::std::mem::align_of::<JavaVMAttachArgs>(),
5897         8usize,
5898         concat!("Alignment of ", stringify!(JavaVMAttachArgs))
5899     );
5900     assert_eq!(
5901         unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).version as *const _ as usize },
5902         0usize,
5903         concat!(
5904             "Offset of field: ",
5905             stringify!(JavaVMAttachArgs),
5906             "::",
5907             stringify!(version)
5908         )
5909     );
5910     assert_eq!(
5911         unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).name as *const _ as usize },
5912         8usize,
5913         concat!(
5914             "Offset of field: ",
5915             stringify!(JavaVMAttachArgs),
5916             "::",
5917             stringify!(name)
5918         )
5919     );
5920     assert_eq!(
5921         unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).group as *const _ as usize },
5922         16usize,
5923         concat!(
5924             "Offset of field: ",
5925             stringify!(JavaVMAttachArgs),
5926             "::",
5927             stringify!(group)
5928         )
5929     );
5930 }
5931 #[repr(C)]
5932 #[derive(Debug, Copy, Clone)]
5933 pub struct JavaVMOption {
5934     pub optionString: *const ::std::os::raw::c_char,
5935     pub extraInfo: *mut ::std::os::raw::c_void,
5936 }
5937 #[test]
bindgen_test_layout_JavaVMOption()5938 fn bindgen_test_layout_JavaVMOption() {
5939     assert_eq!(
5940         ::std::mem::size_of::<JavaVMOption>(),
5941         16usize,
5942         concat!("Size of: ", stringify!(JavaVMOption))
5943     );
5944     assert_eq!(
5945         ::std::mem::align_of::<JavaVMOption>(),
5946         8usize,
5947         concat!("Alignment of ", stringify!(JavaVMOption))
5948     );
5949     assert_eq!(
5950         unsafe { &(*(::std::ptr::null::<JavaVMOption>())).optionString as *const _ as usize },
5951         0usize,
5952         concat!(
5953             "Offset of field: ",
5954             stringify!(JavaVMOption),
5955             "::",
5956             stringify!(optionString)
5957         )
5958     );
5959     assert_eq!(
5960         unsafe { &(*(::std::ptr::null::<JavaVMOption>())).extraInfo as *const _ as usize },
5961         8usize,
5962         concat!(
5963             "Offset of field: ",
5964             stringify!(JavaVMOption),
5965             "::",
5966             stringify!(extraInfo)
5967         )
5968     );
5969 }
5970 #[repr(C)]
5971 #[derive(Debug, Copy, Clone)]
5972 pub struct JavaVMInitArgs {
5973     pub version: jint,
5974     pub nOptions: jint,
5975     pub options: *mut JavaVMOption,
5976     pub ignoreUnrecognized: jboolean,
5977 }
5978 #[test]
bindgen_test_layout_JavaVMInitArgs()5979 fn bindgen_test_layout_JavaVMInitArgs() {
5980     assert_eq!(
5981         ::std::mem::size_of::<JavaVMInitArgs>(),
5982         24usize,
5983         concat!("Size of: ", stringify!(JavaVMInitArgs))
5984     );
5985     assert_eq!(
5986         ::std::mem::align_of::<JavaVMInitArgs>(),
5987         8usize,
5988         concat!("Alignment of ", stringify!(JavaVMInitArgs))
5989     );
5990     assert_eq!(
5991         unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).version as *const _ as usize },
5992         0usize,
5993         concat!(
5994             "Offset of field: ",
5995             stringify!(JavaVMInitArgs),
5996             "::",
5997             stringify!(version)
5998         )
5999     );
6000     assert_eq!(
6001         unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).nOptions as *const _ as usize },
6002         4usize,
6003         concat!(
6004             "Offset of field: ",
6005             stringify!(JavaVMInitArgs),
6006             "::",
6007             stringify!(nOptions)
6008         )
6009     );
6010     assert_eq!(
6011         unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).options as *const _ as usize },
6012         8usize,
6013         concat!(
6014             "Offset of field: ",
6015             stringify!(JavaVMInitArgs),
6016             "::",
6017             stringify!(options)
6018         )
6019     );
6020     assert_eq!(
6021         unsafe {
6022             &(*(::std::ptr::null::<JavaVMInitArgs>())).ignoreUnrecognized as *const _ as usize
6023         },
6024         16usize,
6025         concat!(
6026             "Offset of field: ",
6027             stringify!(JavaVMInitArgs),
6028             "::",
6029             stringify!(ignoreUnrecognized)
6030         )
6031     );
6032 }
6033 extern "C" {
JNI_GetDefaultJavaVMInitArgs(arg1: *mut ::std::os::raw::c_void) -> jint6034     pub fn JNI_GetDefaultJavaVMInitArgs(arg1: *mut ::std::os::raw::c_void) -> jint;
6035 }
6036 extern "C" {
JNI_CreateJavaVM( arg1: *mut *mut JavaVM, arg2: *mut *mut JNIEnv, arg3: *mut ::std::os::raw::c_void, ) -> jint6037     pub fn JNI_CreateJavaVM(
6038         arg1: *mut *mut JavaVM,
6039         arg2: *mut *mut JNIEnv,
6040         arg3: *mut ::std::os::raw::c_void,
6041     ) -> jint;
6042 }
6043 extern "C" {
JNI_GetCreatedJavaVMs(arg1: *mut *mut JavaVM, arg2: jsize, arg3: *mut jsize) -> jint6044     pub fn JNI_GetCreatedJavaVMs(arg1: *mut *mut JavaVM, arg2: jsize, arg3: *mut jsize) -> jint;
6045 }
6046 extern "C" {
JNI_OnLoad(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void) -> jint6047     pub fn JNI_OnLoad(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void) -> jint;
6048 }
6049 extern "C" {
JNI_OnUnload(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void)6050     pub fn JNI_OnUnload(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void);
6051 }
6052 extern "C" {
AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager6053     pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
6054 }
6055 pub const ANDROID_BITMAP_RESULT_SUCCESS: _bindgen_ty_2 = 0;
6056 pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: _bindgen_ty_2 = -1;
6057 pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: _bindgen_ty_2 = -2;
6058 pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: _bindgen_ty_2 = -3;
6059 pub type _bindgen_ty_2 = i32;
6060 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = 0;
6061 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = 1;
6062 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = 4;
6063 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = 7;
6064 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = 8;
6065 pub type AndroidBitmapFormat = u32;
6066 #[repr(C)]
6067 #[derive(Debug, Copy, Clone)]
6068 pub struct AndroidBitmapInfo {
6069     pub width: u32,
6070     pub height: u32,
6071     pub stride: u32,
6072     pub format: i32,
6073     pub flags: u32,
6074 }
6075 #[test]
bindgen_test_layout_AndroidBitmapInfo()6076 fn bindgen_test_layout_AndroidBitmapInfo() {
6077     assert_eq!(
6078         ::std::mem::size_of::<AndroidBitmapInfo>(),
6079         20usize,
6080         concat!("Size of: ", stringify!(AndroidBitmapInfo))
6081     );
6082     assert_eq!(
6083         ::std::mem::align_of::<AndroidBitmapInfo>(),
6084         4usize,
6085         concat!("Alignment of ", stringify!(AndroidBitmapInfo))
6086     );
6087     assert_eq!(
6088         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).width as *const _ as usize },
6089         0usize,
6090         concat!(
6091             "Offset of field: ",
6092             stringify!(AndroidBitmapInfo),
6093             "::",
6094             stringify!(width)
6095         )
6096     );
6097     assert_eq!(
6098         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).height as *const _ as usize },
6099         4usize,
6100         concat!(
6101             "Offset of field: ",
6102             stringify!(AndroidBitmapInfo),
6103             "::",
6104             stringify!(height)
6105         )
6106     );
6107     assert_eq!(
6108         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).stride as *const _ as usize },
6109         8usize,
6110         concat!(
6111             "Offset of field: ",
6112             stringify!(AndroidBitmapInfo),
6113             "::",
6114             stringify!(stride)
6115         )
6116     );
6117     assert_eq!(
6118         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).format as *const _ as usize },
6119         12usize,
6120         concat!(
6121             "Offset of field: ",
6122             stringify!(AndroidBitmapInfo),
6123             "::",
6124             stringify!(format)
6125         )
6126     );
6127     assert_eq!(
6128         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).flags as *const _ as usize },
6129         16usize,
6130         concat!(
6131             "Offset of field: ",
6132             stringify!(AndroidBitmapInfo),
6133             "::",
6134             stringify!(flags)
6135         )
6136     );
6137 }
6138 extern "C" {
AndroidBitmap_getInfo( env: *mut JNIEnv, jbitmap: jobject, info: *mut AndroidBitmapInfo, ) -> ::std::os::raw::c_int6139     pub fn AndroidBitmap_getInfo(
6140         env: *mut JNIEnv,
6141         jbitmap: jobject,
6142         info: *mut AndroidBitmapInfo,
6143     ) -> ::std::os::raw::c_int;
6144 }
6145 extern "C" {
AndroidBitmap_lockPixels( env: *mut JNIEnv, jbitmap: jobject, addrPtr: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int6146     pub fn AndroidBitmap_lockPixels(
6147         env: *mut JNIEnv,
6148         jbitmap: jobject,
6149         addrPtr: *mut *mut ::std::os::raw::c_void,
6150     ) -> ::std::os::raw::c_int;
6151 }
6152 extern "C" {
AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int6153     pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
6154 }
6155 #[repr(C)]
6156 #[derive(Debug, Copy, Clone)]
6157 pub struct AChoreographer {
6158     _unused: [u8; 0],
6159 }
6160 pub type AChoreographer_frameCallback = ::std::option::Option<
6161     unsafe extern "C" fn(frameTimeNanos: ::std::os::raw::c_long, data: *mut ::std::os::raw::c_void),
6162 >;
6163 pub type AChoreographer_frameCallback64 = ::std::option::Option<
6164     unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
6165 >;
6166 extern "C" {
AChoreographer_getInstance() -> *mut AChoreographer6167     pub fn AChoreographer_getInstance() -> *mut AChoreographer;
6168 }
6169 extern "C" {
AChoreographer_postFrameCallback( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback, data: *mut ::std::os::raw::c_void, )6170     pub fn AChoreographer_postFrameCallback(
6171         choreographer: *mut AChoreographer,
6172         callback: AChoreographer_frameCallback,
6173         data: *mut ::std::os::raw::c_void,
6174     );
6175 }
6176 extern "C" {
AChoreographer_postFrameCallbackDelayed( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback, data: *mut ::std::os::raw::c_void, delayMillis: ::std::os::raw::c_long, )6177     pub fn AChoreographer_postFrameCallbackDelayed(
6178         choreographer: *mut AChoreographer,
6179         callback: AChoreographer_frameCallback,
6180         data: *mut ::std::os::raw::c_void,
6181         delayMillis: ::std::os::raw::c_long,
6182     );
6183 }
6184 extern "C" {
AChoreographer_postFrameCallback64( chroreographer: *mut AChoreographer, callback: AChoreographer_frameCallback64, data: *mut ::std::os::raw::c_void, )6185     pub fn AChoreographer_postFrameCallback64(
6186         chroreographer: *mut AChoreographer,
6187         callback: AChoreographer_frameCallback64,
6188         data: *mut ::std::os::raw::c_void,
6189     );
6190 }
6191 extern "C" {
AChoreographer_postFrameCallbackDelayed64( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback64, data: *mut ::std::os::raw::c_void, delayMillis: u32, )6192     pub fn AChoreographer_postFrameCallbackDelayed64(
6193         choreographer: *mut AChoreographer,
6194         callback: AChoreographer_frameCallback64,
6195         data: *mut ::std::os::raw::c_void,
6196         delayMillis: u32,
6197     );
6198 }
6199 #[repr(C)]
6200 #[derive(Debug, Copy, Clone)]
6201 pub struct AConfiguration {
6202     _unused: [u8; 0],
6203 }
6204 pub const ACONFIGURATION_ORIENTATION_ANY: _bindgen_ty_3 = 0;
6205 pub const ACONFIGURATION_ORIENTATION_PORT: _bindgen_ty_3 = 1;
6206 pub const ACONFIGURATION_ORIENTATION_LAND: _bindgen_ty_3 = 2;
6207 pub const ACONFIGURATION_ORIENTATION_SQUARE: _bindgen_ty_3 = 3;
6208 pub const ACONFIGURATION_TOUCHSCREEN_ANY: _bindgen_ty_3 = 0;
6209 pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: _bindgen_ty_3 = 1;
6210 pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: _bindgen_ty_3 = 2;
6211 pub const ACONFIGURATION_TOUCHSCREEN_FINGER: _bindgen_ty_3 = 3;
6212 pub const ACONFIGURATION_DENSITY_DEFAULT: _bindgen_ty_3 = 0;
6213 pub const ACONFIGURATION_DENSITY_LOW: _bindgen_ty_3 = 120;
6214 pub const ACONFIGURATION_DENSITY_MEDIUM: _bindgen_ty_3 = 160;
6215 pub const ACONFIGURATION_DENSITY_TV: _bindgen_ty_3 = 213;
6216 pub const ACONFIGURATION_DENSITY_HIGH: _bindgen_ty_3 = 240;
6217 pub const ACONFIGURATION_DENSITY_XHIGH: _bindgen_ty_3 = 320;
6218 pub const ACONFIGURATION_DENSITY_XXHIGH: _bindgen_ty_3 = 480;
6219 pub const ACONFIGURATION_DENSITY_XXXHIGH: _bindgen_ty_3 = 640;
6220 pub const ACONFIGURATION_DENSITY_ANY: _bindgen_ty_3 = 65534;
6221 pub const ACONFIGURATION_DENSITY_NONE: _bindgen_ty_3 = 65535;
6222 pub const ACONFIGURATION_KEYBOARD_ANY: _bindgen_ty_3 = 0;
6223 pub const ACONFIGURATION_KEYBOARD_NOKEYS: _bindgen_ty_3 = 1;
6224 pub const ACONFIGURATION_KEYBOARD_QWERTY: _bindgen_ty_3 = 2;
6225 pub const ACONFIGURATION_KEYBOARD_12KEY: _bindgen_ty_3 = 3;
6226 pub const ACONFIGURATION_NAVIGATION_ANY: _bindgen_ty_3 = 0;
6227 pub const ACONFIGURATION_NAVIGATION_NONAV: _bindgen_ty_3 = 1;
6228 pub const ACONFIGURATION_NAVIGATION_DPAD: _bindgen_ty_3 = 2;
6229 pub const ACONFIGURATION_NAVIGATION_TRACKBALL: _bindgen_ty_3 = 3;
6230 pub const ACONFIGURATION_NAVIGATION_WHEEL: _bindgen_ty_3 = 4;
6231 pub const ACONFIGURATION_KEYSHIDDEN_ANY: _bindgen_ty_3 = 0;
6232 pub const ACONFIGURATION_KEYSHIDDEN_NO: _bindgen_ty_3 = 1;
6233 pub const ACONFIGURATION_KEYSHIDDEN_YES: _bindgen_ty_3 = 2;
6234 pub const ACONFIGURATION_KEYSHIDDEN_SOFT: _bindgen_ty_3 = 3;
6235 pub const ACONFIGURATION_NAVHIDDEN_ANY: _bindgen_ty_3 = 0;
6236 pub const ACONFIGURATION_NAVHIDDEN_NO: _bindgen_ty_3 = 1;
6237 pub const ACONFIGURATION_NAVHIDDEN_YES: _bindgen_ty_3 = 2;
6238 pub const ACONFIGURATION_SCREENSIZE_ANY: _bindgen_ty_3 = 0;
6239 pub const ACONFIGURATION_SCREENSIZE_SMALL: _bindgen_ty_3 = 1;
6240 pub const ACONFIGURATION_SCREENSIZE_NORMAL: _bindgen_ty_3 = 2;
6241 pub const ACONFIGURATION_SCREENSIZE_LARGE: _bindgen_ty_3 = 3;
6242 pub const ACONFIGURATION_SCREENSIZE_XLARGE: _bindgen_ty_3 = 4;
6243 pub const ACONFIGURATION_SCREENLONG_ANY: _bindgen_ty_3 = 0;
6244 pub const ACONFIGURATION_SCREENLONG_NO: _bindgen_ty_3 = 1;
6245 pub const ACONFIGURATION_SCREENLONG_YES: _bindgen_ty_3 = 2;
6246 pub const ACONFIGURATION_SCREENROUND_ANY: _bindgen_ty_3 = 0;
6247 pub const ACONFIGURATION_SCREENROUND_NO: _bindgen_ty_3 = 1;
6248 pub const ACONFIGURATION_SCREENROUND_YES: _bindgen_ty_3 = 2;
6249 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: _bindgen_ty_3 = 0;
6250 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: _bindgen_ty_3 = 1;
6251 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: _bindgen_ty_3 = 2;
6252 pub const ACONFIGURATION_HDR_ANY: _bindgen_ty_3 = 0;
6253 pub const ACONFIGURATION_HDR_NO: _bindgen_ty_3 = 1;
6254 pub const ACONFIGURATION_HDR_YES: _bindgen_ty_3 = 2;
6255 pub const ACONFIGURATION_UI_MODE_TYPE_ANY: _bindgen_ty_3 = 0;
6256 pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: _bindgen_ty_3 = 1;
6257 pub const ACONFIGURATION_UI_MODE_TYPE_DESK: _bindgen_ty_3 = 2;
6258 pub const ACONFIGURATION_UI_MODE_TYPE_CAR: _bindgen_ty_3 = 3;
6259 pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: _bindgen_ty_3 = 4;
6260 pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: _bindgen_ty_3 = 5;
6261 pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: _bindgen_ty_3 = 6;
6262 pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: _bindgen_ty_3 = 7;
6263 pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: _bindgen_ty_3 = 0;
6264 pub const ACONFIGURATION_UI_MODE_NIGHT_NO: _bindgen_ty_3 = 1;
6265 pub const ACONFIGURATION_UI_MODE_NIGHT_YES: _bindgen_ty_3 = 2;
6266 pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: _bindgen_ty_3 = 0;
6267 pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: _bindgen_ty_3 = 0;
6268 pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: _bindgen_ty_3 = 0;
6269 pub const ACONFIGURATION_LAYOUTDIR_ANY: _bindgen_ty_3 = 0;
6270 pub const ACONFIGURATION_LAYOUTDIR_LTR: _bindgen_ty_3 = 1;
6271 pub const ACONFIGURATION_LAYOUTDIR_RTL: _bindgen_ty_3 = 2;
6272 pub const ACONFIGURATION_MCC: _bindgen_ty_3 = 1;
6273 pub const ACONFIGURATION_MNC: _bindgen_ty_3 = 2;
6274 pub const ACONFIGURATION_LOCALE: _bindgen_ty_3 = 4;
6275 pub const ACONFIGURATION_TOUCHSCREEN: _bindgen_ty_3 = 8;
6276 pub const ACONFIGURATION_KEYBOARD: _bindgen_ty_3 = 16;
6277 pub const ACONFIGURATION_KEYBOARD_HIDDEN: _bindgen_ty_3 = 32;
6278 pub const ACONFIGURATION_NAVIGATION: _bindgen_ty_3 = 64;
6279 pub const ACONFIGURATION_ORIENTATION: _bindgen_ty_3 = 128;
6280 pub const ACONFIGURATION_DENSITY: _bindgen_ty_3 = 256;
6281 pub const ACONFIGURATION_SCREEN_SIZE: _bindgen_ty_3 = 512;
6282 pub const ACONFIGURATION_VERSION: _bindgen_ty_3 = 1024;
6283 pub const ACONFIGURATION_SCREEN_LAYOUT: _bindgen_ty_3 = 2048;
6284 pub const ACONFIGURATION_UI_MODE: _bindgen_ty_3 = 4096;
6285 pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: _bindgen_ty_3 = 8192;
6286 pub const ACONFIGURATION_LAYOUTDIR: _bindgen_ty_3 = 16384;
6287 pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_3 = 32768;
6288 pub const ACONFIGURATION_COLOR_MODE: _bindgen_ty_3 = 65536;
6289 pub const ACONFIGURATION_MNC_ZERO: _bindgen_ty_3 = 65535;
6290 pub type _bindgen_ty_3 = u32;
6291 extern "C" {
AConfiguration_new() -> *mut AConfiguration6292     pub fn AConfiguration_new() -> *mut AConfiguration;
6293 }
6294 extern "C" {
AConfiguration_delete(config: *mut AConfiguration)6295     pub fn AConfiguration_delete(config: *mut AConfiguration);
6296 }
6297 extern "C" {
AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager)6298     pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
6299 }
6300 extern "C" {
AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration)6301     pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
6302 }
6303 extern "C" {
AConfiguration_getMcc(config: *mut AConfiguration) -> i326304     pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
6305 }
6306 extern "C" {
AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32)6307     pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
6308 }
6309 extern "C" {
AConfiguration_getMnc(config: *mut AConfiguration) -> i326310     pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
6311 }
6312 extern "C" {
AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32)6313     pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
6314 }
6315 extern "C" {
AConfiguration_getLanguage( config: *mut AConfiguration, outLanguage: *mut ::std::os::raw::c_char, )6316     pub fn AConfiguration_getLanguage(
6317         config: *mut AConfiguration,
6318         outLanguage: *mut ::std::os::raw::c_char,
6319     );
6320 }
6321 extern "C" {
AConfiguration_setLanguage( config: *mut AConfiguration, language: *const ::std::os::raw::c_char, )6322     pub fn AConfiguration_setLanguage(
6323         config: *mut AConfiguration,
6324         language: *const ::std::os::raw::c_char,
6325     );
6326 }
6327 extern "C" {
AConfiguration_getCountry( config: *mut AConfiguration, outCountry: *mut ::std::os::raw::c_char, )6328     pub fn AConfiguration_getCountry(
6329         config: *mut AConfiguration,
6330         outCountry: *mut ::std::os::raw::c_char,
6331     );
6332 }
6333 extern "C" {
AConfiguration_setCountry( config: *mut AConfiguration, country: *const ::std::os::raw::c_char, )6334     pub fn AConfiguration_setCountry(
6335         config: *mut AConfiguration,
6336         country: *const ::std::os::raw::c_char,
6337     );
6338 }
6339 extern "C" {
AConfiguration_getOrientation(config: *mut AConfiguration) -> i326340     pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
6341 }
6342 extern "C" {
AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32)6343     pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
6344 }
6345 extern "C" {
AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i326346     pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
6347 }
6348 extern "C" {
AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32)6349     pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
6350 }
6351 extern "C" {
AConfiguration_getDensity(config: *mut AConfiguration) -> i326352     pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
6353 }
6354 extern "C" {
AConfiguration_setDensity(config: *mut AConfiguration, density: i32)6355     pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
6356 }
6357 extern "C" {
AConfiguration_getKeyboard(config: *mut AConfiguration) -> i326358     pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
6359 }
6360 extern "C" {
AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32)6361     pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
6362 }
6363 extern "C" {
AConfiguration_getNavigation(config: *mut AConfiguration) -> i326364     pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
6365 }
6366 extern "C" {
AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32)6367     pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
6368 }
6369 extern "C" {
AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i326370     pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
6371 }
6372 extern "C" {
AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32)6373     pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
6374 }
6375 extern "C" {
AConfiguration_getNavHidden(config: *mut AConfiguration) -> i326376     pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
6377 }
6378 extern "C" {
AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32)6379     pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
6380 }
6381 extern "C" {
AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i326382     pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
6383 }
6384 extern "C" {
AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32)6385     pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
6386 }
6387 extern "C" {
AConfiguration_getScreenSize(config: *mut AConfiguration) -> i326388     pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
6389 }
6390 extern "C" {
AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32)6391     pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
6392 }
6393 extern "C" {
AConfiguration_getScreenLong(config: *mut AConfiguration) -> i326394     pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
6395 }
6396 extern "C" {
AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32)6397     pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
6398 }
6399 extern "C" {
AConfiguration_getScreenRound(config: *mut AConfiguration) -> i326400     pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
6401 }
6402 extern "C" {
AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32)6403     pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
6404 }
6405 extern "C" {
AConfiguration_getUiModeType(config: *mut AConfiguration) -> i326406     pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
6407 }
6408 extern "C" {
AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32)6409     pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
6410 }
6411 extern "C" {
AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i326412     pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
6413 }
6414 extern "C" {
AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32)6415     pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
6416 }
6417 extern "C" {
AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i326418     pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
6419 }
6420 extern "C" {
AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32)6421     pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
6422 }
6423 extern "C" {
AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i326424     pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
6425 }
6426 extern "C" {
AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32)6427     pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
6428 }
6429 extern "C" {
AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i326430     pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
6431 }
6432 extern "C" {
AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32)6433     pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
6434 }
6435 extern "C" {
AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i326436     pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
6437 }
6438 extern "C" {
AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32)6439     pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
6440 }
6441 extern "C" {
AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i326442     pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
6443 }
6444 extern "C" {
AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i326445     pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
6446 }
6447 extern "C" {
AConfiguration_isBetterThan( base: *mut AConfiguration, test: *mut AConfiguration, requested: *mut AConfiguration, ) -> i326448     pub fn AConfiguration_isBetterThan(
6449         base: *mut AConfiguration,
6450         test: *mut AConfiguration,
6451         requested: *mut AConfiguration,
6452     ) -> i32;
6453 }
6454 #[repr(C)]
6455 #[derive(Debug, Copy, Clone)]
6456 pub struct imaxdiv_t {
6457     pub quot: intmax_t,
6458     pub rem: intmax_t,
6459 }
6460 #[test]
bindgen_test_layout_imaxdiv_t()6461 fn bindgen_test_layout_imaxdiv_t() {
6462     assert_eq!(
6463         ::std::mem::size_of::<imaxdiv_t>(),
6464         16usize,
6465         concat!("Size of: ", stringify!(imaxdiv_t))
6466     );
6467     assert_eq!(
6468         ::std::mem::align_of::<imaxdiv_t>(),
6469         8usize,
6470         concat!("Alignment of ", stringify!(imaxdiv_t))
6471     );
6472     assert_eq!(
6473         unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).quot as *const _ as usize },
6474         0usize,
6475         concat!(
6476             "Offset of field: ",
6477             stringify!(imaxdiv_t),
6478             "::",
6479             stringify!(quot)
6480         )
6481     );
6482     assert_eq!(
6483         unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).rem as *const _ as usize },
6484         8usize,
6485         concat!(
6486             "Offset of field: ",
6487             stringify!(imaxdiv_t),
6488             "::",
6489             stringify!(rem)
6490         )
6491     );
6492 }
6493 extern "C" {
imaxabs(__i: intmax_t) -> intmax_t6494     pub fn imaxabs(__i: intmax_t) -> intmax_t;
6495 }
6496 extern "C" {
imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t6497     pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
6498 }
6499 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_t6500     pub fn strtoimax(
6501         __s: *const ::std::os::raw::c_char,
6502         __end_ptr: *mut *mut ::std::os::raw::c_char,
6503         __base: ::std::os::raw::c_int,
6504     ) -> intmax_t;
6505 }
6506 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_t6507     pub fn strtoumax(
6508         __s: *const ::std::os::raw::c_char,
6509         __end_ptr: *mut *mut ::std::os::raw::c_char,
6510         __base: ::std::os::raw::c_int,
6511     ) -> uintmax_t;
6512 }
6513 extern "C" {
wcstoimax( __s: *const wchar_t, __end_ptr: *mut *mut wchar_t, __base: ::std::os::raw::c_int, ) -> intmax_t6514     pub fn wcstoimax(
6515         __s: *const wchar_t,
6516         __end_ptr: *mut *mut wchar_t,
6517         __base: ::std::os::raw::c_int,
6518     ) -> intmax_t;
6519 }
6520 extern "C" {
wcstoumax( __s: *const wchar_t, __end_ptr: *mut *mut wchar_t, __base: ::std::os::raw::c_int, ) -> uintmax_t6521     pub fn wcstoumax(
6522         __s: *const wchar_t,
6523         __end_ptr: *mut *mut wchar_t,
6524         __base: ::std::os::raw::c_int,
6525     ) -> uintmax_t;
6526 }
6527 pub const ADataSpace_ADATASPACE_UNKNOWN: ADataSpace = 0;
6528 pub const ADataSpace_ADATASPACE_SCRGB_LINEAR: ADataSpace = 406913024;
6529 pub const ADataSpace_ADATASPACE_SRGB: ADataSpace = 142671872;
6530 pub const ADataSpace_ADATASPACE_SCRGB: ADataSpace = 411107328;
6531 pub const ADataSpace_ADATASPACE_DISPLAY_P3: ADataSpace = 143261696;
6532 pub const ADataSpace_ADATASPACE_BT2020_PQ: ADataSpace = 163971072;
6533 pub type ADataSpace = u32;
6534 pub const ANDROID_DLEXT_RESERVED_ADDRESS: _bindgen_ty_4 = 1;
6535 pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: _bindgen_ty_4 = 2;
6536 pub const ANDROID_DLEXT_WRITE_RELRO: _bindgen_ty_4 = 4;
6537 pub const ANDROID_DLEXT_USE_RELRO: _bindgen_ty_4 = 8;
6538 pub const ANDROID_DLEXT_USE_LIBRARY_FD: _bindgen_ty_4 = 16;
6539 pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: _bindgen_ty_4 = 32;
6540 pub const ANDROID_DLEXT_FORCE_LOAD: _bindgen_ty_4 = 64;
6541 pub const ANDROID_DLEXT_USE_NAMESPACE: _bindgen_ty_4 = 512;
6542 pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: _bindgen_ty_4 = 1024;
6543 pub const ANDROID_DLEXT_VALID_FLAG_BITS: _bindgen_ty_4 = 1663;
6544 pub type _bindgen_ty_4 = u32;
6545 #[repr(C)]
6546 #[derive(Debug, Copy, Clone)]
6547 pub struct android_namespace_t {
6548     _unused: [u8; 0],
6549 }
6550 #[repr(C)]
6551 #[derive(Debug, Copy, Clone)]
6552 pub struct android_dlextinfo {
6553     pub flags: u64,
6554     pub reserved_addr: *mut ::std::os::raw::c_void,
6555     pub reserved_size: usize,
6556     pub relro_fd: ::std::os::raw::c_int,
6557     pub library_fd: ::std::os::raw::c_int,
6558     pub library_fd_offset: off64_t,
6559     pub library_namespace: *mut android_namespace_t,
6560 }
6561 #[test]
bindgen_test_layout_android_dlextinfo()6562 fn bindgen_test_layout_android_dlextinfo() {
6563     assert_eq!(
6564         ::std::mem::size_of::<android_dlextinfo>(),
6565         48usize,
6566         concat!("Size of: ", stringify!(android_dlextinfo))
6567     );
6568     assert_eq!(
6569         ::std::mem::align_of::<android_dlextinfo>(),
6570         8usize,
6571         concat!("Alignment of ", stringify!(android_dlextinfo))
6572     );
6573     assert_eq!(
6574         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).flags as *const _ as usize },
6575         0usize,
6576         concat!(
6577             "Offset of field: ",
6578             stringify!(android_dlextinfo),
6579             "::",
6580             stringify!(flags)
6581         )
6582     );
6583     assert_eq!(
6584         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_addr as *const _ as usize },
6585         8usize,
6586         concat!(
6587             "Offset of field: ",
6588             stringify!(android_dlextinfo),
6589             "::",
6590             stringify!(reserved_addr)
6591         )
6592     );
6593     assert_eq!(
6594         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_size as *const _ as usize },
6595         16usize,
6596         concat!(
6597             "Offset of field: ",
6598             stringify!(android_dlextinfo),
6599             "::",
6600             stringify!(reserved_size)
6601         )
6602     );
6603     assert_eq!(
6604         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).relro_fd as *const _ as usize },
6605         24usize,
6606         concat!(
6607             "Offset of field: ",
6608             stringify!(android_dlextinfo),
6609             "::",
6610             stringify!(relro_fd)
6611         )
6612     );
6613     assert_eq!(
6614         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).library_fd as *const _ as usize },
6615         28usize,
6616         concat!(
6617             "Offset of field: ",
6618             stringify!(android_dlextinfo),
6619             "::",
6620             stringify!(library_fd)
6621         )
6622     );
6623     assert_eq!(
6624         unsafe {
6625             &(*(::std::ptr::null::<android_dlextinfo>())).library_fd_offset as *const _ as usize
6626         },
6627         32usize,
6628         concat!(
6629             "Offset of field: ",
6630             stringify!(android_dlextinfo),
6631             "::",
6632             stringify!(library_fd_offset)
6633         )
6634     );
6635     assert_eq!(
6636         unsafe {
6637             &(*(::std::ptr::null::<android_dlextinfo>())).library_namespace as *const _ as usize
6638         },
6639         40usize,
6640         concat!(
6641             "Offset of field: ",
6642             stringify!(android_dlextinfo),
6643             "::",
6644             stringify!(library_namespace)
6645         )
6646     );
6647 }
6648 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_void6649     pub fn android_dlopen_ext(
6650         __filename: *const ::std::os::raw::c_char,
6651         __flags: ::std::os::raw::c_int,
6652         __info: *const android_dlextinfo,
6653     ) -> *mut ::std::os::raw::c_void;
6654 }
6655 #[repr(C)]
6656 #[derive(Debug, Copy, Clone)]
6657 pub struct ARect {
6658     pub left: i32,
6659     pub top: i32,
6660     pub right: i32,
6661     pub bottom: i32,
6662 }
6663 #[test]
bindgen_test_layout_ARect()6664 fn bindgen_test_layout_ARect() {
6665     assert_eq!(
6666         ::std::mem::size_of::<ARect>(),
6667         16usize,
6668         concat!("Size of: ", stringify!(ARect))
6669     );
6670     assert_eq!(
6671         ::std::mem::align_of::<ARect>(),
6672         4usize,
6673         concat!("Alignment of ", stringify!(ARect))
6674     );
6675     assert_eq!(
6676         unsafe { &(*(::std::ptr::null::<ARect>())).left as *const _ as usize },
6677         0usize,
6678         concat!(
6679             "Offset of field: ",
6680             stringify!(ARect),
6681             "::",
6682             stringify!(left)
6683         )
6684     );
6685     assert_eq!(
6686         unsafe { &(*(::std::ptr::null::<ARect>())).top as *const _ as usize },
6687         4usize,
6688         concat!(
6689             "Offset of field: ",
6690             stringify!(ARect),
6691             "::",
6692             stringify!(top)
6693         )
6694     );
6695     assert_eq!(
6696         unsafe { &(*(::std::ptr::null::<ARect>())).right as *const _ as usize },
6697         8usize,
6698         concat!(
6699             "Offset of field: ",
6700             stringify!(ARect),
6701             "::",
6702             stringify!(right)
6703         )
6704     );
6705     assert_eq!(
6706         unsafe { &(*(::std::ptr::null::<ARect>())).bottom as *const _ as usize },
6707         12usize,
6708         concat!(
6709             "Offset of field: ",
6710             stringify!(ARect),
6711             "::",
6712             stringify!(bottom)
6713         )
6714     );
6715 }
6716 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format = 1;
6717 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format = 2;
6718 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format = 3;
6719 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format = 4;
6720 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
6721     22;
6722 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
6723     43;
6724 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = 33;
6725 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = 48;
6726 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = 49;
6727 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
6728     50;
6729 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = 51;
6730 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
6731     52;
6732 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = 53;
6733 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format = 35;
6734 pub type AHardwareBuffer_Format = u32;
6735 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_NEVER:
6736     AHardwareBuffer_UsageFlags = 0;
6737 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_RARELY:
6738     AHardwareBuffer_UsageFlags = 2;
6739 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN:
6740     AHardwareBuffer_UsageFlags = 3;
6741 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_MASK:
6742     AHardwareBuffer_UsageFlags = 15;
6743 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER:
6744     AHardwareBuffer_UsageFlags = 0;
6745 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY:
6746     AHardwareBuffer_UsageFlags = 32;
6747 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN:
6748     AHardwareBuffer_UsageFlags = 48;
6749 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK:
6750     AHardwareBuffer_UsageFlags = 240;
6751 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE:
6752     AHardwareBuffer_UsageFlags = 256;
6753 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER:
6754     AHardwareBuffer_UsageFlags = 512;
6755 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT:
6756     AHardwareBuffer_UsageFlags = 512;
6757 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY:
6758     AHardwareBuffer_UsageFlags = 2048;
6759 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT:
6760     AHardwareBuffer_UsageFlags = 16384;
6761 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VIDEO_ENCODE:
6762     AHardwareBuffer_UsageFlags = 65536;
6763 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA:
6764     AHardwareBuffer_UsageFlags = 8388608;
6765 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER:
6766     AHardwareBuffer_UsageFlags = 16777216;
6767 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP:
6768     AHardwareBuffer_UsageFlags = 33554432;
6769 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE:
6770     AHardwareBuffer_UsageFlags = 67108864;
6771 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
6772     268435456;
6773 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
6774     536870912;
6775 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
6776     1073741824;
6777 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
6778     2147483648;
6779 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
6780     281474976710656;
6781 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
6782     562949953421312;
6783 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
6784     1125899906842624;
6785 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
6786     2251799813685248;
6787 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
6788     4503599627370496;
6789 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
6790     9007199254740992;
6791 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
6792     18014398509481984;
6793 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
6794     36028797018963968;
6795 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
6796     72057594037927936;
6797 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
6798     144115188075855872;
6799 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
6800     288230376151711744;
6801 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
6802     576460752303423488;
6803 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
6804     1152921504606846976;
6805 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
6806     2305843009213693952;
6807 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
6808     4611686018427387904;
6809 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
6810     9223372036854775808;
6811 pub type AHardwareBuffer_UsageFlags = u64;
6812 #[repr(C)]
6813 #[derive(Debug, Copy, Clone)]
6814 pub struct AHardwareBuffer_Desc {
6815     pub width: u32,
6816     pub height: u32,
6817     pub layers: u32,
6818     pub format: u32,
6819     pub usage: u64,
6820     pub stride: u32,
6821     pub rfu0: u32,
6822     pub rfu1: u64,
6823 }
6824 #[test]
bindgen_test_layout_AHardwareBuffer_Desc()6825 fn bindgen_test_layout_AHardwareBuffer_Desc() {
6826     assert_eq!(
6827         ::std::mem::size_of::<AHardwareBuffer_Desc>(),
6828         40usize,
6829         concat!("Size of: ", stringify!(AHardwareBuffer_Desc))
6830     );
6831     assert_eq!(
6832         ::std::mem::align_of::<AHardwareBuffer_Desc>(),
6833         8usize,
6834         concat!("Alignment of ", stringify!(AHardwareBuffer_Desc))
6835     );
6836     assert_eq!(
6837         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).width as *const _ as usize },
6838         0usize,
6839         concat!(
6840             "Offset of field: ",
6841             stringify!(AHardwareBuffer_Desc),
6842             "::",
6843             stringify!(width)
6844         )
6845     );
6846     assert_eq!(
6847         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).height as *const _ as usize },
6848         4usize,
6849         concat!(
6850             "Offset of field: ",
6851             stringify!(AHardwareBuffer_Desc),
6852             "::",
6853             stringify!(height)
6854         )
6855     );
6856     assert_eq!(
6857         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).layers as *const _ as usize },
6858         8usize,
6859         concat!(
6860             "Offset of field: ",
6861             stringify!(AHardwareBuffer_Desc),
6862             "::",
6863             stringify!(layers)
6864         )
6865     );
6866     assert_eq!(
6867         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).format as *const _ as usize },
6868         12usize,
6869         concat!(
6870             "Offset of field: ",
6871             stringify!(AHardwareBuffer_Desc),
6872             "::",
6873             stringify!(format)
6874         )
6875     );
6876     assert_eq!(
6877         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).usage as *const _ as usize },
6878         16usize,
6879         concat!(
6880             "Offset of field: ",
6881             stringify!(AHardwareBuffer_Desc),
6882             "::",
6883             stringify!(usage)
6884         )
6885     );
6886     assert_eq!(
6887         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).stride as *const _ as usize },
6888         24usize,
6889         concat!(
6890             "Offset of field: ",
6891             stringify!(AHardwareBuffer_Desc),
6892             "::",
6893             stringify!(stride)
6894         )
6895     );
6896     assert_eq!(
6897         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu0 as *const _ as usize },
6898         28usize,
6899         concat!(
6900             "Offset of field: ",
6901             stringify!(AHardwareBuffer_Desc),
6902             "::",
6903             stringify!(rfu0)
6904         )
6905     );
6906     assert_eq!(
6907         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu1 as *const _ as usize },
6908         32usize,
6909         concat!(
6910             "Offset of field: ",
6911             stringify!(AHardwareBuffer_Desc),
6912             "::",
6913             stringify!(rfu1)
6914         )
6915     );
6916 }
6917 #[repr(C)]
6918 #[derive(Debug, Copy, Clone)]
6919 pub struct AHardwareBuffer_Plane {
6920     pub data: *mut ::std::os::raw::c_void,
6921     pub pixelStride: u32,
6922     pub rowStride: u32,
6923 }
6924 #[test]
bindgen_test_layout_AHardwareBuffer_Plane()6925 fn bindgen_test_layout_AHardwareBuffer_Plane() {
6926     assert_eq!(
6927         ::std::mem::size_of::<AHardwareBuffer_Plane>(),
6928         16usize,
6929         concat!("Size of: ", stringify!(AHardwareBuffer_Plane))
6930     );
6931     assert_eq!(
6932         ::std::mem::align_of::<AHardwareBuffer_Plane>(),
6933         8usize,
6934         concat!("Alignment of ", stringify!(AHardwareBuffer_Plane))
6935     );
6936     assert_eq!(
6937         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).data as *const _ as usize },
6938         0usize,
6939         concat!(
6940             "Offset of field: ",
6941             stringify!(AHardwareBuffer_Plane),
6942             "::",
6943             stringify!(data)
6944         )
6945     );
6946     assert_eq!(
6947         unsafe {
6948             &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).pixelStride as *const _ as usize
6949         },
6950         8usize,
6951         concat!(
6952             "Offset of field: ",
6953             stringify!(AHardwareBuffer_Plane),
6954             "::",
6955             stringify!(pixelStride)
6956         )
6957     );
6958     assert_eq!(
6959         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).rowStride as *const _ as usize },
6960         12usize,
6961         concat!(
6962             "Offset of field: ",
6963             stringify!(AHardwareBuffer_Plane),
6964             "::",
6965             stringify!(rowStride)
6966         )
6967     );
6968 }
6969 #[repr(C)]
6970 #[derive(Debug, Copy, Clone)]
6971 pub struct AHardwareBuffer_Planes {
6972     pub planeCount: u32,
6973     pub planes: [AHardwareBuffer_Plane; 4usize],
6974 }
6975 #[test]
bindgen_test_layout_AHardwareBuffer_Planes()6976 fn bindgen_test_layout_AHardwareBuffer_Planes() {
6977     assert_eq!(
6978         ::std::mem::size_of::<AHardwareBuffer_Planes>(),
6979         72usize,
6980         concat!("Size of: ", stringify!(AHardwareBuffer_Planes))
6981     );
6982     assert_eq!(
6983         ::std::mem::align_of::<AHardwareBuffer_Planes>(),
6984         8usize,
6985         concat!("Alignment of ", stringify!(AHardwareBuffer_Planes))
6986     );
6987     assert_eq!(
6988         unsafe {
6989             &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planeCount as *const _ as usize
6990         },
6991         0usize,
6992         concat!(
6993             "Offset of field: ",
6994             stringify!(AHardwareBuffer_Planes),
6995             "::",
6996             stringify!(planeCount)
6997         )
6998     );
6999     assert_eq!(
7000         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planes as *const _ as usize },
7001         8usize,
7002         concat!(
7003             "Offset of field: ",
7004             stringify!(AHardwareBuffer_Planes),
7005             "::",
7006             stringify!(planes)
7007         )
7008     );
7009 }
7010 #[repr(C)]
7011 #[derive(Debug, Copy, Clone)]
7012 pub struct AHardwareBuffer {
7013     _unused: [u8; 0],
7014 }
7015 extern "C" {
AHardwareBuffer_allocate( desc: *const AHardwareBuffer_Desc, outBuffer: *mut *mut AHardwareBuffer, ) -> ::std::os::raw::c_int7016     pub fn AHardwareBuffer_allocate(
7017         desc: *const AHardwareBuffer_Desc,
7018         outBuffer: *mut *mut AHardwareBuffer,
7019     ) -> ::std::os::raw::c_int;
7020 }
7021 extern "C" {
AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer)7022     pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
7023 }
7024 extern "C" {
AHardwareBuffer_release(buffer: *mut AHardwareBuffer)7025     pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
7026 }
7027 extern "C" {
AHardwareBuffer_describe( buffer: *const AHardwareBuffer, outDesc: *mut AHardwareBuffer_Desc, )7028     pub fn AHardwareBuffer_describe(
7029         buffer: *const AHardwareBuffer,
7030         outDesc: *mut AHardwareBuffer_Desc,
7031     );
7032 }
7033 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_int7034     pub fn AHardwareBuffer_lock(
7035         buffer: *mut AHardwareBuffer,
7036         usage: u64,
7037         fence: i32,
7038         rect: *const ARect,
7039         outVirtualAddress: *mut *mut ::std::os::raw::c_void,
7040     ) -> ::std::os::raw::c_int;
7041 }
7042 extern "C" {
AHardwareBuffer_lockPlanes( buffer: *mut AHardwareBuffer, usage: u64, fence: i32, rect: *const ARect, outPlanes: *mut AHardwareBuffer_Planes, ) -> ::std::os::raw::c_int7043     pub fn AHardwareBuffer_lockPlanes(
7044         buffer: *mut AHardwareBuffer,
7045         usage: u64,
7046         fence: i32,
7047         rect: *const ARect,
7048         outPlanes: *mut AHardwareBuffer_Planes,
7049     ) -> ::std::os::raw::c_int;
7050 }
7051 extern "C" {
AHardwareBuffer_unlock( buffer: *mut AHardwareBuffer, fence: *mut i32, ) -> ::std::os::raw::c_int7052     pub fn AHardwareBuffer_unlock(
7053         buffer: *mut AHardwareBuffer,
7054         fence: *mut i32,
7055     ) -> ::std::os::raw::c_int;
7056 }
7057 extern "C" {
AHardwareBuffer_sendHandleToUnixSocket( buffer: *const AHardwareBuffer, socketFd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int7058     pub fn AHardwareBuffer_sendHandleToUnixSocket(
7059         buffer: *const AHardwareBuffer,
7060         socketFd: ::std::os::raw::c_int,
7061     ) -> ::std::os::raw::c_int;
7062 }
7063 extern "C" {
AHardwareBuffer_recvHandleFromUnixSocket( socketFd: ::std::os::raw::c_int, outBuffer: *mut *mut AHardwareBuffer, ) -> ::std::os::raw::c_int7064     pub fn AHardwareBuffer_recvHandleFromUnixSocket(
7065         socketFd: ::std::os::raw::c_int,
7066         outBuffer: *mut *mut AHardwareBuffer,
7067     ) -> ::std::os::raw::c_int;
7068 }
7069 extern "C" {
AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int7070     pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
7071 }
7072 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_int7073     pub fn AHardwareBuffer_lockAndGetInfo(
7074         buffer: *mut AHardwareBuffer,
7075         usage: u64,
7076         fence: i32,
7077         rect: *const ARect,
7078         outVirtualAddress: *mut *mut ::std::os::raw::c_void,
7079         outBytesPerPixel: *mut i32,
7080         outBytesPerStride: *mut i32,
7081     ) -> ::std::os::raw::c_int;
7082 }
7083 extern "C" {
AHardwareBuffer_fromHardwareBuffer( env: *mut JNIEnv, hardwareBufferObj: jobject, ) -> *mut AHardwareBuffer7084     pub fn AHardwareBuffer_fromHardwareBuffer(
7085         env: *mut JNIEnv,
7086         hardwareBufferObj: jobject,
7087     ) -> *mut AHardwareBuffer;
7088 }
7089 extern "C" {
AHardwareBuffer_toHardwareBuffer( env: *mut JNIEnv, hardwareBuffer: *mut AHardwareBuffer, ) -> jobject7090     pub fn AHardwareBuffer_toHardwareBuffer(
7091         env: *mut JNIEnv,
7092         hardwareBuffer: *mut AHardwareBuffer,
7093     ) -> jobject;
7094 }
7095 pub const AKEYCODE_UNKNOWN: _bindgen_ty_5 = 0;
7096 pub const AKEYCODE_SOFT_LEFT: _bindgen_ty_5 = 1;
7097 pub const AKEYCODE_SOFT_RIGHT: _bindgen_ty_5 = 2;
7098 pub const AKEYCODE_HOME: _bindgen_ty_5 = 3;
7099 pub const AKEYCODE_BACK: _bindgen_ty_5 = 4;
7100 pub const AKEYCODE_CALL: _bindgen_ty_5 = 5;
7101 pub const AKEYCODE_ENDCALL: _bindgen_ty_5 = 6;
7102 pub const AKEYCODE_0: _bindgen_ty_5 = 7;
7103 pub const AKEYCODE_1: _bindgen_ty_5 = 8;
7104 pub const AKEYCODE_2: _bindgen_ty_5 = 9;
7105 pub const AKEYCODE_3: _bindgen_ty_5 = 10;
7106 pub const AKEYCODE_4: _bindgen_ty_5 = 11;
7107 pub const AKEYCODE_5: _bindgen_ty_5 = 12;
7108 pub const AKEYCODE_6: _bindgen_ty_5 = 13;
7109 pub const AKEYCODE_7: _bindgen_ty_5 = 14;
7110 pub const AKEYCODE_8: _bindgen_ty_5 = 15;
7111 pub const AKEYCODE_9: _bindgen_ty_5 = 16;
7112 pub const AKEYCODE_STAR: _bindgen_ty_5 = 17;
7113 pub const AKEYCODE_POUND: _bindgen_ty_5 = 18;
7114 pub const AKEYCODE_DPAD_UP: _bindgen_ty_5 = 19;
7115 pub const AKEYCODE_DPAD_DOWN: _bindgen_ty_5 = 20;
7116 pub const AKEYCODE_DPAD_LEFT: _bindgen_ty_5 = 21;
7117 pub const AKEYCODE_DPAD_RIGHT: _bindgen_ty_5 = 22;
7118 pub const AKEYCODE_DPAD_CENTER: _bindgen_ty_5 = 23;
7119 pub const AKEYCODE_VOLUME_UP: _bindgen_ty_5 = 24;
7120 pub const AKEYCODE_VOLUME_DOWN: _bindgen_ty_5 = 25;
7121 pub const AKEYCODE_POWER: _bindgen_ty_5 = 26;
7122 pub const AKEYCODE_CAMERA: _bindgen_ty_5 = 27;
7123 pub const AKEYCODE_CLEAR: _bindgen_ty_5 = 28;
7124 pub const AKEYCODE_A: _bindgen_ty_5 = 29;
7125 pub const AKEYCODE_B: _bindgen_ty_5 = 30;
7126 pub const AKEYCODE_C: _bindgen_ty_5 = 31;
7127 pub const AKEYCODE_D: _bindgen_ty_5 = 32;
7128 pub const AKEYCODE_E: _bindgen_ty_5 = 33;
7129 pub const AKEYCODE_F: _bindgen_ty_5 = 34;
7130 pub const AKEYCODE_G: _bindgen_ty_5 = 35;
7131 pub const AKEYCODE_H: _bindgen_ty_5 = 36;
7132 pub const AKEYCODE_I: _bindgen_ty_5 = 37;
7133 pub const AKEYCODE_J: _bindgen_ty_5 = 38;
7134 pub const AKEYCODE_K: _bindgen_ty_5 = 39;
7135 pub const AKEYCODE_L: _bindgen_ty_5 = 40;
7136 pub const AKEYCODE_M: _bindgen_ty_5 = 41;
7137 pub const AKEYCODE_N: _bindgen_ty_5 = 42;
7138 pub const AKEYCODE_O: _bindgen_ty_5 = 43;
7139 pub const AKEYCODE_P: _bindgen_ty_5 = 44;
7140 pub const AKEYCODE_Q: _bindgen_ty_5 = 45;
7141 pub const AKEYCODE_R: _bindgen_ty_5 = 46;
7142 pub const AKEYCODE_S: _bindgen_ty_5 = 47;
7143 pub const AKEYCODE_T: _bindgen_ty_5 = 48;
7144 pub const AKEYCODE_U: _bindgen_ty_5 = 49;
7145 pub const AKEYCODE_V: _bindgen_ty_5 = 50;
7146 pub const AKEYCODE_W: _bindgen_ty_5 = 51;
7147 pub const AKEYCODE_X: _bindgen_ty_5 = 52;
7148 pub const AKEYCODE_Y: _bindgen_ty_5 = 53;
7149 pub const AKEYCODE_Z: _bindgen_ty_5 = 54;
7150 pub const AKEYCODE_COMMA: _bindgen_ty_5 = 55;
7151 pub const AKEYCODE_PERIOD: _bindgen_ty_5 = 56;
7152 pub const AKEYCODE_ALT_LEFT: _bindgen_ty_5 = 57;
7153 pub const AKEYCODE_ALT_RIGHT: _bindgen_ty_5 = 58;
7154 pub const AKEYCODE_SHIFT_LEFT: _bindgen_ty_5 = 59;
7155 pub const AKEYCODE_SHIFT_RIGHT: _bindgen_ty_5 = 60;
7156 pub const AKEYCODE_TAB: _bindgen_ty_5 = 61;
7157 pub const AKEYCODE_SPACE: _bindgen_ty_5 = 62;
7158 pub const AKEYCODE_SYM: _bindgen_ty_5 = 63;
7159 pub const AKEYCODE_EXPLORER: _bindgen_ty_5 = 64;
7160 pub const AKEYCODE_ENVELOPE: _bindgen_ty_5 = 65;
7161 pub const AKEYCODE_ENTER: _bindgen_ty_5 = 66;
7162 pub const AKEYCODE_DEL: _bindgen_ty_5 = 67;
7163 pub const AKEYCODE_GRAVE: _bindgen_ty_5 = 68;
7164 pub const AKEYCODE_MINUS: _bindgen_ty_5 = 69;
7165 pub const AKEYCODE_EQUALS: _bindgen_ty_5 = 70;
7166 pub const AKEYCODE_LEFT_BRACKET: _bindgen_ty_5 = 71;
7167 pub const AKEYCODE_RIGHT_BRACKET: _bindgen_ty_5 = 72;
7168 pub const AKEYCODE_BACKSLASH: _bindgen_ty_5 = 73;
7169 pub const AKEYCODE_SEMICOLON: _bindgen_ty_5 = 74;
7170 pub const AKEYCODE_APOSTROPHE: _bindgen_ty_5 = 75;
7171 pub const AKEYCODE_SLASH: _bindgen_ty_5 = 76;
7172 pub const AKEYCODE_AT: _bindgen_ty_5 = 77;
7173 pub const AKEYCODE_NUM: _bindgen_ty_5 = 78;
7174 pub const AKEYCODE_HEADSETHOOK: _bindgen_ty_5 = 79;
7175 pub const AKEYCODE_FOCUS: _bindgen_ty_5 = 80;
7176 pub const AKEYCODE_PLUS: _bindgen_ty_5 = 81;
7177 pub const AKEYCODE_MENU: _bindgen_ty_5 = 82;
7178 pub const AKEYCODE_NOTIFICATION: _bindgen_ty_5 = 83;
7179 pub const AKEYCODE_SEARCH: _bindgen_ty_5 = 84;
7180 pub const AKEYCODE_MEDIA_PLAY_PAUSE: _bindgen_ty_5 = 85;
7181 pub const AKEYCODE_MEDIA_STOP: _bindgen_ty_5 = 86;
7182 pub const AKEYCODE_MEDIA_NEXT: _bindgen_ty_5 = 87;
7183 pub const AKEYCODE_MEDIA_PREVIOUS: _bindgen_ty_5 = 88;
7184 pub const AKEYCODE_MEDIA_REWIND: _bindgen_ty_5 = 89;
7185 pub const AKEYCODE_MEDIA_FAST_FORWARD: _bindgen_ty_5 = 90;
7186 pub const AKEYCODE_MUTE: _bindgen_ty_5 = 91;
7187 pub const AKEYCODE_PAGE_UP: _bindgen_ty_5 = 92;
7188 pub const AKEYCODE_PAGE_DOWN: _bindgen_ty_5 = 93;
7189 pub const AKEYCODE_PICTSYMBOLS: _bindgen_ty_5 = 94;
7190 pub const AKEYCODE_SWITCH_CHARSET: _bindgen_ty_5 = 95;
7191 pub const AKEYCODE_BUTTON_A: _bindgen_ty_5 = 96;
7192 pub const AKEYCODE_BUTTON_B: _bindgen_ty_5 = 97;
7193 pub const AKEYCODE_BUTTON_C: _bindgen_ty_5 = 98;
7194 pub const AKEYCODE_BUTTON_X: _bindgen_ty_5 = 99;
7195 pub const AKEYCODE_BUTTON_Y: _bindgen_ty_5 = 100;
7196 pub const AKEYCODE_BUTTON_Z: _bindgen_ty_5 = 101;
7197 pub const AKEYCODE_BUTTON_L1: _bindgen_ty_5 = 102;
7198 pub const AKEYCODE_BUTTON_R1: _bindgen_ty_5 = 103;
7199 pub const AKEYCODE_BUTTON_L2: _bindgen_ty_5 = 104;
7200 pub const AKEYCODE_BUTTON_R2: _bindgen_ty_5 = 105;
7201 pub const AKEYCODE_BUTTON_THUMBL: _bindgen_ty_5 = 106;
7202 pub const AKEYCODE_BUTTON_THUMBR: _bindgen_ty_5 = 107;
7203 pub const AKEYCODE_BUTTON_START: _bindgen_ty_5 = 108;
7204 pub const AKEYCODE_BUTTON_SELECT: _bindgen_ty_5 = 109;
7205 pub const AKEYCODE_BUTTON_MODE: _bindgen_ty_5 = 110;
7206 pub const AKEYCODE_ESCAPE: _bindgen_ty_5 = 111;
7207 pub const AKEYCODE_FORWARD_DEL: _bindgen_ty_5 = 112;
7208 pub const AKEYCODE_CTRL_LEFT: _bindgen_ty_5 = 113;
7209 pub const AKEYCODE_CTRL_RIGHT: _bindgen_ty_5 = 114;
7210 pub const AKEYCODE_CAPS_LOCK: _bindgen_ty_5 = 115;
7211 pub const AKEYCODE_SCROLL_LOCK: _bindgen_ty_5 = 116;
7212 pub const AKEYCODE_META_LEFT: _bindgen_ty_5 = 117;
7213 pub const AKEYCODE_META_RIGHT: _bindgen_ty_5 = 118;
7214 pub const AKEYCODE_FUNCTION: _bindgen_ty_5 = 119;
7215 pub const AKEYCODE_SYSRQ: _bindgen_ty_5 = 120;
7216 pub const AKEYCODE_BREAK: _bindgen_ty_5 = 121;
7217 pub const AKEYCODE_MOVE_HOME: _bindgen_ty_5 = 122;
7218 pub const AKEYCODE_MOVE_END: _bindgen_ty_5 = 123;
7219 pub const AKEYCODE_INSERT: _bindgen_ty_5 = 124;
7220 pub const AKEYCODE_FORWARD: _bindgen_ty_5 = 125;
7221 pub const AKEYCODE_MEDIA_PLAY: _bindgen_ty_5 = 126;
7222 pub const AKEYCODE_MEDIA_PAUSE: _bindgen_ty_5 = 127;
7223 pub const AKEYCODE_MEDIA_CLOSE: _bindgen_ty_5 = 128;
7224 pub const AKEYCODE_MEDIA_EJECT: _bindgen_ty_5 = 129;
7225 pub const AKEYCODE_MEDIA_RECORD: _bindgen_ty_5 = 130;
7226 pub const AKEYCODE_F1: _bindgen_ty_5 = 131;
7227 pub const AKEYCODE_F2: _bindgen_ty_5 = 132;
7228 pub const AKEYCODE_F3: _bindgen_ty_5 = 133;
7229 pub const AKEYCODE_F4: _bindgen_ty_5 = 134;
7230 pub const AKEYCODE_F5: _bindgen_ty_5 = 135;
7231 pub const AKEYCODE_F6: _bindgen_ty_5 = 136;
7232 pub const AKEYCODE_F7: _bindgen_ty_5 = 137;
7233 pub const AKEYCODE_F8: _bindgen_ty_5 = 138;
7234 pub const AKEYCODE_F9: _bindgen_ty_5 = 139;
7235 pub const AKEYCODE_F10: _bindgen_ty_5 = 140;
7236 pub const AKEYCODE_F11: _bindgen_ty_5 = 141;
7237 pub const AKEYCODE_F12: _bindgen_ty_5 = 142;
7238 pub const AKEYCODE_NUM_LOCK: _bindgen_ty_5 = 143;
7239 pub const AKEYCODE_NUMPAD_0: _bindgen_ty_5 = 144;
7240 pub const AKEYCODE_NUMPAD_1: _bindgen_ty_5 = 145;
7241 pub const AKEYCODE_NUMPAD_2: _bindgen_ty_5 = 146;
7242 pub const AKEYCODE_NUMPAD_3: _bindgen_ty_5 = 147;
7243 pub const AKEYCODE_NUMPAD_4: _bindgen_ty_5 = 148;
7244 pub const AKEYCODE_NUMPAD_5: _bindgen_ty_5 = 149;
7245 pub const AKEYCODE_NUMPAD_6: _bindgen_ty_5 = 150;
7246 pub const AKEYCODE_NUMPAD_7: _bindgen_ty_5 = 151;
7247 pub const AKEYCODE_NUMPAD_8: _bindgen_ty_5 = 152;
7248 pub const AKEYCODE_NUMPAD_9: _bindgen_ty_5 = 153;
7249 pub const AKEYCODE_NUMPAD_DIVIDE: _bindgen_ty_5 = 154;
7250 pub const AKEYCODE_NUMPAD_MULTIPLY: _bindgen_ty_5 = 155;
7251 pub const AKEYCODE_NUMPAD_SUBTRACT: _bindgen_ty_5 = 156;
7252 pub const AKEYCODE_NUMPAD_ADD: _bindgen_ty_5 = 157;
7253 pub const AKEYCODE_NUMPAD_DOT: _bindgen_ty_5 = 158;
7254 pub const AKEYCODE_NUMPAD_COMMA: _bindgen_ty_5 = 159;
7255 pub const AKEYCODE_NUMPAD_ENTER: _bindgen_ty_5 = 160;
7256 pub const AKEYCODE_NUMPAD_EQUALS: _bindgen_ty_5 = 161;
7257 pub const AKEYCODE_NUMPAD_LEFT_PAREN: _bindgen_ty_5 = 162;
7258 pub const AKEYCODE_NUMPAD_RIGHT_PAREN: _bindgen_ty_5 = 163;
7259 pub const AKEYCODE_VOLUME_MUTE: _bindgen_ty_5 = 164;
7260 pub const AKEYCODE_INFO: _bindgen_ty_5 = 165;
7261 pub const AKEYCODE_CHANNEL_UP: _bindgen_ty_5 = 166;
7262 pub const AKEYCODE_CHANNEL_DOWN: _bindgen_ty_5 = 167;
7263 pub const AKEYCODE_ZOOM_IN: _bindgen_ty_5 = 168;
7264 pub const AKEYCODE_ZOOM_OUT: _bindgen_ty_5 = 169;
7265 pub const AKEYCODE_TV: _bindgen_ty_5 = 170;
7266 pub const AKEYCODE_WINDOW: _bindgen_ty_5 = 171;
7267 pub const AKEYCODE_GUIDE: _bindgen_ty_5 = 172;
7268 pub const AKEYCODE_DVR: _bindgen_ty_5 = 173;
7269 pub const AKEYCODE_BOOKMARK: _bindgen_ty_5 = 174;
7270 pub const AKEYCODE_CAPTIONS: _bindgen_ty_5 = 175;
7271 pub const AKEYCODE_SETTINGS: _bindgen_ty_5 = 176;
7272 pub const AKEYCODE_TV_POWER: _bindgen_ty_5 = 177;
7273 pub const AKEYCODE_TV_INPUT: _bindgen_ty_5 = 178;
7274 pub const AKEYCODE_STB_POWER: _bindgen_ty_5 = 179;
7275 pub const AKEYCODE_STB_INPUT: _bindgen_ty_5 = 180;
7276 pub const AKEYCODE_AVR_POWER: _bindgen_ty_5 = 181;
7277 pub const AKEYCODE_AVR_INPUT: _bindgen_ty_5 = 182;
7278 pub const AKEYCODE_PROG_RED: _bindgen_ty_5 = 183;
7279 pub const AKEYCODE_PROG_GREEN: _bindgen_ty_5 = 184;
7280 pub const AKEYCODE_PROG_YELLOW: _bindgen_ty_5 = 185;
7281 pub const AKEYCODE_PROG_BLUE: _bindgen_ty_5 = 186;
7282 pub const AKEYCODE_APP_SWITCH: _bindgen_ty_5 = 187;
7283 pub const AKEYCODE_BUTTON_1: _bindgen_ty_5 = 188;
7284 pub const AKEYCODE_BUTTON_2: _bindgen_ty_5 = 189;
7285 pub const AKEYCODE_BUTTON_3: _bindgen_ty_5 = 190;
7286 pub const AKEYCODE_BUTTON_4: _bindgen_ty_5 = 191;
7287 pub const AKEYCODE_BUTTON_5: _bindgen_ty_5 = 192;
7288 pub const AKEYCODE_BUTTON_6: _bindgen_ty_5 = 193;
7289 pub const AKEYCODE_BUTTON_7: _bindgen_ty_5 = 194;
7290 pub const AKEYCODE_BUTTON_8: _bindgen_ty_5 = 195;
7291 pub const AKEYCODE_BUTTON_9: _bindgen_ty_5 = 196;
7292 pub const AKEYCODE_BUTTON_10: _bindgen_ty_5 = 197;
7293 pub const AKEYCODE_BUTTON_11: _bindgen_ty_5 = 198;
7294 pub const AKEYCODE_BUTTON_12: _bindgen_ty_5 = 199;
7295 pub const AKEYCODE_BUTTON_13: _bindgen_ty_5 = 200;
7296 pub const AKEYCODE_BUTTON_14: _bindgen_ty_5 = 201;
7297 pub const AKEYCODE_BUTTON_15: _bindgen_ty_5 = 202;
7298 pub const AKEYCODE_BUTTON_16: _bindgen_ty_5 = 203;
7299 pub const AKEYCODE_LANGUAGE_SWITCH: _bindgen_ty_5 = 204;
7300 pub const AKEYCODE_MANNER_MODE: _bindgen_ty_5 = 205;
7301 pub const AKEYCODE_3D_MODE: _bindgen_ty_5 = 206;
7302 pub const AKEYCODE_CONTACTS: _bindgen_ty_5 = 207;
7303 pub const AKEYCODE_CALENDAR: _bindgen_ty_5 = 208;
7304 pub const AKEYCODE_MUSIC: _bindgen_ty_5 = 209;
7305 pub const AKEYCODE_CALCULATOR: _bindgen_ty_5 = 210;
7306 pub const AKEYCODE_ZENKAKU_HANKAKU: _bindgen_ty_5 = 211;
7307 pub const AKEYCODE_EISU: _bindgen_ty_5 = 212;
7308 pub const AKEYCODE_MUHENKAN: _bindgen_ty_5 = 213;
7309 pub const AKEYCODE_HENKAN: _bindgen_ty_5 = 214;
7310 pub const AKEYCODE_KATAKANA_HIRAGANA: _bindgen_ty_5 = 215;
7311 pub const AKEYCODE_YEN: _bindgen_ty_5 = 216;
7312 pub const AKEYCODE_RO: _bindgen_ty_5 = 217;
7313 pub const AKEYCODE_KANA: _bindgen_ty_5 = 218;
7314 pub const AKEYCODE_ASSIST: _bindgen_ty_5 = 219;
7315 pub const AKEYCODE_BRIGHTNESS_DOWN: _bindgen_ty_5 = 220;
7316 pub const AKEYCODE_BRIGHTNESS_UP: _bindgen_ty_5 = 221;
7317 pub const AKEYCODE_MEDIA_AUDIO_TRACK: _bindgen_ty_5 = 222;
7318 pub const AKEYCODE_SLEEP: _bindgen_ty_5 = 223;
7319 pub const AKEYCODE_WAKEUP: _bindgen_ty_5 = 224;
7320 pub const AKEYCODE_PAIRING: _bindgen_ty_5 = 225;
7321 pub const AKEYCODE_MEDIA_TOP_MENU: _bindgen_ty_5 = 226;
7322 pub const AKEYCODE_11: _bindgen_ty_5 = 227;
7323 pub const AKEYCODE_12: _bindgen_ty_5 = 228;
7324 pub const AKEYCODE_LAST_CHANNEL: _bindgen_ty_5 = 229;
7325 pub const AKEYCODE_TV_DATA_SERVICE: _bindgen_ty_5 = 230;
7326 pub const AKEYCODE_VOICE_ASSIST: _bindgen_ty_5 = 231;
7327 pub const AKEYCODE_TV_RADIO_SERVICE: _bindgen_ty_5 = 232;
7328 pub const AKEYCODE_TV_TELETEXT: _bindgen_ty_5 = 233;
7329 pub const AKEYCODE_TV_NUMBER_ENTRY: _bindgen_ty_5 = 234;
7330 pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: _bindgen_ty_5 = 235;
7331 pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: _bindgen_ty_5 = 236;
7332 pub const AKEYCODE_TV_SATELLITE: _bindgen_ty_5 = 237;
7333 pub const AKEYCODE_TV_SATELLITE_BS: _bindgen_ty_5 = 238;
7334 pub const AKEYCODE_TV_SATELLITE_CS: _bindgen_ty_5 = 239;
7335 pub const AKEYCODE_TV_SATELLITE_SERVICE: _bindgen_ty_5 = 240;
7336 pub const AKEYCODE_TV_NETWORK: _bindgen_ty_5 = 241;
7337 pub const AKEYCODE_TV_ANTENNA_CABLE: _bindgen_ty_5 = 242;
7338 pub const AKEYCODE_TV_INPUT_HDMI_1: _bindgen_ty_5 = 243;
7339 pub const AKEYCODE_TV_INPUT_HDMI_2: _bindgen_ty_5 = 244;
7340 pub const AKEYCODE_TV_INPUT_HDMI_3: _bindgen_ty_5 = 245;
7341 pub const AKEYCODE_TV_INPUT_HDMI_4: _bindgen_ty_5 = 246;
7342 pub const AKEYCODE_TV_INPUT_COMPOSITE_1: _bindgen_ty_5 = 247;
7343 pub const AKEYCODE_TV_INPUT_COMPOSITE_2: _bindgen_ty_5 = 248;
7344 pub const AKEYCODE_TV_INPUT_COMPONENT_1: _bindgen_ty_5 = 249;
7345 pub const AKEYCODE_TV_INPUT_COMPONENT_2: _bindgen_ty_5 = 250;
7346 pub const AKEYCODE_TV_INPUT_VGA_1: _bindgen_ty_5 = 251;
7347 pub const AKEYCODE_TV_AUDIO_DESCRIPTION: _bindgen_ty_5 = 252;
7348 pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: _bindgen_ty_5 = 253;
7349 pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: _bindgen_ty_5 = 254;
7350 pub const AKEYCODE_TV_ZOOM_MODE: _bindgen_ty_5 = 255;
7351 pub const AKEYCODE_TV_CONTENTS_MENU: _bindgen_ty_5 = 256;
7352 pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: _bindgen_ty_5 = 257;
7353 pub const AKEYCODE_TV_TIMER_PROGRAMMING: _bindgen_ty_5 = 258;
7354 pub const AKEYCODE_HELP: _bindgen_ty_5 = 259;
7355 pub const AKEYCODE_NAVIGATE_PREVIOUS: _bindgen_ty_5 = 260;
7356 pub const AKEYCODE_NAVIGATE_NEXT: _bindgen_ty_5 = 261;
7357 pub const AKEYCODE_NAVIGATE_IN: _bindgen_ty_5 = 262;
7358 pub const AKEYCODE_NAVIGATE_OUT: _bindgen_ty_5 = 263;
7359 pub const AKEYCODE_STEM_PRIMARY: _bindgen_ty_5 = 264;
7360 pub const AKEYCODE_STEM_1: _bindgen_ty_5 = 265;
7361 pub const AKEYCODE_STEM_2: _bindgen_ty_5 = 266;
7362 pub const AKEYCODE_STEM_3: _bindgen_ty_5 = 267;
7363 pub const AKEYCODE_DPAD_UP_LEFT: _bindgen_ty_5 = 268;
7364 pub const AKEYCODE_DPAD_DOWN_LEFT: _bindgen_ty_5 = 269;
7365 pub const AKEYCODE_DPAD_UP_RIGHT: _bindgen_ty_5 = 270;
7366 pub const AKEYCODE_DPAD_DOWN_RIGHT: _bindgen_ty_5 = 271;
7367 pub const AKEYCODE_MEDIA_SKIP_FORWARD: _bindgen_ty_5 = 272;
7368 pub const AKEYCODE_MEDIA_SKIP_BACKWARD: _bindgen_ty_5 = 273;
7369 pub const AKEYCODE_MEDIA_STEP_FORWARD: _bindgen_ty_5 = 274;
7370 pub const AKEYCODE_MEDIA_STEP_BACKWARD: _bindgen_ty_5 = 275;
7371 pub const AKEYCODE_SOFT_SLEEP: _bindgen_ty_5 = 276;
7372 pub const AKEYCODE_CUT: _bindgen_ty_5 = 277;
7373 pub const AKEYCODE_COPY: _bindgen_ty_5 = 278;
7374 pub const AKEYCODE_PASTE: _bindgen_ty_5 = 279;
7375 pub const AKEYCODE_SYSTEM_NAVIGATION_UP: _bindgen_ty_5 = 280;
7376 pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: _bindgen_ty_5 = 281;
7377 pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: _bindgen_ty_5 = 282;
7378 pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: _bindgen_ty_5 = 283;
7379 pub const AKEYCODE_ALL_APPS: _bindgen_ty_5 = 284;
7380 pub const AKEYCODE_REFRESH: _bindgen_ty_5 = 285;
7381 pub const AKEYCODE_THUMBS_UP: _bindgen_ty_5 = 286;
7382 pub const AKEYCODE_THUMBS_DOWN: _bindgen_ty_5 = 287;
7383 pub const AKEYCODE_PROFILE_SWITCH: _bindgen_ty_5 = 288;
7384 pub type _bindgen_ty_5 = u32;
7385 #[repr(C)]
7386 #[derive(Debug, Copy, Clone)]
7387 pub struct ALooper {
7388     _unused: [u8; 0],
7389 }
7390 extern "C" {
ALooper_forThread() -> *mut ALooper7391     pub fn ALooper_forThread() -> *mut ALooper;
7392 }
7393 pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: _bindgen_ty_6 = 1;
7394 pub type _bindgen_ty_6 = u32;
7395 extern "C" {
ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper7396     pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
7397 }
7398 pub const ALOOPER_POLL_WAKE: _bindgen_ty_7 = -1;
7399 pub const ALOOPER_POLL_CALLBACK: _bindgen_ty_7 = -2;
7400 pub const ALOOPER_POLL_TIMEOUT: _bindgen_ty_7 = -3;
7401 pub const ALOOPER_POLL_ERROR: _bindgen_ty_7 = -4;
7402 pub type _bindgen_ty_7 = i32;
7403 extern "C" {
ALooper_acquire(looper: *mut ALooper)7404     pub fn ALooper_acquire(looper: *mut ALooper);
7405 }
7406 extern "C" {
ALooper_release(looper: *mut ALooper)7407     pub fn ALooper_release(looper: *mut ALooper);
7408 }
7409 pub const ALOOPER_EVENT_INPUT: _bindgen_ty_8 = 1;
7410 pub const ALOOPER_EVENT_OUTPUT: _bindgen_ty_8 = 2;
7411 pub const ALOOPER_EVENT_ERROR: _bindgen_ty_8 = 4;
7412 pub const ALOOPER_EVENT_HANGUP: _bindgen_ty_8 = 8;
7413 pub const ALOOPER_EVENT_INVALID: _bindgen_ty_8 = 16;
7414 pub type _bindgen_ty_8 = u32;
7415 pub type ALooper_callbackFunc = ::std::option::Option<
7416     unsafe extern "C" fn(
7417         fd: ::std::os::raw::c_int,
7418         events: ::std::os::raw::c_int,
7419         data: *mut ::std::os::raw::c_void,
7420     ) -> ::std::os::raw::c_int,
7421 >;
7422 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_int7423     pub fn ALooper_pollOnce(
7424         timeoutMillis: ::std::os::raw::c_int,
7425         outFd: *mut ::std::os::raw::c_int,
7426         outEvents: *mut ::std::os::raw::c_int,
7427         outData: *mut *mut ::std::os::raw::c_void,
7428     ) -> ::std::os::raw::c_int;
7429 }
7430 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_int7431     pub fn ALooper_pollAll(
7432         timeoutMillis: ::std::os::raw::c_int,
7433         outFd: *mut ::std::os::raw::c_int,
7434         outEvents: *mut ::std::os::raw::c_int,
7435         outData: *mut *mut ::std::os::raw::c_void,
7436     ) -> ::std::os::raw::c_int;
7437 }
7438 extern "C" {
ALooper_wake(looper: *mut ALooper)7439     pub fn ALooper_wake(looper: *mut ALooper);
7440 }
7441 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_int7442     pub fn ALooper_addFd(
7443         looper: *mut ALooper,
7444         fd: ::std::os::raw::c_int,
7445         ident: ::std::os::raw::c_int,
7446         events: ::std::os::raw::c_int,
7447         callback: ALooper_callbackFunc,
7448         data: *mut ::std::os::raw::c_void,
7449     ) -> ::std::os::raw::c_int;
7450 }
7451 extern "C" {
ALooper_removeFd( looper: *mut ALooper, fd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int7452     pub fn ALooper_removeFd(
7453         looper: *mut ALooper,
7454         fd: ::std::os::raw::c_int,
7455     ) -> ::std::os::raw::c_int;
7456 }
7457 pub const AKEY_STATE_UNKNOWN: _bindgen_ty_9 = -1;
7458 pub const AKEY_STATE_UP: _bindgen_ty_9 = 0;
7459 pub const AKEY_STATE_DOWN: _bindgen_ty_9 = 1;
7460 pub const AKEY_STATE_VIRTUAL: _bindgen_ty_9 = 2;
7461 pub type _bindgen_ty_9 = i32;
7462 pub const AMETA_NONE: _bindgen_ty_10 = 0;
7463 pub const AMETA_ALT_ON: _bindgen_ty_10 = 2;
7464 pub const AMETA_ALT_LEFT_ON: _bindgen_ty_10 = 16;
7465 pub const AMETA_ALT_RIGHT_ON: _bindgen_ty_10 = 32;
7466 pub const AMETA_SHIFT_ON: _bindgen_ty_10 = 1;
7467 pub const AMETA_SHIFT_LEFT_ON: _bindgen_ty_10 = 64;
7468 pub const AMETA_SHIFT_RIGHT_ON: _bindgen_ty_10 = 128;
7469 pub const AMETA_SYM_ON: _bindgen_ty_10 = 4;
7470 pub const AMETA_FUNCTION_ON: _bindgen_ty_10 = 8;
7471 pub const AMETA_CTRL_ON: _bindgen_ty_10 = 4096;
7472 pub const AMETA_CTRL_LEFT_ON: _bindgen_ty_10 = 8192;
7473 pub const AMETA_CTRL_RIGHT_ON: _bindgen_ty_10 = 16384;
7474 pub const AMETA_META_ON: _bindgen_ty_10 = 65536;
7475 pub const AMETA_META_LEFT_ON: _bindgen_ty_10 = 131072;
7476 pub const AMETA_META_RIGHT_ON: _bindgen_ty_10 = 262144;
7477 pub const AMETA_CAPS_LOCK_ON: _bindgen_ty_10 = 1048576;
7478 pub const AMETA_NUM_LOCK_ON: _bindgen_ty_10 = 2097152;
7479 pub const AMETA_SCROLL_LOCK_ON: _bindgen_ty_10 = 4194304;
7480 pub type _bindgen_ty_10 = u32;
7481 #[repr(C)]
7482 #[derive(Debug, Copy, Clone)]
7483 pub struct AInputEvent {
7484     _unused: [u8; 0],
7485 }
7486 pub const AINPUT_EVENT_TYPE_KEY: _bindgen_ty_11 = 1;
7487 pub const AINPUT_EVENT_TYPE_MOTION: _bindgen_ty_11 = 2;
7488 pub type _bindgen_ty_11 = u32;
7489 pub const AKEY_EVENT_ACTION_DOWN: _bindgen_ty_12 = 0;
7490 pub const AKEY_EVENT_ACTION_UP: _bindgen_ty_12 = 1;
7491 pub const AKEY_EVENT_ACTION_MULTIPLE: _bindgen_ty_12 = 2;
7492 pub type _bindgen_ty_12 = u32;
7493 pub const AKEY_EVENT_FLAG_WOKE_HERE: _bindgen_ty_13 = 1;
7494 pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: _bindgen_ty_13 = 2;
7495 pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: _bindgen_ty_13 = 4;
7496 pub const AKEY_EVENT_FLAG_FROM_SYSTEM: _bindgen_ty_13 = 8;
7497 pub const AKEY_EVENT_FLAG_EDITOR_ACTION: _bindgen_ty_13 = 16;
7498 pub const AKEY_EVENT_FLAG_CANCELED: _bindgen_ty_13 = 32;
7499 pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: _bindgen_ty_13 = 64;
7500 pub const AKEY_EVENT_FLAG_LONG_PRESS: _bindgen_ty_13 = 128;
7501 pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: _bindgen_ty_13 = 256;
7502 pub const AKEY_EVENT_FLAG_TRACKING: _bindgen_ty_13 = 512;
7503 pub const AKEY_EVENT_FLAG_FALLBACK: _bindgen_ty_13 = 1024;
7504 pub type _bindgen_ty_13 = u32;
7505 pub const AMOTION_EVENT_ACTION_MASK: _bindgen_ty_14 = 255;
7506 pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: _bindgen_ty_14 = 65280;
7507 pub const AMOTION_EVENT_ACTION_DOWN: _bindgen_ty_14 = 0;
7508 pub const AMOTION_EVENT_ACTION_UP: _bindgen_ty_14 = 1;
7509 pub const AMOTION_EVENT_ACTION_MOVE: _bindgen_ty_14 = 2;
7510 pub const AMOTION_EVENT_ACTION_CANCEL: _bindgen_ty_14 = 3;
7511 pub const AMOTION_EVENT_ACTION_OUTSIDE: _bindgen_ty_14 = 4;
7512 pub const AMOTION_EVENT_ACTION_POINTER_DOWN: _bindgen_ty_14 = 5;
7513 pub const AMOTION_EVENT_ACTION_POINTER_UP: _bindgen_ty_14 = 6;
7514 pub const AMOTION_EVENT_ACTION_HOVER_MOVE: _bindgen_ty_14 = 7;
7515 pub const AMOTION_EVENT_ACTION_SCROLL: _bindgen_ty_14 = 8;
7516 pub const AMOTION_EVENT_ACTION_HOVER_ENTER: _bindgen_ty_14 = 9;
7517 pub const AMOTION_EVENT_ACTION_HOVER_EXIT: _bindgen_ty_14 = 10;
7518 pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: _bindgen_ty_14 = 11;
7519 pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: _bindgen_ty_14 = 12;
7520 pub type _bindgen_ty_14 = u32;
7521 pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: _bindgen_ty_15 = 1;
7522 pub type _bindgen_ty_15 = u32;
7523 pub const AMOTION_EVENT_EDGE_FLAG_NONE: _bindgen_ty_16 = 0;
7524 pub const AMOTION_EVENT_EDGE_FLAG_TOP: _bindgen_ty_16 = 1;
7525 pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: _bindgen_ty_16 = 2;
7526 pub const AMOTION_EVENT_EDGE_FLAG_LEFT: _bindgen_ty_16 = 4;
7527 pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: _bindgen_ty_16 = 8;
7528 pub type _bindgen_ty_16 = u32;
7529 pub const AMOTION_EVENT_AXIS_X: _bindgen_ty_17 = 0;
7530 pub const AMOTION_EVENT_AXIS_Y: _bindgen_ty_17 = 1;
7531 pub const AMOTION_EVENT_AXIS_PRESSURE: _bindgen_ty_17 = 2;
7532 pub const AMOTION_EVENT_AXIS_SIZE: _bindgen_ty_17 = 3;
7533 pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: _bindgen_ty_17 = 4;
7534 pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: _bindgen_ty_17 = 5;
7535 pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: _bindgen_ty_17 = 6;
7536 pub const AMOTION_EVENT_AXIS_TOOL_MINOR: _bindgen_ty_17 = 7;
7537 pub const AMOTION_EVENT_AXIS_ORIENTATION: _bindgen_ty_17 = 8;
7538 pub const AMOTION_EVENT_AXIS_VSCROLL: _bindgen_ty_17 = 9;
7539 pub const AMOTION_EVENT_AXIS_HSCROLL: _bindgen_ty_17 = 10;
7540 pub const AMOTION_EVENT_AXIS_Z: _bindgen_ty_17 = 11;
7541 pub const AMOTION_EVENT_AXIS_RX: _bindgen_ty_17 = 12;
7542 pub const AMOTION_EVENT_AXIS_RY: _bindgen_ty_17 = 13;
7543 pub const AMOTION_EVENT_AXIS_RZ: _bindgen_ty_17 = 14;
7544 pub const AMOTION_EVENT_AXIS_HAT_X: _bindgen_ty_17 = 15;
7545 pub const AMOTION_EVENT_AXIS_HAT_Y: _bindgen_ty_17 = 16;
7546 pub const AMOTION_EVENT_AXIS_LTRIGGER: _bindgen_ty_17 = 17;
7547 pub const AMOTION_EVENT_AXIS_RTRIGGER: _bindgen_ty_17 = 18;
7548 pub const AMOTION_EVENT_AXIS_THROTTLE: _bindgen_ty_17 = 19;
7549 pub const AMOTION_EVENT_AXIS_RUDDER: _bindgen_ty_17 = 20;
7550 pub const AMOTION_EVENT_AXIS_WHEEL: _bindgen_ty_17 = 21;
7551 pub const AMOTION_EVENT_AXIS_GAS: _bindgen_ty_17 = 22;
7552 pub const AMOTION_EVENT_AXIS_BRAKE: _bindgen_ty_17 = 23;
7553 pub const AMOTION_EVENT_AXIS_DISTANCE: _bindgen_ty_17 = 24;
7554 pub const AMOTION_EVENT_AXIS_TILT: _bindgen_ty_17 = 25;
7555 pub const AMOTION_EVENT_AXIS_SCROLL: _bindgen_ty_17 = 26;
7556 pub const AMOTION_EVENT_AXIS_RELATIVE_X: _bindgen_ty_17 = 27;
7557 pub const AMOTION_EVENT_AXIS_RELATIVE_Y: _bindgen_ty_17 = 28;
7558 pub const AMOTION_EVENT_AXIS_GENERIC_1: _bindgen_ty_17 = 32;
7559 pub const AMOTION_EVENT_AXIS_GENERIC_2: _bindgen_ty_17 = 33;
7560 pub const AMOTION_EVENT_AXIS_GENERIC_3: _bindgen_ty_17 = 34;
7561 pub const AMOTION_EVENT_AXIS_GENERIC_4: _bindgen_ty_17 = 35;
7562 pub const AMOTION_EVENT_AXIS_GENERIC_5: _bindgen_ty_17 = 36;
7563 pub const AMOTION_EVENT_AXIS_GENERIC_6: _bindgen_ty_17 = 37;
7564 pub const AMOTION_EVENT_AXIS_GENERIC_7: _bindgen_ty_17 = 38;
7565 pub const AMOTION_EVENT_AXIS_GENERIC_8: _bindgen_ty_17 = 39;
7566 pub const AMOTION_EVENT_AXIS_GENERIC_9: _bindgen_ty_17 = 40;
7567 pub const AMOTION_EVENT_AXIS_GENERIC_10: _bindgen_ty_17 = 41;
7568 pub const AMOTION_EVENT_AXIS_GENERIC_11: _bindgen_ty_17 = 42;
7569 pub const AMOTION_EVENT_AXIS_GENERIC_12: _bindgen_ty_17 = 43;
7570 pub const AMOTION_EVENT_AXIS_GENERIC_13: _bindgen_ty_17 = 44;
7571 pub const AMOTION_EVENT_AXIS_GENERIC_14: _bindgen_ty_17 = 45;
7572 pub const AMOTION_EVENT_AXIS_GENERIC_15: _bindgen_ty_17 = 46;
7573 pub const AMOTION_EVENT_AXIS_GENERIC_16: _bindgen_ty_17 = 47;
7574 pub type _bindgen_ty_17 = u32;
7575 pub const AMOTION_EVENT_BUTTON_PRIMARY: _bindgen_ty_18 = 1;
7576 pub const AMOTION_EVENT_BUTTON_SECONDARY: _bindgen_ty_18 = 2;
7577 pub const AMOTION_EVENT_BUTTON_TERTIARY: _bindgen_ty_18 = 4;
7578 pub const AMOTION_EVENT_BUTTON_BACK: _bindgen_ty_18 = 8;
7579 pub const AMOTION_EVENT_BUTTON_FORWARD: _bindgen_ty_18 = 16;
7580 pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: _bindgen_ty_18 = 32;
7581 pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: _bindgen_ty_18 = 64;
7582 pub type _bindgen_ty_18 = u32;
7583 pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_19 = 0;
7584 pub const AMOTION_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_19 = 1;
7585 pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: _bindgen_ty_19 = 2;
7586 pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_19 = 3;
7587 pub const AMOTION_EVENT_TOOL_TYPE_ERASER: _bindgen_ty_19 = 4;
7588 pub type _bindgen_ty_19 = u32;
7589 pub const AINPUT_SOURCE_CLASS_MASK: _bindgen_ty_20 = 255;
7590 pub const AINPUT_SOURCE_CLASS_NONE: _bindgen_ty_20 = 0;
7591 pub const AINPUT_SOURCE_CLASS_BUTTON: _bindgen_ty_20 = 1;
7592 pub const AINPUT_SOURCE_CLASS_POINTER: _bindgen_ty_20 = 2;
7593 pub const AINPUT_SOURCE_CLASS_NAVIGATION: _bindgen_ty_20 = 4;
7594 pub const AINPUT_SOURCE_CLASS_POSITION: _bindgen_ty_20 = 8;
7595 pub const AINPUT_SOURCE_CLASS_JOYSTICK: _bindgen_ty_20 = 16;
7596 pub type _bindgen_ty_20 = u32;
7597 pub const AINPUT_SOURCE_UNKNOWN: _bindgen_ty_21 = 0;
7598 pub const AINPUT_SOURCE_KEYBOARD: _bindgen_ty_21 = 257;
7599 pub const AINPUT_SOURCE_DPAD: _bindgen_ty_21 = 513;
7600 pub const AINPUT_SOURCE_GAMEPAD: _bindgen_ty_21 = 1025;
7601 pub const AINPUT_SOURCE_TOUCHSCREEN: _bindgen_ty_21 = 4098;
7602 pub const AINPUT_SOURCE_MOUSE: _bindgen_ty_21 = 8194;
7603 pub const AINPUT_SOURCE_STYLUS: _bindgen_ty_21 = 16386;
7604 pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: _bindgen_ty_21 = 49154;
7605 pub const AINPUT_SOURCE_TRACKBALL: _bindgen_ty_21 = 65540;
7606 pub const AINPUT_SOURCE_MOUSE_RELATIVE: _bindgen_ty_21 = 131076;
7607 pub const AINPUT_SOURCE_TOUCHPAD: _bindgen_ty_21 = 1048584;
7608 pub const AINPUT_SOURCE_TOUCH_NAVIGATION: _bindgen_ty_21 = 2097152;
7609 pub const AINPUT_SOURCE_JOYSTICK: _bindgen_ty_21 = 16777232;
7610 pub const AINPUT_SOURCE_ROTARY_ENCODER: _bindgen_ty_21 = 4194304;
7611 pub const AINPUT_SOURCE_ANY: _bindgen_ty_21 = 4294967040;
7612 pub type _bindgen_ty_21 = u32;
7613 pub const AINPUT_KEYBOARD_TYPE_NONE: _bindgen_ty_22 = 0;
7614 pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: _bindgen_ty_22 = 1;
7615 pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: _bindgen_ty_22 = 2;
7616 pub type _bindgen_ty_22 = u32;
7617 pub const AINPUT_MOTION_RANGE_X: _bindgen_ty_23 = 0;
7618 pub const AINPUT_MOTION_RANGE_Y: _bindgen_ty_23 = 1;
7619 pub const AINPUT_MOTION_RANGE_PRESSURE: _bindgen_ty_23 = 2;
7620 pub const AINPUT_MOTION_RANGE_SIZE: _bindgen_ty_23 = 3;
7621 pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: _bindgen_ty_23 = 4;
7622 pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: _bindgen_ty_23 = 5;
7623 pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: _bindgen_ty_23 = 6;
7624 pub const AINPUT_MOTION_RANGE_TOOL_MINOR: _bindgen_ty_23 = 7;
7625 pub const AINPUT_MOTION_RANGE_ORIENTATION: _bindgen_ty_23 = 8;
7626 pub type _bindgen_ty_23 = u32;
7627 extern "C" {
AInputEvent_getType(event: *const AInputEvent) -> i327628     pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
7629 }
7630 extern "C" {
AInputEvent_getDeviceId(event: *const AInputEvent) -> i327631     pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
7632 }
7633 extern "C" {
AInputEvent_getSource(event: *const AInputEvent) -> i327634     pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
7635 }
7636 extern "C" {
AKeyEvent_getAction(key_event: *const AInputEvent) -> i327637     pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
7638 }
7639 extern "C" {
AKeyEvent_getFlags(key_event: *const AInputEvent) -> i327640     pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
7641 }
7642 extern "C" {
AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i327643     pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
7644 }
7645 extern "C" {
AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i327646     pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
7647 }
7648 extern "C" {
AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i327649     pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
7650 }
7651 extern "C" {
AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i327652     pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
7653 }
7654 extern "C" {
AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i647655     pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
7656 }
7657 extern "C" {
AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i647658     pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
7659 }
7660 extern "C" {
AMotionEvent_getAction(motion_event: *const AInputEvent) -> i327661     pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
7662 }
7663 extern "C" {
AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i327664     pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
7665 }
7666 extern "C" {
AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i327667     pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
7668 }
7669 extern "C" {
AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i327670     pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
7671 }
7672 extern "C" {
AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i327673     pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
7674 }
7675 extern "C" {
AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i647676     pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
7677 }
7678 extern "C" {
AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i647679     pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
7680 }
7681 extern "C" {
AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f327682     pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
7683 }
7684 extern "C" {
AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f327685     pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
7686 }
7687 extern "C" {
AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f327688     pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
7689 }
7690 extern "C" {
AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f327691     pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
7692 }
7693 extern "C" {
AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize7694     pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize;
7695 }
7696 extern "C" {
AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize) -> i327697     pub fn AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize)
7698         -> i32;
7699 }
7700 extern "C" {
AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i327701     pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i32;
7702 }
7703 extern "C" {
AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> f327704     pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7705 }
7706 extern "C" {
AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> f327707     pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7708 }
7709 extern "C" {
AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> f327710     pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7711 }
7712 extern "C" {
AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> f327713     pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7714 }
7715 extern "C" {
AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> f327716     pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7717 }
7718 extern "C" {
AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> f327719     pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
7720 }
7721 extern "C" {
AMotionEvent_getTouchMajor( motion_event: *const AInputEvent, pointer_index: usize, ) -> f327722     pub fn AMotionEvent_getTouchMajor(
7723         motion_event: *const AInputEvent,
7724         pointer_index: usize,
7725     ) -> f32;
7726 }
7727 extern "C" {
AMotionEvent_getTouchMinor( motion_event: *const AInputEvent, pointer_index: usize, ) -> f327728     pub fn AMotionEvent_getTouchMinor(
7729         motion_event: *const AInputEvent,
7730         pointer_index: usize,
7731     ) -> f32;
7732 }
7733 extern "C" {
AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize) -> f327734     pub fn AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize)
7735         -> f32;
7736 }
7737 extern "C" {
AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize) -> f327738     pub fn AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize)
7739         -> f32;
7740 }
7741 extern "C" {
AMotionEvent_getOrientation( motion_event: *const AInputEvent, pointer_index: usize, ) -> f327742     pub fn AMotionEvent_getOrientation(
7743         motion_event: *const AInputEvent,
7744         pointer_index: usize,
7745     ) -> f32;
7746 }
7747 extern "C" {
AMotionEvent_getAxisValue( motion_event: *const AInputEvent, axis: i32, pointer_index: usize, ) -> f327748     pub fn AMotionEvent_getAxisValue(
7749         motion_event: *const AInputEvent,
7750         axis: i32,
7751         pointer_index: usize,
7752     ) -> f32;
7753 }
7754 extern "C" {
AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize7755     pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize;
7756 }
7757 extern "C" {
AMotionEvent_getHistoricalEventTime( motion_event: *const AInputEvent, history_index: usize, ) -> i647758     pub fn AMotionEvent_getHistoricalEventTime(
7759         motion_event: *const AInputEvent,
7760         history_index: usize,
7761     ) -> i64;
7762 }
7763 extern "C" {
AMotionEvent_getHistoricalRawX( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327764     pub fn AMotionEvent_getHistoricalRawX(
7765         motion_event: *const AInputEvent,
7766         pointer_index: usize,
7767         history_index: usize,
7768     ) -> f32;
7769 }
7770 extern "C" {
AMotionEvent_getHistoricalRawY( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327771     pub fn AMotionEvent_getHistoricalRawY(
7772         motion_event: *const AInputEvent,
7773         pointer_index: usize,
7774         history_index: usize,
7775     ) -> f32;
7776 }
7777 extern "C" {
AMotionEvent_getHistoricalX( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327778     pub fn AMotionEvent_getHistoricalX(
7779         motion_event: *const AInputEvent,
7780         pointer_index: usize,
7781         history_index: usize,
7782     ) -> f32;
7783 }
7784 extern "C" {
AMotionEvent_getHistoricalY( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327785     pub fn AMotionEvent_getHistoricalY(
7786         motion_event: *const AInputEvent,
7787         pointer_index: usize,
7788         history_index: usize,
7789     ) -> f32;
7790 }
7791 extern "C" {
AMotionEvent_getHistoricalPressure( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327792     pub fn AMotionEvent_getHistoricalPressure(
7793         motion_event: *const AInputEvent,
7794         pointer_index: usize,
7795         history_index: usize,
7796     ) -> f32;
7797 }
7798 extern "C" {
AMotionEvent_getHistoricalSize( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327799     pub fn AMotionEvent_getHistoricalSize(
7800         motion_event: *const AInputEvent,
7801         pointer_index: usize,
7802         history_index: usize,
7803     ) -> f32;
7804 }
7805 extern "C" {
AMotionEvent_getHistoricalTouchMajor( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327806     pub fn AMotionEvent_getHistoricalTouchMajor(
7807         motion_event: *const AInputEvent,
7808         pointer_index: usize,
7809         history_index: usize,
7810     ) -> f32;
7811 }
7812 extern "C" {
AMotionEvent_getHistoricalTouchMinor( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327813     pub fn AMotionEvent_getHistoricalTouchMinor(
7814         motion_event: *const AInputEvent,
7815         pointer_index: usize,
7816         history_index: usize,
7817     ) -> f32;
7818 }
7819 extern "C" {
AMotionEvent_getHistoricalToolMajor( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327820     pub fn AMotionEvent_getHistoricalToolMajor(
7821         motion_event: *const AInputEvent,
7822         pointer_index: usize,
7823         history_index: usize,
7824     ) -> f32;
7825 }
7826 extern "C" {
AMotionEvent_getHistoricalToolMinor( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327827     pub fn AMotionEvent_getHistoricalToolMinor(
7828         motion_event: *const AInputEvent,
7829         pointer_index: usize,
7830         history_index: usize,
7831     ) -> f32;
7832 }
7833 extern "C" {
AMotionEvent_getHistoricalOrientation( motion_event: *const AInputEvent, pointer_index: usize, history_index: usize, ) -> f327834     pub fn AMotionEvent_getHistoricalOrientation(
7835         motion_event: *const AInputEvent,
7836         pointer_index: usize,
7837         history_index: usize,
7838     ) -> f32;
7839 }
7840 extern "C" {
AMotionEvent_getHistoricalAxisValue( motion_event: *const AInputEvent, axis: i32, pointer_index: usize, history_index: usize, ) -> f327841     pub fn AMotionEvent_getHistoricalAxisValue(
7842         motion_event: *const AInputEvent,
7843         axis: i32,
7844         pointer_index: usize,
7845         history_index: usize,
7846     ) -> f32;
7847 }
7848 #[repr(C)]
7849 #[derive(Debug, Copy, Clone)]
7850 pub struct AInputQueue {
7851     _unused: [u8; 0],
7852 }
7853 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, )7854     pub fn AInputQueue_attachLooper(
7855         queue: *mut AInputQueue,
7856         looper: *mut ALooper,
7857         ident: ::std::os::raw::c_int,
7858         callback: ALooper_callbackFunc,
7859         data: *mut ::std::os::raw::c_void,
7860     );
7861 }
7862 extern "C" {
AInputQueue_detachLooper(queue: *mut AInputQueue)7863     pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
7864 }
7865 extern "C" {
AInputQueue_hasEvents(queue: *mut AInputQueue) -> i327866     pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
7867 }
7868 extern "C" {
AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i327869     pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
7870 }
7871 extern "C" {
AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i327872     pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
7873 }
7874 extern "C" {
AInputQueue_finishEvent( queue: *mut AInputQueue, event: *mut AInputEvent, handled: ::std::os::raw::c_int, )7875     pub fn AInputQueue_finishEvent(
7876         queue: *mut AInputQueue,
7877         event: *mut AInputEvent,
7878         handled: ::std::os::raw::c_int,
7879     );
7880 }
7881 pub const android_LogPriority_ANDROID_LOG_UNKNOWN: android_LogPriority = 0;
7882 pub const android_LogPriority_ANDROID_LOG_DEFAULT: android_LogPriority = 1;
7883 pub const android_LogPriority_ANDROID_LOG_VERBOSE: android_LogPriority = 2;
7884 pub const android_LogPriority_ANDROID_LOG_DEBUG: android_LogPriority = 3;
7885 pub const android_LogPriority_ANDROID_LOG_INFO: android_LogPriority = 4;
7886 pub const android_LogPriority_ANDROID_LOG_WARN: android_LogPriority = 5;
7887 pub const android_LogPriority_ANDROID_LOG_ERROR: android_LogPriority = 6;
7888 pub const android_LogPriority_ANDROID_LOG_FATAL: android_LogPriority = 7;
7889 pub const android_LogPriority_ANDROID_LOG_SILENT: android_LogPriority = 8;
7890 pub type android_LogPriority = u32;
7891 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_int7892     pub fn __android_log_write(
7893         prio: ::std::os::raw::c_int,
7894         tag: *const ::std::os::raw::c_char,
7895         text: *const ::std::os::raw::c_char,
7896     ) -> ::std::os::raw::c_int;
7897 }
7898 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_int7899     pub fn __android_log_print(
7900         prio: ::std::os::raw::c_int,
7901         tag: *const ::std::os::raw::c_char,
7902         fmt: *const ::std::os::raw::c_char,
7903         ...
7904     ) -> ::std::os::raw::c_int;
7905 }
7906 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_int7907     pub fn __android_log_vprint(
7908         prio: ::std::os::raw::c_int,
7909         tag: *const ::std::os::raw::c_char,
7910         fmt: *const ::std::os::raw::c_char,
7911         ap: va_list,
7912     ) -> ::std::os::raw::c_int;
7913 }
7914 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, ... )7915     pub fn __android_log_assert(
7916         cond: *const ::std::os::raw::c_char,
7917         tag: *const ::std::os::raw::c_char,
7918         fmt: *const ::std::os::raw::c_char,
7919         ...
7920     );
7921 }
7922 pub const log_id_LOG_ID_MIN: log_id = 0;
7923 pub const log_id_LOG_ID_MAIN: log_id = 0;
7924 pub const log_id_LOG_ID_RADIO: log_id = 1;
7925 pub const log_id_LOG_ID_EVENTS: log_id = 2;
7926 pub const log_id_LOG_ID_SYSTEM: log_id = 3;
7927 pub const log_id_LOG_ID_CRASH: log_id = 4;
7928 pub const log_id_LOG_ID_STATS: log_id = 5;
7929 pub const log_id_LOG_ID_SECURITY: log_id = 6;
7930 pub const log_id_LOG_ID_KERNEL: log_id = 7;
7931 pub const log_id_LOG_ID_MAX: log_id = 8;
7932 pub type log_id = u32;
7933 pub use self::log_id as log_id_t;
7934 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_int7935     pub fn __android_log_buf_write(
7936         bufID: ::std::os::raw::c_int,
7937         prio: ::std::os::raw::c_int,
7938         tag: *const ::std::os::raw::c_char,
7939         text: *const ::std::os::raw::c_char,
7940     ) -> ::std::os::raw::c_int;
7941 }
7942 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_int7943     pub fn __android_log_buf_print(
7944         bufID: ::std::os::raw::c_int,
7945         prio: ::std::os::raw::c_int,
7946         tag: *const ::std::os::raw::c_char,
7947         fmt: *const ::std::os::raw::c_char,
7948         ...
7949     ) -> ::std::os::raw::c_int;
7950 }
7951 pub type __kernel_sa_family_t = ::std::os::raw::c_ushort;
7952 #[repr(C)]
7953 #[repr(align(8))]
7954 #[derive(Copy, Clone)]
7955 pub struct sockaddr_storage {
7956     pub ss_family: __kernel_sa_family_t,
7957     pub __data: [::std::os::raw::c_char; 126usize],
7958 }
7959 #[test]
bindgen_test_layout_sockaddr_storage()7960 fn bindgen_test_layout_sockaddr_storage() {
7961     assert_eq!(
7962         ::std::mem::size_of::<sockaddr_storage>(),
7963         128usize,
7964         concat!("Size of: ", stringify!(sockaddr_storage))
7965     );
7966     assert_eq!(
7967         ::std::mem::align_of::<sockaddr_storage>(),
7968         8usize,
7969         concat!("Alignment of ", stringify!(sockaddr_storage))
7970     );
7971     assert_eq!(
7972         unsafe { &(*(::std::ptr::null::<sockaddr_storage>())).ss_family as *const _ as usize },
7973         0usize,
7974         concat!(
7975             "Offset of field: ",
7976             stringify!(sockaddr_storage),
7977             "::",
7978             stringify!(ss_family)
7979         )
7980     );
7981     assert_eq!(
7982         unsafe { &(*(::std::ptr::null::<sockaddr_storage>())).__data as *const _ as usize },
7983         2usize,
7984         concat!(
7985             "Offset of field: ",
7986             stringify!(sockaddr_storage),
7987             "::",
7988             stringify!(__data)
7989         )
7990     );
7991 }
7992 #[repr(C)]
7993 #[derive(Debug, Copy, Clone)]
7994 pub struct f_owner_ex {
7995     pub type_: ::std::os::raw::c_int,
7996     pub pid: __kernel_pid_t,
7997 }
7998 #[test]
bindgen_test_layout_f_owner_ex()7999 fn bindgen_test_layout_f_owner_ex() {
8000     assert_eq!(
8001         ::std::mem::size_of::<f_owner_ex>(),
8002         8usize,
8003         concat!("Size of: ", stringify!(f_owner_ex))
8004     );
8005     assert_eq!(
8006         ::std::mem::align_of::<f_owner_ex>(),
8007         4usize,
8008         concat!("Alignment of ", stringify!(f_owner_ex))
8009     );
8010     assert_eq!(
8011         unsafe { &(*(::std::ptr::null::<f_owner_ex>())).type_ as *const _ as usize },
8012         0usize,
8013         concat!(
8014             "Offset of field: ",
8015             stringify!(f_owner_ex),
8016             "::",
8017             stringify!(type_)
8018         )
8019     );
8020     assert_eq!(
8021         unsafe { &(*(::std::ptr::null::<f_owner_ex>())).pid as *const _ as usize },
8022         4usize,
8023         concat!(
8024             "Offset of field: ",
8025             stringify!(f_owner_ex),
8026             "::",
8027             stringify!(pid)
8028         )
8029     );
8030 }
8031 #[repr(C)]
8032 #[derive(Debug, Copy, Clone)]
8033 pub struct flock {
8034     pub l_type: ::std::os::raw::c_short,
8035     pub l_whence: ::std::os::raw::c_short,
8036     pub l_start: __kernel_off_t,
8037     pub l_len: __kernel_off_t,
8038     pub l_pid: __kernel_pid_t,
8039 }
8040 #[test]
bindgen_test_layout_flock()8041 fn bindgen_test_layout_flock() {
8042     assert_eq!(
8043         ::std::mem::size_of::<flock>(),
8044         32usize,
8045         concat!("Size of: ", stringify!(flock))
8046     );
8047     assert_eq!(
8048         ::std::mem::align_of::<flock>(),
8049         8usize,
8050         concat!("Alignment of ", stringify!(flock))
8051     );
8052     assert_eq!(
8053         unsafe { &(*(::std::ptr::null::<flock>())).l_type as *const _ as usize },
8054         0usize,
8055         concat!(
8056             "Offset of field: ",
8057             stringify!(flock),
8058             "::",
8059             stringify!(l_type)
8060         )
8061     );
8062     assert_eq!(
8063         unsafe { &(*(::std::ptr::null::<flock>())).l_whence as *const _ as usize },
8064         2usize,
8065         concat!(
8066             "Offset of field: ",
8067             stringify!(flock),
8068             "::",
8069             stringify!(l_whence)
8070         )
8071     );
8072     assert_eq!(
8073         unsafe { &(*(::std::ptr::null::<flock>())).l_start as *const _ as usize },
8074         8usize,
8075         concat!(
8076             "Offset of field: ",
8077             stringify!(flock),
8078             "::",
8079             stringify!(l_start)
8080         )
8081     );
8082     assert_eq!(
8083         unsafe { &(*(::std::ptr::null::<flock>())).l_len as *const _ as usize },
8084         16usize,
8085         concat!(
8086             "Offset of field: ",
8087             stringify!(flock),
8088             "::",
8089             stringify!(l_len)
8090         )
8091     );
8092     assert_eq!(
8093         unsafe { &(*(::std::ptr::null::<flock>())).l_pid as *const _ as usize },
8094         24usize,
8095         concat!(
8096             "Offset of field: ",
8097             stringify!(flock),
8098             "::",
8099             stringify!(l_pid)
8100         )
8101     );
8102 }
8103 #[repr(C)]
8104 #[derive(Debug, Copy, Clone)]
8105 pub struct flock64 {
8106     pub l_type: ::std::os::raw::c_short,
8107     pub l_whence: ::std::os::raw::c_short,
8108     pub l_start: __kernel_loff_t,
8109     pub l_len: __kernel_loff_t,
8110     pub l_pid: __kernel_pid_t,
8111 }
8112 #[test]
bindgen_test_layout_flock64()8113 fn bindgen_test_layout_flock64() {
8114     assert_eq!(
8115         ::std::mem::size_of::<flock64>(),
8116         32usize,
8117         concat!("Size of: ", stringify!(flock64))
8118     );
8119     assert_eq!(
8120         ::std::mem::align_of::<flock64>(),
8121         8usize,
8122         concat!("Alignment of ", stringify!(flock64))
8123     );
8124     assert_eq!(
8125         unsafe { &(*(::std::ptr::null::<flock64>())).l_type as *const _ as usize },
8126         0usize,
8127         concat!(
8128             "Offset of field: ",
8129             stringify!(flock64),
8130             "::",
8131             stringify!(l_type)
8132         )
8133     );
8134     assert_eq!(
8135         unsafe { &(*(::std::ptr::null::<flock64>())).l_whence as *const _ as usize },
8136         2usize,
8137         concat!(
8138             "Offset of field: ",
8139             stringify!(flock64),
8140             "::",
8141             stringify!(l_whence)
8142         )
8143     );
8144     assert_eq!(
8145         unsafe { &(*(::std::ptr::null::<flock64>())).l_start as *const _ as usize },
8146         8usize,
8147         concat!(
8148             "Offset of field: ",
8149             stringify!(flock64),
8150             "::",
8151             stringify!(l_start)
8152         )
8153     );
8154     assert_eq!(
8155         unsafe { &(*(::std::ptr::null::<flock64>())).l_len as *const _ as usize },
8156         16usize,
8157         concat!(
8158             "Offset of field: ",
8159             stringify!(flock64),
8160             "::",
8161             stringify!(l_len)
8162         )
8163     );
8164     assert_eq!(
8165         unsafe { &(*(::std::ptr::null::<flock64>())).l_pid as *const _ as usize },
8166         24usize,
8167         concat!(
8168             "Offset of field: ",
8169             stringify!(flock64),
8170             "::",
8171             stringify!(l_pid)
8172         )
8173     );
8174 }
8175 #[repr(C)]
8176 #[derive(Debug, Copy, Clone)]
8177 pub struct iovec {
8178     pub iov_base: *mut ::std::os::raw::c_void,
8179     pub iov_len: __kernel_size_t,
8180 }
8181 #[test]
bindgen_test_layout_iovec()8182 fn bindgen_test_layout_iovec() {
8183     assert_eq!(
8184         ::std::mem::size_of::<iovec>(),
8185         16usize,
8186         concat!("Size of: ", stringify!(iovec))
8187     );
8188     assert_eq!(
8189         ::std::mem::align_of::<iovec>(),
8190         8usize,
8191         concat!("Alignment of ", stringify!(iovec))
8192     );
8193     assert_eq!(
8194         unsafe { &(*(::std::ptr::null::<iovec>())).iov_base as *const _ as usize },
8195         0usize,
8196         concat!(
8197             "Offset of field: ",
8198             stringify!(iovec),
8199             "::",
8200             stringify!(iov_base)
8201         )
8202     );
8203     assert_eq!(
8204         unsafe { &(*(::std::ptr::null::<iovec>())).iov_len as *const _ as usize },
8205         8usize,
8206         concat!(
8207             "Offset of field: ",
8208             stringify!(iovec),
8209             "::",
8210             stringify!(iov_len)
8211         )
8212     );
8213 }
8214 pub type sa_family_t = ::std::os::raw::c_ushort;
8215 #[repr(C)]
8216 #[derive(Debug, Copy, Clone)]
8217 pub struct timespec {
8218     _unused: [u8; 0],
8219 }
8220 pub const SHUT_RD: _bindgen_ty_24 = 0;
8221 pub const SHUT_WR: _bindgen_ty_24 = 1;
8222 pub const SHUT_RDWR: _bindgen_ty_24 = 2;
8223 pub type _bindgen_ty_24 = u32;
8224 #[repr(C)]
8225 #[derive(Debug, Copy, Clone)]
8226 pub struct sockaddr {
8227     pub sa_family: sa_family_t,
8228     pub sa_data: [::std::os::raw::c_char; 14usize],
8229 }
8230 #[test]
bindgen_test_layout_sockaddr()8231 fn bindgen_test_layout_sockaddr() {
8232     assert_eq!(
8233         ::std::mem::size_of::<sockaddr>(),
8234         16usize,
8235         concat!("Size of: ", stringify!(sockaddr))
8236     );
8237     assert_eq!(
8238         ::std::mem::align_of::<sockaddr>(),
8239         2usize,
8240         concat!("Alignment of ", stringify!(sockaddr))
8241     );
8242     assert_eq!(
8243         unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_family as *const _ as usize },
8244         0usize,
8245         concat!(
8246             "Offset of field: ",
8247             stringify!(sockaddr),
8248             "::",
8249             stringify!(sa_family)
8250         )
8251     );
8252     assert_eq!(
8253         unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_data as *const _ as usize },
8254         2usize,
8255         concat!(
8256             "Offset of field: ",
8257             stringify!(sockaddr),
8258             "::",
8259             stringify!(sa_data)
8260         )
8261     );
8262 }
8263 #[repr(C)]
8264 #[derive(Debug, Copy, Clone)]
8265 pub struct linger {
8266     pub l_onoff: ::std::os::raw::c_int,
8267     pub l_linger: ::std::os::raw::c_int,
8268 }
8269 #[test]
bindgen_test_layout_linger()8270 fn bindgen_test_layout_linger() {
8271     assert_eq!(
8272         ::std::mem::size_of::<linger>(),
8273         8usize,
8274         concat!("Size of: ", stringify!(linger))
8275     );
8276     assert_eq!(
8277         ::std::mem::align_of::<linger>(),
8278         4usize,
8279         concat!("Alignment of ", stringify!(linger))
8280     );
8281     assert_eq!(
8282         unsafe { &(*(::std::ptr::null::<linger>())).l_onoff as *const _ as usize },
8283         0usize,
8284         concat!(
8285             "Offset of field: ",
8286             stringify!(linger),
8287             "::",
8288             stringify!(l_onoff)
8289         )
8290     );
8291     assert_eq!(
8292         unsafe { &(*(::std::ptr::null::<linger>())).l_linger as *const _ as usize },
8293         4usize,
8294         concat!(
8295             "Offset of field: ",
8296             stringify!(linger),
8297             "::",
8298             stringify!(l_linger)
8299         )
8300     );
8301 }
8302 #[repr(C)]
8303 #[derive(Debug, Copy, Clone)]
8304 pub struct msghdr {
8305     pub msg_name: *mut ::std::os::raw::c_void,
8306     pub msg_namelen: socklen_t,
8307     pub msg_iov: *mut iovec,
8308     pub msg_iovlen: usize,
8309     pub msg_control: *mut ::std::os::raw::c_void,
8310     pub msg_controllen: usize,
8311     pub msg_flags: ::std::os::raw::c_int,
8312 }
8313 #[test]
bindgen_test_layout_msghdr()8314 fn bindgen_test_layout_msghdr() {
8315     assert_eq!(
8316         ::std::mem::size_of::<msghdr>(),
8317         56usize,
8318         concat!("Size of: ", stringify!(msghdr))
8319     );
8320     assert_eq!(
8321         ::std::mem::align_of::<msghdr>(),
8322         8usize,
8323         concat!("Alignment of ", stringify!(msghdr))
8324     );
8325     assert_eq!(
8326         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_name as *const _ as usize },
8327         0usize,
8328         concat!(
8329             "Offset of field: ",
8330             stringify!(msghdr),
8331             "::",
8332             stringify!(msg_name)
8333         )
8334     );
8335     assert_eq!(
8336         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_namelen as *const _ as usize },
8337         8usize,
8338         concat!(
8339             "Offset of field: ",
8340             stringify!(msghdr),
8341             "::",
8342             stringify!(msg_namelen)
8343         )
8344     );
8345     assert_eq!(
8346         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iov as *const _ as usize },
8347         16usize,
8348         concat!(
8349             "Offset of field: ",
8350             stringify!(msghdr),
8351             "::",
8352             stringify!(msg_iov)
8353         )
8354     );
8355     assert_eq!(
8356         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iovlen as *const _ as usize },
8357         24usize,
8358         concat!(
8359             "Offset of field: ",
8360             stringify!(msghdr),
8361             "::",
8362             stringify!(msg_iovlen)
8363         )
8364     );
8365     assert_eq!(
8366         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_control as *const _ as usize },
8367         32usize,
8368         concat!(
8369             "Offset of field: ",
8370             stringify!(msghdr),
8371             "::",
8372             stringify!(msg_control)
8373         )
8374     );
8375     assert_eq!(
8376         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_controllen as *const _ as usize },
8377         40usize,
8378         concat!(
8379             "Offset of field: ",
8380             stringify!(msghdr),
8381             "::",
8382             stringify!(msg_controllen)
8383         )
8384     );
8385     assert_eq!(
8386         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_flags as *const _ as usize },
8387         48usize,
8388         concat!(
8389             "Offset of field: ",
8390             stringify!(msghdr),
8391             "::",
8392             stringify!(msg_flags)
8393         )
8394     );
8395 }
8396 #[repr(C)]
8397 #[derive(Debug, Copy, Clone)]
8398 pub struct mmsghdr {
8399     pub msg_hdr: msghdr,
8400     pub msg_len: ::std::os::raw::c_uint,
8401 }
8402 #[test]
bindgen_test_layout_mmsghdr()8403 fn bindgen_test_layout_mmsghdr() {
8404     assert_eq!(
8405         ::std::mem::size_of::<mmsghdr>(),
8406         64usize,
8407         concat!("Size of: ", stringify!(mmsghdr))
8408     );
8409     assert_eq!(
8410         ::std::mem::align_of::<mmsghdr>(),
8411         8usize,
8412         concat!("Alignment of ", stringify!(mmsghdr))
8413     );
8414     assert_eq!(
8415         unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_hdr as *const _ as usize },
8416         0usize,
8417         concat!(
8418             "Offset of field: ",
8419             stringify!(mmsghdr),
8420             "::",
8421             stringify!(msg_hdr)
8422         )
8423     );
8424     assert_eq!(
8425         unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_len as *const _ as usize },
8426         56usize,
8427         concat!(
8428             "Offset of field: ",
8429             stringify!(mmsghdr),
8430             "::",
8431             stringify!(msg_len)
8432         )
8433     );
8434 }
8435 #[repr(C)]
8436 #[derive(Debug, Copy, Clone)]
8437 pub struct cmsghdr {
8438     pub cmsg_len: usize,
8439     pub cmsg_level: ::std::os::raw::c_int,
8440     pub cmsg_type: ::std::os::raw::c_int,
8441 }
8442 #[test]
bindgen_test_layout_cmsghdr()8443 fn bindgen_test_layout_cmsghdr() {
8444     assert_eq!(
8445         ::std::mem::size_of::<cmsghdr>(),
8446         16usize,
8447         concat!("Size of: ", stringify!(cmsghdr))
8448     );
8449     assert_eq!(
8450         ::std::mem::align_of::<cmsghdr>(),
8451         8usize,
8452         concat!("Alignment of ", stringify!(cmsghdr))
8453     );
8454     assert_eq!(
8455         unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_len as *const _ as usize },
8456         0usize,
8457         concat!(
8458             "Offset of field: ",
8459             stringify!(cmsghdr),
8460             "::",
8461             stringify!(cmsg_len)
8462         )
8463     );
8464     assert_eq!(
8465         unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_level as *const _ as usize },
8466         8usize,
8467         concat!(
8468             "Offset of field: ",
8469             stringify!(cmsghdr),
8470             "::",
8471             stringify!(cmsg_level)
8472         )
8473     );
8474     assert_eq!(
8475         unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_type as *const _ as usize },
8476         12usize,
8477         concat!(
8478             "Offset of field: ",
8479             stringify!(cmsghdr),
8480             "::",
8481             stringify!(cmsg_type)
8482         )
8483     );
8484 }
8485 extern "C" {
__cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr8486     pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
8487 }
8488 #[repr(C)]
8489 #[derive(Debug, Copy, Clone)]
8490 pub struct ucred {
8491     pub pid: pid_t,
8492     pub uid: uid_t,
8493     pub gid: gid_t,
8494 }
8495 #[test]
bindgen_test_layout_ucred()8496 fn bindgen_test_layout_ucred() {
8497     assert_eq!(
8498         ::std::mem::size_of::<ucred>(),
8499         12usize,
8500         concat!("Size of: ", stringify!(ucred))
8501     );
8502     assert_eq!(
8503         ::std::mem::align_of::<ucred>(),
8504         4usize,
8505         concat!("Alignment of ", stringify!(ucred))
8506     );
8507     assert_eq!(
8508         unsafe { &(*(::std::ptr::null::<ucred>())).pid as *const _ as usize },
8509         0usize,
8510         concat!(
8511             "Offset of field: ",
8512             stringify!(ucred),
8513             "::",
8514             stringify!(pid)
8515         )
8516     );
8517     assert_eq!(
8518         unsafe { &(*(::std::ptr::null::<ucred>())).uid as *const _ as usize },
8519         4usize,
8520         concat!(
8521             "Offset of field: ",
8522             stringify!(ucred),
8523             "::",
8524             stringify!(uid)
8525         )
8526     );
8527     assert_eq!(
8528         unsafe { &(*(::std::ptr::null::<ucred>())).gid as *const _ as usize },
8529         8usize,
8530         concat!(
8531             "Offset of field: ",
8532             stringify!(ucred),
8533             "::",
8534             stringify!(gid)
8535         )
8536     );
8537 }
8538 extern "C" {
accept( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, ) -> ::std::os::raw::c_int8539     pub fn accept(
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" {
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_int8546     pub fn accept4(
8547         __fd: ::std::os::raw::c_int,
8548         __addr: *mut sockaddr,
8549         __addr_length: *mut socklen_t,
8550         __flags: ::std::os::raw::c_int,
8551     ) -> ::std::os::raw::c_int;
8552 }
8553 extern "C" {
bind( __fd: ::std::os::raw::c_int, __addr: *const sockaddr, __addr_length: socklen_t, ) -> ::std::os::raw::c_int8554     pub fn bind(
8555         __fd: ::std::os::raw::c_int,
8556         __addr: *const sockaddr,
8557         __addr_length: socklen_t,
8558     ) -> ::std::os::raw::c_int;
8559 }
8560 extern "C" {
connect( __fd: ::std::os::raw::c_int, __addr: *const sockaddr, __addr_length: socklen_t, ) -> ::std::os::raw::c_int8561     pub fn connect(
8562         __fd: ::std::os::raw::c_int,
8563         __addr: *const sockaddr,
8564         __addr_length: socklen_t,
8565     ) -> ::std::os::raw::c_int;
8566 }
8567 extern "C" {
getpeername( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, ) -> ::std::os::raw::c_int8568     pub fn getpeername(
8569         __fd: ::std::os::raw::c_int,
8570         __addr: *mut sockaddr,
8571         __addr_length: *mut socklen_t,
8572     ) -> ::std::os::raw::c_int;
8573 }
8574 extern "C" {
getsockname( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, ) -> ::std::os::raw::c_int8575     pub fn getsockname(
8576         __fd: ::std::os::raw::c_int,
8577         __addr: *mut sockaddr,
8578         __addr_length: *mut socklen_t,
8579     ) -> ::std::os::raw::c_int;
8580 }
8581 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_int8582     pub fn getsockopt(
8583         __fd: ::std::os::raw::c_int,
8584         __level: ::std::os::raw::c_int,
8585         __option: ::std::os::raw::c_int,
8586         __value: *mut ::std::os::raw::c_void,
8587         __value_length: *mut socklen_t,
8588     ) -> ::std::os::raw::c_int;
8589 }
8590 extern "C" {
listen( __fd: ::std::os::raw::c_int, __backlog: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8591     pub fn listen(
8592         __fd: ::std::os::raw::c_int,
8593         __backlog: ::std::os::raw::c_int,
8594     ) -> ::std::os::raw::c_int;
8595 }
8596 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_int8597     pub fn recvmmsg(
8598         __fd: ::std::os::raw::c_int,
8599         __msgs: *mut mmsghdr,
8600         __msg_count: ::std::os::raw::c_uint,
8601         __flags: ::std::os::raw::c_int,
8602         __timeout: *const timespec,
8603     ) -> ::std::os::raw::c_int;
8604 }
8605 extern "C" {
recvmsg( __fd: ::std::os::raw::c_int, __msg: *mut msghdr, __flags: ::std::os::raw::c_int, ) -> isize8606     pub fn recvmsg(
8607         __fd: ::std::os::raw::c_int,
8608         __msg: *mut msghdr,
8609         __flags: ::std::os::raw::c_int,
8610     ) -> isize;
8611 }
8612 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_int8613     pub fn sendmmsg(
8614         __fd: ::std::os::raw::c_int,
8615         __msgs: *const mmsghdr,
8616         __msg_count: ::std::os::raw::c_uint,
8617         __flags: ::std::os::raw::c_int,
8618     ) -> ::std::os::raw::c_int;
8619 }
8620 extern "C" {
sendmsg( __fd: ::std::os::raw::c_int, __msg: *const msghdr, __flags: ::std::os::raw::c_int, ) -> isize8621     pub fn sendmsg(
8622         __fd: ::std::os::raw::c_int,
8623         __msg: *const msghdr,
8624         __flags: ::std::os::raw::c_int,
8625     ) -> isize;
8626 }
8627 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_int8628     pub fn setsockopt(
8629         __fd: ::std::os::raw::c_int,
8630         __level: ::std::os::raw::c_int,
8631         __option: ::std::os::raw::c_int,
8632         __value: *const ::std::os::raw::c_void,
8633         __value_length: socklen_t,
8634     ) -> ::std::os::raw::c_int;
8635 }
8636 extern "C" {
shutdown( __fd: ::std::os::raw::c_int, __how: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8637     pub fn shutdown(
8638         __fd: ::std::os::raw::c_int,
8639         __how: ::std::os::raw::c_int,
8640     ) -> ::std::os::raw::c_int;
8641 }
8642 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_int8643     pub fn socket(
8644         __af: ::std::os::raw::c_int,
8645         __type: ::std::os::raw::c_int,
8646         __protocol: ::std::os::raw::c_int,
8647     ) -> ::std::os::raw::c_int;
8648 }
8649 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_int8650     pub fn socketpair(
8651         __af: ::std::os::raw::c_int,
8652         __type: ::std::os::raw::c_int,
8653         __protocol: ::std::os::raw::c_int,
8654         __fds: *mut ::std::os::raw::c_int,
8655     ) -> ::std::os::raw::c_int;
8656 }
8657 extern "C" {
recv( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, ) -> isize8658     pub fn recv(
8659         __fd: ::std::os::raw::c_int,
8660         __buf: *mut ::std::os::raw::c_void,
8661         __n: usize,
8662         __flags: ::std::os::raw::c_int,
8663     ) -> isize;
8664 }
8665 extern "C" {
send( __fd: ::std::os::raw::c_int, __buf: *const ::std::os::raw::c_void, __n: usize, __flags: ::std::os::raw::c_int, ) -> isize8666     pub fn send(
8667         __fd: ::std::os::raw::c_int,
8668         __buf: *const ::std::os::raw::c_void,
8669         __n: usize,
8670         __flags: ::std::os::raw::c_int,
8671     ) -> isize;
8672 }
8673 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, ) -> isize8674     pub fn sendto(
8675         __fd: ::std::os::raw::c_int,
8676         __buf: *const ::std::os::raw::c_void,
8677         __n: usize,
8678         __flags: ::std::os::raw::c_int,
8679         __dst_addr: *const sockaddr,
8680         __dst_addr_length: socklen_t,
8681     ) -> isize;
8682 }
8683 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, ) -> isize8684     pub fn recvfrom(
8685         __fd: ::std::os::raw::c_int,
8686         __buf: *mut ::std::os::raw::c_void,
8687         __n: usize,
8688         __flags: ::std::os::raw::c_int,
8689         __src_addr: *mut sockaddr,
8690         __src_addr_length: *mut socklen_t,
8691     ) -> isize;
8692 }
8693 #[repr(C)]
8694 #[derive(Debug, Copy, Clone)]
8695 pub struct hostent {
8696     pub h_name: *mut ::std::os::raw::c_char,
8697     pub h_aliases: *mut *mut ::std::os::raw::c_char,
8698     pub h_addrtype: ::std::os::raw::c_int,
8699     pub h_length: ::std::os::raw::c_int,
8700     pub h_addr_list: *mut *mut ::std::os::raw::c_char,
8701 }
8702 #[test]
bindgen_test_layout_hostent()8703 fn bindgen_test_layout_hostent() {
8704     assert_eq!(
8705         ::std::mem::size_of::<hostent>(),
8706         32usize,
8707         concat!("Size of: ", stringify!(hostent))
8708     );
8709     assert_eq!(
8710         ::std::mem::align_of::<hostent>(),
8711         8usize,
8712         concat!("Alignment of ", stringify!(hostent))
8713     );
8714     assert_eq!(
8715         unsafe { &(*(::std::ptr::null::<hostent>())).h_name as *const _ as usize },
8716         0usize,
8717         concat!(
8718             "Offset of field: ",
8719             stringify!(hostent),
8720             "::",
8721             stringify!(h_name)
8722         )
8723     );
8724     assert_eq!(
8725         unsafe { &(*(::std::ptr::null::<hostent>())).h_aliases as *const _ as usize },
8726         8usize,
8727         concat!(
8728             "Offset of field: ",
8729             stringify!(hostent),
8730             "::",
8731             stringify!(h_aliases)
8732         )
8733     );
8734     assert_eq!(
8735         unsafe { &(*(::std::ptr::null::<hostent>())).h_addrtype as *const _ as usize },
8736         16usize,
8737         concat!(
8738             "Offset of field: ",
8739             stringify!(hostent),
8740             "::",
8741             stringify!(h_addrtype)
8742         )
8743     );
8744     assert_eq!(
8745         unsafe { &(*(::std::ptr::null::<hostent>())).h_length as *const _ as usize },
8746         20usize,
8747         concat!(
8748             "Offset of field: ",
8749             stringify!(hostent),
8750             "::",
8751             stringify!(h_length)
8752         )
8753     );
8754     assert_eq!(
8755         unsafe { &(*(::std::ptr::null::<hostent>())).h_addr_list as *const _ as usize },
8756         24usize,
8757         concat!(
8758             "Offset of field: ",
8759             stringify!(hostent),
8760             "::",
8761             stringify!(h_addr_list)
8762         )
8763     );
8764 }
8765 #[repr(C)]
8766 #[derive(Debug, Copy, Clone)]
8767 pub struct netent {
8768     pub n_name: *mut ::std::os::raw::c_char,
8769     pub n_aliases: *mut *mut ::std::os::raw::c_char,
8770     pub n_addrtype: ::std::os::raw::c_int,
8771     pub n_net: u32,
8772 }
8773 #[test]
bindgen_test_layout_netent()8774 fn bindgen_test_layout_netent() {
8775     assert_eq!(
8776         ::std::mem::size_of::<netent>(),
8777         24usize,
8778         concat!("Size of: ", stringify!(netent))
8779     );
8780     assert_eq!(
8781         ::std::mem::align_of::<netent>(),
8782         8usize,
8783         concat!("Alignment of ", stringify!(netent))
8784     );
8785     assert_eq!(
8786         unsafe { &(*(::std::ptr::null::<netent>())).n_name as *const _ as usize },
8787         0usize,
8788         concat!(
8789             "Offset of field: ",
8790             stringify!(netent),
8791             "::",
8792             stringify!(n_name)
8793         )
8794     );
8795     assert_eq!(
8796         unsafe { &(*(::std::ptr::null::<netent>())).n_aliases as *const _ as usize },
8797         8usize,
8798         concat!(
8799             "Offset of field: ",
8800             stringify!(netent),
8801             "::",
8802             stringify!(n_aliases)
8803         )
8804     );
8805     assert_eq!(
8806         unsafe { &(*(::std::ptr::null::<netent>())).n_addrtype as *const _ as usize },
8807         16usize,
8808         concat!(
8809             "Offset of field: ",
8810             stringify!(netent),
8811             "::",
8812             stringify!(n_addrtype)
8813         )
8814     );
8815     assert_eq!(
8816         unsafe { &(*(::std::ptr::null::<netent>())).n_net as *const _ as usize },
8817         20usize,
8818         concat!(
8819             "Offset of field: ",
8820             stringify!(netent),
8821             "::",
8822             stringify!(n_net)
8823         )
8824     );
8825 }
8826 #[repr(C)]
8827 #[derive(Debug, Copy, Clone)]
8828 pub struct servent {
8829     pub s_name: *mut ::std::os::raw::c_char,
8830     pub s_aliases: *mut *mut ::std::os::raw::c_char,
8831     pub s_port: ::std::os::raw::c_int,
8832     pub s_proto: *mut ::std::os::raw::c_char,
8833 }
8834 #[test]
bindgen_test_layout_servent()8835 fn bindgen_test_layout_servent() {
8836     assert_eq!(
8837         ::std::mem::size_of::<servent>(),
8838         32usize,
8839         concat!("Size of: ", stringify!(servent))
8840     );
8841     assert_eq!(
8842         ::std::mem::align_of::<servent>(),
8843         8usize,
8844         concat!("Alignment of ", stringify!(servent))
8845     );
8846     assert_eq!(
8847         unsafe { &(*(::std::ptr::null::<servent>())).s_name as *const _ as usize },
8848         0usize,
8849         concat!(
8850             "Offset of field: ",
8851             stringify!(servent),
8852             "::",
8853             stringify!(s_name)
8854         )
8855     );
8856     assert_eq!(
8857         unsafe { &(*(::std::ptr::null::<servent>())).s_aliases as *const _ as usize },
8858         8usize,
8859         concat!(
8860             "Offset of field: ",
8861             stringify!(servent),
8862             "::",
8863             stringify!(s_aliases)
8864         )
8865     );
8866     assert_eq!(
8867         unsafe { &(*(::std::ptr::null::<servent>())).s_port as *const _ as usize },
8868         16usize,
8869         concat!(
8870             "Offset of field: ",
8871             stringify!(servent),
8872             "::",
8873             stringify!(s_port)
8874         )
8875     );
8876     assert_eq!(
8877         unsafe { &(*(::std::ptr::null::<servent>())).s_proto as *const _ as usize },
8878         24usize,
8879         concat!(
8880             "Offset of field: ",
8881             stringify!(servent),
8882             "::",
8883             stringify!(s_proto)
8884         )
8885     );
8886 }
8887 #[repr(C)]
8888 #[derive(Debug, Copy, Clone)]
8889 pub struct protoent {
8890     pub p_name: *mut ::std::os::raw::c_char,
8891     pub p_aliases: *mut *mut ::std::os::raw::c_char,
8892     pub p_proto: ::std::os::raw::c_int,
8893 }
8894 #[test]
bindgen_test_layout_protoent()8895 fn bindgen_test_layout_protoent() {
8896     assert_eq!(
8897         ::std::mem::size_of::<protoent>(),
8898         24usize,
8899         concat!("Size of: ", stringify!(protoent))
8900     );
8901     assert_eq!(
8902         ::std::mem::align_of::<protoent>(),
8903         8usize,
8904         concat!("Alignment of ", stringify!(protoent))
8905     );
8906     assert_eq!(
8907         unsafe { &(*(::std::ptr::null::<protoent>())).p_name as *const _ as usize },
8908         0usize,
8909         concat!(
8910             "Offset of field: ",
8911             stringify!(protoent),
8912             "::",
8913             stringify!(p_name)
8914         )
8915     );
8916     assert_eq!(
8917         unsafe { &(*(::std::ptr::null::<protoent>())).p_aliases as *const _ as usize },
8918         8usize,
8919         concat!(
8920             "Offset of field: ",
8921             stringify!(protoent),
8922             "::",
8923             stringify!(p_aliases)
8924         )
8925     );
8926     assert_eq!(
8927         unsafe { &(*(::std::ptr::null::<protoent>())).p_proto as *const _ as usize },
8928         16usize,
8929         concat!(
8930             "Offset of field: ",
8931             stringify!(protoent),
8932             "::",
8933             stringify!(p_proto)
8934         )
8935     );
8936 }
8937 #[repr(C)]
8938 #[derive(Debug, Copy, Clone)]
8939 pub struct addrinfo {
8940     pub ai_flags: ::std::os::raw::c_int,
8941     pub ai_family: ::std::os::raw::c_int,
8942     pub ai_socktype: ::std::os::raw::c_int,
8943     pub ai_protocol: ::std::os::raw::c_int,
8944     pub ai_addrlen: socklen_t,
8945     pub ai_canonname: *mut ::std::os::raw::c_char,
8946     pub ai_addr: *mut sockaddr,
8947     pub ai_next: *mut addrinfo,
8948 }
8949 #[test]
bindgen_test_layout_addrinfo()8950 fn bindgen_test_layout_addrinfo() {
8951     assert_eq!(
8952         ::std::mem::size_of::<addrinfo>(),
8953         48usize,
8954         concat!("Size of: ", stringify!(addrinfo))
8955     );
8956     assert_eq!(
8957         ::std::mem::align_of::<addrinfo>(),
8958         8usize,
8959         concat!("Alignment of ", stringify!(addrinfo))
8960     );
8961     assert_eq!(
8962         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_flags as *const _ as usize },
8963         0usize,
8964         concat!(
8965             "Offset of field: ",
8966             stringify!(addrinfo),
8967             "::",
8968             stringify!(ai_flags)
8969         )
8970     );
8971     assert_eq!(
8972         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_family as *const _ as usize },
8973         4usize,
8974         concat!(
8975             "Offset of field: ",
8976             stringify!(addrinfo),
8977             "::",
8978             stringify!(ai_family)
8979         )
8980     );
8981     assert_eq!(
8982         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_socktype as *const _ as usize },
8983         8usize,
8984         concat!(
8985             "Offset of field: ",
8986             stringify!(addrinfo),
8987             "::",
8988             stringify!(ai_socktype)
8989         )
8990     );
8991     assert_eq!(
8992         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_protocol as *const _ as usize },
8993         12usize,
8994         concat!(
8995             "Offset of field: ",
8996             stringify!(addrinfo),
8997             "::",
8998             stringify!(ai_protocol)
8999         )
9000     );
9001     assert_eq!(
9002         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addrlen as *const _ as usize },
9003         16usize,
9004         concat!(
9005             "Offset of field: ",
9006             stringify!(addrinfo),
9007             "::",
9008             stringify!(ai_addrlen)
9009         )
9010     );
9011     assert_eq!(
9012         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_canonname as *const _ as usize },
9013         24usize,
9014         concat!(
9015             "Offset of field: ",
9016             stringify!(addrinfo),
9017             "::",
9018             stringify!(ai_canonname)
9019         )
9020     );
9021     assert_eq!(
9022         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addr as *const _ as usize },
9023         32usize,
9024         concat!(
9025             "Offset of field: ",
9026             stringify!(addrinfo),
9027             "::",
9028             stringify!(ai_addr)
9029         )
9030     );
9031     assert_eq!(
9032         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_next as *const _ as usize },
9033         40usize,
9034         concat!(
9035             "Offset of field: ",
9036             stringify!(addrinfo),
9037             "::",
9038             stringify!(ai_next)
9039         )
9040     );
9041 }
9042 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_int9043     pub fn getaddrinfo(
9044         __node: *const ::std::os::raw::c_char,
9045         __service: *const ::std::os::raw::c_char,
9046         __hints: *const addrinfo,
9047         __result: *mut *mut addrinfo,
9048     ) -> ::std::os::raw::c_int;
9049 }
9050 extern "C" {
freeaddrinfo(__ptr: *mut addrinfo)9051     pub fn freeaddrinfo(__ptr: *mut addrinfo);
9052 }
9053 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_int9054     pub fn getnameinfo(
9055         __sa: *const sockaddr,
9056         __sa_length: socklen_t,
9057         __host: *mut ::std::os::raw::c_char,
9058         __host_length: usize,
9059         __service: *mut ::std::os::raw::c_char,
9060         __service_length: usize,
9061         __flags: ::std::os::raw::c_int,
9062     ) -> ::std::os::raw::c_int;
9063 }
9064 extern "C" {
gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char9065     pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9066 }
9067 extern "C" {
__get_h_errno() -> *mut ::std::os::raw::c_int9068     pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
9069 }
9070 extern "C" {
herror(__s: *const ::std::os::raw::c_char)9071     pub fn herror(__s: *const ::std::os::raw::c_char);
9072 }
9073 extern "C" {
hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char9074     pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9075 }
9076 extern "C" {
gethostbyaddr( __addr: *const ::std::os::raw::c_void, __length: socklen_t, __type: ::std::os::raw::c_int, ) -> *mut hostent9077     pub fn gethostbyaddr(
9078         __addr: *const ::std::os::raw::c_void,
9079         __length: socklen_t,
9080         __type: ::std::os::raw::c_int,
9081     ) -> *mut hostent;
9082 }
9083 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_int9084     pub fn gethostbyaddr_r(
9085         __addr: *const ::std::os::raw::c_void,
9086         __length: socklen_t,
9087         __type: ::std::os::raw::c_int,
9088         __ret: *mut hostent,
9089         __buf: *mut ::std::os::raw::c_char,
9090         __buf_size: usize,
9091         __result: *mut *mut hostent,
9092         __h_errno_ptr: *mut ::std::os::raw::c_int,
9093     ) -> ::std::os::raw::c_int;
9094 }
9095 extern "C" {
gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent9096     pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
9097 }
9098 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_int9099     pub fn gethostbyname_r(
9100         __name: *const ::std::os::raw::c_char,
9101         __ret: *mut hostent,
9102         __buf: *mut ::std::os::raw::c_char,
9103         __buf_size: usize,
9104         __result: *mut *mut hostent,
9105         __h_errno_ptr: *mut ::std::os::raw::c_int,
9106     ) -> ::std::os::raw::c_int;
9107 }
9108 extern "C" {
gethostbyname2( __name: *const ::std::os::raw::c_char, __af: ::std::os::raw::c_int, ) -> *mut hostent9109     pub fn gethostbyname2(
9110         __name: *const ::std::os::raw::c_char,
9111         __af: ::std::os::raw::c_int,
9112     ) -> *mut hostent;
9113 }
9114 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_int9115     pub fn gethostbyname2_r(
9116         __name: *const ::std::os::raw::c_char,
9117         __af: ::std::os::raw::c_int,
9118         __ret: *mut hostent,
9119         __buf: *mut ::std::os::raw::c_char,
9120         __buf_size: usize,
9121         __result: *mut *mut hostent,
9122         __h_errno_ptr: *mut ::std::os::raw::c_int,
9123     ) -> ::std::os::raw::c_int;
9124 }
9125 extern "C" {
endhostent()9126     pub fn endhostent();
9127 }
9128 extern "C" {
gethostent() -> *mut hostent9129     pub fn gethostent() -> *mut hostent;
9130 }
9131 extern "C" {
sethostent(__stay_open: ::std::os::raw::c_int)9132     pub fn sethostent(__stay_open: ::std::os::raw::c_int);
9133 }
9134 extern "C" {
endnetent()9135     pub fn endnetent();
9136 }
9137 extern "C" {
getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent9138     pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
9139 }
9140 extern "C" {
getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent9141     pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
9142 }
9143 extern "C" {
getnetent() -> *mut netent9144     pub fn getnetent() -> *mut netent;
9145 }
9146 extern "C" {
setnetent(__stay_open: ::std::os::raw::c_int)9147     pub fn setnetent(__stay_open: ::std::os::raw::c_int);
9148 }
9149 extern "C" {
endprotoent()9150     pub fn endprotoent();
9151 }
9152 extern "C" {
getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent9153     pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
9154 }
9155 extern "C" {
getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent9156     pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
9157 }
9158 extern "C" {
getprotoent() -> *mut protoent9159     pub fn getprotoent() -> *mut protoent;
9160 }
9161 extern "C" {
setprotoent(__stay_open: ::std::os::raw::c_int)9162     pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
9163 }
9164 extern "C" {
endservent()9165     pub fn endservent();
9166 }
9167 extern "C" {
getservbyname( __name: *const ::std::os::raw::c_char, __proto: *const ::std::os::raw::c_char, ) -> *mut servent9168     pub fn getservbyname(
9169         __name: *const ::std::os::raw::c_char,
9170         __proto: *const ::std::os::raw::c_char,
9171     ) -> *mut servent;
9172 }
9173 extern "C" {
getservbyport( __port_in_network_order: ::std::os::raw::c_int, __proto: *const ::std::os::raw::c_char, ) -> *mut servent9174     pub fn getservbyport(
9175         __port_in_network_order: ::std::os::raw::c_int,
9176         __proto: *const ::std::os::raw::c_char,
9177     ) -> *mut servent;
9178 }
9179 extern "C" {
getservent() -> *mut servent9180     pub fn getservent() -> *mut servent;
9181 }
9182 extern "C" {
setservent(__stay_open: ::std::os::raw::c_int)9183     pub fn setservent(__stay_open: ::std::os::raw::c_int);
9184 }
9185 pub type fpos_t = off_t;
9186 pub type fpos64_t = off64_t;
9187 #[repr(C)]
9188 #[derive(Debug, Copy, Clone)]
9189 pub struct __sFILE {
9190     _unused: [u8; 0],
9191 }
9192 pub type FILE = __sFILE;
9193 extern "C" {
9194     pub static mut stdin: *mut FILE;
9195 }
9196 extern "C" {
9197     pub static mut stdout: *mut FILE;
9198 }
9199 extern "C" {
9200     pub static mut stderr: *mut FILE;
9201 }
9202 extern "C" {
clearerr(__fp: *mut FILE)9203     pub fn clearerr(__fp: *mut FILE);
9204 }
9205 extern "C" {
fclose(__fp: *mut FILE) -> ::std::os::raw::c_int9206     pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
9207 }
9208 extern "C" {
feof(__fp: *mut FILE) -> ::std::os::raw::c_int9209     pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
9210 }
9211 extern "C" {
ferror(__fp: *mut FILE) -> ::std::os::raw::c_int9212     pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
9213 }
9214 extern "C" {
fflush(__fp: *mut FILE) -> ::std::os::raw::c_int9215     pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
9216 }
9217 extern "C" {
fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int9218     pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9219 }
9220 extern "C" {
fgets( __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_int, __fp: *mut FILE, ) -> *mut ::std::os::raw::c_char9221     pub fn fgets(
9222         __buf: *mut ::std::os::raw::c_char,
9223         __size: ::std::os::raw::c_int,
9224         __fp: *mut FILE,
9225     ) -> *mut ::std::os::raw::c_char;
9226 }
9227 extern "C" {
fprintf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9228     pub fn fprintf(
9229         __fp: *mut FILE,
9230         __fmt: *const ::std::os::raw::c_char,
9231         ...
9232     ) -> ::std::os::raw::c_int;
9233 }
9234 extern "C" {
fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9235     pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9236 }
9237 extern "C" {
fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int9238     pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
9239 }
9240 extern "C" {
fread( __buf: *mut ::std::os::raw::c_void, __size: ::std::os::raw::c_ulong, __count: ::std::os::raw::c_ulong, __fp: *mut FILE, ) -> ::std::os::raw::c_ulong9241     pub fn fread(
9242         __buf: *mut ::std::os::raw::c_void,
9243         __size: ::std::os::raw::c_ulong,
9244         __count: ::std::os::raw::c_ulong,
9245         __fp: *mut FILE,
9246     ) -> ::std::os::raw::c_ulong;
9247 }
9248 extern "C" {
fscanf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9249     pub fn fscanf(
9250         __fp: *mut FILE,
9251         __fmt: *const ::std::os::raw::c_char,
9252         ...
9253     ) -> ::std::os::raw::c_int;
9254 }
9255 extern "C" {
fwrite( __buf: *const ::std::os::raw::c_void, __size: ::std::os::raw::c_ulong, __count: ::std::os::raw::c_ulong, __fp: *mut FILE, ) -> ::std::os::raw::c_ulong9256     pub fn fwrite(
9257         __buf: *const ::std::os::raw::c_void,
9258         __size: ::std::os::raw::c_ulong,
9259         __count: ::std::os::raw::c_ulong,
9260         __fp: *mut FILE,
9261     ) -> ::std::os::raw::c_ulong;
9262 }
9263 extern "C" {
getc(__fp: *mut FILE) -> ::std::os::raw::c_int9264     pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9265 }
9266 extern "C" {
getchar() -> ::std::os::raw::c_int9267     pub fn getchar() -> ::std::os::raw::c_int;
9268 }
9269 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, ) -> isize9270     pub fn getdelim(
9271         __line_ptr: *mut *mut ::std::os::raw::c_char,
9272         __line_length_ptr: *mut usize,
9273         __delimiter: ::std::os::raw::c_int,
9274         __fp: *mut FILE,
9275     ) -> isize;
9276 }
9277 extern "C" {
getline( __line_ptr: *mut *mut ::std::os::raw::c_char, __line_length_ptr: *mut usize, __fp: *mut FILE, ) -> isize9278     pub fn getline(
9279         __line_ptr: *mut *mut ::std::os::raw::c_char,
9280         __line_length_ptr: *mut usize,
9281         __fp: *mut FILE,
9282     ) -> isize;
9283 }
9284 extern "C" {
perror(__msg: *const ::std::os::raw::c_char)9285     pub fn perror(__msg: *const ::std::os::raw::c_char);
9286 }
9287 extern "C" {
printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int9288     pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9289 }
9290 extern "C" {
putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9291     pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9292 }
9293 extern "C" {
putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int9294     pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9295 }
9296 extern "C" {
puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9297     pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9298 }
9299 extern "C" {
remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9300     pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9301 }
9302 extern "C" {
rewind(__fp: *mut FILE)9303     pub fn rewind(__fp: *mut FILE);
9304 }
9305 extern "C" {
scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int9306     pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9307 }
9308 extern "C" {
setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char)9309     pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
9310 }
9311 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_int9312     pub fn setvbuf(
9313         __fp: *mut FILE,
9314         __buf: *mut ::std::os::raw::c_char,
9315         __mode: ::std::os::raw::c_int,
9316         __size: usize,
9317     ) -> ::std::os::raw::c_int;
9318 }
9319 extern "C" {
sscanf( __s: *const ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9320     pub fn sscanf(
9321         __s: *const ::std::os::raw::c_char,
9322         __fmt: *const ::std::os::raw::c_char,
9323         ...
9324     ) -> ::std::os::raw::c_int;
9325 }
9326 extern "C" {
ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9327     pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9328 }
9329 extern "C" {
vfprintf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9330     pub fn vfprintf(
9331         __fp: *mut FILE,
9332         __fmt: *const ::std::os::raw::c_char,
9333         __args: __builtin_va_list,
9334     ) -> ::std::os::raw::c_int;
9335 }
9336 extern "C" {
vprintf( __fp: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9337     pub fn vprintf(
9338         __fp: *const ::std::os::raw::c_char,
9339         __args: __builtin_va_list,
9340     ) -> ::std::os::raw::c_int;
9341 }
9342 extern "C" {
dprintf( __fd: ::std::os::raw::c_int, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9343     pub fn dprintf(
9344         __fd: ::std::os::raw::c_int,
9345         __fmt: *const ::std::os::raw::c_char,
9346         ...
9347     ) -> ::std::os::raw::c_int;
9348 }
9349 extern "C" {
vdprintf( __fd: ::std::os::raw::c_int, __fmt: *const ::std::os::raw::c_char, __args: va_list, ) -> ::std::os::raw::c_int9350     pub fn vdprintf(
9351         __fd: ::std::os::raw::c_int,
9352         __fmt: *const ::std::os::raw::c_char,
9353         __args: va_list,
9354     ) -> ::std::os::raw::c_int;
9355 }
9356 extern "C" {
sprintf( __s: *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9357     pub fn sprintf(
9358         __s: *mut ::std::os::raw::c_char,
9359         __fmt: *const ::std::os::raw::c_char,
9360         ...
9361     ) -> ::std::os::raw::c_int;
9362 }
9363 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_int9364     pub fn vsprintf(
9365         __s: *mut ::std::os::raw::c_char,
9366         __fmt: *const ::std::os::raw::c_char,
9367         __args: __builtin_va_list,
9368     ) -> ::std::os::raw::c_int;
9369 }
9370 extern "C" {
tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9371     pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9372 }
9373 extern "C" {
tempnam( __dir: *const ::std::os::raw::c_char, __prefix: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char9374     pub fn tempnam(
9375         __dir: *const ::std::os::raw::c_char,
9376         __prefix: *const ::std::os::raw::c_char,
9377     ) -> *mut ::std::os::raw::c_char;
9378 }
9379 extern "C" {
rename( __old_path: *const ::std::os::raw::c_char, __new_path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int9380     pub fn rename(
9381         __old_path: *const ::std::os::raw::c_char,
9382         __new_path: *const ::std::os::raw::c_char,
9383     ) -> ::std::os::raw::c_int;
9384 }
9385 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_int9386     pub fn renameat(
9387         __old_dir_fd: ::std::os::raw::c_int,
9388         __old_path: *const ::std::os::raw::c_char,
9389         __new_dir_fd: ::std::os::raw::c_int,
9390         __new_path: *const ::std::os::raw::c_char,
9391     ) -> ::std::os::raw::c_int;
9392 }
9393 extern "C" {
fseek( __fp: *mut FILE, __offset: ::std::os::raw::c_long, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9394     pub fn fseek(
9395         __fp: *mut FILE,
9396         __offset: ::std::os::raw::c_long,
9397         __whence: ::std::os::raw::c_int,
9398     ) -> ::std::os::raw::c_int;
9399 }
9400 extern "C" {
ftell(__fp: *mut FILE) -> ::std::os::raw::c_long9401     pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
9402 }
9403 extern "C" {
fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int9404     pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
9405 }
9406 extern "C" {
fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int9407     pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
9408 }
9409 extern "C" {
fseeko( __fp: *mut FILE, __offset: off_t, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9410     pub fn fseeko(
9411         __fp: *mut FILE,
9412         __offset: off_t,
9413         __whence: ::std::os::raw::c_int,
9414     ) -> ::std::os::raw::c_int;
9415 }
9416 extern "C" {
ftello(__fp: *mut FILE) -> off_t9417     pub fn ftello(__fp: *mut FILE) -> off_t;
9418 }
9419 extern "C" {
fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int9420     pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
9421 }
9422 extern "C" {
fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int9423     pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
9424 }
9425 extern "C" {
fseeko64( __fp: *mut FILE, __offset: off64_t, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9426     pub fn fseeko64(
9427         __fp: *mut FILE,
9428         __offset: off64_t,
9429         __whence: ::std::os::raw::c_int,
9430     ) -> ::std::os::raw::c_int;
9431 }
9432 extern "C" {
ftello64(__fp: *mut FILE) -> off64_t9433     pub fn ftello64(__fp: *mut FILE) -> off64_t;
9434 }
9435 extern "C" {
fopen( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9436     pub fn fopen(
9437         __path: *const ::std::os::raw::c_char,
9438         __mode: *const ::std::os::raw::c_char,
9439     ) -> *mut FILE;
9440 }
9441 extern "C" {
fopen64( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9442     pub fn fopen64(
9443         __path: *const ::std::os::raw::c_char,
9444         __mode: *const ::std::os::raw::c_char,
9445     ) -> *mut FILE;
9446 }
9447 extern "C" {
freopen( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, __fp: *mut FILE, ) -> *mut FILE9448     pub fn freopen(
9449         __path: *const ::std::os::raw::c_char,
9450         __mode: *const ::std::os::raw::c_char,
9451         __fp: *mut FILE,
9452     ) -> *mut FILE;
9453 }
9454 extern "C" {
freopen64( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, __fp: *mut FILE, ) -> *mut FILE9455     pub fn freopen64(
9456         __path: *const ::std::os::raw::c_char,
9457         __mode: *const ::std::os::raw::c_char,
9458         __fp: *mut FILE,
9459     ) -> *mut FILE;
9460 }
9461 extern "C" {
tmpfile() -> *mut FILE9462     pub fn tmpfile() -> *mut FILE;
9463 }
9464 extern "C" {
tmpfile64() -> *mut FILE9465     pub fn tmpfile64() -> *mut FILE;
9466 }
9467 extern "C" {
snprintf( __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_ulong, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9468     pub fn snprintf(
9469         __buf: *mut ::std::os::raw::c_char,
9470         __size: ::std::os::raw::c_ulong,
9471         __fmt: *const ::std::os::raw::c_char,
9472         ...
9473     ) -> ::std::os::raw::c_int;
9474 }
9475 extern "C" {
vfscanf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9476     pub fn vfscanf(
9477         __fp: *mut FILE,
9478         __fmt: *const ::std::os::raw::c_char,
9479         __args: __builtin_va_list,
9480     ) -> ::std::os::raw::c_int;
9481 }
9482 extern "C" {
vscanf( __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9483     pub fn vscanf(
9484         __fmt: *const ::std::os::raw::c_char,
9485         __args: __builtin_va_list,
9486     ) -> ::std::os::raw::c_int;
9487 }
9488 extern "C" {
vsnprintf( __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_ulong, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9489     pub fn vsnprintf(
9490         __buf: *mut ::std::os::raw::c_char,
9491         __size: ::std::os::raw::c_ulong,
9492         __fmt: *const ::std::os::raw::c_char,
9493         __args: __builtin_va_list,
9494     ) -> ::std::os::raw::c_int;
9495 }
9496 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_int9497     pub fn vsscanf(
9498         __s: *const ::std::os::raw::c_char,
9499         __fmt: *const ::std::os::raw::c_char,
9500         __args: __builtin_va_list,
9501     ) -> ::std::os::raw::c_int;
9502 }
9503 extern "C" {
ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9504     pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9505 }
9506 extern "C" {
fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE9507     pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
9508 }
9509 extern "C" {
fileno(__fp: *mut FILE) -> ::std::os::raw::c_int9510     pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
9511 }
9512 extern "C" {
pclose(__fp: *mut FILE) -> ::std::os::raw::c_int9513     pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
9514 }
9515 extern "C" {
popen( __command: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9516     pub fn popen(
9517         __command: *const ::std::os::raw::c_char,
9518         __mode: *const ::std::os::raw::c_char,
9519     ) -> *mut FILE;
9520 }
9521 extern "C" {
flockfile(__fp: *mut FILE)9522     pub fn flockfile(__fp: *mut FILE);
9523 }
9524 extern "C" {
ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int9525     pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
9526 }
9527 extern "C" {
funlockfile(__fp: *mut FILE)9528     pub fn funlockfile(__fp: *mut FILE);
9529 }
9530 extern "C" {
getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int9531     pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9532 }
9533 extern "C" {
getchar_unlocked() -> ::std::os::raw::c_int9534     pub fn getchar_unlocked() -> ::std::os::raw::c_int;
9535 }
9536 extern "C" {
putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9537     pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9538 }
9539 extern "C" {
putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int9540     pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9541 }
9542 extern "C" {
fmemopen( __buf: *mut ::std::os::raw::c_void, __size: usize, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9543     pub fn fmemopen(
9544         __buf: *mut ::std::os::raw::c_void,
9545         __size: usize,
9546         __mode: *const ::std::os::raw::c_char,
9547     ) -> *mut FILE;
9548 }
9549 extern "C" {
open_memstream( __ptr: *mut *mut ::std::os::raw::c_char, __size_ptr: *mut usize, ) -> *mut FILE9550     pub fn open_memstream(
9551         __ptr: *mut *mut ::std::os::raw::c_char,
9552         __size_ptr: *mut usize,
9553     ) -> *mut FILE;
9554 }
9555 extern "C" {
asprintf( __s_ptr: *mut *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9556     pub fn asprintf(
9557         __s_ptr: *mut *mut ::std::os::raw::c_char,
9558         __fmt: *const ::std::os::raw::c_char,
9559         ...
9560     ) -> ::std::os::raw::c_int;
9561 }
9562 extern "C" {
fgetln(__fp: *mut FILE, __length_ptr: *mut usize) -> *mut ::std::os::raw::c_char9563     pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut usize) -> *mut ::std::os::raw::c_char;
9564 }
9565 extern "C" {
fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int9566     pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
9567 }
9568 extern "C" {
setbuffer( __fp: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_int, )9569     pub fn setbuffer(
9570         __fp: *mut FILE,
9571         __buf: *mut ::std::os::raw::c_char,
9572         __size: ::std::os::raw::c_int,
9573     );
9574 }
9575 extern "C" {
setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int9576     pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
9577 }
9578 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_int9579     pub fn vasprintf(
9580         __s_ptr: *mut *mut ::std::os::raw::c_char,
9581         __fmt: *const ::std::os::raw::c_char,
9582         __args: va_list,
9583     ) -> ::std::os::raw::c_int;
9584 }
9585 extern "C" {
clearerr_unlocked(__fp: *mut FILE)9586     pub fn clearerr_unlocked(__fp: *mut FILE);
9587 }
9588 extern "C" {
feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int9589     pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9590 }
9591 extern "C" {
ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int9592     pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9593 }
9594 extern "C" {
fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int9595     pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
9596 }
9597 extern "C" {
malloc(__byte_count: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void9598     pub fn malloc(__byte_count: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
9599 }
9600 extern "C" {
calloc( __item_count: ::std::os::raw::c_ulong, __item_size: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void9601     pub fn calloc(
9602         __item_count: ::std::os::raw::c_ulong,
9603         __item_size: ::std::os::raw::c_ulong,
9604     ) -> *mut ::std::os::raw::c_void;
9605 }
9606 extern "C" {
realloc( __ptr: *mut ::std::os::raw::c_void, __byte_count: ::std::os::raw::c_ulong, ) -> *mut ::std::os::raw::c_void9607     pub fn realloc(
9608         __ptr: *mut ::std::os::raw::c_void,
9609         __byte_count: ::std::os::raw::c_ulong,
9610     ) -> *mut ::std::os::raw::c_void;
9611 }
9612 extern "C" {
reallocarray( __ptr: *mut ::std::os::raw::c_void, __item_count: usize, __item_size: usize, ) -> *mut ::std::os::raw::c_void9613     pub fn reallocarray(
9614         __ptr: *mut ::std::os::raw::c_void,
9615         __item_count: usize,
9616         __item_size: usize,
9617     ) -> *mut ::std::os::raw::c_void;
9618 }
9619 extern "C" {
free(__ptr: *mut ::std::os::raw::c_void)9620     pub fn free(__ptr: *mut ::std::os::raw::c_void);
9621 }
9622 extern "C" {
memalign(__alignment: usize, __byte_count: usize) -> *mut ::std::os::raw::c_void9623     pub fn memalign(__alignment: usize, __byte_count: usize) -> *mut ::std::os::raw::c_void;
9624 }
9625 extern "C" {
malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> usize9626     pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> usize;
9627 }
9628 #[repr(C)]
9629 #[derive(Debug, Copy, Clone)]
9630 pub struct mallinfo {
9631     pub arena: usize,
9632     pub ordblks: usize,
9633     pub smblks: usize,
9634     pub hblks: usize,
9635     pub hblkhd: usize,
9636     pub usmblks: usize,
9637     pub fsmblks: usize,
9638     pub uordblks: usize,
9639     pub fordblks: usize,
9640     pub keepcost: usize,
9641 }
9642 #[test]
bindgen_test_layout_mallinfo()9643 fn bindgen_test_layout_mallinfo() {
9644     assert_eq!(
9645         ::std::mem::size_of::<mallinfo>(),
9646         80usize,
9647         concat!("Size of: ", stringify!(mallinfo))
9648     );
9649     assert_eq!(
9650         ::std::mem::align_of::<mallinfo>(),
9651         8usize,
9652         concat!("Alignment of ", stringify!(mallinfo))
9653     );
9654     assert_eq!(
9655         unsafe { &(*(::std::ptr::null::<mallinfo>())).arena as *const _ as usize },
9656         0usize,
9657         concat!(
9658             "Offset of field: ",
9659             stringify!(mallinfo),
9660             "::",
9661             stringify!(arena)
9662         )
9663     );
9664     assert_eq!(
9665         unsafe { &(*(::std::ptr::null::<mallinfo>())).ordblks as *const _ as usize },
9666         8usize,
9667         concat!(
9668             "Offset of field: ",
9669             stringify!(mallinfo),
9670             "::",
9671             stringify!(ordblks)
9672         )
9673     );
9674     assert_eq!(
9675         unsafe { &(*(::std::ptr::null::<mallinfo>())).smblks as *const _ as usize },
9676         16usize,
9677         concat!(
9678             "Offset of field: ",
9679             stringify!(mallinfo),
9680             "::",
9681             stringify!(smblks)
9682         )
9683     );
9684     assert_eq!(
9685         unsafe { &(*(::std::ptr::null::<mallinfo>())).hblks as *const _ as usize },
9686         24usize,
9687         concat!(
9688             "Offset of field: ",
9689             stringify!(mallinfo),
9690             "::",
9691             stringify!(hblks)
9692         )
9693     );
9694     assert_eq!(
9695         unsafe { &(*(::std::ptr::null::<mallinfo>())).hblkhd as *const _ as usize },
9696         32usize,
9697         concat!(
9698             "Offset of field: ",
9699             stringify!(mallinfo),
9700             "::",
9701             stringify!(hblkhd)
9702         )
9703     );
9704     assert_eq!(
9705         unsafe { &(*(::std::ptr::null::<mallinfo>())).usmblks as *const _ as usize },
9706         40usize,
9707         concat!(
9708             "Offset of field: ",
9709             stringify!(mallinfo),
9710             "::",
9711             stringify!(usmblks)
9712         )
9713     );
9714     assert_eq!(
9715         unsafe { &(*(::std::ptr::null::<mallinfo>())).fsmblks as *const _ as usize },
9716         48usize,
9717         concat!(
9718             "Offset of field: ",
9719             stringify!(mallinfo),
9720             "::",
9721             stringify!(fsmblks)
9722         )
9723     );
9724     assert_eq!(
9725         unsafe { &(*(::std::ptr::null::<mallinfo>())).uordblks as *const _ as usize },
9726         56usize,
9727         concat!(
9728             "Offset of field: ",
9729             stringify!(mallinfo),
9730             "::",
9731             stringify!(uordblks)
9732         )
9733     );
9734     assert_eq!(
9735         unsafe { &(*(::std::ptr::null::<mallinfo>())).fordblks as *const _ as usize },
9736         64usize,
9737         concat!(
9738             "Offset of field: ",
9739             stringify!(mallinfo),
9740             "::",
9741             stringify!(fordblks)
9742         )
9743     );
9744     assert_eq!(
9745         unsafe { &(*(::std::ptr::null::<mallinfo>())).keepcost as *const _ as usize },
9746         72usize,
9747         concat!(
9748             "Offset of field: ",
9749             stringify!(mallinfo),
9750             "::",
9751             stringify!(keepcost)
9752         )
9753     );
9754 }
9755 extern "C" {
mallinfo() -> mallinfo9756     pub fn mallinfo() -> mallinfo;
9757 }
9758 extern "C" {
malloc_info( __must_be_zero: ::std::os::raw::c_int, __fp: *mut FILE, ) -> ::std::os::raw::c_int9759     pub fn malloc_info(
9760         __must_be_zero: ::std::os::raw::c_int,
9761         __fp: *mut FILE,
9762     ) -> ::std::os::raw::c_int;
9763 }
9764 extern "C" {
mallopt( __option: ::std::os::raw::c_int, __value: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9765     pub fn mallopt(
9766         __option: ::std::os::raw::c_int,
9767         __value: ::std::os::raw::c_int,
9768     ) -> ::std::os::raw::c_int;
9769 }
9770 extern "C" {
9771     pub static mut __malloc_hook: ::std::option::Option<
9772         unsafe extern "C" fn(
9773             __byte_count: usize,
9774             __caller: *const ::std::os::raw::c_void,
9775         ) -> *mut ::std::os::raw::c_void,
9776     >;
9777 }
9778 extern "C" {
9779     pub static mut __realloc_hook: ::std::option::Option<
9780         unsafe extern "C" fn(
9781             __ptr: *mut ::std::os::raw::c_void,
9782             __byte_count: usize,
9783             __caller: *const ::std::os::raw::c_void,
9784         ) -> *mut ::std::os::raw::c_void,
9785     >;
9786 }
9787 extern "C" {
9788     pub static mut __free_hook: ::std::option::Option<
9789         unsafe extern "C" fn(
9790             __ptr: *mut ::std::os::raw::c_void,
9791             __caller: *const ::std::os::raw::c_void,
9792         ),
9793     >;
9794 }
9795 extern "C" {
9796     pub static mut __memalign_hook: ::std::option::Option<
9797         unsafe extern "C" fn(
9798             __alignment: usize,
9799             __byte_count: usize,
9800             __caller: *const ::std::os::raw::c_void,
9801         ) -> *mut ::std::os::raw::c_void,
9802     >;
9803 }
9804 #[repr(C)]
9805 #[derive(Debug, Copy, Clone)]
9806 pub struct __locale_t {
9807     _unused: [u8; 0],
9808 }
9809 pub type locale_t = *mut __locale_t;
9810 extern "C" {
abort()9811     pub fn abort();
9812 }
9813 extern "C" {
exit(__status: ::std::os::raw::c_int)9814     pub fn exit(__status: ::std::os::raw::c_int);
9815 }
9816 extern "C" {
_Exit(__status: ::std::os::raw::c_int)9817     pub fn _Exit(__status: ::std::os::raw::c_int);
9818 }
9819 extern "C" {
atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int9820     pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
9821 }
9822 extern "C" {
at_quick_exit( __fn: ::std::option::Option<unsafe extern "C" fn()>, ) -> ::std::os::raw::c_int9823     pub fn at_quick_exit(
9824         __fn: ::std::option::Option<unsafe extern "C" fn()>,
9825     ) -> ::std::os::raw::c_int;
9826 }
9827 extern "C" {
quick_exit(__status: ::std::os::raw::c_int)9828     pub fn quick_exit(__status: ::std::os::raw::c_int);
9829 }
9830 extern "C" {
getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9831     pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9832 }
9833 extern "C" {
putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int9834     pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9835 }
9836 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_int9837     pub fn setenv(
9838         __name: *const ::std::os::raw::c_char,
9839         __value: *const ::std::os::raw::c_char,
9840         __overwrite: ::std::os::raw::c_int,
9841     ) -> ::std::os::raw::c_int;
9842 }
9843 extern "C" {
unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9844     pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9845 }
9846 extern "C" {
clearenv() -> ::std::os::raw::c_int9847     pub fn clearenv() -> ::std::os::raw::c_int;
9848 }
9849 extern "C" {
mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9850     pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9851 }
9852 extern "C" {
mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9853     pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9854 }
9855 extern "C" {
mkostemp64( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9856     pub fn mkostemp64(
9857         __template: *mut ::std::os::raw::c_char,
9858         __flags: ::std::os::raw::c_int,
9859     ) -> ::std::os::raw::c_int;
9860 }
9861 extern "C" {
mkostemp( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9862     pub fn mkostemp(
9863         __template: *mut ::std::os::raw::c_char,
9864         __flags: ::std::os::raw::c_int,
9865     ) -> ::std::os::raw::c_int;
9866 }
9867 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_int9868     pub fn mkostemps64(
9869         __template: *mut ::std::os::raw::c_char,
9870         __suffix_length: ::std::os::raw::c_int,
9871         __flags: ::std::os::raw::c_int,
9872     ) -> ::std::os::raw::c_int;
9873 }
9874 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_int9875     pub fn mkostemps(
9876         __template: *mut ::std::os::raw::c_char,
9877         __suffix_length: ::std::os::raw::c_int,
9878         __flags: ::std::os::raw::c_int,
9879     ) -> ::std::os::raw::c_int;
9880 }
9881 extern "C" {
mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int9882     pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9883 }
9884 extern "C" {
mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int9885     pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9886 }
9887 extern "C" {
mkstemps64( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9888     pub fn mkstemps64(
9889         __template: *mut ::std::os::raw::c_char,
9890         __flags: ::std::os::raw::c_int,
9891     ) -> ::std::os::raw::c_int;
9892 }
9893 extern "C" {
mkstemps( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9894     pub fn mkstemps(
9895         __template: *mut ::std::os::raw::c_char,
9896         __flags: ::std::os::raw::c_int,
9897     ) -> ::std::os::raw::c_int;
9898 }
9899 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_long9900     pub fn strtol(
9901         __s: *const ::std::os::raw::c_char,
9902         __end_ptr: *mut *mut ::std::os::raw::c_char,
9903         __base: ::std::os::raw::c_int,
9904     ) -> ::std::os::raw::c_long;
9905 }
9906 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_longlong9907     pub fn strtoll(
9908         __s: *const ::std::os::raw::c_char,
9909         __end_ptr: *mut *mut ::std::os::raw::c_char,
9910         __base: ::std::os::raw::c_int,
9911     ) -> ::std::os::raw::c_longlong;
9912 }
9913 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_ulong9914     pub fn strtoul(
9915         __s: *const ::std::os::raw::c_char,
9916         __end_ptr: *mut *mut ::std::os::raw::c_char,
9917         __base: ::std::os::raw::c_int,
9918     ) -> ::std::os::raw::c_ulong;
9919 }
9920 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_ulonglong9921     pub fn strtoull(
9922         __s: *const ::std::os::raw::c_char,
9923         __end_ptr: *mut *mut ::std::os::raw::c_char,
9924         __base: ::std::os::raw::c_int,
9925     ) -> ::std::os::raw::c_ulonglong;
9926 }
9927 extern "C" {
posix_memalign( __memptr: *mut *mut ::std::os::raw::c_void, __alignment: usize, __size: usize, ) -> ::std::os::raw::c_int9928     pub fn posix_memalign(
9929         __memptr: *mut *mut ::std::os::raw::c_void,
9930         __alignment: usize,
9931         __size: usize,
9932     ) -> ::std::os::raw::c_int;
9933 }
9934 extern "C" {
aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void9935     pub fn aligned_alloc(__alignment: usize, __size: usize) -> *mut ::std::os::raw::c_void;
9936 }
9937 extern "C" {
strtod( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, ) -> f649938     pub fn strtod(
9939         __s: *const ::std::os::raw::c_char,
9940         __end_ptr: *mut *mut ::std::os::raw::c_char,
9941     ) -> f64;
9942 }
9943 extern "C" {
strtold( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, ) -> u1289944     pub fn strtold(
9945         __s: *const ::std::os::raw::c_char,
9946         __end_ptr: *mut *mut ::std::os::raw::c_char,
9947     ) -> u128;
9948 }
9949 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_ulong9950     pub fn strtoul_l(
9951         __s: *const ::std::os::raw::c_char,
9952         __end_ptr: *mut *mut ::std::os::raw::c_char,
9953         __base: ::std::os::raw::c_int,
9954         __l: locale_t,
9955     ) -> ::std::os::raw::c_ulong;
9956 }
9957 extern "C" {
atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9958     pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9959 }
9960 extern "C" {
atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long9961     pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
9962 }
9963 extern "C" {
atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong9964     pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
9965 }
9966 extern "C" {
realpath( __path: *const ::std::os::raw::c_char, __resolved: *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char9967     pub fn realpath(
9968         __path: *const ::std::os::raw::c_char,
9969         __resolved: *mut ::std::os::raw::c_char,
9970     ) -> *mut ::std::os::raw::c_char;
9971 }
9972 extern "C" {
system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9973     pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9974 }
9975 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_void9976     pub fn bsearch(
9977         __key: *const ::std::os::raw::c_void,
9978         __base: *const ::std::os::raw::c_void,
9979         __nmemb: usize,
9980         __size: usize,
9981         __comparator: ::std::option::Option<
9982             unsafe extern "C" fn(
9983                 __lhs: *const ::std::os::raw::c_void,
9984                 __rhs: *const ::std::os::raw::c_void,
9985             ) -> ::std::os::raw::c_int,
9986         >,
9987     ) -> *mut ::std::os::raw::c_void;
9988 }
9989 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, >, )9990     pub fn qsort(
9991         __base: *mut ::std::os::raw::c_void,
9992         __nmemb: usize,
9993         __size: usize,
9994         __comparator: ::std::option::Option<
9995             unsafe extern "C" fn(
9996                 __lhs: *const ::std::os::raw::c_void,
9997                 __rhs: *const ::std::os::raw::c_void,
9998             ) -> ::std::os::raw::c_int,
9999         >,
10000     );
10001 }
10002 extern "C" {
arc4random() -> u3210003     pub fn arc4random() -> u32;
10004 }
10005 extern "C" {
arc4random_uniform(__upper_bound: u32) -> u3210006     pub fn arc4random_uniform(__upper_bound: u32) -> u32;
10007 }
10008 extern "C" {
arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: usize)10009     pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: usize);
10010 }
10011 extern "C" {
rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int10012     pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
10013 }
10014 extern "C" {
drand48() -> f6410015     pub fn drand48() -> f64;
10016 }
10017 extern "C" {
erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f6410018     pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
10019 }
10020 extern "C" {
jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long10021     pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
10022 }
10023 extern "C" {
lcong48(__param: *mut ::std::os::raw::c_ushort)10024     pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
10025 }
10026 extern "C" {
lrand48() -> ::std::os::raw::c_long10027     pub fn lrand48() -> ::std::os::raw::c_long;
10028 }
10029 extern "C" {
mrand48() -> ::std::os::raw::c_long10030     pub fn mrand48() -> ::std::os::raw::c_long;
10031 }
10032 extern "C" {
nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long10033     pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
10034 }
10035 extern "C" {
seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort10036     pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
10037 }
10038 extern "C" {
srand48(__seed: ::std::os::raw::c_long)10039     pub fn srand48(__seed: ::std::os::raw::c_long);
10040 }
10041 extern "C" {
initstate( __seed: ::std::os::raw::c_uint, __state: *mut ::std::os::raw::c_char, __n: usize, ) -> *mut ::std::os::raw::c_char10042     pub fn initstate(
10043         __seed: ::std::os::raw::c_uint,
10044         __state: *mut ::std::os::raw::c_char,
10045         __n: usize,
10046     ) -> *mut ::std::os::raw::c_char;
10047 }
10048 extern "C" {
setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char10049     pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10050 }
10051 extern "C" {
getpt() -> ::std::os::raw::c_int10052     pub fn getpt() -> ::std::os::raw::c_int;
10053 }
10054 extern "C" {
posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int10055     pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10056 }
10057 extern "C" {
ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char10058     pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
10059 }
10060 extern "C" {
ptsname_r( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_char, __n: usize, ) -> ::std::os::raw::c_int10061     pub fn ptsname_r(
10062         __fd: ::std::os::raw::c_int,
10063         __buf: *mut ::std::os::raw::c_char,
10064         __n: usize,
10065     ) -> ::std::os::raw::c_int;
10066 }
10067 extern "C" {
unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int10068     pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10069 }
10070 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_int10071     pub fn getsubopt(
10072         __option: *mut *mut ::std::os::raw::c_char,
10073         __tokens: *const *mut ::std::os::raw::c_char,
10074         __value_ptr: *mut *mut ::std::os::raw::c_char,
10075     ) -> ::std::os::raw::c_int;
10076 }
10077 #[repr(C)]
10078 #[derive(Debug, Copy, Clone)]
10079 pub struct div_t {
10080     pub quot: ::std::os::raw::c_int,
10081     pub rem: ::std::os::raw::c_int,
10082 }
10083 #[test]
bindgen_test_layout_div_t()10084 fn bindgen_test_layout_div_t() {
10085     assert_eq!(
10086         ::std::mem::size_of::<div_t>(),
10087         8usize,
10088         concat!("Size of: ", stringify!(div_t))
10089     );
10090     assert_eq!(
10091         ::std::mem::align_of::<div_t>(),
10092         4usize,
10093         concat!("Alignment of ", stringify!(div_t))
10094     );
10095     assert_eq!(
10096         unsafe { &(*(::std::ptr::null::<div_t>())).quot as *const _ as usize },
10097         0usize,
10098         concat!(
10099             "Offset of field: ",
10100             stringify!(div_t),
10101             "::",
10102             stringify!(quot)
10103         )
10104     );
10105     assert_eq!(
10106         unsafe { &(*(::std::ptr::null::<div_t>())).rem as *const _ as usize },
10107         4usize,
10108         concat!(
10109             "Offset of field: ",
10110             stringify!(div_t),
10111             "::",
10112             stringify!(rem)
10113         )
10114     );
10115 }
10116 extern "C" {
div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t10117     pub fn div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t;
10118 }
10119 #[repr(C)]
10120 #[derive(Debug, Copy, Clone)]
10121 pub struct ldiv_t {
10122     pub quot: ::std::os::raw::c_long,
10123     pub rem: ::std::os::raw::c_long,
10124 }
10125 #[test]
bindgen_test_layout_ldiv_t()10126 fn bindgen_test_layout_ldiv_t() {
10127     assert_eq!(
10128         ::std::mem::size_of::<ldiv_t>(),
10129         16usize,
10130         concat!("Size of: ", stringify!(ldiv_t))
10131     );
10132     assert_eq!(
10133         ::std::mem::align_of::<ldiv_t>(),
10134         8usize,
10135         concat!("Alignment of ", stringify!(ldiv_t))
10136     );
10137     assert_eq!(
10138         unsafe { &(*(::std::ptr::null::<ldiv_t>())).quot as *const _ as usize },
10139         0usize,
10140         concat!(
10141             "Offset of field: ",
10142             stringify!(ldiv_t),
10143             "::",
10144             stringify!(quot)
10145         )
10146     );
10147     assert_eq!(
10148         unsafe { &(*(::std::ptr::null::<ldiv_t>())).rem as *const _ as usize },
10149         8usize,
10150         concat!(
10151             "Offset of field: ",
10152             stringify!(ldiv_t),
10153             "::",
10154             stringify!(rem)
10155         )
10156     );
10157 }
10158 extern "C" {
ldiv( __numerator: ::std::os::raw::c_long, __denominator: ::std::os::raw::c_long, ) -> ldiv_t10159     pub fn ldiv(
10160         __numerator: ::std::os::raw::c_long,
10161         __denominator: ::std::os::raw::c_long,
10162     ) -> ldiv_t;
10163 }
10164 #[repr(C)]
10165 #[derive(Debug, Copy, Clone)]
10166 pub struct lldiv_t {
10167     pub quot: ::std::os::raw::c_longlong,
10168     pub rem: ::std::os::raw::c_longlong,
10169 }
10170 #[test]
bindgen_test_layout_lldiv_t()10171 fn bindgen_test_layout_lldiv_t() {
10172     assert_eq!(
10173         ::std::mem::size_of::<lldiv_t>(),
10174         16usize,
10175         concat!("Size of: ", stringify!(lldiv_t))
10176     );
10177     assert_eq!(
10178         ::std::mem::align_of::<lldiv_t>(),
10179         8usize,
10180         concat!("Alignment of ", stringify!(lldiv_t))
10181     );
10182     assert_eq!(
10183         unsafe { &(*(::std::ptr::null::<lldiv_t>())).quot as *const _ as usize },
10184         0usize,
10185         concat!(
10186             "Offset of field: ",
10187             stringify!(lldiv_t),
10188             "::",
10189             stringify!(quot)
10190         )
10191     );
10192     assert_eq!(
10193         unsafe { &(*(::std::ptr::null::<lldiv_t>())).rem as *const _ as usize },
10194         8usize,
10195         concat!(
10196             "Offset of field: ",
10197             stringify!(lldiv_t),
10198             "::",
10199             stringify!(rem)
10200         )
10201     );
10202 }
10203 extern "C" {
lldiv( __numerator: ::std::os::raw::c_longlong, __denominator: ::std::os::raw::c_longlong, ) -> lldiv_t10204     pub fn lldiv(
10205         __numerator: ::std::os::raw::c_longlong,
10206         __denominator: ::std::os::raw::c_longlong,
10207     ) -> lldiv_t;
10208 }
10209 extern "C" {
getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int10210     pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10211 }
10212 extern "C" {
getprogname() -> *const ::std::os::raw::c_char10213     pub fn getprogname() -> *const ::std::os::raw::c_char;
10214 }
10215 extern "C" {
setprogname(__name: *const ::std::os::raw::c_char)10216     pub fn setprogname(__name: *const ::std::os::raw::c_char);
10217 }
10218 extern "C" {
mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int10219     pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
10220 }
10221 extern "C" {
mbstowcs(__dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: usize) -> usize10222     pub fn mbstowcs(__dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: usize)
10223         -> usize;
10224 }
10225 extern "C" {
mbtowc( __wc_ptr: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: usize, ) -> ::std::os::raw::c_int10226     pub fn mbtowc(
10227         __wc_ptr: *mut wchar_t,
10228         __s: *const ::std::os::raw::c_char,
10229         __n: usize,
10230     ) -> ::std::os::raw::c_int;
10231 }
10232 extern "C" {
wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int10233     pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
10234 }
10235 extern "C" {
wcstombs(__dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: usize) -> usize10236     pub fn wcstombs(__dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: usize)
10237         -> usize;
10238 }
10239 extern "C" {
__ctype_get_mb_cur_max() -> usize10240     pub fn __ctype_get_mb_cur_max() -> usize;
10241 }
10242 extern "C" {
abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int10243     pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10244 }
10245 extern "C" {
labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long10246     pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
10247 }
10248 extern "C" {
llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong10249     pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
10250 }
10251 extern "C" {
strtof( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, ) -> f3210252     pub fn strtof(
10253         __s: *const ::std::os::raw::c_char,
10254         __end_ptr: *mut *mut ::std::os::raw::c_char,
10255     ) -> f32;
10256 }
10257 extern "C" {
atof(__s: *const ::std::os::raw::c_char) -> f6410258     pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
10259 }
10260 extern "C" {
rand() -> ::std::os::raw::c_int10261     pub fn rand() -> ::std::os::raw::c_int;
10262 }
10263 extern "C" {
srand(__seed: ::std::os::raw::c_uint)10264     pub fn srand(__seed: ::std::os::raw::c_uint);
10265 }
10266 extern "C" {
random() -> ::std::os::raw::c_long10267     pub fn random() -> ::std::os::raw::c_long;
10268 }
10269 extern "C" {
srandom(__seed: ::std::os::raw::c_uint)10270     pub fn srandom(__seed: ::std::os::raw::c_uint);
10271 }
10272 extern "C" {
grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int10273     pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10274 }
10275 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_longlong10276     pub fn strtoll_l(
10277         __s: *const ::std::os::raw::c_char,
10278         __end_ptr: *mut *mut ::std::os::raw::c_char,
10279         __base: ::std::os::raw::c_int,
10280         __l: locale_t,
10281     ) -> ::std::os::raw::c_longlong;
10282 }
10283 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_ulonglong10284     pub fn strtoull_l(
10285         __s: *const ::std::os::raw::c_char,
10286         __end_ptr: *mut *mut ::std::os::raw::c_char,
10287         __base: ::std::os::raw::c_int,
10288         __l: locale_t,
10289     ) -> ::std::os::raw::c_ulonglong;
10290 }
10291 extern "C" {
strtold_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __l: locale_t, ) -> u12810292     pub fn strtold_l(
10293         __s: *const ::std::os::raw::c_char,
10294         __end_ptr: *mut *mut ::std::os::raw::c_char,
10295         __l: locale_t,
10296     ) -> u128;
10297 }
10298 extern "C" {
strtod_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __l: locale_t, ) -> f6410299     pub fn strtod_l(
10300         __s: *const ::std::os::raw::c_char,
10301         __end_ptr: *mut *mut ::std::os::raw::c_char,
10302         __l: locale_t,
10303     ) -> f64;
10304 }
10305 extern "C" {
strtof_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __l: locale_t, ) -> f3210306     pub fn strtof_l(
10307         __s: *const ::std::os::raw::c_char,
10308         __end_ptr: *mut *mut ::std::os::raw::c_char,
10309         __l: locale_t,
10310     ) -> f32;
10311 }
10312 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_long10313     pub fn strtol_l(
10314         __s: *const ::std::os::raw::c_char,
10315         __end_ptr: *mut *mut ::std::os::raw::c_char,
10316         arg1: ::std::os::raw::c_int,
10317         __l: locale_t,
10318     ) -> ::std::os::raw::c_long;
10319 }
10320 pub type net_handle_t = u64;
10321 extern "C" {
android_setsocknetwork( network: net_handle_t, fd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10322     pub fn android_setsocknetwork(
10323         network: net_handle_t,
10324         fd: ::std::os::raw::c_int,
10325     ) -> ::std::os::raw::c_int;
10326 }
10327 extern "C" {
android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int10328     pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
10329 }
10330 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_int10331     pub fn android_getaddrinfofornetwork(
10332         network: net_handle_t,
10333         node: *const ::std::os::raw::c_char,
10334         service: *const ::std::os::raw::c_char,
10335         hints: *const addrinfo,
10336         res: *mut *mut addrinfo,
10337     ) -> ::std::os::raw::c_int;
10338 }
10339 pub const ResNsendFlags_ANDROID_RESOLV_NO_RETRY: ResNsendFlags = 1;
10340 pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = 2;
10341 pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = 4;
10342 pub type ResNsendFlags = u32;
10343 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_int10344     pub fn android_res_nquery(
10345         network: net_handle_t,
10346         dname: *const ::std::os::raw::c_char,
10347         ns_class: ::std::os::raw::c_int,
10348         ns_type: ::std::os::raw::c_int,
10349         flags: u32,
10350     ) -> ::std::os::raw::c_int;
10351 }
10352 extern "C" {
android_res_nsend( network: net_handle_t, msg: *const u8, msglen: usize, flags: u32, ) -> ::std::os::raw::c_int10353     pub fn android_res_nsend(
10354         network: net_handle_t,
10355         msg: *const u8,
10356         msglen: usize,
10357         flags: u32,
10358     ) -> ::std::os::raw::c_int;
10359 }
10360 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_int10361     pub fn android_res_nresult(
10362         fd: ::std::os::raw::c_int,
10363         rcode: *mut ::std::os::raw::c_int,
10364         answer: *mut u8,
10365         anslen: usize,
10366     ) -> ::std::os::raw::c_int;
10367 }
10368 extern "C" {
android_res_cancel(nsend_fd: ::std::os::raw::c_int)10369     pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
10370 }
10371 pub const OperandCode_ANEURALNETWORKS_FLOAT32: OperandCode = 0;
10372 pub const OperandCode_ANEURALNETWORKS_INT32: OperandCode = 1;
10373 pub const OperandCode_ANEURALNETWORKS_UINT32: OperandCode = 2;
10374 pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = 3;
10375 pub const OperandCode_ANEURALNETWORKS_TENSOR_INT32: OperandCode = 4;
10376 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = 5;
10377 pub const OperandCode_ANEURALNETWORKS_BOOL: OperandCode = 6;
10378 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = 7;
10379 pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = 8;
10380 pub const OperandCode_ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = 9;
10381 pub const OperandCode_ANEURALNETWORKS_FLOAT16: OperandCode = 10;
10382 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = 11;
10383 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = 12;
10384 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = 13;
10385 pub type OperandCode = u32;
10386 pub const OperationCode_ANEURALNETWORKS_ADD: OperationCode = 0;
10387 pub const OperationCode_ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = 1;
10388 pub const OperationCode_ANEURALNETWORKS_CONCATENATION: OperationCode = 2;
10389 pub const OperationCode_ANEURALNETWORKS_CONV_2D: OperationCode = 3;
10390 pub const OperationCode_ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = 4;
10391 pub const OperationCode_ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = 5;
10392 pub const OperationCode_ANEURALNETWORKS_DEQUANTIZE: OperationCode = 6;
10393 pub const OperationCode_ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = 7;
10394 pub const OperationCode_ANEURALNETWORKS_FLOOR: OperationCode = 8;
10395 pub const OperationCode_ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = 9;
10396 pub const OperationCode_ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = 10;
10397 pub const OperationCode_ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = 11;
10398 pub const OperationCode_ANEURALNETWORKS_L2_POOL_2D: OperationCode = 12;
10399 pub const OperationCode_ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = 13;
10400 pub const OperationCode_ANEURALNETWORKS_LOGISTIC: OperationCode = 14;
10401 pub const OperationCode_ANEURALNETWORKS_LSH_PROJECTION: OperationCode = 15;
10402 pub const OperationCode_ANEURALNETWORKS_LSTM: OperationCode = 16;
10403 pub const OperationCode_ANEURALNETWORKS_MAX_POOL_2D: OperationCode = 17;
10404 pub const OperationCode_ANEURALNETWORKS_MUL: OperationCode = 18;
10405 pub const OperationCode_ANEURALNETWORKS_RELU: OperationCode = 19;
10406 pub const OperationCode_ANEURALNETWORKS_RELU1: OperationCode = 20;
10407 pub const OperationCode_ANEURALNETWORKS_RELU6: OperationCode = 21;
10408 pub const OperationCode_ANEURALNETWORKS_RESHAPE: OperationCode = 22;
10409 pub const OperationCode_ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = 23;
10410 pub const OperationCode_ANEURALNETWORKS_RNN: OperationCode = 24;
10411 pub const OperationCode_ANEURALNETWORKS_SOFTMAX: OperationCode = 25;
10412 pub const OperationCode_ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = 26;
10413 pub const OperationCode_ANEURALNETWORKS_SVDF: OperationCode = 27;
10414 pub const OperationCode_ANEURALNETWORKS_TANH: OperationCode = 28;
10415 pub const OperationCode_ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = 29;
10416 pub const OperationCode_ANEURALNETWORKS_DIV: OperationCode = 30;
10417 pub const OperationCode_ANEURALNETWORKS_MEAN: OperationCode = 31;
10418 pub const OperationCode_ANEURALNETWORKS_PAD: OperationCode = 32;
10419 pub const OperationCode_ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = 33;
10420 pub const OperationCode_ANEURALNETWORKS_SQUEEZE: OperationCode = 34;
10421 pub const OperationCode_ANEURALNETWORKS_STRIDED_SLICE: OperationCode = 35;
10422 pub const OperationCode_ANEURALNETWORKS_SUB: OperationCode = 36;
10423 pub const OperationCode_ANEURALNETWORKS_TRANSPOSE: OperationCode = 37;
10424 pub const OperationCode_ANEURALNETWORKS_ABS: OperationCode = 38;
10425 pub const OperationCode_ANEURALNETWORKS_ARGMAX: OperationCode = 39;
10426 pub const OperationCode_ANEURALNETWORKS_ARGMIN: OperationCode = 40;
10427 pub const OperationCode_ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = 41;
10428 pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 42;
10429 pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 43;
10430 pub const OperationCode_ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = 44;
10431 pub const OperationCode_ANEURALNETWORKS_CAST: OperationCode = 45;
10432 pub const OperationCode_ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = 46;
10433 pub const OperationCode_ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = 47;
10434 pub const OperationCode_ANEURALNETWORKS_EQUAL: OperationCode = 48;
10435 pub const OperationCode_ANEURALNETWORKS_EXP: OperationCode = 49;
10436 pub const OperationCode_ANEURALNETWORKS_EXPAND_DIMS: OperationCode = 50;
10437 pub const OperationCode_ANEURALNETWORKS_GATHER: OperationCode = 51;
10438 pub const OperationCode_ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = 52;
10439 pub const OperationCode_ANEURALNETWORKS_GREATER: OperationCode = 53;
10440 pub const OperationCode_ANEURALNETWORKS_GREATER_EQUAL: OperationCode = 54;
10441 pub const OperationCode_ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = 55;
10442 pub const OperationCode_ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = 56;
10443 pub const OperationCode_ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = 57;
10444 pub const OperationCode_ANEURALNETWORKS_LESS: OperationCode = 58;
10445 pub const OperationCode_ANEURALNETWORKS_LESS_EQUAL: OperationCode = 59;
10446 pub const OperationCode_ANEURALNETWORKS_LOG: OperationCode = 60;
10447 pub const OperationCode_ANEURALNETWORKS_LOGICAL_AND: OperationCode = 61;
10448 pub const OperationCode_ANEURALNETWORKS_LOGICAL_NOT: OperationCode = 62;
10449 pub const OperationCode_ANEURALNETWORKS_LOGICAL_OR: OperationCode = 63;
10450 pub const OperationCode_ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = 64;
10451 pub const OperationCode_ANEURALNETWORKS_MAXIMUM: OperationCode = 65;
10452 pub const OperationCode_ANEURALNETWORKS_MINIMUM: OperationCode = 66;
10453 pub const OperationCode_ANEURALNETWORKS_NEG: OperationCode = 67;
10454 pub const OperationCode_ANEURALNETWORKS_NOT_EQUAL: OperationCode = 68;
10455 pub const OperationCode_ANEURALNETWORKS_PAD_V2: OperationCode = 69;
10456 pub const OperationCode_ANEURALNETWORKS_POW: OperationCode = 70;
10457 pub const OperationCode_ANEURALNETWORKS_PRELU: OperationCode = 71;
10458 pub const OperationCode_ANEURALNETWORKS_QUANTIZE: OperationCode = 72;
10459 pub const OperationCode_ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = 73;
10460 pub const OperationCode_ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = 74;
10461 pub const OperationCode_ANEURALNETWORKS_REDUCE_ALL: OperationCode = 75;
10462 pub const OperationCode_ANEURALNETWORKS_REDUCE_ANY: OperationCode = 76;
10463 pub const OperationCode_ANEURALNETWORKS_REDUCE_MAX: OperationCode = 77;
10464 pub const OperationCode_ANEURALNETWORKS_REDUCE_MIN: OperationCode = 78;
10465 pub const OperationCode_ANEURALNETWORKS_REDUCE_PROD: OperationCode = 79;
10466 pub const OperationCode_ANEURALNETWORKS_REDUCE_SUM: OperationCode = 80;
10467 pub const OperationCode_ANEURALNETWORKS_ROI_ALIGN: OperationCode = 81;
10468 pub const OperationCode_ANEURALNETWORKS_ROI_POOLING: OperationCode = 82;
10469 pub const OperationCode_ANEURALNETWORKS_RSQRT: OperationCode = 83;
10470 pub const OperationCode_ANEURALNETWORKS_SELECT: OperationCode = 84;
10471 pub const OperationCode_ANEURALNETWORKS_SIN: OperationCode = 85;
10472 pub const OperationCode_ANEURALNETWORKS_SLICE: OperationCode = 86;
10473 pub const OperationCode_ANEURALNETWORKS_SPLIT: OperationCode = 87;
10474 pub const OperationCode_ANEURALNETWORKS_SQRT: OperationCode = 88;
10475 pub const OperationCode_ANEURALNETWORKS_TILE: OperationCode = 89;
10476 pub const OperationCode_ANEURALNETWORKS_TOPK_V2: OperationCode = 90;
10477 pub const OperationCode_ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = 91;
10478 pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 92;
10479 pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 93;
10480 pub const OperationCode_ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = 94;
10481 pub type OperationCode = u32;
10482 pub const FuseCode_ANEURALNETWORKS_FUSED_NONE: FuseCode = 0;
10483 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU: FuseCode = 1;
10484 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU1: FuseCode = 2;
10485 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU6: FuseCode = 3;
10486 pub type FuseCode = u32;
10487 pub const PaddingCode_ANEURALNETWORKS_PADDING_SAME: PaddingCode = 1;
10488 pub const PaddingCode_ANEURALNETWORKS_PADDING_VALID: PaddingCode = 2;
10489 pub type PaddingCode = u32;
10490 pub const PreferenceCode_ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = 0;
10491 pub const PreferenceCode_ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = 1;
10492 pub const PreferenceCode_ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = 2;
10493 pub type PreferenceCode = u32;
10494 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = 0;
10495 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = 1;
10496 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = 2;
10497 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = 3;
10498 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = 4;
10499 pub type DeviceTypeCode = u32;
10500 pub const ResultCode_ANEURALNETWORKS_NO_ERROR: ResultCode = 0;
10501 pub const ResultCode_ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = 1;
10502 pub const ResultCode_ANEURALNETWORKS_INCOMPLETE: ResultCode = 2;
10503 pub const ResultCode_ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = 3;
10504 pub const ResultCode_ANEURALNETWORKS_BAD_DATA: ResultCode = 4;
10505 pub const ResultCode_ANEURALNETWORKS_OP_FAILED: ResultCode = 5;
10506 pub const ResultCode_ANEURALNETWORKS_BAD_STATE: ResultCode = 6;
10507 pub const ResultCode_ANEURALNETWORKS_UNMAPPABLE: ResultCode = 7;
10508 pub const ResultCode_ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = 8;
10509 pub const ResultCode_ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = 9;
10510 pub type ResultCode = u32;
10511 pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: _bindgen_ty_25 = 128;
10512 pub type _bindgen_ty_25 = u32;
10513 pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: _bindgen_ty_26 = 32;
10514 pub type _bindgen_ty_26 = u32;
10515 #[repr(C)]
10516 #[derive(Debug, Copy, Clone)]
10517 pub struct ANeuralNetworksMemory {
10518     _unused: [u8; 0],
10519 }
10520 #[repr(C)]
10521 #[derive(Debug, Copy, Clone)]
10522 pub struct ANeuralNetworksModel {
10523     _unused: [u8; 0],
10524 }
10525 #[repr(C)]
10526 #[derive(Debug, Copy, Clone)]
10527 pub struct ANeuralNetworksCompilation {
10528     _unused: [u8; 0],
10529 }
10530 #[repr(C)]
10531 #[derive(Debug, Copy, Clone)]
10532 pub struct ANeuralNetworksExecution {
10533     _unused: [u8; 0],
10534 }
10535 #[repr(C)]
10536 #[derive(Debug, Copy, Clone)]
10537 pub struct ANeuralNetworksSymmPerChannelQuantParams {
10538     pub channelDim: u32,
10539     pub scaleCount: u32,
10540     pub scales: *const f32,
10541 }
10542 #[test]
bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams()10543 fn bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams() {
10544     assert_eq!(
10545         ::std::mem::size_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
10546         16usize,
10547         concat!(
10548             "Size of: ",
10549             stringify!(ANeuralNetworksSymmPerChannelQuantParams)
10550         )
10551     );
10552     assert_eq!(
10553         ::std::mem::align_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
10554         8usize,
10555         concat!(
10556             "Alignment of ",
10557             stringify!(ANeuralNetworksSymmPerChannelQuantParams)
10558         )
10559     );
10560     assert_eq!(
10561         unsafe {
10562             &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).channelDim
10563                 as *const _ as usize
10564         },
10565         0usize,
10566         concat!(
10567             "Offset of field: ",
10568             stringify!(ANeuralNetworksSymmPerChannelQuantParams),
10569             "::",
10570             stringify!(channelDim)
10571         )
10572     );
10573     assert_eq!(
10574         unsafe {
10575             &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scaleCount
10576                 as *const _ as usize
10577         },
10578         4usize,
10579         concat!(
10580             "Offset of field: ",
10581             stringify!(ANeuralNetworksSymmPerChannelQuantParams),
10582             "::",
10583             stringify!(scaleCount)
10584         )
10585     );
10586     assert_eq!(
10587         unsafe {
10588             &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scales as *const _
10589                 as usize
10590         },
10591         8usize,
10592         concat!(
10593             "Offset of field: ",
10594             stringify!(ANeuralNetworksSymmPerChannelQuantParams),
10595             "::",
10596             stringify!(scales)
10597         )
10598     );
10599 }
10600 #[repr(C)]
10601 #[derive(Debug, Copy, Clone)]
10602 pub struct ANeuralNetworksBurst {
10603     _unused: [u8; 0],
10604 }
10605 #[repr(C)]
10606 #[derive(Debug, Copy, Clone)]
10607 pub struct ANeuralNetworksOperandType {
10608     pub type_: i32,
10609     pub dimensionCount: u32,
10610     pub dimensions: *const u32,
10611     pub scale: f32,
10612     pub zeroPoint: i32,
10613 }
10614 #[test]
bindgen_test_layout_ANeuralNetworksOperandType()10615 fn bindgen_test_layout_ANeuralNetworksOperandType() {
10616     assert_eq!(
10617         ::std::mem::size_of::<ANeuralNetworksOperandType>(),
10618         24usize,
10619         concat!("Size of: ", stringify!(ANeuralNetworksOperandType))
10620     );
10621     assert_eq!(
10622         ::std::mem::align_of::<ANeuralNetworksOperandType>(),
10623         8usize,
10624         concat!("Alignment of ", stringify!(ANeuralNetworksOperandType))
10625     );
10626     assert_eq!(
10627         unsafe {
10628             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).type_ as *const _ as usize
10629         },
10630         0usize,
10631         concat!(
10632             "Offset of field: ",
10633             stringify!(ANeuralNetworksOperandType),
10634             "::",
10635             stringify!(type_)
10636         )
10637     );
10638     assert_eq!(
10639         unsafe {
10640             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensionCount as *const _
10641                 as usize
10642         },
10643         4usize,
10644         concat!(
10645             "Offset of field: ",
10646             stringify!(ANeuralNetworksOperandType),
10647             "::",
10648             stringify!(dimensionCount)
10649         )
10650     );
10651     assert_eq!(
10652         unsafe {
10653             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensions as *const _ as usize
10654         },
10655         8usize,
10656         concat!(
10657             "Offset of field: ",
10658             stringify!(ANeuralNetworksOperandType),
10659             "::",
10660             stringify!(dimensions)
10661         )
10662     );
10663     assert_eq!(
10664         unsafe {
10665             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).scale as *const _ as usize
10666         },
10667         16usize,
10668         concat!(
10669             "Offset of field: ",
10670             stringify!(ANeuralNetworksOperandType),
10671             "::",
10672             stringify!(scale)
10673         )
10674     );
10675     assert_eq!(
10676         unsafe {
10677             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).zeroPoint as *const _ as usize
10678         },
10679         20usize,
10680         concat!(
10681             "Offset of field: ",
10682             stringify!(ANeuralNetworksOperandType),
10683             "::",
10684             stringify!(zeroPoint)
10685         )
10686     );
10687 }
10688 pub type ANeuralNetworksOperationType = i32;
10689 #[repr(C)]
10690 #[derive(Debug, Copy, Clone)]
10691 pub struct ANeuralNetworksEvent {
10692     _unused: [u8; 0],
10693 }
10694 #[repr(C)]
10695 #[derive(Debug, Copy, Clone)]
10696 pub struct ANeuralNetworksDevice {
10697     _unused: [u8; 0],
10698 }
10699 extern "C" {
ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int10700     pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
10701 }
10702 extern "C" {
ANeuralNetworks_getDevice( devIndex: u32, device: *mut *mut ANeuralNetworksDevice, ) -> ::std::os::raw::c_int10703     pub fn ANeuralNetworks_getDevice(
10704         devIndex: u32,
10705         device: *mut *mut ANeuralNetworksDevice,
10706     ) -> ::std::os::raw::c_int;
10707 }
10708 extern "C" {
ANeuralNetworksDevice_getName( device: *const ANeuralNetworksDevice, name: *mut *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int10709     pub fn ANeuralNetworksDevice_getName(
10710         device: *const ANeuralNetworksDevice,
10711         name: *mut *const ::std::os::raw::c_char,
10712     ) -> ::std::os::raw::c_int;
10713 }
10714 extern "C" {
ANeuralNetworksDevice_getType( device: *const ANeuralNetworksDevice, type_: *mut i32, ) -> ::std::os::raw::c_int10715     pub fn ANeuralNetworksDevice_getType(
10716         device: *const ANeuralNetworksDevice,
10717         type_: *mut i32,
10718     ) -> ::std::os::raw::c_int;
10719 }
10720 extern "C" {
ANeuralNetworksDevice_getVersion( device: *const ANeuralNetworksDevice, version: *mut *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int10721     pub fn ANeuralNetworksDevice_getVersion(
10722         device: *const ANeuralNetworksDevice,
10723         version: *mut *const ::std::os::raw::c_char,
10724     ) -> ::std::os::raw::c_int;
10725 }
10726 extern "C" {
ANeuralNetworksDevice_getFeatureLevel( device: *const ANeuralNetworksDevice, featureLevel: *mut i64, ) -> ::std::os::raw::c_int10727     pub fn ANeuralNetworksDevice_getFeatureLevel(
10728         device: *const ANeuralNetworksDevice,
10729         featureLevel: *mut i64,
10730     ) -> ::std::os::raw::c_int;
10731 }
10732 extern "C" {
ANeuralNetworksModel_getSupportedOperationsForDevices( model: *const ANeuralNetworksModel, devices: *const *const ANeuralNetworksDevice, numDevices: u32, supportedOps: *mut bool, ) -> ::std::os::raw::c_int10733     pub fn ANeuralNetworksModel_getSupportedOperationsForDevices(
10734         model: *const ANeuralNetworksModel,
10735         devices: *const *const ANeuralNetworksDevice,
10736         numDevices: u32,
10737         supportedOps: *mut bool,
10738     ) -> ::std::os::raw::c_int;
10739 }
10740 extern "C" {
ANeuralNetworksCompilation_createForDevices( model: *mut ANeuralNetworksModel, devices: *const *const ANeuralNetworksDevice, numDevices: u32, compilation: *mut *mut ANeuralNetworksCompilation, ) -> ::std::os::raw::c_int10741     pub fn ANeuralNetworksCompilation_createForDevices(
10742         model: *mut ANeuralNetworksModel,
10743         devices: *const *const ANeuralNetworksDevice,
10744         numDevices: u32,
10745         compilation: *mut *mut ANeuralNetworksCompilation,
10746     ) -> ::std::os::raw::c_int;
10747 }
10748 extern "C" {
ANeuralNetworksCompilation_setCaching( compilation: *mut ANeuralNetworksCompilation, cacheDir: *const ::std::os::raw::c_char, token: *const u8, ) -> ::std::os::raw::c_int10749     pub fn ANeuralNetworksCompilation_setCaching(
10750         compilation: *mut ANeuralNetworksCompilation,
10751         cacheDir: *const ::std::os::raw::c_char,
10752         token: *const u8,
10753     ) -> ::std::os::raw::c_int;
10754 }
10755 extern "C" {
ANeuralNetworksExecution_compute( execution: *mut ANeuralNetworksExecution, ) -> ::std::os::raw::c_int10756     pub fn ANeuralNetworksExecution_compute(
10757         execution: *mut ANeuralNetworksExecution,
10758     ) -> ::std::os::raw::c_int;
10759 }
10760 extern "C" {
ANeuralNetworksExecution_getOutputOperandRank( execution: *mut ANeuralNetworksExecution, index: i32, rank: *mut u32, ) -> ::std::os::raw::c_int10761     pub fn ANeuralNetworksExecution_getOutputOperandRank(
10762         execution: *mut ANeuralNetworksExecution,
10763         index: i32,
10764         rank: *mut u32,
10765     ) -> ::std::os::raw::c_int;
10766 }
10767 extern "C" {
ANeuralNetworksExecution_getOutputOperandDimensions( execution: *mut ANeuralNetworksExecution, index: i32, dimensions: *mut u32, ) -> ::std::os::raw::c_int10768     pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
10769         execution: *mut ANeuralNetworksExecution,
10770         index: i32,
10771         dimensions: *mut u32,
10772     ) -> ::std::os::raw::c_int;
10773 }
10774 extern "C" {
ANeuralNetworksBurst_create( compilation: *mut ANeuralNetworksCompilation, burst: *mut *mut ANeuralNetworksBurst, ) -> ::std::os::raw::c_int10775     pub fn ANeuralNetworksBurst_create(
10776         compilation: *mut ANeuralNetworksCompilation,
10777         burst: *mut *mut ANeuralNetworksBurst,
10778     ) -> ::std::os::raw::c_int;
10779 }
10780 extern "C" {
ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst)10781     pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
10782 }
10783 extern "C" {
ANeuralNetworksExecution_burstCompute( execution: *mut ANeuralNetworksExecution, burst: *mut ANeuralNetworksBurst, ) -> ::std::os::raw::c_int10784     pub fn ANeuralNetworksExecution_burstCompute(
10785         execution: *mut ANeuralNetworksExecution,
10786         burst: *mut ANeuralNetworksBurst,
10787     ) -> ::std::os::raw::c_int;
10788 }
10789 extern "C" {
ANeuralNetworksMemory_createFromAHardwareBuffer( ahwb: *const AHardwareBuffer, memory: *mut *mut ANeuralNetworksMemory, ) -> ::std::os::raw::c_int10790     pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
10791         ahwb: *const AHardwareBuffer,
10792         memory: *mut *mut ANeuralNetworksMemory,
10793     ) -> ::std::os::raw::c_int;
10794 }
10795 extern "C" {
ANeuralNetworksExecution_setMeasureTiming( execution: *mut ANeuralNetworksExecution, measure: bool, ) -> ::std::os::raw::c_int10796     pub fn ANeuralNetworksExecution_setMeasureTiming(
10797         execution: *mut ANeuralNetworksExecution,
10798         measure: bool,
10799     ) -> ::std::os::raw::c_int;
10800 }
10801 pub const DurationCode_ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = 0;
10802 pub const DurationCode_ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = 1;
10803 pub type DurationCode = u32;
10804 extern "C" {
ANeuralNetworksExecution_getDuration( execution: *const ANeuralNetworksExecution, durationCode: i32, duration: *mut u64, ) -> ::std::os::raw::c_int10805     pub fn ANeuralNetworksExecution_getDuration(
10806         execution: *const ANeuralNetworksExecution,
10807         durationCode: i32,
10808         duration: *mut u64,
10809     ) -> ::std::os::raw::c_int;
10810 }
10811 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_int10812     pub fn ANeuralNetworksMemory_createFromFd(
10813         size: usize,
10814         protect: ::std::os::raw::c_int,
10815         fd: ::std::os::raw::c_int,
10816         offset: usize,
10817         memory: *mut *mut ANeuralNetworksMemory,
10818     ) -> ::std::os::raw::c_int;
10819 }
10820 extern "C" {
ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory)10821     pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
10822 }
10823 extern "C" {
ANeuralNetworksModel_create( model: *mut *mut ANeuralNetworksModel, ) -> ::std::os::raw::c_int10824     pub fn ANeuralNetworksModel_create(
10825         model: *mut *mut ANeuralNetworksModel,
10826     ) -> ::std::os::raw::c_int;
10827 }
10828 extern "C" {
ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel)10829     pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
10830 }
10831 extern "C" {
ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int10832     pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
10833 }
10834 extern "C" {
ANeuralNetworksModel_addOperand( model: *mut ANeuralNetworksModel, type_: *const ANeuralNetworksOperandType, ) -> ::std::os::raw::c_int10835     pub fn ANeuralNetworksModel_addOperand(
10836         model: *mut ANeuralNetworksModel,
10837         type_: *const ANeuralNetworksOperandType,
10838     ) -> ::std::os::raw::c_int;
10839 }
10840 extern "C" {
ANeuralNetworksModel_setOperandValue( model: *mut ANeuralNetworksModel, index: i32, buffer: *const ::std::os::raw::c_void, length: usize, ) -> ::std::os::raw::c_int10841     pub fn ANeuralNetworksModel_setOperandValue(
10842         model: *mut ANeuralNetworksModel,
10843         index: i32,
10844         buffer: *const ::std::os::raw::c_void,
10845         length: usize,
10846     ) -> ::std::os::raw::c_int;
10847 }
10848 extern "C" {
ANeuralNetworksModel_setOperandSymmPerChannelQuantParams( model: *mut ANeuralNetworksModel, index: i32, channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams, ) -> ::std::os::raw::c_int10849     pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
10850         model: *mut ANeuralNetworksModel,
10851         index: i32,
10852         channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
10853     ) -> ::std::os::raw::c_int;
10854 }
10855 extern "C" {
ANeuralNetworksModel_setOperandValueFromMemory( model: *mut ANeuralNetworksModel, index: i32, memory: *const ANeuralNetworksMemory, offset: usize, length: usize, ) -> ::std::os::raw::c_int10856     pub fn ANeuralNetworksModel_setOperandValueFromMemory(
10857         model: *mut ANeuralNetworksModel,
10858         index: i32,
10859         memory: *const ANeuralNetworksMemory,
10860         offset: usize,
10861         length: usize,
10862     ) -> ::std::os::raw::c_int;
10863 }
10864 extern "C" {
ANeuralNetworksModel_addOperation( model: *mut ANeuralNetworksModel, type_: ANeuralNetworksOperationType, inputCount: u32, inputs: *const u32, outputCount: u32, outputs: *const u32, ) -> ::std::os::raw::c_int10865     pub fn ANeuralNetworksModel_addOperation(
10866         model: *mut ANeuralNetworksModel,
10867         type_: ANeuralNetworksOperationType,
10868         inputCount: u32,
10869         inputs: *const u32,
10870         outputCount: u32,
10871         outputs: *const u32,
10872     ) -> ::std::os::raw::c_int;
10873 }
10874 extern "C" {
ANeuralNetworksModel_identifyInputsAndOutputs( model: *mut ANeuralNetworksModel, inputCount: u32, inputs: *const u32, outputCount: u32, outputs: *const u32, ) -> ::std::os::raw::c_int10875     pub fn ANeuralNetworksModel_identifyInputsAndOutputs(
10876         model: *mut ANeuralNetworksModel,
10877         inputCount: u32,
10878         inputs: *const u32,
10879         outputCount: u32,
10880         outputs: *const u32,
10881     ) -> ::std::os::raw::c_int;
10882 }
10883 extern "C" {
ANeuralNetworksModel_relaxComputationFloat32toFloat16( model: *mut ANeuralNetworksModel, allow: bool, ) -> ::std::os::raw::c_int10884     pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
10885         model: *mut ANeuralNetworksModel,
10886         allow: bool,
10887     ) -> ::std::os::raw::c_int;
10888 }
10889 extern "C" {
ANeuralNetworksCompilation_create( model: *mut ANeuralNetworksModel, compilation: *mut *mut ANeuralNetworksCompilation, ) -> ::std::os::raw::c_int10890     pub fn ANeuralNetworksCompilation_create(
10891         model: *mut ANeuralNetworksModel,
10892         compilation: *mut *mut ANeuralNetworksCompilation,
10893     ) -> ::std::os::raw::c_int;
10894 }
10895 extern "C" {
ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation)10896     pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
10897 }
10898 extern "C" {
ANeuralNetworksCompilation_setPreference( compilation: *mut ANeuralNetworksCompilation, preference: i32, ) -> ::std::os::raw::c_int10899     pub fn ANeuralNetworksCompilation_setPreference(
10900         compilation: *mut ANeuralNetworksCompilation,
10901         preference: i32,
10902     ) -> ::std::os::raw::c_int;
10903 }
10904 extern "C" {
ANeuralNetworksCompilation_finish( compilation: *mut ANeuralNetworksCompilation, ) -> ::std::os::raw::c_int10905     pub fn ANeuralNetworksCompilation_finish(
10906         compilation: *mut ANeuralNetworksCompilation,
10907     ) -> ::std::os::raw::c_int;
10908 }
10909 extern "C" {
ANeuralNetworksExecution_create( compilation: *mut ANeuralNetworksCompilation, execution: *mut *mut ANeuralNetworksExecution, ) -> ::std::os::raw::c_int10910     pub fn ANeuralNetworksExecution_create(
10911         compilation: *mut ANeuralNetworksCompilation,
10912         execution: *mut *mut ANeuralNetworksExecution,
10913     ) -> ::std::os::raw::c_int;
10914 }
10915 extern "C" {
ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution)10916     pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
10917 }
10918 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_int10919     pub fn ANeuralNetworksExecution_setInput(
10920         execution: *mut ANeuralNetworksExecution,
10921         index: i32,
10922         type_: *const ANeuralNetworksOperandType,
10923         buffer: *const ::std::os::raw::c_void,
10924         length: usize,
10925     ) -> ::std::os::raw::c_int;
10926 }
10927 extern "C" {
ANeuralNetworksExecution_setInputFromMemory( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, memory: *const ANeuralNetworksMemory, offset: usize, length: usize, ) -> ::std::os::raw::c_int10928     pub fn ANeuralNetworksExecution_setInputFromMemory(
10929         execution: *mut ANeuralNetworksExecution,
10930         index: i32,
10931         type_: *const ANeuralNetworksOperandType,
10932         memory: *const ANeuralNetworksMemory,
10933         offset: usize,
10934         length: usize,
10935     ) -> ::std::os::raw::c_int;
10936 }
10937 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_int10938     pub fn ANeuralNetworksExecution_setOutput(
10939         execution: *mut ANeuralNetworksExecution,
10940         index: i32,
10941         type_: *const ANeuralNetworksOperandType,
10942         buffer: *mut ::std::os::raw::c_void,
10943         length: usize,
10944     ) -> ::std::os::raw::c_int;
10945 }
10946 extern "C" {
ANeuralNetworksExecution_setOutputFromMemory( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, memory: *const ANeuralNetworksMemory, offset: usize, length: usize, ) -> ::std::os::raw::c_int10947     pub fn ANeuralNetworksExecution_setOutputFromMemory(
10948         execution: *mut ANeuralNetworksExecution,
10949         index: i32,
10950         type_: *const ANeuralNetworksOperandType,
10951         memory: *const ANeuralNetworksMemory,
10952         offset: usize,
10953         length: usize,
10954     ) -> ::std::os::raw::c_int;
10955 }
10956 extern "C" {
ANeuralNetworksExecution_startCompute( execution: *mut ANeuralNetworksExecution, event: *mut *mut ANeuralNetworksEvent, ) -> ::std::os::raw::c_int10957     pub fn ANeuralNetworksExecution_startCompute(
10958         execution: *mut ANeuralNetworksExecution,
10959         event: *mut *mut ANeuralNetworksEvent,
10960     ) -> ::std::os::raw::c_int;
10961 }
10962 extern "C" {
ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int10963     pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
10964 }
10965 extern "C" {
ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent)10966     pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
10967 }
10968 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = 1;
10969 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = 2;
10970 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = 4;
10971 pub type ANativeWindow_LegacyFormat = u32;
10972 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = 0;
10973 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
10974     1;
10975 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
10976     2;
10977 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = 4;
10978 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform = 3;
10979 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform = 7;
10980 pub type ANativeWindowTransform = u32;
10981 #[repr(C)]
10982 #[derive(Debug, Copy, Clone)]
10983 pub struct ANativeWindow {
10984     _unused: [u8; 0],
10985 }
10986 #[repr(C)]
10987 #[derive(Debug, Copy, Clone)]
10988 pub struct ANativeWindow_Buffer {
10989     pub width: i32,
10990     pub height: i32,
10991     pub stride: i32,
10992     pub format: i32,
10993     pub bits: *mut ::std::os::raw::c_void,
10994     pub reserved: [u32; 6usize],
10995 }
10996 #[test]
bindgen_test_layout_ANativeWindow_Buffer()10997 fn bindgen_test_layout_ANativeWindow_Buffer() {
10998     assert_eq!(
10999         ::std::mem::size_of::<ANativeWindow_Buffer>(),
11000         48usize,
11001         concat!("Size of: ", stringify!(ANativeWindow_Buffer))
11002     );
11003     assert_eq!(
11004         ::std::mem::align_of::<ANativeWindow_Buffer>(),
11005         8usize,
11006         concat!("Alignment of ", stringify!(ANativeWindow_Buffer))
11007     );
11008     assert_eq!(
11009         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).width as *const _ as usize },
11010         0usize,
11011         concat!(
11012             "Offset of field: ",
11013             stringify!(ANativeWindow_Buffer),
11014             "::",
11015             stringify!(width)
11016         )
11017     );
11018     assert_eq!(
11019         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).height as *const _ as usize },
11020         4usize,
11021         concat!(
11022             "Offset of field: ",
11023             stringify!(ANativeWindow_Buffer),
11024             "::",
11025             stringify!(height)
11026         )
11027     );
11028     assert_eq!(
11029         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).stride as *const _ as usize },
11030         8usize,
11031         concat!(
11032             "Offset of field: ",
11033             stringify!(ANativeWindow_Buffer),
11034             "::",
11035             stringify!(stride)
11036         )
11037     );
11038     assert_eq!(
11039         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).format as *const _ as usize },
11040         12usize,
11041         concat!(
11042             "Offset of field: ",
11043             stringify!(ANativeWindow_Buffer),
11044             "::",
11045             stringify!(format)
11046         )
11047     );
11048     assert_eq!(
11049         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).bits as *const _ as usize },
11050         16usize,
11051         concat!(
11052             "Offset of field: ",
11053             stringify!(ANativeWindow_Buffer),
11054             "::",
11055             stringify!(bits)
11056         )
11057     );
11058     assert_eq!(
11059         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).reserved as *const _ as usize },
11060         24usize,
11061         concat!(
11062             "Offset of field: ",
11063             stringify!(ANativeWindow_Buffer),
11064             "::",
11065             stringify!(reserved)
11066         )
11067     );
11068 }
11069 extern "C" {
ANativeWindow_acquire(window: *mut ANativeWindow)11070     pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
11071 }
11072 extern "C" {
ANativeWindow_release(window: *mut ANativeWindow)11073     pub fn ANativeWindow_release(window: *mut ANativeWindow);
11074 }
11075 extern "C" {
ANativeWindow_getWidth(window: *mut ANativeWindow) -> i3211076     pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
11077 }
11078 extern "C" {
ANativeWindow_getHeight(window: *mut ANativeWindow) -> i3211079     pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
11080 }
11081 extern "C" {
ANativeWindow_getFormat(window: *mut ANativeWindow) -> i3211082     pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
11083 }
11084 extern "C" {
ANativeWindow_setBuffersGeometry( window: *mut ANativeWindow, width: i32, height: i32, format: i32, ) -> i3211085     pub fn ANativeWindow_setBuffersGeometry(
11086         window: *mut ANativeWindow,
11087         width: i32,
11088         height: i32,
11089         format: i32,
11090     ) -> i32;
11091 }
11092 extern "C" {
ANativeWindow_lock( window: *mut ANativeWindow, outBuffer: *mut ANativeWindow_Buffer, inOutDirtyBounds: *mut ARect, ) -> i3211093     pub fn ANativeWindow_lock(
11094         window: *mut ANativeWindow,
11095         outBuffer: *mut ANativeWindow_Buffer,
11096         inOutDirtyBounds: *mut ARect,
11097     ) -> i32;
11098 }
11099 extern "C" {
ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i3211100     pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
11101 }
11102 extern "C" {
ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i3211103     pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
11104 }
11105 extern "C" {
ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i3211106     pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
11107 }
11108 extern "C" {
ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i3211109     pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
11110 }
11111 #[repr(C)]
11112 #[derive(Debug, Copy, Clone)]
11113 pub struct ANativeActivity {
11114     pub callbacks: *mut ANativeActivityCallbacks,
11115     pub vm: *mut JavaVM,
11116     pub env: *mut JNIEnv,
11117     pub clazz: jobject,
11118     pub internalDataPath: *const ::std::os::raw::c_char,
11119     pub externalDataPath: *const ::std::os::raw::c_char,
11120     pub sdkVersion: i32,
11121     pub instance: *mut ::std::os::raw::c_void,
11122     pub assetManager: *mut AAssetManager,
11123     pub obbPath: *const ::std::os::raw::c_char,
11124 }
11125 #[test]
bindgen_test_layout_ANativeActivity()11126 fn bindgen_test_layout_ANativeActivity() {
11127     assert_eq!(
11128         ::std::mem::size_of::<ANativeActivity>(),
11129         80usize,
11130         concat!("Size of: ", stringify!(ANativeActivity))
11131     );
11132     assert_eq!(
11133         ::std::mem::align_of::<ANativeActivity>(),
11134         8usize,
11135         concat!("Alignment of ", stringify!(ANativeActivity))
11136     );
11137     assert_eq!(
11138         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).callbacks as *const _ as usize },
11139         0usize,
11140         concat!(
11141             "Offset of field: ",
11142             stringify!(ANativeActivity),
11143             "::",
11144             stringify!(callbacks)
11145         )
11146     );
11147     assert_eq!(
11148         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).vm as *const _ as usize },
11149         8usize,
11150         concat!(
11151             "Offset of field: ",
11152             stringify!(ANativeActivity),
11153             "::",
11154             stringify!(vm)
11155         )
11156     );
11157     assert_eq!(
11158         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).env as *const _ as usize },
11159         16usize,
11160         concat!(
11161             "Offset of field: ",
11162             stringify!(ANativeActivity),
11163             "::",
11164             stringify!(env)
11165         )
11166     );
11167     assert_eq!(
11168         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).clazz as *const _ as usize },
11169         24usize,
11170         concat!(
11171             "Offset of field: ",
11172             stringify!(ANativeActivity),
11173             "::",
11174             stringify!(clazz)
11175         )
11176     );
11177     assert_eq!(
11178         unsafe {
11179             &(*(::std::ptr::null::<ANativeActivity>())).internalDataPath as *const _ as usize
11180         },
11181         32usize,
11182         concat!(
11183             "Offset of field: ",
11184             stringify!(ANativeActivity),
11185             "::",
11186             stringify!(internalDataPath)
11187         )
11188     );
11189     assert_eq!(
11190         unsafe {
11191             &(*(::std::ptr::null::<ANativeActivity>())).externalDataPath as *const _ as usize
11192         },
11193         40usize,
11194         concat!(
11195             "Offset of field: ",
11196             stringify!(ANativeActivity),
11197             "::",
11198             stringify!(externalDataPath)
11199         )
11200     );
11201     assert_eq!(
11202         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).sdkVersion as *const _ as usize },
11203         48usize,
11204         concat!(
11205             "Offset of field: ",
11206             stringify!(ANativeActivity),
11207             "::",
11208             stringify!(sdkVersion)
11209         )
11210     );
11211     assert_eq!(
11212         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).instance as *const _ as usize },
11213         56usize,
11214         concat!(
11215             "Offset of field: ",
11216             stringify!(ANativeActivity),
11217             "::",
11218             stringify!(instance)
11219         )
11220     );
11221     assert_eq!(
11222         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).assetManager as *const _ as usize },
11223         64usize,
11224         concat!(
11225             "Offset of field: ",
11226             stringify!(ANativeActivity),
11227             "::",
11228             stringify!(assetManager)
11229         )
11230     );
11231     assert_eq!(
11232         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).obbPath as *const _ as usize },
11233         72usize,
11234         concat!(
11235             "Offset of field: ",
11236             stringify!(ANativeActivity),
11237             "::",
11238             stringify!(obbPath)
11239         )
11240     );
11241 }
11242 #[repr(C)]
11243 #[derive(Debug, Copy, Clone)]
11244 pub struct ANativeActivityCallbacks {
11245     pub onStart: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11246     pub onResume: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11247     pub onSaveInstanceState: ::std::option::Option<
11248         unsafe extern "C" fn(
11249             activity: *mut ANativeActivity,
11250             outSize: *mut usize,
11251         ) -> *mut ::std::os::raw::c_void,
11252     >,
11253     pub onPause: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11254     pub onStop: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11255     pub onDestroy: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11256     pub onWindowFocusChanged: ::std::option::Option<
11257         unsafe extern "C" fn(activity: *mut ANativeActivity, hasFocus: ::std::os::raw::c_int),
11258     >,
11259     pub onNativeWindowCreated: ::std::option::Option<
11260         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11261     >,
11262     pub onNativeWindowResized: ::std::option::Option<
11263         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11264     >,
11265     pub onNativeWindowRedrawNeeded: ::std::option::Option<
11266         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11267     >,
11268     pub onNativeWindowDestroyed: ::std::option::Option<
11269         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11270     >,
11271     pub onInputQueueCreated: ::std::option::Option<
11272         unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
11273     >,
11274     pub onInputQueueDestroyed: ::std::option::Option<
11275         unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
11276     >,
11277     pub onContentRectChanged: ::std::option::Option<
11278         unsafe extern "C" fn(activity: *mut ANativeActivity, rect: *const ARect),
11279     >,
11280     pub onConfigurationChanged:
11281         ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11282     pub onLowMemory: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11283 }
11284 #[test]
bindgen_test_layout_ANativeActivityCallbacks()11285 fn bindgen_test_layout_ANativeActivityCallbacks() {
11286     assert_eq!(
11287         ::std::mem::size_of::<ANativeActivityCallbacks>(),
11288         128usize,
11289         concat!("Size of: ", stringify!(ANativeActivityCallbacks))
11290     );
11291     assert_eq!(
11292         ::std::mem::align_of::<ANativeActivityCallbacks>(),
11293         8usize,
11294         concat!("Alignment of ", stringify!(ANativeActivityCallbacks))
11295     );
11296     assert_eq!(
11297         unsafe {
11298             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStart as *const _ as usize
11299         },
11300         0usize,
11301         concat!(
11302             "Offset of field: ",
11303             stringify!(ANativeActivityCallbacks),
11304             "::",
11305             stringify!(onStart)
11306         )
11307     );
11308     assert_eq!(
11309         unsafe {
11310             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onResume as *const _ as usize
11311         },
11312         8usize,
11313         concat!(
11314             "Offset of field: ",
11315             stringify!(ANativeActivityCallbacks),
11316             "::",
11317             stringify!(onResume)
11318         )
11319     );
11320     assert_eq!(
11321         unsafe {
11322             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onSaveInstanceState as *const _
11323                 as usize
11324         },
11325         16usize,
11326         concat!(
11327             "Offset of field: ",
11328             stringify!(ANativeActivityCallbacks),
11329             "::",
11330             stringify!(onSaveInstanceState)
11331         )
11332     );
11333     assert_eq!(
11334         unsafe {
11335             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onPause as *const _ as usize
11336         },
11337         24usize,
11338         concat!(
11339             "Offset of field: ",
11340             stringify!(ANativeActivityCallbacks),
11341             "::",
11342             stringify!(onPause)
11343         )
11344     );
11345     assert_eq!(
11346         unsafe { &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStop as *const _ as usize },
11347         32usize,
11348         concat!(
11349             "Offset of field: ",
11350             stringify!(ANativeActivityCallbacks),
11351             "::",
11352             stringify!(onStop)
11353         )
11354     );
11355     assert_eq!(
11356         unsafe {
11357             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onDestroy as *const _ as usize
11358         },
11359         40usize,
11360         concat!(
11361             "Offset of field: ",
11362             stringify!(ANativeActivityCallbacks),
11363             "::",
11364             stringify!(onDestroy)
11365         )
11366     );
11367     assert_eq!(
11368         unsafe {
11369             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onWindowFocusChanged as *const _
11370                 as usize
11371         },
11372         48usize,
11373         concat!(
11374             "Offset of field: ",
11375             stringify!(ANativeActivityCallbacks),
11376             "::",
11377             stringify!(onWindowFocusChanged)
11378         )
11379     );
11380     assert_eq!(
11381         unsafe {
11382             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowCreated as *const _
11383                 as usize
11384         },
11385         56usize,
11386         concat!(
11387             "Offset of field: ",
11388             stringify!(ANativeActivityCallbacks),
11389             "::",
11390             stringify!(onNativeWindowCreated)
11391         )
11392     );
11393     assert_eq!(
11394         unsafe {
11395             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowResized as *const _
11396                 as usize
11397         },
11398         64usize,
11399         concat!(
11400             "Offset of field: ",
11401             stringify!(ANativeActivityCallbacks),
11402             "::",
11403             stringify!(onNativeWindowResized)
11404         )
11405     );
11406     assert_eq!(
11407         unsafe {
11408             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowRedrawNeeded
11409                 as *const _ as usize
11410         },
11411         72usize,
11412         concat!(
11413             "Offset of field: ",
11414             stringify!(ANativeActivityCallbacks),
11415             "::",
11416             stringify!(onNativeWindowRedrawNeeded)
11417         )
11418     );
11419     assert_eq!(
11420         unsafe {
11421             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowDestroyed as *const _
11422                 as usize
11423         },
11424         80usize,
11425         concat!(
11426             "Offset of field: ",
11427             stringify!(ANativeActivityCallbacks),
11428             "::",
11429             stringify!(onNativeWindowDestroyed)
11430         )
11431     );
11432     assert_eq!(
11433         unsafe {
11434             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueCreated as *const _
11435                 as usize
11436         },
11437         88usize,
11438         concat!(
11439             "Offset of field: ",
11440             stringify!(ANativeActivityCallbacks),
11441             "::",
11442             stringify!(onInputQueueCreated)
11443         )
11444     );
11445     assert_eq!(
11446         unsafe {
11447             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueDestroyed as *const _
11448                 as usize
11449         },
11450         96usize,
11451         concat!(
11452             "Offset of field: ",
11453             stringify!(ANativeActivityCallbacks),
11454             "::",
11455             stringify!(onInputQueueDestroyed)
11456         )
11457     );
11458     assert_eq!(
11459         unsafe {
11460             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onContentRectChanged as *const _
11461                 as usize
11462         },
11463         104usize,
11464         concat!(
11465             "Offset of field: ",
11466             stringify!(ANativeActivityCallbacks),
11467             "::",
11468             stringify!(onContentRectChanged)
11469         )
11470     );
11471     assert_eq!(
11472         unsafe {
11473             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onConfigurationChanged as *const _
11474                 as usize
11475         },
11476         112usize,
11477         concat!(
11478             "Offset of field: ",
11479             stringify!(ANativeActivityCallbacks),
11480             "::",
11481             stringify!(onConfigurationChanged)
11482         )
11483     );
11484     assert_eq!(
11485         unsafe {
11486             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onLowMemory as *const _ as usize
11487         },
11488         120usize,
11489         concat!(
11490             "Offset of field: ",
11491             stringify!(ANativeActivityCallbacks),
11492             "::",
11493             stringify!(onLowMemory)
11494         )
11495     );
11496 }
11497 pub type ANativeActivity_createFunc = ::std::option::Option<
11498     unsafe extern "C" fn(
11499         activity: *mut ANativeActivity,
11500         savedState: *mut ::std::os::raw::c_void,
11501         savedStateSize: usize,
11502     ),
11503 >;
11504 extern "C" {
ANativeActivity_onCreate( activity: *mut ANativeActivity, savedState: *mut ::std::os::raw::c_void, savedStateSize: usize, )11505     pub fn ANativeActivity_onCreate(
11506         activity: *mut ANativeActivity,
11507         savedState: *mut ::std::os::raw::c_void,
11508         savedStateSize: usize,
11509     );
11510 }
11511 extern "C" {
ANativeActivity_finish(activity: *mut ANativeActivity)11512     pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
11513 }
11514 extern "C" {
ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32)11515     pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
11516 }
11517 extern "C" {
ANativeActivity_setWindowFlags( activity: *mut ANativeActivity, addFlags: u32, removeFlags: u32, )11518     pub fn ANativeActivity_setWindowFlags(
11519         activity: *mut ANativeActivity,
11520         addFlags: u32,
11521         removeFlags: u32,
11522     );
11523 }
11524 pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: _bindgen_ty_27 = 1;
11525 pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: _bindgen_ty_27 = 2;
11526 pub type _bindgen_ty_27 = u32;
11527 extern "C" {
ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32)11528     pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
11529 }
11530 pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: _bindgen_ty_28 = 1;
11531 pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: _bindgen_ty_28 = 2;
11532 pub type _bindgen_ty_28 = u32;
11533 extern "C" {
ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32)11534     pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
11535 }
11536 extern "C" {
ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow11537     pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
11538 }
11539 extern "C" {
ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject11540     pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
11541 }
11542 #[repr(C)]
11543 #[derive(Debug, Copy, Clone)]
11544 pub struct AObbInfo {
11545     _unused: [u8; 0],
11546 }
11547 pub const AOBBINFO_OVERLAY: _bindgen_ty_29 = 1;
11548 pub type _bindgen_ty_29 = u32;
11549 extern "C" {
AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo11550     pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
11551 }
11552 extern "C" {
AObbInfo_delete(obbInfo: *mut AObbInfo)11553     pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
11554 }
11555 extern "C" {
AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char11556     pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
11557 }
11558 extern "C" {
AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i3211559     pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
11560 }
11561 extern "C" {
AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i3211562     pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
11563 }
11564 pub type __double_t = f64;
11565 pub type double_t = __double_t;
11566 pub type __float_t = f32;
11567 pub type float_t = __float_t;
11568 extern "C" {
acos(__x: f64) -> f6411569     pub fn acos(__x: f64) -> f64;
11570 }
11571 extern "C" {
acosf(__x: f32) -> f3211572     pub fn acosf(__x: f32) -> f32;
11573 }
11574 extern "C" {
acosl(__x: u128) -> u12811575     pub fn acosl(__x: u128) -> u128;
11576 }
11577 extern "C" {
asin(__x: f64) -> f6411578     pub fn asin(__x: f64) -> f64;
11579 }
11580 extern "C" {
asinf(__x: f32) -> f3211581     pub fn asinf(__x: f32) -> f32;
11582 }
11583 extern "C" {
asinl(__x: u128) -> u12811584     pub fn asinl(__x: u128) -> u128;
11585 }
11586 extern "C" {
atan(__x: f64) -> f6411587     pub fn atan(__x: f64) -> f64;
11588 }
11589 extern "C" {
atanf(__x: f32) -> f3211590     pub fn atanf(__x: f32) -> f32;
11591 }
11592 extern "C" {
atanl(__x: u128) -> u12811593     pub fn atanl(__x: u128) -> u128;
11594 }
11595 extern "C" {
atan2(__y: f64, __x: f64) -> f6411596     pub fn atan2(__y: f64, __x: f64) -> f64;
11597 }
11598 extern "C" {
atan2f(__y: f32, __x: f32) -> f3211599     pub fn atan2f(__y: f32, __x: f32) -> f32;
11600 }
11601 extern "C" {
atan2l(__y: u128, __x: u128) -> u12811602     pub fn atan2l(__y: u128, __x: u128) -> u128;
11603 }
11604 extern "C" {
cos(__x: f64) -> f6411605     pub fn cos(__x: f64) -> f64;
11606 }
11607 extern "C" {
cosf(__x: f32) -> f3211608     pub fn cosf(__x: f32) -> f32;
11609 }
11610 extern "C" {
cosl(__x: u128) -> u12811611     pub fn cosl(__x: u128) -> u128;
11612 }
11613 extern "C" {
sin(__x: f64) -> f6411614     pub fn sin(__x: f64) -> f64;
11615 }
11616 extern "C" {
sinf(__x: f32) -> f3211617     pub fn sinf(__x: f32) -> f32;
11618 }
11619 extern "C" {
sinl(__x: u128) -> u12811620     pub fn sinl(__x: u128) -> u128;
11621 }
11622 extern "C" {
tan(__x: f64) -> f6411623     pub fn tan(__x: f64) -> f64;
11624 }
11625 extern "C" {
tanf(__x: f32) -> f3211626     pub fn tanf(__x: f32) -> f32;
11627 }
11628 extern "C" {
tanl(__x: u128) -> u12811629     pub fn tanl(__x: u128) -> u128;
11630 }
11631 extern "C" {
acosh(__x: f64) -> f6411632     pub fn acosh(__x: f64) -> f64;
11633 }
11634 extern "C" {
acoshf(__x: f32) -> f3211635     pub fn acoshf(__x: f32) -> f32;
11636 }
11637 extern "C" {
acoshl(__x: u128) -> u12811638     pub fn acoshl(__x: u128) -> u128;
11639 }
11640 extern "C" {
asinh(__x: f64) -> f6411641     pub fn asinh(__x: f64) -> f64;
11642 }
11643 extern "C" {
asinhf(__x: f32) -> f3211644     pub fn asinhf(__x: f32) -> f32;
11645 }
11646 extern "C" {
asinhl(__x: u128) -> u12811647     pub fn asinhl(__x: u128) -> u128;
11648 }
11649 extern "C" {
atanh(__x: f64) -> f6411650     pub fn atanh(__x: f64) -> f64;
11651 }
11652 extern "C" {
atanhf(__x: f32) -> f3211653     pub fn atanhf(__x: f32) -> f32;
11654 }
11655 extern "C" {
atanhl(__x: u128) -> u12811656     pub fn atanhl(__x: u128) -> u128;
11657 }
11658 extern "C" {
cosh(__x: f64) -> f6411659     pub fn cosh(__x: f64) -> f64;
11660 }
11661 extern "C" {
coshf(__x: f32) -> f3211662     pub fn coshf(__x: f32) -> f32;
11663 }
11664 extern "C" {
coshl(__x: u128) -> u12811665     pub fn coshl(__x: u128) -> u128;
11666 }
11667 extern "C" {
sinh(__x: f64) -> f6411668     pub fn sinh(__x: f64) -> f64;
11669 }
11670 extern "C" {
sinhf(__x: f32) -> f3211671     pub fn sinhf(__x: f32) -> f32;
11672 }
11673 extern "C" {
sinhl(__x: u128) -> u12811674     pub fn sinhl(__x: u128) -> u128;
11675 }
11676 extern "C" {
tanh(__x: f64) -> f6411677     pub fn tanh(__x: f64) -> f64;
11678 }
11679 extern "C" {
tanhf(__x: f32) -> f3211680     pub fn tanhf(__x: f32) -> f32;
11681 }
11682 extern "C" {
tanhl(__x: u128) -> u12811683     pub fn tanhl(__x: u128) -> u128;
11684 }
11685 extern "C" {
exp(__x: f64) -> f6411686     pub fn exp(__x: f64) -> f64;
11687 }
11688 extern "C" {
expf(__x: f32) -> f3211689     pub fn expf(__x: f32) -> f32;
11690 }
11691 extern "C" {
expl(__x: u128) -> u12811692     pub fn expl(__x: u128) -> u128;
11693 }
11694 extern "C" {
exp2(__x: f64) -> f6411695     pub fn exp2(__x: f64) -> f64;
11696 }
11697 extern "C" {
exp2f(__x: f32) -> f3211698     pub fn exp2f(__x: f32) -> f32;
11699 }
11700 extern "C" {
exp2l(__x: u128) -> u12811701     pub fn exp2l(__x: u128) -> u128;
11702 }
11703 extern "C" {
expm1(__x: f64) -> f6411704     pub fn expm1(__x: f64) -> f64;
11705 }
11706 extern "C" {
expm1f(__x: f32) -> f3211707     pub fn expm1f(__x: f32) -> f32;
11708 }
11709 extern "C" {
expm1l(__x: u128) -> u12811710     pub fn expm1l(__x: u128) -> u128;
11711 }
11712 extern "C" {
frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f6411713     pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
11714 }
11715 extern "C" {
frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f3211716     pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
11717 }
11718 extern "C" {
frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u12811719     pub fn frexpl(__x: u128, __exponent: *mut ::std::os::raw::c_int) -> u128;
11720 }
11721 extern "C" {
ilogb(__x: f64) -> ::std::os::raw::c_int11722     pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
11723 }
11724 extern "C" {
ilogbf(__x: f32) -> ::std::os::raw::c_int11725     pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
11726 }
11727 extern "C" {
ilogbl(__x: u128) -> ::std::os::raw::c_int11728     pub fn ilogbl(__x: u128) -> ::std::os::raw::c_int;
11729 }
11730 extern "C" {
ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f6411731     pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
11732 }
11733 extern "C" {
ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f3211734     pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
11735 }
11736 extern "C" {
ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u12811737     pub fn ldexpl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
11738 }
11739 extern "C" {
log(__x: f64) -> f6411740     pub fn log(__x: f64) -> f64;
11741 }
11742 extern "C" {
logf(__x: f32) -> f3211743     pub fn logf(__x: f32) -> f32;
11744 }
11745 extern "C" {
logl(__x: u128) -> u12811746     pub fn logl(__x: u128) -> u128;
11747 }
11748 extern "C" {
log10(__x: f64) -> f6411749     pub fn log10(__x: f64) -> f64;
11750 }
11751 extern "C" {
log10f(__x: f32) -> f3211752     pub fn log10f(__x: f32) -> f32;
11753 }
11754 extern "C" {
log10l(__x: u128) -> u12811755     pub fn log10l(__x: u128) -> u128;
11756 }
11757 extern "C" {
log1p(__x: f64) -> f6411758     pub fn log1p(__x: f64) -> f64;
11759 }
11760 extern "C" {
log1pf(__x: f32) -> f3211761     pub fn log1pf(__x: f32) -> f32;
11762 }
11763 extern "C" {
log1pl(__x: u128) -> u12811764     pub fn log1pl(__x: u128) -> u128;
11765 }
11766 extern "C" {
log2(__x: f64) -> f6411767     pub fn log2(__x: f64) -> f64;
11768 }
11769 extern "C" {
log2f(__x: f32) -> f3211770     pub fn log2f(__x: f32) -> f32;
11771 }
11772 extern "C" {
log2l(__x: u128) -> u12811773     pub fn log2l(__x: u128) -> u128;
11774 }
11775 extern "C" {
logb(__x: f64) -> f6411776     pub fn logb(__x: f64) -> f64;
11777 }
11778 extern "C" {
logbf(__x: f32) -> f3211779     pub fn logbf(__x: f32) -> f32;
11780 }
11781 extern "C" {
logbl(__x: u128) -> u12811782     pub fn logbl(__x: u128) -> u128;
11783 }
11784 extern "C" {
modf(__x: f64, __integral_part: *mut f64) -> f6411785     pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
11786 }
11787 extern "C" {
modff(__x: f32, __integral_part: *mut f32) -> f3211788     pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
11789 }
11790 extern "C" {
modfl(__x: u128, __integral_part: *mut u128) -> u12811791     pub fn modfl(__x: u128, __integral_part: *mut u128) -> u128;
11792 }
11793 extern "C" {
scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f6411794     pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
11795 }
11796 extern "C" {
scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f3211797     pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
11798 }
11799 extern "C" {
scalbnl(__x: u128, __exponent: ::std::os::raw::c_int) -> u12811800     pub fn scalbnl(__x: u128, __exponent: ::std::os::raw::c_int) -> u128;
11801 }
11802 extern "C" {
scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f6411803     pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
11804 }
11805 extern "C" {
scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f3211806     pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
11807 }
11808 extern "C" {
scalblnl(__x: u128, __exponent: ::std::os::raw::c_long) -> u12811809     pub fn scalblnl(__x: u128, __exponent: ::std::os::raw::c_long) -> u128;
11810 }
11811 extern "C" {
cbrt(__x: f64) -> f6411812     pub fn cbrt(__x: f64) -> f64;
11813 }
11814 extern "C" {
cbrtf(__x: f32) -> f3211815     pub fn cbrtf(__x: f32) -> f32;
11816 }
11817 extern "C" {
cbrtl(__x: u128) -> u12811818     pub fn cbrtl(__x: u128) -> u128;
11819 }
11820 extern "C" {
fabs(__x: f64) -> f6411821     pub fn fabs(__x: f64) -> f64;
11822 }
11823 extern "C" {
fabsf(__x: f32) -> f3211824     pub fn fabsf(__x: f32) -> f32;
11825 }
11826 extern "C" {
fabsl(__x: u128) -> u12811827     pub fn fabsl(__x: u128) -> u128;
11828 }
11829 extern "C" {
hypot(__x: f64, __y: f64) -> f6411830     pub fn hypot(__x: f64, __y: f64) -> f64;
11831 }
11832 extern "C" {
hypotf(__x: f32, __y: f32) -> f3211833     pub fn hypotf(__x: f32, __y: f32) -> f32;
11834 }
11835 extern "C" {
hypotl(__x: u128, __y: u128) -> u12811836     pub fn hypotl(__x: u128, __y: u128) -> u128;
11837 }
11838 extern "C" {
pow(__x: f64, __y: f64) -> f6411839     pub fn pow(__x: f64, __y: f64) -> f64;
11840 }
11841 extern "C" {
powf(__x: f32, __y: f32) -> f3211842     pub fn powf(__x: f32, __y: f32) -> f32;
11843 }
11844 extern "C" {
powl(__x: u128, __y: u128) -> u12811845     pub fn powl(__x: u128, __y: u128) -> u128;
11846 }
11847 extern "C" {
sqrt(__x: f64) -> f6411848     pub fn sqrt(__x: f64) -> f64;
11849 }
11850 extern "C" {
sqrtf(__x: f32) -> f3211851     pub fn sqrtf(__x: f32) -> f32;
11852 }
11853 extern "C" {
sqrtl(__x: u128) -> u12811854     pub fn sqrtl(__x: u128) -> u128;
11855 }
11856 extern "C" {
erf(__x: f64) -> f6411857     pub fn erf(__x: f64) -> f64;
11858 }
11859 extern "C" {
erff(__x: f32) -> f3211860     pub fn erff(__x: f32) -> f32;
11861 }
11862 extern "C" {
erfl(__x: u128) -> u12811863     pub fn erfl(__x: u128) -> u128;
11864 }
11865 extern "C" {
erfc(__x: f64) -> f6411866     pub fn erfc(__x: f64) -> f64;
11867 }
11868 extern "C" {
erfcf(__x: f32) -> f3211869     pub fn erfcf(__x: f32) -> f32;
11870 }
11871 extern "C" {
erfcl(__x: u128) -> u12811872     pub fn erfcl(__x: u128) -> u128;
11873 }
11874 extern "C" {
lgamma(__x: f64) -> f6411875     pub fn lgamma(__x: f64) -> f64;
11876 }
11877 extern "C" {
lgammaf(__x: f32) -> f3211878     pub fn lgammaf(__x: f32) -> f32;
11879 }
11880 extern "C" {
lgammal(__x: u128) -> u12811881     pub fn lgammal(__x: u128) -> u128;
11882 }
11883 extern "C" {
tgamma(__x: f64) -> f6411884     pub fn tgamma(__x: f64) -> f64;
11885 }
11886 extern "C" {
tgammaf(__x: f32) -> f3211887     pub fn tgammaf(__x: f32) -> f32;
11888 }
11889 extern "C" {
tgammal(__x: u128) -> u12811890     pub fn tgammal(__x: u128) -> u128;
11891 }
11892 extern "C" {
ceil(__x: f64) -> f6411893     pub fn ceil(__x: f64) -> f64;
11894 }
11895 extern "C" {
ceilf(__x: f32) -> f3211896     pub fn ceilf(__x: f32) -> f32;
11897 }
11898 extern "C" {
ceill(__x: u128) -> u12811899     pub fn ceill(__x: u128) -> u128;
11900 }
11901 extern "C" {
floor(__x: f64) -> f6411902     pub fn floor(__x: f64) -> f64;
11903 }
11904 extern "C" {
floorf(__x: f32) -> f3211905     pub fn floorf(__x: f32) -> f32;
11906 }
11907 extern "C" {
floorl(__x: u128) -> u12811908     pub fn floorl(__x: u128) -> u128;
11909 }
11910 extern "C" {
nearbyint(__x: f64) -> f6411911     pub fn nearbyint(__x: f64) -> f64;
11912 }
11913 extern "C" {
nearbyintf(__x: f32) -> f3211914     pub fn nearbyintf(__x: f32) -> f32;
11915 }
11916 extern "C" {
nearbyintl(__x: u128) -> u12811917     pub fn nearbyintl(__x: u128) -> u128;
11918 }
11919 extern "C" {
rint(__x: f64) -> f6411920     pub fn rint(__x: f64) -> f64;
11921 }
11922 extern "C" {
rintf(__x: f32) -> f3211923     pub fn rintf(__x: f32) -> f32;
11924 }
11925 extern "C" {
rintl(__x: u128) -> u12811926     pub fn rintl(__x: u128) -> u128;
11927 }
11928 extern "C" {
lrint(__x: f64) -> ::std::os::raw::c_long11929     pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
11930 }
11931 extern "C" {
lrintf(__x: f32) -> ::std::os::raw::c_long11932     pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
11933 }
11934 extern "C" {
lrintl(__x: u128) -> ::std::os::raw::c_long11935     pub fn lrintl(__x: u128) -> ::std::os::raw::c_long;
11936 }
11937 extern "C" {
llrint(__x: f64) -> ::std::os::raw::c_longlong11938     pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
11939 }
11940 extern "C" {
llrintf(__x: f32) -> ::std::os::raw::c_longlong11941     pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
11942 }
11943 extern "C" {
llrintl(__x: u128) -> ::std::os::raw::c_longlong11944     pub fn llrintl(__x: u128) -> ::std::os::raw::c_longlong;
11945 }
11946 extern "C" {
round(__x: f64) -> f6411947     pub fn round(__x: f64) -> f64;
11948 }
11949 extern "C" {
roundf(__x: f32) -> f3211950     pub fn roundf(__x: f32) -> f32;
11951 }
11952 extern "C" {
roundl(__x: u128) -> u12811953     pub fn roundl(__x: u128) -> u128;
11954 }
11955 extern "C" {
lround(__x: f64) -> ::std::os::raw::c_long11956     pub fn lround(__x: f64) -> ::std::os::raw::c_long;
11957 }
11958 extern "C" {
lroundf(__x: f32) -> ::std::os::raw::c_long11959     pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
11960 }
11961 extern "C" {
lroundl(__x: u128) -> ::std::os::raw::c_long11962     pub fn lroundl(__x: u128) -> ::std::os::raw::c_long;
11963 }
11964 extern "C" {
llround(__x: f64) -> ::std::os::raw::c_longlong11965     pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
11966 }
11967 extern "C" {
llroundf(__x: f32) -> ::std::os::raw::c_longlong11968     pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
11969 }
11970 extern "C" {
llroundl(__x: u128) -> ::std::os::raw::c_longlong11971     pub fn llroundl(__x: u128) -> ::std::os::raw::c_longlong;
11972 }
11973 extern "C" {
trunc(__x: f64) -> f6411974     pub fn trunc(__x: f64) -> f64;
11975 }
11976 extern "C" {
truncf(__x: f32) -> f3211977     pub fn truncf(__x: f32) -> f32;
11978 }
11979 extern "C" {
truncl(__x: u128) -> u12811980     pub fn truncl(__x: u128) -> u128;
11981 }
11982 extern "C" {
fmod(__x: f64, __y: f64) -> f6411983     pub fn fmod(__x: f64, __y: f64) -> f64;
11984 }
11985 extern "C" {
fmodf(__x: f32, __y: f32) -> f3211986     pub fn fmodf(__x: f32, __y: f32) -> f32;
11987 }
11988 extern "C" {
fmodl(__x: u128, __y: u128) -> u12811989     pub fn fmodl(__x: u128, __y: u128) -> u128;
11990 }
11991 extern "C" {
remainder(__x: f64, __y: f64) -> f6411992     pub fn remainder(__x: f64, __y: f64) -> f64;
11993 }
11994 extern "C" {
remainderf(__x: f32, __y: f32) -> f3211995     pub fn remainderf(__x: f32, __y: f32) -> f32;
11996 }
11997 extern "C" {
remainderl(__x: u128, __y: u128) -> u12811998     pub fn remainderl(__x: u128, __y: u128) -> u128;
11999 }
12000 extern "C" {
remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f6412001     pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
12002 }
12003 extern "C" {
remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f3212004     pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
12005 }
12006 extern "C" {
remquol(__x: u128, __y: u128, __quotient_bits: *mut ::std::os::raw::c_int) -> u12812007     pub fn remquol(__x: u128, __y: u128, __quotient_bits: *mut ::std::os::raw::c_int) -> u128;
12008 }
12009 extern "C" {
copysign(__value: f64, __sign: f64) -> f6412010     pub fn copysign(__value: f64, __sign: f64) -> f64;
12011 }
12012 extern "C" {
copysignf(__value: f32, __sign: f32) -> f3212013     pub fn copysignf(__value: f32, __sign: f32) -> f32;
12014 }
12015 extern "C" {
copysignl(__value: u128, __sign: u128) -> u12812016     pub fn copysignl(__value: u128, __sign: u128) -> u128;
12017 }
12018 extern "C" {
nan(__kind: *const ::std::os::raw::c_char) -> f6412019     pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
12020 }
12021 extern "C" {
nanf(__kind: *const ::std::os::raw::c_char) -> f3212022     pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
12023 }
12024 extern "C" {
nanl(__kind: *const ::std::os::raw::c_char) -> u12812025     pub fn nanl(__kind: *const ::std::os::raw::c_char) -> u128;
12026 }
12027 extern "C" {
nextafter(__x: f64, __y: f64) -> f6412028     pub fn nextafter(__x: f64, __y: f64) -> f64;
12029 }
12030 extern "C" {
nextafterf(__x: f32, __y: f32) -> f3212031     pub fn nextafterf(__x: f32, __y: f32) -> f32;
12032 }
12033 extern "C" {
nextafterl(__x: u128, __y: u128) -> u12812034     pub fn nextafterl(__x: u128, __y: u128) -> u128;
12035 }
12036 extern "C" {
nexttoward(__x: f64, __y: u128) -> f6412037     pub fn nexttoward(__x: f64, __y: u128) -> f64;
12038 }
12039 extern "C" {
nexttowardf(__x: f32, __y: u128) -> f3212040     pub fn nexttowardf(__x: f32, __y: u128) -> f32;
12041 }
12042 extern "C" {
nexttowardl(__x: u128, __y: u128) -> u12812043     pub fn nexttowardl(__x: u128, __y: u128) -> u128;
12044 }
12045 extern "C" {
fdim(__x: f64, __y: f64) -> f6412046     pub fn fdim(__x: f64, __y: f64) -> f64;
12047 }
12048 extern "C" {
fdimf(__x: f32, __y: f32) -> f3212049     pub fn fdimf(__x: f32, __y: f32) -> f32;
12050 }
12051 extern "C" {
fdiml(__x: u128, __y: u128) -> u12812052     pub fn fdiml(__x: u128, __y: u128) -> u128;
12053 }
12054 extern "C" {
fmax(__x: f64, __y: f64) -> f6412055     pub fn fmax(__x: f64, __y: f64) -> f64;
12056 }
12057 extern "C" {
fmaxf(__x: f32, __y: f32) -> f3212058     pub fn fmaxf(__x: f32, __y: f32) -> f32;
12059 }
12060 extern "C" {
fmaxl(__x: u128, __y: u128) -> u12812061     pub fn fmaxl(__x: u128, __y: u128) -> u128;
12062 }
12063 extern "C" {
fmin(__x: f64, __y: f64) -> f6412064     pub fn fmin(__x: f64, __y: f64) -> f64;
12065 }
12066 extern "C" {
fminf(__x: f32, __y: f32) -> f3212067     pub fn fminf(__x: f32, __y: f32) -> f32;
12068 }
12069 extern "C" {
fminl(__x: u128, __y: u128) -> u12812070     pub fn fminl(__x: u128, __y: u128) -> u128;
12071 }
12072 extern "C" {
fma(__x: f64, __y: f64, __z: f64) -> f6412073     pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
12074 }
12075 extern "C" {
fmaf(__x: f32, __y: f32, __z: f32) -> f3212076     pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
12077 }
12078 extern "C" {
fmal(__x: u128, __y: u128, __z: u128) -> u12812079     pub fn fmal(__x: u128, __y: u128, __z: u128) -> u128;
12080 }
12081 extern "C" {
isinf(__x: f64) -> ::std::os::raw::c_int12082     pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
12083 }
12084 extern "C" {
isnan(__x: f64) -> ::std::os::raw::c_int12085     pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
12086 }
12087 extern "C" {
12088     pub static mut signgam: ::std::os::raw::c_int;
12089 }
12090 extern "C" {
j0(__x: f64) -> f6412091     pub fn j0(__x: f64) -> f64;
12092 }
12093 extern "C" {
j1(__x: f64) -> f6412094     pub fn j1(__x: f64) -> f64;
12095 }
12096 extern "C" {
jn(__n: ::std::os::raw::c_int, __x: f64) -> f6412097     pub fn jn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
12098 }
12099 extern "C" {
y0(__x: f64) -> f6412100     pub fn y0(__x: f64) -> f64;
12101 }
12102 extern "C" {
y1(__x: f64) -> f6412103     pub fn y1(__x: f64) -> f64;
12104 }
12105 extern "C" {
yn(__n: ::std::os::raw::c_int, __x: f64) -> f6412106     pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
12107 }
12108 pub const ASENSOR_TYPE_INVALID: _bindgen_ty_30 = -1;
12109 pub const ASENSOR_TYPE_ACCELEROMETER: _bindgen_ty_30 = 1;
12110 pub const ASENSOR_TYPE_MAGNETIC_FIELD: _bindgen_ty_30 = 2;
12111 pub const ASENSOR_TYPE_GYROSCOPE: _bindgen_ty_30 = 4;
12112 pub const ASENSOR_TYPE_LIGHT: _bindgen_ty_30 = 5;
12113 pub const ASENSOR_TYPE_PRESSURE: _bindgen_ty_30 = 6;
12114 pub const ASENSOR_TYPE_PROXIMITY: _bindgen_ty_30 = 8;
12115 pub const ASENSOR_TYPE_GRAVITY: _bindgen_ty_30 = 9;
12116 pub const ASENSOR_TYPE_LINEAR_ACCELERATION: _bindgen_ty_30 = 10;
12117 pub const ASENSOR_TYPE_ROTATION_VECTOR: _bindgen_ty_30 = 11;
12118 pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: _bindgen_ty_30 = 12;
12119 pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: _bindgen_ty_30 = 13;
12120 pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: _bindgen_ty_30 = 14;
12121 pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: _bindgen_ty_30 = 15;
12122 pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: _bindgen_ty_30 = 16;
12123 pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: _bindgen_ty_30 = 17;
12124 pub const ASENSOR_TYPE_STEP_DETECTOR: _bindgen_ty_30 = 18;
12125 pub const ASENSOR_TYPE_STEP_COUNTER: _bindgen_ty_30 = 19;
12126 pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: _bindgen_ty_30 = 20;
12127 pub const ASENSOR_TYPE_HEART_RATE: _bindgen_ty_30 = 21;
12128 pub const ASENSOR_TYPE_POSE_6DOF: _bindgen_ty_30 = 28;
12129 pub const ASENSOR_TYPE_STATIONARY_DETECT: _bindgen_ty_30 = 29;
12130 pub const ASENSOR_TYPE_MOTION_DETECT: _bindgen_ty_30 = 30;
12131 pub const ASENSOR_TYPE_HEART_BEAT: _bindgen_ty_30 = 31;
12132 pub const ASENSOR_TYPE_ADDITIONAL_INFO: _bindgen_ty_30 = 33;
12133 pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: _bindgen_ty_30 = 34;
12134 pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: _bindgen_ty_30 = 35;
12135 pub type _bindgen_ty_30 = i32;
12136 pub const ASENSOR_STATUS_NO_CONTACT: _bindgen_ty_31 = -1;
12137 pub const ASENSOR_STATUS_UNRELIABLE: _bindgen_ty_31 = 0;
12138 pub const ASENSOR_STATUS_ACCURACY_LOW: _bindgen_ty_31 = 1;
12139 pub const ASENSOR_STATUS_ACCURACY_MEDIUM: _bindgen_ty_31 = 2;
12140 pub const ASENSOR_STATUS_ACCURACY_HIGH: _bindgen_ty_31 = 3;
12141 pub type _bindgen_ty_31 = i32;
12142 pub const AREPORTING_MODE_INVALID: _bindgen_ty_32 = -1;
12143 pub const AREPORTING_MODE_CONTINUOUS: _bindgen_ty_32 = 0;
12144 pub const AREPORTING_MODE_ON_CHANGE: _bindgen_ty_32 = 1;
12145 pub const AREPORTING_MODE_ONE_SHOT: _bindgen_ty_32 = 2;
12146 pub const AREPORTING_MODE_SPECIAL_TRIGGER: _bindgen_ty_32 = 3;
12147 pub type _bindgen_ty_32 = i32;
12148 pub const ASENSOR_DIRECT_RATE_STOP: _bindgen_ty_33 = 0;
12149 pub const ASENSOR_DIRECT_RATE_NORMAL: _bindgen_ty_33 = 1;
12150 pub const ASENSOR_DIRECT_RATE_FAST: _bindgen_ty_33 = 2;
12151 pub const ASENSOR_DIRECT_RATE_VERY_FAST: _bindgen_ty_33 = 3;
12152 pub type _bindgen_ty_33 = u32;
12153 pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: _bindgen_ty_34 = 1;
12154 pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: _bindgen_ty_34 = 2;
12155 pub type _bindgen_ty_34 = u32;
12156 pub const ASENSOR_ADDITIONAL_INFO_BEGIN: _bindgen_ty_35 = 0;
12157 pub const ASENSOR_ADDITIONAL_INFO_END: _bindgen_ty_35 = 1;
12158 pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: _bindgen_ty_35 = 65536;
12159 pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: _bindgen_ty_35 = 65537;
12160 pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: _bindgen_ty_35 = 65538;
12161 pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: _bindgen_ty_35 = 65539;
12162 pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: _bindgen_ty_35 = 65540;
12163 pub type _bindgen_ty_35 = u32;
12164 #[repr(C)]
12165 #[derive(Copy, Clone)]
12166 pub struct ASensorVector {
12167     pub __bindgen_anon_1: ASensorVector__bindgen_ty_1,
12168     pub status: i8,
12169     pub reserved: [u8; 3usize],
12170 }
12171 #[repr(C)]
12172 #[derive(Copy, Clone)]
12173 pub union ASensorVector__bindgen_ty_1 {
12174     pub v: [f32; 3usize],
12175     pub __bindgen_anon_1: ASensorVector__bindgen_ty_1__bindgen_ty_1,
12176     pub __bindgen_anon_2: ASensorVector__bindgen_ty_1__bindgen_ty_2,
12177     _bindgen_union_align: [u32; 3usize],
12178 }
12179 #[repr(C)]
12180 #[derive(Debug, Copy, Clone)]
12181 pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
12182     pub x: f32,
12183     pub y: f32,
12184     pub z: f32,
12185 }
12186 #[test]
bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1()12187 fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1() {
12188     assert_eq!(
12189         ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
12190         12usize,
12191         concat!(
12192             "Size of: ",
12193             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
12194         )
12195     );
12196     assert_eq!(
12197         ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
12198         4usize,
12199         concat!(
12200             "Alignment of ",
12201             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
12202         )
12203     );
12204     assert_eq!(
12205         unsafe {
12206             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).x as *const _
12207                 as usize
12208         },
12209         0usize,
12210         concat!(
12211             "Offset of field: ",
12212             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12213             "::",
12214             stringify!(x)
12215         )
12216     );
12217     assert_eq!(
12218         unsafe {
12219             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).y as *const _
12220                 as usize
12221         },
12222         4usize,
12223         concat!(
12224             "Offset of field: ",
12225             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12226             "::",
12227             stringify!(y)
12228         )
12229     );
12230     assert_eq!(
12231         unsafe {
12232             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).z as *const _
12233                 as usize
12234         },
12235         8usize,
12236         concat!(
12237             "Offset of field: ",
12238             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12239             "::",
12240             stringify!(z)
12241         )
12242     );
12243 }
12244 #[repr(C)]
12245 #[derive(Debug, Copy, Clone)]
12246 pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
12247     pub azimuth: f32,
12248     pub pitch: f32,
12249     pub roll: f32,
12250 }
12251 #[test]
bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2()12252 fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2() {
12253     assert_eq!(
12254         ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
12255         12usize,
12256         concat!(
12257             "Size of: ",
12258             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
12259         )
12260     );
12261     assert_eq!(
12262         ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
12263         4usize,
12264         concat!(
12265             "Alignment of ",
12266             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
12267         )
12268     );
12269     assert_eq!(
12270         unsafe {
12271             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).azimuth
12272                 as *const _ as usize
12273         },
12274         0usize,
12275         concat!(
12276             "Offset of field: ",
12277             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12278             "::",
12279             stringify!(azimuth)
12280         )
12281     );
12282     assert_eq!(
12283         unsafe {
12284             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).pitch as *const _
12285                 as usize
12286         },
12287         4usize,
12288         concat!(
12289             "Offset of field: ",
12290             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12291             "::",
12292             stringify!(pitch)
12293         )
12294     );
12295     assert_eq!(
12296         unsafe {
12297             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).roll as *const _
12298                 as usize
12299         },
12300         8usize,
12301         concat!(
12302             "Offset of field: ",
12303             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12304             "::",
12305             stringify!(roll)
12306         )
12307     );
12308 }
12309 #[test]
bindgen_test_layout_ASensorVector__bindgen_ty_1()12310 fn bindgen_test_layout_ASensorVector__bindgen_ty_1() {
12311     assert_eq!(
12312         ::std::mem::size_of::<ASensorVector__bindgen_ty_1>(),
12313         12usize,
12314         concat!("Size of: ", stringify!(ASensorVector__bindgen_ty_1))
12315     );
12316     assert_eq!(
12317         ::std::mem::align_of::<ASensorVector__bindgen_ty_1>(),
12318         4usize,
12319         concat!("Alignment of ", stringify!(ASensorVector__bindgen_ty_1))
12320     );
12321     assert_eq!(
12322         unsafe { &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1>())).v as *const _ as usize },
12323         0usize,
12324         concat!(
12325             "Offset of field: ",
12326             stringify!(ASensorVector__bindgen_ty_1),
12327             "::",
12328             stringify!(v)
12329         )
12330     );
12331 }
12332 #[test]
bindgen_test_layout_ASensorVector()12333 fn bindgen_test_layout_ASensorVector() {
12334     assert_eq!(
12335         ::std::mem::size_of::<ASensorVector>(),
12336         16usize,
12337         concat!("Size of: ", stringify!(ASensorVector))
12338     );
12339     assert_eq!(
12340         ::std::mem::align_of::<ASensorVector>(),
12341         4usize,
12342         concat!("Alignment of ", stringify!(ASensorVector))
12343     );
12344     assert_eq!(
12345         unsafe { &(*(::std::ptr::null::<ASensorVector>())).status as *const _ as usize },
12346         12usize,
12347         concat!(
12348             "Offset of field: ",
12349             stringify!(ASensorVector),
12350             "::",
12351             stringify!(status)
12352         )
12353     );
12354     assert_eq!(
12355         unsafe { &(*(::std::ptr::null::<ASensorVector>())).reserved as *const _ as usize },
12356         13usize,
12357         concat!(
12358             "Offset of field: ",
12359             stringify!(ASensorVector),
12360             "::",
12361             stringify!(reserved)
12362         )
12363     );
12364 }
12365 #[repr(C)]
12366 #[derive(Debug, Copy, Clone)]
12367 pub struct AMetaDataEvent {
12368     pub what: i32,
12369     pub sensor: i32,
12370 }
12371 #[test]
bindgen_test_layout_AMetaDataEvent()12372 fn bindgen_test_layout_AMetaDataEvent() {
12373     assert_eq!(
12374         ::std::mem::size_of::<AMetaDataEvent>(),
12375         8usize,
12376         concat!("Size of: ", stringify!(AMetaDataEvent))
12377     );
12378     assert_eq!(
12379         ::std::mem::align_of::<AMetaDataEvent>(),
12380         4usize,
12381         concat!("Alignment of ", stringify!(AMetaDataEvent))
12382     );
12383     assert_eq!(
12384         unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).what as *const _ as usize },
12385         0usize,
12386         concat!(
12387             "Offset of field: ",
12388             stringify!(AMetaDataEvent),
12389             "::",
12390             stringify!(what)
12391         )
12392     );
12393     assert_eq!(
12394         unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).sensor as *const _ as usize },
12395         4usize,
12396         concat!(
12397             "Offset of field: ",
12398             stringify!(AMetaDataEvent),
12399             "::",
12400             stringify!(sensor)
12401         )
12402     );
12403 }
12404 #[repr(C)]
12405 #[derive(Copy, Clone)]
12406 pub struct AUncalibratedEvent {
12407     pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1,
12408     pub __bindgen_anon_2: AUncalibratedEvent__bindgen_ty_2,
12409 }
12410 #[repr(C)]
12411 #[derive(Copy, Clone)]
12412 pub union AUncalibratedEvent__bindgen_ty_1 {
12413     pub uncalib: [f32; 3usize],
12414     pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
12415     _bindgen_union_align: [u32; 3usize],
12416 }
12417 #[repr(C)]
12418 #[derive(Debug, Copy, Clone)]
12419 pub struct AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
12420     pub x_uncalib: f32,
12421     pub y_uncalib: f32,
12422     pub z_uncalib: f32,
12423 }
12424 #[test]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1()12425 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
12426     assert_eq!(
12427         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
12428         12usize,
12429         concat!(
12430             "Size of: ",
12431             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
12432         )
12433     );
12434     assert_eq!(
12435         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
12436         4usize,
12437         concat!(
12438             "Alignment of ",
12439             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
12440         )
12441     );
12442     assert_eq!(
12443         unsafe {
12444             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).x_uncalib
12445                 as *const _ as usize
12446         },
12447         0usize,
12448         concat!(
12449             "Offset of field: ",
12450             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
12451             "::",
12452             stringify!(x_uncalib)
12453         )
12454     );
12455     assert_eq!(
12456         unsafe {
12457             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).y_uncalib
12458                 as *const _ as usize
12459         },
12460         4usize,
12461         concat!(
12462             "Offset of field: ",
12463             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
12464             "::",
12465             stringify!(y_uncalib)
12466         )
12467     );
12468     assert_eq!(
12469         unsafe {
12470             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).z_uncalib
12471                 as *const _ as usize
12472         },
12473         8usize,
12474         concat!(
12475             "Offset of field: ",
12476             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
12477             "::",
12478             stringify!(z_uncalib)
12479         )
12480     );
12481 }
12482 #[test]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1()12483 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1() {
12484     assert_eq!(
12485         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1>(),
12486         12usize,
12487         concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_1))
12488     );
12489     assert_eq!(
12490         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1>(),
12491         4usize,
12492         concat!(
12493             "Alignment of ",
12494             stringify!(AUncalibratedEvent__bindgen_ty_1)
12495         )
12496     );
12497     assert_eq!(
12498         unsafe {
12499             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1>())).uncalib as *const _
12500                 as usize
12501         },
12502         0usize,
12503         concat!(
12504             "Offset of field: ",
12505             stringify!(AUncalibratedEvent__bindgen_ty_1),
12506             "::",
12507             stringify!(uncalib)
12508         )
12509     );
12510 }
12511 #[repr(C)]
12512 #[derive(Copy, Clone)]
12513 pub union AUncalibratedEvent__bindgen_ty_2 {
12514     pub bias: [f32; 3usize],
12515     pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
12516     _bindgen_union_align: [u32; 3usize],
12517 }
12518 #[repr(C)]
12519 #[derive(Debug, Copy, Clone)]
12520 pub struct AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
12521     pub x_bias: f32,
12522     pub y_bias: f32,
12523     pub z_bias: f32,
12524 }
12525 #[test]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1()12526 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
12527     assert_eq!(
12528         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
12529         12usize,
12530         concat!(
12531             "Size of: ",
12532             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
12533         )
12534     );
12535     assert_eq!(
12536         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
12537         4usize,
12538         concat!(
12539             "Alignment of ",
12540             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
12541         )
12542     );
12543     assert_eq!(
12544         unsafe {
12545             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).x_bias
12546                 as *const _ as usize
12547         },
12548         0usize,
12549         concat!(
12550             "Offset of field: ",
12551             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
12552             "::",
12553             stringify!(x_bias)
12554         )
12555     );
12556     assert_eq!(
12557         unsafe {
12558             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).y_bias
12559                 as *const _ as usize
12560         },
12561         4usize,
12562         concat!(
12563             "Offset of field: ",
12564             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
12565             "::",
12566             stringify!(y_bias)
12567         )
12568     );
12569     assert_eq!(
12570         unsafe {
12571             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).z_bias
12572                 as *const _ as usize
12573         },
12574         8usize,
12575         concat!(
12576             "Offset of field: ",
12577             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
12578             "::",
12579             stringify!(z_bias)
12580         )
12581     );
12582 }
12583 #[test]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2()12584 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2() {
12585     assert_eq!(
12586         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2>(),
12587         12usize,
12588         concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_2))
12589     );
12590     assert_eq!(
12591         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2>(),
12592         4usize,
12593         concat!(
12594             "Alignment of ",
12595             stringify!(AUncalibratedEvent__bindgen_ty_2)
12596         )
12597     );
12598     assert_eq!(
12599         unsafe {
12600             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2>())).bias as *const _ as usize
12601         },
12602         0usize,
12603         concat!(
12604             "Offset of field: ",
12605             stringify!(AUncalibratedEvent__bindgen_ty_2),
12606             "::",
12607             stringify!(bias)
12608         )
12609     );
12610 }
12611 #[test]
bindgen_test_layout_AUncalibratedEvent()12612 fn bindgen_test_layout_AUncalibratedEvent() {
12613     assert_eq!(
12614         ::std::mem::size_of::<AUncalibratedEvent>(),
12615         24usize,
12616         concat!("Size of: ", stringify!(AUncalibratedEvent))
12617     );
12618     assert_eq!(
12619         ::std::mem::align_of::<AUncalibratedEvent>(),
12620         4usize,
12621         concat!("Alignment of ", stringify!(AUncalibratedEvent))
12622     );
12623 }
12624 #[repr(C)]
12625 #[derive(Debug, Copy, Clone)]
12626 pub struct AHeartRateEvent {
12627     pub bpm: f32,
12628     pub status: i8,
12629 }
12630 #[test]
bindgen_test_layout_AHeartRateEvent()12631 fn bindgen_test_layout_AHeartRateEvent() {
12632     assert_eq!(
12633         ::std::mem::size_of::<AHeartRateEvent>(),
12634         8usize,
12635         concat!("Size of: ", stringify!(AHeartRateEvent))
12636     );
12637     assert_eq!(
12638         ::std::mem::align_of::<AHeartRateEvent>(),
12639         4usize,
12640         concat!("Alignment of ", stringify!(AHeartRateEvent))
12641     );
12642     assert_eq!(
12643         unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).bpm as *const _ as usize },
12644         0usize,
12645         concat!(
12646             "Offset of field: ",
12647             stringify!(AHeartRateEvent),
12648             "::",
12649             stringify!(bpm)
12650         )
12651     );
12652     assert_eq!(
12653         unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).status as *const _ as usize },
12654         4usize,
12655         concat!(
12656             "Offset of field: ",
12657             stringify!(AHeartRateEvent),
12658             "::",
12659             stringify!(status)
12660         )
12661     );
12662 }
12663 #[repr(C)]
12664 #[derive(Debug, Copy, Clone)]
12665 pub struct ADynamicSensorEvent {
12666     pub connected: i32,
12667     pub handle: i32,
12668 }
12669 #[test]
bindgen_test_layout_ADynamicSensorEvent()12670 fn bindgen_test_layout_ADynamicSensorEvent() {
12671     assert_eq!(
12672         ::std::mem::size_of::<ADynamicSensorEvent>(),
12673         8usize,
12674         concat!("Size of: ", stringify!(ADynamicSensorEvent))
12675     );
12676     assert_eq!(
12677         ::std::mem::align_of::<ADynamicSensorEvent>(),
12678         4usize,
12679         concat!("Alignment of ", stringify!(ADynamicSensorEvent))
12680     );
12681     assert_eq!(
12682         unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).connected as *const _ as usize },
12683         0usize,
12684         concat!(
12685             "Offset of field: ",
12686             stringify!(ADynamicSensorEvent),
12687             "::",
12688             stringify!(connected)
12689         )
12690     );
12691     assert_eq!(
12692         unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).handle as *const _ as usize },
12693         4usize,
12694         concat!(
12695             "Offset of field: ",
12696             stringify!(ADynamicSensorEvent),
12697             "::",
12698             stringify!(handle)
12699         )
12700     );
12701 }
12702 #[repr(C)]
12703 #[derive(Copy, Clone)]
12704 pub struct AAdditionalInfoEvent {
12705     pub type_: i32,
12706     pub serial: i32,
12707     pub __bindgen_anon_1: AAdditionalInfoEvent__bindgen_ty_1,
12708 }
12709 #[repr(C)]
12710 #[derive(Copy, Clone)]
12711 pub union AAdditionalInfoEvent__bindgen_ty_1 {
12712     pub data_int32: [i32; 14usize],
12713     pub data_float: [f32; 14usize],
12714     _bindgen_union_align: [u32; 14usize],
12715 }
12716 #[test]
bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1()12717 fn bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1() {
12718     assert_eq!(
12719         ::std::mem::size_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
12720         56usize,
12721         concat!("Size of: ", stringify!(AAdditionalInfoEvent__bindgen_ty_1))
12722     );
12723     assert_eq!(
12724         ::std::mem::align_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
12725         4usize,
12726         concat!(
12727             "Alignment of ",
12728             stringify!(AAdditionalInfoEvent__bindgen_ty_1)
12729         )
12730     );
12731     assert_eq!(
12732         unsafe {
12733             &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_int32 as *const _
12734                 as usize
12735         },
12736         0usize,
12737         concat!(
12738             "Offset of field: ",
12739             stringify!(AAdditionalInfoEvent__bindgen_ty_1),
12740             "::",
12741             stringify!(data_int32)
12742         )
12743     );
12744     assert_eq!(
12745         unsafe {
12746             &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_float as *const _
12747                 as usize
12748         },
12749         0usize,
12750         concat!(
12751             "Offset of field: ",
12752             stringify!(AAdditionalInfoEvent__bindgen_ty_1),
12753             "::",
12754             stringify!(data_float)
12755         )
12756     );
12757 }
12758 #[test]
bindgen_test_layout_AAdditionalInfoEvent()12759 fn bindgen_test_layout_AAdditionalInfoEvent() {
12760     assert_eq!(
12761         ::std::mem::size_of::<AAdditionalInfoEvent>(),
12762         64usize,
12763         concat!("Size of: ", stringify!(AAdditionalInfoEvent))
12764     );
12765     assert_eq!(
12766         ::std::mem::align_of::<AAdditionalInfoEvent>(),
12767         4usize,
12768         concat!("Alignment of ", stringify!(AAdditionalInfoEvent))
12769     );
12770     assert_eq!(
12771         unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).type_ as *const _ as usize },
12772         0usize,
12773         concat!(
12774             "Offset of field: ",
12775             stringify!(AAdditionalInfoEvent),
12776             "::",
12777             stringify!(type_)
12778         )
12779     );
12780     assert_eq!(
12781         unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).serial as *const _ as usize },
12782         4usize,
12783         concat!(
12784             "Offset of field: ",
12785             stringify!(AAdditionalInfoEvent),
12786             "::",
12787             stringify!(serial)
12788         )
12789     );
12790 }
12791 #[repr(C)]
12792 #[derive(Copy, Clone)]
12793 pub struct ASensorEvent {
12794     pub version: i32,
12795     pub sensor: i32,
12796     pub type_: i32,
12797     pub reserved0: i32,
12798     pub timestamp: i64,
12799     pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1,
12800     pub flags: u32,
12801     pub reserved1: [i32; 3usize],
12802 }
12803 #[repr(C)]
12804 #[derive(Copy, Clone)]
12805 pub union ASensorEvent__bindgen_ty_1 {
12806     pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1__bindgen_ty_1,
12807     pub u64: ASensorEvent__bindgen_ty_1__bindgen_ty_2,
12808     _bindgen_union_align: [u64; 8usize],
12809 }
12810 #[repr(C)]
12811 #[derive(Copy, Clone)]
12812 pub union ASensorEvent__bindgen_ty_1__bindgen_ty_1 {
12813     pub data: [f32; 16usize],
12814     pub vector: ASensorVector,
12815     pub acceleration: ASensorVector,
12816     pub magnetic: ASensorVector,
12817     pub temperature: f32,
12818     pub distance: f32,
12819     pub light: f32,
12820     pub pressure: f32,
12821     pub relative_humidity: f32,
12822     pub uncalibrated_gyro: AUncalibratedEvent,
12823     pub uncalibrated_magnetic: AUncalibratedEvent,
12824     pub meta_data: AMetaDataEvent,
12825     pub heart_rate: AHeartRateEvent,
12826     pub dynamic_sensor_meta: ADynamicSensorEvent,
12827     pub additional_info: AAdditionalInfoEvent,
12828     _bindgen_union_align: [u32; 16usize],
12829 }
12830 #[test]
bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1()12831 fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1() {
12832     assert_eq!(
12833         ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
12834         64usize,
12835         concat!(
12836             "Size of: ",
12837             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
12838         )
12839     );
12840     assert_eq!(
12841         ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
12842         4usize,
12843         concat!(
12844             "Alignment of ",
12845             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
12846         )
12847     );
12848     assert_eq!(
12849         unsafe {
12850             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).data as *const _
12851                 as usize
12852         },
12853         0usize,
12854         concat!(
12855             "Offset of field: ",
12856             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12857             "::",
12858             stringify!(data)
12859         )
12860     );
12861     assert_eq!(
12862         unsafe {
12863             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).vector as *const _
12864                 as usize
12865         },
12866         0usize,
12867         concat!(
12868             "Offset of field: ",
12869             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12870             "::",
12871             stringify!(vector)
12872         )
12873     );
12874     assert_eq!(
12875         unsafe {
12876             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).acceleration
12877                 as *const _ as usize
12878         },
12879         0usize,
12880         concat!(
12881             "Offset of field: ",
12882             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12883             "::",
12884             stringify!(acceleration)
12885         )
12886     );
12887     assert_eq!(
12888         unsafe {
12889             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).magnetic
12890                 as *const _ as usize
12891         },
12892         0usize,
12893         concat!(
12894             "Offset of field: ",
12895             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12896             "::",
12897             stringify!(magnetic)
12898         )
12899     );
12900     assert_eq!(
12901         unsafe {
12902             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).temperature
12903                 as *const _ as usize
12904         },
12905         0usize,
12906         concat!(
12907             "Offset of field: ",
12908             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12909             "::",
12910             stringify!(temperature)
12911         )
12912     );
12913     assert_eq!(
12914         unsafe {
12915             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).distance
12916                 as *const _ as usize
12917         },
12918         0usize,
12919         concat!(
12920             "Offset of field: ",
12921             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12922             "::",
12923             stringify!(distance)
12924         )
12925     );
12926     assert_eq!(
12927         unsafe {
12928             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).light as *const _
12929                 as usize
12930         },
12931         0usize,
12932         concat!(
12933             "Offset of field: ",
12934             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12935             "::",
12936             stringify!(light)
12937         )
12938     );
12939     assert_eq!(
12940         unsafe {
12941             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).pressure
12942                 as *const _ as usize
12943         },
12944         0usize,
12945         concat!(
12946             "Offset of field: ",
12947             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12948             "::",
12949             stringify!(pressure)
12950         )
12951     );
12952     assert_eq!(
12953         unsafe {
12954             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).relative_humidity
12955                 as *const _ as usize
12956         },
12957         0usize,
12958         concat!(
12959             "Offset of field: ",
12960             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12961             "::",
12962             stringify!(relative_humidity)
12963         )
12964     );
12965     assert_eq!(
12966         unsafe {
12967             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).uncalibrated_gyro
12968                 as *const _ as usize
12969         },
12970         0usize,
12971         concat!(
12972             "Offset of field: ",
12973             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12974             "::",
12975             stringify!(uncalibrated_gyro)
12976         )
12977     );
12978     assert_eq!(
12979         unsafe {
12980             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>()))
12981                 .uncalibrated_magnetic as *const _ as usize
12982         },
12983         0usize,
12984         concat!(
12985             "Offset of field: ",
12986             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
12987             "::",
12988             stringify!(uncalibrated_magnetic)
12989         )
12990     );
12991     assert_eq!(
12992         unsafe {
12993             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).meta_data
12994                 as *const _ as usize
12995         },
12996         0usize,
12997         concat!(
12998             "Offset of field: ",
12999             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13000             "::",
13001             stringify!(meta_data)
13002         )
13003     );
13004     assert_eq!(
13005         unsafe {
13006             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).heart_rate
13007                 as *const _ as usize
13008         },
13009         0usize,
13010         concat!(
13011             "Offset of field: ",
13012             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13013             "::",
13014             stringify!(heart_rate)
13015         )
13016     );
13017     assert_eq!(
13018         unsafe {
13019             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).dynamic_sensor_meta
13020                 as *const _ as usize
13021         },
13022         0usize,
13023         concat!(
13024             "Offset of field: ",
13025             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13026             "::",
13027             stringify!(dynamic_sensor_meta)
13028         )
13029     );
13030     assert_eq!(
13031         unsafe {
13032             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).additional_info
13033                 as *const _ as usize
13034         },
13035         0usize,
13036         concat!(
13037             "Offset of field: ",
13038             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13039             "::",
13040             stringify!(additional_info)
13041         )
13042     );
13043 }
13044 #[repr(C)]
13045 #[derive(Copy, Clone)]
13046 pub union ASensorEvent__bindgen_ty_1__bindgen_ty_2 {
13047     pub data: [u64; 8usize],
13048     pub step_counter: u64,
13049     _bindgen_union_align: [u64; 8usize],
13050 }
13051 #[test]
bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2()13052 fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2() {
13053     assert_eq!(
13054         ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
13055         64usize,
13056         concat!(
13057             "Size of: ",
13058             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
13059         )
13060     );
13061     assert_eq!(
13062         ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
13063         8usize,
13064         concat!(
13065             "Alignment of ",
13066             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
13067         )
13068     );
13069     assert_eq!(
13070         unsafe {
13071             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).data as *const _
13072                 as usize
13073         },
13074         0usize,
13075         concat!(
13076             "Offset of field: ",
13077             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
13078             "::",
13079             stringify!(data)
13080         )
13081     );
13082     assert_eq!(
13083         unsafe {
13084             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).step_counter
13085                 as *const _ as usize
13086         },
13087         0usize,
13088         concat!(
13089             "Offset of field: ",
13090             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
13091             "::",
13092             stringify!(step_counter)
13093         )
13094     );
13095 }
13096 #[test]
bindgen_test_layout_ASensorEvent__bindgen_ty_1()13097 fn bindgen_test_layout_ASensorEvent__bindgen_ty_1() {
13098     assert_eq!(
13099         ::std::mem::size_of::<ASensorEvent__bindgen_ty_1>(),
13100         64usize,
13101         concat!("Size of: ", stringify!(ASensorEvent__bindgen_ty_1))
13102     );
13103     assert_eq!(
13104         ::std::mem::align_of::<ASensorEvent__bindgen_ty_1>(),
13105         8usize,
13106         concat!("Alignment of ", stringify!(ASensorEvent__bindgen_ty_1))
13107     );
13108     assert_eq!(
13109         unsafe { &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1>())).u64 as *const _ as usize },
13110         0usize,
13111         concat!(
13112             "Offset of field: ",
13113             stringify!(ASensorEvent__bindgen_ty_1),
13114             "::",
13115             stringify!(u64)
13116         )
13117     );
13118 }
13119 #[test]
bindgen_test_layout_ASensorEvent()13120 fn bindgen_test_layout_ASensorEvent() {
13121     assert_eq!(
13122         ::std::mem::size_of::<ASensorEvent>(),
13123         104usize,
13124         concat!("Size of: ", stringify!(ASensorEvent))
13125     );
13126     assert_eq!(
13127         ::std::mem::align_of::<ASensorEvent>(),
13128         8usize,
13129         concat!("Alignment of ", stringify!(ASensorEvent))
13130     );
13131     assert_eq!(
13132         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).version as *const _ as usize },
13133         0usize,
13134         concat!(
13135             "Offset of field: ",
13136             stringify!(ASensorEvent),
13137             "::",
13138             stringify!(version)
13139         )
13140     );
13141     assert_eq!(
13142         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).sensor as *const _ as usize },
13143         4usize,
13144         concat!(
13145             "Offset of field: ",
13146             stringify!(ASensorEvent),
13147             "::",
13148             stringify!(sensor)
13149         )
13150     );
13151     assert_eq!(
13152         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).type_ as *const _ as usize },
13153         8usize,
13154         concat!(
13155             "Offset of field: ",
13156             stringify!(ASensorEvent),
13157             "::",
13158             stringify!(type_)
13159         )
13160     );
13161     assert_eq!(
13162         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved0 as *const _ as usize },
13163         12usize,
13164         concat!(
13165             "Offset of field: ",
13166             stringify!(ASensorEvent),
13167             "::",
13168             stringify!(reserved0)
13169         )
13170     );
13171     assert_eq!(
13172         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).timestamp as *const _ as usize },
13173         16usize,
13174         concat!(
13175             "Offset of field: ",
13176             stringify!(ASensorEvent),
13177             "::",
13178             stringify!(timestamp)
13179         )
13180     );
13181     assert_eq!(
13182         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).flags as *const _ as usize },
13183         88usize,
13184         concat!(
13185             "Offset of field: ",
13186             stringify!(ASensorEvent),
13187             "::",
13188             stringify!(flags)
13189         )
13190     );
13191     assert_eq!(
13192         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved1 as *const _ as usize },
13193         92usize,
13194         concat!(
13195             "Offset of field: ",
13196             stringify!(ASensorEvent),
13197             "::",
13198             stringify!(reserved1)
13199         )
13200     );
13201 }
13202 #[repr(C)]
13203 #[derive(Debug, Copy, Clone)]
13204 pub struct ASensorManager {
13205     _unused: [u8; 0],
13206 }
13207 #[repr(C)]
13208 #[derive(Debug, Copy, Clone)]
13209 pub struct ASensorEventQueue {
13210     _unused: [u8; 0],
13211 }
13212 #[repr(C)]
13213 #[derive(Debug, Copy, Clone)]
13214 pub struct ASensor {
13215     _unused: [u8; 0],
13216 }
13217 pub type ASensorRef = *const ASensor;
13218 pub type ASensorList = *const ASensorRef;
13219 extern "C" {
ASensorManager_getInstance() -> *mut ASensorManager13220     pub fn ASensorManager_getInstance() -> *mut ASensorManager;
13221 }
13222 extern "C" {
ASensorManager_getInstanceForPackage( packageName: *const ::std::os::raw::c_char, ) -> *mut ASensorManager13223     pub fn ASensorManager_getInstanceForPackage(
13224         packageName: *const ::std::os::raw::c_char,
13225     ) -> *mut ASensorManager;
13226 }
13227 extern "C" {
ASensorManager_getSensorList( manager: *mut ASensorManager, list: *mut ASensorList, ) -> ::std::os::raw::c_int13228     pub fn ASensorManager_getSensorList(
13229         manager: *mut ASensorManager,
13230         list: *mut ASensorList,
13231     ) -> ::std::os::raw::c_int;
13232 }
13233 extern "C" {
ASensorManager_getDefaultSensor( manager: *mut ASensorManager, type_: ::std::os::raw::c_int, ) -> *const ASensor13234     pub fn ASensorManager_getDefaultSensor(
13235         manager: *mut ASensorManager,
13236         type_: ::std::os::raw::c_int,
13237     ) -> *const ASensor;
13238 }
13239 extern "C" {
ASensorManager_getDefaultSensorEx( manager: *mut ASensorManager, type_: ::std::os::raw::c_int, wakeUp: bool, ) -> *const ASensor13240     pub fn ASensorManager_getDefaultSensorEx(
13241         manager: *mut ASensorManager,
13242         type_: ::std::os::raw::c_int,
13243         wakeUp: bool,
13244     ) -> *const ASensor;
13245 }
13246 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 ASensorEventQueue13247     pub fn ASensorManager_createEventQueue(
13248         manager: *mut ASensorManager,
13249         looper: *mut ALooper,
13250         ident: ::std::os::raw::c_int,
13251         callback: ALooper_callbackFunc,
13252         data: *mut ::std::os::raw::c_void,
13253     ) -> *mut ASensorEventQueue;
13254 }
13255 extern "C" {
ASensorManager_destroyEventQueue( manager: *mut ASensorManager, queue: *mut ASensorEventQueue, ) -> ::std::os::raw::c_int13256     pub fn ASensorManager_destroyEventQueue(
13257         manager: *mut ASensorManager,
13258         queue: *mut ASensorEventQueue,
13259     ) -> ::std::os::raw::c_int;
13260 }
13261 extern "C" {
ASensorManager_createSharedMemoryDirectChannel( manager: *mut ASensorManager, fd: ::std::os::raw::c_int, size: usize, ) -> ::std::os::raw::c_int13262     pub fn ASensorManager_createSharedMemoryDirectChannel(
13263         manager: *mut ASensorManager,
13264         fd: ::std::os::raw::c_int,
13265         size: usize,
13266     ) -> ::std::os::raw::c_int;
13267 }
13268 extern "C" {
ASensorManager_createHardwareBufferDirectChannel( manager: *mut ASensorManager, buffer: *const AHardwareBuffer, size: usize, ) -> ::std::os::raw::c_int13269     pub fn ASensorManager_createHardwareBufferDirectChannel(
13270         manager: *mut ASensorManager,
13271         buffer: *const AHardwareBuffer,
13272         size: usize,
13273     ) -> ::std::os::raw::c_int;
13274 }
13275 extern "C" {
ASensorManager_destroyDirectChannel( manager: *mut ASensorManager, channelId: ::std::os::raw::c_int, )13276     pub fn ASensorManager_destroyDirectChannel(
13277         manager: *mut ASensorManager,
13278         channelId: ::std::os::raw::c_int,
13279     );
13280 }
13281 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_int13282     pub fn ASensorManager_configureDirectReport(
13283         manager: *mut ASensorManager,
13284         sensor: *const ASensor,
13285         channelId: ::std::os::raw::c_int,
13286         rate: ::std::os::raw::c_int,
13287     ) -> ::std::os::raw::c_int;
13288 }
13289 extern "C" {
ASensorEventQueue_registerSensor( queue: *mut ASensorEventQueue, sensor: *const ASensor, samplingPeriodUs: i32, maxBatchReportLatencyUs: i64, ) -> ::std::os::raw::c_int13290     pub fn ASensorEventQueue_registerSensor(
13291         queue: *mut ASensorEventQueue,
13292         sensor: *const ASensor,
13293         samplingPeriodUs: i32,
13294         maxBatchReportLatencyUs: i64,
13295     ) -> ::std::os::raw::c_int;
13296 }
13297 extern "C" {
ASensorEventQueue_enableSensor( queue: *mut ASensorEventQueue, sensor: *const ASensor, ) -> ::std::os::raw::c_int13298     pub fn ASensorEventQueue_enableSensor(
13299         queue: *mut ASensorEventQueue,
13300         sensor: *const ASensor,
13301     ) -> ::std::os::raw::c_int;
13302 }
13303 extern "C" {
ASensorEventQueue_disableSensor( queue: *mut ASensorEventQueue, sensor: *const ASensor, ) -> ::std::os::raw::c_int13304     pub fn ASensorEventQueue_disableSensor(
13305         queue: *mut ASensorEventQueue,
13306         sensor: *const ASensor,
13307     ) -> ::std::os::raw::c_int;
13308 }
13309 extern "C" {
ASensorEventQueue_setEventRate( queue: *mut ASensorEventQueue, sensor: *const ASensor, usec: i32, ) -> ::std::os::raw::c_int13310     pub fn ASensorEventQueue_setEventRate(
13311         queue: *mut ASensorEventQueue,
13312         sensor: *const ASensor,
13313         usec: i32,
13314     ) -> ::std::os::raw::c_int;
13315 }
13316 extern "C" {
ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int13317     pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
13318 }
13319 extern "C" {
ASensorEventQueue_getEvents( queue: *mut ASensorEventQueue, events: *mut ASensorEvent, count: usize, ) -> isize13320     pub fn ASensorEventQueue_getEvents(
13321         queue: *mut ASensorEventQueue,
13322         events: *mut ASensorEvent,
13323         count: usize,
13324     ) -> isize;
13325 }
13326 extern "C" {
ASensorEventQueue_requestAdditionalInfoEvents( queue: *mut ASensorEventQueue, enable: bool, ) -> ::std::os::raw::c_int13327     pub fn ASensorEventQueue_requestAdditionalInfoEvents(
13328         queue: *mut ASensorEventQueue,
13329         enable: bool,
13330     ) -> ::std::os::raw::c_int;
13331 }
13332 extern "C" {
ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char13333     pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13334 }
13335 extern "C" {
ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char13336     pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13337 }
13338 extern "C" {
ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int13339     pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
13340 }
13341 extern "C" {
ASensor_getResolution(sensor: *const ASensor) -> f3213342     pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
13343 }
13344 extern "C" {
ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int13345     pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
13346 }
13347 extern "C" {
ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int13348     pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13349 }
13350 extern "C" {
ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int13351     pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13352 }
13353 extern "C" {
ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char13354     pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13355 }
13356 extern "C" {
ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int13357     pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
13358 }
13359 extern "C" {
ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool13360     pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
13361 }
13362 extern "C" {
ASensor_isDirectChannelTypeSupported( sensor: *const ASensor, channelType: ::std::os::raw::c_int, ) -> bool13363     pub fn ASensor_isDirectChannelTypeSupported(
13364         sensor: *const ASensor,
13365         channelType: ::std::os::raw::c_int,
13366     ) -> bool;
13367 }
13368 extern "C" {
ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor) -> ::std::os::raw::c_int13369     pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
13370         -> ::std::os::raw::c_int;
13371 }
13372 extern "C" {
ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int13373     pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
13374 }
13375 extern "C" {
android_set_abort_message(__msg: *const ::std::os::raw::c_char)13376     pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
13377 }
13378 extern "C" {
ASharedMemory_create( name: *const ::std::os::raw::c_char, size: usize, ) -> ::std::os::raw::c_int13379     pub fn ASharedMemory_create(
13380         name: *const ::std::os::raw::c_char,
13381         size: usize,
13382     ) -> ::std::os::raw::c_int;
13383 }
13384 extern "C" {
ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> usize13385     pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> usize;
13386 }
13387 extern "C" {
ASharedMemory_setProt( fd: ::std::os::raw::c_int, prot: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int13388     pub fn ASharedMemory_setProt(
13389         fd: ::std::os::raw::c_int,
13390         prot: ::std::os::raw::c_int,
13391     ) -> ::std::os::raw::c_int;
13392 }
13393 extern "C" {
ASharedMemory_dupFromJava( env: *mut JNIEnv, sharedMemory: jobject, ) -> ::std::os::raw::c_int13394     pub fn ASharedMemory_dupFromJava(
13395         env: *mut JNIEnv,
13396         sharedMemory: jobject,
13397     ) -> ::std::os::raw::c_int;
13398 }
13399 #[repr(C)]
13400 #[derive(Debug, Copy, Clone)]
13401 pub struct AStorageManager {
13402     _unused: [u8; 0],
13403 }
13404 pub const AOBB_STATE_MOUNTED: _bindgen_ty_36 = 1;
13405 pub const AOBB_STATE_UNMOUNTED: _bindgen_ty_36 = 2;
13406 pub const AOBB_STATE_ERROR_INTERNAL: _bindgen_ty_36 = 20;
13407 pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: _bindgen_ty_36 = 21;
13408 pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: _bindgen_ty_36 = 22;
13409 pub const AOBB_STATE_ERROR_NOT_MOUNTED: _bindgen_ty_36 = 23;
13410 pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: _bindgen_ty_36 = 24;
13411 pub const AOBB_STATE_ERROR_PERMISSION_DENIED: _bindgen_ty_36 = 25;
13412 pub type _bindgen_ty_36 = u32;
13413 extern "C" {
AStorageManager_new() -> *mut AStorageManager13414     pub fn AStorageManager_new() -> *mut AStorageManager;
13415 }
13416 extern "C" {
AStorageManager_delete(mgr: *mut AStorageManager)13417     pub fn AStorageManager_delete(mgr: *mut AStorageManager);
13418 }
13419 pub type AStorageManager_obbCallbackFunc = ::std::option::Option<
13420     unsafe extern "C" fn(
13421         filename: *const ::std::os::raw::c_char,
13422         state: i32,
13423         data: *mut ::std::os::raw::c_void,
13424     ),
13425 >;
13426 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, )13427     pub fn AStorageManager_mountObb(
13428         mgr: *mut AStorageManager,
13429         filename: *const ::std::os::raw::c_char,
13430         key: *const ::std::os::raw::c_char,
13431         cb: AStorageManager_obbCallbackFunc,
13432         data: *mut ::std::os::raw::c_void,
13433     );
13434 }
13435 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, )13436     pub fn AStorageManager_unmountObb(
13437         mgr: *mut AStorageManager,
13438         filename: *const ::std::os::raw::c_char,
13439         force: ::std::os::raw::c_int,
13440         cb: AStorageManager_obbCallbackFunc,
13441         data: *mut ::std::os::raw::c_void,
13442     );
13443 }
13444 extern "C" {
AStorageManager_isObbMounted( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int13445     pub fn AStorageManager_isObbMounted(
13446         mgr: *mut AStorageManager,
13447         filename: *const ::std::os::raw::c_char,
13448     ) -> ::std::os::raw::c_int;
13449 }
13450 extern "C" {
AStorageManager_getMountedObbPath( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, ) -> *const ::std::os::raw::c_char13451     pub fn AStorageManager_getMountedObbPath(
13452         mgr: *mut AStorageManager,
13453         filename: *const ::std::os::raw::c_char,
13454     ) -> *const ::std::os::raw::c_char;
13455 }
13456 #[repr(C)]
13457 #[derive(Debug, Copy, Clone)]
13458 pub struct ASurfaceTexture {
13459     _unused: [u8; 0],
13460 }
13461 extern "C" {
ASurfaceTexture_release(st: *mut ASurfaceTexture)13462     pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
13463 }
13464 extern "C" {
ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow13465     pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
13466 }
13467 extern "C" {
ASurfaceTexture_attachToGLContext( st: *mut ASurfaceTexture, texName: u32, ) -> ::std::os::raw::c_int13468     pub fn ASurfaceTexture_attachToGLContext(
13469         st: *mut ASurfaceTexture,
13470         texName: u32,
13471     ) -> ::std::os::raw::c_int;
13472 }
13473 extern "C" {
ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int13474     pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
13475 }
13476 extern "C" {
ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int13477     pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
13478 }
13479 extern "C" {
ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32)13480     pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
13481 }
13482 extern "C" {
ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i6413483     pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
13484 }
13485 extern "C" {
ASurfaceTexture_fromSurfaceTexture( env: *mut JNIEnv, surfacetexture: jobject, ) -> *mut ASurfaceTexture13486     pub fn ASurfaceTexture_fromSurfaceTexture(
13487         env: *mut JNIEnv,
13488         surfacetexture: jobject,
13489     ) -> *mut ASurfaceTexture;
13490 }
13491 #[repr(C)]
13492 #[derive(Debug, Copy, Clone)]
13493 pub struct sync_merge_data {
13494     pub name: [::std::os::raw::c_char; 32usize],
13495     pub fd2: __s32,
13496     pub fence: __s32,
13497     pub flags: __u32,
13498     pub pad: __u32,
13499 }
13500 #[test]
bindgen_test_layout_sync_merge_data()13501 fn bindgen_test_layout_sync_merge_data() {
13502     assert_eq!(
13503         ::std::mem::size_of::<sync_merge_data>(),
13504         48usize,
13505         concat!("Size of: ", stringify!(sync_merge_data))
13506     );
13507     assert_eq!(
13508         ::std::mem::align_of::<sync_merge_data>(),
13509         4usize,
13510         concat!("Alignment of ", stringify!(sync_merge_data))
13511     );
13512     assert_eq!(
13513         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).name as *const _ as usize },
13514         0usize,
13515         concat!(
13516             "Offset of field: ",
13517             stringify!(sync_merge_data),
13518             "::",
13519             stringify!(name)
13520         )
13521     );
13522     assert_eq!(
13523         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fd2 as *const _ as usize },
13524         32usize,
13525         concat!(
13526             "Offset of field: ",
13527             stringify!(sync_merge_data),
13528             "::",
13529             stringify!(fd2)
13530         )
13531     );
13532     assert_eq!(
13533         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fence as *const _ as usize },
13534         36usize,
13535         concat!(
13536             "Offset of field: ",
13537             stringify!(sync_merge_data),
13538             "::",
13539             stringify!(fence)
13540         )
13541     );
13542     assert_eq!(
13543         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).flags as *const _ as usize },
13544         40usize,
13545         concat!(
13546             "Offset of field: ",
13547             stringify!(sync_merge_data),
13548             "::",
13549             stringify!(flags)
13550         )
13551     );
13552     assert_eq!(
13553         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).pad as *const _ as usize },
13554         44usize,
13555         concat!(
13556             "Offset of field: ",
13557             stringify!(sync_merge_data),
13558             "::",
13559             stringify!(pad)
13560         )
13561     );
13562 }
13563 #[repr(C)]
13564 #[derive(Debug, Copy, Clone)]
13565 pub struct sync_fence_info {
13566     pub obj_name: [::std::os::raw::c_char; 32usize],
13567     pub driver_name: [::std::os::raw::c_char; 32usize],
13568     pub status: __s32,
13569     pub flags: __u32,
13570     pub timestamp_ns: __u64,
13571 }
13572 #[test]
bindgen_test_layout_sync_fence_info()13573 fn bindgen_test_layout_sync_fence_info() {
13574     assert_eq!(
13575         ::std::mem::size_of::<sync_fence_info>(),
13576         80usize,
13577         concat!("Size of: ", stringify!(sync_fence_info))
13578     );
13579     assert_eq!(
13580         ::std::mem::align_of::<sync_fence_info>(),
13581         8usize,
13582         concat!("Alignment of ", stringify!(sync_fence_info))
13583     );
13584     assert_eq!(
13585         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).obj_name as *const _ as usize },
13586         0usize,
13587         concat!(
13588             "Offset of field: ",
13589             stringify!(sync_fence_info),
13590             "::",
13591             stringify!(obj_name)
13592         )
13593     );
13594     assert_eq!(
13595         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).driver_name as *const _ as usize },
13596         32usize,
13597         concat!(
13598             "Offset of field: ",
13599             stringify!(sync_fence_info),
13600             "::",
13601             stringify!(driver_name)
13602         )
13603     );
13604     assert_eq!(
13605         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).status as *const _ as usize },
13606         64usize,
13607         concat!(
13608             "Offset of field: ",
13609             stringify!(sync_fence_info),
13610             "::",
13611             stringify!(status)
13612         )
13613     );
13614     assert_eq!(
13615         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).flags as *const _ as usize },
13616         68usize,
13617         concat!(
13618             "Offset of field: ",
13619             stringify!(sync_fence_info),
13620             "::",
13621             stringify!(flags)
13622         )
13623     );
13624     assert_eq!(
13625         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).timestamp_ns as *const _ as usize },
13626         72usize,
13627         concat!(
13628             "Offset of field: ",
13629             stringify!(sync_fence_info),
13630             "::",
13631             stringify!(timestamp_ns)
13632         )
13633     );
13634 }
13635 #[repr(C)]
13636 #[derive(Debug, Copy, Clone)]
13637 pub struct sync_file_info {
13638     pub name: [::std::os::raw::c_char; 32usize],
13639     pub status: __s32,
13640     pub flags: __u32,
13641     pub num_fences: __u32,
13642     pub pad: __u32,
13643     pub sync_fence_info: __u64,
13644 }
13645 #[test]
bindgen_test_layout_sync_file_info()13646 fn bindgen_test_layout_sync_file_info() {
13647     assert_eq!(
13648         ::std::mem::size_of::<sync_file_info>(),
13649         56usize,
13650         concat!("Size of: ", stringify!(sync_file_info))
13651     );
13652     assert_eq!(
13653         ::std::mem::align_of::<sync_file_info>(),
13654         8usize,
13655         concat!("Alignment of ", stringify!(sync_file_info))
13656     );
13657     assert_eq!(
13658         unsafe { &(*(::std::ptr::null::<sync_file_info>())).name as *const _ as usize },
13659         0usize,
13660         concat!(
13661             "Offset of field: ",
13662             stringify!(sync_file_info),
13663             "::",
13664             stringify!(name)
13665         )
13666     );
13667     assert_eq!(
13668         unsafe { &(*(::std::ptr::null::<sync_file_info>())).status as *const _ as usize },
13669         32usize,
13670         concat!(
13671             "Offset of field: ",
13672             stringify!(sync_file_info),
13673             "::",
13674             stringify!(status)
13675         )
13676     );
13677     assert_eq!(
13678         unsafe { &(*(::std::ptr::null::<sync_file_info>())).flags as *const _ as usize },
13679         36usize,
13680         concat!(
13681             "Offset of field: ",
13682             stringify!(sync_file_info),
13683             "::",
13684             stringify!(flags)
13685         )
13686     );
13687     assert_eq!(
13688         unsafe { &(*(::std::ptr::null::<sync_file_info>())).num_fences as *const _ as usize },
13689         40usize,
13690         concat!(
13691             "Offset of field: ",
13692             stringify!(sync_file_info),
13693             "::",
13694             stringify!(num_fences)
13695         )
13696     );
13697     assert_eq!(
13698         unsafe { &(*(::std::ptr::null::<sync_file_info>())).pad as *const _ as usize },
13699         44usize,
13700         concat!(
13701             "Offset of field: ",
13702             stringify!(sync_file_info),
13703             "::",
13704             stringify!(pad)
13705         )
13706     );
13707     assert_eq!(
13708         unsafe { &(*(::std::ptr::null::<sync_file_info>())).sync_fence_info as *const _ as usize },
13709         48usize,
13710         concat!(
13711             "Offset of field: ",
13712             stringify!(sync_file_info),
13713             "::",
13714             stringify!(sync_fence_info)
13715         )
13716     );
13717 }
13718 extern "C" {
sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i3213719     pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
13720 }
13721 extern "C" {
sync_file_info(fd: i32) -> *mut sync_file_info13722     pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
13723 }
13724 extern "C" {
sync_file_info_free(info: *mut sync_file_info)13725     pub fn sync_file_info_free(info: *mut sync_file_info);
13726 }
13727 extern "C" {
ATrace_isEnabled() -> bool13728     pub fn ATrace_isEnabled() -> bool;
13729 }
13730 extern "C" {
ATrace_beginSection(sectionName: *const ::std::os::raw::c_char)13731     pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
13732 }
13733 extern "C" {
ATrace_endSection()13734     pub fn ATrace_endSection();
13735 }
13736 extern "C" {
ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32)13737     pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
13738 }
13739 extern "C" {
ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32)13740     pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
13741 }
13742 extern "C" {
ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64)13743     pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
13744 }
13745 pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: _bindgen_ty_37 = 1;
13746 pub const AWINDOW_FLAG_DIM_BEHIND: _bindgen_ty_37 = 2;
13747 pub const AWINDOW_FLAG_BLUR_BEHIND: _bindgen_ty_37 = 4;
13748 pub const AWINDOW_FLAG_NOT_FOCUSABLE: _bindgen_ty_37 = 8;
13749 pub const AWINDOW_FLAG_NOT_TOUCHABLE: _bindgen_ty_37 = 16;
13750 pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: _bindgen_ty_37 = 32;
13751 pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: _bindgen_ty_37 = 64;
13752 pub const AWINDOW_FLAG_KEEP_SCREEN_ON: _bindgen_ty_37 = 128;
13753 pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: _bindgen_ty_37 = 256;
13754 pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: _bindgen_ty_37 = 512;
13755 pub const AWINDOW_FLAG_FULLSCREEN: _bindgen_ty_37 = 1024;
13756 pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: _bindgen_ty_37 = 2048;
13757 pub const AWINDOW_FLAG_DITHER: _bindgen_ty_37 = 4096;
13758 pub const AWINDOW_FLAG_SECURE: _bindgen_ty_37 = 8192;
13759 pub const AWINDOW_FLAG_SCALED: _bindgen_ty_37 = 16384;
13760 pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: _bindgen_ty_37 = 32768;
13761 pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: _bindgen_ty_37 = 65536;
13762 pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: _bindgen_ty_37 = 131072;
13763 pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: _bindgen_ty_37 = 262144;
13764 pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: _bindgen_ty_37 = 524288;
13765 pub const AWINDOW_FLAG_SHOW_WALLPAPER: _bindgen_ty_37 = 1048576;
13766 pub const AWINDOW_FLAG_TURN_SCREEN_ON: _bindgen_ty_37 = 2097152;
13767 pub const AWINDOW_FLAG_DISMISS_KEYGUARD: _bindgen_ty_37 = 4194304;
13768 pub type _bindgen_ty_37 = u32;
13769 pub type __builtin_va_list = __va_list;
13770 #[repr(C)]
13771 #[derive(Debug, Copy, Clone)]
13772 pub struct __va_list {
13773     pub __stack: *mut ::std::os::raw::c_void,
13774     pub __gr_top: *mut ::std::os::raw::c_void,
13775     pub __vr_top: *mut ::std::os::raw::c_void,
13776     pub __gr_offs: ::std::os::raw::c_int,
13777     pub __vr_offs: ::std::os::raw::c_int,
13778 }
13779 #[test]
bindgen_test_layout___va_list()13780 fn bindgen_test_layout___va_list() {
13781     assert_eq!(
13782         ::std::mem::size_of::<__va_list>(),
13783         32usize,
13784         concat!("Size of: ", stringify!(__va_list))
13785     );
13786     assert_eq!(
13787         ::std::mem::align_of::<__va_list>(),
13788         8usize,
13789         concat!("Alignment of ", stringify!(__va_list))
13790     );
13791     assert_eq!(
13792         unsafe { &(*(::std::ptr::null::<__va_list>())).__stack as *const _ as usize },
13793         0usize,
13794         concat!(
13795             "Offset of field: ",
13796             stringify!(__va_list),
13797             "::",
13798             stringify!(__stack)
13799         )
13800     );
13801     assert_eq!(
13802         unsafe { &(*(::std::ptr::null::<__va_list>())).__gr_top as *const _ as usize },
13803         8usize,
13804         concat!(
13805             "Offset of field: ",
13806             stringify!(__va_list),
13807             "::",
13808             stringify!(__gr_top)
13809         )
13810     );
13811     assert_eq!(
13812         unsafe { &(*(::std::ptr::null::<__va_list>())).__vr_top as *const _ as usize },
13813         16usize,
13814         concat!(
13815             "Offset of field: ",
13816             stringify!(__va_list),
13817             "::",
13818             stringify!(__vr_top)
13819         )
13820     );
13821     assert_eq!(
13822         unsafe { &(*(::std::ptr::null::<__va_list>())).__gr_offs as *const _ as usize },
13823         24usize,
13824         concat!(
13825             "Offset of field: ",
13826             stringify!(__va_list),
13827             "::",
13828             stringify!(__gr_offs)
13829         )
13830     );
13831     assert_eq!(
13832         unsafe { &(*(::std::ptr::null::<__va_list>())).__vr_offs as *const _ as usize },
13833         28usize,
13834         concat!(
13835             "Offset of field: ",
13836             stringify!(__va_list),
13837             "::",
13838             stringify!(__vr_offs)
13839         )
13840     );
13841 }
13842