1 use crate::prelude::*;
2 use crate::{off64_t, off_t};
3 
4 pub type wchar_t = i32;
5 
6 s! {
7     pub struct stat {
8         pub st_dev: c_ulong,
9 
10         st_pad1: [c_long; 3],
11 
12         pub st_ino: crate::ino_t,
13 
14         pub st_mode: crate::mode_t,
15         pub st_nlink: crate::nlink_t,
16         pub st_uid: crate::uid_t,
17         pub st_gid: crate::gid_t,
18 
19         pub st_rdev: c_ulong,
20 
21         #[cfg(not(gnu_file_offset_bits64))]
22         st_pad2: [c_long; 2],
23         #[cfg(gnu_file_offset_bits64)]
24         st_pad2: [c_long; 3],
25 
26         pub st_size: off_t,
27 
28         #[cfg(not(gnu_file_offset_bits64))]
29         st_pad3: c_long,
30 
31         pub st_atime: crate::time_t,
32         pub st_atime_nsec: c_long,
33         pub st_mtime: crate::time_t,
34         pub st_mtime_nsec: c_long,
35         pub st_ctime: crate::time_t,
36         pub st_ctime_nsec: c_long,
37 
38         pub st_blksize: crate::blksize_t,
39         #[cfg(gnu_file_offset_bits64)]
40         st_pad4: c_long,
41         pub st_blocks: crate::blkcnt_t,
42         st_pad5: [c_long; 14],
43     }
44 
45     pub struct stat64 {
46         pub st_dev: c_ulong,
47         st_pad1: [c_long; 3],
48         pub st_ino: crate::ino64_t,
49         pub st_mode: crate::mode_t,
50         pub st_nlink: crate::nlink_t,
51         pub st_uid: crate::uid_t,
52         pub st_gid: crate::gid_t,
53         pub st_rdev: c_ulong,
54         st_pad2: [c_long; 3],
55         pub st_size: off64_t,
56         pub st_atime: crate::time_t,
57         pub st_atime_nsec: c_long,
58         pub st_mtime: crate::time_t,
59         pub st_mtime_nsec: c_long,
60         pub st_ctime: crate::time_t,
61         pub st_ctime_nsec: c_long,
62         pub st_blksize: crate::blksize_t,
63         st_pad3: c_long,
64         pub st_blocks: crate::blkcnt64_t,
65         st_pad5: [c_long; 14],
66     }
67 
68     pub struct statfs {
69         pub f_type: c_long,
70         pub f_bsize: c_long,
71         pub f_frsize: c_long,
72         pub f_blocks: crate::fsblkcnt_t,
73         pub f_bfree: crate::fsblkcnt_t,
74         pub f_files: crate::fsblkcnt_t,
75         pub f_ffree: crate::fsblkcnt_t,
76         pub f_bavail: crate::fsblkcnt_t,
77         pub f_fsid: crate::fsid_t,
78 
79         pub f_namelen: c_long,
80         pub f_flags: c_long,
81         f_spare: [c_long; 5],
82     }
83 
84     pub struct statfs64 {
85         pub f_type: c_long,
86         pub f_bsize: c_long,
87         pub f_frsize: c_long,
88         pub f_blocks: u64,
89         pub f_bfree: u64,
90         pub f_files: u64,
91         pub f_ffree: u64,
92         pub f_bavail: u64,
93         pub f_fsid: crate::fsid_t,
94         pub f_namelen: c_long,
95         pub f_flags: c_long,
96         pub f_spare: [c_long; 5],
97     }
98 
99     pub struct statvfs64 {
100         pub f_bsize: c_ulong,
101         pub f_frsize: c_ulong,
102         pub f_blocks: u64,
103         pub f_bfree: u64,
104         pub f_bavail: u64,
105         pub f_files: u64,
106         pub f_ffree: u64,
107         pub f_favail: u64,
108         pub f_fsid: c_ulong,
109         __f_unused: c_int,
110         pub f_flag: c_ulong,
111         pub f_namemax: c_ulong,
112         __f_spare: [c_int; 6],
113     }
114 
115     pub struct sigaction {
116         pub sa_flags: c_int,
117         pub sa_sigaction: crate::sighandler_t,
118         pub sa_mask: crate::sigset_t,
119         pub sa_restorer: Option<extern "C" fn()>,
120         _resv: [c_int; 1],
121     }
122 
123     pub struct stack_t {
124         pub ss_sp: *mut c_void,
125         pub ss_size: size_t,
126         pub ss_flags: c_int,
127     }
128 
129     pub struct siginfo_t {
130         pub si_signo: c_int,
131         pub si_code: c_int,
132         pub si_errno: c_int,
133         pub _pad: [c_int; 29],
134     }
135 
136     pub struct ipc_perm {
137         pub __key: crate::key_t,
138         pub uid: crate::uid_t,
139         pub gid: crate::gid_t,
140         pub cuid: crate::uid_t,
141         pub cgid: crate::gid_t,
142         pub mode: c_uint,
143         pub __seq: c_ushort,
144         __pad1: c_ushort,
145         __unused1: c_ulong,
146         __unused2: c_ulong,
147     }
148 
149     pub struct shmid_ds {
150         pub shm_perm: crate::ipc_perm,
151         pub shm_segsz: size_t,
152         pub shm_atime: crate::time_t,
153         pub shm_dtime: crate::time_t,
154         pub shm_ctime: crate::time_t,
155         pub shm_cpid: crate::pid_t,
156         pub shm_lpid: crate::pid_t,
157         pub shm_nattch: crate::shmatt_t,
158         __unused4: c_ulong,
159         __unused5: c_ulong,
160     }
161 
162     pub struct msqid_ds {
163         pub msg_perm: crate::ipc_perm,
164         #[cfg(target_endian = "big")]
165         __glibc_reserved1: c_ulong,
166         pub msg_stime: crate::time_t,
167         #[cfg(target_endian = "little")]
168         __glibc_reserved1: c_ulong,
169         #[cfg(target_endian = "big")]
170         __glibc_reserved2: c_ulong,
171         pub msg_rtime: crate::time_t,
172         #[cfg(target_endian = "little")]
173         __glibc_reserved2: c_ulong,
174         #[cfg(target_endian = "big")]
175         __glibc_reserved3: c_ulong,
176         pub msg_ctime: crate::time_t,
177         #[cfg(target_endian = "little")]
178         __glibc_reserved3: c_ulong,
179         pub __msg_cbytes: c_ulong,
180         pub msg_qnum: crate::msgqnum_t,
181         pub msg_qbytes: crate::msglen_t,
182         pub msg_lspid: crate::pid_t,
183         pub msg_lrpid: crate::pid_t,
184         __glibc_reserved4: c_ulong,
185         __glibc_reserved5: c_ulong,
186     }
187 
188     pub struct flock {
189         pub l_type: c_short,
190         pub l_whence: c_short,
191         pub l_start: off_t,
192         pub l_len: off_t,
193         #[cfg(not(gnu_file_offset_bits64))]
194         pub l_sysid: c_long,
195         pub l_pid: crate::pid_t,
196         #[cfg(not(gnu_file_offset_bits64))]
197         __glibc_reserved0: [c_long; 4],
198     }
199 }
200 
201 s_no_extra_traits! {
202     #[allow(missing_debug_implementations)]
203     #[repr(align(8))]
204     pub struct max_align_t {
205         priv_: [f32; 4],
206     }
207 }
208 
209 pub const O_LARGEFILE: c_int = 0x2000;
210 
211 pub const SYS_syscall: c_long = 4000 + 0;
212 pub const SYS_exit: c_long = 4000 + 1;
213 pub const SYS_fork: c_long = 4000 + 2;
214 pub const SYS_read: c_long = 4000 + 3;
215 pub const SYS_write: c_long = 4000 + 4;
216 pub const SYS_open: c_long = 4000 + 5;
217 pub const SYS_close: c_long = 4000 + 6;
218 pub const SYS_waitpid: c_long = 4000 + 7;
219 pub const SYS_creat: c_long = 4000 + 8;
220 pub const SYS_link: c_long = 4000 + 9;
221 pub const SYS_unlink: c_long = 4000 + 10;
222 pub const SYS_execve: c_long = 4000 + 11;
223 pub const SYS_chdir: c_long = 4000 + 12;
224 pub const SYS_time: c_long = 4000 + 13;
225 pub const SYS_mknod: c_long = 4000 + 14;
226 pub const SYS_chmod: c_long = 4000 + 15;
227 pub const SYS_lchown: c_long = 4000 + 16;
228 pub const SYS_break: c_long = 4000 + 17;
229 pub const SYS_lseek: c_long = 4000 + 19;
230 pub const SYS_getpid: c_long = 4000 + 20;
231 pub const SYS_mount: c_long = 4000 + 21;
232 pub const SYS_umount: c_long = 4000 + 22;
233 pub const SYS_setuid: c_long = 4000 + 23;
234 pub const SYS_getuid: c_long = 4000 + 24;
235 pub const SYS_stime: c_long = 4000 + 25;
236 pub const SYS_ptrace: c_long = 4000 + 26;
237 pub const SYS_alarm: c_long = 4000 + 27;
238 pub const SYS_pause: c_long = 4000 + 29;
239 pub const SYS_utime: c_long = 4000 + 30;
240 pub const SYS_stty: c_long = 4000 + 31;
241 pub const SYS_gtty: c_long = 4000 + 32;
242 pub const SYS_access: c_long = 4000 + 33;
243 pub const SYS_nice: c_long = 4000 + 34;
244 pub const SYS_ftime: c_long = 4000 + 35;
245 pub const SYS_sync: c_long = 4000 + 36;
246 pub const SYS_kill: c_long = 4000 + 37;
247 pub const SYS_rename: c_long = 4000 + 38;
248 pub const SYS_mkdir: c_long = 4000 + 39;
249 pub const SYS_rmdir: c_long = 4000 + 40;
250 pub const SYS_dup: c_long = 4000 + 41;
251 pub const SYS_pipe: c_long = 4000 + 42;
252 pub const SYS_times: c_long = 4000 + 43;
253 pub const SYS_prof: c_long = 4000 + 44;
254 pub const SYS_brk: c_long = 4000 + 45;
255 pub const SYS_setgid: c_long = 4000 + 46;
256 pub const SYS_getgid: c_long = 4000 + 47;
257 pub const SYS_signal: c_long = 4000 + 48;
258 pub const SYS_geteuid: c_long = 4000 + 49;
259 pub const SYS_getegid: c_long = 4000 + 50;
260 pub const SYS_acct: c_long = 4000 + 51;
261 pub const SYS_umount2: c_long = 4000 + 52;
262 pub const SYS_lock: c_long = 4000 + 53;
263 pub const SYS_ioctl: c_long = 4000 + 54;
264 pub const SYS_fcntl: c_long = 4000 + 55;
265 pub const SYS_mpx: c_long = 4000 + 56;
266 pub const SYS_setpgid: c_long = 4000 + 57;
267 pub const SYS_ulimit: c_long = 4000 + 58;
268 pub const SYS_umask: c_long = 4000 + 60;
269 pub const SYS_chroot: c_long = 4000 + 61;
270 pub const SYS_ustat: c_long = 4000 + 62;
271 pub const SYS_dup2: c_long = 4000 + 63;
272 pub const SYS_getppid: c_long = 4000 + 64;
273 pub const SYS_getpgrp: c_long = 4000 + 65;
274 pub const SYS_setsid: c_long = 4000 + 66;
275 pub const SYS_sigaction: c_long = 4000 + 67;
276 pub const SYS_sgetmask: c_long = 4000 + 68;
277 pub const SYS_ssetmask: c_long = 4000 + 69;
278 pub const SYS_setreuid: c_long = 4000 + 70;
279 pub const SYS_setregid: c_long = 4000 + 71;
280 pub const SYS_sigsuspend: c_long = 4000 + 72;
281 pub const SYS_sigpending: c_long = 4000 + 73;
282 pub const SYS_sethostname: c_long = 4000 + 74;
283 pub const SYS_setrlimit: c_long = 4000 + 75;
284 pub const SYS_getrlimit: c_long = 4000 + 76;
285 pub const SYS_getrusage: c_long = 4000 + 77;
286 pub const SYS_gettimeofday: c_long = 4000 + 78;
287 pub const SYS_settimeofday: c_long = 4000 + 79;
288 pub const SYS_getgroups: c_long = 4000 + 80;
289 pub const SYS_setgroups: c_long = 4000 + 81;
290 pub const SYS_symlink: c_long = 4000 + 83;
291 pub const SYS_readlink: c_long = 4000 + 85;
292 pub const SYS_uselib: c_long = 4000 + 86;
293 pub const SYS_swapon: c_long = 4000 + 87;
294 pub const SYS_reboot: c_long = 4000 + 88;
295 pub const SYS_readdir: c_long = 4000 + 89;
296 pub const SYS_mmap: c_long = 4000 + 90;
297 pub const SYS_munmap: c_long = 4000 + 91;
298 pub const SYS_truncate: c_long = 4000 + 92;
299 pub const SYS_ftruncate: c_long = 4000 + 93;
300 pub const SYS_fchmod: c_long = 4000 + 94;
301 pub const SYS_fchown: c_long = 4000 + 95;
302 pub const SYS_getpriority: c_long = 4000 + 96;
303 pub const SYS_setpriority: c_long = 4000 + 97;
304 pub const SYS_profil: c_long = 4000 + 98;
305 pub const SYS_statfs: c_long = 4000 + 99;
306 pub const SYS_fstatfs: c_long = 4000 + 100;
307 pub const SYS_ioperm: c_long = 4000 + 101;
308 pub const SYS_socketcall: c_long = 4000 + 102;
309 pub const SYS_syslog: c_long = 4000 + 103;
310 pub const SYS_setitimer: c_long = 4000 + 104;
311 pub const SYS_getitimer: c_long = 4000 + 105;
312 pub const SYS_stat: c_long = 4000 + 106;
313 pub const SYS_lstat: c_long = 4000 + 107;
314 pub const SYS_fstat: c_long = 4000 + 108;
315 pub const SYS_iopl: c_long = 4000 + 110;
316 pub const SYS_vhangup: c_long = 4000 + 111;
317 pub const SYS_idle: c_long = 4000 + 112;
318 pub const SYS_vm86: c_long = 4000 + 113;
319 pub const SYS_wait4: c_long = 4000 + 114;
320 pub const SYS_swapoff: c_long = 4000 + 115;
321 pub const SYS_sysinfo: c_long = 4000 + 116;
322 pub const SYS_ipc: c_long = 4000 + 117;
323 pub const SYS_fsync: c_long = 4000 + 118;
324 pub const SYS_sigreturn: c_long = 4000 + 119;
325 pub const SYS_clone: c_long = 4000 + 120;
326 pub const SYS_setdomainname: c_long = 4000 + 121;
327 pub const SYS_uname: c_long = 4000 + 122;
328 pub const SYS_modify_ldt: c_long = 4000 + 123;
329 pub const SYS_adjtimex: c_long = 4000 + 124;
330 pub const SYS_mprotect: c_long = 4000 + 125;
331 pub const SYS_sigprocmask: c_long = 4000 + 126;
332 #[deprecated(since = "0.2.70", note = "Functional up to 2.6 kernel")]
333 pub const SYS_create_module: c_long = 4000 + 127;
334 pub const SYS_init_module: c_long = 4000 + 128;
335 pub const SYS_delete_module: c_long = 4000 + 129;
336 #[deprecated(since = "0.2.70", note = "Functional up to 2.6 kernel")]
337 pub const SYS_get_kernel_syms: c_long = 4000 + 130;
338 pub const SYS_quotactl: c_long = 4000 + 131;
339 pub const SYS_getpgid: c_long = 4000 + 132;
340 pub const SYS_fchdir: c_long = 4000 + 133;
341 pub const SYS_bdflush: c_long = 4000 + 134;
342 pub const SYS_sysfs: c_long = 4000 + 135;
343 pub const SYS_personality: c_long = 4000 + 136;
344 pub const SYS_afs_syscall: c_long = 4000 + 137;
345 pub const SYS_setfsuid: c_long = 4000 + 138;
346 pub const SYS_setfsgid: c_long = 4000 + 139;
347 pub const SYS__llseek: c_long = 4000 + 140;
348 pub const SYS_getdents: c_long = 4000 + 141;
349 pub const SYS__newselect: c_long = 4000 + 142;
350 pub const SYS_flock: c_long = 4000 + 143;
351 pub const SYS_msync: c_long = 4000 + 144;
352 pub const SYS_readv: c_long = 4000 + 145;
353 pub const SYS_writev: c_long = 4000 + 146;
354 pub const SYS_cacheflush: c_long = 4000 + 147;
355 pub const SYS_cachectl: c_long = 4000 + 148;
356 pub const SYS_sysmips: c_long = 4000 + 149;
357 pub const SYS_getsid: c_long = 4000 + 151;
358 pub const SYS_fdatasync: c_long = 4000 + 152;
359 pub const SYS__sysctl: c_long = 4000 + 153;
360 pub const SYS_mlock: c_long = 4000 + 154;
361 pub const SYS_munlock: c_long = 4000 + 155;
362 pub const SYS_mlockall: c_long = 4000 + 156;
363 pub const SYS_munlockall: c_long = 4000 + 157;
364 pub const SYS_sched_setparam: c_long = 4000 + 158;
365 pub const SYS_sched_getparam: c_long = 4000 + 159;
366 pub const SYS_sched_setscheduler: c_long = 4000 + 160;
367 pub const SYS_sched_getscheduler: c_long = 4000 + 161;
368 pub const SYS_sched_yield: c_long = 4000 + 162;
369 pub const SYS_sched_get_priority_max: c_long = 4000 + 163;
370 pub const SYS_sched_get_priority_min: c_long = 4000 + 164;
371 pub const SYS_sched_rr_get_interval: c_long = 4000 + 165;
372 pub const SYS_nanosleep: c_long = 4000 + 166;
373 pub const SYS_mremap: c_long = 4000 + 167;
374 pub const SYS_accept: c_long = 4000 + 168;
375 pub const SYS_bind: c_long = 4000 + 169;
376 pub const SYS_connect: c_long = 4000 + 170;
377 pub const SYS_getpeername: c_long = 4000 + 171;
378 pub const SYS_getsockname: c_long = 4000 + 172;
379 pub const SYS_getsockopt: c_long = 4000 + 173;
380 pub const SYS_listen: c_long = 4000 + 174;
381 pub const SYS_recv: c_long = 4000 + 175;
382 pub const SYS_recvfrom: c_long = 4000 + 176;
383 pub const SYS_recvmsg: c_long = 4000 + 177;
384 pub const SYS_send: c_long = 4000 + 178;
385 pub const SYS_sendmsg: c_long = 4000 + 179;
386 pub const SYS_sendto: c_long = 4000 + 180;
387 pub const SYS_setsockopt: c_long = 4000 + 181;
388 pub const SYS_shutdown: c_long = 4000 + 182;
389 pub const SYS_socket: c_long = 4000 + 183;
390 pub const SYS_socketpair: c_long = 4000 + 184;
391 pub const SYS_setresuid: c_long = 4000 + 185;
392 pub const SYS_getresuid: c_long = 4000 + 186;
393 #[deprecated(since = "0.2.70", note = "Functional up to 2.6 kernel")]
394 pub const SYS_query_module: c_long = 4000 + 187;
395 pub const SYS_poll: c_long = 4000 + 188;
396 pub const SYS_nfsservctl: c_long = 4000 + 189;
397 pub const SYS_setresgid: c_long = 4000 + 190;
398 pub const SYS_getresgid: c_long = 4000 + 191;
399 pub const SYS_prctl: c_long = 4000 + 192;
400 pub const SYS_rt_sigreturn: c_long = 4000 + 193;
401 pub const SYS_rt_sigaction: c_long = 4000 + 194;
402 pub const SYS_rt_sigprocmask: c_long = 4000 + 195;
403 pub const SYS_rt_sigpending: c_long = 4000 + 196;
404 pub const SYS_rt_sigtimedwait: c_long = 4000 + 197;
405 pub const SYS_rt_sigqueueinfo: c_long = 4000 + 198;
406 pub const SYS_rt_sigsuspend: c_long = 4000 + 199;
407 pub const SYS_pread64: c_long = 4000 + 200;
408 pub const SYS_pwrite64: c_long = 4000 + 201;
409 pub const SYS_chown: c_long = 4000 + 202;
410 pub const SYS_getcwd: c_long = 4000 + 203;
411 pub const SYS_capget: c_long = 4000 + 204;
412 pub const SYS_capset: c_long = 4000 + 205;
413 pub const SYS_sigaltstack: c_long = 4000 + 206;
414 pub const SYS_sendfile: c_long = 4000 + 207;
415 pub const SYS_getpmsg: c_long = 4000 + 208;
416 pub const SYS_putpmsg: c_long = 4000 + 209;
417 pub const SYS_mmap2: c_long = 4000 + 210;
418 pub const SYS_truncate64: c_long = 4000 + 211;
419 pub const SYS_ftruncate64: c_long = 4000 + 212;
420 pub const SYS_stat64: c_long = 4000 + 213;
421 pub const SYS_lstat64: c_long = 4000 + 214;
422 pub const SYS_fstat64: c_long = 4000 + 215;
423 pub const SYS_pivot_root: c_long = 4000 + 216;
424 pub const SYS_mincore: c_long = 4000 + 217;
425 pub const SYS_madvise: c_long = 4000 + 218;
426 pub const SYS_getdents64: c_long = 4000 + 219;
427 pub const SYS_fcntl64: c_long = 4000 + 220;
428 pub const SYS_gettid: c_long = 4000 + 222;
429 pub const SYS_readahead: c_long = 4000 + 223;
430 pub const SYS_setxattr: c_long = 4000 + 224;
431 pub const SYS_lsetxattr: c_long = 4000 + 225;
432 pub const SYS_fsetxattr: c_long = 4000 + 226;
433 pub const SYS_getxattr: c_long = 4000 + 227;
434 pub const SYS_lgetxattr: c_long = 4000 + 228;
435 pub const SYS_fgetxattr: c_long = 4000 + 229;
436 pub const SYS_listxattr: c_long = 4000 + 230;
437 pub const SYS_llistxattr: c_long = 4000 + 231;
438 pub const SYS_flistxattr: c_long = 4000 + 232;
439 pub const SYS_removexattr: c_long = 4000 + 233;
440 pub const SYS_lremovexattr: c_long = 4000 + 234;
441 pub const SYS_fremovexattr: c_long = 4000 + 235;
442 pub const SYS_tkill: c_long = 4000 + 236;
443 pub const SYS_sendfile64: c_long = 4000 + 237;
444 pub const SYS_futex: c_long = 4000 + 238;
445 pub const SYS_sched_setaffinity: c_long = 4000 + 239;
446 pub const SYS_sched_getaffinity: c_long = 4000 + 240;
447 pub const SYS_io_setup: c_long = 4000 + 241;
448 pub const SYS_io_destroy: c_long = 4000 + 242;
449 pub const SYS_io_getevents: c_long = 4000 + 243;
450 pub const SYS_io_submit: c_long = 4000 + 244;
451 pub const SYS_io_cancel: c_long = 4000 + 245;
452 pub const SYS_exit_group: c_long = 4000 + 246;
453 pub const SYS_lookup_dcookie: c_long = 4000 + 247;
454 pub const SYS_epoll_create: c_long = 4000 + 248;
455 pub const SYS_epoll_ctl: c_long = 4000 + 249;
456 pub const SYS_epoll_wait: c_long = 4000 + 250;
457 pub const SYS_remap_file_pages: c_long = 4000 + 251;
458 pub const SYS_set_tid_address: c_long = 4000 + 252;
459 pub const SYS_restart_syscall: c_long = 4000 + 253;
460 pub const SYS_fadvise64: c_long = 4000 + 254;
461 pub const SYS_statfs64: c_long = 4000 + 255;
462 pub const SYS_fstatfs64: c_long = 4000 + 256;
463 pub const SYS_timer_create: c_long = 4000 + 257;
464 pub const SYS_timer_settime: c_long = 4000 + 258;
465 pub const SYS_timer_gettime: c_long = 4000 + 259;
466 pub const SYS_timer_getoverrun: c_long = 4000 + 260;
467 pub const SYS_timer_delete: c_long = 4000 + 261;
468 pub const SYS_clock_settime: c_long = 4000 + 262;
469 pub const SYS_clock_gettime: c_long = 4000 + 263;
470 pub const SYS_clock_getres: c_long = 4000 + 264;
471 pub const SYS_clock_nanosleep: c_long = 4000 + 265;
472 pub const SYS_tgkill: c_long = 4000 + 266;
473 pub const SYS_utimes: c_long = 4000 + 267;
474 pub const SYS_mbind: c_long = 4000 + 268;
475 pub const SYS_get_mempolicy: c_long = 4000 + 269;
476 pub const SYS_set_mempolicy: c_long = 4000 + 270;
477 pub const SYS_mq_open: c_long = 4000 + 271;
478 pub const SYS_mq_unlink: c_long = 4000 + 272;
479 pub const SYS_mq_timedsend: c_long = 4000 + 273;
480 pub const SYS_mq_timedreceive: c_long = 4000 + 274;
481 pub const SYS_mq_notify: c_long = 4000 + 275;
482 pub const SYS_mq_getsetattr: c_long = 4000 + 276;
483 pub const SYS_vserver: c_long = 4000 + 277;
484 pub const SYS_waitid: c_long = 4000 + 278;
485 /* pub const SYS_sys_setaltroot: c_long = 4000 + 279; */
486 pub const SYS_add_key: c_long = 4000 + 280;
487 pub const SYS_request_key: c_long = 4000 + 281;
488 pub const SYS_keyctl: c_long = 4000 + 282;
489 pub const SYS_set_thread_area: c_long = 4000 + 283;
490 pub const SYS_inotify_init: c_long = 4000 + 284;
491 pub const SYS_inotify_add_watch: c_long = 4000 + 285;
492 pub const SYS_inotify_rm_watch: c_long = 4000 + 286;
493 pub const SYS_migrate_pages: c_long = 4000 + 287;
494 pub const SYS_openat: c_long = 4000 + 288;
495 pub const SYS_mkdirat: c_long = 4000 + 289;
496 pub const SYS_mknodat: c_long = 4000 + 290;
497 pub const SYS_fchownat: c_long = 4000 + 291;
498 pub const SYS_futimesat: c_long = 4000 + 292;
499 pub const SYS_fstatat64: c_long = 4000 + 293;
500 pub const SYS_unlinkat: c_long = 4000 + 294;
501 pub const SYS_renameat: c_long = 4000 + 295;
502 pub const SYS_linkat: c_long = 4000 + 296;
503 pub const SYS_symlinkat: c_long = 4000 + 297;
504 pub const SYS_readlinkat: c_long = 4000 + 298;
505 pub const SYS_fchmodat: c_long = 4000 + 299;
506 pub const SYS_faccessat: c_long = 4000 + 300;
507 pub const SYS_pselect6: c_long = 4000 + 301;
508 pub const SYS_ppoll: c_long = 4000 + 302;
509 pub const SYS_unshare: c_long = 4000 + 303;
510 pub const SYS_splice: c_long = 4000 + 304;
511 pub const SYS_sync_file_range: c_long = 4000 + 305;
512 pub const SYS_tee: c_long = 4000 + 306;
513 pub const SYS_vmsplice: c_long = 4000 + 307;
514 pub const SYS_move_pages: c_long = 4000 + 308;
515 pub const SYS_set_robust_list: c_long = 4000 + 309;
516 pub const SYS_get_robust_list: c_long = 4000 + 310;
517 pub const SYS_kexec_load: c_long = 4000 + 311;
518 pub const SYS_getcpu: c_long = 4000 + 312;
519 pub const SYS_epoll_pwait: c_long = 4000 + 313;
520 pub const SYS_ioprio_set: c_long = 4000 + 314;
521 pub const SYS_ioprio_get: c_long = 4000 + 315;
522 pub const SYS_utimensat: c_long = 4000 + 316;
523 pub const SYS_signalfd: c_long = 4000 + 317;
524 pub const SYS_timerfd: c_long = 4000 + 318;
525 pub const SYS_eventfd: c_long = 4000 + 319;
526 pub const SYS_fallocate: c_long = 4000 + 320;
527 pub const SYS_timerfd_create: c_long = 4000 + 321;
528 pub const SYS_timerfd_gettime: c_long = 4000 + 322;
529 pub const SYS_timerfd_settime: c_long = 4000 + 323;
530 pub const SYS_signalfd4: c_long = 4000 + 324;
531 pub const SYS_eventfd2: c_long = 4000 + 325;
532 pub const SYS_epoll_create1: c_long = 4000 + 326;
533 pub const SYS_dup3: c_long = 4000 + 327;
534 pub const SYS_pipe2: c_long = 4000 + 328;
535 pub const SYS_inotify_init1: c_long = 4000 + 329;
536 pub const SYS_preadv: c_long = 4000 + 330;
537 pub const SYS_pwritev: c_long = 4000 + 331;
538 pub const SYS_rt_tgsigqueueinfo: c_long = 4000 + 332;
539 pub const SYS_perf_event_open: c_long = 4000 + 333;
540 pub const SYS_accept4: c_long = 4000 + 334;
541 pub const SYS_recvmmsg: c_long = 4000 + 335;
542 pub const SYS_fanotify_init: c_long = 4000 + 336;
543 pub const SYS_fanotify_mark: c_long = 4000 + 337;
544 pub const SYS_prlimit64: c_long = 4000 + 338;
545 pub const SYS_name_to_handle_at: c_long = 4000 + 339;
546 pub const SYS_open_by_handle_at: c_long = 4000 + 340;
547 pub const SYS_clock_adjtime: c_long = 4000 + 341;
548 pub const SYS_syncfs: c_long = 4000 + 342;
549 pub const SYS_sendmmsg: c_long = 4000 + 343;
550 pub const SYS_setns: c_long = 4000 + 344;
551 pub const SYS_process_vm_readv: c_long = 4000 + 345;
552 pub const SYS_process_vm_writev: c_long = 4000 + 346;
553 pub const SYS_kcmp: c_long = 4000 + 347;
554 pub const SYS_finit_module: c_long = 4000 + 348;
555 pub const SYS_sched_setattr: c_long = 4000 + 349;
556 pub const SYS_sched_getattr: c_long = 4000 + 350;
557 pub const SYS_renameat2: c_long = 4000 + 351;
558 pub const SYS_seccomp: c_long = 4000 + 352;
559 pub const SYS_getrandom: c_long = 4000 + 353;
560 pub const SYS_memfd_create: c_long = 4000 + 354;
561 pub const SYS_bpf: c_long = 4000 + 355;
562 pub const SYS_execveat: c_long = 4000 + 356;
563 pub const SYS_userfaultfd: c_long = 4000 + 357;
564 pub const SYS_membarrier: c_long = 4000 + 358;
565 pub const SYS_mlock2: c_long = 4000 + 359;
566 pub const SYS_copy_file_range: c_long = 4000 + 360;
567 pub const SYS_preadv2: c_long = 4000 + 361;
568 pub const SYS_pwritev2: c_long = 4000 + 362;
569 pub const SYS_pkey_mprotect: c_long = 4000 + 363;
570 pub const SYS_pkey_alloc: c_long = 4000 + 364;
571 pub const SYS_pkey_free: c_long = 4000 + 365;
572 pub const SYS_statx: c_long = 4000 + 366;
573 pub const SYS_rseq: c_long = 4000 + 367;
574 pub const SYS_pidfd_send_signal: c_long = 4000 + 424;
575 pub const SYS_io_uring_setup: c_long = 4000 + 425;
576 pub const SYS_io_uring_enter: c_long = 4000 + 426;
577 pub const SYS_io_uring_register: c_long = 4000 + 427;
578 pub const SYS_open_tree: c_long = 4000 + 428;
579 pub const SYS_move_mount: c_long = 4000 + 429;
580 pub const SYS_fsopen: c_long = 4000 + 430;
581 pub const SYS_fsconfig: c_long = 4000 + 431;
582 pub const SYS_fsmount: c_long = 4000 + 432;
583 pub const SYS_fspick: c_long = 4000 + 433;
584 pub const SYS_pidfd_open: c_long = 4000 + 434;
585 pub const SYS_clone3: c_long = 4000 + 435;
586 pub const SYS_close_range: c_long = 4000 + 436;
587 pub const SYS_openat2: c_long = 4000 + 437;
588 pub const SYS_pidfd_getfd: c_long = 4000 + 438;
589 pub const SYS_faccessat2: c_long = 4000 + 439;
590 pub const SYS_process_madvise: c_long = 4000 + 440;
591 pub const SYS_epoll_pwait2: c_long = 4000 + 441;
592 pub const SYS_mount_setattr: c_long = 4000 + 442;
593 pub const SYS_quotactl_fd: c_long = 4000 + 443;
594 pub const SYS_landlock_create_ruleset: c_long = 4000 + 444;
595 pub const SYS_landlock_add_rule: c_long = 4000 + 445;
596 pub const SYS_landlock_restrict_self: c_long = 4000 + 446;
597 pub const SYS_memfd_secret: c_long = 4000 + 447;
598 pub const SYS_process_mrelease: c_long = 4000 + 448;
599 pub const SYS_futex_waitv: c_long = 4000 + 449;
600 pub const SYS_set_mempolicy_home_node: c_long = 4000 + 450;
601 
602 pub const O_DIRECT: c_int = 0x8000;
603 pub const O_DIRECTORY: c_int = 0x10000;
604 pub const O_NOFOLLOW: c_int = 0x20000;
605 
606 pub const O_APPEND: c_int = 8;
607 pub const O_CREAT: c_int = 256;
608 pub const O_EXCL: c_int = 1024;
609 pub const O_NOCTTY: c_int = 2048;
610 pub const O_NONBLOCK: c_int = 128;
611 pub const O_SYNC: c_int = 0x4010;
612 pub const O_RSYNC: c_int = 0x4010;
613 pub const O_DSYNC: c_int = 0x10;
614 pub const O_FSYNC: c_int = 0x4010;
615 pub const O_ASYNC: c_int = 0x1000;
616 pub const O_NDELAY: c_int = 0x80;
617 
618 pub const EDEADLK: c_int = 45;
619 pub const ENAMETOOLONG: c_int = 78;
620 pub const ENOLCK: c_int = 46;
621 pub const ENOSYS: c_int = 89;
622 pub const ENOTEMPTY: c_int = 93;
623 pub const ELOOP: c_int = 90;
624 pub const ENOMSG: c_int = 35;
625 pub const EIDRM: c_int = 36;
626 pub const ECHRNG: c_int = 37;
627 pub const EL2NSYNC: c_int = 38;
628 pub const EL3HLT: c_int = 39;
629 pub const EL3RST: c_int = 40;
630 pub const ELNRNG: c_int = 41;
631 pub const EUNATCH: c_int = 42;
632 pub const ENOCSI: c_int = 43;
633 pub const EL2HLT: c_int = 44;
634 pub const EBADE: c_int = 50;
635 pub const EBADR: c_int = 51;
636 pub const EXFULL: c_int = 52;
637 pub const ENOANO: c_int = 53;
638 pub const EBADRQC: c_int = 54;
639 pub const EBADSLT: c_int = 55;
640 pub const EDEADLOCK: c_int = 56;
641 pub const EMULTIHOP: c_int = 74;
642 pub const EOVERFLOW: c_int = 79;
643 pub const ENOTUNIQ: c_int = 80;
644 pub const EBADFD: c_int = 81;
645 pub const EBADMSG: c_int = 77;
646 pub const EREMCHG: c_int = 82;
647 pub const ELIBACC: c_int = 83;
648 pub const ELIBBAD: c_int = 84;
649 pub const ELIBSCN: c_int = 85;
650 pub const ELIBMAX: c_int = 86;
651 pub const ELIBEXEC: c_int = 87;
652 pub const EILSEQ: c_int = 88;
653 pub const ERESTART: c_int = 91;
654 pub const ESTRPIPE: c_int = 92;
655 pub const EUSERS: c_int = 94;
656 pub const ENOTSOCK: c_int = 95;
657 pub const EDESTADDRREQ: c_int = 96;
658 pub const EMSGSIZE: c_int = 97;
659 pub const EPROTOTYPE: c_int = 98;
660 pub const ENOPROTOOPT: c_int = 99;
661 pub const EPROTONOSUPPORT: c_int = 120;
662 pub const ESOCKTNOSUPPORT: c_int = 121;
663 pub const EOPNOTSUPP: c_int = 122;
664 pub const EPFNOSUPPORT: c_int = 123;
665 pub const EAFNOSUPPORT: c_int = 124;
666 pub const EADDRINUSE: c_int = 125;
667 pub const EADDRNOTAVAIL: c_int = 126;
668 pub const ENETDOWN: c_int = 127;
669 pub const ENETUNREACH: c_int = 128;
670 pub const ENETRESET: c_int = 129;
671 pub const ECONNABORTED: c_int = 130;
672 pub const ECONNRESET: c_int = 131;
673 pub const ENOBUFS: c_int = 132;
674 pub const EISCONN: c_int = 133;
675 pub const ENOTCONN: c_int = 134;
676 pub const ESHUTDOWN: c_int = 143;
677 pub const ETOOMANYREFS: c_int = 144;
678 pub const ETIMEDOUT: c_int = 145;
679 pub const ECONNREFUSED: c_int = 146;
680 pub const EHOSTDOWN: c_int = 147;
681 pub const EHOSTUNREACH: c_int = 148;
682 pub const EALREADY: c_int = 149;
683 pub const EINPROGRESS: c_int = 150;
684 pub const ESTALE: c_int = 151;
685 pub const EUCLEAN: c_int = 135;
686 pub const ENOTNAM: c_int = 137;
687 pub const ENAVAIL: c_int = 138;
688 pub const EISNAM: c_int = 139;
689 pub const EREMOTEIO: c_int = 140;
690 pub const EDQUOT: c_int = 1133;
691 pub const ENOMEDIUM: c_int = 159;
692 pub const EMEDIUMTYPE: c_int = 160;
693 pub const ECANCELED: c_int = 158;
694 pub const ENOKEY: c_int = 161;
695 pub const EKEYEXPIRED: c_int = 162;
696 pub const EKEYREVOKED: c_int = 163;
697 pub const EKEYREJECTED: c_int = 164;
698 pub const EOWNERDEAD: c_int = 165;
699 pub const ENOTRECOVERABLE: c_int = 166;
700 pub const ERFKILL: c_int = 167;
701 
702 pub const MAP_NORESERVE: c_int = 0x400;
703 pub const MAP_ANON: c_int = 0x800;
704 pub const MAP_ANONYMOUS: c_int = 0x800;
705 pub const MAP_GROWSDOWN: c_int = 0x1000;
706 pub const MAP_DENYWRITE: c_int = 0x2000;
707 pub const MAP_EXECUTABLE: c_int = 0x4000;
708 pub const MAP_LOCKED: c_int = 0x8000;
709 pub const MAP_POPULATE: c_int = 0x10000;
710 pub const MAP_NONBLOCK: c_int = 0x20000;
711 pub const MAP_STACK: c_int = 0x40000;
712 
713 pub const SOCK_STREAM: c_int = 2;
714 pub const SOCK_DGRAM: c_int = 1;
715 
716 pub const SA_SIGINFO: c_int = 0x00000008;
717 pub const SA_NOCLDWAIT: c_int = 0x00010000;
718 
719 pub const SIGCHLD: c_int = 18;
720 pub const SIGBUS: c_int = 10;
721 pub const SIGTTIN: c_int = 26;
722 pub const SIGTTOU: c_int = 27;
723 pub const SIGXCPU: c_int = 30;
724 pub const SIGXFSZ: c_int = 31;
725 pub const SIGVTALRM: c_int = 28;
726 pub const SIGPROF: c_int = 29;
727 pub const SIGWINCH: c_int = 20;
728 pub const SIGUSR1: c_int = 16;
729 pub const SIGUSR2: c_int = 17;
730 pub const SIGCONT: c_int = 25;
731 pub const SIGSTOP: c_int = 23;
732 pub const SIGTSTP: c_int = 24;
733 pub const SIGURG: c_int = 21;
734 pub const SIGIO: c_int = 22;
735 pub const SIGSYS: c_int = 12;
736 pub const SIGPOLL: c_int = 22;
737 pub const SIGPWR: c_int = 19;
738 pub const SIG_SETMASK: c_int = 3;
739 pub const SIG_BLOCK: c_int = 0x1;
740 pub const SIG_UNBLOCK: c_int = 0x2;
741 
742 pub const POLLWRNORM: c_short = 0x004;
743 pub const POLLWRBAND: c_short = 0x100;
744 
745 pub const VEOF: usize = 16;
746 pub const VEOL: usize = 17;
747 pub const VEOL2: usize = 6;
748 pub const VMIN: usize = 4;
749 pub const IEXTEN: crate::tcflag_t = 0x00000100;
750 pub const TOSTOP: crate::tcflag_t = 0x00008000;
751 pub const FLUSHO: crate::tcflag_t = 0x00002000;
752 pub const EXTPROC: crate::tcflag_t = 0o200000;
753 pub const TCSANOW: c_int = 0x540e;
754 pub const TCSADRAIN: c_int = 0x540f;
755 pub const TCSAFLUSH: c_int = 0x5410;
756 
757 pub const PTRACE_GETFPXREGS: c_uint = 18;
758 pub const PTRACE_SETFPXREGS: c_uint = 19;
759 
760 pub const MAP_HUGETLB: c_int = 0x080000;
761 
762 pub const EFD_NONBLOCK: c_int = 0x80;
763 
764 cfg_if! {
765     if #[cfg(gnu_file_offset_bits64)] {
766         pub const F_GETLK: c_int = 33;
767     } else {
768         pub const F_GETLK: c_int = 14;
769     }
770 }
771 pub const F_GETOWN: c_int = 23;
772 pub const F_SETOWN: c_int = 24;
773 
774 pub const SFD_NONBLOCK: c_int = 0x80;
775 
776 pub const RTLD_DEEPBIND: c_int = 0x10;
777 pub const RTLD_GLOBAL: c_int = 0x4;
778 pub const RTLD_NOLOAD: c_int = 0x8;
779 
780 pub const MCL_CURRENT: c_int = 0x0001;
781 pub const MCL_FUTURE: c_int = 0x0002;
782 pub const MCL_ONFAULT: c_int = 0x0004;
783 
784 pub const SIGSTKSZ: size_t = 8192;
785 pub const MINSIGSTKSZ: size_t = 2048;
786 pub const CBAUD: crate::tcflag_t = 0o0010017;
787 pub const TAB1: crate::tcflag_t = 0x00000800;
788 pub const TAB2: crate::tcflag_t = 0x00001000;
789 pub const TAB3: crate::tcflag_t = 0x00001800;
790 pub const CR1: crate::tcflag_t = 0x00000200;
791 pub const CR2: crate::tcflag_t = 0x00000400;
792 pub const CR3: crate::tcflag_t = 0x00000600;
793 pub const FF1: crate::tcflag_t = 0x00008000;
794 pub const BS1: crate::tcflag_t = 0x00002000;
795 pub const VT1: crate::tcflag_t = 0x00004000;
796 pub const VWERASE: usize = 14;
797 pub const VREPRINT: usize = 12;
798 pub const VSUSP: usize = 10;
799 pub const VSTART: usize = 8;
800 pub const VSTOP: usize = 9;
801 pub const VDISCARD: usize = 13;
802 pub const VTIME: usize = 5;
803 pub const IXON: crate::tcflag_t = 0x00000400;
804 pub const IXOFF: crate::tcflag_t = 0x00001000;
805 pub const ONLCR: crate::tcflag_t = 0x4;
806 pub const CSIZE: crate::tcflag_t = 0x00000030;
807 pub const CS6: crate::tcflag_t = 0x00000010;
808 pub const CS7: crate::tcflag_t = 0x00000020;
809 pub const CS8: crate::tcflag_t = 0x00000030;
810 pub const CSTOPB: crate::tcflag_t = 0x00000040;
811 pub const CREAD: crate::tcflag_t = 0x00000080;
812 pub const PARENB: crate::tcflag_t = 0x00000100;
813 pub const PARODD: crate::tcflag_t = 0x00000200;
814 pub const HUPCL: crate::tcflag_t = 0x00000400;
815 pub const CLOCAL: crate::tcflag_t = 0x00000800;
816 pub const ECHOKE: crate::tcflag_t = 0x00000800;
817 pub const ECHOE: crate::tcflag_t = 0x00000010;
818 pub const ECHOK: crate::tcflag_t = 0x00000020;
819 pub const ECHONL: crate::tcflag_t = 0x00000040;
820 pub const ECHOPRT: crate::tcflag_t = 0x00000400;
821 pub const ECHOCTL: crate::tcflag_t = 0x00000200;
822 pub const ISIG: crate::tcflag_t = 0x00000001;
823 pub const ICANON: crate::tcflag_t = 0x00000002;
824 pub const PENDIN: crate::tcflag_t = 0x00004000;
825 pub const NOFLSH: crate::tcflag_t = 0x00000080;
826 pub const CIBAUD: crate::tcflag_t = 0o02003600000;
827 pub const CBAUDEX: crate::tcflag_t = 0o010000;
828 pub const VSWTC: usize = 7;
829 pub const OLCUC: crate::tcflag_t = 0o000002;
830 pub const NLDLY: crate::tcflag_t = 0o000400;
831 pub const CRDLY: crate::tcflag_t = 0o003000;
832 pub const TABDLY: crate::tcflag_t = 0o014000;
833 pub const BSDLY: crate::tcflag_t = 0o020000;
834 pub const FFDLY: crate::tcflag_t = 0o100000;
835 pub const VTDLY: crate::tcflag_t = 0o040000;
836 pub const XTABS: crate::tcflag_t = 0o014000;
837 
838 pub const B0: crate::speed_t = 0o000000;
839 pub const B50: crate::speed_t = 0o000001;
840 pub const B75: crate::speed_t = 0o000002;
841 pub const B110: crate::speed_t = 0o000003;
842 pub const B134: crate::speed_t = 0o000004;
843 pub const B150: crate::speed_t = 0o000005;
844 pub const B200: crate::speed_t = 0o000006;
845 pub const B300: crate::speed_t = 0o000007;
846 pub const B600: crate::speed_t = 0o000010;
847 pub const B1200: crate::speed_t = 0o000011;
848 pub const B1800: crate::speed_t = 0o000012;
849 pub const B2400: crate::speed_t = 0o000013;
850 pub const B4800: crate::speed_t = 0o000014;
851 pub const B9600: crate::speed_t = 0o000015;
852 pub const B19200: crate::speed_t = 0o000016;
853 pub const B38400: crate::speed_t = 0o000017;
854 pub const EXTA: crate::speed_t = B19200;
855 pub const EXTB: crate::speed_t = B38400;
856 pub const B57600: crate::speed_t = 0o010001;
857 pub const B115200: crate::speed_t = 0o010002;
858 pub const B230400: crate::speed_t = 0o010003;
859 pub const B460800: crate::speed_t = 0o010004;
860 pub const B500000: crate::speed_t = 0o010005;
861 pub const B576000: crate::speed_t = 0o010006;
862 pub const B921600: crate::speed_t = 0o010007;
863 pub const B1000000: crate::speed_t = 0o010010;
864 pub const B1152000: crate::speed_t = 0o010011;
865 pub const B1500000: crate::speed_t = 0o010012;
866 pub const B2000000: crate::speed_t = 0o010013;
867 pub const B2500000: crate::speed_t = 0o010014;
868 pub const B3000000: crate::speed_t = 0o010015;
869 pub const B3500000: crate::speed_t = 0o010016;
870 pub const B4000000: crate::speed_t = 0o010017;
871 
872 pub const EHWPOISON: c_int = 168;
873