nnsdk/
common_types.rs

1#[repr(C)]
2#[derive(Default)]
3pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
4impl<T> __IncompleteArrayField<T> {
5    #[inline]
6    pub const fn new() -> Self {
7        __IncompleteArrayField(::core::marker::PhantomData, [])
8    }
9    #[inline]
10    pub fn as_ptr(&self) -> *const T {
11        self as *const _ as *const T
12    }
13    #[inline]
14    pub fn as_mut_ptr(&mut self) -> *mut T {
15        self as *mut _ as *mut T
16    }
17    #[inline]
18    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
19        ::core::slice::from_raw_parts(self.as_ptr(), len)
20    }
21    #[inline]
22    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
23        ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
24    }
25}
26impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
27    fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
28        fmt.write_str("__IncompleteArrayField")
29    }
30}
31#[repr(C)]
32pub struct __BindgenUnionField<T>(::core::marker::PhantomData<T>);
33impl<T> __BindgenUnionField<T> {
34    #[inline]
35    pub const fn new() -> Self {
36        __BindgenUnionField(::core::marker::PhantomData)
37    }
38    #[inline]
39    pub unsafe fn as_ref(&self) -> &T {
40        ::core::mem::transmute(self)
41    }
42    #[inline]
43    pub unsafe fn as_mut(&mut self) -> &mut T {
44        ::core::mem::transmute(self)
45    }
46}
47impl<T> ::core::default::Default for __BindgenUnionField<T> {
48    #[inline]
49    fn default() -> Self {
50        Self::new()
51    }
52}
53impl<T> ::core::clone::Clone for __BindgenUnionField<T> {
54    #[inline]
55    fn clone(&self) -> Self {
56        Self::new()
57    }
58}
59impl<T> ::core::marker::Copy for __BindgenUnionField<T> {}
60impl<T> ::core::fmt::Debug for __BindgenUnionField<T> {
61    fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
62        fmt.write_str("__BindgenUnionField")
63    }
64}
65impl<T> ::core::hash::Hash for __BindgenUnionField<T> {
66    fn hash<H: ::core::hash::Hasher>(&self, _state: &mut H) {}
67}
68impl<T> ::core::cmp::PartialEq for __BindgenUnionField<T> {
69    fn eq(&self, _other: &__BindgenUnionField<T>) -> bool {
70        true
71    }
72}
73impl<T> ::core::cmp::Eq for __BindgenUnionField<T> {}
74#[allow(unused_imports)]
75use self::super::root;
76pub type __u_char = u8;
77pub type __u_short = u16;
78pub type __u_int = u32;
79pub type __u_long = u64;
80pub type __int8_t = i8;
81pub type __uint8_t = u8;
82pub type __int16_t = i16;
83pub type __uint16_t = u16;
84pub type __int32_t = i32;
85pub type __uint32_t = u32;
86pub type __int64_t = i64;
87pub type __uint64_t = u64;
88pub type __int_least8_t = root::__int8_t;
89pub type __uint_least8_t = root::__uint8_t;
90pub type __int_least16_t = root::__int16_t;
91pub type __uint_least16_t = root::__uint16_t;
92pub type __int_least32_t = root::__int32_t;
93pub type __uint_least32_t = root::__uint32_t;
94pub type __int_least64_t = root::__int64_t;
95pub type __uint_least64_t = root::__uint64_t;
96pub type __quad_t = i64;
97pub type __u_quad_t = u64;
98pub type __intmax_t = i64;
99pub type __uintmax_t = u64;
100pub type __dev_t = u64;
101pub type __uid_t = u32;
102pub type __gid_t = u32;
103pub type __ino_t = u64;
104pub type __ino64_t = u64;
105pub type __mode_t = u32;
106pub type __nlink_t = u64;
107pub type __off_t = i64;
108pub type __off64_t = i64;
109pub type __pid_t = i32;
110#[repr(C)]
111#[derive(Debug, Copy, Clone)]
112pub struct __fsid_t {
113    pub __val: [i32; 2usize],
114}
115
116pub type __clock_t = i64;
117pub type __rlim_t = u64;
118pub type __rlim64_t = u64;
119pub type __id_t = u32;
120pub type __time_t = i64;
121pub type __useconds_t = u32;
122pub type __suseconds_t = i64;
123pub type __daddr_t = i32;
124pub type __key_t = i32;
125pub type __clockid_t = i32;
126pub type __timer_t = *mut u8;
127pub type __blksize_t = i64;
128pub type __blkcnt_t = i64;
129pub type __blkcnt64_t = i64;
130pub type __fsblkcnt_t = u64;
131pub type __fsblkcnt64_t = u64;
132pub type __fsfilcnt_t = u64;
133pub type __fsfilcnt64_t = u64;
134pub type __fsword_t = i64;
135pub type __ssize_t = i64;
136pub type __syscall_slong_t = i64;
137pub type __syscall_ulong_t = u64;
138pub type __loff_t = root::__off64_t;
139pub type __caddr_t = *mut u8;
140pub type __intptr_t = i64;
141pub type __socklen_t = u32;
142pub type __sig_atomic_t = i32;
143pub type int_least8_t = root::__int_least8_t;
144pub type int_least16_t = root::__int_least16_t;
145pub type int_least32_t = root::__int_least32_t;
146pub type int_least64_t = root::__int_least64_t;
147pub type uint_least8_t = root::__uint_least8_t;
148pub type uint_least16_t = root::__uint_least16_t;
149pub type uint_least32_t = root::__uint_least32_t;
150pub type uint_least64_t = root::__uint_least64_t;
151pub type int_fast8_t = i8;
152pub type int_fast16_t = i64;
153pub type int_fast32_t = i64;
154pub type int_fast64_t = i64;
155pub type uint_fast8_t = u8;
156pub type uint_fast16_t = u64;
157pub type uint_fast32_t = u64;
158pub type uint_fast64_t = u64;
159pub type intmax_t = root::__intmax_t;
160pub type uintmax_t = root::__uintmax_t;
161pub type size_t = u64;
162#[repr(C)]
163#[repr(align(16))]
164#[derive(Debug, Copy, Clone)]
165pub struct max_align_t {
166    pub __clang_max_align_nonce1: i64,
167    pub __bindgen_padding_0: u64,
168    pub __clang_max_align_nonce2: u128,
169}
170
171#[repr(C)]
172#[derive(Debug, Copy, Clone)]
173pub struct imaxdiv_t {
174    pub quot: i64,
175    pub rem: i64,
176}
177
178extern "C" {
179    pub fn imaxabs(__n: root::intmax_t) -> root::intmax_t;
180}
181extern "C" {
182    pub fn imaxdiv(__numer: root::intmax_t, __denom: root::intmax_t) -> root::imaxdiv_t;
183}
184extern "C" {
185    pub fn strtoimax(
186        __nptr: *const u8,
187        __endptr: *mut *mut u8,
188        __base: i32,
189    ) -> root::intmax_t;
190}
191extern "C" {
192    pub fn strtoumax(
193        __nptr: *const u8,
194        __endptr: *mut *mut u8,
195        __base: i32,
196    ) -> root::uintmax_t;
197}
198extern "C" {
199    pub fn wcstoimax(
200        __nptr: *const u32,
201        __endptr: *mut *mut u32,
202        __base: i32,
203    ) -> root::intmax_t;
204}
205extern "C" {
206    pub fn wcstoumax(
207        __nptr: *const u32,
208        __endptr: *mut *mut u32,
209        __base: i32,
210    ) -> root::uintmax_t;
211}
212extern "C" {
213    #[link_name = "\u{1}__cxa_demangle"]
214    pub fn cxa_demangle(
215        symbol_name: *const u8,
216        unk1: *const u8,
217        unk2: *const u8,
218        result: *mut u32,
219    ) -> *mut u8;
220}
221pub type s8 = i8;
222pub type s16 = i16;
223pub type s32 = i32;
224pub type s64 = i64;
225pub type s128 = root::__int128_t;
226pub type uchar = u8;
227pub type ulong = u64;
228pub type uint = u32;
229pub type Result = u32;
230pub type Handle = u32;
231pub type ThreadFunc = ::core::option::Option<unsafe extern "C" fn(arg1: *mut u8)>;
232pub const Module_Kernel: root::_bindgen_ty_1 = 1;
233pub const Module_Libnx: root::_bindgen_ty_1 = 345;
234pub const Module_HomebrewAbi: root::_bindgen_ty_1 = 346;
235pub const Module_HomebrewLoader: root::_bindgen_ty_1 = 347;
236pub const Module_LibnxNvidia: root::_bindgen_ty_1 = 348;
237pub const Module_LibnxBinder: root::_bindgen_ty_1 = 349;
238#[doc = " Module values"]
239pub type _bindgen_ty_1 = u32;
240pub const KernelError_OutOfSessions: root::_bindgen_ty_2 = 7;
241pub const KernelError_InvalidCapabilityDescriptor: root::_bindgen_ty_2 = 14;
242pub const KernelError_NotImplemented: root::_bindgen_ty_2 = 33;
243pub const KernelError_ThreadTerminating: root::_bindgen_ty_2 = 59;
244pub const KernelError_OutOfDebugEvents: root::_bindgen_ty_2 = 70;
245pub const KernelError_InvalidSize: root::_bindgen_ty_2 = 101;
246pub const KernelError_InvalidAddress: root::_bindgen_ty_2 = 102;
247pub const KernelError_ResourceExhausted: root::_bindgen_ty_2 = 103;
248pub const KernelError_OutOfMemory: root::_bindgen_ty_2 = 104;
249pub const KernelError_OutOfHandles: root::_bindgen_ty_2 = 105;
250pub const KernelError_InvalidMemoryState: root::_bindgen_ty_2 = 106;
251pub const KernelError_InvalidMemoryPermissions: root::_bindgen_ty_2 = 108;
252pub const KernelError_InvalidMemoryRange: root::_bindgen_ty_2 = 110;
253pub const KernelError_InvalidPriority: root::_bindgen_ty_2 = 112;
254pub const KernelError_InvalidCoreId: root::_bindgen_ty_2 = 113;
255pub const KernelError_InvalidHandle: root::_bindgen_ty_2 = 114;
256pub const KernelError_InvalidUserBuffer: root::_bindgen_ty_2 = 115;
257pub const KernelError_InvalidCombination: root::_bindgen_ty_2 = 116;
258pub const KernelError_TimedOut: root::_bindgen_ty_2 = 117;
259pub const KernelError_Cancelled: root::_bindgen_ty_2 = 118;
260pub const KernelError_OutOfRange: root::_bindgen_ty_2 = 119;
261pub const KernelError_InvalidEnumValue: root::_bindgen_ty_2 = 120;
262pub const KernelError_NotFound: root::_bindgen_ty_2 = 121;
263pub const KernelError_AlreadyExists: root::_bindgen_ty_2 = 122;
264pub const KernelError_ConnectionClosed: root::_bindgen_ty_2 = 123;
265pub const KernelError_UnhandledUserInterrupt: root::_bindgen_ty_2 = 124;
266pub const KernelError_InvalidState: root::_bindgen_ty_2 = 125;
267pub const KernelError_ReservedValue: root::_bindgen_ty_2 = 126;
268pub const KernelError_InvalidHwBreakpoint: root::_bindgen_ty_2 = 127;
269pub const KernelError_FatalUserException: root::_bindgen_ty_2 = 128;
270pub const KernelError_OwnedByAnotherProcess: root::_bindgen_ty_2 = 129;
271pub const KernelError_ConnectionRefused: root::_bindgen_ty_2 = 131;
272pub const KernelError_OutOfResource: root::_bindgen_ty_2 = 132;
273pub const KernelError_IpcMapFailed: root::_bindgen_ty_2 = 259;
274pub const KernelError_IpcCmdbufTooSmall: root::_bindgen_ty_2 = 260;
275pub const KernelError_NotDebugged: root::_bindgen_ty_2 = 520;
276#[doc = " Kernel error codes"]
277pub type _bindgen_ty_2 = u32;
278pub const LibnxError_BadReloc: root::_bindgen_ty_3 = 1;
279pub const LibnxError_OutOfMemory: root::_bindgen_ty_3 = 2;
280pub const LibnxError_AlreadyMapped: root::_bindgen_ty_3 = 3;
281pub const LibnxError_BadGetInfo_Stack: root::_bindgen_ty_3 = 4;
282pub const LibnxError_BadGetInfo_Heap: root::_bindgen_ty_3 = 5;
283pub const LibnxError_BadQueryMemory: root::_bindgen_ty_3 = 6;
284pub const LibnxError_AlreadyInitialized: root::_bindgen_ty_3 = 7;
285pub const LibnxError_NotInitialized: root::_bindgen_ty_3 = 8;
286pub const LibnxError_NotFound: root::_bindgen_ty_3 = 9;
287pub const LibnxError_IoError: root::_bindgen_ty_3 = 10;
288pub const LibnxError_BadInput: root::_bindgen_ty_3 = 11;
289pub const LibnxError_BadReent: root::_bindgen_ty_3 = 12;
290pub const LibnxError_BufferProducerError: root::_bindgen_ty_3 = 13;
291pub const LibnxError_HandleTooEarly: root::_bindgen_ty_3 = 14;
292pub const LibnxError_HeapAllocFailed: root::_bindgen_ty_3 = 15;
293pub const LibnxError_TooManyOverrides: root::_bindgen_ty_3 = 16;
294pub const LibnxError_ParcelError: root::_bindgen_ty_3 = 17;
295pub const LibnxError_BadGfxInit: root::_bindgen_ty_3 = 18;
296pub const LibnxError_BadGfxEventWait: root::_bindgen_ty_3 = 19;
297pub const LibnxError_BadGfxQueueBuffer: root::_bindgen_ty_3 = 20;
298pub const LibnxError_BadGfxDequeueBuffer: root::_bindgen_ty_3 = 21;
299pub const LibnxError_AppletCmdidNotFound: root::_bindgen_ty_3 = 22;
300pub const LibnxError_BadAppletReceiveMessage: root::_bindgen_ty_3 = 23;
301pub const LibnxError_BadAppletNotifyRunning: root::_bindgen_ty_3 = 24;
302pub const LibnxError_BadAppletGetCurrentFocusState: root::_bindgen_ty_3 = 25;
303pub const LibnxError_BadAppletGetOperationMode: root::_bindgen_ty_3 = 26;
304pub const LibnxError_BadAppletGetPerformanceMode: root::_bindgen_ty_3 = 27;
305pub const LibnxError_BadUsbCommsRead: root::_bindgen_ty_3 = 28;
306pub const LibnxError_BadUsbCommsWrite: root::_bindgen_ty_3 = 29;
307pub const LibnxError_InitFail_SM: root::_bindgen_ty_3 = 30;
308pub const LibnxError_InitFail_AM: root::_bindgen_ty_3 = 31;
309pub const LibnxError_InitFail_HID: root::_bindgen_ty_3 = 32;
310pub const LibnxError_InitFail_FS: root::_bindgen_ty_3 = 33;
311pub const LibnxError_BadGetInfo_Rng: root::_bindgen_ty_3 = 34;
312pub const LibnxError_JitUnavailable: root::_bindgen_ty_3 = 35;
313pub const LibnxError_WeirdKernel: root::_bindgen_ty_3 = 36;
314pub const LibnxError_IncompatSysVer: root::_bindgen_ty_3 = 37;
315pub const LibnxError_InitFail_Time: root::_bindgen_ty_3 = 38;
316pub const LibnxError_TooManyDevOpTabs: root::_bindgen_ty_3 = 39;
317pub const LibnxError_DomainMessageUnknownType: root::_bindgen_ty_3 = 40;
318pub const LibnxError_DomainMessageTooManyObjectIds: root::_bindgen_ty_3 = 41;
319pub const LibnxError_AppletFailedToInitialize: root::_bindgen_ty_3 = 42;
320pub const LibnxError_ApmFailedToInitialize: root::_bindgen_ty_3 = 43;
321pub const LibnxError_NvinfoFailedToInitialize: root::_bindgen_ty_3 = 44;
322pub const LibnxError_NvbufFailedToInitialize: root::_bindgen_ty_3 = 45;
323pub const LibnxError_LibAppletBadExit: root::_bindgen_ty_3 = 46;
324pub const LibnxError_InvalidCmifOutHeader: root::_bindgen_ty_3 = 47;
325pub const LibnxError_ShouldNotHappen: root::_bindgen_ty_3 = 48;
326#[doc = " libnx error codes"]
327pub type _bindgen_ty_3 = u32;
328pub const LibnxBinderError_Unknown: root::_bindgen_ty_4 = 1;
329pub const LibnxBinderError_NoMemory: root::_bindgen_ty_4 = 2;
330pub const LibnxBinderError_InvalidOperation: root::_bindgen_ty_4 = 3;
331pub const LibnxBinderError_BadValue: root::_bindgen_ty_4 = 4;
332pub const LibnxBinderError_BadType: root::_bindgen_ty_4 = 5;
333pub const LibnxBinderError_NameNotFound: root::_bindgen_ty_4 = 6;
334pub const LibnxBinderError_PermissionDenied: root::_bindgen_ty_4 = 7;
335pub const LibnxBinderError_NoInit: root::_bindgen_ty_4 = 8;
336pub const LibnxBinderError_AlreadyExists: root::_bindgen_ty_4 = 9;
337pub const LibnxBinderError_DeadObject: root::_bindgen_ty_4 = 10;
338pub const LibnxBinderError_FailedTransaction: root::_bindgen_ty_4 = 11;
339pub const LibnxBinderError_BadIndex: root::_bindgen_ty_4 = 12;
340pub const LibnxBinderError_NotEnoughData: root::_bindgen_ty_4 = 13;
341pub const LibnxBinderError_WouldBlock: root::_bindgen_ty_4 = 14;
342pub const LibnxBinderError_TimedOut: root::_bindgen_ty_4 = 15;
343pub const LibnxBinderError_UnknownTransaction: root::_bindgen_ty_4 = 16;
344pub const LibnxBinderError_FdsNotAllowed: root::_bindgen_ty_4 = 17;
345#[doc = " libnx binder error codes"]
346pub type _bindgen_ty_4 = u32;
347pub const LibnxNvidiaError_Unknown: root::_bindgen_ty_5 = 1;
348#[doc = "< Maps to Nvidia: 1"]
349pub const LibnxNvidiaError_NotImplemented: root::_bindgen_ty_5 = 2;
350#[doc = "< Maps to Nvidia: 2"]
351pub const LibnxNvidiaError_NotSupported: root::_bindgen_ty_5 = 3;
352#[doc = "< Maps to Nvidia: 3"]
353pub const LibnxNvidiaError_NotInitialized: root::_bindgen_ty_5 = 4;
354#[doc = "< Maps to Nvidia: 4"]
355pub const LibnxNvidiaError_BadParameter: root::_bindgen_ty_5 = 5;
356#[doc = "< Maps to Nvidia: 5"]
357pub const LibnxNvidiaError_Timeout: root::_bindgen_ty_5 = 6;
358#[doc = "< Maps to Nvidia: 6"]
359pub const LibnxNvidiaError_InsufficientMemory: root::_bindgen_ty_5 = 7;
360#[doc = "< Maps to Nvidia: 7"]
361pub const LibnxNvidiaError_ReadOnlyAttribute: root::_bindgen_ty_5 = 8;
362#[doc = "< Maps to Nvidia: 8"]
363pub const LibnxNvidiaError_InvalidState: root::_bindgen_ty_5 = 9;
364#[doc = "< Maps to Nvidia: 9"]
365pub const LibnxNvidiaError_InvalidAddress: root::_bindgen_ty_5 = 10;
366#[doc = "< Maps to Nvidia: 10"]
367pub const LibnxNvidiaError_InvalidSize: root::_bindgen_ty_5 = 11;
368#[doc = "< Maps to Nvidia: 11"]
369pub const LibnxNvidiaError_BadValue: root::_bindgen_ty_5 = 12;
370#[doc = "< Maps to Nvidia: 13"]
371pub const LibnxNvidiaError_AlreadyAllocated: root::_bindgen_ty_5 = 13;
372#[doc = "< Maps to Nvidia: 14"]
373pub const LibnxNvidiaError_Busy: root::_bindgen_ty_5 = 14;
374#[doc = "< Maps to Nvidia: 15"]
375pub const LibnxNvidiaError_ResourceError: root::_bindgen_ty_5 = 15;
376#[doc = "< Maps to Nvidia: 16"]
377pub const LibnxNvidiaError_CountMismatch: root::_bindgen_ty_5 = 16;
378#[doc = "< Maps to Nvidia: 0x1000"]
379pub const LibnxNvidiaError_SharedMemoryTooSmall: root::_bindgen_ty_5 = 17;
380#[doc = "< Maps to Nvidia: 0x30003"]
381pub const LibnxNvidiaError_FileOperationFailed: root::_bindgen_ty_5 = 18;
382#[doc = "< Maps to Nvidia: 0x3000F"]
383pub const LibnxNvidiaError_IoctlFailed: root::_bindgen_ty_5 = 19;
384#[doc = " libnx nvidia error codes"]
385pub type _bindgen_ty_5 = u32;
386
387#[repr(C)]
388pub struct nnosMutexType {
389    pub curState: u8,
390    pub isRecursiveMutex: bool,
391    pub lockLevel: root::s32,
392    pub _6: [u8; 18usize],
393}
394
395pub type Elf32_Half = u16;
396pub type Elf64_Half = u16;
397pub type Elf32_Word = u32;
398pub type Elf32_Sword = i32;
399pub type Elf64_Word = u32;
400pub type Elf64_Sword = i32;
401pub type Elf32_Xword = u64;
402pub type Elf32_Sxword = i64;
403pub type Elf64_Xword = u64;
404pub type Elf64_Sxword = i64;
405pub type Elf32_Addr = u32;
406pub type Elf64_Addr = u64;
407pub type Elf32_Off = u32;
408pub type Elf64_Off = u64;
409pub type Elf32_Section = u16;
410pub type Elf64_Section = u16;
411pub type Elf32_Versym = root::Elf32_Half;
412pub type Elf64_Versym = root::Elf64_Half;
413#[repr(C)]
414#[derive(Debug, Copy, Clone)]
415pub struct Elf32_Ehdr {
416    pub e_ident: [u8; 16usize],
417    pub e_type: root::Elf32_Half,
418    pub e_machine: root::Elf32_Half,
419    pub e_version: root::Elf32_Word,
420    pub e_entry: root::Elf32_Addr,
421    pub e_phoff: root::Elf32_Off,
422    pub e_shoff: root::Elf32_Off,
423    pub e_flags: root::Elf32_Word,
424    pub e_ehsize: root::Elf32_Half,
425    pub e_phentsize: root::Elf32_Half,
426    pub e_phnum: root::Elf32_Half,
427    pub e_shentsize: root::Elf32_Half,
428    pub e_shnum: root::Elf32_Half,
429    pub e_shstrndx: root::Elf32_Half,
430}
431#[repr(C)]
432#[derive(Debug, Copy, Clone)]
433pub struct Elf64_Ehdr {
434    pub e_ident: [u8; 16usize],
435    pub e_type: root::Elf64_Half,
436    pub e_machine: root::Elf64_Half,
437    pub e_version: root::Elf64_Word,
438    pub e_entry: root::Elf64_Addr,
439    pub e_phoff: root::Elf64_Off,
440    pub e_shoff: root::Elf64_Off,
441    pub e_flags: root::Elf64_Word,
442    pub e_ehsize: root::Elf64_Half,
443    pub e_phentsize: root::Elf64_Half,
444    pub e_phnum: root::Elf64_Half,
445    pub e_shentsize: root::Elf64_Half,
446    pub e_shnum: root::Elf64_Half,
447    pub e_shstrndx: root::Elf64_Half,
448}
449
450#[repr(C)]
451#[derive(Debug, Copy, Clone)]
452pub struct Elf32_Shdr {
453    pub sh_name: root::Elf32_Word,
454    pub sh_type: root::Elf32_Word,
455    pub sh_flags: root::Elf32_Word,
456    pub sh_addr: root::Elf32_Addr,
457    pub sh_offset: root::Elf32_Off,
458    pub sh_size: root::Elf32_Word,
459    pub sh_link: root::Elf32_Word,
460    pub sh_info: root::Elf32_Word,
461    pub sh_addralign: root::Elf32_Word,
462    pub sh_entsize: root::Elf32_Word,
463}
464
465#[repr(C)]
466#[derive(Debug, Copy, Clone)]
467pub struct Elf64_Shdr {
468    pub sh_name: root::Elf64_Word,
469    pub sh_type: root::Elf64_Word,
470    pub sh_flags: root::Elf64_Xword,
471    pub sh_addr: root::Elf64_Addr,
472    pub sh_offset: root::Elf64_Off,
473    pub sh_size: root::Elf64_Xword,
474    pub sh_link: root::Elf64_Word,
475    pub sh_info: root::Elf64_Word,
476    pub sh_addralign: root::Elf64_Xword,
477    pub sh_entsize: root::Elf64_Xword,
478}
479
480#[repr(C)]
481#[derive(Debug, Copy, Clone)]
482pub struct Elf32_Chdr {
483    pub ch_type: root::Elf32_Word,
484    pub ch_size: root::Elf32_Word,
485    pub ch_addralign: root::Elf32_Word,
486}
487#[repr(C)]
488#[derive(Debug, Copy, Clone)]
489pub struct Elf64_Chdr {
490    pub ch_type: root::Elf64_Word,
491    pub ch_reserved: root::Elf64_Word,
492    pub ch_size: root::Elf64_Xword,
493    pub ch_addralign: root::Elf64_Xword,
494}
495#[repr(C)]
496#[derive(Debug, Copy, Clone)]
497pub struct Elf32_Sym {
498    pub st_name: root::Elf32_Word,
499    pub st_value: root::Elf32_Addr,
500    pub st_size: root::Elf32_Word,
501    pub st_info: u8,
502    pub st_other: u8,
503    pub st_shndx: root::Elf32_Section,
504}
505#[repr(C)]
506#[derive(Debug, Copy, Clone)]
507pub struct Elf64_Sym {
508    pub st_name: root::Elf64_Word,
509    pub st_info: u8,
510    pub st_other: u8,
511    pub st_shndx: root::Elf64_Section,
512    pub st_value: root::Elf64_Addr,
513    pub st_size: root::Elf64_Xword,
514}
515
516#[repr(C)]
517#[derive(Debug, Copy, Clone)]
518pub struct Elf32_Syminfo {
519    pub si_boundto: root::Elf32_Half,
520    pub si_flags: root::Elf32_Half,
521}
522
523#[repr(C)]
524#[derive(Debug, Copy, Clone)]
525pub struct Elf64_Syminfo {
526    pub si_boundto: root::Elf64_Half,
527    pub si_flags: root::Elf64_Half,
528}
529
530#[repr(C)]
531#[derive(Debug, Copy, Clone)]
532pub struct Elf32_Rel {
533    pub r_offset: root::Elf32_Addr,
534    pub r_info: root::Elf32_Word,
535}
536#[repr(C)]
537#[derive(Debug, Copy, Clone)]
538pub struct Elf64_Rel {
539    pub r_offset: root::Elf64_Addr,
540    pub r_info: root::Elf64_Xword,
541}
542
543#[repr(C)]
544#[derive(Debug, Copy, Clone)]
545pub struct Elf32_Rela {
546    pub r_offset: root::Elf32_Addr,
547    pub r_info: root::Elf32_Word,
548    pub r_addend: root::Elf32_Sword,
549}
550
551#[repr(C)]
552#[derive(Debug, Copy, Clone)]
553pub struct Elf64_Rela {
554    pub r_offset: root::Elf64_Addr,
555    pub r_info: root::Elf64_Xword,
556    pub r_addend: root::Elf64_Sxword,
557}
558#[repr(C)]
559#[derive(Debug, Copy, Clone)]
560pub struct Elf32_Phdr {
561    pub p_type: root::Elf32_Word,
562    pub p_offset: root::Elf32_Off,
563    pub p_vaddr: root::Elf32_Addr,
564    pub p_paddr: root::Elf32_Addr,
565    pub p_filesz: root::Elf32_Word,
566    pub p_memsz: root::Elf32_Word,
567    pub p_flags: root::Elf32_Word,
568    pub p_align: root::Elf32_Word,
569}
570
571pub struct Elf64_Phdr {
572    pub p_type: root::Elf64_Word,
573    pub p_flags: root::Elf64_Word,
574    pub p_offset: root::Elf64_Off,
575    pub p_vaddr: root::Elf64_Addr,
576    pub p_paddr: root::Elf64_Addr,
577    pub p_filesz: root::Elf64_Xword,
578    pub p_memsz: root::Elf64_Xword,
579    pub p_align: root::Elf64_Xword,
580}
581
582#[repr(C)]
583#[derive(Copy, Clone)]
584pub struct Elf32_Dyn {
585    pub d_tag: root::Elf32_Sword,
586    pub d_un: root::Elf32_Dyn__bindgen_ty_1,
587}
588#[repr(C)]
589#[derive(Copy, Clone)]
590pub union Elf32_Dyn__bindgen_ty_1 {
591    pub d_val: root::Elf32_Word,
592    pub d_ptr: root::Elf32_Addr,
593    _bindgen_union_align: u32,
594}
595
596#[repr(C)]
597#[derive(Copy, Clone)]
598pub struct Elf64_Dyn {
599    pub d_tag: root::Elf64_Sxword,
600    pub d_un: root::Elf64_Dyn__bindgen_ty_1,
601}
602#[repr(C)]
603#[derive(Copy, Clone)]
604pub union Elf64_Dyn__bindgen_ty_1 {
605    pub d_val: root::Elf64_Xword,
606    pub d_ptr: root::Elf64_Addr,
607    _bindgen_union_align: u64,
608}
609
610#[repr(C)]
611#[derive(Debug, Copy, Clone)]
612pub struct Elf32_Verdef {
613    pub vd_version: root::Elf32_Half,
614    pub vd_flags: root::Elf32_Half,
615    pub vd_ndx: root::Elf32_Half,
616    pub vd_cnt: root::Elf32_Half,
617    pub vd_hash: root::Elf32_Word,
618    pub vd_aux: root::Elf32_Word,
619    pub vd_next: root::Elf32_Word,
620}
621
622#[repr(C)]
623#[derive(Debug, Copy, Clone)]
624pub struct Elf64_Verdef {
625    pub vd_version: root::Elf64_Half,
626    pub vd_flags: root::Elf64_Half,
627    pub vd_ndx: root::Elf64_Half,
628    pub vd_cnt: root::Elf64_Half,
629    pub vd_hash: root::Elf64_Word,
630    pub vd_aux: root::Elf64_Word,
631    pub vd_next: root::Elf64_Word,
632}
633#[repr(C)]
634#[derive(Debug, Copy, Clone)]
635pub struct Elf32_Verdaux {
636    pub vda_name: root::Elf32_Word,
637    pub vda_next: root::Elf32_Word,
638}
639
640#[repr(C)]
641#[derive(Debug, Copy, Clone)]
642pub struct Elf64_Verdaux {
643    pub vda_name: root::Elf64_Word,
644    pub vda_next: root::Elf64_Word,
645}
646
647#[repr(C)]
648#[derive(Debug, Copy, Clone)]
649pub struct Elf32_Verneed {
650    pub vn_version: root::Elf32_Half,
651    pub vn_cnt: root::Elf32_Half,
652    pub vn_file: root::Elf32_Word,
653    pub vn_aux: root::Elf32_Word,
654    pub vn_next: root::Elf32_Word,
655}
656#[repr(C)]
657#[derive(Debug, Copy, Clone)]
658pub struct Elf64_Verneed {
659    pub vn_version: root::Elf64_Half,
660    pub vn_cnt: root::Elf64_Half,
661    pub vn_file: root::Elf64_Word,
662    pub vn_aux: root::Elf64_Word,
663    pub vn_next: root::Elf64_Word,
664}
665#[repr(C)]
666#[derive(Debug, Copy, Clone)]
667pub struct Elf32_Vernaux {
668    pub vna_hash: root::Elf32_Word,
669    pub vna_flags: root::Elf32_Half,
670    pub vna_other: root::Elf32_Half,
671    pub vna_name: root::Elf32_Word,
672    pub vna_next: root::Elf32_Word,
673}
674#[repr(C)]
675#[derive(Debug, Copy, Clone)]
676pub struct Elf64_Vernaux {
677    pub vna_hash: root::Elf64_Word,
678    pub vna_flags: root::Elf64_Half,
679    pub vna_other: root::Elf64_Half,
680    pub vna_name: root::Elf64_Word,
681    pub vna_next: root::Elf64_Word,
682}
683#[repr(C)]
684#[derive(Copy, Clone)]
685pub struct Elf32_auxv_t {
686    pub a_type: u32,
687    pub a_un: root::Elf32_auxv_t__bindgen_ty_1,
688}
689#[repr(C)]
690#[derive(Copy, Clone)]
691pub union Elf32_auxv_t__bindgen_ty_1 {
692    pub a_val: u32,
693    _bindgen_union_align: u32,
694}
695
696#[repr(C)]
697#[derive(Copy, Clone)]
698pub struct Elf64_auxv_t {
699    pub a_type: u64,
700    pub a_un: root::Elf64_auxv_t__bindgen_ty_1,
701}
702#[repr(C)]
703#[derive(Copy, Clone)]
704pub union Elf64_auxv_t__bindgen_ty_1 {
705    pub a_val: u64,
706    _bindgen_union_align: u64,
707}
708
709#[repr(C)]
710#[derive(Debug, Copy, Clone)]
711pub struct Elf32_Nhdr {
712    pub n_namesz: root::Elf32_Word,
713    pub n_descsz: root::Elf32_Word,
714    pub n_type: root::Elf32_Word,
715}
716#[repr(C)]
717#[derive(Debug, Copy, Clone)]
718pub struct Elf64_Nhdr {
719    pub n_namesz: root::Elf64_Word,
720    pub n_descsz: root::Elf64_Word,
721    pub n_type: root::Elf64_Word,
722}
723
724#[repr(C)]
725#[derive(Debug, Copy, Clone)]
726pub struct Elf32_Move {
727    pub m_value: root::Elf32_Xword,
728    pub m_info: root::Elf32_Word,
729    pub m_poffset: root::Elf32_Word,
730    pub m_repeat: root::Elf32_Half,
731    pub m_stride: root::Elf32_Half,
732}
733#[repr(C)]
734#[derive(Debug, Copy, Clone)]
735pub struct Elf64_Move {
736    pub m_value: root::Elf64_Xword,
737    pub m_info: root::Elf64_Xword,
738    pub m_poffset: root::Elf64_Xword,
739    pub m_repeat: root::Elf64_Half,
740    pub m_stride: root::Elf64_Half,
741}
742#[repr(C)]
743#[derive(Copy, Clone)]
744pub union Elf32_gptab {
745    pub gt_header: root::Elf32_gptab__bindgen_ty_1,
746    pub gt_entry: root::Elf32_gptab__bindgen_ty_2,
747    _bindgen_union_align: [u32; 2usize],
748}
749#[repr(C)]
750#[derive(Debug, Copy, Clone)]
751pub struct Elf32_gptab__bindgen_ty_1 {
752    pub gt_current_g_value: root::Elf32_Word,
753    pub gt_unused: root::Elf32_Word,
754}
755#[repr(C)]
756#[derive(Debug, Copy, Clone)]
757pub struct Elf32_gptab__bindgen_ty_2 {
758    pub gt_g_value: root::Elf32_Word,
759    pub gt_bytes: root::Elf32_Word,
760}
761#[repr(C)]
762#[derive(Debug, Copy, Clone)]
763pub struct Elf32_RegInfo {
764    pub ri_gprmask: root::Elf32_Word,
765    pub ri_cprmask: [root::Elf32_Word; 4usize],
766    pub ri_gp_value: root::Elf32_Sword,
767}
768#[repr(C)]
769#[derive(Debug, Copy, Clone)]
770pub struct Elf_Options {
771    pub kind: u8,
772    pub size: u8,
773    pub section: root::Elf32_Section,
774    pub info: root::Elf32_Word,
775}
776#[repr(C)]
777#[derive(Debug, Copy, Clone)]
778pub struct Elf_Options_Hw {
779    pub hwp_flags1: root::Elf32_Word,
780    pub hwp_flags2: root::Elf32_Word,
781}
782#[repr(C)]
783#[derive(Debug, Copy, Clone)]
784pub struct Elf32_Lib {
785    pub l_name: root::Elf32_Word,
786    pub l_time_stamp: root::Elf32_Word,
787    pub l_checksum: root::Elf32_Word,
788    pub l_version: root::Elf32_Word,
789    pub l_flags: root::Elf32_Word,
790}
791#[repr(C)]
792#[derive(Debug, Copy, Clone)]
793pub struct Elf64_Lib {
794    pub l_name: root::Elf64_Word,
795    pub l_time_stamp: root::Elf64_Word,
796    pub l_checksum: root::Elf64_Word,
797    pub l_version: root::Elf64_Word,
798    pub l_flags: root::Elf64_Word,
799}
800pub type Elf32_Conflict = root::Elf32_Addr;
801#[repr(C)]
802#[derive(Debug, Copy, Clone)]
803pub struct Elf_MIPS_ABIFlags_v0 {
804    pub version: root::Elf32_Half,
805    pub isa_level: u8,
806    pub isa_rev: u8,
807    pub gpr_size: u8,
808    pub cpr1_size: u8,
809    pub cpr2_size: u8,
810    pub fp_abi: u8,
811    pub isa_ext: root::Elf32_Word,
812    pub ases: root::Elf32_Word,
813    pub flags1: root::Elf32_Word,
814    pub flags2: root::Elf32_Word,
815}
816pub const Val_GNU_MIPS_ABI_FP_ANY: root::_bindgen_ty_6 = 0;
817pub const Val_GNU_MIPS_ABI_FP_DOUBLE: root::_bindgen_ty_6 = 1;
818pub const Val_GNU_MIPS_ABI_FP_SINGLE: root::_bindgen_ty_6 = 2;
819pub const Val_GNU_MIPS_ABI_FP_SOFT: root::_bindgen_ty_6 = 3;
820pub const Val_GNU_MIPS_ABI_FP_OLD_64: root::_bindgen_ty_6 = 4;
821pub const Val_GNU_MIPS_ABI_FP_XX: root::_bindgen_ty_6 = 5;
822pub const Val_GNU_MIPS_ABI_FP_64: root::_bindgen_ty_6 = 6;
823pub const Val_GNU_MIPS_ABI_FP_64A: root::_bindgen_ty_6 = 7;
824pub const Val_GNU_MIPS_ABI_FP_MAX: root::_bindgen_ty_6 = 7;
825pub type _bindgen_ty_6 = u32;
826
827#[repr(C)]
828#[derive(Debug, Copy, Clone)]
829pub struct iovec {
830    pub iov_base: *mut u8,
831    pub iov_len: root::size_t,
832}
833pub type u_char = root::__u_char;
834pub type u_short = root::__u_short;
835pub type u_int = root::__u_int;
836pub type u_long = root::__u_long;
837pub type quad_t = root::__quad_t;
838pub type u_quad_t = root::__u_quad_t;
839pub type fsid_t = root::__fsid_t;
840pub type loff_t = root::__loff_t;
841pub type ino_t = root::__ino_t;
842pub type ino64_t = root::__ino64_t;
843pub type dev_t = root::__dev_t;
844pub type gid_t = root::__gid_t;
845pub type mode_t = root::__mode_t;
846pub type nlink_t = root::__nlink_t;
847pub type uid_t = root::__uid_t;
848pub type off_t = root::__off_t;
849pub type off64_t = root::__off64_t;
850pub type pid_t = root::__pid_t;
851pub type id_t = root::__id_t;
852pub type ssize_t = root::__ssize_t;
853pub type daddr_t = root::__daddr_t;
854pub type caddr_t = root::__caddr_t;
855pub type key_t = root::__key_t;
856pub type clock_t = root::__clock_t;
857pub type clockid_t = root::__clockid_t;
858pub type time_t = root::__time_t;
859pub type timer_t = root::__timer_t;
860pub type useconds_t = root::__useconds_t;
861pub type suseconds_t = root::__suseconds_t;
862pub type ushort = u16;
863pub type u_int8_t = root::__uint8_t;
864pub type u_int16_t = root::__uint16_t;
865pub type u_int32_t = root::__uint32_t;
866pub type u_int64_t = root::__uint64_t;
867pub type register_t = i64;
868#[repr(C)]
869#[derive(Debug, Copy, Clone)]
870pub struct __sigset_t {
871    pub __val: [u64; 16usize],
872}
873pub type sigset_t = root::__sigset_t;
874#[repr(C)]
875#[derive(Debug, Copy, Clone)]
876pub struct timeval {
877    pub tv_sec: root::__time_t,
878    pub tv_usec: root::__suseconds_t,
879}
880#[repr(C)]
881#[derive(Debug, Copy, Clone)]
882pub struct timespec {
883    pub tv_sec: root::__time_t,
884    pub tv_nsec: root::__syscall_slong_t,
885}
886pub type __fd_mask = i64;
887#[repr(C)]
888#[derive(Debug, Copy, Clone)]
889pub struct fd_set {
890    pub fds_bits: [root::__fd_mask; 16usize],
891}
892pub type fd_mask = root::__fd_mask;
893pub type blksize_t = root::__blksize_t;
894pub type blkcnt_t = root::__blkcnt_t;
895pub type fsblkcnt_t = root::__fsblkcnt_t;
896pub type fsfilcnt_t = root::__fsfilcnt_t;
897pub type blkcnt64_t = root::__blkcnt64_t;
898pub type fsblkcnt64_t = root::__fsblkcnt64_t;
899pub type fsfilcnt64_t = root::__fsfilcnt64_t;
900#[repr(C)]
901#[derive(Debug, Copy, Clone)]
902pub struct __pthread_rwlock_arch_t {
903    pub __readers: u32,
904    pub __writers: u32,
905    pub __wrphase_futex: u32,
906    pub __writers_futex: u32,
907    pub __pad3: u32,
908    pub __pad4: u32,
909    pub __cur_writer: i32,
910    pub __shared: i32,
911    pub __rwelision: i8,
912    pub __pad1: [u8; 7usize],
913    pub __pad2: u64,
914    pub __flags: u32,
915}
916#[repr(C)]
917#[derive(Debug, Copy, Clone)]
918pub struct __pthread_internal_list {
919    pub __prev: *mut root::__pthread_internal_list,
920    pub __next: *mut root::__pthread_internal_list,
921}
922pub type __pthread_list_t = root::__pthread_internal_list;
923#[repr(C)]
924#[derive(Debug, Copy, Clone)]
925pub struct __pthread_mutex_s {
926    pub __lock: i32,
927    pub __count: u32,
928    pub __owner: i32,
929    pub __nusers: u32,
930    pub __kind: i32,
931    pub __spins: i16,
932    pub __elision: i16,
933    pub __list: root::__pthread_list_t,
934}
935#[repr(C)]
936#[derive(Copy, Clone)]
937pub struct __pthread_cond_s {
938    pub __bindgen_anon_1: root::__pthread_cond_s__bindgen_ty_1,
939    pub __bindgen_anon_2: root::__pthread_cond_s__bindgen_ty_2,
940    pub __g_refs: [u32; 2usize],
941    pub __g_size: [u32; 2usize],
942    pub __g1_orig_size: u32,
943    pub __wrefs: u32,
944    pub __g_signals: [u32; 2usize],
945}
946#[repr(C)]
947#[derive(Copy, Clone)]
948pub union __pthread_cond_s__bindgen_ty_1 {
949    pub __wseq: u64,
950    pub __wseq32: root::__pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
951    _bindgen_union_align: u64,
952}
953#[repr(C)]
954#[derive(Debug, Copy, Clone)]
955pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
956    pub __low: u32,
957    pub __high: u32,
958}
959#[repr(C)]
960#[derive(Copy, Clone)]
961pub union __pthread_cond_s__bindgen_ty_2 {
962    pub __g1_start: u64,
963    pub __g1_start32: root::__pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
964    _bindgen_union_align: u64,
965}
966#[repr(C)]
967#[derive(Debug, Copy, Clone)]
968pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
969    pub __low: u32,
970    pub __high: u32,
971}
972pub type pthread_t = u64;
973#[repr(C)]
974#[derive(Copy, Clone)]
975pub union pthread_mutexattr_t {
976    pub __size: [u8; 4usize],
977    pub __align: i32,
978    _bindgen_union_align: u32,
979}
980#[repr(C)]
981#[derive(Copy, Clone)]
982pub union pthread_condattr_t {
983    pub __size: [u8; 4usize],
984    pub __align: i32,
985    _bindgen_union_align: u32,
986}
987pub type pthread_key_t = u32;
988pub type pthread_once_t = i32;
989#[repr(C)]
990#[derive(Copy, Clone)]
991pub union pthread_attr_t {
992    pub __size: [u8; 56usize],
993    pub __align: i64,
994    _bindgen_union_align: [u64; 7usize],
995}
996#[repr(C)]
997#[derive(Copy, Clone)]
998pub union pthread_mutex_t {
999    pub __data: root::__pthread_mutex_s,
1000    pub __size: [u8; 40usize],
1001    pub __align: i64,
1002    _bindgen_union_align: [u64; 5usize],
1003}
1004#[repr(C)]
1005#[derive(Copy, Clone)]
1006pub union pthread_cond_t {
1007    pub __data: root::__pthread_cond_s,
1008    pub __size: [u8; 48usize],
1009    pub __align: i64,
1010    _bindgen_union_align: [u64; 6usize],
1011}
1012#[repr(C)]
1013#[derive(Copy, Clone)]
1014pub union pthread_rwlock_t {
1015    pub __data: root::__pthread_rwlock_arch_t,
1016    pub __size: [u8; 56usize],
1017    pub __align: i64,
1018    _bindgen_union_align: [u64; 7usize],
1019}
1020
1021#[repr(C)]
1022#[derive(Copy, Clone)]
1023pub union pthread_rwlockattr_t {
1024    pub __size: [u8; 8usize],
1025    pub __align: i64,
1026    _bindgen_union_align: u64,
1027}
1028pub type pthread_spinlock_t = i32;
1029#[repr(C)]
1030#[derive(Copy, Clone)]
1031pub union pthread_barrier_t {
1032    pub __size: [u8; 32usize],
1033    pub __align: i64,
1034    _bindgen_union_align: [u64; 4usize],
1035}
1036#[repr(C)]
1037#[derive(Copy, Clone)]
1038pub union pthread_barrierattr_t {
1039    pub __size: [u8; 4usize],
1040    pub __align: i32,
1041    _bindgen_union_align: u32,
1042}
1043pub type socklen_t = root::__socklen_t;
1044pub const __socket_type_SOCK_STREAM: root::__socket_type = 1;
1045pub const __socket_type_SOCK_DGRAM: root::__socket_type = 2;
1046pub const __socket_type_SOCK_RAW: root::__socket_type = 3;
1047pub const __socket_type_SOCK_RDM: root::__socket_type = 4;
1048pub const __socket_type_SOCK_SEQPACKET: root::__socket_type = 5;
1049pub const __socket_type_SOCK_DCCP: root::__socket_type = 6;
1050pub const __socket_type_SOCK_PACKET: root::__socket_type = 10;
1051pub const __socket_type_SOCK_CLOEXEC: root::__socket_type = 524288;
1052pub const __socket_type_SOCK_NONBLOCK: root::__socket_type = 2048;
1053pub type __socket_type = u32;
1054pub type sa_family_t = u16;
1055#[repr(C)]
1056#[derive(Debug, Copy, Clone)]
1057pub struct sockaddr {
1058    pub sa_family: root::sa_family_t,
1059    pub sa_data: [u8; 14usize],
1060}
1061#[repr(C)]
1062#[derive(Copy, Clone)]
1063pub struct sockaddr_storage {
1064    pub ss_family: root::sa_family_t,
1065    pub __ss_padding: [u8; 118usize],
1066    pub __ss_align: u64,
1067}
1068pub const MSG_OOB: root::_bindgen_ty_7 = 1;
1069pub const MSG_PEEK: root::_bindgen_ty_7 = 2;
1070pub const MSG_DONTROUTE: root::_bindgen_ty_7 = 4;
1071pub const MSG_TRYHARD: root::_bindgen_ty_7 = 4;
1072pub const MSG_CTRUNC: root::_bindgen_ty_7 = 8;
1073pub const MSG_PROXY: root::_bindgen_ty_7 = 16;
1074pub const MSG_TRUNC: root::_bindgen_ty_7 = 32;
1075pub const MSG_DONTWAIT: root::_bindgen_ty_7 = 64;
1076pub const MSG_EOR: root::_bindgen_ty_7 = 128;
1077pub const MSG_WAITALL: root::_bindgen_ty_7 = 256;
1078pub const MSG_FIN: root::_bindgen_ty_7 = 512;
1079pub const MSG_SYN: root::_bindgen_ty_7 = 1024;
1080pub const MSG_CONFIRM: root::_bindgen_ty_7 = 2048;
1081pub const MSG_RST: root::_bindgen_ty_7 = 4096;
1082pub const MSG_ERRQUEUE: root::_bindgen_ty_7 = 8192;
1083pub const MSG_NOSIGNAL: root::_bindgen_ty_7 = 16384;
1084pub const MSG_MORE: root::_bindgen_ty_7 = 32768;
1085pub const MSG_WAITFORONE: root::_bindgen_ty_7 = 65536;
1086pub const MSG_BATCH: root::_bindgen_ty_7 = 262144;
1087pub const MSG_ZEROCOPY: root::_bindgen_ty_7 = 67108864;
1088pub const MSG_FASTOPEN: root::_bindgen_ty_7 = 536870912;
1089pub const MSG_CMSG_CLOEXEC: root::_bindgen_ty_7 = 1073741824;
1090pub type _bindgen_ty_7 = u32;
1091#[repr(C)]
1092#[derive(Debug, Copy, Clone)]
1093pub struct msghdr {
1094    pub msg_name: *mut u8,
1095    pub msg_namelen: root::socklen_t,
1096    pub msg_iov: *mut root::iovec,
1097    pub msg_iovlen: root::size_t,
1098    pub msg_control: *mut u8,
1099    pub msg_controllen: root::size_t,
1100    pub msg_flags: i32,
1101}
1102#[repr(C)]
1103#[derive(Debug)]
1104pub struct cmsghdr {
1105    pub cmsg_len: root::size_t,
1106    pub cmsg_level: i32,
1107    pub cmsg_type: i32,
1108    pub __cmsg_data: root::__IncompleteArrayField<u8>,
1109}
1110pub const SCM_RIGHTS: root::_bindgen_ty_8 = 1;
1111pub const SCM_CREDENTIALS: root::_bindgen_ty_8 = 2;
1112pub type _bindgen_ty_8 = u32;
1113#[repr(C)]
1114#[derive(Debug, Copy, Clone)]
1115pub struct ucred {
1116    pub pid: root::pid_t,
1117    pub uid: root::uid_t,
1118    pub gid: root::gid_t,
1119}
1120#[repr(C)]
1121#[derive(Debug, Copy, Clone)]
1122pub struct __kernel_fd_set {
1123    pub fds_bits: [u64; 16usize],
1124}
1125pub type __kernel_sighandler_t =
1126    ::core::option::Option<unsafe extern "C" fn(arg1: i32)>;
1127pub type __kernel_key_t = i32;
1128pub type __kernel_mqd_t = i32;
1129pub type __kernel_old_uid_t = u16;
1130pub type __kernel_old_gid_t = u16;
1131pub type __kernel_old_dev_t = u64;
1132pub type __kernel_long_t = i64;
1133pub type __kernel_ulong_t = u64;
1134pub type __kernel_ino_t = root::__kernel_ulong_t;
1135pub type __kernel_mode_t = u32;
1136pub type __kernel_pid_t = i32;
1137pub type __kernel_ipc_pid_t = i32;
1138pub type __kernel_uid_t = u32;
1139pub type __kernel_gid_t = u32;
1140pub type __kernel_suseconds_t = root::__kernel_long_t;
1141pub type __kernel_daddr_t = i32;
1142pub type __kernel_uid32_t = u32;
1143pub type __kernel_gid32_t = u32;
1144pub type __kernel_size_t = root::__kernel_ulong_t;
1145pub type __kernel_ssize_t = root::__kernel_long_t;
1146pub type __kernel_ptrdiff_t = root::__kernel_long_t;
1147#[repr(C)]
1148#[derive(Debug, Copy, Clone)]
1149pub struct __kernel_fsid_t {
1150    pub val: [i32; 2usize],
1151}
1152pub type __kernel_off_t = root::__kernel_long_t;
1153pub type __kernel_loff_t = i64;
1154pub type __kernel_time_t = root::__kernel_long_t;
1155pub type __kernel_time64_t = i64;
1156pub type __kernel_clock_t = root::__kernel_long_t;
1157pub type __kernel_timer_t = i32;
1158pub type __kernel_clockid_t = i32;
1159pub type __kernel_caddr_t = *mut u8;
1160pub type __kernel_uid16_t = u16;
1161pub type __kernel_gid16_t = u16;
1162#[repr(C)]
1163#[derive(Debug, Copy, Clone)]
1164pub struct linger {
1165    pub l_onoff: i32,
1166    pub l_linger: i32,
1167}
1168#[repr(C)]
1169#[derive(Debug, Copy, Clone)]
1170pub struct osockaddr {
1171    pub sa_family: u16,
1172    pub sa_data: [u8; 14usize],
1173}
1174pub const SHUT_RD: root::_bindgen_ty_9 = 0;
1175pub const SHUT_WR: root::_bindgen_ty_9 = 1;
1176pub const SHUT_RDWR: root::_bindgen_ty_9 = 2;
1177pub type _bindgen_ty_9 = u32;
1178#[repr(C)]
1179#[derive(Debug, Copy, Clone)]
1180pub struct mmsghdr {
1181    pub msg_hdr: root::msghdr,
1182    pub msg_len: u32,
1183}
1184pub type __int128_t = i128;
1185pub type __uint128_t = u128;