arceos_posix_api/
ctypes_gen.rs

1/* automatically generated by rust-bindgen 0.71.1 */
2
3pub const O_CREAT: u32 = 64;
4pub const O_EXCL: u32 = 128;
5pub const O_NOCTTY: u32 = 256;
6pub const O_TRUNC: u32 = 512;
7pub const O_APPEND: u32 = 1024;
8pub const O_NONBLOCK: u32 = 2048;
9pub const O_DSYNC: u32 = 4096;
10pub const O_SYNC: u32 = 1052672;
11pub const O_RSYNC: u32 = 1052672;
12pub const O_DIRECTORY: u32 = 65536;
13pub const O_NOFOLLOW: u32 = 131072;
14pub const O_CLOEXEC: u32 = 524288;
15pub const O_ASYNC: u32 = 8192;
16pub const O_DIRECT: u32 = 16384;
17pub const O_LARGEFILE: u32 = 32768;
18pub const O_NOATIME: u32 = 262144;
19pub const O_PATH: u32 = 2097152;
20pub const O_TMPFILE: u32 = 4259840;
21pub const O_NDELAY: u32 = 2048;
22pub const O_SEARCH: u32 = 2097152;
23pub const O_EXEC: u32 = 2097152;
24pub const O_TTY_INIT: u32 = 0;
25pub const O_ACCMODE: u32 = 2097155;
26pub const O_RDONLY: u32 = 0;
27pub const O_WRONLY: u32 = 1;
28pub const O_RDWR: u32 = 2;
29pub const F_DUPFD: u32 = 0;
30pub const F_GETFD: u32 = 1;
31pub const F_SETFD: u32 = 2;
32pub const F_GETFL: u32 = 3;
33pub const F_SETFL: u32 = 4;
34pub const F_SETOWN: u32 = 8;
35pub const F_GETOWN: u32 = 9;
36pub const F_SETSIG: u32 = 10;
37pub const F_GETSIG: u32 = 11;
38pub const F_GETLK: u32 = 5;
39pub const F_SETLK: u32 = 6;
40pub const F_SETLKW: u32 = 7;
41pub const FD_CLOEXEC: u32 = 1;
42pub const F_DUPFD_CLOEXEC: u32 = 1030;
43pub const F_RDLCK: u32 = 0;
44pub const F_WRLCK: u32 = 1;
45pub const F_UNLCK: u32 = 2;
46pub const F_OK: u32 = 0;
47pub const F_ULOCK: u32 = 0;
48pub const F_LOCK: u32 = 1;
49pub const F_TLOCK: u32 = 2;
50pub const F_TEST: u32 = 3;
51pub const SOCK_STREAM: u32 = 1;
52pub const SOCK_DGRAM: u32 = 2;
53pub const SOCK_RAW: u32 = 3;
54pub const SOCK_RDM: u32 = 4;
55pub const SOCK_SEQPACKET: u32 = 5;
56pub const SOCK_DCCP: u32 = 6;
57pub const SOCK_PACKET: u32 = 10;
58pub const SOCK_CLOEXEC: u32 = 524288;
59pub const SOCK_NONBLOCK: u32 = 2048;
60pub const AF_UNSPEC: u32 = 0;
61pub const AF_LOCAL: u32 = 1;
62pub const AF_UNIX: u32 = 1;
63pub const AF_FILE: u32 = 1;
64pub const AF_INET: u32 = 2;
65pub const AF_AX25: u32 = 3;
66pub const AF_IPX: u32 = 4;
67pub const AF_APPLETALK: u32 = 5;
68pub const AF_NETROM: u32 = 6;
69pub const AF_BRIDGE: u32 = 7;
70pub const AF_ATMPVC: u32 = 8;
71pub const AF_X25: u32 = 9;
72pub const AF_INET6: u32 = 10;
73pub const AF_ROSE: u32 = 11;
74pub const AF_DECnet: u32 = 12;
75pub const AF_NETBEUI: u32 = 13;
76pub const AF_SECURITY: u32 = 14;
77pub const AF_KEY: u32 = 15;
78pub const AF_NETLINK: u32 = 16;
79pub const AF_ROUTE: u32 = 16;
80pub const AF_PACKET: u32 = 17;
81pub const AF_ASH: u32 = 18;
82pub const AF_ECONET: u32 = 19;
83pub const AF_ATMSVC: u32 = 20;
84pub const AF_RDS: u32 = 21;
85pub const AF_SNA: u32 = 22;
86pub const AF_IRDA: u32 = 23;
87pub const AF_PPPOX: u32 = 24;
88pub const AF_WANPIPE: u32 = 25;
89pub const AF_LLC: u32 = 26;
90pub const AF_IB: u32 = 27;
91pub const AF_MPLS: u32 = 28;
92pub const AF_CAN: u32 = 29;
93pub const AF_TIPC: u32 = 30;
94pub const AF_BLUETOOTH: u32 = 31;
95pub const AF_IUCV: u32 = 32;
96pub const AF_RXRPC: u32 = 33;
97pub const AF_ISDN: u32 = 34;
98pub const AF_PHONET: u32 = 35;
99pub const AF_IEEE802154: u32 = 36;
100pub const AF_CAIF: u32 = 37;
101pub const AF_ALG: u32 = 38;
102pub const AF_NFC: u32 = 39;
103pub const AF_VSOCK: u32 = 40;
104pub const AF_KCM: u32 = 41;
105pub const AF_QIPCRTR: u32 = 42;
106pub const AF_SMC: u32 = 43;
107pub const AF_XDP: u32 = 44;
108pub const AF_MAX: u32 = 45;
109pub const IPPROTO_IP: u32 = 0;
110pub const IPPROTO_HOPOPTS: u32 = 0;
111pub const IPPROTO_ICMP: u32 = 1;
112pub const IPPROTO_IGMP: u32 = 2;
113pub const IPPROTO_IPIP: u32 = 4;
114pub const IPPROTO_TCP: u32 = 6;
115pub const IPPROTO_EGP: u32 = 8;
116pub const IPPROTO_PUP: u32 = 12;
117pub const IPPROTO_UDP: u32 = 17;
118pub const IPPROTO_IDP: u32 = 22;
119pub const IPPROTO_TP: u32 = 29;
120pub const IPPROTO_DCCP: u32 = 33;
121pub const IPPROTO_IPV6: u32 = 41;
122pub const IPPROTO_ROUTING: u32 = 43;
123pub const IPPROTO_FRAGMENT: u32 = 44;
124pub const IPPROTO_RSVP: u32 = 46;
125pub const IPPROTO_GRE: u32 = 47;
126pub const IPPROTO_ESP: u32 = 50;
127pub const IPPROTO_AH: u32 = 51;
128pub const IPPROTO_ICMPV6: u32 = 58;
129pub const IPPROTO_NONE: u32 = 59;
130pub const IPPROTO_DSTOPTS: u32 = 60;
131pub const IPPROTO_MTP: u32 = 92;
132pub const IPPROTO_BEETPH: u32 = 94;
133pub const IPPROTO_ENCAP: u32 = 98;
134pub const IPPROTO_PIM: u32 = 103;
135pub const IPPROTO_COMP: u32 = 108;
136pub const IPPROTO_SCTP: u32 = 132;
137pub const IPPROTO_MH: u32 = 135;
138pub const IPPROTO_UDPLITE: u32 = 136;
139pub const IPPROTO_MPLS: u32 = 137;
140pub const IPPROTO_ETHERNET: u32 = 143;
141pub const IPPROTO_RAW: u32 = 255;
142pub const IPPROTO_MPTCP: u32 = 262;
143pub const IPPROTO_MAX: u32 = 263;
144pub const EAI_BADFLAGS: i32 = -1;
145pub const EAI_NONAME: i32 = -2;
146pub const EAI_AGAIN: i32 = -3;
147pub const EAI_FAIL: i32 = -4;
148pub const EAI_FAMILY: i32 = -6;
149pub const EAI_SOCKTYPE: i32 = -7;
150pub const EAI_SERVICE: i32 = -8;
151pub const EAI_MEMORY: i32 = -10;
152pub const EAI_SYSTEM: i32 = -11;
153pub const EAI_OVERFLOW: i32 = -12;
154pub const MAXADDRS: u32 = 48;
155pub const CLOCK_REALTIME: u32 = 0;
156pub const CLOCK_MONOTONIC: u32 = 1;
157pub const EPOLL_CLOEXEC: u32 = 524288;
158pub const EPOLL_NONBLOCK: u32 = 2048;
159pub const EPOLLIN: u32 = 1;
160pub const EPOLLPRI: u32 = 2;
161pub const EPOLLOUT: u32 = 4;
162pub const EPOLLRDNORM: u32 = 64;
163pub const EPOLLNVAL: u32 = 32;
164pub const EPOLLRDBAND: u32 = 128;
165pub const EPOLLWRNORM: u32 = 256;
166pub const EPOLLWRBAND: u32 = 512;
167pub const EPOLLMSG: u32 = 1024;
168pub const EPOLLERR: u32 = 8;
169pub const EPOLLHUP: u32 = 16;
170pub const EPOLLRDHUP: u32 = 8192;
171pub const EPOLLEXCLUSIVE: u32 = 268435456;
172pub const EPOLLWAKEUP: u32 = 536870912;
173pub const EPOLLONESHOT: u32 = 1073741824;
174pub const EPOLLET: u32 = 2147483648;
175pub const EPOLL_CTL_ADD: u32 = 1;
176pub const EPOLL_CTL_DEL: u32 = 2;
177pub const EPOLL_CTL_MOD: u32 = 3;
178pub const RLIMIT_CPU: u32 = 0;
179pub const RLIMIT_FSIZE: u32 = 1;
180pub const RLIMIT_DATA: u32 = 2;
181pub const RLIMIT_STACK: u32 = 3;
182pub const RLIMIT_CORE: u32 = 4;
183pub const RLIMIT_RSS: u32 = 5;
184pub const RLIMIT_NPROC: u32 = 6;
185pub const RLIMIT_NOFILE: u32 = 7;
186pub const RLIMIT_MEMLOCK: u32 = 8;
187pub const RLIMIT_AS: u32 = 9;
188pub const RLIMIT_LOCKS: u32 = 10;
189pub const RLIMIT_SIGPENDING: u32 = 11;
190pub const RLIMIT_MSGQUEUE: u32 = 12;
191pub const RLIMIT_NICE: u32 = 13;
192pub const RLIMIT_RTPRIO: u32 = 14;
193pub const RLIMIT_RTTIME: u32 = 15;
194pub const RLIMIT_NLIMITS: u32 = 16;
195pub const FD_SETSIZE: u32 = 1024;
196pub const _SC_ARG_MAX: u32 = 0;
197pub const _SC_CHILD_MAX: u32 = 1;
198pub const _SC_CLK_TCK: u32 = 2;
199pub const _SC_NGROUPS_MAX: u32 = 3;
200pub const _SC_OPEN_MAX: u32 = 4;
201pub const _SC_STREAM_MAX: u32 = 5;
202pub const _SC_TZNAME_MAX: u32 = 6;
203pub const _SC_JOB_CONTROL: u32 = 7;
204pub const _SC_SAVED_IDS: u32 = 8;
205pub const _SC_REALTIME_SIGNALS: u32 = 9;
206pub const _SC_PRIORITY_SCHEDULING: u32 = 10;
207pub const _SC_TIMERS: u32 = 11;
208pub const _SC_ASYNCHRONOUS_IO: u32 = 12;
209pub const _SC_PRIORITIZED_IO: u32 = 13;
210pub const _SC_SYNCHRONIZED_IO: u32 = 14;
211pub const _SC_FSYNC: u32 = 15;
212pub const _SC_MAPPED_FILES: u32 = 16;
213pub const _SC_MEMLOCK: u32 = 17;
214pub const _SC_MEMLOCK_RANGE: u32 = 18;
215pub const _SC_MEMORY_PROTECTION: u32 = 19;
216pub const _SC_MESSAGE_PASSING: u32 = 20;
217pub const _SC_SEMAPHORES: u32 = 21;
218pub const _SC_SHARED_MEMORY_OBJECTS: u32 = 22;
219pub const _SC_AIO_LISTIO_MAX: u32 = 23;
220pub const _SC_AIO_MAX: u32 = 24;
221pub const _SC_AIO_PRIO_DELTA_MAX: u32 = 25;
222pub const _SC_DELAYTIMER_MAX: u32 = 26;
223pub const _SC_MQ_OPEN_MAX: u32 = 27;
224pub const _SC_MQ_PRIO_MAX: u32 = 28;
225pub const _SC_VERSION: u32 = 29;
226pub const _SC_PAGE_SIZE: u32 = 30;
227pub const _SC_PAGESIZE: u32 = 30;
228pub const _SC_RTSIG_MAX: u32 = 31;
229pub const _SC_SEM_NSEMS_MAX: u32 = 32;
230pub const _SC_SEM_VALUE_MAX: u32 = 33;
231pub const _SC_SIGQUEUE_MAX: u32 = 34;
232pub const _SC_TIMER_MAX: u32 = 35;
233pub const _SC_BC_BASE_MAX: u32 = 36;
234pub const _SC_BC_DIM_MAX: u32 = 37;
235pub const _SC_BC_SCALE_MAX: u32 = 38;
236pub const _SC_BC_STRING_MAX: u32 = 39;
237pub const _SC_COLL_WEIGHTS_MAX: u32 = 40;
238pub const _SC_EXPR_NEST_MAX: u32 = 42;
239pub const _SC_LINE_MAX: u32 = 43;
240pub const _SC_RE_DUP_MAX: u32 = 44;
241pub const _SC_2_VERSION: u32 = 46;
242pub const _SC_2_C_BIND: u32 = 47;
243pub const _SC_2_C_DEV: u32 = 48;
244pub const _SC_2_FORT_DEV: u32 = 49;
245pub const _SC_2_FORT_RUN: u32 = 50;
246pub const _SC_2_SW_DEV: u32 = 51;
247pub const _SC_2_LOCALEDEF: u32 = 52;
248pub const _SC_UIO_MAXIOV: u32 = 60;
249pub const _SC_IOV_MAX: u32 = 60;
250pub const _SC_THREADS: u32 = 67;
251pub const _SC_THREAD_SAFE_FUNCTIONS: u32 = 68;
252pub const _SC_GETGR_R_SIZE_MAX: u32 = 69;
253pub const _SC_GETPW_R_SIZE_MAX: u32 = 70;
254pub const _SC_LOGIN_NAME_MAX: u32 = 71;
255pub const _SC_TTY_NAME_MAX: u32 = 72;
256pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: u32 = 73;
257pub const _SC_THREAD_KEYS_MAX: u32 = 74;
258pub const _SC_THREAD_STACK_MIN: u32 = 75;
259pub const _SC_THREAD_THREADS_MAX: u32 = 76;
260pub const _SC_THREAD_ATTR_STACKADDR: u32 = 77;
261pub const _SC_THREAD_ATTR_STACKSIZE: u32 = 78;
262pub const _SC_THREAD_PRIORITY_SCHEDULING: u32 = 79;
263pub const _SC_THREAD_PRIO_INHERIT: u32 = 80;
264pub const _SC_THREAD_PRIO_PROTECT: u32 = 81;
265pub const _SC_THREAD_PROCESS_SHARED: u32 = 82;
266pub const _SC_NPROCESSORS_CONF: u32 = 83;
267pub const _SC_NPROCESSORS_ONLN: u32 = 84;
268pub const _SC_PHYS_PAGES: u32 = 85;
269pub const _SC_AVPHYS_PAGES: u32 = 86;
270pub const _SC_ATEXIT_MAX: u32 = 87;
271pub const _SC_PASS_MAX: u32 = 88;
272pub const _SC_XOPEN_VERSION: u32 = 89;
273pub const _SC_XOPEN_XCU_VERSION: u32 = 90;
274pub const _SC_XOPEN_UNIX: u32 = 91;
275pub const _SC_XOPEN_CRYPT: u32 = 92;
276pub const _SC_XOPEN_ENH_I18N: u32 = 93;
277pub const _SC_XOPEN_SHM: u32 = 94;
278pub const _SC_2_CHAR_TERM: u32 = 95;
279pub const _SC_2_UPE: u32 = 97;
280pub const _SC_XOPEN_XPG2: u32 = 98;
281pub const _SC_XOPEN_XPG3: u32 = 99;
282pub const _SC_XOPEN_XPG4: u32 = 100;
283pub const _SC_NZERO: u32 = 109;
284pub const _SC_XBS5_ILP32_OFF32: u32 = 125;
285pub const _SC_XBS5_ILP32_OFFBIG: u32 = 126;
286pub const _SC_XBS5_LP64_OFF64: u32 = 127;
287pub const _SC_XBS5_LPBIG_OFFBIG: u32 = 128;
288pub const _SC_XOPEN_LEGACY: u32 = 129;
289pub const _SC_XOPEN_REALTIME: u32 = 130;
290pub const _SC_XOPEN_REALTIME_THREADS: u32 = 131;
291pub const _SC_ADVISORY_INFO: u32 = 132;
292pub const _SC_BARRIERS: u32 = 133;
293pub const _SC_CLOCK_SELECTION: u32 = 137;
294pub const _SC_CPUTIME: u32 = 138;
295pub const _SC_THREAD_CPUTIME: u32 = 139;
296pub const _SC_MONOTONIC_CLOCK: u32 = 149;
297pub const _SC_READER_WRITER_LOCKS: u32 = 153;
298pub const _SC_SPIN_LOCKS: u32 = 154;
299pub const _SC_REGEXP: u32 = 155;
300pub const _SC_SHELL: u32 = 157;
301pub const _SC_SPAWN: u32 = 159;
302pub const _SC_SPORADIC_SERVER: u32 = 160;
303pub const _SC_THREAD_SPORADIC_SERVER: u32 = 161;
304pub const _SC_TIMEOUTS: u32 = 164;
305pub const _SC_TYPED_MEMORY_OBJECTS: u32 = 165;
306pub const _SC_2_PBS: u32 = 168;
307pub const _SC_2_PBS_ACCOUNTING: u32 = 169;
308pub const _SC_2_PBS_LOCATE: u32 = 170;
309pub const _SC_2_PBS_MESSAGE: u32 = 171;
310pub const _SC_2_PBS_TRACK: u32 = 172;
311pub const _SC_SYMLOOP_MAX: u32 = 173;
312pub const _SC_STREAMS: u32 = 174;
313pub const _SC_2_PBS_CHECKPOINT: u32 = 175;
314pub const _SC_V6_ILP32_OFF32: u32 = 176;
315pub const _SC_V6_ILP32_OFFBIG: u32 = 177;
316pub const _SC_V6_LP64_OFF64: u32 = 178;
317pub const _SC_V6_LPBIG_OFFBIG: u32 = 179;
318pub const _SC_HOST_NAME_MAX: u32 = 180;
319pub const _SC_TRACE: u32 = 181;
320pub const _SC_TRACE_EVENT_FILTER: u32 = 182;
321pub const _SC_TRACE_INHERIT: u32 = 183;
322pub const _SC_TRACE_LOG: u32 = 184;
323pub const _SC_IPV6: u32 = 235;
324pub const _SC_RAW_SOCKETS: u32 = 236;
325pub const _SC_V7_ILP32_OFF32: u32 = 237;
326pub const _SC_V7_ILP32_OFFBIG: u32 = 238;
327pub const _SC_V7_LP64_OFF64: u32 = 239;
328pub const _SC_V7_LPBIG_OFFBIG: u32 = 240;
329pub const _SC_SS_REPL_MAX: u32 = 241;
330pub const _SC_TRACE_EVENT_NAME_MAX: u32 = 242;
331pub const _SC_TRACE_NAME_MAX: u32 = 243;
332pub const _SC_TRACE_SYS_MAX: u32 = 244;
333pub const _SC_TRACE_USER_EVENT_MAX: u32 = 245;
334pub const _SC_XOPEN_STREAMS: u32 = 246;
335pub const _SC_THREAD_ROBUST_PRIO_INHERIT: u32 = 247;
336pub const _SC_THREAD_ROBUST_PRIO_PROTECT: u32 = 248;
337pub type size_t = usize;
338pub type ssize_t = isize;
339pub type clockid_t = ::core::ffi::c_int;
340pub type mode_t = ::core::ffi::c_uint;
341pub type nlink_t = u32;
342pub type off_t = i64;
343pub type ino_t = u64;
344pub type dev_t = u64;
345pub type blksize_t = ::core::ffi::c_long;
346pub type blkcnt_t = i64;
347pub type uid_t = ::core::ffi::c_uint;
348pub type gid_t = ::core::ffi::c_uint;
349pub type socklen_t = ::core::ffi::c_uint;
350pub type sa_family_t = ::core::ffi::c_ushort;
351#[repr(C)]
352#[derive(Debug, Default, Copy, Clone)]
353pub struct sockaddr {
354    pub sa_family: sa_family_t,
355    pub sa_data: [::core::ffi::c_char; 14usize],
356}
357#[allow(clippy::unnecessary_operation, clippy::identity_op)]
358const _: () = {
359    ["Size of sockaddr"][::core::mem::size_of::<sockaddr>() - 16usize];
360    ["Alignment of sockaddr"][::core::mem::align_of::<sockaddr>() - 2usize];
361    ["Offset of field: sockaddr::sa_family"][::core::mem::offset_of!(sockaddr, sa_family) - 0usize];
362    ["Offset of field: sockaddr::sa_data"][::core::mem::offset_of!(sockaddr, sa_data) - 2usize];
363};
364#[repr(C)]
365#[derive(Debug, Copy, Clone)]
366pub struct sockaddr_storage {
367    pub ss_family: sa_family_t,
368    pub __ss_padding: [::core::ffi::c_char; 118usize],
369    pub __ss_align: ::core::ffi::c_ulong,
370}
371#[allow(clippy::unnecessary_operation, clippy::identity_op)]
372const _: () = {
373    ["Size of sockaddr_storage"][::core::mem::size_of::<sockaddr_storage>() - 128usize];
374    ["Alignment of sockaddr_storage"][::core::mem::align_of::<sockaddr_storage>() - 8usize];
375    ["Offset of field: sockaddr_storage::ss_family"]
376        [::core::mem::offset_of!(sockaddr_storage, ss_family) - 0usize];
377    ["Offset of field: sockaddr_storage::__ss_padding"]
378        [::core::mem::offset_of!(sockaddr_storage, __ss_padding) - 2usize];
379    ["Offset of field: sockaddr_storage::__ss_align"]
380        [::core::mem::offset_of!(sockaddr_storage, __ss_align) - 120usize];
381};
382impl Default for sockaddr_storage {
383    fn default() -> Self {
384        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
385        unsafe {
386            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
387            s.assume_init()
388        }
389    }
390}
391pub type in_port_t = u16;
392pub type in_addr_t = u32;
393#[repr(C)]
394#[derive(Debug, Default, Copy, Clone)]
395pub struct in_addr {
396    pub s_addr: in_addr_t,
397}
398#[allow(clippy::unnecessary_operation, clippy::identity_op)]
399const _: () = {
400    ["Size of in_addr"][::core::mem::size_of::<in_addr>() - 4usize];
401    ["Alignment of in_addr"][::core::mem::align_of::<in_addr>() - 4usize];
402    ["Offset of field: in_addr::s_addr"][::core::mem::offset_of!(in_addr, s_addr) - 0usize];
403};
404#[repr(C)]
405#[derive(Debug, Default, Copy, Clone)]
406pub struct sockaddr_in {
407    pub sin_family: sa_family_t,
408    pub sin_port: in_port_t,
409    pub sin_addr: in_addr,
410    pub sin_zero: [u8; 8usize],
411}
412#[allow(clippy::unnecessary_operation, clippy::identity_op)]
413const _: () = {
414    ["Size of sockaddr_in"][::core::mem::size_of::<sockaddr_in>() - 16usize];
415    ["Alignment of sockaddr_in"][::core::mem::align_of::<sockaddr_in>() - 4usize];
416    ["Offset of field: sockaddr_in::sin_family"]
417        [::core::mem::offset_of!(sockaddr_in, sin_family) - 0usize];
418    ["Offset of field: sockaddr_in::sin_port"]
419        [::core::mem::offset_of!(sockaddr_in, sin_port) - 2usize];
420    ["Offset of field: sockaddr_in::sin_addr"]
421        [::core::mem::offset_of!(sockaddr_in, sin_addr) - 4usize];
422    ["Offset of field: sockaddr_in::sin_zero"]
423        [::core::mem::offset_of!(sockaddr_in, sin_zero) - 8usize];
424};
425#[repr(C)]
426#[derive(Copy, Clone)]
427pub struct in6_addr {
428    pub __in6_union: in6_addr__bindgen_ty_1,
429}
430#[repr(C)]
431#[derive(Copy, Clone)]
432pub union in6_addr__bindgen_ty_1 {
433    pub __s6_addr: [u8; 16usize],
434    pub __s6_addr16: [u16; 8usize],
435    pub __s6_addr32: [u32; 4usize],
436}
437#[allow(clippy::unnecessary_operation, clippy::identity_op)]
438const _: () = {
439    ["Size of in6_addr__bindgen_ty_1"][::core::mem::size_of::<in6_addr__bindgen_ty_1>() - 16usize];
440    ["Alignment of in6_addr__bindgen_ty_1"]
441        [::core::mem::align_of::<in6_addr__bindgen_ty_1>() - 4usize];
442    ["Offset of field: in6_addr__bindgen_ty_1::__s6_addr"]
443        [::core::mem::offset_of!(in6_addr__bindgen_ty_1, __s6_addr) - 0usize];
444    ["Offset of field: in6_addr__bindgen_ty_1::__s6_addr16"]
445        [::core::mem::offset_of!(in6_addr__bindgen_ty_1, __s6_addr16) - 0usize];
446    ["Offset of field: in6_addr__bindgen_ty_1::__s6_addr32"]
447        [::core::mem::offset_of!(in6_addr__bindgen_ty_1, __s6_addr32) - 0usize];
448};
449impl Default for in6_addr__bindgen_ty_1 {
450    fn default() -> Self {
451        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
452        unsafe {
453            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
454            s.assume_init()
455        }
456    }
457}
458#[allow(clippy::unnecessary_operation, clippy::identity_op)]
459const _: () = {
460    ["Size of in6_addr"][::core::mem::size_of::<in6_addr>() - 16usize];
461    ["Alignment of in6_addr"][::core::mem::align_of::<in6_addr>() - 4usize];
462    ["Offset of field: in6_addr::__in6_union"]
463        [::core::mem::offset_of!(in6_addr, __in6_union) - 0usize];
464};
465impl Default for in6_addr {
466    fn default() -> Self {
467        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
468        unsafe {
469            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
470            s.assume_init()
471        }
472    }
473}
474#[repr(C)]
475#[derive(Copy, Clone)]
476pub struct sockaddr_in6 {
477    pub sin6_family: sa_family_t,
478    pub sin6_port: in_port_t,
479    pub sin6_flowinfo: u32,
480    pub sin6_addr: in6_addr,
481    pub sin6_scope_id: u32,
482}
483#[allow(clippy::unnecessary_operation, clippy::identity_op)]
484const _: () = {
485    ["Size of sockaddr_in6"][::core::mem::size_of::<sockaddr_in6>() - 28usize];
486    ["Alignment of sockaddr_in6"][::core::mem::align_of::<sockaddr_in6>() - 4usize];
487    ["Offset of field: sockaddr_in6::sin6_family"]
488        [::core::mem::offset_of!(sockaddr_in6, sin6_family) - 0usize];
489    ["Offset of field: sockaddr_in6::sin6_port"]
490        [::core::mem::offset_of!(sockaddr_in6, sin6_port) - 2usize];
491    ["Offset of field: sockaddr_in6::sin6_flowinfo"]
492        [::core::mem::offset_of!(sockaddr_in6, sin6_flowinfo) - 4usize];
493    ["Offset of field: sockaddr_in6::sin6_addr"]
494        [::core::mem::offset_of!(sockaddr_in6, sin6_addr) - 8usize];
495    ["Offset of field: sockaddr_in6::sin6_scope_id"]
496        [::core::mem::offset_of!(sockaddr_in6, sin6_scope_id) - 24usize];
497};
498impl Default for sockaddr_in6 {
499    fn default() -> Self {
500        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
501        unsafe {
502            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
503            s.assume_init()
504        }
505    }
506}
507#[repr(C)]
508#[derive(Debug, Copy, Clone)]
509pub struct addrinfo {
510    pub ai_flags: ::core::ffi::c_int,
511    pub ai_family: ::core::ffi::c_int,
512    pub ai_socktype: ::core::ffi::c_int,
513    pub ai_protocol: ::core::ffi::c_int,
514    pub ai_addrlen: socklen_t,
515    pub ai_addr: *mut sockaddr,
516    pub ai_canonname: *mut ::core::ffi::c_char,
517    pub ai_next: *mut addrinfo,
518}
519#[allow(clippy::unnecessary_operation, clippy::identity_op)]
520const _: () = {
521    ["Size of addrinfo"][::core::mem::size_of::<addrinfo>() - 48usize];
522    ["Alignment of addrinfo"][::core::mem::align_of::<addrinfo>() - 8usize];
523    ["Offset of field: addrinfo::ai_flags"][::core::mem::offset_of!(addrinfo, ai_flags) - 0usize];
524    ["Offset of field: addrinfo::ai_family"][::core::mem::offset_of!(addrinfo, ai_family) - 4usize];
525    ["Offset of field: addrinfo::ai_socktype"]
526        [::core::mem::offset_of!(addrinfo, ai_socktype) - 8usize];
527    ["Offset of field: addrinfo::ai_protocol"]
528        [::core::mem::offset_of!(addrinfo, ai_protocol) - 12usize];
529    ["Offset of field: addrinfo::ai_addrlen"]
530        [::core::mem::offset_of!(addrinfo, ai_addrlen) - 16usize];
531    ["Offset of field: addrinfo::ai_addr"][::core::mem::offset_of!(addrinfo, ai_addr) - 24usize];
532    ["Offset of field: addrinfo::ai_canonname"]
533        [::core::mem::offset_of!(addrinfo, ai_canonname) - 32usize];
534    ["Offset of field: addrinfo::ai_next"][::core::mem::offset_of!(addrinfo, ai_next) - 40usize];
535};
536impl Default for addrinfo {
537    fn default() -> Self {
538        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
539        unsafe {
540            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
541            s.assume_init()
542        }
543    }
544}
545#[repr(C)]
546#[derive(Copy, Clone)]
547pub struct aibuf {
548    pub ai: addrinfo,
549    pub sa: aibuf_sa,
550    pub lock: [::core::ffi::c_int; 1usize],
551    pub slot: ::core::ffi::c_short,
552    pub ref_: ::core::ffi::c_short,
553}
554#[repr(C)]
555#[derive(Copy, Clone)]
556pub union aibuf_sa {
557    pub sin: sockaddr_in,
558    pub sin6: sockaddr_in6,
559}
560#[allow(clippy::unnecessary_operation, clippy::identity_op)]
561const _: () = {
562    ["Size of aibuf_sa"][::core::mem::size_of::<aibuf_sa>() - 28usize];
563    ["Alignment of aibuf_sa"][::core::mem::align_of::<aibuf_sa>() - 4usize];
564    ["Offset of field: aibuf_sa::sin"][::core::mem::offset_of!(aibuf_sa, sin) - 0usize];
565    ["Offset of field: aibuf_sa::sin6"][::core::mem::offset_of!(aibuf_sa, sin6) - 0usize];
566};
567impl Default for aibuf_sa {
568    fn default() -> Self {
569        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
570        unsafe {
571            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
572            s.assume_init()
573        }
574    }
575}
576#[allow(clippy::unnecessary_operation, clippy::identity_op)]
577const _: () = {
578    ["Size of aibuf"][::core::mem::size_of::<aibuf>() - 88usize];
579    ["Alignment of aibuf"][::core::mem::align_of::<aibuf>() - 8usize];
580    ["Offset of field: aibuf::ai"][::core::mem::offset_of!(aibuf, ai) - 0usize];
581    ["Offset of field: aibuf::sa"][::core::mem::offset_of!(aibuf, sa) - 48usize];
582    ["Offset of field: aibuf::lock"][::core::mem::offset_of!(aibuf, lock) - 76usize];
583    ["Offset of field: aibuf::slot"][::core::mem::offset_of!(aibuf, slot) - 80usize];
584    ["Offset of field: aibuf::ref_"][::core::mem::offset_of!(aibuf, ref_) - 82usize];
585};
586impl Default for aibuf {
587    fn default() -> Self {
588        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
589        unsafe {
590            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
591            s.assume_init()
592        }
593    }
594}
595pub type time_t = ::core::ffi::c_longlong;
596#[repr(C)]
597#[derive(Debug, Default, Copy, Clone)]
598pub struct timeval {
599    pub tv_sec: time_t,
600    pub tv_usec: ::core::ffi::c_long,
601}
602#[allow(clippy::unnecessary_operation, clippy::identity_op)]
603const _: () = {
604    ["Size of timeval"][::core::mem::size_of::<timeval>() - 16usize];
605    ["Alignment of timeval"][::core::mem::align_of::<timeval>() - 8usize];
606    ["Offset of field: timeval::tv_sec"][::core::mem::offset_of!(timeval, tv_sec) - 0usize];
607    ["Offset of field: timeval::tv_usec"][::core::mem::offset_of!(timeval, tv_usec) - 8usize];
608};
609#[repr(C)]
610#[derive(Debug, Default, Copy, Clone)]
611pub struct timespec {
612    pub tv_sec: time_t,
613    pub tv_nsec: ::core::ffi::c_long,
614}
615#[allow(clippy::unnecessary_operation, clippy::identity_op)]
616const _: () = {
617    ["Size of timespec"][::core::mem::size_of::<timespec>() - 16usize];
618    ["Alignment of timespec"][::core::mem::align_of::<timespec>() - 8usize];
619    ["Offset of field: timespec::tv_sec"][::core::mem::offset_of!(timespec, tv_sec) - 0usize];
620    ["Offset of field: timespec::tv_nsec"][::core::mem::offset_of!(timespec, tv_nsec) - 8usize];
621};
622#[repr(C)]
623#[derive(Debug, Default, Copy, Clone)]
624pub struct pthread_mutex_t {
625    pub __l: [::core::ffi::c_long; 6usize],
626}
627#[allow(clippy::unnecessary_operation, clippy::identity_op)]
628const _: () = {
629    ["Size of pthread_mutex_t"][::core::mem::size_of::<pthread_mutex_t>() - 48usize];
630    ["Alignment of pthread_mutex_t"][::core::mem::align_of::<pthread_mutex_t>() - 8usize];
631    ["Offset of field: pthread_mutex_t::__l"]
632        [::core::mem::offset_of!(pthread_mutex_t, __l) - 0usize];
633};
634#[repr(C)]
635#[derive(Debug, Default, Copy, Clone)]
636pub struct pthread_mutexattr_t {
637    pub __attr: ::core::ffi::c_uint,
638}
639#[allow(clippy::unnecessary_operation, clippy::identity_op)]
640const _: () = {
641    ["Size of pthread_mutexattr_t"][::core::mem::size_of::<pthread_mutexattr_t>() - 4usize];
642    ["Alignment of pthread_mutexattr_t"][::core::mem::align_of::<pthread_mutexattr_t>() - 4usize];
643    ["Offset of field: pthread_mutexattr_t::__attr"]
644        [::core::mem::offset_of!(pthread_mutexattr_t, __attr) - 0usize];
645};
646#[repr(C)]
647#[derive(Copy, Clone)]
648pub struct pthread_attr_t {
649    pub __u: pthread_attr_t__bindgen_ty_1,
650}
651#[repr(C)]
652#[derive(Copy, Clone)]
653pub union pthread_attr_t__bindgen_ty_1 {
654    pub __i: [::core::ffi::c_int; 14usize],
655    pub __vi: [::core::ffi::c_int; 14usize],
656    pub __s: [::core::ffi::c_ulong; 7usize],
657}
658#[allow(clippy::unnecessary_operation, clippy::identity_op)]
659const _: () = {
660    ["Size of pthread_attr_t__bindgen_ty_1"]
661        [::core::mem::size_of::<pthread_attr_t__bindgen_ty_1>() - 56usize];
662    ["Alignment of pthread_attr_t__bindgen_ty_1"]
663        [::core::mem::align_of::<pthread_attr_t__bindgen_ty_1>() - 8usize];
664    ["Offset of field: pthread_attr_t__bindgen_ty_1::__i"]
665        [::core::mem::offset_of!(pthread_attr_t__bindgen_ty_1, __i) - 0usize];
666    ["Offset of field: pthread_attr_t__bindgen_ty_1::__vi"]
667        [::core::mem::offset_of!(pthread_attr_t__bindgen_ty_1, __vi) - 0usize];
668    ["Offset of field: pthread_attr_t__bindgen_ty_1::__s"]
669        [::core::mem::offset_of!(pthread_attr_t__bindgen_ty_1, __s) - 0usize];
670};
671impl Default for pthread_attr_t__bindgen_ty_1 {
672    fn default() -> Self {
673        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
674        unsafe {
675            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
676            s.assume_init()
677        }
678    }
679}
680#[allow(clippy::unnecessary_operation, clippy::identity_op)]
681const _: () = {
682    ["Size of pthread_attr_t"][::core::mem::size_of::<pthread_attr_t>() - 56usize];
683    ["Alignment of pthread_attr_t"][::core::mem::align_of::<pthread_attr_t>() - 8usize];
684    ["Offset of field: pthread_attr_t::__u"][::core::mem::offset_of!(pthread_attr_t, __u) - 0usize];
685};
686impl Default for pthread_attr_t {
687    fn default() -> Self {
688        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
689        unsafe {
690            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
691            s.assume_init()
692        }
693    }
694}
695pub type pthread_t = *mut ::core::ffi::c_void;
696#[repr(C)]
697#[derive(Copy, Clone)]
698pub union epoll_data {
699    pub ptr: *mut ::core::ffi::c_void,
700    pub fd: ::core::ffi::c_int,
701    pub u32_: u32,
702    pub u64_: u64,
703}
704#[allow(clippy::unnecessary_operation, clippy::identity_op)]
705const _: () = {
706    ["Size of epoll_data"][::core::mem::size_of::<epoll_data>() - 8usize];
707    ["Alignment of epoll_data"][::core::mem::align_of::<epoll_data>() - 8usize];
708    ["Offset of field: epoll_data::ptr"][::core::mem::offset_of!(epoll_data, ptr) - 0usize];
709    ["Offset of field: epoll_data::fd"][::core::mem::offset_of!(epoll_data, fd) - 0usize];
710    ["Offset of field: epoll_data::u32_"][::core::mem::offset_of!(epoll_data, u32_) - 0usize];
711    ["Offset of field: epoll_data::u64_"][::core::mem::offset_of!(epoll_data, u64_) - 0usize];
712};
713impl Default for epoll_data {
714    fn default() -> Self {
715        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
716        unsafe {
717            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
718            s.assume_init()
719        }
720    }
721}
722pub type epoll_data_t = epoll_data;
723#[repr(C, packed)]
724#[derive(Copy, Clone)]
725pub struct epoll_event {
726    pub events: u32,
727    pub data: epoll_data_t,
728}
729#[allow(clippy::unnecessary_operation, clippy::identity_op)]
730const _: () = {
731    ["Size of epoll_event"][::core::mem::size_of::<epoll_event>() - 12usize];
732    ["Alignment of epoll_event"][::core::mem::align_of::<epoll_event>() - 1usize];
733    ["Offset of field: epoll_event::events"][::core::mem::offset_of!(epoll_event, events) - 0usize];
734    ["Offset of field: epoll_event::data"][::core::mem::offset_of!(epoll_event, data) - 4usize];
735};
736impl Default for epoll_event {
737    fn default() -> Self {
738        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
739        unsafe {
740            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
741            s.assume_init()
742        }
743    }
744}
745pub type rlim_t = ::core::ffi::c_ulonglong;
746#[repr(C)]
747#[derive(Debug, Default, Copy, Clone)]
748pub struct rlimit {
749    pub rlim_cur: rlim_t,
750    pub rlim_max: rlim_t,
751}
752#[allow(clippy::unnecessary_operation, clippy::identity_op)]
753const _: () = {
754    ["Size of rlimit"][::core::mem::size_of::<rlimit>() - 16usize];
755    ["Alignment of rlimit"][::core::mem::align_of::<rlimit>() - 8usize];
756    ["Offset of field: rlimit::rlim_cur"][::core::mem::offset_of!(rlimit, rlim_cur) - 0usize];
757    ["Offset of field: rlimit::rlim_max"][::core::mem::offset_of!(rlimit, rlim_max) - 8usize];
758};
759#[repr(C)]
760#[derive(Debug, Default, Copy, Clone)]
761pub struct fd_set {
762    pub fds_bits: [::core::ffi::c_ulong; 16usize],
763}
764#[allow(clippy::unnecessary_operation, clippy::identity_op)]
765const _: () = {
766    ["Size of fd_set"][::core::mem::size_of::<fd_set>() - 128usize];
767    ["Alignment of fd_set"][::core::mem::align_of::<fd_set>() - 8usize];
768    ["Offset of field: fd_set::fds_bits"][::core::mem::offset_of!(fd_set, fds_bits) - 0usize];
769};
770#[repr(C)]
771#[derive(Debug, Default, Copy, Clone)]
772pub struct stat {
773    pub st_dev: dev_t,
774    pub st_ino: ino_t,
775    pub st_mode: mode_t,
776    pub st_nlink: nlink_t,
777    pub st_uid: uid_t,
778    pub st_gid: gid_t,
779    pub st_rdev: dev_t,
780    pub st_size: off_t,
781    pub st_blksize: blksize_t,
782    pub st_blocks: blkcnt_t,
783    pub st_atime: timespec,
784    pub st_mtime: timespec,
785    pub st_ctime: timespec,
786}
787#[allow(clippy::unnecessary_operation, clippy::identity_op)]
788const _: () = {
789    ["Size of stat"][::core::mem::size_of::<stat>() - 112usize];
790    ["Alignment of stat"][::core::mem::align_of::<stat>() - 8usize];
791    ["Offset of field: stat::st_dev"][::core::mem::offset_of!(stat, st_dev) - 0usize];
792    ["Offset of field: stat::st_ino"][::core::mem::offset_of!(stat, st_ino) - 8usize];
793    ["Offset of field: stat::st_mode"][::core::mem::offset_of!(stat, st_mode) - 16usize];
794    ["Offset of field: stat::st_nlink"][::core::mem::offset_of!(stat, st_nlink) - 20usize];
795    ["Offset of field: stat::st_uid"][::core::mem::offset_of!(stat, st_uid) - 24usize];
796    ["Offset of field: stat::st_gid"][::core::mem::offset_of!(stat, st_gid) - 28usize];
797    ["Offset of field: stat::st_rdev"][::core::mem::offset_of!(stat, st_rdev) - 32usize];
798    ["Offset of field: stat::st_size"][::core::mem::offset_of!(stat, st_size) - 40usize];
799    ["Offset of field: stat::st_blksize"][::core::mem::offset_of!(stat, st_blksize) - 48usize];
800    ["Offset of field: stat::st_blocks"][::core::mem::offset_of!(stat, st_blocks) - 56usize];
801    ["Offset of field: stat::st_atime"][::core::mem::offset_of!(stat, st_atime) - 64usize];
802    ["Offset of field: stat::st_mtime"][::core::mem::offset_of!(stat, st_mtime) - 80usize];
803    ["Offset of field: stat::st_ctime"][::core::mem::offset_of!(stat, st_ctime) - 96usize];
804};
805#[repr(C)]
806#[derive(Debug, Copy, Clone)]
807pub struct iovec {
808    pub iov_base: *mut ::core::ffi::c_void,
809    pub iov_len: size_t,
810}
811#[allow(clippy::unnecessary_operation, clippy::identity_op)]
812const _: () = {
813    ["Size of iovec"][::core::mem::size_of::<iovec>() - 16usize];
814    ["Alignment of iovec"][::core::mem::align_of::<iovec>() - 8usize];
815    ["Offset of field: iovec::iov_base"][::core::mem::offset_of!(iovec, iov_base) - 0usize];
816    ["Offset of field: iovec::iov_len"][::core::mem::offset_of!(iovec, iov_len) - 8usize];
817};
818impl Default for iovec {
819    fn default() -> Self {
820        let mut s = ::core::mem::MaybeUninit::<Self>::uninit();
821        unsafe {
822            ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
823            s.assume_init()
824        }
825    }
826}