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