1 /* automatically generated by rust-bindgen 0.59.1 */
2 
3 #[repr(C)]
4 #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5 pub struct __BindgenBitfieldUnit<Storage> {
6     storage: Storage,
7 }
8 impl<Storage> __BindgenBitfieldUnit<Storage> {
9     #[inline]
10     pub const fn new(storage: Storage) -> Self {
11         Self { storage }
12     }
13 }
14 impl<Storage> __BindgenBitfieldUnit<Storage>
15 where
16     Storage: AsRef<[u8]> + AsMut<[u8]>,
17 {
18     #[inline]
19     pub fn get_bit(&self, index: usize) -> bool {
20         debug_assert!(index / 8 < self.storage.as_ref().len());
21         let byte_index = index / 8;
22         let byte = self.storage.as_ref()[byte_index];
23         let bit_index = if cfg!(target_endian = "big") {
24             7 - (index % 8)
25         } else {
26             index % 8
27         };
28         let mask = 1 << bit_index;
29         byte & mask == mask
30     }
31     #[inline]
32     pub fn set_bit(&mut self, index: usize, val: bool) {
33         debug_assert!(index / 8 < self.storage.as_ref().len());
34         let byte_index = index / 8;
35         let byte = &mut self.storage.as_mut()[byte_index];
36         let bit_index = if cfg!(target_endian = "big") {
37             7 - (index % 8)
38         } else {
39             index % 8
40         };
41         let mask = 1 << bit_index;
42         if val {
43             *byte |= mask;
44         } else {
45             *byte &= !mask;
46         }
47     }
48     #[inline]
49     pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
50         debug_assert!(bit_width <= 64);
51         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
52         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
53         let mut val = 0;
54         for i in 0..(bit_width as usize) {
55             if self.get_bit(i + bit_offset) {
56                 let index = if cfg!(target_endian = "big") {
57                     bit_width as usize - 1 - i
58                 } else {
59                     i
60                 };
61                 val |= 1 << index;
62             }
GetHLSStreamingSessionURL(*kinesisvideoarchivedmedia.GetHLSStreamingSessionURLInput)63         }
64         val
65     }
66     #[inline]
67     pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
68         debug_assert!(bit_width <= 64);
69         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
70         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
71         for i in 0..(bit_width as usize) {
72             let mask = 1 << i;
73             let val_bit_is_set = val & mask == mask;
74             let index = if cfg!(target_endian = "big") {
75                 bit_width as usize - 1 - i
76             } else {
77                 i
78             };
79             self.set_bit(index + bit_offset, val_bit_is_set);
80         }
81     }
82 }
83 pub const __BIONIC__: u32 = 1;
84 pub const __WORDSIZE: u32 = 32;
85 pub const __bos_level: u32 = 0;
86 pub const __ANDROID_NDK__: u32 = 1;
87 pub const __NDK_MAJOR__: u32 = 23;
88 pub const __NDK_MINOR__: u32 = 0;
89 pub const __NDK_BETA__: u32 = 0;
90 pub const __NDK_BUILD__: u32 = 7599858;
91 pub const __NDK_CANARY__: u32 = 0;
92 pub const __ANDROID_API_FUTURE__: u32 = 10000;
93 pub const __ANDROID_API__: u32 = 10000;
94 pub const __ANDROID_API_G__: u32 = 9;
95 pub const __ANDROID_API_I__: u32 = 14;
96 pub const __ANDROID_API_J__: u32 = 16;
97 pub const __ANDROID_API_J_MR1__: u32 = 17;
98 pub const __ANDROID_API_J_MR2__: u32 = 18;
99 pub const __ANDROID_API_K__: u32 = 19;
100 pub const __ANDROID_API_L__: u32 = 21;
101 pub const __ANDROID_API_L_MR1__: u32 = 22;
102 pub const __ANDROID_API_M__: u32 = 23;
103 pub const __ANDROID_API_N__: u32 = 24;
104 pub const __ANDROID_API_N_MR1__: u32 = 25;
105 pub const __ANDROID_API_O__: u32 = 26;
106 pub const __ANDROID_API_O_MR1__: u32 = 27;
107 pub const __ANDROID_API_P__: u32 = 28;
108 pub const __ANDROID_API_Q__: u32 = 29;
109 pub const __ANDROID_API_R__: u32 = 30;
110 pub const __ANDROID_API_S__: u32 = 31;
111 pub const WCHAR_MIN: u8 = 0u8;
112 pub const INT8_MIN: i32 = -128;
113 pub const INT8_MAX: u32 = 127;
114 pub const INT_LEAST8_MIN: i32 = -128;
115 pub const INT_LEAST8_MAX: u32 = 127;
116 pub const INT_FAST8_MIN: i32 = -128;
117 pub const INT_FAST8_MAX: u32 = 127;
118 pub const UINT8_MAX: u32 = 255;
119 pub const UINT_LEAST8_MAX: u32 = 255;
120 pub const UINT_FAST8_MAX: u32 = 255;
121 pub const INT16_MIN: i32 = -32768;
122 pub const INT16_MAX: u32 = 32767;
123 pub const INT_LEAST16_MIN: i32 = -32768;
124 pub const INT_LEAST16_MAX: u32 = 32767;
125 pub const UINT16_MAX: u32 = 65535;
126 pub const UINT_LEAST16_MAX: u32 = 65535;
127 pub const INT32_MIN: i32 = -2147483648;
128 pub const INT32_MAX: u32 = 2147483647;
129 pub const INT_LEAST32_MIN: i32 = -2147483648;
130 pub const INT_LEAST32_MAX: u32 = 2147483647;
131 pub const INT_FAST32_MIN: i32 = -2147483648;
132 pub const INT_FAST32_MAX: u32 = 2147483647;
133 pub const UINT32_MAX: u32 = 4294967295;
134 pub const UINT_LEAST32_MAX: u32 = 4294967295;
135 pub const UINT_FAST32_MAX: u32 = 4294967295;
136 pub const SIG_ATOMIC_MAX: u32 = 2147483647;
137 pub const SIG_ATOMIC_MIN: i32 = -2147483648;
138 pub const WINT_MAX: u32 = 4294967295;
139 pub const WINT_MIN: u32 = 0;
140 pub const INTPTR_MIN: i32 = -2147483648;
141 pub const INTPTR_MAX: u32 = 2147483647;
142 pub const UINTPTR_MAX: u32 = 4294967295;
143 pub const PTRDIFF_MIN: i32 = -2147483648;
144 pub const PTRDIFF_MAX: u32 = 2147483647;
145 pub const SIZE_MAX: u32 = 4294967295;
146 pub const __BITS_PER_LONG: u32 = 32;
147 pub const __FD_SETSIZE: u32 = 1024;
148 pub const __GNUC_VA_LIST: u32 = 1;
149 pub const JNI_FALSE: u32 = 0;
150 pub const JNI_TRUE: u32 = 1;
151 pub const JNI_VERSION_1_1: u32 = 65537;
152 pub const JNI_VERSION_1_2: u32 = 65538;
153 pub const JNI_VERSION_1_4: u32 = 65540;
154 pub const JNI_VERSION_1_6: u32 = 65542;
155 pub const JNI_OK: u32 = 0;
156 pub const JNI_ERR: i32 = -1;
157 pub const JNI_EDETACHED: i32 = -2;
158 pub const JNI_EVERSION: i32 = -3;
159 pub const JNI_ENOMEM: i32 = -4;
160 pub const JNI_EEXIST: i32 = -5;
161 pub const JNI_EINVAL: i32 = -6;
162 pub const JNI_COMMIT: u32 = 1;
163 pub const JNI_ABORT: u32 = 2;
164 pub const true_: u32 = 1;
165 pub const false_: u32 = 0;
166 pub const __bool_true_false_are_defined: u32 = 1;
167 pub const __PRI_64_prefix: &'static [u8; 3usize] = b"ll\0";
168 pub const PRId8: &'static [u8; 2usize] = b"d\0";
169 pub const PRId16: &'static [u8; 2usize] = b"d\0";
170 pub const PRId32: &'static [u8; 2usize] = b"d\0";
171 pub const PRId64: &'static [u8; 4usize] = b"lld\0";
172 pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
173 pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
174 pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
175 pub const PRIdLEAST64: &'static [u8; 4usize] = b"lld\0";
176 pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
177 pub const PRIdFAST64: &'static [u8; 4usize] = b"lld\0";
178 pub const PRIdMAX: &'static [u8; 3usize] = b"jd\0";
179 pub const PRIi8: &'static [u8; 2usize] = b"i\0";
180 pub const PRIi16: &'static [u8; 2usize] = b"i\0";
181 pub const PRIi32: &'static [u8; 2usize] = b"i\0";
182 pub const PRIi64: &'static [u8; 4usize] = b"lli\0";
183 pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
184 pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
185 pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
186 pub const PRIiLEAST64: &'static [u8; 4usize] = b"lli\0";
187 pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
188 pub const PRIiFAST64: &'static [u8; 4usize] = b"lli\0";
189 pub const PRIiMAX: &'static [u8; 3usize] = b"ji\0";
190 pub const PRIo8: &'static [u8; 2usize] = b"o\0";
191 pub const PRIo16: &'static [u8; 2usize] = b"o\0";
192 pub const PRIo32: &'static [u8; 2usize] = b"o\0";
193 pub const PRIo64: &'static [u8; 4usize] = b"llo\0";
194 pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
195 pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
196 pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
197 pub const PRIoLEAST64: &'static [u8; 4usize] = b"llo\0";
198 pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
199 pub const PRIoFAST64: &'static [u8; 4usize] = b"llo\0";
200 pub const PRIoMAX: &'static [u8; 3usize] = b"jo\0";
201 pub const PRIu8: &'static [u8; 2usize] = b"u\0";
202 pub const PRIu16: &'static [u8; 2usize] = b"u\0";
203 pub const PRIu32: &'static [u8; 2usize] = b"u\0";
204 pub const PRIu64: &'static [u8; 4usize] = b"llu\0";
205 pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
206 pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
207 pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
208 pub const PRIuLEAST64: &'static [u8; 4usize] = b"llu\0";
209 pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
210 pub const PRIuFAST64: &'static [u8; 4usize] = b"llu\0";
211 pub const PRIuMAX: &'static [u8; 3usize] = b"ju\0";
212 pub const PRIx8: &'static [u8; 2usize] = b"x\0";
213 pub const PRIx16: &'static [u8; 2usize] = b"x\0";
214 pub const PRIx32: &'static [u8; 2usize] = b"x\0";
215 pub const PRIx64: &'static [u8; 4usize] = b"llx\0";
216 pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
217 pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
218 pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
219 pub const PRIxLEAST64: &'static [u8; 4usize] = b"llx\0";
220 pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
221 pub const PRIxFAST64: &'static [u8; 4usize] = b"llx\0";
222 pub const PRIxMAX: &'static [u8; 3usize] = b"jx\0";
223 pub const PRIX8: &'static [u8; 2usize] = b"X\0";
224 pub const PRIX16: &'static [u8; 2usize] = b"X\0";
225 pub const PRIX32: &'static [u8; 2usize] = b"X\0";
226 pub const PRIX64: &'static [u8; 4usize] = b"llX\0";
227 pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
228 pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
229 pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
230 pub const PRIXLEAST64: &'static [u8; 4usize] = b"llX\0";
231 pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
232 pub const PRIXFAST64: &'static [u8; 4usize] = b"llX\0";
233 pub const PRIXMAX: &'static [u8; 3usize] = b"jX\0";
234 pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
235 pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
236 pub const SCNd32: &'static [u8; 2usize] = b"d\0";
237 pub const SCNd64: &'static [u8; 4usize] = b"lld\0";
238 pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
239 pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
240 pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
241 pub const SCNdLEAST64: &'static [u8; 4usize] = b"lld\0";
242 pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
243 pub const SCNdFAST64: &'static [u8; 4usize] = b"lld\0";
244 pub const SCNdMAX: &'static [u8; 3usize] = b"jd\0";
245 pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
246 pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
247 pub const SCNi32: &'static [u8; 2usize] = b"i\0";
248 pub const SCNi64: &'static [u8; 4usize] = b"lli\0";
249 pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
250 pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
251 pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
252 pub const SCNiLEAST64: &'static [u8; 4usize] = b"lli\0";
253 pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
254 pub const SCNiFAST64: &'static [u8; 4usize] = b"lli\0";
255 pub const SCNiMAX: &'static [u8; 3usize] = b"ji\0";
256 pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
257 pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
258 pub const SCNo32: &'static [u8; 2usize] = b"o\0";
259 pub const SCNo64: &'static [u8; 4usize] = b"llo\0";
260 pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
261 pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
262 pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
263 pub const SCNoLEAST64: &'static [u8; 4usize] = b"llo\0";
264 pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
265 pub const SCNoFAST64: &'static [u8; 4usize] = b"llo\0";
266 pub const SCNoMAX: &'static [u8; 3usize] = b"jo\0";
267 pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
268 pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
269 pub const SCNu32: &'static [u8; 2usize] = b"u\0";
270 pub const SCNu64: &'static [u8; 4usize] = b"llu\0";
271 pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
272 pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
273 pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
274 pub const SCNuLEAST64: &'static [u8; 4usize] = b"llu\0";
275 pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
276 pub const SCNuFAST64: &'static [u8; 4usize] = b"llu\0";
277 pub const SCNuMAX: &'static [u8; 3usize] = b"ju\0";
278 pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
279 pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
280 pub const SCNx32: &'static [u8; 2usize] = b"x\0";
281 pub const SCNx64: &'static [u8; 4usize] = b"llx\0";
282 pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
283 pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
284 pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
285 pub const SCNxLEAST64: &'static [u8; 4usize] = b"llx\0";
286 pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
287 pub const SCNxFAST64: &'static [u8; 4usize] = b"llx\0";
288 pub const SCNxMAX: &'static [u8; 3usize] = b"jx\0";
289 pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
290 pub const O_DIRECTORY: u32 = 16384;
291 pub const O_NOFOLLOW: u32 = 32768;
292 pub const O_DIRECT: u32 = 65536;
293 pub const O_LARGEFILE: u32 = 131072;
294 pub const O_ACCMODE: u32 = 3;
295 pub const O_RDONLY: u32 = 0;
296 pub const O_WRONLY: u32 = 1;
297 pub const O_RDWR: u32 = 2;
298 pub const O_CREAT: u32 = 64;
299 pub const O_EXCL: u32 = 128;
300 pub const O_NOCTTY: u32 = 256;
301 pub const O_TRUNC: u32 = 512;
302 pub const O_APPEND: u32 = 1024;
303 pub const O_NONBLOCK: u32 = 2048;
304 pub const O_DSYNC: u32 = 4096;
305 pub const FASYNC: u32 = 8192;
306 pub const O_NOATIME: u32 = 262144;
307 pub const O_CLOEXEC: u32 = 524288;
308 pub const __O_SYNC: u32 = 1048576;
309 pub const O_SYNC: u32 = 1052672;
310 pub const O_PATH: u32 = 2097152;
311 pub const __O_TMPFILE: u32 = 4194304;
312 pub const O_TMPFILE: u32 = 4210688;
313 pub const O_TMPFILE_MASK: u32 = 4210752;
314 pub const O_NDELAY: u32 = 2048;
315 pub const F_DUPFD: u32 = 0;
316 pub const F_GETFD: u32 = 1;
317 pub const F_SETFD: u32 = 2;
318 pub const F_GETFL: u32 = 3;
319 pub const F_SETFL: u32 = 4;
320 pub const F_GETLK: u32 = 5;
321 pub const F_SETLK: u32 = 6;
322 pub const F_SETLKW: u32 = 7;
323 pub const F_SETOWN: u32 = 8;
324 pub const F_GETOWN: u32 = 9;
325 pub const F_SETSIG: u32 = 10;
326 pub const F_GETSIG: u32 = 11;
327 pub const F_GETLK64: u32 = 12;
328 pub const F_SETLK64: u32 = 13;
329 pub const F_SETLKW64: u32 = 14;
330 pub const F_SETOWN_EX: u32 = 15;
331 pub const F_GETOWN_EX: u32 = 16;
332 pub const F_GETOWNER_UIDS: u32 = 17;
333 pub const F_OFD_GETLK: u32 = 36;
334 pub const F_OFD_SETLK: u32 = 37;
335 pub const F_OFD_SETLKW: u32 = 38;
336 pub const F_OWNER_TID: u32 = 0;
337 pub const F_OWNER_PID: u32 = 1;
338 pub const F_OWNER_PGRP: u32 = 2;
339 pub const FD_CLOEXEC: u32 = 1;
340 pub const F_RDLCK: u32 = 0;
341 pub const F_WRLCK: u32 = 1;
342 pub const F_UNLCK: u32 = 2;
343 pub const F_EXLCK: u32 = 4;
344 pub const F_SHLCK: u32 = 8;
345 pub const LOCK_SH: u32 = 1;
346 pub const LOCK_EX: u32 = 2;
347 pub const LOCK_NB: u32 = 4;
348 pub const LOCK_UN: u32 = 8;
349 pub const LOCK_MAND: u32 = 32;
350 pub const LOCK_READ: u32 = 64;
351 pub const LOCK_WRITE: u32 = 128;
352 pub const LOCK_RW: u32 = 192;
353 pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
354 pub const FIOSETOWN: u32 = 35073;
355 pub const SIOCSPGRP: u32 = 35074;
356 pub const FIOGETOWN: u32 = 35075;
357 pub const SIOCGPGRP: u32 = 35076;
358 pub const SIOCATMARK: u32 = 35077;
359 pub const SIOCGSTAMP_OLD: u32 = 35078;
360 pub const SIOCGSTAMPNS_OLD: u32 = 35079;
361 pub const SOL_SOCKET: u32 = 1;
362 pub const SO_DEBUG: u32 = 1;
363 pub const SO_REUSEADDR: u32 = 2;
364 pub const SO_TYPE: u32 = 3;
365 pub const SO_ERROR: u32 = 4;
366 pub const SO_DONTROUTE: u32 = 5;
367 pub const SO_BROADCAST: u32 = 6;
368 pub const SO_SNDBUF: u32 = 7;
369 pub const SO_RCVBUF: u32 = 8;
370 pub const SO_SNDBUFFORCE: u32 = 32;
371 pub const SO_RCVBUFFORCE: u32 = 33;
372 pub const SO_KEEPALIVE: u32 = 9;
373 pub const SO_OOBINLINE: u32 = 10;
374 pub const SO_NO_CHECK: u32 = 11;
375 pub const SO_PRIORITY: u32 = 12;
376 pub const SO_LINGER: u32 = 13;
377 pub const SO_BSDCOMPAT: u32 = 14;
378 pub const SO_REUSEPORT: u32 = 15;
379 pub const SO_PASSCRED: u32 = 16;
380 pub const SO_PEERCRED: u32 = 17;
381 pub const SO_RCVLOWAT: u32 = 18;
382 pub const SO_SNDLOWAT: u32 = 19;
383 pub const SO_RCVTIMEO_OLD: u32 = 20;
384 pub const SO_SNDTIMEO_OLD: u32 = 21;
385 pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
386 pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
387 pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
388 pub const SO_BINDTODEVICE: u32 = 25;
389 pub const SO_ATTACH_FILTER: u32 = 26;
390 pub const SO_DETACH_FILTER: u32 = 27;
391 pub const SO_GET_FILTER: u32 = 26;
392 pub const SO_PEERNAME: u32 = 28;
393 pub const SO_ACCEPTCONN: u32 = 30;
394 pub const SO_PEERSEC: u32 = 31;
395 pub const SO_PASSSEC: u32 = 34;
396 pub const SO_MARK: u32 = 36;
397 pub const SO_PROTOCOL: u32 = 38;
398 pub const SO_DOMAIN: u32 = 39;
399 pub const SO_RXQ_OVFL: u32 = 40;
400 pub const SO_WIFI_STATUS: u32 = 41;
401 pub const SCM_WIFI_STATUS: u32 = 41;
402 pub const SO_PEEK_OFF: u32 = 42;
403 pub const SO_NOFCS: u32 = 43;
404 pub const SO_LOCK_FILTER: u32 = 44;
405 pub const SO_SELECT_ERR_QUEUE: u32 = 45;
406 pub const SO_BUSY_POLL: u32 = 46;
407 pub const SO_MAX_PACING_RATE: u32 = 47;
408 pub const SO_BPF_EXTENSIONS: u32 = 48;
409 pub const SO_INCOMING_CPU: u32 = 49;
410 pub const SO_ATTACH_BPF: u32 = 50;
411 pub const SO_DETACH_BPF: u32 = 27;
412 pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
413 pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
414 pub const SO_CNX_ADVICE: u32 = 53;
415 pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
416 pub const SO_MEMINFO: u32 = 55;
417 pub const SO_INCOMING_NAPI_ID: u32 = 56;
418 pub const SO_COOKIE: u32 = 57;
419 pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
420 pub const SO_PEERGROUPS: u32 = 59;
421 pub const SO_ZEROCOPY: u32 = 60;
422 pub const SO_TXTIME: u32 = 61;
423 pub const SCM_TXTIME: u32 = 61;
424 pub const SO_BINDTOIFINDEX: u32 = 62;
425 pub const SO_TIMESTAMP_OLD: u32 = 29;
426 pub const SO_TIMESTAMPNS_OLD: u32 = 35;
427 pub const SO_TIMESTAMPING_OLD: u32 = 37;
428 pub const SO_TIMESTAMP_NEW: u32 = 63;
429 pub const SO_TIMESTAMPNS_NEW: u32 = 64;
430 pub const SO_TIMESTAMPING_NEW: u32 = 65;
431 pub const SO_RCVTIMEO_NEW: u32 = 66;
432 pub const SO_SNDTIMEO_NEW: u32 = 67;
433 pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
434 pub const SO_PREFER_BUSY_POLL: u32 = 69;
435 pub const SO_BUSY_POLL_BUDGET: u32 = 70;
436 pub const SOCK_IOC_TYPE: u32 = 137;
437 pub const SIOCADDRT: u32 = 35083;
438 pub const SIOCDELRT: u32 = 35084;
439 pub const SIOCRTMSG: u32 = 35085;
440 pub const SIOCGIFNAME: u32 = 35088;
441 pub const SIOCSIFLINK: u32 = 35089;
442 pub const SIOCGIFCONF: u32 = 35090;
443 pub const SIOCGIFFLAGS: u32 = 35091;
444 pub const SIOCSIFFLAGS: u32 = 35092;
445 pub const SIOCGIFADDR: u32 = 35093;
446 pub const SIOCSIFADDR: u32 = 35094;
447 pub const SIOCGIFDSTADDR: u32 = 35095;
448 pub const SIOCSIFDSTADDR: u32 = 35096;
449 pub const SIOCGIFBRDADDR: u32 = 35097;
450 pub const SIOCSIFBRDADDR: u32 = 35098;
451 pub const SIOCGIFNETMASK: u32 = 35099;
452 pub const SIOCSIFNETMASK: u32 = 35100;
453 pub const SIOCGIFMETRIC: u32 = 35101;
454 pub const SIOCSIFMETRIC: u32 = 35102;
455 pub const SIOCGIFMEM: u32 = 35103;
456 pub const SIOCSIFMEM: u32 = 35104;
457 pub const SIOCGIFMTU: u32 = 35105;
458 pub const SIOCSIFMTU: u32 = 35106;
459 pub const SIOCSIFNAME: u32 = 35107;
460 pub const SIOCSIFHWADDR: u32 = 35108;
461 pub const SIOCGIFENCAP: u32 = 35109;
462 pub const SIOCSIFENCAP: u32 = 35110;
463 pub const SIOCGIFHWADDR: u32 = 35111;
464 pub const SIOCGIFSLAVE: u32 = 35113;
465 pub const SIOCSIFSLAVE: u32 = 35120;
466 pub const SIOCADDMULTI: u32 = 35121;
467 pub const SIOCDELMULTI: u32 = 35122;
468 pub const SIOCGIFINDEX: u32 = 35123;
469 pub const SIOGIFINDEX: u32 = 35123;
470 pub const SIOCSIFPFLAGS: u32 = 35124;
471 pub const SIOCGIFPFLAGS: u32 = 35125;
472 pub const SIOCDIFADDR: u32 = 35126;
473 pub const SIOCSIFHWBROADCAST: u32 = 35127;
474 pub const SIOCGIFCOUNT: u32 = 35128;
475 pub const SIOCGIFBR: u32 = 35136;
476 pub const SIOCSIFBR: u32 = 35137;
477 pub const SIOCGIFTXQLEN: u32 = 35138;
478 pub const SIOCSIFTXQLEN: u32 = 35139;
479 pub const SIOCETHTOOL: u32 = 35142;
480 pub const SIOCGMIIPHY: u32 = 35143;
481 pub const SIOCGMIIREG: u32 = 35144;
482 pub const SIOCSMIIREG: u32 = 35145;
483 pub const SIOCWANDEV: u32 = 35146;
484 pub const SIOCOUTQNSD: u32 = 35147;
485 pub const SIOCGSKNS: u32 = 35148;
486 pub const SIOCDARP: u32 = 35155;
487 pub const SIOCGARP: u32 = 35156;
488 pub const SIOCSARP: u32 = 35157;
489 pub const SIOCDRARP: u32 = 35168;
490 pub const SIOCGRARP: u32 = 35169;
491 pub const SIOCSRARP: u32 = 35170;
492 pub const SIOCGIFMAP: u32 = 35184;
493 pub const SIOCSIFMAP: u32 = 35185;
494 pub const SIOCADDDLCI: u32 = 35200;
495 pub const SIOCDELDLCI: u32 = 35201;
496 pub const SIOCGIFVLAN: u32 = 35202;
497 pub const SIOCSIFVLAN: u32 = 35203;
498 pub const SIOCBONDENSLAVE: u32 = 35216;
499 pub const SIOCBONDRELEASE: u32 = 35217;
500 pub const SIOCBONDSETHWADDR: u32 = 35218;
501 pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
502 pub const SIOCBONDINFOQUERY: u32 = 35220;
503 pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
504 pub const SIOCBRADDBR: u32 = 35232;
505 pub const SIOCBRDELBR: u32 = 35233;
506 pub const SIOCBRADDIF: u32 = 35234;
507 pub const SIOCBRDELIF: u32 = 35235;
508 pub const SIOCSHWTSTAMP: u32 = 35248;
509 pub const SIOCGHWTSTAMP: u32 = 35249;
510 pub const SIOCDEVPRIVATE: u32 = 35312;
511 pub const SIOCPROTOPRIVATE: u32 = 35296;
512 pub const UIO_FASTIOV: u32 = 8;
513 pub const UIO_MAXIOV: u32 = 1024;
514 pub const SOCK_STREAM: u32 = 1;
515 pub const SOCK_DGRAM: u32 = 2;
516 pub const SOCK_RAW: u32 = 3;
517 pub const SOCK_RDM: u32 = 4;
518 pub const SOCK_SEQPACKET: u32 = 5;
519 pub const SOCK_DCCP: u32 = 6;
520 pub const SOCK_PACKET: u32 = 10;
521 pub const SOCK_CLOEXEC: u32 = 524288;
522 pub const SOCK_NONBLOCK: u32 = 2048;
523 pub const SCM_RIGHTS: u32 = 1;
524 pub const SCM_CREDENTIALS: u32 = 2;
525 pub const SCM_SECURITY: u32 = 3;
526 pub const AF_UNSPEC: u32 = 0;
527 pub const AF_UNIX: u32 = 1;
528 pub const AF_LOCAL: u32 = 1;
529 pub const AF_INET: u32 = 2;
530 pub const AF_AX25: u32 = 3;
531 pub const AF_IPX: u32 = 4;
532 pub const AF_APPLETALK: u32 = 5;
533 pub const AF_NETROM: u32 = 6;
534 pub const AF_BRIDGE: u32 = 7;
535 pub const AF_ATMPVC: u32 = 8;
536 pub const AF_X25: u32 = 9;
537 pub const AF_INET6: u32 = 10;
538 pub const AF_ROSE: u32 = 11;
539 pub const AF_DECnet: u32 = 12;
540 pub const AF_NETBEUI: u32 = 13;
541 pub const AF_SECURITY: u32 = 14;
542 pub const AF_KEY: u32 = 15;
543 pub const AF_NETLINK: u32 = 16;
544 pub const AF_ROUTE: u32 = 16;
545 pub const AF_PACKET: u32 = 17;
546 pub const AF_ASH: u32 = 18;
547 pub const AF_ECONET: u32 = 19;
548 pub const AF_ATMSVC: u32 = 20;
549 pub const AF_RDS: u32 = 21;
550 pub const AF_SNA: u32 = 22;
551 pub const AF_IRDA: u32 = 23;
552 pub const AF_PPPOX: u32 = 24;
553 pub const AF_WANPIPE: u32 = 25;
554 pub const AF_LLC: u32 = 26;
555 pub const AF_CAN: u32 = 29;
556 pub const AF_TIPC: u32 = 30;
557 pub const AF_BLUETOOTH: u32 = 31;
558 pub const AF_IUCV: u32 = 32;
559 pub const AF_RXRPC: u32 = 33;
560 pub const AF_ISDN: u32 = 34;
561 pub const AF_PHONET: u32 = 35;
562 pub const AF_IEEE802154: u32 = 36;
563 pub const AF_CAIF: u32 = 37;
564 pub const AF_ALG: u32 = 38;
565 pub const AF_NFC: u32 = 39;
566 pub const AF_VSOCK: u32 = 40;
567 pub const AF_KCM: u32 = 41;
568 pub const AF_QIPCRTR: u32 = 42;
569 pub const AF_MAX: u32 = 43;
570 pub const PF_UNSPEC: u32 = 0;
571 pub const PF_UNIX: u32 = 1;
572 pub const PF_LOCAL: u32 = 1;
573 pub const PF_INET: u32 = 2;
574 pub const PF_AX25: u32 = 3;
575 pub const PF_IPX: u32 = 4;
576 pub const PF_APPLETALK: u32 = 5;
577 pub const PF_NETROM: u32 = 6;
578 pub const PF_BRIDGE: u32 = 7;
579 pub const PF_ATMPVC: u32 = 8;
580 pub const PF_X25: u32 = 9;
581 pub const PF_INET6: u32 = 10;
582 pub const PF_ROSE: u32 = 11;
583 pub const PF_DECnet: u32 = 12;
584 pub const PF_NETBEUI: u32 = 13;
585 pub const PF_SECURITY: u32 = 14;
586 pub const PF_KEY: u32 = 15;
587 pub const PF_NETLINK: u32 = 16;
588 pub const PF_ROUTE: u32 = 16;
589 pub const PF_PACKET: u32 = 17;
590 pub const PF_ASH: u32 = 18;
591 pub const PF_ECONET: u32 = 19;
592 pub const PF_ATMSVC: u32 = 20;
593 pub const PF_RDS: u32 = 21;
594 pub const PF_SNA: u32 = 22;
595 pub const PF_IRDA: u32 = 23;
596 pub const PF_PPPOX: u32 = 24;
597 pub const PF_WANPIPE: u32 = 25;
598 pub const PF_LLC: u32 = 26;
599 pub const PF_CAN: u32 = 29;
600 pub const PF_TIPC: u32 = 30;
601 pub const PF_BLUETOOTH: u32 = 31;
602 pub const PF_IUCV: u32 = 32;
603 pub const PF_RXRPC: u32 = 33;
604 pub const PF_ISDN: u32 = 34;
605 pub const PF_PHONET: u32 = 35;
606 pub const PF_IEEE802154: u32 = 36;
607 pub const PF_CAIF: u32 = 37;
608 pub const PF_ALG: u32 = 38;
609 pub const PF_NFC: u32 = 39;
610 pub const PF_VSOCK: u32 = 40;
611 pub const PF_KCM: u32 = 41;
612 pub const PF_QIPCRTR: u32 = 42;
613 pub const PF_MAX: u32 = 43;
614 pub const SOMAXCONN: u32 = 128;
615 pub const MSG_OOB: u32 = 1;
616 pub const MSG_PEEK: u32 = 2;
617 pub const MSG_DONTROUTE: u32 = 4;
618 pub const MSG_TRYHARD: u32 = 4;
619 pub const MSG_CTRUNC: u32 = 8;
620 pub const MSG_PROBE: u32 = 16;
621 pub const MSG_TRUNC: u32 = 32;
622 pub const MSG_DONTWAIT: u32 = 64;
623 pub const MSG_EOR: u32 = 128;
624 pub const MSG_WAITALL: u32 = 256;
625 pub const MSG_FIN: u32 = 512;
626 pub const MSG_SYN: u32 = 1024;
627 pub const MSG_CONFIRM: u32 = 2048;
628 pub const MSG_RST: u32 = 4096;
629 pub const MSG_ERRQUEUE: u32 = 8192;
630 pub const MSG_NOSIGNAL: u32 = 16384;
631 pub const MSG_MORE: u32 = 32768;
632 pub const MSG_WAITFORONE: u32 = 65536;
633 pub const MSG_BATCH: u32 = 262144;
634 pub const MSG_FASTOPEN: u32 = 536870912;
635 pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
636 pub const MSG_EOF: u32 = 512;
637 pub const MSG_CMSG_COMPAT: u32 = 0;
638 pub const SOL_IP: u32 = 0;
639 pub const SOL_TCP: u32 = 6;
640 pub const SOL_UDP: u32 = 17;
641 pub const SOL_IPV6: u32 = 41;
642 pub const SOL_ICMPV6: u32 = 58;
643 pub const SOL_SCTP: u32 = 132;
644 pub const SOL_RAW: u32 = 255;
645 pub const SOL_IPX: u32 = 256;
646 pub const SOL_AX25: u32 = 257;
647 pub const SOL_ATALK: u32 = 258;
648 pub const SOL_NETROM: u32 = 259;
649 pub const SOL_ROSE: u32 = 260;
650 pub const SOL_DECNET: u32 = 261;
651 pub const SOL_X25: u32 = 262;
652 pub const SOL_PACKET: u32 = 263;
653 pub const SOL_ATM: u32 = 264;
654 pub const SOL_AAL: u32 = 265;
655 pub const SOL_IRDA: u32 = 266;
656 pub const SOL_NETBEUI: u32 = 267;
657 pub const SOL_LLC: u32 = 268;
658 pub const SOL_DCCP: u32 = 269;
659 pub const SOL_NETLINK: u32 = 270;
660 pub const SOL_TIPC: u32 = 271;
661 pub const SOL_RXRPC: u32 = 272;
662 pub const SOL_PPPOL2TP: u32 = 273;
663 pub const SOL_BLUETOOTH: u32 = 274;
664 pub const SOL_PNPIPE: u32 = 275;
665 pub const SOL_RDS: u32 = 276;
666 pub const SOL_IUCV: u32 = 277;
667 pub const SOL_CAIF: u32 = 278;
668 pub const SOL_ALG: u32 = 279;
669 pub const SOL_NFC: u32 = 280;
670 pub const SOL_KCM: u32 = 281;
671 pub const SOL_TLS: u32 = 282;
672 pub const IPX_TYPE: u32 = 1;
673 pub const _PATH_HEQUIV: &'static [u8; 24usize] = b"/system/etc/hosts.equiv\0";
674 pub const _PATH_HOSTS: &'static [u8; 18usize] = b"/system/etc/hosts\0";
675 pub const _PATH_NETWORKS: &'static [u8; 21usize] = b"/system/etc/networks\0";
676 pub const _PATH_PROTOCOLS: &'static [u8; 22usize] = b"/system/etc/protocols\0";
677 pub const _PATH_SERVICES: &'static [u8; 21usize] = b"/system/etc/services\0";
678 pub const NETDB_INTERNAL: i32 = -1;
679 pub const NETDB_SUCCESS: u32 = 0;
680 pub const HOST_NOT_FOUND: u32 = 1;
681 pub const TRY_AGAIN: u32 = 2;
682 pub const NO_RECOVERY: u32 = 3;
683 pub const NO_DATA: u32 = 4;
684 pub const NO_ADDRESS: u32 = 4;
685 pub const EAI_ADDRFAMILY: u32 = 1;
686 pub const EAI_AGAIN: u32 = 2;
687 pub const EAI_BADFLAGS: u32 = 3;
688 pub const EAI_FAIL: u32 = 4;
689 pub const EAI_FAMILY: u32 = 5;
690 pub const EAI_MEMORY: u32 = 6;
691 pub const EAI_NODATA: u32 = 7;
692 pub const EAI_NONAME: u32 = 8;
693 pub const EAI_SERVICE: u32 = 9;
694 pub const EAI_SOCKTYPE: u32 = 10;
695 pub const EAI_SYSTEM: u32 = 11;
696 pub const EAI_BADHINTS: u32 = 12;
697 pub const EAI_PROTOCOL: u32 = 13;
698 pub const EAI_OVERFLOW: u32 = 14;
699 pub const EAI_MAX: u32 = 15;
700 pub const AI_PASSIVE: u32 = 1;
701 pub const AI_CANONNAME: u32 = 2;
702 pub const AI_NUMERICHOST: u32 = 4;
703 pub const AI_NUMERICSERV: u32 = 8;
704 pub const AI_ALL: u32 = 256;
705 pub const AI_V4MAPPED_CFG: u32 = 512;
706 pub const AI_ADDRCONFIG: u32 = 1024;
707 pub const AI_V4MAPPED: u32 = 2048;
708 pub const AI_DEFAULT: u32 = 1536;
709 pub const NI_MAXHOST: u32 = 1025;
710 pub const NI_MAXSERV: u32 = 32;
711 pub const NI_NOFQDN: u32 = 1;
712 pub const NI_NUMERICHOST: u32 = 2;
713 pub const NI_NAMEREQD: u32 = 4;
714 pub const NI_NUMERICSERV: u32 = 8;
715 pub const NI_DGRAM: u32 = 16;
716 pub const SCOPE_DELIMITER: u8 = 37u8;
717 pub const IPPORT_RESERVED: u32 = 1024;
718 pub const WNOHANG: u32 = 1;
719 pub const WUNTRACED: u32 = 2;
720 pub const WSTOPPED: u32 = 2;
721 pub const WEXITED: u32 = 4;
722 pub const WCONTINUED: u32 = 8;
723 pub const WNOWAIT: u32 = 16777216;
724 pub const __WNOTHREAD: u32 = 536870912;
725 pub const __WALL: u32 = 1073741824;
726 pub const __WCLONE: u32 = 2147483648;
727 pub const P_ALL: u32 = 0;
728 pub const P_PID: u32 = 1;
729 pub const P_PGID: u32 = 2;
730 pub const P_PIDFD: u32 = 3;
731 pub const SEEK_SET: u32 = 0;
732 pub const SEEK_CUR: u32 = 1;
733 pub const SEEK_END: u32 = 2;
734 pub const _IOFBF: u32 = 0;
735 pub const _IOLBF: u32 = 1;
736 pub const _IONBF: u32 = 2;
737 pub const BUFSIZ: u32 = 1024;
738 pub const EOF: i32 = -1;
739 pub const FOPEN_MAX: u32 = 20;
740 pub const FILENAME_MAX: u32 = 4096;
741 pub const L_tmpnam: u32 = 4096;
742 pub const TMP_MAX: u32 = 308915776;
743 pub const P_tmpdir: &'static [u8; 6usize] = b"/tmp/\0";
744 pub const L_ctermid: u32 = 1024;
745 pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
746 pub const M_DECAY_TIME: i32 = -100;
747 pub const M_PURGE: i32 = -101;
748 pub const M_MEMTAG_TUNING: i32 = -102;
749 pub const M_MEMTAG_TUNING_BUFFER_OVERFLOW: u32 = 0;
750 pub const M_MEMTAG_TUNING_UAF: u32 = 1;
751 pub const M_THREAD_DISABLE_MEM_INIT: i32 = -103;
752 pub const M_CACHE_COUNT_MAX: i32 = -200;
753 pub const M_CACHE_SIZE_MAX: i32 = -201;
754 pub const M_TSDS_COUNT_MAX: i32 = -202;
755 pub const M_BIONIC_ZERO_INIT: i32 = -203;
756 pub const M_BIONIC_SET_HEAP_TAGGING_LEVEL: i32 = -204;
757 pub const EXIT_FAILURE: u32 = 1;
758 pub const EXIT_SUCCESS: u32 = 0;
759 pub const RAND_MAX: u32 = 2147483647;
760 pub const __NNAPI_FL5_MIN_ANDROID_API__: u32 = 31;
761 pub const NR_OPEN: u32 = 1024;
762 pub const NGROUPS_MAX: u32 = 65536;
763 pub const ARG_MAX: u32 = 131072;
764 pub const LINK_MAX: u32 = 127;
765 pub const MAX_CANON: u32 = 255;
766 pub const MAX_INPUT: u32 = 255;
767 pub const NAME_MAX: u32 = 255;
768 pub const PATH_MAX: u32 = 4096;
769 pub const PIPE_BUF: u32 = 4096;
770 pub const XATTR_NAME_MAX: u32 = 255;
771 pub const XATTR_SIZE_MAX: u32 = 65536;
772 pub const XATTR_LIST_MAX: u32 = 65536;
773 pub const RTSIG_MAX: u32 = 32;
774 pub const PASS_MAX: u32 = 128;
775 pub const NL_ARGMAX: u32 = 9;
776 pub const NL_LANGMAX: u32 = 14;
777 pub const NL_MSGMAX: u32 = 32767;
778 pub const NL_NMAX: u32 = 1;
779 pub const NL_SETMAX: u32 = 255;
780 pub const NL_TEXTMAX: u32 = 255;
781 pub const CHAR_BIT: u32 = 8;
782 pub const LONG_BIT: u32 = 32;
783 pub const WORD_BIT: u32 = 32;
784 pub const SCHAR_MAX: u32 = 127;
785 pub const SCHAR_MIN: i32 = -128;
786 pub const UCHAR_MAX: u32 = 255;
787 pub const CHAR_MIN: u32 = 0;
788 pub const CHAR_MAX: u32 = 255;
789 pub const USHRT_MAX: u32 = 65535;
790 pub const SHRT_MAX: u32 = 32767;
791 pub const SHRT_MIN: i32 = -32768;
792 pub const UINT_MAX: u32 = 4294967295;
793 pub const INT_MAX: u32 = 2147483647;
794 pub const INT_MIN: i32 = -2147483648;
795 pub const ULONG_MAX: u32 = 4294967295;
796 pub const LONG_MAX: u32 = 2147483647;
797 pub const LONG_MIN: i32 = -2147483648;
798 pub const ULLONG_MAX: i32 = -1;
799 pub const LLONG_MAX: u64 = 9223372036854775807;
800 pub const LLONG_MIN: i64 = -9223372036854775808;
801 pub const LONG_LONG_MIN: i64 = -9223372036854775808;
802 pub const LONG_LONG_MAX: u64 = 9223372036854775807;
803 pub const ULONG_LONG_MAX: i32 = -1;
804 pub const UID_MAX: u32 = 4294967295;
805 pub const GID_MAX: u32 = 4294967295;
806 pub const SIZE_T_MAX: u32 = 4294967295;
807 pub const SSIZE_MAX: u32 = 2147483647;
808 pub const MB_LEN_MAX: u32 = 4;
809 pub const NZERO: u32 = 20;
810 pub const IOV_MAX: u32 = 1024;
811 pub const SEM_VALUE_MAX: u32 = 1073741823;
812 pub const _POSIX_VERSION: u32 = 200809;
813 pub const _POSIX2_VERSION: u32 = 200809;
814 pub const _XOPEN_VERSION: u32 = 700;
815 pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
816 pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
817 pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
818 pub const _POSIX_CPUTIME: u32 = 200809;
819 pub const _POSIX_FSYNC: u32 = 200809;
820 pub const _POSIX_IPV6: u32 = 200809;
821 pub const _POSIX_MAPPED_FILES: u32 = 200809;
822 pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
823 pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
824 pub const _POSIX_MESSAGE_PASSING: i32 = -1;
825 pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
826 pub const _POSIX_NO_TRUNC: u32 = 1;
827 pub const _POSIX_PRIORITIZED_IO: i32 = -1;
828 pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
829 pub const _POSIX_RAW_SOCKETS: u32 = 200809;
830 pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
831 pub const _POSIX_REGEXP: u32 = 1;
832 pub const _POSIX_SAVED_IDS: u32 = 1;
833 pub const _POSIX_SEMAPHORES: u32 = 200809;
834 pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
835 pub const _POSIX_SHELL: u32 = 1;
836 pub const _POSIX_SPORADIC_SERVER: i32 = -1;
837 pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
838 pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
839 pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
840 pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
841 pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
842 pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
843 pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
844 pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
845 pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
846 pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
847 pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
848 pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
849 pub const _POSIX_THREADS: u32 = 200809;
850 pub const _POSIX_TIMERS: u32 = 200809;
851 pub const _POSIX_TRACE: i32 = -1;
852 pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
853 pub const _POSIX_TRACE_INHERIT: i32 = -1;
854 pub const _POSIX_TRACE_LOG: i32 = -1;
855 pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
856 pub const _POSIX_VDISABLE: u8 = 0u8;
857 pub const _POSIX2_C_BIND: u32 = 200809;
858 pub const _POSIX2_C_DEV: i32 = -1;
859 pub const _POSIX2_CHAR_TERM: u32 = 200809;
860 pub const _POSIX2_FORT_DEV: i32 = -1;
861 pub const _POSIX2_FORT_RUN: i32 = -1;
862 pub const _POSIX2_LOCALEDEF: i32 = -1;
863 pub const _POSIX2_SW_DEV: i32 = -1;
864 pub const _POSIX2_UPE: i32 = -1;
865 pub const _POSIX_V7_ILP32_OFF32: u32 = 1;
866 pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
867 pub const _POSIX_V7_LP64_OFF64: i32 = -1;
868 pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1;
869 pub const _XOPEN_CRYPT: i32 = -1;
870 pub const _XOPEN_ENH_I18N: u32 = 1;
871 pub const _XOPEN_LEGACY: i32 = -1;
872 pub const _XOPEN_REALTIME: u32 = 1;
873 pub const _XOPEN_REALTIME_THREADS: u32 = 1;
874 pub const _XOPEN_SHM: u32 = 1;
875 pub const _XOPEN_STREAMS: i32 = -1;
876 pub const _XOPEN_UNIX: u32 = 1;
877 pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
878 pub const _POSIX_AIO_MAX: u32 = 1;
879 pub const _POSIX_ARG_MAX: u32 = 4096;
880 pub const _POSIX_CHILD_MAX: u32 = 25;
881 pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
882 pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
883 pub const _POSIX_HOST_NAME_MAX: u32 = 255;
884 pub const _POSIX_LINK_MAX: u32 = 8;
885 pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
886 pub const _POSIX_MAX_CANON: u32 = 255;
887 pub const _POSIX_MAX_INPUT: u32 = 255;
888 pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
889 pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
890 pub const _POSIX_NAME_MAX: u32 = 14;
891 pub const _POSIX_NGROUPS_MAX: u32 = 8;
892 pub const _POSIX_OPEN_MAX: u32 = 20;
893 pub const _POSIX_PATH_MAX: u32 = 256;
894 pub const _POSIX_PIPE_BUF: u32 = 512;
895 pub const _POSIX_RE_DUP_MAX: u32 = 255;
896 pub const _POSIX_RTSIG_MAX: u32 = 8;
897 pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
898 pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
899 pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
900 pub const _POSIX_SSIZE_MAX: u32 = 32767;
901 pub const _POSIX_STREAM_MAX: u32 = 8;
902 pub const _POSIX_SS_REPL_MAX: u32 = 4;
903 pub const _POSIX_SYMLINK_MAX: u32 = 255;
904 pub const _POSIX_SYMLOOP_MAX: u32 = 8;
905 pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
906 pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
907 pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
908 pub const _POSIX_TIMER_MAX: u32 = 32;
909 pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
910 pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
911 pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
912 pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
913 pub const _POSIX_TTY_NAME_MAX: u32 = 9;
914 pub const _POSIX_TZNAME_MAX: u32 = 6;
915 pub const _POSIX2_BC_BASE_MAX: u32 = 99;
916 pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
917 pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
918 pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
919 pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
920 pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
921 pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
922 pub const _POSIX2_LINE_MAX: u32 = 2048;
923 pub const _POSIX2_RE_DUP_MAX: u32 = 255;
924 pub const _XOPEN_IOV_MAX: u32 = 16;
925 pub const _XOPEN_NAME_MAX: u32 = 255;
926 pub const _XOPEN_PATH_MAX: u32 = 1024;
927 pub const HOST_NAME_MAX: u32 = 255;
928 pub const LOGIN_NAME_MAX: u32 = 256;
929 pub const TTY_NAME_MAX: u32 = 32;
930 pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
931 pub const PTHREAD_KEYS_MAX: u32 = 128;
932 pub const FP_INFINITE: u32 = 1;
933 pub const FP_NAN: u32 = 2;
934 pub const FP_NORMAL: u32 = 4;
935 pub const FP_SUBNORMAL: u32 = 8;
936 pub const FP_ZERO: u32 = 16;
937 pub const FP_ILOGB0: i32 = -2147483647;
938 pub const FP_ILOGBNAN: u32 = 2147483647;
939 pub const MATH_ERRNO: u32 = 1;
940 pub const MATH_ERREXCEPT: u32 = 2;
941 pub const math_errhandling: u32 = 2;
942 pub const M_E: f64 = 2.718281828459045;
943 pub const M_LOG2E: f64 = 1.4426950408889634;
944 pub const M_LOG10E: f64 = 0.4342944819032518;
945 pub const M_LN2: f64 = 0.6931471805599453;
946 pub const M_LN10: f64 = 2.302585092994046;
947 pub const M_PI: f64 = 3.141592653589793;
948 pub const M_PI_2: f64 = 1.5707963267948966;
949 pub const M_PI_4: f64 = 0.7853981633974483;
950 pub const M_1_PI: f64 = 0.3183098861837907;
951 pub const M_2_PI: f64 = 0.6366197723675814;
952 pub const M_2_SQRTPI: f64 = 1.1283791670955126;
953 pub const M_SQRT2: f64 = 1.4142135623730951;
954 pub const M_SQRT1_2: f64 = 0.7071067811865476;
955 pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
956 pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
957 pub const ASENSOR_INVALID: i32 = -1;
958 pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
959 pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
960 pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
961 pub const _IOC_NRBITS: u32 = 8;
962 pub const _IOC_TYPEBITS: u32 = 8;
963 pub const _IOC_SIZEBITS: u32 = 14;
964 pub const _IOC_DIRBITS: u32 = 2;
965 pub const _IOC_NRMASK: u32 = 255;
966 pub const _IOC_TYPEMASK: u32 = 255;
967 pub const _IOC_SIZEMASK: u32 = 16383;
968 pub const _IOC_DIRMASK: u32 = 3;
969 pub const _IOC_NRSHIFT: u32 = 0;
970 pub const _IOC_TYPESHIFT: u32 = 8;
971 pub const _IOC_SIZESHIFT: u32 = 16;
972 pub const _IOC_DIRSHIFT: u32 = 30;
973 pub const _IOC_NONE: u32 = 0;
974 pub const _IOC_WRITE: u32 = 1;
975 pub const _IOC_READ: u32 = 2;
976 pub const IOC_IN: u32 = 1073741824;
977 pub const IOC_OUT: u32 = 2147483648;
978 pub const IOC_INOUT: u32 = 3221225472;
979 pub const IOCSIZE_MASK: u32 = 1073676288;
980 pub const IOCSIZE_SHIFT: u32 = 16;
981 pub const SYNC_IOC_MAGIC: u8 = 62u8;
982 pub const ITIMER_REAL: u32 = 0;
983 pub const ITIMER_VIRTUAL: u32 = 1;
984 pub const ITIMER_PROF: u32 = 2;
985 pub const CLOCK_REALTIME: u32 = 0;
986 pub const CLOCK_MONOTONIC: u32 = 1;
987 pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
988 pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
989 pub const CLOCK_MONOTONIC_RAW: u32 = 4;
990 pub const CLOCK_REALTIME_COARSE: u32 = 5;
991 pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
992 pub const CLOCK_BOOTTIME: u32 = 7;
993 pub const CLOCK_REALTIME_ALARM: u32 = 8;
994 pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
995 pub const CLOCK_SGI_CYCLE: u32 = 10;
996 pub const CLOCK_TAI: u32 = 11;
997 pub const MAX_CLOCKS: u32 = 16;
998 pub const CLOCKS_MASK: u32 = 1;
999 pub const CLOCKS_MONO: u32 = 1;
1000 pub const TIMER_ABSTIME: u32 = 1;
1001 pub const _KERNEL_NSIG: u32 = 32;
1002 pub const SIGHUP: u32 = 1;
1003 pub const SIGINT: u32 = 2;
1004 pub const SIGQUIT: u32 = 3;
1005 pub const SIGILL: u32 = 4;
1006 pub const SIGTRAP: u32 = 5;
1007 pub const SIGABRT: u32 = 6;
1008 pub const SIGIOT: u32 = 6;
1009 pub const SIGBUS: u32 = 7;
1010 pub const SIGFPE: u32 = 8;
1011 pub const SIGKILL: u32 = 9;
1012 pub const SIGUSR1: u32 = 10;
1013 pub const SIGSEGV: u32 = 11;
1014 pub const SIGUSR2: u32 = 12;
1015 pub const SIGPIPE: u32 = 13;
1016 pub const SIGALRM: u32 = 14;
1017 pub const SIGTERM: u32 = 15;
1018 pub const SIGSTKFLT: u32 = 16;
1019 pub const SIGCHLD: u32 = 17;
1020 pub const SIGCONT: u32 = 18;
1021 pub const SIGSTOP: u32 = 19;
1022 pub const SIGTSTP: u32 = 20;
1023 pub const SIGTTIN: u32 = 21;
1024 pub const SIGTTOU: u32 = 22;
1025 pub const SIGURG: u32 = 23;
1026 pub const SIGXCPU: u32 = 24;
1027 pub const SIGXFSZ: u32 = 25;
1028 pub const SIGVTALRM: u32 = 26;
1029 pub const SIGPROF: u32 = 27;
1030 pub const SIGWINCH: u32 = 28;
1031 pub const SIGIO: u32 = 29;
1032 pub const SIGPOLL: u32 = 29;
1033 pub const SIGPWR: u32 = 30;
1034 pub const SIGSYS: u32 = 31;
1035 pub const SIGUNUSED: u32 = 31;
1036 pub const __SIGRTMIN: u32 = 32;
1037 pub const SIGSWI: u32 = 32;
1038 pub const SA_THIRTYTWO: u32 = 33554432;
1039 pub const SA_RESTORER: u32 = 67108864;
1040 pub const MINSIGSTKSZ: u32 = 2048;
1041 pub const SIGSTKSZ: u32 = 8192;
1042 pub const SA_NOCLDSTOP: u32 = 1;
1043 pub const SA_NOCLDWAIT: u32 = 2;
1044 pub const SA_SIGINFO: u32 = 4;
1045 pub const SA_UNSUPPORTED: u32 = 1024;
1046 pub const SA_EXPOSE_TAGBITS: u32 = 2048;
1047 pub const SA_ONSTACK: u32 = 134217728;
1048 pub const SA_RESTART: u32 = 268435456;
1049 pub const SA_NODEFER: u32 = 1073741824;
1050 pub const SA_RESETHAND: u32 = 2147483648;
1051 pub const SA_NOMASK: u32 = 1073741824;
1052 pub const SA_ONESHOT: u32 = 2147483648;
1053 pub const SIG_BLOCK: u32 = 0;
1054 pub const SIG_UNBLOCK: u32 = 1;
1055 pub const SIG_SETMASK: u32 = 2;
1056 pub const SI_MAX_SIZE: u32 = 128;
1057 pub const SI_USER: u32 = 0;
1058 pub const SI_KERNEL: u32 = 128;
1059 pub const SI_QUEUE: i32 = -1;
1060 pub const SI_TIMER: i32 = -2;
1061 pub const SI_MESGQ: i32 = -3;
1062 pub const SI_ASYNCIO: i32 = -4;
1063 pub const SI_SIGIO: i32 = -5;
1064 pub const SI_TKILL: i32 = -6;
1065 pub const SI_DETHREAD: i32 = -7;
1066 pub const SI_ASYNCNL: i32 = -60;
1067 pub const ILL_ILLOPC: u32 = 1;
1068 pub const ILL_ILLOPN: u32 = 2;
1069 pub const ILL_ILLADR: u32 = 3;
1070 pub const ILL_ILLTRP: u32 = 4;
1071 pub const ILL_PRVOPC: u32 = 5;
1072 pub const ILL_PRVREG: u32 = 6;
1073 pub const ILL_COPROC: u32 = 7;
1074 pub const ILL_BADSTK: u32 = 8;
1075 pub const ILL_BADIADDR: u32 = 9;
1076 pub const __ILL_BREAK: u32 = 10;
1077 pub const __ILL_BNDMOD: u32 = 11;
1078 pub const NSIGILL: u32 = 11;
1079 pub const FPE_INTDIV: u32 = 1;
1080 pub const FPE_INTOVF: u32 = 2;
1081 pub const FPE_FLTDIV: u32 = 3;
1082 pub const FPE_FLTOVF: u32 = 4;
1083 pub const FPE_FLTUND: u32 = 5;
1084 pub const FPE_FLTRES: u32 = 6;
1085 pub const FPE_FLTINV: u32 = 7;
1086 pub const FPE_FLTSUB: u32 = 8;
1087 pub const __FPE_DECOVF: u32 = 9;
1088 pub const __FPE_DECDIV: u32 = 10;
1089 pub const __FPE_DECERR: u32 = 11;
1090 pub const __FPE_INVASC: u32 = 12;
1091 pub const __FPE_INVDEC: u32 = 13;
1092 pub const FPE_FLTUNK: u32 = 14;
1093 pub const FPE_CONDTRAP: u32 = 15;
1094 pub const NSIGFPE: u32 = 15;
1095 pub const SEGV_MAPERR: u32 = 1;
1096 pub const SEGV_ACCERR: u32 = 2;
1097 pub const SEGV_BNDERR: u32 = 3;
1098 pub const SEGV_PKUERR: u32 = 4;
1099 pub const SEGV_ACCADI: u32 = 5;
1100 pub const SEGV_ADIDERR: u32 = 6;
1101 pub const SEGV_ADIPERR: u32 = 7;
1102 pub const SEGV_MTEAERR: u32 = 8;
1103 pub const SEGV_MTESERR: u32 = 9;
1104 pub const NSIGSEGV: u32 = 9;
1105 pub const BUS_ADRALN: u32 = 1;
1106 pub const BUS_ADRERR: u32 = 2;
1107 pub const BUS_OBJERR: u32 = 3;
1108 pub const BUS_MCEERR_AR: u32 = 4;
1109 pub const BUS_MCEERR_AO: u32 = 5;
1110 pub const NSIGBUS: u32 = 5;
1111 pub const TRAP_BRKPT: u32 = 1;
1112 pub const TRAP_TRACE: u32 = 2;
1113 pub const TRAP_BRANCH: u32 = 3;
1114 pub const TRAP_HWBKPT: u32 = 4;
1115 pub const TRAP_UNK: u32 = 5;
1116 pub const TRAP_PERF: u32 = 6;
1117 pub const NSIGTRAP: u32 = 6;
1118 pub const CLD_EXITED: u32 = 1;
1119 pub const CLD_KILLED: u32 = 2;
1120 pub const CLD_DUMPED: u32 = 3;
1121 pub const CLD_TRAPPED: u32 = 4;
1122 pub const CLD_STOPPED: u32 = 5;
1123 pub const CLD_CONTINUED: u32 = 6;
1124 pub const NSIGCHLD: u32 = 6;
1125 pub const POLL_IN: u32 = 1;
1126 pub const POLL_OUT: u32 = 2;
1127 pub const POLL_MSG: u32 = 3;
1128 pub const POLL_ERR: u32 = 4;
1129 pub const POLL_PRI: u32 = 5;
1130 pub const POLL_HUP: u32 = 6;
1131 pub const NSIGPOLL: u32 = 6;
1132 pub const SYS_SECCOMP: u32 = 1;
1133 pub const SYS_USER_DISPATCH: u32 = 2;
1134 pub const NSIGSYS: u32 = 2;
1135 pub const EMT_TAGOVF: u32 = 1;
1136 pub const NSIGEMT: u32 = 1;
1137 pub const SIGEV_SIGNAL: u32 = 0;
1138 pub const SIGEV_NONE: u32 = 1;
1139 pub const SIGEV_THREAD: u32 = 2;
1140 pub const SIGEV_THREAD_ID: u32 = 4;
1141 pub const SIGEV_MAX_SIZE: u32 = 64;
1142 pub const SS_ONSTACK: u32 = 1;
1143 pub const SS_DISABLE: u32 = 2;
1144 pub const SS_AUTODISARM: u32 = 2147483648;
1145 pub const SS_FLAG_BITS: u32 = 2147483648;
1146 pub const _KERNEL__NSIG: u32 = 64;
1147 pub const _NSIG: u32 = 65;
1148 pub const NSIG: u32 = 65;
1149 pub const PAGE_SIZE: u32 = 4096;
1150 pub const PAGE_MASK: i32 = -4096;
1151 pub const NGREG: u32 = 18;
1152 pub const FD_SETSIZE: u32 = 1024;
1153 pub const CLOCKS_PER_SEC: u32 = 1000000;
1154 pub const TIME_UTC: u32 = 1;
1155 pub const AAUDIO_UNSPECIFIED: u32 = 0;
1156 pub const AAUDIO_SYSTEM_USAGE_OFFSET: u32 = 1000;
1157 extern "C" {
1158     pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
1159 }
1160 extern "C" {
1161     pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
1162 }
1163 pub type size_t = ::std::os::raw::c_uint;
1164 pub type wchar_t = ::std::os::raw::c_uint;
1165 #[repr(C)]
1166 #[derive(Debug, Copy, Clone)]
1167 pub struct max_align_t {
1168     pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
1169     pub __clang_max_align_nonce2: f64,
1170 }
1171 #[test]
1172 fn bindgen_test_layout_max_align_t() {
1173     assert_eq!(
1174         ::std::mem::size_of::<max_align_t>(),
1175         16usize,
1176         concat!("Size of: ", stringify!(max_align_t))
1177     );
1178     assert_eq!(
1179         ::std::mem::align_of::<max_align_t>(),
1180         8usize,
1181         concat!("Alignment of ", stringify!(max_align_t))
1182     );
1183     assert_eq!(
1184         unsafe {
1185             &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
1186         },
1187         0usize,
1188         concat!(
1189             "Offset of field: ",
1190             stringify!(max_align_t),
1191             "::",
1192             stringify!(__clang_max_align_nonce1)
1193         )
1194     );
1195     assert_eq!(
1196         unsafe {
1197             &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
1198         },
1199         8usize,
1200         concat!(
1201             "Offset of field: ",
1202             stringify!(max_align_t),
1203             "::",
1204             stringify!(__clang_max_align_nonce2)
1205         )
1206     );
1207 }
1208 pub type __int8_t = ::std::os::raw::c_schar;
1209 pub type __uint8_t = ::std::os::raw::c_uchar;
1210 pub type __int16_t = ::std::os::raw::c_short;
1211 pub type __uint16_t = ::std::os::raw::c_ushort;
1212 pub type __int32_t = ::std::os::raw::c_int;
1213 pub type __uint32_t = ::std::os::raw::c_uint;
1214 pub type __int64_t = ::std::os::raw::c_longlong;
1215 pub type __uint64_t = ::std::os::raw::c_ulonglong;
1216 pub type __intptr_t = ::std::os::raw::c_int;
1217 pub type __uintptr_t = ::std::os::raw::c_uint;
1218 pub type int_least8_t = i8;
1219 pub type uint_least8_t = u8;
1220 pub type int_least16_t = i16;
1221 pub type uint_least16_t = u16;
1222 pub type int_least32_t = i32;
1223 pub type uint_least32_t = u32;
1224 pub type int_least64_t = i64;
1225 pub type uint_least64_t = u64;
1226 pub type int_fast8_t = i8;
1227 pub type uint_fast8_t = u8;
1228 pub type int_fast64_t = i64;
1229 pub type uint_fast64_t = u64;
1230 pub type int_fast16_t = i32;
1231 pub type uint_fast16_t = u32;
1232 pub type int_fast32_t = i32;
1233 pub type uint_fast32_t = u32;
1234 pub type uintmax_t = u64;
1235 pub type intmax_t = i64;
1236 pub type __s8 = ::std::os::raw::c_schar;
1237 pub type __u8 = ::std::os::raw::c_uchar;
1238 pub type __s16 = ::std::os::raw::c_short;
1239 pub type __u16 = ::std::os::raw::c_ushort;
1240 pub type __s32 = ::std::os::raw::c_int;
1241 pub type __u32 = ::std::os::raw::c_uint;
1242 pub type __s64 = ::std::os::raw::c_longlong;
1243 pub type __u64 = ::std::os::raw::c_ulonglong;
1244 #[repr(C)]
1245 #[derive(Debug, Copy, Clone)]
1246 pub struct __kernel_fd_set {
1247     pub fds_bits: [::std::os::raw::c_ulong; 32usize],
1248 }
1249 #[test]
1250 fn bindgen_test_layout___kernel_fd_set() {
1251     assert_eq!(
1252         ::std::mem::size_of::<__kernel_fd_set>(),
1253         128usize,
1254         concat!("Size of: ", stringify!(__kernel_fd_set))
1255     );
1256     assert_eq!(
1257         ::std::mem::align_of::<__kernel_fd_set>(),
1258         4usize,
1259         concat!("Alignment of ", stringify!(__kernel_fd_set))
1260     );
1261     assert_eq!(
1262         unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize },
1263         0usize,
1264         concat!(
1265             "Offset of field: ",
1266             stringify!(__kernel_fd_set),
1267             "::",
1268             stringify!(fds_bits)
1269         )
1270     );
1271 }
1272 pub type __kernel_sighandler_t =
1273     ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
1274 pub type __kernel_key_t = ::std::os::raw::c_int;
1275 pub type __kernel_mqd_t = ::std::os::raw::c_int;
1276 pub type __kernel_mode_t = ::std::os::raw::c_ushort;
1277 pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort;
1278 pub type __kernel_uid_t = ::std::os::raw::c_ushort;
1279 pub type __kernel_gid_t = ::std::os::raw::c_ushort;
1280 pub type __kernel_old_dev_t = ::std::os::raw::c_ushort;
1281 pub type __kernel_long_t = ::std::os::raw::c_long;
1282 pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1283 pub type __kernel_ino_t = __kernel_ulong_t;
1284 pub type __kernel_pid_t = ::std::os::raw::c_int;
1285 pub type __kernel_suseconds_t = __kernel_long_t;
1286 pub type __kernel_daddr_t = ::std::os::raw::c_int;
1287 pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1288 pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1289 pub type __kernel_old_uid_t = __kernel_uid_t;
1290 pub type __kernel_old_gid_t = __kernel_gid_t;
1291 pub type __kernel_size_t = ::std::os::raw::c_uint;
1292 pub type __kernel_ssize_t = ::std::os::raw::c_int;
1293 pub type __kernel_ptrdiff_t = ::std::os::raw::c_int;
1294 #[repr(C)]
1295 #[derive(Debug, Copy, Clone)]
1296 pub struct __kernel_fsid_t {
1297     pub val: [::std::os::raw::c_int; 2usize],
1298 }
1299 #[test]
1300 fn bindgen_test_layout___kernel_fsid_t() {
1301     assert_eq!(
1302         ::std::mem::size_of::<__kernel_fsid_t>(),
1303         8usize,
1304         concat!("Size of: ", stringify!(__kernel_fsid_t))
1305     );
1306     assert_eq!(
1307         ::std::mem::align_of::<__kernel_fsid_t>(),
1308         4usize,
1309         concat!("Alignment of ", stringify!(__kernel_fsid_t))
1310     );
1311     assert_eq!(
1312         unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize },
1313         0usize,
1314         concat!(
1315             "Offset of field: ",
1316             stringify!(__kernel_fsid_t),
1317             "::",
1318             stringify!(val)
1319         )
1320     );
1321 }
1322 pub type __kernel_off_t = __kernel_long_t;
1323 pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1324 pub type __kernel_old_time_t = __kernel_long_t;
1325 pub type __kernel_time_t = __kernel_long_t;
1326 pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1327 pub type __kernel_clock_t = __kernel_long_t;
1328 pub type __kernel_timer_t = ::std::os::raw::c_int;
1329 pub type __kernel_clockid_t = ::std::os::raw::c_int;
1330 pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1331 pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1332 pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1333 pub type __le16 = __u16;
1334 pub type __be16 = __u16;
1335 pub type __le32 = __u32;
1336 pub type __be32 = __u32;
1337 pub type __le64 = __u64;
1338 pub type __be64 = __u64;
1339 pub type __sum16 = __u16;
1340 pub type __wsum = __u32;
1341 pub type __poll_t = ::std::os::raw::c_uint;
1342 #[repr(C)]
1343 #[derive(Debug, Copy, Clone)]
1344 pub struct pthread_attr_t {
1345     pub flags: u32,
1346     pub stack_base: *mut ::std::os::raw::c_void,
1347     pub stack_size: size_t,
1348     pub guard_size: size_t,
1349     pub sched_policy: i32,
1350     pub sched_priority: i32,
1351 }
1352 #[test]
1353 fn bindgen_test_layout_pthread_attr_t() {
1354     assert_eq!(
1355         ::std::mem::size_of::<pthread_attr_t>(),
1356         24usize,
1357         concat!("Size of: ", stringify!(pthread_attr_t))
1358     );
1359     assert_eq!(
1360         ::std::mem::align_of::<pthread_attr_t>(),
1361         4usize,
1362         concat!("Alignment of ", stringify!(pthread_attr_t))
1363     );
1364     assert_eq!(
1365         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).flags as *const _ as usize },
1366         0usize,
1367         concat!(
1368             "Offset of field: ",
1369             stringify!(pthread_attr_t),
1370             "::",
1371             stringify!(flags)
1372         )
1373     );
1374     assert_eq!(
1375         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_base as *const _ as usize },
1376         4usize,
1377         concat!(
1378             "Offset of field: ",
1379             stringify!(pthread_attr_t),
1380             "::",
1381             stringify!(stack_base)
1382         )
1383     );
1384     assert_eq!(
1385         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_size as *const _ as usize },
1386         8usize,
1387         concat!(
1388             "Offset of field: ",
1389             stringify!(pthread_attr_t),
1390             "::",
1391             stringify!(stack_size)
1392         )
1393     );
1394     assert_eq!(
1395         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).guard_size as *const _ as usize },
1396         12usize,
1397         concat!(
1398             "Offset of field: ",
1399             stringify!(pthread_attr_t),
1400             "::",
1401             stringify!(guard_size)
1402         )
1403     );
1404     assert_eq!(
1405         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_policy as *const _ as usize },
1406         16usize,
1407         concat!(
1408             "Offset of field: ",
1409             stringify!(pthread_attr_t),
1410             "::",
1411             stringify!(sched_policy)
1412         )
1413     );
1414     assert_eq!(
1415         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_priority as *const _ as usize },
1416         20usize,
1417         concat!(
1418             "Offset of field: ",
1419             stringify!(pthread_attr_t),
1420             "::",
1421             stringify!(sched_priority)
1422         )
1423     );
1424 }
1425 #[repr(C)]
1426 #[derive(Debug, Copy, Clone)]
1427 pub struct pthread_barrier_t {
1428     pub __private: [i32; 8usize],
1429 }
1430 #[test]
1431 fn bindgen_test_layout_pthread_barrier_t() {
1432     assert_eq!(
1433         ::std::mem::size_of::<pthread_barrier_t>(),
1434         32usize,
1435         concat!("Size of: ", stringify!(pthread_barrier_t))
1436     );
1437     assert_eq!(
1438         ::std::mem::align_of::<pthread_barrier_t>(),
1439         4usize,
1440         concat!("Alignment of ", stringify!(pthread_barrier_t))
1441     );
1442     assert_eq!(
1443         unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__private as *const _ as usize },
1444         0usize,
1445         concat!(
1446             "Offset of field: ",
1447             stringify!(pthread_barrier_t),
1448             "::",
1449             stringify!(__private)
1450         )
1451     );
1452 }
1453 pub type pthread_barrierattr_t = ::std::os::raw::c_int;
1454 #[repr(C)]
1455 #[derive(Debug, Copy, Clone)]
1456 pub struct pthread_cond_t {
1457     pub __private: [i32; 1usize],
1458 }
1459 #[test]
1460 fn bindgen_test_layout_pthread_cond_t() {
1461     assert_eq!(
1462         ::std::mem::size_of::<pthread_cond_t>(),
1463         4usize,
1464         concat!("Size of: ", stringify!(pthread_cond_t))
1465     );
1466     assert_eq!(
1467         ::std::mem::align_of::<pthread_cond_t>(),
1468         4usize,
1469         concat!("Alignment of ", stringify!(pthread_cond_t))
1470     );
1471     assert_eq!(
1472         unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__private as *const _ as usize },
1473         0usize,
1474         concat!(
1475             "Offset of field: ",
1476             stringify!(pthread_cond_t),
1477             "::",
1478             stringify!(__private)
1479         )
1480     );
1481 }
1482 pub type pthread_condattr_t = ::std::os::raw::c_long;
1483 pub type pthread_key_t = ::std::os::raw::c_int;
1484 #[repr(C)]
1485 #[derive(Debug, Copy, Clone)]
1486 pub struct pthread_mutex_t {
1487     pub __private: [i32; 1usize],
1488 }
1489 #[test]
1490 fn bindgen_test_layout_pthread_mutex_t() {
1491     assert_eq!(
1492         ::std::mem::size_of::<pthread_mutex_t>(),
1493         4usize,
1494         concat!("Size of: ", stringify!(pthread_mutex_t))
1495     );
1496     assert_eq!(
1497         ::std::mem::align_of::<pthread_mutex_t>(),
1498         4usize,
1499         concat!("Alignment of ", stringify!(pthread_mutex_t))
1500     );
1501     assert_eq!(
1502         unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__private as *const _ as usize },
1503         0usize,
1504         concat!(
1505             "Offset of field: ",
1506             stringify!(pthread_mutex_t),
1507             "::",
1508             stringify!(__private)
1509         )
1510     );
1511 }
1512 pub type pthread_mutexattr_t = ::std::os::raw::c_long;
1513 pub type pthread_once_t = ::std::os::raw::c_int;
1514 #[repr(C)]
1515 #[derive(Debug, Copy, Clone)]
1516 pub struct pthread_rwlock_t {
1517     pub __private: [i32; 10usize],
1518 }
1519 #[test]
1520 fn bindgen_test_layout_pthread_rwlock_t() {
1521     assert_eq!(
1522         ::std::mem::size_of::<pthread_rwlock_t>(),
1523         40usize,
1524         concat!("Size of: ", stringify!(pthread_rwlock_t))
1525     );
1526     assert_eq!(
1527         ::std::mem::align_of::<pthread_rwlock_t>(),
1528         4usize,
1529         concat!("Alignment of ", stringify!(pthread_rwlock_t))
1530     );
1531     assert_eq!(
1532         unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__private as *const _ as usize },
1533         0usize,
1534         concat!(
1535             "Offset of field: ",
1536             stringify!(pthread_rwlock_t),
1537             "::",
1538             stringify!(__private)
1539         )
1540     );
1541 }
1542 pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
1543 #[repr(C)]
1544 #[derive(Debug, Copy, Clone)]
1545 pub struct pthread_spinlock_t {
1546     pub __private: [i32; 2usize],
1547 }
1548 #[test]
1549 fn bindgen_test_layout_pthread_spinlock_t() {
1550     assert_eq!(
1551         ::std::mem::size_of::<pthread_spinlock_t>(),
1552         8usize,
1553         concat!("Size of: ", stringify!(pthread_spinlock_t))
1554     );
1555     assert_eq!(
1556         ::std::mem::align_of::<pthread_spinlock_t>(),
1557         4usize,
1558         concat!("Alignment of ", stringify!(pthread_spinlock_t))
1559     );
1560     assert_eq!(
1561         unsafe { &(*(::std::ptr::null::<pthread_spinlock_t>())).__private as *const _ as usize },
1562         0usize,
1563         concat!(
1564             "Offset of field: ",
1565             stringify!(pthread_spinlock_t),
1566             "::",
1567             stringify!(__private)
1568         )
1569     );
1570 }
1571 pub type pthread_t = ::std::os::raw::c_long;
1572 pub type __gid_t = __kernel_gid32_t;
1573 pub type gid_t = __gid_t;
1574 pub type __uid_t = __kernel_uid32_t;
1575 pub type uid_t = __uid_t;
1576 pub type __pid_t = __kernel_pid_t;
1577 pub type pid_t = __pid_t;
1578 pub type __id_t = u32;
1579 pub type id_t = __id_t;
1580 pub type blkcnt_t = ::std::os::raw::c_ulong;
1581 pub type blksize_t = ::std::os::raw::c_ulong;
1582 pub type caddr_t = __kernel_caddr_t;
1583 pub type clock_t = __kernel_clock_t;
1584 pub type __clockid_t = __kernel_clockid_t;
1585 pub type clockid_t = __clockid_t;
1586 pub type daddr_t = __kernel_daddr_t;
1587 pub type fsblkcnt_t = ::std::os::raw::c_ulong;
1588 pub type fsfilcnt_t = ::std::os::raw::c_ulong;
1589 pub type __mode_t = __kernel_mode_t;
1590 pub type mode_t = __mode_t;
1591 pub type __key_t = __kernel_key_t;
1592 pub type key_t = __key_t;
1593 pub type __ino_t = __kernel_ino_t;
1594 pub type ino_t = __ino_t;
1595 pub type ino64_t = u64;
1596 pub type __nlink_t = u32;
1597 pub type nlink_t = __nlink_t;
1598 pub type __timer_t = *mut ::std::os::raw::c_void;
1599 pub type timer_t = __timer_t;
1600 pub type __suseconds_t = __kernel_suseconds_t;
1601 pub type suseconds_t = __suseconds_t;
1602 pub type __useconds_t = u32;
1603 pub type useconds_t = __useconds_t;
1604 pub type dev_t = u32;
1605 pub type __time_t = __kernel_time_t;
1606 pub type time_t = __time_t;
1607 pub type off_t = __kernel_off_t;
1608 pub type loff_t = __kernel_loff_t;
1609 pub type off64_t = loff_t;
1610 pub type __socklen_t = i32;
1611 pub type socklen_t = __socklen_t;
1612 pub type ssize_t = __kernel_ssize_t;
1613 pub type uint_t = ::std::os::raw::c_uint;
1614 pub type uint = ::std::os::raw::c_uint;
1615 pub type u_char = ::std::os::raw::c_uchar;
1616 pub type u_short = ::std::os::raw::c_ushort;
1617 pub type u_int = ::std::os::raw::c_uint;
1618 pub type u_long = ::std::os::raw::c_ulong;
1619 pub type u_int32_t = u32;
1620 pub type u_int16_t = u16;
1621 pub type u_int8_t = u8;
1622 pub type u_int64_t = u64;
1623 #[repr(C)]
1624 #[derive(Debug, Copy, Clone)]
1625 pub struct AAssetManager {
1626     _unused: [u8; 0],
1627 }
1628 #[repr(C)]
1629 #[derive(Debug, Copy, Clone)]
1630 pub struct AAssetDir {
1631     _unused: [u8; 0],
1632 }
1633 #[repr(C)]
1634 #[derive(Debug, Copy, Clone)]
1635 pub struct AAsset {
1636     _unused: [u8; 0],
1637 }
1638 pub const AASSET_MODE_UNKNOWN: ::std::os::raw::c_uint = 0;
1639 pub const AASSET_MODE_RANDOM: ::std::os::raw::c_uint = 1;
1640 pub const AASSET_MODE_STREAMING: ::std::os::raw::c_uint = 2;
1641 pub const AASSET_MODE_BUFFER: ::std::os::raw::c_uint = 3;
1642 pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
1643 extern "C" {
1644     pub fn AAssetManager_openDir(
1645         mgr: *mut AAssetManager,
1646         dirName: *const ::std::os::raw::c_char,
1647     ) -> *mut AAssetDir;
1648 }
1649 extern "C" {
1650     pub fn AAssetManager_open(
1651         mgr: *mut AAssetManager,
1652         filename: *const ::std::os::raw::c_char,
1653         mode: ::std::os::raw::c_int,
1654     ) -> *mut AAsset;
1655 }
1656 extern "C" {
1657     pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
1658 }
1659 extern "C" {
1660     pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
1661 }
1662 extern "C" {
1663     pub fn AAssetDir_close(assetDir: *mut AAssetDir);
1664 }
1665 extern "C" {
1666     pub fn AAsset_read(
1667         asset: *mut AAsset,
1668         buf: *mut ::std::os::raw::c_void,
1669         count: size_t,
1670     ) -> ::std::os::raw::c_int;
1671 }
1672 extern "C" {
1673     pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
1674 }
1675 extern "C" {
1676     pub fn AAsset_seek64(
1677         asset: *mut AAsset,
1678         offset: off64_t,
1679         whence: ::std::os::raw::c_int,
1680     ) -> off64_t;
1681 }
1682 extern "C" {
1683     pub fn AAsset_close(asset: *mut AAsset);
1684 }
1685 extern "C" {
1686     pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
1687 }
1688 extern "C" {
1689     pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
1690 }
1691 extern "C" {
1692     pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
1693 }
1694 extern "C" {
1695     pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
1696 }
1697 extern "C" {
1698     pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
1699 }
1700 extern "C" {
1701     pub fn AAsset_openFileDescriptor(
1702         asset: *mut AAsset,
1703         outStart: *mut off_t,
1704         outLength: *mut off_t,
1705     ) -> ::std::os::raw::c_int;
1706 }
1707 extern "C" {
1708     pub fn AAsset_openFileDescriptor64(
1709         asset: *mut AAsset,
1710         outStart: *mut off64_t,
1711         outLength: *mut off64_t,
1712     ) -> ::std::os::raw::c_int;
1713 }
1714 extern "C" {
1715     pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
1716 }
1717 pub type va_list = __builtin_va_list;
1718 pub type __gnuc_va_list = __builtin_va_list;
1719 pub type jboolean = u8;
1720 pub type jbyte = i8;
1721 pub type jchar = u16;
1722 pub type jshort = i16;
1723 pub type jint = i32;
1724 pub type jlong = i64;
1725 pub type jfloat = f32;
1726 pub type jdouble = f64;
1727 pub type jsize = jint;
1728 pub type jobject = *mut ::std::os::raw::c_void;
1729 pub type jclass = jobject;
1730 pub type jstring = jobject;
1731 pub type jarray = jobject;
1732 pub type jobjectArray = jarray;
1733 pub type jbooleanArray = jarray;
1734 pub type jbyteArray = jarray;
1735 pub type jcharArray = jarray;
1736 pub type jshortArray = jarray;
1737 pub type jintArray = jarray;
1738 pub type jlongArray = jarray;
1739 pub type jfloatArray = jarray;
1740 pub type jdoubleArray = jarray;
1741 pub type jthrowable = jobject;
1742 pub type jweak = jobject;
1743 #[repr(C)]
1744 #[derive(Debug, Copy, Clone)]
1745 pub struct _jfieldID {
1746     _unused: [u8; 0],
1747 }
1748 pub type jfieldID = *mut _jfieldID;
1749 #[repr(C)]
1750 #[derive(Debug, Copy, Clone)]
1751 pub struct _jmethodID {
1752     _unused: [u8; 0],
1753 }
1754 pub type jmethodID = *mut _jmethodID;
1755 #[repr(C)]
1756 #[derive(Copy, Clone)]
1757 pub union jvalue {
1758     pub z: jboolean,
1759     pub b: jbyte,
1760     pub c: jchar,
1761     pub s: jshort,
1762     pub i: jint,
1763     pub j: jlong,
1764     pub f: jfloat,
1765     pub d: jdouble,
1766     pub l: jobject,
1767 }
1768 #[test]
1769 fn bindgen_test_layout_jvalue() {
1770     assert_eq!(
1771         ::std::mem::size_of::<jvalue>(),
1772         8usize,
1773         concat!("Size of: ", stringify!(jvalue))
1774     );
1775     assert_eq!(
1776         ::std::mem::align_of::<jvalue>(),
1777         8usize,
1778         concat!("Alignment of ", stringify!(jvalue))
1779     );
1780     assert_eq!(
1781         unsafe { &(*(::std::ptr::null::<jvalue>())).z as *const _ as usize },
1782         0usize,
1783         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(z))
1784     );
1785     assert_eq!(
1786         unsafe { &(*(::std::ptr::null::<jvalue>())).b as *const _ as usize },
1787         0usize,
1788         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(b))
1789     );
1790     assert_eq!(
1791         unsafe { &(*(::std::ptr::null::<jvalue>())).c as *const _ as usize },
1792         0usize,
1793         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(c))
1794     );
1795     assert_eq!(
1796         unsafe { &(*(::std::ptr::null::<jvalue>())).s as *const _ as usize },
1797         0usize,
1798         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(s))
1799     );
1800     assert_eq!(
1801         unsafe { &(*(::std::ptr::null::<jvalue>())).i as *const _ as usize },
1802         0usize,
1803         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(i))
1804     );
1805     assert_eq!(
1806         unsafe { &(*(::std::ptr::null::<jvalue>())).j as *const _ as usize },
1807         0usize,
1808         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(j))
1809     );
1810     assert_eq!(
1811         unsafe { &(*(::std::ptr::null::<jvalue>())).f as *const _ as usize },
1812         0usize,
1813         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(f))
1814     );
1815     assert_eq!(
1816         unsafe { &(*(::std::ptr::null::<jvalue>())).d as *const _ as usize },
1817         0usize,
1818         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(d))
1819     );
1820     assert_eq!(
1821         unsafe { &(*(::std::ptr::null::<jvalue>())).l as *const _ as usize },
1822         0usize,
1823         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(l))
1824     );
1825 }
1826 pub const jobjectRefType_JNIInvalidRefType: jobjectRefType = 0;
1827 pub const jobjectRefType_JNILocalRefType: jobjectRefType = 1;
1828 pub const jobjectRefType_JNIGlobalRefType: jobjectRefType = 2;
1829 pub const jobjectRefType_JNIWeakGlobalRefType: jobjectRefType = 3;
1830 pub type jobjectRefType = ::std::os::raw::c_uint;
1831 #[repr(C)]
1832 #[derive(Debug, Copy, Clone)]
1833 pub struct JNINativeMethod {
1834     pub name: *const ::std::os::raw::c_char,
1835     pub signature: *const ::std::os::raw::c_char,
1836     pub fnPtr: *mut ::std::os::raw::c_void,
1837 }
1838 #[test]
1839 fn bindgen_test_layout_JNINativeMethod() {
1840     assert_eq!(
1841         ::std::mem::size_of::<JNINativeMethod>(),
1842         12usize,
1843         concat!("Size of: ", stringify!(JNINativeMethod))
1844     );
1845     assert_eq!(
1846         ::std::mem::align_of::<JNINativeMethod>(),
1847         4usize,
1848         concat!("Alignment of ", stringify!(JNINativeMethod))
1849     );
1850     assert_eq!(
1851         unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).name as *const _ as usize },
1852         0usize,
1853         concat!(
1854             "Offset of field: ",
1855             stringify!(JNINativeMethod),
1856             "::",
1857             stringify!(name)
1858         )
1859     );
1860     assert_eq!(
1861         unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).signature as *const _ as usize },
1862         4usize,
1863         concat!(
1864             "Offset of field: ",
1865             stringify!(JNINativeMethod),
1866             "::",
1867             stringify!(signature)
1868         )
1869     );
1870     assert_eq!(
1871         unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).fnPtr as *const _ as usize },
1872         8usize,
1873         concat!(
1874             "Offset of field: ",
1875             stringify!(JNINativeMethod),
1876             "::",
1877             stringify!(fnPtr)
1878         )
1879     );
1880 }
1881 pub type C_JNIEnv = *const JNINativeInterface;
1882 pub type JNIEnv = *const JNINativeInterface;
1883 pub type JavaVM = *const JNIInvokeInterface;
1884 #[repr(C)]
1885 #[derive(Debug, Copy, Clone)]
1886 pub struct JNINativeInterface {
1887     pub reserved0: *mut ::std::os::raw::c_void,
1888     pub reserved1: *mut ::std::os::raw::c_void,
1889     pub reserved2: *mut ::std::os::raw::c_void,
1890     pub reserved3: *mut ::std::os::raw::c_void,
1891     pub GetVersion: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jint>,
1892     pub DefineClass: ::std::option::Option<
1893         unsafe extern "C" fn(
1894             arg1: *mut JNIEnv,
1895             arg2: *const ::std::os::raw::c_char,
1896             arg3: jobject,
1897             arg4: *const jbyte,
1898             arg5: jsize,
1899         ) -> jclass,
1900     >,
1901     pub FindClass: ::std::option::Option<
1902         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jclass,
1903     >,
1904     pub FromReflectedMethod:
1905         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jmethodID>,
1906     pub FromReflectedField:
1907         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jfieldID>,
1908     pub ToReflectedMethod: ::std::option::Option<
1909         unsafe extern "C" fn(
1910             arg1: *mut JNIEnv,
1911             arg2: jclass,
1912             arg3: jmethodID,
1913             arg4: jboolean,
1914         ) -> jobject,
1915     >,
1916     pub GetSuperclass:
1917         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jclass>,
1918     pub IsAssignableFrom: ::std::option::Option<
1919         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jclass) -> jboolean,
1920     >,
1921     pub ToReflectedField: ::std::option::Option<
1922         unsafe extern "C" fn(
1923             arg1: *mut JNIEnv,
1924             arg2: jclass,
1925             arg3: jfieldID,
1926             arg4: jboolean,
1927         ) -> jobject,
1928     >,
1929     pub Throw:
1930         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jthrowable) -> jint>,
1931     pub ThrowNew: ::std::option::Option<
1932         unsafe extern "C" fn(
1933             arg1: *mut JNIEnv,
1934             arg2: jclass,
1935             arg3: *const ::std::os::raw::c_char,
1936         ) -> jint,
1937     >,
1938     pub ExceptionOccurred:
1939         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jthrowable>,
1940     pub ExceptionDescribe: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
1941     pub ExceptionClear: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
1942     pub FatalError: ::std::option::Option<
1943         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char),
1944     >,
1945     pub PushLocalFrame:
1946         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
1947     pub PopLocalFrame:
1948         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1949     pub NewGlobalRef:
1950         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1951     pub DeleteGlobalRef:
1952         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
1953     pub DeleteLocalRef:
1954         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
1955     pub IsSameObject: ::std::option::Option<
1956         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jobject) -> jboolean,
1957     >,
1958     pub NewLocalRef:
1959         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1960     pub EnsureLocalCapacity:
1961         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
1962     pub AllocObject:
1963         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jobject>,
1964     pub NewObject: ::std::option::Option<
1965         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
1966     >,
1967     pub NewObjectV: ::std::option::Option<
1968         unsafe extern "C" fn(
1969             arg1: *mut JNIEnv,
1970             arg2: jclass,
1971             arg3: jmethodID,
1972             arg4: va_list,
1973         ) -> jobject,
1974     >,
1975     pub NewObjectA: ::std::option::Option<
1976         unsafe extern "C" fn(
1977             arg1: *mut JNIEnv,
1978             arg2: jclass,
1979             arg3: jmethodID,
1980             arg4: *const jvalue,
1981         ) -> jobject,
1982     >,
1983     pub GetObjectClass:
1984         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jclass>,
1985     pub IsInstanceOf: ::std::option::Option<
1986         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass) -> jboolean,
1987     >,
1988     pub GetMethodID: ::std::option::Option<
1989         unsafe extern "C" fn(
1990             arg1: *mut JNIEnv,
1991             arg2: jclass,
1992             arg3: *const ::std::os::raw::c_char,
1993             arg4: *const ::std::os::raw::c_char,
1994         ) -> jmethodID,
1995     >,
1996     pub CallObjectMethod: ::std::option::Option<
1997         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jobject,
1998     >,
1999     pub CallObjectMethodV: ::std::option::Option<
2000         unsafe extern "C" fn(
2001             arg1: *mut JNIEnv,
2002             arg2: jobject,
2003             arg3: jmethodID,
2004             arg4: va_list,
2005         ) -> jobject,
2006     >,
2007     pub CallObjectMethodA: ::std::option::Option<
2008         unsafe extern "C" fn(
2009             arg1: *mut JNIEnv,
2010             arg2: jobject,
2011             arg3: jmethodID,
2012             arg4: *const jvalue,
2013         ) -> jobject,
2014     >,
2015     pub CallBooleanMethod: ::std::option::Option<
2016         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jboolean,
2017     >,
2018     pub CallBooleanMethodV: ::std::option::Option<
2019         unsafe extern "C" fn(
2020             arg1: *mut JNIEnv,
2021             arg2: jobject,
2022             arg3: jmethodID,
2023             arg4: va_list,
2024         ) -> jboolean,
2025     >,
2026     pub CallBooleanMethodA: ::std::option::Option<
2027         unsafe extern "C" fn(
2028             arg1: *mut JNIEnv,
2029             arg2: jobject,
2030             arg3: jmethodID,
2031             arg4: *const jvalue,
2032         ) -> jboolean,
2033     >,
2034     pub CallByteMethod: ::std::option::Option<
2035         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jbyte,
2036     >,
2037     pub CallByteMethodV: ::std::option::Option<
2038         unsafe extern "C" fn(
2039             arg1: *mut JNIEnv,
2040             arg2: jobject,
2041             arg3: jmethodID,
2042             arg4: va_list,
2043         ) -> jbyte,
2044     >,
2045     pub CallByteMethodA: ::std::option::Option<
2046         unsafe extern "C" fn(
2047             arg1: *mut JNIEnv,
2048             arg2: jobject,
2049             arg3: jmethodID,
2050             arg4: *const jvalue,
2051         ) -> jbyte,
2052     >,
2053     pub CallCharMethod: ::std::option::Option<
2054         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jchar,
2055     >,
2056     pub CallCharMethodV: ::std::option::Option<
2057         unsafe extern "C" fn(
2058             arg1: *mut JNIEnv,
2059             arg2: jobject,
2060             arg3: jmethodID,
2061             arg4: va_list,
2062         ) -> jchar,
2063     >,
2064     pub CallCharMethodA: ::std::option::Option<
2065         unsafe extern "C" fn(
2066             arg1: *mut JNIEnv,
2067             arg2: jobject,
2068             arg3: jmethodID,
2069             arg4: *const jvalue,
2070         ) -> jchar,
2071     >,
2072     pub CallShortMethod: ::std::option::Option<
2073         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jshort,
2074     >,
2075     pub CallShortMethodV: ::std::option::Option<
2076         unsafe extern "C" fn(
2077             arg1: *mut JNIEnv,
2078             arg2: jobject,
2079             arg3: jmethodID,
2080             arg4: va_list,
2081         ) -> jshort,
2082     >,
2083     pub CallShortMethodA: ::std::option::Option<
2084         unsafe extern "C" fn(
2085             arg1: *mut JNIEnv,
2086             arg2: jobject,
2087             arg3: jmethodID,
2088             arg4: *const jvalue,
2089         ) -> jshort,
2090     >,
2091     pub CallIntMethod: ::std::option::Option<
2092         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jint,
2093     >,
2094     pub CallIntMethodV: ::std::option::Option<
2095         unsafe extern "C" fn(
2096             arg1: *mut JNIEnv,
2097             arg2: jobject,
2098             arg3: jmethodID,
2099             arg4: va_list,
2100         ) -> jint,
2101     >,
2102     pub CallIntMethodA: ::std::option::Option<
2103         unsafe extern "C" fn(
2104             arg1: *mut JNIEnv,
2105             arg2: jobject,
2106             arg3: jmethodID,
2107             arg4: *const jvalue,
2108         ) -> jint,
2109     >,
2110     pub CallLongMethod: ::std::option::Option<
2111         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jlong,
2112     >,
2113     pub CallLongMethodV: ::std::option::Option<
2114         unsafe extern "C" fn(
2115             arg1: *mut JNIEnv,
2116             arg2: jobject,
2117             arg3: jmethodID,
2118             arg4: va_list,
2119         ) -> jlong,
2120     >,
2121     pub CallLongMethodA: ::std::option::Option<
2122         unsafe extern "C" fn(
2123             arg1: *mut JNIEnv,
2124             arg2: jobject,
2125             arg3: jmethodID,
2126             arg4: *const jvalue,
2127         ) -> jlong,
2128     >,
2129     pub CallFloatMethod: ::std::option::Option<
2130         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jfloat,
2131     >,
2132     pub CallFloatMethodV: ::std::option::Option<
2133         unsafe extern "C" fn(
2134             arg1: *mut JNIEnv,
2135             arg2: jobject,
2136             arg3: jmethodID,
2137             arg4: va_list,
2138         ) -> jfloat,
2139     >,
2140     pub CallFloatMethodA: ::std::option::Option<
2141         unsafe extern "C" fn(
2142             arg1: *mut JNIEnv,
2143             arg2: jobject,
2144             arg3: jmethodID,
2145             arg4: *const jvalue,
2146         ) -> jfloat,
2147     >,
2148     pub CallDoubleMethod: ::std::option::Option<
2149         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jdouble,
2150     >,
2151     pub CallDoubleMethodV: ::std::option::Option<
2152         unsafe extern "C" fn(
2153             arg1: *mut JNIEnv,
2154             arg2: jobject,
2155             arg3: jmethodID,
2156             arg4: va_list,
2157         ) -> jdouble,
2158     >,
2159     pub CallDoubleMethodA: ::std::option::Option<
2160         unsafe extern "C" fn(
2161             arg1: *mut JNIEnv,
2162             arg2: jobject,
2163             arg3: jmethodID,
2164             arg4: *const jvalue,
2165         ) -> jdouble,
2166     >,
2167     pub CallVoidMethod: ::std::option::Option<
2168         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...),
2169     >,
2170     pub CallVoidMethodV: ::std::option::Option<
2171         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, arg4: va_list),
2172     >,
2173     pub CallVoidMethodA: ::std::option::Option<
2174         unsafe extern "C" fn(
2175             arg1: *mut JNIEnv,
2176             arg2: jobject,
2177             arg3: jmethodID,
2178             arg4: *const jvalue,
2179         ),
2180     >,
2181     pub CallNonvirtualObjectMethod: ::std::option::Option<
2182         unsafe extern "C" fn(
2183             arg1: *mut JNIEnv,
2184             arg2: jobject,
2185             arg3: jclass,
2186             arg4: jmethodID,
2187             ...
2188         ) -> jobject,
2189     >,
2190     pub CallNonvirtualObjectMethodV: ::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         ) -> jobject,
2198     >,
2199     pub CallNonvirtualObjectMethodA: ::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         ) -> jobject,
2207     >,
2208     pub CallNonvirtualBooleanMethod: ::std::option::Option<
2209         unsafe extern "C" fn(
2210             arg1: *mut JNIEnv,
2211             arg2: jobject,
2212             arg3: jclass,
2213             arg4: jmethodID,
2214             ...
2215         ) -> jboolean,
2216     >,
2217     pub CallNonvirtualBooleanMethodV: ::std::option::Option<
2218         unsafe extern "C" fn(
2219             arg1: *mut JNIEnv,
2220             arg2: jobject,
2221             arg3: jclass,
2222             arg4: jmethodID,
2223             arg5: va_list,
2224         ) -> jboolean,
2225     >,
2226     pub CallNonvirtualBooleanMethodA: ::std::option::Option<
2227         unsafe extern "C" fn(
2228             arg1: *mut JNIEnv,
2229             arg2: jobject,
2230             arg3: jclass,
2231             arg4: jmethodID,
2232             arg5: *const jvalue,
2233         ) -> jboolean,
2234     >,
2235     pub CallNonvirtualByteMethod: ::std::option::Option<
2236         unsafe extern "C" fn(
2237             arg1: *mut JNIEnv,
2238             arg2: jobject,
2239             arg3: jclass,
2240             arg4: jmethodID,
2241             ...
2242         ) -> jbyte,
2243     >,
2244     pub CallNonvirtualByteMethodV: ::std::option::Option<
2245         unsafe extern "C" fn(
2246             arg1: *mut JNIEnv,
2247             arg2: jobject,
2248             arg3: jclass,
2249             arg4: jmethodID,
2250             arg5: va_list,
2251         ) -> jbyte,
2252     >,
2253     pub CallNonvirtualByteMethodA: ::std::option::Option<
2254         unsafe extern "C" fn(
2255             arg1: *mut JNIEnv,
2256             arg2: jobject,
2257             arg3: jclass,
2258             arg4: jmethodID,
2259             arg5: *const jvalue,
2260         ) -> jbyte,
2261     >,
2262     pub CallNonvirtualCharMethod: ::std::option::Option<
2263         unsafe extern "C" fn(
2264             arg1: *mut JNIEnv,
2265             arg2: jobject,
2266             arg3: jclass,
2267             arg4: jmethodID,
2268             ...
2269         ) -> jchar,
2270     >,
2271     pub CallNonvirtualCharMethodV: ::std::option::Option<
2272         unsafe extern "C" fn(
2273             arg1: *mut JNIEnv,
2274             arg2: jobject,
2275             arg3: jclass,
2276             arg4: jmethodID,
2277             arg5: va_list,
2278         ) -> jchar,
2279     >,
2280     pub CallNonvirtualCharMethodA: ::std::option::Option<
2281         unsafe extern "C" fn(
2282             arg1: *mut JNIEnv,
2283             arg2: jobject,
2284             arg3: jclass,
2285             arg4: jmethodID,
2286             arg5: *const jvalue,
2287         ) -> jchar,
2288     >,
2289     pub CallNonvirtualShortMethod: ::std::option::Option<
2290         unsafe extern "C" fn(
2291             arg1: *mut JNIEnv,
2292             arg2: jobject,
2293             arg3: jclass,
2294             arg4: jmethodID,
2295             ...
2296         ) -> jshort,
2297     >,
2298     pub CallNonvirtualShortMethodV: ::std::option::Option<
2299         unsafe extern "C" fn(
2300             arg1: *mut JNIEnv,
2301             arg2: jobject,
2302             arg3: jclass,
2303             arg4: jmethodID,
2304             arg5: va_list,
2305         ) -> jshort,
2306     >,
2307     pub CallNonvirtualShortMethodA: ::std::option::Option<
2308         unsafe extern "C" fn(
2309             arg1: *mut JNIEnv,
2310             arg2: jobject,
2311             arg3: jclass,
2312             arg4: jmethodID,
2313             arg5: *const jvalue,
2314         ) -> jshort,
2315     >,
2316     pub CallNonvirtualIntMethod: ::std::option::Option<
2317         unsafe extern "C" fn(
2318             arg1: *mut JNIEnv,
2319             arg2: jobject,
2320             arg3: jclass,
2321             arg4: jmethodID,
2322             ...
2323         ) -> jint,
2324     >,
2325     pub CallNonvirtualIntMethodV: ::std::option::Option<
2326         unsafe extern "C" fn(
2327             arg1: *mut JNIEnv,
2328             arg2: jobject,
2329             arg3: jclass,
2330             arg4: jmethodID,
2331             arg5: va_list,
2332         ) -> jint,
2333     >,
2334     pub CallNonvirtualIntMethodA: ::std::option::Option<
2335         unsafe extern "C" fn(
2336             arg1: *mut JNIEnv,
2337             arg2: jobject,
2338             arg3: jclass,
2339             arg4: jmethodID,
2340             arg5: *const jvalue,
2341         ) -> jint,
2342     >,
2343     pub CallNonvirtualLongMethod: ::std::option::Option<
2344         unsafe extern "C" fn(
2345             arg1: *mut JNIEnv,
2346             arg2: jobject,
2347             arg3: jclass,
2348             arg4: jmethodID,
2349             ...
2350         ) -> jlong,
2351     >,
2352     pub CallNonvirtualLongMethodV: ::std::option::Option<
2353         unsafe extern "C" fn(
2354             arg1: *mut JNIEnv,
2355             arg2: jobject,
2356             arg3: jclass,
2357             arg4: jmethodID,
2358             arg5: va_list,
2359         ) -> jlong,
2360     >,
2361     pub CallNonvirtualLongMethodA: ::std::option::Option<
2362         unsafe extern "C" fn(
2363             arg1: *mut JNIEnv,
2364             arg2: jobject,
2365             arg3: jclass,
2366             arg4: jmethodID,
2367             arg5: *const jvalue,
2368         ) -> jlong,
2369     >,
2370     pub CallNonvirtualFloatMethod: ::std::option::Option<
2371         unsafe extern "C" fn(
2372             arg1: *mut JNIEnv,
2373             arg2: jobject,
2374             arg3: jclass,
2375             arg4: jmethodID,
2376             ...
2377         ) -> jfloat,
2378     >,
2379     pub CallNonvirtualFloatMethodV: ::std::option::Option<
2380         unsafe extern "C" fn(
2381             arg1: *mut JNIEnv,
2382             arg2: jobject,
2383             arg3: jclass,
2384             arg4: jmethodID,
2385             arg5: va_list,
2386         ) -> jfloat,
2387     >,
2388     pub CallNonvirtualFloatMethodA: ::std::option::Option<
2389         unsafe extern "C" fn(
2390             arg1: *mut JNIEnv,
2391             arg2: jobject,
2392             arg3: jclass,
2393             arg4: jmethodID,
2394             arg5: *const jvalue,
2395         ) -> jfloat,
2396     >,
2397     pub CallNonvirtualDoubleMethod: ::std::option::Option<
2398         unsafe extern "C" fn(
2399             arg1: *mut JNIEnv,
2400             arg2: jobject,
2401             arg3: jclass,
2402             arg4: jmethodID,
2403             ...
2404         ) -> jdouble,
2405     >,
2406     pub CallNonvirtualDoubleMethodV: ::std::option::Option<
2407         unsafe extern "C" fn(
2408             arg1: *mut JNIEnv,
2409             arg2: jobject,
2410             arg3: jclass,
2411             arg4: jmethodID,
2412             arg5: va_list,
2413         ) -> jdouble,
2414     >,
2415     pub CallNonvirtualDoubleMethodA: ::std::option::Option<
2416         unsafe extern "C" fn(
2417             arg1: *mut JNIEnv,
2418             arg2: jobject,
2419             arg3: jclass,
2420             arg4: jmethodID,
2421             arg5: *const jvalue,
2422         ) -> jdouble,
2423     >,
2424     pub CallNonvirtualVoidMethod: ::std::option::Option<
2425         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass, arg4: jmethodID, ...),
2426     >,
2427     pub CallNonvirtualVoidMethodV: ::std::option::Option<
2428         unsafe extern "C" fn(
2429             arg1: *mut JNIEnv,
2430             arg2: jobject,
2431             arg3: jclass,
2432             arg4: jmethodID,
2433             arg5: va_list,
2434         ),
2435     >,
2436     pub CallNonvirtualVoidMethodA: ::std::option::Option<
2437         unsafe extern "C" fn(
2438             arg1: *mut JNIEnv,
2439             arg2: jobject,
2440             arg3: jclass,
2441             arg4: jmethodID,
2442             arg5: *const jvalue,
2443         ),
2444     >,
2445     pub GetFieldID: ::std::option::Option<
2446         unsafe extern "C" fn(
2447             arg1: *mut JNIEnv,
2448             arg2: jclass,
2449             arg3: *const ::std::os::raw::c_char,
2450             arg4: *const ::std::os::raw::c_char,
2451         ) -> jfieldID,
2452     >,
2453     pub GetObjectField: ::std::option::Option<
2454         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jobject,
2455     >,
2456     pub GetBooleanField: ::std::option::Option<
2457         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jboolean,
2458     >,
2459     pub GetByteField: ::std::option::Option<
2460         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jbyte,
2461     >,
2462     pub GetCharField: ::std::option::Option<
2463         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jchar,
2464     >,
2465     pub GetShortField: ::std::option::Option<
2466         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jshort,
2467     >,
2468     pub GetIntField: ::std::option::Option<
2469         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jint,
2470     >,
2471     pub GetLongField: ::std::option::Option<
2472         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jlong,
2473     >,
2474     pub GetFloatField: ::std::option::Option<
2475         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jfloat,
2476     >,
2477     pub GetDoubleField: ::std::option::Option<
2478         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jdouble,
2479     >,
2480     pub SetObjectField: ::std::option::Option<
2481         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jobject),
2482     >,
2483     pub SetBooleanField: ::std::option::Option<
2484         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jboolean),
2485     >,
2486     pub SetByteField: ::std::option::Option<
2487         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jbyte),
2488     >,
2489     pub SetCharField: ::std::option::Option<
2490         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jchar),
2491     >,
2492     pub SetShortField: ::std::option::Option<
2493         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jshort),
2494     >,
2495     pub SetIntField: ::std::option::Option<
2496         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jint),
2497     >,
2498     pub SetLongField: ::std::option::Option<
2499         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jlong),
2500     >,
2501     pub SetFloatField: ::std::option::Option<
2502         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jfloat),
2503     >,
2504     pub SetDoubleField: ::std::option::Option<
2505         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jdouble),
2506     >,
2507     pub GetStaticMethodID: ::std::option::Option<
2508         unsafe extern "C" fn(
2509             arg1: *mut JNIEnv,
2510             arg2: jclass,
2511             arg3: *const ::std::os::raw::c_char,
2512             arg4: *const ::std::os::raw::c_char,
2513         ) -> jmethodID,
2514     >,
2515     pub CallStaticObjectMethod: ::std::option::Option<
2516         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
2517     >,
2518     pub CallStaticObjectMethodV: ::std::option::Option<
2519         unsafe extern "C" fn(
2520             arg1: *mut JNIEnv,
2521             arg2: jclass,
2522             arg3: jmethodID,
2523             arg4: va_list,
2524         ) -> jobject,
2525     >,
2526     pub CallStaticObjectMethodA: ::std::option::Option<
2527         unsafe extern "C" fn(
2528             arg1: *mut JNIEnv,
2529             arg2: jclass,
2530             arg3: jmethodID,
2531             arg4: *const jvalue,
2532         ) -> jobject,
2533     >,
2534     pub CallStaticBooleanMethod: ::std::option::Option<
2535         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jboolean,
2536     >,
2537     pub CallStaticBooleanMethodV: ::std::option::Option<
2538         unsafe extern "C" fn(
2539             arg1: *mut JNIEnv,
2540             arg2: jclass,
2541             arg3: jmethodID,
2542             arg4: va_list,
2543         ) -> jboolean,
2544     >,
2545     pub CallStaticBooleanMethodA: ::std::option::Option<
2546         unsafe extern "C" fn(
2547             arg1: *mut JNIEnv,
2548             arg2: jclass,
2549             arg3: jmethodID,
2550             arg4: *const jvalue,
2551         ) -> jboolean,
2552     >,
2553     pub CallStaticByteMethod: ::std::option::Option<
2554         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jbyte,
2555     >,
2556     pub CallStaticByteMethodV: ::std::option::Option<
2557         unsafe extern "C" fn(
2558             arg1: *mut JNIEnv,
2559             arg2: jclass,
2560             arg3: jmethodID,
2561             arg4: va_list,
2562         ) -> jbyte,
2563     >,
2564     pub CallStaticByteMethodA: ::std::option::Option<
2565         unsafe extern "C" fn(
2566             arg1: *mut JNIEnv,
2567             arg2: jclass,
2568             arg3: jmethodID,
2569             arg4: *const jvalue,
2570         ) -> jbyte,
2571     >,
2572     pub CallStaticCharMethod: ::std::option::Option<
2573         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jchar,
2574     >,
2575     pub CallStaticCharMethodV: ::std::option::Option<
2576         unsafe extern "C" fn(
2577             arg1: *mut JNIEnv,
2578             arg2: jclass,
2579             arg3: jmethodID,
2580             arg4: va_list,
2581         ) -> jchar,
2582     >,
2583     pub CallStaticCharMethodA: ::std::option::Option<
2584         unsafe extern "C" fn(
2585             arg1: *mut JNIEnv,
2586             arg2: jclass,
2587             arg3: jmethodID,
2588             arg4: *const jvalue,
2589         ) -> jchar,
2590     >,
2591     pub CallStaticShortMethod: ::std::option::Option<
2592         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jshort,
2593     >,
2594     pub CallStaticShortMethodV: ::std::option::Option<
2595         unsafe extern "C" fn(
2596             arg1: *mut JNIEnv,
2597             arg2: jclass,
2598             arg3: jmethodID,
2599             arg4: va_list,
2600         ) -> jshort,
2601     >,
2602     pub CallStaticShortMethodA: ::std::option::Option<
2603         unsafe extern "C" fn(
2604             arg1: *mut JNIEnv,
2605             arg2: jclass,
2606             arg3: jmethodID,
2607             arg4: *const jvalue,
2608         ) -> jshort,
2609     >,
2610     pub CallStaticIntMethod: ::std::option::Option<
2611         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jint,
2612     >,
2613     pub CallStaticIntMethodV: ::std::option::Option<
2614         unsafe extern "C" fn(
2615             arg1: *mut JNIEnv,
2616             arg2: jclass,
2617             arg3: jmethodID,
2618             arg4: va_list,
2619         ) -> jint,
2620     >,
2621     pub CallStaticIntMethodA: ::std::option::Option<
2622         unsafe extern "C" fn(
2623             arg1: *mut JNIEnv,
2624             arg2: jclass,
2625             arg3: jmethodID,
2626             arg4: *const jvalue,
2627         ) -> jint,
2628     >,
2629     pub CallStaticLongMethod: ::std::option::Option<
2630         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jlong,
2631     >,
2632     pub CallStaticLongMethodV: ::std::option::Option<
2633         unsafe extern "C" fn(
2634             arg1: *mut JNIEnv,
2635             arg2: jclass,
2636             arg3: jmethodID,
2637             arg4: va_list,
2638         ) -> jlong,
2639     >,
2640     pub CallStaticLongMethodA: ::std::option::Option<
2641         unsafe extern "C" fn(
2642             arg1: *mut JNIEnv,
2643             arg2: jclass,
2644             arg3: jmethodID,
2645             arg4: *const jvalue,
2646         ) -> jlong,
2647     >,
2648     pub CallStaticFloatMethod: ::std::option::Option<
2649         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jfloat,
2650     >,
2651     pub CallStaticFloatMethodV: ::std::option::Option<
2652         unsafe extern "C" fn(
2653             arg1: *mut JNIEnv,
2654             arg2: jclass,
2655             arg3: jmethodID,
2656             arg4: va_list,
2657         ) -> jfloat,
2658     >,
2659     pub CallStaticFloatMethodA: ::std::option::Option<
2660         unsafe extern "C" fn(
2661             arg1: *mut JNIEnv,
2662             arg2: jclass,
2663             arg3: jmethodID,
2664             arg4: *const jvalue,
2665         ) -> jfloat,
2666     >,
2667     pub CallStaticDoubleMethod: ::std::option::Option<
2668         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jdouble,
2669     >,
2670     pub CallStaticDoubleMethodV: ::std::option::Option<
2671         unsafe extern "C" fn(
2672             arg1: *mut JNIEnv,
2673             arg2: jclass,
2674             arg3: jmethodID,
2675             arg4: va_list,
2676         ) -> jdouble,
2677     >,
2678     pub CallStaticDoubleMethodA: ::std::option::Option<
2679         unsafe extern "C" fn(
2680             arg1: *mut JNIEnv,
2681             arg2: jclass,
2682             arg3: jmethodID,
2683             arg4: *const jvalue,
2684         ) -> jdouble,
2685     >,
2686     pub CallStaticVoidMethod: ::std::option::Option<
2687         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...),
2688     >,
2689     pub CallStaticVoidMethodV: ::std::option::Option<
2690         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: va_list),
2691     >,
2692     pub CallStaticVoidMethodA: ::std::option::Option<
2693         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: *const jvalue),
2694     >,
2695     pub GetStaticFieldID: ::std::option::Option<
2696         unsafe extern "C" fn(
2697             arg1: *mut JNIEnv,
2698             arg2: jclass,
2699             arg3: *const ::std::os::raw::c_char,
2700             arg4: *const ::std::os::raw::c_char,
2701         ) -> jfieldID,
2702     >,
2703     pub GetStaticObjectField: ::std::option::Option<
2704         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jobject,
2705     >,
2706     pub GetStaticBooleanField: ::std::option::Option<
2707         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jboolean,
2708     >,
2709     pub GetStaticByteField: ::std::option::Option<
2710         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jbyte,
2711     >,
2712     pub GetStaticCharField: ::std::option::Option<
2713         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jchar,
2714     >,
2715     pub GetStaticShortField: ::std::option::Option<
2716         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jshort,
2717     >,
2718     pub GetStaticIntField: ::std::option::Option<
2719         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jint,
2720     >,
2721     pub GetStaticLongField: ::std::option::Option<
2722         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jlong,
2723     >,
2724     pub GetStaticFloatField: ::std::option::Option<
2725         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jfloat,
2726     >,
2727     pub GetStaticDoubleField: ::std::option::Option<
2728         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jdouble,
2729     >,
2730     pub SetStaticObjectField: ::std::option::Option<
2731         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jobject),
2732     >,
2733     pub SetStaticBooleanField: ::std::option::Option<
2734         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jboolean),
2735     >,
2736     pub SetStaticByteField: ::std::option::Option<
2737         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jbyte),
2738     >,
2739     pub SetStaticCharField: ::std::option::Option<
2740         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jchar),
2741     >,
2742     pub SetStaticShortField: ::std::option::Option<
2743         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jshort),
2744     >,
2745     pub SetStaticIntField: ::std::option::Option<
2746         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jint),
2747     >,
2748     pub SetStaticLongField: ::std::option::Option<
2749         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jlong),
2750     >,
2751     pub SetStaticFloatField: ::std::option::Option<
2752         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jfloat),
2753     >,
2754     pub SetStaticDoubleField: ::std::option::Option<
2755         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jdouble),
2756     >,
2757     pub NewString: ::std::option::Option<
2758         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const jchar, arg3: jsize) -> jstring,
2759     >,
2760     pub GetStringLength:
2761         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
2762     pub GetStringChars: ::std::option::Option<
2763         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
2764     >,
2765     pub ReleaseStringChars: ::std::option::Option<
2766         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
2767     >,
2768     pub NewStringUTF: ::std::option::Option<
2769         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jstring,
2770     >,
2771     pub GetStringUTFLength:
2772         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
2773     pub GetStringUTFChars: ::std::option::Option<
2774         unsafe extern "C" fn(
2775             arg1: *mut JNIEnv,
2776             arg2: jstring,
2777             arg3: *mut jboolean,
2778         ) -> *const ::std::os::raw::c_char,
2779     >,
2780     pub ReleaseStringUTFChars: ::std::option::Option<
2781         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const ::std::os::raw::c_char),
2782     >,
2783     pub GetArrayLength:
2784         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jarray) -> jsize>,
2785     pub NewObjectArray: ::std::option::Option<
2786         unsafe extern "C" fn(
2787             arg1: *mut JNIEnv,
2788             arg2: jsize,
2789             arg3: jclass,
2790             arg4: jobject,
2791         ) -> jobjectArray,
2792     >,
2793     pub GetObjectArrayElement: ::std::option::Option<
2794         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize) -> jobject,
2795     >,
2796     pub SetObjectArrayElement: ::std::option::Option<
2797         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize, arg4: jobject),
2798     >,
2799     pub NewBooleanArray: ::std::option::Option<
2800         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbooleanArray,
2801     >,
2802     pub NewByteArray:
2803         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbyteArray>,
2804     pub NewCharArray:
2805         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jcharArray>,
2806     pub NewShortArray:
2807         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jshortArray>,
2808     pub NewIntArray:
2809         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jintArray>,
2810     pub NewLongArray:
2811         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jlongArray>,
2812     pub NewFloatArray:
2813         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jfloatArray>,
2814     pub NewDoubleArray:
2815         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jdoubleArray>,
2816     pub GetBooleanArrayElements: ::std::option::Option<
2817         unsafe extern "C" fn(
2818             arg1: *mut JNIEnv,
2819             arg2: jbooleanArray,
2820             arg3: *mut jboolean,
2821         ) -> *mut jboolean,
2822     >,
2823     pub GetByteArrayElements: ::std::option::Option<
2824         unsafe extern "C" fn(
2825             arg1: *mut JNIEnv,
2826             arg2: jbyteArray,
2827             arg3: *mut jboolean,
2828         ) -> *mut jbyte,
2829     >,
2830     pub GetCharArrayElements: ::std::option::Option<
2831         unsafe extern "C" fn(
2832             arg1: *mut JNIEnv,
2833             arg2: jcharArray,
2834             arg3: *mut jboolean,
2835         ) -> *mut jchar,
2836     >,
2837     pub GetShortArrayElements: ::std::option::Option<
2838         unsafe extern "C" fn(
2839             arg1: *mut JNIEnv,
2840             arg2: jshortArray,
2841             arg3: *mut jboolean,
2842         ) -> *mut jshort,
2843     >,
2844     pub GetIntArrayElements: ::std::option::Option<
2845         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jboolean) -> *mut jint,
2846     >,
2847     pub GetLongArrayElements: ::std::option::Option<
2848         unsafe extern "C" fn(
2849             arg1: *mut JNIEnv,
2850             arg2: jlongArray,
2851             arg3: *mut jboolean,
2852         ) -> *mut jlong,
2853     >,
2854     pub GetFloatArrayElements: ::std::option::Option<
2855         unsafe extern "C" fn(
2856             arg1: *mut JNIEnv,
2857             arg2: jfloatArray,
2858             arg3: *mut jboolean,
2859         ) -> *mut jfloat,
2860     >,
2861     pub GetDoubleArrayElements: ::std::option::Option<
2862         unsafe extern "C" fn(
2863             arg1: *mut JNIEnv,
2864             arg2: jdoubleArray,
2865             arg3: *mut jboolean,
2866         ) -> *mut jdouble,
2867     >,
2868     pub ReleaseBooleanArrayElements: ::std::option::Option<
2869         unsafe extern "C" fn(
2870             arg1: *mut JNIEnv,
2871             arg2: jbooleanArray,
2872             arg3: *mut jboolean,
2873             arg4: jint,
2874         ),
2875     >,
2876     pub ReleaseByteArrayElements: ::std::option::Option<
2877         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jbyteArray, arg3: *mut jbyte, arg4: jint),
2878     >,
2879     pub ReleaseCharArrayElements: ::std::option::Option<
2880         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jcharArray, arg3: *mut jchar, arg4: jint),
2881     >,
2882     pub ReleaseShortArrayElements: ::std::option::Option<
2883         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jshortArray, arg3: *mut jshort, arg4: jint),
2884     >,
2885     pub ReleaseIntArrayElements: ::std::option::Option<
2886         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jint, arg4: jint),
2887     >,
2888     pub ReleaseLongArrayElements: ::std::option::Option<
2889         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jlongArray, arg3: *mut jlong, arg4: jint),
2890     >,
2891     pub ReleaseFloatArrayElements: ::std::option::Option<
2892         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jfloatArray, arg3: *mut jfloat, arg4: jint),
2893     >,
2894     pub ReleaseDoubleArrayElements: ::std::option::Option<
2895         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jdoubleArray, arg3: *mut jdouble, arg4: jint),
2896     >,
2897     pub GetBooleanArrayRegion: ::std::option::Option<
2898         unsafe extern "C" fn(
2899             arg1: *mut JNIEnv,
2900             arg2: jbooleanArray,
2901             arg3: jsize,
2902             arg4: jsize,
2903             arg5: *mut jboolean,
2904         ),
2905     >,
2906     pub GetByteArrayRegion: ::std::option::Option<
2907         unsafe extern "C" fn(
2908             arg1: *mut JNIEnv,
2909             arg2: jbyteArray,
2910             arg3: jsize,
2911             arg4: jsize,
2912             arg5: *mut jbyte,
2913         ),
2914     >,
2915     pub GetCharArrayRegion: ::std::option::Option<
2916         unsafe extern "C" fn(
2917             arg1: *mut JNIEnv,
2918             arg2: jcharArray,
2919             arg3: jsize,
2920             arg4: jsize,
2921             arg5: *mut jchar,
2922         ),
2923     >,
2924     pub GetShortArrayRegion: ::std::option::Option<
2925         unsafe extern "C" fn(
2926             arg1: *mut JNIEnv,
2927             arg2: jshortArray,
2928             arg3: jsize,
2929             arg4: jsize,
2930             arg5: *mut jshort,
2931         ),
2932     >,
2933     pub GetIntArrayRegion: ::std::option::Option<
2934         unsafe extern "C" fn(
2935             arg1: *mut JNIEnv,
2936             arg2: jintArray,
2937             arg3: jsize,
2938             arg4: jsize,
2939             arg5: *mut jint,
2940         ),
2941     >,
2942     pub GetLongArrayRegion: ::std::option::Option<
2943         unsafe extern "C" fn(
2944             arg1: *mut JNIEnv,
2945             arg2: jlongArray,
2946             arg3: jsize,
2947             arg4: jsize,
2948             arg5: *mut jlong,
2949         ),
2950     >,
2951     pub GetFloatArrayRegion: ::std::option::Option<
2952         unsafe extern "C" fn(
2953             arg1: *mut JNIEnv,
2954             arg2: jfloatArray,
2955             arg3: jsize,
2956             arg4: jsize,
2957             arg5: *mut jfloat,
2958         ),
2959     >,
2960     pub GetDoubleArrayRegion: ::std::option::Option<
2961         unsafe extern "C" fn(
2962             arg1: *mut JNIEnv,
2963             arg2: jdoubleArray,
2964             arg3: jsize,
2965             arg4: jsize,
2966             arg5: *mut jdouble,
2967         ),
2968     >,
2969     pub SetBooleanArrayRegion: ::std::option::Option<
2970         unsafe extern "C" fn(
2971             arg1: *mut JNIEnv,
2972             arg2: jbooleanArray,
2973             arg3: jsize,
2974             arg4: jsize,
2975             arg5: *const jboolean,
2976         ),
2977     >,
2978     pub SetByteArrayRegion: ::std::option::Option<
2979         unsafe extern "C" fn(
2980             arg1: *mut JNIEnv,
2981             arg2: jbyteArray,
2982             arg3: jsize,
2983             arg4: jsize,
2984             arg5: *const jbyte,
2985         ),
2986     >,
2987     pub SetCharArrayRegion: ::std::option::Option<
2988         unsafe extern "C" fn(
2989             arg1: *mut JNIEnv,
2990             arg2: jcharArray,
2991             arg3: jsize,
2992             arg4: jsize,
2993             arg5: *const jchar,
2994         ),
2995     >,
2996     pub SetShortArrayRegion: ::std::option::Option<
2997         unsafe extern "C" fn(
2998             arg1: *mut JNIEnv,
2999             arg2: jshortArray,
3000             arg3: jsize,
3001             arg4: jsize,
3002             arg5: *const jshort,
3003         ),
3004     >,
3005     pub SetIntArrayRegion: ::std::option::Option<
3006         unsafe extern "C" fn(
3007             arg1: *mut JNIEnv,
3008             arg2: jintArray,
3009             arg3: jsize,
3010             arg4: jsize,
3011             arg5: *const jint,
3012         ),
3013     >,
3014     pub SetLongArrayRegion: ::std::option::Option<
3015         unsafe extern "C" fn(
3016             arg1: *mut JNIEnv,
3017             arg2: jlongArray,
3018             arg3: jsize,
3019             arg4: jsize,
3020             arg5: *const jlong,
3021         ),
3022     >,
3023     pub SetFloatArrayRegion: ::std::option::Option<
3024         unsafe extern "C" fn(
3025             arg1: *mut JNIEnv,
3026             arg2: jfloatArray,
3027             arg3: jsize,
3028             arg4: jsize,
3029             arg5: *const jfloat,
3030         ),
3031     >,
3032     pub SetDoubleArrayRegion: ::std::option::Option<
3033         unsafe extern "C" fn(
3034             arg1: *mut JNIEnv,
3035             arg2: jdoubleArray,
3036             arg3: jsize,
3037             arg4: jsize,
3038             arg5: *const jdouble,
3039         ),
3040     >,
3041     pub RegisterNatives: ::std::option::Option<
3042         unsafe extern "C" fn(
3043             arg1: *mut JNIEnv,
3044             arg2: jclass,
3045             arg3: *const JNINativeMethod,
3046             arg4: jint,
3047         ) -> jint,
3048     >,
3049     pub UnregisterNatives:
3050         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jint>,
3051     pub MonitorEnter:
3052         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
3053     pub MonitorExit:
3054         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
3055     pub GetJavaVM: ::std::option::Option<
3056         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *mut *mut JavaVM) -> jint,
3057     >,
3058     pub GetStringRegion: ::std::option::Option<
3059         unsafe extern "C" fn(
3060             arg1: *mut JNIEnv,
3061             arg2: jstring,
3062             arg3: jsize,
3063             arg4: jsize,
3064             arg5: *mut jchar,
3065         ),
3066     >,
3067     pub GetStringUTFRegion: ::std::option::Option<
3068         unsafe extern "C" fn(
3069             arg1: *mut JNIEnv,
3070             arg2: jstring,
3071             arg3: jsize,
3072             arg4: jsize,
3073             arg5: *mut ::std::os::raw::c_char,
3074         ),
3075     >,
3076     pub GetPrimitiveArrayCritical: ::std::option::Option<
3077         unsafe extern "C" fn(
3078             arg1: *mut JNIEnv,
3079             arg2: jarray,
3080             arg3: *mut jboolean,
3081         ) -> *mut ::std::os::raw::c_void,
3082     >,
3083     pub ReleasePrimitiveArrayCritical: ::std::option::Option<
3084         unsafe extern "C" fn(
3085             arg1: *mut JNIEnv,
3086             arg2: jarray,
3087             arg3: *mut ::std::os::raw::c_void,
3088             arg4: jint,
3089         ),
3090     >,
3091     pub GetStringCritical: ::std::option::Option<
3092         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
3093     >,
3094     pub ReleaseStringCritical: ::std::option::Option<
3095         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
3096     >,
3097     pub NewWeakGlobalRef:
3098         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jweak>,
3099     pub DeleteWeakGlobalRef:
3100         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jweak)>,
3101     pub ExceptionCheck: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jboolean>,
3102     pub NewDirectByteBuffer: ::std::option::Option<
3103         unsafe extern "C" fn(
3104             arg1: *mut JNIEnv,
3105             arg2: *mut ::std::os::raw::c_void,
3106             arg3: jlong,
3107         ) -> jobject,
3108     >,
3109     pub GetDirectBufferAddress: ::std::option::Option<
3110         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> *mut ::std::os::raw::c_void,
3111     >,
3112     pub GetDirectBufferCapacity:
3113         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jlong>,
3114     pub GetObjectRefType: ::std::option::Option<
3115         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobjectRefType,
3116     >,
3117 }
3118 #[test]
3119 fn bindgen_test_layout_JNINativeInterface() {
3120     assert_eq!(
3121         ::std::mem::size_of::<JNINativeInterface>(),
3122         932usize,
3123         concat!("Size of: ", stringify!(JNINativeInterface))
3124     );
3125     assert_eq!(
3126         ::std::mem::align_of::<JNINativeInterface>(),
3127         4usize,
3128         concat!("Alignment of ", stringify!(JNINativeInterface))
3129     );
3130     assert_eq!(
3131         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved0 as *const _ as usize },
3132         0usize,
3133         concat!(
3134             "Offset of field: ",
3135             stringify!(JNINativeInterface),
3136             "::",
3137             stringify!(reserved0)
3138         )
3139     );
3140     assert_eq!(
3141         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved1 as *const _ as usize },
3142         4usize,
3143         concat!(
3144             "Offset of field: ",
3145             stringify!(JNINativeInterface),
3146             "::",
3147             stringify!(reserved1)
3148         )
3149     );
3150     assert_eq!(
3151         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved2 as *const _ as usize },
3152         8usize,
3153         concat!(
3154             "Offset of field: ",
3155             stringify!(JNINativeInterface),
3156             "::",
3157             stringify!(reserved2)
3158         )
3159     );
3160     assert_eq!(
3161         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved3 as *const _ as usize },
3162         12usize,
3163         concat!(
3164             "Offset of field: ",
3165             stringify!(JNINativeInterface),
3166             "::",
3167             stringify!(reserved3)
3168         )
3169     );
3170     assert_eq!(
3171         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetVersion as *const _ as usize },
3172         16usize,
3173         concat!(
3174             "Offset of field: ",
3175             stringify!(JNINativeInterface),
3176             "::",
3177             stringify!(GetVersion)
3178         )
3179     );
3180     assert_eq!(
3181         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).DefineClass as *const _ as usize },
3182         20usize,
3183         concat!(
3184             "Offset of field: ",
3185             stringify!(JNINativeInterface),
3186             "::",
3187             stringify!(DefineClass)
3188         )
3189     );
3190     assert_eq!(
3191         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FindClass as *const _ as usize },
3192         24usize,
3193         concat!(
3194             "Offset of field: ",
3195             stringify!(JNINativeInterface),
3196             "::",
3197             stringify!(FindClass)
3198         )
3199     );
3200     assert_eq!(
3201         unsafe {
3202             &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedMethod as *const _ as usize
3203         },
3204         28usize,
3205         concat!(
3206             "Offset of field: ",
3207             stringify!(JNINativeInterface),
3208             "::",
3209             stringify!(FromReflectedMethod)
3210         )
3211     );
3212     assert_eq!(
3213         unsafe {
3214             &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedField as *const _ as usize
3215         },
3216         32usize,
3217         concat!(
3218             "Offset of field: ",
3219             stringify!(JNINativeInterface),
3220             "::",
3221             stringify!(FromReflectedField)
3222         )
3223     );
3224     assert_eq!(
3225         unsafe {
3226             &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedMethod as *const _ as usize
3227         },
3228         36usize,
3229         concat!(
3230             "Offset of field: ",
3231             stringify!(JNINativeInterface),
3232             "::",
3233             stringify!(ToReflectedMethod)
3234         )
3235     );
3236     assert_eq!(
3237         unsafe {
3238             &(*(::std::ptr::null::<JNINativeInterface>())).GetSuperclass as *const _ as usize
3239         },
3240         40usize,
3241         concat!(
3242             "Offset of field: ",
3243             stringify!(JNINativeInterface),
3244             "::",
3245             stringify!(GetSuperclass)
3246         )
3247     );
3248     assert_eq!(
3249         unsafe {
3250             &(*(::std::ptr::null::<JNINativeInterface>())).IsAssignableFrom as *const _ as usize
3251         },
3252         44usize,
3253         concat!(
3254             "Offset of field: ",
3255             stringify!(JNINativeInterface),
3256             "::",
3257             stringify!(IsAssignableFrom)
3258         )
3259     );
3260     assert_eq!(
3261         unsafe {
3262             &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedField as *const _ as usize
3263         },
3264         48usize,
3265         concat!(
3266             "Offset of field: ",
3267             stringify!(JNINativeInterface),
3268             "::",
3269             stringify!(ToReflectedField)
3270         )
3271     );
3272     assert_eq!(
3273         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).Throw as *const _ as usize },
3274         52usize,
3275         concat!(
3276             "Offset of field: ",
3277             stringify!(JNINativeInterface),
3278             "::",
3279             stringify!(Throw)
3280         )
3281     );
3282     assert_eq!(
3283         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).ThrowNew as *const _ as usize },
3284         56usize,
3285         concat!(
3286             "Offset of field: ",
3287             stringify!(JNINativeInterface),
3288             "::",
3289             stringify!(ThrowNew)
3290         )
3291     );
3292     assert_eq!(
3293         unsafe {
3294             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionOccurred as *const _ as usize
3295         },
3296         60usize,
3297         concat!(
3298             "Offset of field: ",
3299             stringify!(JNINativeInterface),
3300             "::",
3301             stringify!(ExceptionOccurred)
3302         )
3303     );
3304     assert_eq!(
3305         unsafe {
3306             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionDescribe as *const _ as usize
3307         },
3308         64usize,
3309         concat!(
3310             "Offset of field: ",
3311             stringify!(JNINativeInterface),
3312             "::",
3313             stringify!(ExceptionDescribe)
3314         )
3315     );
3316     assert_eq!(
3317         unsafe {
3318             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionClear as *const _ as usize
3319         },
3320         68usize,
3321         concat!(
3322             "Offset of field: ",
3323             stringify!(JNINativeInterface),
3324             "::",
3325             stringify!(ExceptionClear)
3326         )
3327     );
3328     assert_eq!(
3329         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FatalError as *const _ as usize },
3330         72usize,
3331         concat!(
3332             "Offset of field: ",
3333             stringify!(JNINativeInterface),
3334             "::",
3335             stringify!(FatalError)
3336         )
3337     );
3338     assert_eq!(
3339         unsafe {
3340             &(*(::std::ptr::null::<JNINativeInterface>())).PushLocalFrame as *const _ as usize
3341         },
3342         76usize,
3343         concat!(
3344             "Offset of field: ",
3345             stringify!(JNINativeInterface),
3346             "::",
3347             stringify!(PushLocalFrame)
3348         )
3349     );
3350     assert_eq!(
3351         unsafe {
3352             &(*(::std::ptr::null::<JNINativeInterface>())).PopLocalFrame as *const _ as usize
3353         },
3354         80usize,
3355         concat!(
3356             "Offset of field: ",
3357             stringify!(JNINativeInterface),
3358             "::",
3359             stringify!(PopLocalFrame)
3360         )
3361     );
3362     assert_eq!(
3363         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewGlobalRef as *const _ as usize },
3364         84usize,
3365         concat!(
3366             "Offset of field: ",
3367             stringify!(JNINativeInterface),
3368             "::",
3369             stringify!(NewGlobalRef)
3370         )
3371     );
3372     assert_eq!(
3373         unsafe {
3374             &(*(::std::ptr::null::<JNINativeInterface>())).DeleteGlobalRef as *const _ as usize
3375         },
3376         88usize,
3377         concat!(
3378             "Offset of field: ",
3379             stringify!(JNINativeInterface),
3380             "::",
3381             stringify!(DeleteGlobalRef)
3382         )
3383     );
3384     assert_eq!(
3385         unsafe {
3386             &(*(::std::ptr::null::<JNINativeInterface>())).DeleteLocalRef as *const _ as usize
3387         },
3388         92usize,
3389         concat!(
3390             "Offset of field: ",
3391             stringify!(JNINativeInterface),
3392             "::",
3393             stringify!(DeleteLocalRef)
3394         )
3395     );
3396     assert_eq!(
3397         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsSameObject as *const _ as usize },
3398         96usize,
3399         concat!(
3400             "Offset of field: ",
3401             stringify!(JNINativeInterface),
3402             "::",
3403             stringify!(IsSameObject)
3404         )
3405     );
3406     assert_eq!(
3407         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLocalRef as *const _ as usize },
3408         100usize,
3409         concat!(
3410             "Offset of field: ",
3411             stringify!(JNINativeInterface),
3412             "::",
3413             stringify!(NewLocalRef)
3414         )
3415     );
3416     assert_eq!(
3417         unsafe {
3418             &(*(::std::ptr::null::<JNINativeInterface>())).EnsureLocalCapacity as *const _ as usize
3419         },
3420         104usize,
3421         concat!(
3422             "Offset of field: ",
3423             stringify!(JNINativeInterface),
3424             "::",
3425             stringify!(EnsureLocalCapacity)
3426         )
3427     );
3428     assert_eq!(
3429         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).AllocObject as *const _ as usize },
3430         108usize,
3431         concat!(
3432             "Offset of field: ",
3433             stringify!(JNINativeInterface),
3434             "::",
3435             stringify!(AllocObject)
3436         )
3437     );
3438     assert_eq!(
3439         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObject as *const _ as usize },
3440         112usize,
3441         concat!(
3442             "Offset of field: ",
3443             stringify!(JNINativeInterface),
3444             "::",
3445             stringify!(NewObject)
3446         )
3447     );
3448     assert_eq!(
3449         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectV as *const _ as usize },
3450         116usize,
3451         concat!(
3452             "Offset of field: ",
3453             stringify!(JNINativeInterface),
3454             "::",
3455             stringify!(NewObjectV)
3456         )
3457     );
3458     assert_eq!(
3459         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectA as *const _ as usize },
3460         120usize,
3461         concat!(
3462             "Offset of field: ",
3463             stringify!(JNINativeInterface),
3464             "::",
3465             stringify!(NewObjectA)
3466         )
3467     );
3468     assert_eq!(
3469         unsafe {
3470             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectClass as *const _ as usize
3471         },
3472         124usize,
3473         concat!(
3474             "Offset of field: ",
3475             stringify!(JNINativeInterface),
3476             "::",
3477             stringify!(GetObjectClass)
3478         )
3479     );
3480     assert_eq!(
3481         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsInstanceOf as *const _ as usize },
3482         128usize,
3483         concat!(
3484             "Offset of field: ",
3485             stringify!(JNINativeInterface),
3486             "::",
3487             stringify!(IsInstanceOf)
3488         )
3489     );
3490     assert_eq!(
3491         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetMethodID as *const _ as usize },
3492         132usize,
3493         concat!(
3494             "Offset of field: ",
3495             stringify!(JNINativeInterface),
3496             "::",
3497             stringify!(GetMethodID)
3498         )
3499     );
3500     assert_eq!(
3501         unsafe {
3502             &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethod as *const _ as usize
3503         },
3504         136usize,
3505         concat!(
3506             "Offset of field: ",
3507             stringify!(JNINativeInterface),
3508             "::",
3509             stringify!(CallObjectMethod)
3510         )
3511     );
3512     assert_eq!(
3513         unsafe {
3514             &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodV as *const _ as usize
3515         },
3516         140usize,
3517         concat!(
3518             "Offset of field: ",
3519             stringify!(JNINativeInterface),
3520             "::",
3521             stringify!(CallObjectMethodV)
3522         )
3523     );
3524     assert_eq!(
3525         unsafe {
3526             &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodA as *const _ as usize
3527         },
3528         144usize,
3529         concat!(
3530             "Offset of field: ",
3531             stringify!(JNINativeInterface),
3532             "::",
3533             stringify!(CallObjectMethodA)
3534         )
3535     );
3536     assert_eq!(
3537         unsafe {
3538             &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethod as *const _ as usize
3539         },
3540         148usize,
3541         concat!(
3542             "Offset of field: ",
3543             stringify!(JNINativeInterface),
3544             "::",
3545             stringify!(CallBooleanMethod)
3546         )
3547     );
3548     assert_eq!(
3549         unsafe {
3550             &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodV as *const _ as usize
3551         },
3552         152usize,
3553         concat!(
3554             "Offset of field: ",
3555             stringify!(JNINativeInterface),
3556             "::",
3557             stringify!(CallBooleanMethodV)
3558         )
3559     );
3560     assert_eq!(
3561         unsafe {
3562             &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodA as *const _ as usize
3563         },
3564         156usize,
3565         concat!(
3566             "Offset of field: ",
3567             stringify!(JNINativeInterface),
3568             "::",
3569             stringify!(CallBooleanMethodA)
3570         )
3571     );
3572     assert_eq!(
3573         unsafe {
3574             &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethod as *const _ as usize
3575         },
3576         160usize,
3577         concat!(
3578             "Offset of field: ",
3579             stringify!(JNINativeInterface),
3580             "::",
3581             stringify!(CallByteMethod)
3582         )
3583     );
3584     assert_eq!(
3585         unsafe {
3586             &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodV as *const _ as usize
3587         },
3588         164usize,
3589         concat!(
3590             "Offset of field: ",
3591             stringify!(JNINativeInterface),
3592             "::",
3593             stringify!(CallByteMethodV)
3594         )
3595     );
3596     assert_eq!(
3597         unsafe {
3598             &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodA as *const _ as usize
3599         },
3600         168usize,
3601         concat!(
3602             "Offset of field: ",
3603             stringify!(JNINativeInterface),
3604             "::",
3605             stringify!(CallByteMethodA)
3606         )
3607     );
3608     assert_eq!(
3609         unsafe {
3610             &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethod as *const _ as usize
3611         },
3612         172usize,
3613         concat!(
3614             "Offset of field: ",
3615             stringify!(JNINativeInterface),
3616             "::",
3617             stringify!(CallCharMethod)
3618         )
3619     );
3620     assert_eq!(
3621         unsafe {
3622             &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodV as *const _ as usize
3623         },
3624         176usize,
3625         concat!(
3626             "Offset of field: ",
3627             stringify!(JNINativeInterface),
3628             "::",
3629             stringify!(CallCharMethodV)
3630         )
3631     );
3632     assert_eq!(
3633         unsafe {
3634             &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodA as *const _ as usize
3635         },
3636         180usize,
3637         concat!(
3638             "Offset of field: ",
3639             stringify!(JNINativeInterface),
3640             "::",
3641             stringify!(CallCharMethodA)
3642         )
3643     );
3644     assert_eq!(
3645         unsafe {
3646             &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethod as *const _ as usize
3647         },
3648         184usize,
3649         concat!(
3650             "Offset of field: ",
3651             stringify!(JNINativeInterface),
3652             "::",
3653             stringify!(CallShortMethod)
3654         )
3655     );
3656     assert_eq!(
3657         unsafe {
3658             &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodV as *const _ as usize
3659         },
3660         188usize,
3661         concat!(
3662             "Offset of field: ",
3663             stringify!(JNINativeInterface),
3664             "::",
3665             stringify!(CallShortMethodV)
3666         )
3667     );
3668     assert_eq!(
3669         unsafe {
3670             &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodA as *const _ as usize
3671         },
3672         192usize,
3673         concat!(
3674             "Offset of field: ",
3675             stringify!(JNINativeInterface),
3676             "::",
3677             stringify!(CallShortMethodA)
3678         )
3679     );
3680     assert_eq!(
3681         unsafe {
3682             &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethod as *const _ as usize
3683         },
3684         196usize,
3685         concat!(
3686             "Offset of field: ",
3687             stringify!(JNINativeInterface),
3688             "::",
3689             stringify!(CallIntMethod)
3690         )
3691     );
3692     assert_eq!(
3693         unsafe {
3694             &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodV as *const _ as usize
3695         },
3696         200usize,
3697         concat!(
3698             "Offset of field: ",
3699             stringify!(JNINativeInterface),
3700             "::",
3701             stringify!(CallIntMethodV)
3702         )
3703     );
3704     assert_eq!(
3705         unsafe {
3706             &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodA as *const _ as usize
3707         },
3708         204usize,
3709         concat!(
3710             "Offset of field: ",
3711             stringify!(JNINativeInterface),
3712             "::",
3713             stringify!(CallIntMethodA)
3714         )
3715     );
3716     assert_eq!(
3717         unsafe {
3718             &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethod as *const _ as usize
3719         },
3720         208usize,
3721         concat!(
3722             "Offset of field: ",
3723             stringify!(JNINativeInterface),
3724             "::",
3725             stringify!(CallLongMethod)
3726         )
3727     );
3728     assert_eq!(
3729         unsafe {
3730             &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodV as *const _ as usize
3731         },
3732         212usize,
3733         concat!(
3734             "Offset of field: ",
3735             stringify!(JNINativeInterface),
3736             "::",
3737             stringify!(CallLongMethodV)
3738         )
3739     );
3740     assert_eq!(
3741         unsafe {
3742             &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodA as *const _ as usize
3743         },
3744         216usize,
3745         concat!(
3746             "Offset of field: ",
3747             stringify!(JNINativeInterface),
3748             "::",
3749             stringify!(CallLongMethodA)
3750         )
3751     );
3752     assert_eq!(
3753         unsafe {
3754             &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethod as *const _ as usize
3755         },
3756         220usize,
3757         concat!(
3758             "Offset of field: ",
3759             stringify!(JNINativeInterface),
3760             "::",
3761             stringify!(CallFloatMethod)
3762         )
3763     );
3764     assert_eq!(
3765         unsafe {
3766             &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodV as *const _ as usize
3767         },
3768         224usize,
3769         concat!(
3770             "Offset of field: ",
3771             stringify!(JNINativeInterface),
3772             "::",
3773             stringify!(CallFloatMethodV)
3774         )
3775     );
3776     assert_eq!(
3777         unsafe {
3778             &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodA as *const _ as usize
3779         },
3780         228usize,
3781         concat!(
3782             "Offset of field: ",
3783             stringify!(JNINativeInterface),
3784             "::",
3785             stringify!(CallFloatMethodA)
3786         )
3787     );
3788     assert_eq!(
3789         unsafe {
3790             &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethod as *const _ as usize
3791         },
3792         232usize,
3793         concat!(
3794             "Offset of field: ",
3795             stringify!(JNINativeInterface),
3796             "::",
3797             stringify!(CallDoubleMethod)
3798         )
3799     );
3800     assert_eq!(
3801         unsafe {
3802             &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodV as *const _ as usize
3803         },
3804         236usize,
3805         concat!(
3806             "Offset of field: ",
3807             stringify!(JNINativeInterface),
3808             "::",
3809             stringify!(CallDoubleMethodV)
3810         )
3811     );
3812     assert_eq!(
3813         unsafe {
3814             &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodA as *const _ as usize
3815         },
3816         240usize,
3817         concat!(
3818             "Offset of field: ",
3819             stringify!(JNINativeInterface),
3820             "::",
3821             stringify!(CallDoubleMethodA)
3822         )
3823     );
3824     assert_eq!(
3825         unsafe {
3826             &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethod as *const _ as usize
3827         },
3828         244usize,
3829         concat!(
3830             "Offset of field: ",
3831             stringify!(JNINativeInterface),
3832             "::",
3833             stringify!(CallVoidMethod)
3834         )
3835     );
3836     assert_eq!(
3837         unsafe {
3838             &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodV as *const _ as usize
3839         },
3840         248usize,
3841         concat!(
3842             "Offset of field: ",
3843             stringify!(JNINativeInterface),
3844             "::",
3845             stringify!(CallVoidMethodV)
3846         )
3847     );
3848     assert_eq!(
3849         unsafe {
3850             &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodA as *const _ as usize
3851         },
3852         252usize,
3853         concat!(
3854             "Offset of field: ",
3855             stringify!(JNINativeInterface),
3856             "::",
3857             stringify!(CallVoidMethodA)
3858         )
3859     );
3860     assert_eq!(
3861         unsafe {
3862             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethod as *const _
3863                 as usize
3864         },
3865         256usize,
3866         concat!(
3867             "Offset of field: ",
3868             stringify!(JNINativeInterface),
3869             "::",
3870             stringify!(CallNonvirtualObjectMethod)
3871         )
3872     );
3873     assert_eq!(
3874         unsafe {
3875             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodV as *const _
3876                 as usize
3877         },
3878         260usize,
3879         concat!(
3880             "Offset of field: ",
3881             stringify!(JNINativeInterface),
3882             "::",
3883             stringify!(CallNonvirtualObjectMethodV)
3884         )
3885     );
3886     assert_eq!(
3887         unsafe {
3888             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodA as *const _
3889                 as usize
3890         },
3891         264usize,
3892         concat!(
3893             "Offset of field: ",
3894             stringify!(JNINativeInterface),
3895             "::",
3896             stringify!(CallNonvirtualObjectMethodA)
3897         )
3898     );
3899     assert_eq!(
3900         unsafe {
3901             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethod as *const _
3902                 as usize
3903         },
3904         268usize,
3905         concat!(
3906             "Offset of field: ",
3907             stringify!(JNINativeInterface),
3908             "::",
3909             stringify!(CallNonvirtualBooleanMethod)
3910         )
3911     );
3912     assert_eq!(
3913         unsafe {
3914             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodV as *const _
3915                 as usize
3916         },
3917         272usize,
3918         concat!(
3919             "Offset of field: ",
3920             stringify!(JNINativeInterface),
3921             "::",
3922             stringify!(CallNonvirtualBooleanMethodV)
3923         )
3924     );
3925     assert_eq!(
3926         unsafe {
3927             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodA as *const _
3928                 as usize
3929         },
3930         276usize,
3931         concat!(
3932             "Offset of field: ",
3933             stringify!(JNINativeInterface),
3934             "::",
3935             stringify!(CallNonvirtualBooleanMethodA)
3936         )
3937     );
3938     assert_eq!(
3939         unsafe {
3940             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethod as *const _
3941                 as usize
3942         },
3943         280usize,
3944         concat!(
3945             "Offset of field: ",
3946             stringify!(JNINativeInterface),
3947             "::",
3948             stringify!(CallNonvirtualByteMethod)
3949         )
3950     );
3951     assert_eq!(
3952         unsafe {
3953             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodV as *const _
3954                 as usize
3955         },
3956         284usize,
3957         concat!(
3958             "Offset of field: ",
3959             stringify!(JNINativeInterface),
3960             "::",
3961             stringify!(CallNonvirtualByteMethodV)
3962         )
3963     );
3964     assert_eq!(
3965         unsafe {
3966             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodA as *const _
3967                 as usize
3968         },
3969         288usize,
3970         concat!(
3971             "Offset of field: ",
3972             stringify!(JNINativeInterface),
3973             "::",
3974             stringify!(CallNonvirtualByteMethodA)
3975         )
3976     );
3977     assert_eq!(
3978         unsafe {
3979             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethod as *const _
3980                 as usize
3981         },
3982         292usize,
3983         concat!(
3984             "Offset of field: ",
3985             stringify!(JNINativeInterface),
3986             "::",
3987             stringify!(CallNonvirtualCharMethod)
3988         )
3989     );
3990     assert_eq!(
3991         unsafe {
3992             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodV as *const _
3993                 as usize
3994         },
3995         296usize,
3996         concat!(
3997             "Offset of field: ",
3998             stringify!(JNINativeInterface),
3999             "::",
4000             stringify!(CallNonvirtualCharMethodV)
4001         )
4002     );
4003     assert_eq!(
4004         unsafe {
4005             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodA as *const _
4006                 as usize
4007         },
4008         300usize,
4009         concat!(
4010             "Offset of field: ",
4011             stringify!(JNINativeInterface),
4012             "::",
4013             stringify!(CallNonvirtualCharMethodA)
4014         )
4015     );
4016     assert_eq!(
4017         unsafe {
4018             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethod as *const _
4019                 as usize
4020         },
4021         304usize,
4022         concat!(
4023             "Offset of field: ",
4024             stringify!(JNINativeInterface),
4025             "::",
4026             stringify!(CallNonvirtualShortMethod)
4027         )
4028     );
4029     assert_eq!(
4030         unsafe {
4031             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodV as *const _
4032                 as usize
4033         },
4034         308usize,
4035         concat!(
4036             "Offset of field: ",
4037             stringify!(JNINativeInterface),
4038             "::",
4039             stringify!(CallNonvirtualShortMethodV)
4040         )
4041     );
4042     assert_eq!(
4043         unsafe {
4044             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodA as *const _
4045                 as usize
4046         },
4047         312usize,
4048         concat!(
4049             "Offset of field: ",
4050             stringify!(JNINativeInterface),
4051             "::",
4052             stringify!(CallNonvirtualShortMethodA)
4053         )
4054     );
4055     assert_eq!(
4056         unsafe {
4057             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethod as *const _
4058                 as usize
4059         },
4060         316usize,
4061         concat!(
4062             "Offset of field: ",
4063             stringify!(JNINativeInterface),
4064             "::",
4065             stringify!(CallNonvirtualIntMethod)
4066         )
4067     );
4068     assert_eq!(
4069         unsafe {
4070             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodV as *const _
4071                 as usize
4072         },
4073         320usize,
4074         concat!(
4075             "Offset of field: ",
4076             stringify!(JNINativeInterface),
4077             "::",
4078             stringify!(CallNonvirtualIntMethodV)
4079         )
4080     );
4081     assert_eq!(
4082         unsafe {
4083             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodA as *const _
4084                 as usize
4085         },
4086         324usize,
4087         concat!(
4088             "Offset of field: ",
4089             stringify!(JNINativeInterface),
4090             "::",
4091             stringify!(CallNonvirtualIntMethodA)
4092         )
4093     );
4094     assert_eq!(
4095         unsafe {
4096             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethod as *const _
4097                 as usize
4098         },
4099         328usize,
4100         concat!(
4101             "Offset of field: ",
4102             stringify!(JNINativeInterface),
4103             "::",
4104             stringify!(CallNonvirtualLongMethod)
4105         )
4106     );
4107     assert_eq!(
4108         unsafe {
4109             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodV as *const _
4110                 as usize
4111         },
4112         332usize,
4113         concat!(
4114             "Offset of field: ",
4115             stringify!(JNINativeInterface),
4116             "::",
4117             stringify!(CallNonvirtualLongMethodV)
4118         )
4119     );
4120     assert_eq!(
4121         unsafe {
4122             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodA as *const _
4123                 as usize
4124         },
4125         336usize,
4126         concat!(
4127             "Offset of field: ",
4128             stringify!(JNINativeInterface),
4129             "::",
4130             stringify!(CallNonvirtualLongMethodA)
4131         )
4132     );
4133     assert_eq!(
4134         unsafe {
4135             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethod as *const _
4136                 as usize
4137         },
4138         340usize,
4139         concat!(
4140             "Offset of field: ",
4141             stringify!(JNINativeInterface),
4142             "::",
4143             stringify!(CallNonvirtualFloatMethod)
4144         )
4145     );
4146     assert_eq!(
4147         unsafe {
4148             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodV as *const _
4149                 as usize
4150         },
4151         344usize,
4152         concat!(
4153             "Offset of field: ",
4154             stringify!(JNINativeInterface),
4155             "::",
4156             stringify!(CallNonvirtualFloatMethodV)
4157         )
4158     );
4159     assert_eq!(
4160         unsafe {
4161             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodA as *const _
4162                 as usize
4163         },
4164         348usize,
4165         concat!(
4166             "Offset of field: ",
4167             stringify!(JNINativeInterface),
4168             "::",
4169             stringify!(CallNonvirtualFloatMethodA)
4170         )
4171     );
4172     assert_eq!(
4173         unsafe {
4174             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethod as *const _
4175                 as usize
4176         },
4177         352usize,
4178         concat!(
4179             "Offset of field: ",
4180             stringify!(JNINativeInterface),
4181             "::",
4182             stringify!(CallNonvirtualDoubleMethod)
4183         )
4184     );
4185     assert_eq!(
4186         unsafe {
4187             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodV as *const _
4188                 as usize
4189         },
4190         356usize,
4191         concat!(
4192             "Offset of field: ",
4193             stringify!(JNINativeInterface),
4194             "::",
4195             stringify!(CallNonvirtualDoubleMethodV)
4196         )
4197     );
4198     assert_eq!(
4199         unsafe {
4200             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodA as *const _
4201                 as usize
4202         },
4203         360usize,
4204         concat!(
4205             "Offset of field: ",
4206             stringify!(JNINativeInterface),
4207             "::",
4208             stringify!(CallNonvirtualDoubleMethodA)
4209         )
4210     );
4211     assert_eq!(
4212         unsafe {
4213             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethod as *const _
4214                 as usize
4215         },
4216         364usize,
4217         concat!(
4218             "Offset of field: ",
4219             stringify!(JNINativeInterface),
4220             "::",
4221             stringify!(CallNonvirtualVoidMethod)
4222         )
4223     );
4224     assert_eq!(
4225         unsafe {
4226             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodV as *const _
4227                 as usize
4228         },
4229         368usize,
4230         concat!(
4231             "Offset of field: ",
4232             stringify!(JNINativeInterface),
4233             "::",
4234             stringify!(CallNonvirtualVoidMethodV)
4235         )
4236     );
4237     assert_eq!(
4238         unsafe {
4239             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodA as *const _
4240                 as usize
4241         },
4242         372usize,
4243         concat!(
4244             "Offset of field: ",
4245             stringify!(JNINativeInterface),
4246             "::",
4247             stringify!(CallNonvirtualVoidMethodA)
4248         )
4249     );
4250     assert_eq!(
4251         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetFieldID as *const _ as usize },
4252         376usize,
4253         concat!(
4254             "Offset of field: ",
4255             stringify!(JNINativeInterface),
4256             "::",
4257             stringify!(GetFieldID)
4258         )
4259     );
4260     assert_eq!(
4261         unsafe {
4262             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectField as *const _ as usize
4263         },
4264         380usize,
4265         concat!(
4266             "Offset of field: ",
4267             stringify!(JNINativeInterface),
4268             "::",
4269             stringify!(GetObjectField)
4270         )
4271     );
4272     assert_eq!(
4273         unsafe {
4274             &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanField as *const _ as usize
4275         },
4276         384usize,
4277         concat!(
4278             "Offset of field: ",
4279             stringify!(JNINativeInterface),
4280             "::",
4281             stringify!(GetBooleanField)
4282         )
4283     );
4284     assert_eq!(
4285         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetByteField as *const _ as usize },
4286         388usize,
4287         concat!(
4288             "Offset of field: ",
4289             stringify!(JNINativeInterface),
4290             "::",
4291             stringify!(GetByteField)
4292         )
4293     );
4294     assert_eq!(
4295         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetCharField as *const _ as usize },
4296         392usize,
4297         concat!(
4298             "Offset of field: ",
4299             stringify!(JNINativeInterface),
4300             "::",
4301             stringify!(GetCharField)
4302         )
4303     );
4304     assert_eq!(
4305         unsafe {
4306             &(*(::std::ptr::null::<JNINativeInterface>())).GetShortField as *const _ as usize
4307         },
4308         396usize,
4309         concat!(
4310             "Offset of field: ",
4311             stringify!(JNINativeInterface),
4312             "::",
4313             stringify!(GetShortField)
4314         )
4315     );
4316     assert_eq!(
4317         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetIntField as *const _ as usize },
4318         400usize,
4319         concat!(
4320             "Offset of field: ",
4321             stringify!(JNINativeInterface),
4322             "::",
4323             stringify!(GetIntField)
4324         )
4325     );
4326     assert_eq!(
4327         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetLongField as *const _ as usize },
4328         404usize,
4329         concat!(
4330             "Offset of field: ",
4331             stringify!(JNINativeInterface),
4332             "::",
4333             stringify!(GetLongField)
4334         )
4335     );
4336     assert_eq!(
4337         unsafe {
4338             &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatField as *const _ as usize
4339         },
4340         408usize,
4341         concat!(
4342             "Offset of field: ",
4343             stringify!(JNINativeInterface),
4344             "::",
4345             stringify!(GetFloatField)
4346         )
4347     );
4348     assert_eq!(
4349         unsafe {
4350             &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleField as *const _ as usize
4351         },
4352         412usize,
4353         concat!(
4354             "Offset of field: ",
4355             stringify!(JNINativeInterface),
4356             "::",
4357             stringify!(GetDoubleField)
4358         )
4359     );
4360     assert_eq!(
4361         unsafe {
4362             &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectField as *const _ as usize
4363         },
4364         416usize,
4365         concat!(
4366             "Offset of field: ",
4367             stringify!(JNINativeInterface),
4368             "::",
4369             stringify!(SetObjectField)
4370         )
4371     );
4372     assert_eq!(
4373         unsafe {
4374             &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanField as *const _ as usize
4375         },
4376         420usize,
4377         concat!(
4378             "Offset of field: ",
4379             stringify!(JNINativeInterface),
4380             "::",
4381             stringify!(SetBooleanField)
4382         )
4383     );
4384     assert_eq!(
4385         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetByteField as *const _ as usize },
4386         424usize,
4387         concat!(
4388             "Offset of field: ",
4389             stringify!(JNINativeInterface),
4390             "::",
4391             stringify!(SetByteField)
4392         )
4393     );
4394     assert_eq!(
4395         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetCharField as *const _ as usize },
4396         428usize,
4397         concat!(
4398             "Offset of field: ",
4399             stringify!(JNINativeInterface),
4400             "::",
4401             stringify!(SetCharField)
4402         )
4403     );
4404     assert_eq!(
4405         unsafe {
4406             &(*(::std::ptr::null::<JNINativeInterface>())).SetShortField as *const _ as usize
4407         },
4408         432usize,
4409         concat!(
4410             "Offset of field: ",
4411             stringify!(JNINativeInterface),
4412             "::",
4413             stringify!(SetShortField)
4414         )
4415     );
4416     assert_eq!(
4417         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetIntField as *const _ as usize },
4418         436usize,
4419         concat!(
4420             "Offset of field: ",
4421             stringify!(JNINativeInterface),
4422             "::",
4423             stringify!(SetIntField)
4424         )
4425     );
4426     assert_eq!(
4427         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetLongField as *const _ as usize },
4428         440usize,
4429         concat!(
4430             "Offset of field: ",
4431             stringify!(JNINativeInterface),
4432             "::",
4433             stringify!(SetLongField)
4434         )
4435     );
4436     assert_eq!(
4437         unsafe {
4438             &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatField as *const _ as usize
4439         },
4440         444usize,
4441         concat!(
4442             "Offset of field: ",
4443             stringify!(JNINativeInterface),
4444             "::",
4445             stringify!(SetFloatField)
4446         )
4447     );
4448     assert_eq!(
4449         unsafe {
4450             &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleField as *const _ as usize
4451         },
4452         448usize,
4453         concat!(
4454             "Offset of field: ",
4455             stringify!(JNINativeInterface),
4456             "::",
4457             stringify!(SetDoubleField)
4458         )
4459     );
4460     assert_eq!(
4461         unsafe {
4462             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticMethodID as *const _ as usize
4463         },
4464         452usize,
4465         concat!(
4466             "Offset of field: ",
4467             stringify!(JNINativeInterface),
4468             "::",
4469             stringify!(GetStaticMethodID)
4470         )
4471     );
4472     assert_eq!(
4473         unsafe {
4474             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethod as *const _
4475                 as usize
4476         },
4477         456usize,
4478         concat!(
4479             "Offset of field: ",
4480             stringify!(JNINativeInterface),
4481             "::",
4482             stringify!(CallStaticObjectMethod)
4483         )
4484     );
4485     assert_eq!(
4486         unsafe {
4487             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodV as *const _
4488                 as usize
4489         },
4490         460usize,
4491         concat!(
4492             "Offset of field: ",
4493             stringify!(JNINativeInterface),
4494             "::",
4495             stringify!(CallStaticObjectMethodV)
4496         )
4497     );
4498     assert_eq!(
4499         unsafe {
4500             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodA as *const _
4501                 as usize
4502         },
4503         464usize,
4504         concat!(
4505             "Offset of field: ",
4506             stringify!(JNINativeInterface),
4507             "::",
4508             stringify!(CallStaticObjectMethodA)
4509         )
4510     );
4511     assert_eq!(
4512         unsafe {
4513             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethod as *const _
4514                 as usize
4515         },
4516         468usize,
4517         concat!(
4518             "Offset of field: ",
4519             stringify!(JNINativeInterface),
4520             "::",
4521             stringify!(CallStaticBooleanMethod)
4522         )
4523     );
4524     assert_eq!(
4525         unsafe {
4526             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodV as *const _
4527                 as usize
4528         },
4529         472usize,
4530         concat!(
4531             "Offset of field: ",
4532             stringify!(JNINativeInterface),
4533             "::",
4534             stringify!(CallStaticBooleanMethodV)
4535         )
4536     );
4537     assert_eq!(
4538         unsafe {
4539             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodA as *const _
4540                 as usize
4541         },
4542         476usize,
4543         concat!(
4544             "Offset of field: ",
4545             stringify!(JNINativeInterface),
4546             "::",
4547             stringify!(CallStaticBooleanMethodA)
4548         )
4549     );
4550     assert_eq!(
4551         unsafe {
4552             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethod as *const _ as usize
4553         },
4554         480usize,
4555         concat!(
4556             "Offset of field: ",
4557             stringify!(JNINativeInterface),
4558             "::",
4559             stringify!(CallStaticByteMethod)
4560         )
4561     );
4562     assert_eq!(
4563         unsafe {
4564             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodV as *const _
4565                 as usize
4566         },
4567         484usize,
4568         concat!(
4569             "Offset of field: ",
4570             stringify!(JNINativeInterface),
4571             "::",
4572             stringify!(CallStaticByteMethodV)
4573         )
4574     );
4575     assert_eq!(
4576         unsafe {
4577             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodA as *const _
4578                 as usize
4579         },
4580         488usize,
4581         concat!(
4582             "Offset of field: ",
4583             stringify!(JNINativeInterface),
4584             "::",
4585             stringify!(CallStaticByteMethodA)
4586         )
4587     );
4588     assert_eq!(
4589         unsafe {
4590             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethod as *const _ as usize
4591         },
4592         492usize,
4593         concat!(
4594             "Offset of field: ",
4595             stringify!(JNINativeInterface),
4596             "::",
4597             stringify!(CallStaticCharMethod)
4598         )
4599     );
4600     assert_eq!(
4601         unsafe {
4602             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodV as *const _
4603                 as usize
4604         },
4605         496usize,
4606         concat!(
4607             "Offset of field: ",
4608             stringify!(JNINativeInterface),
4609             "::",
4610             stringify!(CallStaticCharMethodV)
4611         )
4612     );
4613     assert_eq!(
4614         unsafe {
4615             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodA as *const _
4616                 as usize
4617         },
4618         500usize,
4619         concat!(
4620             "Offset of field: ",
4621             stringify!(JNINativeInterface),
4622             "::",
4623             stringify!(CallStaticCharMethodA)
4624         )
4625     );
4626     assert_eq!(
4627         unsafe {
4628             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethod as *const _
4629                 as usize
4630         },
4631         504usize,
4632         concat!(
4633             "Offset of field: ",
4634             stringify!(JNINativeInterface),
4635             "::",
4636             stringify!(CallStaticShortMethod)
4637         )
4638     );
4639     assert_eq!(
4640         unsafe {
4641             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodV as *const _
4642                 as usize
4643         },
4644         508usize,
4645         concat!(
4646             "Offset of field: ",
4647             stringify!(JNINativeInterface),
4648             "::",
4649             stringify!(CallStaticShortMethodV)
4650         )
4651     );
4652     assert_eq!(
4653         unsafe {
4654             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodA as *const _
4655                 as usize
4656         },
4657         512usize,
4658         concat!(
4659             "Offset of field: ",
4660             stringify!(JNINativeInterface),
4661             "::",
4662             stringify!(CallStaticShortMethodA)
4663         )
4664     );
4665     assert_eq!(
4666         unsafe {
4667             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethod as *const _ as usize
4668         },
4669         516usize,
4670         concat!(
4671             "Offset of field: ",
4672             stringify!(JNINativeInterface),
4673             "::",
4674             stringify!(CallStaticIntMethod)
4675         )
4676     );
4677     assert_eq!(
4678         unsafe {
4679             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodV as *const _ as usize
4680         },
4681         520usize,
4682         concat!(
4683             "Offset of field: ",
4684             stringify!(JNINativeInterface),
4685             "::",
4686             stringify!(CallStaticIntMethodV)
4687         )
4688     );
4689     assert_eq!(
4690         unsafe {
4691             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodA as *const _ as usize
4692         },
4693         524usize,
4694         concat!(
4695             "Offset of field: ",
4696             stringify!(JNINativeInterface),
4697             "::",
4698             stringify!(CallStaticIntMethodA)
4699         )
4700     );
4701     assert_eq!(
4702         unsafe {
4703             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethod as *const _ as usize
4704         },
4705         528usize,
4706         concat!(
4707             "Offset of field: ",
4708             stringify!(JNINativeInterface),
4709             "::",
4710             stringify!(CallStaticLongMethod)
4711         )
4712     );
4713     assert_eq!(
4714         unsafe {
4715             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodV as *const _
4716                 as usize
4717         },
4718         532usize,
4719         concat!(
4720             "Offset of field: ",
4721             stringify!(JNINativeInterface),
4722             "::",
4723             stringify!(CallStaticLongMethodV)
4724         )
4725     );
4726     assert_eq!(
4727         unsafe {
4728             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodA as *const _
4729                 as usize
4730         },
4731         536usize,
4732         concat!(
4733             "Offset of field: ",
4734             stringify!(JNINativeInterface),
4735             "::",
4736             stringify!(CallStaticLongMethodA)
4737         )
4738     );
4739     assert_eq!(
4740         unsafe {
4741             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethod as *const _
4742                 as usize
4743         },
4744         540usize,
4745         concat!(
4746             "Offset of field: ",
4747             stringify!(JNINativeInterface),
4748             "::",
4749             stringify!(CallStaticFloatMethod)
4750         )
4751     );
4752     assert_eq!(
4753         unsafe {
4754             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodV as *const _
4755                 as usize
4756         },
4757         544usize,
4758         concat!(
4759             "Offset of field: ",
4760             stringify!(JNINativeInterface),
4761             "::",
4762             stringify!(CallStaticFloatMethodV)
4763         )
4764     );
4765     assert_eq!(
4766         unsafe {
4767             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodA as *const _
4768                 as usize
4769         },
4770         548usize,
4771         concat!(
4772             "Offset of field: ",
4773             stringify!(JNINativeInterface),
4774             "::",
4775             stringify!(CallStaticFloatMethodA)
4776         )
4777     );
4778     assert_eq!(
4779         unsafe {
4780             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethod as *const _
4781                 as usize
4782         },
4783         552usize,
4784         concat!(
4785             "Offset of field: ",
4786             stringify!(JNINativeInterface),
4787             "::",
4788             stringify!(CallStaticDoubleMethod)
4789         )
4790     );
4791     assert_eq!(
4792         unsafe {
4793             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodV as *const _
4794                 as usize
4795         },
4796         556usize,
4797         concat!(
4798             "Offset of field: ",
4799             stringify!(JNINativeInterface),
4800             "::",
4801             stringify!(CallStaticDoubleMethodV)
4802         )
4803     );
4804     assert_eq!(
4805         unsafe {
4806             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodA as *const _
4807                 as usize
4808         },
4809         560usize,
4810         concat!(
4811             "Offset of field: ",
4812             stringify!(JNINativeInterface),
4813             "::",
4814             stringify!(CallStaticDoubleMethodA)
4815         )
4816     );
4817     assert_eq!(
4818         unsafe {
4819             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethod as *const _ as usize
4820         },
4821         564usize,
4822         concat!(
4823             "Offset of field: ",
4824             stringify!(JNINativeInterface),
4825             "::",
4826             stringify!(CallStaticVoidMethod)
4827         )
4828     );
4829     assert_eq!(
4830         unsafe {
4831             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodV as *const _
4832                 as usize
4833         },
4834         568usize,
4835         concat!(
4836             "Offset of field: ",
4837             stringify!(JNINativeInterface),
4838             "::",
4839             stringify!(CallStaticVoidMethodV)
4840         )
4841     );
4842     assert_eq!(
4843         unsafe {
4844             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodA as *const _
4845                 as usize
4846         },
4847         572usize,
4848         concat!(
4849             "Offset of field: ",
4850             stringify!(JNINativeInterface),
4851             "::",
4852             stringify!(CallStaticVoidMethodA)
4853         )
4854     );
4855     assert_eq!(
4856         unsafe {
4857             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFieldID as *const _ as usize
4858         },
4859         576usize,
4860         concat!(
4861             "Offset of field: ",
4862             stringify!(JNINativeInterface),
4863             "::",
4864             stringify!(GetStaticFieldID)
4865         )
4866     );
4867     assert_eq!(
4868         unsafe {
4869             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticObjectField as *const _ as usize
4870         },
4871         580usize,
4872         concat!(
4873             "Offset of field: ",
4874             stringify!(JNINativeInterface),
4875             "::",
4876             stringify!(GetStaticObjectField)
4877         )
4878     );
4879     assert_eq!(
4880         unsafe {
4881             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticBooleanField as *const _
4882                 as usize
4883         },
4884         584usize,
4885         concat!(
4886             "Offset of field: ",
4887             stringify!(JNINativeInterface),
4888             "::",
4889             stringify!(GetStaticBooleanField)
4890         )
4891     );
4892     assert_eq!(
4893         unsafe {
4894             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticByteField as *const _ as usize
4895         },
4896         588usize,
4897         concat!(
4898             "Offset of field: ",
4899             stringify!(JNINativeInterface),
4900             "::",
4901             stringify!(GetStaticByteField)
4902         )
4903     );
4904     assert_eq!(
4905         unsafe {
4906             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticCharField as *const _ as usize
4907         },
4908         592usize,
4909         concat!(
4910             "Offset of field: ",
4911             stringify!(JNINativeInterface),
4912             "::",
4913             stringify!(GetStaticCharField)
4914         )
4915     );
4916     assert_eq!(
4917         unsafe {
4918             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticShortField as *const _ as usize
4919         },
4920         596usize,
4921         concat!(
4922             "Offset of field: ",
4923             stringify!(JNINativeInterface),
4924             "::",
4925             stringify!(GetStaticShortField)
4926         )
4927     );
4928     assert_eq!(
4929         unsafe {
4930             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticIntField as *const _ as usize
4931         },
4932         600usize,
4933         concat!(
4934             "Offset of field: ",
4935             stringify!(JNINativeInterface),
4936             "::",
4937             stringify!(GetStaticIntField)
4938         )
4939     );
4940     assert_eq!(
4941         unsafe {
4942             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticLongField as *const _ as usize
4943         },
4944         604usize,
4945         concat!(
4946             "Offset of field: ",
4947             stringify!(JNINativeInterface),
4948             "::",
4949             stringify!(GetStaticLongField)
4950         )
4951     );
4952     assert_eq!(
4953         unsafe {
4954             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFloatField as *const _ as usize
4955         },
4956         608usize,
4957         concat!(
4958             "Offset of field: ",
4959             stringify!(JNINativeInterface),
4960             "::",
4961             stringify!(GetStaticFloatField)
4962         )
4963     );
4964     assert_eq!(
4965         unsafe {
4966             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticDoubleField as *const _ as usize
4967         },
4968         612usize,
4969         concat!(
4970             "Offset of field: ",
4971             stringify!(JNINativeInterface),
4972             "::",
4973             stringify!(GetStaticDoubleField)
4974         )
4975     );
4976     assert_eq!(
4977         unsafe {
4978             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticObjectField as *const _ as usize
4979         },
4980         616usize,
4981         concat!(
4982             "Offset of field: ",
4983             stringify!(JNINativeInterface),
4984             "::",
4985             stringify!(SetStaticObjectField)
4986         )
4987     );
4988     assert_eq!(
4989         unsafe {
4990             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticBooleanField as *const _
4991                 as usize
4992         },
4993         620usize,
4994         concat!(
4995             "Offset of field: ",
4996             stringify!(JNINativeInterface),
4997             "::",
4998             stringify!(SetStaticBooleanField)
4999         )
5000     );
5001     assert_eq!(
5002         unsafe {
5003             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticByteField as *const _ as usize
5004         },
5005         624usize,
5006         concat!(
5007             "Offset of field: ",
5008             stringify!(JNINativeInterface),
5009             "::",
5010             stringify!(SetStaticByteField)
5011         )
5012     );
5013     assert_eq!(
5014         unsafe {
5015             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticCharField as *const _ as usize
5016         },
5017         628usize,
5018         concat!(
5019             "Offset of field: ",
5020             stringify!(JNINativeInterface),
5021             "::",
5022             stringify!(SetStaticCharField)
5023         )
5024     );
5025     assert_eq!(
5026         unsafe {
5027             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticShortField as *const _ as usize
5028         },
5029         632usize,
5030         concat!(
5031             "Offset of field: ",
5032             stringify!(JNINativeInterface),
5033             "::",
5034             stringify!(SetStaticShortField)
5035         )
5036     );
5037     assert_eq!(
5038         unsafe {
5039             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticIntField as *const _ as usize
5040         },
5041         636usize,
5042         concat!(
5043             "Offset of field: ",
5044             stringify!(JNINativeInterface),
5045             "::",
5046             stringify!(SetStaticIntField)
5047         )
5048     );
5049     assert_eq!(
5050         unsafe {
5051             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticLongField as *const _ as usize
5052         },
5053         640usize,
5054         concat!(
5055             "Offset of field: ",
5056             stringify!(JNINativeInterface),
5057             "::",
5058             stringify!(SetStaticLongField)
5059         )
5060     );
5061     assert_eq!(
5062         unsafe {
5063             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticFloatField as *const _ as usize
5064         },
5065         644usize,
5066         concat!(
5067             "Offset of field: ",
5068             stringify!(JNINativeInterface),
5069             "::",
5070             stringify!(SetStaticFloatField)
5071         )
5072     );
5073     assert_eq!(
5074         unsafe {
5075             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticDoubleField as *const _ as usize
5076         },
5077         648usize,
5078         concat!(
5079             "Offset of field: ",
5080             stringify!(JNINativeInterface),
5081             "::",
5082             stringify!(SetStaticDoubleField)
5083         )
5084     );
5085     assert_eq!(
5086         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewString as *const _ as usize },
5087         652usize,
5088         concat!(
5089             "Offset of field: ",
5090             stringify!(JNINativeInterface),
5091             "::",
5092             stringify!(NewString)
5093         )
5094     );
5095     assert_eq!(
5096         unsafe {
5097             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringLength as *const _ as usize
5098         },
5099         656usize,
5100         concat!(
5101             "Offset of field: ",
5102             stringify!(JNINativeInterface),
5103             "::",
5104             stringify!(GetStringLength)
5105         )
5106     );
5107     assert_eq!(
5108         unsafe {
5109             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringChars as *const _ as usize
5110         },
5111         660usize,
5112         concat!(
5113             "Offset of field: ",
5114             stringify!(JNINativeInterface),
5115             "::",
5116             stringify!(GetStringChars)
5117         )
5118     );
5119     assert_eq!(
5120         unsafe {
5121             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringChars as *const _ as usize
5122         },
5123         664usize,
5124         concat!(
5125             "Offset of field: ",
5126             stringify!(JNINativeInterface),
5127             "::",
5128             stringify!(ReleaseStringChars)
5129         )
5130     );
5131     assert_eq!(
5132         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewStringUTF as *const _ as usize },
5133         668usize,
5134         concat!(
5135             "Offset of field: ",
5136             stringify!(JNINativeInterface),
5137             "::",
5138             stringify!(NewStringUTF)
5139         )
5140     );
5141     assert_eq!(
5142         unsafe {
5143             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFLength as *const _ as usize
5144         },
5145         672usize,
5146         concat!(
5147             "Offset of field: ",
5148             stringify!(JNINativeInterface),
5149             "::",
5150             stringify!(GetStringUTFLength)
5151         )
5152     );
5153     assert_eq!(
5154         unsafe {
5155             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFChars as *const _ as usize
5156         },
5157         676usize,
5158         concat!(
5159             "Offset of field: ",
5160             stringify!(JNINativeInterface),
5161             "::",
5162             stringify!(GetStringUTFChars)
5163         )
5164     );
5165     assert_eq!(
5166         unsafe {
5167             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringUTFChars as *const _
5168                 as usize
5169         },
5170         680usize,
5171         concat!(
5172             "Offset of field: ",
5173             stringify!(JNINativeInterface),
5174             "::",
5175             stringify!(ReleaseStringUTFChars)
5176         )
5177     );
5178     assert_eq!(
5179         unsafe {
5180             &(*(::std::ptr::null::<JNINativeInterface>())).GetArrayLength as *const _ as usize
5181         },
5182         684usize,
5183         concat!(
5184             "Offset of field: ",
5185             stringify!(JNINativeInterface),
5186             "::",
5187             stringify!(GetArrayLength)
5188         )
5189     );
5190     assert_eq!(
5191         unsafe {
5192             &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectArray as *const _ as usize
5193         },
5194         688usize,
5195         concat!(
5196             "Offset of field: ",
5197             stringify!(JNINativeInterface),
5198             "::",
5199             stringify!(NewObjectArray)
5200         )
5201     );
5202     assert_eq!(
5203         unsafe {
5204             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectArrayElement as *const _
5205                 as usize
5206         },
5207         692usize,
5208         concat!(
5209             "Offset of field: ",
5210             stringify!(JNINativeInterface),
5211             "::",
5212             stringify!(GetObjectArrayElement)
5213         )
5214     );
5215     assert_eq!(
5216         unsafe {
5217             &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectArrayElement as *const _
5218                 as usize
5219         },
5220         696usize,
5221         concat!(
5222             "Offset of field: ",
5223             stringify!(JNINativeInterface),
5224             "::",
5225             stringify!(SetObjectArrayElement)
5226         )
5227     );
5228     assert_eq!(
5229         unsafe {
5230             &(*(::std::ptr::null::<JNINativeInterface>())).NewBooleanArray as *const _ as usize
5231         },
5232         700usize,
5233         concat!(
5234             "Offset of field: ",
5235             stringify!(JNINativeInterface),
5236             "::",
5237             stringify!(NewBooleanArray)
5238         )
5239     );
5240     assert_eq!(
5241         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewByteArray as *const _ as usize },
5242         704usize,
5243         concat!(
5244             "Offset of field: ",
5245             stringify!(JNINativeInterface),
5246             "::",
5247             stringify!(NewByteArray)
5248         )
5249     );
5250     assert_eq!(
5251         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewCharArray as *const _ as usize },
5252         708usize,
5253         concat!(
5254             "Offset of field: ",
5255             stringify!(JNINativeInterface),
5256             "::",
5257             stringify!(NewCharArray)
5258         )
5259     );
5260     assert_eq!(
5261         unsafe {
5262             &(*(::std::ptr::null::<JNINativeInterface>())).NewShortArray as *const _ as usize
5263         },
5264         712usize,
5265         concat!(
5266             "Offset of field: ",
5267             stringify!(JNINativeInterface),
5268             "::",
5269             stringify!(NewShortArray)
5270         )
5271     );
5272     assert_eq!(
5273         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewIntArray as *const _ as usize },
5274         716usize,
5275         concat!(
5276             "Offset of field: ",
5277             stringify!(JNINativeInterface),
5278             "::",
5279             stringify!(NewIntArray)
5280         )
5281     );
5282     assert_eq!(
5283         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLongArray as *const _ as usize },
5284         720usize,
5285         concat!(
5286             "Offset of field: ",
5287             stringify!(JNINativeInterface),
5288             "::",
5289             stringify!(NewLongArray)
5290         )
5291     );
5292     assert_eq!(
5293         unsafe {
5294             &(*(::std::ptr::null::<JNINativeInterface>())).NewFloatArray as *const _ as usize
5295         },
5296         724usize,
5297         concat!(
5298             "Offset of field: ",
5299             stringify!(JNINativeInterface),
5300             "::",
5301             stringify!(NewFloatArray)
5302         )
5303     );
5304     assert_eq!(
5305         unsafe {
5306             &(*(::std::ptr::null::<JNINativeInterface>())).NewDoubleArray as *const _ as usize
5307         },
5308         728usize,
5309         concat!(
5310             "Offset of field: ",
5311             stringify!(JNINativeInterface),
5312             "::",
5313             stringify!(NewDoubleArray)
5314         )
5315     );
5316     assert_eq!(
5317         unsafe {
5318             &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayElements as *const _
5319                 as usize
5320         },
5321         732usize,
5322         concat!(
5323             "Offset of field: ",
5324             stringify!(JNINativeInterface),
5325             "::",
5326             stringify!(GetBooleanArrayElements)
5327         )
5328     );
5329     assert_eq!(
5330         unsafe {
5331             &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayElements as *const _ as usize
5332         },
5333         736usize,
5334         concat!(
5335             "Offset of field: ",
5336             stringify!(JNINativeInterface),
5337             "::",
5338             stringify!(GetByteArrayElements)
5339         )
5340     );
5341     assert_eq!(
5342         unsafe {
5343             &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayElements as *const _ as usize
5344         },
5345         740usize,
5346         concat!(
5347             "Offset of field: ",
5348             stringify!(JNINativeInterface),
5349             "::",
5350             stringify!(GetCharArrayElements)
5351         )
5352     );
5353     assert_eq!(
5354         unsafe {
5355             &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayElements as *const _
5356                 as usize
5357         },
5358         744usize,
5359         concat!(
5360             "Offset of field: ",
5361             stringify!(JNINativeInterface),
5362             "::",
5363             stringify!(GetShortArrayElements)
5364         )
5365     );
5366     assert_eq!(
5367         unsafe {
5368             &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayElements as *const _ as usize
5369         },
5370         748usize,
5371         concat!(
5372             "Offset of field: ",
5373             stringify!(JNINativeInterface),
5374             "::",
5375             stringify!(GetIntArrayElements)
5376         )
5377     );
5378     assert_eq!(
5379         unsafe {
5380             &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayElements as *const _ as usize
5381         },
5382         752usize,
5383         concat!(
5384             "Offset of field: ",
5385             stringify!(JNINativeInterface),
5386             "::",
5387             stringify!(GetLongArrayElements)
5388         )
5389     );
5390     assert_eq!(
5391         unsafe {
5392             &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayElements as *const _
5393                 as usize
5394         },
5395         756usize,
5396         concat!(
5397             "Offset of field: ",
5398             stringify!(JNINativeInterface),
5399             "::",
5400             stringify!(GetFloatArrayElements)
5401         )
5402     );
5403     assert_eq!(
5404         unsafe {
5405             &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayElements as *const _
5406                 as usize
5407         },
5408         760usize,
5409         concat!(
5410             "Offset of field: ",
5411             stringify!(JNINativeInterface),
5412             "::",
5413             stringify!(GetDoubleArrayElements)
5414         )
5415     );
5416     assert_eq!(
5417         unsafe {
5418             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseBooleanArrayElements as *const _
5419                 as usize
5420         },
5421         764usize,
5422         concat!(
5423             "Offset of field: ",
5424             stringify!(JNINativeInterface),
5425             "::",
5426             stringify!(ReleaseBooleanArrayElements)
5427         )
5428     );
5429     assert_eq!(
5430         unsafe {
5431             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseByteArrayElements as *const _
5432                 as usize
5433         },
5434         768usize,
5435         concat!(
5436             "Offset of field: ",
5437             stringify!(JNINativeInterface),
5438             "::",
5439             stringify!(ReleaseByteArrayElements)
5440         )
5441     );
5442     assert_eq!(
5443         unsafe {
5444             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseCharArrayElements as *const _
5445                 as usize
5446         },
5447         772usize,
5448         concat!(
5449             "Offset of field: ",
5450             stringify!(JNINativeInterface),
5451             "::",
5452             stringify!(ReleaseCharArrayElements)
5453         )
5454     );
5455     assert_eq!(
5456         unsafe {
5457             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseShortArrayElements as *const _
5458                 as usize
5459         },
5460         776usize,
5461         concat!(
5462             "Offset of field: ",
5463             stringify!(JNINativeInterface),
5464             "::",
5465             stringify!(ReleaseShortArrayElements)
5466         )
5467     );
5468     assert_eq!(
5469         unsafe {
5470             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseIntArrayElements as *const _
5471                 as usize
5472         },
5473         780usize,
5474         concat!(
5475             "Offset of field: ",
5476             stringify!(JNINativeInterface),
5477             "::",
5478             stringify!(ReleaseIntArrayElements)
5479         )
5480     );
5481     assert_eq!(
5482         unsafe {
5483             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseLongArrayElements as *const _
5484                 as usize
5485         },
5486         784usize,
5487         concat!(
5488             "Offset of field: ",
5489             stringify!(JNINativeInterface),
5490             "::",
5491             stringify!(ReleaseLongArrayElements)
5492         )
5493     );
5494     assert_eq!(
5495         unsafe {
5496             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseFloatArrayElements as *const _
5497                 as usize
5498         },
5499         788usize,
5500         concat!(
5501             "Offset of field: ",
5502             stringify!(JNINativeInterface),
5503             "::",
5504             stringify!(ReleaseFloatArrayElements)
5505         )
5506     );
5507     assert_eq!(
5508         unsafe {
5509             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseDoubleArrayElements as *const _
5510                 as usize
5511         },
5512         792usize,
5513         concat!(
5514             "Offset of field: ",
5515             stringify!(JNINativeInterface),
5516             "::",
5517             stringify!(ReleaseDoubleArrayElements)
5518         )
5519     );
5520     assert_eq!(
5521         unsafe {
5522             &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayRegion as *const _
5523                 as usize
5524         },
5525         796usize,
5526         concat!(
5527             "Offset of field: ",
5528             stringify!(JNINativeInterface),
5529             "::",
5530             stringify!(GetBooleanArrayRegion)
5531         )
5532     );
5533     assert_eq!(
5534         unsafe {
5535             &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayRegion as *const _ as usize
5536         },
5537         800usize,
5538         concat!(
5539             "Offset of field: ",
5540             stringify!(JNINativeInterface),
5541             "::",
5542             stringify!(GetByteArrayRegion)
5543         )
5544     );
5545     assert_eq!(
5546         unsafe {
5547             &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayRegion as *const _ as usize
5548         },
5549         804usize,
5550         concat!(
5551             "Offset of field: ",
5552             stringify!(JNINativeInterface),
5553             "::",
5554             stringify!(GetCharArrayRegion)
5555         )
5556     );
5557     assert_eq!(
5558         unsafe {
5559             &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayRegion as *const _ as usize
5560         },
5561         808usize,
5562         concat!(
5563             "Offset of field: ",
5564             stringify!(JNINativeInterface),
5565             "::",
5566             stringify!(GetShortArrayRegion)
5567         )
5568     );
5569     assert_eq!(
5570         unsafe {
5571             &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayRegion as *const _ as usize
5572         },
5573         812usize,
5574         concat!(
5575             "Offset of field: ",
5576             stringify!(JNINativeInterface),
5577             "::",
5578             stringify!(GetIntArrayRegion)
5579         )
5580     );
5581     assert_eq!(
5582         unsafe {
5583             &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayRegion as *const _ as usize
5584         },
5585         816usize,
5586         concat!(
5587             "Offset of field: ",
5588             stringify!(JNINativeInterface),
5589             "::",
5590             stringify!(GetLongArrayRegion)
5591         )
5592     );
5593     assert_eq!(
5594         unsafe {
5595             &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayRegion as *const _ as usize
5596         },
5597         820usize,
5598         concat!(
5599             "Offset of field: ",
5600             stringify!(JNINativeInterface),
5601             "::",
5602             stringify!(GetFloatArrayRegion)
5603         )
5604     );
5605     assert_eq!(
5606         unsafe {
5607             &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayRegion as *const _ as usize
5608         },
5609         824usize,
5610         concat!(
5611             "Offset of field: ",
5612             stringify!(JNINativeInterface),
5613             "::",
5614             stringify!(GetDoubleArrayRegion)
5615         )
5616     );
5617     assert_eq!(
5618         unsafe {
5619             &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanArrayRegion as *const _
5620                 as usize
5621         },
5622         828usize,
5623         concat!(
5624             "Offset of field: ",
5625             stringify!(JNINativeInterface),
5626             "::",
5627             stringify!(SetBooleanArrayRegion)
5628         )
5629     );
5630     assert_eq!(
5631         unsafe {
5632             &(*(::std::ptr::null::<JNINativeInterface>())).SetByteArrayRegion as *const _ as usize
5633         },
5634         832usize,
5635         concat!(
5636             "Offset of field: ",
5637             stringify!(JNINativeInterface),
5638             "::",
5639             stringify!(SetByteArrayRegion)
5640         )
5641     );
5642     assert_eq!(
5643         unsafe {
5644             &(*(::std::ptr::null::<JNINativeInterface>())).SetCharArrayRegion as *const _ as usize
5645         },
5646         836usize,
5647         concat!(
5648             "Offset of field: ",
5649             stringify!(JNINativeInterface),
5650             "::",
5651             stringify!(SetCharArrayRegion)
5652         )
5653     );
5654     assert_eq!(
5655         unsafe {
5656             &(*(::std::ptr::null::<JNINativeInterface>())).SetShortArrayRegion as *const _ as usize
5657         },
5658         840usize,
5659         concat!(
5660             "Offset of field: ",
5661             stringify!(JNINativeInterface),
5662             "::",
5663             stringify!(SetShortArrayRegion)
5664         )
5665     );
5666     assert_eq!(
5667         unsafe {
5668             &(*(::std::ptr::null::<JNINativeInterface>())).SetIntArrayRegion as *const _ as usize
5669         },
5670         844usize,
5671         concat!(
5672             "Offset of field: ",
5673             stringify!(JNINativeInterface),
5674             "::",
5675             stringify!(SetIntArrayRegion)
5676         )
5677     );
5678     assert_eq!(
5679         unsafe {
5680             &(*(::std::ptr::null::<JNINativeInterface>())).SetLongArrayRegion as *const _ as usize
5681         },
5682         848usize,
5683         concat!(
5684             "Offset of field: ",
5685             stringify!(JNINativeInterface),
5686             "::",
5687             stringify!(SetLongArrayRegion)
5688         )
5689     );
5690     assert_eq!(
5691         unsafe {
5692             &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatArrayRegion as *const _ as usize
5693         },
5694         852usize,
5695         concat!(
5696             "Offset of field: ",
5697             stringify!(JNINativeInterface),
5698             "::",
5699             stringify!(SetFloatArrayRegion)
5700         )
5701     );
5702     assert_eq!(
5703         unsafe {
5704             &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleArrayRegion as *const _ as usize
5705         },
5706         856usize,
5707         concat!(
5708             "Offset of field: ",
5709             stringify!(JNINativeInterface),
5710             "::",
5711             stringify!(SetDoubleArrayRegion)
5712         )
5713     );
5714     assert_eq!(
5715         unsafe {
5716             &(*(::std::ptr::null::<JNINativeInterface>())).RegisterNatives as *const _ as usize
5717         },
5718         860usize,
5719         concat!(
5720             "Offset of field: ",
5721             stringify!(JNINativeInterface),
5722             "::",
5723             stringify!(RegisterNatives)
5724         )
5725     );
5726     assert_eq!(
5727         unsafe {
5728             &(*(::std::ptr::null::<JNINativeInterface>())).UnregisterNatives as *const _ as usize
5729         },
5730         864usize,
5731         concat!(
5732             "Offset of field: ",
5733             stringify!(JNINativeInterface),
5734             "::",
5735             stringify!(UnregisterNatives)
5736         )
5737     );
5738     assert_eq!(
5739         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorEnter as *const _ as usize },
5740         868usize,
5741         concat!(
5742             "Offset of field: ",
5743             stringify!(JNINativeInterface),
5744             "::",
5745             stringify!(MonitorEnter)
5746         )
5747     );
5748     assert_eq!(
5749         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorExit as *const _ as usize },
5750         872usize,
5751         concat!(
5752             "Offset of field: ",
5753             stringify!(JNINativeInterface),
5754             "::",
5755             stringify!(MonitorExit)
5756         )
5757     );
5758     assert_eq!(
5759         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetJavaVM as *const _ as usize },
5760         876usize,
5761         concat!(
5762             "Offset of field: ",
5763             stringify!(JNINativeInterface),
5764             "::",
5765             stringify!(GetJavaVM)
5766         )
5767     );
5768     assert_eq!(
5769         unsafe {
5770             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringRegion as *const _ as usize
5771         },
5772         880usize,
5773         concat!(
5774             "Offset of field: ",
5775             stringify!(JNINativeInterface),
5776             "::",
5777             stringify!(GetStringRegion)
5778         )
5779     );
5780     assert_eq!(
5781         unsafe {
5782             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFRegion as *const _ as usize
5783         },
5784         884usize,
5785         concat!(
5786             "Offset of field: ",
5787             stringify!(JNINativeInterface),
5788             "::",
5789             stringify!(GetStringUTFRegion)
5790         )
5791     );
5792     assert_eq!(
5793         unsafe {
5794             &(*(::std::ptr::null::<JNINativeInterface>())).GetPrimitiveArrayCritical as *const _
5795                 as usize
5796         },
5797         888usize,
5798         concat!(
5799             "Offset of field: ",
5800             stringify!(JNINativeInterface),
5801             "::",
5802             stringify!(GetPrimitiveArrayCritical)
5803         )
5804     );
5805     assert_eq!(
5806         unsafe {
5807             &(*(::std::ptr::null::<JNINativeInterface>())).ReleasePrimitiveArrayCritical as *const _
5808                 as usize
5809         },
5810         892usize,
5811         concat!(
5812             "Offset of field: ",
5813             stringify!(JNINativeInterface),
5814             "::",
5815             stringify!(ReleasePrimitiveArrayCritical)
5816         )
5817     );
5818     assert_eq!(
5819         unsafe {
5820             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringCritical as *const _ as usize
5821         },
5822         896usize,
5823         concat!(
5824             "Offset of field: ",
5825             stringify!(JNINativeInterface),
5826             "::",
5827             stringify!(GetStringCritical)
5828         )
5829     );
5830     assert_eq!(
5831         unsafe {
5832             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringCritical as *const _
5833                 as usize
5834         },
5835         900usize,
5836         concat!(
5837             "Offset of field: ",
5838             stringify!(JNINativeInterface),
5839             "::",
5840             stringify!(ReleaseStringCritical)
5841         )
5842     );
5843     assert_eq!(
5844         unsafe {
5845             &(*(::std::ptr::null::<JNINativeInterface>())).NewWeakGlobalRef as *const _ as usize
5846         },
5847         904usize,
5848         concat!(
5849             "Offset of field: ",
5850             stringify!(JNINativeInterface),
5851             "::",
5852             stringify!(NewWeakGlobalRef)
5853         )
5854     );
5855     assert_eq!(
5856         unsafe {
5857             &(*(::std::ptr::null::<JNINativeInterface>())).DeleteWeakGlobalRef as *const _ as usize
5858         },
5859         908usize,
5860         concat!(
5861             "Offset of field: ",
5862             stringify!(JNINativeInterface),
5863             "::",
5864             stringify!(DeleteWeakGlobalRef)
5865         )
5866     );
5867     assert_eq!(
5868         unsafe {
5869             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionCheck as *const _ as usize
5870         },
5871         912usize,
5872         concat!(
5873             "Offset of field: ",
5874             stringify!(JNINativeInterface),
5875             "::",
5876             stringify!(ExceptionCheck)
5877         )
5878     );
5879     assert_eq!(
5880         unsafe {
5881             &(*(::std::ptr::null::<JNINativeInterface>())).NewDirectByteBuffer as *const _ as usize
5882         },
5883         916usize,
5884         concat!(
5885             "Offset of field: ",
5886             stringify!(JNINativeInterface),
5887             "::",
5888             stringify!(NewDirectByteBuffer)
5889         )
5890     );
5891     assert_eq!(
5892         unsafe {
5893             &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferAddress as *const _
5894                 as usize
5895         },
5896         920usize,
5897         concat!(
5898             "Offset of field: ",
5899             stringify!(JNINativeInterface),
5900             "::",
5901             stringify!(GetDirectBufferAddress)
5902         )
5903     );
5904     assert_eq!(
5905         unsafe {
5906             &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferCapacity as *const _
5907                 as usize
5908         },
5909         924usize,
5910         concat!(
5911             "Offset of field: ",
5912             stringify!(JNINativeInterface),
5913             "::",
5914             stringify!(GetDirectBufferCapacity)
5915         )
5916     );
5917     assert_eq!(
5918         unsafe {
5919             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectRefType as *const _ as usize
5920         },
5921         928usize,
5922         concat!(
5923             "Offset of field: ",
5924             stringify!(JNINativeInterface),
5925             "::",
5926             stringify!(GetObjectRefType)
5927         )
5928     );
5929 }
5930 #[repr(C)]
5931 #[derive(Debug, Copy, Clone)]
5932 pub struct _JNIEnv {
5933     pub functions: *const JNINativeInterface,
5934 }
5935 #[test]
5936 fn bindgen_test_layout__JNIEnv() {
5937     assert_eq!(
5938         ::std::mem::size_of::<_JNIEnv>(),
5939         4usize,
5940         concat!("Size of: ", stringify!(_JNIEnv))
5941     );
5942     assert_eq!(
5943         ::std::mem::align_of::<_JNIEnv>(),
5944         4usize,
5945         concat!("Alignment of ", stringify!(_JNIEnv))
5946     );
5947     assert_eq!(
5948         unsafe { &(*(::std::ptr::null::<_JNIEnv>())).functions as *const _ as usize },
5949         0usize,
5950         concat!(
5951             "Offset of field: ",
5952             stringify!(_JNIEnv),
5953             "::",
5954             stringify!(functions)
5955         )
5956     );
5957 }
5958 #[repr(C)]
5959 #[derive(Debug, Copy, Clone)]
5960 pub struct JNIInvokeInterface {
5961     pub reserved0: *mut ::std::os::raw::c_void,
5962     pub reserved1: *mut ::std::os::raw::c_void,
5963     pub reserved2: *mut ::std::os::raw::c_void,
5964     pub DestroyJavaVM: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
5965     pub AttachCurrentThread: ::std::option::Option<
5966         unsafe extern "C" fn(
5967             arg1: *mut JavaVM,
5968             arg2: *mut *mut JNIEnv,
5969             arg3: *mut ::std::os::raw::c_void,
5970         ) -> jint,
5971     >,
5972     pub DetachCurrentThread: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
5973     pub GetEnv: ::std::option::Option<
5974         unsafe extern "C" fn(
5975             arg1: *mut JavaVM,
5976             arg2: *mut *mut ::std::os::raw::c_void,
5977             arg3: jint,
5978         ) -> jint,
5979     >,
5980     pub AttachCurrentThreadAsDaemon: ::std::option::Option<
5981         unsafe extern "C" fn(
5982             arg1: *mut JavaVM,
5983             arg2: *mut *mut JNIEnv,
5984             arg3: *mut ::std::os::raw::c_void,
5985         ) -> jint,
5986     >,
5987 }
5988 #[test]
5989 fn bindgen_test_layout_JNIInvokeInterface() {
5990     assert_eq!(
5991         ::std::mem::size_of::<JNIInvokeInterface>(),
5992         32usize,
5993         concat!("Size of: ", stringify!(JNIInvokeInterface))
5994     );
5995     assert_eq!(
5996         ::std::mem::align_of::<JNIInvokeInterface>(),
5997         4usize,
5998         concat!("Alignment of ", stringify!(JNIInvokeInterface))
5999     );
6000     assert_eq!(
6001         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved0 as *const _ as usize },
6002         0usize,
6003         concat!(
6004             "Offset of field: ",
6005             stringify!(JNIInvokeInterface),
6006             "::",
6007             stringify!(reserved0)
6008         )
6009     );
6010     assert_eq!(
6011         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved1 as *const _ as usize },
6012         4usize,
6013         concat!(
6014             "Offset of field: ",
6015             stringify!(JNIInvokeInterface),
6016             "::",
6017             stringify!(reserved1)
6018         )
6019     );
6020     assert_eq!(
6021         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved2 as *const _ as usize },
6022         8usize,
6023         concat!(
6024             "Offset of field: ",
6025             stringify!(JNIInvokeInterface),
6026             "::",
6027             stringify!(reserved2)
6028         )
6029     );
6030     assert_eq!(
6031         unsafe {
6032             &(*(::std::ptr::null::<JNIInvokeInterface>())).DestroyJavaVM as *const _ as usize
6033         },
6034         12usize,
6035         concat!(
6036             "Offset of field: ",
6037             stringify!(JNIInvokeInterface),
6038             "::",
6039             stringify!(DestroyJavaVM)
6040         )
6041     );
6042     assert_eq!(
6043         unsafe {
6044             &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThread as *const _ as usize
6045         },
6046         16usize,
6047         concat!(
6048             "Offset of field: ",
6049             stringify!(JNIInvokeInterface),
6050             "::",
6051             stringify!(AttachCurrentThread)
6052         )
6053     );
6054     assert_eq!(
6055         unsafe {
6056             &(*(::std::ptr::null::<JNIInvokeInterface>())).DetachCurrentThread as *const _ as usize
6057         },
6058         20usize,
6059         concat!(
6060             "Offset of field: ",
6061             stringify!(JNIInvokeInterface),
6062             "::",
6063             stringify!(DetachCurrentThread)
6064         )
6065     );
6066     assert_eq!(
6067         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).GetEnv as *const _ as usize },
6068         24usize,
6069         concat!(
6070             "Offset of field: ",
6071             stringify!(JNIInvokeInterface),
6072             "::",
6073             stringify!(GetEnv)
6074         )
6075     );
6076     assert_eq!(
6077         unsafe {
6078             &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThreadAsDaemon as *const _
6079                 as usize
6080         },
6081         28usize,
6082         concat!(
6083             "Offset of field: ",
6084             stringify!(JNIInvokeInterface),
6085             "::",
6086             stringify!(AttachCurrentThreadAsDaemon)
6087         )
6088     );
6089 }
6090 #[repr(C)]
6091 #[derive(Debug, Copy, Clone)]
6092 pub struct _JavaVM {
6093     pub functions: *const JNIInvokeInterface,
6094 }
6095 #[test]
6096 fn bindgen_test_layout__JavaVM() {
6097     assert_eq!(
6098         ::std::mem::size_of::<_JavaVM>(),
6099         4usize,
6100         concat!("Size of: ", stringify!(_JavaVM))
6101     );
6102     assert_eq!(
6103         ::std::mem::align_of::<_JavaVM>(),
6104         4usize,
6105         concat!("Alignment of ", stringify!(_JavaVM))
6106     );
6107     assert_eq!(
6108         unsafe { &(*(::std::ptr::null::<_JavaVM>())).functions as *const _ as usize },
6109         0usize,
6110         concat!(
6111             "Offset of field: ",
6112             stringify!(_JavaVM),
6113             "::",
6114             stringify!(functions)
6115         )
6116     );
6117 }
6118 #[repr(C)]
6119 #[derive(Debug, Copy, Clone)]
6120 pub struct JavaVMAttachArgs {
6121     pub version: jint,
6122     pub name: *const ::std::os::raw::c_char,
6123     pub group: jobject,
6124 }
6125 #[test]
6126 fn bindgen_test_layout_JavaVMAttachArgs() {
6127     assert_eq!(
6128         ::std::mem::size_of::<JavaVMAttachArgs>(),
6129         12usize,
6130         concat!("Size of: ", stringify!(JavaVMAttachArgs))
6131     );
6132     assert_eq!(
6133         ::std::mem::align_of::<JavaVMAttachArgs>(),
6134         4usize,
6135         concat!("Alignment of ", stringify!(JavaVMAttachArgs))
6136     );
6137     assert_eq!(
6138         unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).version as *const _ as usize },
6139         0usize,
6140         concat!(
6141             "Offset of field: ",
6142             stringify!(JavaVMAttachArgs),
6143             "::",
6144             stringify!(version)
6145         )
6146     );
6147     assert_eq!(
6148         unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).name as *const _ as usize },
6149         4usize,
6150         concat!(
6151             "Offset of field: ",
6152             stringify!(JavaVMAttachArgs),
6153             "::",
6154             stringify!(name)
6155         )
6156     );
6157     assert_eq!(
6158         unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).group as *const _ as usize },
6159         8usize,
6160         concat!(
6161             "Offset of field: ",
6162             stringify!(JavaVMAttachArgs),
6163             "::",
6164             stringify!(group)
6165         )
6166     );
6167 }
6168 #[repr(C)]
6169 #[derive(Debug, Copy, Clone)]
6170 pub struct JavaVMOption {
6171     pub optionString: *const ::std::os::raw::c_char,
6172     pub extraInfo: *mut ::std::os::raw::c_void,
6173 }
6174 #[test]
6175 fn bindgen_test_layout_JavaVMOption() {
6176     assert_eq!(
6177         ::std::mem::size_of::<JavaVMOption>(),
6178         8usize,
6179         concat!("Size of: ", stringify!(JavaVMOption))
6180     );
6181     assert_eq!(
6182         ::std::mem::align_of::<JavaVMOption>(),
6183         4usize,
6184         concat!("Alignment of ", stringify!(JavaVMOption))
6185     );
6186     assert_eq!(
6187         unsafe { &(*(::std::ptr::null::<JavaVMOption>())).optionString as *const _ as usize },
6188         0usize,
6189         concat!(
6190             "Offset of field: ",
6191             stringify!(JavaVMOption),
6192             "::",
6193             stringify!(optionString)
6194         )
6195     );
6196     assert_eq!(
6197         unsafe { &(*(::std::ptr::null::<JavaVMOption>())).extraInfo as *const _ as usize },
6198         4usize,
6199         concat!(
6200             "Offset of field: ",
6201             stringify!(JavaVMOption),
6202             "::",
6203             stringify!(extraInfo)
6204         )
6205     );
6206 }
6207 #[repr(C)]
6208 #[derive(Debug, Copy, Clone)]
6209 pub struct JavaVMInitArgs {
6210     pub version: jint,
6211     pub nOptions: jint,
6212     pub options: *mut JavaVMOption,
6213     pub ignoreUnrecognized: jboolean,
6214 }
6215 #[test]
6216 fn bindgen_test_layout_JavaVMInitArgs() {
6217     assert_eq!(
6218         ::std::mem::size_of::<JavaVMInitArgs>(),
6219         16usize,
6220         concat!("Size of: ", stringify!(JavaVMInitArgs))
6221     );
6222     assert_eq!(
6223         ::std::mem::align_of::<JavaVMInitArgs>(),
6224         4usize,
6225         concat!("Alignment of ", stringify!(JavaVMInitArgs))
6226     );
6227     assert_eq!(
6228         unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).version as *const _ as usize },
6229         0usize,
6230         concat!(
6231             "Offset of field: ",
6232             stringify!(JavaVMInitArgs),
6233             "::",
6234             stringify!(version)
6235         )
6236     );
6237     assert_eq!(
6238         unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).nOptions as *const _ as usize },
6239         4usize,
6240         concat!(
6241             "Offset of field: ",
6242             stringify!(JavaVMInitArgs),
6243             "::",
6244             stringify!(nOptions)
6245         )
6246     );
6247     assert_eq!(
6248         unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).options as *const _ as usize },
6249         8usize,
6250         concat!(
6251             "Offset of field: ",
6252             stringify!(JavaVMInitArgs),
6253             "::",
6254             stringify!(options)
6255         )
6256     );
6257     assert_eq!(
6258         unsafe {
6259             &(*(::std::ptr::null::<JavaVMInitArgs>())).ignoreUnrecognized as *const _ as usize
6260         },
6261         12usize,
6262         concat!(
6263             "Offset of field: ",
6264             stringify!(JavaVMInitArgs),
6265             "::",
6266             stringify!(ignoreUnrecognized)
6267         )
6268     );
6269 }
6270 extern "C" {
6271     pub fn JNI_GetDefaultJavaVMInitArgs(arg1: *mut ::std::os::raw::c_void) -> jint;
6272 }
6273 extern "C" {
6274     pub fn JNI_CreateJavaVM(
6275         arg1: *mut *mut JavaVM,
6276         arg2: *mut *mut JNIEnv,
6277         arg3: *mut ::std::os::raw::c_void,
6278     ) -> jint;
6279 }
6280 extern "C" {
6281     pub fn JNI_GetCreatedJavaVMs(arg1: *mut *mut JavaVM, arg2: jsize, arg3: *mut jsize) -> jint;
6282 }
6283 extern "C" {
6284     pub fn JNI_OnLoad(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void) -> jint;
6285 }
6286 extern "C" {
6287     pub fn JNI_OnUnload(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void);
6288 }
6289 extern "C" {
6290     pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
6291 }
6292 pub const ANDROID_BITMAP_RESULT_SUCCESS: ::std::os::raw::c_int = 0;
6293 pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: ::std::os::raw::c_int = -1;
6294 pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: ::std::os::raw::c_int = -2;
6295 pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: ::std::os::raw::c_int = -3;
6296 pub type _bindgen_ty_2 = ::std::os::raw::c_int;
6297 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = 0;
6298 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = 1;
6299 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = 4;
6300 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = 7;
6301 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = 8;
6302 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_F16: AndroidBitmapFormat = 9;
6303 pub type AndroidBitmapFormat = ::std::os::raw::c_uint;
6304 pub const ANDROID_BITMAP_FLAGS_ALPHA_PREMUL: ::std::os::raw::c_uint = 0;
6305 pub const ANDROID_BITMAP_FLAGS_ALPHA_OPAQUE: ::std::os::raw::c_uint = 1;
6306 pub const ANDROID_BITMAP_FLAGS_ALPHA_UNPREMUL: ::std::os::raw::c_uint = 2;
6307 pub const ANDROID_BITMAP_FLAGS_ALPHA_MASK: ::std::os::raw::c_uint = 3;
6308 pub const ANDROID_BITMAP_FLAGS_ALPHA_SHIFT: ::std::os::raw::c_uint = 0;
6309 pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
6310 pub const ANDROID_BITMAP_FLAGS_IS_HARDWARE: ::std::os::raw::c_int = -2147483648;
6311 pub type _bindgen_ty_4 = ::std::os::raw::c_int;
6312 #[repr(C)]
6313 #[derive(Debug, Copy, Clone)]
6314 pub struct AndroidBitmapInfo {
6315     pub width: u32,
6316     pub height: u32,
6317     pub stride: u32,
6318     pub format: i32,
6319     pub flags: u32,
6320 }
6321 #[test]
6322 fn bindgen_test_layout_AndroidBitmapInfo() {
6323     assert_eq!(
6324         ::std::mem::size_of::<AndroidBitmapInfo>(),
6325         20usize,
6326         concat!("Size of: ", stringify!(AndroidBitmapInfo))
6327     );
6328     assert_eq!(
6329         ::std::mem::align_of::<AndroidBitmapInfo>(),
6330         4usize,
6331         concat!("Alignment of ", stringify!(AndroidBitmapInfo))
6332     );
6333     assert_eq!(
6334         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).width as *const _ as usize },
6335         0usize,
6336         concat!(
6337             "Offset of field: ",
6338             stringify!(AndroidBitmapInfo),
6339             "::",
6340             stringify!(width)
6341         )
6342     );
6343     assert_eq!(
6344         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).height as *const _ as usize },
6345         4usize,
6346         concat!(
6347             "Offset of field: ",
6348             stringify!(AndroidBitmapInfo),
6349             "::",
6350             stringify!(height)
6351         )
6352     );
6353     assert_eq!(
6354         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).stride as *const _ as usize },
6355         8usize,
6356         concat!(
6357             "Offset of field: ",
6358             stringify!(AndroidBitmapInfo),
6359             "::",
6360             stringify!(stride)
6361         )
6362     );
6363     assert_eq!(
6364         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).format as *const _ as usize },
6365         12usize,
6366         concat!(
6367             "Offset of field: ",
6368             stringify!(AndroidBitmapInfo),
6369             "::",
6370             stringify!(format)
6371         )
6372     );
6373     assert_eq!(
6374         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).flags as *const _ as usize },
6375         16usize,
6376         concat!(
6377             "Offset of field: ",
6378             stringify!(AndroidBitmapInfo),
6379             "::",
6380             stringify!(flags)
6381         )
6382     );
6383 }
6384 extern "C" {
6385     pub fn AndroidBitmap_getInfo(
6386         env: *mut JNIEnv,
6387         jbitmap: jobject,
6388         info: *mut AndroidBitmapInfo,
6389     ) -> ::std::os::raw::c_int;
6390 }
6391 extern "C" {
6392     pub fn AndroidBitmap_getDataSpace(env: *mut JNIEnv, jbitmap: jobject) -> i32;
6393 }
6394 extern "C" {
6395     pub fn AndroidBitmap_lockPixels(
6396         env: *mut JNIEnv,
6397         jbitmap: jobject,
6398         addrPtr: *mut *mut ::std::os::raw::c_void,
6399     ) -> ::std::os::raw::c_int;
6400 }
6401 extern "C" {
6402     pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
6403 }
6404 pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_JPEG:
6405     AndroidBitmapCompressFormat = 0;
6406 pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_PNG:
6407     AndroidBitmapCompressFormat = 1;
6408 pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSY:
6409     AndroidBitmapCompressFormat = 3;
6410 pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSLESS:
6411     AndroidBitmapCompressFormat = 4;
6412 pub type AndroidBitmapCompressFormat = ::std::os::raw::c_uint;
6413 pub type AndroidBitmap_CompressWriteFunc = ::std::option::Option<
6414     unsafe extern "C" fn(
6415         userContext: *mut ::std::os::raw::c_void,
6416         data: *const ::std::os::raw::c_void,
6417         size: size_t,
6418     ) -> bool,
6419 >;
6420 extern "C" {
6421     pub fn AndroidBitmap_compress(
6422         info: *const AndroidBitmapInfo,
6423         dataspace: i32,
6424         pixels: *const ::std::os::raw::c_void,
6425         format: i32,
6426         quality: i32,
6427         userContext: *mut ::std::os::raw::c_void,
6428         fn_: AndroidBitmap_CompressWriteFunc,
6429     ) -> ::std::os::raw::c_int;
6430 }
6431 #[repr(C)]
6432 #[derive(Debug, Copy, Clone)]
6433 pub struct AHardwareBuffer {
6434     _unused: [u8; 0],
6435 }
6436 extern "C" {
6437     pub fn AndroidBitmap_getHardwareBuffer(
6438         env: *mut JNIEnv,
6439         bitmap: jobject,
6440         outBuffer: *mut *mut AHardwareBuffer,
6441     ) -> ::std::os::raw::c_int;
6442 }
6443 #[repr(C)]
6444 #[derive(Debug, Copy, Clone)]
6445 pub struct AChoreographer {
6446     _unused: [u8; 0],
6447 }
6448 pub type AChoreographer_frameCallback = ::std::option::Option<
6449     unsafe extern "C" fn(frameTimeNanos: ::std::os::raw::c_long, data: *mut ::std::os::raw::c_void),
6450 >;
6451 pub type AChoreographer_frameCallback64 = ::std::option::Option<
6452     unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
6453 >;
6454 pub type AChoreographer_refreshRateCallback = ::std::option::Option<
6455     unsafe extern "C" fn(vsyncPeriodNanos: i64, data: *mut ::std::os::raw::c_void),
6456 >;
6457 extern "C" {
6458     pub fn AChoreographer_getInstance() -> *mut AChoreographer;
6459 }
6460 extern "C" {
6461     pub fn AChoreographer_postFrameCallback(
6462         choreographer: *mut AChoreographer,
6463         callback: AChoreographer_frameCallback,
6464         data: *mut ::std::os::raw::c_void,
6465     );
6466 }
6467 extern "C" {
6468     pub fn AChoreographer_postFrameCallbackDelayed(
6469         choreographer: *mut AChoreographer,
6470         callback: AChoreographer_frameCallback,
6471         data: *mut ::std::os::raw::c_void,
6472         delayMillis: ::std::os::raw::c_long,
6473     );
6474 }
6475 extern "C" {
6476     pub fn AChoreographer_postFrameCallback64(
6477         choreographer: *mut AChoreographer,
6478         callback: AChoreographer_frameCallback64,
6479         data: *mut ::std::os::raw::c_void,
6480     );
6481 }
6482 extern "C" {
6483     pub fn AChoreographer_postFrameCallbackDelayed64(
6484         choreographer: *mut AChoreographer,
6485         callback: AChoreographer_frameCallback64,
6486         data: *mut ::std::os::raw::c_void,
6487         delayMillis: u32,
6488     );
6489 }
6490 extern "C" {
6491     pub fn AChoreographer_registerRefreshRateCallback(
6492         choreographer: *mut AChoreographer,
6493         arg1: AChoreographer_refreshRateCallback,
6494         data: *mut ::std::os::raw::c_void,
6495     );
6496 }
6497 extern "C" {
6498     pub fn AChoreographer_unregisterRefreshRateCallback(
6499         choreographer: *mut AChoreographer,
6500         arg1: AChoreographer_refreshRateCallback,
6501         data: *mut ::std::os::raw::c_void,
6502     );
6503 }
6504 #[repr(C)]
6505 #[derive(Debug, Copy, Clone)]
6506 pub struct AConfiguration {
6507     _unused: [u8; 0],
6508 }
6509 pub const ACONFIGURATION_ORIENTATION_ANY: ::std::os::raw::c_uint = 0;
6510 pub const ACONFIGURATION_ORIENTATION_PORT: ::std::os::raw::c_uint = 1;
6511 pub const ACONFIGURATION_ORIENTATION_LAND: ::std::os::raw::c_uint = 2;
6512 pub const ACONFIGURATION_ORIENTATION_SQUARE: ::std::os::raw::c_uint = 3;
6513 pub const ACONFIGURATION_TOUCHSCREEN_ANY: ::std::os::raw::c_uint = 0;
6514 pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: ::std::os::raw::c_uint = 1;
6515 pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: ::std::os::raw::c_uint = 2;
6516 pub const ACONFIGURATION_TOUCHSCREEN_FINGER: ::std::os::raw::c_uint = 3;
6517 pub const ACONFIGURATION_DENSITY_DEFAULT: ::std::os::raw::c_uint = 0;
6518 pub const ACONFIGURATION_DENSITY_LOW: ::std::os::raw::c_uint = 120;
6519 pub const ACONFIGURATION_DENSITY_MEDIUM: ::std::os::raw::c_uint = 160;
6520 pub const ACONFIGURATION_DENSITY_TV: ::std::os::raw::c_uint = 213;
6521 pub const ACONFIGURATION_DENSITY_HIGH: ::std::os::raw::c_uint = 240;
6522 pub const ACONFIGURATION_DENSITY_XHIGH: ::std::os::raw::c_uint = 320;
6523 pub const ACONFIGURATION_DENSITY_XXHIGH: ::std::os::raw::c_uint = 480;
6524 pub const ACONFIGURATION_DENSITY_XXXHIGH: ::std::os::raw::c_uint = 640;
6525 pub const ACONFIGURATION_DENSITY_ANY: ::std::os::raw::c_uint = 65534;
6526 pub const ACONFIGURATION_DENSITY_NONE: ::std::os::raw::c_uint = 65535;
6527 pub const ACONFIGURATION_KEYBOARD_ANY: ::std::os::raw::c_uint = 0;
6528 pub const ACONFIGURATION_KEYBOARD_NOKEYS: ::std::os::raw::c_uint = 1;
6529 pub const ACONFIGURATION_KEYBOARD_QWERTY: ::std::os::raw::c_uint = 2;
6530 pub const ACONFIGURATION_KEYBOARD_12KEY: ::std::os::raw::c_uint = 3;
6531 pub const ACONFIGURATION_NAVIGATION_ANY: ::std::os::raw::c_uint = 0;
6532 pub const ACONFIGURATION_NAVIGATION_NONAV: ::std::os::raw::c_uint = 1;
6533 pub const ACONFIGURATION_NAVIGATION_DPAD: ::std::os::raw::c_uint = 2;
6534 pub const ACONFIGURATION_NAVIGATION_TRACKBALL: ::std::os::raw::c_uint = 3;
6535 pub const ACONFIGURATION_NAVIGATION_WHEEL: ::std::os::raw::c_uint = 4;
6536 pub const ACONFIGURATION_KEYSHIDDEN_ANY: ::std::os::raw::c_uint = 0;
6537 pub const ACONFIGURATION_KEYSHIDDEN_NO: ::std::os::raw::c_uint = 1;
6538 pub const ACONFIGURATION_KEYSHIDDEN_YES: ::std::os::raw::c_uint = 2;
6539 pub const ACONFIGURATION_KEYSHIDDEN_SOFT: ::std::os::raw::c_uint = 3;
6540 pub const ACONFIGURATION_NAVHIDDEN_ANY: ::std::os::raw::c_uint = 0;
6541 pub const ACONFIGURATION_NAVHIDDEN_NO: ::std::os::raw::c_uint = 1;
6542 pub const ACONFIGURATION_NAVHIDDEN_YES: ::std::os::raw::c_uint = 2;
6543 pub const ACONFIGURATION_SCREENSIZE_ANY: ::std::os::raw::c_uint = 0;
6544 pub const ACONFIGURATION_SCREENSIZE_SMALL: ::std::os::raw::c_uint = 1;
6545 pub const ACONFIGURATION_SCREENSIZE_NORMAL: ::std::os::raw::c_uint = 2;
6546 pub const ACONFIGURATION_SCREENSIZE_LARGE: ::std::os::raw::c_uint = 3;
6547 pub const ACONFIGURATION_SCREENSIZE_XLARGE: ::std::os::raw::c_uint = 4;
6548 pub const ACONFIGURATION_SCREENLONG_ANY: ::std::os::raw::c_uint = 0;
6549 pub const ACONFIGURATION_SCREENLONG_NO: ::std::os::raw::c_uint = 1;
6550 pub const ACONFIGURATION_SCREENLONG_YES: ::std::os::raw::c_uint = 2;
6551 pub const ACONFIGURATION_SCREENROUND_ANY: ::std::os::raw::c_uint = 0;
6552 pub const ACONFIGURATION_SCREENROUND_NO: ::std::os::raw::c_uint = 1;
6553 pub const ACONFIGURATION_SCREENROUND_YES: ::std::os::raw::c_uint = 2;
6554 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: ::std::os::raw::c_uint = 0;
6555 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: ::std::os::raw::c_uint = 1;
6556 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: ::std::os::raw::c_uint = 2;
6557 pub const ACONFIGURATION_HDR_ANY: ::std::os::raw::c_uint = 0;
6558 pub const ACONFIGURATION_HDR_NO: ::std::os::raw::c_uint = 1;
6559 pub const ACONFIGURATION_HDR_YES: ::std::os::raw::c_uint = 2;
6560 pub const ACONFIGURATION_UI_MODE_TYPE_ANY: ::std::os::raw::c_uint = 0;
6561 pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: ::std::os::raw::c_uint = 1;
6562 pub const ACONFIGURATION_UI_MODE_TYPE_DESK: ::std::os::raw::c_uint = 2;
6563 pub const ACONFIGURATION_UI_MODE_TYPE_CAR: ::std::os::raw::c_uint = 3;
6564 pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: ::std::os::raw::c_uint = 4;
6565 pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: ::std::os::raw::c_uint = 5;
6566 pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: ::std::os::raw::c_uint = 6;
6567 pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: ::std::os::raw::c_uint = 7;
6568 pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: ::std::os::raw::c_uint = 0;
6569 pub const ACONFIGURATION_UI_MODE_NIGHT_NO: ::std::os::raw::c_uint = 1;
6570 pub const ACONFIGURATION_UI_MODE_NIGHT_YES: ::std::os::raw::c_uint = 2;
6571 pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: ::std::os::raw::c_uint = 0;
6572 pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: ::std::os::raw::c_uint = 0;
6573 pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: ::std::os::raw::c_uint = 0;
6574 pub const ACONFIGURATION_LAYOUTDIR_ANY: ::std::os::raw::c_uint = 0;
6575 pub const ACONFIGURATION_LAYOUTDIR_LTR: ::std::os::raw::c_uint = 1;
6576 pub const ACONFIGURATION_LAYOUTDIR_RTL: ::std::os::raw::c_uint = 2;
6577 pub const ACONFIGURATION_MCC: ::std::os::raw::c_uint = 1;
6578 pub const ACONFIGURATION_MNC: ::std::os::raw::c_uint = 2;
6579 pub const ACONFIGURATION_LOCALE: ::std::os::raw::c_uint = 4;
6580 pub const ACONFIGURATION_TOUCHSCREEN: ::std::os::raw::c_uint = 8;
6581 pub const ACONFIGURATION_KEYBOARD: ::std::os::raw::c_uint = 16;
6582 pub const ACONFIGURATION_KEYBOARD_HIDDEN: ::std::os::raw::c_uint = 32;
6583 pub const ACONFIGURATION_NAVIGATION: ::std::os::raw::c_uint = 64;
6584 pub const ACONFIGURATION_ORIENTATION: ::std::os::raw::c_uint = 128;
6585 pub const ACONFIGURATION_DENSITY: ::std::os::raw::c_uint = 256;
6586 pub const ACONFIGURATION_SCREEN_SIZE: ::std::os::raw::c_uint = 512;
6587 pub const ACONFIGURATION_VERSION: ::std::os::raw::c_uint = 1024;
6588 pub const ACONFIGURATION_SCREEN_LAYOUT: ::std::os::raw::c_uint = 2048;
6589 pub const ACONFIGURATION_UI_MODE: ::std::os::raw::c_uint = 4096;
6590 pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: ::std::os::raw::c_uint = 8192;
6591 pub const ACONFIGURATION_LAYOUTDIR: ::std::os::raw::c_uint = 16384;
6592 pub const ACONFIGURATION_SCREEN_ROUND: ::std::os::raw::c_uint = 32768;
6593 pub const ACONFIGURATION_COLOR_MODE: ::std::os::raw::c_uint = 65536;
6594 pub const ACONFIGURATION_MNC_ZERO: ::std::os::raw::c_uint = 65535;
6595 pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
6596 extern "C" {
6597     pub fn AConfiguration_new() -> *mut AConfiguration;
6598 }
6599 extern "C" {
6600     pub fn AConfiguration_delete(config: *mut AConfiguration);
6601 }
6602 extern "C" {
6603     pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
6604 }
6605 extern "C" {
6606     pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
6607 }
6608 extern "C" {
6609     pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
6610 }
6611 extern "C" {
6612     pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
6613 }
6614 extern "C" {
6615     pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
6616 }
6617 extern "C" {
6618     pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
6619 }
6620 extern "C" {
6621     pub fn AConfiguration_getLanguage(
6622         config: *mut AConfiguration,
6623         outLanguage: *mut ::std::os::raw::c_char,
6624     );
6625 }
6626 extern "C" {
6627     pub fn AConfiguration_setLanguage(
6628         config: *mut AConfiguration,
6629         language: *const ::std::os::raw::c_char,
6630     );
6631 }
6632 extern "C" {
6633     pub fn AConfiguration_getCountry(
6634         config: *mut AConfiguration,
6635         outCountry: *mut ::std::os::raw::c_char,
6636     );
6637 }
6638 extern "C" {
6639     pub fn AConfiguration_setCountry(
6640         config: *mut AConfiguration,
6641         country: *const ::std::os::raw::c_char,
6642     );
6643 }
6644 extern "C" {
6645     pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
6646 }
6647 extern "C" {
6648     pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
6649 }
6650 extern "C" {
6651     pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
6652 }
6653 extern "C" {
6654     pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
6655 }
6656 extern "C" {
6657     pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
6658 }
6659 extern "C" {
6660     pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
6661 }
6662 extern "C" {
6663     pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
6664 }
6665 extern "C" {
6666     pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
6667 }
6668 extern "C" {
6669     pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
6670 }
6671 extern "C" {
6672     pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
6673 }
6674 extern "C" {
6675     pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
6676 }
6677 extern "C" {
6678     pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
6679 }
6680 extern "C" {
6681     pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
6682 }
6683 extern "C" {
6684     pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
6685 }
6686 extern "C" {
6687     pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
6688 }
6689 extern "C" {
6690     pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
6691 }
6692 extern "C" {
6693     pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
6694 }
6695 extern "C" {
6696     pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
6697 }
6698 extern "C" {
6699     pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
6700 }
6701 extern "C" {
6702     pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
6703 }
6704 extern "C" {
6705     pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
6706 }
6707 extern "C" {
6708     pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
6709 }
6710 extern "C" {
6711     pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
6712 }
6713 extern "C" {
6714     pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
6715 }
6716 extern "C" {
6717     pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
6718 }
6719 extern "C" {
6720     pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
6721 }
6722 extern "C" {
6723     pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
6724 }
6725 extern "C" {
6726     pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
6727 }
6728 extern "C" {
6729     pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
6730 }
6731 extern "C" {
6732     pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
6733 }
6734 extern "C" {
6735     pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
6736 }
6737 extern "C" {
6738     pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
6739 }
6740 extern "C" {
6741     pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
6742 }
6743 extern "C" {
6744     pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
6745 }
6746 extern "C" {
6747     pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
6748 }
6749 extern "C" {
6750     pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
6751 }
6752 extern "C" {
6753     pub fn AConfiguration_isBetterThan(
6754         base: *mut AConfiguration,
6755         test: *mut AConfiguration,
6756         requested: *mut AConfiguration,
6757     ) -> i32;
6758 }
6759 #[repr(C)]
6760 #[derive(Debug, Copy, Clone)]
6761 pub struct imaxdiv_t {
6762     pub quot: intmax_t,
6763     pub rem: intmax_t,
6764 }
6765 #[test]
6766 fn bindgen_test_layout_imaxdiv_t() {
6767     assert_eq!(
6768         ::std::mem::size_of::<imaxdiv_t>(),
6769         16usize,
6770         concat!("Size of: ", stringify!(imaxdiv_t))
6771     );
6772     assert_eq!(
6773         ::std::mem::align_of::<imaxdiv_t>(),
6774         8usize,
6775         concat!("Alignment of ", stringify!(imaxdiv_t))
6776     );
6777     assert_eq!(
6778         unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).quot as *const _ as usize },
6779         0usize,
6780         concat!(
6781             "Offset of field: ",
6782             stringify!(imaxdiv_t),
6783             "::",
6784             stringify!(quot)
6785         )
6786     );
6787     assert_eq!(
6788         unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).rem as *const _ as usize },
6789         8usize,
6790         concat!(
6791             "Offset of field: ",
6792             stringify!(imaxdiv_t),
6793             "::",
6794             stringify!(rem)
6795         )
6796     );
6797 }
6798 extern "C" {
6799     pub fn imaxabs(__i: intmax_t) -> intmax_t;
6800 }
6801 extern "C" {
6802     pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
6803 }
6804 extern "C" {
6805     pub fn strtoimax(
6806         __s: *const ::std::os::raw::c_char,
6807         __end_ptr: *mut *mut ::std::os::raw::c_char,
6808         __base: ::std::os::raw::c_int,
6809     ) -> intmax_t;
6810 }
6811 extern "C" {
6812     pub fn strtoumax(
6813         __s: *const ::std::os::raw::c_char,
6814         __end_ptr: *mut *mut ::std::os::raw::c_char,
6815         __base: ::std::os::raw::c_int,
6816     ) -> uintmax_t;
6817 }
6818 extern "C" {
6819     pub fn wcstoimax(
6820         __s: *const wchar_t,
6821         __end_ptr: *mut *mut wchar_t,
6822         __base: ::std::os::raw::c_int,
6823     ) -> intmax_t;
6824 }
6825 extern "C" {
6826     pub fn wcstoumax(
6827         __s: *const wchar_t,
6828         __end_ptr: *mut *mut wchar_t,
6829         __base: ::std::os::raw::c_int,
6830     ) -> uintmax_t;
6831 }
6832 pub const ADataSpace_ADATASPACE_UNKNOWN: ADataSpace = 0;
6833 pub const ADataSpace_ADATASPACE_SCRGB_LINEAR: ADataSpace = 406913024;
6834 pub const ADataSpace_ADATASPACE_SRGB: ADataSpace = 142671872;
6835 pub const ADataSpace_ADATASPACE_SCRGB: ADataSpace = 411107328;
6836 pub const ADataSpace_ADATASPACE_DISPLAY_P3: ADataSpace = 143261696;
6837 pub const ADataSpace_ADATASPACE_BT2020_PQ: ADataSpace = 163971072;
6838 pub const ADataSpace_ADATASPACE_ADOBE_RGB: ADataSpace = 151715840;
6839 pub const ADataSpace_ADATASPACE_BT2020: ADataSpace = 147193856;
6840 pub const ADataSpace_ADATASPACE_BT709: ADataSpace = 281083904;
6841 pub const ADataSpace_ADATASPACE_DCI_P3: ADataSpace = 155844608;
6842 pub const ADataSpace_ADATASPACE_SRGB_LINEAR: ADataSpace = 138477568;
6843 pub type ADataSpace = ::std::os::raw::c_uint;
6844 pub const ANDROID_DLEXT_RESERVED_ADDRESS: ::std::os::raw::c_uint = 1;
6845 pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: ::std::os::raw::c_uint = 2;
6846 pub const ANDROID_DLEXT_WRITE_RELRO: ::std::os::raw::c_uint = 4;
6847 pub const ANDROID_DLEXT_USE_RELRO: ::std::os::raw::c_uint = 8;
6848 pub const ANDROID_DLEXT_USE_LIBRARY_FD: ::std::os::raw::c_uint = 16;
6849 pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: ::std::os::raw::c_uint = 32;
6850 pub const ANDROID_DLEXT_FORCE_LOAD: ::std::os::raw::c_uint = 64;
6851 pub const ANDROID_DLEXT_USE_NAMESPACE: ::std::os::raw::c_uint = 512;
6852 pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: ::std::os::raw::c_uint = 1024;
6853 pub const ANDROID_DLEXT_VALID_FLAG_BITS: ::std::os::raw::c_uint = 1663;
6854 pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
6855 #[repr(C)]
6856 #[derive(Debug, Copy, Clone)]
6857 pub struct android_namespace_t {
6858     _unused: [u8; 0],
6859 }
6860 #[repr(C)]
6861 #[derive(Debug, Copy, Clone)]
6862 pub struct android_dlextinfo {
6863     pub flags: u64,
6864     pub reserved_addr: *mut ::std::os::raw::c_void,
6865     pub reserved_size: size_t,
6866     pub relro_fd: ::std::os::raw::c_int,
6867     pub library_fd: ::std::os::raw::c_int,
6868     pub library_fd_offset: off64_t,
6869     pub library_namespace: *mut android_namespace_t,
6870 }
6871 #[test]
6872 fn bindgen_test_layout_android_dlextinfo() {
6873     assert_eq!(
6874         ::std::mem::size_of::<android_dlextinfo>(),
6875         40usize,
6876         concat!("Size of: ", stringify!(android_dlextinfo))
6877     );
6878     assert_eq!(
6879         ::std::mem::align_of::<android_dlextinfo>(),
6880         8usize,
6881         concat!("Alignment of ", stringify!(android_dlextinfo))
6882     );
6883     assert_eq!(
6884         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).flags as *const _ as usize },
6885         0usize,
6886         concat!(
6887             "Offset of field: ",
6888             stringify!(android_dlextinfo),
6889             "::",
6890             stringify!(flags)
6891         )
6892     );
6893     assert_eq!(
6894         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_addr as *const _ as usize },
6895         8usize,
6896         concat!(
6897             "Offset of field: ",
6898             stringify!(android_dlextinfo),
6899             "::",
6900             stringify!(reserved_addr)
6901         )
6902     );
6903     assert_eq!(
6904         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_size as *const _ as usize },
6905         12usize,
6906         concat!(
6907             "Offset of field: ",
6908             stringify!(android_dlextinfo),
6909             "::",
6910             stringify!(reserved_size)
6911         )
6912     );
6913     assert_eq!(
6914         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).relro_fd as *const _ as usize },
6915         16usize,
6916         concat!(
6917             "Offset of field: ",
6918             stringify!(android_dlextinfo),
6919             "::",
6920             stringify!(relro_fd)
6921         )
6922     );
6923     assert_eq!(
6924         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).library_fd as *const _ as usize },
6925         20usize,
6926         concat!(
6927             "Offset of field: ",
6928             stringify!(android_dlextinfo),
6929             "::",
6930             stringify!(library_fd)
6931         )
6932     );
6933     assert_eq!(
6934         unsafe {
6935             &(*(::std::ptr::null::<android_dlextinfo>())).library_fd_offset as *const _ as usize
6936         },
6937         24usize,
6938         concat!(
6939             "Offset of field: ",
6940             stringify!(android_dlextinfo),
6941             "::",
6942             stringify!(library_fd_offset)
6943         )
6944     );
6945     assert_eq!(
6946         unsafe {
6947             &(*(::std::ptr::null::<android_dlextinfo>())).library_namespace as *const _ as usize
6948         },
6949         32usize,
6950         concat!(
6951             "Offset of field: ",
6952             stringify!(android_dlextinfo),
6953             "::",
6954             stringify!(library_namespace)
6955         )
6956     );
6957 }
6958 extern "C" {
6959     pub fn android_dlopen_ext(
6960         __filename: *const ::std::os::raw::c_char,
6961         __flags: ::std::os::raw::c_int,
6962         __info: *const android_dlextinfo,
6963     ) -> *mut ::std::os::raw::c_void;
6964 }
6965 #[repr(C)]
6966 #[derive(Debug, Copy, Clone)]
6967 pub struct ARect {
6968     pub left: i32,
6969     pub top: i32,
6970     pub right: i32,
6971     pub bottom: i32,
6972 }
6973 #[test]
6974 fn bindgen_test_layout_ARect() {
6975     assert_eq!(
6976         ::std::mem::size_of::<ARect>(),
6977         16usize,
6978         concat!("Size of: ", stringify!(ARect))
6979     );
6980     assert_eq!(
6981         ::std::mem::align_of::<ARect>(),
6982         4usize,
6983         concat!("Alignment of ", stringify!(ARect))
6984     );
6985     assert_eq!(
6986         unsafe { &(*(::std::ptr::null::<ARect>())).left as *const _ as usize },
6987         0usize,
6988         concat!(
6989             "Offset of field: ",
6990             stringify!(ARect),
6991             "::",
6992             stringify!(left)
6993         )
6994     );
6995     assert_eq!(
6996         unsafe { &(*(::std::ptr::null::<ARect>())).top as *const _ as usize },
6997         4usize,
6998         concat!(
6999             "Offset of field: ",
7000             stringify!(ARect),
7001             "::",
7002             stringify!(top)
7003         )
7004     );
7005     assert_eq!(
7006         unsafe { &(*(::std::ptr::null::<ARect>())).right as *const _ as usize },
7007         8usize,
7008         concat!(
7009             "Offset of field: ",
7010             stringify!(ARect),
7011             "::",
7012             stringify!(right)
7013         )
7014     );
7015     assert_eq!(
7016         unsafe { &(*(::std::ptr::null::<ARect>())).bottom as *const _ as usize },
7017         12usize,
7018         concat!(
7019             "Offset of field: ",
7020             stringify!(ARect),
7021             "::",
7022             stringify!(bottom)
7023         )
7024     );
7025 }
7026 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format = 1;
7027 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format = 2;
7028 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format = 3;
7029 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format = 4;
7030 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
7031     22;
7032 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
7033     43;
7034 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = 33;
7035 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = 48;
7036 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = 49;
7037 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
7038     50;
7039 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = 51;
7040 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
7041     52;
7042 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = 53;
7043 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format = 35;
7044 pub type AHardwareBuffer_Format = ::std::os::raw::c_uint;
7045 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_NEVER:
7046     AHardwareBuffer_UsageFlags = 0;
7047 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_RARELY:
7048     AHardwareBuffer_UsageFlags = 2;
7049 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN:
7050     AHardwareBuffer_UsageFlags = 3;
7051 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_MASK:
7052     AHardwareBuffer_UsageFlags = 15;
7053 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER:
7054     AHardwareBuffer_UsageFlags = 0;
7055 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY:
7056     AHardwareBuffer_UsageFlags = 32;
7057 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN:
7058     AHardwareBuffer_UsageFlags = 48;
7059 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK:
7060     AHardwareBuffer_UsageFlags = 240;
7061 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE:
7062     AHardwareBuffer_UsageFlags = 256;
7063 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER:
7064     AHardwareBuffer_UsageFlags = 512;
7065 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT:
7066     AHardwareBuffer_UsageFlags = 512;
7067 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY:
7068     AHardwareBuffer_UsageFlags = 2048;
7069 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT:
7070     AHardwareBuffer_UsageFlags = 16384;
7071 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VIDEO_ENCODE:
7072     AHardwareBuffer_UsageFlags = 65536;
7073 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA:
7074     AHardwareBuffer_UsageFlags = 8388608;
7075 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER:
7076     AHardwareBuffer_UsageFlags = 16777216;
7077 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP:
7078     AHardwareBuffer_UsageFlags = 33554432;
7079 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE:
7080     AHardwareBuffer_UsageFlags = 67108864;
7081 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
7082     268435456;
7083 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
7084     536870912;
7085 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
7086     1073741824;
7087 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
7088     2147483648;
7089 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
7090     281474976710656;
7091 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
7092     562949953421312;
7093 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
7094     1125899906842624;
7095 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
7096     2251799813685248;
7097 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
7098     4503599627370496;
7099 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
7100     9007199254740992;
7101 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
7102     18014398509481984;
7103 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
7104     36028797018963968;
7105 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
7106     72057594037927936;
7107 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
7108     144115188075855872;
7109 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
7110     288230376151711744;
7111 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
7112     576460752303423488;
7113 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
7114     1152921504606846976;
7115 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
7116     2305843009213693952;
7117 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
7118     4611686018427387904;
7119 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
7120     9223372036854775808;
7121 pub type AHardwareBuffer_UsageFlags = ::std::os::raw::c_ulonglong;
7122 #[repr(C)]
7123 #[derive(Debug, Copy, Clone)]
7124 pub struct AHardwareBuffer_Desc {
7125     pub width: u32,
7126     pub height: u32,
7127     pub layers: u32,
7128     pub format: u32,
7129     pub usage: u64,
7130     pub stride: u32,
7131     pub rfu0: u32,
7132     pub rfu1: u64,
7133 }
7134 #[test]
7135 fn bindgen_test_layout_AHardwareBuffer_Desc() {
7136     assert_eq!(
7137         ::std::mem::size_of::<AHardwareBuffer_Desc>(),
7138         40usize,
7139         concat!("Size of: ", stringify!(AHardwareBuffer_Desc))
7140     );
7141     assert_eq!(
7142         ::std::mem::align_of::<AHardwareBuffer_Desc>(),
7143         8usize,
7144         concat!("Alignment of ", stringify!(AHardwareBuffer_Desc))
7145     );
7146     assert_eq!(
7147         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).width as *const _ as usize },
7148         0usize,
7149         concat!(
7150             "Offset of field: ",
7151             stringify!(AHardwareBuffer_Desc),
7152             "::",
7153             stringify!(width)
7154         )
7155     );
7156     assert_eq!(
7157         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).height as *const _ as usize },
7158         4usize,
7159         concat!(
7160             "Offset of field: ",
7161             stringify!(AHardwareBuffer_Desc),
7162             "::",
7163             stringify!(height)
7164         )
7165     );
7166     assert_eq!(
7167         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).layers as *const _ as usize },
7168         8usize,
7169         concat!(
7170             "Offset of field: ",
7171             stringify!(AHardwareBuffer_Desc),
7172             "::",
7173             stringify!(layers)
7174         )
7175     );
7176     assert_eq!(
7177         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).format as *const _ as usize },
7178         12usize,
7179         concat!(
7180             "Offset of field: ",
7181             stringify!(AHardwareBuffer_Desc),
7182             "::",
7183             stringify!(format)
7184         )
7185     );
7186     assert_eq!(
7187         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).usage as *const _ as usize },
7188         16usize,
7189         concat!(
7190             "Offset of field: ",
7191             stringify!(AHardwareBuffer_Desc),
7192             "::",
7193             stringify!(usage)
7194         )
7195     );
7196     assert_eq!(
7197         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).stride as *const _ as usize },
7198         24usize,
7199         concat!(
7200             "Offset of field: ",
7201             stringify!(AHardwareBuffer_Desc),
7202             "::",
7203             stringify!(stride)
7204         )
7205     );
7206     assert_eq!(
7207         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu0 as *const _ as usize },
7208         28usize,
7209         concat!(
7210             "Offset of field: ",
7211             stringify!(AHardwareBuffer_Desc),
7212             "::",
7213             stringify!(rfu0)
7214         )
7215     );
7216     assert_eq!(
7217         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu1 as *const _ as usize },
7218         32usize,
7219         concat!(
7220             "Offset of field: ",
7221             stringify!(AHardwareBuffer_Desc),
7222             "::",
7223             stringify!(rfu1)
7224         )
7225     );
7226 }
7227 #[repr(C)]
7228 #[derive(Debug, Copy, Clone)]
7229 pub struct AHardwareBuffer_Plane {
7230     pub data: *mut ::std::os::raw::c_void,
7231     pub pixelStride: u32,
7232     pub rowStride: u32,
7233 }
7234 #[test]
7235 fn bindgen_test_layout_AHardwareBuffer_Plane() {
7236     assert_eq!(
7237         ::std::mem::size_of::<AHardwareBuffer_Plane>(),
7238         12usize,
7239         concat!("Size of: ", stringify!(AHardwareBuffer_Plane))
7240     );
7241     assert_eq!(
7242         ::std::mem::align_of::<AHardwareBuffer_Plane>(),
7243         4usize,
7244         concat!("Alignment of ", stringify!(AHardwareBuffer_Plane))
7245     );
7246     assert_eq!(
7247         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).data as *const _ as usize },
7248         0usize,
7249         concat!(
7250             "Offset of field: ",
7251             stringify!(AHardwareBuffer_Plane),
7252             "::",
7253             stringify!(data)
7254         )
7255     );
7256     assert_eq!(
7257         unsafe {
7258             &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).pixelStride as *const _ as usize
7259         },
7260         4usize,
7261         concat!(
7262             "Offset of field: ",
7263             stringify!(AHardwareBuffer_Plane),
7264             "::",
7265             stringify!(pixelStride)
7266         )
7267     );
7268     assert_eq!(
7269         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).rowStride as *const _ as usize },
7270         8usize,
7271         concat!(
7272             "Offset of field: ",
7273             stringify!(AHardwareBuffer_Plane),
7274             "::",
7275             stringify!(rowStride)
7276         )
7277     );
7278 }
7279 #[repr(C)]
7280 #[derive(Debug, Copy, Clone)]
7281 pub struct AHardwareBuffer_Planes {
7282     pub planeCount: u32,
7283     pub planes: [AHardwareBuffer_Plane; 4usize],
7284 }
7285 #[test]
7286 fn bindgen_test_layout_AHardwareBuffer_Planes() {
7287     assert_eq!(
7288         ::std::mem::size_of::<AHardwareBuffer_Planes>(),
7289         52usize,
7290         concat!("Size of: ", stringify!(AHardwareBuffer_Planes))
7291     );
7292     assert_eq!(
7293         ::std::mem::align_of::<AHardwareBuffer_Planes>(),
7294         4usize,
7295         concat!("Alignment of ", stringify!(AHardwareBuffer_Planes))
7296     );
7297     assert_eq!(
7298         unsafe {
7299             &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planeCount as *const _ as usize
7300         },
7301         0usize,
7302         concat!(
7303             "Offset of field: ",
7304             stringify!(AHardwareBuffer_Planes),
7305             "::",
7306             stringify!(planeCount)
7307         )
7308     );
7309     assert_eq!(
7310         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planes as *const _ as usize },
7311         4usize,
7312         concat!(
7313             "Offset of field: ",
7314             stringify!(AHardwareBuffer_Planes),
7315             "::",
7316             stringify!(planes)
7317         )
7318     );
7319 }
7320 extern "C" {
7321     pub fn AHardwareBuffer_allocate(
7322         desc: *const AHardwareBuffer_Desc,
7323         outBuffer: *mut *mut AHardwareBuffer,
7324     ) -> ::std::os::raw::c_int;
7325 }
7326 extern "C" {
7327     pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
7328 }
7329 extern "C" {
7330     pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
7331 }
7332 extern "C" {
7333     pub fn AHardwareBuffer_describe(
7334         buffer: *const AHardwareBuffer,
7335         outDesc: *mut AHardwareBuffer_Desc,
7336     );
7337 }
7338 extern "C" {
7339     pub fn AHardwareBuffer_lock(
7340         buffer: *mut AHardwareBuffer,
7341         usage: u64,
7342         fence: i32,
7343         rect: *const ARect,
7344         outVirtualAddress: *mut *mut ::std::os::raw::c_void,
7345     ) -> ::std::os::raw::c_int;
7346 }
7347 extern "C" {
7348     pub fn AHardwareBuffer_unlock(
7349         buffer: *mut AHardwareBuffer,
7350         fence: *mut i32,
7351     ) -> ::std::os::raw::c_int;
7352 }
7353 extern "C" {
7354     pub fn AHardwareBuffer_sendHandleToUnixSocket(
7355         buffer: *const AHardwareBuffer,
7356         socketFd: ::std::os::raw::c_int,
7357     ) -> ::std::os::raw::c_int;
7358 }
7359 extern "C" {
7360     pub fn AHardwareBuffer_recvHandleFromUnixSocket(
7361         socketFd: ::std::os::raw::c_int,
7362         outBuffer: *mut *mut AHardwareBuffer,
7363     ) -> ::std::os::raw::c_int;
7364 }
7365 extern "C" {
7366     pub fn AHardwareBuffer_lockPlanes(
7367         buffer: *mut AHardwareBuffer,
7368         usage: u64,
7369         fence: i32,
7370         rect: *const ARect,
7371         outPlanes: *mut AHardwareBuffer_Planes,
7372     ) -> ::std::os::raw::c_int;
7373 }
7374 extern "C" {
7375     pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
7376 }
7377 extern "C" {
7378     pub fn AHardwareBuffer_lockAndGetInfo(
7379         buffer: *mut AHardwareBuffer,
7380         usage: u64,
7381         fence: i32,
7382         rect: *const ARect,
7383         outVirtualAddress: *mut *mut ::std::os::raw::c_void,
7384         outBytesPerPixel: *mut i32,
7385         outBytesPerStride: *mut i32,
7386     ) -> ::std::os::raw::c_int;
7387 }
7388 extern "C" {
7389     pub fn AHardwareBuffer_getId(
7390         buffer: *const AHardwareBuffer,
7391         outId: *mut u64,
7392     ) -> ::std::os::raw::c_int;
7393 }
7394 extern "C" {
7395     pub fn AHardwareBuffer_fromHardwareBuffer(
7396         env: *mut JNIEnv,
7397         hardwareBufferObj: jobject,
7398     ) -> *mut AHardwareBuffer;
7399 }
7400 extern "C" {
7401     pub fn AHardwareBuffer_toHardwareBuffer(
7402         env: *mut JNIEnv,
7403         hardwareBuffer: *mut AHardwareBuffer,
7404     ) -> jobject;
7405 }
7406 pub const AKEYCODE_UNKNOWN: ::std::os::raw::c_uint = 0;
7407 pub const AKEYCODE_SOFT_LEFT: ::std::os::raw::c_uint = 1;
7408 pub const AKEYCODE_SOFT_RIGHT: ::std::os::raw::c_uint = 2;
7409 pub const AKEYCODE_HOME: ::std::os::raw::c_uint = 3;
7410 pub const AKEYCODE_BACK: ::std::os::raw::c_uint = 4;
7411 pub const AKEYCODE_CALL: ::std::os::raw::c_uint = 5;
7412 pub const AKEYCODE_ENDCALL: ::std::os::raw::c_uint = 6;
7413 pub const AKEYCODE_0: ::std::os::raw::c_uint = 7;
7414 pub const AKEYCODE_1: ::std::os::raw::c_uint = 8;
7415 pub const AKEYCODE_2: ::std::os::raw::c_uint = 9;
7416 pub const AKEYCODE_3: ::std::os::raw::c_uint = 10;
7417 pub const AKEYCODE_4: ::std::os::raw::c_uint = 11;
7418 pub const AKEYCODE_5: ::std::os::raw::c_uint = 12;
7419 pub const AKEYCODE_6: ::std::os::raw::c_uint = 13;
7420 pub const AKEYCODE_7: ::std::os::raw::c_uint = 14;
7421 pub const AKEYCODE_8: ::std::os::raw::c_uint = 15;
7422 pub const AKEYCODE_9: ::std::os::raw::c_uint = 16;
7423 pub const AKEYCODE_STAR: ::std::os::raw::c_uint = 17;
7424 pub const AKEYCODE_POUND: ::std::os::raw::c_uint = 18;
7425 pub const AKEYCODE_DPAD_UP: ::std::os::raw::c_uint = 19;
7426 pub const AKEYCODE_DPAD_DOWN: ::std::os::raw::c_uint = 20;
7427 pub const AKEYCODE_DPAD_LEFT: ::std::os::raw::c_uint = 21;
7428 pub const AKEYCODE_DPAD_RIGHT: ::std::os::raw::c_uint = 22;
7429 pub const AKEYCODE_DPAD_CENTER: ::std::os::raw::c_uint = 23;
7430 pub const AKEYCODE_VOLUME_UP: ::std::os::raw::c_uint = 24;
7431 pub const AKEYCODE_VOLUME_DOWN: ::std::os::raw::c_uint = 25;
7432 pub const AKEYCODE_POWER: ::std::os::raw::c_uint = 26;
7433 pub const AKEYCODE_CAMERA: ::std::os::raw::c_uint = 27;
7434 pub const AKEYCODE_CLEAR: ::std::os::raw::c_uint = 28;
7435 pub const AKEYCODE_A: ::std::os::raw::c_uint = 29;
7436 pub const AKEYCODE_B: ::std::os::raw::c_uint = 30;
7437 pub const AKEYCODE_C: ::std::os::raw::c_uint = 31;
7438 pub const AKEYCODE_D: ::std::os::raw::c_uint = 32;
7439 pub const AKEYCODE_E: ::std::os::raw::c_uint = 33;
7440 pub const AKEYCODE_F: ::std::os::raw::c_uint = 34;
7441 pub const AKEYCODE_G: ::std::os::raw::c_uint = 35;
7442 pub const AKEYCODE_H: ::std::os::raw::c_uint = 36;
7443 pub const AKEYCODE_I: ::std::os::raw::c_uint = 37;
7444 pub const AKEYCODE_J: ::std::os::raw::c_uint = 38;
7445 pub const AKEYCODE_K: ::std::os::raw::c_uint = 39;
7446 pub const AKEYCODE_L: ::std::os::raw::c_uint = 40;
7447 pub const AKEYCODE_M: ::std::os::raw::c_uint = 41;
7448 pub const AKEYCODE_N: ::std::os::raw::c_uint = 42;
7449 pub const AKEYCODE_O: ::std::os::raw::c_uint = 43;
7450 pub const AKEYCODE_P: ::std::os::raw::c_uint = 44;
7451 pub const AKEYCODE_Q: ::std::os::raw::c_uint = 45;
7452 pub const AKEYCODE_R: ::std::os::raw::c_uint = 46;
7453 pub const AKEYCODE_S: ::std::os::raw::c_uint = 47;
7454 pub const AKEYCODE_T: ::std::os::raw::c_uint = 48;
7455 pub const AKEYCODE_U: ::std::os::raw::c_uint = 49;
7456 pub const AKEYCODE_V: ::std::os::raw::c_uint = 50;
7457 pub const AKEYCODE_W: ::std::os::raw::c_uint = 51;
7458 pub const AKEYCODE_X: ::std::os::raw::c_uint = 52;
7459 pub const AKEYCODE_Y: ::std::os::raw::c_uint = 53;
7460 pub const AKEYCODE_Z: ::std::os::raw::c_uint = 54;
7461 pub const AKEYCODE_COMMA: ::std::os::raw::c_uint = 55;
7462 pub const AKEYCODE_PERIOD: ::std::os::raw::c_uint = 56;
7463 pub const AKEYCODE_ALT_LEFT: ::std::os::raw::c_uint = 57;
7464 pub const AKEYCODE_ALT_RIGHT: ::std::os::raw::c_uint = 58;
7465 pub const AKEYCODE_SHIFT_LEFT: ::std::os::raw::c_uint = 59;
7466 pub const AKEYCODE_SHIFT_RIGHT: ::std::os::raw::c_uint = 60;
7467 pub const AKEYCODE_TAB: ::std::os::raw::c_uint = 61;
7468 pub const AKEYCODE_SPACE: ::std::os::raw::c_uint = 62;
7469 pub const AKEYCODE_SYM: ::std::os::raw::c_uint = 63;
7470 pub const AKEYCODE_EXPLORER: ::std::os::raw::c_uint = 64;
7471 pub const AKEYCODE_ENVELOPE: ::std::os::raw::c_uint = 65;
7472 pub const AKEYCODE_ENTER: ::std::os::raw::c_uint = 66;
7473 pub const AKEYCODE_DEL: ::std::os::raw::c_uint = 67;
7474 pub const AKEYCODE_GRAVE: ::std::os::raw::c_uint = 68;
7475 pub const AKEYCODE_MINUS: ::std::os::raw::c_uint = 69;
7476 pub const AKEYCODE_EQUALS: ::std::os::raw::c_uint = 70;
7477 pub const AKEYCODE_LEFT_BRACKET: ::std::os::raw::c_uint = 71;
7478 pub const AKEYCODE_RIGHT_BRACKET: ::std::os::raw::c_uint = 72;
7479 pub const AKEYCODE_BACKSLASH: ::std::os::raw::c_uint = 73;
7480 pub const AKEYCODE_SEMICOLON: ::std::os::raw::c_uint = 74;
7481 pub const AKEYCODE_APOSTROPHE: ::std::os::raw::c_uint = 75;
7482 pub const AKEYCODE_SLASH: ::std::os::raw::c_uint = 76;
7483 pub const AKEYCODE_AT: ::std::os::raw::c_uint = 77;
7484 pub const AKEYCODE_NUM: ::std::os::raw::c_uint = 78;
7485 pub const AKEYCODE_HEADSETHOOK: ::std::os::raw::c_uint = 79;
7486 pub const AKEYCODE_FOCUS: ::std::os::raw::c_uint = 80;
7487 pub const AKEYCODE_PLUS: ::std::os::raw::c_uint = 81;
7488 pub const AKEYCODE_MENU: ::std::os::raw::c_uint = 82;
7489 pub const AKEYCODE_NOTIFICATION: ::std::os::raw::c_uint = 83;
7490 pub const AKEYCODE_SEARCH: ::std::os::raw::c_uint = 84;
7491 pub const AKEYCODE_MEDIA_PLAY_PAUSE: ::std::os::raw::c_uint = 85;
7492 pub const AKEYCODE_MEDIA_STOP: ::std::os::raw::c_uint = 86;
7493 pub const AKEYCODE_MEDIA_NEXT: ::std::os::raw::c_uint = 87;
7494 pub const AKEYCODE_MEDIA_PREVIOUS: ::std::os::raw::c_uint = 88;
7495 pub const AKEYCODE_MEDIA_REWIND: ::std::os::raw::c_uint = 89;
7496 pub const AKEYCODE_MEDIA_FAST_FORWARD: ::std::os::raw::c_uint = 90;
7497 pub const AKEYCODE_MUTE: ::std::os::raw::c_uint = 91;
7498 pub const AKEYCODE_PAGE_UP: ::std::os::raw::c_uint = 92;
7499 pub const AKEYCODE_PAGE_DOWN: ::std::os::raw::c_uint = 93;
7500 pub const AKEYCODE_PICTSYMBOLS: ::std::os::raw::c_uint = 94;
7501 pub const AKEYCODE_SWITCH_CHARSET: ::std::os::raw::c_uint = 95;
7502 pub const AKEYCODE_BUTTON_A: ::std::os::raw::c_uint = 96;
7503 pub const AKEYCODE_BUTTON_B: ::std::os::raw::c_uint = 97;
7504 pub const AKEYCODE_BUTTON_C: ::std::os::raw::c_uint = 98;
7505 pub const AKEYCODE_BUTTON_X: ::std::os::raw::c_uint = 99;
7506 pub const AKEYCODE_BUTTON_Y: ::std::os::raw::c_uint = 100;
7507 pub const AKEYCODE_BUTTON_Z: ::std::os::raw::c_uint = 101;
7508 pub const AKEYCODE_BUTTON_L1: ::std::os::raw::c_uint = 102;
7509 pub const AKEYCODE_BUTTON_R1: ::std::os::raw::c_uint = 103;
7510 pub const AKEYCODE_BUTTON_L2: ::std::os::raw::c_uint = 104;
7511 pub const AKEYCODE_BUTTON_R2: ::std::os::raw::c_uint = 105;
7512 pub const AKEYCODE_BUTTON_THUMBL: ::std::os::raw::c_uint = 106;
7513 pub const AKEYCODE_BUTTON_THUMBR: ::std::os::raw::c_uint = 107;
7514 pub const AKEYCODE_BUTTON_START: ::std::os::raw::c_uint = 108;
7515 pub const AKEYCODE_BUTTON_SELECT: ::std::os::raw::c_uint = 109;
7516 pub const AKEYCODE_BUTTON_MODE: ::std::os::raw::c_uint = 110;
7517 pub const AKEYCODE_ESCAPE: ::std::os::raw::c_uint = 111;
7518 pub const AKEYCODE_FORWARD_DEL: ::std::os::raw::c_uint = 112;
7519 pub const AKEYCODE_CTRL_LEFT: ::std::os::raw::c_uint = 113;
7520 pub const AKEYCODE_CTRL_RIGHT: ::std::os::raw::c_uint = 114;
7521 pub const AKEYCODE_CAPS_LOCK: ::std::os::raw::c_uint = 115;
7522 pub const AKEYCODE_SCROLL_LOCK: ::std::os::raw::c_uint = 116;
7523 pub const AKEYCODE_META_LEFT: ::std::os::raw::c_uint = 117;
7524 pub const AKEYCODE_META_RIGHT: ::std::os::raw::c_uint = 118;
7525 pub const AKEYCODE_FUNCTION: ::std::os::raw::c_uint = 119;
7526 pub const AKEYCODE_SYSRQ: ::std::os::raw::c_uint = 120;
7527 pub const AKEYCODE_BREAK: ::std::os::raw::c_uint = 121;
7528 pub const AKEYCODE_MOVE_HOME: ::std::os::raw::c_uint = 122;
7529 pub const AKEYCODE_MOVE_END: ::std::os::raw::c_uint = 123;
7530 pub const AKEYCODE_INSERT: ::std::os::raw::c_uint = 124;
7531 pub const AKEYCODE_FORWARD: ::std::os::raw::c_uint = 125;
7532 pub const AKEYCODE_MEDIA_PLAY: ::std::os::raw::c_uint = 126;
7533 pub const AKEYCODE_MEDIA_PAUSE: ::std::os::raw::c_uint = 127;
7534 pub const AKEYCODE_MEDIA_CLOSE: ::std::os::raw::c_uint = 128;
7535 pub const AKEYCODE_MEDIA_EJECT: ::std::os::raw::c_uint = 129;
7536 pub const AKEYCODE_MEDIA_RECORD: ::std::os::raw::c_uint = 130;
7537 pub const AKEYCODE_F1: ::std::os::raw::c_uint = 131;
7538 pub const AKEYCODE_F2: ::std::os::raw::c_uint = 132;
7539 pub const AKEYCODE_F3: ::std::os::raw::c_uint = 133;
7540 pub const AKEYCODE_F4: ::std::os::raw::c_uint = 134;
7541 pub const AKEYCODE_F5: ::std::os::raw::c_uint = 135;
7542 pub const AKEYCODE_F6: ::std::os::raw::c_uint = 136;
7543 pub const AKEYCODE_F7: ::std::os::raw::c_uint = 137;
7544 pub const AKEYCODE_F8: ::std::os::raw::c_uint = 138;
7545 pub const AKEYCODE_F9: ::std::os::raw::c_uint = 139;
7546 pub const AKEYCODE_F10: ::std::os::raw::c_uint = 140;
7547 pub const AKEYCODE_F11: ::std::os::raw::c_uint = 141;
7548 pub const AKEYCODE_F12: ::std::os::raw::c_uint = 142;
7549 pub const AKEYCODE_NUM_LOCK: ::std::os::raw::c_uint = 143;
7550 pub const AKEYCODE_NUMPAD_0: ::std::os::raw::c_uint = 144;
7551 pub const AKEYCODE_NUMPAD_1: ::std::os::raw::c_uint = 145;
7552 pub const AKEYCODE_NUMPAD_2: ::std::os::raw::c_uint = 146;
7553 pub const AKEYCODE_NUMPAD_3: ::std::os::raw::c_uint = 147;
7554 pub const AKEYCODE_NUMPAD_4: ::std::os::raw::c_uint = 148;
7555 pub const AKEYCODE_NUMPAD_5: ::std::os::raw::c_uint = 149;
7556 pub const AKEYCODE_NUMPAD_6: ::std::os::raw::c_uint = 150;
7557 pub const AKEYCODE_NUMPAD_7: ::std::os::raw::c_uint = 151;
7558 pub const AKEYCODE_NUMPAD_8: ::std::os::raw::c_uint = 152;
7559 pub const AKEYCODE_NUMPAD_9: ::std::os::raw::c_uint = 153;
7560 pub const AKEYCODE_NUMPAD_DIVIDE: ::std::os::raw::c_uint = 154;
7561 pub const AKEYCODE_NUMPAD_MULTIPLY: ::std::os::raw::c_uint = 155;
7562 pub const AKEYCODE_NUMPAD_SUBTRACT: ::std::os::raw::c_uint = 156;
7563 pub const AKEYCODE_NUMPAD_ADD: ::std::os::raw::c_uint = 157;
7564 pub const AKEYCODE_NUMPAD_DOT: ::std::os::raw::c_uint = 158;
7565 pub const AKEYCODE_NUMPAD_COMMA: ::std::os::raw::c_uint = 159;
7566 pub const AKEYCODE_NUMPAD_ENTER: ::std::os::raw::c_uint = 160;
7567 pub const AKEYCODE_NUMPAD_EQUALS: ::std::os::raw::c_uint = 161;
7568 pub const AKEYCODE_NUMPAD_LEFT_PAREN: ::std::os::raw::c_uint = 162;
7569 pub const AKEYCODE_NUMPAD_RIGHT_PAREN: ::std::os::raw::c_uint = 163;
7570 pub const AKEYCODE_VOLUME_MUTE: ::std::os::raw::c_uint = 164;
7571 pub const AKEYCODE_INFO: ::std::os::raw::c_uint = 165;
7572 pub const AKEYCODE_CHANNEL_UP: ::std::os::raw::c_uint = 166;
7573 pub const AKEYCODE_CHANNEL_DOWN: ::std::os::raw::c_uint = 167;
7574 pub const AKEYCODE_ZOOM_IN: ::std::os::raw::c_uint = 168;
7575 pub const AKEYCODE_ZOOM_OUT: ::std::os::raw::c_uint = 169;
7576 pub const AKEYCODE_TV: ::std::os::raw::c_uint = 170;
7577 pub const AKEYCODE_WINDOW: ::std::os::raw::c_uint = 171;
7578 pub const AKEYCODE_GUIDE: ::std::os::raw::c_uint = 172;
7579 pub const AKEYCODE_DVR: ::std::os::raw::c_uint = 173;
7580 pub const AKEYCODE_BOOKMARK: ::std::os::raw::c_uint = 174;
7581 pub const AKEYCODE_CAPTIONS: ::std::os::raw::c_uint = 175;
7582 pub const AKEYCODE_SETTINGS: ::std::os::raw::c_uint = 176;
7583 pub const AKEYCODE_TV_POWER: ::std::os::raw::c_uint = 177;
7584 pub const AKEYCODE_TV_INPUT: ::std::os::raw::c_uint = 178;
7585 pub const AKEYCODE_STB_POWER: ::std::os::raw::c_uint = 179;
7586 pub const AKEYCODE_STB_INPUT: ::std::os::raw::c_uint = 180;
7587 pub const AKEYCODE_AVR_POWER: ::std::os::raw::c_uint = 181;
7588 pub const AKEYCODE_AVR_INPUT: ::std::os::raw::c_uint = 182;
7589 pub const AKEYCODE_PROG_RED: ::std::os::raw::c_uint = 183;
7590 pub const AKEYCODE_PROG_GREEN: ::std::os::raw::c_uint = 184;
7591 pub const AKEYCODE_PROG_YELLOW: ::std::os::raw::c_uint = 185;
7592 pub const AKEYCODE_PROG_BLUE: ::std::os::raw::c_uint = 186;
7593 pub const AKEYCODE_APP_SWITCH: ::std::os::raw::c_uint = 187;
7594 pub const AKEYCODE_BUTTON_1: ::std::os::raw::c_uint = 188;
7595 pub const AKEYCODE_BUTTON_2: ::std::os::raw::c_uint = 189;
7596 pub const AKEYCODE_BUTTON_3: ::std::os::raw::c_uint = 190;
7597 pub const AKEYCODE_BUTTON_4: ::std::os::raw::c_uint = 191;
7598 pub const AKEYCODE_BUTTON_5: ::std::os::raw::c_uint = 192;
7599 pub const AKEYCODE_BUTTON_6: ::std::os::raw::c_uint = 193;
7600 pub const AKEYCODE_BUTTON_7: ::std::os::raw::c_uint = 194;
7601 pub const AKEYCODE_BUTTON_8: ::std::os::raw::c_uint = 195;
7602 pub const AKEYCODE_BUTTON_9: ::std::os::raw::c_uint = 196;
7603 pub const AKEYCODE_BUTTON_10: ::std::os::raw::c_uint = 197;
7604 pub const AKEYCODE_BUTTON_11: ::std::os::raw::c_uint = 198;
7605 pub const AKEYCODE_BUTTON_12: ::std::os::raw::c_uint = 199;
7606 pub const AKEYCODE_BUTTON_13: ::std::os::raw::c_uint = 200;
7607 pub const AKEYCODE_BUTTON_14: ::std::os::raw::c_uint = 201;
7608 pub const AKEYCODE_BUTTON_15: ::std::os::raw::c_uint = 202;
7609 pub const AKEYCODE_BUTTON_16: ::std::os::raw::c_uint = 203;
7610 pub const AKEYCODE_LANGUAGE_SWITCH: ::std::os::raw::c_uint = 204;
7611 pub const AKEYCODE_MANNER_MODE: ::std::os::raw::c_uint = 205;
7612 pub const AKEYCODE_3D_MODE: ::std::os::raw::c_uint = 206;
7613 pub const AKEYCODE_CONTACTS: ::std::os::raw::c_uint = 207;
7614 pub const AKEYCODE_CALENDAR: ::std::os::raw::c_uint = 208;
7615 pub const AKEYCODE_MUSIC: ::std::os::raw::c_uint = 209;
7616 pub const AKEYCODE_CALCULATOR: ::std::os::raw::c_uint = 210;
7617 pub const AKEYCODE_ZENKAKU_HANKAKU: ::std::os::raw::c_uint = 211;
7618 pub const AKEYCODE_EISU: ::std::os::raw::c_uint = 212;
7619 pub const AKEYCODE_MUHENKAN: ::std::os::raw::c_uint = 213;
7620 pub const AKEYCODE_HENKAN: ::std::os::raw::c_uint = 214;
7621 pub const AKEYCODE_KATAKANA_HIRAGANA: ::std::os::raw::c_uint = 215;
7622 pub const AKEYCODE_YEN: ::std::os::raw::c_uint = 216;
7623 pub const AKEYCODE_RO: ::std::os::raw::c_uint = 217;
7624 pub const AKEYCODE_KANA: ::std::os::raw::c_uint = 218;
7625 pub const AKEYCODE_ASSIST: ::std::os::raw::c_uint = 219;
7626 pub const AKEYCODE_BRIGHTNESS_DOWN: ::std::os::raw::c_uint = 220;
7627 pub const AKEYCODE_BRIGHTNESS_UP: ::std::os::raw::c_uint = 221;
7628 pub const AKEYCODE_MEDIA_AUDIO_TRACK: ::std::os::raw::c_uint = 222;
7629 pub const AKEYCODE_SLEEP: ::std::os::raw::c_uint = 223;
7630 pub const AKEYCODE_WAKEUP: ::std::os::raw::c_uint = 224;
7631 pub const AKEYCODE_PAIRING: ::std::os::raw::c_uint = 225;
7632 pub const AKEYCODE_MEDIA_TOP_MENU: ::std::os::raw::c_uint = 226;
7633 pub const AKEYCODE_11: ::std::os::raw::c_uint = 227;
7634 pub const AKEYCODE_12: ::std::os::raw::c_uint = 228;
7635 pub const AKEYCODE_LAST_CHANNEL: ::std::os::raw::c_uint = 229;
7636 pub const AKEYCODE_TV_DATA_SERVICE: ::std::os::raw::c_uint = 230;
7637 pub const AKEYCODE_VOICE_ASSIST: ::std::os::raw::c_uint = 231;
7638 pub const AKEYCODE_TV_RADIO_SERVICE: ::std::os::raw::c_uint = 232;
7639 pub const AKEYCODE_TV_TELETEXT: ::std::os::raw::c_uint = 233;
7640 pub const AKEYCODE_TV_NUMBER_ENTRY: ::std::os::raw::c_uint = 234;
7641 pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: ::std::os::raw::c_uint = 235;
7642 pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: ::std::os::raw::c_uint = 236;
7643 pub const AKEYCODE_TV_SATELLITE: ::std::os::raw::c_uint = 237;
7644 pub const AKEYCODE_TV_SATELLITE_BS: ::std::os::raw::c_uint = 238;
7645 pub const AKEYCODE_TV_SATELLITE_CS: ::std::os::raw::c_uint = 239;
7646 pub const AKEYCODE_TV_SATELLITE_SERVICE: ::std::os::raw::c_uint = 240;
7647 pub const AKEYCODE_TV_NETWORK: ::std::os::raw::c_uint = 241;
7648 pub const AKEYCODE_TV_ANTENNA_CABLE: ::std::os::raw::c_uint = 242;
7649 pub const AKEYCODE_TV_INPUT_HDMI_1: ::std::os::raw::c_uint = 243;
7650 pub const AKEYCODE_TV_INPUT_HDMI_2: ::std::os::raw::c_uint = 244;
7651 pub const AKEYCODE_TV_INPUT_HDMI_3: ::std::os::raw::c_uint = 245;
7652 pub const AKEYCODE_TV_INPUT_HDMI_4: ::std::os::raw::c_uint = 246;
7653 pub const AKEYCODE_TV_INPUT_COMPOSITE_1: ::std::os::raw::c_uint = 247;
7654 pub const AKEYCODE_TV_INPUT_COMPOSITE_2: ::std::os::raw::c_uint = 248;
7655 pub const AKEYCODE_TV_INPUT_COMPONENT_1: ::std::os::raw::c_uint = 249;
7656 pub const AKEYCODE_TV_INPUT_COMPONENT_2: ::std::os::raw::c_uint = 250;
7657 pub const AKEYCODE_TV_INPUT_VGA_1: ::std::os::raw::c_uint = 251;
7658 pub const AKEYCODE_TV_AUDIO_DESCRIPTION: ::std::os::raw::c_uint = 252;
7659 pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: ::std::os::raw::c_uint = 253;
7660 pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: ::std::os::raw::c_uint = 254;
7661 pub const AKEYCODE_TV_ZOOM_MODE: ::std::os::raw::c_uint = 255;
7662 pub const AKEYCODE_TV_CONTENTS_MENU: ::std::os::raw::c_uint = 256;
7663 pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: ::std::os::raw::c_uint = 257;
7664 pub const AKEYCODE_TV_TIMER_PROGRAMMING: ::std::os::raw::c_uint = 258;
7665 pub const AKEYCODE_HELP: ::std::os::raw::c_uint = 259;
7666 pub const AKEYCODE_NAVIGATE_PREVIOUS: ::std::os::raw::c_uint = 260;
7667 pub const AKEYCODE_NAVIGATE_NEXT: ::std::os::raw::c_uint = 261;
7668 pub const AKEYCODE_NAVIGATE_IN: ::std::os::raw::c_uint = 262;
7669 pub const AKEYCODE_NAVIGATE_OUT: ::std::os::raw::c_uint = 263;
7670 pub const AKEYCODE_STEM_PRIMARY: ::std::os::raw::c_uint = 264;
7671 pub const AKEYCODE_STEM_1: ::std::os::raw::c_uint = 265;
7672 pub const AKEYCODE_STEM_2: ::std::os::raw::c_uint = 266;
7673 pub const AKEYCODE_STEM_3: ::std::os::raw::c_uint = 267;
7674 pub const AKEYCODE_DPAD_UP_LEFT: ::std::os::raw::c_uint = 268;
7675 pub const AKEYCODE_DPAD_DOWN_LEFT: ::std::os::raw::c_uint = 269;
7676 pub const AKEYCODE_DPAD_UP_RIGHT: ::std::os::raw::c_uint = 270;
7677 pub const AKEYCODE_DPAD_DOWN_RIGHT: ::std::os::raw::c_uint = 271;
7678 pub const AKEYCODE_MEDIA_SKIP_FORWARD: ::std::os::raw::c_uint = 272;
7679 pub const AKEYCODE_MEDIA_SKIP_BACKWARD: ::std::os::raw::c_uint = 273;
7680 pub const AKEYCODE_MEDIA_STEP_FORWARD: ::std::os::raw::c_uint = 274;
7681 pub const AKEYCODE_MEDIA_STEP_BACKWARD: ::std::os::raw::c_uint = 275;
7682 pub const AKEYCODE_SOFT_SLEEP: ::std::os::raw::c_uint = 276;
7683 pub const AKEYCODE_CUT: ::std::os::raw::c_uint = 277;
7684 pub const AKEYCODE_COPY: ::std::os::raw::c_uint = 278;
7685 pub const AKEYCODE_PASTE: ::std::os::raw::c_uint = 279;
7686 pub const AKEYCODE_SYSTEM_NAVIGATION_UP: ::std::os::raw::c_uint = 280;
7687 pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: ::std::os::raw::c_uint = 281;
7688 pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: ::std::os::raw::c_uint = 282;
7689 pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: ::std::os::raw::c_uint = 283;
7690 pub const AKEYCODE_ALL_APPS: ::std::os::raw::c_uint = 284;
7691 pub const AKEYCODE_REFRESH: ::std::os::raw::c_uint = 285;
7692 pub const AKEYCODE_THUMBS_UP: ::std::os::raw::c_uint = 286;
7693 pub const AKEYCODE_THUMBS_DOWN: ::std::os::raw::c_uint = 287;
7694 pub const AKEYCODE_PROFILE_SWITCH: ::std::os::raw::c_uint = 288;
7695 pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
7696 #[repr(C)]
7697 #[derive(Debug, Copy, Clone)]
7698 pub struct ALooper {
7699     _unused: [u8; 0],
7700 }
7701 extern "C" {
7702     pub fn ALooper_forThread() -> *mut ALooper;
7703 }
7704 pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: ::std::os::raw::c_uint = 1;
7705 pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
7706 extern "C" {
7707     pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
7708 }
7709 pub const ALOOPER_POLL_WAKE: ::std::os::raw::c_int = -1;
7710 pub const ALOOPER_POLL_CALLBACK: ::std::os::raw::c_int = -2;
7711 pub const ALOOPER_POLL_TIMEOUT: ::std::os::raw::c_int = -3;
7712 pub const ALOOPER_POLL_ERROR: ::std::os::raw::c_int = -4;
7713 pub type _bindgen_ty_9 = ::std::os::raw::c_int;
7714 extern "C" {
7715     pub fn ALooper_acquire(looper: *mut ALooper);
7716 }
7717 extern "C" {
7718     pub fn ALooper_release(looper: *mut ALooper);
7719 }
7720 pub const ALOOPER_EVENT_INPUT: ::std::os::raw::c_uint = 1;
7721 pub const ALOOPER_EVENT_OUTPUT: ::std::os::raw::c_uint = 2;
7722 pub const ALOOPER_EVENT_ERROR: ::std::os::raw::c_uint = 4;
7723 pub const ALOOPER_EVENT_HANGUP: ::std::os::raw::c_uint = 8;
7724 pub const ALOOPER_EVENT_INVALID: ::std::os::raw::c_uint = 16;
7725 pub type _bindgen_ty_10 = ::std::os::raw::c_uint;
7726 pub type ALooper_callbackFunc = ::std::option::Option<
7727     unsafe extern "C" fn(
7728         fd: ::std::os::raw::c_int,
7729         events: ::std::os::raw::c_int,
7730         data: *mut ::std::os::raw::c_void,
7731     ) -> ::std::os::raw::c_int,
7732 >;
7733 extern "C" {
7734     pub fn ALooper_pollOnce(
7735         timeoutMillis: ::std::os::raw::c_int,
7736         outFd: *mut ::std::os::raw::c_int,
7737         outEvents: *mut ::std::os::raw::c_int,
7738         outData: *mut *mut ::std::os::raw::c_void,
7739     ) -> ::std::os::raw::c_int;
7740 }
7741 extern "C" {
7742     pub fn ALooper_pollAll(
7743         timeoutMillis: ::std::os::raw::c_int,
7744         outFd: *mut ::std::os::raw::c_int,
7745         outEvents: *mut ::std::os::raw::c_int,
7746         outData: *mut *mut ::std::os::raw::c_void,
7747     ) -> ::std::os::raw::c_int;
7748 }
7749 extern "C" {
7750     pub fn ALooper_wake(looper: *mut ALooper);
7751 }
7752 extern "C" {
7753     pub fn ALooper_addFd(
7754         looper: *mut ALooper,
7755         fd: ::std::os::raw::c_int,
7756         ident: ::std::os::raw::c_int,
7757         events: ::std::os::raw::c_int,
7758         callback: ALooper_callbackFunc,
7759         data: *mut ::std::os::raw::c_void,
7760     ) -> ::std::os::raw::c_int;
7761 }
7762 extern "C" {
7763     pub fn ALooper_removeFd(
7764         looper: *mut ALooper,
7765         fd: ::std::os::raw::c_int,
7766     ) -> ::std::os::raw::c_int;
7767 }
7768 pub const AKEY_STATE_UNKNOWN: ::std::os::raw::c_int = -1;
7769 pub const AKEY_STATE_UP: ::std::os::raw::c_int = 0;
7770 pub const AKEY_STATE_DOWN: ::std::os::raw::c_int = 1;
7771 pub const AKEY_STATE_VIRTUAL: ::std::os::raw::c_int = 2;
7772 pub type _bindgen_ty_11 = ::std::os::raw::c_int;
7773 pub const AMETA_NONE: ::std::os::raw::c_uint = 0;
7774 pub const AMETA_ALT_ON: ::std::os::raw::c_uint = 2;
7775 pub const AMETA_ALT_LEFT_ON: ::std::os::raw::c_uint = 16;
7776 pub const AMETA_ALT_RIGHT_ON: ::std::os::raw::c_uint = 32;
7777 pub const AMETA_SHIFT_ON: ::std::os::raw::c_uint = 1;
7778 pub const AMETA_SHIFT_LEFT_ON: ::std::os::raw::c_uint = 64;
7779 pub const AMETA_SHIFT_RIGHT_ON: ::std::os::raw::c_uint = 128;
7780 pub const AMETA_SYM_ON: ::std::os::raw::c_uint = 4;
7781 pub const AMETA_FUNCTION_ON: ::std::os::raw::c_uint = 8;
7782 pub const AMETA_CTRL_ON: ::std::os::raw::c_uint = 4096;
7783 pub const AMETA_CTRL_LEFT_ON: ::std::os::raw::c_uint = 8192;
7784 pub const AMETA_CTRL_RIGHT_ON: ::std::os::raw::c_uint = 16384;
7785 pub const AMETA_META_ON: ::std::os::raw::c_uint = 65536;
7786 pub const AMETA_META_LEFT_ON: ::std::os::raw::c_uint = 131072;
7787 pub const AMETA_META_RIGHT_ON: ::std::os::raw::c_uint = 262144;
7788 pub const AMETA_CAPS_LOCK_ON: ::std::os::raw::c_uint = 1048576;
7789 pub const AMETA_NUM_LOCK_ON: ::std::os::raw::c_uint = 2097152;
7790 pub const AMETA_SCROLL_LOCK_ON: ::std::os::raw::c_uint = 4194304;
7791 pub type _bindgen_ty_12 = ::std::os::raw::c_uint;
7792 #[repr(C)]
7793 #[derive(Debug, Copy, Clone)]
7794 pub struct AInputEvent {
7795     _unused: [u8; 0],
7796 }
7797 pub const AINPUT_EVENT_TYPE_KEY: ::std::os::raw::c_uint = 1;
7798 pub const AINPUT_EVENT_TYPE_MOTION: ::std::os::raw::c_uint = 2;
7799 pub const AINPUT_EVENT_TYPE_FOCUS: ::std::os::raw::c_uint = 3;
7800 pub const AINPUT_EVENT_TYPE_CAPTURE: ::std::os::raw::c_uint = 4;
7801 pub const AINPUT_EVENT_TYPE_DRAG: ::std::os::raw::c_uint = 5;
7802 pub type _bindgen_ty_13 = ::std::os::raw::c_uint;
7803 pub const AKEY_EVENT_ACTION_DOWN: ::std::os::raw::c_uint = 0;
7804 pub const AKEY_EVENT_ACTION_UP: ::std::os::raw::c_uint = 1;
7805 pub const AKEY_EVENT_ACTION_MULTIPLE: ::std::os::raw::c_uint = 2;
7806 pub type _bindgen_ty_14 = ::std::os::raw::c_uint;
7807 pub const AKEY_EVENT_FLAG_WOKE_HERE: ::std::os::raw::c_uint = 1;
7808 pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: ::std::os::raw::c_uint = 2;
7809 pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: ::std::os::raw::c_uint = 4;
7810 pub const AKEY_EVENT_FLAG_FROM_SYSTEM: ::std::os::raw::c_uint = 8;
7811 pub const AKEY_EVENT_FLAG_EDITOR_ACTION: ::std::os::raw::c_uint = 16;
7812 pub const AKEY_EVENT_FLAG_CANCELED: ::std::os::raw::c_uint = 32;
7813 pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: ::std::os::raw::c_uint = 64;
7814 pub const AKEY_EVENT_FLAG_LONG_PRESS: ::std::os::raw::c_uint = 128;
7815 pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: ::std::os::raw::c_uint = 256;
7816 pub const AKEY_EVENT_FLAG_TRACKING: ::std::os::raw::c_uint = 512;
7817 pub const AKEY_EVENT_FLAG_FALLBACK: ::std::os::raw::c_uint = 1024;
7818 pub type _bindgen_ty_15 = ::std::os::raw::c_uint;
7819 pub const AMOTION_EVENT_ACTION_MASK: ::std::os::raw::c_uint = 255;
7820 pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: ::std::os::raw::c_uint = 65280;
7821 pub const AMOTION_EVENT_ACTION_DOWN: ::std::os::raw::c_uint = 0;
7822 pub const AMOTION_EVENT_ACTION_UP: ::std::os::raw::c_uint = 1;
7823 pub const AMOTION_EVENT_ACTION_MOVE: ::std::os::raw::c_uint = 2;
7824 pub const AMOTION_EVENT_ACTION_CANCEL: ::std::os::raw::c_uint = 3;
7825 pub const AMOTION_EVENT_ACTION_OUTSIDE: ::std::os::raw::c_uint = 4;
7826 pub const AMOTION_EVENT_ACTION_POINTER_DOWN: ::std::os::raw::c_uint = 5;
7827 pub const AMOTION_EVENT_ACTION_POINTER_UP: ::std::os::raw::c_uint = 6;
7828 pub const AMOTION_EVENT_ACTION_HOVER_MOVE: ::std::os::raw::c_uint = 7;
7829 pub const AMOTION_EVENT_ACTION_SCROLL: ::std::os::raw::c_uint = 8;
7830 pub const AMOTION_EVENT_ACTION_HOVER_ENTER: ::std::os::raw::c_uint = 9;
7831 pub const AMOTION_EVENT_ACTION_HOVER_EXIT: ::std::os::raw::c_uint = 10;
7832 pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: ::std::os::raw::c_uint = 11;
7833 pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: ::std::os::raw::c_uint = 12;
7834 pub type _bindgen_ty_16 = ::std::os::raw::c_uint;
7835 pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: ::std::os::raw::c_uint = 1;
7836 pub type _bindgen_ty_17 = ::std::os::raw::c_uint;
7837 pub const AMOTION_EVENT_EDGE_FLAG_NONE: ::std::os::raw::c_uint = 0;
7838 pub const AMOTION_EVENT_EDGE_FLAG_TOP: ::std::os::raw::c_uint = 1;
7839 pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: ::std::os::raw::c_uint = 2;
7840 pub const AMOTION_EVENT_EDGE_FLAG_LEFT: ::std::os::raw::c_uint = 4;
7841 pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: ::std::os::raw::c_uint = 8;
7842 pub type _bindgen_ty_18 = ::std::os::raw::c_uint;
7843 pub const AMOTION_EVENT_AXIS_X: ::std::os::raw::c_uint = 0;
7844 pub const AMOTION_EVENT_AXIS_Y: ::std::os::raw::c_uint = 1;
7845 pub const AMOTION_EVENT_AXIS_PRESSURE: ::std::os::raw::c_uint = 2;
7846 pub const AMOTION_EVENT_AXIS_SIZE: ::std::os::raw::c_uint = 3;
7847 pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: ::std::os::raw::c_uint = 4;
7848 pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: ::std::os::raw::c_uint = 5;
7849 pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: ::std::os::raw::c_uint = 6;
7850 pub const AMOTION_EVENT_AXIS_TOOL_MINOR: ::std::os::raw::c_uint = 7;
7851 pub const AMOTION_EVENT_AXIS_ORIENTATION: ::std::os::raw::c_uint = 8;
7852 pub const AMOTION_EVENT_AXIS_VSCROLL: ::std::os::raw::c_uint = 9;
7853 pub const AMOTION_EVENT_AXIS_HSCROLL: ::std::os::raw::c_uint = 10;
7854 pub const AMOTION_EVENT_AXIS_Z: ::std::os::raw::c_uint = 11;
7855 pub const AMOTION_EVENT_AXIS_RX: ::std::os::raw::c_uint = 12;
7856 pub const AMOTION_EVENT_AXIS_RY: ::std::os::raw::c_uint = 13;
7857 pub const AMOTION_EVENT_AXIS_RZ: ::std::os::raw::c_uint = 14;
7858 pub const AMOTION_EVENT_AXIS_HAT_X: ::std::os::raw::c_uint = 15;
7859 pub const AMOTION_EVENT_AXIS_HAT_Y: ::std::os::raw::c_uint = 16;
7860 pub const AMOTION_EVENT_AXIS_LTRIGGER: ::std::os::raw::c_uint = 17;
7861 pub const AMOTION_EVENT_AXIS_RTRIGGER: ::std::os::raw::c_uint = 18;
7862 pub const AMOTION_EVENT_AXIS_THROTTLE: ::std::os::raw::c_uint = 19;
7863 pub const AMOTION_EVENT_AXIS_RUDDER: ::std::os::raw::c_uint = 20;
7864 pub const AMOTION_EVENT_AXIS_WHEEL: ::std::os::raw::c_uint = 21;
7865 pub const AMOTION_EVENT_AXIS_GAS: ::std::os::raw::c_uint = 22;
7866 pub const AMOTION_EVENT_AXIS_BRAKE: ::std::os::raw::c_uint = 23;
7867 pub const AMOTION_EVENT_AXIS_DISTANCE: ::std::os::raw::c_uint = 24;
7868 pub const AMOTION_EVENT_AXIS_TILT: ::std::os::raw::c_uint = 25;
7869 pub const AMOTION_EVENT_AXIS_SCROLL: ::std::os::raw::c_uint = 26;
7870 pub const AMOTION_EVENT_AXIS_RELATIVE_X: ::std::os::raw::c_uint = 27;
7871 pub const AMOTION_EVENT_AXIS_RELATIVE_Y: ::std::os::raw::c_uint = 28;
7872 pub const AMOTION_EVENT_AXIS_GENERIC_1: ::std::os::raw::c_uint = 32;
7873 pub const AMOTION_EVENT_AXIS_GENERIC_2: ::std::os::raw::c_uint = 33;
7874 pub const AMOTION_EVENT_AXIS_GENERIC_3: ::std::os::raw::c_uint = 34;
7875 pub const AMOTION_EVENT_AXIS_GENERIC_4: ::std::os::raw::c_uint = 35;
7876 pub const AMOTION_EVENT_AXIS_GENERIC_5: ::std::os::raw::c_uint = 36;
7877 pub const AMOTION_EVENT_AXIS_GENERIC_6: ::std::os::raw::c_uint = 37;
7878 pub const AMOTION_EVENT_AXIS_GENERIC_7: ::std::os::raw::c_uint = 38;
7879 pub const AMOTION_EVENT_AXIS_GENERIC_8: ::std::os::raw::c_uint = 39;
7880 pub const AMOTION_EVENT_AXIS_GENERIC_9: ::std::os::raw::c_uint = 40;
7881 pub const AMOTION_EVENT_AXIS_GENERIC_10: ::std::os::raw::c_uint = 41;
7882 pub const AMOTION_EVENT_AXIS_GENERIC_11: ::std::os::raw::c_uint = 42;
7883 pub const AMOTION_EVENT_AXIS_GENERIC_12: ::std::os::raw::c_uint = 43;
7884 pub const AMOTION_EVENT_AXIS_GENERIC_13: ::std::os::raw::c_uint = 44;
7885 pub const AMOTION_EVENT_AXIS_GENERIC_14: ::std::os::raw::c_uint = 45;
7886 pub const AMOTION_EVENT_AXIS_GENERIC_15: ::std::os::raw::c_uint = 46;
7887 pub const AMOTION_EVENT_AXIS_GENERIC_16: ::std::os::raw::c_uint = 47;
7888 pub type _bindgen_ty_19 = ::std::os::raw::c_uint;
7889 pub const AMOTION_EVENT_BUTTON_PRIMARY: ::std::os::raw::c_uint = 1;
7890 pub const AMOTION_EVENT_BUTTON_SECONDARY: ::std::os::raw::c_uint = 2;
7891 pub const AMOTION_EVENT_BUTTON_TERTIARY: ::std::os::raw::c_uint = 4;
7892 pub const AMOTION_EVENT_BUTTON_BACK: ::std::os::raw::c_uint = 8;
7893 pub const AMOTION_EVENT_BUTTON_FORWARD: ::std::os::raw::c_uint = 16;
7894 pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: ::std::os::raw::c_uint = 32;
7895 pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: ::std::os::raw::c_uint = 64;
7896 pub type _bindgen_ty_20 = ::std::os::raw::c_uint;
7897 pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: ::std::os::raw::c_uint = 0;
7898 pub const AMOTION_EVENT_TOOL_TYPE_FINGER: ::std::os::raw::c_uint = 1;
7899 pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: ::std::os::raw::c_uint = 2;
7900 pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: ::std::os::raw::c_uint = 3;
7901 pub const AMOTION_EVENT_TOOL_TYPE_ERASER: ::std::os::raw::c_uint = 4;
7902 pub const AMOTION_EVENT_TOOL_TYPE_PALM: ::std::os::raw::c_uint = 5;
7903 pub type _bindgen_ty_21 = ::std::os::raw::c_uint;
7904 pub const AINPUT_SOURCE_CLASS_MASK: ::std::os::raw::c_uint = 255;
7905 pub const AINPUT_SOURCE_CLASS_NONE: ::std::os::raw::c_uint = 0;
7906 pub const AINPUT_SOURCE_CLASS_BUTTON: ::std::os::raw::c_uint = 1;
7907 pub const AINPUT_SOURCE_CLASS_POINTER: ::std::os::raw::c_uint = 2;
7908 pub const AINPUT_SOURCE_CLASS_NAVIGATION: ::std::os::raw::c_uint = 4;
7909 pub const AINPUT_SOURCE_CLASS_POSITION: ::std::os::raw::c_uint = 8;
7910 pub const AINPUT_SOURCE_CLASS_JOYSTICK: ::std::os::raw::c_uint = 16;
7911 pub type _bindgen_ty_22 = ::std::os::raw::c_uint;
7912 pub const AINPUT_SOURCE_UNKNOWN: ::std::os::raw::c_uint = 0;
7913 pub const AINPUT_SOURCE_KEYBOARD: ::std::os::raw::c_uint = 257;
7914 pub const AINPUT_SOURCE_DPAD: ::std::os::raw::c_uint = 513;
7915 pub const AINPUT_SOURCE_GAMEPAD: ::std::os::raw::c_uint = 1025;
7916 pub const AINPUT_SOURCE_TOUCHSCREEN: ::std::os::raw::c_uint = 4098;
7917 pub const AINPUT_SOURCE_MOUSE: ::std::os::raw::c_uint = 8194;
7918 pub const AINPUT_SOURCE_STYLUS: ::std::os::raw::c_uint = 16386;
7919 pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: ::std::os::raw::c_uint = 49154;
7920 pub const AINPUT_SOURCE_TRACKBALL: ::std::os::raw::c_uint = 65540;
7921 pub const AINPUT_SOURCE_MOUSE_RELATIVE: ::std::os::raw::c_uint = 131076;
7922 pub const AINPUT_SOURCE_TOUCHPAD: ::std::os::raw::c_uint = 1048584;
7923 pub const AINPUT_SOURCE_TOUCH_NAVIGATION: ::std::os::raw::c_uint = 2097152;
7924 pub const AINPUT_SOURCE_JOYSTICK: ::std::os::raw::c_uint = 16777232;
7925 pub const AINPUT_SOURCE_HDMI: ::std::os::raw::c_uint = 33554433;
7926 pub const AINPUT_SOURCE_SENSOR: ::std::os::raw::c_uint = 67108864;
7927 pub const AINPUT_SOURCE_ROTARY_ENCODER: ::std::os::raw::c_uint = 4194304;
7928 pub const AINPUT_SOURCE_ANY: ::std::os::raw::c_uint = 4294967040;
7929 pub type _bindgen_ty_23 = ::std::os::raw::c_uint;
7930 pub const AINPUT_KEYBOARD_TYPE_NONE: ::std::os::raw::c_uint = 0;
7931 pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: ::std::os::raw::c_uint = 1;
7932 pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: ::std::os::raw::c_uint = 2;
7933 pub type _bindgen_ty_24 = ::std::os::raw::c_uint;
7934 pub const AINPUT_MOTION_RANGE_X: ::std::os::raw::c_uint = 0;
7935 pub const AINPUT_MOTION_RANGE_Y: ::std::os::raw::c_uint = 1;
7936 pub const AINPUT_MOTION_RANGE_PRESSURE: ::std::os::raw::c_uint = 2;
7937 pub const AINPUT_MOTION_RANGE_SIZE: ::std::os::raw::c_uint = 3;
7938 pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: ::std::os::raw::c_uint = 4;
7939 pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: ::std::os::raw::c_uint = 5;
7940 pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: ::std::os::raw::c_uint = 6;
7941 pub const AINPUT_MOTION_RANGE_TOOL_MINOR: ::std::os::raw::c_uint = 7;
7942 pub const AINPUT_MOTION_RANGE_ORIENTATION: ::std::os::raw::c_uint = 8;
7943 pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
7944 extern "C" {
7945     pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
7946 }
7947 extern "C" {
7948     pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
7949 }
7950 extern "C" {
7951     pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
7952 }
7953 extern "C" {
7954     pub fn AInputEvent_release(event: *const AInputEvent);
7955 }
7956 extern "C" {
7957     pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
7958 }
7959 extern "C" {
7960     pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
7961 }
7962 extern "C" {
7963     pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
7964 }
7965 extern "C" {
7966     pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
7967 }
7968 extern "C" {
7969     pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
7970 }
7971 extern "C" {
7972     pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
7973 }
7974 extern "C" {
7975     pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
7976 }
7977 extern "C" {
7978     pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
7979 }
7980 extern "C" {
7981     pub fn AKeyEvent_fromJava(env: *mut JNIEnv, keyEvent: jobject) -> *const AInputEvent;
7982 }
7983 extern "C" {
7984     pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
7985 }
7986 extern "C" {
7987     pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
7988 }
7989 extern "C" {
7990     pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
7991 }
7992 extern "C" {
7993     pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
7994 }
7995 extern "C" {
7996     pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
7997 }
7998 extern "C" {
7999     pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
8000 }
8001 extern "C" {
8002     pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
8003 }
8004 extern "C" {
8005     pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
8006 }
8007 extern "C" {
8008     pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
8009 }
8010 extern "C" {
8011     pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
8012 }
8013 extern "C" {
8014     pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
8015 }
8016 extern "C" {
8017     pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> size_t;
8018 }
8019 extern "C" {
8020     pub fn AMotionEvent_getPointerId(
8021         motion_event: *const AInputEvent,
8022         pointer_index: size_t,
8023     ) -> i32;
8024 }
8025 extern "C" {
8026     pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: size_t)
8027         -> i32;
8028 }
8029 extern "C" {
8030     pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
8031 }
8032 extern "C" {
8033     pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
8034 }
8035 extern "C" {
8036     pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
8037 }
8038 extern "C" {
8039     pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
8040 }
8041 extern "C" {
8042     pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: size_t)
8043         -> f32;
8044 }
8045 extern "C" {
8046     pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
8047 }
8048 extern "C" {
8049     pub fn AMotionEvent_getTouchMajor(
8050         motion_event: *const AInputEvent,
8051         pointer_index: size_t,
8052     ) -> f32;
8053 }
8054 extern "C" {
8055     pub fn AMotionEvent_getTouchMinor(
8056         motion_event: *const AInputEvent,
8057         pointer_index: size_t,
8058     ) -> f32;
8059 }
8060 extern "C" {
8061     pub fn AMotionEvent_getToolMajor(
8062         motion_event: *const AInputEvent,
8063         pointer_index: size_t,
8064     ) -> f32;
8065 }
8066 extern "C" {
8067     pub fn AMotionEvent_getToolMinor(
8068         motion_event: *const AInputEvent,
8069         pointer_index: size_t,
8070     ) -> f32;
8071 }
8072 extern "C" {
8073     pub fn AMotionEvent_getOrientation(
8074         motion_event: *const AInputEvent,
8075         pointer_index: size_t,
8076     ) -> f32;
8077 }
8078 extern "C" {
8079     pub fn AMotionEvent_getAxisValue(
8080         motion_event: *const AInputEvent,
8081         axis: i32,
8082         pointer_index: size_t,
8083     ) -> f32;
8084 }
8085 extern "C" {
8086     pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> size_t;
8087 }
8088 extern "C" {
8089     pub fn AMotionEvent_getHistoricalEventTime(
8090         motion_event: *const AInputEvent,
8091         history_index: size_t,
8092     ) -> i64;
8093 }
8094 extern "C" {
8095     pub fn AMotionEvent_getHistoricalRawX(
8096         motion_event: *const AInputEvent,
8097         pointer_index: size_t,
8098         history_index: size_t,
8099     ) -> f32;
8100 }
8101 extern "C" {
8102     pub fn AMotionEvent_getHistoricalRawY(
8103         motion_event: *const AInputEvent,
8104         pointer_index: size_t,
8105         history_index: size_t,
8106     ) -> f32;
8107 }
8108 extern "C" {
8109     pub fn AMotionEvent_getHistoricalX(
8110         motion_event: *const AInputEvent,
8111         pointer_index: size_t,
8112         history_index: size_t,
8113     ) -> f32;
8114 }
8115 extern "C" {
8116     pub fn AMotionEvent_getHistoricalY(
8117         motion_event: *const AInputEvent,
8118         pointer_index: size_t,
8119         history_index: size_t,
8120     ) -> f32;
8121 }
8122 extern "C" {
8123     pub fn AMotionEvent_getHistoricalPressure(
8124         motion_event: *const AInputEvent,
8125         pointer_index: size_t,
8126         history_index: size_t,
8127     ) -> f32;
8128 }
8129 extern "C" {
8130     pub fn AMotionEvent_getHistoricalSize(
8131         motion_event: *const AInputEvent,
8132         pointer_index: size_t,
8133         history_index: size_t,
8134     ) -> f32;
8135 }
8136 extern "C" {
8137     pub fn AMotionEvent_getHistoricalTouchMajor(
8138         motion_event: *const AInputEvent,
8139         pointer_index: size_t,
8140         history_index: size_t,
8141     ) -> f32;
8142 }
8143 extern "C" {
8144     pub fn AMotionEvent_getHistoricalTouchMinor(
8145         motion_event: *const AInputEvent,
8146         pointer_index: size_t,
8147         history_index: size_t,
8148     ) -> f32;
8149 }
8150 extern "C" {
8151     pub fn AMotionEvent_getHistoricalToolMajor(
8152         motion_event: *const AInputEvent,
8153         pointer_index: size_t,
8154         history_index: size_t,
8155     ) -> f32;
8156 }
8157 extern "C" {
8158     pub fn AMotionEvent_getHistoricalToolMinor(
8159         motion_event: *const AInputEvent,
8160         pointer_index: size_t,
8161         history_index: size_t,
8162     ) -> f32;
8163 }
8164 extern "C" {
8165     pub fn AMotionEvent_getHistoricalOrientation(
8166         motion_event: *const AInputEvent,
8167         pointer_index: size_t,
8168         history_index: size_t,
8169     ) -> f32;
8170 }
8171 extern "C" {
8172     pub fn AMotionEvent_getHistoricalAxisValue(
8173         motion_event: *const AInputEvent,
8174         axis: i32,
8175         pointer_index: size_t,
8176         history_index: size_t,
8177     ) -> f32;
8178 }
8179 extern "C" {
8180     pub fn AMotionEvent_fromJava(env: *mut JNIEnv, motionEvent: jobject) -> *const AInputEvent;
8181 }
8182 #[repr(C)]
8183 #[derive(Debug, Copy, Clone)]
8184 pub struct AInputQueue {
8185     _unused: [u8; 0],
8186 }
8187 extern "C" {
8188     pub fn AInputQueue_attachLooper(
8189         queue: *mut AInputQueue,
8190         looper: *mut ALooper,
8191         ident: ::std::os::raw::c_int,
8192         callback: ALooper_callbackFunc,
8193         data: *mut ::std::os::raw::c_void,
8194     );
8195 }
8196 extern "C" {
8197     pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
8198 }
8199 extern "C" {
8200     pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
8201 }
8202 extern "C" {
8203     pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
8204 }
8205 extern "C" {
8206     pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
8207 }
8208 extern "C" {
8209     pub fn AInputQueue_finishEvent(
8210         queue: *mut AInputQueue,
8211         event: *mut AInputEvent,
8212         handled: ::std::os::raw::c_int,
8213     );
8214 }
8215 pub const android_LogPriority_ANDROID_LOG_UNKNOWN: android_LogPriority = 0;
8216 pub const android_LogPriority_ANDROID_LOG_DEFAULT: android_LogPriority = 1;
8217 pub const android_LogPriority_ANDROID_LOG_VERBOSE: android_LogPriority = 2;
8218 pub const android_LogPriority_ANDROID_LOG_DEBUG: android_LogPriority = 3;
8219 pub const android_LogPriority_ANDROID_LOG_INFO: android_LogPriority = 4;
8220 pub const android_LogPriority_ANDROID_LOG_WARN: android_LogPriority = 5;
8221 pub const android_LogPriority_ANDROID_LOG_ERROR: android_LogPriority = 6;
8222 pub const android_LogPriority_ANDROID_LOG_FATAL: android_LogPriority = 7;
8223 pub const android_LogPriority_ANDROID_LOG_SILENT: android_LogPriority = 8;
8224 pub type android_LogPriority = ::std::os::raw::c_uint;
8225 extern "C" {
8226     pub fn __android_log_write(
8227         prio: ::std::os::raw::c_int,
8228         tag: *const ::std::os::raw::c_char,
8229         text: *const ::std::os::raw::c_char,
8230     ) -> ::std::os::raw::c_int;
8231 }
8232 extern "C" {
8233     pub fn __android_log_print(
8234         prio: ::std::os::raw::c_int,
8235         tag: *const ::std::os::raw::c_char,
8236         fmt: *const ::std::os::raw::c_char,
8237         ...
8238     ) -> ::std::os::raw::c_int;
8239 }
8240 extern "C" {
8241     pub fn __android_log_vprint(
8242         prio: ::std::os::raw::c_int,
8243         tag: *const ::std::os::raw::c_char,
8244         fmt: *const ::std::os::raw::c_char,
8245         ap: va_list,
8246     ) -> ::std::os::raw::c_int;
8247 }
8248 extern "C" {
8249     pub fn __android_log_assert(
8250         cond: *const ::std::os::raw::c_char,
8251         tag: *const ::std::os::raw::c_char,
8252         fmt: *const ::std::os::raw::c_char,
8253         ...
8254     );
8255 }
8256 pub const log_id_LOG_ID_MIN: log_id = 0;
8257 pub const log_id_LOG_ID_MAIN: log_id = 0;
8258 pub const log_id_LOG_ID_RADIO: log_id = 1;
8259 pub const log_id_LOG_ID_EVENTS: log_id = 2;
8260 pub const log_id_LOG_ID_SYSTEM: log_id = 3;
8261 pub const log_id_LOG_ID_CRASH: log_id = 4;
8262 pub const log_id_LOG_ID_STATS: log_id = 5;
8263 pub const log_id_LOG_ID_SECURITY: log_id = 6;
8264 pub const log_id_LOG_ID_KERNEL: log_id = 7;
8265 pub const log_id_LOG_ID_MAX: log_id = 8;
8266 pub const log_id_LOG_ID_DEFAULT: log_id = 2147483647;
8267 pub type log_id = ::std::os::raw::c_uint;
8268 pub use self::log_id as log_id_t;
8269 extern "C" {
8270     pub fn __android_log_buf_write(
8271         bufID: ::std::os::raw::c_int,
8272         prio: ::std::os::raw::c_int,
8273         tag: *const ::std::os::raw::c_char,
8274         text: *const ::std::os::raw::c_char,
8275     ) -> ::std::os::raw::c_int;
8276 }
8277 extern "C" {
8278     pub fn __android_log_buf_print(
8279         bufID: ::std::os::raw::c_int,
8280         prio: ::std::os::raw::c_int,
8281         tag: *const ::std::os::raw::c_char,
8282         fmt: *const ::std::os::raw::c_char,
8283         ...
8284     ) -> ::std::os::raw::c_int;
8285 }
8286 #[repr(C)]
8287 #[derive(Debug, Copy, Clone)]
8288 pub struct __android_log_message {
8289     pub struct_size: size_t,
8290     pub buffer_id: i32,
8291     pub priority: i32,
8292     pub tag: *const ::std::os::raw::c_char,
8293     pub file: *const ::std::os::raw::c_char,
8294     pub line: u32,
8295     pub message: *const ::std::os::raw::c_char,
8296 }
8297 #[test]
8298 fn bindgen_test_layout___android_log_message() {
8299     assert_eq!(
8300         ::std::mem::size_of::<__android_log_message>(),
8301         28usize,
8302         concat!("Size of: ", stringify!(__android_log_message))
8303     );
8304     assert_eq!(
8305         ::std::mem::align_of::<__android_log_message>(),
8306         4usize,
8307         concat!("Alignment of ", stringify!(__android_log_message))
8308     );
8309     assert_eq!(
8310         unsafe {
8311             &(*(::std::ptr::null::<__android_log_message>())).struct_size as *const _ as usize
8312         },
8313         0usize,
8314         concat!(
8315             "Offset of field: ",
8316             stringify!(__android_log_message),
8317             "::",
8318             stringify!(struct_size)
8319         )
8320     );
8321     assert_eq!(
8322         unsafe { &(*(::std::ptr::null::<__android_log_message>())).buffer_id as *const _ as usize },
8323         4usize,
8324         concat!(
8325             "Offset of field: ",
8326             stringify!(__android_log_message),
8327             "::",
8328             stringify!(buffer_id)
8329         )
8330     );
8331     assert_eq!(
8332         unsafe { &(*(::std::ptr::null::<__android_log_message>())).priority as *const _ as usize },
8333         8usize,
8334         concat!(
8335             "Offset of field: ",
8336             stringify!(__android_log_message),
8337             "::",
8338             stringify!(priority)
8339         )
8340     );
8341     assert_eq!(
8342         unsafe { &(*(::std::ptr::null::<__android_log_message>())).tag as *const _ as usize },
8343         12usize,
8344         concat!(
8345             "Offset of field: ",
8346             stringify!(__android_log_message),
8347             "::",
8348             stringify!(tag)
8349         )
8350     );
8351     assert_eq!(
8352         unsafe { &(*(::std::ptr::null::<__android_log_message>())).file as *const _ as usize },
8353         16usize,
8354         concat!(
8355             "Offset of field: ",
8356             stringify!(__android_log_message),
8357             "::",
8358             stringify!(file)
8359         )
8360     );
8361     assert_eq!(
8362         unsafe { &(*(::std::ptr::null::<__android_log_message>())).line as *const _ as usize },
8363         20usize,
8364         concat!(
8365             "Offset of field: ",
8366             stringify!(__android_log_message),
8367             "::",
8368             stringify!(line)
8369         )
8370     );
8371     assert_eq!(
8372         unsafe { &(*(::std::ptr::null::<__android_log_message>())).message as *const _ as usize },
8373         24usize,
8374         concat!(
8375             "Offset of field: ",
8376             stringify!(__android_log_message),
8377             "::",
8378             stringify!(message)
8379         )
8380     );
8381 }
8382 pub type __android_logger_function =
8383     ::std::option::Option<unsafe extern "C" fn(log_message: *const __android_log_message)>;
8384 pub type __android_aborter_function =
8385     ::std::option::Option<unsafe extern "C" fn(abort_message: *const ::std::os::raw::c_char)>;
8386 extern "C" {
8387     pub fn __android_log_write_log_message(log_message: *mut __android_log_message);
8388 }
8389 extern "C" {
8390     pub fn __android_log_set_logger(logger: __android_logger_function);
8391 }
8392 extern "C" {
8393     pub fn __android_log_logd_logger(log_message: *const __android_log_message);
8394 }
8395 extern "C" {
8396     pub fn __android_log_stderr_logger(log_message: *const __android_log_message);
8397 }
8398 extern "C" {
8399     pub fn __android_log_set_aborter(aborter: __android_aborter_function);
8400 }
8401 extern "C" {
8402     pub fn __android_log_call_aborter(abort_message: *const ::std::os::raw::c_char);
8403 }
8404 extern "C" {
8405     pub fn __android_log_default_aborter(abort_message: *const ::std::os::raw::c_char);
8406 }
8407 extern "C" {
8408     pub fn __android_log_is_loggable(
8409         prio: ::std::os::raw::c_int,
8410         tag: *const ::std::os::raw::c_char,
8411         default_prio: ::std::os::raw::c_int,
8412     ) -> ::std::os::raw::c_int;
8413 }
8414 extern "C" {
8415     pub fn __android_log_is_loggable_len(
8416         prio: ::std::os::raw::c_int,
8417         tag: *const ::std::os::raw::c_char,
8418         len: size_t,
8419         default_prio: ::std::os::raw::c_int,
8420     ) -> ::std::os::raw::c_int;
8421 }
8422 extern "C" {
8423     pub fn __android_log_set_minimum_priority(priority: i32) -> i32;
8424 }
8425 extern "C" {
8426     pub fn __android_log_get_minimum_priority() -> i32;
8427 }
8428 extern "C" {
8429     pub fn __android_log_set_default_tag(tag: *const ::std::os::raw::c_char);
8430 }
8431 #[repr(C)]
8432 #[derive(Debug, Copy, Clone)]
8433 pub struct flock {
8434     pub l_type: ::std::os::raw::c_short,
8435     pub l_whence: ::std::os::raw::c_short,
8436     pub l_start: off_t,
8437     pub l_len: off_t,
8438     pub l_pid: pid_t,
8439 }
8440 #[test]
8441 fn bindgen_test_layout_flock() {
8442     assert_eq!(
8443         ::std::mem::size_of::<flock>(),
8444         16usize,
8445         concat!("Size of: ", stringify!(flock))
8446     );
8447     assert_eq!(
8448         ::std::mem::align_of::<flock>(),
8449         4usize,
8450         concat!("Alignment of ", stringify!(flock))
8451     );
8452     assert_eq!(
8453         unsafe { &(*(::std::ptr::null::<flock>())).l_type as *const _ as usize },
8454         0usize,
8455         concat!(
8456             "Offset of field: ",
8457             stringify!(flock),
8458             "::",
8459             stringify!(l_type)
8460         )
8461     );
8462     assert_eq!(
8463         unsafe { &(*(::std::ptr::null::<flock>())).l_whence as *const _ as usize },
8464         2usize,
8465         concat!(
8466             "Offset of field: ",
8467             stringify!(flock),
8468             "::",
8469             stringify!(l_whence)
8470         )
8471     );
8472     assert_eq!(
8473         unsafe { &(*(::std::ptr::null::<flock>())).l_start as *const _ as usize },
8474         4usize,
8475         concat!(
8476             "Offset of field: ",
8477             stringify!(flock),
8478             "::",
8479             stringify!(l_start)
8480         )
8481     );
8482     assert_eq!(
8483         unsafe { &(*(::std::ptr::null::<flock>())).l_len as *const _ as usize },
8484         8usize,
8485         concat!(
8486             "Offset of field: ",
8487             stringify!(flock),
8488             "::",
8489             stringify!(l_len)
8490         )
8491     );
8492     assert_eq!(
8493         unsafe { &(*(::std::ptr::null::<flock>())).l_pid as *const _ as usize },
8494         12usize,
8495         concat!(
8496             "Offset of field: ",
8497             stringify!(flock),
8498             "::",
8499             stringify!(l_pid)
8500         )
8501     );
8502 }
8503 #[repr(C)]
8504 #[derive(Debug, Copy, Clone)]
8505 pub struct flock64 {
8506     pub l_type: ::std::os::raw::c_short,
8507     pub l_whence: ::std::os::raw::c_short,
8508     pub l_start: off64_t,
8509     pub l_len: off64_t,
8510     pub l_pid: pid_t,
8511 }
8512 #[test]
8513 fn bindgen_test_layout_flock64() {
8514     assert_eq!(
8515         ::std::mem::size_of::<flock64>(),
8516         32usize,
8517         concat!("Size of: ", stringify!(flock64))
8518     );
8519     assert_eq!(
8520         ::std::mem::align_of::<flock64>(),
8521         8usize,
8522         concat!("Alignment of ", stringify!(flock64))
8523     );
8524     assert_eq!(
8525         unsafe { &(*(::std::ptr::null::<flock64>())).l_type as *const _ as usize },
8526         0usize,
8527         concat!(
8528             "Offset of field: ",
8529             stringify!(flock64),
8530             "::",
8531             stringify!(l_type)
8532         )
8533     );
8534     assert_eq!(
8535         unsafe { &(*(::std::ptr::null::<flock64>())).l_whence as *const _ as usize },
8536         2usize,
8537         concat!(
8538             "Offset of field: ",
8539             stringify!(flock64),
8540             "::",
8541             stringify!(l_whence)
8542         )
8543     );
8544     assert_eq!(
8545         unsafe { &(*(::std::ptr::null::<flock64>())).l_start as *const _ as usize },
8546         8usize,
8547         concat!(
8548             "Offset of field: ",
8549             stringify!(flock64),
8550             "::",
8551             stringify!(l_start)
8552         )
8553     );
8554     assert_eq!(
8555         unsafe { &(*(::std::ptr::null::<flock64>())).l_len as *const _ as usize },
8556         16usize,
8557         concat!(
8558             "Offset of field: ",
8559             stringify!(flock64),
8560             "::",
8561             stringify!(l_len)
8562         )
8563     );
8564     assert_eq!(
8565         unsafe { &(*(::std::ptr::null::<flock64>())).l_pid as *const _ as usize },
8566         24usize,
8567         concat!(
8568             "Offset of field: ",
8569             stringify!(flock64),
8570             "::",
8571             stringify!(l_pid)
8572         )
8573     );
8574 }
8575 #[repr(C)]
8576 #[derive(Debug, Copy, Clone)]
8577 pub struct f_owner_ex {
8578     pub type_: ::std::os::raw::c_int,
8579     pub pid: __kernel_pid_t,
8580 }
8581 #[test]
8582 fn bindgen_test_layout_f_owner_ex() {
8583     assert_eq!(
8584         ::std::mem::size_of::<f_owner_ex>(),
8585         8usize,
8586         concat!("Size of: ", stringify!(f_owner_ex))
8587     );
8588     assert_eq!(
8589         ::std::mem::align_of::<f_owner_ex>(),
8590         4usize,
8591         concat!("Alignment of ", stringify!(f_owner_ex))
8592     );
8593     assert_eq!(
8594         unsafe { &(*(::std::ptr::null::<f_owner_ex>())).type_ as *const _ as usize },
8595         0usize,
8596         concat!(
8597             "Offset of field: ",
8598             stringify!(f_owner_ex),
8599             "::",
8600             stringify!(type_)
8601         )
8602     );
8603     assert_eq!(
8604         unsafe { &(*(::std::ptr::null::<f_owner_ex>())).pid as *const _ as usize },
8605         4usize,
8606         concat!(
8607             "Offset of field: ",
8608             stringify!(f_owner_ex),
8609             "::",
8610             stringify!(pid)
8611         )
8612     );
8613 }
8614 #[repr(C)]
8615 #[derive(Debug, Copy, Clone)]
8616 pub struct iovec {
8617     pub iov_base: *mut ::std::os::raw::c_void,
8618     pub iov_len: __kernel_size_t,
8619 }
8620 #[test]
8621 fn bindgen_test_layout_iovec() {
8622     assert_eq!(
8623         ::std::mem::size_of::<iovec>(),
8624         8usize,
8625         concat!("Size of: ", stringify!(iovec))
8626     );
8627     assert_eq!(
8628         ::std::mem::align_of::<iovec>(),
8629         4usize,
8630         concat!("Alignment of ", stringify!(iovec))
8631     );
8632     assert_eq!(
8633         unsafe { &(*(::std::ptr::null::<iovec>())).iov_base as *const _ as usize },
8634         0usize,
8635         concat!(
8636             "Offset of field: ",
8637             stringify!(iovec),
8638             "::",
8639             stringify!(iov_base)
8640         )
8641     );
8642     assert_eq!(
8643         unsafe { &(*(::std::ptr::null::<iovec>())).iov_len as *const _ as usize },
8644         4usize,
8645         concat!(
8646             "Offset of field: ",
8647             stringify!(iovec),
8648             "::",
8649             stringify!(iov_len)
8650         )
8651     );
8652 }
8653 pub type sa_family_t = ::std::os::raw::c_ushort;
8654 pub const SHUT_RD: ::std::os::raw::c_uint = 0;
8655 pub const SHUT_WR: ::std::os::raw::c_uint = 1;
8656 pub const SHUT_RDWR: ::std::os::raw::c_uint = 2;
8657 pub type _bindgen_ty_26 = ::std::os::raw::c_uint;
8658 #[repr(C)]
8659 #[derive(Debug, Copy, Clone)]
8660 pub struct sockaddr {
8661     pub sa_family: sa_family_t,
8662     pub sa_data: [::std::os::raw::c_char; 14usize],
8663 }
8664 #[test]
8665 fn bindgen_test_layout_sockaddr() {
8666     assert_eq!(
8667         ::std::mem::size_of::<sockaddr>(),
8668         16usize,
8669         concat!("Size of: ", stringify!(sockaddr))
8670     );
8671     assert_eq!(
8672         ::std::mem::align_of::<sockaddr>(),
8673         2usize,
8674         concat!("Alignment of ", stringify!(sockaddr))
8675     );
8676     assert_eq!(
8677         unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_family as *const _ as usize },
8678         0usize,
8679         concat!(
8680             "Offset of field: ",
8681             stringify!(sockaddr),
8682             "::",
8683             stringify!(sa_family)
8684         )
8685     );
8686     assert_eq!(
8687         unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_data as *const _ as usize },
8688         2usize,
8689         concat!(
8690             "Offset of field: ",
8691             stringify!(sockaddr),
8692             "::",
8693             stringify!(sa_data)
8694         )
8695     );
8696 }
8697 #[repr(C)]
8698 #[derive(Copy, Clone)]
8699 pub struct sockaddr_storage {
8700     pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1,
8701 }
8702 #[repr(C)]
8703 #[derive(Copy, Clone)]
8704 pub union sockaddr_storage__bindgen_ty_1 {
8705     pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
8706     pub __align: *mut ::std::os::raw::c_void,
8707 }
8708 #[repr(C)]
8709 #[derive(Debug, Copy, Clone)]
8710 pub struct sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
8711     pub ss_family: sa_family_t,
8712     pub __data: [::std::os::raw::c_char; 126usize],
8713 }
8714 #[test]
8715 fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1__bindgen_ty_1() {
8716     assert_eq!(
8717         ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
8718         128usize,
8719         concat!(
8720             "Size of: ",
8721             stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
8722         )
8723     );
8724     assert_eq!(
8725         ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
8726         2usize,
8727         concat!(
8728             "Alignment of ",
8729             stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
8730         )
8731     );
8732     assert_eq!(
8733         unsafe {
8734             &(*(::std::ptr::null::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>())).ss_family
8735                 as *const _ as usize
8736         },
8737         0usize,
8738         concat!(
8739             "Offset of field: ",
8740             stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
8741             "::",
8742             stringify!(ss_family)
8743         )
8744     );
8745     assert_eq!(
8746         unsafe {
8747             &(*(::std::ptr::null::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>())).__data
8748                 as *const _ as usize
8749         },
8750         2usize,
8751         concat!(
8752             "Offset of field: ",
8753             stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
8754             "::",
8755             stringify!(__data)
8756         )
8757     );
8758 }
8759 #[test]
8760 fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1() {
8761     assert_eq!(
8762         ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1>(),
8763         128usize,
8764         concat!("Size of: ", stringify!(sockaddr_storage__bindgen_ty_1))
8765     );
8766     assert_eq!(
8767         ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1>(),
8768         4usize,
8769         concat!("Alignment of ", stringify!(sockaddr_storage__bindgen_ty_1))
8770     );
8771     assert_eq!(
8772         unsafe {
8773             &(*(::std::ptr::null::<sockaddr_storage__bindgen_ty_1>())).__align as *const _ as usize
8774         },
8775         0usize,
8776         concat!(
8777             "Offset of field: ",
8778             stringify!(sockaddr_storage__bindgen_ty_1),
8779             "::",
8780             stringify!(__align)
8781         )
8782     );
8783 }
8784 #[test]
8785 fn bindgen_test_layout_sockaddr_storage() {
8786     assert_eq!(
8787         ::std::mem::size_of::<sockaddr_storage>(),
8788         128usize,
8789         concat!("Size of: ", stringify!(sockaddr_storage))
8790     );
8791     assert_eq!(
8792         ::std::mem::align_of::<sockaddr_storage>(),
8793         4usize,
8794         concat!("Alignment of ", stringify!(sockaddr_storage))
8795     );
8796 }
8797 #[repr(C)]
8798 #[derive(Debug, Copy, Clone)]
8799 pub struct linger {
8800     pub l_onoff: ::std::os::raw::c_int,
8801     pub l_linger: ::std::os::raw::c_int,
8802 }
8803 #[test]
8804 fn bindgen_test_layout_linger() {
8805     assert_eq!(
8806         ::std::mem::size_of::<linger>(),
8807         8usize,
8808         concat!("Size of: ", stringify!(linger))
8809     );
8810     assert_eq!(
8811         ::std::mem::align_of::<linger>(),
8812         4usize,
8813         concat!("Alignment of ", stringify!(linger))
8814     );
8815     assert_eq!(
8816         unsafe { &(*(::std::ptr::null::<linger>())).l_onoff as *const _ as usize },
8817         0usize,
8818         concat!(
8819             "Offset of field: ",
8820             stringify!(linger),
8821             "::",
8822             stringify!(l_onoff)
8823         )
8824     );
8825     assert_eq!(
8826         unsafe { &(*(::std::ptr::null::<linger>())).l_linger as *const _ as usize },
8827         4usize,
8828         concat!(
8829             "Offset of field: ",
8830             stringify!(linger),
8831             "::",
8832             stringify!(l_linger)
8833         )
8834     );
8835 }
8836 #[repr(C)]
8837 #[derive(Debug, Copy, Clone)]
8838 pub struct msghdr {
8839     pub msg_name: *mut ::std::os::raw::c_void,
8840     pub msg_namelen: socklen_t,
8841     pub msg_iov: *mut iovec,
8842     pub msg_iovlen: size_t,
8843     pub msg_control: *mut ::std::os::raw::c_void,
8844     pub msg_controllen: size_t,
8845     pub msg_flags: ::std::os::raw::c_int,
8846 }
8847 #[test]
8848 fn bindgen_test_layout_msghdr() {
8849     assert_eq!(
8850         ::std::mem::size_of::<msghdr>(),
8851         28usize,
8852         concat!("Size of: ", stringify!(msghdr))
8853     );
8854     assert_eq!(
8855         ::std::mem::align_of::<msghdr>(),
8856         4usize,
8857         concat!("Alignment of ", stringify!(msghdr))
8858     );
8859     assert_eq!(
8860         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_name as *const _ as usize },
8861         0usize,
8862         concat!(
8863             "Offset of field: ",
8864             stringify!(msghdr),
8865             "::",
8866             stringify!(msg_name)
8867         )
8868     );
8869     assert_eq!(
8870         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_namelen as *const _ as usize },
8871         4usize,
8872         concat!(
8873             "Offset of field: ",
8874             stringify!(msghdr),
8875             "::",
8876             stringify!(msg_namelen)
8877         )
8878     );
8879     assert_eq!(
8880         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iov as *const _ as usize },
8881         8usize,
8882         concat!(
8883             "Offset of field: ",
8884             stringify!(msghdr),
8885             "::",
8886             stringify!(msg_iov)
8887         )
8888     );
8889     assert_eq!(
8890         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iovlen as *const _ as usize },
8891         12usize,
8892         concat!(
8893             "Offset of field: ",
8894             stringify!(msghdr),
8895             "::",
8896             stringify!(msg_iovlen)
8897         )
8898     );
8899     assert_eq!(
8900         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_control as *const _ as usize },
8901         16usize,
8902         concat!(
8903             "Offset of field: ",
8904             stringify!(msghdr),
8905             "::",
8906             stringify!(msg_control)
8907         )
8908     );
8909     assert_eq!(
8910         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_controllen as *const _ as usize },
8911         20usize,
8912         concat!(
8913             "Offset of field: ",
8914             stringify!(msghdr),
8915             "::",
8916             stringify!(msg_controllen)
8917         )
8918     );
8919     assert_eq!(
8920         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_flags as *const _ as usize },
8921         24usize,
8922         concat!(
8923             "Offset of field: ",
8924             stringify!(msghdr),
8925             "::",
8926             stringify!(msg_flags)
8927         )
8928     );
8929 }
8930 #[repr(C)]
8931 #[derive(Debug, Copy, Clone)]
8932 pub struct mmsghdr {
8933     pub msg_hdr: msghdr,
8934     pub msg_len: ::std::os::raw::c_uint,
8935 }
8936 #[test]
8937 fn bindgen_test_layout_mmsghdr() {
8938     assert_eq!(
8939         ::std::mem::size_of::<mmsghdr>(),
8940         32usize,
8941         concat!("Size of: ", stringify!(mmsghdr))
8942     );
8943     assert_eq!(
8944         ::std::mem::align_of::<mmsghdr>(),
8945         4usize,
8946         concat!("Alignment of ", stringify!(mmsghdr))
8947     );
8948     assert_eq!(
8949         unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_hdr as *const _ as usize },
8950         0usize,
8951         concat!(
8952             "Offset of field: ",
8953             stringify!(mmsghdr),
8954             "::",
8955             stringify!(msg_hdr)
8956         )
8957     );
8958     assert_eq!(
8959         unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_len as *const _ as usize },
8960         28usize,
8961         concat!(
8962             "Offset of field: ",
8963             stringify!(mmsghdr),
8964             "::",
8965             stringify!(msg_len)
8966         )
8967     );
8968 }
8969 #[repr(C)]
8970 #[derive(Debug, Copy, Clone)]
8971 pub struct cmsghdr {
8972     pub cmsg_len: size_t,
8973     pub cmsg_level: ::std::os::raw::c_int,
8974     pub cmsg_type: ::std::os::raw::c_int,
8975 }
8976 #[test]
8977 fn bindgen_test_layout_cmsghdr() {
8978     assert_eq!(
8979         ::std::mem::size_of::<cmsghdr>(),
8980         12usize,
8981         concat!("Size of: ", stringify!(cmsghdr))
8982     );
8983     assert_eq!(
8984         ::std::mem::align_of::<cmsghdr>(),
8985         4usize,
8986         concat!("Alignment of ", stringify!(cmsghdr))
8987     );
8988     assert_eq!(
8989         unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_len as *const _ as usize },
8990         0usize,
8991         concat!(
8992             "Offset of field: ",
8993             stringify!(cmsghdr),
8994             "::",
8995             stringify!(cmsg_len)
8996         )
8997     );
8998     assert_eq!(
8999         unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_level as *const _ as usize },
9000         4usize,
9001         concat!(
9002             "Offset of field: ",
9003             stringify!(cmsghdr),
9004             "::",
9005             stringify!(cmsg_level)
9006         )
9007     );
9008     assert_eq!(
9009         unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_type as *const _ as usize },
9010         8usize,
9011         concat!(
9012             "Offset of field: ",
9013             stringify!(cmsghdr),
9014             "::",
9015             stringify!(cmsg_type)
9016         )
9017     );
9018 }
9019 extern "C" {
9020     pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
9021 }
9022 #[repr(C)]
9023 #[derive(Debug, Copy, Clone)]
9024 pub struct ucred {
9025     pub pid: pid_t,
9026     pub uid: uid_t,
9027     pub gid: gid_t,
9028 }
9029 #[test]
9030 fn bindgen_test_layout_ucred() {
9031     assert_eq!(
9032         ::std::mem::size_of::<ucred>(),
9033         12usize,
9034         concat!("Size of: ", stringify!(ucred))
9035     );
9036     assert_eq!(
9037         ::std::mem::align_of::<ucred>(),
9038         4usize,
9039         concat!("Alignment of ", stringify!(ucred))
9040     );
9041     assert_eq!(
9042         unsafe { &(*(::std::ptr::null::<ucred>())).pid as *const _ as usize },
9043         0usize,
9044         concat!(
9045             "Offset of field: ",
9046             stringify!(ucred),
9047             "::",
9048             stringify!(pid)
9049         )
9050     );
9051     assert_eq!(
9052         unsafe { &(*(::std::ptr::null::<ucred>())).uid as *const _ as usize },
9053         4usize,
9054         concat!(
9055             "Offset of field: ",
9056             stringify!(ucred),
9057             "::",
9058             stringify!(uid)
9059         )
9060     );
9061     assert_eq!(
9062         unsafe { &(*(::std::ptr::null::<ucred>())).gid as *const _ as usize },
9063         8usize,
9064         concat!(
9065             "Offset of field: ",
9066             stringify!(ucred),
9067             "::",
9068             stringify!(gid)
9069         )
9070     );
9071 }
9072 extern "C" {
9073     pub fn accept(
9074         __fd: ::std::os::raw::c_int,
9075         __addr: *mut sockaddr,
9076         __addr_length: *mut socklen_t,
9077     ) -> ::std::os::raw::c_int;
9078 }
9079 extern "C" {
9080     pub fn accept4(
9081         __fd: ::std::os::raw::c_int,
9082         __addr: *mut sockaddr,
9083         __addr_length: *mut socklen_t,
9084         __flags: ::std::os::raw::c_int,
9085     ) -> ::std::os::raw::c_int;
9086 }
9087 extern "C" {
9088     pub fn bind(
9089         __fd: ::std::os::raw::c_int,
9090         __addr: *const sockaddr,
9091         __addr_length: socklen_t,
9092     ) -> ::std::os::raw::c_int;
9093 }
9094 extern "C" {
9095     pub fn connect(
9096         __fd: ::std::os::raw::c_int,
9097         __addr: *const sockaddr,
9098         __addr_length: socklen_t,
9099     ) -> ::std::os::raw::c_int;
9100 }
9101 extern "C" {
9102     pub fn getpeername(
9103         __fd: ::std::os::raw::c_int,
9104         __addr: *mut sockaddr,
9105         __addr_length: *mut socklen_t,
9106     ) -> ::std::os::raw::c_int;
9107 }
9108 extern "C" {
9109     pub fn getsockname(
9110         __fd: ::std::os::raw::c_int,
9111         __addr: *mut sockaddr,
9112         __addr_length: *mut socklen_t,
9113     ) -> ::std::os::raw::c_int;
9114 }
9115 extern "C" {
9116     pub fn getsockopt(
9117         __fd: ::std::os::raw::c_int,
9118         __level: ::std::os::raw::c_int,
9119         __option: ::std::os::raw::c_int,
9120         __value: *mut ::std::os::raw::c_void,
9121         __value_length: *mut socklen_t,
9122     ) -> ::std::os::raw::c_int;
9123 }
9124 extern "C" {
9125     pub fn listen(
9126         __fd: ::std::os::raw::c_int,
9127         __backlog: ::std::os::raw::c_int,
9128     ) -> ::std::os::raw::c_int;
9129 }
9130 extern "C" {
9131     pub fn recvmmsg(
9132         __fd: ::std::os::raw::c_int,
9133         __msgs: *mut mmsghdr,
9134         __msg_count: ::std::os::raw::c_uint,
9135         __flags: ::std::os::raw::c_int,
9136         __timeout: *const timespec,
9137     ) -> ::std::os::raw::c_int;
9138 }
9139 extern "C" {
9140     pub fn recvmsg(
9141         __fd: ::std::os::raw::c_int,
9142         __msg: *mut msghdr,
9143         __flags: ::std::os::raw::c_int,
9144     ) -> ssize_t;
9145 }
9146 extern "C" {
9147     pub fn sendmmsg(
9148         __fd: ::std::os::raw::c_int,
9149         __msgs: *const mmsghdr,
9150         __msg_count: ::std::os::raw::c_uint,
9151         __flags: ::std::os::raw::c_int,
9152     ) -> ::std::os::raw::c_int;
9153 }
9154 extern "C" {
9155     pub fn sendmsg(
9156         __fd: ::std::os::raw::c_int,
9157         __msg: *const msghdr,
9158         __flags: ::std::os::raw::c_int,
9159     ) -> ssize_t;
9160 }
9161 extern "C" {
9162     pub fn setsockopt(
9163         __fd: ::std::os::raw::c_int,
9164         __level: ::std::os::raw::c_int,
9165         __option: ::std::os::raw::c_int,
9166         __value: *const ::std::os::raw::c_void,
9167         __value_length: socklen_t,
9168     ) -> ::std::os::raw::c_int;
9169 }
9170 extern "C" {
9171     pub fn shutdown(
9172         __fd: ::std::os::raw::c_int,
9173         __how: ::std::os::raw::c_int,
9174     ) -> ::std::os::raw::c_int;
9175 }
9176 extern "C" {
9177     pub fn socket(
9178         __af: ::std::os::raw::c_int,
9179         __type: ::std::os::raw::c_int,
9180         __protocol: ::std::os::raw::c_int,
9181     ) -> ::std::os::raw::c_int;
9182 }
9183 extern "C" {
9184     pub fn socketpair(
9185         __af: ::std::os::raw::c_int,
9186         __type: ::std::os::raw::c_int,
9187         __protocol: ::std::os::raw::c_int,
9188         __fds: *mut ::std::os::raw::c_int,
9189     ) -> ::std::os::raw::c_int;
9190 }
9191 extern "C" {
9192     pub fn recv(
9193         __fd: ::std::os::raw::c_int,
9194         __buf: *mut ::std::os::raw::c_void,
9195         __n: size_t,
9196         __flags: ::std::os::raw::c_int,
9197     ) -> ssize_t;
9198 }
9199 extern "C" {
9200     pub fn send(
9201         __fd: ::std::os::raw::c_int,
9202         __buf: *const ::std::os::raw::c_void,
9203         __n: size_t,
9204         __flags: ::std::os::raw::c_int,
9205     ) -> ssize_t;
9206 }
9207 extern "C" {
9208     pub fn sendto(
9209         __fd: ::std::os::raw::c_int,
9210         __buf: *const ::std::os::raw::c_void,
9211         __n: size_t,
9212         __flags: ::std::os::raw::c_int,
9213         __dst_addr: *const sockaddr,
9214         __dst_addr_length: socklen_t,
9215     ) -> ssize_t;
9216 }
9217 extern "C" {
9218     pub fn recvfrom(
9219         __fd: ::std::os::raw::c_int,
9220         __buf: *mut ::std::os::raw::c_void,
9221         __n: size_t,
9222         __flags: ::std::os::raw::c_int,
9223         __src_addr: *mut sockaddr,
9224         __src_addr_length: *mut socklen_t,
9225     ) -> ssize_t;
9226 }
9227 #[repr(C)]
9228 #[derive(Debug, Copy, Clone)]
9229 pub struct hostent {
9230     pub h_name: *mut ::std::os::raw::c_char,
9231     pub h_aliases: *mut *mut ::std::os::raw::c_char,
9232     pub h_addrtype: ::std::os::raw::c_int,
9233     pub h_length: ::std::os::raw::c_int,
9234     pub h_addr_list: *mut *mut ::std::os::raw::c_char,
9235 }
9236 #[test]
9237 fn bindgen_test_layout_hostent() {
9238     assert_eq!(
9239         ::std::mem::size_of::<hostent>(),
9240         20usize,
9241         concat!("Size of: ", stringify!(hostent))
9242     );
9243     assert_eq!(
9244         ::std::mem::align_of::<hostent>(),
9245         4usize,
9246         concat!("Alignment of ", stringify!(hostent))
9247     );
9248     assert_eq!(
9249         unsafe { &(*(::std::ptr::null::<hostent>())).h_name as *const _ as usize },
9250         0usize,
9251         concat!(
9252             "Offset of field: ",
9253             stringify!(hostent),
9254             "::",
9255             stringify!(h_name)
9256         )
9257     );
9258     assert_eq!(
9259         unsafe { &(*(::std::ptr::null::<hostent>())).h_aliases as *const _ as usize },
9260         4usize,
9261         concat!(
9262             "Offset of field: ",
9263             stringify!(hostent),
9264             "::",
9265             stringify!(h_aliases)
9266         )
9267     );
9268     assert_eq!(
9269         unsafe { &(*(::std::ptr::null::<hostent>())).h_addrtype as *const _ as usize },
9270         8usize,
9271         concat!(
9272             "Offset of field: ",
9273             stringify!(hostent),
9274             "::",
9275             stringify!(h_addrtype)
9276         )
9277     );
9278     assert_eq!(
9279         unsafe { &(*(::std::ptr::null::<hostent>())).h_length as *const _ as usize },
9280         12usize,
9281         concat!(
9282             "Offset of field: ",
9283             stringify!(hostent),
9284             "::",
9285             stringify!(h_length)
9286         )
9287     );
9288     assert_eq!(
9289         unsafe { &(*(::std::ptr::null::<hostent>())).h_addr_list as *const _ as usize },
9290         16usize,
9291         concat!(
9292             "Offset of field: ",
9293             stringify!(hostent),
9294             "::",
9295             stringify!(h_addr_list)
9296         )
9297     );
9298 }
9299 #[repr(C)]
9300 #[derive(Debug, Copy, Clone)]
9301 pub struct netent {
9302     pub n_name: *mut ::std::os::raw::c_char,
9303     pub n_aliases: *mut *mut ::std::os::raw::c_char,
9304     pub n_addrtype: ::std::os::raw::c_int,
9305     pub n_net: u32,
9306 }
9307 #[test]
9308 fn bindgen_test_layout_netent() {
9309     assert_eq!(
9310         ::std::mem::size_of::<netent>(),
9311         16usize,
9312         concat!("Size of: ", stringify!(netent))
9313     );
9314     assert_eq!(
9315         ::std::mem::align_of::<netent>(),
9316         4usize,
9317         concat!("Alignment of ", stringify!(netent))
9318     );
9319     assert_eq!(
9320         unsafe { &(*(::std::ptr::null::<netent>())).n_name as *const _ as usize },
9321         0usize,
9322         concat!(
9323             "Offset of field: ",
9324             stringify!(netent),
9325             "::",
9326             stringify!(n_name)
9327         )
9328     );
9329     assert_eq!(
9330         unsafe { &(*(::std::ptr::null::<netent>())).n_aliases as *const _ as usize },
9331         4usize,
9332         concat!(
9333             "Offset of field: ",
9334             stringify!(netent),
9335             "::",
9336             stringify!(n_aliases)
9337         )
9338     );
9339     assert_eq!(
9340         unsafe { &(*(::std::ptr::null::<netent>())).n_addrtype as *const _ as usize },
9341         8usize,
9342         concat!(
9343             "Offset of field: ",
9344             stringify!(netent),
9345             "::",
9346             stringify!(n_addrtype)
9347         )
9348     );
9349     assert_eq!(
9350         unsafe { &(*(::std::ptr::null::<netent>())).n_net as *const _ as usize },
9351         12usize,
9352         concat!(
9353             "Offset of field: ",
9354             stringify!(netent),
9355             "::",
9356             stringify!(n_net)
9357         )
9358     );
9359 }
9360 #[repr(C)]
9361 #[derive(Debug, Copy, Clone)]
9362 pub struct servent {
9363     pub s_name: *mut ::std::os::raw::c_char,
9364     pub s_aliases: *mut *mut ::std::os::raw::c_char,
9365     pub s_port: ::std::os::raw::c_int,
9366     pub s_proto: *mut ::std::os::raw::c_char,
9367 }
9368 #[test]
9369 fn bindgen_test_layout_servent() {
9370     assert_eq!(
9371         ::std::mem::size_of::<servent>(),
9372         16usize,
9373         concat!("Size of: ", stringify!(servent))
9374     );
9375     assert_eq!(
9376         ::std::mem::align_of::<servent>(),
9377         4usize,
9378         concat!("Alignment of ", stringify!(servent))
9379     );
9380     assert_eq!(
9381         unsafe { &(*(::std::ptr::null::<servent>())).s_name as *const _ as usize },
9382         0usize,
9383         concat!(
9384             "Offset of field: ",
9385             stringify!(servent),
9386             "::",
9387             stringify!(s_name)
9388         )
9389     );
9390     assert_eq!(
9391         unsafe { &(*(::std::ptr::null::<servent>())).s_aliases as *const _ as usize },
9392         4usize,
9393         concat!(
9394             "Offset of field: ",
9395             stringify!(servent),
9396             "::",
9397             stringify!(s_aliases)
9398         )
9399     );
9400     assert_eq!(
9401         unsafe { &(*(::std::ptr::null::<servent>())).s_port as *const _ as usize },
9402         8usize,
9403         concat!(
9404             "Offset of field: ",
9405             stringify!(servent),
9406             "::",
9407             stringify!(s_port)
9408         )
9409     );
9410     assert_eq!(
9411         unsafe { &(*(::std::ptr::null::<servent>())).s_proto as *const _ as usize },
9412         12usize,
9413         concat!(
9414             "Offset of field: ",
9415             stringify!(servent),
9416             "::",
9417             stringify!(s_proto)
9418         )
9419     );
9420 }
9421 #[repr(C)]
9422 #[derive(Debug, Copy, Clone)]
9423 pub struct protoent {
9424     pub p_name: *mut ::std::os::raw::c_char,
9425     pub p_aliases: *mut *mut ::std::os::raw::c_char,
9426     pub p_proto: ::std::os::raw::c_int,
9427 }
9428 #[test]
9429 fn bindgen_test_layout_protoent() {
9430     assert_eq!(
9431         ::std::mem::size_of::<protoent>(),
9432         12usize,
9433         concat!("Size of: ", stringify!(protoent))
9434     );
9435     assert_eq!(
9436         ::std::mem::align_of::<protoent>(),
9437         4usize,
9438         concat!("Alignment of ", stringify!(protoent))
9439     );
9440     assert_eq!(
9441         unsafe { &(*(::std::ptr::null::<protoent>())).p_name as *const _ as usize },
9442         0usize,
9443         concat!(
9444             "Offset of field: ",
9445             stringify!(protoent),
9446             "::",
9447             stringify!(p_name)
9448         )
9449     );
9450     assert_eq!(
9451         unsafe { &(*(::std::ptr::null::<protoent>())).p_aliases as *const _ as usize },
9452         4usize,
9453         concat!(
9454             "Offset of field: ",
9455             stringify!(protoent),
9456             "::",
9457             stringify!(p_aliases)
9458         )
9459     );
9460     assert_eq!(
9461         unsafe { &(*(::std::ptr::null::<protoent>())).p_proto as *const _ as usize },
9462         8usize,
9463         concat!(
9464             "Offset of field: ",
9465             stringify!(protoent),
9466             "::",
9467             stringify!(p_proto)
9468         )
9469     );
9470 }
9471 #[repr(C)]
9472 #[derive(Debug, Copy, Clone)]
9473 pub struct addrinfo {
9474     pub ai_flags: ::std::os::raw::c_int,
9475     pub ai_family: ::std::os::raw::c_int,
9476     pub ai_socktype: ::std::os::raw::c_int,
9477     pub ai_protocol: ::std::os::raw::c_int,
9478     pub ai_addrlen: socklen_t,
9479     pub ai_canonname: *mut ::std::os::raw::c_char,
9480     pub ai_addr: *mut sockaddr,
9481     pub ai_next: *mut addrinfo,
9482 }
9483 #[test]
9484 fn bindgen_test_layout_addrinfo() {
9485     assert_eq!(
9486         ::std::mem::size_of::<addrinfo>(),
9487         32usize,
9488         concat!("Size of: ", stringify!(addrinfo))
9489     );
9490     assert_eq!(
9491         ::std::mem::align_of::<addrinfo>(),
9492         4usize,
9493         concat!("Alignment of ", stringify!(addrinfo))
9494     );
9495     assert_eq!(
9496         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_flags as *const _ as usize },
9497         0usize,
9498         concat!(
9499             "Offset of field: ",
9500             stringify!(addrinfo),
9501             "::",
9502             stringify!(ai_flags)
9503         )
9504     );
9505     assert_eq!(
9506         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_family as *const _ as usize },
9507         4usize,
9508         concat!(
9509             "Offset of field: ",
9510             stringify!(addrinfo),
9511             "::",
9512             stringify!(ai_family)
9513         )
9514     );
9515     assert_eq!(
9516         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_socktype as *const _ as usize },
9517         8usize,
9518         concat!(
9519             "Offset of field: ",
9520             stringify!(addrinfo),
9521             "::",
9522             stringify!(ai_socktype)
9523         )
9524     );
9525     assert_eq!(
9526         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_protocol as *const _ as usize },
9527         12usize,
9528         concat!(
9529             "Offset of field: ",
9530             stringify!(addrinfo),
9531             "::",
9532             stringify!(ai_protocol)
9533         )
9534     );
9535     assert_eq!(
9536         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addrlen as *const _ as usize },
9537         16usize,
9538         concat!(
9539             "Offset of field: ",
9540             stringify!(addrinfo),
9541             "::",
9542             stringify!(ai_addrlen)
9543         )
9544     );
9545     assert_eq!(
9546         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_canonname as *const _ as usize },
9547         20usize,
9548         concat!(
9549             "Offset of field: ",
9550             stringify!(addrinfo),
9551             "::",
9552             stringify!(ai_canonname)
9553         )
9554     );
9555     assert_eq!(
9556         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addr as *const _ as usize },
9557         24usize,
9558         concat!(
9559             "Offset of field: ",
9560             stringify!(addrinfo),
9561             "::",
9562             stringify!(ai_addr)
9563         )
9564     );
9565     assert_eq!(
9566         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_next as *const _ as usize },
9567         28usize,
9568         concat!(
9569             "Offset of field: ",
9570             stringify!(addrinfo),
9571             "::",
9572             stringify!(ai_next)
9573         )
9574     );
9575 }
9576 extern "C" {
9577     pub fn getaddrinfo(
9578         __node: *const ::std::os::raw::c_char,
9579         __service: *const ::std::os::raw::c_char,
9580         __hints: *const addrinfo,
9581         __result: *mut *mut addrinfo,
9582     ) -> ::std::os::raw::c_int;
9583 }
9584 extern "C" {
9585     pub fn freeaddrinfo(__ptr: *mut addrinfo);
9586 }
9587 extern "C" {
9588     pub fn getnameinfo(
9589         __sa: *const sockaddr,
9590         __sa_length: socklen_t,
9591         __host: *mut ::std::os::raw::c_char,
9592         __host_length: size_t,
9593         __service: *mut ::std::os::raw::c_char,
9594         __service_length: size_t,
9595         __flags: ::std::os::raw::c_int,
9596     ) -> ::std::os::raw::c_int;
9597 }
9598 extern "C" {
9599     pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9600 }
9601 extern "C" {
9602     pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
9603 }
9604 extern "C" {
9605     pub fn herror(__s: *const ::std::os::raw::c_char);
9606 }
9607 extern "C" {
9608     pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9609 }
9610 extern "C" {
9611     pub fn gethostbyaddr(
9612         __addr: *const ::std::os::raw::c_void,
9613         __length: socklen_t,
9614         __type: ::std::os::raw::c_int,
9615     ) -> *mut hostent;
9616 }
9617 extern "C" {
9618     pub fn gethostbyaddr_r(
9619         __addr: *const ::std::os::raw::c_void,
9620         __length: socklen_t,
9621         __type: ::std::os::raw::c_int,
9622         __ret: *mut hostent,
9623         __buf: *mut ::std::os::raw::c_char,
9624         __buf_size: size_t,
9625         __result: *mut *mut hostent,
9626         __h_errno_ptr: *mut ::std::os::raw::c_int,
9627     ) -> ::std::os::raw::c_int;
9628 }
9629 extern "C" {
9630     pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
9631 }
9632 extern "C" {
9633     pub fn gethostbyname_r(
9634         __name: *const ::std::os::raw::c_char,
9635         __ret: *mut hostent,
9636         __buf: *mut ::std::os::raw::c_char,
9637         __buf_size: size_t,
9638         __result: *mut *mut hostent,
9639         __h_errno_ptr: *mut ::std::os::raw::c_int,
9640     ) -> ::std::os::raw::c_int;
9641 }
9642 extern "C" {
9643     pub fn gethostbyname2(
9644         __name: *const ::std::os::raw::c_char,
9645         __af: ::std::os::raw::c_int,
9646     ) -> *mut hostent;
9647 }
9648 extern "C" {
9649     pub fn gethostbyname2_r(
9650         __name: *const ::std::os::raw::c_char,
9651         __af: ::std::os::raw::c_int,
9652         __ret: *mut hostent,
9653         __buf: *mut ::std::os::raw::c_char,
9654         __buf_size: size_t,
9655         __result: *mut *mut hostent,
9656         __h_errno_ptr: *mut ::std::os::raw::c_int,
9657     ) -> ::std::os::raw::c_int;
9658 }
9659 extern "C" {
9660     pub fn endhostent();
9661 }
9662 extern "C" {
9663     pub fn gethostent() -> *mut hostent;
9664 }
9665 extern "C" {
9666     pub fn sethostent(__stay_open: ::std::os::raw::c_int);
9667 }
9668 extern "C" {
9669     pub fn endnetent();
9670 }
9671 extern "C" {
9672     pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
9673 }
9674 extern "C" {
9675     pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
9676 }
9677 extern "C" {
9678     pub fn getnetent() -> *mut netent;
9679 }
9680 extern "C" {
9681     pub fn setnetent(__stay_open: ::std::os::raw::c_int);
9682 }
9683 extern "C" {
9684     pub fn endprotoent();
9685 }
9686 extern "C" {
9687     pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
9688 }
9689 extern "C" {
9690     pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
9691 }
9692 extern "C" {
9693     pub fn getprotoent() -> *mut protoent;
9694 }
9695 extern "C" {
9696     pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
9697 }
9698 extern "C" {
9699     pub fn endservent();
9700 }
9701 extern "C" {
9702     pub fn getservbyname(
9703         __name: *const ::std::os::raw::c_char,
9704         __proto: *const ::std::os::raw::c_char,
9705     ) -> *mut servent;
9706 }
9707 extern "C" {
9708     pub fn getservbyport(
9709         __port_in_network_order: ::std::os::raw::c_int,
9710         __proto: *const ::std::os::raw::c_char,
9711     ) -> *mut servent;
9712 }
9713 extern "C" {
9714     pub fn getservent() -> *mut servent;
9715 }
9716 extern "C" {
9717     pub fn setservent(__stay_open: ::std::os::raw::c_int);
9718 }
9719 pub type fpos_t = off_t;
9720 pub type fpos64_t = off64_t;
9721 #[repr(C)]
9722 #[derive(Debug, Copy, Clone)]
9723 pub struct __sFILE {
9724     _unused: [u8; 0],
9725 }
9726 pub type FILE = __sFILE;
9727 extern "C" {
9728     pub static mut stdin: *mut FILE;
9729 }
9730 extern "C" {
9731     pub static mut stdout: *mut FILE;
9732 }
9733 extern "C" {
9734     pub static mut stderr: *mut FILE;
9735 }
9736 extern "C" {
9737     pub fn clearerr(__fp: *mut FILE);
9738 }
9739 extern "C" {
9740     pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
9741 }
9742 extern "C" {
9743     pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
9744 }
9745 extern "C" {
9746     pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
9747 }
9748 extern "C" {
9749     pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
9750 }
9751 extern "C" {
9752     pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9753 }
9754 extern "C" {
9755     pub fn fgets(
9756         __buf: *mut ::std::os::raw::c_char,
9757         __size: ::std::os::raw::c_int,
9758         __fp: *mut FILE,
9759     ) -> *mut ::std::os::raw::c_char;
9760 }
9761 extern "C" {
9762     pub fn fprintf(
9763         __fp: *mut FILE,
9764         __fmt: *const ::std::os::raw::c_char,
9765         ...
9766     ) -> ::std::os::raw::c_int;
9767 }
9768 extern "C" {
9769     pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9770 }
9771 extern "C" {
9772     pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
9773 }
9774 extern "C" {
9775     pub fn fread(
9776         __buf: *mut ::std::os::raw::c_void,
9777         __size: ::std::os::raw::c_uint,
9778         __count: ::std::os::raw::c_uint,
9779         __fp: *mut FILE,
9780     ) -> ::std::os::raw::c_uint;
9781 }
9782 extern "C" {
9783     pub fn fscanf(
9784         __fp: *mut FILE,
9785         __fmt: *const ::std::os::raw::c_char,
9786         ...
9787     ) -> ::std::os::raw::c_int;
9788 }
9789 extern "C" {
9790     pub fn fwrite(
9791         __buf: *const ::std::os::raw::c_void,
9792         __size: ::std::os::raw::c_uint,
9793         __count: ::std::os::raw::c_uint,
9794         __fp: *mut FILE,
9795     ) -> ::std::os::raw::c_uint;
9796 }
9797 extern "C" {
9798     pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9799 }
9800 extern "C" {
9801     pub fn getchar() -> ::std::os::raw::c_int;
9802 }
9803 extern "C" {
9804     pub fn getdelim(
9805         __line_ptr: *mut *mut ::std::os::raw::c_char,
9806         __line_length_ptr: *mut size_t,
9807         __delimiter: ::std::os::raw::c_int,
9808         __fp: *mut FILE,
9809     ) -> ssize_t;
9810 }
9811 extern "C" {
9812     pub fn getline(
9813         __line_ptr: *mut *mut ::std::os::raw::c_char,
9814         __line_length_ptr: *mut size_t,
9815         __fp: *mut FILE,
9816     ) -> ssize_t;
9817 }
9818 extern "C" {
9819     pub fn perror(__msg: *const ::std::os::raw::c_char);
9820 }
9821 extern "C" {
9822     pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9823 }
9824 extern "C" {
9825     pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9826 }
9827 extern "C" {
9828     pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9829 }
9830 extern "C" {
9831     pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9832 }
9833 extern "C" {
9834     pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9835 }
9836 extern "C" {
9837     pub fn rewind(__fp: *mut FILE);
9838 }
9839 extern "C" {
9840     pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9841 }
9842 extern "C" {
9843     pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
9844 }
9845 extern "C" {
9846     pub fn setvbuf(
9847         __fp: *mut FILE,
9848         __buf: *mut ::std::os::raw::c_char,
9849         __mode: ::std::os::raw::c_int,
9850         __size: size_t,
9851     ) -> ::std::os::raw::c_int;
9852 }
9853 extern "C" {
9854     pub fn sscanf(
9855         __s: *const ::std::os::raw::c_char,
9856         __fmt: *const ::std::os::raw::c_char,
9857         ...
9858     ) -> ::std::os::raw::c_int;
9859 }
9860 extern "C" {
9861     pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9862 }
9863 extern "C" {
9864     pub fn vfprintf(
9865         __fp: *mut FILE,
9866         __fmt: *const ::std::os::raw::c_char,
9867         __args: __builtin_va_list,
9868     ) -> ::std::os::raw::c_int;
9869 }
9870 extern "C" {
9871     pub fn vprintf(
9872         __fp: *const ::std::os::raw::c_char,
9873         __args: __builtin_va_list,
9874     ) -> ::std::os::raw::c_int;
9875 }
9876 extern "C" {
9877     pub fn dprintf(
9878         __fd: ::std::os::raw::c_int,
9879         __fmt: *const ::std::os::raw::c_char,
9880         ...
9881     ) -> ::std::os::raw::c_int;
9882 }
9883 extern "C" {
9884     pub fn vdprintf(
9885         __fd: ::std::os::raw::c_int,
9886         __fmt: *const ::std::os::raw::c_char,
9887         __args: va_list,
9888     ) -> ::std::os::raw::c_int;
9889 }
9890 extern "C" {
9891     pub fn sprintf(
9892         __s: *mut ::std::os::raw::c_char,
9893         __fmt: *const ::std::os::raw::c_char,
9894         ...
9895     ) -> ::std::os::raw::c_int;
9896 }
9897 extern "C" {
9898     pub fn vsprintf(
9899         __s: *mut ::std::os::raw::c_char,
9900         __fmt: *const ::std::os::raw::c_char,
9901         __args: __builtin_va_list,
9902     ) -> ::std::os::raw::c_int;
9903 }
9904 extern "C" {
9905     pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9906 }
9907 extern "C" {
9908     pub fn tempnam(
9909         __dir: *const ::std::os::raw::c_char,
9910         __prefix: *const ::std::os::raw::c_char,
9911     ) -> *mut ::std::os::raw::c_char;
9912 }
9913 extern "C" {
9914     pub fn rename(
9915         __old_path: *const ::std::os::raw::c_char,
9916         __new_path: *const ::std::os::raw::c_char,
9917     ) -> ::std::os::raw::c_int;
9918 }
9919 extern "C" {
9920     pub fn renameat(
9921         __old_dir_fd: ::std::os::raw::c_int,
9922         __old_path: *const ::std::os::raw::c_char,
9923         __new_dir_fd: ::std::os::raw::c_int,
9924         __new_path: *const ::std::os::raw::c_char,
9925     ) -> ::std::os::raw::c_int;
9926 }
9927 extern "C" {
9928     pub fn fseek(
9929         __fp: *mut FILE,
9930         __offset: ::std::os::raw::c_long,
9931         __whence: ::std::os::raw::c_int,
9932     ) -> ::std::os::raw::c_int;
9933 }
9934 extern "C" {
9935     pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
9936 }
9937 extern "C" {
9938     pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
9939 }
9940 extern "C" {
9941     pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
9942 }
9943 extern "C" {
9944     pub fn fseeko(
9945         __fp: *mut FILE,
9946         __offset: off_t,
9947         __whence: ::std::os::raw::c_int,
9948     ) -> ::std::os::raw::c_int;
9949 }
9950 extern "C" {
9951     pub fn ftello(__fp: *mut FILE) -> off_t;
9952 }
9953 extern "C" {
9954     pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
9955 }
9956 extern "C" {
9957     pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
9958 }
9959 extern "C" {
9960     pub fn fseeko64(
9961         __fp: *mut FILE,
9962         __offset: off64_t,
9963         __whence: ::std::os::raw::c_int,
9964     ) -> ::std::os::raw::c_int;
9965 }
9966 extern "C" {
9967     pub fn ftello64(__fp: *mut FILE) -> off64_t;
9968 }
9969 extern "C" {
9970     pub fn fopen(
9971         __path: *const ::std::os::raw::c_char,
9972         __mode: *const ::std::os::raw::c_char,
9973     ) -> *mut FILE;
9974 }
9975 extern "C" {
9976     pub fn fopen64(
9977         __path: *const ::std::os::raw::c_char,
9978         __mode: *const ::std::os::raw::c_char,
9979     ) -> *mut FILE;
9980 }
9981 extern "C" {
9982     pub fn freopen(
9983         __path: *const ::std::os::raw::c_char,
9984         __mode: *const ::std::os::raw::c_char,
9985         __fp: *mut FILE,
9986     ) -> *mut FILE;
9987 }
9988 extern "C" {
9989     pub fn freopen64(
9990         __path: *const ::std::os::raw::c_char,
9991         __mode: *const ::std::os::raw::c_char,
9992         __fp: *mut FILE,
9993     ) -> *mut FILE;
9994 }
9995 extern "C" {
9996     pub fn tmpfile() -> *mut FILE;
9997 }
9998 extern "C" {
9999     pub fn tmpfile64() -> *mut FILE;
10000 }
10001 extern "C" {
10002     pub fn snprintf(
10003         __buf: *mut ::std::os::raw::c_char,
10004         __size: ::std::os::raw::c_uint,
10005         __fmt: *const ::std::os::raw::c_char,
10006         ...
10007     ) -> ::std::os::raw::c_int;
10008 }
10009 extern "C" {
10010     pub fn vfscanf(
10011         __fp: *mut FILE,
10012         __fmt: *const ::std::os::raw::c_char,
10013         __args: __builtin_va_list,
10014     ) -> ::std::os::raw::c_int;
10015 }
10016 extern "C" {
10017     pub fn vscanf(
10018         __fmt: *const ::std::os::raw::c_char,
10019         __args: __builtin_va_list,
10020     ) -> ::std::os::raw::c_int;
10021 }
10022 extern "C" {
10023     pub fn vsnprintf(
10024         __buf: *mut ::std::os::raw::c_char,
10025         __size: ::std::os::raw::c_uint,
10026         __fmt: *const ::std::os::raw::c_char,
10027         __args: __builtin_va_list,
10028     ) -> ::std::os::raw::c_int;
10029 }
10030 extern "C" {
10031     pub fn vsscanf(
10032         __s: *const ::std::os::raw::c_char,
10033         __fmt: *const ::std::os::raw::c_char,
10034         __args: __builtin_va_list,
10035     ) -> ::std::os::raw::c_int;
10036 }
10037 extern "C" {
10038     pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10039 }
10040 extern "C" {
10041     pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
10042 }
10043 extern "C" {
10044     pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
10045 }
10046 extern "C" {
10047     pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
10048 }
10049 extern "C" {
10050     pub fn popen(
10051         __command: *const ::std::os::raw::c_char,
10052         __mode: *const ::std::os::raw::c_char,
10053     ) -> *mut FILE;
10054 }
10055 extern "C" {
10056     pub fn flockfile(__fp: *mut FILE);
10057 }
10058 extern "C" {
10059     pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
10060 }
10061 extern "C" {
10062     pub fn funlockfile(__fp: *mut FILE);
10063 }
10064 extern "C" {
10065     pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
10066 }
10067 extern "C" {
10068     pub fn getchar_unlocked() -> ::std::os::raw::c_int;
10069 }
10070 extern "C" {
10071     pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
10072 }
10073 extern "C" {
10074     pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10075 }
10076 extern "C" {
10077     pub fn fmemopen(
10078         __buf: *mut ::std::os::raw::c_void,
10079         __size: size_t,
10080         __mode: *const ::std::os::raw::c_char,
10081     ) -> *mut FILE;
10082 }
10083 extern "C" {
10084     pub fn open_memstream(
10085         __ptr: *mut *mut ::std::os::raw::c_char,
10086         __size_ptr: *mut size_t,
10087     ) -> *mut FILE;
10088 }
10089 extern "C" {
10090     pub fn asprintf(
10091         __s_ptr: *mut *mut ::std::os::raw::c_char,
10092         __fmt: *const ::std::os::raw::c_char,
10093         ...
10094     ) -> ::std::os::raw::c_int;
10095 }
10096 extern "C" {
10097     pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut size_t) -> *mut ::std::os::raw::c_char;
10098 }
10099 extern "C" {
10100     pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
10101 }
10102 extern "C" {
10103     pub fn setbuffer(
10104         __fp: *mut FILE,
10105         __buf: *mut ::std::os::raw::c_char,
10106         __size: ::std::os::raw::c_int,
10107     );
10108 }
10109 extern "C" {
10110     pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
10111 }
10112 extern "C" {
10113     pub fn vasprintf(
10114         __s_ptr: *mut *mut ::std::os::raw::c_char,
10115         __fmt: *const ::std::os::raw::c_char,
10116         __args: va_list,
10117     ) -> ::std::os::raw::c_int;
10118 }
10119 extern "C" {
10120     pub fn clearerr_unlocked(__fp: *mut FILE);
10121 }
10122 extern "C" {
10123     pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
10124 }
10125 extern "C" {
10126     pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
10127 }
10128 extern "C" {
10129     pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
10130 }
10131 extern "C" {
10132     pub fn malloc(__byte_count: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
10133 }
10134 extern "C" {
10135     pub fn calloc(
10136         __item_count: ::std::os::raw::c_uint,
10137         __item_size: ::std::os::raw::c_uint,
10138     ) -> *mut ::std::os::raw::c_void;
10139 }
10140 extern "C" {
10141     pub fn realloc(
10142         __ptr: *mut ::std::os::raw::c_void,
10143         __byte_count: ::std::os::raw::c_uint,
10144     ) -> *mut ::std::os::raw::c_void;
10145 }
10146 extern "C" {
10147     pub fn reallocarray(
10148         __ptr: *mut ::std::os::raw::c_void,
10149         __item_count: size_t,
10150         __item_size: size_t,
10151     ) -> *mut ::std::os::raw::c_void;
10152 }
10153 extern "C" {
10154     pub fn free(__ptr: *mut ::std::os::raw::c_void);
10155 }
10156 extern "C" {
10157     pub fn memalign(__alignment: size_t, __byte_count: size_t) -> *mut ::std::os::raw::c_void;
10158 }
10159 extern "C" {
10160     pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> size_t;
10161 }
10162 #[repr(C)]
10163 #[derive(Debug, Copy, Clone)]
10164 pub struct mallinfo {
10165     pub arena: size_t,
10166     pub ordblks: size_t,
10167     pub smblks: size_t,
10168     pub hblks: size_t,
10169     pub hblkhd: size_t,
10170     pub usmblks: size_t,
10171     pub fsmblks: size_t,
10172     pub uordblks: size_t,
10173     pub fordblks: size_t,
10174     pub keepcost: size_t,
10175 }
10176 #[test]
10177 fn bindgen_test_layout_mallinfo() {
10178     assert_eq!(
10179         ::std::mem::size_of::<mallinfo>(),
10180         40usize,
10181         concat!("Size of: ", stringify!(mallinfo))
10182     );
10183     assert_eq!(
10184         ::std::mem::align_of::<mallinfo>(),
10185         4usize,
10186         concat!("Alignment of ", stringify!(mallinfo))
10187     );
10188     assert_eq!(
10189         unsafe { &(*(::std::ptr::null::<mallinfo>())).arena as *const _ as usize },
10190         0usize,
10191         concat!(
10192             "Offset of field: ",
10193             stringify!(mallinfo),
10194             "::",
10195             stringify!(arena)
10196         )
10197     );
10198     assert_eq!(
10199         unsafe { &(*(::std::ptr::null::<mallinfo>())).ordblks as *const _ as usize },
10200         4usize,
10201         concat!(
10202             "Offset of field: ",
10203             stringify!(mallinfo),
10204             "::",
10205             stringify!(ordblks)
10206         )
10207     );
10208     assert_eq!(
10209         unsafe { &(*(::std::ptr::null::<mallinfo>())).smblks as *const _ as usize },
10210         8usize,
10211         concat!(
10212             "Offset of field: ",
10213             stringify!(mallinfo),
10214             "::",
10215             stringify!(smblks)
10216         )
10217     );
10218     assert_eq!(
10219         unsafe { &(*(::std::ptr::null::<mallinfo>())).hblks as *const _ as usize },
10220         12usize,
10221         concat!(
10222             "Offset of field: ",
10223             stringify!(mallinfo),
10224             "::",
10225             stringify!(hblks)
10226         )
10227     );
10228     assert_eq!(
10229         unsafe { &(*(::std::ptr::null::<mallinfo>())).hblkhd as *const _ as usize },
10230         16usize,
10231         concat!(
10232             "Offset of field: ",
10233             stringify!(mallinfo),
10234             "::",
10235             stringify!(hblkhd)
10236         )
10237     );
10238     assert_eq!(
10239         unsafe { &(*(::std::ptr::null::<mallinfo>())).usmblks as *const _ as usize },
10240         20usize,
10241         concat!(
10242             "Offset of field: ",
10243             stringify!(mallinfo),
10244             "::",
10245             stringify!(usmblks)
10246         )
10247     );
10248     assert_eq!(
10249         unsafe { &(*(::std::ptr::null::<mallinfo>())).fsmblks as *const _ as usize },
10250         24usize,
10251         concat!(
10252             "Offset of field: ",
10253             stringify!(mallinfo),
10254             "::",
10255             stringify!(fsmblks)
10256         )
10257     );
10258     assert_eq!(
10259         unsafe { &(*(::std::ptr::null::<mallinfo>())).uordblks as *const _ as usize },
10260         28usize,
10261         concat!(
10262             "Offset of field: ",
10263             stringify!(mallinfo),
10264             "::",
10265             stringify!(uordblks)
10266         )
10267     );
10268     assert_eq!(
10269         unsafe { &(*(::std::ptr::null::<mallinfo>())).fordblks as *const _ as usize },
10270         32usize,
10271         concat!(
10272             "Offset of field: ",
10273             stringify!(mallinfo),
10274             "::",
10275             stringify!(fordblks)
10276         )
10277     );
10278     assert_eq!(
10279         unsafe { &(*(::std::ptr::null::<mallinfo>())).keepcost as *const _ as usize },
10280         36usize,
10281         concat!(
10282             "Offset of field: ",
10283             stringify!(mallinfo),
10284             "::",
10285             stringify!(keepcost)
10286         )
10287     );
10288 }
10289 extern "C" {
10290     pub fn mallinfo() -> mallinfo;
10291 }
10292 extern "C" {
10293     pub fn malloc_info(
10294         __must_be_zero: ::std::os::raw::c_int,
10295         __fp: *mut FILE,
10296     ) -> ::std::os::raw::c_int;
10297 }
10298 pub const HeapTaggingLevel_M_HEAP_TAGGING_LEVEL_NONE: HeapTaggingLevel = 0;
10299 pub const HeapTaggingLevel_M_HEAP_TAGGING_LEVEL_TBI: HeapTaggingLevel = 1;
10300 pub const HeapTaggingLevel_M_HEAP_TAGGING_LEVEL_ASYNC: HeapTaggingLevel = 2;
10301 pub const HeapTaggingLevel_M_HEAP_TAGGING_LEVEL_SYNC: HeapTaggingLevel = 3;
10302 pub type HeapTaggingLevel = ::std::os::raw::c_uint;
10303 extern "C" {
10304     pub fn mallopt(
10305         __option: ::std::os::raw::c_int,
10306         __value: ::std::os::raw::c_int,
10307     ) -> ::std::os::raw::c_int;
10308 }
10309 extern "C" {
10310     pub static mut __malloc_hook: ::std::option::Option<
10311         unsafe extern "C" fn(
10312             __byte_count: size_t,
10313             __caller: *const ::std::os::raw::c_void,
10314         ) -> *mut ::std::os::raw::c_void,
10315     >;
10316 }
10317 extern "C" {
10318     pub static mut __realloc_hook: ::std::option::Option<
10319         unsafe extern "C" fn(
10320             __ptr: *mut ::std::os::raw::c_void,
10321             __byte_count: size_t,
10322             __caller: *const ::std::os::raw::c_void,
10323         ) -> *mut ::std::os::raw::c_void,
10324     >;
10325 }
10326 extern "C" {
10327     pub static mut __free_hook: ::std::option::Option<
10328         unsafe extern "C" fn(
10329             __ptr: *mut ::std::os::raw::c_void,
10330             __caller: *const ::std::os::raw::c_void,
10331         ),
10332     >;
10333 }
10334 extern "C" {
10335     pub static mut __memalign_hook: ::std::option::Option<
10336         unsafe extern "C" fn(
10337             __alignment: size_t,
10338             __byte_count: size_t,
10339             __caller: *const ::std::os::raw::c_void,
10340         ) -> *mut ::std::os::raw::c_void,
10341     >;
10342 }
10343 #[repr(C)]
10344 #[derive(Debug, Copy, Clone)]
10345 pub struct __locale_t {
10346     _unused: [u8; 0],
10347 }
10348 pub type locale_t = *mut __locale_t;
10349 extern "C" {
10350     pub fn abort();
10351 }
10352 extern "C" {
10353     pub fn exit(__status: ::std::os::raw::c_int);
10354 }
10355 extern "C" {
10356     pub fn _Exit(__status: ::std::os::raw::c_int);
10357 }
10358 extern "C" {
10359     pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
10360 }
10361 extern "C" {
10362     pub fn at_quick_exit(
10363         __fn: ::std::option::Option<unsafe extern "C" fn()>,
10364     ) -> ::std::os::raw::c_int;
10365 }
10366 extern "C" {
10367     pub fn quick_exit(__status: ::std::os::raw::c_int);
10368 }
10369 extern "C" {
10370     pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10371 }
10372 extern "C" {
10373     pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10374 }
10375 extern "C" {
10376     pub fn setenv(
10377         __name: *const ::std::os::raw::c_char,
10378         __value: *const ::std::os::raw::c_char,
10379         __overwrite: ::std::os::raw::c_int,
10380     ) -> ::std::os::raw::c_int;
10381 }
10382 extern "C" {
10383     pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10384 }
10385 extern "C" {
10386     pub fn clearenv() -> ::std::os::raw::c_int;
10387 }
10388 extern "C" {
10389     pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10390 }
10391 extern "C" {
10392     pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10393 }
10394 extern "C" {
10395     pub fn mkostemp64(
10396         __template: *mut ::std::os::raw::c_char,
10397         __flags: ::std::os::raw::c_int,
10398     ) -> ::std::os::raw::c_int;
10399 }
10400 extern "C" {
10401     pub fn mkostemp(
10402         __template: *mut ::std::os::raw::c_char,
10403         __flags: ::std::os::raw::c_int,
10404     ) -> ::std::os::raw::c_int;
10405 }
10406 extern "C" {
10407     pub fn mkostemps64(
10408         __template: *mut ::std::os::raw::c_char,
10409         __suffix_length: ::std::os::raw::c_int,
10410         __flags: ::std::os::raw::c_int,
10411     ) -> ::std::os::raw::c_int;
10412 }
10413 extern "C" {
10414     pub fn mkostemps(
10415         __template: *mut ::std::os::raw::c_char,
10416         __suffix_length: ::std::os::raw::c_int,
10417         __flags: ::std::os::raw::c_int,
10418     ) -> ::std::os::raw::c_int;
10419 }
10420 extern "C" {
10421     pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10422 }
10423 extern "C" {
10424     pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10425 }
10426 extern "C" {
10427     pub fn mkstemps64(
10428         __template: *mut ::std::os::raw::c_char,
10429         __flags: ::std::os::raw::c_int,
10430     ) -> ::std::os::raw::c_int;
10431 }
10432 extern "C" {
10433     pub fn mkstemps(
10434         __template: *mut ::std::os::raw::c_char,
10435         __flags: ::std::os::raw::c_int,
10436     ) -> ::std::os::raw::c_int;
10437 }
10438 extern "C" {
10439     pub fn strtol(
10440         __s: *const ::std::os::raw::c_char,
10441         __end_ptr: *mut *mut ::std::os::raw::c_char,
10442         __base: ::std::os::raw::c_int,
10443     ) -> ::std::os::raw::c_long;
10444 }
10445 extern "C" {
10446     pub fn strtoll(
10447         __s: *const ::std::os::raw::c_char,
10448         __end_ptr: *mut *mut ::std::os::raw::c_char,
10449         __base: ::std::os::raw::c_int,
10450     ) -> ::std::os::raw::c_longlong;
10451 }
10452 extern "C" {
10453     pub fn strtoul(
10454         __s: *const ::std::os::raw::c_char,
10455         __end_ptr: *mut *mut ::std::os::raw::c_char,
10456         __base: ::std::os::raw::c_int,
10457     ) -> ::std::os::raw::c_ulong;
10458 }
10459 extern "C" {
10460     pub fn strtoull(
10461         __s: *const ::std::os::raw::c_char,
10462         __end_ptr: *mut *mut ::std::os::raw::c_char,
10463         __base: ::std::os::raw::c_int,
10464     ) -> ::std::os::raw::c_ulonglong;
10465 }
10466 extern "C" {
10467     pub fn posix_memalign(
10468         __memptr: *mut *mut ::std::os::raw::c_void,
10469         __alignment: size_t,
10470         __size: size_t,
10471     ) -> ::std::os::raw::c_int;
10472 }
10473 extern "C" {
10474     pub fn aligned_alloc(__alignment: size_t, __size: size_t) -> *mut ::std::os::raw::c_void;
10475 }
10476 extern "C" {
10477     pub fn strtod(
10478         __s: *const ::std::os::raw::c_char,
10479         __end_ptr: *mut *mut ::std::os::raw::c_char,
10480     ) -> f64;
10481 }
10482 extern "C" {
10483     pub fn strtoul_l(
10484         __s: *const ::std::os::raw::c_char,
10485         __end_ptr: *mut *mut ::std::os::raw::c_char,
10486         __base: ::std::os::raw::c_int,
10487         __l: locale_t,
10488     ) -> ::std::os::raw::c_ulong;
10489 }
10490 extern "C" {
10491     pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10492 }
10493 extern "C" {
10494     pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
10495 }
10496 extern "C" {
10497     pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
10498 }
10499 extern "C" {
10500     pub fn realpath(
10501         __path: *const ::std::os::raw::c_char,
10502         __resolved: *mut ::std::os::raw::c_char,
10503     ) -> *mut ::std::os::raw::c_char;
10504 }
10505 extern "C" {
10506     pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10507 }
10508 extern "C" {
10509     pub fn bsearch(
10510         __key: *const ::std::os::raw::c_void,
10511         __base: *const ::std::os::raw::c_void,
10512         __nmemb: size_t,
10513         __size: size_t,
10514         __comparator: ::std::option::Option<
10515             unsafe extern "C" fn(
10516                 __lhs: *const ::std::os::raw::c_void,
10517                 __rhs: *const ::std::os::raw::c_void,
10518             ) -> ::std::os::raw::c_int,
10519         >,
10520     ) -> *mut ::std::os::raw::c_void;
10521 }
10522 extern "C" {
10523     pub fn qsort(
10524         __base: *mut ::std::os::raw::c_void,
10525         __nmemb: size_t,
10526         __size: size_t,
10527         __comparator: ::std::option::Option<
10528             unsafe extern "C" fn(
10529                 __lhs: *const ::std::os::raw::c_void,
10530                 __rhs: *const ::std::os::raw::c_void,
10531             ) -> ::std::os::raw::c_int,
10532         >,
10533     );
10534 }
10535 extern "C" {
10536     pub fn arc4random() -> u32;
10537 }
10538 extern "C" {
10539     pub fn arc4random_uniform(__upper_bound: u32) -> u32;
10540 }
10541 extern "C" {
10542     pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: size_t);
10543 }
10544 extern "C" {
10545     pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
10546 }
10547 extern "C" {
10548     pub fn drand48() -> f64;
10549 }
10550 extern "C" {
10551     pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
10552 }
10553 extern "C" {
10554     pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
10555 }
10556 extern "C" {
10557     pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
10558 }
10559 extern "C" {
10560     pub fn lrand48() -> ::std::os::raw::c_long;
10561 }
10562 extern "C" {
10563     pub fn mrand48() -> ::std::os::raw::c_long;
10564 }
10565 extern "C" {
10566     pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
10567 }
10568 extern "C" {
10569     pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
10570 }
10571 extern "C" {
10572     pub fn srand48(__seed: ::std::os::raw::c_long);
10573 }
10574 extern "C" {
10575     pub fn initstate(
10576         __seed: ::std::os::raw::c_uint,
10577         __state: *mut ::std::os::raw::c_char,
10578         __n: size_t,
10579     ) -> *mut ::std::os::raw::c_char;
10580 }
10581 extern "C" {
10582     pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10583 }
10584 extern "C" {
10585     pub fn getpt() -> ::std::os::raw::c_int;
10586 }
10587 extern "C" {
10588     pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10589 }
10590 extern "C" {
10591     pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
10592 }
10593 extern "C" {
10594     pub fn ptsname_r(
10595         __fd: ::std::os::raw::c_int,
10596         __buf: *mut ::std::os::raw::c_char,
10597         __n: size_t,
10598     ) -> ::std::os::raw::c_int;
10599 }
10600 extern "C" {
10601     pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10602 }
10603 extern "C" {
10604     pub fn getsubopt(
10605         __option: *mut *mut ::std::os::raw::c_char,
10606         __tokens: *const *mut ::std::os::raw::c_char,
10607         __value_ptr: *mut *mut ::std::os::raw::c_char,
10608     ) -> ::std::os::raw::c_int;
10609 }
10610 #[repr(C)]
10611 #[derive(Debug, Copy, Clone)]
10612 pub struct div_t {
10613     pub quot: ::std::os::raw::c_int,
10614     pub rem: ::std::os::raw::c_int,
10615 }
10616 #[test]
10617 fn bindgen_test_layout_div_t() {
10618     assert_eq!(
10619         ::std::mem::size_of::<div_t>(),
10620         8usize,
10621         concat!("Size of: ", stringify!(div_t))
10622     );
10623     assert_eq!(
10624         ::std::mem::align_of::<div_t>(),
10625         4usize,
10626         concat!("Alignment of ", stringify!(div_t))
10627     );
10628     assert_eq!(
10629         unsafe { &(*(::std::ptr::null::<div_t>())).quot as *const _ as usize },
10630         0usize,
10631         concat!(
10632             "Offset of field: ",
10633             stringify!(div_t),
10634             "::",
10635             stringify!(quot)
10636         )
10637     );
10638     assert_eq!(
10639         unsafe { &(*(::std::ptr::null::<div_t>())).rem as *const _ as usize },
10640         4usize,
10641         concat!(
10642             "Offset of field: ",
10643             stringify!(div_t),
10644             "::",
10645             stringify!(rem)
10646         )
10647     );
10648 }
10649 extern "C" {
10650     pub fn div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t;
10651 }
10652 #[repr(C)]
10653 #[derive(Debug, Copy, Clone)]
10654 pub struct ldiv_t {
10655     pub quot: ::std::os::raw::c_long,
10656     pub rem: ::std::os::raw::c_long,
10657 }
10658 #[test]
10659 fn bindgen_test_layout_ldiv_t() {
10660     assert_eq!(
10661         ::std::mem::size_of::<ldiv_t>(),
10662         8usize,
10663         concat!("Size of: ", stringify!(ldiv_t))
10664     );
10665     assert_eq!(
10666         ::std::mem::align_of::<ldiv_t>(),
10667         4usize,
10668         concat!("Alignment of ", stringify!(ldiv_t))
10669     );
10670     assert_eq!(
10671         unsafe { &(*(::std::ptr::null::<ldiv_t>())).quot as *const _ as usize },
10672         0usize,
10673         concat!(
10674             "Offset of field: ",
10675             stringify!(ldiv_t),
10676             "::",
10677             stringify!(quot)
10678         )
10679     );
10680     assert_eq!(
10681         unsafe { &(*(::std::ptr::null::<ldiv_t>())).rem as *const _ as usize },
10682         4usize,
10683         concat!(
10684             "Offset of field: ",
10685             stringify!(ldiv_t),
10686             "::",
10687             stringify!(rem)
10688         )
10689     );
10690 }
10691 extern "C" {
10692     pub fn ldiv(
10693         __numerator: ::std::os::raw::c_long,
10694         __denominator: ::std::os::raw::c_long,
10695     ) -> ldiv_t;
10696 }
10697 #[repr(C)]
10698 #[derive(Debug, Copy, Clone)]
10699 pub struct lldiv_t {
10700     pub quot: ::std::os::raw::c_longlong,
10701     pub rem: ::std::os::raw::c_longlong,
10702 }
10703 #[test]
10704 fn bindgen_test_layout_lldiv_t() {
10705     assert_eq!(
10706         ::std::mem::size_of::<lldiv_t>(),
10707         16usize,
10708         concat!("Size of: ", stringify!(lldiv_t))
10709     );
10710     assert_eq!(
10711         ::std::mem::align_of::<lldiv_t>(),
10712         8usize,
10713         concat!("Alignment of ", stringify!(lldiv_t))
10714     );
10715     assert_eq!(
10716         unsafe { &(*(::std::ptr::null::<lldiv_t>())).quot as *const _ as usize },
10717         0usize,
10718         concat!(
10719             "Offset of field: ",
10720             stringify!(lldiv_t),
10721             "::",
10722             stringify!(quot)
10723         )
10724     );
10725     assert_eq!(
10726         unsafe { &(*(::std::ptr::null::<lldiv_t>())).rem as *const _ as usize },
10727         8usize,
10728         concat!(
10729             "Offset of field: ",
10730             stringify!(lldiv_t),
10731             "::",
10732             stringify!(rem)
10733         )
10734     );
10735 }
10736 extern "C" {
10737     pub fn lldiv(
10738         __numerator: ::std::os::raw::c_longlong,
10739         __denominator: ::std::os::raw::c_longlong,
10740     ) -> lldiv_t;
10741 }
10742 extern "C" {
10743     pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10744 }
10745 extern "C" {
10746     pub fn getprogname() -> *const ::std::os::raw::c_char;
10747 }
10748 extern "C" {
10749     pub fn setprogname(__name: *const ::std::os::raw::c_char);
10750 }
10751 extern "C" {
10752     pub fn mblen(__s: *const ::std::os::raw::c_char, __n: size_t) -> ::std::os::raw::c_int;
10753 }
10754 extern "C" {
10755     pub fn mbstowcs(
10756         __dst: *mut wchar_t,
10757         __src: *const ::std::os::raw::c_char,
10758         __n: size_t,
10759     ) -> size_t;
10760 }
10761 extern "C" {
10762     pub fn mbtowc(
10763         __wc_ptr: *mut wchar_t,
10764         __s: *const ::std::os::raw::c_char,
10765         __n: size_t,
10766     ) -> ::std::os::raw::c_int;
10767 }
10768 extern "C" {
10769     pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
10770 }
10771 extern "C" {
10772     pub fn wcstombs(
10773         __dst: *mut ::std::os::raw::c_char,
10774         __src: *const wchar_t,
10775         __n: size_t,
10776     ) -> size_t;
10777 }
10778 extern "C" {
10779     pub fn __ctype_get_mb_cur_max() -> size_t;
10780 }
10781 extern "C" {
10782     pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10783 }
10784 extern "C" {
10785     pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
10786 }
10787 extern "C" {
10788     pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
10789 }
10790 extern "C" {
10791     pub fn strtof(
10792         __s: *const ::std::os::raw::c_char,
10793         __end_ptr: *mut *mut ::std::os::raw::c_char,
10794     ) -> f32;
10795 }
10796 extern "C" {
10797     pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
10798 }
10799 extern "C" {
10800     pub fn rand() -> ::std::os::raw::c_int;
10801 }
10802 extern "C" {
10803     pub fn srand(__seed: ::std::os::raw::c_uint);
10804 }
10805 extern "C" {
10806     pub fn random() -> ::std::os::raw::c_long;
10807 }
10808 extern "C" {
10809     pub fn srandom(__seed: ::std::os::raw::c_uint);
10810 }
10811 extern "C" {
10812     pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10813 }
10814 extern "C" {
10815     pub fn strtoll_l(
10816         __s: *const ::std::os::raw::c_char,
10817         __end_ptr: *mut *mut ::std::os::raw::c_char,
10818         __base: ::std::os::raw::c_int,
10819         __l: locale_t,
10820     ) -> ::std::os::raw::c_longlong;
10821 }
10822 extern "C" {
10823     pub fn strtoull_l(
10824         __s: *const ::std::os::raw::c_char,
10825         __end_ptr: *mut *mut ::std::os::raw::c_char,
10826         __base: ::std::os::raw::c_int,
10827         __l: locale_t,
10828     ) -> ::std::os::raw::c_ulonglong;
10829 }
10830 extern "C" {
10831     pub fn strtold_l(
10832         __s: *const ::std::os::raw::c_char,
10833         __end_ptr: *mut *mut ::std::os::raw::c_char,
10834         __l: locale_t,
10835     ) -> f64;
10836 }
10837 extern "C" {
10838     pub fn strtod_l(
10839         __s: *const ::std::os::raw::c_char,
10840         __end_ptr: *mut *mut ::std::os::raw::c_char,
10841         __l: locale_t,
10842     ) -> f64;
10843 }
10844 extern "C" {
10845     pub fn strtof_l(
10846         __s: *const ::std::os::raw::c_char,
10847         __end_ptr: *mut *mut ::std::os::raw::c_char,
10848         __l: locale_t,
10849     ) -> f32;
10850 }
10851 extern "C" {
10852     pub fn strtol_l(
10853         __s: *const ::std::os::raw::c_char,
10854         __end_ptr: *mut *mut ::std::os::raw::c_char,
10855         arg1: ::std::os::raw::c_int,
10856         __l: locale_t,
10857     ) -> ::std::os::raw::c_long;
10858 }
10859 pub type net_handle_t = u64;
10860 extern "C" {
10861     pub fn android_setsocknetwork(
10862         network: net_handle_t,
10863         fd: ::std::os::raw::c_int,
10864     ) -> ::std::os::raw::c_int;
10865 }
10866 extern "C" {
10867     pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
10868 }
10869 extern "C" {
10870     pub fn android_getprocnetwork(network: *mut net_handle_t) -> ::std::os::raw::c_int;
10871 }
10872 extern "C" {
10873     pub fn android_setprocdns(network: net_handle_t) -> ::std::os::raw::c_int;
10874 }
10875 extern "C" {
10876     pub fn android_getprocdns(network: *mut net_handle_t) -> ::std::os::raw::c_int;
10877 }
10878 extern "C" {
10879     pub fn android_getaddrinfofornetwork(
10880         network: net_handle_t,
10881         node: *const ::std::os::raw::c_char,
10882         service: *const ::std::os::raw::c_char,
10883         hints: *const addrinfo,
10884         res: *mut *mut addrinfo,
10885     ) -> ::std::os::raw::c_int;
10886 }
10887 pub const ResNsendFlags_ANDROID_RESOLV_NO_RETRY: ResNsendFlags = 1;
10888 pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = 2;
10889 pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = 4;
10890 pub type ResNsendFlags = u32;
10891 extern "C" {
10892     pub fn android_res_nquery(
10893         network: net_handle_t,
10894         dname: *const ::std::os::raw::c_char,
10895         ns_class: ::std::os::raw::c_int,
10896         ns_type: ::std::os::raw::c_int,
10897         flags: u32,
10898     ) -> ::std::os::raw::c_int;
10899 }
10900 extern "C" {
10901     pub fn android_res_nsend(
10902         network: net_handle_t,
10903         msg: *const u8,
10904         msglen: size_t,
10905         flags: u32,
10906     ) -> ::std::os::raw::c_int;
10907 }
10908 extern "C" {
10909     pub fn android_res_nresult(
10910         fd: ::std::os::raw::c_int,
10911         rcode: *mut ::std::os::raw::c_int,
10912         answer: *mut u8,
10913         anslen: size_t,
10914     ) -> ::std::os::raw::c_int;
10915 }
10916 extern "C" {
10917     pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
10918 }
10919 pub const OperandCode_ANEURALNETWORKS_FLOAT32: OperandCode = 0;
10920 pub const OperandCode_ANEURALNETWORKS_INT32: OperandCode = 1;
10921 pub const OperandCode_ANEURALNETWORKS_UINT32: OperandCode = 2;
10922 pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = 3;
10923 pub const OperandCode_ANEURALNETWORKS_TENSOR_INT32: OperandCode = 4;
10924 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = 5;
10925 pub const OperandCode_ANEURALNETWORKS_BOOL: OperandCode = 6;
10926 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = 7;
10927 pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = 8;
10928 pub const OperandCode_ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = 9;
10929 pub const OperandCode_ANEURALNETWORKS_FLOAT16: OperandCode = 10;
10930 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = 11;
10931 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = 12;
10932 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = 13;
10933 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED: OperandCode = 14;
10934 pub const OperandCode_ANEURALNETWORKS_MODEL: OperandCode = 15;
10935 pub type OperandCode = ::std::os::raw::c_uint;
10936 pub const OperationCode_ANEURALNETWORKS_ADD: OperationCode = 0;
10937 pub const OperationCode_ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = 1;
10938 pub const OperationCode_ANEURALNETWORKS_CONCATENATION: OperationCode = 2;
10939 pub const OperationCode_ANEURALNETWORKS_CONV_2D: OperationCode = 3;
10940 pub const OperationCode_ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = 4;
10941 pub const OperationCode_ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = 5;
10942 pub const OperationCode_ANEURALNETWORKS_DEQUANTIZE: OperationCode = 6;
10943 pub const OperationCode_ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = 7;
10944 pub const OperationCode_ANEURALNETWORKS_FLOOR: OperationCode = 8;
10945 pub const OperationCode_ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = 9;
10946 pub const OperationCode_ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = 10;
10947 pub const OperationCode_ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = 11;
10948 pub const OperationCode_ANEURALNETWORKS_L2_POOL_2D: OperationCode = 12;
10949 pub const OperationCode_ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = 13;
10950 pub const OperationCode_ANEURALNETWORKS_LOGISTIC: OperationCode = 14;
10951 pub const OperationCode_ANEURALNETWORKS_LSH_PROJECTION: OperationCode = 15;
10952 pub const OperationCode_ANEURALNETWORKS_LSTM: OperationCode = 16;
10953 pub const OperationCode_ANEURALNETWORKS_MAX_POOL_2D: OperationCode = 17;
10954 pub const OperationCode_ANEURALNETWORKS_MUL: OperationCode = 18;
10955 pub const OperationCode_ANEURALNETWORKS_RELU: OperationCode = 19;
10956 pub const OperationCode_ANEURALNETWORKS_RELU1: OperationCode = 20;
10957 pub const OperationCode_ANEURALNETWORKS_RELU6: OperationCode = 21;
10958 pub const OperationCode_ANEURALNETWORKS_RESHAPE: OperationCode = 22;
10959 pub const OperationCode_ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = 23;
10960 pub const OperationCode_ANEURALNETWORKS_RNN: OperationCode = 24;
10961 pub const OperationCode_ANEURALNETWORKS_SOFTMAX: OperationCode = 25;
10962 pub const OperationCode_ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = 26;
10963 pub const OperationCode_ANEURALNETWORKS_SVDF: OperationCode = 27;
10964 pub const OperationCode_ANEURALNETWORKS_TANH: OperationCode = 28;
10965 pub const OperationCode_ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = 29;
10966 pub const OperationCode_ANEURALNETWORKS_DIV: OperationCode = 30;
10967 pub const OperationCode_ANEURALNETWORKS_MEAN: OperationCode = 31;
10968 pub const OperationCode_ANEURALNETWORKS_PAD: OperationCode = 32;
10969 pub const OperationCode_ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = 33;
10970 pub const OperationCode_ANEURALNETWORKS_SQUEEZE: OperationCode = 34;
10971 pub const OperationCode_ANEURALNETWORKS_STRIDED_SLICE: OperationCode = 35;
10972 pub const OperationCode_ANEURALNETWORKS_SUB: OperationCode = 36;
10973 pub const OperationCode_ANEURALNETWORKS_TRANSPOSE: OperationCode = 37;
10974 pub const OperationCode_ANEURALNETWORKS_ABS: OperationCode = 38;
10975 pub const OperationCode_ANEURALNETWORKS_ARGMAX: OperationCode = 39;
10976 pub const OperationCode_ANEURALNETWORKS_ARGMIN: OperationCode = 40;
10977 pub const OperationCode_ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = 41;
10978 pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 42;
10979 pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 43;
10980 pub const OperationCode_ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = 44;
10981 pub const OperationCode_ANEURALNETWORKS_CAST: OperationCode = 45;
10982 pub const OperationCode_ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = 46;
10983 pub const OperationCode_ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = 47;
10984 pub const OperationCode_ANEURALNETWORKS_EQUAL: OperationCode = 48;
10985 pub const OperationCode_ANEURALNETWORKS_EXP: OperationCode = 49;
10986 pub const OperationCode_ANEURALNETWORKS_EXPAND_DIMS: OperationCode = 50;
10987 pub const OperationCode_ANEURALNETWORKS_GATHER: OperationCode = 51;
10988 pub const OperationCode_ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = 52;
10989 pub const OperationCode_ANEURALNETWORKS_GREATER: OperationCode = 53;
10990 pub const OperationCode_ANEURALNETWORKS_GREATER_EQUAL: OperationCode = 54;
10991 pub const OperationCode_ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = 55;
10992 pub const OperationCode_ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = 56;
10993 pub const OperationCode_ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = 57;
10994 pub const OperationCode_ANEURALNETWORKS_LESS: OperationCode = 58;
10995 pub const OperationCode_ANEURALNETWORKS_LESS_EQUAL: OperationCode = 59;
10996 pub const OperationCode_ANEURALNETWORKS_LOG: OperationCode = 60;
10997 pub const OperationCode_ANEURALNETWORKS_LOGICAL_AND: OperationCode = 61;
10998 pub const OperationCode_ANEURALNETWORKS_LOGICAL_NOT: OperationCode = 62;
10999 pub const OperationCode_ANEURALNETWORKS_LOGICAL_OR: OperationCode = 63;
11000 pub const OperationCode_ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = 64;
11001 pub const OperationCode_ANEURALNETWORKS_MAXIMUM: OperationCode = 65;
11002 pub const OperationCode_ANEURALNETWORKS_MINIMUM: OperationCode = 66;
11003 pub const OperationCode_ANEURALNETWORKS_NEG: OperationCode = 67;
11004 pub const OperationCode_ANEURALNETWORKS_NOT_EQUAL: OperationCode = 68;
11005 pub const OperationCode_ANEURALNETWORKS_PAD_V2: OperationCode = 69;
11006 pub const OperationCode_ANEURALNETWORKS_POW: OperationCode = 70;
11007 pub const OperationCode_ANEURALNETWORKS_PRELU: OperationCode = 71;
11008 pub const OperationCode_ANEURALNETWORKS_QUANTIZE: OperationCode = 72;
11009 pub const OperationCode_ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = 73;
11010 pub const OperationCode_ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = 74;
11011 pub const OperationCode_ANEURALNETWORKS_REDUCE_ALL: OperationCode = 75;
11012 pub const OperationCode_ANEURALNETWORKS_REDUCE_ANY: OperationCode = 76;
11013 pub const OperationCode_ANEURALNETWORKS_REDUCE_MAX: OperationCode = 77;
11014 pub const OperationCode_ANEURALNETWORKS_REDUCE_MIN: OperationCode = 78;
11015 pub const OperationCode_ANEURALNETWORKS_REDUCE_PROD: OperationCode = 79;
11016 pub const OperationCode_ANEURALNETWORKS_REDUCE_SUM: OperationCode = 80;
11017 pub const OperationCode_ANEURALNETWORKS_ROI_ALIGN: OperationCode = 81;
11018 pub const OperationCode_ANEURALNETWORKS_ROI_POOLING: OperationCode = 82;
11019 pub const OperationCode_ANEURALNETWORKS_RSQRT: OperationCode = 83;
11020 pub const OperationCode_ANEURALNETWORKS_SELECT: OperationCode = 84;
11021 pub const OperationCode_ANEURALNETWORKS_SIN: OperationCode = 85;
11022 pub const OperationCode_ANEURALNETWORKS_SLICE: OperationCode = 86;
11023 pub const OperationCode_ANEURALNETWORKS_SPLIT: OperationCode = 87;
11024 pub const OperationCode_ANEURALNETWORKS_SQRT: OperationCode = 88;
11025 pub const OperationCode_ANEURALNETWORKS_TILE: OperationCode = 89;
11026 pub const OperationCode_ANEURALNETWORKS_TOPK_V2: OperationCode = 90;
11027 pub const OperationCode_ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = 91;
11028 pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 92;
11029 pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 93;
11030 pub const OperationCode_ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = 94;
11031 pub const OperationCode_ANEURALNETWORKS_QUANTIZED_LSTM: OperationCode = 95;
11032 pub const OperationCode_ANEURALNETWORKS_IF: OperationCode = 96;
11033 pub const OperationCode_ANEURALNETWORKS_WHILE: OperationCode = 97;
11034 pub const OperationCode_ANEURALNETWORKS_ELU: OperationCode = 98;
11035 pub const OperationCode_ANEURALNETWORKS_HARD_SWISH: OperationCode = 99;
11036 pub const OperationCode_ANEURALNETWORKS_FILL: OperationCode = 100;
11037 pub const OperationCode_ANEURALNETWORKS_RANK: OperationCode = 101;
11038 pub type OperationCode = ::std::os::raw::c_uint;
11039 pub const FuseCode_ANEURALNETWORKS_FUSED_NONE: FuseCode = 0;
11040 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU: FuseCode = 1;
11041 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU1: FuseCode = 2;
11042 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU6: FuseCode = 3;
11043 pub type FuseCode = ::std::os::raw::c_uint;
11044 pub const PaddingCode_ANEURALNETWORKS_PADDING_SAME: PaddingCode = 1;
11045 pub const PaddingCode_ANEURALNETWORKS_PADDING_VALID: PaddingCode = 2;
11046 pub type PaddingCode = ::std::os::raw::c_uint;
11047 pub const PreferenceCode_ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = 0;
11048 pub const PreferenceCode_ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = 1;
11049 pub const PreferenceCode_ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = 2;
11050 pub type PreferenceCode = ::std::os::raw::c_uint;
11051 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = 0;
11052 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = 1;
11053 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = 2;
11054 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = 3;
11055 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = 4;
11056 pub type DeviceTypeCode = ::std::os::raw::c_uint;
11057 pub const FeatureLevelCode_ANEURALNETWORKS_FEATURE_LEVEL_1: FeatureLevelCode = 27;
11058 pub const FeatureLevelCode_ANEURALNETWORKS_FEATURE_LEVEL_2: FeatureLevelCode = 28;
11059 pub const FeatureLevelCode_ANEURALNETWORKS_FEATURE_LEVEL_3: FeatureLevelCode = 29;
11060 pub const FeatureLevelCode_ANEURALNETWORKS_FEATURE_LEVEL_4: FeatureLevelCode = 30;
11061 pub const FeatureLevelCode_ANEURALNETWORKS_FEATURE_LEVEL_5: FeatureLevelCode = 31;
11062 pub type FeatureLevelCode = ::std::os::raw::c_uint;
11063 pub const ResultCode_ANEURALNETWORKS_NO_ERROR: ResultCode = 0;
11064 pub const ResultCode_ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = 1;
11065 pub const ResultCode_ANEURALNETWORKS_INCOMPLETE: ResultCode = 2;
11066 pub const ResultCode_ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = 3;
11067 pub const ResultCode_ANEURALNETWORKS_BAD_DATA: ResultCode = 4;
11068 pub const ResultCode_ANEURALNETWORKS_OP_FAILED: ResultCode = 5;
11069 pub const ResultCode_ANEURALNETWORKS_BAD_STATE: ResultCode = 6;
11070 pub const ResultCode_ANEURALNETWORKS_UNMAPPABLE: ResultCode = 7;
11071 pub const ResultCode_ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = 8;
11072 pub const ResultCode_ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = 9;
11073 pub const ResultCode_ANEURALNETWORKS_MISSED_DEADLINE_TRANSIENT: ResultCode = 10;
11074 pub const ResultCode_ANEURALNETWORKS_MISSED_DEADLINE_PERSISTENT: ResultCode = 11;
11075 pub const ResultCode_ANEURALNETWORKS_RESOURCE_EXHAUSTED_TRANSIENT: ResultCode = 12;
11076 pub const ResultCode_ANEURALNETWORKS_RESOURCE_EXHAUSTED_PERSISTENT: ResultCode = 13;
11077 pub const ResultCode_ANEURALNETWORKS_DEAD_OBJECT: ResultCode = 14;
11078 pub type ResultCode = ::std::os::raw::c_uint;
11079 pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: ::std::os::raw::c_uint = 128;
11080 pub type _bindgen_ty_27 = ::std::os::raw::c_uint;
11081 pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: ::std::os::raw::c_uint = 32;
11082 pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
11083 pub const DurationCode_ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = 0;
11084 pub const DurationCode_ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = 1;
11085 pub const DurationCode_ANEURALNETWORKS_FENCED_DURATION_ON_HARDWARE: DurationCode = 2;
11086 pub const DurationCode_ANEURALNETWORKS_FENCED_DURATION_IN_DRIVER: DurationCode = 3;
11087 pub type DurationCode = ::std::os::raw::c_uint;
11088 pub const PriorityCode_ANEURALNETWORKS_PRIORITY_LOW: PriorityCode = 90;
11089 pub const PriorityCode_ANEURALNETWORKS_PRIORITY_MEDIUM: PriorityCode = 100;
11090 pub const PriorityCode_ANEURALNETWORKS_PRIORITY_HIGH: PriorityCode = 110;
11091 pub const PriorityCode_ANEURALNETWORKS_PRIORITY_DEFAULT: PriorityCode = 100;
11092 pub type PriorityCode = ::std::os::raw::c_uint;
11093 #[repr(C)]
11094 #[derive(Debug, Copy, Clone)]
11095 pub struct ANeuralNetworksMemory {
11096     _unused: [u8; 0],
11097 }
11098 #[repr(C)]
11099 #[derive(Debug, Copy, Clone)]
11100 pub struct ANeuralNetworksModel {
11101     _unused: [u8; 0],
11102 }
11103 #[repr(C)]
11104 #[derive(Debug, Copy, Clone)]
11105 pub struct ANeuralNetworksCompilation {
11106     _unused: [u8; 0],
11107 }
11108 #[repr(C)]
11109 #[derive(Debug, Copy, Clone)]
11110 pub struct ANeuralNetworksExecution {
11111     _unused: [u8; 0],
11112 }
11113 #[repr(C)]
11114 #[derive(Debug, Copy, Clone)]
11115 pub struct ANeuralNetworksSymmPerChannelQuantParams {
11116     pub channelDim: u32,
11117     pub scaleCount: u32,
11118     pub scales: *const f32,
11119 }
11120 #[test]
11121 fn bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams() {
11122     assert_eq!(
11123         ::std::mem::size_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
11124         12usize,
11125         concat!(
11126             "Size of: ",
11127             stringify!(ANeuralNetworksSymmPerChannelQuantParams)
11128         )
11129     );
11130     assert_eq!(
11131         ::std::mem::align_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
11132         4usize,
11133         concat!(
11134             "Alignment of ",
11135             stringify!(ANeuralNetworksSymmPerChannelQuantParams)
11136         )
11137     );
11138     assert_eq!(
11139         unsafe {
11140             &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).channelDim
11141                 as *const _ as usize
11142         },
11143         0usize,
11144         concat!(
11145             "Offset of field: ",
11146             stringify!(ANeuralNetworksSymmPerChannelQuantParams),
11147             "::",
11148             stringify!(channelDim)
11149         )
11150     );
11151     assert_eq!(
11152         unsafe {
11153             &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scaleCount
11154                 as *const _ as usize
11155         },
11156         4usize,
11157         concat!(
11158             "Offset of field: ",
11159             stringify!(ANeuralNetworksSymmPerChannelQuantParams),
11160             "::",
11161             stringify!(scaleCount)
11162         )
11163     );
11164     assert_eq!(
11165         unsafe {
11166             &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scales as *const _
11167                 as usize
11168         },
11169         8usize,
11170         concat!(
11171             "Offset of field: ",
11172             stringify!(ANeuralNetworksSymmPerChannelQuantParams),
11173             "::",
11174             stringify!(scales)
11175         )
11176     );
11177 }
11178 #[repr(C)]
11179 #[derive(Debug, Copy, Clone)]
11180 pub struct ANeuralNetworksBurst {
11181     _unused: [u8; 0],
11182 }
11183 #[repr(C)]
11184 #[derive(Debug, Copy, Clone)]
11185 pub struct ANeuralNetworksOperandType {
11186     pub type_: i32,
11187     pub dimensionCount: u32,
11188     pub dimensions: *const u32,
11189     pub scale: f32,
11190     pub zeroPoint: i32,
11191 }
11192 #[test]
11193 fn bindgen_test_layout_ANeuralNetworksOperandType() {
11194     assert_eq!(
11195         ::std::mem::size_of::<ANeuralNetworksOperandType>(),
11196         20usize,
11197         concat!("Size of: ", stringify!(ANeuralNetworksOperandType))
11198     );
11199     assert_eq!(
11200         ::std::mem::align_of::<ANeuralNetworksOperandType>(),
11201         4usize,
11202         concat!("Alignment of ", stringify!(ANeuralNetworksOperandType))
11203     );
11204     assert_eq!(
11205         unsafe {
11206             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).type_ as *const _ as usize
11207         },
11208         0usize,
11209         concat!(
11210             "Offset of field: ",
11211             stringify!(ANeuralNetworksOperandType),
11212             "::",
11213             stringify!(type_)
11214         )
11215     );
11216     assert_eq!(
11217         unsafe {
11218             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensionCount as *const _
11219                 as usize
11220         },
11221         4usize,
11222         concat!(
11223             "Offset of field: ",
11224             stringify!(ANeuralNetworksOperandType),
11225             "::",
11226             stringify!(dimensionCount)
11227         )
11228     );
11229     assert_eq!(
11230         unsafe {
11231             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensions as *const _ as usize
11232         },
11233         8usize,
11234         concat!(
11235             "Offset of field: ",
11236             stringify!(ANeuralNetworksOperandType),
11237             "::",
11238             stringify!(dimensions)
11239         )
11240     );
11241     assert_eq!(
11242         unsafe {
11243             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).scale as *const _ as usize
11244         },
11245         12usize,
11246         concat!(
11247             "Offset of field: ",
11248             stringify!(ANeuralNetworksOperandType),
11249             "::",
11250             stringify!(scale)
11251         )
11252     );
11253     assert_eq!(
11254         unsafe {
11255             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).zeroPoint as *const _ as usize
11256         },
11257         16usize,
11258         concat!(
11259             "Offset of field: ",
11260             stringify!(ANeuralNetworksOperandType),
11261             "::",
11262             stringify!(zeroPoint)
11263         )
11264     );
11265 }
11266 pub type ANeuralNetworksOperationType = i32;
11267 #[repr(C)]
11268 #[derive(Debug, Copy, Clone)]
11269 pub struct ANeuralNetworksEvent {
11270     _unused: [u8; 0],
11271 }
11272 #[repr(C)]
11273 #[derive(Debug, Copy, Clone)]
11274 pub struct ANeuralNetworksDevice {
11275     _unused: [u8; 0],
11276 }
11277 #[repr(C)]
11278 #[derive(Debug, Copy, Clone)]
11279 pub struct ANeuralNetworksMemoryDesc {
11280     _unused: [u8; 0],
11281 }
11282 extern "C" {
11283     pub fn ANeuralNetworksMemoryDesc_create(
11284         desc: *mut *mut ANeuralNetworksMemoryDesc,
11285     ) -> ::std::os::raw::c_int;
11286 }
11287 extern "C" {
11288     pub fn ANeuralNetworksMemoryDesc_free(desc: *mut ANeuralNetworksMemoryDesc);
11289 }
11290 extern "C" {
11291     pub fn ANeuralNetworksMemoryDesc_addInputRole(
11292         desc: *mut ANeuralNetworksMemoryDesc,
11293         compilation: *const ANeuralNetworksCompilation,
11294         index: u32,
11295         frequency: f32,
11296     ) -> ::std::os::raw::c_int;
11297 }
11298 extern "C" {
11299     pub fn ANeuralNetworksMemoryDesc_addOutputRole(
11300         desc: *mut ANeuralNetworksMemoryDesc,
11301         compilation: *const ANeuralNetworksCompilation,
11302         index: u32,
11303         frequency: f32,
11304     ) -> ::std::os::raw::c_int;
11305 }
11306 extern "C" {
11307     pub fn ANeuralNetworksMemoryDesc_setDimensions(
11308         desc: *mut ANeuralNetworksMemoryDesc,
11309         rank: u32,
11310         dimensions: *const u32,
11311     ) -> ::std::os::raw::c_int;
11312 }
11313 extern "C" {
11314     pub fn ANeuralNetworksMemoryDesc_finish(
11315         desc: *mut ANeuralNetworksMemoryDesc,
11316     ) -> ::std::os::raw::c_int;
11317 }
11318 extern "C" {
11319     pub fn ANeuralNetworksMemory_createFromDesc(
11320         desc: *const ANeuralNetworksMemoryDesc,
11321         memory: *mut *mut ANeuralNetworksMemory,
11322     ) -> ::std::os::raw::c_int;
11323 }
11324 extern "C" {
11325     pub fn ANeuralNetworksMemory_copy(
11326         src: *const ANeuralNetworksMemory,
11327         dst: *const ANeuralNetworksMemory,
11328     ) -> ::std::os::raw::c_int;
11329 }
11330 extern "C" {
11331     pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
11332 }
11333 extern "C" {
11334     pub fn ANeuralNetworks_getDevice(
11335         devIndex: u32,
11336         device: *mut *mut ANeuralNetworksDevice,
11337     ) -> ::std::os::raw::c_int;
11338 }
11339 extern "C" {
11340     pub fn ANeuralNetworksDevice_getName(
11341         device: *const ANeuralNetworksDevice,
11342         name: *mut *const ::std::os::raw::c_char,
11343     ) -> ::std::os::raw::c_int;
11344 }
11345 extern "C" {
11346     pub fn ANeuralNetworksDevice_getType(
11347         device: *const ANeuralNetworksDevice,
11348         type_: *mut i32,
11349     ) -> ::std::os::raw::c_int;
11350 }
11351 extern "C" {
11352     pub fn ANeuralNetworksDevice_getVersion(
11353         device: *const ANeuralNetworksDevice,
11354         version: *mut *const ::std::os::raw::c_char,
11355     ) -> ::std::os::raw::c_int;
11356 }
11357 extern "C" {
11358     pub fn ANeuralNetworksDevice_getFeatureLevel(
11359         device: *const ANeuralNetworksDevice,
11360         featureLevel: *mut i64,
11361     ) -> ::std::os::raw::c_int;
11362 }
11363 extern "C" {
11364     pub fn ANeuralNetworksDevice_wait(
11365         device: *const ANeuralNetworksDevice,
11366     ) -> ::std::os::raw::c_int;
11367 }
11368 extern "C" {
11369     pub fn ANeuralNetworksModel_getSupportedOperationsForDevices(
11370         model: *const ANeuralNetworksModel,
11371         devices: *const *const ANeuralNetworksDevice,
11372         numDevices: u32,
11373         supportedOps: *mut bool,
11374     ) -> ::std::os::raw::c_int;
11375 }
11376 extern "C" {
11377     pub fn ANeuralNetworksCompilation_createForDevices(
11378         model: *mut ANeuralNetworksModel,
11379         devices: *const *const ANeuralNetworksDevice,
11380         numDevices: u32,
11381         compilation: *mut *mut ANeuralNetworksCompilation,
11382     ) -> ::std::os::raw::c_int;
11383 }
11384 extern "C" {
11385     pub fn ANeuralNetworksCompilation_setCaching(
11386         compilation: *mut ANeuralNetworksCompilation,
11387         cacheDir: *const ::std::os::raw::c_char,
11388         token: *const u8,
11389     ) -> ::std::os::raw::c_int;
11390 }
11391 extern "C" {
11392     pub fn ANeuralNetworksExecution_compute(
11393         execution: *mut ANeuralNetworksExecution,
11394     ) -> ::std::os::raw::c_int;
11395 }
11396 extern "C" {
11397     pub fn ANeuralNetworksExecution_getOutputOperandRank(
11398         execution: *mut ANeuralNetworksExecution,
11399         index: i32,
11400         rank: *mut u32,
11401     ) -> ::std::os::raw::c_int;
11402 }
11403 extern "C" {
11404     pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
11405         execution: *mut ANeuralNetworksExecution,
11406         index: i32,
11407         dimensions: *mut u32,
11408     ) -> ::std::os::raw::c_int;
11409 }
11410 extern "C" {
11411     pub fn ANeuralNetworksBurst_create(
11412         compilation: *mut ANeuralNetworksCompilation,
11413         burst: *mut *mut ANeuralNetworksBurst,
11414     ) -> ::std::os::raw::c_int;
11415 }
11416 extern "C" {
11417     pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
11418 }
11419 extern "C" {
11420     pub fn ANeuralNetworksExecution_burstCompute(
11421         execution: *mut ANeuralNetworksExecution,
11422         burst: *mut ANeuralNetworksBurst,
11423     ) -> ::std::os::raw::c_int;
11424 }
11425 extern "C" {
11426     pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
11427         ahwb: *const AHardwareBuffer,
11428         memory: *mut *mut ANeuralNetworksMemory,
11429     ) -> ::std::os::raw::c_int;
11430 }
11431 extern "C" {
11432     pub fn ANeuralNetworksExecution_setMeasureTiming(
11433         execution: *mut ANeuralNetworksExecution,
11434         measure: bool,
11435     ) -> ::std::os::raw::c_int;
11436 }
11437 extern "C" {
11438     pub fn ANeuralNetworksExecution_getDuration(
11439         execution: *const ANeuralNetworksExecution,
11440         durationCode: i32,
11441         duration: *mut u64,
11442     ) -> ::std::os::raw::c_int;
11443 }
11444 extern "C" {
11445     pub fn ANeuralNetworksMemory_createFromFd(
11446         size: size_t,
11447         protect: ::std::os::raw::c_int,
11448         fd: ::std::os::raw::c_int,
11449         offset: size_t,
11450         memory: *mut *mut ANeuralNetworksMemory,
11451     ) -> ::std::os::raw::c_int;
11452 }
11453 extern "C" {
11454     pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
11455 }
11456 extern "C" {
11457     pub fn ANeuralNetworksModel_create(
11458         model: *mut *mut ANeuralNetworksModel,
11459     ) -> ::std::os::raw::c_int;
11460 }
11461 extern "C" {
11462     pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
11463 }
11464 extern "C" {
11465     pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
11466 }
11467 extern "C" {
11468     pub fn ANeuralNetworksModel_addOperand(
11469         model: *mut ANeuralNetworksModel,
11470         type_: *const ANeuralNetworksOperandType,
11471     ) -> ::std::os::raw::c_int;
11472 }
11473 extern "C" {
11474     pub fn ANeuralNetworksModel_setOperandValue(
11475         model: *mut ANeuralNetworksModel,
11476         index: i32,
11477         buffer: *const ::std::os::raw::c_void,
11478         length: size_t,
11479     ) -> ::std::os::raw::c_int;
11480 }
11481 extern "C" {
11482     pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
11483         model: *mut ANeuralNetworksModel,
11484         index: i32,
11485         channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
11486     ) -> ::std::os::raw::c_int;
11487 }
11488 extern "C" {
11489     pub fn ANeuralNetworksModel_setOperandValueFromMemory(
11490         model: *mut ANeuralNetworksModel,
11491         index: i32,
11492         memory: *const ANeuralNetworksMemory,
11493         offset: size_t,
11494         length: size_t,
11495     ) -> ::std::os::raw::c_int;
11496 }
11497 extern "C" {
11498     pub fn ANeuralNetworksModel_setOperandValueFromModel(
11499         model: *mut ANeuralNetworksModel,
11500         index: i32,
11501         value: *const ANeuralNetworksModel,
11502     ) -> ::std::os::raw::c_int;
11503 }
11504 extern "C" {
11505     pub fn ANeuralNetworksModel_addOperation(
11506         model: *mut ANeuralNetworksModel,
11507         type_: ANeuralNetworksOperationType,
11508         inputCount: u32,
11509         inputs: *const u32,
11510         outputCount: u32,
11511         outputs: *const u32,
11512     ) -> ::std::os::raw::c_int;
11513 }
11514 extern "C" {
11515     pub fn ANeuralNetworksModel_identifyInputsAndOutputs(
11516         model: *mut ANeuralNetworksModel,
11517         inputCount: u32,
11518         inputs: *const u32,
11519         outputCount: u32,
11520         outputs: *const u32,
11521     ) -> ::std::os::raw::c_int;
11522 }
11523 extern "C" {
11524     pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
11525         model: *mut ANeuralNetworksModel,
11526         allow: bool,
11527     ) -> ::std::os::raw::c_int;
11528 }
11529 extern "C" {
11530     pub fn ANeuralNetworksCompilation_create(
11531         model: *mut ANeuralNetworksModel,
11532         compilation: *mut *mut ANeuralNetworksCompilation,
11533     ) -> ::std::os::raw::c_int;
11534 }
11535 extern "C" {
11536     pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
11537 }
11538 extern "C" {
11539     pub fn ANeuralNetworksCompilation_setPreference(
11540         compilation: *mut ANeuralNetworksCompilation,
11541         preference: i32,
11542     ) -> ::std::os::raw::c_int;
11543 }
11544 extern "C" {
11545     pub fn ANeuralNetworksCompilation_finish(
11546         compilation: *mut ANeuralNetworksCompilation,
11547     ) -> ::std::os::raw::c_int;
11548 }
11549 extern "C" {
11550     pub fn ANeuralNetworksCompilation_setPriority(
11551         compilation: *mut ANeuralNetworksCompilation,
11552         priority: ::std::os::raw::c_int,
11553     ) -> ::std::os::raw::c_int;
11554 }
11555 extern "C" {
11556     pub fn ANeuralNetworksCompilation_setTimeout(
11557         compilation: *mut ANeuralNetworksCompilation,
11558         duration: u64,
11559     ) -> ::std::os::raw::c_int;
11560 }
11561 extern "C" {
11562     pub fn ANeuralNetworksExecution_create(
11563         compilation: *mut ANeuralNetworksCompilation,
11564         execution: *mut *mut ANeuralNetworksExecution,
11565     ) -> ::std::os::raw::c_int;
11566 }
11567 extern "C" {
11568     pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
11569 }
11570 extern "C" {
11571     pub fn ANeuralNetworksExecution_setInput(
11572         execution: *mut ANeuralNetworksExecution,
11573         index: i32,
11574         type_: *const ANeuralNetworksOperandType,
11575         buffer: *const ::std::os::raw::c_void,
11576         length: size_t,
11577     ) -> ::std::os::raw::c_int;
11578 }
11579 extern "C" {
11580     pub fn ANeuralNetworksExecution_setInputFromMemory(
11581         execution: *mut ANeuralNetworksExecution,
11582         index: i32,
11583         type_: *const ANeuralNetworksOperandType,
11584         memory: *const ANeuralNetworksMemory,
11585         offset: size_t,
11586         length: size_t,
11587     ) -> ::std::os::raw::c_int;
11588 }
11589 extern "C" {
11590     pub fn ANeuralNetworksExecution_setOutput(
11591         execution: *mut ANeuralNetworksExecution,
11592         index: i32,
11593         type_: *const ANeuralNetworksOperandType,
11594         buffer: *mut ::std::os::raw::c_void,
11595         length: size_t,
11596     ) -> ::std::os::raw::c_int;
11597 }
11598 extern "C" {
11599     pub fn ANeuralNetworksExecution_setOutputFromMemory(
11600         execution: *mut ANeuralNetworksExecution,
11601         index: i32,
11602         type_: *const ANeuralNetworksOperandType,
11603         memory: *const ANeuralNetworksMemory,
11604         offset: size_t,
11605         length: size_t,
11606     ) -> ::std::os::raw::c_int;
11607 }
11608 extern "C" {
11609     pub fn ANeuralNetworksExecution_startCompute(
11610         execution: *mut ANeuralNetworksExecution,
11611         event: *mut *mut ANeuralNetworksEvent,
11612     ) -> ::std::os::raw::c_int;
11613 }
11614 extern "C" {
11615     pub fn ANeuralNetworksExecution_setTimeout(
11616         execution: *mut ANeuralNetworksExecution,
11617         duration: u64,
11618     ) -> ::std::os::raw::c_int;
11619 }
11620 extern "C" {
11621     pub fn ANeuralNetworksExecution_setLoopTimeout(
11622         execution: *mut ANeuralNetworksExecution,
11623         duration: u64,
11624     ) -> ::std::os::raw::c_int;
11625 }
11626 extern "C" {
11627     pub fn ANeuralNetworks_getDefaultLoopTimeout() -> u64;
11628 }
11629 extern "C" {
11630     pub fn ANeuralNetworks_getMaximumLoopTimeout() -> u64;
11631 }
11632 extern "C" {
11633     pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
11634 }
11635 extern "C" {
11636     pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
11637 }
11638 extern "C" {
11639     pub fn ANeuralNetworksEvent_createFromSyncFenceFd(
11640         sync_fence_fd: ::std::os::raw::c_int,
11641         event: *mut *mut ANeuralNetworksEvent,
11642     ) -> ::std::os::raw::c_int;
11643 }
11644 extern "C" {
11645     pub fn ANeuralNetworksEvent_getSyncFenceFd(
11646         event: *const ANeuralNetworksEvent,
11647         sync_fence_fd: *mut ::std::os::raw::c_int,
11648     ) -> ::std::os::raw::c_int;
11649 }
11650 extern "C" {
11651     pub fn ANeuralNetworksExecution_startComputeWithDependencies(
11652         execution: *mut ANeuralNetworksExecution,
11653         dependencies: *const *const ANeuralNetworksEvent,
11654         num_dependencies: u32,
11655         duration: u64,
11656         event: *mut *mut ANeuralNetworksEvent,
11657     ) -> ::std::os::raw::c_int;
11658 }
11659 extern "C" {
11660     pub fn ANeuralNetworks_getRuntimeFeatureLevel() -> i64;
11661 }
11662 extern "C" {
11663     pub fn ANeuralNetworksExecution_enableInputAndOutputPadding(
11664         execution: *mut ANeuralNetworksExecution,
11665         enable: bool,
11666     ) -> ::std::os::raw::c_int;
11667 }
11668 extern "C" {
11669     pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForInput(
11670         compilation: *const ANeuralNetworksCompilation,
11671         index: u32,
11672         alignment: *mut u32,
11673     ) -> ::std::os::raw::c_int;
11674 }
11675 extern "C" {
11676     pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForInput(
11677         compilation: *const ANeuralNetworksCompilation,
11678         index: u32,
11679         padding: *mut u32,
11680     ) -> ::std::os::raw::c_int;
11681 }
11682 extern "C" {
11683     pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForOutput(
11684         compilation: *const ANeuralNetworksCompilation,
11685         index: u32,
11686         alignment: *mut u32,
11687     ) -> ::std::os::raw::c_int;
11688 }
11689 extern "C" {
11690     pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForOutput(
11691         compilation: *const ANeuralNetworksCompilation,
11692         index: u32,
11693         padding: *mut u32,
11694     ) -> ::std::os::raw::c_int;
11695 }
11696 extern "C" {
11697     pub fn ANeuralNetworksExecution_setReusable(
11698         execution: *mut ANeuralNetworksExecution,
11699         reusable: bool,
11700     ) -> ::std::os::raw::c_int;
11701 }
11702 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = 1;
11703 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = 2;
11704 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = 4;
11705 pub type ANativeWindow_LegacyFormat = ::std::os::raw::c_uint;
11706 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = 0;
11707 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
11708     1;
11709 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
11710     2;
11711 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = 4;
11712 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform = 3;
11713 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform = 7;
11714 pub type ANativeWindowTransform = ::std::os::raw::c_uint;
11715 #[repr(C)]
11716 #[derive(Debug, Copy, Clone)]
11717 pub struct ANativeWindow {
11718     _unused: [u8; 0],
11719 }
11720 #[repr(C)]
11721 #[derive(Debug, Copy, Clone)]
11722 pub struct ANativeWindow_Buffer {
11723     pub width: i32,
11724     pub height: i32,
11725     pub stride: i32,
11726     pub format: i32,
11727     pub bits: *mut ::std::os::raw::c_void,
11728     pub reserved: [u32; 6usize],
11729 }
11730 #[test]
11731 fn bindgen_test_layout_ANativeWindow_Buffer() {
11732     assert_eq!(
11733         ::std::mem::size_of::<ANativeWindow_Buffer>(),
11734         44usize,
11735         concat!("Size of: ", stringify!(ANativeWindow_Buffer))
11736     );
11737     assert_eq!(
11738         ::std::mem::align_of::<ANativeWindow_Buffer>(),
11739         4usize,
11740         concat!("Alignment of ", stringify!(ANativeWindow_Buffer))
11741     );
11742     assert_eq!(
11743         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).width as *const _ as usize },
11744         0usize,
11745         concat!(
11746             "Offset of field: ",
11747             stringify!(ANativeWindow_Buffer),
11748             "::",
11749             stringify!(width)
11750         )
11751     );
11752     assert_eq!(
11753         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).height as *const _ as usize },
11754         4usize,
11755         concat!(
11756             "Offset of field: ",
11757             stringify!(ANativeWindow_Buffer),
11758             "::",
11759             stringify!(height)
11760         )
11761     );
11762     assert_eq!(
11763         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).stride as *const _ as usize },
11764         8usize,
11765         concat!(
11766             "Offset of field: ",
11767             stringify!(ANativeWindow_Buffer),
11768             "::",
11769             stringify!(stride)
11770         )
11771     );
11772     assert_eq!(
11773         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).format as *const _ as usize },
11774         12usize,
11775         concat!(
11776             "Offset of field: ",
11777             stringify!(ANativeWindow_Buffer),
11778             "::",
11779             stringify!(format)
11780         )
11781     );
11782     assert_eq!(
11783         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).bits as *const _ as usize },
11784         16usize,
11785         concat!(
11786             "Offset of field: ",
11787             stringify!(ANativeWindow_Buffer),
11788             "::",
11789             stringify!(bits)
11790         )
11791     );
11792     assert_eq!(
11793         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).reserved as *const _ as usize },
11794         20usize,
11795         concat!(
11796             "Offset of field: ",
11797             stringify!(ANativeWindow_Buffer),
11798             "::",
11799             stringify!(reserved)
11800         )
11801     );
11802 }
11803 extern "C" {
11804     pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
11805 }
11806 extern "C" {
11807     pub fn ANativeWindow_release(window: *mut ANativeWindow);
11808 }
11809 extern "C" {
11810     pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
11811 }
11812 extern "C" {
11813     pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
11814 }
11815 extern "C" {
11816     pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
11817 }
11818 extern "C" {
11819     pub fn ANativeWindow_setBuffersGeometry(
11820         window: *mut ANativeWindow,
11821         width: i32,
11822         height: i32,
11823         format: i32,
11824     ) -> i32;
11825 }
11826 extern "C" {
11827     pub fn ANativeWindow_lock(
11828         window: *mut ANativeWindow,
11829         outBuffer: *mut ANativeWindow_Buffer,
11830         inOutDirtyBounds: *mut ARect,
11831     ) -> i32;
11832 }
11833 extern "C" {
11834     pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
11835 }
11836 extern "C" {
11837     pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
11838 }
11839 extern "C" {
11840     pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
11841 }
11842 extern "C" {
11843     pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
11844 }
11845 pub const ANativeWindow_FrameRateCompatibility_ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT:
11846     ANativeWindow_FrameRateCompatibility = 0;
11847 pub const ANativeWindow_FrameRateCompatibility_ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_FIXED_SOURCE : ANativeWindow_FrameRateCompatibility = 1 ;
11848 pub type ANativeWindow_FrameRateCompatibility = ::std::os::raw::c_uint;
11849 extern "C" {
11850     pub fn ANativeWindow_setFrameRate(
11851         window: *mut ANativeWindow,
11852         frameRate: f32,
11853         compatibility: i8,
11854     ) -> i32;
11855 }
11856 extern "C" {
11857     pub fn ANativeWindow_tryAllocateBuffers(window: *mut ANativeWindow);
11858 }
11859 pub const ANativeWindow_ChangeFrameRateStrategy_ANATIVEWINDOW_CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS:
11860     ANativeWindow_ChangeFrameRateStrategy = 0;
11861 pub const ANativeWindow_ChangeFrameRateStrategy_ANATIVEWINDOW_CHANGE_FRAME_RATE_ALWAYS:
11862     ANativeWindow_ChangeFrameRateStrategy = 1;
11863 pub type ANativeWindow_ChangeFrameRateStrategy = ::std::os::raw::c_uint;
11864 extern "C" {
11865     pub fn ANativeWindow_setFrameRateWithChangeStrategy(
11866         window: *mut ANativeWindow,
11867         frameRate: f32,
11868         compatibility: i8,
11869         changeFrameRateStrategy: i8,
11870     ) -> i32;
11871 }
11872 #[repr(C)]
11873 #[derive(Debug, Copy, Clone)]
11874 pub struct ANativeActivity {
11875     pub callbacks: *mut ANativeActivityCallbacks,
11876     pub vm: *mut JavaVM,
11877     pub env: *mut JNIEnv,
11878     pub clazz: jobject,
11879     pub internalDataPath: *const ::std::os::raw::c_char,
11880     pub externalDataPath: *const ::std::os::raw::c_char,
11881     pub sdkVersion: i32,
11882     pub instance: *mut ::std::os::raw::c_void,
11883     pub assetManager: *mut AAssetManager,
11884     pub obbPath: *const ::std::os::raw::c_char,
11885 }
11886 #[test]
11887 fn bindgen_test_layout_ANativeActivity() {
11888     assert_eq!(
11889         ::std::mem::size_of::<ANativeActivity>(),
11890         40usize,
11891         concat!("Size of: ", stringify!(ANativeActivity))
11892     );
11893     assert_eq!(
11894         ::std::mem::align_of::<ANativeActivity>(),
11895         4usize,
11896         concat!("Alignment of ", stringify!(ANativeActivity))
11897     );
11898     assert_eq!(
11899         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).callbacks as *const _ as usize },
11900         0usize,
11901         concat!(
11902             "Offset of field: ",
11903             stringify!(ANativeActivity),
11904             "::",
11905             stringify!(callbacks)
11906         )
11907     );
11908     assert_eq!(
11909         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).vm as *const _ as usize },
11910         4usize,
11911         concat!(
11912             "Offset of field: ",
11913             stringify!(ANativeActivity),
11914             "::",
11915             stringify!(vm)
11916         )
11917     );
11918     assert_eq!(
11919         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).env as *const _ as usize },
11920         8usize,
11921         concat!(
11922             "Offset of field: ",
11923             stringify!(ANativeActivity),
11924             "::",
11925             stringify!(env)
11926         )
11927     );
11928     assert_eq!(
11929         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).clazz as *const _ as usize },
11930         12usize,
11931         concat!(
11932             "Offset of field: ",
11933             stringify!(ANativeActivity),
11934             "::",
11935             stringify!(clazz)
11936         )
11937     );
11938     assert_eq!(
11939         unsafe {
11940             &(*(::std::ptr::null::<ANativeActivity>())).internalDataPath as *const _ as usize
11941         },
11942         16usize,
11943         concat!(
11944             "Offset of field: ",
11945             stringify!(ANativeActivity),
11946             "::",
11947             stringify!(internalDataPath)
11948         )
11949     );
11950     assert_eq!(
11951         unsafe {
11952             &(*(::std::ptr::null::<ANativeActivity>())).externalDataPath as *const _ as usize
11953         },
11954         20usize,
11955         concat!(
11956             "Offset of field: ",
11957             stringify!(ANativeActivity),
11958             "::",
11959             stringify!(externalDataPath)
11960         )
11961     );
11962     assert_eq!(
11963         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).sdkVersion as *const _ as usize },
11964         24usize,
11965         concat!(
11966             "Offset of field: ",
11967             stringify!(ANativeActivity),
11968             "::",
11969             stringify!(sdkVersion)
11970         )
11971     );
11972     assert_eq!(
11973         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).instance as *const _ as usize },
11974         28usize,
11975         concat!(
11976             "Offset of field: ",
11977             stringify!(ANativeActivity),
11978             "::",
11979             stringify!(instance)
11980         )
11981     );
11982     assert_eq!(
11983         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).assetManager as *const _ as usize },
11984         32usize,
11985         concat!(
11986             "Offset of field: ",
11987             stringify!(ANativeActivity),
11988             "::",
11989             stringify!(assetManager)
11990         )
11991     );
11992     assert_eq!(
11993         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).obbPath as *const _ as usize },
11994         36usize,
11995         concat!(
11996             "Offset of field: ",
11997             stringify!(ANativeActivity),
11998             "::",
11999             stringify!(obbPath)
12000         )
12001     );
12002 }
12003 #[repr(C)]
12004 #[derive(Debug, Copy, Clone)]
12005 pub struct ANativeActivityCallbacks {
12006     pub onStart: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
12007     pub onResume: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
12008     pub onSaveInstanceState: ::std::option::Option<
12009         unsafe extern "C" fn(
12010             activity: *mut ANativeActivity,
12011             outSize: *mut size_t,
12012         ) -> *mut ::std::os::raw::c_void,
12013     >,
12014     pub onPause: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
12015     pub onStop: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
12016     pub onDestroy: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
12017     pub onWindowFocusChanged: ::std::option::Option<
12018         unsafe extern "C" fn(activity: *mut ANativeActivity, hasFocus: ::std::os::raw::c_int),
12019     >,
12020     pub onNativeWindowCreated: ::std::option::Option<
12021         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
12022     >,
12023     pub onNativeWindowResized: ::std::option::Option<
12024         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
12025     >,
12026     pub onNativeWindowRedrawNeeded: ::std::option::Option<
12027         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
12028     >,
12029     pub onNativeWindowDestroyed: ::std::option::Option<
12030         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
12031     >,
12032     pub onInputQueueCreated: ::std::option::Option<
12033         unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
12034     >,
12035     pub onInputQueueDestroyed: ::std::option::Option<
12036         unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
12037     >,
12038     pub onContentRectChanged: ::std::option::Option<
12039         unsafe extern "C" fn(activity: *mut ANativeActivity, rect: *const ARect),
12040     >,
12041     pub onConfigurationChanged:
12042         ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
12043     pub onLowMemory: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
12044 }
12045 #[test]
12046 fn bindgen_test_layout_ANativeActivityCallbacks() {
12047     assert_eq!(
12048         ::std::mem::size_of::<ANativeActivityCallbacks>(),
12049         64usize,
12050         concat!("Size of: ", stringify!(ANativeActivityCallbacks))
12051     );
12052     assert_eq!(
12053         ::std::mem::align_of::<ANativeActivityCallbacks>(),
12054         4usize,
12055         concat!("Alignment of ", stringify!(ANativeActivityCallbacks))
12056     );
12057     assert_eq!(
12058         unsafe {
12059             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStart as *const _ as usize
12060         },
12061         0usize,
12062         concat!(
12063             "Offset of field: ",
12064             stringify!(ANativeActivityCallbacks),
12065             "::",
12066             stringify!(onStart)
12067         )
12068     );
12069     assert_eq!(
12070         unsafe {
12071             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onResume as *const _ as usize
12072         },
12073         4usize,
12074         concat!(
12075             "Offset of field: ",
12076             stringify!(ANativeActivityCallbacks),
12077             "::",
12078             stringify!(onResume)
12079         )
12080     );
12081     assert_eq!(
12082         unsafe {
12083             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onSaveInstanceState as *const _
12084                 as usize
12085         },
12086         8usize,
12087         concat!(
12088             "Offset of field: ",
12089             stringify!(ANativeActivityCallbacks),
12090             "::",
12091             stringify!(onSaveInstanceState)
12092         )
12093     );
12094     assert_eq!(
12095         unsafe {
12096             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onPause as *const _ as usize
12097         },
12098         12usize,
12099         concat!(
12100             "Offset of field: ",
12101             stringify!(ANativeActivityCallbacks),
12102             "::",
12103             stringify!(onPause)
12104         )
12105     );
12106     assert_eq!(
12107         unsafe { &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStop as *const _ as usize },
12108         16usize,
12109         concat!(
12110             "Offset of field: ",
12111             stringify!(ANativeActivityCallbacks),
12112             "::",
12113             stringify!(onStop)
12114         )
12115     );
12116     assert_eq!(
12117         unsafe {
12118             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onDestroy as *const _ as usize
12119         },
12120         20usize,
12121         concat!(
12122             "Offset of field: ",
12123             stringify!(ANativeActivityCallbacks),
12124             "::",
12125             stringify!(onDestroy)
12126         )
12127     );
12128     assert_eq!(
12129         unsafe {
12130             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onWindowFocusChanged as *const _
12131                 as usize
12132         },
12133         24usize,
12134         concat!(
12135             "Offset of field: ",
12136             stringify!(ANativeActivityCallbacks),
12137             "::",
12138             stringify!(onWindowFocusChanged)
12139         )
12140     );
12141     assert_eq!(
12142         unsafe {
12143             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowCreated as *const _
12144                 as usize
12145         },
12146         28usize,
12147         concat!(
12148             "Offset of field: ",
12149             stringify!(ANativeActivityCallbacks),
12150             "::",
12151             stringify!(onNativeWindowCreated)
12152         )
12153     );
12154     assert_eq!(
12155         unsafe {
12156             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowResized as *const _
12157                 as usize
12158         },
12159         32usize,
12160         concat!(
12161             "Offset of field: ",
12162             stringify!(ANativeActivityCallbacks),
12163             "::",
12164             stringify!(onNativeWindowResized)
12165         )
12166     );
12167     assert_eq!(
12168         unsafe {
12169             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowRedrawNeeded
12170                 as *const _ as usize
12171         },
12172         36usize,
12173         concat!(
12174             "Offset of field: ",
12175             stringify!(ANativeActivityCallbacks),
12176             "::",
12177             stringify!(onNativeWindowRedrawNeeded)
12178         )
12179     );
12180     assert_eq!(
12181         unsafe {
12182             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowDestroyed as *const _
12183                 as usize
12184         },
12185         40usize,
12186         concat!(
12187             "Offset of field: ",
12188             stringify!(ANativeActivityCallbacks),
12189             "::",
12190             stringify!(onNativeWindowDestroyed)
12191         )
12192     );
12193     assert_eq!(
12194         unsafe {
12195             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueCreated as *const _
12196                 as usize
12197         },
12198         44usize,
12199         concat!(
12200             "Offset of field: ",
12201             stringify!(ANativeActivityCallbacks),
12202             "::",
12203             stringify!(onInputQueueCreated)
12204         )
12205     );
12206     assert_eq!(
12207         unsafe {
12208             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueDestroyed as *const _
12209                 as usize
12210         },
12211         48usize,
12212         concat!(
12213             "Offset of field: ",
12214             stringify!(ANativeActivityCallbacks),
12215             "::",
12216             stringify!(onInputQueueDestroyed)
12217         )
12218     );
12219     assert_eq!(
12220         unsafe {
12221             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onContentRectChanged as *const _
12222                 as usize
12223         },
12224         52usize,
12225         concat!(
12226             "Offset of field: ",
12227             stringify!(ANativeActivityCallbacks),
12228             "::",
12229             stringify!(onContentRectChanged)
12230         )
12231     );
12232     assert_eq!(
12233         unsafe {
12234             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onConfigurationChanged as *const _
12235                 as usize
12236         },
12237         56usize,
12238         concat!(
12239             "Offset of field: ",
12240             stringify!(ANativeActivityCallbacks),
12241             "::",
12242             stringify!(onConfigurationChanged)
12243         )
12244     );
12245     assert_eq!(
12246         unsafe {
12247             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onLowMemory as *const _ as usize
12248         },
12249         60usize,
12250         concat!(
12251             "Offset of field: ",
12252             stringify!(ANativeActivityCallbacks),
12253             "::",
12254             stringify!(onLowMemory)
12255         )
12256     );
12257 }
12258 pub type ANativeActivity_createFunc = ::std::option::Option<
12259     unsafe extern "C" fn(
12260         activity: *mut ANativeActivity,
12261         savedState: *mut ::std::os::raw::c_void,
12262         savedStateSize: size_t,
12263     ),
12264 >;
12265 extern "C" {
12266     pub fn ANativeActivity_onCreate(
12267         activity: *mut ANativeActivity,
12268         savedState: *mut ::std::os::raw::c_void,
12269         savedStateSize: size_t,
12270     );
12271 }
12272 extern "C" {
12273     pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
12274 }
12275 extern "C" {
12276     pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
12277 }
12278 extern "C" {
12279     pub fn ANativeActivity_setWindowFlags(
12280         activity: *mut ANativeActivity,
12281         addFlags: u32,
12282         removeFlags: u32,
12283     );
12284 }
12285 pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: ::std::os::raw::c_uint = 1;
12286 pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: ::std::os::raw::c_uint = 2;
12287 pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
12288 extern "C" {
12289     pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
12290 }
12291 pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: ::std::os::raw::c_uint = 1;
12292 pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: ::std::os::raw::c_uint = 2;
12293 pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
12294 extern "C" {
12295     pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
12296 }
12297 extern "C" {
12298     pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
12299 }
12300 extern "C" {
12301     pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
12302 }
12303 #[repr(C)]
12304 #[derive(Debug, Copy, Clone)]
12305 pub struct AObbInfo {
12306     _unused: [u8; 0],
12307 }
12308 pub const AOBBINFO_OVERLAY: ::std::os::raw::c_uint = 1;
12309 pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
12310 extern "C" {
12311     pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
12312 }
12313 extern "C" {
12314     pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
12315 }
12316 extern "C" {
12317     pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
12318 }
12319 extern "C" {
12320     pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
12321 }
12322 extern "C" {
12323     pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
12324 }
12325 pub type __double_t = f64;
12326 pub type double_t = __double_t;
12327 pub type __float_t = f32;
12328 pub type float_t = __float_t;
12329 extern "C" {
12330     pub fn acos(__x: f64) -> f64;
12331 }
12332 extern "C" {
12333     pub fn acosf(__x: f32) -> f32;
12334 }
12335 extern "C" {
12336     pub fn asin(__x: f64) -> f64;
12337 }
12338 extern "C" {
12339     pub fn asinf(__x: f32) -> f32;
12340 }
12341 extern "C" {
12342     pub fn atan(__x: f64) -> f64;
12343 }
12344 extern "C" {
12345     pub fn atanf(__x: f32) -> f32;
12346 }
12347 extern "C" {
12348     pub fn atan2(__y: f64, __x: f64) -> f64;
12349 }
12350 extern "C" {
12351     pub fn atan2f(__y: f32, __x: f32) -> f32;
12352 }
12353 extern "C" {
12354     pub fn cos(__x: f64) -> f64;
12355 }
12356 extern "C" {
12357     pub fn cosf(__x: f32) -> f32;
12358 }
12359 extern "C" {
12360     pub fn sin(__x: f64) -> f64;
12361 }
12362 extern "C" {
12363     pub fn sinf(__x: f32) -> f32;
12364 }
12365 extern "C" {
12366     pub fn tan(__x: f64) -> f64;
12367 }
12368 extern "C" {
12369     pub fn tanf(__x: f32) -> f32;
12370 }
12371 extern "C" {
12372     pub fn acosh(__x: f64) -> f64;
12373 }
12374 extern "C" {
12375     pub fn acoshf(__x: f32) -> f32;
12376 }
12377 extern "C" {
12378     pub fn asinh(__x: f64) -> f64;
12379 }
12380 extern "C" {
12381     pub fn asinhf(__x: f32) -> f32;
12382 }
12383 extern "C" {
12384     pub fn atanh(__x: f64) -> f64;
12385 }
12386 extern "C" {
12387     pub fn atanhf(__x: f32) -> f32;
12388 }
12389 extern "C" {
12390     pub fn cosh(__x: f64) -> f64;
12391 }
12392 extern "C" {
12393     pub fn coshf(__x: f32) -> f32;
12394 }
12395 extern "C" {
12396     pub fn sinh(__x: f64) -> f64;
12397 }
12398 extern "C" {
12399     pub fn sinhf(__x: f32) -> f32;
12400 }
12401 extern "C" {
12402     pub fn tanh(__x: f64) -> f64;
12403 }
12404 extern "C" {
12405     pub fn tanhf(__x: f32) -> f32;
12406 }
12407 extern "C" {
12408     pub fn exp(__x: f64) -> f64;
12409 }
12410 extern "C" {
12411     pub fn expf(__x: f32) -> f32;
12412 }
12413 extern "C" {
12414     pub fn exp2(__x: f64) -> f64;
12415 }
12416 extern "C" {
12417     pub fn exp2f(__x: f32) -> f32;
12418 }
12419 extern "C" {
12420     pub fn expm1(__x: f64) -> f64;
12421 }
12422 extern "C" {
12423     pub fn expm1f(__x: f32) -> f32;
12424 }
12425 extern "C" {
12426     pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
12427 }
12428 extern "C" {
12429     pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
12430 }
12431 extern "C" {
12432     pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
12433 }
12434 extern "C" {
12435     pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
12436 }
12437 extern "C" {
12438     pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
12439 }
12440 extern "C" {
12441     pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
12442 }
12443 extern "C" {
12444     pub fn log(__x: f64) -> f64;
12445 }
12446 extern "C" {
12447     pub fn logf(__x: f32) -> f32;
12448 }
12449 extern "C" {
12450     pub fn log10(__x: f64) -> f64;
12451 }
12452 extern "C" {
12453     pub fn log10f(__x: f32) -> f32;
12454 }
12455 extern "C" {
12456     pub fn log1p(__x: f64) -> f64;
12457 }
12458 extern "C" {
12459     pub fn log1pf(__x: f32) -> f32;
12460 }
12461 extern "C" {
12462     pub fn log2(__x: f64) -> f64;
12463 }
12464 extern "C" {
12465     pub fn log2f(__x: f32) -> f32;
12466 }
12467 extern "C" {
12468     pub fn logb(__x: f64) -> f64;
12469 }
12470 extern "C" {
12471     pub fn logbf(__x: f32) -> f32;
12472 }
12473 extern "C" {
12474     pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
12475 }
12476 extern "C" {
12477     pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
12478 }
12479 extern "C" {
12480     pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
12481 }
12482 extern "C" {
12483     pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
12484 }
12485 extern "C" {
12486     pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
12487 }
12488 extern "C" {
12489     pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
12490 }
12491 extern "C" {
12492     pub fn scalblnl(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
12493 }
12494 extern "C" {
12495     pub fn cbrt(__x: f64) -> f64;
12496 }
12497 extern "C" {
12498     pub fn cbrtf(__x: f32) -> f32;
12499 }
12500 extern "C" {
12501     pub fn fabs(__x: f64) -> f64;
12502 }
12503 extern "C" {
12504     pub fn fabsf(__x: f32) -> f32;
12505 }
12506 extern "C" {
12507     pub fn hypot(__x: f64, __y: f64) -> f64;
12508 }
12509 extern "C" {
12510     pub fn hypotf(__x: f32, __y: f32) -> f32;
12511 }
12512 extern "C" {
12513     pub fn pow(__x: f64, __y: f64) -> f64;
12514 }
12515 extern "C" {
12516     pub fn powf(__x: f32, __y: f32) -> f32;
12517 }
12518 extern "C" {
12519     pub fn sqrt(__x: f64) -> f64;
12520 }
12521 extern "C" {
12522     pub fn sqrtf(__x: f32) -> f32;
12523 }
12524 extern "C" {
12525     pub fn erf(__x: f64) -> f64;
12526 }
12527 extern "C" {
12528     pub fn erff(__x: f32) -> f32;
12529 }
12530 extern "C" {
12531     pub fn erfc(__x: f64) -> f64;
12532 }
12533 extern "C" {
12534     pub fn erfcf(__x: f32) -> f32;
12535 }
12536 extern "C" {
12537     pub fn lgamma(__x: f64) -> f64;
12538 }
12539 extern "C" {
12540     pub fn lgammaf(__x: f32) -> f32;
12541 }
12542 extern "C" {
12543     pub fn tgamma(__x: f64) -> f64;
12544 }
12545 extern "C" {
12546     pub fn tgammaf(__x: f32) -> f32;
12547 }
12548 extern "C" {
12549     pub fn ceil(__x: f64) -> f64;
12550 }
12551 extern "C" {
12552     pub fn ceilf(__x: f32) -> f32;
12553 }
12554 extern "C" {
12555     pub fn floor(__x: f64) -> f64;
12556 }
12557 extern "C" {
12558     pub fn floorf(__x: f32) -> f32;
12559 }
12560 extern "C" {
12561     pub fn nearbyint(__x: f64) -> f64;
12562 }
12563 extern "C" {
12564     pub fn nearbyintf(__x: f32) -> f32;
12565 }
12566 extern "C" {
12567     pub fn rint(__x: f64) -> f64;
12568 }
12569 extern "C" {
12570     pub fn rintf(__x: f32) -> f32;
12571 }
12572 extern "C" {
12573     pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
12574 }
12575 extern "C" {
12576     pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
12577 }
12578 extern "C" {
12579     pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
12580 }
12581 extern "C" {
12582     pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
12583 }
12584 extern "C" {
12585     pub fn round(__x: f64) -> f64;
12586 }
12587 extern "C" {
12588     pub fn roundf(__x: f32) -> f32;
12589 }
12590 extern "C" {
12591     pub fn roundl(__x: f64) -> f64;
12592 }
12593 extern "C" {
12594     pub fn lround(__x: f64) -> ::std::os::raw::c_long;
12595 }
12596 extern "C" {
12597     pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
12598 }
12599 extern "C" {
12600     pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
12601 }
12602 extern "C" {
12603     pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
12604 }
12605 extern "C" {
12606     pub fn trunc(__x: f64) -> f64;
12607 }
12608 extern "C" {
12609     pub fn truncf(__x: f32) -> f32;
12610 }
12611 extern "C" {
12612     pub fn fmod(__x: f64, __y: f64) -> f64;
12613 }
12614 extern "C" {
12615     pub fn fmodf(__x: f32, __y: f32) -> f32;
12616 }
12617 extern "C" {
12618     pub fn remainder(__x: f64, __y: f64) -> f64;
12619 }
12620 extern "C" {
12621     pub fn remainderf(__x: f32, __y: f32) -> f32;
12622 }
12623 extern "C" {
12624     pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
12625 }
12626 extern "C" {
12627     pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
12628 }
12629 extern "C" {
12630     pub fn copysign(__value: f64, __sign: f64) -> f64;
12631 }
12632 extern "C" {
12633     pub fn copysignf(__value: f32, __sign: f32) -> f32;
12634 }
12635 extern "C" {
12636     pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
12637 }
12638 extern "C" {
12639     pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
12640 }
12641 extern "C" {
12642     pub fn nextafter(__x: f64, __y: f64) -> f64;
12643 }
12644 extern "C" {
12645     pub fn nextafterf(__x: f32, __y: f32) -> f32;
12646 }
12647 extern "C" {
12648     pub fn nexttoward(__x: f64, __y: f64) -> f64;
12649 }
12650 extern "C" {
12651     pub fn nexttowardf(__x: f32, __y: f64) -> f32;
12652 }
12653 extern "C" {
12654     pub fn fdim(__x: f64, __y: f64) -> f64;
12655 }
12656 extern "C" {
12657     pub fn fdimf(__x: f32, __y: f32) -> f32;
12658 }
12659 extern "C" {
12660     pub fn fmax(__x: f64, __y: f64) -> f64;
12661 }
12662 extern "C" {
12663     pub fn fmaxf(__x: f32, __y: f32) -> f32;
12664 }
12665 extern "C" {
12666     pub fn fmin(__x: f64, __y: f64) -> f64;
12667 }
12668 extern "C" {
12669     pub fn fminf(__x: f32, __y: f32) -> f32;
12670 }
12671 extern "C" {
12672     pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
12673 }
12674 extern "C" {
12675     pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
12676 }
12677 extern "C" {
12678     pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
12679 }
12680 extern "C" {
12681     pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
12682 }
12683 extern "C" {
12684     pub static mut signgam: ::std::os::raw::c_int;
12685 }
12686 extern "C" {
12687     pub fn j0(__x: f64) -> f64;
12688 }
12689 extern "C" {
12690     pub fn j1(__x: f64) -> f64;
12691 }
12692 extern "C" {
12693     pub fn jn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
12694 }
12695 extern "C" {
12696     pub fn y0(__x: f64) -> f64;
12697 }
12698 extern "C" {
12699     pub fn y1(__x: f64) -> f64;
12700 }
12701 extern "C" {
12702     pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
12703 }
12704 pub const ASENSOR_TYPE_INVALID: ::std::os::raw::c_int = -1;
12705 pub const ASENSOR_TYPE_ACCELEROMETER: ::std::os::raw::c_int = 1;
12706 pub const ASENSOR_TYPE_MAGNETIC_FIELD: ::std::os::raw::c_int = 2;
12707 pub const ASENSOR_TYPE_GYROSCOPE: ::std::os::raw::c_int = 4;
12708 pub const ASENSOR_TYPE_LIGHT: ::std::os::raw::c_int = 5;
12709 pub const ASENSOR_TYPE_PRESSURE: ::std::os::raw::c_int = 6;
12710 pub const ASENSOR_TYPE_PROXIMITY: ::std::os::raw::c_int = 8;
12711 pub const ASENSOR_TYPE_GRAVITY: ::std::os::raw::c_int = 9;
12712 pub const ASENSOR_TYPE_LINEAR_ACCELERATION: ::std::os::raw::c_int = 10;
12713 pub const ASENSOR_TYPE_ROTATION_VECTOR: ::std::os::raw::c_int = 11;
12714 pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: ::std::os::raw::c_int = 12;
12715 pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: ::std::os::raw::c_int = 13;
12716 pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: ::std::os::raw::c_int = 14;
12717 pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: ::std::os::raw::c_int = 15;
12718 pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: ::std::os::raw::c_int = 16;
12719 pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: ::std::os::raw::c_int = 17;
12720 pub const ASENSOR_TYPE_STEP_DETECTOR: ::std::os::raw::c_int = 18;
12721 pub const ASENSOR_TYPE_STEP_COUNTER: ::std::os::raw::c_int = 19;
12722 pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: ::std::os::raw::c_int = 20;
12723 pub const ASENSOR_TYPE_HEART_RATE: ::std::os::raw::c_int = 21;
12724 pub const ASENSOR_TYPE_POSE_6DOF: ::std::os::raw::c_int = 28;
12725 pub const ASENSOR_TYPE_STATIONARY_DETECT: ::std::os::raw::c_int = 29;
12726 pub const ASENSOR_TYPE_MOTION_DETECT: ::std::os::raw::c_int = 30;
12727 pub const ASENSOR_TYPE_HEART_BEAT: ::std::os::raw::c_int = 31;
12728 pub const ASENSOR_TYPE_ADDITIONAL_INFO: ::std::os::raw::c_int = 33;
12729 pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: ::std::os::raw::c_int = 34;
12730 pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: ::std::os::raw::c_int = 35;
12731 pub const ASENSOR_TYPE_HINGE_ANGLE: ::std::os::raw::c_int = 36;
12732 pub type _bindgen_ty_32 = ::std::os::raw::c_int;
12733 pub const ASENSOR_STATUS_NO_CONTACT: ::std::os::raw::c_int = -1;
12734 pub const ASENSOR_STATUS_UNRELIABLE: ::std::os::raw::c_int = 0;
12735 pub const ASENSOR_STATUS_ACCURACY_LOW: ::std::os::raw::c_int = 1;
12736 pub const ASENSOR_STATUS_ACCURACY_MEDIUM: ::std::os::raw::c_int = 2;
12737 pub const ASENSOR_STATUS_ACCURACY_HIGH: ::std::os::raw::c_int = 3;
12738 pub type _bindgen_ty_33 = ::std::os::raw::c_int;
12739 pub const AREPORTING_MODE_INVALID: ::std::os::raw::c_int = -1;
12740 pub const AREPORTING_MODE_CONTINUOUS: ::std::os::raw::c_int = 0;
12741 pub const AREPORTING_MODE_ON_CHANGE: ::std::os::raw::c_int = 1;
12742 pub const AREPORTING_MODE_ONE_SHOT: ::std::os::raw::c_int = 2;
12743 pub const AREPORTING_MODE_SPECIAL_TRIGGER: ::std::os::raw::c_int = 3;
12744 pub type _bindgen_ty_34 = ::std::os::raw::c_int;
12745 pub const ASENSOR_DIRECT_RATE_STOP: ::std::os::raw::c_uint = 0;
12746 pub const ASENSOR_DIRECT_RATE_NORMAL: ::std::os::raw::c_uint = 1;
12747 pub const ASENSOR_DIRECT_RATE_FAST: ::std::os::raw::c_uint = 2;
12748 pub const ASENSOR_DIRECT_RATE_VERY_FAST: ::std::os::raw::c_uint = 3;
12749 pub type _bindgen_ty_35 = ::std::os::raw::c_uint;
12750 pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: ::std::os::raw::c_uint = 1;
12751 pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: ::std::os::raw::c_uint = 2;
12752 pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
12753 pub const ASENSOR_ADDITIONAL_INFO_BEGIN: ::std::os::raw::c_uint = 0;
12754 pub const ASENSOR_ADDITIONAL_INFO_END: ::std::os::raw::c_uint = 1;
12755 pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: ::std::os::raw::c_uint = 65536;
12756 pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: ::std::os::raw::c_uint = 65537;
12757 pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: ::std::os::raw::c_uint = 65538;
12758 pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: ::std::os::raw::c_uint = 65539;
12759 pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: ::std::os::raw::c_uint = 65540;
12760 pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
12761 #[repr(C)]
12762 #[derive(Copy, Clone)]
12763 pub struct ASensorVector {
12764     pub __bindgen_anon_1: ASensorVector__bindgen_ty_1,
12765     pub status: i8,
12766     pub reserved: [u8; 3usize],
12767 }
12768 #[repr(C)]
12769 #[derive(Copy, Clone)]
12770 pub union ASensorVector__bindgen_ty_1 {
12771     pub v: [f32; 3usize],
12772     pub __bindgen_anon_1: ASensorVector__bindgen_ty_1__bindgen_ty_1,
12773     pub __bindgen_anon_2: ASensorVector__bindgen_ty_1__bindgen_ty_2,
12774 }
12775 #[repr(C)]
12776 #[derive(Debug, Copy, Clone)]
12777 pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
12778     pub x: f32,
12779     pub y: f32,
12780     pub z: f32,
12781 }
12782 #[test]
12783 fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1() {
12784     assert_eq!(
12785         ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
12786         12usize,
12787         concat!(
12788             "Size of: ",
12789             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
12790         )
12791     );
12792     assert_eq!(
12793         ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
12794         4usize,
12795         concat!(
12796             "Alignment of ",
12797             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
12798         )
12799     );
12800     assert_eq!(
12801         unsafe {
12802             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).x as *const _
12803                 as usize
12804         },
12805         0usize,
12806         concat!(
12807             "Offset of field: ",
12808             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12809             "::",
12810             stringify!(x)
12811         )
12812     );
12813     assert_eq!(
12814         unsafe {
12815             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).y as *const _
12816                 as usize
12817         },
12818         4usize,
12819         concat!(
12820             "Offset of field: ",
12821             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12822             "::",
12823             stringify!(y)
12824         )
12825     );
12826     assert_eq!(
12827         unsafe {
12828             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).z as *const _
12829                 as usize
12830         },
12831         8usize,
12832         concat!(
12833             "Offset of field: ",
12834             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12835             "::",
12836             stringify!(z)
12837         )
12838     );
12839 }
12840 #[repr(C)]
12841 #[derive(Debug, Copy, Clone)]
12842 pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
12843     pub azimuth: f32,
12844     pub pitch: f32,
12845     pub roll: f32,
12846 }
12847 #[test]
12848 fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2() {
12849     assert_eq!(
12850         ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
12851         12usize,
12852         concat!(
12853             "Size of: ",
12854             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
12855         )
12856     );
12857     assert_eq!(
12858         ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
12859         4usize,
12860         concat!(
12861             "Alignment of ",
12862             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
12863         )
12864     );
12865     assert_eq!(
12866         unsafe {
12867             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).azimuth
12868                 as *const _ as usize
12869         },
12870         0usize,
12871         concat!(
12872             "Offset of field: ",
12873             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12874             "::",
12875             stringify!(azimuth)
12876         )
12877     );
12878     assert_eq!(
12879         unsafe {
12880             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).pitch as *const _
12881                 as usize
12882         },
12883         4usize,
12884         concat!(
12885             "Offset of field: ",
12886             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12887             "::",
12888             stringify!(pitch)
12889         )
12890     );
12891     assert_eq!(
12892         unsafe {
12893             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).roll as *const _
12894                 as usize
12895         },
12896         8usize,
12897         concat!(
12898             "Offset of field: ",
12899             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12900             "::",
12901             stringify!(roll)
12902         )
12903     );
12904 }
12905 #[test]
12906 fn bindgen_test_layout_ASensorVector__bindgen_ty_1() {
12907     assert_eq!(
12908         ::std::mem::size_of::<ASensorVector__bindgen_ty_1>(),
12909         12usize,
12910         concat!("Size of: ", stringify!(ASensorVector__bindgen_ty_1))
12911     );
12912     assert_eq!(
12913         ::std::mem::align_of::<ASensorVector__bindgen_ty_1>(),
12914         4usize,
12915         concat!("Alignment of ", stringify!(ASensorVector__bindgen_ty_1))
12916     );
12917     assert_eq!(
12918         unsafe { &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1>())).v as *const _ as usize },
12919         0usize,
12920         concat!(
12921             "Offset of field: ",
12922             stringify!(ASensorVector__bindgen_ty_1),
12923             "::",
12924             stringify!(v)
12925         )
12926     );
12927 }
12928 #[test]
12929 fn bindgen_test_layout_ASensorVector() {
12930     assert_eq!(
12931         ::std::mem::size_of::<ASensorVector>(),
12932         16usize,
12933         concat!("Size of: ", stringify!(ASensorVector))
12934     );
12935     assert_eq!(
12936         ::std::mem::align_of::<ASensorVector>(),
12937         4usize,
12938         concat!("Alignment of ", stringify!(ASensorVector))
12939     );
12940     assert_eq!(
12941         unsafe { &(*(::std::ptr::null::<ASensorVector>())).status as *const _ as usize },
12942         12usize,
12943         concat!(
12944             "Offset of field: ",
12945             stringify!(ASensorVector),
12946             "::",
12947             stringify!(status)
12948         )
12949     );
12950     assert_eq!(
12951         unsafe { &(*(::std::ptr::null::<ASensorVector>())).reserved as *const _ as usize },
12952         13usize,
12953         concat!(
12954             "Offset of field: ",
12955             stringify!(ASensorVector),
12956             "::",
12957             stringify!(reserved)
12958         )
12959     );
12960 }
12961 #[repr(C)]
12962 #[derive(Debug, Copy, Clone)]
12963 pub struct AMetaDataEvent {
12964     pub what: i32,
12965     pub sensor: i32,
12966 }
12967 #[test]
12968 fn bindgen_test_layout_AMetaDataEvent() {
12969     assert_eq!(
12970         ::std::mem::size_of::<AMetaDataEvent>(),
12971         8usize,
12972         concat!("Size of: ", stringify!(AMetaDataEvent))
12973     );
12974     assert_eq!(
12975         ::std::mem::align_of::<AMetaDataEvent>(),
12976         4usize,
12977         concat!("Alignment of ", stringify!(AMetaDataEvent))
12978     );
12979     assert_eq!(
12980         unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).what as *const _ as usize },
12981         0usize,
12982         concat!(
12983             "Offset of field: ",
12984             stringify!(AMetaDataEvent),
12985             "::",
12986             stringify!(what)
12987         )
12988     );
12989     assert_eq!(
12990         unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).sensor as *const _ as usize },
12991         4usize,
12992         concat!(
12993             "Offset of field: ",
12994             stringify!(AMetaDataEvent),
12995             "::",
12996             stringify!(sensor)
12997         )
12998     );
12999 }
13000 #[repr(C)]
13001 #[derive(Copy, Clone)]
13002 pub struct AUncalibratedEvent {
13003     pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1,
13004     pub __bindgen_anon_2: AUncalibratedEvent__bindgen_ty_2,
13005 }
13006 #[repr(C)]
13007 #[derive(Copy, Clone)]
13008 pub union AUncalibratedEvent__bindgen_ty_1 {
13009     pub uncalib: [f32; 3usize],
13010     pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
13011 }
13012 #[repr(C)]
13013 #[derive(Debug, Copy, Clone)]
13014 pub struct AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
13015     pub x_uncalib: f32,
13016     pub y_uncalib: f32,
13017     pub z_uncalib: f32,
13018 }
13019 #[test]
13020 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
13021     assert_eq!(
13022         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
13023         12usize,
13024         concat!(
13025             "Size of: ",
13026             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
13027         )
13028     );
13029     assert_eq!(
13030         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
13031         4usize,
13032         concat!(
13033             "Alignment of ",
13034             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
13035         )
13036     );
13037     assert_eq!(
13038         unsafe {
13039             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).x_uncalib
13040                 as *const _ as usize
13041         },
13042         0usize,
13043         concat!(
13044             "Offset of field: ",
13045             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
13046             "::",
13047             stringify!(x_uncalib)
13048         )
13049     );
13050     assert_eq!(
13051         unsafe {
13052             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).y_uncalib
13053                 as *const _ as usize
13054         },
13055         4usize,
13056         concat!(
13057             "Offset of field: ",
13058             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
13059             "::",
13060             stringify!(y_uncalib)
13061         )
13062     );
13063     assert_eq!(
13064         unsafe {
13065             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).z_uncalib
13066                 as *const _ as usize
13067         },
13068         8usize,
13069         concat!(
13070             "Offset of field: ",
13071             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
13072             "::",
13073             stringify!(z_uncalib)
13074         )
13075     );
13076 }
13077 #[test]
13078 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1() {
13079     assert_eq!(
13080         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1>(),
13081         12usize,
13082         concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_1))
13083     );
13084     assert_eq!(
13085         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1>(),
13086         4usize,
13087         concat!(
13088             "Alignment of ",
13089             stringify!(AUncalibratedEvent__bindgen_ty_1)
13090         )
13091     );
13092     assert_eq!(
13093         unsafe {
13094             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1>())).uncalib as *const _
13095                 as usize
13096         },
13097         0usize,
13098         concat!(
13099             "Offset of field: ",
13100             stringify!(AUncalibratedEvent__bindgen_ty_1),
13101             "::",
13102             stringify!(uncalib)
13103         )
13104     );
13105 }
13106 #[repr(C)]
13107 #[derive(Copy, Clone)]
13108 pub union AUncalibratedEvent__bindgen_ty_2 {
13109     pub bias: [f32; 3usize],
13110     pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
13111 }
13112 #[repr(C)]
13113 #[derive(Debug, Copy, Clone)]
13114 pub struct AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
13115     pub x_bias: f32,
13116     pub y_bias: f32,
13117     pub z_bias: f32,
13118 }
13119 #[test]
13120 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
13121     assert_eq!(
13122         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
13123         12usize,
13124         concat!(
13125             "Size of: ",
13126             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
13127         )
13128     );
13129     assert_eq!(
13130         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
13131         4usize,
13132         concat!(
13133             "Alignment of ",
13134             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
13135         )
13136     );
13137     assert_eq!(
13138         unsafe {
13139             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).x_bias
13140                 as *const _ as usize
13141         },
13142         0usize,
13143         concat!(
13144             "Offset of field: ",
13145             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
13146             "::",
13147             stringify!(x_bias)
13148         )
13149     );
13150     assert_eq!(
13151         unsafe {
13152             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).y_bias
13153                 as *const _ as usize
13154         },
13155         4usize,
13156         concat!(
13157             "Offset of field: ",
13158             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
13159             "::",
13160             stringify!(y_bias)
13161         )
13162     );
13163     assert_eq!(
13164         unsafe {
13165             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).z_bias
13166                 as *const _ as usize
13167         },
13168         8usize,
13169         concat!(
13170             "Offset of field: ",
13171             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
13172             "::",
13173             stringify!(z_bias)
13174         )
13175     );
13176 }
13177 #[test]
13178 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2() {
13179     assert_eq!(
13180         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2>(),
13181         12usize,
13182         concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_2))
13183     );
13184     assert_eq!(
13185         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2>(),
13186         4usize,
13187         concat!(
13188             "Alignment of ",
13189             stringify!(AUncalibratedEvent__bindgen_ty_2)
13190         )
13191     );
13192     assert_eq!(
13193         unsafe {
13194             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2>())).bias as *const _ as usize
13195         },
13196         0usize,
13197         concat!(
13198             "Offset of field: ",
13199             stringify!(AUncalibratedEvent__bindgen_ty_2),
13200             "::",
13201             stringify!(bias)
13202         )
13203     );
13204 }
13205 #[test]
13206 fn bindgen_test_layout_AUncalibratedEvent() {
13207     assert_eq!(
13208         ::std::mem::size_of::<AUncalibratedEvent>(),
13209         24usize,
13210         concat!("Size of: ", stringify!(AUncalibratedEvent))
13211     );
13212     assert_eq!(
13213         ::std::mem::align_of::<AUncalibratedEvent>(),
13214         4usize,
13215         concat!("Alignment of ", stringify!(AUncalibratedEvent))
13216     );
13217 }
13218 #[repr(C)]
13219 #[derive(Debug, Copy, Clone)]
13220 pub struct AHeartRateEvent {
13221     pub bpm: f32,
13222     pub status: i8,
13223 }
13224 #[test]
13225 fn bindgen_test_layout_AHeartRateEvent() {
13226     assert_eq!(
13227         ::std::mem::size_of::<AHeartRateEvent>(),
13228         8usize,
13229         concat!("Size of: ", stringify!(AHeartRateEvent))
13230     );
13231     assert_eq!(
13232         ::std::mem::align_of::<AHeartRateEvent>(),
13233         4usize,
13234         concat!("Alignment of ", stringify!(AHeartRateEvent))
13235     );
13236     assert_eq!(
13237         unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).bpm as *const _ as usize },
13238         0usize,
13239         concat!(
13240             "Offset of field: ",
13241             stringify!(AHeartRateEvent),
13242             "::",
13243             stringify!(bpm)
13244         )
13245     );
13246     assert_eq!(
13247         unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).status as *const _ as usize },
13248         4usize,
13249         concat!(
13250             "Offset of field: ",
13251             stringify!(AHeartRateEvent),
13252             "::",
13253             stringify!(status)
13254         )
13255     );
13256 }
13257 #[repr(C)]
13258 #[derive(Debug, Copy, Clone)]
13259 pub struct ADynamicSensorEvent {
13260     pub connected: i32,
13261     pub handle: i32,
13262 }
13263 #[test]
13264 fn bindgen_test_layout_ADynamicSensorEvent() {
13265     assert_eq!(
13266         ::std::mem::size_of::<ADynamicSensorEvent>(),
13267         8usize,
13268         concat!("Size of: ", stringify!(ADynamicSensorEvent))
13269     );
13270     assert_eq!(
13271         ::std::mem::align_of::<ADynamicSensorEvent>(),
13272         4usize,
13273         concat!("Alignment of ", stringify!(ADynamicSensorEvent))
13274     );
13275     assert_eq!(
13276         unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).connected as *const _ as usize },
13277         0usize,
13278         concat!(
13279             "Offset of field: ",
13280             stringify!(ADynamicSensorEvent),
13281             "::",
13282             stringify!(connected)
13283         )
13284     );
13285     assert_eq!(
13286         unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).handle as *const _ as usize },
13287         4usize,
13288         concat!(
13289             "Offset of field: ",
13290             stringify!(ADynamicSensorEvent),
13291             "::",
13292             stringify!(handle)
13293         )
13294     );
13295 }
13296 #[repr(C)]
13297 #[derive(Copy, Clone)]
13298 pub struct AAdditionalInfoEvent {
13299     pub type_: i32,
13300     pub serial: i32,
13301     pub __bindgen_anon_1: AAdditionalInfoEvent__bindgen_ty_1,
13302 }
13303 #[repr(C)]
13304 #[derive(Copy, Clone)]
13305 pub union AAdditionalInfoEvent__bindgen_ty_1 {
13306     pub data_int32: [i32; 14usize],
13307     pub data_float: [f32; 14usize],
13308 }
13309 #[test]
13310 fn bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1() {
13311     assert_eq!(
13312         ::std::mem::size_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
13313         56usize,
13314         concat!("Size of: ", stringify!(AAdditionalInfoEvent__bindgen_ty_1))
13315     );
13316     assert_eq!(
13317         ::std::mem::align_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
13318         4usize,
13319         concat!(
13320             "Alignment of ",
13321             stringify!(AAdditionalInfoEvent__bindgen_ty_1)
13322         )
13323     );
13324     assert_eq!(
13325         unsafe {
13326             &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_int32 as *const _
13327                 as usize
13328         },
13329         0usize,
13330         concat!(
13331             "Offset of field: ",
13332             stringify!(AAdditionalInfoEvent__bindgen_ty_1),
13333             "::",
13334             stringify!(data_int32)
13335         )
13336     );
13337     assert_eq!(
13338         unsafe {
13339             &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_float as *const _
13340                 as usize
13341         },
13342         0usize,
13343         concat!(
13344             "Offset of field: ",
13345             stringify!(AAdditionalInfoEvent__bindgen_ty_1),
13346             "::",
13347             stringify!(data_float)
13348         )
13349     );
13350 }
13351 #[test]
13352 fn bindgen_test_layout_AAdditionalInfoEvent() {
13353     assert_eq!(
13354         ::std::mem::size_of::<AAdditionalInfoEvent>(),
13355         64usize,
13356         concat!("Size of: ", stringify!(AAdditionalInfoEvent))
13357     );
13358     assert_eq!(
13359         ::std::mem::align_of::<AAdditionalInfoEvent>(),
13360         4usize,
13361         concat!("Alignment of ", stringify!(AAdditionalInfoEvent))
13362     );
13363     assert_eq!(
13364         unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).type_ as *const _ as usize },
13365         0usize,
13366         concat!(
13367             "Offset of field: ",
13368             stringify!(AAdditionalInfoEvent),
13369             "::",
13370             stringify!(type_)
13371         )
13372     );
13373     assert_eq!(
13374         unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).serial as *const _ as usize },
13375         4usize,
13376         concat!(
13377             "Offset of field: ",
13378             stringify!(AAdditionalInfoEvent),
13379             "::",
13380             stringify!(serial)
13381         )
13382     );
13383 }
13384 #[repr(C)]
13385 #[derive(Copy, Clone)]
13386 pub struct ASensorEvent {
13387     pub version: i32,
13388     pub sensor: i32,
13389     pub type_: i32,
13390     pub reserved0: i32,
13391     pub timestamp: i64,
13392     pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1,
13393     pub flags: u32,
13394     pub reserved1: [i32; 3usize],
13395 }
13396 #[repr(C)]
13397 #[derive(Copy, Clone)]
13398 pub union ASensorEvent__bindgen_ty_1 {
13399     pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1__bindgen_ty_1,
13400     pub u64_: ASensorEvent__bindgen_ty_1__bindgen_ty_2,
13401 }
13402 #[repr(C)]
13403 #[derive(Copy, Clone)]
13404 pub union ASensorEvent__bindgen_ty_1__bindgen_ty_1 {
13405     pub data: [f32; 16usize],
13406     pub vector: ASensorVector,
13407     pub acceleration: ASensorVector,
13408     pub gyro: ASensorVector,
13409     pub magnetic: ASensorVector,
13410     pub temperature: f32,
13411     pub distance: f32,
13412     pub light: f32,
13413     pub pressure: f32,
13414     pub relative_humidity: f32,
13415     pub uncalibrated_acceleration: AUncalibratedEvent,
13416     pub uncalibrated_gyro: AUncalibratedEvent,
13417     pub uncalibrated_magnetic: AUncalibratedEvent,
13418     pub meta_data: AMetaDataEvent,
13419     pub heart_rate: AHeartRateEvent,
13420     pub dynamic_sensor_meta: ADynamicSensorEvent,
13421     pub additional_info: AAdditionalInfoEvent,
13422 }
13423 #[test]
13424 fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1() {
13425     assert_eq!(
13426         ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
13427         64usize,
13428         concat!(
13429             "Size of: ",
13430             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
13431         )
13432     );
13433     assert_eq!(
13434         ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
13435         4usize,
13436         concat!(
13437             "Alignment of ",
13438             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
13439         )
13440     );
13441     assert_eq!(
13442         unsafe {
13443             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).data as *const _
13444                 as usize
13445         },
13446         0usize,
13447         concat!(
13448             "Offset of field: ",
13449             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13450             "::",
13451             stringify!(data)
13452         )
13453     );
13454     assert_eq!(
13455         unsafe {
13456             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).vector as *const _
13457                 as usize
13458         },
13459         0usize,
13460         concat!(
13461             "Offset of field: ",
13462             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13463             "::",
13464             stringify!(vector)
13465         )
13466     );
13467     assert_eq!(
13468         unsafe {
13469             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).acceleration
13470                 as *const _ as usize
13471         },
13472         0usize,
13473         concat!(
13474             "Offset of field: ",
13475             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13476             "::",
13477             stringify!(acceleration)
13478         )
13479     );
13480     assert_eq!(
13481         unsafe {
13482             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).gyro as *const _
13483                 as usize
13484         },
13485         0usize,
13486         concat!(
13487             "Offset of field: ",
13488             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13489             "::",
13490             stringify!(gyro)
13491         )
13492     );
13493     assert_eq!(
13494         unsafe {
13495             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).magnetic
13496                 as *const _ as usize
13497         },
13498         0usize,
13499         concat!(
13500             "Offset of field: ",
13501             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13502             "::",
13503             stringify!(magnetic)
13504         )
13505     );
13506     assert_eq!(
13507         unsafe {
13508             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).temperature
13509                 as *const _ as usize
13510         },
13511         0usize,
13512         concat!(
13513             "Offset of field: ",
13514             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13515             "::",
13516             stringify!(temperature)
13517         )
13518     );
13519     assert_eq!(
13520         unsafe {
13521             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).distance
13522                 as *const _ as usize
13523         },
13524         0usize,
13525         concat!(
13526             "Offset of field: ",
13527             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13528             "::",
13529             stringify!(distance)
13530         )
13531     );
13532     assert_eq!(
13533         unsafe {
13534             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).light as *const _
13535                 as usize
13536         },
13537         0usize,
13538         concat!(
13539             "Offset of field: ",
13540             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13541             "::",
13542             stringify!(light)
13543         )
13544     );
13545     assert_eq!(
13546         unsafe {
13547             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).pressure
13548                 as *const _ as usize
13549         },
13550         0usize,
13551         concat!(
13552             "Offset of field: ",
13553             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13554             "::",
13555             stringify!(pressure)
13556         )
13557     );
13558     assert_eq!(
13559         unsafe {
13560             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).relative_humidity
13561                 as *const _ as usize
13562         },
13563         0usize,
13564         concat!(
13565             "Offset of field: ",
13566             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13567             "::",
13568             stringify!(relative_humidity)
13569         )
13570     );
13571     assert_eq!(
13572         unsafe {
13573             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>()))
13574                 .uncalibrated_acceleration as *const _ as usize
13575         },
13576         0usize,
13577         concat!(
13578             "Offset of field: ",
13579             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13580             "::",
13581             stringify!(uncalibrated_acceleration)
13582         )
13583     );
13584     assert_eq!(
13585         unsafe {
13586             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).uncalibrated_gyro
13587                 as *const _ as usize
13588         },
13589         0usize,
13590         concat!(
13591             "Offset of field: ",
13592             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13593             "::",
13594             stringify!(uncalibrated_gyro)
13595         )
13596     );
13597     assert_eq!(
13598         unsafe {
13599             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>()))
13600                 .uncalibrated_magnetic as *const _ as usize
13601         },
13602         0usize,
13603         concat!(
13604             "Offset of field: ",
13605             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13606             "::",
13607             stringify!(uncalibrated_magnetic)
13608         )
13609     );
13610     assert_eq!(
13611         unsafe {
13612             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).meta_data
13613                 as *const _ as usize
13614         },
13615         0usize,
13616         concat!(
13617             "Offset of field: ",
13618             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13619             "::",
13620             stringify!(meta_data)
13621         )
13622     );
13623     assert_eq!(
13624         unsafe {
13625             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).heart_rate
13626                 as *const _ as usize
13627         },
13628         0usize,
13629         concat!(
13630             "Offset of field: ",
13631             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13632             "::",
13633             stringify!(heart_rate)
13634         )
13635     );
13636     assert_eq!(
13637         unsafe {
13638             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).dynamic_sensor_meta
13639                 as *const _ as usize
13640         },
13641         0usize,
13642         concat!(
13643             "Offset of field: ",
13644             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13645             "::",
13646             stringify!(dynamic_sensor_meta)
13647         )
13648     );
13649     assert_eq!(
13650         unsafe {
13651             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).additional_info
13652                 as *const _ as usize
13653         },
13654         0usize,
13655         concat!(
13656             "Offset of field: ",
13657             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13658             "::",
13659             stringify!(additional_info)
13660         )
13661     );
13662 }
13663 #[repr(C)]
13664 #[derive(Copy, Clone)]
13665 pub union ASensorEvent__bindgen_ty_1__bindgen_ty_2 {
13666     pub data: [u64; 8usize],
13667     pub step_counter: u64,
13668 }
13669 #[test]
13670 fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2() {
13671     assert_eq!(
13672         ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
13673         64usize,
13674         concat!(
13675             "Size of: ",
13676             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
13677         )
13678     );
13679     assert_eq!(
13680         ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
13681         8usize,
13682         concat!(
13683             "Alignment of ",
13684             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
13685         )
13686     );
13687     assert_eq!(
13688         unsafe {
13689             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).data as *const _
13690                 as usize
13691         },
13692         0usize,
13693         concat!(
13694             "Offset of field: ",
13695             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
13696             "::",
13697             stringify!(data)
13698         )
13699     );
13700     assert_eq!(
13701         unsafe {
13702             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).step_counter
13703                 as *const _ as usize
13704         },
13705         0usize,
13706         concat!(
13707             "Offset of field: ",
13708             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
13709             "::",
13710             stringify!(step_counter)
13711         )
13712     );
13713 }
13714 #[test]
13715 fn bindgen_test_layout_ASensorEvent__bindgen_ty_1() {
13716     assert_eq!(
13717         ::std::mem::size_of::<ASensorEvent__bindgen_ty_1>(),
13718         64usize,
13719         concat!("Size of: ", stringify!(ASensorEvent__bindgen_ty_1))
13720     );
13721     assert_eq!(
13722         ::std::mem::align_of::<ASensorEvent__bindgen_ty_1>(),
13723         8usize,
13724         concat!("Alignment of ", stringify!(ASensorEvent__bindgen_ty_1))
13725     );
13726     assert_eq!(
13727         unsafe { &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1>())).u64_ as *const _ as usize },
13728         0usize,
13729         concat!(
13730             "Offset of field: ",
13731             stringify!(ASensorEvent__bindgen_ty_1),
13732             "::",
13733             stringify!(u64_)
13734         )
13735     );
13736 }
13737 #[test]
13738 fn bindgen_test_layout_ASensorEvent() {
13739     assert_eq!(
13740         ::std::mem::size_of::<ASensorEvent>(),
13741         104usize,
13742         concat!("Size of: ", stringify!(ASensorEvent))
13743     );
13744     assert_eq!(
13745         ::std::mem::align_of::<ASensorEvent>(),
13746         8usize,
13747         concat!("Alignment of ", stringify!(ASensorEvent))
13748     );
13749     assert_eq!(
13750         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).version as *const _ as usize },
13751         0usize,
13752         concat!(
13753             "Offset of field: ",
13754             stringify!(ASensorEvent),
13755             "::",
13756             stringify!(version)
13757         )
13758     );
13759     assert_eq!(
13760         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).sensor as *const _ as usize },
13761         4usize,
13762         concat!(
13763             "Offset of field: ",
13764             stringify!(ASensorEvent),
13765             "::",
13766             stringify!(sensor)
13767         )
13768     );
13769     assert_eq!(
13770         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).type_ as *const _ as usize },
13771         8usize,
13772         concat!(
13773             "Offset of field: ",
13774             stringify!(ASensorEvent),
13775             "::",
13776             stringify!(type_)
13777         )
13778     );
13779     assert_eq!(
13780         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved0 as *const _ as usize },
13781         12usize,
13782         concat!(
13783             "Offset of field: ",
13784             stringify!(ASensorEvent),
13785             "::",
13786             stringify!(reserved0)
13787         )
13788     );
13789     assert_eq!(
13790         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).timestamp as *const _ as usize },
13791         16usize,
13792         concat!(
13793             "Offset of field: ",
13794             stringify!(ASensorEvent),
13795             "::",
13796             stringify!(timestamp)
13797         )
13798     );
13799     assert_eq!(
13800         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).flags as *const _ as usize },
13801         88usize,
13802         concat!(
13803             "Offset of field: ",
13804             stringify!(ASensorEvent),
13805             "::",
13806             stringify!(flags)
13807         )
13808     );
13809     assert_eq!(
13810         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved1 as *const _ as usize },
13811         92usize,
13812         concat!(
13813             "Offset of field: ",
13814             stringify!(ASensorEvent),
13815             "::",
13816             stringify!(reserved1)
13817         )
13818     );
13819 }
13820 #[repr(C)]
13821 #[derive(Debug, Copy, Clone)]
13822 pub struct ASensorManager {
13823     _unused: [u8; 0],
13824 }
13825 #[repr(C)]
13826 #[derive(Debug, Copy, Clone)]
13827 pub struct ASensorEventQueue {
13828     _unused: [u8; 0],
13829 }
13830 #[repr(C)]
13831 #[derive(Debug, Copy, Clone)]
13832 pub struct ASensor {
13833     _unused: [u8; 0],
13834 }
13835 pub type ASensorRef = *const ASensor;
13836 pub type ASensorList = *const ASensorRef;
13837 extern "C" {
13838     pub fn ASensorManager_getInstance() -> *mut ASensorManager;
13839 }
13840 extern "C" {
13841     pub fn ASensorManager_getInstanceForPackage(
13842         packageName: *const ::std::os::raw::c_char,
13843     ) -> *mut ASensorManager;
13844 }
13845 extern "C" {
13846     pub fn ASensorManager_getSensorList(
13847         manager: *mut ASensorManager,
13848         list: *mut ASensorList,
13849     ) -> ::std::os::raw::c_int;
13850 }
13851 extern "C" {
13852     pub fn ASensorManager_getDefaultSensor(
13853         manager: *mut ASensorManager,
13854         type_: ::std::os::raw::c_int,
13855     ) -> *const ASensor;
13856 }
13857 extern "C" {
13858     pub fn ASensorManager_getDefaultSensorEx(
13859         manager: *mut ASensorManager,
13860         type_: ::std::os::raw::c_int,
13861         wakeUp: bool,
13862     ) -> *const ASensor;
13863 }
13864 extern "C" {
13865     pub fn ASensorManager_createEventQueue(
13866         manager: *mut ASensorManager,
13867         looper: *mut ALooper,
13868         ident: ::std::os::raw::c_int,
13869         callback: ALooper_callbackFunc,
13870         data: *mut ::std::os::raw::c_void,
13871     ) -> *mut ASensorEventQueue;
13872 }
13873 extern "C" {
13874     pub fn ASensorManager_destroyEventQueue(
13875         manager: *mut ASensorManager,
13876         queue: *mut ASensorEventQueue,
13877     ) -> ::std::os::raw::c_int;
13878 }
13879 extern "C" {
13880     pub fn ASensorManager_createSharedMemoryDirectChannel(
13881         manager: *mut ASensorManager,
13882         fd: ::std::os::raw::c_int,
13883         size: size_t,
13884     ) -> ::std::os::raw::c_int;
13885 }
13886 extern "C" {
13887     pub fn ASensorManager_createHardwareBufferDirectChannel(
13888         manager: *mut ASensorManager,
13889         buffer: *const AHardwareBuffer,
13890         size: size_t,
13891     ) -> ::std::os::raw::c_int;
13892 }
13893 extern "C" {
13894     pub fn ASensorManager_destroyDirectChannel(
13895         manager: *mut ASensorManager,
13896         channelId: ::std::os::raw::c_int,
13897     );
13898 }
13899 extern "C" {
13900     pub fn ASensorManager_configureDirectReport(
13901         manager: *mut ASensorManager,
13902         sensor: *const ASensor,
13903         channelId: ::std::os::raw::c_int,
13904         rate: ::std::os::raw::c_int,
13905     ) -> ::std::os::raw::c_int;
13906 }
13907 extern "C" {
13908     pub fn ASensorEventQueue_registerSensor(
13909         queue: *mut ASensorEventQueue,
13910         sensor: *const ASensor,
13911         samplingPeriodUs: i32,
13912         maxBatchReportLatencyUs: i64,
13913     ) -> ::std::os::raw::c_int;
13914 }
13915 extern "C" {
13916     pub fn ASensorEventQueue_enableSensor(
13917         queue: *mut ASensorEventQueue,
13918         sensor: *const ASensor,
13919     ) -> ::std::os::raw::c_int;
13920 }
13921 extern "C" {
13922     pub fn ASensorEventQueue_disableSensor(
13923         queue: *mut ASensorEventQueue,
13924         sensor: *const ASensor,
13925     ) -> ::std::os::raw::c_int;
13926 }
13927 extern "C" {
13928     pub fn ASensorEventQueue_setEventRate(
13929         queue: *mut ASensorEventQueue,
13930         sensor: *const ASensor,
13931         usec: i32,
13932     ) -> ::std::os::raw::c_int;
13933 }
13934 extern "C" {
13935     pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
13936 }
13937 extern "C" {
13938     pub fn ASensorEventQueue_getEvents(
13939         queue: *mut ASensorEventQueue,
13940         events: *mut ASensorEvent,
13941         count: size_t,
13942     ) -> ssize_t;
13943 }
13944 extern "C" {
13945     pub fn ASensorEventQueue_requestAdditionalInfoEvents(
13946         queue: *mut ASensorEventQueue,
13947         enable: bool,
13948     ) -> ::std::os::raw::c_int;
13949 }
13950 extern "C" {
13951     pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13952 }
13953 extern "C" {
13954     pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13955 }
13956 extern "C" {
13957     pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
13958 }
13959 extern "C" {
13960     pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
13961 }
13962 extern "C" {
13963     pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
13964 }
13965 extern "C" {
13966     pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13967 }
13968 extern "C" {
13969     pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13970 }
13971 extern "C" {
13972     pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13973 }
13974 extern "C" {
13975     pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
13976 }
13977 extern "C" {
13978     pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
13979 }
13980 extern "C" {
13981     pub fn ASensor_isDirectChannelTypeSupported(
13982         sensor: *const ASensor,
13983         channelType: ::std::os::raw::c_int,
13984     ) -> bool;
13985 }
13986 extern "C" {
13987     pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
13988         -> ::std::os::raw::c_int;
13989 }
13990 extern "C" {
13991     pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
13992 }
13993 extern "C" {
13994     pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
13995 }
13996 extern "C" {
13997     pub fn ASharedMemory_create(
13998         name: *const ::std::os::raw::c_char,
13999         size: size_t,
14000     ) -> ::std::os::raw::c_int;
14001 }
14002 extern "C" {
14003     pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> size_t;
14004 }
14005 extern "C" {
14006     pub fn ASharedMemory_setProt(
14007         fd: ::std::os::raw::c_int,
14008         prot: ::std::os::raw::c_int,
14009     ) -> ::std::os::raw::c_int;
14010 }
14011 extern "C" {
14012     pub fn ASharedMemory_dupFromJava(
14013         env: *mut JNIEnv,
14014         sharedMemory: jobject,
14015     ) -> ::std::os::raw::c_int;
14016 }
14017 #[repr(C)]
14018 #[derive(Debug, Copy, Clone)]
14019 pub struct AStorageManager {
14020     _unused: [u8; 0],
14021 }
14022 pub const AOBB_STATE_MOUNTED: ::std::os::raw::c_uint = 1;
14023 pub const AOBB_STATE_UNMOUNTED: ::std::os::raw::c_uint = 2;
14024 pub const AOBB_STATE_ERROR_INTERNAL: ::std::os::raw::c_uint = 20;
14025 pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: ::std::os::raw::c_uint = 21;
14026 pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: ::std::os::raw::c_uint = 22;
14027 pub const AOBB_STATE_ERROR_NOT_MOUNTED: ::std::os::raw::c_uint = 23;
14028 pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: ::std::os::raw::c_uint = 24;
14029 pub const AOBB_STATE_ERROR_PERMISSION_DENIED: ::std::os::raw::c_uint = 25;
14030 pub type _bindgen_ty_38 = ::std::os::raw::c_uint;
14031 extern "C" {
14032     pub fn AStorageManager_new() -> *mut AStorageManager;
14033 }
14034 extern "C" {
14035     pub fn AStorageManager_delete(mgr: *mut AStorageManager);
14036 }
14037 pub type AStorageManager_obbCallbackFunc = ::std::option::Option<
14038     unsafe extern "C" fn(
14039         filename: *const ::std::os::raw::c_char,
14040         state: i32,
14041         data: *mut ::std::os::raw::c_void,
14042     ),
14043 >;
14044 extern "C" {
14045     pub fn AStorageManager_mountObb(
14046         mgr: *mut AStorageManager,
14047         filename: *const ::std::os::raw::c_char,
14048         key: *const ::std::os::raw::c_char,
14049         cb: AStorageManager_obbCallbackFunc,
14050         data: *mut ::std::os::raw::c_void,
14051     );
14052 }
14053 extern "C" {
14054     pub fn AStorageManager_unmountObb(
14055         mgr: *mut AStorageManager,
14056         filename: *const ::std::os::raw::c_char,
14057         force: ::std::os::raw::c_int,
14058         cb: AStorageManager_obbCallbackFunc,
14059         data: *mut ::std::os::raw::c_void,
14060     );
14061 }
14062 extern "C" {
14063     pub fn AStorageManager_isObbMounted(
14064         mgr: *mut AStorageManager,
14065         filename: *const ::std::os::raw::c_char,
14066     ) -> ::std::os::raw::c_int;
14067 }
14068 extern "C" {
14069     pub fn AStorageManager_getMountedObbPath(
14070         mgr: *mut AStorageManager,
14071         filename: *const ::std::os::raw::c_char,
14072     ) -> *const ::std::os::raw::c_char;
14073 }
14074 #[repr(C)]
14075 #[derive(Debug, Copy, Clone)]
14076 pub struct ASurfaceTexture {
14077     _unused: [u8; 0],
14078 }
14079 extern "C" {
14080     pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
14081 }
14082 extern "C" {
14083     pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
14084 }
14085 extern "C" {
14086     pub fn ASurfaceTexture_attachToGLContext(
14087         st: *mut ASurfaceTexture,
14088         texName: u32,
14089     ) -> ::std::os::raw::c_int;
14090 }
14091 extern "C" {
14092     pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
14093 }
14094 extern "C" {
14095     pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
14096 }
14097 extern "C" {
14098     pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
14099 }
14100 extern "C" {
14101     pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
14102 }
14103 extern "C" {
14104     pub fn ASurfaceTexture_fromSurfaceTexture(
14105         env: *mut JNIEnv,
14106         surfacetexture: jobject,
14107     ) -> *mut ASurfaceTexture;
14108 }
14109 #[repr(C)]
14110 #[derive(Debug, Copy, Clone)]
14111 pub struct sync_merge_data {
14112     pub name: [::std::os::raw::c_char; 32usize],
14113     pub fd2: __s32,
14114     pub fence: __s32,
14115     pub flags: __u32,
14116     pub pad: __u32,
14117 }
14118 #[test]
14119 fn bindgen_test_layout_sync_merge_data() {
14120     assert_eq!(
14121         ::std::mem::size_of::<sync_merge_data>(),
14122         48usize,
14123         concat!("Size of: ", stringify!(sync_merge_data))
14124     );
14125     assert_eq!(
14126         ::std::mem::align_of::<sync_merge_data>(),
14127         4usize,
14128         concat!("Alignment of ", stringify!(sync_merge_data))
14129     );
14130     assert_eq!(
14131         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).name as *const _ as usize },
14132         0usize,
14133         concat!(
14134             "Offset of field: ",
14135             stringify!(sync_merge_data),
14136             "::",
14137             stringify!(name)
14138         )
14139     );
14140     assert_eq!(
14141         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fd2 as *const _ as usize },
14142         32usize,
14143         concat!(
14144             "Offset of field: ",
14145             stringify!(sync_merge_data),
14146             "::",
14147             stringify!(fd2)
14148         )
14149     );
14150     assert_eq!(
14151         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fence as *const _ as usize },
14152         36usize,
14153         concat!(
14154             "Offset of field: ",
14155             stringify!(sync_merge_data),
14156             "::",
14157             stringify!(fence)
14158         )
14159     );
14160     assert_eq!(
14161         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).flags as *const _ as usize },
14162         40usize,
14163         concat!(
14164             "Offset of field: ",
14165             stringify!(sync_merge_data),
14166             "::",
14167             stringify!(flags)
14168         )
14169     );
14170     assert_eq!(
14171         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).pad as *const _ as usize },
14172         44usize,
14173         concat!(
14174             "Offset of field: ",
14175             stringify!(sync_merge_data),
14176             "::",
14177             stringify!(pad)
14178         )
14179     );
14180 }
14181 #[repr(C)]
14182 #[derive(Debug, Copy, Clone)]
14183 pub struct sync_fence_info {
14184     pub obj_name: [::std::os::raw::c_char; 32usize],
14185     pub driver_name: [::std::os::raw::c_char; 32usize],
14186     pub status: __s32,
14187     pub flags: __u32,
14188     pub timestamp_ns: __u64,
14189 }
14190 #[test]
14191 fn bindgen_test_layout_sync_fence_info() {
14192     assert_eq!(
14193         ::std::mem::size_of::<sync_fence_info>(),
14194         80usize,
14195         concat!("Size of: ", stringify!(sync_fence_info))
14196     );
14197     assert_eq!(
14198         ::std::mem::align_of::<sync_fence_info>(),
14199         8usize,
14200         concat!("Alignment of ", stringify!(sync_fence_info))
14201     );
14202     assert_eq!(
14203         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).obj_name as *const _ as usize },
14204         0usize,
14205         concat!(
14206             "Offset of field: ",
14207             stringify!(sync_fence_info),
14208             "::",
14209             stringify!(obj_name)
14210         )
14211     );
14212     assert_eq!(
14213         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).driver_name as *const _ as usize },
14214         32usize,
14215         concat!(
14216             "Offset of field: ",
14217             stringify!(sync_fence_info),
14218             "::",
14219             stringify!(driver_name)
14220         )
14221     );
14222     assert_eq!(
14223         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).status as *const _ as usize },
14224         64usize,
14225         concat!(
14226             "Offset of field: ",
14227             stringify!(sync_fence_info),
14228             "::",
14229             stringify!(status)
14230         )
14231     );
14232     assert_eq!(
14233         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).flags as *const _ as usize },
14234         68usize,
14235         concat!(
14236             "Offset of field: ",
14237             stringify!(sync_fence_info),
14238             "::",
14239             stringify!(flags)
14240         )
14241     );
14242     assert_eq!(
14243         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).timestamp_ns as *const _ as usize },
14244         72usize,
14245         concat!(
14246             "Offset of field: ",
14247             stringify!(sync_fence_info),
14248             "::",
14249             stringify!(timestamp_ns)
14250         )
14251     );
14252 }
14253 #[repr(C)]
14254 #[derive(Debug, Copy, Clone)]
14255 pub struct sync_file_info {
14256     pub name: [::std::os::raw::c_char; 32usize],
14257     pub status: __s32,
14258     pub flags: __u32,
14259     pub num_fences: __u32,
14260     pub pad: __u32,
14261     pub sync_fence_info: __u64,
14262 }
14263 #[test]
14264 fn bindgen_test_layout_sync_file_info() {
14265     assert_eq!(
14266         ::std::mem::size_of::<sync_file_info>(),
14267         56usize,
14268         concat!("Size of: ", stringify!(sync_file_info))
14269     );
14270     assert_eq!(
14271         ::std::mem::align_of::<sync_file_info>(),
14272         8usize,
14273         concat!("Alignment of ", stringify!(sync_file_info))
14274     );
14275     assert_eq!(
14276         unsafe { &(*(::std::ptr::null::<sync_file_info>())).name as *const _ as usize },
14277         0usize,
14278         concat!(
14279             "Offset of field: ",
14280             stringify!(sync_file_info),
14281             "::",
14282             stringify!(name)
14283         )
14284     );
14285     assert_eq!(
14286         unsafe { &(*(::std::ptr::null::<sync_file_info>())).status as *const _ as usize },
14287         32usize,
14288         concat!(
14289             "Offset of field: ",
14290             stringify!(sync_file_info),
14291             "::",
14292             stringify!(status)
14293         )
14294     );
14295     assert_eq!(
14296         unsafe { &(*(::std::ptr::null::<sync_file_info>())).flags as *const _ as usize },
14297         36usize,
14298         concat!(
14299             "Offset of field: ",
14300             stringify!(sync_file_info),
14301             "::",
14302             stringify!(flags)
14303         )
14304     );
14305     assert_eq!(
14306         unsafe { &(*(::std::ptr::null::<sync_file_info>())).num_fences as *const _ as usize },
14307         40usize,
14308         concat!(
14309             "Offset of field: ",
14310             stringify!(sync_file_info),
14311             "::",
14312             stringify!(num_fences)
14313         )
14314     );
14315     assert_eq!(
14316         unsafe { &(*(::std::ptr::null::<sync_file_info>())).pad as *const _ as usize },
14317         44usize,
14318         concat!(
14319             "Offset of field: ",
14320             stringify!(sync_file_info),
14321             "::",
14322             stringify!(pad)
14323         )
14324     );
14325     assert_eq!(
14326         unsafe { &(*(::std::ptr::null::<sync_file_info>())).sync_fence_info as *const _ as usize },
14327         48usize,
14328         concat!(
14329             "Offset of field: ",
14330             stringify!(sync_file_info),
14331             "::",
14332             stringify!(sync_fence_info)
14333         )
14334     );
14335 }
14336 extern "C" {
14337     pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
14338 }
14339 extern "C" {
14340     pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
14341 }
14342 extern "C" {
14343     pub fn sync_file_info_free(info: *mut sync_file_info);
14344 }
14345 extern "C" {
14346     pub fn ATrace_isEnabled() -> bool;
14347 }
14348 extern "C" {
14349     pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
14350 }
14351 extern "C" {
14352     pub fn ATrace_endSection();
14353 }
14354 extern "C" {
14355     pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
14356 }
14357 extern "C" {
14358     pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
14359 }
14360 extern "C" {
14361     pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
14362 }
14363 pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: ::std::os::raw::c_uint = 1;
14364 pub const AWINDOW_FLAG_DIM_BEHIND: ::std::os::raw::c_uint = 2;
14365 pub const AWINDOW_FLAG_BLUR_BEHIND: ::std::os::raw::c_uint = 4;
14366 pub const AWINDOW_FLAG_NOT_FOCUSABLE: ::std::os::raw::c_uint = 8;
14367 pub const AWINDOW_FLAG_NOT_TOUCHABLE: ::std::os::raw::c_uint = 16;
14368 pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: ::std::os::raw::c_uint = 32;
14369 pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: ::std::os::raw::c_uint = 64;
14370 pub const AWINDOW_FLAG_KEEP_SCREEN_ON: ::std::os::raw::c_uint = 128;
14371 pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: ::std::os::raw::c_uint = 256;
14372 pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: ::std::os::raw::c_uint = 512;
14373 pub const AWINDOW_FLAG_FULLSCREEN: ::std::os::raw::c_uint = 1024;
14374 pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: ::std::os::raw::c_uint = 2048;
14375 pub const AWINDOW_FLAG_DITHER: ::std::os::raw::c_uint = 4096;
14376 pub const AWINDOW_FLAG_SECURE: ::std::os::raw::c_uint = 8192;
14377 pub const AWINDOW_FLAG_SCALED: ::std::os::raw::c_uint = 16384;
14378 pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: ::std::os::raw::c_uint = 32768;
14379 pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: ::std::os::raw::c_uint = 65536;
14380 pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: ::std::os::raw::c_uint = 131072;
14381 pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: ::std::os::raw::c_uint = 262144;
14382 pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: ::std::os::raw::c_uint = 524288;
14383 pub const AWINDOW_FLAG_SHOW_WALLPAPER: ::std::os::raw::c_uint = 1048576;
14384 pub const AWINDOW_FLAG_TURN_SCREEN_ON: ::std::os::raw::c_uint = 2097152;
14385 pub const AWINDOW_FLAG_DISMISS_KEYGUARD: ::std::os::raw::c_uint = 4194304;
14386 pub type _bindgen_ty_39 = ::std::os::raw::c_uint;
14387 #[repr(C)]
14388 #[derive(Debug, Copy, Clone)]
14389 pub struct __kernel_timespec {
14390     pub tv_sec: __kernel_time64_t,
14391     pub tv_nsec: ::std::os::raw::c_longlong,
14392 }
14393 #[test]
14394 fn bindgen_test_layout___kernel_timespec() {
14395     assert_eq!(
14396         ::std::mem::size_of::<__kernel_timespec>(),
14397         16usize,
14398         concat!("Size of: ", stringify!(__kernel_timespec))
14399     );
14400     assert_eq!(
14401         ::std::mem::align_of::<__kernel_timespec>(),
14402         8usize,
14403         concat!("Alignment of ", stringify!(__kernel_timespec))
14404     );
14405     assert_eq!(
14406         unsafe { &(*(::std::ptr::null::<__kernel_timespec>())).tv_sec as *const _ as usize },
14407         0usize,
14408         concat!(
14409             "Offset of field: ",
14410             stringify!(__kernel_timespec),
14411             "::",
14412             stringify!(tv_sec)
14413         )
14414     );
14415     assert_eq!(
14416         unsafe { &(*(::std::ptr::null::<__kernel_timespec>())).tv_nsec as *const _ as usize },
14417         8usize,
14418         concat!(
14419             "Offset of field: ",
14420             stringify!(__kernel_timespec),
14421             "::",
14422             stringify!(tv_nsec)
14423         )
14424     );
14425 }
14426 #[repr(C)]
14427 #[derive(Debug, Copy, Clone)]
14428 pub struct __kernel_itimerspec {
14429     pub it_interval: __kernel_timespec,
14430     pub it_value: __kernel_timespec,
14431 }
14432 #[test]
14433 fn bindgen_test_layout___kernel_itimerspec() {
14434     assert_eq!(
14435         ::std::mem::size_of::<__kernel_itimerspec>(),
14436         32usize,
14437         concat!("Size of: ", stringify!(__kernel_itimerspec))
14438     );
14439     assert_eq!(
14440         ::std::mem::align_of::<__kernel_itimerspec>(),
14441         8usize,
14442         concat!("Alignment of ", stringify!(__kernel_itimerspec))
14443     );
14444     assert_eq!(
14445         unsafe { &(*(::std::ptr::null::<__kernel_itimerspec>())).it_interval as *const _ as usize },
14446         0usize,
14447         concat!(
14448             "Offset of field: ",
14449             stringify!(__kernel_itimerspec),
14450             "::",
14451             stringify!(it_interval)
14452         )
14453     );
14454     assert_eq!(
14455         unsafe { &(*(::std::ptr::null::<__kernel_itimerspec>())).it_value as *const _ as usize },
14456         16usize,
14457         concat!(
14458             "Offset of field: ",
14459             stringify!(__kernel_itimerspec),
14460             "::",
14461             stringify!(it_value)
14462         )
14463     );
14464 }
14465 #[repr(C)]
14466 #[derive(Debug, Copy, Clone)]
14467 pub struct __kernel_old_timespec {
14468     pub tv_sec: __kernel_old_time_t,
14469     pub tv_nsec: ::std::os::raw::c_long,
14470 }
14471 #[test]
14472 fn bindgen_test_layout___kernel_old_timespec() {
14473     assert_eq!(
14474         ::std::mem::size_of::<__kernel_old_timespec>(),
14475         8usize,
14476         concat!("Size of: ", stringify!(__kernel_old_timespec))
14477     );
14478     assert_eq!(
14479         ::std::mem::align_of::<__kernel_old_timespec>(),
14480         4usize,
14481         concat!("Alignment of ", stringify!(__kernel_old_timespec))
14482     );
14483     assert_eq!(
14484         unsafe { &(*(::std::ptr::null::<__kernel_old_timespec>())).tv_sec as *const _ as usize },
14485         0usize,
14486         concat!(
14487             "Offset of field: ",
14488             stringify!(__kernel_old_timespec),
14489             "::",
14490             stringify!(tv_sec)
14491         )
14492     );
14493     assert_eq!(
14494         unsafe { &(*(::std::ptr::null::<__kernel_old_timespec>())).tv_nsec as *const _ as usize },
14495         4usize,
14496         concat!(
14497             "Offset of field: ",
14498             stringify!(__kernel_old_timespec),
14499             "::",
14500             stringify!(tv_nsec)
14501         )
14502     );
14503 }
14504 #[repr(C)]
14505 #[derive(Debug, Copy, Clone)]
14506 pub struct __kernel_sock_timeval {
14507     pub tv_sec: __s64,
14508     pub tv_usec: __s64,
14509 }
14510 #[test]
14511 fn bindgen_test_layout___kernel_sock_timeval() {
14512     assert_eq!(
14513         ::std::mem::size_of::<__kernel_sock_timeval>(),
14514         16usize,
14515         concat!("Size of: ", stringify!(__kernel_sock_timeval))
14516     );
14517     assert_eq!(
14518         ::std::mem::align_of::<__kernel_sock_timeval>(),
14519         8usize,
14520         concat!("Alignment of ", stringify!(__kernel_sock_timeval))
14521     );
14522     assert_eq!(
14523         unsafe { &(*(::std::ptr::null::<__kernel_sock_timeval>())).tv_sec as *const _ as usize },
14524         0usize,
14525         concat!(
14526             "Offset of field: ",
14527             stringify!(__kernel_sock_timeval),
14528             "::",
14529             stringify!(tv_sec)
14530         )
14531     );
14532     assert_eq!(
14533         unsafe { &(*(::std::ptr::null::<__kernel_sock_timeval>())).tv_usec as *const _ as usize },
14534         8usize,
14535         concat!(
14536             "Offset of field: ",
14537             stringify!(__kernel_sock_timeval),
14538             "::",
14539             stringify!(tv_usec)
14540         )
14541     );
14542 }
14543 #[repr(C)]
14544 #[derive(Debug, Copy, Clone)]
14545 pub struct timespec {
14546     pub tv_sec: __kernel_old_time_t,
14547     pub tv_nsec: ::std::os::raw::c_long,
14548 }
14549 #[test]
14550 fn bindgen_test_layout_timespec() {
14551     assert_eq!(
14552         ::std::mem::size_of::<timespec>(),
14553         8usize,
14554         concat!("Size of: ", stringify!(timespec))
14555     );
14556     assert_eq!(
14557         ::std::mem::align_of::<timespec>(),
14558         4usize,
14559         concat!("Alignment of ", stringify!(timespec))
14560     );
14561     assert_eq!(
14562         unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
14563         0usize,
14564         concat!(
14565             "Offset of field: ",
14566             stringify!(timespec),
14567             "::",
14568             stringify!(tv_sec)
14569         )
14570     );
14571     assert_eq!(
14572         unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
14573         4usize,
14574         concat!(
14575             "Offset of field: ",
14576             stringify!(timespec),
14577             "::",
14578             stringify!(tv_nsec)
14579         )
14580     );
14581 }
14582 #[repr(C)]
14583 #[derive(Debug, Copy, Clone)]
14584 pub struct timeval {
14585     pub tv_sec: __kernel_old_time_t,
14586     pub tv_usec: __kernel_suseconds_t,
14587 }
14588 #[test]
14589 fn bindgen_test_layout_timeval() {
14590     assert_eq!(
14591         ::std::mem::size_of::<timeval>(),
14592         8usize,
14593         concat!("Size of: ", stringify!(timeval))
14594     );
14595     assert_eq!(
14596         ::std::mem::align_of::<timeval>(),
14597         4usize,
14598         concat!("Alignment of ", stringify!(timeval))
14599     );
14600     assert_eq!(
14601         unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
14602         0usize,
14603         concat!(
14604             "Offset of field: ",
14605             stringify!(timeval),
14606             "::",
14607             stringify!(tv_sec)
14608         )
14609     );
14610     assert_eq!(
14611         unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
14612         4usize,
14613         concat!(
14614             "Offset of field: ",
14615             stringify!(timeval),
14616             "::",
14617             stringify!(tv_usec)
14618         )
14619     );
14620 }
14621 #[repr(C)]
14622 #[derive(Debug, Copy, Clone)]
14623 pub struct itimerspec {
14624     pub it_interval: timespec,
14625     pub it_value: timespec,
14626 }
14627 #[test]
14628 fn bindgen_test_layout_itimerspec() {
14629     assert_eq!(
14630         ::std::mem::size_of::<itimerspec>(),
14631         16usize,
14632         concat!("Size of: ", stringify!(itimerspec))
14633     );
14634     assert_eq!(
14635         ::std::mem::align_of::<itimerspec>(),
14636         4usize,
14637         concat!("Alignment of ", stringify!(itimerspec))
14638     );
14639     assert_eq!(
14640         unsafe { &(*(::std::ptr::null::<itimerspec>())).it_interval as *const _ as usize },
14641         0usize,
14642         concat!(
14643             "Offset of field: ",
14644             stringify!(itimerspec),
14645             "::",
14646             stringify!(it_interval)
14647         )
14648     );
14649     assert_eq!(
14650         unsafe { &(*(::std::ptr::null::<itimerspec>())).it_value as *const _ as usize },
14651         8usize,
14652         concat!(
14653             "Offset of field: ",
14654             stringify!(itimerspec),
14655             "::",
14656             stringify!(it_value)
14657         )
14658     );
14659 }
14660 #[repr(C)]
14661 #[derive(Debug, Copy, Clone)]
14662 pub struct itimerval {
14663     pub it_interval: timeval,
14664     pub it_value: timeval,
14665 }
14666 #[test]
14667 fn bindgen_test_layout_itimerval() {
14668     assert_eq!(
14669         ::std::mem::size_of::<itimerval>(),
14670         16usize,
14671         concat!("Size of: ", stringify!(itimerval))
14672     );
14673     assert_eq!(
14674         ::std::mem::align_of::<itimerval>(),
14675         4usize,
14676         concat!("Alignment of ", stringify!(itimerval))
14677     );
14678     assert_eq!(
14679         unsafe { &(*(::std::ptr::null::<itimerval>())).it_interval as *const _ as usize },
14680         0usize,
14681         concat!(
14682             "Offset of field: ",
14683             stringify!(itimerval),
14684             "::",
14685             stringify!(it_interval)
14686         )
14687     );
14688     assert_eq!(
14689         unsafe { &(*(::std::ptr::null::<itimerval>())).it_value as *const _ as usize },
14690         8usize,
14691         concat!(
14692             "Offset of field: ",
14693             stringify!(itimerval),
14694             "::",
14695             stringify!(it_value)
14696         )
14697     );
14698 }
14699 #[repr(C)]
14700 #[derive(Debug, Copy, Clone)]
14701 pub struct timezone {
14702     pub tz_minuteswest: ::std::os::raw::c_int,
14703     pub tz_dsttime: ::std::os::raw::c_int,
14704 }
14705 #[test]
14706 fn bindgen_test_layout_timezone() {
14707     assert_eq!(
14708         ::std::mem::size_of::<timezone>(),
14709         8usize,
14710         concat!("Size of: ", stringify!(timezone))
14711     );
14712     assert_eq!(
14713         ::std::mem::align_of::<timezone>(),
14714         4usize,
14715         concat!("Alignment of ", stringify!(timezone))
14716     );
14717     assert_eq!(
14718         unsafe { &(*(::std::ptr::null::<timezone>())).tz_minuteswest as *const _ as usize },
14719         0usize,
14720         concat!(
14721             "Offset of field: ",
14722             stringify!(timezone),
14723             "::",
14724             stringify!(tz_minuteswest)
14725         )
14726     );
14727     assert_eq!(
14728         unsafe { &(*(::std::ptr::null::<timezone>())).tz_dsttime as *const _ as usize },
14729         4usize,
14730         concat!(
14731             "Offset of field: ",
14732             stringify!(timezone),
14733             "::",
14734             stringify!(tz_dsttime)
14735         )
14736     );
14737 }
14738 #[repr(C)]
14739 #[derive(Debug, Copy, Clone)]
14740 pub struct sigcontext {
14741     pub trap_no: ::std::os::raw::c_ulong,
14742     pub error_code: ::std::os::raw::c_ulong,
14743     pub oldmask: ::std::os::raw::c_ulong,
14744     pub arm_r0: ::std::os::raw::c_ulong,
14745     pub arm_r1: ::std::os::raw::c_ulong,
14746     pub arm_r2: ::std::os::raw::c_ulong,
14747     pub arm_r3: ::std::os::raw::c_ulong,
14748     pub arm_r4: ::std::os::raw::c_ulong,
14749     pub arm_r5: ::std::os::raw::c_ulong,
14750     pub arm_r6: ::std::os::raw::c_ulong,
14751     pub arm_r7: ::std::os::raw::c_ulong,
14752     pub arm_r8: ::std::os::raw::c_ulong,
14753     pub arm_r9: ::std::os::raw::c_ulong,
14754     pub arm_r10: ::std::os::raw::c_ulong,
14755     pub arm_fp: ::std::os::raw::c_ulong,
14756     pub arm_ip: ::std::os::raw::c_ulong,
14757     pub arm_sp: ::std::os::raw::c_ulong,
14758     pub arm_lr: ::std::os::raw::c_ulong,
14759     pub arm_pc: ::std::os::raw::c_ulong,
14760     pub arm_cpsr: ::std::os::raw::c_ulong,
14761     pub fault_address: ::std::os::raw::c_ulong,
14762 }
14763 #[test]
14764 fn bindgen_test_layout_sigcontext() {
14765     assert_eq!(
14766         ::std::mem::size_of::<sigcontext>(),
14767         84usize,
14768         concat!("Size of: ", stringify!(sigcontext))
14769     );
14770     assert_eq!(
14771         ::std::mem::align_of::<sigcontext>(),
14772         4usize,
14773         concat!("Alignment of ", stringify!(sigcontext))
14774     );
14775     assert_eq!(
14776         unsafe { &(*(::std::ptr::null::<sigcontext>())).trap_no as *const _ as usize },
14777         0usize,
14778         concat!(
14779             "Offset of field: ",
14780             stringify!(sigcontext),
14781             "::",
14782             stringify!(trap_no)
14783         )
14784     );
14785     assert_eq!(
14786         unsafe { &(*(::std::ptr::null::<sigcontext>())).error_code as *const _ as usize },
14787         4usize,
14788         concat!(
14789             "Offset of field: ",
14790             stringify!(sigcontext),
14791             "::",
14792             stringify!(error_code)
14793         )
14794     );
14795     assert_eq!(
14796         unsafe { &(*(::std::ptr::null::<sigcontext>())).oldmask as *const _ as usize },
14797         8usize,
14798         concat!(
14799             "Offset of field: ",
14800             stringify!(sigcontext),
14801             "::",
14802             stringify!(oldmask)
14803         )
14804     );
14805     assert_eq!(
14806         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r0 as *const _ as usize },
14807         12usize,
14808         concat!(
14809             "Offset of field: ",
14810             stringify!(sigcontext),
14811             "::",
14812             stringify!(arm_r0)
14813         )
14814     );
14815     assert_eq!(
14816         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r1 as *const _ as usize },
14817         16usize,
14818         concat!(
14819             "Offset of field: ",
14820             stringify!(sigcontext),
14821             "::",
14822             stringify!(arm_r1)
14823         )
14824     );
14825     assert_eq!(
14826         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r2 as *const _ as usize },
14827         20usize,
14828         concat!(
14829             "Offset of field: ",
14830             stringify!(sigcontext),
14831             "::",
14832             stringify!(arm_r2)
14833         )
14834     );
14835     assert_eq!(
14836         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r3 as *const _ as usize },
14837         24usize,
14838         concat!(
14839             "Offset of field: ",
14840             stringify!(sigcontext),
14841             "::",
14842             stringify!(arm_r3)
14843         )
14844     );
14845     assert_eq!(
14846         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r4 as *const _ as usize },
14847         28usize,
14848         concat!(
14849             "Offset of field: ",
14850             stringify!(sigcontext),
14851             "::",
14852             stringify!(arm_r4)
14853         )
14854     );
14855     assert_eq!(
14856         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r5 as *const _ as usize },
14857         32usize,
14858         concat!(
14859             "Offset of field: ",
14860             stringify!(sigcontext),
14861             "::",
14862             stringify!(arm_r5)
14863         )
14864     );
14865     assert_eq!(
14866         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r6 as *const _ as usize },
14867         36usize,
14868         concat!(
14869             "Offset of field: ",
14870             stringify!(sigcontext),
14871             "::",
14872             stringify!(arm_r6)
14873         )
14874     );
14875     assert_eq!(
14876         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r7 as *const _ as usize },
14877         40usize,
14878         concat!(
14879             "Offset of field: ",
14880             stringify!(sigcontext),
14881             "::",
14882             stringify!(arm_r7)
14883         )
14884     );
14885     assert_eq!(
14886         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r8 as *const _ as usize },
14887         44usize,
14888         concat!(
14889             "Offset of field: ",
14890             stringify!(sigcontext),
14891             "::",
14892             stringify!(arm_r8)
14893         )
14894     );
14895     assert_eq!(
14896         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r9 as *const _ as usize },
14897         48usize,
14898         concat!(
14899             "Offset of field: ",
14900             stringify!(sigcontext),
14901             "::",
14902             stringify!(arm_r9)
14903         )
14904     );
14905     assert_eq!(
14906         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r10 as *const _ as usize },
14907         52usize,
14908         concat!(
14909             "Offset of field: ",
14910             stringify!(sigcontext),
14911             "::",
14912             stringify!(arm_r10)
14913         )
14914     );
14915     assert_eq!(
14916         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_fp as *const _ as usize },
14917         56usize,
14918         concat!(
14919             "Offset of field: ",
14920             stringify!(sigcontext),
14921             "::",
14922             stringify!(arm_fp)
14923         )
14924     );
14925     assert_eq!(
14926         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_ip as *const _ as usize },
14927         60usize,
14928         concat!(
14929             "Offset of field: ",
14930             stringify!(sigcontext),
14931             "::",
14932             stringify!(arm_ip)
14933         )
14934     );
14935     assert_eq!(
14936         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_sp as *const _ as usize },
14937         64usize,
14938         concat!(
14939             "Offset of field: ",
14940             stringify!(sigcontext),
14941             "::",
14942             stringify!(arm_sp)
14943         )
14944     );
14945     assert_eq!(
14946         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_lr as *const _ as usize },
14947         68usize,
14948         concat!(
14949             "Offset of field: ",
14950             stringify!(sigcontext),
14951             "::",
14952             stringify!(arm_lr)
14953         )
14954     );
14955     assert_eq!(
14956         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_pc as *const _ as usize },
14957         72usize,
14958         concat!(
14959             "Offset of field: ",
14960             stringify!(sigcontext),
14961             "::",
14962             stringify!(arm_pc)
14963         )
14964     );
14965     assert_eq!(
14966         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_cpsr as *const _ as usize },
14967         76usize,
14968         concat!(
14969             "Offset of field: ",
14970             stringify!(sigcontext),
14971             "::",
14972             stringify!(arm_cpsr)
14973         )
14974     );
14975     assert_eq!(
14976         unsafe { &(*(::std::ptr::null::<sigcontext>())).fault_address as *const _ as usize },
14977         80usize,
14978         concat!(
14979             "Offset of field: ",
14980             stringify!(sigcontext),
14981             "::",
14982             stringify!(fault_address)
14983         )
14984     );
14985 }
14986 pub type sigset_t = ::std::os::raw::c_ulong;
14987 pub type __signalfn_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
14988 pub type __sighandler_t = __signalfn_t;
14989 pub type __restorefn_t = ::std::option::Option<unsafe extern "C" fn()>;
14990 pub type __sigrestore_t = __restorefn_t;
14991 #[repr(C)]
14992 #[derive(Copy, Clone)]
14993 pub struct __kernel_sigaction {
14994     pub _u: __kernel_sigaction__bindgen_ty_1,
14995     pub sa_mask: sigset_t,
14996     pub sa_flags: ::std::os::raw::c_ulong,
14997     pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
14998 }
14999 #[repr(C)]
15000 #[derive(Copy, Clone)]
15001 pub union __kernel_sigaction__bindgen_ty_1 {
15002     pub _sa_handler: __sighandler_t,
15003     pub _sa_sigaction: ::std::option::Option<
15004         unsafe extern "C" fn(
15005             arg1: ::std::os::raw::c_int,
15006             arg2: *mut siginfo,
15007             arg3: *mut ::std::os::raw::c_void,
15008         ),
15009     >,
15010 }
15011 #[test]
15012 fn bindgen_test_layout___kernel_sigaction__bindgen_ty_1() {
15013     assert_eq!(
15014         ::std::mem::size_of::<__kernel_sigaction__bindgen_ty_1>(),
15015         4usize,
15016         concat!("Size of: ", stringify!(__kernel_sigaction__bindgen_ty_1))
15017     );
15018     assert_eq!(
15019         ::std::mem::align_of::<__kernel_sigaction__bindgen_ty_1>(),
15020         4usize,
15021         concat!(
15022             "Alignment of ",
15023             stringify!(__kernel_sigaction__bindgen_ty_1)
15024         )
15025     );
15026     assert_eq!(
15027         unsafe {
15028             &(*(::std::ptr::null::<__kernel_sigaction__bindgen_ty_1>()))._sa_handler as *const _
15029                 as usize
15030         },
15031         0usize,
15032         concat!(
15033             "Offset of field: ",
15034             stringify!(__kernel_sigaction__bindgen_ty_1),
15035             "::",
15036             stringify!(_sa_handler)
15037         )
15038     );
15039     assert_eq!(
15040         unsafe {
15041             &(*(::std::ptr::null::<__kernel_sigaction__bindgen_ty_1>()))._sa_sigaction as *const _
15042                 as usize
15043         },
15044         0usize,
15045         concat!(
15046             "Offset of field: ",
15047             stringify!(__kernel_sigaction__bindgen_ty_1),
15048             "::",
15049             stringify!(_sa_sigaction)
15050         )
15051     );
15052 }
15053 #[test]
15054 fn bindgen_test_layout___kernel_sigaction() {
15055     assert_eq!(
15056         ::std::mem::size_of::<__kernel_sigaction>(),
15057         16usize,
15058         concat!("Size of: ", stringify!(__kernel_sigaction))
15059     );
15060     assert_eq!(
15061         ::std::mem::align_of::<__kernel_sigaction>(),
15062         4usize,
15063         concat!("Alignment of ", stringify!(__kernel_sigaction))
15064     );
15065     assert_eq!(
15066         unsafe { &(*(::std::ptr::null::<__kernel_sigaction>()))._u as *const _ as usize },
15067         0usize,
15068         concat!(
15069             "Offset of field: ",
15070             stringify!(__kernel_sigaction),
15071             "::",
15072             stringify!(_u)
15073         )
15074     );
15075     assert_eq!(
15076         unsafe { &(*(::std::ptr::null::<__kernel_sigaction>())).sa_mask as *const _ as usize },
15077         4usize,
15078         concat!(
15079             "Offset of field: ",
15080             stringify!(__kernel_sigaction),
15081             "::",
15082             stringify!(sa_mask)
15083         )
15084     );
15085     assert_eq!(
15086         unsafe { &(*(::std::ptr::null::<__kernel_sigaction>())).sa_flags as *const _ as usize },
15087         8usize,
15088         concat!(
15089             "Offset of field: ",
15090             stringify!(__kernel_sigaction),
15091             "::",
15092             stringify!(sa_flags)
15093         )
15094     );
15095     assert_eq!(
15096         unsafe { &(*(::std::ptr::null::<__kernel_sigaction>())).sa_restorer as *const _ as usize },
15097         12usize,
15098         concat!(
15099             "Offset of field: ",
15100             stringify!(__kernel_sigaction),
15101             "::",
15102             stringify!(sa_restorer)
15103         )
15104     );
15105 }
15106 #[repr(C)]
15107 #[derive(Debug, Copy, Clone)]
15108 pub struct sigaltstack {
15109     pub ss_sp: *mut ::std::os::raw::c_void,
15110     pub ss_flags: ::std::os::raw::c_int,
15111     pub ss_size: size_t,
15112 }
15113 #[test]
15114 fn bindgen_test_layout_sigaltstack() {
15115     assert_eq!(
15116         ::std::mem::size_of::<sigaltstack>(),
15117         12usize,
15118         concat!("Size of: ", stringify!(sigaltstack))
15119     );
15120     assert_eq!(
15121         ::std::mem::align_of::<sigaltstack>(),
15122         4usize,
15123         concat!("Alignment of ", stringify!(sigaltstack))
15124     );
15125     assert_eq!(
15126         unsafe { &(*(::std::ptr::null::<sigaltstack>())).ss_sp as *const _ as usize },
15127         0usize,
15128         concat!(
15129             "Offset of field: ",
15130             stringify!(sigaltstack),
15131             "::",
15132             stringify!(ss_sp)
15133         )
15134     );
15135     assert_eq!(
15136         unsafe { &(*(::std::ptr::null::<sigaltstack>())).ss_flags as *const _ as usize },
15137         4usize,
15138         concat!(
15139             "Offset of field: ",
15140             stringify!(sigaltstack),
15141             "::",
15142             stringify!(ss_flags)
15143         )
15144     );
15145     assert_eq!(
15146         unsafe { &(*(::std::ptr::null::<sigaltstack>())).ss_size as *const _ as usize },
15147         8usize,
15148         concat!(
15149             "Offset of field: ",
15150             stringify!(sigaltstack),
15151             "::",
15152             stringify!(ss_size)
15153         )
15154     );
15155 }
15156 pub type stack_t = sigaltstack;
15157 #[repr(C)]
15158 #[derive(Copy, Clone)]
15159 pub union sigval {
15160     pub sival_int: ::std::os::raw::c_int,
15161     pub sival_ptr: *mut ::std::os::raw::c_void,
15162 }
15163 #[test]
15164 fn bindgen_test_layout_sigval() {
15165     assert_eq!(
15166         ::std::mem::size_of::<sigval>(),
15167         4usize,
15168         concat!("Size of: ", stringify!(sigval))
15169     );
15170     assert_eq!(
15171         ::std::mem::align_of::<sigval>(),
15172         4usize,
15173         concat!("Alignment of ", stringify!(sigval))
15174     );
15175     assert_eq!(
15176         unsafe { &(*(::std::ptr::null::<sigval>())).sival_int as *const _ as usize },
15177         0usize,
15178         concat!(
15179             "Offset of field: ",
15180             stringify!(sigval),
15181             "::",
15182             stringify!(sival_int)
15183         )
15184     );
15185     assert_eq!(
15186         unsafe { &(*(::std::ptr::null::<sigval>())).sival_ptr as *const _ as usize },
15187         0usize,
15188         concat!(
15189             "Offset of field: ",
15190             stringify!(sigval),
15191             "::",
15192             stringify!(sival_ptr)
15193         )
15194     );
15195 }
15196 pub type sigval_t = sigval;
15197 #[repr(C)]
15198 #[derive(Copy, Clone)]
15199 pub union __sifields {
15200     pub _kill: __sifields__bindgen_ty_1,
15201     pub _timer: __sifields__bindgen_ty_2,
15202     pub _rt: __sifields__bindgen_ty_3,
15203     pub _sigchld: __sifields__bindgen_ty_4,
15204     pub _sigfault: __sifields__bindgen_ty_5,
15205     pub _sigpoll: __sifields__bindgen_ty_6,
15206     pub _sigsys: __sifields__bindgen_ty_7,
15207 }
15208 #[repr(C)]
15209 #[derive(Debug, Copy, Clone)]
15210 pub struct __sifields__bindgen_ty_1 {
15211     pub _pid: __kernel_pid_t,
15212     pub _uid: __kernel_uid32_t,
15213 }
15214 #[test]
15215 fn bindgen_test_layout___sifields__bindgen_ty_1() {
15216     assert_eq!(
15217         ::std::mem::size_of::<__sifields__bindgen_ty_1>(),
15218         8usize,
15219         concat!("Size of: ", stringify!(__sifields__bindgen_ty_1))
15220     );
15221     assert_eq!(
15222         ::std::mem::align_of::<__sifields__bindgen_ty_1>(),
15223         4usize,
15224         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_1))
15225     );
15226     assert_eq!(
15227         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_1>()))._pid as *const _ as usize },
15228         0usize,
15229         concat!(
15230             "Offset of field: ",
15231             stringify!(__sifields__bindgen_ty_1),
15232             "::",
15233             stringify!(_pid)
15234         )
15235     );
15236     assert_eq!(
15237         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_1>()))._uid as *const _ as usize },
15238         4usize,
15239         concat!(
15240             "Offset of field: ",
15241             stringify!(__sifields__bindgen_ty_1),
15242             "::",
15243             stringify!(_uid)
15244         )
15245     );
15246 }
15247 #[repr(C)]
15248 #[derive(Copy, Clone)]
15249 pub struct __sifields__bindgen_ty_2 {
15250     pub _tid: __kernel_timer_t,
15251     pub _overrun: ::std::os::raw::c_int,
15252     pub _sigval: sigval_t,
15253     pub _sys_private: ::std::os::raw::c_int,
15254 }
15255 #[test]
15256 fn bindgen_test_layout___sifields__bindgen_ty_2() {
15257     assert_eq!(
15258         ::std::mem::size_of::<__sifields__bindgen_ty_2>(),
15259         16usize,
15260         concat!("Size of: ", stringify!(__sifields__bindgen_ty_2))
15261     );
15262     assert_eq!(
15263         ::std::mem::align_of::<__sifields__bindgen_ty_2>(),
15264         4usize,
15265         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_2))
15266     );
15267     assert_eq!(
15268         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._tid as *const _ as usize },
15269         0usize,
15270         concat!(
15271             "Offset of field: ",
15272             stringify!(__sifields__bindgen_ty_2),
15273             "::",
15274             stringify!(_tid)
15275         )
15276     );
15277     assert_eq!(
15278         unsafe {
15279             &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._overrun as *const _ as usize
15280         },
15281         4usize,
15282         concat!(
15283             "Offset of field: ",
15284             stringify!(__sifields__bindgen_ty_2),
15285             "::",
15286             stringify!(_overrun)
15287         )
15288     );
15289     assert_eq!(
15290         unsafe {
15291             &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._sigval as *const _ as usize
15292         },
15293         8usize,
15294         concat!(
15295             "Offset of field: ",
15296             stringify!(__sifields__bindgen_ty_2),
15297             "::",
15298             stringify!(_sigval)
15299         )
15300     );
15301     assert_eq!(
15302         unsafe {
15303             &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._sys_private as *const _ as usize
15304         },
15305         12usize,
15306         concat!(
15307             "Offset of field: ",
15308             stringify!(__sifields__bindgen_ty_2),
15309             "::",
15310             stringify!(_sys_private)
15311         )
15312     );
15313 }
15314 #[repr(C)]
15315 #[derive(Copy, Clone)]
15316 pub struct __sifields__bindgen_ty_3 {
15317     pub _pid: __kernel_pid_t,
15318     pub _uid: __kernel_uid32_t,
15319     pub _sigval: sigval_t,
15320 }
15321 #[test]
15322 fn bindgen_test_layout___sifields__bindgen_ty_3() {
15323     assert_eq!(
15324         ::std::mem::size_of::<__sifields__bindgen_ty_3>(),
15325         12usize,
15326         concat!("Size of: ", stringify!(__sifields__bindgen_ty_3))
15327     );
15328     assert_eq!(
15329         ::std::mem::align_of::<__sifields__bindgen_ty_3>(),
15330         4usize,
15331         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_3))
15332     );
15333     assert_eq!(
15334         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_3>()))._pid as *const _ as usize },
15335         0usize,
15336         concat!(
15337             "Offset of field: ",
15338             stringify!(__sifields__bindgen_ty_3),
15339             "::",
15340             stringify!(_pid)
15341         )
15342     );
15343     assert_eq!(
15344         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_3>()))._uid as *const _ as usize },
15345         4usize,
15346         concat!(
15347             "Offset of field: ",
15348             stringify!(__sifields__bindgen_ty_3),
15349             "::",
15350             stringify!(_uid)
15351         )
15352     );
15353     assert_eq!(
15354         unsafe {
15355             &(*(::std::ptr::null::<__sifields__bindgen_ty_3>()))._sigval as *const _ as usize
15356         },
15357         8usize,
15358         concat!(
15359             "Offset of field: ",
15360             stringify!(__sifields__bindgen_ty_3),
15361             "::",
15362             stringify!(_sigval)
15363         )
15364     );
15365 }
15366 #[repr(C)]
15367 #[derive(Debug, Copy, Clone)]
15368 pub struct __sifields__bindgen_ty_4 {
15369     pub _pid: __kernel_pid_t,
15370     pub _uid: __kernel_uid32_t,
15371     pub _status: ::std::os::raw::c_int,
15372     pub _utime: __kernel_clock_t,
15373     pub _stime: __kernel_clock_t,
15374 }
15375 #[test]
15376 fn bindgen_test_layout___sifields__bindgen_ty_4() {
15377     assert_eq!(
15378         ::std::mem::size_of::<__sifields__bindgen_ty_4>(),
15379         20usize,
15380         concat!("Size of: ", stringify!(__sifields__bindgen_ty_4))
15381     );
15382     assert_eq!(
15383         ::std::mem::align_of::<__sifields__bindgen_ty_4>(),
15384         4usize,
15385         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_4))
15386     );
15387     assert_eq!(
15388         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._pid as *const _ as usize },
15389         0usize,
15390         concat!(
15391             "Offset of field: ",
15392             stringify!(__sifields__bindgen_ty_4),
15393             "::",
15394             stringify!(_pid)
15395         )
15396     );
15397     assert_eq!(
15398         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._uid as *const _ as usize },
15399         4usize,
15400         concat!(
15401             "Offset of field: ",
15402             stringify!(__sifields__bindgen_ty_4),
15403             "::",
15404             stringify!(_uid)
15405         )
15406     );
15407     assert_eq!(
15408         unsafe {
15409             &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._status as *const _ as usize
15410         },
15411         8usize,
15412         concat!(
15413             "Offset of field: ",
15414             stringify!(__sifields__bindgen_ty_4),
15415             "::",
15416             stringify!(_status)
15417         )
15418     );
15419     assert_eq!(
15420         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._utime as *const _ as usize },
15421         12usize,
15422         concat!(
15423             "Offset of field: ",
15424             stringify!(__sifields__bindgen_ty_4),
15425             "::",
15426             stringify!(_utime)
15427         )
15428     );
15429     assert_eq!(
15430         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._stime as *const _ as usize },
15431         16usize,
15432         concat!(
15433             "Offset of field: ",
15434             stringify!(__sifields__bindgen_ty_4),
15435             "::",
15436             stringify!(_stime)
15437         )
15438     );
15439 }
15440 #[repr(C)]
15441 #[derive(Copy, Clone)]
15442 pub struct __sifields__bindgen_ty_5 {
15443     pub _addr: *mut ::std::os::raw::c_void,
15444     pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
15445 }
15446 #[repr(C)]
15447 #[derive(Copy, Clone)]
15448 pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
15449     pub _trapno: ::std::os::raw::c_int,
15450     pub _addr_lsb: ::std::os::raw::c_short,
15451     pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
15452     pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
15453     pub _perf: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3,
15454 }
15455 #[repr(C)]
15456 #[derive(Debug, Copy, Clone)]
15457 pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
15458     pub _dummy_bnd: [::std::os::raw::c_char; 4usize],
15459     pub _lower: *mut ::std::os::raw::c_void,
15460     pub _upper: *mut ::std::os::raw::c_void,
15461 }
15462 #[test]
15463 fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
15464     assert_eq!(
15465         ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
15466         12usize,
15467         concat!(
15468             "Size of: ",
15469             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
15470         )
15471     );
15472     assert_eq!(
15473         ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
15474         4usize,
15475         concat!(
15476             "Alignment of ",
15477             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
15478         )
15479     );
15480     assert_eq!(
15481         unsafe {
15482             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>()))
15483                 ._dummy_bnd as *const _ as usize
15484         },
15485         0usize,
15486         concat!(
15487             "Offset of field: ",
15488             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
15489             "::",
15490             stringify!(_dummy_bnd)
15491         )
15492     );
15493     assert_eq!(
15494         unsafe {
15495             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>()))._lower
15496                 as *const _ as usize
15497         },
15498         4usize,
15499         concat!(
15500             "Offset of field: ",
15501             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
15502             "::",
15503             stringify!(_lower)
15504         )
15505     );
15506     assert_eq!(
15507         unsafe {
15508             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>()))._upper
15509                 as *const _ as usize
15510         },
15511         8usize,
15512         concat!(
15513             "Offset of field: ",
15514             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
15515             "::",
15516             stringify!(_upper)
15517         )
15518     );
15519 }
15520 #[repr(C)]
15521 #[derive(Debug, Copy, Clone)]
15522 pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
15523     pub _dummy_pkey: [::std::os::raw::c_char; 4usize],
15524     pub _pkey: __u32,
15525 }
15526 #[test]
15527 fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2() {
15528     assert_eq!(
15529         ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
15530         8usize,
15531         concat!(
15532             "Size of: ",
15533             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
15534         )
15535     );
15536     assert_eq!(
15537         ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
15538         4usize,
15539         concat!(
15540             "Alignment of ",
15541             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
15542         )
15543     );
15544     assert_eq!(
15545         unsafe {
15546             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>()))
15547                 ._dummy_pkey as *const _ as usize
15548         },
15549         0usize,
15550         concat!(
15551             "Offset of field: ",
15552             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
15553             "::",
15554             stringify!(_dummy_pkey)
15555         )
15556     );
15557     assert_eq!(
15558         unsafe {
15559             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>()))._pkey
15560                 as *const _ as usize
15561         },
15562         4usize,
15563         concat!(
15564             "Offset of field: ",
15565             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
15566             "::",
15567             stringify!(_pkey)
15568         )
15569     );
15570 }
15571 #[repr(C)]
15572 #[derive(Debug, Copy, Clone)]
15573 pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3 {
15574     pub _data: ::std::os::raw::c_ulong,
15575     pub _type: __u32,
15576 }
15577 #[test]
15578 fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3() {
15579     assert_eq!(
15580         ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
15581         8usize,
15582         concat!(
15583             "Size of: ",
15584             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
15585         )
15586     );
15587     assert_eq!(
15588         ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
15589         4usize,
15590         concat!(
15591             "Alignment of ",
15592             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
15593         )
15594     );
15595     assert_eq!(
15596         unsafe {
15597             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>()))._data
15598                 as *const _ as usize
15599         },
15600         0usize,
15601         concat!(
15602             "Offset of field: ",
15603             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
15604             "::",
15605             stringify!(_data)
15606         )
15607     );
15608     assert_eq!(
15609         unsafe {
15610             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>()))._type
15611                 as *const _ as usize
15612         },
15613         4usize,
15614         concat!(
15615             "Offset of field: ",
15616             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
15617             "::",
15618             stringify!(_type)
15619         )
15620     );
15621 }
15622 #[test]
15623 fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1() {
15624     assert_eq!(
15625         ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
15626         12usize,
15627         concat!(
15628             "Size of: ",
15629             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
15630         )
15631     );
15632     assert_eq!(
15633         ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
15634         4usize,
15635         concat!(
15636             "Alignment of ",
15637             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
15638         )
15639     );
15640     assert_eq!(
15641         unsafe {
15642             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._trapno as *const _
15643                 as usize
15644         },
15645         0usize,
15646         concat!(
15647             "Offset of field: ",
15648             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
15649             "::",
15650             stringify!(_trapno)
15651         )
15652     );
15653     assert_eq!(
15654         unsafe {
15655             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._addr_lsb as *const _
15656                 as usize
15657         },
15658         0usize,
15659         concat!(
15660             "Offset of field: ",
15661             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
15662             "::",
15663             stringify!(_addr_lsb)
15664         )
15665     );
15666     assert_eq!(
15667         unsafe {
15668             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._addr_bnd as *const _
15669                 as usize
15670         },
15671         0usize,
15672         concat!(
15673             "Offset of field: ",
15674             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
15675             "::",
15676             stringify!(_addr_bnd)
15677         )
15678     );
15679     assert_eq!(
15680         unsafe {
15681             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._addr_pkey
15682                 as *const _ as usize
15683         },
15684         0usize,
15685         concat!(
15686             "Offset of field: ",
15687             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
15688             "::",
15689             stringify!(_addr_pkey)
15690         )
15691     );
15692     assert_eq!(
15693         unsafe {
15694             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._perf as *const _
15695                 as usize
15696         },
15697         0usize,
15698         concat!(
15699             "Offset of field: ",
15700             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
15701             "::",
15702             stringify!(_perf)
15703         )
15704     );
15705 }
15706 #[test]
15707 fn bindgen_test_layout___sifields__bindgen_ty_5() {
15708     assert_eq!(
15709         ::std::mem::size_of::<__sifields__bindgen_ty_5>(),
15710         16usize,
15711         concat!("Size of: ", stringify!(__sifields__bindgen_ty_5))
15712     );
15713     assert_eq!(
15714         ::std::mem::align_of::<__sifields__bindgen_ty_5>(),
15715         4usize,
15716         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_5))
15717     );
15718     assert_eq!(
15719         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_5>()))._addr as *const _ as usize },
15720         0usize,
15721         concat!(
15722             "Offset of field: ",
15723             stringify!(__sifields__bindgen_ty_5),
15724             "::",
15725             stringify!(_addr)
15726         )
15727     );
15728 }
15729 #[repr(C)]
15730 #[derive(Debug, Copy, Clone)]
15731 pub struct __sifields__bindgen_ty_6 {
15732     pub _band: ::std::os::raw::c_long,
15733     pub _fd: ::std::os::raw::c_int,
15734 }
15735 #[test]
15736 fn bindgen_test_layout___sifields__bindgen_ty_6() {
15737     assert_eq!(
15738         ::std::mem::size_of::<__sifields__bindgen_ty_6>(),
15739         8usize,
15740         concat!("Size of: ", stringify!(__sifields__bindgen_ty_6))
15741     );
15742     assert_eq!(
15743         ::std::mem::align_of::<__sifields__bindgen_ty_6>(),
15744         4usize,
15745         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_6))
15746     );
15747     assert_eq!(
15748         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_6>()))._band as *const _ as usize },
15749         0usize,
15750         concat!(
15751             "Offset of field: ",
15752             stringify!(__sifields__bindgen_ty_6),
15753             "::",
15754             stringify!(_band)
15755         )
15756     );
15757     assert_eq!(
15758         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_6>()))._fd as *const _ as usize },
15759         4usize,
15760         concat!(
15761             "Offset of field: ",
15762             stringify!(__sifields__bindgen_ty_6),
15763             "::",
15764             stringify!(_fd)
15765         )
15766     );
15767 }
15768 #[repr(C)]
15769 #[derive(Debug, Copy, Clone)]
15770 pub struct __sifields__bindgen_ty_7 {
15771     pub _call_addr: *mut ::std::os::raw::c_void,
15772     pub _syscall: ::std::os::raw::c_int,
15773     pub _arch: ::std::os::raw::c_uint,
15774 }
15775 #[test]
15776 fn bindgen_test_layout___sifields__bindgen_ty_7() {
15777     assert_eq!(
15778         ::std::mem::size_of::<__sifields__bindgen_ty_7>(),
15779         12usize,
15780         concat!("Size of: ", stringify!(__sifields__bindgen_ty_7))
15781     );
15782     assert_eq!(
15783         ::std::mem::align_of::<__sifields__bindgen_ty_7>(),
15784         4usize,
15785         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_7))
15786     );
15787     assert_eq!(
15788         unsafe {
15789             &(*(::std::ptr::null::<__sifields__bindgen_ty_7>()))._call_addr as *const _ as usize
15790         },
15791         0usize,
15792         concat!(
15793             "Offset of field: ",
15794             stringify!(__sifields__bindgen_ty_7),
15795             "::",
15796             stringify!(_call_addr)
15797         )
15798     );
15799     assert_eq!(
15800         unsafe {
15801             &(*(::std::ptr::null::<__sifields__bindgen_ty_7>()))._syscall as *const _ as usize
15802         },
15803         4usize,
15804         concat!(
15805             "Offset of field: ",
15806             stringify!(__sifields__bindgen_ty_7),
15807             "::",
15808             stringify!(_syscall)
15809         )
15810     );
15811     assert_eq!(
15812         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_7>()))._arch as *const _ as usize },
15813         8usize,
15814         concat!(
15815             "Offset of field: ",
15816             stringify!(__sifields__bindgen_ty_7),
15817             "::",
15818             stringify!(_arch)
15819         )
15820     );
15821 }
15822 #[test]
15823 fn bindgen_test_layout___sifields() {
15824     assert_eq!(
15825         ::std::mem::size_of::<__sifields>(),
15826         20usize,
15827         concat!("Size of: ", stringify!(__sifields))
15828     );
15829     assert_eq!(
15830         ::std::mem::align_of::<__sifields>(),
15831         4usize,
15832         concat!("Alignment of ", stringify!(__sifields))
15833     );
15834     assert_eq!(
15835         unsafe { &(*(::std::ptr::null::<__sifields>()))._kill as *const _ as usize },
15836         0usize,
15837         concat!(
15838             "Offset of field: ",
15839             stringify!(__sifields),
15840             "::",
15841             stringify!(_kill)
15842         )
15843     );
15844     assert_eq!(
15845         unsafe { &(*(::std::ptr::null::<__sifields>()))._timer as *const _ as usize },
15846         0usize,
15847         concat!(
15848             "Offset of field: ",
15849             stringify!(__sifields),
15850             "::",
15851             stringify!(_timer)
15852         )
15853     );
15854     assert_eq!(
15855         unsafe { &(*(::std::ptr::null::<__sifields>()))._rt as *const _ as usize },
15856         0usize,
15857         concat!(
15858             "Offset of field: ",
15859             stringify!(__sifields),
15860             "::",
15861             stringify!(_rt)
15862         )
15863     );
15864     assert_eq!(
15865         unsafe { &(*(::std::ptr::null::<__sifields>()))._sigchld as *const _ as usize },
15866         0usize,
15867         concat!(
15868             "Offset of field: ",
15869             stringify!(__sifields),
15870             "::",
15871             stringify!(_sigchld)
15872         )
15873     );
15874     assert_eq!(
15875         unsafe { &(*(::std::ptr::null::<__sifields>()))._sigfault as *const _ as usize },
15876         0usize,
15877         concat!(
15878             "Offset of field: ",
15879             stringify!(__sifields),
15880             "::",
15881             stringify!(_sigfault)
15882         )
15883     );
15884     assert_eq!(
15885         unsafe { &(*(::std::ptr::null::<__sifields>()))._sigpoll as *const _ as usize },
15886         0usize,
15887         concat!(
15888             "Offset of field: ",
15889             stringify!(__sifields),
15890             "::",
15891             stringify!(_sigpoll)
15892         )
15893     );
15894     assert_eq!(
15895         unsafe { &(*(::std::ptr::null::<__sifields>()))._sigsys as *const _ as usize },
15896         0usize,
15897         concat!(
15898             "Offset of field: ",
15899             stringify!(__sifields),
15900             "::",
15901             stringify!(_sigsys)
15902         )
15903     );
15904 }
15905 #[repr(C)]
15906 #[derive(Copy, Clone)]
15907 pub struct siginfo {
15908     pub __bindgen_anon_1: siginfo__bindgen_ty_1,
15909 }
15910 #[repr(C)]
15911 #[derive(Copy, Clone)]
15912 pub union siginfo__bindgen_ty_1 {
15913     pub __bindgen_anon_1: siginfo__bindgen_ty_1__bindgen_ty_1,
15914     pub _si_pad: [::std::os::raw::c_int; 32usize],
15915 }
15916 #[repr(C)]
15917 #[derive(Copy, Clone)]
15918 pub struct siginfo__bindgen_ty_1__bindgen_ty_1 {
15919     pub si_signo: ::std::os::raw::c_int,
15920     pub si_errno: ::std::os::raw::c_int,
15921     pub si_code: ::std::os::raw::c_int,
15922     pub _sifields: __sifields,
15923 }
15924 #[test]
15925 fn bindgen_test_layout_siginfo__bindgen_ty_1__bindgen_ty_1() {
15926     assert_eq!(
15927         ::std::mem::size_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
15928         32usize,
15929         concat!("Size of: ", stringify!(siginfo__bindgen_ty_1__bindgen_ty_1))
15930     );
15931     assert_eq!(
15932         ::std::mem::align_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
15933         4usize,
15934         concat!(
15935             "Alignment of ",
15936             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1)
15937         )
15938     );
15939     assert_eq!(
15940         unsafe {
15941             &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>())).si_signo as *const _
15942                 as usize
15943         },
15944         0usize,
15945         concat!(
15946             "Offset of field: ",
15947             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
15948             "::",
15949             stringify!(si_signo)
15950         )
15951     );
15952     assert_eq!(
15953         unsafe {
15954             &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>())).si_errno as *const _
15955                 as usize
15956         },
15957         4usize,
15958         concat!(
15959             "Offset of field: ",
15960             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
15961             "::",
15962             stringify!(si_errno)
15963         )
15964     );
15965     assert_eq!(
15966         unsafe {
15967             &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>())).si_code as *const _
15968                 as usize
15969         },
15970         8usize,
15971         concat!(
15972             "Offset of field: ",
15973             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
15974             "::",
15975             stringify!(si_code)
15976         )
15977     );
15978     assert_eq!(
15979         unsafe {
15980             &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>()))._sifields as *const _
15981                 as usize
15982         },
15983         12usize,
15984         concat!(
15985             "Offset of field: ",
15986             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
15987             "::",
15988             stringify!(_sifields)
15989         )
15990     );
15991 }
15992 #[test]
15993 fn bindgen_test_layout_siginfo__bindgen_ty_1() {
15994     assert_eq!(
15995         ::std::mem::size_of::<siginfo__bindgen_ty_1>(),
15996         128usize,
15997         concat!("Size of: ", stringify!(siginfo__bindgen_ty_1))
15998     );
15999     assert_eq!(
16000         ::std::mem::align_of::<siginfo__bindgen_ty_1>(),
16001         4usize,
16002         concat!("Alignment of ", stringify!(siginfo__bindgen_ty_1))
16003     );
16004     assert_eq!(
16005         unsafe { &(*(::std::ptr::null::<siginfo__bindgen_ty_1>()))._si_pad as *const _ as usize },
16006         0usize,
16007         concat!(
16008             "Offset of field: ",
16009             stringify!(siginfo__bindgen_ty_1),
16010             "::",
16011             stringify!(_si_pad)
16012         )
16013     );
16014 }
16015 #[test]
16016 fn bindgen_test_layout_siginfo() {
16017     assert_eq!(
16018         ::std::mem::size_of::<siginfo>(),
16019         128usize,
16020         concat!("Size of: ", stringify!(siginfo))
16021     );
16022     assert_eq!(
16023         ::std::mem::align_of::<siginfo>(),
16024         4usize,
16025         concat!("Alignment of ", stringify!(siginfo))
16026     );
16027 }
16028 pub type siginfo_t = siginfo;
16029 #[repr(C)]
16030 #[derive(Copy, Clone)]
16031 pub struct sigevent {
16032     pub sigev_value: sigval_t,
16033     pub sigev_signo: ::std::os::raw::c_int,
16034     pub sigev_notify: ::std::os::raw::c_int,
16035     pub _sigev_un: sigevent__bindgen_ty_1,
16036 }
16037 #[repr(C)]
16038 #[derive(Copy, Clone)]
16039 pub union sigevent__bindgen_ty_1 {
16040     pub _pad: [::std::os::raw::c_int; 13usize],
16041     pub _tid: ::std::os::raw::c_int,
16042     pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
16043 }
16044 #[repr(C)]
16045 #[derive(Debug, Copy, Clone)]
16046 pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
16047     pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval_t)>,
16048     pub _attribute: *mut ::std::os::raw::c_void,
16049 }
16050 #[test]
16051 fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
16052     assert_eq!(
16053         ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
16054         8usize,
16055         concat!(
16056             "Size of: ",
16057             stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
16058         )
16059     );
16060     assert_eq!(
16061         ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
16062         4usize,
16063         concat!(
16064             "Alignment of ",
16065             stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
16066         )
16067     );
16068     assert_eq!(
16069         unsafe {
16070             &(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._function as *const _
16071                 as usize
16072         },
16073         0usize,
16074         concat!(
16075             "Offset of field: ",
16076             stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
16077             "::",
16078             stringify!(_function)
16079         )
16080     );
16081     assert_eq!(
16082         unsafe {
16083             &(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._attribute as *const _
16084                 as usize
16085         },
16086         4usize,
16087         concat!(
16088             "Offset of field: ",
16089             stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
16090             "::",
16091             stringify!(_attribute)
16092         )
16093     );
16094 }
16095 #[test]
16096 fn bindgen_test_layout_sigevent__bindgen_ty_1() {
16097     assert_eq!(
16098         ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
16099         52usize,
16100         concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
16101     );
16102     assert_eq!(
16103         ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
16104         4usize,
16105         concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
16106     );
16107     assert_eq!(
16108         unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._pad as *const _ as usize },
16109         0usize,
16110         concat!(
16111             "Offset of field: ",
16112             stringify!(sigevent__bindgen_ty_1),
16113             "::",
16114             stringify!(_pad)
16115         )
16116     );
16117     assert_eq!(
16118         unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._tid as *const _ as usize },
16119         0usize,
16120         concat!(
16121             "Offset of field: ",
16122             stringify!(sigevent__bindgen_ty_1),
16123             "::",
16124             stringify!(_tid)
16125         )
16126     );
16127     assert_eq!(
16128         unsafe {
16129             &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._sigev_thread as *const _ as usize
16130         },
16131         0usize,
16132         concat!(
16133             "Offset of field: ",
16134             stringify!(sigevent__bindgen_ty_1),
16135             "::",
16136             stringify!(_sigev_thread)
16137         )
16138     );
16139 }
16140 #[test]
16141 fn bindgen_test_layout_sigevent() {
16142     assert_eq!(
16143         ::std::mem::size_of::<sigevent>(),
16144         64usize,
16145         concat!("Size of: ", stringify!(sigevent))
16146     );
16147     assert_eq!(
16148         ::std::mem::align_of::<sigevent>(),
16149         4usize,
16150         concat!("Alignment of ", stringify!(sigevent))
16151     );
16152     assert_eq!(
16153         unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_value as *const _ as usize },
16154         0usize,
16155         concat!(
16156             "Offset of field: ",
16157             stringify!(sigevent),
16158             "::",
16159             stringify!(sigev_value)
16160         )
16161     );
16162     assert_eq!(
16163         unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_signo as *const _ as usize },
16164         4usize,
16165         concat!(
16166             "Offset of field: ",
16167             stringify!(sigevent),
16168             "::",
16169             stringify!(sigev_signo)
16170         )
16171     );
16172     assert_eq!(
16173         unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_notify as *const _ as usize },
16174         8usize,
16175         concat!(
16176             "Offset of field: ",
16177             stringify!(sigevent),
16178             "::",
16179             stringify!(sigev_notify)
16180         )
16181     );
16182     assert_eq!(
16183         unsafe { &(*(::std::ptr::null::<sigevent>()))._sigev_un as *const _ as usize },
16184         12usize,
16185         concat!(
16186             "Offset of field: ",
16187             stringify!(sigevent),
16188             "::",
16189             stringify!(_sigev_un)
16190         )
16191     );
16192 }
16193 pub type sigevent_t = sigevent;
16194 pub type sig_atomic_t = ::std::os::raw::c_int;
16195 pub type sig_t = __sighandler_t;
16196 pub type sighandler_t = __sighandler_t;
16197 #[repr(C)]
16198 #[derive(Debug, Copy, Clone)]
16199 pub struct sigset64_t {
16200     pub __bits: [::std::os::raw::c_ulong; 2usize],
16201 }
16202 #[test]
16203 fn bindgen_test_layout_sigset64_t() {
16204     assert_eq!(
16205         ::std::mem::size_of::<sigset64_t>(),
16206         8usize,
16207         concat!("Size of: ", stringify!(sigset64_t))
16208     );
16209     assert_eq!(
16210         ::std::mem::align_of::<sigset64_t>(),
16211         4usize,
16212         concat!("Alignment of ", stringify!(sigset64_t))
16213     );
16214     assert_eq!(
16215         unsafe { &(*(::std::ptr::null::<sigset64_t>())).__bits as *const _ as usize },
16216         0usize,
16217         concat!(
16218             "Offset of field: ",
16219             stringify!(sigset64_t),
16220             "::",
16221             stringify!(__bits)
16222         )
16223     );
16224 }
16225 #[repr(C)]
16226 #[derive(Copy, Clone)]
16227 pub struct sigaction {
16228     pub __bindgen_anon_1: sigaction__bindgen_ty_1,
16229     pub sa_mask: sigset_t,
16230     pub sa_flags: ::std::os::raw::c_int,
16231     pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
16232 }
16233 #[repr(C)]
16234 #[derive(Copy, Clone)]
16235 pub union sigaction__bindgen_ty_1 {
16236     pub sa_handler: sighandler_t,
16237     pub sa_sigaction: ::std::option::Option<
16238         unsafe extern "C" fn(
16239             arg1: ::std::os::raw::c_int,
16240             arg2: *mut siginfo,
16241             arg3: *mut ::std::os::raw::c_void,
16242         ),
16243     >,
16244 }
16245 #[test]
16246 fn bindgen_test_layout_sigaction__bindgen_ty_1() {
16247     assert_eq!(
16248         ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
16249         4usize,
16250         concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
16251     );
16252     assert_eq!(
16253         ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
16254         4usize,
16255         concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
16256     );
16257     assert_eq!(
16258         unsafe {
16259             &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_handler as *const _ as usize
16260         },
16261         0usize,
16262         concat!(
16263             "Offset of field: ",
16264             stringify!(sigaction__bindgen_ty_1),
16265             "::",
16266             stringify!(sa_handler)
16267         )
16268     );
16269     assert_eq!(
16270         unsafe {
16271             &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_sigaction as *const _ as usize
16272         },
16273         0usize,
16274         concat!(
16275             "Offset of field: ",
16276             stringify!(sigaction__bindgen_ty_1),
16277             "::",
16278             stringify!(sa_sigaction)
16279         )
16280     );
16281 }
16282 #[test]
16283 fn bindgen_test_layout_sigaction() {
16284     assert_eq!(
16285         ::std::mem::size_of::<sigaction>(),
16286         16usize,
16287         concat!("Size of: ", stringify!(sigaction))
16288     );
16289     assert_eq!(
16290         ::std::mem::align_of::<sigaction>(),
16291         4usize,
16292         concat!("Alignment of ", stringify!(sigaction))
16293     );
16294     assert_eq!(
16295         unsafe { &(*(::std::ptr::null::<sigaction>())).sa_mask as *const _ as usize },
16296         4usize,
16297         concat!(
16298             "Offset of field: ",
16299             stringify!(sigaction),
16300             "::",
16301             stringify!(sa_mask)
16302         )
16303     );
16304     assert_eq!(
16305         unsafe { &(*(::std::ptr::null::<sigaction>())).sa_flags as *const _ as usize },
16306         8usize,
16307         concat!(
16308             "Offset of field: ",
16309             stringify!(sigaction),
16310             "::",
16311             stringify!(sa_flags)
16312         )
16313     );
16314     assert_eq!(
16315         unsafe { &(*(::std::ptr::null::<sigaction>())).sa_restorer as *const _ as usize },
16316         12usize,
16317         concat!(
16318             "Offset of field: ",
16319             stringify!(sigaction),
16320             "::",
16321             stringify!(sa_restorer)
16322         )
16323     );
16324 }
16325 #[repr(C)]
16326 #[derive(Copy, Clone)]
16327 pub struct sigaction64 {
16328     pub __bindgen_anon_1: sigaction64__bindgen_ty_1,
16329     pub sa_flags: ::std::os::raw::c_int,
16330     pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
16331     pub sa_mask: sigset64_t,
16332 }
16333 #[repr(C)]
16334 #[derive(Copy, Clone)]
16335 pub union sigaction64__bindgen_ty_1 {
16336     pub sa_handler: sighandler_t,
16337     pub sa_sigaction: ::std::option::Option<
16338         unsafe extern "C" fn(
16339             arg1: ::std::os::raw::c_int,
16340             arg2: *mut siginfo,
16341             arg3: *mut ::std::os::raw::c_void,
16342         ),
16343     >,
16344 }
16345 #[test]
16346 fn bindgen_test_layout_sigaction64__bindgen_ty_1() {
16347     assert_eq!(
16348         ::std::mem::size_of::<sigaction64__bindgen_ty_1>(),
16349         4usize,
16350         concat!("Size of: ", stringify!(sigaction64__bindgen_ty_1))
16351     );
16352     assert_eq!(
16353         ::std::mem::align_of::<sigaction64__bindgen_ty_1>(),
16354         4usize,
16355         concat!("Alignment of ", stringify!(sigaction64__bindgen_ty_1))
16356     );
16357     assert_eq!(
16358         unsafe {
16359             &(*(::std::ptr::null::<sigaction64__bindgen_ty_1>())).sa_handler as *const _ as usize
16360         },
16361         0usize,
16362         concat!(
16363             "Offset of field: ",
16364             stringify!(sigaction64__bindgen_ty_1),
16365             "::",
16366             stringify!(sa_handler)
16367         )
16368     );
16369     assert_eq!(
16370         unsafe {
16371             &(*(::std::ptr::null::<sigaction64__bindgen_ty_1>())).sa_sigaction as *const _ as usize
16372         },
16373         0usize,
16374         concat!(
16375             "Offset of field: ",
16376             stringify!(sigaction64__bindgen_ty_1),
16377             "::",
16378             stringify!(sa_sigaction)
16379         )
16380     );
16381 }
16382 #[test]
16383 fn bindgen_test_layout_sigaction64() {
16384     assert_eq!(
16385         ::std::mem::size_of::<sigaction64>(),
16386         20usize,
16387         concat!("Size of: ", stringify!(sigaction64))
16388     );
16389     assert_eq!(
16390         ::std::mem::align_of::<sigaction64>(),
16391         4usize,
16392         concat!("Alignment of ", stringify!(sigaction64))
16393     );
16394     assert_eq!(
16395         unsafe { &(*(::std::ptr::null::<sigaction64>())).sa_flags as *const _ as usize },
16396         4usize,
16397         concat!(
16398             "Offset of field: ",
16399             stringify!(sigaction64),
16400             "::",
16401             stringify!(sa_flags)
16402         )
16403     );
16404     assert_eq!(
16405         unsafe { &(*(::std::ptr::null::<sigaction64>())).sa_restorer as *const _ as usize },
16406         8usize,
16407         concat!(
16408             "Offset of field: ",
16409             stringify!(sigaction64),
16410             "::",
16411             stringify!(sa_restorer)
16412         )
16413     );
16414     assert_eq!(
16415         unsafe { &(*(::std::ptr::null::<sigaction64>())).sa_mask as *const _ as usize },
16416         12usize,
16417         concat!(
16418             "Offset of field: ",
16419             stringify!(sigaction64),
16420             "::",
16421             stringify!(sa_mask)
16422         )
16423     );
16424 }
16425 #[repr(C)]
16426 #[derive(Debug, Copy, Clone)]
16427 pub struct user_fpregs {
16428     pub fpregs: [user_fpregs_fp_reg; 8usize],
16429     pub _bitfield_align_1: [u32; 0],
16430     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
16431     pub ftype: [::std::os::raw::c_uchar; 8usize],
16432     pub init_flag: ::std::os::raw::c_uint,
16433 }
16434 #[repr(C)]
16435 #[repr(align(4))]
16436 #[derive(Debug, Copy, Clone)]
16437 pub struct user_fpregs_fp_reg {
16438     pub _bitfield_align_1: [u32; 0],
16439     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 12usize]>,
16440 }
16441 #[test]
16442 fn bindgen_test_layout_user_fpregs_fp_reg() {
16443     assert_eq!(
16444         ::std::mem::size_of::<user_fpregs_fp_reg>(),
16445         12usize,
16446         concat!("Size of: ", stringify!(user_fpregs_fp_reg))
16447     );
16448     assert_eq!(
16449         ::std::mem::align_of::<user_fpregs_fp_reg>(),
16450         4usize,
16451         concat!("Alignment of ", stringify!(user_fpregs_fp_reg))
16452     );
16453 }
16454 impl user_fpregs_fp_reg {
16455     #[inline]
16456     pub fn sign1(&self) -> ::std::os::raw::c_uint {
16457         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
16458     }
16459     #[inline]
16460     pub fn set_sign1(&mut self, val: ::std::os::raw::c_uint) {
16461         unsafe {
16462             let val: u32 = ::std::mem::transmute(val);
16463             self._bitfield_1.set(0usize, 1u8, val as u64)
16464         }
16465     }
16466     #[inline]
16467     pub fn unused(&self) -> ::std::os::raw::c_uint {
16468         unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 15u8) as u32) }
16469     }
16470     #[inline]
16471     pub fn set_unused(&mut self, val: ::std::os::raw::c_uint) {
16472         unsafe {
16473             let val: u32 = ::std::mem::transmute(val);
16474             self._bitfield_1.set(1usize, 15u8, val as u64)
16475         }
16476     }
16477     #[inline]
16478     pub fn sign2(&self) -> ::std::os::raw::c_uint {
16479         unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
16480     }
16481     #[inline]
16482     pub fn set_sign2(&mut self, val: ::std::os::raw::c_uint) {
16483         unsafe {
16484             let val: u32 = ::std::mem::transmute(val);
16485             self._bitfield_1.set(16usize, 1u8, val as u64)
16486         }
16487     }
16488     #[inline]
16489     pub fn exponent(&self) -> ::std::os::raw::c_uint {
16490         unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 14u8) as u32) }
16491     }
16492     #[inline]
16493     pub fn set_exponent(&mut self, val: ::std::os::raw::c_uint) {
16494         unsafe {
16495             let val: u32 = ::std::mem::transmute(val);
16496             self._bitfield_1.set(17usize, 14u8, val as u64)
16497         }
16498     }
16499     #[inline]
16500     pub fn j(&self) -> ::std::os::raw::c_uint {
16501         unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
16502     }
16503     #[inline]
16504     pub fn set_j(&mut self, val: ::std::os::raw::c_uint) {
16505         unsafe {
16506             let val: u32 = ::std::mem::transmute(val);
16507             self._bitfield_1.set(31usize, 1u8, val as u64)
16508         }
16509     }
16510     #[inline]
16511     pub fn mantissa1(&self) -> ::std::os::raw::c_uint {
16512         unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 31u8) as u32) }
16513     }
16514     #[inline]
16515     pub fn set_mantissa1(&mut self, val: ::std::os::raw::c_uint) {
16516         unsafe {
16517             let val: u32 = ::std::mem::transmute(val);
16518             self._bitfield_1.set(32usize, 31u8, val as u64)
16519         }
16520     }
16521     #[inline]
16522     pub fn mantissa0(&self) -> ::std::os::raw::c_uint {
16523         unsafe { ::std::mem::transmute(self._bitfield_1.get(64usize, 32u8) as u32) }
16524     }
16525     #[inline]
16526     pub fn set_mantissa0(&mut self, val: ::std::os::raw::c_uint) {
16527         unsafe {
16528             let val: u32 = ::std::mem::transmute(val);
16529             self._bitfield_1.set(64usize, 32u8, val as u64)
16530         }
16531     }
16532     #[inline]
16533     pub fn new_bitfield_1(
16534         sign1: ::std::os::raw::c_uint,
16535         unused: ::std::os::raw::c_uint,
16536         sign2: ::std::os::raw::c_uint,
16537         exponent: ::std::os::raw::c_uint,
16538         j: ::std::os::raw::c_uint,
16539         mantissa1: ::std::os::raw::c_uint,
16540         mantissa0: ::std::os::raw::c_uint,
16541     ) -> __BindgenBitfieldUnit<[u8; 12usize]> {
16542         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 12usize]> = Default::default();
16543         __bindgen_bitfield_unit.set(0usize, 1u8, {
16544             let sign1: u32 = unsafe { ::std::mem::transmute(sign1) };
16545             sign1 as u64
16546         });
16547         __bindgen_bitfield_unit.set(1usize, 15u8, {
16548             let unused: u32 = unsafe { ::std::mem::transmute(unused) };
16549             unused as u64
16550         });
16551         __bindgen_bitfield_unit.set(16usize, 1u8, {
16552             let sign2: u32 = unsafe { ::std::mem::transmute(sign2) };
16553             sign2 as u64
16554         });
16555         __bindgen_bitfield_unit.set(17usize, 14u8, {
16556             let exponent: u32 = unsafe { ::std::mem::transmute(exponent) };
16557             exponent as u64
16558         });
16559         __bindgen_bitfield_unit.set(31usize, 1u8, {
16560             let j: u32 = unsafe { ::std::mem::transmute(j) };
16561             j as u64
16562         });
16563         __bindgen_bitfield_unit.set(32usize, 31u8, {
16564             let mantissa1: u32 = unsafe { ::std::mem::transmute(mantissa1) };
16565             mantissa1 as u64
16566         });
16567         __bindgen_bitfield_unit.set(64usize, 32u8, {
16568             let mantissa0: u32 = unsafe { ::std::mem::transmute(mantissa0) };
16569             mantissa0 as u64
16570         });
16571         __bindgen_bitfield_unit
16572     }
16573 }
16574 #[test]
16575 fn bindgen_test_layout_user_fpregs() {
16576     assert_eq!(
16577         ::std::mem::size_of::<user_fpregs>(),
16578         116usize,
16579         concat!("Size of: ", stringify!(user_fpregs))
16580     );
16581     assert_eq!(
16582         ::std::mem::align_of::<user_fpregs>(),
16583         4usize,
16584         concat!("Alignment of ", stringify!(user_fpregs))
16585     );
16586     assert_eq!(
16587         unsafe { &(*(::std::ptr::null::<user_fpregs>())).fpregs as *const _ as usize },
16588         0usize,
16589         concat!(
16590             "Offset of field: ",
16591             stringify!(user_fpregs),
16592             "::",
16593             stringify!(fpregs)
16594         )
16595     );
16596     assert_eq!(
16597         unsafe { &(*(::std::ptr::null::<user_fpregs>())).ftype as *const _ as usize },
16598         104usize,
16599         concat!(
16600             "Offset of field: ",
16601             stringify!(user_fpregs),
16602             "::",
16603             stringify!(ftype)
16604         )
16605     );
16606     assert_eq!(
16607         unsafe { &(*(::std::ptr::null::<user_fpregs>())).init_flag as *const _ as usize },
16608         112usize,
16609         concat!(
16610             "Offset of field: ",
16611             stringify!(user_fpregs),
16612             "::",
16613             stringify!(init_flag)
16614         )
16615     );
16616 }
16617 impl user_fpregs {
16618     #[inline]
16619     pub fn fpsr(&self) -> ::std::os::raw::c_uint {
16620         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) }
16621     }
16622     #[inline]
16623     pub fn set_fpsr(&mut self, val: ::std::os::raw::c_uint) {
16624         unsafe {
16625             let val: u32 = ::std::mem::transmute(val);
16626             self._bitfield_1.set(0usize, 32u8, val as u64)
16627         }
16628     }
16629     #[inline]
16630     pub fn fpcr(&self) -> ::std::os::raw::c_uint {
16631         unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u32) }
16632     }
16633     #[inline]
16634     pub fn set_fpcr(&mut self, val: ::std::os::raw::c_uint) {
16635         unsafe {
16636             let val: u32 = ::std::mem::transmute(val);
16637             self._bitfield_1.set(32usize, 32u8, val as u64)
16638         }
16639     }
16640     #[inline]
16641     pub fn new_bitfield_1(
16642         fpsr: ::std::os::raw::c_uint,
16643         fpcr: ::std::os::raw::c_uint,
16644     ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
16645         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
16646         __bindgen_bitfield_unit.set(0usize, 32u8, {
16647             let fpsr: u32 = unsafe { ::std::mem::transmute(fpsr) };
16648             fpsr as u64
16649         });
16650         __bindgen_bitfield_unit.set(32usize, 32u8, {
16651             let fpcr: u32 = unsafe { ::std::mem::transmute(fpcr) };
16652             fpcr as u64
16653         });
16654         __bindgen_bitfield_unit
16655     }
16656 }
16657 #[repr(C)]
16658 #[derive(Debug, Copy, Clone)]
16659 pub struct user_regs {
16660     pub uregs: [::std::os::raw::c_ulong; 18usize],
16661 }
16662 #[test]
16663 fn bindgen_test_layout_user_regs() {
16664     assert_eq!(
16665         ::std::mem::size_of::<user_regs>(),
16666         72usize,
16667         concat!("Size of: ", stringify!(user_regs))
16668     );
16669     assert_eq!(
16670         ::std::mem::align_of::<user_regs>(),
16671         4usize,
16672         concat!("Alignment of ", stringify!(user_regs))
16673     );
16674     assert_eq!(
16675         unsafe { &(*(::std::ptr::null::<user_regs>())).uregs as *const _ as usize },
16676         0usize,
16677         concat!(
16678             "Offset of field: ",
16679             stringify!(user_regs),
16680             "::",
16681             stringify!(uregs)
16682         )
16683     );
16684 }
16685 #[repr(C)]
16686 #[derive(Debug, Copy, Clone)]
16687 pub struct user_vfp {
16688     pub fpregs: [::std::os::raw::c_ulonglong; 32usize],
16689     pub fpscr: ::std::os::raw::c_ulong,
16690 }
16691 #[test]
16692 fn bindgen_test_layout_user_vfp() {
16693     assert_eq!(
16694         ::std::mem::size_of::<user_vfp>(),
16695         264usize,
16696         concat!("Size of: ", stringify!(user_vfp))
16697     );
16698     assert_eq!(
16699         ::std::mem::align_of::<user_vfp>(),
16700         8usize,
16701         concat!("Alignment of ", stringify!(user_vfp))
16702     );
16703     assert_eq!(
16704         unsafe { &(*(::std::ptr::null::<user_vfp>())).fpregs as *const _ as usize },
16705         0usize,
16706         concat!(
16707             "Offset of field: ",
16708             stringify!(user_vfp),
16709             "::",
16710             stringify!(fpregs)
16711         )
16712     );
16713     assert_eq!(
16714         unsafe { &(*(::std::ptr::null::<user_vfp>())).fpscr as *const _ as usize },
16715         256usize,
16716         concat!(
16717             "Offset of field: ",
16718             stringify!(user_vfp),
16719             "::",
16720             stringify!(fpscr)
16721         )
16722     );
16723 }
16724 #[repr(C)]
16725 #[derive(Debug, Copy, Clone)]
16726 pub struct user_vfp_exc {
16727     pub fpexc: ::std::os::raw::c_ulong,
16728     pub fpinst: ::std::os::raw::c_ulong,
16729     pub fpinst2: ::std::os::raw::c_ulong,
16730 }
16731 #[test]
16732 fn bindgen_test_layout_user_vfp_exc() {
16733     assert_eq!(
16734         ::std::mem::size_of::<user_vfp_exc>(),
16735         12usize,
16736         concat!("Size of: ", stringify!(user_vfp_exc))
16737     );
16738     assert_eq!(
16739         ::std::mem::align_of::<user_vfp_exc>(),
16740         4usize,
16741         concat!("Alignment of ", stringify!(user_vfp_exc))
16742     );
16743     assert_eq!(
16744         unsafe { &(*(::std::ptr::null::<user_vfp_exc>())).fpexc as *const _ as usize },
16745         0usize,
16746         concat!(
16747             "Offset of field: ",
16748             stringify!(user_vfp_exc),
16749             "::",
16750             stringify!(fpexc)
16751         )
16752     );
16753     assert_eq!(
16754         unsafe { &(*(::std::ptr::null::<user_vfp_exc>())).fpinst as *const _ as usize },
16755         4usize,
16756         concat!(
16757             "Offset of field: ",
16758             stringify!(user_vfp_exc),
16759             "::",
16760             stringify!(fpinst)
16761         )
16762     );
16763     assert_eq!(
16764         unsafe { &(*(::std::ptr::null::<user_vfp_exc>())).fpinst2 as *const _ as usize },
16765         8usize,
16766         concat!(
16767             "Offset of field: ",
16768             stringify!(user_vfp_exc),
16769             "::",
16770             stringify!(fpinst2)
16771         )
16772     );
16773 }
16774 #[repr(C)]
16775 #[derive(Debug, Copy, Clone)]
16776 pub struct user {
16777     pub regs: user_regs,
16778     pub u_fpvalid: ::std::os::raw::c_int,
16779     pub u_tsize: ::std::os::raw::c_ulong,
16780     pub u_dsize: ::std::os::raw::c_ulong,
16781     pub u_ssize: ::std::os::raw::c_ulong,
16782     pub start_code: ::std::os::raw::c_ulong,
16783     pub start_stack: ::std::os::raw::c_ulong,
16784     pub signal: ::std::os::raw::c_long,
16785     pub reserved: ::std::os::raw::c_int,
16786     pub u_ar0: *mut user_regs,
16787     pub magic: ::std::os::raw::c_ulong,
16788     pub u_comm: [::std::os::raw::c_char; 32usize],
16789     pub u_debugreg: [::std::os::raw::c_int; 8usize],
16790     pub u_fp: user_fpregs,
16791     pub u_fp0: *mut user_fpregs,
16792 }
16793 #[test]
16794 fn bindgen_test_layout_user() {
16795     assert_eq!(
16796         ::std::mem::size_of::<user>(),
16797         296usize,
16798         concat!("Size of: ", stringify!(user))
16799     );
16800     assert_eq!(
16801         ::std::mem::align_of::<user>(),
16802         4usize,
16803         concat!("Alignment of ", stringify!(user))
16804     );
16805     assert_eq!(
16806         unsafe { &(*(::std::ptr::null::<user>())).regs as *const _ as usize },
16807         0usize,
16808         concat!(
16809             "Offset of field: ",
16810             stringify!(user),
16811             "::",
16812             stringify!(regs)
16813         )
16814     );
16815     assert_eq!(
16816         unsafe { &(*(::std::ptr::null::<user>())).u_fpvalid as *const _ as usize },
16817         72usize,
16818         concat!(
16819             "Offset of field: ",
16820             stringify!(user),
16821             "::",
16822             stringify!(u_fpvalid)
16823         )
16824     );
16825     assert_eq!(
16826         unsafe { &(*(::std::ptr::null::<user>())).u_tsize as *const _ as usize },
16827         76usize,
16828         concat!(
16829             "Offset of field: ",
16830             stringify!(user),
16831             "::",
16832             stringify!(u_tsize)
16833         )
16834     );
16835     assert_eq!(
16836         unsafe { &(*(::std::ptr::null::<user>())).u_dsize as *const _ as usize },
16837         80usize,
16838         concat!(
16839             "Offset of field: ",
16840             stringify!(user),
16841             "::",
16842             stringify!(u_dsize)
16843         )
16844     );
16845     assert_eq!(
16846         unsafe { &(*(::std::ptr::null::<user>())).u_ssize as *const _ as usize },
16847         84usize,
16848         concat!(
16849             "Offset of field: ",
16850             stringify!(user),
16851             "::",
16852             stringify!(u_ssize)
16853         )
16854     );
16855     assert_eq!(
16856         unsafe { &(*(::std::ptr::null::<user>())).start_code as *const _ as usize },
16857         88usize,
16858         concat!(
16859             "Offset of field: ",
16860             stringify!(user),
16861             "::",
16862             stringify!(start_code)
16863         )
16864     );
16865     assert_eq!(
16866         unsafe { &(*(::std::ptr::null::<user>())).start_stack as *const _ as usize },
16867         92usize,
16868         concat!(
16869             "Offset of field: ",
16870             stringify!(user),
16871             "::",
16872             stringify!(start_stack)
16873         )
16874     );
16875     assert_eq!(
16876         unsafe { &(*(::std::ptr::null::<user>())).signal as *const _ as usize },
16877         96usize,
16878         concat!(
16879             "Offset of field: ",
16880             stringify!(user),
16881             "::",
16882             stringify!(signal)
16883         )
16884     );
16885     assert_eq!(
16886         unsafe { &(*(::std::ptr::null::<user>())).reserved as *const _ as usize },
16887         100usize,
16888         concat!(
16889             "Offset of field: ",
16890             stringify!(user),
16891             "::",
16892             stringify!(reserved)
16893         )
16894     );
16895     assert_eq!(
16896         unsafe { &(*(::std::ptr::null::<user>())).u_ar0 as *const _ as usize },
16897         104usize,
16898         concat!(
16899             "Offset of field: ",
16900             stringify!(user),
16901             "::",
16902             stringify!(u_ar0)
16903         )
16904     );
16905     assert_eq!(
16906         unsafe { &(*(::std::ptr::null::<user>())).magic as *const _ as usize },
16907         108usize,
16908         concat!(
16909             "Offset of field: ",
16910             stringify!(user),
16911             "::",
16912             stringify!(magic)
16913         )
16914     );
16915     assert_eq!(
16916         unsafe { &(*(::std::ptr::null::<user>())).u_comm as *const _ as usize },
16917         112usize,
16918         concat!(
16919             "Offset of field: ",
16920             stringify!(user),
16921             "::",
16922             stringify!(u_comm)
16923         )
16924     );
16925     assert_eq!(
16926         unsafe { &(*(::std::ptr::null::<user>())).u_debugreg as *const _ as usize },
16927         144usize,
16928         concat!(
16929             "Offset of field: ",
16930             stringify!(user),
16931             "::",
16932             stringify!(u_debugreg)
16933         )
16934     );
16935     assert_eq!(
16936         unsafe { &(*(::std::ptr::null::<user>())).u_fp as *const _ as usize },
16937         176usize,
16938         concat!(
16939             "Offset of field: ",
16940             stringify!(user),
16941             "::",
16942             stringify!(u_fp)
16943         )
16944     );
16945     assert_eq!(
16946         unsafe { &(*(::std::ptr::null::<user>())).u_fp0 as *const _ as usize },
16947         292usize,
16948         concat!(
16949             "Offset of field: ",
16950             stringify!(user),
16951             "::",
16952             stringify!(u_fp0)
16953         )
16954     );
16955 }
16956 pub const REG_R0: ::std::os::raw::c_uint = 0;
16957 pub const REG_R1: ::std::os::raw::c_uint = 1;
16958 pub const REG_R2: ::std::os::raw::c_uint = 2;
16959 pub const REG_R3: ::std::os::raw::c_uint = 3;
16960 pub const REG_R4: ::std::os::raw::c_uint = 4;
16961 pub const REG_R5: ::std::os::raw::c_uint = 5;
16962 pub const REG_R6: ::std::os::raw::c_uint = 6;
16963 pub const REG_R7: ::std::os::raw::c_uint = 7;
16964 pub const REG_R8: ::std::os::raw::c_uint = 8;
16965 pub const REG_R9: ::std::os::raw::c_uint = 9;
16966 pub const REG_R10: ::std::os::raw::c_uint = 10;
16967 pub const REG_R11: ::std::os::raw::c_uint = 11;
16968 pub const REG_R12: ::std::os::raw::c_uint = 12;
16969 pub const REG_R13: ::std::os::raw::c_uint = 13;
16970 pub const REG_R14: ::std::os::raw::c_uint = 14;
16971 pub const REG_R15: ::std::os::raw::c_uint = 15;
16972 pub type _bindgen_ty_40 = ::std::os::raw::c_uint;
16973 pub type greg_t = ::std::os::raw::c_int;
16974 pub type gregset_t = [greg_t; 18usize];
16975 pub type fpregset_t = user_fpregs;
16976 pub type mcontext_t = sigcontext;
16977 #[repr(C)]
16978 #[repr(align(8))]
16979 #[derive(Copy, Clone)]
16980 pub struct ucontext {
16981     pub uc_flags: ::std::os::raw::c_ulong,
16982     pub uc_link: *mut ucontext,
16983     pub uc_stack: stack_t,
16984     pub uc_mcontext: mcontext_t,
16985     pub __bindgen_anon_1: ucontext__bindgen_ty_1,
16986     pub __padding: [::std::os::raw::c_char; 120usize],
16987     pub uc_regspace: [::std::os::raw::c_ulong; 128usize],
16988 }
16989 #[repr(C)]
16990 #[derive(Copy, Clone)]
16991 pub union ucontext__bindgen_ty_1 {
16992     pub __bindgen_anon_1: ucontext__bindgen_ty_1__bindgen_ty_1,
16993     pub uc_sigmask64: sigset64_t,
16994 }
16995 #[repr(C)]
16996 #[derive(Debug, Copy, Clone)]
16997 pub struct ucontext__bindgen_ty_1__bindgen_ty_1 {
16998     pub uc_sigmask: sigset_t,
16999     pub __padding_rt_sigset: u32,
17000 }
17001 #[test]
17002 fn bindgen_test_layout_ucontext__bindgen_ty_1__bindgen_ty_1() {
17003     assert_eq!(
17004         ::std::mem::size_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
17005         8usize,
17006         concat!(
17007             "Size of: ",
17008             stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
17009         )
17010     );
17011     assert_eq!(
17012         ::std::mem::align_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
17013         4usize,
17014         concat!(
17015             "Alignment of ",
17016             stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
17017         )
17018     );
17019     assert_eq!(
17020         unsafe {
17021             &(*(::std::ptr::null::<ucontext__bindgen_ty_1__bindgen_ty_1>())).uc_sigmask as *const _
17022                 as usize
17023         },
17024         0usize,
17025         concat!(
17026             "Offset of field: ",
17027             stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
17028             "::",
17029             stringify!(uc_sigmask)
17030         )
17031     );
17032     assert_eq!(
17033         unsafe {
17034             &(*(::std::ptr::null::<ucontext__bindgen_ty_1__bindgen_ty_1>())).__padding_rt_sigset
17035                 as *const _ as usize
17036         },
17037         4usize,
17038         concat!(
17039             "Offset of field: ",
17040             stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
17041             "::",
17042             stringify!(__padding_rt_sigset)
17043         )
17044     );
17045 }
17046 #[test]
17047 fn bindgen_test_layout_ucontext__bindgen_ty_1() {
17048     assert_eq!(
17049         ::std::mem::size_of::<ucontext__bindgen_ty_1>(),
17050         8usize,
17051         concat!("Size of: ", stringify!(ucontext__bindgen_ty_1))
17052     );
17053     assert_eq!(
17054         ::std::mem::align_of::<ucontext__bindgen_ty_1>(),
17055         4usize,
17056         concat!("Alignment of ", stringify!(ucontext__bindgen_ty_1))
17057     );
17058     assert_eq!(
17059         unsafe {
17060             &(*(::std::ptr::null::<ucontext__bindgen_ty_1>())).uc_sigmask64 as *const _ as usize
17061         },
17062         0usize,
17063         concat!(
17064             "Offset of field: ",
17065             stringify!(ucontext__bindgen_ty_1),
17066             "::",
17067             stringify!(uc_sigmask64)
17068         )
17069     );
17070 }
17071 #[test]
17072 fn bindgen_test_layout_ucontext() {
17073     assert_eq!(
17074         ::std::mem::size_of::<ucontext>(),
17075         744usize,
17076         concat!("Size of: ", stringify!(ucontext))
17077     );
17078     assert_eq!(
17079         ::std::mem::align_of::<ucontext>(),
17080         8usize,
17081         concat!("Alignment of ", stringify!(ucontext))
17082     );
17083     assert_eq!(
17084         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_flags as *const _ as usize },
17085         0usize,
17086         concat!(
17087             "Offset of field: ",
17088             stringify!(ucontext),
17089             "::",
17090             stringify!(uc_flags)
17091         )
17092     );
17093     assert_eq!(
17094         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_link as *const _ as usize },
17095         4usize,
17096         concat!(
17097             "Offset of field: ",
17098             stringify!(ucontext),
17099             "::",
17100             stringify!(uc_link)
17101         )
17102     );
17103     assert_eq!(
17104         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_stack as *const _ as usize },
17105         8usize,
17106         concat!(
17107             "Offset of field: ",
17108             stringify!(ucontext),
17109             "::",
17110             stringify!(uc_stack)
17111         )
17112     );
17113     assert_eq!(
17114         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_mcontext as *const _ as usize },
17115         20usize,
17116         concat!(
17117             "Offset of field: ",
17118             stringify!(ucontext),
17119             "::",
17120             stringify!(uc_mcontext)
17121         )
17122     );
17123     assert_eq!(
17124         unsafe { &(*(::std::ptr::null::<ucontext>())).__padding as *const _ as usize },
17125         112usize,
17126         concat!(
17127             "Offset of field: ",
17128             stringify!(ucontext),
17129             "::",
17130             stringify!(__padding)
17131         )
17132     );
17133     assert_eq!(
17134         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_regspace as *const _ as usize },
17135         232usize,
17136         concat!(
17137             "Offset of field: ",
17138             stringify!(ucontext),
17139             "::",
17140             stringify!(uc_regspace)
17141         )
17142     );
17143 }
17144 pub type ucontext_t = ucontext;
17145 extern "C" {
17146     pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
17147 }
17148 extern "C" {
17149     pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
17150 }
17151 extern "C" {
17152     pub static sys_siglist: [*const ::std::os::raw::c_char; 65usize];
17153 }
17154 extern "C" {
17155     pub static sys_signame: [*const ::std::os::raw::c_char; 65usize];
17156 }
17157 extern "C" {
17158     pub fn sigaction(
17159         __signal: ::std::os::raw::c_int,
17160         __new_action: *const sigaction,
17161         __old_action: *mut sigaction,
17162     ) -> ::std::os::raw::c_int;
17163 }
17164 extern "C" {
17165     pub fn sigaction64(
17166         __signal: ::std::os::raw::c_int,
17167         __new_action: *const sigaction64,
17168         __old_action: *mut sigaction64,
17169     ) -> ::std::os::raw::c_int;
17170 }
17171 extern "C" {
17172     pub fn siginterrupt(
17173         __signal: ::std::os::raw::c_int,
17174         __flag: ::std::os::raw::c_int,
17175     ) -> ::std::os::raw::c_int;
17176 }
17177 extern "C" {
17178     pub fn signal(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
17179 }
17180 extern "C" {
17181     pub fn sigaddset(
17182         __set: *mut sigset_t,
17183         __signal: ::std::os::raw::c_int,
17184     ) -> ::std::os::raw::c_int;
17185 }
17186 extern "C" {
17187     pub fn sigaddset64(
17188         __set: *mut sigset64_t,
17189         __signal: ::std::os::raw::c_int,
17190     ) -> ::std::os::raw::c_int;
17191 }
17192 extern "C" {
17193     pub fn sigdelset(
17194         __set: *mut sigset_t,
17195         __signal: ::std::os::raw::c_int,
17196     ) -> ::std::os::raw::c_int;
17197 }
17198 extern "C" {
17199     pub fn sigdelset64(
17200         __set: *mut sigset64_t,
17201         __signal: ::std::os::raw::c_int,
17202     ) -> ::std::os::raw::c_int;
17203 }
17204 extern "C" {
17205     pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
17206 }
17207 extern "C" {
17208     pub fn sigemptyset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
17209 }
17210 extern "C" {
17211     pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
17212 }
17213 extern "C" {
17214     pub fn sigfillset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
17215 }
17216 extern "C" {
17217     pub fn sigismember(
17218         __set: *const sigset_t,
17219         __signal: ::std::os::raw::c_int,
17220     ) -> ::std::os::raw::c_int;
17221 }
17222 extern "C" {
17223     pub fn sigismember64(
17224         __set: *const sigset64_t,
17225         __signal: ::std::os::raw::c_int,
17226     ) -> ::std::os::raw::c_int;
17227 }
17228 extern "C" {
17229     pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
17230 }
17231 extern "C" {
17232     pub fn sigpending64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
17233 }
17234 extern "C" {
17235     pub fn sigprocmask(
17236         __how: ::std::os::raw::c_int,
17237         __new_set: *const sigset_t,
17238         __old_set: *mut sigset_t,
17239     ) -> ::std::os::raw::c_int;
17240 }
17241 extern "C" {
17242     pub fn sigprocmask64(
17243         __how: ::std::os::raw::c_int,
17244         __new_set: *const sigset64_t,
17245         __old_set: *mut sigset64_t,
17246     ) -> ::std::os::raw::c_int;
17247 }
17248 extern "C" {
17249     pub fn sigsuspend(__mask: *const sigset_t) -> ::std::os::raw::c_int;
17250 }
17251 extern "C" {
17252     pub fn sigsuspend64(__mask: *const sigset64_t) -> ::std::os::raw::c_int;
17253 }
17254 extern "C" {
17255     pub fn sigwait(
17256         __set: *const sigset_t,
17257         __signal: *mut ::std::os::raw::c_int,
17258     ) -> ::std::os::raw::c_int;
17259 }
17260 extern "C" {
17261     pub fn sigwait64(
17262         __set: *const sigset64_t,
17263         __signal: *mut ::std::os::raw::c_int,
17264     ) -> ::std::os::raw::c_int;
17265 }
17266 extern "C" {
17267     pub fn sighold(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17268 }
17269 extern "C" {
17270     pub fn sigignore(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17271 }
17272 extern "C" {
17273     pub fn sigpause(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17274 }
17275 extern "C" {
17276     pub fn sigrelse(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17277 }
17278 extern "C" {
17279     pub fn sigset(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
17280 }
17281 extern "C" {
17282     pub fn raise(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17283 }
17284 extern "C" {
17285     pub fn kill(__pid: pid_t, __signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17286 }
17287 extern "C" {
17288     pub fn killpg(
17289         __pgrp: ::std::os::raw::c_int,
17290         __signal: ::std::os::raw::c_int,
17291     ) -> ::std::os::raw::c_int;
17292 }
17293 extern "C" {
17294     pub fn tgkill(
17295         __tgid: ::std::os::raw::c_int,
17296         __tid: ::std::os::raw::c_int,
17297         __signal: ::std::os::raw::c_int,
17298     ) -> ::std::os::raw::c_int;
17299 }
17300 extern "C" {
17301     pub fn sigaltstack(
17302         __new_signal_stack: *const stack_t,
17303         __old_signal_stack: *mut stack_t,
17304     ) -> ::std::os::raw::c_int;
17305 }
17306 extern "C" {
17307     pub fn psiginfo(__info: *const siginfo_t, __msg: *const ::std::os::raw::c_char);
17308 }
17309 extern "C" {
17310     pub fn psignal(__signal: ::std::os::raw::c_int, __msg: *const ::std::os::raw::c_char);
17311 }
17312 extern "C" {
17313     pub fn pthread_kill(
17314         __pthread: pthread_t,
17315         __signal: ::std::os::raw::c_int,
17316     ) -> ::std::os::raw::c_int;
17317 }
17318 extern "C" {
17319     pub fn pthread_sigmask(
17320         __how: ::std::os::raw::c_int,
17321         __new_set: *const sigset_t,
17322         __old_set: *mut sigset_t,
17323     ) -> ::std::os::raw::c_int;
17324 }
17325 extern "C" {
17326     pub fn pthread_sigmask64(
17327         __how: ::std::os::raw::c_int,
17328         __new_set: *const sigset64_t,
17329         __old_set: *mut sigset64_t,
17330     ) -> ::std::os::raw::c_int;
17331 }
17332 extern "C" {
17333     pub fn sigqueue(
17334         __pid: pid_t,
17335         __signal: ::std::os::raw::c_int,
17336         __value: sigval,
17337     ) -> ::std::os::raw::c_int;
17338 }
17339 extern "C" {
17340     pub fn sigtimedwait(
17341         __set: *const sigset_t,
17342         __info: *mut siginfo_t,
17343         __timeout: *const timespec,
17344     ) -> ::std::os::raw::c_int;
17345 }
17346 extern "C" {
17347     pub fn sigtimedwait64(
17348         __set: *const sigset64_t,
17349         __info: *mut siginfo_t,
17350         __timeout: *const timespec,
17351     ) -> ::std::os::raw::c_int;
17352 }
17353 extern "C" {
17354     pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
17355 }
17356 extern "C" {
17357     pub fn sigwaitinfo64(__set: *const sigset64_t, __info: *mut siginfo_t)
17358         -> ::std::os::raw::c_int;
17359 }
17360 pub type fd_mask = ::std::os::raw::c_ulong;
17361 #[repr(C)]
17362 #[derive(Debug, Copy, Clone)]
17363 pub struct fd_set {
17364     pub fds_bits: [fd_mask; 32usize],
17365 }
17366 #[test]
17367 fn bindgen_test_layout_fd_set() {
17368     assert_eq!(
17369         ::std::mem::size_of::<fd_set>(),
17370         128usize,
17371         concat!("Size of: ", stringify!(fd_set))
17372     );
17373     assert_eq!(
17374         ::std::mem::align_of::<fd_set>(),
17375         4usize,
17376         concat!("Alignment of ", stringify!(fd_set))
17377     );
17378     assert_eq!(
17379         unsafe { &(*(::std::ptr::null::<fd_set>())).fds_bits as *const _ as usize },
17380         0usize,
17381         concat!(
17382             "Offset of field: ",
17383             stringify!(fd_set),
17384             "::",
17385             stringify!(fds_bits)
17386         )
17387     );
17388 }
17389 extern "C" {
17390     pub fn __FD_CLR_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: size_t);
17391 }
17392 extern "C" {
17393     pub fn __FD_SET_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: size_t);
17394 }
17395 extern "C" {
17396     pub fn __FD_ISSET_chk(
17397         arg1: ::std::os::raw::c_int,
17398         arg2: *const fd_set,
17399         arg3: size_t,
17400     ) -> ::std::os::raw::c_int;
17401 }
17402 extern "C" {
17403     pub fn select(
17404         __max_fd_plus_one: ::std::os::raw::c_int,
17405         __read_fds: *mut fd_set,
17406         __write_fds: *mut fd_set,
17407         __exception_fds: *mut fd_set,
17408         __timeout: *mut timeval,
17409     ) -> ::std::os::raw::c_int;
17410 }
17411 extern "C" {
17412     pub fn pselect(
17413         __max_fd_plus_one: ::std::os::raw::c_int,
17414         __read_fds: *mut fd_set,
17415         __write_fds: *mut fd_set,
17416         __exception_fds: *mut fd_set,
17417         __timeout: *const timespec,
17418         __mask: *const sigset_t,
17419     ) -> ::std::os::raw::c_int;
17420 }
17421 extern "C" {
17422     pub fn pselect64(
17423         __max_fd_plus_one: ::std::os::raw::c_int,
17424         __read_fds: *mut fd_set,
17425         __write_fds: *mut fd_set,
17426         __exception_fds: *mut fd_set,
17427         __timeout: *const timespec,
17428         __mask: *const sigset64_t,
17429     ) -> ::std::os::raw::c_int;
17430 }
17431 extern "C" {
17432     pub fn gettimeofday(__tv: *mut timeval, __tz: *mut timezone) -> ::std::os::raw::c_int;
17433 }
17434 extern "C" {
17435     pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int;
17436 }
17437 extern "C" {
17438     pub fn getitimer(
17439         __which: ::std::os::raw::c_int,
17440         __current_value: *mut itimerval,
17441     ) -> ::std::os::raw::c_int;
17442 }
17443 extern "C" {
17444     pub fn setitimer(
17445         __which: ::std::os::raw::c_int,
17446         __new_value: *const itimerval,
17447         __old_value: *mut itimerval,
17448     ) -> ::std::os::raw::c_int;
17449 }
17450 extern "C" {
17451     pub fn utimes(
17452         __path: *const ::std::os::raw::c_char,
17453         __times: *const timeval,
17454     ) -> ::std::os::raw::c_int;
17455 }
17456 extern "C" {
17457     pub static mut tzname: [*mut ::std::os::raw::c_char; 0usize];
17458 }
17459 extern "C" {
17460     pub static mut daylight: ::std::os::raw::c_int;
17461 }
17462 extern "C" {
17463     pub static mut timezone: ::std::os::raw::c_long;
17464 }
17465 #[repr(C)]
17466 #[derive(Debug, Copy, Clone)]
17467 pub struct tm {
17468     pub tm_sec: ::std::os::raw::c_int,
17469     pub tm_min: ::std::os::raw::c_int,
17470     pub tm_hour: ::std::os::raw::c_int,
17471     pub tm_mday: ::std::os::raw::c_int,
17472     pub tm_mon: ::std::os::raw::c_int,
17473     pub tm_year: ::std::os::raw::c_int,
17474     pub tm_wday: ::std::os::raw::c_int,
17475     pub tm_yday: ::std::os::raw::c_int,
17476     pub tm_isdst: ::std::os::raw::c_int,
17477     pub tm_gmtoff: ::std::os::raw::c_long,
17478     pub tm_zone: *const ::std::os::raw::c_char,
17479 }
17480 #[test]
17481 fn bindgen_test_layout_tm() {
17482     assert_eq!(
17483         ::std::mem::size_of::<tm>(),
17484         44usize,
17485         concat!("Size of: ", stringify!(tm))
17486     );
17487     assert_eq!(
17488         ::std::mem::align_of::<tm>(),
17489         4usize,
17490         concat!("Alignment of ", stringify!(tm))
17491     );
17492     assert_eq!(
17493         unsafe { &(*(::std::ptr::null::<tm>())).tm_sec as *const _ as usize },
17494         0usize,
17495         concat!(
17496             "Offset of field: ",
17497             stringify!(tm),
17498             "::",
17499             stringify!(tm_sec)
17500         )
17501     );
17502     assert_eq!(
17503         unsafe { &(*(::std::ptr::null::<tm>())).tm_min as *const _ as usize },
17504         4usize,
17505         concat!(
17506             "Offset of field: ",
17507             stringify!(tm),
17508             "::",
17509             stringify!(tm_min)
17510         )
17511     );
17512     assert_eq!(
17513         unsafe { &(*(::std::ptr::null::<tm>())).tm_hour as *const _ as usize },
17514         8usize,
17515         concat!(
17516             "Offset of field: ",
17517             stringify!(tm),
17518             "::",
17519             stringify!(tm_hour)
17520         )
17521     );
17522     assert_eq!(
17523         unsafe { &(*(::std::ptr::null::<tm>())).tm_mday as *const _ as usize },
17524         12usize,
17525         concat!(
17526             "Offset of field: ",
17527             stringify!(tm),
17528             "::",
17529             stringify!(tm_mday)
17530         )
17531     );
17532     assert_eq!(
17533         unsafe { &(*(::std::ptr::null::<tm>())).tm_mon as *const _ as usize },
17534         16usize,
17535         concat!(
17536             "Offset of field: ",
17537             stringify!(tm),
17538             "::",
17539             stringify!(tm_mon)
17540         )
17541     );
17542     assert_eq!(
17543         unsafe { &(*(::std::ptr::null::<tm>())).tm_year as *const _ as usize },
17544         20usize,
17545         concat!(
17546             "Offset of field: ",
17547             stringify!(tm),
17548             "::",
17549             stringify!(tm_year)
17550         )
17551     );
17552     assert_eq!(
17553         unsafe { &(*(::std::ptr::null::<tm>())).tm_wday as *const _ as usize },
17554         24usize,
17555         concat!(
17556             "Offset of field: ",
17557             stringify!(tm),
17558             "::",
17559             stringify!(tm_wday)
17560         )
17561     );
17562     assert_eq!(
17563         unsafe { &(*(::std::ptr::null::<tm>())).tm_yday as *const _ as usize },
17564         28usize,
17565         concat!(
17566             "Offset of field: ",
17567             stringify!(tm),
17568             "::",
17569             stringify!(tm_yday)
17570         )
17571     );
17572     assert_eq!(
17573         unsafe { &(*(::std::ptr::null::<tm>())).tm_isdst as *const _ as usize },
17574         32usize,
17575         concat!(
17576             "Offset of field: ",
17577             stringify!(tm),
17578             "::",
17579             stringify!(tm_isdst)
17580         )
17581     );
17582     assert_eq!(
17583         unsafe { &(*(::std::ptr::null::<tm>())).tm_gmtoff as *const _ as usize },
17584         36usize,
17585         concat!(
17586             "Offset of field: ",
17587             stringify!(tm),
17588             "::",
17589             stringify!(tm_gmtoff)
17590         )
17591     );
17592     assert_eq!(
17593         unsafe { &(*(::std::ptr::null::<tm>())).tm_zone as *const _ as usize },
17594         40usize,
17595         concat!(
17596             "Offset of field: ",
17597             stringify!(tm),
17598             "::",
17599             stringify!(tm_zone)
17600         )
17601     );
17602 }
17603 extern "C" {
17604     pub fn time(__t: *mut time_t) -> time_t;
17605 }
17606 extern "C" {
17607     pub fn nanosleep(
17608         __request: *const timespec,
17609         __remainder: *mut timespec,
17610     ) -> ::std::os::raw::c_int;
17611 }
17612 extern "C" {
17613     pub fn asctime(__tm: *const tm) -> *mut ::std::os::raw::c_char;
17614 }
17615 extern "C" {
17616     pub fn asctime_r(
17617         __tm: *const tm,
17618         __buf: *mut ::std::os::raw::c_char,
17619     ) -> *mut ::std::os::raw::c_char;
17620 }
17621 extern "C" {
17622     pub fn difftime(__lhs: time_t, __rhs: time_t) -> f64;
17623 }
17624 extern "C" {
17625     pub fn mktime(__tm: *mut tm) -> time_t;
17626 }
17627 extern "C" {
17628     pub fn localtime(__t: *const time_t) -> *mut tm;
17629 }
17630 extern "C" {
17631     pub fn localtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
17632 }
17633 extern "C" {
17634     pub fn gmtime(__t: *const time_t) -> *mut tm;
17635 }
17636 extern "C" {
17637     pub fn gmtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
17638 }
17639 extern "C" {
17640     pub fn strptime(
17641         __s: *const ::std::os::raw::c_char,
17642         __fmt: *const ::std::os::raw::c_char,
17643         __tm: *mut tm,
17644     ) -> *mut ::std::os::raw::c_char;
17645 }
17646 extern "C" {
17647     pub fn strptime_l(
17648         __s: *const ::std::os::raw::c_char,
17649         __fmt: *const ::std::os::raw::c_char,
17650         __tm: *mut tm,
17651         __l: locale_t,
17652     ) -> *mut ::std::os::raw::c_char;
17653 }
17654 extern "C" {
17655     pub fn strftime(
17656         __buf: *mut ::std::os::raw::c_char,
17657         __n: size_t,
17658         __fmt: *const ::std::os::raw::c_char,
17659         __tm: *const tm,
17660     ) -> size_t;
17661 }
17662 extern "C" {
17663     pub fn strftime_l(
17664         __buf: *mut ::std::os::raw::c_char,
17665         __n: size_t,
17666         __fmt: *const ::std::os::raw::c_char,
17667         __tm: *const tm,
17668         __l: locale_t,
17669     ) -> size_t;
17670 }
17671 extern "C" {
17672     pub fn ctime(__t: *const time_t) -> *mut ::std::os::raw::c_char;
17673 }
17674 extern "C" {
17675     pub fn ctime_r(
17676         __t: *const time_t,
17677         __buf: *mut ::std::os::raw::c_char,
17678     ) -> *mut ::std::os::raw::c_char;
17679 }
17680 extern "C" {
17681     pub fn tzset();
17682 }
17683 extern "C" {
17684     pub fn clock() -> clock_t;
17685 }
17686 extern "C" {
17687     pub fn clock_getcpuclockid(__pid: pid_t, __clock: *mut clockid_t) -> ::std::os::raw::c_int;
17688 }
17689 extern "C" {
17690     pub fn clock_getres(__clock: clockid_t, __resolution: *mut timespec) -> ::std::os::raw::c_int;
17691 }
17692 extern "C" {
17693     pub fn clock_gettime(__clock: clockid_t, __ts: *mut timespec) -> ::std::os::raw::c_int;
17694 }
17695 extern "C" {
17696     pub fn clock_nanosleep(
17697         __clock: clockid_t,
17698         __flags: ::std::os::raw::c_int,
17699         __request: *const timespec,
17700         __remainder: *mut timespec,
17701     ) -> ::std::os::raw::c_int;
17702 }
17703 extern "C" {
17704     pub fn clock_settime(__clock: clockid_t, __ts: *const timespec) -> ::std::os::raw::c_int;
17705 }
17706 extern "C" {
17707     pub fn timer_create(
17708         __clock: clockid_t,
17709         __event: *mut sigevent,
17710         __timer_ptr: *mut timer_t,
17711     ) -> ::std::os::raw::c_int;
17712 }
17713 extern "C" {
17714     pub fn timer_delete(__timer: timer_t) -> ::std::os::raw::c_int;
17715 }
17716 extern "C" {
17717     pub fn timer_settime(
17718         __timer: timer_t,
17719         __flags: ::std::os::raw::c_int,
17720         __new_value: *const itimerspec,
17721         __old_value: *mut itimerspec,
17722     ) -> ::std::os::raw::c_int;
17723 }
17724 extern "C" {
17725     pub fn timer_gettime(__timer: timer_t, __ts: *mut itimerspec) -> ::std::os::raw::c_int;
17726 }
17727 extern "C" {
17728     pub fn timer_getoverrun(__timer: timer_t) -> ::std::os::raw::c_int;
17729 }
17730 extern "C" {
17731     pub fn timelocal(__tm: *mut tm) -> time_t;
17732 }
17733 extern "C" {
17734     pub fn timegm(__tm: *mut tm) -> time_t;
17735 }
17736 extern "C" {
17737     pub fn timespec_get(
17738         __ts: *mut timespec,
17739         __base: ::std::os::raw::c_int,
17740     ) -> ::std::os::raw::c_int;
17741 }
17742 pub const AAUDIO_DIRECTION_OUTPUT: ::std::os::raw::c_uint = 0;
17743 pub const AAUDIO_DIRECTION_INPUT: ::std::os::raw::c_uint = 1;
17744 pub type _bindgen_ty_41 = ::std::os::raw::c_uint;
17745 pub type aaudio_direction_t = i32;
17746 pub const AAUDIO_FORMAT_INVALID: ::std::os::raw::c_int = -1;
17747 pub const AAUDIO_FORMAT_UNSPECIFIED: ::std::os::raw::c_int = 0;
17748 pub const AAUDIO_FORMAT_PCM_I16: ::std::os::raw::c_int = 1;
17749 pub const AAUDIO_FORMAT_PCM_FLOAT: ::std::os::raw::c_int = 2;
17750 pub const AAUDIO_FORMAT_PCM_I24_PACKED: ::std::os::raw::c_int = 3;
17751 pub const AAUDIO_FORMAT_PCM_I32: ::std::os::raw::c_int = 4;
17752 pub type _bindgen_ty_42 = ::std::os::raw::c_int;
17753 pub type aaudio_format_t = i32;
17754 pub const AAUDIO_OK: ::std::os::raw::c_int = 0;
17755 pub const AAUDIO_ERROR_BASE: ::std::os::raw::c_int = -900;
17756 pub const AAUDIO_ERROR_DISCONNECTED: ::std::os::raw::c_int = -899;
17757 pub const AAUDIO_ERROR_ILLEGAL_ARGUMENT: ::std::os::raw::c_int = -898;
17758 pub const AAUDIO_ERROR_INTERNAL: ::std::os::raw::c_int = -896;
17759 pub const AAUDIO_ERROR_INVALID_STATE: ::std::os::raw::c_int = -895;
17760 pub const AAUDIO_ERROR_INVALID_HANDLE: ::std::os::raw::c_int = -892;
17761 pub const AAUDIO_ERROR_UNIMPLEMENTED: ::std::os::raw::c_int = -890;
17762 pub const AAUDIO_ERROR_UNAVAILABLE: ::std::os::raw::c_int = -889;
17763 pub const AAUDIO_ERROR_NO_FREE_HANDLES: ::std::os::raw::c_int = -888;
17764 pub const AAUDIO_ERROR_NO_MEMORY: ::std::os::raw::c_int = -887;
17765 pub const AAUDIO_ERROR_NULL: ::std::os::raw::c_int = -886;
17766 pub const AAUDIO_ERROR_TIMEOUT: ::std::os::raw::c_int = -885;
17767 pub const AAUDIO_ERROR_WOULD_BLOCK: ::std::os::raw::c_int = -884;
17768 pub const AAUDIO_ERROR_INVALID_FORMAT: ::std::os::raw::c_int = -883;
17769 pub const AAUDIO_ERROR_OUT_OF_RANGE: ::std::os::raw::c_int = -882;
17770 pub const AAUDIO_ERROR_NO_SERVICE: ::std::os::raw::c_int = -881;
17771 pub const AAUDIO_ERROR_INVALID_RATE: ::std::os::raw::c_int = -880;
17772 pub type _bindgen_ty_43 = ::std::os::raw::c_int;
17773 pub type aaudio_result_t = i32;
17774 pub const AAUDIO_STREAM_STATE_UNINITIALIZED: ::std::os::raw::c_uint = 0;
17775 pub const AAUDIO_STREAM_STATE_UNKNOWN: ::std::os::raw::c_uint = 1;
17776 pub const AAUDIO_STREAM_STATE_OPEN: ::std::os::raw::c_uint = 2;
17777 pub const AAUDIO_STREAM_STATE_STARTING: ::std::os::raw::c_uint = 3;
17778 pub const AAUDIO_STREAM_STATE_STARTED: ::std::os::raw::c_uint = 4;
17779 pub const AAUDIO_STREAM_STATE_PAUSING: ::std::os::raw::c_uint = 5;
17780 pub const AAUDIO_STREAM_STATE_PAUSED: ::std::os::raw::c_uint = 6;
17781 pub const AAUDIO_STREAM_STATE_FLUSHING: ::std::os::raw::c_uint = 7;
17782 pub const AAUDIO_STREAM_STATE_FLUSHED: ::std::os::raw::c_uint = 8;
17783 pub const AAUDIO_STREAM_STATE_STOPPING: ::std::os::raw::c_uint = 9;
17784 pub const AAUDIO_STREAM_STATE_STOPPED: ::std::os::raw::c_uint = 10;
17785 pub const AAUDIO_STREAM_STATE_CLOSING: ::std::os::raw::c_uint = 11;
17786 pub const AAUDIO_STREAM_STATE_CLOSED: ::std::os::raw::c_uint = 12;
17787 pub const AAUDIO_STREAM_STATE_DISCONNECTED: ::std::os::raw::c_uint = 13;
17788 pub type _bindgen_ty_44 = ::std::os::raw::c_uint;
17789 pub type aaudio_stream_state_t = i32;
17790 pub const AAUDIO_SHARING_MODE_EXCLUSIVE: ::std::os::raw::c_uint = 0;
17791 pub const AAUDIO_SHARING_MODE_SHARED: ::std::os::raw::c_uint = 1;
17792 pub type _bindgen_ty_45 = ::std::os::raw::c_uint;
17793 pub type aaudio_sharing_mode_t = i32;
17794 pub const AAUDIO_PERFORMANCE_MODE_NONE: ::std::os::raw::c_uint = 10;
17795 pub const AAUDIO_PERFORMANCE_MODE_POWER_SAVING: ::std::os::raw::c_uint = 11;
17796 pub const AAUDIO_PERFORMANCE_MODE_LOW_LATENCY: ::std::os::raw::c_uint = 12;
17797 pub type _bindgen_ty_46 = ::std::os::raw::c_uint;
17798 pub type aaudio_performance_mode_t = i32;
17799 pub const AAUDIO_USAGE_MEDIA: ::std::os::raw::c_uint = 1;
17800 pub const AAUDIO_USAGE_VOICE_COMMUNICATION: ::std::os::raw::c_uint = 2;
17801 pub const AAUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: ::std::os::raw::c_uint = 3;
17802 pub const AAUDIO_USAGE_ALARM: ::std::os::raw::c_uint = 4;
17803 pub const AAUDIO_USAGE_NOTIFICATION: ::std::os::raw::c_uint = 5;
17804 pub const AAUDIO_USAGE_NOTIFICATION_RINGTONE: ::std::os::raw::c_uint = 6;
17805 pub const AAUDIO_USAGE_NOTIFICATION_EVENT: ::std::os::raw::c_uint = 10;
17806 pub const AAUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: ::std::os::raw::c_uint = 11;
17807 pub const AAUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: ::std::os::raw::c_uint = 12;
17808 pub const AAUDIO_USAGE_ASSISTANCE_SONIFICATION: ::std::os::raw::c_uint = 13;
17809 pub const AAUDIO_USAGE_GAME: ::std::os::raw::c_uint = 14;
17810 pub const AAUDIO_USAGE_ASSISTANT: ::std::os::raw::c_uint = 16;
17811 pub const AAUDIO_SYSTEM_USAGE_EMERGENCY: ::std::os::raw::c_uint = 1000;
17812 pub const AAUDIO_SYSTEM_USAGE_SAFETY: ::std::os::raw::c_uint = 1001;
17813 pub const AAUDIO_SYSTEM_USAGE_VEHICLE_STATUS: ::std::os::raw::c_uint = 1002;
17814 pub const AAUDIO_SYSTEM_USAGE_ANNOUNCEMENT: ::std::os::raw::c_uint = 1003;
17815 pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
17816 pub type aaudio_usage_t = i32;
17817 pub const AAUDIO_CONTENT_TYPE_SPEECH: ::std::os::raw::c_uint = 1;
17818 pub const AAUDIO_CONTENT_TYPE_MUSIC: ::std::os::raw::c_uint = 2;
17819 pub const AAUDIO_CONTENT_TYPE_MOVIE: ::std::os::raw::c_uint = 3;
17820 pub const AAUDIO_CONTENT_TYPE_SONIFICATION: ::std::os::raw::c_uint = 4;
17821 pub type _bindgen_ty_48 = ::std::os::raw::c_uint;
17822 pub type aaudio_content_type_t = i32;
17823 pub const AAUDIO_INPUT_PRESET_GENERIC: ::std::os::raw::c_uint = 1;
17824 pub const AAUDIO_INPUT_PRESET_CAMCORDER: ::std::os::raw::c_uint = 5;
17825 pub const AAUDIO_INPUT_PRESET_VOICE_RECOGNITION: ::std::os::raw::c_uint = 6;
17826 pub const AAUDIO_INPUT_PRESET_VOICE_COMMUNICATION: ::std::os::raw::c_uint = 7;
17827 pub const AAUDIO_INPUT_PRESET_UNPROCESSED: ::std::os::raw::c_uint = 9;
17828 pub const AAUDIO_INPUT_PRESET_VOICE_PERFORMANCE: ::std::os::raw::c_uint = 10;
17829 pub type _bindgen_ty_49 = ::std::os::raw::c_uint;
17830 pub type aaudio_input_preset_t = i32;
17831 pub const AAUDIO_ALLOW_CAPTURE_BY_ALL: ::std::os::raw::c_uint = 1;
17832 pub const AAUDIO_ALLOW_CAPTURE_BY_SYSTEM: ::std::os::raw::c_uint = 2;
17833 pub const AAUDIO_ALLOW_CAPTURE_BY_NONE: ::std::os::raw::c_uint = 3;
17834 pub type _bindgen_ty_50 = ::std::os::raw::c_uint;
17835 pub type aaudio_allowed_capture_policy_t = i32;
17836 pub const AAUDIO_SESSION_ID_NONE: ::std::os::raw::c_int = -1;
17837 pub const AAUDIO_SESSION_ID_ALLOCATE: ::std::os::raw::c_int = 0;
17838 pub type _bindgen_ty_51 = ::std::os::raw::c_int;
17839 pub type aaudio_session_id_t = i32;
17840 #[repr(C)]
17841 #[derive(Debug, Copy, Clone)]
17842 pub struct AAudioStreamStruct {
17843     _unused: [u8; 0],
17844 }
17845 pub type AAudioStream = AAudioStreamStruct;
17846 #[repr(C)]
17847 #[derive(Debug, Copy, Clone)]
17848 pub struct AAudioStreamBuilderStruct {
17849     _unused: [u8; 0],
17850 }
17851 pub type AAudioStreamBuilder = AAudioStreamBuilderStruct;
17852 extern "C" {
17853     pub fn AAudio_convertResultToText(returnCode: aaudio_result_t)
17854         -> *const ::std::os::raw::c_char;
17855 }
17856 extern "C" {
17857     pub fn AAudio_convertStreamStateToText(
17858         state: aaudio_stream_state_t,
17859     ) -> *const ::std::os::raw::c_char;
17860 }
17861 extern "C" {
17862     pub fn AAudio_createStreamBuilder(builder: *mut *mut AAudioStreamBuilder) -> aaudio_result_t;
17863 }
17864 extern "C" {
17865     pub fn AAudioStreamBuilder_setDeviceId(builder: *mut AAudioStreamBuilder, deviceId: i32);
17866 }
17867 extern "C" {
17868     pub fn AAudioStreamBuilder_setPackageName(
17869         builder: *mut AAudioStreamBuilder,
17870         packageName: *const ::std::os::raw::c_char,
17871     );
17872 }
17873 extern "C" {
17874     pub fn AAudioStreamBuilder_setAttributionTag(
17875         builder: *mut AAudioStreamBuilder,
17876         attributionTag: *const ::std::os::raw::c_char,
17877     );
17878 }
17879 extern "C" {
17880     pub fn AAudioStreamBuilder_setSampleRate(builder: *mut AAudioStreamBuilder, sampleRate: i32);
17881 }
17882 extern "C" {
17883     pub fn AAudioStreamBuilder_setChannelCount(
17884         builder: *mut AAudioStreamBuilder,
17885         channelCount: i32,
17886     );
17887 }
17888 extern "C" {
17889     pub fn AAudioStreamBuilder_setSamplesPerFrame(
17890         builder: *mut AAudioStreamBuilder,
17891         samplesPerFrame: i32,
17892     );
17893 }
17894 extern "C" {
17895     pub fn AAudioStreamBuilder_setFormat(
17896         builder: *mut AAudioStreamBuilder,
17897         format: aaudio_format_t,
17898     );
17899 }
17900 extern "C" {
17901     pub fn AAudioStreamBuilder_setSharingMode(
17902         builder: *mut AAudioStreamBuilder,
17903         sharingMode: aaudio_sharing_mode_t,
17904     );
17905 }
17906 extern "C" {
17907     pub fn AAudioStreamBuilder_setDirection(
17908         builder: *mut AAudioStreamBuilder,
17909         direction: aaudio_direction_t,
17910     );
17911 }
17912 extern "C" {
17913     pub fn AAudioStreamBuilder_setBufferCapacityInFrames(
17914         builder: *mut AAudioStreamBuilder,
17915         numFrames: i32,
17916     );
17917 }
17918 extern "C" {
17919     pub fn AAudioStreamBuilder_setPerformanceMode(
17920         builder: *mut AAudioStreamBuilder,
17921         mode: aaudio_performance_mode_t,
17922     );
17923 }
17924 extern "C" {
17925     pub fn AAudioStreamBuilder_setUsage(builder: *mut AAudioStreamBuilder, usage: aaudio_usage_t);
17926 }
17927 extern "C" {
17928     pub fn AAudioStreamBuilder_setContentType(
17929         builder: *mut AAudioStreamBuilder,
17930         contentType: aaudio_content_type_t,
17931     );
17932 }
17933 extern "C" {
17934     pub fn AAudioStreamBuilder_setInputPreset(
17935         builder: *mut AAudioStreamBuilder,
17936         inputPreset: aaudio_input_preset_t,
17937     );
17938 }
17939 extern "C" {
17940     pub fn AAudioStreamBuilder_setAllowedCapturePolicy(
17941         builder: *mut AAudioStreamBuilder,
17942         capturePolicy: aaudio_allowed_capture_policy_t,
17943     );
17944 }
17945 extern "C" {
17946     pub fn AAudioStreamBuilder_setSessionId(
17947         builder: *mut AAudioStreamBuilder,
17948         sessionId: aaudio_session_id_t,
17949     );
17950 }
17951 extern "C" {
17952     pub fn AAudioStreamBuilder_setPrivacySensitive(
17953         builder: *mut AAudioStreamBuilder,
17954         privacySensitive: bool,
17955     );
17956 }
17957 pub const AAUDIO_CALLBACK_RESULT_CONTINUE: ::std::os::raw::c_uint = 0;
17958 pub const AAUDIO_CALLBACK_RESULT_STOP: ::std::os::raw::c_uint = 1;
17959 pub type _bindgen_ty_52 = ::std::os::raw::c_uint;
17960 pub type aaudio_data_callback_result_t = i32;
17961 pub type AAudioStream_dataCallback = ::std::option::Option<
17962     unsafe extern "C" fn(
17963         stream: *mut AAudioStream,
17964         userData: *mut ::std::os::raw::c_void,
17965         audioData: *mut ::std::os::raw::c_void,
17966         numFrames: i32,
17967     ) -> aaudio_data_callback_result_t,
17968 >;
17969 extern "C" {
17970     pub fn AAudioStreamBuilder_setDataCallback(
17971         builder: *mut AAudioStreamBuilder,
17972         callback: AAudioStream_dataCallback,
17973         userData: *mut ::std::os::raw::c_void,
17974     );
17975 }
17976 extern "C" {
17977     pub fn AAudioStreamBuilder_setFramesPerDataCallback(
17978         builder: *mut AAudioStreamBuilder,
17979         numFrames: i32,
17980     );
17981 }
17982 pub type AAudioStream_errorCallback = ::std::option::Option<
17983     unsafe extern "C" fn(
17984         stream: *mut AAudioStream,
17985         userData: *mut ::std::os::raw::c_void,
17986         error: aaudio_result_t,
17987     ),
17988 >;
17989 extern "C" {
17990     pub fn AAudioStreamBuilder_setErrorCallback(
17991         builder: *mut AAudioStreamBuilder,
17992         callback: AAudioStream_errorCallback,
17993         userData: *mut ::std::os::raw::c_void,
17994     );
17995 }
17996 extern "C" {
17997     pub fn AAudioStreamBuilder_openStream(
17998         builder: *mut AAudioStreamBuilder,
17999         stream: *mut *mut AAudioStream,
18000     ) -> aaudio_result_t;
18001 }
18002 extern "C" {
18003     pub fn AAudioStreamBuilder_delete(builder: *mut AAudioStreamBuilder) -> aaudio_result_t;
18004 }
18005 extern "C" {
18006     pub fn AAudioStream_release(stream: *mut AAudioStream) -> aaudio_result_t;
18007 }
18008 extern "C" {
18009     pub fn AAudioStream_close(stream: *mut AAudioStream) -> aaudio_result_t;
18010 }
18011 extern "C" {
18012     pub fn AAudioStream_requestStart(stream: *mut AAudioStream) -> aaudio_result_t;
18013 }
18014 extern "C" {
18015     pub fn AAudioStream_requestPause(stream: *mut AAudioStream) -> aaudio_result_t;
18016 }
18017 extern "C" {
18018     pub fn AAudioStream_requestFlush(stream: *mut AAudioStream) -> aaudio_result_t;
18019 }
18020 extern "C" {
18021     pub fn AAudioStream_requestStop(stream: *mut AAudioStream) -> aaudio_result_t;
18022 }
18023 extern "C" {
18024     pub fn AAudioStream_getState(stream: *mut AAudioStream) -> aaudio_stream_state_t;
18025 }
18026 extern "C" {
18027     pub fn AAudioStream_waitForStateChange(
18028         stream: *mut AAudioStream,
18029         inputState: aaudio_stream_state_t,
18030         nextState: *mut aaudio_stream_state_t,
18031         timeoutNanoseconds: i64,
18032     ) -> aaudio_result_t;
18033 }
18034 extern "C" {
18035     pub fn AAudioStream_read(
18036         stream: *mut AAudioStream,
18037         buffer: *mut ::std::os::raw::c_void,
18038         numFrames: i32,
18039         timeoutNanoseconds: i64,
18040     ) -> aaudio_result_t;
18041 }
18042 extern "C" {
18043     pub fn AAudioStream_write(
18044         stream: *mut AAudioStream,
18045         buffer: *const ::std::os::raw::c_void,
18046         numFrames: i32,
18047         timeoutNanoseconds: i64,
18048     ) -> aaudio_result_t;
18049 }
18050 extern "C" {
18051     pub fn AAudioStream_setBufferSizeInFrames(
18052         stream: *mut AAudioStream,
18053         numFrames: i32,
18054     ) -> aaudio_result_t;
18055 }
18056 extern "C" {
18057     pub fn AAudioStream_getBufferSizeInFrames(stream: *mut AAudioStream) -> i32;
18058 }
18059 extern "C" {
18060     pub fn AAudioStream_getFramesPerBurst(stream: *mut AAudioStream) -> i32;
18061 }
18062 extern "C" {
18063     pub fn AAudioStream_getBufferCapacityInFrames(stream: *mut AAudioStream) -> i32;
18064 }
18065 extern "C" {
18066     pub fn AAudioStream_getFramesPerDataCallback(stream: *mut AAudioStream) -> i32;
18067 }
18068 extern "C" {
18069     pub fn AAudioStream_getXRunCount(stream: *mut AAudioStream) -> i32;
18070 }
18071 extern "C" {
18072     pub fn AAudioStream_getSampleRate(stream: *mut AAudioStream) -> i32;
18073 }
18074 extern "C" {
18075     pub fn AAudioStream_getChannelCount(stream: *mut AAudioStream) -> i32;
18076 }
18077 extern "C" {
18078     pub fn AAudioStream_getSamplesPerFrame(stream: *mut AAudioStream) -> i32;
18079 }
18080 extern "C" {
18081     pub fn AAudioStream_getDeviceId(stream: *mut AAudioStream) -> i32;
18082 }
18083 extern "C" {
18084     pub fn AAudioStream_getFormat(stream: *mut AAudioStream) -> aaudio_format_t;
18085 }
18086 extern "C" {
18087     pub fn AAudioStream_getSharingMode(stream: *mut AAudioStream) -> aaudio_sharing_mode_t;
18088 }
18089 extern "C" {
18090     pub fn AAudioStream_getPerformanceMode(stream: *mut AAudioStream) -> aaudio_performance_mode_t;
18091 }
18092 extern "C" {
18093     pub fn AAudioStream_getDirection(stream: *mut AAudioStream) -> aaudio_direction_t;
18094 }
18095 extern "C" {
18096     pub fn AAudioStream_getFramesWritten(stream: *mut AAudioStream) -> i64;
18097 }
18098 extern "C" {
18099     pub fn AAudioStream_getFramesRead(stream: *mut AAudioStream) -> i64;
18100 }
18101 extern "C" {
18102     pub fn AAudioStream_getSessionId(stream: *mut AAudioStream) -> aaudio_session_id_t;
18103 }
18104 extern "C" {
18105     pub fn AAudioStream_getTimestamp(
18106         stream: *mut AAudioStream,
18107         clockid: clockid_t,
18108         framePosition: *mut i64,
18109         timeNanoseconds: *mut i64,
18110     ) -> aaudio_result_t;
18111 }
18112 extern "C" {
18113     pub fn AAudioStream_getUsage(stream: *mut AAudioStream) -> aaudio_usage_t;
18114 }
18115 extern "C" {
18116     pub fn AAudioStream_getContentType(stream: *mut AAudioStream) -> aaudio_content_type_t;
18117 }
18118 extern "C" {
18119     pub fn AAudioStream_getInputPreset(stream: *mut AAudioStream) -> aaudio_input_preset_t;
18120 }
18121 extern "C" {
18122     pub fn AAudioStream_getAllowedCapturePolicy(
18123         stream: *mut AAudioStream,
18124     ) -> aaudio_allowed_capture_policy_t;
18125 }
18126 extern "C" {
18127     pub fn AAudioStream_isPrivacySensitive(stream: *mut AAudioStream) -> bool;
18128 }
18129 pub const camera_status_t_ACAMERA_OK: camera_status_t = 0;
18130 pub const camera_status_t_ACAMERA_ERROR_BASE: camera_status_t = -10000;
18131 pub const camera_status_t_ACAMERA_ERROR_UNKNOWN: camera_status_t = -10000;
18132 pub const camera_status_t_ACAMERA_ERROR_INVALID_PARAMETER: camera_status_t = -10001;
18133 pub const camera_status_t_ACAMERA_ERROR_CAMERA_DISCONNECTED: camera_status_t = -10002;
18134 pub const camera_status_t_ACAMERA_ERROR_NOT_ENOUGH_MEMORY: camera_status_t = -10003;
18135 pub const camera_status_t_ACAMERA_ERROR_METADATA_NOT_FOUND: camera_status_t = -10004;
18136 pub const camera_status_t_ACAMERA_ERROR_CAMERA_DEVICE: camera_status_t = -10005;
18137 pub const camera_status_t_ACAMERA_ERROR_CAMERA_SERVICE: camera_status_t = -10006;
18138 pub const camera_status_t_ACAMERA_ERROR_SESSION_CLOSED: camera_status_t = -10007;
18139 pub const camera_status_t_ACAMERA_ERROR_INVALID_OPERATION: camera_status_t = -10008;
18140 pub const camera_status_t_ACAMERA_ERROR_STREAM_CONFIGURE_FAIL: camera_status_t = -10009;
18141 pub const camera_status_t_ACAMERA_ERROR_CAMERA_IN_USE: camera_status_t = -10010;
18142 pub const camera_status_t_ACAMERA_ERROR_MAX_CAMERA_IN_USE: camera_status_t = -10011;
18143 pub const camera_status_t_ACAMERA_ERROR_CAMERA_DISABLED: camera_status_t = -10012;
18144 pub const camera_status_t_ACAMERA_ERROR_PERMISSION_DENIED: camera_status_t = -10013;
18145 pub const camera_status_t_ACAMERA_ERROR_UNSUPPORTED_OPERATION: camera_status_t = -10014;
18146 pub type camera_status_t = ::std::os::raw::c_int;
18147 pub const acamera_metadata_section_ACAMERA_COLOR_CORRECTION: acamera_metadata_section = 0;
18148 pub const acamera_metadata_section_ACAMERA_CONTROL: acamera_metadata_section = 1;
18149 pub const acamera_metadata_section_ACAMERA_DEMOSAIC: acamera_metadata_section = 2;
18150 pub const acamera_metadata_section_ACAMERA_EDGE: acamera_metadata_section = 3;
18151 pub const acamera_metadata_section_ACAMERA_FLASH: acamera_metadata_section = 4;
18152 pub const acamera_metadata_section_ACAMERA_FLASH_INFO: acamera_metadata_section = 5;
18153 pub const acamera_metadata_section_ACAMERA_HOT_PIXEL: acamera_metadata_section = 6;
18154 pub const acamera_metadata_section_ACAMERA_JPEG: acamera_metadata_section = 7;
18155 pub const acamera_metadata_section_ACAMERA_LENS: acamera_metadata_section = 8;
18156 pub const acamera_metadata_section_ACAMERA_LENS_INFO: acamera_metadata_section = 9;
18157 pub const acamera_metadata_section_ACAMERA_NOISE_REDUCTION: acamera_metadata_section = 10;
18158 pub const acamera_metadata_section_ACAMERA_QUIRKS: acamera_metadata_section = 11;
18159 pub const acamera_metadata_section_ACAMERA_REQUEST: acamera_metadata_section = 12;
18160 pub const acamera_metadata_section_ACAMERA_SCALER: acamera_metadata_section = 13;
18161 pub const acamera_metadata_section_ACAMERA_SENSOR: acamera_metadata_section = 14;
18162 pub const acamera_metadata_section_ACAMERA_SENSOR_INFO: acamera_metadata_section = 15;
18163 pub const acamera_metadata_section_ACAMERA_SHADING: acamera_metadata_section = 16;
18164 pub const acamera_metadata_section_ACAMERA_STATISTICS: acamera_metadata_section = 17;
18165 pub const acamera_metadata_section_ACAMERA_STATISTICS_INFO: acamera_metadata_section = 18;
18166 pub const acamera_metadata_section_ACAMERA_TONEMAP: acamera_metadata_section = 19;
18167 pub const acamera_metadata_section_ACAMERA_LED: acamera_metadata_section = 20;
18168 pub const acamera_metadata_section_ACAMERA_INFO: acamera_metadata_section = 21;
18169 pub const acamera_metadata_section_ACAMERA_BLACK_LEVEL: acamera_metadata_section = 22;
18170 pub const acamera_metadata_section_ACAMERA_SYNC: acamera_metadata_section = 23;
18171 pub const acamera_metadata_section_ACAMERA_REPROCESS: acamera_metadata_section = 24;
18172 pub const acamera_metadata_section_ACAMERA_DEPTH: acamera_metadata_section = 25;
18173 pub const acamera_metadata_section_ACAMERA_LOGICAL_MULTI_CAMERA: acamera_metadata_section = 26;
18174 pub const acamera_metadata_section_ACAMERA_DISTORTION_CORRECTION: acamera_metadata_section = 27;
18175 pub const acamera_metadata_section_ACAMERA_HEIC: acamera_metadata_section = 28;
18176 pub const acamera_metadata_section_ACAMERA_HEIC_INFO: acamera_metadata_section = 29;
18177 pub const acamera_metadata_section_ACAMERA_SECTION_COUNT: acamera_metadata_section = 30;
18178 pub const acamera_metadata_section_ACAMERA_VENDOR: acamera_metadata_section = 32768;
18179 pub type acamera_metadata_section = ::std::os::raw::c_uint;
18180 pub use self::acamera_metadata_section as acamera_metadata_section_t;
18181 pub const acamera_metadata_section_start_ACAMERA_COLOR_CORRECTION_START:
18182     acamera_metadata_section_start = 0;
18183 pub const acamera_metadata_section_start_ACAMERA_CONTROL_START: acamera_metadata_section_start =
18184     65536;
18185 pub const acamera_metadata_section_start_ACAMERA_DEMOSAIC_START: acamera_metadata_section_start =
18186     131072;
18187 pub const acamera_metadata_section_start_ACAMERA_EDGE_START: acamera_metadata_section_start =
18188     196608;
18189 pub const acamera_metadata_section_start_ACAMERA_FLASH_START: acamera_metadata_section_start =
18190     262144;
18191 pub const acamera_metadata_section_start_ACAMERA_FLASH_INFO_START: acamera_metadata_section_start =
18192     327680;
18193 pub const acamera_metadata_section_start_ACAMERA_HOT_PIXEL_START: acamera_metadata_section_start =
18194     393216;
18195 pub const acamera_metadata_section_start_ACAMERA_JPEG_START: acamera_metadata_section_start =
18196     458752;
18197 pub const acamera_metadata_section_start_ACAMERA_LENS_START: acamera_metadata_section_start =
18198     524288;
18199 pub const acamera_metadata_section_start_ACAMERA_LENS_INFO_START: acamera_metadata_section_start =
18200     589824;
18201 pub const acamera_metadata_section_start_ACAMERA_NOISE_REDUCTION_START:
18202     acamera_metadata_section_start = 655360;
18203 pub const acamera_metadata_section_start_ACAMERA_QUIRKS_START: acamera_metadata_section_start =
18204     720896;
18205 pub const acamera_metadata_section_start_ACAMERA_REQUEST_START: acamera_metadata_section_start =
18206     786432;
18207 pub const acamera_metadata_section_start_ACAMERA_SCALER_START: acamera_metadata_section_start =
18208     851968;
18209 pub const acamera_metadata_section_start_ACAMERA_SENSOR_START: acamera_metadata_section_start =
18210     917504;
18211 pub const acamera_metadata_section_start_ACAMERA_SENSOR_INFO_START: acamera_metadata_section_start =
18212     983040;
18213 pub const acamera_metadata_section_start_ACAMERA_SHADING_START: acamera_metadata_section_start =
18214     1048576;
18215 pub const acamera_metadata_section_start_ACAMERA_STATISTICS_START: acamera_metadata_section_start =
18216     1114112;
18217 pub const acamera_metadata_section_start_ACAMERA_STATISTICS_INFO_START:
18218     acamera_metadata_section_start = 1179648;
18219 pub const acamera_metadata_section_start_ACAMERA_TONEMAP_START: acamera_metadata_section_start =
18220     1245184;
18221 pub const acamera_metadata_section_start_ACAMERA_LED_START: acamera_metadata_section_start =
18222     1310720;
18223 pub const acamera_metadata_section_start_ACAMERA_INFO_START: acamera_metadata_section_start =
18224     1376256;
18225 pub const acamera_metadata_section_start_ACAMERA_BLACK_LEVEL_START: acamera_metadata_section_start =
18226     1441792;
18227 pub const acamera_metadata_section_start_ACAMERA_SYNC_START: acamera_metadata_section_start =
18228     1507328;
18229 pub const acamera_metadata_section_start_ACAMERA_REPROCESS_START: acamera_metadata_section_start =
18230     1572864;
18231 pub const acamera_metadata_section_start_ACAMERA_DEPTH_START: acamera_metadata_section_start =
18232     1638400;
18233 pub const acamera_metadata_section_start_ACAMERA_LOGICAL_MULTI_CAMERA_START:
18234     acamera_metadata_section_start = 1703936;
18235 pub const acamera_metadata_section_start_ACAMERA_DISTORTION_CORRECTION_START:
18236     acamera_metadata_section_start = 1769472;
18237 pub const acamera_metadata_section_start_ACAMERA_HEIC_START: acamera_metadata_section_start =
18238     1835008;
18239 pub const acamera_metadata_section_start_ACAMERA_HEIC_INFO_START: acamera_metadata_section_start =
18240     1900544;
18241 pub const acamera_metadata_section_start_ACAMERA_VENDOR_START: acamera_metadata_section_start =
18242     -2147483648;
18243 pub type acamera_metadata_section_start = ::std::os::raw::c_int;
18244 pub use self::acamera_metadata_section_start as acamera_metadata_section_start_t;
18245 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_MODE: acamera_metadata_tag = 0;
18246 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_TRANSFORM: acamera_metadata_tag = 1;
18247 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_GAINS: acamera_metadata_tag = 2;
18248 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_ABERRATION_MODE: acamera_metadata_tag = 3;
18249 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES:
18250     acamera_metadata_tag = 4;
18251 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_END: acamera_metadata_tag = 5;
18252 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_ANTIBANDING_MODE: acamera_metadata_tag = 65536;
18253 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION: acamera_metadata_tag =
18254     65537;
18255 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_LOCK: acamera_metadata_tag = 65538;
18256 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_MODE: acamera_metadata_tag = 65539;
18257 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_REGIONS: acamera_metadata_tag = 65540;
18258 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_TARGET_FPS_RANGE: acamera_metadata_tag = 65541;
18259 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER: acamera_metadata_tag = 65542;
18260 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_MODE: acamera_metadata_tag = 65543;
18261 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_REGIONS: acamera_metadata_tag = 65544;
18262 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_TRIGGER: acamera_metadata_tag = 65545;
18263 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_LOCK: acamera_metadata_tag = 65546;
18264 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_MODE: acamera_metadata_tag = 65547;
18265 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_REGIONS: acamera_metadata_tag = 65548;
18266 pub const acamera_metadata_tag_ACAMERA_CONTROL_CAPTURE_INTENT: acamera_metadata_tag = 65549;
18267 pub const acamera_metadata_tag_ACAMERA_CONTROL_EFFECT_MODE: acamera_metadata_tag = 65550;
18268 pub const acamera_metadata_tag_ACAMERA_CONTROL_MODE: acamera_metadata_tag = 65551;
18269 pub const acamera_metadata_tag_ACAMERA_CONTROL_SCENE_MODE: acamera_metadata_tag = 65552;
18270 pub const acamera_metadata_tag_ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE: acamera_metadata_tag =
18271     65553;
18272 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES:
18273     acamera_metadata_tag = 65554;
18274 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_AVAILABLE_MODES: acamera_metadata_tag = 65555;
18275 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES:
18276     acamera_metadata_tag = 65556;
18277 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_COMPENSATION_RANGE: acamera_metadata_tag = 65557;
18278 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_COMPENSATION_STEP: acamera_metadata_tag = 65558;
18279 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_AVAILABLE_MODES: acamera_metadata_tag = 65559;
18280 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_EFFECTS: acamera_metadata_tag = 65560;
18281 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_SCENE_MODES: acamera_metadata_tag = 65561;
18282 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES:
18283     acamera_metadata_tag = 65562;
18284 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_AVAILABLE_MODES: acamera_metadata_tag = 65563;
18285 pub const acamera_metadata_tag_ACAMERA_CONTROL_MAX_REGIONS: acamera_metadata_tag = 65564;
18286 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_STATE: acamera_metadata_tag = 65567;
18287 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_STATE: acamera_metadata_tag = 65568;
18288 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_STATE: acamera_metadata_tag = 65570;
18289 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_LOCK_AVAILABLE: acamera_metadata_tag = 65572;
18290 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_LOCK_AVAILABLE: acamera_metadata_tag = 65573;
18291 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_MODES: acamera_metadata_tag = 65574;
18292 pub const acamera_metadata_tag_ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE:
18293     acamera_metadata_tag = 65575;
18294 pub const acamera_metadata_tag_ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST: acamera_metadata_tag =
18295     65576;
18296 pub const acamera_metadata_tag_ACAMERA_CONTROL_ENABLE_ZSL: acamera_metadata_tag = 65577;
18297 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_SCENE_CHANGE: acamera_metadata_tag = 65578;
18298 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES:
18299     acamera_metadata_tag = 65579;
18300 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:
18301     acamera_metadata_tag = 65580;
18302 pub const acamera_metadata_tag_ACAMERA_CONTROL_EXTENDED_SCENE_MODE: acamera_metadata_tag = 65581;
18303 pub const acamera_metadata_tag_ACAMERA_CONTROL_ZOOM_RATIO_RANGE: acamera_metadata_tag = 65582;
18304 pub const acamera_metadata_tag_ACAMERA_CONTROL_ZOOM_RATIO: acamera_metadata_tag = 65583;
18305 pub const acamera_metadata_tag_ACAMERA_CONTROL_END: acamera_metadata_tag = 65584;
18306 pub const acamera_metadata_tag_ACAMERA_EDGE_MODE: acamera_metadata_tag = 196608;
18307 pub const acamera_metadata_tag_ACAMERA_EDGE_AVAILABLE_EDGE_MODES: acamera_metadata_tag = 196610;
18308 pub const acamera_metadata_tag_ACAMERA_EDGE_END: acamera_metadata_tag = 196611;
18309 pub const acamera_metadata_tag_ACAMERA_FLASH_MODE: acamera_metadata_tag = 262146;
18310 pub const acamera_metadata_tag_ACAMERA_FLASH_STATE: acamera_metadata_tag = 262149;
18311 pub const acamera_metadata_tag_ACAMERA_FLASH_END: acamera_metadata_tag = 262150;
18312 pub const acamera_metadata_tag_ACAMERA_FLASH_INFO_AVAILABLE: acamera_metadata_tag = 327680;
18313 pub const acamera_metadata_tag_ACAMERA_FLASH_INFO_END: acamera_metadata_tag = 327681;
18314 pub const acamera_metadata_tag_ACAMERA_HOT_PIXEL_MODE: acamera_metadata_tag = 393216;
18315 pub const acamera_metadata_tag_ACAMERA_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: acamera_metadata_tag =
18316     393217;
18317 pub const acamera_metadata_tag_ACAMERA_HOT_PIXEL_END: acamera_metadata_tag = 393218;
18318 pub const acamera_metadata_tag_ACAMERA_JPEG_GPS_COORDINATES: acamera_metadata_tag = 458752;
18319 pub const acamera_metadata_tag_ACAMERA_JPEG_GPS_PROCESSING_METHOD: acamera_metadata_tag = 458753;
18320 pub const acamera_metadata_tag_ACAMERA_JPEG_GPS_TIMESTAMP: acamera_metadata_tag = 458754;
18321 pub const acamera_metadata_tag_ACAMERA_JPEG_ORIENTATION: acamera_metadata_tag = 458755;
18322 pub const acamera_metadata_tag_ACAMERA_JPEG_QUALITY: acamera_metadata_tag = 458756;
18323 pub const acamera_metadata_tag_ACAMERA_JPEG_THUMBNAIL_QUALITY: acamera_metadata_tag = 458757;
18324 pub const acamera_metadata_tag_ACAMERA_JPEG_THUMBNAIL_SIZE: acamera_metadata_tag = 458758;
18325 pub const acamera_metadata_tag_ACAMERA_JPEG_AVAILABLE_THUMBNAIL_SIZES: acamera_metadata_tag =
18326     458759;
18327 pub const acamera_metadata_tag_ACAMERA_JPEG_END: acamera_metadata_tag = 458760;
18328 pub const acamera_metadata_tag_ACAMERA_LENS_APERTURE: acamera_metadata_tag = 524288;
18329 pub const acamera_metadata_tag_ACAMERA_LENS_FILTER_DENSITY: acamera_metadata_tag = 524289;
18330 pub const acamera_metadata_tag_ACAMERA_LENS_FOCAL_LENGTH: acamera_metadata_tag = 524290;
18331 pub const acamera_metadata_tag_ACAMERA_LENS_FOCUS_DISTANCE: acamera_metadata_tag = 524291;
18332 pub const acamera_metadata_tag_ACAMERA_LENS_OPTICAL_STABILIZATION_MODE: acamera_metadata_tag =
18333     524292;
18334 pub const acamera_metadata_tag_ACAMERA_LENS_FACING: acamera_metadata_tag = 524293;
18335 pub const acamera_metadata_tag_ACAMERA_LENS_POSE_ROTATION: acamera_metadata_tag = 524294;
18336 pub const acamera_metadata_tag_ACAMERA_LENS_POSE_TRANSLATION: acamera_metadata_tag = 524295;
18337 pub const acamera_metadata_tag_ACAMERA_LENS_FOCUS_RANGE: acamera_metadata_tag = 524296;
18338 pub const acamera_metadata_tag_ACAMERA_LENS_STATE: acamera_metadata_tag = 524297;
18339 pub const acamera_metadata_tag_ACAMERA_LENS_INTRINSIC_CALIBRATION: acamera_metadata_tag = 524298;
18340 pub const acamera_metadata_tag_ACAMERA_LENS_RADIAL_DISTORTION: acamera_metadata_tag = 524299;
18341 pub const acamera_metadata_tag_ACAMERA_LENS_POSE_REFERENCE: acamera_metadata_tag = 524300;
18342 pub const acamera_metadata_tag_ACAMERA_LENS_DISTORTION: acamera_metadata_tag = 524301;
18343 pub const acamera_metadata_tag_ACAMERA_LENS_DISTORTION_MAXIMUM_RESOLUTION: acamera_metadata_tag =
18344     524302;
18345 pub const acamera_metadata_tag_ACAMERA_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION:
18346     acamera_metadata_tag = 524303;
18347 pub const acamera_metadata_tag_ACAMERA_LENS_END: acamera_metadata_tag = 524304;
18348 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_APERTURES: acamera_metadata_tag = 589824;
18349 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES: acamera_metadata_tag =
18350     589825;
18351 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: acamera_metadata_tag =
18352     589826;
18353 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION:
18354     acamera_metadata_tag = 589827;
18355 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE: acamera_metadata_tag = 589828;
18356 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE: acamera_metadata_tag =
18357     589829;
18358 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_SHADING_MAP_SIZE: acamera_metadata_tag = 589830;
18359 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: acamera_metadata_tag =
18360     589831;
18361 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_END: acamera_metadata_tag = 589832;
18362 pub const acamera_metadata_tag_ACAMERA_NOISE_REDUCTION_MODE: acamera_metadata_tag = 655360;
18363 pub const acamera_metadata_tag_ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES:
18364     acamera_metadata_tag = 655362;
18365 pub const acamera_metadata_tag_ACAMERA_NOISE_REDUCTION_END: acamera_metadata_tag = 655363;
18366 pub const acamera_metadata_tag_ACAMERA_REQUEST_MAX_NUM_OUTPUT_STREAMS: acamera_metadata_tag =
18367     786438;
18368 pub const acamera_metadata_tag_ACAMERA_REQUEST_PIPELINE_DEPTH: acamera_metadata_tag = 786441;
18369 pub const acamera_metadata_tag_ACAMERA_REQUEST_PIPELINE_MAX_DEPTH: acamera_metadata_tag = 786442;
18370 pub const acamera_metadata_tag_ACAMERA_REQUEST_PARTIAL_RESULT_COUNT: acamera_metadata_tag = 786443;
18371 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES: acamera_metadata_tag =
18372     786444;
18373 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS: acamera_metadata_tag =
18374     786445;
18375 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS: acamera_metadata_tag = 786446;
18376 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS:
18377     acamera_metadata_tag = 786447;
18378 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS: acamera_metadata_tag =
18379     786448;
18380 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS:
18381     acamera_metadata_tag = 786449;
18382 pub const acamera_metadata_tag_ACAMERA_REQUEST_END: acamera_metadata_tag = 786450;
18383 pub const acamera_metadata_tag_ACAMERA_SCALER_CROP_REGION: acamera_metadata_tag = 851968;
18384 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: acamera_metadata_tag =
18385     851972;
18386 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
18387     acamera_metadata_tag = 851978;
18388 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18389     851979;
18390 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS: acamera_metadata_tag =
18391     851980;
18392 pub const acamera_metadata_tag_ACAMERA_SCALER_CROPPING_TYPE: acamera_metadata_tag = 851981;
18393 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS:
18394     acamera_metadata_tag = 851982;
18395 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP:
18396     acamera_metadata_tag = 851983;
18397 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES:
18398     acamera_metadata_tag = 851984;
18399 pub const acamera_metadata_tag_ACAMERA_SCALER_ROTATE_AND_CROP: acamera_metadata_tag = 851985;
18400 pub const acamera_metadata_tag_ACAMERA_SCALER_DEFAULT_SECURE_IMAGE_SIZE: acamera_metadata_tag =
18401     851986;
18402 pub const acamera_metadata_tag_ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS : acamera_metadata_tag = 851987 ;
18403 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
18404     acamera_metadata_tag = 851988;
18405 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
18406     acamera_metadata_tag = 851989;
18407 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION:
18408     acamera_metadata_tag = 851990;
18409 pub const acamera_metadata_tag_ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED:
18410     acamera_metadata_tag = 851992;
18411 pub const acamera_metadata_tag_ACAMERA_SCALER_END: acamera_metadata_tag = 851993;
18412 pub const acamera_metadata_tag_ACAMERA_SENSOR_EXPOSURE_TIME: acamera_metadata_tag = 917504;
18413 pub const acamera_metadata_tag_ACAMERA_SENSOR_FRAME_DURATION: acamera_metadata_tag = 917505;
18414 pub const acamera_metadata_tag_ACAMERA_SENSOR_SENSITIVITY: acamera_metadata_tag = 917506;
18415 pub const acamera_metadata_tag_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1: acamera_metadata_tag = 917507;
18416 pub const acamera_metadata_tag_ACAMERA_SENSOR_REFERENCE_ILLUMINANT2: acamera_metadata_tag = 917508;
18417 pub const acamera_metadata_tag_ACAMERA_SENSOR_CALIBRATION_TRANSFORM1: acamera_metadata_tag = 917509;
18418 pub const acamera_metadata_tag_ACAMERA_SENSOR_CALIBRATION_TRANSFORM2: acamera_metadata_tag = 917510;
18419 pub const acamera_metadata_tag_ACAMERA_SENSOR_COLOR_TRANSFORM1: acamera_metadata_tag = 917511;
18420 pub const acamera_metadata_tag_ACAMERA_SENSOR_COLOR_TRANSFORM2: acamera_metadata_tag = 917512;
18421 pub const acamera_metadata_tag_ACAMERA_SENSOR_FORWARD_MATRIX1: acamera_metadata_tag = 917513;
18422 pub const acamera_metadata_tag_ACAMERA_SENSOR_FORWARD_MATRIX2: acamera_metadata_tag = 917514;
18423 pub const acamera_metadata_tag_ACAMERA_SENSOR_BLACK_LEVEL_PATTERN: acamera_metadata_tag = 917516;
18424 pub const acamera_metadata_tag_ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY: acamera_metadata_tag = 917517;
18425 pub const acamera_metadata_tag_ACAMERA_SENSOR_ORIENTATION: acamera_metadata_tag = 917518;
18426 pub const acamera_metadata_tag_ACAMERA_SENSOR_TIMESTAMP: acamera_metadata_tag = 917520;
18427 pub const acamera_metadata_tag_ACAMERA_SENSOR_NEUTRAL_COLOR_POINT: acamera_metadata_tag = 917522;
18428 pub const acamera_metadata_tag_ACAMERA_SENSOR_NOISE_PROFILE: acamera_metadata_tag = 917523;
18429 pub const acamera_metadata_tag_ACAMERA_SENSOR_GREEN_SPLIT: acamera_metadata_tag = 917526;
18430 pub const acamera_metadata_tag_ACAMERA_SENSOR_TEST_PATTERN_DATA: acamera_metadata_tag = 917527;
18431 pub const acamera_metadata_tag_ACAMERA_SENSOR_TEST_PATTERN_MODE: acamera_metadata_tag = 917528;
18432 pub const acamera_metadata_tag_ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES: acamera_metadata_tag =
18433     917529;
18434 pub const acamera_metadata_tag_ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW: acamera_metadata_tag = 917530;
18435 pub const acamera_metadata_tag_ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS: acamera_metadata_tag = 917531;
18436 pub const acamera_metadata_tag_ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL: acamera_metadata_tag = 917532;
18437 pub const acamera_metadata_tag_ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL: acamera_metadata_tag = 917533;
18438 pub const acamera_metadata_tag_ACAMERA_SENSOR_PIXEL_MODE: acamera_metadata_tag = 917536;
18439 pub const acamera_metadata_tag_ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED: acamera_metadata_tag =
18440     917537;
18441 pub const acamera_metadata_tag_ACAMERA_SENSOR_END: acamera_metadata_tag = 917538;
18442 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE: acamera_metadata_tag = 983040;
18443 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE: acamera_metadata_tag = 983041;
18444 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: acamera_metadata_tag =
18445     983042;
18446 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE: acamera_metadata_tag =
18447     983043;
18448 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION: acamera_metadata_tag =
18449     983044;
18450 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PHYSICAL_SIZE: acamera_metadata_tag = 983045;
18451 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE: acamera_metadata_tag = 983046;
18452 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_WHITE_LEVEL: acamera_metadata_tag = 983047;
18453 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE: acamera_metadata_tag = 983048;
18454 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED: acamera_metadata_tag =
18455     983049;
18456 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE:
18457     acamera_metadata_tag = 983050;
18458 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION:
18459     acamera_metadata_tag = 983051;
18460 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION:
18461     acamera_metadata_tag = 983052;
18462 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION : acamera_metadata_tag = 983053 ;
18463 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_BINNING_FACTOR: acamera_metadata_tag = 983054;
18464 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_END: acamera_metadata_tag = 983055;
18465 pub const acamera_metadata_tag_ACAMERA_SHADING_MODE: acamera_metadata_tag = 1048576;
18466 pub const acamera_metadata_tag_ACAMERA_SHADING_AVAILABLE_MODES: acamera_metadata_tag = 1048578;
18467 pub const acamera_metadata_tag_ACAMERA_SHADING_END: acamera_metadata_tag = 1048579;
18468 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_DETECT_MODE: acamera_metadata_tag = 1114112;
18469 pub const acamera_metadata_tag_ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE: acamera_metadata_tag =
18470     1114115;
18471 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_IDS: acamera_metadata_tag = 1114116;
18472 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_LANDMARKS: acamera_metadata_tag = 1114117;
18473 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_RECTANGLES: acamera_metadata_tag = 1114118;
18474 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_SCORES: acamera_metadata_tag = 1114119;
18475 pub const acamera_metadata_tag_ACAMERA_STATISTICS_LENS_SHADING_MAP: acamera_metadata_tag = 1114123;
18476 pub const acamera_metadata_tag_ACAMERA_STATISTICS_SCENE_FLICKER: acamera_metadata_tag = 1114126;
18477 pub const acamera_metadata_tag_ACAMERA_STATISTICS_HOT_PIXEL_MAP: acamera_metadata_tag = 1114127;
18478 pub const acamera_metadata_tag_ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE: acamera_metadata_tag =
18479     1114128;
18480 pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_DATA_MODE: acamera_metadata_tag = 1114129;
18481 pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_TIMESTAMPS: acamera_metadata_tag = 1114130;
18482 pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_X_SHIFTS: acamera_metadata_tag = 1114131;
18483 pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_Y_SHIFTS: acamera_metadata_tag = 1114132;
18484 pub const acamera_metadata_tag_ACAMERA_STATISTICS_END: acamera_metadata_tag = 1114133;
18485 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES:
18486     acamera_metadata_tag = 1179648;
18487 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_MAX_FACE_COUNT: acamera_metadata_tag =
18488     1179650;
18489 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES:
18490     acamera_metadata_tag = 1179654;
18491 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES:
18492     acamera_metadata_tag = 1179655;
18493 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES:
18494     acamera_metadata_tag = 1179656;
18495 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_END: acamera_metadata_tag = 1179657;
18496 pub const acamera_metadata_tag_ACAMERA_TONEMAP_CURVE_BLUE: acamera_metadata_tag = 1245184;
18497 pub const acamera_metadata_tag_ACAMERA_TONEMAP_CURVE_GREEN: acamera_metadata_tag = 1245185;
18498 pub const acamera_metadata_tag_ACAMERA_TONEMAP_CURVE_RED: acamera_metadata_tag = 1245186;
18499 pub const acamera_metadata_tag_ACAMERA_TONEMAP_MODE: acamera_metadata_tag = 1245187;
18500 pub const acamera_metadata_tag_ACAMERA_TONEMAP_MAX_CURVE_POINTS: acamera_metadata_tag = 1245188;
18501 pub const acamera_metadata_tag_ACAMERA_TONEMAP_AVAILABLE_TONE_MAP_MODES: acamera_metadata_tag =
18502     1245189;
18503 pub const acamera_metadata_tag_ACAMERA_TONEMAP_GAMMA: acamera_metadata_tag = 1245190;
18504 pub const acamera_metadata_tag_ACAMERA_TONEMAP_PRESET_CURVE: acamera_metadata_tag = 1245191;
18505 pub const acamera_metadata_tag_ACAMERA_TONEMAP_END: acamera_metadata_tag = 1245192;
18506 pub const acamera_metadata_tag_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL: acamera_metadata_tag =
18507     1376256;
18508 pub const acamera_metadata_tag_ACAMERA_INFO_VERSION: acamera_metadata_tag = 1376257;
18509 pub const acamera_metadata_tag_ACAMERA_INFO_END: acamera_metadata_tag = 1376258;
18510 pub const acamera_metadata_tag_ACAMERA_BLACK_LEVEL_LOCK: acamera_metadata_tag = 1441792;
18511 pub const acamera_metadata_tag_ACAMERA_BLACK_LEVEL_END: acamera_metadata_tag = 1441793;
18512 pub const acamera_metadata_tag_ACAMERA_SYNC_FRAME_NUMBER: acamera_metadata_tag = 1507328;
18513 pub const acamera_metadata_tag_ACAMERA_SYNC_MAX_LATENCY: acamera_metadata_tag = 1507329;
18514 pub const acamera_metadata_tag_ACAMERA_SYNC_END: acamera_metadata_tag = 1507330;
18515 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS:
18516     acamera_metadata_tag = 1638401;
18517 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS:
18518     acamera_metadata_tag = 1638402;
18519 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
18520     1638403;
18521 pub const acamera_metadata_tag_ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE: acamera_metadata_tag = 1638404;
18522 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS:
18523     acamera_metadata_tag = 1638405;
18524 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS:
18525     acamera_metadata_tag = 1638406;
18526 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS:
18527     acamera_metadata_tag = 1638407;
18528 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS:
18529     acamera_metadata_tag = 1638408;
18530 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION : acamera_metadata_tag = 1638409 ;
18531 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION : acamera_metadata_tag = 1638410 ;
18532 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION:
18533     acamera_metadata_tag = 1638411;
18534 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION : acamera_metadata_tag = 1638412 ;
18535 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION : acamera_metadata_tag = 1638413 ;
18536 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION : acamera_metadata_tag = 1638414 ;
18537 pub const acamera_metadata_tag_ACAMERA_DEPTH_END: acamera_metadata_tag = 1638415;
18538 pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS: acamera_metadata_tag =
18539     1703936;
18540 pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: acamera_metadata_tag =
18541     1703937;
18542 pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID:
18543     acamera_metadata_tag = 1703938;
18544 pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_END: acamera_metadata_tag = 1703939;
18545 pub const acamera_metadata_tag_ACAMERA_DISTORTION_CORRECTION_MODE: acamera_metadata_tag = 1769472;
18546 pub const acamera_metadata_tag_ACAMERA_DISTORTION_CORRECTION_AVAILABLE_MODES: acamera_metadata_tag =
18547     1769473;
18548 pub const acamera_metadata_tag_ACAMERA_DISTORTION_CORRECTION_END: acamera_metadata_tag = 1769474;
18549 pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS:
18550     acamera_metadata_tag = 1835008;
18551 pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS:
18552     acamera_metadata_tag = 1835009;
18553 pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS: acamera_metadata_tag =
18554     1835010;
18555 pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION : acamera_metadata_tag = 1835011 ;
18556 pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION : acamera_metadata_tag = 1835012 ;
18557 pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION:
18558     acamera_metadata_tag = 1835013;
18559 pub const acamera_metadata_tag_ACAMERA_HEIC_END: acamera_metadata_tag = 1835014;
18560 pub type acamera_metadata_tag = ::std::os::raw::c_uint;
18561 pub use self::acamera_metadata_tag as acamera_metadata_tag_t;
18562 pub const acamera_metadata_enum_acamera_color_correction_mode_ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX : acamera_metadata_enum_acamera_color_correction_mode = 0 ;
18563 pub const acamera_metadata_enum_acamera_color_correction_mode_ACAMERA_COLOR_CORRECTION_MODE_FAST:
18564     acamera_metadata_enum_acamera_color_correction_mode = 1;
18565 pub const acamera_metadata_enum_acamera_color_correction_mode_ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_color_correction_mode = 2 ;
18566 pub type acamera_metadata_enum_acamera_color_correction_mode = ::std::os::raw::c_uint;
18567 pub use self::acamera_metadata_enum_acamera_color_correction_mode as acamera_metadata_enum_android_color_correction_mode_t;
18568 pub const acamera_metadata_enum_acamera_color_correction_aberration_mode_ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_OFF : acamera_metadata_enum_acamera_color_correction_aberration_mode = 0 ;
18569 pub const acamera_metadata_enum_acamera_color_correction_aberration_mode_ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_FAST : acamera_metadata_enum_acamera_color_correction_aberration_mode = 1 ;
18570 pub const acamera_metadata_enum_acamera_color_correction_aberration_mode_ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_color_correction_aberration_mode = 2 ;
18571 pub type acamera_metadata_enum_acamera_color_correction_aberration_mode = ::std::os::raw::c_uint;
18572 pub use self::acamera_metadata_enum_acamera_color_correction_aberration_mode as acamera_metadata_enum_android_color_correction_aberration_mode_t;
18573 pub const acamera_metadata_enum_acamera_control_ae_antibanding_mode_ACAMERA_CONTROL_AE_ANTIBANDING_MODE_OFF : acamera_metadata_enum_acamera_control_ae_antibanding_mode = 0 ;
18574 pub const acamera_metadata_enum_acamera_control_ae_antibanding_mode_ACAMERA_CONTROL_AE_ANTIBANDING_MODE_50HZ : acamera_metadata_enum_acamera_control_ae_antibanding_mode = 1 ;
18575 pub const acamera_metadata_enum_acamera_control_ae_antibanding_mode_ACAMERA_CONTROL_AE_ANTIBANDING_MODE_60HZ : acamera_metadata_enum_acamera_control_ae_antibanding_mode = 2 ;
18576 pub const acamera_metadata_enum_acamera_control_ae_antibanding_mode_ACAMERA_CONTROL_AE_ANTIBANDING_MODE_AUTO : acamera_metadata_enum_acamera_control_ae_antibanding_mode = 3 ;
18577 pub type acamera_metadata_enum_acamera_control_ae_antibanding_mode = ::std::os::raw::c_uint;
18578 pub use self::acamera_metadata_enum_acamera_control_ae_antibanding_mode as acamera_metadata_enum_android_control_ae_antibanding_mode_t;
18579 pub const acamera_metadata_enum_acamera_control_ae_lock_ACAMERA_CONTROL_AE_LOCK_OFF:
18580     acamera_metadata_enum_acamera_control_ae_lock = 0;
18581 pub const acamera_metadata_enum_acamera_control_ae_lock_ACAMERA_CONTROL_AE_LOCK_ON:
18582     acamera_metadata_enum_acamera_control_ae_lock = 1;
18583 pub type acamera_metadata_enum_acamera_control_ae_lock = ::std::os::raw::c_uint;
18584 pub use self::acamera_metadata_enum_acamera_control_ae_lock as acamera_metadata_enum_android_control_ae_lock_t;
18585 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_OFF:
18586     acamera_metadata_enum_acamera_control_ae_mode = 0;
18587 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON:
18588     acamera_metadata_enum_acamera_control_ae_mode = 1;
18589 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH:
18590     acamera_metadata_enum_acamera_control_ae_mode = 2;
18591 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
18592     acamera_metadata_enum_acamera_control_ae_mode = 3;
18593 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE : acamera_metadata_enum_acamera_control_ae_mode = 4 ;
18594 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH : acamera_metadata_enum_acamera_control_ae_mode = 5 ;
18595 pub type acamera_metadata_enum_acamera_control_ae_mode = ::std::os::raw::c_uint;
18596 pub use self::acamera_metadata_enum_acamera_control_ae_mode as acamera_metadata_enum_android_control_ae_mode_t;
18597 pub const acamera_metadata_enum_acamera_control_ae_precapture_trigger_ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE : acamera_metadata_enum_acamera_control_ae_precapture_trigger = 0 ;
18598 pub const acamera_metadata_enum_acamera_control_ae_precapture_trigger_ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START : acamera_metadata_enum_acamera_control_ae_precapture_trigger = 1 ;
18599 pub const acamera_metadata_enum_acamera_control_ae_precapture_trigger_ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL : acamera_metadata_enum_acamera_control_ae_precapture_trigger = 2 ;
18600 pub type acamera_metadata_enum_acamera_control_ae_precapture_trigger = ::std::os::raw::c_uint;
18601 pub use self::acamera_metadata_enum_acamera_control_ae_precapture_trigger as acamera_metadata_enum_android_control_ae_precapture_trigger_t;
18602 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_OFF:
18603     acamera_metadata_enum_acamera_control_af_mode = 0;
18604 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_AUTO:
18605     acamera_metadata_enum_acamera_control_af_mode = 1;
18606 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_MACRO:
18607     acamera_metadata_enum_acamera_control_af_mode = 2;
18608 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
18609     acamera_metadata_enum_acamera_control_af_mode = 3;
18610 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE : acamera_metadata_enum_acamera_control_af_mode = 4 ;
18611 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_EDOF:
18612     acamera_metadata_enum_acamera_control_af_mode = 5;
18613 pub type acamera_metadata_enum_acamera_control_af_mode = ::std::os::raw::c_uint;
18614 pub use self::acamera_metadata_enum_acamera_control_af_mode as acamera_metadata_enum_android_control_af_mode_t;
18615 pub const acamera_metadata_enum_acamera_control_af_trigger_ACAMERA_CONTROL_AF_TRIGGER_IDLE:
18616     acamera_metadata_enum_acamera_control_af_trigger = 0;
18617 pub const acamera_metadata_enum_acamera_control_af_trigger_ACAMERA_CONTROL_AF_TRIGGER_START:
18618     acamera_metadata_enum_acamera_control_af_trigger = 1;
18619 pub const acamera_metadata_enum_acamera_control_af_trigger_ACAMERA_CONTROL_AF_TRIGGER_CANCEL:
18620     acamera_metadata_enum_acamera_control_af_trigger = 2;
18621 pub type acamera_metadata_enum_acamera_control_af_trigger = ::std::os::raw::c_uint;
18622 pub use self::acamera_metadata_enum_acamera_control_af_trigger as acamera_metadata_enum_android_control_af_trigger_t;
18623 pub const acamera_metadata_enum_acamera_control_awb_lock_ACAMERA_CONTROL_AWB_LOCK_OFF:
18624     acamera_metadata_enum_acamera_control_awb_lock = 0;
18625 pub const acamera_metadata_enum_acamera_control_awb_lock_ACAMERA_CONTROL_AWB_LOCK_ON:
18626     acamera_metadata_enum_acamera_control_awb_lock = 1;
18627 pub type acamera_metadata_enum_acamera_control_awb_lock = ::std::os::raw::c_uint;
18628 pub use self::acamera_metadata_enum_acamera_control_awb_lock as acamera_metadata_enum_android_control_awb_lock_t;
18629 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_OFF:
18630     acamera_metadata_enum_acamera_control_awb_mode = 0;
18631 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_AUTO:
18632     acamera_metadata_enum_acamera_control_awb_mode = 1;
18633 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_INCANDESCENT:
18634     acamera_metadata_enum_acamera_control_awb_mode = 2;
18635 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_FLUORESCENT:
18636     acamera_metadata_enum_acamera_control_awb_mode = 3;
18637 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT : acamera_metadata_enum_acamera_control_awb_mode = 4 ;
18638 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_DAYLIGHT:
18639     acamera_metadata_enum_acamera_control_awb_mode = 5;
18640 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT : acamera_metadata_enum_acamera_control_awb_mode = 6 ;
18641 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_TWILIGHT:
18642     acamera_metadata_enum_acamera_control_awb_mode = 7;
18643 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_SHADE:
18644     acamera_metadata_enum_acamera_control_awb_mode = 8;
18645 pub type acamera_metadata_enum_acamera_control_awb_mode = ::std::os::raw::c_uint;
18646 pub use self::acamera_metadata_enum_acamera_control_awb_mode as acamera_metadata_enum_android_control_awb_mode_t;
18647 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM : acamera_metadata_enum_acamera_control_capture_intent = 0 ;
18648 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW : acamera_metadata_enum_acamera_control_capture_intent = 1 ;
18649 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE : acamera_metadata_enum_acamera_control_capture_intent = 2 ;
18650 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD : acamera_metadata_enum_acamera_control_capture_intent = 3 ;
18651 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT : acamera_metadata_enum_acamera_control_capture_intent = 4 ;
18652 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG : acamera_metadata_enum_acamera_control_capture_intent = 5 ;
18653 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL : acamera_metadata_enum_acamera_control_capture_intent = 6 ;
18654 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_MOTION_TRACKING : acamera_metadata_enum_acamera_control_capture_intent = 7 ;
18655 pub type acamera_metadata_enum_acamera_control_capture_intent = ::std::os::raw::c_uint;
18656 pub use self::acamera_metadata_enum_acamera_control_capture_intent as acamera_metadata_enum_android_control_capture_intent_t;
18657 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_OFF:
18658     acamera_metadata_enum_acamera_control_effect_mode = 0;
18659 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_MONO:
18660     acamera_metadata_enum_acamera_control_effect_mode = 1;
18661 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE:
18662     acamera_metadata_enum_acamera_control_effect_mode = 2;
18663 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE:
18664     acamera_metadata_enum_acamera_control_effect_mode = 3;
18665 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_SEPIA:
18666     acamera_metadata_enum_acamera_control_effect_mode = 4;
18667 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE : acamera_metadata_enum_acamera_control_effect_mode = 5 ;
18668 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD : acamera_metadata_enum_acamera_control_effect_mode = 6 ;
18669 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD : acamera_metadata_enum_acamera_control_effect_mode = 7 ;
18670 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_AQUA:
18671     acamera_metadata_enum_acamera_control_effect_mode = 8;
18672 pub type acamera_metadata_enum_acamera_control_effect_mode = ::std::os::raw::c_uint;
18673 pub use self::acamera_metadata_enum_acamera_control_effect_mode as acamera_metadata_enum_android_control_effect_mode_t;
18674 pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_OFF:
18675     acamera_metadata_enum_acamera_control_mode = 0;
18676 pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_AUTO:
18677     acamera_metadata_enum_acamera_control_mode = 1;
18678 pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_USE_SCENE_MODE:
18679     acamera_metadata_enum_acamera_control_mode = 2;
18680 pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_OFF_KEEP_STATE:
18681     acamera_metadata_enum_acamera_control_mode = 3;
18682 pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_USE_EXTENDED_SCENE_MODE : acamera_metadata_enum_acamera_control_mode = 4 ;
18683 pub type acamera_metadata_enum_acamera_control_mode = ::std::os::raw::c_uint;
18684 pub use self::acamera_metadata_enum_acamera_control_mode as acamera_metadata_enum_android_control_mode_t;
18685 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_DISABLED:
18686     acamera_metadata_enum_acamera_control_scene_mode = 0;
18687 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY : acamera_metadata_enum_acamera_control_scene_mode = 1 ;
18688 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_ACTION:
18689     acamera_metadata_enum_acamera_control_scene_mode = 2;
18690 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_PORTRAIT:
18691     acamera_metadata_enum_acamera_control_scene_mode = 3;
18692 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE:
18693     acamera_metadata_enum_acamera_control_scene_mode = 4;
18694 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_NIGHT:
18695     acamera_metadata_enum_acamera_control_scene_mode = 5;
18696 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT : acamera_metadata_enum_acamera_control_scene_mode = 6 ;
18697 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_THEATRE:
18698     acamera_metadata_enum_acamera_control_scene_mode = 7;
18699 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_BEACH:
18700     acamera_metadata_enum_acamera_control_scene_mode = 8;
18701 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_SNOW:
18702     acamera_metadata_enum_acamera_control_scene_mode = 9;
18703 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_SUNSET:
18704     acamera_metadata_enum_acamera_control_scene_mode = 10;
18705 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO : acamera_metadata_enum_acamera_control_scene_mode = 11 ;
18706 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_FIREWORKS:
18707     acamera_metadata_enum_acamera_control_scene_mode = 12;
18708 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_SPORTS:
18709     acamera_metadata_enum_acamera_control_scene_mode = 13;
18710 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_PARTY:
18711     acamera_metadata_enum_acamera_control_scene_mode = 14;
18712 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT : acamera_metadata_enum_acamera_control_scene_mode = 15 ;
18713 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_BARCODE:
18714     acamera_metadata_enum_acamera_control_scene_mode = 16;
18715 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_HDR:
18716     acamera_metadata_enum_acamera_control_scene_mode = 18;
18717 pub type acamera_metadata_enum_acamera_control_scene_mode = ::std::os::raw::c_uint;
18718 pub use self::acamera_metadata_enum_acamera_control_scene_mode as acamera_metadata_enum_android_control_scene_mode_t;
18719 pub const acamera_metadata_enum_acamera_control_video_stabilization_mode_ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_OFF : acamera_metadata_enum_acamera_control_video_stabilization_mode = 0 ;
18720 pub const acamera_metadata_enum_acamera_control_video_stabilization_mode_ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_ON : acamera_metadata_enum_acamera_control_video_stabilization_mode = 1 ;
18721 pub type acamera_metadata_enum_acamera_control_video_stabilization_mode = ::std::os::raw::c_uint;
18722 pub use self::acamera_metadata_enum_acamera_control_video_stabilization_mode as acamera_metadata_enum_android_control_video_stabilization_mode_t;
18723 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_INACTIVE:
18724     acamera_metadata_enum_acamera_control_ae_state = 0;
18725 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_SEARCHING:
18726     acamera_metadata_enum_acamera_control_ae_state = 1;
18727 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_CONVERGED:
18728     acamera_metadata_enum_acamera_control_ae_state = 2;
18729 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_LOCKED:
18730     acamera_metadata_enum_acamera_control_ae_state = 3;
18731 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED:
18732     acamera_metadata_enum_acamera_control_ae_state = 4;
18733 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_PRECAPTURE:
18734     acamera_metadata_enum_acamera_control_ae_state = 5;
18735 pub type acamera_metadata_enum_acamera_control_ae_state = ::std::os::raw::c_uint;
18736 pub use self::acamera_metadata_enum_acamera_control_ae_state as acamera_metadata_enum_android_control_ae_state_t;
18737 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_INACTIVE:
18738     acamera_metadata_enum_acamera_control_af_state = 0;
18739 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN:
18740     acamera_metadata_enum_acamera_control_af_state = 1;
18741 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED : acamera_metadata_enum_acamera_control_af_state = 2 ;
18742 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN:
18743     acamera_metadata_enum_acamera_control_af_state = 3;
18744 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED:
18745     acamera_metadata_enum_acamera_control_af_state = 4;
18746 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED : acamera_metadata_enum_acamera_control_af_state = 5 ;
18747 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED : acamera_metadata_enum_acamera_control_af_state = 6 ;
18748 pub type acamera_metadata_enum_acamera_control_af_state = ::std::os::raw::c_uint;
18749 pub use self::acamera_metadata_enum_acamera_control_af_state as acamera_metadata_enum_android_control_af_state_t;
18750 pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_INACTIVE:
18751     acamera_metadata_enum_acamera_control_awb_state = 0;
18752 pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_SEARCHING:
18753     acamera_metadata_enum_acamera_control_awb_state = 1;
18754 pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_CONVERGED:
18755     acamera_metadata_enum_acamera_control_awb_state = 2;
18756 pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_LOCKED:
18757     acamera_metadata_enum_acamera_control_awb_state = 3;
18758 pub type acamera_metadata_enum_acamera_control_awb_state = ::std::os::raw::c_uint;
18759 pub use self::acamera_metadata_enum_acamera_control_awb_state as acamera_metadata_enum_android_control_awb_state_t;
18760 pub const acamera_metadata_enum_acamera_control_ae_lock_available_ACAMERA_CONTROL_AE_LOCK_AVAILABLE_FALSE : acamera_metadata_enum_acamera_control_ae_lock_available = 0 ;
18761 pub const acamera_metadata_enum_acamera_control_ae_lock_available_ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE : acamera_metadata_enum_acamera_control_ae_lock_available = 1 ;
18762 pub type acamera_metadata_enum_acamera_control_ae_lock_available = ::std::os::raw::c_uint;
18763 pub use self::acamera_metadata_enum_acamera_control_ae_lock_available as acamera_metadata_enum_android_control_ae_lock_available_t;
18764 pub const acamera_metadata_enum_acamera_control_awb_lock_available_ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_FALSE : acamera_metadata_enum_acamera_control_awb_lock_available = 0 ;
18765 pub const acamera_metadata_enum_acamera_control_awb_lock_available_ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_TRUE : acamera_metadata_enum_acamera_control_awb_lock_available = 1 ;
18766 pub type acamera_metadata_enum_acamera_control_awb_lock_available = ::std::os::raw::c_uint;
18767 pub use self::acamera_metadata_enum_acamera_control_awb_lock_available as acamera_metadata_enum_android_control_awb_lock_available_t;
18768 pub const acamera_metadata_enum_acamera_control_enable_zsl_ACAMERA_CONTROL_ENABLE_ZSL_FALSE:
18769     acamera_metadata_enum_acamera_control_enable_zsl = 0;
18770 pub const acamera_metadata_enum_acamera_control_enable_zsl_ACAMERA_CONTROL_ENABLE_ZSL_TRUE:
18771     acamera_metadata_enum_acamera_control_enable_zsl = 1;
18772 pub type acamera_metadata_enum_acamera_control_enable_zsl = ::std::os::raw::c_uint;
18773 pub use self::acamera_metadata_enum_acamera_control_enable_zsl as acamera_metadata_enum_android_control_enable_zsl_t;
18774 pub const acamera_metadata_enum_acamera_control_af_scene_change_ACAMERA_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED : acamera_metadata_enum_acamera_control_af_scene_change = 0 ;
18775 pub const acamera_metadata_enum_acamera_control_af_scene_change_ACAMERA_CONTROL_AF_SCENE_CHANGE_DETECTED : acamera_metadata_enum_acamera_control_af_scene_change = 1 ;
18776 pub type acamera_metadata_enum_acamera_control_af_scene_change = ::std::os::raw::c_uint;
18777 pub use self::acamera_metadata_enum_acamera_control_af_scene_change as acamera_metadata_enum_android_control_af_scene_change_t;
18778 pub const acamera_metadata_enum_acamera_control_extended_scene_mode_ACAMERA_CONTROL_EXTENDED_SCENE_MODE_DISABLED : acamera_metadata_enum_acamera_control_extended_scene_mode = 0 ;
18779 pub const acamera_metadata_enum_acamera_control_extended_scene_mode_ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE : acamera_metadata_enum_acamera_control_extended_scene_mode = 1 ;
18780 pub const acamera_metadata_enum_acamera_control_extended_scene_mode_ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS : acamera_metadata_enum_acamera_control_extended_scene_mode = 2 ;
18781 pub type acamera_metadata_enum_acamera_control_extended_scene_mode = ::std::os::raw::c_uint;
18782 pub use self::acamera_metadata_enum_acamera_control_extended_scene_mode as acamera_metadata_enum_android_control_extended_scene_mode_t;
18783 pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_OFF:
18784     acamera_metadata_enum_acamera_edge_mode = 0;
18785 pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_FAST:
18786     acamera_metadata_enum_acamera_edge_mode = 1;
18787 pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_HIGH_QUALITY:
18788     acamera_metadata_enum_acamera_edge_mode = 2;
18789 pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG:
18790     acamera_metadata_enum_acamera_edge_mode = 3;
18791 pub type acamera_metadata_enum_acamera_edge_mode = ::std::os::raw::c_uint;
18792 pub use self::acamera_metadata_enum_acamera_edge_mode as acamera_metadata_enum_android_edge_mode_t;
18793 pub const acamera_metadata_enum_acamera_flash_mode_ACAMERA_FLASH_MODE_OFF:
18794     acamera_metadata_enum_acamera_flash_mode = 0;
18795 pub const acamera_metadata_enum_acamera_flash_mode_ACAMERA_FLASH_MODE_SINGLE:
18796     acamera_metadata_enum_acamera_flash_mode = 1;
18797 pub const acamera_metadata_enum_acamera_flash_mode_ACAMERA_FLASH_MODE_TORCH:
18798     acamera_metadata_enum_acamera_flash_mode = 2;
18799 pub type acamera_metadata_enum_acamera_flash_mode = ::std::os::raw::c_uint;
18800 pub use self::acamera_metadata_enum_acamera_flash_mode as acamera_metadata_enum_android_flash_mode_t;
18801 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_UNAVAILABLE:
18802     acamera_metadata_enum_acamera_flash_state = 0;
18803 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_CHARGING:
18804     acamera_metadata_enum_acamera_flash_state = 1;
18805 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_READY:
18806     acamera_metadata_enum_acamera_flash_state = 2;
18807 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_FIRED:
18808     acamera_metadata_enum_acamera_flash_state = 3;
18809 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_PARTIAL:
18810     acamera_metadata_enum_acamera_flash_state = 4;
18811 pub type acamera_metadata_enum_acamera_flash_state = ::std::os::raw::c_uint;
18812 pub use self::acamera_metadata_enum_acamera_flash_state as acamera_metadata_enum_android_flash_state_t;
18813 pub const acamera_metadata_enum_acamera_flash_info_available_ACAMERA_FLASH_INFO_AVAILABLE_FALSE:
18814     acamera_metadata_enum_acamera_flash_info_available = 0;
18815 pub const acamera_metadata_enum_acamera_flash_info_available_ACAMERA_FLASH_INFO_AVAILABLE_TRUE:
18816     acamera_metadata_enum_acamera_flash_info_available = 1;
18817 pub type acamera_metadata_enum_acamera_flash_info_available = ::std::os::raw::c_uint;
18818 pub use self::acamera_metadata_enum_acamera_flash_info_available as acamera_metadata_enum_android_flash_info_available_t;
18819 pub const acamera_metadata_enum_acamera_hot_pixel_mode_ACAMERA_HOT_PIXEL_MODE_OFF:
18820     acamera_metadata_enum_acamera_hot_pixel_mode = 0;
18821 pub const acamera_metadata_enum_acamera_hot_pixel_mode_ACAMERA_HOT_PIXEL_MODE_FAST:
18822     acamera_metadata_enum_acamera_hot_pixel_mode = 1;
18823 pub const acamera_metadata_enum_acamera_hot_pixel_mode_ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY:
18824     acamera_metadata_enum_acamera_hot_pixel_mode = 2;
18825 pub type acamera_metadata_enum_acamera_hot_pixel_mode = ::std::os::raw::c_uint;
18826 pub use self::acamera_metadata_enum_acamera_hot_pixel_mode as acamera_metadata_enum_android_hot_pixel_mode_t;
18827 pub const acamera_metadata_enum_acamera_lens_optical_stabilization_mode_ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_OFF : acamera_metadata_enum_acamera_lens_optical_stabilization_mode = 0 ;
18828 pub const acamera_metadata_enum_acamera_lens_optical_stabilization_mode_ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_ON : acamera_metadata_enum_acamera_lens_optical_stabilization_mode = 1 ;
18829 pub type acamera_metadata_enum_acamera_lens_optical_stabilization_mode = ::std::os::raw::c_uint;
18830 pub use self::acamera_metadata_enum_acamera_lens_optical_stabilization_mode as acamera_metadata_enum_android_lens_optical_stabilization_mode_t;
18831 pub const acamera_metadata_enum_acamera_lens_facing_ACAMERA_LENS_FACING_FRONT:
18832     acamera_metadata_enum_acamera_lens_facing = 0;
18833 pub const acamera_metadata_enum_acamera_lens_facing_ACAMERA_LENS_FACING_BACK:
18834     acamera_metadata_enum_acamera_lens_facing = 1;
18835 pub const acamera_metadata_enum_acamera_lens_facing_ACAMERA_LENS_FACING_EXTERNAL:
18836     acamera_metadata_enum_acamera_lens_facing = 2;
18837 pub type acamera_metadata_enum_acamera_lens_facing = ::std::os::raw::c_uint;
18838 pub use self::acamera_metadata_enum_acamera_lens_facing as acamera_metadata_enum_android_lens_facing_t;
18839 pub const acamera_metadata_enum_acamera_lens_state_ACAMERA_LENS_STATE_STATIONARY:
18840     acamera_metadata_enum_acamera_lens_state = 0;
18841 pub const acamera_metadata_enum_acamera_lens_state_ACAMERA_LENS_STATE_MOVING:
18842     acamera_metadata_enum_acamera_lens_state = 1;
18843 pub type acamera_metadata_enum_acamera_lens_state = ::std::os::raw::c_uint;
18844 pub use self::acamera_metadata_enum_acamera_lens_state as acamera_metadata_enum_android_lens_state_t;
18845 pub const acamera_metadata_enum_acamera_lens_pose_reference_ACAMERA_LENS_POSE_REFERENCE_PRIMARY_CAMERA : acamera_metadata_enum_acamera_lens_pose_reference = 0 ;
18846 pub const acamera_metadata_enum_acamera_lens_pose_reference_ACAMERA_LENS_POSE_REFERENCE_GYROSCOPE : acamera_metadata_enum_acamera_lens_pose_reference = 1 ;
18847 pub const acamera_metadata_enum_acamera_lens_pose_reference_ACAMERA_LENS_POSE_REFERENCE_UNDEFINED : acamera_metadata_enum_acamera_lens_pose_reference = 2 ;
18848 pub type acamera_metadata_enum_acamera_lens_pose_reference = ::std::os::raw::c_uint;
18849 pub use self::acamera_metadata_enum_acamera_lens_pose_reference as acamera_metadata_enum_android_lens_pose_reference_t;
18850 pub const acamera_metadata_enum_acamera_lens_info_focus_distance_calibration_ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED : acamera_metadata_enum_acamera_lens_info_focus_distance_calibration = 0 ;
18851 pub const acamera_metadata_enum_acamera_lens_info_focus_distance_calibration_ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE : acamera_metadata_enum_acamera_lens_info_focus_distance_calibration = 1 ;
18852 pub const acamera_metadata_enum_acamera_lens_info_focus_distance_calibration_ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED : acamera_metadata_enum_acamera_lens_info_focus_distance_calibration = 2 ;
18853 pub type acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
18854     ::std::os::raw::c_uint;
18855 pub use self::acamera_metadata_enum_acamera_lens_info_focus_distance_calibration as acamera_metadata_enum_android_lens_info_focus_distance_calibration_t;
18856 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_OFF:
18857     acamera_metadata_enum_acamera_noise_reduction_mode = 0;
18858 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_FAST:
18859     acamera_metadata_enum_acamera_noise_reduction_mode = 1;
18860 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_noise_reduction_mode = 2 ;
18861 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_MINIMAL : acamera_metadata_enum_acamera_noise_reduction_mode = 3 ;
18862 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG : acamera_metadata_enum_acamera_noise_reduction_mode = 4 ;
18863 pub type acamera_metadata_enum_acamera_noise_reduction_mode = ::std::os::raw::c_uint;
18864 pub use self::acamera_metadata_enum_acamera_noise_reduction_mode as acamera_metadata_enum_android_noise_reduction_mode_t;
18865 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE : acamera_metadata_enum_acamera_request_available_capabilities = 0 ;
18866 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR : acamera_metadata_enum_acamera_request_available_capabilities = 1 ;
18867 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING : acamera_metadata_enum_acamera_request_available_capabilities = 2 ;
18868 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW : acamera_metadata_enum_acamera_request_available_capabilities = 3 ;
18869 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS : acamera_metadata_enum_acamera_request_available_capabilities = 5 ;
18870 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE : acamera_metadata_enum_acamera_request_available_capabilities = 6 ;
18871 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT : acamera_metadata_enum_acamera_request_available_capabilities = 8 ;
18872 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING : acamera_metadata_enum_acamera_request_available_capabilities = 10 ;
18873 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA : acamera_metadata_enum_acamera_request_available_capabilities = 11 ;
18874 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME : acamera_metadata_enum_acamera_request_available_capabilities = 12 ;
18875 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA : acamera_metadata_enum_acamera_request_available_capabilities = 13 ;
18876 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA : acamera_metadata_enum_acamera_request_available_capabilities = 14 ;
18877 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR : acamera_metadata_enum_acamera_request_available_capabilities = 16 ;
18878 pub type acamera_metadata_enum_acamera_request_available_capabilities = ::std::os::raw::c_uint;
18879 pub use self::acamera_metadata_enum_acamera_request_available_capabilities as acamera_metadata_enum_android_request_available_capabilities_t;
18880 pub const acamera_metadata_enum_acamera_scaler_available_stream_configurations_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT : acamera_metadata_enum_acamera_scaler_available_stream_configurations = 0 ;
18881 pub const acamera_metadata_enum_acamera_scaler_available_stream_configurations_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT : acamera_metadata_enum_acamera_scaler_available_stream_configurations = 1 ;
18882 pub type acamera_metadata_enum_acamera_scaler_available_stream_configurations =
18883     ::std::os::raw::c_uint;
18884 pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations as acamera_metadata_enum_android_scaler_available_stream_configurations_t;
18885 pub const acamera_metadata_enum_acamera_scaler_cropping_type_ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY : acamera_metadata_enum_acamera_scaler_cropping_type = 0 ;
18886 pub const acamera_metadata_enum_acamera_scaler_cropping_type_ACAMERA_SCALER_CROPPING_TYPE_FREEFORM : acamera_metadata_enum_acamera_scaler_cropping_type = 1 ;
18887 pub type acamera_metadata_enum_acamera_scaler_cropping_type = ::std::os::raw::c_uint;
18888 pub use self::acamera_metadata_enum_acamera_scaler_cropping_type as acamera_metadata_enum_android_scaler_cropping_type_t;
18889 pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 0 ;
18890 pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 1 ;
18891 pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 2 ;
18892 pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 3 ;
18893 pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 4 ;
18894 pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 5 ;
18895 pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 6 ;
18896 pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 7 ;
18897 pub const acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START : acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = 24 ;
18898 pub type acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
18899     ::std::os::raw::c_uint;
18900 pub use self::acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations as acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t;
18901 pub const acamera_metadata_enum_acamera_scaler_rotate_and_crop_ACAMERA_SCALER_ROTATE_AND_CROP_NONE : acamera_metadata_enum_acamera_scaler_rotate_and_crop = 0 ;
18902 pub const acamera_metadata_enum_acamera_scaler_rotate_and_crop_ACAMERA_SCALER_ROTATE_AND_CROP_90:
18903     acamera_metadata_enum_acamera_scaler_rotate_and_crop = 1;
18904 pub const acamera_metadata_enum_acamera_scaler_rotate_and_crop_ACAMERA_SCALER_ROTATE_AND_CROP_180 : acamera_metadata_enum_acamera_scaler_rotate_and_crop = 2 ;
18905 pub const acamera_metadata_enum_acamera_scaler_rotate_and_crop_ACAMERA_SCALER_ROTATE_AND_CROP_270 : acamera_metadata_enum_acamera_scaler_rotate_and_crop = 3 ;
18906 pub const acamera_metadata_enum_acamera_scaler_rotate_and_crop_ACAMERA_SCALER_ROTATE_AND_CROP_AUTO : acamera_metadata_enum_acamera_scaler_rotate_and_crop = 4 ;
18907 pub type acamera_metadata_enum_acamera_scaler_rotate_and_crop = ::std::os::raw::c_uint;
18908 pub use self::acamera_metadata_enum_acamera_scaler_rotate_and_crop as acamera_metadata_enum_android_scaler_rotate_and_crop_t;
18909 pub const acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations_ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_OUTPUT : acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations = 0 ;
18910 pub const acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations_ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_INPUT : acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations = 1 ;
18911 pub type acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations =
18912     ::std::os::raw::c_uint;
18913 pub use self::acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations as acamera_metadata_enum_android_scaler_physical_camera_multi_resolution_stream_configurations_t;
18914 pub const acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT : acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution = 0 ;
18915 pub const acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT : acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution = 1 ;
18916 pub type acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution =
18917     ::std::os::raw::c_uint;
18918 pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution as acamera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t;
18919 pub const acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported_ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE : acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported = 0 ;
18920 pub const acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported_ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE : acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported = 1 ;
18921 pub type acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported =
18922     ::std::os::raw::c_uint;
18923 pub use self::acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported as acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
18924 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 1 ;
18925 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 2 ;
18926 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 3 ;
18927 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLASH : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 4 ;
18928 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 9 ;
18929 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 10 ;
18930 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_SHADE : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 11 ;
18931 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 12 ;
18932 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 13 ;
18933 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 14 ;
18934 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 15 ;
18935 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 17 ;
18936 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 18 ;
18937 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 19 ;
18938 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D55 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 20 ;
18939 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D65 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 21 ;
18940 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D75 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 22 ;
18941 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D50 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 23 ;
18942 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 24 ;
18943 pub type acamera_metadata_enum_acamera_sensor_reference_illuminant1 = ::std::os::raw::c_uint;
18944 pub use self::acamera_metadata_enum_acamera_sensor_reference_illuminant1 as acamera_metadata_enum_android_sensor_reference_illuminant1_t;
18945 pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_OFF : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 0 ;
18946 pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 1 ;
18947 pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 2 ;
18948 pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 3 ;
18949 pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_PN9 : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 4 ;
18950 pub const acamera_metadata_enum_acamera_sensor_test_pattern_mode_ACAMERA_SENSOR_TEST_PATTERN_MODE_CUSTOM1 : acamera_metadata_enum_acamera_sensor_test_pattern_mode = 256 ;
18951 pub type acamera_metadata_enum_acamera_sensor_test_pattern_mode = ::std::os::raw::c_uint;
18952 pub use self::acamera_metadata_enum_acamera_sensor_test_pattern_mode as acamera_metadata_enum_android_sensor_test_pattern_mode_t;
18953 pub const acamera_metadata_enum_acamera_sensor_pixel_mode_ACAMERA_SENSOR_PIXEL_MODE_DEFAULT:
18954     acamera_metadata_enum_acamera_sensor_pixel_mode = 0;
18955 pub const acamera_metadata_enum_acamera_sensor_pixel_mode_ACAMERA_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION : acamera_metadata_enum_acamera_sensor_pixel_mode = 1 ;
18956 pub type acamera_metadata_enum_acamera_sensor_pixel_mode = ::std::os::raw::c_uint;
18957 pub use self::acamera_metadata_enum_acamera_sensor_pixel_mode as acamera_metadata_enum_android_sensor_pixel_mode_t;
18958 pub const acamera_metadata_enum_acamera_sensor_raw_binning_factor_used_ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_TRUE : acamera_metadata_enum_acamera_sensor_raw_binning_factor_used = 0 ;
18959 pub const acamera_metadata_enum_acamera_sensor_raw_binning_factor_used_ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_FALSE : acamera_metadata_enum_acamera_sensor_raw_binning_factor_used = 1 ;
18960 pub type acamera_metadata_enum_acamera_sensor_raw_binning_factor_used = ::std::os::raw::c_uint;
18961 pub use self::acamera_metadata_enum_acamera_sensor_raw_binning_factor_used as acamera_metadata_enum_android_sensor_raw_binning_factor_used_t;
18962 pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 0 ;
18963 pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 1 ;
18964 pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 2 ;
18965 pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 3 ;
18966 pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 4 ;
18967 pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 5 ;
18968 pub const acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR : acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = 6 ;
18969 pub type acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
18970     ::std::os::raw::c_uint;
18971 pub use self::acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement as acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
18972 pub const acamera_metadata_enum_acamera_sensor_info_timestamp_source_ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN : acamera_metadata_enum_acamera_sensor_info_timestamp_source = 0 ;
18973 pub const acamera_metadata_enum_acamera_sensor_info_timestamp_source_ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME : acamera_metadata_enum_acamera_sensor_info_timestamp_source = 1 ;
18974 pub type acamera_metadata_enum_acamera_sensor_info_timestamp_source = ::std::os::raw::c_uint;
18975 pub use self::acamera_metadata_enum_acamera_sensor_info_timestamp_source as acamera_metadata_enum_android_sensor_info_timestamp_source_t;
18976 pub const acamera_metadata_enum_acamera_sensor_info_lens_shading_applied_ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE : acamera_metadata_enum_acamera_sensor_info_lens_shading_applied = 0 ;
18977 pub const acamera_metadata_enum_acamera_sensor_info_lens_shading_applied_ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE : acamera_metadata_enum_acamera_sensor_info_lens_shading_applied = 1 ;
18978 pub type acamera_metadata_enum_acamera_sensor_info_lens_shading_applied = ::std::os::raw::c_uint;
18979 pub use self::acamera_metadata_enum_acamera_sensor_info_lens_shading_applied as acamera_metadata_enum_android_sensor_info_lens_shading_applied_t;
18980 pub const acamera_metadata_enum_acamera_shading_mode_ACAMERA_SHADING_MODE_OFF:
18981     acamera_metadata_enum_acamera_shading_mode = 0;
18982 pub const acamera_metadata_enum_acamera_shading_mode_ACAMERA_SHADING_MODE_FAST:
18983     acamera_metadata_enum_acamera_shading_mode = 1;
18984 pub const acamera_metadata_enum_acamera_shading_mode_ACAMERA_SHADING_MODE_HIGH_QUALITY:
18985     acamera_metadata_enum_acamera_shading_mode = 2;
18986 pub type acamera_metadata_enum_acamera_shading_mode = ::std::os::raw::c_uint;
18987 pub use self::acamera_metadata_enum_acamera_shading_mode as acamera_metadata_enum_android_shading_mode_t;
18988 pub const acamera_metadata_enum_acamera_statistics_face_detect_mode_ACAMERA_STATISTICS_FACE_DETECT_MODE_OFF : acamera_metadata_enum_acamera_statistics_face_detect_mode = 0 ;
18989 pub const acamera_metadata_enum_acamera_statistics_face_detect_mode_ACAMERA_STATISTICS_FACE_DETECT_MODE_SIMPLE : acamera_metadata_enum_acamera_statistics_face_detect_mode = 1 ;
18990 pub const acamera_metadata_enum_acamera_statistics_face_detect_mode_ACAMERA_STATISTICS_FACE_DETECT_MODE_FULL : acamera_metadata_enum_acamera_statistics_face_detect_mode = 2 ;
18991 pub type acamera_metadata_enum_acamera_statistics_face_detect_mode = ::std::os::raw::c_uint;
18992 pub use self::acamera_metadata_enum_acamera_statistics_face_detect_mode as acamera_metadata_enum_android_statistics_face_detect_mode_t;
18993 pub const acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode_ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_OFF : acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode = 0 ;
18994 pub const acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode_ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_ON : acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode = 1 ;
18995 pub type acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode = ::std::os::raw::c_uint;
18996 pub use self::acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode as acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
18997 pub const acamera_metadata_enum_acamera_statistics_scene_flicker_ACAMERA_STATISTICS_SCENE_FLICKER_NONE : acamera_metadata_enum_acamera_statistics_scene_flicker = 0 ;
18998 pub const acamera_metadata_enum_acamera_statistics_scene_flicker_ACAMERA_STATISTICS_SCENE_FLICKER_50HZ : acamera_metadata_enum_acamera_statistics_scene_flicker = 1 ;
18999 pub const acamera_metadata_enum_acamera_statistics_scene_flicker_ACAMERA_STATISTICS_SCENE_FLICKER_60HZ : acamera_metadata_enum_acamera_statistics_scene_flicker = 2 ;
19000 pub type acamera_metadata_enum_acamera_statistics_scene_flicker = ::std::os::raw::c_uint;
19001 pub use self::acamera_metadata_enum_acamera_statistics_scene_flicker as acamera_metadata_enum_android_statistics_scene_flicker_t;
19002 pub const acamera_metadata_enum_acamera_statistics_lens_shading_map_mode_ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_OFF : acamera_metadata_enum_acamera_statistics_lens_shading_map_mode = 0 ;
19003 pub const acamera_metadata_enum_acamera_statistics_lens_shading_map_mode_ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_ON : acamera_metadata_enum_acamera_statistics_lens_shading_map_mode = 1 ;
19004 pub type acamera_metadata_enum_acamera_statistics_lens_shading_map_mode = ::std::os::raw::c_uint;
19005 pub use self::acamera_metadata_enum_acamera_statistics_lens_shading_map_mode as acamera_metadata_enum_android_statistics_lens_shading_map_mode_t;
19006 pub const acamera_metadata_enum_acamera_statistics_ois_data_mode_ACAMERA_STATISTICS_OIS_DATA_MODE_OFF : acamera_metadata_enum_acamera_statistics_ois_data_mode = 0 ;
19007 pub const acamera_metadata_enum_acamera_statistics_ois_data_mode_ACAMERA_STATISTICS_OIS_DATA_MODE_ON : acamera_metadata_enum_acamera_statistics_ois_data_mode = 1 ;
19008 pub type acamera_metadata_enum_acamera_statistics_ois_data_mode = ::std::os::raw::c_uint;
19009 pub use self::acamera_metadata_enum_acamera_statistics_ois_data_mode as acamera_metadata_enum_android_statistics_ois_data_mode_t;
19010 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_CONTRAST_CURVE:
19011     acamera_metadata_enum_acamera_tonemap_mode = 0;
19012 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_FAST:
19013     acamera_metadata_enum_acamera_tonemap_mode = 1;
19014 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_HIGH_QUALITY:
19015     acamera_metadata_enum_acamera_tonemap_mode = 2;
19016 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_GAMMA_VALUE:
19017     acamera_metadata_enum_acamera_tonemap_mode = 3;
19018 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_PRESET_CURVE:
19019     acamera_metadata_enum_acamera_tonemap_mode = 4;
19020 pub type acamera_metadata_enum_acamera_tonemap_mode = ::std::os::raw::c_uint;
19021 pub use self::acamera_metadata_enum_acamera_tonemap_mode as acamera_metadata_enum_android_tonemap_mode_t;
19022 pub const acamera_metadata_enum_acamera_tonemap_preset_curve_ACAMERA_TONEMAP_PRESET_CURVE_SRGB:
19023     acamera_metadata_enum_acamera_tonemap_preset_curve = 0;
19024 pub const acamera_metadata_enum_acamera_tonemap_preset_curve_ACAMERA_TONEMAP_PRESET_CURVE_REC709:
19025     acamera_metadata_enum_acamera_tonemap_preset_curve = 1;
19026 pub type acamera_metadata_enum_acamera_tonemap_preset_curve = ::std::os::raw::c_uint;
19027 pub use self::acamera_metadata_enum_acamera_tonemap_preset_curve as acamera_metadata_enum_android_tonemap_preset_curve_t;
19028 pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED : acamera_metadata_enum_acamera_info_supported_hardware_level = 0 ;
19029 pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_FULL : acamera_metadata_enum_acamera_info_supported_hardware_level = 1 ;
19030 pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY : acamera_metadata_enum_acamera_info_supported_hardware_level = 2 ;
19031 pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_3 : acamera_metadata_enum_acamera_info_supported_hardware_level = 3 ;
19032 pub const acamera_metadata_enum_acamera_info_supported_hardware_level_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL : acamera_metadata_enum_acamera_info_supported_hardware_level = 4 ;
19033 pub type acamera_metadata_enum_acamera_info_supported_hardware_level = ::std::os::raw::c_uint;
19034 pub use self::acamera_metadata_enum_acamera_info_supported_hardware_level as acamera_metadata_enum_android_info_supported_hardware_level_t;
19035 pub const acamera_metadata_enum_acamera_black_level_lock_ACAMERA_BLACK_LEVEL_LOCK_OFF:
19036     acamera_metadata_enum_acamera_black_level_lock = 0;
19037 pub const acamera_metadata_enum_acamera_black_level_lock_ACAMERA_BLACK_LEVEL_LOCK_ON:
19038     acamera_metadata_enum_acamera_black_level_lock = 1;
19039 pub type acamera_metadata_enum_acamera_black_level_lock = ::std::os::raw::c_uint;
19040 pub use self::acamera_metadata_enum_acamera_black_level_lock as acamera_metadata_enum_android_black_level_lock_t;
19041 pub const acamera_metadata_enum_acamera_sync_frame_number_ACAMERA_SYNC_FRAME_NUMBER_CONVERGING:
19042     acamera_metadata_enum_acamera_sync_frame_number = -1;
19043 pub const acamera_metadata_enum_acamera_sync_frame_number_ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN:
19044     acamera_metadata_enum_acamera_sync_frame_number = -2;
19045 pub type acamera_metadata_enum_acamera_sync_frame_number = ::std::os::raw::c_int;
19046 pub use self::acamera_metadata_enum_acamera_sync_frame_number as acamera_metadata_enum_android_sync_frame_number_t;
19047 pub const acamera_metadata_enum_acamera_sync_max_latency_ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL : acamera_metadata_enum_acamera_sync_max_latency = 0 ;
19048 pub const acamera_metadata_enum_acamera_sync_max_latency_ACAMERA_SYNC_MAX_LATENCY_UNKNOWN:
19049     acamera_metadata_enum_acamera_sync_max_latency = -1;
19050 pub type acamera_metadata_enum_acamera_sync_max_latency = ::std::os::raw::c_int;
19051 pub use self::acamera_metadata_enum_acamera_sync_max_latency as acamera_metadata_enum_android_sync_max_latency_t;
19052 pub const acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT : acamera_metadata_enum_acamera_depth_available_depth_stream_configurations = 0 ;
19053 pub const acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT : acamera_metadata_enum_acamera_depth_available_depth_stream_configurations = 1 ;
19054 pub type acamera_metadata_enum_acamera_depth_available_depth_stream_configurations =
19055     ::std::os::raw::c_uint;
19056 pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations as acamera_metadata_enum_android_depth_available_depth_stream_configurations_t;
19057 pub const acamera_metadata_enum_acamera_depth_depth_is_exclusive_ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE : acamera_metadata_enum_acamera_depth_depth_is_exclusive = 0 ;
19058 pub const acamera_metadata_enum_acamera_depth_depth_is_exclusive_ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE : acamera_metadata_enum_acamera_depth_depth_is_exclusive = 1 ;
19059 pub type acamera_metadata_enum_acamera_depth_depth_is_exclusive = ::std::os::raw::c_uint;
19060 pub use self::acamera_metadata_enum_acamera_depth_depth_is_exclusive as acamera_metadata_enum_android_depth_depth_is_exclusive_t;
19061 pub const acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations = 0 ;
19062 pub const acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations = 1 ;
19063 pub type acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations =
19064     ::std::os::raw::c_uint;
19065 pub use self::acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations as acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t;
19066 pub const acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT : acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution = 0 ;
19067 pub const acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT : acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution = 1 ;
19068 pub type acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution =
19069     ::std::os::raw::c_uint;
19070 pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution as acamera_metadata_enum_android_depth_available_depth_stream_configurations_maximum_resolution_t;
19071 pub const acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution = 0 ;
19072 pub const acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution = 1 ;
19073 pub type acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution =
19074     ::std::os::raw::c_uint;
19075 pub use self::acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution as acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_maximum_resolution_t;
19076 pub const acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type_ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE : acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type = 0 ;
19077 pub const acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type_ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED : acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type = 1 ;
19078 pub type acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type =
19079     ::std::os::raw::c_uint;
19080 pub use self::acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type as acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t;
19081 pub const acamera_metadata_enum_acamera_distortion_correction_mode_ACAMERA_DISTORTION_CORRECTION_MODE_OFF : acamera_metadata_enum_acamera_distortion_correction_mode = 0 ;
19082 pub const acamera_metadata_enum_acamera_distortion_correction_mode_ACAMERA_DISTORTION_CORRECTION_MODE_FAST : acamera_metadata_enum_acamera_distortion_correction_mode = 1 ;
19083 pub const acamera_metadata_enum_acamera_distortion_correction_mode_ACAMERA_DISTORTION_CORRECTION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_distortion_correction_mode = 2 ;
19084 pub type acamera_metadata_enum_acamera_distortion_correction_mode = ::std::os::raw::c_uint;
19085 pub use self::acamera_metadata_enum_acamera_distortion_correction_mode as acamera_metadata_enum_android_distortion_correction_mode_t;
19086 pub const acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT : acamera_metadata_enum_acamera_heic_available_heic_stream_configurations = 0 ;
19087 pub const acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT : acamera_metadata_enum_acamera_heic_available_heic_stream_configurations = 1 ;
19088 pub type acamera_metadata_enum_acamera_heic_available_heic_stream_configurations =
19089     ::std::os::raw::c_uint;
19090 pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations as acamera_metadata_enum_android_heic_available_heic_stream_configurations_t;
19091 pub const acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT : acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution = 0 ;
19092 pub const acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT : acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution = 1 ;
19093 pub type acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution =
19094     ::std::os::raw::c_uint;
19095 pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution as acamera_metadata_enum_android_heic_available_heic_stream_configurations_maximum_resolution_t;
19096 #[repr(C)]
19097 #[derive(Debug, Copy, Clone)]
19098 pub struct ACameraMetadata {
19099     _unused: [u8; 0],
19100 }
19101 pub const ACAMERA_TYPE_BYTE: ::std::os::raw::c_uint = 0;
19102 pub const ACAMERA_TYPE_INT32: ::std::os::raw::c_uint = 1;
19103 pub const ACAMERA_TYPE_FLOAT: ::std::os::raw::c_uint = 2;
19104 pub const ACAMERA_TYPE_INT64: ::std::os::raw::c_uint = 3;
19105 pub const ACAMERA_TYPE_DOUBLE: ::std::os::raw::c_uint = 4;
19106 pub const ACAMERA_TYPE_RATIONAL: ::std::os::raw::c_uint = 5;
19107 pub const ACAMERA_NUM_TYPES: ::std::os::raw::c_uint = 6;
19108 pub type _bindgen_ty_53 = ::std::os::raw::c_uint;
19109 #[repr(C)]
19110 #[derive(Debug, Copy, Clone)]
19111 pub struct ACameraMetadata_rational {
19112     pub numerator: i32,
19113     pub denominator: i32,
19114 }
19115 #[test]
19116 fn bindgen_test_layout_ACameraMetadata_rational() {
19117     assert_eq!(
19118         ::std::mem::size_of::<ACameraMetadata_rational>(),
19119         8usize,
19120         concat!("Size of: ", stringify!(ACameraMetadata_rational))
19121     );
19122     assert_eq!(
19123         ::std::mem::align_of::<ACameraMetadata_rational>(),
19124         4usize,
19125         concat!("Alignment of ", stringify!(ACameraMetadata_rational))
19126     );
19127     assert_eq!(
19128         unsafe {
19129             &(*(::std::ptr::null::<ACameraMetadata_rational>())).numerator as *const _ as usize
19130         },
19131         0usize,
19132         concat!(
19133             "Offset of field: ",
19134             stringify!(ACameraMetadata_rational),
19135             "::",
19136             stringify!(numerator)
19137         )
19138     );
19139     assert_eq!(
19140         unsafe {
19141             &(*(::std::ptr::null::<ACameraMetadata_rational>())).denominator as *const _ as usize
19142         },
19143         4usize,
19144         concat!(
19145             "Offset of field: ",
19146             stringify!(ACameraMetadata_rational),
19147             "::",
19148             stringify!(denominator)
19149         )
19150     );
19151 }
19152 #[repr(C)]
19153 #[derive(Copy, Clone)]
19154 pub struct ACameraMetadata_entry {
19155     pub tag: u32,
19156     pub type_: u8,
19157     pub count: u32,
19158     pub data: ACameraMetadata_entry__bindgen_ty_1,
19159 }
19160 #[repr(C)]
19161 #[derive(Copy, Clone)]
19162 pub union ACameraMetadata_entry__bindgen_ty_1 {
19163     pub u8_: *mut u8,
19164     pub i32_: *mut i32,
19165     pub f: *mut f32,
19166     pub i64_: *mut i64,
19167     pub d: *mut f64,
19168     pub r: *mut ACameraMetadata_rational,
19169 }
19170 #[test]
19171 fn bindgen_test_layout_ACameraMetadata_entry__bindgen_ty_1() {
19172     assert_eq!(
19173         ::std::mem::size_of::<ACameraMetadata_entry__bindgen_ty_1>(),
19174         4usize,
19175         concat!("Size of: ", stringify!(ACameraMetadata_entry__bindgen_ty_1))
19176     );
19177     assert_eq!(
19178         ::std::mem::align_of::<ACameraMetadata_entry__bindgen_ty_1>(),
19179         4usize,
19180         concat!(
19181             "Alignment of ",
19182             stringify!(ACameraMetadata_entry__bindgen_ty_1)
19183         )
19184     );
19185     assert_eq!(
19186         unsafe {
19187             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).u8_ as *const _ as usize
19188         },
19189         0usize,
19190         concat!(
19191             "Offset of field: ",
19192             stringify!(ACameraMetadata_entry__bindgen_ty_1),
19193             "::",
19194             stringify!(u8_)
19195         )
19196     );
19197     assert_eq!(
19198         unsafe {
19199             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).i32_ as *const _
19200                 as usize
19201         },
19202         0usize,
19203         concat!(
19204             "Offset of field: ",
19205             stringify!(ACameraMetadata_entry__bindgen_ty_1),
19206             "::",
19207             stringify!(i32_)
19208         )
19209     );
19210     assert_eq!(
19211         unsafe {
19212             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).f as *const _ as usize
19213         },
19214         0usize,
19215         concat!(
19216             "Offset of field: ",
19217             stringify!(ACameraMetadata_entry__bindgen_ty_1),
19218             "::",
19219             stringify!(f)
19220         )
19221     );
19222     assert_eq!(
19223         unsafe {
19224             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).i64_ as *const _
19225                 as usize
19226         },
19227         0usize,
19228         concat!(
19229             "Offset of field: ",
19230             stringify!(ACameraMetadata_entry__bindgen_ty_1),
19231             "::",
19232             stringify!(i64_)
19233         )
19234     );
19235     assert_eq!(
19236         unsafe {
19237             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).d as *const _ as usize
19238         },
19239         0usize,
19240         concat!(
19241             "Offset of field: ",
19242             stringify!(ACameraMetadata_entry__bindgen_ty_1),
19243             "::",
19244             stringify!(d)
19245         )
19246     );
19247     assert_eq!(
19248         unsafe {
19249             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).r as *const _ as usize
19250         },
19251         0usize,
19252         concat!(
19253             "Offset of field: ",
19254             stringify!(ACameraMetadata_entry__bindgen_ty_1),
19255             "::",
19256             stringify!(r)
19257         )
19258     );
19259 }
19260 #[test]
19261 fn bindgen_test_layout_ACameraMetadata_entry() {
19262     assert_eq!(
19263         ::std::mem::size_of::<ACameraMetadata_entry>(),
19264         16usize,
19265         concat!("Size of: ", stringify!(ACameraMetadata_entry))
19266     );
19267     assert_eq!(
19268         ::std::mem::align_of::<ACameraMetadata_entry>(),
19269         4usize,
19270         concat!("Alignment of ", stringify!(ACameraMetadata_entry))
19271     );
19272     assert_eq!(
19273         unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).tag as *const _ as usize },
19274         0usize,
19275         concat!(
19276             "Offset of field: ",
19277             stringify!(ACameraMetadata_entry),
19278             "::",
19279             stringify!(tag)
19280         )
19281     );
19282     assert_eq!(
19283         unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).type_ as *const _ as usize },
19284         4usize,
19285         concat!(
19286             "Offset of field: ",
19287             stringify!(ACameraMetadata_entry),
19288             "::",
19289             stringify!(type_)
19290         )
19291     );
19292     assert_eq!(
19293         unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).count as *const _ as usize },
19294         8usize,
19295         concat!(
19296             "Offset of field: ",
19297             stringify!(ACameraMetadata_entry),
19298             "::",
19299             stringify!(count)
19300         )
19301     );
19302     assert_eq!(
19303         unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).data as *const _ as usize },
19304         12usize,
19305         concat!(
19306             "Offset of field: ",
19307             stringify!(ACameraMetadata_entry),
19308             "::",
19309             stringify!(data)
19310         )
19311     );
19312 }
19313 #[repr(C)]
19314 #[derive(Copy, Clone)]
19315 pub struct ACameraMetadata_const_entry {
19316     pub tag: u32,
19317     pub type_: u8,
19318     pub count: u32,
19319     pub data: ACameraMetadata_const_entry__bindgen_ty_1,
19320 }
19321 #[repr(C)]
19322 #[derive(Copy, Clone)]
19323 pub union ACameraMetadata_const_entry__bindgen_ty_1 {
19324     pub u8_: *const u8,
19325     pub i32_: *const i32,
19326     pub f: *const f32,
19327     pub i64_: *const i64,
19328     pub d: *const f64,
19329     pub r: *const ACameraMetadata_rational,
19330 }
19331 #[test]
19332 fn bindgen_test_layout_ACameraMetadata_const_entry__bindgen_ty_1() {
19333     assert_eq!(
19334         ::std::mem::size_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
19335         4usize,
19336         concat!(
19337             "Size of: ",
19338             stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
19339         )
19340     );
19341     assert_eq!(
19342         ::std::mem::align_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
19343         4usize,
19344         concat!(
19345             "Alignment of ",
19346             stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
19347         )
19348     );
19349     assert_eq!(
19350         unsafe {
19351             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).u8_ as *const _
19352                 as usize
19353         },
19354         0usize,
19355         concat!(
19356             "Offset of field: ",
19357             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19358             "::",
19359             stringify!(u8_)
19360         )
19361     );
19362     assert_eq!(
19363         unsafe {
19364             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).i32_ as *const _
19365                 as usize
19366         },
19367         0usize,
19368         concat!(
19369             "Offset of field: ",
19370             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19371             "::",
19372             stringify!(i32_)
19373         )
19374     );
19375     assert_eq!(
19376         unsafe {
19377             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).f as *const _
19378                 as usize
19379         },
19380         0usize,
19381         concat!(
19382             "Offset of field: ",
19383             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19384             "::",
19385             stringify!(f)
19386         )
19387     );
19388     assert_eq!(
19389         unsafe {
19390             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).i64_ as *const _
19391                 as usize
19392         },
19393         0usize,
19394         concat!(
19395             "Offset of field: ",
19396             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19397             "::",
19398             stringify!(i64_)
19399         )
19400     );
19401     assert_eq!(
19402         unsafe {
19403             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).d as *const _
19404                 as usize
19405         },
19406         0usize,
19407         concat!(
19408             "Offset of field: ",
19409             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19410             "::",
19411             stringify!(d)
19412         )
19413     );
19414     assert_eq!(
19415         unsafe {
19416             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).r as *const _
19417                 as usize
19418         },
19419         0usize,
19420         concat!(
19421             "Offset of field: ",
19422             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19423             "::",
19424             stringify!(r)
19425         )
19426     );
19427 }
19428 #[test]
19429 fn bindgen_test_layout_ACameraMetadata_const_entry() {
19430     assert_eq!(
19431         ::std::mem::size_of::<ACameraMetadata_const_entry>(),
19432         16usize,
19433         concat!("Size of: ", stringify!(ACameraMetadata_const_entry))
19434     );
19435     assert_eq!(
19436         ::std::mem::align_of::<ACameraMetadata_const_entry>(),
19437         4usize,
19438         concat!("Alignment of ", stringify!(ACameraMetadata_const_entry))
19439     );
19440     assert_eq!(
19441         unsafe { &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).tag as *const _ as usize },
19442         0usize,
19443         concat!(
19444             "Offset of field: ",
19445             stringify!(ACameraMetadata_const_entry),
19446             "::",
19447             stringify!(tag)
19448         )
19449     );
19450     assert_eq!(
19451         unsafe {
19452             &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).type_ as *const _ as usize
19453         },
19454         4usize,
19455         concat!(
19456             "Offset of field: ",
19457             stringify!(ACameraMetadata_const_entry),
19458             "::",
19459             stringify!(type_)
19460         )
19461     );
19462     assert_eq!(
19463         unsafe {
19464             &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).count as *const _ as usize
19465         },
19466         8usize,
19467         concat!(
19468             "Offset of field: ",
19469             stringify!(ACameraMetadata_const_entry),
19470             "::",
19471             stringify!(count)
19472         )
19473     );
19474     assert_eq!(
19475         unsafe {
19476             &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).data as *const _ as usize
19477         },
19478         12usize,
19479         concat!(
19480             "Offset of field: ",
19481             stringify!(ACameraMetadata_const_entry),
19482             "::",
19483             stringify!(data)
19484         )
19485     );
19486 }
19487 extern "C" {
19488     pub fn ACameraMetadata_getConstEntry(
19489         metadata: *const ACameraMetadata,
19490         tag: u32,
19491         entry: *mut ACameraMetadata_const_entry,
19492     ) -> camera_status_t;
19493 }
19494 extern "C" {
19495     pub fn ACameraMetadata_getAllTags(
19496         metadata: *const ACameraMetadata,
19497         numEntries: *mut i32,
19498         tags: *mut *const u32,
19499     ) -> camera_status_t;
19500 }
19501 extern "C" {
19502     pub fn ACameraMetadata_copy(src: *const ACameraMetadata) -> *mut ACameraMetadata;
19503 }
19504 extern "C" {
19505     pub fn ACameraMetadata_free(metadata: *mut ACameraMetadata);
19506 }
19507 extern "C" {
19508     pub fn ACameraMetadata_isLogicalMultiCamera(
19509         staticMetadata: *const ACameraMetadata,
19510         numPhysicalCameras: *mut size_t,
19511         physicalCameraIds: *mut *const *const ::std::os::raw::c_char,
19512     ) -> bool;
19513 }
19514 extern "C" {
19515     pub fn ACameraMetadata_fromCameraMetadata(
19516         env: *mut JNIEnv,
19517         cameraMetadata: jobject,
19518     ) -> *mut ACameraMetadata;
19519 }
19520 pub type ACameraWindowType = ANativeWindow;
19521 #[repr(C)]
19522 #[derive(Debug, Copy, Clone)]
19523 pub struct ACameraOutputTargets {
19524     _unused: [u8; 0],
19525 }
19526 #[repr(C)]
19527 #[derive(Debug, Copy, Clone)]
19528 pub struct ACameraOutputTarget {
19529     _unused: [u8; 0],
19530 }
19531 #[repr(C)]
19532 #[derive(Debug, Copy, Clone)]
19533 pub struct ACaptureRequest {
19534     _unused: [u8; 0],
19535 }
19536 extern "C" {
19537     pub fn ACameraOutputTarget_create(
19538         window: *mut ACameraWindowType,
19539         output: *mut *mut ACameraOutputTarget,
19540     ) -> camera_status_t;
19541 }
19542 extern "C" {
19543     pub fn ACameraOutputTarget_free(output: *mut ACameraOutputTarget);
19544 }
19545 extern "C" {
19546     pub fn ACaptureRequest_addTarget(
19547         request: *mut ACaptureRequest,
19548         output: *const ACameraOutputTarget,
19549     ) -> camera_status_t;
19550 }
19551 extern "C" {
19552     pub fn ACaptureRequest_removeTarget(
19553         request: *mut ACaptureRequest,
19554         output: *const ACameraOutputTarget,
19555     ) -> camera_status_t;
19556 }
19557 extern "C" {
19558     pub fn ACaptureRequest_getConstEntry(
19559         request: *const ACaptureRequest,
19560         tag: u32,
19561         entry: *mut ACameraMetadata_const_entry,
19562     ) -> camera_status_t;
19563 }
19564 extern "C" {
19565     pub fn ACaptureRequest_getAllTags(
19566         request: *const ACaptureRequest,
19567         numTags: *mut i32,
19568         tags: *mut *const u32,
19569     ) -> camera_status_t;
19570 }
19571 extern "C" {
19572     pub fn ACaptureRequest_setEntry_u8(
19573         request: *mut ACaptureRequest,
19574         tag: u32,
19575         count: u32,
19576         data: *const u8,
19577     ) -> camera_status_t;
19578 }
19579 extern "C" {
19580     pub fn ACaptureRequest_setEntry_i32(
19581         request: *mut ACaptureRequest,
19582         tag: u32,
19583         count: u32,
19584         data: *const i32,
19585     ) -> camera_status_t;
19586 }
19587 extern "C" {
19588     pub fn ACaptureRequest_setEntry_float(
19589         request: *mut ACaptureRequest,
19590         tag: u32,
19591         count: u32,
19592         data: *const f32,
19593     ) -> camera_status_t;
19594 }
19595 extern "C" {
19596     pub fn ACaptureRequest_setEntry_i64(
19597         request: *mut ACaptureRequest,
19598         tag: u32,
19599         count: u32,
19600         data: *const i64,
19601     ) -> camera_status_t;
19602 }
19603 extern "C" {
19604     pub fn ACaptureRequest_setEntry_double(
19605         request: *mut ACaptureRequest,
19606         tag: u32,
19607         count: u32,
19608         data: *const f64,
19609     ) -> camera_status_t;
19610 }
19611 extern "C" {
19612     pub fn ACaptureRequest_setEntry_rational(
19613         request: *mut ACaptureRequest,
19614         tag: u32,
19615         count: u32,
19616         data: *const ACameraMetadata_rational,
19617     ) -> camera_status_t;
19618 }
19619 extern "C" {
19620     pub fn ACaptureRequest_free(request: *mut ACaptureRequest);
19621 }
19622 extern "C" {
19623     pub fn ACaptureRequest_setUserContext(
19624         request: *mut ACaptureRequest,
19625         context: *mut ::std::os::raw::c_void,
19626     ) -> camera_status_t;
19627 }
19628 extern "C" {
19629     pub fn ACaptureRequest_getUserContext(
19630         request: *const ACaptureRequest,
19631         context: *mut *mut ::std::os::raw::c_void,
19632     ) -> camera_status_t;
19633 }
19634 extern "C" {
19635     pub fn ACaptureRequest_copy(src: *const ACaptureRequest) -> *mut ACaptureRequest;
19636 }
19637 extern "C" {
19638     pub fn ACaptureRequest_getConstEntry_physicalCamera(
19639         request: *const ACaptureRequest,
19640         physicalId: *const ::std::os::raw::c_char,
19641         tag: u32,
19642         entry: *mut ACameraMetadata_const_entry,
19643     ) -> camera_status_t;
19644 }
19645 extern "C" {
19646     pub fn ACaptureRequest_setEntry_physicalCamera_u8(
19647         request: *mut ACaptureRequest,
19648         physicalId: *const ::std::os::raw::c_char,
19649         tag: u32,
19650         count: u32,
19651         data: *const u8,
19652     ) -> camera_status_t;
19653 }
19654 extern "C" {
19655     pub fn ACaptureRequest_setEntry_physicalCamera_i32(
19656         request: *mut ACaptureRequest,
19657         physicalId: *const ::std::os::raw::c_char,
19658         tag: u32,
19659         count: u32,
19660         data: *const i32,
19661     ) -> camera_status_t;
19662 }
19663 extern "C" {
19664     pub fn ACaptureRequest_setEntry_physicalCamera_float(
19665         request: *mut ACaptureRequest,
19666         physicalId: *const ::std::os::raw::c_char,
19667         tag: u32,
19668         count: u32,
19669         data: *const f32,
19670     ) -> camera_status_t;
19671 }
19672 extern "C" {
19673     pub fn ACaptureRequest_setEntry_physicalCamera_i64(
19674         request: *mut ACaptureRequest,
19675         physicalId: *const ::std::os::raw::c_char,
19676         tag: u32,
19677         count: u32,
19678         data: *const i64,
19679     ) -> camera_status_t;
19680 }
19681 extern "C" {
19682     pub fn ACaptureRequest_setEntry_physicalCamera_double(
19683         request: *mut ACaptureRequest,
19684         physicalId: *const ::std::os::raw::c_char,
19685         tag: u32,
19686         count: u32,
19687         data: *const f64,
19688     ) -> camera_status_t;
19689 }
19690 extern "C" {
19691     pub fn ACaptureRequest_setEntry_physicalCamera_rational(
19692         request: *mut ACaptureRequest,
19693         physicalId: *const ::std::os::raw::c_char,
19694         tag: u32,
19695         count: u32,
19696         data: *const ACameraMetadata_rational,
19697     ) -> camera_status_t;
19698 }
19699 #[repr(C)]
19700 #[derive(Debug, Copy, Clone)]
19701 pub struct ACameraCaptureSession {
19702     _unused: [u8; 0],
19703 }
19704 pub type ACameraCaptureSession_stateCallback = ::std::option::Option<
19705     unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, session: *mut ACameraCaptureSession),
19706 >;
19707 #[repr(C)]
19708 #[derive(Debug, Copy, Clone)]
19709 pub struct ACameraCaptureSession_stateCallbacks {
19710     pub context: *mut ::std::os::raw::c_void,
19711     pub onClosed: ACameraCaptureSession_stateCallback,
19712     pub onReady: ACameraCaptureSession_stateCallback,
19713     pub onActive: ACameraCaptureSession_stateCallback,
19714 }
19715 #[test]
19716 fn bindgen_test_layout_ACameraCaptureSession_stateCallbacks() {
19717     assert_eq!(
19718         ::std::mem::size_of::<ACameraCaptureSession_stateCallbacks>(),
19719         16usize,
19720         concat!(
19721             "Size of: ",
19722             stringify!(ACameraCaptureSession_stateCallbacks)
19723         )
19724     );
19725     assert_eq!(
19726         ::std::mem::align_of::<ACameraCaptureSession_stateCallbacks>(),
19727         4usize,
19728         concat!(
19729             "Alignment of ",
19730             stringify!(ACameraCaptureSession_stateCallbacks)
19731         )
19732     );
19733     assert_eq!(
19734         unsafe {
19735             &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).context as *const _
19736                 as usize
19737         },
19738         0usize,
19739         concat!(
19740             "Offset of field: ",
19741             stringify!(ACameraCaptureSession_stateCallbacks),
19742             "::",
19743             stringify!(context)
19744         )
19745     );
19746     assert_eq!(
19747         unsafe {
19748             &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).onClosed as *const _
19749                 as usize
19750         },
19751         4usize,
19752         concat!(
19753             "Offset of field: ",
19754             stringify!(ACameraCaptureSession_stateCallbacks),
19755             "::",
19756             stringify!(onClosed)
19757         )
19758     );
19759     assert_eq!(
19760         unsafe {
19761             &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).onReady as *const _
19762                 as usize
19763         },
19764         8usize,
19765         concat!(
19766             "Offset of field: ",
19767             stringify!(ACameraCaptureSession_stateCallbacks),
19768             "::",
19769             stringify!(onReady)
19770         )
19771     );
19772     assert_eq!(
19773         unsafe {
19774             &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).onActive as *const _
19775                 as usize
19776         },
19777         12usize,
19778         concat!(
19779             "Offset of field: ",
19780             stringify!(ACameraCaptureSession_stateCallbacks),
19781             "::",
19782             stringify!(onActive)
19783         )
19784     );
19785 }
19786 pub const CAPTURE_FAILURE_REASON_FLUSHED: ::std::os::raw::c_uint = 0;
19787 pub const CAPTURE_FAILURE_REASON_ERROR: ::std::os::raw::c_uint = 1;
19788 pub type _bindgen_ty_54 = ::std::os::raw::c_uint;
19789 #[repr(C)]
19790 #[derive(Debug, Copy, Clone)]
19791 pub struct ACameraCaptureFailure {
19792     pub frameNumber: i64,
19793     pub reason: ::std::os::raw::c_int,
19794     pub sequenceId: ::std::os::raw::c_int,
19795     pub wasImageCaptured: bool,
19796 }
19797 #[test]
19798 fn bindgen_test_layout_ACameraCaptureFailure() {
19799     assert_eq!(
19800         ::std::mem::size_of::<ACameraCaptureFailure>(),
19801         24usize,
19802         concat!("Size of: ", stringify!(ACameraCaptureFailure))
19803     );
19804     assert_eq!(
19805         ::std::mem::align_of::<ACameraCaptureFailure>(),
19806         8usize,
19807         concat!("Alignment of ", stringify!(ACameraCaptureFailure))
19808     );
19809     assert_eq!(
19810         unsafe {
19811             &(*(::std::ptr::null::<ACameraCaptureFailure>())).frameNumber as *const _ as usize
19812         },
19813         0usize,
19814         concat!(
19815             "Offset of field: ",
19816             stringify!(ACameraCaptureFailure),
19817             "::",
19818             stringify!(frameNumber)
19819         )
19820     );
19821     assert_eq!(
19822         unsafe { &(*(::std::ptr::null::<ACameraCaptureFailure>())).reason as *const _ as usize },
19823         8usize,
19824         concat!(
19825             "Offset of field: ",
19826             stringify!(ACameraCaptureFailure),
19827             "::",
19828             stringify!(reason)
19829         )
19830     );
19831     assert_eq!(
19832         unsafe {
19833             &(*(::std::ptr::null::<ACameraCaptureFailure>())).sequenceId as *const _ as usize
19834         },
19835         12usize,
19836         concat!(
19837             "Offset of field: ",
19838             stringify!(ACameraCaptureFailure),
19839             "::",
19840             stringify!(sequenceId)
19841         )
19842     );
19843     assert_eq!(
19844         unsafe {
19845             &(*(::std::ptr::null::<ACameraCaptureFailure>())).wasImageCaptured as *const _ as usize
19846         },
19847         16usize,
19848         concat!(
19849             "Offset of field: ",
19850             stringify!(ACameraCaptureFailure),
19851             "::",
19852             stringify!(wasImageCaptured)
19853         )
19854     );
19855 }
19856 pub type ACameraCaptureSession_captureCallback_start = ::std::option::Option<
19857     unsafe extern "C" fn(
19858         context: *mut ::std::os::raw::c_void,
19859         session: *mut ACameraCaptureSession,
19860         request: *const ACaptureRequest,
19861         timestamp: i64,
19862     ),
19863 >;
19864 pub type ACameraCaptureSession_captureCallback_result = ::std::option::Option<
19865     unsafe extern "C" fn(
19866         context: *mut ::std::os::raw::c_void,
19867         session: *mut ACameraCaptureSession,
19868         request: *mut ACaptureRequest,
19869         result: *const ACameraMetadata,
19870     ),
19871 >;
19872 pub type ACameraCaptureSession_captureCallback_failed = ::std::option::Option<
19873     unsafe extern "C" fn(
19874         context: *mut ::std::os::raw::c_void,
19875         session: *mut ACameraCaptureSession,
19876         request: *mut ACaptureRequest,
19877         failure: *mut ACameraCaptureFailure,
19878     ),
19879 >;
19880 pub type ACameraCaptureSession_captureCallback_sequenceEnd = ::std::option::Option<
19881     unsafe extern "C" fn(
19882         context: *mut ::std::os::raw::c_void,
19883         session: *mut ACameraCaptureSession,
19884         sequenceId: ::std::os::raw::c_int,
19885         frameNumber: i64,
19886     ),
19887 >;
19888 pub type ACameraCaptureSession_captureCallback_sequenceAbort = ::std::option::Option<
19889     unsafe extern "C" fn(
19890         context: *mut ::std::os::raw::c_void,
19891         session: *mut ACameraCaptureSession,
19892         sequenceId: ::std::os::raw::c_int,
19893     ),
19894 >;
19895 pub type ACameraCaptureSession_captureCallback_bufferLost = ::std::option::Option<
19896     unsafe extern "C" fn(
19897         context: *mut ::std::os::raw::c_void,
19898         session: *mut ACameraCaptureSession,
19899         request: *mut ACaptureRequest,
19900         window: *mut ACameraWindowType,
19901         frameNumber: i64,
19902     ),
19903 >;
19904 #[repr(C)]
19905 #[derive(Debug, Copy, Clone)]
19906 pub struct ACameraCaptureSession_captureCallbacks {
19907     pub context: *mut ::std::os::raw::c_void,
19908     pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
19909     pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
19910     pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
19911     pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
19912     pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
19913     pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
19914     pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
19915 }
19916 #[test]
19917 fn bindgen_test_layout_ACameraCaptureSession_captureCallbacks() {
19918     assert_eq!(
19919         ::std::mem::size_of::<ACameraCaptureSession_captureCallbacks>(),
19920         32usize,
19921         concat!(
19922             "Size of: ",
19923             stringify!(ACameraCaptureSession_captureCallbacks)
19924         )
19925     );
19926     assert_eq!(
19927         ::std::mem::align_of::<ACameraCaptureSession_captureCallbacks>(),
19928         4usize,
19929         concat!(
19930             "Alignment of ",
19931             stringify!(ACameraCaptureSession_captureCallbacks)
19932         )
19933     );
19934     assert_eq!(
19935         unsafe {
19936             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).context as *const _
19937                 as usize
19938         },
19939         0usize,
19940         concat!(
19941             "Offset of field: ",
19942             stringify!(ACameraCaptureSession_captureCallbacks),
19943             "::",
19944             stringify!(context)
19945         )
19946     );
19947     assert_eq!(
19948         unsafe {
19949             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureStarted
19950                 as *const _ as usize
19951         },
19952         4usize,
19953         concat!(
19954             "Offset of field: ",
19955             stringify!(ACameraCaptureSession_captureCallbacks),
19956             "::",
19957             stringify!(onCaptureStarted)
19958         )
19959     );
19960     assert_eq!(
19961         unsafe {
19962             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureProgressed
19963                 as *const _ as usize
19964         },
19965         8usize,
19966         concat!(
19967             "Offset of field: ",
19968             stringify!(ACameraCaptureSession_captureCallbacks),
19969             "::",
19970             stringify!(onCaptureProgressed)
19971         )
19972     );
19973     assert_eq!(
19974         unsafe {
19975             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureCompleted
19976                 as *const _ as usize
19977         },
19978         12usize,
19979         concat!(
19980             "Offset of field: ",
19981             stringify!(ACameraCaptureSession_captureCallbacks),
19982             "::",
19983             stringify!(onCaptureCompleted)
19984         )
19985     );
19986     assert_eq!(
19987         unsafe {
19988             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureFailed
19989                 as *const _ as usize
19990         },
19991         16usize,
19992         concat!(
19993             "Offset of field: ",
19994             stringify!(ACameraCaptureSession_captureCallbacks),
19995             "::",
19996             stringify!(onCaptureFailed)
19997         )
19998     );
19999     assert_eq!(
20000         unsafe {
20001             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>()))
20002                 .onCaptureSequenceCompleted as *const _ as usize
20003         },
20004         20usize,
20005         concat!(
20006             "Offset of field: ",
20007             stringify!(ACameraCaptureSession_captureCallbacks),
20008             "::",
20009             stringify!(onCaptureSequenceCompleted)
20010         )
20011     );
20012     assert_eq!(
20013         unsafe {
20014             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>()))
20015                 .onCaptureSequenceAborted as *const _ as usize
20016         },
20017         24usize,
20018         concat!(
20019             "Offset of field: ",
20020             stringify!(ACameraCaptureSession_captureCallbacks),
20021             "::",
20022             stringify!(onCaptureSequenceAborted)
20023         )
20024     );
20025     assert_eq!(
20026         unsafe {
20027             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureBufferLost
20028                 as *const _ as usize
20029         },
20030         28usize,
20031         concat!(
20032             "Offset of field: ",
20033             stringify!(ACameraCaptureSession_captureCallbacks),
20034             "::",
20035             stringify!(onCaptureBufferLost)
20036         )
20037     );
20038 }
20039 pub const CAPTURE_SEQUENCE_ID_NONE: ::std::os::raw::c_int = -1;
20040 pub type _bindgen_ty_55 = ::std::os::raw::c_int;
20041 extern "C" {
20042     pub fn ACameraCaptureSession_close(session: *mut ACameraCaptureSession);
20043 }
20044 #[repr(C)]
20045 #[derive(Debug, Copy, Clone)]
20046 pub struct ACameraDevice {
20047     _unused: [u8; 0],
20048 }
20049 extern "C" {
20050     pub fn ACameraCaptureSession_getDevice(
20051         session: *mut ACameraCaptureSession,
20052         device: *mut *mut ACameraDevice,
20053     ) -> camera_status_t;
20054 }
20055 extern "C" {
20056     pub fn ACameraCaptureSession_capture(
20057         session: *mut ACameraCaptureSession,
20058         callbacks: *mut ACameraCaptureSession_captureCallbacks,
20059         numRequests: ::std::os::raw::c_int,
20060         requests: *mut *mut ACaptureRequest,
20061         captureSequenceId: *mut ::std::os::raw::c_int,
20062     ) -> camera_status_t;
20063 }
20064 extern "C" {
20065     pub fn ACameraCaptureSession_setRepeatingRequest(
20066         session: *mut ACameraCaptureSession,
20067         callbacks: *mut ACameraCaptureSession_captureCallbacks,
20068         numRequests: ::std::os::raw::c_int,
20069         requests: *mut *mut ACaptureRequest,
20070         captureSequenceId: *mut ::std::os::raw::c_int,
20071     ) -> camera_status_t;
20072 }
20073 extern "C" {
20074     pub fn ACameraCaptureSession_stopRepeating(
20075         session: *mut ACameraCaptureSession,
20076     ) -> camera_status_t;
20077 }
20078 extern "C" {
20079     pub fn ACameraCaptureSession_abortCaptures(
20080         session: *mut ACameraCaptureSession,
20081     ) -> camera_status_t;
20082 }
20083 #[repr(C)]
20084 #[derive(Debug, Copy, Clone)]
20085 pub struct ACaptureSessionOutput {
20086     _unused: [u8; 0],
20087 }
20088 extern "C" {
20089     pub fn ACameraCaptureSession_updateSharedOutput(
20090         session: *mut ACameraCaptureSession,
20091         output: *mut ACaptureSessionOutput,
20092     ) -> camera_status_t;
20093 }
20094 pub type ACameraCaptureSession_logicalCamera_captureCallback_result = ::std::option::Option<
20095     unsafe extern "C" fn(
20096         context: *mut ::std::os::raw::c_void,
20097         session: *mut ACameraCaptureSession,
20098         request: *mut ACaptureRequest,
20099         result: *const ACameraMetadata,
20100         physicalResultCount: size_t,
20101         physicalCameraIds: *mut *const ::std::os::raw::c_char,
20102         physicalResults: *mut *const ACameraMetadata,
20103     ),
20104 >;
20105 #[repr(C)]
20106 #[derive(Debug, Copy, Clone)]
20107 pub struct ALogicalCameraCaptureFailure {
20108     pub captureFailure: ACameraCaptureFailure,
20109     pub physicalCameraId: *const ::std::os::raw::c_char,
20110 }
20111 #[test]
20112 fn bindgen_test_layout_ALogicalCameraCaptureFailure() {
20113     assert_eq!(
20114         ::std::mem::size_of::<ALogicalCameraCaptureFailure>(),
20115         32usize,
20116         concat!("Size of: ", stringify!(ALogicalCameraCaptureFailure))
20117     );
20118     assert_eq!(
20119         ::std::mem::align_of::<ALogicalCameraCaptureFailure>(),
20120         8usize,
20121         concat!("Alignment of ", stringify!(ALogicalCameraCaptureFailure))
20122     );
20123     assert_eq!(
20124         unsafe {
20125             &(*(::std::ptr::null::<ALogicalCameraCaptureFailure>())).captureFailure as *const _
20126                 as usize
20127         },
20128         0usize,
20129         concat!(
20130             "Offset of field: ",
20131             stringify!(ALogicalCameraCaptureFailure),
20132             "::",
20133             stringify!(captureFailure)
20134         )
20135     );
20136     assert_eq!(
20137         unsafe {
20138             &(*(::std::ptr::null::<ALogicalCameraCaptureFailure>())).physicalCameraId as *const _
20139                 as usize
20140         },
20141         24usize,
20142         concat!(
20143             "Offset of field: ",
20144             stringify!(ALogicalCameraCaptureFailure),
20145             "::",
20146             stringify!(physicalCameraId)
20147         )
20148     );
20149 }
20150 pub type ACameraCaptureSession_logicalCamera_captureCallback_failed = ::std::option::Option<
20151     unsafe extern "C" fn(
20152         context: *mut ::std::os::raw::c_void,
20153         session: *mut ACameraCaptureSession,
20154         request: *mut ACaptureRequest,
20155         failure: *mut ALogicalCameraCaptureFailure,
20156     ),
20157 >;
20158 #[repr(C)]
20159 #[derive(Debug, Copy, Clone)]
20160 pub struct ACameraCaptureSession_logicalCamera_captureCallbacks {
20161     pub context: *mut ::std::os::raw::c_void,
20162     pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
20163     pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
20164     pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
20165     pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
20166     pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
20167     pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
20168     pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
20169 }
20170 #[test]
20171 fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacks() {
20172     assert_eq!(
20173         ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
20174         32usize,
20175         concat!(
20176             "Size of: ",
20177             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
20178         )
20179     );
20180     assert_eq!(
20181         ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
20182         4usize,
20183         concat!(
20184             "Alignment of ",
20185             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
20186         )
20187     );
20188     assert_eq!(
20189         unsafe {
20190             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>())).context
20191                 as *const _ as usize
20192         },
20193         0usize,
20194         concat!(
20195             "Offset of field: ",
20196             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
20197             "::",
20198             stringify!(context)
20199         )
20200     );
20201     assert_eq!(
20202         unsafe {
20203             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
20204                 .onCaptureStarted as *const _ as usize
20205         },
20206         4usize,
20207         concat!(
20208             "Offset of field: ",
20209             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
20210             "::",
20211             stringify!(onCaptureStarted)
20212         )
20213     );
20214     assert_eq!(
20215         unsafe {
20216             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
20217                 .onCaptureProgressed as *const _ as usize
20218         },
20219         8usize,
20220         concat!(
20221             "Offset of field: ",
20222             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
20223             "::",
20224             stringify!(onCaptureProgressed)
20225         )
20226     );
20227     assert_eq!(
20228         unsafe {
20229             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
20230                 .onLogicalCameraCaptureCompleted as *const _ as usize
20231         },
20232         12usize,
20233         concat!(
20234             "Offset of field: ",
20235             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
20236             "::",
20237             stringify!(onLogicalCameraCaptureCompleted)
20238         )
20239     );
20240     assert_eq!(
20241         unsafe {
20242             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
20243                 .onLogicalCameraCaptureFailed as *const _ as usize
20244         },
20245         16usize,
20246         concat!(
20247             "Offset of field: ",
20248             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
20249             "::",
20250             stringify!(onLogicalCameraCaptureFailed)
20251         )
20252     );
20253     assert_eq!(
20254         unsafe {
20255             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
20256                 .onCaptureSequenceCompleted as *const _ as usize
20257         },
20258         20usize,
20259         concat!(
20260             "Offset of field: ",
20261             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
20262             "::",
20263             stringify!(onCaptureSequenceCompleted)
20264         )
20265     );
20266     assert_eq!(
20267         unsafe {
20268             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
20269                 .onCaptureSequenceAborted as *const _ as usize
20270         },
20271         24usize,
20272         concat!(
20273             "Offset of field: ",
20274             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
20275             "::",
20276             stringify!(onCaptureSequenceAborted)
20277         )
20278     );
20279     assert_eq!(
20280         unsafe {
20281             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
20282                 .onCaptureBufferLost as *const _ as usize
20283         },
20284         28usize,
20285         concat!(
20286             "Offset of field: ",
20287             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
20288             "::",
20289             stringify!(onCaptureBufferLost)
20290         )
20291     );
20292 }
20293 extern "C" {
20294     pub fn ACameraCaptureSession_logicalCamera_capture(
20295         session: *mut ACameraCaptureSession,
20296         callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
20297         numRequests: ::std::os::raw::c_int,
20298         requests: *mut *mut ACaptureRequest,
20299         captureSequenceId: *mut ::std::os::raw::c_int,
20300     ) -> camera_status_t;
20301 }
20302 extern "C" {
20303     pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequest(
20304         session: *mut ACameraCaptureSession,
20305         callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
20306         numRequests: ::std::os::raw::c_int,
20307         requests: *mut *mut ACaptureRequest,
20308         captureSequenceId: *mut ::std::os::raw::c_int,
20309     ) -> camera_status_t;
20310 }
20311 #[repr(C)]
20312 #[derive(Debug, Copy, Clone)]
20313 pub struct ACameraIdList {
20314     pub numCameras: ::std::os::raw::c_int,
20315     pub cameraIds: *mut *const ::std::os::raw::c_char,
20316 }
20317 #[test]
20318 fn bindgen_test_layout_ACameraIdList() {
20319     assert_eq!(
20320         ::std::mem::size_of::<ACameraIdList>(),
20321         8usize,
20322         concat!("Size of: ", stringify!(ACameraIdList))
20323     );
20324     assert_eq!(
20325         ::std::mem::align_of::<ACameraIdList>(),
20326         4usize,
20327         concat!("Alignment of ", stringify!(ACameraIdList))
20328     );
20329     assert_eq!(
20330         unsafe { &(*(::std::ptr::null::<ACameraIdList>())).numCameras as *const _ as usize },
20331         0usize,
20332         concat!(
20333             "Offset of field: ",
20334             stringify!(ACameraIdList),
20335             "::",
20336             stringify!(numCameras)
20337         )
20338     );
20339     assert_eq!(
20340         unsafe { &(*(::std::ptr::null::<ACameraIdList>())).cameraIds as *const _ as usize },
20341         4usize,
20342         concat!(
20343             "Offset of field: ",
20344             stringify!(ACameraIdList),
20345             "::",
20346             stringify!(cameraIds)
20347         )
20348     );
20349 }
20350 pub const ERROR_CAMERA_IN_USE: ::std::os::raw::c_uint = 1;
20351 pub const ERROR_MAX_CAMERAS_IN_USE: ::std::os::raw::c_uint = 2;
20352 pub const ERROR_CAMERA_DISABLED: ::std::os::raw::c_uint = 3;
20353 pub const ERROR_CAMERA_DEVICE: ::std::os::raw::c_uint = 4;
20354 pub const ERROR_CAMERA_SERVICE: ::std::os::raw::c_uint = 5;
20355 pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
20356 pub type ACameraDevice_StateCallback = ::std::option::Option<
20357     unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, device: *mut ACameraDevice),
20358 >;
20359 pub type ACameraDevice_ErrorStateCallback = ::std::option::Option<
20360     unsafe extern "C" fn(
20361         context: *mut ::std::os::raw::c_void,
20362         device: *mut ACameraDevice,
20363         error: ::std::os::raw::c_int,
20364     ),
20365 >;
20366 #[repr(C)]
20367 #[derive(Debug, Copy, Clone)]
20368 pub struct ACameraDevice_StateCallbacks {
20369     pub context: *mut ::std::os::raw::c_void,
20370     pub onDisconnected: ACameraDevice_StateCallback,
20371     pub onError: ACameraDevice_ErrorStateCallback,
20372 }
20373 #[test]
20374 fn bindgen_test_layout_ACameraDevice_StateCallbacks() {
20375     assert_eq!(
20376         ::std::mem::size_of::<ACameraDevice_StateCallbacks>(),
20377         12usize,
20378         concat!("Size of: ", stringify!(ACameraDevice_StateCallbacks))
20379     );
20380     assert_eq!(
20381         ::std::mem::align_of::<ACameraDevice_StateCallbacks>(),
20382         4usize,
20383         concat!("Alignment of ", stringify!(ACameraDevice_StateCallbacks))
20384     );
20385     assert_eq!(
20386         unsafe {
20387             &(*(::std::ptr::null::<ACameraDevice_StateCallbacks>())).context as *const _ as usize
20388         },
20389         0usize,
20390         concat!(
20391             "Offset of field: ",
20392             stringify!(ACameraDevice_StateCallbacks),
20393             "::",
20394             stringify!(context)
20395         )
20396     );
20397     assert_eq!(
20398         unsafe {
20399             &(*(::std::ptr::null::<ACameraDevice_StateCallbacks>())).onDisconnected as *const _
20400                 as usize
20401         },
20402         4usize,
20403         concat!(
20404             "Offset of field: ",
20405             stringify!(ACameraDevice_StateCallbacks),
20406             "::",
20407             stringify!(onDisconnected)
20408         )
20409     );
20410     assert_eq!(
20411         unsafe {
20412             &(*(::std::ptr::null::<ACameraDevice_StateCallbacks>())).onError as *const _ as usize
20413         },
20414         8usize,
20415         concat!(
20416             "Offset of field: ",
20417             stringify!(ACameraDevice_StateCallbacks),
20418             "::",
20419             stringify!(onError)
20420         )
20421     );
20422 }
20423 pub type ACameraDevice_stateCallbacks = ACameraDevice_StateCallbacks;
20424 extern "C" {
20425     pub fn ACameraDevice_close(device: *mut ACameraDevice) -> camera_status_t;
20426 }
20427 extern "C" {
20428     pub fn ACameraDevice_getId(device: *const ACameraDevice) -> *const ::std::os::raw::c_char;
20429 }
20430 pub const ACameraDevice_request_template_TEMPLATE_PREVIEW: ACameraDevice_request_template = 1;
20431 pub const ACameraDevice_request_template_TEMPLATE_STILL_CAPTURE: ACameraDevice_request_template = 2;
20432 pub const ACameraDevice_request_template_TEMPLATE_RECORD: ACameraDevice_request_template = 3;
20433 pub const ACameraDevice_request_template_TEMPLATE_VIDEO_SNAPSHOT: ACameraDevice_request_template =
20434     4;
20435 pub const ACameraDevice_request_template_TEMPLATE_ZERO_SHUTTER_LAG: ACameraDevice_request_template =
20436     5;
20437 pub const ACameraDevice_request_template_TEMPLATE_MANUAL: ACameraDevice_request_template = 6;
20438 pub type ACameraDevice_request_template = ::std::os::raw::c_uint;
20439 extern "C" {
20440     pub fn ACameraDevice_createCaptureRequest(
20441         device: *const ACameraDevice,
20442         templateId: ACameraDevice_request_template,
20443         request: *mut *mut ACaptureRequest,
20444     ) -> camera_status_t;
20445 }
20446 #[repr(C)]
20447 #[derive(Debug, Copy, Clone)]
20448 pub struct ACaptureSessionOutputContainer {
20449     _unused: [u8; 0],
20450 }
20451 extern "C" {
20452     pub fn ACaptureSessionOutputContainer_create(
20453         container: *mut *mut ACaptureSessionOutputContainer,
20454     ) -> camera_status_t;
20455 }
20456 extern "C" {
20457     pub fn ACaptureSessionOutputContainer_free(container: *mut ACaptureSessionOutputContainer);
20458 }
20459 extern "C" {
20460     pub fn ACaptureSessionOutput_create(
20461         anw: *mut ACameraWindowType,
20462         output: *mut *mut ACaptureSessionOutput,
20463     ) -> camera_status_t;
20464 }
20465 extern "C" {
20466     pub fn ACaptureSessionOutput_free(output: *mut ACaptureSessionOutput);
20467 }
20468 extern "C" {
20469     pub fn ACaptureSessionOutputContainer_add(
20470         container: *mut ACaptureSessionOutputContainer,
20471         output: *const ACaptureSessionOutput,
20472     ) -> camera_status_t;
20473 }
20474 extern "C" {
20475     pub fn ACaptureSessionOutputContainer_remove(
20476         container: *mut ACaptureSessionOutputContainer,
20477         output: *const ACaptureSessionOutput,
20478     ) -> camera_status_t;
20479 }
20480 extern "C" {
20481     pub fn ACameraDevice_createCaptureSession(
20482         device: *mut ACameraDevice,
20483         outputs: *const ACaptureSessionOutputContainer,
20484         callbacks: *const ACameraCaptureSession_stateCallbacks,
20485         session: *mut *mut ACameraCaptureSession,
20486     ) -> camera_status_t;
20487 }
20488 extern "C" {
20489     pub fn ACaptureSessionSharedOutput_create(
20490         anw: *mut ACameraWindowType,
20491         output: *mut *mut ACaptureSessionOutput,
20492     ) -> camera_status_t;
20493 }
20494 extern "C" {
20495     pub fn ACaptureSessionSharedOutput_add(
20496         output: *mut ACaptureSessionOutput,
20497         anw: *mut ACameraWindowType,
20498     ) -> camera_status_t;
20499 }
20500 extern "C" {
20501     pub fn ACaptureSessionSharedOutput_remove(
20502         output: *mut ACaptureSessionOutput,
20503         anw: *mut ACameraWindowType,
20504     ) -> camera_status_t;
20505 }
20506 extern "C" {
20507     pub fn ACameraDevice_createCaptureSessionWithSessionParameters(
20508         device: *mut ACameraDevice,
20509         outputs: *const ACaptureSessionOutputContainer,
20510         sessionParameters: *const ACaptureRequest,
20511         callbacks: *const ACameraCaptureSession_stateCallbacks,
20512         session: *mut *mut ACameraCaptureSession,
20513     ) -> camera_status_t;
20514 }
20515 extern "C" {
20516     pub fn ACaptureSessionPhysicalOutput_create(
20517         anw: *mut ACameraWindowType,
20518         physicalId: *const ::std::os::raw::c_char,
20519         output: *mut *mut ACaptureSessionOutput,
20520     ) -> camera_status_t;
20521 }
20522 extern "C" {
20523     pub fn ACameraDevice_createCaptureRequest_withPhysicalIds(
20524         device: *const ACameraDevice,
20525         templateId: ACameraDevice_request_template,
20526         physicalIdList: *const ACameraIdList,
20527         request: *mut *mut ACaptureRequest,
20528     ) -> camera_status_t;
20529 }
20530 extern "C" {
20531     pub fn ACameraDevice_isSessionConfigurationSupported(
20532         device: *const ACameraDevice,
20533         sessionOutputContainer: *const ACaptureSessionOutputContainer,
20534     ) -> camera_status_t;
20535 }
20536 #[repr(C)]
20537 #[derive(Debug, Copy, Clone)]
20538 pub struct ACameraManager {
20539     _unused: [u8; 0],
20540 }
20541 extern "C" {
20542     pub fn ACameraManager_create() -> *mut ACameraManager;
20543 }
20544 extern "C" {
20545     pub fn ACameraManager_delete(manager: *mut ACameraManager);
20546 }
20547 extern "C" {
20548     pub fn ACameraManager_getCameraIdList(
20549         manager: *mut ACameraManager,
20550         cameraIdList: *mut *mut ACameraIdList,
20551     ) -> camera_status_t;
20552 }
20553 extern "C" {
20554     pub fn ACameraManager_deleteCameraIdList(cameraIdList: *mut ACameraIdList);
20555 }
20556 pub type ACameraManager_AvailabilityCallback = ::std::option::Option<
20557     unsafe extern "C" fn(
20558         context: *mut ::std::os::raw::c_void,
20559         cameraId: *const ::std::os::raw::c_char,
20560     ),
20561 >;
20562 pub type ACameraManager_PhysicalCameraAvailabilityCallback = ::std::option::Option<
20563     unsafe extern "C" fn(
20564         context: *mut ::std::os::raw::c_void,
20565         cameraId: *const ::std::os::raw::c_char,
20566         physicalCameraId: *const ::std::os::raw::c_char,
20567     ),
20568 >;
20569 #[repr(C)]
20570 #[derive(Debug, Copy, Clone)]
20571 pub struct ACameraManager_AvailabilityListener {
20572     pub context: *mut ::std::os::raw::c_void,
20573     pub onCameraAvailable: ACameraManager_AvailabilityCallback,
20574     pub onCameraUnavailable: ACameraManager_AvailabilityCallback,
20575 }
20576 #[test]
20577 fn bindgen_test_layout_ACameraManager_AvailabilityListener() {
20578     assert_eq!(
20579         ::std::mem::size_of::<ACameraManager_AvailabilityListener>(),
20580         12usize,
20581         concat!("Size of: ", stringify!(ACameraManager_AvailabilityListener))
20582     );
20583     assert_eq!(
20584         ::std::mem::align_of::<ACameraManager_AvailabilityListener>(),
20585         4usize,
20586         concat!(
20587             "Alignment of ",
20588             stringify!(ACameraManager_AvailabilityListener)
20589         )
20590     );
20591     assert_eq!(
20592         unsafe {
20593             &(*(::std::ptr::null::<ACameraManager_AvailabilityListener>())).context as *const _
20594                 as usize
20595         },
20596         0usize,
20597         concat!(
20598             "Offset of field: ",
20599             stringify!(ACameraManager_AvailabilityListener),
20600             "::",
20601             stringify!(context)
20602         )
20603     );
20604     assert_eq!(
20605         unsafe {
20606             &(*(::std::ptr::null::<ACameraManager_AvailabilityListener>())).onCameraAvailable
20607                 as *const _ as usize
20608         },
20609         4usize,
20610         concat!(
20611             "Offset of field: ",
20612             stringify!(ACameraManager_AvailabilityListener),
20613             "::",
20614             stringify!(onCameraAvailable)
20615         )
20616     );
20617     assert_eq!(
20618         unsafe {
20619             &(*(::std::ptr::null::<ACameraManager_AvailabilityListener>())).onCameraUnavailable
20620                 as *const _ as usize
20621         },
20622         8usize,
20623         concat!(
20624             "Offset of field: ",
20625             stringify!(ACameraManager_AvailabilityListener),
20626             "::",
20627             stringify!(onCameraUnavailable)
20628         )
20629     );
20630 }
20631 pub type ACameraManager_AvailabilityCallbacks = ACameraManager_AvailabilityListener;
20632 extern "C" {
20633     pub fn ACameraManager_registerAvailabilityCallback(
20634         manager: *mut ACameraManager,
20635         callback: *const ACameraManager_AvailabilityCallbacks,
20636     ) -> camera_status_t;
20637 }
20638 extern "C" {
20639     pub fn ACameraManager_unregisterAvailabilityCallback(
20640         manager: *mut ACameraManager,
20641         callback: *const ACameraManager_AvailabilityCallbacks,
20642     ) -> camera_status_t;
20643 }
20644 extern "C" {
20645     pub fn ACameraManager_getCameraCharacteristics(
20646         manager: *mut ACameraManager,
20647         cameraId: *const ::std::os::raw::c_char,
20648         characteristics: *mut *mut ACameraMetadata,
20649     ) -> camera_status_t;
20650 }
20651 extern "C" {
20652     pub fn ACameraManager_openCamera(
20653         manager: *mut ACameraManager,
20654         cameraId: *const ::std::os::raw::c_char,
20655         callback: *mut ACameraDevice_StateCallbacks,
20656         device: *mut *mut ACameraDevice,
20657     ) -> camera_status_t;
20658 }
20659 pub type ACameraManager_AccessPrioritiesChangedCallback =
20660     ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void)>;
20661 #[repr(C)]
20662 #[derive(Debug, Copy, Clone)]
20663 pub struct ACameraManager_ExtendedAvailabilityListener {
20664     pub availabilityCallbacks: ACameraManager_AvailabilityCallbacks,
20665     pub onCameraAccessPrioritiesChanged: ACameraManager_AccessPrioritiesChangedCallback,
20666     pub onPhysicalCameraAvailable: ACameraManager_PhysicalCameraAvailabilityCallback,
20667     pub onPhysicalCameraUnavailable: ACameraManager_PhysicalCameraAvailabilityCallback,
20668     pub reserved: [*mut ::std::os::raw::c_void; 4usize],
20669 }
20670 #[test]
20671 fn bindgen_test_layout_ACameraManager_ExtendedAvailabilityListener() {
20672     assert_eq!(
20673         ::std::mem::size_of::<ACameraManager_ExtendedAvailabilityListener>(),
20674         40usize,
20675         concat!(
20676             "Size of: ",
20677             stringify!(ACameraManager_ExtendedAvailabilityListener)
20678         )
20679     );
20680     assert_eq!(
20681         ::std::mem::align_of::<ACameraManager_ExtendedAvailabilityListener>(),
20682         4usize,
20683         concat!(
20684             "Alignment of ",
20685             stringify!(ACameraManager_ExtendedAvailabilityListener)
20686         )
20687     );
20688     assert_eq!(
20689         unsafe {
20690             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
20691                 .availabilityCallbacks as *const _ as usize
20692         },
20693         0usize,
20694         concat!(
20695             "Offset of field: ",
20696             stringify!(ACameraManager_ExtendedAvailabilityListener),
20697             "::",
20698             stringify!(availabilityCallbacks)
20699         )
20700     );
20701     assert_eq!(
20702         unsafe {
20703             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
20704                 .onCameraAccessPrioritiesChanged as *const _ as usize
20705         },
20706         12usize,
20707         concat!(
20708             "Offset of field: ",
20709             stringify!(ACameraManager_ExtendedAvailabilityListener),
20710             "::",
20711             stringify!(onCameraAccessPrioritiesChanged)
20712         )
20713     );
20714     assert_eq!(
20715         unsafe {
20716             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
20717                 .onPhysicalCameraAvailable as *const _ as usize
20718         },
20719         16usize,
20720         concat!(
20721             "Offset of field: ",
20722             stringify!(ACameraManager_ExtendedAvailabilityListener),
20723             "::",
20724             stringify!(onPhysicalCameraAvailable)
20725         )
20726     );
20727     assert_eq!(
20728         unsafe {
20729             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
20730                 .onPhysicalCameraUnavailable as *const _ as usize
20731         },
20732         20usize,
20733         concat!(
20734             "Offset of field: ",
20735             stringify!(ACameraManager_ExtendedAvailabilityListener),
20736             "::",
20737             stringify!(onPhysicalCameraUnavailable)
20738         )
20739     );
20740     assert_eq!(
20741         unsafe {
20742             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>())).reserved
20743                 as *const _ as usize
20744         },
20745         24usize,
20746         concat!(
20747             "Offset of field: ",
20748             stringify!(ACameraManager_ExtendedAvailabilityListener),
20749             "::",
20750             stringify!(reserved)
20751         )
20752     );
20753 }
20754 pub type ACameraManager_ExtendedAvailabilityCallbacks = ACameraManager_ExtendedAvailabilityListener;
20755 extern "C" {
20756     pub fn ACameraManager_registerExtendedAvailabilityCallback(
20757         manager: *mut ACameraManager,
20758         callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
20759     ) -> camera_status_t;
20760 }
20761 extern "C" {
20762     pub fn ACameraManager_unregisterExtendedAvailabilityCallback(
20763         manager: *mut ACameraManager,
20764         callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
20765     ) -> camera_status_t;
20766 }
20767 pub const media_status_t_AMEDIA_OK: media_status_t = 0;
20768 pub const media_status_t_AMEDIACODEC_ERROR_INSUFFICIENT_RESOURCE: media_status_t = 1100;
20769 pub const media_status_t_AMEDIACODEC_ERROR_RECLAIMED: media_status_t = 1101;
20770 pub const media_status_t_AMEDIA_ERROR_BASE: media_status_t = -10000;
20771 pub const media_status_t_AMEDIA_ERROR_UNKNOWN: media_status_t = -10000;
20772 pub const media_status_t_AMEDIA_ERROR_MALFORMED: media_status_t = -10001;
20773 pub const media_status_t_AMEDIA_ERROR_UNSUPPORTED: media_status_t = -10002;
20774 pub const media_status_t_AMEDIA_ERROR_INVALID_OBJECT: media_status_t = -10003;
20775 pub const media_status_t_AMEDIA_ERROR_INVALID_PARAMETER: media_status_t = -10004;
20776 pub const media_status_t_AMEDIA_ERROR_INVALID_OPERATION: media_status_t = -10005;
20777 pub const media_status_t_AMEDIA_ERROR_END_OF_STREAM: media_status_t = -10006;
20778 pub const media_status_t_AMEDIA_ERROR_IO: media_status_t = -10007;
20779 pub const media_status_t_AMEDIA_ERROR_WOULD_BLOCK: media_status_t = -10008;
20780 pub const media_status_t_AMEDIA_DRM_ERROR_BASE: media_status_t = -20000;
20781 pub const media_status_t_AMEDIA_DRM_NOT_PROVISIONED: media_status_t = -20001;
20782 pub const media_status_t_AMEDIA_DRM_RESOURCE_BUSY: media_status_t = -20002;
20783 pub const media_status_t_AMEDIA_DRM_DEVICE_REVOKED: media_status_t = -20003;
20784 pub const media_status_t_AMEDIA_DRM_SHORT_BUFFER: media_status_t = -20004;
20785 pub const media_status_t_AMEDIA_DRM_SESSION_NOT_OPENED: media_status_t = -20005;
20786 pub const media_status_t_AMEDIA_DRM_TAMPER_DETECTED: media_status_t = -20006;
20787 pub const media_status_t_AMEDIA_DRM_VERIFY_FAILED: media_status_t = -20007;
20788 pub const media_status_t_AMEDIA_DRM_NEED_KEY: media_status_t = -20008;
20789 pub const media_status_t_AMEDIA_DRM_LICENSE_EXPIRED: media_status_t = -20009;
20790 pub const media_status_t_AMEDIA_IMGREADER_ERROR_BASE: media_status_t = -30000;
20791 pub const media_status_t_AMEDIA_IMGREADER_NO_BUFFER_AVAILABLE: media_status_t = -30001;
20792 pub const media_status_t_AMEDIA_IMGREADER_MAX_IMAGES_ACQUIRED: media_status_t = -30002;
20793 pub const media_status_t_AMEDIA_IMGREADER_CANNOT_LOCK_IMAGE: media_status_t = -30003;
20794 pub const media_status_t_AMEDIA_IMGREADER_CANNOT_UNLOCK_IMAGE: media_status_t = -30004;
20795 pub const media_status_t_AMEDIA_IMGREADER_IMAGE_NOT_LOCKED: media_status_t = -30005;
20796 pub type media_status_t = ::std::os::raw::c_int;
20797 #[repr(C)]
20798 #[derive(Debug, Copy, Clone)]
20799 pub struct AImage {
20800     _unused: [u8; 0],
20801 }
20802 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGBA_8888: AIMAGE_FORMATS = 1;
20803 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGBX_8888: AIMAGE_FORMATS = 2;
20804 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGB_888: AIMAGE_FORMATS = 3;
20805 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGB_565: AIMAGE_FORMATS = 4;
20806 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGBA_FP16: AIMAGE_FORMATS = 22;
20807 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_YUV_420_888: AIMAGE_FORMATS = 35;
20808 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_JPEG: AIMAGE_FORMATS = 256;
20809 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW16: AIMAGE_FORMATS = 32;
20810 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW_PRIVATE: AIMAGE_FORMATS = 36;
20811 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW10: AIMAGE_FORMATS = 37;
20812 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW12: AIMAGE_FORMATS = 38;
20813 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_DEPTH16: AIMAGE_FORMATS = 1144402265;
20814 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_DEPTH_POINT_CLOUD: AIMAGE_FORMATS = 257;
20815 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_PRIVATE: AIMAGE_FORMATS = 34;
20816 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_Y8: AIMAGE_FORMATS = 538982489;
20817 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_HEIC: AIMAGE_FORMATS = 1212500294;
20818 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_DEPTH_JPEG: AIMAGE_FORMATS = 1768253795;
20819 pub type AIMAGE_FORMATS = ::std::os::raw::c_uint;
20820 #[repr(C)]
20821 #[derive(Debug, Copy, Clone)]
20822 pub struct AImageCropRect {
20823     pub left: i32,
20824     pub top: i32,
20825     pub right: i32,
20826     pub bottom: i32,
20827 }
20828 #[test]
20829 fn bindgen_test_layout_AImageCropRect() {
20830     assert_eq!(
20831         ::std::mem::size_of::<AImageCropRect>(),
20832         16usize,
20833         concat!("Size of: ", stringify!(AImageCropRect))
20834     );
20835     assert_eq!(
20836         ::std::mem::align_of::<AImageCropRect>(),
20837         4usize,
20838         concat!("Alignment of ", stringify!(AImageCropRect))
20839     );
20840     assert_eq!(
20841         unsafe { &(*(::std::ptr::null::<AImageCropRect>())).left as *const _ as usize },
20842         0usize,
20843         concat!(
20844             "Offset of field: ",
20845             stringify!(AImageCropRect),
20846             "::",
20847             stringify!(left)
20848         )
20849     );
20850     assert_eq!(
20851         unsafe { &(*(::std::ptr::null::<AImageCropRect>())).top as *const _ as usize },
20852         4usize,
20853         concat!(
20854             "Offset of field: ",
20855             stringify!(AImageCropRect),
20856             "::",
20857             stringify!(top)
20858         )
20859     );
20860     assert_eq!(
20861         unsafe { &(*(::std::ptr::null::<AImageCropRect>())).right as *const _ as usize },
20862         8usize,
20863         concat!(
20864             "Offset of field: ",
20865             stringify!(AImageCropRect),
20866             "::",
20867             stringify!(right)
20868         )
20869     );
20870     assert_eq!(
20871         unsafe { &(*(::std::ptr::null::<AImageCropRect>())).bottom as *const _ as usize },
20872         12usize,
20873         concat!(
20874             "Offset of field: ",
20875             stringify!(AImageCropRect),
20876             "::",
20877             stringify!(bottom)
20878         )
20879     );
20880 }
20881 extern "C" {
20882     pub fn AImage_delete(image: *mut AImage);
20883 }
20884 extern "C" {
20885     pub fn AImage_getWidth(image: *const AImage, width: *mut i32) -> media_status_t;
20886 }
20887 extern "C" {
20888     pub fn AImage_getHeight(image: *const AImage, height: *mut i32) -> media_status_t;
20889 }
20890 extern "C" {
20891     pub fn AImage_getFormat(image: *const AImage, format: *mut i32) -> media_status_t;
20892 }
20893 extern "C" {
20894     pub fn AImage_getCropRect(image: *const AImage, rect: *mut AImageCropRect) -> media_status_t;
20895 }
20896 extern "C" {
20897     pub fn AImage_getTimestamp(image: *const AImage, timestampNs: *mut i64) -> media_status_t;
20898 }
20899 extern "C" {
20900     pub fn AImage_getNumberOfPlanes(image: *const AImage, numPlanes: *mut i32) -> media_status_t;
20901 }
20902 extern "C" {
20903     pub fn AImage_getPlanePixelStride(
20904         image: *const AImage,
20905         planeIdx: ::std::os::raw::c_int,
20906         pixelStride: *mut i32,
20907     ) -> media_status_t;
20908 }
20909 extern "C" {
20910     pub fn AImage_getPlaneRowStride(
20911         image: *const AImage,
20912         planeIdx: ::std::os::raw::c_int,
20913         rowStride: *mut i32,
20914     ) -> media_status_t;
20915 }
20916 extern "C" {
20917     pub fn AImage_getPlaneData(
20918         image: *const AImage,
20919         planeIdx: ::std::os::raw::c_int,
20920         data: *mut *mut u8,
20921         dataLength: *mut ::std::os::raw::c_int,
20922     ) -> media_status_t;
20923 }
20924 extern "C" {
20925     pub fn AImage_deleteAsync(image: *mut AImage, releaseFenceFd: ::std::os::raw::c_int);
20926 }
20927 extern "C" {
20928     pub fn AImage_getHardwareBuffer(
20929         image: *const AImage,
20930         buffer: *mut *mut AHardwareBuffer,
20931     ) -> media_status_t;
20932 }
20933 #[repr(C)]
20934 #[derive(Debug, Copy, Clone)]
20935 pub struct AImageReader {
20936     _unused: [u8; 0],
20937 }
20938 extern "C" {
20939     pub fn AImageReader_new(
20940         width: i32,
20941         height: i32,
20942         format: i32,
20943         maxImages: i32,
20944         reader: *mut *mut AImageReader,
20945     ) -> media_status_t;
20946 }
20947 extern "C" {
20948     pub fn AImageReader_delete(reader: *mut AImageReader);
20949 }
20950 extern "C" {
20951     pub fn AImageReader_getWindow(
20952         reader: *mut AImageReader,
20953         window: *mut *mut ANativeWindow,
20954     ) -> media_status_t;
20955 }
20956 extern "C" {
20957     pub fn AImageReader_getWidth(reader: *const AImageReader, width: *mut i32) -> media_status_t;
20958 }
20959 extern "C" {
20960     pub fn AImageReader_getHeight(reader: *const AImageReader, height: *mut i32) -> media_status_t;
20961 }
20962 extern "C" {
20963     pub fn AImageReader_getFormat(reader: *const AImageReader, format: *mut i32) -> media_status_t;
20964 }
20965 extern "C" {
20966     pub fn AImageReader_getMaxImages(
20967         reader: *const AImageReader,
20968         maxImages: *mut i32,
20969     ) -> media_status_t;
20970 }
20971 extern "C" {
20972     pub fn AImageReader_acquireNextImage(
20973         reader: *mut AImageReader,
20974         image: *mut *mut AImage,
20975     ) -> media_status_t;
20976 }
20977 extern "C" {
20978     pub fn AImageReader_acquireLatestImage(
20979         reader: *mut AImageReader,
20980         image: *mut *mut AImage,
20981     ) -> media_status_t;
20982 }
20983 pub type AImageReader_ImageCallback = ::std::option::Option<
20984     unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, reader: *mut AImageReader),
20985 >;
20986 #[repr(C)]
20987 #[derive(Debug, Copy, Clone)]
20988 pub struct AImageReader_ImageListener {
20989     pub context: *mut ::std::os::raw::c_void,
20990     pub onImageAvailable: AImageReader_ImageCallback,
20991 }
20992 #[test]
20993 fn bindgen_test_layout_AImageReader_ImageListener() {
20994     assert_eq!(
20995         ::std::mem::size_of::<AImageReader_ImageListener>(),
20996         8usize,
20997         concat!("Size of: ", stringify!(AImageReader_ImageListener))
20998     );
20999     assert_eq!(
21000         ::std::mem::align_of::<AImageReader_ImageListener>(),
21001         4usize,
21002         concat!("Alignment of ", stringify!(AImageReader_ImageListener))
21003     );
21004     assert_eq!(
21005         unsafe {
21006             &(*(::std::ptr::null::<AImageReader_ImageListener>())).context as *const _ as usize
21007         },
21008         0usize,
21009         concat!(
21010             "Offset of field: ",
21011             stringify!(AImageReader_ImageListener),
21012             "::",
21013             stringify!(context)
21014         )
21015     );
21016     assert_eq!(
21017         unsafe {
21018             &(*(::std::ptr::null::<AImageReader_ImageListener>())).onImageAvailable as *const _
21019                 as usize
21020         },
21021         4usize,
21022         concat!(
21023             "Offset of field: ",
21024             stringify!(AImageReader_ImageListener),
21025             "::",
21026             stringify!(onImageAvailable)
21027         )
21028     );
21029 }
21030 extern "C" {
21031     pub fn AImageReader_setImageListener(
21032         reader: *mut AImageReader,
21033         listener: *mut AImageReader_ImageListener,
21034     ) -> media_status_t;
21035 }
21036 extern "C" {
21037     pub fn AImageReader_newWithUsage(
21038         width: i32,
21039         height: i32,
21040         format: i32,
21041         usage: u64,
21042         maxImages: i32,
21043         reader: *mut *mut AImageReader,
21044     ) -> media_status_t;
21045 }
21046 extern "C" {
21047     pub fn AImageReader_acquireNextImageAsync(
21048         reader: *mut AImageReader,
21049         image: *mut *mut AImage,
21050         acquireFenceFd: *mut ::std::os::raw::c_int,
21051     ) -> media_status_t;
21052 }
21053 extern "C" {
21054     pub fn AImageReader_acquireLatestImageAsync(
21055         reader: *mut AImageReader,
21056         image: *mut *mut AImage,
21057         acquireFenceFd: *mut ::std::os::raw::c_int,
21058     ) -> media_status_t;
21059 }
21060 pub type AImageReader_BufferRemovedCallback = ::std::option::Option<
21061     unsafe extern "C" fn(
21062         context: *mut ::std::os::raw::c_void,
21063         reader: *mut AImageReader,
21064         buffer: *mut AHardwareBuffer,
21065     ),
21066 >;
21067 #[repr(C)]
21068 #[derive(Debug, Copy, Clone)]
21069 pub struct AImageReader_BufferRemovedListener {
21070     pub context: *mut ::std::os::raw::c_void,
21071     pub onBufferRemoved: AImageReader_BufferRemovedCallback,
21072 }
21073 #[test]
21074 fn bindgen_test_layout_AImageReader_BufferRemovedListener() {
21075     assert_eq!(
21076         ::std::mem::size_of::<AImageReader_BufferRemovedListener>(),
21077         8usize,
21078         concat!("Size of: ", stringify!(AImageReader_BufferRemovedListener))
21079     );
21080     assert_eq!(
21081         ::std::mem::align_of::<AImageReader_BufferRemovedListener>(),
21082         4usize,
21083         concat!(
21084             "Alignment of ",
21085             stringify!(AImageReader_BufferRemovedListener)
21086         )
21087     );
21088     assert_eq!(
21089         unsafe {
21090             &(*(::std::ptr::null::<AImageReader_BufferRemovedListener>())).context as *const _
21091                 as usize
21092         },
21093         0usize,
21094         concat!(
21095             "Offset of field: ",
21096             stringify!(AImageReader_BufferRemovedListener),
21097             "::",
21098             stringify!(context)
21099         )
21100     );
21101     assert_eq!(
21102         unsafe {
21103             &(*(::std::ptr::null::<AImageReader_BufferRemovedListener>())).onBufferRemoved
21104                 as *const _ as usize
21105         },
21106         4usize,
21107         concat!(
21108             "Offset of field: ",
21109             stringify!(AImageReader_BufferRemovedListener),
21110             "::",
21111             stringify!(onBufferRemoved)
21112         )
21113     );
21114 }
21115 extern "C" {
21116     pub fn AImageReader_setBufferRemovedListener(
21117         reader: *mut AImageReader,
21118         listener: *mut AImageReader_BufferRemovedListener,
21119     ) -> media_status_t;
21120 }
21121 pub type __builtin_va_list = __va_list;
21122 #[repr(C)]
21123 #[derive(Debug, Copy, Clone)]
21124 pub struct __va_list {
21125     pub __ap: *mut ::std::os::raw::c_void,
21126 }
21127 #[test]
21128 fn bindgen_test_layout___va_list() {
21129     assert_eq!(
21130         ::std::mem::size_of::<__va_list>(),
21131         4usize,
21132         concat!("Size of: ", stringify!(__va_list))
21133     );
21134     assert_eq!(
21135         ::std::mem::align_of::<__va_list>(),
21136         4usize,
21137         concat!("Alignment of ", stringify!(__va_list))
21138     );
21139     assert_eq!(
21140         unsafe { &(*(::std::ptr::null::<__va_list>())).__ap as *const _ as usize },
21141         0usize,
21142         concat!(
21143             "Offset of field: ",
21144             stringify!(__va_list),
21145             "::",
21146             stringify!(__ap)
21147         )
21148     );
21149 }
21150