1 /* automatically generated by rust-bindgen */
2 
3 #[repr(C)]
4 #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5 pub struct __BindgenBitfieldUnit<Storage, Align> {
6     storage: Storage,
7     align: [Align; 0],
8 }
9 impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> {
10     #[inline]
new(storage: Storage) -> Self11     pub const fn new(storage: Storage) -> Self {
12         Self { storage, align: [] }
13     }
14 }
15 impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align>
16 where
17     Storage: AsRef<[u8]> + AsMut<[u8]>,
18 {
19     #[inline]
get_bit(&self, index: usize) -> bool20     pub fn get_bit(&self, index: usize) -> bool {
21         debug_assert!(index / 8 < self.storage.as_ref().len());
22         let byte_index = index / 8;
23         let byte = self.storage.as_ref()[byte_index];
24         let bit_index = if cfg!(target_endian = "big") {
25             7 - (index % 8)
26         } else {
27             index % 8
28         };
29         let mask = 1 << bit_index;
30         byte & mask == mask
31     }
32     #[inline]
set_bit(&mut self, index: usize, val: bool)33     pub fn set_bit(&mut self, index: usize, val: bool) {
34         debug_assert!(index / 8 < self.storage.as_ref().len());
35         let byte_index = index / 8;
36         let byte = &mut self.storage.as_mut()[byte_index];
37         let bit_index = if cfg!(target_endian = "big") {
38             7 - (index % 8)
39         } else {
40             index % 8
41         };
42         let mask = 1 << bit_index;
43         if val {
44             *byte |= mask;
45         } else {
46             *byte &= !mask;
47         }
48     }
49     #[inline]
get(&self, bit_offset: usize, bit_width: u8) -> u6450     pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
51         debug_assert!(bit_width <= 64);
52         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
53         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
54         let mut val = 0;
55         for i in 0..(bit_width as usize) {
56             if self.get_bit(i + bit_offset) {
57                 let index = if cfg!(target_endian = "big") {
58                     bit_width as usize - 1 - i
59                 } else {
60                     i
61                 };
62                 val |= 1 << index;
63             }
64         }
65         val
66     }
67     #[inline]
set(&mut self, bit_offset: usize, bit_width: u8, val: u64)68     pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
69         debug_assert!(bit_width <= 64);
70         debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
71         debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
72         for i in 0..(bit_width as usize) {
73             let mask = 1 << i;
74             let val_bit_is_set = val & mask == mask;
75             let index = if cfg!(target_endian = "big") {
76                 bit_width as usize - 1 - i
77             } else {
78                 i
79             };
80             self.set_bit(index + bit_offset, val_bit_is_set);
81         }
82     }
83 }
84 pub const __BIONIC__: u32 = 1;
85 pub const __WORDSIZE: u32 = 32;
86 pub const __bos_level: u32 = 0;
87 pub const __NDK_MAJOR__: u32 = 21;
88 pub const __NDK_MINOR__: u32 = 1;
89 pub const __NDK_BETA__: u32 = 3;
90 pub const __NDK_BUILD__: u32 = 6363665;
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 WCHAR_MIN: u8 = 0u8;
111 pub const INT8_MIN: i32 = -128;
112 pub const INT8_MAX: u32 = 127;
113 pub const INT_LEAST8_MIN: i32 = -128;
114 pub const INT_LEAST8_MAX: u32 = 127;
115 pub const INT_FAST8_MIN: i32 = -128;
116 pub const INT_FAST8_MAX: u32 = 127;
117 pub const UINT8_MAX: u32 = 255;
118 pub const UINT_LEAST8_MAX: u32 = 255;
119 pub const UINT_FAST8_MAX: u32 = 255;
120 pub const INT16_MIN: i32 = -32768;
121 pub const INT16_MAX: u32 = 32767;
122 pub const INT_LEAST16_MIN: i32 = -32768;
123 pub const INT_LEAST16_MAX: u32 = 32767;
124 pub const UINT16_MAX: u32 = 65535;
125 pub const UINT_LEAST16_MAX: u32 = 65535;
126 pub const INT32_MIN: i32 = -2147483648;
127 pub const INT32_MAX: u32 = 2147483647;
128 pub const INT_LEAST32_MIN: i32 = -2147483648;
129 pub const INT_LEAST32_MAX: u32 = 2147483647;
130 pub const INT_FAST32_MIN: i32 = -2147483648;
131 pub const INT_FAST32_MAX: u32 = 2147483647;
132 pub const UINT32_MAX: u32 = 4294967295;
133 pub const UINT_LEAST32_MAX: u32 = 4294967295;
134 pub const UINT_FAST32_MAX: u32 = 4294967295;
135 pub const SIG_ATOMIC_MAX: u32 = 2147483647;
136 pub const SIG_ATOMIC_MIN: i32 = -2147483648;
137 pub const WINT_MAX: u32 = 4294967295;
138 pub const WINT_MIN: u32 = 0;
139 pub const INTPTR_MIN: i32 = -2147483648;
140 pub const INTPTR_MAX: u32 = 2147483647;
141 pub const UINTPTR_MAX: u32 = 4294967295;
142 pub const PTRDIFF_MIN: i32 = -2147483648;
143 pub const PTRDIFF_MAX: u32 = 2147483647;
144 pub const SIZE_MAX: u32 = 4294967295;
145 pub const __BITS_PER_LONG: u32 = 32;
146 pub const __FD_SETSIZE: u32 = 1024;
147 pub const __GNUC_VA_LIST: u32 = 1;
148 pub const JNI_FALSE: u32 = 0;
149 pub const JNI_TRUE: u32 = 1;
150 pub const JNI_VERSION_1_1: u32 = 65537;
151 pub const JNI_VERSION_1_2: u32 = 65538;
152 pub const JNI_VERSION_1_4: u32 = 65540;
153 pub const JNI_VERSION_1_6: u32 = 65542;
154 pub const JNI_OK: u32 = 0;
155 pub const JNI_ERR: i32 = -1;
156 pub const JNI_EDETACHED: i32 = -2;
157 pub const JNI_EVERSION: i32 = -3;
158 pub const JNI_ENOMEM: i32 = -4;
159 pub const JNI_EEXIST: i32 = -5;
160 pub const JNI_EINVAL: i32 = -6;
161 pub const JNI_COMMIT: u32 = 1;
162 pub const JNI_ABORT: u32 = 2;
163 pub const true_: u32 = 1;
164 pub const false_: u32 = 0;
165 pub const __bool_true_false_are_defined: u32 = 1;
166 pub const __PRI_64_prefix: &'static [u8; 3usize] = b"ll\0";
167 pub const PRId8: &'static [u8; 2usize] = b"d\0";
168 pub const PRId16: &'static [u8; 2usize] = b"d\0";
169 pub const PRId32: &'static [u8; 2usize] = b"d\0";
170 pub const PRId64: &'static [u8; 4usize] = b"lld\0";
171 pub const PRIdLEAST8: &'static [u8; 2usize] = b"d\0";
172 pub const PRIdLEAST16: &'static [u8; 2usize] = b"d\0";
173 pub const PRIdLEAST32: &'static [u8; 2usize] = b"d\0";
174 pub const PRIdLEAST64: &'static [u8; 4usize] = b"lld\0";
175 pub const PRIdFAST8: &'static [u8; 2usize] = b"d\0";
176 pub const PRIdFAST64: &'static [u8; 4usize] = b"lld\0";
177 pub const PRIdMAX: &'static [u8; 3usize] = b"jd\0";
178 pub const PRIi8: &'static [u8; 2usize] = b"i\0";
179 pub const PRIi16: &'static [u8; 2usize] = b"i\0";
180 pub const PRIi32: &'static [u8; 2usize] = b"i\0";
181 pub const PRIi64: &'static [u8; 4usize] = b"lli\0";
182 pub const PRIiLEAST8: &'static [u8; 2usize] = b"i\0";
183 pub const PRIiLEAST16: &'static [u8; 2usize] = b"i\0";
184 pub const PRIiLEAST32: &'static [u8; 2usize] = b"i\0";
185 pub const PRIiLEAST64: &'static [u8; 4usize] = b"lli\0";
186 pub const PRIiFAST8: &'static [u8; 2usize] = b"i\0";
187 pub const PRIiFAST64: &'static [u8; 4usize] = b"lli\0";
188 pub const PRIiMAX: &'static [u8; 3usize] = b"ji\0";
189 pub const PRIo8: &'static [u8; 2usize] = b"o\0";
190 pub const PRIo16: &'static [u8; 2usize] = b"o\0";
191 pub const PRIo32: &'static [u8; 2usize] = b"o\0";
192 pub const PRIo64: &'static [u8; 4usize] = b"llo\0";
193 pub const PRIoLEAST8: &'static [u8; 2usize] = b"o\0";
194 pub const PRIoLEAST16: &'static [u8; 2usize] = b"o\0";
195 pub const PRIoLEAST32: &'static [u8; 2usize] = b"o\0";
196 pub const PRIoLEAST64: &'static [u8; 4usize] = b"llo\0";
197 pub const PRIoFAST8: &'static [u8; 2usize] = b"o\0";
198 pub const PRIoFAST64: &'static [u8; 4usize] = b"llo\0";
199 pub const PRIoMAX: &'static [u8; 3usize] = b"jo\0";
200 pub const PRIu8: &'static [u8; 2usize] = b"u\0";
201 pub const PRIu16: &'static [u8; 2usize] = b"u\0";
202 pub const PRIu32: &'static [u8; 2usize] = b"u\0";
203 pub const PRIu64: &'static [u8; 4usize] = b"llu\0";
204 pub const PRIuLEAST8: &'static [u8; 2usize] = b"u\0";
205 pub const PRIuLEAST16: &'static [u8; 2usize] = b"u\0";
206 pub const PRIuLEAST32: &'static [u8; 2usize] = b"u\0";
207 pub const PRIuLEAST64: &'static [u8; 4usize] = b"llu\0";
208 pub const PRIuFAST8: &'static [u8; 2usize] = b"u\0";
209 pub const PRIuFAST64: &'static [u8; 4usize] = b"llu\0";
210 pub const PRIuMAX: &'static [u8; 3usize] = b"ju\0";
211 pub const PRIx8: &'static [u8; 2usize] = b"x\0";
212 pub const PRIx16: &'static [u8; 2usize] = b"x\0";
213 pub const PRIx32: &'static [u8; 2usize] = b"x\0";
214 pub const PRIx64: &'static [u8; 4usize] = b"llx\0";
215 pub const PRIxLEAST8: &'static [u8; 2usize] = b"x\0";
216 pub const PRIxLEAST16: &'static [u8; 2usize] = b"x\0";
217 pub const PRIxLEAST32: &'static [u8; 2usize] = b"x\0";
218 pub const PRIxLEAST64: &'static [u8; 4usize] = b"llx\0";
219 pub const PRIxFAST8: &'static [u8; 2usize] = b"x\0";
220 pub const PRIxFAST64: &'static [u8; 4usize] = b"llx\0";
221 pub const PRIxMAX: &'static [u8; 3usize] = b"jx\0";
222 pub const PRIX8: &'static [u8; 2usize] = b"X\0";
223 pub const PRIX16: &'static [u8; 2usize] = b"X\0";
224 pub const PRIX32: &'static [u8; 2usize] = b"X\0";
225 pub const PRIX64: &'static [u8; 4usize] = b"llX\0";
226 pub const PRIXLEAST8: &'static [u8; 2usize] = b"X\0";
227 pub const PRIXLEAST16: &'static [u8; 2usize] = b"X\0";
228 pub const PRIXLEAST32: &'static [u8; 2usize] = b"X\0";
229 pub const PRIXLEAST64: &'static [u8; 4usize] = b"llX\0";
230 pub const PRIXFAST8: &'static [u8; 2usize] = b"X\0";
231 pub const PRIXFAST64: &'static [u8; 4usize] = b"llX\0";
232 pub const PRIXMAX: &'static [u8; 3usize] = b"jX\0";
233 pub const SCNd8: &'static [u8; 4usize] = b"hhd\0";
234 pub const SCNd16: &'static [u8; 3usize] = b"hd\0";
235 pub const SCNd32: &'static [u8; 2usize] = b"d\0";
236 pub const SCNd64: &'static [u8; 4usize] = b"lld\0";
237 pub const SCNdLEAST8: &'static [u8; 4usize] = b"hhd\0";
238 pub const SCNdLEAST16: &'static [u8; 3usize] = b"hd\0";
239 pub const SCNdLEAST32: &'static [u8; 2usize] = b"d\0";
240 pub const SCNdLEAST64: &'static [u8; 4usize] = b"lld\0";
241 pub const SCNdFAST8: &'static [u8; 4usize] = b"hhd\0";
242 pub const SCNdFAST64: &'static [u8; 4usize] = b"lld\0";
243 pub const SCNdMAX: &'static [u8; 3usize] = b"jd\0";
244 pub const SCNi8: &'static [u8; 4usize] = b"hhi\0";
245 pub const SCNi16: &'static [u8; 3usize] = b"hi\0";
246 pub const SCNi32: &'static [u8; 2usize] = b"i\0";
247 pub const SCNi64: &'static [u8; 4usize] = b"lli\0";
248 pub const SCNiLEAST8: &'static [u8; 4usize] = b"hhi\0";
249 pub const SCNiLEAST16: &'static [u8; 3usize] = b"hi\0";
250 pub const SCNiLEAST32: &'static [u8; 2usize] = b"i\0";
251 pub const SCNiLEAST64: &'static [u8; 4usize] = b"lli\0";
252 pub const SCNiFAST8: &'static [u8; 4usize] = b"hhi\0";
253 pub const SCNiFAST64: &'static [u8; 4usize] = b"lli\0";
254 pub const SCNiMAX: &'static [u8; 3usize] = b"ji\0";
255 pub const SCNo8: &'static [u8; 4usize] = b"hho\0";
256 pub const SCNo16: &'static [u8; 3usize] = b"ho\0";
257 pub const SCNo32: &'static [u8; 2usize] = b"o\0";
258 pub const SCNo64: &'static [u8; 4usize] = b"llo\0";
259 pub const SCNoLEAST8: &'static [u8; 4usize] = b"hho\0";
260 pub const SCNoLEAST16: &'static [u8; 3usize] = b"ho\0";
261 pub const SCNoLEAST32: &'static [u8; 2usize] = b"o\0";
262 pub const SCNoLEAST64: &'static [u8; 4usize] = b"llo\0";
263 pub const SCNoFAST8: &'static [u8; 4usize] = b"hho\0";
264 pub const SCNoFAST64: &'static [u8; 4usize] = b"llo\0";
265 pub const SCNoMAX: &'static [u8; 3usize] = b"jo\0";
266 pub const SCNu8: &'static [u8; 4usize] = b"hhu\0";
267 pub const SCNu16: &'static [u8; 3usize] = b"hu\0";
268 pub const SCNu32: &'static [u8; 2usize] = b"u\0";
269 pub const SCNu64: &'static [u8; 4usize] = b"llu\0";
270 pub const SCNuLEAST8: &'static [u8; 4usize] = b"hhu\0";
271 pub const SCNuLEAST16: &'static [u8; 3usize] = b"hu\0";
272 pub const SCNuLEAST32: &'static [u8; 2usize] = b"u\0";
273 pub const SCNuLEAST64: &'static [u8; 4usize] = b"llu\0";
274 pub const SCNuFAST8: &'static [u8; 4usize] = b"hhu\0";
275 pub const SCNuFAST64: &'static [u8; 4usize] = b"llu\0";
276 pub const SCNuMAX: &'static [u8; 3usize] = b"ju\0";
277 pub const SCNx8: &'static [u8; 4usize] = b"hhx\0";
278 pub const SCNx16: &'static [u8; 3usize] = b"hx\0";
279 pub const SCNx32: &'static [u8; 2usize] = b"x\0";
280 pub const SCNx64: &'static [u8; 4usize] = b"llx\0";
281 pub const SCNxLEAST8: &'static [u8; 4usize] = b"hhx\0";
282 pub const SCNxLEAST16: &'static [u8; 3usize] = b"hx\0";
283 pub const SCNxLEAST32: &'static [u8; 2usize] = b"x\0";
284 pub const SCNxLEAST64: &'static [u8; 4usize] = b"llx\0";
285 pub const SCNxFAST8: &'static [u8; 4usize] = b"hhx\0";
286 pub const SCNxFAST64: &'static [u8; 4usize] = b"llx\0";
287 pub const SCNxMAX: &'static [u8; 3usize] = b"jx\0";
288 pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
289 pub const _K_SS_MAXSIZE: u32 = 128;
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 SOCK_IOC_TYPE: u32 = 137;
435 pub const SIOCADDRT: u32 = 35083;
436 pub const SIOCDELRT: u32 = 35084;
437 pub const SIOCRTMSG: u32 = 35085;
438 pub const SIOCGIFNAME: u32 = 35088;
439 pub const SIOCSIFLINK: u32 = 35089;
440 pub const SIOCGIFCONF: u32 = 35090;
441 pub const SIOCGIFFLAGS: u32 = 35091;
442 pub const SIOCSIFFLAGS: u32 = 35092;
443 pub const SIOCGIFADDR: u32 = 35093;
444 pub const SIOCSIFADDR: u32 = 35094;
445 pub const SIOCGIFDSTADDR: u32 = 35095;
446 pub const SIOCSIFDSTADDR: u32 = 35096;
447 pub const SIOCGIFBRDADDR: u32 = 35097;
448 pub const SIOCSIFBRDADDR: u32 = 35098;
449 pub const SIOCGIFNETMASK: u32 = 35099;
450 pub const SIOCSIFNETMASK: u32 = 35100;
451 pub const SIOCGIFMETRIC: u32 = 35101;
452 pub const SIOCSIFMETRIC: u32 = 35102;
453 pub const SIOCGIFMEM: u32 = 35103;
454 pub const SIOCSIFMEM: u32 = 35104;
455 pub const SIOCGIFMTU: u32 = 35105;
456 pub const SIOCSIFMTU: u32 = 35106;
457 pub const SIOCSIFNAME: u32 = 35107;
458 pub const SIOCSIFHWADDR: u32 = 35108;
459 pub const SIOCGIFENCAP: u32 = 35109;
460 pub const SIOCSIFENCAP: u32 = 35110;
461 pub const SIOCGIFHWADDR: u32 = 35111;
462 pub const SIOCGIFSLAVE: u32 = 35113;
463 pub const SIOCSIFSLAVE: u32 = 35120;
464 pub const SIOCADDMULTI: u32 = 35121;
465 pub const SIOCDELMULTI: u32 = 35122;
466 pub const SIOCGIFINDEX: u32 = 35123;
467 pub const SIOGIFINDEX: u32 = 35123;
468 pub const SIOCSIFPFLAGS: u32 = 35124;
469 pub const SIOCGIFPFLAGS: u32 = 35125;
470 pub const SIOCDIFADDR: u32 = 35126;
471 pub const SIOCSIFHWBROADCAST: u32 = 35127;
472 pub const SIOCGIFCOUNT: u32 = 35128;
473 pub const SIOCGIFBR: u32 = 35136;
474 pub const SIOCSIFBR: u32 = 35137;
475 pub const SIOCGIFTXQLEN: u32 = 35138;
476 pub const SIOCSIFTXQLEN: u32 = 35139;
477 pub const SIOCETHTOOL: u32 = 35142;
478 pub const SIOCGMIIPHY: u32 = 35143;
479 pub const SIOCGMIIREG: u32 = 35144;
480 pub const SIOCSMIIREG: u32 = 35145;
481 pub const SIOCWANDEV: u32 = 35146;
482 pub const SIOCOUTQNSD: u32 = 35147;
483 pub const SIOCGSKNS: u32 = 35148;
484 pub const SIOCDARP: u32 = 35155;
485 pub const SIOCGARP: u32 = 35156;
486 pub const SIOCSARP: u32 = 35157;
487 pub const SIOCDRARP: u32 = 35168;
488 pub const SIOCGRARP: u32 = 35169;
489 pub const SIOCSRARP: u32 = 35170;
490 pub const SIOCGIFMAP: u32 = 35184;
491 pub const SIOCSIFMAP: u32 = 35185;
492 pub const SIOCADDDLCI: u32 = 35200;
493 pub const SIOCDELDLCI: u32 = 35201;
494 pub const SIOCGIFVLAN: u32 = 35202;
495 pub const SIOCSIFVLAN: u32 = 35203;
496 pub const SIOCBONDENSLAVE: u32 = 35216;
497 pub const SIOCBONDRELEASE: u32 = 35217;
498 pub const SIOCBONDSETHWADDR: u32 = 35218;
499 pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
500 pub const SIOCBONDINFOQUERY: u32 = 35220;
501 pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
502 pub const SIOCBRADDBR: u32 = 35232;
503 pub const SIOCBRDELBR: u32 = 35233;
504 pub const SIOCBRADDIF: u32 = 35234;
505 pub const SIOCBRDELIF: u32 = 35235;
506 pub const SIOCSHWTSTAMP: u32 = 35248;
507 pub const SIOCGHWTSTAMP: u32 = 35249;
508 pub const SIOCDEVPRIVATE: u32 = 35312;
509 pub const SIOCPROTOPRIVATE: u32 = 35296;
510 pub const UIO_FASTIOV: u32 = 8;
511 pub const UIO_MAXIOV: u32 = 1024;
512 pub const SOCK_STREAM: u32 = 1;
513 pub const SOCK_DGRAM: u32 = 2;
514 pub const SOCK_RAW: u32 = 3;
515 pub const SOCK_RDM: u32 = 4;
516 pub const SOCK_SEQPACKET: u32 = 5;
517 pub const SOCK_DCCP: u32 = 6;
518 pub const SOCK_PACKET: u32 = 10;
519 pub const SOCK_CLOEXEC: u32 = 524288;
520 pub const SOCK_NONBLOCK: u32 = 2048;
521 pub const SCM_RIGHTS: u32 = 1;
522 pub const SCM_CREDENTIALS: u32 = 2;
523 pub const SCM_SECURITY: u32 = 3;
524 pub const AF_UNSPEC: u32 = 0;
525 pub const AF_UNIX: u32 = 1;
526 pub const AF_LOCAL: u32 = 1;
527 pub const AF_INET: u32 = 2;
528 pub const AF_AX25: u32 = 3;
529 pub const AF_IPX: u32 = 4;
530 pub const AF_APPLETALK: u32 = 5;
531 pub const AF_NETROM: u32 = 6;
532 pub const AF_BRIDGE: u32 = 7;
533 pub const AF_ATMPVC: u32 = 8;
534 pub const AF_X25: u32 = 9;
535 pub const AF_INET6: u32 = 10;
536 pub const AF_ROSE: u32 = 11;
537 pub const AF_DECnet: u32 = 12;
538 pub const AF_NETBEUI: u32 = 13;
539 pub const AF_SECURITY: u32 = 14;
540 pub const AF_KEY: u32 = 15;
541 pub const AF_NETLINK: u32 = 16;
542 pub const AF_ROUTE: u32 = 16;
543 pub const AF_PACKET: u32 = 17;
544 pub const AF_ASH: u32 = 18;
545 pub const AF_ECONET: u32 = 19;
546 pub const AF_ATMSVC: u32 = 20;
547 pub const AF_RDS: u32 = 21;
548 pub const AF_SNA: u32 = 22;
549 pub const AF_IRDA: u32 = 23;
550 pub const AF_PPPOX: u32 = 24;
551 pub const AF_WANPIPE: u32 = 25;
552 pub const AF_LLC: u32 = 26;
553 pub const AF_CAN: u32 = 29;
554 pub const AF_TIPC: u32 = 30;
555 pub const AF_BLUETOOTH: u32 = 31;
556 pub const AF_IUCV: u32 = 32;
557 pub const AF_RXRPC: u32 = 33;
558 pub const AF_ISDN: u32 = 34;
559 pub const AF_PHONET: u32 = 35;
560 pub const AF_IEEE802154: u32 = 36;
561 pub const AF_CAIF: u32 = 37;
562 pub const AF_ALG: u32 = 38;
563 pub const AF_NFC: u32 = 39;
564 pub const AF_VSOCK: u32 = 40;
565 pub const AF_KCM: u32 = 41;
566 pub const AF_QIPCRTR: u32 = 42;
567 pub const AF_MAX: u32 = 43;
568 pub const PF_UNSPEC: u32 = 0;
569 pub const PF_UNIX: u32 = 1;
570 pub const PF_LOCAL: u32 = 1;
571 pub const PF_INET: u32 = 2;
572 pub const PF_AX25: u32 = 3;
573 pub const PF_IPX: u32 = 4;
574 pub const PF_APPLETALK: u32 = 5;
575 pub const PF_NETROM: u32 = 6;
576 pub const PF_BRIDGE: u32 = 7;
577 pub const PF_ATMPVC: u32 = 8;
578 pub const PF_X25: u32 = 9;
579 pub const PF_INET6: u32 = 10;
580 pub const PF_ROSE: u32 = 11;
581 pub const PF_DECnet: u32 = 12;
582 pub const PF_NETBEUI: u32 = 13;
583 pub const PF_SECURITY: u32 = 14;
584 pub const PF_KEY: u32 = 15;
585 pub const PF_NETLINK: u32 = 16;
586 pub const PF_ROUTE: u32 = 16;
587 pub const PF_PACKET: u32 = 17;
588 pub const PF_ASH: u32 = 18;
589 pub const PF_ECONET: u32 = 19;
590 pub const PF_ATMSVC: u32 = 20;
591 pub const PF_RDS: u32 = 21;
592 pub const PF_SNA: u32 = 22;
593 pub const PF_IRDA: u32 = 23;
594 pub const PF_PPPOX: u32 = 24;
595 pub const PF_WANPIPE: u32 = 25;
596 pub const PF_LLC: u32 = 26;
597 pub const PF_CAN: u32 = 29;
598 pub const PF_TIPC: u32 = 30;
599 pub const PF_BLUETOOTH: u32 = 31;
600 pub const PF_IUCV: u32 = 32;
601 pub const PF_RXRPC: u32 = 33;
602 pub const PF_ISDN: u32 = 34;
603 pub const PF_PHONET: u32 = 35;
604 pub const PF_IEEE802154: u32 = 36;
605 pub const PF_CAIF: u32 = 37;
606 pub const PF_ALG: u32 = 38;
607 pub const PF_NFC: u32 = 39;
608 pub const PF_VSOCK: u32 = 40;
609 pub const PF_KCM: u32 = 41;
610 pub const PF_QIPCRTR: u32 = 42;
611 pub const PF_MAX: u32 = 43;
612 pub const SOMAXCONN: u32 = 128;
613 pub const MSG_OOB: u32 = 1;
614 pub const MSG_PEEK: u32 = 2;
615 pub const MSG_DONTROUTE: u32 = 4;
616 pub const MSG_TRYHARD: u32 = 4;
617 pub const MSG_CTRUNC: u32 = 8;
618 pub const MSG_PROBE: u32 = 16;
619 pub const MSG_TRUNC: u32 = 32;
620 pub const MSG_DONTWAIT: u32 = 64;
621 pub const MSG_EOR: u32 = 128;
622 pub const MSG_WAITALL: u32 = 256;
623 pub const MSG_FIN: u32 = 512;
624 pub const MSG_SYN: u32 = 1024;
625 pub const MSG_CONFIRM: u32 = 2048;
626 pub const MSG_RST: u32 = 4096;
627 pub const MSG_ERRQUEUE: u32 = 8192;
628 pub const MSG_NOSIGNAL: u32 = 16384;
629 pub const MSG_MORE: u32 = 32768;
630 pub const MSG_WAITFORONE: u32 = 65536;
631 pub const MSG_BATCH: u32 = 262144;
632 pub const MSG_FASTOPEN: u32 = 536870912;
633 pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
634 pub const MSG_EOF: u32 = 512;
635 pub const MSG_CMSG_COMPAT: u32 = 0;
636 pub const SOL_IP: u32 = 0;
637 pub const SOL_TCP: u32 = 6;
638 pub const SOL_UDP: u32 = 17;
639 pub const SOL_IPV6: u32 = 41;
640 pub const SOL_ICMPV6: u32 = 58;
641 pub const SOL_SCTP: u32 = 132;
642 pub const SOL_RAW: u32 = 255;
643 pub const SOL_IPX: u32 = 256;
644 pub const SOL_AX25: u32 = 257;
645 pub const SOL_ATALK: u32 = 258;
646 pub const SOL_NETROM: u32 = 259;
647 pub const SOL_ROSE: u32 = 260;
648 pub const SOL_DECNET: u32 = 261;
649 pub const SOL_X25: u32 = 262;
650 pub const SOL_PACKET: u32 = 263;
651 pub const SOL_ATM: u32 = 264;
652 pub const SOL_AAL: u32 = 265;
653 pub const SOL_IRDA: u32 = 266;
654 pub const SOL_NETBEUI: u32 = 267;
655 pub const SOL_LLC: u32 = 268;
656 pub const SOL_DCCP: u32 = 269;
657 pub const SOL_NETLINK: u32 = 270;
658 pub const SOL_TIPC: u32 = 271;
659 pub const SOL_RXRPC: u32 = 272;
660 pub const SOL_PPPOL2TP: u32 = 273;
661 pub const SOL_BLUETOOTH: u32 = 274;
662 pub const SOL_PNPIPE: u32 = 275;
663 pub const SOL_RDS: u32 = 276;
664 pub const SOL_IUCV: u32 = 277;
665 pub const SOL_CAIF: u32 = 278;
666 pub const SOL_ALG: u32 = 279;
667 pub const SOL_NFC: u32 = 280;
668 pub const SOL_KCM: u32 = 281;
669 pub const SOL_TLS: u32 = 282;
670 pub const IPX_TYPE: u32 = 1;
671 pub const _PATH_HEQUIV: &'static [u8; 24usize] = b"/system/etc/hosts.equiv\0";
672 pub const _PATH_HOSTS: &'static [u8; 18usize] = b"/system/etc/hosts\0";
673 pub const _PATH_NETWORKS: &'static [u8; 21usize] = b"/system/etc/networks\0";
674 pub const _PATH_PROTOCOLS: &'static [u8; 22usize] = b"/system/etc/protocols\0";
675 pub const _PATH_SERVICES: &'static [u8; 21usize] = b"/system/etc/services\0";
676 pub const NETDB_INTERNAL: i32 = -1;
677 pub const NETDB_SUCCESS: u32 = 0;
678 pub const HOST_NOT_FOUND: u32 = 1;
679 pub const TRY_AGAIN: u32 = 2;
680 pub const NO_RECOVERY: u32 = 3;
681 pub const NO_DATA: u32 = 4;
682 pub const NO_ADDRESS: u32 = 4;
683 pub const EAI_ADDRFAMILY: u32 = 1;
684 pub const EAI_AGAIN: u32 = 2;
685 pub const EAI_BADFLAGS: u32 = 3;
686 pub const EAI_FAIL: u32 = 4;
687 pub const EAI_FAMILY: u32 = 5;
688 pub const EAI_MEMORY: u32 = 6;
689 pub const EAI_NODATA: u32 = 7;
690 pub const EAI_NONAME: u32 = 8;
691 pub const EAI_SERVICE: u32 = 9;
692 pub const EAI_SOCKTYPE: u32 = 10;
693 pub const EAI_SYSTEM: u32 = 11;
694 pub const EAI_BADHINTS: u32 = 12;
695 pub const EAI_PROTOCOL: u32 = 13;
696 pub const EAI_OVERFLOW: u32 = 14;
697 pub const EAI_MAX: u32 = 15;
698 pub const AI_PASSIVE: u32 = 1;
699 pub const AI_CANONNAME: u32 = 2;
700 pub const AI_NUMERICHOST: u32 = 4;
701 pub const AI_NUMERICSERV: u32 = 8;
702 pub const AI_ALL: u32 = 256;
703 pub const AI_V4MAPPED_CFG: u32 = 512;
704 pub const AI_ADDRCONFIG: u32 = 1024;
705 pub const AI_V4MAPPED: u32 = 2048;
706 pub const AI_DEFAULT: u32 = 1536;
707 pub const NI_MAXHOST: u32 = 1025;
708 pub const NI_MAXSERV: u32 = 32;
709 pub const NI_NOFQDN: u32 = 1;
710 pub const NI_NUMERICHOST: u32 = 2;
711 pub const NI_NAMEREQD: u32 = 4;
712 pub const NI_NUMERICSERV: u32 = 8;
713 pub const NI_DGRAM: u32 = 16;
714 pub const SCOPE_DELIMITER: u8 = 37u8;
715 pub const IPPORT_RESERVED: u32 = 1024;
716 pub const WNOHANG: u32 = 1;
717 pub const WUNTRACED: u32 = 2;
718 pub const WSTOPPED: u32 = 2;
719 pub const WEXITED: u32 = 4;
720 pub const WCONTINUED: u32 = 8;
721 pub const WNOWAIT: u32 = 16777216;
722 pub const __WNOTHREAD: u32 = 536870912;
723 pub const __WALL: u32 = 1073741824;
724 pub const __WCLONE: u32 = 2147483648;
725 pub const P_ALL: u32 = 0;
726 pub const P_PID: u32 = 1;
727 pub const P_PGID: u32 = 2;
728 pub const SEEK_SET: u32 = 0;
729 pub const SEEK_CUR: u32 = 1;
730 pub const SEEK_END: u32 = 2;
731 pub const _IOFBF: u32 = 0;
732 pub const _IOLBF: u32 = 1;
733 pub const _IONBF: u32 = 2;
734 pub const BUFSIZ: u32 = 1024;
735 pub const EOF: i32 = -1;
736 pub const FOPEN_MAX: u32 = 20;
737 pub const FILENAME_MAX: u32 = 4096;
738 pub const L_tmpnam: u32 = 4096;
739 pub const TMP_MAX: u32 = 308915776;
740 pub const P_tmpdir: &'static [u8; 6usize] = b"/tmp/\0";
741 pub const L_ctermid: u32 = 1024;
742 pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
743 pub const M_DECAY_TIME: i32 = -100;
744 pub const M_PURGE: i32 = -101;
745 pub const EXIT_FAILURE: u32 = 1;
746 pub const EXIT_SUCCESS: u32 = 0;
747 pub const RAND_MAX: u32 = 2147483647;
748 pub const NR_OPEN: u32 = 1024;
749 pub const NGROUPS_MAX: u32 = 65536;
750 pub const ARG_MAX: u32 = 131072;
751 pub const LINK_MAX: u32 = 127;
752 pub const MAX_CANON: u32 = 255;
753 pub const MAX_INPUT: u32 = 255;
754 pub const NAME_MAX: u32 = 255;
755 pub const PATH_MAX: u32 = 4096;
756 pub const PIPE_BUF: u32 = 4096;
757 pub const XATTR_NAME_MAX: u32 = 255;
758 pub const XATTR_SIZE_MAX: u32 = 65536;
759 pub const XATTR_LIST_MAX: u32 = 65536;
760 pub const RTSIG_MAX: u32 = 32;
761 pub const PASS_MAX: u32 = 128;
762 pub const NL_ARGMAX: u32 = 9;
763 pub const NL_LANGMAX: u32 = 14;
764 pub const NL_MSGMAX: u32 = 32767;
765 pub const NL_NMAX: u32 = 1;
766 pub const NL_SETMAX: u32 = 255;
767 pub const NL_TEXTMAX: u32 = 255;
768 pub const CHAR_BIT: u32 = 8;
769 pub const LONG_BIT: u32 = 32;
770 pub const WORD_BIT: u32 = 32;
771 pub const SCHAR_MAX: u32 = 127;
772 pub const SCHAR_MIN: i32 = -128;
773 pub const UCHAR_MAX: u32 = 255;
774 pub const CHAR_MIN: u32 = 0;
775 pub const CHAR_MAX: u32 = 255;
776 pub const USHRT_MAX: u32 = 65535;
777 pub const SHRT_MAX: u32 = 32767;
778 pub const SHRT_MIN: i32 = -32768;
779 pub const UINT_MAX: u32 = 4294967295;
780 pub const INT_MAX: u32 = 2147483647;
781 pub const INT_MIN: i32 = -2147483648;
782 pub const ULONG_MAX: u32 = 4294967295;
783 pub const LONG_MAX: u32 = 2147483647;
784 pub const LONG_MIN: i32 = -2147483648;
785 pub const ULLONG_MAX: i32 = -1;
786 pub const LLONG_MAX: u64 = 9223372036854775807;
787 pub const LLONG_MIN: i64 = -9223372036854775808;
788 pub const LONG_LONG_MIN: i64 = -9223372036854775808;
789 pub const LONG_LONG_MAX: u64 = 9223372036854775807;
790 pub const ULONG_LONG_MAX: i32 = -1;
791 pub const UID_MAX: u32 = 4294967295;
792 pub const GID_MAX: u32 = 4294967295;
793 pub const SIZE_T_MAX: u32 = 4294967295;
794 pub const SSIZE_MAX: u32 = 2147483647;
795 pub const MB_LEN_MAX: u32 = 4;
796 pub const NZERO: u32 = 20;
797 pub const IOV_MAX: u32 = 1024;
798 pub const SEM_VALUE_MAX: u32 = 1073741823;
799 pub const _POSIX_VERSION: u32 = 200809;
800 pub const _POSIX2_VERSION: u32 = 200809;
801 pub const _XOPEN_VERSION: u32 = 700;
802 pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
803 pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
804 pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
805 pub const _POSIX_CPUTIME: u32 = 200809;
806 pub const _POSIX_FSYNC: u32 = 200809;
807 pub const _POSIX_IPV6: u32 = 200809;
808 pub const _POSIX_MAPPED_FILES: u32 = 200809;
809 pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
810 pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
811 pub const _POSIX_MESSAGE_PASSING: i32 = -1;
812 pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
813 pub const _POSIX_NO_TRUNC: u32 = 1;
814 pub const _POSIX_PRIORITIZED_IO: i32 = -1;
815 pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
816 pub const _POSIX_RAW_SOCKETS: u32 = 200809;
817 pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
818 pub const _POSIX_REGEXP: u32 = 1;
819 pub const _POSIX_SAVED_IDS: u32 = 1;
820 pub const _POSIX_SEMAPHORES: u32 = 200809;
821 pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
822 pub const _POSIX_SHELL: u32 = 1;
823 pub const _POSIX_SPORADIC_SERVER: i32 = -1;
824 pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
825 pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
826 pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
827 pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
828 pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
829 pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
830 pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
831 pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
832 pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
833 pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
834 pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
835 pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
836 pub const _POSIX_THREADS: u32 = 200809;
837 pub const _POSIX_TIMERS: u32 = 200809;
838 pub const _POSIX_TRACE: i32 = -1;
839 pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
840 pub const _POSIX_TRACE_INHERIT: i32 = -1;
841 pub const _POSIX_TRACE_LOG: i32 = -1;
842 pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
843 pub const _POSIX_VDISABLE: u8 = 0u8;
844 pub const _POSIX2_C_BIND: u32 = 200809;
845 pub const _POSIX2_C_DEV: i32 = -1;
846 pub const _POSIX2_CHAR_TERM: u32 = 200809;
847 pub const _POSIX2_FORT_DEV: i32 = -1;
848 pub const _POSIX2_FORT_RUN: i32 = -1;
849 pub const _POSIX2_LOCALEDEF: i32 = -1;
850 pub const _POSIX2_SW_DEV: i32 = -1;
851 pub const _POSIX2_UPE: i32 = -1;
852 pub const _POSIX_V7_ILP32_OFF32: u32 = 1;
853 pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
854 pub const _POSIX_V7_LP64_OFF64: i32 = -1;
855 pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1;
856 pub const _XOPEN_CRYPT: i32 = -1;
857 pub const _XOPEN_ENH_I18N: u32 = 1;
858 pub const _XOPEN_LEGACY: i32 = -1;
859 pub const _XOPEN_REALTIME: u32 = 1;
860 pub const _XOPEN_REALTIME_THREADS: u32 = 1;
861 pub const _XOPEN_SHM: u32 = 1;
862 pub const _XOPEN_STREAMS: i32 = -1;
863 pub const _XOPEN_UNIX: u32 = 1;
864 pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
865 pub const _POSIX_AIO_MAX: u32 = 1;
866 pub const _POSIX_ARG_MAX: u32 = 4096;
867 pub const _POSIX_CHILD_MAX: u32 = 25;
868 pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
869 pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
870 pub const _POSIX_HOST_NAME_MAX: u32 = 255;
871 pub const _POSIX_LINK_MAX: u32 = 8;
872 pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
873 pub const _POSIX_MAX_CANON: u32 = 255;
874 pub const _POSIX_MAX_INPUT: u32 = 255;
875 pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
876 pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
877 pub const _POSIX_NAME_MAX: u32 = 14;
878 pub const _POSIX_NGROUPS_MAX: u32 = 8;
879 pub const _POSIX_OPEN_MAX: u32 = 20;
880 pub const _POSIX_PATH_MAX: u32 = 256;
881 pub const _POSIX_PIPE_BUF: u32 = 512;
882 pub const _POSIX_RE_DUP_MAX: u32 = 255;
883 pub const _POSIX_RTSIG_MAX: u32 = 8;
884 pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
885 pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
886 pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
887 pub const _POSIX_SSIZE_MAX: u32 = 32767;
888 pub const _POSIX_STREAM_MAX: u32 = 8;
889 pub const _POSIX_SS_REPL_MAX: u32 = 4;
890 pub const _POSIX_SYMLINK_MAX: u32 = 255;
891 pub const _POSIX_SYMLOOP_MAX: u32 = 8;
892 pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
893 pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
894 pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
895 pub const _POSIX_TIMER_MAX: u32 = 32;
896 pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
897 pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
898 pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
899 pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
900 pub const _POSIX_TTY_NAME_MAX: u32 = 9;
901 pub const _POSIX_TZNAME_MAX: u32 = 6;
902 pub const _POSIX2_BC_BASE_MAX: u32 = 99;
903 pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
904 pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
905 pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
906 pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
907 pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
908 pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
909 pub const _POSIX2_LINE_MAX: u32 = 2048;
910 pub const _POSIX2_RE_DUP_MAX: u32 = 255;
911 pub const _XOPEN_IOV_MAX: u32 = 16;
912 pub const _XOPEN_NAME_MAX: u32 = 255;
913 pub const _XOPEN_PATH_MAX: u32 = 1024;
914 pub const HOST_NAME_MAX: u32 = 255;
915 pub const LOGIN_NAME_MAX: u32 = 256;
916 pub const TTY_NAME_MAX: u32 = 32;
917 pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
918 pub const PTHREAD_KEYS_MAX: u32 = 128;
919 pub const FP_INFINITE: u32 = 1;
920 pub const FP_NAN: u32 = 2;
921 pub const FP_NORMAL: u32 = 4;
922 pub const FP_SUBNORMAL: u32 = 8;
923 pub const FP_ZERO: u32 = 16;
924 pub const FP_ILOGB0: i32 = -2147483647;
925 pub const FP_ILOGBNAN: u32 = 2147483647;
926 pub const MATH_ERRNO: u32 = 1;
927 pub const MATH_ERREXCEPT: u32 = 2;
928 pub const math_errhandling: u32 = 2;
929 pub const M_E: f64 = 2.718281828459045;
930 pub const M_LOG2E: f64 = 1.4426950408889634;
931 pub const M_LOG10E: f64 = 0.4342944819032518;
932 pub const M_LN2: f64 = 0.6931471805599453;
933 pub const M_LN10: f64 = 2.302585092994046;
934 pub const M_PI: f64 = 3.141592653589793;
935 pub const M_PI_2: f64 = 1.5707963267948966;
936 pub const M_PI_4: f64 = 0.7853981633974483;
937 pub const M_1_PI: f64 = 0.3183098861837907;
938 pub const M_2_PI: f64 = 0.6366197723675814;
939 pub const M_2_SQRTPI: f64 = 1.1283791670955126;
940 pub const M_SQRT2: f64 = 1.4142135623730951;
941 pub const M_SQRT1_2: f64 = 0.7071067811865476;
942 pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
943 pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
944 pub const ASENSOR_INVALID: i32 = -1;
945 pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
946 pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
947 pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
948 pub const _IOC_NRBITS: u32 = 8;
949 pub const _IOC_TYPEBITS: u32 = 8;
950 pub const _IOC_SIZEBITS: u32 = 14;
951 pub const _IOC_DIRBITS: u32 = 2;
952 pub const _IOC_NRMASK: u32 = 255;
953 pub const _IOC_TYPEMASK: u32 = 255;
954 pub const _IOC_SIZEMASK: u32 = 16383;
955 pub const _IOC_DIRMASK: u32 = 3;
956 pub const _IOC_NRSHIFT: u32 = 0;
957 pub const _IOC_TYPESHIFT: u32 = 8;
958 pub const _IOC_SIZESHIFT: u32 = 16;
959 pub const _IOC_DIRSHIFT: u32 = 30;
960 pub const _IOC_NONE: u32 = 0;
961 pub const _IOC_WRITE: u32 = 1;
962 pub const _IOC_READ: u32 = 2;
963 pub const IOC_IN: u32 = 1073741824;
964 pub const IOC_OUT: u32 = 2147483648;
965 pub const IOC_INOUT: u32 = 3221225472;
966 pub const IOCSIZE_MASK: u32 = 1073676288;
967 pub const IOCSIZE_SHIFT: u32 = 16;
968 pub const SYNC_IOC_MAGIC: u8 = 62u8;
969 pub const ITIMER_REAL: u32 = 0;
970 pub const ITIMER_VIRTUAL: u32 = 1;
971 pub const ITIMER_PROF: u32 = 2;
972 pub const CLOCK_REALTIME: u32 = 0;
973 pub const CLOCK_MONOTONIC: u32 = 1;
974 pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
975 pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
976 pub const CLOCK_MONOTONIC_RAW: u32 = 4;
977 pub const CLOCK_REALTIME_COARSE: u32 = 5;
978 pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
979 pub const CLOCK_BOOTTIME: u32 = 7;
980 pub const CLOCK_REALTIME_ALARM: u32 = 8;
981 pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
982 pub const CLOCK_SGI_CYCLE: u32 = 10;
983 pub const CLOCK_TAI: u32 = 11;
984 pub const MAX_CLOCKS: u32 = 16;
985 pub const CLOCKS_MASK: u32 = 1;
986 pub const CLOCKS_MONO: u32 = 1;
987 pub const TIMER_ABSTIME: u32 = 1;
988 pub const _KERNEL_NSIG: u32 = 32;
989 pub const SIGHUP: u32 = 1;
990 pub const SIGINT: u32 = 2;
991 pub const SIGQUIT: u32 = 3;
992 pub const SIGILL: u32 = 4;
993 pub const SIGTRAP: u32 = 5;
994 pub const SIGABRT: u32 = 6;
995 pub const SIGIOT: u32 = 6;
996 pub const SIGBUS: u32 = 7;
997 pub const SIGFPE: u32 = 8;
998 pub const SIGKILL: u32 = 9;
999 pub const SIGUSR1: u32 = 10;
1000 pub const SIGSEGV: u32 = 11;
1001 pub const SIGUSR2: u32 = 12;
1002 pub const SIGPIPE: u32 = 13;
1003 pub const SIGALRM: u32 = 14;
1004 pub const SIGTERM: u32 = 15;
1005 pub const SIGSTKFLT: u32 = 16;
1006 pub const SIGCHLD: u32 = 17;
1007 pub const SIGCONT: u32 = 18;
1008 pub const SIGSTOP: u32 = 19;
1009 pub const SIGTSTP: u32 = 20;
1010 pub const SIGTTIN: u32 = 21;
1011 pub const SIGTTOU: u32 = 22;
1012 pub const SIGURG: u32 = 23;
1013 pub const SIGXCPU: u32 = 24;
1014 pub const SIGXFSZ: u32 = 25;
1015 pub const SIGVTALRM: u32 = 26;
1016 pub const SIGPROF: u32 = 27;
1017 pub const SIGWINCH: u32 = 28;
1018 pub const SIGIO: u32 = 29;
1019 pub const SIGPOLL: u32 = 29;
1020 pub const SIGPWR: u32 = 30;
1021 pub const SIGSYS: u32 = 31;
1022 pub const SIGUNUSED: u32 = 31;
1023 pub const __SIGRTMIN: u32 = 32;
1024 pub const SIGSWI: u32 = 32;
1025 pub const SA_NOCLDSTOP: u32 = 1;
1026 pub const SA_NOCLDWAIT: u32 = 2;
1027 pub const SA_SIGINFO: u32 = 4;
1028 pub const SA_THIRTYTWO: u32 = 33554432;
1029 pub const SA_RESTORER: u32 = 67108864;
1030 pub const SA_ONSTACK: u32 = 134217728;
1031 pub const SA_RESTART: u32 = 268435456;
1032 pub const SA_NODEFER: u32 = 1073741824;
1033 pub const SA_RESETHAND: u32 = 2147483648;
1034 pub const SA_NOMASK: u32 = 1073741824;
1035 pub const SA_ONESHOT: u32 = 2147483648;
1036 pub const MINSIGSTKSZ: u32 = 2048;
1037 pub const SIGSTKSZ: u32 = 8192;
1038 pub const SIG_BLOCK: u32 = 0;
1039 pub const SIG_UNBLOCK: u32 = 1;
1040 pub const SIG_SETMASK: u32 = 2;
1041 pub const SI_MAX_SIZE: u32 = 128;
1042 pub const SI_USER: u32 = 0;
1043 pub const SI_KERNEL: u32 = 128;
1044 pub const SI_QUEUE: i32 = -1;
1045 pub const SI_TIMER: i32 = -2;
1046 pub const SI_MESGQ: i32 = -3;
1047 pub const SI_ASYNCIO: i32 = -4;
1048 pub const SI_SIGIO: i32 = -5;
1049 pub const SI_TKILL: i32 = -6;
1050 pub const SI_DETHREAD: i32 = -7;
1051 pub const SI_ASYNCNL: i32 = -60;
1052 pub const ILL_ILLOPC: u32 = 1;
1053 pub const ILL_ILLOPN: u32 = 2;
1054 pub const ILL_ILLADR: u32 = 3;
1055 pub const ILL_ILLTRP: u32 = 4;
1056 pub const ILL_PRVOPC: u32 = 5;
1057 pub const ILL_PRVREG: u32 = 6;
1058 pub const ILL_COPROC: u32 = 7;
1059 pub const ILL_BADSTK: u32 = 8;
1060 pub const ILL_BADIADDR: u32 = 9;
1061 pub const __ILL_BREAK: u32 = 10;
1062 pub const __ILL_BNDMOD: u32 = 11;
1063 pub const NSIGILL: u32 = 11;
1064 pub const FPE_INTDIV: u32 = 1;
1065 pub const FPE_INTOVF: u32 = 2;
1066 pub const FPE_FLTDIV: u32 = 3;
1067 pub const FPE_FLTOVF: u32 = 4;
1068 pub const FPE_FLTUND: u32 = 5;
1069 pub const FPE_FLTRES: u32 = 6;
1070 pub const FPE_FLTINV: u32 = 7;
1071 pub const FPE_FLTSUB: u32 = 8;
1072 pub const __FPE_DECOVF: u32 = 9;
1073 pub const __FPE_DECDIV: u32 = 10;
1074 pub const __FPE_DECERR: u32 = 11;
1075 pub const __FPE_INVASC: u32 = 12;
1076 pub const __FPE_INVDEC: u32 = 13;
1077 pub const FPE_FLTUNK: u32 = 14;
1078 pub const FPE_CONDTRAP: u32 = 15;
1079 pub const NSIGFPE: u32 = 15;
1080 pub const SEGV_MAPERR: u32 = 1;
1081 pub const SEGV_ACCERR: u32 = 2;
1082 pub const SEGV_BNDERR: u32 = 3;
1083 pub const SEGV_PKUERR: u32 = 4;
1084 pub const SEGV_ACCADI: u32 = 5;
1085 pub const SEGV_ADIDERR: u32 = 6;
1086 pub const SEGV_ADIPERR: u32 = 7;
1087 pub const NSIGSEGV: u32 = 7;
1088 pub const BUS_ADRALN: u32 = 1;
1089 pub const BUS_ADRERR: u32 = 2;
1090 pub const BUS_OBJERR: u32 = 3;
1091 pub const BUS_MCEERR_AR: u32 = 4;
1092 pub const BUS_MCEERR_AO: u32 = 5;
1093 pub const NSIGBUS: u32 = 5;
1094 pub const TRAP_BRKPT: u32 = 1;
1095 pub const TRAP_TRACE: u32 = 2;
1096 pub const TRAP_BRANCH: u32 = 3;
1097 pub const TRAP_HWBKPT: u32 = 4;
1098 pub const TRAP_UNK: u32 = 5;
1099 pub const NSIGTRAP: u32 = 5;
1100 pub const CLD_EXITED: u32 = 1;
1101 pub const CLD_KILLED: u32 = 2;
1102 pub const CLD_DUMPED: u32 = 3;
1103 pub const CLD_TRAPPED: u32 = 4;
1104 pub const CLD_STOPPED: u32 = 5;
1105 pub const CLD_CONTINUED: u32 = 6;
1106 pub const NSIGCHLD: u32 = 6;
1107 pub const POLL_IN: u32 = 1;
1108 pub const POLL_OUT: u32 = 2;
1109 pub const POLL_MSG: u32 = 3;
1110 pub const POLL_ERR: u32 = 4;
1111 pub const POLL_PRI: u32 = 5;
1112 pub const POLL_HUP: u32 = 6;
1113 pub const NSIGPOLL: u32 = 6;
1114 pub const SYS_SECCOMP: u32 = 1;
1115 pub const NSIGSYS: u32 = 1;
1116 pub const EMT_TAGOVF: u32 = 1;
1117 pub const NSIGEMT: u32 = 1;
1118 pub const SIGEV_SIGNAL: u32 = 0;
1119 pub const SIGEV_NONE: u32 = 1;
1120 pub const SIGEV_THREAD: u32 = 2;
1121 pub const SIGEV_THREAD_ID: u32 = 4;
1122 pub const SIGEV_MAX_SIZE: u32 = 64;
1123 pub const SS_ONSTACK: u32 = 1;
1124 pub const SS_DISABLE: u32 = 2;
1125 pub const SS_AUTODISARM: u32 = 2147483648;
1126 pub const SS_FLAG_BITS: u32 = 2147483648;
1127 pub const _KERNEL__NSIG: u32 = 64;
1128 pub const _NSIG: u32 = 65;
1129 pub const NSIG: u32 = 65;
1130 pub const PAGE_SIZE: u32 = 4096;
1131 pub const PAGE_MASK: i32 = -4096;
1132 pub const NGREG: u32 = 18;
1133 pub const FD_SETSIZE: u32 = 1024;
1134 pub const CLOCKS_PER_SEC: u32 = 1000000;
1135 pub const TIME_UTC: u32 = 1;
1136 pub const AAUDIO_UNSPECIFIED: u32 = 0;
1137 pub const AAUDIO_SYSTEM_USAGE_OFFSET: u32 = 1000;
1138 extern "C" {
android_get_application_target_sdk_version() -> ::std::os::raw::c_int1139     pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
1140 }
1141 extern "C" {
android_get_device_api_level() -> ::std::os::raw::c_int1142     pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
1143 }
1144 pub type size_t = ::std::os::raw::c_uint;
1145 pub type wchar_t = ::std::os::raw::c_uint;
1146 #[repr(C)]
1147 #[derive(Debug, Copy, Clone)]
1148 pub struct max_align_t {
1149     pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
1150     pub __clang_max_align_nonce2: f64,
1151 }
1152 #[test]
bindgen_test_layout_max_align_t()1153 fn bindgen_test_layout_max_align_t() {
1154     assert_eq!(
1155         ::std::mem::size_of::<max_align_t>(),
1156         16usize,
1157         concat!("Size of: ", stringify!(max_align_t))
1158     );
1159     assert_eq!(
1160         ::std::mem::align_of::<max_align_t>(),
1161         8usize,
1162         concat!("Alignment of ", stringify!(max_align_t))
1163     );
1164     assert_eq!(
1165         unsafe {
1166             &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
1167         },
1168         0usize,
1169         concat!(
1170             "Offset of field: ",
1171             stringify!(max_align_t),
1172             "::",
1173             stringify!(__clang_max_align_nonce1)
1174         )
1175     );
1176     assert_eq!(
1177         unsafe {
1178             &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
1179         },
1180         8usize,
1181         concat!(
1182             "Offset of field: ",
1183             stringify!(max_align_t),
1184             "::",
1185             stringify!(__clang_max_align_nonce2)
1186         )
1187     );
1188 }
1189 pub type __int8_t = ::std::os::raw::c_schar;
1190 pub type __uint8_t = ::std::os::raw::c_uchar;
1191 pub type __int16_t = ::std::os::raw::c_short;
1192 pub type __uint16_t = ::std::os::raw::c_ushort;
1193 pub type __int32_t = ::std::os::raw::c_int;
1194 pub type __uint32_t = ::std::os::raw::c_uint;
1195 pub type __int64_t = ::std::os::raw::c_longlong;
1196 pub type __uint64_t = ::std::os::raw::c_ulonglong;
1197 pub type __intptr_t = ::std::os::raw::c_int;
1198 pub type __uintptr_t = ::std::os::raw::c_uint;
1199 pub type int_least8_t = i8;
1200 pub type uint_least8_t = u8;
1201 pub type int_least16_t = i16;
1202 pub type uint_least16_t = u16;
1203 pub type int_least32_t = i32;
1204 pub type uint_least32_t = u32;
1205 pub type int_least64_t = i64;
1206 pub type uint_least64_t = u64;
1207 pub type int_fast8_t = i8;
1208 pub type uint_fast8_t = u8;
1209 pub type int_fast64_t = i64;
1210 pub type uint_fast64_t = u64;
1211 pub type int_fast16_t = i32;
1212 pub type uint_fast16_t = u32;
1213 pub type int_fast32_t = i32;
1214 pub type uint_fast32_t = u32;
1215 pub type uintmax_t = u64;
1216 pub type intmax_t = i64;
1217 pub type __s8 = ::std::os::raw::c_schar;
1218 pub type __u8 = ::std::os::raw::c_uchar;
1219 pub type __s16 = ::std::os::raw::c_short;
1220 pub type __u16 = ::std::os::raw::c_ushort;
1221 pub type __s32 = ::std::os::raw::c_int;
1222 pub type __u32 = ::std::os::raw::c_uint;
1223 pub type __s64 = ::std::os::raw::c_longlong;
1224 pub type __u64 = ::std::os::raw::c_ulonglong;
1225 #[repr(C)]
1226 #[derive(Debug, Copy, Clone)]
1227 pub struct __kernel_fd_set {
1228     pub fds_bits: [::std::os::raw::c_ulong; 32usize],
1229 }
1230 #[test]
bindgen_test_layout___kernel_fd_set()1231 fn bindgen_test_layout___kernel_fd_set() {
1232     assert_eq!(
1233         ::std::mem::size_of::<__kernel_fd_set>(),
1234         128usize,
1235         concat!("Size of: ", stringify!(__kernel_fd_set))
1236     );
1237     assert_eq!(
1238         ::std::mem::align_of::<__kernel_fd_set>(),
1239         4usize,
1240         concat!("Alignment of ", stringify!(__kernel_fd_set))
1241     );
1242     assert_eq!(
1243         unsafe { &(*(::std::ptr::null::<__kernel_fd_set>())).fds_bits as *const _ as usize },
1244         0usize,
1245         concat!(
1246             "Offset of field: ",
1247             stringify!(__kernel_fd_set),
1248             "::",
1249             stringify!(fds_bits)
1250         )
1251     );
1252 }
1253 pub type __kernel_sighandler_t =
1254     ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
1255 pub type __kernel_key_t = ::std::os::raw::c_int;
1256 pub type __kernel_mqd_t = ::std::os::raw::c_int;
1257 pub type __kernel_mode_t = ::std::os::raw::c_ushort;
1258 pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort;
1259 pub type __kernel_uid_t = ::std::os::raw::c_ushort;
1260 pub type __kernel_gid_t = ::std::os::raw::c_ushort;
1261 pub type __kernel_old_dev_t = ::std::os::raw::c_ushort;
1262 pub type __kernel_long_t = ::std::os::raw::c_long;
1263 pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1264 pub type __kernel_ino_t = __kernel_ulong_t;
1265 pub type __kernel_pid_t = ::std::os::raw::c_int;
1266 pub type __kernel_suseconds_t = __kernel_long_t;
1267 pub type __kernel_daddr_t = ::std::os::raw::c_int;
1268 pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1269 pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1270 pub type __kernel_old_uid_t = __kernel_uid_t;
1271 pub type __kernel_old_gid_t = __kernel_gid_t;
1272 pub type __kernel_size_t = ::std::os::raw::c_uint;
1273 pub type __kernel_ssize_t = ::std::os::raw::c_int;
1274 pub type __kernel_ptrdiff_t = ::std::os::raw::c_int;
1275 #[repr(C)]
1276 #[derive(Debug, Copy, Clone)]
1277 pub struct __kernel_fsid_t {
1278     pub val: [::std::os::raw::c_int; 2usize],
1279 }
1280 #[test]
bindgen_test_layout___kernel_fsid_t()1281 fn bindgen_test_layout___kernel_fsid_t() {
1282     assert_eq!(
1283         ::std::mem::size_of::<__kernel_fsid_t>(),
1284         8usize,
1285         concat!("Size of: ", stringify!(__kernel_fsid_t))
1286     );
1287     assert_eq!(
1288         ::std::mem::align_of::<__kernel_fsid_t>(),
1289         4usize,
1290         concat!("Alignment of ", stringify!(__kernel_fsid_t))
1291     );
1292     assert_eq!(
1293         unsafe { &(*(::std::ptr::null::<__kernel_fsid_t>())).val as *const _ as usize },
1294         0usize,
1295         concat!(
1296             "Offset of field: ",
1297             stringify!(__kernel_fsid_t),
1298             "::",
1299             stringify!(val)
1300         )
1301     );
1302 }
1303 pub type __kernel_off_t = __kernel_long_t;
1304 pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1305 pub type __kernel_time_t = __kernel_long_t;
1306 pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1307 pub type __kernel_clock_t = __kernel_long_t;
1308 pub type __kernel_timer_t = ::std::os::raw::c_int;
1309 pub type __kernel_clockid_t = ::std::os::raw::c_int;
1310 pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1311 pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1312 pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1313 pub type __le16 = __u16;
1314 pub type __be16 = __u16;
1315 pub type __le32 = __u32;
1316 pub type __be32 = __u32;
1317 pub type __le64 = __u64;
1318 pub type __be64 = __u64;
1319 pub type __sum16 = __u16;
1320 pub type __wsum = __u32;
1321 pub type __poll_t = ::std::os::raw::c_uint;
1322 #[repr(C)]
1323 #[derive(Debug, Copy, Clone)]
1324 pub struct pthread_attr_t {
1325     pub flags: u32,
1326     pub stack_base: *mut ::std::os::raw::c_void,
1327     pub stack_size: size_t,
1328     pub guard_size: size_t,
1329     pub sched_policy: i32,
1330     pub sched_priority: i32,
1331 }
1332 #[test]
bindgen_test_layout_pthread_attr_t()1333 fn bindgen_test_layout_pthread_attr_t() {
1334     assert_eq!(
1335         ::std::mem::size_of::<pthread_attr_t>(),
1336         24usize,
1337         concat!("Size of: ", stringify!(pthread_attr_t))
1338     );
1339     assert_eq!(
1340         ::std::mem::align_of::<pthread_attr_t>(),
1341         4usize,
1342         concat!("Alignment of ", stringify!(pthread_attr_t))
1343     );
1344     assert_eq!(
1345         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).flags as *const _ as usize },
1346         0usize,
1347         concat!(
1348             "Offset of field: ",
1349             stringify!(pthread_attr_t),
1350             "::",
1351             stringify!(flags)
1352         )
1353     );
1354     assert_eq!(
1355         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_base as *const _ as usize },
1356         4usize,
1357         concat!(
1358             "Offset of field: ",
1359             stringify!(pthread_attr_t),
1360             "::",
1361             stringify!(stack_base)
1362         )
1363     );
1364     assert_eq!(
1365         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).stack_size as *const _ as usize },
1366         8usize,
1367         concat!(
1368             "Offset of field: ",
1369             stringify!(pthread_attr_t),
1370             "::",
1371             stringify!(stack_size)
1372         )
1373     );
1374     assert_eq!(
1375         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).guard_size as *const _ as usize },
1376         12usize,
1377         concat!(
1378             "Offset of field: ",
1379             stringify!(pthread_attr_t),
1380             "::",
1381             stringify!(guard_size)
1382         )
1383     );
1384     assert_eq!(
1385         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_policy as *const _ as usize },
1386         16usize,
1387         concat!(
1388             "Offset of field: ",
1389             stringify!(pthread_attr_t),
1390             "::",
1391             stringify!(sched_policy)
1392         )
1393     );
1394     assert_eq!(
1395         unsafe { &(*(::std::ptr::null::<pthread_attr_t>())).sched_priority as *const _ as usize },
1396         20usize,
1397         concat!(
1398             "Offset of field: ",
1399             stringify!(pthread_attr_t),
1400             "::",
1401             stringify!(sched_priority)
1402         )
1403     );
1404 }
1405 #[repr(C)]
1406 #[derive(Debug, Copy, Clone)]
1407 pub struct pthread_barrier_t {
1408     pub __private: [i32; 8usize],
1409 }
1410 #[test]
bindgen_test_layout_pthread_barrier_t()1411 fn bindgen_test_layout_pthread_barrier_t() {
1412     assert_eq!(
1413         ::std::mem::size_of::<pthread_barrier_t>(),
1414         32usize,
1415         concat!("Size of: ", stringify!(pthread_barrier_t))
1416     );
1417     assert_eq!(
1418         ::std::mem::align_of::<pthread_barrier_t>(),
1419         4usize,
1420         concat!("Alignment of ", stringify!(pthread_barrier_t))
1421     );
1422     assert_eq!(
1423         unsafe { &(*(::std::ptr::null::<pthread_barrier_t>())).__private as *const _ as usize },
1424         0usize,
1425         concat!(
1426             "Offset of field: ",
1427             stringify!(pthread_barrier_t),
1428             "::",
1429             stringify!(__private)
1430         )
1431     );
1432 }
1433 pub type pthread_barrierattr_t = ::std::os::raw::c_int;
1434 #[repr(C)]
1435 #[derive(Debug, Copy, Clone)]
1436 pub struct pthread_cond_t {
1437     pub __private: [i32; 1usize],
1438 }
1439 #[test]
bindgen_test_layout_pthread_cond_t()1440 fn bindgen_test_layout_pthread_cond_t() {
1441     assert_eq!(
1442         ::std::mem::size_of::<pthread_cond_t>(),
1443         4usize,
1444         concat!("Size of: ", stringify!(pthread_cond_t))
1445     );
1446     assert_eq!(
1447         ::std::mem::align_of::<pthread_cond_t>(),
1448         4usize,
1449         concat!("Alignment of ", stringify!(pthread_cond_t))
1450     );
1451     assert_eq!(
1452         unsafe { &(*(::std::ptr::null::<pthread_cond_t>())).__private as *const _ as usize },
1453         0usize,
1454         concat!(
1455             "Offset of field: ",
1456             stringify!(pthread_cond_t),
1457             "::",
1458             stringify!(__private)
1459         )
1460     );
1461 }
1462 pub type pthread_condattr_t = ::std::os::raw::c_long;
1463 pub type pthread_key_t = ::std::os::raw::c_int;
1464 #[repr(C)]
1465 #[derive(Debug, Copy, Clone)]
1466 pub struct pthread_mutex_t {
1467     pub __private: [i32; 1usize],
1468 }
1469 #[test]
bindgen_test_layout_pthread_mutex_t()1470 fn bindgen_test_layout_pthread_mutex_t() {
1471     assert_eq!(
1472         ::std::mem::size_of::<pthread_mutex_t>(),
1473         4usize,
1474         concat!("Size of: ", stringify!(pthread_mutex_t))
1475     );
1476     assert_eq!(
1477         ::std::mem::align_of::<pthread_mutex_t>(),
1478         4usize,
1479         concat!("Alignment of ", stringify!(pthread_mutex_t))
1480     );
1481     assert_eq!(
1482         unsafe { &(*(::std::ptr::null::<pthread_mutex_t>())).__private as *const _ as usize },
1483         0usize,
1484         concat!(
1485             "Offset of field: ",
1486             stringify!(pthread_mutex_t),
1487             "::",
1488             stringify!(__private)
1489         )
1490     );
1491 }
1492 pub type pthread_mutexattr_t = ::std::os::raw::c_long;
1493 pub type pthread_once_t = ::std::os::raw::c_int;
1494 #[repr(C)]
1495 #[derive(Debug, Copy, Clone)]
1496 pub struct pthread_rwlock_t {
1497     pub __private: [i32; 10usize],
1498 }
1499 #[test]
bindgen_test_layout_pthread_rwlock_t()1500 fn bindgen_test_layout_pthread_rwlock_t() {
1501     assert_eq!(
1502         ::std::mem::size_of::<pthread_rwlock_t>(),
1503         40usize,
1504         concat!("Size of: ", stringify!(pthread_rwlock_t))
1505     );
1506     assert_eq!(
1507         ::std::mem::align_of::<pthread_rwlock_t>(),
1508         4usize,
1509         concat!("Alignment of ", stringify!(pthread_rwlock_t))
1510     );
1511     assert_eq!(
1512         unsafe { &(*(::std::ptr::null::<pthread_rwlock_t>())).__private as *const _ as usize },
1513         0usize,
1514         concat!(
1515             "Offset of field: ",
1516             stringify!(pthread_rwlock_t),
1517             "::",
1518             stringify!(__private)
1519         )
1520     );
1521 }
1522 pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
1523 #[repr(C)]
1524 #[derive(Debug, Copy, Clone)]
1525 pub struct pthread_spinlock_t {
1526     pub __private: [i32; 2usize],
1527 }
1528 #[test]
bindgen_test_layout_pthread_spinlock_t()1529 fn bindgen_test_layout_pthread_spinlock_t() {
1530     assert_eq!(
1531         ::std::mem::size_of::<pthread_spinlock_t>(),
1532         8usize,
1533         concat!("Size of: ", stringify!(pthread_spinlock_t))
1534     );
1535     assert_eq!(
1536         ::std::mem::align_of::<pthread_spinlock_t>(),
1537         4usize,
1538         concat!("Alignment of ", stringify!(pthread_spinlock_t))
1539     );
1540     assert_eq!(
1541         unsafe { &(*(::std::ptr::null::<pthread_spinlock_t>())).__private as *const _ as usize },
1542         0usize,
1543         concat!(
1544             "Offset of field: ",
1545             stringify!(pthread_spinlock_t),
1546             "::",
1547             stringify!(__private)
1548         )
1549     );
1550 }
1551 pub type pthread_t = ::std::os::raw::c_long;
1552 pub type __gid_t = __kernel_gid32_t;
1553 pub type gid_t = __gid_t;
1554 pub type __uid_t = __kernel_uid32_t;
1555 pub type uid_t = __uid_t;
1556 pub type __pid_t = __kernel_pid_t;
1557 pub type pid_t = __pid_t;
1558 pub type __id_t = u32;
1559 pub type id_t = __id_t;
1560 pub type blkcnt_t = ::std::os::raw::c_ulong;
1561 pub type blksize_t = ::std::os::raw::c_ulong;
1562 pub type caddr_t = __kernel_caddr_t;
1563 pub type clock_t = __kernel_clock_t;
1564 pub type __clockid_t = __kernel_clockid_t;
1565 pub type clockid_t = __clockid_t;
1566 pub type daddr_t = __kernel_daddr_t;
1567 pub type fsblkcnt_t = ::std::os::raw::c_ulong;
1568 pub type fsfilcnt_t = ::std::os::raw::c_ulong;
1569 pub type __mode_t = __kernel_mode_t;
1570 pub type mode_t = __mode_t;
1571 pub type __key_t = __kernel_key_t;
1572 pub type key_t = __key_t;
1573 pub type __ino_t = __kernel_ino_t;
1574 pub type ino_t = __ino_t;
1575 pub type ino64_t = u64;
1576 pub type __nlink_t = u32;
1577 pub type nlink_t = __nlink_t;
1578 pub type __timer_t = *mut ::std::os::raw::c_void;
1579 pub type timer_t = __timer_t;
1580 pub type __suseconds_t = __kernel_suseconds_t;
1581 pub type suseconds_t = __suseconds_t;
1582 pub type __useconds_t = u32;
1583 pub type useconds_t = __useconds_t;
1584 pub type dev_t = u32;
1585 pub type __time_t = __kernel_time_t;
1586 pub type time_t = __time_t;
1587 pub type off_t = __kernel_off_t;
1588 pub type loff_t = __kernel_loff_t;
1589 pub type off64_t = loff_t;
1590 pub type __socklen_t = i32;
1591 pub type socklen_t = __socklen_t;
1592 pub type ssize_t = __kernel_ssize_t;
1593 pub type uint_t = ::std::os::raw::c_uint;
1594 pub type uint = ::std::os::raw::c_uint;
1595 pub type u_char = ::std::os::raw::c_uchar;
1596 pub type u_short = ::std::os::raw::c_ushort;
1597 pub type u_int = ::std::os::raw::c_uint;
1598 pub type u_long = ::std::os::raw::c_ulong;
1599 pub type u_int32_t = u32;
1600 pub type u_int16_t = u16;
1601 pub type u_int8_t = u8;
1602 pub type u_int64_t = u64;
1603 #[repr(C)]
1604 #[derive(Debug, Copy, Clone)]
1605 pub struct AAssetManager {
1606     _unused: [u8; 0],
1607 }
1608 #[repr(C)]
1609 #[derive(Debug, Copy, Clone)]
1610 pub struct AAssetDir {
1611     _unused: [u8; 0],
1612 }
1613 #[repr(C)]
1614 #[derive(Debug, Copy, Clone)]
1615 pub struct AAsset {
1616     _unused: [u8; 0],
1617 }
1618 pub const AASSET_MODE_UNKNOWN: _bindgen_ty_1 = 0;
1619 pub const AASSET_MODE_RANDOM: _bindgen_ty_1 = 1;
1620 pub const AASSET_MODE_STREAMING: _bindgen_ty_1 = 2;
1621 pub const AASSET_MODE_BUFFER: _bindgen_ty_1 = 3;
1622 pub type _bindgen_ty_1 = u32;
1623 extern "C" {
AAssetManager_openDir( mgr: *mut AAssetManager, dirName: *const ::std::os::raw::c_char, ) -> *mut AAssetDir1624     pub fn AAssetManager_openDir(
1625         mgr: *mut AAssetManager,
1626         dirName: *const ::std::os::raw::c_char,
1627     ) -> *mut AAssetDir;
1628 }
1629 extern "C" {
AAssetManager_open( mgr: *mut AAssetManager, filename: *const ::std::os::raw::c_char, mode: ::std::os::raw::c_int, ) -> *mut AAsset1630     pub fn AAssetManager_open(
1631         mgr: *mut AAssetManager,
1632         filename: *const ::std::os::raw::c_char,
1633         mode: ::std::os::raw::c_int,
1634     ) -> *mut AAsset;
1635 }
1636 extern "C" {
AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char1637     pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
1638 }
1639 extern "C" {
AAssetDir_rewind(assetDir: *mut AAssetDir)1640     pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
1641 }
1642 extern "C" {
AAssetDir_close(assetDir: *mut AAssetDir)1643     pub fn AAssetDir_close(assetDir: *mut AAssetDir);
1644 }
1645 extern "C" {
AAsset_read( asset: *mut AAsset, buf: *mut ::std::os::raw::c_void, count: size_t, ) -> ::std::os::raw::c_int1646     pub fn AAsset_read(
1647         asset: *mut AAsset,
1648         buf: *mut ::std::os::raw::c_void,
1649         count: size_t,
1650     ) -> ::std::os::raw::c_int;
1651 }
1652 extern "C" {
AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t1653     pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
1654 }
1655 extern "C" {
AAsset_seek64( asset: *mut AAsset, offset: off64_t, whence: ::std::os::raw::c_int, ) -> off64_t1656     pub fn AAsset_seek64(
1657         asset: *mut AAsset,
1658         offset: off64_t,
1659         whence: ::std::os::raw::c_int,
1660     ) -> off64_t;
1661 }
1662 extern "C" {
AAsset_close(asset: *mut AAsset)1663     pub fn AAsset_close(asset: *mut AAsset);
1664 }
1665 extern "C" {
AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void1666     pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
1667 }
1668 extern "C" {
AAsset_getLength(asset: *mut AAsset) -> off_t1669     pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
1670 }
1671 extern "C" {
AAsset_getLength64(asset: *mut AAsset) -> off64_t1672     pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
1673 }
1674 extern "C" {
AAsset_getRemainingLength(asset: *mut AAsset) -> off_t1675     pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
1676 }
1677 extern "C" {
AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t1678     pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
1679 }
1680 extern "C" {
AAsset_openFileDescriptor( asset: *mut AAsset, outStart: *mut off_t, outLength: *mut off_t, ) -> ::std::os::raw::c_int1681     pub fn AAsset_openFileDescriptor(
1682         asset: *mut AAsset,
1683         outStart: *mut off_t,
1684         outLength: *mut off_t,
1685     ) -> ::std::os::raw::c_int;
1686 }
1687 extern "C" {
AAsset_openFileDescriptor64( asset: *mut AAsset, outStart: *mut off64_t, outLength: *mut off64_t, ) -> ::std::os::raw::c_int1688     pub fn AAsset_openFileDescriptor64(
1689         asset: *mut AAsset,
1690         outStart: *mut off64_t,
1691         outLength: *mut off64_t,
1692     ) -> ::std::os::raw::c_int;
1693 }
1694 extern "C" {
AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int1695     pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
1696 }
1697 pub type va_list = __builtin_va_list;
1698 pub type __gnuc_va_list = __builtin_va_list;
1699 pub type jboolean = u8;
1700 pub type jbyte = i8;
1701 pub type jchar = u16;
1702 pub type jshort = i16;
1703 pub type jint = i32;
1704 pub type jlong = i64;
1705 pub type jfloat = f32;
1706 pub type jdouble = f64;
1707 pub type jsize = jint;
1708 pub type jobject = *mut ::std::os::raw::c_void;
1709 pub type jclass = jobject;
1710 pub type jstring = jobject;
1711 pub type jarray = jobject;
1712 pub type jobjectArray = jarray;
1713 pub type jbooleanArray = jarray;
1714 pub type jbyteArray = jarray;
1715 pub type jcharArray = jarray;
1716 pub type jshortArray = jarray;
1717 pub type jintArray = jarray;
1718 pub type jlongArray = jarray;
1719 pub type jfloatArray = jarray;
1720 pub type jdoubleArray = jarray;
1721 pub type jthrowable = jobject;
1722 pub type jweak = jobject;
1723 #[repr(C)]
1724 #[derive(Debug, Copy, Clone)]
1725 pub struct _jfieldID {
1726     _unused: [u8; 0],
1727 }
1728 pub type jfieldID = *mut _jfieldID;
1729 #[repr(C)]
1730 #[derive(Debug, Copy, Clone)]
1731 pub struct _jmethodID {
1732     _unused: [u8; 0],
1733 }
1734 pub type jmethodID = *mut _jmethodID;
1735 #[repr(C)]
1736 #[derive(Copy, Clone)]
1737 pub union jvalue {
1738     pub z: jboolean,
1739     pub b: jbyte,
1740     pub c: jchar,
1741     pub s: jshort,
1742     pub i: jint,
1743     pub j: jlong,
1744     pub f: jfloat,
1745     pub d: jdouble,
1746     pub l: jobject,
1747     _bindgen_union_align: u64,
1748 }
1749 #[test]
bindgen_test_layout_jvalue()1750 fn bindgen_test_layout_jvalue() {
1751     assert_eq!(
1752         ::std::mem::size_of::<jvalue>(),
1753         8usize,
1754         concat!("Size of: ", stringify!(jvalue))
1755     );
1756     assert_eq!(
1757         ::std::mem::align_of::<jvalue>(),
1758         8usize,
1759         concat!("Alignment of ", stringify!(jvalue))
1760     );
1761     assert_eq!(
1762         unsafe { &(*(::std::ptr::null::<jvalue>())).z as *const _ as usize },
1763         0usize,
1764         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(z))
1765     );
1766     assert_eq!(
1767         unsafe { &(*(::std::ptr::null::<jvalue>())).b as *const _ as usize },
1768         0usize,
1769         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(b))
1770     );
1771     assert_eq!(
1772         unsafe { &(*(::std::ptr::null::<jvalue>())).c as *const _ as usize },
1773         0usize,
1774         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(c))
1775     );
1776     assert_eq!(
1777         unsafe { &(*(::std::ptr::null::<jvalue>())).s as *const _ as usize },
1778         0usize,
1779         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(s))
1780     );
1781     assert_eq!(
1782         unsafe { &(*(::std::ptr::null::<jvalue>())).i as *const _ as usize },
1783         0usize,
1784         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(i))
1785     );
1786     assert_eq!(
1787         unsafe { &(*(::std::ptr::null::<jvalue>())).j as *const _ as usize },
1788         0usize,
1789         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(j))
1790     );
1791     assert_eq!(
1792         unsafe { &(*(::std::ptr::null::<jvalue>())).f as *const _ as usize },
1793         0usize,
1794         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(f))
1795     );
1796     assert_eq!(
1797         unsafe { &(*(::std::ptr::null::<jvalue>())).d as *const _ as usize },
1798         0usize,
1799         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(d))
1800     );
1801     assert_eq!(
1802         unsafe { &(*(::std::ptr::null::<jvalue>())).l as *const _ as usize },
1803         0usize,
1804         concat!("Offset of field: ", stringify!(jvalue), "::", stringify!(l))
1805     );
1806 }
1807 pub const jobjectRefType_JNIInvalidRefType: jobjectRefType = 0;
1808 pub const jobjectRefType_JNILocalRefType: jobjectRefType = 1;
1809 pub const jobjectRefType_JNIGlobalRefType: jobjectRefType = 2;
1810 pub const jobjectRefType_JNIWeakGlobalRefType: jobjectRefType = 3;
1811 pub type jobjectRefType = u32;
1812 #[repr(C)]
1813 #[derive(Debug, Copy, Clone)]
1814 pub struct JNINativeMethod {
1815     pub name: *const ::std::os::raw::c_char,
1816     pub signature: *const ::std::os::raw::c_char,
1817     pub fnPtr: *mut ::std::os::raw::c_void,
1818 }
1819 #[test]
bindgen_test_layout_JNINativeMethod()1820 fn bindgen_test_layout_JNINativeMethod() {
1821     assert_eq!(
1822         ::std::mem::size_of::<JNINativeMethod>(),
1823         12usize,
1824         concat!("Size of: ", stringify!(JNINativeMethod))
1825     );
1826     assert_eq!(
1827         ::std::mem::align_of::<JNINativeMethod>(),
1828         4usize,
1829         concat!("Alignment of ", stringify!(JNINativeMethod))
1830     );
1831     assert_eq!(
1832         unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).name as *const _ as usize },
1833         0usize,
1834         concat!(
1835             "Offset of field: ",
1836             stringify!(JNINativeMethod),
1837             "::",
1838             stringify!(name)
1839         )
1840     );
1841     assert_eq!(
1842         unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).signature as *const _ as usize },
1843         4usize,
1844         concat!(
1845             "Offset of field: ",
1846             stringify!(JNINativeMethod),
1847             "::",
1848             stringify!(signature)
1849         )
1850     );
1851     assert_eq!(
1852         unsafe { &(*(::std::ptr::null::<JNINativeMethod>())).fnPtr as *const _ as usize },
1853         8usize,
1854         concat!(
1855             "Offset of field: ",
1856             stringify!(JNINativeMethod),
1857             "::",
1858             stringify!(fnPtr)
1859         )
1860     );
1861 }
1862 pub type C_JNIEnv = *const JNINativeInterface;
1863 pub type JNIEnv = *const JNINativeInterface;
1864 pub type JavaVM = *const JNIInvokeInterface;
1865 #[repr(C)]
1866 #[derive(Debug, Copy, Clone)]
1867 pub struct JNINativeInterface {
1868     pub reserved0: *mut ::std::os::raw::c_void,
1869     pub reserved1: *mut ::std::os::raw::c_void,
1870     pub reserved2: *mut ::std::os::raw::c_void,
1871     pub reserved3: *mut ::std::os::raw::c_void,
1872     pub GetVersion: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jint>,
1873     pub DefineClass: ::std::option::Option<
1874         unsafe extern "C" fn(
1875             arg1: *mut JNIEnv,
1876             arg2: *const ::std::os::raw::c_char,
1877             arg3: jobject,
1878             arg4: *const jbyte,
1879             arg5: jsize,
1880         ) -> jclass,
1881     >,
1882     pub FindClass: ::std::option::Option<
1883         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jclass,
1884     >,
1885     pub FromReflectedMethod:
1886         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jmethodID>,
1887     pub FromReflectedField:
1888         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jfieldID>,
1889     pub ToReflectedMethod: ::std::option::Option<
1890         unsafe extern "C" fn(
1891             arg1: *mut JNIEnv,
1892             arg2: jclass,
1893             arg3: jmethodID,
1894             arg4: jboolean,
1895         ) -> jobject,
1896     >,
1897     pub GetSuperclass:
1898         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jclass>,
1899     pub IsAssignableFrom: ::std::option::Option<
1900         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jclass) -> jboolean,
1901     >,
1902     pub ToReflectedField: ::std::option::Option<
1903         unsafe extern "C" fn(
1904             arg1: *mut JNIEnv,
1905             arg2: jclass,
1906             arg3: jfieldID,
1907             arg4: jboolean,
1908         ) -> jobject,
1909     >,
1910     pub Throw:
1911         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jthrowable) -> jint>,
1912     pub ThrowNew: ::std::option::Option<
1913         unsafe extern "C" fn(
1914             arg1: *mut JNIEnv,
1915             arg2: jclass,
1916             arg3: *const ::std::os::raw::c_char,
1917         ) -> jint,
1918     >,
1919     pub ExceptionOccurred:
1920         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jthrowable>,
1921     pub ExceptionDescribe: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
1922     pub ExceptionClear: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv)>,
1923     pub FatalError: ::std::option::Option<
1924         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char),
1925     >,
1926     pub PushLocalFrame:
1927         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
1928     pub PopLocalFrame:
1929         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1930     pub NewGlobalRef:
1931         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1932     pub DeleteGlobalRef:
1933         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
1934     pub DeleteLocalRef:
1935         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject)>,
1936     pub IsSameObject: ::std::option::Option<
1937         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jobject) -> jboolean,
1938     >,
1939     pub NewLocalRef:
1940         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobject>,
1941     pub EnsureLocalCapacity:
1942         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jint) -> jint>,
1943     pub AllocObject:
1944         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jobject>,
1945     pub NewObject: ::std::option::Option<
1946         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
1947     >,
1948     pub NewObjectV: ::std::option::Option<
1949         unsafe extern "C" fn(
1950             arg1: *mut JNIEnv,
1951             arg2: jclass,
1952             arg3: jmethodID,
1953             arg4: va_list,
1954         ) -> jobject,
1955     >,
1956     pub NewObjectA: ::std::option::Option<
1957         unsafe extern "C" fn(
1958             arg1: *mut JNIEnv,
1959             arg2: jclass,
1960             arg3: jmethodID,
1961             arg4: *const jvalue,
1962         ) -> jobject,
1963     >,
1964     pub GetObjectClass:
1965         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jclass>,
1966     pub IsInstanceOf: ::std::option::Option<
1967         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass) -> jboolean,
1968     >,
1969     pub GetMethodID: ::std::option::Option<
1970         unsafe extern "C" fn(
1971             arg1: *mut JNIEnv,
1972             arg2: jclass,
1973             arg3: *const ::std::os::raw::c_char,
1974             arg4: *const ::std::os::raw::c_char,
1975         ) -> jmethodID,
1976     >,
1977     pub CallObjectMethod: ::std::option::Option<
1978         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jobject,
1979     >,
1980     pub CallObjectMethodV: ::std::option::Option<
1981         unsafe extern "C" fn(
1982             arg1: *mut JNIEnv,
1983             arg2: jobject,
1984             arg3: jmethodID,
1985             arg4: va_list,
1986         ) -> jobject,
1987     >,
1988     pub CallObjectMethodA: ::std::option::Option<
1989         unsafe extern "C" fn(
1990             arg1: *mut JNIEnv,
1991             arg2: jobject,
1992             arg3: jmethodID,
1993             arg4: *const jvalue,
1994         ) -> jobject,
1995     >,
1996     pub CallBooleanMethod: ::std::option::Option<
1997         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jboolean,
1998     >,
1999     pub CallBooleanMethodV: ::std::option::Option<
2000         unsafe extern "C" fn(
2001             arg1: *mut JNIEnv,
2002             arg2: jobject,
2003             arg3: jmethodID,
2004             arg4: va_list,
2005         ) -> jboolean,
2006     >,
2007     pub CallBooleanMethodA: ::std::option::Option<
2008         unsafe extern "C" fn(
2009             arg1: *mut JNIEnv,
2010             arg2: jobject,
2011             arg3: jmethodID,
2012             arg4: *const jvalue,
2013         ) -> jboolean,
2014     >,
2015     pub CallByteMethod: ::std::option::Option<
2016         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jbyte,
2017     >,
2018     pub CallByteMethodV: ::std::option::Option<
2019         unsafe extern "C" fn(
2020             arg1: *mut JNIEnv,
2021             arg2: jobject,
2022             arg3: jmethodID,
2023             arg4: va_list,
2024         ) -> jbyte,
2025     >,
2026     pub CallByteMethodA: ::std::option::Option<
2027         unsafe extern "C" fn(
2028             arg1: *mut JNIEnv,
2029             arg2: jobject,
2030             arg3: jmethodID,
2031             arg4: *const jvalue,
2032         ) -> jbyte,
2033     >,
2034     pub CallCharMethod: ::std::option::Option<
2035         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jchar,
2036     >,
2037     pub CallCharMethodV: ::std::option::Option<
2038         unsafe extern "C" fn(
2039             arg1: *mut JNIEnv,
2040             arg2: jobject,
2041             arg3: jmethodID,
2042             arg4: va_list,
2043         ) -> jchar,
2044     >,
2045     pub CallCharMethodA: ::std::option::Option<
2046         unsafe extern "C" fn(
2047             arg1: *mut JNIEnv,
2048             arg2: jobject,
2049             arg3: jmethodID,
2050             arg4: *const jvalue,
2051         ) -> jchar,
2052     >,
2053     pub CallShortMethod: ::std::option::Option<
2054         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jshort,
2055     >,
2056     pub CallShortMethodV: ::std::option::Option<
2057         unsafe extern "C" fn(
2058             arg1: *mut JNIEnv,
2059             arg2: jobject,
2060             arg3: jmethodID,
2061             arg4: va_list,
2062         ) -> jshort,
2063     >,
2064     pub CallShortMethodA: ::std::option::Option<
2065         unsafe extern "C" fn(
2066             arg1: *mut JNIEnv,
2067             arg2: jobject,
2068             arg3: jmethodID,
2069             arg4: *const jvalue,
2070         ) -> jshort,
2071     >,
2072     pub CallIntMethod: ::std::option::Option<
2073         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jint,
2074     >,
2075     pub CallIntMethodV: ::std::option::Option<
2076         unsafe extern "C" fn(
2077             arg1: *mut JNIEnv,
2078             arg2: jobject,
2079             arg3: jmethodID,
2080             arg4: va_list,
2081         ) -> jint,
2082     >,
2083     pub CallIntMethodA: ::std::option::Option<
2084         unsafe extern "C" fn(
2085             arg1: *mut JNIEnv,
2086             arg2: jobject,
2087             arg3: jmethodID,
2088             arg4: *const jvalue,
2089         ) -> jint,
2090     >,
2091     pub CallLongMethod: ::std::option::Option<
2092         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jlong,
2093     >,
2094     pub CallLongMethodV: ::std::option::Option<
2095         unsafe extern "C" fn(
2096             arg1: *mut JNIEnv,
2097             arg2: jobject,
2098             arg3: jmethodID,
2099             arg4: va_list,
2100         ) -> jlong,
2101     >,
2102     pub CallLongMethodA: ::std::option::Option<
2103         unsafe extern "C" fn(
2104             arg1: *mut JNIEnv,
2105             arg2: jobject,
2106             arg3: jmethodID,
2107             arg4: *const jvalue,
2108         ) -> jlong,
2109     >,
2110     pub CallFloatMethod: ::std::option::Option<
2111         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jfloat,
2112     >,
2113     pub CallFloatMethodV: ::std::option::Option<
2114         unsafe extern "C" fn(
2115             arg1: *mut JNIEnv,
2116             arg2: jobject,
2117             arg3: jmethodID,
2118             arg4: va_list,
2119         ) -> jfloat,
2120     >,
2121     pub CallFloatMethodA: ::std::option::Option<
2122         unsafe extern "C" fn(
2123             arg1: *mut JNIEnv,
2124             arg2: jobject,
2125             arg3: jmethodID,
2126             arg4: *const jvalue,
2127         ) -> jfloat,
2128     >,
2129     pub CallDoubleMethod: ::std::option::Option<
2130         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...) -> jdouble,
2131     >,
2132     pub CallDoubleMethodV: ::std::option::Option<
2133         unsafe extern "C" fn(
2134             arg1: *mut JNIEnv,
2135             arg2: jobject,
2136             arg3: jmethodID,
2137             arg4: va_list,
2138         ) -> jdouble,
2139     >,
2140     pub CallDoubleMethodA: ::std::option::Option<
2141         unsafe extern "C" fn(
2142             arg1: *mut JNIEnv,
2143             arg2: jobject,
2144             arg3: jmethodID,
2145             arg4: *const jvalue,
2146         ) -> jdouble,
2147     >,
2148     pub CallVoidMethod: ::std::option::Option<
2149         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, ...),
2150     >,
2151     pub CallVoidMethodV: ::std::option::Option<
2152         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jmethodID, arg4: va_list),
2153     >,
2154     pub CallVoidMethodA: ::std::option::Option<
2155         unsafe extern "C" fn(
2156             arg1: *mut JNIEnv,
2157             arg2: jobject,
2158             arg3: jmethodID,
2159             arg4: *const jvalue,
2160         ),
2161     >,
2162     pub CallNonvirtualObjectMethod: ::std::option::Option<
2163         unsafe extern "C" fn(
2164             arg1: *mut JNIEnv,
2165             arg2: jobject,
2166             arg3: jclass,
2167             arg4: jmethodID,
2168             ...
2169         ) -> jobject,
2170     >,
2171     pub CallNonvirtualObjectMethodV: ::std::option::Option<
2172         unsafe extern "C" fn(
2173             arg1: *mut JNIEnv,
2174             arg2: jobject,
2175             arg3: jclass,
2176             arg4: jmethodID,
2177             arg5: va_list,
2178         ) -> jobject,
2179     >,
2180     pub CallNonvirtualObjectMethodA: ::std::option::Option<
2181         unsafe extern "C" fn(
2182             arg1: *mut JNIEnv,
2183             arg2: jobject,
2184             arg3: jclass,
2185             arg4: jmethodID,
2186             arg5: *const jvalue,
2187         ) -> jobject,
2188     >,
2189     pub CallNonvirtualBooleanMethod: ::std::option::Option<
2190         unsafe extern "C" fn(
2191             arg1: *mut JNIEnv,
2192             arg2: jobject,
2193             arg3: jclass,
2194             arg4: jmethodID,
2195             ...
2196         ) -> jboolean,
2197     >,
2198     pub CallNonvirtualBooleanMethodV: ::std::option::Option<
2199         unsafe extern "C" fn(
2200             arg1: *mut JNIEnv,
2201             arg2: jobject,
2202             arg3: jclass,
2203             arg4: jmethodID,
2204             arg5: va_list,
2205         ) -> jboolean,
2206     >,
2207     pub CallNonvirtualBooleanMethodA: ::std::option::Option<
2208         unsafe extern "C" fn(
2209             arg1: *mut JNIEnv,
2210             arg2: jobject,
2211             arg3: jclass,
2212             arg4: jmethodID,
2213             arg5: *const jvalue,
2214         ) -> jboolean,
2215     >,
2216     pub CallNonvirtualByteMethod: ::std::option::Option<
2217         unsafe extern "C" fn(
2218             arg1: *mut JNIEnv,
2219             arg2: jobject,
2220             arg3: jclass,
2221             arg4: jmethodID,
2222             ...
2223         ) -> jbyte,
2224     >,
2225     pub CallNonvirtualByteMethodV: ::std::option::Option<
2226         unsafe extern "C" fn(
2227             arg1: *mut JNIEnv,
2228             arg2: jobject,
2229             arg3: jclass,
2230             arg4: jmethodID,
2231             arg5: va_list,
2232         ) -> jbyte,
2233     >,
2234     pub CallNonvirtualByteMethodA: ::std::option::Option<
2235         unsafe extern "C" fn(
2236             arg1: *mut JNIEnv,
2237             arg2: jobject,
2238             arg3: jclass,
2239             arg4: jmethodID,
2240             arg5: *const jvalue,
2241         ) -> jbyte,
2242     >,
2243     pub CallNonvirtualCharMethod: ::std::option::Option<
2244         unsafe extern "C" fn(
2245             arg1: *mut JNIEnv,
2246             arg2: jobject,
2247             arg3: jclass,
2248             arg4: jmethodID,
2249             ...
2250         ) -> jchar,
2251     >,
2252     pub CallNonvirtualCharMethodV: ::std::option::Option<
2253         unsafe extern "C" fn(
2254             arg1: *mut JNIEnv,
2255             arg2: jobject,
2256             arg3: jclass,
2257             arg4: jmethodID,
2258             arg5: va_list,
2259         ) -> jchar,
2260     >,
2261     pub CallNonvirtualCharMethodA: ::std::option::Option<
2262         unsafe extern "C" fn(
2263             arg1: *mut JNIEnv,
2264             arg2: jobject,
2265             arg3: jclass,
2266             arg4: jmethodID,
2267             arg5: *const jvalue,
2268         ) -> jchar,
2269     >,
2270     pub CallNonvirtualShortMethod: ::std::option::Option<
2271         unsafe extern "C" fn(
2272             arg1: *mut JNIEnv,
2273             arg2: jobject,
2274             arg3: jclass,
2275             arg4: jmethodID,
2276             ...
2277         ) -> jshort,
2278     >,
2279     pub CallNonvirtualShortMethodV: ::std::option::Option<
2280         unsafe extern "C" fn(
2281             arg1: *mut JNIEnv,
2282             arg2: jobject,
2283             arg3: jclass,
2284             arg4: jmethodID,
2285             arg5: va_list,
2286         ) -> jshort,
2287     >,
2288     pub CallNonvirtualShortMethodA: ::std::option::Option<
2289         unsafe extern "C" fn(
2290             arg1: *mut JNIEnv,
2291             arg2: jobject,
2292             arg3: jclass,
2293             arg4: jmethodID,
2294             arg5: *const jvalue,
2295         ) -> jshort,
2296     >,
2297     pub CallNonvirtualIntMethod: ::std::option::Option<
2298         unsafe extern "C" fn(
2299             arg1: *mut JNIEnv,
2300             arg2: jobject,
2301             arg3: jclass,
2302             arg4: jmethodID,
2303             ...
2304         ) -> jint,
2305     >,
2306     pub CallNonvirtualIntMethodV: ::std::option::Option<
2307         unsafe extern "C" fn(
2308             arg1: *mut JNIEnv,
2309             arg2: jobject,
2310             arg3: jclass,
2311             arg4: jmethodID,
2312             arg5: va_list,
2313         ) -> jint,
2314     >,
2315     pub CallNonvirtualIntMethodA: ::std::option::Option<
2316         unsafe extern "C" fn(
2317             arg1: *mut JNIEnv,
2318             arg2: jobject,
2319             arg3: jclass,
2320             arg4: jmethodID,
2321             arg5: *const jvalue,
2322         ) -> jint,
2323     >,
2324     pub CallNonvirtualLongMethod: ::std::option::Option<
2325         unsafe extern "C" fn(
2326             arg1: *mut JNIEnv,
2327             arg2: jobject,
2328             arg3: jclass,
2329             arg4: jmethodID,
2330             ...
2331         ) -> jlong,
2332     >,
2333     pub CallNonvirtualLongMethodV: ::std::option::Option<
2334         unsafe extern "C" fn(
2335             arg1: *mut JNIEnv,
2336             arg2: jobject,
2337             arg3: jclass,
2338             arg4: jmethodID,
2339             arg5: va_list,
2340         ) -> jlong,
2341     >,
2342     pub CallNonvirtualLongMethodA: ::std::option::Option<
2343         unsafe extern "C" fn(
2344             arg1: *mut JNIEnv,
2345             arg2: jobject,
2346             arg3: jclass,
2347             arg4: jmethodID,
2348             arg5: *const jvalue,
2349         ) -> jlong,
2350     >,
2351     pub CallNonvirtualFloatMethod: ::std::option::Option<
2352         unsafe extern "C" fn(
2353             arg1: *mut JNIEnv,
2354             arg2: jobject,
2355             arg3: jclass,
2356             arg4: jmethodID,
2357             ...
2358         ) -> jfloat,
2359     >,
2360     pub CallNonvirtualFloatMethodV: ::std::option::Option<
2361         unsafe extern "C" fn(
2362             arg1: *mut JNIEnv,
2363             arg2: jobject,
2364             arg3: jclass,
2365             arg4: jmethodID,
2366             arg5: va_list,
2367         ) -> jfloat,
2368     >,
2369     pub CallNonvirtualFloatMethodA: ::std::option::Option<
2370         unsafe extern "C" fn(
2371             arg1: *mut JNIEnv,
2372             arg2: jobject,
2373             arg3: jclass,
2374             arg4: jmethodID,
2375             arg5: *const jvalue,
2376         ) -> jfloat,
2377     >,
2378     pub CallNonvirtualDoubleMethod: ::std::option::Option<
2379         unsafe extern "C" fn(
2380             arg1: *mut JNIEnv,
2381             arg2: jobject,
2382             arg3: jclass,
2383             arg4: jmethodID,
2384             ...
2385         ) -> jdouble,
2386     >,
2387     pub CallNonvirtualDoubleMethodV: ::std::option::Option<
2388         unsafe extern "C" fn(
2389             arg1: *mut JNIEnv,
2390             arg2: jobject,
2391             arg3: jclass,
2392             arg4: jmethodID,
2393             arg5: va_list,
2394         ) -> jdouble,
2395     >,
2396     pub CallNonvirtualDoubleMethodA: ::std::option::Option<
2397         unsafe extern "C" fn(
2398             arg1: *mut JNIEnv,
2399             arg2: jobject,
2400             arg3: jclass,
2401             arg4: jmethodID,
2402             arg5: *const jvalue,
2403         ) -> jdouble,
2404     >,
2405     pub CallNonvirtualVoidMethod: ::std::option::Option<
2406         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jclass, arg4: jmethodID, ...),
2407     >,
2408     pub CallNonvirtualVoidMethodV: ::std::option::Option<
2409         unsafe extern "C" fn(
2410             arg1: *mut JNIEnv,
2411             arg2: jobject,
2412             arg3: jclass,
2413             arg4: jmethodID,
2414             arg5: va_list,
2415         ),
2416     >,
2417     pub CallNonvirtualVoidMethodA: ::std::option::Option<
2418         unsafe extern "C" fn(
2419             arg1: *mut JNIEnv,
2420             arg2: jobject,
2421             arg3: jclass,
2422             arg4: jmethodID,
2423             arg5: *const jvalue,
2424         ),
2425     >,
2426     pub GetFieldID: ::std::option::Option<
2427         unsafe extern "C" fn(
2428             arg1: *mut JNIEnv,
2429             arg2: jclass,
2430             arg3: *const ::std::os::raw::c_char,
2431             arg4: *const ::std::os::raw::c_char,
2432         ) -> jfieldID,
2433     >,
2434     pub GetObjectField: ::std::option::Option<
2435         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jobject,
2436     >,
2437     pub GetBooleanField: ::std::option::Option<
2438         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jboolean,
2439     >,
2440     pub GetByteField: ::std::option::Option<
2441         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jbyte,
2442     >,
2443     pub GetCharField: ::std::option::Option<
2444         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jchar,
2445     >,
2446     pub GetShortField: ::std::option::Option<
2447         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jshort,
2448     >,
2449     pub GetIntField: ::std::option::Option<
2450         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jint,
2451     >,
2452     pub GetLongField: ::std::option::Option<
2453         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jlong,
2454     >,
2455     pub GetFloatField: ::std::option::Option<
2456         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jfloat,
2457     >,
2458     pub GetDoubleField: ::std::option::Option<
2459         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID) -> jdouble,
2460     >,
2461     pub SetObjectField: ::std::option::Option<
2462         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jobject),
2463     >,
2464     pub SetBooleanField: ::std::option::Option<
2465         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jboolean),
2466     >,
2467     pub SetByteField: ::std::option::Option<
2468         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jbyte),
2469     >,
2470     pub SetCharField: ::std::option::Option<
2471         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jchar),
2472     >,
2473     pub SetShortField: ::std::option::Option<
2474         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jshort),
2475     >,
2476     pub SetIntField: ::std::option::Option<
2477         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jint),
2478     >,
2479     pub SetLongField: ::std::option::Option<
2480         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jlong),
2481     >,
2482     pub SetFloatField: ::std::option::Option<
2483         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jfloat),
2484     >,
2485     pub SetDoubleField: ::std::option::Option<
2486         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject, arg3: jfieldID, arg4: jdouble),
2487     >,
2488     pub GetStaticMethodID: ::std::option::Option<
2489         unsafe extern "C" fn(
2490             arg1: *mut JNIEnv,
2491             arg2: jclass,
2492             arg3: *const ::std::os::raw::c_char,
2493             arg4: *const ::std::os::raw::c_char,
2494         ) -> jmethodID,
2495     >,
2496     pub CallStaticObjectMethod: ::std::option::Option<
2497         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jobject,
2498     >,
2499     pub CallStaticObjectMethodV: ::std::option::Option<
2500         unsafe extern "C" fn(
2501             arg1: *mut JNIEnv,
2502             arg2: jclass,
2503             arg3: jmethodID,
2504             arg4: va_list,
2505         ) -> jobject,
2506     >,
2507     pub CallStaticObjectMethodA: ::std::option::Option<
2508         unsafe extern "C" fn(
2509             arg1: *mut JNIEnv,
2510             arg2: jclass,
2511             arg3: jmethodID,
2512             arg4: *const jvalue,
2513         ) -> jobject,
2514     >,
2515     pub CallStaticBooleanMethod: ::std::option::Option<
2516         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jboolean,
2517     >,
2518     pub CallStaticBooleanMethodV: ::std::option::Option<
2519         unsafe extern "C" fn(
2520             arg1: *mut JNIEnv,
2521             arg2: jclass,
2522             arg3: jmethodID,
2523             arg4: va_list,
2524         ) -> jboolean,
2525     >,
2526     pub CallStaticBooleanMethodA: ::std::option::Option<
2527         unsafe extern "C" fn(
2528             arg1: *mut JNIEnv,
2529             arg2: jclass,
2530             arg3: jmethodID,
2531             arg4: *const jvalue,
2532         ) -> jboolean,
2533     >,
2534     pub CallStaticByteMethod: ::std::option::Option<
2535         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jbyte,
2536     >,
2537     pub CallStaticByteMethodV: ::std::option::Option<
2538         unsafe extern "C" fn(
2539             arg1: *mut JNIEnv,
2540             arg2: jclass,
2541             arg3: jmethodID,
2542             arg4: va_list,
2543         ) -> jbyte,
2544     >,
2545     pub CallStaticByteMethodA: ::std::option::Option<
2546         unsafe extern "C" fn(
2547             arg1: *mut JNIEnv,
2548             arg2: jclass,
2549             arg3: jmethodID,
2550             arg4: *const jvalue,
2551         ) -> jbyte,
2552     >,
2553     pub CallStaticCharMethod: ::std::option::Option<
2554         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jchar,
2555     >,
2556     pub CallStaticCharMethodV: ::std::option::Option<
2557         unsafe extern "C" fn(
2558             arg1: *mut JNIEnv,
2559             arg2: jclass,
2560             arg3: jmethodID,
2561             arg4: va_list,
2562         ) -> jchar,
2563     >,
2564     pub CallStaticCharMethodA: ::std::option::Option<
2565         unsafe extern "C" fn(
2566             arg1: *mut JNIEnv,
2567             arg2: jclass,
2568             arg3: jmethodID,
2569             arg4: *const jvalue,
2570         ) -> jchar,
2571     >,
2572     pub CallStaticShortMethod: ::std::option::Option<
2573         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jshort,
2574     >,
2575     pub CallStaticShortMethodV: ::std::option::Option<
2576         unsafe extern "C" fn(
2577             arg1: *mut JNIEnv,
2578             arg2: jclass,
2579             arg3: jmethodID,
2580             arg4: va_list,
2581         ) -> jshort,
2582     >,
2583     pub CallStaticShortMethodA: ::std::option::Option<
2584         unsafe extern "C" fn(
2585             arg1: *mut JNIEnv,
2586             arg2: jclass,
2587             arg3: jmethodID,
2588             arg4: *const jvalue,
2589         ) -> jshort,
2590     >,
2591     pub CallStaticIntMethod: ::std::option::Option<
2592         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jint,
2593     >,
2594     pub CallStaticIntMethodV: ::std::option::Option<
2595         unsafe extern "C" fn(
2596             arg1: *mut JNIEnv,
2597             arg2: jclass,
2598             arg3: jmethodID,
2599             arg4: va_list,
2600         ) -> jint,
2601     >,
2602     pub CallStaticIntMethodA: ::std::option::Option<
2603         unsafe extern "C" fn(
2604             arg1: *mut JNIEnv,
2605             arg2: jclass,
2606             arg3: jmethodID,
2607             arg4: *const jvalue,
2608         ) -> jint,
2609     >,
2610     pub CallStaticLongMethod: ::std::option::Option<
2611         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jlong,
2612     >,
2613     pub CallStaticLongMethodV: ::std::option::Option<
2614         unsafe extern "C" fn(
2615             arg1: *mut JNIEnv,
2616             arg2: jclass,
2617             arg3: jmethodID,
2618             arg4: va_list,
2619         ) -> jlong,
2620     >,
2621     pub CallStaticLongMethodA: ::std::option::Option<
2622         unsafe extern "C" fn(
2623             arg1: *mut JNIEnv,
2624             arg2: jclass,
2625             arg3: jmethodID,
2626             arg4: *const jvalue,
2627         ) -> jlong,
2628     >,
2629     pub CallStaticFloatMethod: ::std::option::Option<
2630         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jfloat,
2631     >,
2632     pub CallStaticFloatMethodV: ::std::option::Option<
2633         unsafe extern "C" fn(
2634             arg1: *mut JNIEnv,
2635             arg2: jclass,
2636             arg3: jmethodID,
2637             arg4: va_list,
2638         ) -> jfloat,
2639     >,
2640     pub CallStaticFloatMethodA: ::std::option::Option<
2641         unsafe extern "C" fn(
2642             arg1: *mut JNIEnv,
2643             arg2: jclass,
2644             arg3: jmethodID,
2645             arg4: *const jvalue,
2646         ) -> jfloat,
2647     >,
2648     pub CallStaticDoubleMethod: ::std::option::Option<
2649         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...) -> jdouble,
2650     >,
2651     pub CallStaticDoubleMethodV: ::std::option::Option<
2652         unsafe extern "C" fn(
2653             arg1: *mut JNIEnv,
2654             arg2: jclass,
2655             arg3: jmethodID,
2656             arg4: va_list,
2657         ) -> jdouble,
2658     >,
2659     pub CallStaticDoubleMethodA: ::std::option::Option<
2660         unsafe extern "C" fn(
2661             arg1: *mut JNIEnv,
2662             arg2: jclass,
2663             arg3: jmethodID,
2664             arg4: *const jvalue,
2665         ) -> jdouble,
2666     >,
2667     pub CallStaticVoidMethod: ::std::option::Option<
2668         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, ...),
2669     >,
2670     pub CallStaticVoidMethodV: ::std::option::Option<
2671         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: va_list),
2672     >,
2673     pub CallStaticVoidMethodA: ::std::option::Option<
2674         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jmethodID, arg4: *const jvalue),
2675     >,
2676     pub GetStaticFieldID: ::std::option::Option<
2677         unsafe extern "C" fn(
2678             arg1: *mut JNIEnv,
2679             arg2: jclass,
2680             arg3: *const ::std::os::raw::c_char,
2681             arg4: *const ::std::os::raw::c_char,
2682         ) -> jfieldID,
2683     >,
2684     pub GetStaticObjectField: ::std::option::Option<
2685         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jobject,
2686     >,
2687     pub GetStaticBooleanField: ::std::option::Option<
2688         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jboolean,
2689     >,
2690     pub GetStaticByteField: ::std::option::Option<
2691         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jbyte,
2692     >,
2693     pub GetStaticCharField: ::std::option::Option<
2694         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jchar,
2695     >,
2696     pub GetStaticShortField: ::std::option::Option<
2697         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jshort,
2698     >,
2699     pub GetStaticIntField: ::std::option::Option<
2700         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jint,
2701     >,
2702     pub GetStaticLongField: ::std::option::Option<
2703         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jlong,
2704     >,
2705     pub GetStaticFloatField: ::std::option::Option<
2706         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jfloat,
2707     >,
2708     pub GetStaticDoubleField: ::std::option::Option<
2709         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID) -> jdouble,
2710     >,
2711     pub SetStaticObjectField: ::std::option::Option<
2712         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jobject),
2713     >,
2714     pub SetStaticBooleanField: ::std::option::Option<
2715         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jboolean),
2716     >,
2717     pub SetStaticByteField: ::std::option::Option<
2718         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jbyte),
2719     >,
2720     pub SetStaticCharField: ::std::option::Option<
2721         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jchar),
2722     >,
2723     pub SetStaticShortField: ::std::option::Option<
2724         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jshort),
2725     >,
2726     pub SetStaticIntField: ::std::option::Option<
2727         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jint),
2728     >,
2729     pub SetStaticLongField: ::std::option::Option<
2730         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jlong),
2731     >,
2732     pub SetStaticFloatField: ::std::option::Option<
2733         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jfloat),
2734     >,
2735     pub SetStaticDoubleField: ::std::option::Option<
2736         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass, arg3: jfieldID, arg4: jdouble),
2737     >,
2738     pub NewString: ::std::option::Option<
2739         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const jchar, arg3: jsize) -> jstring,
2740     >,
2741     pub GetStringLength:
2742         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
2743     pub GetStringChars: ::std::option::Option<
2744         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
2745     >,
2746     pub ReleaseStringChars: ::std::option::Option<
2747         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
2748     >,
2749     pub NewStringUTF: ::std::option::Option<
2750         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *const ::std::os::raw::c_char) -> jstring,
2751     >,
2752     pub GetStringUTFLength:
2753         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring) -> jsize>,
2754     pub GetStringUTFChars: ::std::option::Option<
2755         unsafe extern "C" fn(
2756             arg1: *mut JNIEnv,
2757             arg2: jstring,
2758             arg3: *mut jboolean,
2759         ) -> *const ::std::os::raw::c_char,
2760     >,
2761     pub ReleaseStringUTFChars: ::std::option::Option<
2762         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const ::std::os::raw::c_char),
2763     >,
2764     pub GetArrayLength:
2765         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jarray) -> jsize>,
2766     pub NewObjectArray: ::std::option::Option<
2767         unsafe extern "C" fn(
2768             arg1: *mut JNIEnv,
2769             arg2: jsize,
2770             arg3: jclass,
2771             arg4: jobject,
2772         ) -> jobjectArray,
2773     >,
2774     pub GetObjectArrayElement: ::std::option::Option<
2775         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize) -> jobject,
2776     >,
2777     pub SetObjectArrayElement: ::std::option::Option<
2778         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobjectArray, arg3: jsize, arg4: jobject),
2779     >,
2780     pub NewBooleanArray: ::std::option::Option<
2781         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbooleanArray,
2782     >,
2783     pub NewByteArray:
2784         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jbyteArray>,
2785     pub NewCharArray:
2786         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jcharArray>,
2787     pub NewShortArray:
2788         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jshortArray>,
2789     pub NewIntArray:
2790         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jintArray>,
2791     pub NewLongArray:
2792         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jlongArray>,
2793     pub NewFloatArray:
2794         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jfloatArray>,
2795     pub NewDoubleArray:
2796         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jsize) -> jdoubleArray>,
2797     pub GetBooleanArrayElements: ::std::option::Option<
2798         unsafe extern "C" fn(
2799             arg1: *mut JNIEnv,
2800             arg2: jbooleanArray,
2801             arg3: *mut jboolean,
2802         ) -> *mut jboolean,
2803     >,
2804     pub GetByteArrayElements: ::std::option::Option<
2805         unsafe extern "C" fn(
2806             arg1: *mut JNIEnv,
2807             arg2: jbyteArray,
2808             arg3: *mut jboolean,
2809         ) -> *mut jbyte,
2810     >,
2811     pub GetCharArrayElements: ::std::option::Option<
2812         unsafe extern "C" fn(
2813             arg1: *mut JNIEnv,
2814             arg2: jcharArray,
2815             arg3: *mut jboolean,
2816         ) -> *mut jchar,
2817     >,
2818     pub GetShortArrayElements: ::std::option::Option<
2819         unsafe extern "C" fn(
2820             arg1: *mut JNIEnv,
2821             arg2: jshortArray,
2822             arg3: *mut jboolean,
2823         ) -> *mut jshort,
2824     >,
2825     pub GetIntArrayElements: ::std::option::Option<
2826         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jboolean) -> *mut jint,
2827     >,
2828     pub GetLongArrayElements: ::std::option::Option<
2829         unsafe extern "C" fn(
2830             arg1: *mut JNIEnv,
2831             arg2: jlongArray,
2832             arg3: *mut jboolean,
2833         ) -> *mut jlong,
2834     >,
2835     pub GetFloatArrayElements: ::std::option::Option<
2836         unsafe extern "C" fn(
2837             arg1: *mut JNIEnv,
2838             arg2: jfloatArray,
2839             arg3: *mut jboolean,
2840         ) -> *mut jfloat,
2841     >,
2842     pub GetDoubleArrayElements: ::std::option::Option<
2843         unsafe extern "C" fn(
2844             arg1: *mut JNIEnv,
2845             arg2: jdoubleArray,
2846             arg3: *mut jboolean,
2847         ) -> *mut jdouble,
2848     >,
2849     pub ReleaseBooleanArrayElements: ::std::option::Option<
2850         unsafe extern "C" fn(
2851             arg1: *mut JNIEnv,
2852             arg2: jbooleanArray,
2853             arg3: *mut jboolean,
2854             arg4: jint,
2855         ),
2856     >,
2857     pub ReleaseByteArrayElements: ::std::option::Option<
2858         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jbyteArray, arg3: *mut jbyte, arg4: jint),
2859     >,
2860     pub ReleaseCharArrayElements: ::std::option::Option<
2861         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jcharArray, arg3: *mut jchar, arg4: jint),
2862     >,
2863     pub ReleaseShortArrayElements: ::std::option::Option<
2864         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jshortArray, arg3: *mut jshort, arg4: jint),
2865     >,
2866     pub ReleaseIntArrayElements: ::std::option::Option<
2867         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jintArray, arg3: *mut jint, arg4: jint),
2868     >,
2869     pub ReleaseLongArrayElements: ::std::option::Option<
2870         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jlongArray, arg3: *mut jlong, arg4: jint),
2871     >,
2872     pub ReleaseFloatArrayElements: ::std::option::Option<
2873         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jfloatArray, arg3: *mut jfloat, arg4: jint),
2874     >,
2875     pub ReleaseDoubleArrayElements: ::std::option::Option<
2876         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jdoubleArray, arg3: *mut jdouble, arg4: jint),
2877     >,
2878     pub GetBooleanArrayRegion: ::std::option::Option<
2879         unsafe extern "C" fn(
2880             arg1: *mut JNIEnv,
2881             arg2: jbooleanArray,
2882             arg3: jsize,
2883             arg4: jsize,
2884             arg5: *mut jboolean,
2885         ),
2886     >,
2887     pub GetByteArrayRegion: ::std::option::Option<
2888         unsafe extern "C" fn(
2889             arg1: *mut JNIEnv,
2890             arg2: jbyteArray,
2891             arg3: jsize,
2892             arg4: jsize,
2893             arg5: *mut jbyte,
2894         ),
2895     >,
2896     pub GetCharArrayRegion: ::std::option::Option<
2897         unsafe extern "C" fn(
2898             arg1: *mut JNIEnv,
2899             arg2: jcharArray,
2900             arg3: jsize,
2901             arg4: jsize,
2902             arg5: *mut jchar,
2903         ),
2904     >,
2905     pub GetShortArrayRegion: ::std::option::Option<
2906         unsafe extern "C" fn(
2907             arg1: *mut JNIEnv,
2908             arg2: jshortArray,
2909             arg3: jsize,
2910             arg4: jsize,
2911             arg5: *mut jshort,
2912         ),
2913     >,
2914     pub GetIntArrayRegion: ::std::option::Option<
2915         unsafe extern "C" fn(
2916             arg1: *mut JNIEnv,
2917             arg2: jintArray,
2918             arg3: jsize,
2919             arg4: jsize,
2920             arg5: *mut jint,
2921         ),
2922     >,
2923     pub GetLongArrayRegion: ::std::option::Option<
2924         unsafe extern "C" fn(
2925             arg1: *mut JNIEnv,
2926             arg2: jlongArray,
2927             arg3: jsize,
2928             arg4: jsize,
2929             arg5: *mut jlong,
2930         ),
2931     >,
2932     pub GetFloatArrayRegion: ::std::option::Option<
2933         unsafe extern "C" fn(
2934             arg1: *mut JNIEnv,
2935             arg2: jfloatArray,
2936             arg3: jsize,
2937             arg4: jsize,
2938             arg5: *mut jfloat,
2939         ),
2940     >,
2941     pub GetDoubleArrayRegion: ::std::option::Option<
2942         unsafe extern "C" fn(
2943             arg1: *mut JNIEnv,
2944             arg2: jdoubleArray,
2945             arg3: jsize,
2946             arg4: jsize,
2947             arg5: *mut jdouble,
2948         ),
2949     >,
2950     pub SetBooleanArrayRegion: ::std::option::Option<
2951         unsafe extern "C" fn(
2952             arg1: *mut JNIEnv,
2953             arg2: jbooleanArray,
2954             arg3: jsize,
2955             arg4: jsize,
2956             arg5: *const jboolean,
2957         ),
2958     >,
2959     pub SetByteArrayRegion: ::std::option::Option<
2960         unsafe extern "C" fn(
2961             arg1: *mut JNIEnv,
2962             arg2: jbyteArray,
2963             arg3: jsize,
2964             arg4: jsize,
2965             arg5: *const jbyte,
2966         ),
2967     >,
2968     pub SetCharArrayRegion: ::std::option::Option<
2969         unsafe extern "C" fn(
2970             arg1: *mut JNIEnv,
2971             arg2: jcharArray,
2972             arg3: jsize,
2973             arg4: jsize,
2974             arg5: *const jchar,
2975         ),
2976     >,
2977     pub SetShortArrayRegion: ::std::option::Option<
2978         unsafe extern "C" fn(
2979             arg1: *mut JNIEnv,
2980             arg2: jshortArray,
2981             arg3: jsize,
2982             arg4: jsize,
2983             arg5: *const jshort,
2984         ),
2985     >,
2986     pub SetIntArrayRegion: ::std::option::Option<
2987         unsafe extern "C" fn(
2988             arg1: *mut JNIEnv,
2989             arg2: jintArray,
2990             arg3: jsize,
2991             arg4: jsize,
2992             arg5: *const jint,
2993         ),
2994     >,
2995     pub SetLongArrayRegion: ::std::option::Option<
2996         unsafe extern "C" fn(
2997             arg1: *mut JNIEnv,
2998             arg2: jlongArray,
2999             arg3: jsize,
3000             arg4: jsize,
3001             arg5: *const jlong,
3002         ),
3003     >,
3004     pub SetFloatArrayRegion: ::std::option::Option<
3005         unsafe extern "C" fn(
3006             arg1: *mut JNIEnv,
3007             arg2: jfloatArray,
3008             arg3: jsize,
3009             arg4: jsize,
3010             arg5: *const jfloat,
3011         ),
3012     >,
3013     pub SetDoubleArrayRegion: ::std::option::Option<
3014         unsafe extern "C" fn(
3015             arg1: *mut JNIEnv,
3016             arg2: jdoubleArray,
3017             arg3: jsize,
3018             arg4: jsize,
3019             arg5: *const jdouble,
3020         ),
3021     >,
3022     pub RegisterNatives: ::std::option::Option<
3023         unsafe extern "C" fn(
3024             arg1: *mut JNIEnv,
3025             arg2: jclass,
3026             arg3: *const JNINativeMethod,
3027             arg4: jint,
3028         ) -> jint,
3029     >,
3030     pub UnregisterNatives:
3031         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jclass) -> jint>,
3032     pub MonitorEnter:
3033         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
3034     pub MonitorExit:
3035         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jint>,
3036     pub GetJavaVM: ::std::option::Option<
3037         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: *mut *mut JavaVM) -> jint,
3038     >,
3039     pub GetStringRegion: ::std::option::Option<
3040         unsafe extern "C" fn(
3041             arg1: *mut JNIEnv,
3042             arg2: jstring,
3043             arg3: jsize,
3044             arg4: jsize,
3045             arg5: *mut jchar,
3046         ),
3047     >,
3048     pub GetStringUTFRegion: ::std::option::Option<
3049         unsafe extern "C" fn(
3050             arg1: *mut JNIEnv,
3051             arg2: jstring,
3052             arg3: jsize,
3053             arg4: jsize,
3054             arg5: *mut ::std::os::raw::c_char,
3055         ),
3056     >,
3057     pub GetPrimitiveArrayCritical: ::std::option::Option<
3058         unsafe extern "C" fn(
3059             arg1: *mut JNIEnv,
3060             arg2: jarray,
3061             arg3: *mut jboolean,
3062         ) -> *mut ::std::os::raw::c_void,
3063     >,
3064     pub ReleasePrimitiveArrayCritical: ::std::option::Option<
3065         unsafe extern "C" fn(
3066             arg1: *mut JNIEnv,
3067             arg2: jarray,
3068             arg3: *mut ::std::os::raw::c_void,
3069             arg4: jint,
3070         ),
3071     >,
3072     pub GetStringCritical: ::std::option::Option<
3073         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *mut jboolean) -> *const jchar,
3074     >,
3075     pub ReleaseStringCritical: ::std::option::Option<
3076         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jstring, arg3: *const jchar),
3077     >,
3078     pub NewWeakGlobalRef:
3079         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jweak>,
3080     pub DeleteWeakGlobalRef:
3081         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jweak)>,
3082     pub ExceptionCheck: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv) -> jboolean>,
3083     pub NewDirectByteBuffer: ::std::option::Option<
3084         unsafe extern "C" fn(
3085             arg1: *mut JNIEnv,
3086             arg2: *mut ::std::os::raw::c_void,
3087             arg3: jlong,
3088         ) -> jobject,
3089     >,
3090     pub GetDirectBufferAddress: ::std::option::Option<
3091         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> *mut ::std::os::raw::c_void,
3092     >,
3093     pub GetDirectBufferCapacity:
3094         ::std::option::Option<unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jlong>,
3095     pub GetObjectRefType: ::std::option::Option<
3096         unsafe extern "C" fn(arg1: *mut JNIEnv, arg2: jobject) -> jobjectRefType,
3097     >,
3098 }
3099 #[test]
bindgen_test_layout_JNINativeInterface()3100 fn bindgen_test_layout_JNINativeInterface() {
3101     assert_eq!(
3102         ::std::mem::size_of::<JNINativeInterface>(),
3103         932usize,
3104         concat!("Size of: ", stringify!(JNINativeInterface))
3105     );
3106     assert_eq!(
3107         ::std::mem::align_of::<JNINativeInterface>(),
3108         4usize,
3109         concat!("Alignment of ", stringify!(JNINativeInterface))
3110     );
3111     assert_eq!(
3112         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved0 as *const _ as usize },
3113         0usize,
3114         concat!(
3115             "Offset of field: ",
3116             stringify!(JNINativeInterface),
3117             "::",
3118             stringify!(reserved0)
3119         )
3120     );
3121     assert_eq!(
3122         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved1 as *const _ as usize },
3123         4usize,
3124         concat!(
3125             "Offset of field: ",
3126             stringify!(JNINativeInterface),
3127             "::",
3128             stringify!(reserved1)
3129         )
3130     );
3131     assert_eq!(
3132         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved2 as *const _ as usize },
3133         8usize,
3134         concat!(
3135             "Offset of field: ",
3136             stringify!(JNINativeInterface),
3137             "::",
3138             stringify!(reserved2)
3139         )
3140     );
3141     assert_eq!(
3142         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).reserved3 as *const _ as usize },
3143         12usize,
3144         concat!(
3145             "Offset of field: ",
3146             stringify!(JNINativeInterface),
3147             "::",
3148             stringify!(reserved3)
3149         )
3150     );
3151     assert_eq!(
3152         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetVersion as *const _ as usize },
3153         16usize,
3154         concat!(
3155             "Offset of field: ",
3156             stringify!(JNINativeInterface),
3157             "::",
3158             stringify!(GetVersion)
3159         )
3160     );
3161     assert_eq!(
3162         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).DefineClass as *const _ as usize },
3163         20usize,
3164         concat!(
3165             "Offset of field: ",
3166             stringify!(JNINativeInterface),
3167             "::",
3168             stringify!(DefineClass)
3169         )
3170     );
3171     assert_eq!(
3172         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FindClass as *const _ as usize },
3173         24usize,
3174         concat!(
3175             "Offset of field: ",
3176             stringify!(JNINativeInterface),
3177             "::",
3178             stringify!(FindClass)
3179         )
3180     );
3181     assert_eq!(
3182         unsafe {
3183             &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedMethod as *const _ as usize
3184         },
3185         28usize,
3186         concat!(
3187             "Offset of field: ",
3188             stringify!(JNINativeInterface),
3189             "::",
3190             stringify!(FromReflectedMethod)
3191         )
3192     );
3193     assert_eq!(
3194         unsafe {
3195             &(*(::std::ptr::null::<JNINativeInterface>())).FromReflectedField as *const _ as usize
3196         },
3197         32usize,
3198         concat!(
3199             "Offset of field: ",
3200             stringify!(JNINativeInterface),
3201             "::",
3202             stringify!(FromReflectedField)
3203         )
3204     );
3205     assert_eq!(
3206         unsafe {
3207             &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedMethod as *const _ as usize
3208         },
3209         36usize,
3210         concat!(
3211             "Offset of field: ",
3212             stringify!(JNINativeInterface),
3213             "::",
3214             stringify!(ToReflectedMethod)
3215         )
3216     );
3217     assert_eq!(
3218         unsafe {
3219             &(*(::std::ptr::null::<JNINativeInterface>())).GetSuperclass as *const _ as usize
3220         },
3221         40usize,
3222         concat!(
3223             "Offset of field: ",
3224             stringify!(JNINativeInterface),
3225             "::",
3226             stringify!(GetSuperclass)
3227         )
3228     );
3229     assert_eq!(
3230         unsafe {
3231             &(*(::std::ptr::null::<JNINativeInterface>())).IsAssignableFrom as *const _ as usize
3232         },
3233         44usize,
3234         concat!(
3235             "Offset of field: ",
3236             stringify!(JNINativeInterface),
3237             "::",
3238             stringify!(IsAssignableFrom)
3239         )
3240     );
3241     assert_eq!(
3242         unsafe {
3243             &(*(::std::ptr::null::<JNINativeInterface>())).ToReflectedField as *const _ as usize
3244         },
3245         48usize,
3246         concat!(
3247             "Offset of field: ",
3248             stringify!(JNINativeInterface),
3249             "::",
3250             stringify!(ToReflectedField)
3251         )
3252     );
3253     assert_eq!(
3254         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).Throw as *const _ as usize },
3255         52usize,
3256         concat!(
3257             "Offset of field: ",
3258             stringify!(JNINativeInterface),
3259             "::",
3260             stringify!(Throw)
3261         )
3262     );
3263     assert_eq!(
3264         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).ThrowNew as *const _ as usize },
3265         56usize,
3266         concat!(
3267             "Offset of field: ",
3268             stringify!(JNINativeInterface),
3269             "::",
3270             stringify!(ThrowNew)
3271         )
3272     );
3273     assert_eq!(
3274         unsafe {
3275             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionOccurred as *const _ as usize
3276         },
3277         60usize,
3278         concat!(
3279             "Offset of field: ",
3280             stringify!(JNINativeInterface),
3281             "::",
3282             stringify!(ExceptionOccurred)
3283         )
3284     );
3285     assert_eq!(
3286         unsafe {
3287             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionDescribe as *const _ as usize
3288         },
3289         64usize,
3290         concat!(
3291             "Offset of field: ",
3292             stringify!(JNINativeInterface),
3293             "::",
3294             stringify!(ExceptionDescribe)
3295         )
3296     );
3297     assert_eq!(
3298         unsafe {
3299             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionClear as *const _ as usize
3300         },
3301         68usize,
3302         concat!(
3303             "Offset of field: ",
3304             stringify!(JNINativeInterface),
3305             "::",
3306             stringify!(ExceptionClear)
3307         )
3308     );
3309     assert_eq!(
3310         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).FatalError as *const _ as usize },
3311         72usize,
3312         concat!(
3313             "Offset of field: ",
3314             stringify!(JNINativeInterface),
3315             "::",
3316             stringify!(FatalError)
3317         )
3318     );
3319     assert_eq!(
3320         unsafe {
3321             &(*(::std::ptr::null::<JNINativeInterface>())).PushLocalFrame as *const _ as usize
3322         },
3323         76usize,
3324         concat!(
3325             "Offset of field: ",
3326             stringify!(JNINativeInterface),
3327             "::",
3328             stringify!(PushLocalFrame)
3329         )
3330     );
3331     assert_eq!(
3332         unsafe {
3333             &(*(::std::ptr::null::<JNINativeInterface>())).PopLocalFrame as *const _ as usize
3334         },
3335         80usize,
3336         concat!(
3337             "Offset of field: ",
3338             stringify!(JNINativeInterface),
3339             "::",
3340             stringify!(PopLocalFrame)
3341         )
3342     );
3343     assert_eq!(
3344         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewGlobalRef as *const _ as usize },
3345         84usize,
3346         concat!(
3347             "Offset of field: ",
3348             stringify!(JNINativeInterface),
3349             "::",
3350             stringify!(NewGlobalRef)
3351         )
3352     );
3353     assert_eq!(
3354         unsafe {
3355             &(*(::std::ptr::null::<JNINativeInterface>())).DeleteGlobalRef as *const _ as usize
3356         },
3357         88usize,
3358         concat!(
3359             "Offset of field: ",
3360             stringify!(JNINativeInterface),
3361             "::",
3362             stringify!(DeleteGlobalRef)
3363         )
3364     );
3365     assert_eq!(
3366         unsafe {
3367             &(*(::std::ptr::null::<JNINativeInterface>())).DeleteLocalRef as *const _ as usize
3368         },
3369         92usize,
3370         concat!(
3371             "Offset of field: ",
3372             stringify!(JNINativeInterface),
3373             "::",
3374             stringify!(DeleteLocalRef)
3375         )
3376     );
3377     assert_eq!(
3378         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsSameObject as *const _ as usize },
3379         96usize,
3380         concat!(
3381             "Offset of field: ",
3382             stringify!(JNINativeInterface),
3383             "::",
3384             stringify!(IsSameObject)
3385         )
3386     );
3387     assert_eq!(
3388         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLocalRef as *const _ as usize },
3389         100usize,
3390         concat!(
3391             "Offset of field: ",
3392             stringify!(JNINativeInterface),
3393             "::",
3394             stringify!(NewLocalRef)
3395         )
3396     );
3397     assert_eq!(
3398         unsafe {
3399             &(*(::std::ptr::null::<JNINativeInterface>())).EnsureLocalCapacity as *const _ as usize
3400         },
3401         104usize,
3402         concat!(
3403             "Offset of field: ",
3404             stringify!(JNINativeInterface),
3405             "::",
3406             stringify!(EnsureLocalCapacity)
3407         )
3408     );
3409     assert_eq!(
3410         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).AllocObject as *const _ as usize },
3411         108usize,
3412         concat!(
3413             "Offset of field: ",
3414             stringify!(JNINativeInterface),
3415             "::",
3416             stringify!(AllocObject)
3417         )
3418     );
3419     assert_eq!(
3420         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObject as *const _ as usize },
3421         112usize,
3422         concat!(
3423             "Offset of field: ",
3424             stringify!(JNINativeInterface),
3425             "::",
3426             stringify!(NewObject)
3427         )
3428     );
3429     assert_eq!(
3430         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectV as *const _ as usize },
3431         116usize,
3432         concat!(
3433             "Offset of field: ",
3434             stringify!(JNINativeInterface),
3435             "::",
3436             stringify!(NewObjectV)
3437         )
3438     );
3439     assert_eq!(
3440         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectA as *const _ as usize },
3441         120usize,
3442         concat!(
3443             "Offset of field: ",
3444             stringify!(JNINativeInterface),
3445             "::",
3446             stringify!(NewObjectA)
3447         )
3448     );
3449     assert_eq!(
3450         unsafe {
3451             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectClass as *const _ as usize
3452         },
3453         124usize,
3454         concat!(
3455             "Offset of field: ",
3456             stringify!(JNINativeInterface),
3457             "::",
3458             stringify!(GetObjectClass)
3459         )
3460     );
3461     assert_eq!(
3462         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).IsInstanceOf as *const _ as usize },
3463         128usize,
3464         concat!(
3465             "Offset of field: ",
3466             stringify!(JNINativeInterface),
3467             "::",
3468             stringify!(IsInstanceOf)
3469         )
3470     );
3471     assert_eq!(
3472         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetMethodID as *const _ as usize },
3473         132usize,
3474         concat!(
3475             "Offset of field: ",
3476             stringify!(JNINativeInterface),
3477             "::",
3478             stringify!(GetMethodID)
3479         )
3480     );
3481     assert_eq!(
3482         unsafe {
3483             &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethod as *const _ as usize
3484         },
3485         136usize,
3486         concat!(
3487             "Offset of field: ",
3488             stringify!(JNINativeInterface),
3489             "::",
3490             stringify!(CallObjectMethod)
3491         )
3492     );
3493     assert_eq!(
3494         unsafe {
3495             &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodV as *const _ as usize
3496         },
3497         140usize,
3498         concat!(
3499             "Offset of field: ",
3500             stringify!(JNINativeInterface),
3501             "::",
3502             stringify!(CallObjectMethodV)
3503         )
3504     );
3505     assert_eq!(
3506         unsafe {
3507             &(*(::std::ptr::null::<JNINativeInterface>())).CallObjectMethodA as *const _ as usize
3508         },
3509         144usize,
3510         concat!(
3511             "Offset of field: ",
3512             stringify!(JNINativeInterface),
3513             "::",
3514             stringify!(CallObjectMethodA)
3515         )
3516     );
3517     assert_eq!(
3518         unsafe {
3519             &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethod as *const _ as usize
3520         },
3521         148usize,
3522         concat!(
3523             "Offset of field: ",
3524             stringify!(JNINativeInterface),
3525             "::",
3526             stringify!(CallBooleanMethod)
3527         )
3528     );
3529     assert_eq!(
3530         unsafe {
3531             &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodV as *const _ as usize
3532         },
3533         152usize,
3534         concat!(
3535             "Offset of field: ",
3536             stringify!(JNINativeInterface),
3537             "::",
3538             stringify!(CallBooleanMethodV)
3539         )
3540     );
3541     assert_eq!(
3542         unsafe {
3543             &(*(::std::ptr::null::<JNINativeInterface>())).CallBooleanMethodA as *const _ as usize
3544         },
3545         156usize,
3546         concat!(
3547             "Offset of field: ",
3548             stringify!(JNINativeInterface),
3549             "::",
3550             stringify!(CallBooleanMethodA)
3551         )
3552     );
3553     assert_eq!(
3554         unsafe {
3555             &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethod as *const _ as usize
3556         },
3557         160usize,
3558         concat!(
3559             "Offset of field: ",
3560             stringify!(JNINativeInterface),
3561             "::",
3562             stringify!(CallByteMethod)
3563         )
3564     );
3565     assert_eq!(
3566         unsafe {
3567             &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodV as *const _ as usize
3568         },
3569         164usize,
3570         concat!(
3571             "Offset of field: ",
3572             stringify!(JNINativeInterface),
3573             "::",
3574             stringify!(CallByteMethodV)
3575         )
3576     );
3577     assert_eq!(
3578         unsafe {
3579             &(*(::std::ptr::null::<JNINativeInterface>())).CallByteMethodA as *const _ as usize
3580         },
3581         168usize,
3582         concat!(
3583             "Offset of field: ",
3584             stringify!(JNINativeInterface),
3585             "::",
3586             stringify!(CallByteMethodA)
3587         )
3588     );
3589     assert_eq!(
3590         unsafe {
3591             &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethod as *const _ as usize
3592         },
3593         172usize,
3594         concat!(
3595             "Offset of field: ",
3596             stringify!(JNINativeInterface),
3597             "::",
3598             stringify!(CallCharMethod)
3599         )
3600     );
3601     assert_eq!(
3602         unsafe {
3603             &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodV as *const _ as usize
3604         },
3605         176usize,
3606         concat!(
3607             "Offset of field: ",
3608             stringify!(JNINativeInterface),
3609             "::",
3610             stringify!(CallCharMethodV)
3611         )
3612     );
3613     assert_eq!(
3614         unsafe {
3615             &(*(::std::ptr::null::<JNINativeInterface>())).CallCharMethodA as *const _ as usize
3616         },
3617         180usize,
3618         concat!(
3619             "Offset of field: ",
3620             stringify!(JNINativeInterface),
3621             "::",
3622             stringify!(CallCharMethodA)
3623         )
3624     );
3625     assert_eq!(
3626         unsafe {
3627             &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethod as *const _ as usize
3628         },
3629         184usize,
3630         concat!(
3631             "Offset of field: ",
3632             stringify!(JNINativeInterface),
3633             "::",
3634             stringify!(CallShortMethod)
3635         )
3636     );
3637     assert_eq!(
3638         unsafe {
3639             &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodV as *const _ as usize
3640         },
3641         188usize,
3642         concat!(
3643             "Offset of field: ",
3644             stringify!(JNINativeInterface),
3645             "::",
3646             stringify!(CallShortMethodV)
3647         )
3648     );
3649     assert_eq!(
3650         unsafe {
3651             &(*(::std::ptr::null::<JNINativeInterface>())).CallShortMethodA as *const _ as usize
3652         },
3653         192usize,
3654         concat!(
3655             "Offset of field: ",
3656             stringify!(JNINativeInterface),
3657             "::",
3658             stringify!(CallShortMethodA)
3659         )
3660     );
3661     assert_eq!(
3662         unsafe {
3663             &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethod as *const _ as usize
3664         },
3665         196usize,
3666         concat!(
3667             "Offset of field: ",
3668             stringify!(JNINativeInterface),
3669             "::",
3670             stringify!(CallIntMethod)
3671         )
3672     );
3673     assert_eq!(
3674         unsafe {
3675             &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodV as *const _ as usize
3676         },
3677         200usize,
3678         concat!(
3679             "Offset of field: ",
3680             stringify!(JNINativeInterface),
3681             "::",
3682             stringify!(CallIntMethodV)
3683         )
3684     );
3685     assert_eq!(
3686         unsafe {
3687             &(*(::std::ptr::null::<JNINativeInterface>())).CallIntMethodA as *const _ as usize
3688         },
3689         204usize,
3690         concat!(
3691             "Offset of field: ",
3692             stringify!(JNINativeInterface),
3693             "::",
3694             stringify!(CallIntMethodA)
3695         )
3696     );
3697     assert_eq!(
3698         unsafe {
3699             &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethod as *const _ as usize
3700         },
3701         208usize,
3702         concat!(
3703             "Offset of field: ",
3704             stringify!(JNINativeInterface),
3705             "::",
3706             stringify!(CallLongMethod)
3707         )
3708     );
3709     assert_eq!(
3710         unsafe {
3711             &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodV as *const _ as usize
3712         },
3713         212usize,
3714         concat!(
3715             "Offset of field: ",
3716             stringify!(JNINativeInterface),
3717             "::",
3718             stringify!(CallLongMethodV)
3719         )
3720     );
3721     assert_eq!(
3722         unsafe {
3723             &(*(::std::ptr::null::<JNINativeInterface>())).CallLongMethodA as *const _ as usize
3724         },
3725         216usize,
3726         concat!(
3727             "Offset of field: ",
3728             stringify!(JNINativeInterface),
3729             "::",
3730             stringify!(CallLongMethodA)
3731         )
3732     );
3733     assert_eq!(
3734         unsafe {
3735             &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethod as *const _ as usize
3736         },
3737         220usize,
3738         concat!(
3739             "Offset of field: ",
3740             stringify!(JNINativeInterface),
3741             "::",
3742             stringify!(CallFloatMethod)
3743         )
3744     );
3745     assert_eq!(
3746         unsafe {
3747             &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodV as *const _ as usize
3748         },
3749         224usize,
3750         concat!(
3751             "Offset of field: ",
3752             stringify!(JNINativeInterface),
3753             "::",
3754             stringify!(CallFloatMethodV)
3755         )
3756     );
3757     assert_eq!(
3758         unsafe {
3759             &(*(::std::ptr::null::<JNINativeInterface>())).CallFloatMethodA as *const _ as usize
3760         },
3761         228usize,
3762         concat!(
3763             "Offset of field: ",
3764             stringify!(JNINativeInterface),
3765             "::",
3766             stringify!(CallFloatMethodA)
3767         )
3768     );
3769     assert_eq!(
3770         unsafe {
3771             &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethod as *const _ as usize
3772         },
3773         232usize,
3774         concat!(
3775             "Offset of field: ",
3776             stringify!(JNINativeInterface),
3777             "::",
3778             stringify!(CallDoubleMethod)
3779         )
3780     );
3781     assert_eq!(
3782         unsafe {
3783             &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodV as *const _ as usize
3784         },
3785         236usize,
3786         concat!(
3787             "Offset of field: ",
3788             stringify!(JNINativeInterface),
3789             "::",
3790             stringify!(CallDoubleMethodV)
3791         )
3792     );
3793     assert_eq!(
3794         unsafe {
3795             &(*(::std::ptr::null::<JNINativeInterface>())).CallDoubleMethodA as *const _ as usize
3796         },
3797         240usize,
3798         concat!(
3799             "Offset of field: ",
3800             stringify!(JNINativeInterface),
3801             "::",
3802             stringify!(CallDoubleMethodA)
3803         )
3804     );
3805     assert_eq!(
3806         unsafe {
3807             &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethod as *const _ as usize
3808         },
3809         244usize,
3810         concat!(
3811             "Offset of field: ",
3812             stringify!(JNINativeInterface),
3813             "::",
3814             stringify!(CallVoidMethod)
3815         )
3816     );
3817     assert_eq!(
3818         unsafe {
3819             &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodV as *const _ as usize
3820         },
3821         248usize,
3822         concat!(
3823             "Offset of field: ",
3824             stringify!(JNINativeInterface),
3825             "::",
3826             stringify!(CallVoidMethodV)
3827         )
3828     );
3829     assert_eq!(
3830         unsafe {
3831             &(*(::std::ptr::null::<JNINativeInterface>())).CallVoidMethodA as *const _ as usize
3832         },
3833         252usize,
3834         concat!(
3835             "Offset of field: ",
3836             stringify!(JNINativeInterface),
3837             "::",
3838             stringify!(CallVoidMethodA)
3839         )
3840     );
3841     assert_eq!(
3842         unsafe {
3843             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethod as *const _
3844                 as usize
3845         },
3846         256usize,
3847         concat!(
3848             "Offset of field: ",
3849             stringify!(JNINativeInterface),
3850             "::",
3851             stringify!(CallNonvirtualObjectMethod)
3852         )
3853     );
3854     assert_eq!(
3855         unsafe {
3856             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodV as *const _
3857                 as usize
3858         },
3859         260usize,
3860         concat!(
3861             "Offset of field: ",
3862             stringify!(JNINativeInterface),
3863             "::",
3864             stringify!(CallNonvirtualObjectMethodV)
3865         )
3866     );
3867     assert_eq!(
3868         unsafe {
3869             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualObjectMethodA as *const _
3870                 as usize
3871         },
3872         264usize,
3873         concat!(
3874             "Offset of field: ",
3875             stringify!(JNINativeInterface),
3876             "::",
3877             stringify!(CallNonvirtualObjectMethodA)
3878         )
3879     );
3880     assert_eq!(
3881         unsafe {
3882             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethod as *const _
3883                 as usize
3884         },
3885         268usize,
3886         concat!(
3887             "Offset of field: ",
3888             stringify!(JNINativeInterface),
3889             "::",
3890             stringify!(CallNonvirtualBooleanMethod)
3891         )
3892     );
3893     assert_eq!(
3894         unsafe {
3895             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodV as *const _
3896                 as usize
3897         },
3898         272usize,
3899         concat!(
3900             "Offset of field: ",
3901             stringify!(JNINativeInterface),
3902             "::",
3903             stringify!(CallNonvirtualBooleanMethodV)
3904         )
3905     );
3906     assert_eq!(
3907         unsafe {
3908             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualBooleanMethodA as *const _
3909                 as usize
3910         },
3911         276usize,
3912         concat!(
3913             "Offset of field: ",
3914             stringify!(JNINativeInterface),
3915             "::",
3916             stringify!(CallNonvirtualBooleanMethodA)
3917         )
3918     );
3919     assert_eq!(
3920         unsafe {
3921             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethod as *const _
3922                 as usize
3923         },
3924         280usize,
3925         concat!(
3926             "Offset of field: ",
3927             stringify!(JNINativeInterface),
3928             "::",
3929             stringify!(CallNonvirtualByteMethod)
3930         )
3931     );
3932     assert_eq!(
3933         unsafe {
3934             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodV as *const _
3935                 as usize
3936         },
3937         284usize,
3938         concat!(
3939             "Offset of field: ",
3940             stringify!(JNINativeInterface),
3941             "::",
3942             stringify!(CallNonvirtualByteMethodV)
3943         )
3944     );
3945     assert_eq!(
3946         unsafe {
3947             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualByteMethodA as *const _
3948                 as usize
3949         },
3950         288usize,
3951         concat!(
3952             "Offset of field: ",
3953             stringify!(JNINativeInterface),
3954             "::",
3955             stringify!(CallNonvirtualByteMethodA)
3956         )
3957     );
3958     assert_eq!(
3959         unsafe {
3960             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethod as *const _
3961                 as usize
3962         },
3963         292usize,
3964         concat!(
3965             "Offset of field: ",
3966             stringify!(JNINativeInterface),
3967             "::",
3968             stringify!(CallNonvirtualCharMethod)
3969         )
3970     );
3971     assert_eq!(
3972         unsafe {
3973             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodV as *const _
3974                 as usize
3975         },
3976         296usize,
3977         concat!(
3978             "Offset of field: ",
3979             stringify!(JNINativeInterface),
3980             "::",
3981             stringify!(CallNonvirtualCharMethodV)
3982         )
3983     );
3984     assert_eq!(
3985         unsafe {
3986             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualCharMethodA as *const _
3987                 as usize
3988         },
3989         300usize,
3990         concat!(
3991             "Offset of field: ",
3992             stringify!(JNINativeInterface),
3993             "::",
3994             stringify!(CallNonvirtualCharMethodA)
3995         )
3996     );
3997     assert_eq!(
3998         unsafe {
3999             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethod as *const _
4000                 as usize
4001         },
4002         304usize,
4003         concat!(
4004             "Offset of field: ",
4005             stringify!(JNINativeInterface),
4006             "::",
4007             stringify!(CallNonvirtualShortMethod)
4008         )
4009     );
4010     assert_eq!(
4011         unsafe {
4012             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodV as *const _
4013                 as usize
4014         },
4015         308usize,
4016         concat!(
4017             "Offset of field: ",
4018             stringify!(JNINativeInterface),
4019             "::",
4020             stringify!(CallNonvirtualShortMethodV)
4021         )
4022     );
4023     assert_eq!(
4024         unsafe {
4025             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualShortMethodA as *const _
4026                 as usize
4027         },
4028         312usize,
4029         concat!(
4030             "Offset of field: ",
4031             stringify!(JNINativeInterface),
4032             "::",
4033             stringify!(CallNonvirtualShortMethodA)
4034         )
4035     );
4036     assert_eq!(
4037         unsafe {
4038             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethod as *const _
4039                 as usize
4040         },
4041         316usize,
4042         concat!(
4043             "Offset of field: ",
4044             stringify!(JNINativeInterface),
4045             "::",
4046             stringify!(CallNonvirtualIntMethod)
4047         )
4048     );
4049     assert_eq!(
4050         unsafe {
4051             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodV as *const _
4052                 as usize
4053         },
4054         320usize,
4055         concat!(
4056             "Offset of field: ",
4057             stringify!(JNINativeInterface),
4058             "::",
4059             stringify!(CallNonvirtualIntMethodV)
4060         )
4061     );
4062     assert_eq!(
4063         unsafe {
4064             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualIntMethodA as *const _
4065                 as usize
4066         },
4067         324usize,
4068         concat!(
4069             "Offset of field: ",
4070             stringify!(JNINativeInterface),
4071             "::",
4072             stringify!(CallNonvirtualIntMethodA)
4073         )
4074     );
4075     assert_eq!(
4076         unsafe {
4077             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethod as *const _
4078                 as usize
4079         },
4080         328usize,
4081         concat!(
4082             "Offset of field: ",
4083             stringify!(JNINativeInterface),
4084             "::",
4085             stringify!(CallNonvirtualLongMethod)
4086         )
4087     );
4088     assert_eq!(
4089         unsafe {
4090             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodV as *const _
4091                 as usize
4092         },
4093         332usize,
4094         concat!(
4095             "Offset of field: ",
4096             stringify!(JNINativeInterface),
4097             "::",
4098             stringify!(CallNonvirtualLongMethodV)
4099         )
4100     );
4101     assert_eq!(
4102         unsafe {
4103             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualLongMethodA as *const _
4104                 as usize
4105         },
4106         336usize,
4107         concat!(
4108             "Offset of field: ",
4109             stringify!(JNINativeInterface),
4110             "::",
4111             stringify!(CallNonvirtualLongMethodA)
4112         )
4113     );
4114     assert_eq!(
4115         unsafe {
4116             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethod as *const _
4117                 as usize
4118         },
4119         340usize,
4120         concat!(
4121             "Offset of field: ",
4122             stringify!(JNINativeInterface),
4123             "::",
4124             stringify!(CallNonvirtualFloatMethod)
4125         )
4126     );
4127     assert_eq!(
4128         unsafe {
4129             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodV as *const _
4130                 as usize
4131         },
4132         344usize,
4133         concat!(
4134             "Offset of field: ",
4135             stringify!(JNINativeInterface),
4136             "::",
4137             stringify!(CallNonvirtualFloatMethodV)
4138         )
4139     );
4140     assert_eq!(
4141         unsafe {
4142             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualFloatMethodA as *const _
4143                 as usize
4144         },
4145         348usize,
4146         concat!(
4147             "Offset of field: ",
4148             stringify!(JNINativeInterface),
4149             "::",
4150             stringify!(CallNonvirtualFloatMethodA)
4151         )
4152     );
4153     assert_eq!(
4154         unsafe {
4155             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethod as *const _
4156                 as usize
4157         },
4158         352usize,
4159         concat!(
4160             "Offset of field: ",
4161             stringify!(JNINativeInterface),
4162             "::",
4163             stringify!(CallNonvirtualDoubleMethod)
4164         )
4165     );
4166     assert_eq!(
4167         unsafe {
4168             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodV as *const _
4169                 as usize
4170         },
4171         356usize,
4172         concat!(
4173             "Offset of field: ",
4174             stringify!(JNINativeInterface),
4175             "::",
4176             stringify!(CallNonvirtualDoubleMethodV)
4177         )
4178     );
4179     assert_eq!(
4180         unsafe {
4181             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualDoubleMethodA as *const _
4182                 as usize
4183         },
4184         360usize,
4185         concat!(
4186             "Offset of field: ",
4187             stringify!(JNINativeInterface),
4188             "::",
4189             stringify!(CallNonvirtualDoubleMethodA)
4190         )
4191     );
4192     assert_eq!(
4193         unsafe {
4194             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethod as *const _
4195                 as usize
4196         },
4197         364usize,
4198         concat!(
4199             "Offset of field: ",
4200             stringify!(JNINativeInterface),
4201             "::",
4202             stringify!(CallNonvirtualVoidMethod)
4203         )
4204     );
4205     assert_eq!(
4206         unsafe {
4207             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodV as *const _
4208                 as usize
4209         },
4210         368usize,
4211         concat!(
4212             "Offset of field: ",
4213             stringify!(JNINativeInterface),
4214             "::",
4215             stringify!(CallNonvirtualVoidMethodV)
4216         )
4217     );
4218     assert_eq!(
4219         unsafe {
4220             &(*(::std::ptr::null::<JNINativeInterface>())).CallNonvirtualVoidMethodA as *const _
4221                 as usize
4222         },
4223         372usize,
4224         concat!(
4225             "Offset of field: ",
4226             stringify!(JNINativeInterface),
4227             "::",
4228             stringify!(CallNonvirtualVoidMethodA)
4229         )
4230     );
4231     assert_eq!(
4232         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetFieldID as *const _ as usize },
4233         376usize,
4234         concat!(
4235             "Offset of field: ",
4236             stringify!(JNINativeInterface),
4237             "::",
4238             stringify!(GetFieldID)
4239         )
4240     );
4241     assert_eq!(
4242         unsafe {
4243             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectField as *const _ as usize
4244         },
4245         380usize,
4246         concat!(
4247             "Offset of field: ",
4248             stringify!(JNINativeInterface),
4249             "::",
4250             stringify!(GetObjectField)
4251         )
4252     );
4253     assert_eq!(
4254         unsafe {
4255             &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanField as *const _ as usize
4256         },
4257         384usize,
4258         concat!(
4259             "Offset of field: ",
4260             stringify!(JNINativeInterface),
4261             "::",
4262             stringify!(GetBooleanField)
4263         )
4264     );
4265     assert_eq!(
4266         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetByteField as *const _ as usize },
4267         388usize,
4268         concat!(
4269             "Offset of field: ",
4270             stringify!(JNINativeInterface),
4271             "::",
4272             stringify!(GetByteField)
4273         )
4274     );
4275     assert_eq!(
4276         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetCharField as *const _ as usize },
4277         392usize,
4278         concat!(
4279             "Offset of field: ",
4280             stringify!(JNINativeInterface),
4281             "::",
4282             stringify!(GetCharField)
4283         )
4284     );
4285     assert_eq!(
4286         unsafe {
4287             &(*(::std::ptr::null::<JNINativeInterface>())).GetShortField as *const _ as usize
4288         },
4289         396usize,
4290         concat!(
4291             "Offset of field: ",
4292             stringify!(JNINativeInterface),
4293             "::",
4294             stringify!(GetShortField)
4295         )
4296     );
4297     assert_eq!(
4298         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetIntField as *const _ as usize },
4299         400usize,
4300         concat!(
4301             "Offset of field: ",
4302             stringify!(JNINativeInterface),
4303             "::",
4304             stringify!(GetIntField)
4305         )
4306     );
4307     assert_eq!(
4308         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetLongField as *const _ as usize },
4309         404usize,
4310         concat!(
4311             "Offset of field: ",
4312             stringify!(JNINativeInterface),
4313             "::",
4314             stringify!(GetLongField)
4315         )
4316     );
4317     assert_eq!(
4318         unsafe {
4319             &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatField as *const _ as usize
4320         },
4321         408usize,
4322         concat!(
4323             "Offset of field: ",
4324             stringify!(JNINativeInterface),
4325             "::",
4326             stringify!(GetFloatField)
4327         )
4328     );
4329     assert_eq!(
4330         unsafe {
4331             &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleField as *const _ as usize
4332         },
4333         412usize,
4334         concat!(
4335             "Offset of field: ",
4336             stringify!(JNINativeInterface),
4337             "::",
4338             stringify!(GetDoubleField)
4339         )
4340     );
4341     assert_eq!(
4342         unsafe {
4343             &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectField as *const _ as usize
4344         },
4345         416usize,
4346         concat!(
4347             "Offset of field: ",
4348             stringify!(JNINativeInterface),
4349             "::",
4350             stringify!(SetObjectField)
4351         )
4352     );
4353     assert_eq!(
4354         unsafe {
4355             &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanField as *const _ as usize
4356         },
4357         420usize,
4358         concat!(
4359             "Offset of field: ",
4360             stringify!(JNINativeInterface),
4361             "::",
4362             stringify!(SetBooleanField)
4363         )
4364     );
4365     assert_eq!(
4366         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetByteField as *const _ as usize },
4367         424usize,
4368         concat!(
4369             "Offset of field: ",
4370             stringify!(JNINativeInterface),
4371             "::",
4372             stringify!(SetByteField)
4373         )
4374     );
4375     assert_eq!(
4376         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetCharField as *const _ as usize },
4377         428usize,
4378         concat!(
4379             "Offset of field: ",
4380             stringify!(JNINativeInterface),
4381             "::",
4382             stringify!(SetCharField)
4383         )
4384     );
4385     assert_eq!(
4386         unsafe {
4387             &(*(::std::ptr::null::<JNINativeInterface>())).SetShortField as *const _ as usize
4388         },
4389         432usize,
4390         concat!(
4391             "Offset of field: ",
4392             stringify!(JNINativeInterface),
4393             "::",
4394             stringify!(SetShortField)
4395         )
4396     );
4397     assert_eq!(
4398         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetIntField as *const _ as usize },
4399         436usize,
4400         concat!(
4401             "Offset of field: ",
4402             stringify!(JNINativeInterface),
4403             "::",
4404             stringify!(SetIntField)
4405         )
4406     );
4407     assert_eq!(
4408         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).SetLongField as *const _ as usize },
4409         440usize,
4410         concat!(
4411             "Offset of field: ",
4412             stringify!(JNINativeInterface),
4413             "::",
4414             stringify!(SetLongField)
4415         )
4416     );
4417     assert_eq!(
4418         unsafe {
4419             &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatField as *const _ as usize
4420         },
4421         444usize,
4422         concat!(
4423             "Offset of field: ",
4424             stringify!(JNINativeInterface),
4425             "::",
4426             stringify!(SetFloatField)
4427         )
4428     );
4429     assert_eq!(
4430         unsafe {
4431             &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleField as *const _ as usize
4432         },
4433         448usize,
4434         concat!(
4435             "Offset of field: ",
4436             stringify!(JNINativeInterface),
4437             "::",
4438             stringify!(SetDoubleField)
4439         )
4440     );
4441     assert_eq!(
4442         unsafe {
4443             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticMethodID as *const _ as usize
4444         },
4445         452usize,
4446         concat!(
4447             "Offset of field: ",
4448             stringify!(JNINativeInterface),
4449             "::",
4450             stringify!(GetStaticMethodID)
4451         )
4452     );
4453     assert_eq!(
4454         unsafe {
4455             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethod as *const _
4456                 as usize
4457         },
4458         456usize,
4459         concat!(
4460             "Offset of field: ",
4461             stringify!(JNINativeInterface),
4462             "::",
4463             stringify!(CallStaticObjectMethod)
4464         )
4465     );
4466     assert_eq!(
4467         unsafe {
4468             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodV as *const _
4469                 as usize
4470         },
4471         460usize,
4472         concat!(
4473             "Offset of field: ",
4474             stringify!(JNINativeInterface),
4475             "::",
4476             stringify!(CallStaticObjectMethodV)
4477         )
4478     );
4479     assert_eq!(
4480         unsafe {
4481             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticObjectMethodA as *const _
4482                 as usize
4483         },
4484         464usize,
4485         concat!(
4486             "Offset of field: ",
4487             stringify!(JNINativeInterface),
4488             "::",
4489             stringify!(CallStaticObjectMethodA)
4490         )
4491     );
4492     assert_eq!(
4493         unsafe {
4494             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethod as *const _
4495                 as usize
4496         },
4497         468usize,
4498         concat!(
4499             "Offset of field: ",
4500             stringify!(JNINativeInterface),
4501             "::",
4502             stringify!(CallStaticBooleanMethod)
4503         )
4504     );
4505     assert_eq!(
4506         unsafe {
4507             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodV as *const _
4508                 as usize
4509         },
4510         472usize,
4511         concat!(
4512             "Offset of field: ",
4513             stringify!(JNINativeInterface),
4514             "::",
4515             stringify!(CallStaticBooleanMethodV)
4516         )
4517     );
4518     assert_eq!(
4519         unsafe {
4520             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticBooleanMethodA as *const _
4521                 as usize
4522         },
4523         476usize,
4524         concat!(
4525             "Offset of field: ",
4526             stringify!(JNINativeInterface),
4527             "::",
4528             stringify!(CallStaticBooleanMethodA)
4529         )
4530     );
4531     assert_eq!(
4532         unsafe {
4533             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethod as *const _ as usize
4534         },
4535         480usize,
4536         concat!(
4537             "Offset of field: ",
4538             stringify!(JNINativeInterface),
4539             "::",
4540             stringify!(CallStaticByteMethod)
4541         )
4542     );
4543     assert_eq!(
4544         unsafe {
4545             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodV as *const _
4546                 as usize
4547         },
4548         484usize,
4549         concat!(
4550             "Offset of field: ",
4551             stringify!(JNINativeInterface),
4552             "::",
4553             stringify!(CallStaticByteMethodV)
4554         )
4555     );
4556     assert_eq!(
4557         unsafe {
4558             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticByteMethodA as *const _
4559                 as usize
4560         },
4561         488usize,
4562         concat!(
4563             "Offset of field: ",
4564             stringify!(JNINativeInterface),
4565             "::",
4566             stringify!(CallStaticByteMethodA)
4567         )
4568     );
4569     assert_eq!(
4570         unsafe {
4571             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethod as *const _ as usize
4572         },
4573         492usize,
4574         concat!(
4575             "Offset of field: ",
4576             stringify!(JNINativeInterface),
4577             "::",
4578             stringify!(CallStaticCharMethod)
4579         )
4580     );
4581     assert_eq!(
4582         unsafe {
4583             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodV as *const _
4584                 as usize
4585         },
4586         496usize,
4587         concat!(
4588             "Offset of field: ",
4589             stringify!(JNINativeInterface),
4590             "::",
4591             stringify!(CallStaticCharMethodV)
4592         )
4593     );
4594     assert_eq!(
4595         unsafe {
4596             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticCharMethodA as *const _
4597                 as usize
4598         },
4599         500usize,
4600         concat!(
4601             "Offset of field: ",
4602             stringify!(JNINativeInterface),
4603             "::",
4604             stringify!(CallStaticCharMethodA)
4605         )
4606     );
4607     assert_eq!(
4608         unsafe {
4609             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethod as *const _
4610                 as usize
4611         },
4612         504usize,
4613         concat!(
4614             "Offset of field: ",
4615             stringify!(JNINativeInterface),
4616             "::",
4617             stringify!(CallStaticShortMethod)
4618         )
4619     );
4620     assert_eq!(
4621         unsafe {
4622             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodV as *const _
4623                 as usize
4624         },
4625         508usize,
4626         concat!(
4627             "Offset of field: ",
4628             stringify!(JNINativeInterface),
4629             "::",
4630             stringify!(CallStaticShortMethodV)
4631         )
4632     );
4633     assert_eq!(
4634         unsafe {
4635             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticShortMethodA as *const _
4636                 as usize
4637         },
4638         512usize,
4639         concat!(
4640             "Offset of field: ",
4641             stringify!(JNINativeInterface),
4642             "::",
4643             stringify!(CallStaticShortMethodA)
4644         )
4645     );
4646     assert_eq!(
4647         unsafe {
4648             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethod as *const _ as usize
4649         },
4650         516usize,
4651         concat!(
4652             "Offset of field: ",
4653             stringify!(JNINativeInterface),
4654             "::",
4655             stringify!(CallStaticIntMethod)
4656         )
4657     );
4658     assert_eq!(
4659         unsafe {
4660             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodV as *const _ as usize
4661         },
4662         520usize,
4663         concat!(
4664             "Offset of field: ",
4665             stringify!(JNINativeInterface),
4666             "::",
4667             stringify!(CallStaticIntMethodV)
4668         )
4669     );
4670     assert_eq!(
4671         unsafe {
4672             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticIntMethodA as *const _ as usize
4673         },
4674         524usize,
4675         concat!(
4676             "Offset of field: ",
4677             stringify!(JNINativeInterface),
4678             "::",
4679             stringify!(CallStaticIntMethodA)
4680         )
4681     );
4682     assert_eq!(
4683         unsafe {
4684             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethod as *const _ as usize
4685         },
4686         528usize,
4687         concat!(
4688             "Offset of field: ",
4689             stringify!(JNINativeInterface),
4690             "::",
4691             stringify!(CallStaticLongMethod)
4692         )
4693     );
4694     assert_eq!(
4695         unsafe {
4696             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodV as *const _
4697                 as usize
4698         },
4699         532usize,
4700         concat!(
4701             "Offset of field: ",
4702             stringify!(JNINativeInterface),
4703             "::",
4704             stringify!(CallStaticLongMethodV)
4705         )
4706     );
4707     assert_eq!(
4708         unsafe {
4709             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticLongMethodA as *const _
4710                 as usize
4711         },
4712         536usize,
4713         concat!(
4714             "Offset of field: ",
4715             stringify!(JNINativeInterface),
4716             "::",
4717             stringify!(CallStaticLongMethodA)
4718         )
4719     );
4720     assert_eq!(
4721         unsafe {
4722             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethod as *const _
4723                 as usize
4724         },
4725         540usize,
4726         concat!(
4727             "Offset of field: ",
4728             stringify!(JNINativeInterface),
4729             "::",
4730             stringify!(CallStaticFloatMethod)
4731         )
4732     );
4733     assert_eq!(
4734         unsafe {
4735             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodV as *const _
4736                 as usize
4737         },
4738         544usize,
4739         concat!(
4740             "Offset of field: ",
4741             stringify!(JNINativeInterface),
4742             "::",
4743             stringify!(CallStaticFloatMethodV)
4744         )
4745     );
4746     assert_eq!(
4747         unsafe {
4748             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticFloatMethodA as *const _
4749                 as usize
4750         },
4751         548usize,
4752         concat!(
4753             "Offset of field: ",
4754             stringify!(JNINativeInterface),
4755             "::",
4756             stringify!(CallStaticFloatMethodA)
4757         )
4758     );
4759     assert_eq!(
4760         unsafe {
4761             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethod as *const _
4762                 as usize
4763         },
4764         552usize,
4765         concat!(
4766             "Offset of field: ",
4767             stringify!(JNINativeInterface),
4768             "::",
4769             stringify!(CallStaticDoubleMethod)
4770         )
4771     );
4772     assert_eq!(
4773         unsafe {
4774             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodV as *const _
4775                 as usize
4776         },
4777         556usize,
4778         concat!(
4779             "Offset of field: ",
4780             stringify!(JNINativeInterface),
4781             "::",
4782             stringify!(CallStaticDoubleMethodV)
4783         )
4784     );
4785     assert_eq!(
4786         unsafe {
4787             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticDoubleMethodA as *const _
4788                 as usize
4789         },
4790         560usize,
4791         concat!(
4792             "Offset of field: ",
4793             stringify!(JNINativeInterface),
4794             "::",
4795             stringify!(CallStaticDoubleMethodA)
4796         )
4797     );
4798     assert_eq!(
4799         unsafe {
4800             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethod as *const _ as usize
4801         },
4802         564usize,
4803         concat!(
4804             "Offset of field: ",
4805             stringify!(JNINativeInterface),
4806             "::",
4807             stringify!(CallStaticVoidMethod)
4808         )
4809     );
4810     assert_eq!(
4811         unsafe {
4812             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodV as *const _
4813                 as usize
4814         },
4815         568usize,
4816         concat!(
4817             "Offset of field: ",
4818             stringify!(JNINativeInterface),
4819             "::",
4820             stringify!(CallStaticVoidMethodV)
4821         )
4822     );
4823     assert_eq!(
4824         unsafe {
4825             &(*(::std::ptr::null::<JNINativeInterface>())).CallStaticVoidMethodA as *const _
4826                 as usize
4827         },
4828         572usize,
4829         concat!(
4830             "Offset of field: ",
4831             stringify!(JNINativeInterface),
4832             "::",
4833             stringify!(CallStaticVoidMethodA)
4834         )
4835     );
4836     assert_eq!(
4837         unsafe {
4838             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFieldID as *const _ as usize
4839         },
4840         576usize,
4841         concat!(
4842             "Offset of field: ",
4843             stringify!(JNINativeInterface),
4844             "::",
4845             stringify!(GetStaticFieldID)
4846         )
4847     );
4848     assert_eq!(
4849         unsafe {
4850             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticObjectField as *const _ as usize
4851         },
4852         580usize,
4853         concat!(
4854             "Offset of field: ",
4855             stringify!(JNINativeInterface),
4856             "::",
4857             stringify!(GetStaticObjectField)
4858         )
4859     );
4860     assert_eq!(
4861         unsafe {
4862             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticBooleanField as *const _
4863                 as usize
4864         },
4865         584usize,
4866         concat!(
4867             "Offset of field: ",
4868             stringify!(JNINativeInterface),
4869             "::",
4870             stringify!(GetStaticBooleanField)
4871         )
4872     );
4873     assert_eq!(
4874         unsafe {
4875             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticByteField as *const _ as usize
4876         },
4877         588usize,
4878         concat!(
4879             "Offset of field: ",
4880             stringify!(JNINativeInterface),
4881             "::",
4882             stringify!(GetStaticByteField)
4883         )
4884     );
4885     assert_eq!(
4886         unsafe {
4887             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticCharField as *const _ as usize
4888         },
4889         592usize,
4890         concat!(
4891             "Offset of field: ",
4892             stringify!(JNINativeInterface),
4893             "::",
4894             stringify!(GetStaticCharField)
4895         )
4896     );
4897     assert_eq!(
4898         unsafe {
4899             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticShortField as *const _ as usize
4900         },
4901         596usize,
4902         concat!(
4903             "Offset of field: ",
4904             stringify!(JNINativeInterface),
4905             "::",
4906             stringify!(GetStaticShortField)
4907         )
4908     );
4909     assert_eq!(
4910         unsafe {
4911             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticIntField as *const _ as usize
4912         },
4913         600usize,
4914         concat!(
4915             "Offset of field: ",
4916             stringify!(JNINativeInterface),
4917             "::",
4918             stringify!(GetStaticIntField)
4919         )
4920     );
4921     assert_eq!(
4922         unsafe {
4923             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticLongField as *const _ as usize
4924         },
4925         604usize,
4926         concat!(
4927             "Offset of field: ",
4928             stringify!(JNINativeInterface),
4929             "::",
4930             stringify!(GetStaticLongField)
4931         )
4932     );
4933     assert_eq!(
4934         unsafe {
4935             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticFloatField as *const _ as usize
4936         },
4937         608usize,
4938         concat!(
4939             "Offset of field: ",
4940             stringify!(JNINativeInterface),
4941             "::",
4942             stringify!(GetStaticFloatField)
4943         )
4944     );
4945     assert_eq!(
4946         unsafe {
4947             &(*(::std::ptr::null::<JNINativeInterface>())).GetStaticDoubleField as *const _ as usize
4948         },
4949         612usize,
4950         concat!(
4951             "Offset of field: ",
4952             stringify!(JNINativeInterface),
4953             "::",
4954             stringify!(GetStaticDoubleField)
4955         )
4956     );
4957     assert_eq!(
4958         unsafe {
4959             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticObjectField as *const _ as usize
4960         },
4961         616usize,
4962         concat!(
4963             "Offset of field: ",
4964             stringify!(JNINativeInterface),
4965             "::",
4966             stringify!(SetStaticObjectField)
4967         )
4968     );
4969     assert_eq!(
4970         unsafe {
4971             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticBooleanField as *const _
4972                 as usize
4973         },
4974         620usize,
4975         concat!(
4976             "Offset of field: ",
4977             stringify!(JNINativeInterface),
4978             "::",
4979             stringify!(SetStaticBooleanField)
4980         )
4981     );
4982     assert_eq!(
4983         unsafe {
4984             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticByteField as *const _ as usize
4985         },
4986         624usize,
4987         concat!(
4988             "Offset of field: ",
4989             stringify!(JNINativeInterface),
4990             "::",
4991             stringify!(SetStaticByteField)
4992         )
4993     );
4994     assert_eq!(
4995         unsafe {
4996             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticCharField as *const _ as usize
4997         },
4998         628usize,
4999         concat!(
5000             "Offset of field: ",
5001             stringify!(JNINativeInterface),
5002             "::",
5003             stringify!(SetStaticCharField)
5004         )
5005     );
5006     assert_eq!(
5007         unsafe {
5008             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticShortField as *const _ as usize
5009         },
5010         632usize,
5011         concat!(
5012             "Offset of field: ",
5013             stringify!(JNINativeInterface),
5014             "::",
5015             stringify!(SetStaticShortField)
5016         )
5017     );
5018     assert_eq!(
5019         unsafe {
5020             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticIntField as *const _ as usize
5021         },
5022         636usize,
5023         concat!(
5024             "Offset of field: ",
5025             stringify!(JNINativeInterface),
5026             "::",
5027             stringify!(SetStaticIntField)
5028         )
5029     );
5030     assert_eq!(
5031         unsafe {
5032             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticLongField as *const _ as usize
5033         },
5034         640usize,
5035         concat!(
5036             "Offset of field: ",
5037             stringify!(JNINativeInterface),
5038             "::",
5039             stringify!(SetStaticLongField)
5040         )
5041     );
5042     assert_eq!(
5043         unsafe {
5044             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticFloatField as *const _ as usize
5045         },
5046         644usize,
5047         concat!(
5048             "Offset of field: ",
5049             stringify!(JNINativeInterface),
5050             "::",
5051             stringify!(SetStaticFloatField)
5052         )
5053     );
5054     assert_eq!(
5055         unsafe {
5056             &(*(::std::ptr::null::<JNINativeInterface>())).SetStaticDoubleField as *const _ as usize
5057         },
5058         648usize,
5059         concat!(
5060             "Offset of field: ",
5061             stringify!(JNINativeInterface),
5062             "::",
5063             stringify!(SetStaticDoubleField)
5064         )
5065     );
5066     assert_eq!(
5067         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewString as *const _ as usize },
5068         652usize,
5069         concat!(
5070             "Offset of field: ",
5071             stringify!(JNINativeInterface),
5072             "::",
5073             stringify!(NewString)
5074         )
5075     );
5076     assert_eq!(
5077         unsafe {
5078             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringLength as *const _ as usize
5079         },
5080         656usize,
5081         concat!(
5082             "Offset of field: ",
5083             stringify!(JNINativeInterface),
5084             "::",
5085             stringify!(GetStringLength)
5086         )
5087     );
5088     assert_eq!(
5089         unsafe {
5090             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringChars as *const _ as usize
5091         },
5092         660usize,
5093         concat!(
5094             "Offset of field: ",
5095             stringify!(JNINativeInterface),
5096             "::",
5097             stringify!(GetStringChars)
5098         )
5099     );
5100     assert_eq!(
5101         unsafe {
5102             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringChars as *const _ as usize
5103         },
5104         664usize,
5105         concat!(
5106             "Offset of field: ",
5107             stringify!(JNINativeInterface),
5108             "::",
5109             stringify!(ReleaseStringChars)
5110         )
5111     );
5112     assert_eq!(
5113         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewStringUTF as *const _ as usize },
5114         668usize,
5115         concat!(
5116             "Offset of field: ",
5117             stringify!(JNINativeInterface),
5118             "::",
5119             stringify!(NewStringUTF)
5120         )
5121     );
5122     assert_eq!(
5123         unsafe {
5124             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFLength as *const _ as usize
5125         },
5126         672usize,
5127         concat!(
5128             "Offset of field: ",
5129             stringify!(JNINativeInterface),
5130             "::",
5131             stringify!(GetStringUTFLength)
5132         )
5133     );
5134     assert_eq!(
5135         unsafe {
5136             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFChars as *const _ as usize
5137         },
5138         676usize,
5139         concat!(
5140             "Offset of field: ",
5141             stringify!(JNINativeInterface),
5142             "::",
5143             stringify!(GetStringUTFChars)
5144         )
5145     );
5146     assert_eq!(
5147         unsafe {
5148             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringUTFChars as *const _
5149                 as usize
5150         },
5151         680usize,
5152         concat!(
5153             "Offset of field: ",
5154             stringify!(JNINativeInterface),
5155             "::",
5156             stringify!(ReleaseStringUTFChars)
5157         )
5158     );
5159     assert_eq!(
5160         unsafe {
5161             &(*(::std::ptr::null::<JNINativeInterface>())).GetArrayLength as *const _ as usize
5162         },
5163         684usize,
5164         concat!(
5165             "Offset of field: ",
5166             stringify!(JNINativeInterface),
5167             "::",
5168             stringify!(GetArrayLength)
5169         )
5170     );
5171     assert_eq!(
5172         unsafe {
5173             &(*(::std::ptr::null::<JNINativeInterface>())).NewObjectArray as *const _ as usize
5174         },
5175         688usize,
5176         concat!(
5177             "Offset of field: ",
5178             stringify!(JNINativeInterface),
5179             "::",
5180             stringify!(NewObjectArray)
5181         )
5182     );
5183     assert_eq!(
5184         unsafe {
5185             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectArrayElement as *const _
5186                 as usize
5187         },
5188         692usize,
5189         concat!(
5190             "Offset of field: ",
5191             stringify!(JNINativeInterface),
5192             "::",
5193             stringify!(GetObjectArrayElement)
5194         )
5195     );
5196     assert_eq!(
5197         unsafe {
5198             &(*(::std::ptr::null::<JNINativeInterface>())).SetObjectArrayElement as *const _
5199                 as usize
5200         },
5201         696usize,
5202         concat!(
5203             "Offset of field: ",
5204             stringify!(JNINativeInterface),
5205             "::",
5206             stringify!(SetObjectArrayElement)
5207         )
5208     );
5209     assert_eq!(
5210         unsafe {
5211             &(*(::std::ptr::null::<JNINativeInterface>())).NewBooleanArray as *const _ as usize
5212         },
5213         700usize,
5214         concat!(
5215             "Offset of field: ",
5216             stringify!(JNINativeInterface),
5217             "::",
5218             stringify!(NewBooleanArray)
5219         )
5220     );
5221     assert_eq!(
5222         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewByteArray as *const _ as usize },
5223         704usize,
5224         concat!(
5225             "Offset of field: ",
5226             stringify!(JNINativeInterface),
5227             "::",
5228             stringify!(NewByteArray)
5229         )
5230     );
5231     assert_eq!(
5232         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewCharArray as *const _ as usize },
5233         708usize,
5234         concat!(
5235             "Offset of field: ",
5236             stringify!(JNINativeInterface),
5237             "::",
5238             stringify!(NewCharArray)
5239         )
5240     );
5241     assert_eq!(
5242         unsafe {
5243             &(*(::std::ptr::null::<JNINativeInterface>())).NewShortArray as *const _ as usize
5244         },
5245         712usize,
5246         concat!(
5247             "Offset of field: ",
5248             stringify!(JNINativeInterface),
5249             "::",
5250             stringify!(NewShortArray)
5251         )
5252     );
5253     assert_eq!(
5254         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewIntArray as *const _ as usize },
5255         716usize,
5256         concat!(
5257             "Offset of field: ",
5258             stringify!(JNINativeInterface),
5259             "::",
5260             stringify!(NewIntArray)
5261         )
5262     );
5263     assert_eq!(
5264         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).NewLongArray as *const _ as usize },
5265         720usize,
5266         concat!(
5267             "Offset of field: ",
5268             stringify!(JNINativeInterface),
5269             "::",
5270             stringify!(NewLongArray)
5271         )
5272     );
5273     assert_eq!(
5274         unsafe {
5275             &(*(::std::ptr::null::<JNINativeInterface>())).NewFloatArray as *const _ as usize
5276         },
5277         724usize,
5278         concat!(
5279             "Offset of field: ",
5280             stringify!(JNINativeInterface),
5281             "::",
5282             stringify!(NewFloatArray)
5283         )
5284     );
5285     assert_eq!(
5286         unsafe {
5287             &(*(::std::ptr::null::<JNINativeInterface>())).NewDoubleArray as *const _ as usize
5288         },
5289         728usize,
5290         concat!(
5291             "Offset of field: ",
5292             stringify!(JNINativeInterface),
5293             "::",
5294             stringify!(NewDoubleArray)
5295         )
5296     );
5297     assert_eq!(
5298         unsafe {
5299             &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayElements as *const _
5300                 as usize
5301         },
5302         732usize,
5303         concat!(
5304             "Offset of field: ",
5305             stringify!(JNINativeInterface),
5306             "::",
5307             stringify!(GetBooleanArrayElements)
5308         )
5309     );
5310     assert_eq!(
5311         unsafe {
5312             &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayElements as *const _ as usize
5313         },
5314         736usize,
5315         concat!(
5316             "Offset of field: ",
5317             stringify!(JNINativeInterface),
5318             "::",
5319             stringify!(GetByteArrayElements)
5320         )
5321     );
5322     assert_eq!(
5323         unsafe {
5324             &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayElements as *const _ as usize
5325         },
5326         740usize,
5327         concat!(
5328             "Offset of field: ",
5329             stringify!(JNINativeInterface),
5330             "::",
5331             stringify!(GetCharArrayElements)
5332         )
5333     );
5334     assert_eq!(
5335         unsafe {
5336             &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayElements as *const _
5337                 as usize
5338         },
5339         744usize,
5340         concat!(
5341             "Offset of field: ",
5342             stringify!(JNINativeInterface),
5343             "::",
5344             stringify!(GetShortArrayElements)
5345         )
5346     );
5347     assert_eq!(
5348         unsafe {
5349             &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayElements as *const _ as usize
5350         },
5351         748usize,
5352         concat!(
5353             "Offset of field: ",
5354             stringify!(JNINativeInterface),
5355             "::",
5356             stringify!(GetIntArrayElements)
5357         )
5358     );
5359     assert_eq!(
5360         unsafe {
5361             &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayElements as *const _ as usize
5362         },
5363         752usize,
5364         concat!(
5365             "Offset of field: ",
5366             stringify!(JNINativeInterface),
5367             "::",
5368             stringify!(GetLongArrayElements)
5369         )
5370     );
5371     assert_eq!(
5372         unsafe {
5373             &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayElements as *const _
5374                 as usize
5375         },
5376         756usize,
5377         concat!(
5378             "Offset of field: ",
5379             stringify!(JNINativeInterface),
5380             "::",
5381             stringify!(GetFloatArrayElements)
5382         )
5383     );
5384     assert_eq!(
5385         unsafe {
5386             &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayElements as *const _
5387                 as usize
5388         },
5389         760usize,
5390         concat!(
5391             "Offset of field: ",
5392             stringify!(JNINativeInterface),
5393             "::",
5394             stringify!(GetDoubleArrayElements)
5395         )
5396     );
5397     assert_eq!(
5398         unsafe {
5399             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseBooleanArrayElements as *const _
5400                 as usize
5401         },
5402         764usize,
5403         concat!(
5404             "Offset of field: ",
5405             stringify!(JNINativeInterface),
5406             "::",
5407             stringify!(ReleaseBooleanArrayElements)
5408         )
5409     );
5410     assert_eq!(
5411         unsafe {
5412             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseByteArrayElements as *const _
5413                 as usize
5414         },
5415         768usize,
5416         concat!(
5417             "Offset of field: ",
5418             stringify!(JNINativeInterface),
5419             "::",
5420             stringify!(ReleaseByteArrayElements)
5421         )
5422     );
5423     assert_eq!(
5424         unsafe {
5425             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseCharArrayElements as *const _
5426                 as usize
5427         },
5428         772usize,
5429         concat!(
5430             "Offset of field: ",
5431             stringify!(JNINativeInterface),
5432             "::",
5433             stringify!(ReleaseCharArrayElements)
5434         )
5435     );
5436     assert_eq!(
5437         unsafe {
5438             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseShortArrayElements as *const _
5439                 as usize
5440         },
5441         776usize,
5442         concat!(
5443             "Offset of field: ",
5444             stringify!(JNINativeInterface),
5445             "::",
5446             stringify!(ReleaseShortArrayElements)
5447         )
5448     );
5449     assert_eq!(
5450         unsafe {
5451             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseIntArrayElements as *const _
5452                 as usize
5453         },
5454         780usize,
5455         concat!(
5456             "Offset of field: ",
5457             stringify!(JNINativeInterface),
5458             "::",
5459             stringify!(ReleaseIntArrayElements)
5460         )
5461     );
5462     assert_eq!(
5463         unsafe {
5464             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseLongArrayElements as *const _
5465                 as usize
5466         },
5467         784usize,
5468         concat!(
5469             "Offset of field: ",
5470             stringify!(JNINativeInterface),
5471             "::",
5472             stringify!(ReleaseLongArrayElements)
5473         )
5474     );
5475     assert_eq!(
5476         unsafe {
5477             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseFloatArrayElements as *const _
5478                 as usize
5479         },
5480         788usize,
5481         concat!(
5482             "Offset of field: ",
5483             stringify!(JNINativeInterface),
5484             "::",
5485             stringify!(ReleaseFloatArrayElements)
5486         )
5487     );
5488     assert_eq!(
5489         unsafe {
5490             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseDoubleArrayElements as *const _
5491                 as usize
5492         },
5493         792usize,
5494         concat!(
5495             "Offset of field: ",
5496             stringify!(JNINativeInterface),
5497             "::",
5498             stringify!(ReleaseDoubleArrayElements)
5499         )
5500     );
5501     assert_eq!(
5502         unsafe {
5503             &(*(::std::ptr::null::<JNINativeInterface>())).GetBooleanArrayRegion as *const _
5504                 as usize
5505         },
5506         796usize,
5507         concat!(
5508             "Offset of field: ",
5509             stringify!(JNINativeInterface),
5510             "::",
5511             stringify!(GetBooleanArrayRegion)
5512         )
5513     );
5514     assert_eq!(
5515         unsafe {
5516             &(*(::std::ptr::null::<JNINativeInterface>())).GetByteArrayRegion as *const _ as usize
5517         },
5518         800usize,
5519         concat!(
5520             "Offset of field: ",
5521             stringify!(JNINativeInterface),
5522             "::",
5523             stringify!(GetByteArrayRegion)
5524         )
5525     );
5526     assert_eq!(
5527         unsafe {
5528             &(*(::std::ptr::null::<JNINativeInterface>())).GetCharArrayRegion as *const _ as usize
5529         },
5530         804usize,
5531         concat!(
5532             "Offset of field: ",
5533             stringify!(JNINativeInterface),
5534             "::",
5535             stringify!(GetCharArrayRegion)
5536         )
5537     );
5538     assert_eq!(
5539         unsafe {
5540             &(*(::std::ptr::null::<JNINativeInterface>())).GetShortArrayRegion as *const _ as usize
5541         },
5542         808usize,
5543         concat!(
5544             "Offset of field: ",
5545             stringify!(JNINativeInterface),
5546             "::",
5547             stringify!(GetShortArrayRegion)
5548         )
5549     );
5550     assert_eq!(
5551         unsafe {
5552             &(*(::std::ptr::null::<JNINativeInterface>())).GetIntArrayRegion as *const _ as usize
5553         },
5554         812usize,
5555         concat!(
5556             "Offset of field: ",
5557             stringify!(JNINativeInterface),
5558             "::",
5559             stringify!(GetIntArrayRegion)
5560         )
5561     );
5562     assert_eq!(
5563         unsafe {
5564             &(*(::std::ptr::null::<JNINativeInterface>())).GetLongArrayRegion as *const _ as usize
5565         },
5566         816usize,
5567         concat!(
5568             "Offset of field: ",
5569             stringify!(JNINativeInterface),
5570             "::",
5571             stringify!(GetLongArrayRegion)
5572         )
5573     );
5574     assert_eq!(
5575         unsafe {
5576             &(*(::std::ptr::null::<JNINativeInterface>())).GetFloatArrayRegion as *const _ as usize
5577         },
5578         820usize,
5579         concat!(
5580             "Offset of field: ",
5581             stringify!(JNINativeInterface),
5582             "::",
5583             stringify!(GetFloatArrayRegion)
5584         )
5585     );
5586     assert_eq!(
5587         unsafe {
5588             &(*(::std::ptr::null::<JNINativeInterface>())).GetDoubleArrayRegion as *const _ as usize
5589         },
5590         824usize,
5591         concat!(
5592             "Offset of field: ",
5593             stringify!(JNINativeInterface),
5594             "::",
5595             stringify!(GetDoubleArrayRegion)
5596         )
5597     );
5598     assert_eq!(
5599         unsafe {
5600             &(*(::std::ptr::null::<JNINativeInterface>())).SetBooleanArrayRegion as *const _
5601                 as usize
5602         },
5603         828usize,
5604         concat!(
5605             "Offset of field: ",
5606             stringify!(JNINativeInterface),
5607             "::",
5608             stringify!(SetBooleanArrayRegion)
5609         )
5610     );
5611     assert_eq!(
5612         unsafe {
5613             &(*(::std::ptr::null::<JNINativeInterface>())).SetByteArrayRegion as *const _ as usize
5614         },
5615         832usize,
5616         concat!(
5617             "Offset of field: ",
5618             stringify!(JNINativeInterface),
5619             "::",
5620             stringify!(SetByteArrayRegion)
5621         )
5622     );
5623     assert_eq!(
5624         unsafe {
5625             &(*(::std::ptr::null::<JNINativeInterface>())).SetCharArrayRegion as *const _ as usize
5626         },
5627         836usize,
5628         concat!(
5629             "Offset of field: ",
5630             stringify!(JNINativeInterface),
5631             "::",
5632             stringify!(SetCharArrayRegion)
5633         )
5634     );
5635     assert_eq!(
5636         unsafe {
5637             &(*(::std::ptr::null::<JNINativeInterface>())).SetShortArrayRegion as *const _ as usize
5638         },
5639         840usize,
5640         concat!(
5641             "Offset of field: ",
5642             stringify!(JNINativeInterface),
5643             "::",
5644             stringify!(SetShortArrayRegion)
5645         )
5646     );
5647     assert_eq!(
5648         unsafe {
5649             &(*(::std::ptr::null::<JNINativeInterface>())).SetIntArrayRegion as *const _ as usize
5650         },
5651         844usize,
5652         concat!(
5653             "Offset of field: ",
5654             stringify!(JNINativeInterface),
5655             "::",
5656             stringify!(SetIntArrayRegion)
5657         )
5658     );
5659     assert_eq!(
5660         unsafe {
5661             &(*(::std::ptr::null::<JNINativeInterface>())).SetLongArrayRegion as *const _ as usize
5662         },
5663         848usize,
5664         concat!(
5665             "Offset of field: ",
5666             stringify!(JNINativeInterface),
5667             "::",
5668             stringify!(SetLongArrayRegion)
5669         )
5670     );
5671     assert_eq!(
5672         unsafe {
5673             &(*(::std::ptr::null::<JNINativeInterface>())).SetFloatArrayRegion as *const _ as usize
5674         },
5675         852usize,
5676         concat!(
5677             "Offset of field: ",
5678             stringify!(JNINativeInterface),
5679             "::",
5680             stringify!(SetFloatArrayRegion)
5681         )
5682     );
5683     assert_eq!(
5684         unsafe {
5685             &(*(::std::ptr::null::<JNINativeInterface>())).SetDoubleArrayRegion as *const _ as usize
5686         },
5687         856usize,
5688         concat!(
5689             "Offset of field: ",
5690             stringify!(JNINativeInterface),
5691             "::",
5692             stringify!(SetDoubleArrayRegion)
5693         )
5694     );
5695     assert_eq!(
5696         unsafe {
5697             &(*(::std::ptr::null::<JNINativeInterface>())).RegisterNatives as *const _ as usize
5698         },
5699         860usize,
5700         concat!(
5701             "Offset of field: ",
5702             stringify!(JNINativeInterface),
5703             "::",
5704             stringify!(RegisterNatives)
5705         )
5706     );
5707     assert_eq!(
5708         unsafe {
5709             &(*(::std::ptr::null::<JNINativeInterface>())).UnregisterNatives as *const _ as usize
5710         },
5711         864usize,
5712         concat!(
5713             "Offset of field: ",
5714             stringify!(JNINativeInterface),
5715             "::",
5716             stringify!(UnregisterNatives)
5717         )
5718     );
5719     assert_eq!(
5720         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorEnter as *const _ as usize },
5721         868usize,
5722         concat!(
5723             "Offset of field: ",
5724             stringify!(JNINativeInterface),
5725             "::",
5726             stringify!(MonitorEnter)
5727         )
5728     );
5729     assert_eq!(
5730         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).MonitorExit as *const _ as usize },
5731         872usize,
5732         concat!(
5733             "Offset of field: ",
5734             stringify!(JNINativeInterface),
5735             "::",
5736             stringify!(MonitorExit)
5737         )
5738     );
5739     assert_eq!(
5740         unsafe { &(*(::std::ptr::null::<JNINativeInterface>())).GetJavaVM as *const _ as usize },
5741         876usize,
5742         concat!(
5743             "Offset of field: ",
5744             stringify!(JNINativeInterface),
5745             "::",
5746             stringify!(GetJavaVM)
5747         )
5748     );
5749     assert_eq!(
5750         unsafe {
5751             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringRegion as *const _ as usize
5752         },
5753         880usize,
5754         concat!(
5755             "Offset of field: ",
5756             stringify!(JNINativeInterface),
5757             "::",
5758             stringify!(GetStringRegion)
5759         )
5760     );
5761     assert_eq!(
5762         unsafe {
5763             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringUTFRegion as *const _ as usize
5764         },
5765         884usize,
5766         concat!(
5767             "Offset of field: ",
5768             stringify!(JNINativeInterface),
5769             "::",
5770             stringify!(GetStringUTFRegion)
5771         )
5772     );
5773     assert_eq!(
5774         unsafe {
5775             &(*(::std::ptr::null::<JNINativeInterface>())).GetPrimitiveArrayCritical as *const _
5776                 as usize
5777         },
5778         888usize,
5779         concat!(
5780             "Offset of field: ",
5781             stringify!(JNINativeInterface),
5782             "::",
5783             stringify!(GetPrimitiveArrayCritical)
5784         )
5785     );
5786     assert_eq!(
5787         unsafe {
5788             &(*(::std::ptr::null::<JNINativeInterface>())).ReleasePrimitiveArrayCritical as *const _
5789                 as usize
5790         },
5791         892usize,
5792         concat!(
5793             "Offset of field: ",
5794             stringify!(JNINativeInterface),
5795             "::",
5796             stringify!(ReleasePrimitiveArrayCritical)
5797         )
5798     );
5799     assert_eq!(
5800         unsafe {
5801             &(*(::std::ptr::null::<JNINativeInterface>())).GetStringCritical as *const _ as usize
5802         },
5803         896usize,
5804         concat!(
5805             "Offset of field: ",
5806             stringify!(JNINativeInterface),
5807             "::",
5808             stringify!(GetStringCritical)
5809         )
5810     );
5811     assert_eq!(
5812         unsafe {
5813             &(*(::std::ptr::null::<JNINativeInterface>())).ReleaseStringCritical as *const _
5814                 as usize
5815         },
5816         900usize,
5817         concat!(
5818             "Offset of field: ",
5819             stringify!(JNINativeInterface),
5820             "::",
5821             stringify!(ReleaseStringCritical)
5822         )
5823     );
5824     assert_eq!(
5825         unsafe {
5826             &(*(::std::ptr::null::<JNINativeInterface>())).NewWeakGlobalRef as *const _ as usize
5827         },
5828         904usize,
5829         concat!(
5830             "Offset of field: ",
5831             stringify!(JNINativeInterface),
5832             "::",
5833             stringify!(NewWeakGlobalRef)
5834         )
5835     );
5836     assert_eq!(
5837         unsafe {
5838             &(*(::std::ptr::null::<JNINativeInterface>())).DeleteWeakGlobalRef as *const _ as usize
5839         },
5840         908usize,
5841         concat!(
5842             "Offset of field: ",
5843             stringify!(JNINativeInterface),
5844             "::",
5845             stringify!(DeleteWeakGlobalRef)
5846         )
5847     );
5848     assert_eq!(
5849         unsafe {
5850             &(*(::std::ptr::null::<JNINativeInterface>())).ExceptionCheck as *const _ as usize
5851         },
5852         912usize,
5853         concat!(
5854             "Offset of field: ",
5855             stringify!(JNINativeInterface),
5856             "::",
5857             stringify!(ExceptionCheck)
5858         )
5859     );
5860     assert_eq!(
5861         unsafe {
5862             &(*(::std::ptr::null::<JNINativeInterface>())).NewDirectByteBuffer as *const _ as usize
5863         },
5864         916usize,
5865         concat!(
5866             "Offset of field: ",
5867             stringify!(JNINativeInterface),
5868             "::",
5869             stringify!(NewDirectByteBuffer)
5870         )
5871     );
5872     assert_eq!(
5873         unsafe {
5874             &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferAddress as *const _
5875                 as usize
5876         },
5877         920usize,
5878         concat!(
5879             "Offset of field: ",
5880             stringify!(JNINativeInterface),
5881             "::",
5882             stringify!(GetDirectBufferAddress)
5883         )
5884     );
5885     assert_eq!(
5886         unsafe {
5887             &(*(::std::ptr::null::<JNINativeInterface>())).GetDirectBufferCapacity as *const _
5888                 as usize
5889         },
5890         924usize,
5891         concat!(
5892             "Offset of field: ",
5893             stringify!(JNINativeInterface),
5894             "::",
5895             stringify!(GetDirectBufferCapacity)
5896         )
5897     );
5898     assert_eq!(
5899         unsafe {
5900             &(*(::std::ptr::null::<JNINativeInterface>())).GetObjectRefType as *const _ as usize
5901         },
5902         928usize,
5903         concat!(
5904             "Offset of field: ",
5905             stringify!(JNINativeInterface),
5906             "::",
5907             stringify!(GetObjectRefType)
5908         )
5909     );
5910 }
5911 #[repr(C)]
5912 #[derive(Debug, Copy, Clone)]
5913 pub struct _JNIEnv {
5914     pub functions: *const JNINativeInterface,
5915 }
5916 #[test]
bindgen_test_layout__JNIEnv()5917 fn bindgen_test_layout__JNIEnv() {
5918     assert_eq!(
5919         ::std::mem::size_of::<_JNIEnv>(),
5920         4usize,
5921         concat!("Size of: ", stringify!(_JNIEnv))
5922     );
5923     assert_eq!(
5924         ::std::mem::align_of::<_JNIEnv>(),
5925         4usize,
5926         concat!("Alignment of ", stringify!(_JNIEnv))
5927     );
5928     assert_eq!(
5929         unsafe { &(*(::std::ptr::null::<_JNIEnv>())).functions as *const _ as usize },
5930         0usize,
5931         concat!(
5932             "Offset of field: ",
5933             stringify!(_JNIEnv),
5934             "::",
5935             stringify!(functions)
5936         )
5937     );
5938 }
5939 #[repr(C)]
5940 #[derive(Debug, Copy, Clone)]
5941 pub struct JNIInvokeInterface {
5942     pub reserved0: *mut ::std::os::raw::c_void,
5943     pub reserved1: *mut ::std::os::raw::c_void,
5944     pub reserved2: *mut ::std::os::raw::c_void,
5945     pub DestroyJavaVM: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
5946     pub AttachCurrentThread: ::std::option::Option<
5947         unsafe extern "C" fn(
5948             arg1: *mut JavaVM,
5949             arg2: *mut *mut JNIEnv,
5950             arg3: *mut ::std::os::raw::c_void,
5951         ) -> jint,
5952     >,
5953     pub DetachCurrentThread: ::std::option::Option<unsafe extern "C" fn(arg1: *mut JavaVM) -> jint>,
5954     pub GetEnv: ::std::option::Option<
5955         unsafe extern "C" fn(
5956             arg1: *mut JavaVM,
5957             arg2: *mut *mut ::std::os::raw::c_void,
5958             arg3: jint,
5959         ) -> jint,
5960     >,
5961     pub AttachCurrentThreadAsDaemon: ::std::option::Option<
5962         unsafe extern "C" fn(
5963             arg1: *mut JavaVM,
5964             arg2: *mut *mut JNIEnv,
5965             arg3: *mut ::std::os::raw::c_void,
5966         ) -> jint,
5967     >,
5968 }
5969 #[test]
bindgen_test_layout_JNIInvokeInterface()5970 fn bindgen_test_layout_JNIInvokeInterface() {
5971     assert_eq!(
5972         ::std::mem::size_of::<JNIInvokeInterface>(),
5973         32usize,
5974         concat!("Size of: ", stringify!(JNIInvokeInterface))
5975     );
5976     assert_eq!(
5977         ::std::mem::align_of::<JNIInvokeInterface>(),
5978         4usize,
5979         concat!("Alignment of ", stringify!(JNIInvokeInterface))
5980     );
5981     assert_eq!(
5982         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved0 as *const _ as usize },
5983         0usize,
5984         concat!(
5985             "Offset of field: ",
5986             stringify!(JNIInvokeInterface),
5987             "::",
5988             stringify!(reserved0)
5989         )
5990     );
5991     assert_eq!(
5992         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved1 as *const _ as usize },
5993         4usize,
5994         concat!(
5995             "Offset of field: ",
5996             stringify!(JNIInvokeInterface),
5997             "::",
5998             stringify!(reserved1)
5999         )
6000     );
6001     assert_eq!(
6002         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).reserved2 as *const _ as usize },
6003         8usize,
6004         concat!(
6005             "Offset of field: ",
6006             stringify!(JNIInvokeInterface),
6007             "::",
6008             stringify!(reserved2)
6009         )
6010     );
6011     assert_eq!(
6012         unsafe {
6013             &(*(::std::ptr::null::<JNIInvokeInterface>())).DestroyJavaVM as *const _ as usize
6014         },
6015         12usize,
6016         concat!(
6017             "Offset of field: ",
6018             stringify!(JNIInvokeInterface),
6019             "::",
6020             stringify!(DestroyJavaVM)
6021         )
6022     );
6023     assert_eq!(
6024         unsafe {
6025             &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThread as *const _ as usize
6026         },
6027         16usize,
6028         concat!(
6029             "Offset of field: ",
6030             stringify!(JNIInvokeInterface),
6031             "::",
6032             stringify!(AttachCurrentThread)
6033         )
6034     );
6035     assert_eq!(
6036         unsafe {
6037             &(*(::std::ptr::null::<JNIInvokeInterface>())).DetachCurrentThread as *const _ as usize
6038         },
6039         20usize,
6040         concat!(
6041             "Offset of field: ",
6042             stringify!(JNIInvokeInterface),
6043             "::",
6044             stringify!(DetachCurrentThread)
6045         )
6046     );
6047     assert_eq!(
6048         unsafe { &(*(::std::ptr::null::<JNIInvokeInterface>())).GetEnv as *const _ as usize },
6049         24usize,
6050         concat!(
6051             "Offset of field: ",
6052             stringify!(JNIInvokeInterface),
6053             "::",
6054             stringify!(GetEnv)
6055         )
6056     );
6057     assert_eq!(
6058         unsafe {
6059             &(*(::std::ptr::null::<JNIInvokeInterface>())).AttachCurrentThreadAsDaemon as *const _
6060                 as usize
6061         },
6062         28usize,
6063         concat!(
6064             "Offset of field: ",
6065             stringify!(JNIInvokeInterface),
6066             "::",
6067             stringify!(AttachCurrentThreadAsDaemon)
6068         )
6069     );
6070 }
6071 #[repr(C)]
6072 #[derive(Debug, Copy, Clone)]
6073 pub struct _JavaVM {
6074     pub functions: *const JNIInvokeInterface,
6075 }
6076 #[test]
bindgen_test_layout__JavaVM()6077 fn bindgen_test_layout__JavaVM() {
6078     assert_eq!(
6079         ::std::mem::size_of::<_JavaVM>(),
6080         4usize,
6081         concat!("Size of: ", stringify!(_JavaVM))
6082     );
6083     assert_eq!(
6084         ::std::mem::align_of::<_JavaVM>(),
6085         4usize,
6086         concat!("Alignment of ", stringify!(_JavaVM))
6087     );
6088     assert_eq!(
6089         unsafe { &(*(::std::ptr::null::<_JavaVM>())).functions as *const _ as usize },
6090         0usize,
6091         concat!(
6092             "Offset of field: ",
6093             stringify!(_JavaVM),
6094             "::",
6095             stringify!(functions)
6096         )
6097     );
6098 }
6099 #[repr(C)]
6100 #[derive(Debug, Copy, Clone)]
6101 pub struct JavaVMAttachArgs {
6102     pub version: jint,
6103     pub name: *const ::std::os::raw::c_char,
6104     pub group: jobject,
6105 }
6106 #[test]
bindgen_test_layout_JavaVMAttachArgs()6107 fn bindgen_test_layout_JavaVMAttachArgs() {
6108     assert_eq!(
6109         ::std::mem::size_of::<JavaVMAttachArgs>(),
6110         12usize,
6111         concat!("Size of: ", stringify!(JavaVMAttachArgs))
6112     );
6113     assert_eq!(
6114         ::std::mem::align_of::<JavaVMAttachArgs>(),
6115         4usize,
6116         concat!("Alignment of ", stringify!(JavaVMAttachArgs))
6117     );
6118     assert_eq!(
6119         unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).version as *const _ as usize },
6120         0usize,
6121         concat!(
6122             "Offset of field: ",
6123             stringify!(JavaVMAttachArgs),
6124             "::",
6125             stringify!(version)
6126         )
6127     );
6128     assert_eq!(
6129         unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).name as *const _ as usize },
6130         4usize,
6131         concat!(
6132             "Offset of field: ",
6133             stringify!(JavaVMAttachArgs),
6134             "::",
6135             stringify!(name)
6136         )
6137     );
6138     assert_eq!(
6139         unsafe { &(*(::std::ptr::null::<JavaVMAttachArgs>())).group as *const _ as usize },
6140         8usize,
6141         concat!(
6142             "Offset of field: ",
6143             stringify!(JavaVMAttachArgs),
6144             "::",
6145             stringify!(group)
6146         )
6147     );
6148 }
6149 #[repr(C)]
6150 #[derive(Debug, Copy, Clone)]
6151 pub struct JavaVMOption {
6152     pub optionString: *const ::std::os::raw::c_char,
6153     pub extraInfo: *mut ::std::os::raw::c_void,
6154 }
6155 #[test]
bindgen_test_layout_JavaVMOption()6156 fn bindgen_test_layout_JavaVMOption() {
6157     assert_eq!(
6158         ::std::mem::size_of::<JavaVMOption>(),
6159         8usize,
6160         concat!("Size of: ", stringify!(JavaVMOption))
6161     );
6162     assert_eq!(
6163         ::std::mem::align_of::<JavaVMOption>(),
6164         4usize,
6165         concat!("Alignment of ", stringify!(JavaVMOption))
6166     );
6167     assert_eq!(
6168         unsafe { &(*(::std::ptr::null::<JavaVMOption>())).optionString as *const _ as usize },
6169         0usize,
6170         concat!(
6171             "Offset of field: ",
6172             stringify!(JavaVMOption),
6173             "::",
6174             stringify!(optionString)
6175         )
6176     );
6177     assert_eq!(
6178         unsafe { &(*(::std::ptr::null::<JavaVMOption>())).extraInfo as *const _ as usize },
6179         4usize,
6180         concat!(
6181             "Offset of field: ",
6182             stringify!(JavaVMOption),
6183             "::",
6184             stringify!(extraInfo)
6185         )
6186     );
6187 }
6188 #[repr(C)]
6189 #[derive(Debug, Copy, Clone)]
6190 pub struct JavaVMInitArgs {
6191     pub version: jint,
6192     pub nOptions: jint,
6193     pub options: *mut JavaVMOption,
6194     pub ignoreUnrecognized: jboolean,
6195 }
6196 #[test]
bindgen_test_layout_JavaVMInitArgs()6197 fn bindgen_test_layout_JavaVMInitArgs() {
6198     assert_eq!(
6199         ::std::mem::size_of::<JavaVMInitArgs>(),
6200         16usize,
6201         concat!("Size of: ", stringify!(JavaVMInitArgs))
6202     );
6203     assert_eq!(
6204         ::std::mem::align_of::<JavaVMInitArgs>(),
6205         4usize,
6206         concat!("Alignment of ", stringify!(JavaVMInitArgs))
6207     );
6208     assert_eq!(
6209         unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).version as *const _ as usize },
6210         0usize,
6211         concat!(
6212             "Offset of field: ",
6213             stringify!(JavaVMInitArgs),
6214             "::",
6215             stringify!(version)
6216         )
6217     );
6218     assert_eq!(
6219         unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).nOptions as *const _ as usize },
6220         4usize,
6221         concat!(
6222             "Offset of field: ",
6223             stringify!(JavaVMInitArgs),
6224             "::",
6225             stringify!(nOptions)
6226         )
6227     );
6228     assert_eq!(
6229         unsafe { &(*(::std::ptr::null::<JavaVMInitArgs>())).options as *const _ as usize },
6230         8usize,
6231         concat!(
6232             "Offset of field: ",
6233             stringify!(JavaVMInitArgs),
6234             "::",
6235             stringify!(options)
6236         )
6237     );
6238     assert_eq!(
6239         unsafe {
6240             &(*(::std::ptr::null::<JavaVMInitArgs>())).ignoreUnrecognized as *const _ as usize
6241         },
6242         12usize,
6243         concat!(
6244             "Offset of field: ",
6245             stringify!(JavaVMInitArgs),
6246             "::",
6247             stringify!(ignoreUnrecognized)
6248         )
6249     );
6250 }
6251 extern "C" {
JNI_GetDefaultJavaVMInitArgs(arg1: *mut ::std::os::raw::c_void) -> jint6252     pub fn JNI_GetDefaultJavaVMInitArgs(arg1: *mut ::std::os::raw::c_void) -> jint;
6253 }
6254 extern "C" {
JNI_CreateJavaVM( arg1: *mut *mut JavaVM, arg2: *mut *mut JNIEnv, arg3: *mut ::std::os::raw::c_void, ) -> jint6255     pub fn JNI_CreateJavaVM(
6256         arg1: *mut *mut JavaVM,
6257         arg2: *mut *mut JNIEnv,
6258         arg3: *mut ::std::os::raw::c_void,
6259     ) -> jint;
6260 }
6261 extern "C" {
JNI_GetCreatedJavaVMs(arg1: *mut *mut JavaVM, arg2: jsize, arg3: *mut jsize) -> jint6262     pub fn JNI_GetCreatedJavaVMs(arg1: *mut *mut JavaVM, arg2: jsize, arg3: *mut jsize) -> jint;
6263 }
6264 extern "C" {
JNI_OnLoad(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void) -> jint6265     pub fn JNI_OnLoad(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void) -> jint;
6266 }
6267 extern "C" {
JNI_OnUnload(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void)6268     pub fn JNI_OnUnload(vm: *mut JavaVM, reserved: *mut ::std::os::raw::c_void);
6269 }
6270 extern "C" {
AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager6271     pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
6272 }
6273 pub const ANDROID_BITMAP_RESULT_SUCCESS: _bindgen_ty_2 = 0;
6274 pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: _bindgen_ty_2 = -1;
6275 pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: _bindgen_ty_2 = -2;
6276 pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: _bindgen_ty_2 = -3;
6277 pub type _bindgen_ty_2 = i32;
6278 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = 0;
6279 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = 1;
6280 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = 4;
6281 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = 7;
6282 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = 8;
6283 pub const AndroidBitmapFormat_ANDROID_BITMAP_FORMAT_RGBA_F16: AndroidBitmapFormat = 9;
6284 pub type AndroidBitmapFormat = u32;
6285 pub const ANDROID_BITMAP_FLAGS_ALPHA_PREMUL: _bindgen_ty_3 = 0;
6286 pub const ANDROID_BITMAP_FLAGS_ALPHA_OPAQUE: _bindgen_ty_3 = 1;
6287 pub const ANDROID_BITMAP_FLAGS_ALPHA_UNPREMUL: _bindgen_ty_3 = 2;
6288 pub const ANDROID_BITMAP_FLAGS_ALPHA_MASK: _bindgen_ty_3 = 3;
6289 pub const ANDROID_BITMAP_FLAGS_ALPHA_SHIFT: _bindgen_ty_3 = 0;
6290 pub type _bindgen_ty_3 = u32;
6291 pub const ANDROID_BITMAP_FLAGS_IS_HARDWARE: _bindgen_ty_4 = -2147483648;
6292 pub type _bindgen_ty_4 = i32;
6293 #[repr(C)]
6294 #[derive(Debug, Copy, Clone)]
6295 pub struct AndroidBitmapInfo {
6296     pub width: u32,
6297     pub height: u32,
6298     pub stride: u32,
6299     pub format: i32,
6300     pub flags: u32,
6301 }
6302 #[test]
bindgen_test_layout_AndroidBitmapInfo()6303 fn bindgen_test_layout_AndroidBitmapInfo() {
6304     assert_eq!(
6305         ::std::mem::size_of::<AndroidBitmapInfo>(),
6306         20usize,
6307         concat!("Size of: ", stringify!(AndroidBitmapInfo))
6308     );
6309     assert_eq!(
6310         ::std::mem::align_of::<AndroidBitmapInfo>(),
6311         4usize,
6312         concat!("Alignment of ", stringify!(AndroidBitmapInfo))
6313     );
6314     assert_eq!(
6315         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).width as *const _ as usize },
6316         0usize,
6317         concat!(
6318             "Offset of field: ",
6319             stringify!(AndroidBitmapInfo),
6320             "::",
6321             stringify!(width)
6322         )
6323     );
6324     assert_eq!(
6325         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).height as *const _ as usize },
6326         4usize,
6327         concat!(
6328             "Offset of field: ",
6329             stringify!(AndroidBitmapInfo),
6330             "::",
6331             stringify!(height)
6332         )
6333     );
6334     assert_eq!(
6335         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).stride as *const _ as usize },
6336         8usize,
6337         concat!(
6338             "Offset of field: ",
6339             stringify!(AndroidBitmapInfo),
6340             "::",
6341             stringify!(stride)
6342         )
6343     );
6344     assert_eq!(
6345         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).format as *const _ as usize },
6346         12usize,
6347         concat!(
6348             "Offset of field: ",
6349             stringify!(AndroidBitmapInfo),
6350             "::",
6351             stringify!(format)
6352         )
6353     );
6354     assert_eq!(
6355         unsafe { &(*(::std::ptr::null::<AndroidBitmapInfo>())).flags as *const _ as usize },
6356         16usize,
6357         concat!(
6358             "Offset of field: ",
6359             stringify!(AndroidBitmapInfo),
6360             "::",
6361             stringify!(flags)
6362         )
6363     );
6364 }
6365 extern "C" {
AndroidBitmap_getInfo( env: *mut JNIEnv, jbitmap: jobject, info: *mut AndroidBitmapInfo, ) -> ::std::os::raw::c_int6366     pub fn AndroidBitmap_getInfo(
6367         env: *mut JNIEnv,
6368         jbitmap: jobject,
6369         info: *mut AndroidBitmapInfo,
6370     ) -> ::std::os::raw::c_int;
6371 }
6372 extern "C" {
AndroidBitmap_getDataSpace(env: *mut JNIEnv, jbitmap: jobject) -> i326373     pub fn AndroidBitmap_getDataSpace(env: *mut JNIEnv, jbitmap: jobject) -> i32;
6374 }
6375 extern "C" {
AndroidBitmap_lockPixels( env: *mut JNIEnv, jbitmap: jobject, addrPtr: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int6376     pub fn AndroidBitmap_lockPixels(
6377         env: *mut JNIEnv,
6378         jbitmap: jobject,
6379         addrPtr: *mut *mut ::std::os::raw::c_void,
6380     ) -> ::std::os::raw::c_int;
6381 }
6382 extern "C" {
AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int6383     pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
6384 }
6385 pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_JPEG:
6386     AndroidBitmapCompressFormat = 0;
6387 pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_PNG:
6388     AndroidBitmapCompressFormat = 1;
6389 pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSY:
6390     AndroidBitmapCompressFormat = 3;
6391 pub const AndroidBitmapCompressFormat_ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSLESS:
6392     AndroidBitmapCompressFormat = 4;
6393 pub type AndroidBitmapCompressFormat = u32;
6394 pub type AndroidBitmap_CompressWriteFunc = ::std::option::Option<
6395     unsafe extern "C" fn(
6396         userContext: *mut ::std::os::raw::c_void,
6397         data: *const ::std::os::raw::c_void,
6398         size: size_t,
6399     ) -> bool,
6400 >;
6401 extern "C" {
AndroidBitmap_compress( info: *const AndroidBitmapInfo, dataspace: i32, pixels: *const ::std::os::raw::c_void, format: i32, quality: i32, userContext: *mut ::std::os::raw::c_void, fn_: AndroidBitmap_CompressWriteFunc, ) -> ::std::os::raw::c_int6402     pub fn AndroidBitmap_compress(
6403         info: *const AndroidBitmapInfo,
6404         dataspace: i32,
6405         pixels: *const ::std::os::raw::c_void,
6406         format: i32,
6407         quality: i32,
6408         userContext: *mut ::std::os::raw::c_void,
6409         fn_: AndroidBitmap_CompressWriteFunc,
6410     ) -> ::std::os::raw::c_int;
6411 }
6412 #[repr(C)]
6413 #[derive(Debug, Copy, Clone)]
6414 pub struct AHardwareBuffer {
6415     _unused: [u8; 0],
6416 }
6417 extern "C" {
AndroidBitmap_getHardwareBuffer( env: *mut JNIEnv, bitmap: jobject, outBuffer: *mut *mut AHardwareBuffer, ) -> ::std::os::raw::c_int6418     pub fn AndroidBitmap_getHardwareBuffer(
6419         env: *mut JNIEnv,
6420         bitmap: jobject,
6421         outBuffer: *mut *mut AHardwareBuffer,
6422     ) -> ::std::os::raw::c_int;
6423 }
6424 #[repr(C)]
6425 #[derive(Debug, Copy, Clone)]
6426 pub struct AChoreographer {
6427     _unused: [u8; 0],
6428 }
6429 pub type AChoreographer_frameCallback = ::std::option::Option<
6430     unsafe extern "C" fn(frameTimeNanos: ::std::os::raw::c_long, data: *mut ::std::os::raw::c_void),
6431 >;
6432 pub type AChoreographer_frameCallback64 = ::std::option::Option<
6433     unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
6434 >;
6435 pub type AChoreographer_refreshRateCallback = ::std::option::Option<
6436     unsafe extern "C" fn(vsyncPeriodNanos: i64, data: *mut ::std::os::raw::c_void),
6437 >;
6438 extern "C" {
AChoreographer_getInstance() -> *mut AChoreographer6439     pub fn AChoreographer_getInstance() -> *mut AChoreographer;
6440 }
6441 extern "C" {
AChoreographer_postFrameCallback( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback, data: *mut ::std::os::raw::c_void, )6442     pub fn AChoreographer_postFrameCallback(
6443         choreographer: *mut AChoreographer,
6444         callback: AChoreographer_frameCallback,
6445         data: *mut ::std::os::raw::c_void,
6446     );
6447 }
6448 extern "C" {
AChoreographer_postFrameCallbackDelayed( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback, data: *mut ::std::os::raw::c_void, delayMillis: ::std::os::raw::c_long, )6449     pub fn AChoreographer_postFrameCallbackDelayed(
6450         choreographer: *mut AChoreographer,
6451         callback: AChoreographer_frameCallback,
6452         data: *mut ::std::os::raw::c_void,
6453         delayMillis: ::std::os::raw::c_long,
6454     );
6455 }
6456 extern "C" {
AChoreographer_postFrameCallback64( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback64, data: *mut ::std::os::raw::c_void, )6457     pub fn AChoreographer_postFrameCallback64(
6458         choreographer: *mut AChoreographer,
6459         callback: AChoreographer_frameCallback64,
6460         data: *mut ::std::os::raw::c_void,
6461     );
6462 }
6463 extern "C" {
AChoreographer_postFrameCallbackDelayed64( choreographer: *mut AChoreographer, callback: AChoreographer_frameCallback64, data: *mut ::std::os::raw::c_void, delayMillis: u32, )6464     pub fn AChoreographer_postFrameCallbackDelayed64(
6465         choreographer: *mut AChoreographer,
6466         callback: AChoreographer_frameCallback64,
6467         data: *mut ::std::os::raw::c_void,
6468         delayMillis: u32,
6469     );
6470 }
6471 extern "C" {
AChoreographer_registerRefreshRateCallback( choreographer: *mut AChoreographer, arg1: AChoreographer_refreshRateCallback, data: *mut ::std::os::raw::c_void, )6472     pub fn AChoreographer_registerRefreshRateCallback(
6473         choreographer: *mut AChoreographer,
6474         arg1: AChoreographer_refreshRateCallback,
6475         data: *mut ::std::os::raw::c_void,
6476     );
6477 }
6478 extern "C" {
AChoreographer_unregisterRefreshRateCallback( choreographer: *mut AChoreographer, arg1: AChoreographer_refreshRateCallback, data: *mut ::std::os::raw::c_void, )6479     pub fn AChoreographer_unregisterRefreshRateCallback(
6480         choreographer: *mut AChoreographer,
6481         arg1: AChoreographer_refreshRateCallback,
6482         data: *mut ::std::os::raw::c_void,
6483     );
6484 }
6485 #[repr(C)]
6486 #[derive(Debug, Copy, Clone)]
6487 pub struct AConfiguration {
6488     _unused: [u8; 0],
6489 }
6490 pub const ACONFIGURATION_ORIENTATION_ANY: _bindgen_ty_5 = 0;
6491 pub const ACONFIGURATION_ORIENTATION_PORT: _bindgen_ty_5 = 1;
6492 pub const ACONFIGURATION_ORIENTATION_LAND: _bindgen_ty_5 = 2;
6493 pub const ACONFIGURATION_ORIENTATION_SQUARE: _bindgen_ty_5 = 3;
6494 pub const ACONFIGURATION_TOUCHSCREEN_ANY: _bindgen_ty_5 = 0;
6495 pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: _bindgen_ty_5 = 1;
6496 pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: _bindgen_ty_5 = 2;
6497 pub const ACONFIGURATION_TOUCHSCREEN_FINGER: _bindgen_ty_5 = 3;
6498 pub const ACONFIGURATION_DENSITY_DEFAULT: _bindgen_ty_5 = 0;
6499 pub const ACONFIGURATION_DENSITY_LOW: _bindgen_ty_5 = 120;
6500 pub const ACONFIGURATION_DENSITY_MEDIUM: _bindgen_ty_5 = 160;
6501 pub const ACONFIGURATION_DENSITY_TV: _bindgen_ty_5 = 213;
6502 pub const ACONFIGURATION_DENSITY_HIGH: _bindgen_ty_5 = 240;
6503 pub const ACONFIGURATION_DENSITY_XHIGH: _bindgen_ty_5 = 320;
6504 pub const ACONFIGURATION_DENSITY_XXHIGH: _bindgen_ty_5 = 480;
6505 pub const ACONFIGURATION_DENSITY_XXXHIGH: _bindgen_ty_5 = 640;
6506 pub const ACONFIGURATION_DENSITY_ANY: _bindgen_ty_5 = 65534;
6507 pub const ACONFIGURATION_DENSITY_NONE: _bindgen_ty_5 = 65535;
6508 pub const ACONFIGURATION_KEYBOARD_ANY: _bindgen_ty_5 = 0;
6509 pub const ACONFIGURATION_KEYBOARD_NOKEYS: _bindgen_ty_5 = 1;
6510 pub const ACONFIGURATION_KEYBOARD_QWERTY: _bindgen_ty_5 = 2;
6511 pub const ACONFIGURATION_KEYBOARD_12KEY: _bindgen_ty_5 = 3;
6512 pub const ACONFIGURATION_NAVIGATION_ANY: _bindgen_ty_5 = 0;
6513 pub const ACONFIGURATION_NAVIGATION_NONAV: _bindgen_ty_5 = 1;
6514 pub const ACONFIGURATION_NAVIGATION_DPAD: _bindgen_ty_5 = 2;
6515 pub const ACONFIGURATION_NAVIGATION_TRACKBALL: _bindgen_ty_5 = 3;
6516 pub const ACONFIGURATION_NAVIGATION_WHEEL: _bindgen_ty_5 = 4;
6517 pub const ACONFIGURATION_KEYSHIDDEN_ANY: _bindgen_ty_5 = 0;
6518 pub const ACONFIGURATION_KEYSHIDDEN_NO: _bindgen_ty_5 = 1;
6519 pub const ACONFIGURATION_KEYSHIDDEN_YES: _bindgen_ty_5 = 2;
6520 pub const ACONFIGURATION_KEYSHIDDEN_SOFT: _bindgen_ty_5 = 3;
6521 pub const ACONFIGURATION_NAVHIDDEN_ANY: _bindgen_ty_5 = 0;
6522 pub const ACONFIGURATION_NAVHIDDEN_NO: _bindgen_ty_5 = 1;
6523 pub const ACONFIGURATION_NAVHIDDEN_YES: _bindgen_ty_5 = 2;
6524 pub const ACONFIGURATION_SCREENSIZE_ANY: _bindgen_ty_5 = 0;
6525 pub const ACONFIGURATION_SCREENSIZE_SMALL: _bindgen_ty_5 = 1;
6526 pub const ACONFIGURATION_SCREENSIZE_NORMAL: _bindgen_ty_5 = 2;
6527 pub const ACONFIGURATION_SCREENSIZE_LARGE: _bindgen_ty_5 = 3;
6528 pub const ACONFIGURATION_SCREENSIZE_XLARGE: _bindgen_ty_5 = 4;
6529 pub const ACONFIGURATION_SCREENLONG_ANY: _bindgen_ty_5 = 0;
6530 pub const ACONFIGURATION_SCREENLONG_NO: _bindgen_ty_5 = 1;
6531 pub const ACONFIGURATION_SCREENLONG_YES: _bindgen_ty_5 = 2;
6532 pub const ACONFIGURATION_SCREENROUND_ANY: _bindgen_ty_5 = 0;
6533 pub const ACONFIGURATION_SCREENROUND_NO: _bindgen_ty_5 = 1;
6534 pub const ACONFIGURATION_SCREENROUND_YES: _bindgen_ty_5 = 2;
6535 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: _bindgen_ty_5 = 0;
6536 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: _bindgen_ty_5 = 1;
6537 pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: _bindgen_ty_5 = 2;
6538 pub const ACONFIGURATION_HDR_ANY: _bindgen_ty_5 = 0;
6539 pub const ACONFIGURATION_HDR_NO: _bindgen_ty_5 = 1;
6540 pub const ACONFIGURATION_HDR_YES: _bindgen_ty_5 = 2;
6541 pub const ACONFIGURATION_UI_MODE_TYPE_ANY: _bindgen_ty_5 = 0;
6542 pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: _bindgen_ty_5 = 1;
6543 pub const ACONFIGURATION_UI_MODE_TYPE_DESK: _bindgen_ty_5 = 2;
6544 pub const ACONFIGURATION_UI_MODE_TYPE_CAR: _bindgen_ty_5 = 3;
6545 pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: _bindgen_ty_5 = 4;
6546 pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: _bindgen_ty_5 = 5;
6547 pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: _bindgen_ty_5 = 6;
6548 pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: _bindgen_ty_5 = 7;
6549 pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: _bindgen_ty_5 = 0;
6550 pub const ACONFIGURATION_UI_MODE_NIGHT_NO: _bindgen_ty_5 = 1;
6551 pub const ACONFIGURATION_UI_MODE_NIGHT_YES: _bindgen_ty_5 = 2;
6552 pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
6553 pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: _bindgen_ty_5 = 0;
6554 pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
6555 pub const ACONFIGURATION_LAYOUTDIR_ANY: _bindgen_ty_5 = 0;
6556 pub const ACONFIGURATION_LAYOUTDIR_LTR: _bindgen_ty_5 = 1;
6557 pub const ACONFIGURATION_LAYOUTDIR_RTL: _bindgen_ty_5 = 2;
6558 pub const ACONFIGURATION_MCC: _bindgen_ty_5 = 1;
6559 pub const ACONFIGURATION_MNC: _bindgen_ty_5 = 2;
6560 pub const ACONFIGURATION_LOCALE: _bindgen_ty_5 = 4;
6561 pub const ACONFIGURATION_TOUCHSCREEN: _bindgen_ty_5 = 8;
6562 pub const ACONFIGURATION_KEYBOARD: _bindgen_ty_5 = 16;
6563 pub const ACONFIGURATION_KEYBOARD_HIDDEN: _bindgen_ty_5 = 32;
6564 pub const ACONFIGURATION_NAVIGATION: _bindgen_ty_5 = 64;
6565 pub const ACONFIGURATION_ORIENTATION: _bindgen_ty_5 = 128;
6566 pub const ACONFIGURATION_DENSITY: _bindgen_ty_5 = 256;
6567 pub const ACONFIGURATION_SCREEN_SIZE: _bindgen_ty_5 = 512;
6568 pub const ACONFIGURATION_VERSION: _bindgen_ty_5 = 1024;
6569 pub const ACONFIGURATION_SCREEN_LAYOUT: _bindgen_ty_5 = 2048;
6570 pub const ACONFIGURATION_UI_MODE: _bindgen_ty_5 = 4096;
6571 pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: _bindgen_ty_5 = 8192;
6572 pub const ACONFIGURATION_LAYOUTDIR: _bindgen_ty_5 = 16384;
6573 pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_5 = 32768;
6574 pub const ACONFIGURATION_COLOR_MODE: _bindgen_ty_5 = 65536;
6575 pub const ACONFIGURATION_MNC_ZERO: _bindgen_ty_5 = 65535;
6576 pub type _bindgen_ty_5 = u32;
6577 extern "C" {
AConfiguration_new() -> *mut AConfiguration6578     pub fn AConfiguration_new() -> *mut AConfiguration;
6579 }
6580 extern "C" {
AConfiguration_delete(config: *mut AConfiguration)6581     pub fn AConfiguration_delete(config: *mut AConfiguration);
6582 }
6583 extern "C" {
AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager)6584     pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
6585 }
6586 extern "C" {
AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration)6587     pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
6588 }
6589 extern "C" {
AConfiguration_getMcc(config: *mut AConfiguration) -> i326590     pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
6591 }
6592 extern "C" {
AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32)6593     pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
6594 }
6595 extern "C" {
AConfiguration_getMnc(config: *mut AConfiguration) -> i326596     pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
6597 }
6598 extern "C" {
AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32)6599     pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
6600 }
6601 extern "C" {
AConfiguration_getLanguage( config: *mut AConfiguration, outLanguage: *mut ::std::os::raw::c_char, )6602     pub fn AConfiguration_getLanguage(
6603         config: *mut AConfiguration,
6604         outLanguage: *mut ::std::os::raw::c_char,
6605     );
6606 }
6607 extern "C" {
AConfiguration_setLanguage( config: *mut AConfiguration, language: *const ::std::os::raw::c_char, )6608     pub fn AConfiguration_setLanguage(
6609         config: *mut AConfiguration,
6610         language: *const ::std::os::raw::c_char,
6611     );
6612 }
6613 extern "C" {
AConfiguration_getCountry( config: *mut AConfiguration, outCountry: *mut ::std::os::raw::c_char, )6614     pub fn AConfiguration_getCountry(
6615         config: *mut AConfiguration,
6616         outCountry: *mut ::std::os::raw::c_char,
6617     );
6618 }
6619 extern "C" {
AConfiguration_setCountry( config: *mut AConfiguration, country: *const ::std::os::raw::c_char, )6620     pub fn AConfiguration_setCountry(
6621         config: *mut AConfiguration,
6622         country: *const ::std::os::raw::c_char,
6623     );
6624 }
6625 extern "C" {
AConfiguration_getOrientation(config: *mut AConfiguration) -> i326626     pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
6627 }
6628 extern "C" {
AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32)6629     pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
6630 }
6631 extern "C" {
AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i326632     pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
6633 }
6634 extern "C" {
AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32)6635     pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
6636 }
6637 extern "C" {
AConfiguration_getDensity(config: *mut AConfiguration) -> i326638     pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
6639 }
6640 extern "C" {
AConfiguration_setDensity(config: *mut AConfiguration, density: i32)6641     pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
6642 }
6643 extern "C" {
AConfiguration_getKeyboard(config: *mut AConfiguration) -> i326644     pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
6645 }
6646 extern "C" {
AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32)6647     pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
6648 }
6649 extern "C" {
AConfiguration_getNavigation(config: *mut AConfiguration) -> i326650     pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
6651 }
6652 extern "C" {
AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32)6653     pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
6654 }
6655 extern "C" {
AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i326656     pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
6657 }
6658 extern "C" {
AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32)6659     pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
6660 }
6661 extern "C" {
AConfiguration_getNavHidden(config: *mut AConfiguration) -> i326662     pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
6663 }
6664 extern "C" {
AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32)6665     pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
6666 }
6667 extern "C" {
AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i326668     pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
6669 }
6670 extern "C" {
AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32)6671     pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
6672 }
6673 extern "C" {
AConfiguration_getScreenSize(config: *mut AConfiguration) -> i326674     pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
6675 }
6676 extern "C" {
AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32)6677     pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
6678 }
6679 extern "C" {
AConfiguration_getScreenLong(config: *mut AConfiguration) -> i326680     pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
6681 }
6682 extern "C" {
AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32)6683     pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
6684 }
6685 extern "C" {
AConfiguration_getScreenRound(config: *mut AConfiguration) -> i326686     pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
6687 }
6688 extern "C" {
AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32)6689     pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
6690 }
6691 extern "C" {
AConfiguration_getUiModeType(config: *mut AConfiguration) -> i326692     pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
6693 }
6694 extern "C" {
AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32)6695     pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
6696 }
6697 extern "C" {
AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i326698     pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
6699 }
6700 extern "C" {
AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32)6701     pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
6702 }
6703 extern "C" {
AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i326704     pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
6705 }
6706 extern "C" {
AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32)6707     pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
6708 }
6709 extern "C" {
AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i326710     pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
6711 }
6712 extern "C" {
AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32)6713     pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
6714 }
6715 extern "C" {
AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i326716     pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
6717 }
6718 extern "C" {
AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32)6719     pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
6720 }
6721 extern "C" {
AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i326722     pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
6723 }
6724 extern "C" {
AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32)6725     pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
6726 }
6727 extern "C" {
AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i326728     pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
6729 }
6730 extern "C" {
AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i326731     pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
6732 }
6733 extern "C" {
AConfiguration_isBetterThan( base: *mut AConfiguration, test: *mut AConfiguration, requested: *mut AConfiguration, ) -> i326734     pub fn AConfiguration_isBetterThan(
6735         base: *mut AConfiguration,
6736         test: *mut AConfiguration,
6737         requested: *mut AConfiguration,
6738     ) -> i32;
6739 }
6740 #[repr(C)]
6741 #[derive(Debug, Copy, Clone)]
6742 pub struct imaxdiv_t {
6743     pub quot: intmax_t,
6744     pub rem: intmax_t,
6745 }
6746 #[test]
bindgen_test_layout_imaxdiv_t()6747 fn bindgen_test_layout_imaxdiv_t() {
6748     assert_eq!(
6749         ::std::mem::size_of::<imaxdiv_t>(),
6750         16usize,
6751         concat!("Size of: ", stringify!(imaxdiv_t))
6752     );
6753     assert_eq!(
6754         ::std::mem::align_of::<imaxdiv_t>(),
6755         8usize,
6756         concat!("Alignment of ", stringify!(imaxdiv_t))
6757     );
6758     assert_eq!(
6759         unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).quot as *const _ as usize },
6760         0usize,
6761         concat!(
6762             "Offset of field: ",
6763             stringify!(imaxdiv_t),
6764             "::",
6765             stringify!(quot)
6766         )
6767     );
6768     assert_eq!(
6769         unsafe { &(*(::std::ptr::null::<imaxdiv_t>())).rem as *const _ as usize },
6770         8usize,
6771         concat!(
6772             "Offset of field: ",
6773             stringify!(imaxdiv_t),
6774             "::",
6775             stringify!(rem)
6776         )
6777     );
6778 }
6779 extern "C" {
imaxabs(__i: intmax_t) -> intmax_t6780     pub fn imaxabs(__i: intmax_t) -> intmax_t;
6781 }
6782 extern "C" {
imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t6783     pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
6784 }
6785 extern "C" {
strtoimax( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> intmax_t6786     pub fn strtoimax(
6787         __s: *const ::std::os::raw::c_char,
6788         __end_ptr: *mut *mut ::std::os::raw::c_char,
6789         __base: ::std::os::raw::c_int,
6790     ) -> intmax_t;
6791 }
6792 extern "C" {
strtoumax( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> uintmax_t6793     pub fn strtoumax(
6794         __s: *const ::std::os::raw::c_char,
6795         __end_ptr: *mut *mut ::std::os::raw::c_char,
6796         __base: ::std::os::raw::c_int,
6797     ) -> uintmax_t;
6798 }
6799 extern "C" {
wcstoimax( __s: *const wchar_t, __end_ptr: *mut *mut wchar_t, __base: ::std::os::raw::c_int, ) -> intmax_t6800     pub fn wcstoimax(
6801         __s: *const wchar_t,
6802         __end_ptr: *mut *mut wchar_t,
6803         __base: ::std::os::raw::c_int,
6804     ) -> intmax_t;
6805 }
6806 extern "C" {
wcstoumax( __s: *const wchar_t, __end_ptr: *mut *mut wchar_t, __base: ::std::os::raw::c_int, ) -> uintmax_t6807     pub fn wcstoumax(
6808         __s: *const wchar_t,
6809         __end_ptr: *mut *mut wchar_t,
6810         __base: ::std::os::raw::c_int,
6811     ) -> uintmax_t;
6812 }
6813 pub const ADataSpace_ADATASPACE_UNKNOWN: ADataSpace = 0;
6814 pub const ADataSpace_ADATASPACE_SCRGB_LINEAR: ADataSpace = 406913024;
6815 pub const ADataSpace_ADATASPACE_SRGB: ADataSpace = 142671872;
6816 pub const ADataSpace_ADATASPACE_SCRGB: ADataSpace = 411107328;
6817 pub const ADataSpace_ADATASPACE_DISPLAY_P3: ADataSpace = 143261696;
6818 pub const ADataSpace_ADATASPACE_BT2020_PQ: ADataSpace = 163971072;
6819 pub const ADataSpace_ADATASPACE_ADOBE_RGB: ADataSpace = 151715840;
6820 pub const ADataSpace_ADATASPACE_BT2020: ADataSpace = 147193856;
6821 pub const ADataSpace_ADATASPACE_BT709: ADataSpace = 281083904;
6822 pub const ADataSpace_ADATASPACE_DCI_P3: ADataSpace = 155844608;
6823 pub const ADataSpace_ADATASPACE_SRGB_LINEAR: ADataSpace = 138477568;
6824 pub type ADataSpace = u32;
6825 pub const ANDROID_DLEXT_RESERVED_ADDRESS: _bindgen_ty_6 = 1;
6826 pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: _bindgen_ty_6 = 2;
6827 pub const ANDROID_DLEXT_WRITE_RELRO: _bindgen_ty_6 = 4;
6828 pub const ANDROID_DLEXT_USE_RELRO: _bindgen_ty_6 = 8;
6829 pub const ANDROID_DLEXT_USE_LIBRARY_FD: _bindgen_ty_6 = 16;
6830 pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: _bindgen_ty_6 = 32;
6831 pub const ANDROID_DLEXT_FORCE_LOAD: _bindgen_ty_6 = 64;
6832 pub const ANDROID_DLEXT_USE_NAMESPACE: _bindgen_ty_6 = 512;
6833 pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: _bindgen_ty_6 = 1024;
6834 pub const ANDROID_DLEXT_VALID_FLAG_BITS: _bindgen_ty_6 = 1663;
6835 pub type _bindgen_ty_6 = u32;
6836 #[repr(C)]
6837 #[derive(Debug, Copy, Clone)]
6838 pub struct android_namespace_t {
6839     _unused: [u8; 0],
6840 }
6841 #[repr(C)]
6842 #[derive(Debug, Copy, Clone)]
6843 pub struct android_dlextinfo {
6844     pub flags: u64,
6845     pub reserved_addr: *mut ::std::os::raw::c_void,
6846     pub reserved_size: size_t,
6847     pub relro_fd: ::std::os::raw::c_int,
6848     pub library_fd: ::std::os::raw::c_int,
6849     pub library_fd_offset: off64_t,
6850     pub library_namespace: *mut android_namespace_t,
6851 }
6852 #[test]
bindgen_test_layout_android_dlextinfo()6853 fn bindgen_test_layout_android_dlextinfo() {
6854     assert_eq!(
6855         ::std::mem::size_of::<android_dlextinfo>(),
6856         40usize,
6857         concat!("Size of: ", stringify!(android_dlextinfo))
6858     );
6859     assert_eq!(
6860         ::std::mem::align_of::<android_dlextinfo>(),
6861         8usize,
6862         concat!("Alignment of ", stringify!(android_dlextinfo))
6863     );
6864     assert_eq!(
6865         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).flags as *const _ as usize },
6866         0usize,
6867         concat!(
6868             "Offset of field: ",
6869             stringify!(android_dlextinfo),
6870             "::",
6871             stringify!(flags)
6872         )
6873     );
6874     assert_eq!(
6875         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_addr as *const _ as usize },
6876         8usize,
6877         concat!(
6878             "Offset of field: ",
6879             stringify!(android_dlextinfo),
6880             "::",
6881             stringify!(reserved_addr)
6882         )
6883     );
6884     assert_eq!(
6885         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).reserved_size as *const _ as usize },
6886         12usize,
6887         concat!(
6888             "Offset of field: ",
6889             stringify!(android_dlextinfo),
6890             "::",
6891             stringify!(reserved_size)
6892         )
6893     );
6894     assert_eq!(
6895         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).relro_fd as *const _ as usize },
6896         16usize,
6897         concat!(
6898             "Offset of field: ",
6899             stringify!(android_dlextinfo),
6900             "::",
6901             stringify!(relro_fd)
6902         )
6903     );
6904     assert_eq!(
6905         unsafe { &(*(::std::ptr::null::<android_dlextinfo>())).library_fd as *const _ as usize },
6906         20usize,
6907         concat!(
6908             "Offset of field: ",
6909             stringify!(android_dlextinfo),
6910             "::",
6911             stringify!(library_fd)
6912         )
6913     );
6914     assert_eq!(
6915         unsafe {
6916             &(*(::std::ptr::null::<android_dlextinfo>())).library_fd_offset as *const _ as usize
6917         },
6918         24usize,
6919         concat!(
6920             "Offset of field: ",
6921             stringify!(android_dlextinfo),
6922             "::",
6923             stringify!(library_fd_offset)
6924         )
6925     );
6926     assert_eq!(
6927         unsafe {
6928             &(*(::std::ptr::null::<android_dlextinfo>())).library_namespace as *const _ as usize
6929         },
6930         32usize,
6931         concat!(
6932             "Offset of field: ",
6933             stringify!(android_dlextinfo),
6934             "::",
6935             stringify!(library_namespace)
6936         )
6937     );
6938 }
6939 extern "C" {
android_dlopen_ext( __filename: *const ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, __info: *const android_dlextinfo, ) -> *mut ::std::os::raw::c_void6940     pub fn android_dlopen_ext(
6941         __filename: *const ::std::os::raw::c_char,
6942         __flags: ::std::os::raw::c_int,
6943         __info: *const android_dlextinfo,
6944     ) -> *mut ::std::os::raw::c_void;
6945 }
6946 #[repr(C)]
6947 #[derive(Debug, Copy, Clone)]
6948 pub struct ARect {
6949     pub left: i32,
6950     pub top: i32,
6951     pub right: i32,
6952     pub bottom: i32,
6953 }
6954 #[test]
bindgen_test_layout_ARect()6955 fn bindgen_test_layout_ARect() {
6956     assert_eq!(
6957         ::std::mem::size_of::<ARect>(),
6958         16usize,
6959         concat!("Size of: ", stringify!(ARect))
6960     );
6961     assert_eq!(
6962         ::std::mem::align_of::<ARect>(),
6963         4usize,
6964         concat!("Alignment of ", stringify!(ARect))
6965     );
6966     assert_eq!(
6967         unsafe { &(*(::std::ptr::null::<ARect>())).left as *const _ as usize },
6968         0usize,
6969         concat!(
6970             "Offset of field: ",
6971             stringify!(ARect),
6972             "::",
6973             stringify!(left)
6974         )
6975     );
6976     assert_eq!(
6977         unsafe { &(*(::std::ptr::null::<ARect>())).top as *const _ as usize },
6978         4usize,
6979         concat!(
6980             "Offset of field: ",
6981             stringify!(ARect),
6982             "::",
6983             stringify!(top)
6984         )
6985     );
6986     assert_eq!(
6987         unsafe { &(*(::std::ptr::null::<ARect>())).right as *const _ as usize },
6988         8usize,
6989         concat!(
6990             "Offset of field: ",
6991             stringify!(ARect),
6992             "::",
6993             stringify!(right)
6994         )
6995     );
6996     assert_eq!(
6997         unsafe { &(*(::std::ptr::null::<ARect>())).bottom as *const _ as usize },
6998         12usize,
6999         concat!(
7000             "Offset of field: ",
7001             stringify!(ARect),
7002             "::",
7003             stringify!(bottom)
7004         )
7005     );
7006 }
7007 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format = 1;
7008 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format = 2;
7009 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format = 3;
7010 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format = 4;
7011 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
7012     22;
7013 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
7014     43;
7015 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = 33;
7016 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = 48;
7017 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = 49;
7018 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
7019     50;
7020 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = 51;
7021 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
7022     52;
7023 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = 53;
7024 pub const AHardwareBuffer_Format_AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format = 35;
7025 pub type AHardwareBuffer_Format = u32;
7026 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_NEVER:
7027     AHardwareBuffer_UsageFlags = 0;
7028 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_RARELY:
7029     AHardwareBuffer_UsageFlags = 2;
7030 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN:
7031     AHardwareBuffer_UsageFlags = 3;
7032 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_READ_MASK:
7033     AHardwareBuffer_UsageFlags = 15;
7034 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER:
7035     AHardwareBuffer_UsageFlags = 0;
7036 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY:
7037     AHardwareBuffer_UsageFlags = 32;
7038 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN:
7039     AHardwareBuffer_UsageFlags = 48;
7040 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK:
7041     AHardwareBuffer_UsageFlags = 240;
7042 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE:
7043     AHardwareBuffer_UsageFlags = 256;
7044 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER:
7045     AHardwareBuffer_UsageFlags = 512;
7046 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT:
7047     AHardwareBuffer_UsageFlags = 512;
7048 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY:
7049     AHardwareBuffer_UsageFlags = 2048;
7050 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT:
7051     AHardwareBuffer_UsageFlags = 16384;
7052 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VIDEO_ENCODE:
7053     AHardwareBuffer_UsageFlags = 65536;
7054 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA:
7055     AHardwareBuffer_UsageFlags = 8388608;
7056 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER:
7057     AHardwareBuffer_UsageFlags = 16777216;
7058 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP:
7059     AHardwareBuffer_UsageFlags = 33554432;
7060 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE:
7061     AHardwareBuffer_UsageFlags = 67108864;
7062 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
7063     268435456;
7064 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
7065     536870912;
7066 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
7067     1073741824;
7068 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
7069     2147483648;
7070 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
7071     281474976710656;
7072 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
7073     562949953421312;
7074 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
7075     1125899906842624;
7076 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
7077     2251799813685248;
7078 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
7079     4503599627370496;
7080 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
7081     9007199254740992;
7082 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
7083     18014398509481984;
7084 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
7085     36028797018963968;
7086 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
7087     72057594037927936;
7088 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
7089     144115188075855872;
7090 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
7091     288230376151711744;
7092 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
7093     576460752303423488;
7094 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
7095     1152921504606846976;
7096 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
7097     2305843009213693952;
7098 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
7099     4611686018427387904;
7100 pub const AHardwareBuffer_UsageFlags_AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
7101     9223372036854775808;
7102 pub type AHardwareBuffer_UsageFlags = u64;
7103 #[repr(C)]
7104 #[derive(Debug, Copy, Clone)]
7105 pub struct AHardwareBuffer_Desc {
7106     pub width: u32,
7107     pub height: u32,
7108     pub layers: u32,
7109     pub format: u32,
7110     pub usage: u64,
7111     pub stride: u32,
7112     pub rfu0: u32,
7113     pub rfu1: u64,
7114 }
7115 #[test]
bindgen_test_layout_AHardwareBuffer_Desc()7116 fn bindgen_test_layout_AHardwareBuffer_Desc() {
7117     assert_eq!(
7118         ::std::mem::size_of::<AHardwareBuffer_Desc>(),
7119         40usize,
7120         concat!("Size of: ", stringify!(AHardwareBuffer_Desc))
7121     );
7122     assert_eq!(
7123         ::std::mem::align_of::<AHardwareBuffer_Desc>(),
7124         8usize,
7125         concat!("Alignment of ", stringify!(AHardwareBuffer_Desc))
7126     );
7127     assert_eq!(
7128         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).width as *const _ as usize },
7129         0usize,
7130         concat!(
7131             "Offset of field: ",
7132             stringify!(AHardwareBuffer_Desc),
7133             "::",
7134             stringify!(width)
7135         )
7136     );
7137     assert_eq!(
7138         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).height as *const _ as usize },
7139         4usize,
7140         concat!(
7141             "Offset of field: ",
7142             stringify!(AHardwareBuffer_Desc),
7143             "::",
7144             stringify!(height)
7145         )
7146     );
7147     assert_eq!(
7148         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).layers as *const _ as usize },
7149         8usize,
7150         concat!(
7151             "Offset of field: ",
7152             stringify!(AHardwareBuffer_Desc),
7153             "::",
7154             stringify!(layers)
7155         )
7156     );
7157     assert_eq!(
7158         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).format as *const _ as usize },
7159         12usize,
7160         concat!(
7161             "Offset of field: ",
7162             stringify!(AHardwareBuffer_Desc),
7163             "::",
7164             stringify!(format)
7165         )
7166     );
7167     assert_eq!(
7168         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).usage as *const _ as usize },
7169         16usize,
7170         concat!(
7171             "Offset of field: ",
7172             stringify!(AHardwareBuffer_Desc),
7173             "::",
7174             stringify!(usage)
7175         )
7176     );
7177     assert_eq!(
7178         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).stride as *const _ as usize },
7179         24usize,
7180         concat!(
7181             "Offset of field: ",
7182             stringify!(AHardwareBuffer_Desc),
7183             "::",
7184             stringify!(stride)
7185         )
7186     );
7187     assert_eq!(
7188         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu0 as *const _ as usize },
7189         28usize,
7190         concat!(
7191             "Offset of field: ",
7192             stringify!(AHardwareBuffer_Desc),
7193             "::",
7194             stringify!(rfu0)
7195         )
7196     );
7197     assert_eq!(
7198         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Desc>())).rfu1 as *const _ as usize },
7199         32usize,
7200         concat!(
7201             "Offset of field: ",
7202             stringify!(AHardwareBuffer_Desc),
7203             "::",
7204             stringify!(rfu1)
7205         )
7206     );
7207 }
7208 #[repr(C)]
7209 #[derive(Debug, Copy, Clone)]
7210 pub struct AHardwareBuffer_Plane {
7211     pub data: *mut ::std::os::raw::c_void,
7212     pub pixelStride: u32,
7213     pub rowStride: u32,
7214 }
7215 #[test]
bindgen_test_layout_AHardwareBuffer_Plane()7216 fn bindgen_test_layout_AHardwareBuffer_Plane() {
7217     assert_eq!(
7218         ::std::mem::size_of::<AHardwareBuffer_Plane>(),
7219         12usize,
7220         concat!("Size of: ", stringify!(AHardwareBuffer_Plane))
7221     );
7222     assert_eq!(
7223         ::std::mem::align_of::<AHardwareBuffer_Plane>(),
7224         4usize,
7225         concat!("Alignment of ", stringify!(AHardwareBuffer_Plane))
7226     );
7227     assert_eq!(
7228         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).data as *const _ as usize },
7229         0usize,
7230         concat!(
7231             "Offset of field: ",
7232             stringify!(AHardwareBuffer_Plane),
7233             "::",
7234             stringify!(data)
7235         )
7236     );
7237     assert_eq!(
7238         unsafe {
7239             &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).pixelStride as *const _ as usize
7240         },
7241         4usize,
7242         concat!(
7243             "Offset of field: ",
7244             stringify!(AHardwareBuffer_Plane),
7245             "::",
7246             stringify!(pixelStride)
7247         )
7248     );
7249     assert_eq!(
7250         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Plane>())).rowStride as *const _ as usize },
7251         8usize,
7252         concat!(
7253             "Offset of field: ",
7254             stringify!(AHardwareBuffer_Plane),
7255             "::",
7256             stringify!(rowStride)
7257         )
7258     );
7259 }
7260 #[repr(C)]
7261 #[derive(Debug, Copy, Clone)]
7262 pub struct AHardwareBuffer_Planes {
7263     pub planeCount: u32,
7264     pub planes: [AHardwareBuffer_Plane; 4usize],
7265 }
7266 #[test]
bindgen_test_layout_AHardwareBuffer_Planes()7267 fn bindgen_test_layout_AHardwareBuffer_Planes() {
7268     assert_eq!(
7269         ::std::mem::size_of::<AHardwareBuffer_Planes>(),
7270         52usize,
7271         concat!("Size of: ", stringify!(AHardwareBuffer_Planes))
7272     );
7273     assert_eq!(
7274         ::std::mem::align_of::<AHardwareBuffer_Planes>(),
7275         4usize,
7276         concat!("Alignment of ", stringify!(AHardwareBuffer_Planes))
7277     );
7278     assert_eq!(
7279         unsafe {
7280             &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planeCount as *const _ as usize
7281         },
7282         0usize,
7283         concat!(
7284             "Offset of field: ",
7285             stringify!(AHardwareBuffer_Planes),
7286             "::",
7287             stringify!(planeCount)
7288         )
7289     );
7290     assert_eq!(
7291         unsafe { &(*(::std::ptr::null::<AHardwareBuffer_Planes>())).planes as *const _ as usize },
7292         4usize,
7293         concat!(
7294             "Offset of field: ",
7295             stringify!(AHardwareBuffer_Planes),
7296             "::",
7297             stringify!(planes)
7298         )
7299     );
7300 }
7301 extern "C" {
AHardwareBuffer_allocate( desc: *const AHardwareBuffer_Desc, outBuffer: *mut *mut AHardwareBuffer, ) -> ::std::os::raw::c_int7302     pub fn AHardwareBuffer_allocate(
7303         desc: *const AHardwareBuffer_Desc,
7304         outBuffer: *mut *mut AHardwareBuffer,
7305     ) -> ::std::os::raw::c_int;
7306 }
7307 extern "C" {
AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer)7308     pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
7309 }
7310 extern "C" {
AHardwareBuffer_release(buffer: *mut AHardwareBuffer)7311     pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
7312 }
7313 extern "C" {
AHardwareBuffer_describe( buffer: *const AHardwareBuffer, outDesc: *mut AHardwareBuffer_Desc, )7314     pub fn AHardwareBuffer_describe(
7315         buffer: *const AHardwareBuffer,
7316         outDesc: *mut AHardwareBuffer_Desc,
7317     );
7318 }
7319 extern "C" {
AHardwareBuffer_lock( buffer: *mut AHardwareBuffer, usage: u64, fence: i32, rect: *const ARect, outVirtualAddress: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int7320     pub fn AHardwareBuffer_lock(
7321         buffer: *mut AHardwareBuffer,
7322         usage: u64,
7323         fence: i32,
7324         rect: *const ARect,
7325         outVirtualAddress: *mut *mut ::std::os::raw::c_void,
7326     ) -> ::std::os::raw::c_int;
7327 }
7328 extern "C" {
AHardwareBuffer_lockPlanes( buffer: *mut AHardwareBuffer, usage: u64, fence: i32, rect: *const ARect, outPlanes: *mut AHardwareBuffer_Planes, ) -> ::std::os::raw::c_int7329     pub fn AHardwareBuffer_lockPlanes(
7330         buffer: *mut AHardwareBuffer,
7331         usage: u64,
7332         fence: i32,
7333         rect: *const ARect,
7334         outPlanes: *mut AHardwareBuffer_Planes,
7335     ) -> ::std::os::raw::c_int;
7336 }
7337 extern "C" {
AHardwareBuffer_unlock( buffer: *mut AHardwareBuffer, fence: *mut i32, ) -> ::std::os::raw::c_int7338     pub fn AHardwareBuffer_unlock(
7339         buffer: *mut AHardwareBuffer,
7340         fence: *mut i32,
7341     ) -> ::std::os::raw::c_int;
7342 }
7343 extern "C" {
AHardwareBuffer_sendHandleToUnixSocket( buffer: *const AHardwareBuffer, socketFd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int7344     pub fn AHardwareBuffer_sendHandleToUnixSocket(
7345         buffer: *const AHardwareBuffer,
7346         socketFd: ::std::os::raw::c_int,
7347     ) -> ::std::os::raw::c_int;
7348 }
7349 extern "C" {
AHardwareBuffer_recvHandleFromUnixSocket( socketFd: ::std::os::raw::c_int, outBuffer: *mut *mut AHardwareBuffer, ) -> ::std::os::raw::c_int7350     pub fn AHardwareBuffer_recvHandleFromUnixSocket(
7351         socketFd: ::std::os::raw::c_int,
7352         outBuffer: *mut *mut AHardwareBuffer,
7353     ) -> ::std::os::raw::c_int;
7354 }
7355 extern "C" {
AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int7356     pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
7357 }
7358 extern "C" {
AHardwareBuffer_lockAndGetInfo( buffer: *mut AHardwareBuffer, usage: u64, fence: i32, rect: *const ARect, outVirtualAddress: *mut *mut ::std::os::raw::c_void, outBytesPerPixel: *mut i32, outBytesPerStride: *mut i32, ) -> ::std::os::raw::c_int7359     pub fn AHardwareBuffer_lockAndGetInfo(
7360         buffer: *mut AHardwareBuffer,
7361         usage: u64,
7362         fence: i32,
7363         rect: *const ARect,
7364         outVirtualAddress: *mut *mut ::std::os::raw::c_void,
7365         outBytesPerPixel: *mut i32,
7366         outBytesPerStride: *mut i32,
7367     ) -> ::std::os::raw::c_int;
7368 }
7369 extern "C" {
AHardwareBuffer_fromHardwareBuffer( env: *mut JNIEnv, hardwareBufferObj: jobject, ) -> *mut AHardwareBuffer7370     pub fn AHardwareBuffer_fromHardwareBuffer(
7371         env: *mut JNIEnv,
7372         hardwareBufferObj: jobject,
7373     ) -> *mut AHardwareBuffer;
7374 }
7375 extern "C" {
AHardwareBuffer_toHardwareBuffer( env: *mut JNIEnv, hardwareBuffer: *mut AHardwareBuffer, ) -> jobject7376     pub fn AHardwareBuffer_toHardwareBuffer(
7377         env: *mut JNIEnv,
7378         hardwareBuffer: *mut AHardwareBuffer,
7379     ) -> jobject;
7380 }
7381 pub const AKEYCODE_UNKNOWN: _bindgen_ty_7 = 0;
7382 pub const AKEYCODE_SOFT_LEFT: _bindgen_ty_7 = 1;
7383 pub const AKEYCODE_SOFT_RIGHT: _bindgen_ty_7 = 2;
7384 pub const AKEYCODE_HOME: _bindgen_ty_7 = 3;
7385 pub const AKEYCODE_BACK: _bindgen_ty_7 = 4;
7386 pub const AKEYCODE_CALL: _bindgen_ty_7 = 5;
7387 pub const AKEYCODE_ENDCALL: _bindgen_ty_7 = 6;
7388 pub const AKEYCODE_0: _bindgen_ty_7 = 7;
7389 pub const AKEYCODE_1: _bindgen_ty_7 = 8;
7390 pub const AKEYCODE_2: _bindgen_ty_7 = 9;
7391 pub const AKEYCODE_3: _bindgen_ty_7 = 10;
7392 pub const AKEYCODE_4: _bindgen_ty_7 = 11;
7393 pub const AKEYCODE_5: _bindgen_ty_7 = 12;
7394 pub const AKEYCODE_6: _bindgen_ty_7 = 13;
7395 pub const AKEYCODE_7: _bindgen_ty_7 = 14;
7396 pub const AKEYCODE_8: _bindgen_ty_7 = 15;
7397 pub const AKEYCODE_9: _bindgen_ty_7 = 16;
7398 pub const AKEYCODE_STAR: _bindgen_ty_7 = 17;
7399 pub const AKEYCODE_POUND: _bindgen_ty_7 = 18;
7400 pub const AKEYCODE_DPAD_UP: _bindgen_ty_7 = 19;
7401 pub const AKEYCODE_DPAD_DOWN: _bindgen_ty_7 = 20;
7402 pub const AKEYCODE_DPAD_LEFT: _bindgen_ty_7 = 21;
7403 pub const AKEYCODE_DPAD_RIGHT: _bindgen_ty_7 = 22;
7404 pub const AKEYCODE_DPAD_CENTER: _bindgen_ty_7 = 23;
7405 pub const AKEYCODE_VOLUME_UP: _bindgen_ty_7 = 24;
7406 pub const AKEYCODE_VOLUME_DOWN: _bindgen_ty_7 = 25;
7407 pub const AKEYCODE_POWER: _bindgen_ty_7 = 26;
7408 pub const AKEYCODE_CAMERA: _bindgen_ty_7 = 27;
7409 pub const AKEYCODE_CLEAR: _bindgen_ty_7 = 28;
7410 pub const AKEYCODE_A: _bindgen_ty_7 = 29;
7411 pub const AKEYCODE_B: _bindgen_ty_7 = 30;
7412 pub const AKEYCODE_C: _bindgen_ty_7 = 31;
7413 pub const AKEYCODE_D: _bindgen_ty_7 = 32;
7414 pub const AKEYCODE_E: _bindgen_ty_7 = 33;
7415 pub const AKEYCODE_F: _bindgen_ty_7 = 34;
7416 pub const AKEYCODE_G: _bindgen_ty_7 = 35;
7417 pub const AKEYCODE_H: _bindgen_ty_7 = 36;
7418 pub const AKEYCODE_I: _bindgen_ty_7 = 37;
7419 pub const AKEYCODE_J: _bindgen_ty_7 = 38;
7420 pub const AKEYCODE_K: _bindgen_ty_7 = 39;
7421 pub const AKEYCODE_L: _bindgen_ty_7 = 40;
7422 pub const AKEYCODE_M: _bindgen_ty_7 = 41;
7423 pub const AKEYCODE_N: _bindgen_ty_7 = 42;
7424 pub const AKEYCODE_O: _bindgen_ty_7 = 43;
7425 pub const AKEYCODE_P: _bindgen_ty_7 = 44;
7426 pub const AKEYCODE_Q: _bindgen_ty_7 = 45;
7427 pub const AKEYCODE_R: _bindgen_ty_7 = 46;
7428 pub const AKEYCODE_S: _bindgen_ty_7 = 47;
7429 pub const AKEYCODE_T: _bindgen_ty_7 = 48;
7430 pub const AKEYCODE_U: _bindgen_ty_7 = 49;
7431 pub const AKEYCODE_V: _bindgen_ty_7 = 50;
7432 pub const AKEYCODE_W: _bindgen_ty_7 = 51;
7433 pub const AKEYCODE_X: _bindgen_ty_7 = 52;
7434 pub const AKEYCODE_Y: _bindgen_ty_7 = 53;
7435 pub const AKEYCODE_Z: _bindgen_ty_7 = 54;
7436 pub const AKEYCODE_COMMA: _bindgen_ty_7 = 55;
7437 pub const AKEYCODE_PERIOD: _bindgen_ty_7 = 56;
7438 pub const AKEYCODE_ALT_LEFT: _bindgen_ty_7 = 57;
7439 pub const AKEYCODE_ALT_RIGHT: _bindgen_ty_7 = 58;
7440 pub const AKEYCODE_SHIFT_LEFT: _bindgen_ty_7 = 59;
7441 pub const AKEYCODE_SHIFT_RIGHT: _bindgen_ty_7 = 60;
7442 pub const AKEYCODE_TAB: _bindgen_ty_7 = 61;
7443 pub const AKEYCODE_SPACE: _bindgen_ty_7 = 62;
7444 pub const AKEYCODE_SYM: _bindgen_ty_7 = 63;
7445 pub const AKEYCODE_EXPLORER: _bindgen_ty_7 = 64;
7446 pub const AKEYCODE_ENVELOPE: _bindgen_ty_7 = 65;
7447 pub const AKEYCODE_ENTER: _bindgen_ty_7 = 66;
7448 pub const AKEYCODE_DEL: _bindgen_ty_7 = 67;
7449 pub const AKEYCODE_GRAVE: _bindgen_ty_7 = 68;
7450 pub const AKEYCODE_MINUS: _bindgen_ty_7 = 69;
7451 pub const AKEYCODE_EQUALS: _bindgen_ty_7 = 70;
7452 pub const AKEYCODE_LEFT_BRACKET: _bindgen_ty_7 = 71;
7453 pub const AKEYCODE_RIGHT_BRACKET: _bindgen_ty_7 = 72;
7454 pub const AKEYCODE_BACKSLASH: _bindgen_ty_7 = 73;
7455 pub const AKEYCODE_SEMICOLON: _bindgen_ty_7 = 74;
7456 pub const AKEYCODE_APOSTROPHE: _bindgen_ty_7 = 75;
7457 pub const AKEYCODE_SLASH: _bindgen_ty_7 = 76;
7458 pub const AKEYCODE_AT: _bindgen_ty_7 = 77;
7459 pub const AKEYCODE_NUM: _bindgen_ty_7 = 78;
7460 pub const AKEYCODE_HEADSETHOOK: _bindgen_ty_7 = 79;
7461 pub const AKEYCODE_FOCUS: _bindgen_ty_7 = 80;
7462 pub const AKEYCODE_PLUS: _bindgen_ty_7 = 81;
7463 pub const AKEYCODE_MENU: _bindgen_ty_7 = 82;
7464 pub const AKEYCODE_NOTIFICATION: _bindgen_ty_7 = 83;
7465 pub const AKEYCODE_SEARCH: _bindgen_ty_7 = 84;
7466 pub const AKEYCODE_MEDIA_PLAY_PAUSE: _bindgen_ty_7 = 85;
7467 pub const AKEYCODE_MEDIA_STOP: _bindgen_ty_7 = 86;
7468 pub const AKEYCODE_MEDIA_NEXT: _bindgen_ty_7 = 87;
7469 pub const AKEYCODE_MEDIA_PREVIOUS: _bindgen_ty_7 = 88;
7470 pub const AKEYCODE_MEDIA_REWIND: _bindgen_ty_7 = 89;
7471 pub const AKEYCODE_MEDIA_FAST_FORWARD: _bindgen_ty_7 = 90;
7472 pub const AKEYCODE_MUTE: _bindgen_ty_7 = 91;
7473 pub const AKEYCODE_PAGE_UP: _bindgen_ty_7 = 92;
7474 pub const AKEYCODE_PAGE_DOWN: _bindgen_ty_7 = 93;
7475 pub const AKEYCODE_PICTSYMBOLS: _bindgen_ty_7 = 94;
7476 pub const AKEYCODE_SWITCH_CHARSET: _bindgen_ty_7 = 95;
7477 pub const AKEYCODE_BUTTON_A: _bindgen_ty_7 = 96;
7478 pub const AKEYCODE_BUTTON_B: _bindgen_ty_7 = 97;
7479 pub const AKEYCODE_BUTTON_C: _bindgen_ty_7 = 98;
7480 pub const AKEYCODE_BUTTON_X: _bindgen_ty_7 = 99;
7481 pub const AKEYCODE_BUTTON_Y: _bindgen_ty_7 = 100;
7482 pub const AKEYCODE_BUTTON_Z: _bindgen_ty_7 = 101;
7483 pub const AKEYCODE_BUTTON_L1: _bindgen_ty_7 = 102;
7484 pub const AKEYCODE_BUTTON_R1: _bindgen_ty_7 = 103;
7485 pub const AKEYCODE_BUTTON_L2: _bindgen_ty_7 = 104;
7486 pub const AKEYCODE_BUTTON_R2: _bindgen_ty_7 = 105;
7487 pub const AKEYCODE_BUTTON_THUMBL: _bindgen_ty_7 = 106;
7488 pub const AKEYCODE_BUTTON_THUMBR: _bindgen_ty_7 = 107;
7489 pub const AKEYCODE_BUTTON_START: _bindgen_ty_7 = 108;
7490 pub const AKEYCODE_BUTTON_SELECT: _bindgen_ty_7 = 109;
7491 pub const AKEYCODE_BUTTON_MODE: _bindgen_ty_7 = 110;
7492 pub const AKEYCODE_ESCAPE: _bindgen_ty_7 = 111;
7493 pub const AKEYCODE_FORWARD_DEL: _bindgen_ty_7 = 112;
7494 pub const AKEYCODE_CTRL_LEFT: _bindgen_ty_7 = 113;
7495 pub const AKEYCODE_CTRL_RIGHT: _bindgen_ty_7 = 114;
7496 pub const AKEYCODE_CAPS_LOCK: _bindgen_ty_7 = 115;
7497 pub const AKEYCODE_SCROLL_LOCK: _bindgen_ty_7 = 116;
7498 pub const AKEYCODE_META_LEFT: _bindgen_ty_7 = 117;
7499 pub const AKEYCODE_META_RIGHT: _bindgen_ty_7 = 118;
7500 pub const AKEYCODE_FUNCTION: _bindgen_ty_7 = 119;
7501 pub const AKEYCODE_SYSRQ: _bindgen_ty_7 = 120;
7502 pub const AKEYCODE_BREAK: _bindgen_ty_7 = 121;
7503 pub const AKEYCODE_MOVE_HOME: _bindgen_ty_7 = 122;
7504 pub const AKEYCODE_MOVE_END: _bindgen_ty_7 = 123;
7505 pub const AKEYCODE_INSERT: _bindgen_ty_7 = 124;
7506 pub const AKEYCODE_FORWARD: _bindgen_ty_7 = 125;
7507 pub const AKEYCODE_MEDIA_PLAY: _bindgen_ty_7 = 126;
7508 pub const AKEYCODE_MEDIA_PAUSE: _bindgen_ty_7 = 127;
7509 pub const AKEYCODE_MEDIA_CLOSE: _bindgen_ty_7 = 128;
7510 pub const AKEYCODE_MEDIA_EJECT: _bindgen_ty_7 = 129;
7511 pub const AKEYCODE_MEDIA_RECORD: _bindgen_ty_7 = 130;
7512 pub const AKEYCODE_F1: _bindgen_ty_7 = 131;
7513 pub const AKEYCODE_F2: _bindgen_ty_7 = 132;
7514 pub const AKEYCODE_F3: _bindgen_ty_7 = 133;
7515 pub const AKEYCODE_F4: _bindgen_ty_7 = 134;
7516 pub const AKEYCODE_F5: _bindgen_ty_7 = 135;
7517 pub const AKEYCODE_F6: _bindgen_ty_7 = 136;
7518 pub const AKEYCODE_F7: _bindgen_ty_7 = 137;
7519 pub const AKEYCODE_F8: _bindgen_ty_7 = 138;
7520 pub const AKEYCODE_F9: _bindgen_ty_7 = 139;
7521 pub const AKEYCODE_F10: _bindgen_ty_7 = 140;
7522 pub const AKEYCODE_F11: _bindgen_ty_7 = 141;
7523 pub const AKEYCODE_F12: _bindgen_ty_7 = 142;
7524 pub const AKEYCODE_NUM_LOCK: _bindgen_ty_7 = 143;
7525 pub const AKEYCODE_NUMPAD_0: _bindgen_ty_7 = 144;
7526 pub const AKEYCODE_NUMPAD_1: _bindgen_ty_7 = 145;
7527 pub const AKEYCODE_NUMPAD_2: _bindgen_ty_7 = 146;
7528 pub const AKEYCODE_NUMPAD_3: _bindgen_ty_7 = 147;
7529 pub const AKEYCODE_NUMPAD_4: _bindgen_ty_7 = 148;
7530 pub const AKEYCODE_NUMPAD_5: _bindgen_ty_7 = 149;
7531 pub const AKEYCODE_NUMPAD_6: _bindgen_ty_7 = 150;
7532 pub const AKEYCODE_NUMPAD_7: _bindgen_ty_7 = 151;
7533 pub const AKEYCODE_NUMPAD_8: _bindgen_ty_7 = 152;
7534 pub const AKEYCODE_NUMPAD_9: _bindgen_ty_7 = 153;
7535 pub const AKEYCODE_NUMPAD_DIVIDE: _bindgen_ty_7 = 154;
7536 pub const AKEYCODE_NUMPAD_MULTIPLY: _bindgen_ty_7 = 155;
7537 pub const AKEYCODE_NUMPAD_SUBTRACT: _bindgen_ty_7 = 156;
7538 pub const AKEYCODE_NUMPAD_ADD: _bindgen_ty_7 = 157;
7539 pub const AKEYCODE_NUMPAD_DOT: _bindgen_ty_7 = 158;
7540 pub const AKEYCODE_NUMPAD_COMMA: _bindgen_ty_7 = 159;
7541 pub const AKEYCODE_NUMPAD_ENTER: _bindgen_ty_7 = 160;
7542 pub const AKEYCODE_NUMPAD_EQUALS: _bindgen_ty_7 = 161;
7543 pub const AKEYCODE_NUMPAD_LEFT_PAREN: _bindgen_ty_7 = 162;
7544 pub const AKEYCODE_NUMPAD_RIGHT_PAREN: _bindgen_ty_7 = 163;
7545 pub const AKEYCODE_VOLUME_MUTE: _bindgen_ty_7 = 164;
7546 pub const AKEYCODE_INFO: _bindgen_ty_7 = 165;
7547 pub const AKEYCODE_CHANNEL_UP: _bindgen_ty_7 = 166;
7548 pub const AKEYCODE_CHANNEL_DOWN: _bindgen_ty_7 = 167;
7549 pub const AKEYCODE_ZOOM_IN: _bindgen_ty_7 = 168;
7550 pub const AKEYCODE_ZOOM_OUT: _bindgen_ty_7 = 169;
7551 pub const AKEYCODE_TV: _bindgen_ty_7 = 170;
7552 pub const AKEYCODE_WINDOW: _bindgen_ty_7 = 171;
7553 pub const AKEYCODE_GUIDE: _bindgen_ty_7 = 172;
7554 pub const AKEYCODE_DVR: _bindgen_ty_7 = 173;
7555 pub const AKEYCODE_BOOKMARK: _bindgen_ty_7 = 174;
7556 pub const AKEYCODE_CAPTIONS: _bindgen_ty_7 = 175;
7557 pub const AKEYCODE_SETTINGS: _bindgen_ty_7 = 176;
7558 pub const AKEYCODE_TV_POWER: _bindgen_ty_7 = 177;
7559 pub const AKEYCODE_TV_INPUT: _bindgen_ty_7 = 178;
7560 pub const AKEYCODE_STB_POWER: _bindgen_ty_7 = 179;
7561 pub const AKEYCODE_STB_INPUT: _bindgen_ty_7 = 180;
7562 pub const AKEYCODE_AVR_POWER: _bindgen_ty_7 = 181;
7563 pub const AKEYCODE_AVR_INPUT: _bindgen_ty_7 = 182;
7564 pub const AKEYCODE_PROG_RED: _bindgen_ty_7 = 183;
7565 pub const AKEYCODE_PROG_GREEN: _bindgen_ty_7 = 184;
7566 pub const AKEYCODE_PROG_YELLOW: _bindgen_ty_7 = 185;
7567 pub const AKEYCODE_PROG_BLUE: _bindgen_ty_7 = 186;
7568 pub const AKEYCODE_APP_SWITCH: _bindgen_ty_7 = 187;
7569 pub const AKEYCODE_BUTTON_1: _bindgen_ty_7 = 188;
7570 pub const AKEYCODE_BUTTON_2: _bindgen_ty_7 = 189;
7571 pub const AKEYCODE_BUTTON_3: _bindgen_ty_7 = 190;
7572 pub const AKEYCODE_BUTTON_4: _bindgen_ty_7 = 191;
7573 pub const AKEYCODE_BUTTON_5: _bindgen_ty_7 = 192;
7574 pub const AKEYCODE_BUTTON_6: _bindgen_ty_7 = 193;
7575 pub const AKEYCODE_BUTTON_7: _bindgen_ty_7 = 194;
7576 pub const AKEYCODE_BUTTON_8: _bindgen_ty_7 = 195;
7577 pub const AKEYCODE_BUTTON_9: _bindgen_ty_7 = 196;
7578 pub const AKEYCODE_BUTTON_10: _bindgen_ty_7 = 197;
7579 pub const AKEYCODE_BUTTON_11: _bindgen_ty_7 = 198;
7580 pub const AKEYCODE_BUTTON_12: _bindgen_ty_7 = 199;
7581 pub const AKEYCODE_BUTTON_13: _bindgen_ty_7 = 200;
7582 pub const AKEYCODE_BUTTON_14: _bindgen_ty_7 = 201;
7583 pub const AKEYCODE_BUTTON_15: _bindgen_ty_7 = 202;
7584 pub const AKEYCODE_BUTTON_16: _bindgen_ty_7 = 203;
7585 pub const AKEYCODE_LANGUAGE_SWITCH: _bindgen_ty_7 = 204;
7586 pub const AKEYCODE_MANNER_MODE: _bindgen_ty_7 = 205;
7587 pub const AKEYCODE_3D_MODE: _bindgen_ty_7 = 206;
7588 pub const AKEYCODE_CONTACTS: _bindgen_ty_7 = 207;
7589 pub const AKEYCODE_CALENDAR: _bindgen_ty_7 = 208;
7590 pub const AKEYCODE_MUSIC: _bindgen_ty_7 = 209;
7591 pub const AKEYCODE_CALCULATOR: _bindgen_ty_7 = 210;
7592 pub const AKEYCODE_ZENKAKU_HANKAKU: _bindgen_ty_7 = 211;
7593 pub const AKEYCODE_EISU: _bindgen_ty_7 = 212;
7594 pub const AKEYCODE_MUHENKAN: _bindgen_ty_7 = 213;
7595 pub const AKEYCODE_HENKAN: _bindgen_ty_7 = 214;
7596 pub const AKEYCODE_KATAKANA_HIRAGANA: _bindgen_ty_7 = 215;
7597 pub const AKEYCODE_YEN: _bindgen_ty_7 = 216;
7598 pub const AKEYCODE_RO: _bindgen_ty_7 = 217;
7599 pub const AKEYCODE_KANA: _bindgen_ty_7 = 218;
7600 pub const AKEYCODE_ASSIST: _bindgen_ty_7 = 219;
7601 pub const AKEYCODE_BRIGHTNESS_DOWN: _bindgen_ty_7 = 220;
7602 pub const AKEYCODE_BRIGHTNESS_UP: _bindgen_ty_7 = 221;
7603 pub const AKEYCODE_MEDIA_AUDIO_TRACK: _bindgen_ty_7 = 222;
7604 pub const AKEYCODE_SLEEP: _bindgen_ty_7 = 223;
7605 pub const AKEYCODE_WAKEUP: _bindgen_ty_7 = 224;
7606 pub const AKEYCODE_PAIRING: _bindgen_ty_7 = 225;
7607 pub const AKEYCODE_MEDIA_TOP_MENU: _bindgen_ty_7 = 226;
7608 pub const AKEYCODE_11: _bindgen_ty_7 = 227;
7609 pub const AKEYCODE_12: _bindgen_ty_7 = 228;
7610 pub const AKEYCODE_LAST_CHANNEL: _bindgen_ty_7 = 229;
7611 pub const AKEYCODE_TV_DATA_SERVICE: _bindgen_ty_7 = 230;
7612 pub const AKEYCODE_VOICE_ASSIST: _bindgen_ty_7 = 231;
7613 pub const AKEYCODE_TV_RADIO_SERVICE: _bindgen_ty_7 = 232;
7614 pub const AKEYCODE_TV_TELETEXT: _bindgen_ty_7 = 233;
7615 pub const AKEYCODE_TV_NUMBER_ENTRY: _bindgen_ty_7 = 234;
7616 pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: _bindgen_ty_7 = 235;
7617 pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: _bindgen_ty_7 = 236;
7618 pub const AKEYCODE_TV_SATELLITE: _bindgen_ty_7 = 237;
7619 pub const AKEYCODE_TV_SATELLITE_BS: _bindgen_ty_7 = 238;
7620 pub const AKEYCODE_TV_SATELLITE_CS: _bindgen_ty_7 = 239;
7621 pub const AKEYCODE_TV_SATELLITE_SERVICE: _bindgen_ty_7 = 240;
7622 pub const AKEYCODE_TV_NETWORK: _bindgen_ty_7 = 241;
7623 pub const AKEYCODE_TV_ANTENNA_CABLE: _bindgen_ty_7 = 242;
7624 pub const AKEYCODE_TV_INPUT_HDMI_1: _bindgen_ty_7 = 243;
7625 pub const AKEYCODE_TV_INPUT_HDMI_2: _bindgen_ty_7 = 244;
7626 pub const AKEYCODE_TV_INPUT_HDMI_3: _bindgen_ty_7 = 245;
7627 pub const AKEYCODE_TV_INPUT_HDMI_4: _bindgen_ty_7 = 246;
7628 pub const AKEYCODE_TV_INPUT_COMPOSITE_1: _bindgen_ty_7 = 247;
7629 pub const AKEYCODE_TV_INPUT_COMPOSITE_2: _bindgen_ty_7 = 248;
7630 pub const AKEYCODE_TV_INPUT_COMPONENT_1: _bindgen_ty_7 = 249;
7631 pub const AKEYCODE_TV_INPUT_COMPONENT_2: _bindgen_ty_7 = 250;
7632 pub const AKEYCODE_TV_INPUT_VGA_1: _bindgen_ty_7 = 251;
7633 pub const AKEYCODE_TV_AUDIO_DESCRIPTION: _bindgen_ty_7 = 252;
7634 pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: _bindgen_ty_7 = 253;
7635 pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: _bindgen_ty_7 = 254;
7636 pub const AKEYCODE_TV_ZOOM_MODE: _bindgen_ty_7 = 255;
7637 pub const AKEYCODE_TV_CONTENTS_MENU: _bindgen_ty_7 = 256;
7638 pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: _bindgen_ty_7 = 257;
7639 pub const AKEYCODE_TV_TIMER_PROGRAMMING: _bindgen_ty_7 = 258;
7640 pub const AKEYCODE_HELP: _bindgen_ty_7 = 259;
7641 pub const AKEYCODE_NAVIGATE_PREVIOUS: _bindgen_ty_7 = 260;
7642 pub const AKEYCODE_NAVIGATE_NEXT: _bindgen_ty_7 = 261;
7643 pub const AKEYCODE_NAVIGATE_IN: _bindgen_ty_7 = 262;
7644 pub const AKEYCODE_NAVIGATE_OUT: _bindgen_ty_7 = 263;
7645 pub const AKEYCODE_STEM_PRIMARY: _bindgen_ty_7 = 264;
7646 pub const AKEYCODE_STEM_1: _bindgen_ty_7 = 265;
7647 pub const AKEYCODE_STEM_2: _bindgen_ty_7 = 266;
7648 pub const AKEYCODE_STEM_3: _bindgen_ty_7 = 267;
7649 pub const AKEYCODE_DPAD_UP_LEFT: _bindgen_ty_7 = 268;
7650 pub const AKEYCODE_DPAD_DOWN_LEFT: _bindgen_ty_7 = 269;
7651 pub const AKEYCODE_DPAD_UP_RIGHT: _bindgen_ty_7 = 270;
7652 pub const AKEYCODE_DPAD_DOWN_RIGHT: _bindgen_ty_7 = 271;
7653 pub const AKEYCODE_MEDIA_SKIP_FORWARD: _bindgen_ty_7 = 272;
7654 pub const AKEYCODE_MEDIA_SKIP_BACKWARD: _bindgen_ty_7 = 273;
7655 pub const AKEYCODE_MEDIA_STEP_FORWARD: _bindgen_ty_7 = 274;
7656 pub const AKEYCODE_MEDIA_STEP_BACKWARD: _bindgen_ty_7 = 275;
7657 pub const AKEYCODE_SOFT_SLEEP: _bindgen_ty_7 = 276;
7658 pub const AKEYCODE_CUT: _bindgen_ty_7 = 277;
7659 pub const AKEYCODE_COPY: _bindgen_ty_7 = 278;
7660 pub const AKEYCODE_PASTE: _bindgen_ty_7 = 279;
7661 pub const AKEYCODE_SYSTEM_NAVIGATION_UP: _bindgen_ty_7 = 280;
7662 pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: _bindgen_ty_7 = 281;
7663 pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: _bindgen_ty_7 = 282;
7664 pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: _bindgen_ty_7 = 283;
7665 pub const AKEYCODE_ALL_APPS: _bindgen_ty_7 = 284;
7666 pub const AKEYCODE_REFRESH: _bindgen_ty_7 = 285;
7667 pub const AKEYCODE_THUMBS_UP: _bindgen_ty_7 = 286;
7668 pub const AKEYCODE_THUMBS_DOWN: _bindgen_ty_7 = 287;
7669 pub const AKEYCODE_PROFILE_SWITCH: _bindgen_ty_7 = 288;
7670 pub type _bindgen_ty_7 = u32;
7671 #[repr(C)]
7672 #[derive(Debug, Copy, Clone)]
7673 pub struct ALooper {
7674     _unused: [u8; 0],
7675 }
7676 extern "C" {
ALooper_forThread() -> *mut ALooper7677     pub fn ALooper_forThread() -> *mut ALooper;
7678 }
7679 pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: _bindgen_ty_8 = 1;
7680 pub type _bindgen_ty_8 = u32;
7681 extern "C" {
ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper7682     pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
7683 }
7684 pub const ALOOPER_POLL_WAKE: _bindgen_ty_9 = -1;
7685 pub const ALOOPER_POLL_CALLBACK: _bindgen_ty_9 = -2;
7686 pub const ALOOPER_POLL_TIMEOUT: _bindgen_ty_9 = -3;
7687 pub const ALOOPER_POLL_ERROR: _bindgen_ty_9 = -4;
7688 pub type _bindgen_ty_9 = i32;
7689 extern "C" {
ALooper_acquire(looper: *mut ALooper)7690     pub fn ALooper_acquire(looper: *mut ALooper);
7691 }
7692 extern "C" {
ALooper_release(looper: *mut ALooper)7693     pub fn ALooper_release(looper: *mut ALooper);
7694 }
7695 pub const ALOOPER_EVENT_INPUT: _bindgen_ty_10 = 1;
7696 pub const ALOOPER_EVENT_OUTPUT: _bindgen_ty_10 = 2;
7697 pub const ALOOPER_EVENT_ERROR: _bindgen_ty_10 = 4;
7698 pub const ALOOPER_EVENT_HANGUP: _bindgen_ty_10 = 8;
7699 pub const ALOOPER_EVENT_INVALID: _bindgen_ty_10 = 16;
7700 pub type _bindgen_ty_10 = u32;
7701 pub type ALooper_callbackFunc = ::std::option::Option<
7702     unsafe extern "C" fn(
7703         fd: ::std::os::raw::c_int,
7704         events: ::std::os::raw::c_int,
7705         data: *mut ::std::os::raw::c_void,
7706     ) -> ::std::os::raw::c_int,
7707 >;
7708 extern "C" {
ALooper_pollOnce( timeoutMillis: ::std::os::raw::c_int, outFd: *mut ::std::os::raw::c_int, outEvents: *mut ::std::os::raw::c_int, outData: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int7709     pub fn ALooper_pollOnce(
7710         timeoutMillis: ::std::os::raw::c_int,
7711         outFd: *mut ::std::os::raw::c_int,
7712         outEvents: *mut ::std::os::raw::c_int,
7713         outData: *mut *mut ::std::os::raw::c_void,
7714     ) -> ::std::os::raw::c_int;
7715 }
7716 extern "C" {
ALooper_pollAll( timeoutMillis: ::std::os::raw::c_int, outFd: *mut ::std::os::raw::c_int, outEvents: *mut ::std::os::raw::c_int, outData: *mut *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int7717     pub fn ALooper_pollAll(
7718         timeoutMillis: ::std::os::raw::c_int,
7719         outFd: *mut ::std::os::raw::c_int,
7720         outEvents: *mut ::std::os::raw::c_int,
7721         outData: *mut *mut ::std::os::raw::c_void,
7722     ) -> ::std::os::raw::c_int;
7723 }
7724 extern "C" {
ALooper_wake(looper: *mut ALooper)7725     pub fn ALooper_wake(looper: *mut ALooper);
7726 }
7727 extern "C" {
ALooper_addFd( looper: *mut ALooper, fd: ::std::os::raw::c_int, ident: ::std::os::raw::c_int, events: ::std::os::raw::c_int, callback: ALooper_callbackFunc, data: *mut ::std::os::raw::c_void, ) -> ::std::os::raw::c_int7728     pub fn ALooper_addFd(
7729         looper: *mut ALooper,
7730         fd: ::std::os::raw::c_int,
7731         ident: ::std::os::raw::c_int,
7732         events: ::std::os::raw::c_int,
7733         callback: ALooper_callbackFunc,
7734         data: *mut ::std::os::raw::c_void,
7735     ) -> ::std::os::raw::c_int;
7736 }
7737 extern "C" {
ALooper_removeFd( looper: *mut ALooper, fd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int7738     pub fn ALooper_removeFd(
7739         looper: *mut ALooper,
7740         fd: ::std::os::raw::c_int,
7741     ) -> ::std::os::raw::c_int;
7742 }
7743 pub const AKEY_STATE_UNKNOWN: _bindgen_ty_11 = -1;
7744 pub const AKEY_STATE_UP: _bindgen_ty_11 = 0;
7745 pub const AKEY_STATE_DOWN: _bindgen_ty_11 = 1;
7746 pub const AKEY_STATE_VIRTUAL: _bindgen_ty_11 = 2;
7747 pub type _bindgen_ty_11 = i32;
7748 pub const AMETA_NONE: _bindgen_ty_12 = 0;
7749 pub const AMETA_ALT_ON: _bindgen_ty_12 = 2;
7750 pub const AMETA_ALT_LEFT_ON: _bindgen_ty_12 = 16;
7751 pub const AMETA_ALT_RIGHT_ON: _bindgen_ty_12 = 32;
7752 pub const AMETA_SHIFT_ON: _bindgen_ty_12 = 1;
7753 pub const AMETA_SHIFT_LEFT_ON: _bindgen_ty_12 = 64;
7754 pub const AMETA_SHIFT_RIGHT_ON: _bindgen_ty_12 = 128;
7755 pub const AMETA_SYM_ON: _bindgen_ty_12 = 4;
7756 pub const AMETA_FUNCTION_ON: _bindgen_ty_12 = 8;
7757 pub const AMETA_CTRL_ON: _bindgen_ty_12 = 4096;
7758 pub const AMETA_CTRL_LEFT_ON: _bindgen_ty_12 = 8192;
7759 pub const AMETA_CTRL_RIGHT_ON: _bindgen_ty_12 = 16384;
7760 pub const AMETA_META_ON: _bindgen_ty_12 = 65536;
7761 pub const AMETA_META_LEFT_ON: _bindgen_ty_12 = 131072;
7762 pub const AMETA_META_RIGHT_ON: _bindgen_ty_12 = 262144;
7763 pub const AMETA_CAPS_LOCK_ON: _bindgen_ty_12 = 1048576;
7764 pub const AMETA_NUM_LOCK_ON: _bindgen_ty_12 = 2097152;
7765 pub const AMETA_SCROLL_LOCK_ON: _bindgen_ty_12 = 4194304;
7766 pub type _bindgen_ty_12 = u32;
7767 #[repr(C)]
7768 #[derive(Debug, Copy, Clone)]
7769 pub struct AInputEvent {
7770     _unused: [u8; 0],
7771 }
7772 pub const AINPUT_EVENT_TYPE_KEY: _bindgen_ty_13 = 1;
7773 pub const AINPUT_EVENT_TYPE_MOTION: _bindgen_ty_13 = 2;
7774 pub const AINPUT_EVENT_TYPE_FOCUS: _bindgen_ty_13 = 3;
7775 pub type _bindgen_ty_13 = u32;
7776 pub const AKEY_EVENT_ACTION_DOWN: _bindgen_ty_14 = 0;
7777 pub const AKEY_EVENT_ACTION_UP: _bindgen_ty_14 = 1;
7778 pub const AKEY_EVENT_ACTION_MULTIPLE: _bindgen_ty_14 = 2;
7779 pub type _bindgen_ty_14 = u32;
7780 pub const AKEY_EVENT_FLAG_WOKE_HERE: _bindgen_ty_15 = 1;
7781 pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: _bindgen_ty_15 = 2;
7782 pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: _bindgen_ty_15 = 4;
7783 pub const AKEY_EVENT_FLAG_FROM_SYSTEM: _bindgen_ty_15 = 8;
7784 pub const AKEY_EVENT_FLAG_EDITOR_ACTION: _bindgen_ty_15 = 16;
7785 pub const AKEY_EVENT_FLAG_CANCELED: _bindgen_ty_15 = 32;
7786 pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: _bindgen_ty_15 = 64;
7787 pub const AKEY_EVENT_FLAG_LONG_PRESS: _bindgen_ty_15 = 128;
7788 pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: _bindgen_ty_15 = 256;
7789 pub const AKEY_EVENT_FLAG_TRACKING: _bindgen_ty_15 = 512;
7790 pub const AKEY_EVENT_FLAG_FALLBACK: _bindgen_ty_15 = 1024;
7791 pub type _bindgen_ty_15 = u32;
7792 pub const AMOTION_EVENT_ACTION_MASK: _bindgen_ty_16 = 255;
7793 pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: _bindgen_ty_16 = 65280;
7794 pub const AMOTION_EVENT_ACTION_DOWN: _bindgen_ty_16 = 0;
7795 pub const AMOTION_EVENT_ACTION_UP: _bindgen_ty_16 = 1;
7796 pub const AMOTION_EVENT_ACTION_MOVE: _bindgen_ty_16 = 2;
7797 pub const AMOTION_EVENT_ACTION_CANCEL: _bindgen_ty_16 = 3;
7798 pub const AMOTION_EVENT_ACTION_OUTSIDE: _bindgen_ty_16 = 4;
7799 pub const AMOTION_EVENT_ACTION_POINTER_DOWN: _bindgen_ty_16 = 5;
7800 pub const AMOTION_EVENT_ACTION_POINTER_UP: _bindgen_ty_16 = 6;
7801 pub const AMOTION_EVENT_ACTION_HOVER_MOVE: _bindgen_ty_16 = 7;
7802 pub const AMOTION_EVENT_ACTION_SCROLL: _bindgen_ty_16 = 8;
7803 pub const AMOTION_EVENT_ACTION_HOVER_ENTER: _bindgen_ty_16 = 9;
7804 pub const AMOTION_EVENT_ACTION_HOVER_EXIT: _bindgen_ty_16 = 10;
7805 pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: _bindgen_ty_16 = 11;
7806 pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: _bindgen_ty_16 = 12;
7807 pub type _bindgen_ty_16 = u32;
7808 pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: _bindgen_ty_17 = 1;
7809 pub type _bindgen_ty_17 = u32;
7810 pub const AMOTION_EVENT_EDGE_FLAG_NONE: _bindgen_ty_18 = 0;
7811 pub const AMOTION_EVENT_EDGE_FLAG_TOP: _bindgen_ty_18 = 1;
7812 pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: _bindgen_ty_18 = 2;
7813 pub const AMOTION_EVENT_EDGE_FLAG_LEFT: _bindgen_ty_18 = 4;
7814 pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: _bindgen_ty_18 = 8;
7815 pub type _bindgen_ty_18 = u32;
7816 pub const AMOTION_EVENT_AXIS_X: _bindgen_ty_19 = 0;
7817 pub const AMOTION_EVENT_AXIS_Y: _bindgen_ty_19 = 1;
7818 pub const AMOTION_EVENT_AXIS_PRESSURE: _bindgen_ty_19 = 2;
7819 pub const AMOTION_EVENT_AXIS_SIZE: _bindgen_ty_19 = 3;
7820 pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: _bindgen_ty_19 = 4;
7821 pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: _bindgen_ty_19 = 5;
7822 pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: _bindgen_ty_19 = 6;
7823 pub const AMOTION_EVENT_AXIS_TOOL_MINOR: _bindgen_ty_19 = 7;
7824 pub const AMOTION_EVENT_AXIS_ORIENTATION: _bindgen_ty_19 = 8;
7825 pub const AMOTION_EVENT_AXIS_VSCROLL: _bindgen_ty_19 = 9;
7826 pub const AMOTION_EVENT_AXIS_HSCROLL: _bindgen_ty_19 = 10;
7827 pub const AMOTION_EVENT_AXIS_Z: _bindgen_ty_19 = 11;
7828 pub const AMOTION_EVENT_AXIS_RX: _bindgen_ty_19 = 12;
7829 pub const AMOTION_EVENT_AXIS_RY: _bindgen_ty_19 = 13;
7830 pub const AMOTION_EVENT_AXIS_RZ: _bindgen_ty_19 = 14;
7831 pub const AMOTION_EVENT_AXIS_HAT_X: _bindgen_ty_19 = 15;
7832 pub const AMOTION_EVENT_AXIS_HAT_Y: _bindgen_ty_19 = 16;
7833 pub const AMOTION_EVENT_AXIS_LTRIGGER: _bindgen_ty_19 = 17;
7834 pub const AMOTION_EVENT_AXIS_RTRIGGER: _bindgen_ty_19 = 18;
7835 pub const AMOTION_EVENT_AXIS_THROTTLE: _bindgen_ty_19 = 19;
7836 pub const AMOTION_EVENT_AXIS_RUDDER: _bindgen_ty_19 = 20;
7837 pub const AMOTION_EVENT_AXIS_WHEEL: _bindgen_ty_19 = 21;
7838 pub const AMOTION_EVENT_AXIS_GAS: _bindgen_ty_19 = 22;
7839 pub const AMOTION_EVENT_AXIS_BRAKE: _bindgen_ty_19 = 23;
7840 pub const AMOTION_EVENT_AXIS_DISTANCE: _bindgen_ty_19 = 24;
7841 pub const AMOTION_EVENT_AXIS_TILT: _bindgen_ty_19 = 25;
7842 pub const AMOTION_EVENT_AXIS_SCROLL: _bindgen_ty_19 = 26;
7843 pub const AMOTION_EVENT_AXIS_RELATIVE_X: _bindgen_ty_19 = 27;
7844 pub const AMOTION_EVENT_AXIS_RELATIVE_Y: _bindgen_ty_19 = 28;
7845 pub const AMOTION_EVENT_AXIS_GENERIC_1: _bindgen_ty_19 = 32;
7846 pub const AMOTION_EVENT_AXIS_GENERIC_2: _bindgen_ty_19 = 33;
7847 pub const AMOTION_EVENT_AXIS_GENERIC_3: _bindgen_ty_19 = 34;
7848 pub const AMOTION_EVENT_AXIS_GENERIC_4: _bindgen_ty_19 = 35;
7849 pub const AMOTION_EVENT_AXIS_GENERIC_5: _bindgen_ty_19 = 36;
7850 pub const AMOTION_EVENT_AXIS_GENERIC_6: _bindgen_ty_19 = 37;
7851 pub const AMOTION_EVENT_AXIS_GENERIC_7: _bindgen_ty_19 = 38;
7852 pub const AMOTION_EVENT_AXIS_GENERIC_8: _bindgen_ty_19 = 39;
7853 pub const AMOTION_EVENT_AXIS_GENERIC_9: _bindgen_ty_19 = 40;
7854 pub const AMOTION_EVENT_AXIS_GENERIC_10: _bindgen_ty_19 = 41;
7855 pub const AMOTION_EVENT_AXIS_GENERIC_11: _bindgen_ty_19 = 42;
7856 pub const AMOTION_EVENT_AXIS_GENERIC_12: _bindgen_ty_19 = 43;
7857 pub const AMOTION_EVENT_AXIS_GENERIC_13: _bindgen_ty_19 = 44;
7858 pub const AMOTION_EVENT_AXIS_GENERIC_14: _bindgen_ty_19 = 45;
7859 pub const AMOTION_EVENT_AXIS_GENERIC_15: _bindgen_ty_19 = 46;
7860 pub const AMOTION_EVENT_AXIS_GENERIC_16: _bindgen_ty_19 = 47;
7861 pub type _bindgen_ty_19 = u32;
7862 pub const AMOTION_EVENT_BUTTON_PRIMARY: _bindgen_ty_20 = 1;
7863 pub const AMOTION_EVENT_BUTTON_SECONDARY: _bindgen_ty_20 = 2;
7864 pub const AMOTION_EVENT_BUTTON_TERTIARY: _bindgen_ty_20 = 4;
7865 pub const AMOTION_EVENT_BUTTON_BACK: _bindgen_ty_20 = 8;
7866 pub const AMOTION_EVENT_BUTTON_FORWARD: _bindgen_ty_20 = 16;
7867 pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: _bindgen_ty_20 = 32;
7868 pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: _bindgen_ty_20 = 64;
7869 pub type _bindgen_ty_20 = u32;
7870 pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_21 = 0;
7871 pub const AMOTION_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_21 = 1;
7872 pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: _bindgen_ty_21 = 2;
7873 pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_21 = 3;
7874 pub const AMOTION_EVENT_TOOL_TYPE_ERASER: _bindgen_ty_21 = 4;
7875 pub const AMOTION_EVENT_TOOL_TYPE_PALM: _bindgen_ty_21 = 5;
7876 pub type _bindgen_ty_21 = u32;
7877 pub const AINPUT_SOURCE_CLASS_MASK: _bindgen_ty_22 = 255;
7878 pub const AINPUT_SOURCE_CLASS_NONE: _bindgen_ty_22 = 0;
7879 pub const AINPUT_SOURCE_CLASS_BUTTON: _bindgen_ty_22 = 1;
7880 pub const AINPUT_SOURCE_CLASS_POINTER: _bindgen_ty_22 = 2;
7881 pub const AINPUT_SOURCE_CLASS_NAVIGATION: _bindgen_ty_22 = 4;
7882 pub const AINPUT_SOURCE_CLASS_POSITION: _bindgen_ty_22 = 8;
7883 pub const AINPUT_SOURCE_CLASS_JOYSTICK: _bindgen_ty_22 = 16;
7884 pub type _bindgen_ty_22 = u32;
7885 pub const AINPUT_SOURCE_UNKNOWN: _bindgen_ty_23 = 0;
7886 pub const AINPUT_SOURCE_KEYBOARD: _bindgen_ty_23 = 257;
7887 pub const AINPUT_SOURCE_DPAD: _bindgen_ty_23 = 513;
7888 pub const AINPUT_SOURCE_GAMEPAD: _bindgen_ty_23 = 1025;
7889 pub const AINPUT_SOURCE_TOUCHSCREEN: _bindgen_ty_23 = 4098;
7890 pub const AINPUT_SOURCE_MOUSE: _bindgen_ty_23 = 8194;
7891 pub const AINPUT_SOURCE_STYLUS: _bindgen_ty_23 = 16386;
7892 pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: _bindgen_ty_23 = 49154;
7893 pub const AINPUT_SOURCE_TRACKBALL: _bindgen_ty_23 = 65540;
7894 pub const AINPUT_SOURCE_MOUSE_RELATIVE: _bindgen_ty_23 = 131076;
7895 pub const AINPUT_SOURCE_TOUCHPAD: _bindgen_ty_23 = 1048584;
7896 pub const AINPUT_SOURCE_TOUCH_NAVIGATION: _bindgen_ty_23 = 2097152;
7897 pub const AINPUT_SOURCE_JOYSTICK: _bindgen_ty_23 = 16777232;
7898 pub const AINPUT_SOURCE_ROTARY_ENCODER: _bindgen_ty_23 = 4194304;
7899 pub const AINPUT_SOURCE_ANY: _bindgen_ty_23 = 4294967040;
7900 pub type _bindgen_ty_23 = u32;
7901 pub const AINPUT_KEYBOARD_TYPE_NONE: _bindgen_ty_24 = 0;
7902 pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: _bindgen_ty_24 = 1;
7903 pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: _bindgen_ty_24 = 2;
7904 pub type _bindgen_ty_24 = u32;
7905 pub const AINPUT_MOTION_RANGE_X: _bindgen_ty_25 = 0;
7906 pub const AINPUT_MOTION_RANGE_Y: _bindgen_ty_25 = 1;
7907 pub const AINPUT_MOTION_RANGE_PRESSURE: _bindgen_ty_25 = 2;
7908 pub const AINPUT_MOTION_RANGE_SIZE: _bindgen_ty_25 = 3;
7909 pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: _bindgen_ty_25 = 4;
7910 pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: _bindgen_ty_25 = 5;
7911 pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: _bindgen_ty_25 = 6;
7912 pub const AINPUT_MOTION_RANGE_TOOL_MINOR: _bindgen_ty_25 = 7;
7913 pub const AINPUT_MOTION_RANGE_ORIENTATION: _bindgen_ty_25 = 8;
7914 pub type _bindgen_ty_25 = u32;
7915 extern "C" {
AInputEvent_getType(event: *const AInputEvent) -> i327916     pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
7917 }
7918 extern "C" {
AInputEvent_getDeviceId(event: *const AInputEvent) -> i327919     pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
7920 }
7921 extern "C" {
AInputEvent_getSource(event: *const AInputEvent) -> i327922     pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
7923 }
7924 extern "C" {
AKeyEvent_getAction(key_event: *const AInputEvent) -> i327925     pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
7926 }
7927 extern "C" {
AKeyEvent_getFlags(key_event: *const AInputEvent) -> i327928     pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
7929 }
7930 extern "C" {
AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i327931     pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
7932 }
7933 extern "C" {
AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i327934     pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
7935 }
7936 extern "C" {
AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i327937     pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
7938 }
7939 extern "C" {
AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i327940     pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
7941 }
7942 extern "C" {
AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i647943     pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
7944 }
7945 extern "C" {
AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i647946     pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
7947 }
7948 extern "C" {
AMotionEvent_getAction(motion_event: *const AInputEvent) -> i327949     pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
7950 }
7951 extern "C" {
AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i327952     pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
7953 }
7954 extern "C" {
AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i327955     pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
7956 }
7957 extern "C" {
AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i327958     pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
7959 }
7960 extern "C" {
AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i327961     pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
7962 }
7963 extern "C" {
AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i647964     pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
7965 }
7966 extern "C" {
AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i647967     pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
7968 }
7969 extern "C" {
AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f327970     pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
7971 }
7972 extern "C" {
AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f327973     pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
7974 }
7975 extern "C" {
AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f327976     pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
7977 }
7978 extern "C" {
AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f327979     pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
7980 }
7981 extern "C" {
AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> size_t7982     pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> size_t;
7983 }
7984 extern "C" {
AMotionEvent_getPointerId( motion_event: *const AInputEvent, pointer_index: size_t, ) -> i327985     pub fn AMotionEvent_getPointerId(
7986         motion_event: *const AInputEvent,
7987         pointer_index: size_t,
7988     ) -> i32;
7989 }
7990 extern "C" {
AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: size_t) -> i327991     pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: size_t)
7992         -> i32;
7993 }
7994 extern "C" {
AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: size_t) -> f327995     pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
7996 }
7997 extern "C" {
AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: size_t) -> f327998     pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
7999 }
8000 extern "C" {
AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: size_t) -> f328001     pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
8002 }
8003 extern "C" {
AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: size_t) -> f328004     pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
8005 }
8006 extern "C" {
AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: size_t) -> f328007     pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: size_t)
8008         -> f32;
8009 }
8010 extern "C" {
AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: size_t) -> f328011     pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: size_t) -> f32;
8012 }
8013 extern "C" {
AMotionEvent_getTouchMajor( motion_event: *const AInputEvent, pointer_index: size_t, ) -> f328014     pub fn AMotionEvent_getTouchMajor(
8015         motion_event: *const AInputEvent,
8016         pointer_index: size_t,
8017     ) -> f32;
8018 }
8019 extern "C" {
AMotionEvent_getTouchMinor( motion_event: *const AInputEvent, pointer_index: size_t, ) -> f328020     pub fn AMotionEvent_getTouchMinor(
8021         motion_event: *const AInputEvent,
8022         pointer_index: size_t,
8023     ) -> f32;
8024 }
8025 extern "C" {
AMotionEvent_getToolMajor( motion_event: *const AInputEvent, pointer_index: size_t, ) -> f328026     pub fn AMotionEvent_getToolMajor(
8027         motion_event: *const AInputEvent,
8028         pointer_index: size_t,
8029     ) -> f32;
8030 }
8031 extern "C" {
AMotionEvent_getToolMinor( motion_event: *const AInputEvent, pointer_index: size_t, ) -> f328032     pub fn AMotionEvent_getToolMinor(
8033         motion_event: *const AInputEvent,
8034         pointer_index: size_t,
8035     ) -> f32;
8036 }
8037 extern "C" {
AMotionEvent_getOrientation( motion_event: *const AInputEvent, pointer_index: size_t, ) -> f328038     pub fn AMotionEvent_getOrientation(
8039         motion_event: *const AInputEvent,
8040         pointer_index: size_t,
8041     ) -> f32;
8042 }
8043 extern "C" {
AMotionEvent_getAxisValue( motion_event: *const AInputEvent, axis: i32, pointer_index: size_t, ) -> f328044     pub fn AMotionEvent_getAxisValue(
8045         motion_event: *const AInputEvent,
8046         axis: i32,
8047         pointer_index: size_t,
8048     ) -> f32;
8049 }
8050 extern "C" {
AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> size_t8051     pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> size_t;
8052 }
8053 extern "C" {
AMotionEvent_getHistoricalEventTime( motion_event: *const AInputEvent, history_index: size_t, ) -> i648054     pub fn AMotionEvent_getHistoricalEventTime(
8055         motion_event: *const AInputEvent,
8056         history_index: size_t,
8057     ) -> i64;
8058 }
8059 extern "C" {
AMotionEvent_getHistoricalRawX( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328060     pub fn AMotionEvent_getHistoricalRawX(
8061         motion_event: *const AInputEvent,
8062         pointer_index: size_t,
8063         history_index: size_t,
8064     ) -> f32;
8065 }
8066 extern "C" {
AMotionEvent_getHistoricalRawY( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328067     pub fn AMotionEvent_getHistoricalRawY(
8068         motion_event: *const AInputEvent,
8069         pointer_index: size_t,
8070         history_index: size_t,
8071     ) -> f32;
8072 }
8073 extern "C" {
AMotionEvent_getHistoricalX( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328074     pub fn AMotionEvent_getHistoricalX(
8075         motion_event: *const AInputEvent,
8076         pointer_index: size_t,
8077         history_index: size_t,
8078     ) -> f32;
8079 }
8080 extern "C" {
AMotionEvent_getHistoricalY( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328081     pub fn AMotionEvent_getHistoricalY(
8082         motion_event: *const AInputEvent,
8083         pointer_index: size_t,
8084         history_index: size_t,
8085     ) -> f32;
8086 }
8087 extern "C" {
AMotionEvent_getHistoricalPressure( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328088     pub fn AMotionEvent_getHistoricalPressure(
8089         motion_event: *const AInputEvent,
8090         pointer_index: size_t,
8091         history_index: size_t,
8092     ) -> f32;
8093 }
8094 extern "C" {
AMotionEvent_getHistoricalSize( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328095     pub fn AMotionEvent_getHistoricalSize(
8096         motion_event: *const AInputEvent,
8097         pointer_index: size_t,
8098         history_index: size_t,
8099     ) -> f32;
8100 }
8101 extern "C" {
AMotionEvent_getHistoricalTouchMajor( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328102     pub fn AMotionEvent_getHistoricalTouchMajor(
8103         motion_event: *const AInputEvent,
8104         pointer_index: size_t,
8105         history_index: size_t,
8106     ) -> f32;
8107 }
8108 extern "C" {
AMotionEvent_getHistoricalTouchMinor( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328109     pub fn AMotionEvent_getHistoricalTouchMinor(
8110         motion_event: *const AInputEvent,
8111         pointer_index: size_t,
8112         history_index: size_t,
8113     ) -> f32;
8114 }
8115 extern "C" {
AMotionEvent_getHistoricalToolMajor( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328116     pub fn AMotionEvent_getHistoricalToolMajor(
8117         motion_event: *const AInputEvent,
8118         pointer_index: size_t,
8119         history_index: size_t,
8120     ) -> f32;
8121 }
8122 extern "C" {
AMotionEvent_getHistoricalToolMinor( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328123     pub fn AMotionEvent_getHistoricalToolMinor(
8124         motion_event: *const AInputEvent,
8125         pointer_index: size_t,
8126         history_index: size_t,
8127     ) -> f32;
8128 }
8129 extern "C" {
AMotionEvent_getHistoricalOrientation( motion_event: *const AInputEvent, pointer_index: size_t, history_index: size_t, ) -> f328130     pub fn AMotionEvent_getHistoricalOrientation(
8131         motion_event: *const AInputEvent,
8132         pointer_index: size_t,
8133         history_index: size_t,
8134     ) -> f32;
8135 }
8136 extern "C" {
AMotionEvent_getHistoricalAxisValue( motion_event: *const AInputEvent, axis: i32, pointer_index: size_t, history_index: size_t, ) -> f328137     pub fn AMotionEvent_getHistoricalAxisValue(
8138         motion_event: *const AInputEvent,
8139         axis: i32,
8140         pointer_index: size_t,
8141         history_index: size_t,
8142     ) -> f32;
8143 }
8144 #[repr(C)]
8145 #[derive(Debug, Copy, Clone)]
8146 pub struct AInputQueue {
8147     _unused: [u8; 0],
8148 }
8149 extern "C" {
AInputQueue_attachLooper( queue: *mut AInputQueue, looper: *mut ALooper, ident: ::std::os::raw::c_int, callback: ALooper_callbackFunc, data: *mut ::std::os::raw::c_void, )8150     pub fn AInputQueue_attachLooper(
8151         queue: *mut AInputQueue,
8152         looper: *mut ALooper,
8153         ident: ::std::os::raw::c_int,
8154         callback: ALooper_callbackFunc,
8155         data: *mut ::std::os::raw::c_void,
8156     );
8157 }
8158 extern "C" {
AInputQueue_detachLooper(queue: *mut AInputQueue)8159     pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
8160 }
8161 extern "C" {
AInputQueue_hasEvents(queue: *mut AInputQueue) -> i328162     pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
8163 }
8164 extern "C" {
AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i328165     pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
8166 }
8167 extern "C" {
AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i328168     pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
8169 }
8170 extern "C" {
AInputQueue_finishEvent( queue: *mut AInputQueue, event: *mut AInputEvent, handled: ::std::os::raw::c_int, )8171     pub fn AInputQueue_finishEvent(
8172         queue: *mut AInputQueue,
8173         event: *mut AInputEvent,
8174         handled: ::std::os::raw::c_int,
8175     );
8176 }
8177 pub const android_LogPriority_ANDROID_LOG_UNKNOWN: android_LogPriority = 0;
8178 pub const android_LogPriority_ANDROID_LOG_DEFAULT: android_LogPriority = 1;
8179 pub const android_LogPriority_ANDROID_LOG_VERBOSE: android_LogPriority = 2;
8180 pub const android_LogPriority_ANDROID_LOG_DEBUG: android_LogPriority = 3;
8181 pub const android_LogPriority_ANDROID_LOG_INFO: android_LogPriority = 4;
8182 pub const android_LogPriority_ANDROID_LOG_WARN: android_LogPriority = 5;
8183 pub const android_LogPriority_ANDROID_LOG_ERROR: android_LogPriority = 6;
8184 pub const android_LogPriority_ANDROID_LOG_FATAL: android_LogPriority = 7;
8185 pub const android_LogPriority_ANDROID_LOG_SILENT: android_LogPriority = 8;
8186 pub type android_LogPriority = u32;
8187 extern "C" {
__android_log_write( prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, text: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int8188     pub fn __android_log_write(
8189         prio: ::std::os::raw::c_int,
8190         tag: *const ::std::os::raw::c_char,
8191         text: *const ::std::os::raw::c_char,
8192     ) -> ::std::os::raw::c_int;
8193 }
8194 extern "C" {
__android_log_print( prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int8195     pub fn __android_log_print(
8196         prio: ::std::os::raw::c_int,
8197         tag: *const ::std::os::raw::c_char,
8198         fmt: *const ::std::os::raw::c_char,
8199         ...
8200     ) -> ::std::os::raw::c_int;
8201 }
8202 extern "C" {
__android_log_vprint( prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, fmt: *const ::std::os::raw::c_char, ap: va_list, ) -> ::std::os::raw::c_int8203     pub fn __android_log_vprint(
8204         prio: ::std::os::raw::c_int,
8205         tag: *const ::std::os::raw::c_char,
8206         fmt: *const ::std::os::raw::c_char,
8207         ap: va_list,
8208     ) -> ::std::os::raw::c_int;
8209 }
8210 extern "C" {
__android_log_assert( cond: *const ::std::os::raw::c_char, tag: *const ::std::os::raw::c_char, fmt: *const ::std::os::raw::c_char, ... )8211     pub fn __android_log_assert(
8212         cond: *const ::std::os::raw::c_char,
8213         tag: *const ::std::os::raw::c_char,
8214         fmt: *const ::std::os::raw::c_char,
8215         ...
8216     );
8217 }
8218 pub const log_id_LOG_ID_MIN: log_id = 0;
8219 pub const log_id_LOG_ID_MAIN: log_id = 0;
8220 pub const log_id_LOG_ID_RADIO: log_id = 1;
8221 pub const log_id_LOG_ID_EVENTS: log_id = 2;
8222 pub const log_id_LOG_ID_SYSTEM: log_id = 3;
8223 pub const log_id_LOG_ID_CRASH: log_id = 4;
8224 pub const log_id_LOG_ID_STATS: log_id = 5;
8225 pub const log_id_LOG_ID_SECURITY: log_id = 6;
8226 pub const log_id_LOG_ID_KERNEL: log_id = 7;
8227 pub const log_id_LOG_ID_MAX: log_id = 8;
8228 pub const log_id_LOG_ID_DEFAULT: log_id = 2147483647;
8229 pub type log_id = u32;
8230 pub use self::log_id as log_id_t;
8231 extern "C" {
__android_log_buf_write( bufID: ::std::os::raw::c_int, prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, text: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int8232     pub fn __android_log_buf_write(
8233         bufID: ::std::os::raw::c_int,
8234         prio: ::std::os::raw::c_int,
8235         tag: *const ::std::os::raw::c_char,
8236         text: *const ::std::os::raw::c_char,
8237     ) -> ::std::os::raw::c_int;
8238 }
8239 extern "C" {
__android_log_buf_print( bufID: ::std::os::raw::c_int, prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int8240     pub fn __android_log_buf_print(
8241         bufID: ::std::os::raw::c_int,
8242         prio: ::std::os::raw::c_int,
8243         tag: *const ::std::os::raw::c_char,
8244         fmt: *const ::std::os::raw::c_char,
8245         ...
8246     ) -> ::std::os::raw::c_int;
8247 }
8248 #[repr(C)]
8249 #[derive(Debug, Copy, Clone)]
8250 pub struct __android_log_message {
8251     pub struct_size: size_t,
8252     pub buffer_id: i32,
8253     pub priority: i32,
8254     pub tag: *const ::std::os::raw::c_char,
8255     pub file: *const ::std::os::raw::c_char,
8256     pub line: u32,
8257     pub message: *const ::std::os::raw::c_char,
8258 }
8259 #[test]
bindgen_test_layout___android_log_message()8260 fn bindgen_test_layout___android_log_message() {
8261     assert_eq!(
8262         ::std::mem::size_of::<__android_log_message>(),
8263         28usize,
8264         concat!("Size of: ", stringify!(__android_log_message))
8265     );
8266     assert_eq!(
8267         ::std::mem::align_of::<__android_log_message>(),
8268         4usize,
8269         concat!("Alignment of ", stringify!(__android_log_message))
8270     );
8271     assert_eq!(
8272         unsafe {
8273             &(*(::std::ptr::null::<__android_log_message>())).struct_size as *const _ as usize
8274         },
8275         0usize,
8276         concat!(
8277             "Offset of field: ",
8278             stringify!(__android_log_message),
8279             "::",
8280             stringify!(struct_size)
8281         )
8282     );
8283     assert_eq!(
8284         unsafe { &(*(::std::ptr::null::<__android_log_message>())).buffer_id as *const _ as usize },
8285         4usize,
8286         concat!(
8287             "Offset of field: ",
8288             stringify!(__android_log_message),
8289             "::",
8290             stringify!(buffer_id)
8291         )
8292     );
8293     assert_eq!(
8294         unsafe { &(*(::std::ptr::null::<__android_log_message>())).priority as *const _ as usize },
8295         8usize,
8296         concat!(
8297             "Offset of field: ",
8298             stringify!(__android_log_message),
8299             "::",
8300             stringify!(priority)
8301         )
8302     );
8303     assert_eq!(
8304         unsafe { &(*(::std::ptr::null::<__android_log_message>())).tag as *const _ as usize },
8305         12usize,
8306         concat!(
8307             "Offset of field: ",
8308             stringify!(__android_log_message),
8309             "::",
8310             stringify!(tag)
8311         )
8312     );
8313     assert_eq!(
8314         unsafe { &(*(::std::ptr::null::<__android_log_message>())).file as *const _ as usize },
8315         16usize,
8316         concat!(
8317             "Offset of field: ",
8318             stringify!(__android_log_message),
8319             "::",
8320             stringify!(file)
8321         )
8322     );
8323     assert_eq!(
8324         unsafe { &(*(::std::ptr::null::<__android_log_message>())).line as *const _ as usize },
8325         20usize,
8326         concat!(
8327             "Offset of field: ",
8328             stringify!(__android_log_message),
8329             "::",
8330             stringify!(line)
8331         )
8332     );
8333     assert_eq!(
8334         unsafe { &(*(::std::ptr::null::<__android_log_message>())).message as *const _ as usize },
8335         24usize,
8336         concat!(
8337             "Offset of field: ",
8338             stringify!(__android_log_message),
8339             "::",
8340             stringify!(message)
8341         )
8342     );
8343 }
8344 pub type __android_logger_function =
8345     ::std::option::Option<unsafe extern "C" fn(log_message: *const __android_log_message)>;
8346 pub type __android_aborter_function =
8347     ::std::option::Option<unsafe extern "C" fn(abort_message: *const ::std::os::raw::c_char)>;
8348 extern "C" {
__android_log_write_log_message(log_message: *mut __android_log_message)8349     pub fn __android_log_write_log_message(log_message: *mut __android_log_message);
8350 }
8351 extern "C" {
__android_log_set_logger(logger: __android_logger_function)8352     pub fn __android_log_set_logger(logger: __android_logger_function);
8353 }
8354 extern "C" {
__android_log_logd_logger(log_message: *const __android_log_message)8355     pub fn __android_log_logd_logger(log_message: *const __android_log_message);
8356 }
8357 extern "C" {
__android_log_stderr_logger(log_message: *const __android_log_message)8358     pub fn __android_log_stderr_logger(log_message: *const __android_log_message);
8359 }
8360 extern "C" {
__android_log_set_aborter(aborter: __android_aborter_function)8361     pub fn __android_log_set_aborter(aborter: __android_aborter_function);
8362 }
8363 extern "C" {
__android_log_call_aborter(abort_message: *const ::std::os::raw::c_char)8364     pub fn __android_log_call_aborter(abort_message: *const ::std::os::raw::c_char);
8365 }
8366 extern "C" {
__android_log_default_aborter(abort_message: *const ::std::os::raw::c_char)8367     pub fn __android_log_default_aborter(abort_message: *const ::std::os::raw::c_char);
8368 }
8369 extern "C" {
__android_log_is_loggable( prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, default_prio: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8370     pub fn __android_log_is_loggable(
8371         prio: ::std::os::raw::c_int,
8372         tag: *const ::std::os::raw::c_char,
8373         default_prio: ::std::os::raw::c_int,
8374     ) -> ::std::os::raw::c_int;
8375 }
8376 extern "C" {
__android_log_is_loggable_len( prio: ::std::os::raw::c_int, tag: *const ::std::os::raw::c_char, len: size_t, default_prio: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int8377     pub fn __android_log_is_loggable_len(
8378         prio: ::std::os::raw::c_int,
8379         tag: *const ::std::os::raw::c_char,
8380         len: size_t,
8381         default_prio: ::std::os::raw::c_int,
8382     ) -> ::std::os::raw::c_int;
8383 }
8384 extern "C" {
__android_log_set_minimum_priority(priority: i32) -> i328385     pub fn __android_log_set_minimum_priority(priority: i32) -> i32;
8386 }
8387 extern "C" {
__android_log_get_minimum_priority() -> i328388     pub fn __android_log_get_minimum_priority() -> i32;
8389 }
8390 extern "C" {
__android_log_set_default_tag(tag: *const ::std::os::raw::c_char)8391     pub fn __android_log_set_default_tag(tag: *const ::std::os::raw::c_char);
8392 }
8393 pub type __kernel_sa_family_t = ::std::os::raw::c_ushort;
8394 #[repr(C)]
8395 #[derive(Copy, Clone)]
8396 pub struct sockaddr_storage {
8397     pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1,
8398 }
8399 #[repr(C)]
8400 #[derive(Copy, Clone)]
8401 pub union sockaddr_storage__bindgen_ty_1 {
8402     pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
8403     pub __align: *mut ::std::os::raw::c_void,
8404     _bindgen_union_align: [u32; 32usize],
8405 }
8406 #[repr(C)]
8407 #[derive(Copy, Clone)]
8408 pub struct sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
8409     pub ss_family: __kernel_sa_family_t,
8410     pub __data: [::std::os::raw::c_char; 126usize],
8411 }
8412 #[test]
bindgen_test_layout_sockaddr_storage__bindgen_ty_1__bindgen_ty_1()8413 fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1__bindgen_ty_1() {
8414     assert_eq!(
8415         ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
8416         128usize,
8417         concat!(
8418             "Size of: ",
8419             stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
8420         )
8421     );
8422     assert_eq!(
8423         ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
8424         2usize,
8425         concat!(
8426             "Alignment of ",
8427             stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
8428         )
8429     );
8430     assert_eq!(
8431         unsafe {
8432             &(*(::std::ptr::null::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>())).ss_family
8433                 as *const _ as usize
8434         },
8435         0usize,
8436         concat!(
8437             "Offset of field: ",
8438             stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
8439             "::",
8440             stringify!(ss_family)
8441         )
8442     );
8443     assert_eq!(
8444         unsafe {
8445             &(*(::std::ptr::null::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>())).__data
8446                 as *const _ as usize
8447         },
8448         2usize,
8449         concat!(
8450             "Offset of field: ",
8451             stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
8452             "::",
8453             stringify!(__data)
8454         )
8455     );
8456 }
8457 #[test]
bindgen_test_layout_sockaddr_storage__bindgen_ty_1()8458 fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1() {
8459     assert_eq!(
8460         ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1>(),
8461         128usize,
8462         concat!("Size of: ", stringify!(sockaddr_storage__bindgen_ty_1))
8463     );
8464     assert_eq!(
8465         ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1>(),
8466         4usize,
8467         concat!("Alignment of ", stringify!(sockaddr_storage__bindgen_ty_1))
8468     );
8469     assert_eq!(
8470         unsafe {
8471             &(*(::std::ptr::null::<sockaddr_storage__bindgen_ty_1>())).__align as *const _ as usize
8472         },
8473         0usize,
8474         concat!(
8475             "Offset of field: ",
8476             stringify!(sockaddr_storage__bindgen_ty_1),
8477             "::",
8478             stringify!(__align)
8479         )
8480     );
8481 }
8482 #[test]
bindgen_test_layout_sockaddr_storage()8483 fn bindgen_test_layout_sockaddr_storage() {
8484     assert_eq!(
8485         ::std::mem::size_of::<sockaddr_storage>(),
8486         128usize,
8487         concat!("Size of: ", stringify!(sockaddr_storage))
8488     );
8489     assert_eq!(
8490         ::std::mem::align_of::<sockaddr_storage>(),
8491         4usize,
8492         concat!("Alignment of ", stringify!(sockaddr_storage))
8493     );
8494 }
8495 #[repr(C)]
8496 #[derive(Debug, Copy, Clone)]
8497 pub struct f_owner_ex {
8498     pub type_: ::std::os::raw::c_int,
8499     pub pid: __kernel_pid_t,
8500 }
8501 #[test]
bindgen_test_layout_f_owner_ex()8502 fn bindgen_test_layout_f_owner_ex() {
8503     assert_eq!(
8504         ::std::mem::size_of::<f_owner_ex>(),
8505         8usize,
8506         concat!("Size of: ", stringify!(f_owner_ex))
8507     );
8508     assert_eq!(
8509         ::std::mem::align_of::<f_owner_ex>(),
8510         4usize,
8511         concat!("Alignment of ", stringify!(f_owner_ex))
8512     );
8513     assert_eq!(
8514         unsafe { &(*(::std::ptr::null::<f_owner_ex>())).type_ as *const _ as usize },
8515         0usize,
8516         concat!(
8517             "Offset of field: ",
8518             stringify!(f_owner_ex),
8519             "::",
8520             stringify!(type_)
8521         )
8522     );
8523     assert_eq!(
8524         unsafe { &(*(::std::ptr::null::<f_owner_ex>())).pid as *const _ as usize },
8525         4usize,
8526         concat!(
8527             "Offset of field: ",
8528             stringify!(f_owner_ex),
8529             "::",
8530             stringify!(pid)
8531         )
8532     );
8533 }
8534 #[repr(C)]
8535 #[derive(Debug, Copy, Clone)]
8536 pub struct flock {
8537     pub l_type: ::std::os::raw::c_short,
8538     pub l_whence: ::std::os::raw::c_short,
8539     pub l_start: __kernel_off_t,
8540     pub l_len: __kernel_off_t,
8541     pub l_pid: __kernel_pid_t,
8542 }
8543 #[test]
bindgen_test_layout_flock()8544 fn bindgen_test_layout_flock() {
8545     assert_eq!(
8546         ::std::mem::size_of::<flock>(),
8547         16usize,
8548         concat!("Size of: ", stringify!(flock))
8549     );
8550     assert_eq!(
8551         ::std::mem::align_of::<flock>(),
8552         4usize,
8553         concat!("Alignment of ", stringify!(flock))
8554     );
8555     assert_eq!(
8556         unsafe { &(*(::std::ptr::null::<flock>())).l_type as *const _ as usize },
8557         0usize,
8558         concat!(
8559             "Offset of field: ",
8560             stringify!(flock),
8561             "::",
8562             stringify!(l_type)
8563         )
8564     );
8565     assert_eq!(
8566         unsafe { &(*(::std::ptr::null::<flock>())).l_whence as *const _ as usize },
8567         2usize,
8568         concat!(
8569             "Offset of field: ",
8570             stringify!(flock),
8571             "::",
8572             stringify!(l_whence)
8573         )
8574     );
8575     assert_eq!(
8576         unsafe { &(*(::std::ptr::null::<flock>())).l_start as *const _ as usize },
8577         4usize,
8578         concat!(
8579             "Offset of field: ",
8580             stringify!(flock),
8581             "::",
8582             stringify!(l_start)
8583         )
8584     );
8585     assert_eq!(
8586         unsafe { &(*(::std::ptr::null::<flock>())).l_len as *const _ as usize },
8587         8usize,
8588         concat!(
8589             "Offset of field: ",
8590             stringify!(flock),
8591             "::",
8592             stringify!(l_len)
8593         )
8594     );
8595     assert_eq!(
8596         unsafe { &(*(::std::ptr::null::<flock>())).l_pid as *const _ as usize },
8597         12usize,
8598         concat!(
8599             "Offset of field: ",
8600             stringify!(flock),
8601             "::",
8602             stringify!(l_pid)
8603         )
8604     );
8605 }
8606 #[repr(C)]
8607 #[derive(Debug, Copy, Clone)]
8608 pub struct flock64 {
8609     pub l_type: ::std::os::raw::c_short,
8610     pub l_whence: ::std::os::raw::c_short,
8611     pub l_start: __kernel_loff_t,
8612     pub l_len: __kernel_loff_t,
8613     pub l_pid: __kernel_pid_t,
8614 }
8615 #[test]
bindgen_test_layout_flock64()8616 fn bindgen_test_layout_flock64() {
8617     assert_eq!(
8618         ::std::mem::size_of::<flock64>(),
8619         32usize,
8620         concat!("Size of: ", stringify!(flock64))
8621     );
8622     assert_eq!(
8623         ::std::mem::align_of::<flock64>(),
8624         8usize,
8625         concat!("Alignment of ", stringify!(flock64))
8626     );
8627     assert_eq!(
8628         unsafe { &(*(::std::ptr::null::<flock64>())).l_type as *const _ as usize },
8629         0usize,
8630         concat!(
8631             "Offset of field: ",
8632             stringify!(flock64),
8633             "::",
8634             stringify!(l_type)
8635         )
8636     );
8637     assert_eq!(
8638         unsafe { &(*(::std::ptr::null::<flock64>())).l_whence as *const _ as usize },
8639         2usize,
8640         concat!(
8641             "Offset of field: ",
8642             stringify!(flock64),
8643             "::",
8644             stringify!(l_whence)
8645         )
8646     );
8647     assert_eq!(
8648         unsafe { &(*(::std::ptr::null::<flock64>())).l_start as *const _ as usize },
8649         8usize,
8650         concat!(
8651             "Offset of field: ",
8652             stringify!(flock64),
8653             "::",
8654             stringify!(l_start)
8655         )
8656     );
8657     assert_eq!(
8658         unsafe { &(*(::std::ptr::null::<flock64>())).l_len as *const _ as usize },
8659         16usize,
8660         concat!(
8661             "Offset of field: ",
8662             stringify!(flock64),
8663             "::",
8664             stringify!(l_len)
8665         )
8666     );
8667     assert_eq!(
8668         unsafe { &(*(::std::ptr::null::<flock64>())).l_pid as *const _ as usize },
8669         24usize,
8670         concat!(
8671             "Offset of field: ",
8672             stringify!(flock64),
8673             "::",
8674             stringify!(l_pid)
8675         )
8676     );
8677 }
8678 #[repr(C)]
8679 #[derive(Debug, Copy, Clone)]
8680 pub struct iovec {
8681     pub iov_base: *mut ::std::os::raw::c_void,
8682     pub iov_len: __kernel_size_t,
8683 }
8684 #[test]
bindgen_test_layout_iovec()8685 fn bindgen_test_layout_iovec() {
8686     assert_eq!(
8687         ::std::mem::size_of::<iovec>(),
8688         8usize,
8689         concat!("Size of: ", stringify!(iovec))
8690     );
8691     assert_eq!(
8692         ::std::mem::align_of::<iovec>(),
8693         4usize,
8694         concat!("Alignment of ", stringify!(iovec))
8695     );
8696     assert_eq!(
8697         unsafe { &(*(::std::ptr::null::<iovec>())).iov_base as *const _ as usize },
8698         0usize,
8699         concat!(
8700             "Offset of field: ",
8701             stringify!(iovec),
8702             "::",
8703             stringify!(iov_base)
8704         )
8705     );
8706     assert_eq!(
8707         unsafe { &(*(::std::ptr::null::<iovec>())).iov_len as *const _ as usize },
8708         4usize,
8709         concat!(
8710             "Offset of field: ",
8711             stringify!(iovec),
8712             "::",
8713             stringify!(iov_len)
8714         )
8715     );
8716 }
8717 pub type sa_family_t = ::std::os::raw::c_ushort;
8718 pub const SHUT_RD: _bindgen_ty_26 = 0;
8719 pub const SHUT_WR: _bindgen_ty_26 = 1;
8720 pub const SHUT_RDWR: _bindgen_ty_26 = 2;
8721 pub type _bindgen_ty_26 = u32;
8722 #[repr(C)]
8723 #[derive(Debug, Copy, Clone)]
8724 pub struct sockaddr {
8725     pub sa_family: sa_family_t,
8726     pub sa_data: [::std::os::raw::c_char; 14usize],
8727 }
8728 #[test]
bindgen_test_layout_sockaddr()8729 fn bindgen_test_layout_sockaddr() {
8730     assert_eq!(
8731         ::std::mem::size_of::<sockaddr>(),
8732         16usize,
8733         concat!("Size of: ", stringify!(sockaddr))
8734     );
8735     assert_eq!(
8736         ::std::mem::align_of::<sockaddr>(),
8737         2usize,
8738         concat!("Alignment of ", stringify!(sockaddr))
8739     );
8740     assert_eq!(
8741         unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_family as *const _ as usize },
8742         0usize,
8743         concat!(
8744             "Offset of field: ",
8745             stringify!(sockaddr),
8746             "::",
8747             stringify!(sa_family)
8748         )
8749     );
8750     assert_eq!(
8751         unsafe { &(*(::std::ptr::null::<sockaddr>())).sa_data as *const _ as usize },
8752         2usize,
8753         concat!(
8754             "Offset of field: ",
8755             stringify!(sockaddr),
8756             "::",
8757             stringify!(sa_data)
8758         )
8759     );
8760 }
8761 #[repr(C)]
8762 #[derive(Debug, Copy, Clone)]
8763 pub struct linger {
8764     pub l_onoff: ::std::os::raw::c_int,
8765     pub l_linger: ::std::os::raw::c_int,
8766 }
8767 #[test]
bindgen_test_layout_linger()8768 fn bindgen_test_layout_linger() {
8769     assert_eq!(
8770         ::std::mem::size_of::<linger>(),
8771         8usize,
8772         concat!("Size of: ", stringify!(linger))
8773     );
8774     assert_eq!(
8775         ::std::mem::align_of::<linger>(),
8776         4usize,
8777         concat!("Alignment of ", stringify!(linger))
8778     );
8779     assert_eq!(
8780         unsafe { &(*(::std::ptr::null::<linger>())).l_onoff as *const _ as usize },
8781         0usize,
8782         concat!(
8783             "Offset of field: ",
8784             stringify!(linger),
8785             "::",
8786             stringify!(l_onoff)
8787         )
8788     );
8789     assert_eq!(
8790         unsafe { &(*(::std::ptr::null::<linger>())).l_linger as *const _ as usize },
8791         4usize,
8792         concat!(
8793             "Offset of field: ",
8794             stringify!(linger),
8795             "::",
8796             stringify!(l_linger)
8797         )
8798     );
8799 }
8800 #[repr(C)]
8801 #[derive(Debug, Copy, Clone)]
8802 pub struct msghdr {
8803     pub msg_name: *mut ::std::os::raw::c_void,
8804     pub msg_namelen: socklen_t,
8805     pub msg_iov: *mut iovec,
8806     pub msg_iovlen: size_t,
8807     pub msg_control: *mut ::std::os::raw::c_void,
8808     pub msg_controllen: size_t,
8809     pub msg_flags: ::std::os::raw::c_int,
8810 }
8811 #[test]
bindgen_test_layout_msghdr()8812 fn bindgen_test_layout_msghdr() {
8813     assert_eq!(
8814         ::std::mem::size_of::<msghdr>(),
8815         28usize,
8816         concat!("Size of: ", stringify!(msghdr))
8817     );
8818     assert_eq!(
8819         ::std::mem::align_of::<msghdr>(),
8820         4usize,
8821         concat!("Alignment of ", stringify!(msghdr))
8822     );
8823     assert_eq!(
8824         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_name as *const _ as usize },
8825         0usize,
8826         concat!(
8827             "Offset of field: ",
8828             stringify!(msghdr),
8829             "::",
8830             stringify!(msg_name)
8831         )
8832     );
8833     assert_eq!(
8834         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_namelen as *const _ as usize },
8835         4usize,
8836         concat!(
8837             "Offset of field: ",
8838             stringify!(msghdr),
8839             "::",
8840             stringify!(msg_namelen)
8841         )
8842     );
8843     assert_eq!(
8844         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iov as *const _ as usize },
8845         8usize,
8846         concat!(
8847             "Offset of field: ",
8848             stringify!(msghdr),
8849             "::",
8850             stringify!(msg_iov)
8851         )
8852     );
8853     assert_eq!(
8854         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_iovlen as *const _ as usize },
8855         12usize,
8856         concat!(
8857             "Offset of field: ",
8858             stringify!(msghdr),
8859             "::",
8860             stringify!(msg_iovlen)
8861         )
8862     );
8863     assert_eq!(
8864         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_control as *const _ as usize },
8865         16usize,
8866         concat!(
8867             "Offset of field: ",
8868             stringify!(msghdr),
8869             "::",
8870             stringify!(msg_control)
8871         )
8872     );
8873     assert_eq!(
8874         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_controllen as *const _ as usize },
8875         20usize,
8876         concat!(
8877             "Offset of field: ",
8878             stringify!(msghdr),
8879             "::",
8880             stringify!(msg_controllen)
8881         )
8882     );
8883     assert_eq!(
8884         unsafe { &(*(::std::ptr::null::<msghdr>())).msg_flags as *const _ as usize },
8885         24usize,
8886         concat!(
8887             "Offset of field: ",
8888             stringify!(msghdr),
8889             "::",
8890             stringify!(msg_flags)
8891         )
8892     );
8893 }
8894 #[repr(C)]
8895 #[derive(Debug, Copy, Clone)]
8896 pub struct mmsghdr {
8897     pub msg_hdr: msghdr,
8898     pub msg_len: ::std::os::raw::c_uint,
8899 }
8900 #[test]
bindgen_test_layout_mmsghdr()8901 fn bindgen_test_layout_mmsghdr() {
8902     assert_eq!(
8903         ::std::mem::size_of::<mmsghdr>(),
8904         32usize,
8905         concat!("Size of: ", stringify!(mmsghdr))
8906     );
8907     assert_eq!(
8908         ::std::mem::align_of::<mmsghdr>(),
8909         4usize,
8910         concat!("Alignment of ", stringify!(mmsghdr))
8911     );
8912     assert_eq!(
8913         unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_hdr as *const _ as usize },
8914         0usize,
8915         concat!(
8916             "Offset of field: ",
8917             stringify!(mmsghdr),
8918             "::",
8919             stringify!(msg_hdr)
8920         )
8921     );
8922     assert_eq!(
8923         unsafe { &(*(::std::ptr::null::<mmsghdr>())).msg_len as *const _ as usize },
8924         28usize,
8925         concat!(
8926             "Offset of field: ",
8927             stringify!(mmsghdr),
8928             "::",
8929             stringify!(msg_len)
8930         )
8931     );
8932 }
8933 #[repr(C)]
8934 #[derive(Debug, Copy, Clone)]
8935 pub struct cmsghdr {
8936     pub cmsg_len: size_t,
8937     pub cmsg_level: ::std::os::raw::c_int,
8938     pub cmsg_type: ::std::os::raw::c_int,
8939 }
8940 #[test]
bindgen_test_layout_cmsghdr()8941 fn bindgen_test_layout_cmsghdr() {
8942     assert_eq!(
8943         ::std::mem::size_of::<cmsghdr>(),
8944         12usize,
8945         concat!("Size of: ", stringify!(cmsghdr))
8946     );
8947     assert_eq!(
8948         ::std::mem::align_of::<cmsghdr>(),
8949         4usize,
8950         concat!("Alignment of ", stringify!(cmsghdr))
8951     );
8952     assert_eq!(
8953         unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_len as *const _ as usize },
8954         0usize,
8955         concat!(
8956             "Offset of field: ",
8957             stringify!(cmsghdr),
8958             "::",
8959             stringify!(cmsg_len)
8960         )
8961     );
8962     assert_eq!(
8963         unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_level as *const _ as usize },
8964         4usize,
8965         concat!(
8966             "Offset of field: ",
8967             stringify!(cmsghdr),
8968             "::",
8969             stringify!(cmsg_level)
8970         )
8971     );
8972     assert_eq!(
8973         unsafe { &(*(::std::ptr::null::<cmsghdr>())).cmsg_type as *const _ as usize },
8974         8usize,
8975         concat!(
8976             "Offset of field: ",
8977             stringify!(cmsghdr),
8978             "::",
8979             stringify!(cmsg_type)
8980         )
8981     );
8982 }
8983 extern "C" {
__cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr8984     pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
8985 }
8986 #[repr(C)]
8987 #[derive(Debug, Copy, Clone)]
8988 pub struct ucred {
8989     pub pid: pid_t,
8990     pub uid: uid_t,
8991     pub gid: gid_t,
8992 }
8993 #[test]
bindgen_test_layout_ucred()8994 fn bindgen_test_layout_ucred() {
8995     assert_eq!(
8996         ::std::mem::size_of::<ucred>(),
8997         12usize,
8998         concat!("Size of: ", stringify!(ucred))
8999     );
9000     assert_eq!(
9001         ::std::mem::align_of::<ucred>(),
9002         4usize,
9003         concat!("Alignment of ", stringify!(ucred))
9004     );
9005     assert_eq!(
9006         unsafe { &(*(::std::ptr::null::<ucred>())).pid as *const _ as usize },
9007         0usize,
9008         concat!(
9009             "Offset of field: ",
9010             stringify!(ucred),
9011             "::",
9012             stringify!(pid)
9013         )
9014     );
9015     assert_eq!(
9016         unsafe { &(*(::std::ptr::null::<ucred>())).uid as *const _ as usize },
9017         4usize,
9018         concat!(
9019             "Offset of field: ",
9020             stringify!(ucred),
9021             "::",
9022             stringify!(uid)
9023         )
9024     );
9025     assert_eq!(
9026         unsafe { &(*(::std::ptr::null::<ucred>())).gid as *const _ as usize },
9027         8usize,
9028         concat!(
9029             "Offset of field: ",
9030             stringify!(ucred),
9031             "::",
9032             stringify!(gid)
9033         )
9034     );
9035 }
9036 extern "C" {
accept( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, ) -> ::std::os::raw::c_int9037     pub fn accept(
9038         __fd: ::std::os::raw::c_int,
9039         __addr: *mut sockaddr,
9040         __addr_length: *mut socklen_t,
9041     ) -> ::std::os::raw::c_int;
9042 }
9043 extern "C" {
accept4( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9044     pub fn accept4(
9045         __fd: ::std::os::raw::c_int,
9046         __addr: *mut sockaddr,
9047         __addr_length: *mut socklen_t,
9048         __flags: ::std::os::raw::c_int,
9049     ) -> ::std::os::raw::c_int;
9050 }
9051 extern "C" {
bind( __fd: ::std::os::raw::c_int, __addr: *const sockaddr, __addr_length: socklen_t, ) -> ::std::os::raw::c_int9052     pub fn bind(
9053         __fd: ::std::os::raw::c_int,
9054         __addr: *const sockaddr,
9055         __addr_length: socklen_t,
9056     ) -> ::std::os::raw::c_int;
9057 }
9058 extern "C" {
connect( __fd: ::std::os::raw::c_int, __addr: *const sockaddr, __addr_length: socklen_t, ) -> ::std::os::raw::c_int9059     pub fn connect(
9060         __fd: ::std::os::raw::c_int,
9061         __addr: *const sockaddr,
9062         __addr_length: socklen_t,
9063     ) -> ::std::os::raw::c_int;
9064 }
9065 extern "C" {
getpeername( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, ) -> ::std::os::raw::c_int9066     pub fn getpeername(
9067         __fd: ::std::os::raw::c_int,
9068         __addr: *mut sockaddr,
9069         __addr_length: *mut socklen_t,
9070     ) -> ::std::os::raw::c_int;
9071 }
9072 extern "C" {
getsockname( __fd: ::std::os::raw::c_int, __addr: *mut sockaddr, __addr_length: *mut socklen_t, ) -> ::std::os::raw::c_int9073     pub fn getsockname(
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" {
getsockopt( __fd: ::std::os::raw::c_int, __level: ::std::os::raw::c_int, __option: ::std::os::raw::c_int, __value: *mut ::std::os::raw::c_void, __value_length: *mut socklen_t, ) -> ::std::os::raw::c_int9080     pub fn getsockopt(
9081         __fd: ::std::os::raw::c_int,
9082         __level: ::std::os::raw::c_int,
9083         __option: ::std::os::raw::c_int,
9084         __value: *mut ::std::os::raw::c_void,
9085         __value_length: *mut socklen_t,
9086     ) -> ::std::os::raw::c_int;
9087 }
9088 extern "C" {
listen( __fd: ::std::os::raw::c_int, __backlog: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9089     pub fn listen(
9090         __fd: ::std::os::raw::c_int,
9091         __backlog: ::std::os::raw::c_int,
9092     ) -> ::std::os::raw::c_int;
9093 }
9094 extern "C" {
recvmmsg( __fd: ::std::os::raw::c_int, __msgs: *mut mmsghdr, __msg_count: ::std::os::raw::c_uint, __flags: ::std::os::raw::c_int, __timeout: *const timespec, ) -> ::std::os::raw::c_int9095     pub fn recvmmsg(
9096         __fd: ::std::os::raw::c_int,
9097         __msgs: *mut mmsghdr,
9098         __msg_count: ::std::os::raw::c_uint,
9099         __flags: ::std::os::raw::c_int,
9100         __timeout: *const timespec,
9101     ) -> ::std::os::raw::c_int;
9102 }
9103 extern "C" {
recvmsg( __fd: ::std::os::raw::c_int, __msg: *mut msghdr, __flags: ::std::os::raw::c_int, ) -> ssize_t9104     pub fn recvmsg(
9105         __fd: ::std::os::raw::c_int,
9106         __msg: *mut msghdr,
9107         __flags: ::std::os::raw::c_int,
9108     ) -> ssize_t;
9109 }
9110 extern "C" {
sendmmsg( __fd: ::std::os::raw::c_int, __msgs: *const mmsghdr, __msg_count: ::std::os::raw::c_uint, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9111     pub fn sendmmsg(
9112         __fd: ::std::os::raw::c_int,
9113         __msgs: *const mmsghdr,
9114         __msg_count: ::std::os::raw::c_uint,
9115         __flags: ::std::os::raw::c_int,
9116     ) -> ::std::os::raw::c_int;
9117 }
9118 extern "C" {
sendmsg( __fd: ::std::os::raw::c_int, __msg: *const msghdr, __flags: ::std::os::raw::c_int, ) -> ssize_t9119     pub fn sendmsg(
9120         __fd: ::std::os::raw::c_int,
9121         __msg: *const msghdr,
9122         __flags: ::std::os::raw::c_int,
9123     ) -> ssize_t;
9124 }
9125 extern "C" {
setsockopt( __fd: ::std::os::raw::c_int, __level: ::std::os::raw::c_int, __option: ::std::os::raw::c_int, __value: *const ::std::os::raw::c_void, __value_length: socklen_t, ) -> ::std::os::raw::c_int9126     pub fn setsockopt(
9127         __fd: ::std::os::raw::c_int,
9128         __level: ::std::os::raw::c_int,
9129         __option: ::std::os::raw::c_int,
9130         __value: *const ::std::os::raw::c_void,
9131         __value_length: socklen_t,
9132     ) -> ::std::os::raw::c_int;
9133 }
9134 extern "C" {
shutdown( __fd: ::std::os::raw::c_int, __how: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9135     pub fn shutdown(
9136         __fd: ::std::os::raw::c_int,
9137         __how: ::std::os::raw::c_int,
9138     ) -> ::std::os::raw::c_int;
9139 }
9140 extern "C" {
socket( __af: ::std::os::raw::c_int, __type: ::std::os::raw::c_int, __protocol: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9141     pub fn socket(
9142         __af: ::std::os::raw::c_int,
9143         __type: ::std::os::raw::c_int,
9144         __protocol: ::std::os::raw::c_int,
9145     ) -> ::std::os::raw::c_int;
9146 }
9147 extern "C" {
socketpair( __af: ::std::os::raw::c_int, __type: ::std::os::raw::c_int, __protocol: ::std::os::raw::c_int, __fds: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9148     pub fn socketpair(
9149         __af: ::std::os::raw::c_int,
9150         __type: ::std::os::raw::c_int,
9151         __protocol: ::std::os::raw::c_int,
9152         __fds: *mut ::std::os::raw::c_int,
9153     ) -> ::std::os::raw::c_int;
9154 }
9155 extern "C" {
recv( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_void, __n: size_t, __flags: ::std::os::raw::c_int, ) -> ssize_t9156     pub fn recv(
9157         __fd: ::std::os::raw::c_int,
9158         __buf: *mut ::std::os::raw::c_void,
9159         __n: size_t,
9160         __flags: ::std::os::raw::c_int,
9161     ) -> ssize_t;
9162 }
9163 extern "C" {
send( __fd: ::std::os::raw::c_int, __buf: *const ::std::os::raw::c_void, __n: size_t, __flags: ::std::os::raw::c_int, ) -> ssize_t9164     pub fn send(
9165         __fd: ::std::os::raw::c_int,
9166         __buf: *const ::std::os::raw::c_void,
9167         __n: size_t,
9168         __flags: ::std::os::raw::c_int,
9169     ) -> ssize_t;
9170 }
9171 extern "C" {
sendto( __fd: ::std::os::raw::c_int, __buf: *const ::std::os::raw::c_void, __n: size_t, __flags: ::std::os::raw::c_int, __dst_addr: *const sockaddr, __dst_addr_length: socklen_t, ) -> ssize_t9172     pub fn sendto(
9173         __fd: ::std::os::raw::c_int,
9174         __buf: *const ::std::os::raw::c_void,
9175         __n: size_t,
9176         __flags: ::std::os::raw::c_int,
9177         __dst_addr: *const sockaddr,
9178         __dst_addr_length: socklen_t,
9179     ) -> ssize_t;
9180 }
9181 extern "C" {
recvfrom( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_void, __n: size_t, __flags: ::std::os::raw::c_int, __src_addr: *mut sockaddr, __src_addr_length: *mut socklen_t, ) -> ssize_t9182     pub fn recvfrom(
9183         __fd: ::std::os::raw::c_int,
9184         __buf: *mut ::std::os::raw::c_void,
9185         __n: size_t,
9186         __flags: ::std::os::raw::c_int,
9187         __src_addr: *mut sockaddr,
9188         __src_addr_length: *mut socklen_t,
9189     ) -> ssize_t;
9190 }
9191 #[repr(C)]
9192 #[derive(Debug, Copy, Clone)]
9193 pub struct hostent {
9194     pub h_name: *mut ::std::os::raw::c_char,
9195     pub h_aliases: *mut *mut ::std::os::raw::c_char,
9196     pub h_addrtype: ::std::os::raw::c_int,
9197     pub h_length: ::std::os::raw::c_int,
9198     pub h_addr_list: *mut *mut ::std::os::raw::c_char,
9199 }
9200 #[test]
bindgen_test_layout_hostent()9201 fn bindgen_test_layout_hostent() {
9202     assert_eq!(
9203         ::std::mem::size_of::<hostent>(),
9204         20usize,
9205         concat!("Size of: ", stringify!(hostent))
9206     );
9207     assert_eq!(
9208         ::std::mem::align_of::<hostent>(),
9209         4usize,
9210         concat!("Alignment of ", stringify!(hostent))
9211     );
9212     assert_eq!(
9213         unsafe { &(*(::std::ptr::null::<hostent>())).h_name as *const _ as usize },
9214         0usize,
9215         concat!(
9216             "Offset of field: ",
9217             stringify!(hostent),
9218             "::",
9219             stringify!(h_name)
9220         )
9221     );
9222     assert_eq!(
9223         unsafe { &(*(::std::ptr::null::<hostent>())).h_aliases as *const _ as usize },
9224         4usize,
9225         concat!(
9226             "Offset of field: ",
9227             stringify!(hostent),
9228             "::",
9229             stringify!(h_aliases)
9230         )
9231     );
9232     assert_eq!(
9233         unsafe { &(*(::std::ptr::null::<hostent>())).h_addrtype as *const _ as usize },
9234         8usize,
9235         concat!(
9236             "Offset of field: ",
9237             stringify!(hostent),
9238             "::",
9239             stringify!(h_addrtype)
9240         )
9241     );
9242     assert_eq!(
9243         unsafe { &(*(::std::ptr::null::<hostent>())).h_length as *const _ as usize },
9244         12usize,
9245         concat!(
9246             "Offset of field: ",
9247             stringify!(hostent),
9248             "::",
9249             stringify!(h_length)
9250         )
9251     );
9252     assert_eq!(
9253         unsafe { &(*(::std::ptr::null::<hostent>())).h_addr_list as *const _ as usize },
9254         16usize,
9255         concat!(
9256             "Offset of field: ",
9257             stringify!(hostent),
9258             "::",
9259             stringify!(h_addr_list)
9260         )
9261     );
9262 }
9263 #[repr(C)]
9264 #[derive(Debug, Copy, Clone)]
9265 pub struct netent {
9266     pub n_name: *mut ::std::os::raw::c_char,
9267     pub n_aliases: *mut *mut ::std::os::raw::c_char,
9268     pub n_addrtype: ::std::os::raw::c_int,
9269     pub n_net: u32,
9270 }
9271 #[test]
bindgen_test_layout_netent()9272 fn bindgen_test_layout_netent() {
9273     assert_eq!(
9274         ::std::mem::size_of::<netent>(),
9275         16usize,
9276         concat!("Size of: ", stringify!(netent))
9277     );
9278     assert_eq!(
9279         ::std::mem::align_of::<netent>(),
9280         4usize,
9281         concat!("Alignment of ", stringify!(netent))
9282     );
9283     assert_eq!(
9284         unsafe { &(*(::std::ptr::null::<netent>())).n_name as *const _ as usize },
9285         0usize,
9286         concat!(
9287             "Offset of field: ",
9288             stringify!(netent),
9289             "::",
9290             stringify!(n_name)
9291         )
9292     );
9293     assert_eq!(
9294         unsafe { &(*(::std::ptr::null::<netent>())).n_aliases as *const _ as usize },
9295         4usize,
9296         concat!(
9297             "Offset of field: ",
9298             stringify!(netent),
9299             "::",
9300             stringify!(n_aliases)
9301         )
9302     );
9303     assert_eq!(
9304         unsafe { &(*(::std::ptr::null::<netent>())).n_addrtype as *const _ as usize },
9305         8usize,
9306         concat!(
9307             "Offset of field: ",
9308             stringify!(netent),
9309             "::",
9310             stringify!(n_addrtype)
9311         )
9312     );
9313     assert_eq!(
9314         unsafe { &(*(::std::ptr::null::<netent>())).n_net as *const _ as usize },
9315         12usize,
9316         concat!(
9317             "Offset of field: ",
9318             stringify!(netent),
9319             "::",
9320             stringify!(n_net)
9321         )
9322     );
9323 }
9324 #[repr(C)]
9325 #[derive(Debug, Copy, Clone)]
9326 pub struct servent {
9327     pub s_name: *mut ::std::os::raw::c_char,
9328     pub s_aliases: *mut *mut ::std::os::raw::c_char,
9329     pub s_port: ::std::os::raw::c_int,
9330     pub s_proto: *mut ::std::os::raw::c_char,
9331 }
9332 #[test]
bindgen_test_layout_servent()9333 fn bindgen_test_layout_servent() {
9334     assert_eq!(
9335         ::std::mem::size_of::<servent>(),
9336         16usize,
9337         concat!("Size of: ", stringify!(servent))
9338     );
9339     assert_eq!(
9340         ::std::mem::align_of::<servent>(),
9341         4usize,
9342         concat!("Alignment of ", stringify!(servent))
9343     );
9344     assert_eq!(
9345         unsafe { &(*(::std::ptr::null::<servent>())).s_name as *const _ as usize },
9346         0usize,
9347         concat!(
9348             "Offset of field: ",
9349             stringify!(servent),
9350             "::",
9351             stringify!(s_name)
9352         )
9353     );
9354     assert_eq!(
9355         unsafe { &(*(::std::ptr::null::<servent>())).s_aliases as *const _ as usize },
9356         4usize,
9357         concat!(
9358             "Offset of field: ",
9359             stringify!(servent),
9360             "::",
9361             stringify!(s_aliases)
9362         )
9363     );
9364     assert_eq!(
9365         unsafe { &(*(::std::ptr::null::<servent>())).s_port as *const _ as usize },
9366         8usize,
9367         concat!(
9368             "Offset of field: ",
9369             stringify!(servent),
9370             "::",
9371             stringify!(s_port)
9372         )
9373     );
9374     assert_eq!(
9375         unsafe { &(*(::std::ptr::null::<servent>())).s_proto as *const _ as usize },
9376         12usize,
9377         concat!(
9378             "Offset of field: ",
9379             stringify!(servent),
9380             "::",
9381             stringify!(s_proto)
9382         )
9383     );
9384 }
9385 #[repr(C)]
9386 #[derive(Debug, Copy, Clone)]
9387 pub struct protoent {
9388     pub p_name: *mut ::std::os::raw::c_char,
9389     pub p_aliases: *mut *mut ::std::os::raw::c_char,
9390     pub p_proto: ::std::os::raw::c_int,
9391 }
9392 #[test]
bindgen_test_layout_protoent()9393 fn bindgen_test_layout_protoent() {
9394     assert_eq!(
9395         ::std::mem::size_of::<protoent>(),
9396         12usize,
9397         concat!("Size of: ", stringify!(protoent))
9398     );
9399     assert_eq!(
9400         ::std::mem::align_of::<protoent>(),
9401         4usize,
9402         concat!("Alignment of ", stringify!(protoent))
9403     );
9404     assert_eq!(
9405         unsafe { &(*(::std::ptr::null::<protoent>())).p_name as *const _ as usize },
9406         0usize,
9407         concat!(
9408             "Offset of field: ",
9409             stringify!(protoent),
9410             "::",
9411             stringify!(p_name)
9412         )
9413     );
9414     assert_eq!(
9415         unsafe { &(*(::std::ptr::null::<protoent>())).p_aliases as *const _ as usize },
9416         4usize,
9417         concat!(
9418             "Offset of field: ",
9419             stringify!(protoent),
9420             "::",
9421             stringify!(p_aliases)
9422         )
9423     );
9424     assert_eq!(
9425         unsafe { &(*(::std::ptr::null::<protoent>())).p_proto as *const _ as usize },
9426         8usize,
9427         concat!(
9428             "Offset of field: ",
9429             stringify!(protoent),
9430             "::",
9431             stringify!(p_proto)
9432         )
9433     );
9434 }
9435 #[repr(C)]
9436 #[derive(Debug, Copy, Clone)]
9437 pub struct addrinfo {
9438     pub ai_flags: ::std::os::raw::c_int,
9439     pub ai_family: ::std::os::raw::c_int,
9440     pub ai_socktype: ::std::os::raw::c_int,
9441     pub ai_protocol: ::std::os::raw::c_int,
9442     pub ai_addrlen: socklen_t,
9443     pub ai_canonname: *mut ::std::os::raw::c_char,
9444     pub ai_addr: *mut sockaddr,
9445     pub ai_next: *mut addrinfo,
9446 }
9447 #[test]
bindgen_test_layout_addrinfo()9448 fn bindgen_test_layout_addrinfo() {
9449     assert_eq!(
9450         ::std::mem::size_of::<addrinfo>(),
9451         32usize,
9452         concat!("Size of: ", stringify!(addrinfo))
9453     );
9454     assert_eq!(
9455         ::std::mem::align_of::<addrinfo>(),
9456         4usize,
9457         concat!("Alignment of ", stringify!(addrinfo))
9458     );
9459     assert_eq!(
9460         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_flags as *const _ as usize },
9461         0usize,
9462         concat!(
9463             "Offset of field: ",
9464             stringify!(addrinfo),
9465             "::",
9466             stringify!(ai_flags)
9467         )
9468     );
9469     assert_eq!(
9470         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_family as *const _ as usize },
9471         4usize,
9472         concat!(
9473             "Offset of field: ",
9474             stringify!(addrinfo),
9475             "::",
9476             stringify!(ai_family)
9477         )
9478     );
9479     assert_eq!(
9480         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_socktype as *const _ as usize },
9481         8usize,
9482         concat!(
9483             "Offset of field: ",
9484             stringify!(addrinfo),
9485             "::",
9486             stringify!(ai_socktype)
9487         )
9488     );
9489     assert_eq!(
9490         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_protocol as *const _ as usize },
9491         12usize,
9492         concat!(
9493             "Offset of field: ",
9494             stringify!(addrinfo),
9495             "::",
9496             stringify!(ai_protocol)
9497         )
9498     );
9499     assert_eq!(
9500         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addrlen as *const _ as usize },
9501         16usize,
9502         concat!(
9503             "Offset of field: ",
9504             stringify!(addrinfo),
9505             "::",
9506             stringify!(ai_addrlen)
9507         )
9508     );
9509     assert_eq!(
9510         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_canonname as *const _ as usize },
9511         20usize,
9512         concat!(
9513             "Offset of field: ",
9514             stringify!(addrinfo),
9515             "::",
9516             stringify!(ai_canonname)
9517         )
9518     );
9519     assert_eq!(
9520         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_addr as *const _ as usize },
9521         24usize,
9522         concat!(
9523             "Offset of field: ",
9524             stringify!(addrinfo),
9525             "::",
9526             stringify!(ai_addr)
9527         )
9528     );
9529     assert_eq!(
9530         unsafe { &(*(::std::ptr::null::<addrinfo>())).ai_next as *const _ as usize },
9531         28usize,
9532         concat!(
9533             "Offset of field: ",
9534             stringify!(addrinfo),
9535             "::",
9536             stringify!(ai_next)
9537         )
9538     );
9539 }
9540 extern "C" {
getaddrinfo( __node: *const ::std::os::raw::c_char, __service: *const ::std::os::raw::c_char, __hints: *const addrinfo, __result: *mut *mut addrinfo, ) -> ::std::os::raw::c_int9541     pub fn getaddrinfo(
9542         __node: *const ::std::os::raw::c_char,
9543         __service: *const ::std::os::raw::c_char,
9544         __hints: *const addrinfo,
9545         __result: *mut *mut addrinfo,
9546     ) -> ::std::os::raw::c_int;
9547 }
9548 extern "C" {
freeaddrinfo(__ptr: *mut addrinfo)9549     pub fn freeaddrinfo(__ptr: *mut addrinfo);
9550 }
9551 extern "C" {
getnameinfo( __sa: *const sockaddr, __sa_length: socklen_t, __host: *mut ::std::os::raw::c_char, __host_length: size_t, __service: *mut ::std::os::raw::c_char, __service_length: size_t, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9552     pub fn getnameinfo(
9553         __sa: *const sockaddr,
9554         __sa_length: socklen_t,
9555         __host: *mut ::std::os::raw::c_char,
9556         __host_length: size_t,
9557         __service: *mut ::std::os::raw::c_char,
9558         __service_length: size_t,
9559         __flags: ::std::os::raw::c_int,
9560     ) -> ::std::os::raw::c_int;
9561 }
9562 extern "C" {
gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char9563     pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9564 }
9565 extern "C" {
__get_h_errno() -> *mut ::std::os::raw::c_int9566     pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
9567 }
9568 extern "C" {
herror(__s: *const ::std::os::raw::c_char)9569     pub fn herror(__s: *const ::std::os::raw::c_char);
9570 }
9571 extern "C" {
hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char9572     pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9573 }
9574 extern "C" {
gethostbyaddr( __addr: *const ::std::os::raw::c_void, __length: socklen_t, __type: ::std::os::raw::c_int, ) -> *mut hostent9575     pub fn gethostbyaddr(
9576         __addr: *const ::std::os::raw::c_void,
9577         __length: socklen_t,
9578         __type: ::std::os::raw::c_int,
9579     ) -> *mut hostent;
9580 }
9581 extern "C" {
gethostbyaddr_r( __addr: *const ::std::os::raw::c_void, __length: socklen_t, __type: ::std::os::raw::c_int, __ret: *mut hostent, __buf: *mut ::std::os::raw::c_char, __buf_size: size_t, __result: *mut *mut hostent, __h_errno_ptr: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9582     pub fn gethostbyaddr_r(
9583         __addr: *const ::std::os::raw::c_void,
9584         __length: socklen_t,
9585         __type: ::std::os::raw::c_int,
9586         __ret: *mut hostent,
9587         __buf: *mut ::std::os::raw::c_char,
9588         __buf_size: size_t,
9589         __result: *mut *mut hostent,
9590         __h_errno_ptr: *mut ::std::os::raw::c_int,
9591     ) -> ::std::os::raw::c_int;
9592 }
9593 extern "C" {
gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent9594     pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
9595 }
9596 extern "C" {
gethostbyname_r( __name: *const ::std::os::raw::c_char, __ret: *mut hostent, __buf: *mut ::std::os::raw::c_char, __buf_size: size_t, __result: *mut *mut hostent, __h_errno_ptr: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9597     pub fn gethostbyname_r(
9598         __name: *const ::std::os::raw::c_char,
9599         __ret: *mut hostent,
9600         __buf: *mut ::std::os::raw::c_char,
9601         __buf_size: size_t,
9602         __result: *mut *mut hostent,
9603         __h_errno_ptr: *mut ::std::os::raw::c_int,
9604     ) -> ::std::os::raw::c_int;
9605 }
9606 extern "C" {
gethostbyname2( __name: *const ::std::os::raw::c_char, __af: ::std::os::raw::c_int, ) -> *mut hostent9607     pub fn gethostbyname2(
9608         __name: *const ::std::os::raw::c_char,
9609         __af: ::std::os::raw::c_int,
9610     ) -> *mut hostent;
9611 }
9612 extern "C" {
gethostbyname2_r( __name: *const ::std::os::raw::c_char, __af: ::std::os::raw::c_int, __ret: *mut hostent, __buf: *mut ::std::os::raw::c_char, __buf_size: size_t, __result: *mut *mut hostent, __h_errno_ptr: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9613     pub fn gethostbyname2_r(
9614         __name: *const ::std::os::raw::c_char,
9615         __af: ::std::os::raw::c_int,
9616         __ret: *mut hostent,
9617         __buf: *mut ::std::os::raw::c_char,
9618         __buf_size: size_t,
9619         __result: *mut *mut hostent,
9620         __h_errno_ptr: *mut ::std::os::raw::c_int,
9621     ) -> ::std::os::raw::c_int;
9622 }
9623 extern "C" {
endhostent()9624     pub fn endhostent();
9625 }
9626 extern "C" {
gethostent() -> *mut hostent9627     pub fn gethostent() -> *mut hostent;
9628 }
9629 extern "C" {
sethostent(__stay_open: ::std::os::raw::c_int)9630     pub fn sethostent(__stay_open: ::std::os::raw::c_int);
9631 }
9632 extern "C" {
endnetent()9633     pub fn endnetent();
9634 }
9635 extern "C" {
getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent9636     pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
9637 }
9638 extern "C" {
getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent9639     pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
9640 }
9641 extern "C" {
getnetent() -> *mut netent9642     pub fn getnetent() -> *mut netent;
9643 }
9644 extern "C" {
setnetent(__stay_open: ::std::os::raw::c_int)9645     pub fn setnetent(__stay_open: ::std::os::raw::c_int);
9646 }
9647 extern "C" {
endprotoent()9648     pub fn endprotoent();
9649 }
9650 extern "C" {
getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent9651     pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
9652 }
9653 extern "C" {
getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent9654     pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
9655 }
9656 extern "C" {
getprotoent() -> *mut protoent9657     pub fn getprotoent() -> *mut protoent;
9658 }
9659 extern "C" {
setprotoent(__stay_open: ::std::os::raw::c_int)9660     pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
9661 }
9662 extern "C" {
endservent()9663     pub fn endservent();
9664 }
9665 extern "C" {
getservbyname( __name: *const ::std::os::raw::c_char, __proto: *const ::std::os::raw::c_char, ) -> *mut servent9666     pub fn getservbyname(
9667         __name: *const ::std::os::raw::c_char,
9668         __proto: *const ::std::os::raw::c_char,
9669     ) -> *mut servent;
9670 }
9671 extern "C" {
getservbyport( __port_in_network_order: ::std::os::raw::c_int, __proto: *const ::std::os::raw::c_char, ) -> *mut servent9672     pub fn getservbyport(
9673         __port_in_network_order: ::std::os::raw::c_int,
9674         __proto: *const ::std::os::raw::c_char,
9675     ) -> *mut servent;
9676 }
9677 extern "C" {
getservent() -> *mut servent9678     pub fn getservent() -> *mut servent;
9679 }
9680 extern "C" {
setservent(__stay_open: ::std::os::raw::c_int)9681     pub fn setservent(__stay_open: ::std::os::raw::c_int);
9682 }
9683 pub type fpos_t = off_t;
9684 pub type fpos64_t = off64_t;
9685 #[repr(C)]
9686 #[derive(Debug, Copy, Clone)]
9687 pub struct __sFILE {
9688     _unused: [u8; 0],
9689 }
9690 pub type FILE = __sFILE;
9691 extern "C" {
9692     pub static mut stdin: *mut FILE;
9693 }
9694 extern "C" {
9695     pub static mut stdout: *mut FILE;
9696 }
9697 extern "C" {
9698     pub static mut stderr: *mut FILE;
9699 }
9700 extern "C" {
clearerr(__fp: *mut FILE)9701     pub fn clearerr(__fp: *mut FILE);
9702 }
9703 extern "C" {
fclose(__fp: *mut FILE) -> ::std::os::raw::c_int9704     pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
9705 }
9706 extern "C" {
feof(__fp: *mut FILE) -> ::std::os::raw::c_int9707     pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
9708 }
9709 extern "C" {
ferror(__fp: *mut FILE) -> ::std::os::raw::c_int9710     pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
9711 }
9712 extern "C" {
fflush(__fp: *mut FILE) -> ::std::os::raw::c_int9713     pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
9714 }
9715 extern "C" {
fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int9716     pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9717 }
9718 extern "C" {
fgets( __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_int, __fp: *mut FILE, ) -> *mut ::std::os::raw::c_char9719     pub fn fgets(
9720         __buf: *mut ::std::os::raw::c_char,
9721         __size: ::std::os::raw::c_int,
9722         __fp: *mut FILE,
9723     ) -> *mut ::std::os::raw::c_char;
9724 }
9725 extern "C" {
fprintf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9726     pub fn fprintf(
9727         __fp: *mut FILE,
9728         __fmt: *const ::std::os::raw::c_char,
9729         ...
9730     ) -> ::std::os::raw::c_int;
9731 }
9732 extern "C" {
fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9733     pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9734 }
9735 extern "C" {
fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int9736     pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
9737 }
9738 extern "C" {
fread( __buf: *mut ::std::os::raw::c_void, __size: ::std::os::raw::c_uint, __count: ::std::os::raw::c_uint, __fp: *mut FILE, ) -> ::std::os::raw::c_uint9739     pub fn fread(
9740         __buf: *mut ::std::os::raw::c_void,
9741         __size: ::std::os::raw::c_uint,
9742         __count: ::std::os::raw::c_uint,
9743         __fp: *mut FILE,
9744     ) -> ::std::os::raw::c_uint;
9745 }
9746 extern "C" {
fscanf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9747     pub fn fscanf(
9748         __fp: *mut FILE,
9749         __fmt: *const ::std::os::raw::c_char,
9750         ...
9751     ) -> ::std::os::raw::c_int;
9752 }
9753 extern "C" {
fwrite( __buf: *const ::std::os::raw::c_void, __size: ::std::os::raw::c_uint, __count: ::std::os::raw::c_uint, __fp: *mut FILE, ) -> ::std::os::raw::c_uint9754     pub fn fwrite(
9755         __buf: *const ::std::os::raw::c_void,
9756         __size: ::std::os::raw::c_uint,
9757         __count: ::std::os::raw::c_uint,
9758         __fp: *mut FILE,
9759     ) -> ::std::os::raw::c_uint;
9760 }
9761 extern "C" {
getc(__fp: *mut FILE) -> ::std::os::raw::c_int9762     pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
9763 }
9764 extern "C" {
getchar() -> ::std::os::raw::c_int9765     pub fn getchar() -> ::std::os::raw::c_int;
9766 }
9767 extern "C" {
getdelim( __line_ptr: *mut *mut ::std::os::raw::c_char, __line_length_ptr: *mut size_t, __delimiter: ::std::os::raw::c_int, __fp: *mut FILE, ) -> ssize_t9768     pub fn getdelim(
9769         __line_ptr: *mut *mut ::std::os::raw::c_char,
9770         __line_length_ptr: *mut size_t,
9771         __delimiter: ::std::os::raw::c_int,
9772         __fp: *mut FILE,
9773     ) -> ssize_t;
9774 }
9775 extern "C" {
getline( __line_ptr: *mut *mut ::std::os::raw::c_char, __line_length_ptr: *mut size_t, __fp: *mut FILE, ) -> ssize_t9776     pub fn getline(
9777         __line_ptr: *mut *mut ::std::os::raw::c_char,
9778         __line_length_ptr: *mut size_t,
9779         __fp: *mut FILE,
9780     ) -> ssize_t;
9781 }
9782 extern "C" {
perror(__msg: *const ::std::os::raw::c_char)9783     pub fn perror(__msg: *const ::std::os::raw::c_char);
9784 }
9785 extern "C" {
printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int9786     pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9787 }
9788 extern "C" {
putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9789     pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9790 }
9791 extern "C" {
putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int9792     pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
9793 }
9794 extern "C" {
puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9795     pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9796 }
9797 extern "C" {
remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int9798     pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
9799 }
9800 extern "C" {
rewind(__fp: *mut FILE)9801     pub fn rewind(__fp: *mut FILE);
9802 }
9803 extern "C" {
scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int9804     pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
9805 }
9806 extern "C" {
setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char)9807     pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
9808 }
9809 extern "C" {
setvbuf( __fp: *mut FILE, __buf: *mut ::std::os::raw::c_char, __mode: ::std::os::raw::c_int, __size: size_t, ) -> ::std::os::raw::c_int9810     pub fn setvbuf(
9811         __fp: *mut FILE,
9812         __buf: *mut ::std::os::raw::c_char,
9813         __mode: ::std::os::raw::c_int,
9814         __size: size_t,
9815     ) -> ::std::os::raw::c_int;
9816 }
9817 extern "C" {
sscanf( __s: *const ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9818     pub fn sscanf(
9819         __s: *const ::std::os::raw::c_char,
9820         __fmt: *const ::std::os::raw::c_char,
9821         ...
9822     ) -> ::std::os::raw::c_int;
9823 }
9824 extern "C" {
ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int9825     pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
9826 }
9827 extern "C" {
vfprintf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9828     pub fn vfprintf(
9829         __fp: *mut FILE,
9830         __fmt: *const ::std::os::raw::c_char,
9831         __args: __builtin_va_list,
9832     ) -> ::std::os::raw::c_int;
9833 }
9834 extern "C" {
vprintf( __fp: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9835     pub fn vprintf(
9836         __fp: *const ::std::os::raw::c_char,
9837         __args: __builtin_va_list,
9838     ) -> ::std::os::raw::c_int;
9839 }
9840 extern "C" {
dprintf( __fd: ::std::os::raw::c_int, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9841     pub fn dprintf(
9842         __fd: ::std::os::raw::c_int,
9843         __fmt: *const ::std::os::raw::c_char,
9844         ...
9845     ) -> ::std::os::raw::c_int;
9846 }
9847 extern "C" {
vdprintf( __fd: ::std::os::raw::c_int, __fmt: *const ::std::os::raw::c_char, __args: va_list, ) -> ::std::os::raw::c_int9848     pub fn vdprintf(
9849         __fd: ::std::os::raw::c_int,
9850         __fmt: *const ::std::os::raw::c_char,
9851         __args: va_list,
9852     ) -> ::std::os::raw::c_int;
9853 }
9854 extern "C" {
sprintf( __s: *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9855     pub fn sprintf(
9856         __s: *mut ::std::os::raw::c_char,
9857         __fmt: *const ::std::os::raw::c_char,
9858         ...
9859     ) -> ::std::os::raw::c_int;
9860 }
9861 extern "C" {
vsprintf( __s: *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9862     pub fn vsprintf(
9863         __s: *mut ::std::os::raw::c_char,
9864         __fmt: *const ::std::os::raw::c_char,
9865         __args: __builtin_va_list,
9866     ) -> ::std::os::raw::c_int;
9867 }
9868 extern "C" {
tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char9869     pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
9870 }
9871 extern "C" {
tempnam( __dir: *const ::std::os::raw::c_char, __prefix: *const ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char9872     pub fn tempnam(
9873         __dir: *const ::std::os::raw::c_char,
9874         __prefix: *const ::std::os::raw::c_char,
9875     ) -> *mut ::std::os::raw::c_char;
9876 }
9877 extern "C" {
rename( __old_path: *const ::std::os::raw::c_char, __new_path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int9878     pub fn rename(
9879         __old_path: *const ::std::os::raw::c_char,
9880         __new_path: *const ::std::os::raw::c_char,
9881     ) -> ::std::os::raw::c_int;
9882 }
9883 extern "C" {
renameat( __old_dir_fd: ::std::os::raw::c_int, __old_path: *const ::std::os::raw::c_char, __new_dir_fd: ::std::os::raw::c_int, __new_path: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int9884     pub fn renameat(
9885         __old_dir_fd: ::std::os::raw::c_int,
9886         __old_path: *const ::std::os::raw::c_char,
9887         __new_dir_fd: ::std::os::raw::c_int,
9888         __new_path: *const ::std::os::raw::c_char,
9889     ) -> ::std::os::raw::c_int;
9890 }
9891 extern "C" {
fseek( __fp: *mut FILE, __offset: ::std::os::raw::c_long, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9892     pub fn fseek(
9893         __fp: *mut FILE,
9894         __offset: ::std::os::raw::c_long,
9895         __whence: ::std::os::raw::c_int,
9896     ) -> ::std::os::raw::c_int;
9897 }
9898 extern "C" {
ftell(__fp: *mut FILE) -> ::std::os::raw::c_long9899     pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
9900 }
9901 extern "C" {
fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int9902     pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
9903 }
9904 extern "C" {
fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int9905     pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
9906 }
9907 extern "C" {
fseeko( __fp: *mut FILE, __offset: off_t, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9908     pub fn fseeko(
9909         __fp: *mut FILE,
9910         __offset: off_t,
9911         __whence: ::std::os::raw::c_int,
9912     ) -> ::std::os::raw::c_int;
9913 }
9914 extern "C" {
ftello(__fp: *mut FILE) -> off_t9915     pub fn ftello(__fp: *mut FILE) -> off_t;
9916 }
9917 extern "C" {
fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int9918     pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
9919 }
9920 extern "C" {
fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int9921     pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
9922 }
9923 extern "C" {
fseeko64( __fp: *mut FILE, __offset: off64_t, __whence: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int9924     pub fn fseeko64(
9925         __fp: *mut FILE,
9926         __offset: off64_t,
9927         __whence: ::std::os::raw::c_int,
9928     ) -> ::std::os::raw::c_int;
9929 }
9930 extern "C" {
ftello64(__fp: *mut FILE) -> off64_t9931     pub fn ftello64(__fp: *mut FILE) -> off64_t;
9932 }
9933 extern "C" {
fopen( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9934     pub fn fopen(
9935         __path: *const ::std::os::raw::c_char,
9936         __mode: *const ::std::os::raw::c_char,
9937     ) -> *mut FILE;
9938 }
9939 extern "C" {
fopen64( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE9940     pub fn fopen64(
9941         __path: *const ::std::os::raw::c_char,
9942         __mode: *const ::std::os::raw::c_char,
9943     ) -> *mut FILE;
9944 }
9945 extern "C" {
freopen( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, __fp: *mut FILE, ) -> *mut FILE9946     pub fn freopen(
9947         __path: *const ::std::os::raw::c_char,
9948         __mode: *const ::std::os::raw::c_char,
9949         __fp: *mut FILE,
9950     ) -> *mut FILE;
9951 }
9952 extern "C" {
freopen64( __path: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, __fp: *mut FILE, ) -> *mut FILE9953     pub fn freopen64(
9954         __path: *const ::std::os::raw::c_char,
9955         __mode: *const ::std::os::raw::c_char,
9956         __fp: *mut FILE,
9957     ) -> *mut FILE;
9958 }
9959 extern "C" {
tmpfile() -> *mut FILE9960     pub fn tmpfile() -> *mut FILE;
9961 }
9962 extern "C" {
tmpfile64() -> *mut FILE9963     pub fn tmpfile64() -> *mut FILE;
9964 }
9965 extern "C" {
snprintf( __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_uint, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int9966     pub fn snprintf(
9967         __buf: *mut ::std::os::raw::c_char,
9968         __size: ::std::os::raw::c_uint,
9969         __fmt: *const ::std::os::raw::c_char,
9970         ...
9971     ) -> ::std::os::raw::c_int;
9972 }
9973 extern "C" {
vfscanf( __fp: *mut FILE, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9974     pub fn vfscanf(
9975         __fp: *mut FILE,
9976         __fmt: *const ::std::os::raw::c_char,
9977         __args: __builtin_va_list,
9978     ) -> ::std::os::raw::c_int;
9979 }
9980 extern "C" {
vscanf( __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9981     pub fn vscanf(
9982         __fmt: *const ::std::os::raw::c_char,
9983         __args: __builtin_va_list,
9984     ) -> ::std::os::raw::c_int;
9985 }
9986 extern "C" {
vsnprintf( __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_uint, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9987     pub fn vsnprintf(
9988         __buf: *mut ::std::os::raw::c_char,
9989         __size: ::std::os::raw::c_uint,
9990         __fmt: *const ::std::os::raw::c_char,
9991         __args: __builtin_va_list,
9992     ) -> ::std::os::raw::c_int;
9993 }
9994 extern "C" {
vsscanf( __s: *const ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, __args: __builtin_va_list, ) -> ::std::os::raw::c_int9995     pub fn vsscanf(
9996         __s: *const ::std::os::raw::c_char,
9997         __fmt: *const ::std::os::raw::c_char,
9998         __args: __builtin_va_list,
9999     ) -> ::std::os::raw::c_int;
10000 }
10001 extern "C" {
ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char10002     pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10003 }
10004 extern "C" {
fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE10005     pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
10006 }
10007 extern "C" {
fileno(__fp: *mut FILE) -> ::std::os::raw::c_int10008     pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
10009 }
10010 extern "C" {
pclose(__fp: *mut FILE) -> ::std::os::raw::c_int10011     pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
10012 }
10013 extern "C" {
popen( __command: *const ::std::os::raw::c_char, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE10014     pub fn popen(
10015         __command: *const ::std::os::raw::c_char,
10016         __mode: *const ::std::os::raw::c_char,
10017     ) -> *mut FILE;
10018 }
10019 extern "C" {
flockfile(__fp: *mut FILE)10020     pub fn flockfile(__fp: *mut FILE);
10021 }
10022 extern "C" {
ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int10023     pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
10024 }
10025 extern "C" {
funlockfile(__fp: *mut FILE)10026     pub fn funlockfile(__fp: *mut FILE);
10027 }
10028 extern "C" {
getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int10029     pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
10030 }
10031 extern "C" {
getchar_unlocked() -> ::std::os::raw::c_int10032     pub fn getchar_unlocked() -> ::std::os::raw::c_int;
10033 }
10034 extern "C" {
putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int10035     pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
10036 }
10037 extern "C" {
putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int10038     pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10039 }
10040 extern "C" {
fmemopen( __buf: *mut ::std::os::raw::c_void, __size: size_t, __mode: *const ::std::os::raw::c_char, ) -> *mut FILE10041     pub fn fmemopen(
10042         __buf: *mut ::std::os::raw::c_void,
10043         __size: size_t,
10044         __mode: *const ::std::os::raw::c_char,
10045     ) -> *mut FILE;
10046 }
10047 extern "C" {
open_memstream( __ptr: *mut *mut ::std::os::raw::c_char, __size_ptr: *mut size_t, ) -> *mut FILE10048     pub fn open_memstream(
10049         __ptr: *mut *mut ::std::os::raw::c_char,
10050         __size_ptr: *mut size_t,
10051     ) -> *mut FILE;
10052 }
10053 extern "C" {
asprintf( __s_ptr: *mut *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, ... ) -> ::std::os::raw::c_int10054     pub fn asprintf(
10055         __s_ptr: *mut *mut ::std::os::raw::c_char,
10056         __fmt: *const ::std::os::raw::c_char,
10057         ...
10058     ) -> ::std::os::raw::c_int;
10059 }
10060 extern "C" {
fgetln(__fp: *mut FILE, __length_ptr: *mut size_t) -> *mut ::std::os::raw::c_char10061     pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut size_t) -> *mut ::std::os::raw::c_char;
10062 }
10063 extern "C" {
fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int10064     pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
10065 }
10066 extern "C" {
setbuffer( __fp: *mut FILE, __buf: *mut ::std::os::raw::c_char, __size: ::std::os::raw::c_int, )10067     pub fn setbuffer(
10068         __fp: *mut FILE,
10069         __buf: *mut ::std::os::raw::c_char,
10070         __size: ::std::os::raw::c_int,
10071     );
10072 }
10073 extern "C" {
setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int10074     pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
10075 }
10076 extern "C" {
vasprintf( __s_ptr: *mut *mut ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, __args: va_list, ) -> ::std::os::raw::c_int10077     pub fn vasprintf(
10078         __s_ptr: *mut *mut ::std::os::raw::c_char,
10079         __fmt: *const ::std::os::raw::c_char,
10080         __args: va_list,
10081     ) -> ::std::os::raw::c_int;
10082 }
10083 extern "C" {
clearerr_unlocked(__fp: *mut FILE)10084     pub fn clearerr_unlocked(__fp: *mut FILE);
10085 }
10086 extern "C" {
feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int10087     pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
10088 }
10089 extern "C" {
ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int10090     pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
10091 }
10092 extern "C" {
fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int10093     pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
10094 }
10095 extern "C" {
malloc(__byte_count: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void10096     pub fn malloc(__byte_count: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
10097 }
10098 extern "C" {
calloc( __item_count: ::std::os::raw::c_uint, __item_size: ::std::os::raw::c_uint, ) -> *mut ::std::os::raw::c_void10099     pub fn calloc(
10100         __item_count: ::std::os::raw::c_uint,
10101         __item_size: ::std::os::raw::c_uint,
10102     ) -> *mut ::std::os::raw::c_void;
10103 }
10104 extern "C" {
realloc( __ptr: *mut ::std::os::raw::c_void, __byte_count: ::std::os::raw::c_uint, ) -> *mut ::std::os::raw::c_void10105     pub fn realloc(
10106         __ptr: *mut ::std::os::raw::c_void,
10107         __byte_count: ::std::os::raw::c_uint,
10108     ) -> *mut ::std::os::raw::c_void;
10109 }
10110 extern "C" {
reallocarray( __ptr: *mut ::std::os::raw::c_void, __item_count: size_t, __item_size: size_t, ) -> *mut ::std::os::raw::c_void10111     pub fn reallocarray(
10112         __ptr: *mut ::std::os::raw::c_void,
10113         __item_count: size_t,
10114         __item_size: size_t,
10115     ) -> *mut ::std::os::raw::c_void;
10116 }
10117 extern "C" {
free(__ptr: *mut ::std::os::raw::c_void)10118     pub fn free(__ptr: *mut ::std::os::raw::c_void);
10119 }
10120 extern "C" {
memalign(__alignment: size_t, __byte_count: size_t) -> *mut ::std::os::raw::c_void10121     pub fn memalign(__alignment: size_t, __byte_count: size_t) -> *mut ::std::os::raw::c_void;
10122 }
10123 extern "C" {
malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> size_t10124     pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> size_t;
10125 }
10126 #[repr(C)]
10127 #[derive(Debug, Copy, Clone)]
10128 pub struct mallinfo {
10129     pub arena: size_t,
10130     pub ordblks: size_t,
10131     pub smblks: size_t,
10132     pub hblks: size_t,
10133     pub hblkhd: size_t,
10134     pub usmblks: size_t,
10135     pub fsmblks: size_t,
10136     pub uordblks: size_t,
10137     pub fordblks: size_t,
10138     pub keepcost: size_t,
10139 }
10140 #[test]
bindgen_test_layout_mallinfo()10141 fn bindgen_test_layout_mallinfo() {
10142     assert_eq!(
10143         ::std::mem::size_of::<mallinfo>(),
10144         40usize,
10145         concat!("Size of: ", stringify!(mallinfo))
10146     );
10147     assert_eq!(
10148         ::std::mem::align_of::<mallinfo>(),
10149         4usize,
10150         concat!("Alignment of ", stringify!(mallinfo))
10151     );
10152     assert_eq!(
10153         unsafe { &(*(::std::ptr::null::<mallinfo>())).arena as *const _ as usize },
10154         0usize,
10155         concat!(
10156             "Offset of field: ",
10157             stringify!(mallinfo),
10158             "::",
10159             stringify!(arena)
10160         )
10161     );
10162     assert_eq!(
10163         unsafe { &(*(::std::ptr::null::<mallinfo>())).ordblks as *const _ as usize },
10164         4usize,
10165         concat!(
10166             "Offset of field: ",
10167             stringify!(mallinfo),
10168             "::",
10169             stringify!(ordblks)
10170         )
10171     );
10172     assert_eq!(
10173         unsafe { &(*(::std::ptr::null::<mallinfo>())).smblks as *const _ as usize },
10174         8usize,
10175         concat!(
10176             "Offset of field: ",
10177             stringify!(mallinfo),
10178             "::",
10179             stringify!(smblks)
10180         )
10181     );
10182     assert_eq!(
10183         unsafe { &(*(::std::ptr::null::<mallinfo>())).hblks as *const _ as usize },
10184         12usize,
10185         concat!(
10186             "Offset of field: ",
10187             stringify!(mallinfo),
10188             "::",
10189             stringify!(hblks)
10190         )
10191     );
10192     assert_eq!(
10193         unsafe { &(*(::std::ptr::null::<mallinfo>())).hblkhd as *const _ as usize },
10194         16usize,
10195         concat!(
10196             "Offset of field: ",
10197             stringify!(mallinfo),
10198             "::",
10199             stringify!(hblkhd)
10200         )
10201     );
10202     assert_eq!(
10203         unsafe { &(*(::std::ptr::null::<mallinfo>())).usmblks as *const _ as usize },
10204         20usize,
10205         concat!(
10206             "Offset of field: ",
10207             stringify!(mallinfo),
10208             "::",
10209             stringify!(usmblks)
10210         )
10211     );
10212     assert_eq!(
10213         unsafe { &(*(::std::ptr::null::<mallinfo>())).fsmblks as *const _ as usize },
10214         24usize,
10215         concat!(
10216             "Offset of field: ",
10217             stringify!(mallinfo),
10218             "::",
10219             stringify!(fsmblks)
10220         )
10221     );
10222     assert_eq!(
10223         unsafe { &(*(::std::ptr::null::<mallinfo>())).uordblks as *const _ as usize },
10224         28usize,
10225         concat!(
10226             "Offset of field: ",
10227             stringify!(mallinfo),
10228             "::",
10229             stringify!(uordblks)
10230         )
10231     );
10232     assert_eq!(
10233         unsafe { &(*(::std::ptr::null::<mallinfo>())).fordblks as *const _ as usize },
10234         32usize,
10235         concat!(
10236             "Offset of field: ",
10237             stringify!(mallinfo),
10238             "::",
10239             stringify!(fordblks)
10240         )
10241     );
10242     assert_eq!(
10243         unsafe { &(*(::std::ptr::null::<mallinfo>())).keepcost as *const _ as usize },
10244         36usize,
10245         concat!(
10246             "Offset of field: ",
10247             stringify!(mallinfo),
10248             "::",
10249             stringify!(keepcost)
10250         )
10251     );
10252 }
10253 extern "C" {
mallinfo() -> mallinfo10254     pub fn mallinfo() -> mallinfo;
10255 }
10256 extern "C" {
malloc_info( __must_be_zero: ::std::os::raw::c_int, __fp: *mut FILE, ) -> ::std::os::raw::c_int10257     pub fn malloc_info(
10258         __must_be_zero: ::std::os::raw::c_int,
10259         __fp: *mut FILE,
10260     ) -> ::std::os::raw::c_int;
10261 }
10262 extern "C" {
mallopt( __option: ::std::os::raw::c_int, __value: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10263     pub fn mallopt(
10264         __option: ::std::os::raw::c_int,
10265         __value: ::std::os::raw::c_int,
10266     ) -> ::std::os::raw::c_int;
10267 }
10268 extern "C" {
10269     pub static mut __malloc_hook: ::std::option::Option<
10270         unsafe extern "C" fn(
10271             __byte_count: size_t,
10272             __caller: *const ::std::os::raw::c_void,
10273         ) -> *mut ::std::os::raw::c_void,
10274     >;
10275 }
10276 extern "C" {
10277     pub static mut __realloc_hook: ::std::option::Option<
10278         unsafe extern "C" fn(
10279             __ptr: *mut ::std::os::raw::c_void,
10280             __byte_count: size_t,
10281             __caller: *const ::std::os::raw::c_void,
10282         ) -> *mut ::std::os::raw::c_void,
10283     >;
10284 }
10285 extern "C" {
10286     pub static mut __free_hook: ::std::option::Option<
10287         unsafe extern "C" fn(
10288             __ptr: *mut ::std::os::raw::c_void,
10289             __caller: *const ::std::os::raw::c_void,
10290         ),
10291     >;
10292 }
10293 extern "C" {
10294     pub static mut __memalign_hook: ::std::option::Option<
10295         unsafe extern "C" fn(
10296             __alignment: size_t,
10297             __byte_count: size_t,
10298             __caller: *const ::std::os::raw::c_void,
10299         ) -> *mut ::std::os::raw::c_void,
10300     >;
10301 }
10302 #[repr(C)]
10303 #[derive(Debug, Copy, Clone)]
10304 pub struct __locale_t {
10305     _unused: [u8; 0],
10306 }
10307 pub type locale_t = *mut __locale_t;
10308 extern "C" {
abort()10309     pub fn abort();
10310 }
10311 extern "C" {
exit(__status: ::std::os::raw::c_int)10312     pub fn exit(__status: ::std::os::raw::c_int);
10313 }
10314 extern "C" {
_Exit(__status: ::std::os::raw::c_int)10315     pub fn _Exit(__status: ::std::os::raw::c_int);
10316 }
10317 extern "C" {
atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int10318     pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
10319 }
10320 extern "C" {
at_quick_exit( __fn: ::std::option::Option<unsafe extern "C" fn()>, ) -> ::std::os::raw::c_int10321     pub fn at_quick_exit(
10322         __fn: ::std::option::Option<unsafe extern "C" fn()>,
10323     ) -> ::std::os::raw::c_int;
10324 }
10325 extern "C" {
quick_exit(__status: ::std::os::raw::c_int)10326     pub fn quick_exit(__status: ::std::os::raw::c_int);
10327 }
10328 extern "C" {
getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char10329     pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10330 }
10331 extern "C" {
putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int10332     pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10333 }
10334 extern "C" {
setenv( __name: *const ::std::os::raw::c_char, __value: *const ::std::os::raw::c_char, __overwrite: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10335     pub fn setenv(
10336         __name: *const ::std::os::raw::c_char,
10337         __value: *const ::std::os::raw::c_char,
10338         __overwrite: ::std::os::raw::c_int,
10339     ) -> ::std::os::raw::c_int;
10340 }
10341 extern "C" {
unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int10342     pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10343 }
10344 extern "C" {
clearenv() -> ::std::os::raw::c_int10345     pub fn clearenv() -> ::std::os::raw::c_int;
10346 }
10347 extern "C" {
mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char10348     pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10349 }
10350 extern "C" {
mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char10351     pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10352 }
10353 extern "C" {
mkostemp64( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10354     pub fn mkostemp64(
10355         __template: *mut ::std::os::raw::c_char,
10356         __flags: ::std::os::raw::c_int,
10357     ) -> ::std::os::raw::c_int;
10358 }
10359 extern "C" {
mkostemp( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10360     pub fn mkostemp(
10361         __template: *mut ::std::os::raw::c_char,
10362         __flags: ::std::os::raw::c_int,
10363     ) -> ::std::os::raw::c_int;
10364 }
10365 extern "C" {
mkostemps64( __template: *mut ::std::os::raw::c_char, __suffix_length: ::std::os::raw::c_int, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10366     pub fn mkostemps64(
10367         __template: *mut ::std::os::raw::c_char,
10368         __suffix_length: ::std::os::raw::c_int,
10369         __flags: ::std::os::raw::c_int,
10370     ) -> ::std::os::raw::c_int;
10371 }
10372 extern "C" {
mkostemps( __template: *mut ::std::os::raw::c_char, __suffix_length: ::std::os::raw::c_int, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10373     pub fn mkostemps(
10374         __template: *mut ::std::os::raw::c_char,
10375         __suffix_length: ::std::os::raw::c_int,
10376         __flags: ::std::os::raw::c_int,
10377     ) -> ::std::os::raw::c_int;
10378 }
10379 extern "C" {
mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int10380     pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10381 }
10382 extern "C" {
mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int10383     pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10384 }
10385 extern "C" {
mkstemps64( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10386     pub fn mkstemps64(
10387         __template: *mut ::std::os::raw::c_char,
10388         __flags: ::std::os::raw::c_int,
10389     ) -> ::std::os::raw::c_int;
10390 }
10391 extern "C" {
mkstemps( __template: *mut ::std::os::raw::c_char, __flags: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10392     pub fn mkstemps(
10393         __template: *mut ::std::os::raw::c_char,
10394         __flags: ::std::os::raw::c_int,
10395     ) -> ::std::os::raw::c_int;
10396 }
10397 extern "C" {
strtol( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_long10398     pub fn strtol(
10399         __s: *const ::std::os::raw::c_char,
10400         __end_ptr: *mut *mut ::std::os::raw::c_char,
10401         __base: ::std::os::raw::c_int,
10402     ) -> ::std::os::raw::c_long;
10403 }
10404 extern "C" {
strtoll( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_longlong10405     pub fn strtoll(
10406         __s: *const ::std::os::raw::c_char,
10407         __end_ptr: *mut *mut ::std::os::raw::c_char,
10408         __base: ::std::os::raw::c_int,
10409     ) -> ::std::os::raw::c_longlong;
10410 }
10411 extern "C" {
strtoul( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_ulong10412     pub fn strtoul(
10413         __s: *const ::std::os::raw::c_char,
10414         __end_ptr: *mut *mut ::std::os::raw::c_char,
10415         __base: ::std::os::raw::c_int,
10416     ) -> ::std::os::raw::c_ulong;
10417 }
10418 extern "C" {
strtoull( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_ulonglong10419     pub fn strtoull(
10420         __s: *const ::std::os::raw::c_char,
10421         __end_ptr: *mut *mut ::std::os::raw::c_char,
10422         __base: ::std::os::raw::c_int,
10423     ) -> ::std::os::raw::c_ulonglong;
10424 }
10425 extern "C" {
posix_memalign( __memptr: *mut *mut ::std::os::raw::c_void, __alignment: size_t, __size: size_t, ) -> ::std::os::raw::c_int10426     pub fn posix_memalign(
10427         __memptr: *mut *mut ::std::os::raw::c_void,
10428         __alignment: size_t,
10429         __size: size_t,
10430     ) -> ::std::os::raw::c_int;
10431 }
10432 extern "C" {
aligned_alloc(__alignment: size_t, __size: size_t) -> *mut ::std::os::raw::c_void10433     pub fn aligned_alloc(__alignment: size_t, __size: size_t) -> *mut ::std::os::raw::c_void;
10434 }
10435 extern "C" {
strtod( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, ) -> f6410436     pub fn strtod(
10437         __s: *const ::std::os::raw::c_char,
10438         __end_ptr: *mut *mut ::std::os::raw::c_char,
10439     ) -> f64;
10440 }
10441 extern "C" {
strtoul_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, __l: locale_t, ) -> ::std::os::raw::c_ulong10442     pub fn strtoul_l(
10443         __s: *const ::std::os::raw::c_char,
10444         __end_ptr: *mut *mut ::std::os::raw::c_char,
10445         __base: ::std::os::raw::c_int,
10446         __l: locale_t,
10447     ) -> ::std::os::raw::c_ulong;
10448 }
10449 extern "C" {
atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int10450     pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10451 }
10452 extern "C" {
atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long10453     pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
10454 }
10455 extern "C" {
atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong10456     pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
10457 }
10458 extern "C" {
realpath( __path: *const ::std::os::raw::c_char, __resolved: *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char10459     pub fn realpath(
10460         __path: *const ::std::os::raw::c_char,
10461         __resolved: *mut ::std::os::raw::c_char,
10462     ) -> *mut ::std::os::raw::c_char;
10463 }
10464 extern "C" {
system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int10465     pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
10466 }
10467 extern "C" {
bsearch( __key: *const ::std::os::raw::c_void, __base: *const ::std::os::raw::c_void, __nmemb: size_t, __size: size_t, __comparator: ::std::option::Option< unsafe extern "C" fn( __lhs: *const ::std::os::raw::c_void, __rhs: *const ::std::os::raw::c_void, ) -> ::std::os::raw::c_int, >, ) -> *mut ::std::os::raw::c_void10468     pub fn bsearch(
10469         __key: *const ::std::os::raw::c_void,
10470         __base: *const ::std::os::raw::c_void,
10471         __nmemb: size_t,
10472         __size: size_t,
10473         __comparator: ::std::option::Option<
10474             unsafe extern "C" fn(
10475                 __lhs: *const ::std::os::raw::c_void,
10476                 __rhs: *const ::std::os::raw::c_void,
10477             ) -> ::std::os::raw::c_int,
10478         >,
10479     ) -> *mut ::std::os::raw::c_void;
10480 }
10481 extern "C" {
qsort( __base: *mut ::std::os::raw::c_void, __nmemb: size_t, __size: size_t, __comparator: ::std::option::Option< unsafe extern "C" fn( __lhs: *const ::std::os::raw::c_void, __rhs: *const ::std::os::raw::c_void, ) -> ::std::os::raw::c_int, >, )10482     pub fn qsort(
10483         __base: *mut ::std::os::raw::c_void,
10484         __nmemb: size_t,
10485         __size: size_t,
10486         __comparator: ::std::option::Option<
10487             unsafe extern "C" fn(
10488                 __lhs: *const ::std::os::raw::c_void,
10489                 __rhs: *const ::std::os::raw::c_void,
10490             ) -> ::std::os::raw::c_int,
10491         >,
10492     );
10493 }
10494 extern "C" {
arc4random() -> u3210495     pub fn arc4random() -> u32;
10496 }
10497 extern "C" {
arc4random_uniform(__upper_bound: u32) -> u3210498     pub fn arc4random_uniform(__upper_bound: u32) -> u32;
10499 }
10500 extern "C" {
arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: size_t)10501     pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: size_t);
10502 }
10503 extern "C" {
rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int10504     pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
10505 }
10506 extern "C" {
drand48() -> f6410507     pub fn drand48() -> f64;
10508 }
10509 extern "C" {
erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f6410510     pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
10511 }
10512 extern "C" {
jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long10513     pub fn jrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
10514 }
10515 extern "C" {
lcong48(__param: *mut ::std::os::raw::c_ushort)10516     pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
10517 }
10518 extern "C" {
lrand48() -> ::std::os::raw::c_long10519     pub fn lrand48() -> ::std::os::raw::c_long;
10520 }
10521 extern "C" {
mrand48() -> ::std::os::raw::c_long10522     pub fn mrand48() -> ::std::os::raw::c_long;
10523 }
10524 extern "C" {
nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long10525     pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
10526 }
10527 extern "C" {
seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort10528     pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
10529 }
10530 extern "C" {
srand48(__seed: ::std::os::raw::c_long)10531     pub fn srand48(__seed: ::std::os::raw::c_long);
10532 }
10533 extern "C" {
initstate( __seed: ::std::os::raw::c_uint, __state: *mut ::std::os::raw::c_char, __n: size_t, ) -> *mut ::std::os::raw::c_char10534     pub fn initstate(
10535         __seed: ::std::os::raw::c_uint,
10536         __state: *mut ::std::os::raw::c_char,
10537         __n: size_t,
10538     ) -> *mut ::std::os::raw::c_char;
10539 }
10540 extern "C" {
setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char10541     pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
10542 }
10543 extern "C" {
getpt() -> ::std::os::raw::c_int10544     pub fn getpt() -> ::std::os::raw::c_int;
10545 }
10546 extern "C" {
posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int10547     pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10548 }
10549 extern "C" {
ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char10550     pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
10551 }
10552 extern "C" {
ptsname_r( __fd: ::std::os::raw::c_int, __buf: *mut ::std::os::raw::c_char, __n: size_t, ) -> ::std::os::raw::c_int10553     pub fn ptsname_r(
10554         __fd: ::std::os::raw::c_int,
10555         __buf: *mut ::std::os::raw::c_char,
10556         __n: size_t,
10557     ) -> ::std::os::raw::c_int;
10558 }
10559 extern "C" {
unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int10560     pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10561 }
10562 extern "C" {
getsubopt( __option: *mut *mut ::std::os::raw::c_char, __tokens: *const *mut ::std::os::raw::c_char, __value_ptr: *mut *mut ::std::os::raw::c_char, ) -> ::std::os::raw::c_int10563     pub fn getsubopt(
10564         __option: *mut *mut ::std::os::raw::c_char,
10565         __tokens: *const *mut ::std::os::raw::c_char,
10566         __value_ptr: *mut *mut ::std::os::raw::c_char,
10567     ) -> ::std::os::raw::c_int;
10568 }
10569 #[repr(C)]
10570 #[derive(Debug, Copy, Clone)]
10571 pub struct div_t {
10572     pub quot: ::std::os::raw::c_int,
10573     pub rem: ::std::os::raw::c_int,
10574 }
10575 #[test]
bindgen_test_layout_div_t()10576 fn bindgen_test_layout_div_t() {
10577     assert_eq!(
10578         ::std::mem::size_of::<div_t>(),
10579         8usize,
10580         concat!("Size of: ", stringify!(div_t))
10581     );
10582     assert_eq!(
10583         ::std::mem::align_of::<div_t>(),
10584         4usize,
10585         concat!("Alignment of ", stringify!(div_t))
10586     );
10587     assert_eq!(
10588         unsafe { &(*(::std::ptr::null::<div_t>())).quot as *const _ as usize },
10589         0usize,
10590         concat!(
10591             "Offset of field: ",
10592             stringify!(div_t),
10593             "::",
10594             stringify!(quot)
10595         )
10596     );
10597     assert_eq!(
10598         unsafe { &(*(::std::ptr::null::<div_t>())).rem as *const _ as usize },
10599         4usize,
10600         concat!(
10601             "Offset of field: ",
10602             stringify!(div_t),
10603             "::",
10604             stringify!(rem)
10605         )
10606     );
10607 }
10608 extern "C" {
div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t10609     pub fn div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t;
10610 }
10611 #[repr(C)]
10612 #[derive(Debug, Copy, Clone)]
10613 pub struct ldiv_t {
10614     pub quot: ::std::os::raw::c_long,
10615     pub rem: ::std::os::raw::c_long,
10616 }
10617 #[test]
bindgen_test_layout_ldiv_t()10618 fn bindgen_test_layout_ldiv_t() {
10619     assert_eq!(
10620         ::std::mem::size_of::<ldiv_t>(),
10621         8usize,
10622         concat!("Size of: ", stringify!(ldiv_t))
10623     );
10624     assert_eq!(
10625         ::std::mem::align_of::<ldiv_t>(),
10626         4usize,
10627         concat!("Alignment of ", stringify!(ldiv_t))
10628     );
10629     assert_eq!(
10630         unsafe { &(*(::std::ptr::null::<ldiv_t>())).quot as *const _ as usize },
10631         0usize,
10632         concat!(
10633             "Offset of field: ",
10634             stringify!(ldiv_t),
10635             "::",
10636             stringify!(quot)
10637         )
10638     );
10639     assert_eq!(
10640         unsafe { &(*(::std::ptr::null::<ldiv_t>())).rem as *const _ as usize },
10641         4usize,
10642         concat!(
10643             "Offset of field: ",
10644             stringify!(ldiv_t),
10645             "::",
10646             stringify!(rem)
10647         )
10648     );
10649 }
10650 extern "C" {
ldiv( __numerator: ::std::os::raw::c_long, __denominator: ::std::os::raw::c_long, ) -> ldiv_t10651     pub fn ldiv(
10652         __numerator: ::std::os::raw::c_long,
10653         __denominator: ::std::os::raw::c_long,
10654     ) -> ldiv_t;
10655 }
10656 #[repr(C)]
10657 #[derive(Debug, Copy, Clone)]
10658 pub struct lldiv_t {
10659     pub quot: ::std::os::raw::c_longlong,
10660     pub rem: ::std::os::raw::c_longlong,
10661 }
10662 #[test]
bindgen_test_layout_lldiv_t()10663 fn bindgen_test_layout_lldiv_t() {
10664     assert_eq!(
10665         ::std::mem::size_of::<lldiv_t>(),
10666         16usize,
10667         concat!("Size of: ", stringify!(lldiv_t))
10668     );
10669     assert_eq!(
10670         ::std::mem::align_of::<lldiv_t>(),
10671         8usize,
10672         concat!("Alignment of ", stringify!(lldiv_t))
10673     );
10674     assert_eq!(
10675         unsafe { &(*(::std::ptr::null::<lldiv_t>())).quot as *const _ as usize },
10676         0usize,
10677         concat!(
10678             "Offset of field: ",
10679             stringify!(lldiv_t),
10680             "::",
10681             stringify!(quot)
10682         )
10683     );
10684     assert_eq!(
10685         unsafe { &(*(::std::ptr::null::<lldiv_t>())).rem as *const _ as usize },
10686         8usize,
10687         concat!(
10688             "Offset of field: ",
10689             stringify!(lldiv_t),
10690             "::",
10691             stringify!(rem)
10692         )
10693     );
10694 }
10695 extern "C" {
lldiv( __numerator: ::std::os::raw::c_longlong, __denominator: ::std::os::raw::c_longlong, ) -> lldiv_t10696     pub fn lldiv(
10697         __numerator: ::std::os::raw::c_longlong,
10698         __denominator: ::std::os::raw::c_longlong,
10699     ) -> lldiv_t;
10700 }
10701 extern "C" {
getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int10702     pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10703 }
10704 extern "C" {
getprogname() -> *const ::std::os::raw::c_char10705     pub fn getprogname() -> *const ::std::os::raw::c_char;
10706 }
10707 extern "C" {
setprogname(__name: *const ::std::os::raw::c_char)10708     pub fn setprogname(__name: *const ::std::os::raw::c_char);
10709 }
10710 extern "C" {
mblen(__s: *const ::std::os::raw::c_char, __n: size_t) -> ::std::os::raw::c_int10711     pub fn mblen(__s: *const ::std::os::raw::c_char, __n: size_t) -> ::std::os::raw::c_int;
10712 }
10713 extern "C" {
mbstowcs( __dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: size_t, ) -> size_t10714     pub fn mbstowcs(
10715         __dst: *mut wchar_t,
10716         __src: *const ::std::os::raw::c_char,
10717         __n: size_t,
10718     ) -> size_t;
10719 }
10720 extern "C" {
mbtowc( __wc_ptr: *mut wchar_t, __s: *const ::std::os::raw::c_char, __n: size_t, ) -> ::std::os::raw::c_int10721     pub fn mbtowc(
10722         __wc_ptr: *mut wchar_t,
10723         __s: *const ::std::os::raw::c_char,
10724         __n: size_t,
10725     ) -> ::std::os::raw::c_int;
10726 }
10727 extern "C" {
wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int10728     pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
10729 }
10730 extern "C" {
wcstombs( __dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: size_t, ) -> size_t10731     pub fn wcstombs(
10732         __dst: *mut ::std::os::raw::c_char,
10733         __src: *const wchar_t,
10734         __n: size_t,
10735     ) -> size_t;
10736 }
10737 extern "C" {
__ctype_get_mb_cur_max() -> size_t10738     pub fn __ctype_get_mb_cur_max() -> size_t;
10739 }
10740 extern "C" {
abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int10741     pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10742 }
10743 extern "C" {
labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long10744     pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
10745 }
10746 extern "C" {
llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong10747     pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
10748 }
10749 extern "C" {
strtof( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, ) -> f3210750     pub fn strtof(
10751         __s: *const ::std::os::raw::c_char,
10752         __end_ptr: *mut *mut ::std::os::raw::c_char,
10753     ) -> f32;
10754 }
10755 extern "C" {
atof(__s: *const ::std::os::raw::c_char) -> f6410756     pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
10757 }
10758 extern "C" {
rand() -> ::std::os::raw::c_int10759     pub fn rand() -> ::std::os::raw::c_int;
10760 }
10761 extern "C" {
srand(__seed: ::std::os::raw::c_uint)10762     pub fn srand(__seed: ::std::os::raw::c_uint);
10763 }
10764 extern "C" {
random() -> ::std::os::raw::c_long10765     pub fn random() -> ::std::os::raw::c_long;
10766 }
10767 extern "C" {
srandom(__seed: ::std::os::raw::c_uint)10768     pub fn srandom(__seed: ::std::os::raw::c_uint);
10769 }
10770 extern "C" {
grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int10771     pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
10772 }
10773 extern "C" {
strtoll_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, __l: locale_t, ) -> ::std::os::raw::c_longlong10774     pub fn strtoll_l(
10775         __s: *const ::std::os::raw::c_char,
10776         __end_ptr: *mut *mut ::std::os::raw::c_char,
10777         __base: ::std::os::raw::c_int,
10778         __l: locale_t,
10779     ) -> ::std::os::raw::c_longlong;
10780 }
10781 extern "C" {
strtoull_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __base: ::std::os::raw::c_int, __l: locale_t, ) -> ::std::os::raw::c_ulonglong10782     pub fn strtoull_l(
10783         __s: *const ::std::os::raw::c_char,
10784         __end_ptr: *mut *mut ::std::os::raw::c_char,
10785         __base: ::std::os::raw::c_int,
10786         __l: locale_t,
10787     ) -> ::std::os::raw::c_ulonglong;
10788 }
10789 extern "C" {
strtold_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __l: locale_t, ) -> f6410790     pub fn strtold_l(
10791         __s: *const ::std::os::raw::c_char,
10792         __end_ptr: *mut *mut ::std::os::raw::c_char,
10793         __l: locale_t,
10794     ) -> f64;
10795 }
10796 extern "C" {
strtod_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __l: locale_t, ) -> f6410797     pub fn strtod_l(
10798         __s: *const ::std::os::raw::c_char,
10799         __end_ptr: *mut *mut ::std::os::raw::c_char,
10800         __l: locale_t,
10801     ) -> f64;
10802 }
10803 extern "C" {
strtof_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, __l: locale_t, ) -> f3210804     pub fn strtof_l(
10805         __s: *const ::std::os::raw::c_char,
10806         __end_ptr: *mut *mut ::std::os::raw::c_char,
10807         __l: locale_t,
10808     ) -> f32;
10809 }
10810 extern "C" {
strtol_l( __s: *const ::std::os::raw::c_char, __end_ptr: *mut *mut ::std::os::raw::c_char, arg1: ::std::os::raw::c_int, __l: locale_t, ) -> ::std::os::raw::c_long10811     pub fn strtol_l(
10812         __s: *const ::std::os::raw::c_char,
10813         __end_ptr: *mut *mut ::std::os::raw::c_char,
10814         arg1: ::std::os::raw::c_int,
10815         __l: locale_t,
10816     ) -> ::std::os::raw::c_long;
10817 }
10818 pub type net_handle_t = u64;
10819 extern "C" {
android_setsocknetwork( network: net_handle_t, fd: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int10820     pub fn android_setsocknetwork(
10821         network: net_handle_t,
10822         fd: ::std::os::raw::c_int,
10823     ) -> ::std::os::raw::c_int;
10824 }
10825 extern "C" {
android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int10826     pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
10827 }
10828 extern "C" {
android_getaddrinfofornetwork( network: net_handle_t, node: *const ::std::os::raw::c_char, service: *const ::std::os::raw::c_char, hints: *const addrinfo, res: *mut *mut addrinfo, ) -> ::std::os::raw::c_int10829     pub fn android_getaddrinfofornetwork(
10830         network: net_handle_t,
10831         node: *const ::std::os::raw::c_char,
10832         service: *const ::std::os::raw::c_char,
10833         hints: *const addrinfo,
10834         res: *mut *mut addrinfo,
10835     ) -> ::std::os::raw::c_int;
10836 }
10837 pub const ResNsendFlags_ANDROID_RESOLV_NO_RETRY: ResNsendFlags = 1;
10838 pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = 2;
10839 pub const ResNsendFlags_ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = 4;
10840 pub type ResNsendFlags = u32;
10841 extern "C" {
android_res_nquery( network: net_handle_t, dname: *const ::std::os::raw::c_char, ns_class: ::std::os::raw::c_int, ns_type: ::std::os::raw::c_int, flags: u32, ) -> ::std::os::raw::c_int10842     pub fn android_res_nquery(
10843         network: net_handle_t,
10844         dname: *const ::std::os::raw::c_char,
10845         ns_class: ::std::os::raw::c_int,
10846         ns_type: ::std::os::raw::c_int,
10847         flags: u32,
10848     ) -> ::std::os::raw::c_int;
10849 }
10850 extern "C" {
android_res_nsend( network: net_handle_t, msg: *const u8, msglen: size_t, flags: u32, ) -> ::std::os::raw::c_int10851     pub fn android_res_nsend(
10852         network: net_handle_t,
10853         msg: *const u8,
10854         msglen: size_t,
10855         flags: u32,
10856     ) -> ::std::os::raw::c_int;
10857 }
10858 extern "C" {
android_res_nresult( fd: ::std::os::raw::c_int, rcode: *mut ::std::os::raw::c_int, answer: *mut u8, anslen: size_t, ) -> ::std::os::raw::c_int10859     pub fn android_res_nresult(
10860         fd: ::std::os::raw::c_int,
10861         rcode: *mut ::std::os::raw::c_int,
10862         answer: *mut u8,
10863         anslen: size_t,
10864     ) -> ::std::os::raw::c_int;
10865 }
10866 extern "C" {
android_res_cancel(nsend_fd: ::std::os::raw::c_int)10867     pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
10868 }
10869 pub const OperandCode_ANEURALNETWORKS_FLOAT32: OperandCode = 0;
10870 pub const OperandCode_ANEURALNETWORKS_INT32: OperandCode = 1;
10871 pub const OperandCode_ANEURALNETWORKS_UINT32: OperandCode = 2;
10872 pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = 3;
10873 pub const OperandCode_ANEURALNETWORKS_TENSOR_INT32: OperandCode = 4;
10874 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = 5;
10875 pub const OperandCode_ANEURALNETWORKS_BOOL: OperandCode = 6;
10876 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = 7;
10877 pub const OperandCode_ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = 8;
10878 pub const OperandCode_ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = 9;
10879 pub const OperandCode_ANEURALNETWORKS_FLOAT16: OperandCode = 10;
10880 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = 11;
10881 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = 12;
10882 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = 13;
10883 pub const OperandCode_ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED: OperandCode = 14;
10884 pub const OperandCode_ANEURALNETWORKS_MODEL: OperandCode = 15;
10885 pub type OperandCode = u32;
10886 pub const OperationCode_ANEURALNETWORKS_ADD: OperationCode = 0;
10887 pub const OperationCode_ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = 1;
10888 pub const OperationCode_ANEURALNETWORKS_CONCATENATION: OperationCode = 2;
10889 pub const OperationCode_ANEURALNETWORKS_CONV_2D: OperationCode = 3;
10890 pub const OperationCode_ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = 4;
10891 pub const OperationCode_ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = 5;
10892 pub const OperationCode_ANEURALNETWORKS_DEQUANTIZE: OperationCode = 6;
10893 pub const OperationCode_ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = 7;
10894 pub const OperationCode_ANEURALNETWORKS_FLOOR: OperationCode = 8;
10895 pub const OperationCode_ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = 9;
10896 pub const OperationCode_ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = 10;
10897 pub const OperationCode_ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = 11;
10898 pub const OperationCode_ANEURALNETWORKS_L2_POOL_2D: OperationCode = 12;
10899 pub const OperationCode_ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = 13;
10900 pub const OperationCode_ANEURALNETWORKS_LOGISTIC: OperationCode = 14;
10901 pub const OperationCode_ANEURALNETWORKS_LSH_PROJECTION: OperationCode = 15;
10902 pub const OperationCode_ANEURALNETWORKS_LSTM: OperationCode = 16;
10903 pub const OperationCode_ANEURALNETWORKS_MAX_POOL_2D: OperationCode = 17;
10904 pub const OperationCode_ANEURALNETWORKS_MUL: OperationCode = 18;
10905 pub const OperationCode_ANEURALNETWORKS_RELU: OperationCode = 19;
10906 pub const OperationCode_ANEURALNETWORKS_RELU1: OperationCode = 20;
10907 pub const OperationCode_ANEURALNETWORKS_RELU6: OperationCode = 21;
10908 pub const OperationCode_ANEURALNETWORKS_RESHAPE: OperationCode = 22;
10909 pub const OperationCode_ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = 23;
10910 pub const OperationCode_ANEURALNETWORKS_RNN: OperationCode = 24;
10911 pub const OperationCode_ANEURALNETWORKS_SOFTMAX: OperationCode = 25;
10912 pub const OperationCode_ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = 26;
10913 pub const OperationCode_ANEURALNETWORKS_SVDF: OperationCode = 27;
10914 pub const OperationCode_ANEURALNETWORKS_TANH: OperationCode = 28;
10915 pub const OperationCode_ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = 29;
10916 pub const OperationCode_ANEURALNETWORKS_DIV: OperationCode = 30;
10917 pub const OperationCode_ANEURALNETWORKS_MEAN: OperationCode = 31;
10918 pub const OperationCode_ANEURALNETWORKS_PAD: OperationCode = 32;
10919 pub const OperationCode_ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = 33;
10920 pub const OperationCode_ANEURALNETWORKS_SQUEEZE: OperationCode = 34;
10921 pub const OperationCode_ANEURALNETWORKS_STRIDED_SLICE: OperationCode = 35;
10922 pub const OperationCode_ANEURALNETWORKS_SUB: OperationCode = 36;
10923 pub const OperationCode_ANEURALNETWORKS_TRANSPOSE: OperationCode = 37;
10924 pub const OperationCode_ANEURALNETWORKS_ABS: OperationCode = 38;
10925 pub const OperationCode_ANEURALNETWORKS_ARGMAX: OperationCode = 39;
10926 pub const OperationCode_ANEURALNETWORKS_ARGMIN: OperationCode = 40;
10927 pub const OperationCode_ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = 41;
10928 pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 42;
10929 pub const OperationCode_ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 43;
10930 pub const OperationCode_ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = 44;
10931 pub const OperationCode_ANEURALNETWORKS_CAST: OperationCode = 45;
10932 pub const OperationCode_ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = 46;
10933 pub const OperationCode_ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = 47;
10934 pub const OperationCode_ANEURALNETWORKS_EQUAL: OperationCode = 48;
10935 pub const OperationCode_ANEURALNETWORKS_EXP: OperationCode = 49;
10936 pub const OperationCode_ANEURALNETWORKS_EXPAND_DIMS: OperationCode = 50;
10937 pub const OperationCode_ANEURALNETWORKS_GATHER: OperationCode = 51;
10938 pub const OperationCode_ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = 52;
10939 pub const OperationCode_ANEURALNETWORKS_GREATER: OperationCode = 53;
10940 pub const OperationCode_ANEURALNETWORKS_GREATER_EQUAL: OperationCode = 54;
10941 pub const OperationCode_ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = 55;
10942 pub const OperationCode_ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = 56;
10943 pub const OperationCode_ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = 57;
10944 pub const OperationCode_ANEURALNETWORKS_LESS: OperationCode = 58;
10945 pub const OperationCode_ANEURALNETWORKS_LESS_EQUAL: OperationCode = 59;
10946 pub const OperationCode_ANEURALNETWORKS_LOG: OperationCode = 60;
10947 pub const OperationCode_ANEURALNETWORKS_LOGICAL_AND: OperationCode = 61;
10948 pub const OperationCode_ANEURALNETWORKS_LOGICAL_NOT: OperationCode = 62;
10949 pub const OperationCode_ANEURALNETWORKS_LOGICAL_OR: OperationCode = 63;
10950 pub const OperationCode_ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = 64;
10951 pub const OperationCode_ANEURALNETWORKS_MAXIMUM: OperationCode = 65;
10952 pub const OperationCode_ANEURALNETWORKS_MINIMUM: OperationCode = 66;
10953 pub const OperationCode_ANEURALNETWORKS_NEG: OperationCode = 67;
10954 pub const OperationCode_ANEURALNETWORKS_NOT_EQUAL: OperationCode = 68;
10955 pub const OperationCode_ANEURALNETWORKS_PAD_V2: OperationCode = 69;
10956 pub const OperationCode_ANEURALNETWORKS_POW: OperationCode = 70;
10957 pub const OperationCode_ANEURALNETWORKS_PRELU: OperationCode = 71;
10958 pub const OperationCode_ANEURALNETWORKS_QUANTIZE: OperationCode = 72;
10959 pub const OperationCode_ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = 73;
10960 pub const OperationCode_ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = 74;
10961 pub const OperationCode_ANEURALNETWORKS_REDUCE_ALL: OperationCode = 75;
10962 pub const OperationCode_ANEURALNETWORKS_REDUCE_ANY: OperationCode = 76;
10963 pub const OperationCode_ANEURALNETWORKS_REDUCE_MAX: OperationCode = 77;
10964 pub const OperationCode_ANEURALNETWORKS_REDUCE_MIN: OperationCode = 78;
10965 pub const OperationCode_ANEURALNETWORKS_REDUCE_PROD: OperationCode = 79;
10966 pub const OperationCode_ANEURALNETWORKS_REDUCE_SUM: OperationCode = 80;
10967 pub const OperationCode_ANEURALNETWORKS_ROI_ALIGN: OperationCode = 81;
10968 pub const OperationCode_ANEURALNETWORKS_ROI_POOLING: OperationCode = 82;
10969 pub const OperationCode_ANEURALNETWORKS_RSQRT: OperationCode = 83;
10970 pub const OperationCode_ANEURALNETWORKS_SELECT: OperationCode = 84;
10971 pub const OperationCode_ANEURALNETWORKS_SIN: OperationCode = 85;
10972 pub const OperationCode_ANEURALNETWORKS_SLICE: OperationCode = 86;
10973 pub const OperationCode_ANEURALNETWORKS_SPLIT: OperationCode = 87;
10974 pub const OperationCode_ANEURALNETWORKS_SQRT: OperationCode = 88;
10975 pub const OperationCode_ANEURALNETWORKS_TILE: OperationCode = 89;
10976 pub const OperationCode_ANEURALNETWORKS_TOPK_V2: OperationCode = 90;
10977 pub const OperationCode_ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = 91;
10978 pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = 92;
10979 pub const OperationCode_ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = 93;
10980 pub const OperationCode_ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = 94;
10981 pub const OperationCode_ANEURALNETWORKS_QUANTIZED_LSTM: OperationCode = 95;
10982 pub const OperationCode_ANEURALNETWORKS_IF: OperationCode = 96;
10983 pub const OperationCode_ANEURALNETWORKS_WHILE: OperationCode = 97;
10984 pub const OperationCode_ANEURALNETWORKS_ELU: OperationCode = 98;
10985 pub const OperationCode_ANEURALNETWORKS_HARD_SWISH: OperationCode = 99;
10986 pub const OperationCode_ANEURALNETWORKS_FILL: OperationCode = 100;
10987 pub const OperationCode_ANEURALNETWORKS_RANK: OperationCode = 101;
10988 pub type OperationCode = u32;
10989 pub const FuseCode_ANEURALNETWORKS_FUSED_NONE: FuseCode = 0;
10990 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU: FuseCode = 1;
10991 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU1: FuseCode = 2;
10992 pub const FuseCode_ANEURALNETWORKS_FUSED_RELU6: FuseCode = 3;
10993 pub type FuseCode = u32;
10994 pub const PaddingCode_ANEURALNETWORKS_PADDING_SAME: PaddingCode = 1;
10995 pub const PaddingCode_ANEURALNETWORKS_PADDING_VALID: PaddingCode = 2;
10996 pub type PaddingCode = u32;
10997 pub const PreferenceCode_ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = 0;
10998 pub const PreferenceCode_ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = 1;
10999 pub const PreferenceCode_ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = 2;
11000 pub type PreferenceCode = u32;
11001 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = 0;
11002 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = 1;
11003 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = 2;
11004 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = 3;
11005 pub const DeviceTypeCode_ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = 4;
11006 pub type DeviceTypeCode = u32;
11007 pub const ResultCode_ANEURALNETWORKS_NO_ERROR: ResultCode = 0;
11008 pub const ResultCode_ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = 1;
11009 pub const ResultCode_ANEURALNETWORKS_INCOMPLETE: ResultCode = 2;
11010 pub const ResultCode_ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = 3;
11011 pub const ResultCode_ANEURALNETWORKS_BAD_DATA: ResultCode = 4;
11012 pub const ResultCode_ANEURALNETWORKS_OP_FAILED: ResultCode = 5;
11013 pub const ResultCode_ANEURALNETWORKS_BAD_STATE: ResultCode = 6;
11014 pub const ResultCode_ANEURALNETWORKS_UNMAPPABLE: ResultCode = 7;
11015 pub const ResultCode_ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = 8;
11016 pub const ResultCode_ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = 9;
11017 pub const ResultCode_ANEURALNETWORKS_MISSED_DEADLINE_TRANSIENT: ResultCode = 10;
11018 pub const ResultCode_ANEURALNETWORKS_MISSED_DEADLINE_PERSISTENT: ResultCode = 11;
11019 pub const ResultCode_ANEURALNETWORKS_RESOURCE_EXHAUSTED_TRANSIENT: ResultCode = 12;
11020 pub const ResultCode_ANEURALNETWORKS_RESOURCE_EXHAUSTED_PERSISTENT: ResultCode = 13;
11021 pub const ResultCode_ANEURALNETWORKS_DEAD_OBJECT: ResultCode = 14;
11022 pub type ResultCode = u32;
11023 pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: _bindgen_ty_27 = 128;
11024 pub type _bindgen_ty_27 = u32;
11025 pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: _bindgen_ty_28 = 32;
11026 pub type _bindgen_ty_28 = u32;
11027 pub const DurationCode_ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = 0;
11028 pub const DurationCode_ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = 1;
11029 pub const DurationCode_ANEURALNETWORKS_FENCED_DURATION_ON_HARDWARE: DurationCode = 2;
11030 pub const DurationCode_ANEURALNETWORKS_FENCED_DURATION_IN_DRIVER: DurationCode = 3;
11031 pub type DurationCode = u32;
11032 pub const PriorityCode_ANEURALNETWORKS_PRIORITY_LOW: PriorityCode = 90;
11033 pub const PriorityCode_ANEURALNETWORKS_PRIORITY_MEDIUM: PriorityCode = 100;
11034 pub const PriorityCode_ANEURALNETWORKS_PRIORITY_HIGH: PriorityCode = 110;
11035 pub const PriorityCode_ANEURALNETWORKS_PRIORITY_DEFAULT: PriorityCode = 100;
11036 pub type PriorityCode = u32;
11037 #[repr(C)]
11038 #[derive(Debug, Copy, Clone)]
11039 pub struct ANeuralNetworksMemory {
11040     _unused: [u8; 0],
11041 }
11042 #[repr(C)]
11043 #[derive(Debug, Copy, Clone)]
11044 pub struct ANeuralNetworksModel {
11045     _unused: [u8; 0],
11046 }
11047 #[repr(C)]
11048 #[derive(Debug, Copy, Clone)]
11049 pub struct ANeuralNetworksCompilation {
11050     _unused: [u8; 0],
11051 }
11052 #[repr(C)]
11053 #[derive(Debug, Copy, Clone)]
11054 pub struct ANeuralNetworksExecution {
11055     _unused: [u8; 0],
11056 }
11057 #[repr(C)]
11058 #[derive(Debug, Copy, Clone)]
11059 pub struct ANeuralNetworksSymmPerChannelQuantParams {
11060     pub channelDim: u32,
11061     pub scaleCount: u32,
11062     pub scales: *const f32,
11063 }
11064 #[test]
bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams()11065 fn bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams() {
11066     assert_eq!(
11067         ::std::mem::size_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
11068         12usize,
11069         concat!(
11070             "Size of: ",
11071             stringify!(ANeuralNetworksSymmPerChannelQuantParams)
11072         )
11073     );
11074     assert_eq!(
11075         ::std::mem::align_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
11076         4usize,
11077         concat!(
11078             "Alignment of ",
11079             stringify!(ANeuralNetworksSymmPerChannelQuantParams)
11080         )
11081     );
11082     assert_eq!(
11083         unsafe {
11084             &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).channelDim
11085                 as *const _ as usize
11086         },
11087         0usize,
11088         concat!(
11089             "Offset of field: ",
11090             stringify!(ANeuralNetworksSymmPerChannelQuantParams),
11091             "::",
11092             stringify!(channelDim)
11093         )
11094     );
11095     assert_eq!(
11096         unsafe {
11097             &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scaleCount
11098                 as *const _ as usize
11099         },
11100         4usize,
11101         concat!(
11102             "Offset of field: ",
11103             stringify!(ANeuralNetworksSymmPerChannelQuantParams),
11104             "::",
11105             stringify!(scaleCount)
11106         )
11107     );
11108     assert_eq!(
11109         unsafe {
11110             &(*(::std::ptr::null::<ANeuralNetworksSymmPerChannelQuantParams>())).scales as *const _
11111                 as usize
11112         },
11113         8usize,
11114         concat!(
11115             "Offset of field: ",
11116             stringify!(ANeuralNetworksSymmPerChannelQuantParams),
11117             "::",
11118             stringify!(scales)
11119         )
11120     );
11121 }
11122 #[repr(C)]
11123 #[derive(Debug, Copy, Clone)]
11124 pub struct ANeuralNetworksBurst {
11125     _unused: [u8; 0],
11126 }
11127 #[repr(C)]
11128 #[derive(Debug, Copy, Clone)]
11129 pub struct ANeuralNetworksOperandType {
11130     pub type_: i32,
11131     pub dimensionCount: u32,
11132     pub dimensions: *const u32,
11133     pub scale: f32,
11134     pub zeroPoint: i32,
11135 }
11136 #[test]
bindgen_test_layout_ANeuralNetworksOperandType()11137 fn bindgen_test_layout_ANeuralNetworksOperandType() {
11138     assert_eq!(
11139         ::std::mem::size_of::<ANeuralNetworksOperandType>(),
11140         20usize,
11141         concat!("Size of: ", stringify!(ANeuralNetworksOperandType))
11142     );
11143     assert_eq!(
11144         ::std::mem::align_of::<ANeuralNetworksOperandType>(),
11145         4usize,
11146         concat!("Alignment of ", stringify!(ANeuralNetworksOperandType))
11147     );
11148     assert_eq!(
11149         unsafe {
11150             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).type_ as *const _ as usize
11151         },
11152         0usize,
11153         concat!(
11154             "Offset of field: ",
11155             stringify!(ANeuralNetworksOperandType),
11156             "::",
11157             stringify!(type_)
11158         )
11159     );
11160     assert_eq!(
11161         unsafe {
11162             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensionCount as *const _
11163                 as usize
11164         },
11165         4usize,
11166         concat!(
11167             "Offset of field: ",
11168             stringify!(ANeuralNetworksOperandType),
11169             "::",
11170             stringify!(dimensionCount)
11171         )
11172     );
11173     assert_eq!(
11174         unsafe {
11175             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).dimensions as *const _ as usize
11176         },
11177         8usize,
11178         concat!(
11179             "Offset of field: ",
11180             stringify!(ANeuralNetworksOperandType),
11181             "::",
11182             stringify!(dimensions)
11183         )
11184     );
11185     assert_eq!(
11186         unsafe {
11187             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).scale as *const _ as usize
11188         },
11189         12usize,
11190         concat!(
11191             "Offset of field: ",
11192             stringify!(ANeuralNetworksOperandType),
11193             "::",
11194             stringify!(scale)
11195         )
11196     );
11197     assert_eq!(
11198         unsafe {
11199             &(*(::std::ptr::null::<ANeuralNetworksOperandType>())).zeroPoint as *const _ as usize
11200         },
11201         16usize,
11202         concat!(
11203             "Offset of field: ",
11204             stringify!(ANeuralNetworksOperandType),
11205             "::",
11206             stringify!(zeroPoint)
11207         )
11208     );
11209 }
11210 pub type ANeuralNetworksOperationType = i32;
11211 #[repr(C)]
11212 #[derive(Debug, Copy, Clone)]
11213 pub struct ANeuralNetworksEvent {
11214     _unused: [u8; 0],
11215 }
11216 #[repr(C)]
11217 #[derive(Debug, Copy, Clone)]
11218 pub struct ANeuralNetworksDevice {
11219     _unused: [u8; 0],
11220 }
11221 #[repr(C)]
11222 #[derive(Debug, Copy, Clone)]
11223 pub struct ANeuralNetworksMemoryDesc {
11224     _unused: [u8; 0],
11225 }
11226 extern "C" {
ANeuralNetworksMemoryDesc_create( desc: *mut *mut ANeuralNetworksMemoryDesc, ) -> ::std::os::raw::c_int11227     pub fn ANeuralNetworksMemoryDesc_create(
11228         desc: *mut *mut ANeuralNetworksMemoryDesc,
11229     ) -> ::std::os::raw::c_int;
11230 }
11231 extern "C" {
ANeuralNetworksMemoryDesc_free(desc: *mut ANeuralNetworksMemoryDesc)11232     pub fn ANeuralNetworksMemoryDesc_free(desc: *mut ANeuralNetworksMemoryDesc);
11233 }
11234 extern "C" {
ANeuralNetworksMemoryDesc_addInputRole( desc: *mut ANeuralNetworksMemoryDesc, compilation: *const ANeuralNetworksCompilation, index: u32, frequency: f32, ) -> ::std::os::raw::c_int11235     pub fn ANeuralNetworksMemoryDesc_addInputRole(
11236         desc: *mut ANeuralNetworksMemoryDesc,
11237         compilation: *const ANeuralNetworksCompilation,
11238         index: u32,
11239         frequency: f32,
11240     ) -> ::std::os::raw::c_int;
11241 }
11242 extern "C" {
ANeuralNetworksMemoryDesc_addOutputRole( desc: *mut ANeuralNetworksMemoryDesc, compilation: *const ANeuralNetworksCompilation, index: u32, frequency: f32, ) -> ::std::os::raw::c_int11243     pub fn ANeuralNetworksMemoryDesc_addOutputRole(
11244         desc: *mut ANeuralNetworksMemoryDesc,
11245         compilation: *const ANeuralNetworksCompilation,
11246         index: u32,
11247         frequency: f32,
11248     ) -> ::std::os::raw::c_int;
11249 }
11250 extern "C" {
ANeuralNetworksMemoryDesc_setDimensions( desc: *mut ANeuralNetworksMemoryDesc, rank: u32, dimensions: *const u32, ) -> ::std::os::raw::c_int11251     pub fn ANeuralNetworksMemoryDesc_setDimensions(
11252         desc: *mut ANeuralNetworksMemoryDesc,
11253         rank: u32,
11254         dimensions: *const u32,
11255     ) -> ::std::os::raw::c_int;
11256 }
11257 extern "C" {
ANeuralNetworksMemoryDesc_finish( desc: *mut ANeuralNetworksMemoryDesc, ) -> ::std::os::raw::c_int11258     pub fn ANeuralNetworksMemoryDesc_finish(
11259         desc: *mut ANeuralNetworksMemoryDesc,
11260     ) -> ::std::os::raw::c_int;
11261 }
11262 extern "C" {
ANeuralNetworksMemory_createFromDesc( desc: *const ANeuralNetworksMemoryDesc, memory: *mut *mut ANeuralNetworksMemory, ) -> ::std::os::raw::c_int11263     pub fn ANeuralNetworksMemory_createFromDesc(
11264         desc: *const ANeuralNetworksMemoryDesc,
11265         memory: *mut *mut ANeuralNetworksMemory,
11266     ) -> ::std::os::raw::c_int;
11267 }
11268 extern "C" {
ANeuralNetworksMemory_copy( src: *const ANeuralNetworksMemory, dst: *const ANeuralNetworksMemory, ) -> ::std::os::raw::c_int11269     pub fn ANeuralNetworksMemory_copy(
11270         src: *const ANeuralNetworksMemory,
11271         dst: *const ANeuralNetworksMemory,
11272     ) -> ::std::os::raw::c_int;
11273 }
11274 extern "C" {
ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int11275     pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
11276 }
11277 extern "C" {
ANeuralNetworks_getDevice( devIndex: u32, device: *mut *mut ANeuralNetworksDevice, ) -> ::std::os::raw::c_int11278     pub fn ANeuralNetworks_getDevice(
11279         devIndex: u32,
11280         device: *mut *mut ANeuralNetworksDevice,
11281     ) -> ::std::os::raw::c_int;
11282 }
11283 extern "C" {
ANeuralNetworksDevice_getName( device: *const ANeuralNetworksDevice, name: *mut *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int11284     pub fn ANeuralNetworksDevice_getName(
11285         device: *const ANeuralNetworksDevice,
11286         name: *mut *const ::std::os::raw::c_char,
11287     ) -> ::std::os::raw::c_int;
11288 }
11289 extern "C" {
ANeuralNetworksDevice_getType( device: *const ANeuralNetworksDevice, type_: *mut i32, ) -> ::std::os::raw::c_int11290     pub fn ANeuralNetworksDevice_getType(
11291         device: *const ANeuralNetworksDevice,
11292         type_: *mut i32,
11293     ) -> ::std::os::raw::c_int;
11294 }
11295 extern "C" {
ANeuralNetworksDevice_getVersion( device: *const ANeuralNetworksDevice, version: *mut *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int11296     pub fn ANeuralNetworksDevice_getVersion(
11297         device: *const ANeuralNetworksDevice,
11298         version: *mut *const ::std::os::raw::c_char,
11299     ) -> ::std::os::raw::c_int;
11300 }
11301 extern "C" {
ANeuralNetworksDevice_getFeatureLevel( device: *const ANeuralNetworksDevice, featureLevel: *mut i64, ) -> ::std::os::raw::c_int11302     pub fn ANeuralNetworksDevice_getFeatureLevel(
11303         device: *const ANeuralNetworksDevice,
11304         featureLevel: *mut i64,
11305     ) -> ::std::os::raw::c_int;
11306 }
11307 extern "C" {
ANeuralNetworksDevice_wait( device: *const ANeuralNetworksDevice, ) -> ::std::os::raw::c_int11308     pub fn ANeuralNetworksDevice_wait(
11309         device: *const ANeuralNetworksDevice,
11310     ) -> ::std::os::raw::c_int;
11311 }
11312 extern "C" {
ANeuralNetworksModel_getSupportedOperationsForDevices( model: *const ANeuralNetworksModel, devices: *const *const ANeuralNetworksDevice, numDevices: u32, supportedOps: *mut bool, ) -> ::std::os::raw::c_int11313     pub fn ANeuralNetworksModel_getSupportedOperationsForDevices(
11314         model: *const ANeuralNetworksModel,
11315         devices: *const *const ANeuralNetworksDevice,
11316         numDevices: u32,
11317         supportedOps: *mut bool,
11318     ) -> ::std::os::raw::c_int;
11319 }
11320 extern "C" {
ANeuralNetworksCompilation_createForDevices( model: *mut ANeuralNetworksModel, devices: *const *const ANeuralNetworksDevice, numDevices: u32, compilation: *mut *mut ANeuralNetworksCompilation, ) -> ::std::os::raw::c_int11321     pub fn ANeuralNetworksCompilation_createForDevices(
11322         model: *mut ANeuralNetworksModel,
11323         devices: *const *const ANeuralNetworksDevice,
11324         numDevices: u32,
11325         compilation: *mut *mut ANeuralNetworksCompilation,
11326     ) -> ::std::os::raw::c_int;
11327 }
11328 extern "C" {
ANeuralNetworksCompilation_setCaching( compilation: *mut ANeuralNetworksCompilation, cacheDir: *const ::std::os::raw::c_char, token: *const u8, ) -> ::std::os::raw::c_int11329     pub fn ANeuralNetworksCompilation_setCaching(
11330         compilation: *mut ANeuralNetworksCompilation,
11331         cacheDir: *const ::std::os::raw::c_char,
11332         token: *const u8,
11333     ) -> ::std::os::raw::c_int;
11334 }
11335 extern "C" {
ANeuralNetworksExecution_compute( execution: *mut ANeuralNetworksExecution, ) -> ::std::os::raw::c_int11336     pub fn ANeuralNetworksExecution_compute(
11337         execution: *mut ANeuralNetworksExecution,
11338     ) -> ::std::os::raw::c_int;
11339 }
11340 extern "C" {
ANeuralNetworksExecution_getOutputOperandRank( execution: *mut ANeuralNetworksExecution, index: i32, rank: *mut u32, ) -> ::std::os::raw::c_int11341     pub fn ANeuralNetworksExecution_getOutputOperandRank(
11342         execution: *mut ANeuralNetworksExecution,
11343         index: i32,
11344         rank: *mut u32,
11345     ) -> ::std::os::raw::c_int;
11346 }
11347 extern "C" {
ANeuralNetworksExecution_getOutputOperandDimensions( execution: *mut ANeuralNetworksExecution, index: i32, dimensions: *mut u32, ) -> ::std::os::raw::c_int11348     pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
11349         execution: *mut ANeuralNetworksExecution,
11350         index: i32,
11351         dimensions: *mut u32,
11352     ) -> ::std::os::raw::c_int;
11353 }
11354 extern "C" {
ANeuralNetworksBurst_create( compilation: *mut ANeuralNetworksCompilation, burst: *mut *mut ANeuralNetworksBurst, ) -> ::std::os::raw::c_int11355     pub fn ANeuralNetworksBurst_create(
11356         compilation: *mut ANeuralNetworksCompilation,
11357         burst: *mut *mut ANeuralNetworksBurst,
11358     ) -> ::std::os::raw::c_int;
11359 }
11360 extern "C" {
ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst)11361     pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
11362 }
11363 extern "C" {
ANeuralNetworksExecution_burstCompute( execution: *mut ANeuralNetworksExecution, burst: *mut ANeuralNetworksBurst, ) -> ::std::os::raw::c_int11364     pub fn ANeuralNetworksExecution_burstCompute(
11365         execution: *mut ANeuralNetworksExecution,
11366         burst: *mut ANeuralNetworksBurst,
11367     ) -> ::std::os::raw::c_int;
11368 }
11369 extern "C" {
ANeuralNetworksMemory_createFromAHardwareBuffer( ahwb: *const AHardwareBuffer, memory: *mut *mut ANeuralNetworksMemory, ) -> ::std::os::raw::c_int11370     pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
11371         ahwb: *const AHardwareBuffer,
11372         memory: *mut *mut ANeuralNetworksMemory,
11373     ) -> ::std::os::raw::c_int;
11374 }
11375 extern "C" {
ANeuralNetworksExecution_setMeasureTiming( execution: *mut ANeuralNetworksExecution, measure: bool, ) -> ::std::os::raw::c_int11376     pub fn ANeuralNetworksExecution_setMeasureTiming(
11377         execution: *mut ANeuralNetworksExecution,
11378         measure: bool,
11379     ) -> ::std::os::raw::c_int;
11380 }
11381 extern "C" {
ANeuralNetworksExecution_getDuration( execution: *const ANeuralNetworksExecution, durationCode: i32, duration: *mut u64, ) -> ::std::os::raw::c_int11382     pub fn ANeuralNetworksExecution_getDuration(
11383         execution: *const ANeuralNetworksExecution,
11384         durationCode: i32,
11385         duration: *mut u64,
11386     ) -> ::std::os::raw::c_int;
11387 }
11388 extern "C" {
ANeuralNetworksMemory_createFromFd( size: size_t, protect: ::std::os::raw::c_int, fd: ::std::os::raw::c_int, offset: size_t, memory: *mut *mut ANeuralNetworksMemory, ) -> ::std::os::raw::c_int11389     pub fn ANeuralNetworksMemory_createFromFd(
11390         size: size_t,
11391         protect: ::std::os::raw::c_int,
11392         fd: ::std::os::raw::c_int,
11393         offset: size_t,
11394         memory: *mut *mut ANeuralNetworksMemory,
11395     ) -> ::std::os::raw::c_int;
11396 }
11397 extern "C" {
ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory)11398     pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
11399 }
11400 extern "C" {
ANeuralNetworksModel_create( model: *mut *mut ANeuralNetworksModel, ) -> ::std::os::raw::c_int11401     pub fn ANeuralNetworksModel_create(
11402         model: *mut *mut ANeuralNetworksModel,
11403     ) -> ::std::os::raw::c_int;
11404 }
11405 extern "C" {
ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel)11406     pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
11407 }
11408 extern "C" {
ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int11409     pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
11410 }
11411 extern "C" {
ANeuralNetworksModel_addOperand( model: *mut ANeuralNetworksModel, type_: *const ANeuralNetworksOperandType, ) -> ::std::os::raw::c_int11412     pub fn ANeuralNetworksModel_addOperand(
11413         model: *mut ANeuralNetworksModel,
11414         type_: *const ANeuralNetworksOperandType,
11415     ) -> ::std::os::raw::c_int;
11416 }
11417 extern "C" {
ANeuralNetworksModel_setOperandValue( model: *mut ANeuralNetworksModel, index: i32, buffer: *const ::std::os::raw::c_void, length: size_t, ) -> ::std::os::raw::c_int11418     pub fn ANeuralNetworksModel_setOperandValue(
11419         model: *mut ANeuralNetworksModel,
11420         index: i32,
11421         buffer: *const ::std::os::raw::c_void,
11422         length: size_t,
11423     ) -> ::std::os::raw::c_int;
11424 }
11425 extern "C" {
ANeuralNetworksModel_setOperandSymmPerChannelQuantParams( model: *mut ANeuralNetworksModel, index: i32, channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams, ) -> ::std::os::raw::c_int11426     pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
11427         model: *mut ANeuralNetworksModel,
11428         index: i32,
11429         channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
11430     ) -> ::std::os::raw::c_int;
11431 }
11432 extern "C" {
ANeuralNetworksModel_setOperandValueFromMemory( model: *mut ANeuralNetworksModel, index: i32, memory: *const ANeuralNetworksMemory, offset: size_t, length: size_t, ) -> ::std::os::raw::c_int11433     pub fn ANeuralNetworksModel_setOperandValueFromMemory(
11434         model: *mut ANeuralNetworksModel,
11435         index: i32,
11436         memory: *const ANeuralNetworksMemory,
11437         offset: size_t,
11438         length: size_t,
11439     ) -> ::std::os::raw::c_int;
11440 }
11441 extern "C" {
ANeuralNetworksModel_setOperandValueFromModel( model: *mut ANeuralNetworksModel, index: i32, value: *const ANeuralNetworksModel, ) -> ::std::os::raw::c_int11442     pub fn ANeuralNetworksModel_setOperandValueFromModel(
11443         model: *mut ANeuralNetworksModel,
11444         index: i32,
11445         value: *const ANeuralNetworksModel,
11446     ) -> ::std::os::raw::c_int;
11447 }
11448 extern "C" {
ANeuralNetworksModel_addOperation( model: *mut ANeuralNetworksModel, type_: ANeuralNetworksOperationType, inputCount: u32, inputs: *const u32, outputCount: u32, outputs: *const u32, ) -> ::std::os::raw::c_int11449     pub fn ANeuralNetworksModel_addOperation(
11450         model: *mut ANeuralNetworksModel,
11451         type_: ANeuralNetworksOperationType,
11452         inputCount: u32,
11453         inputs: *const u32,
11454         outputCount: u32,
11455         outputs: *const u32,
11456     ) -> ::std::os::raw::c_int;
11457 }
11458 extern "C" {
ANeuralNetworksModel_identifyInputsAndOutputs( model: *mut ANeuralNetworksModel, inputCount: u32, inputs: *const u32, outputCount: u32, outputs: *const u32, ) -> ::std::os::raw::c_int11459     pub fn ANeuralNetworksModel_identifyInputsAndOutputs(
11460         model: *mut ANeuralNetworksModel,
11461         inputCount: u32,
11462         inputs: *const u32,
11463         outputCount: u32,
11464         outputs: *const u32,
11465     ) -> ::std::os::raw::c_int;
11466 }
11467 extern "C" {
ANeuralNetworksModel_relaxComputationFloat32toFloat16( model: *mut ANeuralNetworksModel, allow: bool, ) -> ::std::os::raw::c_int11468     pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
11469         model: *mut ANeuralNetworksModel,
11470         allow: bool,
11471     ) -> ::std::os::raw::c_int;
11472 }
11473 extern "C" {
ANeuralNetworksCompilation_create( model: *mut ANeuralNetworksModel, compilation: *mut *mut ANeuralNetworksCompilation, ) -> ::std::os::raw::c_int11474     pub fn ANeuralNetworksCompilation_create(
11475         model: *mut ANeuralNetworksModel,
11476         compilation: *mut *mut ANeuralNetworksCompilation,
11477     ) -> ::std::os::raw::c_int;
11478 }
11479 extern "C" {
ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation)11480     pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
11481 }
11482 extern "C" {
ANeuralNetworksCompilation_setPreference( compilation: *mut ANeuralNetworksCompilation, preference: i32, ) -> ::std::os::raw::c_int11483     pub fn ANeuralNetworksCompilation_setPreference(
11484         compilation: *mut ANeuralNetworksCompilation,
11485         preference: i32,
11486     ) -> ::std::os::raw::c_int;
11487 }
11488 extern "C" {
ANeuralNetworksCompilation_finish( compilation: *mut ANeuralNetworksCompilation, ) -> ::std::os::raw::c_int11489     pub fn ANeuralNetworksCompilation_finish(
11490         compilation: *mut ANeuralNetworksCompilation,
11491     ) -> ::std::os::raw::c_int;
11492 }
11493 extern "C" {
ANeuralNetworksCompilation_setPriority( compilation: *mut ANeuralNetworksCompilation, priority: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int11494     pub fn ANeuralNetworksCompilation_setPriority(
11495         compilation: *mut ANeuralNetworksCompilation,
11496         priority: ::std::os::raw::c_int,
11497     ) -> ::std::os::raw::c_int;
11498 }
11499 extern "C" {
ANeuralNetworksCompilation_setTimeout( compilation: *mut ANeuralNetworksCompilation, duration: u64, ) -> ::std::os::raw::c_int11500     pub fn ANeuralNetworksCompilation_setTimeout(
11501         compilation: *mut ANeuralNetworksCompilation,
11502         duration: u64,
11503     ) -> ::std::os::raw::c_int;
11504 }
11505 extern "C" {
ANeuralNetworksExecution_create( compilation: *mut ANeuralNetworksCompilation, execution: *mut *mut ANeuralNetworksExecution, ) -> ::std::os::raw::c_int11506     pub fn ANeuralNetworksExecution_create(
11507         compilation: *mut ANeuralNetworksCompilation,
11508         execution: *mut *mut ANeuralNetworksExecution,
11509     ) -> ::std::os::raw::c_int;
11510 }
11511 extern "C" {
ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution)11512     pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
11513 }
11514 extern "C" {
ANeuralNetworksExecution_setInput( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, buffer: *const ::std::os::raw::c_void, length: size_t, ) -> ::std::os::raw::c_int11515     pub fn ANeuralNetworksExecution_setInput(
11516         execution: *mut ANeuralNetworksExecution,
11517         index: i32,
11518         type_: *const ANeuralNetworksOperandType,
11519         buffer: *const ::std::os::raw::c_void,
11520         length: size_t,
11521     ) -> ::std::os::raw::c_int;
11522 }
11523 extern "C" {
ANeuralNetworksExecution_setInputFromMemory( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, memory: *const ANeuralNetworksMemory, offset: size_t, length: size_t, ) -> ::std::os::raw::c_int11524     pub fn ANeuralNetworksExecution_setInputFromMemory(
11525         execution: *mut ANeuralNetworksExecution,
11526         index: i32,
11527         type_: *const ANeuralNetworksOperandType,
11528         memory: *const ANeuralNetworksMemory,
11529         offset: size_t,
11530         length: size_t,
11531     ) -> ::std::os::raw::c_int;
11532 }
11533 extern "C" {
ANeuralNetworksExecution_setOutput( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, buffer: *mut ::std::os::raw::c_void, length: size_t, ) -> ::std::os::raw::c_int11534     pub fn ANeuralNetworksExecution_setOutput(
11535         execution: *mut ANeuralNetworksExecution,
11536         index: i32,
11537         type_: *const ANeuralNetworksOperandType,
11538         buffer: *mut ::std::os::raw::c_void,
11539         length: size_t,
11540     ) -> ::std::os::raw::c_int;
11541 }
11542 extern "C" {
ANeuralNetworksExecution_setOutputFromMemory( execution: *mut ANeuralNetworksExecution, index: i32, type_: *const ANeuralNetworksOperandType, memory: *const ANeuralNetworksMemory, offset: size_t, length: size_t, ) -> ::std::os::raw::c_int11543     pub fn ANeuralNetworksExecution_setOutputFromMemory(
11544         execution: *mut ANeuralNetworksExecution,
11545         index: i32,
11546         type_: *const ANeuralNetworksOperandType,
11547         memory: *const ANeuralNetworksMemory,
11548         offset: size_t,
11549         length: size_t,
11550     ) -> ::std::os::raw::c_int;
11551 }
11552 extern "C" {
ANeuralNetworksExecution_startCompute( execution: *mut ANeuralNetworksExecution, event: *mut *mut ANeuralNetworksEvent, ) -> ::std::os::raw::c_int11553     pub fn ANeuralNetworksExecution_startCompute(
11554         execution: *mut ANeuralNetworksExecution,
11555         event: *mut *mut ANeuralNetworksEvent,
11556     ) -> ::std::os::raw::c_int;
11557 }
11558 extern "C" {
ANeuralNetworksExecution_setTimeout( execution: *mut ANeuralNetworksExecution, duration: u64, ) -> ::std::os::raw::c_int11559     pub fn ANeuralNetworksExecution_setTimeout(
11560         execution: *mut ANeuralNetworksExecution,
11561         duration: u64,
11562     ) -> ::std::os::raw::c_int;
11563 }
11564 extern "C" {
ANeuralNetworksExecution_setLoopTimeout( execution: *mut ANeuralNetworksExecution, duration: u64, ) -> ::std::os::raw::c_int11565     pub fn ANeuralNetworksExecution_setLoopTimeout(
11566         execution: *mut ANeuralNetworksExecution,
11567         duration: u64,
11568     ) -> ::std::os::raw::c_int;
11569 }
11570 extern "C" {
ANeuralNetworks_getDefaultLoopTimeout() -> u6411571     pub fn ANeuralNetworks_getDefaultLoopTimeout() -> u64;
11572 }
11573 extern "C" {
ANeuralNetworks_getMaximumLoopTimeout() -> u6411574     pub fn ANeuralNetworks_getMaximumLoopTimeout() -> u64;
11575 }
11576 extern "C" {
ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int11577     pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
11578 }
11579 extern "C" {
ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent)11580     pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
11581 }
11582 extern "C" {
ANeuralNetworksEvent_createFromSyncFenceFd( sync_fence_fd: ::std::os::raw::c_int, event: *mut *mut ANeuralNetworksEvent, ) -> ::std::os::raw::c_int11583     pub fn ANeuralNetworksEvent_createFromSyncFenceFd(
11584         sync_fence_fd: ::std::os::raw::c_int,
11585         event: *mut *mut ANeuralNetworksEvent,
11586     ) -> ::std::os::raw::c_int;
11587 }
11588 extern "C" {
ANeuralNetworksEvent_getSyncFenceFd( event: *const ANeuralNetworksEvent, sync_fence_fd: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int11589     pub fn ANeuralNetworksEvent_getSyncFenceFd(
11590         event: *const ANeuralNetworksEvent,
11591         sync_fence_fd: *mut ::std::os::raw::c_int,
11592     ) -> ::std::os::raw::c_int;
11593 }
11594 extern "C" {
ANeuralNetworksExecution_startComputeWithDependencies( execution: *mut ANeuralNetworksExecution, dependencies: *const *const ANeuralNetworksEvent, num_dependencies: u32, duration: u64, event: *mut *mut ANeuralNetworksEvent, ) -> ::std::os::raw::c_int11595     pub fn ANeuralNetworksExecution_startComputeWithDependencies(
11596         execution: *mut ANeuralNetworksExecution,
11597         dependencies: *const *const ANeuralNetworksEvent,
11598         num_dependencies: u32,
11599         duration: u64,
11600         event: *mut *mut ANeuralNetworksEvent,
11601     ) -> ::std::os::raw::c_int;
11602 }
11603 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = 1;
11604 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = 2;
11605 pub const ANativeWindow_LegacyFormat_WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = 4;
11606 pub type ANativeWindow_LegacyFormat = u32;
11607 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = 0;
11608 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
11609     1;
11610 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
11611     2;
11612 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = 4;
11613 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform = 3;
11614 pub const ANativeWindowTransform_ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform = 7;
11615 pub type ANativeWindowTransform = u32;
11616 #[repr(C)]
11617 #[derive(Debug, Copy, Clone)]
11618 pub struct ANativeWindow {
11619     _unused: [u8; 0],
11620 }
11621 #[repr(C)]
11622 #[derive(Debug, Copy, Clone)]
11623 pub struct ANativeWindow_Buffer {
11624     pub width: i32,
11625     pub height: i32,
11626     pub stride: i32,
11627     pub format: i32,
11628     pub bits: *mut ::std::os::raw::c_void,
11629     pub reserved: [u32; 6usize],
11630 }
11631 #[test]
bindgen_test_layout_ANativeWindow_Buffer()11632 fn bindgen_test_layout_ANativeWindow_Buffer() {
11633     assert_eq!(
11634         ::std::mem::size_of::<ANativeWindow_Buffer>(),
11635         44usize,
11636         concat!("Size of: ", stringify!(ANativeWindow_Buffer))
11637     );
11638     assert_eq!(
11639         ::std::mem::align_of::<ANativeWindow_Buffer>(),
11640         4usize,
11641         concat!("Alignment of ", stringify!(ANativeWindow_Buffer))
11642     );
11643     assert_eq!(
11644         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).width as *const _ as usize },
11645         0usize,
11646         concat!(
11647             "Offset of field: ",
11648             stringify!(ANativeWindow_Buffer),
11649             "::",
11650             stringify!(width)
11651         )
11652     );
11653     assert_eq!(
11654         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).height as *const _ as usize },
11655         4usize,
11656         concat!(
11657             "Offset of field: ",
11658             stringify!(ANativeWindow_Buffer),
11659             "::",
11660             stringify!(height)
11661         )
11662     );
11663     assert_eq!(
11664         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).stride as *const _ as usize },
11665         8usize,
11666         concat!(
11667             "Offset of field: ",
11668             stringify!(ANativeWindow_Buffer),
11669             "::",
11670             stringify!(stride)
11671         )
11672     );
11673     assert_eq!(
11674         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).format as *const _ as usize },
11675         12usize,
11676         concat!(
11677             "Offset of field: ",
11678             stringify!(ANativeWindow_Buffer),
11679             "::",
11680             stringify!(format)
11681         )
11682     );
11683     assert_eq!(
11684         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).bits as *const _ as usize },
11685         16usize,
11686         concat!(
11687             "Offset of field: ",
11688             stringify!(ANativeWindow_Buffer),
11689             "::",
11690             stringify!(bits)
11691         )
11692     );
11693     assert_eq!(
11694         unsafe { &(*(::std::ptr::null::<ANativeWindow_Buffer>())).reserved as *const _ as usize },
11695         20usize,
11696         concat!(
11697             "Offset of field: ",
11698             stringify!(ANativeWindow_Buffer),
11699             "::",
11700             stringify!(reserved)
11701         )
11702     );
11703 }
11704 extern "C" {
ANativeWindow_acquire(window: *mut ANativeWindow)11705     pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
11706 }
11707 extern "C" {
ANativeWindow_release(window: *mut ANativeWindow)11708     pub fn ANativeWindow_release(window: *mut ANativeWindow);
11709 }
11710 extern "C" {
ANativeWindow_getWidth(window: *mut ANativeWindow) -> i3211711     pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
11712 }
11713 extern "C" {
ANativeWindow_getHeight(window: *mut ANativeWindow) -> i3211714     pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
11715 }
11716 extern "C" {
ANativeWindow_getFormat(window: *mut ANativeWindow) -> i3211717     pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
11718 }
11719 extern "C" {
ANativeWindow_setBuffersGeometry( window: *mut ANativeWindow, width: i32, height: i32, format: i32, ) -> i3211720     pub fn ANativeWindow_setBuffersGeometry(
11721         window: *mut ANativeWindow,
11722         width: i32,
11723         height: i32,
11724         format: i32,
11725     ) -> i32;
11726 }
11727 extern "C" {
ANativeWindow_lock( window: *mut ANativeWindow, outBuffer: *mut ANativeWindow_Buffer, inOutDirtyBounds: *mut ARect, ) -> i3211728     pub fn ANativeWindow_lock(
11729         window: *mut ANativeWindow,
11730         outBuffer: *mut ANativeWindow_Buffer,
11731         inOutDirtyBounds: *mut ARect,
11732     ) -> i32;
11733 }
11734 extern "C" {
ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i3211735     pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
11736 }
11737 extern "C" {
ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i3211738     pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
11739 }
11740 extern "C" {
ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i3211741     pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
11742 }
11743 extern "C" {
ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i3211744     pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
11745 }
11746 pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT: _bindgen_ty_29 = 0;
11747 pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_FIXED_SOURCE: _bindgen_ty_29 = 1;
11748 pub type _bindgen_ty_29 = u32;
11749 extern "C" {
ANativeWindow_setFrameRate( window: *mut ANativeWindow, frameRate: f32, compatibility: i8, ) -> i3211750     pub fn ANativeWindow_setFrameRate(
11751         window: *mut ANativeWindow,
11752         frameRate: f32,
11753         compatibility: i8,
11754     ) -> i32;
11755 }
11756 extern "C" {
ANativeWindow_tryAllocateBuffers(window: *mut ANativeWindow)11757     pub fn ANativeWindow_tryAllocateBuffers(window: *mut ANativeWindow);
11758 }
11759 #[repr(C)]
11760 #[derive(Debug, Copy, Clone)]
11761 pub struct ANativeActivity {
11762     pub callbacks: *mut ANativeActivityCallbacks,
11763     pub vm: *mut JavaVM,
11764     pub env: *mut JNIEnv,
11765     pub clazz: jobject,
11766     pub internalDataPath: *const ::std::os::raw::c_char,
11767     pub externalDataPath: *const ::std::os::raw::c_char,
11768     pub sdkVersion: i32,
11769     pub instance: *mut ::std::os::raw::c_void,
11770     pub assetManager: *mut AAssetManager,
11771     pub obbPath: *const ::std::os::raw::c_char,
11772 }
11773 #[test]
bindgen_test_layout_ANativeActivity()11774 fn bindgen_test_layout_ANativeActivity() {
11775     assert_eq!(
11776         ::std::mem::size_of::<ANativeActivity>(),
11777         40usize,
11778         concat!("Size of: ", stringify!(ANativeActivity))
11779     );
11780     assert_eq!(
11781         ::std::mem::align_of::<ANativeActivity>(),
11782         4usize,
11783         concat!("Alignment of ", stringify!(ANativeActivity))
11784     );
11785     assert_eq!(
11786         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).callbacks as *const _ as usize },
11787         0usize,
11788         concat!(
11789             "Offset of field: ",
11790             stringify!(ANativeActivity),
11791             "::",
11792             stringify!(callbacks)
11793         )
11794     );
11795     assert_eq!(
11796         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).vm as *const _ as usize },
11797         4usize,
11798         concat!(
11799             "Offset of field: ",
11800             stringify!(ANativeActivity),
11801             "::",
11802             stringify!(vm)
11803         )
11804     );
11805     assert_eq!(
11806         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).env as *const _ as usize },
11807         8usize,
11808         concat!(
11809             "Offset of field: ",
11810             stringify!(ANativeActivity),
11811             "::",
11812             stringify!(env)
11813         )
11814     );
11815     assert_eq!(
11816         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).clazz as *const _ as usize },
11817         12usize,
11818         concat!(
11819             "Offset of field: ",
11820             stringify!(ANativeActivity),
11821             "::",
11822             stringify!(clazz)
11823         )
11824     );
11825     assert_eq!(
11826         unsafe {
11827             &(*(::std::ptr::null::<ANativeActivity>())).internalDataPath as *const _ as usize
11828         },
11829         16usize,
11830         concat!(
11831             "Offset of field: ",
11832             stringify!(ANativeActivity),
11833             "::",
11834             stringify!(internalDataPath)
11835         )
11836     );
11837     assert_eq!(
11838         unsafe {
11839             &(*(::std::ptr::null::<ANativeActivity>())).externalDataPath as *const _ as usize
11840         },
11841         20usize,
11842         concat!(
11843             "Offset of field: ",
11844             stringify!(ANativeActivity),
11845             "::",
11846             stringify!(externalDataPath)
11847         )
11848     );
11849     assert_eq!(
11850         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).sdkVersion as *const _ as usize },
11851         24usize,
11852         concat!(
11853             "Offset of field: ",
11854             stringify!(ANativeActivity),
11855             "::",
11856             stringify!(sdkVersion)
11857         )
11858     );
11859     assert_eq!(
11860         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).instance as *const _ as usize },
11861         28usize,
11862         concat!(
11863             "Offset of field: ",
11864             stringify!(ANativeActivity),
11865             "::",
11866             stringify!(instance)
11867         )
11868     );
11869     assert_eq!(
11870         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).assetManager as *const _ as usize },
11871         32usize,
11872         concat!(
11873             "Offset of field: ",
11874             stringify!(ANativeActivity),
11875             "::",
11876             stringify!(assetManager)
11877         )
11878     );
11879     assert_eq!(
11880         unsafe { &(*(::std::ptr::null::<ANativeActivity>())).obbPath as *const _ as usize },
11881         36usize,
11882         concat!(
11883             "Offset of field: ",
11884             stringify!(ANativeActivity),
11885             "::",
11886             stringify!(obbPath)
11887         )
11888     );
11889 }
11890 #[repr(C)]
11891 #[derive(Debug, Copy, Clone)]
11892 pub struct ANativeActivityCallbacks {
11893     pub onStart: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11894     pub onResume: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11895     pub onSaveInstanceState: ::std::option::Option<
11896         unsafe extern "C" fn(
11897             activity: *mut ANativeActivity,
11898             outSize: *mut size_t,
11899         ) -> *mut ::std::os::raw::c_void,
11900     >,
11901     pub onPause: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11902     pub onStop: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11903     pub onDestroy: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11904     pub onWindowFocusChanged: ::std::option::Option<
11905         unsafe extern "C" fn(activity: *mut ANativeActivity, hasFocus: ::std::os::raw::c_int),
11906     >,
11907     pub onNativeWindowCreated: ::std::option::Option<
11908         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11909     >,
11910     pub onNativeWindowResized: ::std::option::Option<
11911         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11912     >,
11913     pub onNativeWindowRedrawNeeded: ::std::option::Option<
11914         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11915     >,
11916     pub onNativeWindowDestroyed: ::std::option::Option<
11917         unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
11918     >,
11919     pub onInputQueueCreated: ::std::option::Option<
11920         unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
11921     >,
11922     pub onInputQueueDestroyed: ::std::option::Option<
11923         unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
11924     >,
11925     pub onContentRectChanged: ::std::option::Option<
11926         unsafe extern "C" fn(activity: *mut ANativeActivity, rect: *const ARect),
11927     >,
11928     pub onConfigurationChanged:
11929         ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11930     pub onLowMemory: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
11931 }
11932 #[test]
bindgen_test_layout_ANativeActivityCallbacks()11933 fn bindgen_test_layout_ANativeActivityCallbacks() {
11934     assert_eq!(
11935         ::std::mem::size_of::<ANativeActivityCallbacks>(),
11936         64usize,
11937         concat!("Size of: ", stringify!(ANativeActivityCallbacks))
11938     );
11939     assert_eq!(
11940         ::std::mem::align_of::<ANativeActivityCallbacks>(),
11941         4usize,
11942         concat!("Alignment of ", stringify!(ANativeActivityCallbacks))
11943     );
11944     assert_eq!(
11945         unsafe {
11946             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStart as *const _ as usize
11947         },
11948         0usize,
11949         concat!(
11950             "Offset of field: ",
11951             stringify!(ANativeActivityCallbacks),
11952             "::",
11953             stringify!(onStart)
11954         )
11955     );
11956     assert_eq!(
11957         unsafe {
11958             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onResume as *const _ as usize
11959         },
11960         4usize,
11961         concat!(
11962             "Offset of field: ",
11963             stringify!(ANativeActivityCallbacks),
11964             "::",
11965             stringify!(onResume)
11966         )
11967     );
11968     assert_eq!(
11969         unsafe {
11970             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onSaveInstanceState as *const _
11971                 as usize
11972         },
11973         8usize,
11974         concat!(
11975             "Offset of field: ",
11976             stringify!(ANativeActivityCallbacks),
11977             "::",
11978             stringify!(onSaveInstanceState)
11979         )
11980     );
11981     assert_eq!(
11982         unsafe {
11983             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onPause as *const _ as usize
11984         },
11985         12usize,
11986         concat!(
11987             "Offset of field: ",
11988             stringify!(ANativeActivityCallbacks),
11989             "::",
11990             stringify!(onPause)
11991         )
11992     );
11993     assert_eq!(
11994         unsafe { &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onStop as *const _ as usize },
11995         16usize,
11996         concat!(
11997             "Offset of field: ",
11998             stringify!(ANativeActivityCallbacks),
11999             "::",
12000             stringify!(onStop)
12001         )
12002     );
12003     assert_eq!(
12004         unsafe {
12005             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onDestroy as *const _ as usize
12006         },
12007         20usize,
12008         concat!(
12009             "Offset of field: ",
12010             stringify!(ANativeActivityCallbacks),
12011             "::",
12012             stringify!(onDestroy)
12013         )
12014     );
12015     assert_eq!(
12016         unsafe {
12017             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onWindowFocusChanged as *const _
12018                 as usize
12019         },
12020         24usize,
12021         concat!(
12022             "Offset of field: ",
12023             stringify!(ANativeActivityCallbacks),
12024             "::",
12025             stringify!(onWindowFocusChanged)
12026         )
12027     );
12028     assert_eq!(
12029         unsafe {
12030             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowCreated as *const _
12031                 as usize
12032         },
12033         28usize,
12034         concat!(
12035             "Offset of field: ",
12036             stringify!(ANativeActivityCallbacks),
12037             "::",
12038             stringify!(onNativeWindowCreated)
12039         )
12040     );
12041     assert_eq!(
12042         unsafe {
12043             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowResized as *const _
12044                 as usize
12045         },
12046         32usize,
12047         concat!(
12048             "Offset of field: ",
12049             stringify!(ANativeActivityCallbacks),
12050             "::",
12051             stringify!(onNativeWindowResized)
12052         )
12053     );
12054     assert_eq!(
12055         unsafe {
12056             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowRedrawNeeded
12057                 as *const _ as usize
12058         },
12059         36usize,
12060         concat!(
12061             "Offset of field: ",
12062             stringify!(ANativeActivityCallbacks),
12063             "::",
12064             stringify!(onNativeWindowRedrawNeeded)
12065         )
12066     );
12067     assert_eq!(
12068         unsafe {
12069             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onNativeWindowDestroyed as *const _
12070                 as usize
12071         },
12072         40usize,
12073         concat!(
12074             "Offset of field: ",
12075             stringify!(ANativeActivityCallbacks),
12076             "::",
12077             stringify!(onNativeWindowDestroyed)
12078         )
12079     );
12080     assert_eq!(
12081         unsafe {
12082             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueCreated as *const _
12083                 as usize
12084         },
12085         44usize,
12086         concat!(
12087             "Offset of field: ",
12088             stringify!(ANativeActivityCallbacks),
12089             "::",
12090             stringify!(onInputQueueCreated)
12091         )
12092     );
12093     assert_eq!(
12094         unsafe {
12095             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onInputQueueDestroyed as *const _
12096                 as usize
12097         },
12098         48usize,
12099         concat!(
12100             "Offset of field: ",
12101             stringify!(ANativeActivityCallbacks),
12102             "::",
12103             stringify!(onInputQueueDestroyed)
12104         )
12105     );
12106     assert_eq!(
12107         unsafe {
12108             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onContentRectChanged as *const _
12109                 as usize
12110         },
12111         52usize,
12112         concat!(
12113             "Offset of field: ",
12114             stringify!(ANativeActivityCallbacks),
12115             "::",
12116             stringify!(onContentRectChanged)
12117         )
12118     );
12119     assert_eq!(
12120         unsafe {
12121             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onConfigurationChanged as *const _
12122                 as usize
12123         },
12124         56usize,
12125         concat!(
12126             "Offset of field: ",
12127             stringify!(ANativeActivityCallbacks),
12128             "::",
12129             stringify!(onConfigurationChanged)
12130         )
12131     );
12132     assert_eq!(
12133         unsafe {
12134             &(*(::std::ptr::null::<ANativeActivityCallbacks>())).onLowMemory as *const _ as usize
12135         },
12136         60usize,
12137         concat!(
12138             "Offset of field: ",
12139             stringify!(ANativeActivityCallbacks),
12140             "::",
12141             stringify!(onLowMemory)
12142         )
12143     );
12144 }
12145 pub type ANativeActivity_createFunc = ::std::option::Option<
12146     unsafe extern "C" fn(
12147         activity: *mut ANativeActivity,
12148         savedState: *mut ::std::os::raw::c_void,
12149         savedStateSize: size_t,
12150     ),
12151 >;
12152 extern "C" {
ANativeActivity_onCreate( activity: *mut ANativeActivity, savedState: *mut ::std::os::raw::c_void, savedStateSize: size_t, )12153     pub fn ANativeActivity_onCreate(
12154         activity: *mut ANativeActivity,
12155         savedState: *mut ::std::os::raw::c_void,
12156         savedStateSize: size_t,
12157     );
12158 }
12159 extern "C" {
ANativeActivity_finish(activity: *mut ANativeActivity)12160     pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
12161 }
12162 extern "C" {
ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32)12163     pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
12164 }
12165 extern "C" {
ANativeActivity_setWindowFlags( activity: *mut ANativeActivity, addFlags: u32, removeFlags: u32, )12166     pub fn ANativeActivity_setWindowFlags(
12167         activity: *mut ANativeActivity,
12168         addFlags: u32,
12169         removeFlags: u32,
12170     );
12171 }
12172 pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: _bindgen_ty_30 = 1;
12173 pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: _bindgen_ty_30 = 2;
12174 pub type _bindgen_ty_30 = u32;
12175 extern "C" {
ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32)12176     pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
12177 }
12178 pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: _bindgen_ty_31 = 1;
12179 pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: _bindgen_ty_31 = 2;
12180 pub type _bindgen_ty_31 = u32;
12181 extern "C" {
ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32)12182     pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
12183 }
12184 extern "C" {
ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow12185     pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
12186 }
12187 extern "C" {
ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject12188     pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
12189 }
12190 #[repr(C)]
12191 #[derive(Debug, Copy, Clone)]
12192 pub struct AObbInfo {
12193     _unused: [u8; 0],
12194 }
12195 pub const AOBBINFO_OVERLAY: _bindgen_ty_32 = 1;
12196 pub type _bindgen_ty_32 = u32;
12197 extern "C" {
AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo12198     pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
12199 }
12200 extern "C" {
AObbInfo_delete(obbInfo: *mut AObbInfo)12201     pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
12202 }
12203 extern "C" {
AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char12204     pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
12205 }
12206 extern "C" {
AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i3212207     pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
12208 }
12209 extern "C" {
AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i3212210     pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
12211 }
12212 pub type __double_t = f64;
12213 pub type double_t = __double_t;
12214 pub type __float_t = f32;
12215 pub type float_t = __float_t;
12216 extern "C" {
acos(__x: f64) -> f6412217     pub fn acos(__x: f64) -> f64;
12218 }
12219 extern "C" {
acosf(__x: f32) -> f3212220     pub fn acosf(__x: f32) -> f32;
12221 }
12222 extern "C" {
asin(__x: f64) -> f6412223     pub fn asin(__x: f64) -> f64;
12224 }
12225 extern "C" {
asinf(__x: f32) -> f3212226     pub fn asinf(__x: f32) -> f32;
12227 }
12228 extern "C" {
atan(__x: f64) -> f6412229     pub fn atan(__x: f64) -> f64;
12230 }
12231 extern "C" {
atanf(__x: f32) -> f3212232     pub fn atanf(__x: f32) -> f32;
12233 }
12234 extern "C" {
atan2(__y: f64, __x: f64) -> f6412235     pub fn atan2(__y: f64, __x: f64) -> f64;
12236 }
12237 extern "C" {
atan2f(__y: f32, __x: f32) -> f3212238     pub fn atan2f(__y: f32, __x: f32) -> f32;
12239 }
12240 extern "C" {
cos(__x: f64) -> f6412241     pub fn cos(__x: f64) -> f64;
12242 }
12243 extern "C" {
cosf(__x: f32) -> f3212244     pub fn cosf(__x: f32) -> f32;
12245 }
12246 extern "C" {
sin(__x: f64) -> f6412247     pub fn sin(__x: f64) -> f64;
12248 }
12249 extern "C" {
sinf(__x: f32) -> f3212250     pub fn sinf(__x: f32) -> f32;
12251 }
12252 extern "C" {
tan(__x: f64) -> f6412253     pub fn tan(__x: f64) -> f64;
12254 }
12255 extern "C" {
tanf(__x: f32) -> f3212256     pub fn tanf(__x: f32) -> f32;
12257 }
12258 extern "C" {
acosh(__x: f64) -> f6412259     pub fn acosh(__x: f64) -> f64;
12260 }
12261 extern "C" {
acoshf(__x: f32) -> f3212262     pub fn acoshf(__x: f32) -> f32;
12263 }
12264 extern "C" {
asinh(__x: f64) -> f6412265     pub fn asinh(__x: f64) -> f64;
12266 }
12267 extern "C" {
asinhf(__x: f32) -> f3212268     pub fn asinhf(__x: f32) -> f32;
12269 }
12270 extern "C" {
atanh(__x: f64) -> f6412271     pub fn atanh(__x: f64) -> f64;
12272 }
12273 extern "C" {
atanhf(__x: f32) -> f3212274     pub fn atanhf(__x: f32) -> f32;
12275 }
12276 extern "C" {
cosh(__x: f64) -> f6412277     pub fn cosh(__x: f64) -> f64;
12278 }
12279 extern "C" {
coshf(__x: f32) -> f3212280     pub fn coshf(__x: f32) -> f32;
12281 }
12282 extern "C" {
sinh(__x: f64) -> f6412283     pub fn sinh(__x: f64) -> f64;
12284 }
12285 extern "C" {
sinhf(__x: f32) -> f3212286     pub fn sinhf(__x: f32) -> f32;
12287 }
12288 extern "C" {
tanh(__x: f64) -> f6412289     pub fn tanh(__x: f64) -> f64;
12290 }
12291 extern "C" {
tanhf(__x: f32) -> f3212292     pub fn tanhf(__x: f32) -> f32;
12293 }
12294 extern "C" {
exp(__x: f64) -> f6412295     pub fn exp(__x: f64) -> f64;
12296 }
12297 extern "C" {
expf(__x: f32) -> f3212298     pub fn expf(__x: f32) -> f32;
12299 }
12300 extern "C" {
exp2(__x: f64) -> f6412301     pub fn exp2(__x: f64) -> f64;
12302 }
12303 extern "C" {
exp2f(__x: f32) -> f3212304     pub fn exp2f(__x: f32) -> f32;
12305 }
12306 extern "C" {
expm1(__x: f64) -> f6412307     pub fn expm1(__x: f64) -> f64;
12308 }
12309 extern "C" {
expm1f(__x: f32) -> f3212310     pub fn expm1f(__x: f32) -> f32;
12311 }
12312 extern "C" {
frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f6412313     pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
12314 }
12315 extern "C" {
frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f3212316     pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
12317 }
12318 extern "C" {
ilogb(__x: f64) -> ::std::os::raw::c_int12319     pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
12320 }
12321 extern "C" {
ilogbf(__x: f32) -> ::std::os::raw::c_int12322     pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
12323 }
12324 extern "C" {
ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f6412325     pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
12326 }
12327 extern "C" {
ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f3212328     pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
12329 }
12330 extern "C" {
log(__x: f64) -> f6412331     pub fn log(__x: f64) -> f64;
12332 }
12333 extern "C" {
logf(__x: f32) -> f3212334     pub fn logf(__x: f32) -> f32;
12335 }
12336 extern "C" {
log10(__x: f64) -> f6412337     pub fn log10(__x: f64) -> f64;
12338 }
12339 extern "C" {
log10f(__x: f32) -> f3212340     pub fn log10f(__x: f32) -> f32;
12341 }
12342 extern "C" {
log1p(__x: f64) -> f6412343     pub fn log1p(__x: f64) -> f64;
12344 }
12345 extern "C" {
log1pf(__x: f32) -> f3212346     pub fn log1pf(__x: f32) -> f32;
12347 }
12348 extern "C" {
log2(__x: f64) -> f6412349     pub fn log2(__x: f64) -> f64;
12350 }
12351 extern "C" {
log2f(__x: f32) -> f3212352     pub fn log2f(__x: f32) -> f32;
12353 }
12354 extern "C" {
logb(__x: f64) -> f6412355     pub fn logb(__x: f64) -> f64;
12356 }
12357 extern "C" {
logbf(__x: f32) -> f3212358     pub fn logbf(__x: f32) -> f32;
12359 }
12360 extern "C" {
modf(__x: f64, __integral_part: *mut f64) -> f6412361     pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
12362 }
12363 extern "C" {
modff(__x: f32, __integral_part: *mut f32) -> f3212364     pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
12365 }
12366 extern "C" {
scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f6412367     pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
12368 }
12369 extern "C" {
scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f3212370     pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
12371 }
12372 extern "C" {
scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f6412373     pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
12374 }
12375 extern "C" {
scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f3212376     pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
12377 }
12378 extern "C" {
scalblnl(__x: f64, __exponent: ::std::os::raw::c_long) -> f6412379     pub fn scalblnl(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
12380 }
12381 extern "C" {
cbrt(__x: f64) -> f6412382     pub fn cbrt(__x: f64) -> f64;
12383 }
12384 extern "C" {
cbrtf(__x: f32) -> f3212385     pub fn cbrtf(__x: f32) -> f32;
12386 }
12387 extern "C" {
fabs(__x: f64) -> f6412388     pub fn fabs(__x: f64) -> f64;
12389 }
12390 extern "C" {
fabsf(__x: f32) -> f3212391     pub fn fabsf(__x: f32) -> f32;
12392 }
12393 extern "C" {
hypot(__x: f64, __y: f64) -> f6412394     pub fn hypot(__x: f64, __y: f64) -> f64;
12395 }
12396 extern "C" {
hypotf(__x: f32, __y: f32) -> f3212397     pub fn hypotf(__x: f32, __y: f32) -> f32;
12398 }
12399 extern "C" {
pow(__x: f64, __y: f64) -> f6412400     pub fn pow(__x: f64, __y: f64) -> f64;
12401 }
12402 extern "C" {
powf(__x: f32, __y: f32) -> f3212403     pub fn powf(__x: f32, __y: f32) -> f32;
12404 }
12405 extern "C" {
sqrt(__x: f64) -> f6412406     pub fn sqrt(__x: f64) -> f64;
12407 }
12408 extern "C" {
sqrtf(__x: f32) -> f3212409     pub fn sqrtf(__x: f32) -> f32;
12410 }
12411 extern "C" {
erf(__x: f64) -> f6412412     pub fn erf(__x: f64) -> f64;
12413 }
12414 extern "C" {
erff(__x: f32) -> f3212415     pub fn erff(__x: f32) -> f32;
12416 }
12417 extern "C" {
erfc(__x: f64) -> f6412418     pub fn erfc(__x: f64) -> f64;
12419 }
12420 extern "C" {
erfcf(__x: f32) -> f3212421     pub fn erfcf(__x: f32) -> f32;
12422 }
12423 extern "C" {
lgamma(__x: f64) -> f6412424     pub fn lgamma(__x: f64) -> f64;
12425 }
12426 extern "C" {
lgammaf(__x: f32) -> f3212427     pub fn lgammaf(__x: f32) -> f32;
12428 }
12429 extern "C" {
tgamma(__x: f64) -> f6412430     pub fn tgamma(__x: f64) -> f64;
12431 }
12432 extern "C" {
tgammaf(__x: f32) -> f3212433     pub fn tgammaf(__x: f32) -> f32;
12434 }
12435 extern "C" {
ceil(__x: f64) -> f6412436     pub fn ceil(__x: f64) -> f64;
12437 }
12438 extern "C" {
ceilf(__x: f32) -> f3212439     pub fn ceilf(__x: f32) -> f32;
12440 }
12441 extern "C" {
floor(__x: f64) -> f6412442     pub fn floor(__x: f64) -> f64;
12443 }
12444 extern "C" {
floorf(__x: f32) -> f3212445     pub fn floorf(__x: f32) -> f32;
12446 }
12447 extern "C" {
nearbyint(__x: f64) -> f6412448     pub fn nearbyint(__x: f64) -> f64;
12449 }
12450 extern "C" {
nearbyintf(__x: f32) -> f3212451     pub fn nearbyintf(__x: f32) -> f32;
12452 }
12453 extern "C" {
rint(__x: f64) -> f6412454     pub fn rint(__x: f64) -> f64;
12455 }
12456 extern "C" {
rintf(__x: f32) -> f3212457     pub fn rintf(__x: f32) -> f32;
12458 }
12459 extern "C" {
lrint(__x: f64) -> ::std::os::raw::c_long12460     pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
12461 }
12462 extern "C" {
lrintf(__x: f32) -> ::std::os::raw::c_long12463     pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
12464 }
12465 extern "C" {
llrint(__x: f64) -> ::std::os::raw::c_longlong12466     pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
12467 }
12468 extern "C" {
llrintf(__x: f32) -> ::std::os::raw::c_longlong12469     pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
12470 }
12471 extern "C" {
round(__x: f64) -> f6412472     pub fn round(__x: f64) -> f64;
12473 }
12474 extern "C" {
roundf(__x: f32) -> f3212475     pub fn roundf(__x: f32) -> f32;
12476 }
12477 extern "C" {
roundl(__x: f64) -> f6412478     pub fn roundl(__x: f64) -> f64;
12479 }
12480 extern "C" {
lround(__x: f64) -> ::std::os::raw::c_long12481     pub fn lround(__x: f64) -> ::std::os::raw::c_long;
12482 }
12483 extern "C" {
lroundf(__x: f32) -> ::std::os::raw::c_long12484     pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
12485 }
12486 extern "C" {
llround(__x: f64) -> ::std::os::raw::c_longlong12487     pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
12488 }
12489 extern "C" {
llroundf(__x: f32) -> ::std::os::raw::c_longlong12490     pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
12491 }
12492 extern "C" {
trunc(__x: f64) -> f6412493     pub fn trunc(__x: f64) -> f64;
12494 }
12495 extern "C" {
truncf(__x: f32) -> f3212496     pub fn truncf(__x: f32) -> f32;
12497 }
12498 extern "C" {
fmod(__x: f64, __y: f64) -> f6412499     pub fn fmod(__x: f64, __y: f64) -> f64;
12500 }
12501 extern "C" {
fmodf(__x: f32, __y: f32) -> f3212502     pub fn fmodf(__x: f32, __y: f32) -> f32;
12503 }
12504 extern "C" {
remainder(__x: f64, __y: f64) -> f6412505     pub fn remainder(__x: f64, __y: f64) -> f64;
12506 }
12507 extern "C" {
remainderf(__x: f32, __y: f32) -> f3212508     pub fn remainderf(__x: f32, __y: f32) -> f32;
12509 }
12510 extern "C" {
remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f6412511     pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
12512 }
12513 extern "C" {
remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f3212514     pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
12515 }
12516 extern "C" {
copysign(__value: f64, __sign: f64) -> f6412517     pub fn copysign(__value: f64, __sign: f64) -> f64;
12518 }
12519 extern "C" {
copysignf(__value: f32, __sign: f32) -> f3212520     pub fn copysignf(__value: f32, __sign: f32) -> f32;
12521 }
12522 extern "C" {
nan(__kind: *const ::std::os::raw::c_char) -> f6412523     pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
12524 }
12525 extern "C" {
nanf(__kind: *const ::std::os::raw::c_char) -> f3212526     pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
12527 }
12528 extern "C" {
nextafter(__x: f64, __y: f64) -> f6412529     pub fn nextafter(__x: f64, __y: f64) -> f64;
12530 }
12531 extern "C" {
nextafterf(__x: f32, __y: f32) -> f3212532     pub fn nextafterf(__x: f32, __y: f32) -> f32;
12533 }
12534 extern "C" {
nexttoward(__x: f64, __y: f64) -> f6412535     pub fn nexttoward(__x: f64, __y: f64) -> f64;
12536 }
12537 extern "C" {
nexttowardf(__x: f32, __y: f64) -> f3212538     pub fn nexttowardf(__x: f32, __y: f64) -> f32;
12539 }
12540 extern "C" {
fdim(__x: f64, __y: f64) -> f6412541     pub fn fdim(__x: f64, __y: f64) -> f64;
12542 }
12543 extern "C" {
fdimf(__x: f32, __y: f32) -> f3212544     pub fn fdimf(__x: f32, __y: f32) -> f32;
12545 }
12546 extern "C" {
fmax(__x: f64, __y: f64) -> f6412547     pub fn fmax(__x: f64, __y: f64) -> f64;
12548 }
12549 extern "C" {
fmaxf(__x: f32, __y: f32) -> f3212550     pub fn fmaxf(__x: f32, __y: f32) -> f32;
12551 }
12552 extern "C" {
fmin(__x: f64, __y: f64) -> f6412553     pub fn fmin(__x: f64, __y: f64) -> f64;
12554 }
12555 extern "C" {
fminf(__x: f32, __y: f32) -> f3212556     pub fn fminf(__x: f32, __y: f32) -> f32;
12557 }
12558 extern "C" {
fma(__x: f64, __y: f64, __z: f64) -> f6412559     pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
12560 }
12561 extern "C" {
fmaf(__x: f32, __y: f32, __z: f32) -> f3212562     pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
12563 }
12564 extern "C" {
isinf(__x: f64) -> ::std::os::raw::c_int12565     pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
12566 }
12567 extern "C" {
isnan(__x: f64) -> ::std::os::raw::c_int12568     pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
12569 }
12570 extern "C" {
12571     pub static mut signgam: ::std::os::raw::c_int;
12572 }
12573 extern "C" {
j0(__x: f64) -> f6412574     pub fn j0(__x: f64) -> f64;
12575 }
12576 extern "C" {
j1(__x: f64) -> f6412577     pub fn j1(__x: f64) -> f64;
12578 }
12579 extern "C" {
jn(__n: ::std::os::raw::c_int, __x: f64) -> f6412580     pub fn jn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
12581 }
12582 extern "C" {
y0(__x: f64) -> f6412583     pub fn y0(__x: f64) -> f64;
12584 }
12585 extern "C" {
y1(__x: f64) -> f6412586     pub fn y1(__x: f64) -> f64;
12587 }
12588 extern "C" {
yn(__n: ::std::os::raw::c_int, __x: f64) -> f6412589     pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
12590 }
12591 pub const ASENSOR_TYPE_INVALID: _bindgen_ty_33 = -1;
12592 pub const ASENSOR_TYPE_ACCELEROMETER: _bindgen_ty_33 = 1;
12593 pub const ASENSOR_TYPE_MAGNETIC_FIELD: _bindgen_ty_33 = 2;
12594 pub const ASENSOR_TYPE_GYROSCOPE: _bindgen_ty_33 = 4;
12595 pub const ASENSOR_TYPE_LIGHT: _bindgen_ty_33 = 5;
12596 pub const ASENSOR_TYPE_PRESSURE: _bindgen_ty_33 = 6;
12597 pub const ASENSOR_TYPE_PROXIMITY: _bindgen_ty_33 = 8;
12598 pub const ASENSOR_TYPE_GRAVITY: _bindgen_ty_33 = 9;
12599 pub const ASENSOR_TYPE_LINEAR_ACCELERATION: _bindgen_ty_33 = 10;
12600 pub const ASENSOR_TYPE_ROTATION_VECTOR: _bindgen_ty_33 = 11;
12601 pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: _bindgen_ty_33 = 12;
12602 pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: _bindgen_ty_33 = 13;
12603 pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: _bindgen_ty_33 = 14;
12604 pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: _bindgen_ty_33 = 15;
12605 pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: _bindgen_ty_33 = 16;
12606 pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: _bindgen_ty_33 = 17;
12607 pub const ASENSOR_TYPE_STEP_DETECTOR: _bindgen_ty_33 = 18;
12608 pub const ASENSOR_TYPE_STEP_COUNTER: _bindgen_ty_33 = 19;
12609 pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: _bindgen_ty_33 = 20;
12610 pub const ASENSOR_TYPE_HEART_RATE: _bindgen_ty_33 = 21;
12611 pub const ASENSOR_TYPE_POSE_6DOF: _bindgen_ty_33 = 28;
12612 pub const ASENSOR_TYPE_STATIONARY_DETECT: _bindgen_ty_33 = 29;
12613 pub const ASENSOR_TYPE_MOTION_DETECT: _bindgen_ty_33 = 30;
12614 pub const ASENSOR_TYPE_HEART_BEAT: _bindgen_ty_33 = 31;
12615 pub const ASENSOR_TYPE_ADDITIONAL_INFO: _bindgen_ty_33 = 33;
12616 pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: _bindgen_ty_33 = 34;
12617 pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: _bindgen_ty_33 = 35;
12618 pub const ASENSOR_TYPE_HINGE_ANGLE: _bindgen_ty_33 = 36;
12619 pub type _bindgen_ty_33 = i32;
12620 pub const ASENSOR_STATUS_NO_CONTACT: _bindgen_ty_34 = -1;
12621 pub const ASENSOR_STATUS_UNRELIABLE: _bindgen_ty_34 = 0;
12622 pub const ASENSOR_STATUS_ACCURACY_LOW: _bindgen_ty_34 = 1;
12623 pub const ASENSOR_STATUS_ACCURACY_MEDIUM: _bindgen_ty_34 = 2;
12624 pub const ASENSOR_STATUS_ACCURACY_HIGH: _bindgen_ty_34 = 3;
12625 pub type _bindgen_ty_34 = i32;
12626 pub const AREPORTING_MODE_INVALID: _bindgen_ty_35 = -1;
12627 pub const AREPORTING_MODE_CONTINUOUS: _bindgen_ty_35 = 0;
12628 pub const AREPORTING_MODE_ON_CHANGE: _bindgen_ty_35 = 1;
12629 pub const AREPORTING_MODE_ONE_SHOT: _bindgen_ty_35 = 2;
12630 pub const AREPORTING_MODE_SPECIAL_TRIGGER: _bindgen_ty_35 = 3;
12631 pub type _bindgen_ty_35 = i32;
12632 pub const ASENSOR_DIRECT_RATE_STOP: _bindgen_ty_36 = 0;
12633 pub const ASENSOR_DIRECT_RATE_NORMAL: _bindgen_ty_36 = 1;
12634 pub const ASENSOR_DIRECT_RATE_FAST: _bindgen_ty_36 = 2;
12635 pub const ASENSOR_DIRECT_RATE_VERY_FAST: _bindgen_ty_36 = 3;
12636 pub type _bindgen_ty_36 = u32;
12637 pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: _bindgen_ty_37 = 1;
12638 pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: _bindgen_ty_37 = 2;
12639 pub type _bindgen_ty_37 = u32;
12640 pub const ASENSOR_ADDITIONAL_INFO_BEGIN: _bindgen_ty_38 = 0;
12641 pub const ASENSOR_ADDITIONAL_INFO_END: _bindgen_ty_38 = 1;
12642 pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: _bindgen_ty_38 = 65536;
12643 pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: _bindgen_ty_38 = 65537;
12644 pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: _bindgen_ty_38 = 65538;
12645 pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: _bindgen_ty_38 = 65539;
12646 pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: _bindgen_ty_38 = 65540;
12647 pub type _bindgen_ty_38 = u32;
12648 #[repr(C)]
12649 #[derive(Copy, Clone)]
12650 pub struct ASensorVector {
12651     pub __bindgen_anon_1: ASensorVector__bindgen_ty_1,
12652     pub status: i8,
12653     pub reserved: [u8; 3usize],
12654 }
12655 #[repr(C)]
12656 #[derive(Copy, Clone)]
12657 pub union ASensorVector__bindgen_ty_1 {
12658     pub v: [f32; 3usize],
12659     pub __bindgen_anon_1: ASensorVector__bindgen_ty_1__bindgen_ty_1,
12660     pub __bindgen_anon_2: ASensorVector__bindgen_ty_1__bindgen_ty_2,
12661     _bindgen_union_align: [u32; 3usize],
12662 }
12663 #[repr(C)]
12664 #[derive(Debug, Copy, Clone)]
12665 pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
12666     pub x: f32,
12667     pub y: f32,
12668     pub z: f32,
12669 }
12670 #[test]
bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1()12671 fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1() {
12672     assert_eq!(
12673         ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
12674         12usize,
12675         concat!(
12676             "Size of: ",
12677             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
12678         )
12679     );
12680     assert_eq!(
12681         ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
12682         4usize,
12683         concat!(
12684             "Alignment of ",
12685             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
12686         )
12687     );
12688     assert_eq!(
12689         unsafe {
12690             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).x as *const _
12691                 as usize
12692         },
12693         0usize,
12694         concat!(
12695             "Offset of field: ",
12696             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12697             "::",
12698             stringify!(x)
12699         )
12700     );
12701     assert_eq!(
12702         unsafe {
12703             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).y as *const _
12704                 as usize
12705         },
12706         4usize,
12707         concat!(
12708             "Offset of field: ",
12709             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12710             "::",
12711             stringify!(y)
12712         )
12713     );
12714     assert_eq!(
12715         unsafe {
12716             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_1>())).z as *const _
12717                 as usize
12718         },
12719         8usize,
12720         concat!(
12721             "Offset of field: ",
12722             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
12723             "::",
12724             stringify!(z)
12725         )
12726     );
12727 }
12728 #[repr(C)]
12729 #[derive(Debug, Copy, Clone)]
12730 pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
12731     pub azimuth: f32,
12732     pub pitch: f32,
12733     pub roll: f32,
12734 }
12735 #[test]
bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2()12736 fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2() {
12737     assert_eq!(
12738         ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
12739         12usize,
12740         concat!(
12741             "Size of: ",
12742             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
12743         )
12744     );
12745     assert_eq!(
12746         ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
12747         4usize,
12748         concat!(
12749             "Alignment of ",
12750             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
12751         )
12752     );
12753     assert_eq!(
12754         unsafe {
12755             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).azimuth
12756                 as *const _ as usize
12757         },
12758         0usize,
12759         concat!(
12760             "Offset of field: ",
12761             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12762             "::",
12763             stringify!(azimuth)
12764         )
12765     );
12766     assert_eq!(
12767         unsafe {
12768             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).pitch as *const _
12769                 as usize
12770         },
12771         4usize,
12772         concat!(
12773             "Offset of field: ",
12774             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12775             "::",
12776             stringify!(pitch)
12777         )
12778     );
12779     assert_eq!(
12780         unsafe {
12781             &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1__bindgen_ty_2>())).roll as *const _
12782                 as usize
12783         },
12784         8usize,
12785         concat!(
12786             "Offset of field: ",
12787             stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
12788             "::",
12789             stringify!(roll)
12790         )
12791     );
12792 }
12793 #[test]
bindgen_test_layout_ASensorVector__bindgen_ty_1()12794 fn bindgen_test_layout_ASensorVector__bindgen_ty_1() {
12795     assert_eq!(
12796         ::std::mem::size_of::<ASensorVector__bindgen_ty_1>(),
12797         12usize,
12798         concat!("Size of: ", stringify!(ASensorVector__bindgen_ty_1))
12799     );
12800     assert_eq!(
12801         ::std::mem::align_of::<ASensorVector__bindgen_ty_1>(),
12802         4usize,
12803         concat!("Alignment of ", stringify!(ASensorVector__bindgen_ty_1))
12804     );
12805     assert_eq!(
12806         unsafe { &(*(::std::ptr::null::<ASensorVector__bindgen_ty_1>())).v as *const _ as usize },
12807         0usize,
12808         concat!(
12809             "Offset of field: ",
12810             stringify!(ASensorVector__bindgen_ty_1),
12811             "::",
12812             stringify!(v)
12813         )
12814     );
12815 }
12816 #[test]
bindgen_test_layout_ASensorVector()12817 fn bindgen_test_layout_ASensorVector() {
12818     assert_eq!(
12819         ::std::mem::size_of::<ASensorVector>(),
12820         16usize,
12821         concat!("Size of: ", stringify!(ASensorVector))
12822     );
12823     assert_eq!(
12824         ::std::mem::align_of::<ASensorVector>(),
12825         4usize,
12826         concat!("Alignment of ", stringify!(ASensorVector))
12827     );
12828     assert_eq!(
12829         unsafe { &(*(::std::ptr::null::<ASensorVector>())).status as *const _ as usize },
12830         12usize,
12831         concat!(
12832             "Offset of field: ",
12833             stringify!(ASensorVector),
12834             "::",
12835             stringify!(status)
12836         )
12837     );
12838     assert_eq!(
12839         unsafe { &(*(::std::ptr::null::<ASensorVector>())).reserved as *const _ as usize },
12840         13usize,
12841         concat!(
12842             "Offset of field: ",
12843             stringify!(ASensorVector),
12844             "::",
12845             stringify!(reserved)
12846         )
12847     );
12848 }
12849 #[repr(C)]
12850 #[derive(Debug, Copy, Clone)]
12851 pub struct AMetaDataEvent {
12852     pub what: i32,
12853     pub sensor: i32,
12854 }
12855 #[test]
bindgen_test_layout_AMetaDataEvent()12856 fn bindgen_test_layout_AMetaDataEvent() {
12857     assert_eq!(
12858         ::std::mem::size_of::<AMetaDataEvent>(),
12859         8usize,
12860         concat!("Size of: ", stringify!(AMetaDataEvent))
12861     );
12862     assert_eq!(
12863         ::std::mem::align_of::<AMetaDataEvent>(),
12864         4usize,
12865         concat!("Alignment of ", stringify!(AMetaDataEvent))
12866     );
12867     assert_eq!(
12868         unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).what as *const _ as usize },
12869         0usize,
12870         concat!(
12871             "Offset of field: ",
12872             stringify!(AMetaDataEvent),
12873             "::",
12874             stringify!(what)
12875         )
12876     );
12877     assert_eq!(
12878         unsafe { &(*(::std::ptr::null::<AMetaDataEvent>())).sensor as *const _ as usize },
12879         4usize,
12880         concat!(
12881             "Offset of field: ",
12882             stringify!(AMetaDataEvent),
12883             "::",
12884             stringify!(sensor)
12885         )
12886     );
12887 }
12888 #[repr(C)]
12889 #[derive(Copy, Clone)]
12890 pub struct AUncalibratedEvent {
12891     pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1,
12892     pub __bindgen_anon_2: AUncalibratedEvent__bindgen_ty_2,
12893 }
12894 #[repr(C)]
12895 #[derive(Copy, Clone)]
12896 pub union AUncalibratedEvent__bindgen_ty_1 {
12897     pub uncalib: [f32; 3usize],
12898     pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
12899     _bindgen_union_align: [u32; 3usize],
12900 }
12901 #[repr(C)]
12902 #[derive(Debug, Copy, Clone)]
12903 pub struct AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
12904     pub x_uncalib: f32,
12905     pub y_uncalib: f32,
12906     pub z_uncalib: f32,
12907 }
12908 #[test]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1()12909 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
12910     assert_eq!(
12911         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
12912         12usize,
12913         concat!(
12914             "Size of: ",
12915             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
12916         )
12917     );
12918     assert_eq!(
12919         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
12920         4usize,
12921         concat!(
12922             "Alignment of ",
12923             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
12924         )
12925     );
12926     assert_eq!(
12927         unsafe {
12928             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).x_uncalib
12929                 as *const _ as usize
12930         },
12931         0usize,
12932         concat!(
12933             "Offset of field: ",
12934             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
12935             "::",
12936             stringify!(x_uncalib)
12937         )
12938     );
12939     assert_eq!(
12940         unsafe {
12941             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).y_uncalib
12942                 as *const _ as usize
12943         },
12944         4usize,
12945         concat!(
12946             "Offset of field: ",
12947             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
12948             "::",
12949             stringify!(y_uncalib)
12950         )
12951     );
12952     assert_eq!(
12953         unsafe {
12954             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>())).z_uncalib
12955                 as *const _ as usize
12956         },
12957         8usize,
12958         concat!(
12959             "Offset of field: ",
12960             stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
12961             "::",
12962             stringify!(z_uncalib)
12963         )
12964     );
12965 }
12966 #[test]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1()12967 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1() {
12968     assert_eq!(
12969         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1>(),
12970         12usize,
12971         concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_1))
12972     );
12973     assert_eq!(
12974         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1>(),
12975         4usize,
12976         concat!(
12977             "Alignment of ",
12978             stringify!(AUncalibratedEvent__bindgen_ty_1)
12979         )
12980     );
12981     assert_eq!(
12982         unsafe {
12983             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_1>())).uncalib as *const _
12984                 as usize
12985         },
12986         0usize,
12987         concat!(
12988             "Offset of field: ",
12989             stringify!(AUncalibratedEvent__bindgen_ty_1),
12990             "::",
12991             stringify!(uncalib)
12992         )
12993     );
12994 }
12995 #[repr(C)]
12996 #[derive(Copy, Clone)]
12997 pub union AUncalibratedEvent__bindgen_ty_2 {
12998     pub bias: [f32; 3usize],
12999     pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
13000     _bindgen_union_align: [u32; 3usize],
13001 }
13002 #[repr(C)]
13003 #[derive(Debug, Copy, Clone)]
13004 pub struct AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
13005     pub x_bias: f32,
13006     pub y_bias: f32,
13007     pub z_bias: f32,
13008 }
13009 #[test]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1()13010 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
13011     assert_eq!(
13012         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
13013         12usize,
13014         concat!(
13015             "Size of: ",
13016             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
13017         )
13018     );
13019     assert_eq!(
13020         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
13021         4usize,
13022         concat!(
13023             "Alignment of ",
13024             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
13025         )
13026     );
13027     assert_eq!(
13028         unsafe {
13029             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).x_bias
13030                 as *const _ as usize
13031         },
13032         0usize,
13033         concat!(
13034             "Offset of field: ",
13035             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
13036             "::",
13037             stringify!(x_bias)
13038         )
13039     );
13040     assert_eq!(
13041         unsafe {
13042             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).y_bias
13043                 as *const _ as usize
13044         },
13045         4usize,
13046         concat!(
13047             "Offset of field: ",
13048             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
13049             "::",
13050             stringify!(y_bias)
13051         )
13052     );
13053     assert_eq!(
13054         unsafe {
13055             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>())).z_bias
13056                 as *const _ as usize
13057         },
13058         8usize,
13059         concat!(
13060             "Offset of field: ",
13061             stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
13062             "::",
13063             stringify!(z_bias)
13064         )
13065     );
13066 }
13067 #[test]
bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2()13068 fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2() {
13069     assert_eq!(
13070         ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2>(),
13071         12usize,
13072         concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_2))
13073     );
13074     assert_eq!(
13075         ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2>(),
13076         4usize,
13077         concat!(
13078             "Alignment of ",
13079             stringify!(AUncalibratedEvent__bindgen_ty_2)
13080         )
13081     );
13082     assert_eq!(
13083         unsafe {
13084             &(*(::std::ptr::null::<AUncalibratedEvent__bindgen_ty_2>())).bias as *const _ as usize
13085         },
13086         0usize,
13087         concat!(
13088             "Offset of field: ",
13089             stringify!(AUncalibratedEvent__bindgen_ty_2),
13090             "::",
13091             stringify!(bias)
13092         )
13093     );
13094 }
13095 #[test]
bindgen_test_layout_AUncalibratedEvent()13096 fn bindgen_test_layout_AUncalibratedEvent() {
13097     assert_eq!(
13098         ::std::mem::size_of::<AUncalibratedEvent>(),
13099         24usize,
13100         concat!("Size of: ", stringify!(AUncalibratedEvent))
13101     );
13102     assert_eq!(
13103         ::std::mem::align_of::<AUncalibratedEvent>(),
13104         4usize,
13105         concat!("Alignment of ", stringify!(AUncalibratedEvent))
13106     );
13107 }
13108 #[repr(C)]
13109 #[derive(Debug, Copy, Clone)]
13110 pub struct AHeartRateEvent {
13111     pub bpm: f32,
13112     pub status: i8,
13113 }
13114 #[test]
bindgen_test_layout_AHeartRateEvent()13115 fn bindgen_test_layout_AHeartRateEvent() {
13116     assert_eq!(
13117         ::std::mem::size_of::<AHeartRateEvent>(),
13118         8usize,
13119         concat!("Size of: ", stringify!(AHeartRateEvent))
13120     );
13121     assert_eq!(
13122         ::std::mem::align_of::<AHeartRateEvent>(),
13123         4usize,
13124         concat!("Alignment of ", stringify!(AHeartRateEvent))
13125     );
13126     assert_eq!(
13127         unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).bpm as *const _ as usize },
13128         0usize,
13129         concat!(
13130             "Offset of field: ",
13131             stringify!(AHeartRateEvent),
13132             "::",
13133             stringify!(bpm)
13134         )
13135     );
13136     assert_eq!(
13137         unsafe { &(*(::std::ptr::null::<AHeartRateEvent>())).status as *const _ as usize },
13138         4usize,
13139         concat!(
13140             "Offset of field: ",
13141             stringify!(AHeartRateEvent),
13142             "::",
13143             stringify!(status)
13144         )
13145     );
13146 }
13147 #[repr(C)]
13148 #[derive(Debug, Copy, Clone)]
13149 pub struct ADynamicSensorEvent {
13150     pub connected: i32,
13151     pub handle: i32,
13152 }
13153 #[test]
bindgen_test_layout_ADynamicSensorEvent()13154 fn bindgen_test_layout_ADynamicSensorEvent() {
13155     assert_eq!(
13156         ::std::mem::size_of::<ADynamicSensorEvent>(),
13157         8usize,
13158         concat!("Size of: ", stringify!(ADynamicSensorEvent))
13159     );
13160     assert_eq!(
13161         ::std::mem::align_of::<ADynamicSensorEvent>(),
13162         4usize,
13163         concat!("Alignment of ", stringify!(ADynamicSensorEvent))
13164     );
13165     assert_eq!(
13166         unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).connected as *const _ as usize },
13167         0usize,
13168         concat!(
13169             "Offset of field: ",
13170             stringify!(ADynamicSensorEvent),
13171             "::",
13172             stringify!(connected)
13173         )
13174     );
13175     assert_eq!(
13176         unsafe { &(*(::std::ptr::null::<ADynamicSensorEvent>())).handle as *const _ as usize },
13177         4usize,
13178         concat!(
13179             "Offset of field: ",
13180             stringify!(ADynamicSensorEvent),
13181             "::",
13182             stringify!(handle)
13183         )
13184     );
13185 }
13186 #[repr(C)]
13187 #[derive(Copy, Clone)]
13188 pub struct AAdditionalInfoEvent {
13189     pub type_: i32,
13190     pub serial: i32,
13191     pub __bindgen_anon_1: AAdditionalInfoEvent__bindgen_ty_1,
13192 }
13193 #[repr(C)]
13194 #[derive(Copy, Clone)]
13195 pub union AAdditionalInfoEvent__bindgen_ty_1 {
13196     pub data_int32: [i32; 14usize],
13197     pub data_float: [f32; 14usize],
13198     _bindgen_union_align: [u32; 14usize],
13199 }
13200 #[test]
bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1()13201 fn bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1() {
13202     assert_eq!(
13203         ::std::mem::size_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
13204         56usize,
13205         concat!("Size of: ", stringify!(AAdditionalInfoEvent__bindgen_ty_1))
13206     );
13207     assert_eq!(
13208         ::std::mem::align_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
13209         4usize,
13210         concat!(
13211             "Alignment of ",
13212             stringify!(AAdditionalInfoEvent__bindgen_ty_1)
13213         )
13214     );
13215     assert_eq!(
13216         unsafe {
13217             &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_int32 as *const _
13218                 as usize
13219         },
13220         0usize,
13221         concat!(
13222             "Offset of field: ",
13223             stringify!(AAdditionalInfoEvent__bindgen_ty_1),
13224             "::",
13225             stringify!(data_int32)
13226         )
13227     );
13228     assert_eq!(
13229         unsafe {
13230             &(*(::std::ptr::null::<AAdditionalInfoEvent__bindgen_ty_1>())).data_float as *const _
13231                 as usize
13232         },
13233         0usize,
13234         concat!(
13235             "Offset of field: ",
13236             stringify!(AAdditionalInfoEvent__bindgen_ty_1),
13237             "::",
13238             stringify!(data_float)
13239         )
13240     );
13241 }
13242 #[test]
bindgen_test_layout_AAdditionalInfoEvent()13243 fn bindgen_test_layout_AAdditionalInfoEvent() {
13244     assert_eq!(
13245         ::std::mem::size_of::<AAdditionalInfoEvent>(),
13246         64usize,
13247         concat!("Size of: ", stringify!(AAdditionalInfoEvent))
13248     );
13249     assert_eq!(
13250         ::std::mem::align_of::<AAdditionalInfoEvent>(),
13251         4usize,
13252         concat!("Alignment of ", stringify!(AAdditionalInfoEvent))
13253     );
13254     assert_eq!(
13255         unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).type_ as *const _ as usize },
13256         0usize,
13257         concat!(
13258             "Offset of field: ",
13259             stringify!(AAdditionalInfoEvent),
13260             "::",
13261             stringify!(type_)
13262         )
13263     );
13264     assert_eq!(
13265         unsafe { &(*(::std::ptr::null::<AAdditionalInfoEvent>())).serial as *const _ as usize },
13266         4usize,
13267         concat!(
13268             "Offset of field: ",
13269             stringify!(AAdditionalInfoEvent),
13270             "::",
13271             stringify!(serial)
13272         )
13273     );
13274 }
13275 #[repr(C)]
13276 #[derive(Copy, Clone)]
13277 pub struct ASensorEvent {
13278     pub version: i32,
13279     pub sensor: i32,
13280     pub type_: i32,
13281     pub reserved0: i32,
13282     pub timestamp: i64,
13283     pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1,
13284     pub flags: u32,
13285     pub reserved1: [i32; 3usize],
13286 }
13287 #[repr(C)]
13288 #[derive(Copy, Clone)]
13289 pub union ASensorEvent__bindgen_ty_1 {
13290     pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1__bindgen_ty_1,
13291     pub u64: ASensorEvent__bindgen_ty_1__bindgen_ty_2,
13292     _bindgen_union_align: [u64; 8usize],
13293 }
13294 #[repr(C)]
13295 #[derive(Copy, Clone)]
13296 pub union ASensorEvent__bindgen_ty_1__bindgen_ty_1 {
13297     pub data: [f32; 16usize],
13298     pub vector: ASensorVector,
13299     pub acceleration: ASensorVector,
13300     pub magnetic: ASensorVector,
13301     pub temperature: f32,
13302     pub distance: f32,
13303     pub light: f32,
13304     pub pressure: f32,
13305     pub relative_humidity: f32,
13306     pub uncalibrated_gyro: AUncalibratedEvent,
13307     pub uncalibrated_magnetic: AUncalibratedEvent,
13308     pub meta_data: AMetaDataEvent,
13309     pub heart_rate: AHeartRateEvent,
13310     pub dynamic_sensor_meta: ADynamicSensorEvent,
13311     pub additional_info: AAdditionalInfoEvent,
13312     _bindgen_union_align: [u32; 16usize],
13313 }
13314 #[test]
bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1()13315 fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1() {
13316     assert_eq!(
13317         ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
13318         64usize,
13319         concat!(
13320             "Size of: ",
13321             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
13322         )
13323     );
13324     assert_eq!(
13325         ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
13326         4usize,
13327         concat!(
13328             "Alignment of ",
13329             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
13330         )
13331     );
13332     assert_eq!(
13333         unsafe {
13334             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).data as *const _
13335                 as usize
13336         },
13337         0usize,
13338         concat!(
13339             "Offset of field: ",
13340             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13341             "::",
13342             stringify!(data)
13343         )
13344     );
13345     assert_eq!(
13346         unsafe {
13347             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).vector as *const _
13348                 as usize
13349         },
13350         0usize,
13351         concat!(
13352             "Offset of field: ",
13353             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13354             "::",
13355             stringify!(vector)
13356         )
13357     );
13358     assert_eq!(
13359         unsafe {
13360             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).acceleration
13361                 as *const _ as usize
13362         },
13363         0usize,
13364         concat!(
13365             "Offset of field: ",
13366             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13367             "::",
13368             stringify!(acceleration)
13369         )
13370     );
13371     assert_eq!(
13372         unsafe {
13373             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).magnetic
13374                 as *const _ as usize
13375         },
13376         0usize,
13377         concat!(
13378             "Offset of field: ",
13379             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13380             "::",
13381             stringify!(magnetic)
13382         )
13383     );
13384     assert_eq!(
13385         unsafe {
13386             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).temperature
13387                 as *const _ as usize
13388         },
13389         0usize,
13390         concat!(
13391             "Offset of field: ",
13392             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13393             "::",
13394             stringify!(temperature)
13395         )
13396     );
13397     assert_eq!(
13398         unsafe {
13399             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).distance
13400                 as *const _ as usize
13401         },
13402         0usize,
13403         concat!(
13404             "Offset of field: ",
13405             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13406             "::",
13407             stringify!(distance)
13408         )
13409     );
13410     assert_eq!(
13411         unsafe {
13412             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).light as *const _
13413                 as usize
13414         },
13415         0usize,
13416         concat!(
13417             "Offset of field: ",
13418             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13419             "::",
13420             stringify!(light)
13421         )
13422     );
13423     assert_eq!(
13424         unsafe {
13425             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).pressure
13426                 as *const _ as usize
13427         },
13428         0usize,
13429         concat!(
13430             "Offset of field: ",
13431             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13432             "::",
13433             stringify!(pressure)
13434         )
13435     );
13436     assert_eq!(
13437         unsafe {
13438             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).relative_humidity
13439                 as *const _ as usize
13440         },
13441         0usize,
13442         concat!(
13443             "Offset of field: ",
13444             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13445             "::",
13446             stringify!(relative_humidity)
13447         )
13448     );
13449     assert_eq!(
13450         unsafe {
13451             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).uncalibrated_gyro
13452                 as *const _ as usize
13453         },
13454         0usize,
13455         concat!(
13456             "Offset of field: ",
13457             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13458             "::",
13459             stringify!(uncalibrated_gyro)
13460         )
13461     );
13462     assert_eq!(
13463         unsafe {
13464             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>()))
13465                 .uncalibrated_magnetic as *const _ as usize
13466         },
13467         0usize,
13468         concat!(
13469             "Offset of field: ",
13470             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13471             "::",
13472             stringify!(uncalibrated_magnetic)
13473         )
13474     );
13475     assert_eq!(
13476         unsafe {
13477             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).meta_data
13478                 as *const _ as usize
13479         },
13480         0usize,
13481         concat!(
13482             "Offset of field: ",
13483             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13484             "::",
13485             stringify!(meta_data)
13486         )
13487     );
13488     assert_eq!(
13489         unsafe {
13490             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).heart_rate
13491                 as *const _ as usize
13492         },
13493         0usize,
13494         concat!(
13495             "Offset of field: ",
13496             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13497             "::",
13498             stringify!(heart_rate)
13499         )
13500     );
13501     assert_eq!(
13502         unsafe {
13503             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).dynamic_sensor_meta
13504                 as *const _ as usize
13505         },
13506         0usize,
13507         concat!(
13508             "Offset of field: ",
13509             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13510             "::",
13511             stringify!(dynamic_sensor_meta)
13512         )
13513     );
13514     assert_eq!(
13515         unsafe {
13516             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>())).additional_info
13517                 as *const _ as usize
13518         },
13519         0usize,
13520         concat!(
13521             "Offset of field: ",
13522             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
13523             "::",
13524             stringify!(additional_info)
13525         )
13526     );
13527 }
13528 #[repr(C)]
13529 #[derive(Copy, Clone)]
13530 pub union ASensorEvent__bindgen_ty_1__bindgen_ty_2 {
13531     pub data: [u64; 8usize],
13532     pub step_counter: u64,
13533     _bindgen_union_align: [u64; 8usize],
13534 }
13535 #[test]
bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2()13536 fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2() {
13537     assert_eq!(
13538         ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
13539         64usize,
13540         concat!(
13541             "Size of: ",
13542             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
13543         )
13544     );
13545     assert_eq!(
13546         ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
13547         8usize,
13548         concat!(
13549             "Alignment of ",
13550             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
13551         )
13552     );
13553     assert_eq!(
13554         unsafe {
13555             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).data as *const _
13556                 as usize
13557         },
13558         0usize,
13559         concat!(
13560             "Offset of field: ",
13561             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
13562             "::",
13563             stringify!(data)
13564         )
13565     );
13566     assert_eq!(
13567         unsafe {
13568             &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>())).step_counter
13569                 as *const _ as usize
13570         },
13571         0usize,
13572         concat!(
13573             "Offset of field: ",
13574             stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
13575             "::",
13576             stringify!(step_counter)
13577         )
13578     );
13579 }
13580 #[test]
bindgen_test_layout_ASensorEvent__bindgen_ty_1()13581 fn bindgen_test_layout_ASensorEvent__bindgen_ty_1() {
13582     assert_eq!(
13583         ::std::mem::size_of::<ASensorEvent__bindgen_ty_1>(),
13584         64usize,
13585         concat!("Size of: ", stringify!(ASensorEvent__bindgen_ty_1))
13586     );
13587     assert_eq!(
13588         ::std::mem::align_of::<ASensorEvent__bindgen_ty_1>(),
13589         8usize,
13590         concat!("Alignment of ", stringify!(ASensorEvent__bindgen_ty_1))
13591     );
13592     assert_eq!(
13593         unsafe { &(*(::std::ptr::null::<ASensorEvent__bindgen_ty_1>())).u64 as *const _ as usize },
13594         0usize,
13595         concat!(
13596             "Offset of field: ",
13597             stringify!(ASensorEvent__bindgen_ty_1),
13598             "::",
13599             stringify!(u64)
13600         )
13601     );
13602 }
13603 #[test]
bindgen_test_layout_ASensorEvent()13604 fn bindgen_test_layout_ASensorEvent() {
13605     assert_eq!(
13606         ::std::mem::size_of::<ASensorEvent>(),
13607         104usize,
13608         concat!("Size of: ", stringify!(ASensorEvent))
13609     );
13610     assert_eq!(
13611         ::std::mem::align_of::<ASensorEvent>(),
13612         8usize,
13613         concat!("Alignment of ", stringify!(ASensorEvent))
13614     );
13615     assert_eq!(
13616         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).version as *const _ as usize },
13617         0usize,
13618         concat!(
13619             "Offset of field: ",
13620             stringify!(ASensorEvent),
13621             "::",
13622             stringify!(version)
13623         )
13624     );
13625     assert_eq!(
13626         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).sensor as *const _ as usize },
13627         4usize,
13628         concat!(
13629             "Offset of field: ",
13630             stringify!(ASensorEvent),
13631             "::",
13632             stringify!(sensor)
13633         )
13634     );
13635     assert_eq!(
13636         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).type_ as *const _ as usize },
13637         8usize,
13638         concat!(
13639             "Offset of field: ",
13640             stringify!(ASensorEvent),
13641             "::",
13642             stringify!(type_)
13643         )
13644     );
13645     assert_eq!(
13646         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved0 as *const _ as usize },
13647         12usize,
13648         concat!(
13649             "Offset of field: ",
13650             stringify!(ASensorEvent),
13651             "::",
13652             stringify!(reserved0)
13653         )
13654     );
13655     assert_eq!(
13656         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).timestamp as *const _ as usize },
13657         16usize,
13658         concat!(
13659             "Offset of field: ",
13660             stringify!(ASensorEvent),
13661             "::",
13662             stringify!(timestamp)
13663         )
13664     );
13665     assert_eq!(
13666         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).flags as *const _ as usize },
13667         88usize,
13668         concat!(
13669             "Offset of field: ",
13670             stringify!(ASensorEvent),
13671             "::",
13672             stringify!(flags)
13673         )
13674     );
13675     assert_eq!(
13676         unsafe { &(*(::std::ptr::null::<ASensorEvent>())).reserved1 as *const _ as usize },
13677         92usize,
13678         concat!(
13679             "Offset of field: ",
13680             stringify!(ASensorEvent),
13681             "::",
13682             stringify!(reserved1)
13683         )
13684     );
13685 }
13686 #[repr(C)]
13687 #[derive(Debug, Copy, Clone)]
13688 pub struct ASensorManager {
13689     _unused: [u8; 0],
13690 }
13691 #[repr(C)]
13692 #[derive(Debug, Copy, Clone)]
13693 pub struct ASensorEventQueue {
13694     _unused: [u8; 0],
13695 }
13696 #[repr(C)]
13697 #[derive(Debug, Copy, Clone)]
13698 pub struct ASensor {
13699     _unused: [u8; 0],
13700 }
13701 pub type ASensorRef = *const ASensor;
13702 pub type ASensorList = *const ASensorRef;
13703 extern "C" {
ASensorManager_getInstance() -> *mut ASensorManager13704     pub fn ASensorManager_getInstance() -> *mut ASensorManager;
13705 }
13706 extern "C" {
ASensorManager_getInstanceForPackage( packageName: *const ::std::os::raw::c_char, ) -> *mut ASensorManager13707     pub fn ASensorManager_getInstanceForPackage(
13708         packageName: *const ::std::os::raw::c_char,
13709     ) -> *mut ASensorManager;
13710 }
13711 extern "C" {
ASensorManager_getSensorList( manager: *mut ASensorManager, list: *mut ASensorList, ) -> ::std::os::raw::c_int13712     pub fn ASensorManager_getSensorList(
13713         manager: *mut ASensorManager,
13714         list: *mut ASensorList,
13715     ) -> ::std::os::raw::c_int;
13716 }
13717 extern "C" {
ASensorManager_getDefaultSensor( manager: *mut ASensorManager, type_: ::std::os::raw::c_int, ) -> *const ASensor13718     pub fn ASensorManager_getDefaultSensor(
13719         manager: *mut ASensorManager,
13720         type_: ::std::os::raw::c_int,
13721     ) -> *const ASensor;
13722 }
13723 extern "C" {
ASensorManager_getDefaultSensorEx( manager: *mut ASensorManager, type_: ::std::os::raw::c_int, wakeUp: bool, ) -> *const ASensor13724     pub fn ASensorManager_getDefaultSensorEx(
13725         manager: *mut ASensorManager,
13726         type_: ::std::os::raw::c_int,
13727         wakeUp: bool,
13728     ) -> *const ASensor;
13729 }
13730 extern "C" {
ASensorManager_createEventQueue( manager: *mut ASensorManager, looper: *mut ALooper, ident: ::std::os::raw::c_int, callback: ALooper_callbackFunc, data: *mut ::std::os::raw::c_void, ) -> *mut ASensorEventQueue13731     pub fn ASensorManager_createEventQueue(
13732         manager: *mut ASensorManager,
13733         looper: *mut ALooper,
13734         ident: ::std::os::raw::c_int,
13735         callback: ALooper_callbackFunc,
13736         data: *mut ::std::os::raw::c_void,
13737     ) -> *mut ASensorEventQueue;
13738 }
13739 extern "C" {
ASensorManager_destroyEventQueue( manager: *mut ASensorManager, queue: *mut ASensorEventQueue, ) -> ::std::os::raw::c_int13740     pub fn ASensorManager_destroyEventQueue(
13741         manager: *mut ASensorManager,
13742         queue: *mut ASensorEventQueue,
13743     ) -> ::std::os::raw::c_int;
13744 }
13745 extern "C" {
ASensorManager_createSharedMemoryDirectChannel( manager: *mut ASensorManager, fd: ::std::os::raw::c_int, size: size_t, ) -> ::std::os::raw::c_int13746     pub fn ASensorManager_createSharedMemoryDirectChannel(
13747         manager: *mut ASensorManager,
13748         fd: ::std::os::raw::c_int,
13749         size: size_t,
13750     ) -> ::std::os::raw::c_int;
13751 }
13752 extern "C" {
ASensorManager_createHardwareBufferDirectChannel( manager: *mut ASensorManager, buffer: *const AHardwareBuffer, size: size_t, ) -> ::std::os::raw::c_int13753     pub fn ASensorManager_createHardwareBufferDirectChannel(
13754         manager: *mut ASensorManager,
13755         buffer: *const AHardwareBuffer,
13756         size: size_t,
13757     ) -> ::std::os::raw::c_int;
13758 }
13759 extern "C" {
ASensorManager_destroyDirectChannel( manager: *mut ASensorManager, channelId: ::std::os::raw::c_int, )13760     pub fn ASensorManager_destroyDirectChannel(
13761         manager: *mut ASensorManager,
13762         channelId: ::std::os::raw::c_int,
13763     );
13764 }
13765 extern "C" {
ASensorManager_configureDirectReport( manager: *mut ASensorManager, sensor: *const ASensor, channelId: ::std::os::raw::c_int, rate: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int13766     pub fn ASensorManager_configureDirectReport(
13767         manager: *mut ASensorManager,
13768         sensor: *const ASensor,
13769         channelId: ::std::os::raw::c_int,
13770         rate: ::std::os::raw::c_int,
13771     ) -> ::std::os::raw::c_int;
13772 }
13773 extern "C" {
ASensorEventQueue_registerSensor( queue: *mut ASensorEventQueue, sensor: *const ASensor, samplingPeriodUs: i32, maxBatchReportLatencyUs: i64, ) -> ::std::os::raw::c_int13774     pub fn ASensorEventQueue_registerSensor(
13775         queue: *mut ASensorEventQueue,
13776         sensor: *const ASensor,
13777         samplingPeriodUs: i32,
13778         maxBatchReportLatencyUs: i64,
13779     ) -> ::std::os::raw::c_int;
13780 }
13781 extern "C" {
ASensorEventQueue_enableSensor( queue: *mut ASensorEventQueue, sensor: *const ASensor, ) -> ::std::os::raw::c_int13782     pub fn ASensorEventQueue_enableSensor(
13783         queue: *mut ASensorEventQueue,
13784         sensor: *const ASensor,
13785     ) -> ::std::os::raw::c_int;
13786 }
13787 extern "C" {
ASensorEventQueue_disableSensor( queue: *mut ASensorEventQueue, sensor: *const ASensor, ) -> ::std::os::raw::c_int13788     pub fn ASensorEventQueue_disableSensor(
13789         queue: *mut ASensorEventQueue,
13790         sensor: *const ASensor,
13791     ) -> ::std::os::raw::c_int;
13792 }
13793 extern "C" {
ASensorEventQueue_setEventRate( queue: *mut ASensorEventQueue, sensor: *const ASensor, usec: i32, ) -> ::std::os::raw::c_int13794     pub fn ASensorEventQueue_setEventRate(
13795         queue: *mut ASensorEventQueue,
13796         sensor: *const ASensor,
13797         usec: i32,
13798     ) -> ::std::os::raw::c_int;
13799 }
13800 extern "C" {
ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int13801     pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
13802 }
13803 extern "C" {
ASensorEventQueue_getEvents( queue: *mut ASensorEventQueue, events: *mut ASensorEvent, count: size_t, ) -> ssize_t13804     pub fn ASensorEventQueue_getEvents(
13805         queue: *mut ASensorEventQueue,
13806         events: *mut ASensorEvent,
13807         count: size_t,
13808     ) -> ssize_t;
13809 }
13810 extern "C" {
ASensorEventQueue_requestAdditionalInfoEvents( queue: *mut ASensorEventQueue, enable: bool, ) -> ::std::os::raw::c_int13811     pub fn ASensorEventQueue_requestAdditionalInfoEvents(
13812         queue: *mut ASensorEventQueue,
13813         enable: bool,
13814     ) -> ::std::os::raw::c_int;
13815 }
13816 extern "C" {
ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char13817     pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13818 }
13819 extern "C" {
ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char13820     pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13821 }
13822 extern "C" {
ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int13823     pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
13824 }
13825 extern "C" {
ASensor_getResolution(sensor: *const ASensor) -> f3213826     pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
13827 }
13828 extern "C" {
ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int13829     pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
13830 }
13831 extern "C" {
ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int13832     pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13833 }
13834 extern "C" {
ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int13835     pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
13836 }
13837 extern "C" {
ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char13838     pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
13839 }
13840 extern "C" {
ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int13841     pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
13842 }
13843 extern "C" {
ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool13844     pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
13845 }
13846 extern "C" {
ASensor_isDirectChannelTypeSupported( sensor: *const ASensor, channelType: ::std::os::raw::c_int, ) -> bool13847     pub fn ASensor_isDirectChannelTypeSupported(
13848         sensor: *const ASensor,
13849         channelType: ::std::os::raw::c_int,
13850     ) -> bool;
13851 }
13852 extern "C" {
ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor) -> ::std::os::raw::c_int13853     pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
13854         -> ::std::os::raw::c_int;
13855 }
13856 extern "C" {
ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int13857     pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
13858 }
13859 extern "C" {
android_set_abort_message(__msg: *const ::std::os::raw::c_char)13860     pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
13861 }
13862 extern "C" {
ASharedMemory_create( name: *const ::std::os::raw::c_char, size: size_t, ) -> ::std::os::raw::c_int13863     pub fn ASharedMemory_create(
13864         name: *const ::std::os::raw::c_char,
13865         size: size_t,
13866     ) -> ::std::os::raw::c_int;
13867 }
13868 extern "C" {
ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> size_t13869     pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> size_t;
13870 }
13871 extern "C" {
ASharedMemory_setProt( fd: ::std::os::raw::c_int, prot: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int13872     pub fn ASharedMemory_setProt(
13873         fd: ::std::os::raw::c_int,
13874         prot: ::std::os::raw::c_int,
13875     ) -> ::std::os::raw::c_int;
13876 }
13877 extern "C" {
ASharedMemory_dupFromJava( env: *mut JNIEnv, sharedMemory: jobject, ) -> ::std::os::raw::c_int13878     pub fn ASharedMemory_dupFromJava(
13879         env: *mut JNIEnv,
13880         sharedMemory: jobject,
13881     ) -> ::std::os::raw::c_int;
13882 }
13883 #[repr(C)]
13884 #[derive(Debug, Copy, Clone)]
13885 pub struct AStorageManager {
13886     _unused: [u8; 0],
13887 }
13888 pub const AOBB_STATE_MOUNTED: _bindgen_ty_39 = 1;
13889 pub const AOBB_STATE_UNMOUNTED: _bindgen_ty_39 = 2;
13890 pub const AOBB_STATE_ERROR_INTERNAL: _bindgen_ty_39 = 20;
13891 pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: _bindgen_ty_39 = 21;
13892 pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: _bindgen_ty_39 = 22;
13893 pub const AOBB_STATE_ERROR_NOT_MOUNTED: _bindgen_ty_39 = 23;
13894 pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: _bindgen_ty_39 = 24;
13895 pub const AOBB_STATE_ERROR_PERMISSION_DENIED: _bindgen_ty_39 = 25;
13896 pub type _bindgen_ty_39 = u32;
13897 extern "C" {
AStorageManager_new() -> *mut AStorageManager13898     pub fn AStorageManager_new() -> *mut AStorageManager;
13899 }
13900 extern "C" {
AStorageManager_delete(mgr: *mut AStorageManager)13901     pub fn AStorageManager_delete(mgr: *mut AStorageManager);
13902 }
13903 pub type AStorageManager_obbCallbackFunc = ::std::option::Option<
13904     unsafe extern "C" fn(
13905         filename: *const ::std::os::raw::c_char,
13906         state: i32,
13907         data: *mut ::std::os::raw::c_void,
13908     ),
13909 >;
13910 extern "C" {
AStorageManager_mountObb( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, key: *const ::std::os::raw::c_char, cb: AStorageManager_obbCallbackFunc, data: *mut ::std::os::raw::c_void, )13911     pub fn AStorageManager_mountObb(
13912         mgr: *mut AStorageManager,
13913         filename: *const ::std::os::raw::c_char,
13914         key: *const ::std::os::raw::c_char,
13915         cb: AStorageManager_obbCallbackFunc,
13916         data: *mut ::std::os::raw::c_void,
13917     );
13918 }
13919 extern "C" {
AStorageManager_unmountObb( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, force: ::std::os::raw::c_int, cb: AStorageManager_obbCallbackFunc, data: *mut ::std::os::raw::c_void, )13920     pub fn AStorageManager_unmountObb(
13921         mgr: *mut AStorageManager,
13922         filename: *const ::std::os::raw::c_char,
13923         force: ::std::os::raw::c_int,
13924         cb: AStorageManager_obbCallbackFunc,
13925         data: *mut ::std::os::raw::c_void,
13926     );
13927 }
13928 extern "C" {
AStorageManager_isObbMounted( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, ) -> ::std::os::raw::c_int13929     pub fn AStorageManager_isObbMounted(
13930         mgr: *mut AStorageManager,
13931         filename: *const ::std::os::raw::c_char,
13932     ) -> ::std::os::raw::c_int;
13933 }
13934 extern "C" {
AStorageManager_getMountedObbPath( mgr: *mut AStorageManager, filename: *const ::std::os::raw::c_char, ) -> *const ::std::os::raw::c_char13935     pub fn AStorageManager_getMountedObbPath(
13936         mgr: *mut AStorageManager,
13937         filename: *const ::std::os::raw::c_char,
13938     ) -> *const ::std::os::raw::c_char;
13939 }
13940 #[repr(C)]
13941 #[derive(Debug, Copy, Clone)]
13942 pub struct ASurfaceTexture {
13943     _unused: [u8; 0],
13944 }
13945 extern "C" {
ASurfaceTexture_release(st: *mut ASurfaceTexture)13946     pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
13947 }
13948 extern "C" {
ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow13949     pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
13950 }
13951 extern "C" {
ASurfaceTexture_attachToGLContext( st: *mut ASurfaceTexture, texName: u32, ) -> ::std::os::raw::c_int13952     pub fn ASurfaceTexture_attachToGLContext(
13953         st: *mut ASurfaceTexture,
13954         texName: u32,
13955     ) -> ::std::os::raw::c_int;
13956 }
13957 extern "C" {
ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int13958     pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
13959 }
13960 extern "C" {
ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int13961     pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
13962 }
13963 extern "C" {
ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32)13964     pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
13965 }
13966 extern "C" {
ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i6413967     pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
13968 }
13969 extern "C" {
ASurfaceTexture_fromSurfaceTexture( env: *mut JNIEnv, surfacetexture: jobject, ) -> *mut ASurfaceTexture13970     pub fn ASurfaceTexture_fromSurfaceTexture(
13971         env: *mut JNIEnv,
13972         surfacetexture: jobject,
13973     ) -> *mut ASurfaceTexture;
13974 }
13975 #[repr(C)]
13976 #[derive(Debug, Copy, Clone)]
13977 pub struct sync_merge_data {
13978     pub name: [::std::os::raw::c_char; 32usize],
13979     pub fd2: __s32,
13980     pub fence: __s32,
13981     pub flags: __u32,
13982     pub pad: __u32,
13983 }
13984 #[test]
bindgen_test_layout_sync_merge_data()13985 fn bindgen_test_layout_sync_merge_data() {
13986     assert_eq!(
13987         ::std::mem::size_of::<sync_merge_data>(),
13988         48usize,
13989         concat!("Size of: ", stringify!(sync_merge_data))
13990     );
13991     assert_eq!(
13992         ::std::mem::align_of::<sync_merge_data>(),
13993         4usize,
13994         concat!("Alignment of ", stringify!(sync_merge_data))
13995     );
13996     assert_eq!(
13997         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).name as *const _ as usize },
13998         0usize,
13999         concat!(
14000             "Offset of field: ",
14001             stringify!(sync_merge_data),
14002             "::",
14003             stringify!(name)
14004         )
14005     );
14006     assert_eq!(
14007         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fd2 as *const _ as usize },
14008         32usize,
14009         concat!(
14010             "Offset of field: ",
14011             stringify!(sync_merge_data),
14012             "::",
14013             stringify!(fd2)
14014         )
14015     );
14016     assert_eq!(
14017         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).fence as *const _ as usize },
14018         36usize,
14019         concat!(
14020             "Offset of field: ",
14021             stringify!(sync_merge_data),
14022             "::",
14023             stringify!(fence)
14024         )
14025     );
14026     assert_eq!(
14027         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).flags as *const _ as usize },
14028         40usize,
14029         concat!(
14030             "Offset of field: ",
14031             stringify!(sync_merge_data),
14032             "::",
14033             stringify!(flags)
14034         )
14035     );
14036     assert_eq!(
14037         unsafe { &(*(::std::ptr::null::<sync_merge_data>())).pad as *const _ as usize },
14038         44usize,
14039         concat!(
14040             "Offset of field: ",
14041             stringify!(sync_merge_data),
14042             "::",
14043             stringify!(pad)
14044         )
14045     );
14046 }
14047 #[repr(C)]
14048 #[derive(Debug, Copy, Clone)]
14049 pub struct sync_fence_info {
14050     pub obj_name: [::std::os::raw::c_char; 32usize],
14051     pub driver_name: [::std::os::raw::c_char; 32usize],
14052     pub status: __s32,
14053     pub flags: __u32,
14054     pub timestamp_ns: __u64,
14055 }
14056 #[test]
bindgen_test_layout_sync_fence_info()14057 fn bindgen_test_layout_sync_fence_info() {
14058     assert_eq!(
14059         ::std::mem::size_of::<sync_fence_info>(),
14060         80usize,
14061         concat!("Size of: ", stringify!(sync_fence_info))
14062     );
14063     assert_eq!(
14064         ::std::mem::align_of::<sync_fence_info>(),
14065         8usize,
14066         concat!("Alignment of ", stringify!(sync_fence_info))
14067     );
14068     assert_eq!(
14069         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).obj_name as *const _ as usize },
14070         0usize,
14071         concat!(
14072             "Offset of field: ",
14073             stringify!(sync_fence_info),
14074             "::",
14075             stringify!(obj_name)
14076         )
14077     );
14078     assert_eq!(
14079         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).driver_name as *const _ as usize },
14080         32usize,
14081         concat!(
14082             "Offset of field: ",
14083             stringify!(sync_fence_info),
14084             "::",
14085             stringify!(driver_name)
14086         )
14087     );
14088     assert_eq!(
14089         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).status as *const _ as usize },
14090         64usize,
14091         concat!(
14092             "Offset of field: ",
14093             stringify!(sync_fence_info),
14094             "::",
14095             stringify!(status)
14096         )
14097     );
14098     assert_eq!(
14099         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).flags as *const _ as usize },
14100         68usize,
14101         concat!(
14102             "Offset of field: ",
14103             stringify!(sync_fence_info),
14104             "::",
14105             stringify!(flags)
14106         )
14107     );
14108     assert_eq!(
14109         unsafe { &(*(::std::ptr::null::<sync_fence_info>())).timestamp_ns as *const _ as usize },
14110         72usize,
14111         concat!(
14112             "Offset of field: ",
14113             stringify!(sync_fence_info),
14114             "::",
14115             stringify!(timestamp_ns)
14116         )
14117     );
14118 }
14119 #[repr(C)]
14120 #[derive(Debug, Copy, Clone)]
14121 pub struct sync_file_info {
14122     pub name: [::std::os::raw::c_char; 32usize],
14123     pub status: __s32,
14124     pub flags: __u32,
14125     pub num_fences: __u32,
14126     pub pad: __u32,
14127     pub sync_fence_info: __u64,
14128 }
14129 #[test]
bindgen_test_layout_sync_file_info()14130 fn bindgen_test_layout_sync_file_info() {
14131     assert_eq!(
14132         ::std::mem::size_of::<sync_file_info>(),
14133         56usize,
14134         concat!("Size of: ", stringify!(sync_file_info))
14135     );
14136     assert_eq!(
14137         ::std::mem::align_of::<sync_file_info>(),
14138         8usize,
14139         concat!("Alignment of ", stringify!(sync_file_info))
14140     );
14141     assert_eq!(
14142         unsafe { &(*(::std::ptr::null::<sync_file_info>())).name as *const _ as usize },
14143         0usize,
14144         concat!(
14145             "Offset of field: ",
14146             stringify!(sync_file_info),
14147             "::",
14148             stringify!(name)
14149         )
14150     );
14151     assert_eq!(
14152         unsafe { &(*(::std::ptr::null::<sync_file_info>())).status as *const _ as usize },
14153         32usize,
14154         concat!(
14155             "Offset of field: ",
14156             stringify!(sync_file_info),
14157             "::",
14158             stringify!(status)
14159         )
14160     );
14161     assert_eq!(
14162         unsafe { &(*(::std::ptr::null::<sync_file_info>())).flags as *const _ as usize },
14163         36usize,
14164         concat!(
14165             "Offset of field: ",
14166             stringify!(sync_file_info),
14167             "::",
14168             stringify!(flags)
14169         )
14170     );
14171     assert_eq!(
14172         unsafe { &(*(::std::ptr::null::<sync_file_info>())).num_fences as *const _ as usize },
14173         40usize,
14174         concat!(
14175             "Offset of field: ",
14176             stringify!(sync_file_info),
14177             "::",
14178             stringify!(num_fences)
14179         )
14180     );
14181     assert_eq!(
14182         unsafe { &(*(::std::ptr::null::<sync_file_info>())).pad as *const _ as usize },
14183         44usize,
14184         concat!(
14185             "Offset of field: ",
14186             stringify!(sync_file_info),
14187             "::",
14188             stringify!(pad)
14189         )
14190     );
14191     assert_eq!(
14192         unsafe { &(*(::std::ptr::null::<sync_file_info>())).sync_fence_info as *const _ as usize },
14193         48usize,
14194         concat!(
14195             "Offset of field: ",
14196             stringify!(sync_file_info),
14197             "::",
14198             stringify!(sync_fence_info)
14199         )
14200     );
14201 }
14202 extern "C" {
sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i3214203     pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
14204 }
14205 extern "C" {
sync_file_info(fd: i32) -> *mut sync_file_info14206     pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
14207 }
14208 extern "C" {
sync_file_info_free(info: *mut sync_file_info)14209     pub fn sync_file_info_free(info: *mut sync_file_info);
14210 }
14211 extern "C" {
ATrace_isEnabled() -> bool14212     pub fn ATrace_isEnabled() -> bool;
14213 }
14214 extern "C" {
ATrace_beginSection(sectionName: *const ::std::os::raw::c_char)14215     pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
14216 }
14217 extern "C" {
ATrace_endSection()14218     pub fn ATrace_endSection();
14219 }
14220 extern "C" {
ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32)14221     pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
14222 }
14223 extern "C" {
ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32)14224     pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
14225 }
14226 extern "C" {
ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64)14227     pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
14228 }
14229 pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: _bindgen_ty_40 = 1;
14230 pub const AWINDOW_FLAG_DIM_BEHIND: _bindgen_ty_40 = 2;
14231 pub const AWINDOW_FLAG_BLUR_BEHIND: _bindgen_ty_40 = 4;
14232 pub const AWINDOW_FLAG_NOT_FOCUSABLE: _bindgen_ty_40 = 8;
14233 pub const AWINDOW_FLAG_NOT_TOUCHABLE: _bindgen_ty_40 = 16;
14234 pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: _bindgen_ty_40 = 32;
14235 pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: _bindgen_ty_40 = 64;
14236 pub const AWINDOW_FLAG_KEEP_SCREEN_ON: _bindgen_ty_40 = 128;
14237 pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: _bindgen_ty_40 = 256;
14238 pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: _bindgen_ty_40 = 512;
14239 pub const AWINDOW_FLAG_FULLSCREEN: _bindgen_ty_40 = 1024;
14240 pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: _bindgen_ty_40 = 2048;
14241 pub const AWINDOW_FLAG_DITHER: _bindgen_ty_40 = 4096;
14242 pub const AWINDOW_FLAG_SECURE: _bindgen_ty_40 = 8192;
14243 pub const AWINDOW_FLAG_SCALED: _bindgen_ty_40 = 16384;
14244 pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: _bindgen_ty_40 = 32768;
14245 pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: _bindgen_ty_40 = 65536;
14246 pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: _bindgen_ty_40 = 131072;
14247 pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: _bindgen_ty_40 = 262144;
14248 pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: _bindgen_ty_40 = 524288;
14249 pub const AWINDOW_FLAG_SHOW_WALLPAPER: _bindgen_ty_40 = 1048576;
14250 pub const AWINDOW_FLAG_TURN_SCREEN_ON: _bindgen_ty_40 = 2097152;
14251 pub const AWINDOW_FLAG_DISMISS_KEYGUARD: _bindgen_ty_40 = 4194304;
14252 pub type _bindgen_ty_40 = u32;
14253 #[repr(C)]
14254 #[derive(Debug, Copy, Clone)]
14255 pub struct __kernel_timespec {
14256     pub tv_sec: __kernel_time64_t,
14257     pub tv_nsec: ::std::os::raw::c_longlong,
14258 }
14259 #[test]
bindgen_test_layout___kernel_timespec()14260 fn bindgen_test_layout___kernel_timespec() {
14261     assert_eq!(
14262         ::std::mem::size_of::<__kernel_timespec>(),
14263         16usize,
14264         concat!("Size of: ", stringify!(__kernel_timespec))
14265     );
14266     assert_eq!(
14267         ::std::mem::align_of::<__kernel_timespec>(),
14268         8usize,
14269         concat!("Alignment of ", stringify!(__kernel_timespec))
14270     );
14271     assert_eq!(
14272         unsafe { &(*(::std::ptr::null::<__kernel_timespec>())).tv_sec as *const _ as usize },
14273         0usize,
14274         concat!(
14275             "Offset of field: ",
14276             stringify!(__kernel_timespec),
14277             "::",
14278             stringify!(tv_sec)
14279         )
14280     );
14281     assert_eq!(
14282         unsafe { &(*(::std::ptr::null::<__kernel_timespec>())).tv_nsec as *const _ as usize },
14283         8usize,
14284         concat!(
14285             "Offset of field: ",
14286             stringify!(__kernel_timespec),
14287             "::",
14288             stringify!(tv_nsec)
14289         )
14290     );
14291 }
14292 #[repr(C)]
14293 #[derive(Debug, Copy, Clone)]
14294 pub struct __kernel_itimerspec {
14295     pub it_interval: __kernel_timespec,
14296     pub it_value: __kernel_timespec,
14297 }
14298 #[test]
bindgen_test_layout___kernel_itimerspec()14299 fn bindgen_test_layout___kernel_itimerspec() {
14300     assert_eq!(
14301         ::std::mem::size_of::<__kernel_itimerspec>(),
14302         32usize,
14303         concat!("Size of: ", stringify!(__kernel_itimerspec))
14304     );
14305     assert_eq!(
14306         ::std::mem::align_of::<__kernel_itimerspec>(),
14307         8usize,
14308         concat!("Alignment of ", stringify!(__kernel_itimerspec))
14309     );
14310     assert_eq!(
14311         unsafe { &(*(::std::ptr::null::<__kernel_itimerspec>())).it_interval as *const _ as usize },
14312         0usize,
14313         concat!(
14314             "Offset of field: ",
14315             stringify!(__kernel_itimerspec),
14316             "::",
14317             stringify!(it_interval)
14318         )
14319     );
14320     assert_eq!(
14321         unsafe { &(*(::std::ptr::null::<__kernel_itimerspec>())).it_value as *const _ as usize },
14322         16usize,
14323         concat!(
14324             "Offset of field: ",
14325             stringify!(__kernel_itimerspec),
14326             "::",
14327             stringify!(it_value)
14328         )
14329     );
14330 }
14331 #[repr(C)]
14332 #[derive(Debug, Copy, Clone)]
14333 pub struct __kernel_old_timeval {
14334     pub tv_sec: __kernel_long_t,
14335     pub tv_usec: __kernel_long_t,
14336 }
14337 #[test]
bindgen_test_layout___kernel_old_timeval()14338 fn bindgen_test_layout___kernel_old_timeval() {
14339     assert_eq!(
14340         ::std::mem::size_of::<__kernel_old_timeval>(),
14341         8usize,
14342         concat!("Size of: ", stringify!(__kernel_old_timeval))
14343     );
14344     assert_eq!(
14345         ::std::mem::align_of::<__kernel_old_timeval>(),
14346         4usize,
14347         concat!("Alignment of ", stringify!(__kernel_old_timeval))
14348     );
14349     assert_eq!(
14350         unsafe { &(*(::std::ptr::null::<__kernel_old_timeval>())).tv_sec as *const _ as usize },
14351         0usize,
14352         concat!(
14353             "Offset of field: ",
14354             stringify!(__kernel_old_timeval),
14355             "::",
14356             stringify!(tv_sec)
14357         )
14358     );
14359     assert_eq!(
14360         unsafe { &(*(::std::ptr::null::<__kernel_old_timeval>())).tv_usec as *const _ as usize },
14361         4usize,
14362         concat!(
14363             "Offset of field: ",
14364             stringify!(__kernel_old_timeval),
14365             "::",
14366             stringify!(tv_usec)
14367         )
14368     );
14369 }
14370 #[repr(C)]
14371 #[derive(Debug, Copy, Clone)]
14372 pub struct __kernel_sock_timeval {
14373     pub tv_sec: __s64,
14374     pub tv_usec: __s64,
14375 }
14376 #[test]
bindgen_test_layout___kernel_sock_timeval()14377 fn bindgen_test_layout___kernel_sock_timeval() {
14378     assert_eq!(
14379         ::std::mem::size_of::<__kernel_sock_timeval>(),
14380         16usize,
14381         concat!("Size of: ", stringify!(__kernel_sock_timeval))
14382     );
14383     assert_eq!(
14384         ::std::mem::align_of::<__kernel_sock_timeval>(),
14385         8usize,
14386         concat!("Alignment of ", stringify!(__kernel_sock_timeval))
14387     );
14388     assert_eq!(
14389         unsafe { &(*(::std::ptr::null::<__kernel_sock_timeval>())).tv_sec as *const _ as usize },
14390         0usize,
14391         concat!(
14392             "Offset of field: ",
14393             stringify!(__kernel_sock_timeval),
14394             "::",
14395             stringify!(tv_sec)
14396         )
14397     );
14398     assert_eq!(
14399         unsafe { &(*(::std::ptr::null::<__kernel_sock_timeval>())).tv_usec as *const _ as usize },
14400         8usize,
14401         concat!(
14402             "Offset of field: ",
14403             stringify!(__kernel_sock_timeval),
14404             "::",
14405             stringify!(tv_usec)
14406         )
14407     );
14408 }
14409 #[repr(C)]
14410 #[derive(Debug, Copy, Clone)]
14411 pub struct timespec {
14412     pub tv_sec: __kernel_time_t,
14413     pub tv_nsec: ::std::os::raw::c_long,
14414 }
14415 #[test]
bindgen_test_layout_timespec()14416 fn bindgen_test_layout_timespec() {
14417     assert_eq!(
14418         ::std::mem::size_of::<timespec>(),
14419         8usize,
14420         concat!("Size of: ", stringify!(timespec))
14421     );
14422     assert_eq!(
14423         ::std::mem::align_of::<timespec>(),
14424         4usize,
14425         concat!("Alignment of ", stringify!(timespec))
14426     );
14427     assert_eq!(
14428         unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize },
14429         0usize,
14430         concat!(
14431             "Offset of field: ",
14432             stringify!(timespec),
14433             "::",
14434             stringify!(tv_sec)
14435         )
14436     );
14437     assert_eq!(
14438         unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize },
14439         4usize,
14440         concat!(
14441             "Offset of field: ",
14442             stringify!(timespec),
14443             "::",
14444             stringify!(tv_nsec)
14445         )
14446     );
14447 }
14448 #[repr(C)]
14449 #[derive(Debug, Copy, Clone)]
14450 pub struct timeval {
14451     pub tv_sec: __kernel_time_t,
14452     pub tv_usec: __kernel_suseconds_t,
14453 }
14454 #[test]
bindgen_test_layout_timeval()14455 fn bindgen_test_layout_timeval() {
14456     assert_eq!(
14457         ::std::mem::size_of::<timeval>(),
14458         8usize,
14459         concat!("Size of: ", stringify!(timeval))
14460     );
14461     assert_eq!(
14462         ::std::mem::align_of::<timeval>(),
14463         4usize,
14464         concat!("Alignment of ", stringify!(timeval))
14465     );
14466     assert_eq!(
14467         unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize },
14468         0usize,
14469         concat!(
14470             "Offset of field: ",
14471             stringify!(timeval),
14472             "::",
14473             stringify!(tv_sec)
14474         )
14475     );
14476     assert_eq!(
14477         unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize },
14478         4usize,
14479         concat!(
14480             "Offset of field: ",
14481             stringify!(timeval),
14482             "::",
14483             stringify!(tv_usec)
14484         )
14485     );
14486 }
14487 #[repr(C)]
14488 #[derive(Debug, Copy, Clone)]
14489 pub struct timezone {
14490     pub tz_minuteswest: ::std::os::raw::c_int,
14491     pub tz_dsttime: ::std::os::raw::c_int,
14492 }
14493 #[test]
bindgen_test_layout_timezone()14494 fn bindgen_test_layout_timezone() {
14495     assert_eq!(
14496         ::std::mem::size_of::<timezone>(),
14497         8usize,
14498         concat!("Size of: ", stringify!(timezone))
14499     );
14500     assert_eq!(
14501         ::std::mem::align_of::<timezone>(),
14502         4usize,
14503         concat!("Alignment of ", stringify!(timezone))
14504     );
14505     assert_eq!(
14506         unsafe { &(*(::std::ptr::null::<timezone>())).tz_minuteswest as *const _ as usize },
14507         0usize,
14508         concat!(
14509             "Offset of field: ",
14510             stringify!(timezone),
14511             "::",
14512             stringify!(tz_minuteswest)
14513         )
14514     );
14515     assert_eq!(
14516         unsafe { &(*(::std::ptr::null::<timezone>())).tz_dsttime as *const _ as usize },
14517         4usize,
14518         concat!(
14519             "Offset of field: ",
14520             stringify!(timezone),
14521             "::",
14522             stringify!(tz_dsttime)
14523         )
14524     );
14525 }
14526 #[repr(C)]
14527 #[derive(Debug, Copy, Clone)]
14528 pub struct itimerspec {
14529     pub it_interval: timespec,
14530     pub it_value: timespec,
14531 }
14532 #[test]
bindgen_test_layout_itimerspec()14533 fn bindgen_test_layout_itimerspec() {
14534     assert_eq!(
14535         ::std::mem::size_of::<itimerspec>(),
14536         16usize,
14537         concat!("Size of: ", stringify!(itimerspec))
14538     );
14539     assert_eq!(
14540         ::std::mem::align_of::<itimerspec>(),
14541         4usize,
14542         concat!("Alignment of ", stringify!(itimerspec))
14543     );
14544     assert_eq!(
14545         unsafe { &(*(::std::ptr::null::<itimerspec>())).it_interval as *const _ as usize },
14546         0usize,
14547         concat!(
14548             "Offset of field: ",
14549             stringify!(itimerspec),
14550             "::",
14551             stringify!(it_interval)
14552         )
14553     );
14554     assert_eq!(
14555         unsafe { &(*(::std::ptr::null::<itimerspec>())).it_value as *const _ as usize },
14556         8usize,
14557         concat!(
14558             "Offset of field: ",
14559             stringify!(itimerspec),
14560             "::",
14561             stringify!(it_value)
14562         )
14563     );
14564 }
14565 #[repr(C)]
14566 #[derive(Debug, Copy, Clone)]
14567 pub struct itimerval {
14568     pub it_interval: timeval,
14569     pub it_value: timeval,
14570 }
14571 #[test]
bindgen_test_layout_itimerval()14572 fn bindgen_test_layout_itimerval() {
14573     assert_eq!(
14574         ::std::mem::size_of::<itimerval>(),
14575         16usize,
14576         concat!("Size of: ", stringify!(itimerval))
14577     );
14578     assert_eq!(
14579         ::std::mem::align_of::<itimerval>(),
14580         4usize,
14581         concat!("Alignment of ", stringify!(itimerval))
14582     );
14583     assert_eq!(
14584         unsafe { &(*(::std::ptr::null::<itimerval>())).it_interval as *const _ as usize },
14585         0usize,
14586         concat!(
14587             "Offset of field: ",
14588             stringify!(itimerval),
14589             "::",
14590             stringify!(it_interval)
14591         )
14592     );
14593     assert_eq!(
14594         unsafe { &(*(::std::ptr::null::<itimerval>())).it_value as *const _ as usize },
14595         8usize,
14596         concat!(
14597             "Offset of field: ",
14598             stringify!(itimerval),
14599             "::",
14600             stringify!(it_value)
14601         )
14602     );
14603 }
14604 #[repr(C)]
14605 #[derive(Debug, Copy, Clone)]
14606 pub struct sigcontext {
14607     pub trap_no: ::std::os::raw::c_ulong,
14608     pub error_code: ::std::os::raw::c_ulong,
14609     pub oldmask: ::std::os::raw::c_ulong,
14610     pub arm_r0: ::std::os::raw::c_ulong,
14611     pub arm_r1: ::std::os::raw::c_ulong,
14612     pub arm_r2: ::std::os::raw::c_ulong,
14613     pub arm_r3: ::std::os::raw::c_ulong,
14614     pub arm_r4: ::std::os::raw::c_ulong,
14615     pub arm_r5: ::std::os::raw::c_ulong,
14616     pub arm_r6: ::std::os::raw::c_ulong,
14617     pub arm_r7: ::std::os::raw::c_ulong,
14618     pub arm_r8: ::std::os::raw::c_ulong,
14619     pub arm_r9: ::std::os::raw::c_ulong,
14620     pub arm_r10: ::std::os::raw::c_ulong,
14621     pub arm_fp: ::std::os::raw::c_ulong,
14622     pub arm_ip: ::std::os::raw::c_ulong,
14623     pub arm_sp: ::std::os::raw::c_ulong,
14624     pub arm_lr: ::std::os::raw::c_ulong,
14625     pub arm_pc: ::std::os::raw::c_ulong,
14626     pub arm_cpsr: ::std::os::raw::c_ulong,
14627     pub fault_address: ::std::os::raw::c_ulong,
14628 }
14629 #[test]
bindgen_test_layout_sigcontext()14630 fn bindgen_test_layout_sigcontext() {
14631     assert_eq!(
14632         ::std::mem::size_of::<sigcontext>(),
14633         84usize,
14634         concat!("Size of: ", stringify!(sigcontext))
14635     );
14636     assert_eq!(
14637         ::std::mem::align_of::<sigcontext>(),
14638         4usize,
14639         concat!("Alignment of ", stringify!(sigcontext))
14640     );
14641     assert_eq!(
14642         unsafe { &(*(::std::ptr::null::<sigcontext>())).trap_no as *const _ as usize },
14643         0usize,
14644         concat!(
14645             "Offset of field: ",
14646             stringify!(sigcontext),
14647             "::",
14648             stringify!(trap_no)
14649         )
14650     );
14651     assert_eq!(
14652         unsafe { &(*(::std::ptr::null::<sigcontext>())).error_code as *const _ as usize },
14653         4usize,
14654         concat!(
14655             "Offset of field: ",
14656             stringify!(sigcontext),
14657             "::",
14658             stringify!(error_code)
14659         )
14660     );
14661     assert_eq!(
14662         unsafe { &(*(::std::ptr::null::<sigcontext>())).oldmask as *const _ as usize },
14663         8usize,
14664         concat!(
14665             "Offset of field: ",
14666             stringify!(sigcontext),
14667             "::",
14668             stringify!(oldmask)
14669         )
14670     );
14671     assert_eq!(
14672         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r0 as *const _ as usize },
14673         12usize,
14674         concat!(
14675             "Offset of field: ",
14676             stringify!(sigcontext),
14677             "::",
14678             stringify!(arm_r0)
14679         )
14680     );
14681     assert_eq!(
14682         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r1 as *const _ as usize },
14683         16usize,
14684         concat!(
14685             "Offset of field: ",
14686             stringify!(sigcontext),
14687             "::",
14688             stringify!(arm_r1)
14689         )
14690     );
14691     assert_eq!(
14692         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r2 as *const _ as usize },
14693         20usize,
14694         concat!(
14695             "Offset of field: ",
14696             stringify!(sigcontext),
14697             "::",
14698             stringify!(arm_r2)
14699         )
14700     );
14701     assert_eq!(
14702         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r3 as *const _ as usize },
14703         24usize,
14704         concat!(
14705             "Offset of field: ",
14706             stringify!(sigcontext),
14707             "::",
14708             stringify!(arm_r3)
14709         )
14710     );
14711     assert_eq!(
14712         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r4 as *const _ as usize },
14713         28usize,
14714         concat!(
14715             "Offset of field: ",
14716             stringify!(sigcontext),
14717             "::",
14718             stringify!(arm_r4)
14719         )
14720     );
14721     assert_eq!(
14722         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r5 as *const _ as usize },
14723         32usize,
14724         concat!(
14725             "Offset of field: ",
14726             stringify!(sigcontext),
14727             "::",
14728             stringify!(arm_r5)
14729         )
14730     );
14731     assert_eq!(
14732         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r6 as *const _ as usize },
14733         36usize,
14734         concat!(
14735             "Offset of field: ",
14736             stringify!(sigcontext),
14737             "::",
14738             stringify!(arm_r6)
14739         )
14740     );
14741     assert_eq!(
14742         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r7 as *const _ as usize },
14743         40usize,
14744         concat!(
14745             "Offset of field: ",
14746             stringify!(sigcontext),
14747             "::",
14748             stringify!(arm_r7)
14749         )
14750     );
14751     assert_eq!(
14752         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r8 as *const _ as usize },
14753         44usize,
14754         concat!(
14755             "Offset of field: ",
14756             stringify!(sigcontext),
14757             "::",
14758             stringify!(arm_r8)
14759         )
14760     );
14761     assert_eq!(
14762         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r9 as *const _ as usize },
14763         48usize,
14764         concat!(
14765             "Offset of field: ",
14766             stringify!(sigcontext),
14767             "::",
14768             stringify!(arm_r9)
14769         )
14770     );
14771     assert_eq!(
14772         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_r10 as *const _ as usize },
14773         52usize,
14774         concat!(
14775             "Offset of field: ",
14776             stringify!(sigcontext),
14777             "::",
14778             stringify!(arm_r10)
14779         )
14780     );
14781     assert_eq!(
14782         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_fp as *const _ as usize },
14783         56usize,
14784         concat!(
14785             "Offset of field: ",
14786             stringify!(sigcontext),
14787             "::",
14788             stringify!(arm_fp)
14789         )
14790     );
14791     assert_eq!(
14792         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_ip as *const _ as usize },
14793         60usize,
14794         concat!(
14795             "Offset of field: ",
14796             stringify!(sigcontext),
14797             "::",
14798             stringify!(arm_ip)
14799         )
14800     );
14801     assert_eq!(
14802         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_sp as *const _ as usize },
14803         64usize,
14804         concat!(
14805             "Offset of field: ",
14806             stringify!(sigcontext),
14807             "::",
14808             stringify!(arm_sp)
14809         )
14810     );
14811     assert_eq!(
14812         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_lr as *const _ as usize },
14813         68usize,
14814         concat!(
14815             "Offset of field: ",
14816             stringify!(sigcontext),
14817             "::",
14818             stringify!(arm_lr)
14819         )
14820     );
14821     assert_eq!(
14822         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_pc as *const _ as usize },
14823         72usize,
14824         concat!(
14825             "Offset of field: ",
14826             stringify!(sigcontext),
14827             "::",
14828             stringify!(arm_pc)
14829         )
14830     );
14831     assert_eq!(
14832         unsafe { &(*(::std::ptr::null::<sigcontext>())).arm_cpsr as *const _ as usize },
14833         76usize,
14834         concat!(
14835             "Offset of field: ",
14836             stringify!(sigcontext),
14837             "::",
14838             stringify!(arm_cpsr)
14839         )
14840     );
14841     assert_eq!(
14842         unsafe { &(*(::std::ptr::null::<sigcontext>())).fault_address as *const _ as usize },
14843         80usize,
14844         concat!(
14845             "Offset of field: ",
14846             stringify!(sigcontext),
14847             "::",
14848             stringify!(fault_address)
14849         )
14850     );
14851 }
14852 pub type sigset_t = ::std::os::raw::c_ulong;
14853 pub type __signalfn_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
14854 pub type __sighandler_t = __signalfn_t;
14855 pub type __restorefn_t = ::std::option::Option<unsafe extern "C" fn()>;
14856 pub type __sigrestore_t = __restorefn_t;
14857 #[repr(C)]
14858 #[derive(Copy, Clone)]
14859 pub struct __kernel_sigaction {
14860     pub _u: __kernel_sigaction__bindgen_ty_1,
14861     pub sa_mask: sigset_t,
14862     pub sa_flags: ::std::os::raw::c_ulong,
14863     pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
14864 }
14865 #[repr(C)]
14866 #[derive(Copy, Clone)]
14867 pub union __kernel_sigaction__bindgen_ty_1 {
14868     pub _sa_handler: __sighandler_t,
14869     pub _sa_sigaction: ::std::option::Option<
14870         unsafe extern "C" fn(
14871             arg1: ::std::os::raw::c_int,
14872             arg2: *mut siginfo,
14873             arg3: *mut ::std::os::raw::c_void,
14874         ),
14875     >,
14876     _bindgen_union_align: u32,
14877 }
14878 #[test]
bindgen_test_layout___kernel_sigaction__bindgen_ty_1()14879 fn bindgen_test_layout___kernel_sigaction__bindgen_ty_1() {
14880     assert_eq!(
14881         ::std::mem::size_of::<__kernel_sigaction__bindgen_ty_1>(),
14882         4usize,
14883         concat!("Size of: ", stringify!(__kernel_sigaction__bindgen_ty_1))
14884     );
14885     assert_eq!(
14886         ::std::mem::align_of::<__kernel_sigaction__bindgen_ty_1>(),
14887         4usize,
14888         concat!(
14889             "Alignment of ",
14890             stringify!(__kernel_sigaction__bindgen_ty_1)
14891         )
14892     );
14893     assert_eq!(
14894         unsafe {
14895             &(*(::std::ptr::null::<__kernel_sigaction__bindgen_ty_1>()))._sa_handler as *const _
14896                 as usize
14897         },
14898         0usize,
14899         concat!(
14900             "Offset of field: ",
14901             stringify!(__kernel_sigaction__bindgen_ty_1),
14902             "::",
14903             stringify!(_sa_handler)
14904         )
14905     );
14906     assert_eq!(
14907         unsafe {
14908             &(*(::std::ptr::null::<__kernel_sigaction__bindgen_ty_1>()))._sa_sigaction as *const _
14909                 as usize
14910         },
14911         0usize,
14912         concat!(
14913             "Offset of field: ",
14914             stringify!(__kernel_sigaction__bindgen_ty_1),
14915             "::",
14916             stringify!(_sa_sigaction)
14917         )
14918     );
14919 }
14920 #[test]
bindgen_test_layout___kernel_sigaction()14921 fn bindgen_test_layout___kernel_sigaction() {
14922     assert_eq!(
14923         ::std::mem::size_of::<__kernel_sigaction>(),
14924         16usize,
14925         concat!("Size of: ", stringify!(__kernel_sigaction))
14926     );
14927     assert_eq!(
14928         ::std::mem::align_of::<__kernel_sigaction>(),
14929         4usize,
14930         concat!("Alignment of ", stringify!(__kernel_sigaction))
14931     );
14932     assert_eq!(
14933         unsafe { &(*(::std::ptr::null::<__kernel_sigaction>()))._u as *const _ as usize },
14934         0usize,
14935         concat!(
14936             "Offset of field: ",
14937             stringify!(__kernel_sigaction),
14938             "::",
14939             stringify!(_u)
14940         )
14941     );
14942     assert_eq!(
14943         unsafe { &(*(::std::ptr::null::<__kernel_sigaction>())).sa_mask as *const _ as usize },
14944         4usize,
14945         concat!(
14946             "Offset of field: ",
14947             stringify!(__kernel_sigaction),
14948             "::",
14949             stringify!(sa_mask)
14950         )
14951     );
14952     assert_eq!(
14953         unsafe { &(*(::std::ptr::null::<__kernel_sigaction>())).sa_flags as *const _ as usize },
14954         8usize,
14955         concat!(
14956             "Offset of field: ",
14957             stringify!(__kernel_sigaction),
14958             "::",
14959             stringify!(sa_flags)
14960         )
14961     );
14962     assert_eq!(
14963         unsafe { &(*(::std::ptr::null::<__kernel_sigaction>())).sa_restorer as *const _ as usize },
14964         12usize,
14965         concat!(
14966             "Offset of field: ",
14967             stringify!(__kernel_sigaction),
14968             "::",
14969             stringify!(sa_restorer)
14970         )
14971     );
14972 }
14973 #[repr(C)]
14974 #[derive(Debug, Copy, Clone)]
14975 pub struct sigaltstack {
14976     pub ss_sp: *mut ::std::os::raw::c_void,
14977     pub ss_flags: ::std::os::raw::c_int,
14978     pub ss_size: size_t,
14979 }
14980 #[test]
bindgen_test_layout_sigaltstack()14981 fn bindgen_test_layout_sigaltstack() {
14982     assert_eq!(
14983         ::std::mem::size_of::<sigaltstack>(),
14984         12usize,
14985         concat!("Size of: ", stringify!(sigaltstack))
14986     );
14987     assert_eq!(
14988         ::std::mem::align_of::<sigaltstack>(),
14989         4usize,
14990         concat!("Alignment of ", stringify!(sigaltstack))
14991     );
14992     assert_eq!(
14993         unsafe { &(*(::std::ptr::null::<sigaltstack>())).ss_sp as *const _ as usize },
14994         0usize,
14995         concat!(
14996             "Offset of field: ",
14997             stringify!(sigaltstack),
14998             "::",
14999             stringify!(ss_sp)
15000         )
15001     );
15002     assert_eq!(
15003         unsafe { &(*(::std::ptr::null::<sigaltstack>())).ss_flags as *const _ as usize },
15004         4usize,
15005         concat!(
15006             "Offset of field: ",
15007             stringify!(sigaltstack),
15008             "::",
15009             stringify!(ss_flags)
15010         )
15011     );
15012     assert_eq!(
15013         unsafe { &(*(::std::ptr::null::<sigaltstack>())).ss_size as *const _ as usize },
15014         8usize,
15015         concat!(
15016             "Offset of field: ",
15017             stringify!(sigaltstack),
15018             "::",
15019             stringify!(ss_size)
15020         )
15021     );
15022 }
15023 pub type stack_t = sigaltstack;
15024 #[repr(C)]
15025 #[derive(Copy, Clone)]
15026 pub union sigval {
15027     pub sival_int: ::std::os::raw::c_int,
15028     pub sival_ptr: *mut ::std::os::raw::c_void,
15029     _bindgen_union_align: u32,
15030 }
15031 #[test]
bindgen_test_layout_sigval()15032 fn bindgen_test_layout_sigval() {
15033     assert_eq!(
15034         ::std::mem::size_of::<sigval>(),
15035         4usize,
15036         concat!("Size of: ", stringify!(sigval))
15037     );
15038     assert_eq!(
15039         ::std::mem::align_of::<sigval>(),
15040         4usize,
15041         concat!("Alignment of ", stringify!(sigval))
15042     );
15043     assert_eq!(
15044         unsafe { &(*(::std::ptr::null::<sigval>())).sival_int as *const _ as usize },
15045         0usize,
15046         concat!(
15047             "Offset of field: ",
15048             stringify!(sigval),
15049             "::",
15050             stringify!(sival_int)
15051         )
15052     );
15053     assert_eq!(
15054         unsafe { &(*(::std::ptr::null::<sigval>())).sival_ptr as *const _ as usize },
15055         0usize,
15056         concat!(
15057             "Offset of field: ",
15058             stringify!(sigval),
15059             "::",
15060             stringify!(sival_ptr)
15061         )
15062     );
15063 }
15064 pub type sigval_t = sigval;
15065 #[repr(C)]
15066 #[derive(Copy, Clone)]
15067 pub union __sifields {
15068     pub _kill: __sifields__bindgen_ty_1,
15069     pub _timer: __sifields__bindgen_ty_2,
15070     pub _rt: __sifields__bindgen_ty_3,
15071     pub _sigchld: __sifields__bindgen_ty_4,
15072     pub _sigfault: __sifields__bindgen_ty_5,
15073     pub _sigpoll: __sifields__bindgen_ty_6,
15074     pub _sigsys: __sifields__bindgen_ty_7,
15075     _bindgen_union_align: [u32; 5usize],
15076 }
15077 #[repr(C)]
15078 #[derive(Debug, Copy, Clone)]
15079 pub struct __sifields__bindgen_ty_1 {
15080     pub _pid: __kernel_pid_t,
15081     pub _uid: __kernel_uid32_t,
15082 }
15083 #[test]
bindgen_test_layout___sifields__bindgen_ty_1()15084 fn bindgen_test_layout___sifields__bindgen_ty_1() {
15085     assert_eq!(
15086         ::std::mem::size_of::<__sifields__bindgen_ty_1>(),
15087         8usize,
15088         concat!("Size of: ", stringify!(__sifields__bindgen_ty_1))
15089     );
15090     assert_eq!(
15091         ::std::mem::align_of::<__sifields__bindgen_ty_1>(),
15092         4usize,
15093         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_1))
15094     );
15095     assert_eq!(
15096         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_1>()))._pid as *const _ as usize },
15097         0usize,
15098         concat!(
15099             "Offset of field: ",
15100             stringify!(__sifields__bindgen_ty_1),
15101             "::",
15102             stringify!(_pid)
15103         )
15104     );
15105     assert_eq!(
15106         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_1>()))._uid as *const _ as usize },
15107         4usize,
15108         concat!(
15109             "Offset of field: ",
15110             stringify!(__sifields__bindgen_ty_1),
15111             "::",
15112             stringify!(_uid)
15113         )
15114     );
15115 }
15116 #[repr(C)]
15117 #[derive(Copy, Clone)]
15118 pub struct __sifields__bindgen_ty_2 {
15119     pub _tid: __kernel_timer_t,
15120     pub _overrun: ::std::os::raw::c_int,
15121     pub _sigval: sigval_t,
15122     pub _sys_private: ::std::os::raw::c_int,
15123 }
15124 #[test]
bindgen_test_layout___sifields__bindgen_ty_2()15125 fn bindgen_test_layout___sifields__bindgen_ty_2() {
15126     assert_eq!(
15127         ::std::mem::size_of::<__sifields__bindgen_ty_2>(),
15128         16usize,
15129         concat!("Size of: ", stringify!(__sifields__bindgen_ty_2))
15130     );
15131     assert_eq!(
15132         ::std::mem::align_of::<__sifields__bindgen_ty_2>(),
15133         4usize,
15134         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_2))
15135     );
15136     assert_eq!(
15137         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._tid as *const _ as usize },
15138         0usize,
15139         concat!(
15140             "Offset of field: ",
15141             stringify!(__sifields__bindgen_ty_2),
15142             "::",
15143             stringify!(_tid)
15144         )
15145     );
15146     assert_eq!(
15147         unsafe {
15148             &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._overrun as *const _ as usize
15149         },
15150         4usize,
15151         concat!(
15152             "Offset of field: ",
15153             stringify!(__sifields__bindgen_ty_2),
15154             "::",
15155             stringify!(_overrun)
15156         )
15157     );
15158     assert_eq!(
15159         unsafe {
15160             &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._sigval as *const _ as usize
15161         },
15162         8usize,
15163         concat!(
15164             "Offset of field: ",
15165             stringify!(__sifields__bindgen_ty_2),
15166             "::",
15167             stringify!(_sigval)
15168         )
15169     );
15170     assert_eq!(
15171         unsafe {
15172             &(*(::std::ptr::null::<__sifields__bindgen_ty_2>()))._sys_private as *const _ as usize
15173         },
15174         12usize,
15175         concat!(
15176             "Offset of field: ",
15177             stringify!(__sifields__bindgen_ty_2),
15178             "::",
15179             stringify!(_sys_private)
15180         )
15181     );
15182 }
15183 #[repr(C)]
15184 #[derive(Copy, Clone)]
15185 pub struct __sifields__bindgen_ty_3 {
15186     pub _pid: __kernel_pid_t,
15187     pub _uid: __kernel_uid32_t,
15188     pub _sigval: sigval_t,
15189 }
15190 #[test]
bindgen_test_layout___sifields__bindgen_ty_3()15191 fn bindgen_test_layout___sifields__bindgen_ty_3() {
15192     assert_eq!(
15193         ::std::mem::size_of::<__sifields__bindgen_ty_3>(),
15194         12usize,
15195         concat!("Size of: ", stringify!(__sifields__bindgen_ty_3))
15196     );
15197     assert_eq!(
15198         ::std::mem::align_of::<__sifields__bindgen_ty_3>(),
15199         4usize,
15200         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_3))
15201     );
15202     assert_eq!(
15203         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_3>()))._pid as *const _ as usize },
15204         0usize,
15205         concat!(
15206             "Offset of field: ",
15207             stringify!(__sifields__bindgen_ty_3),
15208             "::",
15209             stringify!(_pid)
15210         )
15211     );
15212     assert_eq!(
15213         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_3>()))._uid as *const _ as usize },
15214         4usize,
15215         concat!(
15216             "Offset of field: ",
15217             stringify!(__sifields__bindgen_ty_3),
15218             "::",
15219             stringify!(_uid)
15220         )
15221     );
15222     assert_eq!(
15223         unsafe {
15224             &(*(::std::ptr::null::<__sifields__bindgen_ty_3>()))._sigval as *const _ as usize
15225         },
15226         8usize,
15227         concat!(
15228             "Offset of field: ",
15229             stringify!(__sifields__bindgen_ty_3),
15230             "::",
15231             stringify!(_sigval)
15232         )
15233     );
15234 }
15235 #[repr(C)]
15236 #[derive(Debug, Copy, Clone)]
15237 pub struct __sifields__bindgen_ty_4 {
15238     pub _pid: __kernel_pid_t,
15239     pub _uid: __kernel_uid32_t,
15240     pub _status: ::std::os::raw::c_int,
15241     pub _utime: __kernel_clock_t,
15242     pub _stime: __kernel_clock_t,
15243 }
15244 #[test]
bindgen_test_layout___sifields__bindgen_ty_4()15245 fn bindgen_test_layout___sifields__bindgen_ty_4() {
15246     assert_eq!(
15247         ::std::mem::size_of::<__sifields__bindgen_ty_4>(),
15248         20usize,
15249         concat!("Size of: ", stringify!(__sifields__bindgen_ty_4))
15250     );
15251     assert_eq!(
15252         ::std::mem::align_of::<__sifields__bindgen_ty_4>(),
15253         4usize,
15254         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_4))
15255     );
15256     assert_eq!(
15257         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._pid as *const _ as usize },
15258         0usize,
15259         concat!(
15260             "Offset of field: ",
15261             stringify!(__sifields__bindgen_ty_4),
15262             "::",
15263             stringify!(_pid)
15264         )
15265     );
15266     assert_eq!(
15267         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._uid as *const _ as usize },
15268         4usize,
15269         concat!(
15270             "Offset of field: ",
15271             stringify!(__sifields__bindgen_ty_4),
15272             "::",
15273             stringify!(_uid)
15274         )
15275     );
15276     assert_eq!(
15277         unsafe {
15278             &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._status as *const _ as usize
15279         },
15280         8usize,
15281         concat!(
15282             "Offset of field: ",
15283             stringify!(__sifields__bindgen_ty_4),
15284             "::",
15285             stringify!(_status)
15286         )
15287     );
15288     assert_eq!(
15289         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._utime as *const _ as usize },
15290         12usize,
15291         concat!(
15292             "Offset of field: ",
15293             stringify!(__sifields__bindgen_ty_4),
15294             "::",
15295             stringify!(_utime)
15296         )
15297     );
15298     assert_eq!(
15299         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_4>()))._stime as *const _ as usize },
15300         16usize,
15301         concat!(
15302             "Offset of field: ",
15303             stringify!(__sifields__bindgen_ty_4),
15304             "::",
15305             stringify!(_stime)
15306         )
15307     );
15308 }
15309 #[repr(C)]
15310 #[derive(Copy, Clone)]
15311 pub struct __sifields__bindgen_ty_5 {
15312     pub _addr: *mut ::std::os::raw::c_void,
15313     pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
15314 }
15315 #[repr(C)]
15316 #[derive(Copy, Clone)]
15317 pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
15318     pub _addr_lsb: ::std::os::raw::c_short,
15319     pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
15320     pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
15321     _bindgen_union_align: [u32; 3usize],
15322 }
15323 #[repr(C)]
15324 #[derive(Debug, Copy, Clone)]
15325 pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
15326     pub _dummy_bnd: [::std::os::raw::c_char; 4usize],
15327     pub _lower: *mut ::std::os::raw::c_void,
15328     pub _upper: *mut ::std::os::raw::c_void,
15329 }
15330 #[test]
bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1()15331 fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
15332     assert_eq!(
15333         ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
15334         12usize,
15335         concat!(
15336             "Size of: ",
15337             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
15338         )
15339     );
15340     assert_eq!(
15341         ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
15342         4usize,
15343         concat!(
15344             "Alignment of ",
15345             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
15346         )
15347     );
15348     assert_eq!(
15349         unsafe {
15350             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>()))
15351                 ._dummy_bnd as *const _ as usize
15352         },
15353         0usize,
15354         concat!(
15355             "Offset of field: ",
15356             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
15357             "::",
15358             stringify!(_dummy_bnd)
15359         )
15360     );
15361     assert_eq!(
15362         unsafe {
15363             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>()))._lower
15364                 as *const _ as usize
15365         },
15366         4usize,
15367         concat!(
15368             "Offset of field: ",
15369             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
15370             "::",
15371             stringify!(_lower)
15372         )
15373     );
15374     assert_eq!(
15375         unsafe {
15376             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>()))._upper
15377                 as *const _ as usize
15378         },
15379         8usize,
15380         concat!(
15381             "Offset of field: ",
15382             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
15383             "::",
15384             stringify!(_upper)
15385         )
15386     );
15387 }
15388 #[repr(C)]
15389 #[derive(Debug, Copy, Clone)]
15390 pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
15391     pub _dummy_pkey: [::std::os::raw::c_char; 4usize],
15392     pub _pkey: __u32,
15393 }
15394 #[test]
bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2()15395 fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2() {
15396     assert_eq!(
15397         ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
15398         8usize,
15399         concat!(
15400             "Size of: ",
15401             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
15402         )
15403     );
15404     assert_eq!(
15405         ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
15406         4usize,
15407         concat!(
15408             "Alignment of ",
15409             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
15410         )
15411     );
15412     assert_eq!(
15413         unsafe {
15414             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>()))
15415                 ._dummy_pkey as *const _ as usize
15416         },
15417         0usize,
15418         concat!(
15419             "Offset of field: ",
15420             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
15421             "::",
15422             stringify!(_dummy_pkey)
15423         )
15424     );
15425     assert_eq!(
15426         unsafe {
15427             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>()))._pkey
15428                 as *const _ as usize
15429         },
15430         4usize,
15431         concat!(
15432             "Offset of field: ",
15433             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
15434             "::",
15435             stringify!(_pkey)
15436         )
15437     );
15438 }
15439 #[test]
bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1()15440 fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1() {
15441     assert_eq!(
15442         ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
15443         12usize,
15444         concat!(
15445             "Size of: ",
15446             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
15447         )
15448     );
15449     assert_eq!(
15450         ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
15451         4usize,
15452         concat!(
15453             "Alignment of ",
15454             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
15455         )
15456     );
15457     assert_eq!(
15458         unsafe {
15459             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._addr_lsb as *const _
15460                 as usize
15461         },
15462         0usize,
15463         concat!(
15464             "Offset of field: ",
15465             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
15466             "::",
15467             stringify!(_addr_lsb)
15468         )
15469     );
15470     assert_eq!(
15471         unsafe {
15472             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._addr_bnd as *const _
15473                 as usize
15474         },
15475         0usize,
15476         concat!(
15477             "Offset of field: ",
15478             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
15479             "::",
15480             stringify!(_addr_bnd)
15481         )
15482     );
15483     assert_eq!(
15484         unsafe {
15485             &(*(::std::ptr::null::<__sifields__bindgen_ty_5__bindgen_ty_1>()))._addr_pkey
15486                 as *const _ as usize
15487         },
15488         0usize,
15489         concat!(
15490             "Offset of field: ",
15491             stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
15492             "::",
15493             stringify!(_addr_pkey)
15494         )
15495     );
15496 }
15497 #[test]
bindgen_test_layout___sifields__bindgen_ty_5()15498 fn bindgen_test_layout___sifields__bindgen_ty_5() {
15499     assert_eq!(
15500         ::std::mem::size_of::<__sifields__bindgen_ty_5>(),
15501         16usize,
15502         concat!("Size of: ", stringify!(__sifields__bindgen_ty_5))
15503     );
15504     assert_eq!(
15505         ::std::mem::align_of::<__sifields__bindgen_ty_5>(),
15506         4usize,
15507         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_5))
15508     );
15509     assert_eq!(
15510         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_5>()))._addr as *const _ as usize },
15511         0usize,
15512         concat!(
15513             "Offset of field: ",
15514             stringify!(__sifields__bindgen_ty_5),
15515             "::",
15516             stringify!(_addr)
15517         )
15518     );
15519 }
15520 #[repr(C)]
15521 #[derive(Debug, Copy, Clone)]
15522 pub struct __sifields__bindgen_ty_6 {
15523     pub _band: ::std::os::raw::c_long,
15524     pub _fd: ::std::os::raw::c_int,
15525 }
15526 #[test]
bindgen_test_layout___sifields__bindgen_ty_6()15527 fn bindgen_test_layout___sifields__bindgen_ty_6() {
15528     assert_eq!(
15529         ::std::mem::size_of::<__sifields__bindgen_ty_6>(),
15530         8usize,
15531         concat!("Size of: ", stringify!(__sifields__bindgen_ty_6))
15532     );
15533     assert_eq!(
15534         ::std::mem::align_of::<__sifields__bindgen_ty_6>(),
15535         4usize,
15536         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_6))
15537     );
15538     assert_eq!(
15539         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_6>()))._band as *const _ as usize },
15540         0usize,
15541         concat!(
15542             "Offset of field: ",
15543             stringify!(__sifields__bindgen_ty_6),
15544             "::",
15545             stringify!(_band)
15546         )
15547     );
15548     assert_eq!(
15549         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_6>()))._fd as *const _ as usize },
15550         4usize,
15551         concat!(
15552             "Offset of field: ",
15553             stringify!(__sifields__bindgen_ty_6),
15554             "::",
15555             stringify!(_fd)
15556         )
15557     );
15558 }
15559 #[repr(C)]
15560 #[derive(Debug, Copy, Clone)]
15561 pub struct __sifields__bindgen_ty_7 {
15562     pub _call_addr: *mut ::std::os::raw::c_void,
15563     pub _syscall: ::std::os::raw::c_int,
15564     pub _arch: ::std::os::raw::c_uint,
15565 }
15566 #[test]
bindgen_test_layout___sifields__bindgen_ty_7()15567 fn bindgen_test_layout___sifields__bindgen_ty_7() {
15568     assert_eq!(
15569         ::std::mem::size_of::<__sifields__bindgen_ty_7>(),
15570         12usize,
15571         concat!("Size of: ", stringify!(__sifields__bindgen_ty_7))
15572     );
15573     assert_eq!(
15574         ::std::mem::align_of::<__sifields__bindgen_ty_7>(),
15575         4usize,
15576         concat!("Alignment of ", stringify!(__sifields__bindgen_ty_7))
15577     );
15578     assert_eq!(
15579         unsafe {
15580             &(*(::std::ptr::null::<__sifields__bindgen_ty_7>()))._call_addr as *const _ as usize
15581         },
15582         0usize,
15583         concat!(
15584             "Offset of field: ",
15585             stringify!(__sifields__bindgen_ty_7),
15586             "::",
15587             stringify!(_call_addr)
15588         )
15589     );
15590     assert_eq!(
15591         unsafe {
15592             &(*(::std::ptr::null::<__sifields__bindgen_ty_7>()))._syscall as *const _ as usize
15593         },
15594         4usize,
15595         concat!(
15596             "Offset of field: ",
15597             stringify!(__sifields__bindgen_ty_7),
15598             "::",
15599             stringify!(_syscall)
15600         )
15601     );
15602     assert_eq!(
15603         unsafe { &(*(::std::ptr::null::<__sifields__bindgen_ty_7>()))._arch as *const _ as usize },
15604         8usize,
15605         concat!(
15606             "Offset of field: ",
15607             stringify!(__sifields__bindgen_ty_7),
15608             "::",
15609             stringify!(_arch)
15610         )
15611     );
15612 }
15613 #[test]
bindgen_test_layout___sifields()15614 fn bindgen_test_layout___sifields() {
15615     assert_eq!(
15616         ::std::mem::size_of::<__sifields>(),
15617         20usize,
15618         concat!("Size of: ", stringify!(__sifields))
15619     );
15620     assert_eq!(
15621         ::std::mem::align_of::<__sifields>(),
15622         4usize,
15623         concat!("Alignment of ", stringify!(__sifields))
15624     );
15625     assert_eq!(
15626         unsafe { &(*(::std::ptr::null::<__sifields>()))._kill as *const _ as usize },
15627         0usize,
15628         concat!(
15629             "Offset of field: ",
15630             stringify!(__sifields),
15631             "::",
15632             stringify!(_kill)
15633         )
15634     );
15635     assert_eq!(
15636         unsafe { &(*(::std::ptr::null::<__sifields>()))._timer as *const _ as usize },
15637         0usize,
15638         concat!(
15639             "Offset of field: ",
15640             stringify!(__sifields),
15641             "::",
15642             stringify!(_timer)
15643         )
15644     );
15645     assert_eq!(
15646         unsafe { &(*(::std::ptr::null::<__sifields>()))._rt as *const _ as usize },
15647         0usize,
15648         concat!(
15649             "Offset of field: ",
15650             stringify!(__sifields),
15651             "::",
15652             stringify!(_rt)
15653         )
15654     );
15655     assert_eq!(
15656         unsafe { &(*(::std::ptr::null::<__sifields>()))._sigchld as *const _ as usize },
15657         0usize,
15658         concat!(
15659             "Offset of field: ",
15660             stringify!(__sifields),
15661             "::",
15662             stringify!(_sigchld)
15663         )
15664     );
15665     assert_eq!(
15666         unsafe { &(*(::std::ptr::null::<__sifields>()))._sigfault as *const _ as usize },
15667         0usize,
15668         concat!(
15669             "Offset of field: ",
15670             stringify!(__sifields),
15671             "::",
15672             stringify!(_sigfault)
15673         )
15674     );
15675     assert_eq!(
15676         unsafe { &(*(::std::ptr::null::<__sifields>()))._sigpoll as *const _ as usize },
15677         0usize,
15678         concat!(
15679             "Offset of field: ",
15680             stringify!(__sifields),
15681             "::",
15682             stringify!(_sigpoll)
15683         )
15684     );
15685     assert_eq!(
15686         unsafe { &(*(::std::ptr::null::<__sifields>()))._sigsys as *const _ as usize },
15687         0usize,
15688         concat!(
15689             "Offset of field: ",
15690             stringify!(__sifields),
15691             "::",
15692             stringify!(_sigsys)
15693         )
15694     );
15695 }
15696 #[repr(C)]
15697 #[derive(Copy, Clone)]
15698 pub struct siginfo {
15699     pub __bindgen_anon_1: siginfo__bindgen_ty_1,
15700 }
15701 #[repr(C)]
15702 #[derive(Copy, Clone)]
15703 pub union siginfo__bindgen_ty_1 {
15704     pub __bindgen_anon_1: siginfo__bindgen_ty_1__bindgen_ty_1,
15705     pub _si_pad: [::std::os::raw::c_int; 32usize],
15706     _bindgen_union_align: [u32; 32usize],
15707 }
15708 #[repr(C)]
15709 #[derive(Copy, Clone)]
15710 pub struct siginfo__bindgen_ty_1__bindgen_ty_1 {
15711     pub si_signo: ::std::os::raw::c_int,
15712     pub si_errno: ::std::os::raw::c_int,
15713     pub si_code: ::std::os::raw::c_int,
15714     pub _sifields: __sifields,
15715 }
15716 #[test]
bindgen_test_layout_siginfo__bindgen_ty_1__bindgen_ty_1()15717 fn bindgen_test_layout_siginfo__bindgen_ty_1__bindgen_ty_1() {
15718     assert_eq!(
15719         ::std::mem::size_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
15720         32usize,
15721         concat!("Size of: ", stringify!(siginfo__bindgen_ty_1__bindgen_ty_1))
15722     );
15723     assert_eq!(
15724         ::std::mem::align_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
15725         4usize,
15726         concat!(
15727             "Alignment of ",
15728             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1)
15729         )
15730     );
15731     assert_eq!(
15732         unsafe {
15733             &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>())).si_signo as *const _
15734                 as usize
15735         },
15736         0usize,
15737         concat!(
15738             "Offset of field: ",
15739             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
15740             "::",
15741             stringify!(si_signo)
15742         )
15743     );
15744     assert_eq!(
15745         unsafe {
15746             &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>())).si_errno as *const _
15747                 as usize
15748         },
15749         4usize,
15750         concat!(
15751             "Offset of field: ",
15752             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
15753             "::",
15754             stringify!(si_errno)
15755         )
15756     );
15757     assert_eq!(
15758         unsafe {
15759             &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>())).si_code as *const _
15760                 as usize
15761         },
15762         8usize,
15763         concat!(
15764             "Offset of field: ",
15765             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
15766             "::",
15767             stringify!(si_code)
15768         )
15769     );
15770     assert_eq!(
15771         unsafe {
15772             &(*(::std::ptr::null::<siginfo__bindgen_ty_1__bindgen_ty_1>()))._sifields as *const _
15773                 as usize
15774         },
15775         12usize,
15776         concat!(
15777             "Offset of field: ",
15778             stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
15779             "::",
15780             stringify!(_sifields)
15781         )
15782     );
15783 }
15784 #[test]
bindgen_test_layout_siginfo__bindgen_ty_1()15785 fn bindgen_test_layout_siginfo__bindgen_ty_1() {
15786     assert_eq!(
15787         ::std::mem::size_of::<siginfo__bindgen_ty_1>(),
15788         128usize,
15789         concat!("Size of: ", stringify!(siginfo__bindgen_ty_1))
15790     );
15791     assert_eq!(
15792         ::std::mem::align_of::<siginfo__bindgen_ty_1>(),
15793         4usize,
15794         concat!("Alignment of ", stringify!(siginfo__bindgen_ty_1))
15795     );
15796     assert_eq!(
15797         unsafe { &(*(::std::ptr::null::<siginfo__bindgen_ty_1>()))._si_pad as *const _ as usize },
15798         0usize,
15799         concat!(
15800             "Offset of field: ",
15801             stringify!(siginfo__bindgen_ty_1),
15802             "::",
15803             stringify!(_si_pad)
15804         )
15805     );
15806 }
15807 #[test]
bindgen_test_layout_siginfo()15808 fn bindgen_test_layout_siginfo() {
15809     assert_eq!(
15810         ::std::mem::size_of::<siginfo>(),
15811         128usize,
15812         concat!("Size of: ", stringify!(siginfo))
15813     );
15814     assert_eq!(
15815         ::std::mem::align_of::<siginfo>(),
15816         4usize,
15817         concat!("Alignment of ", stringify!(siginfo))
15818     );
15819 }
15820 pub type siginfo_t = siginfo;
15821 #[repr(C)]
15822 #[derive(Copy, Clone)]
15823 pub struct sigevent {
15824     pub sigev_value: sigval_t,
15825     pub sigev_signo: ::std::os::raw::c_int,
15826     pub sigev_notify: ::std::os::raw::c_int,
15827     pub _sigev_un: sigevent__bindgen_ty_1,
15828 }
15829 #[repr(C)]
15830 #[derive(Copy, Clone)]
15831 pub union sigevent__bindgen_ty_1 {
15832     pub _pad: [::std::os::raw::c_int; 13usize],
15833     pub _tid: ::std::os::raw::c_int,
15834     pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
15835     _bindgen_union_align: [u32; 13usize],
15836 }
15837 #[repr(C)]
15838 #[derive(Debug, Copy, Clone)]
15839 pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
15840     pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval_t)>,
15841     pub _attribute: *mut ::std::os::raw::c_void,
15842 }
15843 #[test]
bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1()15844 fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
15845     assert_eq!(
15846         ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
15847         8usize,
15848         concat!(
15849             "Size of: ",
15850             stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
15851         )
15852     );
15853     assert_eq!(
15854         ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
15855         4usize,
15856         concat!(
15857             "Alignment of ",
15858             stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
15859         )
15860     );
15861     assert_eq!(
15862         unsafe {
15863             &(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._function as *const _
15864                 as usize
15865         },
15866         0usize,
15867         concat!(
15868             "Offset of field: ",
15869             stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
15870             "::",
15871             stringify!(_function)
15872         )
15873     );
15874     assert_eq!(
15875         unsafe {
15876             &(*(::std::ptr::null::<sigevent__bindgen_ty_1__bindgen_ty_1>()))._attribute as *const _
15877                 as usize
15878         },
15879         4usize,
15880         concat!(
15881             "Offset of field: ",
15882             stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
15883             "::",
15884             stringify!(_attribute)
15885         )
15886     );
15887 }
15888 #[test]
bindgen_test_layout_sigevent__bindgen_ty_1()15889 fn bindgen_test_layout_sigevent__bindgen_ty_1() {
15890     assert_eq!(
15891         ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
15892         52usize,
15893         concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
15894     );
15895     assert_eq!(
15896         ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
15897         4usize,
15898         concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
15899     );
15900     assert_eq!(
15901         unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._pad as *const _ as usize },
15902         0usize,
15903         concat!(
15904             "Offset of field: ",
15905             stringify!(sigevent__bindgen_ty_1),
15906             "::",
15907             stringify!(_pad)
15908         )
15909     );
15910     assert_eq!(
15911         unsafe { &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._tid as *const _ as usize },
15912         0usize,
15913         concat!(
15914             "Offset of field: ",
15915             stringify!(sigevent__bindgen_ty_1),
15916             "::",
15917             stringify!(_tid)
15918         )
15919     );
15920     assert_eq!(
15921         unsafe {
15922             &(*(::std::ptr::null::<sigevent__bindgen_ty_1>()))._sigev_thread as *const _ as usize
15923         },
15924         0usize,
15925         concat!(
15926             "Offset of field: ",
15927             stringify!(sigevent__bindgen_ty_1),
15928             "::",
15929             stringify!(_sigev_thread)
15930         )
15931     );
15932 }
15933 #[test]
bindgen_test_layout_sigevent()15934 fn bindgen_test_layout_sigevent() {
15935     assert_eq!(
15936         ::std::mem::size_of::<sigevent>(),
15937         64usize,
15938         concat!("Size of: ", stringify!(sigevent))
15939     );
15940     assert_eq!(
15941         ::std::mem::align_of::<sigevent>(),
15942         4usize,
15943         concat!("Alignment of ", stringify!(sigevent))
15944     );
15945     assert_eq!(
15946         unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_value as *const _ as usize },
15947         0usize,
15948         concat!(
15949             "Offset of field: ",
15950             stringify!(sigevent),
15951             "::",
15952             stringify!(sigev_value)
15953         )
15954     );
15955     assert_eq!(
15956         unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_signo as *const _ as usize },
15957         4usize,
15958         concat!(
15959             "Offset of field: ",
15960             stringify!(sigevent),
15961             "::",
15962             stringify!(sigev_signo)
15963         )
15964     );
15965     assert_eq!(
15966         unsafe { &(*(::std::ptr::null::<sigevent>())).sigev_notify as *const _ as usize },
15967         8usize,
15968         concat!(
15969             "Offset of field: ",
15970             stringify!(sigevent),
15971             "::",
15972             stringify!(sigev_notify)
15973         )
15974     );
15975     assert_eq!(
15976         unsafe { &(*(::std::ptr::null::<sigevent>()))._sigev_un as *const _ as usize },
15977         12usize,
15978         concat!(
15979             "Offset of field: ",
15980             stringify!(sigevent),
15981             "::",
15982             stringify!(_sigev_un)
15983         )
15984     );
15985 }
15986 pub type sigevent_t = sigevent;
15987 pub type sig_atomic_t = ::std::os::raw::c_int;
15988 pub type sig_t = __sighandler_t;
15989 pub type sighandler_t = __sighandler_t;
15990 #[repr(C)]
15991 #[derive(Debug, Copy, Clone)]
15992 pub struct sigset64_t {
15993     pub __bits: [::std::os::raw::c_ulong; 2usize],
15994 }
15995 #[test]
bindgen_test_layout_sigset64_t()15996 fn bindgen_test_layout_sigset64_t() {
15997     assert_eq!(
15998         ::std::mem::size_of::<sigset64_t>(),
15999         8usize,
16000         concat!("Size of: ", stringify!(sigset64_t))
16001     );
16002     assert_eq!(
16003         ::std::mem::align_of::<sigset64_t>(),
16004         4usize,
16005         concat!("Alignment of ", stringify!(sigset64_t))
16006     );
16007     assert_eq!(
16008         unsafe { &(*(::std::ptr::null::<sigset64_t>())).__bits as *const _ as usize },
16009         0usize,
16010         concat!(
16011             "Offset of field: ",
16012             stringify!(sigset64_t),
16013             "::",
16014             stringify!(__bits)
16015         )
16016     );
16017 }
16018 #[repr(C)]
16019 #[derive(Copy, Clone)]
16020 pub struct sigaction {
16021     pub __bindgen_anon_1: sigaction__bindgen_ty_1,
16022     pub sa_mask: sigset_t,
16023     pub sa_flags: ::std::os::raw::c_int,
16024     pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
16025 }
16026 #[repr(C)]
16027 #[derive(Copy, Clone)]
16028 pub union sigaction__bindgen_ty_1 {
16029     pub sa_handler: sighandler_t,
16030     pub sa_sigaction: ::std::option::Option<
16031         unsafe extern "C" fn(
16032             arg1: ::std::os::raw::c_int,
16033             arg2: *mut siginfo,
16034             arg3: *mut ::std::os::raw::c_void,
16035         ),
16036     >,
16037     _bindgen_union_align: u32,
16038 }
16039 #[test]
bindgen_test_layout_sigaction__bindgen_ty_1()16040 fn bindgen_test_layout_sigaction__bindgen_ty_1() {
16041     assert_eq!(
16042         ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
16043         4usize,
16044         concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
16045     );
16046     assert_eq!(
16047         ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
16048         4usize,
16049         concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
16050     );
16051     assert_eq!(
16052         unsafe {
16053             &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_handler as *const _ as usize
16054         },
16055         0usize,
16056         concat!(
16057             "Offset of field: ",
16058             stringify!(sigaction__bindgen_ty_1),
16059             "::",
16060             stringify!(sa_handler)
16061         )
16062     );
16063     assert_eq!(
16064         unsafe {
16065             &(*(::std::ptr::null::<sigaction__bindgen_ty_1>())).sa_sigaction as *const _ as usize
16066         },
16067         0usize,
16068         concat!(
16069             "Offset of field: ",
16070             stringify!(sigaction__bindgen_ty_1),
16071             "::",
16072             stringify!(sa_sigaction)
16073         )
16074     );
16075 }
16076 #[test]
bindgen_test_layout_sigaction()16077 fn bindgen_test_layout_sigaction() {
16078     assert_eq!(
16079         ::std::mem::size_of::<sigaction>(),
16080         16usize,
16081         concat!("Size of: ", stringify!(sigaction))
16082     );
16083     assert_eq!(
16084         ::std::mem::align_of::<sigaction>(),
16085         4usize,
16086         concat!("Alignment of ", stringify!(sigaction))
16087     );
16088     assert_eq!(
16089         unsafe { &(*(::std::ptr::null::<sigaction>())).sa_mask as *const _ as usize },
16090         4usize,
16091         concat!(
16092             "Offset of field: ",
16093             stringify!(sigaction),
16094             "::",
16095             stringify!(sa_mask)
16096         )
16097     );
16098     assert_eq!(
16099         unsafe { &(*(::std::ptr::null::<sigaction>())).sa_flags as *const _ as usize },
16100         8usize,
16101         concat!(
16102             "Offset of field: ",
16103             stringify!(sigaction),
16104             "::",
16105             stringify!(sa_flags)
16106         )
16107     );
16108     assert_eq!(
16109         unsafe { &(*(::std::ptr::null::<sigaction>())).sa_restorer as *const _ as usize },
16110         12usize,
16111         concat!(
16112             "Offset of field: ",
16113             stringify!(sigaction),
16114             "::",
16115             stringify!(sa_restorer)
16116         )
16117     );
16118 }
16119 #[repr(C)]
16120 #[derive(Copy, Clone)]
16121 pub struct sigaction64 {
16122     pub __bindgen_anon_1: sigaction64__bindgen_ty_1,
16123     pub sa_flags: ::std::os::raw::c_int,
16124     pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
16125     pub sa_mask: sigset64_t,
16126 }
16127 #[repr(C)]
16128 #[derive(Copy, Clone)]
16129 pub union sigaction64__bindgen_ty_1 {
16130     pub sa_handler: sighandler_t,
16131     pub sa_sigaction: ::std::option::Option<
16132         unsafe extern "C" fn(
16133             arg1: ::std::os::raw::c_int,
16134             arg2: *mut siginfo,
16135             arg3: *mut ::std::os::raw::c_void,
16136         ),
16137     >,
16138     _bindgen_union_align: u32,
16139 }
16140 #[test]
bindgen_test_layout_sigaction64__bindgen_ty_1()16141 fn bindgen_test_layout_sigaction64__bindgen_ty_1() {
16142     assert_eq!(
16143         ::std::mem::size_of::<sigaction64__bindgen_ty_1>(),
16144         4usize,
16145         concat!("Size of: ", stringify!(sigaction64__bindgen_ty_1))
16146     );
16147     assert_eq!(
16148         ::std::mem::align_of::<sigaction64__bindgen_ty_1>(),
16149         4usize,
16150         concat!("Alignment of ", stringify!(sigaction64__bindgen_ty_1))
16151     );
16152     assert_eq!(
16153         unsafe {
16154             &(*(::std::ptr::null::<sigaction64__bindgen_ty_1>())).sa_handler as *const _ as usize
16155         },
16156         0usize,
16157         concat!(
16158             "Offset of field: ",
16159             stringify!(sigaction64__bindgen_ty_1),
16160             "::",
16161             stringify!(sa_handler)
16162         )
16163     );
16164     assert_eq!(
16165         unsafe {
16166             &(*(::std::ptr::null::<sigaction64__bindgen_ty_1>())).sa_sigaction as *const _ as usize
16167         },
16168         0usize,
16169         concat!(
16170             "Offset of field: ",
16171             stringify!(sigaction64__bindgen_ty_1),
16172             "::",
16173             stringify!(sa_sigaction)
16174         )
16175     );
16176 }
16177 #[test]
bindgen_test_layout_sigaction64()16178 fn bindgen_test_layout_sigaction64() {
16179     assert_eq!(
16180         ::std::mem::size_of::<sigaction64>(),
16181         20usize,
16182         concat!("Size of: ", stringify!(sigaction64))
16183     );
16184     assert_eq!(
16185         ::std::mem::align_of::<sigaction64>(),
16186         4usize,
16187         concat!("Alignment of ", stringify!(sigaction64))
16188     );
16189     assert_eq!(
16190         unsafe { &(*(::std::ptr::null::<sigaction64>())).sa_flags as *const _ as usize },
16191         4usize,
16192         concat!(
16193             "Offset of field: ",
16194             stringify!(sigaction64),
16195             "::",
16196             stringify!(sa_flags)
16197         )
16198     );
16199     assert_eq!(
16200         unsafe { &(*(::std::ptr::null::<sigaction64>())).sa_restorer as *const _ as usize },
16201         8usize,
16202         concat!(
16203             "Offset of field: ",
16204             stringify!(sigaction64),
16205             "::",
16206             stringify!(sa_restorer)
16207         )
16208     );
16209     assert_eq!(
16210         unsafe { &(*(::std::ptr::null::<sigaction64>())).sa_mask as *const _ as usize },
16211         12usize,
16212         concat!(
16213             "Offset of field: ",
16214             stringify!(sigaction64),
16215             "::",
16216             stringify!(sa_mask)
16217         )
16218     );
16219 }
16220 #[repr(C)]
16221 #[derive(Debug, Copy, Clone)]
16222 pub struct user_fpregs {
16223     pub fpregs: [user_fpregs_fp_reg; 8usize],
16224     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize], u32>,
16225     pub ftype: [::std::os::raw::c_uchar; 8usize],
16226     pub init_flag: ::std::os::raw::c_uint,
16227 }
16228 #[repr(C)]
16229 #[repr(align(4))]
16230 #[derive(Debug, Copy, Clone)]
16231 pub struct user_fpregs_fp_reg {
16232     pub _bitfield_1: __BindgenBitfieldUnit<[u8; 12usize], u32>,
16233 }
16234 #[test]
bindgen_test_layout_user_fpregs_fp_reg()16235 fn bindgen_test_layout_user_fpregs_fp_reg() {
16236     assert_eq!(
16237         ::std::mem::size_of::<user_fpregs_fp_reg>(),
16238         12usize,
16239         concat!("Size of: ", stringify!(user_fpregs_fp_reg))
16240     );
16241     assert_eq!(
16242         ::std::mem::align_of::<user_fpregs_fp_reg>(),
16243         4usize,
16244         concat!("Alignment of ", stringify!(user_fpregs_fp_reg))
16245     );
16246 }
16247 impl user_fpregs_fp_reg {
16248     #[inline]
sign1(&self) -> ::std::os::raw::c_uint16249     pub fn sign1(&self) -> ::std::os::raw::c_uint {
16250         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
16251     }
16252     #[inline]
set_sign1(&mut self, val: ::std::os::raw::c_uint)16253     pub fn set_sign1(&mut self, val: ::std::os::raw::c_uint) {
16254         unsafe {
16255             let val: u32 = ::std::mem::transmute(val);
16256             self._bitfield_1.set(0usize, 1u8, val as u64)
16257         }
16258     }
16259     #[inline]
unused(&self) -> ::std::os::raw::c_uint16260     pub fn unused(&self) -> ::std::os::raw::c_uint {
16261         unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 15u8) as u32) }
16262     }
16263     #[inline]
set_unused(&mut self, val: ::std::os::raw::c_uint)16264     pub fn set_unused(&mut self, val: ::std::os::raw::c_uint) {
16265         unsafe {
16266             let val: u32 = ::std::mem::transmute(val);
16267             self._bitfield_1.set(1usize, 15u8, val as u64)
16268         }
16269     }
16270     #[inline]
sign2(&self) -> ::std::os::raw::c_uint16271     pub fn sign2(&self) -> ::std::os::raw::c_uint {
16272         unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
16273     }
16274     #[inline]
set_sign2(&mut self, val: ::std::os::raw::c_uint)16275     pub fn set_sign2(&mut self, val: ::std::os::raw::c_uint) {
16276         unsafe {
16277             let val: u32 = ::std::mem::transmute(val);
16278             self._bitfield_1.set(16usize, 1u8, val as u64)
16279         }
16280     }
16281     #[inline]
exponent(&self) -> ::std::os::raw::c_uint16282     pub fn exponent(&self) -> ::std::os::raw::c_uint {
16283         unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 14u8) as u32) }
16284     }
16285     #[inline]
set_exponent(&mut self, val: ::std::os::raw::c_uint)16286     pub fn set_exponent(&mut self, val: ::std::os::raw::c_uint) {
16287         unsafe {
16288             let val: u32 = ::std::mem::transmute(val);
16289             self._bitfield_1.set(17usize, 14u8, val as u64)
16290         }
16291     }
16292     #[inline]
j(&self) -> ::std::os::raw::c_uint16293     pub fn j(&self) -> ::std::os::raw::c_uint {
16294         unsafe { ::std::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u32) }
16295     }
16296     #[inline]
set_j(&mut self, val: ::std::os::raw::c_uint)16297     pub fn set_j(&mut self, val: ::std::os::raw::c_uint) {
16298         unsafe {
16299             let val: u32 = ::std::mem::transmute(val);
16300             self._bitfield_1.set(31usize, 1u8, val as u64)
16301         }
16302     }
16303     #[inline]
mantissa1(&self) -> ::std::os::raw::c_uint16304     pub fn mantissa1(&self) -> ::std::os::raw::c_uint {
16305         unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 31u8) as u32) }
16306     }
16307     #[inline]
set_mantissa1(&mut self, val: ::std::os::raw::c_uint)16308     pub fn set_mantissa1(&mut self, val: ::std::os::raw::c_uint) {
16309         unsafe {
16310             let val: u32 = ::std::mem::transmute(val);
16311             self._bitfield_1.set(32usize, 31u8, val as u64)
16312         }
16313     }
16314     #[inline]
mantissa0(&self) -> ::std::os::raw::c_uint16315     pub fn mantissa0(&self) -> ::std::os::raw::c_uint {
16316         unsafe { ::std::mem::transmute(self._bitfield_1.get(64usize, 32u8) as u32) }
16317     }
16318     #[inline]
set_mantissa0(&mut self, val: ::std::os::raw::c_uint)16319     pub fn set_mantissa0(&mut self, val: ::std::os::raw::c_uint) {
16320         unsafe {
16321             let val: u32 = ::std::mem::transmute(val);
16322             self._bitfield_1.set(64usize, 32u8, val as u64)
16323         }
16324     }
16325     #[inline]
new_bitfield_1( sign1: ::std::os::raw::c_uint, unused: ::std::os::raw::c_uint, sign2: ::std::os::raw::c_uint, exponent: ::std::os::raw::c_uint, j: ::std::os::raw::c_uint, mantissa1: ::std::os::raw::c_uint, mantissa0: ::std::os::raw::c_uint, ) -> __BindgenBitfieldUnit<[u8; 12usize], u32>16326     pub fn new_bitfield_1(
16327         sign1: ::std::os::raw::c_uint,
16328         unused: ::std::os::raw::c_uint,
16329         sign2: ::std::os::raw::c_uint,
16330         exponent: ::std::os::raw::c_uint,
16331         j: ::std::os::raw::c_uint,
16332         mantissa1: ::std::os::raw::c_uint,
16333         mantissa0: ::std::os::raw::c_uint,
16334     ) -> __BindgenBitfieldUnit<[u8; 12usize], u32> {
16335         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 12usize], u32> =
16336             Default::default();
16337         __bindgen_bitfield_unit.set(0usize, 1u8, {
16338             let sign1: u32 = unsafe { ::std::mem::transmute(sign1) };
16339             sign1 as u64
16340         });
16341         __bindgen_bitfield_unit.set(1usize, 15u8, {
16342             let unused: u32 = unsafe { ::std::mem::transmute(unused) };
16343             unused as u64
16344         });
16345         __bindgen_bitfield_unit.set(16usize, 1u8, {
16346             let sign2: u32 = unsafe { ::std::mem::transmute(sign2) };
16347             sign2 as u64
16348         });
16349         __bindgen_bitfield_unit.set(17usize, 14u8, {
16350             let exponent: u32 = unsafe { ::std::mem::transmute(exponent) };
16351             exponent as u64
16352         });
16353         __bindgen_bitfield_unit.set(31usize, 1u8, {
16354             let j: u32 = unsafe { ::std::mem::transmute(j) };
16355             j as u64
16356         });
16357         __bindgen_bitfield_unit.set(32usize, 31u8, {
16358             let mantissa1: u32 = unsafe { ::std::mem::transmute(mantissa1) };
16359             mantissa1 as u64
16360         });
16361         __bindgen_bitfield_unit.set(64usize, 32u8, {
16362             let mantissa0: u32 = unsafe { ::std::mem::transmute(mantissa0) };
16363             mantissa0 as u64
16364         });
16365         __bindgen_bitfield_unit
16366     }
16367 }
16368 #[test]
bindgen_test_layout_user_fpregs()16369 fn bindgen_test_layout_user_fpregs() {
16370     assert_eq!(
16371         ::std::mem::size_of::<user_fpregs>(),
16372         116usize,
16373         concat!("Size of: ", stringify!(user_fpregs))
16374     );
16375     assert_eq!(
16376         ::std::mem::align_of::<user_fpregs>(),
16377         4usize,
16378         concat!("Alignment of ", stringify!(user_fpregs))
16379     );
16380     assert_eq!(
16381         unsafe { &(*(::std::ptr::null::<user_fpregs>())).fpregs as *const _ as usize },
16382         0usize,
16383         concat!(
16384             "Offset of field: ",
16385             stringify!(user_fpregs),
16386             "::",
16387             stringify!(fpregs)
16388         )
16389     );
16390     assert_eq!(
16391         unsafe { &(*(::std::ptr::null::<user_fpregs>())).ftype as *const _ as usize },
16392         104usize,
16393         concat!(
16394             "Offset of field: ",
16395             stringify!(user_fpregs),
16396             "::",
16397             stringify!(ftype)
16398         )
16399     );
16400     assert_eq!(
16401         unsafe { &(*(::std::ptr::null::<user_fpregs>())).init_flag as *const _ as usize },
16402         112usize,
16403         concat!(
16404             "Offset of field: ",
16405             stringify!(user_fpregs),
16406             "::",
16407             stringify!(init_flag)
16408         )
16409     );
16410 }
16411 impl user_fpregs {
16412     #[inline]
fpsr(&self) -> ::std::os::raw::c_uint16413     pub fn fpsr(&self) -> ::std::os::raw::c_uint {
16414         unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 32u8) as u32) }
16415     }
16416     #[inline]
set_fpsr(&mut self, val: ::std::os::raw::c_uint)16417     pub fn set_fpsr(&mut self, val: ::std::os::raw::c_uint) {
16418         unsafe {
16419             let val: u32 = ::std::mem::transmute(val);
16420             self._bitfield_1.set(0usize, 32u8, val as u64)
16421         }
16422     }
16423     #[inline]
fpcr(&self) -> ::std::os::raw::c_uint16424     pub fn fpcr(&self) -> ::std::os::raw::c_uint {
16425         unsafe { ::std::mem::transmute(self._bitfield_1.get(32usize, 32u8) as u32) }
16426     }
16427     #[inline]
set_fpcr(&mut self, val: ::std::os::raw::c_uint)16428     pub fn set_fpcr(&mut self, val: ::std::os::raw::c_uint) {
16429         unsafe {
16430             let val: u32 = ::std::mem::transmute(val);
16431             self._bitfield_1.set(32usize, 32u8, val as u64)
16432         }
16433     }
16434     #[inline]
new_bitfield_1( fpsr: ::std::os::raw::c_uint, fpcr: ::std::os::raw::c_uint, ) -> __BindgenBitfieldUnit<[u8; 8usize], u32>16435     pub fn new_bitfield_1(
16436         fpsr: ::std::os::raw::c_uint,
16437         fpcr: ::std::os::raw::c_uint,
16438     ) -> __BindgenBitfieldUnit<[u8; 8usize], u32> {
16439         let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize], u32> =
16440             Default::default();
16441         __bindgen_bitfield_unit.set(0usize, 32u8, {
16442             let fpsr: u32 = unsafe { ::std::mem::transmute(fpsr) };
16443             fpsr as u64
16444         });
16445         __bindgen_bitfield_unit.set(32usize, 32u8, {
16446             let fpcr: u32 = unsafe { ::std::mem::transmute(fpcr) };
16447             fpcr as u64
16448         });
16449         __bindgen_bitfield_unit
16450     }
16451 }
16452 #[repr(C)]
16453 #[derive(Debug, Copy, Clone)]
16454 pub struct user_regs {
16455     pub uregs: [::std::os::raw::c_ulong; 18usize],
16456 }
16457 #[test]
bindgen_test_layout_user_regs()16458 fn bindgen_test_layout_user_regs() {
16459     assert_eq!(
16460         ::std::mem::size_of::<user_regs>(),
16461         72usize,
16462         concat!("Size of: ", stringify!(user_regs))
16463     );
16464     assert_eq!(
16465         ::std::mem::align_of::<user_regs>(),
16466         4usize,
16467         concat!("Alignment of ", stringify!(user_regs))
16468     );
16469     assert_eq!(
16470         unsafe { &(*(::std::ptr::null::<user_regs>())).uregs as *const _ as usize },
16471         0usize,
16472         concat!(
16473             "Offset of field: ",
16474             stringify!(user_regs),
16475             "::",
16476             stringify!(uregs)
16477         )
16478     );
16479 }
16480 #[repr(C)]
16481 #[derive(Debug, Copy, Clone)]
16482 pub struct user_vfp {
16483     pub fpregs: [::std::os::raw::c_ulonglong; 32usize],
16484     pub fpscr: ::std::os::raw::c_ulong,
16485 }
16486 #[test]
bindgen_test_layout_user_vfp()16487 fn bindgen_test_layout_user_vfp() {
16488     assert_eq!(
16489         ::std::mem::size_of::<user_vfp>(),
16490         264usize,
16491         concat!("Size of: ", stringify!(user_vfp))
16492     );
16493     assert_eq!(
16494         ::std::mem::align_of::<user_vfp>(),
16495         8usize,
16496         concat!("Alignment of ", stringify!(user_vfp))
16497     );
16498     assert_eq!(
16499         unsafe { &(*(::std::ptr::null::<user_vfp>())).fpregs as *const _ as usize },
16500         0usize,
16501         concat!(
16502             "Offset of field: ",
16503             stringify!(user_vfp),
16504             "::",
16505             stringify!(fpregs)
16506         )
16507     );
16508     assert_eq!(
16509         unsafe { &(*(::std::ptr::null::<user_vfp>())).fpscr as *const _ as usize },
16510         256usize,
16511         concat!(
16512             "Offset of field: ",
16513             stringify!(user_vfp),
16514             "::",
16515             stringify!(fpscr)
16516         )
16517     );
16518 }
16519 #[repr(C)]
16520 #[derive(Debug, Copy, Clone)]
16521 pub struct user_vfp_exc {
16522     pub fpexc: ::std::os::raw::c_ulong,
16523     pub fpinst: ::std::os::raw::c_ulong,
16524     pub fpinst2: ::std::os::raw::c_ulong,
16525 }
16526 #[test]
bindgen_test_layout_user_vfp_exc()16527 fn bindgen_test_layout_user_vfp_exc() {
16528     assert_eq!(
16529         ::std::mem::size_of::<user_vfp_exc>(),
16530         12usize,
16531         concat!("Size of: ", stringify!(user_vfp_exc))
16532     );
16533     assert_eq!(
16534         ::std::mem::align_of::<user_vfp_exc>(),
16535         4usize,
16536         concat!("Alignment of ", stringify!(user_vfp_exc))
16537     );
16538     assert_eq!(
16539         unsafe { &(*(::std::ptr::null::<user_vfp_exc>())).fpexc as *const _ as usize },
16540         0usize,
16541         concat!(
16542             "Offset of field: ",
16543             stringify!(user_vfp_exc),
16544             "::",
16545             stringify!(fpexc)
16546         )
16547     );
16548     assert_eq!(
16549         unsafe { &(*(::std::ptr::null::<user_vfp_exc>())).fpinst as *const _ as usize },
16550         4usize,
16551         concat!(
16552             "Offset of field: ",
16553             stringify!(user_vfp_exc),
16554             "::",
16555             stringify!(fpinst)
16556         )
16557     );
16558     assert_eq!(
16559         unsafe { &(*(::std::ptr::null::<user_vfp_exc>())).fpinst2 as *const _ as usize },
16560         8usize,
16561         concat!(
16562             "Offset of field: ",
16563             stringify!(user_vfp_exc),
16564             "::",
16565             stringify!(fpinst2)
16566         )
16567     );
16568 }
16569 #[repr(C)]
16570 #[derive(Debug, Copy, Clone)]
16571 pub struct user {
16572     pub regs: user_regs,
16573     pub u_fpvalid: ::std::os::raw::c_int,
16574     pub u_tsize: ::std::os::raw::c_ulong,
16575     pub u_dsize: ::std::os::raw::c_ulong,
16576     pub u_ssize: ::std::os::raw::c_ulong,
16577     pub start_code: ::std::os::raw::c_ulong,
16578     pub start_stack: ::std::os::raw::c_ulong,
16579     pub signal: ::std::os::raw::c_long,
16580     pub reserved: ::std::os::raw::c_int,
16581     pub u_ar0: *mut user_regs,
16582     pub magic: ::std::os::raw::c_ulong,
16583     pub u_comm: [::std::os::raw::c_char; 32usize],
16584     pub u_debugreg: [::std::os::raw::c_int; 8usize],
16585     pub u_fp: user_fpregs,
16586     pub u_fp0: *mut user_fpregs,
16587 }
16588 #[test]
bindgen_test_layout_user()16589 fn bindgen_test_layout_user() {
16590     assert_eq!(
16591         ::std::mem::size_of::<user>(),
16592         296usize,
16593         concat!("Size of: ", stringify!(user))
16594     );
16595     assert_eq!(
16596         ::std::mem::align_of::<user>(),
16597         4usize,
16598         concat!("Alignment of ", stringify!(user))
16599     );
16600     assert_eq!(
16601         unsafe { &(*(::std::ptr::null::<user>())).regs as *const _ as usize },
16602         0usize,
16603         concat!(
16604             "Offset of field: ",
16605             stringify!(user),
16606             "::",
16607             stringify!(regs)
16608         )
16609     );
16610     assert_eq!(
16611         unsafe { &(*(::std::ptr::null::<user>())).u_fpvalid as *const _ as usize },
16612         72usize,
16613         concat!(
16614             "Offset of field: ",
16615             stringify!(user),
16616             "::",
16617             stringify!(u_fpvalid)
16618         )
16619     );
16620     assert_eq!(
16621         unsafe { &(*(::std::ptr::null::<user>())).u_tsize as *const _ as usize },
16622         76usize,
16623         concat!(
16624             "Offset of field: ",
16625             stringify!(user),
16626             "::",
16627             stringify!(u_tsize)
16628         )
16629     );
16630     assert_eq!(
16631         unsafe { &(*(::std::ptr::null::<user>())).u_dsize as *const _ as usize },
16632         80usize,
16633         concat!(
16634             "Offset of field: ",
16635             stringify!(user),
16636             "::",
16637             stringify!(u_dsize)
16638         )
16639     );
16640     assert_eq!(
16641         unsafe { &(*(::std::ptr::null::<user>())).u_ssize as *const _ as usize },
16642         84usize,
16643         concat!(
16644             "Offset of field: ",
16645             stringify!(user),
16646             "::",
16647             stringify!(u_ssize)
16648         )
16649     );
16650     assert_eq!(
16651         unsafe { &(*(::std::ptr::null::<user>())).start_code as *const _ as usize },
16652         88usize,
16653         concat!(
16654             "Offset of field: ",
16655             stringify!(user),
16656             "::",
16657             stringify!(start_code)
16658         )
16659     );
16660     assert_eq!(
16661         unsafe { &(*(::std::ptr::null::<user>())).start_stack as *const _ as usize },
16662         92usize,
16663         concat!(
16664             "Offset of field: ",
16665             stringify!(user),
16666             "::",
16667             stringify!(start_stack)
16668         )
16669     );
16670     assert_eq!(
16671         unsafe { &(*(::std::ptr::null::<user>())).signal as *const _ as usize },
16672         96usize,
16673         concat!(
16674             "Offset of field: ",
16675             stringify!(user),
16676             "::",
16677             stringify!(signal)
16678         )
16679     );
16680     assert_eq!(
16681         unsafe { &(*(::std::ptr::null::<user>())).reserved as *const _ as usize },
16682         100usize,
16683         concat!(
16684             "Offset of field: ",
16685             stringify!(user),
16686             "::",
16687             stringify!(reserved)
16688         )
16689     );
16690     assert_eq!(
16691         unsafe { &(*(::std::ptr::null::<user>())).u_ar0 as *const _ as usize },
16692         104usize,
16693         concat!(
16694             "Offset of field: ",
16695             stringify!(user),
16696             "::",
16697             stringify!(u_ar0)
16698         )
16699     );
16700     assert_eq!(
16701         unsafe { &(*(::std::ptr::null::<user>())).magic as *const _ as usize },
16702         108usize,
16703         concat!(
16704             "Offset of field: ",
16705             stringify!(user),
16706             "::",
16707             stringify!(magic)
16708         )
16709     );
16710     assert_eq!(
16711         unsafe { &(*(::std::ptr::null::<user>())).u_comm as *const _ as usize },
16712         112usize,
16713         concat!(
16714             "Offset of field: ",
16715             stringify!(user),
16716             "::",
16717             stringify!(u_comm)
16718         )
16719     );
16720     assert_eq!(
16721         unsafe { &(*(::std::ptr::null::<user>())).u_debugreg as *const _ as usize },
16722         144usize,
16723         concat!(
16724             "Offset of field: ",
16725             stringify!(user),
16726             "::",
16727             stringify!(u_debugreg)
16728         )
16729     );
16730     assert_eq!(
16731         unsafe { &(*(::std::ptr::null::<user>())).u_fp as *const _ as usize },
16732         176usize,
16733         concat!(
16734             "Offset of field: ",
16735             stringify!(user),
16736             "::",
16737             stringify!(u_fp)
16738         )
16739     );
16740     assert_eq!(
16741         unsafe { &(*(::std::ptr::null::<user>())).u_fp0 as *const _ as usize },
16742         292usize,
16743         concat!(
16744             "Offset of field: ",
16745             stringify!(user),
16746             "::",
16747             stringify!(u_fp0)
16748         )
16749     );
16750 }
16751 pub const REG_R0: _bindgen_ty_41 = 0;
16752 pub const REG_R1: _bindgen_ty_41 = 1;
16753 pub const REG_R2: _bindgen_ty_41 = 2;
16754 pub const REG_R3: _bindgen_ty_41 = 3;
16755 pub const REG_R4: _bindgen_ty_41 = 4;
16756 pub const REG_R5: _bindgen_ty_41 = 5;
16757 pub const REG_R6: _bindgen_ty_41 = 6;
16758 pub const REG_R7: _bindgen_ty_41 = 7;
16759 pub const REG_R8: _bindgen_ty_41 = 8;
16760 pub const REG_R9: _bindgen_ty_41 = 9;
16761 pub const REG_R10: _bindgen_ty_41 = 10;
16762 pub const REG_R11: _bindgen_ty_41 = 11;
16763 pub const REG_R12: _bindgen_ty_41 = 12;
16764 pub const REG_R13: _bindgen_ty_41 = 13;
16765 pub const REG_R14: _bindgen_ty_41 = 14;
16766 pub const REG_R15: _bindgen_ty_41 = 15;
16767 pub type _bindgen_ty_41 = u32;
16768 pub type greg_t = ::std::os::raw::c_int;
16769 pub type gregset_t = [greg_t; 18usize];
16770 pub type fpregset_t = user_fpregs;
16771 pub type mcontext_t = sigcontext;
16772 #[repr(C)]
16773 #[repr(align(8))]
16774 #[derive(Copy, Clone)]
16775 pub struct ucontext {
16776     pub uc_flags: ::std::os::raw::c_ulong,
16777     pub uc_link: *mut ucontext,
16778     pub uc_stack: stack_t,
16779     pub uc_mcontext: mcontext_t,
16780     pub __bindgen_anon_1: ucontext__bindgen_ty_1,
16781     pub __padding: [::std::os::raw::c_char; 120usize],
16782     pub uc_regspace: [::std::os::raw::c_ulong; 128usize],
16783 }
16784 #[repr(C)]
16785 #[derive(Copy, Clone)]
16786 pub union ucontext__bindgen_ty_1 {
16787     pub __bindgen_anon_1: ucontext__bindgen_ty_1__bindgen_ty_1,
16788     pub uc_sigmask64: sigset64_t,
16789     _bindgen_union_align: [u32; 2usize],
16790 }
16791 #[repr(C)]
16792 #[derive(Debug, Copy, Clone)]
16793 pub struct ucontext__bindgen_ty_1__bindgen_ty_1 {
16794     pub uc_sigmask: sigset_t,
16795     pub __padding_rt_sigset: u32,
16796 }
16797 #[test]
bindgen_test_layout_ucontext__bindgen_ty_1__bindgen_ty_1()16798 fn bindgen_test_layout_ucontext__bindgen_ty_1__bindgen_ty_1() {
16799     assert_eq!(
16800         ::std::mem::size_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
16801         8usize,
16802         concat!(
16803             "Size of: ",
16804             stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
16805         )
16806     );
16807     assert_eq!(
16808         ::std::mem::align_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
16809         4usize,
16810         concat!(
16811             "Alignment of ",
16812             stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
16813         )
16814     );
16815     assert_eq!(
16816         unsafe {
16817             &(*(::std::ptr::null::<ucontext__bindgen_ty_1__bindgen_ty_1>())).uc_sigmask as *const _
16818                 as usize
16819         },
16820         0usize,
16821         concat!(
16822             "Offset of field: ",
16823             stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
16824             "::",
16825             stringify!(uc_sigmask)
16826         )
16827     );
16828     assert_eq!(
16829         unsafe {
16830             &(*(::std::ptr::null::<ucontext__bindgen_ty_1__bindgen_ty_1>())).__padding_rt_sigset
16831                 as *const _ as usize
16832         },
16833         4usize,
16834         concat!(
16835             "Offset of field: ",
16836             stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
16837             "::",
16838             stringify!(__padding_rt_sigset)
16839         )
16840     );
16841 }
16842 #[test]
bindgen_test_layout_ucontext__bindgen_ty_1()16843 fn bindgen_test_layout_ucontext__bindgen_ty_1() {
16844     assert_eq!(
16845         ::std::mem::size_of::<ucontext__bindgen_ty_1>(),
16846         8usize,
16847         concat!("Size of: ", stringify!(ucontext__bindgen_ty_1))
16848     );
16849     assert_eq!(
16850         ::std::mem::align_of::<ucontext__bindgen_ty_1>(),
16851         4usize,
16852         concat!("Alignment of ", stringify!(ucontext__bindgen_ty_1))
16853     );
16854     assert_eq!(
16855         unsafe {
16856             &(*(::std::ptr::null::<ucontext__bindgen_ty_1>())).uc_sigmask64 as *const _ as usize
16857         },
16858         0usize,
16859         concat!(
16860             "Offset of field: ",
16861             stringify!(ucontext__bindgen_ty_1),
16862             "::",
16863             stringify!(uc_sigmask64)
16864         )
16865     );
16866 }
16867 #[test]
bindgen_test_layout_ucontext()16868 fn bindgen_test_layout_ucontext() {
16869     assert_eq!(
16870         ::std::mem::size_of::<ucontext>(),
16871         744usize,
16872         concat!("Size of: ", stringify!(ucontext))
16873     );
16874     assert_eq!(
16875         ::std::mem::align_of::<ucontext>(),
16876         8usize,
16877         concat!("Alignment of ", stringify!(ucontext))
16878     );
16879     assert_eq!(
16880         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_flags as *const _ as usize },
16881         0usize,
16882         concat!(
16883             "Offset of field: ",
16884             stringify!(ucontext),
16885             "::",
16886             stringify!(uc_flags)
16887         )
16888     );
16889     assert_eq!(
16890         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_link as *const _ as usize },
16891         4usize,
16892         concat!(
16893             "Offset of field: ",
16894             stringify!(ucontext),
16895             "::",
16896             stringify!(uc_link)
16897         )
16898     );
16899     assert_eq!(
16900         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_stack as *const _ as usize },
16901         8usize,
16902         concat!(
16903             "Offset of field: ",
16904             stringify!(ucontext),
16905             "::",
16906             stringify!(uc_stack)
16907         )
16908     );
16909     assert_eq!(
16910         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_mcontext as *const _ as usize },
16911         20usize,
16912         concat!(
16913             "Offset of field: ",
16914             stringify!(ucontext),
16915             "::",
16916             stringify!(uc_mcontext)
16917         )
16918     );
16919     assert_eq!(
16920         unsafe { &(*(::std::ptr::null::<ucontext>())).__padding as *const _ as usize },
16921         112usize,
16922         concat!(
16923             "Offset of field: ",
16924             stringify!(ucontext),
16925             "::",
16926             stringify!(__padding)
16927         )
16928     );
16929     assert_eq!(
16930         unsafe { &(*(::std::ptr::null::<ucontext>())).uc_regspace as *const _ as usize },
16931         232usize,
16932         concat!(
16933             "Offset of field: ",
16934             stringify!(ucontext),
16935             "::",
16936             stringify!(uc_regspace)
16937         )
16938     );
16939 }
16940 pub type ucontext_t = ucontext;
16941 extern "C" {
__libc_current_sigrtmin() -> ::std::os::raw::c_int16942     pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
16943 }
16944 extern "C" {
__libc_current_sigrtmax() -> ::std::os::raw::c_int16945     pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
16946 }
16947 extern "C" {
16948     pub static sys_siglist: [*const ::std::os::raw::c_char; 65usize];
16949 }
16950 extern "C" {
16951     pub static sys_signame: [*const ::std::os::raw::c_char; 65usize];
16952 }
16953 extern "C" {
sigaction( __signal: ::std::os::raw::c_int, __new_action: *const sigaction, __old_action: *mut sigaction, ) -> ::std::os::raw::c_int16954     pub fn sigaction(
16955         __signal: ::std::os::raw::c_int,
16956         __new_action: *const sigaction,
16957         __old_action: *mut sigaction,
16958     ) -> ::std::os::raw::c_int;
16959 }
16960 extern "C" {
sigaction64( __signal: ::std::os::raw::c_int, __new_action: *const sigaction64, __old_action: *mut sigaction64, ) -> ::std::os::raw::c_int16961     pub fn sigaction64(
16962         __signal: ::std::os::raw::c_int,
16963         __new_action: *const sigaction64,
16964         __old_action: *mut sigaction64,
16965     ) -> ::std::os::raw::c_int;
16966 }
16967 extern "C" {
siginterrupt( __signal: ::std::os::raw::c_int, __flag: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int16968     pub fn siginterrupt(
16969         __signal: ::std::os::raw::c_int,
16970         __flag: ::std::os::raw::c_int,
16971     ) -> ::std::os::raw::c_int;
16972 }
16973 extern "C" {
signal(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t16974     pub fn signal(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
16975 }
16976 extern "C" {
sigaddset( __set: *mut sigset_t, __signal: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int16977     pub fn sigaddset(
16978         __set: *mut sigset_t,
16979         __signal: ::std::os::raw::c_int,
16980     ) -> ::std::os::raw::c_int;
16981 }
16982 extern "C" {
sigaddset64( __set: *mut sigset64_t, __signal: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int16983     pub fn sigaddset64(
16984         __set: *mut sigset64_t,
16985         __signal: ::std::os::raw::c_int,
16986     ) -> ::std::os::raw::c_int;
16987 }
16988 extern "C" {
sigdelset( __set: *mut sigset_t, __signal: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int16989     pub fn sigdelset(
16990         __set: *mut sigset_t,
16991         __signal: ::std::os::raw::c_int,
16992     ) -> ::std::os::raw::c_int;
16993 }
16994 extern "C" {
sigdelset64( __set: *mut sigset64_t, __signal: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int16995     pub fn sigdelset64(
16996         __set: *mut sigset64_t,
16997         __signal: ::std::os::raw::c_int,
16998     ) -> ::std::os::raw::c_int;
16999 }
17000 extern "C" {
sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int17001     pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
17002 }
17003 extern "C" {
sigemptyset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int17004     pub fn sigemptyset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
17005 }
17006 extern "C" {
sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int17007     pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
17008 }
17009 extern "C" {
sigfillset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int17010     pub fn sigfillset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
17011 }
17012 extern "C" {
sigismember( __set: *const sigset_t, __signal: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int17013     pub fn sigismember(
17014         __set: *const sigset_t,
17015         __signal: ::std::os::raw::c_int,
17016     ) -> ::std::os::raw::c_int;
17017 }
17018 extern "C" {
sigismember64( __set: *const sigset64_t, __signal: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int17019     pub fn sigismember64(
17020         __set: *const sigset64_t,
17021         __signal: ::std::os::raw::c_int,
17022     ) -> ::std::os::raw::c_int;
17023 }
17024 extern "C" {
sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int17025     pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
17026 }
17027 extern "C" {
sigpending64(__set: *mut sigset64_t) -> ::std::os::raw::c_int17028     pub fn sigpending64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
17029 }
17030 extern "C" {
sigprocmask( __how: ::std::os::raw::c_int, __new_set: *const sigset_t, __old_set: *mut sigset_t, ) -> ::std::os::raw::c_int17031     pub fn sigprocmask(
17032         __how: ::std::os::raw::c_int,
17033         __new_set: *const sigset_t,
17034         __old_set: *mut sigset_t,
17035     ) -> ::std::os::raw::c_int;
17036 }
17037 extern "C" {
sigprocmask64( __how: ::std::os::raw::c_int, __new_set: *const sigset64_t, __old_set: *mut sigset64_t, ) -> ::std::os::raw::c_int17038     pub fn sigprocmask64(
17039         __how: ::std::os::raw::c_int,
17040         __new_set: *const sigset64_t,
17041         __old_set: *mut sigset64_t,
17042     ) -> ::std::os::raw::c_int;
17043 }
17044 extern "C" {
sigsuspend(__mask: *const sigset_t) -> ::std::os::raw::c_int17045     pub fn sigsuspend(__mask: *const sigset_t) -> ::std::os::raw::c_int;
17046 }
17047 extern "C" {
sigsuspend64(__mask: *const sigset64_t) -> ::std::os::raw::c_int17048     pub fn sigsuspend64(__mask: *const sigset64_t) -> ::std::os::raw::c_int;
17049 }
17050 extern "C" {
sigwait( __set: *const sigset_t, __signal: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int17051     pub fn sigwait(
17052         __set: *const sigset_t,
17053         __signal: *mut ::std::os::raw::c_int,
17054     ) -> ::std::os::raw::c_int;
17055 }
17056 extern "C" {
sigwait64( __set: *const sigset64_t, __signal: *mut ::std::os::raw::c_int, ) -> ::std::os::raw::c_int17057     pub fn sigwait64(
17058         __set: *const sigset64_t,
17059         __signal: *mut ::std::os::raw::c_int,
17060     ) -> ::std::os::raw::c_int;
17061 }
17062 extern "C" {
sighold(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int17063     pub fn sighold(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17064 }
17065 extern "C" {
sigignore(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int17066     pub fn sigignore(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17067 }
17068 extern "C" {
sigpause(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int17069     pub fn sigpause(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17070 }
17071 extern "C" {
sigrelse(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int17072     pub fn sigrelse(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17073 }
17074 extern "C" {
sigset(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t17075     pub fn sigset(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
17076 }
17077 extern "C" {
raise(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int17078     pub fn raise(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17079 }
17080 extern "C" {
kill(__pid: pid_t, __signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int17081     pub fn kill(__pid: pid_t, __signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17082 }
17083 extern "C" {
killpg( __pgrp: ::std::os::raw::c_int, __signal: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int17084     pub fn killpg(
17085         __pgrp: ::std::os::raw::c_int,
17086         __signal: ::std::os::raw::c_int,
17087     ) -> ::std::os::raw::c_int;
17088 }
17089 extern "C" {
tgkill( __tgid: ::std::os::raw::c_int, __tid: ::std::os::raw::c_int, __signal: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int17090     pub fn tgkill(
17091         __tgid: ::std::os::raw::c_int,
17092         __tid: ::std::os::raw::c_int,
17093         __signal: ::std::os::raw::c_int,
17094     ) -> ::std::os::raw::c_int;
17095 }
17096 extern "C" {
sigaltstack( __new_signal_stack: *const stack_t, __old_signal_stack: *mut stack_t, ) -> ::std::os::raw::c_int17097     pub fn sigaltstack(
17098         __new_signal_stack: *const stack_t,
17099         __old_signal_stack: *mut stack_t,
17100     ) -> ::std::os::raw::c_int;
17101 }
17102 extern "C" {
psiginfo(__info: *const siginfo_t, __msg: *const ::std::os::raw::c_char)17103     pub fn psiginfo(__info: *const siginfo_t, __msg: *const ::std::os::raw::c_char);
17104 }
17105 extern "C" {
psignal(__signal: ::std::os::raw::c_int, __msg: *const ::std::os::raw::c_char)17106     pub fn psignal(__signal: ::std::os::raw::c_int, __msg: *const ::std::os::raw::c_char);
17107 }
17108 extern "C" {
pthread_kill( __pthread: pthread_t, __signal: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int17109     pub fn pthread_kill(
17110         __pthread: pthread_t,
17111         __signal: ::std::os::raw::c_int,
17112     ) -> ::std::os::raw::c_int;
17113 }
17114 extern "C" {
pthread_sigmask( __how: ::std::os::raw::c_int, __new_set: *const sigset_t, __old_set: *mut sigset_t, ) -> ::std::os::raw::c_int17115     pub fn pthread_sigmask(
17116         __how: ::std::os::raw::c_int,
17117         __new_set: *const sigset_t,
17118         __old_set: *mut sigset_t,
17119     ) -> ::std::os::raw::c_int;
17120 }
17121 extern "C" {
pthread_sigmask64( __how: ::std::os::raw::c_int, __new_set: *const sigset64_t, __old_set: *mut sigset64_t, ) -> ::std::os::raw::c_int17122     pub fn pthread_sigmask64(
17123         __how: ::std::os::raw::c_int,
17124         __new_set: *const sigset64_t,
17125         __old_set: *mut sigset64_t,
17126     ) -> ::std::os::raw::c_int;
17127 }
17128 extern "C" {
sigqueue( __pid: pid_t, __signal: ::std::os::raw::c_int, __value: sigval, ) -> ::std::os::raw::c_int17129     pub fn sigqueue(
17130         __pid: pid_t,
17131         __signal: ::std::os::raw::c_int,
17132         __value: sigval,
17133     ) -> ::std::os::raw::c_int;
17134 }
17135 extern "C" {
sigtimedwait( __set: *const sigset_t, __info: *mut siginfo_t, __timeout: *const timespec, ) -> ::std::os::raw::c_int17136     pub fn sigtimedwait(
17137         __set: *const sigset_t,
17138         __info: *mut siginfo_t,
17139         __timeout: *const timespec,
17140     ) -> ::std::os::raw::c_int;
17141 }
17142 extern "C" {
sigtimedwait64( __set: *const sigset64_t, __info: *mut siginfo_t, __timeout: *const timespec, ) -> ::std::os::raw::c_int17143     pub fn sigtimedwait64(
17144         __set: *const sigset64_t,
17145         __info: *mut siginfo_t,
17146         __timeout: *const timespec,
17147     ) -> ::std::os::raw::c_int;
17148 }
17149 extern "C" {
sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int17150     pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
17151 }
17152 extern "C" {
sigwaitinfo64(__set: *const sigset64_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int17153     pub fn sigwaitinfo64(__set: *const sigset64_t, __info: *mut siginfo_t)
17154         -> ::std::os::raw::c_int;
17155 }
17156 pub type fd_mask = ::std::os::raw::c_ulong;
17157 #[repr(C)]
17158 #[derive(Debug, Copy, Clone)]
17159 pub struct fd_set {
17160     pub fds_bits: [fd_mask; 32usize],
17161 }
17162 #[test]
bindgen_test_layout_fd_set()17163 fn bindgen_test_layout_fd_set() {
17164     assert_eq!(
17165         ::std::mem::size_of::<fd_set>(),
17166         128usize,
17167         concat!("Size of: ", stringify!(fd_set))
17168     );
17169     assert_eq!(
17170         ::std::mem::align_of::<fd_set>(),
17171         4usize,
17172         concat!("Alignment of ", stringify!(fd_set))
17173     );
17174     assert_eq!(
17175         unsafe { &(*(::std::ptr::null::<fd_set>())).fds_bits as *const _ as usize },
17176         0usize,
17177         concat!(
17178             "Offset of field: ",
17179             stringify!(fd_set),
17180             "::",
17181             stringify!(fds_bits)
17182         )
17183     );
17184 }
17185 extern "C" {
__FD_CLR_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: size_t)17186     pub fn __FD_CLR_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: size_t);
17187 }
17188 extern "C" {
__FD_SET_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: size_t)17189     pub fn __FD_SET_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: size_t);
17190 }
17191 extern "C" {
__FD_ISSET_chk( arg1: ::std::os::raw::c_int, arg2: *const fd_set, arg3: size_t, ) -> ::std::os::raw::c_int17192     pub fn __FD_ISSET_chk(
17193         arg1: ::std::os::raw::c_int,
17194         arg2: *const fd_set,
17195         arg3: size_t,
17196     ) -> ::std::os::raw::c_int;
17197 }
17198 extern "C" {
select( __fd_count: ::std::os::raw::c_int, __read_fds: *mut fd_set, __write_fds: *mut fd_set, __exception_fds: *mut fd_set, __timeout: *mut timeval, ) -> ::std::os::raw::c_int17199     pub fn select(
17200         __fd_count: ::std::os::raw::c_int,
17201         __read_fds: *mut fd_set,
17202         __write_fds: *mut fd_set,
17203         __exception_fds: *mut fd_set,
17204         __timeout: *mut timeval,
17205     ) -> ::std::os::raw::c_int;
17206 }
17207 extern "C" {
pselect( __fd_count: ::std::os::raw::c_int, __read_fds: *mut fd_set, __write_fds: *mut fd_set, __exception_fds: *mut fd_set, __timeout: *const timespec, __mask: *const sigset_t, ) -> ::std::os::raw::c_int17208     pub fn pselect(
17209         __fd_count: ::std::os::raw::c_int,
17210         __read_fds: *mut fd_set,
17211         __write_fds: *mut fd_set,
17212         __exception_fds: *mut fd_set,
17213         __timeout: *const timespec,
17214         __mask: *const sigset_t,
17215     ) -> ::std::os::raw::c_int;
17216 }
17217 extern "C" {
pselect64( __fd_count: ::std::os::raw::c_int, __read_fds: *mut fd_set, __write_fds: *mut fd_set, __exception_fds: *mut fd_set, __timeout: *const timespec, __mask: *const sigset64_t, ) -> ::std::os::raw::c_int17218     pub fn pselect64(
17219         __fd_count: ::std::os::raw::c_int,
17220         __read_fds: *mut fd_set,
17221         __write_fds: *mut fd_set,
17222         __exception_fds: *mut fd_set,
17223         __timeout: *const timespec,
17224         __mask: *const sigset64_t,
17225     ) -> ::std::os::raw::c_int;
17226 }
17227 extern "C" {
gettimeofday(__tv: *mut timeval, __tz: *mut timezone) -> ::std::os::raw::c_int17228     pub fn gettimeofday(__tv: *mut timeval, __tz: *mut timezone) -> ::std::os::raw::c_int;
17229 }
17230 extern "C" {
settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int17231     pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int;
17232 }
17233 extern "C" {
getitimer( __which: ::std::os::raw::c_int, __current_value: *mut itimerval, ) -> ::std::os::raw::c_int17234     pub fn getitimer(
17235         __which: ::std::os::raw::c_int,
17236         __current_value: *mut itimerval,
17237     ) -> ::std::os::raw::c_int;
17238 }
17239 extern "C" {
setitimer( __which: ::std::os::raw::c_int, __new_value: *const itimerval, __old_value: *mut itimerval, ) -> ::std::os::raw::c_int17240     pub fn setitimer(
17241         __which: ::std::os::raw::c_int,
17242         __new_value: *const itimerval,
17243         __old_value: *mut itimerval,
17244     ) -> ::std::os::raw::c_int;
17245 }
17246 extern "C" {
utimes( __path: *const ::std::os::raw::c_char, __times: *const timeval, ) -> ::std::os::raw::c_int17247     pub fn utimes(
17248         __path: *const ::std::os::raw::c_char,
17249         __times: *const timeval,
17250     ) -> ::std::os::raw::c_int;
17251 }
17252 extern "C" {
17253     pub static mut tzname: [*mut ::std::os::raw::c_char; 0usize];
17254 }
17255 extern "C" {
17256     pub static mut daylight: ::std::os::raw::c_int;
17257 }
17258 extern "C" {
17259     pub static mut timezone: ::std::os::raw::c_long;
17260 }
17261 #[repr(C)]
17262 #[derive(Debug, Copy, Clone)]
17263 pub struct tm {
17264     pub tm_sec: ::std::os::raw::c_int,
17265     pub tm_min: ::std::os::raw::c_int,
17266     pub tm_hour: ::std::os::raw::c_int,
17267     pub tm_mday: ::std::os::raw::c_int,
17268     pub tm_mon: ::std::os::raw::c_int,
17269     pub tm_year: ::std::os::raw::c_int,
17270     pub tm_wday: ::std::os::raw::c_int,
17271     pub tm_yday: ::std::os::raw::c_int,
17272     pub tm_isdst: ::std::os::raw::c_int,
17273     pub tm_gmtoff: ::std::os::raw::c_long,
17274     pub tm_zone: *const ::std::os::raw::c_char,
17275 }
17276 #[test]
bindgen_test_layout_tm()17277 fn bindgen_test_layout_tm() {
17278     assert_eq!(
17279         ::std::mem::size_of::<tm>(),
17280         44usize,
17281         concat!("Size of: ", stringify!(tm))
17282     );
17283     assert_eq!(
17284         ::std::mem::align_of::<tm>(),
17285         4usize,
17286         concat!("Alignment of ", stringify!(tm))
17287     );
17288     assert_eq!(
17289         unsafe { &(*(::std::ptr::null::<tm>())).tm_sec as *const _ as usize },
17290         0usize,
17291         concat!(
17292             "Offset of field: ",
17293             stringify!(tm),
17294             "::",
17295             stringify!(tm_sec)
17296         )
17297     );
17298     assert_eq!(
17299         unsafe { &(*(::std::ptr::null::<tm>())).tm_min as *const _ as usize },
17300         4usize,
17301         concat!(
17302             "Offset of field: ",
17303             stringify!(tm),
17304             "::",
17305             stringify!(tm_min)
17306         )
17307     );
17308     assert_eq!(
17309         unsafe { &(*(::std::ptr::null::<tm>())).tm_hour as *const _ as usize },
17310         8usize,
17311         concat!(
17312             "Offset of field: ",
17313             stringify!(tm),
17314             "::",
17315             stringify!(tm_hour)
17316         )
17317     );
17318     assert_eq!(
17319         unsafe { &(*(::std::ptr::null::<tm>())).tm_mday as *const _ as usize },
17320         12usize,
17321         concat!(
17322             "Offset of field: ",
17323             stringify!(tm),
17324             "::",
17325             stringify!(tm_mday)
17326         )
17327     );
17328     assert_eq!(
17329         unsafe { &(*(::std::ptr::null::<tm>())).tm_mon as *const _ as usize },
17330         16usize,
17331         concat!(
17332             "Offset of field: ",
17333             stringify!(tm),
17334             "::",
17335             stringify!(tm_mon)
17336         )
17337     );
17338     assert_eq!(
17339         unsafe { &(*(::std::ptr::null::<tm>())).tm_year as *const _ as usize },
17340         20usize,
17341         concat!(
17342             "Offset of field: ",
17343             stringify!(tm),
17344             "::",
17345             stringify!(tm_year)
17346         )
17347     );
17348     assert_eq!(
17349         unsafe { &(*(::std::ptr::null::<tm>())).tm_wday as *const _ as usize },
17350         24usize,
17351         concat!(
17352             "Offset of field: ",
17353             stringify!(tm),
17354             "::",
17355             stringify!(tm_wday)
17356         )
17357     );
17358     assert_eq!(
17359         unsafe { &(*(::std::ptr::null::<tm>())).tm_yday as *const _ as usize },
17360         28usize,
17361         concat!(
17362             "Offset of field: ",
17363             stringify!(tm),
17364             "::",
17365             stringify!(tm_yday)
17366         )
17367     );
17368     assert_eq!(
17369         unsafe { &(*(::std::ptr::null::<tm>())).tm_isdst as *const _ as usize },
17370         32usize,
17371         concat!(
17372             "Offset of field: ",
17373             stringify!(tm),
17374             "::",
17375             stringify!(tm_isdst)
17376         )
17377     );
17378     assert_eq!(
17379         unsafe { &(*(::std::ptr::null::<tm>())).tm_gmtoff as *const _ as usize },
17380         36usize,
17381         concat!(
17382             "Offset of field: ",
17383             stringify!(tm),
17384             "::",
17385             stringify!(tm_gmtoff)
17386         )
17387     );
17388     assert_eq!(
17389         unsafe { &(*(::std::ptr::null::<tm>())).tm_zone as *const _ as usize },
17390         40usize,
17391         concat!(
17392             "Offset of field: ",
17393             stringify!(tm),
17394             "::",
17395             stringify!(tm_zone)
17396         )
17397     );
17398 }
17399 extern "C" {
time(__t: *mut time_t) -> time_t17400     pub fn time(__t: *mut time_t) -> time_t;
17401 }
17402 extern "C" {
nanosleep( __request: *const timespec, __remainder: *mut timespec, ) -> ::std::os::raw::c_int17403     pub fn nanosleep(
17404         __request: *const timespec,
17405         __remainder: *mut timespec,
17406     ) -> ::std::os::raw::c_int;
17407 }
17408 extern "C" {
asctime(__tm: *const tm) -> *mut ::std::os::raw::c_char17409     pub fn asctime(__tm: *const tm) -> *mut ::std::os::raw::c_char;
17410 }
17411 extern "C" {
asctime_r( __tm: *const tm, __buf: *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char17412     pub fn asctime_r(
17413         __tm: *const tm,
17414         __buf: *mut ::std::os::raw::c_char,
17415     ) -> *mut ::std::os::raw::c_char;
17416 }
17417 extern "C" {
difftime(__lhs: time_t, __rhs: time_t) -> f6417418     pub fn difftime(__lhs: time_t, __rhs: time_t) -> f64;
17419 }
17420 extern "C" {
mktime(__tm: *mut tm) -> time_t17421     pub fn mktime(__tm: *mut tm) -> time_t;
17422 }
17423 extern "C" {
localtime(__t: *const time_t) -> *mut tm17424     pub fn localtime(__t: *const time_t) -> *mut tm;
17425 }
17426 extern "C" {
localtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm17427     pub fn localtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
17428 }
17429 extern "C" {
gmtime(__t: *const time_t) -> *mut tm17430     pub fn gmtime(__t: *const time_t) -> *mut tm;
17431 }
17432 extern "C" {
gmtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm17433     pub fn gmtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
17434 }
17435 extern "C" {
strptime( __s: *const ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, __tm: *mut tm, ) -> *mut ::std::os::raw::c_char17436     pub fn strptime(
17437         __s: *const ::std::os::raw::c_char,
17438         __fmt: *const ::std::os::raw::c_char,
17439         __tm: *mut tm,
17440     ) -> *mut ::std::os::raw::c_char;
17441 }
17442 extern "C" {
strptime_l( __s: *const ::std::os::raw::c_char, __fmt: *const ::std::os::raw::c_char, __tm: *mut tm, __l: locale_t, ) -> *mut ::std::os::raw::c_char17443     pub fn strptime_l(
17444         __s: *const ::std::os::raw::c_char,
17445         __fmt: *const ::std::os::raw::c_char,
17446         __tm: *mut tm,
17447         __l: locale_t,
17448     ) -> *mut ::std::os::raw::c_char;
17449 }
17450 extern "C" {
strftime( __buf: *mut ::std::os::raw::c_char, __n: size_t, __fmt: *const ::std::os::raw::c_char, __tm: *const tm, ) -> size_t17451     pub fn strftime(
17452         __buf: *mut ::std::os::raw::c_char,
17453         __n: size_t,
17454         __fmt: *const ::std::os::raw::c_char,
17455         __tm: *const tm,
17456     ) -> size_t;
17457 }
17458 extern "C" {
strftime_l( __buf: *mut ::std::os::raw::c_char, __n: size_t, __fmt: *const ::std::os::raw::c_char, __tm: *const tm, __l: locale_t, ) -> size_t17459     pub fn strftime_l(
17460         __buf: *mut ::std::os::raw::c_char,
17461         __n: size_t,
17462         __fmt: *const ::std::os::raw::c_char,
17463         __tm: *const tm,
17464         __l: locale_t,
17465     ) -> size_t;
17466 }
17467 extern "C" {
ctime(__t: *const time_t) -> *mut ::std::os::raw::c_char17468     pub fn ctime(__t: *const time_t) -> *mut ::std::os::raw::c_char;
17469 }
17470 extern "C" {
ctime_r( __t: *const time_t, __buf: *mut ::std::os::raw::c_char, ) -> *mut ::std::os::raw::c_char17471     pub fn ctime_r(
17472         __t: *const time_t,
17473         __buf: *mut ::std::os::raw::c_char,
17474     ) -> *mut ::std::os::raw::c_char;
17475 }
17476 extern "C" {
tzset()17477     pub fn tzset();
17478 }
17479 extern "C" {
clock() -> clock_t17480     pub fn clock() -> clock_t;
17481 }
17482 extern "C" {
clock_getcpuclockid(__pid: pid_t, __clock: *mut clockid_t) -> ::std::os::raw::c_int17483     pub fn clock_getcpuclockid(__pid: pid_t, __clock: *mut clockid_t) -> ::std::os::raw::c_int;
17484 }
17485 extern "C" {
clock_getres(__clock: clockid_t, __resolution: *mut timespec) -> ::std::os::raw::c_int17486     pub fn clock_getres(__clock: clockid_t, __resolution: *mut timespec) -> ::std::os::raw::c_int;
17487 }
17488 extern "C" {
clock_gettime(__clock: clockid_t, __ts: *mut timespec) -> ::std::os::raw::c_int17489     pub fn clock_gettime(__clock: clockid_t, __ts: *mut timespec) -> ::std::os::raw::c_int;
17490 }
17491 extern "C" {
clock_nanosleep( __clock: clockid_t, __flags: ::std::os::raw::c_int, __request: *const timespec, __remainder: *mut timespec, ) -> ::std::os::raw::c_int17492     pub fn clock_nanosleep(
17493         __clock: clockid_t,
17494         __flags: ::std::os::raw::c_int,
17495         __request: *const timespec,
17496         __remainder: *mut timespec,
17497     ) -> ::std::os::raw::c_int;
17498 }
17499 extern "C" {
clock_settime(__clock: clockid_t, __ts: *const timespec) -> ::std::os::raw::c_int17500     pub fn clock_settime(__clock: clockid_t, __ts: *const timespec) -> ::std::os::raw::c_int;
17501 }
17502 extern "C" {
timer_create( __clock: clockid_t, __event: *mut sigevent, __timer_ptr: *mut timer_t, ) -> ::std::os::raw::c_int17503     pub fn timer_create(
17504         __clock: clockid_t,
17505         __event: *mut sigevent,
17506         __timer_ptr: *mut timer_t,
17507     ) -> ::std::os::raw::c_int;
17508 }
17509 extern "C" {
timer_delete(__timer: timer_t) -> ::std::os::raw::c_int17510     pub fn timer_delete(__timer: timer_t) -> ::std::os::raw::c_int;
17511 }
17512 extern "C" {
timer_settime( __timer: timer_t, __flags: ::std::os::raw::c_int, __new_value: *const itimerspec, __old_value: *mut itimerspec, ) -> ::std::os::raw::c_int17513     pub fn timer_settime(
17514         __timer: timer_t,
17515         __flags: ::std::os::raw::c_int,
17516         __new_value: *const itimerspec,
17517         __old_value: *mut itimerspec,
17518     ) -> ::std::os::raw::c_int;
17519 }
17520 extern "C" {
timer_gettime(__timer: timer_t, __ts: *mut itimerspec) -> ::std::os::raw::c_int17521     pub fn timer_gettime(__timer: timer_t, __ts: *mut itimerspec) -> ::std::os::raw::c_int;
17522 }
17523 extern "C" {
timer_getoverrun(__timer: timer_t) -> ::std::os::raw::c_int17524     pub fn timer_getoverrun(__timer: timer_t) -> ::std::os::raw::c_int;
17525 }
17526 extern "C" {
timelocal(__tm: *mut tm) -> time_t17527     pub fn timelocal(__tm: *mut tm) -> time_t;
17528 }
17529 extern "C" {
timegm(__tm: *mut tm) -> time_t17530     pub fn timegm(__tm: *mut tm) -> time_t;
17531 }
17532 extern "C" {
timespec_get( __ts: *mut timespec, __base: ::std::os::raw::c_int, ) -> ::std::os::raw::c_int17533     pub fn timespec_get(
17534         __ts: *mut timespec,
17535         __base: ::std::os::raw::c_int,
17536     ) -> ::std::os::raw::c_int;
17537 }
17538 pub const AAUDIO_DIRECTION_OUTPUT: _bindgen_ty_42 = 0;
17539 pub const AAUDIO_DIRECTION_INPUT: _bindgen_ty_42 = 1;
17540 pub type _bindgen_ty_42 = u32;
17541 pub type aaudio_direction_t = i32;
17542 pub const AAUDIO_FORMAT_INVALID: _bindgen_ty_43 = -1;
17543 pub const AAUDIO_FORMAT_UNSPECIFIED: _bindgen_ty_43 = 0;
17544 pub const AAUDIO_FORMAT_PCM_I16: _bindgen_ty_43 = 1;
17545 pub const AAUDIO_FORMAT_PCM_FLOAT: _bindgen_ty_43 = 2;
17546 pub type _bindgen_ty_43 = i32;
17547 pub type aaudio_format_t = i32;
17548 pub const AAUDIO_OK: _bindgen_ty_44 = 0;
17549 pub const AAUDIO_ERROR_BASE: _bindgen_ty_44 = -900;
17550 pub const AAUDIO_ERROR_DISCONNECTED: _bindgen_ty_44 = -899;
17551 pub const AAUDIO_ERROR_ILLEGAL_ARGUMENT: _bindgen_ty_44 = -898;
17552 pub const AAUDIO_ERROR_INTERNAL: _bindgen_ty_44 = -896;
17553 pub const AAUDIO_ERROR_INVALID_STATE: _bindgen_ty_44 = -895;
17554 pub const AAUDIO_ERROR_INVALID_HANDLE: _bindgen_ty_44 = -892;
17555 pub const AAUDIO_ERROR_UNIMPLEMENTED: _bindgen_ty_44 = -890;
17556 pub const AAUDIO_ERROR_UNAVAILABLE: _bindgen_ty_44 = -889;
17557 pub const AAUDIO_ERROR_NO_FREE_HANDLES: _bindgen_ty_44 = -888;
17558 pub const AAUDIO_ERROR_NO_MEMORY: _bindgen_ty_44 = -887;
17559 pub const AAUDIO_ERROR_NULL: _bindgen_ty_44 = -886;
17560 pub const AAUDIO_ERROR_TIMEOUT: _bindgen_ty_44 = -885;
17561 pub const AAUDIO_ERROR_WOULD_BLOCK: _bindgen_ty_44 = -884;
17562 pub const AAUDIO_ERROR_INVALID_FORMAT: _bindgen_ty_44 = -883;
17563 pub const AAUDIO_ERROR_OUT_OF_RANGE: _bindgen_ty_44 = -882;
17564 pub const AAUDIO_ERROR_NO_SERVICE: _bindgen_ty_44 = -881;
17565 pub const AAUDIO_ERROR_INVALID_RATE: _bindgen_ty_44 = -880;
17566 pub type _bindgen_ty_44 = i32;
17567 pub type aaudio_result_t = i32;
17568 pub const AAUDIO_STREAM_STATE_UNINITIALIZED: _bindgen_ty_45 = 0;
17569 pub const AAUDIO_STREAM_STATE_UNKNOWN: _bindgen_ty_45 = 1;
17570 pub const AAUDIO_STREAM_STATE_OPEN: _bindgen_ty_45 = 2;
17571 pub const AAUDIO_STREAM_STATE_STARTING: _bindgen_ty_45 = 3;
17572 pub const AAUDIO_STREAM_STATE_STARTED: _bindgen_ty_45 = 4;
17573 pub const AAUDIO_STREAM_STATE_PAUSING: _bindgen_ty_45 = 5;
17574 pub const AAUDIO_STREAM_STATE_PAUSED: _bindgen_ty_45 = 6;
17575 pub const AAUDIO_STREAM_STATE_FLUSHING: _bindgen_ty_45 = 7;
17576 pub const AAUDIO_STREAM_STATE_FLUSHED: _bindgen_ty_45 = 8;
17577 pub const AAUDIO_STREAM_STATE_STOPPING: _bindgen_ty_45 = 9;
17578 pub const AAUDIO_STREAM_STATE_STOPPED: _bindgen_ty_45 = 10;
17579 pub const AAUDIO_STREAM_STATE_CLOSING: _bindgen_ty_45 = 11;
17580 pub const AAUDIO_STREAM_STATE_CLOSED: _bindgen_ty_45 = 12;
17581 pub const AAUDIO_STREAM_STATE_DISCONNECTED: _bindgen_ty_45 = 13;
17582 pub type _bindgen_ty_45 = u32;
17583 pub type aaudio_stream_state_t = i32;
17584 pub const AAUDIO_SHARING_MODE_EXCLUSIVE: _bindgen_ty_46 = 0;
17585 pub const AAUDIO_SHARING_MODE_SHARED: _bindgen_ty_46 = 1;
17586 pub type _bindgen_ty_46 = u32;
17587 pub type aaudio_sharing_mode_t = i32;
17588 pub const AAUDIO_PERFORMANCE_MODE_NONE: _bindgen_ty_47 = 10;
17589 pub const AAUDIO_PERFORMANCE_MODE_POWER_SAVING: _bindgen_ty_47 = 11;
17590 pub const AAUDIO_PERFORMANCE_MODE_LOW_LATENCY: _bindgen_ty_47 = 12;
17591 pub type _bindgen_ty_47 = u32;
17592 pub type aaudio_performance_mode_t = i32;
17593 pub const AAUDIO_USAGE_MEDIA: _bindgen_ty_48 = 1;
17594 pub const AAUDIO_USAGE_VOICE_COMMUNICATION: _bindgen_ty_48 = 2;
17595 pub const AAUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: _bindgen_ty_48 = 3;
17596 pub const AAUDIO_USAGE_ALARM: _bindgen_ty_48 = 4;
17597 pub const AAUDIO_USAGE_NOTIFICATION: _bindgen_ty_48 = 5;
17598 pub const AAUDIO_USAGE_NOTIFICATION_RINGTONE: _bindgen_ty_48 = 6;
17599 pub const AAUDIO_USAGE_NOTIFICATION_EVENT: _bindgen_ty_48 = 10;
17600 pub const AAUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: _bindgen_ty_48 = 11;
17601 pub const AAUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: _bindgen_ty_48 = 12;
17602 pub const AAUDIO_USAGE_ASSISTANCE_SONIFICATION: _bindgen_ty_48 = 13;
17603 pub const AAUDIO_USAGE_GAME: _bindgen_ty_48 = 14;
17604 pub const AAUDIO_USAGE_ASSISTANT: _bindgen_ty_48 = 16;
17605 pub const AAUDIO_SYSTEM_USAGE_EMERGENCY: _bindgen_ty_48 = 1000;
17606 pub const AAUDIO_SYSTEM_USAGE_SAFETY: _bindgen_ty_48 = 1001;
17607 pub const AAUDIO_SYSTEM_USAGE_VEHICLE_STATUS: _bindgen_ty_48 = 1002;
17608 pub const AAUDIO_SYSTEM_USAGE_ANNOUNCEMENT: _bindgen_ty_48 = 1003;
17609 pub type _bindgen_ty_48 = u32;
17610 pub type aaudio_usage_t = i32;
17611 pub const AAUDIO_CONTENT_TYPE_SPEECH: _bindgen_ty_49 = 1;
17612 pub const AAUDIO_CONTENT_TYPE_MUSIC: _bindgen_ty_49 = 2;
17613 pub const AAUDIO_CONTENT_TYPE_MOVIE: _bindgen_ty_49 = 3;
17614 pub const AAUDIO_CONTENT_TYPE_SONIFICATION: _bindgen_ty_49 = 4;
17615 pub type _bindgen_ty_49 = u32;
17616 pub type aaudio_content_type_t = i32;
17617 pub const AAUDIO_INPUT_PRESET_GENERIC: _bindgen_ty_50 = 1;
17618 pub const AAUDIO_INPUT_PRESET_CAMCORDER: _bindgen_ty_50 = 5;
17619 pub const AAUDIO_INPUT_PRESET_VOICE_RECOGNITION: _bindgen_ty_50 = 6;
17620 pub const AAUDIO_INPUT_PRESET_VOICE_COMMUNICATION: _bindgen_ty_50 = 7;
17621 pub const AAUDIO_INPUT_PRESET_UNPROCESSED: _bindgen_ty_50 = 9;
17622 pub const AAUDIO_INPUT_PRESET_VOICE_PERFORMANCE: _bindgen_ty_50 = 10;
17623 pub type _bindgen_ty_50 = u32;
17624 pub type aaudio_input_preset_t = i32;
17625 pub const AAUDIO_ALLOW_CAPTURE_BY_ALL: _bindgen_ty_51 = 1;
17626 pub const AAUDIO_ALLOW_CAPTURE_BY_SYSTEM: _bindgen_ty_51 = 2;
17627 pub const AAUDIO_ALLOW_CAPTURE_BY_NONE: _bindgen_ty_51 = 3;
17628 pub type _bindgen_ty_51 = u32;
17629 pub type aaudio_allowed_capture_policy_t = i32;
17630 pub const AAUDIO_SESSION_ID_NONE: _bindgen_ty_52 = -1;
17631 pub const AAUDIO_SESSION_ID_ALLOCATE: _bindgen_ty_52 = 0;
17632 pub type _bindgen_ty_52 = i32;
17633 pub type aaudio_session_id_t = i32;
17634 #[repr(C)]
17635 #[derive(Debug, Copy, Clone)]
17636 pub struct AAudioStreamStruct {
17637     _unused: [u8; 0],
17638 }
17639 pub type AAudioStream = AAudioStreamStruct;
17640 #[repr(C)]
17641 #[derive(Debug, Copy, Clone)]
17642 pub struct AAudioStreamBuilderStruct {
17643     _unused: [u8; 0],
17644 }
17645 pub type AAudioStreamBuilder = AAudioStreamBuilderStruct;
17646 extern "C" {
AAudio_convertResultToText(returnCode: aaudio_result_t) -> *const ::std::os::raw::c_char17647     pub fn AAudio_convertResultToText(returnCode: aaudio_result_t)
17648         -> *const ::std::os::raw::c_char;
17649 }
17650 extern "C" {
AAudio_convertStreamStateToText( state: aaudio_stream_state_t, ) -> *const ::std::os::raw::c_char17651     pub fn AAudio_convertStreamStateToText(
17652         state: aaudio_stream_state_t,
17653     ) -> *const ::std::os::raw::c_char;
17654 }
17655 extern "C" {
AAudio_createStreamBuilder(builder: *mut *mut AAudioStreamBuilder) -> aaudio_result_t17656     pub fn AAudio_createStreamBuilder(builder: *mut *mut AAudioStreamBuilder) -> aaudio_result_t;
17657 }
17658 extern "C" {
AAudioStreamBuilder_setDeviceId(builder: *mut AAudioStreamBuilder, deviceId: i32)17659     pub fn AAudioStreamBuilder_setDeviceId(builder: *mut AAudioStreamBuilder, deviceId: i32);
17660 }
17661 extern "C" {
AAudioStreamBuilder_setSampleRate(builder: *mut AAudioStreamBuilder, sampleRate: i32)17662     pub fn AAudioStreamBuilder_setSampleRate(builder: *mut AAudioStreamBuilder, sampleRate: i32);
17663 }
17664 extern "C" {
AAudioStreamBuilder_setChannelCount( builder: *mut AAudioStreamBuilder, channelCount: i32, )17665     pub fn AAudioStreamBuilder_setChannelCount(
17666         builder: *mut AAudioStreamBuilder,
17667         channelCount: i32,
17668     );
17669 }
17670 extern "C" {
AAudioStreamBuilder_setSamplesPerFrame( builder: *mut AAudioStreamBuilder, samplesPerFrame: i32, )17671     pub fn AAudioStreamBuilder_setSamplesPerFrame(
17672         builder: *mut AAudioStreamBuilder,
17673         samplesPerFrame: i32,
17674     );
17675 }
17676 extern "C" {
AAudioStreamBuilder_setFormat( builder: *mut AAudioStreamBuilder, format: aaudio_format_t, )17677     pub fn AAudioStreamBuilder_setFormat(
17678         builder: *mut AAudioStreamBuilder,
17679         format: aaudio_format_t,
17680     );
17681 }
17682 extern "C" {
AAudioStreamBuilder_setSharingMode( builder: *mut AAudioStreamBuilder, sharingMode: aaudio_sharing_mode_t, )17683     pub fn AAudioStreamBuilder_setSharingMode(
17684         builder: *mut AAudioStreamBuilder,
17685         sharingMode: aaudio_sharing_mode_t,
17686     );
17687 }
17688 extern "C" {
AAudioStreamBuilder_setDirection( builder: *mut AAudioStreamBuilder, direction: aaudio_direction_t, )17689     pub fn AAudioStreamBuilder_setDirection(
17690         builder: *mut AAudioStreamBuilder,
17691         direction: aaudio_direction_t,
17692     );
17693 }
17694 extern "C" {
AAudioStreamBuilder_setBufferCapacityInFrames( builder: *mut AAudioStreamBuilder, numFrames: i32, )17695     pub fn AAudioStreamBuilder_setBufferCapacityInFrames(
17696         builder: *mut AAudioStreamBuilder,
17697         numFrames: i32,
17698     );
17699 }
17700 extern "C" {
AAudioStreamBuilder_setPerformanceMode( builder: *mut AAudioStreamBuilder, mode: aaudio_performance_mode_t, )17701     pub fn AAudioStreamBuilder_setPerformanceMode(
17702         builder: *mut AAudioStreamBuilder,
17703         mode: aaudio_performance_mode_t,
17704     );
17705 }
17706 extern "C" {
AAudioStreamBuilder_setUsage(builder: *mut AAudioStreamBuilder, usage: aaudio_usage_t)17707     pub fn AAudioStreamBuilder_setUsage(builder: *mut AAudioStreamBuilder, usage: aaudio_usage_t);
17708 }
17709 extern "C" {
AAudioStreamBuilder_setContentType( builder: *mut AAudioStreamBuilder, contentType: aaudio_content_type_t, )17710     pub fn AAudioStreamBuilder_setContentType(
17711         builder: *mut AAudioStreamBuilder,
17712         contentType: aaudio_content_type_t,
17713     );
17714 }
17715 extern "C" {
AAudioStreamBuilder_setInputPreset( builder: *mut AAudioStreamBuilder, inputPreset: aaudio_input_preset_t, )17716     pub fn AAudioStreamBuilder_setInputPreset(
17717         builder: *mut AAudioStreamBuilder,
17718         inputPreset: aaudio_input_preset_t,
17719     );
17720 }
17721 extern "C" {
AAudioStreamBuilder_setAllowedCapturePolicy( builder: *mut AAudioStreamBuilder, capturePolicy: aaudio_allowed_capture_policy_t, )17722     pub fn AAudioStreamBuilder_setAllowedCapturePolicy(
17723         builder: *mut AAudioStreamBuilder,
17724         capturePolicy: aaudio_allowed_capture_policy_t,
17725     );
17726 }
17727 extern "C" {
AAudioStreamBuilder_setSessionId( builder: *mut AAudioStreamBuilder, sessionId: aaudio_session_id_t, )17728     pub fn AAudioStreamBuilder_setSessionId(
17729         builder: *mut AAudioStreamBuilder,
17730         sessionId: aaudio_session_id_t,
17731     );
17732 }
17733 extern "C" {
AAudioStreamBuilder_setPrivacySensitive( builder: *mut AAudioStreamBuilder, privacySensitive: bool, )17734     pub fn AAudioStreamBuilder_setPrivacySensitive(
17735         builder: *mut AAudioStreamBuilder,
17736         privacySensitive: bool,
17737     );
17738 }
17739 pub const AAUDIO_CALLBACK_RESULT_CONTINUE: _bindgen_ty_53 = 0;
17740 pub const AAUDIO_CALLBACK_RESULT_STOP: _bindgen_ty_53 = 1;
17741 pub type _bindgen_ty_53 = u32;
17742 pub type aaudio_data_callback_result_t = i32;
17743 pub type AAudioStream_dataCallback = ::std::option::Option<
17744     unsafe extern "C" fn(
17745         stream: *mut AAudioStream,
17746         userData: *mut ::std::os::raw::c_void,
17747         audioData: *mut ::std::os::raw::c_void,
17748         numFrames: i32,
17749     ) -> aaudio_data_callback_result_t,
17750 >;
17751 extern "C" {
AAudioStreamBuilder_setDataCallback( builder: *mut AAudioStreamBuilder, callback: AAudioStream_dataCallback, userData: *mut ::std::os::raw::c_void, )17752     pub fn AAudioStreamBuilder_setDataCallback(
17753         builder: *mut AAudioStreamBuilder,
17754         callback: AAudioStream_dataCallback,
17755         userData: *mut ::std::os::raw::c_void,
17756     );
17757 }
17758 extern "C" {
AAudioStreamBuilder_setFramesPerDataCallback( builder: *mut AAudioStreamBuilder, numFrames: i32, )17759     pub fn AAudioStreamBuilder_setFramesPerDataCallback(
17760         builder: *mut AAudioStreamBuilder,
17761         numFrames: i32,
17762     );
17763 }
17764 pub type AAudioStream_errorCallback = ::std::option::Option<
17765     unsafe extern "C" fn(
17766         stream: *mut AAudioStream,
17767         userData: *mut ::std::os::raw::c_void,
17768         error: aaudio_result_t,
17769     ),
17770 >;
17771 extern "C" {
AAudioStreamBuilder_setErrorCallback( builder: *mut AAudioStreamBuilder, callback: AAudioStream_errorCallback, userData: *mut ::std::os::raw::c_void, )17772     pub fn AAudioStreamBuilder_setErrorCallback(
17773         builder: *mut AAudioStreamBuilder,
17774         callback: AAudioStream_errorCallback,
17775         userData: *mut ::std::os::raw::c_void,
17776     );
17777 }
17778 extern "C" {
AAudioStreamBuilder_openStream( builder: *mut AAudioStreamBuilder, stream: *mut *mut AAudioStream, ) -> aaudio_result_t17779     pub fn AAudioStreamBuilder_openStream(
17780         builder: *mut AAudioStreamBuilder,
17781         stream: *mut *mut AAudioStream,
17782     ) -> aaudio_result_t;
17783 }
17784 extern "C" {
AAudioStreamBuilder_delete(builder: *mut AAudioStreamBuilder) -> aaudio_result_t17785     pub fn AAudioStreamBuilder_delete(builder: *mut AAudioStreamBuilder) -> aaudio_result_t;
17786 }
17787 extern "C" {
AAudioStream_release(stream: *mut AAudioStream) -> aaudio_result_t17788     pub fn AAudioStream_release(stream: *mut AAudioStream) -> aaudio_result_t;
17789 }
17790 extern "C" {
AAudioStream_close(stream: *mut AAudioStream) -> aaudio_result_t17791     pub fn AAudioStream_close(stream: *mut AAudioStream) -> aaudio_result_t;
17792 }
17793 extern "C" {
AAudioStream_requestStart(stream: *mut AAudioStream) -> aaudio_result_t17794     pub fn AAudioStream_requestStart(stream: *mut AAudioStream) -> aaudio_result_t;
17795 }
17796 extern "C" {
AAudioStream_requestPause(stream: *mut AAudioStream) -> aaudio_result_t17797     pub fn AAudioStream_requestPause(stream: *mut AAudioStream) -> aaudio_result_t;
17798 }
17799 extern "C" {
AAudioStream_requestFlush(stream: *mut AAudioStream) -> aaudio_result_t17800     pub fn AAudioStream_requestFlush(stream: *mut AAudioStream) -> aaudio_result_t;
17801 }
17802 extern "C" {
AAudioStream_requestStop(stream: *mut AAudioStream) -> aaudio_result_t17803     pub fn AAudioStream_requestStop(stream: *mut AAudioStream) -> aaudio_result_t;
17804 }
17805 extern "C" {
AAudioStream_getState(stream: *mut AAudioStream) -> aaudio_stream_state_t17806     pub fn AAudioStream_getState(stream: *mut AAudioStream) -> aaudio_stream_state_t;
17807 }
17808 extern "C" {
AAudioStream_waitForStateChange( stream: *mut AAudioStream, inputState: aaudio_stream_state_t, nextState: *mut aaudio_stream_state_t, timeoutNanoseconds: i64, ) -> aaudio_result_t17809     pub fn AAudioStream_waitForStateChange(
17810         stream: *mut AAudioStream,
17811         inputState: aaudio_stream_state_t,
17812         nextState: *mut aaudio_stream_state_t,
17813         timeoutNanoseconds: i64,
17814     ) -> aaudio_result_t;
17815 }
17816 extern "C" {
AAudioStream_read( stream: *mut AAudioStream, buffer: *mut ::std::os::raw::c_void, numFrames: i32, timeoutNanoseconds: i64, ) -> aaudio_result_t17817     pub fn AAudioStream_read(
17818         stream: *mut AAudioStream,
17819         buffer: *mut ::std::os::raw::c_void,
17820         numFrames: i32,
17821         timeoutNanoseconds: i64,
17822     ) -> aaudio_result_t;
17823 }
17824 extern "C" {
AAudioStream_write( stream: *mut AAudioStream, buffer: *const ::std::os::raw::c_void, numFrames: i32, timeoutNanoseconds: i64, ) -> aaudio_result_t17825     pub fn AAudioStream_write(
17826         stream: *mut AAudioStream,
17827         buffer: *const ::std::os::raw::c_void,
17828         numFrames: i32,
17829         timeoutNanoseconds: i64,
17830     ) -> aaudio_result_t;
17831 }
17832 extern "C" {
AAudioStream_setBufferSizeInFrames( stream: *mut AAudioStream, numFrames: i32, ) -> aaudio_result_t17833     pub fn AAudioStream_setBufferSizeInFrames(
17834         stream: *mut AAudioStream,
17835         numFrames: i32,
17836     ) -> aaudio_result_t;
17837 }
17838 extern "C" {
AAudioStream_getBufferSizeInFrames(stream: *mut AAudioStream) -> i3217839     pub fn AAudioStream_getBufferSizeInFrames(stream: *mut AAudioStream) -> i32;
17840 }
17841 extern "C" {
AAudioStream_getFramesPerBurst(stream: *mut AAudioStream) -> i3217842     pub fn AAudioStream_getFramesPerBurst(stream: *mut AAudioStream) -> i32;
17843 }
17844 extern "C" {
AAudioStream_getBufferCapacityInFrames(stream: *mut AAudioStream) -> i3217845     pub fn AAudioStream_getBufferCapacityInFrames(stream: *mut AAudioStream) -> i32;
17846 }
17847 extern "C" {
AAudioStream_getFramesPerDataCallback(stream: *mut AAudioStream) -> i3217848     pub fn AAudioStream_getFramesPerDataCallback(stream: *mut AAudioStream) -> i32;
17849 }
17850 extern "C" {
AAudioStream_getXRunCount(stream: *mut AAudioStream) -> i3217851     pub fn AAudioStream_getXRunCount(stream: *mut AAudioStream) -> i32;
17852 }
17853 extern "C" {
AAudioStream_getSampleRate(stream: *mut AAudioStream) -> i3217854     pub fn AAudioStream_getSampleRate(stream: *mut AAudioStream) -> i32;
17855 }
17856 extern "C" {
AAudioStream_getChannelCount(stream: *mut AAudioStream) -> i3217857     pub fn AAudioStream_getChannelCount(stream: *mut AAudioStream) -> i32;
17858 }
17859 extern "C" {
AAudioStream_getSamplesPerFrame(stream: *mut AAudioStream) -> i3217860     pub fn AAudioStream_getSamplesPerFrame(stream: *mut AAudioStream) -> i32;
17861 }
17862 extern "C" {
AAudioStream_getDeviceId(stream: *mut AAudioStream) -> i3217863     pub fn AAudioStream_getDeviceId(stream: *mut AAudioStream) -> i32;
17864 }
17865 extern "C" {
AAudioStream_getFormat(stream: *mut AAudioStream) -> aaudio_format_t17866     pub fn AAudioStream_getFormat(stream: *mut AAudioStream) -> aaudio_format_t;
17867 }
17868 extern "C" {
AAudioStream_getSharingMode(stream: *mut AAudioStream) -> aaudio_sharing_mode_t17869     pub fn AAudioStream_getSharingMode(stream: *mut AAudioStream) -> aaudio_sharing_mode_t;
17870 }
17871 extern "C" {
AAudioStream_getPerformanceMode(stream: *mut AAudioStream) -> aaudio_performance_mode_t17872     pub fn AAudioStream_getPerformanceMode(stream: *mut AAudioStream) -> aaudio_performance_mode_t;
17873 }
17874 extern "C" {
AAudioStream_getDirection(stream: *mut AAudioStream) -> aaudio_direction_t17875     pub fn AAudioStream_getDirection(stream: *mut AAudioStream) -> aaudio_direction_t;
17876 }
17877 extern "C" {
AAudioStream_getFramesWritten(stream: *mut AAudioStream) -> i6417878     pub fn AAudioStream_getFramesWritten(stream: *mut AAudioStream) -> i64;
17879 }
17880 extern "C" {
AAudioStream_getFramesRead(stream: *mut AAudioStream) -> i6417881     pub fn AAudioStream_getFramesRead(stream: *mut AAudioStream) -> i64;
17882 }
17883 extern "C" {
AAudioStream_getSessionId(stream: *mut AAudioStream) -> aaudio_session_id_t17884     pub fn AAudioStream_getSessionId(stream: *mut AAudioStream) -> aaudio_session_id_t;
17885 }
17886 extern "C" {
AAudioStream_getTimestamp( stream: *mut AAudioStream, clockid: clockid_t, framePosition: *mut i64, timeNanoseconds: *mut i64, ) -> aaudio_result_t17887     pub fn AAudioStream_getTimestamp(
17888         stream: *mut AAudioStream,
17889         clockid: clockid_t,
17890         framePosition: *mut i64,
17891         timeNanoseconds: *mut i64,
17892     ) -> aaudio_result_t;
17893 }
17894 extern "C" {
AAudioStream_getUsage(stream: *mut AAudioStream) -> aaudio_usage_t17895     pub fn AAudioStream_getUsage(stream: *mut AAudioStream) -> aaudio_usage_t;
17896 }
17897 extern "C" {
AAudioStream_getContentType(stream: *mut AAudioStream) -> aaudio_content_type_t17898     pub fn AAudioStream_getContentType(stream: *mut AAudioStream) -> aaudio_content_type_t;
17899 }
17900 extern "C" {
AAudioStream_getInputPreset(stream: *mut AAudioStream) -> aaudio_input_preset_t17901     pub fn AAudioStream_getInputPreset(stream: *mut AAudioStream) -> aaudio_input_preset_t;
17902 }
17903 extern "C" {
AAudioStream_getAllowedCapturePolicy( stream: *mut AAudioStream, ) -> aaudio_allowed_capture_policy_t17904     pub fn AAudioStream_getAllowedCapturePolicy(
17905         stream: *mut AAudioStream,
17906     ) -> aaudio_allowed_capture_policy_t;
17907 }
17908 extern "C" {
AAudioStream_isPrivacySensitive(stream: *mut AAudioStream) -> bool17909     pub fn AAudioStream_isPrivacySensitive(stream: *mut AAudioStream) -> bool;
17910 }
17911 pub const camera_status_t_ACAMERA_OK: camera_status_t = 0;
17912 pub const camera_status_t_ACAMERA_ERROR_BASE: camera_status_t = -10000;
17913 pub const camera_status_t_ACAMERA_ERROR_UNKNOWN: camera_status_t = -10000;
17914 pub const camera_status_t_ACAMERA_ERROR_INVALID_PARAMETER: camera_status_t = -10001;
17915 pub const camera_status_t_ACAMERA_ERROR_CAMERA_DISCONNECTED: camera_status_t = -10002;
17916 pub const camera_status_t_ACAMERA_ERROR_NOT_ENOUGH_MEMORY: camera_status_t = -10003;
17917 pub const camera_status_t_ACAMERA_ERROR_METADATA_NOT_FOUND: camera_status_t = -10004;
17918 pub const camera_status_t_ACAMERA_ERROR_CAMERA_DEVICE: camera_status_t = -10005;
17919 pub const camera_status_t_ACAMERA_ERROR_CAMERA_SERVICE: camera_status_t = -10006;
17920 pub const camera_status_t_ACAMERA_ERROR_SESSION_CLOSED: camera_status_t = -10007;
17921 pub const camera_status_t_ACAMERA_ERROR_INVALID_OPERATION: camera_status_t = -10008;
17922 pub const camera_status_t_ACAMERA_ERROR_STREAM_CONFIGURE_FAIL: camera_status_t = -10009;
17923 pub const camera_status_t_ACAMERA_ERROR_CAMERA_IN_USE: camera_status_t = -10010;
17924 pub const camera_status_t_ACAMERA_ERROR_MAX_CAMERA_IN_USE: camera_status_t = -10011;
17925 pub const camera_status_t_ACAMERA_ERROR_CAMERA_DISABLED: camera_status_t = -10012;
17926 pub const camera_status_t_ACAMERA_ERROR_PERMISSION_DENIED: camera_status_t = -10013;
17927 pub const camera_status_t_ACAMERA_ERROR_UNSUPPORTED_OPERATION: camera_status_t = -10014;
17928 pub type camera_status_t = i32;
17929 pub const acamera_metadata_section_ACAMERA_COLOR_CORRECTION: acamera_metadata_section = 0;
17930 pub const acamera_metadata_section_ACAMERA_CONTROL: acamera_metadata_section = 1;
17931 pub const acamera_metadata_section_ACAMERA_DEMOSAIC: acamera_metadata_section = 2;
17932 pub const acamera_metadata_section_ACAMERA_EDGE: acamera_metadata_section = 3;
17933 pub const acamera_metadata_section_ACAMERA_FLASH: acamera_metadata_section = 4;
17934 pub const acamera_metadata_section_ACAMERA_FLASH_INFO: acamera_metadata_section = 5;
17935 pub const acamera_metadata_section_ACAMERA_HOT_PIXEL: acamera_metadata_section = 6;
17936 pub const acamera_metadata_section_ACAMERA_JPEG: acamera_metadata_section = 7;
17937 pub const acamera_metadata_section_ACAMERA_LENS: acamera_metadata_section = 8;
17938 pub const acamera_metadata_section_ACAMERA_LENS_INFO: acamera_metadata_section = 9;
17939 pub const acamera_metadata_section_ACAMERA_NOISE_REDUCTION: acamera_metadata_section = 10;
17940 pub const acamera_metadata_section_ACAMERA_QUIRKS: acamera_metadata_section = 11;
17941 pub const acamera_metadata_section_ACAMERA_REQUEST: acamera_metadata_section = 12;
17942 pub const acamera_metadata_section_ACAMERA_SCALER: acamera_metadata_section = 13;
17943 pub const acamera_metadata_section_ACAMERA_SENSOR: acamera_metadata_section = 14;
17944 pub const acamera_metadata_section_ACAMERA_SENSOR_INFO: acamera_metadata_section = 15;
17945 pub const acamera_metadata_section_ACAMERA_SHADING: acamera_metadata_section = 16;
17946 pub const acamera_metadata_section_ACAMERA_STATISTICS: acamera_metadata_section = 17;
17947 pub const acamera_metadata_section_ACAMERA_STATISTICS_INFO: acamera_metadata_section = 18;
17948 pub const acamera_metadata_section_ACAMERA_TONEMAP: acamera_metadata_section = 19;
17949 pub const acamera_metadata_section_ACAMERA_LED: acamera_metadata_section = 20;
17950 pub const acamera_metadata_section_ACAMERA_INFO: acamera_metadata_section = 21;
17951 pub const acamera_metadata_section_ACAMERA_BLACK_LEVEL: acamera_metadata_section = 22;
17952 pub const acamera_metadata_section_ACAMERA_SYNC: acamera_metadata_section = 23;
17953 pub const acamera_metadata_section_ACAMERA_REPROCESS: acamera_metadata_section = 24;
17954 pub const acamera_metadata_section_ACAMERA_DEPTH: acamera_metadata_section = 25;
17955 pub const acamera_metadata_section_ACAMERA_LOGICAL_MULTI_CAMERA: acamera_metadata_section = 26;
17956 pub const acamera_metadata_section_ACAMERA_DISTORTION_CORRECTION: acamera_metadata_section = 27;
17957 pub const acamera_metadata_section_ACAMERA_HEIC: acamera_metadata_section = 28;
17958 pub const acamera_metadata_section_ACAMERA_HEIC_INFO: acamera_metadata_section = 29;
17959 pub const acamera_metadata_section_ACAMERA_SECTION_COUNT: acamera_metadata_section = 30;
17960 pub const acamera_metadata_section_ACAMERA_VENDOR: acamera_metadata_section = 32768;
17961 pub type acamera_metadata_section = u32;
17962 pub use self::acamera_metadata_section as acamera_metadata_section_t;
17963 pub const acamera_metadata_section_start_ACAMERA_COLOR_CORRECTION_START:
17964     acamera_metadata_section_start = 0;
17965 pub const acamera_metadata_section_start_ACAMERA_CONTROL_START: acamera_metadata_section_start =
17966     65536;
17967 pub const acamera_metadata_section_start_ACAMERA_DEMOSAIC_START: acamera_metadata_section_start =
17968     131072;
17969 pub const acamera_metadata_section_start_ACAMERA_EDGE_START: acamera_metadata_section_start =
17970     196608;
17971 pub const acamera_metadata_section_start_ACAMERA_FLASH_START: acamera_metadata_section_start =
17972     262144;
17973 pub const acamera_metadata_section_start_ACAMERA_FLASH_INFO_START: acamera_metadata_section_start =
17974     327680;
17975 pub const acamera_metadata_section_start_ACAMERA_HOT_PIXEL_START: acamera_metadata_section_start =
17976     393216;
17977 pub const acamera_metadata_section_start_ACAMERA_JPEG_START: acamera_metadata_section_start =
17978     458752;
17979 pub const acamera_metadata_section_start_ACAMERA_LENS_START: acamera_metadata_section_start =
17980     524288;
17981 pub const acamera_metadata_section_start_ACAMERA_LENS_INFO_START: acamera_metadata_section_start =
17982     589824;
17983 pub const acamera_metadata_section_start_ACAMERA_NOISE_REDUCTION_START:
17984     acamera_metadata_section_start = 655360;
17985 pub const acamera_metadata_section_start_ACAMERA_QUIRKS_START: acamera_metadata_section_start =
17986     720896;
17987 pub const acamera_metadata_section_start_ACAMERA_REQUEST_START: acamera_metadata_section_start =
17988     786432;
17989 pub const acamera_metadata_section_start_ACAMERA_SCALER_START: acamera_metadata_section_start =
17990     851968;
17991 pub const acamera_metadata_section_start_ACAMERA_SENSOR_START: acamera_metadata_section_start =
17992     917504;
17993 pub const acamera_metadata_section_start_ACAMERA_SENSOR_INFO_START: acamera_metadata_section_start =
17994     983040;
17995 pub const acamera_metadata_section_start_ACAMERA_SHADING_START: acamera_metadata_section_start =
17996     1048576;
17997 pub const acamera_metadata_section_start_ACAMERA_STATISTICS_START: acamera_metadata_section_start =
17998     1114112;
17999 pub const acamera_metadata_section_start_ACAMERA_STATISTICS_INFO_START:
18000     acamera_metadata_section_start = 1179648;
18001 pub const acamera_metadata_section_start_ACAMERA_TONEMAP_START: acamera_metadata_section_start =
18002     1245184;
18003 pub const acamera_metadata_section_start_ACAMERA_LED_START: acamera_metadata_section_start =
18004     1310720;
18005 pub const acamera_metadata_section_start_ACAMERA_INFO_START: acamera_metadata_section_start =
18006     1376256;
18007 pub const acamera_metadata_section_start_ACAMERA_BLACK_LEVEL_START: acamera_metadata_section_start =
18008     1441792;
18009 pub const acamera_metadata_section_start_ACAMERA_SYNC_START: acamera_metadata_section_start =
18010     1507328;
18011 pub const acamera_metadata_section_start_ACAMERA_REPROCESS_START: acamera_metadata_section_start =
18012     1572864;
18013 pub const acamera_metadata_section_start_ACAMERA_DEPTH_START: acamera_metadata_section_start =
18014     1638400;
18015 pub const acamera_metadata_section_start_ACAMERA_LOGICAL_MULTI_CAMERA_START:
18016     acamera_metadata_section_start = 1703936;
18017 pub const acamera_metadata_section_start_ACAMERA_DISTORTION_CORRECTION_START:
18018     acamera_metadata_section_start = 1769472;
18019 pub const acamera_metadata_section_start_ACAMERA_HEIC_START: acamera_metadata_section_start =
18020     1835008;
18021 pub const acamera_metadata_section_start_ACAMERA_HEIC_INFO_START: acamera_metadata_section_start =
18022     1900544;
18023 pub const acamera_metadata_section_start_ACAMERA_VENDOR_START: acamera_metadata_section_start =
18024     -2147483648;
18025 pub type acamera_metadata_section_start = i32;
18026 pub use self::acamera_metadata_section_start as acamera_metadata_section_start_t;
18027 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_MODE: acamera_metadata_tag = 0;
18028 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_TRANSFORM: acamera_metadata_tag = 1;
18029 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_GAINS: acamera_metadata_tag = 2;
18030 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_ABERRATION_MODE: acamera_metadata_tag = 3;
18031 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES:
18032     acamera_metadata_tag = 4;
18033 pub const acamera_metadata_tag_ACAMERA_COLOR_CORRECTION_END: acamera_metadata_tag = 5;
18034 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_ANTIBANDING_MODE: acamera_metadata_tag = 65536;
18035 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION: acamera_metadata_tag =
18036     65537;
18037 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_LOCK: acamera_metadata_tag = 65538;
18038 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_MODE: acamera_metadata_tag = 65539;
18039 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_REGIONS: acamera_metadata_tag = 65540;
18040 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_TARGET_FPS_RANGE: acamera_metadata_tag = 65541;
18041 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER: acamera_metadata_tag = 65542;
18042 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_MODE: acamera_metadata_tag = 65543;
18043 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_REGIONS: acamera_metadata_tag = 65544;
18044 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_TRIGGER: acamera_metadata_tag = 65545;
18045 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_LOCK: acamera_metadata_tag = 65546;
18046 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_MODE: acamera_metadata_tag = 65547;
18047 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_REGIONS: acamera_metadata_tag = 65548;
18048 pub const acamera_metadata_tag_ACAMERA_CONTROL_CAPTURE_INTENT: acamera_metadata_tag = 65549;
18049 pub const acamera_metadata_tag_ACAMERA_CONTROL_EFFECT_MODE: acamera_metadata_tag = 65550;
18050 pub const acamera_metadata_tag_ACAMERA_CONTROL_MODE: acamera_metadata_tag = 65551;
18051 pub const acamera_metadata_tag_ACAMERA_CONTROL_SCENE_MODE: acamera_metadata_tag = 65552;
18052 pub const acamera_metadata_tag_ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE: acamera_metadata_tag =
18053     65553;
18054 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES:
18055     acamera_metadata_tag = 65554;
18056 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_AVAILABLE_MODES: acamera_metadata_tag = 65555;
18057 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES:
18058     acamera_metadata_tag = 65556;
18059 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_COMPENSATION_RANGE: acamera_metadata_tag = 65557;
18060 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_COMPENSATION_STEP: acamera_metadata_tag = 65558;
18061 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_AVAILABLE_MODES: acamera_metadata_tag = 65559;
18062 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_EFFECTS: acamera_metadata_tag = 65560;
18063 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_SCENE_MODES: acamera_metadata_tag = 65561;
18064 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES:
18065     acamera_metadata_tag = 65562;
18066 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_AVAILABLE_MODES: acamera_metadata_tag = 65563;
18067 pub const acamera_metadata_tag_ACAMERA_CONTROL_MAX_REGIONS: acamera_metadata_tag = 65564;
18068 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_STATE: acamera_metadata_tag = 65567;
18069 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_STATE: acamera_metadata_tag = 65568;
18070 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_STATE: acamera_metadata_tag = 65570;
18071 pub const acamera_metadata_tag_ACAMERA_CONTROL_AE_LOCK_AVAILABLE: acamera_metadata_tag = 65572;
18072 pub const acamera_metadata_tag_ACAMERA_CONTROL_AWB_LOCK_AVAILABLE: acamera_metadata_tag = 65573;
18073 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_MODES: acamera_metadata_tag = 65574;
18074 pub const acamera_metadata_tag_ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE:
18075     acamera_metadata_tag = 65575;
18076 pub const acamera_metadata_tag_ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST: acamera_metadata_tag =
18077     65576;
18078 pub const acamera_metadata_tag_ACAMERA_CONTROL_ENABLE_ZSL: acamera_metadata_tag = 65577;
18079 pub const acamera_metadata_tag_ACAMERA_CONTROL_AF_SCENE_CHANGE: acamera_metadata_tag = 65578;
18080 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_BOKEH_MAX_SIZES: acamera_metadata_tag =
18081     65579;
18082 pub const acamera_metadata_tag_ACAMERA_CONTROL_AVAILABLE_BOKEH_ZOOM_RATIO_RANGES:
18083     acamera_metadata_tag = 65580;
18084 pub const acamera_metadata_tag_ACAMERA_CONTROL_BOKEH_MODE: acamera_metadata_tag = 65581;
18085 pub const acamera_metadata_tag_ACAMERA_CONTROL_ZOOM_RATIO_RANGE: acamera_metadata_tag = 65582;
18086 pub const acamera_metadata_tag_ACAMERA_CONTROL_ZOOM_RATIO: acamera_metadata_tag = 65583;
18087 pub const acamera_metadata_tag_ACAMERA_CONTROL_END: acamera_metadata_tag = 65584;
18088 pub const acamera_metadata_tag_ACAMERA_EDGE_MODE: acamera_metadata_tag = 196608;
18089 pub const acamera_metadata_tag_ACAMERA_EDGE_AVAILABLE_EDGE_MODES: acamera_metadata_tag = 196610;
18090 pub const acamera_metadata_tag_ACAMERA_EDGE_END: acamera_metadata_tag = 196611;
18091 pub const acamera_metadata_tag_ACAMERA_FLASH_MODE: acamera_metadata_tag = 262146;
18092 pub const acamera_metadata_tag_ACAMERA_FLASH_STATE: acamera_metadata_tag = 262149;
18093 pub const acamera_metadata_tag_ACAMERA_FLASH_END: acamera_metadata_tag = 262150;
18094 pub const acamera_metadata_tag_ACAMERA_FLASH_INFO_AVAILABLE: acamera_metadata_tag = 327680;
18095 pub const acamera_metadata_tag_ACAMERA_FLASH_INFO_END: acamera_metadata_tag = 327681;
18096 pub const acamera_metadata_tag_ACAMERA_HOT_PIXEL_MODE: acamera_metadata_tag = 393216;
18097 pub const acamera_metadata_tag_ACAMERA_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: acamera_metadata_tag =
18098     393217;
18099 pub const acamera_metadata_tag_ACAMERA_HOT_PIXEL_END: acamera_metadata_tag = 393218;
18100 pub const acamera_metadata_tag_ACAMERA_JPEG_GPS_COORDINATES: acamera_metadata_tag = 458752;
18101 pub const acamera_metadata_tag_ACAMERA_JPEG_GPS_PROCESSING_METHOD: acamera_metadata_tag = 458753;
18102 pub const acamera_metadata_tag_ACAMERA_JPEG_GPS_TIMESTAMP: acamera_metadata_tag = 458754;
18103 pub const acamera_metadata_tag_ACAMERA_JPEG_ORIENTATION: acamera_metadata_tag = 458755;
18104 pub const acamera_metadata_tag_ACAMERA_JPEG_QUALITY: acamera_metadata_tag = 458756;
18105 pub const acamera_metadata_tag_ACAMERA_JPEG_THUMBNAIL_QUALITY: acamera_metadata_tag = 458757;
18106 pub const acamera_metadata_tag_ACAMERA_JPEG_THUMBNAIL_SIZE: acamera_metadata_tag = 458758;
18107 pub const acamera_metadata_tag_ACAMERA_JPEG_AVAILABLE_THUMBNAIL_SIZES: acamera_metadata_tag =
18108     458759;
18109 pub const acamera_metadata_tag_ACAMERA_JPEG_END: acamera_metadata_tag = 458760;
18110 pub const acamera_metadata_tag_ACAMERA_LENS_APERTURE: acamera_metadata_tag = 524288;
18111 pub const acamera_metadata_tag_ACAMERA_LENS_FILTER_DENSITY: acamera_metadata_tag = 524289;
18112 pub const acamera_metadata_tag_ACAMERA_LENS_FOCAL_LENGTH: acamera_metadata_tag = 524290;
18113 pub const acamera_metadata_tag_ACAMERA_LENS_FOCUS_DISTANCE: acamera_metadata_tag = 524291;
18114 pub const acamera_metadata_tag_ACAMERA_LENS_OPTICAL_STABILIZATION_MODE: acamera_metadata_tag =
18115     524292;
18116 pub const acamera_metadata_tag_ACAMERA_LENS_FACING: acamera_metadata_tag = 524293;
18117 pub const acamera_metadata_tag_ACAMERA_LENS_POSE_ROTATION: acamera_metadata_tag = 524294;
18118 pub const acamera_metadata_tag_ACAMERA_LENS_POSE_TRANSLATION: acamera_metadata_tag = 524295;
18119 pub const acamera_metadata_tag_ACAMERA_LENS_FOCUS_RANGE: acamera_metadata_tag = 524296;
18120 pub const acamera_metadata_tag_ACAMERA_LENS_STATE: acamera_metadata_tag = 524297;
18121 pub const acamera_metadata_tag_ACAMERA_LENS_INTRINSIC_CALIBRATION: acamera_metadata_tag = 524298;
18122 pub const acamera_metadata_tag_ACAMERA_LENS_RADIAL_DISTORTION: acamera_metadata_tag = 524299;
18123 pub const acamera_metadata_tag_ACAMERA_LENS_POSE_REFERENCE: acamera_metadata_tag = 524300;
18124 pub const acamera_metadata_tag_ACAMERA_LENS_DISTORTION: acamera_metadata_tag = 524301;
18125 pub const acamera_metadata_tag_ACAMERA_LENS_END: acamera_metadata_tag = 524302;
18126 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_APERTURES: acamera_metadata_tag = 589824;
18127 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES: acamera_metadata_tag =
18128     589825;
18129 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: acamera_metadata_tag =
18130     589826;
18131 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION:
18132     acamera_metadata_tag = 589827;
18133 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE: acamera_metadata_tag = 589828;
18134 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE: acamera_metadata_tag =
18135     589829;
18136 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_SHADING_MAP_SIZE: acamera_metadata_tag = 589830;
18137 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: acamera_metadata_tag =
18138     589831;
18139 pub const acamera_metadata_tag_ACAMERA_LENS_INFO_END: acamera_metadata_tag = 589832;
18140 pub const acamera_metadata_tag_ACAMERA_NOISE_REDUCTION_MODE: acamera_metadata_tag = 655360;
18141 pub const acamera_metadata_tag_ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES:
18142     acamera_metadata_tag = 655362;
18143 pub const acamera_metadata_tag_ACAMERA_NOISE_REDUCTION_END: acamera_metadata_tag = 655363;
18144 pub const acamera_metadata_tag_ACAMERA_REQUEST_MAX_NUM_OUTPUT_STREAMS: acamera_metadata_tag =
18145     786438;
18146 pub const acamera_metadata_tag_ACAMERA_REQUEST_PIPELINE_DEPTH: acamera_metadata_tag = 786441;
18147 pub const acamera_metadata_tag_ACAMERA_REQUEST_PIPELINE_MAX_DEPTH: acamera_metadata_tag = 786442;
18148 pub const acamera_metadata_tag_ACAMERA_REQUEST_PARTIAL_RESULT_COUNT: acamera_metadata_tag = 786443;
18149 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES: acamera_metadata_tag =
18150     786444;
18151 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS: acamera_metadata_tag =
18152     786445;
18153 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS: acamera_metadata_tag = 786446;
18154 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS:
18155     acamera_metadata_tag = 786447;
18156 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS: acamera_metadata_tag =
18157     786448;
18158 pub const acamera_metadata_tag_ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS:
18159     acamera_metadata_tag = 786449;
18160 pub const acamera_metadata_tag_ACAMERA_REQUEST_END: acamera_metadata_tag = 786450;
18161 pub const acamera_metadata_tag_ACAMERA_SCALER_CROP_REGION: acamera_metadata_tag = 851968;
18162 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: acamera_metadata_tag =
18163     851972;
18164 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS:
18165     acamera_metadata_tag = 851978;
18166 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: acamera_metadata_tag =
18167     851979;
18168 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS: acamera_metadata_tag =
18169     851980;
18170 pub const acamera_metadata_tag_ACAMERA_SCALER_CROPPING_TYPE: acamera_metadata_tag = 851981;
18171 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS:
18172     acamera_metadata_tag = 851982;
18173 pub const acamera_metadata_tag_ACAMERA_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP:
18174     acamera_metadata_tag = 851983;
18175 pub const acamera_metadata_tag_ACAMERA_SCALER_END: acamera_metadata_tag = 851984;
18176 pub const acamera_metadata_tag_ACAMERA_SENSOR_EXPOSURE_TIME: acamera_metadata_tag = 917504;
18177 pub const acamera_metadata_tag_ACAMERA_SENSOR_FRAME_DURATION: acamera_metadata_tag = 917505;
18178 pub const acamera_metadata_tag_ACAMERA_SENSOR_SENSITIVITY: acamera_metadata_tag = 917506;
18179 pub const acamera_metadata_tag_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1: acamera_metadata_tag = 917507;
18180 pub const acamera_metadata_tag_ACAMERA_SENSOR_REFERENCE_ILLUMINANT2: acamera_metadata_tag = 917508;
18181 pub const acamera_metadata_tag_ACAMERA_SENSOR_CALIBRATION_TRANSFORM1: acamera_metadata_tag = 917509;
18182 pub const acamera_metadata_tag_ACAMERA_SENSOR_CALIBRATION_TRANSFORM2: acamera_metadata_tag = 917510;
18183 pub const acamera_metadata_tag_ACAMERA_SENSOR_COLOR_TRANSFORM1: acamera_metadata_tag = 917511;
18184 pub const acamera_metadata_tag_ACAMERA_SENSOR_COLOR_TRANSFORM2: acamera_metadata_tag = 917512;
18185 pub const acamera_metadata_tag_ACAMERA_SENSOR_FORWARD_MATRIX1: acamera_metadata_tag = 917513;
18186 pub const acamera_metadata_tag_ACAMERA_SENSOR_FORWARD_MATRIX2: acamera_metadata_tag = 917514;
18187 pub const acamera_metadata_tag_ACAMERA_SENSOR_BLACK_LEVEL_PATTERN: acamera_metadata_tag = 917516;
18188 pub const acamera_metadata_tag_ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY: acamera_metadata_tag = 917517;
18189 pub const acamera_metadata_tag_ACAMERA_SENSOR_ORIENTATION: acamera_metadata_tag = 917518;
18190 pub const acamera_metadata_tag_ACAMERA_SENSOR_TIMESTAMP: acamera_metadata_tag = 917520;
18191 pub const acamera_metadata_tag_ACAMERA_SENSOR_NEUTRAL_COLOR_POINT: acamera_metadata_tag = 917522;
18192 pub const acamera_metadata_tag_ACAMERA_SENSOR_NOISE_PROFILE: acamera_metadata_tag = 917523;
18193 pub const acamera_metadata_tag_ACAMERA_SENSOR_GREEN_SPLIT: acamera_metadata_tag = 917526;
18194 pub const acamera_metadata_tag_ACAMERA_SENSOR_TEST_PATTERN_DATA: acamera_metadata_tag = 917527;
18195 pub const acamera_metadata_tag_ACAMERA_SENSOR_TEST_PATTERN_MODE: acamera_metadata_tag = 917528;
18196 pub const acamera_metadata_tag_ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES: acamera_metadata_tag =
18197     917529;
18198 pub const acamera_metadata_tag_ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW: acamera_metadata_tag = 917530;
18199 pub const acamera_metadata_tag_ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS: acamera_metadata_tag = 917531;
18200 pub const acamera_metadata_tag_ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL: acamera_metadata_tag = 917532;
18201 pub const acamera_metadata_tag_ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL: acamera_metadata_tag = 917533;
18202 pub const acamera_metadata_tag_ACAMERA_SENSOR_END: acamera_metadata_tag = 917534;
18203 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE: acamera_metadata_tag = 983040;
18204 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE: acamera_metadata_tag = 983041;
18205 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: acamera_metadata_tag =
18206     983042;
18207 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE: acamera_metadata_tag =
18208     983043;
18209 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION: acamera_metadata_tag =
18210     983044;
18211 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PHYSICAL_SIZE: acamera_metadata_tag = 983045;
18212 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE: acamera_metadata_tag = 983046;
18213 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_WHITE_LEVEL: acamera_metadata_tag = 983047;
18214 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE: acamera_metadata_tag = 983048;
18215 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED: acamera_metadata_tag =
18216     983049;
18217 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE:
18218     acamera_metadata_tag = 983050;
18219 pub const acamera_metadata_tag_ACAMERA_SENSOR_INFO_END: acamera_metadata_tag = 983051;
18220 pub const acamera_metadata_tag_ACAMERA_SHADING_MODE: acamera_metadata_tag = 1048576;
18221 pub const acamera_metadata_tag_ACAMERA_SHADING_AVAILABLE_MODES: acamera_metadata_tag = 1048578;
18222 pub const acamera_metadata_tag_ACAMERA_SHADING_END: acamera_metadata_tag = 1048579;
18223 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_DETECT_MODE: acamera_metadata_tag = 1114112;
18224 pub const acamera_metadata_tag_ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE: acamera_metadata_tag =
18225     1114115;
18226 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_IDS: acamera_metadata_tag = 1114116;
18227 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_LANDMARKS: acamera_metadata_tag = 1114117;
18228 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_RECTANGLES: acamera_metadata_tag = 1114118;
18229 pub const acamera_metadata_tag_ACAMERA_STATISTICS_FACE_SCORES: acamera_metadata_tag = 1114119;
18230 pub const acamera_metadata_tag_ACAMERA_STATISTICS_LENS_SHADING_MAP: acamera_metadata_tag = 1114123;
18231 pub const acamera_metadata_tag_ACAMERA_STATISTICS_SCENE_FLICKER: acamera_metadata_tag = 1114126;
18232 pub const acamera_metadata_tag_ACAMERA_STATISTICS_HOT_PIXEL_MAP: acamera_metadata_tag = 1114127;
18233 pub const acamera_metadata_tag_ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE: acamera_metadata_tag =
18234     1114128;
18235 pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_DATA_MODE: acamera_metadata_tag = 1114129;
18236 pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_TIMESTAMPS: acamera_metadata_tag = 1114130;
18237 pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_X_SHIFTS: acamera_metadata_tag = 1114131;
18238 pub const acamera_metadata_tag_ACAMERA_STATISTICS_OIS_Y_SHIFTS: acamera_metadata_tag = 1114132;
18239 pub const acamera_metadata_tag_ACAMERA_STATISTICS_END: acamera_metadata_tag = 1114133;
18240 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES:
18241     acamera_metadata_tag = 1179648;
18242 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_MAX_FACE_COUNT: acamera_metadata_tag =
18243     1179650;
18244 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES:
18245     acamera_metadata_tag = 1179654;
18246 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES:
18247     acamera_metadata_tag = 1179655;
18248 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES:
18249     acamera_metadata_tag = 1179656;
18250 pub const acamera_metadata_tag_ACAMERA_STATISTICS_INFO_END: acamera_metadata_tag = 1179657;
18251 pub const acamera_metadata_tag_ACAMERA_TONEMAP_CURVE_BLUE: acamera_metadata_tag = 1245184;
18252 pub const acamera_metadata_tag_ACAMERA_TONEMAP_CURVE_GREEN: acamera_metadata_tag = 1245185;
18253 pub const acamera_metadata_tag_ACAMERA_TONEMAP_CURVE_RED: acamera_metadata_tag = 1245186;
18254 pub const acamera_metadata_tag_ACAMERA_TONEMAP_MODE: acamera_metadata_tag = 1245187;
18255 pub const acamera_metadata_tag_ACAMERA_TONEMAP_MAX_CURVE_POINTS: acamera_metadata_tag = 1245188;
18256 pub const acamera_metadata_tag_ACAMERA_TONEMAP_AVAILABLE_TONE_MAP_MODES: acamera_metadata_tag =
18257     1245189;
18258 pub const acamera_metadata_tag_ACAMERA_TONEMAP_GAMMA: acamera_metadata_tag = 1245190;
18259 pub const acamera_metadata_tag_ACAMERA_TONEMAP_PRESET_CURVE: acamera_metadata_tag = 1245191;
18260 pub const acamera_metadata_tag_ACAMERA_TONEMAP_END: acamera_metadata_tag = 1245192;
18261 pub const acamera_metadata_tag_ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL: acamera_metadata_tag =
18262     1376256;
18263 pub const acamera_metadata_tag_ACAMERA_INFO_VERSION: acamera_metadata_tag = 1376257;
18264 pub const acamera_metadata_tag_ACAMERA_INFO_END: acamera_metadata_tag = 1376258;
18265 pub const acamera_metadata_tag_ACAMERA_BLACK_LEVEL_LOCK: acamera_metadata_tag = 1441792;
18266 pub const acamera_metadata_tag_ACAMERA_BLACK_LEVEL_END: acamera_metadata_tag = 1441793;
18267 pub const acamera_metadata_tag_ACAMERA_SYNC_FRAME_NUMBER: acamera_metadata_tag = 1507328;
18268 pub const acamera_metadata_tag_ACAMERA_SYNC_MAX_LATENCY: acamera_metadata_tag = 1507329;
18269 pub const acamera_metadata_tag_ACAMERA_SYNC_END: acamera_metadata_tag = 1507330;
18270 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS:
18271     acamera_metadata_tag = 1638401;
18272 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS:
18273     acamera_metadata_tag = 1638402;
18274 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
18275     1638403;
18276 pub const acamera_metadata_tag_ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE: acamera_metadata_tag = 1638404;
18277 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS:
18278     acamera_metadata_tag = 1638405;
18279 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS:
18280     acamera_metadata_tag = 1638406;
18281 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS:
18282     acamera_metadata_tag = 1638407;
18283 pub const acamera_metadata_tag_ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS:
18284     acamera_metadata_tag = 1638408;
18285 pub const acamera_metadata_tag_ACAMERA_DEPTH_END: acamera_metadata_tag = 1638409;
18286 pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS: acamera_metadata_tag =
18287     1703936;
18288 pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: acamera_metadata_tag =
18289     1703937;
18290 pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID:
18291     acamera_metadata_tag = 1703938;
18292 pub const acamera_metadata_tag_ACAMERA_LOGICAL_MULTI_CAMERA_END: acamera_metadata_tag = 1703939;
18293 pub const acamera_metadata_tag_ACAMERA_DISTORTION_CORRECTION_MODE: acamera_metadata_tag = 1769472;
18294 pub const acamera_metadata_tag_ACAMERA_DISTORTION_CORRECTION_AVAILABLE_MODES: acamera_metadata_tag =
18295     1769473;
18296 pub const acamera_metadata_tag_ACAMERA_DISTORTION_CORRECTION_END: acamera_metadata_tag = 1769474;
18297 pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS:
18298     acamera_metadata_tag = 1835008;
18299 pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS:
18300     acamera_metadata_tag = 1835009;
18301 pub const acamera_metadata_tag_ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS: acamera_metadata_tag =
18302     1835010;
18303 pub const acamera_metadata_tag_ACAMERA_HEIC_END: acamera_metadata_tag = 1835011;
18304 pub type acamera_metadata_tag = u32;
18305 pub use self::acamera_metadata_tag as acamera_metadata_tag_t;
18306 pub const acamera_metadata_enum_acamera_color_correction_mode_ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX : acamera_metadata_enum_acamera_color_correction_mode = 0 ;
18307 pub const acamera_metadata_enum_acamera_color_correction_mode_ACAMERA_COLOR_CORRECTION_MODE_FAST:
18308     acamera_metadata_enum_acamera_color_correction_mode = 1;
18309 pub const acamera_metadata_enum_acamera_color_correction_mode_ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_color_correction_mode = 2 ;
18310 pub type acamera_metadata_enum_acamera_color_correction_mode = u32;
18311 pub use self::acamera_metadata_enum_acamera_color_correction_mode as acamera_metadata_enum_android_color_correction_mode_t;
18312 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 ;
18313 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 ;
18314 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 ;
18315 pub type acamera_metadata_enum_acamera_color_correction_aberration_mode = u32;
18316 pub use self::acamera_metadata_enum_acamera_color_correction_aberration_mode as acamera_metadata_enum_android_color_correction_aberration_mode_t;
18317 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 ;
18318 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 ;
18319 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 ;
18320 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 ;
18321 pub type acamera_metadata_enum_acamera_control_ae_antibanding_mode = u32;
18322 pub use self::acamera_metadata_enum_acamera_control_ae_antibanding_mode as acamera_metadata_enum_android_control_ae_antibanding_mode_t;
18323 pub const acamera_metadata_enum_acamera_control_ae_lock_ACAMERA_CONTROL_AE_LOCK_OFF:
18324     acamera_metadata_enum_acamera_control_ae_lock = 0;
18325 pub const acamera_metadata_enum_acamera_control_ae_lock_ACAMERA_CONTROL_AE_LOCK_ON:
18326     acamera_metadata_enum_acamera_control_ae_lock = 1;
18327 pub type acamera_metadata_enum_acamera_control_ae_lock = u32;
18328 pub use self::acamera_metadata_enum_acamera_control_ae_lock as acamera_metadata_enum_android_control_ae_lock_t;
18329 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_OFF:
18330     acamera_metadata_enum_acamera_control_ae_mode = 0;
18331 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON:
18332     acamera_metadata_enum_acamera_control_ae_mode = 1;
18333 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH:
18334     acamera_metadata_enum_acamera_control_ae_mode = 2;
18335 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
18336     acamera_metadata_enum_acamera_control_ae_mode = 3;
18337 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 ;
18338 pub const acamera_metadata_enum_acamera_control_ae_mode_ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH : acamera_metadata_enum_acamera_control_ae_mode = 5 ;
18339 pub type acamera_metadata_enum_acamera_control_ae_mode = u32;
18340 pub use self::acamera_metadata_enum_acamera_control_ae_mode as acamera_metadata_enum_android_control_ae_mode_t;
18341 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 ;
18342 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 ;
18343 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 ;
18344 pub type acamera_metadata_enum_acamera_control_ae_precapture_trigger = u32;
18345 pub use self::acamera_metadata_enum_acamera_control_ae_precapture_trigger as acamera_metadata_enum_android_control_ae_precapture_trigger_t;
18346 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_OFF:
18347     acamera_metadata_enum_acamera_control_af_mode = 0;
18348 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_AUTO:
18349     acamera_metadata_enum_acamera_control_af_mode = 1;
18350 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_MACRO:
18351     acamera_metadata_enum_acamera_control_af_mode = 2;
18352 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
18353     acamera_metadata_enum_acamera_control_af_mode = 3;
18354 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE : acamera_metadata_enum_acamera_control_af_mode = 4 ;
18355 pub const acamera_metadata_enum_acamera_control_af_mode_ACAMERA_CONTROL_AF_MODE_EDOF:
18356     acamera_metadata_enum_acamera_control_af_mode = 5;
18357 pub type acamera_metadata_enum_acamera_control_af_mode = u32;
18358 pub use self::acamera_metadata_enum_acamera_control_af_mode as acamera_metadata_enum_android_control_af_mode_t;
18359 pub const acamera_metadata_enum_acamera_control_af_trigger_ACAMERA_CONTROL_AF_TRIGGER_IDLE:
18360     acamera_metadata_enum_acamera_control_af_trigger = 0;
18361 pub const acamera_metadata_enum_acamera_control_af_trigger_ACAMERA_CONTROL_AF_TRIGGER_START:
18362     acamera_metadata_enum_acamera_control_af_trigger = 1;
18363 pub const acamera_metadata_enum_acamera_control_af_trigger_ACAMERA_CONTROL_AF_TRIGGER_CANCEL:
18364     acamera_metadata_enum_acamera_control_af_trigger = 2;
18365 pub type acamera_metadata_enum_acamera_control_af_trigger = u32;
18366 pub use self::acamera_metadata_enum_acamera_control_af_trigger as acamera_metadata_enum_android_control_af_trigger_t;
18367 pub const acamera_metadata_enum_acamera_control_awb_lock_ACAMERA_CONTROL_AWB_LOCK_OFF:
18368     acamera_metadata_enum_acamera_control_awb_lock = 0;
18369 pub const acamera_metadata_enum_acamera_control_awb_lock_ACAMERA_CONTROL_AWB_LOCK_ON:
18370     acamera_metadata_enum_acamera_control_awb_lock = 1;
18371 pub type acamera_metadata_enum_acamera_control_awb_lock = u32;
18372 pub use self::acamera_metadata_enum_acamera_control_awb_lock as acamera_metadata_enum_android_control_awb_lock_t;
18373 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_OFF:
18374     acamera_metadata_enum_acamera_control_awb_mode = 0;
18375 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_AUTO:
18376     acamera_metadata_enum_acamera_control_awb_mode = 1;
18377 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_INCANDESCENT:
18378     acamera_metadata_enum_acamera_control_awb_mode = 2;
18379 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_FLUORESCENT:
18380     acamera_metadata_enum_acamera_control_awb_mode = 3;
18381 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT : acamera_metadata_enum_acamera_control_awb_mode = 4 ;
18382 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_DAYLIGHT:
18383     acamera_metadata_enum_acamera_control_awb_mode = 5;
18384 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT : acamera_metadata_enum_acamera_control_awb_mode = 6 ;
18385 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_TWILIGHT:
18386     acamera_metadata_enum_acamera_control_awb_mode = 7;
18387 pub const acamera_metadata_enum_acamera_control_awb_mode_ACAMERA_CONTROL_AWB_MODE_SHADE:
18388     acamera_metadata_enum_acamera_control_awb_mode = 8;
18389 pub type acamera_metadata_enum_acamera_control_awb_mode = u32;
18390 pub use self::acamera_metadata_enum_acamera_control_awb_mode as acamera_metadata_enum_android_control_awb_mode_t;
18391 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM : acamera_metadata_enum_acamera_control_capture_intent = 0 ;
18392 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW : acamera_metadata_enum_acamera_control_capture_intent = 1 ;
18393 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE : acamera_metadata_enum_acamera_control_capture_intent = 2 ;
18394 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD : acamera_metadata_enum_acamera_control_capture_intent = 3 ;
18395 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT : acamera_metadata_enum_acamera_control_capture_intent = 4 ;
18396 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG : acamera_metadata_enum_acamera_control_capture_intent = 5 ;
18397 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL : acamera_metadata_enum_acamera_control_capture_intent = 6 ;
18398 pub const acamera_metadata_enum_acamera_control_capture_intent_ACAMERA_CONTROL_CAPTURE_INTENT_MOTION_TRACKING : acamera_metadata_enum_acamera_control_capture_intent = 7 ;
18399 pub type acamera_metadata_enum_acamera_control_capture_intent = u32;
18400 pub use self::acamera_metadata_enum_acamera_control_capture_intent as acamera_metadata_enum_android_control_capture_intent_t;
18401 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_OFF:
18402     acamera_metadata_enum_acamera_control_effect_mode = 0;
18403 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_MONO:
18404     acamera_metadata_enum_acamera_control_effect_mode = 1;
18405 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE:
18406     acamera_metadata_enum_acamera_control_effect_mode = 2;
18407 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE:
18408     acamera_metadata_enum_acamera_control_effect_mode = 3;
18409 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_SEPIA:
18410     acamera_metadata_enum_acamera_control_effect_mode = 4;
18411 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE : acamera_metadata_enum_acamera_control_effect_mode = 5 ;
18412 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD : acamera_metadata_enum_acamera_control_effect_mode = 6 ;
18413 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD : acamera_metadata_enum_acamera_control_effect_mode = 7 ;
18414 pub const acamera_metadata_enum_acamera_control_effect_mode_ACAMERA_CONTROL_EFFECT_MODE_AQUA:
18415     acamera_metadata_enum_acamera_control_effect_mode = 8;
18416 pub type acamera_metadata_enum_acamera_control_effect_mode = u32;
18417 pub use self::acamera_metadata_enum_acamera_control_effect_mode as acamera_metadata_enum_android_control_effect_mode_t;
18418 pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_OFF:
18419     acamera_metadata_enum_acamera_control_mode = 0;
18420 pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_AUTO:
18421     acamera_metadata_enum_acamera_control_mode = 1;
18422 pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_USE_SCENE_MODE:
18423     acamera_metadata_enum_acamera_control_mode = 2;
18424 pub const acamera_metadata_enum_acamera_control_mode_ACAMERA_CONTROL_MODE_OFF_KEEP_STATE:
18425     acamera_metadata_enum_acamera_control_mode = 3;
18426 pub type acamera_metadata_enum_acamera_control_mode = u32;
18427 pub use self::acamera_metadata_enum_acamera_control_mode as acamera_metadata_enum_android_control_mode_t;
18428 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_DISABLED:
18429     acamera_metadata_enum_acamera_control_scene_mode = 0;
18430 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY : acamera_metadata_enum_acamera_control_scene_mode = 1 ;
18431 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_ACTION:
18432     acamera_metadata_enum_acamera_control_scene_mode = 2;
18433 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_PORTRAIT:
18434     acamera_metadata_enum_acamera_control_scene_mode = 3;
18435 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE:
18436     acamera_metadata_enum_acamera_control_scene_mode = 4;
18437 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_NIGHT:
18438     acamera_metadata_enum_acamera_control_scene_mode = 5;
18439 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT : acamera_metadata_enum_acamera_control_scene_mode = 6 ;
18440 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_THEATRE:
18441     acamera_metadata_enum_acamera_control_scene_mode = 7;
18442 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_BEACH:
18443     acamera_metadata_enum_acamera_control_scene_mode = 8;
18444 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_SNOW:
18445     acamera_metadata_enum_acamera_control_scene_mode = 9;
18446 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_SUNSET:
18447     acamera_metadata_enum_acamera_control_scene_mode = 10;
18448 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO : acamera_metadata_enum_acamera_control_scene_mode = 11 ;
18449 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_FIREWORKS:
18450     acamera_metadata_enum_acamera_control_scene_mode = 12;
18451 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_SPORTS:
18452     acamera_metadata_enum_acamera_control_scene_mode = 13;
18453 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_PARTY:
18454     acamera_metadata_enum_acamera_control_scene_mode = 14;
18455 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT : acamera_metadata_enum_acamera_control_scene_mode = 15 ;
18456 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_BARCODE:
18457     acamera_metadata_enum_acamera_control_scene_mode = 16;
18458 pub const acamera_metadata_enum_acamera_control_scene_mode_ACAMERA_CONTROL_SCENE_MODE_HDR:
18459     acamera_metadata_enum_acamera_control_scene_mode = 18;
18460 pub type acamera_metadata_enum_acamera_control_scene_mode = u32;
18461 pub use self::acamera_metadata_enum_acamera_control_scene_mode as acamera_metadata_enum_android_control_scene_mode_t;
18462 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 ;
18463 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 ;
18464 pub type acamera_metadata_enum_acamera_control_video_stabilization_mode = u32;
18465 pub use self::acamera_metadata_enum_acamera_control_video_stabilization_mode as acamera_metadata_enum_android_control_video_stabilization_mode_t;
18466 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_INACTIVE:
18467     acamera_metadata_enum_acamera_control_ae_state = 0;
18468 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_SEARCHING:
18469     acamera_metadata_enum_acamera_control_ae_state = 1;
18470 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_CONVERGED:
18471     acamera_metadata_enum_acamera_control_ae_state = 2;
18472 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_LOCKED:
18473     acamera_metadata_enum_acamera_control_ae_state = 3;
18474 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED:
18475     acamera_metadata_enum_acamera_control_ae_state = 4;
18476 pub const acamera_metadata_enum_acamera_control_ae_state_ACAMERA_CONTROL_AE_STATE_PRECAPTURE:
18477     acamera_metadata_enum_acamera_control_ae_state = 5;
18478 pub type acamera_metadata_enum_acamera_control_ae_state = u32;
18479 pub use self::acamera_metadata_enum_acamera_control_ae_state as acamera_metadata_enum_android_control_ae_state_t;
18480 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_INACTIVE:
18481     acamera_metadata_enum_acamera_control_af_state = 0;
18482 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN:
18483     acamera_metadata_enum_acamera_control_af_state = 1;
18484 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED : acamera_metadata_enum_acamera_control_af_state = 2 ;
18485 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN:
18486     acamera_metadata_enum_acamera_control_af_state = 3;
18487 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED:
18488     acamera_metadata_enum_acamera_control_af_state = 4;
18489 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED : acamera_metadata_enum_acamera_control_af_state = 5 ;
18490 pub const acamera_metadata_enum_acamera_control_af_state_ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED : acamera_metadata_enum_acamera_control_af_state = 6 ;
18491 pub type acamera_metadata_enum_acamera_control_af_state = u32;
18492 pub use self::acamera_metadata_enum_acamera_control_af_state as acamera_metadata_enum_android_control_af_state_t;
18493 pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_INACTIVE:
18494     acamera_metadata_enum_acamera_control_awb_state = 0;
18495 pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_SEARCHING:
18496     acamera_metadata_enum_acamera_control_awb_state = 1;
18497 pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_CONVERGED:
18498     acamera_metadata_enum_acamera_control_awb_state = 2;
18499 pub const acamera_metadata_enum_acamera_control_awb_state_ACAMERA_CONTROL_AWB_STATE_LOCKED:
18500     acamera_metadata_enum_acamera_control_awb_state = 3;
18501 pub type acamera_metadata_enum_acamera_control_awb_state = u32;
18502 pub use self::acamera_metadata_enum_acamera_control_awb_state as acamera_metadata_enum_android_control_awb_state_t;
18503 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 ;
18504 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 ;
18505 pub type acamera_metadata_enum_acamera_control_ae_lock_available = u32;
18506 pub use self::acamera_metadata_enum_acamera_control_ae_lock_available as acamera_metadata_enum_android_control_ae_lock_available_t;
18507 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 ;
18508 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 ;
18509 pub type acamera_metadata_enum_acamera_control_awb_lock_available = u32;
18510 pub use self::acamera_metadata_enum_acamera_control_awb_lock_available as acamera_metadata_enum_android_control_awb_lock_available_t;
18511 pub const acamera_metadata_enum_acamera_control_enable_zsl_ACAMERA_CONTROL_ENABLE_ZSL_FALSE:
18512     acamera_metadata_enum_acamera_control_enable_zsl = 0;
18513 pub const acamera_metadata_enum_acamera_control_enable_zsl_ACAMERA_CONTROL_ENABLE_ZSL_TRUE:
18514     acamera_metadata_enum_acamera_control_enable_zsl = 1;
18515 pub type acamera_metadata_enum_acamera_control_enable_zsl = u32;
18516 pub use self::acamera_metadata_enum_acamera_control_enable_zsl as acamera_metadata_enum_android_control_enable_zsl_t;
18517 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 ;
18518 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 ;
18519 pub type acamera_metadata_enum_acamera_control_af_scene_change = u32;
18520 pub use self::acamera_metadata_enum_acamera_control_af_scene_change as acamera_metadata_enum_android_control_af_scene_change_t;
18521 pub const acamera_metadata_enum_acamera_control_bokeh_mode_ACAMERA_CONTROL_BOKEH_MODE_OFF:
18522     acamera_metadata_enum_acamera_control_bokeh_mode = 0;
18523 pub const acamera_metadata_enum_acamera_control_bokeh_mode_ACAMERA_CONTROL_BOKEH_MODE_STILL_CAPTURE : acamera_metadata_enum_acamera_control_bokeh_mode = 1 ;
18524 pub const acamera_metadata_enum_acamera_control_bokeh_mode_ACAMERA_CONTROL_BOKEH_MODE_CONTINUOUS:
18525     acamera_metadata_enum_acamera_control_bokeh_mode = 2;
18526 pub type acamera_metadata_enum_acamera_control_bokeh_mode = u32;
18527 pub use self::acamera_metadata_enum_acamera_control_bokeh_mode as acamera_metadata_enum_android_control_bokeh_mode_t;
18528 pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_OFF:
18529     acamera_metadata_enum_acamera_edge_mode = 0;
18530 pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_FAST:
18531     acamera_metadata_enum_acamera_edge_mode = 1;
18532 pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_HIGH_QUALITY:
18533     acamera_metadata_enum_acamera_edge_mode = 2;
18534 pub const acamera_metadata_enum_acamera_edge_mode_ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG:
18535     acamera_metadata_enum_acamera_edge_mode = 3;
18536 pub type acamera_metadata_enum_acamera_edge_mode = u32;
18537 pub use self::acamera_metadata_enum_acamera_edge_mode as acamera_metadata_enum_android_edge_mode_t;
18538 pub const acamera_metadata_enum_acamera_flash_mode_ACAMERA_FLASH_MODE_OFF:
18539     acamera_metadata_enum_acamera_flash_mode = 0;
18540 pub const acamera_metadata_enum_acamera_flash_mode_ACAMERA_FLASH_MODE_SINGLE:
18541     acamera_metadata_enum_acamera_flash_mode = 1;
18542 pub const acamera_metadata_enum_acamera_flash_mode_ACAMERA_FLASH_MODE_TORCH:
18543     acamera_metadata_enum_acamera_flash_mode = 2;
18544 pub type acamera_metadata_enum_acamera_flash_mode = u32;
18545 pub use self::acamera_metadata_enum_acamera_flash_mode as acamera_metadata_enum_android_flash_mode_t;
18546 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_UNAVAILABLE:
18547     acamera_metadata_enum_acamera_flash_state = 0;
18548 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_CHARGING:
18549     acamera_metadata_enum_acamera_flash_state = 1;
18550 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_READY:
18551     acamera_metadata_enum_acamera_flash_state = 2;
18552 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_FIRED:
18553     acamera_metadata_enum_acamera_flash_state = 3;
18554 pub const acamera_metadata_enum_acamera_flash_state_ACAMERA_FLASH_STATE_PARTIAL:
18555     acamera_metadata_enum_acamera_flash_state = 4;
18556 pub type acamera_metadata_enum_acamera_flash_state = u32;
18557 pub use self::acamera_metadata_enum_acamera_flash_state as acamera_metadata_enum_android_flash_state_t;
18558 pub const acamera_metadata_enum_acamera_flash_info_available_ACAMERA_FLASH_INFO_AVAILABLE_FALSE:
18559     acamera_metadata_enum_acamera_flash_info_available = 0;
18560 pub const acamera_metadata_enum_acamera_flash_info_available_ACAMERA_FLASH_INFO_AVAILABLE_TRUE:
18561     acamera_metadata_enum_acamera_flash_info_available = 1;
18562 pub type acamera_metadata_enum_acamera_flash_info_available = u32;
18563 pub use self::acamera_metadata_enum_acamera_flash_info_available as acamera_metadata_enum_android_flash_info_available_t;
18564 pub const acamera_metadata_enum_acamera_hot_pixel_mode_ACAMERA_HOT_PIXEL_MODE_OFF:
18565     acamera_metadata_enum_acamera_hot_pixel_mode = 0;
18566 pub const acamera_metadata_enum_acamera_hot_pixel_mode_ACAMERA_HOT_PIXEL_MODE_FAST:
18567     acamera_metadata_enum_acamera_hot_pixel_mode = 1;
18568 pub const acamera_metadata_enum_acamera_hot_pixel_mode_ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY:
18569     acamera_metadata_enum_acamera_hot_pixel_mode = 2;
18570 pub type acamera_metadata_enum_acamera_hot_pixel_mode = u32;
18571 pub use self::acamera_metadata_enum_acamera_hot_pixel_mode as acamera_metadata_enum_android_hot_pixel_mode_t;
18572 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 ;
18573 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 ;
18574 pub type acamera_metadata_enum_acamera_lens_optical_stabilization_mode = u32;
18575 pub use self::acamera_metadata_enum_acamera_lens_optical_stabilization_mode as acamera_metadata_enum_android_lens_optical_stabilization_mode_t;
18576 pub const acamera_metadata_enum_acamera_lens_facing_ACAMERA_LENS_FACING_FRONT:
18577     acamera_metadata_enum_acamera_lens_facing = 0;
18578 pub const acamera_metadata_enum_acamera_lens_facing_ACAMERA_LENS_FACING_BACK:
18579     acamera_metadata_enum_acamera_lens_facing = 1;
18580 pub const acamera_metadata_enum_acamera_lens_facing_ACAMERA_LENS_FACING_EXTERNAL:
18581     acamera_metadata_enum_acamera_lens_facing = 2;
18582 pub type acamera_metadata_enum_acamera_lens_facing = u32;
18583 pub use self::acamera_metadata_enum_acamera_lens_facing as acamera_metadata_enum_android_lens_facing_t;
18584 pub const acamera_metadata_enum_acamera_lens_state_ACAMERA_LENS_STATE_STATIONARY:
18585     acamera_metadata_enum_acamera_lens_state = 0;
18586 pub const acamera_metadata_enum_acamera_lens_state_ACAMERA_LENS_STATE_MOVING:
18587     acamera_metadata_enum_acamera_lens_state = 1;
18588 pub type acamera_metadata_enum_acamera_lens_state = u32;
18589 pub use self::acamera_metadata_enum_acamera_lens_state as acamera_metadata_enum_android_lens_state_t;
18590 pub const acamera_metadata_enum_acamera_lens_pose_reference_ACAMERA_LENS_POSE_REFERENCE_PRIMARY_CAMERA : acamera_metadata_enum_acamera_lens_pose_reference = 0 ;
18591 pub const acamera_metadata_enum_acamera_lens_pose_reference_ACAMERA_LENS_POSE_REFERENCE_GYROSCOPE : acamera_metadata_enum_acamera_lens_pose_reference = 1 ;
18592 pub const acamera_metadata_enum_acamera_lens_pose_reference_ACAMERA_LENS_POSE_REFERENCE_UNDEFINED : acamera_metadata_enum_acamera_lens_pose_reference = 2 ;
18593 pub type acamera_metadata_enum_acamera_lens_pose_reference = u32;
18594 pub use self::acamera_metadata_enum_acamera_lens_pose_reference as acamera_metadata_enum_android_lens_pose_reference_t;
18595 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 ;
18596 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 ;
18597 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 ;
18598 pub type acamera_metadata_enum_acamera_lens_info_focus_distance_calibration = u32;
18599 pub use self::acamera_metadata_enum_acamera_lens_info_focus_distance_calibration as acamera_metadata_enum_android_lens_info_focus_distance_calibration_t;
18600 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_OFF:
18601     acamera_metadata_enum_acamera_noise_reduction_mode = 0;
18602 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_FAST:
18603     acamera_metadata_enum_acamera_noise_reduction_mode = 1;
18604 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_noise_reduction_mode = 2 ;
18605 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_MINIMAL : acamera_metadata_enum_acamera_noise_reduction_mode = 3 ;
18606 pub const acamera_metadata_enum_acamera_noise_reduction_mode_ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG : acamera_metadata_enum_acamera_noise_reduction_mode = 4 ;
18607 pub type acamera_metadata_enum_acamera_noise_reduction_mode = u32;
18608 pub use self::acamera_metadata_enum_acamera_noise_reduction_mode as acamera_metadata_enum_android_noise_reduction_mode_t;
18609 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE : acamera_metadata_enum_acamera_request_available_capabilities = 0 ;
18610 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR : acamera_metadata_enum_acamera_request_available_capabilities = 1 ;
18611 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING : acamera_metadata_enum_acamera_request_available_capabilities = 2 ;
18612 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW : acamera_metadata_enum_acamera_request_available_capabilities = 3 ;
18613 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS : acamera_metadata_enum_acamera_request_available_capabilities = 5 ;
18614 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE : acamera_metadata_enum_acamera_request_available_capabilities = 6 ;
18615 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT : acamera_metadata_enum_acamera_request_available_capabilities = 8 ;
18616 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING : acamera_metadata_enum_acamera_request_available_capabilities = 10 ;
18617 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA : acamera_metadata_enum_acamera_request_available_capabilities = 11 ;
18618 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME : acamera_metadata_enum_acamera_request_available_capabilities = 12 ;
18619 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA : acamera_metadata_enum_acamera_request_available_capabilities = 13 ;
18620 pub const acamera_metadata_enum_acamera_request_available_capabilities_ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA : acamera_metadata_enum_acamera_request_available_capabilities = 14 ;
18621 pub type acamera_metadata_enum_acamera_request_available_capabilities = u32;
18622 pub use self::acamera_metadata_enum_acamera_request_available_capabilities as acamera_metadata_enum_android_request_available_capabilities_t;
18623 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 ;
18624 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 ;
18625 pub type acamera_metadata_enum_acamera_scaler_available_stream_configurations = u32;
18626 pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations as acamera_metadata_enum_android_scaler_available_stream_configurations_t;
18627 pub const acamera_metadata_enum_acamera_scaler_cropping_type_ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY : acamera_metadata_enum_acamera_scaler_cropping_type = 0 ;
18628 pub const acamera_metadata_enum_acamera_scaler_cropping_type_ACAMERA_SCALER_CROPPING_TYPE_FREEFORM : acamera_metadata_enum_acamera_scaler_cropping_type = 1 ;
18629 pub type acamera_metadata_enum_acamera_scaler_cropping_type = u32;
18630 pub use self::acamera_metadata_enum_acamera_scaler_cropping_type as acamera_metadata_enum_android_scaler_cropping_type_t;
18631 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 ;
18632 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 ;
18633 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 ;
18634 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 ;
18635 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 ;
18636 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 ;
18637 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 ;
18638 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 ;
18639 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 ;
18640 pub type acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations = u32;
18641 pub use self::acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations as acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t;
18642 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 1 ;
18643 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 2 ;
18644 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 3 ;
18645 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLASH : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 4 ;
18646 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 9 ;
18647 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 10 ;
18648 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_SHADE : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 11 ;
18649 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 12 ;
18650 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 13 ;
18651 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 14 ;
18652 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 15 ;
18653 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 17 ;
18654 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 18 ;
18655 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 19 ;
18656 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D55 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 20 ;
18657 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D65 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 21 ;
18658 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D75 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 22 ;
18659 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D50 : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 23 ;
18660 pub const acamera_metadata_enum_acamera_sensor_reference_illuminant1_ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN : acamera_metadata_enum_acamera_sensor_reference_illuminant1 = 24 ;
18661 pub type acamera_metadata_enum_acamera_sensor_reference_illuminant1 = u32;
18662 pub use self::acamera_metadata_enum_acamera_sensor_reference_illuminant1 as acamera_metadata_enum_android_sensor_reference_illuminant1_t;
18663 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 ;
18664 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 ;
18665 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 ;
18666 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 ;
18667 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 ;
18668 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 ;
18669 pub type acamera_metadata_enum_acamera_sensor_test_pattern_mode = u32;
18670 pub use self::acamera_metadata_enum_acamera_sensor_test_pattern_mode as acamera_metadata_enum_android_sensor_test_pattern_mode_t;
18671 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 ;
18672 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 ;
18673 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 ;
18674 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 ;
18675 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 ;
18676 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 ;
18677 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 ;
18678 pub type acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement = u32;
18679 pub use self::acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement as acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
18680 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 ;
18681 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 ;
18682 pub type acamera_metadata_enum_acamera_sensor_info_timestamp_source = u32;
18683 pub use self::acamera_metadata_enum_acamera_sensor_info_timestamp_source as acamera_metadata_enum_android_sensor_info_timestamp_source_t;
18684 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 ;
18685 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 ;
18686 pub type acamera_metadata_enum_acamera_sensor_info_lens_shading_applied = u32;
18687 pub use self::acamera_metadata_enum_acamera_sensor_info_lens_shading_applied as acamera_metadata_enum_android_sensor_info_lens_shading_applied_t;
18688 pub const acamera_metadata_enum_acamera_shading_mode_ACAMERA_SHADING_MODE_OFF:
18689     acamera_metadata_enum_acamera_shading_mode = 0;
18690 pub const acamera_metadata_enum_acamera_shading_mode_ACAMERA_SHADING_MODE_FAST:
18691     acamera_metadata_enum_acamera_shading_mode = 1;
18692 pub const acamera_metadata_enum_acamera_shading_mode_ACAMERA_SHADING_MODE_HIGH_QUALITY:
18693     acamera_metadata_enum_acamera_shading_mode = 2;
18694 pub type acamera_metadata_enum_acamera_shading_mode = u32;
18695 pub use self::acamera_metadata_enum_acamera_shading_mode as acamera_metadata_enum_android_shading_mode_t;
18696 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 ;
18697 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 ;
18698 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 ;
18699 pub type acamera_metadata_enum_acamera_statistics_face_detect_mode = u32;
18700 pub use self::acamera_metadata_enum_acamera_statistics_face_detect_mode as acamera_metadata_enum_android_statistics_face_detect_mode_t;
18701 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 ;
18702 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 ;
18703 pub type acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode = u32;
18704 pub use self::acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode as acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
18705 pub const acamera_metadata_enum_acamera_statistics_scene_flicker_ACAMERA_STATISTICS_SCENE_FLICKER_NONE : acamera_metadata_enum_acamera_statistics_scene_flicker = 0 ;
18706 pub const acamera_metadata_enum_acamera_statistics_scene_flicker_ACAMERA_STATISTICS_SCENE_FLICKER_50HZ : acamera_metadata_enum_acamera_statistics_scene_flicker = 1 ;
18707 pub const acamera_metadata_enum_acamera_statistics_scene_flicker_ACAMERA_STATISTICS_SCENE_FLICKER_60HZ : acamera_metadata_enum_acamera_statistics_scene_flicker = 2 ;
18708 pub type acamera_metadata_enum_acamera_statistics_scene_flicker = u32;
18709 pub use self::acamera_metadata_enum_acamera_statistics_scene_flicker as acamera_metadata_enum_android_statistics_scene_flicker_t;
18710 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 ;
18711 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 ;
18712 pub type acamera_metadata_enum_acamera_statistics_lens_shading_map_mode = u32;
18713 pub use self::acamera_metadata_enum_acamera_statistics_lens_shading_map_mode as acamera_metadata_enum_android_statistics_lens_shading_map_mode_t;
18714 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 ;
18715 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 ;
18716 pub type acamera_metadata_enum_acamera_statistics_ois_data_mode = u32;
18717 pub use self::acamera_metadata_enum_acamera_statistics_ois_data_mode as acamera_metadata_enum_android_statistics_ois_data_mode_t;
18718 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_CONTRAST_CURVE:
18719     acamera_metadata_enum_acamera_tonemap_mode = 0;
18720 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_FAST:
18721     acamera_metadata_enum_acamera_tonemap_mode = 1;
18722 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_HIGH_QUALITY:
18723     acamera_metadata_enum_acamera_tonemap_mode = 2;
18724 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_GAMMA_VALUE:
18725     acamera_metadata_enum_acamera_tonemap_mode = 3;
18726 pub const acamera_metadata_enum_acamera_tonemap_mode_ACAMERA_TONEMAP_MODE_PRESET_CURVE:
18727     acamera_metadata_enum_acamera_tonemap_mode = 4;
18728 pub type acamera_metadata_enum_acamera_tonemap_mode = u32;
18729 pub use self::acamera_metadata_enum_acamera_tonemap_mode as acamera_metadata_enum_android_tonemap_mode_t;
18730 pub const acamera_metadata_enum_acamera_tonemap_preset_curve_ACAMERA_TONEMAP_PRESET_CURVE_SRGB:
18731     acamera_metadata_enum_acamera_tonemap_preset_curve = 0;
18732 pub const acamera_metadata_enum_acamera_tonemap_preset_curve_ACAMERA_TONEMAP_PRESET_CURVE_REC709:
18733     acamera_metadata_enum_acamera_tonemap_preset_curve = 1;
18734 pub type acamera_metadata_enum_acamera_tonemap_preset_curve = u32;
18735 pub use self::acamera_metadata_enum_acamera_tonemap_preset_curve as acamera_metadata_enum_android_tonemap_preset_curve_t;
18736 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 ;
18737 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 ;
18738 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 ;
18739 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 ;
18740 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 ;
18741 pub type acamera_metadata_enum_acamera_info_supported_hardware_level = u32;
18742 pub use self::acamera_metadata_enum_acamera_info_supported_hardware_level as acamera_metadata_enum_android_info_supported_hardware_level_t;
18743 pub const acamera_metadata_enum_acamera_black_level_lock_ACAMERA_BLACK_LEVEL_LOCK_OFF:
18744     acamera_metadata_enum_acamera_black_level_lock = 0;
18745 pub const acamera_metadata_enum_acamera_black_level_lock_ACAMERA_BLACK_LEVEL_LOCK_ON:
18746     acamera_metadata_enum_acamera_black_level_lock = 1;
18747 pub type acamera_metadata_enum_acamera_black_level_lock = u32;
18748 pub use self::acamera_metadata_enum_acamera_black_level_lock as acamera_metadata_enum_android_black_level_lock_t;
18749 pub const acamera_metadata_enum_acamera_sync_frame_number_ACAMERA_SYNC_FRAME_NUMBER_CONVERGING:
18750     acamera_metadata_enum_acamera_sync_frame_number = -1;
18751 pub const acamera_metadata_enum_acamera_sync_frame_number_ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN:
18752     acamera_metadata_enum_acamera_sync_frame_number = -2;
18753 pub type acamera_metadata_enum_acamera_sync_frame_number = i32;
18754 pub use self::acamera_metadata_enum_acamera_sync_frame_number as acamera_metadata_enum_android_sync_frame_number_t;
18755 pub const acamera_metadata_enum_acamera_sync_max_latency_ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL : acamera_metadata_enum_acamera_sync_max_latency = 0 ;
18756 pub const acamera_metadata_enum_acamera_sync_max_latency_ACAMERA_SYNC_MAX_LATENCY_UNKNOWN:
18757     acamera_metadata_enum_acamera_sync_max_latency = -1;
18758 pub type acamera_metadata_enum_acamera_sync_max_latency = i32;
18759 pub use self::acamera_metadata_enum_acamera_sync_max_latency as acamera_metadata_enum_android_sync_max_latency_t;
18760 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 ;
18761 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 ;
18762 pub type acamera_metadata_enum_acamera_depth_available_depth_stream_configurations = u32;
18763 pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations as acamera_metadata_enum_android_depth_available_depth_stream_configurations_t;
18764 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 ;
18765 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 ;
18766 pub type acamera_metadata_enum_acamera_depth_depth_is_exclusive = u32;
18767 pub use self::acamera_metadata_enum_acamera_depth_depth_is_exclusive as acamera_metadata_enum_android_depth_depth_is_exclusive_t;
18768 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 ;
18769 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 ;
18770 pub type acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations = u32;
18771 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;
18772 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 ;
18773 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 ;
18774 pub type acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type = u32;
18775 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;
18776 pub const acamera_metadata_enum_acamera_distortion_correction_mode_ACAMERA_DISTORTION_CORRECTION_MODE_OFF : acamera_metadata_enum_acamera_distortion_correction_mode = 0 ;
18777 pub const acamera_metadata_enum_acamera_distortion_correction_mode_ACAMERA_DISTORTION_CORRECTION_MODE_FAST : acamera_metadata_enum_acamera_distortion_correction_mode = 1 ;
18778 pub const acamera_metadata_enum_acamera_distortion_correction_mode_ACAMERA_DISTORTION_CORRECTION_MODE_HIGH_QUALITY : acamera_metadata_enum_acamera_distortion_correction_mode = 2 ;
18779 pub type acamera_metadata_enum_acamera_distortion_correction_mode = u32;
18780 pub use self::acamera_metadata_enum_acamera_distortion_correction_mode as acamera_metadata_enum_android_distortion_correction_mode_t;
18781 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 ;
18782 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 ;
18783 pub type acamera_metadata_enum_acamera_heic_available_heic_stream_configurations = u32;
18784 pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations as acamera_metadata_enum_android_heic_available_heic_stream_configurations_t;
18785 #[repr(C)]
18786 #[derive(Debug, Copy, Clone)]
18787 pub struct ACameraMetadata {
18788     _unused: [u8; 0],
18789 }
18790 pub const ACAMERA_TYPE_BYTE: _bindgen_ty_54 = 0;
18791 pub const ACAMERA_TYPE_INT32: _bindgen_ty_54 = 1;
18792 pub const ACAMERA_TYPE_FLOAT: _bindgen_ty_54 = 2;
18793 pub const ACAMERA_TYPE_INT64: _bindgen_ty_54 = 3;
18794 pub const ACAMERA_TYPE_DOUBLE: _bindgen_ty_54 = 4;
18795 pub const ACAMERA_TYPE_RATIONAL: _bindgen_ty_54 = 5;
18796 pub const ACAMERA_NUM_TYPES: _bindgen_ty_54 = 6;
18797 pub type _bindgen_ty_54 = u32;
18798 #[repr(C)]
18799 #[derive(Debug, Copy, Clone)]
18800 pub struct ACameraMetadata_rational {
18801     pub numerator: i32,
18802     pub denominator: i32,
18803 }
18804 #[test]
bindgen_test_layout_ACameraMetadata_rational()18805 fn bindgen_test_layout_ACameraMetadata_rational() {
18806     assert_eq!(
18807         ::std::mem::size_of::<ACameraMetadata_rational>(),
18808         8usize,
18809         concat!("Size of: ", stringify!(ACameraMetadata_rational))
18810     );
18811     assert_eq!(
18812         ::std::mem::align_of::<ACameraMetadata_rational>(),
18813         4usize,
18814         concat!("Alignment of ", stringify!(ACameraMetadata_rational))
18815     );
18816     assert_eq!(
18817         unsafe {
18818             &(*(::std::ptr::null::<ACameraMetadata_rational>())).numerator as *const _ as usize
18819         },
18820         0usize,
18821         concat!(
18822             "Offset of field: ",
18823             stringify!(ACameraMetadata_rational),
18824             "::",
18825             stringify!(numerator)
18826         )
18827     );
18828     assert_eq!(
18829         unsafe {
18830             &(*(::std::ptr::null::<ACameraMetadata_rational>())).denominator as *const _ as usize
18831         },
18832         4usize,
18833         concat!(
18834             "Offset of field: ",
18835             stringify!(ACameraMetadata_rational),
18836             "::",
18837             stringify!(denominator)
18838         )
18839     );
18840 }
18841 #[repr(C)]
18842 #[derive(Copy, Clone)]
18843 pub struct ACameraMetadata_entry {
18844     pub tag: u32,
18845     pub type_: u8,
18846     pub count: u32,
18847     pub data: ACameraMetadata_entry__bindgen_ty_1,
18848 }
18849 #[repr(C)]
18850 #[derive(Copy, Clone)]
18851 pub union ACameraMetadata_entry__bindgen_ty_1 {
18852     pub u8: *mut u8,
18853     pub i32: *mut i32,
18854     pub f: *mut f32,
18855     pub i64: *mut i64,
18856     pub d: *mut f64,
18857     pub r: *mut ACameraMetadata_rational,
18858     _bindgen_union_align: u32,
18859 }
18860 #[test]
bindgen_test_layout_ACameraMetadata_entry__bindgen_ty_1()18861 fn bindgen_test_layout_ACameraMetadata_entry__bindgen_ty_1() {
18862     assert_eq!(
18863         ::std::mem::size_of::<ACameraMetadata_entry__bindgen_ty_1>(),
18864         4usize,
18865         concat!("Size of: ", stringify!(ACameraMetadata_entry__bindgen_ty_1))
18866     );
18867     assert_eq!(
18868         ::std::mem::align_of::<ACameraMetadata_entry__bindgen_ty_1>(),
18869         4usize,
18870         concat!(
18871             "Alignment of ",
18872             stringify!(ACameraMetadata_entry__bindgen_ty_1)
18873         )
18874     );
18875     assert_eq!(
18876         unsafe {
18877             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).u8 as *const _ as usize
18878         },
18879         0usize,
18880         concat!(
18881             "Offset of field: ",
18882             stringify!(ACameraMetadata_entry__bindgen_ty_1),
18883             "::",
18884             stringify!(u8)
18885         )
18886     );
18887     assert_eq!(
18888         unsafe {
18889             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).i32 as *const _ as usize
18890         },
18891         0usize,
18892         concat!(
18893             "Offset of field: ",
18894             stringify!(ACameraMetadata_entry__bindgen_ty_1),
18895             "::",
18896             stringify!(i32)
18897         )
18898     );
18899     assert_eq!(
18900         unsafe {
18901             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).f as *const _ as usize
18902         },
18903         0usize,
18904         concat!(
18905             "Offset of field: ",
18906             stringify!(ACameraMetadata_entry__bindgen_ty_1),
18907             "::",
18908             stringify!(f)
18909         )
18910     );
18911     assert_eq!(
18912         unsafe {
18913             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).i64 as *const _ as usize
18914         },
18915         0usize,
18916         concat!(
18917             "Offset of field: ",
18918             stringify!(ACameraMetadata_entry__bindgen_ty_1),
18919             "::",
18920             stringify!(i64)
18921         )
18922     );
18923     assert_eq!(
18924         unsafe {
18925             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).d as *const _ as usize
18926         },
18927         0usize,
18928         concat!(
18929             "Offset of field: ",
18930             stringify!(ACameraMetadata_entry__bindgen_ty_1),
18931             "::",
18932             stringify!(d)
18933         )
18934     );
18935     assert_eq!(
18936         unsafe {
18937             &(*(::std::ptr::null::<ACameraMetadata_entry__bindgen_ty_1>())).r as *const _ as usize
18938         },
18939         0usize,
18940         concat!(
18941             "Offset of field: ",
18942             stringify!(ACameraMetadata_entry__bindgen_ty_1),
18943             "::",
18944             stringify!(r)
18945         )
18946     );
18947 }
18948 #[test]
bindgen_test_layout_ACameraMetadata_entry()18949 fn bindgen_test_layout_ACameraMetadata_entry() {
18950     assert_eq!(
18951         ::std::mem::size_of::<ACameraMetadata_entry>(),
18952         16usize,
18953         concat!("Size of: ", stringify!(ACameraMetadata_entry))
18954     );
18955     assert_eq!(
18956         ::std::mem::align_of::<ACameraMetadata_entry>(),
18957         4usize,
18958         concat!("Alignment of ", stringify!(ACameraMetadata_entry))
18959     );
18960     assert_eq!(
18961         unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).tag as *const _ as usize },
18962         0usize,
18963         concat!(
18964             "Offset of field: ",
18965             stringify!(ACameraMetadata_entry),
18966             "::",
18967             stringify!(tag)
18968         )
18969     );
18970     assert_eq!(
18971         unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).type_ as *const _ as usize },
18972         4usize,
18973         concat!(
18974             "Offset of field: ",
18975             stringify!(ACameraMetadata_entry),
18976             "::",
18977             stringify!(type_)
18978         )
18979     );
18980     assert_eq!(
18981         unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).count as *const _ as usize },
18982         8usize,
18983         concat!(
18984             "Offset of field: ",
18985             stringify!(ACameraMetadata_entry),
18986             "::",
18987             stringify!(count)
18988         )
18989     );
18990     assert_eq!(
18991         unsafe { &(*(::std::ptr::null::<ACameraMetadata_entry>())).data as *const _ as usize },
18992         12usize,
18993         concat!(
18994             "Offset of field: ",
18995             stringify!(ACameraMetadata_entry),
18996             "::",
18997             stringify!(data)
18998         )
18999     );
19000 }
19001 #[repr(C)]
19002 #[derive(Copy, Clone)]
19003 pub struct ACameraMetadata_const_entry {
19004     pub tag: u32,
19005     pub type_: u8,
19006     pub count: u32,
19007     pub data: ACameraMetadata_const_entry__bindgen_ty_1,
19008 }
19009 #[repr(C)]
19010 #[derive(Copy, Clone)]
19011 pub union ACameraMetadata_const_entry__bindgen_ty_1 {
19012     pub u8: *const u8,
19013     pub i32: *const i32,
19014     pub f: *const f32,
19015     pub i64: *const i64,
19016     pub d: *const f64,
19017     pub r: *const ACameraMetadata_rational,
19018     _bindgen_union_align: u32,
19019 }
19020 #[test]
bindgen_test_layout_ACameraMetadata_const_entry__bindgen_ty_1()19021 fn bindgen_test_layout_ACameraMetadata_const_entry__bindgen_ty_1() {
19022     assert_eq!(
19023         ::std::mem::size_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
19024         4usize,
19025         concat!(
19026             "Size of: ",
19027             stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
19028         )
19029     );
19030     assert_eq!(
19031         ::std::mem::align_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
19032         4usize,
19033         concat!(
19034             "Alignment of ",
19035             stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
19036         )
19037     );
19038     assert_eq!(
19039         unsafe {
19040             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).u8 as *const _
19041                 as usize
19042         },
19043         0usize,
19044         concat!(
19045             "Offset of field: ",
19046             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19047             "::",
19048             stringify!(u8)
19049         )
19050     );
19051     assert_eq!(
19052         unsafe {
19053             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).i32 as *const _
19054                 as usize
19055         },
19056         0usize,
19057         concat!(
19058             "Offset of field: ",
19059             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19060             "::",
19061             stringify!(i32)
19062         )
19063     );
19064     assert_eq!(
19065         unsafe {
19066             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).f as *const _
19067                 as usize
19068         },
19069         0usize,
19070         concat!(
19071             "Offset of field: ",
19072             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19073             "::",
19074             stringify!(f)
19075         )
19076     );
19077     assert_eq!(
19078         unsafe {
19079             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).i64 as *const _
19080                 as usize
19081         },
19082         0usize,
19083         concat!(
19084             "Offset of field: ",
19085             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19086             "::",
19087             stringify!(i64)
19088         )
19089     );
19090     assert_eq!(
19091         unsafe {
19092             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).d as *const _
19093                 as usize
19094         },
19095         0usize,
19096         concat!(
19097             "Offset of field: ",
19098             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19099             "::",
19100             stringify!(d)
19101         )
19102     );
19103     assert_eq!(
19104         unsafe {
19105             &(*(::std::ptr::null::<ACameraMetadata_const_entry__bindgen_ty_1>())).r as *const _
19106                 as usize
19107         },
19108         0usize,
19109         concat!(
19110             "Offset of field: ",
19111             stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
19112             "::",
19113             stringify!(r)
19114         )
19115     );
19116 }
19117 #[test]
bindgen_test_layout_ACameraMetadata_const_entry()19118 fn bindgen_test_layout_ACameraMetadata_const_entry() {
19119     assert_eq!(
19120         ::std::mem::size_of::<ACameraMetadata_const_entry>(),
19121         16usize,
19122         concat!("Size of: ", stringify!(ACameraMetadata_const_entry))
19123     );
19124     assert_eq!(
19125         ::std::mem::align_of::<ACameraMetadata_const_entry>(),
19126         4usize,
19127         concat!("Alignment of ", stringify!(ACameraMetadata_const_entry))
19128     );
19129     assert_eq!(
19130         unsafe { &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).tag as *const _ as usize },
19131         0usize,
19132         concat!(
19133             "Offset of field: ",
19134             stringify!(ACameraMetadata_const_entry),
19135             "::",
19136             stringify!(tag)
19137         )
19138     );
19139     assert_eq!(
19140         unsafe {
19141             &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).type_ as *const _ as usize
19142         },
19143         4usize,
19144         concat!(
19145             "Offset of field: ",
19146             stringify!(ACameraMetadata_const_entry),
19147             "::",
19148             stringify!(type_)
19149         )
19150     );
19151     assert_eq!(
19152         unsafe {
19153             &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).count as *const _ as usize
19154         },
19155         8usize,
19156         concat!(
19157             "Offset of field: ",
19158             stringify!(ACameraMetadata_const_entry),
19159             "::",
19160             stringify!(count)
19161         )
19162     );
19163     assert_eq!(
19164         unsafe {
19165             &(*(::std::ptr::null::<ACameraMetadata_const_entry>())).data as *const _ as usize
19166         },
19167         12usize,
19168         concat!(
19169             "Offset of field: ",
19170             stringify!(ACameraMetadata_const_entry),
19171             "::",
19172             stringify!(data)
19173         )
19174     );
19175 }
19176 extern "C" {
ACameraMetadata_getConstEntry( metadata: *const ACameraMetadata, tag: u32, entry: *mut ACameraMetadata_const_entry, ) -> camera_status_t19177     pub fn ACameraMetadata_getConstEntry(
19178         metadata: *const ACameraMetadata,
19179         tag: u32,
19180         entry: *mut ACameraMetadata_const_entry,
19181     ) -> camera_status_t;
19182 }
19183 extern "C" {
ACameraMetadata_getAllTags( metadata: *const ACameraMetadata, numEntries: *mut i32, tags: *mut *const u32, ) -> camera_status_t19184     pub fn ACameraMetadata_getAllTags(
19185         metadata: *const ACameraMetadata,
19186         numEntries: *mut i32,
19187         tags: *mut *const u32,
19188     ) -> camera_status_t;
19189 }
19190 extern "C" {
ACameraMetadata_copy(src: *const ACameraMetadata) -> *mut ACameraMetadata19191     pub fn ACameraMetadata_copy(src: *const ACameraMetadata) -> *mut ACameraMetadata;
19192 }
19193 extern "C" {
ACameraMetadata_free(metadata: *mut ACameraMetadata)19194     pub fn ACameraMetadata_free(metadata: *mut ACameraMetadata);
19195 }
19196 extern "C" {
ACameraMetadata_isLogicalMultiCamera( staticMetadata: *const ACameraMetadata, numPhysicalCameras: *mut size_t, physicalCameraIds: *mut *const *const ::std::os::raw::c_char, ) -> bool19197     pub fn ACameraMetadata_isLogicalMultiCamera(
19198         staticMetadata: *const ACameraMetadata,
19199         numPhysicalCameras: *mut size_t,
19200         physicalCameraIds: *mut *const *const ::std::os::raw::c_char,
19201     ) -> bool;
19202 }
19203 extern "C" {
ACameraMetadata_fromCameraMetadata( env: *mut JNIEnv, cameraMetadata: jobject, ) -> *mut ACameraMetadata19204     pub fn ACameraMetadata_fromCameraMetadata(
19205         env: *mut JNIEnv,
19206         cameraMetadata: jobject,
19207     ) -> *mut ACameraMetadata;
19208 }
19209 pub type ACameraWindowType = ANativeWindow;
19210 #[repr(C)]
19211 #[derive(Debug, Copy, Clone)]
19212 pub struct ACameraOutputTargets {
19213     _unused: [u8; 0],
19214 }
19215 #[repr(C)]
19216 #[derive(Debug, Copy, Clone)]
19217 pub struct ACameraOutputTarget {
19218     _unused: [u8; 0],
19219 }
19220 #[repr(C)]
19221 #[derive(Debug, Copy, Clone)]
19222 pub struct ACaptureRequest {
19223     _unused: [u8; 0],
19224 }
19225 extern "C" {
ACameraOutputTarget_create( window: *mut ACameraWindowType, output: *mut *mut ACameraOutputTarget, ) -> camera_status_t19226     pub fn ACameraOutputTarget_create(
19227         window: *mut ACameraWindowType,
19228         output: *mut *mut ACameraOutputTarget,
19229     ) -> camera_status_t;
19230 }
19231 extern "C" {
ACameraOutputTarget_free(output: *mut ACameraOutputTarget)19232     pub fn ACameraOutputTarget_free(output: *mut ACameraOutputTarget);
19233 }
19234 extern "C" {
ACaptureRequest_addTarget( request: *mut ACaptureRequest, output: *const ACameraOutputTarget, ) -> camera_status_t19235     pub fn ACaptureRequest_addTarget(
19236         request: *mut ACaptureRequest,
19237         output: *const ACameraOutputTarget,
19238     ) -> camera_status_t;
19239 }
19240 extern "C" {
ACaptureRequest_removeTarget( request: *mut ACaptureRequest, output: *const ACameraOutputTarget, ) -> camera_status_t19241     pub fn ACaptureRequest_removeTarget(
19242         request: *mut ACaptureRequest,
19243         output: *const ACameraOutputTarget,
19244     ) -> camera_status_t;
19245 }
19246 extern "C" {
ACaptureRequest_getConstEntry( request: *const ACaptureRequest, tag: u32, entry: *mut ACameraMetadata_const_entry, ) -> camera_status_t19247     pub fn ACaptureRequest_getConstEntry(
19248         request: *const ACaptureRequest,
19249         tag: u32,
19250         entry: *mut ACameraMetadata_const_entry,
19251     ) -> camera_status_t;
19252 }
19253 extern "C" {
ACaptureRequest_getAllTags( request: *const ACaptureRequest, numTags: *mut i32, tags: *mut *const u32, ) -> camera_status_t19254     pub fn ACaptureRequest_getAllTags(
19255         request: *const ACaptureRequest,
19256         numTags: *mut i32,
19257         tags: *mut *const u32,
19258     ) -> camera_status_t;
19259 }
19260 extern "C" {
ACaptureRequest_setEntry_u8( request: *mut ACaptureRequest, tag: u32, count: u32, data: *const u8, ) -> camera_status_t19261     pub fn ACaptureRequest_setEntry_u8(
19262         request: *mut ACaptureRequest,
19263         tag: u32,
19264         count: u32,
19265         data: *const u8,
19266     ) -> camera_status_t;
19267 }
19268 extern "C" {
ACaptureRequest_setEntry_i32( request: *mut ACaptureRequest, tag: u32, count: u32, data: *const i32, ) -> camera_status_t19269     pub fn ACaptureRequest_setEntry_i32(
19270         request: *mut ACaptureRequest,
19271         tag: u32,
19272         count: u32,
19273         data: *const i32,
19274     ) -> camera_status_t;
19275 }
19276 extern "C" {
ACaptureRequest_setEntry_float( request: *mut ACaptureRequest, tag: u32, count: u32, data: *const f32, ) -> camera_status_t19277     pub fn ACaptureRequest_setEntry_float(
19278         request: *mut ACaptureRequest,
19279         tag: u32,
19280         count: u32,
19281         data: *const f32,
19282     ) -> camera_status_t;
19283 }
19284 extern "C" {
ACaptureRequest_setEntry_i64( request: *mut ACaptureRequest, tag: u32, count: u32, data: *const i64, ) -> camera_status_t19285     pub fn ACaptureRequest_setEntry_i64(
19286         request: *mut ACaptureRequest,
19287         tag: u32,
19288         count: u32,
19289         data: *const i64,
19290     ) -> camera_status_t;
19291 }
19292 extern "C" {
ACaptureRequest_setEntry_double( request: *mut ACaptureRequest, tag: u32, count: u32, data: *const f64, ) -> camera_status_t19293     pub fn ACaptureRequest_setEntry_double(
19294         request: *mut ACaptureRequest,
19295         tag: u32,
19296         count: u32,
19297         data: *const f64,
19298     ) -> camera_status_t;
19299 }
19300 extern "C" {
ACaptureRequest_setEntry_rational( request: *mut ACaptureRequest, tag: u32, count: u32, data: *const ACameraMetadata_rational, ) -> camera_status_t19301     pub fn ACaptureRequest_setEntry_rational(
19302         request: *mut ACaptureRequest,
19303         tag: u32,
19304         count: u32,
19305         data: *const ACameraMetadata_rational,
19306     ) -> camera_status_t;
19307 }
19308 extern "C" {
ACaptureRequest_free(request: *mut ACaptureRequest)19309     pub fn ACaptureRequest_free(request: *mut ACaptureRequest);
19310 }
19311 extern "C" {
ACaptureRequest_setUserContext( request: *mut ACaptureRequest, context: *mut ::std::os::raw::c_void, ) -> camera_status_t19312     pub fn ACaptureRequest_setUserContext(
19313         request: *mut ACaptureRequest,
19314         context: *mut ::std::os::raw::c_void,
19315     ) -> camera_status_t;
19316 }
19317 extern "C" {
ACaptureRequest_getUserContext( request: *const ACaptureRequest, context: *mut *mut ::std::os::raw::c_void, ) -> camera_status_t19318     pub fn ACaptureRequest_getUserContext(
19319         request: *const ACaptureRequest,
19320         context: *mut *mut ::std::os::raw::c_void,
19321     ) -> camera_status_t;
19322 }
19323 extern "C" {
ACaptureRequest_copy(src: *const ACaptureRequest) -> *mut ACaptureRequest19324     pub fn ACaptureRequest_copy(src: *const ACaptureRequest) -> *mut ACaptureRequest;
19325 }
19326 extern "C" {
ACaptureRequest_getConstEntry_physicalCamera( request: *const ACaptureRequest, physicalId: *const ::std::os::raw::c_char, tag: u32, entry: *mut ACameraMetadata_const_entry, ) -> camera_status_t19327     pub fn ACaptureRequest_getConstEntry_physicalCamera(
19328         request: *const ACaptureRequest,
19329         physicalId: *const ::std::os::raw::c_char,
19330         tag: u32,
19331         entry: *mut ACameraMetadata_const_entry,
19332     ) -> camera_status_t;
19333 }
19334 extern "C" {
ACaptureRequest_setEntry_physicalCamera_u8( request: *mut ACaptureRequest, physicalId: *const ::std::os::raw::c_char, tag: u32, count: u32, data: *const u8, ) -> camera_status_t19335     pub fn ACaptureRequest_setEntry_physicalCamera_u8(
19336         request: *mut ACaptureRequest,
19337         physicalId: *const ::std::os::raw::c_char,
19338         tag: u32,
19339         count: u32,
19340         data: *const u8,
19341     ) -> camera_status_t;
19342 }
19343 extern "C" {
ACaptureRequest_setEntry_physicalCamera_i32( request: *mut ACaptureRequest, physicalId: *const ::std::os::raw::c_char, tag: u32, count: u32, data: *const i32, ) -> camera_status_t19344     pub fn ACaptureRequest_setEntry_physicalCamera_i32(
19345         request: *mut ACaptureRequest,
19346         physicalId: *const ::std::os::raw::c_char,
19347         tag: u32,
19348         count: u32,
19349         data: *const i32,
19350     ) -> camera_status_t;
19351 }
19352 extern "C" {
ACaptureRequest_setEntry_physicalCamera_float( request: *mut ACaptureRequest, physicalId: *const ::std::os::raw::c_char, tag: u32, count: u32, data: *const f32, ) -> camera_status_t19353     pub fn ACaptureRequest_setEntry_physicalCamera_float(
19354         request: *mut ACaptureRequest,
19355         physicalId: *const ::std::os::raw::c_char,
19356         tag: u32,
19357         count: u32,
19358         data: *const f32,
19359     ) -> camera_status_t;
19360 }
19361 extern "C" {
ACaptureRequest_setEntry_physicalCamera_i64( request: *mut ACaptureRequest, physicalId: *const ::std::os::raw::c_char, tag: u32, count: u32, data: *const i64, ) -> camera_status_t19362     pub fn ACaptureRequest_setEntry_physicalCamera_i64(
19363         request: *mut ACaptureRequest,
19364         physicalId: *const ::std::os::raw::c_char,
19365         tag: u32,
19366         count: u32,
19367         data: *const i64,
19368     ) -> camera_status_t;
19369 }
19370 extern "C" {
ACaptureRequest_setEntry_physicalCamera_double( request: *mut ACaptureRequest, physicalId: *const ::std::os::raw::c_char, tag: u32, count: u32, data: *const f64, ) -> camera_status_t19371     pub fn ACaptureRequest_setEntry_physicalCamera_double(
19372         request: *mut ACaptureRequest,
19373         physicalId: *const ::std::os::raw::c_char,
19374         tag: u32,
19375         count: u32,
19376         data: *const f64,
19377     ) -> camera_status_t;
19378 }
19379 extern "C" {
ACaptureRequest_setEntry_physicalCamera_rational( request: *mut ACaptureRequest, physicalId: *const ::std::os::raw::c_char, tag: u32, count: u32, data: *const ACameraMetadata_rational, ) -> camera_status_t19380     pub fn ACaptureRequest_setEntry_physicalCamera_rational(
19381         request: *mut ACaptureRequest,
19382         physicalId: *const ::std::os::raw::c_char,
19383         tag: u32,
19384         count: u32,
19385         data: *const ACameraMetadata_rational,
19386     ) -> camera_status_t;
19387 }
19388 #[repr(C)]
19389 #[derive(Debug, Copy, Clone)]
19390 pub struct ACameraCaptureSession {
19391     _unused: [u8; 0],
19392 }
19393 pub type ACameraCaptureSession_stateCallback = ::std::option::Option<
19394     unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, session: *mut ACameraCaptureSession),
19395 >;
19396 #[repr(C)]
19397 #[derive(Debug, Copy, Clone)]
19398 pub struct ACameraCaptureSession_stateCallbacks {
19399     pub context: *mut ::std::os::raw::c_void,
19400     pub onClosed: ACameraCaptureSession_stateCallback,
19401     pub onReady: ACameraCaptureSession_stateCallback,
19402     pub onActive: ACameraCaptureSession_stateCallback,
19403 }
19404 #[test]
bindgen_test_layout_ACameraCaptureSession_stateCallbacks()19405 fn bindgen_test_layout_ACameraCaptureSession_stateCallbacks() {
19406     assert_eq!(
19407         ::std::mem::size_of::<ACameraCaptureSession_stateCallbacks>(),
19408         16usize,
19409         concat!(
19410             "Size of: ",
19411             stringify!(ACameraCaptureSession_stateCallbacks)
19412         )
19413     );
19414     assert_eq!(
19415         ::std::mem::align_of::<ACameraCaptureSession_stateCallbacks>(),
19416         4usize,
19417         concat!(
19418             "Alignment of ",
19419             stringify!(ACameraCaptureSession_stateCallbacks)
19420         )
19421     );
19422     assert_eq!(
19423         unsafe {
19424             &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).context as *const _
19425                 as usize
19426         },
19427         0usize,
19428         concat!(
19429             "Offset of field: ",
19430             stringify!(ACameraCaptureSession_stateCallbacks),
19431             "::",
19432             stringify!(context)
19433         )
19434     );
19435     assert_eq!(
19436         unsafe {
19437             &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).onClosed as *const _
19438                 as usize
19439         },
19440         4usize,
19441         concat!(
19442             "Offset of field: ",
19443             stringify!(ACameraCaptureSession_stateCallbacks),
19444             "::",
19445             stringify!(onClosed)
19446         )
19447     );
19448     assert_eq!(
19449         unsafe {
19450             &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).onReady as *const _
19451                 as usize
19452         },
19453         8usize,
19454         concat!(
19455             "Offset of field: ",
19456             stringify!(ACameraCaptureSession_stateCallbacks),
19457             "::",
19458             stringify!(onReady)
19459         )
19460     );
19461     assert_eq!(
19462         unsafe {
19463             &(*(::std::ptr::null::<ACameraCaptureSession_stateCallbacks>())).onActive as *const _
19464                 as usize
19465         },
19466         12usize,
19467         concat!(
19468             "Offset of field: ",
19469             stringify!(ACameraCaptureSession_stateCallbacks),
19470             "::",
19471             stringify!(onActive)
19472         )
19473     );
19474 }
19475 pub const CAPTURE_FAILURE_REASON_FLUSHED: _bindgen_ty_55 = 0;
19476 pub const CAPTURE_FAILURE_REASON_ERROR: _bindgen_ty_55 = 1;
19477 pub type _bindgen_ty_55 = u32;
19478 #[repr(C)]
19479 #[derive(Debug, Copy, Clone)]
19480 pub struct ACameraCaptureFailure {
19481     pub frameNumber: i64,
19482     pub reason: ::std::os::raw::c_int,
19483     pub sequenceId: ::std::os::raw::c_int,
19484     pub wasImageCaptured: bool,
19485 }
19486 #[test]
bindgen_test_layout_ACameraCaptureFailure()19487 fn bindgen_test_layout_ACameraCaptureFailure() {
19488     assert_eq!(
19489         ::std::mem::size_of::<ACameraCaptureFailure>(),
19490         24usize,
19491         concat!("Size of: ", stringify!(ACameraCaptureFailure))
19492     );
19493     assert_eq!(
19494         ::std::mem::align_of::<ACameraCaptureFailure>(),
19495         8usize,
19496         concat!("Alignment of ", stringify!(ACameraCaptureFailure))
19497     );
19498     assert_eq!(
19499         unsafe {
19500             &(*(::std::ptr::null::<ACameraCaptureFailure>())).frameNumber as *const _ as usize
19501         },
19502         0usize,
19503         concat!(
19504             "Offset of field: ",
19505             stringify!(ACameraCaptureFailure),
19506             "::",
19507             stringify!(frameNumber)
19508         )
19509     );
19510     assert_eq!(
19511         unsafe { &(*(::std::ptr::null::<ACameraCaptureFailure>())).reason as *const _ as usize },
19512         8usize,
19513         concat!(
19514             "Offset of field: ",
19515             stringify!(ACameraCaptureFailure),
19516             "::",
19517             stringify!(reason)
19518         )
19519     );
19520     assert_eq!(
19521         unsafe {
19522             &(*(::std::ptr::null::<ACameraCaptureFailure>())).sequenceId as *const _ as usize
19523         },
19524         12usize,
19525         concat!(
19526             "Offset of field: ",
19527             stringify!(ACameraCaptureFailure),
19528             "::",
19529             stringify!(sequenceId)
19530         )
19531     );
19532     assert_eq!(
19533         unsafe {
19534             &(*(::std::ptr::null::<ACameraCaptureFailure>())).wasImageCaptured as *const _ as usize
19535         },
19536         16usize,
19537         concat!(
19538             "Offset of field: ",
19539             stringify!(ACameraCaptureFailure),
19540             "::",
19541             stringify!(wasImageCaptured)
19542         )
19543     );
19544 }
19545 pub type ACameraCaptureSession_captureCallback_start = ::std::option::Option<
19546     unsafe extern "C" fn(
19547         context: *mut ::std::os::raw::c_void,
19548         session: *mut ACameraCaptureSession,
19549         request: *const ACaptureRequest,
19550         timestamp: i64,
19551     ),
19552 >;
19553 pub type ACameraCaptureSession_captureCallback_result = ::std::option::Option<
19554     unsafe extern "C" fn(
19555         context: *mut ::std::os::raw::c_void,
19556         session: *mut ACameraCaptureSession,
19557         request: *mut ACaptureRequest,
19558         result: *const ACameraMetadata,
19559     ),
19560 >;
19561 pub type ACameraCaptureSession_captureCallback_failed = ::std::option::Option<
19562     unsafe extern "C" fn(
19563         context: *mut ::std::os::raw::c_void,
19564         session: *mut ACameraCaptureSession,
19565         request: *mut ACaptureRequest,
19566         failure: *mut ACameraCaptureFailure,
19567     ),
19568 >;
19569 pub type ACameraCaptureSession_captureCallback_sequenceEnd = ::std::option::Option<
19570     unsafe extern "C" fn(
19571         context: *mut ::std::os::raw::c_void,
19572         session: *mut ACameraCaptureSession,
19573         sequenceId: ::std::os::raw::c_int,
19574         frameNumber: i64,
19575     ),
19576 >;
19577 pub type ACameraCaptureSession_captureCallback_sequenceAbort = ::std::option::Option<
19578     unsafe extern "C" fn(
19579         context: *mut ::std::os::raw::c_void,
19580         session: *mut ACameraCaptureSession,
19581         sequenceId: ::std::os::raw::c_int,
19582     ),
19583 >;
19584 pub type ACameraCaptureSession_captureCallback_bufferLost = ::std::option::Option<
19585     unsafe extern "C" fn(
19586         context: *mut ::std::os::raw::c_void,
19587         session: *mut ACameraCaptureSession,
19588         request: *mut ACaptureRequest,
19589         window: *mut ACameraWindowType,
19590         frameNumber: i64,
19591     ),
19592 >;
19593 #[repr(C)]
19594 #[derive(Debug, Copy, Clone)]
19595 pub struct ACameraCaptureSession_captureCallbacks {
19596     pub context: *mut ::std::os::raw::c_void,
19597     pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
19598     pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
19599     pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
19600     pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
19601     pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
19602     pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
19603     pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
19604 }
19605 #[test]
bindgen_test_layout_ACameraCaptureSession_captureCallbacks()19606 fn bindgen_test_layout_ACameraCaptureSession_captureCallbacks() {
19607     assert_eq!(
19608         ::std::mem::size_of::<ACameraCaptureSession_captureCallbacks>(),
19609         32usize,
19610         concat!(
19611             "Size of: ",
19612             stringify!(ACameraCaptureSession_captureCallbacks)
19613         )
19614     );
19615     assert_eq!(
19616         ::std::mem::align_of::<ACameraCaptureSession_captureCallbacks>(),
19617         4usize,
19618         concat!(
19619             "Alignment of ",
19620             stringify!(ACameraCaptureSession_captureCallbacks)
19621         )
19622     );
19623     assert_eq!(
19624         unsafe {
19625             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).context as *const _
19626                 as usize
19627         },
19628         0usize,
19629         concat!(
19630             "Offset of field: ",
19631             stringify!(ACameraCaptureSession_captureCallbacks),
19632             "::",
19633             stringify!(context)
19634         )
19635     );
19636     assert_eq!(
19637         unsafe {
19638             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureStarted
19639                 as *const _ as usize
19640         },
19641         4usize,
19642         concat!(
19643             "Offset of field: ",
19644             stringify!(ACameraCaptureSession_captureCallbacks),
19645             "::",
19646             stringify!(onCaptureStarted)
19647         )
19648     );
19649     assert_eq!(
19650         unsafe {
19651             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureProgressed
19652                 as *const _ as usize
19653         },
19654         8usize,
19655         concat!(
19656             "Offset of field: ",
19657             stringify!(ACameraCaptureSession_captureCallbacks),
19658             "::",
19659             stringify!(onCaptureProgressed)
19660         )
19661     );
19662     assert_eq!(
19663         unsafe {
19664             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureCompleted
19665                 as *const _ as usize
19666         },
19667         12usize,
19668         concat!(
19669             "Offset of field: ",
19670             stringify!(ACameraCaptureSession_captureCallbacks),
19671             "::",
19672             stringify!(onCaptureCompleted)
19673         )
19674     );
19675     assert_eq!(
19676         unsafe {
19677             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureFailed
19678                 as *const _ as usize
19679         },
19680         16usize,
19681         concat!(
19682             "Offset of field: ",
19683             stringify!(ACameraCaptureSession_captureCallbacks),
19684             "::",
19685             stringify!(onCaptureFailed)
19686         )
19687     );
19688     assert_eq!(
19689         unsafe {
19690             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>()))
19691                 .onCaptureSequenceCompleted as *const _ as usize
19692         },
19693         20usize,
19694         concat!(
19695             "Offset of field: ",
19696             stringify!(ACameraCaptureSession_captureCallbacks),
19697             "::",
19698             stringify!(onCaptureSequenceCompleted)
19699         )
19700     );
19701     assert_eq!(
19702         unsafe {
19703             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>()))
19704                 .onCaptureSequenceAborted as *const _ as usize
19705         },
19706         24usize,
19707         concat!(
19708             "Offset of field: ",
19709             stringify!(ACameraCaptureSession_captureCallbacks),
19710             "::",
19711             stringify!(onCaptureSequenceAborted)
19712         )
19713     );
19714     assert_eq!(
19715         unsafe {
19716             &(*(::std::ptr::null::<ACameraCaptureSession_captureCallbacks>())).onCaptureBufferLost
19717                 as *const _ as usize
19718         },
19719         28usize,
19720         concat!(
19721             "Offset of field: ",
19722             stringify!(ACameraCaptureSession_captureCallbacks),
19723             "::",
19724             stringify!(onCaptureBufferLost)
19725         )
19726     );
19727 }
19728 pub const CAPTURE_SEQUENCE_ID_NONE: _bindgen_ty_56 = -1;
19729 pub type _bindgen_ty_56 = i32;
19730 extern "C" {
ACameraCaptureSession_close(session: *mut ACameraCaptureSession)19731     pub fn ACameraCaptureSession_close(session: *mut ACameraCaptureSession);
19732 }
19733 #[repr(C)]
19734 #[derive(Debug, Copy, Clone)]
19735 pub struct ACameraDevice {
19736     _unused: [u8; 0],
19737 }
19738 extern "C" {
ACameraCaptureSession_getDevice( session: *mut ACameraCaptureSession, device: *mut *mut ACameraDevice, ) -> camera_status_t19739     pub fn ACameraCaptureSession_getDevice(
19740         session: *mut ACameraCaptureSession,
19741         device: *mut *mut ACameraDevice,
19742     ) -> camera_status_t;
19743 }
19744 extern "C" {
ACameraCaptureSession_capture( session: *mut ACameraCaptureSession, callbacks: *mut ACameraCaptureSession_captureCallbacks, numRequests: ::std::os::raw::c_int, requests: *mut *mut ACaptureRequest, captureSequenceId: *mut ::std::os::raw::c_int, ) -> camera_status_t19745     pub fn ACameraCaptureSession_capture(
19746         session: *mut ACameraCaptureSession,
19747         callbacks: *mut ACameraCaptureSession_captureCallbacks,
19748         numRequests: ::std::os::raw::c_int,
19749         requests: *mut *mut ACaptureRequest,
19750         captureSequenceId: *mut ::std::os::raw::c_int,
19751     ) -> camera_status_t;
19752 }
19753 extern "C" {
ACameraCaptureSession_setRepeatingRequest( session: *mut ACameraCaptureSession, callbacks: *mut ACameraCaptureSession_captureCallbacks, numRequests: ::std::os::raw::c_int, requests: *mut *mut ACaptureRequest, captureSequenceId: *mut ::std::os::raw::c_int, ) -> camera_status_t19754     pub fn ACameraCaptureSession_setRepeatingRequest(
19755         session: *mut ACameraCaptureSession,
19756         callbacks: *mut ACameraCaptureSession_captureCallbacks,
19757         numRequests: ::std::os::raw::c_int,
19758         requests: *mut *mut ACaptureRequest,
19759         captureSequenceId: *mut ::std::os::raw::c_int,
19760     ) -> camera_status_t;
19761 }
19762 extern "C" {
ACameraCaptureSession_stopRepeating( session: *mut ACameraCaptureSession, ) -> camera_status_t19763     pub fn ACameraCaptureSession_stopRepeating(
19764         session: *mut ACameraCaptureSession,
19765     ) -> camera_status_t;
19766 }
19767 extern "C" {
ACameraCaptureSession_abortCaptures( session: *mut ACameraCaptureSession, ) -> camera_status_t19768     pub fn ACameraCaptureSession_abortCaptures(
19769         session: *mut ACameraCaptureSession,
19770     ) -> camera_status_t;
19771 }
19772 #[repr(C)]
19773 #[derive(Debug, Copy, Clone)]
19774 pub struct ACaptureSessionOutput {
19775     _unused: [u8; 0],
19776 }
19777 extern "C" {
ACameraCaptureSession_updateSharedOutput( session: *mut ACameraCaptureSession, output: *mut ACaptureSessionOutput, ) -> camera_status_t19778     pub fn ACameraCaptureSession_updateSharedOutput(
19779         session: *mut ACameraCaptureSession,
19780         output: *mut ACaptureSessionOutput,
19781     ) -> camera_status_t;
19782 }
19783 pub type ACameraCaptureSession_logicalCamera_captureCallback_result = ::std::option::Option<
19784     unsafe extern "C" fn(
19785         context: *mut ::std::os::raw::c_void,
19786         session: *mut ACameraCaptureSession,
19787         request: *mut ACaptureRequest,
19788         result: *const ACameraMetadata,
19789         physicalResultCount: size_t,
19790         physicalCameraIds: *mut *const ::std::os::raw::c_char,
19791         physicalResults: *mut *const ACameraMetadata,
19792     ),
19793 >;
19794 #[repr(C)]
19795 #[derive(Debug, Copy, Clone)]
19796 pub struct ALogicalCameraCaptureFailure {
19797     pub captureFailure: ACameraCaptureFailure,
19798     pub physicalCameraId: *const ::std::os::raw::c_char,
19799 }
19800 #[test]
bindgen_test_layout_ALogicalCameraCaptureFailure()19801 fn bindgen_test_layout_ALogicalCameraCaptureFailure() {
19802     assert_eq!(
19803         ::std::mem::size_of::<ALogicalCameraCaptureFailure>(),
19804         32usize,
19805         concat!("Size of: ", stringify!(ALogicalCameraCaptureFailure))
19806     );
19807     assert_eq!(
19808         ::std::mem::align_of::<ALogicalCameraCaptureFailure>(),
19809         8usize,
19810         concat!("Alignment of ", stringify!(ALogicalCameraCaptureFailure))
19811     );
19812     assert_eq!(
19813         unsafe {
19814             &(*(::std::ptr::null::<ALogicalCameraCaptureFailure>())).captureFailure as *const _
19815                 as usize
19816         },
19817         0usize,
19818         concat!(
19819             "Offset of field: ",
19820             stringify!(ALogicalCameraCaptureFailure),
19821             "::",
19822             stringify!(captureFailure)
19823         )
19824     );
19825     assert_eq!(
19826         unsafe {
19827             &(*(::std::ptr::null::<ALogicalCameraCaptureFailure>())).physicalCameraId as *const _
19828                 as usize
19829         },
19830         24usize,
19831         concat!(
19832             "Offset of field: ",
19833             stringify!(ALogicalCameraCaptureFailure),
19834             "::",
19835             stringify!(physicalCameraId)
19836         )
19837     );
19838 }
19839 pub type ACameraCaptureSession_logicalCamera_captureCallback_failed = ::std::option::Option<
19840     unsafe extern "C" fn(
19841         context: *mut ::std::os::raw::c_void,
19842         session: *mut ACameraCaptureSession,
19843         request: *mut ACaptureRequest,
19844         failure: *mut ALogicalCameraCaptureFailure,
19845     ),
19846 >;
19847 #[repr(C)]
19848 #[derive(Debug, Copy, Clone)]
19849 pub struct ACameraCaptureSession_logicalCamera_captureCallbacks {
19850     pub context: *mut ::std::os::raw::c_void,
19851     pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
19852     pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
19853     pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
19854     pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
19855     pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
19856     pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
19857     pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
19858 }
19859 #[test]
bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacks()19860 fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacks() {
19861     assert_eq!(
19862         ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
19863         32usize,
19864         concat!(
19865             "Size of: ",
19866             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
19867         )
19868     );
19869     assert_eq!(
19870         ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
19871         4usize,
19872         concat!(
19873             "Alignment of ",
19874             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
19875         )
19876     );
19877     assert_eq!(
19878         unsafe {
19879             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>())).context
19880                 as *const _ as usize
19881         },
19882         0usize,
19883         concat!(
19884             "Offset of field: ",
19885             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
19886             "::",
19887             stringify!(context)
19888         )
19889     );
19890     assert_eq!(
19891         unsafe {
19892             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
19893                 .onCaptureStarted as *const _ as usize
19894         },
19895         4usize,
19896         concat!(
19897             "Offset of field: ",
19898             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
19899             "::",
19900             stringify!(onCaptureStarted)
19901         )
19902     );
19903     assert_eq!(
19904         unsafe {
19905             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
19906                 .onCaptureProgressed as *const _ as usize
19907         },
19908         8usize,
19909         concat!(
19910             "Offset of field: ",
19911             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
19912             "::",
19913             stringify!(onCaptureProgressed)
19914         )
19915     );
19916     assert_eq!(
19917         unsafe {
19918             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
19919                 .onLogicalCameraCaptureCompleted as *const _ as usize
19920         },
19921         12usize,
19922         concat!(
19923             "Offset of field: ",
19924             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
19925             "::",
19926             stringify!(onLogicalCameraCaptureCompleted)
19927         )
19928     );
19929     assert_eq!(
19930         unsafe {
19931             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
19932                 .onLogicalCameraCaptureFailed as *const _ as usize
19933         },
19934         16usize,
19935         concat!(
19936             "Offset of field: ",
19937             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
19938             "::",
19939             stringify!(onLogicalCameraCaptureFailed)
19940         )
19941     );
19942     assert_eq!(
19943         unsafe {
19944             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
19945                 .onCaptureSequenceCompleted as *const _ as usize
19946         },
19947         20usize,
19948         concat!(
19949             "Offset of field: ",
19950             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
19951             "::",
19952             stringify!(onCaptureSequenceCompleted)
19953         )
19954     );
19955     assert_eq!(
19956         unsafe {
19957             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
19958                 .onCaptureSequenceAborted as *const _ as usize
19959         },
19960         24usize,
19961         concat!(
19962             "Offset of field: ",
19963             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
19964             "::",
19965             stringify!(onCaptureSequenceAborted)
19966         )
19967     );
19968     assert_eq!(
19969         unsafe {
19970             &(*(::std::ptr::null::<ACameraCaptureSession_logicalCamera_captureCallbacks>()))
19971                 .onCaptureBufferLost as *const _ as usize
19972         },
19973         28usize,
19974         concat!(
19975             "Offset of field: ",
19976             stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
19977             "::",
19978             stringify!(onCaptureBufferLost)
19979         )
19980     );
19981 }
19982 extern "C" {
ACameraCaptureSession_logicalCamera_capture( session: *mut ACameraCaptureSession, callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks, numRequests: ::std::os::raw::c_int, requests: *mut *mut ACaptureRequest, captureSequenceId: *mut ::std::os::raw::c_int, ) -> camera_status_t19983     pub fn ACameraCaptureSession_logicalCamera_capture(
19984         session: *mut ACameraCaptureSession,
19985         callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
19986         numRequests: ::std::os::raw::c_int,
19987         requests: *mut *mut ACaptureRequest,
19988         captureSequenceId: *mut ::std::os::raw::c_int,
19989     ) -> camera_status_t;
19990 }
19991 extern "C" {
ACameraCaptureSession_logicalCamera_setRepeatingRequest( session: *mut ACameraCaptureSession, callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks, numRequests: ::std::os::raw::c_int, requests: *mut *mut ACaptureRequest, captureSequenceId: *mut ::std::os::raw::c_int, ) -> camera_status_t19992     pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequest(
19993         session: *mut ACameraCaptureSession,
19994         callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
19995         numRequests: ::std::os::raw::c_int,
19996         requests: *mut *mut ACaptureRequest,
19997         captureSequenceId: *mut ::std::os::raw::c_int,
19998     ) -> camera_status_t;
19999 }
20000 #[repr(C)]
20001 #[derive(Debug, Copy, Clone)]
20002 pub struct ACameraIdList {
20003     pub numCameras: ::std::os::raw::c_int,
20004     pub cameraIds: *mut *const ::std::os::raw::c_char,
20005 }
20006 #[test]
bindgen_test_layout_ACameraIdList()20007 fn bindgen_test_layout_ACameraIdList() {
20008     assert_eq!(
20009         ::std::mem::size_of::<ACameraIdList>(),
20010         8usize,
20011         concat!("Size of: ", stringify!(ACameraIdList))
20012     );
20013     assert_eq!(
20014         ::std::mem::align_of::<ACameraIdList>(),
20015         4usize,
20016         concat!("Alignment of ", stringify!(ACameraIdList))
20017     );
20018     assert_eq!(
20019         unsafe { &(*(::std::ptr::null::<ACameraIdList>())).numCameras as *const _ as usize },
20020         0usize,
20021         concat!(
20022             "Offset of field: ",
20023             stringify!(ACameraIdList),
20024             "::",
20025             stringify!(numCameras)
20026         )
20027     );
20028     assert_eq!(
20029         unsafe { &(*(::std::ptr::null::<ACameraIdList>())).cameraIds as *const _ as usize },
20030         4usize,
20031         concat!(
20032             "Offset of field: ",
20033             stringify!(ACameraIdList),
20034             "::",
20035             stringify!(cameraIds)
20036         )
20037     );
20038 }
20039 pub const ERROR_CAMERA_IN_USE: _bindgen_ty_57 = 1;
20040 pub const ERROR_MAX_CAMERAS_IN_USE: _bindgen_ty_57 = 2;
20041 pub const ERROR_CAMERA_DISABLED: _bindgen_ty_57 = 3;
20042 pub const ERROR_CAMERA_DEVICE: _bindgen_ty_57 = 4;
20043 pub const ERROR_CAMERA_SERVICE: _bindgen_ty_57 = 5;
20044 pub type _bindgen_ty_57 = u32;
20045 pub type ACameraDevice_StateCallback = ::std::option::Option<
20046     unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, device: *mut ACameraDevice),
20047 >;
20048 pub type ACameraDevice_ErrorStateCallback = ::std::option::Option<
20049     unsafe extern "C" fn(
20050         context: *mut ::std::os::raw::c_void,
20051         device: *mut ACameraDevice,
20052         error: ::std::os::raw::c_int,
20053     ),
20054 >;
20055 #[repr(C)]
20056 #[derive(Debug, Copy, Clone)]
20057 pub struct ACameraDevice_StateCallbacks {
20058     pub context: *mut ::std::os::raw::c_void,
20059     pub onDisconnected: ACameraDevice_StateCallback,
20060     pub onError: ACameraDevice_ErrorStateCallback,
20061 }
20062 #[test]
bindgen_test_layout_ACameraDevice_StateCallbacks()20063 fn bindgen_test_layout_ACameraDevice_StateCallbacks() {
20064     assert_eq!(
20065         ::std::mem::size_of::<ACameraDevice_StateCallbacks>(),
20066         12usize,
20067         concat!("Size of: ", stringify!(ACameraDevice_StateCallbacks))
20068     );
20069     assert_eq!(
20070         ::std::mem::align_of::<ACameraDevice_StateCallbacks>(),
20071         4usize,
20072         concat!("Alignment of ", stringify!(ACameraDevice_StateCallbacks))
20073     );
20074     assert_eq!(
20075         unsafe {
20076             &(*(::std::ptr::null::<ACameraDevice_StateCallbacks>())).context as *const _ as usize
20077         },
20078         0usize,
20079         concat!(
20080             "Offset of field: ",
20081             stringify!(ACameraDevice_StateCallbacks),
20082             "::",
20083             stringify!(context)
20084         )
20085     );
20086     assert_eq!(
20087         unsafe {
20088             &(*(::std::ptr::null::<ACameraDevice_StateCallbacks>())).onDisconnected as *const _
20089                 as usize
20090         },
20091         4usize,
20092         concat!(
20093             "Offset of field: ",
20094             stringify!(ACameraDevice_StateCallbacks),
20095             "::",
20096             stringify!(onDisconnected)
20097         )
20098     );
20099     assert_eq!(
20100         unsafe {
20101             &(*(::std::ptr::null::<ACameraDevice_StateCallbacks>())).onError as *const _ as usize
20102         },
20103         8usize,
20104         concat!(
20105             "Offset of field: ",
20106             stringify!(ACameraDevice_StateCallbacks),
20107             "::",
20108             stringify!(onError)
20109         )
20110     );
20111 }
20112 pub type ACameraDevice_stateCallbacks = ACameraDevice_StateCallbacks;
20113 extern "C" {
ACameraDevice_close(device: *mut ACameraDevice) -> camera_status_t20114     pub fn ACameraDevice_close(device: *mut ACameraDevice) -> camera_status_t;
20115 }
20116 extern "C" {
ACameraDevice_getId(device: *const ACameraDevice) -> *const ::std::os::raw::c_char20117     pub fn ACameraDevice_getId(device: *const ACameraDevice) -> *const ::std::os::raw::c_char;
20118 }
20119 pub const ACameraDevice_request_template_TEMPLATE_PREVIEW: ACameraDevice_request_template = 1;
20120 pub const ACameraDevice_request_template_TEMPLATE_STILL_CAPTURE: ACameraDevice_request_template = 2;
20121 pub const ACameraDevice_request_template_TEMPLATE_RECORD: ACameraDevice_request_template = 3;
20122 pub const ACameraDevice_request_template_TEMPLATE_VIDEO_SNAPSHOT: ACameraDevice_request_template =
20123     4;
20124 pub const ACameraDevice_request_template_TEMPLATE_ZERO_SHUTTER_LAG: ACameraDevice_request_template =
20125     5;
20126 pub const ACameraDevice_request_template_TEMPLATE_MANUAL: ACameraDevice_request_template = 6;
20127 pub type ACameraDevice_request_template = u32;
20128 extern "C" {
ACameraDevice_createCaptureRequest( device: *const ACameraDevice, templateId: ACameraDevice_request_template, request: *mut *mut ACaptureRequest, ) -> camera_status_t20129     pub fn ACameraDevice_createCaptureRequest(
20130         device: *const ACameraDevice,
20131         templateId: ACameraDevice_request_template,
20132         request: *mut *mut ACaptureRequest,
20133     ) -> camera_status_t;
20134 }
20135 #[repr(C)]
20136 #[derive(Debug, Copy, Clone)]
20137 pub struct ACaptureSessionOutputContainer {
20138     _unused: [u8; 0],
20139 }
20140 extern "C" {
ACaptureSessionOutputContainer_create( container: *mut *mut ACaptureSessionOutputContainer, ) -> camera_status_t20141     pub fn ACaptureSessionOutputContainer_create(
20142         container: *mut *mut ACaptureSessionOutputContainer,
20143     ) -> camera_status_t;
20144 }
20145 extern "C" {
ACaptureSessionOutputContainer_free(container: *mut ACaptureSessionOutputContainer)20146     pub fn ACaptureSessionOutputContainer_free(container: *mut ACaptureSessionOutputContainer);
20147 }
20148 extern "C" {
ACaptureSessionOutput_create( anw: *mut ACameraWindowType, output: *mut *mut ACaptureSessionOutput, ) -> camera_status_t20149     pub fn ACaptureSessionOutput_create(
20150         anw: *mut ACameraWindowType,
20151         output: *mut *mut ACaptureSessionOutput,
20152     ) -> camera_status_t;
20153 }
20154 extern "C" {
ACaptureSessionOutput_free(output: *mut ACaptureSessionOutput)20155     pub fn ACaptureSessionOutput_free(output: *mut ACaptureSessionOutput);
20156 }
20157 extern "C" {
ACaptureSessionOutputContainer_add( container: *mut ACaptureSessionOutputContainer, output: *const ACaptureSessionOutput, ) -> camera_status_t20158     pub fn ACaptureSessionOutputContainer_add(
20159         container: *mut ACaptureSessionOutputContainer,
20160         output: *const ACaptureSessionOutput,
20161     ) -> camera_status_t;
20162 }
20163 extern "C" {
ACaptureSessionOutputContainer_remove( container: *mut ACaptureSessionOutputContainer, output: *const ACaptureSessionOutput, ) -> camera_status_t20164     pub fn ACaptureSessionOutputContainer_remove(
20165         container: *mut ACaptureSessionOutputContainer,
20166         output: *const ACaptureSessionOutput,
20167     ) -> camera_status_t;
20168 }
20169 extern "C" {
ACameraDevice_createCaptureSession( device: *mut ACameraDevice, outputs: *const ACaptureSessionOutputContainer, callbacks: *const ACameraCaptureSession_stateCallbacks, session: *mut *mut ACameraCaptureSession, ) -> camera_status_t20170     pub fn ACameraDevice_createCaptureSession(
20171         device: *mut ACameraDevice,
20172         outputs: *const ACaptureSessionOutputContainer,
20173         callbacks: *const ACameraCaptureSession_stateCallbacks,
20174         session: *mut *mut ACameraCaptureSession,
20175     ) -> camera_status_t;
20176 }
20177 extern "C" {
ACaptureSessionSharedOutput_create( anw: *mut ACameraWindowType, output: *mut *mut ACaptureSessionOutput, ) -> camera_status_t20178     pub fn ACaptureSessionSharedOutput_create(
20179         anw: *mut ACameraWindowType,
20180         output: *mut *mut ACaptureSessionOutput,
20181     ) -> camera_status_t;
20182 }
20183 extern "C" {
ACaptureSessionSharedOutput_add( output: *mut ACaptureSessionOutput, anw: *mut ACameraWindowType, ) -> camera_status_t20184     pub fn ACaptureSessionSharedOutput_add(
20185         output: *mut ACaptureSessionOutput,
20186         anw: *mut ACameraWindowType,
20187     ) -> camera_status_t;
20188 }
20189 extern "C" {
ACaptureSessionSharedOutput_remove( output: *mut ACaptureSessionOutput, anw: *mut ACameraWindowType, ) -> camera_status_t20190     pub fn ACaptureSessionSharedOutput_remove(
20191         output: *mut ACaptureSessionOutput,
20192         anw: *mut ACameraWindowType,
20193     ) -> camera_status_t;
20194 }
20195 extern "C" {
ACameraDevice_createCaptureSessionWithSessionParameters( device: *mut ACameraDevice, outputs: *const ACaptureSessionOutputContainer, sessionParameters: *const ACaptureRequest, callbacks: *const ACameraCaptureSession_stateCallbacks, session: *mut *mut ACameraCaptureSession, ) -> camera_status_t20196     pub fn ACameraDevice_createCaptureSessionWithSessionParameters(
20197         device: *mut ACameraDevice,
20198         outputs: *const ACaptureSessionOutputContainer,
20199         sessionParameters: *const ACaptureRequest,
20200         callbacks: *const ACameraCaptureSession_stateCallbacks,
20201         session: *mut *mut ACameraCaptureSession,
20202     ) -> camera_status_t;
20203 }
20204 extern "C" {
ACaptureSessionPhysicalOutput_create( anw: *mut ACameraWindowType, physicalId: *const ::std::os::raw::c_char, output: *mut *mut ACaptureSessionOutput, ) -> camera_status_t20205     pub fn ACaptureSessionPhysicalOutput_create(
20206         anw: *mut ACameraWindowType,
20207         physicalId: *const ::std::os::raw::c_char,
20208         output: *mut *mut ACaptureSessionOutput,
20209     ) -> camera_status_t;
20210 }
20211 extern "C" {
ACameraDevice_createCaptureRequest_withPhysicalIds( device: *const ACameraDevice, templateId: ACameraDevice_request_template, physicalIdList: *const ACameraIdList, request: *mut *mut ACaptureRequest, ) -> camera_status_t20212     pub fn ACameraDevice_createCaptureRequest_withPhysicalIds(
20213         device: *const ACameraDevice,
20214         templateId: ACameraDevice_request_template,
20215         physicalIdList: *const ACameraIdList,
20216         request: *mut *mut ACaptureRequest,
20217     ) -> camera_status_t;
20218 }
20219 extern "C" {
ACameraDevice_isSessionConfigurationSupported( device: *const ACameraDevice, sessionOutputContainer: *const ACaptureSessionOutputContainer, ) -> camera_status_t20220     pub fn ACameraDevice_isSessionConfigurationSupported(
20221         device: *const ACameraDevice,
20222         sessionOutputContainer: *const ACaptureSessionOutputContainer,
20223     ) -> camera_status_t;
20224 }
20225 #[repr(C)]
20226 #[derive(Debug, Copy, Clone)]
20227 pub struct ACameraManager {
20228     _unused: [u8; 0],
20229 }
20230 extern "C" {
ACameraManager_create() -> *mut ACameraManager20231     pub fn ACameraManager_create() -> *mut ACameraManager;
20232 }
20233 extern "C" {
ACameraManager_delete(manager: *mut ACameraManager)20234     pub fn ACameraManager_delete(manager: *mut ACameraManager);
20235 }
20236 extern "C" {
ACameraManager_getCameraIdList( manager: *mut ACameraManager, cameraIdList: *mut *mut ACameraIdList, ) -> camera_status_t20237     pub fn ACameraManager_getCameraIdList(
20238         manager: *mut ACameraManager,
20239         cameraIdList: *mut *mut ACameraIdList,
20240     ) -> camera_status_t;
20241 }
20242 extern "C" {
ACameraManager_deleteCameraIdList(cameraIdList: *mut ACameraIdList)20243     pub fn ACameraManager_deleteCameraIdList(cameraIdList: *mut ACameraIdList);
20244 }
20245 pub type ACameraManager_AvailabilityCallback = ::std::option::Option<
20246     unsafe extern "C" fn(
20247         context: *mut ::std::os::raw::c_void,
20248         cameraId: *const ::std::os::raw::c_char,
20249     ),
20250 >;
20251 pub type ACameraManager_PhysicalCameraAvailabilityCallback = ::std::option::Option<
20252     unsafe extern "C" fn(
20253         context: *mut ::std::os::raw::c_void,
20254         cameraId: *const ::std::os::raw::c_char,
20255         physicalCameraId: *const ::std::os::raw::c_char,
20256     ),
20257 >;
20258 #[repr(C)]
20259 #[derive(Debug, Copy, Clone)]
20260 pub struct ACameraManager_AvailabilityListener {
20261     pub context: *mut ::std::os::raw::c_void,
20262     pub onCameraAvailable: ACameraManager_AvailabilityCallback,
20263     pub onCameraUnavailable: ACameraManager_AvailabilityCallback,
20264 }
20265 #[test]
bindgen_test_layout_ACameraManager_AvailabilityListener()20266 fn bindgen_test_layout_ACameraManager_AvailabilityListener() {
20267     assert_eq!(
20268         ::std::mem::size_of::<ACameraManager_AvailabilityListener>(),
20269         12usize,
20270         concat!("Size of: ", stringify!(ACameraManager_AvailabilityListener))
20271     );
20272     assert_eq!(
20273         ::std::mem::align_of::<ACameraManager_AvailabilityListener>(),
20274         4usize,
20275         concat!(
20276             "Alignment of ",
20277             stringify!(ACameraManager_AvailabilityListener)
20278         )
20279     );
20280     assert_eq!(
20281         unsafe {
20282             &(*(::std::ptr::null::<ACameraManager_AvailabilityListener>())).context as *const _
20283                 as usize
20284         },
20285         0usize,
20286         concat!(
20287             "Offset of field: ",
20288             stringify!(ACameraManager_AvailabilityListener),
20289             "::",
20290             stringify!(context)
20291         )
20292     );
20293     assert_eq!(
20294         unsafe {
20295             &(*(::std::ptr::null::<ACameraManager_AvailabilityListener>())).onCameraAvailable
20296                 as *const _ as usize
20297         },
20298         4usize,
20299         concat!(
20300             "Offset of field: ",
20301             stringify!(ACameraManager_AvailabilityListener),
20302             "::",
20303             stringify!(onCameraAvailable)
20304         )
20305     );
20306     assert_eq!(
20307         unsafe {
20308             &(*(::std::ptr::null::<ACameraManager_AvailabilityListener>())).onCameraUnavailable
20309                 as *const _ as usize
20310         },
20311         8usize,
20312         concat!(
20313             "Offset of field: ",
20314             stringify!(ACameraManager_AvailabilityListener),
20315             "::",
20316             stringify!(onCameraUnavailable)
20317         )
20318     );
20319 }
20320 pub type ACameraManager_AvailabilityCallbacks = ACameraManager_AvailabilityListener;
20321 extern "C" {
ACameraManager_registerAvailabilityCallback( manager: *mut ACameraManager, callback: *const ACameraManager_AvailabilityCallbacks, ) -> camera_status_t20322     pub fn ACameraManager_registerAvailabilityCallback(
20323         manager: *mut ACameraManager,
20324         callback: *const ACameraManager_AvailabilityCallbacks,
20325     ) -> camera_status_t;
20326 }
20327 extern "C" {
ACameraManager_unregisterAvailabilityCallback( manager: *mut ACameraManager, callback: *const ACameraManager_AvailabilityCallbacks, ) -> camera_status_t20328     pub fn ACameraManager_unregisterAvailabilityCallback(
20329         manager: *mut ACameraManager,
20330         callback: *const ACameraManager_AvailabilityCallbacks,
20331     ) -> camera_status_t;
20332 }
20333 extern "C" {
ACameraManager_getCameraCharacteristics( manager: *mut ACameraManager, cameraId: *const ::std::os::raw::c_char, characteristics: *mut *mut ACameraMetadata, ) -> camera_status_t20334     pub fn ACameraManager_getCameraCharacteristics(
20335         manager: *mut ACameraManager,
20336         cameraId: *const ::std::os::raw::c_char,
20337         characteristics: *mut *mut ACameraMetadata,
20338     ) -> camera_status_t;
20339 }
20340 extern "C" {
ACameraManager_openCamera( manager: *mut ACameraManager, cameraId: *const ::std::os::raw::c_char, callback: *mut ACameraDevice_StateCallbacks, device: *mut *mut ACameraDevice, ) -> camera_status_t20341     pub fn ACameraManager_openCamera(
20342         manager: *mut ACameraManager,
20343         cameraId: *const ::std::os::raw::c_char,
20344         callback: *mut ACameraDevice_StateCallbacks,
20345         device: *mut *mut ACameraDevice,
20346     ) -> camera_status_t;
20347 }
20348 pub type ACameraManager_AccessPrioritiesChangedCallback =
20349     ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void)>;
20350 #[repr(C)]
20351 #[derive(Debug, Copy, Clone)]
20352 pub struct ACameraManager_ExtendedAvailabilityListener {
20353     pub availabilityCallbacks: ACameraManager_AvailabilityCallbacks,
20354     pub onCameraAccessPrioritiesChanged: ACameraManager_AccessPrioritiesChangedCallback,
20355     pub onPhysicalCameraAvailable: ACameraManager_PhysicalCameraAvailabilityCallback,
20356     pub onPhysicalCameraUnavailable: ACameraManager_PhysicalCameraAvailabilityCallback,
20357     pub reserved: [*mut ::std::os::raw::c_void; 4usize],
20358 }
20359 #[test]
bindgen_test_layout_ACameraManager_ExtendedAvailabilityListener()20360 fn bindgen_test_layout_ACameraManager_ExtendedAvailabilityListener() {
20361     assert_eq!(
20362         ::std::mem::size_of::<ACameraManager_ExtendedAvailabilityListener>(),
20363         40usize,
20364         concat!(
20365             "Size of: ",
20366             stringify!(ACameraManager_ExtendedAvailabilityListener)
20367         )
20368     );
20369     assert_eq!(
20370         ::std::mem::align_of::<ACameraManager_ExtendedAvailabilityListener>(),
20371         4usize,
20372         concat!(
20373             "Alignment of ",
20374             stringify!(ACameraManager_ExtendedAvailabilityListener)
20375         )
20376     );
20377     assert_eq!(
20378         unsafe {
20379             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
20380                 .availabilityCallbacks as *const _ as usize
20381         },
20382         0usize,
20383         concat!(
20384             "Offset of field: ",
20385             stringify!(ACameraManager_ExtendedAvailabilityListener),
20386             "::",
20387             stringify!(availabilityCallbacks)
20388         )
20389     );
20390     assert_eq!(
20391         unsafe {
20392             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
20393                 .onCameraAccessPrioritiesChanged as *const _ as usize
20394         },
20395         12usize,
20396         concat!(
20397             "Offset of field: ",
20398             stringify!(ACameraManager_ExtendedAvailabilityListener),
20399             "::",
20400             stringify!(onCameraAccessPrioritiesChanged)
20401         )
20402     );
20403     assert_eq!(
20404         unsafe {
20405             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
20406                 .onPhysicalCameraAvailable as *const _ as usize
20407         },
20408         16usize,
20409         concat!(
20410             "Offset of field: ",
20411             stringify!(ACameraManager_ExtendedAvailabilityListener),
20412             "::",
20413             stringify!(onPhysicalCameraAvailable)
20414         )
20415     );
20416     assert_eq!(
20417         unsafe {
20418             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>()))
20419                 .onPhysicalCameraUnavailable as *const _ as usize
20420         },
20421         20usize,
20422         concat!(
20423             "Offset of field: ",
20424             stringify!(ACameraManager_ExtendedAvailabilityListener),
20425             "::",
20426             stringify!(onPhysicalCameraUnavailable)
20427         )
20428     );
20429     assert_eq!(
20430         unsafe {
20431             &(*(::std::ptr::null::<ACameraManager_ExtendedAvailabilityListener>())).reserved
20432                 as *const _ as usize
20433         },
20434         24usize,
20435         concat!(
20436             "Offset of field: ",
20437             stringify!(ACameraManager_ExtendedAvailabilityListener),
20438             "::",
20439             stringify!(reserved)
20440         )
20441     );
20442 }
20443 pub type ACameraManager_ExtendedAvailabilityCallbacks = ACameraManager_ExtendedAvailabilityListener;
20444 extern "C" {
ACameraManager_registerExtendedAvailabilityCallback( manager: *mut ACameraManager, callback: *const ACameraManager_ExtendedAvailabilityCallbacks, ) -> camera_status_t20445     pub fn ACameraManager_registerExtendedAvailabilityCallback(
20446         manager: *mut ACameraManager,
20447         callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
20448     ) -> camera_status_t;
20449 }
20450 extern "C" {
ACameraManager_unregisterExtendedAvailabilityCallback( manager: *mut ACameraManager, callback: *const ACameraManager_ExtendedAvailabilityCallbacks, ) -> camera_status_t20451     pub fn ACameraManager_unregisterExtendedAvailabilityCallback(
20452         manager: *mut ACameraManager,
20453         callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
20454     ) -> camera_status_t;
20455 }
20456 pub const media_status_t_AMEDIA_OK: media_status_t = 0;
20457 pub const media_status_t_AMEDIACODEC_ERROR_INSUFFICIENT_RESOURCE: media_status_t = 1100;
20458 pub const media_status_t_AMEDIACODEC_ERROR_RECLAIMED: media_status_t = 1101;
20459 pub const media_status_t_AMEDIA_ERROR_BASE: media_status_t = -10000;
20460 pub const media_status_t_AMEDIA_ERROR_UNKNOWN: media_status_t = -10000;
20461 pub const media_status_t_AMEDIA_ERROR_MALFORMED: media_status_t = -10001;
20462 pub const media_status_t_AMEDIA_ERROR_UNSUPPORTED: media_status_t = -10002;
20463 pub const media_status_t_AMEDIA_ERROR_INVALID_OBJECT: media_status_t = -10003;
20464 pub const media_status_t_AMEDIA_ERROR_INVALID_PARAMETER: media_status_t = -10004;
20465 pub const media_status_t_AMEDIA_ERROR_INVALID_OPERATION: media_status_t = -10005;
20466 pub const media_status_t_AMEDIA_ERROR_END_OF_STREAM: media_status_t = -10006;
20467 pub const media_status_t_AMEDIA_ERROR_IO: media_status_t = -10007;
20468 pub const media_status_t_AMEDIA_ERROR_WOULD_BLOCK: media_status_t = -10008;
20469 pub const media_status_t_AMEDIA_DRM_ERROR_BASE: media_status_t = -20000;
20470 pub const media_status_t_AMEDIA_DRM_NOT_PROVISIONED: media_status_t = -20001;
20471 pub const media_status_t_AMEDIA_DRM_RESOURCE_BUSY: media_status_t = -20002;
20472 pub const media_status_t_AMEDIA_DRM_DEVICE_REVOKED: media_status_t = -20003;
20473 pub const media_status_t_AMEDIA_DRM_SHORT_BUFFER: media_status_t = -20004;
20474 pub const media_status_t_AMEDIA_DRM_SESSION_NOT_OPENED: media_status_t = -20005;
20475 pub const media_status_t_AMEDIA_DRM_TAMPER_DETECTED: media_status_t = -20006;
20476 pub const media_status_t_AMEDIA_DRM_VERIFY_FAILED: media_status_t = -20007;
20477 pub const media_status_t_AMEDIA_DRM_NEED_KEY: media_status_t = -20008;
20478 pub const media_status_t_AMEDIA_DRM_LICENSE_EXPIRED: media_status_t = -20009;
20479 pub const media_status_t_AMEDIA_IMGREADER_ERROR_BASE: media_status_t = -30000;
20480 pub const media_status_t_AMEDIA_IMGREADER_NO_BUFFER_AVAILABLE: media_status_t = -30001;
20481 pub const media_status_t_AMEDIA_IMGREADER_MAX_IMAGES_ACQUIRED: media_status_t = -30002;
20482 pub const media_status_t_AMEDIA_IMGREADER_CANNOT_LOCK_IMAGE: media_status_t = -30003;
20483 pub const media_status_t_AMEDIA_IMGREADER_CANNOT_UNLOCK_IMAGE: media_status_t = -30004;
20484 pub const media_status_t_AMEDIA_IMGREADER_IMAGE_NOT_LOCKED: media_status_t = -30005;
20485 pub type media_status_t = i32;
20486 #[repr(C)]
20487 #[derive(Debug, Copy, Clone)]
20488 pub struct AImage {
20489     _unused: [u8; 0],
20490 }
20491 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGBA_8888: AIMAGE_FORMATS = 1;
20492 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGBX_8888: AIMAGE_FORMATS = 2;
20493 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGB_888: AIMAGE_FORMATS = 3;
20494 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGB_565: AIMAGE_FORMATS = 4;
20495 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RGBA_FP16: AIMAGE_FORMATS = 22;
20496 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_YUV_420_888: AIMAGE_FORMATS = 35;
20497 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_JPEG: AIMAGE_FORMATS = 256;
20498 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW16: AIMAGE_FORMATS = 32;
20499 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW_PRIVATE: AIMAGE_FORMATS = 36;
20500 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW10: AIMAGE_FORMATS = 37;
20501 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_RAW12: AIMAGE_FORMATS = 38;
20502 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_DEPTH16: AIMAGE_FORMATS = 1144402265;
20503 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_DEPTH_POINT_CLOUD: AIMAGE_FORMATS = 257;
20504 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_PRIVATE: AIMAGE_FORMATS = 34;
20505 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_Y8: AIMAGE_FORMATS = 538982489;
20506 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_HEIC: AIMAGE_FORMATS = 1212500294;
20507 pub const AIMAGE_FORMATS_AIMAGE_FORMAT_DEPTH_JPEG: AIMAGE_FORMATS = 1768253795;
20508 pub type AIMAGE_FORMATS = u32;
20509 #[repr(C)]
20510 #[derive(Debug, Copy, Clone)]
20511 pub struct AImageCropRect {
20512     pub left: i32,
20513     pub top: i32,
20514     pub right: i32,
20515     pub bottom: i32,
20516 }
20517 #[test]
bindgen_test_layout_AImageCropRect()20518 fn bindgen_test_layout_AImageCropRect() {
20519     assert_eq!(
20520         ::std::mem::size_of::<AImageCropRect>(),
20521         16usize,
20522         concat!("Size of: ", stringify!(AImageCropRect))
20523     );
20524     assert_eq!(
20525         ::std::mem::align_of::<AImageCropRect>(),
20526         4usize,
20527         concat!("Alignment of ", stringify!(AImageCropRect))
20528     );
20529     assert_eq!(
20530         unsafe { &(*(::std::ptr::null::<AImageCropRect>())).left as *const _ as usize },
20531         0usize,
20532         concat!(
20533             "Offset of field: ",
20534             stringify!(AImageCropRect),
20535             "::",
20536             stringify!(left)
20537         )
20538     );
20539     assert_eq!(
20540         unsafe { &(*(::std::ptr::null::<AImageCropRect>())).top as *const _ as usize },
20541         4usize,
20542         concat!(
20543             "Offset of field: ",
20544             stringify!(AImageCropRect),
20545             "::",
20546             stringify!(top)
20547         )
20548     );
20549     assert_eq!(
20550         unsafe { &(*(::std::ptr::null::<AImageCropRect>())).right as *const _ as usize },
20551         8usize,
20552         concat!(
20553             "Offset of field: ",
20554             stringify!(AImageCropRect),
20555             "::",
20556             stringify!(right)
20557         )
20558     );
20559     assert_eq!(
20560         unsafe { &(*(::std::ptr::null::<AImageCropRect>())).bottom as *const _ as usize },
20561         12usize,
20562         concat!(
20563             "Offset of field: ",
20564             stringify!(AImageCropRect),
20565             "::",
20566             stringify!(bottom)
20567         )
20568     );
20569 }
20570 extern "C" {
AImage_delete(image: *mut AImage)20571     pub fn AImage_delete(image: *mut AImage);
20572 }
20573 extern "C" {
AImage_getWidth(image: *const AImage, width: *mut i32) -> media_status_t20574     pub fn AImage_getWidth(image: *const AImage, width: *mut i32) -> media_status_t;
20575 }
20576 extern "C" {
AImage_getHeight(image: *const AImage, height: *mut i32) -> media_status_t20577     pub fn AImage_getHeight(image: *const AImage, height: *mut i32) -> media_status_t;
20578 }
20579 extern "C" {
AImage_getFormat(image: *const AImage, format: *mut i32) -> media_status_t20580     pub fn AImage_getFormat(image: *const AImage, format: *mut i32) -> media_status_t;
20581 }
20582 extern "C" {
AImage_getCropRect(image: *const AImage, rect: *mut AImageCropRect) -> media_status_t20583     pub fn AImage_getCropRect(image: *const AImage, rect: *mut AImageCropRect) -> media_status_t;
20584 }
20585 extern "C" {
AImage_getTimestamp(image: *const AImage, timestampNs: *mut i64) -> media_status_t20586     pub fn AImage_getTimestamp(image: *const AImage, timestampNs: *mut i64) -> media_status_t;
20587 }
20588 extern "C" {
AImage_getNumberOfPlanes(image: *const AImage, numPlanes: *mut i32) -> media_status_t20589     pub fn AImage_getNumberOfPlanes(image: *const AImage, numPlanes: *mut i32) -> media_status_t;
20590 }
20591 extern "C" {
AImage_getPlanePixelStride( image: *const AImage, planeIdx: ::std::os::raw::c_int, pixelStride: *mut i32, ) -> media_status_t20592     pub fn AImage_getPlanePixelStride(
20593         image: *const AImage,
20594         planeIdx: ::std::os::raw::c_int,
20595         pixelStride: *mut i32,
20596     ) -> media_status_t;
20597 }
20598 extern "C" {
AImage_getPlaneRowStride( image: *const AImage, planeIdx: ::std::os::raw::c_int, rowStride: *mut i32, ) -> media_status_t20599     pub fn AImage_getPlaneRowStride(
20600         image: *const AImage,
20601         planeIdx: ::std::os::raw::c_int,
20602         rowStride: *mut i32,
20603     ) -> media_status_t;
20604 }
20605 extern "C" {
AImage_getPlaneData( image: *const AImage, planeIdx: ::std::os::raw::c_int, data: *mut *mut u8, dataLength: *mut ::std::os::raw::c_int, ) -> media_status_t20606     pub fn AImage_getPlaneData(
20607         image: *const AImage,
20608         planeIdx: ::std::os::raw::c_int,
20609         data: *mut *mut u8,
20610         dataLength: *mut ::std::os::raw::c_int,
20611     ) -> media_status_t;
20612 }
20613 extern "C" {
AImage_deleteAsync(image: *mut AImage, releaseFenceFd: ::std::os::raw::c_int)20614     pub fn AImage_deleteAsync(image: *mut AImage, releaseFenceFd: ::std::os::raw::c_int);
20615 }
20616 extern "C" {
AImage_getHardwareBuffer( image: *const AImage, buffer: *mut *mut AHardwareBuffer, ) -> media_status_t20617     pub fn AImage_getHardwareBuffer(
20618         image: *const AImage,
20619         buffer: *mut *mut AHardwareBuffer,
20620     ) -> media_status_t;
20621 }
20622 #[repr(C)]
20623 #[derive(Debug, Copy, Clone)]
20624 pub struct AImageReader {
20625     _unused: [u8; 0],
20626 }
20627 extern "C" {
AImageReader_new( width: i32, height: i32, format: i32, maxImages: i32, reader: *mut *mut AImageReader, ) -> media_status_t20628     pub fn AImageReader_new(
20629         width: i32,
20630         height: i32,
20631         format: i32,
20632         maxImages: i32,
20633         reader: *mut *mut AImageReader,
20634     ) -> media_status_t;
20635 }
20636 extern "C" {
AImageReader_delete(reader: *mut AImageReader)20637     pub fn AImageReader_delete(reader: *mut AImageReader);
20638 }
20639 extern "C" {
AImageReader_getWindow( reader: *mut AImageReader, window: *mut *mut ANativeWindow, ) -> media_status_t20640     pub fn AImageReader_getWindow(
20641         reader: *mut AImageReader,
20642         window: *mut *mut ANativeWindow,
20643     ) -> media_status_t;
20644 }
20645 extern "C" {
AImageReader_getWidth(reader: *const AImageReader, width: *mut i32) -> media_status_t20646     pub fn AImageReader_getWidth(reader: *const AImageReader, width: *mut i32) -> media_status_t;
20647 }
20648 extern "C" {
AImageReader_getHeight(reader: *const AImageReader, height: *mut i32) -> media_status_t20649     pub fn AImageReader_getHeight(reader: *const AImageReader, height: *mut i32) -> media_status_t;
20650 }
20651 extern "C" {
AImageReader_getFormat(reader: *const AImageReader, format: *mut i32) -> media_status_t20652     pub fn AImageReader_getFormat(reader: *const AImageReader, format: *mut i32) -> media_status_t;
20653 }
20654 extern "C" {
AImageReader_getMaxImages( reader: *const AImageReader, maxImages: *mut i32, ) -> media_status_t20655     pub fn AImageReader_getMaxImages(
20656         reader: *const AImageReader,
20657         maxImages: *mut i32,
20658     ) -> media_status_t;
20659 }
20660 extern "C" {
AImageReader_acquireNextImage( reader: *mut AImageReader, image: *mut *mut AImage, ) -> media_status_t20661     pub fn AImageReader_acquireNextImage(
20662         reader: *mut AImageReader,
20663         image: *mut *mut AImage,
20664     ) -> media_status_t;
20665 }
20666 extern "C" {
AImageReader_acquireLatestImage( reader: *mut AImageReader, image: *mut *mut AImage, ) -> media_status_t20667     pub fn AImageReader_acquireLatestImage(
20668         reader: *mut AImageReader,
20669         image: *mut *mut AImage,
20670     ) -> media_status_t;
20671 }
20672 pub type AImageReader_ImageCallback = ::std::option::Option<
20673     unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, reader: *mut AImageReader),
20674 >;
20675 #[repr(C)]
20676 #[derive(Debug, Copy, Clone)]
20677 pub struct AImageReader_ImageListener {
20678     pub context: *mut ::std::os::raw::c_void,
20679     pub onImageAvailable: AImageReader_ImageCallback,
20680 }
20681 #[test]
bindgen_test_layout_AImageReader_ImageListener()20682 fn bindgen_test_layout_AImageReader_ImageListener() {
20683     assert_eq!(
20684         ::std::mem::size_of::<AImageReader_ImageListener>(),
20685         8usize,
20686         concat!("Size of: ", stringify!(AImageReader_ImageListener))
20687     );
20688     assert_eq!(
20689         ::std::mem::align_of::<AImageReader_ImageListener>(),
20690         4usize,
20691         concat!("Alignment of ", stringify!(AImageReader_ImageListener))
20692     );
20693     assert_eq!(
20694         unsafe {
20695             &(*(::std::ptr::null::<AImageReader_ImageListener>())).context as *const _ as usize
20696         },
20697         0usize,
20698         concat!(
20699             "Offset of field: ",
20700             stringify!(AImageReader_ImageListener),
20701             "::",
20702             stringify!(context)
20703         )
20704     );
20705     assert_eq!(
20706         unsafe {
20707             &(*(::std::ptr::null::<AImageReader_ImageListener>())).onImageAvailable as *const _
20708                 as usize
20709         },
20710         4usize,
20711         concat!(
20712             "Offset of field: ",
20713             stringify!(AImageReader_ImageListener),
20714             "::",
20715             stringify!(onImageAvailable)
20716         )
20717     );
20718 }
20719 extern "C" {
AImageReader_setImageListener( reader: *mut AImageReader, listener: *mut AImageReader_ImageListener, ) -> media_status_t20720     pub fn AImageReader_setImageListener(
20721         reader: *mut AImageReader,
20722         listener: *mut AImageReader_ImageListener,
20723     ) -> media_status_t;
20724 }
20725 extern "C" {
AImageReader_newWithUsage( width: i32, height: i32, format: i32, usage: u64, maxImages: i32, reader: *mut *mut AImageReader, ) -> media_status_t20726     pub fn AImageReader_newWithUsage(
20727         width: i32,
20728         height: i32,
20729         format: i32,
20730         usage: u64,
20731         maxImages: i32,
20732         reader: *mut *mut AImageReader,
20733     ) -> media_status_t;
20734 }
20735 extern "C" {
AImageReader_acquireNextImageAsync( reader: *mut AImageReader, image: *mut *mut AImage, acquireFenceFd: *mut ::std::os::raw::c_int, ) -> media_status_t20736     pub fn AImageReader_acquireNextImageAsync(
20737         reader: *mut AImageReader,
20738         image: *mut *mut AImage,
20739         acquireFenceFd: *mut ::std::os::raw::c_int,
20740     ) -> media_status_t;
20741 }
20742 extern "C" {
AImageReader_acquireLatestImageAsync( reader: *mut AImageReader, image: *mut *mut AImage, acquireFenceFd: *mut ::std::os::raw::c_int, ) -> media_status_t20743     pub fn AImageReader_acquireLatestImageAsync(
20744         reader: *mut AImageReader,
20745         image: *mut *mut AImage,
20746         acquireFenceFd: *mut ::std::os::raw::c_int,
20747     ) -> media_status_t;
20748 }
20749 pub type AImageReader_BufferRemovedCallback = ::std::option::Option<
20750     unsafe extern "C" fn(
20751         context: *mut ::std::os::raw::c_void,
20752         reader: *mut AImageReader,
20753         buffer: *mut AHardwareBuffer,
20754     ),
20755 >;
20756 #[repr(C)]
20757 #[derive(Debug, Copy, Clone)]
20758 pub struct AImageReader_BufferRemovedListener {
20759     pub context: *mut ::std::os::raw::c_void,
20760     pub onBufferRemoved: AImageReader_BufferRemovedCallback,
20761 }
20762 #[test]
bindgen_test_layout_AImageReader_BufferRemovedListener()20763 fn bindgen_test_layout_AImageReader_BufferRemovedListener() {
20764     assert_eq!(
20765         ::std::mem::size_of::<AImageReader_BufferRemovedListener>(),
20766         8usize,
20767         concat!("Size of: ", stringify!(AImageReader_BufferRemovedListener))
20768     );
20769     assert_eq!(
20770         ::std::mem::align_of::<AImageReader_BufferRemovedListener>(),
20771         4usize,
20772         concat!(
20773             "Alignment of ",
20774             stringify!(AImageReader_BufferRemovedListener)
20775         )
20776     );
20777     assert_eq!(
20778         unsafe {
20779             &(*(::std::ptr::null::<AImageReader_BufferRemovedListener>())).context as *const _
20780                 as usize
20781         },
20782         0usize,
20783         concat!(
20784             "Offset of field: ",
20785             stringify!(AImageReader_BufferRemovedListener),
20786             "::",
20787             stringify!(context)
20788         )
20789     );
20790     assert_eq!(
20791         unsafe {
20792             &(*(::std::ptr::null::<AImageReader_BufferRemovedListener>())).onBufferRemoved
20793                 as *const _ as usize
20794         },
20795         4usize,
20796         concat!(
20797             "Offset of field: ",
20798             stringify!(AImageReader_BufferRemovedListener),
20799             "::",
20800             stringify!(onBufferRemoved)
20801         )
20802     );
20803 }
20804 extern "C" {
AImageReader_setBufferRemovedListener( reader: *mut AImageReader, listener: *mut AImageReader_BufferRemovedListener, ) -> media_status_t20805     pub fn AImageReader_setBufferRemovedListener(
20806         reader: *mut AImageReader,
20807         listener: *mut AImageReader_BufferRemovedListener,
20808     ) -> media_status_t;
20809 }
20810 pub type __builtin_va_list = __va_list;
20811 #[repr(C)]
20812 #[derive(Debug, Copy, Clone)]
20813 pub struct __va_list {
20814     pub __ap: *mut ::std::os::raw::c_void,
20815 }
20816 #[test]
bindgen_test_layout___va_list()20817 fn bindgen_test_layout___va_list() {
20818     assert_eq!(
20819         ::std::mem::size_of::<__va_list>(),
20820         4usize,
20821         concat!("Size of: ", stringify!(__va_list))
20822     );
20823     assert_eq!(
20824         ::std::mem::align_of::<__va_list>(),
20825         4usize,
20826         concat!("Alignment of ", stringify!(__va_list))
20827     );
20828     assert_eq!(
20829         unsafe { &(*(::std::ptr::null::<__va_list>())).__ap as *const _ as usize },
20830         0usize,
20831         concat!(
20832             "Offset of field: ",
20833             stringify!(__va_list),
20834             "::",
20835             stringify!(__ap)
20836         )
20837     );
20838 }
20839