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