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 
433 pub const F_RDLCK: ::c_int = 0;
434 pub const F_WRLCK: ::c_int = 1;
435 pub const F_UNLCK: ::c_int = 2;
436 
437 pub const SFD_NONBLOCK: ::c_int = 0x0800;
438 
439 pub const TIOCEXCL: ::c_ulong = 0x540C;
440 pub const TIOCNXCL: ::c_ulong = 0x540D;
441 pub const TIOCSCTTY: ::c_ulong = 0x540E;
442 pub const TIOCSTI: ::c_ulong = 0x5412;
443 pub const TIOCMGET: ::c_ulong = 0x5415;
444 pub const TIOCMBIS: ::c_ulong = 0x5416;
445 pub const TIOCMBIC: ::c_ulong = 0x5417;
446 pub const TIOCMSET: ::c_ulong = 0x5418;
447 pub const TIOCCONS: ::c_ulong = 0x541D;
448 
449 pub const TIOCM_ST: ::c_int = 0x008;
450 pub const TIOCM_SR: ::c_int = 0x010;
451 pub const TIOCM_CTS: ::c_int = 0x020;
452 pub const TIOCM_CAR: ::c_int = 0x040;
453 pub const TIOCM_RNG: ::c_int = 0x080;
454 pub const TIOCM_DSR: ::c_int = 0x100;
455 
456 pub const SFD_CLOEXEC: ::c_int = 0x080000;
457 
458 pub const NCCS: usize = 32;
459 
460 pub const O_TRUNC: ::c_int = 512;
461 
462 pub const O_CLOEXEC: ::c_int = 0x80000;
463 
464 pub const EBFONT: ::c_int = 59;
465 pub const ENOSTR: ::c_int = 60;
466 pub const ENODATA: ::c_int = 61;
467 pub const ETIME: ::c_int = 62;
468 pub const ENOSR: ::c_int = 63;
469 pub const ENONET: ::c_int = 64;
470 pub const ENOPKG: ::c_int = 65;
471 pub const EREMOTE: ::c_int = 66;
472 pub const ENOLINK: ::c_int = 67;
473 pub const EADV: ::c_int = 68;
474 pub const ESRMNT: ::c_int = 69;
475 pub const ECOMM: ::c_int = 70;
476 pub const EPROTO: ::c_int = 71;
477 pub const EDOTDOT: ::c_int = 73;
478 
479 pub const SA_NODEFER: ::c_int = 0x40000000;
480 pub const SA_RESETHAND: ::c_int = 0x80000000;
481 pub const SA_RESTART: ::c_int = 0x10000000;
482 pub const SA_NOCLDSTOP: ::c_int = 0x00000001;
483 
484 pub const EPOLL_CLOEXEC: ::c_int = 0x80000;
485 
486 pub const EFD_CLOEXEC: ::c_int = 0x80000;
487 
488 pub const __SIZEOF_PTHREAD_CONDATTR_T: usize = 8;
489 pub const __SIZEOF_PTHREAD_MUTEX_T: usize = 48;
490 pub const __SIZEOF_PTHREAD_MUTEXATTR_T: usize = 8;
491 
492 align_const! {
493     pub const PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
494         pthread_mutex_t {
495             size: [
496                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
497                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498                 0, 0, 0, 0, 0, 0,
499             ],
500         };
501     pub const PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
502         pthread_mutex_t {
503             size: [
504                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
505                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506                 0, 0, 0, 0, 0, 0,
507             ],
508         };
509     pub const PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP: ::pthread_mutex_t =
510         pthread_mutex_t {
511             size: [
512                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0,
513                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
514                 0, 0, 0, 0, 0, 0,
515             ],
516         };
517 }
518 
519 pub const O_DIRECT: ::c_int = 0x10000;
520 pub const O_DIRECTORY: ::c_int = 0x4000;
521 pub const O_NOFOLLOW: ::c_int = 0x8000;
522 
523 pub const MAP_LOCKED: ::c_int = 0x02000;
524 pub const MAP_NORESERVE: ::c_int = 0x04000;
525 pub const MAP_ANON: ::c_int = 0x0020;
526 pub const MAP_ANONYMOUS: ::c_int = 0x0020;
527 pub const MAP_DENYWRITE: ::c_int = 0x0800;
528 pub const MAP_EXECUTABLE: ::c_int = 0x01000;
529 pub const MAP_POPULATE: ::c_int = 0x08000;
530 pub const MAP_NONBLOCK: ::c_int = 0x010000;
531 pub const MAP_STACK: ::c_int = 0x020000;
532 pub const MAP_HUGETLB: ::c_int = 0x040000;
533 
534 pub const EDEADLOCK: ::c_int = 35;
535 
536 pub const FIOCLEX: ::c_ulong = 0x5451;
537 pub const FIONCLEX: ::c_ulong = 0x5450;
538 pub const FIONBIO: ::c_ulong = 0x5421;
539 
540 pub const MCL_CURRENT: ::c_int = 0x0001;
541 pub const MCL_FUTURE: ::c_int = 0x0002;
542 
543 pub const SIGSTKSZ: ::size_t = 16384;
544 pub const MINSIGSTKSZ: ::size_t = 5120;
545 pub const CBAUD: ::tcflag_t = 0o0010017;
546 pub const TAB1: ::tcflag_t = 0x00000800;
547 pub const TAB2: ::tcflag_t = 0x00001000;
548 pub const TAB3: ::tcflag_t = 0x00001800;
549 pub const CR1: ::tcflag_t = 0x00000200;
550 pub const CR2: ::tcflag_t = 0x00000400;
551 pub const CR3: ::tcflag_t = 0x00000600;
552 pub const FF1: ::tcflag_t = 0x00008000;
553 pub const BS1: ::tcflag_t = 0x00002000;
554 pub const VT1: ::tcflag_t = 0x00004000;
555 pub const VWERASE: usize = 14;
556 pub const VREPRINT: usize = 12;
557 pub const VSUSP: usize = 10;
558 pub const VSTART: usize = 8;
559 pub const VSTOP: usize = 9;
560 pub const VDISCARD: usize = 13;
561 pub const VTIME: usize = 5;
562 pub const IXON: ::tcflag_t = 0x00000400;
563 pub const IXOFF: ::tcflag_t = 0x00001000;
564 pub const ONLCR: ::tcflag_t = 0x4;
565 pub const CSIZE: ::tcflag_t = 0x00000030;
566 pub const CS6: ::tcflag_t = 0x00000010;
567 pub const CS7: ::tcflag_t = 0x00000020;
568 pub const CS8: ::tcflag_t = 0x00000030;
569 pub const CSTOPB: ::tcflag_t = 0x00000040;
570 pub const CREAD: ::tcflag_t = 0x00000080;
571 pub const PARENB: ::tcflag_t = 0x00000100;
572 pub const PARODD: ::tcflag_t = 0x00000200;
573 pub const HUPCL: ::tcflag_t = 0x00000400;
574 pub const CLOCAL: ::tcflag_t = 0x00000800;
575 pub const ECHOKE: ::tcflag_t = 0x00000800;
576 pub const ECHOE: ::tcflag_t = 0x00000010;
577 pub const ECHOK: ::tcflag_t = 0x00000020;
578 pub const ECHONL: ::tcflag_t = 0x00000040;
579 pub const ECHOPRT: ::tcflag_t = 0x00000400;
580 pub const ECHOCTL: ::tcflag_t = 0x00000200;
581 pub const ISIG: ::tcflag_t = 0x00000001;
582 pub const ICANON: ::tcflag_t = 0x00000002;
583 pub const PENDIN: ::tcflag_t = 0x00004000;
584 pub const NOFLSH: ::tcflag_t = 0x00000080;
585 pub const CIBAUD: ::tcflag_t = 0o02003600000;
586 pub const CBAUDEX: ::tcflag_t = 0o010000;
587 pub const VSWTC: usize = 7;
588 pub const OLCUC: ::tcflag_t = 0o000002;
589 pub const NLDLY: ::tcflag_t = 0o000400;
590 pub const CRDLY: ::tcflag_t = 0o003000;
591 pub const TABDLY: ::tcflag_t = 0o014000;
592 pub const BSDLY: ::tcflag_t = 0o020000;
593 pub const FFDLY: ::tcflag_t = 0o100000;
594 pub const VTDLY: ::tcflag_t = 0o040000;
595 pub const XTABS: ::tcflag_t = 0o014000;
596 
597 pub const B0: ::speed_t = 0o000000;
598 pub const B50: ::speed_t = 0o000001;
599 pub const B75: ::speed_t = 0o000002;
600 pub const B110: ::speed_t = 0o000003;
601 pub const B134: ::speed_t = 0o000004;
602 pub const B150: ::speed_t = 0o000005;
603 pub const B200: ::speed_t = 0o000006;
604 pub const B300: ::speed_t = 0o000007;
605 pub const B600: ::speed_t = 0o000010;
606 pub const B1200: ::speed_t = 0o000011;
607 pub const B1800: ::speed_t = 0o000012;
608 pub const B2400: ::speed_t = 0o000013;
609 pub const B4800: ::speed_t = 0o000014;
610 pub const B9600: ::speed_t = 0o000015;
611 pub const B19200: ::speed_t = 0o000016;
612 pub const B38400: ::speed_t = 0o000017;
613 pub const EXTA: ::speed_t = B19200;
614 pub const EXTB: ::speed_t = B38400;
615 pub const BOTHER: ::speed_t = 0o010000;
616 pub const B57600: ::speed_t = 0o010001;
617 pub const B115200: ::speed_t = 0o010002;
618 pub const B230400: ::speed_t = 0o010003;
619 pub const B460800: ::speed_t = 0o010004;
620 pub const B500000: ::speed_t = 0o010005;
621 pub const B576000: ::speed_t = 0o010006;
622 pub const B921600: ::speed_t = 0o010007;
623 pub const B1000000: ::speed_t = 0o010010;
624 pub const B1152000: ::speed_t = 0o010011;
625 pub const B1500000: ::speed_t = 0o010012;
626 pub const B2000000: ::speed_t = 0o010013;
627 pub const B2500000: ::speed_t = 0o010014;
628 pub const B3000000: ::speed_t = 0o010015;
629 pub const B3500000: ::speed_t = 0o010016;
630 pub const B4000000: ::speed_t = 0o010017;
631 
632 pub const VEOL: usize = 11;
633 pub const VEOL2: usize = 16;
634 pub const VMIN: usize = 6;
635 pub const IEXTEN: ::tcflag_t = 0x00008000;
636 pub const TOSTOP: ::tcflag_t = 0x00000100;
637 pub const FLUSHO: ::tcflag_t = 0x00001000;
638 pub const EXTPROC: ::tcflag_t = 0x00010000;
639 pub const TCGETS: ::c_ulong = 0x5401;
640 pub const TCSETS: ::c_ulong = 0x5402;
641 pub const TCSETSW: ::c_ulong = 0x5403;
642 pub const TCSETSF: ::c_ulong = 0x5404;
643 pub const TCGETA: ::c_ulong = 0x5405;
644 pub const TCSETA: ::c_ulong = 0x5406;
645 pub const TCSETAW: ::c_ulong = 0x5407;
646 pub const TCSETAF: ::c_ulong = 0x5408;
647 pub const TCSBRK: ::c_ulong = 0x5409;
648 pub const TCXONC: ::c_ulong = 0x540A;
649 pub const TCFLSH: ::c_ulong = 0x540B;
650 pub const TIOCINQ: ::c_ulong = 0x541B;
651 pub const TIOCGPGRP: ::c_ulong = 0x540F;
652 pub const TIOCSPGRP: ::c_ulong = 0x5410;
653 pub const TIOCOUTQ: ::c_ulong = 0x5411;
654 pub const TIOCGWINSZ: ::c_ulong = 0x5413;
655 pub const TIOCSWINSZ: ::c_ulong = 0x5414;
656 pub const FIONREAD: ::c_ulong = 0x541B;
657 
658 pub const TCSANOW: ::c_int = 0;
659 pub const TCSADRAIN: ::c_int = 1;
660 pub const TCSAFLUSH: ::c_int = 2;
661 
662 pub const TIOCLINUX: ::c_ulong = 0x541C;
663 pub const TIOCGSERIAL: ::c_ulong = 0x541E;
664 
665 // sys/auxv.h
666 pub const HWCAP_FP: ::c_ulong = 1 << 0;
667 pub const HWCAP_ASIMD: ::c_ulong = 1 << 1;
668 pub const HWCAP_EVTSTRM: ::c_ulong = 1 << 2;
669 pub const HWCAP_AES: ::c_ulong = 1 << 3;
670 pub const HWCAP_PMULL: ::c_ulong = 1 << 4;
671 pub const HWCAP_SHA1: ::c_ulong = 1 << 5;
672 pub const HWCAP_SHA2: ::c_ulong = 1 << 6;
673 pub const HWCAP_CRC32: ::c_ulong = 1 << 7;
674 pub const HWCAP_ATOMICS: ::c_ulong = 1 << 8;
675 pub const HWCAP_FPHP: ::c_ulong = 1 << 9;
676 pub const HWCAP_ASIMDHP: ::c_ulong = 1 << 10;
677 pub const HWCAP_CPUID: ::c_ulong = 1 << 11;
678 pub const HWCAP_ASIMDRDM: ::c_ulong = 1 << 12;
679 pub const HWCAP_JSCVT: ::c_ulong = 1 << 13;
680 pub const HWCAP_FCMA: ::c_ulong = 1 << 14;
681 pub const HWCAP_LRCPC: ::c_ulong = 1 << 15;
682 pub const HWCAP_DCPOP: ::c_ulong = 1 << 16;
683 pub const HWCAP_SHA3: ::c_ulong = 1 << 17;
684 pub const HWCAP_SM3: ::c_ulong = 1 << 18;
685 pub const HWCAP_SM4: ::c_ulong = 1 << 19;
686 pub const HWCAP_ASIMDDP: ::c_ulong = 1 << 20;
687 pub const HWCAP_SHA512: ::c_ulong = 1 << 21;
688 pub const HWCAP_SVE: ::c_ulong = 1 << 22;
689 pub const HWCAP_ASIMDFHM: ::c_ulong = 1 << 23;
690 pub const HWCAP_DIT: ::c_ulong = 1 << 24;
691 pub const HWCAP_USCAT: ::c_ulong = 1 << 25;
692 pub const HWCAP_ILRCPC: ::c_ulong = 1 << 26;
693 pub const HWCAP_FLAGM: ::c_ulong = 1 << 27;
694 pub const HWCAP_SSBS: ::c_ulong = 1 << 28;
695 pub const HWCAP_SB: ::c_ulong = 1 << 29;
696 pub const HWCAP_PACA: ::c_ulong = 1 << 30;
697 pub const HWCAP_PACG: ::c_ulong = 1 << 31;
698 // TODO: enable these again once linux-api-headers are up to date enough on CI.
699 // See discussion in https://github.com/rust-lang/libc/pull/1638
700 //pub const HWCAP2_DCPODP: ::c_ulong = 1 << 0;
701 //pub const HWCAP2_SVE2: ::c_ulong = 1 << 1;
702 //pub const HWCAP2_SVEAES: ::c_ulong = 1 << 2;
703 //pub const HWCAP2_SVEPMULL: ::c_ulong = 1 << 3;
704 //pub const HWCAP2_SVEBITPERM: ::c_ulong = 1 << 4;
705 //pub const HWCAP2_SVESHA3: ::c_ulong = 1 << 5;
706 //pub const HWCAP2_SVESM4: ::c_ulong = 1 << 6;
707 //pub const HWCAP2_FLAGM2: ::c_ulong = 1 << 7;
708 //pub const HWCAP2_FRINT: ::c_ulong = 1 << 8;
709 
710 // Syscall table
711 pub const SYS_io_setup: ::c_long = 0;
712 pub const SYS_io_destroy: ::c_long = 1;
713 pub const SYS_io_submit: ::c_long = 2;
714 pub const SYS_io_cancel: ::c_long = 3;
715 pub const SYS_io_getevents: ::c_long = 4;
716 pub const SYS_setxattr: ::c_long = 5;
717 pub const SYS_lsetxattr: ::c_long = 6;
718 pub const SYS_fsetxattr: ::c_long = 7;
719 pub const SYS_getxattr: ::c_long = 8;
720 pub const SYS_lgetxattr: ::c_long = 9;
721 pub const SYS_fgetxattr: ::c_long = 10;
722 pub const SYS_listxattr: ::c_long = 11;
723 pub const SYS_llistxattr: ::c_long = 12;
724 pub const SYS_flistxattr: ::c_long = 13;
725 pub const SYS_removexattr: ::c_long = 14;
726 pub const SYS_lremovexattr: ::c_long = 15;
727 pub const SYS_fremovexattr: ::c_long = 16;
728 pub const SYS_getcwd: ::c_long = 17;
729 pub const SYS_lookup_dcookie: ::c_long = 18;
730 pub const SYS_eventfd2: ::c_long = 19;
731 pub const SYS_epoll_create1: ::c_long = 20;
732 pub const SYS_epoll_ctl: ::c_long = 21;
733 pub const SYS_epoll_pwait: ::c_long = 22;
734 pub const SYS_dup: ::c_long = 23;
735 pub const SYS_dup3: ::c_long = 24;
736 pub const SYS_fcntl: ::c_long = 25;
737 pub const SYS_inotify_init1: ::c_long = 26;
738 pub const SYS_inotify_add_watch: ::c_long = 27;
739 pub const SYS_inotify_rm_watch: ::c_long = 28;
740 pub const SYS_ioctl: ::c_long = 29;
741 pub const SYS_ioprio_set: ::c_long = 30;
742 pub const SYS_ioprio_get: ::c_long = 31;
743 pub const SYS_flock: ::c_long = 32;
744 pub const SYS_mknodat: ::c_long = 33;
745 pub const SYS_mkdirat: ::c_long = 34;
746 pub const SYS_unlinkat: ::c_long = 35;
747 pub const SYS_symlinkat: ::c_long = 36;
748 pub const SYS_linkat: ::c_long = 37;
749 pub const SYS_renameat: ::c_long = 38;
750 pub const SYS_umount2: ::c_long = 39;
751 pub const SYS_mount: ::c_long = 40;
752 pub const SYS_pivot_root: ::c_long = 41;
753 pub const SYS_nfsservctl: ::c_long = 42;
754 pub const SYS_fallocate: ::c_long = 47;
755 pub const SYS_faccessat: ::c_long = 48;
756 pub const SYS_chdir: ::c_long = 49;
757 pub const SYS_fchdir: ::c_long = 50;
758 pub const SYS_chroot: ::c_long = 51;
759 pub const SYS_fchmod: ::c_long = 52;
760 pub const SYS_fchmodat: ::c_long = 53;
761 pub const SYS_fchownat: ::c_long = 54;
762 pub const SYS_fchown: ::c_long = 55;
763 pub const SYS_openat: ::c_long = 56;
764 pub const SYS_close: ::c_long = 57;
765 pub const SYS_vhangup: ::c_long = 58;
766 pub const SYS_pipe2: ::c_long = 59;
767 pub const SYS_quotactl: ::c_long = 60;
768 pub const SYS_getdents64: ::c_long = 61;
769 pub const SYS_lseek: ::c_long = 62;
770 pub const SYS_read: ::c_long = 63;
771 pub const SYS_write: ::c_long = 64;
772 pub const SYS_readv: ::c_long = 65;
773 pub const SYS_writev: ::c_long = 66;
774 pub const SYS_pread64: ::c_long = 67;
775 pub const SYS_pwrite64: ::c_long = 68;
776 pub const SYS_preadv: ::c_long = 69;
777 pub const SYS_pwritev: ::c_long = 70;
778 pub const SYS_pselect6: ::c_long = 72;
779 pub const SYS_ppoll: ::c_long = 73;
780 pub const SYS_signalfd4: ::c_long = 74;
781 pub const SYS_vmsplice: ::c_long = 75;
782 pub const SYS_splice: ::c_long = 76;
783 pub const SYS_tee: ::c_long = 77;
784 pub const SYS_readlinkat: ::c_long = 78;
785 pub const SYS_newfstatat: ::c_long = 79;
786 pub const SYS_fstat: ::c_long = 80;
787 pub const SYS_sync: ::c_long = 81;
788 pub const SYS_fsync: ::c_long = 82;
789 pub const SYS_fdatasync: ::c_long = 83;
790 pub const SYS_sync_file_range: ::c_long = 84;
791 pub const SYS_timerfd_create: ::c_long = 85;
792 pub const SYS_timerfd_settime: ::c_long = 86;
793 pub const SYS_timerfd_gettime: ::c_long = 87;
794 pub const SYS_utimensat: ::c_long = 88;
795 pub const SYS_acct: ::c_long = 89;
796 pub const SYS_capget: ::c_long = 90;
797 pub const SYS_capset: ::c_long = 91;
798 pub const SYS_personality: ::c_long = 92;
799 pub const SYS_exit: ::c_long = 93;
800 pub const SYS_exit_group: ::c_long = 94;
801 pub const SYS_waitid: ::c_long = 95;
802 pub const SYS_set_tid_address: ::c_long = 96;
803 pub const SYS_unshare: ::c_long = 97;
804 pub const SYS_futex: ::c_long = 98;
805 pub const SYS_set_robust_list: ::c_long = 99;
806 pub const SYS_get_robust_list: ::c_long = 100;
807 pub const SYS_nanosleep: ::c_long = 101;
808 pub const SYS_getitimer: ::c_long = 102;
809 pub const SYS_setitimer: ::c_long = 103;
810 pub const SYS_kexec_load: ::c_long = 104;
811 pub const SYS_init_module: ::c_long = 105;
812 pub const SYS_delete_module: ::c_long = 106;
813 pub const SYS_timer_create: ::c_long = 107;
814 pub const SYS_timer_gettime: ::c_long = 108;
815 pub const SYS_timer_getoverrun: ::c_long = 109;
816 pub const SYS_timer_settime: ::c_long = 110;
817 pub const SYS_timer_delete: ::c_long = 111;
818 pub const SYS_clock_settime: ::c_long = 112;
819 pub const SYS_clock_gettime: ::c_long = 113;
820 pub const SYS_clock_getres: ::c_long = 114;
821 pub const SYS_clock_nanosleep: ::c_long = 115;
822 pub const SYS_syslog: ::c_long = 116;
823 pub const SYS_ptrace: ::c_long = 117;
824 pub const SYS_sched_setparam: ::c_long = 118;
825 pub const SYS_sched_setscheduler: ::c_long = 119;
826 pub const SYS_sched_getscheduler: ::c_long = 120;
827 pub const SYS_sched_getparam: ::c_long = 121;
828 pub const SYS_sched_setaffinity: ::c_long = 122;
829 pub const SYS_sched_getaffinity: ::c_long = 123;
830 pub const SYS_sched_yield: ::c_long = 124;
831 pub const SYS_sched_get_priority_max: ::c_long = 125;
832 pub const SYS_sched_get_priority_min: ::c_long = 126;
833 pub const SYS_sched_rr_get_interval: ::c_long = 127;
834 pub const SYS_restart_syscall: ::c_long = 128;
835 pub const SYS_kill: ::c_long = 129;
836 pub const SYS_tkill: ::c_long = 130;
837 pub const SYS_tgkill: ::c_long = 131;
838 pub const SYS_sigaltstack: ::c_long = 132;
839 pub const SYS_rt_sigsuspend: ::c_long = 133;
840 pub const SYS_rt_sigaction: ::c_long = 134;
841 pub const SYS_rt_sigprocmask: ::c_long = 135;
842 pub const SYS_rt_sigpending: ::c_long = 136;
843 pub const SYS_rt_sigtimedwait: ::c_long = 137;
844 pub const SYS_rt_sigqueueinfo: ::c_long = 138;
845 pub const SYS_rt_sigreturn: ::c_long = 139;
846 pub const SYS_setpriority: ::c_long = 140;
847 pub const SYS_getpriority: ::c_long = 141;
848 pub const SYS_reboot: ::c_long = 142;
849 pub const SYS_setregid: ::c_long = 143;
850 pub const SYS_setgid: ::c_long = 144;
851 pub const SYS_setreuid: ::c_long = 145;
852 pub const SYS_setuid: ::c_long = 146;
853 pub const SYS_setresuid: ::c_long = 147;
854 pub const SYS_getresuid: ::c_long = 148;
855 pub const SYS_setresgid: ::c_long = 149;
856 pub const SYS_getresgid: ::c_long = 150;
857 pub const SYS_setfsuid: ::c_long = 151;
858 pub const SYS_setfsgid: ::c_long = 152;
859 pub const SYS_times: ::c_long = 153;
860 pub const SYS_setpgid: ::c_long = 154;
861 pub const SYS_getpgid: ::c_long = 155;
862 pub const SYS_getsid: ::c_long = 156;
863 pub const SYS_setsid: ::c_long = 157;
864 pub const SYS_getgroups: ::c_long = 158;
865 pub const SYS_setgroups: ::c_long = 159;
866 pub const SYS_uname: ::c_long = 160;
867 pub const SYS_sethostname: ::c_long = 161;
868 pub const SYS_setdomainname: ::c_long = 162;
869 pub const SYS_getrlimit: ::c_long = 163;
870 pub const SYS_setrlimit: ::c_long = 164;
871 pub const SYS_getrusage: ::c_long = 165;
872 pub const SYS_umask: ::c_long = 166;
873 pub const SYS_prctl: ::c_long = 167;
874 pub const SYS_getcpu: ::c_long = 168;
875 pub const SYS_gettimeofday: ::c_long = 169;
876 pub const SYS_settimeofday: ::c_long = 170;
877 pub const SYS_adjtimex: ::c_long = 171;
878 pub const SYS_getpid: ::c_long = 172;
879 pub const SYS_getppid: ::c_long = 173;
880 pub const SYS_getuid: ::c_long = 174;
881 pub const SYS_geteuid: ::c_long = 175;
882 pub const SYS_getgid: ::c_long = 176;
883 pub const SYS_getegid: ::c_long = 177;
884 pub const SYS_gettid: ::c_long = 178;
885 pub const SYS_sysinfo: ::c_long = 179;
886 pub const SYS_mq_open: ::c_long = 180;
887 pub const SYS_mq_unlink: ::c_long = 181;
888 pub const SYS_mq_timedsend: ::c_long = 182;
889 pub const SYS_mq_timedreceive: ::c_long = 183;
890 pub const SYS_mq_notify: ::c_long = 184;
891 pub const SYS_mq_getsetattr: ::c_long = 185;
892 pub const SYS_msgget: ::c_long = 186;
893 pub const SYS_msgctl: ::c_long = 187;
894 pub const SYS_msgrcv: ::c_long = 188;
895 pub const SYS_msgsnd: ::c_long = 189;
896 pub const SYS_semget: ::c_long = 190;
897 pub const SYS_semctl: ::c_long = 191;
898 pub const SYS_semtimedop: ::c_long = 192;
899 pub const SYS_semop: ::c_long = 193;
900 pub const SYS_shmget: ::c_long = 194;
901 pub const SYS_shmctl: ::c_long = 195;
902 pub const SYS_shmat: ::c_long = 196;
903 pub const SYS_shmdt: ::c_long = 197;
904 pub const SYS_socket: ::c_long = 198;
905 pub const SYS_socketpair: ::c_long = 199;
906 pub const SYS_bind: ::c_long = 200;
907 pub const SYS_listen: ::c_long = 201;
908 pub const SYS_accept: ::c_long = 202;
909 pub const SYS_connect: ::c_long = 203;
910 pub const SYS_getsockname: ::c_long = 204;
911 pub const SYS_getpeername: ::c_long = 205;
912 pub const SYS_sendto: ::c_long = 206;
913 pub const SYS_recvfrom: ::c_long = 207;
914 pub const SYS_setsockopt: ::c_long = 208;
915 pub const SYS_getsockopt: ::c_long = 209;
916 pub const SYS_shutdown: ::c_long = 210;
917 pub const SYS_sendmsg: ::c_long = 211;
918 pub const SYS_recvmsg: ::c_long = 212;
919 pub const SYS_readahead: ::c_long = 213;
920 pub const SYS_brk: ::c_long = 214;
921 pub const SYS_munmap: ::c_long = 215;
922 pub const SYS_mremap: ::c_long = 216;
923 pub const SYS_add_key: ::c_long = 217;
924 pub const SYS_request_key: ::c_long = 218;
925 pub const SYS_keyctl: ::c_long = 219;
926 pub const SYS_clone: ::c_long = 220;
927 pub const SYS_execve: ::c_long = 221;
928 pub const SYS_mmap: ::c_long = 222;
929 pub const SYS_swapon: ::c_long = 224;
930 pub const SYS_swapoff: ::c_long = 225;
931 pub const SYS_mprotect: ::c_long = 226;
932 pub const SYS_msync: ::c_long = 227;
933 pub const SYS_mlock: ::c_long = 228;
934 pub const SYS_munlock: ::c_long = 229;
935 pub const SYS_mlockall: ::c_long = 230;
936 pub const SYS_munlockall: ::c_long = 231;
937 pub const SYS_mincore: ::c_long = 232;
938 pub const SYS_madvise: ::c_long = 233;
939 pub const SYS_remap_file_pages: ::c_long = 234;
940 pub const SYS_mbind: ::c_long = 235;
941 pub const SYS_get_mempolicy: ::c_long = 236;
942 pub const SYS_set_mempolicy: ::c_long = 237;
943 pub const SYS_migrate_pages: ::c_long = 238;
944 pub const SYS_move_pages: ::c_long = 239;
945 pub const SYS_rt_tgsigqueueinfo: ::c_long = 240;
946 pub const SYS_perf_event_open: ::c_long = 241;
947 pub const SYS_accept4: ::c_long = 242;
948 pub const SYS_recvmmsg: ::c_long = 243;
949 pub const SYS_wait4: ::c_long = 260;
950 pub const SYS_prlimit64: ::c_long = 261;
951 pub const SYS_fanotify_init: ::c_long = 262;
952 pub const SYS_fanotify_mark: ::c_long = 263;
953 pub const SYS_name_to_handle_at: ::c_long = 264;
954 pub const SYS_open_by_handle_at: ::c_long = 265;
955 pub const SYS_clock_adjtime: ::c_long = 266;
956 pub const SYS_syncfs: ::c_long = 267;
957 pub const SYS_setns: ::c_long = 268;
958 pub const SYS_sendmmsg: ::c_long = 269;
959 pub const SYS_process_vm_readv: ::c_long = 270;
960 pub const SYS_process_vm_writev: ::c_long = 271;
961 pub const SYS_kcmp: ::c_long = 272;
962 pub const SYS_finit_module: ::c_long = 273;
963 pub const SYS_sched_setattr: ::c_long = 274;
964 pub const SYS_sched_getattr: ::c_long = 275;
965 pub const SYS_renameat2: ::c_long = 276;
966 pub const SYS_seccomp: ::c_long = 277;
967 pub const SYS_getrandom: ::c_long = 278;
968 pub const SYS_memfd_create: ::c_long = 279;
969 pub const SYS_bpf: ::c_long = 280;
970 pub const SYS_execveat: ::c_long = 281;
971 pub const SYS_userfaultfd: ::c_long = 282;
972 pub const SYS_membarrier: ::c_long = 283;
973 pub const SYS_mlock2: ::c_long = 284;
974 pub const SYS_copy_file_range: ::c_long = 285;
975 pub const SYS_preadv2: ::c_long = 286;
976 pub const SYS_pwritev2: ::c_long = 287;
977 pub const SYS_pkey_mprotect: ::c_long = 288;
978 pub const SYS_pkey_alloc: ::c_long = 289;
979 pub const SYS_pkey_free: ::c_long = 290;
980 pub const SYS_statx: ::c_long = 291;
981 
982 #[link(name = "util")]
983 extern "C" {
984     pub fn sysctl(
985         name: *mut ::c_int,
986         namelen: ::c_int,
987         oldp: *mut ::c_void,
988         oldlenp: *mut ::size_t,
989         newp: *mut ::c_void,
990         newlen: ::size_t,
991     ) -> ::c_int;
992 }
993 
994 cfg_if! {
995     if #[cfg(libc_align)] {
996         mod align;
997         pub use self::align::*;
998     }
999 }
1000