1 //! AArch64-specific definitions for 64-bit linux-like values
2 
3 use pthread_mutex_t;
4 
5 pub type c_long = i64;
6 pub type c_ulong = u64;
7 pub type c_char = u8;
8 pub type wchar_t = u32;
9 pub type nlink_t = u32;
10 pub type blksize_t = i32;
11 pub type suseconds_t = i64;
12 pub type __u64 = ::c_ulonglong;
13 
14 s! {
15     pub struct sigaction {
16         pub sa_sigaction: ::sighandler_t,
17         pub sa_mask: ::sigset_t,
18         #[cfg(target_arch = "sparc64")]
19         __reserved0: ::c_int,
20         pub sa_flags: ::c_int,
21         pub sa_restorer: ::Option<extern fn()>,
22     }
23 
24     pub struct statfs {
25         pub f_type: ::__fsword_t,
26         pub f_bsize: ::__fsword_t,
27         pub f_blocks: ::fsblkcnt_t,
28         pub f_bfree: ::fsblkcnt_t,
29         pub f_bavail: ::fsblkcnt_t,
30 
31         pub f_files: ::fsfilcnt_t,
32         pub f_ffree: ::fsfilcnt_t,
33         pub f_fsid: ::fsid_t,
34 
35         pub f_namelen: ::__fsword_t,
36         pub f_frsize: ::__fsword_t,
37         f_spare: [::__fsword_t; 5],
38     }
39 
40     pub struct flock {
41         pub l_type: ::c_short,
42         pub l_whence: ::c_short,
43         pub l_start: ::off_t,
44         pub l_len: ::off_t,
45         pub l_pid: ::pid_t,
46     }
47 
48     pub struct flock64 {
49         pub l_type: ::c_short,
50         pub l_whence: ::c_short,
51         pub l_start: ::off64_t,
52         pub l_len: ::off64_t,
53         pub l_pid: ::pid_t,
54     }
55 
56     pub struct stat {
57         pub st_dev: ::dev_t,
58         pub st_ino: ::ino_t,
59         pub st_mode: ::mode_t,
60         pub st_nlink: ::nlink_t,
61         pub st_uid: ::uid_t,
62         pub st_gid: ::gid_t,
63         pub st_rdev: ::dev_t,
64         __pad1: ::dev_t,
65         pub st_size: ::off_t,
66         pub st_blksize: ::blksize_t,
67         __pad2: ::c_int,
68         pub st_blocks: ::blkcnt_t,
69         pub st_atime: ::time_t,
70         pub st_atime_nsec: ::c_long,
71         pub st_mtime: ::time_t,
72         pub st_mtime_nsec: ::c_long,
73         pub st_ctime: ::time_t,
74         pub st_ctime_nsec: ::c_long,
75         __unused: [::c_int; 2],
76     }
77 
78     pub struct stat64 {
79         pub st_dev: ::dev_t,
80         pub st_ino: ::ino_t,
81         pub st_mode: ::mode_t,
82         pub st_nlink: ::nlink_t,
83         pub st_uid: ::uid_t,
84         pub st_gid: ::gid_t,
85         pub st_rdev: ::dev_t,
86         __pad1: ::dev_t,
87         pub st_size: ::off64_t,
88         pub st_blksize: ::blksize_t,
89         __pad2: ::c_int,
90         pub st_blocks: ::blkcnt64_t,
91         pub st_atime: ::time_t,
92         pub st_atime_nsec: ::c_long,
93         pub st_mtime: ::time_t,
94         pub st_mtime_nsec: ::c_long,
95         pub st_ctime: ::time_t,
96         pub st_ctime_nsec: ::c_long,
97         __unused: [::c_int; 2],
98     }
99 
100     pub struct statfs64 {
101         pub f_type: ::__fsword_t,
102         pub f_bsize: ::__fsword_t,
103         pub f_blocks: u64,
104         pub f_bfree: u64,
105         pub f_bavail: u64,
106         pub f_files: u64,
107         pub f_ffree: u64,
108         pub f_fsid: ::fsid_t,
109         pub f_namelen: ::__fsword_t,
110         pub f_frsize: ::__fsword_t,
111         pub f_flags: ::__fsword_t,
112         pub f_spare: [::__fsword_t; 4],
113     }
114 
115     pub struct statvfs {
116         pub f_bsize: ::c_ulong,
117         pub f_frsize: ::c_ulong,
118         pub f_blocks: ::fsblkcnt_t,
119         pub f_bfree: ::fsblkcnt_t,
120         pub f_bavail: ::fsblkcnt_t,
121         pub f_files: ::fsfilcnt_t,
122         pub f_ffree: ::fsfilcnt_t,
123         pub f_favail: ::fsfilcnt_t,
124         pub f_fsid: ::c_ulong,
125         pub f_flag: ::c_ulong,
126         pub f_namemax: ::c_ulong,
127         __f_spare: [::c_int; 6],
128     }
129 
130     pub struct statvfs64 {
131         pub f_bsize: ::c_ulong,
132         pub f_frsize: ::c_ulong,
133         pub f_blocks: u64,
134         pub f_bfree: u64,
135         pub f_bavail: u64,
136         pub f_files: u64,
137         pub f_ffree: u64,
138         pub f_favail: u64,
139         pub f_fsid: ::c_ulong,
140         pub f_flag: ::c_ulong,
141         pub f_namemax: ::c_ulong,
142         __f_spare: [::c_int; 6],
143     }
144 
145     pub struct pthread_attr_t {
146         __size: [u64; 8]
147     }
148 
149     pub struct ipc_perm {
150         pub __key: ::key_t,
151         pub uid: ::uid_t,
152         pub gid: ::gid_t,
153         pub cuid: ::uid_t,
154         pub cgid: ::gid_t,
155         pub mode: ::c_uint,
156         pub __seq: ::c_ushort,
157         __pad1: ::c_ushort,
158         __unused1: ::c_ulong,
159         __unused2: ::c_ulong
160     }
161 
162     pub struct shmid_ds {
163         pub shm_perm: ::ipc_perm,
164         pub shm_segsz: ::size_t,
165         pub shm_atime: ::time_t,
166         pub shm_dtime: ::time_t,
167         pub shm_ctime: ::time_t,
168         pub shm_cpid: ::pid_t,
169         pub shm_lpid: ::pid_t,
170         pub shm_nattch: ::shmatt_t,
171         __unused4: ::c_ulong,
172         __unused5: ::c_ulong
173     }
174 
175     pub struct termios2 {
176         pub c_iflag: ::tcflag_t,
177         pub c_oflag: ::tcflag_t,
178         pub c_cflag: ::tcflag_t,
179         pub c_lflag: ::tcflag_t,
180         pub c_line: ::cc_t,
181         pub c_cc: [::cc_t; 19],
182         pub c_ispeed: ::speed_t,
183         pub c_ospeed: ::speed_t,
184     }
185 
186     pub struct siginfo_t {
187         pub si_signo: ::c_int,
188         pub si_errno: ::c_int,
189         pub si_code: ::c_int,
190         #[doc(hidden)]
191         #[deprecated(
192             since="0.2.54",
193             note="Please leave a comment on \
194                   https://github.com/rust-lang/libc/pull/1316 if you're using \
195                   this field"
196         )]
197         pub _pad: [::c_int; 29],
198         _align: [usize; 0],
199     }
200 
201     pub struct stack_t {
202         pub ss_sp: *mut ::c_void,
203         pub ss_flags: ::c_int,
204         pub ss_size: ::size_t
205     }
206 
207     pub struct ip_mreqn {
208         pub imr_multiaddr: ::in_addr,
209         pub imr_address: ::in_addr,
210         pub imr_ifindex: ::c_int,
211     }
212 }
213 
214 pub const VEOF: usize = 4;
215 pub const __SIZEOF_PTHREAD_RWLOCK_T: usize = 56;
216 
217 pub const RTLD_DEEPBIND: ::c_int = 0x8;
218 pub const RTLD_GLOBAL: ::c_int = 0x100;
219 pub const RTLD_NOLOAD: ::c_int = 0x4;
220 
221 pub const RLIMIT_RSS: ::__rlimit_resource_t = 5;
222 pub const RLIMIT_AS: ::__rlimit_resource_t = 9;
223 pub const RLIMIT_MEMLOCK: ::__rlimit_resource_t = 8;
224 pub const RLIMIT_NOFILE: ::__rlimit_resource_t = 7;
225 pub const RLIMIT_NPROC: ::__rlimit_resource_t = 6;
226 
227 pub const O_APPEND: ::c_int = 1024;
228 pub const O_CREAT: ::c_int = 64;
229 pub const O_EXCL: ::c_int = 128;
230 pub const O_NOCTTY: ::c_int = 256;
231 pub const O_NONBLOCK: ::c_int = 2048;
232 pub const O_SYNC: ::c_int = 1052672;
233 pub const O_RSYNC: ::c_int = 1052672;
234 pub const O_DSYNC: ::c_int = 4096;
235 pub const O_FSYNC: ::c_int = 0x101000;
236 pub const O_NOATIME: ::c_int = 0o1000000;
237 pub const O_PATH: ::c_int = 0o10000000;
238 pub const O_TMPFILE: ::c_int = 0o20000000 | O_DIRECTORY;
239 
240 pub const MADV_SOFT_OFFLINE: ::c_int = 101;
241 pub const MAP_GROWSDOWN: ::c_int = 0x0100;
242 
243 pub const EUCLEAN: ::c_int = 117;
244 pub const ENOTNAM: ::c_int = 118;
245 pub const ENAVAIL: ::c_int = 119;
246 pub const EISNAM: ::c_int = 120;
247 pub const EREMOTEIO: ::c_int = 121;
248 pub const EDEADLK: ::c_int = 35;
249 pub const ENAMETOOLONG: ::c_int = 36;
250 pub const ENOLCK: ::c_int = 37;
251 pub const ENOSYS: ::c_int = 38;
252 pub const ENOTEMPTY: ::c_int = 39;
253 pub const ELOOP: ::c_int = 40;
254 pub const ENOMSG: ::c_int = 42;
255 pub const EIDRM: ::c_int = 43;
256 pub const ECHRNG: ::c_int = 44;
257 pub const EL2NSYNC: ::c_int = 45;
258 pub const EL3HLT: ::c_int = 46;
259 pub const EL3RST: ::c_int = 47;
260 pub const ELNRNG: ::c_int = 48;
261 pub const EUNATCH: ::c_int = 49;
262 pub const ENOCSI: ::c_int = 50;
263 pub const EL2HLT: ::c_int = 51;
264 pub const EBADE: ::c_int = 52;
265 pub const EBADR: ::c_int = 53;
266 pub const EXFULL: ::c_int = 54;
267 pub const ENOANO: ::c_int = 55;
268 pub const EBADRQC: ::c_int = 56;
269 pub const EBADSLT: ::c_int = 57;
270 pub const EMULTIHOP: ::c_int = 72;
271 pub const EOVERFLOW: ::c_int = 75;
272 pub const ENOTUNIQ: ::c_int = 76;
273 pub const EBADFD: ::c_int = 77;
274 pub const EBADMSG: ::c_int = 74;
275 pub const EREMCHG: ::c_int = 78;
276 pub const ELIBACC: ::c_int = 79;
277 pub const ELIBBAD: ::c_int = 80;
278 pub const ELIBSCN: ::c_int = 81;
279 pub const ELIBMAX: ::c_int = 82;
280 pub const ELIBEXEC: ::c_int = 83;
281 pub const EILSEQ: ::c_int = 84;
282 pub const ERESTART: ::c_int = 85;
283 pub const ESTRPIPE: ::c_int = 86;
284 pub const EUSERS: ::c_int = 87;
285 pub const ENOTSOCK: ::c_int = 88;
286 pub const EDESTADDRREQ: ::c_int = 89;
287 pub const EMSGSIZE: ::c_int = 90;
288 pub const EPROTOTYPE: ::c_int = 91;
289 pub const ENOPROTOOPT: ::c_int = 92;
290 pub const EPROTONOSUPPORT: ::c_int = 93;
291 pub const ESOCKTNOSUPPORT: ::c_int = 94;
292 pub const EOPNOTSUPP: ::c_int = 95;
293 pub const EPFNOSUPPORT: ::c_int = 96;
294 pub const EAFNOSUPPORT: ::c_int = 97;
295 pub const EADDRINUSE: ::c_int = 98;
296 pub const EADDRNOTAVAIL: ::c_int = 99;
297 pub const ENETDOWN: ::c_int = 100;
298 pub const ENETUNREACH: ::c_int = 101;
299 pub const ENETRESET: ::c_int = 102;
300 pub const ECONNABORTED: ::c_int = 103;
301 pub const ECONNRESET: ::c_int = 104;
302 pub const ENOBUFS: ::c_int = 105;
303 pub const EISCONN: ::c_int = 106;
304 pub const ENOTCONN: ::c_int = 107;
305 pub const ESHUTDOWN: ::c_int = 108;
306 pub const ETOOMANYREFS: ::c_int = 109;
307 pub const ETIMEDOUT: ::c_int = 110;
308 pub const ECONNREFUSED: ::c_int = 111;
309 pub const EHOSTDOWN: ::c_int = 112;
310 pub const EHOSTUNREACH: ::c_int = 113;
311 pub const EALREADY: ::c_int = 114;
312 pub const EINPROGRESS: ::c_int = 115;
313 pub const ESTALE: ::c_int = 116;
314 pub const EDQUOT: ::c_int = 122;
315 pub const ENOMEDIUM: ::c_int = 123;
316 pub const EMEDIUMTYPE: ::c_int = 124;
317 pub const ECANCELED: ::c_int = 125;
318 pub const ENOKEY: ::c_int = 126;
319 pub const EKEYEXPIRED: ::c_int = 127;
320 pub const EKEYREVOKED: ::c_int = 128;
321 pub const EKEYREJECTED: ::c_int = 129;
322 pub const EOWNERDEAD: ::c_int = 130;
323 pub const ENOTRECOVERABLE: ::c_int = 131;
324 pub const EHWPOISON: ::c_int = 133;
325 pub const ERFKILL: ::c_int = 132;
326 
327 pub const POSIX_FADV_DONTNEED: ::c_int = 4;
328 pub const POSIX_FADV_NOREUSE: ::c_int = 5;
329 
330 pub const SOL_SOCKET: ::c_int = 1;
331 
332 pub const SO_REUSEADDR: ::c_int = 2;
333 pub const SO_TYPE: ::c_int = 3;
334 pub const SO_ERROR: ::c_int = 4;
335 pub const SO_DONTROUTE: ::c_int = 5;
336 pub const SO_BROADCAST: ::c_int = 6;
337 pub const SO_SNDBUF: ::c_int = 7;
338 pub const SO_RCVBUF: ::c_int = 8;
339 pub const SO_SNDBUFFORCE: ::c_int = 32;
340 pub const SO_RCVBUFFORCE: ::c_int = 33;
341 pub const SO_KEEPALIVE: ::c_int = 9;
342 pub const SO_OOBINLINE: ::c_int = 10;
343 pub const SO_NO_CHECK: ::c_int = 11;
344 pub const SO_PRIORITY: ::c_int = 12;
345 pub const SO_LINGER: ::c_int = 13;
346 pub const SO_BSDCOMPAT: ::c_int = 14;
347 pub const SO_REUSEPORT: ::c_int = 15;
348 pub const SO_PASSCRED: ::c_int = 16;
349 pub const SO_PEERCRED: ::c_int = 17;
350 pub const SO_RCVLOWAT: ::c_int = 18;
351 pub const SO_SNDLOWAT: ::c_int = 19;
352 pub const SO_RCVTIMEO: ::c_int = 20;
353 pub const SO_SNDTIMEO: ::c_int = 21;
354 pub const SO_SECURITY_AUTHENTICATION: ::c_int = 22;
355 pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::c_int = 23;
356 pub const SO_SECURITY_ENCRYPTION_NETWORK: ::c_int = 24;
357 pub const SO_BINDTODEVICE: ::c_int = 25;
358 pub const SO_ATTACH_FILTER: ::c_int = 26;
359 pub const SO_DETACH_FILTER: ::c_int = 27;
360 pub const SO_GET_FILTER: ::c_int = SO_ATTACH_FILTER;
361 pub const SO_PEERNAME: ::c_int = 28;
362 pub const SO_TIMESTAMP: ::c_int = 29;
363 pub const SO_ACCEPTCONN: ::c_int = 30;
364 pub const SO_PEERSEC: ::c_int = 31;
365 pub const SO_PASSSEC: ::c_int = 34;
366 pub const SO_TIMESTAMPNS: ::c_int = 35;
367 pub const SCM_TIMESTAMPNS: ::c_int = SO_TIMESTAMPNS;
368 pub const SO_MARK: ::c_int = 36;
369 pub const SO_PROTOCOL: ::c_int = 38;
370 pub const SO_DOMAIN: ::c_int = 39;
371 pub const SO_RXQ_OVFL: ::c_int = 40;
372 pub const SO_WIFI_STATUS: ::c_int = 41;
373 pub const SCM_WIFI_STATUS: ::c_int = SO_WIFI_STATUS;
374 pub const SO_PEEK_OFF: ::c_int = 42;
375 pub const SO_NOFCS: ::c_int = 43;
376 pub const SO_LOCK_FILTER: ::c_int = 44;
377 pub const SO_SELECT_ERR_QUEUE: ::c_int = 45;
378 pub const SO_BUSY_POLL: ::c_int = 46;
379 pub const SO_MAX_PACING_RATE: ::c_int = 47;
380 pub const SO_BPF_EXTENSIONS: ::c_int = 48;
381 pub const SO_INCOMING_CPU: ::c_int = 49;
382 pub const SO_ATTACH_BPF: ::c_int = 50;
383 pub const SO_DETACH_BPF: ::c_int = SO_DETACH_FILTER;
384 pub const SO_ATTACH_REUSEPORT_CBPF: ::c_int = 51;
385 pub const SO_ATTACH_REUSEPORT_EBPF: ::c_int = 52;
386 pub const SO_CNX_ADVICE: ::c_int = 53;
387 pub const SCM_TIMESTAMPING_OPT_STATS: ::c_int = 54;
388 pub const SO_MEMINFO: ::c_int = 55;
389 pub const SO_INCOMING_NAPI_ID: ::c_int = 56;
390 pub const SO_COOKIE: ::c_int = 57;
391 pub const SCM_TIMESTAMPING_PKTINFO: ::c_int = 58;
392 pub const SO_PEERGROUPS: ::c_int = 59;
393 pub const SO_ZEROCOPY: ::c_int = 60;
394 pub const SO_TXTIME: ::c_int = 61;
395 pub const SCM_TXTIME: ::c_int = SO_TXTIME;
396 pub const SO_BINDTOIFINDEX: ::c_int = 62;
397 pub const SO_TIMESTAMP_NEW: ::c_int = 63;
398 pub const SO_TIMESTAMPNS_NEW: ::c_int = 64;
399 pub const SO_TIMESTAMPING_NEW: ::c_int = 65;
400 pub const SO_RCVTIMEO_NEW: ::c_int = 66;
401 pub const SO_SNDTIMEO_NEW: ::c_int = 67;
402 pub const SO_DETACH_REUSEPORT_BPF: ::c_int = 68;
403 
404 pub const SOCK_STREAM: ::c_int = 1;
405 pub const SOCK_DGRAM: ::c_int = 2;
406 
407 pub const SA_ONSTACK: ::c_int = 0x08000000;
408 pub const SA_SIGINFO: ::c_int = 0x00000004;
409 pub const SA_NOCLDWAIT: ::c_int = 0x00000002;
410 
411 pub const SIGTTIN: ::c_int = 21;
412 pub const SIGTTOU: ::c_int = 22;
413 pub const SIGXCPU: ::c_int = 24;
414 pub const SIGXFSZ: ::c_int = 25;
415 pub const SIGVTALRM: ::c_int = 26;
416 pub const SIGPROF: ::c_int = 27;
417 pub const SIGWINCH: ::c_int = 28;
418 pub const SIGCHLD: ::c_int = 17;
419 pub const SIGBUS: ::c_int = 7;
420 pub const SIGUSR1: ::c_int = 10;
421 pub const SIGUSR2: ::c_int = 12;
422 pub const SIGCONT: ::c_int = 18;
423 pub const SIGSTOP: ::c_int = 19;
424 pub const SIGTSTP: ::c_int = 20;
425 pub const SIGURG: ::c_int = 23;
426 pub const SIGIO: ::c_int = 29;
427 pub const SIGSYS: ::c_int = 31;
428 pub const SIGSTKFLT: ::c_int = 16;
429 #[deprecated(since = "0.2.55", note = "Use SIGSYS instead")]
430 pub const SIGUNUSED: ::c_int = 31;
431 pub const SIGPOLL: ::c_int = 29;
432 pub const SIGPWR: ::c_int = 30;
433 pub const SIG_SETMASK: ::c_int = 2;
434 pub const SIG_BLOCK: ::c_int = 0x000000;
435 pub const SIG_UNBLOCK: ::c_int = 0x01;
436 
437 pub const POLLWRNORM: ::c_short = 0x100;
438 pub const POLLWRBAND: ::c_short = 0x200;
439 
440 pub const O_ASYNC: ::c_int = 0x2000;
441 pub const O_NDELAY: ::c_int = 0x800;
442 
443 pub const PTRACE_DETACH: ::c_uint = 17;
444 
445 pub const EFD_NONBLOCK: ::c_int = 0x800;
446 
447 pub const F_GETLK: ::c_int = 5;
448 pub const F_GETOWN: ::c_int = 9;
449 pub const F_SETOWN: ::c_int = 8;
450 pub const F_SETLK: ::c_int = 6;
451 pub const F_SETLKW: ::c_int = 7;
452 pub const F_OFD_GETLK: ::c_int = 36;
453 pub const F_OFD_SETLK: ::c_int = 37;
454 pub const F_OFD_SETLKW: ::c_int = 38;
455 
456 pub const F_RDLCK: ::c_int = 0;
457 pub const F_WRLCK: ::c_int = 1;
458 pub const F_UNLCK: ::c_int = 2;
459 
460 pub const SFD_NONBLOCK: ::c_int = 0x0800;
461 
462 pub const TIOCEXCL: ::c_ulong = 0x540C;
463 pub const TIOCNXCL: ::c_ulong = 0x540D;
464 pub const TIOCSCTTY: ::c_ulong = 0x540E;
465 pub const TIOCSTI: ::c_ulong = 0x5412;
466 pub const TIOCMGET: ::c_ulong = 0x5415;
467 pub const TIOCMBIS: ::c_ulong = 0x5416;
468 pub const TIOCMBIC: ::c_ulong = 0x5417;
469 pub const TIOCMSET: ::c_ulong = 0x5418;
470 pub const TIOCGSOFTCAR: ::c_ulong = 0x5419;
471 pub const TIOCSSOFTCAR: ::c_ulong = 0x541A;
472 pub const TIOCCONS: ::c_ulong = 0x541D;
473 pub const TIOCSBRK: ::c_ulong = 0x5427;
474 pub const TIOCCBRK: ::c_ulong = 0x5428;
475 pub const TIOCGRS485: ::c_int = 0x542E;
476 pub const TIOCSRS485: ::c_int = 0x542F;
477 
478 pub const TIOCM_ST: ::c_int = 0x008;
479 pub const TIOCM_SR: ::c_int = 0x010;
480 pub const TIOCM_CTS: ::c_int = 0x020;
481 pub const TIOCM_CAR: ::c_int = 0x040;
482 pub const TIOCM_RNG: ::c_int = 0x080;
483 pub const TIOCM_DSR: ::c_int = 0x100;
484 
485 pub const SFD_CLOEXEC: ::c_int = 0x080000;
486 
487 pub const NCCS: usize = 32;
488 
489 pub const O_TRUNC: ::c_int = 512;
490 
491 pub const O_CLOEXEC: ::c_int = 0x80000;
492 
493 pub const EBFONT: ::c_int = 59;
494 pub const ENOSTR: ::c_int = 60;
495 pub const ENODATA: ::c_int = 61;
496 pub const ETIME: ::c_int = 62;
497 pub const ENOSR: ::c_int = 63;
498 pub const ENONET: ::c_int = 64;
499 pub const ENOPKG: ::c_int = 65;
500 pub const EREMOTE: ::c_int = 66;
501 pub const ENOLINK: ::c_int = 67;
502 pub const EADV: ::c_int = 68;
503 pub const ESRMNT: ::c_int = 69;
504 pub const ECOMM: ::c_int = 70;
505 pub const EPROTO: ::c_int = 71;
506 pub const EDOTDOT: ::c_int = 73;
507 
508 pub const SA_NODEFER: ::c_int = 0x40000000;
509 pub const SA_RESETHAND: ::c_int = 0x80000000;
510 pub const SA_RESTART: ::c_int = 0x10000000;
511 pub const SA_NOCLDSTOP: ::c_int = 0x00000001;
512 
513 pub const EPOLL_CLOEXEC: ::c_int = 0x80000;
514 
515 pub const EFD_CLOEXEC: ::c_int = 0x80000;
516 
517 pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 8;
518 pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 48;
519 pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 8;
520 
521 align_const! {
522     pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
523         pthread_mutex_t {
524             size: [
525                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
526                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
527                 0, 0, 0, 0, 0, 0,
528             ],
529         };
530     pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
531         pthread_mutex_t {
532             size: [
533                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
534                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
535                 0, 0, 0, 0, 0, 0,
536             ],
537         };
538     pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
539         pthread_mutex_t {
540             size: [
541                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
542                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
543                 0, 0, 0, 0, 0, 0,
544             ],
545         };
546 }
547 
548 pub const O_DIRECT: ::c_int = 0x10000;
549 pub const O_DIRECTORY: ::c_int = 0x4000;
550 pub const O_NOFOLLOW: ::c_int = 0x8000;
551 
552 pub const MAP_LOCKED: ::c_int = 0x02000;
553 pub const MAP_NORESERVE: ::c_int = 0x04000;
554 pub const MAP_ANON: ::c_int = 0x0020;
555 pub const MAP_ANONYMOUS: ::c_int = 0x0020;
556 pub const MAP_DENYWRITE: ::c_int = 0x0800;
557 pub const MAP_EXECUTABLE: ::c_int = 0x01000;
558 pub const MAP_POPULATE: ::c_int = 0x08000;
559 pub const MAP_NONBLOCK: ::c_int = 0x010000;
560 pub const MAP_STACK: ::c_int = 0x020000;
561 pub const MAP_HUGETLB: ::c_int = 0x040000;
562 pub const MAP_SYNC: ::c_int = 0x080000;
563 
564 pub const EDEADLOCK: ::c_int = 35;
565 
566 pub const FIOCLEX: ::c_ulong = 0x5451;
567 pub const FIONCLEX: ::c_ulong = 0x5450;
568 pub const FIONBIO: ::c_ulong = 0x5421;
569 
570 pub const MCL_CURRENT: ::c_int = 0x0001;
571 pub const MCL_FUTURE: ::c_int = 0x0002;
572 
573 pub const SIGSTKSZ: ::size_t = 16384;
574 pub const MINSIGSTKSZ: ::size_t = 5120;
575 pub const CBAUD: ::tcflag_t = 0o0010017;
576 pub const TAB1: ::tcflag_t = 0x00000800;
577 pub const TAB2: ::tcflag_t = 0x00001000;
578 pub const TAB3: ::tcflag_t = 0x00001800;
579 pub const CR1: ::tcflag_t = 0x00000200;
580 pub const CR2: ::tcflag_t = 0x00000400;
581 pub const CR3: ::tcflag_t = 0x00000600;
582 pub const FF1: ::tcflag_t = 0x00008000;
583 pub const BS1: ::tcflag_t = 0x00002000;
584 pub const VT1: ::tcflag_t = 0x00004000;
585 pub const VWERASE: usize = 14;
586 pub const VREPRINT: usize = 12;
587 pub const VSUSP: usize = 10;
588 pub const VSTART: usize = 8;
589 pub const VSTOP: usize = 9;
590 pub const VDISCARD: usize = 13;
591 pub const VTIME: usize = 5;
592 pub const IXON: ::tcflag_t = 0x00000400;
593 pub const IXOFF: ::tcflag_t = 0x00001000;
594 pub const ONLCR: ::tcflag_t = 0x4;
595 pub const CSIZE: ::tcflag_t = 0x00000030;
596 pub const CS6: ::tcflag_t = 0x00000010;
597 pub const CS7: ::tcflag_t = 0x00000020;
598 pub const CS8: ::tcflag_t = 0x00000030;
599 pub const CSTOPB: ::tcflag_t = 0x00000040;
600 pub const CREAD: ::tcflag_t = 0x00000080;
601 pub const PARENB: ::tcflag_t = 0x00000100;
602 pub const PARODD: ::tcflag_t = 0x00000200;
603 pub const HUPCL: ::tcflag_t = 0x00000400;
604 pub const CLOCAL: ::tcflag_t = 0x00000800;
605 pub const ECHOKE: ::tcflag_t = 0x00000800;
606 pub const ECHOE: ::tcflag_t = 0x00000010;
607 pub const ECHOK: ::tcflag_t = 0x00000020;
608 pub const ECHONL: ::tcflag_t = 0x00000040;
609 pub const ECHOPRT: ::tcflag_t = 0x00000400;
610 pub const ECHOCTL: ::tcflag_t = 0x00000200;
611 pub const ISIG: ::tcflag_t = 0x00000001;
612 pub const ICANON: ::tcflag_t = 0x00000002;
613 pub const PENDIN: ::tcflag_t = 0x00004000;
614 pub const NOFLSH: ::tcflag_t = 0x00000080;
615 pub const CIBAUD: ::tcflag_t = 0o02003600000;
616 pub const CBAUDEX: ::tcflag_t = 0o010000;
617 pub const VSWTC: usize = 7;
618 pub const OLCUC: ::tcflag_t = 0o000002;
619 pub const NLDLY: ::tcflag_t = 0o000400;
620 pub const CRDLY: ::tcflag_t = 0o003000;
621 pub const TABDLY: ::tcflag_t = 0o014000;
622 pub const BSDLY: ::tcflag_t = 0o020000;
623 pub const FFDLY: ::tcflag_t = 0o100000;
624 pub const VTDLY: ::tcflag_t = 0o040000;
625 pub const XTABS: ::tcflag_t = 0o014000;
626 
627 pub const B0: ::speed_t = 0o000000;
628 pub const B50: ::speed_t = 0o000001;
629 pub const B75: ::speed_t = 0o000002;
630 pub const B110: ::speed_t = 0o000003;
631 pub const B134: ::speed_t = 0o000004;
632 pub const B150: ::speed_t = 0o000005;
633 pub const B200: ::speed_t = 0o000006;
634 pub const B300: ::speed_t = 0o000007;
635 pub const B600: ::speed_t = 0o000010;
636 pub const B1200: ::speed_t = 0o000011;
637 pub const B1800: ::speed_t = 0o000012;
638 pub const B2400: ::speed_t = 0o000013;
639 pub const B4800: ::speed_t = 0o000014;
640 pub const B9600: ::speed_t = 0o000015;
641 pub const B19200: ::speed_t = 0o000016;
642 pub const B38400: ::speed_t = 0o000017;
643 pub const EXTA: ::speed_t = B19200;
644 pub const EXTB: ::speed_t = B38400;
645 pub const BOTHER: ::speed_t = 0o010000;
646 pub const B57600: ::speed_t = 0o010001;
647 pub const B115200: ::speed_t = 0o010002;
648 pub const B230400: ::speed_t = 0o010003;
649 pub const B460800: ::speed_t = 0o010004;
650 pub const B500000: ::speed_t = 0o010005;
651 pub const B576000: ::speed_t = 0o010006;
652 pub const B921600: ::speed_t = 0o010007;
653 pub const B1000000: ::speed_t = 0o010010;
654 pub const B1152000: ::speed_t = 0o010011;
655 pub const B1500000: ::speed_t = 0o010012;
656 pub const B2000000: ::speed_t = 0o010013;
657 pub const B2500000: ::speed_t = 0o010014;
658 pub const B3000000: ::speed_t = 0o010015;
659 pub const B3500000: ::speed_t = 0o010016;
660 pub const B4000000: ::speed_t = 0o010017;
661 
662 pub const VEOL: usize = 11;
663 pub const VEOL2: usize = 16;
664 pub const VMIN: usize = 6;
665 pub const IEXTEN: ::tcflag_t = 0x00008000;
666 pub const TOSTOP: ::tcflag_t = 0x00000100;
667 pub const FLUSHO: ::tcflag_t = 0x00001000;
668 pub const EXTPROC: ::tcflag_t = 0x00010000;
669 pub const TCGETS: ::c_ulong = 0x5401;
670 pub const TCSETS: ::c_ulong = 0x5402;
671 pub const TCSETSW: ::c_ulong = 0x5403;
672 pub const TCSETSF: ::c_ulong = 0x5404;
673 pub const TCGETA: ::c_ulong = 0x5405;
674 pub const TCSETA: ::c_ulong = 0x5406;
675 pub const TCSETAW: ::c_ulong = 0x5407;
676 pub const TCSETAF: ::c_ulong = 0x5408;
677 pub const TCSBRK: ::c_ulong = 0x5409;
678 pub const TCXONC: ::c_ulong = 0x540A;
679 pub const TCFLSH: ::c_ulong = 0x540B;
680 pub const TIOCINQ: ::c_ulong = 0x541B;
681 pub const TIOCGPGRP: ::c_ulong = 0x540F;
682 pub const TIOCSPGRP: ::c_ulong = 0x5410;
683 pub const TIOCOUTQ: ::c_ulong = 0x5411;
684 pub const TIOCGWINSZ: ::c_ulong = 0x5413;
685 pub const TIOCSWINSZ: ::c_ulong = 0x5414;
686 pub const FIONREAD: ::c_ulong = 0x541B;
687 
688 pub const TCSANOW: ::c_int = 0;
689 pub const TCSADRAIN: ::c_int = 1;
690 pub const TCSAFLUSH: ::c_int = 2;
691 
692 pub const TIOCLINUX: ::c_ulong = 0x541C;
693 pub const TIOCGSERIAL: ::c_ulong = 0x541E;
694 
695 // sys/auxv.h
696 pub const HWCAP_FP: ::c_ulong = 1 << 0;
697 pub const HWCAP_ASIMD: ::c_ulong = 1 << 1;
698 pub const HWCAP_EVTSTRM: ::c_ulong = 1 << 2;
699 pub const HWCAP_AES: ::c_ulong = 1 << 3;
700 pub const HWCAP_PMULL: ::c_ulong = 1 << 4;
701 pub const HWCAP_SHA1: ::c_ulong = 1 << 5;
702 pub const HWCAP_SHA2: ::c_ulong = 1 << 6;
703 pub const HWCAP_CRC32: ::c_ulong = 1 << 7;
704 pub const HWCAP_ATOMICS: ::c_ulong = 1 << 8;
705 pub const HWCAP_FPHP: ::c_ulong = 1 << 9;
706 pub const HWCAP_ASIMDHP: ::c_ulong = 1 << 10;
707 pub const HWCAP_CPUID: ::c_ulong = 1 << 11;
708 pub const HWCAP_ASIMDRDM: ::c_ulong = 1 << 12;
709 pub const HWCAP_JSCVT: ::c_ulong = 1 << 13;
710 pub const HWCAP_FCMA: ::c_ulong = 1 << 14;
711 pub const HWCAP_LRCPC: ::c_ulong = 1 << 15;
712 pub const HWCAP_DCPOP: ::c_ulong = 1 << 16;
713 pub const HWCAP_SHA3: ::c_ulong = 1 << 17;
714 pub const HWCAP_SM3: ::c_ulong = 1 << 18;
715 pub const HWCAP_SM4: ::c_ulong = 1 << 19;
716 pub const HWCAP_ASIMDDP: ::c_ulong = 1 << 20;
717 pub const HWCAP_SHA512: ::c_ulong = 1 << 21;
718 pub const HWCAP_SVE: ::c_ulong = 1 << 22;
719 pub const HWCAP_ASIMDFHM: ::c_ulong = 1 << 23;
720 pub const HWCAP_DIT: ::c_ulong = 1 << 24;
721 pub const HWCAP_USCAT: ::c_ulong = 1 << 25;
722 pub const HWCAP_ILRCPC: ::c_ulong = 1 << 26;
723 pub const HWCAP_FLAGM: ::c_ulong = 1 << 27;
724 pub const HWCAP_SSBS: ::c_ulong = 1 << 28;
725 pub const HWCAP_SB: ::c_ulong = 1 << 29;
726 pub const HWCAP_PACA: ::c_ulong = 1 << 30;
727 pub const HWCAP_PACG: ::c_ulong = 1 << 31;
728 // FIXME: enable these again once linux-api-headers are up to date enough on CI.
729 // See discussion in https://github.com/rust-lang/libc/pull/1638
730 //pub const HWCAP2_DCPODP: ::c_ulong = 1 << 0;
731 //pub const HWCAP2_SVE2: ::c_ulong = 1 << 1;
732 //pub const HWCAP2_SVEAES: ::c_ulong = 1 << 2;
733 //pub const HWCAP2_SVEPMULL: ::c_ulong = 1 << 3;
734 //pub const HWCAP2_SVEBITPERM: ::c_ulong = 1 << 4;
735 //pub const HWCAP2_SVESHA3: ::c_ulong = 1 << 5;
736 //pub const HWCAP2_SVESM4: ::c_ulong = 1 << 6;
737 //pub const HWCAP2_FLAGM2: ::c_ulong = 1 << 7;
738 //pub const HWCAP2_FRINT: ::c_ulong = 1 << 8;
739 
740 // Syscall table
741 pub const SYS_io_setup: ::c_long = 0;
742 pub const SYS_io_destroy: ::c_long = 1;
743 pub const SYS_io_submit: ::c_long = 2;
744 pub const SYS_io_cancel: ::c_long = 3;
745 pub const SYS_io_getevents: ::c_long = 4;
746 pub const SYS_setxattr: ::c_long = 5;
747 pub const SYS_lsetxattr: ::c_long = 6;
748 pub const SYS_fsetxattr: ::c_long = 7;
749 pub const SYS_getxattr: ::c_long = 8;
750 pub const SYS_lgetxattr: ::c_long = 9;
751 pub const SYS_fgetxattr: ::c_long = 10;
752 pub const SYS_listxattr: ::c_long = 11;
753 pub const SYS_llistxattr: ::c_long = 12;
754 pub const SYS_flistxattr: ::c_long = 13;
755 pub const SYS_removexattr: ::c_long = 14;
756 pub const SYS_lremovexattr: ::c_long = 15;
757 pub const SYS_fremovexattr: ::c_long = 16;
758 pub const SYS_getcwd: ::c_long = 17;
759 pub const SYS_lookup_dcookie: ::c_long = 18;
760 pub const SYS_eventfd2: ::c_long = 19;
761 pub const SYS_epoll_create1: ::c_long = 20;
762 pub const SYS_epoll_ctl: ::c_long = 21;
763 pub const SYS_epoll_pwait: ::c_long = 22;
764 pub const SYS_dup: ::c_long = 23;
765 pub const SYS_dup3: ::c_long = 24;
766 pub const SYS_fcntl: ::c_long = 25;
767 pub const SYS_inotify_init1: ::c_long = 26;
768 pub const SYS_inotify_add_watch: ::c_long = 27;
769 pub const SYS_inotify_rm_watch: ::c_long = 28;
770 pub const SYS_ioctl: ::c_long = 29;
771 pub const SYS_ioprio_set: ::c_long = 30;
772 pub const SYS_ioprio_get: ::c_long = 31;
773 pub const SYS_flock: ::c_long = 32;
774 pub const SYS_mknodat: ::c_long = 33;
775 pub const SYS_mkdirat: ::c_long = 34;
776 pub const SYS_unlinkat: ::c_long = 35;
777 pub const SYS_symlinkat: ::c_long = 36;
778 pub const SYS_linkat: ::c_long = 37;
779 pub const SYS_renameat: ::c_long = 38;
780 pub const SYS_umount2: ::c_long = 39;
781 pub const SYS_mount: ::c_long = 40;
782 pub const SYS_pivot_root: ::c_long = 41;
783 pub const SYS_nfsservctl: ::c_long = 42;
784 pub const SYS_statfs: ::c_long = 43;
785 pub const SYS_fstatfs: ::c_long = 44;
786 pub const SYS_truncate: ::c_long = 45;
787 pub const SYS_ftruncate: ::c_long = 46;
788 pub const SYS_fallocate: ::c_long = 47;
789 pub const SYS_faccessat: ::c_long = 48;
790 pub const SYS_chdir: ::c_long = 49;
791 pub const SYS_fchdir: ::c_long = 50;
792 pub const SYS_chroot: ::c_long = 51;
793 pub const SYS_fchmod: ::c_long = 52;
794 pub const SYS_fchmodat: ::c_long = 53;
795 pub const SYS_fchownat: ::c_long = 54;
796 pub const SYS_fchown: ::c_long = 55;
797 pub const SYS_openat: ::c_long = 56;
798 pub const SYS_close: ::c_long = 57;
799 pub const SYS_vhangup: ::c_long = 58;
800 pub const SYS_pipe2: ::c_long = 59;
801 pub const SYS_quotactl: ::c_long = 60;
802 pub const SYS_getdents64: ::c_long = 61;
803 pub const SYS_lseek: ::c_long = 62;
804 pub const SYS_read: ::c_long = 63;
805 pub const SYS_write: ::c_long = 64;
806 pub const SYS_readv: ::c_long = 65;
807 pub const SYS_writev: ::c_long = 66;
808 pub const SYS_pread64: ::c_long = 67;
809 pub const SYS_pwrite64: ::c_long = 68;
810 pub const SYS_preadv: ::c_long = 69;
811 pub const SYS_pwritev: ::c_long = 70;
812 pub const SYS_pselect6: ::c_long = 72;
813 pub const SYS_ppoll: ::c_long = 73;
814 pub const SYS_signalfd4: ::c_long = 74;
815 pub const SYS_vmsplice: ::c_long = 75;
816 pub const SYS_splice: ::c_long = 76;
817 pub const SYS_tee: ::c_long = 77;
818 pub const SYS_readlinkat: ::c_long = 78;
819 pub const SYS_newfstatat: ::c_long = 79;
820 pub const SYS_fstat: ::c_long = 80;
821 pub const SYS_sync: ::c_long = 81;
822 pub const SYS_fsync: ::c_long = 82;
823 pub const SYS_fdatasync: ::c_long = 83;
824 pub const SYS_sync_file_range: ::c_long = 84;
825 pub const SYS_timerfd_create: ::c_long = 85;
826 pub const SYS_timerfd_settime: ::c_long = 86;
827 pub const SYS_timerfd_gettime: ::c_long = 87;
828 pub const SYS_utimensat: ::c_long = 88;
829 pub const SYS_acct: ::c_long = 89;
830 pub const SYS_capget: ::c_long = 90;
831 pub const SYS_capset: ::c_long = 91;
832 pub const SYS_personality: ::c_long = 92;
833 pub const SYS_exit: ::c_long = 93;
834 pub const SYS_exit_group: ::c_long = 94;
835 pub const SYS_waitid: ::c_long = 95;
836 pub const SYS_set_tid_address: ::c_long = 96;
837 pub const SYS_unshare: ::c_long = 97;
838 pub const SYS_futex: ::c_long = 98;
839 pub const SYS_set_robust_list: ::c_long = 99;
840 pub const SYS_get_robust_list: ::c_long = 100;
841 pub const SYS_nanosleep: ::c_long = 101;
842 pub const SYS_getitimer: ::c_long = 102;
843 pub const SYS_setitimer: ::c_long = 103;
844 pub const SYS_kexec_load: ::c_long = 104;
845 pub const SYS_init_module: ::c_long = 105;
846 pub const SYS_delete_module: ::c_long = 106;
847 pub const SYS_timer_create: ::c_long = 107;
848 pub const SYS_timer_gettime: ::c_long = 108;
849 pub const SYS_timer_getoverrun: ::c_long = 109;
850 pub const SYS_timer_settime: ::c_long = 110;
851 pub const SYS_timer_delete: ::c_long = 111;
852 pub const SYS_clock_settime: ::c_long = 112;
853 pub const SYS_clock_gettime: ::c_long = 113;
854 pub const SYS_clock_getres: ::c_long = 114;
855 pub const SYS_clock_nanosleep: ::c_long = 115;
856 pub const SYS_syslog: ::c_long = 116;
857 pub const SYS_ptrace: ::c_long = 117;
858 pub const SYS_sched_setparam: ::c_long = 118;
859 pub const SYS_sched_setscheduler: ::c_long = 119;
860 pub const SYS_sched_getscheduler: ::c_long = 120;
861 pub const SYS_sched_getparam: ::c_long = 121;
862 pub const SYS_sched_setaffinity: ::c_long = 122;
863 pub const SYS_sched_getaffinity: ::c_long = 123;
864 pub const SYS_sched_yield: ::c_long = 124;
865 pub const SYS_sched_get_priority_max: ::c_long = 125;
866 pub const SYS_sched_get_priority_min: ::c_long = 126;
867 pub const SYS_sched_rr_get_interval: ::c_long = 127;
868 pub const SYS_restart_syscall: ::c_long = 128;
869 pub const SYS_kill: ::c_long = 129;
870 pub const SYS_tkill: ::c_long = 130;
871 pub const SYS_tgkill: ::c_long = 131;
872 pub const SYS_sigaltstack: ::c_long = 132;
873 pub const SYS_rt_sigsuspend: ::c_long = 133;
874 pub const SYS_rt_sigaction: ::c_long = 134;
875 pub const SYS_rt_sigprocmask: ::c_long = 135;
876 pub const SYS_rt_sigpending: ::c_long = 136;
877 pub const SYS_rt_sigtimedwait: ::c_long = 137;
878 pub const SYS_rt_sigqueueinfo: ::c_long = 138;
879 pub const SYS_rt_sigreturn: ::c_long = 139;
880 pub const SYS_setpriority: ::c_long = 140;
881 pub const SYS_getpriority: ::c_long = 141;
882 pub const SYS_reboot: ::c_long = 142;
883 pub const SYS_setregid: ::c_long = 143;
884 pub const SYS_setgid: ::c_long = 144;
885 pub const SYS_setreuid: ::c_long = 145;
886 pub const SYS_setuid: ::c_long = 146;
887 pub const SYS_setresuid: ::c_long = 147;
888 pub const SYS_getresuid: ::c_long = 148;
889 pub const SYS_setresgid: ::c_long = 149;
890 pub const SYS_getresgid: ::c_long = 150;
891 pub const SYS_setfsuid: ::c_long = 151;
892 pub const SYS_setfsgid: ::c_long = 152;
893 pub const SYS_times: ::c_long = 153;
894 pub const SYS_setpgid: ::c_long = 154;
895 pub const SYS_getpgid: ::c_long = 155;
896 pub const SYS_getsid: ::c_long = 156;
897 pub const SYS_setsid: ::c_long = 157;
898 pub const SYS_getgroups: ::c_long = 158;
899 pub const SYS_setgroups: ::c_long = 159;
900 pub const SYS_uname: ::c_long = 160;
901 pub const SYS_sethostname: ::c_long = 161;
902 pub const SYS_setdomainname: ::c_long = 162;
903 pub const SYS_getrlimit: ::c_long = 163;
904 pub const SYS_setrlimit: ::c_long = 164;
905 pub const SYS_getrusage: ::c_long = 165;
906 pub const SYS_umask: ::c_long = 166;
907 pub const SYS_prctl: ::c_long = 167;
908 pub const SYS_getcpu: ::c_long = 168;
909 pub const SYS_gettimeofday: ::c_long = 169;
910 pub const SYS_settimeofday: ::c_long = 170;
911 pub const SYS_adjtimex: ::c_long = 171;
912 pub const SYS_getpid: ::c_long = 172;
913 pub const SYS_getppid: ::c_long = 173;
914 pub const SYS_getuid: ::c_long = 174;
915 pub const SYS_geteuid: ::c_long = 175;
916 pub const SYS_getgid: ::c_long = 176;
917 pub const SYS_getegid: ::c_long = 177;
918 pub const SYS_gettid: ::c_long = 178;
919 pub const SYS_sysinfo: ::c_long = 179;
920 pub const SYS_mq_open: ::c_long = 180;
921 pub const SYS_mq_unlink: ::c_long = 181;
922 pub const SYS_mq_timedsend: ::c_long = 182;
923 pub const SYS_mq_timedreceive: ::c_long = 183;
924 pub const SYS_mq_notify: ::c_long = 184;
925 pub const SYS_mq_getsetattr: ::c_long = 185;
926 pub const SYS_msgget: ::c_long = 186;
927 pub const SYS_msgctl: ::c_long = 187;
928 pub const SYS_msgrcv: ::c_long = 188;
929 pub const SYS_msgsnd: ::c_long = 189;
930 pub const SYS_semget: ::c_long = 190;
931 pub const SYS_semctl: ::c_long = 191;
932 pub const SYS_semtimedop: ::c_long = 192;
933 pub const SYS_semop: ::c_long = 193;
934 pub const SYS_shmget: ::c_long = 194;
935 pub const SYS_shmctl: ::c_long = 195;
936 pub const SYS_shmat: ::c_long = 196;
937 pub const SYS_shmdt: ::c_long = 197;
938 pub const SYS_socket: ::c_long = 198;
939 pub const SYS_socketpair: ::c_long = 199;
940 pub const SYS_bind: ::c_long = 200;
941 pub const SYS_listen: ::c_long = 201;
942 pub const SYS_accept: ::c_long = 202;
943 pub const SYS_connect: ::c_long = 203;
944 pub const SYS_getsockname: ::c_long = 204;
945 pub const SYS_getpeername: ::c_long = 205;
946 pub const SYS_sendto: ::c_long = 206;
947 pub const SYS_recvfrom: ::c_long = 207;
948 pub const SYS_setsockopt: ::c_long = 208;
949 pub const SYS_getsockopt: ::c_long = 209;
950 pub const SYS_shutdown: ::c_long = 210;
951 pub const SYS_sendmsg: ::c_long = 211;
952 pub const SYS_recvmsg: ::c_long = 212;
953 pub const SYS_readahead: ::c_long = 213;
954 pub const SYS_brk: ::c_long = 214;
955 pub const SYS_munmap: ::c_long = 215;
956 pub const SYS_mremap: ::c_long = 216;
957 pub const SYS_add_key: ::c_long = 217;
958 pub const SYS_request_key: ::c_long = 218;
959 pub const SYS_keyctl: ::c_long = 219;
960 pub const SYS_clone: ::c_long = 220;
961 pub const SYS_execve: ::c_long = 221;
962 pub const SYS_mmap: ::c_long = 222;
963 pub const SYS_swapon: ::c_long = 224;
964 pub const SYS_swapoff: ::c_long = 225;
965 pub const SYS_mprotect: ::c_long = 226;
966 pub const SYS_msync: ::c_long = 227;
967 pub const SYS_mlock: ::c_long = 228;
968 pub const SYS_munlock: ::c_long = 229;
969 pub const SYS_mlockall: ::c_long = 230;
970 pub const SYS_munlockall: ::c_long = 231;
971 pub const SYS_mincore: ::c_long = 232;
972 pub const SYS_madvise: ::c_long = 233;
973 pub const SYS_remap_file_pages: ::c_long = 234;
974 pub const SYS_mbind: ::c_long = 235;
975 pub const SYS_get_mempolicy: ::c_long = 236;
976 pub const SYS_set_mempolicy: ::c_long = 237;
977 pub const SYS_migrate_pages: ::c_long = 238;
978 pub const SYS_move_pages: ::c_long = 239;
979 pub const SYS_rt_tgsigqueueinfo: ::c_long = 240;
980 pub const SYS_perf_event_open: ::c_long = 241;
981 pub const SYS_accept4: ::c_long = 242;
982 pub const SYS_recvmmsg: ::c_long = 243;
983 pub const SYS_wait4: ::c_long = 260;
984 pub const SYS_prlimit64: ::c_long = 261;
985 pub const SYS_fanotify_init: ::c_long = 262;
986 pub const SYS_fanotify_mark: ::c_long = 263;
987 pub const SYS_name_to_handle_at: ::c_long = 264;
988 pub const SYS_open_by_handle_at: ::c_long = 265;
989 pub const SYS_clock_adjtime: ::c_long = 266;
990 pub const SYS_syncfs: ::c_long = 267;
991 pub const SYS_setns: ::c_long = 268;
992 pub const SYS_sendmmsg: ::c_long = 269;
993 pub const SYS_process_vm_readv: ::c_long = 270;
994 pub const SYS_process_vm_writev: ::c_long = 271;
995 pub const SYS_kcmp: ::c_long = 272;
996 pub const SYS_finit_module: ::c_long = 273;
997 pub const SYS_sched_setattr: ::c_long = 274;
998 pub const SYS_sched_getattr: ::c_long = 275;
999 pub const SYS_renameat2: ::c_long = 276;
1000 pub const SYS_seccomp: ::c_long = 277;
1001 pub const SYS_getrandom: ::c_long = 278;
1002 pub const SYS_memfd_create: ::c_long = 279;
1003 pub const SYS_bpf: ::c_long = 280;
1004 pub const SYS_execveat: ::c_long = 281;
1005 pub const SYS_userfaultfd: ::c_long = 282;
1006 pub const SYS_membarrier: ::c_long = 283;
1007 pub const SYS_mlock2: ::c_long = 284;
1008 pub const SYS_copy_file_range: ::c_long = 285;
1009 pub const SYS_preadv2: ::c_long = 286;
1010 pub const SYS_pwritev2: ::c_long = 287;
1011 pub const SYS_pkey_mprotect: ::c_long = 288;
1012 pub const SYS_pkey_alloc: ::c_long = 289;
1013 pub const SYS_pkey_free: ::c_long = 290;
1014 pub const SYS_statx: ::c_long = 291;
1015 pub const SYS_pidfd_open: ::c_long = 434;
1016 pub const SYS_clone3: ::c_long = 435;
1017 
1018 #[link(name = "util")]
1019 extern "C" {
1020     pub fn sysctl(
1021         name: *mut ::c_int,
1022         namelen: ::c_int,
1023         oldp: *mut ::c_void,
1024         oldlenp: *mut ::size_t,
1025         newp: *mut ::c_void,
1026         newlen: ::size_t,
1027     ) -> ::c_int;
1028 }
1029 
1030 cfg_if! {
1031     if #[cfg(libc_align)] {
1032         mod align;
1033         pub use self::align::*;
1034     }
1035 }
1036