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