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