ndk_sys/
ffi_i686.rs

1/* automatically generated by rust-bindgen 0.69.4 */
2
3#[repr(C)]
4#[derive(Default)]
5pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
6impl<T> __IncompleteArrayField<T> {
7    #[inline]
8    pub const fn new() -> Self {
9        __IncompleteArrayField(::std::marker::PhantomData, [])
10    }
11    #[inline]
12    pub fn as_ptr(&self) -> *const T {
13        self as *const _ as *const T
14    }
15    #[inline]
16    pub fn as_mut_ptr(&mut self) -> *mut T {
17        self as *mut _ as *mut T
18    }
19    #[inline]
20    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
21        ::std::slice::from_raw_parts(self.as_ptr(), len)
22    }
23    #[inline]
24    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
25        ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
26    }
27}
28impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
29    fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
30        fmt.write_str("__IncompleteArrayField")
31    }
32}
33pub const __BIONIC__: u32 = 1;
34pub const __WORDSIZE: u32 = 32;
35pub const __bos_level: u32 = 0;
36pub const __ANDROID_API_FUTURE__: u32 = 10000;
37pub const __ANDROID_API__: u32 = 10000;
38pub const __ANDROID_API_G__: u32 = 9;
39pub const __ANDROID_API_I__: u32 = 14;
40pub const __ANDROID_API_J__: u32 = 16;
41pub const __ANDROID_API_J_MR1__: u32 = 17;
42pub const __ANDROID_API_J_MR2__: u32 = 18;
43pub const __ANDROID_API_K__: u32 = 19;
44pub const __ANDROID_API_L__: u32 = 21;
45pub const __ANDROID_API_L_MR1__: u32 = 22;
46pub const __ANDROID_API_M__: u32 = 23;
47pub const __ANDROID_API_N__: u32 = 24;
48pub const __ANDROID_API_N_MR1__: u32 = 25;
49pub const __ANDROID_API_O__: u32 = 26;
50pub const __ANDROID_API_O_MR1__: u32 = 27;
51pub const __ANDROID_API_P__: u32 = 28;
52pub const __ANDROID_API_Q__: u32 = 29;
53pub const __ANDROID_API_R__: u32 = 30;
54pub const __ANDROID_API_S__: u32 = 31;
55pub const __ANDROID_API_T__: u32 = 33;
56pub const __ANDROID_API_U__: u32 = 34;
57pub const __ANDROID_API_V__: u32 = 35;
58pub const INT8_MIN: i32 = -128;
59pub const INT8_MAX: u32 = 127;
60pub const INT_LEAST8_MIN: i32 = -128;
61pub const INT_LEAST8_MAX: u32 = 127;
62pub const INT_FAST8_MIN: i32 = -128;
63pub const INT_FAST8_MAX: u32 = 127;
64pub const UINT8_MAX: u32 = 255;
65pub const UINT_LEAST8_MAX: u32 = 255;
66pub const UINT_FAST8_MAX: u32 = 255;
67pub const INT16_MIN: i32 = -32768;
68pub const INT16_MAX: u32 = 32767;
69pub const INT_LEAST16_MIN: i32 = -32768;
70pub const INT_LEAST16_MAX: u32 = 32767;
71pub const UINT16_MAX: u32 = 65535;
72pub const UINT_LEAST16_MAX: u32 = 65535;
73pub const INT32_MIN: i32 = -2147483648;
74pub const INT32_MAX: u32 = 2147483647;
75pub const INT_LEAST32_MIN: i32 = -2147483648;
76pub const INT_LEAST32_MAX: u32 = 2147483647;
77pub const INT_FAST32_MIN: i32 = -2147483648;
78pub const INT_FAST32_MAX: u32 = 2147483647;
79pub const UINT32_MAX: u32 = 4294967295;
80pub const UINT_LEAST32_MAX: u32 = 4294967295;
81pub const UINT_FAST32_MAX: u32 = 4294967295;
82pub const SIG_ATOMIC_MAX: u32 = 2147483647;
83pub const SIG_ATOMIC_MIN: i32 = -2147483648;
84pub const WINT_MAX: u32 = 4294967295;
85pub const WINT_MIN: u32 = 0;
86pub const INTPTR_MIN: i32 = -2147483648;
87pub const INTPTR_MAX: u32 = 2147483647;
88pub const UINTPTR_MAX: u32 = 4294967295;
89pub const PTRDIFF_MIN: i32 = -2147483648;
90pub const PTRDIFF_MAX: u32 = 2147483647;
91pub const SIZE_MAX: u32 = 4294967295;
92pub const __BITS_PER_LONG: u32 = 32;
93pub const __FD_SETSIZE: u32 = 1024;
94pub const __bool_true_false_are_defined: u32 = 1;
95pub const true_: u32 = 1;
96pub const false_: u32 = 0;
97pub const __PRI_64_prefix: &[u8; 3] = b"ll\0";
98pub const PRId8: &[u8; 2] = b"d\0";
99pub const PRId16: &[u8; 2] = b"d\0";
100pub const PRId32: &[u8; 2] = b"d\0";
101pub const PRId64: &[u8; 4] = b"lld\0";
102pub const PRIdLEAST8: &[u8; 2] = b"d\0";
103pub const PRIdLEAST16: &[u8; 2] = b"d\0";
104pub const PRIdLEAST32: &[u8; 2] = b"d\0";
105pub const PRIdLEAST64: &[u8; 4] = b"lld\0";
106pub const PRIdFAST8: &[u8; 2] = b"d\0";
107pub const PRIdFAST64: &[u8; 4] = b"lld\0";
108pub const PRIdMAX: &[u8; 3] = b"jd\0";
109pub const PRIi8: &[u8; 2] = b"i\0";
110pub const PRIi16: &[u8; 2] = b"i\0";
111pub const PRIi32: &[u8; 2] = b"i\0";
112pub const PRIi64: &[u8; 4] = b"lli\0";
113pub const PRIiLEAST8: &[u8; 2] = b"i\0";
114pub const PRIiLEAST16: &[u8; 2] = b"i\0";
115pub const PRIiLEAST32: &[u8; 2] = b"i\0";
116pub const PRIiLEAST64: &[u8; 4] = b"lli\0";
117pub const PRIiFAST8: &[u8; 2] = b"i\0";
118pub const PRIiFAST64: &[u8; 4] = b"lli\0";
119pub const PRIiMAX: &[u8; 3] = b"ji\0";
120pub const PRIb8: &[u8; 2] = b"b\0";
121pub const PRIb16: &[u8; 2] = b"b\0";
122pub const PRIb32: &[u8; 2] = b"b\0";
123pub const PRIb64: &[u8; 4] = b"llb\0";
124pub const PRIbLEAST8: &[u8; 2] = b"b\0";
125pub const PRIbLEAST16: &[u8; 2] = b"b\0";
126pub const PRIbLEAST32: &[u8; 2] = b"b\0";
127pub const PRIbLEAST64: &[u8; 4] = b"llb\0";
128pub const PRIbFAST8: &[u8; 2] = b"b\0";
129pub const PRIbFAST64: &[u8; 4] = b"llb\0";
130pub const PRIbMAX: &[u8; 3] = b"jb\0";
131pub const PRIB8: &[u8; 2] = b"B\0";
132pub const PRIB16: &[u8; 2] = b"B\0";
133pub const PRIB32: &[u8; 2] = b"B\0";
134pub const PRIB64: &[u8; 4] = b"llB\0";
135pub const PRIBLEAST8: &[u8; 2] = b"B\0";
136pub const PRIBLEAST16: &[u8; 2] = b"B\0";
137pub const PRIBLEAST32: &[u8; 2] = b"B\0";
138pub const PRIBLEAST64: &[u8; 4] = b"llB\0";
139pub const PRIBFAST8: &[u8; 2] = b"B\0";
140pub const PRIBFAST64: &[u8; 4] = b"llB\0";
141pub const PRIBMAX: &[u8; 3] = b"jB\0";
142pub const PRIo8: &[u8; 2] = b"o\0";
143pub const PRIo16: &[u8; 2] = b"o\0";
144pub const PRIo32: &[u8; 2] = b"o\0";
145pub const PRIo64: &[u8; 4] = b"llo\0";
146pub const PRIoLEAST8: &[u8; 2] = b"o\0";
147pub const PRIoLEAST16: &[u8; 2] = b"o\0";
148pub const PRIoLEAST32: &[u8; 2] = b"o\0";
149pub const PRIoLEAST64: &[u8; 4] = b"llo\0";
150pub const PRIoFAST8: &[u8; 2] = b"o\0";
151pub const PRIoFAST64: &[u8; 4] = b"llo\0";
152pub const PRIoMAX: &[u8; 3] = b"jo\0";
153pub const PRIu8: &[u8; 2] = b"u\0";
154pub const PRIu16: &[u8; 2] = b"u\0";
155pub const PRIu32: &[u8; 2] = b"u\0";
156pub const PRIu64: &[u8; 4] = b"llu\0";
157pub const PRIuLEAST8: &[u8; 2] = b"u\0";
158pub const PRIuLEAST16: &[u8; 2] = b"u\0";
159pub const PRIuLEAST32: &[u8; 2] = b"u\0";
160pub const PRIuLEAST64: &[u8; 4] = b"llu\0";
161pub const PRIuFAST8: &[u8; 2] = b"u\0";
162pub const PRIuFAST64: &[u8; 4] = b"llu\0";
163pub const PRIuMAX: &[u8; 3] = b"ju\0";
164pub const PRIx8: &[u8; 2] = b"x\0";
165pub const PRIx16: &[u8; 2] = b"x\0";
166pub const PRIx32: &[u8; 2] = b"x\0";
167pub const PRIx64: &[u8; 4] = b"llx\0";
168pub const PRIxLEAST8: &[u8; 2] = b"x\0";
169pub const PRIxLEAST16: &[u8; 2] = b"x\0";
170pub const PRIxLEAST32: &[u8; 2] = b"x\0";
171pub const PRIxLEAST64: &[u8; 4] = b"llx\0";
172pub const PRIxFAST8: &[u8; 2] = b"x\0";
173pub const PRIxFAST64: &[u8; 4] = b"llx\0";
174pub const PRIxMAX: &[u8; 3] = b"jx\0";
175pub const PRIX8: &[u8; 2] = b"X\0";
176pub const PRIX16: &[u8; 2] = b"X\0";
177pub const PRIX32: &[u8; 2] = b"X\0";
178pub const PRIX64: &[u8; 4] = b"llX\0";
179pub const PRIXLEAST8: &[u8; 2] = b"X\0";
180pub const PRIXLEAST16: &[u8; 2] = b"X\0";
181pub const PRIXLEAST32: &[u8; 2] = b"X\0";
182pub const PRIXLEAST64: &[u8; 4] = b"llX\0";
183pub const PRIXFAST8: &[u8; 2] = b"X\0";
184pub const PRIXFAST64: &[u8; 4] = b"llX\0";
185pub const PRIXMAX: &[u8; 3] = b"jX\0";
186pub const SCNd8: &[u8; 4] = b"hhd\0";
187pub const SCNd16: &[u8; 3] = b"hd\0";
188pub const SCNd32: &[u8; 2] = b"d\0";
189pub const SCNd64: &[u8; 4] = b"lld\0";
190pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
191pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
192pub const SCNdLEAST32: &[u8; 2] = b"d\0";
193pub const SCNdLEAST64: &[u8; 4] = b"lld\0";
194pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
195pub const SCNdFAST64: &[u8; 4] = b"lld\0";
196pub const SCNdMAX: &[u8; 3] = b"jd\0";
197pub const SCNi8: &[u8; 4] = b"hhi\0";
198pub const SCNi16: &[u8; 3] = b"hi\0";
199pub const SCNi32: &[u8; 2] = b"i\0";
200pub const SCNi64: &[u8; 4] = b"lli\0";
201pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
202pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
203pub const SCNiLEAST32: &[u8; 2] = b"i\0";
204pub const SCNiLEAST64: &[u8; 4] = b"lli\0";
205pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
206pub const SCNiFAST64: &[u8; 4] = b"lli\0";
207pub const SCNiMAX: &[u8; 3] = b"ji\0";
208pub const SCNb8: &[u8; 4] = b"hhb\0";
209pub const SCNb16: &[u8; 3] = b"hb\0";
210pub const SCNb32: &[u8; 2] = b"b\0";
211pub const SCNb64: &[u8; 4] = b"llb\0";
212pub const SCNbLEAST8: &[u8; 4] = b"hhb\0";
213pub const SCNbLEAST16: &[u8; 3] = b"hb\0";
214pub const SCNbLEAST32: &[u8; 2] = b"b\0";
215pub const SCNbLEAST64: &[u8; 4] = b"llb\0";
216pub const SCNbFAST8: &[u8; 4] = b"hhb\0";
217pub const SCNbFAST64: &[u8; 4] = b"llb\0";
218pub const SCNbMAX: &[u8; 3] = b"jb\0";
219pub const SCNB8: &[u8; 4] = b"hhB\0";
220pub const SCNB16: &[u8; 3] = b"hB\0";
221pub const SCNB32: &[u8; 2] = b"B\0";
222pub const SCNB64: &[u8; 4] = b"llB\0";
223pub const SCNBLEAST8: &[u8; 4] = b"hhB\0";
224pub const SCNBLEAST16: &[u8; 3] = b"hB\0";
225pub const SCNBLEAST32: &[u8; 2] = b"B\0";
226pub const SCNBLEAST64: &[u8; 4] = b"llB\0";
227pub const SCNBFAST8: &[u8; 4] = b"hhB\0";
228pub const SCNBFAST64: &[u8; 4] = b"llB\0";
229pub const SCNBMAX: &[u8; 3] = b"jB\0";
230pub const SCNo8: &[u8; 4] = b"hho\0";
231pub const SCNo16: &[u8; 3] = b"ho\0";
232pub const SCNo32: &[u8; 2] = b"o\0";
233pub const SCNo64: &[u8; 4] = b"llo\0";
234pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
235pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
236pub const SCNoLEAST32: &[u8; 2] = b"o\0";
237pub const SCNoLEAST64: &[u8; 4] = b"llo\0";
238pub const SCNoFAST8: &[u8; 4] = b"hho\0";
239pub const SCNoFAST64: &[u8; 4] = b"llo\0";
240pub const SCNoMAX: &[u8; 3] = b"jo\0";
241pub const SCNu8: &[u8; 4] = b"hhu\0";
242pub const SCNu16: &[u8; 3] = b"hu\0";
243pub const SCNu32: &[u8; 2] = b"u\0";
244pub const SCNu64: &[u8; 4] = b"llu\0";
245pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
246pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
247pub const SCNuLEAST32: &[u8; 2] = b"u\0";
248pub const SCNuLEAST64: &[u8; 4] = b"llu\0";
249pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
250pub const SCNuFAST64: &[u8; 4] = b"llu\0";
251pub const SCNuMAX: &[u8; 3] = b"ju\0";
252pub const SCNx8: &[u8; 4] = b"hhx\0";
253pub const SCNx16: &[u8; 3] = b"hx\0";
254pub const SCNx32: &[u8; 2] = b"x\0";
255pub const SCNx64: &[u8; 4] = b"llx\0";
256pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
257pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
258pub const SCNxLEAST32: &[u8; 2] = b"x\0";
259pub const SCNxLEAST64: &[u8; 4] = b"llx\0";
260pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
261pub const SCNxFAST64: &[u8; 4] = b"llx\0";
262pub const SCNxMAX: &[u8; 3] = b"jx\0";
263pub const AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT: u32 = 8;
264pub const O_ACCMODE: u32 = 3;
265pub const O_RDONLY: u32 = 0;
266pub const O_WRONLY: u32 = 1;
267pub const O_RDWR: u32 = 2;
268pub const O_CREAT: u32 = 64;
269pub const O_EXCL: u32 = 128;
270pub const O_NOCTTY: u32 = 256;
271pub const O_TRUNC: u32 = 512;
272pub const O_APPEND: u32 = 1024;
273pub const O_NONBLOCK: u32 = 2048;
274pub const O_DSYNC: u32 = 4096;
275pub const FASYNC: u32 = 8192;
276pub const O_DIRECT: u32 = 16384;
277pub const O_LARGEFILE: u32 = 32768;
278pub const O_DIRECTORY: u32 = 65536;
279pub const O_NOFOLLOW: u32 = 131072;
280pub const O_NOATIME: u32 = 262144;
281pub const O_CLOEXEC: u32 = 524288;
282pub const __O_SYNC: u32 = 1048576;
283pub const O_SYNC: u32 = 1052672;
284pub const O_PATH: u32 = 2097152;
285pub const __O_TMPFILE: u32 = 4194304;
286pub const O_TMPFILE: u32 = 4259840;
287pub const O_NDELAY: u32 = 2048;
288pub const F_DUPFD: u32 = 0;
289pub const F_GETFD: u32 = 1;
290pub const F_SETFD: u32 = 2;
291pub const F_GETFL: u32 = 3;
292pub const F_SETFL: u32 = 4;
293pub const F_GETLK: u32 = 5;
294pub const F_SETLK: u32 = 6;
295pub const F_SETLKW: u32 = 7;
296pub const F_SETOWN: u32 = 8;
297pub const F_GETOWN: u32 = 9;
298pub const F_SETSIG: u32 = 10;
299pub const F_GETSIG: u32 = 11;
300pub const F_GETLK64: u32 = 12;
301pub const F_SETLK64: u32 = 13;
302pub const F_SETLKW64: u32 = 14;
303pub const F_SETOWN_EX: u32 = 15;
304pub const F_GETOWN_EX: u32 = 16;
305pub const F_GETOWNER_UIDS: u32 = 17;
306pub const F_OFD_GETLK: u32 = 36;
307pub const F_OFD_SETLK: u32 = 37;
308pub const F_OFD_SETLKW: u32 = 38;
309pub const F_OWNER_TID: u32 = 0;
310pub const F_OWNER_PID: u32 = 1;
311pub const F_OWNER_PGRP: u32 = 2;
312pub const FD_CLOEXEC: u32 = 1;
313pub const F_RDLCK: u32 = 0;
314pub const F_WRLCK: u32 = 1;
315pub const F_UNLCK: u32 = 2;
316pub const F_EXLCK: u32 = 4;
317pub const F_SHLCK: u32 = 8;
318pub const LOCK_SH: u32 = 1;
319pub const LOCK_EX: u32 = 2;
320pub const LOCK_NB: u32 = 4;
321pub const LOCK_UN: u32 = 8;
322pub const LOCK_MAND: u32 = 32;
323pub const LOCK_READ: u32 = 64;
324pub const LOCK_WRITE: u32 = 128;
325pub const LOCK_RW: u32 = 192;
326pub const F_LINUX_SPECIFIC_BASE: u32 = 1024;
327pub const FIOSETOWN: u32 = 35073;
328pub const SIOCSPGRP: u32 = 35074;
329pub const FIOGETOWN: u32 = 35075;
330pub const SIOCGPGRP: u32 = 35076;
331pub const SIOCATMARK: u32 = 35077;
332pub const SIOCGSTAMP_OLD: u32 = 35078;
333pub const SIOCGSTAMPNS_OLD: u32 = 35079;
334pub const SOL_SOCKET: u32 = 1;
335pub const SO_DEBUG: u32 = 1;
336pub const SO_REUSEADDR: u32 = 2;
337pub const SO_TYPE: u32 = 3;
338pub const SO_ERROR: u32 = 4;
339pub const SO_DONTROUTE: u32 = 5;
340pub const SO_BROADCAST: u32 = 6;
341pub const SO_SNDBUF: u32 = 7;
342pub const SO_RCVBUF: u32 = 8;
343pub const SO_SNDBUFFORCE: u32 = 32;
344pub const SO_RCVBUFFORCE: u32 = 33;
345pub const SO_KEEPALIVE: u32 = 9;
346pub const SO_OOBINLINE: u32 = 10;
347pub const SO_NO_CHECK: u32 = 11;
348pub const SO_PRIORITY: u32 = 12;
349pub const SO_LINGER: u32 = 13;
350pub const SO_BSDCOMPAT: u32 = 14;
351pub const SO_REUSEPORT: u32 = 15;
352pub const SO_PASSCRED: u32 = 16;
353pub const SO_PEERCRED: u32 = 17;
354pub const SO_RCVLOWAT: u32 = 18;
355pub const SO_SNDLOWAT: u32 = 19;
356pub const SO_RCVTIMEO_OLD: u32 = 20;
357pub const SO_SNDTIMEO_OLD: u32 = 21;
358pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
359pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
360pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
361pub const SO_BINDTODEVICE: u32 = 25;
362pub const SO_ATTACH_FILTER: u32 = 26;
363pub const SO_DETACH_FILTER: u32 = 27;
364pub const SO_GET_FILTER: u32 = 26;
365pub const SO_PEERNAME: u32 = 28;
366pub const SO_ACCEPTCONN: u32 = 30;
367pub const SO_PEERSEC: u32 = 31;
368pub const SO_PASSSEC: u32 = 34;
369pub const SO_MARK: u32 = 36;
370pub const SO_PROTOCOL: u32 = 38;
371pub const SO_DOMAIN: u32 = 39;
372pub const SO_RXQ_OVFL: u32 = 40;
373pub const SO_WIFI_STATUS: u32 = 41;
374pub const SCM_WIFI_STATUS: u32 = 41;
375pub const SO_PEEK_OFF: u32 = 42;
376pub const SO_NOFCS: u32 = 43;
377pub const SO_LOCK_FILTER: u32 = 44;
378pub const SO_SELECT_ERR_QUEUE: u32 = 45;
379pub const SO_BUSY_POLL: u32 = 46;
380pub const SO_MAX_PACING_RATE: u32 = 47;
381pub const SO_BPF_EXTENSIONS: u32 = 48;
382pub const SO_INCOMING_CPU: u32 = 49;
383pub const SO_ATTACH_BPF: u32 = 50;
384pub const SO_DETACH_BPF: u32 = 27;
385pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
386pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
387pub const SO_CNX_ADVICE: u32 = 53;
388pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
389pub const SO_MEMINFO: u32 = 55;
390pub const SO_INCOMING_NAPI_ID: u32 = 56;
391pub const SO_COOKIE: u32 = 57;
392pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
393pub const SO_PEERGROUPS: u32 = 59;
394pub const SO_ZEROCOPY: u32 = 60;
395pub const SO_TXTIME: u32 = 61;
396pub const SCM_TXTIME: u32 = 61;
397pub const SO_BINDTOIFINDEX: u32 = 62;
398pub const SO_TIMESTAMP_OLD: u32 = 29;
399pub const SO_TIMESTAMPNS_OLD: u32 = 35;
400pub const SO_TIMESTAMPING_OLD: u32 = 37;
401pub const SO_TIMESTAMP_NEW: u32 = 63;
402pub const SO_TIMESTAMPNS_NEW: u32 = 64;
403pub const SO_TIMESTAMPING_NEW: u32 = 65;
404pub const SO_RCVTIMEO_NEW: u32 = 66;
405pub const SO_SNDTIMEO_NEW: u32 = 67;
406pub const SO_DETACH_REUSEPORT_BPF: u32 = 68;
407pub const SO_PREFER_BUSY_POLL: u32 = 69;
408pub const SO_BUSY_POLL_BUDGET: u32 = 70;
409pub const SO_NETNS_COOKIE: u32 = 71;
410pub const SO_BUF_LOCK: u32 = 72;
411pub const SO_RESERVE_MEM: u32 = 73;
412pub const SO_TXREHASH: u32 = 74;
413pub const SO_RCVMARK: u32 = 75;
414pub const SO_PASSPIDFD: u32 = 76;
415pub const SO_PEERPIDFD: u32 = 77;
416pub const SOCK_IOC_TYPE: u32 = 137;
417pub const SIOCADDRT: u32 = 35083;
418pub const SIOCDELRT: u32 = 35084;
419pub const SIOCRTMSG: u32 = 35085;
420pub const SIOCGIFNAME: u32 = 35088;
421pub const SIOCSIFLINK: u32 = 35089;
422pub const SIOCGIFCONF: u32 = 35090;
423pub const SIOCGIFFLAGS: u32 = 35091;
424pub const SIOCSIFFLAGS: u32 = 35092;
425pub const SIOCGIFADDR: u32 = 35093;
426pub const SIOCSIFADDR: u32 = 35094;
427pub const SIOCGIFDSTADDR: u32 = 35095;
428pub const SIOCSIFDSTADDR: u32 = 35096;
429pub const SIOCGIFBRDADDR: u32 = 35097;
430pub const SIOCSIFBRDADDR: u32 = 35098;
431pub const SIOCGIFNETMASK: u32 = 35099;
432pub const SIOCSIFNETMASK: u32 = 35100;
433pub const SIOCGIFMETRIC: u32 = 35101;
434pub const SIOCSIFMETRIC: u32 = 35102;
435pub const SIOCGIFMEM: u32 = 35103;
436pub const SIOCSIFMEM: u32 = 35104;
437pub const SIOCGIFMTU: u32 = 35105;
438pub const SIOCSIFMTU: u32 = 35106;
439pub const SIOCSIFNAME: u32 = 35107;
440pub const SIOCSIFHWADDR: u32 = 35108;
441pub const SIOCGIFENCAP: u32 = 35109;
442pub const SIOCSIFENCAP: u32 = 35110;
443pub const SIOCGIFHWADDR: u32 = 35111;
444pub const SIOCGIFSLAVE: u32 = 35113;
445pub const SIOCSIFSLAVE: u32 = 35120;
446pub const SIOCADDMULTI: u32 = 35121;
447pub const SIOCDELMULTI: u32 = 35122;
448pub const SIOCGIFINDEX: u32 = 35123;
449pub const SIOGIFINDEX: u32 = 35123;
450pub const SIOCSIFPFLAGS: u32 = 35124;
451pub const SIOCGIFPFLAGS: u32 = 35125;
452pub const SIOCDIFADDR: u32 = 35126;
453pub const SIOCSIFHWBROADCAST: u32 = 35127;
454pub const SIOCGIFCOUNT: u32 = 35128;
455pub const SIOCGIFBR: u32 = 35136;
456pub const SIOCSIFBR: u32 = 35137;
457pub const SIOCGIFTXQLEN: u32 = 35138;
458pub const SIOCSIFTXQLEN: u32 = 35139;
459pub const SIOCETHTOOL: u32 = 35142;
460pub const SIOCGMIIPHY: u32 = 35143;
461pub const SIOCGMIIREG: u32 = 35144;
462pub const SIOCSMIIREG: u32 = 35145;
463pub const SIOCWANDEV: u32 = 35146;
464pub const SIOCOUTQNSD: u32 = 35147;
465pub const SIOCGSKNS: u32 = 35148;
466pub const SIOCDARP: u32 = 35155;
467pub const SIOCGARP: u32 = 35156;
468pub const SIOCSARP: u32 = 35157;
469pub const SIOCDRARP: u32 = 35168;
470pub const SIOCGRARP: u32 = 35169;
471pub const SIOCSRARP: u32 = 35170;
472pub const SIOCGIFMAP: u32 = 35184;
473pub const SIOCSIFMAP: u32 = 35185;
474pub const SIOCADDDLCI: u32 = 35200;
475pub const SIOCDELDLCI: u32 = 35201;
476pub const SIOCGIFVLAN: u32 = 35202;
477pub const SIOCSIFVLAN: u32 = 35203;
478pub const SIOCBONDENSLAVE: u32 = 35216;
479pub const SIOCBONDRELEASE: u32 = 35217;
480pub const SIOCBONDSETHWADDR: u32 = 35218;
481pub const SIOCBONDSLAVEINFOQUERY: u32 = 35219;
482pub const SIOCBONDINFOQUERY: u32 = 35220;
483pub const SIOCBONDCHANGEACTIVE: u32 = 35221;
484pub const SIOCBRADDBR: u32 = 35232;
485pub const SIOCBRDELBR: u32 = 35233;
486pub const SIOCBRADDIF: u32 = 35234;
487pub const SIOCBRDELIF: u32 = 35235;
488pub const SIOCSHWTSTAMP: u32 = 35248;
489pub const SIOCGHWTSTAMP: u32 = 35249;
490pub const SIOCDEVPRIVATE: u32 = 35312;
491pub const SIOCPROTOPRIVATE: u32 = 35296;
492pub const UIO_FASTIOV: u32 = 8;
493pub const UIO_MAXIOV: u32 = 1024;
494pub const SOCK_STREAM: u32 = 1;
495pub const SOCK_DGRAM: u32 = 2;
496pub const SOCK_RAW: u32 = 3;
497pub const SOCK_RDM: u32 = 4;
498pub const SOCK_SEQPACKET: u32 = 5;
499pub const SOCK_DCCP: u32 = 6;
500pub const SOCK_PACKET: u32 = 10;
501pub const SOCK_CLOEXEC: u32 = 524288;
502pub const SOCK_NONBLOCK: u32 = 2048;
503pub const SCM_RIGHTS: u32 = 1;
504pub const SCM_CREDENTIALS: u32 = 2;
505pub const SCM_SECURITY: u32 = 3;
506pub const AF_UNSPEC: u32 = 0;
507pub const AF_UNIX: u32 = 1;
508pub const AF_LOCAL: u32 = 1;
509pub const AF_INET: u32 = 2;
510pub const AF_AX25: u32 = 3;
511pub const AF_IPX: u32 = 4;
512pub const AF_APPLETALK: u32 = 5;
513pub const AF_NETROM: u32 = 6;
514pub const AF_BRIDGE: u32 = 7;
515pub const AF_ATMPVC: u32 = 8;
516pub const AF_X25: u32 = 9;
517pub const AF_INET6: u32 = 10;
518pub const AF_ROSE: u32 = 11;
519pub const AF_DECnet: u32 = 12;
520pub const AF_NETBEUI: u32 = 13;
521pub const AF_SECURITY: u32 = 14;
522pub const AF_KEY: u32 = 15;
523pub const AF_NETLINK: u32 = 16;
524pub const AF_ROUTE: u32 = 16;
525pub const AF_PACKET: u32 = 17;
526pub const AF_ASH: u32 = 18;
527pub const AF_ECONET: u32 = 19;
528pub const AF_ATMSVC: u32 = 20;
529pub const AF_RDS: u32 = 21;
530pub const AF_SNA: u32 = 22;
531pub const AF_IRDA: u32 = 23;
532pub const AF_PPPOX: u32 = 24;
533pub const AF_WANPIPE: u32 = 25;
534pub const AF_LLC: u32 = 26;
535pub const AF_CAN: u32 = 29;
536pub const AF_TIPC: u32 = 30;
537pub const AF_BLUETOOTH: u32 = 31;
538pub const AF_IUCV: u32 = 32;
539pub const AF_RXRPC: u32 = 33;
540pub const AF_ISDN: u32 = 34;
541pub const AF_PHONET: u32 = 35;
542pub const AF_IEEE802154: u32 = 36;
543pub const AF_CAIF: u32 = 37;
544pub const AF_ALG: u32 = 38;
545pub const AF_NFC: u32 = 39;
546pub const AF_VSOCK: u32 = 40;
547pub const AF_KCM: u32 = 41;
548pub const AF_QIPCRTR: u32 = 42;
549pub const AF_MAX: u32 = 43;
550pub const PF_UNSPEC: u32 = 0;
551pub const PF_UNIX: u32 = 1;
552pub const PF_LOCAL: u32 = 1;
553pub const PF_INET: u32 = 2;
554pub const PF_AX25: u32 = 3;
555pub const PF_IPX: u32 = 4;
556pub const PF_APPLETALK: u32 = 5;
557pub const PF_NETROM: u32 = 6;
558pub const PF_BRIDGE: u32 = 7;
559pub const PF_ATMPVC: u32 = 8;
560pub const PF_X25: u32 = 9;
561pub const PF_INET6: u32 = 10;
562pub const PF_ROSE: u32 = 11;
563pub const PF_DECnet: u32 = 12;
564pub const PF_NETBEUI: u32 = 13;
565pub const PF_SECURITY: u32 = 14;
566pub const PF_KEY: u32 = 15;
567pub const PF_NETLINK: u32 = 16;
568pub const PF_ROUTE: u32 = 16;
569pub const PF_PACKET: u32 = 17;
570pub const PF_ASH: u32 = 18;
571pub const PF_ECONET: u32 = 19;
572pub const PF_ATMSVC: u32 = 20;
573pub const PF_RDS: u32 = 21;
574pub const PF_SNA: u32 = 22;
575pub const PF_IRDA: u32 = 23;
576pub const PF_PPPOX: u32 = 24;
577pub const PF_WANPIPE: u32 = 25;
578pub const PF_LLC: u32 = 26;
579pub const PF_CAN: u32 = 29;
580pub const PF_TIPC: u32 = 30;
581pub const PF_BLUETOOTH: u32 = 31;
582pub const PF_IUCV: u32 = 32;
583pub const PF_RXRPC: u32 = 33;
584pub const PF_ISDN: u32 = 34;
585pub const PF_PHONET: u32 = 35;
586pub const PF_IEEE802154: u32 = 36;
587pub const PF_CAIF: u32 = 37;
588pub const PF_ALG: u32 = 38;
589pub const PF_NFC: u32 = 39;
590pub const PF_VSOCK: u32 = 40;
591pub const PF_KCM: u32 = 41;
592pub const PF_QIPCRTR: u32 = 42;
593pub const PF_MAX: u32 = 43;
594pub const SOMAXCONN: u32 = 128;
595pub const MSG_OOB: u32 = 1;
596pub const MSG_PEEK: u32 = 2;
597pub const MSG_DONTROUTE: u32 = 4;
598pub const MSG_TRYHARD: u32 = 4;
599pub const MSG_CTRUNC: u32 = 8;
600pub const MSG_PROBE: u32 = 16;
601pub const MSG_TRUNC: u32 = 32;
602pub const MSG_DONTWAIT: u32 = 64;
603pub const MSG_EOR: u32 = 128;
604pub const MSG_WAITALL: u32 = 256;
605pub const MSG_FIN: u32 = 512;
606pub const MSG_SYN: u32 = 1024;
607pub const MSG_CONFIRM: u32 = 2048;
608pub const MSG_RST: u32 = 4096;
609pub const MSG_ERRQUEUE: u32 = 8192;
610pub const MSG_NOSIGNAL: u32 = 16384;
611pub const MSG_MORE: u32 = 32768;
612pub const MSG_WAITFORONE: u32 = 65536;
613pub const MSG_BATCH: u32 = 262144;
614pub const MSG_FASTOPEN: u32 = 536870912;
615pub const MSG_CMSG_CLOEXEC: u32 = 1073741824;
616pub const MSG_EOF: u32 = 512;
617pub const MSG_CMSG_COMPAT: u32 = 0;
618pub const SOL_IP: u32 = 0;
619pub const SOL_TCP: u32 = 6;
620pub const SOL_UDP: u32 = 17;
621pub const SOL_IPV6: u32 = 41;
622pub const SOL_ICMPV6: u32 = 58;
623pub const SOL_SCTP: u32 = 132;
624pub const SOL_RAW: u32 = 255;
625pub const SOL_IPX: u32 = 256;
626pub const SOL_AX25: u32 = 257;
627pub const SOL_ATALK: u32 = 258;
628pub const SOL_NETROM: u32 = 259;
629pub const SOL_ROSE: u32 = 260;
630pub const SOL_DECNET: u32 = 261;
631pub const SOL_X25: u32 = 262;
632pub const SOL_PACKET: u32 = 263;
633pub const SOL_ATM: u32 = 264;
634pub const SOL_AAL: u32 = 265;
635pub const SOL_IRDA: u32 = 266;
636pub const SOL_NETBEUI: u32 = 267;
637pub const SOL_LLC: u32 = 268;
638pub const SOL_DCCP: u32 = 269;
639pub const SOL_NETLINK: u32 = 270;
640pub const SOL_TIPC: u32 = 271;
641pub const SOL_RXRPC: u32 = 272;
642pub const SOL_PPPOL2TP: u32 = 273;
643pub const SOL_BLUETOOTH: u32 = 274;
644pub const SOL_PNPIPE: u32 = 275;
645pub const SOL_RDS: u32 = 276;
646pub const SOL_IUCV: u32 = 277;
647pub const SOL_CAIF: u32 = 278;
648pub const SOL_ALG: u32 = 279;
649pub const SOL_NFC: u32 = 280;
650pub const SOL_KCM: u32 = 281;
651pub const SOL_TLS: u32 = 282;
652pub const IPX_TYPE: u32 = 1;
653pub const _PATH_HEQUIV: &[u8; 24] = b"/system/etc/hosts.equiv\0";
654pub const _PATH_HOSTS: &[u8; 18] = b"/system/etc/hosts\0";
655pub const _PATH_NETWORKS: &[u8; 21] = b"/system/etc/networks\0";
656pub const _PATH_PROTOCOLS: &[u8; 22] = b"/system/etc/protocols\0";
657pub const _PATH_SERVICES: &[u8; 21] = b"/system/etc/services\0";
658pub const NETDB_INTERNAL: i32 = -1;
659pub const NETDB_SUCCESS: u32 = 0;
660pub const HOST_NOT_FOUND: u32 = 1;
661pub const TRY_AGAIN: u32 = 2;
662pub const NO_RECOVERY: u32 = 3;
663pub const NO_DATA: u32 = 4;
664pub const NO_ADDRESS: u32 = 4;
665pub const EAI_ADDRFAMILY: u32 = 1;
666pub const EAI_AGAIN: u32 = 2;
667pub const EAI_BADFLAGS: u32 = 3;
668pub const EAI_FAIL: u32 = 4;
669pub const EAI_FAMILY: u32 = 5;
670pub const EAI_MEMORY: u32 = 6;
671pub const EAI_NODATA: u32 = 7;
672pub const EAI_NONAME: u32 = 8;
673pub const EAI_SERVICE: u32 = 9;
674pub const EAI_SOCKTYPE: u32 = 10;
675pub const EAI_SYSTEM: u32 = 11;
676pub const EAI_BADHINTS: u32 = 12;
677pub const EAI_PROTOCOL: u32 = 13;
678pub const EAI_OVERFLOW: u32 = 14;
679pub const EAI_MAX: u32 = 15;
680pub const AI_PASSIVE: u32 = 1;
681pub const AI_CANONNAME: u32 = 2;
682pub const AI_NUMERICHOST: u32 = 4;
683pub const AI_NUMERICSERV: u32 = 8;
684pub const AI_ALL: u32 = 256;
685pub const AI_V4MAPPED_CFG: u32 = 512;
686pub const AI_ADDRCONFIG: u32 = 1024;
687pub const AI_V4MAPPED: u32 = 2048;
688pub const AI_DEFAULT: u32 = 1536;
689pub const NI_MAXHOST: u32 = 1025;
690pub const NI_MAXSERV: u32 = 32;
691pub const NI_NOFQDN: u32 = 1;
692pub const NI_NUMERICHOST: u32 = 2;
693pub const NI_NAMEREQD: u32 = 4;
694pub const NI_NUMERICSERV: u32 = 8;
695pub const NI_DGRAM: u32 = 16;
696pub const SCOPE_DELIMITER: u8 = 37u8;
697pub const IPPORT_RESERVED: u32 = 1024;
698pub const WNOHANG: u32 = 1;
699pub const WUNTRACED: u32 = 2;
700pub const WSTOPPED: u32 = 2;
701pub const WEXITED: u32 = 4;
702pub const WCONTINUED: u32 = 8;
703pub const WNOWAIT: u32 = 16777216;
704pub const __WNOTHREAD: u32 = 536870912;
705pub const __WALL: u32 = 1073741824;
706pub const __WCLONE: u32 = 2147483648;
707pub const P_ALL: u32 = 0;
708pub const P_PID: u32 = 1;
709pub const P_PGID: u32 = 2;
710pub const P_PIDFD: u32 = 3;
711pub const SEEK_SET: u32 = 0;
712pub const SEEK_CUR: u32 = 1;
713pub const SEEK_END: u32 = 2;
714pub const _IOFBF: u32 = 0;
715pub const _IOLBF: u32 = 1;
716pub const _IONBF: u32 = 2;
717pub const BUFSIZ: u32 = 1024;
718pub const EOF: i32 = -1;
719pub const FOPEN_MAX: u32 = 20;
720pub const FILENAME_MAX: u32 = 4096;
721pub const L_tmpnam: u32 = 4096;
722pub const TMP_MAX: u32 = 308915776;
723pub const P_tmpdir: &[u8; 6] = b"/tmp/\0";
724pub const L_ctermid: u32 = 1024;
725pub const STRUCT_MALLINFO_DECLARED: u32 = 1;
726pub const M_DECAY_TIME: i32 = -100;
727pub const M_PURGE: i32 = -101;
728pub const M_PURGE_ALL: i32 = -104;
729pub const M_MEMTAG_TUNING: i32 = -102;
730pub const M_MEMTAG_TUNING_BUFFER_OVERFLOW: u32 = 0;
731pub const M_MEMTAG_TUNING_UAF: u32 = 1;
732pub const M_THREAD_DISABLE_MEM_INIT: i32 = -103;
733pub const M_CACHE_COUNT_MAX: i32 = -200;
734pub const M_CACHE_SIZE_MAX: i32 = -201;
735pub const M_TSDS_COUNT_MAX: i32 = -202;
736pub const M_BIONIC_ZERO_INIT: i32 = -203;
737pub const M_BIONIC_SET_HEAP_TAGGING_LEVEL: i32 = -204;
738pub const M_LOG_STATS: i32 = -205;
739pub const EXIT_FAILURE: u32 = 1;
740pub const EXIT_SUCCESS: u32 = 0;
741pub const RAND_MAX: u32 = 2147483647;
742pub const __NNAPI_FL5_MIN_ANDROID_API__: u32 = 31;
743pub const ITIMER_REAL: u32 = 0;
744pub const ITIMER_VIRTUAL: u32 = 1;
745pub const ITIMER_PROF: u32 = 2;
746pub const CLOCK_REALTIME: u32 = 0;
747pub const CLOCK_MONOTONIC: u32 = 1;
748pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
749pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
750pub const CLOCK_MONOTONIC_RAW: u32 = 4;
751pub const CLOCK_REALTIME_COARSE: u32 = 5;
752pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
753pub const CLOCK_BOOTTIME: u32 = 7;
754pub const CLOCK_REALTIME_ALARM: u32 = 8;
755pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
756pub const CLOCK_SGI_CYCLE: u32 = 10;
757pub const CLOCK_TAI: u32 = 11;
758pub const MAX_CLOCKS: u32 = 16;
759pub const CLOCKS_MASK: u32 = 1;
760pub const CLOCKS_MONO: u32 = 1;
761pub const TIMER_ABSTIME: u32 = 1;
762pub const FP_XSTATE_MAGIC1: u32 = 1179670611;
763pub const FP_XSTATE_MAGIC2: u32 = 1179670597;
764pub const X86_FXSR_MAGIC: u32 = 0;
765pub const NR_OPEN: u32 = 1024;
766pub const NGROUPS_MAX: u32 = 65536;
767pub const ARG_MAX: u32 = 131072;
768pub const LINK_MAX: u32 = 127;
769pub const MAX_CANON: u32 = 255;
770pub const MAX_INPUT: u32 = 255;
771pub const NAME_MAX: u32 = 255;
772pub const PATH_MAX: u32 = 4096;
773pub const PIPE_BUF: u32 = 4096;
774pub const XATTR_NAME_MAX: u32 = 255;
775pub const XATTR_SIZE_MAX: u32 = 65536;
776pub const XATTR_LIST_MAX: u32 = 65536;
777pub const RTSIG_MAX: u32 = 32;
778pub const PASS_MAX: u32 = 128;
779pub const NL_ARGMAX: u32 = 9;
780pub const NL_LANGMAX: u32 = 14;
781pub const NL_MSGMAX: u32 = 32767;
782pub const NL_NMAX: u32 = 1;
783pub const NL_SETMAX: u32 = 255;
784pub const NL_TEXTMAX: u32 = 255;
785pub const CHAR_BIT: u32 = 8;
786pub const LONG_BIT: u32 = 32;
787pub const WORD_BIT: u32 = 32;
788pub const SCHAR_MAX: u32 = 127;
789pub const SCHAR_MIN: i32 = -128;
790pub const UCHAR_MAX: u32 = 255;
791pub const CHAR_MAX: u32 = 127;
792pub const CHAR_MIN: i32 = -128;
793pub const USHRT_MAX: u32 = 65535;
794pub const SHRT_MAX: u32 = 32767;
795pub const SHRT_MIN: i32 = -32768;
796pub const UINT_MAX: u32 = 4294967295;
797pub const INT_MAX: u32 = 2147483647;
798pub const INT_MIN: i32 = -2147483648;
799pub const ULONG_MAX: u32 = 4294967295;
800pub const LONG_MAX: u32 = 2147483647;
801pub const LONG_MIN: i32 = -2147483648;
802pub const ULLONG_MAX: i32 = -1;
803pub const LLONG_MAX: u64 = 9223372036854775807;
804pub const LLONG_MIN: i64 = -9223372036854775808;
805pub const LONG_LONG_MIN: i64 = -9223372036854775808;
806pub const LONG_LONG_MAX: u64 = 9223372036854775807;
807pub const ULONG_LONG_MAX: i32 = -1;
808pub const UID_MAX: u32 = 4294967295;
809pub const GID_MAX: u32 = 4294967295;
810pub const SIZE_T_MAX: u32 = 4294967295;
811pub const SSIZE_MAX: u32 = 2147483647;
812pub const MB_LEN_MAX: u32 = 4;
813pub const NZERO: u32 = 20;
814pub const IOV_MAX: u32 = 1024;
815pub const SEM_VALUE_MAX: u32 = 1073741823;
816pub const _POSIX_VERSION: u32 = 200809;
817pub const _POSIX2_VERSION: u32 = 200809;
818pub const _XOPEN_VERSION: u32 = 700;
819pub const __BIONIC_POSIX_FEATURE_MISSING: i32 = -1;
820pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1;
821pub const _POSIX_CHOWN_RESTRICTED: u32 = 1;
822pub const _POSIX_CPUTIME: u32 = 200809;
823pub const _POSIX_FSYNC: u32 = 200809;
824pub const _POSIX_IPV6: u32 = 200809;
825pub const _POSIX_MAPPED_FILES: u32 = 200809;
826pub const _POSIX_MEMLOCK_RANGE: u32 = 200809;
827pub const _POSIX_MEMORY_PROTECTION: u32 = 200809;
828pub const _POSIX_MESSAGE_PASSING: i32 = -1;
829pub const _POSIX_MONOTONIC_CLOCK: u32 = 200809;
830pub const _POSIX_NO_TRUNC: u32 = 1;
831pub const _POSIX_PRIORITIZED_IO: i32 = -1;
832pub const _POSIX_PRIORITY_SCHEDULING: u32 = 200809;
833pub const _POSIX_RAW_SOCKETS: u32 = 200809;
834pub const _POSIX_READER_WRITER_LOCKS: u32 = 200809;
835pub const _POSIX_REGEXP: u32 = 1;
836pub const _POSIX_SAVED_IDS: u32 = 1;
837pub const _POSIX_SEMAPHORES: u32 = 200809;
838pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1;
839pub const _POSIX_SHELL: u32 = 1;
840pub const _POSIX_SPORADIC_SERVER: i32 = -1;
841pub const _POSIX_SYNCHRONIZED_IO: u32 = 200809;
842pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200809;
843pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200809;
844pub const _POSIX_THREAD_CPUTIME: u32 = 200809;
845pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1;
846pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1;
847pub const _POSIX_THREAD_PRIORITY_SCHEDULING: u32 = 200809;
848pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200809;
849pub const _POSIX_THREAD_ROBUST_PRIO_INHERIT: i32 = -1;
850pub const _POSIX_THREAD_ROBUST_PRIO_PROTECT: i32 = -1;
851pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200809;
852pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1;
853pub const _POSIX_THREADS: u32 = 200809;
854pub const _POSIX_TIMERS: u32 = 200809;
855pub const _POSIX_TRACE: i32 = -1;
856pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1;
857pub const _POSIX_TRACE_INHERIT: i32 = -1;
858pub const _POSIX_TRACE_LOG: i32 = -1;
859pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1;
860pub const _POSIX_VDISABLE: u8 = 0u8;
861pub const _POSIX2_C_BIND: u32 = 200809;
862pub const _POSIX2_C_DEV: i32 = -1;
863pub const _POSIX2_CHAR_TERM: u32 = 200809;
864pub const _POSIX2_FORT_DEV: i32 = -1;
865pub const _POSIX2_FORT_RUN: i32 = -1;
866pub const _POSIX2_LOCALEDEF: i32 = -1;
867pub const _POSIX2_SW_DEV: i32 = -1;
868pub const _POSIX2_UPE: i32 = -1;
869pub const _POSIX_V7_ILP32_OFF32: u32 = 1;
870pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1;
871pub const _POSIX_V7_LP64_OFF64: i32 = -1;
872pub const _POSIX_V7_LPBIG_OFFBIG: i32 = -1;
873pub const _XOPEN_CRYPT: i32 = -1;
874pub const _XOPEN_ENH_I18N: u32 = 1;
875pub const _XOPEN_LEGACY: i32 = -1;
876pub const _XOPEN_REALTIME: u32 = 1;
877pub const _XOPEN_REALTIME_THREADS: u32 = 1;
878pub const _XOPEN_SHM: u32 = 1;
879pub const _XOPEN_STREAMS: i32 = -1;
880pub const _XOPEN_UNIX: u32 = 1;
881pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
882pub const _POSIX_AIO_MAX: u32 = 1;
883pub const _POSIX_ARG_MAX: u32 = 4096;
884pub const _POSIX_CHILD_MAX: u32 = 25;
885pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
886pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
887pub const _POSIX_HOST_NAME_MAX: u32 = 255;
888pub const _POSIX_LINK_MAX: u32 = 8;
889pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
890pub const _POSIX_MAX_CANON: u32 = 255;
891pub const _POSIX_MAX_INPUT: u32 = 255;
892pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
893pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
894pub const _POSIX_NAME_MAX: u32 = 14;
895pub const _POSIX_NGROUPS_MAX: u32 = 8;
896pub const _POSIX_OPEN_MAX: u32 = 20;
897pub const _POSIX_PATH_MAX: u32 = 256;
898pub const _POSIX_PIPE_BUF: u32 = 512;
899pub const _POSIX_RE_DUP_MAX: u32 = 255;
900pub const _POSIX_RTSIG_MAX: u32 = 8;
901pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
902pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
903pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
904pub const _POSIX_SSIZE_MAX: u32 = 32767;
905pub const _POSIX_STREAM_MAX: u32 = 8;
906pub const _POSIX_SS_REPL_MAX: u32 = 4;
907pub const _POSIX_SYMLINK_MAX: u32 = 255;
908pub const _POSIX_SYMLOOP_MAX: u32 = 8;
909pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
910pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
911pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
912pub const _POSIX_TIMER_MAX: u32 = 32;
913pub const _POSIX_TRACE_EVENT_NAME_MAX: u32 = 30;
914pub const _POSIX_TRACE_NAME_MAX: u32 = 8;
915pub const _POSIX_TRACE_SYS_MAX: u32 = 8;
916pub const _POSIX_TRACE_USER_EVENT_MAX: u32 = 32;
917pub const _POSIX_TTY_NAME_MAX: u32 = 9;
918pub const _POSIX_TZNAME_MAX: u32 = 6;
919pub const _POSIX2_BC_BASE_MAX: u32 = 99;
920pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
921pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
922pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
923pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
924pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
925pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
926pub const _POSIX2_LINE_MAX: u32 = 2048;
927pub const _POSIX2_RE_DUP_MAX: u32 = 255;
928pub const _XOPEN_IOV_MAX: u32 = 16;
929pub const _XOPEN_NAME_MAX: u32 = 255;
930pub const _XOPEN_PATH_MAX: u32 = 1024;
931pub const HOST_NAME_MAX: u32 = 255;
932pub const LOGIN_NAME_MAX: u32 = 256;
933pub const TTY_NAME_MAX: u32 = 32;
934pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
935pub const PTHREAD_KEYS_MAX: u32 = 128;
936pub const _KERNEL_NSIG: u32 = 32;
937pub const SIGHUP: u32 = 1;
938pub const SIGINT: u32 = 2;
939pub const SIGQUIT: u32 = 3;
940pub const SIGILL: u32 = 4;
941pub const SIGTRAP: u32 = 5;
942pub const SIGABRT: u32 = 6;
943pub const SIGIOT: u32 = 6;
944pub const SIGBUS: u32 = 7;
945pub const SIGFPE: u32 = 8;
946pub const SIGKILL: u32 = 9;
947pub const SIGUSR1: u32 = 10;
948pub const SIGSEGV: u32 = 11;
949pub const SIGUSR2: u32 = 12;
950pub const SIGPIPE: u32 = 13;
951pub const SIGALRM: u32 = 14;
952pub const SIGTERM: u32 = 15;
953pub const SIGSTKFLT: u32 = 16;
954pub const SIGCHLD: u32 = 17;
955pub const SIGCONT: u32 = 18;
956pub const SIGSTOP: u32 = 19;
957pub const SIGTSTP: u32 = 20;
958pub const SIGTTIN: u32 = 21;
959pub const SIGTTOU: u32 = 22;
960pub const SIGURG: u32 = 23;
961pub const SIGXCPU: u32 = 24;
962pub const SIGXFSZ: u32 = 25;
963pub const SIGVTALRM: u32 = 26;
964pub const SIGPROF: u32 = 27;
965pub const SIGWINCH: u32 = 28;
966pub const SIGIO: u32 = 29;
967pub const SIGPOLL: u32 = 29;
968pub const SIGPWR: u32 = 30;
969pub const SIGSYS: u32 = 31;
970pub const SIGUNUSED: u32 = 31;
971pub const __SIGRTMIN: u32 = 32;
972pub const SA_RESTORER: u32 = 67108864;
973pub const MINSIGSTKSZ: u32 = 2048;
974pub const SIGSTKSZ: u32 = 8192;
975pub const SA_NOCLDSTOP: u32 = 1;
976pub const SA_NOCLDWAIT: u32 = 2;
977pub const SA_SIGINFO: u32 = 4;
978pub const SA_UNSUPPORTED: u32 = 1024;
979pub const SA_EXPOSE_TAGBITS: u32 = 2048;
980pub const SA_ONSTACK: u32 = 134217728;
981pub const SA_RESTART: u32 = 268435456;
982pub const SA_NODEFER: u32 = 1073741824;
983pub const SA_RESETHAND: u32 = 2147483648;
984pub const SA_NOMASK: u32 = 1073741824;
985pub const SA_ONESHOT: u32 = 2147483648;
986pub const SIG_BLOCK: u32 = 0;
987pub const SIG_UNBLOCK: u32 = 1;
988pub const SIG_SETMASK: u32 = 2;
989pub const SI_MAX_SIZE: u32 = 128;
990pub const SI_USER: u32 = 0;
991pub const SI_KERNEL: u32 = 128;
992pub const SI_QUEUE: i32 = -1;
993pub const SI_TIMER: i32 = -2;
994pub const SI_MESGQ: i32 = -3;
995pub const SI_ASYNCIO: i32 = -4;
996pub const SI_SIGIO: i32 = -5;
997pub const SI_TKILL: i32 = -6;
998pub const SI_DETHREAD: i32 = -7;
999pub const SI_ASYNCNL: i32 = -60;
1000pub const ILL_ILLOPC: u32 = 1;
1001pub const ILL_ILLOPN: u32 = 2;
1002pub const ILL_ILLADR: u32 = 3;
1003pub const ILL_ILLTRP: u32 = 4;
1004pub const ILL_PRVOPC: u32 = 5;
1005pub const ILL_PRVREG: u32 = 6;
1006pub const ILL_COPROC: u32 = 7;
1007pub const ILL_BADSTK: u32 = 8;
1008pub const ILL_BADIADDR: u32 = 9;
1009pub const __ILL_BREAK: u32 = 10;
1010pub const __ILL_BNDMOD: u32 = 11;
1011pub const NSIGILL: u32 = 11;
1012pub const FPE_INTDIV: u32 = 1;
1013pub const FPE_INTOVF: u32 = 2;
1014pub const FPE_FLTDIV: u32 = 3;
1015pub const FPE_FLTOVF: u32 = 4;
1016pub const FPE_FLTUND: u32 = 5;
1017pub const FPE_FLTRES: u32 = 6;
1018pub const FPE_FLTINV: u32 = 7;
1019pub const FPE_FLTSUB: u32 = 8;
1020pub const __FPE_DECOVF: u32 = 9;
1021pub const __FPE_DECDIV: u32 = 10;
1022pub const __FPE_DECERR: u32 = 11;
1023pub const __FPE_INVASC: u32 = 12;
1024pub const __FPE_INVDEC: u32 = 13;
1025pub const FPE_FLTUNK: u32 = 14;
1026pub const FPE_CONDTRAP: u32 = 15;
1027pub const NSIGFPE: u32 = 15;
1028pub const SEGV_MAPERR: u32 = 1;
1029pub const SEGV_ACCERR: u32 = 2;
1030pub const SEGV_BNDERR: u32 = 3;
1031pub const SEGV_PKUERR: u32 = 4;
1032pub const SEGV_ACCADI: u32 = 5;
1033pub const SEGV_ADIDERR: u32 = 6;
1034pub const SEGV_ADIPERR: u32 = 7;
1035pub const SEGV_MTEAERR: u32 = 8;
1036pub const SEGV_MTESERR: u32 = 9;
1037pub const SEGV_CPERR: u32 = 10;
1038pub const NSIGSEGV: u32 = 10;
1039pub const BUS_ADRALN: u32 = 1;
1040pub const BUS_ADRERR: u32 = 2;
1041pub const BUS_OBJERR: u32 = 3;
1042pub const BUS_MCEERR_AR: u32 = 4;
1043pub const BUS_MCEERR_AO: u32 = 5;
1044pub const NSIGBUS: u32 = 5;
1045pub const TRAP_BRKPT: u32 = 1;
1046pub const TRAP_TRACE: u32 = 2;
1047pub const TRAP_BRANCH: u32 = 3;
1048pub const TRAP_HWBKPT: u32 = 4;
1049pub const TRAP_UNK: u32 = 5;
1050pub const TRAP_PERF: u32 = 6;
1051pub const NSIGTRAP: u32 = 6;
1052pub const TRAP_PERF_FLAG_ASYNC: u32 = 1;
1053pub const CLD_EXITED: u32 = 1;
1054pub const CLD_KILLED: u32 = 2;
1055pub const CLD_DUMPED: u32 = 3;
1056pub const CLD_TRAPPED: u32 = 4;
1057pub const CLD_STOPPED: u32 = 5;
1058pub const CLD_CONTINUED: u32 = 6;
1059pub const NSIGCHLD: u32 = 6;
1060pub const POLL_IN: u32 = 1;
1061pub const POLL_OUT: u32 = 2;
1062pub const POLL_MSG: u32 = 3;
1063pub const POLL_ERR: u32 = 4;
1064pub const POLL_PRI: u32 = 5;
1065pub const POLL_HUP: u32 = 6;
1066pub const NSIGPOLL: u32 = 6;
1067pub const SYS_SECCOMP: u32 = 1;
1068pub const SYS_USER_DISPATCH: u32 = 2;
1069pub const NSIGSYS: u32 = 2;
1070pub const EMT_TAGOVF: u32 = 1;
1071pub const NSIGEMT: u32 = 1;
1072pub const SIGEV_SIGNAL: u32 = 0;
1073pub const SIGEV_NONE: u32 = 1;
1074pub const SIGEV_THREAD: u32 = 2;
1075pub const SIGEV_THREAD_ID: u32 = 4;
1076pub const SIGEV_MAX_SIZE: u32 = 64;
1077pub const SS_ONSTACK: u32 = 1;
1078pub const SS_DISABLE: u32 = 2;
1079pub const SS_AUTODISARM: u32 = 2147483648;
1080pub const SS_FLAG_BITS: u32 = 2147483648;
1081pub const _KERNEL__NSIG: u32 = 64;
1082pub const _NSIG: u32 = 65;
1083pub const NSIG: u32 = 65;
1084pub const PAGE_SIZE: u32 = 4096;
1085pub const PAGE_MASK: i32 = -4096;
1086pub const UPAGES: u32 = 1;
1087pub const FD_SETSIZE: u32 = 1024;
1088pub const F_ULOCK: u32 = 0;
1089pub const F_LOCK: u32 = 1;
1090pub const F_TLOCK: u32 = 2;
1091pub const F_TEST: u32 = 3;
1092pub const _SC_ARG_MAX: u32 = 0;
1093pub const _SC_BC_BASE_MAX: u32 = 1;
1094pub const _SC_BC_DIM_MAX: u32 = 2;
1095pub const _SC_BC_SCALE_MAX: u32 = 3;
1096pub const _SC_BC_STRING_MAX: u32 = 4;
1097pub const _SC_CHILD_MAX: u32 = 5;
1098pub const _SC_CLK_TCK: u32 = 6;
1099pub const _SC_COLL_WEIGHTS_MAX: u32 = 7;
1100pub const _SC_EXPR_NEST_MAX: u32 = 8;
1101pub const _SC_LINE_MAX: u32 = 9;
1102pub const _SC_NGROUPS_MAX: u32 = 10;
1103pub const _SC_OPEN_MAX: u32 = 11;
1104pub const _SC_PASS_MAX: u32 = 12;
1105pub const _SC_2_C_BIND: u32 = 13;
1106pub const _SC_2_C_DEV: u32 = 14;
1107pub const _SC_2_C_VERSION: u32 = 15;
1108pub const _SC_2_CHAR_TERM: u32 = 16;
1109pub const _SC_2_FORT_DEV: u32 = 17;
1110pub const _SC_2_FORT_RUN: u32 = 18;
1111pub const _SC_2_LOCALEDEF: u32 = 19;
1112pub const _SC_2_SW_DEV: u32 = 20;
1113pub const _SC_2_UPE: u32 = 21;
1114pub const _SC_2_VERSION: u32 = 22;
1115pub const _SC_JOB_CONTROL: u32 = 23;
1116pub const _SC_SAVED_IDS: u32 = 24;
1117pub const _SC_VERSION: u32 = 25;
1118pub const _SC_RE_DUP_MAX: u32 = 26;
1119pub const _SC_STREAM_MAX: u32 = 27;
1120pub const _SC_TZNAME_MAX: u32 = 28;
1121pub const _SC_XOPEN_CRYPT: u32 = 29;
1122pub const _SC_XOPEN_ENH_I18N: u32 = 30;
1123pub const _SC_XOPEN_SHM: u32 = 31;
1124pub const _SC_XOPEN_VERSION: u32 = 32;
1125pub const _SC_XOPEN_XCU_VERSION: u32 = 33;
1126pub const _SC_XOPEN_REALTIME: u32 = 34;
1127pub const _SC_XOPEN_REALTIME_THREADS: u32 = 35;
1128pub const _SC_XOPEN_LEGACY: u32 = 36;
1129pub const _SC_ATEXIT_MAX: u32 = 37;
1130pub const _SC_IOV_MAX: u32 = 38;
1131pub const _SC_UIO_MAXIOV: u32 = 38;
1132pub const _SC_PAGESIZE: u32 = 39;
1133pub const _SC_PAGE_SIZE: u32 = 40;
1134pub const _SC_XOPEN_UNIX: u32 = 41;
1135pub const _SC_XBS5_ILP32_OFF32: u32 = 42;
1136pub const _SC_XBS5_ILP32_OFFBIG: u32 = 43;
1137pub const _SC_XBS5_LP64_OFF64: u32 = 44;
1138pub const _SC_XBS5_LPBIG_OFFBIG: u32 = 45;
1139pub const _SC_AIO_LISTIO_MAX: u32 = 46;
1140pub const _SC_AIO_MAX: u32 = 47;
1141pub const _SC_AIO_PRIO_DELTA_MAX: u32 = 48;
1142pub const _SC_DELAYTIMER_MAX: u32 = 49;
1143pub const _SC_MQ_OPEN_MAX: u32 = 50;
1144pub const _SC_MQ_PRIO_MAX: u32 = 51;
1145pub const _SC_RTSIG_MAX: u32 = 52;
1146pub const _SC_SEM_NSEMS_MAX: u32 = 53;
1147pub const _SC_SEM_VALUE_MAX: u32 = 54;
1148pub const _SC_SIGQUEUE_MAX: u32 = 55;
1149pub const _SC_TIMER_MAX: u32 = 56;
1150pub const _SC_ASYNCHRONOUS_IO: u32 = 57;
1151pub const _SC_FSYNC: u32 = 58;
1152pub const _SC_MAPPED_FILES: u32 = 59;
1153pub const _SC_MEMLOCK: u32 = 60;
1154pub const _SC_MEMLOCK_RANGE: u32 = 61;
1155pub const _SC_MEMORY_PROTECTION: u32 = 62;
1156pub const _SC_MESSAGE_PASSING: u32 = 63;
1157pub const _SC_PRIORITIZED_IO: u32 = 64;
1158pub const _SC_PRIORITY_SCHEDULING: u32 = 65;
1159pub const _SC_REALTIME_SIGNALS: u32 = 66;
1160pub const _SC_SEMAPHORES: u32 = 67;
1161pub const _SC_SHARED_MEMORY_OBJECTS: u32 = 68;
1162pub const _SC_SYNCHRONIZED_IO: u32 = 69;
1163pub const _SC_TIMERS: u32 = 70;
1164pub const _SC_GETGR_R_SIZE_MAX: u32 = 71;
1165pub const _SC_GETPW_R_SIZE_MAX: u32 = 72;
1166pub const _SC_LOGIN_NAME_MAX: u32 = 73;
1167pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: u32 = 74;
1168pub const _SC_THREAD_KEYS_MAX: u32 = 75;
1169pub const _SC_THREAD_STACK_MIN: u32 = 76;
1170pub const _SC_THREAD_THREADS_MAX: u32 = 77;
1171pub const _SC_TTY_NAME_MAX: u32 = 78;
1172pub const _SC_THREADS: u32 = 79;
1173pub const _SC_THREAD_ATTR_STACKADDR: u32 = 80;
1174pub const _SC_THREAD_ATTR_STACKSIZE: u32 = 81;
1175pub const _SC_THREAD_PRIORITY_SCHEDULING: u32 = 82;
1176pub const _SC_THREAD_PRIO_INHERIT: u32 = 83;
1177pub const _SC_THREAD_PRIO_PROTECT: u32 = 84;
1178pub const _SC_THREAD_SAFE_FUNCTIONS: u32 = 85;
1179pub const _SC_NPROCESSORS_CONF: u32 = 96;
1180pub const _SC_NPROCESSORS_ONLN: u32 = 97;
1181pub const _SC_PHYS_PAGES: u32 = 98;
1182pub const _SC_AVPHYS_PAGES: u32 = 99;
1183pub const _SC_MONOTONIC_CLOCK: u32 = 100;
1184pub const _SC_2_PBS: u32 = 101;
1185pub const _SC_2_PBS_ACCOUNTING: u32 = 102;
1186pub const _SC_2_PBS_CHECKPOINT: u32 = 103;
1187pub const _SC_2_PBS_LOCATE: u32 = 104;
1188pub const _SC_2_PBS_MESSAGE: u32 = 105;
1189pub const _SC_2_PBS_TRACK: u32 = 106;
1190pub const _SC_ADVISORY_INFO: u32 = 107;
1191pub const _SC_BARRIERS: u32 = 108;
1192pub const _SC_CLOCK_SELECTION: u32 = 109;
1193pub const _SC_CPUTIME: u32 = 110;
1194pub const _SC_HOST_NAME_MAX: u32 = 111;
1195pub const _SC_IPV6: u32 = 112;
1196pub const _SC_RAW_SOCKETS: u32 = 113;
1197pub const _SC_READER_WRITER_LOCKS: u32 = 114;
1198pub const _SC_REGEXP: u32 = 115;
1199pub const _SC_SHELL: u32 = 116;
1200pub const _SC_SPAWN: u32 = 117;
1201pub const _SC_SPIN_LOCKS: u32 = 118;
1202pub const _SC_SPORADIC_SERVER: u32 = 119;
1203pub const _SC_SS_REPL_MAX: u32 = 120;
1204pub const _SC_SYMLOOP_MAX: u32 = 121;
1205pub const _SC_THREAD_CPUTIME: u32 = 122;
1206pub const _SC_THREAD_PROCESS_SHARED: u32 = 123;
1207pub const _SC_THREAD_ROBUST_PRIO_INHERIT: u32 = 124;
1208pub const _SC_THREAD_ROBUST_PRIO_PROTECT: u32 = 125;
1209pub const _SC_THREAD_SPORADIC_SERVER: u32 = 126;
1210pub const _SC_TIMEOUTS: u32 = 127;
1211pub const _SC_TRACE: u32 = 128;
1212pub const _SC_TRACE_EVENT_FILTER: u32 = 129;
1213pub const _SC_TRACE_EVENT_NAME_MAX: u32 = 130;
1214pub const _SC_TRACE_INHERIT: u32 = 131;
1215pub const _SC_TRACE_LOG: u32 = 132;
1216pub const _SC_TRACE_NAME_MAX: u32 = 133;
1217pub const _SC_TRACE_SYS_MAX: u32 = 134;
1218pub const _SC_TRACE_USER_EVENT_MAX: u32 = 135;
1219pub const _SC_TYPED_MEMORY_OBJECTS: u32 = 136;
1220pub const _SC_V7_ILP32_OFF32: u32 = 137;
1221pub const _SC_V7_ILP32_OFFBIG: u32 = 138;
1222pub const _SC_V7_LP64_OFF64: u32 = 139;
1223pub const _SC_V7_LPBIG_OFFBIG: u32 = 140;
1224pub const _SC_XOPEN_STREAMS: u32 = 141;
1225pub const _SC_XOPEN_UUCP: u32 = 142;
1226pub const _SC_LEVEL1_ICACHE_SIZE: u32 = 143;
1227pub const _SC_LEVEL1_ICACHE_ASSOC: u32 = 144;
1228pub const _SC_LEVEL1_ICACHE_LINESIZE: u32 = 145;
1229pub const _SC_LEVEL1_DCACHE_SIZE: u32 = 146;
1230pub const _SC_LEVEL1_DCACHE_ASSOC: u32 = 147;
1231pub const _SC_LEVEL1_DCACHE_LINESIZE: u32 = 148;
1232pub const _SC_LEVEL2_CACHE_SIZE: u32 = 149;
1233pub const _SC_LEVEL2_CACHE_ASSOC: u32 = 150;
1234pub const _SC_LEVEL2_CACHE_LINESIZE: u32 = 151;
1235pub const _SC_LEVEL3_CACHE_SIZE: u32 = 152;
1236pub const _SC_LEVEL3_CACHE_ASSOC: u32 = 153;
1237pub const _SC_LEVEL3_CACHE_LINESIZE: u32 = 154;
1238pub const _SC_LEVEL4_CACHE_SIZE: u32 = 155;
1239pub const _SC_LEVEL4_CACHE_ASSOC: u32 = 156;
1240pub const _SC_LEVEL4_CACHE_LINESIZE: u32 = 157;
1241pub const STDIN_FILENO: u32 = 0;
1242pub const STDOUT_FILENO: u32 = 1;
1243pub const STDERR_FILENO: u32 = 2;
1244pub const F_OK: u32 = 0;
1245pub const X_OK: u32 = 1;
1246pub const W_OK: u32 = 2;
1247pub const R_OK: u32 = 4;
1248pub const _PC_FILESIZEBITS: u32 = 0;
1249pub const _PC_LINK_MAX: u32 = 1;
1250pub const _PC_MAX_CANON: u32 = 2;
1251pub const _PC_MAX_INPUT: u32 = 3;
1252pub const _PC_NAME_MAX: u32 = 4;
1253pub const _PC_PATH_MAX: u32 = 5;
1254pub const _PC_PIPE_BUF: u32 = 6;
1255pub const _PC_2_SYMLINKS: u32 = 7;
1256pub const _PC_ALLOC_SIZE_MIN: u32 = 8;
1257pub const _PC_REC_INCR_XFER_SIZE: u32 = 9;
1258pub const _PC_REC_MAX_XFER_SIZE: u32 = 10;
1259pub const _PC_REC_MIN_XFER_SIZE: u32 = 11;
1260pub const _PC_REC_XFER_ALIGN: u32 = 12;
1261pub const _PC_SYMLINK_MAX: u32 = 13;
1262pub const _PC_CHOWN_RESTRICTED: u32 = 14;
1263pub const _PC_NO_TRUNC: u32 = 15;
1264pub const _PC_VDISABLE: u32 = 16;
1265pub const _PC_ASYNC_IO: u32 = 17;
1266pub const _PC_PRIO_IO: u32 = 18;
1267pub const _PC_SYNC_IO: u32 = 19;
1268pub const FP_INFINITE: u32 = 1;
1269pub const FP_NAN: u32 = 2;
1270pub const FP_NORMAL: u32 = 4;
1271pub const FP_SUBNORMAL: u32 = 8;
1272pub const FP_ZERO: u32 = 16;
1273pub const FP_ILOGB0: i32 = -2147483647;
1274pub const FP_ILOGBNAN: u32 = 2147483647;
1275pub const MATH_ERRNO: u32 = 1;
1276pub const MATH_ERREXCEPT: u32 = 2;
1277pub const math_errhandling: u32 = 2;
1278pub const M_E: f64 = 2.718281828459045;
1279pub const M_LOG2E: f64 = 1.4426950408889634;
1280pub const M_LOG10E: f64 = 0.4342944819032518;
1281pub const M_LN2: f64 = 0.6931471805599453;
1282pub const M_LN10: f64 = 2.302585092994046;
1283pub const M_PI: f64 = 3.141592653589793;
1284pub const M_PI_2: f64 = 1.5707963267948966;
1285pub const M_PI_4: f64 = 0.7853981633974483;
1286pub const M_1_PI: f64 = 0.3183098861837907;
1287pub const M_2_PI: f64 = 0.6366197723675814;
1288pub const M_2_SQRTPI: f64 = 1.1283791670955126;
1289pub const M_SQRT2: f64 = 1.4142135623730951;
1290pub const M_SQRT1_2: f64 = 0.7071067811865476;
1291pub const ASENSOR_FIFO_COUNT_INVALID: i32 = -1;
1292pub const ASENSOR_DELAY_INVALID: i32 = -2147483648;
1293pub const ASENSOR_INVALID: i32 = -1;
1294pub const ASENSOR_STANDARD_GRAVITY: f64 = 9.80665;
1295pub const ASENSOR_MAGNETIC_FIELD_EARTH_MAX: f64 = 60.0;
1296pub const ASENSOR_MAGNETIC_FIELD_EARTH_MIN: f64 = 30.0;
1297pub const _IOC_NRBITS: u32 = 8;
1298pub const _IOC_TYPEBITS: u32 = 8;
1299pub const _IOC_SIZEBITS: u32 = 14;
1300pub const _IOC_DIRBITS: u32 = 2;
1301pub const _IOC_NRMASK: u32 = 255;
1302pub const _IOC_TYPEMASK: u32 = 255;
1303pub const _IOC_SIZEMASK: u32 = 16383;
1304pub const _IOC_DIRMASK: u32 = 3;
1305pub const _IOC_NRSHIFT: u32 = 0;
1306pub const _IOC_TYPESHIFT: u32 = 8;
1307pub const _IOC_SIZESHIFT: u32 = 16;
1308pub const _IOC_DIRSHIFT: u32 = 30;
1309pub const _IOC_NONE: u32 = 0;
1310pub const _IOC_WRITE: u32 = 1;
1311pub const _IOC_READ: u32 = 2;
1312pub const IOC_IN: u32 = 1073741824;
1313pub const IOC_OUT: u32 = 2147483648;
1314pub const IOC_INOUT: u32 = 3221225472;
1315pub const IOCSIZE_MASK: u32 = 1073676288;
1316pub const IOCSIZE_SHIFT: u32 = 16;
1317pub const SYNC_IOC_MAGIC: u8 = 62u8;
1318pub const CLOCKS_PER_SEC: u32 = 1000000;
1319pub const TIME_UTC: u32 = 1;
1320pub const TIME_MONOTONIC: u32 = 2;
1321pub const TIME_ACTIVE: u32 = 3;
1322pub const TIME_THREAD_ACTIVE: u32 = 4;
1323pub const AAUDIO_UNSPECIFIED: u32 = 0;
1324pub const AAUDIO_SYSTEM_USAGE_OFFSET: u32 = 1000;
1325pub const PROPERTY_VENDOR: &[u8; 7] = b"vendor\0";
1326pub const PROPERTY_VERSION: &[u8; 8] = b"version\0";
1327pub const PROPERTY_DESCRIPTION: &[u8; 12] = b"description\0";
1328pub const PROPERTY_ALGORITHMS: &[u8; 11] = b"algorithms\0";
1329pub const PROPERTY_DEVICE_UNIQUE_ID: &[u8; 15] = b"deviceUniqueId\0";
1330extern "C" {
1331    pub fn android_get_application_target_sdk_version() -> ::std::os::raw::c_int;
1332}
1333extern "C" {
1334    pub fn android_get_device_api_level() -> ::std::os::raw::c_int;
1335}
1336pub type wchar_t = ::std::os::raw::c_int;
1337#[repr(C)]
1338#[repr(align(8))]
1339#[derive(Debug, Copy, Clone)]
1340pub struct max_align_t {
1341    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
1342    pub __clang_max_align_nonce2: f64,
1343}
1344#[test]
1345fn bindgen_test_layout_max_align_t() {
1346    const UNINIT: ::std::mem::MaybeUninit<max_align_t> = ::std::mem::MaybeUninit::uninit();
1347    let ptr = UNINIT.as_ptr();
1348    assert_eq!(
1349        ::std::mem::size_of::<max_align_t>(),
1350        16usize,
1351        concat!("Size of: ", stringify!(max_align_t))
1352    );
1353    assert_eq!(
1354        ::std::mem::align_of::<max_align_t>(),
1355        8usize,
1356        concat!("Alignment of ", stringify!(max_align_t))
1357    );
1358    assert_eq!(
1359        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce1) as usize - ptr as usize },
1360        0usize,
1361        concat!(
1362            "Offset of field: ",
1363            stringify!(max_align_t),
1364            "::",
1365            stringify!(__clang_max_align_nonce1)
1366        )
1367    );
1368    assert_eq!(
1369        unsafe { ::std::ptr::addr_of!((*ptr).__clang_max_align_nonce2) as usize - ptr as usize },
1370        8usize,
1371        concat!(
1372            "Offset of field: ",
1373            stringify!(max_align_t),
1374            "::",
1375            stringify!(__clang_max_align_nonce2)
1376        )
1377    );
1378}
1379pub type __int8_t = ::std::os::raw::c_schar;
1380pub type __uint8_t = ::std::os::raw::c_uchar;
1381pub type __int16_t = ::std::os::raw::c_short;
1382pub type __uint16_t = ::std::os::raw::c_ushort;
1383pub type __int32_t = ::std::os::raw::c_int;
1384pub type __uint32_t = ::std::os::raw::c_uint;
1385pub type __int64_t = ::std::os::raw::c_longlong;
1386pub type __uint64_t = ::std::os::raw::c_ulonglong;
1387pub type __intptr_t = ::std::os::raw::c_int;
1388pub type __uintptr_t = ::std::os::raw::c_uint;
1389pub type int_least8_t = i8;
1390pub type uint_least8_t = u8;
1391pub type int_least16_t = i16;
1392pub type uint_least16_t = u16;
1393pub type int_least32_t = i32;
1394pub type uint_least32_t = u32;
1395pub type int_least64_t = i64;
1396pub type uint_least64_t = u64;
1397pub type int_fast8_t = i8;
1398pub type uint_fast8_t = u8;
1399pub type int_fast64_t = i64;
1400pub type uint_fast64_t = u64;
1401pub type int_fast16_t = i32;
1402pub type uint_fast16_t = u32;
1403pub type int_fast32_t = i32;
1404pub type uint_fast32_t = u32;
1405pub type uintmax_t = u64;
1406pub type intmax_t = i64;
1407pub type __s8 = ::std::os::raw::c_schar;
1408pub type __u8 = ::std::os::raw::c_uchar;
1409pub type __s16 = ::std::os::raw::c_short;
1410pub type __u16 = ::std::os::raw::c_ushort;
1411pub type __s32 = ::std::os::raw::c_int;
1412pub type __u32 = ::std::os::raw::c_uint;
1413pub type __s64 = ::std::os::raw::c_longlong;
1414pub type __u64 = ::std::os::raw::c_ulonglong;
1415#[repr(C)]
1416#[derive(Debug, Copy, Clone)]
1417pub struct __kernel_fd_set {
1418    pub fds_bits: [::std::os::raw::c_ulong; 32usize],
1419}
1420#[test]
1421fn bindgen_test_layout___kernel_fd_set() {
1422    const UNINIT: ::std::mem::MaybeUninit<__kernel_fd_set> = ::std::mem::MaybeUninit::uninit();
1423    let ptr = UNINIT.as_ptr();
1424    assert_eq!(
1425        ::std::mem::size_of::<__kernel_fd_set>(),
1426        128usize,
1427        concat!("Size of: ", stringify!(__kernel_fd_set))
1428    );
1429    assert_eq!(
1430        ::std::mem::align_of::<__kernel_fd_set>(),
1431        4usize,
1432        concat!("Alignment of ", stringify!(__kernel_fd_set))
1433    );
1434    assert_eq!(
1435        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
1436        0usize,
1437        concat!(
1438            "Offset of field: ",
1439            stringify!(__kernel_fd_set),
1440            "::",
1441            stringify!(fds_bits)
1442        )
1443    );
1444}
1445pub type __kernel_sighandler_t =
1446    ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
1447pub type __kernel_key_t = ::std::os::raw::c_int;
1448pub type __kernel_mqd_t = ::std::os::raw::c_int;
1449pub type __kernel_mode_t = ::std::os::raw::c_ushort;
1450pub type __kernel_ipc_pid_t = ::std::os::raw::c_ushort;
1451pub type __kernel_uid_t = ::std::os::raw::c_ushort;
1452pub type __kernel_gid_t = ::std::os::raw::c_ushort;
1453pub type __kernel_old_dev_t = ::std::os::raw::c_ushort;
1454pub type __kernel_long_t = ::std::os::raw::c_long;
1455pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
1456pub type __kernel_ino_t = __kernel_ulong_t;
1457pub type __kernel_pid_t = ::std::os::raw::c_int;
1458pub type __kernel_suseconds_t = __kernel_long_t;
1459pub type __kernel_daddr_t = ::std::os::raw::c_int;
1460pub type __kernel_uid32_t = ::std::os::raw::c_uint;
1461pub type __kernel_gid32_t = ::std::os::raw::c_uint;
1462pub type __kernel_old_uid_t = __kernel_uid_t;
1463pub type __kernel_old_gid_t = __kernel_gid_t;
1464pub type __kernel_size_t = ::std::os::raw::c_uint;
1465pub type __kernel_ssize_t = ::std::os::raw::c_int;
1466pub type __kernel_ptrdiff_t = ::std::os::raw::c_int;
1467#[repr(C)]
1468#[derive(Debug, Copy, Clone)]
1469pub struct __kernel_fsid_t {
1470    pub val: [::std::os::raw::c_int; 2usize],
1471}
1472#[test]
1473fn bindgen_test_layout___kernel_fsid_t() {
1474    const UNINIT: ::std::mem::MaybeUninit<__kernel_fsid_t> = ::std::mem::MaybeUninit::uninit();
1475    let ptr = UNINIT.as_ptr();
1476    assert_eq!(
1477        ::std::mem::size_of::<__kernel_fsid_t>(),
1478        8usize,
1479        concat!("Size of: ", stringify!(__kernel_fsid_t))
1480    );
1481    assert_eq!(
1482        ::std::mem::align_of::<__kernel_fsid_t>(),
1483        4usize,
1484        concat!("Alignment of ", stringify!(__kernel_fsid_t))
1485    );
1486    assert_eq!(
1487        unsafe { ::std::ptr::addr_of!((*ptr).val) as usize - ptr as usize },
1488        0usize,
1489        concat!(
1490            "Offset of field: ",
1491            stringify!(__kernel_fsid_t),
1492            "::",
1493            stringify!(val)
1494        )
1495    );
1496}
1497pub type __kernel_off_t = __kernel_long_t;
1498pub type __kernel_loff_t = ::std::os::raw::c_longlong;
1499pub type __kernel_old_time_t = __kernel_long_t;
1500pub type __kernel_time_t = __kernel_long_t;
1501pub type __kernel_time64_t = ::std::os::raw::c_longlong;
1502pub type __kernel_clock_t = __kernel_long_t;
1503pub type __kernel_timer_t = ::std::os::raw::c_int;
1504pub type __kernel_clockid_t = ::std::os::raw::c_int;
1505pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
1506pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
1507pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
1508pub type __le16 = __u16;
1509pub type __be16 = __u16;
1510pub type __le32 = __u32;
1511pub type __be32 = __u32;
1512pub type __le64 = __u64;
1513pub type __be64 = __u64;
1514pub type __sum16 = __u16;
1515pub type __wsum = __u32;
1516pub type __poll_t = ::std::os::raw::c_uint;
1517#[repr(C)]
1518#[derive(Debug, Copy, Clone)]
1519pub struct pthread_attr_t {
1520    pub flags: u32,
1521    pub stack_base: *mut ::std::os::raw::c_void,
1522    pub stack_size: usize,
1523    pub guard_size: usize,
1524    pub sched_policy: i32,
1525    pub sched_priority: i32,
1526}
1527#[test]
1528fn bindgen_test_layout_pthread_attr_t() {
1529    const UNINIT: ::std::mem::MaybeUninit<pthread_attr_t> = ::std::mem::MaybeUninit::uninit();
1530    let ptr = UNINIT.as_ptr();
1531    assert_eq!(
1532        ::std::mem::size_of::<pthread_attr_t>(),
1533        24usize,
1534        concat!("Size of: ", stringify!(pthread_attr_t))
1535    );
1536    assert_eq!(
1537        ::std::mem::align_of::<pthread_attr_t>(),
1538        4usize,
1539        concat!("Alignment of ", stringify!(pthread_attr_t))
1540    );
1541    assert_eq!(
1542        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
1543        0usize,
1544        concat!(
1545            "Offset of field: ",
1546            stringify!(pthread_attr_t),
1547            "::",
1548            stringify!(flags)
1549        )
1550    );
1551    assert_eq!(
1552        unsafe { ::std::ptr::addr_of!((*ptr).stack_base) as usize - ptr as usize },
1553        4usize,
1554        concat!(
1555            "Offset of field: ",
1556            stringify!(pthread_attr_t),
1557            "::",
1558            stringify!(stack_base)
1559        )
1560    );
1561    assert_eq!(
1562        unsafe { ::std::ptr::addr_of!((*ptr).stack_size) as usize - ptr as usize },
1563        8usize,
1564        concat!(
1565            "Offset of field: ",
1566            stringify!(pthread_attr_t),
1567            "::",
1568            stringify!(stack_size)
1569        )
1570    );
1571    assert_eq!(
1572        unsafe { ::std::ptr::addr_of!((*ptr).guard_size) as usize - ptr as usize },
1573        12usize,
1574        concat!(
1575            "Offset of field: ",
1576            stringify!(pthread_attr_t),
1577            "::",
1578            stringify!(guard_size)
1579        )
1580    );
1581    assert_eq!(
1582        unsafe { ::std::ptr::addr_of!((*ptr).sched_policy) as usize - ptr as usize },
1583        16usize,
1584        concat!(
1585            "Offset of field: ",
1586            stringify!(pthread_attr_t),
1587            "::",
1588            stringify!(sched_policy)
1589        )
1590    );
1591    assert_eq!(
1592        unsafe { ::std::ptr::addr_of!((*ptr).sched_priority) as usize - ptr as usize },
1593        20usize,
1594        concat!(
1595            "Offset of field: ",
1596            stringify!(pthread_attr_t),
1597            "::",
1598            stringify!(sched_priority)
1599        )
1600    );
1601}
1602#[repr(C)]
1603#[derive(Debug, Copy, Clone)]
1604pub struct pthread_barrier_t {
1605    pub __private: [i32; 8usize],
1606}
1607#[test]
1608fn bindgen_test_layout_pthread_barrier_t() {
1609    const UNINIT: ::std::mem::MaybeUninit<pthread_barrier_t> = ::std::mem::MaybeUninit::uninit();
1610    let ptr = UNINIT.as_ptr();
1611    assert_eq!(
1612        ::std::mem::size_of::<pthread_barrier_t>(),
1613        32usize,
1614        concat!("Size of: ", stringify!(pthread_barrier_t))
1615    );
1616    assert_eq!(
1617        ::std::mem::align_of::<pthread_barrier_t>(),
1618        4usize,
1619        concat!("Alignment of ", stringify!(pthread_barrier_t))
1620    );
1621    assert_eq!(
1622        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1623        0usize,
1624        concat!(
1625            "Offset of field: ",
1626            stringify!(pthread_barrier_t),
1627            "::",
1628            stringify!(__private)
1629        )
1630    );
1631}
1632pub type pthread_barrierattr_t = ::std::os::raw::c_int;
1633#[repr(C)]
1634#[derive(Debug, Copy, Clone)]
1635pub struct pthread_cond_t {
1636    pub __private: [i32; 1usize],
1637}
1638#[test]
1639fn bindgen_test_layout_pthread_cond_t() {
1640    const UNINIT: ::std::mem::MaybeUninit<pthread_cond_t> = ::std::mem::MaybeUninit::uninit();
1641    let ptr = UNINIT.as_ptr();
1642    assert_eq!(
1643        ::std::mem::size_of::<pthread_cond_t>(),
1644        4usize,
1645        concat!("Size of: ", stringify!(pthread_cond_t))
1646    );
1647    assert_eq!(
1648        ::std::mem::align_of::<pthread_cond_t>(),
1649        4usize,
1650        concat!("Alignment of ", stringify!(pthread_cond_t))
1651    );
1652    assert_eq!(
1653        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1654        0usize,
1655        concat!(
1656            "Offset of field: ",
1657            stringify!(pthread_cond_t),
1658            "::",
1659            stringify!(__private)
1660        )
1661    );
1662}
1663pub type pthread_condattr_t = ::std::os::raw::c_long;
1664pub type pthread_key_t = ::std::os::raw::c_int;
1665#[repr(C)]
1666#[derive(Debug, Copy, Clone)]
1667pub struct pthread_mutex_t {
1668    pub __private: [i32; 1usize],
1669}
1670#[test]
1671fn bindgen_test_layout_pthread_mutex_t() {
1672    const UNINIT: ::std::mem::MaybeUninit<pthread_mutex_t> = ::std::mem::MaybeUninit::uninit();
1673    let ptr = UNINIT.as_ptr();
1674    assert_eq!(
1675        ::std::mem::size_of::<pthread_mutex_t>(),
1676        4usize,
1677        concat!("Size of: ", stringify!(pthread_mutex_t))
1678    );
1679    assert_eq!(
1680        ::std::mem::align_of::<pthread_mutex_t>(),
1681        4usize,
1682        concat!("Alignment of ", stringify!(pthread_mutex_t))
1683    );
1684    assert_eq!(
1685        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1686        0usize,
1687        concat!(
1688            "Offset of field: ",
1689            stringify!(pthread_mutex_t),
1690            "::",
1691            stringify!(__private)
1692        )
1693    );
1694}
1695pub type pthread_mutexattr_t = ::std::os::raw::c_long;
1696pub type pthread_once_t = ::std::os::raw::c_int;
1697#[repr(C)]
1698#[derive(Debug, Copy, Clone)]
1699pub struct pthread_rwlock_t {
1700    pub __private: [i32; 10usize],
1701}
1702#[test]
1703fn bindgen_test_layout_pthread_rwlock_t() {
1704    const UNINIT: ::std::mem::MaybeUninit<pthread_rwlock_t> = ::std::mem::MaybeUninit::uninit();
1705    let ptr = UNINIT.as_ptr();
1706    assert_eq!(
1707        ::std::mem::size_of::<pthread_rwlock_t>(),
1708        40usize,
1709        concat!("Size of: ", stringify!(pthread_rwlock_t))
1710    );
1711    assert_eq!(
1712        ::std::mem::align_of::<pthread_rwlock_t>(),
1713        4usize,
1714        concat!("Alignment of ", stringify!(pthread_rwlock_t))
1715    );
1716    assert_eq!(
1717        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1718        0usize,
1719        concat!(
1720            "Offset of field: ",
1721            stringify!(pthread_rwlock_t),
1722            "::",
1723            stringify!(__private)
1724        )
1725    );
1726}
1727pub type pthread_rwlockattr_t = ::std::os::raw::c_long;
1728#[repr(C)]
1729#[derive(Debug, Copy, Clone)]
1730pub struct pthread_spinlock_t {
1731    pub __private: [i32; 2usize],
1732}
1733#[test]
1734fn bindgen_test_layout_pthread_spinlock_t() {
1735    const UNINIT: ::std::mem::MaybeUninit<pthread_spinlock_t> = ::std::mem::MaybeUninit::uninit();
1736    let ptr = UNINIT.as_ptr();
1737    assert_eq!(
1738        ::std::mem::size_of::<pthread_spinlock_t>(),
1739        8usize,
1740        concat!("Size of: ", stringify!(pthread_spinlock_t))
1741    );
1742    assert_eq!(
1743        ::std::mem::align_of::<pthread_spinlock_t>(),
1744        4usize,
1745        concat!("Alignment of ", stringify!(pthread_spinlock_t))
1746    );
1747    assert_eq!(
1748        unsafe { ::std::ptr::addr_of!((*ptr).__private) as usize - ptr as usize },
1749        0usize,
1750        concat!(
1751            "Offset of field: ",
1752            stringify!(pthread_spinlock_t),
1753            "::",
1754            stringify!(__private)
1755        )
1756    );
1757}
1758pub type pthread_t = ::std::os::raw::c_long;
1759pub type __gid_t = __kernel_gid32_t;
1760pub type gid_t = __gid_t;
1761pub type __uid_t = __kernel_uid32_t;
1762pub type uid_t = __uid_t;
1763pub type __pid_t = __kernel_pid_t;
1764pub type pid_t = __pid_t;
1765pub type __id_t = u32;
1766pub type id_t = __id_t;
1767pub type blkcnt_t = ::std::os::raw::c_ulong;
1768pub type blksize_t = ::std::os::raw::c_ulong;
1769pub type caddr_t = __kernel_caddr_t;
1770pub type clock_t = __kernel_clock_t;
1771pub type __clockid_t = __kernel_clockid_t;
1772pub type clockid_t = __clockid_t;
1773pub type daddr_t = __kernel_daddr_t;
1774pub type fsblkcnt_t = ::std::os::raw::c_ulong;
1775pub type fsfilcnt_t = ::std::os::raw::c_ulong;
1776pub type __mode_t = __kernel_mode_t;
1777pub type mode_t = __mode_t;
1778pub type __key_t = __kernel_key_t;
1779pub type key_t = __key_t;
1780pub type __ino_t = __kernel_ino_t;
1781pub type ino_t = __ino_t;
1782pub type ino64_t = u64;
1783pub type __nlink_t = u32;
1784pub type nlink_t = __nlink_t;
1785pub type __timer_t = *mut ::std::os::raw::c_void;
1786pub type timer_t = __timer_t;
1787pub type __suseconds_t = __kernel_suseconds_t;
1788pub type suseconds_t = __suseconds_t;
1789pub type __useconds_t = u32;
1790pub type useconds_t = __useconds_t;
1791pub type dev_t = u32;
1792pub type __time_t = __kernel_time_t;
1793pub type time_t = __time_t;
1794pub type off_t = __kernel_off_t;
1795pub type loff_t = __kernel_loff_t;
1796pub type off64_t = loff_t;
1797pub type __socklen_t = i32;
1798pub type socklen_t = __socklen_t;
1799pub type __va_list = __builtin_va_list;
1800pub type uint_t = ::std::os::raw::c_uint;
1801pub type uint = ::std::os::raw::c_uint;
1802pub type u_char = ::std::os::raw::c_uchar;
1803pub type u_short = ::std::os::raw::c_ushort;
1804pub type u_int = ::std::os::raw::c_uint;
1805pub type u_long = ::std::os::raw::c_ulong;
1806pub type u_int32_t = u32;
1807pub type u_int16_t = u16;
1808pub type u_int8_t = u8;
1809pub type u_int64_t = u64;
1810#[repr(C)]
1811#[derive(Debug, Copy, Clone)]
1812pub struct AAssetManager {
1813    _unused: [u8; 0],
1814}
1815#[repr(C)]
1816#[derive(Debug, Copy, Clone)]
1817pub struct AAssetDir {
1818    _unused: [u8; 0],
1819}
1820#[repr(C)]
1821#[derive(Debug, Copy, Clone)]
1822pub struct AAsset {
1823    _unused: [u8; 0],
1824}
1825pub const AASSET_MODE_UNKNOWN: _bindgen_ty_1 = 0;
1826pub const AASSET_MODE_RANDOM: _bindgen_ty_1 = 1;
1827pub const AASSET_MODE_STREAMING: _bindgen_ty_1 = 2;
1828pub const AASSET_MODE_BUFFER: _bindgen_ty_1 = 3;
1829pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
1830extern "C" {
1831    pub fn AAssetManager_openDir(
1832        mgr: *mut AAssetManager,
1833        dirName: *const ::std::os::raw::c_char,
1834    ) -> *mut AAssetDir;
1835}
1836extern "C" {
1837    pub fn AAssetManager_open(
1838        mgr: *mut AAssetManager,
1839        filename: *const ::std::os::raw::c_char,
1840        mode: ::std::os::raw::c_int,
1841    ) -> *mut AAsset;
1842}
1843extern "C" {
1844    pub fn AAssetDir_getNextFileName(assetDir: *mut AAssetDir) -> *const ::std::os::raw::c_char;
1845}
1846extern "C" {
1847    pub fn AAssetDir_rewind(assetDir: *mut AAssetDir);
1848}
1849extern "C" {
1850    pub fn AAssetDir_close(assetDir: *mut AAssetDir);
1851}
1852extern "C" {
1853    pub fn AAsset_read(
1854        asset: *mut AAsset,
1855        buf: *mut ::std::os::raw::c_void,
1856        count: usize,
1857    ) -> ::std::os::raw::c_int;
1858}
1859extern "C" {
1860    pub fn AAsset_seek(asset: *mut AAsset, offset: off_t, whence: ::std::os::raw::c_int) -> off_t;
1861}
1862extern "C" {
1863    pub fn AAsset_seek64(
1864        asset: *mut AAsset,
1865        offset: off64_t,
1866        whence: ::std::os::raw::c_int,
1867    ) -> off64_t;
1868}
1869extern "C" {
1870    pub fn AAsset_close(asset: *mut AAsset);
1871}
1872extern "C" {
1873    pub fn AAsset_getBuffer(asset: *mut AAsset) -> *const ::std::os::raw::c_void;
1874}
1875extern "C" {
1876    pub fn AAsset_getLength(asset: *mut AAsset) -> off_t;
1877}
1878extern "C" {
1879    pub fn AAsset_getLength64(asset: *mut AAsset) -> off64_t;
1880}
1881extern "C" {
1882    pub fn AAsset_getRemainingLength(asset: *mut AAsset) -> off_t;
1883}
1884extern "C" {
1885    pub fn AAsset_getRemainingLength64(asset: *mut AAsset) -> off64_t;
1886}
1887extern "C" {
1888    pub fn AAsset_openFileDescriptor(
1889        asset: *mut AAsset,
1890        outStart: *mut off_t,
1891        outLength: *mut off_t,
1892    ) -> ::std::os::raw::c_int;
1893}
1894extern "C" {
1895    pub fn AAsset_openFileDescriptor64(
1896        asset: *mut AAsset,
1897        outStart: *mut off64_t,
1898        outLength: *mut off64_t,
1899    ) -> ::std::os::raw::c_int;
1900}
1901extern "C" {
1902    pub fn AAsset_isAllocated(asset: *mut AAsset) -> ::std::os::raw::c_int;
1903}
1904pub type __gnuc_va_list = __builtin_va_list;
1905pub type va_list = __builtin_va_list;
1906#[repr(C)]
1907pub struct JavaVMAttachArgs {
1908    pub version: jint,
1909    pub name: *const ::std::os::raw::c_char,
1910    pub group: jobject,
1911}
1912#[test]
1913fn bindgen_test_layout_JavaVMAttachArgs() {
1914    const UNINIT: ::std::mem::MaybeUninit<JavaVMAttachArgs> = ::std::mem::MaybeUninit::uninit();
1915    let ptr = UNINIT.as_ptr();
1916    assert_eq!(
1917        ::std::mem::size_of::<JavaVMAttachArgs>(),
1918        12usize,
1919        concat!("Size of: ", stringify!(JavaVMAttachArgs))
1920    );
1921    assert_eq!(
1922        ::std::mem::align_of::<JavaVMAttachArgs>(),
1923        4usize,
1924        concat!("Alignment of ", stringify!(JavaVMAttachArgs))
1925    );
1926    assert_eq!(
1927        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
1928        0usize,
1929        concat!(
1930            "Offset of field: ",
1931            stringify!(JavaVMAttachArgs),
1932            "::",
1933            stringify!(version)
1934        )
1935    );
1936    assert_eq!(
1937        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
1938        4usize,
1939        concat!(
1940            "Offset of field: ",
1941            stringify!(JavaVMAttachArgs),
1942            "::",
1943            stringify!(name)
1944        )
1945    );
1946    assert_eq!(
1947        unsafe { ::std::ptr::addr_of!((*ptr).group) as usize - ptr as usize },
1948        8usize,
1949        concat!(
1950            "Offset of field: ",
1951            stringify!(JavaVMAttachArgs),
1952            "::",
1953            stringify!(group)
1954        )
1955    );
1956}
1957#[repr(C)]
1958#[derive(Debug, Copy, Clone)]
1959pub struct JavaVMOption {
1960    pub optionString: *const ::std::os::raw::c_char,
1961    pub extraInfo: *mut ::std::os::raw::c_void,
1962}
1963#[test]
1964fn bindgen_test_layout_JavaVMOption() {
1965    const UNINIT: ::std::mem::MaybeUninit<JavaVMOption> = ::std::mem::MaybeUninit::uninit();
1966    let ptr = UNINIT.as_ptr();
1967    assert_eq!(
1968        ::std::mem::size_of::<JavaVMOption>(),
1969        8usize,
1970        concat!("Size of: ", stringify!(JavaVMOption))
1971    );
1972    assert_eq!(
1973        ::std::mem::align_of::<JavaVMOption>(),
1974        4usize,
1975        concat!("Alignment of ", stringify!(JavaVMOption))
1976    );
1977    assert_eq!(
1978        unsafe { ::std::ptr::addr_of!((*ptr).optionString) as usize - ptr as usize },
1979        0usize,
1980        concat!(
1981            "Offset of field: ",
1982            stringify!(JavaVMOption),
1983            "::",
1984            stringify!(optionString)
1985        )
1986    );
1987    assert_eq!(
1988        unsafe { ::std::ptr::addr_of!((*ptr).extraInfo) as usize - ptr as usize },
1989        4usize,
1990        concat!(
1991            "Offset of field: ",
1992            stringify!(JavaVMOption),
1993            "::",
1994            stringify!(extraInfo)
1995        )
1996    );
1997}
1998#[repr(C)]
1999pub struct JavaVMInitArgs {
2000    pub version: jint,
2001    pub nOptions: jint,
2002    pub options: *mut JavaVMOption,
2003    pub ignoreUnrecognized: jboolean,
2004}
2005#[test]
2006fn bindgen_test_layout_JavaVMInitArgs() {
2007    const UNINIT: ::std::mem::MaybeUninit<JavaVMInitArgs> = ::std::mem::MaybeUninit::uninit();
2008    let ptr = UNINIT.as_ptr();
2009    assert_eq!(
2010        ::std::mem::size_of::<JavaVMInitArgs>(),
2011        16usize,
2012        concat!("Size of: ", stringify!(JavaVMInitArgs))
2013    );
2014    assert_eq!(
2015        ::std::mem::align_of::<JavaVMInitArgs>(),
2016        4usize,
2017        concat!("Alignment of ", stringify!(JavaVMInitArgs))
2018    );
2019    assert_eq!(
2020        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
2021        0usize,
2022        concat!(
2023            "Offset of field: ",
2024            stringify!(JavaVMInitArgs),
2025            "::",
2026            stringify!(version)
2027        )
2028    );
2029    assert_eq!(
2030        unsafe { ::std::ptr::addr_of!((*ptr).nOptions) as usize - ptr as usize },
2031        4usize,
2032        concat!(
2033            "Offset of field: ",
2034            stringify!(JavaVMInitArgs),
2035            "::",
2036            stringify!(nOptions)
2037        )
2038    );
2039    assert_eq!(
2040        unsafe { ::std::ptr::addr_of!((*ptr).options) as usize - ptr as usize },
2041        8usize,
2042        concat!(
2043            "Offset of field: ",
2044            stringify!(JavaVMInitArgs),
2045            "::",
2046            stringify!(options)
2047        )
2048    );
2049    assert_eq!(
2050        unsafe { ::std::ptr::addr_of!((*ptr).ignoreUnrecognized) as usize - ptr as usize },
2051        12usize,
2052        concat!(
2053            "Offset of field: ",
2054            stringify!(JavaVMInitArgs),
2055            "::",
2056            stringify!(ignoreUnrecognized)
2057        )
2058    );
2059}
2060extern "C" {
2061    pub fn AAssetManager_fromJava(env: *mut JNIEnv, assetManager: jobject) -> *mut AAssetManager;
2062}
2063pub const ANDROID_BITMAP_RESULT_SUCCESS: _bindgen_ty_2 = 0;
2064pub const ANDROID_BITMAP_RESULT_BAD_PARAMETER: _bindgen_ty_2 = -1;
2065pub const ANDROID_BITMAP_RESULT_JNI_EXCEPTION: _bindgen_ty_2 = -2;
2066pub const ANDROID_BITMAP_RESULT_ALLOCATION_FAILED: _bindgen_ty_2 = -3;
2067pub type _bindgen_ty_2 = ::std::os::raw::c_int;
2068impl AndroidBitmapFormat {
2069    pub const ANDROID_BITMAP_FORMAT_NONE: AndroidBitmapFormat = AndroidBitmapFormat(0);
2070}
2071impl AndroidBitmapFormat {
2072    pub const ANDROID_BITMAP_FORMAT_RGBA_8888: AndroidBitmapFormat = AndroidBitmapFormat(1);
2073}
2074impl AndroidBitmapFormat {
2075    pub const ANDROID_BITMAP_FORMAT_RGB_565: AndroidBitmapFormat = AndroidBitmapFormat(4);
2076}
2077impl AndroidBitmapFormat {
2078    pub const ANDROID_BITMAP_FORMAT_RGBA_4444: AndroidBitmapFormat = AndroidBitmapFormat(7);
2079}
2080impl AndroidBitmapFormat {
2081    pub const ANDROID_BITMAP_FORMAT_A_8: AndroidBitmapFormat = AndroidBitmapFormat(8);
2082}
2083impl AndroidBitmapFormat {
2084    pub const ANDROID_BITMAP_FORMAT_RGBA_F16: AndroidBitmapFormat = AndroidBitmapFormat(9);
2085}
2086impl AndroidBitmapFormat {
2087    pub const ANDROID_BITMAP_FORMAT_RGBA_1010102: AndroidBitmapFormat = AndroidBitmapFormat(10);
2088}
2089#[repr(transparent)]
2090#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2091pub struct AndroidBitmapFormat(pub ::std::os::raw::c_uint);
2092pub const ANDROID_BITMAP_FLAGS_ALPHA_PREMUL: _bindgen_ty_3 = 0;
2093pub const ANDROID_BITMAP_FLAGS_ALPHA_OPAQUE: _bindgen_ty_3 = 1;
2094pub const ANDROID_BITMAP_FLAGS_ALPHA_UNPREMUL: _bindgen_ty_3 = 2;
2095pub const ANDROID_BITMAP_FLAGS_ALPHA_MASK: _bindgen_ty_3 = 3;
2096pub const ANDROID_BITMAP_FLAGS_ALPHA_SHIFT: _bindgen_ty_3 = 0;
2097pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
2098pub const ANDROID_BITMAP_FLAGS_IS_HARDWARE: _bindgen_ty_4 = -2147483648;
2099pub type _bindgen_ty_4 = ::std::os::raw::c_int;
2100#[repr(C)]
2101#[derive(Debug, Copy, Clone)]
2102pub struct AndroidBitmapInfo {
2103    pub width: u32,
2104    pub height: u32,
2105    pub stride: u32,
2106    pub format: i32,
2107    pub flags: u32,
2108}
2109#[test]
2110fn bindgen_test_layout_AndroidBitmapInfo() {
2111    const UNINIT: ::std::mem::MaybeUninit<AndroidBitmapInfo> = ::std::mem::MaybeUninit::uninit();
2112    let ptr = UNINIT.as_ptr();
2113    assert_eq!(
2114        ::std::mem::size_of::<AndroidBitmapInfo>(),
2115        20usize,
2116        concat!("Size of: ", stringify!(AndroidBitmapInfo))
2117    );
2118    assert_eq!(
2119        ::std::mem::align_of::<AndroidBitmapInfo>(),
2120        4usize,
2121        concat!("Alignment of ", stringify!(AndroidBitmapInfo))
2122    );
2123    assert_eq!(
2124        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
2125        0usize,
2126        concat!(
2127            "Offset of field: ",
2128            stringify!(AndroidBitmapInfo),
2129            "::",
2130            stringify!(width)
2131        )
2132    );
2133    assert_eq!(
2134        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
2135        4usize,
2136        concat!(
2137            "Offset of field: ",
2138            stringify!(AndroidBitmapInfo),
2139            "::",
2140            stringify!(height)
2141        )
2142    );
2143    assert_eq!(
2144        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
2145        8usize,
2146        concat!(
2147            "Offset of field: ",
2148            stringify!(AndroidBitmapInfo),
2149            "::",
2150            stringify!(stride)
2151        )
2152    );
2153    assert_eq!(
2154        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
2155        12usize,
2156        concat!(
2157            "Offset of field: ",
2158            stringify!(AndroidBitmapInfo),
2159            "::",
2160            stringify!(format)
2161        )
2162    );
2163    assert_eq!(
2164        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2165        16usize,
2166        concat!(
2167            "Offset of field: ",
2168            stringify!(AndroidBitmapInfo),
2169            "::",
2170            stringify!(flags)
2171        )
2172    );
2173}
2174extern "C" {
2175    pub fn AndroidBitmap_getInfo(
2176        env: *mut JNIEnv,
2177        jbitmap: jobject,
2178        info: *mut AndroidBitmapInfo,
2179    ) -> ::std::os::raw::c_int;
2180}
2181extern "C" {
2182    pub fn AndroidBitmap_getDataSpace(env: *mut JNIEnv, jbitmap: jobject) -> i32;
2183}
2184extern "C" {
2185    pub fn AndroidBitmap_lockPixels(
2186        env: *mut JNIEnv,
2187        jbitmap: jobject,
2188        addrPtr: *mut *mut ::std::os::raw::c_void,
2189    ) -> ::std::os::raw::c_int;
2190}
2191extern "C" {
2192    pub fn AndroidBitmap_unlockPixels(env: *mut JNIEnv, jbitmap: jobject) -> ::std::os::raw::c_int;
2193}
2194impl AndroidBitmapCompressFormat {
2195    pub const ANDROID_BITMAP_COMPRESS_FORMAT_JPEG: AndroidBitmapCompressFormat =
2196        AndroidBitmapCompressFormat(0);
2197}
2198impl AndroidBitmapCompressFormat {
2199    pub const ANDROID_BITMAP_COMPRESS_FORMAT_PNG: AndroidBitmapCompressFormat =
2200        AndroidBitmapCompressFormat(1);
2201}
2202impl AndroidBitmapCompressFormat {
2203    pub const ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSY: AndroidBitmapCompressFormat =
2204        AndroidBitmapCompressFormat(3);
2205}
2206impl AndroidBitmapCompressFormat {
2207    pub const ANDROID_BITMAP_COMPRESS_FORMAT_WEBP_LOSSLESS: AndroidBitmapCompressFormat =
2208        AndroidBitmapCompressFormat(4);
2209}
2210#[repr(transparent)]
2211#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2212pub struct AndroidBitmapCompressFormat(pub ::std::os::raw::c_uint);
2213pub type AndroidBitmap_CompressWriteFunc = ::std::option::Option<
2214    unsafe extern "C" fn(
2215        userContext: *mut ::std::os::raw::c_void,
2216        data: *const ::std::os::raw::c_void,
2217        size: usize,
2218    ) -> bool,
2219>;
2220extern "C" {
2221    pub fn AndroidBitmap_compress(
2222        info: *const AndroidBitmapInfo,
2223        dataspace: i32,
2224        pixels: *const ::std::os::raw::c_void,
2225        format: i32,
2226        quality: i32,
2227        userContext: *mut ::std::os::raw::c_void,
2228        fn_: AndroidBitmap_CompressWriteFunc,
2229    ) -> ::std::os::raw::c_int;
2230}
2231#[repr(C)]
2232#[derive(Debug, Copy, Clone)]
2233pub struct AHardwareBuffer {
2234    _unused: [u8; 0],
2235}
2236extern "C" {
2237    pub fn AndroidBitmap_getHardwareBuffer(
2238        env: *mut JNIEnv,
2239        bitmap: jobject,
2240        outBuffer: *mut *mut AHardwareBuffer,
2241    ) -> ::std::os::raw::c_int;
2242}
2243#[repr(C)]
2244#[derive(Debug, Copy, Clone)]
2245pub struct AChoreographer {
2246    _unused: [u8; 0],
2247}
2248pub type AVsyncId = i64;
2249#[repr(C)]
2250#[derive(Debug, Copy, Clone)]
2251pub struct AChoreographerFrameCallbackData {
2252    _unused: [u8; 0],
2253}
2254pub type AChoreographer_frameCallback = ::std::option::Option<
2255    unsafe extern "C" fn(frameTimeNanos: ::std::os::raw::c_long, data: *mut ::std::os::raw::c_void),
2256>;
2257pub type AChoreographer_frameCallback64 = ::std::option::Option<
2258    unsafe extern "C" fn(frameTimeNanos: i64, data: *mut ::std::os::raw::c_void),
2259>;
2260pub type AChoreographer_vsyncCallback = ::std::option::Option<
2261    unsafe extern "C" fn(
2262        callbackData: *const AChoreographerFrameCallbackData,
2263        data: *mut ::std::os::raw::c_void,
2264    ),
2265>;
2266pub type AChoreographer_refreshRateCallback = ::std::option::Option<
2267    unsafe extern "C" fn(vsyncPeriodNanos: i64, data: *mut ::std::os::raw::c_void),
2268>;
2269extern "C" {
2270    pub fn AChoreographer_getInstance() -> *mut AChoreographer;
2271}
2272extern "C" {
2273    pub fn AChoreographer_postFrameCallback(
2274        choreographer: *mut AChoreographer,
2275        callback: AChoreographer_frameCallback,
2276        data: *mut ::std::os::raw::c_void,
2277    );
2278}
2279extern "C" {
2280    pub fn AChoreographer_postFrameCallbackDelayed(
2281        choreographer: *mut AChoreographer,
2282        callback: AChoreographer_frameCallback,
2283        data: *mut ::std::os::raw::c_void,
2284        delayMillis: ::std::os::raw::c_long,
2285    );
2286}
2287extern "C" {
2288    pub fn AChoreographer_postFrameCallback64(
2289        choreographer: *mut AChoreographer,
2290        callback: AChoreographer_frameCallback64,
2291        data: *mut ::std::os::raw::c_void,
2292    );
2293}
2294extern "C" {
2295    pub fn AChoreographer_postFrameCallbackDelayed64(
2296        choreographer: *mut AChoreographer,
2297        callback: AChoreographer_frameCallback64,
2298        data: *mut ::std::os::raw::c_void,
2299        delayMillis: u32,
2300    );
2301}
2302extern "C" {
2303    pub fn AChoreographer_postVsyncCallback(
2304        choreographer: *mut AChoreographer,
2305        callback: AChoreographer_vsyncCallback,
2306        data: *mut ::std::os::raw::c_void,
2307    );
2308}
2309extern "C" {
2310    pub fn AChoreographer_registerRefreshRateCallback(
2311        choreographer: *mut AChoreographer,
2312        arg1: AChoreographer_refreshRateCallback,
2313        data: *mut ::std::os::raw::c_void,
2314    );
2315}
2316extern "C" {
2317    pub fn AChoreographer_unregisterRefreshRateCallback(
2318        choreographer: *mut AChoreographer,
2319        arg1: AChoreographer_refreshRateCallback,
2320        data: *mut ::std::os::raw::c_void,
2321    );
2322}
2323extern "C" {
2324    pub fn AChoreographerFrameCallbackData_getFrameTimeNanos(
2325        data: *const AChoreographerFrameCallbackData,
2326    ) -> i64;
2327}
2328extern "C" {
2329    pub fn AChoreographerFrameCallbackData_getFrameTimelinesLength(
2330        data: *const AChoreographerFrameCallbackData,
2331    ) -> usize;
2332}
2333extern "C" {
2334    pub fn AChoreographerFrameCallbackData_getPreferredFrameTimelineIndex(
2335        data: *const AChoreographerFrameCallbackData,
2336    ) -> usize;
2337}
2338extern "C" {
2339    pub fn AChoreographerFrameCallbackData_getFrameTimelineVsyncId(
2340        data: *const AChoreographerFrameCallbackData,
2341        index: usize,
2342    ) -> AVsyncId;
2343}
2344extern "C" {
2345    pub fn AChoreographerFrameCallbackData_getFrameTimelineExpectedPresentationTimeNanos(
2346        data: *const AChoreographerFrameCallbackData,
2347        index: usize,
2348    ) -> i64;
2349}
2350extern "C" {
2351    pub fn AChoreographerFrameCallbackData_getFrameTimelineDeadlineNanos(
2352        data: *const AChoreographerFrameCallbackData,
2353        index: usize,
2354    ) -> i64;
2355}
2356#[repr(C)]
2357#[derive(Debug, Copy, Clone)]
2358pub struct AConfiguration {
2359    _unused: [u8; 0],
2360}
2361pub const ACONFIGURATION_ORIENTATION_ANY: _bindgen_ty_5 = 0;
2362pub const ACONFIGURATION_ORIENTATION_PORT: _bindgen_ty_5 = 1;
2363pub const ACONFIGURATION_ORIENTATION_LAND: _bindgen_ty_5 = 2;
2364pub const ACONFIGURATION_ORIENTATION_SQUARE: _bindgen_ty_5 = 3;
2365pub const ACONFIGURATION_TOUCHSCREEN_ANY: _bindgen_ty_5 = 0;
2366pub const ACONFIGURATION_TOUCHSCREEN_NOTOUCH: _bindgen_ty_5 = 1;
2367pub const ACONFIGURATION_TOUCHSCREEN_STYLUS: _bindgen_ty_5 = 2;
2368pub const ACONFIGURATION_TOUCHSCREEN_FINGER: _bindgen_ty_5 = 3;
2369pub const ACONFIGURATION_DENSITY_DEFAULT: _bindgen_ty_5 = 0;
2370pub const ACONFIGURATION_DENSITY_LOW: _bindgen_ty_5 = 120;
2371pub const ACONFIGURATION_DENSITY_MEDIUM: _bindgen_ty_5 = 160;
2372pub const ACONFIGURATION_DENSITY_TV: _bindgen_ty_5 = 213;
2373pub const ACONFIGURATION_DENSITY_HIGH: _bindgen_ty_5 = 240;
2374pub const ACONFIGURATION_DENSITY_XHIGH: _bindgen_ty_5 = 320;
2375pub const ACONFIGURATION_DENSITY_XXHIGH: _bindgen_ty_5 = 480;
2376pub const ACONFIGURATION_DENSITY_XXXHIGH: _bindgen_ty_5 = 640;
2377pub const ACONFIGURATION_DENSITY_ANY: _bindgen_ty_5 = 65534;
2378pub const ACONFIGURATION_DENSITY_NONE: _bindgen_ty_5 = 65535;
2379pub const ACONFIGURATION_KEYBOARD_ANY: _bindgen_ty_5 = 0;
2380pub const ACONFIGURATION_KEYBOARD_NOKEYS: _bindgen_ty_5 = 1;
2381pub const ACONFIGURATION_KEYBOARD_QWERTY: _bindgen_ty_5 = 2;
2382pub const ACONFIGURATION_KEYBOARD_12KEY: _bindgen_ty_5 = 3;
2383pub const ACONFIGURATION_NAVIGATION_ANY: _bindgen_ty_5 = 0;
2384pub const ACONFIGURATION_NAVIGATION_NONAV: _bindgen_ty_5 = 1;
2385pub const ACONFIGURATION_NAVIGATION_DPAD: _bindgen_ty_5 = 2;
2386pub const ACONFIGURATION_NAVIGATION_TRACKBALL: _bindgen_ty_5 = 3;
2387pub const ACONFIGURATION_NAVIGATION_WHEEL: _bindgen_ty_5 = 4;
2388pub const ACONFIGURATION_KEYSHIDDEN_ANY: _bindgen_ty_5 = 0;
2389pub const ACONFIGURATION_KEYSHIDDEN_NO: _bindgen_ty_5 = 1;
2390pub const ACONFIGURATION_KEYSHIDDEN_YES: _bindgen_ty_5 = 2;
2391pub const ACONFIGURATION_KEYSHIDDEN_SOFT: _bindgen_ty_5 = 3;
2392pub const ACONFIGURATION_NAVHIDDEN_ANY: _bindgen_ty_5 = 0;
2393pub const ACONFIGURATION_NAVHIDDEN_NO: _bindgen_ty_5 = 1;
2394pub const ACONFIGURATION_NAVHIDDEN_YES: _bindgen_ty_5 = 2;
2395pub const ACONFIGURATION_SCREENSIZE_ANY: _bindgen_ty_5 = 0;
2396pub const ACONFIGURATION_SCREENSIZE_SMALL: _bindgen_ty_5 = 1;
2397pub const ACONFIGURATION_SCREENSIZE_NORMAL: _bindgen_ty_5 = 2;
2398pub const ACONFIGURATION_SCREENSIZE_LARGE: _bindgen_ty_5 = 3;
2399pub const ACONFIGURATION_SCREENSIZE_XLARGE: _bindgen_ty_5 = 4;
2400pub const ACONFIGURATION_SCREENLONG_ANY: _bindgen_ty_5 = 0;
2401pub const ACONFIGURATION_SCREENLONG_NO: _bindgen_ty_5 = 1;
2402pub const ACONFIGURATION_SCREENLONG_YES: _bindgen_ty_5 = 2;
2403pub const ACONFIGURATION_SCREENROUND_ANY: _bindgen_ty_5 = 0;
2404pub const ACONFIGURATION_SCREENROUND_NO: _bindgen_ty_5 = 1;
2405pub const ACONFIGURATION_SCREENROUND_YES: _bindgen_ty_5 = 2;
2406pub const ACONFIGURATION_WIDE_COLOR_GAMUT_ANY: _bindgen_ty_5 = 0;
2407pub const ACONFIGURATION_WIDE_COLOR_GAMUT_NO: _bindgen_ty_5 = 1;
2408pub const ACONFIGURATION_WIDE_COLOR_GAMUT_YES: _bindgen_ty_5 = 2;
2409pub const ACONFIGURATION_HDR_ANY: _bindgen_ty_5 = 0;
2410pub const ACONFIGURATION_HDR_NO: _bindgen_ty_5 = 1;
2411pub const ACONFIGURATION_HDR_YES: _bindgen_ty_5 = 2;
2412pub const ACONFIGURATION_UI_MODE_TYPE_ANY: _bindgen_ty_5 = 0;
2413pub const ACONFIGURATION_UI_MODE_TYPE_NORMAL: _bindgen_ty_5 = 1;
2414pub const ACONFIGURATION_UI_MODE_TYPE_DESK: _bindgen_ty_5 = 2;
2415pub const ACONFIGURATION_UI_MODE_TYPE_CAR: _bindgen_ty_5 = 3;
2416pub const ACONFIGURATION_UI_MODE_TYPE_TELEVISION: _bindgen_ty_5 = 4;
2417pub const ACONFIGURATION_UI_MODE_TYPE_APPLIANCE: _bindgen_ty_5 = 5;
2418pub const ACONFIGURATION_UI_MODE_TYPE_WATCH: _bindgen_ty_5 = 6;
2419pub const ACONFIGURATION_UI_MODE_TYPE_VR_HEADSET: _bindgen_ty_5 = 7;
2420pub const ACONFIGURATION_UI_MODE_NIGHT_ANY: _bindgen_ty_5 = 0;
2421pub const ACONFIGURATION_UI_MODE_NIGHT_NO: _bindgen_ty_5 = 1;
2422pub const ACONFIGURATION_UI_MODE_NIGHT_YES: _bindgen_ty_5 = 2;
2423pub const ACONFIGURATION_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
2424pub const ACONFIGURATION_SCREEN_HEIGHT_DP_ANY: _bindgen_ty_5 = 0;
2425pub const ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY: _bindgen_ty_5 = 0;
2426pub const ACONFIGURATION_LAYOUTDIR_ANY: _bindgen_ty_5 = 0;
2427pub const ACONFIGURATION_LAYOUTDIR_LTR: _bindgen_ty_5 = 1;
2428pub const ACONFIGURATION_LAYOUTDIR_RTL: _bindgen_ty_5 = 2;
2429pub const ACONFIGURATION_MCC: _bindgen_ty_5 = 1;
2430pub const ACONFIGURATION_MNC: _bindgen_ty_5 = 2;
2431pub const ACONFIGURATION_LOCALE: _bindgen_ty_5 = 4;
2432pub const ACONFIGURATION_TOUCHSCREEN: _bindgen_ty_5 = 8;
2433pub const ACONFIGURATION_KEYBOARD: _bindgen_ty_5 = 16;
2434pub const ACONFIGURATION_KEYBOARD_HIDDEN: _bindgen_ty_5 = 32;
2435pub const ACONFIGURATION_NAVIGATION: _bindgen_ty_5 = 64;
2436pub const ACONFIGURATION_ORIENTATION: _bindgen_ty_5 = 128;
2437pub const ACONFIGURATION_DENSITY: _bindgen_ty_5 = 256;
2438pub const ACONFIGURATION_SCREEN_SIZE: _bindgen_ty_5 = 512;
2439pub const ACONFIGURATION_VERSION: _bindgen_ty_5 = 1024;
2440pub const ACONFIGURATION_SCREEN_LAYOUT: _bindgen_ty_5 = 2048;
2441pub const ACONFIGURATION_UI_MODE: _bindgen_ty_5 = 4096;
2442pub const ACONFIGURATION_SMALLEST_SCREEN_SIZE: _bindgen_ty_5 = 8192;
2443pub const ACONFIGURATION_LAYOUTDIR: _bindgen_ty_5 = 16384;
2444pub const ACONFIGURATION_SCREEN_ROUND: _bindgen_ty_5 = 32768;
2445pub const ACONFIGURATION_COLOR_MODE: _bindgen_ty_5 = 65536;
2446pub const ACONFIGURATION_GRAMMATICAL_GENDER: _bindgen_ty_5 = 131072;
2447pub const ACONFIGURATION_MNC_ZERO: _bindgen_ty_5 = 65535;
2448pub const ACONFIGURATION_GRAMMATICAL_GENDER_ANY: _bindgen_ty_5 = 0;
2449pub const ACONFIGURATION_GRAMMATICAL_GENDER_NEUTER: _bindgen_ty_5 = 1;
2450pub const ACONFIGURATION_GRAMMATICAL_GENDER_FEMININE: _bindgen_ty_5 = 2;
2451pub const ACONFIGURATION_GRAMMATICAL_GENDER_MASCULINE: _bindgen_ty_5 = 3;
2452pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
2453extern "C" {
2454    pub fn AConfiguration_new() -> *mut AConfiguration;
2455}
2456extern "C" {
2457    pub fn AConfiguration_delete(config: *mut AConfiguration);
2458}
2459extern "C" {
2460    pub fn AConfiguration_fromAssetManager(out: *mut AConfiguration, am: *mut AAssetManager);
2461}
2462extern "C" {
2463    pub fn AConfiguration_copy(dest: *mut AConfiguration, src: *mut AConfiguration);
2464}
2465extern "C" {
2466    pub fn AConfiguration_getMcc(config: *mut AConfiguration) -> i32;
2467}
2468extern "C" {
2469    pub fn AConfiguration_setMcc(config: *mut AConfiguration, mcc: i32);
2470}
2471extern "C" {
2472    pub fn AConfiguration_getMnc(config: *mut AConfiguration) -> i32;
2473}
2474extern "C" {
2475    pub fn AConfiguration_setMnc(config: *mut AConfiguration, mnc: i32);
2476}
2477extern "C" {
2478    pub fn AConfiguration_getLanguage(
2479        config: *mut AConfiguration,
2480        outLanguage: *mut ::std::os::raw::c_char,
2481    );
2482}
2483extern "C" {
2484    pub fn AConfiguration_setLanguage(
2485        config: *mut AConfiguration,
2486        language: *const ::std::os::raw::c_char,
2487    );
2488}
2489extern "C" {
2490    pub fn AConfiguration_getCountry(
2491        config: *mut AConfiguration,
2492        outCountry: *mut ::std::os::raw::c_char,
2493    );
2494}
2495extern "C" {
2496    pub fn AConfiguration_setCountry(
2497        config: *mut AConfiguration,
2498        country: *const ::std::os::raw::c_char,
2499    );
2500}
2501extern "C" {
2502    pub fn AConfiguration_getOrientation(config: *mut AConfiguration) -> i32;
2503}
2504extern "C" {
2505    pub fn AConfiguration_setOrientation(config: *mut AConfiguration, orientation: i32);
2506}
2507extern "C" {
2508    pub fn AConfiguration_getTouchscreen(config: *mut AConfiguration) -> i32;
2509}
2510extern "C" {
2511    pub fn AConfiguration_setTouchscreen(config: *mut AConfiguration, touchscreen: i32);
2512}
2513extern "C" {
2514    pub fn AConfiguration_getDensity(config: *mut AConfiguration) -> i32;
2515}
2516extern "C" {
2517    pub fn AConfiguration_setDensity(config: *mut AConfiguration, density: i32);
2518}
2519extern "C" {
2520    pub fn AConfiguration_getKeyboard(config: *mut AConfiguration) -> i32;
2521}
2522extern "C" {
2523    pub fn AConfiguration_setKeyboard(config: *mut AConfiguration, keyboard: i32);
2524}
2525extern "C" {
2526    pub fn AConfiguration_getNavigation(config: *mut AConfiguration) -> i32;
2527}
2528extern "C" {
2529    pub fn AConfiguration_setNavigation(config: *mut AConfiguration, navigation: i32);
2530}
2531extern "C" {
2532    pub fn AConfiguration_getKeysHidden(config: *mut AConfiguration) -> i32;
2533}
2534extern "C" {
2535    pub fn AConfiguration_setKeysHidden(config: *mut AConfiguration, keysHidden: i32);
2536}
2537extern "C" {
2538    pub fn AConfiguration_getNavHidden(config: *mut AConfiguration) -> i32;
2539}
2540extern "C" {
2541    pub fn AConfiguration_setNavHidden(config: *mut AConfiguration, navHidden: i32);
2542}
2543extern "C" {
2544    pub fn AConfiguration_getSdkVersion(config: *mut AConfiguration) -> i32;
2545}
2546extern "C" {
2547    pub fn AConfiguration_setSdkVersion(config: *mut AConfiguration, sdkVersion: i32);
2548}
2549extern "C" {
2550    pub fn AConfiguration_getScreenSize(config: *mut AConfiguration) -> i32;
2551}
2552extern "C" {
2553    pub fn AConfiguration_setScreenSize(config: *mut AConfiguration, screenSize: i32);
2554}
2555extern "C" {
2556    pub fn AConfiguration_getScreenLong(config: *mut AConfiguration) -> i32;
2557}
2558extern "C" {
2559    pub fn AConfiguration_setScreenLong(config: *mut AConfiguration, screenLong: i32);
2560}
2561extern "C" {
2562    pub fn AConfiguration_getScreenRound(config: *mut AConfiguration) -> i32;
2563}
2564extern "C" {
2565    pub fn AConfiguration_setScreenRound(config: *mut AConfiguration, screenRound: i32);
2566}
2567extern "C" {
2568    pub fn AConfiguration_getUiModeType(config: *mut AConfiguration) -> i32;
2569}
2570extern "C" {
2571    pub fn AConfiguration_setUiModeType(config: *mut AConfiguration, uiModeType: i32);
2572}
2573extern "C" {
2574    pub fn AConfiguration_getUiModeNight(config: *mut AConfiguration) -> i32;
2575}
2576extern "C" {
2577    pub fn AConfiguration_setUiModeNight(config: *mut AConfiguration, uiModeNight: i32);
2578}
2579extern "C" {
2580    pub fn AConfiguration_getScreenWidthDp(config: *mut AConfiguration) -> i32;
2581}
2582extern "C" {
2583    pub fn AConfiguration_setScreenWidthDp(config: *mut AConfiguration, value: i32);
2584}
2585extern "C" {
2586    pub fn AConfiguration_getScreenHeightDp(config: *mut AConfiguration) -> i32;
2587}
2588extern "C" {
2589    pub fn AConfiguration_setScreenHeightDp(config: *mut AConfiguration, value: i32);
2590}
2591extern "C" {
2592    pub fn AConfiguration_getSmallestScreenWidthDp(config: *mut AConfiguration) -> i32;
2593}
2594extern "C" {
2595    pub fn AConfiguration_setSmallestScreenWidthDp(config: *mut AConfiguration, value: i32);
2596}
2597extern "C" {
2598    pub fn AConfiguration_getLayoutDirection(config: *mut AConfiguration) -> i32;
2599}
2600extern "C" {
2601    pub fn AConfiguration_setLayoutDirection(config: *mut AConfiguration, value: i32);
2602}
2603extern "C" {
2604    pub fn AConfiguration_getGrammaticalGender(config: *mut AConfiguration) -> i32;
2605}
2606extern "C" {
2607    pub fn AConfiguration_setGrammaticalGender(config: *mut AConfiguration, value: i32);
2608}
2609extern "C" {
2610    pub fn AConfiguration_diff(config1: *mut AConfiguration, config2: *mut AConfiguration) -> i32;
2611}
2612extern "C" {
2613    pub fn AConfiguration_match(base: *mut AConfiguration, requested: *mut AConfiguration) -> i32;
2614}
2615extern "C" {
2616    pub fn AConfiguration_isBetterThan(
2617        base: *mut AConfiguration,
2618        test: *mut AConfiguration,
2619        requested: *mut AConfiguration,
2620    ) -> i32;
2621}
2622#[repr(C)]
2623#[derive(Debug, Copy, Clone)]
2624pub struct imaxdiv_t {
2625    pub quot: intmax_t,
2626    pub rem: intmax_t,
2627}
2628#[test]
2629fn bindgen_test_layout_imaxdiv_t() {
2630    const UNINIT: ::std::mem::MaybeUninit<imaxdiv_t> = ::std::mem::MaybeUninit::uninit();
2631    let ptr = UNINIT.as_ptr();
2632    assert_eq!(
2633        ::std::mem::size_of::<imaxdiv_t>(),
2634        16usize,
2635        concat!("Size of: ", stringify!(imaxdiv_t))
2636    );
2637    assert_eq!(
2638        ::std::mem::align_of::<imaxdiv_t>(),
2639        4usize,
2640        concat!("Alignment of ", stringify!(imaxdiv_t))
2641    );
2642    assert_eq!(
2643        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
2644        0usize,
2645        concat!(
2646            "Offset of field: ",
2647            stringify!(imaxdiv_t),
2648            "::",
2649            stringify!(quot)
2650        )
2651    );
2652    assert_eq!(
2653        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
2654        8usize,
2655        concat!(
2656            "Offset of field: ",
2657            stringify!(imaxdiv_t),
2658            "::",
2659            stringify!(rem)
2660        )
2661    );
2662}
2663extern "C" {
2664    pub fn imaxabs(__i: intmax_t) -> intmax_t;
2665}
2666extern "C" {
2667    pub fn imaxdiv(__numerator: intmax_t, __denominator: intmax_t) -> imaxdiv_t;
2668}
2669extern "C" {
2670    pub fn strtoimax(
2671        __s: *const ::std::os::raw::c_char,
2672        __end_ptr: *mut *mut ::std::os::raw::c_char,
2673        __base: ::std::os::raw::c_int,
2674    ) -> intmax_t;
2675}
2676extern "C" {
2677    pub fn strtoumax(
2678        __s: *const ::std::os::raw::c_char,
2679        __end_ptr: *mut *mut ::std::os::raw::c_char,
2680        __base: ::std::os::raw::c_int,
2681    ) -> uintmax_t;
2682}
2683extern "C" {
2684    pub fn wcstoimax(
2685        __s: *const wchar_t,
2686        __end_ptr: *mut *mut wchar_t,
2687        __base: ::std::os::raw::c_int,
2688    ) -> intmax_t;
2689}
2690extern "C" {
2691    pub fn wcstoumax(
2692        __s: *const wchar_t,
2693        __end_ptr: *mut *mut wchar_t,
2694        __base: ::std::os::raw::c_int,
2695    ) -> uintmax_t;
2696}
2697impl ADataSpace {
2698    pub const ADATASPACE_UNKNOWN: ADataSpace = ADataSpace(0);
2699}
2700impl ADataSpace {
2701    pub const STANDARD_MASK: ADataSpace = ADataSpace(4128768);
2702}
2703impl ADataSpace {
2704    pub const STANDARD_UNSPECIFIED: ADataSpace = ADataSpace(0);
2705}
2706impl ADataSpace {
2707    pub const STANDARD_BT709: ADataSpace = ADataSpace(65536);
2708}
2709impl ADataSpace {
2710    pub const STANDARD_BT601_625: ADataSpace = ADataSpace(131072);
2711}
2712impl ADataSpace {
2713    pub const STANDARD_BT601_625_UNADJUSTED: ADataSpace = ADataSpace(196608);
2714}
2715impl ADataSpace {
2716    pub const STANDARD_BT601_525: ADataSpace = ADataSpace(262144);
2717}
2718impl ADataSpace {
2719    pub const STANDARD_BT601_525_UNADJUSTED: ADataSpace = ADataSpace(327680);
2720}
2721impl ADataSpace {
2722    pub const STANDARD_BT2020: ADataSpace = ADataSpace(393216);
2723}
2724impl ADataSpace {
2725    pub const STANDARD_BT2020_CONSTANT_LUMINANCE: ADataSpace = ADataSpace(458752);
2726}
2727impl ADataSpace {
2728    pub const STANDARD_BT470M: ADataSpace = ADataSpace(524288);
2729}
2730impl ADataSpace {
2731    pub const STANDARD_FILM: ADataSpace = ADataSpace(589824);
2732}
2733impl ADataSpace {
2734    pub const STANDARD_DCI_P3: ADataSpace = ADataSpace(655360);
2735}
2736impl ADataSpace {
2737    pub const STANDARD_ADOBE_RGB: ADataSpace = ADataSpace(720896);
2738}
2739impl ADataSpace {
2740    pub const TRANSFER_MASK: ADataSpace = ADataSpace(130023424);
2741}
2742impl ADataSpace {
2743    pub const TRANSFER_UNSPECIFIED: ADataSpace = ADataSpace(0);
2744}
2745impl ADataSpace {
2746    pub const TRANSFER_LINEAR: ADataSpace = ADataSpace(4194304);
2747}
2748impl ADataSpace {
2749    pub const TRANSFER_SRGB: ADataSpace = ADataSpace(8388608);
2750}
2751impl ADataSpace {
2752    pub const TRANSFER_SMPTE_170M: ADataSpace = ADataSpace(12582912);
2753}
2754impl ADataSpace {
2755    pub const TRANSFER_GAMMA2_2: ADataSpace = ADataSpace(16777216);
2756}
2757impl ADataSpace {
2758    pub const TRANSFER_GAMMA2_6: ADataSpace = ADataSpace(20971520);
2759}
2760impl ADataSpace {
2761    pub const TRANSFER_GAMMA2_8: ADataSpace = ADataSpace(25165824);
2762}
2763impl ADataSpace {
2764    pub const TRANSFER_ST2084: ADataSpace = ADataSpace(29360128);
2765}
2766impl ADataSpace {
2767    pub const TRANSFER_HLG: ADataSpace = ADataSpace(33554432);
2768}
2769impl ADataSpace {
2770    pub const RANGE_MASK: ADataSpace = ADataSpace(939524096);
2771}
2772impl ADataSpace {
2773    pub const RANGE_UNSPECIFIED: ADataSpace = ADataSpace(0);
2774}
2775impl ADataSpace {
2776    pub const RANGE_FULL: ADataSpace = ADataSpace(134217728);
2777}
2778impl ADataSpace {
2779    pub const RANGE_LIMITED: ADataSpace = ADataSpace(268435456);
2780}
2781impl ADataSpace {
2782    pub const RANGE_EXTENDED: ADataSpace = ADataSpace(402653184);
2783}
2784impl ADataSpace {
2785    pub const ADATASPACE_SCRGB_LINEAR: ADataSpace = ADataSpace(406913024);
2786}
2787impl ADataSpace {
2788    pub const ADATASPACE_SRGB: ADataSpace = ADataSpace(142671872);
2789}
2790impl ADataSpace {
2791    pub const ADATASPACE_SCRGB: ADataSpace = ADataSpace(411107328);
2792}
2793impl ADataSpace {
2794    pub const ADATASPACE_DISPLAY_P3: ADataSpace = ADataSpace(143261696);
2795}
2796impl ADataSpace {
2797    pub const ADATASPACE_BT2020_PQ: ADataSpace = ADataSpace(163971072);
2798}
2799impl ADataSpace {
2800    pub const ADATASPACE_BT2020_ITU_PQ: ADataSpace = ADataSpace(298188800);
2801}
2802impl ADataSpace {
2803    pub const ADATASPACE_ADOBE_RGB: ADataSpace = ADataSpace(151715840);
2804}
2805impl ADataSpace {
2806    pub const ADATASPACE_JFIF: ADataSpace = ADataSpace(146931712);
2807}
2808impl ADataSpace {
2809    pub const ADATASPACE_BT601_625: ADataSpace = ADataSpace(281149440);
2810}
2811impl ADataSpace {
2812    pub const ADATASPACE_BT601_525: ADataSpace = ADataSpace(281280512);
2813}
2814impl ADataSpace {
2815    pub const ADATASPACE_BT2020: ADataSpace = ADataSpace(147193856);
2816}
2817impl ADataSpace {
2818    pub const ADATASPACE_BT709: ADataSpace = ADataSpace(281083904);
2819}
2820impl ADataSpace {
2821    pub const ADATASPACE_DCI_P3: ADataSpace = ADataSpace(155844608);
2822}
2823impl ADataSpace {
2824    pub const ADATASPACE_SRGB_LINEAR: ADataSpace = ADataSpace(138477568);
2825}
2826impl ADataSpace {
2827    pub const ADATASPACE_BT2020_HLG: ADataSpace = ADataSpace(168165376);
2828}
2829impl ADataSpace {
2830    pub const ADATASPACE_BT2020_ITU_HLG: ADataSpace = ADataSpace(302383104);
2831}
2832impl ADataSpace {
2833    pub const ADATASPACE_DEPTH: ADataSpace = ADataSpace(4096);
2834}
2835impl ADataSpace {
2836    pub const ADATASPACE_DYNAMIC_DEPTH: ADataSpace = ADataSpace(4098);
2837}
2838#[repr(transparent)]
2839#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2840pub struct ADataSpace(pub i32);
2841pub const ANDROID_DLEXT_RESERVED_ADDRESS: _bindgen_ty_6 = 1;
2842pub const ANDROID_DLEXT_RESERVED_ADDRESS_HINT: _bindgen_ty_6 = 2;
2843pub const ANDROID_DLEXT_WRITE_RELRO: _bindgen_ty_6 = 4;
2844pub const ANDROID_DLEXT_USE_RELRO: _bindgen_ty_6 = 8;
2845pub const ANDROID_DLEXT_USE_LIBRARY_FD: _bindgen_ty_6 = 16;
2846pub const ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET: _bindgen_ty_6 = 32;
2847pub const ANDROID_DLEXT_FORCE_LOAD: _bindgen_ty_6 = 64;
2848pub const ANDROID_DLEXT_USE_NAMESPACE: _bindgen_ty_6 = 512;
2849pub const ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE: _bindgen_ty_6 = 1024;
2850pub const ANDROID_DLEXT_VALID_FLAG_BITS: _bindgen_ty_6 = 1663;
2851pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
2852#[repr(C)]
2853#[derive(Debug, Copy, Clone)]
2854pub struct android_namespace_t {
2855    _unused: [u8; 0],
2856}
2857#[repr(C)]
2858#[derive(Debug, Copy, Clone)]
2859pub struct android_dlextinfo {
2860    pub flags: u64,
2861    pub reserved_addr: *mut ::std::os::raw::c_void,
2862    pub reserved_size: usize,
2863    pub relro_fd: ::std::os::raw::c_int,
2864    pub library_fd: ::std::os::raw::c_int,
2865    pub library_fd_offset: off64_t,
2866    pub library_namespace: *mut android_namespace_t,
2867}
2868#[test]
2869fn bindgen_test_layout_android_dlextinfo() {
2870    const UNINIT: ::std::mem::MaybeUninit<android_dlextinfo> = ::std::mem::MaybeUninit::uninit();
2871    let ptr = UNINIT.as_ptr();
2872    assert_eq!(
2873        ::std::mem::size_of::<android_dlextinfo>(),
2874        36usize,
2875        concat!("Size of: ", stringify!(android_dlextinfo))
2876    );
2877    assert_eq!(
2878        ::std::mem::align_of::<android_dlextinfo>(),
2879        4usize,
2880        concat!("Alignment of ", stringify!(android_dlextinfo))
2881    );
2882    assert_eq!(
2883        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
2884        0usize,
2885        concat!(
2886            "Offset of field: ",
2887            stringify!(android_dlextinfo),
2888            "::",
2889            stringify!(flags)
2890        )
2891    );
2892    assert_eq!(
2893        unsafe { ::std::ptr::addr_of!((*ptr).reserved_addr) as usize - ptr as usize },
2894        8usize,
2895        concat!(
2896            "Offset of field: ",
2897            stringify!(android_dlextinfo),
2898            "::",
2899            stringify!(reserved_addr)
2900        )
2901    );
2902    assert_eq!(
2903        unsafe { ::std::ptr::addr_of!((*ptr).reserved_size) as usize - ptr as usize },
2904        12usize,
2905        concat!(
2906            "Offset of field: ",
2907            stringify!(android_dlextinfo),
2908            "::",
2909            stringify!(reserved_size)
2910        )
2911    );
2912    assert_eq!(
2913        unsafe { ::std::ptr::addr_of!((*ptr).relro_fd) as usize - ptr as usize },
2914        16usize,
2915        concat!(
2916            "Offset of field: ",
2917            stringify!(android_dlextinfo),
2918            "::",
2919            stringify!(relro_fd)
2920        )
2921    );
2922    assert_eq!(
2923        unsafe { ::std::ptr::addr_of!((*ptr).library_fd) as usize - ptr as usize },
2924        20usize,
2925        concat!(
2926            "Offset of field: ",
2927            stringify!(android_dlextinfo),
2928            "::",
2929            stringify!(library_fd)
2930        )
2931    );
2932    assert_eq!(
2933        unsafe { ::std::ptr::addr_of!((*ptr).library_fd_offset) as usize - ptr as usize },
2934        24usize,
2935        concat!(
2936            "Offset of field: ",
2937            stringify!(android_dlextinfo),
2938            "::",
2939            stringify!(library_fd_offset)
2940        )
2941    );
2942    assert_eq!(
2943        unsafe { ::std::ptr::addr_of!((*ptr).library_namespace) as usize - ptr as usize },
2944        32usize,
2945        concat!(
2946            "Offset of field: ",
2947            stringify!(android_dlextinfo),
2948            "::",
2949            stringify!(library_namespace)
2950        )
2951    );
2952}
2953extern "C" {
2954    pub fn android_dlopen_ext(
2955        __filename: *const ::std::os::raw::c_char,
2956        __flags: ::std::os::raw::c_int,
2957        __info: *const android_dlextinfo,
2958    ) -> *mut ::std::os::raw::c_void;
2959}
2960impl android_fdsan_owner_type {
2961    pub const ANDROID_FDSAN_OWNER_TYPE_GENERIC_00: android_fdsan_owner_type =
2962        android_fdsan_owner_type(0);
2963}
2964impl android_fdsan_owner_type {
2965    pub const ANDROID_FDSAN_OWNER_TYPE_GENERIC_FF: android_fdsan_owner_type =
2966        android_fdsan_owner_type(255);
2967}
2968impl android_fdsan_owner_type {
2969    pub const ANDROID_FDSAN_OWNER_TYPE_FILE: android_fdsan_owner_type = android_fdsan_owner_type(1);
2970}
2971impl android_fdsan_owner_type {
2972    pub const ANDROID_FDSAN_OWNER_TYPE_DIR: android_fdsan_owner_type = android_fdsan_owner_type(2);
2973}
2974impl android_fdsan_owner_type {
2975    pub const ANDROID_FDSAN_OWNER_TYPE_UNIQUE_FD: android_fdsan_owner_type =
2976        android_fdsan_owner_type(3);
2977}
2978impl android_fdsan_owner_type {
2979    pub const ANDROID_FDSAN_OWNER_TYPE_SQLITE: android_fdsan_owner_type =
2980        android_fdsan_owner_type(4);
2981}
2982impl android_fdsan_owner_type {
2983    pub const ANDROID_FDSAN_OWNER_TYPE_FILEINPUTSTREAM: android_fdsan_owner_type =
2984        android_fdsan_owner_type(5);
2985}
2986impl android_fdsan_owner_type {
2987    pub const ANDROID_FDSAN_OWNER_TYPE_FILEOUTPUTSTREAM: android_fdsan_owner_type =
2988        android_fdsan_owner_type(6);
2989}
2990impl android_fdsan_owner_type {
2991    pub const ANDROID_FDSAN_OWNER_TYPE_RANDOMACCESSFILE: android_fdsan_owner_type =
2992        android_fdsan_owner_type(7);
2993}
2994impl android_fdsan_owner_type {
2995    pub const ANDROID_FDSAN_OWNER_TYPE_PARCELFILEDESCRIPTOR: android_fdsan_owner_type =
2996        android_fdsan_owner_type(8);
2997}
2998impl android_fdsan_owner_type {
2999    pub const ANDROID_FDSAN_OWNER_TYPE_ART_FDFILE: android_fdsan_owner_type =
3000        android_fdsan_owner_type(9);
3001}
3002impl android_fdsan_owner_type {
3003    pub const ANDROID_FDSAN_OWNER_TYPE_DATAGRAMSOCKETIMPL: android_fdsan_owner_type =
3004        android_fdsan_owner_type(10);
3005}
3006impl android_fdsan_owner_type {
3007    pub const ANDROID_FDSAN_OWNER_TYPE_SOCKETIMPL: android_fdsan_owner_type =
3008        android_fdsan_owner_type(11);
3009}
3010impl android_fdsan_owner_type {
3011    pub const ANDROID_FDSAN_OWNER_TYPE_ZIPARCHIVE: android_fdsan_owner_type =
3012        android_fdsan_owner_type(12);
3013}
3014impl android_fdsan_owner_type {
3015    pub const ANDROID_FDSAN_OWNER_TYPE_NATIVE_HANDLE: android_fdsan_owner_type =
3016        android_fdsan_owner_type(13);
3017}
3018impl android_fdsan_owner_type {
3019    pub const ANDROID_FDSAN_OWNER_TYPE_PARCEL: android_fdsan_owner_type =
3020        android_fdsan_owner_type(14);
3021}
3022#[repr(transparent)]
3023#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3024pub struct android_fdsan_owner_type(pub ::std::os::raw::c_uint);
3025extern "C" {
3026    pub fn android_fdsan_create_owner_tag(type_: android_fdsan_owner_type, tag: u64) -> u64;
3027}
3028extern "C" {
3029    pub fn android_fdsan_exchange_owner_tag(
3030        fd: ::std::os::raw::c_int,
3031        expected_tag: u64,
3032        new_tag: u64,
3033    );
3034}
3035extern "C" {
3036    pub fn android_fdsan_close_with_tag(
3037        fd: ::std::os::raw::c_int,
3038        tag: u64,
3039    ) -> ::std::os::raw::c_int;
3040}
3041extern "C" {
3042    pub fn android_fdsan_get_owner_tag(fd: ::std::os::raw::c_int) -> u64;
3043}
3044extern "C" {
3045    pub fn android_fdsan_get_tag_type(tag: u64) -> *const ::std::os::raw::c_char;
3046}
3047extern "C" {
3048    pub fn android_fdsan_get_tag_value(tag: u64) -> u64;
3049}
3050impl android_fdsan_error_level {
3051    pub const ANDROID_FDSAN_ERROR_LEVEL_DISABLED: android_fdsan_error_level =
3052        android_fdsan_error_level(0);
3053}
3054impl android_fdsan_error_level {
3055    pub const ANDROID_FDSAN_ERROR_LEVEL_WARN_ONCE: android_fdsan_error_level =
3056        android_fdsan_error_level(1);
3057}
3058impl android_fdsan_error_level {
3059    pub const ANDROID_FDSAN_ERROR_LEVEL_WARN_ALWAYS: android_fdsan_error_level =
3060        android_fdsan_error_level(2);
3061}
3062impl android_fdsan_error_level {
3063    pub const ANDROID_FDSAN_ERROR_LEVEL_FATAL: android_fdsan_error_level =
3064        android_fdsan_error_level(3);
3065}
3066#[repr(transparent)]
3067#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3068pub struct android_fdsan_error_level(pub ::std::os::raw::c_uint);
3069extern "C" {
3070    pub fn android_fdsan_get_error_level() -> android_fdsan_error_level;
3071}
3072extern "C" {
3073    pub fn android_fdsan_set_error_level(
3074        new_level: android_fdsan_error_level,
3075    ) -> android_fdsan_error_level;
3076}
3077extern "C" {
3078    pub fn android_fdsan_set_error_level_from_property(
3079        default_level: android_fdsan_error_level,
3080    ) -> android_fdsan_error_level;
3081}
3082extern "C" {
3083    pub fn AFileDescriptor_create(env: *mut JNIEnv) -> jobject;
3084}
3085extern "C" {
3086    pub fn AFileDescriptor_getFd(
3087        env: *mut JNIEnv,
3088        fileDescriptor: jobject,
3089    ) -> ::std::os::raw::c_int;
3090}
3091extern "C" {
3092    pub fn AFileDescriptor_setFd(
3093        env: *mut JNIEnv,
3094        fileDescriptor: jobject,
3095        fd: ::std::os::raw::c_int,
3096    );
3097}
3098pub const AFONT_WEIGHT_MIN: _bindgen_ty_7 = 0;
3099pub const AFONT_WEIGHT_THIN: _bindgen_ty_7 = 100;
3100pub const AFONT_WEIGHT_EXTRA_LIGHT: _bindgen_ty_7 = 200;
3101pub const AFONT_WEIGHT_LIGHT: _bindgen_ty_7 = 300;
3102pub const AFONT_WEIGHT_NORMAL: _bindgen_ty_7 = 400;
3103pub const AFONT_WEIGHT_MEDIUM: _bindgen_ty_7 = 500;
3104pub const AFONT_WEIGHT_SEMI_BOLD: _bindgen_ty_7 = 600;
3105pub const AFONT_WEIGHT_BOLD: _bindgen_ty_7 = 700;
3106pub const AFONT_WEIGHT_EXTRA_BOLD: _bindgen_ty_7 = 800;
3107pub const AFONT_WEIGHT_BLACK: _bindgen_ty_7 = 900;
3108pub const AFONT_WEIGHT_MAX: _bindgen_ty_7 = 1000;
3109pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
3110#[repr(C)]
3111#[derive(Debug, Copy, Clone)]
3112pub struct AFont {
3113    _unused: [u8; 0],
3114}
3115extern "C" {
3116    pub fn AFont_close(font: *mut AFont);
3117}
3118extern "C" {
3119    pub fn AFont_getFontFilePath(font: *const AFont) -> *const ::std::os::raw::c_char;
3120}
3121extern "C" {
3122    pub fn AFont_getWeight(font: *const AFont) -> u16;
3123}
3124extern "C" {
3125    pub fn AFont_isItalic(font: *const AFont) -> bool;
3126}
3127extern "C" {
3128    pub fn AFont_getLocale(font: *const AFont) -> *const ::std::os::raw::c_char;
3129}
3130extern "C" {
3131    pub fn AFont_getCollectionIndex(font: *const AFont) -> usize;
3132}
3133extern "C" {
3134    pub fn AFont_getAxisCount(font: *const AFont) -> usize;
3135}
3136extern "C" {
3137    pub fn AFont_getAxisTag(font: *const AFont, axisIndex: u32) -> u32;
3138}
3139extern "C" {
3140    pub fn AFont_getAxisValue(font: *const AFont, axisIndex: u32) -> f32;
3141}
3142pub const AFAMILY_VARIANT_DEFAULT: _bindgen_ty_8 = 0;
3143pub const AFAMILY_VARIANT_COMPACT: _bindgen_ty_8 = 1;
3144pub const AFAMILY_VARIANT_ELEGANT: _bindgen_ty_8 = 2;
3145pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
3146#[repr(C)]
3147#[derive(Debug, Copy, Clone)]
3148pub struct AFontMatcher {
3149    _unused: [u8; 0],
3150}
3151extern "C" {
3152    pub fn AFontMatcher_create() -> *mut AFontMatcher;
3153}
3154extern "C" {
3155    pub fn AFontMatcher_destroy(matcher: *mut AFontMatcher);
3156}
3157extern "C" {
3158    pub fn AFontMatcher_setStyle(matcher: *mut AFontMatcher, weight: u16, italic: bool);
3159}
3160extern "C" {
3161    pub fn AFontMatcher_setLocales(
3162        matcher: *mut AFontMatcher,
3163        languageTags: *const ::std::os::raw::c_char,
3164    );
3165}
3166extern "C" {
3167    pub fn AFontMatcher_setFamilyVariant(matcher: *mut AFontMatcher, familyVariant: u32);
3168}
3169extern "C" {
3170    pub fn AFontMatcher_match(
3171        matcher: *const AFontMatcher,
3172        familyName: *const ::std::os::raw::c_char,
3173        text: *const u16,
3174        textLength: u32,
3175        runLengthOut: *mut u32,
3176    ) -> *mut AFont;
3177}
3178#[repr(C)]
3179#[derive(Debug, Copy, Clone)]
3180pub struct ARect {
3181    pub left: i32,
3182    pub top: i32,
3183    pub right: i32,
3184    pub bottom: i32,
3185}
3186#[test]
3187fn bindgen_test_layout_ARect() {
3188    const UNINIT: ::std::mem::MaybeUninit<ARect> = ::std::mem::MaybeUninit::uninit();
3189    let ptr = UNINIT.as_ptr();
3190    assert_eq!(
3191        ::std::mem::size_of::<ARect>(),
3192        16usize,
3193        concat!("Size of: ", stringify!(ARect))
3194    );
3195    assert_eq!(
3196        ::std::mem::align_of::<ARect>(),
3197        4usize,
3198        concat!("Alignment of ", stringify!(ARect))
3199    );
3200    assert_eq!(
3201        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
3202        0usize,
3203        concat!(
3204            "Offset of field: ",
3205            stringify!(ARect),
3206            "::",
3207            stringify!(left)
3208        )
3209    );
3210    assert_eq!(
3211        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
3212        4usize,
3213        concat!(
3214            "Offset of field: ",
3215            stringify!(ARect),
3216            "::",
3217            stringify!(top)
3218        )
3219    );
3220    assert_eq!(
3221        unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
3222        8usize,
3223        concat!(
3224            "Offset of field: ",
3225            stringify!(ARect),
3226            "::",
3227            stringify!(right)
3228        )
3229    );
3230    assert_eq!(
3231        unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
3232        12usize,
3233        concat!(
3234            "Offset of field: ",
3235            stringify!(ARect),
3236            "::",
3237            stringify!(bottom)
3238        )
3239    );
3240}
3241impl AHardwareBuffer_Format {
3242    pub const AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: AHardwareBuffer_Format =
3243        AHardwareBuffer_Format(1);
3244}
3245impl AHardwareBuffer_Format {
3246    pub const AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: AHardwareBuffer_Format =
3247        AHardwareBuffer_Format(2);
3248}
3249impl AHardwareBuffer_Format {
3250    pub const AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: AHardwareBuffer_Format =
3251        AHardwareBuffer_Format(3);
3252}
3253impl AHardwareBuffer_Format {
3254    pub const AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: AHardwareBuffer_Format =
3255        AHardwareBuffer_Format(4);
3256}
3257impl AHardwareBuffer_Format {
3258    pub const AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: AHardwareBuffer_Format =
3259        AHardwareBuffer_Format(22);
3260}
3261impl AHardwareBuffer_Format {
3262    pub const AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: AHardwareBuffer_Format =
3263        AHardwareBuffer_Format(43);
3264}
3265impl AHardwareBuffer_Format {
3266    pub const AHARDWAREBUFFER_FORMAT_BLOB: AHardwareBuffer_Format = AHardwareBuffer_Format(33);
3267}
3268impl AHardwareBuffer_Format {
3269    pub const AHARDWAREBUFFER_FORMAT_D16_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(48);
3270}
3271impl AHardwareBuffer_Format {
3272    pub const AHARDWAREBUFFER_FORMAT_D24_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(49);
3273}
3274impl AHardwareBuffer_Format {
3275    pub const AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT: AHardwareBuffer_Format =
3276        AHardwareBuffer_Format(50);
3277}
3278impl AHardwareBuffer_Format {
3279    pub const AHARDWAREBUFFER_FORMAT_D32_FLOAT: AHardwareBuffer_Format = AHardwareBuffer_Format(51);
3280}
3281impl AHardwareBuffer_Format {
3282    pub const AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT: AHardwareBuffer_Format =
3283        AHardwareBuffer_Format(52);
3284}
3285impl AHardwareBuffer_Format {
3286    pub const AHARDWAREBUFFER_FORMAT_S8_UINT: AHardwareBuffer_Format = AHardwareBuffer_Format(53);
3287}
3288impl AHardwareBuffer_Format {
3289    pub const AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420: AHardwareBuffer_Format =
3290        AHardwareBuffer_Format(35);
3291}
3292impl AHardwareBuffer_Format {
3293    pub const AHARDWAREBUFFER_FORMAT_YCbCr_P010: AHardwareBuffer_Format =
3294        AHardwareBuffer_Format(54);
3295}
3296impl AHardwareBuffer_Format {
3297    pub const AHARDWAREBUFFER_FORMAT_R8_UNORM: AHardwareBuffer_Format = AHardwareBuffer_Format(56);
3298}
3299impl AHardwareBuffer_Format {
3300    pub const AHARDWAREBUFFER_FORMAT_R16_UINT: AHardwareBuffer_Format = AHardwareBuffer_Format(57);
3301}
3302impl AHardwareBuffer_Format {
3303    pub const AHARDWAREBUFFER_FORMAT_R16G16_UINT: AHardwareBuffer_Format =
3304        AHardwareBuffer_Format(58);
3305}
3306impl AHardwareBuffer_Format {
3307    pub const AHARDWAREBUFFER_FORMAT_R10G10B10A10_UNORM: AHardwareBuffer_Format =
3308        AHardwareBuffer_Format(59);
3309}
3310#[repr(transparent)]
3311#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3312pub struct AHardwareBuffer_Format(pub ::std::os::raw::c_uint);
3313impl AHardwareBuffer_UsageFlags {
3314    pub const AHARDWAREBUFFER_USAGE_CPU_READ_NEVER: AHardwareBuffer_UsageFlags =
3315        AHardwareBuffer_UsageFlags(0);
3316}
3317impl AHardwareBuffer_UsageFlags {
3318    pub const AHARDWAREBUFFER_USAGE_CPU_READ_RARELY: AHardwareBuffer_UsageFlags =
3319        AHardwareBuffer_UsageFlags(2);
3320}
3321impl AHardwareBuffer_UsageFlags {
3322    pub const AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN: AHardwareBuffer_UsageFlags =
3323        AHardwareBuffer_UsageFlags(3);
3324}
3325impl AHardwareBuffer_UsageFlags {
3326    pub const AHARDWAREBUFFER_USAGE_CPU_READ_MASK: AHardwareBuffer_UsageFlags =
3327        AHardwareBuffer_UsageFlags(15);
3328}
3329impl AHardwareBuffer_UsageFlags {
3330    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER: AHardwareBuffer_UsageFlags =
3331        AHardwareBuffer_UsageFlags(0);
3332}
3333impl AHardwareBuffer_UsageFlags {
3334    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY: AHardwareBuffer_UsageFlags =
3335        AHardwareBuffer_UsageFlags(32);
3336}
3337impl AHardwareBuffer_UsageFlags {
3338    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN: AHardwareBuffer_UsageFlags =
3339        AHardwareBuffer_UsageFlags(48);
3340}
3341impl AHardwareBuffer_UsageFlags {
3342    pub const AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK: AHardwareBuffer_UsageFlags =
3343        AHardwareBuffer_UsageFlags(240);
3344}
3345impl AHardwareBuffer_UsageFlags {
3346    pub const AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE: AHardwareBuffer_UsageFlags =
3347        AHardwareBuffer_UsageFlags(256);
3348}
3349impl AHardwareBuffer_UsageFlags {
3350    pub const AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER: AHardwareBuffer_UsageFlags =
3351        AHardwareBuffer_UsageFlags(512);
3352}
3353impl AHardwareBuffer_UsageFlags {
3354    pub const AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT: AHardwareBuffer_UsageFlags =
3355        AHardwareBuffer_UsageFlags(512);
3356}
3357impl AHardwareBuffer_UsageFlags {
3358    pub const AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY: AHardwareBuffer_UsageFlags =
3359        AHardwareBuffer_UsageFlags(2048);
3360}
3361impl AHardwareBuffer_UsageFlags {
3362    pub const AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT: AHardwareBuffer_UsageFlags =
3363        AHardwareBuffer_UsageFlags(16384);
3364}
3365impl AHardwareBuffer_UsageFlags {
3366    pub const AHARDWAREBUFFER_USAGE_VIDEO_ENCODE: AHardwareBuffer_UsageFlags =
3367        AHardwareBuffer_UsageFlags(65536);
3368}
3369impl AHardwareBuffer_UsageFlags {
3370    pub const AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA: AHardwareBuffer_UsageFlags =
3371        AHardwareBuffer_UsageFlags(8388608);
3372}
3373impl AHardwareBuffer_UsageFlags {
3374    pub const AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER: AHardwareBuffer_UsageFlags =
3375        AHardwareBuffer_UsageFlags(16777216);
3376}
3377impl AHardwareBuffer_UsageFlags {
3378    pub const AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP: AHardwareBuffer_UsageFlags =
3379        AHardwareBuffer_UsageFlags(33554432);
3380}
3381impl AHardwareBuffer_UsageFlags {
3382    pub const AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE: AHardwareBuffer_UsageFlags =
3383        AHardwareBuffer_UsageFlags(67108864);
3384}
3385impl AHardwareBuffer_UsageFlags {
3386    pub const AHARDWAREBUFFER_USAGE_FRONT_BUFFER: AHardwareBuffer_UsageFlags =
3387        AHardwareBuffer_UsageFlags(2147483648);
3388}
3389impl AHardwareBuffer_UsageFlags {
3390    pub const AHARDWAREBUFFER_USAGE_VENDOR_0: AHardwareBuffer_UsageFlags =
3391        AHardwareBuffer_UsageFlags(268435456);
3392}
3393impl AHardwareBuffer_UsageFlags {
3394    pub const AHARDWAREBUFFER_USAGE_VENDOR_1: AHardwareBuffer_UsageFlags =
3395        AHardwareBuffer_UsageFlags(536870912);
3396}
3397impl AHardwareBuffer_UsageFlags {
3398    pub const AHARDWAREBUFFER_USAGE_VENDOR_2: AHardwareBuffer_UsageFlags =
3399        AHardwareBuffer_UsageFlags(1073741824);
3400}
3401impl AHardwareBuffer_UsageFlags {
3402    pub const AHARDWAREBUFFER_USAGE_VENDOR_3: AHardwareBuffer_UsageFlags =
3403        AHardwareBuffer_UsageFlags(2147483648);
3404}
3405impl AHardwareBuffer_UsageFlags {
3406    pub const AHARDWAREBUFFER_USAGE_VENDOR_4: AHardwareBuffer_UsageFlags =
3407        AHardwareBuffer_UsageFlags(281474976710656);
3408}
3409impl AHardwareBuffer_UsageFlags {
3410    pub const AHARDWAREBUFFER_USAGE_VENDOR_5: AHardwareBuffer_UsageFlags =
3411        AHardwareBuffer_UsageFlags(562949953421312);
3412}
3413impl AHardwareBuffer_UsageFlags {
3414    pub const AHARDWAREBUFFER_USAGE_VENDOR_6: AHardwareBuffer_UsageFlags =
3415        AHardwareBuffer_UsageFlags(1125899906842624);
3416}
3417impl AHardwareBuffer_UsageFlags {
3418    pub const AHARDWAREBUFFER_USAGE_VENDOR_7: AHardwareBuffer_UsageFlags =
3419        AHardwareBuffer_UsageFlags(2251799813685248);
3420}
3421impl AHardwareBuffer_UsageFlags {
3422    pub const AHARDWAREBUFFER_USAGE_VENDOR_8: AHardwareBuffer_UsageFlags =
3423        AHardwareBuffer_UsageFlags(4503599627370496);
3424}
3425impl AHardwareBuffer_UsageFlags {
3426    pub const AHARDWAREBUFFER_USAGE_VENDOR_9: AHardwareBuffer_UsageFlags =
3427        AHardwareBuffer_UsageFlags(9007199254740992);
3428}
3429impl AHardwareBuffer_UsageFlags {
3430    pub const AHARDWAREBUFFER_USAGE_VENDOR_10: AHardwareBuffer_UsageFlags =
3431        AHardwareBuffer_UsageFlags(18014398509481984);
3432}
3433impl AHardwareBuffer_UsageFlags {
3434    pub const AHARDWAREBUFFER_USAGE_VENDOR_11: AHardwareBuffer_UsageFlags =
3435        AHardwareBuffer_UsageFlags(36028797018963968);
3436}
3437impl AHardwareBuffer_UsageFlags {
3438    pub const AHARDWAREBUFFER_USAGE_VENDOR_12: AHardwareBuffer_UsageFlags =
3439        AHardwareBuffer_UsageFlags(72057594037927936);
3440}
3441impl AHardwareBuffer_UsageFlags {
3442    pub const AHARDWAREBUFFER_USAGE_VENDOR_13: AHardwareBuffer_UsageFlags =
3443        AHardwareBuffer_UsageFlags(144115188075855872);
3444}
3445impl AHardwareBuffer_UsageFlags {
3446    pub const AHARDWAREBUFFER_USAGE_VENDOR_14: AHardwareBuffer_UsageFlags =
3447        AHardwareBuffer_UsageFlags(288230376151711744);
3448}
3449impl AHardwareBuffer_UsageFlags {
3450    pub const AHARDWAREBUFFER_USAGE_VENDOR_15: AHardwareBuffer_UsageFlags =
3451        AHardwareBuffer_UsageFlags(576460752303423488);
3452}
3453impl AHardwareBuffer_UsageFlags {
3454    pub const AHARDWAREBUFFER_USAGE_VENDOR_16: AHardwareBuffer_UsageFlags =
3455        AHardwareBuffer_UsageFlags(1152921504606846976);
3456}
3457impl AHardwareBuffer_UsageFlags {
3458    pub const AHARDWAREBUFFER_USAGE_VENDOR_17: AHardwareBuffer_UsageFlags =
3459        AHardwareBuffer_UsageFlags(2305843009213693952);
3460}
3461impl AHardwareBuffer_UsageFlags {
3462    pub const AHARDWAREBUFFER_USAGE_VENDOR_18: AHardwareBuffer_UsageFlags =
3463        AHardwareBuffer_UsageFlags(4611686018427387904);
3464}
3465impl AHardwareBuffer_UsageFlags {
3466    pub const AHARDWAREBUFFER_USAGE_VENDOR_19: AHardwareBuffer_UsageFlags =
3467        AHardwareBuffer_UsageFlags(9223372036854775808);
3468}
3469#[repr(transparent)]
3470#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3471pub struct AHardwareBuffer_UsageFlags(pub ::std::os::raw::c_ulonglong);
3472#[repr(C)]
3473#[derive(Debug, Copy, Clone)]
3474pub struct AHardwareBuffer_Desc {
3475    pub width: u32,
3476    pub height: u32,
3477    pub layers: u32,
3478    pub format: u32,
3479    pub usage: u64,
3480    pub stride: u32,
3481    pub rfu0: u32,
3482    pub rfu1: u64,
3483}
3484#[test]
3485fn bindgen_test_layout_AHardwareBuffer_Desc() {
3486    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Desc> = ::std::mem::MaybeUninit::uninit();
3487    let ptr = UNINIT.as_ptr();
3488    assert_eq!(
3489        ::std::mem::size_of::<AHardwareBuffer_Desc>(),
3490        40usize,
3491        concat!("Size of: ", stringify!(AHardwareBuffer_Desc))
3492    );
3493    assert_eq!(
3494        ::std::mem::align_of::<AHardwareBuffer_Desc>(),
3495        4usize,
3496        concat!("Alignment of ", stringify!(AHardwareBuffer_Desc))
3497    );
3498    assert_eq!(
3499        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
3500        0usize,
3501        concat!(
3502            "Offset of field: ",
3503            stringify!(AHardwareBuffer_Desc),
3504            "::",
3505            stringify!(width)
3506        )
3507    );
3508    assert_eq!(
3509        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
3510        4usize,
3511        concat!(
3512            "Offset of field: ",
3513            stringify!(AHardwareBuffer_Desc),
3514            "::",
3515            stringify!(height)
3516        )
3517    );
3518    assert_eq!(
3519        unsafe { ::std::ptr::addr_of!((*ptr).layers) as usize - ptr as usize },
3520        8usize,
3521        concat!(
3522            "Offset of field: ",
3523            stringify!(AHardwareBuffer_Desc),
3524            "::",
3525            stringify!(layers)
3526        )
3527    );
3528    assert_eq!(
3529        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
3530        12usize,
3531        concat!(
3532            "Offset of field: ",
3533            stringify!(AHardwareBuffer_Desc),
3534            "::",
3535            stringify!(format)
3536        )
3537    );
3538    assert_eq!(
3539        unsafe { ::std::ptr::addr_of!((*ptr).usage) as usize - ptr as usize },
3540        16usize,
3541        concat!(
3542            "Offset of field: ",
3543            stringify!(AHardwareBuffer_Desc),
3544            "::",
3545            stringify!(usage)
3546        )
3547    );
3548    assert_eq!(
3549        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
3550        24usize,
3551        concat!(
3552            "Offset of field: ",
3553            stringify!(AHardwareBuffer_Desc),
3554            "::",
3555            stringify!(stride)
3556        )
3557    );
3558    assert_eq!(
3559        unsafe { ::std::ptr::addr_of!((*ptr).rfu0) as usize - ptr as usize },
3560        28usize,
3561        concat!(
3562            "Offset of field: ",
3563            stringify!(AHardwareBuffer_Desc),
3564            "::",
3565            stringify!(rfu0)
3566        )
3567    );
3568    assert_eq!(
3569        unsafe { ::std::ptr::addr_of!((*ptr).rfu1) as usize - ptr as usize },
3570        32usize,
3571        concat!(
3572            "Offset of field: ",
3573            stringify!(AHardwareBuffer_Desc),
3574            "::",
3575            stringify!(rfu1)
3576        )
3577    );
3578}
3579#[repr(C)]
3580#[derive(Debug, Copy, Clone)]
3581pub struct AHardwareBuffer_Plane {
3582    pub data: *mut ::std::os::raw::c_void,
3583    pub pixelStride: u32,
3584    pub rowStride: u32,
3585}
3586#[test]
3587fn bindgen_test_layout_AHardwareBuffer_Plane() {
3588    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Plane> =
3589        ::std::mem::MaybeUninit::uninit();
3590    let ptr = UNINIT.as_ptr();
3591    assert_eq!(
3592        ::std::mem::size_of::<AHardwareBuffer_Plane>(),
3593        12usize,
3594        concat!("Size of: ", stringify!(AHardwareBuffer_Plane))
3595    );
3596    assert_eq!(
3597        ::std::mem::align_of::<AHardwareBuffer_Plane>(),
3598        4usize,
3599        concat!("Alignment of ", stringify!(AHardwareBuffer_Plane))
3600    );
3601    assert_eq!(
3602        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
3603        0usize,
3604        concat!(
3605            "Offset of field: ",
3606            stringify!(AHardwareBuffer_Plane),
3607            "::",
3608            stringify!(data)
3609        )
3610    );
3611    assert_eq!(
3612        unsafe { ::std::ptr::addr_of!((*ptr).pixelStride) as usize - ptr as usize },
3613        4usize,
3614        concat!(
3615            "Offset of field: ",
3616            stringify!(AHardwareBuffer_Plane),
3617            "::",
3618            stringify!(pixelStride)
3619        )
3620    );
3621    assert_eq!(
3622        unsafe { ::std::ptr::addr_of!((*ptr).rowStride) as usize - ptr as usize },
3623        8usize,
3624        concat!(
3625            "Offset of field: ",
3626            stringify!(AHardwareBuffer_Plane),
3627            "::",
3628            stringify!(rowStride)
3629        )
3630    );
3631}
3632#[repr(C)]
3633#[derive(Debug, Copy, Clone)]
3634pub struct AHardwareBuffer_Planes {
3635    pub planeCount: u32,
3636    pub planes: [AHardwareBuffer_Plane; 4usize],
3637}
3638#[test]
3639fn bindgen_test_layout_AHardwareBuffer_Planes() {
3640    const UNINIT: ::std::mem::MaybeUninit<AHardwareBuffer_Planes> =
3641        ::std::mem::MaybeUninit::uninit();
3642    let ptr = UNINIT.as_ptr();
3643    assert_eq!(
3644        ::std::mem::size_of::<AHardwareBuffer_Planes>(),
3645        52usize,
3646        concat!("Size of: ", stringify!(AHardwareBuffer_Planes))
3647    );
3648    assert_eq!(
3649        ::std::mem::align_of::<AHardwareBuffer_Planes>(),
3650        4usize,
3651        concat!("Alignment of ", stringify!(AHardwareBuffer_Planes))
3652    );
3653    assert_eq!(
3654        unsafe { ::std::ptr::addr_of!((*ptr).planeCount) as usize - ptr as usize },
3655        0usize,
3656        concat!(
3657            "Offset of field: ",
3658            stringify!(AHardwareBuffer_Planes),
3659            "::",
3660            stringify!(planeCount)
3661        )
3662    );
3663    assert_eq!(
3664        unsafe { ::std::ptr::addr_of!((*ptr).planes) as usize - ptr as usize },
3665        4usize,
3666        concat!(
3667            "Offset of field: ",
3668            stringify!(AHardwareBuffer_Planes),
3669            "::",
3670            stringify!(planes)
3671        )
3672    );
3673}
3674extern "C" {
3675    pub fn AHardwareBuffer_allocate(
3676        desc: *const AHardwareBuffer_Desc,
3677        outBuffer: *mut *mut AHardwareBuffer,
3678    ) -> ::std::os::raw::c_int;
3679}
3680extern "C" {
3681    pub fn AHardwareBuffer_acquire(buffer: *mut AHardwareBuffer);
3682}
3683extern "C" {
3684    pub fn AHardwareBuffer_release(buffer: *mut AHardwareBuffer);
3685}
3686extern "C" {
3687    pub fn AHardwareBuffer_describe(
3688        buffer: *const AHardwareBuffer,
3689        outDesc: *mut AHardwareBuffer_Desc,
3690    );
3691}
3692extern "C" {
3693    pub fn AHardwareBuffer_lock(
3694        buffer: *mut AHardwareBuffer,
3695        usage: u64,
3696        fence: i32,
3697        rect: *const ARect,
3698        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
3699    ) -> ::std::os::raw::c_int;
3700}
3701extern "C" {
3702    pub fn AHardwareBuffer_unlock(
3703        buffer: *mut AHardwareBuffer,
3704        fence: *mut i32,
3705    ) -> ::std::os::raw::c_int;
3706}
3707extern "C" {
3708    pub fn AHardwareBuffer_sendHandleToUnixSocket(
3709        buffer: *const AHardwareBuffer,
3710        socketFd: ::std::os::raw::c_int,
3711    ) -> ::std::os::raw::c_int;
3712}
3713extern "C" {
3714    pub fn AHardwareBuffer_recvHandleFromUnixSocket(
3715        socketFd: ::std::os::raw::c_int,
3716        outBuffer: *mut *mut AHardwareBuffer,
3717    ) -> ::std::os::raw::c_int;
3718}
3719extern "C" {
3720    pub fn AHardwareBuffer_lockPlanes(
3721        buffer: *mut AHardwareBuffer,
3722        usage: u64,
3723        fence: i32,
3724        rect: *const ARect,
3725        outPlanes: *mut AHardwareBuffer_Planes,
3726    ) -> ::std::os::raw::c_int;
3727}
3728extern "C" {
3729    pub fn AHardwareBuffer_isSupported(desc: *const AHardwareBuffer_Desc) -> ::std::os::raw::c_int;
3730}
3731extern "C" {
3732    pub fn AHardwareBuffer_lockAndGetInfo(
3733        buffer: *mut AHardwareBuffer,
3734        usage: u64,
3735        fence: i32,
3736        rect: *const ARect,
3737        outVirtualAddress: *mut *mut ::std::os::raw::c_void,
3738        outBytesPerPixel: *mut i32,
3739        outBytesPerStride: *mut i32,
3740    ) -> ::std::os::raw::c_int;
3741}
3742extern "C" {
3743    pub fn AHardwareBuffer_getId(
3744        buffer: *const AHardwareBuffer,
3745        outId: *mut u64,
3746    ) -> ::std::os::raw::c_int;
3747}
3748extern "C" {
3749    pub fn AHardwareBuffer_fromHardwareBuffer(
3750        env: *mut JNIEnv,
3751        hardwareBufferObj: jobject,
3752    ) -> *mut AHardwareBuffer;
3753}
3754extern "C" {
3755    pub fn AHardwareBuffer_toHardwareBuffer(
3756        env: *mut JNIEnv,
3757        hardwareBuffer: *mut AHardwareBuffer,
3758    ) -> jobject;
3759}
3760impl AHdrMetadataType {
3761    pub const HDR10_SMPTE2086: AHdrMetadataType = AHdrMetadataType(1);
3762}
3763impl AHdrMetadataType {
3764    pub const HDR10_CTA861_3: AHdrMetadataType = AHdrMetadataType(2);
3765}
3766impl AHdrMetadataType {
3767    pub const HDR10PLUS_SEI: AHdrMetadataType = AHdrMetadataType(3);
3768}
3769#[repr(transparent)]
3770#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3771pub struct AHdrMetadataType(pub u32);
3772#[repr(C)]
3773#[derive(Debug, Copy, Clone)]
3774pub struct AColor_xy {
3775    pub x: f32,
3776    pub y: f32,
3777}
3778#[test]
3779fn bindgen_test_layout_AColor_xy() {
3780    const UNINIT: ::std::mem::MaybeUninit<AColor_xy> = ::std::mem::MaybeUninit::uninit();
3781    let ptr = UNINIT.as_ptr();
3782    assert_eq!(
3783        ::std::mem::size_of::<AColor_xy>(),
3784        8usize,
3785        concat!("Size of: ", stringify!(AColor_xy))
3786    );
3787    assert_eq!(
3788        ::std::mem::align_of::<AColor_xy>(),
3789        4usize,
3790        concat!("Alignment of ", stringify!(AColor_xy))
3791    );
3792    assert_eq!(
3793        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
3794        0usize,
3795        concat!(
3796            "Offset of field: ",
3797            stringify!(AColor_xy),
3798            "::",
3799            stringify!(x)
3800        )
3801    );
3802    assert_eq!(
3803        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
3804        4usize,
3805        concat!(
3806            "Offset of field: ",
3807            stringify!(AColor_xy),
3808            "::",
3809            stringify!(y)
3810        )
3811    );
3812}
3813#[repr(C)]
3814#[derive(Debug, Copy, Clone)]
3815pub struct AHdrMetadata_smpte2086 {
3816    pub displayPrimaryRed: AColor_xy,
3817    pub displayPrimaryGreen: AColor_xy,
3818    pub displayPrimaryBlue: AColor_xy,
3819    pub whitePoint: AColor_xy,
3820    pub maxLuminance: f32,
3821    pub minLuminance: f32,
3822}
3823#[test]
3824fn bindgen_test_layout_AHdrMetadata_smpte2086() {
3825    const UNINIT: ::std::mem::MaybeUninit<AHdrMetadata_smpte2086> =
3826        ::std::mem::MaybeUninit::uninit();
3827    let ptr = UNINIT.as_ptr();
3828    assert_eq!(
3829        ::std::mem::size_of::<AHdrMetadata_smpte2086>(),
3830        40usize,
3831        concat!("Size of: ", stringify!(AHdrMetadata_smpte2086))
3832    );
3833    assert_eq!(
3834        ::std::mem::align_of::<AHdrMetadata_smpte2086>(),
3835        4usize,
3836        concat!("Alignment of ", stringify!(AHdrMetadata_smpte2086))
3837    );
3838    assert_eq!(
3839        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryRed) as usize - ptr as usize },
3840        0usize,
3841        concat!(
3842            "Offset of field: ",
3843            stringify!(AHdrMetadata_smpte2086),
3844            "::",
3845            stringify!(displayPrimaryRed)
3846        )
3847    );
3848    assert_eq!(
3849        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryGreen) as usize - ptr as usize },
3850        8usize,
3851        concat!(
3852            "Offset of field: ",
3853            stringify!(AHdrMetadata_smpte2086),
3854            "::",
3855            stringify!(displayPrimaryGreen)
3856        )
3857    );
3858    assert_eq!(
3859        unsafe { ::std::ptr::addr_of!((*ptr).displayPrimaryBlue) as usize - ptr as usize },
3860        16usize,
3861        concat!(
3862            "Offset of field: ",
3863            stringify!(AHdrMetadata_smpte2086),
3864            "::",
3865            stringify!(displayPrimaryBlue)
3866        )
3867    );
3868    assert_eq!(
3869        unsafe { ::std::ptr::addr_of!((*ptr).whitePoint) as usize - ptr as usize },
3870        24usize,
3871        concat!(
3872            "Offset of field: ",
3873            stringify!(AHdrMetadata_smpte2086),
3874            "::",
3875            stringify!(whitePoint)
3876        )
3877    );
3878    assert_eq!(
3879        unsafe { ::std::ptr::addr_of!((*ptr).maxLuminance) as usize - ptr as usize },
3880        32usize,
3881        concat!(
3882            "Offset of field: ",
3883            stringify!(AHdrMetadata_smpte2086),
3884            "::",
3885            stringify!(maxLuminance)
3886        )
3887    );
3888    assert_eq!(
3889        unsafe { ::std::ptr::addr_of!((*ptr).minLuminance) as usize - ptr as usize },
3890        36usize,
3891        concat!(
3892            "Offset of field: ",
3893            stringify!(AHdrMetadata_smpte2086),
3894            "::",
3895            stringify!(minLuminance)
3896        )
3897    );
3898}
3899#[repr(C)]
3900#[derive(Debug, Copy, Clone)]
3901pub struct AHdrMetadata_cta861_3 {
3902    pub maxContentLightLevel: f32,
3903    pub maxFrameAverageLightLevel: f32,
3904}
3905#[test]
3906fn bindgen_test_layout_AHdrMetadata_cta861_3() {
3907    const UNINIT: ::std::mem::MaybeUninit<AHdrMetadata_cta861_3> =
3908        ::std::mem::MaybeUninit::uninit();
3909    let ptr = UNINIT.as_ptr();
3910    assert_eq!(
3911        ::std::mem::size_of::<AHdrMetadata_cta861_3>(),
3912        8usize,
3913        concat!("Size of: ", stringify!(AHdrMetadata_cta861_3))
3914    );
3915    assert_eq!(
3916        ::std::mem::align_of::<AHdrMetadata_cta861_3>(),
3917        4usize,
3918        concat!("Alignment of ", stringify!(AHdrMetadata_cta861_3))
3919    );
3920    assert_eq!(
3921        unsafe { ::std::ptr::addr_of!((*ptr).maxContentLightLevel) as usize - ptr as usize },
3922        0usize,
3923        concat!(
3924            "Offset of field: ",
3925            stringify!(AHdrMetadata_cta861_3),
3926            "::",
3927            stringify!(maxContentLightLevel)
3928        )
3929    );
3930    assert_eq!(
3931        unsafe { ::std::ptr::addr_of!((*ptr).maxFrameAverageLightLevel) as usize - ptr as usize },
3932        4usize,
3933        concat!(
3934            "Offset of field: ",
3935            stringify!(AHdrMetadata_cta861_3),
3936            "::",
3937            stringify!(maxFrameAverageLightLevel)
3938        )
3939    );
3940}
3941pub const ANDROID_IMAGE_DECODER_SUCCESS: _bindgen_ty_9 = 0;
3942pub const ANDROID_IMAGE_DECODER_INCOMPLETE: _bindgen_ty_9 = -1;
3943pub const ANDROID_IMAGE_DECODER_ERROR: _bindgen_ty_9 = -2;
3944pub const ANDROID_IMAGE_DECODER_INVALID_CONVERSION: _bindgen_ty_9 = -3;
3945pub const ANDROID_IMAGE_DECODER_INVALID_SCALE: _bindgen_ty_9 = -4;
3946pub const ANDROID_IMAGE_DECODER_BAD_PARAMETER: _bindgen_ty_9 = -5;
3947pub const ANDROID_IMAGE_DECODER_INVALID_INPUT: _bindgen_ty_9 = -6;
3948pub const ANDROID_IMAGE_DECODER_SEEK_ERROR: _bindgen_ty_9 = -7;
3949pub const ANDROID_IMAGE_DECODER_INTERNAL_ERROR: _bindgen_ty_9 = -8;
3950pub const ANDROID_IMAGE_DECODER_UNSUPPORTED_FORMAT: _bindgen_ty_9 = -9;
3951pub const ANDROID_IMAGE_DECODER_FINISHED: _bindgen_ty_9 = -10;
3952pub const ANDROID_IMAGE_DECODER_INVALID_STATE: _bindgen_ty_9 = -11;
3953pub type _bindgen_ty_9 = ::std::os::raw::c_int;
3954extern "C" {
3955    pub fn AImageDecoder_resultToString(
3956        arg1: ::std::os::raw::c_int,
3957    ) -> *const ::std::os::raw::c_char;
3958}
3959#[repr(C)]
3960#[derive(Debug, Copy, Clone)]
3961pub struct AImageDecoder {
3962    _unused: [u8; 0],
3963}
3964extern "C" {
3965    pub fn AImageDecoder_createFromAAsset(
3966        asset: *mut AAsset,
3967        outDecoder: *mut *mut AImageDecoder,
3968    ) -> ::std::os::raw::c_int;
3969}
3970extern "C" {
3971    pub fn AImageDecoder_createFromFd(
3972        fd: ::std::os::raw::c_int,
3973        outDecoder: *mut *mut AImageDecoder,
3974    ) -> ::std::os::raw::c_int;
3975}
3976extern "C" {
3977    pub fn AImageDecoder_createFromBuffer(
3978        buffer: *const ::std::os::raw::c_void,
3979        length: usize,
3980        outDecoder: *mut *mut AImageDecoder,
3981    ) -> ::std::os::raw::c_int;
3982}
3983extern "C" {
3984    pub fn AImageDecoder_delete(decoder: *mut AImageDecoder);
3985}
3986extern "C" {
3987    pub fn AImageDecoder_setAndroidBitmapFormat(
3988        decoder: *mut AImageDecoder,
3989        format: i32,
3990    ) -> ::std::os::raw::c_int;
3991}
3992extern "C" {
3993    pub fn AImageDecoder_setUnpremultipliedRequired(
3994        decoder: *mut AImageDecoder,
3995        unpremultipliedRequired: bool,
3996    ) -> ::std::os::raw::c_int;
3997}
3998extern "C" {
3999    pub fn AImageDecoder_setDataSpace(
4000        decoder: *mut AImageDecoder,
4001        dataspace: i32,
4002    ) -> ::std::os::raw::c_int;
4003}
4004extern "C" {
4005    pub fn AImageDecoder_setTargetSize(
4006        decoder: *mut AImageDecoder,
4007        width: i32,
4008        height: i32,
4009    ) -> ::std::os::raw::c_int;
4010}
4011extern "C" {
4012    pub fn AImageDecoder_computeSampledSize(
4013        decoder: *const AImageDecoder,
4014        sampleSize: ::std::os::raw::c_int,
4015        width: *mut i32,
4016        height: *mut i32,
4017    ) -> ::std::os::raw::c_int;
4018}
4019extern "C" {
4020    pub fn AImageDecoder_setCrop(decoder: *mut AImageDecoder, crop: ARect)
4021        -> ::std::os::raw::c_int;
4022}
4023#[repr(C)]
4024#[derive(Debug, Copy, Clone)]
4025pub struct AImageDecoderHeaderInfo {
4026    _unused: [u8; 0],
4027}
4028extern "C" {
4029    pub fn AImageDecoder_getHeaderInfo(
4030        decoder: *const AImageDecoder,
4031    ) -> *const AImageDecoderHeaderInfo;
4032}
4033extern "C" {
4034    pub fn AImageDecoderHeaderInfo_getWidth(arg1: *const AImageDecoderHeaderInfo) -> i32;
4035}
4036extern "C" {
4037    pub fn AImageDecoderHeaderInfo_getHeight(arg1: *const AImageDecoderHeaderInfo) -> i32;
4038}
4039extern "C" {
4040    pub fn AImageDecoderHeaderInfo_getMimeType(
4041        arg1: *const AImageDecoderHeaderInfo,
4042    ) -> *const ::std::os::raw::c_char;
4043}
4044extern "C" {
4045    pub fn AImageDecoderHeaderInfo_getAndroidBitmapFormat(
4046        arg1: *const AImageDecoderHeaderInfo,
4047    ) -> i32;
4048}
4049extern "C" {
4050    pub fn AImageDecoderHeaderInfo_getAlphaFlags(
4051        arg1: *const AImageDecoderHeaderInfo,
4052    ) -> ::std::os::raw::c_int;
4053}
4054extern "C" {
4055    pub fn AImageDecoderHeaderInfo_getDataSpace(arg1: *const AImageDecoderHeaderInfo) -> i32;
4056}
4057extern "C" {
4058    pub fn AImageDecoder_getMinimumStride(decoder: *mut AImageDecoder) -> usize;
4059}
4060extern "C" {
4061    pub fn AImageDecoder_decodeImage(
4062        decoder: *mut AImageDecoder,
4063        pixels: *mut ::std::os::raw::c_void,
4064        stride: usize,
4065        size: usize,
4066    ) -> ::std::os::raw::c_int;
4067}
4068extern "C" {
4069    pub fn AImageDecoder_isAnimated(decoder: *mut AImageDecoder) -> bool;
4070}
4071pub const ANDROID_IMAGE_DECODER_INFINITE: _bindgen_ty_10 = 2147483647;
4072pub type _bindgen_ty_10 = ::std::os::raw::c_uint;
4073extern "C" {
4074    pub fn AImageDecoder_getRepeatCount(decoder: *mut AImageDecoder) -> i32;
4075}
4076extern "C" {
4077    pub fn AImageDecoder_advanceFrame(decoder: *mut AImageDecoder) -> ::std::os::raw::c_int;
4078}
4079extern "C" {
4080    pub fn AImageDecoder_rewind(decoder: *mut AImageDecoder) -> ::std::os::raw::c_int;
4081}
4082#[repr(C)]
4083#[derive(Debug, Copy, Clone)]
4084pub struct AImageDecoderFrameInfo {
4085    _unused: [u8; 0],
4086}
4087extern "C" {
4088    pub fn AImageDecoderFrameInfo_create() -> *mut AImageDecoderFrameInfo;
4089}
4090extern "C" {
4091    pub fn AImageDecoderFrameInfo_delete(info: *mut AImageDecoderFrameInfo);
4092}
4093extern "C" {
4094    pub fn AImageDecoder_getFrameInfo(
4095        decoder: *mut AImageDecoder,
4096        info: *mut AImageDecoderFrameInfo,
4097    ) -> ::std::os::raw::c_int;
4098}
4099extern "C" {
4100    pub fn AImageDecoderFrameInfo_getDuration(info: *const AImageDecoderFrameInfo) -> i64;
4101}
4102extern "C" {
4103    pub fn AImageDecoderFrameInfo_getFrameRect(info: *const AImageDecoderFrameInfo) -> ARect;
4104}
4105extern "C" {
4106    pub fn AImageDecoderFrameInfo_hasAlphaWithinBounds(info: *const AImageDecoderFrameInfo)
4107        -> bool;
4108}
4109pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_NONE: _bindgen_ty_11 = 1;
4110pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_BACKGROUND: _bindgen_ty_11 = 2;
4111pub const ANDROID_IMAGE_DECODER_DISPOSE_OP_PREVIOUS: _bindgen_ty_11 = 3;
4112pub type _bindgen_ty_11 = ::std::os::raw::c_uint;
4113extern "C" {
4114    pub fn AImageDecoderFrameInfo_getDisposeOp(info: *const AImageDecoderFrameInfo) -> i32;
4115}
4116pub const ANDROID_IMAGE_DECODER_BLEND_OP_SRC: _bindgen_ty_12 = 1;
4117pub const ANDROID_IMAGE_DECODER_BLEND_OP_SRC_OVER: _bindgen_ty_12 = 2;
4118pub type _bindgen_ty_12 = ::std::os::raw::c_uint;
4119extern "C" {
4120    pub fn AImageDecoderFrameInfo_getBlendOp(info: *const AImageDecoderFrameInfo) -> i32;
4121}
4122extern "C" {
4123    pub fn AImageDecoder_setInternallyHandleDisposePrevious(
4124        decoder: *mut AImageDecoder,
4125        handleInternally: bool,
4126    );
4127}
4128pub const AKEYCODE_UNKNOWN: _bindgen_ty_13 = 0;
4129pub const AKEYCODE_SOFT_LEFT: _bindgen_ty_13 = 1;
4130pub const AKEYCODE_SOFT_RIGHT: _bindgen_ty_13 = 2;
4131pub const AKEYCODE_HOME: _bindgen_ty_13 = 3;
4132pub const AKEYCODE_BACK: _bindgen_ty_13 = 4;
4133pub const AKEYCODE_CALL: _bindgen_ty_13 = 5;
4134pub const AKEYCODE_ENDCALL: _bindgen_ty_13 = 6;
4135pub const AKEYCODE_0: _bindgen_ty_13 = 7;
4136pub const AKEYCODE_1: _bindgen_ty_13 = 8;
4137pub const AKEYCODE_2: _bindgen_ty_13 = 9;
4138pub const AKEYCODE_3: _bindgen_ty_13 = 10;
4139pub const AKEYCODE_4: _bindgen_ty_13 = 11;
4140pub const AKEYCODE_5: _bindgen_ty_13 = 12;
4141pub const AKEYCODE_6: _bindgen_ty_13 = 13;
4142pub const AKEYCODE_7: _bindgen_ty_13 = 14;
4143pub const AKEYCODE_8: _bindgen_ty_13 = 15;
4144pub const AKEYCODE_9: _bindgen_ty_13 = 16;
4145pub const AKEYCODE_STAR: _bindgen_ty_13 = 17;
4146pub const AKEYCODE_POUND: _bindgen_ty_13 = 18;
4147pub const AKEYCODE_DPAD_UP: _bindgen_ty_13 = 19;
4148pub const AKEYCODE_DPAD_DOWN: _bindgen_ty_13 = 20;
4149pub const AKEYCODE_DPAD_LEFT: _bindgen_ty_13 = 21;
4150pub const AKEYCODE_DPAD_RIGHT: _bindgen_ty_13 = 22;
4151pub const AKEYCODE_DPAD_CENTER: _bindgen_ty_13 = 23;
4152pub const AKEYCODE_VOLUME_UP: _bindgen_ty_13 = 24;
4153pub const AKEYCODE_VOLUME_DOWN: _bindgen_ty_13 = 25;
4154pub const AKEYCODE_POWER: _bindgen_ty_13 = 26;
4155pub const AKEYCODE_CAMERA: _bindgen_ty_13 = 27;
4156pub const AKEYCODE_CLEAR: _bindgen_ty_13 = 28;
4157pub const AKEYCODE_A: _bindgen_ty_13 = 29;
4158pub const AKEYCODE_B: _bindgen_ty_13 = 30;
4159pub const AKEYCODE_C: _bindgen_ty_13 = 31;
4160pub const AKEYCODE_D: _bindgen_ty_13 = 32;
4161pub const AKEYCODE_E: _bindgen_ty_13 = 33;
4162pub const AKEYCODE_F: _bindgen_ty_13 = 34;
4163pub const AKEYCODE_G: _bindgen_ty_13 = 35;
4164pub const AKEYCODE_H: _bindgen_ty_13 = 36;
4165pub const AKEYCODE_I: _bindgen_ty_13 = 37;
4166pub const AKEYCODE_J: _bindgen_ty_13 = 38;
4167pub const AKEYCODE_K: _bindgen_ty_13 = 39;
4168pub const AKEYCODE_L: _bindgen_ty_13 = 40;
4169pub const AKEYCODE_M: _bindgen_ty_13 = 41;
4170pub const AKEYCODE_N: _bindgen_ty_13 = 42;
4171pub const AKEYCODE_O: _bindgen_ty_13 = 43;
4172pub const AKEYCODE_P: _bindgen_ty_13 = 44;
4173pub const AKEYCODE_Q: _bindgen_ty_13 = 45;
4174pub const AKEYCODE_R: _bindgen_ty_13 = 46;
4175pub const AKEYCODE_S: _bindgen_ty_13 = 47;
4176pub const AKEYCODE_T: _bindgen_ty_13 = 48;
4177pub const AKEYCODE_U: _bindgen_ty_13 = 49;
4178pub const AKEYCODE_V: _bindgen_ty_13 = 50;
4179pub const AKEYCODE_W: _bindgen_ty_13 = 51;
4180pub const AKEYCODE_X: _bindgen_ty_13 = 52;
4181pub const AKEYCODE_Y: _bindgen_ty_13 = 53;
4182pub const AKEYCODE_Z: _bindgen_ty_13 = 54;
4183pub const AKEYCODE_COMMA: _bindgen_ty_13 = 55;
4184pub const AKEYCODE_PERIOD: _bindgen_ty_13 = 56;
4185pub const AKEYCODE_ALT_LEFT: _bindgen_ty_13 = 57;
4186pub const AKEYCODE_ALT_RIGHT: _bindgen_ty_13 = 58;
4187pub const AKEYCODE_SHIFT_LEFT: _bindgen_ty_13 = 59;
4188pub const AKEYCODE_SHIFT_RIGHT: _bindgen_ty_13 = 60;
4189pub const AKEYCODE_TAB: _bindgen_ty_13 = 61;
4190pub const AKEYCODE_SPACE: _bindgen_ty_13 = 62;
4191pub const AKEYCODE_SYM: _bindgen_ty_13 = 63;
4192pub const AKEYCODE_EXPLORER: _bindgen_ty_13 = 64;
4193pub const AKEYCODE_ENVELOPE: _bindgen_ty_13 = 65;
4194pub const AKEYCODE_ENTER: _bindgen_ty_13 = 66;
4195pub const AKEYCODE_DEL: _bindgen_ty_13 = 67;
4196pub const AKEYCODE_GRAVE: _bindgen_ty_13 = 68;
4197pub const AKEYCODE_MINUS: _bindgen_ty_13 = 69;
4198pub const AKEYCODE_EQUALS: _bindgen_ty_13 = 70;
4199pub const AKEYCODE_LEFT_BRACKET: _bindgen_ty_13 = 71;
4200pub const AKEYCODE_RIGHT_BRACKET: _bindgen_ty_13 = 72;
4201pub const AKEYCODE_BACKSLASH: _bindgen_ty_13 = 73;
4202pub const AKEYCODE_SEMICOLON: _bindgen_ty_13 = 74;
4203pub const AKEYCODE_APOSTROPHE: _bindgen_ty_13 = 75;
4204pub const AKEYCODE_SLASH: _bindgen_ty_13 = 76;
4205pub const AKEYCODE_AT: _bindgen_ty_13 = 77;
4206pub const AKEYCODE_NUM: _bindgen_ty_13 = 78;
4207pub const AKEYCODE_HEADSETHOOK: _bindgen_ty_13 = 79;
4208pub const AKEYCODE_FOCUS: _bindgen_ty_13 = 80;
4209pub const AKEYCODE_PLUS: _bindgen_ty_13 = 81;
4210pub const AKEYCODE_MENU: _bindgen_ty_13 = 82;
4211pub const AKEYCODE_NOTIFICATION: _bindgen_ty_13 = 83;
4212pub const AKEYCODE_SEARCH: _bindgen_ty_13 = 84;
4213pub const AKEYCODE_MEDIA_PLAY_PAUSE: _bindgen_ty_13 = 85;
4214pub const AKEYCODE_MEDIA_STOP: _bindgen_ty_13 = 86;
4215pub const AKEYCODE_MEDIA_NEXT: _bindgen_ty_13 = 87;
4216pub const AKEYCODE_MEDIA_PREVIOUS: _bindgen_ty_13 = 88;
4217pub const AKEYCODE_MEDIA_REWIND: _bindgen_ty_13 = 89;
4218pub const AKEYCODE_MEDIA_FAST_FORWARD: _bindgen_ty_13 = 90;
4219pub const AKEYCODE_MUTE: _bindgen_ty_13 = 91;
4220pub const AKEYCODE_PAGE_UP: _bindgen_ty_13 = 92;
4221pub const AKEYCODE_PAGE_DOWN: _bindgen_ty_13 = 93;
4222pub const AKEYCODE_PICTSYMBOLS: _bindgen_ty_13 = 94;
4223pub const AKEYCODE_SWITCH_CHARSET: _bindgen_ty_13 = 95;
4224pub const AKEYCODE_BUTTON_A: _bindgen_ty_13 = 96;
4225pub const AKEYCODE_BUTTON_B: _bindgen_ty_13 = 97;
4226pub const AKEYCODE_BUTTON_C: _bindgen_ty_13 = 98;
4227pub const AKEYCODE_BUTTON_X: _bindgen_ty_13 = 99;
4228pub const AKEYCODE_BUTTON_Y: _bindgen_ty_13 = 100;
4229pub const AKEYCODE_BUTTON_Z: _bindgen_ty_13 = 101;
4230pub const AKEYCODE_BUTTON_L1: _bindgen_ty_13 = 102;
4231pub const AKEYCODE_BUTTON_R1: _bindgen_ty_13 = 103;
4232pub const AKEYCODE_BUTTON_L2: _bindgen_ty_13 = 104;
4233pub const AKEYCODE_BUTTON_R2: _bindgen_ty_13 = 105;
4234pub const AKEYCODE_BUTTON_THUMBL: _bindgen_ty_13 = 106;
4235pub const AKEYCODE_BUTTON_THUMBR: _bindgen_ty_13 = 107;
4236pub const AKEYCODE_BUTTON_START: _bindgen_ty_13 = 108;
4237pub const AKEYCODE_BUTTON_SELECT: _bindgen_ty_13 = 109;
4238pub const AKEYCODE_BUTTON_MODE: _bindgen_ty_13 = 110;
4239pub const AKEYCODE_ESCAPE: _bindgen_ty_13 = 111;
4240pub const AKEYCODE_FORWARD_DEL: _bindgen_ty_13 = 112;
4241pub const AKEYCODE_CTRL_LEFT: _bindgen_ty_13 = 113;
4242pub const AKEYCODE_CTRL_RIGHT: _bindgen_ty_13 = 114;
4243pub const AKEYCODE_CAPS_LOCK: _bindgen_ty_13 = 115;
4244pub const AKEYCODE_SCROLL_LOCK: _bindgen_ty_13 = 116;
4245pub const AKEYCODE_META_LEFT: _bindgen_ty_13 = 117;
4246pub const AKEYCODE_META_RIGHT: _bindgen_ty_13 = 118;
4247pub const AKEYCODE_FUNCTION: _bindgen_ty_13 = 119;
4248pub const AKEYCODE_SYSRQ: _bindgen_ty_13 = 120;
4249pub const AKEYCODE_BREAK: _bindgen_ty_13 = 121;
4250pub const AKEYCODE_MOVE_HOME: _bindgen_ty_13 = 122;
4251pub const AKEYCODE_MOVE_END: _bindgen_ty_13 = 123;
4252pub const AKEYCODE_INSERT: _bindgen_ty_13 = 124;
4253pub const AKEYCODE_FORWARD: _bindgen_ty_13 = 125;
4254pub const AKEYCODE_MEDIA_PLAY: _bindgen_ty_13 = 126;
4255pub const AKEYCODE_MEDIA_PAUSE: _bindgen_ty_13 = 127;
4256pub const AKEYCODE_MEDIA_CLOSE: _bindgen_ty_13 = 128;
4257pub const AKEYCODE_MEDIA_EJECT: _bindgen_ty_13 = 129;
4258pub const AKEYCODE_MEDIA_RECORD: _bindgen_ty_13 = 130;
4259pub const AKEYCODE_F1: _bindgen_ty_13 = 131;
4260pub const AKEYCODE_F2: _bindgen_ty_13 = 132;
4261pub const AKEYCODE_F3: _bindgen_ty_13 = 133;
4262pub const AKEYCODE_F4: _bindgen_ty_13 = 134;
4263pub const AKEYCODE_F5: _bindgen_ty_13 = 135;
4264pub const AKEYCODE_F6: _bindgen_ty_13 = 136;
4265pub const AKEYCODE_F7: _bindgen_ty_13 = 137;
4266pub const AKEYCODE_F8: _bindgen_ty_13 = 138;
4267pub const AKEYCODE_F9: _bindgen_ty_13 = 139;
4268pub const AKEYCODE_F10: _bindgen_ty_13 = 140;
4269pub const AKEYCODE_F11: _bindgen_ty_13 = 141;
4270pub const AKEYCODE_F12: _bindgen_ty_13 = 142;
4271pub const AKEYCODE_NUM_LOCK: _bindgen_ty_13 = 143;
4272pub const AKEYCODE_NUMPAD_0: _bindgen_ty_13 = 144;
4273pub const AKEYCODE_NUMPAD_1: _bindgen_ty_13 = 145;
4274pub const AKEYCODE_NUMPAD_2: _bindgen_ty_13 = 146;
4275pub const AKEYCODE_NUMPAD_3: _bindgen_ty_13 = 147;
4276pub const AKEYCODE_NUMPAD_4: _bindgen_ty_13 = 148;
4277pub const AKEYCODE_NUMPAD_5: _bindgen_ty_13 = 149;
4278pub const AKEYCODE_NUMPAD_6: _bindgen_ty_13 = 150;
4279pub const AKEYCODE_NUMPAD_7: _bindgen_ty_13 = 151;
4280pub const AKEYCODE_NUMPAD_8: _bindgen_ty_13 = 152;
4281pub const AKEYCODE_NUMPAD_9: _bindgen_ty_13 = 153;
4282pub const AKEYCODE_NUMPAD_DIVIDE: _bindgen_ty_13 = 154;
4283pub const AKEYCODE_NUMPAD_MULTIPLY: _bindgen_ty_13 = 155;
4284pub const AKEYCODE_NUMPAD_SUBTRACT: _bindgen_ty_13 = 156;
4285pub const AKEYCODE_NUMPAD_ADD: _bindgen_ty_13 = 157;
4286pub const AKEYCODE_NUMPAD_DOT: _bindgen_ty_13 = 158;
4287pub const AKEYCODE_NUMPAD_COMMA: _bindgen_ty_13 = 159;
4288pub const AKEYCODE_NUMPAD_ENTER: _bindgen_ty_13 = 160;
4289pub const AKEYCODE_NUMPAD_EQUALS: _bindgen_ty_13 = 161;
4290pub const AKEYCODE_NUMPAD_LEFT_PAREN: _bindgen_ty_13 = 162;
4291pub const AKEYCODE_NUMPAD_RIGHT_PAREN: _bindgen_ty_13 = 163;
4292pub const AKEYCODE_VOLUME_MUTE: _bindgen_ty_13 = 164;
4293pub const AKEYCODE_INFO: _bindgen_ty_13 = 165;
4294pub const AKEYCODE_CHANNEL_UP: _bindgen_ty_13 = 166;
4295pub const AKEYCODE_CHANNEL_DOWN: _bindgen_ty_13 = 167;
4296pub const AKEYCODE_ZOOM_IN: _bindgen_ty_13 = 168;
4297pub const AKEYCODE_ZOOM_OUT: _bindgen_ty_13 = 169;
4298pub const AKEYCODE_TV: _bindgen_ty_13 = 170;
4299pub const AKEYCODE_WINDOW: _bindgen_ty_13 = 171;
4300pub const AKEYCODE_GUIDE: _bindgen_ty_13 = 172;
4301pub const AKEYCODE_DVR: _bindgen_ty_13 = 173;
4302pub const AKEYCODE_BOOKMARK: _bindgen_ty_13 = 174;
4303pub const AKEYCODE_CAPTIONS: _bindgen_ty_13 = 175;
4304pub const AKEYCODE_SETTINGS: _bindgen_ty_13 = 176;
4305pub const AKEYCODE_TV_POWER: _bindgen_ty_13 = 177;
4306pub const AKEYCODE_TV_INPUT: _bindgen_ty_13 = 178;
4307pub const AKEYCODE_STB_POWER: _bindgen_ty_13 = 179;
4308pub const AKEYCODE_STB_INPUT: _bindgen_ty_13 = 180;
4309pub const AKEYCODE_AVR_POWER: _bindgen_ty_13 = 181;
4310pub const AKEYCODE_AVR_INPUT: _bindgen_ty_13 = 182;
4311pub const AKEYCODE_PROG_RED: _bindgen_ty_13 = 183;
4312pub const AKEYCODE_PROG_GREEN: _bindgen_ty_13 = 184;
4313pub const AKEYCODE_PROG_YELLOW: _bindgen_ty_13 = 185;
4314pub const AKEYCODE_PROG_BLUE: _bindgen_ty_13 = 186;
4315pub const AKEYCODE_APP_SWITCH: _bindgen_ty_13 = 187;
4316pub const AKEYCODE_BUTTON_1: _bindgen_ty_13 = 188;
4317pub const AKEYCODE_BUTTON_2: _bindgen_ty_13 = 189;
4318pub const AKEYCODE_BUTTON_3: _bindgen_ty_13 = 190;
4319pub const AKEYCODE_BUTTON_4: _bindgen_ty_13 = 191;
4320pub const AKEYCODE_BUTTON_5: _bindgen_ty_13 = 192;
4321pub const AKEYCODE_BUTTON_6: _bindgen_ty_13 = 193;
4322pub const AKEYCODE_BUTTON_7: _bindgen_ty_13 = 194;
4323pub const AKEYCODE_BUTTON_8: _bindgen_ty_13 = 195;
4324pub const AKEYCODE_BUTTON_9: _bindgen_ty_13 = 196;
4325pub const AKEYCODE_BUTTON_10: _bindgen_ty_13 = 197;
4326pub const AKEYCODE_BUTTON_11: _bindgen_ty_13 = 198;
4327pub const AKEYCODE_BUTTON_12: _bindgen_ty_13 = 199;
4328pub const AKEYCODE_BUTTON_13: _bindgen_ty_13 = 200;
4329pub const AKEYCODE_BUTTON_14: _bindgen_ty_13 = 201;
4330pub const AKEYCODE_BUTTON_15: _bindgen_ty_13 = 202;
4331pub const AKEYCODE_BUTTON_16: _bindgen_ty_13 = 203;
4332pub const AKEYCODE_LANGUAGE_SWITCH: _bindgen_ty_13 = 204;
4333pub const AKEYCODE_MANNER_MODE: _bindgen_ty_13 = 205;
4334pub const AKEYCODE_3D_MODE: _bindgen_ty_13 = 206;
4335pub const AKEYCODE_CONTACTS: _bindgen_ty_13 = 207;
4336pub const AKEYCODE_CALENDAR: _bindgen_ty_13 = 208;
4337pub const AKEYCODE_MUSIC: _bindgen_ty_13 = 209;
4338pub const AKEYCODE_CALCULATOR: _bindgen_ty_13 = 210;
4339pub const AKEYCODE_ZENKAKU_HANKAKU: _bindgen_ty_13 = 211;
4340pub const AKEYCODE_EISU: _bindgen_ty_13 = 212;
4341pub const AKEYCODE_MUHENKAN: _bindgen_ty_13 = 213;
4342pub const AKEYCODE_HENKAN: _bindgen_ty_13 = 214;
4343pub const AKEYCODE_KATAKANA_HIRAGANA: _bindgen_ty_13 = 215;
4344pub const AKEYCODE_YEN: _bindgen_ty_13 = 216;
4345pub const AKEYCODE_RO: _bindgen_ty_13 = 217;
4346pub const AKEYCODE_KANA: _bindgen_ty_13 = 218;
4347pub const AKEYCODE_ASSIST: _bindgen_ty_13 = 219;
4348pub const AKEYCODE_BRIGHTNESS_DOWN: _bindgen_ty_13 = 220;
4349pub const AKEYCODE_BRIGHTNESS_UP: _bindgen_ty_13 = 221;
4350pub const AKEYCODE_MEDIA_AUDIO_TRACK: _bindgen_ty_13 = 222;
4351pub const AKEYCODE_SLEEP: _bindgen_ty_13 = 223;
4352pub const AKEYCODE_WAKEUP: _bindgen_ty_13 = 224;
4353pub const AKEYCODE_PAIRING: _bindgen_ty_13 = 225;
4354pub const AKEYCODE_MEDIA_TOP_MENU: _bindgen_ty_13 = 226;
4355pub const AKEYCODE_11: _bindgen_ty_13 = 227;
4356pub const AKEYCODE_12: _bindgen_ty_13 = 228;
4357pub const AKEYCODE_LAST_CHANNEL: _bindgen_ty_13 = 229;
4358pub const AKEYCODE_TV_DATA_SERVICE: _bindgen_ty_13 = 230;
4359pub const AKEYCODE_VOICE_ASSIST: _bindgen_ty_13 = 231;
4360pub const AKEYCODE_TV_RADIO_SERVICE: _bindgen_ty_13 = 232;
4361pub const AKEYCODE_TV_TELETEXT: _bindgen_ty_13 = 233;
4362pub const AKEYCODE_TV_NUMBER_ENTRY: _bindgen_ty_13 = 234;
4363pub const AKEYCODE_TV_TERRESTRIAL_ANALOG: _bindgen_ty_13 = 235;
4364pub const AKEYCODE_TV_TERRESTRIAL_DIGITAL: _bindgen_ty_13 = 236;
4365pub const AKEYCODE_TV_SATELLITE: _bindgen_ty_13 = 237;
4366pub const AKEYCODE_TV_SATELLITE_BS: _bindgen_ty_13 = 238;
4367pub const AKEYCODE_TV_SATELLITE_CS: _bindgen_ty_13 = 239;
4368pub const AKEYCODE_TV_SATELLITE_SERVICE: _bindgen_ty_13 = 240;
4369pub const AKEYCODE_TV_NETWORK: _bindgen_ty_13 = 241;
4370pub const AKEYCODE_TV_ANTENNA_CABLE: _bindgen_ty_13 = 242;
4371pub const AKEYCODE_TV_INPUT_HDMI_1: _bindgen_ty_13 = 243;
4372pub const AKEYCODE_TV_INPUT_HDMI_2: _bindgen_ty_13 = 244;
4373pub const AKEYCODE_TV_INPUT_HDMI_3: _bindgen_ty_13 = 245;
4374pub const AKEYCODE_TV_INPUT_HDMI_4: _bindgen_ty_13 = 246;
4375pub const AKEYCODE_TV_INPUT_COMPOSITE_1: _bindgen_ty_13 = 247;
4376pub const AKEYCODE_TV_INPUT_COMPOSITE_2: _bindgen_ty_13 = 248;
4377pub const AKEYCODE_TV_INPUT_COMPONENT_1: _bindgen_ty_13 = 249;
4378pub const AKEYCODE_TV_INPUT_COMPONENT_2: _bindgen_ty_13 = 250;
4379pub const AKEYCODE_TV_INPUT_VGA_1: _bindgen_ty_13 = 251;
4380pub const AKEYCODE_TV_AUDIO_DESCRIPTION: _bindgen_ty_13 = 252;
4381pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP: _bindgen_ty_13 = 253;
4382pub const AKEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN: _bindgen_ty_13 = 254;
4383pub const AKEYCODE_TV_ZOOM_MODE: _bindgen_ty_13 = 255;
4384pub const AKEYCODE_TV_CONTENTS_MENU: _bindgen_ty_13 = 256;
4385pub const AKEYCODE_TV_MEDIA_CONTEXT_MENU: _bindgen_ty_13 = 257;
4386pub const AKEYCODE_TV_TIMER_PROGRAMMING: _bindgen_ty_13 = 258;
4387pub const AKEYCODE_HELP: _bindgen_ty_13 = 259;
4388pub const AKEYCODE_NAVIGATE_PREVIOUS: _bindgen_ty_13 = 260;
4389pub const AKEYCODE_NAVIGATE_NEXT: _bindgen_ty_13 = 261;
4390pub const AKEYCODE_NAVIGATE_IN: _bindgen_ty_13 = 262;
4391pub const AKEYCODE_NAVIGATE_OUT: _bindgen_ty_13 = 263;
4392pub const AKEYCODE_STEM_PRIMARY: _bindgen_ty_13 = 264;
4393pub const AKEYCODE_STEM_1: _bindgen_ty_13 = 265;
4394pub const AKEYCODE_STEM_2: _bindgen_ty_13 = 266;
4395pub const AKEYCODE_STEM_3: _bindgen_ty_13 = 267;
4396pub const AKEYCODE_DPAD_UP_LEFT: _bindgen_ty_13 = 268;
4397pub const AKEYCODE_DPAD_DOWN_LEFT: _bindgen_ty_13 = 269;
4398pub const AKEYCODE_DPAD_UP_RIGHT: _bindgen_ty_13 = 270;
4399pub const AKEYCODE_DPAD_DOWN_RIGHT: _bindgen_ty_13 = 271;
4400pub const AKEYCODE_MEDIA_SKIP_FORWARD: _bindgen_ty_13 = 272;
4401pub const AKEYCODE_MEDIA_SKIP_BACKWARD: _bindgen_ty_13 = 273;
4402pub const AKEYCODE_MEDIA_STEP_FORWARD: _bindgen_ty_13 = 274;
4403pub const AKEYCODE_MEDIA_STEP_BACKWARD: _bindgen_ty_13 = 275;
4404pub const AKEYCODE_SOFT_SLEEP: _bindgen_ty_13 = 276;
4405pub const AKEYCODE_CUT: _bindgen_ty_13 = 277;
4406pub const AKEYCODE_COPY: _bindgen_ty_13 = 278;
4407pub const AKEYCODE_PASTE: _bindgen_ty_13 = 279;
4408pub const AKEYCODE_SYSTEM_NAVIGATION_UP: _bindgen_ty_13 = 280;
4409pub const AKEYCODE_SYSTEM_NAVIGATION_DOWN: _bindgen_ty_13 = 281;
4410pub const AKEYCODE_SYSTEM_NAVIGATION_LEFT: _bindgen_ty_13 = 282;
4411pub const AKEYCODE_SYSTEM_NAVIGATION_RIGHT: _bindgen_ty_13 = 283;
4412pub const AKEYCODE_ALL_APPS: _bindgen_ty_13 = 284;
4413pub const AKEYCODE_REFRESH: _bindgen_ty_13 = 285;
4414pub const AKEYCODE_THUMBS_UP: _bindgen_ty_13 = 286;
4415pub const AKEYCODE_THUMBS_DOWN: _bindgen_ty_13 = 287;
4416pub const AKEYCODE_PROFILE_SWITCH: _bindgen_ty_13 = 288;
4417pub const AKEYCODE_VIDEO_APP_1: _bindgen_ty_13 = 289;
4418pub const AKEYCODE_VIDEO_APP_2: _bindgen_ty_13 = 290;
4419pub const AKEYCODE_VIDEO_APP_3: _bindgen_ty_13 = 291;
4420pub const AKEYCODE_VIDEO_APP_4: _bindgen_ty_13 = 292;
4421pub const AKEYCODE_VIDEO_APP_5: _bindgen_ty_13 = 293;
4422pub const AKEYCODE_VIDEO_APP_6: _bindgen_ty_13 = 294;
4423pub const AKEYCODE_VIDEO_APP_7: _bindgen_ty_13 = 295;
4424pub const AKEYCODE_VIDEO_APP_8: _bindgen_ty_13 = 296;
4425pub const AKEYCODE_FEATURED_APP_1: _bindgen_ty_13 = 297;
4426pub const AKEYCODE_FEATURED_APP_2: _bindgen_ty_13 = 298;
4427pub const AKEYCODE_FEATURED_APP_3: _bindgen_ty_13 = 299;
4428pub const AKEYCODE_FEATURED_APP_4: _bindgen_ty_13 = 300;
4429pub const AKEYCODE_DEMO_APP_1: _bindgen_ty_13 = 301;
4430pub const AKEYCODE_DEMO_APP_2: _bindgen_ty_13 = 302;
4431pub const AKEYCODE_DEMO_APP_3: _bindgen_ty_13 = 303;
4432pub const AKEYCODE_DEMO_APP_4: _bindgen_ty_13 = 304;
4433pub const AKEYCODE_KEYBOARD_BACKLIGHT_DOWN: _bindgen_ty_13 = 305;
4434pub const AKEYCODE_KEYBOARD_BACKLIGHT_UP: _bindgen_ty_13 = 306;
4435pub const AKEYCODE_KEYBOARD_BACKLIGHT_TOGGLE: _bindgen_ty_13 = 307;
4436pub const AKEYCODE_STYLUS_BUTTON_PRIMARY: _bindgen_ty_13 = 308;
4437pub const AKEYCODE_STYLUS_BUTTON_SECONDARY: _bindgen_ty_13 = 309;
4438pub const AKEYCODE_STYLUS_BUTTON_TERTIARY: _bindgen_ty_13 = 310;
4439pub const AKEYCODE_STYLUS_BUTTON_TAIL: _bindgen_ty_13 = 311;
4440pub const AKEYCODE_RECENT_APPS: _bindgen_ty_13 = 312;
4441pub const AKEYCODE_MACRO_1: _bindgen_ty_13 = 313;
4442pub const AKEYCODE_MACRO_2: _bindgen_ty_13 = 314;
4443pub const AKEYCODE_MACRO_3: _bindgen_ty_13 = 315;
4444pub const AKEYCODE_MACRO_4: _bindgen_ty_13 = 316;
4445pub type _bindgen_ty_13 = ::std::os::raw::c_uint;
4446#[repr(C)]
4447#[derive(Debug, Copy, Clone)]
4448pub struct ALooper {
4449    _unused: [u8; 0],
4450}
4451extern "C" {
4452    pub fn ALooper_forThread() -> *mut ALooper;
4453}
4454pub const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS: _bindgen_ty_14 = 1;
4455pub type _bindgen_ty_14 = ::std::os::raw::c_uint;
4456extern "C" {
4457    pub fn ALooper_prepare(opts: ::std::os::raw::c_int) -> *mut ALooper;
4458}
4459pub const ALOOPER_POLL_WAKE: _bindgen_ty_15 = -1;
4460pub const ALOOPER_POLL_CALLBACK: _bindgen_ty_15 = -2;
4461pub const ALOOPER_POLL_TIMEOUT: _bindgen_ty_15 = -3;
4462pub const ALOOPER_POLL_ERROR: _bindgen_ty_15 = -4;
4463pub type _bindgen_ty_15 = ::std::os::raw::c_int;
4464extern "C" {
4465    pub fn ALooper_acquire(looper: *mut ALooper);
4466}
4467extern "C" {
4468    pub fn ALooper_release(looper: *mut ALooper);
4469}
4470pub const ALOOPER_EVENT_INPUT: _bindgen_ty_16 = 1;
4471pub const ALOOPER_EVENT_OUTPUT: _bindgen_ty_16 = 2;
4472pub const ALOOPER_EVENT_ERROR: _bindgen_ty_16 = 4;
4473pub const ALOOPER_EVENT_HANGUP: _bindgen_ty_16 = 8;
4474pub const ALOOPER_EVENT_INVALID: _bindgen_ty_16 = 16;
4475pub type _bindgen_ty_16 = ::std::os::raw::c_uint;
4476pub type ALooper_callbackFunc = ::std::option::Option<
4477    unsafe extern "C" fn(
4478        fd: ::std::os::raw::c_int,
4479        events: ::std::os::raw::c_int,
4480        data: *mut ::std::os::raw::c_void,
4481    ) -> ::std::os::raw::c_int,
4482>;
4483extern "C" {
4484    pub fn ALooper_pollOnce(
4485        timeoutMillis: ::std::os::raw::c_int,
4486        outFd: *mut ::std::os::raw::c_int,
4487        outEvents: *mut ::std::os::raw::c_int,
4488        outData: *mut *mut ::std::os::raw::c_void,
4489    ) -> ::std::os::raw::c_int;
4490}
4491extern "C" {
4492    pub fn ALooper_pollAll(
4493        timeoutMillis: ::std::os::raw::c_int,
4494        outFd: *mut ::std::os::raw::c_int,
4495        outEvents: *mut ::std::os::raw::c_int,
4496        outData: *mut *mut ::std::os::raw::c_void,
4497    ) -> ::std::os::raw::c_int;
4498}
4499extern "C" {
4500    pub fn ALooper_wake(looper: *mut ALooper);
4501}
4502extern "C" {
4503    pub fn ALooper_addFd(
4504        looper: *mut ALooper,
4505        fd: ::std::os::raw::c_int,
4506        ident: ::std::os::raw::c_int,
4507        events: ::std::os::raw::c_int,
4508        callback: ALooper_callbackFunc,
4509        data: *mut ::std::os::raw::c_void,
4510    ) -> ::std::os::raw::c_int;
4511}
4512extern "C" {
4513    pub fn ALooper_removeFd(
4514        looper: *mut ALooper,
4515        fd: ::std::os::raw::c_int,
4516    ) -> ::std::os::raw::c_int;
4517}
4518pub const AKEY_STATE_UNKNOWN: _bindgen_ty_17 = -1;
4519pub const AKEY_STATE_UP: _bindgen_ty_17 = 0;
4520pub const AKEY_STATE_DOWN: _bindgen_ty_17 = 1;
4521pub const AKEY_STATE_VIRTUAL: _bindgen_ty_17 = 2;
4522pub type _bindgen_ty_17 = ::std::os::raw::c_int;
4523pub const AMETA_NONE: _bindgen_ty_18 = 0;
4524pub const AMETA_ALT_ON: _bindgen_ty_18 = 2;
4525pub const AMETA_ALT_LEFT_ON: _bindgen_ty_18 = 16;
4526pub const AMETA_ALT_RIGHT_ON: _bindgen_ty_18 = 32;
4527pub const AMETA_SHIFT_ON: _bindgen_ty_18 = 1;
4528pub const AMETA_SHIFT_LEFT_ON: _bindgen_ty_18 = 64;
4529pub const AMETA_SHIFT_RIGHT_ON: _bindgen_ty_18 = 128;
4530pub const AMETA_SYM_ON: _bindgen_ty_18 = 4;
4531pub const AMETA_FUNCTION_ON: _bindgen_ty_18 = 8;
4532pub const AMETA_CTRL_ON: _bindgen_ty_18 = 4096;
4533pub const AMETA_CTRL_LEFT_ON: _bindgen_ty_18 = 8192;
4534pub const AMETA_CTRL_RIGHT_ON: _bindgen_ty_18 = 16384;
4535pub const AMETA_META_ON: _bindgen_ty_18 = 65536;
4536pub const AMETA_META_LEFT_ON: _bindgen_ty_18 = 131072;
4537pub const AMETA_META_RIGHT_ON: _bindgen_ty_18 = 262144;
4538pub const AMETA_CAPS_LOCK_ON: _bindgen_ty_18 = 1048576;
4539pub const AMETA_NUM_LOCK_ON: _bindgen_ty_18 = 2097152;
4540pub const AMETA_SCROLL_LOCK_ON: _bindgen_ty_18 = 4194304;
4541pub type _bindgen_ty_18 = ::std::os::raw::c_uint;
4542#[repr(C)]
4543#[derive(Debug, Copy, Clone)]
4544pub struct AInputEvent {
4545    _unused: [u8; 0],
4546}
4547pub const AINPUT_EVENT_TYPE_KEY: _bindgen_ty_19 = 1;
4548pub const AINPUT_EVENT_TYPE_MOTION: _bindgen_ty_19 = 2;
4549pub const AINPUT_EVENT_TYPE_FOCUS: _bindgen_ty_19 = 3;
4550pub const AINPUT_EVENT_TYPE_CAPTURE: _bindgen_ty_19 = 4;
4551pub const AINPUT_EVENT_TYPE_DRAG: _bindgen_ty_19 = 5;
4552pub const AINPUT_EVENT_TYPE_TOUCH_MODE: _bindgen_ty_19 = 6;
4553pub type _bindgen_ty_19 = ::std::os::raw::c_uint;
4554pub const AKEY_EVENT_ACTION_DOWN: _bindgen_ty_20 = 0;
4555pub const AKEY_EVENT_ACTION_UP: _bindgen_ty_20 = 1;
4556pub const AKEY_EVENT_ACTION_MULTIPLE: _bindgen_ty_20 = 2;
4557pub type _bindgen_ty_20 = ::std::os::raw::c_uint;
4558pub const AKEY_EVENT_FLAG_WOKE_HERE: _bindgen_ty_21 = 1;
4559pub const AKEY_EVENT_FLAG_SOFT_KEYBOARD: _bindgen_ty_21 = 2;
4560pub const AKEY_EVENT_FLAG_KEEP_TOUCH_MODE: _bindgen_ty_21 = 4;
4561pub const AKEY_EVENT_FLAG_FROM_SYSTEM: _bindgen_ty_21 = 8;
4562pub const AKEY_EVENT_FLAG_EDITOR_ACTION: _bindgen_ty_21 = 16;
4563pub const AKEY_EVENT_FLAG_CANCELED: _bindgen_ty_21 = 32;
4564pub const AKEY_EVENT_FLAG_VIRTUAL_HARD_KEY: _bindgen_ty_21 = 64;
4565pub const AKEY_EVENT_FLAG_LONG_PRESS: _bindgen_ty_21 = 128;
4566pub const AKEY_EVENT_FLAG_CANCELED_LONG_PRESS: _bindgen_ty_21 = 256;
4567pub const AKEY_EVENT_FLAG_TRACKING: _bindgen_ty_21 = 512;
4568pub const AKEY_EVENT_FLAG_FALLBACK: _bindgen_ty_21 = 1024;
4569pub type _bindgen_ty_21 = ::std::os::raw::c_uint;
4570pub const AMOTION_EVENT_ACTION_MASK: _bindgen_ty_22 = 255;
4571pub const AMOTION_EVENT_ACTION_POINTER_INDEX_MASK: _bindgen_ty_22 = 65280;
4572pub const AMOTION_EVENT_ACTION_DOWN: _bindgen_ty_22 = 0;
4573pub const AMOTION_EVENT_ACTION_UP: _bindgen_ty_22 = 1;
4574pub const AMOTION_EVENT_ACTION_MOVE: _bindgen_ty_22 = 2;
4575pub const AMOTION_EVENT_ACTION_CANCEL: _bindgen_ty_22 = 3;
4576pub const AMOTION_EVENT_ACTION_OUTSIDE: _bindgen_ty_22 = 4;
4577pub const AMOTION_EVENT_ACTION_POINTER_DOWN: _bindgen_ty_22 = 5;
4578pub const AMOTION_EVENT_ACTION_POINTER_UP: _bindgen_ty_22 = 6;
4579pub const AMOTION_EVENT_ACTION_HOVER_MOVE: _bindgen_ty_22 = 7;
4580pub const AMOTION_EVENT_ACTION_SCROLL: _bindgen_ty_22 = 8;
4581pub const AMOTION_EVENT_ACTION_HOVER_ENTER: _bindgen_ty_22 = 9;
4582pub const AMOTION_EVENT_ACTION_HOVER_EXIT: _bindgen_ty_22 = 10;
4583pub const AMOTION_EVENT_ACTION_BUTTON_PRESS: _bindgen_ty_22 = 11;
4584pub const AMOTION_EVENT_ACTION_BUTTON_RELEASE: _bindgen_ty_22 = 12;
4585pub type _bindgen_ty_22 = ::std::os::raw::c_uint;
4586pub const AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED: _bindgen_ty_23 = 1;
4587pub type _bindgen_ty_23 = ::std::os::raw::c_uint;
4588pub const AMOTION_EVENT_EDGE_FLAG_NONE: _bindgen_ty_24 = 0;
4589pub const AMOTION_EVENT_EDGE_FLAG_TOP: _bindgen_ty_24 = 1;
4590pub const AMOTION_EVENT_EDGE_FLAG_BOTTOM: _bindgen_ty_24 = 2;
4591pub const AMOTION_EVENT_EDGE_FLAG_LEFT: _bindgen_ty_24 = 4;
4592pub const AMOTION_EVENT_EDGE_FLAG_RIGHT: _bindgen_ty_24 = 8;
4593pub type _bindgen_ty_24 = ::std::os::raw::c_uint;
4594pub const AMOTION_EVENT_AXIS_X: _bindgen_ty_25 = 0;
4595pub const AMOTION_EVENT_AXIS_Y: _bindgen_ty_25 = 1;
4596pub const AMOTION_EVENT_AXIS_PRESSURE: _bindgen_ty_25 = 2;
4597pub const AMOTION_EVENT_AXIS_SIZE: _bindgen_ty_25 = 3;
4598pub const AMOTION_EVENT_AXIS_TOUCH_MAJOR: _bindgen_ty_25 = 4;
4599pub const AMOTION_EVENT_AXIS_TOUCH_MINOR: _bindgen_ty_25 = 5;
4600pub const AMOTION_EVENT_AXIS_TOOL_MAJOR: _bindgen_ty_25 = 6;
4601pub const AMOTION_EVENT_AXIS_TOOL_MINOR: _bindgen_ty_25 = 7;
4602pub const AMOTION_EVENT_AXIS_ORIENTATION: _bindgen_ty_25 = 8;
4603pub const AMOTION_EVENT_AXIS_VSCROLL: _bindgen_ty_25 = 9;
4604pub const AMOTION_EVENT_AXIS_HSCROLL: _bindgen_ty_25 = 10;
4605pub const AMOTION_EVENT_AXIS_Z: _bindgen_ty_25 = 11;
4606pub const AMOTION_EVENT_AXIS_RX: _bindgen_ty_25 = 12;
4607pub const AMOTION_EVENT_AXIS_RY: _bindgen_ty_25 = 13;
4608pub const AMOTION_EVENT_AXIS_RZ: _bindgen_ty_25 = 14;
4609pub const AMOTION_EVENT_AXIS_HAT_X: _bindgen_ty_25 = 15;
4610pub const AMOTION_EVENT_AXIS_HAT_Y: _bindgen_ty_25 = 16;
4611pub const AMOTION_EVENT_AXIS_LTRIGGER: _bindgen_ty_25 = 17;
4612pub const AMOTION_EVENT_AXIS_RTRIGGER: _bindgen_ty_25 = 18;
4613pub const AMOTION_EVENT_AXIS_THROTTLE: _bindgen_ty_25 = 19;
4614pub const AMOTION_EVENT_AXIS_RUDDER: _bindgen_ty_25 = 20;
4615pub const AMOTION_EVENT_AXIS_WHEEL: _bindgen_ty_25 = 21;
4616pub const AMOTION_EVENT_AXIS_GAS: _bindgen_ty_25 = 22;
4617pub const AMOTION_EVENT_AXIS_BRAKE: _bindgen_ty_25 = 23;
4618pub const AMOTION_EVENT_AXIS_DISTANCE: _bindgen_ty_25 = 24;
4619pub const AMOTION_EVENT_AXIS_TILT: _bindgen_ty_25 = 25;
4620pub const AMOTION_EVENT_AXIS_SCROLL: _bindgen_ty_25 = 26;
4621pub const AMOTION_EVENT_AXIS_RELATIVE_X: _bindgen_ty_25 = 27;
4622pub const AMOTION_EVENT_AXIS_RELATIVE_Y: _bindgen_ty_25 = 28;
4623pub const AMOTION_EVENT_AXIS_GENERIC_1: _bindgen_ty_25 = 32;
4624pub const AMOTION_EVENT_AXIS_GENERIC_2: _bindgen_ty_25 = 33;
4625pub const AMOTION_EVENT_AXIS_GENERIC_3: _bindgen_ty_25 = 34;
4626pub const AMOTION_EVENT_AXIS_GENERIC_4: _bindgen_ty_25 = 35;
4627pub const AMOTION_EVENT_AXIS_GENERIC_5: _bindgen_ty_25 = 36;
4628pub const AMOTION_EVENT_AXIS_GENERIC_6: _bindgen_ty_25 = 37;
4629pub const AMOTION_EVENT_AXIS_GENERIC_7: _bindgen_ty_25 = 38;
4630pub const AMOTION_EVENT_AXIS_GENERIC_8: _bindgen_ty_25 = 39;
4631pub const AMOTION_EVENT_AXIS_GENERIC_9: _bindgen_ty_25 = 40;
4632pub const AMOTION_EVENT_AXIS_GENERIC_10: _bindgen_ty_25 = 41;
4633pub const AMOTION_EVENT_AXIS_GENERIC_11: _bindgen_ty_25 = 42;
4634pub const AMOTION_EVENT_AXIS_GENERIC_12: _bindgen_ty_25 = 43;
4635pub const AMOTION_EVENT_AXIS_GENERIC_13: _bindgen_ty_25 = 44;
4636pub const AMOTION_EVENT_AXIS_GENERIC_14: _bindgen_ty_25 = 45;
4637pub const AMOTION_EVENT_AXIS_GENERIC_15: _bindgen_ty_25 = 46;
4638pub const AMOTION_EVENT_AXIS_GENERIC_16: _bindgen_ty_25 = 47;
4639pub const AMOTION_EVENT_AXIS_GESTURE_X_OFFSET: _bindgen_ty_25 = 48;
4640pub const AMOTION_EVENT_AXIS_GESTURE_Y_OFFSET: _bindgen_ty_25 = 49;
4641pub const AMOTION_EVENT_AXIS_GESTURE_SCROLL_X_DISTANCE: _bindgen_ty_25 = 50;
4642pub const AMOTION_EVENT_AXIS_GESTURE_SCROLL_Y_DISTANCE: _bindgen_ty_25 = 51;
4643pub const AMOTION_EVENT_AXIS_GESTURE_PINCH_SCALE_FACTOR: _bindgen_ty_25 = 52;
4644pub const AMOTION_EVENT_AXIS_GESTURE_SWIPE_FINGER_COUNT: _bindgen_ty_25 = 53;
4645pub const AMOTION_EVENT_MAXIMUM_VALID_AXIS_VALUE: _bindgen_ty_25 = 53;
4646pub type _bindgen_ty_25 = ::std::os::raw::c_uint;
4647pub const AMOTION_EVENT_BUTTON_PRIMARY: _bindgen_ty_26 = 1;
4648pub const AMOTION_EVENT_BUTTON_SECONDARY: _bindgen_ty_26 = 2;
4649pub const AMOTION_EVENT_BUTTON_TERTIARY: _bindgen_ty_26 = 4;
4650pub const AMOTION_EVENT_BUTTON_BACK: _bindgen_ty_26 = 8;
4651pub const AMOTION_EVENT_BUTTON_FORWARD: _bindgen_ty_26 = 16;
4652pub const AMOTION_EVENT_BUTTON_STYLUS_PRIMARY: _bindgen_ty_26 = 32;
4653pub const AMOTION_EVENT_BUTTON_STYLUS_SECONDARY: _bindgen_ty_26 = 64;
4654pub type _bindgen_ty_26 = ::std::os::raw::c_uint;
4655pub const AMOTION_EVENT_TOOL_TYPE_UNKNOWN: _bindgen_ty_27 = 0;
4656pub const AMOTION_EVENT_TOOL_TYPE_FINGER: _bindgen_ty_27 = 1;
4657pub const AMOTION_EVENT_TOOL_TYPE_STYLUS: _bindgen_ty_27 = 2;
4658pub const AMOTION_EVENT_TOOL_TYPE_MOUSE: _bindgen_ty_27 = 3;
4659pub const AMOTION_EVENT_TOOL_TYPE_ERASER: _bindgen_ty_27 = 4;
4660pub const AMOTION_EVENT_TOOL_TYPE_PALM: _bindgen_ty_27 = 5;
4661pub type _bindgen_ty_27 = ::std::os::raw::c_uint;
4662impl AMotionClassification {
4663    pub const AMOTION_EVENT_CLASSIFICATION_NONE: AMotionClassification = AMotionClassification(0);
4664}
4665impl AMotionClassification {
4666    pub const AMOTION_EVENT_CLASSIFICATION_AMBIGUOUS_GESTURE: AMotionClassification =
4667        AMotionClassification(1);
4668}
4669impl AMotionClassification {
4670    pub const AMOTION_EVENT_CLASSIFICATION_DEEP_PRESS: AMotionClassification =
4671        AMotionClassification(2);
4672}
4673impl AMotionClassification {
4674    pub const AMOTION_EVENT_CLASSIFICATION_TWO_FINGER_SWIPE: AMotionClassification =
4675        AMotionClassification(3);
4676}
4677impl AMotionClassification {
4678    pub const AMOTION_EVENT_CLASSIFICATION_MULTI_FINGER_SWIPE: AMotionClassification =
4679        AMotionClassification(4);
4680}
4681impl AMotionClassification {
4682    pub const AMOTION_EVENT_CLASSIFICATION_PINCH: AMotionClassification = AMotionClassification(5);
4683}
4684#[repr(transparent)]
4685#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4686pub struct AMotionClassification(pub u32);
4687pub const AINPUT_SOURCE_CLASS_MASK: _bindgen_ty_28 = 255;
4688pub const AINPUT_SOURCE_CLASS_NONE: _bindgen_ty_28 = 0;
4689pub const AINPUT_SOURCE_CLASS_BUTTON: _bindgen_ty_28 = 1;
4690pub const AINPUT_SOURCE_CLASS_POINTER: _bindgen_ty_28 = 2;
4691pub const AINPUT_SOURCE_CLASS_NAVIGATION: _bindgen_ty_28 = 4;
4692pub const AINPUT_SOURCE_CLASS_POSITION: _bindgen_ty_28 = 8;
4693pub const AINPUT_SOURCE_CLASS_JOYSTICK: _bindgen_ty_28 = 16;
4694pub type _bindgen_ty_28 = ::std::os::raw::c_uint;
4695pub const AINPUT_SOURCE_UNKNOWN: _bindgen_ty_29 = 0;
4696pub const AINPUT_SOURCE_KEYBOARD: _bindgen_ty_29 = 257;
4697pub const AINPUT_SOURCE_DPAD: _bindgen_ty_29 = 513;
4698pub const AINPUT_SOURCE_GAMEPAD: _bindgen_ty_29 = 1025;
4699pub const AINPUT_SOURCE_TOUCHSCREEN: _bindgen_ty_29 = 4098;
4700pub const AINPUT_SOURCE_MOUSE: _bindgen_ty_29 = 8194;
4701pub const AINPUT_SOURCE_STYLUS: _bindgen_ty_29 = 16386;
4702pub const AINPUT_SOURCE_BLUETOOTH_STYLUS: _bindgen_ty_29 = 49154;
4703pub const AINPUT_SOURCE_TRACKBALL: _bindgen_ty_29 = 65540;
4704pub const AINPUT_SOURCE_MOUSE_RELATIVE: _bindgen_ty_29 = 131076;
4705pub const AINPUT_SOURCE_TOUCHPAD: _bindgen_ty_29 = 1048584;
4706pub const AINPUT_SOURCE_TOUCH_NAVIGATION: _bindgen_ty_29 = 2097152;
4707pub const AINPUT_SOURCE_JOYSTICK: _bindgen_ty_29 = 16777232;
4708pub const AINPUT_SOURCE_HDMI: _bindgen_ty_29 = 33554433;
4709pub const AINPUT_SOURCE_SENSOR: _bindgen_ty_29 = 67108864;
4710pub const AINPUT_SOURCE_ROTARY_ENCODER: _bindgen_ty_29 = 4194304;
4711pub const AINPUT_SOURCE_ANY: _bindgen_ty_29 = 4294967040;
4712pub type _bindgen_ty_29 = ::std::os::raw::c_uint;
4713pub const AINPUT_KEYBOARD_TYPE_NONE: _bindgen_ty_30 = 0;
4714pub const AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC: _bindgen_ty_30 = 1;
4715pub const AINPUT_KEYBOARD_TYPE_ALPHABETIC: _bindgen_ty_30 = 2;
4716pub type _bindgen_ty_30 = ::std::os::raw::c_uint;
4717pub const AINPUT_MOTION_RANGE_X: _bindgen_ty_31 = 0;
4718pub const AINPUT_MOTION_RANGE_Y: _bindgen_ty_31 = 1;
4719pub const AINPUT_MOTION_RANGE_PRESSURE: _bindgen_ty_31 = 2;
4720pub const AINPUT_MOTION_RANGE_SIZE: _bindgen_ty_31 = 3;
4721pub const AINPUT_MOTION_RANGE_TOUCH_MAJOR: _bindgen_ty_31 = 4;
4722pub const AINPUT_MOTION_RANGE_TOUCH_MINOR: _bindgen_ty_31 = 5;
4723pub const AINPUT_MOTION_RANGE_TOOL_MAJOR: _bindgen_ty_31 = 6;
4724pub const AINPUT_MOTION_RANGE_TOOL_MINOR: _bindgen_ty_31 = 7;
4725pub const AINPUT_MOTION_RANGE_ORIENTATION: _bindgen_ty_31 = 8;
4726pub type _bindgen_ty_31 = ::std::os::raw::c_uint;
4727extern "C" {
4728    pub fn AInputEvent_getType(event: *const AInputEvent) -> i32;
4729}
4730extern "C" {
4731    pub fn AInputEvent_getDeviceId(event: *const AInputEvent) -> i32;
4732}
4733extern "C" {
4734    pub fn AInputEvent_getSource(event: *const AInputEvent) -> i32;
4735}
4736extern "C" {
4737    pub fn AInputEvent_release(event: *const AInputEvent);
4738}
4739extern "C" {
4740    pub fn AKeyEvent_getAction(key_event: *const AInputEvent) -> i32;
4741}
4742extern "C" {
4743    pub fn AKeyEvent_getFlags(key_event: *const AInputEvent) -> i32;
4744}
4745extern "C" {
4746    pub fn AKeyEvent_getKeyCode(key_event: *const AInputEvent) -> i32;
4747}
4748extern "C" {
4749    pub fn AKeyEvent_getScanCode(key_event: *const AInputEvent) -> i32;
4750}
4751extern "C" {
4752    pub fn AKeyEvent_getMetaState(key_event: *const AInputEvent) -> i32;
4753}
4754extern "C" {
4755    pub fn AKeyEvent_getRepeatCount(key_event: *const AInputEvent) -> i32;
4756}
4757extern "C" {
4758    pub fn AKeyEvent_getDownTime(key_event: *const AInputEvent) -> i64;
4759}
4760extern "C" {
4761    pub fn AKeyEvent_getEventTime(key_event: *const AInputEvent) -> i64;
4762}
4763extern "C" {
4764    pub fn AKeyEvent_fromJava(env: *mut JNIEnv, keyEvent: jobject) -> *const AInputEvent;
4765}
4766extern "C" {
4767    pub fn AMotionEvent_getAction(motion_event: *const AInputEvent) -> i32;
4768}
4769extern "C" {
4770    pub fn AMotionEvent_getFlags(motion_event: *const AInputEvent) -> i32;
4771}
4772extern "C" {
4773    pub fn AMotionEvent_getMetaState(motion_event: *const AInputEvent) -> i32;
4774}
4775extern "C" {
4776    pub fn AMotionEvent_getButtonState(motion_event: *const AInputEvent) -> i32;
4777}
4778extern "C" {
4779    pub fn AMotionEvent_getEdgeFlags(motion_event: *const AInputEvent) -> i32;
4780}
4781extern "C" {
4782    pub fn AMotionEvent_getDownTime(motion_event: *const AInputEvent) -> i64;
4783}
4784extern "C" {
4785    pub fn AMotionEvent_getEventTime(motion_event: *const AInputEvent) -> i64;
4786}
4787extern "C" {
4788    pub fn AMotionEvent_getXOffset(motion_event: *const AInputEvent) -> f32;
4789}
4790extern "C" {
4791    pub fn AMotionEvent_getYOffset(motion_event: *const AInputEvent) -> f32;
4792}
4793extern "C" {
4794    pub fn AMotionEvent_getXPrecision(motion_event: *const AInputEvent) -> f32;
4795}
4796extern "C" {
4797    pub fn AMotionEvent_getYPrecision(motion_event: *const AInputEvent) -> f32;
4798}
4799extern "C" {
4800    pub fn AMotionEvent_getPointerCount(motion_event: *const AInputEvent) -> usize;
4801}
4802extern "C" {
4803    pub fn AMotionEvent_getPointerId(motion_event: *const AInputEvent, pointer_index: usize)
4804        -> i32;
4805}
4806extern "C" {
4807    pub fn AMotionEvent_getToolType(motion_event: *const AInputEvent, pointer_index: usize) -> i32;
4808}
4809extern "C" {
4810    pub fn AMotionEvent_getRawX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4811}
4812extern "C" {
4813    pub fn AMotionEvent_getRawY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4814}
4815extern "C" {
4816    pub fn AMotionEvent_getX(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4817}
4818extern "C" {
4819    pub fn AMotionEvent_getY(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4820}
4821extern "C" {
4822    pub fn AMotionEvent_getPressure(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4823}
4824extern "C" {
4825    pub fn AMotionEvent_getSize(motion_event: *const AInputEvent, pointer_index: usize) -> f32;
4826}
4827extern "C" {
4828    pub fn AMotionEvent_getTouchMajor(
4829        motion_event: *const AInputEvent,
4830        pointer_index: usize,
4831    ) -> f32;
4832}
4833extern "C" {
4834    pub fn AMotionEvent_getTouchMinor(
4835        motion_event: *const AInputEvent,
4836        pointer_index: usize,
4837    ) -> f32;
4838}
4839extern "C" {
4840    pub fn AMotionEvent_getToolMajor(motion_event: *const AInputEvent, pointer_index: usize)
4841        -> f32;
4842}
4843extern "C" {
4844    pub fn AMotionEvent_getToolMinor(motion_event: *const AInputEvent, pointer_index: usize)
4845        -> f32;
4846}
4847extern "C" {
4848    pub fn AMotionEvent_getOrientation(
4849        motion_event: *const AInputEvent,
4850        pointer_index: usize,
4851    ) -> f32;
4852}
4853extern "C" {
4854    pub fn AMotionEvent_getAxisValue(
4855        motion_event: *const AInputEvent,
4856        axis: i32,
4857        pointer_index: usize,
4858    ) -> f32;
4859}
4860extern "C" {
4861    pub fn AMotionEvent_getHistorySize(motion_event: *const AInputEvent) -> usize;
4862}
4863extern "C" {
4864    pub fn AMotionEvent_getHistoricalEventTime(
4865        motion_event: *const AInputEvent,
4866        history_index: usize,
4867    ) -> i64;
4868}
4869extern "C" {
4870    pub fn AMotionEvent_getHistoricalRawX(
4871        motion_event: *const AInputEvent,
4872        pointer_index: usize,
4873        history_index: usize,
4874    ) -> f32;
4875}
4876extern "C" {
4877    pub fn AMotionEvent_getHistoricalRawY(
4878        motion_event: *const AInputEvent,
4879        pointer_index: usize,
4880        history_index: usize,
4881    ) -> f32;
4882}
4883extern "C" {
4884    pub fn AMotionEvent_getHistoricalX(
4885        motion_event: *const AInputEvent,
4886        pointer_index: usize,
4887        history_index: usize,
4888    ) -> f32;
4889}
4890extern "C" {
4891    pub fn AMotionEvent_getHistoricalY(
4892        motion_event: *const AInputEvent,
4893        pointer_index: usize,
4894        history_index: usize,
4895    ) -> f32;
4896}
4897extern "C" {
4898    pub fn AMotionEvent_getHistoricalPressure(
4899        motion_event: *const AInputEvent,
4900        pointer_index: usize,
4901        history_index: usize,
4902    ) -> f32;
4903}
4904extern "C" {
4905    pub fn AMotionEvent_getHistoricalSize(
4906        motion_event: *const AInputEvent,
4907        pointer_index: usize,
4908        history_index: usize,
4909    ) -> f32;
4910}
4911extern "C" {
4912    pub fn AMotionEvent_getHistoricalTouchMajor(
4913        motion_event: *const AInputEvent,
4914        pointer_index: usize,
4915        history_index: usize,
4916    ) -> f32;
4917}
4918extern "C" {
4919    pub fn AMotionEvent_getHistoricalTouchMinor(
4920        motion_event: *const AInputEvent,
4921        pointer_index: usize,
4922        history_index: usize,
4923    ) -> f32;
4924}
4925extern "C" {
4926    pub fn AMotionEvent_getHistoricalToolMajor(
4927        motion_event: *const AInputEvent,
4928        pointer_index: usize,
4929        history_index: usize,
4930    ) -> f32;
4931}
4932extern "C" {
4933    pub fn AMotionEvent_getHistoricalToolMinor(
4934        motion_event: *const AInputEvent,
4935        pointer_index: usize,
4936        history_index: usize,
4937    ) -> f32;
4938}
4939extern "C" {
4940    pub fn AMotionEvent_getHistoricalOrientation(
4941        motion_event: *const AInputEvent,
4942        pointer_index: usize,
4943        history_index: usize,
4944    ) -> f32;
4945}
4946extern "C" {
4947    pub fn AMotionEvent_getHistoricalAxisValue(
4948        motion_event: *const AInputEvent,
4949        axis: i32,
4950        pointer_index: usize,
4951        history_index: usize,
4952    ) -> f32;
4953}
4954extern "C" {
4955    pub fn AMotionEvent_getActionButton(motion_event: *const AInputEvent) -> i32;
4956}
4957extern "C" {
4958    pub fn AMotionEvent_getClassification(motion_event: *const AInputEvent) -> i32;
4959}
4960extern "C" {
4961    pub fn AMotionEvent_fromJava(env: *mut JNIEnv, motionEvent: jobject) -> *const AInputEvent;
4962}
4963#[repr(C)]
4964#[derive(Debug, Copy, Clone)]
4965pub struct AInputQueue {
4966    _unused: [u8; 0],
4967}
4968extern "C" {
4969    pub fn AInputQueue_attachLooper(
4970        queue: *mut AInputQueue,
4971        looper: *mut ALooper,
4972        ident: ::std::os::raw::c_int,
4973        callback: ALooper_callbackFunc,
4974        data: *mut ::std::os::raw::c_void,
4975    );
4976}
4977extern "C" {
4978    pub fn AInputQueue_detachLooper(queue: *mut AInputQueue);
4979}
4980extern "C" {
4981    pub fn AInputQueue_hasEvents(queue: *mut AInputQueue) -> i32;
4982}
4983extern "C" {
4984    pub fn AInputQueue_getEvent(queue: *mut AInputQueue, outEvent: *mut *mut AInputEvent) -> i32;
4985}
4986extern "C" {
4987    pub fn AInputQueue_preDispatchEvent(queue: *mut AInputQueue, event: *mut AInputEvent) -> i32;
4988}
4989extern "C" {
4990    pub fn AInputQueue_finishEvent(
4991        queue: *mut AInputQueue,
4992        event: *mut AInputEvent,
4993        handled: ::std::os::raw::c_int,
4994    );
4995}
4996extern "C" {
4997    pub fn AInputQueue_fromJava(env: *mut JNIEnv, inputQueue: jobject) -> *mut AInputQueue;
4998}
4999impl android_LogPriority {
5000    pub const ANDROID_LOG_UNKNOWN: android_LogPriority = android_LogPriority(0);
5001}
5002impl android_LogPriority {
5003    pub const ANDROID_LOG_DEFAULT: android_LogPriority = android_LogPriority(1);
5004}
5005impl android_LogPriority {
5006    pub const ANDROID_LOG_VERBOSE: android_LogPriority = android_LogPriority(2);
5007}
5008impl android_LogPriority {
5009    pub const ANDROID_LOG_DEBUG: android_LogPriority = android_LogPriority(3);
5010}
5011impl android_LogPriority {
5012    pub const ANDROID_LOG_INFO: android_LogPriority = android_LogPriority(4);
5013}
5014impl android_LogPriority {
5015    pub const ANDROID_LOG_WARN: android_LogPriority = android_LogPriority(5);
5016}
5017impl android_LogPriority {
5018    pub const ANDROID_LOG_ERROR: android_LogPriority = android_LogPriority(6);
5019}
5020impl android_LogPriority {
5021    pub const ANDROID_LOG_FATAL: android_LogPriority = android_LogPriority(7);
5022}
5023impl android_LogPriority {
5024    pub const ANDROID_LOG_SILENT: android_LogPriority = android_LogPriority(8);
5025}
5026#[repr(transparent)]
5027#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5028pub struct android_LogPriority(pub ::std::os::raw::c_uint);
5029extern "C" {
5030    pub fn __android_log_write(
5031        prio: ::std::os::raw::c_int,
5032        tag: *const ::std::os::raw::c_char,
5033        text: *const ::std::os::raw::c_char,
5034    ) -> ::std::os::raw::c_int;
5035}
5036extern "C" {
5037    pub fn __android_log_print(
5038        prio: ::std::os::raw::c_int,
5039        tag: *const ::std::os::raw::c_char,
5040        fmt: *const ::std::os::raw::c_char,
5041        ...
5042    ) -> ::std::os::raw::c_int;
5043}
5044extern "C" {
5045    pub fn __android_log_vprint(
5046        prio: ::std::os::raw::c_int,
5047        tag: *const ::std::os::raw::c_char,
5048        fmt: *const ::std::os::raw::c_char,
5049        ap: va_list,
5050    ) -> ::std::os::raw::c_int;
5051}
5052extern "C" {
5053    pub fn __android_log_assert(
5054        cond: *const ::std::os::raw::c_char,
5055        tag: *const ::std::os::raw::c_char,
5056        fmt: *const ::std::os::raw::c_char,
5057        ...
5058    ) -> !;
5059}
5060impl log_id {
5061    pub const LOG_ID_MIN: log_id = log_id(0);
5062}
5063impl log_id {
5064    pub const LOG_ID_MAIN: log_id = log_id(0);
5065}
5066impl log_id {
5067    pub const LOG_ID_RADIO: log_id = log_id(1);
5068}
5069impl log_id {
5070    pub const LOG_ID_EVENTS: log_id = log_id(2);
5071}
5072impl log_id {
5073    pub const LOG_ID_SYSTEM: log_id = log_id(3);
5074}
5075impl log_id {
5076    pub const LOG_ID_CRASH: log_id = log_id(4);
5077}
5078impl log_id {
5079    pub const LOG_ID_STATS: log_id = log_id(5);
5080}
5081impl log_id {
5082    pub const LOG_ID_SECURITY: log_id = log_id(6);
5083}
5084impl log_id {
5085    pub const LOG_ID_KERNEL: log_id = log_id(7);
5086}
5087impl log_id {
5088    pub const LOG_ID_MAX: log_id = log_id(8);
5089}
5090impl log_id {
5091    pub const LOG_ID_DEFAULT: log_id = log_id(2147483647);
5092}
5093#[repr(transparent)]
5094#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5095pub struct log_id(pub ::std::os::raw::c_uint);
5096pub use self::log_id as log_id_t;
5097extern "C" {
5098    pub fn __android_log_buf_write(
5099        bufID: ::std::os::raw::c_int,
5100        prio: ::std::os::raw::c_int,
5101        tag: *const ::std::os::raw::c_char,
5102        text: *const ::std::os::raw::c_char,
5103    ) -> ::std::os::raw::c_int;
5104}
5105extern "C" {
5106    pub fn __android_log_buf_print(
5107        bufID: ::std::os::raw::c_int,
5108        prio: ::std::os::raw::c_int,
5109        tag: *const ::std::os::raw::c_char,
5110        fmt: *const ::std::os::raw::c_char,
5111        ...
5112    ) -> ::std::os::raw::c_int;
5113}
5114#[repr(C)]
5115#[derive(Debug, Copy, Clone)]
5116pub struct __android_log_message {
5117    pub struct_size: usize,
5118    pub buffer_id: i32,
5119    pub priority: i32,
5120    pub tag: *const ::std::os::raw::c_char,
5121    pub file: *const ::std::os::raw::c_char,
5122    pub line: u32,
5123    pub message: *const ::std::os::raw::c_char,
5124}
5125#[test]
5126fn bindgen_test_layout___android_log_message() {
5127    const UNINIT: ::std::mem::MaybeUninit<__android_log_message> =
5128        ::std::mem::MaybeUninit::uninit();
5129    let ptr = UNINIT.as_ptr();
5130    assert_eq!(
5131        ::std::mem::size_of::<__android_log_message>(),
5132        28usize,
5133        concat!("Size of: ", stringify!(__android_log_message))
5134    );
5135    assert_eq!(
5136        ::std::mem::align_of::<__android_log_message>(),
5137        4usize,
5138        concat!("Alignment of ", stringify!(__android_log_message))
5139    );
5140    assert_eq!(
5141        unsafe { ::std::ptr::addr_of!((*ptr).struct_size) as usize - ptr as usize },
5142        0usize,
5143        concat!(
5144            "Offset of field: ",
5145            stringify!(__android_log_message),
5146            "::",
5147            stringify!(struct_size)
5148        )
5149    );
5150    assert_eq!(
5151        unsafe { ::std::ptr::addr_of!((*ptr).buffer_id) as usize - ptr as usize },
5152        4usize,
5153        concat!(
5154            "Offset of field: ",
5155            stringify!(__android_log_message),
5156            "::",
5157            stringify!(buffer_id)
5158        )
5159    );
5160    assert_eq!(
5161        unsafe { ::std::ptr::addr_of!((*ptr).priority) as usize - ptr as usize },
5162        8usize,
5163        concat!(
5164            "Offset of field: ",
5165            stringify!(__android_log_message),
5166            "::",
5167            stringify!(priority)
5168        )
5169    );
5170    assert_eq!(
5171        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
5172        12usize,
5173        concat!(
5174            "Offset of field: ",
5175            stringify!(__android_log_message),
5176            "::",
5177            stringify!(tag)
5178        )
5179    );
5180    assert_eq!(
5181        unsafe { ::std::ptr::addr_of!((*ptr).file) as usize - ptr as usize },
5182        16usize,
5183        concat!(
5184            "Offset of field: ",
5185            stringify!(__android_log_message),
5186            "::",
5187            stringify!(file)
5188        )
5189    );
5190    assert_eq!(
5191        unsafe { ::std::ptr::addr_of!((*ptr).line) as usize - ptr as usize },
5192        20usize,
5193        concat!(
5194            "Offset of field: ",
5195            stringify!(__android_log_message),
5196            "::",
5197            stringify!(line)
5198        )
5199    );
5200    assert_eq!(
5201        unsafe { ::std::ptr::addr_of!((*ptr).message) as usize - ptr as usize },
5202        24usize,
5203        concat!(
5204            "Offset of field: ",
5205            stringify!(__android_log_message),
5206            "::",
5207            stringify!(message)
5208        )
5209    );
5210}
5211pub type __android_logger_function =
5212    ::std::option::Option<unsafe extern "C" fn(log_message: *const __android_log_message)>;
5213pub type __android_aborter_function =
5214    ::std::option::Option<unsafe extern "C" fn(abort_message: *const ::std::os::raw::c_char)>;
5215extern "C" {
5216    pub fn __android_log_write_log_message(log_message: *mut __android_log_message);
5217}
5218extern "C" {
5219    pub fn __android_log_set_logger(logger: __android_logger_function);
5220}
5221extern "C" {
5222    pub fn __android_log_logd_logger(log_message: *const __android_log_message);
5223}
5224extern "C" {
5225    pub fn __android_log_stderr_logger(log_message: *const __android_log_message);
5226}
5227extern "C" {
5228    pub fn __android_log_set_aborter(aborter: __android_aborter_function);
5229}
5230extern "C" {
5231    pub fn __android_log_call_aborter(abort_message: *const ::std::os::raw::c_char);
5232}
5233extern "C" {
5234    pub fn __android_log_default_aborter(abort_message: *const ::std::os::raw::c_char) -> !;
5235}
5236extern "C" {
5237    pub fn __android_log_is_loggable(
5238        prio: ::std::os::raw::c_int,
5239        tag: *const ::std::os::raw::c_char,
5240        default_prio: ::std::os::raw::c_int,
5241    ) -> ::std::os::raw::c_int;
5242}
5243extern "C" {
5244    pub fn __android_log_is_loggable_len(
5245        prio: ::std::os::raw::c_int,
5246        tag: *const ::std::os::raw::c_char,
5247        len: usize,
5248        default_prio: ::std::os::raw::c_int,
5249    ) -> ::std::os::raw::c_int;
5250}
5251extern "C" {
5252    pub fn __android_log_set_minimum_priority(priority: i32) -> i32;
5253}
5254extern "C" {
5255    pub fn __android_log_get_minimum_priority() -> i32;
5256}
5257extern "C" {
5258    pub fn __android_log_set_default_tag(tag: *const ::std::os::raw::c_char);
5259}
5260#[repr(C)]
5261#[derive(Debug, Copy, Clone)]
5262pub struct flock {
5263    pub l_type: ::std::os::raw::c_short,
5264    pub l_whence: ::std::os::raw::c_short,
5265    pub l_start: off_t,
5266    pub l_len: off_t,
5267    pub l_pid: pid_t,
5268}
5269#[test]
5270fn bindgen_test_layout_flock() {
5271    const UNINIT: ::std::mem::MaybeUninit<flock> = ::std::mem::MaybeUninit::uninit();
5272    let ptr = UNINIT.as_ptr();
5273    assert_eq!(
5274        ::std::mem::size_of::<flock>(),
5275        16usize,
5276        concat!("Size of: ", stringify!(flock))
5277    );
5278    assert_eq!(
5279        ::std::mem::align_of::<flock>(),
5280        4usize,
5281        concat!("Alignment of ", stringify!(flock))
5282    );
5283    assert_eq!(
5284        unsafe { ::std::ptr::addr_of!((*ptr).l_type) as usize - ptr as usize },
5285        0usize,
5286        concat!(
5287            "Offset of field: ",
5288            stringify!(flock),
5289            "::",
5290            stringify!(l_type)
5291        )
5292    );
5293    assert_eq!(
5294        unsafe { ::std::ptr::addr_of!((*ptr).l_whence) as usize - ptr as usize },
5295        2usize,
5296        concat!(
5297            "Offset of field: ",
5298            stringify!(flock),
5299            "::",
5300            stringify!(l_whence)
5301        )
5302    );
5303    assert_eq!(
5304        unsafe { ::std::ptr::addr_of!((*ptr).l_start) as usize - ptr as usize },
5305        4usize,
5306        concat!(
5307            "Offset of field: ",
5308            stringify!(flock),
5309            "::",
5310            stringify!(l_start)
5311        )
5312    );
5313    assert_eq!(
5314        unsafe { ::std::ptr::addr_of!((*ptr).l_len) as usize - ptr as usize },
5315        8usize,
5316        concat!(
5317            "Offset of field: ",
5318            stringify!(flock),
5319            "::",
5320            stringify!(l_len)
5321        )
5322    );
5323    assert_eq!(
5324        unsafe { ::std::ptr::addr_of!((*ptr).l_pid) as usize - ptr as usize },
5325        12usize,
5326        concat!(
5327            "Offset of field: ",
5328            stringify!(flock),
5329            "::",
5330            stringify!(l_pid)
5331        )
5332    );
5333}
5334#[repr(C)]
5335#[derive(Debug, Copy, Clone)]
5336pub struct flock64 {
5337    pub l_type: ::std::os::raw::c_short,
5338    pub l_whence: ::std::os::raw::c_short,
5339    pub l_start: off64_t,
5340    pub l_len: off64_t,
5341    pub l_pid: pid_t,
5342}
5343#[test]
5344fn bindgen_test_layout_flock64() {
5345    const UNINIT: ::std::mem::MaybeUninit<flock64> = ::std::mem::MaybeUninit::uninit();
5346    let ptr = UNINIT.as_ptr();
5347    assert_eq!(
5348        ::std::mem::size_of::<flock64>(),
5349        24usize,
5350        concat!("Size of: ", stringify!(flock64))
5351    );
5352    assert_eq!(
5353        ::std::mem::align_of::<flock64>(),
5354        4usize,
5355        concat!("Alignment of ", stringify!(flock64))
5356    );
5357    assert_eq!(
5358        unsafe { ::std::ptr::addr_of!((*ptr).l_type) as usize - ptr as usize },
5359        0usize,
5360        concat!(
5361            "Offset of field: ",
5362            stringify!(flock64),
5363            "::",
5364            stringify!(l_type)
5365        )
5366    );
5367    assert_eq!(
5368        unsafe { ::std::ptr::addr_of!((*ptr).l_whence) as usize - ptr as usize },
5369        2usize,
5370        concat!(
5371            "Offset of field: ",
5372            stringify!(flock64),
5373            "::",
5374            stringify!(l_whence)
5375        )
5376    );
5377    assert_eq!(
5378        unsafe { ::std::ptr::addr_of!((*ptr).l_start) as usize - ptr as usize },
5379        4usize,
5380        concat!(
5381            "Offset of field: ",
5382            stringify!(flock64),
5383            "::",
5384            stringify!(l_start)
5385        )
5386    );
5387    assert_eq!(
5388        unsafe { ::std::ptr::addr_of!((*ptr).l_len) as usize - ptr as usize },
5389        12usize,
5390        concat!(
5391            "Offset of field: ",
5392            stringify!(flock64),
5393            "::",
5394            stringify!(l_len)
5395        )
5396    );
5397    assert_eq!(
5398        unsafe { ::std::ptr::addr_of!((*ptr).l_pid) as usize - ptr as usize },
5399        20usize,
5400        concat!(
5401            "Offset of field: ",
5402            stringify!(flock64),
5403            "::",
5404            stringify!(l_pid)
5405        )
5406    );
5407}
5408#[repr(C)]
5409#[derive(Debug, Copy, Clone)]
5410pub struct f_owner_ex {
5411    pub type_: ::std::os::raw::c_int,
5412    pub pid: __kernel_pid_t,
5413}
5414#[test]
5415fn bindgen_test_layout_f_owner_ex() {
5416    const UNINIT: ::std::mem::MaybeUninit<f_owner_ex> = ::std::mem::MaybeUninit::uninit();
5417    let ptr = UNINIT.as_ptr();
5418    assert_eq!(
5419        ::std::mem::size_of::<f_owner_ex>(),
5420        8usize,
5421        concat!("Size of: ", stringify!(f_owner_ex))
5422    );
5423    assert_eq!(
5424        ::std::mem::align_of::<f_owner_ex>(),
5425        4usize,
5426        concat!("Alignment of ", stringify!(f_owner_ex))
5427    );
5428    assert_eq!(
5429        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
5430        0usize,
5431        concat!(
5432            "Offset of field: ",
5433            stringify!(f_owner_ex),
5434            "::",
5435            stringify!(type_)
5436        )
5437    );
5438    assert_eq!(
5439        unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
5440        4usize,
5441        concat!(
5442            "Offset of field: ",
5443            stringify!(f_owner_ex),
5444            "::",
5445            stringify!(pid)
5446        )
5447    );
5448}
5449#[repr(C)]
5450#[derive(Debug, Copy, Clone)]
5451pub struct iovec {
5452    pub iov_base: *mut ::std::os::raw::c_void,
5453    pub iov_len: __kernel_size_t,
5454}
5455#[test]
5456fn bindgen_test_layout_iovec() {
5457    const UNINIT: ::std::mem::MaybeUninit<iovec> = ::std::mem::MaybeUninit::uninit();
5458    let ptr = UNINIT.as_ptr();
5459    assert_eq!(
5460        ::std::mem::size_of::<iovec>(),
5461        8usize,
5462        concat!("Size of: ", stringify!(iovec))
5463    );
5464    assert_eq!(
5465        ::std::mem::align_of::<iovec>(),
5466        4usize,
5467        concat!("Alignment of ", stringify!(iovec))
5468    );
5469    assert_eq!(
5470        unsafe { ::std::ptr::addr_of!((*ptr).iov_base) as usize - ptr as usize },
5471        0usize,
5472        concat!(
5473            "Offset of field: ",
5474            stringify!(iovec),
5475            "::",
5476            stringify!(iov_base)
5477        )
5478    );
5479    assert_eq!(
5480        unsafe { ::std::ptr::addr_of!((*ptr).iov_len) as usize - ptr as usize },
5481        4usize,
5482        concat!(
5483            "Offset of field: ",
5484            stringify!(iovec),
5485            "::",
5486            stringify!(iov_len)
5487        )
5488    );
5489}
5490pub type sa_family_t = ::std::os::raw::c_ushort;
5491#[repr(C)]
5492#[derive(Copy, Clone)]
5493pub struct sockaddr_storage {
5494    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1,
5495}
5496#[repr(C)]
5497#[derive(Copy, Clone)]
5498pub union sockaddr_storage__bindgen_ty_1 {
5499    pub __bindgen_anon_1: sockaddr_storage__bindgen_ty_1__bindgen_ty_1,
5500    pub __align: *mut ::std::os::raw::c_void,
5501}
5502#[repr(C)]
5503#[derive(Debug, Copy, Clone)]
5504pub struct sockaddr_storage__bindgen_ty_1__bindgen_ty_1 {
5505    pub ss_family: sa_family_t,
5506    pub __data: [::std::os::raw::c_char; 126usize],
5507}
5508#[test]
5509fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1__bindgen_ty_1() {
5510    const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage__bindgen_ty_1__bindgen_ty_1> =
5511        ::std::mem::MaybeUninit::uninit();
5512    let ptr = UNINIT.as_ptr();
5513    assert_eq!(
5514        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
5515        128usize,
5516        concat!(
5517            "Size of: ",
5518            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
5519        )
5520    );
5521    assert_eq!(
5522        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1__bindgen_ty_1>(),
5523        2usize,
5524        concat!(
5525            "Alignment of ",
5526            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1)
5527        )
5528    );
5529    assert_eq!(
5530        unsafe { ::std::ptr::addr_of!((*ptr).ss_family) as usize - ptr as usize },
5531        0usize,
5532        concat!(
5533            "Offset of field: ",
5534            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
5535            "::",
5536            stringify!(ss_family)
5537        )
5538    );
5539    assert_eq!(
5540        unsafe { ::std::ptr::addr_of!((*ptr).__data) as usize - ptr as usize },
5541        2usize,
5542        concat!(
5543            "Offset of field: ",
5544            stringify!(sockaddr_storage__bindgen_ty_1__bindgen_ty_1),
5545            "::",
5546            stringify!(__data)
5547        )
5548    );
5549}
5550#[test]
5551fn bindgen_test_layout_sockaddr_storage__bindgen_ty_1() {
5552    const UNINIT: ::std::mem::MaybeUninit<sockaddr_storage__bindgen_ty_1> =
5553        ::std::mem::MaybeUninit::uninit();
5554    let ptr = UNINIT.as_ptr();
5555    assert_eq!(
5556        ::std::mem::size_of::<sockaddr_storage__bindgen_ty_1>(),
5557        128usize,
5558        concat!("Size of: ", stringify!(sockaddr_storage__bindgen_ty_1))
5559    );
5560    assert_eq!(
5561        ::std::mem::align_of::<sockaddr_storage__bindgen_ty_1>(),
5562        4usize,
5563        concat!("Alignment of ", stringify!(sockaddr_storage__bindgen_ty_1))
5564    );
5565    assert_eq!(
5566        unsafe { ::std::ptr::addr_of!((*ptr).__align) as usize - ptr as usize },
5567        0usize,
5568        concat!(
5569            "Offset of field: ",
5570            stringify!(sockaddr_storage__bindgen_ty_1),
5571            "::",
5572            stringify!(__align)
5573        )
5574    );
5575}
5576#[test]
5577fn bindgen_test_layout_sockaddr_storage() {
5578    assert_eq!(
5579        ::std::mem::size_of::<sockaddr_storage>(),
5580        128usize,
5581        concat!("Size of: ", stringify!(sockaddr_storage))
5582    );
5583    assert_eq!(
5584        ::std::mem::align_of::<sockaddr_storage>(),
5585        4usize,
5586        concat!("Alignment of ", stringify!(sockaddr_storage))
5587    );
5588}
5589pub const SHUT_RD: _bindgen_ty_32 = 0;
5590pub const SHUT_WR: _bindgen_ty_32 = 1;
5591pub const SHUT_RDWR: _bindgen_ty_32 = 2;
5592pub type _bindgen_ty_32 = ::std::os::raw::c_uint;
5593#[repr(C)]
5594#[derive(Debug, Copy, Clone)]
5595pub struct sockaddr {
5596    pub sa_family: sa_family_t,
5597    pub sa_data: [::std::os::raw::c_char; 14usize],
5598}
5599#[test]
5600fn bindgen_test_layout_sockaddr() {
5601    const UNINIT: ::std::mem::MaybeUninit<sockaddr> = ::std::mem::MaybeUninit::uninit();
5602    let ptr = UNINIT.as_ptr();
5603    assert_eq!(
5604        ::std::mem::size_of::<sockaddr>(),
5605        16usize,
5606        concat!("Size of: ", stringify!(sockaddr))
5607    );
5608    assert_eq!(
5609        ::std::mem::align_of::<sockaddr>(),
5610        2usize,
5611        concat!("Alignment of ", stringify!(sockaddr))
5612    );
5613    assert_eq!(
5614        unsafe { ::std::ptr::addr_of!((*ptr).sa_family) as usize - ptr as usize },
5615        0usize,
5616        concat!(
5617            "Offset of field: ",
5618            stringify!(sockaddr),
5619            "::",
5620            stringify!(sa_family)
5621        )
5622    );
5623    assert_eq!(
5624        unsafe { ::std::ptr::addr_of!((*ptr).sa_data) as usize - ptr as usize },
5625        2usize,
5626        concat!(
5627            "Offset of field: ",
5628            stringify!(sockaddr),
5629            "::",
5630            stringify!(sa_data)
5631        )
5632    );
5633}
5634#[repr(C)]
5635#[derive(Debug, Copy, Clone)]
5636pub struct linger {
5637    pub l_onoff: ::std::os::raw::c_int,
5638    pub l_linger: ::std::os::raw::c_int,
5639}
5640#[test]
5641fn bindgen_test_layout_linger() {
5642    const UNINIT: ::std::mem::MaybeUninit<linger> = ::std::mem::MaybeUninit::uninit();
5643    let ptr = UNINIT.as_ptr();
5644    assert_eq!(
5645        ::std::mem::size_of::<linger>(),
5646        8usize,
5647        concat!("Size of: ", stringify!(linger))
5648    );
5649    assert_eq!(
5650        ::std::mem::align_of::<linger>(),
5651        4usize,
5652        concat!("Alignment of ", stringify!(linger))
5653    );
5654    assert_eq!(
5655        unsafe { ::std::ptr::addr_of!((*ptr).l_onoff) as usize - ptr as usize },
5656        0usize,
5657        concat!(
5658            "Offset of field: ",
5659            stringify!(linger),
5660            "::",
5661            stringify!(l_onoff)
5662        )
5663    );
5664    assert_eq!(
5665        unsafe { ::std::ptr::addr_of!((*ptr).l_linger) as usize - ptr as usize },
5666        4usize,
5667        concat!(
5668            "Offset of field: ",
5669            stringify!(linger),
5670            "::",
5671            stringify!(l_linger)
5672        )
5673    );
5674}
5675#[repr(C)]
5676#[derive(Debug, Copy, Clone)]
5677pub struct msghdr {
5678    pub msg_name: *mut ::std::os::raw::c_void,
5679    pub msg_namelen: socklen_t,
5680    pub msg_iov: *mut iovec,
5681    pub msg_iovlen: usize,
5682    pub msg_control: *mut ::std::os::raw::c_void,
5683    pub msg_controllen: usize,
5684    pub msg_flags: ::std::os::raw::c_int,
5685}
5686#[test]
5687fn bindgen_test_layout_msghdr() {
5688    const UNINIT: ::std::mem::MaybeUninit<msghdr> = ::std::mem::MaybeUninit::uninit();
5689    let ptr = UNINIT.as_ptr();
5690    assert_eq!(
5691        ::std::mem::size_of::<msghdr>(),
5692        28usize,
5693        concat!("Size of: ", stringify!(msghdr))
5694    );
5695    assert_eq!(
5696        ::std::mem::align_of::<msghdr>(),
5697        4usize,
5698        concat!("Alignment of ", stringify!(msghdr))
5699    );
5700    assert_eq!(
5701        unsafe { ::std::ptr::addr_of!((*ptr).msg_name) as usize - ptr as usize },
5702        0usize,
5703        concat!(
5704            "Offset of field: ",
5705            stringify!(msghdr),
5706            "::",
5707            stringify!(msg_name)
5708        )
5709    );
5710    assert_eq!(
5711        unsafe { ::std::ptr::addr_of!((*ptr).msg_namelen) as usize - ptr as usize },
5712        4usize,
5713        concat!(
5714            "Offset of field: ",
5715            stringify!(msghdr),
5716            "::",
5717            stringify!(msg_namelen)
5718        )
5719    );
5720    assert_eq!(
5721        unsafe { ::std::ptr::addr_of!((*ptr).msg_iov) as usize - ptr as usize },
5722        8usize,
5723        concat!(
5724            "Offset of field: ",
5725            stringify!(msghdr),
5726            "::",
5727            stringify!(msg_iov)
5728        )
5729    );
5730    assert_eq!(
5731        unsafe { ::std::ptr::addr_of!((*ptr).msg_iovlen) as usize - ptr as usize },
5732        12usize,
5733        concat!(
5734            "Offset of field: ",
5735            stringify!(msghdr),
5736            "::",
5737            stringify!(msg_iovlen)
5738        )
5739    );
5740    assert_eq!(
5741        unsafe { ::std::ptr::addr_of!((*ptr).msg_control) as usize - ptr as usize },
5742        16usize,
5743        concat!(
5744            "Offset of field: ",
5745            stringify!(msghdr),
5746            "::",
5747            stringify!(msg_control)
5748        )
5749    );
5750    assert_eq!(
5751        unsafe { ::std::ptr::addr_of!((*ptr).msg_controllen) as usize - ptr as usize },
5752        20usize,
5753        concat!(
5754            "Offset of field: ",
5755            stringify!(msghdr),
5756            "::",
5757            stringify!(msg_controllen)
5758        )
5759    );
5760    assert_eq!(
5761        unsafe { ::std::ptr::addr_of!((*ptr).msg_flags) as usize - ptr as usize },
5762        24usize,
5763        concat!(
5764            "Offset of field: ",
5765            stringify!(msghdr),
5766            "::",
5767            stringify!(msg_flags)
5768        )
5769    );
5770}
5771#[repr(C)]
5772#[derive(Debug, Copy, Clone)]
5773pub struct mmsghdr {
5774    pub msg_hdr: msghdr,
5775    pub msg_len: ::std::os::raw::c_uint,
5776}
5777#[test]
5778fn bindgen_test_layout_mmsghdr() {
5779    const UNINIT: ::std::mem::MaybeUninit<mmsghdr> = ::std::mem::MaybeUninit::uninit();
5780    let ptr = UNINIT.as_ptr();
5781    assert_eq!(
5782        ::std::mem::size_of::<mmsghdr>(),
5783        32usize,
5784        concat!("Size of: ", stringify!(mmsghdr))
5785    );
5786    assert_eq!(
5787        ::std::mem::align_of::<mmsghdr>(),
5788        4usize,
5789        concat!("Alignment of ", stringify!(mmsghdr))
5790    );
5791    assert_eq!(
5792        unsafe { ::std::ptr::addr_of!((*ptr).msg_hdr) as usize - ptr as usize },
5793        0usize,
5794        concat!(
5795            "Offset of field: ",
5796            stringify!(mmsghdr),
5797            "::",
5798            stringify!(msg_hdr)
5799        )
5800    );
5801    assert_eq!(
5802        unsafe { ::std::ptr::addr_of!((*ptr).msg_len) as usize - ptr as usize },
5803        28usize,
5804        concat!(
5805            "Offset of field: ",
5806            stringify!(mmsghdr),
5807            "::",
5808            stringify!(msg_len)
5809        )
5810    );
5811}
5812#[repr(C)]
5813#[derive(Debug, Copy, Clone)]
5814pub struct cmsghdr {
5815    pub cmsg_len: usize,
5816    pub cmsg_level: ::std::os::raw::c_int,
5817    pub cmsg_type: ::std::os::raw::c_int,
5818}
5819#[test]
5820fn bindgen_test_layout_cmsghdr() {
5821    const UNINIT: ::std::mem::MaybeUninit<cmsghdr> = ::std::mem::MaybeUninit::uninit();
5822    let ptr = UNINIT.as_ptr();
5823    assert_eq!(
5824        ::std::mem::size_of::<cmsghdr>(),
5825        12usize,
5826        concat!("Size of: ", stringify!(cmsghdr))
5827    );
5828    assert_eq!(
5829        ::std::mem::align_of::<cmsghdr>(),
5830        4usize,
5831        concat!("Alignment of ", stringify!(cmsghdr))
5832    );
5833    assert_eq!(
5834        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_len) as usize - ptr as usize },
5835        0usize,
5836        concat!(
5837            "Offset of field: ",
5838            stringify!(cmsghdr),
5839            "::",
5840            stringify!(cmsg_len)
5841        )
5842    );
5843    assert_eq!(
5844        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_level) as usize - ptr as usize },
5845        4usize,
5846        concat!(
5847            "Offset of field: ",
5848            stringify!(cmsghdr),
5849            "::",
5850            stringify!(cmsg_level)
5851        )
5852    );
5853    assert_eq!(
5854        unsafe { ::std::ptr::addr_of!((*ptr).cmsg_type) as usize - ptr as usize },
5855        8usize,
5856        concat!(
5857            "Offset of field: ",
5858            stringify!(cmsghdr),
5859            "::",
5860            stringify!(cmsg_type)
5861        )
5862    );
5863}
5864extern "C" {
5865    pub fn __cmsg_nxthdr(__msg: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
5866}
5867#[repr(C)]
5868#[derive(Debug, Copy, Clone)]
5869pub struct ucred {
5870    pub pid: pid_t,
5871    pub uid: uid_t,
5872    pub gid: gid_t,
5873}
5874#[test]
5875fn bindgen_test_layout_ucred() {
5876    const UNINIT: ::std::mem::MaybeUninit<ucred> = ::std::mem::MaybeUninit::uninit();
5877    let ptr = UNINIT.as_ptr();
5878    assert_eq!(
5879        ::std::mem::size_of::<ucred>(),
5880        12usize,
5881        concat!("Size of: ", stringify!(ucred))
5882    );
5883    assert_eq!(
5884        ::std::mem::align_of::<ucred>(),
5885        4usize,
5886        concat!("Alignment of ", stringify!(ucred))
5887    );
5888    assert_eq!(
5889        unsafe { ::std::ptr::addr_of!((*ptr).pid) as usize - ptr as usize },
5890        0usize,
5891        concat!(
5892            "Offset of field: ",
5893            stringify!(ucred),
5894            "::",
5895            stringify!(pid)
5896        )
5897    );
5898    assert_eq!(
5899        unsafe { ::std::ptr::addr_of!((*ptr).uid) as usize - ptr as usize },
5900        4usize,
5901        concat!(
5902            "Offset of field: ",
5903            stringify!(ucred),
5904            "::",
5905            stringify!(uid)
5906        )
5907    );
5908    assert_eq!(
5909        unsafe { ::std::ptr::addr_of!((*ptr).gid) as usize - ptr as usize },
5910        8usize,
5911        concat!(
5912            "Offset of field: ",
5913            stringify!(ucred),
5914            "::",
5915            stringify!(gid)
5916        )
5917    );
5918}
5919extern "C" {
5920    pub fn accept(
5921        __fd: ::std::os::raw::c_int,
5922        __addr: *mut sockaddr,
5923        __addr_length: *mut socklen_t,
5924    ) -> ::std::os::raw::c_int;
5925}
5926extern "C" {
5927    pub fn accept4(
5928        __fd: ::std::os::raw::c_int,
5929        __addr: *mut sockaddr,
5930        __addr_length: *mut socklen_t,
5931        __flags: ::std::os::raw::c_int,
5932    ) -> ::std::os::raw::c_int;
5933}
5934extern "C" {
5935    pub fn bind(
5936        __fd: ::std::os::raw::c_int,
5937        __addr: *const sockaddr,
5938        __addr_length: socklen_t,
5939    ) -> ::std::os::raw::c_int;
5940}
5941extern "C" {
5942    pub fn connect(
5943        __fd: ::std::os::raw::c_int,
5944        __addr: *const sockaddr,
5945        __addr_length: socklen_t,
5946    ) -> ::std::os::raw::c_int;
5947}
5948extern "C" {
5949    pub fn getpeername(
5950        __fd: ::std::os::raw::c_int,
5951        __addr: *mut sockaddr,
5952        __addr_length: *mut socklen_t,
5953    ) -> ::std::os::raw::c_int;
5954}
5955extern "C" {
5956    pub fn getsockname(
5957        __fd: ::std::os::raw::c_int,
5958        __addr: *mut sockaddr,
5959        __addr_length: *mut socklen_t,
5960    ) -> ::std::os::raw::c_int;
5961}
5962extern "C" {
5963    pub fn getsockopt(
5964        __fd: ::std::os::raw::c_int,
5965        __level: ::std::os::raw::c_int,
5966        __option: ::std::os::raw::c_int,
5967        __value: *mut ::std::os::raw::c_void,
5968        __value_length: *mut socklen_t,
5969    ) -> ::std::os::raw::c_int;
5970}
5971extern "C" {
5972    pub fn listen(
5973        __fd: ::std::os::raw::c_int,
5974        __backlog: ::std::os::raw::c_int,
5975    ) -> ::std::os::raw::c_int;
5976}
5977extern "C" {
5978    pub fn recvmmsg(
5979        __fd: ::std::os::raw::c_int,
5980        __msgs: *mut mmsghdr,
5981        __msg_count: ::std::os::raw::c_uint,
5982        __flags: ::std::os::raw::c_int,
5983        __timeout: *const timespec,
5984    ) -> ::std::os::raw::c_int;
5985}
5986extern "C" {
5987    pub fn recvmsg(
5988        __fd: ::std::os::raw::c_int,
5989        __msg: *mut msghdr,
5990        __flags: ::std::os::raw::c_int,
5991    ) -> isize;
5992}
5993extern "C" {
5994    pub fn sendmmsg(
5995        __fd: ::std::os::raw::c_int,
5996        __msgs: *const mmsghdr,
5997        __msg_count: ::std::os::raw::c_uint,
5998        __flags: ::std::os::raw::c_int,
5999    ) -> ::std::os::raw::c_int;
6000}
6001extern "C" {
6002    pub fn sendmsg(
6003        __fd: ::std::os::raw::c_int,
6004        __msg: *const msghdr,
6005        __flags: ::std::os::raw::c_int,
6006    ) -> isize;
6007}
6008extern "C" {
6009    pub fn setsockopt(
6010        __fd: ::std::os::raw::c_int,
6011        __level: ::std::os::raw::c_int,
6012        __option: ::std::os::raw::c_int,
6013        __value: *const ::std::os::raw::c_void,
6014        __value_length: socklen_t,
6015    ) -> ::std::os::raw::c_int;
6016}
6017extern "C" {
6018    pub fn shutdown(
6019        __fd: ::std::os::raw::c_int,
6020        __how: ::std::os::raw::c_int,
6021    ) -> ::std::os::raw::c_int;
6022}
6023extern "C" {
6024    pub fn socket(
6025        __af: ::std::os::raw::c_int,
6026        __type: ::std::os::raw::c_int,
6027        __protocol: ::std::os::raw::c_int,
6028    ) -> ::std::os::raw::c_int;
6029}
6030extern "C" {
6031    pub fn socketpair(
6032        __af: ::std::os::raw::c_int,
6033        __type: ::std::os::raw::c_int,
6034        __protocol: ::std::os::raw::c_int,
6035        __fds: *mut ::std::os::raw::c_int,
6036    ) -> ::std::os::raw::c_int;
6037}
6038extern "C" {
6039    pub fn recv(
6040        __fd: ::std::os::raw::c_int,
6041        __buf: *mut ::std::os::raw::c_void,
6042        __n: usize,
6043        __flags: ::std::os::raw::c_int,
6044    ) -> isize;
6045}
6046extern "C" {
6047    pub fn send(
6048        __fd: ::std::os::raw::c_int,
6049        __buf: *const ::std::os::raw::c_void,
6050        __n: usize,
6051        __flags: ::std::os::raw::c_int,
6052    ) -> isize;
6053}
6054extern "C" {
6055    pub fn sendto(
6056        __fd: ::std::os::raw::c_int,
6057        __buf: *const ::std::os::raw::c_void,
6058        __n: usize,
6059        __flags: ::std::os::raw::c_int,
6060        __dst_addr: *const sockaddr,
6061        __dst_addr_length: socklen_t,
6062    ) -> isize;
6063}
6064extern "C" {
6065    pub fn recvfrom(
6066        __fd: ::std::os::raw::c_int,
6067        __buf: *mut ::std::os::raw::c_void,
6068        __n: usize,
6069        __flags: ::std::os::raw::c_int,
6070        __src_addr: *mut sockaddr,
6071        __src_addr_length: *mut socklen_t,
6072    ) -> isize;
6073}
6074#[repr(C)]
6075#[derive(Debug, Copy, Clone)]
6076pub struct hostent {
6077    pub h_name: *mut ::std::os::raw::c_char,
6078    pub h_aliases: *mut *mut ::std::os::raw::c_char,
6079    pub h_addrtype: ::std::os::raw::c_int,
6080    pub h_length: ::std::os::raw::c_int,
6081    pub h_addr_list: *mut *mut ::std::os::raw::c_char,
6082}
6083#[test]
6084fn bindgen_test_layout_hostent() {
6085    const UNINIT: ::std::mem::MaybeUninit<hostent> = ::std::mem::MaybeUninit::uninit();
6086    let ptr = UNINIT.as_ptr();
6087    assert_eq!(
6088        ::std::mem::size_of::<hostent>(),
6089        20usize,
6090        concat!("Size of: ", stringify!(hostent))
6091    );
6092    assert_eq!(
6093        ::std::mem::align_of::<hostent>(),
6094        4usize,
6095        concat!("Alignment of ", stringify!(hostent))
6096    );
6097    assert_eq!(
6098        unsafe { ::std::ptr::addr_of!((*ptr).h_name) as usize - ptr as usize },
6099        0usize,
6100        concat!(
6101            "Offset of field: ",
6102            stringify!(hostent),
6103            "::",
6104            stringify!(h_name)
6105        )
6106    );
6107    assert_eq!(
6108        unsafe { ::std::ptr::addr_of!((*ptr).h_aliases) as usize - ptr as usize },
6109        4usize,
6110        concat!(
6111            "Offset of field: ",
6112            stringify!(hostent),
6113            "::",
6114            stringify!(h_aliases)
6115        )
6116    );
6117    assert_eq!(
6118        unsafe { ::std::ptr::addr_of!((*ptr).h_addrtype) as usize - ptr as usize },
6119        8usize,
6120        concat!(
6121            "Offset of field: ",
6122            stringify!(hostent),
6123            "::",
6124            stringify!(h_addrtype)
6125        )
6126    );
6127    assert_eq!(
6128        unsafe { ::std::ptr::addr_of!((*ptr).h_length) as usize - ptr as usize },
6129        12usize,
6130        concat!(
6131            "Offset of field: ",
6132            stringify!(hostent),
6133            "::",
6134            stringify!(h_length)
6135        )
6136    );
6137    assert_eq!(
6138        unsafe { ::std::ptr::addr_of!((*ptr).h_addr_list) as usize - ptr as usize },
6139        16usize,
6140        concat!(
6141            "Offset of field: ",
6142            stringify!(hostent),
6143            "::",
6144            stringify!(h_addr_list)
6145        )
6146    );
6147}
6148#[repr(C)]
6149#[derive(Debug, Copy, Clone)]
6150pub struct netent {
6151    pub n_name: *mut ::std::os::raw::c_char,
6152    pub n_aliases: *mut *mut ::std::os::raw::c_char,
6153    pub n_addrtype: ::std::os::raw::c_int,
6154    pub n_net: u32,
6155}
6156#[test]
6157fn bindgen_test_layout_netent() {
6158    const UNINIT: ::std::mem::MaybeUninit<netent> = ::std::mem::MaybeUninit::uninit();
6159    let ptr = UNINIT.as_ptr();
6160    assert_eq!(
6161        ::std::mem::size_of::<netent>(),
6162        16usize,
6163        concat!("Size of: ", stringify!(netent))
6164    );
6165    assert_eq!(
6166        ::std::mem::align_of::<netent>(),
6167        4usize,
6168        concat!("Alignment of ", stringify!(netent))
6169    );
6170    assert_eq!(
6171        unsafe { ::std::ptr::addr_of!((*ptr).n_name) as usize - ptr as usize },
6172        0usize,
6173        concat!(
6174            "Offset of field: ",
6175            stringify!(netent),
6176            "::",
6177            stringify!(n_name)
6178        )
6179    );
6180    assert_eq!(
6181        unsafe { ::std::ptr::addr_of!((*ptr).n_aliases) as usize - ptr as usize },
6182        4usize,
6183        concat!(
6184            "Offset of field: ",
6185            stringify!(netent),
6186            "::",
6187            stringify!(n_aliases)
6188        )
6189    );
6190    assert_eq!(
6191        unsafe { ::std::ptr::addr_of!((*ptr).n_addrtype) as usize - ptr as usize },
6192        8usize,
6193        concat!(
6194            "Offset of field: ",
6195            stringify!(netent),
6196            "::",
6197            stringify!(n_addrtype)
6198        )
6199    );
6200    assert_eq!(
6201        unsafe { ::std::ptr::addr_of!((*ptr).n_net) as usize - ptr as usize },
6202        12usize,
6203        concat!(
6204            "Offset of field: ",
6205            stringify!(netent),
6206            "::",
6207            stringify!(n_net)
6208        )
6209    );
6210}
6211#[repr(C)]
6212#[derive(Debug, Copy, Clone)]
6213pub struct servent {
6214    pub s_name: *mut ::std::os::raw::c_char,
6215    pub s_aliases: *mut *mut ::std::os::raw::c_char,
6216    pub s_port: ::std::os::raw::c_int,
6217    pub s_proto: *mut ::std::os::raw::c_char,
6218}
6219#[test]
6220fn bindgen_test_layout_servent() {
6221    const UNINIT: ::std::mem::MaybeUninit<servent> = ::std::mem::MaybeUninit::uninit();
6222    let ptr = UNINIT.as_ptr();
6223    assert_eq!(
6224        ::std::mem::size_of::<servent>(),
6225        16usize,
6226        concat!("Size of: ", stringify!(servent))
6227    );
6228    assert_eq!(
6229        ::std::mem::align_of::<servent>(),
6230        4usize,
6231        concat!("Alignment of ", stringify!(servent))
6232    );
6233    assert_eq!(
6234        unsafe { ::std::ptr::addr_of!((*ptr).s_name) as usize - ptr as usize },
6235        0usize,
6236        concat!(
6237            "Offset of field: ",
6238            stringify!(servent),
6239            "::",
6240            stringify!(s_name)
6241        )
6242    );
6243    assert_eq!(
6244        unsafe { ::std::ptr::addr_of!((*ptr).s_aliases) as usize - ptr as usize },
6245        4usize,
6246        concat!(
6247            "Offset of field: ",
6248            stringify!(servent),
6249            "::",
6250            stringify!(s_aliases)
6251        )
6252    );
6253    assert_eq!(
6254        unsafe { ::std::ptr::addr_of!((*ptr).s_port) as usize - ptr as usize },
6255        8usize,
6256        concat!(
6257            "Offset of field: ",
6258            stringify!(servent),
6259            "::",
6260            stringify!(s_port)
6261        )
6262    );
6263    assert_eq!(
6264        unsafe { ::std::ptr::addr_of!((*ptr).s_proto) as usize - ptr as usize },
6265        12usize,
6266        concat!(
6267            "Offset of field: ",
6268            stringify!(servent),
6269            "::",
6270            stringify!(s_proto)
6271        )
6272    );
6273}
6274#[repr(C)]
6275#[derive(Debug, Copy, Clone)]
6276pub struct protoent {
6277    pub p_name: *mut ::std::os::raw::c_char,
6278    pub p_aliases: *mut *mut ::std::os::raw::c_char,
6279    pub p_proto: ::std::os::raw::c_int,
6280}
6281#[test]
6282fn bindgen_test_layout_protoent() {
6283    const UNINIT: ::std::mem::MaybeUninit<protoent> = ::std::mem::MaybeUninit::uninit();
6284    let ptr = UNINIT.as_ptr();
6285    assert_eq!(
6286        ::std::mem::size_of::<protoent>(),
6287        12usize,
6288        concat!("Size of: ", stringify!(protoent))
6289    );
6290    assert_eq!(
6291        ::std::mem::align_of::<protoent>(),
6292        4usize,
6293        concat!("Alignment of ", stringify!(protoent))
6294    );
6295    assert_eq!(
6296        unsafe { ::std::ptr::addr_of!((*ptr).p_name) as usize - ptr as usize },
6297        0usize,
6298        concat!(
6299            "Offset of field: ",
6300            stringify!(protoent),
6301            "::",
6302            stringify!(p_name)
6303        )
6304    );
6305    assert_eq!(
6306        unsafe { ::std::ptr::addr_of!((*ptr).p_aliases) as usize - ptr as usize },
6307        4usize,
6308        concat!(
6309            "Offset of field: ",
6310            stringify!(protoent),
6311            "::",
6312            stringify!(p_aliases)
6313        )
6314    );
6315    assert_eq!(
6316        unsafe { ::std::ptr::addr_of!((*ptr).p_proto) as usize - ptr as usize },
6317        8usize,
6318        concat!(
6319            "Offset of field: ",
6320            stringify!(protoent),
6321            "::",
6322            stringify!(p_proto)
6323        )
6324    );
6325}
6326#[repr(C)]
6327#[derive(Debug, Copy, Clone)]
6328pub struct addrinfo {
6329    pub ai_flags: ::std::os::raw::c_int,
6330    pub ai_family: ::std::os::raw::c_int,
6331    pub ai_socktype: ::std::os::raw::c_int,
6332    pub ai_protocol: ::std::os::raw::c_int,
6333    pub ai_addrlen: socklen_t,
6334    pub ai_canonname: *mut ::std::os::raw::c_char,
6335    pub ai_addr: *mut sockaddr,
6336    pub ai_next: *mut addrinfo,
6337}
6338#[test]
6339fn bindgen_test_layout_addrinfo() {
6340    const UNINIT: ::std::mem::MaybeUninit<addrinfo> = ::std::mem::MaybeUninit::uninit();
6341    let ptr = UNINIT.as_ptr();
6342    assert_eq!(
6343        ::std::mem::size_of::<addrinfo>(),
6344        32usize,
6345        concat!("Size of: ", stringify!(addrinfo))
6346    );
6347    assert_eq!(
6348        ::std::mem::align_of::<addrinfo>(),
6349        4usize,
6350        concat!("Alignment of ", stringify!(addrinfo))
6351    );
6352    assert_eq!(
6353        unsafe { ::std::ptr::addr_of!((*ptr).ai_flags) as usize - ptr as usize },
6354        0usize,
6355        concat!(
6356            "Offset of field: ",
6357            stringify!(addrinfo),
6358            "::",
6359            stringify!(ai_flags)
6360        )
6361    );
6362    assert_eq!(
6363        unsafe { ::std::ptr::addr_of!((*ptr).ai_family) as usize - ptr as usize },
6364        4usize,
6365        concat!(
6366            "Offset of field: ",
6367            stringify!(addrinfo),
6368            "::",
6369            stringify!(ai_family)
6370        )
6371    );
6372    assert_eq!(
6373        unsafe { ::std::ptr::addr_of!((*ptr).ai_socktype) as usize - ptr as usize },
6374        8usize,
6375        concat!(
6376            "Offset of field: ",
6377            stringify!(addrinfo),
6378            "::",
6379            stringify!(ai_socktype)
6380        )
6381    );
6382    assert_eq!(
6383        unsafe { ::std::ptr::addr_of!((*ptr).ai_protocol) as usize - ptr as usize },
6384        12usize,
6385        concat!(
6386            "Offset of field: ",
6387            stringify!(addrinfo),
6388            "::",
6389            stringify!(ai_protocol)
6390        )
6391    );
6392    assert_eq!(
6393        unsafe { ::std::ptr::addr_of!((*ptr).ai_addrlen) as usize - ptr as usize },
6394        16usize,
6395        concat!(
6396            "Offset of field: ",
6397            stringify!(addrinfo),
6398            "::",
6399            stringify!(ai_addrlen)
6400        )
6401    );
6402    assert_eq!(
6403        unsafe { ::std::ptr::addr_of!((*ptr).ai_canonname) as usize - ptr as usize },
6404        20usize,
6405        concat!(
6406            "Offset of field: ",
6407            stringify!(addrinfo),
6408            "::",
6409            stringify!(ai_canonname)
6410        )
6411    );
6412    assert_eq!(
6413        unsafe { ::std::ptr::addr_of!((*ptr).ai_addr) as usize - ptr as usize },
6414        24usize,
6415        concat!(
6416            "Offset of field: ",
6417            stringify!(addrinfo),
6418            "::",
6419            stringify!(ai_addr)
6420        )
6421    );
6422    assert_eq!(
6423        unsafe { ::std::ptr::addr_of!((*ptr).ai_next) as usize - ptr as usize },
6424        28usize,
6425        concat!(
6426            "Offset of field: ",
6427            stringify!(addrinfo),
6428            "::",
6429            stringify!(ai_next)
6430        )
6431    );
6432}
6433extern "C" {
6434    pub fn getaddrinfo(
6435        __node: *const ::std::os::raw::c_char,
6436        __service: *const ::std::os::raw::c_char,
6437        __hints: *const addrinfo,
6438        __result: *mut *mut addrinfo,
6439    ) -> ::std::os::raw::c_int;
6440}
6441extern "C" {
6442    pub fn freeaddrinfo(__ptr: *mut addrinfo);
6443}
6444extern "C" {
6445    pub fn getnameinfo(
6446        __sa: *const sockaddr,
6447        __sa_length: socklen_t,
6448        __host: *mut ::std::os::raw::c_char,
6449        __host_length: usize,
6450        __service: *mut ::std::os::raw::c_char,
6451        __service_length: usize,
6452        __flags: ::std::os::raw::c_int,
6453    ) -> ::std::os::raw::c_int;
6454}
6455extern "C" {
6456    pub fn gai_strerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6457}
6458extern "C" {
6459    pub fn __get_h_errno() -> *mut ::std::os::raw::c_int;
6460}
6461extern "C" {
6462    pub fn herror(__s: *const ::std::os::raw::c_char);
6463}
6464extern "C" {
6465    pub fn hstrerror(__error: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6466}
6467extern "C" {
6468    pub fn gethostbyaddr(
6469        __addr: *const ::std::os::raw::c_void,
6470        __length: socklen_t,
6471        __type: ::std::os::raw::c_int,
6472    ) -> *mut hostent;
6473}
6474extern "C" {
6475    pub fn gethostbyaddr_r(
6476        __addr: *const ::std::os::raw::c_void,
6477        __length: socklen_t,
6478        __type: ::std::os::raw::c_int,
6479        __ret: *mut hostent,
6480        __buf: *mut ::std::os::raw::c_char,
6481        __buf_size: usize,
6482        __result: *mut *mut hostent,
6483        __h_errno_ptr: *mut ::std::os::raw::c_int,
6484    ) -> ::std::os::raw::c_int;
6485}
6486extern "C" {
6487    pub fn gethostbyname(__name: *const ::std::os::raw::c_char) -> *mut hostent;
6488}
6489extern "C" {
6490    pub fn gethostbyname_r(
6491        __name: *const ::std::os::raw::c_char,
6492        __ret: *mut hostent,
6493        __buf: *mut ::std::os::raw::c_char,
6494        __buf_size: usize,
6495        __result: *mut *mut hostent,
6496        __h_errno_ptr: *mut ::std::os::raw::c_int,
6497    ) -> ::std::os::raw::c_int;
6498}
6499extern "C" {
6500    pub fn gethostbyname2(
6501        __name: *const ::std::os::raw::c_char,
6502        __af: ::std::os::raw::c_int,
6503    ) -> *mut hostent;
6504}
6505extern "C" {
6506    pub fn gethostbyname2_r(
6507        __name: *const ::std::os::raw::c_char,
6508        __af: ::std::os::raw::c_int,
6509        __ret: *mut hostent,
6510        __buf: *mut ::std::os::raw::c_char,
6511        __buf_size: usize,
6512        __result: *mut *mut hostent,
6513        __h_errno_ptr: *mut ::std::os::raw::c_int,
6514    ) -> ::std::os::raw::c_int;
6515}
6516extern "C" {
6517    pub fn endhostent();
6518}
6519extern "C" {
6520    pub fn gethostent() -> *mut hostent;
6521}
6522extern "C" {
6523    pub fn sethostent(__stay_open: ::std::os::raw::c_int);
6524}
6525extern "C" {
6526    pub fn endnetent();
6527}
6528extern "C" {
6529    pub fn getnetbyaddr(__net: u32, __type: ::std::os::raw::c_int) -> *mut netent;
6530}
6531extern "C" {
6532    pub fn getnetbyname(__name: *const ::std::os::raw::c_char) -> *mut netent;
6533}
6534extern "C" {
6535    pub fn getnetent() -> *mut netent;
6536}
6537extern "C" {
6538    pub fn setnetent(__stay_open: ::std::os::raw::c_int);
6539}
6540extern "C" {
6541    pub fn endprotoent();
6542}
6543extern "C" {
6544    pub fn getprotobyname(__name: *const ::std::os::raw::c_char) -> *mut protoent;
6545}
6546extern "C" {
6547    pub fn getprotobynumber(__proto: ::std::os::raw::c_int) -> *mut protoent;
6548}
6549extern "C" {
6550    pub fn getprotoent() -> *mut protoent;
6551}
6552extern "C" {
6553    pub fn setprotoent(__stay_open: ::std::os::raw::c_int);
6554}
6555extern "C" {
6556    pub fn endservent();
6557}
6558extern "C" {
6559    pub fn getservbyname(
6560        __name: *const ::std::os::raw::c_char,
6561        __proto: *const ::std::os::raw::c_char,
6562    ) -> *mut servent;
6563}
6564extern "C" {
6565    pub fn getservbyport(
6566        __port_in_network_order: ::std::os::raw::c_int,
6567        __proto: *const ::std::os::raw::c_char,
6568    ) -> *mut servent;
6569}
6570extern "C" {
6571    pub fn getservent() -> *mut servent;
6572}
6573extern "C" {
6574    pub fn setservent(__stay_open: ::std::os::raw::c_int);
6575}
6576pub type fpos_t = off_t;
6577pub type fpos64_t = off64_t;
6578#[repr(C)]
6579#[derive(Debug, Copy, Clone)]
6580pub struct __sFILE {
6581    _unused: [u8; 0],
6582}
6583pub type FILE = __sFILE;
6584extern "C" {
6585    pub static mut stdin: *mut FILE;
6586}
6587extern "C" {
6588    pub static mut stdout: *mut FILE;
6589}
6590extern "C" {
6591    pub static mut stderr: *mut FILE;
6592}
6593extern "C" {
6594    pub fn clearerr(__fp: *mut FILE);
6595}
6596extern "C" {
6597    pub fn fclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
6598}
6599extern "C" {
6600    pub fn feof(__fp: *mut FILE) -> ::std::os::raw::c_int;
6601}
6602extern "C" {
6603    pub fn ferror(__fp: *mut FILE) -> ::std::os::raw::c_int;
6604}
6605extern "C" {
6606    pub fn fflush(__fp: *mut FILE) -> ::std::os::raw::c_int;
6607}
6608extern "C" {
6609    pub fn fgetc(__fp: *mut FILE) -> ::std::os::raw::c_int;
6610}
6611extern "C" {
6612    pub fn fgets(
6613        __buf: *mut ::std::os::raw::c_char,
6614        __size: ::std::os::raw::c_int,
6615        __fp: *mut FILE,
6616    ) -> *mut ::std::os::raw::c_char;
6617}
6618extern "C" {
6619    pub fn fprintf(
6620        __fp: *mut FILE,
6621        __fmt: *const ::std::os::raw::c_char,
6622        ...
6623    ) -> ::std::os::raw::c_int;
6624}
6625extern "C" {
6626    pub fn fputc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6627}
6628extern "C" {
6629    pub fn fputs(__s: *const ::std::os::raw::c_char, __fp: *mut FILE) -> ::std::os::raw::c_int;
6630}
6631extern "C" {
6632    pub fn fread(
6633        __buf: *mut ::std::os::raw::c_void,
6634        __size: ::std::os::raw::c_uint,
6635        __count: ::std::os::raw::c_uint,
6636        __fp: *mut FILE,
6637    ) -> ::std::os::raw::c_uint;
6638}
6639extern "C" {
6640    pub fn fscanf(
6641        __fp: *mut FILE,
6642        __fmt: *const ::std::os::raw::c_char,
6643        ...
6644    ) -> ::std::os::raw::c_int;
6645}
6646extern "C" {
6647    pub fn fwrite(
6648        __buf: *const ::std::os::raw::c_void,
6649        __size: ::std::os::raw::c_uint,
6650        __count: ::std::os::raw::c_uint,
6651        __fp: *mut FILE,
6652    ) -> ::std::os::raw::c_uint;
6653}
6654extern "C" {
6655    pub fn getc(__fp: *mut FILE) -> ::std::os::raw::c_int;
6656}
6657extern "C" {
6658    pub fn getchar() -> ::std::os::raw::c_int;
6659}
6660extern "C" {
6661    pub fn getdelim(
6662        __line_ptr: *mut *mut ::std::os::raw::c_char,
6663        __line_length_ptr: *mut usize,
6664        __delimiter: ::std::os::raw::c_int,
6665        __fp: *mut FILE,
6666    ) -> isize;
6667}
6668extern "C" {
6669    pub fn getline(
6670        __line_ptr: *mut *mut ::std::os::raw::c_char,
6671        __line_length_ptr: *mut usize,
6672        __fp: *mut FILE,
6673    ) -> isize;
6674}
6675extern "C" {
6676    pub fn perror(__msg: *const ::std::os::raw::c_char);
6677}
6678extern "C" {
6679    pub fn printf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
6680}
6681extern "C" {
6682    pub fn putc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6683}
6684extern "C" {
6685    pub fn putchar(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6686}
6687extern "C" {
6688    pub fn puts(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6689}
6690extern "C" {
6691    pub fn remove(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6692}
6693extern "C" {
6694    pub fn rewind(__fp: *mut FILE);
6695}
6696extern "C" {
6697    pub fn scanf(__fmt: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
6698}
6699extern "C" {
6700    pub fn setbuf(__fp: *mut FILE, __buf: *mut ::std::os::raw::c_char);
6701}
6702extern "C" {
6703    pub fn setvbuf(
6704        __fp: *mut FILE,
6705        __buf: *mut ::std::os::raw::c_char,
6706        __mode: ::std::os::raw::c_int,
6707        __size: usize,
6708    ) -> ::std::os::raw::c_int;
6709}
6710extern "C" {
6711    pub fn sscanf(
6712        __s: *const ::std::os::raw::c_char,
6713        __fmt: *const ::std::os::raw::c_char,
6714        ...
6715    ) -> ::std::os::raw::c_int;
6716}
6717extern "C" {
6718    pub fn ungetc(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6719}
6720extern "C" {
6721    pub fn vfprintf(
6722        __fp: *mut FILE,
6723        __fmt: *const ::std::os::raw::c_char,
6724        __args: __builtin_va_list,
6725    ) -> ::std::os::raw::c_int;
6726}
6727extern "C" {
6728    pub fn vprintf(
6729        __fp: *const ::std::os::raw::c_char,
6730        __args: __builtin_va_list,
6731    ) -> ::std::os::raw::c_int;
6732}
6733extern "C" {
6734    pub fn dprintf(
6735        __fd: ::std::os::raw::c_int,
6736        __fmt: *const ::std::os::raw::c_char,
6737        ...
6738    ) -> ::std::os::raw::c_int;
6739}
6740extern "C" {
6741    pub fn vdprintf(
6742        __fd: ::std::os::raw::c_int,
6743        __fmt: *const ::std::os::raw::c_char,
6744        __args: va_list,
6745    ) -> ::std::os::raw::c_int;
6746}
6747extern "C" {
6748    pub fn sprintf(
6749        __s: *mut ::std::os::raw::c_char,
6750        __fmt: *const ::std::os::raw::c_char,
6751        ...
6752    ) -> ::std::os::raw::c_int;
6753}
6754extern "C" {
6755    pub fn vsprintf(
6756        __s: *mut ::std::os::raw::c_char,
6757        __fmt: *const ::std::os::raw::c_char,
6758        __args: __builtin_va_list,
6759    ) -> ::std::os::raw::c_int;
6760}
6761extern "C" {
6762    pub fn tmpnam(__s: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6763}
6764extern "C" {
6765    pub fn tempnam(
6766        __dir: *const ::std::os::raw::c_char,
6767        __prefix: *const ::std::os::raw::c_char,
6768    ) -> *mut ::std::os::raw::c_char;
6769}
6770extern "C" {
6771    pub fn rename(
6772        __old_path: *const ::std::os::raw::c_char,
6773        __new_path: *const ::std::os::raw::c_char,
6774    ) -> ::std::os::raw::c_int;
6775}
6776extern "C" {
6777    pub fn renameat(
6778        __old_dir_fd: ::std::os::raw::c_int,
6779        __old_path: *const ::std::os::raw::c_char,
6780        __new_dir_fd: ::std::os::raw::c_int,
6781        __new_path: *const ::std::os::raw::c_char,
6782    ) -> ::std::os::raw::c_int;
6783}
6784extern "C" {
6785    pub fn fseek(
6786        __fp: *mut FILE,
6787        __offset: ::std::os::raw::c_long,
6788        __whence: ::std::os::raw::c_int,
6789    ) -> ::std::os::raw::c_int;
6790}
6791extern "C" {
6792    pub fn ftell(__fp: *mut FILE) -> ::std::os::raw::c_long;
6793}
6794extern "C" {
6795    pub fn fgetpos(__fp: *mut FILE, __pos: *mut fpos_t) -> ::std::os::raw::c_int;
6796}
6797extern "C" {
6798    pub fn fsetpos(__fp: *mut FILE, __pos: *const fpos_t) -> ::std::os::raw::c_int;
6799}
6800extern "C" {
6801    pub fn fseeko(
6802        __fp: *mut FILE,
6803        __offset: off_t,
6804        __whence: ::std::os::raw::c_int,
6805    ) -> ::std::os::raw::c_int;
6806}
6807extern "C" {
6808    pub fn ftello(__fp: *mut FILE) -> off_t;
6809}
6810extern "C" {
6811    pub fn fgetpos64(__fp: *mut FILE, __pos: *mut fpos64_t) -> ::std::os::raw::c_int;
6812}
6813extern "C" {
6814    pub fn fsetpos64(__fp: *mut FILE, __pos: *const fpos64_t) -> ::std::os::raw::c_int;
6815}
6816extern "C" {
6817    pub fn fseeko64(
6818        __fp: *mut FILE,
6819        __offset: off64_t,
6820        __whence: ::std::os::raw::c_int,
6821    ) -> ::std::os::raw::c_int;
6822}
6823extern "C" {
6824    pub fn ftello64(__fp: *mut FILE) -> off64_t;
6825}
6826extern "C" {
6827    pub fn fopen(
6828        __path: *const ::std::os::raw::c_char,
6829        __mode: *const ::std::os::raw::c_char,
6830    ) -> *mut FILE;
6831}
6832extern "C" {
6833    pub fn fopen64(
6834        __path: *const ::std::os::raw::c_char,
6835        __mode: *const ::std::os::raw::c_char,
6836    ) -> *mut FILE;
6837}
6838extern "C" {
6839    pub fn freopen(
6840        __path: *const ::std::os::raw::c_char,
6841        __mode: *const ::std::os::raw::c_char,
6842        __fp: *mut FILE,
6843    ) -> *mut FILE;
6844}
6845extern "C" {
6846    pub fn freopen64(
6847        __path: *const ::std::os::raw::c_char,
6848        __mode: *const ::std::os::raw::c_char,
6849        __fp: *mut FILE,
6850    ) -> *mut FILE;
6851}
6852extern "C" {
6853    pub fn tmpfile() -> *mut FILE;
6854}
6855extern "C" {
6856    pub fn tmpfile64() -> *mut FILE;
6857}
6858extern "C" {
6859    pub fn snprintf(
6860        __buf: *mut ::std::os::raw::c_char,
6861        __size: ::std::os::raw::c_uint,
6862        __fmt: *const ::std::os::raw::c_char,
6863        ...
6864    ) -> ::std::os::raw::c_int;
6865}
6866extern "C" {
6867    pub fn vfscanf(
6868        __fp: *mut FILE,
6869        __fmt: *const ::std::os::raw::c_char,
6870        __args: __builtin_va_list,
6871    ) -> ::std::os::raw::c_int;
6872}
6873extern "C" {
6874    pub fn vscanf(
6875        __fmt: *const ::std::os::raw::c_char,
6876        __args: __builtin_va_list,
6877    ) -> ::std::os::raw::c_int;
6878}
6879extern "C" {
6880    pub fn vsnprintf(
6881        __buf: *mut ::std::os::raw::c_char,
6882        __size: ::std::os::raw::c_uint,
6883        __fmt: *const ::std::os::raw::c_char,
6884        __args: __builtin_va_list,
6885    ) -> ::std::os::raw::c_int;
6886}
6887extern "C" {
6888    pub fn vsscanf(
6889        __s: *const ::std::os::raw::c_char,
6890        __fmt: *const ::std::os::raw::c_char,
6891        __args: __builtin_va_list,
6892    ) -> ::std::os::raw::c_int;
6893}
6894extern "C" {
6895    pub fn ctermid(__buf: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
6896}
6897extern "C" {
6898    pub fn fdopen(__fd: ::std::os::raw::c_int, __mode: *const ::std::os::raw::c_char) -> *mut FILE;
6899}
6900extern "C" {
6901    pub fn fileno(__fp: *mut FILE) -> ::std::os::raw::c_int;
6902}
6903extern "C" {
6904    pub fn pclose(__fp: *mut FILE) -> ::std::os::raw::c_int;
6905}
6906extern "C" {
6907    pub fn popen(
6908        __command: *const ::std::os::raw::c_char,
6909        __mode: *const ::std::os::raw::c_char,
6910    ) -> *mut FILE;
6911}
6912extern "C" {
6913    pub fn flockfile(__fp: *mut FILE);
6914}
6915extern "C" {
6916    pub fn ftrylockfile(__fp: *mut FILE) -> ::std::os::raw::c_int;
6917}
6918extern "C" {
6919    pub fn funlockfile(__fp: *mut FILE);
6920}
6921extern "C" {
6922    pub fn getc_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
6923}
6924extern "C" {
6925    pub fn getchar_unlocked() -> ::std::os::raw::c_int;
6926}
6927extern "C" {
6928    pub fn putc_unlocked(__ch: ::std::os::raw::c_int, __fp: *mut FILE) -> ::std::os::raw::c_int;
6929}
6930extern "C" {
6931    pub fn putchar_unlocked(__ch: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6932}
6933extern "C" {
6934    pub fn fmemopen(
6935        __buf: *mut ::std::os::raw::c_void,
6936        __size: usize,
6937        __mode: *const ::std::os::raw::c_char,
6938    ) -> *mut FILE;
6939}
6940extern "C" {
6941    pub fn open_memstream(
6942        __ptr: *mut *mut ::std::os::raw::c_char,
6943        __size_ptr: *mut usize,
6944    ) -> *mut FILE;
6945}
6946extern "C" {
6947    pub fn asprintf(
6948        __s_ptr: *mut *mut ::std::os::raw::c_char,
6949        __fmt: *const ::std::os::raw::c_char,
6950        ...
6951    ) -> ::std::os::raw::c_int;
6952}
6953extern "C" {
6954    pub fn fgetln(__fp: *mut FILE, __length_ptr: *mut usize) -> *mut ::std::os::raw::c_char;
6955}
6956extern "C" {
6957    pub fn fpurge(__fp: *mut FILE) -> ::std::os::raw::c_int;
6958}
6959extern "C" {
6960    pub fn setbuffer(
6961        __fp: *mut FILE,
6962        __buf: *mut ::std::os::raw::c_char,
6963        __size: ::std::os::raw::c_int,
6964    );
6965}
6966extern "C" {
6967    pub fn setlinebuf(__fp: *mut FILE) -> ::std::os::raw::c_int;
6968}
6969extern "C" {
6970    pub fn vasprintf(
6971        __s_ptr: *mut *mut ::std::os::raw::c_char,
6972        __fmt: *const ::std::os::raw::c_char,
6973        __args: va_list,
6974    ) -> ::std::os::raw::c_int;
6975}
6976extern "C" {
6977    pub fn clearerr_unlocked(__fp: *mut FILE);
6978}
6979extern "C" {
6980    pub fn feof_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
6981}
6982extern "C" {
6983    pub fn ferror_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
6984}
6985extern "C" {
6986    pub fn fileno_unlocked(__fp: *mut FILE) -> ::std::os::raw::c_int;
6987}
6988extern "C" {
6989    pub fn malloc(__byte_count: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
6990}
6991extern "C" {
6992    pub fn calloc(
6993        __item_count: ::std::os::raw::c_uint,
6994        __item_size: ::std::os::raw::c_uint,
6995    ) -> *mut ::std::os::raw::c_void;
6996}
6997extern "C" {
6998    pub fn realloc(
6999        __ptr: *mut ::std::os::raw::c_void,
7000        __byte_count: ::std::os::raw::c_uint,
7001    ) -> *mut ::std::os::raw::c_void;
7002}
7003extern "C" {
7004    pub fn reallocarray(
7005        __ptr: *mut ::std::os::raw::c_void,
7006        __item_count: usize,
7007        __item_size: usize,
7008    ) -> *mut ::std::os::raw::c_void;
7009}
7010extern "C" {
7011    pub fn free(__ptr: *mut ::std::os::raw::c_void);
7012}
7013extern "C" {
7014    pub fn memalign(
7015        __alignment: ::std::os::raw::c_uint,
7016        __byte_count: ::std::os::raw::c_uint,
7017    ) -> *mut ::std::os::raw::c_void;
7018}
7019extern "C" {
7020    pub fn malloc_usable_size(__ptr: *const ::std::os::raw::c_void) -> usize;
7021}
7022#[repr(C)]
7023#[derive(Debug, Copy, Clone)]
7024pub struct mallinfo {
7025    pub arena: usize,
7026    pub ordblks: usize,
7027    pub smblks: usize,
7028    pub hblks: usize,
7029    pub hblkhd: usize,
7030    pub usmblks: usize,
7031    pub fsmblks: usize,
7032    pub uordblks: usize,
7033    pub fordblks: usize,
7034    pub keepcost: usize,
7035}
7036#[test]
7037fn bindgen_test_layout_mallinfo() {
7038    const UNINIT: ::std::mem::MaybeUninit<mallinfo> = ::std::mem::MaybeUninit::uninit();
7039    let ptr = UNINIT.as_ptr();
7040    assert_eq!(
7041        ::std::mem::size_of::<mallinfo>(),
7042        40usize,
7043        concat!("Size of: ", stringify!(mallinfo))
7044    );
7045    assert_eq!(
7046        ::std::mem::align_of::<mallinfo>(),
7047        4usize,
7048        concat!("Alignment of ", stringify!(mallinfo))
7049    );
7050    assert_eq!(
7051        unsafe { ::std::ptr::addr_of!((*ptr).arena) as usize - ptr as usize },
7052        0usize,
7053        concat!(
7054            "Offset of field: ",
7055            stringify!(mallinfo),
7056            "::",
7057            stringify!(arena)
7058        )
7059    );
7060    assert_eq!(
7061        unsafe { ::std::ptr::addr_of!((*ptr).ordblks) as usize - ptr as usize },
7062        4usize,
7063        concat!(
7064            "Offset of field: ",
7065            stringify!(mallinfo),
7066            "::",
7067            stringify!(ordblks)
7068        )
7069    );
7070    assert_eq!(
7071        unsafe { ::std::ptr::addr_of!((*ptr).smblks) as usize - ptr as usize },
7072        8usize,
7073        concat!(
7074            "Offset of field: ",
7075            stringify!(mallinfo),
7076            "::",
7077            stringify!(smblks)
7078        )
7079    );
7080    assert_eq!(
7081        unsafe { ::std::ptr::addr_of!((*ptr).hblks) as usize - ptr as usize },
7082        12usize,
7083        concat!(
7084            "Offset of field: ",
7085            stringify!(mallinfo),
7086            "::",
7087            stringify!(hblks)
7088        )
7089    );
7090    assert_eq!(
7091        unsafe { ::std::ptr::addr_of!((*ptr).hblkhd) as usize - ptr as usize },
7092        16usize,
7093        concat!(
7094            "Offset of field: ",
7095            stringify!(mallinfo),
7096            "::",
7097            stringify!(hblkhd)
7098        )
7099    );
7100    assert_eq!(
7101        unsafe { ::std::ptr::addr_of!((*ptr).usmblks) as usize - ptr as usize },
7102        20usize,
7103        concat!(
7104            "Offset of field: ",
7105            stringify!(mallinfo),
7106            "::",
7107            stringify!(usmblks)
7108        )
7109    );
7110    assert_eq!(
7111        unsafe { ::std::ptr::addr_of!((*ptr).fsmblks) as usize - ptr as usize },
7112        24usize,
7113        concat!(
7114            "Offset of field: ",
7115            stringify!(mallinfo),
7116            "::",
7117            stringify!(fsmblks)
7118        )
7119    );
7120    assert_eq!(
7121        unsafe { ::std::ptr::addr_of!((*ptr).uordblks) as usize - ptr as usize },
7122        28usize,
7123        concat!(
7124            "Offset of field: ",
7125            stringify!(mallinfo),
7126            "::",
7127            stringify!(uordblks)
7128        )
7129    );
7130    assert_eq!(
7131        unsafe { ::std::ptr::addr_of!((*ptr).fordblks) as usize - ptr as usize },
7132        32usize,
7133        concat!(
7134            "Offset of field: ",
7135            stringify!(mallinfo),
7136            "::",
7137            stringify!(fordblks)
7138        )
7139    );
7140    assert_eq!(
7141        unsafe { ::std::ptr::addr_of!((*ptr).keepcost) as usize - ptr as usize },
7142        36usize,
7143        concat!(
7144            "Offset of field: ",
7145            stringify!(mallinfo),
7146            "::",
7147            stringify!(keepcost)
7148        )
7149    );
7150}
7151extern "C" {
7152    pub fn mallinfo() -> mallinfo;
7153}
7154#[repr(C)]
7155#[derive(Debug, Copy, Clone)]
7156pub struct mallinfo2 {
7157    pub arena: usize,
7158    pub ordblks: usize,
7159    pub smblks: usize,
7160    pub hblks: usize,
7161    pub hblkhd: usize,
7162    pub usmblks: usize,
7163    pub fsmblks: usize,
7164    pub uordblks: usize,
7165    pub fordblks: usize,
7166    pub keepcost: usize,
7167}
7168#[test]
7169fn bindgen_test_layout_mallinfo2() {
7170    const UNINIT: ::std::mem::MaybeUninit<mallinfo2> = ::std::mem::MaybeUninit::uninit();
7171    let ptr = UNINIT.as_ptr();
7172    assert_eq!(
7173        ::std::mem::size_of::<mallinfo2>(),
7174        40usize,
7175        concat!("Size of: ", stringify!(mallinfo2))
7176    );
7177    assert_eq!(
7178        ::std::mem::align_of::<mallinfo2>(),
7179        4usize,
7180        concat!("Alignment of ", stringify!(mallinfo2))
7181    );
7182    assert_eq!(
7183        unsafe { ::std::ptr::addr_of!((*ptr).arena) as usize - ptr as usize },
7184        0usize,
7185        concat!(
7186            "Offset of field: ",
7187            stringify!(mallinfo2),
7188            "::",
7189            stringify!(arena)
7190        )
7191    );
7192    assert_eq!(
7193        unsafe { ::std::ptr::addr_of!((*ptr).ordblks) as usize - ptr as usize },
7194        4usize,
7195        concat!(
7196            "Offset of field: ",
7197            stringify!(mallinfo2),
7198            "::",
7199            stringify!(ordblks)
7200        )
7201    );
7202    assert_eq!(
7203        unsafe { ::std::ptr::addr_of!((*ptr).smblks) as usize - ptr as usize },
7204        8usize,
7205        concat!(
7206            "Offset of field: ",
7207            stringify!(mallinfo2),
7208            "::",
7209            stringify!(smblks)
7210        )
7211    );
7212    assert_eq!(
7213        unsafe { ::std::ptr::addr_of!((*ptr).hblks) as usize - ptr as usize },
7214        12usize,
7215        concat!(
7216            "Offset of field: ",
7217            stringify!(mallinfo2),
7218            "::",
7219            stringify!(hblks)
7220        )
7221    );
7222    assert_eq!(
7223        unsafe { ::std::ptr::addr_of!((*ptr).hblkhd) as usize - ptr as usize },
7224        16usize,
7225        concat!(
7226            "Offset of field: ",
7227            stringify!(mallinfo2),
7228            "::",
7229            stringify!(hblkhd)
7230        )
7231    );
7232    assert_eq!(
7233        unsafe { ::std::ptr::addr_of!((*ptr).usmblks) as usize - ptr as usize },
7234        20usize,
7235        concat!(
7236            "Offset of field: ",
7237            stringify!(mallinfo2),
7238            "::",
7239            stringify!(usmblks)
7240        )
7241    );
7242    assert_eq!(
7243        unsafe { ::std::ptr::addr_of!((*ptr).fsmblks) as usize - ptr as usize },
7244        24usize,
7245        concat!(
7246            "Offset of field: ",
7247            stringify!(mallinfo2),
7248            "::",
7249            stringify!(fsmblks)
7250        )
7251    );
7252    assert_eq!(
7253        unsafe { ::std::ptr::addr_of!((*ptr).uordblks) as usize - ptr as usize },
7254        28usize,
7255        concat!(
7256            "Offset of field: ",
7257            stringify!(mallinfo2),
7258            "::",
7259            stringify!(uordblks)
7260        )
7261    );
7262    assert_eq!(
7263        unsafe { ::std::ptr::addr_of!((*ptr).fordblks) as usize - ptr as usize },
7264        32usize,
7265        concat!(
7266            "Offset of field: ",
7267            stringify!(mallinfo2),
7268            "::",
7269            stringify!(fordblks)
7270        )
7271    );
7272    assert_eq!(
7273        unsafe { ::std::ptr::addr_of!((*ptr).keepcost) as usize - ptr as usize },
7274        36usize,
7275        concat!(
7276            "Offset of field: ",
7277            stringify!(mallinfo2),
7278            "::",
7279            stringify!(keepcost)
7280        )
7281    );
7282}
7283extern "C" {
7284    pub fn malloc_info(
7285        __must_be_zero: ::std::os::raw::c_int,
7286        __fp: *mut FILE,
7287    ) -> ::std::os::raw::c_int;
7288}
7289impl HeapTaggingLevel {
7290    pub const M_HEAP_TAGGING_LEVEL_NONE: HeapTaggingLevel = HeapTaggingLevel(0);
7291}
7292impl HeapTaggingLevel {
7293    pub const M_HEAP_TAGGING_LEVEL_TBI: HeapTaggingLevel = HeapTaggingLevel(1);
7294}
7295impl HeapTaggingLevel {
7296    pub const M_HEAP_TAGGING_LEVEL_ASYNC: HeapTaggingLevel = HeapTaggingLevel(2);
7297}
7298impl HeapTaggingLevel {
7299    pub const M_HEAP_TAGGING_LEVEL_SYNC: HeapTaggingLevel = HeapTaggingLevel(3);
7300}
7301#[repr(transparent)]
7302#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7303pub struct HeapTaggingLevel(pub ::std::os::raw::c_uint);
7304extern "C" {
7305    pub fn mallopt(
7306        __option: ::std::os::raw::c_int,
7307        __value: ::std::os::raw::c_int,
7308    ) -> ::std::os::raw::c_int;
7309}
7310extern "C" {
7311    pub static mut __malloc_hook: ::std::option::Option<
7312        unsafe extern "C" fn(
7313            __byte_count: usize,
7314            __caller: *const ::std::os::raw::c_void,
7315        ) -> *mut ::std::os::raw::c_void,
7316    >;
7317}
7318extern "C" {
7319    pub static mut __realloc_hook: ::std::option::Option<
7320        unsafe extern "C" fn(
7321            __ptr: *mut ::std::os::raw::c_void,
7322            __byte_count: usize,
7323            __caller: *const ::std::os::raw::c_void,
7324        ) -> *mut ::std::os::raw::c_void,
7325    >;
7326}
7327extern "C" {
7328    pub static mut __free_hook: ::std::option::Option<
7329        unsafe extern "C" fn(
7330            __ptr: *mut ::std::os::raw::c_void,
7331            __caller: *const ::std::os::raw::c_void,
7332        ),
7333    >;
7334}
7335extern "C" {
7336    pub static mut __memalign_hook: ::std::option::Option<
7337        unsafe extern "C" fn(
7338            __alignment: usize,
7339            __byte_count: usize,
7340            __caller: *const ::std::os::raw::c_void,
7341        ) -> *mut ::std::os::raw::c_void,
7342    >;
7343}
7344#[repr(C)]
7345#[derive(Debug, Copy, Clone)]
7346pub struct __locale_t {
7347    _unused: [u8; 0],
7348}
7349pub type locale_t = *mut __locale_t;
7350extern "C" {
7351    pub fn abort() -> !;
7352}
7353extern "C" {
7354    pub fn exit(__status: ::std::os::raw::c_int) -> !;
7355}
7356extern "C" {
7357    pub fn _Exit(__status: ::std::os::raw::c_int) -> !;
7358}
7359extern "C" {
7360    pub fn atexit(__fn: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
7361}
7362extern "C" {
7363    pub fn at_quick_exit(
7364        __fn: ::std::option::Option<unsafe extern "C" fn()>,
7365    ) -> ::std::os::raw::c_int;
7366}
7367extern "C" {
7368    pub fn quick_exit(__status: ::std::os::raw::c_int) -> !;
7369}
7370extern "C" {
7371    pub fn getenv(__name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7372}
7373extern "C" {
7374    pub fn putenv(__assignment: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7375}
7376extern "C" {
7377    pub fn setenv(
7378        __name: *const ::std::os::raw::c_char,
7379        __value: *const ::std::os::raw::c_char,
7380        __overwrite: ::std::os::raw::c_int,
7381    ) -> ::std::os::raw::c_int;
7382}
7383extern "C" {
7384    pub fn unsetenv(__name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7385}
7386extern "C" {
7387    pub fn clearenv() -> ::std::os::raw::c_int;
7388}
7389extern "C" {
7390    pub fn mkdtemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7391}
7392extern "C" {
7393    pub fn mktemp(__template: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7394}
7395extern "C" {
7396    pub fn mkostemp64(
7397        __template: *mut ::std::os::raw::c_char,
7398        __flags: ::std::os::raw::c_int,
7399    ) -> ::std::os::raw::c_int;
7400}
7401extern "C" {
7402    pub fn mkostemp(
7403        __template: *mut ::std::os::raw::c_char,
7404        __flags: ::std::os::raw::c_int,
7405    ) -> ::std::os::raw::c_int;
7406}
7407extern "C" {
7408    pub fn mkostemps64(
7409        __template: *mut ::std::os::raw::c_char,
7410        __suffix_length: ::std::os::raw::c_int,
7411        __flags: ::std::os::raw::c_int,
7412    ) -> ::std::os::raw::c_int;
7413}
7414extern "C" {
7415    pub fn mkostemps(
7416        __template: *mut ::std::os::raw::c_char,
7417        __suffix_length: ::std::os::raw::c_int,
7418        __flags: ::std::os::raw::c_int,
7419    ) -> ::std::os::raw::c_int;
7420}
7421extern "C" {
7422    pub fn mkstemp64(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7423}
7424extern "C" {
7425    pub fn mkstemp(__template: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7426}
7427extern "C" {
7428    pub fn mkstemps64(
7429        __template: *mut ::std::os::raw::c_char,
7430        __flags: ::std::os::raw::c_int,
7431    ) -> ::std::os::raw::c_int;
7432}
7433extern "C" {
7434    pub fn mkstemps(
7435        __template: *mut ::std::os::raw::c_char,
7436        __flags: ::std::os::raw::c_int,
7437    ) -> ::std::os::raw::c_int;
7438}
7439extern "C" {
7440    pub fn strtol(
7441        __s: *const ::std::os::raw::c_char,
7442        __end_ptr: *mut *mut ::std::os::raw::c_char,
7443        __base: ::std::os::raw::c_int,
7444    ) -> ::std::os::raw::c_long;
7445}
7446extern "C" {
7447    pub fn strtoll(
7448        __s: *const ::std::os::raw::c_char,
7449        __end_ptr: *mut *mut ::std::os::raw::c_char,
7450        __base: ::std::os::raw::c_int,
7451    ) -> ::std::os::raw::c_longlong;
7452}
7453extern "C" {
7454    pub fn strtoul(
7455        __s: *const ::std::os::raw::c_char,
7456        __end_ptr: *mut *mut ::std::os::raw::c_char,
7457        __base: ::std::os::raw::c_int,
7458    ) -> ::std::os::raw::c_ulong;
7459}
7460extern "C" {
7461    pub fn strtoull(
7462        __s: *const ::std::os::raw::c_char,
7463        __end_ptr: *mut *mut ::std::os::raw::c_char,
7464        __base: ::std::os::raw::c_int,
7465    ) -> ::std::os::raw::c_ulonglong;
7466}
7467extern "C" {
7468    pub fn posix_memalign(
7469        __memptr: *mut *mut ::std::os::raw::c_void,
7470        __alignment: usize,
7471        __size: usize,
7472    ) -> ::std::os::raw::c_int;
7473}
7474extern "C" {
7475    pub fn aligned_alloc(
7476        __alignment: ::std::os::raw::c_uint,
7477        __size: ::std::os::raw::c_uint,
7478    ) -> *mut ::std::os::raw::c_void;
7479}
7480extern "C" {
7481    pub fn strtod(
7482        __s: *const ::std::os::raw::c_char,
7483        __end_ptr: *mut *mut ::std::os::raw::c_char,
7484    ) -> f64;
7485}
7486extern "C" {
7487    pub fn strtold(
7488        __s: *const ::std::os::raw::c_char,
7489        __end_ptr: *mut *mut ::std::os::raw::c_char,
7490    ) -> f64;
7491}
7492extern "C" {
7493    pub fn strtoul_l(
7494        __s: *const ::std::os::raw::c_char,
7495        __end_ptr: *mut *mut ::std::os::raw::c_char,
7496        __base: ::std::os::raw::c_int,
7497        __l: locale_t,
7498    ) -> ::std::os::raw::c_ulong;
7499}
7500extern "C" {
7501    pub fn atoi(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7502}
7503extern "C" {
7504    pub fn atol(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
7505}
7506extern "C" {
7507    pub fn atoll(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
7508}
7509extern "C" {
7510    pub fn realpath(
7511        __path: *const ::std::os::raw::c_char,
7512        __resolved: *mut ::std::os::raw::c_char,
7513    ) -> *mut ::std::os::raw::c_char;
7514}
7515extern "C" {
7516    pub fn system(__command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
7517}
7518extern "C" {
7519    pub fn bsearch(
7520        __key: *const ::std::os::raw::c_void,
7521        __base: *const ::std::os::raw::c_void,
7522        __nmemb: usize,
7523        __size: usize,
7524        __comparator: ::std::option::Option<
7525            unsafe extern "C" fn(
7526                __lhs: *const ::std::os::raw::c_void,
7527                __rhs: *const ::std::os::raw::c_void,
7528            ) -> ::std::os::raw::c_int,
7529        >,
7530    ) -> *mut ::std::os::raw::c_void;
7531}
7532extern "C" {
7533    pub fn qsort(
7534        __base: *mut ::std::os::raw::c_void,
7535        __nmemb: usize,
7536        __size: usize,
7537        __comparator: ::std::option::Option<
7538            unsafe extern "C" fn(
7539                __lhs: *const ::std::os::raw::c_void,
7540                __rhs: *const ::std::os::raw::c_void,
7541            ) -> ::std::os::raw::c_int,
7542        >,
7543    );
7544}
7545extern "C" {
7546    pub fn arc4random() -> u32;
7547}
7548extern "C" {
7549    pub fn arc4random_uniform(__upper_bound: u32) -> u32;
7550}
7551extern "C" {
7552    pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __n: usize);
7553}
7554extern "C" {
7555    pub fn rand_r(__seed_ptr: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
7556}
7557extern "C" {
7558    pub fn drand48() -> f64;
7559}
7560extern "C" {
7561    pub fn erand48(__xsubi: *mut ::std::os::raw::c_ushort) -> f64;
7562}
7563extern "C" {
7564    pub fn lcong48(__param: *mut ::std::os::raw::c_ushort);
7565}
7566extern "C" {
7567    pub fn lrand48() -> ::std::os::raw::c_long;
7568}
7569extern "C" {
7570    pub fn mrand48() -> ::std::os::raw::c_long;
7571}
7572extern "C" {
7573    pub fn nrand48(__xsubi: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
7574}
7575extern "C" {
7576    pub fn seed48(__seed16v: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
7577}
7578extern "C" {
7579    pub fn srand48(__seed: ::std::os::raw::c_long);
7580}
7581extern "C" {
7582    pub fn initstate(
7583        __seed: ::std::os::raw::c_uint,
7584        __state: *mut ::std::os::raw::c_char,
7585        __n: usize,
7586    ) -> *mut ::std::os::raw::c_char;
7587}
7588extern "C" {
7589    pub fn setstate(__state: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
7590}
7591extern "C" {
7592    pub fn getpt() -> ::std::os::raw::c_int;
7593}
7594extern "C" {
7595    pub fn posix_openpt(__flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7596}
7597extern "C" {
7598    pub fn ptsname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
7599}
7600extern "C" {
7601    pub fn ptsname_r(
7602        __fd: ::std::os::raw::c_int,
7603        __buf: *mut ::std::os::raw::c_char,
7604        __n: usize,
7605    ) -> ::std::os::raw::c_int;
7606}
7607extern "C" {
7608    pub fn unlockpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7609}
7610extern "C" {
7611    pub fn getsubopt(
7612        __option: *mut *mut ::std::os::raw::c_char,
7613        __tokens: *const *mut ::std::os::raw::c_char,
7614        __value_ptr: *mut *mut ::std::os::raw::c_char,
7615    ) -> ::std::os::raw::c_int;
7616}
7617#[repr(C)]
7618#[derive(Debug, Copy, Clone)]
7619pub struct div_t {
7620    pub quot: ::std::os::raw::c_int,
7621    pub rem: ::std::os::raw::c_int,
7622}
7623#[test]
7624fn bindgen_test_layout_div_t() {
7625    const UNINIT: ::std::mem::MaybeUninit<div_t> = ::std::mem::MaybeUninit::uninit();
7626    let ptr = UNINIT.as_ptr();
7627    assert_eq!(
7628        ::std::mem::size_of::<div_t>(),
7629        8usize,
7630        concat!("Size of: ", stringify!(div_t))
7631    );
7632    assert_eq!(
7633        ::std::mem::align_of::<div_t>(),
7634        4usize,
7635        concat!("Alignment of ", stringify!(div_t))
7636    );
7637    assert_eq!(
7638        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7639        0usize,
7640        concat!(
7641            "Offset of field: ",
7642            stringify!(div_t),
7643            "::",
7644            stringify!(quot)
7645        )
7646    );
7647    assert_eq!(
7648        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7649        4usize,
7650        concat!(
7651            "Offset of field: ",
7652            stringify!(div_t),
7653            "::",
7654            stringify!(rem)
7655        )
7656    );
7657}
7658extern "C" {
7659    pub fn div(__numerator: ::std::os::raw::c_int, __denominator: ::std::os::raw::c_int) -> div_t;
7660}
7661#[repr(C)]
7662#[derive(Debug, Copy, Clone)]
7663pub struct ldiv_t {
7664    pub quot: ::std::os::raw::c_long,
7665    pub rem: ::std::os::raw::c_long,
7666}
7667#[test]
7668fn bindgen_test_layout_ldiv_t() {
7669    const UNINIT: ::std::mem::MaybeUninit<ldiv_t> = ::std::mem::MaybeUninit::uninit();
7670    let ptr = UNINIT.as_ptr();
7671    assert_eq!(
7672        ::std::mem::size_of::<ldiv_t>(),
7673        8usize,
7674        concat!("Size of: ", stringify!(ldiv_t))
7675    );
7676    assert_eq!(
7677        ::std::mem::align_of::<ldiv_t>(),
7678        4usize,
7679        concat!("Alignment of ", stringify!(ldiv_t))
7680    );
7681    assert_eq!(
7682        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7683        0usize,
7684        concat!(
7685            "Offset of field: ",
7686            stringify!(ldiv_t),
7687            "::",
7688            stringify!(quot)
7689        )
7690    );
7691    assert_eq!(
7692        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7693        4usize,
7694        concat!(
7695            "Offset of field: ",
7696            stringify!(ldiv_t),
7697            "::",
7698            stringify!(rem)
7699        )
7700    );
7701}
7702extern "C" {
7703    pub fn ldiv(
7704        __numerator: ::std::os::raw::c_long,
7705        __denominator: ::std::os::raw::c_long,
7706    ) -> ldiv_t;
7707}
7708#[repr(C)]
7709#[derive(Debug, Copy, Clone)]
7710pub struct lldiv_t {
7711    pub quot: ::std::os::raw::c_longlong,
7712    pub rem: ::std::os::raw::c_longlong,
7713}
7714#[test]
7715fn bindgen_test_layout_lldiv_t() {
7716    const UNINIT: ::std::mem::MaybeUninit<lldiv_t> = ::std::mem::MaybeUninit::uninit();
7717    let ptr = UNINIT.as_ptr();
7718    assert_eq!(
7719        ::std::mem::size_of::<lldiv_t>(),
7720        16usize,
7721        concat!("Size of: ", stringify!(lldiv_t))
7722    );
7723    assert_eq!(
7724        ::std::mem::align_of::<lldiv_t>(),
7725        4usize,
7726        concat!("Alignment of ", stringify!(lldiv_t))
7727    );
7728    assert_eq!(
7729        unsafe { ::std::ptr::addr_of!((*ptr).quot) as usize - ptr as usize },
7730        0usize,
7731        concat!(
7732            "Offset of field: ",
7733            stringify!(lldiv_t),
7734            "::",
7735            stringify!(quot)
7736        )
7737    );
7738    assert_eq!(
7739        unsafe { ::std::ptr::addr_of!((*ptr).rem) as usize - ptr as usize },
7740        8usize,
7741        concat!(
7742            "Offset of field: ",
7743            stringify!(lldiv_t),
7744            "::",
7745            stringify!(rem)
7746        )
7747    );
7748}
7749extern "C" {
7750    pub fn lldiv(
7751        __numerator: ::std::os::raw::c_longlong,
7752        __denominator: ::std::os::raw::c_longlong,
7753    ) -> lldiv_t;
7754}
7755extern "C" {
7756    pub fn getloadavg(__averages: *mut f64, __n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7757}
7758extern "C" {
7759    pub fn getprogname() -> *const ::std::os::raw::c_char;
7760}
7761extern "C" {
7762    pub fn setprogname(__name: *const ::std::os::raw::c_char);
7763}
7764extern "C" {
7765    pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
7766}
7767extern "C" {
7768    pub fn mbstowcs(__dst: *mut wchar_t, __src: *const ::std::os::raw::c_char, __n: usize)
7769        -> usize;
7770}
7771extern "C" {
7772    pub fn mbtowc(
7773        __wc_ptr: *mut wchar_t,
7774        __s: *const ::std::os::raw::c_char,
7775        __n: usize,
7776    ) -> ::std::os::raw::c_int;
7777}
7778extern "C" {
7779    pub fn wctomb(__dst: *mut ::std::os::raw::c_char, __wc: wchar_t) -> ::std::os::raw::c_int;
7780}
7781extern "C" {
7782    pub fn wcstombs(__dst: *mut ::std::os::raw::c_char, __src: *const wchar_t, __n: usize)
7783        -> usize;
7784}
7785extern "C" {
7786    pub fn __ctype_get_mb_cur_max() -> usize;
7787}
7788extern "C" {
7789    pub fn abs(__x: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7790}
7791extern "C" {
7792    pub fn labs(__x: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7793}
7794extern "C" {
7795    pub fn llabs(__x: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
7796}
7797extern "C" {
7798    pub fn strtof(
7799        __s: *const ::std::os::raw::c_char,
7800        __end_ptr: *mut *mut ::std::os::raw::c_char,
7801    ) -> f32;
7802}
7803extern "C" {
7804    pub fn atof(__s: *const ::std::os::raw::c_char) -> f64;
7805}
7806extern "C" {
7807    pub fn rand() -> ::std::os::raw::c_int;
7808}
7809extern "C" {
7810    pub fn srand(__seed: ::std::os::raw::c_uint);
7811}
7812extern "C" {
7813    pub fn random() -> ::std::os::raw::c_long;
7814}
7815extern "C" {
7816    pub fn srandom(__seed: ::std::os::raw::c_uint);
7817}
7818extern "C" {
7819    pub fn grantpt(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7820}
7821extern "C" {
7822    pub fn strtoll_l(
7823        __s: *const ::std::os::raw::c_char,
7824        __end_ptr: *mut *mut ::std::os::raw::c_char,
7825        __base: ::std::os::raw::c_int,
7826        __l: locale_t,
7827    ) -> ::std::os::raw::c_longlong;
7828}
7829extern "C" {
7830    pub fn strtoull_l(
7831        __s: *const ::std::os::raw::c_char,
7832        __end_ptr: *mut *mut ::std::os::raw::c_char,
7833        __base: ::std::os::raw::c_int,
7834        __l: locale_t,
7835    ) -> ::std::os::raw::c_ulonglong;
7836}
7837extern "C" {
7838    pub fn strtold_l(
7839        __s: *const ::std::os::raw::c_char,
7840        __end_ptr: *mut *mut ::std::os::raw::c_char,
7841        __l: locale_t,
7842    ) -> f64;
7843}
7844extern "C" {
7845    pub fn strtod_l(
7846        __s: *const ::std::os::raw::c_char,
7847        __end_ptr: *mut *mut ::std::os::raw::c_char,
7848        __l: locale_t,
7849    ) -> f64;
7850}
7851extern "C" {
7852    pub fn strtof_l(
7853        __s: *const ::std::os::raw::c_char,
7854        __end_ptr: *mut *mut ::std::os::raw::c_char,
7855        __l: locale_t,
7856    ) -> f32;
7857}
7858extern "C" {
7859    pub fn strtol_l(
7860        __s: *const ::std::os::raw::c_char,
7861        __end_ptr: *mut *mut ::std::os::raw::c_char,
7862        arg1: ::std::os::raw::c_int,
7863        __l: locale_t,
7864    ) -> ::std::os::raw::c_long;
7865}
7866pub type net_handle_t = u64;
7867extern "C" {
7868    pub fn android_setsocknetwork(
7869        network: net_handle_t,
7870        fd: ::std::os::raw::c_int,
7871    ) -> ::std::os::raw::c_int;
7872}
7873extern "C" {
7874    pub fn android_setprocnetwork(network: net_handle_t) -> ::std::os::raw::c_int;
7875}
7876extern "C" {
7877    pub fn android_getprocnetwork(network: *mut net_handle_t) -> ::std::os::raw::c_int;
7878}
7879extern "C" {
7880    pub fn android_setprocdns(network: net_handle_t) -> ::std::os::raw::c_int;
7881}
7882extern "C" {
7883    pub fn android_getprocdns(network: *mut net_handle_t) -> ::std::os::raw::c_int;
7884}
7885extern "C" {
7886    pub fn android_getaddrinfofornetwork(
7887        network: net_handle_t,
7888        node: *const ::std::os::raw::c_char,
7889        service: *const ::std::os::raw::c_char,
7890        hints: *const addrinfo,
7891        res: *mut *mut addrinfo,
7892    ) -> ::std::os::raw::c_int;
7893}
7894impl ResNsendFlags {
7895    pub const ANDROID_RESOLV_NO_RETRY: ResNsendFlags = ResNsendFlags(1);
7896}
7897impl ResNsendFlags {
7898    pub const ANDROID_RESOLV_NO_CACHE_STORE: ResNsendFlags = ResNsendFlags(2);
7899}
7900impl ResNsendFlags {
7901    pub const ANDROID_RESOLV_NO_CACHE_LOOKUP: ResNsendFlags = ResNsendFlags(4);
7902}
7903#[repr(transparent)]
7904#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7905pub struct ResNsendFlags(pub u32);
7906extern "C" {
7907    pub fn android_res_nquery(
7908        network: net_handle_t,
7909        dname: *const ::std::os::raw::c_char,
7910        ns_class: ::std::os::raw::c_int,
7911        ns_type: ::std::os::raw::c_int,
7912        flags: u32,
7913    ) -> ::std::os::raw::c_int;
7914}
7915extern "C" {
7916    pub fn android_res_nsend(
7917        network: net_handle_t,
7918        msg: *const u8,
7919        msglen: usize,
7920        flags: u32,
7921    ) -> ::std::os::raw::c_int;
7922}
7923extern "C" {
7924    pub fn android_res_nresult(
7925        fd: ::std::os::raw::c_int,
7926        rcode: *mut ::std::os::raw::c_int,
7927        answer: *mut u8,
7928        anslen: usize,
7929    ) -> ::std::os::raw::c_int;
7930}
7931extern "C" {
7932    pub fn android_res_cancel(nsend_fd: ::std::os::raw::c_int);
7933}
7934extern "C" {
7935    pub fn android_tag_socket_with_uid(
7936        sockfd: ::std::os::raw::c_int,
7937        tag: u32,
7938        uid: uid_t,
7939    ) -> ::std::os::raw::c_int;
7940}
7941extern "C" {
7942    pub fn android_tag_socket(sockfd: ::std::os::raw::c_int, tag: u32) -> ::std::os::raw::c_int;
7943}
7944extern "C" {
7945    pub fn android_untag_socket(sockfd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7946}
7947impl ANativeWindow_LegacyFormat {
7948    pub const WINDOW_FORMAT_RGBA_8888: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(1);
7949}
7950impl ANativeWindow_LegacyFormat {
7951    pub const WINDOW_FORMAT_RGBX_8888: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(2);
7952}
7953impl ANativeWindow_LegacyFormat {
7954    pub const WINDOW_FORMAT_RGB_565: ANativeWindow_LegacyFormat = ANativeWindow_LegacyFormat(4);
7955}
7956#[repr(transparent)]
7957#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7958pub struct ANativeWindow_LegacyFormat(pub ::std::os::raw::c_uint);
7959impl ANativeWindowTransform {
7960    pub const ANATIVEWINDOW_TRANSFORM_IDENTITY: ANativeWindowTransform = ANativeWindowTransform(0);
7961}
7962impl ANativeWindowTransform {
7963    pub const ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL: ANativeWindowTransform =
7964        ANativeWindowTransform(1);
7965}
7966impl ANativeWindowTransform {
7967    pub const ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL: ANativeWindowTransform =
7968        ANativeWindowTransform(2);
7969}
7970impl ANativeWindowTransform {
7971    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_90: ANativeWindowTransform = ANativeWindowTransform(4);
7972}
7973impl ANativeWindowTransform {
7974    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_180: ANativeWindowTransform =
7975        ANativeWindowTransform(3);
7976}
7977impl ANativeWindowTransform {
7978    pub const ANATIVEWINDOW_TRANSFORM_ROTATE_270: ANativeWindowTransform =
7979        ANativeWindowTransform(7);
7980}
7981#[repr(transparent)]
7982#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7983pub struct ANativeWindowTransform(pub ::std::os::raw::c_uint);
7984#[repr(C)]
7985#[derive(Debug, Copy, Clone)]
7986pub struct ANativeWindow {
7987    _unused: [u8; 0],
7988}
7989#[repr(C)]
7990#[derive(Debug, Copy, Clone)]
7991pub struct ANativeWindow_Buffer {
7992    pub width: i32,
7993    pub height: i32,
7994    pub stride: i32,
7995    pub format: i32,
7996    pub bits: *mut ::std::os::raw::c_void,
7997    pub reserved: [u32; 6usize],
7998}
7999#[test]
8000fn bindgen_test_layout_ANativeWindow_Buffer() {
8001    const UNINIT: ::std::mem::MaybeUninit<ANativeWindow_Buffer> = ::std::mem::MaybeUninit::uninit();
8002    let ptr = UNINIT.as_ptr();
8003    assert_eq!(
8004        ::std::mem::size_of::<ANativeWindow_Buffer>(),
8005        44usize,
8006        concat!("Size of: ", stringify!(ANativeWindow_Buffer))
8007    );
8008    assert_eq!(
8009        ::std::mem::align_of::<ANativeWindow_Buffer>(),
8010        4usize,
8011        concat!("Alignment of ", stringify!(ANativeWindow_Buffer))
8012    );
8013    assert_eq!(
8014        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8015        0usize,
8016        concat!(
8017            "Offset of field: ",
8018            stringify!(ANativeWindow_Buffer),
8019            "::",
8020            stringify!(width)
8021        )
8022    );
8023    assert_eq!(
8024        unsafe { ::std::ptr::addr_of!((*ptr).height) as usize - ptr as usize },
8025        4usize,
8026        concat!(
8027            "Offset of field: ",
8028            stringify!(ANativeWindow_Buffer),
8029            "::",
8030            stringify!(height)
8031        )
8032    );
8033    assert_eq!(
8034        unsafe { ::std::ptr::addr_of!((*ptr).stride) as usize - ptr as usize },
8035        8usize,
8036        concat!(
8037            "Offset of field: ",
8038            stringify!(ANativeWindow_Buffer),
8039            "::",
8040            stringify!(stride)
8041        )
8042    );
8043    assert_eq!(
8044        unsafe { ::std::ptr::addr_of!((*ptr).format) as usize - ptr as usize },
8045        12usize,
8046        concat!(
8047            "Offset of field: ",
8048            stringify!(ANativeWindow_Buffer),
8049            "::",
8050            stringify!(format)
8051        )
8052    );
8053    assert_eq!(
8054        unsafe { ::std::ptr::addr_of!((*ptr).bits) as usize - ptr as usize },
8055        16usize,
8056        concat!(
8057            "Offset of field: ",
8058            stringify!(ANativeWindow_Buffer),
8059            "::",
8060            stringify!(bits)
8061        )
8062    );
8063    assert_eq!(
8064        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
8065        20usize,
8066        concat!(
8067            "Offset of field: ",
8068            stringify!(ANativeWindow_Buffer),
8069            "::",
8070            stringify!(reserved)
8071        )
8072    );
8073}
8074extern "C" {
8075    pub fn ANativeWindow_acquire(window: *mut ANativeWindow);
8076}
8077extern "C" {
8078    pub fn ANativeWindow_release(window: *mut ANativeWindow);
8079}
8080extern "C" {
8081    pub fn ANativeWindow_getWidth(window: *mut ANativeWindow) -> i32;
8082}
8083extern "C" {
8084    pub fn ANativeWindow_getHeight(window: *mut ANativeWindow) -> i32;
8085}
8086extern "C" {
8087    pub fn ANativeWindow_getFormat(window: *mut ANativeWindow) -> i32;
8088}
8089extern "C" {
8090    pub fn ANativeWindow_setBuffersGeometry(
8091        window: *mut ANativeWindow,
8092        width: i32,
8093        height: i32,
8094        format: i32,
8095    ) -> i32;
8096}
8097extern "C" {
8098    pub fn ANativeWindow_lock(
8099        window: *mut ANativeWindow,
8100        outBuffer: *mut ANativeWindow_Buffer,
8101        inOutDirtyBounds: *mut ARect,
8102    ) -> i32;
8103}
8104extern "C" {
8105    pub fn ANativeWindow_unlockAndPost(window: *mut ANativeWindow) -> i32;
8106}
8107extern "C" {
8108    pub fn ANativeWindow_setBuffersTransform(window: *mut ANativeWindow, transform: i32) -> i32;
8109}
8110extern "C" {
8111    pub fn ANativeWindow_setBuffersDataSpace(window: *mut ANativeWindow, dataSpace: i32) -> i32;
8112}
8113extern "C" {
8114    pub fn ANativeWindow_getBuffersDataSpace(window: *mut ANativeWindow) -> i32;
8115}
8116extern "C" {
8117    pub fn ANativeWindow_getBuffersDefaultDataSpace(window: *mut ANativeWindow) -> i32;
8118}
8119impl ANativeWindow_FrameRateCompatibility {
8120    pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_DEFAULT: ANativeWindow_FrameRateCompatibility =
8121        ANativeWindow_FrameRateCompatibility(0);
8122}
8123impl ANativeWindow_FrameRateCompatibility {
8124    pub const ANATIVEWINDOW_FRAME_RATE_COMPATIBILITY_FIXED_SOURCE:
8125        ANativeWindow_FrameRateCompatibility = ANativeWindow_FrameRateCompatibility(1);
8126}
8127#[repr(transparent)]
8128#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8129pub struct ANativeWindow_FrameRateCompatibility(pub ::std::os::raw::c_uint);
8130extern "C" {
8131    pub fn ANativeWindow_setFrameRate(
8132        window: *mut ANativeWindow,
8133        frameRate: f32,
8134        compatibility: i8,
8135    ) -> i32;
8136}
8137extern "C" {
8138    pub fn ANativeWindow_tryAllocateBuffers(window: *mut ANativeWindow);
8139}
8140impl ANativeWindow_ChangeFrameRateStrategy {
8141    pub const ANATIVEWINDOW_CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS:
8142        ANativeWindow_ChangeFrameRateStrategy = ANativeWindow_ChangeFrameRateStrategy(0);
8143}
8144impl ANativeWindow_ChangeFrameRateStrategy {
8145    pub const ANATIVEWINDOW_CHANGE_FRAME_RATE_ALWAYS: ANativeWindow_ChangeFrameRateStrategy =
8146        ANativeWindow_ChangeFrameRateStrategy(1);
8147}
8148#[repr(transparent)]
8149#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8150pub struct ANativeWindow_ChangeFrameRateStrategy(pub ::std::os::raw::c_uint);
8151extern "C" {
8152    pub fn ANativeWindow_setFrameRateWithChangeStrategy(
8153        window: *mut ANativeWindow,
8154        frameRate: f32,
8155        compatibility: i8,
8156        changeFrameRateStrategy: i8,
8157    ) -> i32;
8158}
8159#[repr(C)]
8160pub struct ANativeActivity {
8161    pub callbacks: *mut ANativeActivityCallbacks,
8162    pub vm: *mut JavaVM,
8163    pub env: *mut JNIEnv,
8164    pub clazz: jobject,
8165    pub internalDataPath: *const ::std::os::raw::c_char,
8166    pub externalDataPath: *const ::std::os::raw::c_char,
8167    pub sdkVersion: i32,
8168    pub instance: *mut ::std::os::raw::c_void,
8169    pub assetManager: *mut AAssetManager,
8170    pub obbPath: *const ::std::os::raw::c_char,
8171}
8172#[test]
8173fn bindgen_test_layout_ANativeActivity() {
8174    const UNINIT: ::std::mem::MaybeUninit<ANativeActivity> = ::std::mem::MaybeUninit::uninit();
8175    let ptr = UNINIT.as_ptr();
8176    assert_eq!(
8177        ::std::mem::size_of::<ANativeActivity>(),
8178        40usize,
8179        concat!("Size of: ", stringify!(ANativeActivity))
8180    );
8181    assert_eq!(
8182        ::std::mem::align_of::<ANativeActivity>(),
8183        4usize,
8184        concat!("Alignment of ", stringify!(ANativeActivity))
8185    );
8186    assert_eq!(
8187        unsafe { ::std::ptr::addr_of!((*ptr).callbacks) as usize - ptr as usize },
8188        0usize,
8189        concat!(
8190            "Offset of field: ",
8191            stringify!(ANativeActivity),
8192            "::",
8193            stringify!(callbacks)
8194        )
8195    );
8196    assert_eq!(
8197        unsafe { ::std::ptr::addr_of!((*ptr).vm) as usize - ptr as usize },
8198        4usize,
8199        concat!(
8200            "Offset of field: ",
8201            stringify!(ANativeActivity),
8202            "::",
8203            stringify!(vm)
8204        )
8205    );
8206    assert_eq!(
8207        unsafe { ::std::ptr::addr_of!((*ptr).env) as usize - ptr as usize },
8208        8usize,
8209        concat!(
8210            "Offset of field: ",
8211            stringify!(ANativeActivity),
8212            "::",
8213            stringify!(env)
8214        )
8215    );
8216    assert_eq!(
8217        unsafe { ::std::ptr::addr_of!((*ptr).clazz) as usize - ptr as usize },
8218        12usize,
8219        concat!(
8220            "Offset of field: ",
8221            stringify!(ANativeActivity),
8222            "::",
8223            stringify!(clazz)
8224        )
8225    );
8226    assert_eq!(
8227        unsafe { ::std::ptr::addr_of!((*ptr).internalDataPath) as usize - ptr as usize },
8228        16usize,
8229        concat!(
8230            "Offset of field: ",
8231            stringify!(ANativeActivity),
8232            "::",
8233            stringify!(internalDataPath)
8234        )
8235    );
8236    assert_eq!(
8237        unsafe { ::std::ptr::addr_of!((*ptr).externalDataPath) as usize - ptr as usize },
8238        20usize,
8239        concat!(
8240            "Offset of field: ",
8241            stringify!(ANativeActivity),
8242            "::",
8243            stringify!(externalDataPath)
8244        )
8245    );
8246    assert_eq!(
8247        unsafe { ::std::ptr::addr_of!((*ptr).sdkVersion) as usize - ptr as usize },
8248        24usize,
8249        concat!(
8250            "Offset of field: ",
8251            stringify!(ANativeActivity),
8252            "::",
8253            stringify!(sdkVersion)
8254        )
8255    );
8256    assert_eq!(
8257        unsafe { ::std::ptr::addr_of!((*ptr).instance) as usize - ptr as usize },
8258        28usize,
8259        concat!(
8260            "Offset of field: ",
8261            stringify!(ANativeActivity),
8262            "::",
8263            stringify!(instance)
8264        )
8265    );
8266    assert_eq!(
8267        unsafe { ::std::ptr::addr_of!((*ptr).assetManager) as usize - ptr as usize },
8268        32usize,
8269        concat!(
8270            "Offset of field: ",
8271            stringify!(ANativeActivity),
8272            "::",
8273            stringify!(assetManager)
8274        )
8275    );
8276    assert_eq!(
8277        unsafe { ::std::ptr::addr_of!((*ptr).obbPath) as usize - ptr as usize },
8278        36usize,
8279        concat!(
8280            "Offset of field: ",
8281            stringify!(ANativeActivity),
8282            "::",
8283            stringify!(obbPath)
8284        )
8285    );
8286}
8287#[repr(C)]
8288#[derive(Debug, Copy, Clone)]
8289pub struct ANativeActivityCallbacks {
8290    pub onStart: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8291    pub onResume: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8292    pub onSaveInstanceState: ::std::option::Option<
8293        unsafe extern "C" fn(
8294            activity: *mut ANativeActivity,
8295            outSize: *mut usize,
8296        ) -> *mut ::std::os::raw::c_void,
8297    >,
8298    pub onPause: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8299    pub onStop: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8300    pub onDestroy: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8301    pub onWindowFocusChanged: ::std::option::Option<
8302        unsafe extern "C" fn(activity: *mut ANativeActivity, hasFocus: ::std::os::raw::c_int),
8303    >,
8304    pub onNativeWindowCreated: ::std::option::Option<
8305        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8306    >,
8307    pub onNativeWindowResized: ::std::option::Option<
8308        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8309    >,
8310    pub onNativeWindowRedrawNeeded: ::std::option::Option<
8311        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8312    >,
8313    pub onNativeWindowDestroyed: ::std::option::Option<
8314        unsafe extern "C" fn(activity: *mut ANativeActivity, window: *mut ANativeWindow),
8315    >,
8316    pub onInputQueueCreated: ::std::option::Option<
8317        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
8318    >,
8319    pub onInputQueueDestroyed: ::std::option::Option<
8320        unsafe extern "C" fn(activity: *mut ANativeActivity, queue: *mut AInputQueue),
8321    >,
8322    pub onContentRectChanged: ::std::option::Option<
8323        unsafe extern "C" fn(activity: *mut ANativeActivity, rect: *const ARect),
8324    >,
8325    pub onConfigurationChanged:
8326        ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8327    pub onLowMemory: ::std::option::Option<unsafe extern "C" fn(activity: *mut ANativeActivity)>,
8328}
8329#[test]
8330fn bindgen_test_layout_ANativeActivityCallbacks() {
8331    const UNINIT: ::std::mem::MaybeUninit<ANativeActivityCallbacks> =
8332        ::std::mem::MaybeUninit::uninit();
8333    let ptr = UNINIT.as_ptr();
8334    assert_eq!(
8335        ::std::mem::size_of::<ANativeActivityCallbacks>(),
8336        64usize,
8337        concat!("Size of: ", stringify!(ANativeActivityCallbacks))
8338    );
8339    assert_eq!(
8340        ::std::mem::align_of::<ANativeActivityCallbacks>(),
8341        4usize,
8342        concat!("Alignment of ", stringify!(ANativeActivityCallbacks))
8343    );
8344    assert_eq!(
8345        unsafe { ::std::ptr::addr_of!((*ptr).onStart) as usize - ptr as usize },
8346        0usize,
8347        concat!(
8348            "Offset of field: ",
8349            stringify!(ANativeActivityCallbacks),
8350            "::",
8351            stringify!(onStart)
8352        )
8353    );
8354    assert_eq!(
8355        unsafe { ::std::ptr::addr_of!((*ptr).onResume) as usize - ptr as usize },
8356        4usize,
8357        concat!(
8358            "Offset of field: ",
8359            stringify!(ANativeActivityCallbacks),
8360            "::",
8361            stringify!(onResume)
8362        )
8363    );
8364    assert_eq!(
8365        unsafe { ::std::ptr::addr_of!((*ptr).onSaveInstanceState) as usize - ptr as usize },
8366        8usize,
8367        concat!(
8368            "Offset of field: ",
8369            stringify!(ANativeActivityCallbacks),
8370            "::",
8371            stringify!(onSaveInstanceState)
8372        )
8373    );
8374    assert_eq!(
8375        unsafe { ::std::ptr::addr_of!((*ptr).onPause) as usize - ptr as usize },
8376        12usize,
8377        concat!(
8378            "Offset of field: ",
8379            stringify!(ANativeActivityCallbacks),
8380            "::",
8381            stringify!(onPause)
8382        )
8383    );
8384    assert_eq!(
8385        unsafe { ::std::ptr::addr_of!((*ptr).onStop) as usize - ptr as usize },
8386        16usize,
8387        concat!(
8388            "Offset of field: ",
8389            stringify!(ANativeActivityCallbacks),
8390            "::",
8391            stringify!(onStop)
8392        )
8393    );
8394    assert_eq!(
8395        unsafe { ::std::ptr::addr_of!((*ptr).onDestroy) as usize - ptr as usize },
8396        20usize,
8397        concat!(
8398            "Offset of field: ",
8399            stringify!(ANativeActivityCallbacks),
8400            "::",
8401            stringify!(onDestroy)
8402        )
8403    );
8404    assert_eq!(
8405        unsafe { ::std::ptr::addr_of!((*ptr).onWindowFocusChanged) as usize - ptr as usize },
8406        24usize,
8407        concat!(
8408            "Offset of field: ",
8409            stringify!(ANativeActivityCallbacks),
8410            "::",
8411            stringify!(onWindowFocusChanged)
8412        )
8413    );
8414    assert_eq!(
8415        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowCreated) as usize - ptr as usize },
8416        28usize,
8417        concat!(
8418            "Offset of field: ",
8419            stringify!(ANativeActivityCallbacks),
8420            "::",
8421            stringify!(onNativeWindowCreated)
8422        )
8423    );
8424    assert_eq!(
8425        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowResized) as usize - ptr as usize },
8426        32usize,
8427        concat!(
8428            "Offset of field: ",
8429            stringify!(ANativeActivityCallbacks),
8430            "::",
8431            stringify!(onNativeWindowResized)
8432        )
8433    );
8434    assert_eq!(
8435        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowRedrawNeeded) as usize - ptr as usize },
8436        36usize,
8437        concat!(
8438            "Offset of field: ",
8439            stringify!(ANativeActivityCallbacks),
8440            "::",
8441            stringify!(onNativeWindowRedrawNeeded)
8442        )
8443    );
8444    assert_eq!(
8445        unsafe { ::std::ptr::addr_of!((*ptr).onNativeWindowDestroyed) as usize - ptr as usize },
8446        40usize,
8447        concat!(
8448            "Offset of field: ",
8449            stringify!(ANativeActivityCallbacks),
8450            "::",
8451            stringify!(onNativeWindowDestroyed)
8452        )
8453    );
8454    assert_eq!(
8455        unsafe { ::std::ptr::addr_of!((*ptr).onInputQueueCreated) as usize - ptr as usize },
8456        44usize,
8457        concat!(
8458            "Offset of field: ",
8459            stringify!(ANativeActivityCallbacks),
8460            "::",
8461            stringify!(onInputQueueCreated)
8462        )
8463    );
8464    assert_eq!(
8465        unsafe { ::std::ptr::addr_of!((*ptr).onInputQueueDestroyed) as usize - ptr as usize },
8466        48usize,
8467        concat!(
8468            "Offset of field: ",
8469            stringify!(ANativeActivityCallbacks),
8470            "::",
8471            stringify!(onInputQueueDestroyed)
8472        )
8473    );
8474    assert_eq!(
8475        unsafe { ::std::ptr::addr_of!((*ptr).onContentRectChanged) as usize - ptr as usize },
8476        52usize,
8477        concat!(
8478            "Offset of field: ",
8479            stringify!(ANativeActivityCallbacks),
8480            "::",
8481            stringify!(onContentRectChanged)
8482        )
8483    );
8484    assert_eq!(
8485        unsafe { ::std::ptr::addr_of!((*ptr).onConfigurationChanged) as usize - ptr as usize },
8486        56usize,
8487        concat!(
8488            "Offset of field: ",
8489            stringify!(ANativeActivityCallbacks),
8490            "::",
8491            stringify!(onConfigurationChanged)
8492        )
8493    );
8494    assert_eq!(
8495        unsafe { ::std::ptr::addr_of!((*ptr).onLowMemory) as usize - ptr as usize },
8496        60usize,
8497        concat!(
8498            "Offset of field: ",
8499            stringify!(ANativeActivityCallbacks),
8500            "::",
8501            stringify!(onLowMemory)
8502        )
8503    );
8504}
8505pub type ANativeActivity_createFunc = ::std::option::Option<
8506    unsafe extern "C" fn(
8507        activity: *mut ANativeActivity,
8508        savedState: *mut ::std::os::raw::c_void,
8509        savedStateSize: usize,
8510    ),
8511>;
8512extern "C" {
8513    pub fn ANativeActivity_onCreate(
8514        activity: *mut ANativeActivity,
8515        savedState: *mut ::std::os::raw::c_void,
8516        savedStateSize: usize,
8517    );
8518}
8519extern "C" {
8520    pub fn ANativeActivity_finish(activity: *mut ANativeActivity);
8521}
8522extern "C" {
8523    pub fn ANativeActivity_setWindowFormat(activity: *mut ANativeActivity, format: i32);
8524}
8525extern "C" {
8526    pub fn ANativeActivity_setWindowFlags(
8527        activity: *mut ANativeActivity,
8528        addFlags: u32,
8529        removeFlags: u32,
8530    );
8531}
8532pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT: _bindgen_ty_33 = 1;
8533pub const ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED: _bindgen_ty_33 = 2;
8534pub type _bindgen_ty_33 = ::std::os::raw::c_uint;
8535extern "C" {
8536    pub fn ANativeActivity_showSoftInput(activity: *mut ANativeActivity, flags: u32);
8537}
8538pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_IMPLICIT_ONLY: _bindgen_ty_34 = 1;
8539pub const ANATIVEACTIVITY_HIDE_SOFT_INPUT_NOT_ALWAYS: _bindgen_ty_34 = 2;
8540pub type _bindgen_ty_34 = ::std::os::raw::c_uint;
8541extern "C" {
8542    pub fn ANativeActivity_hideSoftInput(activity: *mut ANativeActivity, flags: u32);
8543}
8544extern "C" {
8545    pub fn ANativeWindow_fromSurface(env: *mut JNIEnv, surface: jobject) -> *mut ANativeWindow;
8546}
8547extern "C" {
8548    pub fn ANativeWindow_toSurface(env: *mut JNIEnv, window: *mut ANativeWindow) -> jobject;
8549}
8550impl OperandCode {
8551    pub const ANEURALNETWORKS_FLOAT32: OperandCode = OperandCode(0);
8552}
8553impl OperandCode {
8554    pub const ANEURALNETWORKS_INT32: OperandCode = OperandCode(1);
8555}
8556impl OperandCode {
8557    pub const ANEURALNETWORKS_UINT32: OperandCode = OperandCode(2);
8558}
8559impl OperandCode {
8560    pub const ANEURALNETWORKS_TENSOR_FLOAT32: OperandCode = OperandCode(3);
8561}
8562impl OperandCode {
8563    pub const ANEURALNETWORKS_TENSOR_INT32: OperandCode = OperandCode(4);
8564}
8565impl OperandCode {
8566    pub const ANEURALNETWORKS_TENSOR_QUANT8_ASYMM: OperandCode = OperandCode(5);
8567}
8568impl OperandCode {
8569    pub const ANEURALNETWORKS_BOOL: OperandCode = OperandCode(6);
8570}
8571impl OperandCode {
8572    pub const ANEURALNETWORKS_TENSOR_QUANT16_SYMM: OperandCode = OperandCode(7);
8573}
8574impl OperandCode {
8575    pub const ANEURALNETWORKS_TENSOR_FLOAT16: OperandCode = OperandCode(8);
8576}
8577impl OperandCode {
8578    pub const ANEURALNETWORKS_TENSOR_BOOL8: OperandCode = OperandCode(9);
8579}
8580impl OperandCode {
8581    pub const ANEURALNETWORKS_FLOAT16: OperandCode = OperandCode(10);
8582}
8583impl OperandCode {
8584    pub const ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL: OperandCode = OperandCode(11);
8585}
8586impl OperandCode {
8587    pub const ANEURALNETWORKS_TENSOR_QUANT16_ASYMM: OperandCode = OperandCode(12);
8588}
8589impl OperandCode {
8590    pub const ANEURALNETWORKS_TENSOR_QUANT8_SYMM: OperandCode = OperandCode(13);
8591}
8592impl OperandCode {
8593    pub const ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED: OperandCode = OperandCode(14);
8594}
8595impl OperandCode {
8596    pub const ANEURALNETWORKS_MODEL: OperandCode = OperandCode(15);
8597}
8598#[repr(transparent)]
8599#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8600pub struct OperandCode(pub ::std::os::raw::c_uint);
8601impl OperationCode {
8602    pub const ANEURALNETWORKS_ADD: OperationCode = OperationCode(0);
8603}
8604impl OperationCode {
8605    pub const ANEURALNETWORKS_AVERAGE_POOL_2D: OperationCode = OperationCode(1);
8606}
8607impl OperationCode {
8608    pub const ANEURALNETWORKS_CONCATENATION: OperationCode = OperationCode(2);
8609}
8610impl OperationCode {
8611    pub const ANEURALNETWORKS_CONV_2D: OperationCode = OperationCode(3);
8612}
8613impl OperationCode {
8614    pub const ANEURALNETWORKS_DEPTHWISE_CONV_2D: OperationCode = OperationCode(4);
8615}
8616impl OperationCode {
8617    pub const ANEURALNETWORKS_DEPTH_TO_SPACE: OperationCode = OperationCode(5);
8618}
8619impl OperationCode {
8620    pub const ANEURALNETWORKS_DEQUANTIZE: OperationCode = OperationCode(6);
8621}
8622impl OperationCode {
8623    pub const ANEURALNETWORKS_EMBEDDING_LOOKUP: OperationCode = OperationCode(7);
8624}
8625impl OperationCode {
8626    pub const ANEURALNETWORKS_FLOOR: OperationCode = OperationCode(8);
8627}
8628impl OperationCode {
8629    pub const ANEURALNETWORKS_FULLY_CONNECTED: OperationCode = OperationCode(9);
8630}
8631impl OperationCode {
8632    pub const ANEURALNETWORKS_HASHTABLE_LOOKUP: OperationCode = OperationCode(10);
8633}
8634impl OperationCode {
8635    pub const ANEURALNETWORKS_L2_NORMALIZATION: OperationCode = OperationCode(11);
8636}
8637impl OperationCode {
8638    pub const ANEURALNETWORKS_L2_POOL_2D: OperationCode = OperationCode(12);
8639}
8640impl OperationCode {
8641    pub const ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION: OperationCode = OperationCode(13);
8642}
8643impl OperationCode {
8644    pub const ANEURALNETWORKS_LOGISTIC: OperationCode = OperationCode(14);
8645}
8646impl OperationCode {
8647    pub const ANEURALNETWORKS_LSH_PROJECTION: OperationCode = OperationCode(15);
8648}
8649impl OperationCode {
8650    pub const ANEURALNETWORKS_LSTM: OperationCode = OperationCode(16);
8651}
8652impl OperationCode {
8653    pub const ANEURALNETWORKS_MAX_POOL_2D: OperationCode = OperationCode(17);
8654}
8655impl OperationCode {
8656    pub const ANEURALNETWORKS_MUL: OperationCode = OperationCode(18);
8657}
8658impl OperationCode {
8659    pub const ANEURALNETWORKS_RELU: OperationCode = OperationCode(19);
8660}
8661impl OperationCode {
8662    pub const ANEURALNETWORKS_RELU1: OperationCode = OperationCode(20);
8663}
8664impl OperationCode {
8665    pub const ANEURALNETWORKS_RELU6: OperationCode = OperationCode(21);
8666}
8667impl OperationCode {
8668    pub const ANEURALNETWORKS_RESHAPE: OperationCode = OperationCode(22);
8669}
8670impl OperationCode {
8671    pub const ANEURALNETWORKS_RESIZE_BILINEAR: OperationCode = OperationCode(23);
8672}
8673impl OperationCode {
8674    pub const ANEURALNETWORKS_RNN: OperationCode = OperationCode(24);
8675}
8676impl OperationCode {
8677    pub const ANEURALNETWORKS_SOFTMAX: OperationCode = OperationCode(25);
8678}
8679impl OperationCode {
8680    pub const ANEURALNETWORKS_SPACE_TO_DEPTH: OperationCode = OperationCode(26);
8681}
8682impl OperationCode {
8683    pub const ANEURALNETWORKS_SVDF: OperationCode = OperationCode(27);
8684}
8685impl OperationCode {
8686    pub const ANEURALNETWORKS_TANH: OperationCode = OperationCode(28);
8687}
8688impl OperationCode {
8689    pub const ANEURALNETWORKS_BATCH_TO_SPACE_ND: OperationCode = OperationCode(29);
8690}
8691impl OperationCode {
8692    pub const ANEURALNETWORKS_DIV: OperationCode = OperationCode(30);
8693}
8694impl OperationCode {
8695    pub const ANEURALNETWORKS_MEAN: OperationCode = OperationCode(31);
8696}
8697impl OperationCode {
8698    pub const ANEURALNETWORKS_PAD: OperationCode = OperationCode(32);
8699}
8700impl OperationCode {
8701    pub const ANEURALNETWORKS_SPACE_TO_BATCH_ND: OperationCode = OperationCode(33);
8702}
8703impl OperationCode {
8704    pub const ANEURALNETWORKS_SQUEEZE: OperationCode = OperationCode(34);
8705}
8706impl OperationCode {
8707    pub const ANEURALNETWORKS_STRIDED_SLICE: OperationCode = OperationCode(35);
8708}
8709impl OperationCode {
8710    pub const ANEURALNETWORKS_SUB: OperationCode = OperationCode(36);
8711}
8712impl OperationCode {
8713    pub const ANEURALNETWORKS_TRANSPOSE: OperationCode = OperationCode(37);
8714}
8715impl OperationCode {
8716    pub const ANEURALNETWORKS_ABS: OperationCode = OperationCode(38);
8717}
8718impl OperationCode {
8719    pub const ANEURALNETWORKS_ARGMAX: OperationCode = OperationCode(39);
8720}
8721impl OperationCode {
8722    pub const ANEURALNETWORKS_ARGMIN: OperationCode = OperationCode(40);
8723}
8724impl OperationCode {
8725    pub const ANEURALNETWORKS_AXIS_ALIGNED_BBOX_TRANSFORM: OperationCode = OperationCode(41);
8726}
8727impl OperationCode {
8728    pub const ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = OperationCode(42);
8729}
8730impl OperationCode {
8731    pub const ANEURALNETWORKS_BIDIRECTIONAL_SEQUENCE_RNN: OperationCode = OperationCode(43);
8732}
8733impl OperationCode {
8734    pub const ANEURALNETWORKS_BOX_WITH_NMS_LIMIT: OperationCode = OperationCode(44);
8735}
8736impl OperationCode {
8737    pub const ANEURALNETWORKS_CAST: OperationCode = OperationCode(45);
8738}
8739impl OperationCode {
8740    pub const ANEURALNETWORKS_CHANNEL_SHUFFLE: OperationCode = OperationCode(46);
8741}
8742impl OperationCode {
8743    pub const ANEURALNETWORKS_DETECTION_POSTPROCESSING: OperationCode = OperationCode(47);
8744}
8745impl OperationCode {
8746    pub const ANEURALNETWORKS_EQUAL: OperationCode = OperationCode(48);
8747}
8748impl OperationCode {
8749    pub const ANEURALNETWORKS_EXP: OperationCode = OperationCode(49);
8750}
8751impl OperationCode {
8752    pub const ANEURALNETWORKS_EXPAND_DIMS: OperationCode = OperationCode(50);
8753}
8754impl OperationCode {
8755    pub const ANEURALNETWORKS_GATHER: OperationCode = OperationCode(51);
8756}
8757impl OperationCode {
8758    pub const ANEURALNETWORKS_GENERATE_PROPOSALS: OperationCode = OperationCode(52);
8759}
8760impl OperationCode {
8761    pub const ANEURALNETWORKS_GREATER: OperationCode = OperationCode(53);
8762}
8763impl OperationCode {
8764    pub const ANEURALNETWORKS_GREATER_EQUAL: OperationCode = OperationCode(54);
8765}
8766impl OperationCode {
8767    pub const ANEURALNETWORKS_GROUPED_CONV_2D: OperationCode = OperationCode(55);
8768}
8769impl OperationCode {
8770    pub const ANEURALNETWORKS_HEATMAP_MAX_KEYPOINT: OperationCode = OperationCode(56);
8771}
8772impl OperationCode {
8773    pub const ANEURALNETWORKS_INSTANCE_NORMALIZATION: OperationCode = OperationCode(57);
8774}
8775impl OperationCode {
8776    pub const ANEURALNETWORKS_LESS: OperationCode = OperationCode(58);
8777}
8778impl OperationCode {
8779    pub const ANEURALNETWORKS_LESS_EQUAL: OperationCode = OperationCode(59);
8780}
8781impl OperationCode {
8782    pub const ANEURALNETWORKS_LOG: OperationCode = OperationCode(60);
8783}
8784impl OperationCode {
8785    pub const ANEURALNETWORKS_LOGICAL_AND: OperationCode = OperationCode(61);
8786}
8787impl OperationCode {
8788    pub const ANEURALNETWORKS_LOGICAL_NOT: OperationCode = OperationCode(62);
8789}
8790impl OperationCode {
8791    pub const ANEURALNETWORKS_LOGICAL_OR: OperationCode = OperationCode(63);
8792}
8793impl OperationCode {
8794    pub const ANEURALNETWORKS_LOG_SOFTMAX: OperationCode = OperationCode(64);
8795}
8796impl OperationCode {
8797    pub const ANEURALNETWORKS_MAXIMUM: OperationCode = OperationCode(65);
8798}
8799impl OperationCode {
8800    pub const ANEURALNETWORKS_MINIMUM: OperationCode = OperationCode(66);
8801}
8802impl OperationCode {
8803    pub const ANEURALNETWORKS_NEG: OperationCode = OperationCode(67);
8804}
8805impl OperationCode {
8806    pub const ANEURALNETWORKS_NOT_EQUAL: OperationCode = OperationCode(68);
8807}
8808impl OperationCode {
8809    pub const ANEURALNETWORKS_PAD_V2: OperationCode = OperationCode(69);
8810}
8811impl OperationCode {
8812    pub const ANEURALNETWORKS_POW: OperationCode = OperationCode(70);
8813}
8814impl OperationCode {
8815    pub const ANEURALNETWORKS_PRELU: OperationCode = OperationCode(71);
8816}
8817impl OperationCode {
8818    pub const ANEURALNETWORKS_QUANTIZE: OperationCode = OperationCode(72);
8819}
8820impl OperationCode {
8821    pub const ANEURALNETWORKS_QUANTIZED_16BIT_LSTM: OperationCode = OperationCode(73);
8822}
8823impl OperationCode {
8824    pub const ANEURALNETWORKS_RANDOM_MULTINOMIAL: OperationCode = OperationCode(74);
8825}
8826impl OperationCode {
8827    pub const ANEURALNETWORKS_REDUCE_ALL: OperationCode = OperationCode(75);
8828}
8829impl OperationCode {
8830    pub const ANEURALNETWORKS_REDUCE_ANY: OperationCode = OperationCode(76);
8831}
8832impl OperationCode {
8833    pub const ANEURALNETWORKS_REDUCE_MAX: OperationCode = OperationCode(77);
8834}
8835impl OperationCode {
8836    pub const ANEURALNETWORKS_REDUCE_MIN: OperationCode = OperationCode(78);
8837}
8838impl OperationCode {
8839    pub const ANEURALNETWORKS_REDUCE_PROD: OperationCode = OperationCode(79);
8840}
8841impl OperationCode {
8842    pub const ANEURALNETWORKS_REDUCE_SUM: OperationCode = OperationCode(80);
8843}
8844impl OperationCode {
8845    pub const ANEURALNETWORKS_ROI_ALIGN: OperationCode = OperationCode(81);
8846}
8847impl OperationCode {
8848    pub const ANEURALNETWORKS_ROI_POOLING: OperationCode = OperationCode(82);
8849}
8850impl OperationCode {
8851    pub const ANEURALNETWORKS_RSQRT: OperationCode = OperationCode(83);
8852}
8853impl OperationCode {
8854    pub const ANEURALNETWORKS_SELECT: OperationCode = OperationCode(84);
8855}
8856impl OperationCode {
8857    pub const ANEURALNETWORKS_SIN: OperationCode = OperationCode(85);
8858}
8859impl OperationCode {
8860    pub const ANEURALNETWORKS_SLICE: OperationCode = OperationCode(86);
8861}
8862impl OperationCode {
8863    pub const ANEURALNETWORKS_SPLIT: OperationCode = OperationCode(87);
8864}
8865impl OperationCode {
8866    pub const ANEURALNETWORKS_SQRT: OperationCode = OperationCode(88);
8867}
8868impl OperationCode {
8869    pub const ANEURALNETWORKS_TILE: OperationCode = OperationCode(89);
8870}
8871impl OperationCode {
8872    pub const ANEURALNETWORKS_TOPK_V2: OperationCode = OperationCode(90);
8873}
8874impl OperationCode {
8875    pub const ANEURALNETWORKS_TRANSPOSE_CONV_2D: OperationCode = OperationCode(91);
8876}
8877impl OperationCode {
8878    pub const ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_LSTM: OperationCode = OperationCode(92);
8879}
8880impl OperationCode {
8881    pub const ANEURALNETWORKS_UNIDIRECTIONAL_SEQUENCE_RNN: OperationCode = OperationCode(93);
8882}
8883impl OperationCode {
8884    pub const ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR: OperationCode = OperationCode(94);
8885}
8886impl OperationCode {
8887    pub const ANEURALNETWORKS_QUANTIZED_LSTM: OperationCode = OperationCode(95);
8888}
8889impl OperationCode {
8890    pub const ANEURALNETWORKS_IF: OperationCode = OperationCode(96);
8891}
8892impl OperationCode {
8893    pub const ANEURALNETWORKS_WHILE: OperationCode = OperationCode(97);
8894}
8895impl OperationCode {
8896    pub const ANEURALNETWORKS_ELU: OperationCode = OperationCode(98);
8897}
8898impl OperationCode {
8899    pub const ANEURALNETWORKS_HARD_SWISH: OperationCode = OperationCode(99);
8900}
8901impl OperationCode {
8902    pub const ANEURALNETWORKS_FILL: OperationCode = OperationCode(100);
8903}
8904impl OperationCode {
8905    pub const ANEURALNETWORKS_RANK: OperationCode = OperationCode(101);
8906}
8907impl OperationCode {
8908    pub const ANEURALNETWORKS_BATCH_MATMUL: OperationCode = OperationCode(102);
8909}
8910impl OperationCode {
8911    pub const ANEURALNETWORKS_PACK: OperationCode = OperationCode(103);
8912}
8913impl OperationCode {
8914    pub const ANEURALNETWORKS_MIRROR_PAD: OperationCode = OperationCode(104);
8915}
8916impl OperationCode {
8917    pub const ANEURALNETWORKS_REVERSE: OperationCode = OperationCode(105);
8918}
8919#[repr(transparent)]
8920#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8921pub struct OperationCode(pub ::std::os::raw::c_uint);
8922impl FuseCode {
8923    pub const ANEURALNETWORKS_FUSED_NONE: FuseCode = FuseCode(0);
8924}
8925impl FuseCode {
8926    pub const ANEURALNETWORKS_FUSED_RELU: FuseCode = FuseCode(1);
8927}
8928impl FuseCode {
8929    pub const ANEURALNETWORKS_FUSED_RELU1: FuseCode = FuseCode(2);
8930}
8931impl FuseCode {
8932    pub const ANEURALNETWORKS_FUSED_RELU6: FuseCode = FuseCode(3);
8933}
8934#[repr(transparent)]
8935#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8936pub struct FuseCode(pub ::std::os::raw::c_uint);
8937impl PaddingCode {
8938    pub const ANEURALNETWORKS_PADDING_SAME: PaddingCode = PaddingCode(1);
8939}
8940impl PaddingCode {
8941    pub const ANEURALNETWORKS_PADDING_VALID: PaddingCode = PaddingCode(2);
8942}
8943#[repr(transparent)]
8944#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8945pub struct PaddingCode(pub ::std::os::raw::c_uint);
8946impl PreferenceCode {
8947    pub const ANEURALNETWORKS_PREFER_LOW_POWER: PreferenceCode = PreferenceCode(0);
8948}
8949impl PreferenceCode {
8950    pub const ANEURALNETWORKS_PREFER_FAST_SINGLE_ANSWER: PreferenceCode = PreferenceCode(1);
8951}
8952impl PreferenceCode {
8953    pub const ANEURALNETWORKS_PREFER_SUSTAINED_SPEED: PreferenceCode = PreferenceCode(2);
8954}
8955#[repr(transparent)]
8956#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8957pub struct PreferenceCode(pub ::std::os::raw::c_uint);
8958impl DeviceTypeCode {
8959    pub const ANEURALNETWORKS_DEVICE_UNKNOWN: DeviceTypeCode = DeviceTypeCode(0);
8960}
8961impl DeviceTypeCode {
8962    pub const ANEURALNETWORKS_DEVICE_OTHER: DeviceTypeCode = DeviceTypeCode(1);
8963}
8964impl DeviceTypeCode {
8965    pub const ANEURALNETWORKS_DEVICE_CPU: DeviceTypeCode = DeviceTypeCode(2);
8966}
8967impl DeviceTypeCode {
8968    pub const ANEURALNETWORKS_DEVICE_GPU: DeviceTypeCode = DeviceTypeCode(3);
8969}
8970impl DeviceTypeCode {
8971    pub const ANEURALNETWORKS_DEVICE_ACCELERATOR: DeviceTypeCode = DeviceTypeCode(4);
8972}
8973#[repr(transparent)]
8974#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8975pub struct DeviceTypeCode(pub ::std::os::raw::c_uint);
8976impl FeatureLevelCode {
8977    pub const ANEURALNETWORKS_FEATURE_LEVEL_1: FeatureLevelCode = FeatureLevelCode(27);
8978}
8979impl FeatureLevelCode {
8980    pub const ANEURALNETWORKS_FEATURE_LEVEL_2: FeatureLevelCode = FeatureLevelCode(28);
8981}
8982impl FeatureLevelCode {
8983    pub const ANEURALNETWORKS_FEATURE_LEVEL_3: FeatureLevelCode = FeatureLevelCode(29);
8984}
8985impl FeatureLevelCode {
8986    pub const ANEURALNETWORKS_FEATURE_LEVEL_4: FeatureLevelCode = FeatureLevelCode(30);
8987}
8988impl FeatureLevelCode {
8989    pub const ANEURALNETWORKS_FEATURE_LEVEL_5: FeatureLevelCode = FeatureLevelCode(31);
8990}
8991impl FeatureLevelCode {
8992    pub const ANEURALNETWORKS_FEATURE_LEVEL_6: FeatureLevelCode = FeatureLevelCode(1000006);
8993}
8994impl FeatureLevelCode {
8995    pub const ANEURALNETWORKS_FEATURE_LEVEL_7: FeatureLevelCode = FeatureLevelCode(1000007);
8996}
8997impl FeatureLevelCode {
8998    pub const ANEURALNETWORKS_FEATURE_LEVEL_8: FeatureLevelCode = FeatureLevelCode(1000008);
8999}
9000#[repr(transparent)]
9001#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9002pub struct FeatureLevelCode(pub ::std::os::raw::c_uint);
9003impl ResultCode {
9004    pub const ANEURALNETWORKS_NO_ERROR: ResultCode = ResultCode(0);
9005}
9006impl ResultCode {
9007    pub const ANEURALNETWORKS_OUT_OF_MEMORY: ResultCode = ResultCode(1);
9008}
9009impl ResultCode {
9010    pub const ANEURALNETWORKS_INCOMPLETE: ResultCode = ResultCode(2);
9011}
9012impl ResultCode {
9013    pub const ANEURALNETWORKS_UNEXPECTED_NULL: ResultCode = ResultCode(3);
9014}
9015impl ResultCode {
9016    pub const ANEURALNETWORKS_BAD_DATA: ResultCode = ResultCode(4);
9017}
9018impl ResultCode {
9019    pub const ANEURALNETWORKS_OP_FAILED: ResultCode = ResultCode(5);
9020}
9021impl ResultCode {
9022    pub const ANEURALNETWORKS_BAD_STATE: ResultCode = ResultCode(6);
9023}
9024impl ResultCode {
9025    pub const ANEURALNETWORKS_UNMAPPABLE: ResultCode = ResultCode(7);
9026}
9027impl ResultCode {
9028    pub const ANEURALNETWORKS_OUTPUT_INSUFFICIENT_SIZE: ResultCode = ResultCode(8);
9029}
9030impl ResultCode {
9031    pub const ANEURALNETWORKS_UNAVAILABLE_DEVICE: ResultCode = ResultCode(9);
9032}
9033impl ResultCode {
9034    pub const ANEURALNETWORKS_MISSED_DEADLINE_TRANSIENT: ResultCode = ResultCode(10);
9035}
9036impl ResultCode {
9037    pub const ANEURALNETWORKS_MISSED_DEADLINE_PERSISTENT: ResultCode = ResultCode(11);
9038}
9039impl ResultCode {
9040    pub const ANEURALNETWORKS_RESOURCE_EXHAUSTED_TRANSIENT: ResultCode = ResultCode(12);
9041}
9042impl ResultCode {
9043    pub const ANEURALNETWORKS_RESOURCE_EXHAUSTED_PERSISTENT: ResultCode = ResultCode(13);
9044}
9045impl ResultCode {
9046    pub const ANEURALNETWORKS_DEAD_OBJECT: ResultCode = ResultCode(14);
9047}
9048#[repr(transparent)]
9049#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9050pub struct ResultCode(pub ::std::os::raw::c_uint);
9051pub const ANEURALNETWORKS_MAX_SIZE_OF_IMMEDIATELY_COPIED_VALUES: _bindgen_ty_35 = 128;
9052pub type _bindgen_ty_35 = ::std::os::raw::c_uint;
9053pub const ANEURALNETWORKS_BYTE_SIZE_OF_CACHE_TOKEN: _bindgen_ty_36 = 32;
9054pub type _bindgen_ty_36 = ::std::os::raw::c_uint;
9055impl DurationCode {
9056    pub const ANEURALNETWORKS_DURATION_ON_HARDWARE: DurationCode = DurationCode(0);
9057}
9058impl DurationCode {
9059    pub const ANEURALNETWORKS_DURATION_IN_DRIVER: DurationCode = DurationCode(1);
9060}
9061impl DurationCode {
9062    pub const ANEURALNETWORKS_FENCED_DURATION_ON_HARDWARE: DurationCode = DurationCode(2);
9063}
9064impl DurationCode {
9065    pub const ANEURALNETWORKS_FENCED_DURATION_IN_DRIVER: DurationCode = DurationCode(3);
9066}
9067#[repr(transparent)]
9068#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9069pub struct DurationCode(pub ::std::os::raw::c_uint);
9070impl PriorityCode {
9071    pub const ANEURALNETWORKS_PRIORITY_LOW: PriorityCode = PriorityCode(90);
9072}
9073impl PriorityCode {
9074    pub const ANEURALNETWORKS_PRIORITY_MEDIUM: PriorityCode = PriorityCode(100);
9075}
9076impl PriorityCode {
9077    pub const ANEURALNETWORKS_PRIORITY_HIGH: PriorityCode = PriorityCode(110);
9078}
9079impl PriorityCode {
9080    pub const ANEURALNETWORKS_PRIORITY_DEFAULT: PriorityCode = PriorityCode(100);
9081}
9082#[repr(transparent)]
9083#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9084pub struct PriorityCode(pub ::std::os::raw::c_uint);
9085#[repr(C)]
9086#[derive(Debug, Copy, Clone)]
9087pub struct ANeuralNetworksMemory {
9088    _unused: [u8; 0],
9089}
9090#[repr(C)]
9091#[derive(Debug, Copy, Clone)]
9092pub struct ANeuralNetworksModel {
9093    _unused: [u8; 0],
9094}
9095#[repr(C)]
9096#[derive(Debug, Copy, Clone)]
9097pub struct ANeuralNetworksCompilation {
9098    _unused: [u8; 0],
9099}
9100#[repr(C)]
9101#[derive(Debug, Copy, Clone)]
9102pub struct ANeuralNetworksExecution {
9103    _unused: [u8; 0],
9104}
9105#[repr(C)]
9106#[derive(Debug, Copy, Clone)]
9107pub struct ANeuralNetworksSymmPerChannelQuantParams {
9108    pub channelDim: u32,
9109    pub scaleCount: u32,
9110    pub scales: *const f32,
9111}
9112#[test]
9113fn bindgen_test_layout_ANeuralNetworksSymmPerChannelQuantParams() {
9114    const UNINIT: ::std::mem::MaybeUninit<ANeuralNetworksSymmPerChannelQuantParams> =
9115        ::std::mem::MaybeUninit::uninit();
9116    let ptr = UNINIT.as_ptr();
9117    assert_eq!(
9118        ::std::mem::size_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
9119        12usize,
9120        concat!(
9121            "Size of: ",
9122            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
9123        )
9124    );
9125    assert_eq!(
9126        ::std::mem::align_of::<ANeuralNetworksSymmPerChannelQuantParams>(),
9127        4usize,
9128        concat!(
9129            "Alignment of ",
9130            stringify!(ANeuralNetworksSymmPerChannelQuantParams)
9131        )
9132    );
9133    assert_eq!(
9134        unsafe { ::std::ptr::addr_of!((*ptr).channelDim) as usize - ptr as usize },
9135        0usize,
9136        concat!(
9137            "Offset of field: ",
9138            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9139            "::",
9140            stringify!(channelDim)
9141        )
9142    );
9143    assert_eq!(
9144        unsafe { ::std::ptr::addr_of!((*ptr).scaleCount) as usize - ptr as usize },
9145        4usize,
9146        concat!(
9147            "Offset of field: ",
9148            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9149            "::",
9150            stringify!(scaleCount)
9151        )
9152    );
9153    assert_eq!(
9154        unsafe { ::std::ptr::addr_of!((*ptr).scales) as usize - ptr as usize },
9155        8usize,
9156        concat!(
9157            "Offset of field: ",
9158            stringify!(ANeuralNetworksSymmPerChannelQuantParams),
9159            "::",
9160            stringify!(scales)
9161        )
9162    );
9163}
9164#[repr(C)]
9165#[derive(Debug, Copy, Clone)]
9166pub struct ANeuralNetworksBurst {
9167    _unused: [u8; 0],
9168}
9169#[repr(C)]
9170#[derive(Debug, Copy, Clone)]
9171pub struct ANeuralNetworksOperandType {
9172    pub type_: i32,
9173    pub dimensionCount: u32,
9174    pub dimensions: *const u32,
9175    pub scale: f32,
9176    pub zeroPoint: i32,
9177}
9178#[test]
9179fn bindgen_test_layout_ANeuralNetworksOperandType() {
9180    const UNINIT: ::std::mem::MaybeUninit<ANeuralNetworksOperandType> =
9181        ::std::mem::MaybeUninit::uninit();
9182    let ptr = UNINIT.as_ptr();
9183    assert_eq!(
9184        ::std::mem::size_of::<ANeuralNetworksOperandType>(),
9185        20usize,
9186        concat!("Size of: ", stringify!(ANeuralNetworksOperandType))
9187    );
9188    assert_eq!(
9189        ::std::mem::align_of::<ANeuralNetworksOperandType>(),
9190        4usize,
9191        concat!("Alignment of ", stringify!(ANeuralNetworksOperandType))
9192    );
9193    assert_eq!(
9194        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9195        0usize,
9196        concat!(
9197            "Offset of field: ",
9198            stringify!(ANeuralNetworksOperandType),
9199            "::",
9200            stringify!(type_)
9201        )
9202    );
9203    assert_eq!(
9204        unsafe { ::std::ptr::addr_of!((*ptr).dimensionCount) as usize - ptr as usize },
9205        4usize,
9206        concat!(
9207            "Offset of field: ",
9208            stringify!(ANeuralNetworksOperandType),
9209            "::",
9210            stringify!(dimensionCount)
9211        )
9212    );
9213    assert_eq!(
9214        unsafe { ::std::ptr::addr_of!((*ptr).dimensions) as usize - ptr as usize },
9215        8usize,
9216        concat!(
9217            "Offset of field: ",
9218            stringify!(ANeuralNetworksOperandType),
9219            "::",
9220            stringify!(dimensions)
9221        )
9222    );
9223    assert_eq!(
9224        unsafe { ::std::ptr::addr_of!((*ptr).scale) as usize - ptr as usize },
9225        12usize,
9226        concat!(
9227            "Offset of field: ",
9228            stringify!(ANeuralNetworksOperandType),
9229            "::",
9230            stringify!(scale)
9231        )
9232    );
9233    assert_eq!(
9234        unsafe { ::std::ptr::addr_of!((*ptr).zeroPoint) as usize - ptr as usize },
9235        16usize,
9236        concat!(
9237            "Offset of field: ",
9238            stringify!(ANeuralNetworksOperandType),
9239            "::",
9240            stringify!(zeroPoint)
9241        )
9242    );
9243}
9244pub type ANeuralNetworksOperationType = i32;
9245#[repr(C)]
9246#[derive(Debug, Copy, Clone)]
9247pub struct ANeuralNetworksEvent {
9248    _unused: [u8; 0],
9249}
9250#[repr(C)]
9251#[derive(Debug, Copy, Clone)]
9252pub struct ANeuralNetworksDevice {
9253    _unused: [u8; 0],
9254}
9255#[repr(C)]
9256#[derive(Debug, Copy, Clone)]
9257pub struct ANeuralNetworksMemoryDesc {
9258    _unused: [u8; 0],
9259}
9260extern "C" {
9261    pub fn ANeuralNetworksMemoryDesc_create(
9262        desc: *mut *mut ANeuralNetworksMemoryDesc,
9263    ) -> ::std::os::raw::c_int;
9264}
9265extern "C" {
9266    pub fn ANeuralNetworksMemoryDesc_free(desc: *mut ANeuralNetworksMemoryDesc);
9267}
9268extern "C" {
9269    pub fn ANeuralNetworksMemoryDesc_addInputRole(
9270        desc: *mut ANeuralNetworksMemoryDesc,
9271        compilation: *const ANeuralNetworksCompilation,
9272        index: u32,
9273        frequency: f32,
9274    ) -> ::std::os::raw::c_int;
9275}
9276extern "C" {
9277    pub fn ANeuralNetworksMemoryDesc_addOutputRole(
9278        desc: *mut ANeuralNetworksMemoryDesc,
9279        compilation: *const ANeuralNetworksCompilation,
9280        index: u32,
9281        frequency: f32,
9282    ) -> ::std::os::raw::c_int;
9283}
9284extern "C" {
9285    pub fn ANeuralNetworksMemoryDesc_setDimensions(
9286        desc: *mut ANeuralNetworksMemoryDesc,
9287        rank: u32,
9288        dimensions: *const u32,
9289    ) -> ::std::os::raw::c_int;
9290}
9291extern "C" {
9292    pub fn ANeuralNetworksMemoryDesc_finish(
9293        desc: *mut ANeuralNetworksMemoryDesc,
9294    ) -> ::std::os::raw::c_int;
9295}
9296extern "C" {
9297    pub fn ANeuralNetworksMemory_createFromDesc(
9298        desc: *const ANeuralNetworksMemoryDesc,
9299        memory: *mut *mut ANeuralNetworksMemory,
9300    ) -> ::std::os::raw::c_int;
9301}
9302extern "C" {
9303    pub fn ANeuralNetworksMemory_copy(
9304        src: *const ANeuralNetworksMemory,
9305        dst: *const ANeuralNetworksMemory,
9306    ) -> ::std::os::raw::c_int;
9307}
9308extern "C" {
9309    pub fn ANeuralNetworks_getDeviceCount(numDevices: *mut u32) -> ::std::os::raw::c_int;
9310}
9311extern "C" {
9312    pub fn ANeuralNetworks_getDevice(
9313        devIndex: u32,
9314        device: *mut *mut ANeuralNetworksDevice,
9315    ) -> ::std::os::raw::c_int;
9316}
9317extern "C" {
9318    pub fn ANeuralNetworksDevice_getName(
9319        device: *const ANeuralNetworksDevice,
9320        name: *mut *const ::std::os::raw::c_char,
9321    ) -> ::std::os::raw::c_int;
9322}
9323extern "C" {
9324    pub fn ANeuralNetworksDevice_getType(
9325        device: *const ANeuralNetworksDevice,
9326        type_: *mut i32,
9327    ) -> ::std::os::raw::c_int;
9328}
9329extern "C" {
9330    pub fn ANeuralNetworksDevice_getVersion(
9331        device: *const ANeuralNetworksDevice,
9332        version: *mut *const ::std::os::raw::c_char,
9333    ) -> ::std::os::raw::c_int;
9334}
9335extern "C" {
9336    pub fn ANeuralNetworksDevice_getFeatureLevel(
9337        device: *const ANeuralNetworksDevice,
9338        featureLevel: *mut i64,
9339    ) -> ::std::os::raw::c_int;
9340}
9341extern "C" {
9342    pub fn ANeuralNetworksDevice_wait(
9343        device: *const ANeuralNetworksDevice,
9344    ) -> ::std::os::raw::c_int;
9345}
9346extern "C" {
9347    pub fn ANeuralNetworksModel_getSupportedOperationsForDevices(
9348        model: *const ANeuralNetworksModel,
9349        devices: *const *const ANeuralNetworksDevice,
9350        numDevices: u32,
9351        supportedOps: *mut bool,
9352    ) -> ::std::os::raw::c_int;
9353}
9354extern "C" {
9355    pub fn ANeuralNetworksCompilation_createForDevices(
9356        model: *mut ANeuralNetworksModel,
9357        devices: *const *const ANeuralNetworksDevice,
9358        numDevices: u32,
9359        compilation: *mut *mut ANeuralNetworksCompilation,
9360    ) -> ::std::os::raw::c_int;
9361}
9362extern "C" {
9363    pub fn ANeuralNetworksCompilation_setCaching(
9364        compilation: *mut ANeuralNetworksCompilation,
9365        cacheDir: *const ::std::os::raw::c_char,
9366        token: *const u8,
9367    ) -> ::std::os::raw::c_int;
9368}
9369extern "C" {
9370    pub fn ANeuralNetworksExecution_compute(
9371        execution: *mut ANeuralNetworksExecution,
9372    ) -> ::std::os::raw::c_int;
9373}
9374extern "C" {
9375    pub fn ANeuralNetworksExecution_getOutputOperandRank(
9376        execution: *mut ANeuralNetworksExecution,
9377        index: i32,
9378        rank: *mut u32,
9379    ) -> ::std::os::raw::c_int;
9380}
9381extern "C" {
9382    pub fn ANeuralNetworksExecution_getOutputOperandDimensions(
9383        execution: *mut ANeuralNetworksExecution,
9384        index: i32,
9385        dimensions: *mut u32,
9386    ) -> ::std::os::raw::c_int;
9387}
9388extern "C" {
9389    pub fn ANeuralNetworksBurst_create(
9390        compilation: *mut ANeuralNetworksCompilation,
9391        burst: *mut *mut ANeuralNetworksBurst,
9392    ) -> ::std::os::raw::c_int;
9393}
9394extern "C" {
9395    pub fn ANeuralNetworksBurst_free(burst: *mut ANeuralNetworksBurst);
9396}
9397extern "C" {
9398    pub fn ANeuralNetworksExecution_burstCompute(
9399        execution: *mut ANeuralNetworksExecution,
9400        burst: *mut ANeuralNetworksBurst,
9401    ) -> ::std::os::raw::c_int;
9402}
9403extern "C" {
9404    pub fn ANeuralNetworksMemory_createFromAHardwareBuffer(
9405        ahwb: *const AHardwareBuffer,
9406        memory: *mut *mut ANeuralNetworksMemory,
9407    ) -> ::std::os::raw::c_int;
9408}
9409extern "C" {
9410    pub fn ANeuralNetworksExecution_setMeasureTiming(
9411        execution: *mut ANeuralNetworksExecution,
9412        measure: bool,
9413    ) -> ::std::os::raw::c_int;
9414}
9415extern "C" {
9416    pub fn ANeuralNetworksExecution_getDuration(
9417        execution: *const ANeuralNetworksExecution,
9418        durationCode: i32,
9419        duration: *mut u64,
9420    ) -> ::std::os::raw::c_int;
9421}
9422extern "C" {
9423    pub fn ANeuralNetworksMemory_createFromFd(
9424        size: usize,
9425        protect: ::std::os::raw::c_int,
9426        fd: ::std::os::raw::c_int,
9427        offset: usize,
9428        memory: *mut *mut ANeuralNetworksMemory,
9429    ) -> ::std::os::raw::c_int;
9430}
9431extern "C" {
9432    pub fn ANeuralNetworksMemory_free(memory: *mut ANeuralNetworksMemory);
9433}
9434extern "C" {
9435    pub fn ANeuralNetworksModel_create(
9436        model: *mut *mut ANeuralNetworksModel,
9437    ) -> ::std::os::raw::c_int;
9438}
9439extern "C" {
9440    pub fn ANeuralNetworksModel_free(model: *mut ANeuralNetworksModel);
9441}
9442extern "C" {
9443    pub fn ANeuralNetworksModel_finish(model: *mut ANeuralNetworksModel) -> ::std::os::raw::c_int;
9444}
9445extern "C" {
9446    pub fn ANeuralNetworksModel_addOperand(
9447        model: *mut ANeuralNetworksModel,
9448        type_: *const ANeuralNetworksOperandType,
9449    ) -> ::std::os::raw::c_int;
9450}
9451extern "C" {
9452    pub fn ANeuralNetworksModel_setOperandValue(
9453        model: *mut ANeuralNetworksModel,
9454        index: i32,
9455        buffer: *const ::std::os::raw::c_void,
9456        length: usize,
9457    ) -> ::std::os::raw::c_int;
9458}
9459extern "C" {
9460    pub fn ANeuralNetworksModel_setOperandSymmPerChannelQuantParams(
9461        model: *mut ANeuralNetworksModel,
9462        index: i32,
9463        channelQuant: *const ANeuralNetworksSymmPerChannelQuantParams,
9464    ) -> ::std::os::raw::c_int;
9465}
9466extern "C" {
9467    pub fn ANeuralNetworksModel_setOperandValueFromMemory(
9468        model: *mut ANeuralNetworksModel,
9469        index: i32,
9470        memory: *const ANeuralNetworksMemory,
9471        offset: usize,
9472        length: usize,
9473    ) -> ::std::os::raw::c_int;
9474}
9475extern "C" {
9476    pub fn ANeuralNetworksModel_setOperandValueFromModel(
9477        model: *mut ANeuralNetworksModel,
9478        index: i32,
9479        value: *const ANeuralNetworksModel,
9480    ) -> ::std::os::raw::c_int;
9481}
9482extern "C" {
9483    pub fn ANeuralNetworksModel_addOperation(
9484        model: *mut ANeuralNetworksModel,
9485        type_: ANeuralNetworksOperationType,
9486        inputCount: u32,
9487        inputs: *const u32,
9488        outputCount: u32,
9489        outputs: *const u32,
9490    ) -> ::std::os::raw::c_int;
9491}
9492extern "C" {
9493    pub fn ANeuralNetworksModel_identifyInputsAndOutputs(
9494        model: *mut ANeuralNetworksModel,
9495        inputCount: u32,
9496        inputs: *const u32,
9497        outputCount: u32,
9498        outputs: *const u32,
9499    ) -> ::std::os::raw::c_int;
9500}
9501extern "C" {
9502    pub fn ANeuralNetworksModel_relaxComputationFloat32toFloat16(
9503        model: *mut ANeuralNetworksModel,
9504        allow: bool,
9505    ) -> ::std::os::raw::c_int;
9506}
9507extern "C" {
9508    pub fn ANeuralNetworksCompilation_create(
9509        model: *mut ANeuralNetworksModel,
9510        compilation: *mut *mut ANeuralNetworksCompilation,
9511    ) -> ::std::os::raw::c_int;
9512}
9513extern "C" {
9514    pub fn ANeuralNetworksCompilation_free(compilation: *mut ANeuralNetworksCompilation);
9515}
9516extern "C" {
9517    pub fn ANeuralNetworksCompilation_setPreference(
9518        compilation: *mut ANeuralNetworksCompilation,
9519        preference: i32,
9520    ) -> ::std::os::raw::c_int;
9521}
9522extern "C" {
9523    pub fn ANeuralNetworksCompilation_finish(
9524        compilation: *mut ANeuralNetworksCompilation,
9525    ) -> ::std::os::raw::c_int;
9526}
9527extern "C" {
9528    pub fn ANeuralNetworksCompilation_setPriority(
9529        compilation: *mut ANeuralNetworksCompilation,
9530        priority: ::std::os::raw::c_int,
9531    ) -> ::std::os::raw::c_int;
9532}
9533extern "C" {
9534    pub fn ANeuralNetworksCompilation_setTimeout(
9535        compilation: *mut ANeuralNetworksCompilation,
9536        duration: u64,
9537    ) -> ::std::os::raw::c_int;
9538}
9539extern "C" {
9540    pub fn ANeuralNetworksExecution_create(
9541        compilation: *mut ANeuralNetworksCompilation,
9542        execution: *mut *mut ANeuralNetworksExecution,
9543    ) -> ::std::os::raw::c_int;
9544}
9545extern "C" {
9546    pub fn ANeuralNetworksExecution_free(execution: *mut ANeuralNetworksExecution);
9547}
9548extern "C" {
9549    pub fn ANeuralNetworksExecution_setInput(
9550        execution: *mut ANeuralNetworksExecution,
9551        index: i32,
9552        type_: *const ANeuralNetworksOperandType,
9553        buffer: *const ::std::os::raw::c_void,
9554        length: usize,
9555    ) -> ::std::os::raw::c_int;
9556}
9557extern "C" {
9558    pub fn ANeuralNetworksExecution_setInputFromMemory(
9559        execution: *mut ANeuralNetworksExecution,
9560        index: i32,
9561        type_: *const ANeuralNetworksOperandType,
9562        memory: *const ANeuralNetworksMemory,
9563        offset: usize,
9564        length: usize,
9565    ) -> ::std::os::raw::c_int;
9566}
9567extern "C" {
9568    pub fn ANeuralNetworksExecution_setOutput(
9569        execution: *mut ANeuralNetworksExecution,
9570        index: i32,
9571        type_: *const ANeuralNetworksOperandType,
9572        buffer: *mut ::std::os::raw::c_void,
9573        length: usize,
9574    ) -> ::std::os::raw::c_int;
9575}
9576extern "C" {
9577    pub fn ANeuralNetworksExecution_setOutputFromMemory(
9578        execution: *mut ANeuralNetworksExecution,
9579        index: i32,
9580        type_: *const ANeuralNetworksOperandType,
9581        memory: *const ANeuralNetworksMemory,
9582        offset: usize,
9583        length: usize,
9584    ) -> ::std::os::raw::c_int;
9585}
9586extern "C" {
9587    pub fn ANeuralNetworksExecution_startCompute(
9588        execution: *mut ANeuralNetworksExecution,
9589        event: *mut *mut ANeuralNetworksEvent,
9590    ) -> ::std::os::raw::c_int;
9591}
9592extern "C" {
9593    pub fn ANeuralNetworksExecution_setTimeout(
9594        execution: *mut ANeuralNetworksExecution,
9595        duration: u64,
9596    ) -> ::std::os::raw::c_int;
9597}
9598extern "C" {
9599    pub fn ANeuralNetworksExecution_setLoopTimeout(
9600        execution: *mut ANeuralNetworksExecution,
9601        duration: u64,
9602    ) -> ::std::os::raw::c_int;
9603}
9604extern "C" {
9605    pub fn ANeuralNetworks_getDefaultLoopTimeout() -> u64;
9606}
9607extern "C" {
9608    pub fn ANeuralNetworks_getMaximumLoopTimeout() -> u64;
9609}
9610extern "C" {
9611    pub fn ANeuralNetworksEvent_wait(event: *mut ANeuralNetworksEvent) -> ::std::os::raw::c_int;
9612}
9613extern "C" {
9614    pub fn ANeuralNetworksEvent_free(event: *mut ANeuralNetworksEvent);
9615}
9616extern "C" {
9617    pub fn ANeuralNetworksEvent_createFromSyncFenceFd(
9618        sync_fence_fd: ::std::os::raw::c_int,
9619        event: *mut *mut ANeuralNetworksEvent,
9620    ) -> ::std::os::raw::c_int;
9621}
9622extern "C" {
9623    pub fn ANeuralNetworksEvent_getSyncFenceFd(
9624        event: *const ANeuralNetworksEvent,
9625        sync_fence_fd: *mut ::std::os::raw::c_int,
9626    ) -> ::std::os::raw::c_int;
9627}
9628extern "C" {
9629    pub fn ANeuralNetworksExecution_startComputeWithDependencies(
9630        execution: *mut ANeuralNetworksExecution,
9631        dependencies: *const *const ANeuralNetworksEvent,
9632        num_dependencies: u32,
9633        duration: u64,
9634        event: *mut *mut ANeuralNetworksEvent,
9635    ) -> ::std::os::raw::c_int;
9636}
9637extern "C" {
9638    pub fn ANeuralNetworks_getRuntimeFeatureLevel() -> i64;
9639}
9640extern "C" {
9641    pub fn ANeuralNetworksExecution_enableInputAndOutputPadding(
9642        execution: *mut ANeuralNetworksExecution,
9643        enable: bool,
9644    ) -> ::std::os::raw::c_int;
9645}
9646extern "C" {
9647    pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForInput(
9648        compilation: *const ANeuralNetworksCompilation,
9649        index: u32,
9650        alignment: *mut u32,
9651    ) -> ::std::os::raw::c_int;
9652}
9653extern "C" {
9654    pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForInput(
9655        compilation: *const ANeuralNetworksCompilation,
9656        index: u32,
9657        padding: *mut u32,
9658    ) -> ::std::os::raw::c_int;
9659}
9660extern "C" {
9661    pub fn ANeuralNetworksCompilation_getPreferredMemoryAlignmentForOutput(
9662        compilation: *const ANeuralNetworksCompilation,
9663        index: u32,
9664        alignment: *mut u32,
9665    ) -> ::std::os::raw::c_int;
9666}
9667extern "C" {
9668    pub fn ANeuralNetworksCompilation_getPreferredMemoryPaddingForOutput(
9669        compilation: *const ANeuralNetworksCompilation,
9670        index: u32,
9671        padding: *mut u32,
9672    ) -> ::std::os::raw::c_int;
9673}
9674extern "C" {
9675    pub fn ANeuralNetworksExecution_setReusable(
9676        execution: *mut ANeuralNetworksExecution,
9677        reusable: bool,
9678    ) -> ::std::os::raw::c_int;
9679}
9680#[repr(C)]
9681#[derive(Debug, Copy, Clone)]
9682pub struct AObbInfo {
9683    _unused: [u8; 0],
9684}
9685pub const AOBBINFO_OVERLAY: _bindgen_ty_37 = 1;
9686pub type _bindgen_ty_37 = ::std::os::raw::c_uint;
9687extern "C" {
9688    pub fn AObbScanner_getObbInfo(filename: *const ::std::os::raw::c_char) -> *mut AObbInfo;
9689}
9690extern "C" {
9691    pub fn AObbInfo_delete(obbInfo: *mut AObbInfo);
9692}
9693extern "C" {
9694    pub fn AObbInfo_getPackageName(obbInfo: *mut AObbInfo) -> *const ::std::os::raw::c_char;
9695}
9696extern "C" {
9697    pub fn AObbInfo_getVersion(obbInfo: *mut AObbInfo) -> i32;
9698}
9699extern "C" {
9700    pub fn AObbInfo_getFlags(obbInfo: *mut AObbInfo) -> i32;
9701}
9702#[repr(C)]
9703#[derive(Debug, Copy, Clone)]
9704pub struct timespec {
9705    pub tv_sec: time_t,
9706    pub tv_nsec: ::std::os::raw::c_long,
9707}
9708#[test]
9709fn bindgen_test_layout_timespec() {
9710    const UNINIT: ::std::mem::MaybeUninit<timespec> = ::std::mem::MaybeUninit::uninit();
9711    let ptr = UNINIT.as_ptr();
9712    assert_eq!(
9713        ::std::mem::size_of::<timespec>(),
9714        8usize,
9715        concat!("Size of: ", stringify!(timespec))
9716    );
9717    assert_eq!(
9718        ::std::mem::align_of::<timespec>(),
9719        4usize,
9720        concat!("Alignment of ", stringify!(timespec))
9721    );
9722    assert_eq!(
9723        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9724        0usize,
9725        concat!(
9726            "Offset of field: ",
9727            stringify!(timespec),
9728            "::",
9729            stringify!(tv_sec)
9730        )
9731    );
9732    assert_eq!(
9733        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9734        4usize,
9735        concat!(
9736            "Offset of field: ",
9737            stringify!(timespec),
9738            "::",
9739            stringify!(tv_nsec)
9740        )
9741    );
9742}
9743#[repr(C)]
9744#[derive(Debug, Copy, Clone)]
9745pub struct __kernel_timespec {
9746    pub tv_sec: __kernel_time64_t,
9747    pub tv_nsec: ::std::os::raw::c_longlong,
9748}
9749#[test]
9750fn bindgen_test_layout___kernel_timespec() {
9751    const UNINIT: ::std::mem::MaybeUninit<__kernel_timespec> = ::std::mem::MaybeUninit::uninit();
9752    let ptr = UNINIT.as_ptr();
9753    assert_eq!(
9754        ::std::mem::size_of::<__kernel_timespec>(),
9755        16usize,
9756        concat!("Size of: ", stringify!(__kernel_timespec))
9757    );
9758    assert_eq!(
9759        ::std::mem::align_of::<__kernel_timespec>(),
9760        4usize,
9761        concat!("Alignment of ", stringify!(__kernel_timespec))
9762    );
9763    assert_eq!(
9764        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9765        0usize,
9766        concat!(
9767            "Offset of field: ",
9768            stringify!(__kernel_timespec),
9769            "::",
9770            stringify!(tv_sec)
9771        )
9772    );
9773    assert_eq!(
9774        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9775        8usize,
9776        concat!(
9777            "Offset of field: ",
9778            stringify!(__kernel_timespec),
9779            "::",
9780            stringify!(tv_nsec)
9781        )
9782    );
9783}
9784#[repr(C)]
9785#[derive(Debug, Copy, Clone)]
9786pub struct __kernel_itimerspec {
9787    pub it_interval: __kernel_timespec,
9788    pub it_value: __kernel_timespec,
9789}
9790#[test]
9791fn bindgen_test_layout___kernel_itimerspec() {
9792    const UNINIT: ::std::mem::MaybeUninit<__kernel_itimerspec> = ::std::mem::MaybeUninit::uninit();
9793    let ptr = UNINIT.as_ptr();
9794    assert_eq!(
9795        ::std::mem::size_of::<__kernel_itimerspec>(),
9796        32usize,
9797        concat!("Size of: ", stringify!(__kernel_itimerspec))
9798    );
9799    assert_eq!(
9800        ::std::mem::align_of::<__kernel_itimerspec>(),
9801        4usize,
9802        concat!("Alignment of ", stringify!(__kernel_itimerspec))
9803    );
9804    assert_eq!(
9805        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
9806        0usize,
9807        concat!(
9808            "Offset of field: ",
9809            stringify!(__kernel_itimerspec),
9810            "::",
9811            stringify!(it_interval)
9812        )
9813    );
9814    assert_eq!(
9815        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
9816        16usize,
9817        concat!(
9818            "Offset of field: ",
9819            stringify!(__kernel_itimerspec),
9820            "::",
9821            stringify!(it_value)
9822        )
9823    );
9824}
9825#[repr(C)]
9826#[derive(Debug, Copy, Clone)]
9827pub struct __kernel_old_timespec {
9828    pub tv_sec: __kernel_old_time_t,
9829    pub tv_nsec: ::std::os::raw::c_long,
9830}
9831#[test]
9832fn bindgen_test_layout___kernel_old_timespec() {
9833    const UNINIT: ::std::mem::MaybeUninit<__kernel_old_timespec> =
9834        ::std::mem::MaybeUninit::uninit();
9835    let ptr = UNINIT.as_ptr();
9836    assert_eq!(
9837        ::std::mem::size_of::<__kernel_old_timespec>(),
9838        8usize,
9839        concat!("Size of: ", stringify!(__kernel_old_timespec))
9840    );
9841    assert_eq!(
9842        ::std::mem::align_of::<__kernel_old_timespec>(),
9843        4usize,
9844        concat!("Alignment of ", stringify!(__kernel_old_timespec))
9845    );
9846    assert_eq!(
9847        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9848        0usize,
9849        concat!(
9850            "Offset of field: ",
9851            stringify!(__kernel_old_timespec),
9852            "::",
9853            stringify!(tv_sec)
9854        )
9855    );
9856    assert_eq!(
9857        unsafe { ::std::ptr::addr_of!((*ptr).tv_nsec) as usize - ptr as usize },
9858        4usize,
9859        concat!(
9860            "Offset of field: ",
9861            stringify!(__kernel_old_timespec),
9862            "::",
9863            stringify!(tv_nsec)
9864        )
9865    );
9866}
9867#[repr(C)]
9868#[derive(Debug, Copy, Clone)]
9869pub struct __kernel_sock_timeval {
9870    pub tv_sec: __s64,
9871    pub tv_usec: __s64,
9872}
9873#[test]
9874fn bindgen_test_layout___kernel_sock_timeval() {
9875    const UNINIT: ::std::mem::MaybeUninit<__kernel_sock_timeval> =
9876        ::std::mem::MaybeUninit::uninit();
9877    let ptr = UNINIT.as_ptr();
9878    assert_eq!(
9879        ::std::mem::size_of::<__kernel_sock_timeval>(),
9880        16usize,
9881        concat!("Size of: ", stringify!(__kernel_sock_timeval))
9882    );
9883    assert_eq!(
9884        ::std::mem::align_of::<__kernel_sock_timeval>(),
9885        4usize,
9886        concat!("Alignment of ", stringify!(__kernel_sock_timeval))
9887    );
9888    assert_eq!(
9889        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9890        0usize,
9891        concat!(
9892            "Offset of field: ",
9893            stringify!(__kernel_sock_timeval),
9894            "::",
9895            stringify!(tv_sec)
9896        )
9897    );
9898    assert_eq!(
9899        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
9900        8usize,
9901        concat!(
9902            "Offset of field: ",
9903            stringify!(__kernel_sock_timeval),
9904            "::",
9905            stringify!(tv_usec)
9906        )
9907    );
9908}
9909#[repr(C)]
9910#[derive(Debug, Copy, Clone)]
9911pub struct timeval {
9912    pub tv_sec: __kernel_old_time_t,
9913    pub tv_usec: __kernel_suseconds_t,
9914}
9915#[test]
9916fn bindgen_test_layout_timeval() {
9917    const UNINIT: ::std::mem::MaybeUninit<timeval> = ::std::mem::MaybeUninit::uninit();
9918    let ptr = UNINIT.as_ptr();
9919    assert_eq!(
9920        ::std::mem::size_of::<timeval>(),
9921        8usize,
9922        concat!("Size of: ", stringify!(timeval))
9923    );
9924    assert_eq!(
9925        ::std::mem::align_of::<timeval>(),
9926        4usize,
9927        concat!("Alignment of ", stringify!(timeval))
9928    );
9929    assert_eq!(
9930        unsafe { ::std::ptr::addr_of!((*ptr).tv_sec) as usize - ptr as usize },
9931        0usize,
9932        concat!(
9933            "Offset of field: ",
9934            stringify!(timeval),
9935            "::",
9936            stringify!(tv_sec)
9937        )
9938    );
9939    assert_eq!(
9940        unsafe { ::std::ptr::addr_of!((*ptr).tv_usec) as usize - ptr as usize },
9941        4usize,
9942        concat!(
9943            "Offset of field: ",
9944            stringify!(timeval),
9945            "::",
9946            stringify!(tv_usec)
9947        )
9948    );
9949}
9950#[repr(C)]
9951#[derive(Debug, Copy, Clone)]
9952pub struct itimerspec {
9953    pub it_interval: timespec,
9954    pub it_value: timespec,
9955}
9956#[test]
9957fn bindgen_test_layout_itimerspec() {
9958    const UNINIT: ::std::mem::MaybeUninit<itimerspec> = ::std::mem::MaybeUninit::uninit();
9959    let ptr = UNINIT.as_ptr();
9960    assert_eq!(
9961        ::std::mem::size_of::<itimerspec>(),
9962        16usize,
9963        concat!("Size of: ", stringify!(itimerspec))
9964    );
9965    assert_eq!(
9966        ::std::mem::align_of::<itimerspec>(),
9967        4usize,
9968        concat!("Alignment of ", stringify!(itimerspec))
9969    );
9970    assert_eq!(
9971        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
9972        0usize,
9973        concat!(
9974            "Offset of field: ",
9975            stringify!(itimerspec),
9976            "::",
9977            stringify!(it_interval)
9978        )
9979    );
9980    assert_eq!(
9981        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
9982        8usize,
9983        concat!(
9984            "Offset of field: ",
9985            stringify!(itimerspec),
9986            "::",
9987            stringify!(it_value)
9988        )
9989    );
9990}
9991#[repr(C)]
9992#[derive(Debug, Copy, Clone)]
9993pub struct itimerval {
9994    pub it_interval: timeval,
9995    pub it_value: timeval,
9996}
9997#[test]
9998fn bindgen_test_layout_itimerval() {
9999    const UNINIT: ::std::mem::MaybeUninit<itimerval> = ::std::mem::MaybeUninit::uninit();
10000    let ptr = UNINIT.as_ptr();
10001    assert_eq!(
10002        ::std::mem::size_of::<itimerval>(),
10003        16usize,
10004        concat!("Size of: ", stringify!(itimerval))
10005    );
10006    assert_eq!(
10007        ::std::mem::align_of::<itimerval>(),
10008        4usize,
10009        concat!("Alignment of ", stringify!(itimerval))
10010    );
10011    assert_eq!(
10012        unsafe { ::std::ptr::addr_of!((*ptr).it_interval) as usize - ptr as usize },
10013        0usize,
10014        concat!(
10015            "Offset of field: ",
10016            stringify!(itimerval),
10017            "::",
10018            stringify!(it_interval)
10019        )
10020    );
10021    assert_eq!(
10022        unsafe { ::std::ptr::addr_of!((*ptr).it_value) as usize - ptr as usize },
10023        8usize,
10024        concat!(
10025            "Offset of field: ",
10026            stringify!(itimerval),
10027            "::",
10028            stringify!(it_value)
10029        )
10030    );
10031}
10032#[repr(C)]
10033#[derive(Debug, Copy, Clone)]
10034pub struct timezone {
10035    pub tz_minuteswest: ::std::os::raw::c_int,
10036    pub tz_dsttime: ::std::os::raw::c_int,
10037}
10038#[test]
10039fn bindgen_test_layout_timezone() {
10040    const UNINIT: ::std::mem::MaybeUninit<timezone> = ::std::mem::MaybeUninit::uninit();
10041    let ptr = UNINIT.as_ptr();
10042    assert_eq!(
10043        ::std::mem::size_of::<timezone>(),
10044        8usize,
10045        concat!("Size of: ", stringify!(timezone))
10046    );
10047    assert_eq!(
10048        ::std::mem::align_of::<timezone>(),
10049        4usize,
10050        concat!("Alignment of ", stringify!(timezone))
10051    );
10052    assert_eq!(
10053        unsafe { ::std::ptr::addr_of!((*ptr).tz_minuteswest) as usize - ptr as usize },
10054        0usize,
10055        concat!(
10056            "Offset of field: ",
10057            stringify!(timezone),
10058            "::",
10059            stringify!(tz_minuteswest)
10060        )
10061    );
10062    assert_eq!(
10063        unsafe { ::std::ptr::addr_of!((*ptr).tz_dsttime) as usize - ptr as usize },
10064        4usize,
10065        concat!(
10066            "Offset of field: ",
10067            stringify!(timezone),
10068            "::",
10069            stringify!(tz_dsttime)
10070        )
10071    );
10072}
10073#[repr(C)]
10074#[derive(Debug, Copy, Clone)]
10075pub struct _fpx_sw_bytes {
10076    pub magic1: __u32,
10077    pub extended_size: __u32,
10078    pub xfeatures: __u64,
10079    pub xstate_size: __u32,
10080    pub padding: [__u32; 7usize],
10081}
10082#[test]
10083fn bindgen_test_layout__fpx_sw_bytes() {
10084    const UNINIT: ::std::mem::MaybeUninit<_fpx_sw_bytes> = ::std::mem::MaybeUninit::uninit();
10085    let ptr = UNINIT.as_ptr();
10086    assert_eq!(
10087        ::std::mem::size_of::<_fpx_sw_bytes>(),
10088        48usize,
10089        concat!("Size of: ", stringify!(_fpx_sw_bytes))
10090    );
10091    assert_eq!(
10092        ::std::mem::align_of::<_fpx_sw_bytes>(),
10093        4usize,
10094        concat!("Alignment of ", stringify!(_fpx_sw_bytes))
10095    );
10096    assert_eq!(
10097        unsafe { ::std::ptr::addr_of!((*ptr).magic1) as usize - ptr as usize },
10098        0usize,
10099        concat!(
10100            "Offset of field: ",
10101            stringify!(_fpx_sw_bytes),
10102            "::",
10103            stringify!(magic1)
10104        )
10105    );
10106    assert_eq!(
10107        unsafe { ::std::ptr::addr_of!((*ptr).extended_size) as usize - ptr as usize },
10108        4usize,
10109        concat!(
10110            "Offset of field: ",
10111            stringify!(_fpx_sw_bytes),
10112            "::",
10113            stringify!(extended_size)
10114        )
10115    );
10116    assert_eq!(
10117        unsafe { ::std::ptr::addr_of!((*ptr).xfeatures) as usize - ptr as usize },
10118        8usize,
10119        concat!(
10120            "Offset of field: ",
10121            stringify!(_fpx_sw_bytes),
10122            "::",
10123            stringify!(xfeatures)
10124        )
10125    );
10126    assert_eq!(
10127        unsafe { ::std::ptr::addr_of!((*ptr).xstate_size) as usize - ptr as usize },
10128        16usize,
10129        concat!(
10130            "Offset of field: ",
10131            stringify!(_fpx_sw_bytes),
10132            "::",
10133            stringify!(xstate_size)
10134        )
10135    );
10136    assert_eq!(
10137        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
10138        20usize,
10139        concat!(
10140            "Offset of field: ",
10141            stringify!(_fpx_sw_bytes),
10142            "::",
10143            stringify!(padding)
10144        )
10145    );
10146}
10147#[repr(C)]
10148#[derive(Debug, Copy, Clone)]
10149pub struct _fpreg {
10150    pub significand: [__u16; 4usize],
10151    pub exponent: __u16,
10152}
10153#[test]
10154fn bindgen_test_layout__fpreg() {
10155    const UNINIT: ::std::mem::MaybeUninit<_fpreg> = ::std::mem::MaybeUninit::uninit();
10156    let ptr = UNINIT.as_ptr();
10157    assert_eq!(
10158        ::std::mem::size_of::<_fpreg>(),
10159        10usize,
10160        concat!("Size of: ", stringify!(_fpreg))
10161    );
10162    assert_eq!(
10163        ::std::mem::align_of::<_fpreg>(),
10164        2usize,
10165        concat!("Alignment of ", stringify!(_fpreg))
10166    );
10167    assert_eq!(
10168        unsafe { ::std::ptr::addr_of!((*ptr).significand) as usize - ptr as usize },
10169        0usize,
10170        concat!(
10171            "Offset of field: ",
10172            stringify!(_fpreg),
10173            "::",
10174            stringify!(significand)
10175        )
10176    );
10177    assert_eq!(
10178        unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
10179        8usize,
10180        concat!(
10181            "Offset of field: ",
10182            stringify!(_fpreg),
10183            "::",
10184            stringify!(exponent)
10185        )
10186    );
10187}
10188#[repr(C)]
10189#[derive(Debug, Copy, Clone)]
10190pub struct _fpxreg {
10191    pub significand: [__u16; 4usize],
10192    pub exponent: __u16,
10193    pub padding: [__u16; 3usize],
10194}
10195#[test]
10196fn bindgen_test_layout__fpxreg() {
10197    const UNINIT: ::std::mem::MaybeUninit<_fpxreg> = ::std::mem::MaybeUninit::uninit();
10198    let ptr = UNINIT.as_ptr();
10199    assert_eq!(
10200        ::std::mem::size_of::<_fpxreg>(),
10201        16usize,
10202        concat!("Size of: ", stringify!(_fpxreg))
10203    );
10204    assert_eq!(
10205        ::std::mem::align_of::<_fpxreg>(),
10206        2usize,
10207        concat!("Alignment of ", stringify!(_fpxreg))
10208    );
10209    assert_eq!(
10210        unsafe { ::std::ptr::addr_of!((*ptr).significand) as usize - ptr as usize },
10211        0usize,
10212        concat!(
10213            "Offset of field: ",
10214            stringify!(_fpxreg),
10215            "::",
10216            stringify!(significand)
10217        )
10218    );
10219    assert_eq!(
10220        unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
10221        8usize,
10222        concat!(
10223            "Offset of field: ",
10224            stringify!(_fpxreg),
10225            "::",
10226            stringify!(exponent)
10227        )
10228    );
10229    assert_eq!(
10230        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
10231        10usize,
10232        concat!(
10233            "Offset of field: ",
10234            stringify!(_fpxreg),
10235            "::",
10236            stringify!(padding)
10237        )
10238    );
10239}
10240#[repr(C)]
10241#[derive(Debug, Copy, Clone)]
10242pub struct _xmmreg {
10243    pub element: [__u32; 4usize],
10244}
10245#[test]
10246fn bindgen_test_layout__xmmreg() {
10247    const UNINIT: ::std::mem::MaybeUninit<_xmmreg> = ::std::mem::MaybeUninit::uninit();
10248    let ptr = UNINIT.as_ptr();
10249    assert_eq!(
10250        ::std::mem::size_of::<_xmmreg>(),
10251        16usize,
10252        concat!("Size of: ", stringify!(_xmmreg))
10253    );
10254    assert_eq!(
10255        ::std::mem::align_of::<_xmmreg>(),
10256        4usize,
10257        concat!("Alignment of ", stringify!(_xmmreg))
10258    );
10259    assert_eq!(
10260        unsafe { ::std::ptr::addr_of!((*ptr).element) as usize - ptr as usize },
10261        0usize,
10262        concat!(
10263            "Offset of field: ",
10264            stringify!(_xmmreg),
10265            "::",
10266            stringify!(element)
10267        )
10268    );
10269}
10270#[repr(C)]
10271#[derive(Copy, Clone)]
10272pub struct _fpstate_32 {
10273    pub cw: __u32,
10274    pub sw: __u32,
10275    pub tag: __u32,
10276    pub ipoff: __u32,
10277    pub cssel: __u32,
10278    pub dataoff: __u32,
10279    pub datasel: __u32,
10280    pub _st: [_fpreg; 8usize],
10281    pub status: __u16,
10282    pub magic: __u16,
10283    pub _fxsr_env: [__u32; 6usize],
10284    pub mxcsr: __u32,
10285    pub reserved: __u32,
10286    pub _fxsr_st: [_fpxreg; 8usize],
10287    pub _xmm: [_xmmreg; 8usize],
10288    pub __bindgen_anon_1: _fpstate_32__bindgen_ty_1,
10289    pub __bindgen_anon_2: _fpstate_32__bindgen_ty_2,
10290}
10291#[repr(C)]
10292#[derive(Copy, Clone)]
10293pub union _fpstate_32__bindgen_ty_1 {
10294    pub padding1: [__u32; 44usize],
10295    pub padding: [__u32; 44usize],
10296}
10297#[test]
10298fn bindgen_test_layout__fpstate_32__bindgen_ty_1() {
10299    const UNINIT: ::std::mem::MaybeUninit<_fpstate_32__bindgen_ty_1> =
10300        ::std::mem::MaybeUninit::uninit();
10301    let ptr = UNINIT.as_ptr();
10302    assert_eq!(
10303        ::std::mem::size_of::<_fpstate_32__bindgen_ty_1>(),
10304        176usize,
10305        concat!("Size of: ", stringify!(_fpstate_32__bindgen_ty_1))
10306    );
10307    assert_eq!(
10308        ::std::mem::align_of::<_fpstate_32__bindgen_ty_1>(),
10309        4usize,
10310        concat!("Alignment of ", stringify!(_fpstate_32__bindgen_ty_1))
10311    );
10312    assert_eq!(
10313        unsafe { ::std::ptr::addr_of!((*ptr).padding1) as usize - ptr as usize },
10314        0usize,
10315        concat!(
10316            "Offset of field: ",
10317            stringify!(_fpstate_32__bindgen_ty_1),
10318            "::",
10319            stringify!(padding1)
10320        )
10321    );
10322    assert_eq!(
10323        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
10324        0usize,
10325        concat!(
10326            "Offset of field: ",
10327            stringify!(_fpstate_32__bindgen_ty_1),
10328            "::",
10329            stringify!(padding)
10330        )
10331    );
10332}
10333#[repr(C)]
10334#[derive(Copy, Clone)]
10335pub union _fpstate_32__bindgen_ty_2 {
10336    pub padding2: [__u32; 12usize],
10337    pub sw_reserved: _fpx_sw_bytes,
10338}
10339#[test]
10340fn bindgen_test_layout__fpstate_32__bindgen_ty_2() {
10341    const UNINIT: ::std::mem::MaybeUninit<_fpstate_32__bindgen_ty_2> =
10342        ::std::mem::MaybeUninit::uninit();
10343    let ptr = UNINIT.as_ptr();
10344    assert_eq!(
10345        ::std::mem::size_of::<_fpstate_32__bindgen_ty_2>(),
10346        48usize,
10347        concat!("Size of: ", stringify!(_fpstate_32__bindgen_ty_2))
10348    );
10349    assert_eq!(
10350        ::std::mem::align_of::<_fpstate_32__bindgen_ty_2>(),
10351        4usize,
10352        concat!("Alignment of ", stringify!(_fpstate_32__bindgen_ty_2))
10353    );
10354    assert_eq!(
10355        unsafe { ::std::ptr::addr_of!((*ptr).padding2) as usize - ptr as usize },
10356        0usize,
10357        concat!(
10358            "Offset of field: ",
10359            stringify!(_fpstate_32__bindgen_ty_2),
10360            "::",
10361            stringify!(padding2)
10362        )
10363    );
10364    assert_eq!(
10365        unsafe { ::std::ptr::addr_of!((*ptr).sw_reserved) as usize - ptr as usize },
10366        0usize,
10367        concat!(
10368            "Offset of field: ",
10369            stringify!(_fpstate_32__bindgen_ty_2),
10370            "::",
10371            stringify!(sw_reserved)
10372        )
10373    );
10374}
10375#[test]
10376fn bindgen_test_layout__fpstate_32() {
10377    const UNINIT: ::std::mem::MaybeUninit<_fpstate_32> = ::std::mem::MaybeUninit::uninit();
10378    let ptr = UNINIT.as_ptr();
10379    assert_eq!(
10380        ::std::mem::size_of::<_fpstate_32>(),
10381        624usize,
10382        concat!("Size of: ", stringify!(_fpstate_32))
10383    );
10384    assert_eq!(
10385        ::std::mem::align_of::<_fpstate_32>(),
10386        4usize,
10387        concat!("Alignment of ", stringify!(_fpstate_32))
10388    );
10389    assert_eq!(
10390        unsafe { ::std::ptr::addr_of!((*ptr).cw) as usize - ptr as usize },
10391        0usize,
10392        concat!(
10393            "Offset of field: ",
10394            stringify!(_fpstate_32),
10395            "::",
10396            stringify!(cw)
10397        )
10398    );
10399    assert_eq!(
10400        unsafe { ::std::ptr::addr_of!((*ptr).sw) as usize - ptr as usize },
10401        4usize,
10402        concat!(
10403            "Offset of field: ",
10404            stringify!(_fpstate_32),
10405            "::",
10406            stringify!(sw)
10407        )
10408    );
10409    assert_eq!(
10410        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10411        8usize,
10412        concat!(
10413            "Offset of field: ",
10414            stringify!(_fpstate_32),
10415            "::",
10416            stringify!(tag)
10417        )
10418    );
10419    assert_eq!(
10420        unsafe { ::std::ptr::addr_of!((*ptr).ipoff) as usize - ptr as usize },
10421        12usize,
10422        concat!(
10423            "Offset of field: ",
10424            stringify!(_fpstate_32),
10425            "::",
10426            stringify!(ipoff)
10427        )
10428    );
10429    assert_eq!(
10430        unsafe { ::std::ptr::addr_of!((*ptr).cssel) as usize - ptr as usize },
10431        16usize,
10432        concat!(
10433            "Offset of field: ",
10434            stringify!(_fpstate_32),
10435            "::",
10436            stringify!(cssel)
10437        )
10438    );
10439    assert_eq!(
10440        unsafe { ::std::ptr::addr_of!((*ptr).dataoff) as usize - ptr as usize },
10441        20usize,
10442        concat!(
10443            "Offset of field: ",
10444            stringify!(_fpstate_32),
10445            "::",
10446            stringify!(dataoff)
10447        )
10448    );
10449    assert_eq!(
10450        unsafe { ::std::ptr::addr_of!((*ptr).datasel) as usize - ptr as usize },
10451        24usize,
10452        concat!(
10453            "Offset of field: ",
10454            stringify!(_fpstate_32),
10455            "::",
10456            stringify!(datasel)
10457        )
10458    );
10459    assert_eq!(
10460        unsafe { ::std::ptr::addr_of!((*ptr)._st) as usize - ptr as usize },
10461        28usize,
10462        concat!(
10463            "Offset of field: ",
10464            stringify!(_fpstate_32),
10465            "::",
10466            stringify!(_st)
10467        )
10468    );
10469    assert_eq!(
10470        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
10471        108usize,
10472        concat!(
10473            "Offset of field: ",
10474            stringify!(_fpstate_32),
10475            "::",
10476            stringify!(status)
10477        )
10478    );
10479    assert_eq!(
10480        unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
10481        110usize,
10482        concat!(
10483            "Offset of field: ",
10484            stringify!(_fpstate_32),
10485            "::",
10486            stringify!(magic)
10487        )
10488    );
10489    assert_eq!(
10490        unsafe { ::std::ptr::addr_of!((*ptr)._fxsr_env) as usize - ptr as usize },
10491        112usize,
10492        concat!(
10493            "Offset of field: ",
10494            stringify!(_fpstate_32),
10495            "::",
10496            stringify!(_fxsr_env)
10497        )
10498    );
10499    assert_eq!(
10500        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr) as usize - ptr as usize },
10501        136usize,
10502        concat!(
10503            "Offset of field: ",
10504            stringify!(_fpstate_32),
10505            "::",
10506            stringify!(mxcsr)
10507        )
10508    );
10509    assert_eq!(
10510        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
10511        140usize,
10512        concat!(
10513            "Offset of field: ",
10514            stringify!(_fpstate_32),
10515            "::",
10516            stringify!(reserved)
10517        )
10518    );
10519    assert_eq!(
10520        unsafe { ::std::ptr::addr_of!((*ptr)._fxsr_st) as usize - ptr as usize },
10521        144usize,
10522        concat!(
10523            "Offset of field: ",
10524            stringify!(_fpstate_32),
10525            "::",
10526            stringify!(_fxsr_st)
10527        )
10528    );
10529    assert_eq!(
10530        unsafe { ::std::ptr::addr_of!((*ptr)._xmm) as usize - ptr as usize },
10531        272usize,
10532        concat!(
10533            "Offset of field: ",
10534            stringify!(_fpstate_32),
10535            "::",
10536            stringify!(_xmm)
10537        )
10538    );
10539}
10540#[repr(C)]
10541#[derive(Copy, Clone)]
10542pub struct _fpstate_64 {
10543    pub cwd: __u16,
10544    pub swd: __u16,
10545    pub twd: __u16,
10546    pub fop: __u16,
10547    pub rip: __u64,
10548    pub rdp: __u64,
10549    pub mxcsr: __u32,
10550    pub mxcsr_mask: __u32,
10551    pub st_space: [__u32; 32usize],
10552    pub xmm_space: [__u32; 64usize],
10553    pub reserved2: [__u32; 12usize],
10554    pub __bindgen_anon_1: _fpstate_64__bindgen_ty_1,
10555}
10556#[repr(C)]
10557#[derive(Copy, Clone)]
10558pub union _fpstate_64__bindgen_ty_1 {
10559    pub reserved3: [__u32; 12usize],
10560    pub sw_reserved: _fpx_sw_bytes,
10561}
10562#[test]
10563fn bindgen_test_layout__fpstate_64__bindgen_ty_1() {
10564    const UNINIT: ::std::mem::MaybeUninit<_fpstate_64__bindgen_ty_1> =
10565        ::std::mem::MaybeUninit::uninit();
10566    let ptr = UNINIT.as_ptr();
10567    assert_eq!(
10568        ::std::mem::size_of::<_fpstate_64__bindgen_ty_1>(),
10569        48usize,
10570        concat!("Size of: ", stringify!(_fpstate_64__bindgen_ty_1))
10571    );
10572    assert_eq!(
10573        ::std::mem::align_of::<_fpstate_64__bindgen_ty_1>(),
10574        4usize,
10575        concat!("Alignment of ", stringify!(_fpstate_64__bindgen_ty_1))
10576    );
10577    assert_eq!(
10578        unsafe { ::std::ptr::addr_of!((*ptr).reserved3) as usize - ptr as usize },
10579        0usize,
10580        concat!(
10581            "Offset of field: ",
10582            stringify!(_fpstate_64__bindgen_ty_1),
10583            "::",
10584            stringify!(reserved3)
10585        )
10586    );
10587    assert_eq!(
10588        unsafe { ::std::ptr::addr_of!((*ptr).sw_reserved) as usize - ptr as usize },
10589        0usize,
10590        concat!(
10591            "Offset of field: ",
10592            stringify!(_fpstate_64__bindgen_ty_1),
10593            "::",
10594            stringify!(sw_reserved)
10595        )
10596    );
10597}
10598#[test]
10599fn bindgen_test_layout__fpstate_64() {
10600    const UNINIT: ::std::mem::MaybeUninit<_fpstate_64> = ::std::mem::MaybeUninit::uninit();
10601    let ptr = UNINIT.as_ptr();
10602    assert_eq!(
10603        ::std::mem::size_of::<_fpstate_64>(),
10604        512usize,
10605        concat!("Size of: ", stringify!(_fpstate_64))
10606    );
10607    assert_eq!(
10608        ::std::mem::align_of::<_fpstate_64>(),
10609        4usize,
10610        concat!("Alignment of ", stringify!(_fpstate_64))
10611    );
10612    assert_eq!(
10613        unsafe { ::std::ptr::addr_of!((*ptr).cwd) as usize - ptr as usize },
10614        0usize,
10615        concat!(
10616            "Offset of field: ",
10617            stringify!(_fpstate_64),
10618            "::",
10619            stringify!(cwd)
10620        )
10621    );
10622    assert_eq!(
10623        unsafe { ::std::ptr::addr_of!((*ptr).swd) as usize - ptr as usize },
10624        2usize,
10625        concat!(
10626            "Offset of field: ",
10627            stringify!(_fpstate_64),
10628            "::",
10629            stringify!(swd)
10630        )
10631    );
10632    assert_eq!(
10633        unsafe { ::std::ptr::addr_of!((*ptr).twd) as usize - ptr as usize },
10634        4usize,
10635        concat!(
10636            "Offset of field: ",
10637            stringify!(_fpstate_64),
10638            "::",
10639            stringify!(twd)
10640        )
10641    );
10642    assert_eq!(
10643        unsafe { ::std::ptr::addr_of!((*ptr).fop) as usize - ptr as usize },
10644        6usize,
10645        concat!(
10646            "Offset of field: ",
10647            stringify!(_fpstate_64),
10648            "::",
10649            stringify!(fop)
10650        )
10651    );
10652    assert_eq!(
10653        unsafe { ::std::ptr::addr_of!((*ptr).rip) as usize - ptr as usize },
10654        8usize,
10655        concat!(
10656            "Offset of field: ",
10657            stringify!(_fpstate_64),
10658            "::",
10659            stringify!(rip)
10660        )
10661    );
10662    assert_eq!(
10663        unsafe { ::std::ptr::addr_of!((*ptr).rdp) as usize - ptr as usize },
10664        16usize,
10665        concat!(
10666            "Offset of field: ",
10667            stringify!(_fpstate_64),
10668            "::",
10669            stringify!(rdp)
10670        )
10671    );
10672    assert_eq!(
10673        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr) as usize - ptr as usize },
10674        24usize,
10675        concat!(
10676            "Offset of field: ",
10677            stringify!(_fpstate_64),
10678            "::",
10679            stringify!(mxcsr)
10680        )
10681    );
10682    assert_eq!(
10683        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr_mask) as usize - ptr as usize },
10684        28usize,
10685        concat!(
10686            "Offset of field: ",
10687            stringify!(_fpstate_64),
10688            "::",
10689            stringify!(mxcsr_mask)
10690        )
10691    );
10692    assert_eq!(
10693        unsafe { ::std::ptr::addr_of!((*ptr).st_space) as usize - ptr as usize },
10694        32usize,
10695        concat!(
10696            "Offset of field: ",
10697            stringify!(_fpstate_64),
10698            "::",
10699            stringify!(st_space)
10700        )
10701    );
10702    assert_eq!(
10703        unsafe { ::std::ptr::addr_of!((*ptr).xmm_space) as usize - ptr as usize },
10704        160usize,
10705        concat!(
10706            "Offset of field: ",
10707            stringify!(_fpstate_64),
10708            "::",
10709            stringify!(xmm_space)
10710        )
10711    );
10712    assert_eq!(
10713        unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
10714        416usize,
10715        concat!(
10716            "Offset of field: ",
10717            stringify!(_fpstate_64),
10718            "::",
10719            stringify!(reserved2)
10720        )
10721    );
10722}
10723#[repr(C)]
10724#[derive(Debug, Copy, Clone)]
10725pub struct _header {
10726    pub xfeatures: __u64,
10727    pub reserved1: [__u64; 2usize],
10728    pub reserved2: [__u64; 5usize],
10729}
10730#[test]
10731fn bindgen_test_layout__header() {
10732    const UNINIT: ::std::mem::MaybeUninit<_header> = ::std::mem::MaybeUninit::uninit();
10733    let ptr = UNINIT.as_ptr();
10734    assert_eq!(
10735        ::std::mem::size_of::<_header>(),
10736        64usize,
10737        concat!("Size of: ", stringify!(_header))
10738    );
10739    assert_eq!(
10740        ::std::mem::align_of::<_header>(),
10741        4usize,
10742        concat!("Alignment of ", stringify!(_header))
10743    );
10744    assert_eq!(
10745        unsafe { ::std::ptr::addr_of!((*ptr).xfeatures) as usize - ptr as usize },
10746        0usize,
10747        concat!(
10748            "Offset of field: ",
10749            stringify!(_header),
10750            "::",
10751            stringify!(xfeatures)
10752        )
10753    );
10754    assert_eq!(
10755        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
10756        8usize,
10757        concat!(
10758            "Offset of field: ",
10759            stringify!(_header),
10760            "::",
10761            stringify!(reserved1)
10762        )
10763    );
10764    assert_eq!(
10765        unsafe { ::std::ptr::addr_of!((*ptr).reserved2) as usize - ptr as usize },
10766        24usize,
10767        concat!(
10768            "Offset of field: ",
10769            stringify!(_header),
10770            "::",
10771            stringify!(reserved2)
10772        )
10773    );
10774}
10775#[repr(C)]
10776#[derive(Debug, Copy, Clone)]
10777pub struct _ymmh_state {
10778    pub ymmh_space: [__u32; 64usize],
10779}
10780#[test]
10781fn bindgen_test_layout__ymmh_state() {
10782    const UNINIT: ::std::mem::MaybeUninit<_ymmh_state> = ::std::mem::MaybeUninit::uninit();
10783    let ptr = UNINIT.as_ptr();
10784    assert_eq!(
10785        ::std::mem::size_of::<_ymmh_state>(),
10786        256usize,
10787        concat!("Size of: ", stringify!(_ymmh_state))
10788    );
10789    assert_eq!(
10790        ::std::mem::align_of::<_ymmh_state>(),
10791        4usize,
10792        concat!("Alignment of ", stringify!(_ymmh_state))
10793    );
10794    assert_eq!(
10795        unsafe { ::std::ptr::addr_of!((*ptr).ymmh_space) as usize - ptr as usize },
10796        0usize,
10797        concat!(
10798            "Offset of field: ",
10799            stringify!(_ymmh_state),
10800            "::",
10801            stringify!(ymmh_space)
10802        )
10803    );
10804}
10805#[repr(C)]
10806#[derive(Copy, Clone)]
10807pub struct _xstate {
10808    pub fpstate: _fpstate_32,
10809    pub xstate_hdr: _header,
10810    pub ymmh: _ymmh_state,
10811}
10812#[test]
10813fn bindgen_test_layout__xstate() {
10814    const UNINIT: ::std::mem::MaybeUninit<_xstate> = ::std::mem::MaybeUninit::uninit();
10815    let ptr = UNINIT.as_ptr();
10816    assert_eq!(
10817        ::std::mem::size_of::<_xstate>(),
10818        944usize,
10819        concat!("Size of: ", stringify!(_xstate))
10820    );
10821    assert_eq!(
10822        ::std::mem::align_of::<_xstate>(),
10823        4usize,
10824        concat!("Alignment of ", stringify!(_xstate))
10825    );
10826    assert_eq!(
10827        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
10828        0usize,
10829        concat!(
10830            "Offset of field: ",
10831            stringify!(_xstate),
10832            "::",
10833            stringify!(fpstate)
10834        )
10835    );
10836    assert_eq!(
10837        unsafe { ::std::ptr::addr_of!((*ptr).xstate_hdr) as usize - ptr as usize },
10838        624usize,
10839        concat!(
10840            "Offset of field: ",
10841            stringify!(_xstate),
10842            "::",
10843            stringify!(xstate_hdr)
10844        )
10845    );
10846    assert_eq!(
10847        unsafe { ::std::ptr::addr_of!((*ptr).ymmh) as usize - ptr as usize },
10848        688usize,
10849        concat!(
10850            "Offset of field: ",
10851            stringify!(_xstate),
10852            "::",
10853            stringify!(ymmh)
10854        )
10855    );
10856}
10857#[repr(C)]
10858#[derive(Debug, Copy, Clone)]
10859pub struct sigcontext_32 {
10860    pub gs: __u16,
10861    pub __gsh: __u16,
10862    pub fs: __u16,
10863    pub __fsh: __u16,
10864    pub es: __u16,
10865    pub __esh: __u16,
10866    pub ds: __u16,
10867    pub __dsh: __u16,
10868    pub di: __u32,
10869    pub si: __u32,
10870    pub bp: __u32,
10871    pub sp: __u32,
10872    pub bx: __u32,
10873    pub dx: __u32,
10874    pub cx: __u32,
10875    pub ax: __u32,
10876    pub trapno: __u32,
10877    pub err: __u32,
10878    pub ip: __u32,
10879    pub cs: __u16,
10880    pub __csh: __u16,
10881    pub flags: __u32,
10882    pub sp_at_signal: __u32,
10883    pub ss: __u16,
10884    pub __ssh: __u16,
10885    pub fpstate: __u32,
10886    pub oldmask: __u32,
10887    pub cr2: __u32,
10888}
10889#[test]
10890fn bindgen_test_layout_sigcontext_32() {
10891    const UNINIT: ::std::mem::MaybeUninit<sigcontext_32> = ::std::mem::MaybeUninit::uninit();
10892    let ptr = UNINIT.as_ptr();
10893    assert_eq!(
10894        ::std::mem::size_of::<sigcontext_32>(),
10895        88usize,
10896        concat!("Size of: ", stringify!(sigcontext_32))
10897    );
10898    assert_eq!(
10899        ::std::mem::align_of::<sigcontext_32>(),
10900        4usize,
10901        concat!("Alignment of ", stringify!(sigcontext_32))
10902    );
10903    assert_eq!(
10904        unsafe { ::std::ptr::addr_of!((*ptr).gs) as usize - ptr as usize },
10905        0usize,
10906        concat!(
10907            "Offset of field: ",
10908            stringify!(sigcontext_32),
10909            "::",
10910            stringify!(gs)
10911        )
10912    );
10913    assert_eq!(
10914        unsafe { ::std::ptr::addr_of!((*ptr).__gsh) as usize - ptr as usize },
10915        2usize,
10916        concat!(
10917            "Offset of field: ",
10918            stringify!(sigcontext_32),
10919            "::",
10920            stringify!(__gsh)
10921        )
10922    );
10923    assert_eq!(
10924        unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize },
10925        4usize,
10926        concat!(
10927            "Offset of field: ",
10928            stringify!(sigcontext_32),
10929            "::",
10930            stringify!(fs)
10931        )
10932    );
10933    assert_eq!(
10934        unsafe { ::std::ptr::addr_of!((*ptr).__fsh) as usize - ptr as usize },
10935        6usize,
10936        concat!(
10937            "Offset of field: ",
10938            stringify!(sigcontext_32),
10939            "::",
10940            stringify!(__fsh)
10941        )
10942    );
10943    assert_eq!(
10944        unsafe { ::std::ptr::addr_of!((*ptr).es) as usize - ptr as usize },
10945        8usize,
10946        concat!(
10947            "Offset of field: ",
10948            stringify!(sigcontext_32),
10949            "::",
10950            stringify!(es)
10951        )
10952    );
10953    assert_eq!(
10954        unsafe { ::std::ptr::addr_of!((*ptr).__esh) as usize - ptr as usize },
10955        10usize,
10956        concat!(
10957            "Offset of field: ",
10958            stringify!(sigcontext_32),
10959            "::",
10960            stringify!(__esh)
10961        )
10962    );
10963    assert_eq!(
10964        unsafe { ::std::ptr::addr_of!((*ptr).ds) as usize - ptr as usize },
10965        12usize,
10966        concat!(
10967            "Offset of field: ",
10968            stringify!(sigcontext_32),
10969            "::",
10970            stringify!(ds)
10971        )
10972    );
10973    assert_eq!(
10974        unsafe { ::std::ptr::addr_of!((*ptr).__dsh) as usize - ptr as usize },
10975        14usize,
10976        concat!(
10977            "Offset of field: ",
10978            stringify!(sigcontext_32),
10979            "::",
10980            stringify!(__dsh)
10981        )
10982    );
10983    assert_eq!(
10984        unsafe { ::std::ptr::addr_of!((*ptr).di) as usize - ptr as usize },
10985        16usize,
10986        concat!(
10987            "Offset of field: ",
10988            stringify!(sigcontext_32),
10989            "::",
10990            stringify!(di)
10991        )
10992    );
10993    assert_eq!(
10994        unsafe { ::std::ptr::addr_of!((*ptr).si) as usize - ptr as usize },
10995        20usize,
10996        concat!(
10997            "Offset of field: ",
10998            stringify!(sigcontext_32),
10999            "::",
11000            stringify!(si)
11001        )
11002    );
11003    assert_eq!(
11004        unsafe { ::std::ptr::addr_of!((*ptr).bp) as usize - ptr as usize },
11005        24usize,
11006        concat!(
11007            "Offset of field: ",
11008            stringify!(sigcontext_32),
11009            "::",
11010            stringify!(bp)
11011        )
11012    );
11013    assert_eq!(
11014        unsafe { ::std::ptr::addr_of!((*ptr).sp) as usize - ptr as usize },
11015        28usize,
11016        concat!(
11017            "Offset of field: ",
11018            stringify!(sigcontext_32),
11019            "::",
11020            stringify!(sp)
11021        )
11022    );
11023    assert_eq!(
11024        unsafe { ::std::ptr::addr_of!((*ptr).bx) as usize - ptr as usize },
11025        32usize,
11026        concat!(
11027            "Offset of field: ",
11028            stringify!(sigcontext_32),
11029            "::",
11030            stringify!(bx)
11031        )
11032    );
11033    assert_eq!(
11034        unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize },
11035        36usize,
11036        concat!(
11037            "Offset of field: ",
11038            stringify!(sigcontext_32),
11039            "::",
11040            stringify!(dx)
11041        )
11042    );
11043    assert_eq!(
11044        unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize },
11045        40usize,
11046        concat!(
11047            "Offset of field: ",
11048            stringify!(sigcontext_32),
11049            "::",
11050            stringify!(cx)
11051        )
11052    );
11053    assert_eq!(
11054        unsafe { ::std::ptr::addr_of!((*ptr).ax) as usize - ptr as usize },
11055        44usize,
11056        concat!(
11057            "Offset of field: ",
11058            stringify!(sigcontext_32),
11059            "::",
11060            stringify!(ax)
11061        )
11062    );
11063    assert_eq!(
11064        unsafe { ::std::ptr::addr_of!((*ptr).trapno) as usize - ptr as usize },
11065        48usize,
11066        concat!(
11067            "Offset of field: ",
11068            stringify!(sigcontext_32),
11069            "::",
11070            stringify!(trapno)
11071        )
11072    );
11073    assert_eq!(
11074        unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
11075        52usize,
11076        concat!(
11077            "Offset of field: ",
11078            stringify!(sigcontext_32),
11079            "::",
11080            stringify!(err)
11081        )
11082    );
11083    assert_eq!(
11084        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
11085        56usize,
11086        concat!(
11087            "Offset of field: ",
11088            stringify!(sigcontext_32),
11089            "::",
11090            stringify!(ip)
11091        )
11092    );
11093    assert_eq!(
11094        unsafe { ::std::ptr::addr_of!((*ptr).cs) as usize - ptr as usize },
11095        60usize,
11096        concat!(
11097            "Offset of field: ",
11098            stringify!(sigcontext_32),
11099            "::",
11100            stringify!(cs)
11101        )
11102    );
11103    assert_eq!(
11104        unsafe { ::std::ptr::addr_of!((*ptr).__csh) as usize - ptr as usize },
11105        62usize,
11106        concat!(
11107            "Offset of field: ",
11108            stringify!(sigcontext_32),
11109            "::",
11110            stringify!(__csh)
11111        )
11112    );
11113    assert_eq!(
11114        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11115        64usize,
11116        concat!(
11117            "Offset of field: ",
11118            stringify!(sigcontext_32),
11119            "::",
11120            stringify!(flags)
11121        )
11122    );
11123    assert_eq!(
11124        unsafe { ::std::ptr::addr_of!((*ptr).sp_at_signal) as usize - ptr as usize },
11125        68usize,
11126        concat!(
11127            "Offset of field: ",
11128            stringify!(sigcontext_32),
11129            "::",
11130            stringify!(sp_at_signal)
11131        )
11132    );
11133    assert_eq!(
11134        unsafe { ::std::ptr::addr_of!((*ptr).ss) as usize - ptr as usize },
11135        72usize,
11136        concat!(
11137            "Offset of field: ",
11138            stringify!(sigcontext_32),
11139            "::",
11140            stringify!(ss)
11141        )
11142    );
11143    assert_eq!(
11144        unsafe { ::std::ptr::addr_of!((*ptr).__ssh) as usize - ptr as usize },
11145        74usize,
11146        concat!(
11147            "Offset of field: ",
11148            stringify!(sigcontext_32),
11149            "::",
11150            stringify!(__ssh)
11151        )
11152    );
11153    assert_eq!(
11154        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
11155        76usize,
11156        concat!(
11157            "Offset of field: ",
11158            stringify!(sigcontext_32),
11159            "::",
11160            stringify!(fpstate)
11161        )
11162    );
11163    assert_eq!(
11164        unsafe { ::std::ptr::addr_of!((*ptr).oldmask) as usize - ptr as usize },
11165        80usize,
11166        concat!(
11167            "Offset of field: ",
11168            stringify!(sigcontext_32),
11169            "::",
11170            stringify!(oldmask)
11171        )
11172    );
11173    assert_eq!(
11174        unsafe { ::std::ptr::addr_of!((*ptr).cr2) as usize - ptr as usize },
11175        84usize,
11176        concat!(
11177            "Offset of field: ",
11178            stringify!(sigcontext_32),
11179            "::",
11180            stringify!(cr2)
11181        )
11182    );
11183}
11184#[repr(C)]
11185#[derive(Debug, Copy, Clone)]
11186pub struct sigcontext_64 {
11187    pub r8: __u64,
11188    pub r9: __u64,
11189    pub r10: __u64,
11190    pub r11: __u64,
11191    pub r12: __u64,
11192    pub r13: __u64,
11193    pub r14: __u64,
11194    pub r15: __u64,
11195    pub di: __u64,
11196    pub si: __u64,
11197    pub bp: __u64,
11198    pub bx: __u64,
11199    pub dx: __u64,
11200    pub ax: __u64,
11201    pub cx: __u64,
11202    pub sp: __u64,
11203    pub ip: __u64,
11204    pub flags: __u64,
11205    pub cs: __u16,
11206    pub gs: __u16,
11207    pub fs: __u16,
11208    pub ss: __u16,
11209    pub err: __u64,
11210    pub trapno: __u64,
11211    pub oldmask: __u64,
11212    pub cr2: __u64,
11213    pub fpstate: __u64,
11214    pub reserved1: [__u64; 8usize],
11215}
11216#[test]
11217fn bindgen_test_layout_sigcontext_64() {
11218    const UNINIT: ::std::mem::MaybeUninit<sigcontext_64> = ::std::mem::MaybeUninit::uninit();
11219    let ptr = UNINIT.as_ptr();
11220    assert_eq!(
11221        ::std::mem::size_of::<sigcontext_64>(),
11222        256usize,
11223        concat!("Size of: ", stringify!(sigcontext_64))
11224    );
11225    assert_eq!(
11226        ::std::mem::align_of::<sigcontext_64>(),
11227        4usize,
11228        concat!("Alignment of ", stringify!(sigcontext_64))
11229    );
11230    assert_eq!(
11231        unsafe { ::std::ptr::addr_of!((*ptr).r8) as usize - ptr as usize },
11232        0usize,
11233        concat!(
11234            "Offset of field: ",
11235            stringify!(sigcontext_64),
11236            "::",
11237            stringify!(r8)
11238        )
11239    );
11240    assert_eq!(
11241        unsafe { ::std::ptr::addr_of!((*ptr).r9) as usize - ptr as usize },
11242        8usize,
11243        concat!(
11244            "Offset of field: ",
11245            stringify!(sigcontext_64),
11246            "::",
11247            stringify!(r9)
11248        )
11249    );
11250    assert_eq!(
11251        unsafe { ::std::ptr::addr_of!((*ptr).r10) as usize - ptr as usize },
11252        16usize,
11253        concat!(
11254            "Offset of field: ",
11255            stringify!(sigcontext_64),
11256            "::",
11257            stringify!(r10)
11258        )
11259    );
11260    assert_eq!(
11261        unsafe { ::std::ptr::addr_of!((*ptr).r11) as usize - ptr as usize },
11262        24usize,
11263        concat!(
11264            "Offset of field: ",
11265            stringify!(sigcontext_64),
11266            "::",
11267            stringify!(r11)
11268        )
11269    );
11270    assert_eq!(
11271        unsafe { ::std::ptr::addr_of!((*ptr).r12) as usize - ptr as usize },
11272        32usize,
11273        concat!(
11274            "Offset of field: ",
11275            stringify!(sigcontext_64),
11276            "::",
11277            stringify!(r12)
11278        )
11279    );
11280    assert_eq!(
11281        unsafe { ::std::ptr::addr_of!((*ptr).r13) as usize - ptr as usize },
11282        40usize,
11283        concat!(
11284            "Offset of field: ",
11285            stringify!(sigcontext_64),
11286            "::",
11287            stringify!(r13)
11288        )
11289    );
11290    assert_eq!(
11291        unsafe { ::std::ptr::addr_of!((*ptr).r14) as usize - ptr as usize },
11292        48usize,
11293        concat!(
11294            "Offset of field: ",
11295            stringify!(sigcontext_64),
11296            "::",
11297            stringify!(r14)
11298        )
11299    );
11300    assert_eq!(
11301        unsafe { ::std::ptr::addr_of!((*ptr).r15) as usize - ptr as usize },
11302        56usize,
11303        concat!(
11304            "Offset of field: ",
11305            stringify!(sigcontext_64),
11306            "::",
11307            stringify!(r15)
11308        )
11309    );
11310    assert_eq!(
11311        unsafe { ::std::ptr::addr_of!((*ptr).di) as usize - ptr as usize },
11312        64usize,
11313        concat!(
11314            "Offset of field: ",
11315            stringify!(sigcontext_64),
11316            "::",
11317            stringify!(di)
11318        )
11319    );
11320    assert_eq!(
11321        unsafe { ::std::ptr::addr_of!((*ptr).si) as usize - ptr as usize },
11322        72usize,
11323        concat!(
11324            "Offset of field: ",
11325            stringify!(sigcontext_64),
11326            "::",
11327            stringify!(si)
11328        )
11329    );
11330    assert_eq!(
11331        unsafe { ::std::ptr::addr_of!((*ptr).bp) as usize - ptr as usize },
11332        80usize,
11333        concat!(
11334            "Offset of field: ",
11335            stringify!(sigcontext_64),
11336            "::",
11337            stringify!(bp)
11338        )
11339    );
11340    assert_eq!(
11341        unsafe { ::std::ptr::addr_of!((*ptr).bx) as usize - ptr as usize },
11342        88usize,
11343        concat!(
11344            "Offset of field: ",
11345            stringify!(sigcontext_64),
11346            "::",
11347            stringify!(bx)
11348        )
11349    );
11350    assert_eq!(
11351        unsafe { ::std::ptr::addr_of!((*ptr).dx) as usize - ptr as usize },
11352        96usize,
11353        concat!(
11354            "Offset of field: ",
11355            stringify!(sigcontext_64),
11356            "::",
11357            stringify!(dx)
11358        )
11359    );
11360    assert_eq!(
11361        unsafe { ::std::ptr::addr_of!((*ptr).ax) as usize - ptr as usize },
11362        104usize,
11363        concat!(
11364            "Offset of field: ",
11365            stringify!(sigcontext_64),
11366            "::",
11367            stringify!(ax)
11368        )
11369    );
11370    assert_eq!(
11371        unsafe { ::std::ptr::addr_of!((*ptr).cx) as usize - ptr as usize },
11372        112usize,
11373        concat!(
11374            "Offset of field: ",
11375            stringify!(sigcontext_64),
11376            "::",
11377            stringify!(cx)
11378        )
11379    );
11380    assert_eq!(
11381        unsafe { ::std::ptr::addr_of!((*ptr).sp) as usize - ptr as usize },
11382        120usize,
11383        concat!(
11384            "Offset of field: ",
11385            stringify!(sigcontext_64),
11386            "::",
11387            stringify!(sp)
11388        )
11389    );
11390    assert_eq!(
11391        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
11392        128usize,
11393        concat!(
11394            "Offset of field: ",
11395            stringify!(sigcontext_64),
11396            "::",
11397            stringify!(ip)
11398        )
11399    );
11400    assert_eq!(
11401        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11402        136usize,
11403        concat!(
11404            "Offset of field: ",
11405            stringify!(sigcontext_64),
11406            "::",
11407            stringify!(flags)
11408        )
11409    );
11410    assert_eq!(
11411        unsafe { ::std::ptr::addr_of!((*ptr).cs) as usize - ptr as usize },
11412        144usize,
11413        concat!(
11414            "Offset of field: ",
11415            stringify!(sigcontext_64),
11416            "::",
11417            stringify!(cs)
11418        )
11419    );
11420    assert_eq!(
11421        unsafe { ::std::ptr::addr_of!((*ptr).gs) as usize - ptr as usize },
11422        146usize,
11423        concat!(
11424            "Offset of field: ",
11425            stringify!(sigcontext_64),
11426            "::",
11427            stringify!(gs)
11428        )
11429    );
11430    assert_eq!(
11431        unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize },
11432        148usize,
11433        concat!(
11434            "Offset of field: ",
11435            stringify!(sigcontext_64),
11436            "::",
11437            stringify!(fs)
11438        )
11439    );
11440    assert_eq!(
11441        unsafe { ::std::ptr::addr_of!((*ptr).ss) as usize - ptr as usize },
11442        150usize,
11443        concat!(
11444            "Offset of field: ",
11445            stringify!(sigcontext_64),
11446            "::",
11447            stringify!(ss)
11448        )
11449    );
11450    assert_eq!(
11451        unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
11452        152usize,
11453        concat!(
11454            "Offset of field: ",
11455            stringify!(sigcontext_64),
11456            "::",
11457            stringify!(err)
11458        )
11459    );
11460    assert_eq!(
11461        unsafe { ::std::ptr::addr_of!((*ptr).trapno) as usize - ptr as usize },
11462        160usize,
11463        concat!(
11464            "Offset of field: ",
11465            stringify!(sigcontext_64),
11466            "::",
11467            stringify!(trapno)
11468        )
11469    );
11470    assert_eq!(
11471        unsafe { ::std::ptr::addr_of!((*ptr).oldmask) as usize - ptr as usize },
11472        168usize,
11473        concat!(
11474            "Offset of field: ",
11475            stringify!(sigcontext_64),
11476            "::",
11477            stringify!(oldmask)
11478        )
11479    );
11480    assert_eq!(
11481        unsafe { ::std::ptr::addr_of!((*ptr).cr2) as usize - ptr as usize },
11482        176usize,
11483        concat!(
11484            "Offset of field: ",
11485            stringify!(sigcontext_64),
11486            "::",
11487            stringify!(cr2)
11488        )
11489    );
11490    assert_eq!(
11491        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
11492        184usize,
11493        concat!(
11494            "Offset of field: ",
11495            stringify!(sigcontext_64),
11496            "::",
11497            stringify!(fpstate)
11498        )
11499    );
11500    assert_eq!(
11501        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
11502        192usize,
11503        concat!(
11504            "Offset of field: ",
11505            stringify!(sigcontext_64),
11506            "::",
11507            stringify!(reserved1)
11508        )
11509    );
11510}
11511#[repr(C)]
11512#[derive(Debug, Copy, Clone)]
11513pub struct sigcontext {
11514    pub gs: __u16,
11515    pub __gsh: __u16,
11516    pub fs: __u16,
11517    pub __fsh: __u16,
11518    pub es: __u16,
11519    pub __esh: __u16,
11520    pub ds: __u16,
11521    pub __dsh: __u16,
11522    pub edi: __u32,
11523    pub esi: __u32,
11524    pub ebp: __u32,
11525    pub esp: __u32,
11526    pub ebx: __u32,
11527    pub edx: __u32,
11528    pub ecx: __u32,
11529    pub eax: __u32,
11530    pub trapno: __u32,
11531    pub err: __u32,
11532    pub eip: __u32,
11533    pub cs: __u16,
11534    pub __csh: __u16,
11535    pub eflags: __u32,
11536    pub esp_at_signal: __u32,
11537    pub ss: __u16,
11538    pub __ssh: __u16,
11539    pub fpstate: *mut _fpstate_32,
11540    pub oldmask: __u32,
11541    pub cr2: __u32,
11542}
11543#[test]
11544fn bindgen_test_layout_sigcontext() {
11545    const UNINIT: ::std::mem::MaybeUninit<sigcontext> = ::std::mem::MaybeUninit::uninit();
11546    let ptr = UNINIT.as_ptr();
11547    assert_eq!(
11548        ::std::mem::size_of::<sigcontext>(),
11549        88usize,
11550        concat!("Size of: ", stringify!(sigcontext))
11551    );
11552    assert_eq!(
11553        ::std::mem::align_of::<sigcontext>(),
11554        4usize,
11555        concat!("Alignment of ", stringify!(sigcontext))
11556    );
11557    assert_eq!(
11558        unsafe { ::std::ptr::addr_of!((*ptr).gs) as usize - ptr as usize },
11559        0usize,
11560        concat!(
11561            "Offset of field: ",
11562            stringify!(sigcontext),
11563            "::",
11564            stringify!(gs)
11565        )
11566    );
11567    assert_eq!(
11568        unsafe { ::std::ptr::addr_of!((*ptr).__gsh) as usize - ptr as usize },
11569        2usize,
11570        concat!(
11571            "Offset of field: ",
11572            stringify!(sigcontext),
11573            "::",
11574            stringify!(__gsh)
11575        )
11576    );
11577    assert_eq!(
11578        unsafe { ::std::ptr::addr_of!((*ptr).fs) as usize - ptr as usize },
11579        4usize,
11580        concat!(
11581            "Offset of field: ",
11582            stringify!(sigcontext),
11583            "::",
11584            stringify!(fs)
11585        )
11586    );
11587    assert_eq!(
11588        unsafe { ::std::ptr::addr_of!((*ptr).__fsh) as usize - ptr as usize },
11589        6usize,
11590        concat!(
11591            "Offset of field: ",
11592            stringify!(sigcontext),
11593            "::",
11594            stringify!(__fsh)
11595        )
11596    );
11597    assert_eq!(
11598        unsafe { ::std::ptr::addr_of!((*ptr).es) as usize - ptr as usize },
11599        8usize,
11600        concat!(
11601            "Offset of field: ",
11602            stringify!(sigcontext),
11603            "::",
11604            stringify!(es)
11605        )
11606    );
11607    assert_eq!(
11608        unsafe { ::std::ptr::addr_of!((*ptr).__esh) as usize - ptr as usize },
11609        10usize,
11610        concat!(
11611            "Offset of field: ",
11612            stringify!(sigcontext),
11613            "::",
11614            stringify!(__esh)
11615        )
11616    );
11617    assert_eq!(
11618        unsafe { ::std::ptr::addr_of!((*ptr).ds) as usize - ptr as usize },
11619        12usize,
11620        concat!(
11621            "Offset of field: ",
11622            stringify!(sigcontext),
11623            "::",
11624            stringify!(ds)
11625        )
11626    );
11627    assert_eq!(
11628        unsafe { ::std::ptr::addr_of!((*ptr).__dsh) as usize - ptr as usize },
11629        14usize,
11630        concat!(
11631            "Offset of field: ",
11632            stringify!(sigcontext),
11633            "::",
11634            stringify!(__dsh)
11635        )
11636    );
11637    assert_eq!(
11638        unsafe { ::std::ptr::addr_of!((*ptr).edi) as usize - ptr as usize },
11639        16usize,
11640        concat!(
11641            "Offset of field: ",
11642            stringify!(sigcontext),
11643            "::",
11644            stringify!(edi)
11645        )
11646    );
11647    assert_eq!(
11648        unsafe { ::std::ptr::addr_of!((*ptr).esi) as usize - ptr as usize },
11649        20usize,
11650        concat!(
11651            "Offset of field: ",
11652            stringify!(sigcontext),
11653            "::",
11654            stringify!(esi)
11655        )
11656    );
11657    assert_eq!(
11658        unsafe { ::std::ptr::addr_of!((*ptr).ebp) as usize - ptr as usize },
11659        24usize,
11660        concat!(
11661            "Offset of field: ",
11662            stringify!(sigcontext),
11663            "::",
11664            stringify!(ebp)
11665        )
11666    );
11667    assert_eq!(
11668        unsafe { ::std::ptr::addr_of!((*ptr).esp) as usize - ptr as usize },
11669        28usize,
11670        concat!(
11671            "Offset of field: ",
11672            stringify!(sigcontext),
11673            "::",
11674            stringify!(esp)
11675        )
11676    );
11677    assert_eq!(
11678        unsafe { ::std::ptr::addr_of!((*ptr).ebx) as usize - ptr as usize },
11679        32usize,
11680        concat!(
11681            "Offset of field: ",
11682            stringify!(sigcontext),
11683            "::",
11684            stringify!(ebx)
11685        )
11686    );
11687    assert_eq!(
11688        unsafe { ::std::ptr::addr_of!((*ptr).edx) as usize - ptr as usize },
11689        36usize,
11690        concat!(
11691            "Offset of field: ",
11692            stringify!(sigcontext),
11693            "::",
11694            stringify!(edx)
11695        )
11696    );
11697    assert_eq!(
11698        unsafe { ::std::ptr::addr_of!((*ptr).ecx) as usize - ptr as usize },
11699        40usize,
11700        concat!(
11701            "Offset of field: ",
11702            stringify!(sigcontext),
11703            "::",
11704            stringify!(ecx)
11705        )
11706    );
11707    assert_eq!(
11708        unsafe { ::std::ptr::addr_of!((*ptr).eax) as usize - ptr as usize },
11709        44usize,
11710        concat!(
11711            "Offset of field: ",
11712            stringify!(sigcontext),
11713            "::",
11714            stringify!(eax)
11715        )
11716    );
11717    assert_eq!(
11718        unsafe { ::std::ptr::addr_of!((*ptr).trapno) as usize - ptr as usize },
11719        48usize,
11720        concat!(
11721            "Offset of field: ",
11722            stringify!(sigcontext),
11723            "::",
11724            stringify!(trapno)
11725        )
11726    );
11727    assert_eq!(
11728        unsafe { ::std::ptr::addr_of!((*ptr).err) as usize - ptr as usize },
11729        52usize,
11730        concat!(
11731            "Offset of field: ",
11732            stringify!(sigcontext),
11733            "::",
11734            stringify!(err)
11735        )
11736    );
11737    assert_eq!(
11738        unsafe { ::std::ptr::addr_of!((*ptr).eip) as usize - ptr as usize },
11739        56usize,
11740        concat!(
11741            "Offset of field: ",
11742            stringify!(sigcontext),
11743            "::",
11744            stringify!(eip)
11745        )
11746    );
11747    assert_eq!(
11748        unsafe { ::std::ptr::addr_of!((*ptr).cs) as usize - ptr as usize },
11749        60usize,
11750        concat!(
11751            "Offset of field: ",
11752            stringify!(sigcontext),
11753            "::",
11754            stringify!(cs)
11755        )
11756    );
11757    assert_eq!(
11758        unsafe { ::std::ptr::addr_of!((*ptr).__csh) as usize - ptr as usize },
11759        62usize,
11760        concat!(
11761            "Offset of field: ",
11762            stringify!(sigcontext),
11763            "::",
11764            stringify!(__csh)
11765        )
11766    );
11767    assert_eq!(
11768        unsafe { ::std::ptr::addr_of!((*ptr).eflags) as usize - ptr as usize },
11769        64usize,
11770        concat!(
11771            "Offset of field: ",
11772            stringify!(sigcontext),
11773            "::",
11774            stringify!(eflags)
11775        )
11776    );
11777    assert_eq!(
11778        unsafe { ::std::ptr::addr_of!((*ptr).esp_at_signal) as usize - ptr as usize },
11779        68usize,
11780        concat!(
11781            "Offset of field: ",
11782            stringify!(sigcontext),
11783            "::",
11784            stringify!(esp_at_signal)
11785        )
11786    );
11787    assert_eq!(
11788        unsafe { ::std::ptr::addr_of!((*ptr).ss) as usize - ptr as usize },
11789        72usize,
11790        concat!(
11791            "Offset of field: ",
11792            stringify!(sigcontext),
11793            "::",
11794            stringify!(ss)
11795        )
11796    );
11797    assert_eq!(
11798        unsafe { ::std::ptr::addr_of!((*ptr).__ssh) as usize - ptr as usize },
11799        74usize,
11800        concat!(
11801            "Offset of field: ",
11802            stringify!(sigcontext),
11803            "::",
11804            stringify!(__ssh)
11805        )
11806    );
11807    assert_eq!(
11808        unsafe { ::std::ptr::addr_of!((*ptr).fpstate) as usize - ptr as usize },
11809        76usize,
11810        concat!(
11811            "Offset of field: ",
11812            stringify!(sigcontext),
11813            "::",
11814            stringify!(fpstate)
11815        )
11816    );
11817    assert_eq!(
11818        unsafe { ::std::ptr::addr_of!((*ptr).oldmask) as usize - ptr as usize },
11819        80usize,
11820        concat!(
11821            "Offset of field: ",
11822            stringify!(sigcontext),
11823            "::",
11824            stringify!(oldmask)
11825        )
11826    );
11827    assert_eq!(
11828        unsafe { ::std::ptr::addr_of!((*ptr).cr2) as usize - ptr as usize },
11829        84usize,
11830        concat!(
11831            "Offset of field: ",
11832            stringify!(sigcontext),
11833            "::",
11834            stringify!(cr2)
11835        )
11836    );
11837}
11838pub type sigset_t = ::std::os::raw::c_ulong;
11839pub type __signalfn_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
11840pub type __sighandler_t = __signalfn_t;
11841pub type __restorefn_t = ::std::option::Option<unsafe extern "C" fn()>;
11842pub type __sigrestore_t = __restorefn_t;
11843#[repr(C)]
11844#[derive(Copy, Clone)]
11845pub struct __kernel_sigaction {
11846    pub _u: __kernel_sigaction__bindgen_ty_1,
11847    pub sa_mask: sigset_t,
11848    pub sa_flags: ::std::os::raw::c_ulong,
11849    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
11850}
11851#[repr(C)]
11852#[derive(Copy, Clone)]
11853pub union __kernel_sigaction__bindgen_ty_1 {
11854    pub _sa_handler: __sighandler_t,
11855    pub _sa_sigaction: ::std::option::Option<
11856        unsafe extern "C" fn(
11857            arg1: ::std::os::raw::c_int,
11858            arg2: *mut siginfo,
11859            arg3: *mut ::std::os::raw::c_void,
11860        ),
11861    >,
11862}
11863#[test]
11864fn bindgen_test_layout___kernel_sigaction__bindgen_ty_1() {
11865    const UNINIT: ::std::mem::MaybeUninit<__kernel_sigaction__bindgen_ty_1> =
11866        ::std::mem::MaybeUninit::uninit();
11867    let ptr = UNINIT.as_ptr();
11868    assert_eq!(
11869        ::std::mem::size_of::<__kernel_sigaction__bindgen_ty_1>(),
11870        4usize,
11871        concat!("Size of: ", stringify!(__kernel_sigaction__bindgen_ty_1))
11872    );
11873    assert_eq!(
11874        ::std::mem::align_of::<__kernel_sigaction__bindgen_ty_1>(),
11875        4usize,
11876        concat!(
11877            "Alignment of ",
11878            stringify!(__kernel_sigaction__bindgen_ty_1)
11879        )
11880    );
11881    assert_eq!(
11882        unsafe { ::std::ptr::addr_of!((*ptr)._sa_handler) as usize - ptr as usize },
11883        0usize,
11884        concat!(
11885            "Offset of field: ",
11886            stringify!(__kernel_sigaction__bindgen_ty_1),
11887            "::",
11888            stringify!(_sa_handler)
11889        )
11890    );
11891    assert_eq!(
11892        unsafe { ::std::ptr::addr_of!((*ptr)._sa_sigaction) as usize - ptr as usize },
11893        0usize,
11894        concat!(
11895            "Offset of field: ",
11896            stringify!(__kernel_sigaction__bindgen_ty_1),
11897            "::",
11898            stringify!(_sa_sigaction)
11899        )
11900    );
11901}
11902#[test]
11903fn bindgen_test_layout___kernel_sigaction() {
11904    const UNINIT: ::std::mem::MaybeUninit<__kernel_sigaction> = ::std::mem::MaybeUninit::uninit();
11905    let ptr = UNINIT.as_ptr();
11906    assert_eq!(
11907        ::std::mem::size_of::<__kernel_sigaction>(),
11908        16usize,
11909        concat!("Size of: ", stringify!(__kernel_sigaction))
11910    );
11911    assert_eq!(
11912        ::std::mem::align_of::<__kernel_sigaction>(),
11913        4usize,
11914        concat!("Alignment of ", stringify!(__kernel_sigaction))
11915    );
11916    assert_eq!(
11917        unsafe { ::std::ptr::addr_of!((*ptr)._u) as usize - ptr as usize },
11918        0usize,
11919        concat!(
11920            "Offset of field: ",
11921            stringify!(__kernel_sigaction),
11922            "::",
11923            stringify!(_u)
11924        )
11925    );
11926    assert_eq!(
11927        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
11928        4usize,
11929        concat!(
11930            "Offset of field: ",
11931            stringify!(__kernel_sigaction),
11932            "::",
11933            stringify!(sa_mask)
11934        )
11935    );
11936    assert_eq!(
11937        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
11938        8usize,
11939        concat!(
11940            "Offset of field: ",
11941            stringify!(__kernel_sigaction),
11942            "::",
11943            stringify!(sa_flags)
11944        )
11945    );
11946    assert_eq!(
11947        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
11948        12usize,
11949        concat!(
11950            "Offset of field: ",
11951            stringify!(__kernel_sigaction),
11952            "::",
11953            stringify!(sa_restorer)
11954        )
11955    );
11956}
11957#[repr(C)]
11958#[derive(Debug, Copy, Clone)]
11959pub struct sigaltstack {
11960    pub ss_sp: *mut ::std::os::raw::c_void,
11961    pub ss_flags: ::std::os::raw::c_int,
11962    pub ss_size: __kernel_size_t,
11963}
11964#[test]
11965fn bindgen_test_layout_sigaltstack() {
11966    const UNINIT: ::std::mem::MaybeUninit<sigaltstack> = ::std::mem::MaybeUninit::uninit();
11967    let ptr = UNINIT.as_ptr();
11968    assert_eq!(
11969        ::std::mem::size_of::<sigaltstack>(),
11970        12usize,
11971        concat!("Size of: ", stringify!(sigaltstack))
11972    );
11973    assert_eq!(
11974        ::std::mem::align_of::<sigaltstack>(),
11975        4usize,
11976        concat!("Alignment of ", stringify!(sigaltstack))
11977    );
11978    assert_eq!(
11979        unsafe { ::std::ptr::addr_of!((*ptr).ss_sp) as usize - ptr as usize },
11980        0usize,
11981        concat!(
11982            "Offset of field: ",
11983            stringify!(sigaltstack),
11984            "::",
11985            stringify!(ss_sp)
11986        )
11987    );
11988    assert_eq!(
11989        unsafe { ::std::ptr::addr_of!((*ptr).ss_flags) as usize - ptr as usize },
11990        4usize,
11991        concat!(
11992            "Offset of field: ",
11993            stringify!(sigaltstack),
11994            "::",
11995            stringify!(ss_flags)
11996        )
11997    );
11998    assert_eq!(
11999        unsafe { ::std::ptr::addr_of!((*ptr).ss_size) as usize - ptr as usize },
12000        8usize,
12001        concat!(
12002            "Offset of field: ",
12003            stringify!(sigaltstack),
12004            "::",
12005            stringify!(ss_size)
12006        )
12007    );
12008}
12009pub type stack_t = sigaltstack;
12010#[repr(C)]
12011#[derive(Copy, Clone)]
12012pub union sigval {
12013    pub sival_int: ::std::os::raw::c_int,
12014    pub sival_ptr: *mut ::std::os::raw::c_void,
12015}
12016#[test]
12017fn bindgen_test_layout_sigval() {
12018    const UNINIT: ::std::mem::MaybeUninit<sigval> = ::std::mem::MaybeUninit::uninit();
12019    let ptr = UNINIT.as_ptr();
12020    assert_eq!(
12021        ::std::mem::size_of::<sigval>(),
12022        4usize,
12023        concat!("Size of: ", stringify!(sigval))
12024    );
12025    assert_eq!(
12026        ::std::mem::align_of::<sigval>(),
12027        4usize,
12028        concat!("Alignment of ", stringify!(sigval))
12029    );
12030    assert_eq!(
12031        unsafe { ::std::ptr::addr_of!((*ptr).sival_int) as usize - ptr as usize },
12032        0usize,
12033        concat!(
12034            "Offset of field: ",
12035            stringify!(sigval),
12036            "::",
12037            stringify!(sival_int)
12038        )
12039    );
12040    assert_eq!(
12041        unsafe { ::std::ptr::addr_of!((*ptr).sival_ptr) as usize - ptr as usize },
12042        0usize,
12043        concat!(
12044            "Offset of field: ",
12045            stringify!(sigval),
12046            "::",
12047            stringify!(sival_ptr)
12048        )
12049    );
12050}
12051pub type sigval_t = sigval;
12052#[repr(C)]
12053#[derive(Copy, Clone)]
12054pub union __sifields {
12055    pub _kill: __sifields__bindgen_ty_1,
12056    pub _timer: __sifields__bindgen_ty_2,
12057    pub _rt: __sifields__bindgen_ty_3,
12058    pub _sigchld: __sifields__bindgen_ty_4,
12059    pub _sigfault: __sifields__bindgen_ty_5,
12060    pub _sigpoll: __sifields__bindgen_ty_6,
12061    pub _sigsys: __sifields__bindgen_ty_7,
12062}
12063#[repr(C)]
12064#[derive(Debug, Copy, Clone)]
12065pub struct __sifields__bindgen_ty_1 {
12066    pub _pid: __kernel_pid_t,
12067    pub _uid: __kernel_uid32_t,
12068}
12069#[test]
12070fn bindgen_test_layout___sifields__bindgen_ty_1() {
12071    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_1> =
12072        ::std::mem::MaybeUninit::uninit();
12073    let ptr = UNINIT.as_ptr();
12074    assert_eq!(
12075        ::std::mem::size_of::<__sifields__bindgen_ty_1>(),
12076        8usize,
12077        concat!("Size of: ", stringify!(__sifields__bindgen_ty_1))
12078    );
12079    assert_eq!(
12080        ::std::mem::align_of::<__sifields__bindgen_ty_1>(),
12081        4usize,
12082        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_1))
12083    );
12084    assert_eq!(
12085        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
12086        0usize,
12087        concat!(
12088            "Offset of field: ",
12089            stringify!(__sifields__bindgen_ty_1),
12090            "::",
12091            stringify!(_pid)
12092        )
12093    );
12094    assert_eq!(
12095        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
12096        4usize,
12097        concat!(
12098            "Offset of field: ",
12099            stringify!(__sifields__bindgen_ty_1),
12100            "::",
12101            stringify!(_uid)
12102        )
12103    );
12104}
12105#[repr(C)]
12106#[derive(Copy, Clone)]
12107pub struct __sifields__bindgen_ty_2 {
12108    pub _tid: __kernel_timer_t,
12109    pub _overrun: ::std::os::raw::c_int,
12110    pub _sigval: sigval_t,
12111    pub _sys_private: ::std::os::raw::c_int,
12112}
12113#[test]
12114fn bindgen_test_layout___sifields__bindgen_ty_2() {
12115    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_2> =
12116        ::std::mem::MaybeUninit::uninit();
12117    let ptr = UNINIT.as_ptr();
12118    assert_eq!(
12119        ::std::mem::size_of::<__sifields__bindgen_ty_2>(),
12120        16usize,
12121        concat!("Size of: ", stringify!(__sifields__bindgen_ty_2))
12122    );
12123    assert_eq!(
12124        ::std::mem::align_of::<__sifields__bindgen_ty_2>(),
12125        4usize,
12126        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_2))
12127    );
12128    assert_eq!(
12129        unsafe { ::std::ptr::addr_of!((*ptr)._tid) as usize - ptr as usize },
12130        0usize,
12131        concat!(
12132            "Offset of field: ",
12133            stringify!(__sifields__bindgen_ty_2),
12134            "::",
12135            stringify!(_tid)
12136        )
12137    );
12138    assert_eq!(
12139        unsafe { ::std::ptr::addr_of!((*ptr)._overrun) as usize - ptr as usize },
12140        4usize,
12141        concat!(
12142            "Offset of field: ",
12143            stringify!(__sifields__bindgen_ty_2),
12144            "::",
12145            stringify!(_overrun)
12146        )
12147    );
12148    assert_eq!(
12149        unsafe { ::std::ptr::addr_of!((*ptr)._sigval) as usize - ptr as usize },
12150        8usize,
12151        concat!(
12152            "Offset of field: ",
12153            stringify!(__sifields__bindgen_ty_2),
12154            "::",
12155            stringify!(_sigval)
12156        )
12157    );
12158    assert_eq!(
12159        unsafe { ::std::ptr::addr_of!((*ptr)._sys_private) as usize - ptr as usize },
12160        12usize,
12161        concat!(
12162            "Offset of field: ",
12163            stringify!(__sifields__bindgen_ty_2),
12164            "::",
12165            stringify!(_sys_private)
12166        )
12167    );
12168}
12169#[repr(C)]
12170#[derive(Copy, Clone)]
12171pub struct __sifields__bindgen_ty_3 {
12172    pub _pid: __kernel_pid_t,
12173    pub _uid: __kernel_uid32_t,
12174    pub _sigval: sigval_t,
12175}
12176#[test]
12177fn bindgen_test_layout___sifields__bindgen_ty_3() {
12178    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_3> =
12179        ::std::mem::MaybeUninit::uninit();
12180    let ptr = UNINIT.as_ptr();
12181    assert_eq!(
12182        ::std::mem::size_of::<__sifields__bindgen_ty_3>(),
12183        12usize,
12184        concat!("Size of: ", stringify!(__sifields__bindgen_ty_3))
12185    );
12186    assert_eq!(
12187        ::std::mem::align_of::<__sifields__bindgen_ty_3>(),
12188        4usize,
12189        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_3))
12190    );
12191    assert_eq!(
12192        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
12193        0usize,
12194        concat!(
12195            "Offset of field: ",
12196            stringify!(__sifields__bindgen_ty_3),
12197            "::",
12198            stringify!(_pid)
12199        )
12200    );
12201    assert_eq!(
12202        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
12203        4usize,
12204        concat!(
12205            "Offset of field: ",
12206            stringify!(__sifields__bindgen_ty_3),
12207            "::",
12208            stringify!(_uid)
12209        )
12210    );
12211    assert_eq!(
12212        unsafe { ::std::ptr::addr_of!((*ptr)._sigval) as usize - ptr as usize },
12213        8usize,
12214        concat!(
12215            "Offset of field: ",
12216            stringify!(__sifields__bindgen_ty_3),
12217            "::",
12218            stringify!(_sigval)
12219        )
12220    );
12221}
12222#[repr(C)]
12223#[derive(Debug, Copy, Clone)]
12224pub struct __sifields__bindgen_ty_4 {
12225    pub _pid: __kernel_pid_t,
12226    pub _uid: __kernel_uid32_t,
12227    pub _status: ::std::os::raw::c_int,
12228    pub _utime: __kernel_clock_t,
12229    pub _stime: __kernel_clock_t,
12230}
12231#[test]
12232fn bindgen_test_layout___sifields__bindgen_ty_4() {
12233    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_4> =
12234        ::std::mem::MaybeUninit::uninit();
12235    let ptr = UNINIT.as_ptr();
12236    assert_eq!(
12237        ::std::mem::size_of::<__sifields__bindgen_ty_4>(),
12238        20usize,
12239        concat!("Size of: ", stringify!(__sifields__bindgen_ty_4))
12240    );
12241    assert_eq!(
12242        ::std::mem::align_of::<__sifields__bindgen_ty_4>(),
12243        4usize,
12244        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_4))
12245    );
12246    assert_eq!(
12247        unsafe { ::std::ptr::addr_of!((*ptr)._pid) as usize - ptr as usize },
12248        0usize,
12249        concat!(
12250            "Offset of field: ",
12251            stringify!(__sifields__bindgen_ty_4),
12252            "::",
12253            stringify!(_pid)
12254        )
12255    );
12256    assert_eq!(
12257        unsafe { ::std::ptr::addr_of!((*ptr)._uid) as usize - ptr as usize },
12258        4usize,
12259        concat!(
12260            "Offset of field: ",
12261            stringify!(__sifields__bindgen_ty_4),
12262            "::",
12263            stringify!(_uid)
12264        )
12265    );
12266    assert_eq!(
12267        unsafe { ::std::ptr::addr_of!((*ptr)._status) as usize - ptr as usize },
12268        8usize,
12269        concat!(
12270            "Offset of field: ",
12271            stringify!(__sifields__bindgen_ty_4),
12272            "::",
12273            stringify!(_status)
12274        )
12275    );
12276    assert_eq!(
12277        unsafe { ::std::ptr::addr_of!((*ptr)._utime) as usize - ptr as usize },
12278        12usize,
12279        concat!(
12280            "Offset of field: ",
12281            stringify!(__sifields__bindgen_ty_4),
12282            "::",
12283            stringify!(_utime)
12284        )
12285    );
12286    assert_eq!(
12287        unsafe { ::std::ptr::addr_of!((*ptr)._stime) as usize - ptr as usize },
12288        16usize,
12289        concat!(
12290            "Offset of field: ",
12291            stringify!(__sifields__bindgen_ty_4),
12292            "::",
12293            stringify!(_stime)
12294        )
12295    );
12296}
12297#[repr(C)]
12298#[derive(Copy, Clone)]
12299pub struct __sifields__bindgen_ty_5 {
12300    pub _addr: *mut ::std::os::raw::c_void,
12301    pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
12302}
12303#[repr(C)]
12304#[derive(Copy, Clone)]
12305pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
12306    pub _trapno: ::std::os::raw::c_int,
12307    pub _addr_lsb: ::std::os::raw::c_short,
12308    pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
12309    pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
12310    pub _perf: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3,
12311}
12312#[repr(C)]
12313#[derive(Debug, Copy, Clone)]
12314pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
12315    pub _dummy_bnd: [::std::os::raw::c_char; 4usize],
12316    pub _lower: *mut ::std::os::raw::c_void,
12317    pub _upper: *mut ::std::os::raw::c_void,
12318}
12319#[test]
12320fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1() {
12321    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1> =
12322        ::std::mem::MaybeUninit::uninit();
12323    let ptr = UNINIT.as_ptr();
12324    assert_eq!(
12325        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
12326        12usize,
12327        concat!(
12328            "Size of: ",
12329            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
12330        )
12331    );
12332    assert_eq!(
12333        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1>(),
12334        4usize,
12335        concat!(
12336            "Alignment of ",
12337            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1)
12338        )
12339    );
12340    assert_eq!(
12341        unsafe { ::std::ptr::addr_of!((*ptr)._dummy_bnd) as usize - ptr as usize },
12342        0usize,
12343        concat!(
12344            "Offset of field: ",
12345            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
12346            "::",
12347            stringify!(_dummy_bnd)
12348        )
12349    );
12350    assert_eq!(
12351        unsafe { ::std::ptr::addr_of!((*ptr)._lower) as usize - ptr as usize },
12352        4usize,
12353        concat!(
12354            "Offset of field: ",
12355            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
12356            "::",
12357            stringify!(_lower)
12358        )
12359    );
12360    assert_eq!(
12361        unsafe { ::std::ptr::addr_of!((*ptr)._upper) as usize - ptr as usize },
12362        8usize,
12363        concat!(
12364            "Offset of field: ",
12365            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1),
12366            "::",
12367            stringify!(_upper)
12368        )
12369    );
12370}
12371#[repr(C)]
12372#[derive(Debug, Copy, Clone)]
12373pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
12374    pub _dummy_pkey: [::std::os::raw::c_char; 4usize],
12375    pub _pkey: __u32,
12376}
12377#[test]
12378fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2() {
12379    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2> =
12380        ::std::mem::MaybeUninit::uninit();
12381    let ptr = UNINIT.as_ptr();
12382    assert_eq!(
12383        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
12384        8usize,
12385        concat!(
12386            "Size of: ",
12387            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
12388        )
12389    );
12390    assert_eq!(
12391        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2>(),
12392        4usize,
12393        concat!(
12394            "Alignment of ",
12395            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2)
12396        )
12397    );
12398    assert_eq!(
12399        unsafe { ::std::ptr::addr_of!((*ptr)._dummy_pkey) as usize - ptr as usize },
12400        0usize,
12401        concat!(
12402            "Offset of field: ",
12403            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
12404            "::",
12405            stringify!(_dummy_pkey)
12406        )
12407    );
12408    assert_eq!(
12409        unsafe { ::std::ptr::addr_of!((*ptr)._pkey) as usize - ptr as usize },
12410        4usize,
12411        concat!(
12412            "Offset of field: ",
12413            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2),
12414            "::",
12415            stringify!(_pkey)
12416        )
12417    );
12418}
12419#[repr(C)]
12420#[derive(Debug, Copy, Clone)]
12421pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3 {
12422    pub _data: ::std::os::raw::c_ulong,
12423    pub _type: __u32,
12424    pub _flags: __u32,
12425}
12426#[test]
12427fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3() {
12428    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3> =
12429        ::std::mem::MaybeUninit::uninit();
12430    let ptr = UNINIT.as_ptr();
12431    assert_eq!(
12432        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
12433        12usize,
12434        concat!(
12435            "Size of: ",
12436            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
12437        )
12438    );
12439    assert_eq!(
12440        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3>(),
12441        4usize,
12442        concat!(
12443            "Alignment of ",
12444            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3)
12445        )
12446    );
12447    assert_eq!(
12448        unsafe { ::std::ptr::addr_of!((*ptr)._data) as usize - ptr as usize },
12449        0usize,
12450        concat!(
12451            "Offset of field: ",
12452            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
12453            "::",
12454            stringify!(_data)
12455        )
12456    );
12457    assert_eq!(
12458        unsafe { ::std::ptr::addr_of!((*ptr)._type) as usize - ptr as usize },
12459        4usize,
12460        concat!(
12461            "Offset of field: ",
12462            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
12463            "::",
12464            stringify!(_type)
12465        )
12466    );
12467    assert_eq!(
12468        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
12469        8usize,
12470        concat!(
12471            "Offset of field: ",
12472            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3),
12473            "::",
12474            stringify!(_flags)
12475        )
12476    );
12477}
12478#[test]
12479fn bindgen_test_layout___sifields__bindgen_ty_5__bindgen_ty_1() {
12480    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5__bindgen_ty_1> =
12481        ::std::mem::MaybeUninit::uninit();
12482    let ptr = UNINIT.as_ptr();
12483    assert_eq!(
12484        ::std::mem::size_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
12485        12usize,
12486        concat!(
12487            "Size of: ",
12488            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
12489        )
12490    );
12491    assert_eq!(
12492        ::std::mem::align_of::<__sifields__bindgen_ty_5__bindgen_ty_1>(),
12493        4usize,
12494        concat!(
12495            "Alignment of ",
12496            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1)
12497        )
12498    );
12499    assert_eq!(
12500        unsafe { ::std::ptr::addr_of!((*ptr)._trapno) as usize - ptr as usize },
12501        0usize,
12502        concat!(
12503            "Offset of field: ",
12504            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12505            "::",
12506            stringify!(_trapno)
12507        )
12508    );
12509    assert_eq!(
12510        unsafe { ::std::ptr::addr_of!((*ptr)._addr_lsb) as usize - ptr as usize },
12511        0usize,
12512        concat!(
12513            "Offset of field: ",
12514            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12515            "::",
12516            stringify!(_addr_lsb)
12517        )
12518    );
12519    assert_eq!(
12520        unsafe { ::std::ptr::addr_of!((*ptr)._addr_bnd) as usize - ptr as usize },
12521        0usize,
12522        concat!(
12523            "Offset of field: ",
12524            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12525            "::",
12526            stringify!(_addr_bnd)
12527        )
12528    );
12529    assert_eq!(
12530        unsafe { ::std::ptr::addr_of!((*ptr)._addr_pkey) as usize - ptr as usize },
12531        0usize,
12532        concat!(
12533            "Offset of field: ",
12534            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12535            "::",
12536            stringify!(_addr_pkey)
12537        )
12538    );
12539    assert_eq!(
12540        unsafe { ::std::ptr::addr_of!((*ptr)._perf) as usize - ptr as usize },
12541        0usize,
12542        concat!(
12543            "Offset of field: ",
12544            stringify!(__sifields__bindgen_ty_5__bindgen_ty_1),
12545            "::",
12546            stringify!(_perf)
12547        )
12548    );
12549}
12550#[test]
12551fn bindgen_test_layout___sifields__bindgen_ty_5() {
12552    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_5> =
12553        ::std::mem::MaybeUninit::uninit();
12554    let ptr = UNINIT.as_ptr();
12555    assert_eq!(
12556        ::std::mem::size_of::<__sifields__bindgen_ty_5>(),
12557        16usize,
12558        concat!("Size of: ", stringify!(__sifields__bindgen_ty_5))
12559    );
12560    assert_eq!(
12561        ::std::mem::align_of::<__sifields__bindgen_ty_5>(),
12562        4usize,
12563        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_5))
12564    );
12565    assert_eq!(
12566        unsafe { ::std::ptr::addr_of!((*ptr)._addr) as usize - ptr as usize },
12567        0usize,
12568        concat!(
12569            "Offset of field: ",
12570            stringify!(__sifields__bindgen_ty_5),
12571            "::",
12572            stringify!(_addr)
12573        )
12574    );
12575}
12576#[repr(C)]
12577#[derive(Debug, Copy, Clone)]
12578pub struct __sifields__bindgen_ty_6 {
12579    pub _band: ::std::os::raw::c_long,
12580    pub _fd: ::std::os::raw::c_int,
12581}
12582#[test]
12583fn bindgen_test_layout___sifields__bindgen_ty_6() {
12584    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_6> =
12585        ::std::mem::MaybeUninit::uninit();
12586    let ptr = UNINIT.as_ptr();
12587    assert_eq!(
12588        ::std::mem::size_of::<__sifields__bindgen_ty_6>(),
12589        8usize,
12590        concat!("Size of: ", stringify!(__sifields__bindgen_ty_6))
12591    );
12592    assert_eq!(
12593        ::std::mem::align_of::<__sifields__bindgen_ty_6>(),
12594        4usize,
12595        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_6))
12596    );
12597    assert_eq!(
12598        unsafe { ::std::ptr::addr_of!((*ptr)._band) as usize - ptr as usize },
12599        0usize,
12600        concat!(
12601            "Offset of field: ",
12602            stringify!(__sifields__bindgen_ty_6),
12603            "::",
12604            stringify!(_band)
12605        )
12606    );
12607    assert_eq!(
12608        unsafe { ::std::ptr::addr_of!((*ptr)._fd) as usize - ptr as usize },
12609        4usize,
12610        concat!(
12611            "Offset of field: ",
12612            stringify!(__sifields__bindgen_ty_6),
12613            "::",
12614            stringify!(_fd)
12615        )
12616    );
12617}
12618#[repr(C)]
12619#[derive(Debug, Copy, Clone)]
12620pub struct __sifields__bindgen_ty_7 {
12621    pub _call_addr: *mut ::std::os::raw::c_void,
12622    pub _syscall: ::std::os::raw::c_int,
12623    pub _arch: ::std::os::raw::c_uint,
12624}
12625#[test]
12626fn bindgen_test_layout___sifields__bindgen_ty_7() {
12627    const UNINIT: ::std::mem::MaybeUninit<__sifields__bindgen_ty_7> =
12628        ::std::mem::MaybeUninit::uninit();
12629    let ptr = UNINIT.as_ptr();
12630    assert_eq!(
12631        ::std::mem::size_of::<__sifields__bindgen_ty_7>(),
12632        12usize,
12633        concat!("Size of: ", stringify!(__sifields__bindgen_ty_7))
12634    );
12635    assert_eq!(
12636        ::std::mem::align_of::<__sifields__bindgen_ty_7>(),
12637        4usize,
12638        concat!("Alignment of ", stringify!(__sifields__bindgen_ty_7))
12639    );
12640    assert_eq!(
12641        unsafe { ::std::ptr::addr_of!((*ptr)._call_addr) as usize - ptr as usize },
12642        0usize,
12643        concat!(
12644            "Offset of field: ",
12645            stringify!(__sifields__bindgen_ty_7),
12646            "::",
12647            stringify!(_call_addr)
12648        )
12649    );
12650    assert_eq!(
12651        unsafe { ::std::ptr::addr_of!((*ptr)._syscall) as usize - ptr as usize },
12652        4usize,
12653        concat!(
12654            "Offset of field: ",
12655            stringify!(__sifields__bindgen_ty_7),
12656            "::",
12657            stringify!(_syscall)
12658        )
12659    );
12660    assert_eq!(
12661        unsafe { ::std::ptr::addr_of!((*ptr)._arch) as usize - ptr as usize },
12662        8usize,
12663        concat!(
12664            "Offset of field: ",
12665            stringify!(__sifields__bindgen_ty_7),
12666            "::",
12667            stringify!(_arch)
12668        )
12669    );
12670}
12671#[test]
12672fn bindgen_test_layout___sifields() {
12673    const UNINIT: ::std::mem::MaybeUninit<__sifields> = ::std::mem::MaybeUninit::uninit();
12674    let ptr = UNINIT.as_ptr();
12675    assert_eq!(
12676        ::std::mem::size_of::<__sifields>(),
12677        20usize,
12678        concat!("Size of: ", stringify!(__sifields))
12679    );
12680    assert_eq!(
12681        ::std::mem::align_of::<__sifields>(),
12682        4usize,
12683        concat!("Alignment of ", stringify!(__sifields))
12684    );
12685    assert_eq!(
12686        unsafe { ::std::ptr::addr_of!((*ptr)._kill) as usize - ptr as usize },
12687        0usize,
12688        concat!(
12689            "Offset of field: ",
12690            stringify!(__sifields),
12691            "::",
12692            stringify!(_kill)
12693        )
12694    );
12695    assert_eq!(
12696        unsafe { ::std::ptr::addr_of!((*ptr)._timer) as usize - ptr as usize },
12697        0usize,
12698        concat!(
12699            "Offset of field: ",
12700            stringify!(__sifields),
12701            "::",
12702            stringify!(_timer)
12703        )
12704    );
12705    assert_eq!(
12706        unsafe { ::std::ptr::addr_of!((*ptr)._rt) as usize - ptr as usize },
12707        0usize,
12708        concat!(
12709            "Offset of field: ",
12710            stringify!(__sifields),
12711            "::",
12712            stringify!(_rt)
12713        )
12714    );
12715    assert_eq!(
12716        unsafe { ::std::ptr::addr_of!((*ptr)._sigchld) as usize - ptr as usize },
12717        0usize,
12718        concat!(
12719            "Offset of field: ",
12720            stringify!(__sifields),
12721            "::",
12722            stringify!(_sigchld)
12723        )
12724    );
12725    assert_eq!(
12726        unsafe { ::std::ptr::addr_of!((*ptr)._sigfault) as usize - ptr as usize },
12727        0usize,
12728        concat!(
12729            "Offset of field: ",
12730            stringify!(__sifields),
12731            "::",
12732            stringify!(_sigfault)
12733        )
12734    );
12735    assert_eq!(
12736        unsafe { ::std::ptr::addr_of!((*ptr)._sigpoll) as usize - ptr as usize },
12737        0usize,
12738        concat!(
12739            "Offset of field: ",
12740            stringify!(__sifields),
12741            "::",
12742            stringify!(_sigpoll)
12743        )
12744    );
12745    assert_eq!(
12746        unsafe { ::std::ptr::addr_of!((*ptr)._sigsys) as usize - ptr as usize },
12747        0usize,
12748        concat!(
12749            "Offset of field: ",
12750            stringify!(__sifields),
12751            "::",
12752            stringify!(_sigsys)
12753        )
12754    );
12755}
12756#[repr(C)]
12757#[derive(Copy, Clone)]
12758pub struct siginfo {
12759    pub __bindgen_anon_1: siginfo__bindgen_ty_1,
12760}
12761#[repr(C)]
12762#[derive(Copy, Clone)]
12763pub union siginfo__bindgen_ty_1 {
12764    pub __bindgen_anon_1: siginfo__bindgen_ty_1__bindgen_ty_1,
12765    pub _si_pad: [::std::os::raw::c_int; 32usize],
12766}
12767#[repr(C)]
12768#[derive(Copy, Clone)]
12769pub struct siginfo__bindgen_ty_1__bindgen_ty_1 {
12770    pub si_signo: ::std::os::raw::c_int,
12771    pub si_errno: ::std::os::raw::c_int,
12772    pub si_code: ::std::os::raw::c_int,
12773    pub _sifields: __sifields,
12774}
12775#[test]
12776fn bindgen_test_layout_siginfo__bindgen_ty_1__bindgen_ty_1() {
12777    const UNINIT: ::std::mem::MaybeUninit<siginfo__bindgen_ty_1__bindgen_ty_1> =
12778        ::std::mem::MaybeUninit::uninit();
12779    let ptr = UNINIT.as_ptr();
12780    assert_eq!(
12781        ::std::mem::size_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
12782        32usize,
12783        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1__bindgen_ty_1))
12784    );
12785    assert_eq!(
12786        ::std::mem::align_of::<siginfo__bindgen_ty_1__bindgen_ty_1>(),
12787        4usize,
12788        concat!(
12789            "Alignment of ",
12790            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1)
12791        )
12792    );
12793    assert_eq!(
12794        unsafe { ::std::ptr::addr_of!((*ptr).si_signo) as usize - ptr as usize },
12795        0usize,
12796        concat!(
12797            "Offset of field: ",
12798            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
12799            "::",
12800            stringify!(si_signo)
12801        )
12802    );
12803    assert_eq!(
12804        unsafe { ::std::ptr::addr_of!((*ptr).si_errno) as usize - ptr as usize },
12805        4usize,
12806        concat!(
12807            "Offset of field: ",
12808            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
12809            "::",
12810            stringify!(si_errno)
12811        )
12812    );
12813    assert_eq!(
12814        unsafe { ::std::ptr::addr_of!((*ptr).si_code) as usize - ptr as usize },
12815        8usize,
12816        concat!(
12817            "Offset of field: ",
12818            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
12819            "::",
12820            stringify!(si_code)
12821        )
12822    );
12823    assert_eq!(
12824        unsafe { ::std::ptr::addr_of!((*ptr)._sifields) as usize - ptr as usize },
12825        12usize,
12826        concat!(
12827            "Offset of field: ",
12828            stringify!(siginfo__bindgen_ty_1__bindgen_ty_1),
12829            "::",
12830            stringify!(_sifields)
12831        )
12832    );
12833}
12834#[test]
12835fn bindgen_test_layout_siginfo__bindgen_ty_1() {
12836    const UNINIT: ::std::mem::MaybeUninit<siginfo__bindgen_ty_1> =
12837        ::std::mem::MaybeUninit::uninit();
12838    let ptr = UNINIT.as_ptr();
12839    assert_eq!(
12840        ::std::mem::size_of::<siginfo__bindgen_ty_1>(),
12841        128usize,
12842        concat!("Size of: ", stringify!(siginfo__bindgen_ty_1))
12843    );
12844    assert_eq!(
12845        ::std::mem::align_of::<siginfo__bindgen_ty_1>(),
12846        4usize,
12847        concat!("Alignment of ", stringify!(siginfo__bindgen_ty_1))
12848    );
12849    assert_eq!(
12850        unsafe { ::std::ptr::addr_of!((*ptr)._si_pad) as usize - ptr as usize },
12851        0usize,
12852        concat!(
12853            "Offset of field: ",
12854            stringify!(siginfo__bindgen_ty_1),
12855            "::",
12856            stringify!(_si_pad)
12857        )
12858    );
12859}
12860#[test]
12861fn bindgen_test_layout_siginfo() {
12862    assert_eq!(
12863        ::std::mem::size_of::<siginfo>(),
12864        128usize,
12865        concat!("Size of: ", stringify!(siginfo))
12866    );
12867    assert_eq!(
12868        ::std::mem::align_of::<siginfo>(),
12869        4usize,
12870        concat!("Alignment of ", stringify!(siginfo))
12871    );
12872}
12873pub type siginfo_t = siginfo;
12874#[repr(C)]
12875#[derive(Copy, Clone)]
12876pub struct sigevent {
12877    pub sigev_value: sigval_t,
12878    pub sigev_signo: ::std::os::raw::c_int,
12879    pub sigev_notify: ::std::os::raw::c_int,
12880    pub _sigev_un: sigevent__bindgen_ty_1,
12881}
12882#[repr(C)]
12883#[derive(Copy, Clone)]
12884pub union sigevent__bindgen_ty_1 {
12885    pub _pad: [::std::os::raw::c_int; 13usize],
12886    pub _tid: ::std::os::raw::c_int,
12887    pub _sigev_thread: sigevent__bindgen_ty_1__bindgen_ty_1,
12888}
12889#[repr(C)]
12890#[derive(Debug, Copy, Clone)]
12891pub struct sigevent__bindgen_ty_1__bindgen_ty_1 {
12892    pub _function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval_t)>,
12893    pub _attribute: *mut ::std::os::raw::c_void,
12894}
12895#[test]
12896fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1() {
12897    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1__bindgen_ty_1> =
12898        ::std::mem::MaybeUninit::uninit();
12899    let ptr = UNINIT.as_ptr();
12900    assert_eq!(
12901        ::std::mem::size_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
12902        8usize,
12903        concat!(
12904            "Size of: ",
12905            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
12906        )
12907    );
12908    assert_eq!(
12909        ::std::mem::align_of::<sigevent__bindgen_ty_1__bindgen_ty_1>(),
12910        4usize,
12911        concat!(
12912            "Alignment of ",
12913            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1)
12914        )
12915    );
12916    assert_eq!(
12917        unsafe { ::std::ptr::addr_of!((*ptr)._function) as usize - ptr as usize },
12918        0usize,
12919        concat!(
12920            "Offset of field: ",
12921            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
12922            "::",
12923            stringify!(_function)
12924        )
12925    );
12926    assert_eq!(
12927        unsafe { ::std::ptr::addr_of!((*ptr)._attribute) as usize - ptr as usize },
12928        4usize,
12929        concat!(
12930            "Offset of field: ",
12931            stringify!(sigevent__bindgen_ty_1__bindgen_ty_1),
12932            "::",
12933            stringify!(_attribute)
12934        )
12935    );
12936}
12937#[test]
12938fn bindgen_test_layout_sigevent__bindgen_ty_1() {
12939    const UNINIT: ::std::mem::MaybeUninit<sigevent__bindgen_ty_1> =
12940        ::std::mem::MaybeUninit::uninit();
12941    let ptr = UNINIT.as_ptr();
12942    assert_eq!(
12943        ::std::mem::size_of::<sigevent__bindgen_ty_1>(),
12944        52usize,
12945        concat!("Size of: ", stringify!(sigevent__bindgen_ty_1))
12946    );
12947    assert_eq!(
12948        ::std::mem::align_of::<sigevent__bindgen_ty_1>(),
12949        4usize,
12950        concat!("Alignment of ", stringify!(sigevent__bindgen_ty_1))
12951    );
12952    assert_eq!(
12953        unsafe { ::std::ptr::addr_of!((*ptr)._pad) as usize - ptr as usize },
12954        0usize,
12955        concat!(
12956            "Offset of field: ",
12957            stringify!(sigevent__bindgen_ty_1),
12958            "::",
12959            stringify!(_pad)
12960        )
12961    );
12962    assert_eq!(
12963        unsafe { ::std::ptr::addr_of!((*ptr)._tid) as usize - ptr as usize },
12964        0usize,
12965        concat!(
12966            "Offset of field: ",
12967            stringify!(sigevent__bindgen_ty_1),
12968            "::",
12969            stringify!(_tid)
12970        )
12971    );
12972    assert_eq!(
12973        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_thread) as usize - ptr as usize },
12974        0usize,
12975        concat!(
12976            "Offset of field: ",
12977            stringify!(sigevent__bindgen_ty_1),
12978            "::",
12979            stringify!(_sigev_thread)
12980        )
12981    );
12982}
12983#[test]
12984fn bindgen_test_layout_sigevent() {
12985    const UNINIT: ::std::mem::MaybeUninit<sigevent> = ::std::mem::MaybeUninit::uninit();
12986    let ptr = UNINIT.as_ptr();
12987    assert_eq!(
12988        ::std::mem::size_of::<sigevent>(),
12989        64usize,
12990        concat!("Size of: ", stringify!(sigevent))
12991    );
12992    assert_eq!(
12993        ::std::mem::align_of::<sigevent>(),
12994        4usize,
12995        concat!("Alignment of ", stringify!(sigevent))
12996    );
12997    assert_eq!(
12998        unsafe { ::std::ptr::addr_of!((*ptr).sigev_value) as usize - ptr as usize },
12999        0usize,
13000        concat!(
13001            "Offset of field: ",
13002            stringify!(sigevent),
13003            "::",
13004            stringify!(sigev_value)
13005        )
13006    );
13007    assert_eq!(
13008        unsafe { ::std::ptr::addr_of!((*ptr).sigev_signo) as usize - ptr as usize },
13009        4usize,
13010        concat!(
13011            "Offset of field: ",
13012            stringify!(sigevent),
13013            "::",
13014            stringify!(sigev_signo)
13015        )
13016    );
13017    assert_eq!(
13018        unsafe { ::std::ptr::addr_of!((*ptr).sigev_notify) as usize - ptr as usize },
13019        8usize,
13020        concat!(
13021            "Offset of field: ",
13022            stringify!(sigevent),
13023            "::",
13024            stringify!(sigev_notify)
13025        )
13026    );
13027    assert_eq!(
13028        unsafe { ::std::ptr::addr_of!((*ptr)._sigev_un) as usize - ptr as usize },
13029        12usize,
13030        concat!(
13031            "Offset of field: ",
13032            stringify!(sigevent),
13033            "::",
13034            stringify!(_sigev_un)
13035        )
13036    );
13037}
13038pub type sigevent_t = sigevent;
13039pub type sig_atomic_t = ::std::os::raw::c_int;
13040pub type sig_t = __sighandler_t;
13041pub type sighandler_t = __sighandler_t;
13042#[repr(C)]
13043#[derive(Debug, Copy, Clone)]
13044pub struct sigset64_t {
13045    pub __bits: [::std::os::raw::c_ulong; 2usize],
13046}
13047#[test]
13048fn bindgen_test_layout_sigset64_t() {
13049    const UNINIT: ::std::mem::MaybeUninit<sigset64_t> = ::std::mem::MaybeUninit::uninit();
13050    let ptr = UNINIT.as_ptr();
13051    assert_eq!(
13052        ::std::mem::size_of::<sigset64_t>(),
13053        8usize,
13054        concat!("Size of: ", stringify!(sigset64_t))
13055    );
13056    assert_eq!(
13057        ::std::mem::align_of::<sigset64_t>(),
13058        4usize,
13059        concat!("Alignment of ", stringify!(sigset64_t))
13060    );
13061    assert_eq!(
13062        unsafe { ::std::ptr::addr_of!((*ptr).__bits) as usize - ptr as usize },
13063        0usize,
13064        concat!(
13065            "Offset of field: ",
13066            stringify!(sigset64_t),
13067            "::",
13068            stringify!(__bits)
13069        )
13070    );
13071}
13072#[repr(C)]
13073#[derive(Copy, Clone)]
13074pub struct sigaction {
13075    pub __bindgen_anon_1: sigaction__bindgen_ty_1,
13076    pub sa_mask: sigset_t,
13077    pub sa_flags: ::std::os::raw::c_int,
13078    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
13079}
13080#[repr(C)]
13081#[derive(Copy, Clone)]
13082pub union sigaction__bindgen_ty_1 {
13083    pub sa_handler: sighandler_t,
13084    pub sa_sigaction: ::std::option::Option<
13085        unsafe extern "C" fn(
13086            arg1: ::std::os::raw::c_int,
13087            arg2: *mut siginfo,
13088            arg3: *mut ::std::os::raw::c_void,
13089        ),
13090    >,
13091}
13092#[test]
13093fn bindgen_test_layout_sigaction__bindgen_ty_1() {
13094    const UNINIT: ::std::mem::MaybeUninit<sigaction__bindgen_ty_1> =
13095        ::std::mem::MaybeUninit::uninit();
13096    let ptr = UNINIT.as_ptr();
13097    assert_eq!(
13098        ::std::mem::size_of::<sigaction__bindgen_ty_1>(),
13099        4usize,
13100        concat!("Size of: ", stringify!(sigaction__bindgen_ty_1))
13101    );
13102    assert_eq!(
13103        ::std::mem::align_of::<sigaction__bindgen_ty_1>(),
13104        4usize,
13105        concat!("Alignment of ", stringify!(sigaction__bindgen_ty_1))
13106    );
13107    assert_eq!(
13108        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
13109        0usize,
13110        concat!(
13111            "Offset of field: ",
13112            stringify!(sigaction__bindgen_ty_1),
13113            "::",
13114            stringify!(sa_handler)
13115        )
13116    );
13117    assert_eq!(
13118        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
13119        0usize,
13120        concat!(
13121            "Offset of field: ",
13122            stringify!(sigaction__bindgen_ty_1),
13123            "::",
13124            stringify!(sa_sigaction)
13125        )
13126    );
13127}
13128#[test]
13129fn bindgen_test_layout_sigaction() {
13130    const UNINIT: ::std::mem::MaybeUninit<sigaction> = ::std::mem::MaybeUninit::uninit();
13131    let ptr = UNINIT.as_ptr();
13132    assert_eq!(
13133        ::std::mem::size_of::<sigaction>(),
13134        16usize,
13135        concat!("Size of: ", stringify!(sigaction))
13136    );
13137    assert_eq!(
13138        ::std::mem::align_of::<sigaction>(),
13139        4usize,
13140        concat!("Alignment of ", stringify!(sigaction))
13141    );
13142    assert_eq!(
13143        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
13144        4usize,
13145        concat!(
13146            "Offset of field: ",
13147            stringify!(sigaction),
13148            "::",
13149            stringify!(sa_mask)
13150        )
13151    );
13152    assert_eq!(
13153        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
13154        8usize,
13155        concat!(
13156            "Offset of field: ",
13157            stringify!(sigaction),
13158            "::",
13159            stringify!(sa_flags)
13160        )
13161    );
13162    assert_eq!(
13163        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
13164        12usize,
13165        concat!(
13166            "Offset of field: ",
13167            stringify!(sigaction),
13168            "::",
13169            stringify!(sa_restorer)
13170        )
13171    );
13172}
13173#[repr(C)]
13174#[derive(Copy, Clone)]
13175pub struct sigaction64 {
13176    pub __bindgen_anon_1: sigaction64__bindgen_ty_1,
13177    pub sa_flags: ::std::os::raw::c_int,
13178    pub sa_restorer: ::std::option::Option<unsafe extern "C" fn()>,
13179    pub sa_mask: sigset64_t,
13180}
13181#[repr(C)]
13182#[derive(Copy, Clone)]
13183pub union sigaction64__bindgen_ty_1 {
13184    pub sa_handler: sighandler_t,
13185    pub sa_sigaction: ::std::option::Option<
13186        unsafe extern "C" fn(
13187            arg1: ::std::os::raw::c_int,
13188            arg2: *mut siginfo,
13189            arg3: *mut ::std::os::raw::c_void,
13190        ),
13191    >,
13192}
13193#[test]
13194fn bindgen_test_layout_sigaction64__bindgen_ty_1() {
13195    const UNINIT: ::std::mem::MaybeUninit<sigaction64__bindgen_ty_1> =
13196        ::std::mem::MaybeUninit::uninit();
13197    let ptr = UNINIT.as_ptr();
13198    assert_eq!(
13199        ::std::mem::size_of::<sigaction64__bindgen_ty_1>(),
13200        4usize,
13201        concat!("Size of: ", stringify!(sigaction64__bindgen_ty_1))
13202    );
13203    assert_eq!(
13204        ::std::mem::align_of::<sigaction64__bindgen_ty_1>(),
13205        4usize,
13206        concat!("Alignment of ", stringify!(sigaction64__bindgen_ty_1))
13207    );
13208    assert_eq!(
13209        unsafe { ::std::ptr::addr_of!((*ptr).sa_handler) as usize - ptr as usize },
13210        0usize,
13211        concat!(
13212            "Offset of field: ",
13213            stringify!(sigaction64__bindgen_ty_1),
13214            "::",
13215            stringify!(sa_handler)
13216        )
13217    );
13218    assert_eq!(
13219        unsafe { ::std::ptr::addr_of!((*ptr).sa_sigaction) as usize - ptr as usize },
13220        0usize,
13221        concat!(
13222            "Offset of field: ",
13223            stringify!(sigaction64__bindgen_ty_1),
13224            "::",
13225            stringify!(sa_sigaction)
13226        )
13227    );
13228}
13229#[test]
13230fn bindgen_test_layout_sigaction64() {
13231    const UNINIT: ::std::mem::MaybeUninit<sigaction64> = ::std::mem::MaybeUninit::uninit();
13232    let ptr = UNINIT.as_ptr();
13233    assert_eq!(
13234        ::std::mem::size_of::<sigaction64>(),
13235        20usize,
13236        concat!("Size of: ", stringify!(sigaction64))
13237    );
13238    assert_eq!(
13239        ::std::mem::align_of::<sigaction64>(),
13240        4usize,
13241        concat!("Alignment of ", stringify!(sigaction64))
13242    );
13243    assert_eq!(
13244        unsafe { ::std::ptr::addr_of!((*ptr).sa_flags) as usize - ptr as usize },
13245        4usize,
13246        concat!(
13247            "Offset of field: ",
13248            stringify!(sigaction64),
13249            "::",
13250            stringify!(sa_flags)
13251        )
13252    );
13253    assert_eq!(
13254        unsafe { ::std::ptr::addr_of!((*ptr).sa_restorer) as usize - ptr as usize },
13255        8usize,
13256        concat!(
13257            "Offset of field: ",
13258            stringify!(sigaction64),
13259            "::",
13260            stringify!(sa_restorer)
13261        )
13262    );
13263    assert_eq!(
13264        unsafe { ::std::ptr::addr_of!((*ptr).sa_mask) as usize - ptr as usize },
13265        12usize,
13266        concat!(
13267            "Offset of field: ",
13268            stringify!(sigaction64),
13269            "::",
13270            stringify!(sa_mask)
13271        )
13272    );
13273}
13274#[repr(C)]
13275#[derive(Debug, Copy, Clone)]
13276pub struct user_fpregs_struct {
13277    pub cwd: ::std::os::raw::c_long,
13278    pub swd: ::std::os::raw::c_long,
13279    pub twd: ::std::os::raw::c_long,
13280    pub fip: ::std::os::raw::c_long,
13281    pub fcs: ::std::os::raw::c_long,
13282    pub foo: ::std::os::raw::c_long,
13283    pub fos: ::std::os::raw::c_long,
13284    pub st_space: [::std::os::raw::c_long; 20usize],
13285}
13286#[test]
13287fn bindgen_test_layout_user_fpregs_struct() {
13288    const UNINIT: ::std::mem::MaybeUninit<user_fpregs_struct> = ::std::mem::MaybeUninit::uninit();
13289    let ptr = UNINIT.as_ptr();
13290    assert_eq!(
13291        ::std::mem::size_of::<user_fpregs_struct>(),
13292        108usize,
13293        concat!("Size of: ", stringify!(user_fpregs_struct))
13294    );
13295    assert_eq!(
13296        ::std::mem::align_of::<user_fpregs_struct>(),
13297        4usize,
13298        concat!("Alignment of ", stringify!(user_fpregs_struct))
13299    );
13300    assert_eq!(
13301        unsafe { ::std::ptr::addr_of!((*ptr).cwd) as usize - ptr as usize },
13302        0usize,
13303        concat!(
13304            "Offset of field: ",
13305            stringify!(user_fpregs_struct),
13306            "::",
13307            stringify!(cwd)
13308        )
13309    );
13310    assert_eq!(
13311        unsafe { ::std::ptr::addr_of!((*ptr).swd) as usize - ptr as usize },
13312        4usize,
13313        concat!(
13314            "Offset of field: ",
13315            stringify!(user_fpregs_struct),
13316            "::",
13317            stringify!(swd)
13318        )
13319    );
13320    assert_eq!(
13321        unsafe { ::std::ptr::addr_of!((*ptr).twd) as usize - ptr as usize },
13322        8usize,
13323        concat!(
13324            "Offset of field: ",
13325            stringify!(user_fpregs_struct),
13326            "::",
13327            stringify!(twd)
13328        )
13329    );
13330    assert_eq!(
13331        unsafe { ::std::ptr::addr_of!((*ptr).fip) as usize - ptr as usize },
13332        12usize,
13333        concat!(
13334            "Offset of field: ",
13335            stringify!(user_fpregs_struct),
13336            "::",
13337            stringify!(fip)
13338        )
13339    );
13340    assert_eq!(
13341        unsafe { ::std::ptr::addr_of!((*ptr).fcs) as usize - ptr as usize },
13342        16usize,
13343        concat!(
13344            "Offset of field: ",
13345            stringify!(user_fpregs_struct),
13346            "::",
13347            stringify!(fcs)
13348        )
13349    );
13350    assert_eq!(
13351        unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize },
13352        20usize,
13353        concat!(
13354            "Offset of field: ",
13355            stringify!(user_fpregs_struct),
13356            "::",
13357            stringify!(foo)
13358        )
13359    );
13360    assert_eq!(
13361        unsafe { ::std::ptr::addr_of!((*ptr).fos) as usize - ptr as usize },
13362        24usize,
13363        concat!(
13364            "Offset of field: ",
13365            stringify!(user_fpregs_struct),
13366            "::",
13367            stringify!(fos)
13368        )
13369    );
13370    assert_eq!(
13371        unsafe { ::std::ptr::addr_of!((*ptr).st_space) as usize - ptr as usize },
13372        28usize,
13373        concat!(
13374            "Offset of field: ",
13375            stringify!(user_fpregs_struct),
13376            "::",
13377            stringify!(st_space)
13378        )
13379    );
13380}
13381#[repr(C)]
13382#[derive(Debug, Copy, Clone)]
13383pub struct user_fpxregs_struct {
13384    pub cwd: ::std::os::raw::c_ushort,
13385    pub swd: ::std::os::raw::c_ushort,
13386    pub twd: ::std::os::raw::c_ushort,
13387    pub fop: ::std::os::raw::c_ushort,
13388    pub fip: ::std::os::raw::c_long,
13389    pub fcs: ::std::os::raw::c_long,
13390    pub foo: ::std::os::raw::c_long,
13391    pub fos: ::std::os::raw::c_long,
13392    pub mxcsr: ::std::os::raw::c_long,
13393    pub reserved: ::std::os::raw::c_long,
13394    pub st_space: [::std::os::raw::c_long; 32usize],
13395    pub xmm_space: [::std::os::raw::c_long; 32usize],
13396    pub padding: [::std::os::raw::c_long; 56usize],
13397}
13398#[test]
13399fn bindgen_test_layout_user_fpxregs_struct() {
13400    const UNINIT: ::std::mem::MaybeUninit<user_fpxregs_struct> = ::std::mem::MaybeUninit::uninit();
13401    let ptr = UNINIT.as_ptr();
13402    assert_eq!(
13403        ::std::mem::size_of::<user_fpxregs_struct>(),
13404        512usize,
13405        concat!("Size of: ", stringify!(user_fpxregs_struct))
13406    );
13407    assert_eq!(
13408        ::std::mem::align_of::<user_fpxregs_struct>(),
13409        4usize,
13410        concat!("Alignment of ", stringify!(user_fpxregs_struct))
13411    );
13412    assert_eq!(
13413        unsafe { ::std::ptr::addr_of!((*ptr).cwd) as usize - ptr as usize },
13414        0usize,
13415        concat!(
13416            "Offset of field: ",
13417            stringify!(user_fpxregs_struct),
13418            "::",
13419            stringify!(cwd)
13420        )
13421    );
13422    assert_eq!(
13423        unsafe { ::std::ptr::addr_of!((*ptr).swd) as usize - ptr as usize },
13424        2usize,
13425        concat!(
13426            "Offset of field: ",
13427            stringify!(user_fpxregs_struct),
13428            "::",
13429            stringify!(swd)
13430        )
13431    );
13432    assert_eq!(
13433        unsafe { ::std::ptr::addr_of!((*ptr).twd) as usize - ptr as usize },
13434        4usize,
13435        concat!(
13436            "Offset of field: ",
13437            stringify!(user_fpxregs_struct),
13438            "::",
13439            stringify!(twd)
13440        )
13441    );
13442    assert_eq!(
13443        unsafe { ::std::ptr::addr_of!((*ptr).fop) as usize - ptr as usize },
13444        6usize,
13445        concat!(
13446            "Offset of field: ",
13447            stringify!(user_fpxregs_struct),
13448            "::",
13449            stringify!(fop)
13450        )
13451    );
13452    assert_eq!(
13453        unsafe { ::std::ptr::addr_of!((*ptr).fip) as usize - ptr as usize },
13454        8usize,
13455        concat!(
13456            "Offset of field: ",
13457            stringify!(user_fpxregs_struct),
13458            "::",
13459            stringify!(fip)
13460        )
13461    );
13462    assert_eq!(
13463        unsafe { ::std::ptr::addr_of!((*ptr).fcs) as usize - ptr as usize },
13464        12usize,
13465        concat!(
13466            "Offset of field: ",
13467            stringify!(user_fpxregs_struct),
13468            "::",
13469            stringify!(fcs)
13470        )
13471    );
13472    assert_eq!(
13473        unsafe { ::std::ptr::addr_of!((*ptr).foo) as usize - ptr as usize },
13474        16usize,
13475        concat!(
13476            "Offset of field: ",
13477            stringify!(user_fpxregs_struct),
13478            "::",
13479            stringify!(foo)
13480        )
13481    );
13482    assert_eq!(
13483        unsafe { ::std::ptr::addr_of!((*ptr).fos) as usize - ptr as usize },
13484        20usize,
13485        concat!(
13486            "Offset of field: ",
13487            stringify!(user_fpxregs_struct),
13488            "::",
13489            stringify!(fos)
13490        )
13491    );
13492    assert_eq!(
13493        unsafe { ::std::ptr::addr_of!((*ptr).mxcsr) as usize - ptr as usize },
13494        24usize,
13495        concat!(
13496            "Offset of field: ",
13497            stringify!(user_fpxregs_struct),
13498            "::",
13499            stringify!(mxcsr)
13500        )
13501    );
13502    assert_eq!(
13503        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
13504        28usize,
13505        concat!(
13506            "Offset of field: ",
13507            stringify!(user_fpxregs_struct),
13508            "::",
13509            stringify!(reserved)
13510        )
13511    );
13512    assert_eq!(
13513        unsafe { ::std::ptr::addr_of!((*ptr).st_space) as usize - ptr as usize },
13514        32usize,
13515        concat!(
13516            "Offset of field: ",
13517            stringify!(user_fpxregs_struct),
13518            "::",
13519            stringify!(st_space)
13520        )
13521    );
13522    assert_eq!(
13523        unsafe { ::std::ptr::addr_of!((*ptr).xmm_space) as usize - ptr as usize },
13524        160usize,
13525        concat!(
13526            "Offset of field: ",
13527            stringify!(user_fpxregs_struct),
13528            "::",
13529            stringify!(xmm_space)
13530        )
13531    );
13532    assert_eq!(
13533        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
13534        288usize,
13535        concat!(
13536            "Offset of field: ",
13537            stringify!(user_fpxregs_struct),
13538            "::",
13539            stringify!(padding)
13540        )
13541    );
13542}
13543#[repr(C)]
13544#[derive(Debug, Copy, Clone)]
13545pub struct user_regs_struct {
13546    pub ebx: ::std::os::raw::c_long,
13547    pub ecx: ::std::os::raw::c_long,
13548    pub edx: ::std::os::raw::c_long,
13549    pub esi: ::std::os::raw::c_long,
13550    pub edi: ::std::os::raw::c_long,
13551    pub ebp: ::std::os::raw::c_long,
13552    pub eax: ::std::os::raw::c_long,
13553    pub xds: ::std::os::raw::c_long,
13554    pub xes: ::std::os::raw::c_long,
13555    pub xfs: ::std::os::raw::c_long,
13556    pub xgs: ::std::os::raw::c_long,
13557    pub orig_eax: ::std::os::raw::c_long,
13558    pub eip: ::std::os::raw::c_long,
13559    pub xcs: ::std::os::raw::c_long,
13560    pub eflags: ::std::os::raw::c_long,
13561    pub esp: ::std::os::raw::c_long,
13562    pub xss: ::std::os::raw::c_long,
13563}
13564#[test]
13565fn bindgen_test_layout_user_regs_struct() {
13566    const UNINIT: ::std::mem::MaybeUninit<user_regs_struct> = ::std::mem::MaybeUninit::uninit();
13567    let ptr = UNINIT.as_ptr();
13568    assert_eq!(
13569        ::std::mem::size_of::<user_regs_struct>(),
13570        68usize,
13571        concat!("Size of: ", stringify!(user_regs_struct))
13572    );
13573    assert_eq!(
13574        ::std::mem::align_of::<user_regs_struct>(),
13575        4usize,
13576        concat!("Alignment of ", stringify!(user_regs_struct))
13577    );
13578    assert_eq!(
13579        unsafe { ::std::ptr::addr_of!((*ptr).ebx) as usize - ptr as usize },
13580        0usize,
13581        concat!(
13582            "Offset of field: ",
13583            stringify!(user_regs_struct),
13584            "::",
13585            stringify!(ebx)
13586        )
13587    );
13588    assert_eq!(
13589        unsafe { ::std::ptr::addr_of!((*ptr).ecx) as usize - ptr as usize },
13590        4usize,
13591        concat!(
13592            "Offset of field: ",
13593            stringify!(user_regs_struct),
13594            "::",
13595            stringify!(ecx)
13596        )
13597    );
13598    assert_eq!(
13599        unsafe { ::std::ptr::addr_of!((*ptr).edx) as usize - ptr as usize },
13600        8usize,
13601        concat!(
13602            "Offset of field: ",
13603            stringify!(user_regs_struct),
13604            "::",
13605            stringify!(edx)
13606        )
13607    );
13608    assert_eq!(
13609        unsafe { ::std::ptr::addr_of!((*ptr).esi) as usize - ptr as usize },
13610        12usize,
13611        concat!(
13612            "Offset of field: ",
13613            stringify!(user_regs_struct),
13614            "::",
13615            stringify!(esi)
13616        )
13617    );
13618    assert_eq!(
13619        unsafe { ::std::ptr::addr_of!((*ptr).edi) as usize - ptr as usize },
13620        16usize,
13621        concat!(
13622            "Offset of field: ",
13623            stringify!(user_regs_struct),
13624            "::",
13625            stringify!(edi)
13626        )
13627    );
13628    assert_eq!(
13629        unsafe { ::std::ptr::addr_of!((*ptr).ebp) as usize - ptr as usize },
13630        20usize,
13631        concat!(
13632            "Offset of field: ",
13633            stringify!(user_regs_struct),
13634            "::",
13635            stringify!(ebp)
13636        )
13637    );
13638    assert_eq!(
13639        unsafe { ::std::ptr::addr_of!((*ptr).eax) as usize - ptr as usize },
13640        24usize,
13641        concat!(
13642            "Offset of field: ",
13643            stringify!(user_regs_struct),
13644            "::",
13645            stringify!(eax)
13646        )
13647    );
13648    assert_eq!(
13649        unsafe { ::std::ptr::addr_of!((*ptr).xds) as usize - ptr as usize },
13650        28usize,
13651        concat!(
13652            "Offset of field: ",
13653            stringify!(user_regs_struct),
13654            "::",
13655            stringify!(xds)
13656        )
13657    );
13658    assert_eq!(
13659        unsafe { ::std::ptr::addr_of!((*ptr).xes) as usize - ptr as usize },
13660        32usize,
13661        concat!(
13662            "Offset of field: ",
13663            stringify!(user_regs_struct),
13664            "::",
13665            stringify!(xes)
13666        )
13667    );
13668    assert_eq!(
13669        unsafe { ::std::ptr::addr_of!((*ptr).xfs) as usize - ptr as usize },
13670        36usize,
13671        concat!(
13672            "Offset of field: ",
13673            stringify!(user_regs_struct),
13674            "::",
13675            stringify!(xfs)
13676        )
13677    );
13678    assert_eq!(
13679        unsafe { ::std::ptr::addr_of!((*ptr).xgs) as usize - ptr as usize },
13680        40usize,
13681        concat!(
13682            "Offset of field: ",
13683            stringify!(user_regs_struct),
13684            "::",
13685            stringify!(xgs)
13686        )
13687    );
13688    assert_eq!(
13689        unsafe { ::std::ptr::addr_of!((*ptr).orig_eax) as usize - ptr as usize },
13690        44usize,
13691        concat!(
13692            "Offset of field: ",
13693            stringify!(user_regs_struct),
13694            "::",
13695            stringify!(orig_eax)
13696        )
13697    );
13698    assert_eq!(
13699        unsafe { ::std::ptr::addr_of!((*ptr).eip) as usize - ptr as usize },
13700        48usize,
13701        concat!(
13702            "Offset of field: ",
13703            stringify!(user_regs_struct),
13704            "::",
13705            stringify!(eip)
13706        )
13707    );
13708    assert_eq!(
13709        unsafe { ::std::ptr::addr_of!((*ptr).xcs) as usize - ptr as usize },
13710        52usize,
13711        concat!(
13712            "Offset of field: ",
13713            stringify!(user_regs_struct),
13714            "::",
13715            stringify!(xcs)
13716        )
13717    );
13718    assert_eq!(
13719        unsafe { ::std::ptr::addr_of!((*ptr).eflags) as usize - ptr as usize },
13720        56usize,
13721        concat!(
13722            "Offset of field: ",
13723            stringify!(user_regs_struct),
13724            "::",
13725            stringify!(eflags)
13726        )
13727    );
13728    assert_eq!(
13729        unsafe { ::std::ptr::addr_of!((*ptr).esp) as usize - ptr as usize },
13730        60usize,
13731        concat!(
13732            "Offset of field: ",
13733            stringify!(user_regs_struct),
13734            "::",
13735            stringify!(esp)
13736        )
13737    );
13738    assert_eq!(
13739        unsafe { ::std::ptr::addr_of!((*ptr).xss) as usize - ptr as usize },
13740        64usize,
13741        concat!(
13742            "Offset of field: ",
13743            stringify!(user_regs_struct),
13744            "::",
13745            stringify!(xss)
13746        )
13747    );
13748}
13749#[repr(C)]
13750#[derive(Debug, Copy, Clone)]
13751pub struct user {
13752    pub regs: user_regs_struct,
13753    pub u_fpvalid: ::std::os::raw::c_int,
13754    pub i387: user_fpregs_struct,
13755    pub u_tsize: ::std::os::raw::c_ulong,
13756    pub u_dsize: ::std::os::raw::c_ulong,
13757    pub u_ssize: ::std::os::raw::c_ulong,
13758    pub start_code: ::std::os::raw::c_ulong,
13759    pub start_stack: ::std::os::raw::c_ulong,
13760    pub signal: ::std::os::raw::c_long,
13761    pub reserved: ::std::os::raw::c_int,
13762    pub u_ar0: *mut user_regs_struct,
13763    pub u_fpstate: *mut user_fpregs_struct,
13764    pub magic: ::std::os::raw::c_ulong,
13765    pub u_comm: [::std::os::raw::c_char; 32usize],
13766    pub u_debugreg: [::std::os::raw::c_int; 8usize],
13767}
13768#[test]
13769fn bindgen_test_layout_user() {
13770    const UNINIT: ::std::mem::MaybeUninit<user> = ::std::mem::MaybeUninit::uninit();
13771    let ptr = UNINIT.as_ptr();
13772    assert_eq!(
13773        ::std::mem::size_of::<user>(),
13774        284usize,
13775        concat!("Size of: ", stringify!(user))
13776    );
13777    assert_eq!(
13778        ::std::mem::align_of::<user>(),
13779        4usize,
13780        concat!("Alignment of ", stringify!(user))
13781    );
13782    assert_eq!(
13783        unsafe { ::std::ptr::addr_of!((*ptr).regs) as usize - ptr as usize },
13784        0usize,
13785        concat!(
13786            "Offset of field: ",
13787            stringify!(user),
13788            "::",
13789            stringify!(regs)
13790        )
13791    );
13792    assert_eq!(
13793        unsafe { ::std::ptr::addr_of!((*ptr).u_fpvalid) as usize - ptr as usize },
13794        68usize,
13795        concat!(
13796            "Offset of field: ",
13797            stringify!(user),
13798            "::",
13799            stringify!(u_fpvalid)
13800        )
13801    );
13802    assert_eq!(
13803        unsafe { ::std::ptr::addr_of!((*ptr).i387) as usize - ptr as usize },
13804        72usize,
13805        concat!(
13806            "Offset of field: ",
13807            stringify!(user),
13808            "::",
13809            stringify!(i387)
13810        )
13811    );
13812    assert_eq!(
13813        unsafe { ::std::ptr::addr_of!((*ptr).u_tsize) as usize - ptr as usize },
13814        180usize,
13815        concat!(
13816            "Offset of field: ",
13817            stringify!(user),
13818            "::",
13819            stringify!(u_tsize)
13820        )
13821    );
13822    assert_eq!(
13823        unsafe { ::std::ptr::addr_of!((*ptr).u_dsize) as usize - ptr as usize },
13824        184usize,
13825        concat!(
13826            "Offset of field: ",
13827            stringify!(user),
13828            "::",
13829            stringify!(u_dsize)
13830        )
13831    );
13832    assert_eq!(
13833        unsafe { ::std::ptr::addr_of!((*ptr).u_ssize) as usize - ptr as usize },
13834        188usize,
13835        concat!(
13836            "Offset of field: ",
13837            stringify!(user),
13838            "::",
13839            stringify!(u_ssize)
13840        )
13841    );
13842    assert_eq!(
13843        unsafe { ::std::ptr::addr_of!((*ptr).start_code) as usize - ptr as usize },
13844        192usize,
13845        concat!(
13846            "Offset of field: ",
13847            stringify!(user),
13848            "::",
13849            stringify!(start_code)
13850        )
13851    );
13852    assert_eq!(
13853        unsafe { ::std::ptr::addr_of!((*ptr).start_stack) as usize - ptr as usize },
13854        196usize,
13855        concat!(
13856            "Offset of field: ",
13857            stringify!(user),
13858            "::",
13859            stringify!(start_stack)
13860        )
13861    );
13862    assert_eq!(
13863        unsafe { ::std::ptr::addr_of!((*ptr).signal) as usize - ptr as usize },
13864        200usize,
13865        concat!(
13866            "Offset of field: ",
13867            stringify!(user),
13868            "::",
13869            stringify!(signal)
13870        )
13871    );
13872    assert_eq!(
13873        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
13874        204usize,
13875        concat!(
13876            "Offset of field: ",
13877            stringify!(user),
13878            "::",
13879            stringify!(reserved)
13880        )
13881    );
13882    assert_eq!(
13883        unsafe { ::std::ptr::addr_of!((*ptr).u_ar0) as usize - ptr as usize },
13884        208usize,
13885        concat!(
13886            "Offset of field: ",
13887            stringify!(user),
13888            "::",
13889            stringify!(u_ar0)
13890        )
13891    );
13892    assert_eq!(
13893        unsafe { ::std::ptr::addr_of!((*ptr).u_fpstate) as usize - ptr as usize },
13894        212usize,
13895        concat!(
13896            "Offset of field: ",
13897            stringify!(user),
13898            "::",
13899            stringify!(u_fpstate)
13900        )
13901    );
13902    assert_eq!(
13903        unsafe { ::std::ptr::addr_of!((*ptr).magic) as usize - ptr as usize },
13904        216usize,
13905        concat!(
13906            "Offset of field: ",
13907            stringify!(user),
13908            "::",
13909            stringify!(magic)
13910        )
13911    );
13912    assert_eq!(
13913        unsafe { ::std::ptr::addr_of!((*ptr).u_comm) as usize - ptr as usize },
13914        220usize,
13915        concat!(
13916            "Offset of field: ",
13917            stringify!(user),
13918            "::",
13919            stringify!(u_comm)
13920        )
13921    );
13922    assert_eq!(
13923        unsafe { ::std::ptr::addr_of!((*ptr).u_debugreg) as usize - ptr as usize },
13924        252usize,
13925        concat!(
13926            "Offset of field: ",
13927            stringify!(user),
13928            "::",
13929            stringify!(u_debugreg)
13930        )
13931    );
13932}
13933pub const REG_GS: _bindgen_ty_38 = 0;
13934pub const REG_FS: _bindgen_ty_38 = 1;
13935pub const REG_ES: _bindgen_ty_38 = 2;
13936pub const REG_DS: _bindgen_ty_38 = 3;
13937pub const REG_EDI: _bindgen_ty_38 = 4;
13938pub const REG_ESI: _bindgen_ty_38 = 5;
13939pub const REG_EBP: _bindgen_ty_38 = 6;
13940pub const REG_ESP: _bindgen_ty_38 = 7;
13941pub const REG_EBX: _bindgen_ty_38 = 8;
13942pub const REG_EDX: _bindgen_ty_38 = 9;
13943pub const REG_ECX: _bindgen_ty_38 = 10;
13944pub const REG_EAX: _bindgen_ty_38 = 11;
13945pub const REG_TRAPNO: _bindgen_ty_38 = 12;
13946pub const REG_ERR: _bindgen_ty_38 = 13;
13947pub const REG_EIP: _bindgen_ty_38 = 14;
13948pub const REG_CS: _bindgen_ty_38 = 15;
13949pub const REG_EFL: _bindgen_ty_38 = 16;
13950pub const REG_UESP: _bindgen_ty_38 = 17;
13951pub const REG_SS: _bindgen_ty_38 = 18;
13952pub const NGREG: _bindgen_ty_38 = 19;
13953pub type _bindgen_ty_38 = ::std::os::raw::c_uint;
13954pub type greg_t = ::std::os::raw::c_int;
13955pub type gregset_t = [greg_t; 19usize];
13956#[repr(C)]
13957#[derive(Debug, Copy, Clone)]
13958pub struct _libc_fpreg {
13959    pub significand: [::std::os::raw::c_ushort; 4usize],
13960    pub exponent: ::std::os::raw::c_ushort,
13961}
13962#[test]
13963fn bindgen_test_layout__libc_fpreg() {
13964    const UNINIT: ::std::mem::MaybeUninit<_libc_fpreg> = ::std::mem::MaybeUninit::uninit();
13965    let ptr = UNINIT.as_ptr();
13966    assert_eq!(
13967        ::std::mem::size_of::<_libc_fpreg>(),
13968        10usize,
13969        concat!("Size of: ", stringify!(_libc_fpreg))
13970    );
13971    assert_eq!(
13972        ::std::mem::align_of::<_libc_fpreg>(),
13973        2usize,
13974        concat!("Alignment of ", stringify!(_libc_fpreg))
13975    );
13976    assert_eq!(
13977        unsafe { ::std::ptr::addr_of!((*ptr).significand) as usize - ptr as usize },
13978        0usize,
13979        concat!(
13980            "Offset of field: ",
13981            stringify!(_libc_fpreg),
13982            "::",
13983            stringify!(significand)
13984        )
13985    );
13986    assert_eq!(
13987        unsafe { ::std::ptr::addr_of!((*ptr).exponent) as usize - ptr as usize },
13988        8usize,
13989        concat!(
13990            "Offset of field: ",
13991            stringify!(_libc_fpreg),
13992            "::",
13993            stringify!(exponent)
13994        )
13995    );
13996}
13997#[repr(C)]
13998#[derive(Debug, Copy, Clone)]
13999pub struct _libc_fpstate {
14000    pub cw: ::std::os::raw::c_ulong,
14001    pub sw: ::std::os::raw::c_ulong,
14002    pub tag: ::std::os::raw::c_ulong,
14003    pub ipoff: ::std::os::raw::c_ulong,
14004    pub cssel: ::std::os::raw::c_ulong,
14005    pub dataoff: ::std::os::raw::c_ulong,
14006    pub datasel: ::std::os::raw::c_ulong,
14007    pub _st: [_libc_fpreg; 8usize],
14008    pub status: ::std::os::raw::c_ulong,
14009}
14010#[test]
14011fn bindgen_test_layout__libc_fpstate() {
14012    const UNINIT: ::std::mem::MaybeUninit<_libc_fpstate> = ::std::mem::MaybeUninit::uninit();
14013    let ptr = UNINIT.as_ptr();
14014    assert_eq!(
14015        ::std::mem::size_of::<_libc_fpstate>(),
14016        112usize,
14017        concat!("Size of: ", stringify!(_libc_fpstate))
14018    );
14019    assert_eq!(
14020        ::std::mem::align_of::<_libc_fpstate>(),
14021        4usize,
14022        concat!("Alignment of ", stringify!(_libc_fpstate))
14023    );
14024    assert_eq!(
14025        unsafe { ::std::ptr::addr_of!((*ptr).cw) as usize - ptr as usize },
14026        0usize,
14027        concat!(
14028            "Offset of field: ",
14029            stringify!(_libc_fpstate),
14030            "::",
14031            stringify!(cw)
14032        )
14033    );
14034    assert_eq!(
14035        unsafe { ::std::ptr::addr_of!((*ptr).sw) as usize - ptr as usize },
14036        4usize,
14037        concat!(
14038            "Offset of field: ",
14039            stringify!(_libc_fpstate),
14040            "::",
14041            stringify!(sw)
14042        )
14043    );
14044    assert_eq!(
14045        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
14046        8usize,
14047        concat!(
14048            "Offset of field: ",
14049            stringify!(_libc_fpstate),
14050            "::",
14051            stringify!(tag)
14052        )
14053    );
14054    assert_eq!(
14055        unsafe { ::std::ptr::addr_of!((*ptr).ipoff) as usize - ptr as usize },
14056        12usize,
14057        concat!(
14058            "Offset of field: ",
14059            stringify!(_libc_fpstate),
14060            "::",
14061            stringify!(ipoff)
14062        )
14063    );
14064    assert_eq!(
14065        unsafe { ::std::ptr::addr_of!((*ptr).cssel) as usize - ptr as usize },
14066        16usize,
14067        concat!(
14068            "Offset of field: ",
14069            stringify!(_libc_fpstate),
14070            "::",
14071            stringify!(cssel)
14072        )
14073    );
14074    assert_eq!(
14075        unsafe { ::std::ptr::addr_of!((*ptr).dataoff) as usize - ptr as usize },
14076        20usize,
14077        concat!(
14078            "Offset of field: ",
14079            stringify!(_libc_fpstate),
14080            "::",
14081            stringify!(dataoff)
14082        )
14083    );
14084    assert_eq!(
14085        unsafe { ::std::ptr::addr_of!((*ptr).datasel) as usize - ptr as usize },
14086        24usize,
14087        concat!(
14088            "Offset of field: ",
14089            stringify!(_libc_fpstate),
14090            "::",
14091            stringify!(datasel)
14092        )
14093    );
14094    assert_eq!(
14095        unsafe { ::std::ptr::addr_of!((*ptr)._st) as usize - ptr as usize },
14096        28usize,
14097        concat!(
14098            "Offset of field: ",
14099            stringify!(_libc_fpstate),
14100            "::",
14101            stringify!(_st)
14102        )
14103    );
14104    assert_eq!(
14105        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
14106        108usize,
14107        concat!(
14108            "Offset of field: ",
14109            stringify!(_libc_fpstate),
14110            "::",
14111            stringify!(status)
14112        )
14113    );
14114}
14115pub type fpregset_t = *mut _libc_fpstate;
14116#[repr(C)]
14117#[derive(Debug, Copy, Clone)]
14118pub struct mcontext_t {
14119    pub gregs: gregset_t,
14120    pub fpregs: fpregset_t,
14121    pub oldmask: ::std::os::raw::c_ulong,
14122    pub cr2: ::std::os::raw::c_ulong,
14123}
14124#[test]
14125fn bindgen_test_layout_mcontext_t() {
14126    const UNINIT: ::std::mem::MaybeUninit<mcontext_t> = ::std::mem::MaybeUninit::uninit();
14127    let ptr = UNINIT.as_ptr();
14128    assert_eq!(
14129        ::std::mem::size_of::<mcontext_t>(),
14130        88usize,
14131        concat!("Size of: ", stringify!(mcontext_t))
14132    );
14133    assert_eq!(
14134        ::std::mem::align_of::<mcontext_t>(),
14135        4usize,
14136        concat!("Alignment of ", stringify!(mcontext_t))
14137    );
14138    assert_eq!(
14139        unsafe { ::std::ptr::addr_of!((*ptr).gregs) as usize - ptr as usize },
14140        0usize,
14141        concat!(
14142            "Offset of field: ",
14143            stringify!(mcontext_t),
14144            "::",
14145            stringify!(gregs)
14146        )
14147    );
14148    assert_eq!(
14149        unsafe { ::std::ptr::addr_of!((*ptr).fpregs) as usize - ptr as usize },
14150        76usize,
14151        concat!(
14152            "Offset of field: ",
14153            stringify!(mcontext_t),
14154            "::",
14155            stringify!(fpregs)
14156        )
14157    );
14158    assert_eq!(
14159        unsafe { ::std::ptr::addr_of!((*ptr).oldmask) as usize - ptr as usize },
14160        80usize,
14161        concat!(
14162            "Offset of field: ",
14163            stringify!(mcontext_t),
14164            "::",
14165            stringify!(oldmask)
14166        )
14167    );
14168    assert_eq!(
14169        unsafe { ::std::ptr::addr_of!((*ptr).cr2) as usize - ptr as usize },
14170        84usize,
14171        concat!(
14172            "Offset of field: ",
14173            stringify!(mcontext_t),
14174            "::",
14175            stringify!(cr2)
14176        )
14177    );
14178}
14179#[repr(C)]
14180#[derive(Copy, Clone)]
14181pub struct ucontext {
14182    pub uc_flags: ::std::os::raw::c_ulong,
14183    pub uc_link: *mut ucontext,
14184    pub uc_stack: stack_t,
14185    pub uc_mcontext: mcontext_t,
14186    pub __bindgen_anon_1: ucontext__bindgen_ty_1,
14187    pub __fpregs_mem: _libc_fpstate,
14188}
14189#[repr(C)]
14190#[derive(Copy, Clone)]
14191pub union ucontext__bindgen_ty_1 {
14192    pub __bindgen_anon_1: ucontext__bindgen_ty_1__bindgen_ty_1,
14193    pub uc_sigmask64: sigset64_t,
14194}
14195#[repr(C)]
14196#[derive(Debug, Copy, Clone)]
14197pub struct ucontext__bindgen_ty_1__bindgen_ty_1 {
14198    pub uc_sigmask: sigset_t,
14199    pub __padding_rt_sigset: u32,
14200}
14201#[test]
14202fn bindgen_test_layout_ucontext__bindgen_ty_1__bindgen_ty_1() {
14203    const UNINIT: ::std::mem::MaybeUninit<ucontext__bindgen_ty_1__bindgen_ty_1> =
14204        ::std::mem::MaybeUninit::uninit();
14205    let ptr = UNINIT.as_ptr();
14206    assert_eq!(
14207        ::std::mem::size_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
14208        8usize,
14209        concat!(
14210            "Size of: ",
14211            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
14212        )
14213    );
14214    assert_eq!(
14215        ::std::mem::align_of::<ucontext__bindgen_ty_1__bindgen_ty_1>(),
14216        4usize,
14217        concat!(
14218            "Alignment of ",
14219            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1)
14220        )
14221    );
14222    assert_eq!(
14223        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask) as usize - ptr as usize },
14224        0usize,
14225        concat!(
14226            "Offset of field: ",
14227            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
14228            "::",
14229            stringify!(uc_sigmask)
14230        )
14231    );
14232    assert_eq!(
14233        unsafe { ::std::ptr::addr_of!((*ptr).__padding_rt_sigset) as usize - ptr as usize },
14234        4usize,
14235        concat!(
14236            "Offset of field: ",
14237            stringify!(ucontext__bindgen_ty_1__bindgen_ty_1),
14238            "::",
14239            stringify!(__padding_rt_sigset)
14240        )
14241    );
14242}
14243#[test]
14244fn bindgen_test_layout_ucontext__bindgen_ty_1() {
14245    const UNINIT: ::std::mem::MaybeUninit<ucontext__bindgen_ty_1> =
14246        ::std::mem::MaybeUninit::uninit();
14247    let ptr = UNINIT.as_ptr();
14248    assert_eq!(
14249        ::std::mem::size_of::<ucontext__bindgen_ty_1>(),
14250        8usize,
14251        concat!("Size of: ", stringify!(ucontext__bindgen_ty_1))
14252    );
14253    assert_eq!(
14254        ::std::mem::align_of::<ucontext__bindgen_ty_1>(),
14255        4usize,
14256        concat!("Alignment of ", stringify!(ucontext__bindgen_ty_1))
14257    );
14258    assert_eq!(
14259        unsafe { ::std::ptr::addr_of!((*ptr).uc_sigmask64) as usize - ptr as usize },
14260        0usize,
14261        concat!(
14262            "Offset of field: ",
14263            stringify!(ucontext__bindgen_ty_1),
14264            "::",
14265            stringify!(uc_sigmask64)
14266        )
14267    );
14268}
14269#[test]
14270fn bindgen_test_layout_ucontext() {
14271    const UNINIT: ::std::mem::MaybeUninit<ucontext> = ::std::mem::MaybeUninit::uninit();
14272    let ptr = UNINIT.as_ptr();
14273    assert_eq!(
14274        ::std::mem::size_of::<ucontext>(),
14275        228usize,
14276        concat!("Size of: ", stringify!(ucontext))
14277    );
14278    assert_eq!(
14279        ::std::mem::align_of::<ucontext>(),
14280        4usize,
14281        concat!("Alignment of ", stringify!(ucontext))
14282    );
14283    assert_eq!(
14284        unsafe { ::std::ptr::addr_of!((*ptr).uc_flags) as usize - ptr as usize },
14285        0usize,
14286        concat!(
14287            "Offset of field: ",
14288            stringify!(ucontext),
14289            "::",
14290            stringify!(uc_flags)
14291        )
14292    );
14293    assert_eq!(
14294        unsafe { ::std::ptr::addr_of!((*ptr).uc_link) as usize - ptr as usize },
14295        4usize,
14296        concat!(
14297            "Offset of field: ",
14298            stringify!(ucontext),
14299            "::",
14300            stringify!(uc_link)
14301        )
14302    );
14303    assert_eq!(
14304        unsafe { ::std::ptr::addr_of!((*ptr).uc_stack) as usize - ptr as usize },
14305        8usize,
14306        concat!(
14307            "Offset of field: ",
14308            stringify!(ucontext),
14309            "::",
14310            stringify!(uc_stack)
14311        )
14312    );
14313    assert_eq!(
14314        unsafe { ::std::ptr::addr_of!((*ptr).uc_mcontext) as usize - ptr as usize },
14315        20usize,
14316        concat!(
14317            "Offset of field: ",
14318            stringify!(ucontext),
14319            "::",
14320            stringify!(uc_mcontext)
14321        )
14322    );
14323    assert_eq!(
14324        unsafe { ::std::ptr::addr_of!((*ptr).__fpregs_mem) as usize - ptr as usize },
14325        116usize,
14326        concat!(
14327            "Offset of field: ",
14328            stringify!(ucontext),
14329            "::",
14330            stringify!(__fpregs_mem)
14331        )
14332    );
14333}
14334pub type ucontext_t = ucontext;
14335extern "C" {
14336    pub fn __libc_current_sigrtmin() -> ::std::os::raw::c_int;
14337}
14338extern "C" {
14339    pub fn __libc_current_sigrtmax() -> ::std::os::raw::c_int;
14340}
14341extern "C" {
14342    pub static sys_siglist: [*const ::std::os::raw::c_char; 65usize];
14343}
14344extern "C" {
14345    pub static sys_signame: [*const ::std::os::raw::c_char; 65usize];
14346}
14347extern "C" {
14348    pub fn sigaction(
14349        __signal: ::std::os::raw::c_int,
14350        __new_action: *const sigaction,
14351        __old_action: *mut sigaction,
14352    ) -> ::std::os::raw::c_int;
14353}
14354extern "C" {
14355    pub fn sigaction64(
14356        __signal: ::std::os::raw::c_int,
14357        __new_action: *const sigaction64,
14358        __old_action: *mut sigaction64,
14359    ) -> ::std::os::raw::c_int;
14360}
14361extern "C" {
14362    pub fn siginterrupt(
14363        __signal: ::std::os::raw::c_int,
14364        __flag: ::std::os::raw::c_int,
14365    ) -> ::std::os::raw::c_int;
14366}
14367extern "C" {
14368    pub fn signal(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
14369}
14370extern "C" {
14371    pub fn sigaddset(
14372        __set: *mut sigset_t,
14373        __signal: ::std::os::raw::c_int,
14374    ) -> ::std::os::raw::c_int;
14375}
14376extern "C" {
14377    pub fn sigaddset64(
14378        __set: *mut sigset64_t,
14379        __signal: ::std::os::raw::c_int,
14380    ) -> ::std::os::raw::c_int;
14381}
14382extern "C" {
14383    pub fn sigdelset(
14384        __set: *mut sigset_t,
14385        __signal: ::std::os::raw::c_int,
14386    ) -> ::std::os::raw::c_int;
14387}
14388extern "C" {
14389    pub fn sigdelset64(
14390        __set: *mut sigset64_t,
14391        __signal: ::std::os::raw::c_int,
14392    ) -> ::std::os::raw::c_int;
14393}
14394extern "C" {
14395    pub fn sigemptyset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
14396}
14397extern "C" {
14398    pub fn sigemptyset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
14399}
14400extern "C" {
14401    pub fn sigfillset(__set: *mut sigset_t) -> ::std::os::raw::c_int;
14402}
14403extern "C" {
14404    pub fn sigfillset64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
14405}
14406extern "C" {
14407    pub fn sigismember(
14408        __set: *const sigset_t,
14409        __signal: ::std::os::raw::c_int,
14410    ) -> ::std::os::raw::c_int;
14411}
14412extern "C" {
14413    pub fn sigismember64(
14414        __set: *const sigset64_t,
14415        __signal: ::std::os::raw::c_int,
14416    ) -> ::std::os::raw::c_int;
14417}
14418extern "C" {
14419    pub fn sigpending(__set: *mut sigset_t) -> ::std::os::raw::c_int;
14420}
14421extern "C" {
14422    pub fn sigpending64(__set: *mut sigset64_t) -> ::std::os::raw::c_int;
14423}
14424extern "C" {
14425    pub fn sigprocmask(
14426        __how: ::std::os::raw::c_int,
14427        __new_set: *const sigset_t,
14428        __old_set: *mut sigset_t,
14429    ) -> ::std::os::raw::c_int;
14430}
14431extern "C" {
14432    pub fn sigprocmask64(
14433        __how: ::std::os::raw::c_int,
14434        __new_set: *const sigset64_t,
14435        __old_set: *mut sigset64_t,
14436    ) -> ::std::os::raw::c_int;
14437}
14438extern "C" {
14439    pub fn sigsuspend(__mask: *const sigset_t) -> ::std::os::raw::c_int;
14440}
14441extern "C" {
14442    pub fn sigsuspend64(__mask: *const sigset64_t) -> ::std::os::raw::c_int;
14443}
14444extern "C" {
14445    pub fn sigwait(
14446        __set: *const sigset_t,
14447        __signal: *mut ::std::os::raw::c_int,
14448    ) -> ::std::os::raw::c_int;
14449}
14450extern "C" {
14451    pub fn sigwait64(
14452        __set: *const sigset64_t,
14453        __signal: *mut ::std::os::raw::c_int,
14454    ) -> ::std::os::raw::c_int;
14455}
14456extern "C" {
14457    pub fn sighold(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14458}
14459extern "C" {
14460    pub fn sigignore(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14461}
14462extern "C" {
14463    pub fn sigpause(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14464}
14465extern "C" {
14466    pub fn sigrelse(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14467}
14468extern "C" {
14469    pub fn sigset(__signal: ::std::os::raw::c_int, __handler: sighandler_t) -> sighandler_t;
14470}
14471extern "C" {
14472    pub fn raise(__signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14473}
14474extern "C" {
14475    pub fn kill(__pid: pid_t, __signal: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14476}
14477extern "C" {
14478    pub fn killpg(
14479        __pgrp: ::std::os::raw::c_int,
14480        __signal: ::std::os::raw::c_int,
14481    ) -> ::std::os::raw::c_int;
14482}
14483extern "C" {
14484    pub fn tgkill(
14485        __tgid: ::std::os::raw::c_int,
14486        __tid: ::std::os::raw::c_int,
14487        __signal: ::std::os::raw::c_int,
14488    ) -> ::std::os::raw::c_int;
14489}
14490extern "C" {
14491    pub fn sigaltstack(
14492        __new_signal_stack: *const stack_t,
14493        __old_signal_stack: *mut stack_t,
14494    ) -> ::std::os::raw::c_int;
14495}
14496extern "C" {
14497    pub fn psiginfo(__info: *const siginfo_t, __msg: *const ::std::os::raw::c_char);
14498}
14499extern "C" {
14500    pub fn psignal(__signal: ::std::os::raw::c_int, __msg: *const ::std::os::raw::c_char);
14501}
14502extern "C" {
14503    pub fn pthread_kill(
14504        __pthread: pthread_t,
14505        __signal: ::std::os::raw::c_int,
14506    ) -> ::std::os::raw::c_int;
14507}
14508extern "C" {
14509    pub fn pthread_sigmask(
14510        __how: ::std::os::raw::c_int,
14511        __new_set: *const sigset_t,
14512        __old_set: *mut sigset_t,
14513    ) -> ::std::os::raw::c_int;
14514}
14515extern "C" {
14516    pub fn pthread_sigmask64(
14517        __how: ::std::os::raw::c_int,
14518        __new_set: *const sigset64_t,
14519        __old_set: *mut sigset64_t,
14520    ) -> ::std::os::raw::c_int;
14521}
14522extern "C" {
14523    pub fn sigqueue(
14524        __pid: pid_t,
14525        __signal: ::std::os::raw::c_int,
14526        __value: sigval,
14527    ) -> ::std::os::raw::c_int;
14528}
14529extern "C" {
14530    pub fn sigtimedwait(
14531        __set: *const sigset_t,
14532        __info: *mut siginfo_t,
14533        __timeout: *const timespec,
14534    ) -> ::std::os::raw::c_int;
14535}
14536extern "C" {
14537    pub fn sigtimedwait64(
14538        __set: *const sigset64_t,
14539        __info: *mut siginfo_t,
14540        __timeout: *const timespec,
14541    ) -> ::std::os::raw::c_int;
14542}
14543extern "C" {
14544    pub fn sigwaitinfo(__set: *const sigset_t, __info: *mut siginfo_t) -> ::std::os::raw::c_int;
14545}
14546extern "C" {
14547    pub fn sigwaitinfo64(__set: *const sigset64_t, __info: *mut siginfo_t)
14548        -> ::std::os::raw::c_int;
14549}
14550pub type fd_mask = ::std::os::raw::c_ulong;
14551#[repr(C)]
14552#[derive(Debug, Copy, Clone)]
14553pub struct fd_set {
14554    pub fds_bits: [fd_mask; 32usize],
14555}
14556#[test]
14557fn bindgen_test_layout_fd_set() {
14558    const UNINIT: ::std::mem::MaybeUninit<fd_set> = ::std::mem::MaybeUninit::uninit();
14559    let ptr = UNINIT.as_ptr();
14560    assert_eq!(
14561        ::std::mem::size_of::<fd_set>(),
14562        128usize,
14563        concat!("Size of: ", stringify!(fd_set))
14564    );
14565    assert_eq!(
14566        ::std::mem::align_of::<fd_set>(),
14567        4usize,
14568        concat!("Alignment of ", stringify!(fd_set))
14569    );
14570    assert_eq!(
14571        unsafe { ::std::ptr::addr_of!((*ptr).fds_bits) as usize - ptr as usize },
14572        0usize,
14573        concat!(
14574            "Offset of field: ",
14575            stringify!(fd_set),
14576            "::",
14577            stringify!(fds_bits)
14578        )
14579    );
14580}
14581extern "C" {
14582    pub fn __FD_CLR_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: usize);
14583}
14584extern "C" {
14585    pub fn __FD_SET_chk(arg1: ::std::os::raw::c_int, arg2: *mut fd_set, arg3: usize);
14586}
14587extern "C" {
14588    pub fn __FD_ISSET_chk(
14589        arg1: ::std::os::raw::c_int,
14590        arg2: *const fd_set,
14591        arg3: usize,
14592    ) -> ::std::os::raw::c_int;
14593}
14594extern "C" {
14595    pub fn select(
14596        __max_fd_plus_one: ::std::os::raw::c_int,
14597        __read_fds: *mut fd_set,
14598        __write_fds: *mut fd_set,
14599        __exception_fds: *mut fd_set,
14600        __timeout: *mut timeval,
14601    ) -> ::std::os::raw::c_int;
14602}
14603extern "C" {
14604    pub fn pselect(
14605        __max_fd_plus_one: ::std::os::raw::c_int,
14606        __read_fds: *mut fd_set,
14607        __write_fds: *mut fd_set,
14608        __exception_fds: *mut fd_set,
14609        __timeout: *const timespec,
14610        __mask: *const sigset_t,
14611    ) -> ::std::os::raw::c_int;
14612}
14613extern "C" {
14614    pub fn pselect64(
14615        __max_fd_plus_one: ::std::os::raw::c_int,
14616        __read_fds: *mut fd_set,
14617        __write_fds: *mut fd_set,
14618        __exception_fds: *mut fd_set,
14619        __timeout: *const timespec,
14620        __mask: *const sigset64_t,
14621    ) -> ::std::os::raw::c_int;
14622}
14623extern "C" {
14624    pub fn fcntl(
14625        __fd: ::std::os::raw::c_int,
14626        __op: ::std::os::raw::c_int,
14627        ...
14628    ) -> ::std::os::raw::c_int;
14629}
14630extern "C" {
14631    pub fn getentropy(
14632        __buffer: *mut ::std::os::raw::c_void,
14633        __buffer_size: usize,
14634    ) -> ::std::os::raw::c_int;
14635}
14636extern "C" {
14637    pub fn getopt(
14638        __argc: ::std::os::raw::c_int,
14639        __argv: *const *mut ::std::os::raw::c_char,
14640        __options: *const ::std::os::raw::c_char,
14641    ) -> ::std::os::raw::c_int;
14642}
14643extern "C" {
14644    pub static mut optarg: *mut ::std::os::raw::c_char;
14645}
14646extern "C" {
14647    pub static mut optind: ::std::os::raw::c_int;
14648}
14649extern "C" {
14650    pub static mut opterr: ::std::os::raw::c_int;
14651}
14652extern "C" {
14653    pub static mut optopt: ::std::os::raw::c_int;
14654}
14655extern "C" {
14656    pub fn ioctl(
14657        __fd: ::std::os::raw::c_int,
14658        __op: ::std::os::raw::c_int,
14659        ...
14660    ) -> ::std::os::raw::c_int;
14661}
14662extern "C" {
14663    pub fn lockf(
14664        __fd: ::std::os::raw::c_int,
14665        __op: ::std::os::raw::c_int,
14666        __length: off_t,
14667    ) -> ::std::os::raw::c_int;
14668}
14669extern "C" {
14670    pub fn lockf64(
14671        __fd: ::std::os::raw::c_int,
14672        __op: ::std::os::raw::c_int,
14673        __length: off64_t,
14674    ) -> ::std::os::raw::c_int;
14675}
14676extern "C" {
14677    pub fn sysconf(__name: ::std::os::raw::c_int) -> ::std::os::raw::c_long;
14678}
14679extern "C" {
14680    pub static mut environ: *mut *mut ::std::os::raw::c_char;
14681}
14682extern "C" {
14683    pub fn _exit(__status: ::std::os::raw::c_int) -> !;
14684}
14685extern "C" {
14686    pub fn fork() -> pid_t;
14687}
14688extern "C" {
14689    pub fn _Fork() -> pid_t;
14690}
14691extern "C" {
14692    pub fn vfork() -> ::std::os::raw::c_int;
14693}
14694extern "C" {
14695    pub fn getpid() -> pid_t;
14696}
14697extern "C" {
14698    pub fn gettid() -> pid_t;
14699}
14700extern "C" {
14701    pub fn getpgid(__pid: pid_t) -> pid_t;
14702}
14703extern "C" {
14704    pub fn setpgid(__pid: pid_t, __pgid: pid_t) -> ::std::os::raw::c_int;
14705}
14706extern "C" {
14707    pub fn getppid() -> pid_t;
14708}
14709extern "C" {
14710    pub fn getpgrp() -> pid_t;
14711}
14712extern "C" {
14713    pub fn setpgrp() -> ::std::os::raw::c_int;
14714}
14715extern "C" {
14716    pub fn getsid(__pid: pid_t) -> pid_t;
14717}
14718extern "C" {
14719    pub fn setsid() -> pid_t;
14720}
14721extern "C" {
14722    pub fn execv(
14723        __path: *const ::std::os::raw::c_char,
14724        __argv: *const *mut ::std::os::raw::c_char,
14725    ) -> ::std::os::raw::c_int;
14726}
14727extern "C" {
14728    pub fn execvp(
14729        __file: *const ::std::os::raw::c_char,
14730        __argv: *const *mut ::std::os::raw::c_char,
14731    ) -> ::std::os::raw::c_int;
14732}
14733extern "C" {
14734    pub fn execvpe(
14735        __file: *const ::std::os::raw::c_char,
14736        __argv: *const *mut ::std::os::raw::c_char,
14737        __envp: *const *mut ::std::os::raw::c_char,
14738    ) -> ::std::os::raw::c_int;
14739}
14740extern "C" {
14741    pub fn execve(
14742        __file: *const ::std::os::raw::c_char,
14743        __argv: *const *mut ::std::os::raw::c_char,
14744        __envp: *const *mut ::std::os::raw::c_char,
14745    ) -> ::std::os::raw::c_int;
14746}
14747extern "C" {
14748    pub fn execl(
14749        __path: *const ::std::os::raw::c_char,
14750        __arg0: *const ::std::os::raw::c_char,
14751        ...
14752    ) -> ::std::os::raw::c_int;
14753}
14754extern "C" {
14755    pub fn execlp(
14756        __file: *const ::std::os::raw::c_char,
14757        __arg0: *const ::std::os::raw::c_char,
14758        ...
14759    ) -> ::std::os::raw::c_int;
14760}
14761extern "C" {
14762    pub fn execle(
14763        __path: *const ::std::os::raw::c_char,
14764        __arg0: *const ::std::os::raw::c_char,
14765        ...
14766    ) -> ::std::os::raw::c_int;
14767}
14768extern "C" {
14769    pub fn fexecve(
14770        __fd: ::std::os::raw::c_int,
14771        __argv: *const *mut ::std::os::raw::c_char,
14772        __envp: *const *mut ::std::os::raw::c_char,
14773    ) -> ::std::os::raw::c_int;
14774}
14775extern "C" {
14776    pub fn nice(__incr: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14777}
14778extern "C" {
14779    pub fn setegid(__gid: gid_t) -> ::std::os::raw::c_int;
14780}
14781extern "C" {
14782    pub fn seteuid(__uid: uid_t) -> ::std::os::raw::c_int;
14783}
14784extern "C" {
14785    pub fn setgid(__gid: gid_t) -> ::std::os::raw::c_int;
14786}
14787extern "C" {
14788    pub fn setregid(__rgid: gid_t, __egid: gid_t) -> ::std::os::raw::c_int;
14789}
14790extern "C" {
14791    pub fn setresgid(__rgid: gid_t, __egid: gid_t, __sgid: gid_t) -> ::std::os::raw::c_int;
14792}
14793extern "C" {
14794    pub fn setresuid(__ruid: uid_t, __euid: uid_t, __suid: uid_t) -> ::std::os::raw::c_int;
14795}
14796extern "C" {
14797    pub fn setreuid(__ruid: uid_t, __euid: uid_t) -> ::std::os::raw::c_int;
14798}
14799extern "C" {
14800    pub fn setuid(__uid: uid_t) -> ::std::os::raw::c_int;
14801}
14802extern "C" {
14803    pub fn getuid() -> uid_t;
14804}
14805extern "C" {
14806    pub fn geteuid() -> uid_t;
14807}
14808extern "C" {
14809    pub fn getgid() -> gid_t;
14810}
14811extern "C" {
14812    pub fn getegid() -> gid_t;
14813}
14814extern "C" {
14815    pub fn getgroups(__size: ::std::os::raw::c_int, __list: *mut gid_t) -> ::std::os::raw::c_int;
14816}
14817extern "C" {
14818    pub fn setgroups(__size: usize, __list: *const gid_t) -> ::std::os::raw::c_int;
14819}
14820extern "C" {
14821    pub fn getresuid(
14822        __ruid: *mut uid_t,
14823        __euid: *mut uid_t,
14824        __suid: *mut uid_t,
14825    ) -> ::std::os::raw::c_int;
14826}
14827extern "C" {
14828    pub fn getresgid(
14829        __rgid: *mut gid_t,
14830        __egid: *mut gid_t,
14831        __sgid: *mut gid_t,
14832    ) -> ::std::os::raw::c_int;
14833}
14834extern "C" {
14835    pub fn getlogin() -> *mut ::std::os::raw::c_char;
14836}
14837extern "C" {
14838    pub fn getlogin_r(
14839        __buffer: *mut ::std::os::raw::c_char,
14840        __buffer_size: usize,
14841    ) -> ::std::os::raw::c_int;
14842}
14843extern "C" {
14844    pub fn fpathconf(
14845        __fd: ::std::os::raw::c_int,
14846        __name: ::std::os::raw::c_int,
14847    ) -> ::std::os::raw::c_long;
14848}
14849extern "C" {
14850    pub fn pathconf(
14851        __path: *const ::std::os::raw::c_char,
14852        __name: ::std::os::raw::c_int,
14853    ) -> ::std::os::raw::c_long;
14854}
14855extern "C" {
14856    pub fn access(
14857        __path: *const ::std::os::raw::c_char,
14858        __mode: ::std::os::raw::c_int,
14859    ) -> ::std::os::raw::c_int;
14860}
14861extern "C" {
14862    pub fn faccessat(
14863        __dirfd: ::std::os::raw::c_int,
14864        __path: *const ::std::os::raw::c_char,
14865        __mode: ::std::os::raw::c_int,
14866        __flags: ::std::os::raw::c_int,
14867    ) -> ::std::os::raw::c_int;
14868}
14869extern "C" {
14870    pub fn link(
14871        __old_path: *const ::std::os::raw::c_char,
14872        __new_path: *const ::std::os::raw::c_char,
14873    ) -> ::std::os::raw::c_int;
14874}
14875extern "C" {
14876    pub fn linkat(
14877        __old_dir_fd: ::std::os::raw::c_int,
14878        __old_path: *const ::std::os::raw::c_char,
14879        __new_dir_fd: ::std::os::raw::c_int,
14880        __new_path: *const ::std::os::raw::c_char,
14881        __flags: ::std::os::raw::c_int,
14882    ) -> ::std::os::raw::c_int;
14883}
14884extern "C" {
14885    pub fn unlink(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14886}
14887extern "C" {
14888    pub fn unlinkat(
14889        __dirfd: ::std::os::raw::c_int,
14890        __path: *const ::std::os::raw::c_char,
14891        __flags: ::std::os::raw::c_int,
14892    ) -> ::std::os::raw::c_int;
14893}
14894extern "C" {
14895    pub fn chdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14896}
14897extern "C" {
14898    pub fn fchdir(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14899}
14900extern "C" {
14901    pub fn rmdir(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14902}
14903extern "C" {
14904    pub fn pipe(__fds: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14905}
14906extern "C" {
14907    pub fn chroot(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14908}
14909extern "C" {
14910    pub fn symlink(
14911        __old_path: *const ::std::os::raw::c_char,
14912        __new_path: *const ::std::os::raw::c_char,
14913    ) -> ::std::os::raw::c_int;
14914}
14915extern "C" {
14916    pub fn symlinkat(
14917        __old_path: *const ::std::os::raw::c_char,
14918        __new_dir_fd: ::std::os::raw::c_int,
14919        __new_path: *const ::std::os::raw::c_char,
14920    ) -> ::std::os::raw::c_int;
14921}
14922extern "C" {
14923    pub fn readlink(
14924        __path: *const ::std::os::raw::c_char,
14925        __buf: *mut ::std::os::raw::c_char,
14926        __buf_size: usize,
14927    ) -> isize;
14928}
14929extern "C" {
14930    pub fn readlinkat(
14931        __dir_fd: ::std::os::raw::c_int,
14932        __path: *const ::std::os::raw::c_char,
14933        __buf: *mut ::std::os::raw::c_char,
14934        __buf_size: usize,
14935    ) -> isize;
14936}
14937extern "C" {
14938    pub fn chown(
14939        __path: *const ::std::os::raw::c_char,
14940        __owner: uid_t,
14941        __group: gid_t,
14942    ) -> ::std::os::raw::c_int;
14943}
14944extern "C" {
14945    pub fn fchown(
14946        __fd: ::std::os::raw::c_int,
14947        __owner: uid_t,
14948        __group: gid_t,
14949    ) -> ::std::os::raw::c_int;
14950}
14951extern "C" {
14952    pub fn fchownat(
14953        __dir_fd: ::std::os::raw::c_int,
14954        __path: *const ::std::os::raw::c_char,
14955        __owner: uid_t,
14956        __group: gid_t,
14957        __flags: ::std::os::raw::c_int,
14958    ) -> ::std::os::raw::c_int;
14959}
14960extern "C" {
14961    pub fn lchown(
14962        __path: *const ::std::os::raw::c_char,
14963        __owner: uid_t,
14964        __group: gid_t,
14965    ) -> ::std::os::raw::c_int;
14966}
14967extern "C" {
14968    pub fn getcwd(__buf: *mut ::std::os::raw::c_char, __size: usize)
14969        -> *mut ::std::os::raw::c_char;
14970}
14971extern "C" {
14972    pub fn sync();
14973}
14974extern "C" {
14975    pub fn close(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14976}
14977extern "C" {
14978    pub fn read(
14979        __fd: ::std::os::raw::c_int,
14980        __buf: *mut ::std::os::raw::c_void,
14981        __count: usize,
14982    ) -> isize;
14983}
14984extern "C" {
14985    pub fn write(
14986        __fd: ::std::os::raw::c_int,
14987        __buf: *const ::std::os::raw::c_void,
14988        __count: usize,
14989    ) -> isize;
14990}
14991extern "C" {
14992    pub fn dup(__old_fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14993}
14994extern "C" {
14995    pub fn dup2(
14996        __old_fd: ::std::os::raw::c_int,
14997        __new_fd: ::std::os::raw::c_int,
14998    ) -> ::std::os::raw::c_int;
14999}
15000extern "C" {
15001    pub fn dup3(
15002        __old_fd: ::std::os::raw::c_int,
15003        __new_fd: ::std::os::raw::c_int,
15004        __flags: ::std::os::raw::c_int,
15005    ) -> ::std::os::raw::c_int;
15006}
15007extern "C" {
15008    pub fn fsync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15009}
15010extern "C" {
15011    pub fn fdatasync(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15012}
15013extern "C" {
15014    pub fn truncate(
15015        __path: *const ::std::os::raw::c_char,
15016        __length: off_t,
15017    ) -> ::std::os::raw::c_int;
15018}
15019extern "C" {
15020    pub fn lseek(
15021        __fd: ::std::os::raw::c_int,
15022        __offset: off_t,
15023        __whence: ::std::os::raw::c_int,
15024    ) -> off_t;
15025}
15026extern "C" {
15027    pub fn pread(
15028        __fd: ::std::os::raw::c_int,
15029        __buf: *mut ::std::os::raw::c_void,
15030        __count: usize,
15031        __offset: off_t,
15032    ) -> isize;
15033}
15034extern "C" {
15035    pub fn pwrite(
15036        __fd: ::std::os::raw::c_int,
15037        __buf: *const ::std::os::raw::c_void,
15038        __count: usize,
15039        __offset: off_t,
15040    ) -> isize;
15041}
15042extern "C" {
15043    pub fn ftruncate(__fd: ::std::os::raw::c_int, __length: off_t) -> ::std::os::raw::c_int;
15044}
15045extern "C" {
15046    pub fn truncate64(
15047        __path: *const ::std::os::raw::c_char,
15048        __length: off64_t,
15049    ) -> ::std::os::raw::c_int;
15050}
15051extern "C" {
15052    pub fn lseek64(
15053        __fd: ::std::os::raw::c_int,
15054        __offset: off64_t,
15055        __whence: ::std::os::raw::c_int,
15056    ) -> off64_t;
15057}
15058extern "C" {
15059    pub fn pread64(
15060        __fd: ::std::os::raw::c_int,
15061        __buf: *mut ::std::os::raw::c_void,
15062        __count: usize,
15063        __offset: off64_t,
15064    ) -> isize;
15065}
15066extern "C" {
15067    pub fn pwrite64(
15068        __fd: ::std::os::raw::c_int,
15069        __buf: *const ::std::os::raw::c_void,
15070        __count: usize,
15071        __offset: off64_t,
15072    ) -> isize;
15073}
15074extern "C" {
15075    pub fn ftruncate64(__fd: ::std::os::raw::c_int, __length: off64_t) -> ::std::os::raw::c_int;
15076}
15077extern "C" {
15078    pub fn pause() -> ::std::os::raw::c_int;
15079}
15080extern "C" {
15081    pub fn alarm(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
15082}
15083extern "C" {
15084    pub fn sleep(__seconds: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint;
15085}
15086extern "C" {
15087    pub fn usleep(__microseconds: useconds_t) -> ::std::os::raw::c_int;
15088}
15089extern "C" {
15090    pub fn gethostname(
15091        _buf: *mut ::std::os::raw::c_char,
15092        __buf_size: usize,
15093    ) -> ::std::os::raw::c_int;
15094}
15095extern "C" {
15096    pub fn sethostname(__name: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
15097}
15098extern "C" {
15099    pub fn brk(__addr: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
15100}
15101extern "C" {
15102    pub fn sbrk(__increment: isize) -> *mut ::std::os::raw::c_void;
15103}
15104extern "C" {
15105    pub fn isatty(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15106}
15107extern "C" {
15108    pub fn ttyname(__fd: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
15109}
15110extern "C" {
15111    pub fn ttyname_r(
15112        __fd: ::std::os::raw::c_int,
15113        __buf: *mut ::std::os::raw::c_char,
15114        __buf_size: usize,
15115    ) -> ::std::os::raw::c_int;
15116}
15117extern "C" {
15118    pub fn acct(__path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15119}
15120extern "C" {
15121    pub fn getpagesize() -> ::std::os::raw::c_int;
15122}
15123extern "C" {
15124    pub fn syscall(__number: ::std::os::raw::c_long, ...) -> ::std::os::raw::c_long;
15125}
15126extern "C" {
15127    pub fn daemon(
15128        __no_chdir: ::std::os::raw::c_int,
15129        __no_close: ::std::os::raw::c_int,
15130    ) -> ::std::os::raw::c_int;
15131}
15132extern "C" {
15133    pub fn tcgetpgrp(__fd: ::std::os::raw::c_int) -> pid_t;
15134}
15135extern "C" {
15136    pub fn tcsetpgrp(__fd: ::std::os::raw::c_int, __pid: pid_t) -> ::std::os::raw::c_int;
15137}
15138extern "C" {
15139    pub fn getdomainname(
15140        __buf: *mut ::std::os::raw::c_char,
15141        __buf_size: usize,
15142    ) -> ::std::os::raw::c_int;
15143}
15144extern "C" {
15145    pub fn setdomainname(
15146        __name: *const ::std::os::raw::c_char,
15147        __n: usize,
15148    ) -> ::std::os::raw::c_int;
15149}
15150extern "C" {
15151    pub fn copy_file_range(
15152        __fd_in: ::std::os::raw::c_int,
15153        __off_in: *mut off64_t,
15154        __fd_out: ::std::os::raw::c_int,
15155        __off_out: *mut off64_t,
15156        __length: usize,
15157        __flags: ::std::os::raw::c_uint,
15158    ) -> isize;
15159}
15160extern "C" {
15161    pub fn swab(
15162        __src: *const ::std::os::raw::c_void,
15163        __dst: *mut ::std::os::raw::c_void,
15164        __byte_count: isize,
15165    );
15166}
15167extern "C" {
15168    pub fn close_range(
15169        __min_fd: ::std::os::raw::c_uint,
15170        __max_fd: ::std::os::raw::c_uint,
15171        __flags: ::std::os::raw::c_int,
15172    ) -> ::std::os::raw::c_int;
15173}
15174#[repr(C)]
15175#[derive(Debug, Copy, Clone)]
15176pub struct APerformanceHintManager {
15177    _unused: [u8; 0],
15178}
15179#[repr(C)]
15180#[derive(Debug, Copy, Clone)]
15181pub struct APerformanceHintSession {
15182    _unused: [u8; 0],
15183}
15184#[repr(C)]
15185#[derive(Debug, Copy, Clone)]
15186pub struct AWorkDuration {
15187    _unused: [u8; 0],
15188}
15189extern "C" {
15190    pub fn APerformanceHint_getManager() -> *mut APerformanceHintManager;
15191}
15192extern "C" {
15193    pub fn APerformanceHint_createSession(
15194        manager: *mut APerformanceHintManager,
15195        threadIds: *const i32,
15196        size: usize,
15197        initialTargetWorkDurationNanos: i64,
15198    ) -> *mut APerformanceHintSession;
15199}
15200extern "C" {
15201    pub fn APerformanceHint_getPreferredUpdateRateNanos(
15202        manager: *mut APerformanceHintManager,
15203    ) -> i64;
15204}
15205extern "C" {
15206    pub fn APerformanceHint_updateTargetWorkDuration(
15207        session: *mut APerformanceHintSession,
15208        targetDurationNanos: i64,
15209    ) -> ::std::os::raw::c_int;
15210}
15211extern "C" {
15212    pub fn APerformanceHint_reportActualWorkDuration(
15213        session: *mut APerformanceHintSession,
15214        actualDurationNanos: i64,
15215    ) -> ::std::os::raw::c_int;
15216}
15217extern "C" {
15218    pub fn APerformanceHint_closeSession(session: *mut APerformanceHintSession);
15219}
15220extern "C" {
15221    pub fn APerformanceHint_setThreads(
15222        session: *mut APerformanceHintSession,
15223        threadIds: *const pid_t,
15224        size: usize,
15225    ) -> ::std::os::raw::c_int;
15226}
15227extern "C" {
15228    pub fn APerformanceHint_setPreferPowerEfficiency(
15229        session: *mut APerformanceHintSession,
15230        enabled: bool,
15231    ) -> ::std::os::raw::c_int;
15232}
15233extern "C" {
15234    pub fn APerformanceHint_reportActualWorkDuration2(
15235        session: *mut APerformanceHintSession,
15236        workDuration: *mut AWorkDuration,
15237    ) -> ::std::os::raw::c_int;
15238}
15239extern "C" {
15240    pub fn AWorkDuration_create() -> *mut AWorkDuration;
15241}
15242extern "C" {
15243    pub fn AWorkDuration_release(WorkDuration: *mut AWorkDuration);
15244}
15245extern "C" {
15246    pub fn AWorkDuration_setWorkPeriodStartTimestampNanos(
15247        aWorkDuration: *mut AWorkDuration,
15248        workPeriodStartTimestampNanos: i64,
15249    );
15250}
15251extern "C" {
15252    pub fn AWorkDuration_setActualTotalDurationNanos(
15253        aWorkDuration: *mut AWorkDuration,
15254        actualTotalDurationNanos: i64,
15255    );
15256}
15257extern "C" {
15258    pub fn AWorkDuration_setActualCpuDurationNanos(
15259        aWorkDuration: *mut AWorkDuration,
15260        actualCpuDurationNanos: i64,
15261    );
15262}
15263extern "C" {
15264    pub fn AWorkDuration_setActualGpuDurationNanos(
15265        aWorkDuration: *mut AWorkDuration,
15266        actualGpuDurationNanos: i64,
15267    );
15268}
15269pub const PERMISSION_MANAGER_PERMISSION_GRANTED: _bindgen_ty_39 = 0;
15270pub const PERMISSION_MANAGER_PERMISSION_DENIED: _bindgen_ty_39 = -1;
15271pub type _bindgen_ty_39 = ::std::os::raw::c_int;
15272pub const PERMISSION_MANAGER_STATUS_OK: _bindgen_ty_40 = 0;
15273pub const PERMISSION_MANAGER_STATUS_ERROR_UNKNOWN: _bindgen_ty_40 = -1;
15274pub const PERMISSION_MANAGER_STATUS_SERVICE_UNAVAILABLE: _bindgen_ty_40 = -2;
15275pub type _bindgen_ty_40 = ::std::os::raw::c_int;
15276extern "C" {
15277    pub fn APermissionManager_checkPermission(
15278        permission: *const ::std::os::raw::c_char,
15279        pid: pid_t,
15280        uid: uid_t,
15281        outResult: *mut i32,
15282    ) -> i32;
15283}
15284pub type __double_t = f64;
15285pub type double_t = __double_t;
15286pub type __float_t = f32;
15287pub type float_t = __float_t;
15288extern "C" {
15289    pub fn acos(__x: f64) -> f64;
15290}
15291extern "C" {
15292    pub fn acosf(__x: f32) -> f32;
15293}
15294extern "C" {
15295    pub fn acosl(__x: f64) -> f64;
15296}
15297extern "C" {
15298    pub fn asin(__x: f64) -> f64;
15299}
15300extern "C" {
15301    pub fn asinf(__x: f32) -> f32;
15302}
15303extern "C" {
15304    pub fn asinl(__x: f64) -> f64;
15305}
15306extern "C" {
15307    pub fn atan(__x: f64) -> f64;
15308}
15309extern "C" {
15310    pub fn atanf(__x: f32) -> f32;
15311}
15312extern "C" {
15313    pub fn atanl(__x: f64) -> f64;
15314}
15315extern "C" {
15316    pub fn atan2(__y: f64, __x: f64) -> f64;
15317}
15318extern "C" {
15319    pub fn atan2f(__y: f32, __x: f32) -> f32;
15320}
15321extern "C" {
15322    pub fn atan2l(__y: f64, __x: f64) -> f64;
15323}
15324extern "C" {
15325    pub fn cos(__x: f64) -> f64;
15326}
15327extern "C" {
15328    pub fn cosf(__x: f32) -> f32;
15329}
15330extern "C" {
15331    pub fn cosl(__x: f64) -> f64;
15332}
15333extern "C" {
15334    pub fn sin(__x: f64) -> f64;
15335}
15336extern "C" {
15337    pub fn sinf(__x: f32) -> f32;
15338}
15339extern "C" {
15340    pub fn sinl(__x: f64) -> f64;
15341}
15342extern "C" {
15343    pub fn tan(__x: f64) -> f64;
15344}
15345extern "C" {
15346    pub fn tanf(__x: f32) -> f32;
15347}
15348extern "C" {
15349    pub fn tanl(__x: f64) -> f64;
15350}
15351extern "C" {
15352    pub fn acosh(__x: f64) -> f64;
15353}
15354extern "C" {
15355    pub fn acoshf(__x: f32) -> f32;
15356}
15357extern "C" {
15358    pub fn acoshl(__x: f64) -> f64;
15359}
15360extern "C" {
15361    pub fn asinh(__x: f64) -> f64;
15362}
15363extern "C" {
15364    pub fn asinhf(__x: f32) -> f32;
15365}
15366extern "C" {
15367    pub fn asinhl(__x: f64) -> f64;
15368}
15369extern "C" {
15370    pub fn atanh(__x: f64) -> f64;
15371}
15372extern "C" {
15373    pub fn atanhf(__x: f32) -> f32;
15374}
15375extern "C" {
15376    pub fn atanhl(__x: f64) -> f64;
15377}
15378extern "C" {
15379    pub fn cosh(__x: f64) -> f64;
15380}
15381extern "C" {
15382    pub fn coshf(__x: f32) -> f32;
15383}
15384extern "C" {
15385    pub fn coshl(__x: f64) -> f64;
15386}
15387extern "C" {
15388    pub fn sinh(__x: f64) -> f64;
15389}
15390extern "C" {
15391    pub fn sinhf(__x: f32) -> f32;
15392}
15393extern "C" {
15394    pub fn sinhl(__x: f64) -> f64;
15395}
15396extern "C" {
15397    pub fn tanh(__x: f64) -> f64;
15398}
15399extern "C" {
15400    pub fn tanhf(__x: f32) -> f32;
15401}
15402extern "C" {
15403    pub fn tanhl(__x: f64) -> f64;
15404}
15405extern "C" {
15406    pub fn exp(__x: f64) -> f64;
15407}
15408extern "C" {
15409    pub fn expf(__x: f32) -> f32;
15410}
15411extern "C" {
15412    pub fn expl(__x: f64) -> f64;
15413}
15414extern "C" {
15415    pub fn exp2(__x: f64) -> f64;
15416}
15417extern "C" {
15418    pub fn exp2f(__x: f32) -> f32;
15419}
15420extern "C" {
15421    pub fn exp2l(__x: f64) -> f64;
15422}
15423extern "C" {
15424    pub fn expm1(__x: f64) -> f64;
15425}
15426extern "C" {
15427    pub fn expm1f(__x: f32) -> f32;
15428}
15429extern "C" {
15430    pub fn expm1l(__x: f64) -> f64;
15431}
15432extern "C" {
15433    pub fn frexp(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
15434}
15435extern "C" {
15436    pub fn frexpf(__x: f32, __exponent: *mut ::std::os::raw::c_int) -> f32;
15437}
15438extern "C" {
15439    pub fn frexpl(__x: f64, __exponent: *mut ::std::os::raw::c_int) -> f64;
15440}
15441extern "C" {
15442    pub fn ilogb(__x: f64) -> ::std::os::raw::c_int;
15443}
15444extern "C" {
15445    pub fn ilogbf(__x: f32) -> ::std::os::raw::c_int;
15446}
15447extern "C" {
15448    pub fn ilogbl(__x: f64) -> ::std::os::raw::c_int;
15449}
15450extern "C" {
15451    pub fn ldexp(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
15452}
15453extern "C" {
15454    pub fn ldexpf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
15455}
15456extern "C" {
15457    pub fn ldexpl(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
15458}
15459extern "C" {
15460    pub fn log(__x: f64) -> f64;
15461}
15462extern "C" {
15463    pub fn logf(__x: f32) -> f32;
15464}
15465extern "C" {
15466    pub fn logl(__x: f64) -> f64;
15467}
15468extern "C" {
15469    pub fn log10(__x: f64) -> f64;
15470}
15471extern "C" {
15472    pub fn log10f(__x: f32) -> f32;
15473}
15474extern "C" {
15475    pub fn log10l(__x: f64) -> f64;
15476}
15477extern "C" {
15478    pub fn log1p(__x: f64) -> f64;
15479}
15480extern "C" {
15481    pub fn log1pf(__x: f32) -> f32;
15482}
15483extern "C" {
15484    pub fn log1pl(__x: f64) -> f64;
15485}
15486extern "C" {
15487    pub fn log2(__x: f64) -> f64;
15488}
15489extern "C" {
15490    pub fn log2f(__x: f32) -> f32;
15491}
15492extern "C" {
15493    pub fn log2l(__x: f64) -> f64;
15494}
15495extern "C" {
15496    pub fn logb(__x: f64) -> f64;
15497}
15498extern "C" {
15499    pub fn logbf(__x: f32) -> f32;
15500}
15501extern "C" {
15502    pub fn logbl(__x: f64) -> f64;
15503}
15504extern "C" {
15505    pub fn modf(__x: f64, __integral_part: *mut f64) -> f64;
15506}
15507extern "C" {
15508    pub fn modff(__x: f32, __integral_part: *mut f32) -> f32;
15509}
15510extern "C" {
15511    pub fn modfl(__x: f64, __integral_part: *mut f64) -> f64;
15512}
15513extern "C" {
15514    pub fn scalbn(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
15515}
15516extern "C" {
15517    pub fn scalbnf(__x: f32, __exponent: ::std::os::raw::c_int) -> f32;
15518}
15519extern "C" {
15520    pub fn scalbnl(__x: f64, __exponent: ::std::os::raw::c_int) -> f64;
15521}
15522extern "C" {
15523    pub fn scalbln(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
15524}
15525extern "C" {
15526    pub fn scalblnf(__x: f32, __exponent: ::std::os::raw::c_long) -> f32;
15527}
15528extern "C" {
15529    pub fn scalblnl(__x: f64, __exponent: ::std::os::raw::c_long) -> f64;
15530}
15531extern "C" {
15532    pub fn cbrt(__x: f64) -> f64;
15533}
15534extern "C" {
15535    pub fn cbrtf(__x: f32) -> f32;
15536}
15537extern "C" {
15538    pub fn cbrtl(__x: f64) -> f64;
15539}
15540extern "C" {
15541    pub fn fabs(__x: f64) -> f64;
15542}
15543extern "C" {
15544    pub fn fabsf(__x: f32) -> f32;
15545}
15546extern "C" {
15547    pub fn fabsl(__x: f64) -> f64;
15548}
15549extern "C" {
15550    pub fn hypot(__x: f64, __y: f64) -> f64;
15551}
15552extern "C" {
15553    pub fn hypotf(__x: f32, __y: f32) -> f32;
15554}
15555extern "C" {
15556    pub fn hypotl(__x: f64, __y: f64) -> f64;
15557}
15558extern "C" {
15559    pub fn pow(__x: f64, __y: f64) -> f64;
15560}
15561extern "C" {
15562    pub fn powf(__x: f32, __y: f32) -> f32;
15563}
15564extern "C" {
15565    pub fn powl(__x: f64, __y: f64) -> f64;
15566}
15567extern "C" {
15568    pub fn sqrt(__x: f64) -> f64;
15569}
15570extern "C" {
15571    pub fn sqrtf(__x: f32) -> f32;
15572}
15573extern "C" {
15574    pub fn sqrtl(__x: f64) -> f64;
15575}
15576extern "C" {
15577    pub fn erf(__x: f64) -> f64;
15578}
15579extern "C" {
15580    pub fn erff(__x: f32) -> f32;
15581}
15582extern "C" {
15583    pub fn erfl(__x: f64) -> f64;
15584}
15585extern "C" {
15586    pub fn erfc(__x: f64) -> f64;
15587}
15588extern "C" {
15589    pub fn erfcf(__x: f32) -> f32;
15590}
15591extern "C" {
15592    pub fn erfcl(__x: f64) -> f64;
15593}
15594extern "C" {
15595    pub fn lgamma(__x: f64) -> f64;
15596}
15597extern "C" {
15598    pub fn lgammaf(__x: f32) -> f32;
15599}
15600extern "C" {
15601    pub fn lgammal(__x: f64) -> f64;
15602}
15603extern "C" {
15604    pub fn tgamma(__x: f64) -> f64;
15605}
15606extern "C" {
15607    pub fn tgammaf(__x: f32) -> f32;
15608}
15609extern "C" {
15610    pub fn tgammal(__x: f64) -> f64;
15611}
15612extern "C" {
15613    pub fn ceil(__x: f64) -> f64;
15614}
15615extern "C" {
15616    pub fn ceilf(__x: f32) -> f32;
15617}
15618extern "C" {
15619    pub fn ceill(__x: f64) -> f64;
15620}
15621extern "C" {
15622    pub fn floor(__x: f64) -> f64;
15623}
15624extern "C" {
15625    pub fn floorf(__x: f32) -> f32;
15626}
15627extern "C" {
15628    pub fn floorl(__x: f64) -> f64;
15629}
15630extern "C" {
15631    pub fn nearbyint(__x: f64) -> f64;
15632}
15633extern "C" {
15634    pub fn nearbyintf(__x: f32) -> f32;
15635}
15636extern "C" {
15637    pub fn nearbyintl(__x: f64) -> f64;
15638}
15639extern "C" {
15640    pub fn rint(__x: f64) -> f64;
15641}
15642extern "C" {
15643    pub fn rintf(__x: f32) -> f32;
15644}
15645extern "C" {
15646    pub fn rintl(__x: f64) -> f64;
15647}
15648extern "C" {
15649    pub fn lrint(__x: f64) -> ::std::os::raw::c_long;
15650}
15651extern "C" {
15652    pub fn lrintf(__x: f32) -> ::std::os::raw::c_long;
15653}
15654extern "C" {
15655    pub fn lrintl(__x: f64) -> ::std::os::raw::c_long;
15656}
15657extern "C" {
15658    pub fn llrint(__x: f64) -> ::std::os::raw::c_longlong;
15659}
15660extern "C" {
15661    pub fn llrintf(__x: f32) -> ::std::os::raw::c_longlong;
15662}
15663extern "C" {
15664    pub fn llrintl(__x: f64) -> ::std::os::raw::c_longlong;
15665}
15666extern "C" {
15667    pub fn round(__x: f64) -> f64;
15668}
15669extern "C" {
15670    pub fn roundf(__x: f32) -> f32;
15671}
15672extern "C" {
15673    pub fn roundl(__x: f64) -> f64;
15674}
15675extern "C" {
15676    pub fn lround(__x: f64) -> ::std::os::raw::c_long;
15677}
15678extern "C" {
15679    pub fn lroundf(__x: f32) -> ::std::os::raw::c_long;
15680}
15681extern "C" {
15682    pub fn lroundl(__x: f64) -> ::std::os::raw::c_long;
15683}
15684extern "C" {
15685    pub fn llround(__x: f64) -> ::std::os::raw::c_longlong;
15686}
15687extern "C" {
15688    pub fn llroundf(__x: f32) -> ::std::os::raw::c_longlong;
15689}
15690extern "C" {
15691    pub fn llroundl(__x: f64) -> ::std::os::raw::c_longlong;
15692}
15693extern "C" {
15694    pub fn trunc(__x: f64) -> f64;
15695}
15696extern "C" {
15697    pub fn truncf(__x: f32) -> f32;
15698}
15699extern "C" {
15700    pub fn truncl(__x: f64) -> f64;
15701}
15702extern "C" {
15703    pub fn fmod(__x: f64, __y: f64) -> f64;
15704}
15705extern "C" {
15706    pub fn fmodf(__x: f32, __y: f32) -> f32;
15707}
15708extern "C" {
15709    pub fn fmodl(__x: f64, __y: f64) -> f64;
15710}
15711extern "C" {
15712    pub fn remainder(__x: f64, __y: f64) -> f64;
15713}
15714extern "C" {
15715    pub fn remainderf(__x: f32, __y: f32) -> f32;
15716}
15717extern "C" {
15718    pub fn remainderl(__x: f64, __y: f64) -> f64;
15719}
15720extern "C" {
15721    pub fn remquo(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
15722}
15723extern "C" {
15724    pub fn remquof(__x: f32, __y: f32, __quotient_bits: *mut ::std::os::raw::c_int) -> f32;
15725}
15726extern "C" {
15727    pub fn remquol(__x: f64, __y: f64, __quotient_bits: *mut ::std::os::raw::c_int) -> f64;
15728}
15729extern "C" {
15730    pub fn copysign(__value: f64, __sign: f64) -> f64;
15731}
15732extern "C" {
15733    pub fn copysignf(__value: f32, __sign: f32) -> f32;
15734}
15735extern "C" {
15736    pub fn copysignl(__value: f64, __sign: f64) -> f64;
15737}
15738extern "C" {
15739    pub fn nan(__kind: *const ::std::os::raw::c_char) -> f64;
15740}
15741extern "C" {
15742    pub fn nanf(__kind: *const ::std::os::raw::c_char) -> f32;
15743}
15744extern "C" {
15745    pub fn nanl(__kind: *const ::std::os::raw::c_char) -> f64;
15746}
15747extern "C" {
15748    pub fn nextafter(__x: f64, __y: f64) -> f64;
15749}
15750extern "C" {
15751    pub fn nextafterf(__x: f32, __y: f32) -> f32;
15752}
15753extern "C" {
15754    pub fn nextafterl(__x: f64, __y: f64) -> f64;
15755}
15756extern "C" {
15757    pub fn nexttoward(__x: f64, __y: f64) -> f64;
15758}
15759extern "C" {
15760    pub fn nexttowardf(__x: f32, __y: f64) -> f32;
15761}
15762extern "C" {
15763    pub fn nexttowardl(__x: f64, __y: f64) -> f64;
15764}
15765extern "C" {
15766    pub fn fdim(__x: f64, __y: f64) -> f64;
15767}
15768extern "C" {
15769    pub fn fdimf(__x: f32, __y: f32) -> f32;
15770}
15771extern "C" {
15772    pub fn fdiml(__x: f64, __y: f64) -> f64;
15773}
15774extern "C" {
15775    pub fn fmax(__x: f64, __y: f64) -> f64;
15776}
15777extern "C" {
15778    pub fn fmaxf(__x: f32, __y: f32) -> f32;
15779}
15780extern "C" {
15781    pub fn fmaxl(__x: f64, __y: f64) -> f64;
15782}
15783extern "C" {
15784    pub fn fmin(__x: f64, __y: f64) -> f64;
15785}
15786extern "C" {
15787    pub fn fminf(__x: f32, __y: f32) -> f32;
15788}
15789extern "C" {
15790    pub fn fminl(__x: f64, __y: f64) -> f64;
15791}
15792extern "C" {
15793    pub fn fma(__x: f64, __y: f64, __z: f64) -> f64;
15794}
15795extern "C" {
15796    pub fn fmaf(__x: f32, __y: f32, __z: f32) -> f32;
15797}
15798extern "C" {
15799    pub fn fmal(__x: f64, __y: f64, __z: f64) -> f64;
15800}
15801extern "C" {
15802    pub fn isinf(__x: f64) -> ::std::os::raw::c_int;
15803}
15804extern "C" {
15805    pub fn isnan(__x: f64) -> ::std::os::raw::c_int;
15806}
15807extern "C" {
15808    pub static mut signgam: ::std::os::raw::c_int;
15809}
15810extern "C" {
15811    pub fn y0(__x: f64) -> f64;
15812}
15813extern "C" {
15814    pub fn y1(__x: f64) -> f64;
15815}
15816extern "C" {
15817    pub fn yn(__n: ::std::os::raw::c_int, __x: f64) -> f64;
15818}
15819pub const ASENSOR_TYPE_INVALID: _bindgen_ty_41 = -1;
15820pub const ASENSOR_TYPE_ACCELEROMETER: _bindgen_ty_41 = 1;
15821pub const ASENSOR_TYPE_MAGNETIC_FIELD: _bindgen_ty_41 = 2;
15822pub const ASENSOR_TYPE_GYROSCOPE: _bindgen_ty_41 = 4;
15823pub const ASENSOR_TYPE_LIGHT: _bindgen_ty_41 = 5;
15824pub const ASENSOR_TYPE_PRESSURE: _bindgen_ty_41 = 6;
15825pub const ASENSOR_TYPE_PROXIMITY: _bindgen_ty_41 = 8;
15826pub const ASENSOR_TYPE_GRAVITY: _bindgen_ty_41 = 9;
15827pub const ASENSOR_TYPE_LINEAR_ACCELERATION: _bindgen_ty_41 = 10;
15828pub const ASENSOR_TYPE_ROTATION_VECTOR: _bindgen_ty_41 = 11;
15829pub const ASENSOR_TYPE_RELATIVE_HUMIDITY: _bindgen_ty_41 = 12;
15830pub const ASENSOR_TYPE_AMBIENT_TEMPERATURE: _bindgen_ty_41 = 13;
15831pub const ASENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED: _bindgen_ty_41 = 14;
15832pub const ASENSOR_TYPE_GAME_ROTATION_VECTOR: _bindgen_ty_41 = 15;
15833pub const ASENSOR_TYPE_GYROSCOPE_UNCALIBRATED: _bindgen_ty_41 = 16;
15834pub const ASENSOR_TYPE_SIGNIFICANT_MOTION: _bindgen_ty_41 = 17;
15835pub const ASENSOR_TYPE_STEP_DETECTOR: _bindgen_ty_41 = 18;
15836pub const ASENSOR_TYPE_STEP_COUNTER: _bindgen_ty_41 = 19;
15837pub const ASENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR: _bindgen_ty_41 = 20;
15838pub const ASENSOR_TYPE_HEART_RATE: _bindgen_ty_41 = 21;
15839pub const ASENSOR_TYPE_POSE_6DOF: _bindgen_ty_41 = 28;
15840pub const ASENSOR_TYPE_STATIONARY_DETECT: _bindgen_ty_41 = 29;
15841pub const ASENSOR_TYPE_MOTION_DETECT: _bindgen_ty_41 = 30;
15842pub const ASENSOR_TYPE_HEART_BEAT: _bindgen_ty_41 = 31;
15843pub const ASENSOR_TYPE_DYNAMIC_SENSOR_META: _bindgen_ty_41 = 32;
15844pub const ASENSOR_TYPE_ADDITIONAL_INFO: _bindgen_ty_41 = 33;
15845pub const ASENSOR_TYPE_LOW_LATENCY_OFFBODY_DETECT: _bindgen_ty_41 = 34;
15846pub const ASENSOR_TYPE_ACCELEROMETER_UNCALIBRATED: _bindgen_ty_41 = 35;
15847pub const ASENSOR_TYPE_HINGE_ANGLE: _bindgen_ty_41 = 36;
15848pub const ASENSOR_TYPE_HEAD_TRACKER: _bindgen_ty_41 = 37;
15849pub const ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES: _bindgen_ty_41 = 38;
15850pub const ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES: _bindgen_ty_41 = 39;
15851pub const ASENSOR_TYPE_ACCELEROMETER_LIMITED_AXES_UNCALIBRATED: _bindgen_ty_41 = 40;
15852pub const ASENSOR_TYPE_GYROSCOPE_LIMITED_AXES_UNCALIBRATED: _bindgen_ty_41 = 41;
15853pub const ASENSOR_TYPE_HEADING: _bindgen_ty_41 = 42;
15854pub type _bindgen_ty_41 = ::std::os::raw::c_int;
15855pub const ASENSOR_STATUS_NO_CONTACT: _bindgen_ty_42 = -1;
15856pub const ASENSOR_STATUS_UNRELIABLE: _bindgen_ty_42 = 0;
15857pub const ASENSOR_STATUS_ACCURACY_LOW: _bindgen_ty_42 = 1;
15858pub const ASENSOR_STATUS_ACCURACY_MEDIUM: _bindgen_ty_42 = 2;
15859pub const ASENSOR_STATUS_ACCURACY_HIGH: _bindgen_ty_42 = 3;
15860pub type _bindgen_ty_42 = ::std::os::raw::c_int;
15861pub const AREPORTING_MODE_INVALID: _bindgen_ty_43 = -1;
15862pub const AREPORTING_MODE_CONTINUOUS: _bindgen_ty_43 = 0;
15863pub const AREPORTING_MODE_ON_CHANGE: _bindgen_ty_43 = 1;
15864pub const AREPORTING_MODE_ONE_SHOT: _bindgen_ty_43 = 2;
15865pub const AREPORTING_MODE_SPECIAL_TRIGGER: _bindgen_ty_43 = 3;
15866pub type _bindgen_ty_43 = ::std::os::raw::c_int;
15867pub const ASENSOR_DIRECT_RATE_STOP: _bindgen_ty_44 = 0;
15868pub const ASENSOR_DIRECT_RATE_NORMAL: _bindgen_ty_44 = 1;
15869pub const ASENSOR_DIRECT_RATE_FAST: _bindgen_ty_44 = 2;
15870pub const ASENSOR_DIRECT_RATE_VERY_FAST: _bindgen_ty_44 = 3;
15871pub type _bindgen_ty_44 = ::std::os::raw::c_uint;
15872pub const ASENSOR_DIRECT_CHANNEL_TYPE_SHARED_MEMORY: _bindgen_ty_45 = 1;
15873pub const ASENSOR_DIRECT_CHANNEL_TYPE_HARDWARE_BUFFER: _bindgen_ty_45 = 2;
15874pub type _bindgen_ty_45 = ::std::os::raw::c_uint;
15875pub const ASENSOR_ADDITIONAL_INFO_BEGIN: _bindgen_ty_46 = 0;
15876pub const ASENSOR_ADDITIONAL_INFO_END: _bindgen_ty_46 = 1;
15877pub const ASENSOR_ADDITIONAL_INFO_UNTRACKED_DELAY: _bindgen_ty_46 = 65536;
15878pub const ASENSOR_ADDITIONAL_INFO_INTERNAL_TEMPERATURE: _bindgen_ty_46 = 65537;
15879pub const ASENSOR_ADDITIONAL_INFO_VEC3_CALIBRATION: _bindgen_ty_46 = 65538;
15880pub const ASENSOR_ADDITIONAL_INFO_SENSOR_PLACEMENT: _bindgen_ty_46 = 65539;
15881pub const ASENSOR_ADDITIONAL_INFO_SAMPLING: _bindgen_ty_46 = 65540;
15882pub type _bindgen_ty_46 = ::std::os::raw::c_uint;
15883#[repr(C)]
15884#[derive(Copy, Clone)]
15885pub struct ASensorVector {
15886    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1,
15887    pub status: i8,
15888    pub reserved: [u8; 3usize],
15889}
15890#[repr(C)]
15891#[derive(Copy, Clone)]
15892pub union ASensorVector__bindgen_ty_1 {
15893    pub v: [f32; 3usize],
15894    pub __bindgen_anon_1: ASensorVector__bindgen_ty_1__bindgen_ty_1,
15895    pub __bindgen_anon_2: ASensorVector__bindgen_ty_1__bindgen_ty_2,
15896}
15897#[repr(C)]
15898#[derive(Debug, Copy, Clone)]
15899pub struct ASensorVector__bindgen_ty_1__bindgen_ty_1 {
15900    pub x: f32,
15901    pub y: f32,
15902    pub z: f32,
15903}
15904#[test]
15905fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_1() {
15906    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1__bindgen_ty_1> =
15907        ::std::mem::MaybeUninit::uninit();
15908    let ptr = UNINIT.as_ptr();
15909    assert_eq!(
15910        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
15911        12usize,
15912        concat!(
15913            "Size of: ",
15914            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
15915        )
15916    );
15917    assert_eq!(
15918        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_1>(),
15919        4usize,
15920        concat!(
15921            "Alignment of ",
15922            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1)
15923        )
15924    );
15925    assert_eq!(
15926        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
15927        0usize,
15928        concat!(
15929            "Offset of field: ",
15930            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
15931            "::",
15932            stringify!(x)
15933        )
15934    );
15935    assert_eq!(
15936        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
15937        4usize,
15938        concat!(
15939            "Offset of field: ",
15940            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
15941            "::",
15942            stringify!(y)
15943        )
15944    );
15945    assert_eq!(
15946        unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
15947        8usize,
15948        concat!(
15949            "Offset of field: ",
15950            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_1),
15951            "::",
15952            stringify!(z)
15953        )
15954    );
15955}
15956#[repr(C)]
15957#[derive(Debug, Copy, Clone)]
15958pub struct ASensorVector__bindgen_ty_1__bindgen_ty_2 {
15959    pub azimuth: f32,
15960    pub pitch: f32,
15961    pub roll: f32,
15962}
15963#[test]
15964fn bindgen_test_layout_ASensorVector__bindgen_ty_1__bindgen_ty_2() {
15965    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1__bindgen_ty_2> =
15966        ::std::mem::MaybeUninit::uninit();
15967    let ptr = UNINIT.as_ptr();
15968    assert_eq!(
15969        ::std::mem::size_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
15970        12usize,
15971        concat!(
15972            "Size of: ",
15973            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
15974        )
15975    );
15976    assert_eq!(
15977        ::std::mem::align_of::<ASensorVector__bindgen_ty_1__bindgen_ty_2>(),
15978        4usize,
15979        concat!(
15980            "Alignment of ",
15981            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2)
15982        )
15983    );
15984    assert_eq!(
15985        unsafe { ::std::ptr::addr_of!((*ptr).azimuth) as usize - ptr as usize },
15986        0usize,
15987        concat!(
15988            "Offset of field: ",
15989            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
15990            "::",
15991            stringify!(azimuth)
15992        )
15993    );
15994    assert_eq!(
15995        unsafe { ::std::ptr::addr_of!((*ptr).pitch) as usize - ptr as usize },
15996        4usize,
15997        concat!(
15998            "Offset of field: ",
15999            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
16000            "::",
16001            stringify!(pitch)
16002        )
16003    );
16004    assert_eq!(
16005        unsafe { ::std::ptr::addr_of!((*ptr).roll) as usize - ptr as usize },
16006        8usize,
16007        concat!(
16008            "Offset of field: ",
16009            stringify!(ASensorVector__bindgen_ty_1__bindgen_ty_2),
16010            "::",
16011            stringify!(roll)
16012        )
16013    );
16014}
16015#[test]
16016fn bindgen_test_layout_ASensorVector__bindgen_ty_1() {
16017    const UNINIT: ::std::mem::MaybeUninit<ASensorVector__bindgen_ty_1> =
16018        ::std::mem::MaybeUninit::uninit();
16019    let ptr = UNINIT.as_ptr();
16020    assert_eq!(
16021        ::std::mem::size_of::<ASensorVector__bindgen_ty_1>(),
16022        12usize,
16023        concat!("Size of: ", stringify!(ASensorVector__bindgen_ty_1))
16024    );
16025    assert_eq!(
16026        ::std::mem::align_of::<ASensorVector__bindgen_ty_1>(),
16027        4usize,
16028        concat!("Alignment of ", stringify!(ASensorVector__bindgen_ty_1))
16029    );
16030    assert_eq!(
16031        unsafe { ::std::ptr::addr_of!((*ptr).v) as usize - ptr as usize },
16032        0usize,
16033        concat!(
16034            "Offset of field: ",
16035            stringify!(ASensorVector__bindgen_ty_1),
16036            "::",
16037            stringify!(v)
16038        )
16039    );
16040}
16041#[test]
16042fn bindgen_test_layout_ASensorVector() {
16043    const UNINIT: ::std::mem::MaybeUninit<ASensorVector> = ::std::mem::MaybeUninit::uninit();
16044    let ptr = UNINIT.as_ptr();
16045    assert_eq!(
16046        ::std::mem::size_of::<ASensorVector>(),
16047        16usize,
16048        concat!("Size of: ", stringify!(ASensorVector))
16049    );
16050    assert_eq!(
16051        ::std::mem::align_of::<ASensorVector>(),
16052        4usize,
16053        concat!("Alignment of ", stringify!(ASensorVector))
16054    );
16055    assert_eq!(
16056        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
16057        12usize,
16058        concat!(
16059            "Offset of field: ",
16060            stringify!(ASensorVector),
16061            "::",
16062            stringify!(status)
16063        )
16064    );
16065    assert_eq!(
16066        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
16067        13usize,
16068        concat!(
16069            "Offset of field: ",
16070            stringify!(ASensorVector),
16071            "::",
16072            stringify!(reserved)
16073        )
16074    );
16075}
16076#[repr(C)]
16077#[derive(Debug, Copy, Clone)]
16078pub struct AMetaDataEvent {
16079    pub what: i32,
16080    pub sensor: i32,
16081}
16082#[test]
16083fn bindgen_test_layout_AMetaDataEvent() {
16084    const UNINIT: ::std::mem::MaybeUninit<AMetaDataEvent> = ::std::mem::MaybeUninit::uninit();
16085    let ptr = UNINIT.as_ptr();
16086    assert_eq!(
16087        ::std::mem::size_of::<AMetaDataEvent>(),
16088        8usize,
16089        concat!("Size of: ", stringify!(AMetaDataEvent))
16090    );
16091    assert_eq!(
16092        ::std::mem::align_of::<AMetaDataEvent>(),
16093        4usize,
16094        concat!("Alignment of ", stringify!(AMetaDataEvent))
16095    );
16096    assert_eq!(
16097        unsafe { ::std::ptr::addr_of!((*ptr).what) as usize - ptr as usize },
16098        0usize,
16099        concat!(
16100            "Offset of field: ",
16101            stringify!(AMetaDataEvent),
16102            "::",
16103            stringify!(what)
16104        )
16105    );
16106    assert_eq!(
16107        unsafe { ::std::ptr::addr_of!((*ptr).sensor) as usize - ptr as usize },
16108        4usize,
16109        concat!(
16110            "Offset of field: ",
16111            stringify!(AMetaDataEvent),
16112            "::",
16113            stringify!(sensor)
16114        )
16115    );
16116}
16117#[repr(C)]
16118#[derive(Copy, Clone)]
16119pub struct AUncalibratedEvent {
16120    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1,
16121    pub __bindgen_anon_2: AUncalibratedEvent__bindgen_ty_2,
16122}
16123#[repr(C)]
16124#[derive(Copy, Clone)]
16125pub union AUncalibratedEvent__bindgen_ty_1 {
16126    pub uncalib: [f32; 3usize],
16127    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
16128}
16129#[repr(C)]
16130#[derive(Debug, Copy, Clone)]
16131pub struct AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
16132    pub x_uncalib: f32,
16133    pub y_uncalib: f32,
16134    pub z_uncalib: f32,
16135}
16136#[test]
16137fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
16138    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1> =
16139        ::std::mem::MaybeUninit::uninit();
16140    let ptr = UNINIT.as_ptr();
16141    assert_eq!(
16142        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
16143        12usize,
16144        concat!(
16145            "Size of: ",
16146            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
16147        )
16148    );
16149    assert_eq!(
16150        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
16151        4usize,
16152        concat!(
16153            "Alignment of ",
16154            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
16155        )
16156    );
16157    assert_eq!(
16158        unsafe { ::std::ptr::addr_of!((*ptr).x_uncalib) as usize - ptr as usize },
16159        0usize,
16160        concat!(
16161            "Offset of field: ",
16162            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16163            "::",
16164            stringify!(x_uncalib)
16165        )
16166    );
16167    assert_eq!(
16168        unsafe { ::std::ptr::addr_of!((*ptr).y_uncalib) as usize - ptr as usize },
16169        4usize,
16170        concat!(
16171            "Offset of field: ",
16172            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16173            "::",
16174            stringify!(y_uncalib)
16175        )
16176    );
16177    assert_eq!(
16178        unsafe { ::std::ptr::addr_of!((*ptr).z_uncalib) as usize - ptr as usize },
16179        8usize,
16180        concat!(
16181            "Offset of field: ",
16182            stringify!(AUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16183            "::",
16184            stringify!(z_uncalib)
16185        )
16186    );
16187}
16188#[test]
16189fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_1() {
16190    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_1> =
16191        ::std::mem::MaybeUninit::uninit();
16192    let ptr = UNINIT.as_ptr();
16193    assert_eq!(
16194        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_1>(),
16195        12usize,
16196        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_1))
16197    );
16198    assert_eq!(
16199        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_1>(),
16200        4usize,
16201        concat!(
16202            "Alignment of ",
16203            stringify!(AUncalibratedEvent__bindgen_ty_1)
16204        )
16205    );
16206    assert_eq!(
16207        unsafe { ::std::ptr::addr_of!((*ptr).uncalib) as usize - ptr as usize },
16208        0usize,
16209        concat!(
16210            "Offset of field: ",
16211            stringify!(AUncalibratedEvent__bindgen_ty_1),
16212            "::",
16213            stringify!(uncalib)
16214        )
16215    );
16216}
16217#[repr(C)]
16218#[derive(Copy, Clone)]
16219pub union AUncalibratedEvent__bindgen_ty_2 {
16220    pub bias: [f32; 3usize],
16221    pub __bindgen_anon_1: AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
16222}
16223#[repr(C)]
16224#[derive(Debug, Copy, Clone)]
16225pub struct AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
16226    pub x_bias: f32,
16227    pub y_bias: f32,
16228    pub z_bias: f32,
16229}
16230#[test]
16231fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
16232    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1> =
16233        ::std::mem::MaybeUninit::uninit();
16234    let ptr = UNINIT.as_ptr();
16235    assert_eq!(
16236        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
16237        12usize,
16238        concat!(
16239            "Size of: ",
16240            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
16241        )
16242    );
16243    assert_eq!(
16244        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
16245        4usize,
16246        concat!(
16247            "Alignment of ",
16248            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
16249        )
16250    );
16251    assert_eq!(
16252        unsafe { ::std::ptr::addr_of!((*ptr).x_bias) as usize - ptr as usize },
16253        0usize,
16254        concat!(
16255            "Offset of field: ",
16256            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16257            "::",
16258            stringify!(x_bias)
16259        )
16260    );
16261    assert_eq!(
16262        unsafe { ::std::ptr::addr_of!((*ptr).y_bias) as usize - ptr as usize },
16263        4usize,
16264        concat!(
16265            "Offset of field: ",
16266            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16267            "::",
16268            stringify!(y_bias)
16269        )
16270    );
16271    assert_eq!(
16272        unsafe { ::std::ptr::addr_of!((*ptr).z_bias) as usize - ptr as usize },
16273        8usize,
16274        concat!(
16275            "Offset of field: ",
16276            stringify!(AUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16277            "::",
16278            stringify!(z_bias)
16279        )
16280    );
16281}
16282#[test]
16283fn bindgen_test_layout_AUncalibratedEvent__bindgen_ty_2() {
16284    const UNINIT: ::std::mem::MaybeUninit<AUncalibratedEvent__bindgen_ty_2> =
16285        ::std::mem::MaybeUninit::uninit();
16286    let ptr = UNINIT.as_ptr();
16287    assert_eq!(
16288        ::std::mem::size_of::<AUncalibratedEvent__bindgen_ty_2>(),
16289        12usize,
16290        concat!("Size of: ", stringify!(AUncalibratedEvent__bindgen_ty_2))
16291    );
16292    assert_eq!(
16293        ::std::mem::align_of::<AUncalibratedEvent__bindgen_ty_2>(),
16294        4usize,
16295        concat!(
16296            "Alignment of ",
16297            stringify!(AUncalibratedEvent__bindgen_ty_2)
16298        )
16299    );
16300    assert_eq!(
16301        unsafe { ::std::ptr::addr_of!((*ptr).bias) as usize - ptr as usize },
16302        0usize,
16303        concat!(
16304            "Offset of field: ",
16305            stringify!(AUncalibratedEvent__bindgen_ty_2),
16306            "::",
16307            stringify!(bias)
16308        )
16309    );
16310}
16311#[test]
16312fn bindgen_test_layout_AUncalibratedEvent() {
16313    assert_eq!(
16314        ::std::mem::size_of::<AUncalibratedEvent>(),
16315        24usize,
16316        concat!("Size of: ", stringify!(AUncalibratedEvent))
16317    );
16318    assert_eq!(
16319        ::std::mem::align_of::<AUncalibratedEvent>(),
16320        4usize,
16321        concat!("Alignment of ", stringify!(AUncalibratedEvent))
16322    );
16323}
16324#[repr(C)]
16325#[derive(Debug, Copy, Clone)]
16326pub struct AHeartRateEvent {
16327    pub bpm: f32,
16328    pub status: i8,
16329}
16330#[test]
16331fn bindgen_test_layout_AHeartRateEvent() {
16332    const UNINIT: ::std::mem::MaybeUninit<AHeartRateEvent> = ::std::mem::MaybeUninit::uninit();
16333    let ptr = UNINIT.as_ptr();
16334    assert_eq!(
16335        ::std::mem::size_of::<AHeartRateEvent>(),
16336        8usize,
16337        concat!("Size of: ", stringify!(AHeartRateEvent))
16338    );
16339    assert_eq!(
16340        ::std::mem::align_of::<AHeartRateEvent>(),
16341        4usize,
16342        concat!("Alignment of ", stringify!(AHeartRateEvent))
16343    );
16344    assert_eq!(
16345        unsafe { ::std::ptr::addr_of!((*ptr).bpm) as usize - ptr as usize },
16346        0usize,
16347        concat!(
16348            "Offset of field: ",
16349            stringify!(AHeartRateEvent),
16350            "::",
16351            stringify!(bpm)
16352        )
16353    );
16354    assert_eq!(
16355        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
16356        4usize,
16357        concat!(
16358            "Offset of field: ",
16359            stringify!(AHeartRateEvent),
16360            "::",
16361            stringify!(status)
16362        )
16363    );
16364}
16365#[repr(C)]
16366#[derive(Debug, Copy, Clone)]
16367pub struct ADynamicSensorEvent {
16368    pub connected: i32,
16369    pub handle: i32,
16370}
16371#[test]
16372fn bindgen_test_layout_ADynamicSensorEvent() {
16373    const UNINIT: ::std::mem::MaybeUninit<ADynamicSensorEvent> = ::std::mem::MaybeUninit::uninit();
16374    let ptr = UNINIT.as_ptr();
16375    assert_eq!(
16376        ::std::mem::size_of::<ADynamicSensorEvent>(),
16377        8usize,
16378        concat!("Size of: ", stringify!(ADynamicSensorEvent))
16379    );
16380    assert_eq!(
16381        ::std::mem::align_of::<ADynamicSensorEvent>(),
16382        4usize,
16383        concat!("Alignment of ", stringify!(ADynamicSensorEvent))
16384    );
16385    assert_eq!(
16386        unsafe { ::std::ptr::addr_of!((*ptr).connected) as usize - ptr as usize },
16387        0usize,
16388        concat!(
16389            "Offset of field: ",
16390            stringify!(ADynamicSensorEvent),
16391            "::",
16392            stringify!(connected)
16393        )
16394    );
16395    assert_eq!(
16396        unsafe { ::std::ptr::addr_of!((*ptr).handle) as usize - ptr as usize },
16397        4usize,
16398        concat!(
16399            "Offset of field: ",
16400            stringify!(ADynamicSensorEvent),
16401            "::",
16402            stringify!(handle)
16403        )
16404    );
16405}
16406#[repr(C)]
16407#[derive(Copy, Clone)]
16408pub struct AAdditionalInfoEvent {
16409    pub type_: i32,
16410    pub serial: i32,
16411    pub __bindgen_anon_1: AAdditionalInfoEvent__bindgen_ty_1,
16412}
16413#[repr(C)]
16414#[derive(Copy, Clone)]
16415pub union AAdditionalInfoEvent__bindgen_ty_1 {
16416    pub data_int32: [i32; 14usize],
16417    pub data_float: [f32; 14usize],
16418}
16419#[test]
16420fn bindgen_test_layout_AAdditionalInfoEvent__bindgen_ty_1() {
16421    const UNINIT: ::std::mem::MaybeUninit<AAdditionalInfoEvent__bindgen_ty_1> =
16422        ::std::mem::MaybeUninit::uninit();
16423    let ptr = UNINIT.as_ptr();
16424    assert_eq!(
16425        ::std::mem::size_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
16426        56usize,
16427        concat!("Size of: ", stringify!(AAdditionalInfoEvent__bindgen_ty_1))
16428    );
16429    assert_eq!(
16430        ::std::mem::align_of::<AAdditionalInfoEvent__bindgen_ty_1>(),
16431        4usize,
16432        concat!(
16433            "Alignment of ",
16434            stringify!(AAdditionalInfoEvent__bindgen_ty_1)
16435        )
16436    );
16437    assert_eq!(
16438        unsafe { ::std::ptr::addr_of!((*ptr).data_int32) as usize - ptr as usize },
16439        0usize,
16440        concat!(
16441            "Offset of field: ",
16442            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
16443            "::",
16444            stringify!(data_int32)
16445        )
16446    );
16447    assert_eq!(
16448        unsafe { ::std::ptr::addr_of!((*ptr).data_float) as usize - ptr as usize },
16449        0usize,
16450        concat!(
16451            "Offset of field: ",
16452            stringify!(AAdditionalInfoEvent__bindgen_ty_1),
16453            "::",
16454            stringify!(data_float)
16455        )
16456    );
16457}
16458#[test]
16459fn bindgen_test_layout_AAdditionalInfoEvent() {
16460    const UNINIT: ::std::mem::MaybeUninit<AAdditionalInfoEvent> = ::std::mem::MaybeUninit::uninit();
16461    let ptr = UNINIT.as_ptr();
16462    assert_eq!(
16463        ::std::mem::size_of::<AAdditionalInfoEvent>(),
16464        64usize,
16465        concat!("Size of: ", stringify!(AAdditionalInfoEvent))
16466    );
16467    assert_eq!(
16468        ::std::mem::align_of::<AAdditionalInfoEvent>(),
16469        4usize,
16470        concat!("Alignment of ", stringify!(AAdditionalInfoEvent))
16471    );
16472    assert_eq!(
16473        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
16474        0usize,
16475        concat!(
16476            "Offset of field: ",
16477            stringify!(AAdditionalInfoEvent),
16478            "::",
16479            stringify!(type_)
16480        )
16481    );
16482    assert_eq!(
16483        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
16484        4usize,
16485        concat!(
16486            "Offset of field: ",
16487            stringify!(AAdditionalInfoEvent),
16488            "::",
16489            stringify!(serial)
16490        )
16491    );
16492}
16493#[repr(C)]
16494#[derive(Debug, Copy, Clone)]
16495pub struct AHeadTrackerEvent {
16496    pub rx: f32,
16497    pub ry: f32,
16498    pub rz: f32,
16499    pub vx: f32,
16500    pub vy: f32,
16501    pub vz: f32,
16502    pub discontinuity_count: i32,
16503}
16504#[test]
16505fn bindgen_test_layout_AHeadTrackerEvent() {
16506    const UNINIT: ::std::mem::MaybeUninit<AHeadTrackerEvent> = ::std::mem::MaybeUninit::uninit();
16507    let ptr = UNINIT.as_ptr();
16508    assert_eq!(
16509        ::std::mem::size_of::<AHeadTrackerEvent>(),
16510        28usize,
16511        concat!("Size of: ", stringify!(AHeadTrackerEvent))
16512    );
16513    assert_eq!(
16514        ::std::mem::align_of::<AHeadTrackerEvent>(),
16515        4usize,
16516        concat!("Alignment of ", stringify!(AHeadTrackerEvent))
16517    );
16518    assert_eq!(
16519        unsafe { ::std::ptr::addr_of!((*ptr).rx) as usize - ptr as usize },
16520        0usize,
16521        concat!(
16522            "Offset of field: ",
16523            stringify!(AHeadTrackerEvent),
16524            "::",
16525            stringify!(rx)
16526        )
16527    );
16528    assert_eq!(
16529        unsafe { ::std::ptr::addr_of!((*ptr).ry) as usize - ptr as usize },
16530        4usize,
16531        concat!(
16532            "Offset of field: ",
16533            stringify!(AHeadTrackerEvent),
16534            "::",
16535            stringify!(ry)
16536        )
16537    );
16538    assert_eq!(
16539        unsafe { ::std::ptr::addr_of!((*ptr).rz) as usize - ptr as usize },
16540        8usize,
16541        concat!(
16542            "Offset of field: ",
16543            stringify!(AHeadTrackerEvent),
16544            "::",
16545            stringify!(rz)
16546        )
16547    );
16548    assert_eq!(
16549        unsafe { ::std::ptr::addr_of!((*ptr).vx) as usize - ptr as usize },
16550        12usize,
16551        concat!(
16552            "Offset of field: ",
16553            stringify!(AHeadTrackerEvent),
16554            "::",
16555            stringify!(vx)
16556        )
16557    );
16558    assert_eq!(
16559        unsafe { ::std::ptr::addr_of!((*ptr).vy) as usize - ptr as usize },
16560        16usize,
16561        concat!(
16562            "Offset of field: ",
16563            stringify!(AHeadTrackerEvent),
16564            "::",
16565            stringify!(vy)
16566        )
16567    );
16568    assert_eq!(
16569        unsafe { ::std::ptr::addr_of!((*ptr).vz) as usize - ptr as usize },
16570        20usize,
16571        concat!(
16572            "Offset of field: ",
16573            stringify!(AHeadTrackerEvent),
16574            "::",
16575            stringify!(vz)
16576        )
16577    );
16578    assert_eq!(
16579        unsafe { ::std::ptr::addr_of!((*ptr).discontinuity_count) as usize - ptr as usize },
16580        24usize,
16581        concat!(
16582            "Offset of field: ",
16583            stringify!(AHeadTrackerEvent),
16584            "::",
16585            stringify!(discontinuity_count)
16586        )
16587    );
16588}
16589#[repr(C)]
16590#[derive(Copy, Clone)]
16591pub struct ALimitedAxesImuEvent {
16592    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_1,
16593    pub __bindgen_anon_2: ALimitedAxesImuEvent__bindgen_ty_2,
16594}
16595#[repr(C)]
16596#[derive(Copy, Clone)]
16597pub union ALimitedAxesImuEvent__bindgen_ty_1 {
16598    pub calib: [f32; 3usize],
16599    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1,
16600}
16601#[repr(C)]
16602#[derive(Debug, Copy, Clone)]
16603pub struct ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1 {
16604    pub x: f32,
16605    pub y: f32,
16606    pub z: f32,
16607}
16608#[test]
16609fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1() {
16610    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1> =
16611        ::std::mem::MaybeUninit::uninit();
16612    let ptr = UNINIT.as_ptr();
16613    assert_eq!(
16614        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1>(),
16615        12usize,
16616        concat!(
16617            "Size of: ",
16618            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1)
16619        )
16620    );
16621    assert_eq!(
16622        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1>(),
16623        4usize,
16624        concat!(
16625            "Alignment of ",
16626            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1)
16627        )
16628    );
16629    assert_eq!(
16630        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
16631        0usize,
16632        concat!(
16633            "Offset of field: ",
16634            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
16635            "::",
16636            stringify!(x)
16637        )
16638    );
16639    assert_eq!(
16640        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
16641        4usize,
16642        concat!(
16643            "Offset of field: ",
16644            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
16645            "::",
16646            stringify!(y)
16647        )
16648    );
16649    assert_eq!(
16650        unsafe { ::std::ptr::addr_of!((*ptr).z) as usize - ptr as usize },
16651        8usize,
16652        concat!(
16653            "Offset of field: ",
16654            stringify!(ALimitedAxesImuEvent__bindgen_ty_1__bindgen_ty_1),
16655            "::",
16656            stringify!(z)
16657        )
16658    );
16659}
16660#[test]
16661fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_1() {
16662    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_1> =
16663        ::std::mem::MaybeUninit::uninit();
16664    let ptr = UNINIT.as_ptr();
16665    assert_eq!(
16666        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_1>(),
16667        12usize,
16668        concat!("Size of: ", stringify!(ALimitedAxesImuEvent__bindgen_ty_1))
16669    );
16670    assert_eq!(
16671        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_1>(),
16672        4usize,
16673        concat!(
16674            "Alignment of ",
16675            stringify!(ALimitedAxesImuEvent__bindgen_ty_1)
16676        )
16677    );
16678    assert_eq!(
16679        unsafe { ::std::ptr::addr_of!((*ptr).calib) as usize - ptr as usize },
16680        0usize,
16681        concat!(
16682            "Offset of field: ",
16683            stringify!(ALimitedAxesImuEvent__bindgen_ty_1),
16684            "::",
16685            stringify!(calib)
16686        )
16687    );
16688}
16689#[repr(C)]
16690#[derive(Copy, Clone)]
16691pub union ALimitedAxesImuEvent__bindgen_ty_2 {
16692    pub supported: [f32; 3usize],
16693    pub __bindgen_anon_1: ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1,
16694}
16695#[repr(C)]
16696#[derive(Debug, Copy, Clone)]
16697pub struct ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1 {
16698    pub x_supported: f32,
16699    pub y_supported: f32,
16700    pub z_supported: f32,
16701}
16702#[test]
16703fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1() {
16704    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1> =
16705        ::std::mem::MaybeUninit::uninit();
16706    let ptr = UNINIT.as_ptr();
16707    assert_eq!(
16708        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1>(),
16709        12usize,
16710        concat!(
16711            "Size of: ",
16712            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1)
16713        )
16714    );
16715    assert_eq!(
16716        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1>(),
16717        4usize,
16718        concat!(
16719            "Alignment of ",
16720            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1)
16721        )
16722    );
16723    assert_eq!(
16724        unsafe { ::std::ptr::addr_of!((*ptr).x_supported) as usize - ptr as usize },
16725        0usize,
16726        concat!(
16727            "Offset of field: ",
16728            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
16729            "::",
16730            stringify!(x_supported)
16731        )
16732    );
16733    assert_eq!(
16734        unsafe { ::std::ptr::addr_of!((*ptr).y_supported) as usize - ptr as usize },
16735        4usize,
16736        concat!(
16737            "Offset of field: ",
16738            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
16739            "::",
16740            stringify!(y_supported)
16741        )
16742    );
16743    assert_eq!(
16744        unsafe { ::std::ptr::addr_of!((*ptr).z_supported) as usize - ptr as usize },
16745        8usize,
16746        concat!(
16747            "Offset of field: ",
16748            stringify!(ALimitedAxesImuEvent__bindgen_ty_2__bindgen_ty_1),
16749            "::",
16750            stringify!(z_supported)
16751        )
16752    );
16753}
16754#[test]
16755fn bindgen_test_layout_ALimitedAxesImuEvent__bindgen_ty_2() {
16756    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuEvent__bindgen_ty_2> =
16757        ::std::mem::MaybeUninit::uninit();
16758    let ptr = UNINIT.as_ptr();
16759    assert_eq!(
16760        ::std::mem::size_of::<ALimitedAxesImuEvent__bindgen_ty_2>(),
16761        12usize,
16762        concat!("Size of: ", stringify!(ALimitedAxesImuEvent__bindgen_ty_2))
16763    );
16764    assert_eq!(
16765        ::std::mem::align_of::<ALimitedAxesImuEvent__bindgen_ty_2>(),
16766        4usize,
16767        concat!(
16768            "Alignment of ",
16769            stringify!(ALimitedAxesImuEvent__bindgen_ty_2)
16770        )
16771    );
16772    assert_eq!(
16773        unsafe { ::std::ptr::addr_of!((*ptr).supported) as usize - ptr as usize },
16774        0usize,
16775        concat!(
16776            "Offset of field: ",
16777            stringify!(ALimitedAxesImuEvent__bindgen_ty_2),
16778            "::",
16779            stringify!(supported)
16780        )
16781    );
16782}
16783#[test]
16784fn bindgen_test_layout_ALimitedAxesImuEvent() {
16785    assert_eq!(
16786        ::std::mem::size_of::<ALimitedAxesImuEvent>(),
16787        24usize,
16788        concat!("Size of: ", stringify!(ALimitedAxesImuEvent))
16789    );
16790    assert_eq!(
16791        ::std::mem::align_of::<ALimitedAxesImuEvent>(),
16792        4usize,
16793        concat!("Alignment of ", stringify!(ALimitedAxesImuEvent))
16794    );
16795}
16796#[repr(C)]
16797#[derive(Copy, Clone)]
16798pub struct ALimitedAxesImuUncalibratedEvent {
16799    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_1,
16800    pub __bindgen_anon_2: ALimitedAxesImuUncalibratedEvent__bindgen_ty_2,
16801    pub __bindgen_anon_3: ALimitedAxesImuUncalibratedEvent__bindgen_ty_3,
16802}
16803#[repr(C)]
16804#[derive(Copy, Clone)]
16805pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_1 {
16806    pub uncalib: [f32; 3usize],
16807    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
16808}
16809#[repr(C)]
16810#[derive(Debug, Copy, Clone)]
16811pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1 {
16812    pub x_uncalib: f32,
16813    pub y_uncalib: f32,
16814    pub z_uncalib: f32,
16815}
16816#[test]
16817fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1() {
16818    const UNINIT: ::std::mem::MaybeUninit<
16819        ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1,
16820    > = ::std::mem::MaybeUninit::uninit();
16821    let ptr = UNINIT.as_ptr();
16822    assert_eq!(
16823        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
16824        12usize,
16825        concat!(
16826            "Size of: ",
16827            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
16828        )
16829    );
16830    assert_eq!(
16831        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1>(),
16832        4usize,
16833        concat!(
16834            "Alignment of ",
16835            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1)
16836        )
16837    );
16838    assert_eq!(
16839        unsafe { ::std::ptr::addr_of!((*ptr).x_uncalib) as usize - ptr as usize },
16840        0usize,
16841        concat!(
16842            "Offset of field: ",
16843            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16844            "::",
16845            stringify!(x_uncalib)
16846        )
16847    );
16848    assert_eq!(
16849        unsafe { ::std::ptr::addr_of!((*ptr).y_uncalib) as usize - ptr as usize },
16850        4usize,
16851        concat!(
16852            "Offset of field: ",
16853            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16854            "::",
16855            stringify!(y_uncalib)
16856        )
16857    );
16858    assert_eq!(
16859        unsafe { ::std::ptr::addr_of!((*ptr).z_uncalib) as usize - ptr as usize },
16860        8usize,
16861        concat!(
16862            "Offset of field: ",
16863            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1__bindgen_ty_1),
16864            "::",
16865            stringify!(z_uncalib)
16866        )
16867    );
16868}
16869#[test]
16870fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_1() {
16871    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1> =
16872        ::std::mem::MaybeUninit::uninit();
16873    let ptr = UNINIT.as_ptr();
16874    assert_eq!(
16875        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1>(),
16876        12usize,
16877        concat!(
16878            "Size of: ",
16879            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1)
16880        )
16881    );
16882    assert_eq!(
16883        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_1>(),
16884        4usize,
16885        concat!(
16886            "Alignment of ",
16887            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1)
16888        )
16889    );
16890    assert_eq!(
16891        unsafe { ::std::ptr::addr_of!((*ptr).uncalib) as usize - ptr as usize },
16892        0usize,
16893        concat!(
16894            "Offset of field: ",
16895            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_1),
16896            "::",
16897            stringify!(uncalib)
16898        )
16899    );
16900}
16901#[repr(C)]
16902#[derive(Copy, Clone)]
16903pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_2 {
16904    pub bias: [f32; 3usize],
16905    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
16906}
16907#[repr(C)]
16908#[derive(Debug, Copy, Clone)]
16909pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1 {
16910    pub x_bias: f32,
16911    pub y_bias: f32,
16912    pub z_bias: f32,
16913}
16914#[test]
16915fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1() {
16916    const UNINIT: ::std::mem::MaybeUninit<
16917        ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1,
16918    > = ::std::mem::MaybeUninit::uninit();
16919    let ptr = UNINIT.as_ptr();
16920    assert_eq!(
16921        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
16922        12usize,
16923        concat!(
16924            "Size of: ",
16925            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
16926        )
16927    );
16928    assert_eq!(
16929        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1>(),
16930        4usize,
16931        concat!(
16932            "Alignment of ",
16933            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1)
16934        )
16935    );
16936    assert_eq!(
16937        unsafe { ::std::ptr::addr_of!((*ptr).x_bias) as usize - ptr as usize },
16938        0usize,
16939        concat!(
16940            "Offset of field: ",
16941            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16942            "::",
16943            stringify!(x_bias)
16944        )
16945    );
16946    assert_eq!(
16947        unsafe { ::std::ptr::addr_of!((*ptr).y_bias) as usize - ptr as usize },
16948        4usize,
16949        concat!(
16950            "Offset of field: ",
16951            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16952            "::",
16953            stringify!(y_bias)
16954        )
16955    );
16956    assert_eq!(
16957        unsafe { ::std::ptr::addr_of!((*ptr).z_bias) as usize - ptr as usize },
16958        8usize,
16959        concat!(
16960            "Offset of field: ",
16961            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2__bindgen_ty_1),
16962            "::",
16963            stringify!(z_bias)
16964        )
16965    );
16966}
16967#[test]
16968fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_2() {
16969    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2> =
16970        ::std::mem::MaybeUninit::uninit();
16971    let ptr = UNINIT.as_ptr();
16972    assert_eq!(
16973        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2>(),
16974        12usize,
16975        concat!(
16976            "Size of: ",
16977            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2)
16978        )
16979    );
16980    assert_eq!(
16981        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_2>(),
16982        4usize,
16983        concat!(
16984            "Alignment of ",
16985            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2)
16986        )
16987    );
16988    assert_eq!(
16989        unsafe { ::std::ptr::addr_of!((*ptr).bias) as usize - ptr as usize },
16990        0usize,
16991        concat!(
16992            "Offset of field: ",
16993            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_2),
16994            "::",
16995            stringify!(bias)
16996        )
16997    );
16998}
16999#[repr(C)]
17000#[derive(Copy, Clone)]
17001pub union ALimitedAxesImuUncalibratedEvent__bindgen_ty_3 {
17002    pub supported: [f32; 3usize],
17003    pub __bindgen_anon_1: ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1,
17004}
17005#[repr(C)]
17006#[derive(Debug, Copy, Clone)]
17007pub struct ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1 {
17008    pub x_supported: f32,
17009    pub y_supported: f32,
17010    pub z_supported: f32,
17011}
17012#[test]
17013fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1() {
17014    const UNINIT: ::std::mem::MaybeUninit<
17015        ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1,
17016    > = ::std::mem::MaybeUninit::uninit();
17017    let ptr = UNINIT.as_ptr();
17018    assert_eq!(
17019        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1>(),
17020        12usize,
17021        concat!(
17022            "Size of: ",
17023            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1)
17024        )
17025    );
17026    assert_eq!(
17027        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1>(),
17028        4usize,
17029        concat!(
17030            "Alignment of ",
17031            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1)
17032        )
17033    );
17034    assert_eq!(
17035        unsafe { ::std::ptr::addr_of!((*ptr).x_supported) as usize - ptr as usize },
17036        0usize,
17037        concat!(
17038            "Offset of field: ",
17039            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
17040            "::",
17041            stringify!(x_supported)
17042        )
17043    );
17044    assert_eq!(
17045        unsafe { ::std::ptr::addr_of!((*ptr).y_supported) as usize - ptr as usize },
17046        4usize,
17047        concat!(
17048            "Offset of field: ",
17049            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
17050            "::",
17051            stringify!(y_supported)
17052        )
17053    );
17054    assert_eq!(
17055        unsafe { ::std::ptr::addr_of!((*ptr).z_supported) as usize - ptr as usize },
17056        8usize,
17057        concat!(
17058            "Offset of field: ",
17059            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3__bindgen_ty_1),
17060            "::",
17061            stringify!(z_supported)
17062        )
17063    );
17064}
17065#[test]
17066fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent__bindgen_ty_3() {
17067    const UNINIT: ::std::mem::MaybeUninit<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3> =
17068        ::std::mem::MaybeUninit::uninit();
17069    let ptr = UNINIT.as_ptr();
17070    assert_eq!(
17071        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3>(),
17072        12usize,
17073        concat!(
17074            "Size of: ",
17075            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3)
17076        )
17077    );
17078    assert_eq!(
17079        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent__bindgen_ty_3>(),
17080        4usize,
17081        concat!(
17082            "Alignment of ",
17083            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3)
17084        )
17085    );
17086    assert_eq!(
17087        unsafe { ::std::ptr::addr_of!((*ptr).supported) as usize - ptr as usize },
17088        0usize,
17089        concat!(
17090            "Offset of field: ",
17091            stringify!(ALimitedAxesImuUncalibratedEvent__bindgen_ty_3),
17092            "::",
17093            stringify!(supported)
17094        )
17095    );
17096}
17097#[test]
17098fn bindgen_test_layout_ALimitedAxesImuUncalibratedEvent() {
17099    assert_eq!(
17100        ::std::mem::size_of::<ALimitedAxesImuUncalibratedEvent>(),
17101        36usize,
17102        concat!("Size of: ", stringify!(ALimitedAxesImuUncalibratedEvent))
17103    );
17104    assert_eq!(
17105        ::std::mem::align_of::<ALimitedAxesImuUncalibratedEvent>(),
17106        4usize,
17107        concat!(
17108            "Alignment of ",
17109            stringify!(ALimitedAxesImuUncalibratedEvent)
17110        )
17111    );
17112}
17113#[repr(C)]
17114#[derive(Debug, Copy, Clone)]
17115pub struct AHeadingEvent {
17116    pub heading: f32,
17117    pub accuracy: f32,
17118}
17119#[test]
17120fn bindgen_test_layout_AHeadingEvent() {
17121    const UNINIT: ::std::mem::MaybeUninit<AHeadingEvent> = ::std::mem::MaybeUninit::uninit();
17122    let ptr = UNINIT.as_ptr();
17123    assert_eq!(
17124        ::std::mem::size_of::<AHeadingEvent>(),
17125        8usize,
17126        concat!("Size of: ", stringify!(AHeadingEvent))
17127    );
17128    assert_eq!(
17129        ::std::mem::align_of::<AHeadingEvent>(),
17130        4usize,
17131        concat!("Alignment of ", stringify!(AHeadingEvent))
17132    );
17133    assert_eq!(
17134        unsafe { ::std::ptr::addr_of!((*ptr).heading) as usize - ptr as usize },
17135        0usize,
17136        concat!(
17137            "Offset of field: ",
17138            stringify!(AHeadingEvent),
17139            "::",
17140            stringify!(heading)
17141        )
17142    );
17143    assert_eq!(
17144        unsafe { ::std::ptr::addr_of!((*ptr).accuracy) as usize - ptr as usize },
17145        4usize,
17146        concat!(
17147            "Offset of field: ",
17148            stringify!(AHeadingEvent),
17149            "::",
17150            stringify!(accuracy)
17151        )
17152    );
17153}
17154#[repr(C)]
17155#[derive(Copy, Clone)]
17156pub struct ASensorEvent {
17157    pub version: i32,
17158    pub sensor: i32,
17159    pub type_: i32,
17160    pub reserved0: i32,
17161    pub timestamp: i64,
17162    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1,
17163    pub flags: u32,
17164    pub reserved1: [i32; 3usize],
17165}
17166#[repr(C)]
17167#[derive(Copy, Clone)]
17168pub union ASensorEvent__bindgen_ty_1 {
17169    pub __bindgen_anon_1: ASensorEvent__bindgen_ty_1__bindgen_ty_1,
17170    pub u64_: ASensorEvent__bindgen_ty_1__bindgen_ty_2,
17171}
17172#[repr(C)]
17173#[derive(Copy, Clone)]
17174pub union ASensorEvent__bindgen_ty_1__bindgen_ty_1 {
17175    pub data: [f32; 16usize],
17176    pub vector: ASensorVector,
17177    pub acceleration: ASensorVector,
17178    pub gyro: ASensorVector,
17179    pub magnetic: ASensorVector,
17180    pub temperature: f32,
17181    pub distance: f32,
17182    pub light: f32,
17183    pub pressure: f32,
17184    pub relative_humidity: f32,
17185    pub uncalibrated_acceleration: AUncalibratedEvent,
17186    pub uncalibrated_gyro: AUncalibratedEvent,
17187    pub uncalibrated_magnetic: AUncalibratedEvent,
17188    pub meta_data: AMetaDataEvent,
17189    pub heart_rate: AHeartRateEvent,
17190    pub dynamic_sensor_meta: ADynamicSensorEvent,
17191    pub additional_info: AAdditionalInfoEvent,
17192    pub head_tracker: AHeadTrackerEvent,
17193    pub limited_axes_imu: ALimitedAxesImuEvent,
17194    pub limited_axes_imu_uncalibrated: ALimitedAxesImuUncalibratedEvent,
17195    pub heading: AHeadingEvent,
17196}
17197#[test]
17198fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_1() {
17199    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1__bindgen_ty_1> =
17200        ::std::mem::MaybeUninit::uninit();
17201    let ptr = UNINIT.as_ptr();
17202    assert_eq!(
17203        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
17204        64usize,
17205        concat!(
17206            "Size of: ",
17207            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
17208        )
17209    );
17210    assert_eq!(
17211        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_1>(),
17212        4usize,
17213        concat!(
17214            "Alignment of ",
17215            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1)
17216        )
17217    );
17218    assert_eq!(
17219        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17220        0usize,
17221        concat!(
17222            "Offset of field: ",
17223            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17224            "::",
17225            stringify!(data)
17226        )
17227    );
17228    assert_eq!(
17229        unsafe { ::std::ptr::addr_of!((*ptr).vector) as usize - ptr as usize },
17230        0usize,
17231        concat!(
17232            "Offset of field: ",
17233            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17234            "::",
17235            stringify!(vector)
17236        )
17237    );
17238    assert_eq!(
17239        unsafe { ::std::ptr::addr_of!((*ptr).acceleration) as usize - ptr as usize },
17240        0usize,
17241        concat!(
17242            "Offset of field: ",
17243            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17244            "::",
17245            stringify!(acceleration)
17246        )
17247    );
17248    assert_eq!(
17249        unsafe { ::std::ptr::addr_of!((*ptr).gyro) as usize - ptr as usize },
17250        0usize,
17251        concat!(
17252            "Offset of field: ",
17253            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17254            "::",
17255            stringify!(gyro)
17256        )
17257    );
17258    assert_eq!(
17259        unsafe { ::std::ptr::addr_of!((*ptr).magnetic) as usize - ptr as usize },
17260        0usize,
17261        concat!(
17262            "Offset of field: ",
17263            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17264            "::",
17265            stringify!(magnetic)
17266        )
17267    );
17268    assert_eq!(
17269        unsafe { ::std::ptr::addr_of!((*ptr).temperature) as usize - ptr as usize },
17270        0usize,
17271        concat!(
17272            "Offset of field: ",
17273            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17274            "::",
17275            stringify!(temperature)
17276        )
17277    );
17278    assert_eq!(
17279        unsafe { ::std::ptr::addr_of!((*ptr).distance) as usize - ptr as usize },
17280        0usize,
17281        concat!(
17282            "Offset of field: ",
17283            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17284            "::",
17285            stringify!(distance)
17286        )
17287    );
17288    assert_eq!(
17289        unsafe { ::std::ptr::addr_of!((*ptr).light) as usize - ptr as usize },
17290        0usize,
17291        concat!(
17292            "Offset of field: ",
17293            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17294            "::",
17295            stringify!(light)
17296        )
17297    );
17298    assert_eq!(
17299        unsafe { ::std::ptr::addr_of!((*ptr).pressure) as usize - ptr as usize },
17300        0usize,
17301        concat!(
17302            "Offset of field: ",
17303            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17304            "::",
17305            stringify!(pressure)
17306        )
17307    );
17308    assert_eq!(
17309        unsafe { ::std::ptr::addr_of!((*ptr).relative_humidity) as usize - ptr as usize },
17310        0usize,
17311        concat!(
17312            "Offset of field: ",
17313            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17314            "::",
17315            stringify!(relative_humidity)
17316        )
17317    );
17318    assert_eq!(
17319        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_acceleration) as usize - ptr as usize },
17320        0usize,
17321        concat!(
17322            "Offset of field: ",
17323            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17324            "::",
17325            stringify!(uncalibrated_acceleration)
17326        )
17327    );
17328    assert_eq!(
17329        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_gyro) as usize - ptr as usize },
17330        0usize,
17331        concat!(
17332            "Offset of field: ",
17333            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17334            "::",
17335            stringify!(uncalibrated_gyro)
17336        )
17337    );
17338    assert_eq!(
17339        unsafe { ::std::ptr::addr_of!((*ptr).uncalibrated_magnetic) as usize - ptr as usize },
17340        0usize,
17341        concat!(
17342            "Offset of field: ",
17343            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17344            "::",
17345            stringify!(uncalibrated_magnetic)
17346        )
17347    );
17348    assert_eq!(
17349        unsafe { ::std::ptr::addr_of!((*ptr).meta_data) as usize - ptr as usize },
17350        0usize,
17351        concat!(
17352            "Offset of field: ",
17353            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17354            "::",
17355            stringify!(meta_data)
17356        )
17357    );
17358    assert_eq!(
17359        unsafe { ::std::ptr::addr_of!((*ptr).heart_rate) as usize - ptr as usize },
17360        0usize,
17361        concat!(
17362            "Offset of field: ",
17363            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17364            "::",
17365            stringify!(heart_rate)
17366        )
17367    );
17368    assert_eq!(
17369        unsafe { ::std::ptr::addr_of!((*ptr).dynamic_sensor_meta) as usize - ptr as usize },
17370        0usize,
17371        concat!(
17372            "Offset of field: ",
17373            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17374            "::",
17375            stringify!(dynamic_sensor_meta)
17376        )
17377    );
17378    assert_eq!(
17379        unsafe { ::std::ptr::addr_of!((*ptr).additional_info) as usize - ptr as usize },
17380        0usize,
17381        concat!(
17382            "Offset of field: ",
17383            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17384            "::",
17385            stringify!(additional_info)
17386        )
17387    );
17388    assert_eq!(
17389        unsafe { ::std::ptr::addr_of!((*ptr).head_tracker) as usize - ptr as usize },
17390        0usize,
17391        concat!(
17392            "Offset of field: ",
17393            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17394            "::",
17395            stringify!(head_tracker)
17396        )
17397    );
17398    assert_eq!(
17399        unsafe { ::std::ptr::addr_of!((*ptr).limited_axes_imu) as usize - ptr as usize },
17400        0usize,
17401        concat!(
17402            "Offset of field: ",
17403            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17404            "::",
17405            stringify!(limited_axes_imu)
17406        )
17407    );
17408    assert_eq!(
17409        unsafe {
17410            ::std::ptr::addr_of!((*ptr).limited_axes_imu_uncalibrated) as usize - ptr as usize
17411        },
17412        0usize,
17413        concat!(
17414            "Offset of field: ",
17415            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17416            "::",
17417            stringify!(limited_axes_imu_uncalibrated)
17418        )
17419    );
17420    assert_eq!(
17421        unsafe { ::std::ptr::addr_of!((*ptr).heading) as usize - ptr as usize },
17422        0usize,
17423        concat!(
17424            "Offset of field: ",
17425            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_1),
17426            "::",
17427            stringify!(heading)
17428        )
17429    );
17430}
17431#[repr(C)]
17432#[derive(Copy, Clone)]
17433pub union ASensorEvent__bindgen_ty_1__bindgen_ty_2 {
17434    pub data: [u64; 8usize],
17435    pub step_counter: u64,
17436}
17437#[test]
17438fn bindgen_test_layout_ASensorEvent__bindgen_ty_1__bindgen_ty_2() {
17439    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1__bindgen_ty_2> =
17440        ::std::mem::MaybeUninit::uninit();
17441    let ptr = UNINIT.as_ptr();
17442    assert_eq!(
17443        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
17444        64usize,
17445        concat!(
17446            "Size of: ",
17447            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
17448        )
17449    );
17450    assert_eq!(
17451        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1__bindgen_ty_2>(),
17452        4usize,
17453        concat!(
17454            "Alignment of ",
17455            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2)
17456        )
17457    );
17458    assert_eq!(
17459        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17460        0usize,
17461        concat!(
17462            "Offset of field: ",
17463            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
17464            "::",
17465            stringify!(data)
17466        )
17467    );
17468    assert_eq!(
17469        unsafe { ::std::ptr::addr_of!((*ptr).step_counter) as usize - ptr as usize },
17470        0usize,
17471        concat!(
17472            "Offset of field: ",
17473            stringify!(ASensorEvent__bindgen_ty_1__bindgen_ty_2),
17474            "::",
17475            stringify!(step_counter)
17476        )
17477    );
17478}
17479#[test]
17480fn bindgen_test_layout_ASensorEvent__bindgen_ty_1() {
17481    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent__bindgen_ty_1> =
17482        ::std::mem::MaybeUninit::uninit();
17483    let ptr = UNINIT.as_ptr();
17484    assert_eq!(
17485        ::std::mem::size_of::<ASensorEvent__bindgen_ty_1>(),
17486        64usize,
17487        concat!("Size of: ", stringify!(ASensorEvent__bindgen_ty_1))
17488    );
17489    assert_eq!(
17490        ::std::mem::align_of::<ASensorEvent__bindgen_ty_1>(),
17491        4usize,
17492        concat!("Alignment of ", stringify!(ASensorEvent__bindgen_ty_1))
17493    );
17494    assert_eq!(
17495        unsafe { ::std::ptr::addr_of!((*ptr).u64_) as usize - ptr as usize },
17496        0usize,
17497        concat!(
17498            "Offset of field: ",
17499            stringify!(ASensorEvent__bindgen_ty_1),
17500            "::",
17501            stringify!(u64_)
17502        )
17503    );
17504}
17505#[test]
17506fn bindgen_test_layout_ASensorEvent() {
17507    const UNINIT: ::std::mem::MaybeUninit<ASensorEvent> = ::std::mem::MaybeUninit::uninit();
17508    let ptr = UNINIT.as_ptr();
17509    assert_eq!(
17510        ::std::mem::size_of::<ASensorEvent>(),
17511        104usize,
17512        concat!("Size of: ", stringify!(ASensorEvent))
17513    );
17514    assert_eq!(
17515        ::std::mem::align_of::<ASensorEvent>(),
17516        4usize,
17517        concat!("Alignment of ", stringify!(ASensorEvent))
17518    );
17519    assert_eq!(
17520        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17521        0usize,
17522        concat!(
17523            "Offset of field: ",
17524            stringify!(ASensorEvent),
17525            "::",
17526            stringify!(version)
17527        )
17528    );
17529    assert_eq!(
17530        unsafe { ::std::ptr::addr_of!((*ptr).sensor) as usize - ptr as usize },
17531        4usize,
17532        concat!(
17533            "Offset of field: ",
17534            stringify!(ASensorEvent),
17535            "::",
17536            stringify!(sensor)
17537        )
17538    );
17539    assert_eq!(
17540        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
17541        8usize,
17542        concat!(
17543            "Offset of field: ",
17544            stringify!(ASensorEvent),
17545            "::",
17546            stringify!(type_)
17547        )
17548    );
17549    assert_eq!(
17550        unsafe { ::std::ptr::addr_of!((*ptr).reserved0) as usize - ptr as usize },
17551        12usize,
17552        concat!(
17553            "Offset of field: ",
17554            stringify!(ASensorEvent),
17555            "::",
17556            stringify!(reserved0)
17557        )
17558    );
17559    assert_eq!(
17560        unsafe { ::std::ptr::addr_of!((*ptr).timestamp) as usize - ptr as usize },
17561        16usize,
17562        concat!(
17563            "Offset of field: ",
17564            stringify!(ASensorEvent),
17565            "::",
17566            stringify!(timestamp)
17567        )
17568    );
17569    assert_eq!(
17570        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
17571        88usize,
17572        concat!(
17573            "Offset of field: ",
17574            stringify!(ASensorEvent),
17575            "::",
17576            stringify!(flags)
17577        )
17578    );
17579    assert_eq!(
17580        unsafe { ::std::ptr::addr_of!((*ptr).reserved1) as usize - ptr as usize },
17581        92usize,
17582        concat!(
17583            "Offset of field: ",
17584            stringify!(ASensorEvent),
17585            "::",
17586            stringify!(reserved1)
17587        )
17588    );
17589}
17590#[repr(C)]
17591#[derive(Debug, Copy, Clone)]
17592pub struct ASensorManager {
17593    _unused: [u8; 0],
17594}
17595#[repr(C)]
17596#[derive(Debug, Copy, Clone)]
17597pub struct ASensorEventQueue {
17598    _unused: [u8; 0],
17599}
17600#[repr(C)]
17601#[derive(Debug, Copy, Clone)]
17602pub struct ASensor {
17603    _unused: [u8; 0],
17604}
17605pub type ASensorRef = *const ASensor;
17606pub type ASensorList = *const ASensorRef;
17607extern "C" {
17608    pub fn ASensorManager_getInstance() -> *mut ASensorManager;
17609}
17610extern "C" {
17611    pub fn ASensorManager_getInstanceForPackage(
17612        packageName: *const ::std::os::raw::c_char,
17613    ) -> *mut ASensorManager;
17614}
17615extern "C" {
17616    pub fn ASensorManager_getSensorList(
17617        manager: *mut ASensorManager,
17618        list: *mut ASensorList,
17619    ) -> ::std::os::raw::c_int;
17620}
17621extern "C" {
17622    pub fn ASensorManager_getDynamicSensorList(
17623        manager: *mut ASensorManager,
17624        list: *mut ASensorList,
17625    ) -> isize;
17626}
17627extern "C" {
17628    pub fn ASensorManager_getDefaultSensor(
17629        manager: *mut ASensorManager,
17630        type_: ::std::os::raw::c_int,
17631    ) -> *const ASensor;
17632}
17633extern "C" {
17634    pub fn ASensorManager_getDefaultSensorEx(
17635        manager: *mut ASensorManager,
17636        type_: ::std::os::raw::c_int,
17637        wakeUp: bool,
17638    ) -> *const ASensor;
17639}
17640extern "C" {
17641    pub fn ASensorManager_createEventQueue(
17642        manager: *mut ASensorManager,
17643        looper: *mut ALooper,
17644        ident: ::std::os::raw::c_int,
17645        callback: ALooper_callbackFunc,
17646        data: *mut ::std::os::raw::c_void,
17647    ) -> *mut ASensorEventQueue;
17648}
17649extern "C" {
17650    pub fn ASensorManager_destroyEventQueue(
17651        manager: *mut ASensorManager,
17652        queue: *mut ASensorEventQueue,
17653    ) -> ::std::os::raw::c_int;
17654}
17655extern "C" {
17656    pub fn ASensorManager_createSharedMemoryDirectChannel(
17657        manager: *mut ASensorManager,
17658        fd: ::std::os::raw::c_int,
17659        size: usize,
17660    ) -> ::std::os::raw::c_int;
17661}
17662extern "C" {
17663    pub fn ASensorManager_createHardwareBufferDirectChannel(
17664        manager: *mut ASensorManager,
17665        buffer: *const AHardwareBuffer,
17666        size: usize,
17667    ) -> ::std::os::raw::c_int;
17668}
17669extern "C" {
17670    pub fn ASensorManager_destroyDirectChannel(
17671        manager: *mut ASensorManager,
17672        channelId: ::std::os::raw::c_int,
17673    );
17674}
17675extern "C" {
17676    pub fn ASensorManager_configureDirectReport(
17677        manager: *mut ASensorManager,
17678        sensor: *const ASensor,
17679        channelId: ::std::os::raw::c_int,
17680        rate: ::std::os::raw::c_int,
17681    ) -> ::std::os::raw::c_int;
17682}
17683extern "C" {
17684    pub fn ASensorEventQueue_registerSensor(
17685        queue: *mut ASensorEventQueue,
17686        sensor: *const ASensor,
17687        samplingPeriodUs: i32,
17688        maxBatchReportLatencyUs: i64,
17689    ) -> ::std::os::raw::c_int;
17690}
17691extern "C" {
17692    pub fn ASensorEventQueue_enableSensor(
17693        queue: *mut ASensorEventQueue,
17694        sensor: *const ASensor,
17695    ) -> ::std::os::raw::c_int;
17696}
17697extern "C" {
17698    pub fn ASensorEventQueue_disableSensor(
17699        queue: *mut ASensorEventQueue,
17700        sensor: *const ASensor,
17701    ) -> ::std::os::raw::c_int;
17702}
17703extern "C" {
17704    pub fn ASensorEventQueue_setEventRate(
17705        queue: *mut ASensorEventQueue,
17706        sensor: *const ASensor,
17707        usec: i32,
17708    ) -> ::std::os::raw::c_int;
17709}
17710extern "C" {
17711    pub fn ASensorEventQueue_hasEvents(queue: *mut ASensorEventQueue) -> ::std::os::raw::c_int;
17712}
17713extern "C" {
17714    pub fn ASensorEventQueue_getEvents(
17715        queue: *mut ASensorEventQueue,
17716        events: *mut ASensorEvent,
17717        count: usize,
17718    ) -> isize;
17719}
17720extern "C" {
17721    pub fn ASensorEventQueue_requestAdditionalInfoEvents(
17722        queue: *mut ASensorEventQueue,
17723        enable: bool,
17724    ) -> ::std::os::raw::c_int;
17725}
17726extern "C" {
17727    pub fn ASensor_getName(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
17728}
17729extern "C" {
17730    pub fn ASensor_getVendor(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
17731}
17732extern "C" {
17733    pub fn ASensor_getType(sensor: *const ASensor) -> ::std::os::raw::c_int;
17734}
17735extern "C" {
17736    pub fn ASensor_getResolution(sensor: *const ASensor) -> f32;
17737}
17738extern "C" {
17739    pub fn ASensor_getMinDelay(sensor: *const ASensor) -> ::std::os::raw::c_int;
17740}
17741extern "C" {
17742    pub fn ASensor_getFifoMaxEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
17743}
17744extern "C" {
17745    pub fn ASensor_getFifoReservedEventCount(sensor: *const ASensor) -> ::std::os::raw::c_int;
17746}
17747extern "C" {
17748    pub fn ASensor_getStringType(sensor: *const ASensor) -> *const ::std::os::raw::c_char;
17749}
17750extern "C" {
17751    pub fn ASensor_getReportingMode(sensor: *const ASensor) -> ::std::os::raw::c_int;
17752}
17753extern "C" {
17754    pub fn ASensor_isWakeUpSensor(sensor: *const ASensor) -> bool;
17755}
17756extern "C" {
17757    pub fn ASensor_isDirectChannelTypeSupported(
17758        sensor: *const ASensor,
17759        channelType: ::std::os::raw::c_int,
17760    ) -> bool;
17761}
17762extern "C" {
17763    pub fn ASensor_getHighestDirectReportRateLevel(sensor: *const ASensor)
17764        -> ::std::os::raw::c_int;
17765}
17766extern "C" {
17767    pub fn ASensor_getHandle(sensor: *const ASensor) -> ::std::os::raw::c_int;
17768}
17769extern "C" {
17770    pub fn strcasecmp(
17771        __s1: *const ::std::os::raw::c_char,
17772        __s2: *const ::std::os::raw::c_char,
17773    ) -> ::std::os::raw::c_int;
17774}
17775extern "C" {
17776    pub fn strcasecmp_l(
17777        __s1: *const ::std::os::raw::c_char,
17778        __s2: *const ::std::os::raw::c_char,
17779        __l: locale_t,
17780    ) -> ::std::os::raw::c_int;
17781}
17782extern "C" {
17783    pub fn strncasecmp(
17784        __s1: *const ::std::os::raw::c_char,
17785        __s2: *const ::std::os::raw::c_char,
17786        __n: ::std::os::raw::c_uint,
17787    ) -> ::std::os::raw::c_int;
17788}
17789extern "C" {
17790    pub fn strncasecmp_l(
17791        __s1: *const ::std::os::raw::c_char,
17792        __s2: *const ::std::os::raw::c_char,
17793        __n: usize,
17794        __l: locale_t,
17795    ) -> ::std::os::raw::c_int;
17796}
17797extern "C" {
17798    pub fn memccpy(
17799        __dst: *mut ::std::os::raw::c_void,
17800        __src: *const ::std::os::raw::c_void,
17801        __stop_char: ::std::os::raw::c_int,
17802        __n: ::std::os::raw::c_uint,
17803    ) -> *mut ::std::os::raw::c_void;
17804}
17805extern "C" {
17806    pub fn memchr(
17807        __s: *const ::std::os::raw::c_void,
17808        __ch: ::std::os::raw::c_int,
17809        __n: ::std::os::raw::c_uint,
17810    ) -> *mut ::std::os::raw::c_void;
17811}
17812extern "C" {
17813    pub fn memrchr(
17814        __s: *const ::std::os::raw::c_void,
17815        __ch: ::std::os::raw::c_int,
17816        __n: usize,
17817    ) -> *mut ::std::os::raw::c_void;
17818}
17819extern "C" {
17820    pub fn memcmp(
17821        __lhs: *const ::std::os::raw::c_void,
17822        __rhs: *const ::std::os::raw::c_void,
17823        __n: ::std::os::raw::c_uint,
17824    ) -> ::std::os::raw::c_int;
17825}
17826extern "C" {
17827    pub fn memcpy(
17828        arg1: *mut ::std::os::raw::c_void,
17829        arg2: *const ::std::os::raw::c_void,
17830        arg3: ::std::os::raw::c_uint,
17831    ) -> *mut ::std::os::raw::c_void;
17832}
17833extern "C" {
17834    pub fn memmove(
17835        __dst: *mut ::std::os::raw::c_void,
17836        __src: *const ::std::os::raw::c_void,
17837        __n: ::std::os::raw::c_uint,
17838    ) -> *mut ::std::os::raw::c_void;
17839}
17840extern "C" {
17841    pub fn memset(
17842        __dst: *mut ::std::os::raw::c_void,
17843        __ch: ::std::os::raw::c_int,
17844        __n: ::std::os::raw::c_uint,
17845    ) -> *mut ::std::os::raw::c_void;
17846}
17847extern "C" {
17848    pub fn memset_explicit(
17849        __dst: *mut ::std::os::raw::c_void,
17850        __ch: ::std::os::raw::c_int,
17851        __n: usize,
17852    ) -> *mut ::std::os::raw::c_void;
17853}
17854extern "C" {
17855    pub fn memmem(
17856        __haystack: *const ::std::os::raw::c_void,
17857        __haystack_size: usize,
17858        __needle: *const ::std::os::raw::c_void,
17859        __needle_size: usize,
17860    ) -> *mut ::std::os::raw::c_void;
17861}
17862extern "C" {
17863    pub fn strchr(
17864        __s: *const ::std::os::raw::c_char,
17865        __ch: ::std::os::raw::c_int,
17866    ) -> *mut ::std::os::raw::c_char;
17867}
17868extern "C" {
17869    pub fn __strchr_chk(
17870        __s: *const ::std::os::raw::c_char,
17871        __ch: ::std::os::raw::c_int,
17872        __n: usize,
17873    ) -> *mut ::std::os::raw::c_char;
17874}
17875extern "C" {
17876    pub fn strrchr(
17877        __s: *const ::std::os::raw::c_char,
17878        __ch: ::std::os::raw::c_int,
17879    ) -> *mut ::std::os::raw::c_char;
17880}
17881extern "C" {
17882    pub fn __strrchr_chk(
17883        __s: *const ::std::os::raw::c_char,
17884        __ch: ::std::os::raw::c_int,
17885        __n: usize,
17886    ) -> *mut ::std::os::raw::c_char;
17887}
17888extern "C" {
17889    pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_uint;
17890}
17891extern "C" {
17892    pub fn __strlen_chk(__s: *const ::std::os::raw::c_char, __n: usize) -> usize;
17893}
17894extern "C" {
17895    pub fn strcmp(
17896        __lhs: *const ::std::os::raw::c_char,
17897        __rhs: *const ::std::os::raw::c_char,
17898    ) -> ::std::os::raw::c_int;
17899}
17900extern "C" {
17901    pub fn stpcpy(
17902        __dst: *mut ::std::os::raw::c_char,
17903        __src: *const ::std::os::raw::c_char,
17904    ) -> *mut ::std::os::raw::c_char;
17905}
17906extern "C" {
17907    pub fn strcpy(
17908        __dst: *mut ::std::os::raw::c_char,
17909        __src: *const ::std::os::raw::c_char,
17910    ) -> *mut ::std::os::raw::c_char;
17911}
17912extern "C" {
17913    pub fn strcat(
17914        __dst: *mut ::std::os::raw::c_char,
17915        __src: *const ::std::os::raw::c_char,
17916    ) -> *mut ::std::os::raw::c_char;
17917}
17918extern "C" {
17919    pub fn strdup(__s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
17920}
17921extern "C" {
17922    pub fn strstr(
17923        __haystack: *const ::std::os::raw::c_char,
17924        __needle: *const ::std::os::raw::c_char,
17925    ) -> *mut ::std::os::raw::c_char;
17926}
17927extern "C" {
17928    pub fn strcasestr(
17929        __haystack: *const ::std::os::raw::c_char,
17930        __needle: *const ::std::os::raw::c_char,
17931    ) -> *mut ::std::os::raw::c_char;
17932}
17933extern "C" {
17934    pub fn strtok(
17935        __s: *mut ::std::os::raw::c_char,
17936        __delimiter: *const ::std::os::raw::c_char,
17937    ) -> *mut ::std::os::raw::c_char;
17938}
17939extern "C" {
17940    pub fn strtok_r(
17941        __s: *mut ::std::os::raw::c_char,
17942        __delimiter: *const ::std::os::raw::c_char,
17943        __pos_ptr: *mut *mut ::std::os::raw::c_char,
17944    ) -> *mut ::std::os::raw::c_char;
17945}
17946extern "C" {
17947    pub fn strerror(__errno_value: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
17948}
17949extern "C" {
17950    pub fn strerror_l(
17951        __errno_value: ::std::os::raw::c_int,
17952        __l: locale_t,
17953    ) -> *mut ::std::os::raw::c_char;
17954}
17955extern "C" {
17956    pub fn strerror_r(
17957        __errno_value: ::std::os::raw::c_int,
17958        __buf: *mut ::std::os::raw::c_char,
17959        __n: usize,
17960    ) -> ::std::os::raw::c_int;
17961}
17962extern "C" {
17963    pub fn strnlen(__s: *const ::std::os::raw::c_char, __n: usize) -> usize;
17964}
17965extern "C" {
17966    pub fn strncat(
17967        __dst: *mut ::std::os::raw::c_char,
17968        __src: *const ::std::os::raw::c_char,
17969        __n: ::std::os::raw::c_uint,
17970    ) -> *mut ::std::os::raw::c_char;
17971}
17972extern "C" {
17973    pub fn strndup(
17974        __s: *const ::std::os::raw::c_char,
17975        __n: ::std::os::raw::c_uint,
17976    ) -> *mut ::std::os::raw::c_char;
17977}
17978extern "C" {
17979    pub fn strncmp(
17980        __lhs: *const ::std::os::raw::c_char,
17981        __rhs: *const ::std::os::raw::c_char,
17982        __n: ::std::os::raw::c_uint,
17983    ) -> ::std::os::raw::c_int;
17984}
17985extern "C" {
17986    pub fn stpncpy(
17987        __dst: *mut ::std::os::raw::c_char,
17988        __src: *const ::std::os::raw::c_char,
17989        __n: ::std::os::raw::c_uint,
17990    ) -> *mut ::std::os::raw::c_char;
17991}
17992extern "C" {
17993    pub fn strncpy(
17994        __dst: *mut ::std::os::raw::c_char,
17995        __src: *const ::std::os::raw::c_char,
17996        __n: ::std::os::raw::c_uint,
17997    ) -> *mut ::std::os::raw::c_char;
17998}
17999extern "C" {
18000    pub fn strlcat(
18001        __dst: *mut ::std::os::raw::c_char,
18002        __src: *const ::std::os::raw::c_char,
18003        __n: ::std::os::raw::c_uint,
18004    ) -> ::std::os::raw::c_uint;
18005}
18006extern "C" {
18007    pub fn strlcpy(
18008        __dst: *mut ::std::os::raw::c_char,
18009        __src: *const ::std::os::raw::c_char,
18010        __n: ::std::os::raw::c_uint,
18011    ) -> ::std::os::raw::c_uint;
18012}
18013extern "C" {
18014    pub fn strcspn(
18015        __s: *const ::std::os::raw::c_char,
18016        __reject: *const ::std::os::raw::c_char,
18017    ) -> ::std::os::raw::c_uint;
18018}
18019extern "C" {
18020    pub fn strpbrk(
18021        __s: *const ::std::os::raw::c_char,
18022        __accept: *const ::std::os::raw::c_char,
18023    ) -> *mut ::std::os::raw::c_char;
18024}
18025extern "C" {
18026    pub fn strsep(
18027        __s_ptr: *mut *mut ::std::os::raw::c_char,
18028        __delimiter: *const ::std::os::raw::c_char,
18029    ) -> *mut ::std::os::raw::c_char;
18030}
18031extern "C" {
18032    pub fn strspn(
18033        __s: *const ::std::os::raw::c_char,
18034        __accept: *const ::std::os::raw::c_char,
18035    ) -> ::std::os::raw::c_uint;
18036}
18037extern "C" {
18038    pub fn strsignal(__signal: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
18039}
18040extern "C" {
18041    pub fn strcoll(
18042        __lhs: *const ::std::os::raw::c_char,
18043        __rhs: *const ::std::os::raw::c_char,
18044    ) -> ::std::os::raw::c_int;
18045}
18046extern "C" {
18047    pub fn strxfrm(
18048        __dst: *mut ::std::os::raw::c_char,
18049        __src: *const ::std::os::raw::c_char,
18050        __n: ::std::os::raw::c_uint,
18051    ) -> ::std::os::raw::c_uint;
18052}
18053extern "C" {
18054    pub fn strcoll_l(
18055        __lhs: *const ::std::os::raw::c_char,
18056        __rhs: *const ::std::os::raw::c_char,
18057        __l: locale_t,
18058    ) -> ::std::os::raw::c_int;
18059}
18060extern "C" {
18061    pub fn strxfrm_l(
18062        __dst: *mut ::std::os::raw::c_char,
18063        __src: *const ::std::os::raw::c_char,
18064        __n: usize,
18065        __l: locale_t,
18066    ) -> usize;
18067}
18068#[repr(C)]
18069#[derive(Debug, Copy, Clone)]
18070pub struct crash_detail_t {
18071    _unused: [u8; 0],
18072}
18073extern "C" {
18074    pub fn android_set_abort_message(__msg: *const ::std::os::raw::c_char);
18075}
18076extern "C" {
18077    pub fn ASharedMemory_create(
18078        name: *const ::std::os::raw::c_char,
18079        size: usize,
18080    ) -> ::std::os::raw::c_int;
18081}
18082extern "C" {
18083    pub fn ASharedMemory_getSize(fd: ::std::os::raw::c_int) -> usize;
18084}
18085extern "C" {
18086    pub fn ASharedMemory_setProt(
18087        fd: ::std::os::raw::c_int,
18088        prot: ::std::os::raw::c_int,
18089    ) -> ::std::os::raw::c_int;
18090}
18091extern "C" {
18092    pub fn ASharedMemory_dupFromJava(
18093        env: *mut JNIEnv,
18094        sharedMemory: jobject,
18095    ) -> ::std::os::raw::c_int;
18096}
18097#[repr(C)]
18098#[derive(Debug, Copy, Clone)]
18099pub struct AStorageManager {
18100    _unused: [u8; 0],
18101}
18102pub const AOBB_STATE_MOUNTED: _bindgen_ty_47 = 1;
18103pub const AOBB_STATE_UNMOUNTED: _bindgen_ty_47 = 2;
18104pub const AOBB_STATE_ERROR_INTERNAL: _bindgen_ty_47 = 20;
18105pub const AOBB_STATE_ERROR_COULD_NOT_MOUNT: _bindgen_ty_47 = 21;
18106pub const AOBB_STATE_ERROR_COULD_NOT_UNMOUNT: _bindgen_ty_47 = 22;
18107pub const AOBB_STATE_ERROR_NOT_MOUNTED: _bindgen_ty_47 = 23;
18108pub const AOBB_STATE_ERROR_ALREADY_MOUNTED: _bindgen_ty_47 = 24;
18109pub const AOBB_STATE_ERROR_PERMISSION_DENIED: _bindgen_ty_47 = 25;
18110pub type _bindgen_ty_47 = ::std::os::raw::c_uint;
18111extern "C" {
18112    pub fn AStorageManager_new() -> *mut AStorageManager;
18113}
18114extern "C" {
18115    pub fn AStorageManager_delete(mgr: *mut AStorageManager);
18116}
18117pub type AStorageManager_obbCallbackFunc = ::std::option::Option<
18118    unsafe extern "C" fn(
18119        filename: *const ::std::os::raw::c_char,
18120        state: i32,
18121        data: *mut ::std::os::raw::c_void,
18122    ),
18123>;
18124extern "C" {
18125    pub fn AStorageManager_mountObb(
18126        mgr: *mut AStorageManager,
18127        filename: *const ::std::os::raw::c_char,
18128        key: *const ::std::os::raw::c_char,
18129        cb: AStorageManager_obbCallbackFunc,
18130        data: *mut ::std::os::raw::c_void,
18131    );
18132}
18133extern "C" {
18134    pub fn AStorageManager_unmountObb(
18135        mgr: *mut AStorageManager,
18136        filename: *const ::std::os::raw::c_char,
18137        force: ::std::os::raw::c_int,
18138        cb: AStorageManager_obbCallbackFunc,
18139        data: *mut ::std::os::raw::c_void,
18140    );
18141}
18142extern "C" {
18143    pub fn AStorageManager_isObbMounted(
18144        mgr: *mut AStorageManager,
18145        filename: *const ::std::os::raw::c_char,
18146    ) -> ::std::os::raw::c_int;
18147}
18148extern "C" {
18149    pub fn AStorageManager_getMountedObbPath(
18150        mgr: *mut AStorageManager,
18151        filename: *const ::std::os::raw::c_char,
18152    ) -> *const ::std::os::raw::c_char;
18153}
18154#[repr(C)]
18155#[derive(Debug, Copy, Clone)]
18156pub struct ASurfaceTexture {
18157    _unused: [u8; 0],
18158}
18159extern "C" {
18160    pub fn ASurfaceTexture_release(st: *mut ASurfaceTexture);
18161}
18162extern "C" {
18163    pub fn ASurfaceTexture_acquireANativeWindow(st: *mut ASurfaceTexture) -> *mut ANativeWindow;
18164}
18165extern "C" {
18166    pub fn ASurfaceTexture_attachToGLContext(
18167        st: *mut ASurfaceTexture,
18168        texName: u32,
18169    ) -> ::std::os::raw::c_int;
18170}
18171extern "C" {
18172    pub fn ASurfaceTexture_detachFromGLContext(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
18173}
18174extern "C" {
18175    pub fn ASurfaceTexture_updateTexImage(st: *mut ASurfaceTexture) -> ::std::os::raw::c_int;
18176}
18177extern "C" {
18178    pub fn ASurfaceTexture_getTransformMatrix(st: *mut ASurfaceTexture, mtx: *mut f32);
18179}
18180extern "C" {
18181    pub fn ASurfaceTexture_getTimestamp(st: *mut ASurfaceTexture) -> i64;
18182}
18183extern "C" {
18184    pub fn ASurfaceTexture_fromSurfaceTexture(
18185        env: *mut JNIEnv,
18186        surfacetexture: jobject,
18187    ) -> *mut ASurfaceTexture;
18188}
18189#[repr(C)]
18190#[derive(Debug, Copy, Clone)]
18191pub struct sync_merge_data {
18192    pub name: [::std::os::raw::c_char; 32usize],
18193    pub fd2: __s32,
18194    pub fence: __s32,
18195    pub flags: __u32,
18196    pub pad: __u32,
18197}
18198#[test]
18199fn bindgen_test_layout_sync_merge_data() {
18200    const UNINIT: ::std::mem::MaybeUninit<sync_merge_data> = ::std::mem::MaybeUninit::uninit();
18201    let ptr = UNINIT.as_ptr();
18202    assert_eq!(
18203        ::std::mem::size_of::<sync_merge_data>(),
18204        48usize,
18205        concat!("Size of: ", stringify!(sync_merge_data))
18206    );
18207    assert_eq!(
18208        ::std::mem::align_of::<sync_merge_data>(),
18209        4usize,
18210        concat!("Alignment of ", stringify!(sync_merge_data))
18211    );
18212    assert_eq!(
18213        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
18214        0usize,
18215        concat!(
18216            "Offset of field: ",
18217            stringify!(sync_merge_data),
18218            "::",
18219            stringify!(name)
18220        )
18221    );
18222    assert_eq!(
18223        unsafe { ::std::ptr::addr_of!((*ptr).fd2) as usize - ptr as usize },
18224        32usize,
18225        concat!(
18226            "Offset of field: ",
18227            stringify!(sync_merge_data),
18228            "::",
18229            stringify!(fd2)
18230        )
18231    );
18232    assert_eq!(
18233        unsafe { ::std::ptr::addr_of!((*ptr).fence) as usize - ptr as usize },
18234        36usize,
18235        concat!(
18236            "Offset of field: ",
18237            stringify!(sync_merge_data),
18238            "::",
18239            stringify!(fence)
18240        )
18241    );
18242    assert_eq!(
18243        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
18244        40usize,
18245        concat!(
18246            "Offset of field: ",
18247            stringify!(sync_merge_data),
18248            "::",
18249            stringify!(flags)
18250        )
18251    );
18252    assert_eq!(
18253        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
18254        44usize,
18255        concat!(
18256            "Offset of field: ",
18257            stringify!(sync_merge_data),
18258            "::",
18259            stringify!(pad)
18260        )
18261    );
18262}
18263#[repr(C)]
18264#[derive(Debug, Copy, Clone)]
18265pub struct sync_fence_info {
18266    pub obj_name: [::std::os::raw::c_char; 32usize],
18267    pub driver_name: [::std::os::raw::c_char; 32usize],
18268    pub status: __s32,
18269    pub flags: __u32,
18270    pub timestamp_ns: __u64,
18271}
18272#[test]
18273fn bindgen_test_layout_sync_fence_info() {
18274    const UNINIT: ::std::mem::MaybeUninit<sync_fence_info> = ::std::mem::MaybeUninit::uninit();
18275    let ptr = UNINIT.as_ptr();
18276    assert_eq!(
18277        ::std::mem::size_of::<sync_fence_info>(),
18278        80usize,
18279        concat!("Size of: ", stringify!(sync_fence_info))
18280    );
18281    assert_eq!(
18282        ::std::mem::align_of::<sync_fence_info>(),
18283        4usize,
18284        concat!("Alignment of ", stringify!(sync_fence_info))
18285    );
18286    assert_eq!(
18287        unsafe { ::std::ptr::addr_of!((*ptr).obj_name) as usize - ptr as usize },
18288        0usize,
18289        concat!(
18290            "Offset of field: ",
18291            stringify!(sync_fence_info),
18292            "::",
18293            stringify!(obj_name)
18294        )
18295    );
18296    assert_eq!(
18297        unsafe { ::std::ptr::addr_of!((*ptr).driver_name) as usize - ptr as usize },
18298        32usize,
18299        concat!(
18300            "Offset of field: ",
18301            stringify!(sync_fence_info),
18302            "::",
18303            stringify!(driver_name)
18304        )
18305    );
18306    assert_eq!(
18307        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
18308        64usize,
18309        concat!(
18310            "Offset of field: ",
18311            stringify!(sync_fence_info),
18312            "::",
18313            stringify!(status)
18314        )
18315    );
18316    assert_eq!(
18317        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
18318        68usize,
18319        concat!(
18320            "Offset of field: ",
18321            stringify!(sync_fence_info),
18322            "::",
18323            stringify!(flags)
18324        )
18325    );
18326    assert_eq!(
18327        unsafe { ::std::ptr::addr_of!((*ptr).timestamp_ns) as usize - ptr as usize },
18328        72usize,
18329        concat!(
18330            "Offset of field: ",
18331            stringify!(sync_fence_info),
18332            "::",
18333            stringify!(timestamp_ns)
18334        )
18335    );
18336}
18337#[repr(C)]
18338#[derive(Debug, Copy, Clone)]
18339pub struct sync_file_info {
18340    pub name: [::std::os::raw::c_char; 32usize],
18341    pub status: __s32,
18342    pub flags: __u32,
18343    pub num_fences: __u32,
18344    pub pad: __u32,
18345    pub sync_fence_info: __u64,
18346}
18347#[test]
18348fn bindgen_test_layout_sync_file_info() {
18349    const UNINIT: ::std::mem::MaybeUninit<sync_file_info> = ::std::mem::MaybeUninit::uninit();
18350    let ptr = UNINIT.as_ptr();
18351    assert_eq!(
18352        ::std::mem::size_of::<sync_file_info>(),
18353        56usize,
18354        concat!("Size of: ", stringify!(sync_file_info))
18355    );
18356    assert_eq!(
18357        ::std::mem::align_of::<sync_file_info>(),
18358        4usize,
18359        concat!("Alignment of ", stringify!(sync_file_info))
18360    );
18361    assert_eq!(
18362        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
18363        0usize,
18364        concat!(
18365            "Offset of field: ",
18366            stringify!(sync_file_info),
18367            "::",
18368            stringify!(name)
18369        )
18370    );
18371    assert_eq!(
18372        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
18373        32usize,
18374        concat!(
18375            "Offset of field: ",
18376            stringify!(sync_file_info),
18377            "::",
18378            stringify!(status)
18379        )
18380    );
18381    assert_eq!(
18382        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
18383        36usize,
18384        concat!(
18385            "Offset of field: ",
18386            stringify!(sync_file_info),
18387            "::",
18388            stringify!(flags)
18389        )
18390    );
18391    assert_eq!(
18392        unsafe { ::std::ptr::addr_of!((*ptr).num_fences) as usize - ptr as usize },
18393        40usize,
18394        concat!(
18395            "Offset of field: ",
18396            stringify!(sync_file_info),
18397            "::",
18398            stringify!(num_fences)
18399        )
18400    );
18401    assert_eq!(
18402        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
18403        44usize,
18404        concat!(
18405            "Offset of field: ",
18406            stringify!(sync_file_info),
18407            "::",
18408            stringify!(pad)
18409        )
18410    );
18411    assert_eq!(
18412        unsafe { ::std::ptr::addr_of!((*ptr).sync_fence_info) as usize - ptr as usize },
18413        48usize,
18414        concat!(
18415            "Offset of field: ",
18416            stringify!(sync_file_info),
18417            "::",
18418            stringify!(sync_fence_info)
18419        )
18420    );
18421}
18422#[repr(C)]
18423#[derive(Debug, Copy, Clone)]
18424pub struct sync_set_deadline {
18425    pub deadline_ns: __u64,
18426    pub pad: __u64,
18427}
18428#[test]
18429fn bindgen_test_layout_sync_set_deadline() {
18430    const UNINIT: ::std::mem::MaybeUninit<sync_set_deadline> = ::std::mem::MaybeUninit::uninit();
18431    let ptr = UNINIT.as_ptr();
18432    assert_eq!(
18433        ::std::mem::size_of::<sync_set_deadline>(),
18434        16usize,
18435        concat!("Size of: ", stringify!(sync_set_deadline))
18436    );
18437    assert_eq!(
18438        ::std::mem::align_of::<sync_set_deadline>(),
18439        4usize,
18440        concat!("Alignment of ", stringify!(sync_set_deadline))
18441    );
18442    assert_eq!(
18443        unsafe { ::std::ptr::addr_of!((*ptr).deadline_ns) as usize - ptr as usize },
18444        0usize,
18445        concat!(
18446            "Offset of field: ",
18447            stringify!(sync_set_deadline),
18448            "::",
18449            stringify!(deadline_ns)
18450        )
18451    );
18452    assert_eq!(
18453        unsafe { ::std::ptr::addr_of!((*ptr).pad) as usize - ptr as usize },
18454        8usize,
18455        concat!(
18456            "Offset of field: ",
18457            stringify!(sync_set_deadline),
18458            "::",
18459            stringify!(pad)
18460        )
18461    );
18462}
18463extern "C" {
18464    pub fn sync_merge(name: *const ::std::os::raw::c_char, fd1: i32, fd2: i32) -> i32;
18465}
18466extern "C" {
18467    pub fn sync_file_info(fd: i32) -> *mut sync_file_info;
18468}
18469extern "C" {
18470    pub fn sync_file_info_free(info: *mut sync_file_info);
18471}
18472#[repr(C)]
18473#[derive(Debug, Copy, Clone)]
18474pub struct ASystemFontIterator {
18475    _unused: [u8; 0],
18476}
18477extern "C" {
18478    pub fn ASystemFontIterator_open() -> *mut ASystemFontIterator;
18479}
18480extern "C" {
18481    pub fn ASystemFontIterator_close(iterator: *mut ASystemFontIterator);
18482}
18483extern "C" {
18484    pub fn ASystemFontIterator_next(iterator: *mut ASystemFontIterator) -> *mut AFont;
18485}
18486extern "C" {
18487    pub fn ATrace_isEnabled() -> bool;
18488}
18489extern "C" {
18490    pub fn ATrace_beginSection(sectionName: *const ::std::os::raw::c_char);
18491}
18492extern "C" {
18493    pub fn ATrace_endSection();
18494}
18495extern "C" {
18496    pub fn ATrace_beginAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
18497}
18498extern "C" {
18499    pub fn ATrace_endAsyncSection(sectionName: *const ::std::os::raw::c_char, cookie: i32);
18500}
18501extern "C" {
18502    pub fn ATrace_setCounter(counterName: *const ::std::os::raw::c_char, counterValue: i64);
18503}
18504pub const AWINDOW_FLAG_ALLOW_LOCK_WHILE_SCREEN_ON: _bindgen_ty_48 = 1;
18505pub const AWINDOW_FLAG_DIM_BEHIND: _bindgen_ty_48 = 2;
18506pub const AWINDOW_FLAG_BLUR_BEHIND: _bindgen_ty_48 = 4;
18507pub const AWINDOW_FLAG_NOT_FOCUSABLE: _bindgen_ty_48 = 8;
18508pub const AWINDOW_FLAG_NOT_TOUCHABLE: _bindgen_ty_48 = 16;
18509pub const AWINDOW_FLAG_NOT_TOUCH_MODAL: _bindgen_ty_48 = 32;
18510pub const AWINDOW_FLAG_TOUCHABLE_WHEN_WAKING: _bindgen_ty_48 = 64;
18511pub const AWINDOW_FLAG_KEEP_SCREEN_ON: _bindgen_ty_48 = 128;
18512pub const AWINDOW_FLAG_LAYOUT_IN_SCREEN: _bindgen_ty_48 = 256;
18513pub const AWINDOW_FLAG_LAYOUT_NO_LIMITS: _bindgen_ty_48 = 512;
18514pub const AWINDOW_FLAG_FULLSCREEN: _bindgen_ty_48 = 1024;
18515pub const AWINDOW_FLAG_FORCE_NOT_FULLSCREEN: _bindgen_ty_48 = 2048;
18516pub const AWINDOW_FLAG_DITHER: _bindgen_ty_48 = 4096;
18517pub const AWINDOW_FLAG_SECURE: _bindgen_ty_48 = 8192;
18518pub const AWINDOW_FLAG_SCALED: _bindgen_ty_48 = 16384;
18519pub const AWINDOW_FLAG_IGNORE_CHEEK_PRESSES: _bindgen_ty_48 = 32768;
18520pub const AWINDOW_FLAG_LAYOUT_INSET_DECOR: _bindgen_ty_48 = 65536;
18521pub const AWINDOW_FLAG_ALT_FOCUSABLE_IM: _bindgen_ty_48 = 131072;
18522pub const AWINDOW_FLAG_WATCH_OUTSIDE_TOUCH: _bindgen_ty_48 = 262144;
18523pub const AWINDOW_FLAG_SHOW_WHEN_LOCKED: _bindgen_ty_48 = 524288;
18524pub const AWINDOW_FLAG_SHOW_WALLPAPER: _bindgen_ty_48 = 1048576;
18525pub const AWINDOW_FLAG_TURN_SCREEN_ON: _bindgen_ty_48 = 2097152;
18526pub const AWINDOW_FLAG_DISMISS_KEYGUARD: _bindgen_ty_48 = 4194304;
18527pub type _bindgen_ty_48 = ::std::os::raw::c_uint;
18528extern "C" {
18529    pub fn gettimeofday(__tv: *mut timeval, __tz: *mut timezone) -> ::std::os::raw::c_int;
18530}
18531extern "C" {
18532    pub fn settimeofday(__tv: *const timeval, __tz: *const timezone) -> ::std::os::raw::c_int;
18533}
18534extern "C" {
18535    pub fn getitimer(
18536        __which: ::std::os::raw::c_int,
18537        __current_value: *mut itimerval,
18538    ) -> ::std::os::raw::c_int;
18539}
18540extern "C" {
18541    pub fn setitimer(
18542        __which: ::std::os::raw::c_int,
18543        __new_value: *const itimerval,
18544        __old_value: *mut itimerval,
18545    ) -> ::std::os::raw::c_int;
18546}
18547extern "C" {
18548    pub fn utimes(
18549        __path: *const ::std::os::raw::c_char,
18550        __times: *const timeval,
18551    ) -> ::std::os::raw::c_int;
18552}
18553#[repr(C)]
18554#[derive(Debug, Copy, Clone)]
18555pub struct __timezone_t {
18556    _unused: [u8; 0],
18557}
18558pub type timezone_t = *mut __timezone_t;
18559extern "C" {
18560    pub static mut tzname: [*mut ::std::os::raw::c_char; 0usize];
18561}
18562extern "C" {
18563    pub static mut daylight: ::std::os::raw::c_int;
18564}
18565extern "C" {
18566    pub static mut timezone: ::std::os::raw::c_long;
18567}
18568#[repr(C)]
18569#[derive(Debug, Copy, Clone)]
18570pub struct tm {
18571    pub tm_sec: ::std::os::raw::c_int,
18572    pub tm_min: ::std::os::raw::c_int,
18573    pub tm_hour: ::std::os::raw::c_int,
18574    pub tm_mday: ::std::os::raw::c_int,
18575    pub tm_mon: ::std::os::raw::c_int,
18576    pub tm_year: ::std::os::raw::c_int,
18577    pub tm_wday: ::std::os::raw::c_int,
18578    pub tm_yday: ::std::os::raw::c_int,
18579    pub tm_isdst: ::std::os::raw::c_int,
18580    pub tm_gmtoff: ::std::os::raw::c_long,
18581    pub tm_zone: *const ::std::os::raw::c_char,
18582}
18583#[test]
18584fn bindgen_test_layout_tm() {
18585    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
18586    let ptr = UNINIT.as_ptr();
18587    assert_eq!(
18588        ::std::mem::size_of::<tm>(),
18589        44usize,
18590        concat!("Size of: ", stringify!(tm))
18591    );
18592    assert_eq!(
18593        ::std::mem::align_of::<tm>(),
18594        4usize,
18595        concat!("Alignment of ", stringify!(tm))
18596    );
18597    assert_eq!(
18598        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
18599        0usize,
18600        concat!(
18601            "Offset of field: ",
18602            stringify!(tm),
18603            "::",
18604            stringify!(tm_sec)
18605        )
18606    );
18607    assert_eq!(
18608        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
18609        4usize,
18610        concat!(
18611            "Offset of field: ",
18612            stringify!(tm),
18613            "::",
18614            stringify!(tm_min)
18615        )
18616    );
18617    assert_eq!(
18618        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
18619        8usize,
18620        concat!(
18621            "Offset of field: ",
18622            stringify!(tm),
18623            "::",
18624            stringify!(tm_hour)
18625        )
18626    );
18627    assert_eq!(
18628        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
18629        12usize,
18630        concat!(
18631            "Offset of field: ",
18632            stringify!(tm),
18633            "::",
18634            stringify!(tm_mday)
18635        )
18636    );
18637    assert_eq!(
18638        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
18639        16usize,
18640        concat!(
18641            "Offset of field: ",
18642            stringify!(tm),
18643            "::",
18644            stringify!(tm_mon)
18645        )
18646    );
18647    assert_eq!(
18648        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
18649        20usize,
18650        concat!(
18651            "Offset of field: ",
18652            stringify!(tm),
18653            "::",
18654            stringify!(tm_year)
18655        )
18656    );
18657    assert_eq!(
18658        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
18659        24usize,
18660        concat!(
18661            "Offset of field: ",
18662            stringify!(tm),
18663            "::",
18664            stringify!(tm_wday)
18665        )
18666    );
18667    assert_eq!(
18668        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
18669        28usize,
18670        concat!(
18671            "Offset of field: ",
18672            stringify!(tm),
18673            "::",
18674            stringify!(tm_yday)
18675        )
18676    );
18677    assert_eq!(
18678        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
18679        32usize,
18680        concat!(
18681            "Offset of field: ",
18682            stringify!(tm),
18683            "::",
18684            stringify!(tm_isdst)
18685        )
18686    );
18687    assert_eq!(
18688        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
18689        36usize,
18690        concat!(
18691            "Offset of field: ",
18692            stringify!(tm),
18693            "::",
18694            stringify!(tm_gmtoff)
18695        )
18696    );
18697    assert_eq!(
18698        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
18699        40usize,
18700        concat!(
18701            "Offset of field: ",
18702            stringify!(tm),
18703            "::",
18704            stringify!(tm_zone)
18705        )
18706    );
18707}
18708extern "C" {
18709    pub fn time(__t: *mut time_t) -> time_t;
18710}
18711extern "C" {
18712    pub fn nanosleep(
18713        __duration: *const timespec,
18714        __remainder: *mut timespec,
18715    ) -> ::std::os::raw::c_int;
18716}
18717extern "C" {
18718    pub fn asctime(__tm: *const tm) -> *mut ::std::os::raw::c_char;
18719}
18720extern "C" {
18721    pub fn asctime_r(
18722        __tm: *const tm,
18723        __buf: *mut ::std::os::raw::c_char,
18724    ) -> *mut ::std::os::raw::c_char;
18725}
18726extern "C" {
18727    pub fn difftime(__lhs: time_t, __rhs: time_t) -> f64;
18728}
18729extern "C" {
18730    pub fn mktime(__tm: *mut tm) -> time_t;
18731}
18732extern "C" {
18733    pub fn mktime_z(__tz: timezone_t, __tm: *mut tm) -> time_t;
18734}
18735extern "C" {
18736    pub fn localtime(__t: *const time_t) -> *mut tm;
18737}
18738extern "C" {
18739    pub fn localtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
18740}
18741extern "C" {
18742    pub fn localtime_rz(__tz: timezone_t, __t: *const time_t, __tm: *mut tm) -> *mut tm;
18743}
18744extern "C" {
18745    pub fn timelocal(__tm: *mut tm) -> time_t;
18746}
18747extern "C" {
18748    pub fn gmtime(__t: *const time_t) -> *mut tm;
18749}
18750extern "C" {
18751    pub fn gmtime_r(__t: *const time_t, __tm: *mut tm) -> *mut tm;
18752}
18753extern "C" {
18754    pub fn timegm(__tm: *mut tm) -> time_t;
18755}
18756extern "C" {
18757    pub fn strptime(
18758        __s: *const ::std::os::raw::c_char,
18759        __fmt: *const ::std::os::raw::c_char,
18760        __tm: *mut tm,
18761    ) -> *mut ::std::os::raw::c_char;
18762}
18763extern "C" {
18764    pub fn strptime_l(
18765        __s: *const ::std::os::raw::c_char,
18766        __fmt: *const ::std::os::raw::c_char,
18767        __tm: *mut tm,
18768        __l: locale_t,
18769    ) -> *mut ::std::os::raw::c_char;
18770}
18771extern "C" {
18772    pub fn strftime(
18773        __buf: *mut ::std::os::raw::c_char,
18774        __n: usize,
18775        __fmt: *const ::std::os::raw::c_char,
18776        __tm: *const tm,
18777    ) -> usize;
18778}
18779extern "C" {
18780    pub fn strftime_l(
18781        __buf: *mut ::std::os::raw::c_char,
18782        __n: usize,
18783        __fmt: *const ::std::os::raw::c_char,
18784        __tm: *const tm,
18785        __l: locale_t,
18786    ) -> usize;
18787}
18788extern "C" {
18789    pub fn ctime(__t: *const time_t) -> *mut ::std::os::raw::c_char;
18790}
18791extern "C" {
18792    pub fn ctime_r(
18793        __t: *const time_t,
18794        __buf: *mut ::std::os::raw::c_char,
18795    ) -> *mut ::std::os::raw::c_char;
18796}
18797extern "C" {
18798    pub fn tzset();
18799}
18800extern "C" {
18801    pub fn tzalloc(__id: *const ::std::os::raw::c_char) -> timezone_t;
18802}
18803extern "C" {
18804    pub fn tzfree(__tz: timezone_t);
18805}
18806extern "C" {
18807    pub fn clock() -> clock_t;
18808}
18809extern "C" {
18810    pub fn clock_getcpuclockid(__pid: pid_t, __clock: *mut clockid_t) -> ::std::os::raw::c_int;
18811}
18812extern "C" {
18813    pub fn clock_getres(__clock: clockid_t, __resolution: *mut timespec) -> ::std::os::raw::c_int;
18814}
18815extern "C" {
18816    pub fn clock_gettime(__clock: clockid_t, __ts: *mut timespec) -> ::std::os::raw::c_int;
18817}
18818extern "C" {
18819    pub fn clock_nanosleep(
18820        __clock: clockid_t,
18821        __flags: ::std::os::raw::c_int,
18822        __time: *const timespec,
18823        __remainder: *mut timespec,
18824    ) -> ::std::os::raw::c_int;
18825}
18826extern "C" {
18827    pub fn clock_settime(__clock: clockid_t, __ts: *const timespec) -> ::std::os::raw::c_int;
18828}
18829extern "C" {
18830    pub fn timer_create(
18831        __clock: clockid_t,
18832        __event: *mut sigevent,
18833        __timer_ptr: *mut timer_t,
18834    ) -> ::std::os::raw::c_int;
18835}
18836extern "C" {
18837    pub fn timer_delete(__timer: timer_t) -> ::std::os::raw::c_int;
18838}
18839extern "C" {
18840    pub fn timer_settime(
18841        __timer: timer_t,
18842        __flags: ::std::os::raw::c_int,
18843        __new_value: *const itimerspec,
18844        __old_value: *mut itimerspec,
18845    ) -> ::std::os::raw::c_int;
18846}
18847extern "C" {
18848    pub fn timer_gettime(_timer: timer_t, __ts: *mut itimerspec) -> ::std::os::raw::c_int;
18849}
18850extern "C" {
18851    pub fn timer_getoverrun(__timer: timer_t) -> ::std::os::raw::c_int;
18852}
18853extern "C" {
18854    pub fn timespec_get(
18855        __ts: *mut timespec,
18856        __base: ::std::os::raw::c_int,
18857    ) -> ::std::os::raw::c_int;
18858}
18859extern "C" {
18860    pub fn timespec_getres(
18861        __ts: *mut timespec,
18862        __base: ::std::os::raw::c_int,
18863    ) -> ::std::os::raw::c_int;
18864}
18865pub const AAUDIO_DIRECTION_OUTPUT: _bindgen_ty_49 = 0;
18866pub const AAUDIO_DIRECTION_INPUT: _bindgen_ty_49 = 1;
18867pub type _bindgen_ty_49 = ::std::os::raw::c_uint;
18868pub type aaudio_direction_t = i32;
18869pub const AAUDIO_FORMAT_INVALID: _bindgen_ty_50 = -1;
18870pub const AAUDIO_FORMAT_UNSPECIFIED: _bindgen_ty_50 = 0;
18871pub const AAUDIO_FORMAT_PCM_I16: _bindgen_ty_50 = 1;
18872pub const AAUDIO_FORMAT_PCM_FLOAT: _bindgen_ty_50 = 2;
18873pub const AAUDIO_FORMAT_PCM_I24_PACKED: _bindgen_ty_50 = 3;
18874pub const AAUDIO_FORMAT_PCM_I32: _bindgen_ty_50 = 4;
18875pub const AAUDIO_FORMAT_IEC61937: _bindgen_ty_50 = 5;
18876pub type _bindgen_ty_50 = ::std::os::raw::c_int;
18877pub type aaudio_format_t = i32;
18878pub const AAUDIO_OK: _bindgen_ty_51 = 0;
18879pub const AAUDIO_ERROR_BASE: _bindgen_ty_51 = -900;
18880pub const AAUDIO_ERROR_DISCONNECTED: _bindgen_ty_51 = -899;
18881pub const AAUDIO_ERROR_ILLEGAL_ARGUMENT: _bindgen_ty_51 = -898;
18882pub const AAUDIO_ERROR_INTERNAL: _bindgen_ty_51 = -896;
18883pub const AAUDIO_ERROR_INVALID_STATE: _bindgen_ty_51 = -895;
18884pub const AAUDIO_ERROR_INVALID_HANDLE: _bindgen_ty_51 = -892;
18885pub const AAUDIO_ERROR_UNIMPLEMENTED: _bindgen_ty_51 = -890;
18886pub const AAUDIO_ERROR_UNAVAILABLE: _bindgen_ty_51 = -889;
18887pub const AAUDIO_ERROR_NO_FREE_HANDLES: _bindgen_ty_51 = -888;
18888pub const AAUDIO_ERROR_NO_MEMORY: _bindgen_ty_51 = -887;
18889pub const AAUDIO_ERROR_NULL: _bindgen_ty_51 = -886;
18890pub const AAUDIO_ERROR_TIMEOUT: _bindgen_ty_51 = -885;
18891pub const AAUDIO_ERROR_WOULD_BLOCK: _bindgen_ty_51 = -884;
18892pub const AAUDIO_ERROR_INVALID_FORMAT: _bindgen_ty_51 = -883;
18893pub const AAUDIO_ERROR_OUT_OF_RANGE: _bindgen_ty_51 = -882;
18894pub const AAUDIO_ERROR_NO_SERVICE: _bindgen_ty_51 = -881;
18895pub const AAUDIO_ERROR_INVALID_RATE: _bindgen_ty_51 = -880;
18896pub type _bindgen_ty_51 = ::std::os::raw::c_int;
18897pub type aaudio_result_t = i32;
18898pub const AAUDIO_STREAM_STATE_UNINITIALIZED: _bindgen_ty_52 = 0;
18899pub const AAUDIO_STREAM_STATE_UNKNOWN: _bindgen_ty_52 = 1;
18900pub const AAUDIO_STREAM_STATE_OPEN: _bindgen_ty_52 = 2;
18901pub const AAUDIO_STREAM_STATE_STARTING: _bindgen_ty_52 = 3;
18902pub const AAUDIO_STREAM_STATE_STARTED: _bindgen_ty_52 = 4;
18903pub const AAUDIO_STREAM_STATE_PAUSING: _bindgen_ty_52 = 5;
18904pub const AAUDIO_STREAM_STATE_PAUSED: _bindgen_ty_52 = 6;
18905pub const AAUDIO_STREAM_STATE_FLUSHING: _bindgen_ty_52 = 7;
18906pub const AAUDIO_STREAM_STATE_FLUSHED: _bindgen_ty_52 = 8;
18907pub const AAUDIO_STREAM_STATE_STOPPING: _bindgen_ty_52 = 9;
18908pub const AAUDIO_STREAM_STATE_STOPPED: _bindgen_ty_52 = 10;
18909pub const AAUDIO_STREAM_STATE_CLOSING: _bindgen_ty_52 = 11;
18910pub const AAUDIO_STREAM_STATE_CLOSED: _bindgen_ty_52 = 12;
18911pub const AAUDIO_STREAM_STATE_DISCONNECTED: _bindgen_ty_52 = 13;
18912pub type _bindgen_ty_52 = ::std::os::raw::c_uint;
18913pub type aaudio_stream_state_t = i32;
18914pub const AAUDIO_SHARING_MODE_EXCLUSIVE: _bindgen_ty_53 = 0;
18915pub const AAUDIO_SHARING_MODE_SHARED: _bindgen_ty_53 = 1;
18916pub type _bindgen_ty_53 = ::std::os::raw::c_uint;
18917pub type aaudio_sharing_mode_t = i32;
18918pub const AAUDIO_PERFORMANCE_MODE_NONE: _bindgen_ty_54 = 10;
18919pub const AAUDIO_PERFORMANCE_MODE_POWER_SAVING: _bindgen_ty_54 = 11;
18920pub const AAUDIO_PERFORMANCE_MODE_LOW_LATENCY: _bindgen_ty_54 = 12;
18921pub type _bindgen_ty_54 = ::std::os::raw::c_uint;
18922pub type aaudio_performance_mode_t = i32;
18923pub const AAUDIO_USAGE_MEDIA: _bindgen_ty_55 = 1;
18924pub const AAUDIO_USAGE_VOICE_COMMUNICATION: _bindgen_ty_55 = 2;
18925pub const AAUDIO_USAGE_VOICE_COMMUNICATION_SIGNALLING: _bindgen_ty_55 = 3;
18926pub const AAUDIO_USAGE_ALARM: _bindgen_ty_55 = 4;
18927pub const AAUDIO_USAGE_NOTIFICATION: _bindgen_ty_55 = 5;
18928pub const AAUDIO_USAGE_NOTIFICATION_RINGTONE: _bindgen_ty_55 = 6;
18929pub const AAUDIO_USAGE_NOTIFICATION_EVENT: _bindgen_ty_55 = 10;
18930pub const AAUDIO_USAGE_ASSISTANCE_ACCESSIBILITY: _bindgen_ty_55 = 11;
18931pub const AAUDIO_USAGE_ASSISTANCE_NAVIGATION_GUIDANCE: _bindgen_ty_55 = 12;
18932pub const AAUDIO_USAGE_ASSISTANCE_SONIFICATION: _bindgen_ty_55 = 13;
18933pub const AAUDIO_USAGE_GAME: _bindgen_ty_55 = 14;
18934pub const AAUDIO_USAGE_ASSISTANT: _bindgen_ty_55 = 16;
18935pub const AAUDIO_SYSTEM_USAGE_EMERGENCY: _bindgen_ty_55 = 1000;
18936pub const AAUDIO_SYSTEM_USAGE_SAFETY: _bindgen_ty_55 = 1001;
18937pub const AAUDIO_SYSTEM_USAGE_VEHICLE_STATUS: _bindgen_ty_55 = 1002;
18938pub const AAUDIO_SYSTEM_USAGE_ANNOUNCEMENT: _bindgen_ty_55 = 1003;
18939pub type _bindgen_ty_55 = ::std::os::raw::c_uint;
18940pub type aaudio_usage_t = i32;
18941pub const AAUDIO_CONTENT_TYPE_SPEECH: _bindgen_ty_56 = 1;
18942pub const AAUDIO_CONTENT_TYPE_MUSIC: _bindgen_ty_56 = 2;
18943pub const AAUDIO_CONTENT_TYPE_MOVIE: _bindgen_ty_56 = 3;
18944pub const AAUDIO_CONTENT_TYPE_SONIFICATION: _bindgen_ty_56 = 4;
18945pub type _bindgen_ty_56 = ::std::os::raw::c_uint;
18946pub type aaudio_content_type_t = i32;
18947pub const AAUDIO_SPATIALIZATION_BEHAVIOR_AUTO: _bindgen_ty_57 = 1;
18948pub const AAUDIO_SPATIALIZATION_BEHAVIOR_NEVER: _bindgen_ty_57 = 2;
18949pub type _bindgen_ty_57 = ::std::os::raw::c_uint;
18950pub type aaudio_spatialization_behavior_t = i32;
18951pub const AAUDIO_INPUT_PRESET_GENERIC: _bindgen_ty_58 = 1;
18952pub const AAUDIO_INPUT_PRESET_CAMCORDER: _bindgen_ty_58 = 5;
18953pub const AAUDIO_INPUT_PRESET_VOICE_RECOGNITION: _bindgen_ty_58 = 6;
18954pub const AAUDIO_INPUT_PRESET_VOICE_COMMUNICATION: _bindgen_ty_58 = 7;
18955pub const AAUDIO_INPUT_PRESET_UNPROCESSED: _bindgen_ty_58 = 9;
18956pub const AAUDIO_INPUT_PRESET_VOICE_PERFORMANCE: _bindgen_ty_58 = 10;
18957pub const AAUDIO_INPUT_PRESET_SYSTEM_ECHO_REFERENCE: _bindgen_ty_58 = 1997;
18958pub const AAUDIO_INPUT_PRESET_SYSTEM_HOTWORD: _bindgen_ty_58 = 1999;
18959pub type _bindgen_ty_58 = ::std::os::raw::c_uint;
18960pub type aaudio_input_preset_t = i32;
18961pub const AAUDIO_ALLOW_CAPTURE_BY_ALL: _bindgen_ty_59 = 1;
18962pub const AAUDIO_ALLOW_CAPTURE_BY_SYSTEM: _bindgen_ty_59 = 2;
18963pub const AAUDIO_ALLOW_CAPTURE_BY_NONE: _bindgen_ty_59 = 3;
18964pub type _bindgen_ty_59 = ::std::os::raw::c_uint;
18965pub type aaudio_allowed_capture_policy_t = i32;
18966pub const AAUDIO_SESSION_ID_NONE: _bindgen_ty_60 = -1;
18967pub const AAUDIO_SESSION_ID_ALLOCATE: _bindgen_ty_60 = 0;
18968pub type _bindgen_ty_60 = ::std::os::raw::c_int;
18969pub type aaudio_session_id_t = i32;
18970pub const AAUDIO_CHANNEL_INVALID: _bindgen_ty_61 = -1;
18971pub const AAUDIO_CHANNEL_FRONT_LEFT: _bindgen_ty_61 = 1;
18972pub const AAUDIO_CHANNEL_FRONT_RIGHT: _bindgen_ty_61 = 2;
18973pub const AAUDIO_CHANNEL_FRONT_CENTER: _bindgen_ty_61 = 4;
18974pub const AAUDIO_CHANNEL_LOW_FREQUENCY: _bindgen_ty_61 = 8;
18975pub const AAUDIO_CHANNEL_BACK_LEFT: _bindgen_ty_61 = 16;
18976pub const AAUDIO_CHANNEL_BACK_RIGHT: _bindgen_ty_61 = 32;
18977pub const AAUDIO_CHANNEL_FRONT_LEFT_OF_CENTER: _bindgen_ty_61 = 64;
18978pub const AAUDIO_CHANNEL_FRONT_RIGHT_OF_CENTER: _bindgen_ty_61 = 128;
18979pub const AAUDIO_CHANNEL_BACK_CENTER: _bindgen_ty_61 = 256;
18980pub const AAUDIO_CHANNEL_SIDE_LEFT: _bindgen_ty_61 = 512;
18981pub const AAUDIO_CHANNEL_SIDE_RIGHT: _bindgen_ty_61 = 1024;
18982pub const AAUDIO_CHANNEL_TOP_CENTER: _bindgen_ty_61 = 2048;
18983pub const AAUDIO_CHANNEL_TOP_FRONT_LEFT: _bindgen_ty_61 = 4096;
18984pub const AAUDIO_CHANNEL_TOP_FRONT_CENTER: _bindgen_ty_61 = 8192;
18985pub const AAUDIO_CHANNEL_TOP_FRONT_RIGHT: _bindgen_ty_61 = 16384;
18986pub const AAUDIO_CHANNEL_TOP_BACK_LEFT: _bindgen_ty_61 = 32768;
18987pub const AAUDIO_CHANNEL_TOP_BACK_CENTER: _bindgen_ty_61 = 65536;
18988pub const AAUDIO_CHANNEL_TOP_BACK_RIGHT: _bindgen_ty_61 = 131072;
18989pub const AAUDIO_CHANNEL_TOP_SIDE_LEFT: _bindgen_ty_61 = 262144;
18990pub const AAUDIO_CHANNEL_TOP_SIDE_RIGHT: _bindgen_ty_61 = 524288;
18991pub const AAUDIO_CHANNEL_BOTTOM_FRONT_LEFT: _bindgen_ty_61 = 1048576;
18992pub const AAUDIO_CHANNEL_BOTTOM_FRONT_CENTER: _bindgen_ty_61 = 2097152;
18993pub const AAUDIO_CHANNEL_BOTTOM_FRONT_RIGHT: _bindgen_ty_61 = 4194304;
18994pub const AAUDIO_CHANNEL_LOW_FREQUENCY_2: _bindgen_ty_61 = 8388608;
18995pub const AAUDIO_CHANNEL_FRONT_WIDE_LEFT: _bindgen_ty_61 = 16777216;
18996pub const AAUDIO_CHANNEL_FRONT_WIDE_RIGHT: _bindgen_ty_61 = 33554432;
18997pub const AAUDIO_CHANNEL_MONO: _bindgen_ty_61 = 1;
18998pub const AAUDIO_CHANNEL_STEREO: _bindgen_ty_61 = 3;
18999pub const AAUDIO_CHANNEL_2POINT1: _bindgen_ty_61 = 11;
19000pub const AAUDIO_CHANNEL_TRI: _bindgen_ty_61 = 7;
19001pub const AAUDIO_CHANNEL_TRI_BACK: _bindgen_ty_61 = 259;
19002pub const AAUDIO_CHANNEL_3POINT1: _bindgen_ty_61 = 15;
19003pub const AAUDIO_CHANNEL_2POINT0POINT2: _bindgen_ty_61 = 786435;
19004pub const AAUDIO_CHANNEL_2POINT1POINT2: _bindgen_ty_61 = 786443;
19005pub const AAUDIO_CHANNEL_3POINT0POINT2: _bindgen_ty_61 = 786439;
19006pub const AAUDIO_CHANNEL_3POINT1POINT2: _bindgen_ty_61 = 786447;
19007pub const AAUDIO_CHANNEL_QUAD: _bindgen_ty_61 = 51;
19008pub const AAUDIO_CHANNEL_QUAD_SIDE: _bindgen_ty_61 = 1539;
19009pub const AAUDIO_CHANNEL_SURROUND: _bindgen_ty_61 = 263;
19010pub const AAUDIO_CHANNEL_PENTA: _bindgen_ty_61 = 55;
19011pub const AAUDIO_CHANNEL_5POINT1: _bindgen_ty_61 = 63;
19012pub const AAUDIO_CHANNEL_5POINT1_SIDE: _bindgen_ty_61 = 1551;
19013pub const AAUDIO_CHANNEL_6POINT1: _bindgen_ty_61 = 319;
19014pub const AAUDIO_CHANNEL_7POINT1: _bindgen_ty_61 = 1599;
19015pub const AAUDIO_CHANNEL_5POINT1POINT2: _bindgen_ty_61 = 786495;
19016pub const AAUDIO_CHANNEL_5POINT1POINT4: _bindgen_ty_61 = 184383;
19017pub const AAUDIO_CHANNEL_7POINT1POINT2: _bindgen_ty_61 = 788031;
19018pub const AAUDIO_CHANNEL_7POINT1POINT4: _bindgen_ty_61 = 185919;
19019pub const AAUDIO_CHANNEL_9POINT1POINT4: _bindgen_ty_61 = 50517567;
19020pub const AAUDIO_CHANNEL_9POINT1POINT6: _bindgen_ty_61 = 51303999;
19021pub const AAUDIO_CHANNEL_FRONT_BACK: _bindgen_ty_61 = 260;
19022pub type _bindgen_ty_61 = ::std::os::raw::c_int;
19023pub type aaudio_channel_mask_t = u32;
19024#[repr(C)]
19025#[derive(Debug, Copy, Clone)]
19026pub struct AAudioStreamStruct {
19027    _unused: [u8; 0],
19028}
19029pub type AAudioStream = AAudioStreamStruct;
19030#[repr(C)]
19031#[derive(Debug, Copy, Clone)]
19032pub struct AAudioStreamBuilderStruct {
19033    _unused: [u8; 0],
19034}
19035pub type AAudioStreamBuilder = AAudioStreamBuilderStruct;
19036extern "C" {
19037    pub fn AAudio_convertResultToText(returnCode: aaudio_result_t)
19038        -> *const ::std::os::raw::c_char;
19039}
19040extern "C" {
19041    pub fn AAudio_convertStreamStateToText(
19042        state: aaudio_stream_state_t,
19043    ) -> *const ::std::os::raw::c_char;
19044}
19045extern "C" {
19046    pub fn AAudio_createStreamBuilder(builder: *mut *mut AAudioStreamBuilder) -> aaudio_result_t;
19047}
19048extern "C" {
19049    pub fn AAudioStreamBuilder_setDeviceId(builder: *mut AAudioStreamBuilder, deviceId: i32);
19050}
19051extern "C" {
19052    pub fn AAudioStreamBuilder_setPackageName(
19053        builder: *mut AAudioStreamBuilder,
19054        packageName: *const ::std::os::raw::c_char,
19055    );
19056}
19057extern "C" {
19058    pub fn AAudioStreamBuilder_setAttributionTag(
19059        builder: *mut AAudioStreamBuilder,
19060        attributionTag: *const ::std::os::raw::c_char,
19061    );
19062}
19063extern "C" {
19064    pub fn AAudioStreamBuilder_setSampleRate(builder: *mut AAudioStreamBuilder, sampleRate: i32);
19065}
19066extern "C" {
19067    pub fn AAudioStreamBuilder_setChannelCount(
19068        builder: *mut AAudioStreamBuilder,
19069        channelCount: i32,
19070    );
19071}
19072extern "C" {
19073    pub fn AAudioStreamBuilder_setSamplesPerFrame(
19074        builder: *mut AAudioStreamBuilder,
19075        samplesPerFrame: i32,
19076    );
19077}
19078extern "C" {
19079    pub fn AAudioStreamBuilder_setFormat(
19080        builder: *mut AAudioStreamBuilder,
19081        format: aaudio_format_t,
19082    );
19083}
19084extern "C" {
19085    pub fn AAudioStreamBuilder_setSharingMode(
19086        builder: *mut AAudioStreamBuilder,
19087        sharingMode: aaudio_sharing_mode_t,
19088    );
19089}
19090extern "C" {
19091    pub fn AAudioStreamBuilder_setDirection(
19092        builder: *mut AAudioStreamBuilder,
19093        direction: aaudio_direction_t,
19094    );
19095}
19096extern "C" {
19097    pub fn AAudioStreamBuilder_setBufferCapacityInFrames(
19098        builder: *mut AAudioStreamBuilder,
19099        numFrames: i32,
19100    );
19101}
19102extern "C" {
19103    pub fn AAudioStreamBuilder_setPerformanceMode(
19104        builder: *mut AAudioStreamBuilder,
19105        mode: aaudio_performance_mode_t,
19106    );
19107}
19108extern "C" {
19109    pub fn AAudioStreamBuilder_setUsage(builder: *mut AAudioStreamBuilder, usage: aaudio_usage_t);
19110}
19111extern "C" {
19112    pub fn AAudioStreamBuilder_setContentType(
19113        builder: *mut AAudioStreamBuilder,
19114        contentType: aaudio_content_type_t,
19115    );
19116}
19117extern "C" {
19118    pub fn AAudioStreamBuilder_setSpatializationBehavior(
19119        builder: *mut AAudioStreamBuilder,
19120        spatializationBehavior: aaudio_spatialization_behavior_t,
19121    );
19122}
19123extern "C" {
19124    pub fn AAudioStreamBuilder_setIsContentSpatialized(
19125        builder: *mut AAudioStreamBuilder,
19126        isSpatialized: bool,
19127    );
19128}
19129extern "C" {
19130    pub fn AAudioStreamBuilder_setInputPreset(
19131        builder: *mut AAudioStreamBuilder,
19132        inputPreset: aaudio_input_preset_t,
19133    );
19134}
19135extern "C" {
19136    pub fn AAudioStreamBuilder_setAllowedCapturePolicy(
19137        builder: *mut AAudioStreamBuilder,
19138        capturePolicy: aaudio_allowed_capture_policy_t,
19139    );
19140}
19141extern "C" {
19142    pub fn AAudioStreamBuilder_setSessionId(
19143        builder: *mut AAudioStreamBuilder,
19144        sessionId: aaudio_session_id_t,
19145    );
19146}
19147extern "C" {
19148    pub fn AAudioStreamBuilder_setPrivacySensitive(
19149        builder: *mut AAudioStreamBuilder,
19150        privacySensitive: bool,
19151    );
19152}
19153pub const AAUDIO_CALLBACK_RESULT_CONTINUE: _bindgen_ty_62 = 0;
19154pub const AAUDIO_CALLBACK_RESULT_STOP: _bindgen_ty_62 = 1;
19155pub type _bindgen_ty_62 = ::std::os::raw::c_uint;
19156pub type aaudio_data_callback_result_t = i32;
19157pub type AAudioStream_dataCallback = ::std::option::Option<
19158    unsafe extern "C" fn(
19159        stream: *mut AAudioStream,
19160        userData: *mut ::std::os::raw::c_void,
19161        audioData: *mut ::std::os::raw::c_void,
19162        numFrames: i32,
19163    ) -> aaudio_data_callback_result_t,
19164>;
19165extern "C" {
19166    pub fn AAudioStreamBuilder_setDataCallback(
19167        builder: *mut AAudioStreamBuilder,
19168        callback: AAudioStream_dataCallback,
19169        userData: *mut ::std::os::raw::c_void,
19170    );
19171}
19172extern "C" {
19173    pub fn AAudioStreamBuilder_setFramesPerDataCallback(
19174        builder: *mut AAudioStreamBuilder,
19175        numFrames: i32,
19176    );
19177}
19178pub type AAudioStream_errorCallback = ::std::option::Option<
19179    unsafe extern "C" fn(
19180        stream: *mut AAudioStream,
19181        userData: *mut ::std::os::raw::c_void,
19182        error: aaudio_result_t,
19183    ),
19184>;
19185extern "C" {
19186    pub fn AAudioStreamBuilder_setErrorCallback(
19187        builder: *mut AAudioStreamBuilder,
19188        callback: AAudioStream_errorCallback,
19189        userData: *mut ::std::os::raw::c_void,
19190    );
19191}
19192extern "C" {
19193    pub fn AAudioStreamBuilder_openStream(
19194        builder: *mut AAudioStreamBuilder,
19195        stream: *mut *mut AAudioStream,
19196    ) -> aaudio_result_t;
19197}
19198extern "C" {
19199    pub fn AAudioStreamBuilder_delete(builder: *mut AAudioStreamBuilder) -> aaudio_result_t;
19200}
19201extern "C" {
19202    pub fn AAudioStreamBuilder_setChannelMask(
19203        builder: *mut AAudioStreamBuilder,
19204        channelMask: aaudio_channel_mask_t,
19205    );
19206}
19207extern "C" {
19208    pub fn AAudioStream_release(stream: *mut AAudioStream) -> aaudio_result_t;
19209}
19210extern "C" {
19211    pub fn AAudioStream_close(stream: *mut AAudioStream) -> aaudio_result_t;
19212}
19213extern "C" {
19214    pub fn AAudioStream_requestStart(stream: *mut AAudioStream) -> aaudio_result_t;
19215}
19216extern "C" {
19217    pub fn AAudioStream_requestPause(stream: *mut AAudioStream) -> aaudio_result_t;
19218}
19219extern "C" {
19220    pub fn AAudioStream_requestFlush(stream: *mut AAudioStream) -> aaudio_result_t;
19221}
19222extern "C" {
19223    pub fn AAudioStream_requestStop(stream: *mut AAudioStream) -> aaudio_result_t;
19224}
19225extern "C" {
19226    pub fn AAudioStream_getState(stream: *mut AAudioStream) -> aaudio_stream_state_t;
19227}
19228extern "C" {
19229    pub fn AAudioStream_waitForStateChange(
19230        stream: *mut AAudioStream,
19231        inputState: aaudio_stream_state_t,
19232        nextState: *mut aaudio_stream_state_t,
19233        timeoutNanoseconds: i64,
19234    ) -> aaudio_result_t;
19235}
19236extern "C" {
19237    pub fn AAudioStream_read(
19238        stream: *mut AAudioStream,
19239        buffer: *mut ::std::os::raw::c_void,
19240        numFrames: i32,
19241        timeoutNanoseconds: i64,
19242    ) -> aaudio_result_t;
19243}
19244extern "C" {
19245    pub fn AAudioStream_write(
19246        stream: *mut AAudioStream,
19247        buffer: *const ::std::os::raw::c_void,
19248        numFrames: i32,
19249        timeoutNanoseconds: i64,
19250    ) -> aaudio_result_t;
19251}
19252extern "C" {
19253    pub fn AAudioStream_setBufferSizeInFrames(
19254        stream: *mut AAudioStream,
19255        numFrames: i32,
19256    ) -> aaudio_result_t;
19257}
19258extern "C" {
19259    pub fn AAudioStream_getBufferSizeInFrames(stream: *mut AAudioStream) -> i32;
19260}
19261extern "C" {
19262    pub fn AAudioStream_getFramesPerBurst(stream: *mut AAudioStream) -> i32;
19263}
19264extern "C" {
19265    pub fn AAudioStream_getBufferCapacityInFrames(stream: *mut AAudioStream) -> i32;
19266}
19267extern "C" {
19268    pub fn AAudioStream_getFramesPerDataCallback(stream: *mut AAudioStream) -> i32;
19269}
19270extern "C" {
19271    pub fn AAudioStream_getXRunCount(stream: *mut AAudioStream) -> i32;
19272}
19273extern "C" {
19274    pub fn AAudioStream_getSampleRate(stream: *mut AAudioStream) -> i32;
19275}
19276extern "C" {
19277    pub fn AAudioStream_getHardwareSampleRate(stream: *mut AAudioStream) -> i32;
19278}
19279extern "C" {
19280    pub fn AAudioStream_getChannelCount(stream: *mut AAudioStream) -> i32;
19281}
19282extern "C" {
19283    pub fn AAudioStream_getHardwareChannelCount(stream: *mut AAudioStream) -> i32;
19284}
19285extern "C" {
19286    pub fn AAudioStream_getSamplesPerFrame(stream: *mut AAudioStream) -> i32;
19287}
19288extern "C" {
19289    pub fn AAudioStream_getDeviceId(stream: *mut AAudioStream) -> i32;
19290}
19291extern "C" {
19292    pub fn AAudioStream_getFormat(stream: *mut AAudioStream) -> aaudio_format_t;
19293}
19294extern "C" {
19295    pub fn AAudioStream_getHardwareFormat(stream: *mut AAudioStream) -> aaudio_format_t;
19296}
19297extern "C" {
19298    pub fn AAudioStream_getSharingMode(stream: *mut AAudioStream) -> aaudio_sharing_mode_t;
19299}
19300extern "C" {
19301    pub fn AAudioStream_getPerformanceMode(stream: *mut AAudioStream) -> aaudio_performance_mode_t;
19302}
19303extern "C" {
19304    pub fn AAudioStream_getDirection(stream: *mut AAudioStream) -> aaudio_direction_t;
19305}
19306extern "C" {
19307    pub fn AAudioStream_getFramesWritten(stream: *mut AAudioStream) -> i64;
19308}
19309extern "C" {
19310    pub fn AAudioStream_getFramesRead(stream: *mut AAudioStream) -> i64;
19311}
19312extern "C" {
19313    pub fn AAudioStream_getSessionId(stream: *mut AAudioStream) -> aaudio_session_id_t;
19314}
19315extern "C" {
19316    pub fn AAudioStream_getTimestamp(
19317        stream: *mut AAudioStream,
19318        clockid: clockid_t,
19319        framePosition: *mut i64,
19320        timeNanoseconds: *mut i64,
19321    ) -> aaudio_result_t;
19322}
19323extern "C" {
19324    pub fn AAudioStream_getUsage(stream: *mut AAudioStream) -> aaudio_usage_t;
19325}
19326extern "C" {
19327    pub fn AAudioStream_getContentType(stream: *mut AAudioStream) -> aaudio_content_type_t;
19328}
19329extern "C" {
19330    pub fn AAudioStream_getSpatializationBehavior(
19331        stream: *mut AAudioStream,
19332    ) -> aaudio_spatialization_behavior_t;
19333}
19334extern "C" {
19335    pub fn AAudioStream_isContentSpatialized(stream: *mut AAudioStream) -> bool;
19336}
19337extern "C" {
19338    pub fn AAudioStream_getInputPreset(stream: *mut AAudioStream) -> aaudio_input_preset_t;
19339}
19340extern "C" {
19341    pub fn AAudioStream_getAllowedCapturePolicy(
19342        stream: *mut AAudioStream,
19343    ) -> aaudio_allowed_capture_policy_t;
19344}
19345extern "C" {
19346    pub fn AAudioStream_isPrivacySensitive(stream: *mut AAudioStream) -> bool;
19347}
19348extern "C" {
19349    pub fn AAudioStream_getChannelMask(stream: *mut AAudioStream) -> aaudio_channel_mask_t;
19350}
19351impl media_status_t {
19352    pub const AMEDIA_OK: media_status_t = media_status_t(0);
19353}
19354impl media_status_t {
19355    pub const AMEDIACODEC_ERROR_INSUFFICIENT_RESOURCE: media_status_t = media_status_t(1100);
19356}
19357impl media_status_t {
19358    pub const AMEDIACODEC_ERROR_RECLAIMED: media_status_t = media_status_t(1101);
19359}
19360impl media_status_t {
19361    pub const AMEDIA_ERROR_BASE: media_status_t = media_status_t(-10000);
19362}
19363impl media_status_t {
19364    pub const AMEDIA_ERROR_UNKNOWN: media_status_t = media_status_t(-10000);
19365}
19366impl media_status_t {
19367    pub const AMEDIA_ERROR_MALFORMED: media_status_t = media_status_t(-10001);
19368}
19369impl media_status_t {
19370    pub const AMEDIA_ERROR_UNSUPPORTED: media_status_t = media_status_t(-10002);
19371}
19372impl media_status_t {
19373    pub const AMEDIA_ERROR_INVALID_OBJECT: media_status_t = media_status_t(-10003);
19374}
19375impl media_status_t {
19376    pub const AMEDIA_ERROR_INVALID_PARAMETER: media_status_t = media_status_t(-10004);
19377}
19378impl media_status_t {
19379    pub const AMEDIA_ERROR_INVALID_OPERATION: media_status_t = media_status_t(-10005);
19380}
19381impl media_status_t {
19382    pub const AMEDIA_ERROR_END_OF_STREAM: media_status_t = media_status_t(-10006);
19383}
19384impl media_status_t {
19385    pub const AMEDIA_ERROR_IO: media_status_t = media_status_t(-10007);
19386}
19387impl media_status_t {
19388    pub const AMEDIA_ERROR_WOULD_BLOCK: media_status_t = media_status_t(-10008);
19389}
19390impl media_status_t {
19391    pub const AMEDIA_DRM_ERROR_BASE: media_status_t = media_status_t(-20000);
19392}
19393impl media_status_t {
19394    pub const AMEDIA_DRM_NOT_PROVISIONED: media_status_t = media_status_t(-20001);
19395}
19396impl media_status_t {
19397    pub const AMEDIA_DRM_RESOURCE_BUSY: media_status_t = media_status_t(-20002);
19398}
19399impl media_status_t {
19400    pub const AMEDIA_DRM_DEVICE_REVOKED: media_status_t = media_status_t(-20003);
19401}
19402impl media_status_t {
19403    pub const AMEDIA_DRM_SHORT_BUFFER: media_status_t = media_status_t(-20004);
19404}
19405impl media_status_t {
19406    pub const AMEDIA_DRM_SESSION_NOT_OPENED: media_status_t = media_status_t(-20005);
19407}
19408impl media_status_t {
19409    pub const AMEDIA_DRM_TAMPER_DETECTED: media_status_t = media_status_t(-20006);
19410}
19411impl media_status_t {
19412    pub const AMEDIA_DRM_VERIFY_FAILED: media_status_t = media_status_t(-20007);
19413}
19414impl media_status_t {
19415    pub const AMEDIA_DRM_NEED_KEY: media_status_t = media_status_t(-20008);
19416}
19417impl media_status_t {
19418    pub const AMEDIA_DRM_LICENSE_EXPIRED: media_status_t = media_status_t(-20009);
19419}
19420impl media_status_t {
19421    pub const AMEDIA_IMGREADER_ERROR_BASE: media_status_t = media_status_t(-30000);
19422}
19423impl media_status_t {
19424    pub const AMEDIA_IMGREADER_NO_BUFFER_AVAILABLE: media_status_t = media_status_t(-30001);
19425}
19426impl media_status_t {
19427    pub const AMEDIA_IMGREADER_MAX_IMAGES_ACQUIRED: media_status_t = media_status_t(-30002);
19428}
19429impl media_status_t {
19430    pub const AMEDIA_IMGREADER_CANNOT_LOCK_IMAGE: media_status_t = media_status_t(-30003);
19431}
19432impl media_status_t {
19433    pub const AMEDIA_IMGREADER_CANNOT_UNLOCK_IMAGE: media_status_t = media_status_t(-30004);
19434}
19435impl media_status_t {
19436    pub const AMEDIA_IMGREADER_IMAGE_NOT_LOCKED: media_status_t = media_status_t(-30005);
19437}
19438#[repr(transparent)]
19439#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19440pub struct media_status_t(pub ::std::os::raw::c_int);
19441#[repr(C)]
19442#[derive(Debug, Copy, Clone)]
19443pub struct AMidiDevice {
19444    _unused: [u8; 0],
19445}
19446#[repr(C)]
19447#[derive(Debug, Copy, Clone)]
19448pub struct AMidiInputPort {
19449    _unused: [u8; 0],
19450}
19451#[repr(C)]
19452#[derive(Debug, Copy, Clone)]
19453pub struct AMidiOutputPort {
19454    _unused: [u8; 0],
19455}
19456pub const AMIDI_OPCODE_DATA: _bindgen_ty_63 = 1;
19457pub const AMIDI_OPCODE_FLUSH: _bindgen_ty_63 = 2;
19458pub type _bindgen_ty_63 = ::std::os::raw::c_uint;
19459pub const AMIDI_DEVICE_TYPE_USB: _bindgen_ty_64 = 1;
19460pub const AMIDI_DEVICE_TYPE_VIRTUAL: _bindgen_ty_64 = 2;
19461pub const AMIDI_DEVICE_TYPE_BLUETOOTH: _bindgen_ty_64 = 3;
19462pub type _bindgen_ty_64 = ::std::os::raw::c_uint;
19463impl AMidiDevice_Protocol {
19464    pub const AMIDI_DEVICE_PROTOCOL_UMP_USE_MIDI_CI: AMidiDevice_Protocol = AMidiDevice_Protocol(0);
19465}
19466impl AMidiDevice_Protocol {
19467    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS: AMidiDevice_Protocol =
19468        AMidiDevice_Protocol(1);
19469}
19470impl AMidiDevice_Protocol {
19471    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_64_BITS_AND_JRTS: AMidiDevice_Protocol =
19472        AMidiDevice_Protocol(2);
19473}
19474impl AMidiDevice_Protocol {
19475    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS: AMidiDevice_Protocol =
19476        AMidiDevice_Protocol(3);
19477}
19478impl AMidiDevice_Protocol {
19479    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_1_0_UP_TO_128_BITS_AND_JRTS: AMidiDevice_Protocol =
19480        AMidiDevice_Protocol(4);
19481}
19482impl AMidiDevice_Protocol {
19483    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_2_0: AMidiDevice_Protocol = AMidiDevice_Protocol(17);
19484}
19485impl AMidiDevice_Protocol {
19486    pub const AMIDI_DEVICE_PROTOCOL_UMP_MIDI_2_0_AND_JRTS: AMidiDevice_Protocol =
19487        AMidiDevice_Protocol(18);
19488}
19489impl AMidiDevice_Protocol {
19490    pub const AMIDI_DEVICE_PROTOCOL_UNKNOWN: AMidiDevice_Protocol = AMidiDevice_Protocol(-1);
19491}
19492#[repr(transparent)]
19493#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19494pub struct AMidiDevice_Protocol(pub i32);
19495extern "C" {
19496    pub fn AMidiDevice_fromJava(
19497        env: *mut JNIEnv,
19498        midiDeviceObj: jobject,
19499        outDevicePtrPtr: *mut *mut AMidiDevice,
19500    ) -> media_status_t;
19501}
19502extern "C" {
19503    pub fn AMidiDevice_release(midiDevice: *const AMidiDevice) -> media_status_t;
19504}
19505extern "C" {
19506    pub fn AMidiDevice_getType(device: *const AMidiDevice) -> i32;
19507}
19508extern "C" {
19509    pub fn AMidiDevice_getNumInputPorts(device: *const AMidiDevice) -> isize;
19510}
19511extern "C" {
19512    pub fn AMidiDevice_getNumOutputPorts(device: *const AMidiDevice) -> isize;
19513}
19514extern "C" {
19515    pub fn AMidiDevice_getDefaultProtocol(device: *const AMidiDevice) -> AMidiDevice_Protocol;
19516}
19517extern "C" {
19518    pub fn AMidiOutputPort_open(
19519        device: *const AMidiDevice,
19520        portNumber: i32,
19521        outOutputPortPtr: *mut *mut AMidiOutputPort,
19522    ) -> media_status_t;
19523}
19524extern "C" {
19525    pub fn AMidiOutputPort_close(outputPort: *const AMidiOutputPort);
19526}
19527extern "C" {
19528    pub fn AMidiOutputPort_receive(
19529        outputPort: *const AMidiOutputPort,
19530        opcodePtr: *mut i32,
19531        buffer: *mut u8,
19532        maxBytes: usize,
19533        numBytesReceivedPtr: *mut usize,
19534        outTimestampPtr: *mut i64,
19535    ) -> isize;
19536}
19537extern "C" {
19538    pub fn AMidiInputPort_open(
19539        device: *const AMidiDevice,
19540        portNumber: i32,
19541        outInputPortPtr: *mut *mut AMidiInputPort,
19542    ) -> media_status_t;
19543}
19544extern "C" {
19545    pub fn AMidiInputPort_send(
19546        inputPort: *const AMidiInputPort,
19547        buffer: *const u8,
19548        numBytes: usize,
19549    ) -> isize;
19550}
19551extern "C" {
19552    pub fn AMidiInputPort_sendWithTimestamp(
19553        inputPort: *const AMidiInputPort,
19554        buffer: *const u8,
19555        numBytes: usize,
19556        timestamp: i64,
19557    ) -> isize;
19558}
19559extern "C" {
19560    pub fn AMidiInputPort_sendFlush(inputPort: *const AMidiInputPort) -> media_status_t;
19561}
19562extern "C" {
19563    pub fn AMidiInputPort_close(inputPort: *const AMidiInputPort);
19564}
19565impl camera_status_t {
19566    pub const ACAMERA_OK: camera_status_t = camera_status_t(0);
19567}
19568impl camera_status_t {
19569    pub const ACAMERA_ERROR_BASE: camera_status_t = camera_status_t(-10000);
19570}
19571impl camera_status_t {
19572    pub const ACAMERA_ERROR_UNKNOWN: camera_status_t = camera_status_t(-10000);
19573}
19574impl camera_status_t {
19575    pub const ACAMERA_ERROR_INVALID_PARAMETER: camera_status_t = camera_status_t(-10001);
19576}
19577impl camera_status_t {
19578    pub const ACAMERA_ERROR_CAMERA_DISCONNECTED: camera_status_t = camera_status_t(-10002);
19579}
19580impl camera_status_t {
19581    pub const ACAMERA_ERROR_NOT_ENOUGH_MEMORY: camera_status_t = camera_status_t(-10003);
19582}
19583impl camera_status_t {
19584    pub const ACAMERA_ERROR_METADATA_NOT_FOUND: camera_status_t = camera_status_t(-10004);
19585}
19586impl camera_status_t {
19587    pub const ACAMERA_ERROR_CAMERA_DEVICE: camera_status_t = camera_status_t(-10005);
19588}
19589impl camera_status_t {
19590    pub const ACAMERA_ERROR_CAMERA_SERVICE: camera_status_t = camera_status_t(-10006);
19591}
19592impl camera_status_t {
19593    pub const ACAMERA_ERROR_SESSION_CLOSED: camera_status_t = camera_status_t(-10007);
19594}
19595impl camera_status_t {
19596    pub const ACAMERA_ERROR_INVALID_OPERATION: camera_status_t = camera_status_t(-10008);
19597}
19598impl camera_status_t {
19599    pub const ACAMERA_ERROR_STREAM_CONFIGURE_FAIL: camera_status_t = camera_status_t(-10009);
19600}
19601impl camera_status_t {
19602    pub const ACAMERA_ERROR_CAMERA_IN_USE: camera_status_t = camera_status_t(-10010);
19603}
19604impl camera_status_t {
19605    pub const ACAMERA_ERROR_MAX_CAMERA_IN_USE: camera_status_t = camera_status_t(-10011);
19606}
19607impl camera_status_t {
19608    pub const ACAMERA_ERROR_CAMERA_DISABLED: camera_status_t = camera_status_t(-10012);
19609}
19610impl camera_status_t {
19611    pub const ACAMERA_ERROR_PERMISSION_DENIED: camera_status_t = camera_status_t(-10013);
19612}
19613impl camera_status_t {
19614    pub const ACAMERA_ERROR_UNSUPPORTED_OPERATION: camera_status_t = camera_status_t(-10014);
19615}
19616#[repr(transparent)]
19617#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19618pub struct camera_status_t(pub ::std::os::raw::c_int);
19619impl acamera_metadata_section {
19620    pub const ACAMERA_COLOR_CORRECTION: acamera_metadata_section = acamera_metadata_section(0);
19621}
19622impl acamera_metadata_section {
19623    pub const ACAMERA_CONTROL: acamera_metadata_section = acamera_metadata_section(1);
19624}
19625impl acamera_metadata_section {
19626    pub const ACAMERA_DEMOSAIC: acamera_metadata_section = acamera_metadata_section(2);
19627}
19628impl acamera_metadata_section {
19629    pub const ACAMERA_EDGE: acamera_metadata_section = acamera_metadata_section(3);
19630}
19631impl acamera_metadata_section {
19632    pub const ACAMERA_FLASH: acamera_metadata_section = acamera_metadata_section(4);
19633}
19634impl acamera_metadata_section {
19635    pub const ACAMERA_FLASH_INFO: acamera_metadata_section = acamera_metadata_section(5);
19636}
19637impl acamera_metadata_section {
19638    pub const ACAMERA_HOT_PIXEL: acamera_metadata_section = acamera_metadata_section(6);
19639}
19640impl acamera_metadata_section {
19641    pub const ACAMERA_JPEG: acamera_metadata_section = acamera_metadata_section(7);
19642}
19643impl acamera_metadata_section {
19644    pub const ACAMERA_LENS: acamera_metadata_section = acamera_metadata_section(8);
19645}
19646impl acamera_metadata_section {
19647    pub const ACAMERA_LENS_INFO: acamera_metadata_section = acamera_metadata_section(9);
19648}
19649impl acamera_metadata_section {
19650    pub const ACAMERA_NOISE_REDUCTION: acamera_metadata_section = acamera_metadata_section(10);
19651}
19652impl acamera_metadata_section {
19653    pub const ACAMERA_QUIRKS: acamera_metadata_section = acamera_metadata_section(11);
19654}
19655impl acamera_metadata_section {
19656    pub const ACAMERA_REQUEST: acamera_metadata_section = acamera_metadata_section(12);
19657}
19658impl acamera_metadata_section {
19659    pub const ACAMERA_SCALER: acamera_metadata_section = acamera_metadata_section(13);
19660}
19661impl acamera_metadata_section {
19662    pub const ACAMERA_SENSOR: acamera_metadata_section = acamera_metadata_section(14);
19663}
19664impl acamera_metadata_section {
19665    pub const ACAMERA_SENSOR_INFO: acamera_metadata_section = acamera_metadata_section(15);
19666}
19667impl acamera_metadata_section {
19668    pub const ACAMERA_SHADING: acamera_metadata_section = acamera_metadata_section(16);
19669}
19670impl acamera_metadata_section {
19671    pub const ACAMERA_STATISTICS: acamera_metadata_section = acamera_metadata_section(17);
19672}
19673impl acamera_metadata_section {
19674    pub const ACAMERA_STATISTICS_INFO: acamera_metadata_section = acamera_metadata_section(18);
19675}
19676impl acamera_metadata_section {
19677    pub const ACAMERA_TONEMAP: acamera_metadata_section = acamera_metadata_section(19);
19678}
19679impl acamera_metadata_section {
19680    pub const ACAMERA_LED: acamera_metadata_section = acamera_metadata_section(20);
19681}
19682impl acamera_metadata_section {
19683    pub const ACAMERA_INFO: acamera_metadata_section = acamera_metadata_section(21);
19684}
19685impl acamera_metadata_section {
19686    pub const ACAMERA_BLACK_LEVEL: acamera_metadata_section = acamera_metadata_section(22);
19687}
19688impl acamera_metadata_section {
19689    pub const ACAMERA_SYNC: acamera_metadata_section = acamera_metadata_section(23);
19690}
19691impl acamera_metadata_section {
19692    pub const ACAMERA_REPROCESS: acamera_metadata_section = acamera_metadata_section(24);
19693}
19694impl acamera_metadata_section {
19695    pub const ACAMERA_DEPTH: acamera_metadata_section = acamera_metadata_section(25);
19696}
19697impl acamera_metadata_section {
19698    pub const ACAMERA_LOGICAL_MULTI_CAMERA: acamera_metadata_section = acamera_metadata_section(26);
19699}
19700impl acamera_metadata_section {
19701    pub const ACAMERA_DISTORTION_CORRECTION: acamera_metadata_section =
19702        acamera_metadata_section(27);
19703}
19704impl acamera_metadata_section {
19705    pub const ACAMERA_HEIC: acamera_metadata_section = acamera_metadata_section(28);
19706}
19707impl acamera_metadata_section {
19708    pub const ACAMERA_HEIC_INFO: acamera_metadata_section = acamera_metadata_section(29);
19709}
19710impl acamera_metadata_section {
19711    pub const ACAMERA_AUTOMOTIVE: acamera_metadata_section = acamera_metadata_section(30);
19712}
19713impl acamera_metadata_section {
19714    pub const ACAMERA_AUTOMOTIVE_LENS: acamera_metadata_section = acamera_metadata_section(31);
19715}
19716impl acamera_metadata_section {
19717    pub const ACAMERA_EXTENSION: acamera_metadata_section = acamera_metadata_section(32);
19718}
19719impl acamera_metadata_section {
19720    pub const ACAMERA_JPEGR: acamera_metadata_section = acamera_metadata_section(33);
19721}
19722impl acamera_metadata_section {
19723    pub const ACAMERA_SECTION_COUNT: acamera_metadata_section = acamera_metadata_section(34);
19724}
19725impl acamera_metadata_section {
19726    pub const ACAMERA_VENDOR: acamera_metadata_section = acamera_metadata_section(32768);
19727}
19728#[repr(transparent)]
19729#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19730pub struct acamera_metadata_section(pub ::std::os::raw::c_uint);
19731pub use self::acamera_metadata_section as acamera_metadata_section_t;
19732impl acamera_metadata_section_start {
19733    pub const ACAMERA_COLOR_CORRECTION_START: acamera_metadata_section_start =
19734        acamera_metadata_section_start(0);
19735}
19736impl acamera_metadata_section_start {
19737    pub const ACAMERA_CONTROL_START: acamera_metadata_section_start =
19738        acamera_metadata_section_start(65536);
19739}
19740impl acamera_metadata_section_start {
19741    pub const ACAMERA_DEMOSAIC_START: acamera_metadata_section_start =
19742        acamera_metadata_section_start(131072);
19743}
19744impl acamera_metadata_section_start {
19745    pub const ACAMERA_EDGE_START: acamera_metadata_section_start =
19746        acamera_metadata_section_start(196608);
19747}
19748impl acamera_metadata_section_start {
19749    pub const ACAMERA_FLASH_START: acamera_metadata_section_start =
19750        acamera_metadata_section_start(262144);
19751}
19752impl acamera_metadata_section_start {
19753    pub const ACAMERA_FLASH_INFO_START: acamera_metadata_section_start =
19754        acamera_metadata_section_start(327680);
19755}
19756impl acamera_metadata_section_start {
19757    pub const ACAMERA_HOT_PIXEL_START: acamera_metadata_section_start =
19758        acamera_metadata_section_start(393216);
19759}
19760impl acamera_metadata_section_start {
19761    pub const ACAMERA_JPEG_START: acamera_metadata_section_start =
19762        acamera_metadata_section_start(458752);
19763}
19764impl acamera_metadata_section_start {
19765    pub const ACAMERA_LENS_START: acamera_metadata_section_start =
19766        acamera_metadata_section_start(524288);
19767}
19768impl acamera_metadata_section_start {
19769    pub const ACAMERA_LENS_INFO_START: acamera_metadata_section_start =
19770        acamera_metadata_section_start(589824);
19771}
19772impl acamera_metadata_section_start {
19773    pub const ACAMERA_NOISE_REDUCTION_START: acamera_metadata_section_start =
19774        acamera_metadata_section_start(655360);
19775}
19776impl acamera_metadata_section_start {
19777    pub const ACAMERA_QUIRKS_START: acamera_metadata_section_start =
19778        acamera_metadata_section_start(720896);
19779}
19780impl acamera_metadata_section_start {
19781    pub const ACAMERA_REQUEST_START: acamera_metadata_section_start =
19782        acamera_metadata_section_start(786432);
19783}
19784impl acamera_metadata_section_start {
19785    pub const ACAMERA_SCALER_START: acamera_metadata_section_start =
19786        acamera_metadata_section_start(851968);
19787}
19788impl acamera_metadata_section_start {
19789    pub const ACAMERA_SENSOR_START: acamera_metadata_section_start =
19790        acamera_metadata_section_start(917504);
19791}
19792impl acamera_metadata_section_start {
19793    pub const ACAMERA_SENSOR_INFO_START: acamera_metadata_section_start =
19794        acamera_metadata_section_start(983040);
19795}
19796impl acamera_metadata_section_start {
19797    pub const ACAMERA_SHADING_START: acamera_metadata_section_start =
19798        acamera_metadata_section_start(1048576);
19799}
19800impl acamera_metadata_section_start {
19801    pub const ACAMERA_STATISTICS_START: acamera_metadata_section_start =
19802        acamera_metadata_section_start(1114112);
19803}
19804impl acamera_metadata_section_start {
19805    pub const ACAMERA_STATISTICS_INFO_START: acamera_metadata_section_start =
19806        acamera_metadata_section_start(1179648);
19807}
19808impl acamera_metadata_section_start {
19809    pub const ACAMERA_TONEMAP_START: acamera_metadata_section_start =
19810        acamera_metadata_section_start(1245184);
19811}
19812impl acamera_metadata_section_start {
19813    pub const ACAMERA_LED_START: acamera_metadata_section_start =
19814        acamera_metadata_section_start(1310720);
19815}
19816impl acamera_metadata_section_start {
19817    pub const ACAMERA_INFO_START: acamera_metadata_section_start =
19818        acamera_metadata_section_start(1376256);
19819}
19820impl acamera_metadata_section_start {
19821    pub const ACAMERA_BLACK_LEVEL_START: acamera_metadata_section_start =
19822        acamera_metadata_section_start(1441792);
19823}
19824impl acamera_metadata_section_start {
19825    pub const ACAMERA_SYNC_START: acamera_metadata_section_start =
19826        acamera_metadata_section_start(1507328);
19827}
19828impl acamera_metadata_section_start {
19829    pub const ACAMERA_REPROCESS_START: acamera_metadata_section_start =
19830        acamera_metadata_section_start(1572864);
19831}
19832impl acamera_metadata_section_start {
19833    pub const ACAMERA_DEPTH_START: acamera_metadata_section_start =
19834        acamera_metadata_section_start(1638400);
19835}
19836impl acamera_metadata_section_start {
19837    pub const ACAMERA_LOGICAL_MULTI_CAMERA_START: acamera_metadata_section_start =
19838        acamera_metadata_section_start(1703936);
19839}
19840impl acamera_metadata_section_start {
19841    pub const ACAMERA_DISTORTION_CORRECTION_START: acamera_metadata_section_start =
19842        acamera_metadata_section_start(1769472);
19843}
19844impl acamera_metadata_section_start {
19845    pub const ACAMERA_HEIC_START: acamera_metadata_section_start =
19846        acamera_metadata_section_start(1835008);
19847}
19848impl acamera_metadata_section_start {
19849    pub const ACAMERA_HEIC_INFO_START: acamera_metadata_section_start =
19850        acamera_metadata_section_start(1900544);
19851}
19852impl acamera_metadata_section_start {
19853    pub const ACAMERA_AUTOMOTIVE_START: acamera_metadata_section_start =
19854        acamera_metadata_section_start(1966080);
19855}
19856impl acamera_metadata_section_start {
19857    pub const ACAMERA_AUTOMOTIVE_LENS_START: acamera_metadata_section_start =
19858        acamera_metadata_section_start(2031616);
19859}
19860impl acamera_metadata_section_start {
19861    pub const ACAMERA_EXTENSION_START: acamera_metadata_section_start =
19862        acamera_metadata_section_start(2097152);
19863}
19864impl acamera_metadata_section_start {
19865    pub const ACAMERA_JPEGR_START: acamera_metadata_section_start =
19866        acamera_metadata_section_start(2162688);
19867}
19868impl acamera_metadata_section_start {
19869    pub const ACAMERA_VENDOR_START: acamera_metadata_section_start =
19870        acamera_metadata_section_start(-2147483648);
19871}
19872#[repr(transparent)]
19873#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19874pub struct acamera_metadata_section_start(pub ::std::os::raw::c_int);
19875pub use self::acamera_metadata_section_start as acamera_metadata_section_start_t;
19876impl acamera_metadata_tag {
19877    pub const ACAMERA_COLOR_CORRECTION_MODE: acamera_metadata_tag = acamera_metadata_tag(0);
19878}
19879impl acamera_metadata_tag {
19880    pub const ACAMERA_COLOR_CORRECTION_TRANSFORM: acamera_metadata_tag = acamera_metadata_tag(1);
19881}
19882impl acamera_metadata_tag {
19883    pub const ACAMERA_COLOR_CORRECTION_GAINS: acamera_metadata_tag = acamera_metadata_tag(2);
19884}
19885impl acamera_metadata_tag {
19886    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE: acamera_metadata_tag =
19887        acamera_metadata_tag(3);
19888}
19889impl acamera_metadata_tag {
19890    pub const ACAMERA_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES: acamera_metadata_tag =
19891        acamera_metadata_tag(4);
19892}
19893impl acamera_metadata_tag {
19894    pub const ACAMERA_COLOR_CORRECTION_END: acamera_metadata_tag = acamera_metadata_tag(5);
19895}
19896impl acamera_metadata_tag {
19897    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE: acamera_metadata_tag =
19898        acamera_metadata_tag(65536);
19899}
19900impl acamera_metadata_tag {
19901    pub const ACAMERA_CONTROL_AE_EXPOSURE_COMPENSATION: acamera_metadata_tag =
19902        acamera_metadata_tag(65537);
19903}
19904impl acamera_metadata_tag {
19905    pub const ACAMERA_CONTROL_AE_LOCK: acamera_metadata_tag = acamera_metadata_tag(65538);
19906}
19907impl acamera_metadata_tag {
19908    pub const ACAMERA_CONTROL_AE_MODE: acamera_metadata_tag = acamera_metadata_tag(65539);
19909}
19910impl acamera_metadata_tag {
19911    pub const ACAMERA_CONTROL_AE_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65540);
19912}
19913impl acamera_metadata_tag {
19914    pub const ACAMERA_CONTROL_AE_TARGET_FPS_RANGE: acamera_metadata_tag =
19915        acamera_metadata_tag(65541);
19916}
19917impl acamera_metadata_tag {
19918    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER: acamera_metadata_tag =
19919        acamera_metadata_tag(65542);
19920}
19921impl acamera_metadata_tag {
19922    pub const ACAMERA_CONTROL_AF_MODE: acamera_metadata_tag = acamera_metadata_tag(65543);
19923}
19924impl acamera_metadata_tag {
19925    pub const ACAMERA_CONTROL_AF_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65544);
19926}
19927impl acamera_metadata_tag {
19928    pub const ACAMERA_CONTROL_AF_TRIGGER: acamera_metadata_tag = acamera_metadata_tag(65545);
19929}
19930impl acamera_metadata_tag {
19931    pub const ACAMERA_CONTROL_AWB_LOCK: acamera_metadata_tag = acamera_metadata_tag(65546);
19932}
19933impl acamera_metadata_tag {
19934    pub const ACAMERA_CONTROL_AWB_MODE: acamera_metadata_tag = acamera_metadata_tag(65547);
19935}
19936impl acamera_metadata_tag {
19937    pub const ACAMERA_CONTROL_AWB_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65548);
19938}
19939impl acamera_metadata_tag {
19940    pub const ACAMERA_CONTROL_CAPTURE_INTENT: acamera_metadata_tag = acamera_metadata_tag(65549);
19941}
19942impl acamera_metadata_tag {
19943    pub const ACAMERA_CONTROL_EFFECT_MODE: acamera_metadata_tag = acamera_metadata_tag(65550);
19944}
19945impl acamera_metadata_tag {
19946    pub const ACAMERA_CONTROL_MODE: acamera_metadata_tag = acamera_metadata_tag(65551);
19947}
19948impl acamera_metadata_tag {
19949    pub const ACAMERA_CONTROL_SCENE_MODE: acamera_metadata_tag = acamera_metadata_tag(65552);
19950}
19951impl acamera_metadata_tag {
19952    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE: acamera_metadata_tag =
19953        acamera_metadata_tag(65553);
19954}
19955impl acamera_metadata_tag {
19956    pub const ACAMERA_CONTROL_AE_AVAILABLE_ANTIBANDING_MODES: acamera_metadata_tag =
19957        acamera_metadata_tag(65554);
19958}
19959impl acamera_metadata_tag {
19960    pub const ACAMERA_CONTROL_AE_AVAILABLE_MODES: acamera_metadata_tag =
19961        acamera_metadata_tag(65555);
19962}
19963impl acamera_metadata_tag {
19964    pub const ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES: acamera_metadata_tag =
19965        acamera_metadata_tag(65556);
19966}
19967impl acamera_metadata_tag {
19968    pub const ACAMERA_CONTROL_AE_COMPENSATION_RANGE: acamera_metadata_tag =
19969        acamera_metadata_tag(65557);
19970}
19971impl acamera_metadata_tag {
19972    pub const ACAMERA_CONTROL_AE_COMPENSATION_STEP: acamera_metadata_tag =
19973        acamera_metadata_tag(65558);
19974}
19975impl acamera_metadata_tag {
19976    pub const ACAMERA_CONTROL_AF_AVAILABLE_MODES: acamera_metadata_tag =
19977        acamera_metadata_tag(65559);
19978}
19979impl acamera_metadata_tag {
19980    pub const ACAMERA_CONTROL_AVAILABLE_EFFECTS: acamera_metadata_tag = acamera_metadata_tag(65560);
19981}
19982impl acamera_metadata_tag {
19983    pub const ACAMERA_CONTROL_AVAILABLE_SCENE_MODES: acamera_metadata_tag =
19984        acamera_metadata_tag(65561);
19985}
19986impl acamera_metadata_tag {
19987    pub const ACAMERA_CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES: acamera_metadata_tag =
19988        acamera_metadata_tag(65562);
19989}
19990impl acamera_metadata_tag {
19991    pub const ACAMERA_CONTROL_AWB_AVAILABLE_MODES: acamera_metadata_tag =
19992        acamera_metadata_tag(65563);
19993}
19994impl acamera_metadata_tag {
19995    pub const ACAMERA_CONTROL_MAX_REGIONS: acamera_metadata_tag = acamera_metadata_tag(65564);
19996}
19997impl acamera_metadata_tag {
19998    pub const ACAMERA_CONTROL_AE_STATE: acamera_metadata_tag = acamera_metadata_tag(65567);
19999}
20000impl acamera_metadata_tag {
20001    pub const ACAMERA_CONTROL_AF_STATE: acamera_metadata_tag = acamera_metadata_tag(65568);
20002}
20003impl acamera_metadata_tag {
20004    pub const ACAMERA_CONTROL_AWB_STATE: acamera_metadata_tag = acamera_metadata_tag(65570);
20005}
20006impl acamera_metadata_tag {
20007    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE: acamera_metadata_tag = acamera_metadata_tag(65572);
20008}
20009impl acamera_metadata_tag {
20010    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE: acamera_metadata_tag =
20011        acamera_metadata_tag(65573);
20012}
20013impl acamera_metadata_tag {
20014    pub const ACAMERA_CONTROL_AVAILABLE_MODES: acamera_metadata_tag = acamera_metadata_tag(65574);
20015}
20016impl acamera_metadata_tag {
20017    pub const ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE: acamera_metadata_tag =
20018        acamera_metadata_tag(65575);
20019}
20020impl acamera_metadata_tag {
20021    pub const ACAMERA_CONTROL_POST_RAW_SENSITIVITY_BOOST: acamera_metadata_tag =
20022        acamera_metadata_tag(65576);
20023}
20024impl acamera_metadata_tag {
20025    pub const ACAMERA_CONTROL_ENABLE_ZSL: acamera_metadata_tag = acamera_metadata_tag(65577);
20026}
20027impl acamera_metadata_tag {
20028    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE: acamera_metadata_tag = acamera_metadata_tag(65578);
20029}
20030impl acamera_metadata_tag {
20031    pub const ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_MAX_SIZES: acamera_metadata_tag =
20032        acamera_metadata_tag(65579);
20033}
20034impl acamera_metadata_tag {
20035    pub const ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES:
20036        acamera_metadata_tag = acamera_metadata_tag(65580);
20037}
20038impl acamera_metadata_tag {
20039    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE: acamera_metadata_tag =
20040        acamera_metadata_tag(65581);
20041}
20042impl acamera_metadata_tag {
20043    pub const ACAMERA_CONTROL_ZOOM_RATIO_RANGE: acamera_metadata_tag = acamera_metadata_tag(65582);
20044}
20045impl acamera_metadata_tag {
20046    pub const ACAMERA_CONTROL_ZOOM_RATIO: acamera_metadata_tag = acamera_metadata_tag(65583);
20047}
20048impl acamera_metadata_tag {
20049    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE: acamera_metadata_tag = acamera_metadata_tag(65588);
20050}
20051impl acamera_metadata_tag {
20052    pub const ACAMERA_CONTROL_AVAILABLE_SETTINGS_OVERRIDES: acamera_metadata_tag =
20053        acamera_metadata_tag(65589);
20054}
20055impl acamera_metadata_tag {
20056    pub const ACAMERA_CONTROL_AUTOFRAMING: acamera_metadata_tag = acamera_metadata_tag(65591);
20057}
20058impl acamera_metadata_tag {
20059    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE: acamera_metadata_tag =
20060        acamera_metadata_tag(65592);
20061}
20062impl acamera_metadata_tag {
20063    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE: acamera_metadata_tag = acamera_metadata_tag(65593);
20064}
20065impl acamera_metadata_tag {
20066    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE: acamera_metadata_tag =
20067        acamera_metadata_tag(65594);
20068}
20069impl acamera_metadata_tag {
20070    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE: acamera_metadata_tag =
20071        acamera_metadata_tag(65595);
20072}
20073impl acamera_metadata_tag {
20074    pub const ACAMERA_CONTROL_END: acamera_metadata_tag = acamera_metadata_tag(65596);
20075}
20076impl acamera_metadata_tag {
20077    pub const ACAMERA_EDGE_MODE: acamera_metadata_tag = acamera_metadata_tag(196608);
20078}
20079impl acamera_metadata_tag {
20080    pub const ACAMERA_EDGE_AVAILABLE_EDGE_MODES: acamera_metadata_tag =
20081        acamera_metadata_tag(196610);
20082}
20083impl acamera_metadata_tag {
20084    pub const ACAMERA_EDGE_END: acamera_metadata_tag = acamera_metadata_tag(196611);
20085}
20086impl acamera_metadata_tag {
20087    pub const ACAMERA_FLASH_MODE: acamera_metadata_tag = acamera_metadata_tag(262146);
20088}
20089impl acamera_metadata_tag {
20090    pub const ACAMERA_FLASH_STATE: acamera_metadata_tag = acamera_metadata_tag(262149);
20091}
20092impl acamera_metadata_tag {
20093    pub const ACAMERA_FLASH_STRENGTH_LEVEL: acamera_metadata_tag = acamera_metadata_tag(262150);
20094}
20095impl acamera_metadata_tag {
20096    pub const ACAMERA_FLASH_SINGLE_STRENGTH_MAX_LEVEL: acamera_metadata_tag =
20097        acamera_metadata_tag(262151);
20098}
20099impl acamera_metadata_tag {
20100    pub const ACAMERA_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
20101        acamera_metadata_tag(262152);
20102}
20103impl acamera_metadata_tag {
20104    pub const ACAMERA_FLASH_TORCH_STRENGTH_MAX_LEVEL: acamera_metadata_tag =
20105        acamera_metadata_tag(262153);
20106}
20107impl acamera_metadata_tag {
20108    pub const ACAMERA_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
20109        acamera_metadata_tag(262154);
20110}
20111impl acamera_metadata_tag {
20112    pub const ACAMERA_FLASH_END: acamera_metadata_tag = acamera_metadata_tag(262155);
20113}
20114impl acamera_metadata_tag {
20115    pub const ACAMERA_FLASH_INFO_AVAILABLE: acamera_metadata_tag = acamera_metadata_tag(327680);
20116}
20117impl acamera_metadata_tag {
20118    pub const ACAMERA_FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: acamera_metadata_tag =
20119        acamera_metadata_tag(327682);
20120}
20121impl acamera_metadata_tag {
20122    pub const ACAMERA_FLASH_INFO_STRENGTH_DEFAULT_LEVEL: acamera_metadata_tag =
20123        acamera_metadata_tag(327683);
20124}
20125impl acamera_metadata_tag {
20126    pub const ACAMERA_FLASH_INFO_END: acamera_metadata_tag = acamera_metadata_tag(327684);
20127}
20128impl acamera_metadata_tag {
20129    pub const ACAMERA_HOT_PIXEL_MODE: acamera_metadata_tag = acamera_metadata_tag(393216);
20130}
20131impl acamera_metadata_tag {
20132    pub const ACAMERA_HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES: acamera_metadata_tag =
20133        acamera_metadata_tag(393217);
20134}
20135impl acamera_metadata_tag {
20136    pub const ACAMERA_HOT_PIXEL_END: acamera_metadata_tag = acamera_metadata_tag(393218);
20137}
20138impl acamera_metadata_tag {
20139    pub const ACAMERA_JPEG_GPS_COORDINATES: acamera_metadata_tag = acamera_metadata_tag(458752);
20140}
20141impl acamera_metadata_tag {
20142    pub const ACAMERA_JPEG_GPS_PROCESSING_METHOD: acamera_metadata_tag =
20143        acamera_metadata_tag(458753);
20144}
20145impl acamera_metadata_tag {
20146    pub const ACAMERA_JPEG_GPS_TIMESTAMP: acamera_metadata_tag = acamera_metadata_tag(458754);
20147}
20148impl acamera_metadata_tag {
20149    pub const ACAMERA_JPEG_ORIENTATION: acamera_metadata_tag = acamera_metadata_tag(458755);
20150}
20151impl acamera_metadata_tag {
20152    pub const ACAMERA_JPEG_QUALITY: acamera_metadata_tag = acamera_metadata_tag(458756);
20153}
20154impl acamera_metadata_tag {
20155    pub const ACAMERA_JPEG_THUMBNAIL_QUALITY: acamera_metadata_tag = acamera_metadata_tag(458757);
20156}
20157impl acamera_metadata_tag {
20158    pub const ACAMERA_JPEG_THUMBNAIL_SIZE: acamera_metadata_tag = acamera_metadata_tag(458758);
20159}
20160impl acamera_metadata_tag {
20161    pub const ACAMERA_JPEG_AVAILABLE_THUMBNAIL_SIZES: acamera_metadata_tag =
20162        acamera_metadata_tag(458759);
20163}
20164impl acamera_metadata_tag {
20165    pub const ACAMERA_JPEG_END: acamera_metadata_tag = acamera_metadata_tag(458760);
20166}
20167impl acamera_metadata_tag {
20168    pub const ACAMERA_LENS_APERTURE: acamera_metadata_tag = acamera_metadata_tag(524288);
20169}
20170impl acamera_metadata_tag {
20171    pub const ACAMERA_LENS_FILTER_DENSITY: acamera_metadata_tag = acamera_metadata_tag(524289);
20172}
20173impl acamera_metadata_tag {
20174    pub const ACAMERA_LENS_FOCAL_LENGTH: acamera_metadata_tag = acamera_metadata_tag(524290);
20175}
20176impl acamera_metadata_tag {
20177    pub const ACAMERA_LENS_FOCUS_DISTANCE: acamera_metadata_tag = acamera_metadata_tag(524291);
20178}
20179impl acamera_metadata_tag {
20180    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE: acamera_metadata_tag =
20181        acamera_metadata_tag(524292);
20182}
20183impl acamera_metadata_tag {
20184    pub const ACAMERA_LENS_FACING: acamera_metadata_tag = acamera_metadata_tag(524293);
20185}
20186impl acamera_metadata_tag {
20187    pub const ACAMERA_LENS_POSE_ROTATION: acamera_metadata_tag = acamera_metadata_tag(524294);
20188}
20189impl acamera_metadata_tag {
20190    pub const ACAMERA_LENS_POSE_TRANSLATION: acamera_metadata_tag = acamera_metadata_tag(524295);
20191}
20192impl acamera_metadata_tag {
20193    pub const ACAMERA_LENS_FOCUS_RANGE: acamera_metadata_tag = acamera_metadata_tag(524296);
20194}
20195impl acamera_metadata_tag {
20196    pub const ACAMERA_LENS_STATE: acamera_metadata_tag = acamera_metadata_tag(524297);
20197}
20198impl acamera_metadata_tag {
20199    pub const ACAMERA_LENS_INTRINSIC_CALIBRATION: acamera_metadata_tag =
20200        acamera_metadata_tag(524298);
20201}
20202impl acamera_metadata_tag {
20203    pub const ACAMERA_LENS_RADIAL_DISTORTION: acamera_metadata_tag = acamera_metadata_tag(524299);
20204}
20205impl acamera_metadata_tag {
20206    pub const ACAMERA_LENS_POSE_REFERENCE: acamera_metadata_tag = acamera_metadata_tag(524300);
20207}
20208impl acamera_metadata_tag {
20209    pub const ACAMERA_LENS_DISTORTION: acamera_metadata_tag = acamera_metadata_tag(524301);
20210}
20211impl acamera_metadata_tag {
20212    pub const ACAMERA_LENS_DISTORTION_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20213        acamera_metadata_tag(524302);
20214}
20215impl acamera_metadata_tag {
20216    pub const ACAMERA_LENS_INTRINSIC_CALIBRATION_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20217        acamera_metadata_tag(524303);
20218}
20219impl acamera_metadata_tag {
20220    pub const ACAMERA_LENS_END: acamera_metadata_tag = acamera_metadata_tag(524304);
20221}
20222impl acamera_metadata_tag {
20223    pub const ACAMERA_LENS_INFO_AVAILABLE_APERTURES: acamera_metadata_tag =
20224        acamera_metadata_tag(589824);
20225}
20226impl acamera_metadata_tag {
20227    pub const ACAMERA_LENS_INFO_AVAILABLE_FILTER_DENSITIES: acamera_metadata_tag =
20228        acamera_metadata_tag(589825);
20229}
20230impl acamera_metadata_tag {
20231    pub const ACAMERA_LENS_INFO_AVAILABLE_FOCAL_LENGTHS: acamera_metadata_tag =
20232        acamera_metadata_tag(589826);
20233}
20234impl acamera_metadata_tag {
20235    pub const ACAMERA_LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: acamera_metadata_tag =
20236        acamera_metadata_tag(589827);
20237}
20238impl acamera_metadata_tag {
20239    pub const ACAMERA_LENS_INFO_HYPERFOCAL_DISTANCE: acamera_metadata_tag =
20240        acamera_metadata_tag(589828);
20241}
20242impl acamera_metadata_tag {
20243    pub const ACAMERA_LENS_INFO_MINIMUM_FOCUS_DISTANCE: acamera_metadata_tag =
20244        acamera_metadata_tag(589829);
20245}
20246impl acamera_metadata_tag {
20247    pub const ACAMERA_LENS_INFO_SHADING_MAP_SIZE: acamera_metadata_tag =
20248        acamera_metadata_tag(589830);
20249}
20250impl acamera_metadata_tag {
20251    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION: acamera_metadata_tag =
20252        acamera_metadata_tag(589831);
20253}
20254impl acamera_metadata_tag {
20255    pub const ACAMERA_LENS_INFO_END: acamera_metadata_tag = acamera_metadata_tag(589832);
20256}
20257impl acamera_metadata_tag {
20258    pub const ACAMERA_NOISE_REDUCTION_MODE: acamera_metadata_tag = acamera_metadata_tag(655360);
20259}
20260impl acamera_metadata_tag {
20261    pub const ACAMERA_NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES: acamera_metadata_tag =
20262        acamera_metadata_tag(655362);
20263}
20264impl acamera_metadata_tag {
20265    pub const ACAMERA_NOISE_REDUCTION_END: acamera_metadata_tag = acamera_metadata_tag(655363);
20266}
20267impl acamera_metadata_tag {
20268    pub const ACAMERA_REQUEST_MAX_NUM_OUTPUT_STREAMS: acamera_metadata_tag =
20269        acamera_metadata_tag(786438);
20270}
20271impl acamera_metadata_tag {
20272    pub const ACAMERA_REQUEST_PIPELINE_DEPTH: acamera_metadata_tag = acamera_metadata_tag(786441);
20273}
20274impl acamera_metadata_tag {
20275    pub const ACAMERA_REQUEST_PIPELINE_MAX_DEPTH: acamera_metadata_tag =
20276        acamera_metadata_tag(786442);
20277}
20278impl acamera_metadata_tag {
20279    pub const ACAMERA_REQUEST_PARTIAL_RESULT_COUNT: acamera_metadata_tag =
20280        acamera_metadata_tag(786443);
20281}
20282impl acamera_metadata_tag {
20283    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES: acamera_metadata_tag =
20284        acamera_metadata_tag(786444);
20285}
20286impl acamera_metadata_tag {
20287    pub const ACAMERA_REQUEST_AVAILABLE_REQUEST_KEYS: acamera_metadata_tag =
20288        acamera_metadata_tag(786445);
20289}
20290impl acamera_metadata_tag {
20291    pub const ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS: acamera_metadata_tag =
20292        acamera_metadata_tag(786446);
20293}
20294impl acamera_metadata_tag {
20295    pub const ACAMERA_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS: acamera_metadata_tag =
20296        acamera_metadata_tag(786447);
20297}
20298impl acamera_metadata_tag {
20299    pub const ACAMERA_REQUEST_AVAILABLE_SESSION_KEYS: acamera_metadata_tag =
20300        acamera_metadata_tag(786448);
20301}
20302impl acamera_metadata_tag {
20303    pub const ACAMERA_REQUEST_AVAILABLE_PHYSICAL_CAMERA_REQUEST_KEYS: acamera_metadata_tag =
20304        acamera_metadata_tag(786449);
20305}
20306impl acamera_metadata_tag {
20307    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP: acamera_metadata_tag =
20308        acamera_metadata_tag(786451);
20309}
20310impl acamera_metadata_tag {
20311    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP: acamera_metadata_tag =
20312        acamera_metadata_tag(786453);
20313}
20314impl acamera_metadata_tag {
20315    pub const ACAMERA_REQUEST_END: acamera_metadata_tag = acamera_metadata_tag(786454);
20316}
20317impl acamera_metadata_tag {
20318    pub const ACAMERA_SCALER_CROP_REGION: acamera_metadata_tag = acamera_metadata_tag(851968);
20319}
20320impl acamera_metadata_tag {
20321    pub const ACAMERA_SCALER_AVAILABLE_MAX_DIGITAL_ZOOM: acamera_metadata_tag =
20322        acamera_metadata_tag(851972);
20323}
20324impl acamera_metadata_tag {
20325    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20326        acamera_metadata_tag(851978);
20327}
20328impl acamera_metadata_tag {
20329    pub const ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20330        acamera_metadata_tag(851979);
20331}
20332impl acamera_metadata_tag {
20333    pub const ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS: acamera_metadata_tag =
20334        acamera_metadata_tag(851980);
20335}
20336impl acamera_metadata_tag {
20337    pub const ACAMERA_SCALER_CROPPING_TYPE: acamera_metadata_tag = acamera_metadata_tag(851981);
20338}
20339impl acamera_metadata_tag {
20340    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20341        acamera_metadata_tag(851982);
20342}
20343impl acamera_metadata_tag {
20344    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP: acamera_metadata_tag =
20345        acamera_metadata_tag(851983);
20346}
20347impl acamera_metadata_tag {
20348    pub const ACAMERA_SCALER_AVAILABLE_ROTATE_AND_CROP_MODES: acamera_metadata_tag =
20349        acamera_metadata_tag(851984);
20350}
20351impl acamera_metadata_tag {
20352    pub const ACAMERA_SCALER_ROTATE_AND_CROP: acamera_metadata_tag = acamera_metadata_tag(851985);
20353}
20354impl acamera_metadata_tag {
20355    pub const ACAMERA_SCALER_DEFAULT_SECURE_IMAGE_SIZE: acamera_metadata_tag =
20356        acamera_metadata_tag(851986);
20357}
20358impl acamera_metadata_tag {
20359    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS:
20360        acamera_metadata_tag = acamera_metadata_tag(851987);
20361}
20362impl acamera_metadata_tag {
20363    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20364        acamera_metadata_tag = acamera_metadata_tag(851988);
20365}
20366impl acamera_metadata_tag {
20367    pub const ACAMERA_SCALER_AVAILABLE_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20368        acamera_metadata_tag = acamera_metadata_tag(851989);
20369}
20370impl acamera_metadata_tag {
20371    pub const ACAMERA_SCALER_AVAILABLE_STALL_DURATIONS_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20372        acamera_metadata_tag(851990);
20373}
20374impl acamera_metadata_tag {
20375    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED: acamera_metadata_tag =
20376        acamera_metadata_tag(851992);
20377}
20378impl acamera_metadata_tag {
20379    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES: acamera_metadata_tag =
20380        acamera_metadata_tag(851994);
20381}
20382impl acamera_metadata_tag {
20383    pub const ACAMERA_SCALER_RAW_CROP_REGION: acamera_metadata_tag = acamera_metadata_tag(851995);
20384}
20385impl acamera_metadata_tag {
20386    pub const ACAMERA_SCALER_END: acamera_metadata_tag = acamera_metadata_tag(851996);
20387}
20388impl acamera_metadata_tag {
20389    pub const ACAMERA_SENSOR_EXPOSURE_TIME: acamera_metadata_tag = acamera_metadata_tag(917504);
20390}
20391impl acamera_metadata_tag {
20392    pub const ACAMERA_SENSOR_FRAME_DURATION: acamera_metadata_tag = acamera_metadata_tag(917505);
20393}
20394impl acamera_metadata_tag {
20395    pub const ACAMERA_SENSOR_SENSITIVITY: acamera_metadata_tag = acamera_metadata_tag(917506);
20396}
20397impl acamera_metadata_tag {
20398    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1: acamera_metadata_tag =
20399        acamera_metadata_tag(917507);
20400}
20401impl acamera_metadata_tag {
20402    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT2: acamera_metadata_tag =
20403        acamera_metadata_tag(917508);
20404}
20405impl acamera_metadata_tag {
20406    pub const ACAMERA_SENSOR_CALIBRATION_TRANSFORM1: acamera_metadata_tag =
20407        acamera_metadata_tag(917509);
20408}
20409impl acamera_metadata_tag {
20410    pub const ACAMERA_SENSOR_CALIBRATION_TRANSFORM2: acamera_metadata_tag =
20411        acamera_metadata_tag(917510);
20412}
20413impl acamera_metadata_tag {
20414    pub const ACAMERA_SENSOR_COLOR_TRANSFORM1: acamera_metadata_tag = acamera_metadata_tag(917511);
20415}
20416impl acamera_metadata_tag {
20417    pub const ACAMERA_SENSOR_COLOR_TRANSFORM2: acamera_metadata_tag = acamera_metadata_tag(917512);
20418}
20419impl acamera_metadata_tag {
20420    pub const ACAMERA_SENSOR_FORWARD_MATRIX1: acamera_metadata_tag = acamera_metadata_tag(917513);
20421}
20422impl acamera_metadata_tag {
20423    pub const ACAMERA_SENSOR_FORWARD_MATRIX2: acamera_metadata_tag = acamera_metadata_tag(917514);
20424}
20425impl acamera_metadata_tag {
20426    pub const ACAMERA_SENSOR_BLACK_LEVEL_PATTERN: acamera_metadata_tag =
20427        acamera_metadata_tag(917516);
20428}
20429impl acamera_metadata_tag {
20430    pub const ACAMERA_SENSOR_MAX_ANALOG_SENSITIVITY: acamera_metadata_tag =
20431        acamera_metadata_tag(917517);
20432}
20433impl acamera_metadata_tag {
20434    pub const ACAMERA_SENSOR_ORIENTATION: acamera_metadata_tag = acamera_metadata_tag(917518);
20435}
20436impl acamera_metadata_tag {
20437    pub const ACAMERA_SENSOR_TIMESTAMP: acamera_metadata_tag = acamera_metadata_tag(917520);
20438}
20439impl acamera_metadata_tag {
20440    pub const ACAMERA_SENSOR_NEUTRAL_COLOR_POINT: acamera_metadata_tag =
20441        acamera_metadata_tag(917522);
20442}
20443impl acamera_metadata_tag {
20444    pub const ACAMERA_SENSOR_NOISE_PROFILE: acamera_metadata_tag = acamera_metadata_tag(917523);
20445}
20446impl acamera_metadata_tag {
20447    pub const ACAMERA_SENSOR_GREEN_SPLIT: acamera_metadata_tag = acamera_metadata_tag(917526);
20448}
20449impl acamera_metadata_tag {
20450    pub const ACAMERA_SENSOR_TEST_PATTERN_DATA: acamera_metadata_tag = acamera_metadata_tag(917527);
20451}
20452impl acamera_metadata_tag {
20453    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE: acamera_metadata_tag = acamera_metadata_tag(917528);
20454}
20455impl acamera_metadata_tag {
20456    pub const ACAMERA_SENSOR_AVAILABLE_TEST_PATTERN_MODES: acamera_metadata_tag =
20457        acamera_metadata_tag(917529);
20458}
20459impl acamera_metadata_tag {
20460    pub const ACAMERA_SENSOR_ROLLING_SHUTTER_SKEW: acamera_metadata_tag =
20461        acamera_metadata_tag(917530);
20462}
20463impl acamera_metadata_tag {
20464    pub const ACAMERA_SENSOR_OPTICAL_BLACK_REGIONS: acamera_metadata_tag =
20465        acamera_metadata_tag(917531);
20466}
20467impl acamera_metadata_tag {
20468    pub const ACAMERA_SENSOR_DYNAMIC_BLACK_LEVEL: acamera_metadata_tag =
20469        acamera_metadata_tag(917532);
20470}
20471impl acamera_metadata_tag {
20472    pub const ACAMERA_SENSOR_DYNAMIC_WHITE_LEVEL: acamera_metadata_tag =
20473        acamera_metadata_tag(917533);
20474}
20475impl acamera_metadata_tag {
20476    pub const ACAMERA_SENSOR_PIXEL_MODE: acamera_metadata_tag = acamera_metadata_tag(917536);
20477}
20478impl acamera_metadata_tag {
20479    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED: acamera_metadata_tag =
20480        acamera_metadata_tag(917537);
20481}
20482impl acamera_metadata_tag {
20483    pub const ACAMERA_SENSOR_END: acamera_metadata_tag = acamera_metadata_tag(917538);
20484}
20485impl acamera_metadata_tag {
20486    pub const ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE: acamera_metadata_tag =
20487        acamera_metadata_tag(983040);
20488}
20489impl acamera_metadata_tag {
20490    pub const ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE: acamera_metadata_tag =
20491        acamera_metadata_tag(983041);
20492}
20493impl acamera_metadata_tag {
20494    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT: acamera_metadata_tag =
20495        acamera_metadata_tag(983042);
20496}
20497impl acamera_metadata_tag {
20498    pub const ACAMERA_SENSOR_INFO_EXPOSURE_TIME_RANGE: acamera_metadata_tag =
20499        acamera_metadata_tag(983043);
20500}
20501impl acamera_metadata_tag {
20502    pub const ACAMERA_SENSOR_INFO_MAX_FRAME_DURATION: acamera_metadata_tag =
20503        acamera_metadata_tag(983044);
20504}
20505impl acamera_metadata_tag {
20506    pub const ACAMERA_SENSOR_INFO_PHYSICAL_SIZE: acamera_metadata_tag =
20507        acamera_metadata_tag(983045);
20508}
20509impl acamera_metadata_tag {
20510    pub const ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE: acamera_metadata_tag =
20511        acamera_metadata_tag(983046);
20512}
20513impl acamera_metadata_tag {
20514    pub const ACAMERA_SENSOR_INFO_WHITE_LEVEL: acamera_metadata_tag = acamera_metadata_tag(983047);
20515}
20516impl acamera_metadata_tag {
20517    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE: acamera_metadata_tag =
20518        acamera_metadata_tag(983048);
20519}
20520impl acamera_metadata_tag {
20521    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED: acamera_metadata_tag =
20522        acamera_metadata_tag(983049);
20523}
20524impl acamera_metadata_tag {
20525    pub const ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE: acamera_metadata_tag =
20526        acamera_metadata_tag(983050);
20527}
20528impl acamera_metadata_tag {
20529    pub const ACAMERA_SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20530        acamera_metadata_tag(983051);
20531}
20532impl acamera_metadata_tag {
20533    pub const ACAMERA_SENSOR_INFO_PIXEL_ARRAY_SIZE_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20534        acamera_metadata_tag(983052);
20535}
20536impl acamera_metadata_tag {
20537    pub const ACAMERA_SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION:
20538        acamera_metadata_tag = acamera_metadata_tag(983053);
20539}
20540impl acamera_metadata_tag {
20541    pub const ACAMERA_SENSOR_INFO_BINNING_FACTOR: acamera_metadata_tag =
20542        acamera_metadata_tag(983054);
20543}
20544impl acamera_metadata_tag {
20545    pub const ACAMERA_SENSOR_INFO_END: acamera_metadata_tag = acamera_metadata_tag(983055);
20546}
20547impl acamera_metadata_tag {
20548    pub const ACAMERA_SHADING_MODE: acamera_metadata_tag = acamera_metadata_tag(1048576);
20549}
20550impl acamera_metadata_tag {
20551    pub const ACAMERA_SHADING_AVAILABLE_MODES: acamera_metadata_tag = acamera_metadata_tag(1048578);
20552}
20553impl acamera_metadata_tag {
20554    pub const ACAMERA_SHADING_END: acamera_metadata_tag = acamera_metadata_tag(1048579);
20555}
20556impl acamera_metadata_tag {
20557    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE: acamera_metadata_tag =
20558        acamera_metadata_tag(1114112);
20559}
20560impl acamera_metadata_tag {
20561    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE: acamera_metadata_tag =
20562        acamera_metadata_tag(1114115);
20563}
20564impl acamera_metadata_tag {
20565    pub const ACAMERA_STATISTICS_FACE_IDS: acamera_metadata_tag = acamera_metadata_tag(1114116);
20566}
20567impl acamera_metadata_tag {
20568    pub const ACAMERA_STATISTICS_FACE_LANDMARKS: acamera_metadata_tag =
20569        acamera_metadata_tag(1114117);
20570}
20571impl acamera_metadata_tag {
20572    pub const ACAMERA_STATISTICS_FACE_RECTANGLES: acamera_metadata_tag =
20573        acamera_metadata_tag(1114118);
20574}
20575impl acamera_metadata_tag {
20576    pub const ACAMERA_STATISTICS_FACE_SCORES: acamera_metadata_tag = acamera_metadata_tag(1114119);
20577}
20578impl acamera_metadata_tag {
20579    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP: acamera_metadata_tag =
20580        acamera_metadata_tag(1114123);
20581}
20582impl acamera_metadata_tag {
20583    pub const ACAMERA_STATISTICS_SCENE_FLICKER: acamera_metadata_tag =
20584        acamera_metadata_tag(1114126);
20585}
20586impl acamera_metadata_tag {
20587    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP: acamera_metadata_tag =
20588        acamera_metadata_tag(1114127);
20589}
20590impl acamera_metadata_tag {
20591    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE: acamera_metadata_tag =
20592        acamera_metadata_tag(1114128);
20593}
20594impl acamera_metadata_tag {
20595    pub const ACAMERA_STATISTICS_OIS_DATA_MODE: acamera_metadata_tag =
20596        acamera_metadata_tag(1114129);
20597}
20598impl acamera_metadata_tag {
20599    pub const ACAMERA_STATISTICS_OIS_TIMESTAMPS: acamera_metadata_tag =
20600        acamera_metadata_tag(1114130);
20601}
20602impl acamera_metadata_tag {
20603    pub const ACAMERA_STATISTICS_OIS_X_SHIFTS: acamera_metadata_tag = acamera_metadata_tag(1114131);
20604}
20605impl acamera_metadata_tag {
20606    pub const ACAMERA_STATISTICS_OIS_Y_SHIFTS: acamera_metadata_tag = acamera_metadata_tag(1114132);
20607}
20608impl acamera_metadata_tag {
20609    pub const ACAMERA_STATISTICS_LENS_INTRINSIC_TIMESTAMPS: acamera_metadata_tag =
20610        acamera_metadata_tag(1114133);
20611}
20612impl acamera_metadata_tag {
20613    pub const ACAMERA_STATISTICS_LENS_INTRINSIC_SAMPLES: acamera_metadata_tag =
20614        acamera_metadata_tag(1114134);
20615}
20616impl acamera_metadata_tag {
20617    pub const ACAMERA_STATISTICS_END: acamera_metadata_tag = acamera_metadata_tag(1114135);
20618}
20619impl acamera_metadata_tag {
20620    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES: acamera_metadata_tag =
20621        acamera_metadata_tag(1179648);
20622}
20623impl acamera_metadata_tag {
20624    pub const ACAMERA_STATISTICS_INFO_MAX_FACE_COUNT: acamera_metadata_tag =
20625        acamera_metadata_tag(1179650);
20626}
20627impl acamera_metadata_tag {
20628    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES: acamera_metadata_tag =
20629        acamera_metadata_tag(1179654);
20630}
20631impl acamera_metadata_tag {
20632    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES: acamera_metadata_tag =
20633        acamera_metadata_tag(1179655);
20634}
20635impl acamera_metadata_tag {
20636    pub const ACAMERA_STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES: acamera_metadata_tag =
20637        acamera_metadata_tag(1179656);
20638}
20639impl acamera_metadata_tag {
20640    pub const ACAMERA_STATISTICS_INFO_END: acamera_metadata_tag = acamera_metadata_tag(1179657);
20641}
20642impl acamera_metadata_tag {
20643    pub const ACAMERA_TONEMAP_CURVE_BLUE: acamera_metadata_tag = acamera_metadata_tag(1245184);
20644}
20645impl acamera_metadata_tag {
20646    pub const ACAMERA_TONEMAP_CURVE_GREEN: acamera_metadata_tag = acamera_metadata_tag(1245185);
20647}
20648impl acamera_metadata_tag {
20649    pub const ACAMERA_TONEMAP_CURVE_RED: acamera_metadata_tag = acamera_metadata_tag(1245186);
20650}
20651impl acamera_metadata_tag {
20652    pub const ACAMERA_TONEMAP_MODE: acamera_metadata_tag = acamera_metadata_tag(1245187);
20653}
20654impl acamera_metadata_tag {
20655    pub const ACAMERA_TONEMAP_MAX_CURVE_POINTS: acamera_metadata_tag =
20656        acamera_metadata_tag(1245188);
20657}
20658impl acamera_metadata_tag {
20659    pub const ACAMERA_TONEMAP_AVAILABLE_TONE_MAP_MODES: acamera_metadata_tag =
20660        acamera_metadata_tag(1245189);
20661}
20662impl acamera_metadata_tag {
20663    pub const ACAMERA_TONEMAP_GAMMA: acamera_metadata_tag = acamera_metadata_tag(1245190);
20664}
20665impl acamera_metadata_tag {
20666    pub const ACAMERA_TONEMAP_PRESET_CURVE: acamera_metadata_tag = acamera_metadata_tag(1245191);
20667}
20668impl acamera_metadata_tag {
20669    pub const ACAMERA_TONEMAP_END: acamera_metadata_tag = acamera_metadata_tag(1245192);
20670}
20671impl acamera_metadata_tag {
20672    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL: acamera_metadata_tag =
20673        acamera_metadata_tag(1376256);
20674}
20675impl acamera_metadata_tag {
20676    pub const ACAMERA_INFO_VERSION: acamera_metadata_tag = acamera_metadata_tag(1376257);
20677}
20678impl acamera_metadata_tag {
20679    pub const ACAMERA_INFO_DEVICE_STATE_ORIENTATIONS: acamera_metadata_tag =
20680        acamera_metadata_tag(1376259);
20681}
20682impl acamera_metadata_tag {
20683    pub const ACAMERA_INFO_END: acamera_metadata_tag = acamera_metadata_tag(1376260);
20684}
20685impl acamera_metadata_tag {
20686    pub const ACAMERA_BLACK_LEVEL_LOCK: acamera_metadata_tag = acamera_metadata_tag(1441792);
20687}
20688impl acamera_metadata_tag {
20689    pub const ACAMERA_BLACK_LEVEL_END: acamera_metadata_tag = acamera_metadata_tag(1441793);
20690}
20691impl acamera_metadata_tag {
20692    pub const ACAMERA_SYNC_FRAME_NUMBER: acamera_metadata_tag = acamera_metadata_tag(1507328);
20693}
20694impl acamera_metadata_tag {
20695    pub const ACAMERA_SYNC_MAX_LATENCY: acamera_metadata_tag = acamera_metadata_tag(1507329);
20696}
20697impl acamera_metadata_tag {
20698    pub const ACAMERA_SYNC_END: acamera_metadata_tag = acamera_metadata_tag(1507330);
20699}
20700impl acamera_metadata_tag {
20701    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20702        acamera_metadata_tag(1638401);
20703}
20704impl acamera_metadata_tag {
20705    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20706        acamera_metadata_tag(1638402);
20707}
20708impl acamera_metadata_tag {
20709    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
20710        acamera_metadata_tag(1638403);
20711}
20712impl acamera_metadata_tag {
20713    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE: acamera_metadata_tag =
20714        acamera_metadata_tag(1638404);
20715}
20716impl acamera_metadata_tag {
20717    pub const ACAMERA_DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS:
20718        acamera_metadata_tag = acamera_metadata_tag(1638405);
20719}
20720impl acamera_metadata_tag {
20721    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20722        acamera_metadata_tag(1638406);
20723}
20724impl acamera_metadata_tag {
20725    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20726        acamera_metadata_tag(1638407);
20727}
20728impl acamera_metadata_tag {
20729    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS: acamera_metadata_tag =
20730        acamera_metadata_tag(1638408);
20731}
20732impl acamera_metadata_tag {
20733    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20734        acamera_metadata_tag = acamera_metadata_tag(1638409);
20735}
20736impl acamera_metadata_tag {
20737    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20738        acamera_metadata_tag = acamera_metadata_tag(1638410);
20739}
20740impl acamera_metadata_tag {
20741    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION:
20742        acamera_metadata_tag = acamera_metadata_tag(1638411);
20743}
20744impl acamera_metadata_tag {
20745    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20746        acamera_metadata_tag = acamera_metadata_tag(1638412);
20747}
20748impl acamera_metadata_tag {
20749    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20750        acamera_metadata_tag = acamera_metadata_tag(1638413);
20751}
20752impl acamera_metadata_tag {
20753    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS_MAXIMUM_RESOLUTION:
20754        acamera_metadata_tag = acamera_metadata_tag(1638414);
20755}
20756impl acamera_metadata_tag {
20757    pub const ACAMERA_DEPTH_END: acamera_metadata_tag = acamera_metadata_tag(1638415);
20758}
20759impl acamera_metadata_tag {
20760    pub const ACAMERA_LOGICAL_MULTI_CAMERA_PHYSICAL_IDS: acamera_metadata_tag =
20761        acamera_metadata_tag(1703936);
20762}
20763impl acamera_metadata_tag {
20764    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE: acamera_metadata_tag =
20765        acamera_metadata_tag(1703937);
20766}
20767impl acamera_metadata_tag {
20768    pub const ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID: acamera_metadata_tag =
20769        acamera_metadata_tag(1703938);
20770}
20771impl acamera_metadata_tag {
20772    pub const ACAMERA_LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_SENSOR_CROP_REGION:
20773        acamera_metadata_tag = acamera_metadata_tag(1703939);
20774}
20775impl acamera_metadata_tag {
20776    pub const ACAMERA_LOGICAL_MULTI_CAMERA_END: acamera_metadata_tag =
20777        acamera_metadata_tag(1703940);
20778}
20779impl acamera_metadata_tag {
20780    pub const ACAMERA_DISTORTION_CORRECTION_MODE: acamera_metadata_tag =
20781        acamera_metadata_tag(1769472);
20782}
20783impl acamera_metadata_tag {
20784    pub const ACAMERA_DISTORTION_CORRECTION_AVAILABLE_MODES: acamera_metadata_tag =
20785        acamera_metadata_tag(1769473);
20786}
20787impl acamera_metadata_tag {
20788    pub const ACAMERA_DISTORTION_CORRECTION_END: acamera_metadata_tag =
20789        acamera_metadata_tag(1769474);
20790}
20791impl acamera_metadata_tag {
20792    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20793        acamera_metadata_tag(1835008);
20794}
20795impl acamera_metadata_tag {
20796    pub const ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20797        acamera_metadata_tag(1835009);
20798}
20799impl acamera_metadata_tag {
20800    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS: acamera_metadata_tag =
20801        acamera_metadata_tag(1835010);
20802}
20803impl acamera_metadata_tag {
20804    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20805        acamera_metadata_tag = acamera_metadata_tag(1835011);
20806}
20807impl acamera_metadata_tag {
20808    pub const ACAMERA_HEIC_AVAILABLE_HEIC_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20809        acamera_metadata_tag = acamera_metadata_tag(1835012);
20810}
20811impl acamera_metadata_tag {
20812    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STALL_DURATIONS_MAXIMUM_RESOLUTION: acamera_metadata_tag =
20813        acamera_metadata_tag(1835013);
20814}
20815impl acamera_metadata_tag {
20816    pub const ACAMERA_HEIC_END: acamera_metadata_tag = acamera_metadata_tag(1835014);
20817}
20818impl acamera_metadata_tag {
20819    pub const ACAMERA_AUTOMOTIVE_LOCATION: acamera_metadata_tag = acamera_metadata_tag(1966080);
20820}
20821impl acamera_metadata_tag {
20822    pub const ACAMERA_AUTOMOTIVE_END: acamera_metadata_tag = acamera_metadata_tag(1966081);
20823}
20824impl acamera_metadata_tag {
20825    pub const ACAMERA_AUTOMOTIVE_LENS_FACING: acamera_metadata_tag = acamera_metadata_tag(2031616);
20826}
20827impl acamera_metadata_tag {
20828    pub const ACAMERA_AUTOMOTIVE_LENS_END: acamera_metadata_tag = acamera_metadata_tag(2031617);
20829}
20830impl acamera_metadata_tag {
20831    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS: acamera_metadata_tag =
20832        acamera_metadata_tag(2162688);
20833}
20834impl acamera_metadata_tag {
20835    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS: acamera_metadata_tag =
20836        acamera_metadata_tag(2162689);
20837}
20838impl acamera_metadata_tag {
20839    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS: acamera_metadata_tag =
20840        acamera_metadata_tag(2162690);
20841}
20842impl acamera_metadata_tag {
20843    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION:
20844        acamera_metadata_tag = acamera_metadata_tag(2162691);
20845}
20846impl acamera_metadata_tag {
20847    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_MIN_FRAME_DURATIONS_MAXIMUM_RESOLUTION:
20848        acamera_metadata_tag = acamera_metadata_tag(2162692);
20849}
20850impl acamera_metadata_tag {
20851    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STALL_DURATIONS_MAXIMUM_RESOLUTION:
20852        acamera_metadata_tag = acamera_metadata_tag(2162693);
20853}
20854impl acamera_metadata_tag {
20855    pub const ACAMERA_JPEGR_END: acamera_metadata_tag = acamera_metadata_tag(2162694);
20856}
20857#[repr(transparent)]
20858#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20859pub struct acamera_metadata_tag(pub ::std::os::raw::c_uint);
20860pub use self::acamera_metadata_tag as acamera_metadata_tag_t;
20861impl acamera_metadata_enum_acamera_color_correction_mode {
20862    pub const ACAMERA_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX:
20863        acamera_metadata_enum_acamera_color_correction_mode =
20864        acamera_metadata_enum_acamera_color_correction_mode(0);
20865}
20866impl acamera_metadata_enum_acamera_color_correction_mode {
20867    pub const ACAMERA_COLOR_CORRECTION_MODE_FAST:
20868        acamera_metadata_enum_acamera_color_correction_mode =
20869        acamera_metadata_enum_acamera_color_correction_mode(1);
20870}
20871impl acamera_metadata_enum_acamera_color_correction_mode {
20872    pub const ACAMERA_COLOR_CORRECTION_MODE_HIGH_QUALITY:
20873        acamera_metadata_enum_acamera_color_correction_mode =
20874        acamera_metadata_enum_acamera_color_correction_mode(2);
20875}
20876#[repr(transparent)]
20877#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20878pub struct acamera_metadata_enum_acamera_color_correction_mode(pub ::std::os::raw::c_uint);
20879pub use self::acamera_metadata_enum_acamera_color_correction_mode as acamera_metadata_enum_android_color_correction_mode_t;
20880impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
20881    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_OFF:
20882        acamera_metadata_enum_acamera_color_correction_aberration_mode =
20883        acamera_metadata_enum_acamera_color_correction_aberration_mode(0);
20884}
20885impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
20886    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_FAST:
20887        acamera_metadata_enum_acamera_color_correction_aberration_mode =
20888        acamera_metadata_enum_acamera_color_correction_aberration_mode(1);
20889}
20890impl acamera_metadata_enum_acamera_color_correction_aberration_mode {
20891    pub const ACAMERA_COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY:
20892        acamera_metadata_enum_acamera_color_correction_aberration_mode =
20893        acamera_metadata_enum_acamera_color_correction_aberration_mode(2);
20894}
20895#[repr(transparent)]
20896#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20897pub struct acamera_metadata_enum_acamera_color_correction_aberration_mode(
20898    pub ::std::os::raw::c_uint,
20899);
20900pub use self::acamera_metadata_enum_acamera_color_correction_aberration_mode as acamera_metadata_enum_android_color_correction_aberration_mode_t;
20901impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
20902    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_OFF:
20903        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
20904        acamera_metadata_enum_acamera_control_ae_antibanding_mode(0);
20905}
20906impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
20907    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_50HZ:
20908        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
20909        acamera_metadata_enum_acamera_control_ae_antibanding_mode(1);
20910}
20911impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
20912    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_60HZ:
20913        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
20914        acamera_metadata_enum_acamera_control_ae_antibanding_mode(2);
20915}
20916impl acamera_metadata_enum_acamera_control_ae_antibanding_mode {
20917    pub const ACAMERA_CONTROL_AE_ANTIBANDING_MODE_AUTO:
20918        acamera_metadata_enum_acamera_control_ae_antibanding_mode =
20919        acamera_metadata_enum_acamera_control_ae_antibanding_mode(3);
20920}
20921#[repr(transparent)]
20922#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20923pub struct acamera_metadata_enum_acamera_control_ae_antibanding_mode(pub ::std::os::raw::c_uint);
20924pub use self::acamera_metadata_enum_acamera_control_ae_antibanding_mode as acamera_metadata_enum_android_control_ae_antibanding_mode_t;
20925impl acamera_metadata_enum_acamera_control_ae_lock {
20926    pub const ACAMERA_CONTROL_AE_LOCK_OFF: acamera_metadata_enum_acamera_control_ae_lock =
20927        acamera_metadata_enum_acamera_control_ae_lock(0);
20928}
20929impl acamera_metadata_enum_acamera_control_ae_lock {
20930    pub const ACAMERA_CONTROL_AE_LOCK_ON: acamera_metadata_enum_acamera_control_ae_lock =
20931        acamera_metadata_enum_acamera_control_ae_lock(1);
20932}
20933#[repr(transparent)]
20934#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20935pub struct acamera_metadata_enum_acamera_control_ae_lock(pub ::std::os::raw::c_uint);
20936pub use self::acamera_metadata_enum_acamera_control_ae_lock as acamera_metadata_enum_android_control_ae_lock_t;
20937impl acamera_metadata_enum_acamera_control_ae_mode {
20938    pub const ACAMERA_CONTROL_AE_MODE_OFF: acamera_metadata_enum_acamera_control_ae_mode =
20939        acamera_metadata_enum_acamera_control_ae_mode(0);
20940}
20941impl acamera_metadata_enum_acamera_control_ae_mode {
20942    pub const ACAMERA_CONTROL_AE_MODE_ON: acamera_metadata_enum_acamera_control_ae_mode =
20943        acamera_metadata_enum_acamera_control_ae_mode(1);
20944}
20945impl acamera_metadata_enum_acamera_control_ae_mode {
20946    pub const ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH: acamera_metadata_enum_acamera_control_ae_mode =
20947        acamera_metadata_enum_acamera_control_ae_mode(2);
20948}
20949impl acamera_metadata_enum_acamera_control_ae_mode {
20950    pub const ACAMERA_CONTROL_AE_MODE_ON_ALWAYS_FLASH:
20951        acamera_metadata_enum_acamera_control_ae_mode =
20952        acamera_metadata_enum_acamera_control_ae_mode(3);
20953}
20954impl acamera_metadata_enum_acamera_control_ae_mode {
20955    pub const ACAMERA_CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:
20956        acamera_metadata_enum_acamera_control_ae_mode =
20957        acamera_metadata_enum_acamera_control_ae_mode(4);
20958}
20959impl acamera_metadata_enum_acamera_control_ae_mode {
20960    pub const ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH:
20961        acamera_metadata_enum_acamera_control_ae_mode =
20962        acamera_metadata_enum_acamera_control_ae_mode(5);
20963}
20964impl acamera_metadata_enum_acamera_control_ae_mode {
20965    pub const ACAMERA_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY:
20966        acamera_metadata_enum_acamera_control_ae_mode =
20967        acamera_metadata_enum_acamera_control_ae_mode(6);
20968}
20969#[repr(transparent)]
20970#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20971pub struct acamera_metadata_enum_acamera_control_ae_mode(pub ::std::os::raw::c_uint);
20972pub use self::acamera_metadata_enum_acamera_control_ae_mode as acamera_metadata_enum_android_control_ae_mode_t;
20973impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
20974    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_IDLE:
20975        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
20976        acamera_metadata_enum_acamera_control_ae_precapture_trigger(0);
20977}
20978impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
20979    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_START:
20980        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
20981        acamera_metadata_enum_acamera_control_ae_precapture_trigger(1);
20982}
20983impl acamera_metadata_enum_acamera_control_ae_precapture_trigger {
20984    pub const ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL:
20985        acamera_metadata_enum_acamera_control_ae_precapture_trigger =
20986        acamera_metadata_enum_acamera_control_ae_precapture_trigger(2);
20987}
20988#[repr(transparent)]
20989#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
20990pub struct acamera_metadata_enum_acamera_control_ae_precapture_trigger(pub ::std::os::raw::c_uint);
20991pub use self::acamera_metadata_enum_acamera_control_ae_precapture_trigger as acamera_metadata_enum_android_control_ae_precapture_trigger_t;
20992impl acamera_metadata_enum_acamera_control_af_mode {
20993    pub const ACAMERA_CONTROL_AF_MODE_OFF: acamera_metadata_enum_acamera_control_af_mode =
20994        acamera_metadata_enum_acamera_control_af_mode(0);
20995}
20996impl acamera_metadata_enum_acamera_control_af_mode {
20997    pub const ACAMERA_CONTROL_AF_MODE_AUTO: acamera_metadata_enum_acamera_control_af_mode =
20998        acamera_metadata_enum_acamera_control_af_mode(1);
20999}
21000impl acamera_metadata_enum_acamera_control_af_mode {
21001    pub const ACAMERA_CONTROL_AF_MODE_MACRO: acamera_metadata_enum_acamera_control_af_mode =
21002        acamera_metadata_enum_acamera_control_af_mode(2);
21003}
21004impl acamera_metadata_enum_acamera_control_af_mode {
21005    pub const ACAMERA_CONTROL_AF_MODE_CONTINUOUS_VIDEO:
21006        acamera_metadata_enum_acamera_control_af_mode =
21007        acamera_metadata_enum_acamera_control_af_mode(3);
21008}
21009impl acamera_metadata_enum_acamera_control_af_mode {
21010    pub const ACAMERA_CONTROL_AF_MODE_CONTINUOUS_PICTURE:
21011        acamera_metadata_enum_acamera_control_af_mode =
21012        acamera_metadata_enum_acamera_control_af_mode(4);
21013}
21014impl acamera_metadata_enum_acamera_control_af_mode {
21015    pub const ACAMERA_CONTROL_AF_MODE_EDOF: acamera_metadata_enum_acamera_control_af_mode =
21016        acamera_metadata_enum_acamera_control_af_mode(5);
21017}
21018#[repr(transparent)]
21019#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21020pub struct acamera_metadata_enum_acamera_control_af_mode(pub ::std::os::raw::c_uint);
21021pub use self::acamera_metadata_enum_acamera_control_af_mode as acamera_metadata_enum_android_control_af_mode_t;
21022impl acamera_metadata_enum_acamera_control_af_trigger {
21023    pub const ACAMERA_CONTROL_AF_TRIGGER_IDLE: acamera_metadata_enum_acamera_control_af_trigger =
21024        acamera_metadata_enum_acamera_control_af_trigger(0);
21025}
21026impl acamera_metadata_enum_acamera_control_af_trigger {
21027    pub const ACAMERA_CONTROL_AF_TRIGGER_START: acamera_metadata_enum_acamera_control_af_trigger =
21028        acamera_metadata_enum_acamera_control_af_trigger(1);
21029}
21030impl acamera_metadata_enum_acamera_control_af_trigger {
21031    pub const ACAMERA_CONTROL_AF_TRIGGER_CANCEL: acamera_metadata_enum_acamera_control_af_trigger =
21032        acamera_metadata_enum_acamera_control_af_trigger(2);
21033}
21034#[repr(transparent)]
21035#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21036pub struct acamera_metadata_enum_acamera_control_af_trigger(pub ::std::os::raw::c_uint);
21037pub use self::acamera_metadata_enum_acamera_control_af_trigger as acamera_metadata_enum_android_control_af_trigger_t;
21038impl acamera_metadata_enum_acamera_control_awb_lock {
21039    pub const ACAMERA_CONTROL_AWB_LOCK_OFF: acamera_metadata_enum_acamera_control_awb_lock =
21040        acamera_metadata_enum_acamera_control_awb_lock(0);
21041}
21042impl acamera_metadata_enum_acamera_control_awb_lock {
21043    pub const ACAMERA_CONTROL_AWB_LOCK_ON: acamera_metadata_enum_acamera_control_awb_lock =
21044        acamera_metadata_enum_acamera_control_awb_lock(1);
21045}
21046#[repr(transparent)]
21047#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21048pub struct acamera_metadata_enum_acamera_control_awb_lock(pub ::std::os::raw::c_uint);
21049pub use self::acamera_metadata_enum_acamera_control_awb_lock as acamera_metadata_enum_android_control_awb_lock_t;
21050impl acamera_metadata_enum_acamera_control_awb_mode {
21051    pub const ACAMERA_CONTROL_AWB_MODE_OFF: acamera_metadata_enum_acamera_control_awb_mode =
21052        acamera_metadata_enum_acamera_control_awb_mode(0);
21053}
21054impl acamera_metadata_enum_acamera_control_awb_mode {
21055    pub const ACAMERA_CONTROL_AWB_MODE_AUTO: acamera_metadata_enum_acamera_control_awb_mode =
21056        acamera_metadata_enum_acamera_control_awb_mode(1);
21057}
21058impl acamera_metadata_enum_acamera_control_awb_mode {
21059    pub const ACAMERA_CONTROL_AWB_MODE_INCANDESCENT:
21060        acamera_metadata_enum_acamera_control_awb_mode =
21061        acamera_metadata_enum_acamera_control_awb_mode(2);
21062}
21063impl acamera_metadata_enum_acamera_control_awb_mode {
21064    pub const ACAMERA_CONTROL_AWB_MODE_FLUORESCENT: acamera_metadata_enum_acamera_control_awb_mode =
21065        acamera_metadata_enum_acamera_control_awb_mode(3);
21066}
21067impl acamera_metadata_enum_acamera_control_awb_mode {
21068    pub const ACAMERA_CONTROL_AWB_MODE_WARM_FLUORESCENT:
21069        acamera_metadata_enum_acamera_control_awb_mode =
21070        acamera_metadata_enum_acamera_control_awb_mode(4);
21071}
21072impl acamera_metadata_enum_acamera_control_awb_mode {
21073    pub const ACAMERA_CONTROL_AWB_MODE_DAYLIGHT: acamera_metadata_enum_acamera_control_awb_mode =
21074        acamera_metadata_enum_acamera_control_awb_mode(5);
21075}
21076impl acamera_metadata_enum_acamera_control_awb_mode {
21077    pub const ACAMERA_CONTROL_AWB_MODE_CLOUDY_DAYLIGHT:
21078        acamera_metadata_enum_acamera_control_awb_mode =
21079        acamera_metadata_enum_acamera_control_awb_mode(6);
21080}
21081impl acamera_metadata_enum_acamera_control_awb_mode {
21082    pub const ACAMERA_CONTROL_AWB_MODE_TWILIGHT: acamera_metadata_enum_acamera_control_awb_mode =
21083        acamera_metadata_enum_acamera_control_awb_mode(7);
21084}
21085impl acamera_metadata_enum_acamera_control_awb_mode {
21086    pub const ACAMERA_CONTROL_AWB_MODE_SHADE: acamera_metadata_enum_acamera_control_awb_mode =
21087        acamera_metadata_enum_acamera_control_awb_mode(8);
21088}
21089#[repr(transparent)]
21090#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21091pub struct acamera_metadata_enum_acamera_control_awb_mode(pub ::std::os::raw::c_uint);
21092pub use self::acamera_metadata_enum_acamera_control_awb_mode as acamera_metadata_enum_android_control_awb_mode_t;
21093impl acamera_metadata_enum_acamera_control_capture_intent {
21094    pub const ACAMERA_CONTROL_CAPTURE_INTENT_CUSTOM:
21095        acamera_metadata_enum_acamera_control_capture_intent =
21096        acamera_metadata_enum_acamera_control_capture_intent(0);
21097}
21098impl acamera_metadata_enum_acamera_control_capture_intent {
21099    pub const ACAMERA_CONTROL_CAPTURE_INTENT_PREVIEW:
21100        acamera_metadata_enum_acamera_control_capture_intent =
21101        acamera_metadata_enum_acamera_control_capture_intent(1);
21102}
21103impl acamera_metadata_enum_acamera_control_capture_intent {
21104    pub const ACAMERA_CONTROL_CAPTURE_INTENT_STILL_CAPTURE:
21105        acamera_metadata_enum_acamera_control_capture_intent =
21106        acamera_metadata_enum_acamera_control_capture_intent(2);
21107}
21108impl acamera_metadata_enum_acamera_control_capture_intent {
21109    pub const ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_RECORD:
21110        acamera_metadata_enum_acamera_control_capture_intent =
21111        acamera_metadata_enum_acamera_control_capture_intent(3);
21112}
21113impl acamera_metadata_enum_acamera_control_capture_intent {
21114    pub const ACAMERA_CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT:
21115        acamera_metadata_enum_acamera_control_capture_intent =
21116        acamera_metadata_enum_acamera_control_capture_intent(4);
21117}
21118impl acamera_metadata_enum_acamera_control_capture_intent {
21119    pub const ACAMERA_CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG:
21120        acamera_metadata_enum_acamera_control_capture_intent =
21121        acamera_metadata_enum_acamera_control_capture_intent(5);
21122}
21123impl acamera_metadata_enum_acamera_control_capture_intent {
21124    pub const ACAMERA_CONTROL_CAPTURE_INTENT_MANUAL:
21125        acamera_metadata_enum_acamera_control_capture_intent =
21126        acamera_metadata_enum_acamera_control_capture_intent(6);
21127}
21128impl acamera_metadata_enum_acamera_control_capture_intent {
21129    pub const ACAMERA_CONTROL_CAPTURE_INTENT_MOTION_TRACKING:
21130        acamera_metadata_enum_acamera_control_capture_intent =
21131        acamera_metadata_enum_acamera_control_capture_intent(7);
21132}
21133#[repr(transparent)]
21134#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21135pub struct acamera_metadata_enum_acamera_control_capture_intent(pub ::std::os::raw::c_uint);
21136pub use self::acamera_metadata_enum_acamera_control_capture_intent as acamera_metadata_enum_android_control_capture_intent_t;
21137impl acamera_metadata_enum_acamera_control_effect_mode {
21138    pub const ACAMERA_CONTROL_EFFECT_MODE_OFF: acamera_metadata_enum_acamera_control_effect_mode =
21139        acamera_metadata_enum_acamera_control_effect_mode(0);
21140}
21141impl acamera_metadata_enum_acamera_control_effect_mode {
21142    pub const ACAMERA_CONTROL_EFFECT_MODE_MONO: acamera_metadata_enum_acamera_control_effect_mode =
21143        acamera_metadata_enum_acamera_control_effect_mode(1);
21144}
21145impl acamera_metadata_enum_acamera_control_effect_mode {
21146    pub const ACAMERA_CONTROL_EFFECT_MODE_NEGATIVE:
21147        acamera_metadata_enum_acamera_control_effect_mode =
21148        acamera_metadata_enum_acamera_control_effect_mode(2);
21149}
21150impl acamera_metadata_enum_acamera_control_effect_mode {
21151    pub const ACAMERA_CONTROL_EFFECT_MODE_SOLARIZE:
21152        acamera_metadata_enum_acamera_control_effect_mode =
21153        acamera_metadata_enum_acamera_control_effect_mode(3);
21154}
21155impl acamera_metadata_enum_acamera_control_effect_mode {
21156    pub const ACAMERA_CONTROL_EFFECT_MODE_SEPIA: acamera_metadata_enum_acamera_control_effect_mode =
21157        acamera_metadata_enum_acamera_control_effect_mode(4);
21158}
21159impl acamera_metadata_enum_acamera_control_effect_mode {
21160    pub const ACAMERA_CONTROL_EFFECT_MODE_POSTERIZE:
21161        acamera_metadata_enum_acamera_control_effect_mode =
21162        acamera_metadata_enum_acamera_control_effect_mode(5);
21163}
21164impl acamera_metadata_enum_acamera_control_effect_mode {
21165    pub const ACAMERA_CONTROL_EFFECT_MODE_WHITEBOARD:
21166        acamera_metadata_enum_acamera_control_effect_mode =
21167        acamera_metadata_enum_acamera_control_effect_mode(6);
21168}
21169impl acamera_metadata_enum_acamera_control_effect_mode {
21170    pub const ACAMERA_CONTROL_EFFECT_MODE_BLACKBOARD:
21171        acamera_metadata_enum_acamera_control_effect_mode =
21172        acamera_metadata_enum_acamera_control_effect_mode(7);
21173}
21174impl acamera_metadata_enum_acamera_control_effect_mode {
21175    pub const ACAMERA_CONTROL_EFFECT_MODE_AQUA: acamera_metadata_enum_acamera_control_effect_mode =
21176        acamera_metadata_enum_acamera_control_effect_mode(8);
21177}
21178#[repr(transparent)]
21179#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21180pub struct acamera_metadata_enum_acamera_control_effect_mode(pub ::std::os::raw::c_uint);
21181pub use self::acamera_metadata_enum_acamera_control_effect_mode as acamera_metadata_enum_android_control_effect_mode_t;
21182impl acamera_metadata_enum_acamera_control_mode {
21183    pub const ACAMERA_CONTROL_MODE_OFF: acamera_metadata_enum_acamera_control_mode =
21184        acamera_metadata_enum_acamera_control_mode(0);
21185}
21186impl acamera_metadata_enum_acamera_control_mode {
21187    pub const ACAMERA_CONTROL_MODE_AUTO: acamera_metadata_enum_acamera_control_mode =
21188        acamera_metadata_enum_acamera_control_mode(1);
21189}
21190impl acamera_metadata_enum_acamera_control_mode {
21191    pub const ACAMERA_CONTROL_MODE_USE_SCENE_MODE: acamera_metadata_enum_acamera_control_mode =
21192        acamera_metadata_enum_acamera_control_mode(2);
21193}
21194impl acamera_metadata_enum_acamera_control_mode {
21195    pub const ACAMERA_CONTROL_MODE_OFF_KEEP_STATE: acamera_metadata_enum_acamera_control_mode =
21196        acamera_metadata_enum_acamera_control_mode(3);
21197}
21198impl acamera_metadata_enum_acamera_control_mode {
21199    pub const ACAMERA_CONTROL_MODE_USE_EXTENDED_SCENE_MODE:
21200        acamera_metadata_enum_acamera_control_mode = acamera_metadata_enum_acamera_control_mode(4);
21201}
21202#[repr(transparent)]
21203#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21204pub struct acamera_metadata_enum_acamera_control_mode(pub ::std::os::raw::c_uint);
21205pub use self::acamera_metadata_enum_acamera_control_mode as acamera_metadata_enum_android_control_mode_t;
21206impl acamera_metadata_enum_acamera_control_scene_mode {
21207    pub const ACAMERA_CONTROL_SCENE_MODE_DISABLED:
21208        acamera_metadata_enum_acamera_control_scene_mode =
21209        acamera_metadata_enum_acamera_control_scene_mode(0);
21210}
21211impl acamera_metadata_enum_acamera_control_scene_mode {
21212    pub const ACAMERA_CONTROL_SCENE_MODE_FACE_PRIORITY:
21213        acamera_metadata_enum_acamera_control_scene_mode =
21214        acamera_metadata_enum_acamera_control_scene_mode(1);
21215}
21216impl acamera_metadata_enum_acamera_control_scene_mode {
21217    pub const ACAMERA_CONTROL_SCENE_MODE_ACTION: acamera_metadata_enum_acamera_control_scene_mode =
21218        acamera_metadata_enum_acamera_control_scene_mode(2);
21219}
21220impl acamera_metadata_enum_acamera_control_scene_mode {
21221    pub const ACAMERA_CONTROL_SCENE_MODE_PORTRAIT:
21222        acamera_metadata_enum_acamera_control_scene_mode =
21223        acamera_metadata_enum_acamera_control_scene_mode(3);
21224}
21225impl acamera_metadata_enum_acamera_control_scene_mode {
21226    pub const ACAMERA_CONTROL_SCENE_MODE_LANDSCAPE:
21227        acamera_metadata_enum_acamera_control_scene_mode =
21228        acamera_metadata_enum_acamera_control_scene_mode(4);
21229}
21230impl acamera_metadata_enum_acamera_control_scene_mode {
21231    pub const ACAMERA_CONTROL_SCENE_MODE_NIGHT: acamera_metadata_enum_acamera_control_scene_mode =
21232        acamera_metadata_enum_acamera_control_scene_mode(5);
21233}
21234impl acamera_metadata_enum_acamera_control_scene_mode {
21235    pub const ACAMERA_CONTROL_SCENE_MODE_NIGHT_PORTRAIT:
21236        acamera_metadata_enum_acamera_control_scene_mode =
21237        acamera_metadata_enum_acamera_control_scene_mode(6);
21238}
21239impl acamera_metadata_enum_acamera_control_scene_mode {
21240    pub const ACAMERA_CONTROL_SCENE_MODE_THEATRE: acamera_metadata_enum_acamera_control_scene_mode =
21241        acamera_metadata_enum_acamera_control_scene_mode(7);
21242}
21243impl acamera_metadata_enum_acamera_control_scene_mode {
21244    pub const ACAMERA_CONTROL_SCENE_MODE_BEACH: acamera_metadata_enum_acamera_control_scene_mode =
21245        acamera_metadata_enum_acamera_control_scene_mode(8);
21246}
21247impl acamera_metadata_enum_acamera_control_scene_mode {
21248    pub const ACAMERA_CONTROL_SCENE_MODE_SNOW: acamera_metadata_enum_acamera_control_scene_mode =
21249        acamera_metadata_enum_acamera_control_scene_mode(9);
21250}
21251impl acamera_metadata_enum_acamera_control_scene_mode {
21252    pub const ACAMERA_CONTROL_SCENE_MODE_SUNSET: acamera_metadata_enum_acamera_control_scene_mode =
21253        acamera_metadata_enum_acamera_control_scene_mode(10);
21254}
21255impl acamera_metadata_enum_acamera_control_scene_mode {
21256    pub const ACAMERA_CONTROL_SCENE_MODE_STEADYPHOTO:
21257        acamera_metadata_enum_acamera_control_scene_mode =
21258        acamera_metadata_enum_acamera_control_scene_mode(11);
21259}
21260impl acamera_metadata_enum_acamera_control_scene_mode {
21261    pub const ACAMERA_CONTROL_SCENE_MODE_FIREWORKS:
21262        acamera_metadata_enum_acamera_control_scene_mode =
21263        acamera_metadata_enum_acamera_control_scene_mode(12);
21264}
21265impl acamera_metadata_enum_acamera_control_scene_mode {
21266    pub const ACAMERA_CONTROL_SCENE_MODE_SPORTS: acamera_metadata_enum_acamera_control_scene_mode =
21267        acamera_metadata_enum_acamera_control_scene_mode(13);
21268}
21269impl acamera_metadata_enum_acamera_control_scene_mode {
21270    pub const ACAMERA_CONTROL_SCENE_MODE_PARTY: acamera_metadata_enum_acamera_control_scene_mode =
21271        acamera_metadata_enum_acamera_control_scene_mode(14);
21272}
21273impl acamera_metadata_enum_acamera_control_scene_mode {
21274    pub const ACAMERA_CONTROL_SCENE_MODE_CANDLELIGHT:
21275        acamera_metadata_enum_acamera_control_scene_mode =
21276        acamera_metadata_enum_acamera_control_scene_mode(15);
21277}
21278impl acamera_metadata_enum_acamera_control_scene_mode {
21279    pub const ACAMERA_CONTROL_SCENE_MODE_BARCODE: acamera_metadata_enum_acamera_control_scene_mode =
21280        acamera_metadata_enum_acamera_control_scene_mode(16);
21281}
21282impl acamera_metadata_enum_acamera_control_scene_mode {
21283    pub const ACAMERA_CONTROL_SCENE_MODE_HDR: acamera_metadata_enum_acamera_control_scene_mode =
21284        acamera_metadata_enum_acamera_control_scene_mode(18);
21285}
21286#[repr(transparent)]
21287#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21288pub struct acamera_metadata_enum_acamera_control_scene_mode(pub ::std::os::raw::c_uint);
21289pub use self::acamera_metadata_enum_acamera_control_scene_mode as acamera_metadata_enum_android_control_scene_mode_t;
21290impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
21291    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_OFF:
21292        acamera_metadata_enum_acamera_control_video_stabilization_mode =
21293        acamera_metadata_enum_acamera_control_video_stabilization_mode(0);
21294}
21295impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
21296    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_ON:
21297        acamera_metadata_enum_acamera_control_video_stabilization_mode =
21298        acamera_metadata_enum_acamera_control_video_stabilization_mode(1);
21299}
21300impl acamera_metadata_enum_acamera_control_video_stabilization_mode {
21301    pub const ACAMERA_CONTROL_VIDEO_STABILIZATION_MODE_PREVIEW_STABILIZATION:
21302        acamera_metadata_enum_acamera_control_video_stabilization_mode =
21303        acamera_metadata_enum_acamera_control_video_stabilization_mode(2);
21304}
21305#[repr(transparent)]
21306#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21307pub struct acamera_metadata_enum_acamera_control_video_stabilization_mode(
21308    pub ::std::os::raw::c_uint,
21309);
21310pub use self::acamera_metadata_enum_acamera_control_video_stabilization_mode as acamera_metadata_enum_android_control_video_stabilization_mode_t;
21311impl acamera_metadata_enum_acamera_control_ae_state {
21312    pub const ACAMERA_CONTROL_AE_STATE_INACTIVE: acamera_metadata_enum_acamera_control_ae_state =
21313        acamera_metadata_enum_acamera_control_ae_state(0);
21314}
21315impl acamera_metadata_enum_acamera_control_ae_state {
21316    pub const ACAMERA_CONTROL_AE_STATE_SEARCHING: acamera_metadata_enum_acamera_control_ae_state =
21317        acamera_metadata_enum_acamera_control_ae_state(1);
21318}
21319impl acamera_metadata_enum_acamera_control_ae_state {
21320    pub const ACAMERA_CONTROL_AE_STATE_CONVERGED: acamera_metadata_enum_acamera_control_ae_state =
21321        acamera_metadata_enum_acamera_control_ae_state(2);
21322}
21323impl acamera_metadata_enum_acamera_control_ae_state {
21324    pub const ACAMERA_CONTROL_AE_STATE_LOCKED: acamera_metadata_enum_acamera_control_ae_state =
21325        acamera_metadata_enum_acamera_control_ae_state(3);
21326}
21327impl acamera_metadata_enum_acamera_control_ae_state {
21328    pub const ACAMERA_CONTROL_AE_STATE_FLASH_REQUIRED:
21329        acamera_metadata_enum_acamera_control_ae_state =
21330        acamera_metadata_enum_acamera_control_ae_state(4);
21331}
21332impl acamera_metadata_enum_acamera_control_ae_state {
21333    pub const ACAMERA_CONTROL_AE_STATE_PRECAPTURE: acamera_metadata_enum_acamera_control_ae_state =
21334        acamera_metadata_enum_acamera_control_ae_state(5);
21335}
21336#[repr(transparent)]
21337#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21338pub struct acamera_metadata_enum_acamera_control_ae_state(pub ::std::os::raw::c_uint);
21339pub use self::acamera_metadata_enum_acamera_control_ae_state as acamera_metadata_enum_android_control_ae_state_t;
21340impl acamera_metadata_enum_acamera_control_af_state {
21341    pub const ACAMERA_CONTROL_AF_STATE_INACTIVE: acamera_metadata_enum_acamera_control_af_state =
21342        acamera_metadata_enum_acamera_control_af_state(0);
21343}
21344impl acamera_metadata_enum_acamera_control_af_state {
21345    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_SCAN:
21346        acamera_metadata_enum_acamera_control_af_state =
21347        acamera_metadata_enum_acamera_control_af_state(1);
21348}
21349impl acamera_metadata_enum_acamera_control_af_state {
21350    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_FOCUSED:
21351        acamera_metadata_enum_acamera_control_af_state =
21352        acamera_metadata_enum_acamera_control_af_state(2);
21353}
21354impl acamera_metadata_enum_acamera_control_af_state {
21355    pub const ACAMERA_CONTROL_AF_STATE_ACTIVE_SCAN: acamera_metadata_enum_acamera_control_af_state =
21356        acamera_metadata_enum_acamera_control_af_state(3);
21357}
21358impl acamera_metadata_enum_acamera_control_af_state {
21359    pub const ACAMERA_CONTROL_AF_STATE_FOCUSED_LOCKED:
21360        acamera_metadata_enum_acamera_control_af_state =
21361        acamera_metadata_enum_acamera_control_af_state(4);
21362}
21363impl acamera_metadata_enum_acamera_control_af_state {
21364    pub const ACAMERA_CONTROL_AF_STATE_NOT_FOCUSED_LOCKED:
21365        acamera_metadata_enum_acamera_control_af_state =
21366        acamera_metadata_enum_acamera_control_af_state(5);
21367}
21368impl acamera_metadata_enum_acamera_control_af_state {
21369    pub const ACAMERA_CONTROL_AF_STATE_PASSIVE_UNFOCUSED:
21370        acamera_metadata_enum_acamera_control_af_state =
21371        acamera_metadata_enum_acamera_control_af_state(6);
21372}
21373#[repr(transparent)]
21374#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21375pub struct acamera_metadata_enum_acamera_control_af_state(pub ::std::os::raw::c_uint);
21376pub use self::acamera_metadata_enum_acamera_control_af_state as acamera_metadata_enum_android_control_af_state_t;
21377impl acamera_metadata_enum_acamera_control_awb_state {
21378    pub const ACAMERA_CONTROL_AWB_STATE_INACTIVE: acamera_metadata_enum_acamera_control_awb_state =
21379        acamera_metadata_enum_acamera_control_awb_state(0);
21380}
21381impl acamera_metadata_enum_acamera_control_awb_state {
21382    pub const ACAMERA_CONTROL_AWB_STATE_SEARCHING: acamera_metadata_enum_acamera_control_awb_state =
21383        acamera_metadata_enum_acamera_control_awb_state(1);
21384}
21385impl acamera_metadata_enum_acamera_control_awb_state {
21386    pub const ACAMERA_CONTROL_AWB_STATE_CONVERGED: acamera_metadata_enum_acamera_control_awb_state =
21387        acamera_metadata_enum_acamera_control_awb_state(2);
21388}
21389impl acamera_metadata_enum_acamera_control_awb_state {
21390    pub const ACAMERA_CONTROL_AWB_STATE_LOCKED: acamera_metadata_enum_acamera_control_awb_state =
21391        acamera_metadata_enum_acamera_control_awb_state(3);
21392}
21393#[repr(transparent)]
21394#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21395pub struct acamera_metadata_enum_acamera_control_awb_state(pub ::std::os::raw::c_uint);
21396pub use self::acamera_metadata_enum_acamera_control_awb_state as acamera_metadata_enum_android_control_awb_state_t;
21397impl acamera_metadata_enum_acamera_control_ae_lock_available {
21398    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE_FALSE:
21399        acamera_metadata_enum_acamera_control_ae_lock_available =
21400        acamera_metadata_enum_acamera_control_ae_lock_available(0);
21401}
21402impl acamera_metadata_enum_acamera_control_ae_lock_available {
21403    pub const ACAMERA_CONTROL_AE_LOCK_AVAILABLE_TRUE:
21404        acamera_metadata_enum_acamera_control_ae_lock_available =
21405        acamera_metadata_enum_acamera_control_ae_lock_available(1);
21406}
21407#[repr(transparent)]
21408#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21409pub struct acamera_metadata_enum_acamera_control_ae_lock_available(pub ::std::os::raw::c_uint);
21410pub use self::acamera_metadata_enum_acamera_control_ae_lock_available as acamera_metadata_enum_android_control_ae_lock_available_t;
21411impl acamera_metadata_enum_acamera_control_awb_lock_available {
21412    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_FALSE:
21413        acamera_metadata_enum_acamera_control_awb_lock_available =
21414        acamera_metadata_enum_acamera_control_awb_lock_available(0);
21415}
21416impl acamera_metadata_enum_acamera_control_awb_lock_available {
21417    pub const ACAMERA_CONTROL_AWB_LOCK_AVAILABLE_TRUE:
21418        acamera_metadata_enum_acamera_control_awb_lock_available =
21419        acamera_metadata_enum_acamera_control_awb_lock_available(1);
21420}
21421#[repr(transparent)]
21422#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21423pub struct acamera_metadata_enum_acamera_control_awb_lock_available(pub ::std::os::raw::c_uint);
21424pub use self::acamera_metadata_enum_acamera_control_awb_lock_available as acamera_metadata_enum_android_control_awb_lock_available_t;
21425impl acamera_metadata_enum_acamera_control_enable_zsl {
21426    pub const ACAMERA_CONTROL_ENABLE_ZSL_FALSE: acamera_metadata_enum_acamera_control_enable_zsl =
21427        acamera_metadata_enum_acamera_control_enable_zsl(0);
21428}
21429impl acamera_metadata_enum_acamera_control_enable_zsl {
21430    pub const ACAMERA_CONTROL_ENABLE_ZSL_TRUE: acamera_metadata_enum_acamera_control_enable_zsl =
21431        acamera_metadata_enum_acamera_control_enable_zsl(1);
21432}
21433#[repr(transparent)]
21434#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21435pub struct acamera_metadata_enum_acamera_control_enable_zsl(pub ::std::os::raw::c_uint);
21436pub use self::acamera_metadata_enum_acamera_control_enable_zsl as acamera_metadata_enum_android_control_enable_zsl_t;
21437impl acamera_metadata_enum_acamera_control_af_scene_change {
21438    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE_NOT_DETECTED:
21439        acamera_metadata_enum_acamera_control_af_scene_change =
21440        acamera_metadata_enum_acamera_control_af_scene_change(0);
21441}
21442impl acamera_metadata_enum_acamera_control_af_scene_change {
21443    pub const ACAMERA_CONTROL_AF_SCENE_CHANGE_DETECTED:
21444        acamera_metadata_enum_acamera_control_af_scene_change =
21445        acamera_metadata_enum_acamera_control_af_scene_change(1);
21446}
21447#[repr(transparent)]
21448#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21449pub struct acamera_metadata_enum_acamera_control_af_scene_change(pub ::std::os::raw::c_uint);
21450pub use self::acamera_metadata_enum_acamera_control_af_scene_change as acamera_metadata_enum_android_control_af_scene_change_t;
21451impl acamera_metadata_enum_acamera_control_extended_scene_mode {
21452    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_DISABLED:
21453        acamera_metadata_enum_acamera_control_extended_scene_mode =
21454        acamera_metadata_enum_acamera_control_extended_scene_mode(0);
21455}
21456impl acamera_metadata_enum_acamera_control_extended_scene_mode {
21457    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE:
21458        acamera_metadata_enum_acamera_control_extended_scene_mode =
21459        acamera_metadata_enum_acamera_control_extended_scene_mode(1);
21460}
21461impl acamera_metadata_enum_acamera_control_extended_scene_mode {
21462    pub const ACAMERA_CONTROL_EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS:
21463        acamera_metadata_enum_acamera_control_extended_scene_mode =
21464        acamera_metadata_enum_acamera_control_extended_scene_mode(2);
21465}
21466#[repr(transparent)]
21467#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21468pub struct acamera_metadata_enum_acamera_control_extended_scene_mode(pub ::std::os::raw::c_uint);
21469pub use self::acamera_metadata_enum_acamera_control_extended_scene_mode as acamera_metadata_enum_android_control_extended_scene_mode_t;
21470impl acamera_metadata_enum_acamera_control_settings_override {
21471    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE_OFF:
21472        acamera_metadata_enum_acamera_control_settings_override =
21473        acamera_metadata_enum_acamera_control_settings_override(0);
21474}
21475impl acamera_metadata_enum_acamera_control_settings_override {
21476    pub const ACAMERA_CONTROL_SETTINGS_OVERRIDE_ZOOM:
21477        acamera_metadata_enum_acamera_control_settings_override =
21478        acamera_metadata_enum_acamera_control_settings_override(1);
21479}
21480#[repr(transparent)]
21481#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21482pub struct acamera_metadata_enum_acamera_control_settings_override(pub ::std::os::raw::c_uint);
21483pub use self::acamera_metadata_enum_acamera_control_settings_override as acamera_metadata_enum_android_control_settings_override_t;
21484impl acamera_metadata_enum_acamera_control_autoframing {
21485    pub const ACAMERA_CONTROL_AUTOFRAMING_OFF: acamera_metadata_enum_acamera_control_autoframing =
21486        acamera_metadata_enum_acamera_control_autoframing(0);
21487}
21488impl acamera_metadata_enum_acamera_control_autoframing {
21489    pub const ACAMERA_CONTROL_AUTOFRAMING_ON: acamera_metadata_enum_acamera_control_autoframing =
21490        acamera_metadata_enum_acamera_control_autoframing(1);
21491}
21492#[repr(transparent)]
21493#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21494pub struct acamera_metadata_enum_acamera_control_autoframing(pub ::std::os::raw::c_uint);
21495pub use self::acamera_metadata_enum_acamera_control_autoframing as acamera_metadata_enum_android_control_autoframing_t;
21496impl acamera_metadata_enum_acamera_control_autoframing_available {
21497    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE_FALSE:
21498        acamera_metadata_enum_acamera_control_autoframing_available =
21499        acamera_metadata_enum_acamera_control_autoframing_available(0);
21500}
21501impl acamera_metadata_enum_acamera_control_autoframing_available {
21502    pub const ACAMERA_CONTROL_AUTOFRAMING_AVAILABLE_TRUE:
21503        acamera_metadata_enum_acamera_control_autoframing_available =
21504        acamera_metadata_enum_acamera_control_autoframing_available(1);
21505}
21506#[repr(transparent)]
21507#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21508pub struct acamera_metadata_enum_acamera_control_autoframing_available(pub ::std::os::raw::c_uint);
21509pub use self::acamera_metadata_enum_acamera_control_autoframing_available as acamera_metadata_enum_android_control_autoframing_available_t;
21510impl acamera_metadata_enum_acamera_control_autoframing_state {
21511    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_INACTIVE:
21512        acamera_metadata_enum_acamera_control_autoframing_state =
21513        acamera_metadata_enum_acamera_control_autoframing_state(0);
21514}
21515impl acamera_metadata_enum_acamera_control_autoframing_state {
21516    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_FRAMING:
21517        acamera_metadata_enum_acamera_control_autoframing_state =
21518        acamera_metadata_enum_acamera_control_autoframing_state(1);
21519}
21520impl acamera_metadata_enum_acamera_control_autoframing_state {
21521    pub const ACAMERA_CONTROL_AUTOFRAMING_STATE_CONVERGED:
21522        acamera_metadata_enum_acamera_control_autoframing_state =
21523        acamera_metadata_enum_acamera_control_autoframing_state(2);
21524}
21525#[repr(transparent)]
21526#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21527pub struct acamera_metadata_enum_acamera_control_autoframing_state(pub ::std::os::raw::c_uint);
21528pub use self::acamera_metadata_enum_acamera_control_autoframing_state as acamera_metadata_enum_android_control_autoframing_state_t;
21529impl acamera_metadata_enum_acamera_control_low_light_boost_state {
21530    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE:
21531        acamera_metadata_enum_acamera_control_low_light_boost_state =
21532        acamera_metadata_enum_acamera_control_low_light_boost_state(0);
21533}
21534impl acamera_metadata_enum_acamera_control_low_light_boost_state {
21535    pub const ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE:
21536        acamera_metadata_enum_acamera_control_low_light_boost_state =
21537        acamera_metadata_enum_acamera_control_low_light_boost_state(1);
21538}
21539#[repr(transparent)]
21540#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21541pub struct acamera_metadata_enum_acamera_control_low_light_boost_state(pub ::std::os::raw::c_uint);
21542pub use self::acamera_metadata_enum_acamera_control_low_light_boost_state as acamera_metadata_enum_android_control_low_light_boost_state_t;
21543impl acamera_metadata_enum_acamera_edge_mode {
21544    pub const ACAMERA_EDGE_MODE_OFF: acamera_metadata_enum_acamera_edge_mode =
21545        acamera_metadata_enum_acamera_edge_mode(0);
21546}
21547impl acamera_metadata_enum_acamera_edge_mode {
21548    pub const ACAMERA_EDGE_MODE_FAST: acamera_metadata_enum_acamera_edge_mode =
21549        acamera_metadata_enum_acamera_edge_mode(1);
21550}
21551impl acamera_metadata_enum_acamera_edge_mode {
21552    pub const ACAMERA_EDGE_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_edge_mode =
21553        acamera_metadata_enum_acamera_edge_mode(2);
21554}
21555impl acamera_metadata_enum_acamera_edge_mode {
21556    pub const ACAMERA_EDGE_MODE_ZERO_SHUTTER_LAG: acamera_metadata_enum_acamera_edge_mode =
21557        acamera_metadata_enum_acamera_edge_mode(3);
21558}
21559#[repr(transparent)]
21560#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21561pub struct acamera_metadata_enum_acamera_edge_mode(pub ::std::os::raw::c_uint);
21562pub use self::acamera_metadata_enum_acamera_edge_mode as acamera_metadata_enum_android_edge_mode_t;
21563impl acamera_metadata_enum_acamera_flash_mode {
21564    pub const ACAMERA_FLASH_MODE_OFF: acamera_metadata_enum_acamera_flash_mode =
21565        acamera_metadata_enum_acamera_flash_mode(0);
21566}
21567impl acamera_metadata_enum_acamera_flash_mode {
21568    pub const ACAMERA_FLASH_MODE_SINGLE: acamera_metadata_enum_acamera_flash_mode =
21569        acamera_metadata_enum_acamera_flash_mode(1);
21570}
21571impl acamera_metadata_enum_acamera_flash_mode {
21572    pub const ACAMERA_FLASH_MODE_TORCH: acamera_metadata_enum_acamera_flash_mode =
21573        acamera_metadata_enum_acamera_flash_mode(2);
21574}
21575#[repr(transparent)]
21576#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21577pub struct acamera_metadata_enum_acamera_flash_mode(pub ::std::os::raw::c_uint);
21578pub use self::acamera_metadata_enum_acamera_flash_mode as acamera_metadata_enum_android_flash_mode_t;
21579impl acamera_metadata_enum_acamera_flash_state {
21580    pub const ACAMERA_FLASH_STATE_UNAVAILABLE: acamera_metadata_enum_acamera_flash_state =
21581        acamera_metadata_enum_acamera_flash_state(0);
21582}
21583impl acamera_metadata_enum_acamera_flash_state {
21584    pub const ACAMERA_FLASH_STATE_CHARGING: acamera_metadata_enum_acamera_flash_state =
21585        acamera_metadata_enum_acamera_flash_state(1);
21586}
21587impl acamera_metadata_enum_acamera_flash_state {
21588    pub const ACAMERA_FLASH_STATE_READY: acamera_metadata_enum_acamera_flash_state =
21589        acamera_metadata_enum_acamera_flash_state(2);
21590}
21591impl acamera_metadata_enum_acamera_flash_state {
21592    pub const ACAMERA_FLASH_STATE_FIRED: acamera_metadata_enum_acamera_flash_state =
21593        acamera_metadata_enum_acamera_flash_state(3);
21594}
21595impl acamera_metadata_enum_acamera_flash_state {
21596    pub const ACAMERA_FLASH_STATE_PARTIAL: acamera_metadata_enum_acamera_flash_state =
21597        acamera_metadata_enum_acamera_flash_state(4);
21598}
21599#[repr(transparent)]
21600#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21601pub struct acamera_metadata_enum_acamera_flash_state(pub ::std::os::raw::c_uint);
21602pub use self::acamera_metadata_enum_acamera_flash_state as acamera_metadata_enum_android_flash_state_t;
21603impl acamera_metadata_enum_acamera_flash_info_available {
21604    pub const ACAMERA_FLASH_INFO_AVAILABLE_FALSE:
21605        acamera_metadata_enum_acamera_flash_info_available =
21606        acamera_metadata_enum_acamera_flash_info_available(0);
21607}
21608impl acamera_metadata_enum_acamera_flash_info_available {
21609    pub const ACAMERA_FLASH_INFO_AVAILABLE_TRUE:
21610        acamera_metadata_enum_acamera_flash_info_available =
21611        acamera_metadata_enum_acamera_flash_info_available(1);
21612}
21613#[repr(transparent)]
21614#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21615pub struct acamera_metadata_enum_acamera_flash_info_available(pub ::std::os::raw::c_uint);
21616pub use self::acamera_metadata_enum_acamera_flash_info_available as acamera_metadata_enum_android_flash_info_available_t;
21617impl acamera_metadata_enum_acamera_hot_pixel_mode {
21618    pub const ACAMERA_HOT_PIXEL_MODE_OFF: acamera_metadata_enum_acamera_hot_pixel_mode =
21619        acamera_metadata_enum_acamera_hot_pixel_mode(0);
21620}
21621impl acamera_metadata_enum_acamera_hot_pixel_mode {
21622    pub const ACAMERA_HOT_PIXEL_MODE_FAST: acamera_metadata_enum_acamera_hot_pixel_mode =
21623        acamera_metadata_enum_acamera_hot_pixel_mode(1);
21624}
21625impl acamera_metadata_enum_acamera_hot_pixel_mode {
21626    pub const ACAMERA_HOT_PIXEL_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_hot_pixel_mode =
21627        acamera_metadata_enum_acamera_hot_pixel_mode(2);
21628}
21629#[repr(transparent)]
21630#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21631pub struct acamera_metadata_enum_acamera_hot_pixel_mode(pub ::std::os::raw::c_uint);
21632pub use self::acamera_metadata_enum_acamera_hot_pixel_mode as acamera_metadata_enum_android_hot_pixel_mode_t;
21633impl acamera_metadata_enum_acamera_lens_optical_stabilization_mode {
21634    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_OFF:
21635        acamera_metadata_enum_acamera_lens_optical_stabilization_mode =
21636        acamera_metadata_enum_acamera_lens_optical_stabilization_mode(0);
21637}
21638impl acamera_metadata_enum_acamera_lens_optical_stabilization_mode {
21639    pub const ACAMERA_LENS_OPTICAL_STABILIZATION_MODE_ON:
21640        acamera_metadata_enum_acamera_lens_optical_stabilization_mode =
21641        acamera_metadata_enum_acamera_lens_optical_stabilization_mode(1);
21642}
21643#[repr(transparent)]
21644#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21645pub struct acamera_metadata_enum_acamera_lens_optical_stabilization_mode(
21646    pub ::std::os::raw::c_uint,
21647);
21648pub use self::acamera_metadata_enum_acamera_lens_optical_stabilization_mode as acamera_metadata_enum_android_lens_optical_stabilization_mode_t;
21649impl acamera_metadata_enum_acamera_lens_facing {
21650    pub const ACAMERA_LENS_FACING_FRONT: acamera_metadata_enum_acamera_lens_facing =
21651        acamera_metadata_enum_acamera_lens_facing(0);
21652}
21653impl acamera_metadata_enum_acamera_lens_facing {
21654    pub const ACAMERA_LENS_FACING_BACK: acamera_metadata_enum_acamera_lens_facing =
21655        acamera_metadata_enum_acamera_lens_facing(1);
21656}
21657impl acamera_metadata_enum_acamera_lens_facing {
21658    pub const ACAMERA_LENS_FACING_EXTERNAL: acamera_metadata_enum_acamera_lens_facing =
21659        acamera_metadata_enum_acamera_lens_facing(2);
21660}
21661#[repr(transparent)]
21662#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21663pub struct acamera_metadata_enum_acamera_lens_facing(pub ::std::os::raw::c_uint);
21664pub use self::acamera_metadata_enum_acamera_lens_facing as acamera_metadata_enum_android_lens_facing_t;
21665impl acamera_metadata_enum_acamera_lens_state {
21666    pub const ACAMERA_LENS_STATE_STATIONARY: acamera_metadata_enum_acamera_lens_state =
21667        acamera_metadata_enum_acamera_lens_state(0);
21668}
21669impl acamera_metadata_enum_acamera_lens_state {
21670    pub const ACAMERA_LENS_STATE_MOVING: acamera_metadata_enum_acamera_lens_state =
21671        acamera_metadata_enum_acamera_lens_state(1);
21672}
21673#[repr(transparent)]
21674#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21675pub struct acamera_metadata_enum_acamera_lens_state(pub ::std::os::raw::c_uint);
21676pub use self::acamera_metadata_enum_acamera_lens_state as acamera_metadata_enum_android_lens_state_t;
21677impl acamera_metadata_enum_acamera_lens_pose_reference {
21678    pub const ACAMERA_LENS_POSE_REFERENCE_PRIMARY_CAMERA:
21679        acamera_metadata_enum_acamera_lens_pose_reference =
21680        acamera_metadata_enum_acamera_lens_pose_reference(0);
21681}
21682impl acamera_metadata_enum_acamera_lens_pose_reference {
21683    pub const ACAMERA_LENS_POSE_REFERENCE_GYROSCOPE:
21684        acamera_metadata_enum_acamera_lens_pose_reference =
21685        acamera_metadata_enum_acamera_lens_pose_reference(1);
21686}
21687impl acamera_metadata_enum_acamera_lens_pose_reference {
21688    pub const ACAMERA_LENS_POSE_REFERENCE_UNDEFINED:
21689        acamera_metadata_enum_acamera_lens_pose_reference =
21690        acamera_metadata_enum_acamera_lens_pose_reference(2);
21691}
21692impl acamera_metadata_enum_acamera_lens_pose_reference {
21693    pub const ACAMERA_LENS_POSE_REFERENCE_AUTOMOTIVE:
21694        acamera_metadata_enum_acamera_lens_pose_reference =
21695        acamera_metadata_enum_acamera_lens_pose_reference(3);
21696}
21697#[repr(transparent)]
21698#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21699pub struct acamera_metadata_enum_acamera_lens_pose_reference(pub ::std::os::raw::c_uint);
21700pub use self::acamera_metadata_enum_acamera_lens_pose_reference as acamera_metadata_enum_android_lens_pose_reference_t;
21701impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
21702    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_UNCALIBRATED:
21703        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
21704        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(0);
21705}
21706impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
21707    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE:
21708        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
21709        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(1);
21710}
21711impl acamera_metadata_enum_acamera_lens_info_focus_distance_calibration {
21712    pub const ACAMERA_LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED:
21713        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration =
21714        acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(2);
21715}
21716#[repr(transparent)]
21717#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21718pub struct acamera_metadata_enum_acamera_lens_info_focus_distance_calibration(
21719    pub ::std::os::raw::c_uint,
21720);
21721pub use self::acamera_metadata_enum_acamera_lens_info_focus_distance_calibration as acamera_metadata_enum_android_lens_info_focus_distance_calibration_t;
21722impl acamera_metadata_enum_acamera_noise_reduction_mode {
21723    pub const ACAMERA_NOISE_REDUCTION_MODE_OFF: acamera_metadata_enum_acamera_noise_reduction_mode =
21724        acamera_metadata_enum_acamera_noise_reduction_mode(0);
21725}
21726impl acamera_metadata_enum_acamera_noise_reduction_mode {
21727    pub const ACAMERA_NOISE_REDUCTION_MODE_FAST:
21728        acamera_metadata_enum_acamera_noise_reduction_mode =
21729        acamera_metadata_enum_acamera_noise_reduction_mode(1);
21730}
21731impl acamera_metadata_enum_acamera_noise_reduction_mode {
21732    pub const ACAMERA_NOISE_REDUCTION_MODE_HIGH_QUALITY:
21733        acamera_metadata_enum_acamera_noise_reduction_mode =
21734        acamera_metadata_enum_acamera_noise_reduction_mode(2);
21735}
21736impl acamera_metadata_enum_acamera_noise_reduction_mode {
21737    pub const ACAMERA_NOISE_REDUCTION_MODE_MINIMAL:
21738        acamera_metadata_enum_acamera_noise_reduction_mode =
21739        acamera_metadata_enum_acamera_noise_reduction_mode(3);
21740}
21741impl acamera_metadata_enum_acamera_noise_reduction_mode {
21742    pub const ACAMERA_NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG:
21743        acamera_metadata_enum_acamera_noise_reduction_mode =
21744        acamera_metadata_enum_acamera_noise_reduction_mode(4);
21745}
21746#[repr(transparent)]
21747#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21748pub struct acamera_metadata_enum_acamera_noise_reduction_mode(pub ::std::os::raw::c_uint);
21749pub use self::acamera_metadata_enum_acamera_noise_reduction_mode as acamera_metadata_enum_android_noise_reduction_mode_t;
21750impl acamera_metadata_enum_acamera_request_available_capabilities {
21751    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE:
21752        acamera_metadata_enum_acamera_request_available_capabilities =
21753        acamera_metadata_enum_acamera_request_available_capabilities(0);
21754}
21755impl acamera_metadata_enum_acamera_request_available_capabilities {
21756    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR:
21757        acamera_metadata_enum_acamera_request_available_capabilities =
21758        acamera_metadata_enum_acamera_request_available_capabilities(1);
21759}
21760impl acamera_metadata_enum_acamera_request_available_capabilities {
21761    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING:
21762        acamera_metadata_enum_acamera_request_available_capabilities =
21763        acamera_metadata_enum_acamera_request_available_capabilities(2);
21764}
21765impl acamera_metadata_enum_acamera_request_available_capabilities {
21766    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_RAW:
21767        acamera_metadata_enum_acamera_request_available_capabilities =
21768        acamera_metadata_enum_acamera_request_available_capabilities(3);
21769}
21770impl acamera_metadata_enum_acamera_request_available_capabilities {
21771    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS:
21772        acamera_metadata_enum_acamera_request_available_capabilities =
21773        acamera_metadata_enum_acamera_request_available_capabilities(5);
21774}
21775impl acamera_metadata_enum_acamera_request_available_capabilities {
21776    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE:
21777        acamera_metadata_enum_acamera_request_available_capabilities =
21778        acamera_metadata_enum_acamera_request_available_capabilities(6);
21779}
21780impl acamera_metadata_enum_acamera_request_available_capabilities {
21781    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT:
21782        acamera_metadata_enum_acamera_request_available_capabilities =
21783        acamera_metadata_enum_acamera_request_available_capabilities(8);
21784}
21785impl acamera_metadata_enum_acamera_request_available_capabilities {
21786    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MOTION_TRACKING:
21787        acamera_metadata_enum_acamera_request_available_capabilities =
21788        acamera_metadata_enum_acamera_request_available_capabilities(10);
21789}
21790impl acamera_metadata_enum_acamera_request_available_capabilities {
21791    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA:
21792        acamera_metadata_enum_acamera_request_available_capabilities =
21793        acamera_metadata_enum_acamera_request_available_capabilities(11);
21794}
21795impl acamera_metadata_enum_acamera_request_available_capabilities {
21796    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_MONOCHROME:
21797        acamera_metadata_enum_acamera_request_available_capabilities =
21798        acamera_metadata_enum_acamera_request_available_capabilities(12);
21799}
21800impl acamera_metadata_enum_acamera_request_available_capabilities {
21801    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA:
21802        acamera_metadata_enum_acamera_request_available_capabilities =
21803        acamera_metadata_enum_acamera_request_available_capabilities(13);
21804}
21805impl acamera_metadata_enum_acamera_request_available_capabilities {
21806    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA:
21807        acamera_metadata_enum_acamera_request_available_capabilities =
21808        acamera_metadata_enum_acamera_request_available_capabilities(14);
21809}
21810impl acamera_metadata_enum_acamera_request_available_capabilities {
21811    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR:
21812        acamera_metadata_enum_acamera_request_available_capabilities =
21813        acamera_metadata_enum_acamera_request_available_capabilities(16);
21814}
21815impl acamera_metadata_enum_acamera_request_available_capabilities {
21816    pub const ACAMERA_REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE:
21817        acamera_metadata_enum_acamera_request_available_capabilities =
21818        acamera_metadata_enum_acamera_request_available_capabilities(19);
21819}
21820#[repr(transparent)]
21821#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21822pub struct acamera_metadata_enum_acamera_request_available_capabilities(pub ::std::os::raw::c_uint);
21823pub use self::acamera_metadata_enum_acamera_request_available_capabilities as acamera_metadata_enum_android_request_available_capabilities_t;
21824impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21825    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_STANDARD:
21826        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21827        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(1);
21828}
21829impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21830    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HLG10:
21831        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21832        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(2);
21833}
21834impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21835    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10:
21836        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21837        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(4);
21838}
21839impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21840    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_HDR10_PLUS:
21841        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21842        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(8);
21843}
21844impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21845    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF:
21846        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21847        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(16);
21848}
21849impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21850    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_REF_PO:
21851        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21852        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(32);
21853}
21854impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21855    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM:
21856        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21857        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(64);
21858}
21859impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21860    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_10B_HDR_OEM_PO:
21861        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21862        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(128);
21863}
21864impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21865    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF:
21866        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21867        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(256);
21868}
21869impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21870    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_REF_PO:
21871        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21872        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(512);
21873}
21874impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21875    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM:
21876        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21877        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(1024);
21878}
21879impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21880    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_DOLBY_VISION_8B_HDR_OEM_PO:
21881        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21882        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(2048);
21883}
21884impl acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map {
21885    pub const ACAMERA_REQUEST_AVAILABLE_DYNAMIC_RANGE_PROFILES_MAP_MAX:
21886        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map =
21887        acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(4096);
21888}
21889#[repr(transparent)]
21890#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21891pub struct acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map(
21892    pub ::std::os::raw::c_uint,
21893);
21894pub use self::acamera_metadata_enum_acamera_request_available_dynamic_range_profiles_map as acamera_metadata_enum_android_request_available_dynamic_range_profiles_map_t;
21895impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
21896    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_UNSPECIFIED:
21897        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
21898        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(-1);
21899}
21900impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
21901    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_SRGB:
21902        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
21903        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(0);
21904}
21905impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
21906    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_DISPLAY_P3:
21907        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
21908        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(7);
21909}
21910impl acamera_metadata_enum_acamera_request_available_color_space_profiles_map {
21911    pub const ACAMERA_REQUEST_AVAILABLE_COLOR_SPACE_PROFILES_MAP_BT2020_HLG:
21912        acamera_metadata_enum_acamera_request_available_color_space_profiles_map =
21913        acamera_metadata_enum_acamera_request_available_color_space_profiles_map(16);
21914}
21915#[repr(transparent)]
21916#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21917pub struct acamera_metadata_enum_acamera_request_available_color_space_profiles_map(
21918    pub ::std::os::raw::c_int,
21919);
21920pub use self::acamera_metadata_enum_acamera_request_available_color_space_profiles_map as acamera_metadata_enum_android_request_available_color_space_profiles_map_t;
21921impl acamera_metadata_enum_acamera_scaler_available_stream_configurations {
21922    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT:
21923        acamera_metadata_enum_acamera_scaler_available_stream_configurations =
21924        acamera_metadata_enum_acamera_scaler_available_stream_configurations(0);
21925}
21926impl acamera_metadata_enum_acamera_scaler_available_stream_configurations {
21927    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT:
21928        acamera_metadata_enum_acamera_scaler_available_stream_configurations =
21929        acamera_metadata_enum_acamera_scaler_available_stream_configurations(1);
21930}
21931#[repr(transparent)]
21932#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21933pub struct acamera_metadata_enum_acamera_scaler_available_stream_configurations(
21934    pub ::std::os::raw::c_uint,
21935);
21936pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations as acamera_metadata_enum_android_scaler_available_stream_configurations_t;
21937impl acamera_metadata_enum_acamera_scaler_cropping_type {
21938    pub const ACAMERA_SCALER_CROPPING_TYPE_CENTER_ONLY:
21939        acamera_metadata_enum_acamera_scaler_cropping_type =
21940        acamera_metadata_enum_acamera_scaler_cropping_type(0);
21941}
21942impl acamera_metadata_enum_acamera_scaler_cropping_type {
21943    pub const ACAMERA_SCALER_CROPPING_TYPE_FREEFORM:
21944        acamera_metadata_enum_acamera_scaler_cropping_type =
21945        acamera_metadata_enum_acamera_scaler_cropping_type(1);
21946}
21947#[repr(transparent)]
21948#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
21949pub struct acamera_metadata_enum_acamera_scaler_cropping_type(pub ::std::os::raw::c_uint);
21950pub use self::acamera_metadata_enum_acamera_scaler_cropping_type as acamera_metadata_enum_android_scaler_cropping_type_t;
21951impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21952    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PREVIEW:
21953        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21954        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(0);
21955}
21956impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21957    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RECORD:
21958        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21959        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(1);
21960}
21961impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21962    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VIDEO_SNAPSHOT:
21963        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21964        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(2);
21965}
21966impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21967    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_SNAPSHOT:
21968        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21969        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(3);
21970}
21971impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21972    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_ZSL:
21973        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21974        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(4);
21975}
21976impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21977    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_RAW:
21978        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21979        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(5);
21980}
21981impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21982    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_LOW_LATENCY_SNAPSHOT:
21983        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21984        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(6);
21985}
21986impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21987    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END:
21988        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21989        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(7);
21990}
21991impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21992    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_10BIT_OUTPUT:
21993        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21994        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(8);
21995}
21996impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
21997    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_PUBLIC_END_3_8:
21998        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
21999        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(9);
22000}
22001impl acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations {
22002    pub const ACAMERA_SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS_VENDOR_START:
22003        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations =
22004        acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(24);
22005}
22006#[repr(transparent)]
22007#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22008pub struct acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations(
22009    pub ::std::os::raw::c_uint,
22010);
22011pub use self::acamera_metadata_enum_acamera_scaler_available_recommended_stream_configurations as acamera_metadata_enum_android_scaler_available_recommended_stream_configurations_t;
22012impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22013    pub const ACAMERA_SCALER_ROTATE_AND_CROP_NONE:
22014        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22015        acamera_metadata_enum_acamera_scaler_rotate_and_crop(0);
22016}
22017impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22018    pub const ACAMERA_SCALER_ROTATE_AND_CROP_90:
22019        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22020        acamera_metadata_enum_acamera_scaler_rotate_and_crop(1);
22021}
22022impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22023    pub const ACAMERA_SCALER_ROTATE_AND_CROP_180:
22024        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22025        acamera_metadata_enum_acamera_scaler_rotate_and_crop(2);
22026}
22027impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22028    pub const ACAMERA_SCALER_ROTATE_AND_CROP_270:
22029        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22030        acamera_metadata_enum_acamera_scaler_rotate_and_crop(3);
22031}
22032impl acamera_metadata_enum_acamera_scaler_rotate_and_crop {
22033    pub const ACAMERA_SCALER_ROTATE_AND_CROP_AUTO:
22034        acamera_metadata_enum_acamera_scaler_rotate_and_crop =
22035        acamera_metadata_enum_acamera_scaler_rotate_and_crop(4);
22036}
22037#[repr(transparent)]
22038#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22039pub struct acamera_metadata_enum_acamera_scaler_rotate_and_crop(pub ::std::os::raw::c_uint);
22040pub use self::acamera_metadata_enum_acamera_scaler_rotate_and_crop as acamera_metadata_enum_android_scaler_rotate_and_crop_t;
22041impl acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations {
22042    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_OUTPUT:
22043        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations =
22044        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
22045            0,
22046        );
22047}
22048impl acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations {
22049    pub const ACAMERA_SCALER_PHYSICAL_CAMERA_MULTI_RESOLUTION_STREAM_CONFIGURATIONS_INPUT:
22050        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations =
22051        acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
22052            1,
22053        );
22054}
22055#[repr(transparent)]
22056#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22057pub struct acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations(
22058    pub ::std::os::raw::c_uint,
22059);
22060pub use self::acamera_metadata_enum_acamera_scaler_physical_camera_multi_resolution_stream_configurations as acamera_metadata_enum_android_scaler_physical_camera_multi_resolution_stream_configurations_t;
22061impl acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution {
22062    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
22063        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution =
22064        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(0);
22065}
22066impl acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution {
22067    pub const ACAMERA_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
22068        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution =
22069        acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(1);
22070}
22071#[repr(transparent)]
22072#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22073pub struct acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution(
22074    pub ::std::os::raw::c_uint,
22075);
22076pub use self::acamera_metadata_enum_acamera_scaler_available_stream_configurations_maximum_resolution as acamera_metadata_enum_android_scaler_available_stream_configurations_maximum_resolution_t;
22077impl acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported {
22078    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_FALSE:
22079        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported =
22080        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(0);
22081}
22082impl acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported {
22083    pub const ACAMERA_SCALER_MULTI_RESOLUTION_STREAM_SUPPORTED_TRUE:
22084        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported =
22085        acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(1);
22086}
22087#[repr(transparent)]
22088#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22089pub struct acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported(
22090    pub ::std::os::raw::c_uint,
22091);
22092pub use self::acamera_metadata_enum_acamera_scaler_multi_resolution_stream_supported as acamera_metadata_enum_android_scaler_multi_resolution_stream_supported_t;
22093impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22094    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_DEFAULT:
22095        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22096        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(0);
22097}
22098impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22099    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW:
22100        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22101        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(1);
22102}
22103impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22104    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_STILL_CAPTURE:
22105        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22106        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(2);
22107}
22108impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22109    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_RECORD:
22110        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22111        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(3);
22112}
22113impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22114    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL:
22115        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22116        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(4);
22117}
22118impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22119    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_VIDEO_CALL:
22120        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22121        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(5);
22122}
22123impl acamera_metadata_enum_acamera_scaler_available_stream_use_cases {
22124    pub const ACAMERA_SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW:
22125        acamera_metadata_enum_acamera_scaler_available_stream_use_cases =
22126        acamera_metadata_enum_acamera_scaler_available_stream_use_cases(6);
22127}
22128#[repr(transparent)]
22129#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22130pub struct acamera_metadata_enum_acamera_scaler_available_stream_use_cases(
22131    pub ::std::os::raw::c_uint,
22132);
22133pub use self::acamera_metadata_enum_acamera_scaler_available_stream_use_cases as acamera_metadata_enum_android_scaler_available_stream_use_cases_t;
22134impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22135    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT:
22136        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22137        acamera_metadata_enum_acamera_sensor_reference_illuminant1(1);
22138}
22139impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22140    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLUORESCENT:
22141        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22142        acamera_metadata_enum_acamera_sensor_reference_illuminant1(2);
22143}
22144impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22145    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_TUNGSTEN:
22146        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22147        acamera_metadata_enum_acamera_sensor_reference_illuminant1(3);
22148}
22149impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22150    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FLASH:
22151        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22152        acamera_metadata_enum_acamera_sensor_reference_illuminant1(4);
22153}
22154impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22155    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_FINE_WEATHER:
22156        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22157        acamera_metadata_enum_acamera_sensor_reference_illuminant1(9);
22158}
22159impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22160    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_CLOUDY_WEATHER:
22161        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22162        acamera_metadata_enum_acamera_sensor_reference_illuminant1(10);
22163}
22164impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22165    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_SHADE:
22166        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22167        acamera_metadata_enum_acamera_sensor_reference_illuminant1(11);
22168}
22169impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22170    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAYLIGHT_FLUORESCENT:
22171        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22172        acamera_metadata_enum_acamera_sensor_reference_illuminant1(12);
22173}
22174impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22175    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_DAY_WHITE_FLUORESCENT:
22176        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22177        acamera_metadata_enum_acamera_sensor_reference_illuminant1(13);
22178}
22179impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22180    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_COOL_WHITE_FLUORESCENT:
22181        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22182        acamera_metadata_enum_acamera_sensor_reference_illuminant1(14);
22183}
22184impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22185    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_WHITE_FLUORESCENT:
22186        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22187        acamera_metadata_enum_acamera_sensor_reference_illuminant1(15);
22188}
22189impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22190    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_A:
22191        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22192        acamera_metadata_enum_acamera_sensor_reference_illuminant1(17);
22193}
22194impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22195    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_B:
22196        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22197        acamera_metadata_enum_acamera_sensor_reference_illuminant1(18);
22198}
22199impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22200    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_STANDARD_C:
22201        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22202        acamera_metadata_enum_acamera_sensor_reference_illuminant1(19);
22203}
22204impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22205    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D55:
22206        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22207        acamera_metadata_enum_acamera_sensor_reference_illuminant1(20);
22208}
22209impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22210    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D65:
22211        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22212        acamera_metadata_enum_acamera_sensor_reference_illuminant1(21);
22213}
22214impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22215    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D75:
22216        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22217        acamera_metadata_enum_acamera_sensor_reference_illuminant1(22);
22218}
22219impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22220    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_D50:
22221        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22222        acamera_metadata_enum_acamera_sensor_reference_illuminant1(23);
22223}
22224impl acamera_metadata_enum_acamera_sensor_reference_illuminant1 {
22225    pub const ACAMERA_SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN:
22226        acamera_metadata_enum_acamera_sensor_reference_illuminant1 =
22227        acamera_metadata_enum_acamera_sensor_reference_illuminant1(24);
22228}
22229#[repr(transparent)]
22230#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22231pub struct acamera_metadata_enum_acamera_sensor_reference_illuminant1(pub ::std::os::raw::c_uint);
22232pub use self::acamera_metadata_enum_acamera_sensor_reference_illuminant1 as acamera_metadata_enum_android_sensor_reference_illuminant1_t;
22233impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22234    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_OFF:
22235        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22236        acamera_metadata_enum_acamera_sensor_test_pattern_mode(0);
22237}
22238impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22239    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_SOLID_COLOR:
22240        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22241        acamera_metadata_enum_acamera_sensor_test_pattern_mode(1);
22242}
22243impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22244    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS:
22245        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22246        acamera_metadata_enum_acamera_sensor_test_pattern_mode(2);
22247}
22248impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22249    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_COLOR_BARS_FADE_TO_GRAY:
22250        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22251        acamera_metadata_enum_acamera_sensor_test_pattern_mode(3);
22252}
22253impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22254    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_PN9:
22255        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22256        acamera_metadata_enum_acamera_sensor_test_pattern_mode(4);
22257}
22258impl acamera_metadata_enum_acamera_sensor_test_pattern_mode {
22259    pub const ACAMERA_SENSOR_TEST_PATTERN_MODE_CUSTOM1:
22260        acamera_metadata_enum_acamera_sensor_test_pattern_mode =
22261        acamera_metadata_enum_acamera_sensor_test_pattern_mode(256);
22262}
22263#[repr(transparent)]
22264#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22265pub struct acamera_metadata_enum_acamera_sensor_test_pattern_mode(pub ::std::os::raw::c_uint);
22266pub use self::acamera_metadata_enum_acamera_sensor_test_pattern_mode as acamera_metadata_enum_android_sensor_test_pattern_mode_t;
22267impl acamera_metadata_enum_acamera_sensor_pixel_mode {
22268    pub const ACAMERA_SENSOR_PIXEL_MODE_DEFAULT: acamera_metadata_enum_acamera_sensor_pixel_mode =
22269        acamera_metadata_enum_acamera_sensor_pixel_mode(0);
22270}
22271impl acamera_metadata_enum_acamera_sensor_pixel_mode {
22272    pub const ACAMERA_SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION:
22273        acamera_metadata_enum_acamera_sensor_pixel_mode =
22274        acamera_metadata_enum_acamera_sensor_pixel_mode(1);
22275}
22276#[repr(transparent)]
22277#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22278pub struct acamera_metadata_enum_acamera_sensor_pixel_mode(pub ::std::os::raw::c_uint);
22279pub use self::acamera_metadata_enum_acamera_sensor_pixel_mode as acamera_metadata_enum_android_sensor_pixel_mode_t;
22280impl acamera_metadata_enum_acamera_sensor_raw_binning_factor_used {
22281    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_TRUE:
22282        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used =
22283        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(0);
22284}
22285impl acamera_metadata_enum_acamera_sensor_raw_binning_factor_used {
22286    pub const ACAMERA_SENSOR_RAW_BINNING_FACTOR_USED_FALSE:
22287        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used =
22288        acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(1);
22289}
22290#[repr(transparent)]
22291#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22292pub struct acamera_metadata_enum_acamera_sensor_raw_binning_factor_used(pub ::std::os::raw::c_uint);
22293pub use self::acamera_metadata_enum_acamera_sensor_raw_binning_factor_used as acamera_metadata_enum_android_sensor_raw_binning_factor_used_t;
22294impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22295    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB:
22296        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22297        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(0);
22298}
22299impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22300    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG:
22301        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22302        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(1);
22303}
22304impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22305    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG:
22306        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22307        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(2);
22308}
22309impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22310    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR:
22311        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22312        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(3);
22313}
22314impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22315    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB:
22316        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22317        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(4);
22318}
22319impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22320    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO:
22321        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22322        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(5);
22323}
22324impl acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement {
22325    pub const ACAMERA_SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR:
22326        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement =
22327        acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(6);
22328}
22329#[repr(transparent)]
22330#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22331pub struct acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement(
22332    pub ::std::os::raw::c_uint,
22333);
22334pub use self::acamera_metadata_enum_acamera_sensor_info_color_filter_arrangement as acamera_metadata_enum_android_sensor_info_color_filter_arrangement_t;
22335impl acamera_metadata_enum_acamera_sensor_info_timestamp_source {
22336    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_UNKNOWN:
22337        acamera_metadata_enum_acamera_sensor_info_timestamp_source =
22338        acamera_metadata_enum_acamera_sensor_info_timestamp_source(0);
22339}
22340impl acamera_metadata_enum_acamera_sensor_info_timestamp_source {
22341    pub const ACAMERA_SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME:
22342        acamera_metadata_enum_acamera_sensor_info_timestamp_source =
22343        acamera_metadata_enum_acamera_sensor_info_timestamp_source(1);
22344}
22345#[repr(transparent)]
22346#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22347pub struct acamera_metadata_enum_acamera_sensor_info_timestamp_source(pub ::std::os::raw::c_uint);
22348pub use self::acamera_metadata_enum_acamera_sensor_info_timestamp_source as acamera_metadata_enum_android_sensor_info_timestamp_source_t;
22349impl acamera_metadata_enum_acamera_sensor_info_lens_shading_applied {
22350    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_FALSE:
22351        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied =
22352        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(0);
22353}
22354impl acamera_metadata_enum_acamera_sensor_info_lens_shading_applied {
22355    pub const ACAMERA_SENSOR_INFO_LENS_SHADING_APPLIED_TRUE:
22356        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied =
22357        acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(1);
22358}
22359#[repr(transparent)]
22360#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22361pub struct acamera_metadata_enum_acamera_sensor_info_lens_shading_applied(
22362    pub ::std::os::raw::c_uint,
22363);
22364pub use self::acamera_metadata_enum_acamera_sensor_info_lens_shading_applied as acamera_metadata_enum_android_sensor_info_lens_shading_applied_t;
22365impl acamera_metadata_enum_acamera_shading_mode {
22366    pub const ACAMERA_SHADING_MODE_OFF: acamera_metadata_enum_acamera_shading_mode =
22367        acamera_metadata_enum_acamera_shading_mode(0);
22368}
22369impl acamera_metadata_enum_acamera_shading_mode {
22370    pub const ACAMERA_SHADING_MODE_FAST: acamera_metadata_enum_acamera_shading_mode =
22371        acamera_metadata_enum_acamera_shading_mode(1);
22372}
22373impl acamera_metadata_enum_acamera_shading_mode {
22374    pub const ACAMERA_SHADING_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_shading_mode =
22375        acamera_metadata_enum_acamera_shading_mode(2);
22376}
22377#[repr(transparent)]
22378#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22379pub struct acamera_metadata_enum_acamera_shading_mode(pub ::std::os::raw::c_uint);
22380pub use self::acamera_metadata_enum_acamera_shading_mode as acamera_metadata_enum_android_shading_mode_t;
22381impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
22382    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_OFF:
22383        acamera_metadata_enum_acamera_statistics_face_detect_mode =
22384        acamera_metadata_enum_acamera_statistics_face_detect_mode(0);
22385}
22386impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
22387    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_SIMPLE:
22388        acamera_metadata_enum_acamera_statistics_face_detect_mode =
22389        acamera_metadata_enum_acamera_statistics_face_detect_mode(1);
22390}
22391impl acamera_metadata_enum_acamera_statistics_face_detect_mode {
22392    pub const ACAMERA_STATISTICS_FACE_DETECT_MODE_FULL:
22393        acamera_metadata_enum_acamera_statistics_face_detect_mode =
22394        acamera_metadata_enum_acamera_statistics_face_detect_mode(2);
22395}
22396#[repr(transparent)]
22397#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22398pub struct acamera_metadata_enum_acamera_statistics_face_detect_mode(pub ::std::os::raw::c_uint);
22399pub use self::acamera_metadata_enum_acamera_statistics_face_detect_mode as acamera_metadata_enum_android_statistics_face_detect_mode_t;
22400impl acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode {
22401    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_OFF:
22402        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode =
22403        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(0);
22404}
22405impl acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode {
22406    pub const ACAMERA_STATISTICS_HOT_PIXEL_MAP_MODE_ON:
22407        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode =
22408        acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(1);
22409}
22410#[repr(transparent)]
22411#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22412pub struct acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode(pub ::std::os::raw::c_uint);
22413pub use self::acamera_metadata_enum_acamera_statistics_hot_pixel_map_mode as acamera_metadata_enum_android_statistics_hot_pixel_map_mode_t;
22414impl acamera_metadata_enum_acamera_statistics_scene_flicker {
22415    pub const ACAMERA_STATISTICS_SCENE_FLICKER_NONE:
22416        acamera_metadata_enum_acamera_statistics_scene_flicker =
22417        acamera_metadata_enum_acamera_statistics_scene_flicker(0);
22418}
22419impl acamera_metadata_enum_acamera_statistics_scene_flicker {
22420    pub const ACAMERA_STATISTICS_SCENE_FLICKER_50HZ:
22421        acamera_metadata_enum_acamera_statistics_scene_flicker =
22422        acamera_metadata_enum_acamera_statistics_scene_flicker(1);
22423}
22424impl acamera_metadata_enum_acamera_statistics_scene_flicker {
22425    pub const ACAMERA_STATISTICS_SCENE_FLICKER_60HZ:
22426        acamera_metadata_enum_acamera_statistics_scene_flicker =
22427        acamera_metadata_enum_acamera_statistics_scene_flicker(2);
22428}
22429#[repr(transparent)]
22430#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22431pub struct acamera_metadata_enum_acamera_statistics_scene_flicker(pub ::std::os::raw::c_uint);
22432pub use self::acamera_metadata_enum_acamera_statistics_scene_flicker as acamera_metadata_enum_android_statistics_scene_flicker_t;
22433impl acamera_metadata_enum_acamera_statistics_lens_shading_map_mode {
22434    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_OFF:
22435        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode =
22436        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(0);
22437}
22438impl acamera_metadata_enum_acamera_statistics_lens_shading_map_mode {
22439    pub const ACAMERA_STATISTICS_LENS_SHADING_MAP_MODE_ON:
22440        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode =
22441        acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(1);
22442}
22443#[repr(transparent)]
22444#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22445pub struct acamera_metadata_enum_acamera_statistics_lens_shading_map_mode(
22446    pub ::std::os::raw::c_uint,
22447);
22448pub use self::acamera_metadata_enum_acamera_statistics_lens_shading_map_mode as acamera_metadata_enum_android_statistics_lens_shading_map_mode_t;
22449impl acamera_metadata_enum_acamera_statistics_ois_data_mode {
22450    pub const ACAMERA_STATISTICS_OIS_DATA_MODE_OFF:
22451        acamera_metadata_enum_acamera_statistics_ois_data_mode =
22452        acamera_metadata_enum_acamera_statistics_ois_data_mode(0);
22453}
22454impl acamera_metadata_enum_acamera_statistics_ois_data_mode {
22455    pub const ACAMERA_STATISTICS_OIS_DATA_MODE_ON:
22456        acamera_metadata_enum_acamera_statistics_ois_data_mode =
22457        acamera_metadata_enum_acamera_statistics_ois_data_mode(1);
22458}
22459#[repr(transparent)]
22460#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22461pub struct acamera_metadata_enum_acamera_statistics_ois_data_mode(pub ::std::os::raw::c_uint);
22462pub use self::acamera_metadata_enum_acamera_statistics_ois_data_mode as acamera_metadata_enum_android_statistics_ois_data_mode_t;
22463impl acamera_metadata_enum_acamera_tonemap_mode {
22464    pub const ACAMERA_TONEMAP_MODE_CONTRAST_CURVE: acamera_metadata_enum_acamera_tonemap_mode =
22465        acamera_metadata_enum_acamera_tonemap_mode(0);
22466}
22467impl acamera_metadata_enum_acamera_tonemap_mode {
22468    pub const ACAMERA_TONEMAP_MODE_FAST: acamera_metadata_enum_acamera_tonemap_mode =
22469        acamera_metadata_enum_acamera_tonemap_mode(1);
22470}
22471impl acamera_metadata_enum_acamera_tonemap_mode {
22472    pub const ACAMERA_TONEMAP_MODE_HIGH_QUALITY: acamera_metadata_enum_acamera_tonemap_mode =
22473        acamera_metadata_enum_acamera_tonemap_mode(2);
22474}
22475impl acamera_metadata_enum_acamera_tonemap_mode {
22476    pub const ACAMERA_TONEMAP_MODE_GAMMA_VALUE: acamera_metadata_enum_acamera_tonemap_mode =
22477        acamera_metadata_enum_acamera_tonemap_mode(3);
22478}
22479impl acamera_metadata_enum_acamera_tonemap_mode {
22480    pub const ACAMERA_TONEMAP_MODE_PRESET_CURVE: acamera_metadata_enum_acamera_tonemap_mode =
22481        acamera_metadata_enum_acamera_tonemap_mode(4);
22482}
22483#[repr(transparent)]
22484#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22485pub struct acamera_metadata_enum_acamera_tonemap_mode(pub ::std::os::raw::c_uint);
22486pub use self::acamera_metadata_enum_acamera_tonemap_mode as acamera_metadata_enum_android_tonemap_mode_t;
22487impl acamera_metadata_enum_acamera_tonemap_preset_curve {
22488    pub const ACAMERA_TONEMAP_PRESET_CURVE_SRGB:
22489        acamera_metadata_enum_acamera_tonemap_preset_curve =
22490        acamera_metadata_enum_acamera_tonemap_preset_curve(0);
22491}
22492impl acamera_metadata_enum_acamera_tonemap_preset_curve {
22493    pub const ACAMERA_TONEMAP_PRESET_CURVE_REC709:
22494        acamera_metadata_enum_acamera_tonemap_preset_curve =
22495        acamera_metadata_enum_acamera_tonemap_preset_curve(1);
22496}
22497#[repr(transparent)]
22498#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22499pub struct acamera_metadata_enum_acamera_tonemap_preset_curve(pub ::std::os::raw::c_uint);
22500pub use self::acamera_metadata_enum_acamera_tonemap_preset_curve as acamera_metadata_enum_android_tonemap_preset_curve_t;
22501impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22502    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED:
22503        acamera_metadata_enum_acamera_info_supported_hardware_level =
22504        acamera_metadata_enum_acamera_info_supported_hardware_level(0);
22505}
22506impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22507    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_FULL:
22508        acamera_metadata_enum_acamera_info_supported_hardware_level =
22509        acamera_metadata_enum_acamera_info_supported_hardware_level(1);
22510}
22511impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22512    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY:
22513        acamera_metadata_enum_acamera_info_supported_hardware_level =
22514        acamera_metadata_enum_acamera_info_supported_hardware_level(2);
22515}
22516impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22517    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_3:
22518        acamera_metadata_enum_acamera_info_supported_hardware_level =
22519        acamera_metadata_enum_acamera_info_supported_hardware_level(3);
22520}
22521impl acamera_metadata_enum_acamera_info_supported_hardware_level {
22522    pub const ACAMERA_INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL:
22523        acamera_metadata_enum_acamera_info_supported_hardware_level =
22524        acamera_metadata_enum_acamera_info_supported_hardware_level(4);
22525}
22526#[repr(transparent)]
22527#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22528pub struct acamera_metadata_enum_acamera_info_supported_hardware_level(pub ::std::os::raw::c_uint);
22529pub use self::acamera_metadata_enum_acamera_info_supported_hardware_level as acamera_metadata_enum_android_info_supported_hardware_level_t;
22530impl acamera_metadata_enum_acamera_black_level_lock {
22531    pub const ACAMERA_BLACK_LEVEL_LOCK_OFF: acamera_metadata_enum_acamera_black_level_lock =
22532        acamera_metadata_enum_acamera_black_level_lock(0);
22533}
22534impl acamera_metadata_enum_acamera_black_level_lock {
22535    pub const ACAMERA_BLACK_LEVEL_LOCK_ON: acamera_metadata_enum_acamera_black_level_lock =
22536        acamera_metadata_enum_acamera_black_level_lock(1);
22537}
22538#[repr(transparent)]
22539#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22540pub struct acamera_metadata_enum_acamera_black_level_lock(pub ::std::os::raw::c_uint);
22541pub use self::acamera_metadata_enum_acamera_black_level_lock as acamera_metadata_enum_android_black_level_lock_t;
22542impl acamera_metadata_enum_acamera_sync_frame_number {
22543    pub const ACAMERA_SYNC_FRAME_NUMBER_CONVERGING:
22544        acamera_metadata_enum_acamera_sync_frame_number =
22545        acamera_metadata_enum_acamera_sync_frame_number(-1);
22546}
22547impl acamera_metadata_enum_acamera_sync_frame_number {
22548    pub const ACAMERA_SYNC_FRAME_NUMBER_UNKNOWN: acamera_metadata_enum_acamera_sync_frame_number =
22549        acamera_metadata_enum_acamera_sync_frame_number(-2);
22550}
22551#[repr(transparent)]
22552#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22553pub struct acamera_metadata_enum_acamera_sync_frame_number(pub ::std::os::raw::c_int);
22554pub use self::acamera_metadata_enum_acamera_sync_frame_number as acamera_metadata_enum_android_sync_frame_number_t;
22555impl acamera_metadata_enum_acamera_sync_max_latency {
22556    pub const ACAMERA_SYNC_MAX_LATENCY_PER_FRAME_CONTROL:
22557        acamera_metadata_enum_acamera_sync_max_latency =
22558        acamera_metadata_enum_acamera_sync_max_latency(0);
22559}
22560impl acamera_metadata_enum_acamera_sync_max_latency {
22561    pub const ACAMERA_SYNC_MAX_LATENCY_UNKNOWN: acamera_metadata_enum_acamera_sync_max_latency =
22562        acamera_metadata_enum_acamera_sync_max_latency(-1);
22563}
22564#[repr(transparent)]
22565#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22566pub struct acamera_metadata_enum_acamera_sync_max_latency(pub ::std::os::raw::c_int);
22567pub use self::acamera_metadata_enum_acamera_sync_max_latency as acamera_metadata_enum_android_sync_max_latency_t;
22568impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations {
22569    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
22570        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations =
22571        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(0);
22572}
22573impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations {
22574    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_INPUT:
22575        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations =
22576        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(1);
22577}
22578#[repr(transparent)]
22579#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22580pub struct acamera_metadata_enum_acamera_depth_available_depth_stream_configurations(
22581    pub ::std::os::raw::c_uint,
22582);
22583pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations as acamera_metadata_enum_android_depth_available_depth_stream_configurations_t;
22584impl acamera_metadata_enum_acamera_depth_depth_is_exclusive {
22585    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_FALSE:
22586        acamera_metadata_enum_acamera_depth_depth_is_exclusive =
22587        acamera_metadata_enum_acamera_depth_depth_is_exclusive(0);
22588}
22589impl acamera_metadata_enum_acamera_depth_depth_is_exclusive {
22590    pub const ACAMERA_DEPTH_DEPTH_IS_EXCLUSIVE_TRUE:
22591        acamera_metadata_enum_acamera_depth_depth_is_exclusive =
22592        acamera_metadata_enum_acamera_depth_depth_is_exclusive(1);
22593}
22594#[repr(transparent)]
22595#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22596pub struct acamera_metadata_enum_acamera_depth_depth_is_exclusive(pub ::std::os::raw::c_uint);
22597pub use self::acamera_metadata_enum_acamera_depth_depth_is_exclusive as acamera_metadata_enum_android_depth_depth_is_exclusive_t;
22598impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations {
22599    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_OUTPUT:
22600        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations =
22601        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(0);
22602}
22603impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations {
22604    pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_INPUT:
22605        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations =
22606        acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(1);
22607}
22608#[repr(transparent)]
22609#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22610pub struct acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations(
22611    pub ::std::os::raw::c_uint,
22612);
22613pub use self::acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations as acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_t;
22614impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution {
22615    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
22616        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution =
22617        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
22618            0,
22619        );
22620}
22621impl acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution {
22622    pub const ACAMERA_DEPTH_AVAILABLE_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
22623        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution =
22624        acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
22625            1,
22626        );
22627}
22628#[repr(transparent)]
22629#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22630pub struct acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution(
22631    pub ::std::os::raw::c_uint,
22632);
22633pub use self::acamera_metadata_enum_acamera_depth_available_depth_stream_configurations_maximum_resolution as acamera_metadata_enum_android_depth_available_depth_stream_configurations_maximum_resolution_t;
22634impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution { pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution = acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution (0) ; }
22635impl acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution { pub const ACAMERA_DEPTH_AVAILABLE_DYNAMIC_DEPTH_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT : acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution = acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution (1) ; }
22636#[repr(transparent)]
22637#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22638pub struct acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution(
22639    pub ::std::os::raw::c_uint,
22640);
22641pub use self::acamera_metadata_enum_acamera_depth_available_dynamic_depth_stream_configurations_maximum_resolution as acamera_metadata_enum_android_depth_available_dynamic_depth_stream_configurations_maximum_resolution_t;
22642impl acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type {
22643    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE:
22644        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type =
22645        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(0);
22646}
22647impl acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type {
22648    pub const ACAMERA_LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED:
22649        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type =
22650        acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(1);
22651}
22652#[repr(transparent)]
22653#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22654pub struct acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type(
22655    pub ::std::os::raw::c_uint,
22656);
22657pub use self::acamera_metadata_enum_acamera_logical_multi_camera_sensor_sync_type as acamera_metadata_enum_android_logical_multi_camera_sensor_sync_type_t;
22658impl acamera_metadata_enum_acamera_distortion_correction_mode {
22659    pub const ACAMERA_DISTORTION_CORRECTION_MODE_OFF:
22660        acamera_metadata_enum_acamera_distortion_correction_mode =
22661        acamera_metadata_enum_acamera_distortion_correction_mode(0);
22662}
22663impl acamera_metadata_enum_acamera_distortion_correction_mode {
22664    pub const ACAMERA_DISTORTION_CORRECTION_MODE_FAST:
22665        acamera_metadata_enum_acamera_distortion_correction_mode =
22666        acamera_metadata_enum_acamera_distortion_correction_mode(1);
22667}
22668impl acamera_metadata_enum_acamera_distortion_correction_mode {
22669    pub const ACAMERA_DISTORTION_CORRECTION_MODE_HIGH_QUALITY:
22670        acamera_metadata_enum_acamera_distortion_correction_mode =
22671        acamera_metadata_enum_acamera_distortion_correction_mode(2);
22672}
22673#[repr(transparent)]
22674#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22675pub struct acamera_metadata_enum_acamera_distortion_correction_mode(pub ::std::os::raw::c_uint);
22676pub use self::acamera_metadata_enum_acamera_distortion_correction_mode as acamera_metadata_enum_android_distortion_correction_mode_t;
22677impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations {
22678    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_OUTPUT:
22679        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations =
22680        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(0);
22681}
22682impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations {
22683    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_INPUT:
22684        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations =
22685        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(1);
22686}
22687#[repr(transparent)]
22688#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22689pub struct acamera_metadata_enum_acamera_heic_available_heic_stream_configurations(
22690    pub ::std::os::raw::c_uint,
22691);
22692pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations as acamera_metadata_enum_android_heic_available_heic_stream_configurations_t;
22693impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution {
22694    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT:
22695        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution =
22696        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
22697            0,
22698        );
22699}
22700impl acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution {
22701    pub const ACAMERA_HEIC_AVAILABLE_HEIC_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT:
22702        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution =
22703        acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
22704            1,
22705        );
22706}
22707#[repr(transparent)]
22708#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22709pub struct acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution(
22710    pub ::std::os::raw::c_uint,
22711);
22712pub use self::acamera_metadata_enum_acamera_heic_available_heic_stream_configurations_maximum_resolution as acamera_metadata_enum_android_heic_available_heic_stream_configurations_maximum_resolution_t;
22713impl acamera_metadata_enum_acamera_automotive_location {
22714    pub const ACAMERA_AUTOMOTIVE_LOCATION_INTERIOR:
22715        acamera_metadata_enum_acamera_automotive_location =
22716        acamera_metadata_enum_acamera_automotive_location(0);
22717}
22718impl acamera_metadata_enum_acamera_automotive_location {
22719    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_OTHER:
22720        acamera_metadata_enum_acamera_automotive_location =
22721        acamera_metadata_enum_acamera_automotive_location(1);
22722}
22723impl acamera_metadata_enum_acamera_automotive_location {
22724    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_FRONT:
22725        acamera_metadata_enum_acamera_automotive_location =
22726        acamera_metadata_enum_acamera_automotive_location(2);
22727}
22728impl acamera_metadata_enum_acamera_automotive_location {
22729    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_REAR:
22730        acamera_metadata_enum_acamera_automotive_location =
22731        acamera_metadata_enum_acamera_automotive_location(3);
22732}
22733impl acamera_metadata_enum_acamera_automotive_location {
22734    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_LEFT:
22735        acamera_metadata_enum_acamera_automotive_location =
22736        acamera_metadata_enum_acamera_automotive_location(4);
22737}
22738impl acamera_metadata_enum_acamera_automotive_location {
22739    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTERIOR_RIGHT:
22740        acamera_metadata_enum_acamera_automotive_location =
22741        acamera_metadata_enum_acamera_automotive_location(5);
22742}
22743impl acamera_metadata_enum_acamera_automotive_location {
22744    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_OTHER:
22745        acamera_metadata_enum_acamera_automotive_location =
22746        acamera_metadata_enum_acamera_automotive_location(6);
22747}
22748impl acamera_metadata_enum_acamera_automotive_location {
22749    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_FRONT:
22750        acamera_metadata_enum_acamera_automotive_location =
22751        acamera_metadata_enum_acamera_automotive_location(7);
22752}
22753impl acamera_metadata_enum_acamera_automotive_location {
22754    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_REAR:
22755        acamera_metadata_enum_acamera_automotive_location =
22756        acamera_metadata_enum_acamera_automotive_location(8);
22757}
22758impl acamera_metadata_enum_acamera_automotive_location {
22759    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_LEFT:
22760        acamera_metadata_enum_acamera_automotive_location =
22761        acamera_metadata_enum_acamera_automotive_location(9);
22762}
22763impl acamera_metadata_enum_acamera_automotive_location {
22764    pub const ACAMERA_AUTOMOTIVE_LOCATION_EXTRA_RIGHT:
22765        acamera_metadata_enum_acamera_automotive_location =
22766        acamera_metadata_enum_acamera_automotive_location(10);
22767}
22768#[repr(transparent)]
22769#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22770pub struct acamera_metadata_enum_acamera_automotive_location(pub ::std::os::raw::c_uint);
22771pub use self::acamera_metadata_enum_acamera_automotive_location as acamera_metadata_enum_android_automotive_location_t;
22772impl acamera_metadata_enum_acamera_automotive_lens_facing {
22773    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_OTHER:
22774        acamera_metadata_enum_acamera_automotive_lens_facing =
22775        acamera_metadata_enum_acamera_automotive_lens_facing(0);
22776}
22777impl acamera_metadata_enum_acamera_automotive_lens_facing {
22778    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_FRONT:
22779        acamera_metadata_enum_acamera_automotive_lens_facing =
22780        acamera_metadata_enum_acamera_automotive_lens_facing(1);
22781}
22782impl acamera_metadata_enum_acamera_automotive_lens_facing {
22783    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_REAR:
22784        acamera_metadata_enum_acamera_automotive_lens_facing =
22785        acamera_metadata_enum_acamera_automotive_lens_facing(2);
22786}
22787impl acamera_metadata_enum_acamera_automotive_lens_facing {
22788    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_LEFT:
22789        acamera_metadata_enum_acamera_automotive_lens_facing =
22790        acamera_metadata_enum_acamera_automotive_lens_facing(3);
22791}
22792impl acamera_metadata_enum_acamera_automotive_lens_facing {
22793    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_EXTERIOR_RIGHT:
22794        acamera_metadata_enum_acamera_automotive_lens_facing =
22795        acamera_metadata_enum_acamera_automotive_lens_facing(4);
22796}
22797impl acamera_metadata_enum_acamera_automotive_lens_facing {
22798    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_OTHER:
22799        acamera_metadata_enum_acamera_automotive_lens_facing =
22800        acamera_metadata_enum_acamera_automotive_lens_facing(5);
22801}
22802impl acamera_metadata_enum_acamera_automotive_lens_facing {
22803    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_LEFT:
22804        acamera_metadata_enum_acamera_automotive_lens_facing =
22805        acamera_metadata_enum_acamera_automotive_lens_facing(6);
22806}
22807impl acamera_metadata_enum_acamera_automotive_lens_facing {
22808    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_CENTER:
22809        acamera_metadata_enum_acamera_automotive_lens_facing =
22810        acamera_metadata_enum_acamera_automotive_lens_facing(7);
22811}
22812impl acamera_metadata_enum_acamera_automotive_lens_facing {
22813    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_1_RIGHT:
22814        acamera_metadata_enum_acamera_automotive_lens_facing =
22815        acamera_metadata_enum_acamera_automotive_lens_facing(8);
22816}
22817impl acamera_metadata_enum_acamera_automotive_lens_facing {
22818    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_LEFT:
22819        acamera_metadata_enum_acamera_automotive_lens_facing =
22820        acamera_metadata_enum_acamera_automotive_lens_facing(9);
22821}
22822impl acamera_metadata_enum_acamera_automotive_lens_facing {
22823    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_CENTER:
22824        acamera_metadata_enum_acamera_automotive_lens_facing =
22825        acamera_metadata_enum_acamera_automotive_lens_facing(10);
22826}
22827impl acamera_metadata_enum_acamera_automotive_lens_facing {
22828    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_2_RIGHT:
22829        acamera_metadata_enum_acamera_automotive_lens_facing =
22830        acamera_metadata_enum_acamera_automotive_lens_facing(11);
22831}
22832impl acamera_metadata_enum_acamera_automotive_lens_facing {
22833    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_LEFT:
22834        acamera_metadata_enum_acamera_automotive_lens_facing =
22835        acamera_metadata_enum_acamera_automotive_lens_facing(12);
22836}
22837impl acamera_metadata_enum_acamera_automotive_lens_facing {
22838    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_CENTER:
22839        acamera_metadata_enum_acamera_automotive_lens_facing =
22840        acamera_metadata_enum_acamera_automotive_lens_facing(13);
22841}
22842impl acamera_metadata_enum_acamera_automotive_lens_facing {
22843    pub const ACAMERA_AUTOMOTIVE_LENS_FACING_INTERIOR_SEAT_ROW_3_RIGHT:
22844        acamera_metadata_enum_acamera_automotive_lens_facing =
22845        acamera_metadata_enum_acamera_automotive_lens_facing(14);
22846}
22847#[repr(transparent)]
22848#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22849pub struct acamera_metadata_enum_acamera_automotive_lens_facing(pub ::std::os::raw::c_uint);
22850pub use self::acamera_metadata_enum_acamera_automotive_lens_facing as acamera_metadata_enum_android_automotive_lens_facing_t;
22851impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations {
22852    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_OUTPUT:
22853        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations =
22854        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(0);
22855}
22856impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations {
22857    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_INPUT:
22858        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations =
22859        acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(1);
22860}
22861#[repr(transparent)]
22862#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22863pub struct acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations(
22864    pub ::std::os::raw::c_uint,
22865);
22866pub use self::acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations as acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_t;
22867impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution {
22868    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_OUTPUT : acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution = acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution (0) ;
22869}
22870impl acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution {
22871    pub const ACAMERA_JPEGR_AVAILABLE_JPEG_R_STREAM_CONFIGURATIONS_MAXIMUM_RESOLUTION_INPUT : acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution = acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution (1) ;
22872}
22873#[repr(transparent)]
22874#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
22875pub struct acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution(
22876    pub ::std::os::raw::c_uint,
22877);
22878pub use self::acamera_metadata_enum_acamera_jpegr_available_jpeg_r_stream_configurations_maximum_resolution as acamera_metadata_enum_android_jpegr_available_jpeg_r_stream_configurations_maximum_resolution_t;
22879#[repr(C)]
22880#[derive(Debug, Copy, Clone)]
22881pub struct ACameraMetadata {
22882    _unused: [u8; 0],
22883}
22884pub const ACAMERA_TYPE_BYTE: _bindgen_ty_65 = 0;
22885pub const ACAMERA_TYPE_INT32: _bindgen_ty_65 = 1;
22886pub const ACAMERA_TYPE_FLOAT: _bindgen_ty_65 = 2;
22887pub const ACAMERA_TYPE_INT64: _bindgen_ty_65 = 3;
22888pub const ACAMERA_TYPE_DOUBLE: _bindgen_ty_65 = 4;
22889pub const ACAMERA_TYPE_RATIONAL: _bindgen_ty_65 = 5;
22890pub const ACAMERA_NUM_TYPES: _bindgen_ty_65 = 6;
22891pub type _bindgen_ty_65 = ::std::os::raw::c_uint;
22892#[repr(C)]
22893#[derive(Debug, Copy, Clone)]
22894pub struct ACameraMetadata_rational {
22895    pub numerator: i32,
22896    pub denominator: i32,
22897}
22898#[test]
22899fn bindgen_test_layout_ACameraMetadata_rational() {
22900    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_rational> =
22901        ::std::mem::MaybeUninit::uninit();
22902    let ptr = UNINIT.as_ptr();
22903    assert_eq!(
22904        ::std::mem::size_of::<ACameraMetadata_rational>(),
22905        8usize,
22906        concat!("Size of: ", stringify!(ACameraMetadata_rational))
22907    );
22908    assert_eq!(
22909        ::std::mem::align_of::<ACameraMetadata_rational>(),
22910        4usize,
22911        concat!("Alignment of ", stringify!(ACameraMetadata_rational))
22912    );
22913    assert_eq!(
22914        unsafe { ::std::ptr::addr_of!((*ptr).numerator) as usize - ptr as usize },
22915        0usize,
22916        concat!(
22917            "Offset of field: ",
22918            stringify!(ACameraMetadata_rational),
22919            "::",
22920            stringify!(numerator)
22921        )
22922    );
22923    assert_eq!(
22924        unsafe { ::std::ptr::addr_of!((*ptr).denominator) as usize - ptr as usize },
22925        4usize,
22926        concat!(
22927            "Offset of field: ",
22928            stringify!(ACameraMetadata_rational),
22929            "::",
22930            stringify!(denominator)
22931        )
22932    );
22933}
22934#[repr(C)]
22935#[derive(Copy, Clone)]
22936pub struct ACameraMetadata_entry {
22937    pub tag: u32,
22938    pub type_: u8,
22939    pub count: u32,
22940    pub data: ACameraMetadata_entry__bindgen_ty_1,
22941}
22942#[repr(C)]
22943#[derive(Copy, Clone)]
22944pub union ACameraMetadata_entry__bindgen_ty_1 {
22945    pub u8_: *mut u8,
22946    pub i32_: *mut i32,
22947    pub f: *mut f32,
22948    pub i64_: *mut i64,
22949    pub d: *mut f64,
22950    pub r: *mut ACameraMetadata_rational,
22951}
22952#[test]
22953fn bindgen_test_layout_ACameraMetadata_entry__bindgen_ty_1() {
22954    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_entry__bindgen_ty_1> =
22955        ::std::mem::MaybeUninit::uninit();
22956    let ptr = UNINIT.as_ptr();
22957    assert_eq!(
22958        ::std::mem::size_of::<ACameraMetadata_entry__bindgen_ty_1>(),
22959        4usize,
22960        concat!("Size of: ", stringify!(ACameraMetadata_entry__bindgen_ty_1))
22961    );
22962    assert_eq!(
22963        ::std::mem::align_of::<ACameraMetadata_entry__bindgen_ty_1>(),
22964        4usize,
22965        concat!(
22966            "Alignment of ",
22967            stringify!(ACameraMetadata_entry__bindgen_ty_1)
22968        )
22969    );
22970    assert_eq!(
22971        unsafe { ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize },
22972        0usize,
22973        concat!(
22974            "Offset of field: ",
22975            stringify!(ACameraMetadata_entry__bindgen_ty_1),
22976            "::",
22977            stringify!(u8_)
22978        )
22979    );
22980    assert_eq!(
22981        unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize },
22982        0usize,
22983        concat!(
22984            "Offset of field: ",
22985            stringify!(ACameraMetadata_entry__bindgen_ty_1),
22986            "::",
22987            stringify!(i32_)
22988        )
22989    );
22990    assert_eq!(
22991        unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
22992        0usize,
22993        concat!(
22994            "Offset of field: ",
22995            stringify!(ACameraMetadata_entry__bindgen_ty_1),
22996            "::",
22997            stringify!(f)
22998        )
22999    );
23000    assert_eq!(
23001        unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize },
23002        0usize,
23003        concat!(
23004            "Offset of field: ",
23005            stringify!(ACameraMetadata_entry__bindgen_ty_1),
23006            "::",
23007            stringify!(i64_)
23008        )
23009    );
23010    assert_eq!(
23011        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
23012        0usize,
23013        concat!(
23014            "Offset of field: ",
23015            stringify!(ACameraMetadata_entry__bindgen_ty_1),
23016            "::",
23017            stringify!(d)
23018        )
23019    );
23020    assert_eq!(
23021        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
23022        0usize,
23023        concat!(
23024            "Offset of field: ",
23025            stringify!(ACameraMetadata_entry__bindgen_ty_1),
23026            "::",
23027            stringify!(r)
23028        )
23029    );
23030}
23031#[test]
23032fn bindgen_test_layout_ACameraMetadata_entry() {
23033    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_entry> =
23034        ::std::mem::MaybeUninit::uninit();
23035    let ptr = UNINIT.as_ptr();
23036    assert_eq!(
23037        ::std::mem::size_of::<ACameraMetadata_entry>(),
23038        16usize,
23039        concat!("Size of: ", stringify!(ACameraMetadata_entry))
23040    );
23041    assert_eq!(
23042        ::std::mem::align_of::<ACameraMetadata_entry>(),
23043        4usize,
23044        concat!("Alignment of ", stringify!(ACameraMetadata_entry))
23045    );
23046    assert_eq!(
23047        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
23048        0usize,
23049        concat!(
23050            "Offset of field: ",
23051            stringify!(ACameraMetadata_entry),
23052            "::",
23053            stringify!(tag)
23054        )
23055    );
23056    assert_eq!(
23057        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
23058        4usize,
23059        concat!(
23060            "Offset of field: ",
23061            stringify!(ACameraMetadata_entry),
23062            "::",
23063            stringify!(type_)
23064        )
23065    );
23066    assert_eq!(
23067        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
23068        8usize,
23069        concat!(
23070            "Offset of field: ",
23071            stringify!(ACameraMetadata_entry),
23072            "::",
23073            stringify!(count)
23074        )
23075    );
23076    assert_eq!(
23077        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
23078        12usize,
23079        concat!(
23080            "Offset of field: ",
23081            stringify!(ACameraMetadata_entry),
23082            "::",
23083            stringify!(data)
23084        )
23085    );
23086}
23087#[repr(C)]
23088#[derive(Copy, Clone)]
23089pub struct ACameraMetadata_const_entry {
23090    pub tag: u32,
23091    pub type_: u8,
23092    pub count: u32,
23093    pub data: ACameraMetadata_const_entry__bindgen_ty_1,
23094}
23095#[repr(C)]
23096#[derive(Copy, Clone)]
23097pub union ACameraMetadata_const_entry__bindgen_ty_1 {
23098    pub u8_: *const u8,
23099    pub i32_: *const i32,
23100    pub f: *const f32,
23101    pub i64_: *const i64,
23102    pub d: *const f64,
23103    pub r: *const ACameraMetadata_rational,
23104}
23105#[test]
23106fn bindgen_test_layout_ACameraMetadata_const_entry__bindgen_ty_1() {
23107    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_const_entry__bindgen_ty_1> =
23108        ::std::mem::MaybeUninit::uninit();
23109    let ptr = UNINIT.as_ptr();
23110    assert_eq!(
23111        ::std::mem::size_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
23112        4usize,
23113        concat!(
23114            "Size of: ",
23115            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
23116        )
23117    );
23118    assert_eq!(
23119        ::std::mem::align_of::<ACameraMetadata_const_entry__bindgen_ty_1>(),
23120        4usize,
23121        concat!(
23122            "Alignment of ",
23123            stringify!(ACameraMetadata_const_entry__bindgen_ty_1)
23124        )
23125    );
23126    assert_eq!(
23127        unsafe { ::std::ptr::addr_of!((*ptr).u8_) as usize - ptr as usize },
23128        0usize,
23129        concat!(
23130            "Offset of field: ",
23131            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23132            "::",
23133            stringify!(u8_)
23134        )
23135    );
23136    assert_eq!(
23137        unsafe { ::std::ptr::addr_of!((*ptr).i32_) as usize - ptr as usize },
23138        0usize,
23139        concat!(
23140            "Offset of field: ",
23141            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23142            "::",
23143            stringify!(i32_)
23144        )
23145    );
23146    assert_eq!(
23147        unsafe { ::std::ptr::addr_of!((*ptr).f) as usize - ptr as usize },
23148        0usize,
23149        concat!(
23150            "Offset of field: ",
23151            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23152            "::",
23153            stringify!(f)
23154        )
23155    );
23156    assert_eq!(
23157        unsafe { ::std::ptr::addr_of!((*ptr).i64_) as usize - ptr as usize },
23158        0usize,
23159        concat!(
23160            "Offset of field: ",
23161            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23162            "::",
23163            stringify!(i64_)
23164        )
23165    );
23166    assert_eq!(
23167        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
23168        0usize,
23169        concat!(
23170            "Offset of field: ",
23171            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23172            "::",
23173            stringify!(d)
23174        )
23175    );
23176    assert_eq!(
23177        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
23178        0usize,
23179        concat!(
23180            "Offset of field: ",
23181            stringify!(ACameraMetadata_const_entry__bindgen_ty_1),
23182            "::",
23183            stringify!(r)
23184        )
23185    );
23186}
23187#[test]
23188fn bindgen_test_layout_ACameraMetadata_const_entry() {
23189    const UNINIT: ::std::mem::MaybeUninit<ACameraMetadata_const_entry> =
23190        ::std::mem::MaybeUninit::uninit();
23191    let ptr = UNINIT.as_ptr();
23192    assert_eq!(
23193        ::std::mem::size_of::<ACameraMetadata_const_entry>(),
23194        16usize,
23195        concat!("Size of: ", stringify!(ACameraMetadata_const_entry))
23196    );
23197    assert_eq!(
23198        ::std::mem::align_of::<ACameraMetadata_const_entry>(),
23199        4usize,
23200        concat!("Alignment of ", stringify!(ACameraMetadata_const_entry))
23201    );
23202    assert_eq!(
23203        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
23204        0usize,
23205        concat!(
23206            "Offset of field: ",
23207            stringify!(ACameraMetadata_const_entry),
23208            "::",
23209            stringify!(tag)
23210        )
23211    );
23212    assert_eq!(
23213        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
23214        4usize,
23215        concat!(
23216            "Offset of field: ",
23217            stringify!(ACameraMetadata_const_entry),
23218            "::",
23219            stringify!(type_)
23220        )
23221    );
23222    assert_eq!(
23223        unsafe { ::std::ptr::addr_of!((*ptr).count) as usize - ptr as usize },
23224        8usize,
23225        concat!(
23226            "Offset of field: ",
23227            stringify!(ACameraMetadata_const_entry),
23228            "::",
23229            stringify!(count)
23230        )
23231    );
23232    assert_eq!(
23233        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
23234        12usize,
23235        concat!(
23236            "Offset of field: ",
23237            stringify!(ACameraMetadata_const_entry),
23238            "::",
23239            stringify!(data)
23240        )
23241    );
23242}
23243extern "C" {
23244    pub fn ACameraMetadata_getConstEntry(
23245        metadata: *const ACameraMetadata,
23246        tag: u32,
23247        entry: *mut ACameraMetadata_const_entry,
23248    ) -> camera_status_t;
23249}
23250extern "C" {
23251    pub fn ACameraMetadata_getAllTags(
23252        metadata: *const ACameraMetadata,
23253        numEntries: *mut i32,
23254        tags: *mut *const u32,
23255    ) -> camera_status_t;
23256}
23257extern "C" {
23258    pub fn ACameraMetadata_copy(src: *const ACameraMetadata) -> *mut ACameraMetadata;
23259}
23260extern "C" {
23261    pub fn ACameraMetadata_free(metadata: *mut ACameraMetadata);
23262}
23263extern "C" {
23264    pub fn ACameraMetadata_isLogicalMultiCamera(
23265        staticMetadata: *const ACameraMetadata,
23266        numPhysicalCameras: *mut usize,
23267        physicalCameraIds: *mut *const *const ::std::os::raw::c_char,
23268    ) -> bool;
23269}
23270extern "C" {
23271    pub fn ACameraMetadata_fromCameraMetadata(
23272        env: *mut JNIEnv,
23273        cameraMetadata: jobject,
23274    ) -> *mut ACameraMetadata;
23275}
23276pub type ACameraWindowType = ANativeWindow;
23277#[repr(C)]
23278#[derive(Debug, Copy, Clone)]
23279pub struct ACameraOutputTargets {
23280    _unused: [u8; 0],
23281}
23282#[repr(C)]
23283#[derive(Debug, Copy, Clone)]
23284pub struct ACameraOutputTarget {
23285    _unused: [u8; 0],
23286}
23287#[repr(C)]
23288#[derive(Debug, Copy, Clone)]
23289pub struct ACaptureRequest {
23290    _unused: [u8; 0],
23291}
23292extern "C" {
23293    pub fn ACameraOutputTarget_create(
23294        window: *mut ACameraWindowType,
23295        output: *mut *mut ACameraOutputTarget,
23296    ) -> camera_status_t;
23297}
23298extern "C" {
23299    pub fn ACameraOutputTarget_free(output: *mut ACameraOutputTarget);
23300}
23301extern "C" {
23302    pub fn ACaptureRequest_addTarget(
23303        request: *mut ACaptureRequest,
23304        output: *const ACameraOutputTarget,
23305    ) -> camera_status_t;
23306}
23307extern "C" {
23308    pub fn ACaptureRequest_removeTarget(
23309        request: *mut ACaptureRequest,
23310        output: *const ACameraOutputTarget,
23311    ) -> camera_status_t;
23312}
23313extern "C" {
23314    pub fn ACaptureRequest_getConstEntry(
23315        request: *const ACaptureRequest,
23316        tag: u32,
23317        entry: *mut ACameraMetadata_const_entry,
23318    ) -> camera_status_t;
23319}
23320extern "C" {
23321    pub fn ACaptureRequest_getAllTags(
23322        request: *const ACaptureRequest,
23323        numTags: *mut i32,
23324        tags: *mut *const u32,
23325    ) -> camera_status_t;
23326}
23327extern "C" {
23328    pub fn ACaptureRequest_setEntry_u8(
23329        request: *mut ACaptureRequest,
23330        tag: u32,
23331        count: u32,
23332        data: *const u8,
23333    ) -> camera_status_t;
23334}
23335extern "C" {
23336    pub fn ACaptureRequest_setEntry_i32(
23337        request: *mut ACaptureRequest,
23338        tag: u32,
23339        count: u32,
23340        data: *const i32,
23341    ) -> camera_status_t;
23342}
23343extern "C" {
23344    pub fn ACaptureRequest_setEntry_float(
23345        request: *mut ACaptureRequest,
23346        tag: u32,
23347        count: u32,
23348        data: *const f32,
23349    ) -> camera_status_t;
23350}
23351extern "C" {
23352    pub fn ACaptureRequest_setEntry_i64(
23353        request: *mut ACaptureRequest,
23354        tag: u32,
23355        count: u32,
23356        data: *const i64,
23357    ) -> camera_status_t;
23358}
23359extern "C" {
23360    pub fn ACaptureRequest_setEntry_double(
23361        request: *mut ACaptureRequest,
23362        tag: u32,
23363        count: u32,
23364        data: *const f64,
23365    ) -> camera_status_t;
23366}
23367extern "C" {
23368    pub fn ACaptureRequest_setEntry_rational(
23369        request: *mut ACaptureRequest,
23370        tag: u32,
23371        count: u32,
23372        data: *const ACameraMetadata_rational,
23373    ) -> camera_status_t;
23374}
23375extern "C" {
23376    pub fn ACaptureRequest_free(request: *mut ACaptureRequest);
23377}
23378extern "C" {
23379    pub fn ACaptureRequest_setUserContext(
23380        request: *mut ACaptureRequest,
23381        context: *mut ::std::os::raw::c_void,
23382    ) -> camera_status_t;
23383}
23384extern "C" {
23385    pub fn ACaptureRequest_getUserContext(
23386        request: *const ACaptureRequest,
23387        context: *mut *mut ::std::os::raw::c_void,
23388    ) -> camera_status_t;
23389}
23390extern "C" {
23391    pub fn ACaptureRequest_copy(src: *const ACaptureRequest) -> *mut ACaptureRequest;
23392}
23393extern "C" {
23394    pub fn ACaptureRequest_getConstEntry_physicalCamera(
23395        request: *const ACaptureRequest,
23396        physicalId: *const ::std::os::raw::c_char,
23397        tag: u32,
23398        entry: *mut ACameraMetadata_const_entry,
23399    ) -> camera_status_t;
23400}
23401extern "C" {
23402    pub fn ACaptureRequest_setEntry_physicalCamera_u8(
23403        request: *mut ACaptureRequest,
23404        physicalId: *const ::std::os::raw::c_char,
23405        tag: u32,
23406        count: u32,
23407        data: *const u8,
23408    ) -> camera_status_t;
23409}
23410extern "C" {
23411    pub fn ACaptureRequest_setEntry_physicalCamera_i32(
23412        request: *mut ACaptureRequest,
23413        physicalId: *const ::std::os::raw::c_char,
23414        tag: u32,
23415        count: u32,
23416        data: *const i32,
23417    ) -> camera_status_t;
23418}
23419extern "C" {
23420    pub fn ACaptureRequest_setEntry_physicalCamera_float(
23421        request: *mut ACaptureRequest,
23422        physicalId: *const ::std::os::raw::c_char,
23423        tag: u32,
23424        count: u32,
23425        data: *const f32,
23426    ) -> camera_status_t;
23427}
23428extern "C" {
23429    pub fn ACaptureRequest_setEntry_physicalCamera_i64(
23430        request: *mut ACaptureRequest,
23431        physicalId: *const ::std::os::raw::c_char,
23432        tag: u32,
23433        count: u32,
23434        data: *const i64,
23435    ) -> camera_status_t;
23436}
23437extern "C" {
23438    pub fn ACaptureRequest_setEntry_physicalCamera_double(
23439        request: *mut ACaptureRequest,
23440        physicalId: *const ::std::os::raw::c_char,
23441        tag: u32,
23442        count: u32,
23443        data: *const f64,
23444    ) -> camera_status_t;
23445}
23446extern "C" {
23447    pub fn ACaptureRequest_setEntry_physicalCamera_rational(
23448        request: *mut ACaptureRequest,
23449        physicalId: *const ::std::os::raw::c_char,
23450        tag: u32,
23451        count: u32,
23452        data: *const ACameraMetadata_rational,
23453    ) -> camera_status_t;
23454}
23455#[repr(C)]
23456#[derive(Debug, Copy, Clone)]
23457pub struct ACameraCaptureSession {
23458    _unused: [u8; 0],
23459}
23460pub type ACameraCaptureSession_stateCallback = ::std::option::Option<
23461    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, session: *mut ACameraCaptureSession),
23462>;
23463#[repr(C)]
23464#[derive(Debug, Copy, Clone)]
23465pub struct ACameraCaptureSession_stateCallbacks {
23466    pub context: *mut ::std::os::raw::c_void,
23467    pub onClosed: ACameraCaptureSession_stateCallback,
23468    pub onReady: ACameraCaptureSession_stateCallback,
23469    pub onActive: ACameraCaptureSession_stateCallback,
23470}
23471#[test]
23472fn bindgen_test_layout_ACameraCaptureSession_stateCallbacks() {
23473    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_stateCallbacks> =
23474        ::std::mem::MaybeUninit::uninit();
23475    let ptr = UNINIT.as_ptr();
23476    assert_eq!(
23477        ::std::mem::size_of::<ACameraCaptureSession_stateCallbacks>(),
23478        16usize,
23479        concat!(
23480            "Size of: ",
23481            stringify!(ACameraCaptureSession_stateCallbacks)
23482        )
23483    );
23484    assert_eq!(
23485        ::std::mem::align_of::<ACameraCaptureSession_stateCallbacks>(),
23486        4usize,
23487        concat!(
23488            "Alignment of ",
23489            stringify!(ACameraCaptureSession_stateCallbacks)
23490        )
23491    );
23492    assert_eq!(
23493        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
23494        0usize,
23495        concat!(
23496            "Offset of field: ",
23497            stringify!(ACameraCaptureSession_stateCallbacks),
23498            "::",
23499            stringify!(context)
23500        )
23501    );
23502    assert_eq!(
23503        unsafe { ::std::ptr::addr_of!((*ptr).onClosed) as usize - ptr as usize },
23504        4usize,
23505        concat!(
23506            "Offset of field: ",
23507            stringify!(ACameraCaptureSession_stateCallbacks),
23508            "::",
23509            stringify!(onClosed)
23510        )
23511    );
23512    assert_eq!(
23513        unsafe { ::std::ptr::addr_of!((*ptr).onReady) as usize - ptr as usize },
23514        8usize,
23515        concat!(
23516            "Offset of field: ",
23517            stringify!(ACameraCaptureSession_stateCallbacks),
23518            "::",
23519            stringify!(onReady)
23520        )
23521    );
23522    assert_eq!(
23523        unsafe { ::std::ptr::addr_of!((*ptr).onActive) as usize - ptr as usize },
23524        12usize,
23525        concat!(
23526            "Offset of field: ",
23527            stringify!(ACameraCaptureSession_stateCallbacks),
23528            "::",
23529            stringify!(onActive)
23530        )
23531    );
23532}
23533pub type ACameraCaptureSession_prepareCallback = ::std::option::Option<
23534    unsafe extern "C" fn(
23535        context: *mut ::std::os::raw::c_void,
23536        window: *mut ACameraWindowType,
23537        session: *mut ACameraCaptureSession,
23538    ),
23539>;
23540pub const CAPTURE_FAILURE_REASON_FLUSHED: _bindgen_ty_66 = 0;
23541pub const CAPTURE_FAILURE_REASON_ERROR: _bindgen_ty_66 = 1;
23542pub type _bindgen_ty_66 = ::std::os::raw::c_uint;
23543#[repr(C)]
23544#[derive(Debug, Copy, Clone)]
23545pub struct ACameraCaptureFailure {
23546    pub frameNumber: i64,
23547    pub reason: ::std::os::raw::c_int,
23548    pub sequenceId: ::std::os::raw::c_int,
23549    pub wasImageCaptured: bool,
23550}
23551#[test]
23552fn bindgen_test_layout_ACameraCaptureFailure() {
23553    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureFailure> =
23554        ::std::mem::MaybeUninit::uninit();
23555    let ptr = UNINIT.as_ptr();
23556    assert_eq!(
23557        ::std::mem::size_of::<ACameraCaptureFailure>(),
23558        20usize,
23559        concat!("Size of: ", stringify!(ACameraCaptureFailure))
23560    );
23561    assert_eq!(
23562        ::std::mem::align_of::<ACameraCaptureFailure>(),
23563        4usize,
23564        concat!("Alignment of ", stringify!(ACameraCaptureFailure))
23565    );
23566    assert_eq!(
23567        unsafe { ::std::ptr::addr_of!((*ptr).frameNumber) as usize - ptr as usize },
23568        0usize,
23569        concat!(
23570            "Offset of field: ",
23571            stringify!(ACameraCaptureFailure),
23572            "::",
23573            stringify!(frameNumber)
23574        )
23575    );
23576    assert_eq!(
23577        unsafe { ::std::ptr::addr_of!((*ptr).reason) as usize - ptr as usize },
23578        8usize,
23579        concat!(
23580            "Offset of field: ",
23581            stringify!(ACameraCaptureFailure),
23582            "::",
23583            stringify!(reason)
23584        )
23585    );
23586    assert_eq!(
23587        unsafe { ::std::ptr::addr_of!((*ptr).sequenceId) as usize - ptr as usize },
23588        12usize,
23589        concat!(
23590            "Offset of field: ",
23591            stringify!(ACameraCaptureFailure),
23592            "::",
23593            stringify!(sequenceId)
23594        )
23595    );
23596    assert_eq!(
23597        unsafe { ::std::ptr::addr_of!((*ptr).wasImageCaptured) as usize - ptr as usize },
23598        16usize,
23599        concat!(
23600            "Offset of field: ",
23601            stringify!(ACameraCaptureFailure),
23602            "::",
23603            stringify!(wasImageCaptured)
23604        )
23605    );
23606}
23607pub type ACameraCaptureSession_captureCallback_start = ::std::option::Option<
23608    unsafe extern "C" fn(
23609        context: *mut ::std::os::raw::c_void,
23610        session: *mut ACameraCaptureSession,
23611        request: *const ACaptureRequest,
23612        timestamp: i64,
23613    ),
23614>;
23615pub type ACameraCaptureSession_captureCallback_result = ::std::option::Option<
23616    unsafe extern "C" fn(
23617        context: *mut ::std::os::raw::c_void,
23618        session: *mut ACameraCaptureSession,
23619        request: *mut ACaptureRequest,
23620        result: *const ACameraMetadata,
23621    ),
23622>;
23623pub type ACameraCaptureSession_captureCallback_failed = ::std::option::Option<
23624    unsafe extern "C" fn(
23625        context: *mut ::std::os::raw::c_void,
23626        session: *mut ACameraCaptureSession,
23627        request: *mut ACaptureRequest,
23628        failure: *mut ACameraCaptureFailure,
23629    ),
23630>;
23631pub type ACameraCaptureSession_captureCallback_sequenceEnd = ::std::option::Option<
23632    unsafe extern "C" fn(
23633        context: *mut ::std::os::raw::c_void,
23634        session: *mut ACameraCaptureSession,
23635        sequenceId: ::std::os::raw::c_int,
23636        frameNumber: i64,
23637    ),
23638>;
23639pub type ACameraCaptureSession_captureCallback_sequenceAbort = ::std::option::Option<
23640    unsafe extern "C" fn(
23641        context: *mut ::std::os::raw::c_void,
23642        session: *mut ACameraCaptureSession,
23643        sequenceId: ::std::os::raw::c_int,
23644    ),
23645>;
23646pub type ACameraCaptureSession_captureCallback_bufferLost = ::std::option::Option<
23647    unsafe extern "C" fn(
23648        context: *mut ::std::os::raw::c_void,
23649        session: *mut ACameraCaptureSession,
23650        request: *mut ACaptureRequest,
23651        window: *mut ACameraWindowType,
23652        frameNumber: i64,
23653    ),
23654>;
23655#[repr(C)]
23656#[derive(Debug, Copy, Clone)]
23657pub struct ACameraCaptureSession_captureCallbacks {
23658    pub context: *mut ::std::os::raw::c_void,
23659    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
23660    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
23661    pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
23662    pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
23663    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
23664    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
23665    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
23666}
23667#[test]
23668fn bindgen_test_layout_ACameraCaptureSession_captureCallbacks() {
23669    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_captureCallbacks> =
23670        ::std::mem::MaybeUninit::uninit();
23671    let ptr = UNINIT.as_ptr();
23672    assert_eq!(
23673        ::std::mem::size_of::<ACameraCaptureSession_captureCallbacks>(),
23674        32usize,
23675        concat!(
23676            "Size of: ",
23677            stringify!(ACameraCaptureSession_captureCallbacks)
23678        )
23679    );
23680    assert_eq!(
23681        ::std::mem::align_of::<ACameraCaptureSession_captureCallbacks>(),
23682        4usize,
23683        concat!(
23684            "Alignment of ",
23685            stringify!(ACameraCaptureSession_captureCallbacks)
23686        )
23687    );
23688    assert_eq!(
23689        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
23690        0usize,
23691        concat!(
23692            "Offset of field: ",
23693            stringify!(ACameraCaptureSession_captureCallbacks),
23694            "::",
23695            stringify!(context)
23696        )
23697    );
23698    assert_eq!(
23699        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
23700        4usize,
23701        concat!(
23702            "Offset of field: ",
23703            stringify!(ACameraCaptureSession_captureCallbacks),
23704            "::",
23705            stringify!(onCaptureStarted)
23706        )
23707    );
23708    assert_eq!(
23709        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
23710        8usize,
23711        concat!(
23712            "Offset of field: ",
23713            stringify!(ACameraCaptureSession_captureCallbacks),
23714            "::",
23715            stringify!(onCaptureProgressed)
23716        )
23717    );
23718    assert_eq!(
23719        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureCompleted) as usize - ptr as usize },
23720        12usize,
23721        concat!(
23722            "Offset of field: ",
23723            stringify!(ACameraCaptureSession_captureCallbacks),
23724            "::",
23725            stringify!(onCaptureCompleted)
23726        )
23727    );
23728    assert_eq!(
23729        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureFailed) as usize - ptr as usize },
23730        16usize,
23731        concat!(
23732            "Offset of field: ",
23733            stringify!(ACameraCaptureSession_captureCallbacks),
23734            "::",
23735            stringify!(onCaptureFailed)
23736        )
23737    );
23738    assert_eq!(
23739        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
23740        20usize,
23741        concat!(
23742            "Offset of field: ",
23743            stringify!(ACameraCaptureSession_captureCallbacks),
23744            "::",
23745            stringify!(onCaptureSequenceCompleted)
23746        )
23747    );
23748    assert_eq!(
23749        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
23750        24usize,
23751        concat!(
23752            "Offset of field: ",
23753            stringify!(ACameraCaptureSession_captureCallbacks),
23754            "::",
23755            stringify!(onCaptureSequenceAborted)
23756        )
23757    );
23758    assert_eq!(
23759        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
23760        28usize,
23761        concat!(
23762            "Offset of field: ",
23763            stringify!(ACameraCaptureSession_captureCallbacks),
23764            "::",
23765            stringify!(onCaptureBufferLost)
23766        )
23767    );
23768}
23769pub const CAPTURE_SEQUENCE_ID_NONE: _bindgen_ty_67 = -1;
23770pub type _bindgen_ty_67 = ::std::os::raw::c_int;
23771extern "C" {
23772    pub fn ACameraCaptureSession_close(session: *mut ACameraCaptureSession);
23773}
23774#[repr(C)]
23775#[derive(Debug, Copy, Clone)]
23776pub struct ACameraDevice {
23777    _unused: [u8; 0],
23778}
23779extern "C" {
23780    pub fn ACameraCaptureSession_getDevice(
23781        session: *mut ACameraCaptureSession,
23782        device: *mut *mut ACameraDevice,
23783    ) -> camera_status_t;
23784}
23785extern "C" {
23786    pub fn ACameraCaptureSession_capture(
23787        session: *mut ACameraCaptureSession,
23788        callbacks: *mut ACameraCaptureSession_captureCallbacks,
23789        numRequests: ::std::os::raw::c_int,
23790        requests: *mut *mut ACaptureRequest,
23791        captureSequenceId: *mut ::std::os::raw::c_int,
23792    ) -> camera_status_t;
23793}
23794extern "C" {
23795    pub fn ACameraCaptureSession_setRepeatingRequest(
23796        session: *mut ACameraCaptureSession,
23797        callbacks: *mut ACameraCaptureSession_captureCallbacks,
23798        numRequests: ::std::os::raw::c_int,
23799        requests: *mut *mut ACaptureRequest,
23800        captureSequenceId: *mut ::std::os::raw::c_int,
23801    ) -> camera_status_t;
23802}
23803extern "C" {
23804    pub fn ACameraCaptureSession_stopRepeating(
23805        session: *mut ACameraCaptureSession,
23806    ) -> camera_status_t;
23807}
23808extern "C" {
23809    pub fn ACameraCaptureSession_abortCaptures(
23810        session: *mut ACameraCaptureSession,
23811    ) -> camera_status_t;
23812}
23813#[repr(C)]
23814#[derive(Debug, Copy, Clone)]
23815pub struct ACaptureSessionOutput {
23816    _unused: [u8; 0],
23817}
23818extern "C" {
23819    pub fn ACameraCaptureSession_updateSharedOutput(
23820        session: *mut ACameraCaptureSession,
23821        output: *mut ACaptureSessionOutput,
23822    ) -> camera_status_t;
23823}
23824pub type ACameraCaptureSession_logicalCamera_captureCallback_result = ::std::option::Option<
23825    unsafe extern "C" fn(
23826        context: *mut ::std::os::raw::c_void,
23827        session: *mut ACameraCaptureSession,
23828        request: *mut ACaptureRequest,
23829        result: *const ACameraMetadata,
23830        physicalResultCount: usize,
23831        physicalCameraIds: *mut *const ::std::os::raw::c_char,
23832        physicalResults: *mut *const ACameraMetadata,
23833    ),
23834>;
23835#[repr(C)]
23836#[derive(Debug, Copy, Clone)]
23837pub struct ALogicalCameraCaptureFailure {
23838    pub captureFailure: ACameraCaptureFailure,
23839    pub physicalCameraId: *const ::std::os::raw::c_char,
23840}
23841#[test]
23842fn bindgen_test_layout_ALogicalCameraCaptureFailure() {
23843    const UNINIT: ::std::mem::MaybeUninit<ALogicalCameraCaptureFailure> =
23844        ::std::mem::MaybeUninit::uninit();
23845    let ptr = UNINIT.as_ptr();
23846    assert_eq!(
23847        ::std::mem::size_of::<ALogicalCameraCaptureFailure>(),
23848        24usize,
23849        concat!("Size of: ", stringify!(ALogicalCameraCaptureFailure))
23850    );
23851    assert_eq!(
23852        ::std::mem::align_of::<ALogicalCameraCaptureFailure>(),
23853        4usize,
23854        concat!("Alignment of ", stringify!(ALogicalCameraCaptureFailure))
23855    );
23856    assert_eq!(
23857        unsafe { ::std::ptr::addr_of!((*ptr).captureFailure) as usize - ptr as usize },
23858        0usize,
23859        concat!(
23860            "Offset of field: ",
23861            stringify!(ALogicalCameraCaptureFailure),
23862            "::",
23863            stringify!(captureFailure)
23864        )
23865    );
23866    assert_eq!(
23867        unsafe { ::std::ptr::addr_of!((*ptr).physicalCameraId) as usize - ptr as usize },
23868        20usize,
23869        concat!(
23870            "Offset of field: ",
23871            stringify!(ALogicalCameraCaptureFailure),
23872            "::",
23873            stringify!(physicalCameraId)
23874        )
23875    );
23876}
23877pub type ACameraCaptureSession_logicalCamera_captureCallback_failed = ::std::option::Option<
23878    unsafe extern "C" fn(
23879        context: *mut ::std::os::raw::c_void,
23880        session: *mut ACameraCaptureSession,
23881        request: *mut ACaptureRequest,
23882        failure: *mut ALogicalCameraCaptureFailure,
23883    ),
23884>;
23885#[repr(C)]
23886#[derive(Debug, Copy, Clone)]
23887pub struct ACameraCaptureSession_logicalCamera_captureCallbacks {
23888    pub context: *mut ::std::os::raw::c_void,
23889    pub onCaptureStarted: ACameraCaptureSession_captureCallback_start,
23890    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
23891    pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
23892    pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
23893    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
23894    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
23895    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
23896}
23897#[test]
23898fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacks() {
23899    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_logicalCamera_captureCallbacks> =
23900        ::std::mem::MaybeUninit::uninit();
23901    let ptr = UNINIT.as_ptr();
23902    assert_eq!(
23903        ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
23904        32usize,
23905        concat!(
23906            "Size of: ",
23907            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
23908        )
23909    );
23910    assert_eq!(
23911        ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacks>(),
23912        4usize,
23913        concat!(
23914            "Alignment of ",
23915            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks)
23916        )
23917    );
23918    assert_eq!(
23919        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
23920        0usize,
23921        concat!(
23922            "Offset of field: ",
23923            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23924            "::",
23925            stringify!(context)
23926        )
23927    );
23928    assert_eq!(
23929        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
23930        4usize,
23931        concat!(
23932            "Offset of field: ",
23933            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23934            "::",
23935            stringify!(onCaptureStarted)
23936        )
23937    );
23938    assert_eq!(
23939        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
23940        8usize,
23941        concat!(
23942            "Offset of field: ",
23943            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23944            "::",
23945            stringify!(onCaptureProgressed)
23946        )
23947    );
23948    assert_eq!(
23949        unsafe {
23950            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureCompleted) as usize - ptr as usize
23951        },
23952        12usize,
23953        concat!(
23954            "Offset of field: ",
23955            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23956            "::",
23957            stringify!(onLogicalCameraCaptureCompleted)
23958        )
23959    );
23960    assert_eq!(
23961        unsafe {
23962            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureFailed) as usize - ptr as usize
23963        },
23964        16usize,
23965        concat!(
23966            "Offset of field: ",
23967            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23968            "::",
23969            stringify!(onLogicalCameraCaptureFailed)
23970        )
23971    );
23972    assert_eq!(
23973        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
23974        20usize,
23975        concat!(
23976            "Offset of field: ",
23977            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23978            "::",
23979            stringify!(onCaptureSequenceCompleted)
23980        )
23981    );
23982    assert_eq!(
23983        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
23984        24usize,
23985        concat!(
23986            "Offset of field: ",
23987            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23988            "::",
23989            stringify!(onCaptureSequenceAborted)
23990        )
23991    );
23992    assert_eq!(
23993        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
23994        28usize,
23995        concat!(
23996            "Offset of field: ",
23997            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacks),
23998            "::",
23999            stringify!(onCaptureBufferLost)
24000        )
24001    );
24002}
24003extern "C" {
24004    pub fn ACameraCaptureSession_logicalCamera_capture(
24005        session: *mut ACameraCaptureSession,
24006        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
24007        numRequests: ::std::os::raw::c_int,
24008        requests: *mut *mut ACaptureRequest,
24009        captureSequenceId: *mut ::std::os::raw::c_int,
24010    ) -> camera_status_t;
24011}
24012extern "C" {
24013    pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequest(
24014        session: *mut ACameraCaptureSession,
24015        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacks,
24016        numRequests: ::std::os::raw::c_int,
24017        requests: *mut *mut ACaptureRequest,
24018        captureSequenceId: *mut ::std::os::raw::c_int,
24019    ) -> camera_status_t;
24020}
24021pub type ACameraCaptureSession_captureCallback_startV2 = ::std::option::Option<
24022    unsafe extern "C" fn(
24023        context: *mut ::std::os::raw::c_void,
24024        session: *mut ACameraCaptureSession,
24025        request: *const ACaptureRequest,
24026        timestamp: i64,
24027        frameNumber: i64,
24028    ),
24029>;
24030#[repr(C)]
24031#[derive(Debug, Copy, Clone)]
24032pub struct ACameraCaptureSession_captureCallbacksV2 {
24033    pub context: *mut ::std::os::raw::c_void,
24034    pub onCaptureStarted: ACameraCaptureSession_captureCallback_startV2,
24035    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
24036    pub onCaptureCompleted: ACameraCaptureSession_captureCallback_result,
24037    pub onCaptureFailed: ACameraCaptureSession_captureCallback_failed,
24038    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
24039    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
24040    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
24041}
24042#[test]
24043fn bindgen_test_layout_ACameraCaptureSession_captureCallbacksV2() {
24044    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_captureCallbacksV2> =
24045        ::std::mem::MaybeUninit::uninit();
24046    let ptr = UNINIT.as_ptr();
24047    assert_eq!(
24048        ::std::mem::size_of::<ACameraCaptureSession_captureCallbacksV2>(),
24049        32usize,
24050        concat!(
24051            "Size of: ",
24052            stringify!(ACameraCaptureSession_captureCallbacksV2)
24053        )
24054    );
24055    assert_eq!(
24056        ::std::mem::align_of::<ACameraCaptureSession_captureCallbacksV2>(),
24057        4usize,
24058        concat!(
24059            "Alignment of ",
24060            stringify!(ACameraCaptureSession_captureCallbacksV2)
24061        )
24062    );
24063    assert_eq!(
24064        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
24065        0usize,
24066        concat!(
24067            "Offset of field: ",
24068            stringify!(ACameraCaptureSession_captureCallbacksV2),
24069            "::",
24070            stringify!(context)
24071        )
24072    );
24073    assert_eq!(
24074        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
24075        4usize,
24076        concat!(
24077            "Offset of field: ",
24078            stringify!(ACameraCaptureSession_captureCallbacksV2),
24079            "::",
24080            stringify!(onCaptureStarted)
24081        )
24082    );
24083    assert_eq!(
24084        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
24085        8usize,
24086        concat!(
24087            "Offset of field: ",
24088            stringify!(ACameraCaptureSession_captureCallbacksV2),
24089            "::",
24090            stringify!(onCaptureProgressed)
24091        )
24092    );
24093    assert_eq!(
24094        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureCompleted) as usize - ptr as usize },
24095        12usize,
24096        concat!(
24097            "Offset of field: ",
24098            stringify!(ACameraCaptureSession_captureCallbacksV2),
24099            "::",
24100            stringify!(onCaptureCompleted)
24101        )
24102    );
24103    assert_eq!(
24104        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureFailed) as usize - ptr as usize },
24105        16usize,
24106        concat!(
24107            "Offset of field: ",
24108            stringify!(ACameraCaptureSession_captureCallbacksV2),
24109            "::",
24110            stringify!(onCaptureFailed)
24111        )
24112    );
24113    assert_eq!(
24114        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
24115        20usize,
24116        concat!(
24117            "Offset of field: ",
24118            stringify!(ACameraCaptureSession_captureCallbacksV2),
24119            "::",
24120            stringify!(onCaptureSequenceCompleted)
24121        )
24122    );
24123    assert_eq!(
24124        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
24125        24usize,
24126        concat!(
24127            "Offset of field: ",
24128            stringify!(ACameraCaptureSession_captureCallbacksV2),
24129            "::",
24130            stringify!(onCaptureSequenceAborted)
24131        )
24132    );
24133    assert_eq!(
24134        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
24135        28usize,
24136        concat!(
24137            "Offset of field: ",
24138            stringify!(ACameraCaptureSession_captureCallbacksV2),
24139            "::",
24140            stringify!(onCaptureBufferLost)
24141        )
24142    );
24143}
24144#[repr(C)]
24145#[derive(Debug, Copy, Clone)]
24146pub struct ACameraCaptureSession_logicalCamera_captureCallbacksV2 {
24147    pub context: *mut ::std::os::raw::c_void,
24148    pub onCaptureStarted: ACameraCaptureSession_captureCallback_startV2,
24149    pub onCaptureProgressed: ACameraCaptureSession_captureCallback_result,
24150    pub onLogicalCameraCaptureCompleted: ACameraCaptureSession_logicalCamera_captureCallback_result,
24151    pub onLogicalCameraCaptureFailed: ACameraCaptureSession_logicalCamera_captureCallback_failed,
24152    pub onCaptureSequenceCompleted: ACameraCaptureSession_captureCallback_sequenceEnd,
24153    pub onCaptureSequenceAborted: ACameraCaptureSession_captureCallback_sequenceAbort,
24154    pub onCaptureBufferLost: ACameraCaptureSession_captureCallback_bufferLost,
24155}
24156#[test]
24157fn bindgen_test_layout_ACameraCaptureSession_logicalCamera_captureCallbacksV2() {
24158    const UNINIT: ::std::mem::MaybeUninit<ACameraCaptureSession_logicalCamera_captureCallbacksV2> =
24159        ::std::mem::MaybeUninit::uninit();
24160    let ptr = UNINIT.as_ptr();
24161    assert_eq!(
24162        ::std::mem::size_of::<ACameraCaptureSession_logicalCamera_captureCallbacksV2>(),
24163        32usize,
24164        concat!(
24165            "Size of: ",
24166            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2)
24167        )
24168    );
24169    assert_eq!(
24170        ::std::mem::align_of::<ACameraCaptureSession_logicalCamera_captureCallbacksV2>(),
24171        4usize,
24172        concat!(
24173            "Alignment of ",
24174            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2)
24175        )
24176    );
24177    assert_eq!(
24178        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
24179        0usize,
24180        concat!(
24181            "Offset of field: ",
24182            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24183            "::",
24184            stringify!(context)
24185        )
24186    );
24187    assert_eq!(
24188        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureStarted) as usize - ptr as usize },
24189        4usize,
24190        concat!(
24191            "Offset of field: ",
24192            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24193            "::",
24194            stringify!(onCaptureStarted)
24195        )
24196    );
24197    assert_eq!(
24198        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureProgressed) as usize - ptr as usize },
24199        8usize,
24200        concat!(
24201            "Offset of field: ",
24202            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24203            "::",
24204            stringify!(onCaptureProgressed)
24205        )
24206    );
24207    assert_eq!(
24208        unsafe {
24209            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureCompleted) as usize - ptr as usize
24210        },
24211        12usize,
24212        concat!(
24213            "Offset of field: ",
24214            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24215            "::",
24216            stringify!(onLogicalCameraCaptureCompleted)
24217        )
24218    );
24219    assert_eq!(
24220        unsafe {
24221            ::std::ptr::addr_of!((*ptr).onLogicalCameraCaptureFailed) as usize - ptr as usize
24222        },
24223        16usize,
24224        concat!(
24225            "Offset of field: ",
24226            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24227            "::",
24228            stringify!(onLogicalCameraCaptureFailed)
24229        )
24230    );
24231    assert_eq!(
24232        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceCompleted) as usize - ptr as usize },
24233        20usize,
24234        concat!(
24235            "Offset of field: ",
24236            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24237            "::",
24238            stringify!(onCaptureSequenceCompleted)
24239        )
24240    );
24241    assert_eq!(
24242        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureSequenceAborted) as usize - ptr as usize },
24243        24usize,
24244        concat!(
24245            "Offset of field: ",
24246            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24247            "::",
24248            stringify!(onCaptureSequenceAborted)
24249        )
24250    );
24251    assert_eq!(
24252        unsafe { ::std::ptr::addr_of!((*ptr).onCaptureBufferLost) as usize - ptr as usize },
24253        28usize,
24254        concat!(
24255            "Offset of field: ",
24256            stringify!(ACameraCaptureSession_logicalCamera_captureCallbacksV2),
24257            "::",
24258            stringify!(onCaptureBufferLost)
24259        )
24260    );
24261}
24262extern "C" {
24263    pub fn ACameraCaptureSession_captureV2(
24264        session: *mut ACameraCaptureSession,
24265        callbacks: *mut ACameraCaptureSession_captureCallbacksV2,
24266        numRequests: ::std::os::raw::c_int,
24267        requests: *mut *mut ACaptureRequest,
24268        captureSequenceId: *mut ::std::os::raw::c_int,
24269    ) -> camera_status_t;
24270}
24271extern "C" {
24272    pub fn ACameraCaptureSession_setRepeatingRequestV2(
24273        session: *mut ACameraCaptureSession,
24274        callbacks: *mut ACameraCaptureSession_captureCallbacksV2,
24275        numRequests: ::std::os::raw::c_int,
24276        requests: *mut *mut ACaptureRequest,
24277        captureSequenceId: *mut ::std::os::raw::c_int,
24278    ) -> camera_status_t;
24279}
24280extern "C" {
24281    pub fn ACameraCaptureSession_logicalCamera_captureV2(
24282        session: *mut ACameraCaptureSession,
24283        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacksV2,
24284        numRequests: ::std::os::raw::c_int,
24285        requests: *mut *mut ACaptureRequest,
24286        captureSequenceId: *mut ::std::os::raw::c_int,
24287    ) -> camera_status_t;
24288}
24289extern "C" {
24290    pub fn ACameraCaptureSession_logicalCamera_setRepeatingRequestV2(
24291        session: *mut ACameraCaptureSession,
24292        callbacks: *mut ACameraCaptureSession_logicalCamera_captureCallbacksV2,
24293        numRequests: ::std::os::raw::c_int,
24294        requests: *mut *mut ACaptureRequest,
24295        captureSequenceId: *mut ::std::os::raw::c_int,
24296    ) -> camera_status_t;
24297}
24298extern "C" {
24299    pub fn ACameraCaptureSession_setWindowPreparedCallback(
24300        session: *mut ACameraCaptureSession,
24301        context: *mut ::std::os::raw::c_void,
24302        callback: ACameraCaptureSession_prepareCallback,
24303    ) -> camera_status_t;
24304}
24305extern "C" {
24306    pub fn ACameraCaptureSession_prepareWindow(
24307        session: *mut ACameraCaptureSession,
24308        window: *mut ACameraWindowType,
24309    ) -> camera_status_t;
24310}
24311#[repr(C)]
24312#[derive(Debug, Copy, Clone)]
24313pub struct ACameraIdList {
24314    pub numCameras: ::std::os::raw::c_int,
24315    pub cameraIds: *mut *const ::std::os::raw::c_char,
24316}
24317#[test]
24318fn bindgen_test_layout_ACameraIdList() {
24319    const UNINIT: ::std::mem::MaybeUninit<ACameraIdList> = ::std::mem::MaybeUninit::uninit();
24320    let ptr = UNINIT.as_ptr();
24321    assert_eq!(
24322        ::std::mem::size_of::<ACameraIdList>(),
24323        8usize,
24324        concat!("Size of: ", stringify!(ACameraIdList))
24325    );
24326    assert_eq!(
24327        ::std::mem::align_of::<ACameraIdList>(),
24328        4usize,
24329        concat!("Alignment of ", stringify!(ACameraIdList))
24330    );
24331    assert_eq!(
24332        unsafe { ::std::ptr::addr_of!((*ptr).numCameras) as usize - ptr as usize },
24333        0usize,
24334        concat!(
24335            "Offset of field: ",
24336            stringify!(ACameraIdList),
24337            "::",
24338            stringify!(numCameras)
24339        )
24340    );
24341    assert_eq!(
24342        unsafe { ::std::ptr::addr_of!((*ptr).cameraIds) as usize - ptr as usize },
24343        4usize,
24344        concat!(
24345            "Offset of field: ",
24346            stringify!(ACameraIdList),
24347            "::",
24348            stringify!(cameraIds)
24349        )
24350    );
24351}
24352pub const ERROR_CAMERA_IN_USE: _bindgen_ty_68 = 1;
24353pub const ERROR_MAX_CAMERAS_IN_USE: _bindgen_ty_68 = 2;
24354pub const ERROR_CAMERA_DISABLED: _bindgen_ty_68 = 3;
24355pub const ERROR_CAMERA_DEVICE: _bindgen_ty_68 = 4;
24356pub const ERROR_CAMERA_SERVICE: _bindgen_ty_68 = 5;
24357pub type _bindgen_ty_68 = ::std::os::raw::c_uint;
24358pub type ACameraDevice_StateCallback = ::std::option::Option<
24359    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, device: *mut ACameraDevice),
24360>;
24361pub type ACameraDevice_ErrorStateCallback = ::std::option::Option<
24362    unsafe extern "C" fn(
24363        context: *mut ::std::os::raw::c_void,
24364        device: *mut ACameraDevice,
24365        error: ::std::os::raw::c_int,
24366    ),
24367>;
24368#[repr(C)]
24369#[derive(Debug, Copy, Clone)]
24370pub struct ACameraDevice_StateCallbacks {
24371    pub context: *mut ::std::os::raw::c_void,
24372    pub onDisconnected: ACameraDevice_StateCallback,
24373    pub onError: ACameraDevice_ErrorStateCallback,
24374}
24375#[test]
24376fn bindgen_test_layout_ACameraDevice_StateCallbacks() {
24377    const UNINIT: ::std::mem::MaybeUninit<ACameraDevice_StateCallbacks> =
24378        ::std::mem::MaybeUninit::uninit();
24379    let ptr = UNINIT.as_ptr();
24380    assert_eq!(
24381        ::std::mem::size_of::<ACameraDevice_StateCallbacks>(),
24382        12usize,
24383        concat!("Size of: ", stringify!(ACameraDevice_StateCallbacks))
24384    );
24385    assert_eq!(
24386        ::std::mem::align_of::<ACameraDevice_StateCallbacks>(),
24387        4usize,
24388        concat!("Alignment of ", stringify!(ACameraDevice_StateCallbacks))
24389    );
24390    assert_eq!(
24391        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
24392        0usize,
24393        concat!(
24394            "Offset of field: ",
24395            stringify!(ACameraDevice_StateCallbacks),
24396            "::",
24397            stringify!(context)
24398        )
24399    );
24400    assert_eq!(
24401        unsafe { ::std::ptr::addr_of!((*ptr).onDisconnected) as usize - ptr as usize },
24402        4usize,
24403        concat!(
24404            "Offset of field: ",
24405            stringify!(ACameraDevice_StateCallbacks),
24406            "::",
24407            stringify!(onDisconnected)
24408        )
24409    );
24410    assert_eq!(
24411        unsafe { ::std::ptr::addr_of!((*ptr).onError) as usize - ptr as usize },
24412        8usize,
24413        concat!(
24414            "Offset of field: ",
24415            stringify!(ACameraDevice_StateCallbacks),
24416            "::",
24417            stringify!(onError)
24418        )
24419    );
24420}
24421pub type ACameraDevice_stateCallbacks = ACameraDevice_StateCallbacks;
24422extern "C" {
24423    pub fn ACameraDevice_close(device: *mut ACameraDevice) -> camera_status_t;
24424}
24425extern "C" {
24426    pub fn ACameraDevice_getId(device: *const ACameraDevice) -> *const ::std::os::raw::c_char;
24427}
24428impl ACameraDevice_request_template {
24429    pub const TEMPLATE_PREVIEW: ACameraDevice_request_template = ACameraDevice_request_template(1);
24430}
24431impl ACameraDevice_request_template {
24432    pub const TEMPLATE_STILL_CAPTURE: ACameraDevice_request_template =
24433        ACameraDevice_request_template(2);
24434}
24435impl ACameraDevice_request_template {
24436    pub const TEMPLATE_RECORD: ACameraDevice_request_template = ACameraDevice_request_template(3);
24437}
24438impl ACameraDevice_request_template {
24439    pub const TEMPLATE_VIDEO_SNAPSHOT: ACameraDevice_request_template =
24440        ACameraDevice_request_template(4);
24441}
24442impl ACameraDevice_request_template {
24443    pub const TEMPLATE_ZERO_SHUTTER_LAG: ACameraDevice_request_template =
24444        ACameraDevice_request_template(5);
24445}
24446impl ACameraDevice_request_template {
24447    pub const TEMPLATE_MANUAL: ACameraDevice_request_template = ACameraDevice_request_template(6);
24448}
24449#[repr(transparent)]
24450#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24451pub struct ACameraDevice_request_template(pub ::std::os::raw::c_uint);
24452extern "C" {
24453    pub fn ACameraDevice_createCaptureRequest(
24454        device: *const ACameraDevice,
24455        templateId: ACameraDevice_request_template,
24456        request: *mut *mut ACaptureRequest,
24457    ) -> camera_status_t;
24458}
24459#[repr(C)]
24460#[derive(Debug, Copy, Clone)]
24461pub struct ACaptureSessionOutputContainer {
24462    _unused: [u8; 0],
24463}
24464extern "C" {
24465    pub fn ACaptureSessionOutputContainer_create(
24466        container: *mut *mut ACaptureSessionOutputContainer,
24467    ) -> camera_status_t;
24468}
24469extern "C" {
24470    pub fn ACaptureSessionOutputContainer_free(container: *mut ACaptureSessionOutputContainer);
24471}
24472extern "C" {
24473    pub fn ACaptureSessionOutput_create(
24474        anw: *mut ACameraWindowType,
24475        output: *mut *mut ACaptureSessionOutput,
24476    ) -> camera_status_t;
24477}
24478extern "C" {
24479    pub fn ACaptureSessionOutput_free(output: *mut ACaptureSessionOutput);
24480}
24481extern "C" {
24482    pub fn ACaptureSessionOutputContainer_add(
24483        container: *mut ACaptureSessionOutputContainer,
24484        output: *const ACaptureSessionOutput,
24485    ) -> camera_status_t;
24486}
24487extern "C" {
24488    pub fn ACaptureSessionOutputContainer_remove(
24489        container: *mut ACaptureSessionOutputContainer,
24490        output: *const ACaptureSessionOutput,
24491    ) -> camera_status_t;
24492}
24493extern "C" {
24494    pub fn ACameraDevice_createCaptureSession(
24495        device: *mut ACameraDevice,
24496        outputs: *const ACaptureSessionOutputContainer,
24497        callbacks: *const ACameraCaptureSession_stateCallbacks,
24498        session: *mut *mut ACameraCaptureSession,
24499    ) -> camera_status_t;
24500}
24501extern "C" {
24502    pub fn ACaptureSessionSharedOutput_create(
24503        anw: *mut ACameraWindowType,
24504        output: *mut *mut ACaptureSessionOutput,
24505    ) -> camera_status_t;
24506}
24507extern "C" {
24508    pub fn ACaptureSessionSharedOutput_add(
24509        output: *mut ACaptureSessionOutput,
24510        anw: *mut ACameraWindowType,
24511    ) -> camera_status_t;
24512}
24513extern "C" {
24514    pub fn ACaptureSessionSharedOutput_remove(
24515        output: *mut ACaptureSessionOutput,
24516        anw: *mut ACameraWindowType,
24517    ) -> camera_status_t;
24518}
24519extern "C" {
24520    pub fn ACameraDevice_createCaptureSessionWithSessionParameters(
24521        device: *mut ACameraDevice,
24522        outputs: *const ACaptureSessionOutputContainer,
24523        sessionParameters: *const ACaptureRequest,
24524        callbacks: *const ACameraCaptureSession_stateCallbacks,
24525        session: *mut *mut ACameraCaptureSession,
24526    ) -> camera_status_t;
24527}
24528extern "C" {
24529    pub fn ACaptureSessionPhysicalOutput_create(
24530        anw: *mut ACameraWindowType,
24531        physicalId: *const ::std::os::raw::c_char,
24532        output: *mut *mut ACaptureSessionOutput,
24533    ) -> camera_status_t;
24534}
24535extern "C" {
24536    pub fn ACameraDevice_createCaptureRequest_withPhysicalIds(
24537        device: *const ACameraDevice,
24538        templateId: ACameraDevice_request_template,
24539        physicalIdList: *const ACameraIdList,
24540        request: *mut *mut ACaptureRequest,
24541    ) -> camera_status_t;
24542}
24543extern "C" {
24544    pub fn ACameraDevice_isSessionConfigurationSupported(
24545        device: *const ACameraDevice,
24546        sessionOutputContainer: *const ACaptureSessionOutputContainer,
24547    ) -> camera_status_t;
24548}
24549#[repr(C)]
24550#[derive(Debug, Copy, Clone)]
24551pub struct ACameraManager {
24552    _unused: [u8; 0],
24553}
24554extern "C" {
24555    pub fn ACameraManager_create() -> *mut ACameraManager;
24556}
24557extern "C" {
24558    pub fn ACameraManager_delete(manager: *mut ACameraManager);
24559}
24560extern "C" {
24561    pub fn ACameraManager_getCameraIdList(
24562        manager: *mut ACameraManager,
24563        cameraIdList: *mut *mut ACameraIdList,
24564    ) -> camera_status_t;
24565}
24566extern "C" {
24567    pub fn ACameraManager_deleteCameraIdList(cameraIdList: *mut ACameraIdList);
24568}
24569pub type ACameraManager_AvailabilityCallback = ::std::option::Option<
24570    unsafe extern "C" fn(
24571        context: *mut ::std::os::raw::c_void,
24572        cameraId: *const ::std::os::raw::c_char,
24573    ),
24574>;
24575pub type ACameraManager_PhysicalCameraAvailabilityCallback = ::std::option::Option<
24576    unsafe extern "C" fn(
24577        context: *mut ::std::os::raw::c_void,
24578        cameraId: *const ::std::os::raw::c_char,
24579        physicalCameraId: *const ::std::os::raw::c_char,
24580    ),
24581>;
24582#[repr(C)]
24583#[derive(Debug, Copy, Clone)]
24584pub struct ACameraManager_AvailabilityListener {
24585    pub context: *mut ::std::os::raw::c_void,
24586    pub onCameraAvailable: ACameraManager_AvailabilityCallback,
24587    pub onCameraUnavailable: ACameraManager_AvailabilityCallback,
24588}
24589#[test]
24590fn bindgen_test_layout_ACameraManager_AvailabilityListener() {
24591    const UNINIT: ::std::mem::MaybeUninit<ACameraManager_AvailabilityListener> =
24592        ::std::mem::MaybeUninit::uninit();
24593    let ptr = UNINIT.as_ptr();
24594    assert_eq!(
24595        ::std::mem::size_of::<ACameraManager_AvailabilityListener>(),
24596        12usize,
24597        concat!("Size of: ", stringify!(ACameraManager_AvailabilityListener))
24598    );
24599    assert_eq!(
24600        ::std::mem::align_of::<ACameraManager_AvailabilityListener>(),
24601        4usize,
24602        concat!(
24603            "Alignment of ",
24604            stringify!(ACameraManager_AvailabilityListener)
24605        )
24606    );
24607    assert_eq!(
24608        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
24609        0usize,
24610        concat!(
24611            "Offset of field: ",
24612            stringify!(ACameraManager_AvailabilityListener),
24613            "::",
24614            stringify!(context)
24615        )
24616    );
24617    assert_eq!(
24618        unsafe { ::std::ptr::addr_of!((*ptr).onCameraAvailable) as usize - ptr as usize },
24619        4usize,
24620        concat!(
24621            "Offset of field: ",
24622            stringify!(ACameraManager_AvailabilityListener),
24623            "::",
24624            stringify!(onCameraAvailable)
24625        )
24626    );
24627    assert_eq!(
24628        unsafe { ::std::ptr::addr_of!((*ptr).onCameraUnavailable) as usize - ptr as usize },
24629        8usize,
24630        concat!(
24631            "Offset of field: ",
24632            stringify!(ACameraManager_AvailabilityListener),
24633            "::",
24634            stringify!(onCameraUnavailable)
24635        )
24636    );
24637}
24638pub type ACameraManager_AvailabilityCallbacks = ACameraManager_AvailabilityListener;
24639extern "C" {
24640    pub fn ACameraManager_registerAvailabilityCallback(
24641        manager: *mut ACameraManager,
24642        callback: *const ACameraManager_AvailabilityCallbacks,
24643    ) -> camera_status_t;
24644}
24645extern "C" {
24646    pub fn ACameraManager_unregisterAvailabilityCallback(
24647        manager: *mut ACameraManager,
24648        callback: *const ACameraManager_AvailabilityCallbacks,
24649    ) -> camera_status_t;
24650}
24651extern "C" {
24652    pub fn ACameraManager_getCameraCharacteristics(
24653        manager: *mut ACameraManager,
24654        cameraId: *const ::std::os::raw::c_char,
24655        characteristics: *mut *mut ACameraMetadata,
24656    ) -> camera_status_t;
24657}
24658extern "C" {
24659    pub fn ACameraManager_openCamera(
24660        manager: *mut ACameraManager,
24661        cameraId: *const ::std::os::raw::c_char,
24662        callback: *mut ACameraDevice_StateCallbacks,
24663        device: *mut *mut ACameraDevice,
24664    ) -> camera_status_t;
24665}
24666pub type ACameraManager_AccessPrioritiesChangedCallback =
24667    ::std::option::Option<unsafe extern "C" fn(context: *mut ::std::os::raw::c_void)>;
24668#[repr(C)]
24669#[derive(Debug, Copy, Clone)]
24670pub struct ACameraManager_ExtendedAvailabilityListener {
24671    pub availabilityCallbacks: ACameraManager_AvailabilityCallbacks,
24672    pub onCameraAccessPrioritiesChanged: ACameraManager_AccessPrioritiesChangedCallback,
24673    pub onPhysicalCameraAvailable: ACameraManager_PhysicalCameraAvailabilityCallback,
24674    pub onPhysicalCameraUnavailable: ACameraManager_PhysicalCameraAvailabilityCallback,
24675    pub reserved: [*mut ::std::os::raw::c_void; 4usize],
24676}
24677#[test]
24678fn bindgen_test_layout_ACameraManager_ExtendedAvailabilityListener() {
24679    const UNINIT: ::std::mem::MaybeUninit<ACameraManager_ExtendedAvailabilityListener> =
24680        ::std::mem::MaybeUninit::uninit();
24681    let ptr = UNINIT.as_ptr();
24682    assert_eq!(
24683        ::std::mem::size_of::<ACameraManager_ExtendedAvailabilityListener>(),
24684        40usize,
24685        concat!(
24686            "Size of: ",
24687            stringify!(ACameraManager_ExtendedAvailabilityListener)
24688        )
24689    );
24690    assert_eq!(
24691        ::std::mem::align_of::<ACameraManager_ExtendedAvailabilityListener>(),
24692        4usize,
24693        concat!(
24694            "Alignment of ",
24695            stringify!(ACameraManager_ExtendedAvailabilityListener)
24696        )
24697    );
24698    assert_eq!(
24699        unsafe { ::std::ptr::addr_of!((*ptr).availabilityCallbacks) as usize - ptr as usize },
24700        0usize,
24701        concat!(
24702            "Offset of field: ",
24703            stringify!(ACameraManager_ExtendedAvailabilityListener),
24704            "::",
24705            stringify!(availabilityCallbacks)
24706        )
24707    );
24708    assert_eq!(
24709        unsafe {
24710            ::std::ptr::addr_of!((*ptr).onCameraAccessPrioritiesChanged) as usize - ptr as usize
24711        },
24712        12usize,
24713        concat!(
24714            "Offset of field: ",
24715            stringify!(ACameraManager_ExtendedAvailabilityListener),
24716            "::",
24717            stringify!(onCameraAccessPrioritiesChanged)
24718        )
24719    );
24720    assert_eq!(
24721        unsafe { ::std::ptr::addr_of!((*ptr).onPhysicalCameraAvailable) as usize - ptr as usize },
24722        16usize,
24723        concat!(
24724            "Offset of field: ",
24725            stringify!(ACameraManager_ExtendedAvailabilityListener),
24726            "::",
24727            stringify!(onPhysicalCameraAvailable)
24728        )
24729    );
24730    assert_eq!(
24731        unsafe { ::std::ptr::addr_of!((*ptr).onPhysicalCameraUnavailable) as usize - ptr as usize },
24732        20usize,
24733        concat!(
24734            "Offset of field: ",
24735            stringify!(ACameraManager_ExtendedAvailabilityListener),
24736            "::",
24737            stringify!(onPhysicalCameraUnavailable)
24738        )
24739    );
24740    assert_eq!(
24741        unsafe { ::std::ptr::addr_of!((*ptr).reserved) as usize - ptr as usize },
24742        24usize,
24743        concat!(
24744            "Offset of field: ",
24745            stringify!(ACameraManager_ExtendedAvailabilityListener),
24746            "::",
24747            stringify!(reserved)
24748        )
24749    );
24750}
24751pub type ACameraManager_ExtendedAvailabilityCallbacks = ACameraManager_ExtendedAvailabilityListener;
24752extern "C" {
24753    pub fn ACameraManager_registerExtendedAvailabilityCallback(
24754        manager: *mut ACameraManager,
24755        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
24756    ) -> camera_status_t;
24757}
24758extern "C" {
24759    pub fn ACameraManager_unregisterExtendedAvailabilityCallback(
24760        manager: *mut ACameraManager,
24761        callback: *const ACameraManager_ExtendedAvailabilityCallbacks,
24762    ) -> camera_status_t;
24763}
24764#[repr(C)]
24765#[derive(Debug, Copy, Clone)]
24766pub struct AImage {
24767    _unused: [u8; 0],
24768}
24769impl AIMAGE_FORMATS {
24770    pub const AIMAGE_FORMAT_RGBA_8888: AIMAGE_FORMATS = AIMAGE_FORMATS(1);
24771}
24772impl AIMAGE_FORMATS {
24773    pub const AIMAGE_FORMAT_RGBX_8888: AIMAGE_FORMATS = AIMAGE_FORMATS(2);
24774}
24775impl AIMAGE_FORMATS {
24776    pub const AIMAGE_FORMAT_RGB_888: AIMAGE_FORMATS = AIMAGE_FORMATS(3);
24777}
24778impl AIMAGE_FORMATS {
24779    pub const AIMAGE_FORMAT_RGB_565: AIMAGE_FORMATS = AIMAGE_FORMATS(4);
24780}
24781impl AIMAGE_FORMATS {
24782    pub const AIMAGE_FORMAT_RGBA_FP16: AIMAGE_FORMATS = AIMAGE_FORMATS(22);
24783}
24784impl AIMAGE_FORMATS {
24785    pub const AIMAGE_FORMAT_YUV_420_888: AIMAGE_FORMATS = AIMAGE_FORMATS(35);
24786}
24787impl AIMAGE_FORMATS {
24788    pub const AIMAGE_FORMAT_JPEG: AIMAGE_FORMATS = AIMAGE_FORMATS(256);
24789}
24790impl AIMAGE_FORMATS {
24791    pub const AIMAGE_FORMAT_RAW16: AIMAGE_FORMATS = AIMAGE_FORMATS(32);
24792}
24793impl AIMAGE_FORMATS {
24794    pub const AIMAGE_FORMAT_RAW_PRIVATE: AIMAGE_FORMATS = AIMAGE_FORMATS(36);
24795}
24796impl AIMAGE_FORMATS {
24797    pub const AIMAGE_FORMAT_RAW10: AIMAGE_FORMATS = AIMAGE_FORMATS(37);
24798}
24799impl AIMAGE_FORMATS {
24800    pub const AIMAGE_FORMAT_RAW12: AIMAGE_FORMATS = AIMAGE_FORMATS(38);
24801}
24802impl AIMAGE_FORMATS {
24803    pub const AIMAGE_FORMAT_DEPTH16: AIMAGE_FORMATS = AIMAGE_FORMATS(1144402265);
24804}
24805impl AIMAGE_FORMATS {
24806    pub const AIMAGE_FORMAT_DEPTH_POINT_CLOUD: AIMAGE_FORMATS = AIMAGE_FORMATS(257);
24807}
24808impl AIMAGE_FORMATS {
24809    pub const AIMAGE_FORMAT_PRIVATE: AIMAGE_FORMATS = AIMAGE_FORMATS(34);
24810}
24811impl AIMAGE_FORMATS {
24812    pub const AIMAGE_FORMAT_Y8: AIMAGE_FORMATS = AIMAGE_FORMATS(538982489);
24813}
24814impl AIMAGE_FORMATS {
24815    pub const AIMAGE_FORMAT_HEIC: AIMAGE_FORMATS = AIMAGE_FORMATS(1212500294);
24816}
24817impl AIMAGE_FORMATS {
24818    pub const AIMAGE_FORMAT_DEPTH_JPEG: AIMAGE_FORMATS = AIMAGE_FORMATS(1768253795);
24819}
24820#[repr(transparent)]
24821#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
24822pub struct AIMAGE_FORMATS(pub ::std::os::raw::c_uint);
24823#[repr(C)]
24824#[derive(Debug, Copy, Clone)]
24825pub struct AImageCropRect {
24826    pub left: i32,
24827    pub top: i32,
24828    pub right: i32,
24829    pub bottom: i32,
24830}
24831#[test]
24832fn bindgen_test_layout_AImageCropRect() {
24833    const UNINIT: ::std::mem::MaybeUninit<AImageCropRect> = ::std::mem::MaybeUninit::uninit();
24834    let ptr = UNINIT.as_ptr();
24835    assert_eq!(
24836        ::std::mem::size_of::<AImageCropRect>(),
24837        16usize,
24838        concat!("Size of: ", stringify!(AImageCropRect))
24839    );
24840    assert_eq!(
24841        ::std::mem::align_of::<AImageCropRect>(),
24842        4usize,
24843        concat!("Alignment of ", stringify!(AImageCropRect))
24844    );
24845    assert_eq!(
24846        unsafe { ::std::ptr::addr_of!((*ptr).left) as usize - ptr as usize },
24847        0usize,
24848        concat!(
24849            "Offset of field: ",
24850            stringify!(AImageCropRect),
24851            "::",
24852            stringify!(left)
24853        )
24854    );
24855    assert_eq!(
24856        unsafe { ::std::ptr::addr_of!((*ptr).top) as usize - ptr as usize },
24857        4usize,
24858        concat!(
24859            "Offset of field: ",
24860            stringify!(AImageCropRect),
24861            "::",
24862            stringify!(top)
24863        )
24864    );
24865    assert_eq!(
24866        unsafe { ::std::ptr::addr_of!((*ptr).right) as usize - ptr as usize },
24867        8usize,
24868        concat!(
24869            "Offset of field: ",
24870            stringify!(AImageCropRect),
24871            "::",
24872            stringify!(right)
24873        )
24874    );
24875    assert_eq!(
24876        unsafe { ::std::ptr::addr_of!((*ptr).bottom) as usize - ptr as usize },
24877        12usize,
24878        concat!(
24879            "Offset of field: ",
24880            stringify!(AImageCropRect),
24881            "::",
24882            stringify!(bottom)
24883        )
24884    );
24885}
24886extern "C" {
24887    pub fn AImage_delete(image: *mut AImage);
24888}
24889extern "C" {
24890    pub fn AImage_getWidth(image: *const AImage, width: *mut i32) -> media_status_t;
24891}
24892extern "C" {
24893    pub fn AImage_getHeight(image: *const AImage, height: *mut i32) -> media_status_t;
24894}
24895extern "C" {
24896    pub fn AImage_getFormat(image: *const AImage, format: *mut i32) -> media_status_t;
24897}
24898extern "C" {
24899    pub fn AImage_getCropRect(image: *const AImage, rect: *mut AImageCropRect) -> media_status_t;
24900}
24901extern "C" {
24902    pub fn AImage_getTimestamp(image: *const AImage, timestampNs: *mut i64) -> media_status_t;
24903}
24904extern "C" {
24905    pub fn AImage_getNumberOfPlanes(image: *const AImage, numPlanes: *mut i32) -> media_status_t;
24906}
24907extern "C" {
24908    pub fn AImage_getPlanePixelStride(
24909        image: *const AImage,
24910        planeIdx: ::std::os::raw::c_int,
24911        pixelStride: *mut i32,
24912    ) -> media_status_t;
24913}
24914extern "C" {
24915    pub fn AImage_getPlaneRowStride(
24916        image: *const AImage,
24917        planeIdx: ::std::os::raw::c_int,
24918        rowStride: *mut i32,
24919    ) -> media_status_t;
24920}
24921extern "C" {
24922    pub fn AImage_getPlaneData(
24923        image: *const AImage,
24924        planeIdx: ::std::os::raw::c_int,
24925        data: *mut *mut u8,
24926        dataLength: *mut ::std::os::raw::c_int,
24927    ) -> media_status_t;
24928}
24929extern "C" {
24930    pub fn AImage_deleteAsync(image: *mut AImage, releaseFenceFd: ::std::os::raw::c_int);
24931}
24932extern "C" {
24933    pub fn AImage_getHardwareBuffer(
24934        image: *const AImage,
24935        buffer: *mut *mut AHardwareBuffer,
24936    ) -> media_status_t;
24937}
24938extern "C" {
24939    pub fn AImage_getDataSpace(image: *const AImage, dataSpace: *mut i32) -> media_status_t;
24940}
24941#[repr(C)]
24942#[derive(Debug, Copy, Clone)]
24943pub struct AImageReader {
24944    _unused: [u8; 0],
24945}
24946extern "C" {
24947    pub fn AImageReader_new(
24948        width: i32,
24949        height: i32,
24950        format: i32,
24951        maxImages: i32,
24952        reader: *mut *mut AImageReader,
24953    ) -> media_status_t;
24954}
24955extern "C" {
24956    pub fn AImageReader_delete(reader: *mut AImageReader);
24957}
24958extern "C" {
24959    pub fn AImageReader_getWindow(
24960        reader: *mut AImageReader,
24961        window: *mut *mut ANativeWindow,
24962    ) -> media_status_t;
24963}
24964extern "C" {
24965    pub fn AImageReader_getWidth(reader: *const AImageReader, width: *mut i32) -> media_status_t;
24966}
24967extern "C" {
24968    pub fn AImageReader_getHeight(reader: *const AImageReader, height: *mut i32) -> media_status_t;
24969}
24970extern "C" {
24971    pub fn AImageReader_getFormat(reader: *const AImageReader, format: *mut i32) -> media_status_t;
24972}
24973extern "C" {
24974    pub fn AImageReader_getMaxImages(
24975        reader: *const AImageReader,
24976        maxImages: *mut i32,
24977    ) -> media_status_t;
24978}
24979extern "C" {
24980    pub fn AImageReader_acquireNextImage(
24981        reader: *mut AImageReader,
24982        image: *mut *mut AImage,
24983    ) -> media_status_t;
24984}
24985extern "C" {
24986    pub fn AImageReader_acquireLatestImage(
24987        reader: *mut AImageReader,
24988        image: *mut *mut AImage,
24989    ) -> media_status_t;
24990}
24991pub type AImageReader_ImageCallback = ::std::option::Option<
24992    unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, reader: *mut AImageReader),
24993>;
24994#[repr(C)]
24995#[derive(Debug, Copy, Clone)]
24996pub struct AImageReader_ImageListener {
24997    pub context: *mut ::std::os::raw::c_void,
24998    pub onImageAvailable: AImageReader_ImageCallback,
24999}
25000#[test]
25001fn bindgen_test_layout_AImageReader_ImageListener() {
25002    const UNINIT: ::std::mem::MaybeUninit<AImageReader_ImageListener> =
25003        ::std::mem::MaybeUninit::uninit();
25004    let ptr = UNINIT.as_ptr();
25005    assert_eq!(
25006        ::std::mem::size_of::<AImageReader_ImageListener>(),
25007        8usize,
25008        concat!("Size of: ", stringify!(AImageReader_ImageListener))
25009    );
25010    assert_eq!(
25011        ::std::mem::align_of::<AImageReader_ImageListener>(),
25012        4usize,
25013        concat!("Alignment of ", stringify!(AImageReader_ImageListener))
25014    );
25015    assert_eq!(
25016        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
25017        0usize,
25018        concat!(
25019            "Offset of field: ",
25020            stringify!(AImageReader_ImageListener),
25021            "::",
25022            stringify!(context)
25023        )
25024    );
25025    assert_eq!(
25026        unsafe { ::std::ptr::addr_of!((*ptr).onImageAvailable) as usize - ptr as usize },
25027        4usize,
25028        concat!(
25029            "Offset of field: ",
25030            stringify!(AImageReader_ImageListener),
25031            "::",
25032            stringify!(onImageAvailable)
25033        )
25034    );
25035}
25036extern "C" {
25037    pub fn AImageReader_setImageListener(
25038        reader: *mut AImageReader,
25039        listener: *mut AImageReader_ImageListener,
25040    ) -> media_status_t;
25041}
25042extern "C" {
25043    pub fn AImageReader_newWithUsage(
25044        width: i32,
25045        height: i32,
25046        format: i32,
25047        usage: u64,
25048        maxImages: i32,
25049        reader: *mut *mut AImageReader,
25050    ) -> media_status_t;
25051}
25052extern "C" {
25053    pub fn AImageReader_newWithDataSpace(
25054        width: i32,
25055        height: i32,
25056        usage: u64,
25057        maxImages: i32,
25058        hardwareBufferFormat: u32,
25059        dataSpace: i32,
25060        reader: *mut *mut AImageReader,
25061    ) -> media_status_t;
25062}
25063extern "C" {
25064    pub fn AImageReader_acquireNextImageAsync(
25065        reader: *mut AImageReader,
25066        image: *mut *mut AImage,
25067        acquireFenceFd: *mut ::std::os::raw::c_int,
25068    ) -> media_status_t;
25069}
25070extern "C" {
25071    pub fn AImageReader_acquireLatestImageAsync(
25072        reader: *mut AImageReader,
25073        image: *mut *mut AImage,
25074        acquireFenceFd: *mut ::std::os::raw::c_int,
25075    ) -> media_status_t;
25076}
25077pub type AImageReader_BufferRemovedCallback = ::std::option::Option<
25078    unsafe extern "C" fn(
25079        context: *mut ::std::os::raw::c_void,
25080        reader: *mut AImageReader,
25081        buffer: *mut AHardwareBuffer,
25082    ),
25083>;
25084#[repr(C)]
25085#[derive(Debug, Copy, Clone)]
25086pub struct AImageReader_BufferRemovedListener {
25087    pub context: *mut ::std::os::raw::c_void,
25088    pub onBufferRemoved: AImageReader_BufferRemovedCallback,
25089}
25090#[test]
25091fn bindgen_test_layout_AImageReader_BufferRemovedListener() {
25092    const UNINIT: ::std::mem::MaybeUninit<AImageReader_BufferRemovedListener> =
25093        ::std::mem::MaybeUninit::uninit();
25094    let ptr = UNINIT.as_ptr();
25095    assert_eq!(
25096        ::std::mem::size_of::<AImageReader_BufferRemovedListener>(),
25097        8usize,
25098        concat!("Size of: ", stringify!(AImageReader_BufferRemovedListener))
25099    );
25100    assert_eq!(
25101        ::std::mem::align_of::<AImageReader_BufferRemovedListener>(),
25102        4usize,
25103        concat!(
25104            "Alignment of ",
25105            stringify!(AImageReader_BufferRemovedListener)
25106        )
25107    );
25108    assert_eq!(
25109        unsafe { ::std::ptr::addr_of!((*ptr).context) as usize - ptr as usize },
25110        0usize,
25111        concat!(
25112            "Offset of field: ",
25113            stringify!(AImageReader_BufferRemovedListener),
25114            "::",
25115            stringify!(context)
25116        )
25117    );
25118    assert_eq!(
25119        unsafe { ::std::ptr::addr_of!((*ptr).onBufferRemoved) as usize - ptr as usize },
25120        4usize,
25121        concat!(
25122            "Offset of field: ",
25123            stringify!(AImageReader_BufferRemovedListener),
25124            "::",
25125            stringify!(onBufferRemoved)
25126        )
25127    );
25128}
25129extern "C" {
25130    pub fn AImageReader_setBufferRemovedListener(
25131        reader: *mut AImageReader,
25132        listener: *mut AImageReader_BufferRemovedListener,
25133    ) -> media_status_t;
25134}
25135#[repr(C)]
25136#[derive(Debug, Copy, Clone)]
25137pub struct AMediaCrypto {
25138    _unused: [u8; 0],
25139}
25140pub type AMediaUUID = [u8; 16usize];
25141extern "C" {
25142    pub fn AMediaCrypto_isCryptoSchemeSupported(uuid: *mut u8) -> bool;
25143}
25144extern "C" {
25145    pub fn AMediaCrypto_requiresSecureDecoderComponent(mime: *const ::std::os::raw::c_char)
25146        -> bool;
25147}
25148extern "C" {
25149    pub fn AMediaCrypto_new(
25150        uuid: *mut u8,
25151        initData: *const ::std::os::raw::c_void,
25152        initDataSize: usize,
25153    ) -> *mut AMediaCrypto;
25154}
25155extern "C" {
25156    pub fn AMediaCrypto_delete(crypto: *mut AMediaCrypto);
25157}
25158#[repr(C)]
25159#[derive(Debug, Copy, Clone)]
25160pub struct AMediaFormat {
25161    _unused: [u8; 0],
25162}
25163extern "C" {
25164    pub fn AMediaFormat_new() -> *mut AMediaFormat;
25165}
25166extern "C" {
25167    pub fn AMediaFormat_delete(arg1: *mut AMediaFormat) -> media_status_t;
25168}
25169extern "C" {
25170    pub fn AMediaFormat_toString(arg1: *mut AMediaFormat) -> *const ::std::os::raw::c_char;
25171}
25172extern "C" {
25173    pub fn AMediaFormat_getInt32(
25174        arg1: *mut AMediaFormat,
25175        name: *const ::std::os::raw::c_char,
25176        out: *mut i32,
25177    ) -> bool;
25178}
25179extern "C" {
25180    pub fn AMediaFormat_getInt64(
25181        arg1: *mut AMediaFormat,
25182        name: *const ::std::os::raw::c_char,
25183        out: *mut i64,
25184    ) -> bool;
25185}
25186extern "C" {
25187    pub fn AMediaFormat_getFloat(
25188        arg1: *mut AMediaFormat,
25189        name: *const ::std::os::raw::c_char,
25190        out: *mut f32,
25191    ) -> bool;
25192}
25193extern "C" {
25194    pub fn AMediaFormat_getSize(
25195        arg1: *mut AMediaFormat,
25196        name: *const ::std::os::raw::c_char,
25197        out: *mut usize,
25198    ) -> bool;
25199}
25200extern "C" {
25201    pub fn AMediaFormat_getBuffer(
25202        arg1: *mut AMediaFormat,
25203        name: *const ::std::os::raw::c_char,
25204        data: *mut *mut ::std::os::raw::c_void,
25205        size: *mut usize,
25206    ) -> bool;
25207}
25208extern "C" {
25209    pub fn AMediaFormat_getString(
25210        arg1: *mut AMediaFormat,
25211        name: *const ::std::os::raw::c_char,
25212        out: *mut *const ::std::os::raw::c_char,
25213    ) -> bool;
25214}
25215extern "C" {
25216    pub fn AMediaFormat_setInt32(
25217        arg1: *mut AMediaFormat,
25218        name: *const ::std::os::raw::c_char,
25219        value: i32,
25220    );
25221}
25222extern "C" {
25223    pub fn AMediaFormat_setInt64(
25224        arg1: *mut AMediaFormat,
25225        name: *const ::std::os::raw::c_char,
25226        value: i64,
25227    );
25228}
25229extern "C" {
25230    pub fn AMediaFormat_setFloat(
25231        arg1: *mut AMediaFormat,
25232        name: *const ::std::os::raw::c_char,
25233        value: f32,
25234    );
25235}
25236extern "C" {
25237    pub fn AMediaFormat_setString(
25238        arg1: *mut AMediaFormat,
25239        name: *const ::std::os::raw::c_char,
25240        value: *const ::std::os::raw::c_char,
25241    );
25242}
25243extern "C" {
25244    pub fn AMediaFormat_setBuffer(
25245        arg1: *mut AMediaFormat,
25246        name: *const ::std::os::raw::c_char,
25247        data: *const ::std::os::raw::c_void,
25248        size: usize,
25249    );
25250}
25251extern "C" {
25252    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_ATTENUATION_FACTOR: *const ::std::os::raw::c_char;
25253}
25254extern "C" {
25255    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_BOOST_FACTOR: *const ::std::os::raw::c_char;
25256}
25257extern "C" {
25258    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_HEAVY_COMPRESSION: *const ::std::os::raw::c_char;
25259}
25260extern "C" {
25261    pub static mut AMEDIAFORMAT_KEY_AAC_DRC_TARGET_REFERENCE_LEVEL: *const ::std::os::raw::c_char;
25262}
25263extern "C" {
25264    pub static mut AMEDIAFORMAT_KEY_AAC_ENCODED_TARGET_LEVEL: *const ::std::os::raw::c_char;
25265}
25266extern "C" {
25267    pub static mut AMEDIAFORMAT_KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT: *const ::std::os::raw::c_char;
25268}
25269extern "C" {
25270    pub static mut AMEDIAFORMAT_KEY_AAC_PROFILE: *const ::std::os::raw::c_char;
25271}
25272extern "C" {
25273    pub static mut AMEDIAFORMAT_KEY_AAC_SBR_MODE: *const ::std::os::raw::c_char;
25274}
25275extern "C" {
25276    pub static mut AMEDIAFORMAT_KEY_ALLOW_FRAME_DROP: *const ::std::os::raw::c_char;
25277}
25278extern "C" {
25279    pub static mut AMEDIAFORMAT_KEY_AUDIO_SESSION_ID: *const ::std::os::raw::c_char;
25280}
25281extern "C" {
25282    pub static mut AMEDIAFORMAT_KEY_BITRATE_MODE: *const ::std::os::raw::c_char;
25283}
25284extern "C" {
25285    pub static mut AMEDIAFORMAT_KEY_BIT_RATE: *const ::std::os::raw::c_char;
25286}
25287extern "C" {
25288    pub static mut AMEDIAFORMAT_KEY_CAPTURE_RATE: *const ::std::os::raw::c_char;
25289}
25290extern "C" {
25291    pub static mut AMEDIAFORMAT_KEY_CHANNEL_COUNT: *const ::std::os::raw::c_char;
25292}
25293extern "C" {
25294    pub static mut AMEDIAFORMAT_KEY_CHANNEL_MASK: *const ::std::os::raw::c_char;
25295}
25296extern "C" {
25297    pub static mut AMEDIAFORMAT_KEY_COLOR_FORMAT: *const ::std::os::raw::c_char;
25298}
25299extern "C" {
25300    pub static mut AMEDIAFORMAT_KEY_COLOR_RANGE: *const ::std::os::raw::c_char;
25301}
25302extern "C" {
25303    pub static mut AMEDIAFORMAT_KEY_COLOR_STANDARD: *const ::std::os::raw::c_char;
25304}
25305extern "C" {
25306    pub static mut AMEDIAFORMAT_KEY_COLOR_TRANSFER: *const ::std::os::raw::c_char;
25307}
25308extern "C" {
25309    pub static mut AMEDIAFORMAT_KEY_COMPLEXITY: *const ::std::os::raw::c_char;
25310}
25311extern "C" {
25312    pub static mut AMEDIAFORMAT_KEY_CSD: *const ::std::os::raw::c_char;
25313}
25314extern "C" {
25315    pub static mut AMEDIAFORMAT_KEY_CSD_0: *const ::std::os::raw::c_char;
25316}
25317extern "C" {
25318    pub static mut AMEDIAFORMAT_KEY_CSD_1: *const ::std::os::raw::c_char;
25319}
25320extern "C" {
25321    pub static mut AMEDIAFORMAT_KEY_CSD_2: *const ::std::os::raw::c_char;
25322}
25323extern "C" {
25324    pub static mut AMEDIAFORMAT_KEY_DISPLAY_CROP: *const ::std::os::raw::c_char;
25325}
25326extern "C" {
25327    pub static mut AMEDIAFORMAT_KEY_DISPLAY_HEIGHT: *const ::std::os::raw::c_char;
25328}
25329extern "C" {
25330    pub static mut AMEDIAFORMAT_KEY_DISPLAY_WIDTH: *const ::std::os::raw::c_char;
25331}
25332extern "C" {
25333    pub static mut AMEDIAFORMAT_KEY_DURATION: *const ::std::os::raw::c_char;
25334}
25335extern "C" {
25336    pub static mut AMEDIAFORMAT_KEY_FLAC_COMPRESSION_LEVEL: *const ::std::os::raw::c_char;
25337}
25338extern "C" {
25339    pub static mut AMEDIAFORMAT_KEY_FRAME_RATE: *const ::std::os::raw::c_char;
25340}
25341extern "C" {
25342    pub static mut AMEDIAFORMAT_KEY_GRID_COLUMNS: *const ::std::os::raw::c_char;
25343}
25344extern "C" {
25345    pub static mut AMEDIAFORMAT_KEY_GRID_ROWS: *const ::std::os::raw::c_char;
25346}
25347extern "C" {
25348    pub static mut AMEDIAFORMAT_KEY_HDR_STATIC_INFO: *const ::std::os::raw::c_char;
25349}
25350extern "C" {
25351    pub static mut AMEDIAFORMAT_KEY_HEIGHT: *const ::std::os::raw::c_char;
25352}
25353extern "C" {
25354    pub static mut AMEDIAFORMAT_KEY_IMPORTANCE: *const ::std::os::raw::c_char;
25355}
25356extern "C" {
25357    pub static mut AMEDIAFORMAT_KEY_INTRA_REFRESH_PERIOD: *const ::std::os::raw::c_char;
25358}
25359extern "C" {
25360    pub static mut AMEDIAFORMAT_KEY_IS_ADTS: *const ::std::os::raw::c_char;
25361}
25362extern "C" {
25363    pub static mut AMEDIAFORMAT_KEY_IS_AUTOSELECT: *const ::std::os::raw::c_char;
25364}
25365extern "C" {
25366    pub static mut AMEDIAFORMAT_KEY_IS_DEFAULT: *const ::std::os::raw::c_char;
25367}
25368extern "C" {
25369    pub static mut AMEDIAFORMAT_KEY_IS_FORCED_SUBTITLE: *const ::std::os::raw::c_char;
25370}
25371extern "C" {
25372    pub static mut AMEDIAFORMAT_KEY_I_FRAME_INTERVAL: *const ::std::os::raw::c_char;
25373}
25374extern "C" {
25375    pub static mut AMEDIAFORMAT_KEY_LANGUAGE: *const ::std::os::raw::c_char;
25376}
25377extern "C" {
25378    pub static mut AMEDIAFORMAT_KEY_LATENCY: *const ::std::os::raw::c_char;
25379}
25380extern "C" {
25381    pub static mut AMEDIAFORMAT_KEY_LEVEL: *const ::std::os::raw::c_char;
25382}
25383extern "C" {
25384    pub static mut AMEDIAFORMAT_KEY_MAX_B_FRAMES: *const ::std::os::raw::c_char;
25385}
25386extern "C" {
25387    pub static mut AMEDIAFORMAT_KEY_MAX_HEIGHT: *const ::std::os::raw::c_char;
25388}
25389extern "C" {
25390    pub static mut AMEDIAFORMAT_KEY_MAX_INPUT_SIZE: *const ::std::os::raw::c_char;
25391}
25392extern "C" {
25393    pub static mut AMEDIAFORMAT_KEY_BUFFER_BATCH_MAX_OUTPUT_SIZE: *const ::std::os::raw::c_char;
25394}
25395extern "C" {
25396    pub static mut AMEDIAFORMAT_KEY_BUFFER_BATCH_THRESHOLD_OUTPUT_SIZE:
25397        *const ::std::os::raw::c_char;
25398}
25399extern "C" {
25400    pub static mut AMEDIAFORMAT_KEY_MAX_WIDTH: *const ::std::os::raw::c_char;
25401}
25402extern "C" {
25403    pub static mut AMEDIAFORMAT_KEY_MIME: *const ::std::os::raw::c_char;
25404}
25405extern "C" {
25406    pub static mut AMEDIAFORMAT_KEY_MPEG_USER_DATA: *const ::std::os::raw::c_char;
25407}
25408extern "C" {
25409    pub static mut AMEDIAFORMAT_KEY_OPERATING_RATE: *const ::std::os::raw::c_char;
25410}
25411extern "C" {
25412    pub static mut AMEDIAFORMAT_KEY_PCM_ENCODING: *const ::std::os::raw::c_char;
25413}
25414extern "C" {
25415    pub static mut AMEDIAFORMAT_KEY_PRIORITY: *const ::std::os::raw::c_char;
25416}
25417extern "C" {
25418    pub static mut AMEDIAFORMAT_KEY_PROFILE: *const ::std::os::raw::c_char;
25419}
25420extern "C" {
25421    pub static mut AMEDIAFORMAT_KEY_PUSH_BLANK_BUFFERS_ON_STOP: *const ::std::os::raw::c_char;
25422}
25423extern "C" {
25424    pub static mut AMEDIAFORMAT_KEY_REPEAT_PREVIOUS_FRAME_AFTER: *const ::std::os::raw::c_char;
25425}
25426extern "C" {
25427    pub static mut AMEDIAFORMAT_KEY_ROTATION: *const ::std::os::raw::c_char;
25428}
25429extern "C" {
25430    pub static mut AMEDIAFORMAT_KEY_SAMPLE_RATE: *const ::std::os::raw::c_char;
25431}
25432extern "C" {
25433    pub static mut AMEDIAFORMAT_KEY_SEI: *const ::std::os::raw::c_char;
25434}
25435extern "C" {
25436    pub static mut AMEDIAFORMAT_KEY_SLICE_HEIGHT: *const ::std::os::raw::c_char;
25437}
25438extern "C" {
25439    pub static mut AMEDIAFORMAT_KEY_STRIDE: *const ::std::os::raw::c_char;
25440}
25441extern "C" {
25442    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYER_ID: *const ::std::os::raw::c_char;
25443}
25444extern "C" {
25445    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYERING: *const ::std::os::raw::c_char;
25446}
25447extern "C" {
25448    pub static mut AMEDIAFORMAT_KEY_TILE_HEIGHT: *const ::std::os::raw::c_char;
25449}
25450extern "C" {
25451    pub static mut AMEDIAFORMAT_KEY_TILE_WIDTH: *const ::std::os::raw::c_char;
25452}
25453extern "C" {
25454    pub static mut AMEDIAFORMAT_KEY_TIME_US: *const ::std::os::raw::c_char;
25455}
25456extern "C" {
25457    pub static mut AMEDIAFORMAT_KEY_TRACK_ID: *const ::std::os::raw::c_char;
25458}
25459extern "C" {
25460    pub static mut AMEDIAFORMAT_KEY_TRACK_INDEX: *const ::std::os::raw::c_char;
25461}
25462extern "C" {
25463    pub static mut AMEDIAFORMAT_KEY_WIDTH: *const ::std::os::raw::c_char;
25464}
25465extern "C" {
25466    pub fn AMediaFormat_getDouble(
25467        arg1: *mut AMediaFormat,
25468        name: *const ::std::os::raw::c_char,
25469        out: *mut f64,
25470    ) -> bool;
25471}
25472extern "C" {
25473    pub fn AMediaFormat_getRect(
25474        arg1: *mut AMediaFormat,
25475        name: *const ::std::os::raw::c_char,
25476        left: *mut i32,
25477        top: *mut i32,
25478        right: *mut i32,
25479        bottom: *mut i32,
25480    ) -> bool;
25481}
25482extern "C" {
25483    pub fn AMediaFormat_setDouble(
25484        arg1: *mut AMediaFormat,
25485        name: *const ::std::os::raw::c_char,
25486        value: f64,
25487    );
25488}
25489extern "C" {
25490    pub fn AMediaFormat_setSize(
25491        arg1: *mut AMediaFormat,
25492        name: *const ::std::os::raw::c_char,
25493        value: usize,
25494    );
25495}
25496extern "C" {
25497    pub fn AMediaFormat_setRect(
25498        arg1: *mut AMediaFormat,
25499        name: *const ::std::os::raw::c_char,
25500        left: i32,
25501        top: i32,
25502        right: i32,
25503        bottom: i32,
25504    );
25505}
25506extern "C" {
25507    pub fn AMediaFormat_clear(arg1: *mut AMediaFormat);
25508}
25509extern "C" {
25510    pub fn AMediaFormat_copy(to: *mut AMediaFormat, from: *mut AMediaFormat) -> media_status_t;
25511}
25512extern "C" {
25513    pub static mut AMEDIAFORMAT_KEY_ALBUM: *const ::std::os::raw::c_char;
25514}
25515extern "C" {
25516    pub static mut AMEDIAFORMAT_KEY_ALBUMART: *const ::std::os::raw::c_char;
25517}
25518extern "C" {
25519    pub static mut AMEDIAFORMAT_KEY_ALBUMARTIST: *const ::std::os::raw::c_char;
25520}
25521extern "C" {
25522    pub static mut AMEDIAFORMAT_KEY_ARTIST: *const ::std::os::raw::c_char;
25523}
25524extern "C" {
25525    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_INFO: *const ::std::os::raw::c_char;
25526}
25527extern "C" {
25528    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_PRESENTATION_ID:
25529        *const ::std::os::raw::c_char;
25530}
25531extern "C" {
25532    pub static mut AMEDIAFORMAT_KEY_AUDIO_PRESENTATION_PROGRAM_ID: *const ::std::os::raw::c_char;
25533}
25534extern "C" {
25535    pub static mut AMEDIAFORMAT_KEY_AUTHOR: *const ::std::os::raw::c_char;
25536}
25537extern "C" {
25538    pub static mut AMEDIAFORMAT_KEY_BITS_PER_SAMPLE: *const ::std::os::raw::c_char;
25539}
25540extern "C" {
25541    pub static mut AMEDIAFORMAT_KEY_CDTRACKNUMBER: *const ::std::os::raw::c_char;
25542}
25543extern "C" {
25544    pub static mut AMEDIAFORMAT_KEY_COMPILATION: *const ::std::os::raw::c_char;
25545}
25546extern "C" {
25547    pub static mut AMEDIAFORMAT_KEY_COMPOSER: *const ::std::os::raw::c_char;
25548}
25549extern "C" {
25550    pub static mut AMEDIAFORMAT_KEY_CREATE_INPUT_SURFACE_SUSPENDED: *const ::std::os::raw::c_char;
25551}
25552extern "C" {
25553    pub static mut AMEDIAFORMAT_KEY_CRYPTO_DEFAULT_IV_SIZE: *const ::std::os::raw::c_char;
25554}
25555extern "C" {
25556    pub static mut AMEDIAFORMAT_KEY_CRYPTO_ENCRYPTED_BYTE_BLOCK: *const ::std::os::raw::c_char;
25557}
25558extern "C" {
25559    pub static mut AMEDIAFORMAT_KEY_CRYPTO_ENCRYPTED_SIZES: *const ::std::os::raw::c_char;
25560}
25561extern "C" {
25562    pub static mut AMEDIAFORMAT_KEY_CRYPTO_IV: *const ::std::os::raw::c_char;
25563}
25564extern "C" {
25565    pub static mut AMEDIAFORMAT_KEY_CRYPTO_KEY: *const ::std::os::raw::c_char;
25566}
25567extern "C" {
25568    pub static mut AMEDIAFORMAT_KEY_CRYPTO_MODE: *const ::std::os::raw::c_char;
25569}
25570extern "C" {
25571    pub static mut AMEDIAFORMAT_KEY_CRYPTO_PLAIN_SIZES: *const ::std::os::raw::c_char;
25572}
25573extern "C" {
25574    pub static mut AMEDIAFORMAT_KEY_CRYPTO_SKIP_BYTE_BLOCK: *const ::std::os::raw::c_char;
25575}
25576extern "C" {
25577    pub static mut AMEDIAFORMAT_KEY_CSD_AVC: *const ::std::os::raw::c_char;
25578}
25579extern "C" {
25580    pub static mut AMEDIAFORMAT_KEY_CSD_HEVC: *const ::std::os::raw::c_char;
25581}
25582extern "C" {
25583    pub static mut AMEDIAFORMAT_KEY_D263: *const ::std::os::raw::c_char;
25584}
25585extern "C" {
25586    pub static mut AMEDIAFORMAT_KEY_DATE: *const ::std::os::raw::c_char;
25587}
25588extern "C" {
25589    pub static mut AMEDIAFORMAT_KEY_DISCNUMBER: *const ::std::os::raw::c_char;
25590}
25591extern "C" {
25592    pub static mut AMEDIAFORMAT_KEY_ENCODER_DELAY: *const ::std::os::raw::c_char;
25593}
25594extern "C" {
25595    pub static mut AMEDIAFORMAT_KEY_ENCODER_PADDING: *const ::std::os::raw::c_char;
25596}
25597extern "C" {
25598    pub static mut AMEDIAFORMAT_KEY_ESDS: *const ::std::os::raw::c_char;
25599}
25600extern "C" {
25601    pub static mut AMEDIAFORMAT_KEY_EXIF_OFFSET: *const ::std::os::raw::c_char;
25602}
25603extern "C" {
25604    pub static mut AMEDIAFORMAT_KEY_EXIF_SIZE: *const ::std::os::raw::c_char;
25605}
25606extern "C" {
25607    pub static mut AMEDIAFORMAT_KEY_FRAME_COUNT: *const ::std::os::raw::c_char;
25608}
25609extern "C" {
25610    pub static mut AMEDIAFORMAT_KEY_GENRE: *const ::std::os::raw::c_char;
25611}
25612extern "C" {
25613    pub static mut AMEDIAFORMAT_KEY_HAPTIC_CHANNEL_COUNT: *const ::std::os::raw::c_char;
25614}
25615extern "C" {
25616    pub static mut AMEDIAFORMAT_KEY_ICC_PROFILE: *const ::std::os::raw::c_char;
25617}
25618extern "C" {
25619    pub static mut AMEDIAFORMAT_KEY_IS_SYNC_FRAME: *const ::std::os::raw::c_char;
25620}
25621extern "C" {
25622    pub static mut AMEDIAFORMAT_KEY_LOCATION: *const ::std::os::raw::c_char;
25623}
25624extern "C" {
25625    pub static mut AMEDIAFORMAT_KEY_LOOP: *const ::std::os::raw::c_char;
25626}
25627extern "C" {
25628    pub static mut AMEDIAFORMAT_KEY_LYRICIST: *const ::std::os::raw::c_char;
25629}
25630extern "C" {
25631    pub static mut AMEDIAFORMAT_KEY_MANUFACTURER: *const ::std::os::raw::c_char;
25632}
25633extern "C" {
25634    pub static mut AMEDIAFORMAT_KEY_MAX_BIT_RATE: *const ::std::os::raw::c_char;
25635}
25636extern "C" {
25637    pub static mut AMEDIAFORMAT_KEY_MAX_FPS_TO_ENCODER: *const ::std::os::raw::c_char;
25638}
25639extern "C" {
25640    pub static mut AMEDIAFORMAT_KEY_MAX_PTS_GAP_TO_ENCODER: *const ::std::os::raw::c_char;
25641}
25642extern "C" {
25643    pub static mut AMEDIAFORMAT_KEY_MPEG2_STREAM_HEADER: *const ::std::os::raw::c_char;
25644}
25645extern "C" {
25646    pub static mut AMEDIAFORMAT_KEY_PCM_BIG_ENDIAN: *const ::std::os::raw::c_char;
25647}
25648extern "C" {
25649    pub static mut AMEDIAFORMAT_KEY_PSSH: *const ::std::os::raw::c_char;
25650}
25651extern "C" {
25652    pub static mut AMEDIAFORMAT_KEY_SAR_HEIGHT: *const ::std::os::raw::c_char;
25653}
25654extern "C" {
25655    pub static mut AMEDIAFORMAT_KEY_SAR_WIDTH: *const ::std::os::raw::c_char;
25656}
25657extern "C" {
25658    pub static mut AMEDIAFORMAT_KEY_TARGET_TIME: *const ::std::os::raw::c_char;
25659}
25660extern "C" {
25661    pub static mut AMEDIAFORMAT_KEY_TEMPORAL_LAYER_COUNT: *const ::std::os::raw::c_char;
25662}
25663extern "C" {
25664    pub static mut AMEDIAFORMAT_KEY_TEXT_FORMAT_DATA: *const ::std::os::raw::c_char;
25665}
25666extern "C" {
25667    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_CSD_HEVC: *const ::std::os::raw::c_char;
25668}
25669extern "C" {
25670    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_HEIGHT: *const ::std::os::raw::c_char;
25671}
25672extern "C" {
25673    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_TIME: *const ::std::os::raw::c_char;
25674}
25675extern "C" {
25676    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_WIDTH: *const ::std::os::raw::c_char;
25677}
25678extern "C" {
25679    pub static mut AMEDIAFORMAT_KEY_TITLE: *const ::std::os::raw::c_char;
25680}
25681extern "C" {
25682    pub static mut AMEDIAFORMAT_KEY_VALID_SAMPLES: *const ::std::os::raw::c_char;
25683}
25684extern "C" {
25685    pub static mut AMEDIAFORMAT_KEY_YEAR: *const ::std::os::raw::c_char;
25686}
25687extern "C" {
25688    pub static mut AMEDIAFORMAT_KEY_LOW_LATENCY: *const ::std::os::raw::c_char;
25689}
25690extern "C" {
25691    pub static mut AMEDIAFORMAT_KEY_HDR10_PLUS_INFO: *const ::std::os::raw::c_char;
25692}
25693extern "C" {
25694    pub static mut AMEDIAFORMAT_KEY_SLOW_MOTION_MARKERS: *const ::std::os::raw::c_char;
25695}
25696extern "C" {
25697    pub static mut AMEDIAFORMAT_KEY_THUMBNAIL_CSD_AV1C: *const ::std::os::raw::c_char;
25698}
25699extern "C" {
25700    pub static mut AMEDIAFORMAT_KEY_XMP_OFFSET: *const ::std::os::raw::c_char;
25701}
25702extern "C" {
25703    pub static mut AMEDIAFORMAT_KEY_XMP_SIZE: *const ::std::os::raw::c_char;
25704}
25705extern "C" {
25706    pub static mut AMEDIAFORMAT_KEY_SAMPLE_FILE_OFFSET: *const ::std::os::raw::c_char;
25707}
25708extern "C" {
25709    pub static mut AMEDIAFORMAT_KEY_LAST_SAMPLE_INDEX_IN_CHUNK: *const ::std::os::raw::c_char;
25710}
25711extern "C" {
25712    pub static mut AMEDIAFORMAT_KEY_SAMPLE_TIME_BEFORE_APPEND: *const ::std::os::raw::c_char;
25713}
25714extern "C" {
25715    pub static mut AMEDIAFORMAT_KEY_PICTURE_TYPE: *const ::std::os::raw::c_char;
25716}
25717extern "C" {
25718    pub static mut AMEDIAFORMAT_KEY_VIDEO_ENCODING_STATISTICS_LEVEL: *const ::std::os::raw::c_char;
25719}
25720extern "C" {
25721    pub static mut AMEDIAFORMAT_KEY_VIDEO_QP_AVERAGE: *const ::std::os::raw::c_char;
25722}
25723extern "C" {
25724    pub static mut AMEDIAFORMAT_VIDEO_QP_B_MAX: *const ::std::os::raw::c_char;
25725}
25726extern "C" {
25727    pub static mut AMEDIAFORMAT_VIDEO_QP_B_MIN: *const ::std::os::raw::c_char;
25728}
25729extern "C" {
25730    pub static mut AMEDIAFORMAT_VIDEO_QP_I_MAX: *const ::std::os::raw::c_char;
25731}
25732extern "C" {
25733    pub static mut AMEDIAFORMAT_VIDEO_QP_I_MIN: *const ::std::os::raw::c_char;
25734}
25735extern "C" {
25736    pub static mut AMEDIAFORMAT_VIDEO_QP_MAX: *const ::std::os::raw::c_char;
25737}
25738extern "C" {
25739    pub static mut AMEDIAFORMAT_VIDEO_QP_MIN: *const ::std::os::raw::c_char;
25740}
25741extern "C" {
25742    pub static mut AMEDIAFORMAT_VIDEO_QP_P_MAX: *const ::std::os::raw::c_char;
25743}
25744extern "C" {
25745    pub static mut AMEDIAFORMAT_VIDEO_QP_P_MIN: *const ::std::os::raw::c_char;
25746}
25747extern "C" {
25748    pub static mut AMEDIAFORMAT_KEY_MPEGH_COMPATIBLE_SETS: *const ::std::os::raw::c_char;
25749}
25750extern "C" {
25751    pub static mut AMEDIAFORMAT_KEY_MPEGH_PROFILE_LEVEL_INDICATION: *const ::std::os::raw::c_char;
25752}
25753extern "C" {
25754    pub static mut AMEDIAFORMAT_KEY_MPEGH_REFERENCE_CHANNEL_LAYOUT: *const ::std::os::raw::c_char;
25755}
25756#[repr(C)]
25757#[derive(Debug, Copy, Clone)]
25758pub struct AMediaCodec {
25759    _unused: [u8; 0],
25760}
25761#[repr(C)]
25762#[derive(Debug, Copy, Clone)]
25763pub struct AMediaCodecBufferInfo {
25764    pub offset: i32,
25765    pub size: i32,
25766    pub presentationTimeUs: i64,
25767    pub flags: u32,
25768}
25769#[test]
25770fn bindgen_test_layout_AMediaCodecBufferInfo() {
25771    const UNINIT: ::std::mem::MaybeUninit<AMediaCodecBufferInfo> =
25772        ::std::mem::MaybeUninit::uninit();
25773    let ptr = UNINIT.as_ptr();
25774    assert_eq!(
25775        ::std::mem::size_of::<AMediaCodecBufferInfo>(),
25776        20usize,
25777        concat!("Size of: ", stringify!(AMediaCodecBufferInfo))
25778    );
25779    assert_eq!(
25780        ::std::mem::align_of::<AMediaCodecBufferInfo>(),
25781        4usize,
25782        concat!("Alignment of ", stringify!(AMediaCodecBufferInfo))
25783    );
25784    assert_eq!(
25785        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
25786        0usize,
25787        concat!(
25788            "Offset of field: ",
25789            stringify!(AMediaCodecBufferInfo),
25790            "::",
25791            stringify!(offset)
25792        )
25793    );
25794    assert_eq!(
25795        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
25796        4usize,
25797        concat!(
25798            "Offset of field: ",
25799            stringify!(AMediaCodecBufferInfo),
25800            "::",
25801            stringify!(size)
25802        )
25803    );
25804    assert_eq!(
25805        unsafe { ::std::ptr::addr_of!((*ptr).presentationTimeUs) as usize - ptr as usize },
25806        8usize,
25807        concat!(
25808            "Offset of field: ",
25809            stringify!(AMediaCodecBufferInfo),
25810            "::",
25811            stringify!(presentationTimeUs)
25812        )
25813    );
25814    assert_eq!(
25815        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
25816        16usize,
25817        concat!(
25818            "Offset of field: ",
25819            stringify!(AMediaCodecBufferInfo),
25820            "::",
25821            stringify!(flags)
25822        )
25823    );
25824}
25825#[repr(C)]
25826#[derive(Debug, Copy, Clone)]
25827pub struct AMediaCodecCryptoInfo {
25828    _unused: [u8; 0],
25829}
25830pub const AMEDIACODEC_BUFFER_FLAG_KEY_FRAME: _bindgen_ty_69 = 1;
25831pub const AMEDIACODEC_BUFFER_FLAG_CODEC_CONFIG: _bindgen_ty_69 = 2;
25832pub const AMEDIACODEC_BUFFER_FLAG_END_OF_STREAM: _bindgen_ty_69 = 4;
25833pub const AMEDIACODEC_BUFFER_FLAG_PARTIAL_FRAME: _bindgen_ty_69 = 8;
25834pub const AMEDIACODEC_BUFFER_FLAG_MUXER_DATA: _bindgen_ty_69 = 16;
25835pub const AMEDIACODEC_BUFFER_FLAG_DECODE_ONLY: _bindgen_ty_69 = 32;
25836pub type _bindgen_ty_69 = ::std::os::raw::c_uint;
25837pub const AMEDIACODEC_CONFIGURE_FLAG_ENCODE: _bindgen_ty_70 = 1;
25838pub const AMEDIACODEC_INFO_OUTPUT_BUFFERS_CHANGED: _bindgen_ty_70 = -3;
25839pub const AMEDIACODEC_INFO_OUTPUT_FORMAT_CHANGED: _bindgen_ty_70 = -2;
25840pub const AMEDIACODEC_INFO_TRY_AGAIN_LATER: _bindgen_ty_70 = -1;
25841pub type _bindgen_ty_70 = ::std::os::raw::c_int;
25842pub type AMediaCodecOnAsyncInputAvailable = ::std::option::Option<
25843    unsafe extern "C" fn(
25844        codec: *mut AMediaCodec,
25845        userdata: *mut ::std::os::raw::c_void,
25846        index: i32,
25847    ),
25848>;
25849pub type AMediaCodecOnAsyncOutputAvailable = ::std::option::Option<
25850    unsafe extern "C" fn(
25851        codec: *mut AMediaCodec,
25852        userdata: *mut ::std::os::raw::c_void,
25853        index: i32,
25854        bufferInfo: *mut AMediaCodecBufferInfo,
25855    ),
25856>;
25857pub type AMediaCodecOnAsyncFormatChanged = ::std::option::Option<
25858    unsafe extern "C" fn(
25859        codec: *mut AMediaCodec,
25860        userdata: *mut ::std::os::raw::c_void,
25861        format: *mut AMediaFormat,
25862    ),
25863>;
25864pub type AMediaCodecOnAsyncError = ::std::option::Option<
25865    unsafe extern "C" fn(
25866        codec: *mut AMediaCodec,
25867        userdata: *mut ::std::os::raw::c_void,
25868        error: media_status_t,
25869        actionCode: i32,
25870        detail: *const ::std::os::raw::c_char,
25871    ),
25872>;
25873#[repr(C)]
25874#[derive(Debug, Copy, Clone)]
25875pub struct AMediaCodecOnAsyncNotifyCallback {
25876    pub onAsyncInputAvailable: AMediaCodecOnAsyncInputAvailable,
25877    pub onAsyncOutputAvailable: AMediaCodecOnAsyncOutputAvailable,
25878    pub onAsyncFormatChanged: AMediaCodecOnAsyncFormatChanged,
25879    pub onAsyncError: AMediaCodecOnAsyncError,
25880}
25881#[test]
25882fn bindgen_test_layout_AMediaCodecOnAsyncNotifyCallback() {
25883    const UNINIT: ::std::mem::MaybeUninit<AMediaCodecOnAsyncNotifyCallback> =
25884        ::std::mem::MaybeUninit::uninit();
25885    let ptr = UNINIT.as_ptr();
25886    assert_eq!(
25887        ::std::mem::size_of::<AMediaCodecOnAsyncNotifyCallback>(),
25888        16usize,
25889        concat!("Size of: ", stringify!(AMediaCodecOnAsyncNotifyCallback))
25890    );
25891    assert_eq!(
25892        ::std::mem::align_of::<AMediaCodecOnAsyncNotifyCallback>(),
25893        4usize,
25894        concat!(
25895            "Alignment of ",
25896            stringify!(AMediaCodecOnAsyncNotifyCallback)
25897        )
25898    );
25899    assert_eq!(
25900        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncInputAvailable) as usize - ptr as usize },
25901        0usize,
25902        concat!(
25903            "Offset of field: ",
25904            stringify!(AMediaCodecOnAsyncNotifyCallback),
25905            "::",
25906            stringify!(onAsyncInputAvailable)
25907        )
25908    );
25909    assert_eq!(
25910        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncOutputAvailable) as usize - ptr as usize },
25911        4usize,
25912        concat!(
25913            "Offset of field: ",
25914            stringify!(AMediaCodecOnAsyncNotifyCallback),
25915            "::",
25916            stringify!(onAsyncOutputAvailable)
25917        )
25918    );
25919    assert_eq!(
25920        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncFormatChanged) as usize - ptr as usize },
25921        8usize,
25922        concat!(
25923            "Offset of field: ",
25924            stringify!(AMediaCodecOnAsyncNotifyCallback),
25925            "::",
25926            stringify!(onAsyncFormatChanged)
25927        )
25928    );
25929    assert_eq!(
25930        unsafe { ::std::ptr::addr_of!((*ptr).onAsyncError) as usize - ptr as usize },
25931        12usize,
25932        concat!(
25933            "Offset of field: ",
25934            stringify!(AMediaCodecOnAsyncNotifyCallback),
25935            "::",
25936            stringify!(onAsyncError)
25937        )
25938    );
25939}
25940pub type AMediaCodecOnFrameRendered = ::std::option::Option<
25941    unsafe extern "C" fn(
25942        codec: *mut AMediaCodec,
25943        userdata: *mut ::std::os::raw::c_void,
25944        mediaTimeUs: i64,
25945        systemNano: i64,
25946    ),
25947>;
25948extern "C" {
25949    pub fn AMediaCodec_createCodecByName(name: *const ::std::os::raw::c_char) -> *mut AMediaCodec;
25950}
25951extern "C" {
25952    pub fn AMediaCodec_createDecoderByType(
25953        mime_type: *const ::std::os::raw::c_char,
25954    ) -> *mut AMediaCodec;
25955}
25956extern "C" {
25957    pub fn AMediaCodec_createEncoderByType(
25958        mime_type: *const ::std::os::raw::c_char,
25959    ) -> *mut AMediaCodec;
25960}
25961extern "C" {
25962    pub fn AMediaCodec_delete(arg1: *mut AMediaCodec) -> media_status_t;
25963}
25964extern "C" {
25965    pub fn AMediaCodec_configure(
25966        arg1: *mut AMediaCodec,
25967        format: *const AMediaFormat,
25968        surface: *mut ANativeWindow,
25969        crypto: *mut AMediaCrypto,
25970        flags: u32,
25971    ) -> media_status_t;
25972}
25973extern "C" {
25974    pub fn AMediaCodec_start(arg1: *mut AMediaCodec) -> media_status_t;
25975}
25976extern "C" {
25977    pub fn AMediaCodec_stop(arg1: *mut AMediaCodec) -> media_status_t;
25978}
25979extern "C" {
25980    pub fn AMediaCodec_flush(arg1: *mut AMediaCodec) -> media_status_t;
25981}
25982extern "C" {
25983    pub fn AMediaCodec_getInputBuffer(
25984        arg1: *mut AMediaCodec,
25985        idx: usize,
25986        out_size: *mut usize,
25987    ) -> *mut u8;
25988}
25989extern "C" {
25990    pub fn AMediaCodec_getOutputBuffer(
25991        arg1: *mut AMediaCodec,
25992        idx: usize,
25993        out_size: *mut usize,
25994    ) -> *mut u8;
25995}
25996extern "C" {
25997    pub fn AMediaCodec_dequeueInputBuffer(arg1: *mut AMediaCodec, timeoutUs: i64) -> isize;
25998}
25999extern "C" {
26000    pub fn __assert(
26001        __file: *const ::std::os::raw::c_char,
26002        __line: ::std::os::raw::c_int,
26003        __msg: *const ::std::os::raw::c_char,
26004    ) -> !;
26005}
26006extern "C" {
26007    pub fn __assert2(
26008        __file: *const ::std::os::raw::c_char,
26009        __line: ::std::os::raw::c_int,
26010        __function: *const ::std::os::raw::c_char,
26011        __msg: *const ::std::os::raw::c_char,
26012    ) -> !;
26013}
26014extern "C" {
26015    pub fn AMediaCodec_queueInputBuffer(
26016        arg1: *mut AMediaCodec,
26017        idx: usize,
26018        offset: off_t,
26019        size: usize,
26020        time: u64,
26021        flags: u32,
26022    ) -> media_status_t;
26023}
26024extern "C" {
26025    pub fn AMediaCodec_queueSecureInputBuffer(
26026        arg1: *mut AMediaCodec,
26027        idx: usize,
26028        offset: off_t,
26029        arg2: *mut AMediaCodecCryptoInfo,
26030        time: u64,
26031        flags: u32,
26032    ) -> media_status_t;
26033}
26034extern "C" {
26035    pub fn AMediaCodec_dequeueOutputBuffer(
26036        arg1: *mut AMediaCodec,
26037        info: *mut AMediaCodecBufferInfo,
26038        timeoutUs: i64,
26039    ) -> isize;
26040}
26041extern "C" {
26042    pub fn AMediaCodec_getOutputFormat(arg1: *mut AMediaCodec) -> *mut AMediaFormat;
26043}
26044extern "C" {
26045    pub fn AMediaCodec_releaseOutputBuffer(
26046        arg1: *mut AMediaCodec,
26047        idx: usize,
26048        render: bool,
26049    ) -> media_status_t;
26050}
26051extern "C" {
26052    pub fn AMediaCodec_setOutputSurface(
26053        arg1: *mut AMediaCodec,
26054        surface: *mut ANativeWindow,
26055    ) -> media_status_t;
26056}
26057extern "C" {
26058    pub fn AMediaCodec_releaseOutputBufferAtTime(
26059        mData: *mut AMediaCodec,
26060        idx: usize,
26061        timestampNs: i64,
26062    ) -> media_status_t;
26063}
26064extern "C" {
26065    pub fn AMediaCodec_createInputSurface(
26066        mData: *mut AMediaCodec,
26067        surface: *mut *mut ANativeWindow,
26068    ) -> media_status_t;
26069}
26070extern "C" {
26071    pub fn AMediaCodec_createPersistentInputSurface(
26072        surface: *mut *mut ANativeWindow,
26073    ) -> media_status_t;
26074}
26075extern "C" {
26076    pub fn AMediaCodec_setInputSurface(
26077        mData: *mut AMediaCodec,
26078        surface: *mut ANativeWindow,
26079    ) -> media_status_t;
26080}
26081extern "C" {
26082    pub fn AMediaCodec_setParameters(
26083        mData: *mut AMediaCodec,
26084        params: *const AMediaFormat,
26085    ) -> media_status_t;
26086}
26087extern "C" {
26088    pub fn AMediaCodec_signalEndOfInputStream(mData: *mut AMediaCodec) -> media_status_t;
26089}
26090extern "C" {
26091    pub fn AMediaCodec_getBufferFormat(arg1: *mut AMediaCodec, index: usize) -> *mut AMediaFormat;
26092}
26093extern "C" {
26094    pub fn AMediaCodec_getName(
26095        arg1: *mut AMediaCodec,
26096        out_name: *mut *mut ::std::os::raw::c_char,
26097    ) -> media_status_t;
26098}
26099extern "C" {
26100    pub fn AMediaCodec_releaseName(arg1: *mut AMediaCodec, name: *mut ::std::os::raw::c_char);
26101}
26102extern "C" {
26103    pub fn AMediaCodec_setAsyncNotifyCallback(
26104        arg1: *mut AMediaCodec,
26105        callback: AMediaCodecOnAsyncNotifyCallback,
26106        userdata: *mut ::std::os::raw::c_void,
26107    ) -> media_status_t;
26108}
26109extern "C" {
26110    pub fn AMediaCodec_setOnFrameRenderedCallback(
26111        arg1: *mut AMediaCodec,
26112        callback: AMediaCodecOnFrameRendered,
26113        userdata: *mut ::std::os::raw::c_void,
26114    ) -> media_status_t;
26115}
26116extern "C" {
26117    pub fn AMediaCodec_releaseCrypto(arg1: *mut AMediaCodec) -> media_status_t;
26118}
26119extern "C" {
26120    pub fn AMediaCodec_getInputFormat(arg1: *mut AMediaCodec) -> *mut AMediaFormat;
26121}
26122extern "C" {
26123    pub fn AMediaCodecActionCode_isRecoverable(actionCode: i32) -> bool;
26124}
26125extern "C" {
26126    pub fn AMediaCodecActionCode_isTransient(actionCode: i32) -> bool;
26127}
26128impl cryptoinfo_mode_t {
26129    pub const AMEDIACODECRYPTOINFO_MODE_CLEAR: cryptoinfo_mode_t = cryptoinfo_mode_t(0);
26130}
26131impl cryptoinfo_mode_t {
26132    pub const AMEDIACODECRYPTOINFO_MODE_AES_CTR: cryptoinfo_mode_t = cryptoinfo_mode_t(1);
26133}
26134impl cryptoinfo_mode_t {
26135    pub const AMEDIACODECRYPTOINFO_MODE_AES_WV: cryptoinfo_mode_t = cryptoinfo_mode_t(2);
26136}
26137impl cryptoinfo_mode_t {
26138    pub const AMEDIACODECRYPTOINFO_MODE_AES_CBC: cryptoinfo_mode_t = cryptoinfo_mode_t(3);
26139}
26140#[repr(transparent)]
26141#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26142pub struct cryptoinfo_mode_t(pub ::std::os::raw::c_uint);
26143#[repr(C)]
26144#[derive(Debug, Copy, Clone)]
26145pub struct cryptoinfo_pattern_t {
26146    pub encryptBlocks: i32,
26147    pub skipBlocks: i32,
26148}
26149#[test]
26150fn bindgen_test_layout_cryptoinfo_pattern_t() {
26151    const UNINIT: ::std::mem::MaybeUninit<cryptoinfo_pattern_t> = ::std::mem::MaybeUninit::uninit();
26152    let ptr = UNINIT.as_ptr();
26153    assert_eq!(
26154        ::std::mem::size_of::<cryptoinfo_pattern_t>(),
26155        8usize,
26156        concat!("Size of: ", stringify!(cryptoinfo_pattern_t))
26157    );
26158    assert_eq!(
26159        ::std::mem::align_of::<cryptoinfo_pattern_t>(),
26160        4usize,
26161        concat!("Alignment of ", stringify!(cryptoinfo_pattern_t))
26162    );
26163    assert_eq!(
26164        unsafe { ::std::ptr::addr_of!((*ptr).encryptBlocks) as usize - ptr as usize },
26165        0usize,
26166        concat!(
26167            "Offset of field: ",
26168            stringify!(cryptoinfo_pattern_t),
26169            "::",
26170            stringify!(encryptBlocks)
26171        )
26172    );
26173    assert_eq!(
26174        unsafe { ::std::ptr::addr_of!((*ptr).skipBlocks) as usize - ptr as usize },
26175        4usize,
26176        concat!(
26177            "Offset of field: ",
26178            stringify!(cryptoinfo_pattern_t),
26179            "::",
26180            stringify!(skipBlocks)
26181        )
26182    );
26183}
26184extern "C" {
26185    pub fn AMediaCodecCryptoInfo_new(
26186        numsubsamples: ::std::os::raw::c_int,
26187        key: *mut u8,
26188        iv: *mut u8,
26189        mode: cryptoinfo_mode_t,
26190        clearbytes: *mut usize,
26191        encryptedbytes: *mut usize,
26192    ) -> *mut AMediaCodecCryptoInfo;
26193}
26194extern "C" {
26195    pub fn AMediaCodecCryptoInfo_delete(arg1: *mut AMediaCodecCryptoInfo) -> media_status_t;
26196}
26197extern "C" {
26198    pub fn AMediaCodecCryptoInfo_setPattern(
26199        info: *mut AMediaCodecCryptoInfo,
26200        pattern: *mut cryptoinfo_pattern_t,
26201    );
26202}
26203extern "C" {
26204    pub fn AMediaCodecCryptoInfo_getNumSubSamples(arg1: *mut AMediaCodecCryptoInfo) -> usize;
26205}
26206extern "C" {
26207    pub fn AMediaCodecCryptoInfo_getKey(
26208        arg1: *mut AMediaCodecCryptoInfo,
26209        dst: *mut u8,
26210    ) -> media_status_t;
26211}
26212extern "C" {
26213    pub fn AMediaCodecCryptoInfo_getIV(
26214        arg1: *mut AMediaCodecCryptoInfo,
26215        dst: *mut u8,
26216    ) -> media_status_t;
26217}
26218extern "C" {
26219    pub fn AMediaCodecCryptoInfo_getMode(arg1: *mut AMediaCodecCryptoInfo) -> cryptoinfo_mode_t;
26220}
26221extern "C" {
26222    pub fn AMediaCodecCryptoInfo_getClearBytes(
26223        arg1: *mut AMediaCodecCryptoInfo,
26224        dst: *mut usize,
26225    ) -> media_status_t;
26226}
26227extern "C" {
26228    pub fn AMediaCodecCryptoInfo_getEncryptedBytes(
26229        arg1: *mut AMediaCodecCryptoInfo,
26230        dst: *mut usize,
26231    ) -> media_status_t;
26232}
26233extern "C" {
26234    pub static mut AMEDIACODEC_KEY_HDR10_PLUS_INFO: *const ::std::os::raw::c_char;
26235}
26236extern "C" {
26237    pub static mut AMEDIACODEC_KEY_LOW_LATENCY: *const ::std::os::raw::c_char;
26238}
26239extern "C" {
26240    pub static mut AMEDIACODEC_KEY_OFFSET_TIME: *const ::std::os::raw::c_char;
26241}
26242extern "C" {
26243    pub static mut AMEDIACODEC_KEY_REQUEST_SYNC_FRAME: *const ::std::os::raw::c_char;
26244}
26245extern "C" {
26246    pub static mut AMEDIACODEC_KEY_SUSPEND: *const ::std::os::raw::c_char;
26247}
26248extern "C" {
26249    pub static mut AMEDIACODEC_KEY_SUSPEND_TIME: *const ::std::os::raw::c_char;
26250}
26251extern "C" {
26252    pub static mut AMEDIACODEC_KEY_VIDEO_BITRATE: *const ::std::os::raw::c_char;
26253}
26254#[repr(C)]
26255#[derive(Debug, Copy, Clone)]
26256pub struct AMediaDataSource {
26257    _unused: [u8; 0],
26258}
26259pub type AMediaDataSourceReadAt = ::std::option::Option<
26260    unsafe extern "C" fn(
26261        userdata: *mut ::std::os::raw::c_void,
26262        offset: off64_t,
26263        buffer: *mut ::std::os::raw::c_void,
26264        size: usize,
26265    ) -> isize,
26266>;
26267pub type AMediaDataSourceGetSize =
26268    ::std::option::Option<unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void) -> isize>;
26269pub type AMediaDataSourceClose =
26270    ::std::option::Option<unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void)>;
26271extern "C" {
26272    pub fn AMediaDataSource_new() -> *mut AMediaDataSource;
26273}
26274pub type AMediaDataSourceGetAvailableSize = ::std::option::Option<
26275    unsafe extern "C" fn(userdata: *mut ::std::os::raw::c_void, offset: off64_t) -> isize,
26276>;
26277extern "C" {
26278    pub fn AMediaDataSource_newUri(
26279        uri: *const ::std::os::raw::c_char,
26280        numheaders: ::std::os::raw::c_int,
26281        key_values: *const *const ::std::os::raw::c_char,
26282    ) -> *mut AMediaDataSource;
26283}
26284extern "C" {
26285    pub fn AMediaDataSource_delete(arg1: *mut AMediaDataSource);
26286}
26287extern "C" {
26288    pub fn AMediaDataSource_setUserdata(
26289        arg1: *mut AMediaDataSource,
26290        userdata: *mut ::std::os::raw::c_void,
26291    );
26292}
26293extern "C" {
26294    pub fn AMediaDataSource_setReadAt(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceReadAt);
26295}
26296extern "C" {
26297    pub fn AMediaDataSource_setGetSize(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceGetSize);
26298}
26299extern "C" {
26300    pub fn AMediaDataSource_setClose(arg1: *mut AMediaDataSource, arg2: AMediaDataSourceClose);
26301}
26302extern "C" {
26303    pub fn AMediaDataSource_close(arg1: *mut AMediaDataSource);
26304}
26305extern "C" {
26306    pub fn AMediaDataSource_setGetAvailableSize(
26307        arg1: *mut AMediaDataSource,
26308        arg2: AMediaDataSourceGetAvailableSize,
26309    );
26310}
26311#[repr(C)]
26312#[derive(Debug, Copy, Clone)]
26313pub struct AMediaDrm {
26314    _unused: [u8; 0],
26315}
26316#[repr(C)]
26317#[derive(Debug, Copy, Clone)]
26318pub struct AMediaDrmByteArray {
26319    pub ptr: *const u8,
26320    pub length: usize,
26321}
26322#[test]
26323fn bindgen_test_layout_AMediaDrmByteArray() {
26324    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmByteArray> = ::std::mem::MaybeUninit::uninit();
26325    let ptr = UNINIT.as_ptr();
26326    assert_eq!(
26327        ::std::mem::size_of::<AMediaDrmByteArray>(),
26328        8usize,
26329        concat!("Size of: ", stringify!(AMediaDrmByteArray))
26330    );
26331    assert_eq!(
26332        ::std::mem::align_of::<AMediaDrmByteArray>(),
26333        4usize,
26334        concat!("Alignment of ", stringify!(AMediaDrmByteArray))
26335    );
26336    assert_eq!(
26337        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
26338        0usize,
26339        concat!(
26340            "Offset of field: ",
26341            stringify!(AMediaDrmByteArray),
26342            "::",
26343            stringify!(ptr)
26344        )
26345    );
26346    assert_eq!(
26347        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
26348        4usize,
26349        concat!(
26350            "Offset of field: ",
26351            stringify!(AMediaDrmByteArray),
26352            "::",
26353            stringify!(length)
26354        )
26355    );
26356}
26357pub type AMediaDrmSessionId = AMediaDrmByteArray;
26358pub type AMediaDrmScope = AMediaDrmByteArray;
26359pub type AMediaDrmKeySetId = AMediaDrmByteArray;
26360pub type AMediaDrmSecureStop = AMediaDrmByteArray;
26361pub type AMediaDrmKeyId = AMediaDrmByteArray;
26362impl AMediaDrmEventType {
26363    pub const EVENT_PROVISION_REQUIRED: AMediaDrmEventType = AMediaDrmEventType(1);
26364}
26365impl AMediaDrmEventType {
26366    pub const EVENT_KEY_REQUIRED: AMediaDrmEventType = AMediaDrmEventType(2);
26367}
26368impl AMediaDrmEventType {
26369    pub const EVENT_KEY_EXPIRED: AMediaDrmEventType = AMediaDrmEventType(3);
26370}
26371impl AMediaDrmEventType {
26372    pub const EVENT_VENDOR_DEFINED: AMediaDrmEventType = AMediaDrmEventType(4);
26373}
26374impl AMediaDrmEventType {
26375    pub const EVENT_SESSION_RECLAIMED: AMediaDrmEventType = AMediaDrmEventType(5);
26376}
26377#[repr(transparent)]
26378#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26379pub struct AMediaDrmEventType(pub ::std::os::raw::c_uint);
26380impl AMediaDrmKeyType {
26381    pub const KEY_TYPE_STREAMING: AMediaDrmKeyType = AMediaDrmKeyType(1);
26382}
26383impl AMediaDrmKeyType {
26384    pub const KEY_TYPE_OFFLINE: AMediaDrmKeyType = AMediaDrmKeyType(2);
26385}
26386impl AMediaDrmKeyType {
26387    pub const KEY_TYPE_RELEASE: AMediaDrmKeyType = AMediaDrmKeyType(3);
26388}
26389#[repr(transparent)]
26390#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26391pub struct AMediaDrmKeyType(pub ::std::os::raw::c_uint);
26392impl AMediaDrmKeyRequestType {
26393    pub const KEY_REQUEST_TYPE_INITIAL: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(0);
26394}
26395impl AMediaDrmKeyRequestType {
26396    pub const KEY_REQUEST_TYPE_RENEWAL: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(1);
26397}
26398impl AMediaDrmKeyRequestType {
26399    pub const KEY_REQUEST_TYPE_RELEASE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(2);
26400}
26401impl AMediaDrmKeyRequestType {
26402    pub const KEY_REQUEST_TYPE_NONE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(3);
26403}
26404impl AMediaDrmKeyRequestType {
26405    pub const KEY_REQUEST_TYPE_UPDATE: AMediaDrmKeyRequestType = AMediaDrmKeyRequestType(4);
26406}
26407#[repr(transparent)]
26408#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26409pub struct AMediaDrmKeyRequestType(pub i32);
26410#[repr(C)]
26411#[derive(Debug, Copy, Clone)]
26412pub struct AMediaDrmKeyValuePair {
26413    pub mKey: *const ::std::os::raw::c_char,
26414    pub mValue: *const ::std::os::raw::c_char,
26415}
26416#[test]
26417fn bindgen_test_layout_AMediaDrmKeyValuePair() {
26418    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmKeyValuePair> =
26419        ::std::mem::MaybeUninit::uninit();
26420    let ptr = UNINIT.as_ptr();
26421    assert_eq!(
26422        ::std::mem::size_of::<AMediaDrmKeyValuePair>(),
26423        8usize,
26424        concat!("Size of: ", stringify!(AMediaDrmKeyValuePair))
26425    );
26426    assert_eq!(
26427        ::std::mem::align_of::<AMediaDrmKeyValuePair>(),
26428        4usize,
26429        concat!("Alignment of ", stringify!(AMediaDrmKeyValuePair))
26430    );
26431    assert_eq!(
26432        unsafe { ::std::ptr::addr_of!((*ptr).mKey) as usize - ptr as usize },
26433        0usize,
26434        concat!(
26435            "Offset of field: ",
26436            stringify!(AMediaDrmKeyValuePair),
26437            "::",
26438            stringify!(mKey)
26439        )
26440    );
26441    assert_eq!(
26442        unsafe { ::std::ptr::addr_of!((*ptr).mValue) as usize - ptr as usize },
26443        4usize,
26444        concat!(
26445            "Offset of field: ",
26446            stringify!(AMediaDrmKeyValuePair),
26447            "::",
26448            stringify!(mValue)
26449        )
26450    );
26451}
26452pub type AMediaDrmKeyValue = AMediaDrmKeyValuePair;
26453impl AMediaKeyStatusType {
26454    pub const KEY_STATUS_TYPE_USABLE: AMediaKeyStatusType = AMediaKeyStatusType(0);
26455}
26456impl AMediaKeyStatusType {
26457    pub const KEY_STATUS_TYPE_EXPIRED: AMediaKeyStatusType = AMediaKeyStatusType(1);
26458}
26459impl AMediaKeyStatusType {
26460    pub const KEY_STATUS_TYPE_OUTPUTNOTALLOWED: AMediaKeyStatusType = AMediaKeyStatusType(2);
26461}
26462impl AMediaKeyStatusType {
26463    pub const KEY_STATUS_TYPE_STATUSPENDING: AMediaKeyStatusType = AMediaKeyStatusType(3);
26464}
26465impl AMediaKeyStatusType {
26466    pub const KEY_STATUS_TYPE_INTERNALERROR: AMediaKeyStatusType = AMediaKeyStatusType(4);
26467}
26468#[repr(transparent)]
26469#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26470pub struct AMediaKeyStatusType(pub ::std::os::raw::c_uint);
26471pub use self::AMediaKeyStatusType as AMediaDrmKeyStatusType;
26472#[repr(C)]
26473#[derive(Debug, Copy, Clone)]
26474pub struct AMediaDrmKeyStatus {
26475    pub keyId: AMediaDrmKeyId,
26476    pub keyType: AMediaDrmKeyStatusType,
26477}
26478#[test]
26479fn bindgen_test_layout_AMediaDrmKeyStatus() {
26480    const UNINIT: ::std::mem::MaybeUninit<AMediaDrmKeyStatus> = ::std::mem::MaybeUninit::uninit();
26481    let ptr = UNINIT.as_ptr();
26482    assert_eq!(
26483        ::std::mem::size_of::<AMediaDrmKeyStatus>(),
26484        12usize,
26485        concat!("Size of: ", stringify!(AMediaDrmKeyStatus))
26486    );
26487    assert_eq!(
26488        ::std::mem::align_of::<AMediaDrmKeyStatus>(),
26489        4usize,
26490        concat!("Alignment of ", stringify!(AMediaDrmKeyStatus))
26491    );
26492    assert_eq!(
26493        unsafe { ::std::ptr::addr_of!((*ptr).keyId) as usize - ptr as usize },
26494        0usize,
26495        concat!(
26496            "Offset of field: ",
26497            stringify!(AMediaDrmKeyStatus),
26498            "::",
26499            stringify!(keyId)
26500        )
26501    );
26502    assert_eq!(
26503        unsafe { ::std::ptr::addr_of!((*ptr).keyType) as usize - ptr as usize },
26504        8usize,
26505        concat!(
26506            "Offset of field: ",
26507            stringify!(AMediaDrmKeyStatus),
26508            "::",
26509            stringify!(keyType)
26510        )
26511    );
26512}
26513pub type AMediaDrmEventListener = ::std::option::Option<
26514    unsafe extern "C" fn(
26515        arg1: *mut AMediaDrm,
26516        sessionId: *const AMediaDrmSessionId,
26517        eventType: AMediaDrmEventType,
26518        extra: ::std::os::raw::c_int,
26519        data: *const u8,
26520        dataSize: usize,
26521    ),
26522>;
26523pub type AMediaDrmExpirationUpdateListener = ::std::option::Option<
26524    unsafe extern "C" fn(
26525        arg1: *mut AMediaDrm,
26526        sessionId: *const AMediaDrmSessionId,
26527        expiryTimeInMS: i64,
26528    ),
26529>;
26530pub type AMediaDrmKeysChangeListener = ::std::option::Option<
26531    unsafe extern "C" fn(
26532        arg1: *mut AMediaDrm,
26533        sessionId: *const AMediaDrmSessionId,
26534        keyStatus: *const AMediaDrmKeyStatus,
26535        numKeys: usize,
26536        hasNewUsableKey: bool,
26537    ),
26538>;
26539extern "C" {
26540    pub fn AMediaDrm_isCryptoSchemeSupported(
26541        uuid: *const u8,
26542        mimeType: *const ::std::os::raw::c_char,
26543    ) -> bool;
26544}
26545extern "C" {
26546    pub fn AMediaDrm_createByUUID(uuid: *const u8) -> *mut AMediaDrm;
26547}
26548extern "C" {
26549    pub fn AMediaDrm_release(arg1: *mut AMediaDrm);
26550}
26551extern "C" {
26552    pub fn AMediaDrm_setOnEventListener(
26553        arg1: *mut AMediaDrm,
26554        listener: AMediaDrmEventListener,
26555    ) -> media_status_t;
26556}
26557extern "C" {
26558    pub fn AMediaDrm_setOnExpirationUpdateListener(
26559        arg1: *mut AMediaDrm,
26560        listener: AMediaDrmExpirationUpdateListener,
26561    ) -> media_status_t;
26562}
26563extern "C" {
26564    pub fn AMediaDrm_setOnKeysChangeListener(
26565        arg1: *mut AMediaDrm,
26566        listener: AMediaDrmKeysChangeListener,
26567    ) -> media_status_t;
26568}
26569extern "C" {
26570    pub fn AMediaDrm_openSession(
26571        arg1: *mut AMediaDrm,
26572        sessionId: *mut AMediaDrmSessionId,
26573    ) -> media_status_t;
26574}
26575extern "C" {
26576    pub fn AMediaDrm_closeSession(
26577        arg1: *mut AMediaDrm,
26578        sessionId: *const AMediaDrmSessionId,
26579    ) -> media_status_t;
26580}
26581extern "C" {
26582    pub fn AMediaDrm_getKeyRequest(
26583        arg1: *mut AMediaDrm,
26584        scope: *const AMediaDrmScope,
26585        init: *const u8,
26586        initSize: usize,
26587        mimeType: *const ::std::os::raw::c_char,
26588        keyType: AMediaDrmKeyType,
26589        optionalParameters: *const AMediaDrmKeyValue,
26590        numOptionalParameters: usize,
26591        keyRequest: *mut *const u8,
26592        keyRequestSize: *mut usize,
26593    ) -> media_status_t;
26594}
26595extern "C" {
26596    pub fn AMediaDrm_getKeyRequestWithDefaultUrlAndType(
26597        arg1: *mut AMediaDrm,
26598        scope: *const AMediaDrmScope,
26599        init: *const u8,
26600        initSize: usize,
26601        mimeType: *const ::std::os::raw::c_char,
26602        keyType: AMediaDrmKeyType,
26603        optionalParameters: *const AMediaDrmKeyValue,
26604        numOptionalParameters: usize,
26605        keyRequest: *mut *const u8,
26606        keyRequestSize: *mut usize,
26607        defaultUrl: *mut *const ::std::os::raw::c_char,
26608        keyRequestType: *mut AMediaDrmKeyRequestType,
26609    ) -> media_status_t;
26610}
26611extern "C" {
26612    pub fn AMediaDrm_provideKeyResponse(
26613        arg1: *mut AMediaDrm,
26614        scope: *const AMediaDrmScope,
26615        response: *const u8,
26616        responseSize: usize,
26617        keySetId: *mut AMediaDrmKeySetId,
26618    ) -> media_status_t;
26619}
26620extern "C" {
26621    pub fn AMediaDrm_restoreKeys(
26622        arg1: *mut AMediaDrm,
26623        sessionId: *const AMediaDrmSessionId,
26624        keySetId: *const AMediaDrmKeySetId,
26625    ) -> media_status_t;
26626}
26627extern "C" {
26628    pub fn AMediaDrm_removeKeys(
26629        arg1: *mut AMediaDrm,
26630        keySetId: *const AMediaDrmSessionId,
26631    ) -> media_status_t;
26632}
26633extern "C" {
26634    pub fn AMediaDrm_queryKeyStatus(
26635        arg1: *mut AMediaDrm,
26636        sessionId: *const AMediaDrmSessionId,
26637        keyValuePairs: *mut AMediaDrmKeyValue,
26638        numPairs: *mut usize,
26639    ) -> media_status_t;
26640}
26641extern "C" {
26642    pub fn AMediaDrm_getProvisionRequest(
26643        arg1: *mut AMediaDrm,
26644        provisionRequest: *mut *const u8,
26645        provisionRequestSize: *mut usize,
26646        serverUrl: *mut *const ::std::os::raw::c_char,
26647    ) -> media_status_t;
26648}
26649extern "C" {
26650    pub fn AMediaDrm_provideProvisionResponse(
26651        arg1: *mut AMediaDrm,
26652        response: *const u8,
26653        responseSize: usize,
26654    ) -> media_status_t;
26655}
26656extern "C" {
26657    pub fn AMediaDrm_getSecureStops(
26658        arg1: *mut AMediaDrm,
26659        secureStops: *mut AMediaDrmSecureStop,
26660        numSecureStops: *mut usize,
26661    ) -> media_status_t;
26662}
26663extern "C" {
26664    pub fn AMediaDrm_releaseSecureStops(
26665        arg1: *mut AMediaDrm,
26666        ssRelease: *const AMediaDrmSecureStop,
26667    ) -> media_status_t;
26668}
26669extern "C" {
26670    pub fn AMediaDrm_getPropertyString(
26671        arg1: *mut AMediaDrm,
26672        propertyName: *const ::std::os::raw::c_char,
26673        propertyValue: *mut *const ::std::os::raw::c_char,
26674    ) -> media_status_t;
26675}
26676extern "C" {
26677    pub fn AMediaDrm_getPropertyByteArray(
26678        arg1: *mut AMediaDrm,
26679        propertyName: *const ::std::os::raw::c_char,
26680        propertyValue: *mut AMediaDrmByteArray,
26681    ) -> media_status_t;
26682}
26683extern "C" {
26684    pub fn AMediaDrm_setPropertyString(
26685        arg1: *mut AMediaDrm,
26686        propertyName: *const ::std::os::raw::c_char,
26687        value: *const ::std::os::raw::c_char,
26688    ) -> media_status_t;
26689}
26690extern "C" {
26691    pub fn AMediaDrm_setPropertyByteArray(
26692        arg1: *mut AMediaDrm,
26693        propertyName: *const ::std::os::raw::c_char,
26694        value: *const u8,
26695        valueSize: usize,
26696    ) -> media_status_t;
26697}
26698extern "C" {
26699    pub fn AMediaDrm_encrypt(
26700        arg1: *mut AMediaDrm,
26701        sessionId: *const AMediaDrmSessionId,
26702        cipherAlgorithm: *const ::std::os::raw::c_char,
26703        keyId: *mut u8,
26704        iv: *mut u8,
26705        input: *const u8,
26706        output: *mut u8,
26707        dataSize: usize,
26708    ) -> media_status_t;
26709}
26710extern "C" {
26711    pub fn AMediaDrm_decrypt(
26712        arg1: *mut AMediaDrm,
26713        sessionId: *const AMediaDrmSessionId,
26714        cipherAlgorithm: *const ::std::os::raw::c_char,
26715        keyId: *mut u8,
26716        iv: *mut u8,
26717        input: *const u8,
26718        output: *mut u8,
26719        dataSize: usize,
26720    ) -> media_status_t;
26721}
26722extern "C" {
26723    pub fn AMediaDrm_sign(
26724        arg1: *mut AMediaDrm,
26725        sessionId: *const AMediaDrmSessionId,
26726        macAlgorithm: *const ::std::os::raw::c_char,
26727        keyId: *mut u8,
26728        message: *mut u8,
26729        messageSize: usize,
26730        signature: *mut u8,
26731        signatureSize: *mut usize,
26732    ) -> media_status_t;
26733}
26734extern "C" {
26735    pub fn AMediaDrm_verify(
26736        arg1: *mut AMediaDrm,
26737        sessionId: *const AMediaDrmSessionId,
26738        macAlgorithm: *const ::std::os::raw::c_char,
26739        keyId: *mut u8,
26740        message: *const u8,
26741        messageSize: usize,
26742        signature: *const u8,
26743        signatureSize: usize,
26744    ) -> media_status_t;
26745}
26746#[repr(C)]
26747#[derive(Debug, Copy, Clone)]
26748pub struct AMediaExtractor {
26749    _unused: [u8; 0],
26750}
26751extern "C" {
26752    pub fn AMediaExtractor_new() -> *mut AMediaExtractor;
26753}
26754extern "C" {
26755    pub fn AMediaExtractor_delete(arg1: *mut AMediaExtractor) -> media_status_t;
26756}
26757extern "C" {
26758    pub fn AMediaExtractor_setDataSourceFd(
26759        arg1: *mut AMediaExtractor,
26760        fd: ::std::os::raw::c_int,
26761        offset: off64_t,
26762        length: off64_t,
26763    ) -> media_status_t;
26764}
26765extern "C" {
26766    pub fn AMediaExtractor_setDataSource(
26767        arg1: *mut AMediaExtractor,
26768        location: *const ::std::os::raw::c_char,
26769    ) -> media_status_t;
26770}
26771extern "C" {
26772    pub fn AMediaExtractor_setDataSourceCustom(
26773        arg1: *mut AMediaExtractor,
26774        src: *mut AMediaDataSource,
26775    ) -> media_status_t;
26776}
26777extern "C" {
26778    pub fn AMediaExtractor_getTrackCount(arg1: *mut AMediaExtractor) -> usize;
26779}
26780extern "C" {
26781    pub fn AMediaExtractor_getTrackFormat(
26782        arg1: *mut AMediaExtractor,
26783        idx: usize,
26784    ) -> *mut AMediaFormat;
26785}
26786extern "C" {
26787    pub fn AMediaExtractor_selectTrack(arg1: *mut AMediaExtractor, idx: usize) -> media_status_t;
26788}
26789extern "C" {
26790    pub fn AMediaExtractor_unselectTrack(arg1: *mut AMediaExtractor, idx: usize) -> media_status_t;
26791}
26792extern "C" {
26793    pub fn AMediaExtractor_readSampleData(
26794        arg1: *mut AMediaExtractor,
26795        buffer: *mut u8,
26796        capacity: usize,
26797    ) -> isize;
26798}
26799extern "C" {
26800    pub fn AMediaExtractor_getSampleFlags(arg1: *mut AMediaExtractor) -> u32;
26801}
26802extern "C" {
26803    pub fn AMediaExtractor_getSampleTrackIndex(arg1: *mut AMediaExtractor)
26804        -> ::std::os::raw::c_int;
26805}
26806extern "C" {
26807    pub fn AMediaExtractor_getSampleTime(arg1: *mut AMediaExtractor) -> i64;
26808}
26809extern "C" {
26810    pub fn AMediaExtractor_advance(arg1: *mut AMediaExtractor) -> bool;
26811}
26812impl SeekMode {
26813    pub const AMEDIAEXTRACTOR_SEEK_PREVIOUS_SYNC: SeekMode = SeekMode(0);
26814}
26815impl SeekMode {
26816    pub const AMEDIAEXTRACTOR_SEEK_NEXT_SYNC: SeekMode = SeekMode(1);
26817}
26818impl SeekMode {
26819    pub const AMEDIAEXTRACTOR_SEEK_CLOSEST_SYNC: SeekMode = SeekMode(2);
26820}
26821#[repr(transparent)]
26822#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26823pub struct SeekMode(pub ::std::os::raw::c_uint);
26824extern "C" {
26825    pub fn AMediaExtractor_seekTo(
26826        arg1: *mut AMediaExtractor,
26827        seekPosUs: i64,
26828        mode: SeekMode,
26829    ) -> media_status_t;
26830}
26831#[repr(C)]
26832#[derive(Debug, Copy, Clone)]
26833pub struct PsshEntry {
26834    pub uuid: AMediaUUID,
26835    pub datalen: usize,
26836    pub data: *mut ::std::os::raw::c_void,
26837}
26838#[test]
26839fn bindgen_test_layout_PsshEntry() {
26840    const UNINIT: ::std::mem::MaybeUninit<PsshEntry> = ::std::mem::MaybeUninit::uninit();
26841    let ptr = UNINIT.as_ptr();
26842    assert_eq!(
26843        ::std::mem::size_of::<PsshEntry>(),
26844        24usize,
26845        concat!("Size of: ", stringify!(PsshEntry))
26846    );
26847    assert_eq!(
26848        ::std::mem::align_of::<PsshEntry>(),
26849        4usize,
26850        concat!("Alignment of ", stringify!(PsshEntry))
26851    );
26852    assert_eq!(
26853        unsafe { ::std::ptr::addr_of!((*ptr).uuid) as usize - ptr as usize },
26854        0usize,
26855        concat!(
26856            "Offset of field: ",
26857            stringify!(PsshEntry),
26858            "::",
26859            stringify!(uuid)
26860        )
26861    );
26862    assert_eq!(
26863        unsafe { ::std::ptr::addr_of!((*ptr).datalen) as usize - ptr as usize },
26864        16usize,
26865        concat!(
26866            "Offset of field: ",
26867            stringify!(PsshEntry),
26868            "::",
26869            stringify!(datalen)
26870        )
26871    );
26872    assert_eq!(
26873        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26874        20usize,
26875        concat!(
26876            "Offset of field: ",
26877            stringify!(PsshEntry),
26878            "::",
26879            stringify!(data)
26880        )
26881    );
26882}
26883#[repr(C)]
26884#[derive(Debug)]
26885pub struct PsshInfo {
26886    pub numentries: usize,
26887    pub entries: __IncompleteArrayField<PsshEntry>,
26888}
26889#[test]
26890fn bindgen_test_layout_PsshInfo() {
26891    const UNINIT: ::std::mem::MaybeUninit<PsshInfo> = ::std::mem::MaybeUninit::uninit();
26892    let ptr = UNINIT.as_ptr();
26893    assert_eq!(
26894        ::std::mem::size_of::<PsshInfo>(),
26895        4usize,
26896        concat!("Size of: ", stringify!(PsshInfo))
26897    );
26898    assert_eq!(
26899        ::std::mem::align_of::<PsshInfo>(),
26900        4usize,
26901        concat!("Alignment of ", stringify!(PsshInfo))
26902    );
26903    assert_eq!(
26904        unsafe { ::std::ptr::addr_of!((*ptr).numentries) as usize - ptr as usize },
26905        0usize,
26906        concat!(
26907            "Offset of field: ",
26908            stringify!(PsshInfo),
26909            "::",
26910            stringify!(numentries)
26911        )
26912    );
26913    assert_eq!(
26914        unsafe { ::std::ptr::addr_of!((*ptr).entries) as usize - ptr as usize },
26915        4usize,
26916        concat!(
26917            "Offset of field: ",
26918            stringify!(PsshInfo),
26919            "::",
26920            stringify!(entries)
26921        )
26922    );
26923}
26924extern "C" {
26925    pub fn AMediaExtractor_getPsshInfo(arg1: *mut AMediaExtractor) -> *mut PsshInfo;
26926}
26927extern "C" {
26928    pub fn AMediaExtractor_getSampleCryptoInfo(
26929        arg1: *mut AMediaExtractor,
26930    ) -> *mut AMediaCodecCryptoInfo;
26931}
26932pub const AMEDIAEXTRACTOR_SAMPLE_FLAG_SYNC: _bindgen_ty_71 = 1;
26933pub const AMEDIAEXTRACTOR_SAMPLE_FLAG_ENCRYPTED: _bindgen_ty_71 = 2;
26934pub type _bindgen_ty_71 = ::std::os::raw::c_uint;
26935extern "C" {
26936    pub fn AMediaExtractor_getFileFormat(arg1: *mut AMediaExtractor) -> *mut AMediaFormat;
26937}
26938extern "C" {
26939    pub fn AMediaExtractor_getSampleSize(arg1: *mut AMediaExtractor) -> isize;
26940}
26941extern "C" {
26942    pub fn AMediaExtractor_getCachedDuration(arg1: *mut AMediaExtractor) -> i64;
26943}
26944extern "C" {
26945    pub fn AMediaExtractor_getSampleFormat(
26946        ex: *mut AMediaExtractor,
26947        fmt: *mut AMediaFormat,
26948    ) -> media_status_t;
26949}
26950#[repr(C)]
26951#[derive(Debug, Copy, Clone)]
26952pub struct AMediaMuxer {
26953    _unused: [u8; 0],
26954}
26955impl OutputFormat {
26956    pub const AMEDIAMUXER_OUTPUT_FORMAT_MPEG_4: OutputFormat = OutputFormat(0);
26957}
26958impl OutputFormat {
26959    pub const AMEDIAMUXER_OUTPUT_FORMAT_WEBM: OutputFormat = OutputFormat(1);
26960}
26961impl OutputFormat {
26962    pub const AMEDIAMUXER_OUTPUT_FORMAT_THREE_GPP: OutputFormat = OutputFormat(2);
26963}
26964impl OutputFormat {
26965    pub const AMEDIAMUXER_OUTPUT_FORMAT_HEIF: OutputFormat = OutputFormat(3);
26966}
26967impl OutputFormat {
26968    pub const AMEDIAMUXER_OUTPUT_FORMAT_OGG: OutputFormat = OutputFormat(4);
26969}
26970#[repr(transparent)]
26971#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26972pub struct OutputFormat(pub ::std::os::raw::c_uint);
26973impl AppendMode {
26974    pub const AMEDIAMUXER_APPEND_IGNORE_LAST_VIDEO_GOP: AppendMode = AppendMode(0);
26975}
26976impl AppendMode {
26977    pub const AMEDIAMUXER_APPEND_TO_EXISTING_DATA: AppendMode = AppendMode(1);
26978}
26979#[repr(transparent)]
26980#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
26981pub struct AppendMode(pub ::std::os::raw::c_uint);
26982extern "C" {
26983    pub fn AMediaMuxer_new(fd: ::std::os::raw::c_int, format: OutputFormat) -> *mut AMediaMuxer;
26984}
26985extern "C" {
26986    pub fn AMediaMuxer_delete(arg1: *mut AMediaMuxer) -> media_status_t;
26987}
26988extern "C" {
26989    pub fn AMediaMuxer_setLocation(
26990        arg1: *mut AMediaMuxer,
26991        latitude: f32,
26992        longitude: f32,
26993    ) -> media_status_t;
26994}
26995extern "C" {
26996    pub fn AMediaMuxer_setOrientationHint(
26997        arg1: *mut AMediaMuxer,
26998        degrees: ::std::os::raw::c_int,
26999    ) -> media_status_t;
27000}
27001extern "C" {
27002    pub fn AMediaMuxer_addTrack(arg1: *mut AMediaMuxer, format: *const AMediaFormat) -> isize;
27003}
27004extern "C" {
27005    pub fn AMediaMuxer_start(arg1: *mut AMediaMuxer) -> media_status_t;
27006}
27007extern "C" {
27008    pub fn AMediaMuxer_stop(arg1: *mut AMediaMuxer) -> media_status_t;
27009}
27010extern "C" {
27011    pub fn AMediaMuxer_writeSampleData(
27012        muxer: *mut AMediaMuxer,
27013        trackIdx: usize,
27014        data: *const u8,
27015        info: *const AMediaCodecBufferInfo,
27016    ) -> media_status_t;
27017}
27018extern "C" {
27019    pub fn AMediaMuxer_append(fd: ::std::os::raw::c_int, mode: AppendMode) -> *mut AMediaMuxer;
27020}
27021extern "C" {
27022    pub fn AMediaMuxer_getTrackCount(arg1: *mut AMediaMuxer) -> isize;
27023}
27024extern "C" {
27025    pub fn AMediaMuxer_getTrackFormat(muxer: *mut AMediaMuxer, idx: usize) -> *mut AMediaFormat;
27026}
27027pub type __builtin_va_list = *mut ::std::os::raw::c_char;