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