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