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