1 //! Apple (ios/darwin)-specific definitions 2 //! 3 //! This covers *-apple-* triples currently 4 pub type c_char = i8; 5 pub type clock_t = c_ulong; 6 pub type time_t = c_long; 7 pub type suseconds_t = i32; 8 pub type dev_t = i32; 9 pub type ino_t = u64; 10 pub type mode_t = u16; 11 pub type nlink_t = u16; 12 pub type blksize_t = i32; 13 pub type rlim_t = u64; 14 pub type pthread_key_t = c_ulong; 15 pub type sigset_t = u32; 16 pub type clockid_t = ::c_uint; 17 pub type fsblkcnt_t = ::c_uint; 18 pub type fsfilcnt_t = ::c_uint; 19 pub type speed_t = ::c_ulong; 20 pub type tcflag_t = ::c_ulong; 21 pub type nl_item = ::c_int; 22 pub type id_t = ::c_uint; 23 pub type sem_t = ::c_int; 24 pub type idtype_t = ::c_uint; 25 pub type integer_t = ::c_int; 26 pub type cpu_type_t = integer_t; 27 pub type cpu_subtype_t = integer_t; 28 29 pub type posix_spawnattr_t = *mut ::c_void; 30 pub type posix_spawn_file_actions_t = *mut ::c_void; 31 pub type key_t = ::c_int; 32 pub type shmatt_t = ::c_ushort; 33 34 deprecated_mach! { 35 pub type vm_prot_t = ::c_int; 36 pub type vm_size_t = ::uintptr_t; 37 pub type mach_timebase_info_data_t = mach_timebase_info; 38 } 39 40 #[cfg_attr(feature = "extra_traits", derive(Debug))] 41 pub enum timezone {} 42 impl ::Copy for timezone {} 43 impl ::Clone for timezone { clone(&self) -> timezone44 fn clone(&self) -> timezone { *self } 45 } 46 47 s! { 48 pub struct ip_mreq { 49 pub imr_multiaddr: in_addr, 50 pub imr_interface: in_addr, 51 } 52 53 pub struct aiocb { 54 pub aio_fildes: ::c_int, 55 pub aio_offset: ::off_t, 56 pub aio_buf: *mut ::c_void, 57 pub aio_nbytes: ::size_t, 58 pub aio_reqprio: ::c_int, 59 pub aio_sigevent: sigevent, 60 pub aio_lio_opcode: ::c_int 61 } 62 63 pub struct glob_t { 64 pub gl_pathc: ::size_t, 65 __unused1: ::c_int, 66 pub gl_offs: ::size_t, 67 __unused2: ::c_int, 68 pub gl_pathv: *mut *mut ::c_char, 69 70 __unused3: *mut ::c_void, 71 72 __unused4: *mut ::c_void, 73 __unused5: *mut ::c_void, 74 __unused6: *mut ::c_void, 75 __unused7: *mut ::c_void, 76 __unused8: *mut ::c_void, 77 } 78 79 pub struct addrinfo { 80 pub ai_flags: ::c_int, 81 pub ai_family: ::c_int, 82 pub ai_socktype: ::c_int, 83 pub ai_protocol: ::c_int, 84 pub ai_addrlen: ::socklen_t, 85 pub ai_canonname: *mut ::c_char, 86 pub ai_addr: *mut ::sockaddr, 87 pub ai_next: *mut addrinfo, 88 } 89 90 #[deprecated( 91 since = "0.2.55", 92 note = "Use the `mach` crate instead", 93 )] 94 pub struct mach_timebase_info { 95 pub numer: u32, 96 pub denom: u32, 97 } 98 99 pub struct stat { 100 pub st_dev: dev_t, 101 pub st_mode: mode_t, 102 pub st_nlink: nlink_t, 103 pub st_ino: ino_t, 104 pub st_uid: ::uid_t, 105 pub st_gid: ::gid_t, 106 pub st_rdev: dev_t, 107 pub st_atime: time_t, 108 pub st_atime_nsec: c_long, 109 pub st_mtime: time_t, 110 pub st_mtime_nsec: c_long, 111 pub st_ctime: time_t, 112 pub st_ctime_nsec: c_long, 113 pub st_birthtime: time_t, 114 pub st_birthtime_nsec: c_long, 115 pub st_size: ::off_t, 116 pub st_blocks: ::blkcnt_t, 117 pub st_blksize: blksize_t, 118 pub st_flags: u32, 119 pub st_gen: u32, 120 pub st_lspare: i32, 121 pub st_qspare: [i64; 2], 122 } 123 124 pub struct pthread_mutexattr_t { 125 __sig: ::c_long, 126 __opaque: [u8; 8], 127 } 128 129 pub struct pthread_condattr_t { 130 __sig: ::c_long, 131 __opaque: [u8; __PTHREAD_CONDATTR_SIZE__], 132 } 133 134 pub struct pthread_rwlockattr_t { 135 __sig: ::c_long, 136 __opaque: [u8; __PTHREAD_RWLOCKATTR_SIZE__], 137 } 138 139 pub struct siginfo_t { 140 pub si_signo: ::c_int, 141 pub si_errno: ::c_int, 142 pub si_code: ::c_int, 143 pub si_pid: ::pid_t, 144 pub si_uid: ::uid_t, 145 pub si_status: ::c_int, 146 pub si_addr: *mut ::c_void, 147 _pad: [usize; 9], 148 } 149 150 pub struct sigaction { 151 // FIXME: this field is actually a union 152 pub sa_sigaction: ::sighandler_t, 153 pub sa_mask: sigset_t, 154 pub sa_flags: ::c_int, 155 } 156 157 pub struct stack_t { 158 pub ss_sp: *mut ::c_void, 159 pub ss_size: ::size_t, 160 pub ss_flags: ::c_int, 161 } 162 163 pub struct fstore_t { 164 pub fst_flags: ::c_uint, 165 pub fst_posmode: ::c_int, 166 pub fst_offset: ::off_t, 167 pub fst_length: ::off_t, 168 pub fst_bytesalloc: ::off_t, 169 } 170 171 pub struct radvisory { 172 pub ra_offset: ::off_t, 173 pub ra_count: ::c_int, 174 } 175 176 pub struct statvfs { 177 pub f_bsize: ::c_ulong, 178 pub f_frsize: ::c_ulong, 179 pub f_blocks: ::fsblkcnt_t, 180 pub f_bfree: ::fsblkcnt_t, 181 pub f_bavail: ::fsblkcnt_t, 182 pub f_files: ::fsfilcnt_t, 183 pub f_ffree: ::fsfilcnt_t, 184 pub f_favail: ::fsfilcnt_t, 185 pub f_fsid: ::c_ulong, 186 pub f_flag: ::c_ulong, 187 pub f_namemax: ::c_ulong, 188 } 189 190 pub struct Dl_info { 191 pub dli_fname: *const ::c_char, 192 pub dli_fbase: *mut ::c_void, 193 pub dli_sname: *const ::c_char, 194 pub dli_saddr: *mut ::c_void, 195 } 196 197 pub struct sockaddr_in { 198 pub sin_len: u8, 199 pub sin_family: ::sa_family_t, 200 pub sin_port: ::in_port_t, 201 pub sin_addr: ::in_addr, 202 pub sin_zero: [::c_char; 8], 203 } 204 205 pub struct kevent64_s { 206 pub ident: u64, 207 pub filter: i16, 208 pub flags: u16, 209 pub fflags: u32, 210 pub data: i64, 211 pub udata: u64, 212 pub ext: [u64; 2], 213 } 214 215 pub struct dqblk { 216 pub dqb_bhardlimit: u64, 217 pub dqb_bsoftlimit: u64, 218 pub dqb_curbytes: u64, 219 pub dqb_ihardlimit: u32, 220 pub dqb_isoftlimit: u32, 221 pub dqb_curinodes: u32, 222 pub dqb_btime: u32, 223 pub dqb_itime: u32, 224 pub dqb_id: u32, 225 pub dqb_spare: [u32; 4], 226 } 227 228 pub struct if_msghdr { 229 pub ifm_msglen: ::c_ushort, 230 pub ifm_version: ::c_uchar, 231 pub ifm_type: ::c_uchar, 232 pub ifm_addrs: ::c_int, 233 pub ifm_flags: ::c_int, 234 pub ifm_index: ::c_ushort, 235 pub ifm_data: if_data, 236 } 237 238 pub struct termios { 239 pub c_iflag: ::tcflag_t, 240 pub c_oflag: ::tcflag_t, 241 pub c_cflag: ::tcflag_t, 242 pub c_lflag: ::tcflag_t, 243 pub c_cc: [::cc_t; ::NCCS], 244 pub c_ispeed: ::speed_t, 245 pub c_ospeed: ::speed_t, 246 } 247 248 pub struct flock { 249 pub l_start: ::off_t, 250 pub l_len: ::off_t, 251 pub l_pid: ::pid_t, 252 pub l_type: ::c_short, 253 pub l_whence: ::c_short, 254 } 255 256 pub struct sf_hdtr { 257 pub headers: *mut ::iovec, 258 pub hdr_cnt: ::c_int, 259 pub trailers: *mut ::iovec, 260 pub trl_cnt: ::c_int, 261 } 262 263 pub struct lconv { 264 pub decimal_point: *mut ::c_char, 265 pub thousands_sep: *mut ::c_char, 266 pub grouping: *mut ::c_char, 267 pub int_curr_symbol: *mut ::c_char, 268 pub currency_symbol: *mut ::c_char, 269 pub mon_decimal_point: *mut ::c_char, 270 pub mon_thousands_sep: *mut ::c_char, 271 pub mon_grouping: *mut ::c_char, 272 pub positive_sign: *mut ::c_char, 273 pub negative_sign: *mut ::c_char, 274 pub int_frac_digits: ::c_char, 275 pub frac_digits: ::c_char, 276 pub p_cs_precedes: ::c_char, 277 pub p_sep_by_space: ::c_char, 278 pub n_cs_precedes: ::c_char, 279 pub n_sep_by_space: ::c_char, 280 pub p_sign_posn: ::c_char, 281 pub n_sign_posn: ::c_char, 282 pub int_p_cs_precedes: ::c_char, 283 pub int_n_cs_precedes: ::c_char, 284 pub int_p_sep_by_space: ::c_char, 285 pub int_n_sep_by_space: ::c_char, 286 pub int_p_sign_posn: ::c_char, 287 pub int_n_sign_posn: ::c_char, 288 } 289 290 pub struct sigevent { 291 pub sigev_notify: ::c_int, 292 pub sigev_signo: ::c_int, 293 pub sigev_value: ::sigval, 294 __unused1: *mut ::c_void, //actually a function pointer 295 pub sigev_notify_attributes: *mut ::pthread_attr_t 296 } 297 298 pub struct proc_taskinfo { 299 pub pti_virtual_size: u64, 300 pub pti_resident_size: u64, 301 pub pti_total_user: u64, 302 pub pti_total_system: u64, 303 pub pti_threads_user: u64, 304 pub pti_threads_system: u64, 305 pub pti_policy: i32, 306 pub pti_faults: i32, 307 pub pti_pageins: i32, 308 pub pti_cow_faults: i32, 309 pub pti_messages_sent: i32, 310 pub pti_messages_received: i32, 311 pub pti_syscalls_mach: i32, 312 pub pti_syscalls_unix: i32, 313 pub pti_csw: i32, 314 pub pti_threadnum: i32, 315 pub pti_numrunning: i32, 316 pub pti_priority: i32, 317 } 318 319 pub struct proc_bsdinfo { 320 pub pbi_flags: u32, 321 pub pbi_status: u32, 322 pub pbi_xstatus: u32, 323 pub pbi_pid: u32, 324 pub pbi_ppid: u32, 325 pub pbi_uid: ::uid_t, 326 pub pbi_gid: ::gid_t, 327 pub pbi_ruid: ::uid_t, 328 pub pbi_rgid: ::gid_t, 329 pub pbi_svuid: ::uid_t, 330 pub pbi_svgid: ::gid_t, 331 pub rfu_1: u32, 332 pub pbi_comm: [::c_char; MAXCOMLEN], 333 pub pbi_name: [::c_char; 32], // MAXCOMLEN * 2, but macro isn't happy... 334 pub pbi_nfiles: u32, 335 pub pbi_pgid: u32, 336 pub pbi_pjobc: u32, 337 pub e_tdev: u32, 338 pub e_tpgid: u32, 339 pub pbi_nice: i32, 340 pub pbi_start_tvsec: u64, 341 pub pbi_start_tvusec: u64, 342 } 343 344 pub struct proc_taskallinfo { 345 pub pbsd: proc_bsdinfo, 346 pub ptinfo: proc_taskinfo, 347 } 348 349 pub struct xsw_usage { 350 pub xsu_total: u64, 351 pub xsu_avail: u64, 352 pub xsu_used: u64, 353 pub xsu_pagesize: u32, 354 pub xsu_encrypted: ::boolean_t, 355 } 356 357 pub struct xucred { 358 pub cr_version: ::c_uint, 359 pub cr_uid: ::uid_t, 360 pub cr_ngroups: ::c_short, 361 pub cr_groups: [::gid_t;16] 362 } 363 364 #[deprecated( 365 since = "0.2.55", 366 note = "Use the `mach` crate instead", 367 )] 368 pub struct mach_header { 369 pub magic: u32, 370 pub cputype: cpu_type_t, 371 pub cpusubtype: cpu_subtype_t, 372 pub filetype: u32, 373 pub ncmds: u32, 374 pub sizeofcmds: u32, 375 pub flags: u32, 376 } 377 378 #[deprecated( 379 since = "0.2.55", 380 note = "Use the `mach` crate instead", 381 )] 382 pub struct mach_header_64 { 383 pub magic: u32, 384 pub cputype: cpu_type_t, 385 pub cpusubtype: cpu_subtype_t, 386 pub filetype: u32, 387 pub ncmds: u32, 388 pub sizeofcmds: u32, 389 pub flags: u32, 390 pub reserved: u32, 391 } 392 393 pub struct segment_command { 394 pub cmd: u32, 395 pub cmdsize: u32, 396 pub segname: [::c_char; 16], 397 pub vmaddr: u32, 398 pub vmsize: u32, 399 pub fileoff: u32, 400 pub filesize: u32, 401 pub maxprot: vm_prot_t, 402 pub initprot: vm_prot_t, 403 pub nsects: u32, 404 pub flags: u32, 405 } 406 407 pub struct segment_command_64 { 408 pub cmd: u32, 409 pub cmdsize: u32, 410 pub segname: [::c_char; 16], 411 pub vmaddr: u64, 412 pub vmsize: u64, 413 pub fileoff: u64, 414 pub filesize: u64, 415 pub maxprot: vm_prot_t, 416 pub initprot: vm_prot_t, 417 pub nsects: u32, 418 pub flags: u32, 419 } 420 421 pub struct load_command { 422 pub cmd: u32, 423 pub cmdsize: u32, 424 } 425 426 pub struct sockaddr_dl { 427 pub sdl_len: ::c_uchar, 428 pub sdl_family: ::c_uchar, 429 pub sdl_index: ::c_ushort, 430 pub sdl_type: ::c_uchar, 431 pub sdl_nlen: ::c_uchar, 432 pub sdl_alen: ::c_uchar, 433 pub sdl_slen: ::c_uchar, 434 pub sdl_data: [::c_char; 12], 435 } 436 437 pub struct sockaddr_inarp { 438 pub sin_len: ::c_uchar, 439 pub sin_family: ::c_uchar, 440 pub sin_port: ::c_ushort, 441 pub sin_addr: ::in_addr, 442 pub sin_srcaddr: ::in_addr, 443 pub sin_tos: ::c_ushort, 444 pub sin_other: ::c_ushort, 445 } 446 447 pub struct sockaddr_ctl { 448 pub sc_len: ::c_uchar, 449 pub sc_family: ::c_uchar, 450 pub ss_sysaddr: u16, 451 pub sc_id: u32, 452 pub sc_unit: u32, 453 pub sc_reserved: [u32; 5], 454 } 455 456 pub struct in_pktinfo { 457 pub ipi_ifindex: ::c_uint, 458 pub ipi_spec_dst: ::in_addr, 459 pub ipi_addr: ::in_addr, 460 } 461 462 pub struct in6_pktinfo { 463 pub ipi6_addr: ::in6_addr, 464 pub ipi6_ifindex: ::c_uint, 465 } 466 467 // sys/ipc.h: 468 469 pub struct ipc_perm { 470 pub uid: ::uid_t, 471 pub gid: ::gid_t, 472 pub cuid: ::uid_t, 473 pub cgid: ::gid_t, 474 pub mode: ::mode_t, 475 pub _seq: ::c_ushort, 476 pub _key: ::key_t, 477 } 478 479 // sys/sem.h 480 481 pub struct sembuf { 482 pub sem_num: ::c_ushort, 483 pub sem_op: ::c_short, 484 pub sem_flg: ::c_short, 485 } 486 487 // sys/shm.h 488 489 pub struct arphdr { 490 pub ar_hrd: u16, 491 pub ar_pro: u16, 492 pub ar_hln: u8, 493 pub ar_pln: u8, 494 pub ar_op: u16, 495 } 496 497 pub struct in_addr { 498 pub s_addr: ::in_addr_t, 499 } 500 } 501 502 s_no_extra_traits!{ 503 #[cfg_attr(libc_packedN, repr(packed(4)))] 504 pub struct kevent { 505 pub ident: ::uintptr_t, 506 pub filter: i16, 507 pub flags: u16, 508 pub fflags: u32, 509 pub data: ::intptr_t, 510 pub udata: *mut ::c_void, 511 } 512 513 #[cfg_attr(libc_packedN, repr(packed(4)))] 514 pub struct semid_ds { 515 // Note the manpage shows different types than the system header. 516 pub sem_perm: ipc_perm, 517 pub sem_base: i32, 518 pub sem_nsems: ::c_ushort, 519 pub sem_otime: ::time_t, 520 pub sem_pad1: i32, 521 pub sem_ctime: ::time_t, 522 pub sem_pad2: i32, 523 pub sem_pad3: [i32; 4], 524 } 525 526 #[cfg_attr(libc_packedN, repr(packed(4)))] 527 pub struct shmid_ds { 528 pub shm_perm: ipc_perm, 529 pub shm_segsz: ::size_t, 530 pub shm_lpid: ::pid_t, 531 pub shm_cpid: ::pid_t, 532 pub shm_nattch: ::shmatt_t, 533 pub shm_atime: ::time_t, // FIXME: 64-bit wrong align => wrong offset 534 pub shm_dtime: ::time_t, // FIXME: 64-bit wrong align => wrong offset 535 pub shm_ctime: ::time_t, // FIXME: 64-bit wrong align => wrong offset 536 // FIXME: 64-bit wrong align => wrong offset: 537 pub shm_internal: *mut ::c_void, 538 } 539 540 pub struct proc_threadinfo { 541 pub pth_user_time: u64, 542 pub pth_system_time: u64, 543 pub pth_cpu_usage: i32, 544 pub pth_policy: i32, 545 pub pth_run_state: i32, 546 pub pth_flags: i32, 547 pub pth_sleep_time: i32, 548 pub pth_curpri: i32, 549 pub pth_priority: i32, 550 pub pth_maxpriority: i32, 551 pub pth_name: [::c_char; MAXTHREADNAMESIZE], 552 } 553 554 pub struct statfs { 555 pub f_bsize: u32, 556 pub f_iosize: i32, 557 pub f_blocks: u64, 558 pub f_bfree: u64, 559 pub f_bavail: u64, 560 pub f_files: u64, 561 pub f_ffree: u64, 562 pub f_fsid: ::fsid_t, 563 pub f_owner: ::uid_t, 564 pub f_type: u32, 565 pub f_flags: u32, 566 pub f_fssubtype: u32, 567 pub f_fstypename: [::c_char; 16], 568 pub f_mntonname: [::c_char; 1024], 569 pub f_mntfromname: [::c_char; 1024], 570 pub f_reserved: [u32; 8], 571 } 572 573 pub struct dirent { 574 pub d_ino: u64, 575 pub d_seekoff: u64, 576 pub d_reclen: u16, 577 pub d_namlen: u16, 578 pub d_type: u8, 579 pub d_name: [::c_char; 1024], 580 } 581 582 pub struct pthread_rwlock_t { 583 __sig: ::c_long, 584 __opaque: [u8; __PTHREAD_RWLOCK_SIZE__], 585 } 586 587 pub struct pthread_mutex_t { 588 __sig: ::c_long, 589 __opaque: [u8; __PTHREAD_MUTEX_SIZE__], 590 } 591 592 pub struct pthread_cond_t { 593 __sig: ::c_long, 594 __opaque: [u8; __PTHREAD_COND_SIZE__], 595 } 596 597 pub struct sockaddr_storage { 598 pub ss_len: u8, 599 pub ss_family: ::sa_family_t, 600 __ss_pad1: [u8; 6], 601 __ss_align: i64, 602 __ss_pad2: [u8; 112], 603 } 604 605 pub struct utmpx { 606 pub ut_user: [::c_char; _UTX_USERSIZE], 607 pub ut_id: [::c_char; _UTX_IDSIZE], 608 pub ut_line: [::c_char; _UTX_LINESIZE], 609 pub ut_pid: ::pid_t, 610 pub ut_type: ::c_short, 611 pub ut_tv: ::timeval, 612 pub ut_host: [::c_char; _UTX_HOSTSIZE], 613 ut_pad: [u32; 16], 614 } 615 } 616 617 cfg_if! { 618 if #[cfg(libc_union)] { 619 s_no_extra_traits! { 620 pub union semun { 621 pub val: ::c_int, 622 pub buf: *mut semid_ds, 623 pub array: *mut ::c_ushort, 624 } 625 } 626 627 cfg_if! { 628 if #[cfg(feature = "extra_traits")] { 629 impl PartialEq for semun { 630 fn eq(&self, other: &semun) -> bool { 631 unsafe { self.val == other.val } 632 } 633 } 634 impl Eq for semun {} 635 impl ::fmt::Debug for semun { 636 fn fmt(&self, f: &mut ::fmt::Formatter) 637 -> ::fmt::Result { 638 f.debug_struct("semun") 639 .field("val", unsafe { &self.val }) 640 .finish() 641 } 642 } 643 impl ::hash::Hash for semun { 644 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 645 unsafe { self.val.hash(state) }; 646 } 647 } 648 } 649 } 650 } 651 } 652 653 cfg_if! { 654 if #[cfg(feature = "extra_traits")] { 655 impl PartialEq for kevent { 656 fn eq(&self, other: &kevent) -> bool { 657 self.ident == other.ident 658 && self.filter == other.filter 659 && self.flags == other.flags 660 && self.fflags == other.fflags 661 && self.data == other.data 662 && self.udata == other.udata 663 } 664 } 665 impl Eq for kevent {} 666 impl ::fmt::Debug for kevent { 667 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 668 let ident = self.ident; 669 let filter = self.filter; 670 let flags = self.flags; 671 let fflags = self.fflags; 672 let data = self.data; 673 let udata = self.udata; 674 f.debug_struct("kevent") 675 .field("ident", &ident) 676 .field("filter", &filter) 677 .field("flags", &flags) 678 .field("fflags", &fflags) 679 .field("data", &data) 680 .field("udata", &udata) 681 .finish() 682 } 683 } 684 impl ::hash::Hash for kevent { 685 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 686 let ident = self.ident; 687 let filter = self.filter; 688 let flags = self.flags; 689 let fflags = self.fflags; 690 let data = self.data; 691 let udata = self.udata; 692 ident.hash(state); 693 filter.hash(state); 694 flags.hash(state); 695 fflags.hash(state); 696 data.hash(state); 697 udata.hash(state); 698 } 699 } 700 701 impl PartialEq for semid_ds { 702 fn eq(&self, other: &semid_ds) -> bool { 703 let sem_perm = self.sem_perm; 704 let sem_pad3 = self.sem_pad3; 705 let other_sem_perm = other.sem_perm; 706 let other_sem_pad3 = other.sem_pad3; 707 sem_perm == other_sem_perm 708 && self.sem_base == other.sem_base 709 && self.sem_nsems == other.sem_nsems 710 && self.sem_otime == other.sem_otime 711 && self.sem_pad1 == other.sem_pad1 712 && self.sem_ctime == other.sem_ctime 713 && self.sem_pad2 == other.sem_pad2 714 && sem_pad3 == other_sem_pad3 715 } 716 } 717 impl Eq for semid_ds {} 718 impl ::fmt::Debug for semid_ds { 719 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 720 let sem_perm = self.sem_perm; 721 let sem_base = self.sem_base; 722 let sem_nsems = self.sem_nsems; 723 let sem_otime = self.sem_otime; 724 let sem_pad1 = self.sem_pad1; 725 let sem_ctime = self.sem_ctime; 726 let sem_pad2 = self.sem_pad2; 727 let sem_pad3 = self.sem_pad3; 728 f.debug_struct("semid_ds") 729 .field("sem_perm", &sem_perm) 730 .field("sem_base", &sem_base) 731 .field("sem_nsems", &sem_nsems) 732 .field("sem_otime", &sem_otime) 733 .field("sem_pad1", &sem_pad1) 734 .field("sem_ctime", &sem_ctime) 735 .field("sem_pad2", &sem_pad2) 736 .field("sem_pad3", &sem_pad3) 737 .finish() 738 } 739 } 740 impl ::hash::Hash for semid_ds { 741 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 742 let sem_perm = self.sem_perm; 743 let sem_base = self.sem_base; 744 let sem_nsems = self.sem_nsems; 745 let sem_otime = self.sem_otime; 746 let sem_pad1 = self.sem_pad1; 747 let sem_ctime = self.sem_ctime; 748 let sem_pad2 = self.sem_pad2; 749 let sem_pad3 = self.sem_pad3; 750 sem_perm.hash(state); 751 sem_base.hash(state); 752 sem_nsems.hash(state); 753 sem_otime.hash(state); 754 sem_pad1.hash(state); 755 sem_ctime.hash(state); 756 sem_pad2.hash(state); 757 sem_pad3.hash(state); 758 } 759 } 760 761 impl PartialEq for shmid_ds { 762 fn eq(&self, other: &shmid_ds) -> bool { 763 let shm_perm = self.shm_perm; 764 let other_shm_perm = other.shm_perm; 765 shm_perm == other_shm_perm 766 && self.shm_segsz == other.shm_segsz 767 && self.shm_lpid == other.shm_lpid 768 && self.shm_cpid == other.shm_cpid 769 && self.shm_nattch == other.shm_nattch 770 && self.shm_atime == other.shm_atime 771 && self.shm_dtime == other.shm_dtime 772 && self.shm_ctime == other.shm_ctime 773 && self.shm_internal == other.shm_internal 774 } 775 } 776 impl Eq for shmid_ds {} 777 impl ::fmt::Debug for shmid_ds { 778 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 779 let shm_perm = self.shm_perm; 780 let shm_segsz = self.shm_segsz; 781 let shm_lpid = self.shm_lpid; 782 let shm_cpid = self.shm_cpid; 783 let shm_nattch = self.shm_nattch; 784 let shm_atime = self.shm_atime; 785 let shm_dtime = self.shm_dtime; 786 let shm_ctime = self.shm_ctime; 787 let shm_internal = self.shm_internal; 788 f.debug_struct("shmid_ds") 789 .field("shm_perm", &shm_perm) 790 .field("shm_segsz", &shm_segsz) 791 .field("shm_lpid", &shm_lpid) 792 .field("shm_cpid", &shm_cpid) 793 .field("shm_nattch", &shm_nattch) 794 .field("shm_atime", &shm_atime) 795 .field("shm_dtime", &shm_dtime) 796 .field("shm_ctime", &shm_ctime) 797 .field("shm_internal", &shm_internal) 798 .finish() 799 } 800 } 801 impl ::hash::Hash for shmid_ds { 802 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 803 let shm_perm = self.shm_perm; 804 let shm_segsz = self.shm_segsz; 805 let shm_lpid = self.shm_lpid; 806 let shm_cpid = self.shm_cpid; 807 let shm_nattch = self.shm_nattch; 808 let shm_atime = self.shm_atime; 809 let shm_dtime = self.shm_dtime; 810 let shm_ctime = self.shm_ctime; 811 let shm_internal = self.shm_internal; 812 shm_perm.hash(state); 813 shm_segsz.hash(state); 814 shm_lpid.hash(state); 815 shm_cpid.hash(state); 816 shm_nattch.hash(state); 817 shm_atime.hash(state); 818 shm_dtime.hash(state); 819 shm_ctime.hash(state); 820 shm_internal.hash(state); 821 } 822 } 823 824 impl PartialEq for proc_threadinfo { 825 fn eq(&self, other: &proc_threadinfo) -> bool { 826 self.pth_user_time == other.pth_user_time 827 && self.pth_system_time == other.pth_system_time 828 && self.pth_cpu_usage == other.pth_cpu_usage 829 && self.pth_policy == other.pth_policy 830 && self.pth_run_state == other.pth_run_state 831 && self.pth_flags == other.pth_flags 832 && self.pth_sleep_time == other.pth_sleep_time 833 && self.pth_curpri == other.pth_curpri 834 && self.pth_priority == other.pth_priority 835 && self.pth_maxpriority == other.pth_maxpriority 836 && self.pth_name 837 .iter() 838 .zip(other.pth_name.iter()) 839 .all(|(a,b)| a == b) 840 } 841 } 842 impl Eq for proc_threadinfo {} 843 impl ::fmt::Debug for proc_threadinfo { 844 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 845 f.debug_struct("proc_threadinfo") 846 .field("pth_user_time", &self.pth_user_time) 847 .field("pth_system_time", &self.pth_system_time) 848 .field("pth_cpu_usage", &self.pth_cpu_usage) 849 .field("pth_policy", &self.pth_policy) 850 .field("pth_run_state", &self.pth_run_state) 851 .field("pth_flags", &self.pth_flags) 852 .field("pth_sleep_time", &self.pth_sleep_time) 853 .field("pth_curpri", &self.pth_curpri) 854 .field("pth_priority", &self.pth_priority) 855 .field("pth_maxpriority", &self.pth_maxpriority) 856 // FIXME: .field("pth_name", &self.pth_name) 857 .finish() 858 } 859 } 860 impl ::hash::Hash for proc_threadinfo { 861 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 862 self.pth_user_time.hash(state); 863 self.pth_system_time.hash(state); 864 self.pth_cpu_usage.hash(state); 865 self.pth_policy.hash(state); 866 self.pth_run_state.hash(state); 867 self.pth_flags.hash(state); 868 self.pth_sleep_time.hash(state); 869 self.pth_curpri.hash(state); 870 self.pth_priority.hash(state); 871 self.pth_maxpriority.hash(state); 872 self.pth_name.hash(state); 873 } 874 } 875 876 impl PartialEq for statfs { 877 fn eq(&self, other: &statfs) -> bool { 878 self.f_bsize == other.f_bsize 879 && self.f_iosize == other.f_iosize 880 && self.f_blocks == other.f_blocks 881 && self.f_bfree == other.f_bfree 882 && self.f_bavail == other.f_bavail 883 && self.f_files == other.f_files 884 && self.f_ffree == other.f_ffree 885 && self.f_fsid == other.f_fsid 886 && self.f_owner == other.f_owner 887 && self.f_flags == other.f_flags 888 && self.f_fssubtype == other.f_fssubtype 889 && self.f_fstypename == other.f_fstypename 890 && self.f_type == other.f_type 891 && self 892 .f_mntonname 893 .iter() 894 .zip(other.f_mntonname.iter()) 895 .all(|(a,b)| a == b) 896 && self 897 .f_mntfromname 898 .iter() 899 .zip(other.f_mntfromname.iter()) 900 .all(|(a,b)| a == b) 901 && self.f_reserved == other.f_reserved 902 } 903 } 904 905 impl Eq for statfs {} 906 impl ::fmt::Debug for statfs { 907 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 908 f.debug_struct("statfs") 909 .field("f_bsize", &self.f_bsize) 910 .field("f_iosize", &self.f_iosize) 911 .field("f_blocks", &self.f_blocks) 912 .field("f_bfree", &self.f_bfree) 913 .field("f_bavail", &self.f_bavail) 914 .field("f_files", &self.f_files) 915 .field("f_ffree", &self.f_ffree) 916 .field("f_fsid", &self.f_fsid) 917 .field("f_owner", &self.f_owner) 918 .field("f_flags", &self.f_flags) 919 .field("f_fssubtype", &self.f_fssubtype) 920 .field("f_fstypename", &self.f_fstypename) 921 .field("f_type", &self.f_type) 922 // FIXME: .field("f_mntonname", &self.f_mntonname) 923 // FIXME: .field("f_mntfromname", &self.f_mntfromname) 924 .field("f_reserved", &self.f_reserved) 925 .finish() 926 } 927 } 928 929 impl ::hash::Hash for statfs { 930 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 931 self.f_bsize.hash(state); 932 self.f_iosize.hash(state); 933 self.f_blocks.hash(state); 934 self.f_bfree.hash(state); 935 self.f_bavail.hash(state); 936 self.f_files.hash(state); 937 self.f_ffree.hash(state); 938 self.f_fsid.hash(state); 939 self.f_owner.hash(state); 940 self.f_flags.hash(state); 941 self.f_fssubtype.hash(state); 942 self.f_fstypename.hash(state); 943 self.f_type.hash(state); 944 self.f_mntonname.hash(state); 945 self.f_mntfromname.hash(state); 946 self.f_reserved.hash(state); 947 } 948 } 949 950 impl PartialEq for dirent { 951 fn eq(&self, other: &dirent) -> bool { 952 self.d_ino == other.d_ino 953 && self.d_seekoff == other.d_seekoff 954 && self.d_reclen == other.d_reclen 955 && self.d_namlen == other.d_namlen 956 && self.d_type == other.d_type 957 && self 958 .d_name 959 .iter() 960 .zip(other.d_name.iter()) 961 .all(|(a,b)| a == b) 962 } 963 } 964 impl Eq for dirent {} 965 impl ::fmt::Debug for dirent { 966 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 967 f.debug_struct("dirent") 968 .field("d_ino", &self.d_ino) 969 .field("d_seekoff", &self.d_seekoff) 970 .field("d_reclen", &self.d_reclen) 971 .field("d_namlen", &self.d_namlen) 972 .field("d_type", &self.d_type) 973 // FIXME: .field("d_name", &self.d_name) 974 .finish() 975 } 976 } 977 impl ::hash::Hash for dirent { 978 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 979 self.d_ino.hash(state); 980 self.d_seekoff.hash(state); 981 self.d_reclen.hash(state); 982 self.d_namlen.hash(state); 983 self.d_type.hash(state); 984 self.d_name.hash(state); 985 } 986 } 987 impl PartialEq for pthread_rwlock_t { 988 fn eq(&self, other: &pthread_rwlock_t) -> bool { 989 self.__sig == other.__sig 990 && self. 991 __opaque 992 .iter() 993 .zip(other.__opaque.iter()) 994 .all(|(a,b)| a == b) 995 } 996 } 997 impl Eq for pthread_rwlock_t {} 998 impl ::fmt::Debug for pthread_rwlock_t { 999 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 1000 f.debug_struct("pthread_rwlock_t") 1001 .field("__sig", &self.__sig) 1002 // FIXME: .field("__opaque", &self.__opaque) 1003 .finish() 1004 } 1005 } 1006 impl ::hash::Hash for pthread_rwlock_t { 1007 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 1008 self.__sig.hash(state); 1009 self.__opaque.hash(state); 1010 } 1011 } 1012 1013 impl PartialEq for pthread_mutex_t { 1014 fn eq(&self, other: &pthread_mutex_t) -> bool { 1015 self.__sig == other.__sig 1016 && self. 1017 __opaque 1018 .iter() 1019 .zip(other.__opaque.iter()) 1020 .all(|(a,b)| a == b) 1021 } 1022 } 1023 1024 impl Eq for pthread_mutex_t {} 1025 1026 impl ::fmt::Debug for pthread_mutex_t { 1027 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 1028 f.debug_struct("pthread_mutex_t") 1029 .field("__sig", &self.__sig) 1030 // FIXME: .field("__opaque", &self.__opaque) 1031 .finish() 1032 } 1033 } 1034 1035 impl ::hash::Hash for pthread_mutex_t { 1036 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 1037 self.__sig.hash(state); 1038 self.__opaque.hash(state); 1039 } 1040 } 1041 1042 impl PartialEq for pthread_cond_t { 1043 fn eq(&self, other: &pthread_cond_t) -> bool { 1044 self.__sig == other.__sig 1045 && self. 1046 __opaque 1047 .iter() 1048 .zip(other.__opaque.iter()) 1049 .all(|(a,b)| a == b) 1050 } 1051 } 1052 1053 impl Eq for pthread_cond_t {} 1054 1055 impl ::fmt::Debug for pthread_cond_t { 1056 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 1057 f.debug_struct("pthread_cond_t") 1058 .field("__sig", &self.__sig) 1059 // FIXME: .field("__opaque", &self.__opaque) 1060 .finish() 1061 } 1062 } 1063 1064 impl ::hash::Hash for pthread_cond_t { 1065 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 1066 self.__sig.hash(state); 1067 self.__opaque.hash(state); 1068 } 1069 } 1070 1071 impl PartialEq for sockaddr_storage { 1072 fn eq(&self, other: &sockaddr_storage) -> bool { 1073 self.ss_len == other.ss_len 1074 && self.ss_family == other.ss_family 1075 && self 1076 .__ss_pad1 1077 .iter() 1078 .zip(other.__ss_pad1.iter()) 1079 .all(|(a, b)| a == b) 1080 && self.__ss_align == other.__ss_align 1081 && self 1082 .__ss_pad2 1083 .iter() 1084 .zip(other.__ss_pad2.iter()) 1085 .all(|(a, b)| a == b) 1086 } 1087 } 1088 1089 impl Eq for sockaddr_storage {} 1090 1091 impl ::fmt::Debug for sockaddr_storage { 1092 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 1093 f.debug_struct("sockaddr_storage") 1094 .field("ss_len", &self.ss_len) 1095 .field("ss_family", &self.ss_family) 1096 .field("__ss_pad1", &self.__ss_pad1) 1097 .field("__ss_align", &self.__ss_align) 1098 // FIXME: .field("__ss_pad2", &self.__ss_pad2) 1099 .finish() 1100 } 1101 } 1102 1103 impl ::hash::Hash for sockaddr_storage { 1104 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 1105 self.ss_len.hash(state); 1106 self.ss_family.hash(state); 1107 self.__ss_pad1.hash(state); 1108 self.__ss_align.hash(state); 1109 self.__ss_pad2.hash(state); 1110 } 1111 } 1112 1113 impl PartialEq for utmpx { 1114 fn eq(&self, other: &utmpx) -> bool { 1115 self.ut_user 1116 .iter() 1117 .zip(other.ut_user.iter()) 1118 .all(|(a,b)| a == b) 1119 && self.ut_id == other.ut_id 1120 && self.ut_line == other.ut_line 1121 && self.ut_pid == other.ut_pid 1122 && self.ut_type == other.ut_type 1123 && self.ut_tv == other.ut_tv 1124 && self 1125 .ut_host 1126 .iter() 1127 .zip(other.ut_host.iter()) 1128 .all(|(a,b)| a == b) 1129 && self.ut_pad == other.ut_pad 1130 } 1131 } 1132 1133 impl Eq for utmpx {} 1134 1135 impl ::fmt::Debug for utmpx { 1136 fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 1137 f.debug_struct("utmpx") 1138 // FIXME: .field("ut_user", &self.ut_user) 1139 .field("ut_id", &self.ut_id) 1140 .field("ut_line", &self.ut_line) 1141 .field("ut_pid", &self.ut_pid) 1142 .field("ut_type", &self.ut_type) 1143 .field("ut_tv", &self.ut_tv) 1144 // FIXME: .field("ut_host", &self.ut_host) 1145 .field("ut_pad", &self.ut_pad) 1146 .finish() 1147 } 1148 } 1149 1150 impl ::hash::Hash for utmpx { 1151 fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 1152 self.ut_user.hash(state); 1153 self.ut_id.hash(state); 1154 self.ut_line.hash(state); 1155 self.ut_pid.hash(state); 1156 self.ut_type.hash(state); 1157 self.ut_tv.hash(state); 1158 self.ut_host.hash(state); 1159 self.ut_pad.hash(state); 1160 } 1161 } 1162 } 1163 } 1164 1165 pub const _UTX_USERSIZE: usize = 256; 1166 pub const _UTX_LINESIZE: usize = 32; 1167 pub const _UTX_IDSIZE: usize = 4; 1168 pub const _UTX_HOSTSIZE: usize = 256; 1169 1170 pub const EMPTY: ::c_short = 0; 1171 pub const RUN_LVL: ::c_short = 1; 1172 pub const BOOT_TIME: ::c_short = 2; 1173 pub const OLD_TIME: ::c_short = 3; 1174 pub const NEW_TIME: ::c_short = 4; 1175 pub const INIT_PROCESS: ::c_short = 5; 1176 pub const LOGIN_PROCESS: ::c_short = 6; 1177 pub const USER_PROCESS: ::c_short = 7; 1178 pub const DEAD_PROCESS: ::c_short = 8; 1179 pub const ACCOUNTING: ::c_short = 9; 1180 pub const SIGNATURE: ::c_short = 10; 1181 pub const SHUTDOWN_TIME: ::c_short = 11; 1182 1183 pub const LC_COLLATE_MASK: ::c_int = (1 << 0); 1184 pub const LC_CTYPE_MASK: ::c_int = (1 << 1); 1185 pub const LC_MESSAGES_MASK: ::c_int = (1 << 2); 1186 pub const LC_MONETARY_MASK: ::c_int = (1 << 3); 1187 pub const LC_NUMERIC_MASK: ::c_int = (1 << 4); 1188 pub const LC_TIME_MASK: ::c_int = (1 << 5); 1189 pub const LC_ALL_MASK: ::c_int = LC_COLLATE_MASK 1190 | LC_CTYPE_MASK 1191 | LC_MESSAGES_MASK 1192 | LC_MONETARY_MASK 1193 | LC_NUMERIC_MASK 1194 | LC_TIME_MASK; 1195 1196 pub const CODESET: ::nl_item = 0; 1197 pub const D_T_FMT: ::nl_item = 1; 1198 pub const D_FMT: ::nl_item = 2; 1199 pub const T_FMT: ::nl_item = 3; 1200 pub const T_FMT_AMPM: ::nl_item = 4; 1201 pub const AM_STR: ::nl_item = 5; 1202 pub const PM_STR: ::nl_item = 6; 1203 1204 pub const DAY_1: ::nl_item = 7; 1205 pub const DAY_2: ::nl_item = 8; 1206 pub const DAY_3: ::nl_item = 9; 1207 pub const DAY_4: ::nl_item = 10; 1208 pub const DAY_5: ::nl_item = 11; 1209 pub const DAY_6: ::nl_item = 12; 1210 pub const DAY_7: ::nl_item = 13; 1211 1212 pub const ABDAY_1: ::nl_item = 14; 1213 pub const ABDAY_2: ::nl_item = 15; 1214 pub const ABDAY_3: ::nl_item = 16; 1215 pub const ABDAY_4: ::nl_item = 17; 1216 pub const ABDAY_5: ::nl_item = 18; 1217 pub const ABDAY_6: ::nl_item = 19; 1218 pub const ABDAY_7: ::nl_item = 20; 1219 1220 pub const MON_1: ::nl_item = 21; 1221 pub const MON_2: ::nl_item = 22; 1222 pub const MON_3: ::nl_item = 23; 1223 pub const MON_4: ::nl_item = 24; 1224 pub const MON_5: ::nl_item = 25; 1225 pub const MON_6: ::nl_item = 26; 1226 pub const MON_7: ::nl_item = 27; 1227 pub const MON_8: ::nl_item = 28; 1228 pub const MON_9: ::nl_item = 29; 1229 pub const MON_10: ::nl_item = 30; 1230 pub const MON_11: ::nl_item = 31; 1231 pub const MON_12: ::nl_item = 32; 1232 1233 pub const ABMON_1: ::nl_item = 33; 1234 pub const ABMON_2: ::nl_item = 34; 1235 pub const ABMON_3: ::nl_item = 35; 1236 pub const ABMON_4: ::nl_item = 36; 1237 pub const ABMON_5: ::nl_item = 37; 1238 pub const ABMON_6: ::nl_item = 38; 1239 pub const ABMON_7: ::nl_item = 39; 1240 pub const ABMON_8: ::nl_item = 40; 1241 pub const ABMON_9: ::nl_item = 41; 1242 pub const ABMON_10: ::nl_item = 42; 1243 pub const ABMON_11: ::nl_item = 43; 1244 pub const ABMON_12: ::nl_item = 44; 1245 1246 pub const CLOCK_REALTIME: ::clockid_t = 0; 1247 pub const CLOCK_MONOTONIC: ::clockid_t = 6; 1248 pub const CLOCK_PROCESS_CPUTIME_ID: ::clockid_t = 12; 1249 pub const CLOCK_THREAD_CPUTIME_ID: ::clockid_t = 16; 1250 1251 pub const ERA: ::nl_item = 45; 1252 pub const ERA_D_FMT: ::nl_item = 46; 1253 pub const ERA_D_T_FMT: ::nl_item = 47; 1254 pub const ERA_T_FMT: ::nl_item = 48; 1255 pub const ALT_DIGITS: ::nl_item = 49; 1256 1257 pub const RADIXCHAR: ::nl_item = 50; 1258 pub const THOUSEP: ::nl_item = 51; 1259 1260 pub const YESEXPR: ::nl_item = 52; 1261 pub const NOEXPR: ::nl_item = 53; 1262 1263 pub const YESSTR: ::nl_item = 54; 1264 pub const NOSTR: ::nl_item = 55; 1265 1266 pub const CRNCYSTR: ::nl_item = 56; 1267 1268 pub const D_MD_ORDER: ::nl_item = 57; 1269 1270 pub const EXIT_FAILURE: ::c_int = 1; 1271 pub const EXIT_SUCCESS: ::c_int = 0; 1272 pub const RAND_MAX: ::c_int = 2147483647; 1273 pub const EOF: ::c_int = -1; 1274 pub const SEEK_SET: ::c_int = 0; 1275 pub const SEEK_CUR: ::c_int = 1; 1276 pub const SEEK_END: ::c_int = 2; 1277 pub const _IOFBF: ::c_int = 0; 1278 pub const _IONBF: ::c_int = 2; 1279 pub const _IOLBF: ::c_int = 1; 1280 pub const BUFSIZ: ::c_uint = 1024; 1281 pub const FOPEN_MAX: ::c_uint = 20; 1282 pub const FILENAME_MAX: ::c_uint = 1024; 1283 pub const L_tmpnam: ::c_uint = 1024; 1284 pub const TMP_MAX: ::c_uint = 308915776; 1285 pub const _PC_LINK_MAX: ::c_int = 1; 1286 pub const _PC_MAX_CANON: ::c_int = 2; 1287 pub const _PC_MAX_INPUT: ::c_int = 3; 1288 pub const _PC_NAME_MAX: ::c_int = 4; 1289 pub const _PC_PATH_MAX: ::c_int = 5; 1290 pub const _PC_PIPE_BUF: ::c_int = 6; 1291 pub const _PC_CHOWN_RESTRICTED: ::c_int = 7; 1292 pub const _PC_NO_TRUNC: ::c_int = 8; 1293 pub const _PC_VDISABLE: ::c_int = 9; 1294 pub const O_DSYNC: ::c_int = 0x400000; 1295 pub const O_NOCTTY: ::c_int = 0x20000; 1296 pub const O_CLOEXEC: ::c_int = 0x1000000; 1297 pub const O_DIRECTORY: ::c_int = 0x100000; 1298 pub const S_IFIFO: mode_t = 4096; 1299 pub const S_IFCHR: mode_t = 8192; 1300 pub const S_IFBLK: mode_t = 24576; 1301 pub const S_IFDIR: mode_t = 16384; 1302 pub const S_IFREG: mode_t = 32768; 1303 pub const S_IFLNK: mode_t = 40960; 1304 pub const S_IFSOCK: mode_t = 49152; 1305 pub const S_IFMT: mode_t = 61440; 1306 pub const S_IEXEC: mode_t = 64; 1307 pub const S_IWRITE: mode_t = 128; 1308 pub const S_IREAD: mode_t = 256; 1309 pub const S_IRWXU: mode_t = 448; 1310 pub const S_IXUSR: mode_t = 64; 1311 pub const S_IWUSR: mode_t = 128; 1312 pub const S_IRUSR: mode_t = 256; 1313 pub const S_IRWXG: mode_t = 56; 1314 pub const S_IXGRP: mode_t = 8; 1315 pub const S_IWGRP: mode_t = 16; 1316 pub const S_IRGRP: mode_t = 32; 1317 pub const S_IRWXO: mode_t = 7; 1318 pub const S_IXOTH: mode_t = 1; 1319 pub const S_IWOTH: mode_t = 2; 1320 pub const S_IROTH: mode_t = 4; 1321 pub const F_OK: ::c_int = 0; 1322 pub const R_OK: ::c_int = 4; 1323 pub const W_OK: ::c_int = 2; 1324 pub const X_OK: ::c_int = 1; 1325 pub const STDIN_FILENO: ::c_int = 0; 1326 pub const STDOUT_FILENO: ::c_int = 1; 1327 pub const STDERR_FILENO: ::c_int = 2; 1328 pub const F_LOCK: ::c_int = 1; 1329 pub const F_TEST: ::c_int = 3; 1330 pub const F_TLOCK: ::c_int = 2; 1331 pub const F_ULOCK: ::c_int = 0; 1332 pub const F_GETLK: ::c_int = 7; 1333 pub const F_SETLK: ::c_int = 8; 1334 pub const F_SETLKW: ::c_int = 9; 1335 pub const SIGHUP: ::c_int = 1; 1336 pub const SIGINT: ::c_int = 2; 1337 pub const SIGQUIT: ::c_int = 3; 1338 pub const SIGILL: ::c_int = 4; 1339 pub const SIGABRT: ::c_int = 6; 1340 pub const SIGEMT: ::c_int = 7; 1341 pub const SIGFPE: ::c_int = 8; 1342 pub const SIGKILL: ::c_int = 9; 1343 pub const SIGSEGV: ::c_int = 11; 1344 pub const SIGPIPE: ::c_int = 13; 1345 pub const SIGALRM: ::c_int = 14; 1346 pub const SIGTERM: ::c_int = 15; 1347 1348 pub const PROT_NONE: ::c_int = 0; 1349 pub const PROT_READ: ::c_int = 1; 1350 pub const PROT_WRITE: ::c_int = 2; 1351 pub const PROT_EXEC: ::c_int = 4; 1352 1353 pub const PT_TRACE_ME: ::c_int = 0; 1354 pub const PT_READ_I: ::c_int = 1; 1355 pub const PT_READ_D: ::c_int = 2; 1356 pub const PT_READ_U: ::c_int = 3; 1357 pub const PT_WRITE_I: ::c_int = 4; 1358 pub const PT_WRITE_D: ::c_int = 5; 1359 pub const PT_WRITE_U: ::c_int = 6; 1360 pub const PT_CONTINUE: ::c_int = 7; 1361 pub const PT_KILL: ::c_int = 8; 1362 pub const PT_STEP: ::c_int = 9; 1363 pub const PT_ATTACH: ::c_int = 10; 1364 pub const PT_DETACH: ::c_int = 11; 1365 pub const PT_SIGEXC: ::c_int = 12; 1366 pub const PT_THUPDATE: ::c_int = 13; 1367 pub const PT_ATTACHEXC: ::c_int = 14; 1368 1369 pub const PT_FORCEQUOTA: ::c_int = 30; 1370 pub const PT_DENY_ATTACH: ::c_int = 31; 1371 pub const PT_FIRSTMACH: ::c_int = 32; 1372 1373 pub const MAP_FILE: ::c_int = 0x0000; 1374 pub const MAP_SHARED: ::c_int = 0x0001; 1375 pub const MAP_PRIVATE: ::c_int = 0x0002; 1376 pub const MAP_FIXED: ::c_int = 0x0010; 1377 pub const MAP_ANON: ::c_int = 0x1000; 1378 pub const MAP_ANONYMOUS: ::c_int = MAP_ANON; 1379 1380 deprecated_mach! { 1381 pub const VM_FLAGS_FIXED: ::c_int = 0x0000; 1382 pub const VM_FLAGS_ANYWHERE: ::c_int = 0x0001; 1383 pub const VM_FLAGS_PURGABLE: ::c_int = 0x0002; 1384 pub const VM_FLAGS_RANDOM_ADDR: ::c_int = 0x0008; 1385 pub const VM_FLAGS_NO_CACHE: ::c_int = 0x0010; 1386 pub const VM_FLAGS_RESILIENT_CODESIGN: ::c_int = 0x0020; 1387 pub const VM_FLAGS_RESILIENT_MEDIA: ::c_int = 0x0040; 1388 pub const VM_FLAGS_OVERWRITE: ::c_int = 0x4000; 1389 pub const VM_FLAGS_SUPERPAGE_MASK: ::c_int = 0x70000; 1390 pub const VM_FLAGS_RETURN_DATA_ADDR: ::c_int = 0x100000; 1391 pub const VM_FLAGS_RETURN_4K_DATA_ADDR: ::c_int = 0x800000; 1392 pub const VM_FLAGS_ALIAS_MASK: ::c_int = 0xFF000000; 1393 pub const VM_FLAGS_USER_ALLOCATE: ::c_int = 0xff07401f; 1394 pub const VM_FLAGS_USER_MAP: ::c_int = 0xff97401f; 1395 pub const VM_FLAGS_USER_REMAP: ::c_int = VM_FLAGS_FIXED | 1396 VM_FLAGS_ANYWHERE | 1397 VM_FLAGS_RANDOM_ADDR | 1398 VM_FLAGS_OVERWRITE | 1399 VM_FLAGS_RETURN_DATA_ADDR | 1400 VM_FLAGS_RESILIENT_CODESIGN; 1401 1402 pub const VM_FLAGS_SUPERPAGE_SHIFT: ::c_int = 16; 1403 pub const SUPERPAGE_NONE: ::c_int = 0; 1404 pub const SUPERPAGE_SIZE_ANY: ::c_int = 1; 1405 pub const VM_FLAGS_SUPERPAGE_NONE: ::c_int = SUPERPAGE_NONE << 1406 VM_FLAGS_SUPERPAGE_SHIFT; 1407 pub const VM_FLAGS_SUPERPAGE_SIZE_ANY: ::c_int = SUPERPAGE_SIZE_ANY << 1408 VM_FLAGS_SUPERPAGE_SHIFT; 1409 pub const SUPERPAGE_SIZE_2MB: ::c_int = 2; 1410 pub const VM_FLAGS_SUPERPAGE_SIZE_2MB: ::c_int = SUPERPAGE_SIZE_2MB << 1411 VM_FLAGS_SUPERPAGE_SHIFT; 1412 1413 pub const VM_MEMORY_MALLOC: ::c_int = 1; 1414 pub const VM_MEMORY_MALLOC_SMALL: ::c_int = 2; 1415 pub const VM_MEMORY_MALLOC_LARGE: ::c_int = 3; 1416 pub const VM_MEMORY_MALLOC_HUGE: ::c_int = 4; 1417 pub const VM_MEMORY_SBRK: ::c_int = 5; 1418 pub const VM_MEMORY_REALLOC: ::c_int = 6; 1419 pub const VM_MEMORY_MALLOC_TINY: ::c_int = 7; 1420 pub const VM_MEMORY_MALLOC_LARGE_REUSABLE: ::c_int = 8; 1421 pub const VM_MEMORY_MALLOC_LARGE_REUSED: ::c_int = 9; 1422 pub const VM_MEMORY_ANALYSIS_TOOL: ::c_int = 10; 1423 pub const VM_MEMORY_MALLOC_NANO: ::c_int = 11; 1424 pub const VM_MEMORY_MACH_MSG: ::c_int = 20; 1425 pub const VM_MEMORY_IOKIT: ::c_int = 21; 1426 pub const VM_MEMORY_STACK: ::c_int = 30; 1427 pub const VM_MEMORY_GUARD: ::c_int = 31; 1428 pub const VM_MEMORY_SHARED_PMAP: ::c_int = 32; 1429 pub const VM_MEMORY_DYLIB: ::c_int = 33; 1430 pub const VM_MEMORY_OBJC_DISPATCHERS: ::c_int = 34; 1431 pub const VM_MEMORY_UNSHARED_PMAP: ::c_int = 35; 1432 pub const VM_MEMORY_APPKIT: ::c_int = 40; 1433 pub const VM_MEMORY_FOUNDATION: ::c_int = 41; 1434 pub const VM_MEMORY_COREGRAPHICS: ::c_int = 42; 1435 pub const VM_MEMORY_CORESERVICES: ::c_int = 43; 1436 pub const VM_MEMORY_CARBON: ::c_int = VM_MEMORY_CORESERVICES; 1437 pub const VM_MEMORY_JAVA: ::c_int = 44; 1438 pub const VM_MEMORY_COREDATA: ::c_int = 45; 1439 pub const VM_MEMORY_COREDATA_OBJECTIDS: ::c_int = 46; 1440 pub const VM_MEMORY_ATS: ::c_int = 50; 1441 pub const VM_MEMORY_LAYERKIT: ::c_int = 51; 1442 pub const VM_MEMORY_CGIMAGE: ::c_int = 52; 1443 pub const VM_MEMORY_TCMALLOC: ::c_int = 53; 1444 pub const VM_MEMORY_COREGRAPHICS_DATA: ::c_int = 54; 1445 pub const VM_MEMORY_COREGRAPHICS_SHARED: ::c_int = 55; 1446 pub const VM_MEMORY_COREGRAPHICS_FRAMEBUFFERS: ::c_int = 56; 1447 pub const VM_MEMORY_COREGRAPHICS_BACKINGSTORES: ::c_int = 57; 1448 pub const VM_MEMORY_COREGRAPHICS_XALLOC: ::c_int = 58; 1449 pub const VM_MEMORY_COREGRAPHICS_MISC: ::c_int = VM_MEMORY_COREGRAPHICS; 1450 pub const VM_MEMORY_DYLD: ::c_int = 60; 1451 pub const VM_MEMORY_DYLD_MALLOC: ::c_int = 61; 1452 pub const VM_MEMORY_SQLITE: ::c_int = 62; 1453 pub const VM_MEMORY_JAVASCRIPT_CORE: ::c_int = 63; 1454 pub const VM_MEMORY_JAVASCRIPT_JIT_EXECUTABLE_ALLOCATOR: ::c_int = 64; 1455 pub const VM_MEMORY_JAVASCRIPT_JIT_REGISTER_FILE: ::c_int = 65; 1456 pub const VM_MEMORY_GLSL: ::c_int = 66; 1457 pub const VM_MEMORY_OPENCL: ::c_int = 67; 1458 pub const VM_MEMORY_COREIMAGE: ::c_int = 68; 1459 pub const VM_MEMORY_WEBCORE_PURGEABLE_BUFFERS: ::c_int = 69; 1460 pub const VM_MEMORY_IMAGEIO: ::c_int = 70; 1461 pub const VM_MEMORY_COREPROFILE: ::c_int = 71; 1462 pub const VM_MEMORY_ASSETSD: ::c_int = 72; 1463 pub const VM_MEMORY_OS_ALLOC_ONCE: ::c_int = 73; 1464 pub const VM_MEMORY_LIBDISPATCH: ::c_int = 74; 1465 pub const VM_MEMORY_ACCELERATE: ::c_int = 75; 1466 pub const VM_MEMORY_COREUI: ::c_int = 76; 1467 pub const VM_MEMORY_COREUIFILE: ::c_int = 77; 1468 pub const VM_MEMORY_GENEALOGY: ::c_int = 78; 1469 pub const VM_MEMORY_RAWCAMERA: ::c_int = 79; 1470 pub const VM_MEMORY_CORPSEINFO: ::c_int = 80; 1471 pub const VM_MEMORY_ASL: ::c_int = 81; 1472 pub const VM_MEMORY_SWIFT_RUNTIME: ::c_int = 82; 1473 pub const VM_MEMORY_SWIFT_METADATA: ::c_int = 83; 1474 pub const VM_MEMORY_DHMM: ::c_int = 84; 1475 pub const VM_MEMORY_SCENEKIT: ::c_int = 86; 1476 pub const VM_MEMORY_SKYWALK: ::c_int = 87; 1477 pub const VM_MEMORY_APPLICATION_SPECIFIC_1: ::c_int = 240; 1478 pub const VM_MEMORY_APPLICATION_SPECIFIC_16: ::c_int = 255; 1479 } 1480 1481 pub const MAP_FAILED: *mut ::c_void = !0 as *mut ::c_void; 1482 1483 pub const MCL_CURRENT: ::c_int = 0x0001; 1484 pub const MCL_FUTURE: ::c_int = 0x0002; 1485 1486 pub const MS_ASYNC: ::c_int = 0x0001; 1487 pub const MS_INVALIDATE: ::c_int = 0x0002; 1488 pub const MS_SYNC: ::c_int = 0x0010; 1489 1490 pub const MS_KILLPAGES: ::c_int = 0x0004; 1491 pub const MS_DEACTIVATE: ::c_int = 0x0008; 1492 1493 pub const EPERM: ::c_int = 1; 1494 pub const ENOENT: ::c_int = 2; 1495 pub const ESRCH: ::c_int = 3; 1496 pub const EINTR: ::c_int = 4; 1497 pub const EIO: ::c_int = 5; 1498 pub const ENXIO: ::c_int = 6; 1499 pub const E2BIG: ::c_int = 7; 1500 pub const ENOEXEC: ::c_int = 8; 1501 pub const EBADF: ::c_int = 9; 1502 pub const ECHILD: ::c_int = 10; 1503 pub const EDEADLK: ::c_int = 11; 1504 pub const ENOMEM: ::c_int = 12; 1505 pub const EACCES: ::c_int = 13; 1506 pub const EFAULT: ::c_int = 14; 1507 pub const ENOTBLK: ::c_int = 15; 1508 pub const EBUSY: ::c_int = 16; 1509 pub const EEXIST: ::c_int = 17; 1510 pub const EXDEV: ::c_int = 18; 1511 pub const ENODEV: ::c_int = 19; 1512 pub const ENOTDIR: ::c_int = 20; 1513 pub const EISDIR: ::c_int = 21; 1514 pub const EINVAL: ::c_int = 22; 1515 pub const ENFILE: ::c_int = 23; 1516 pub const EMFILE: ::c_int = 24; 1517 pub const ENOTTY: ::c_int = 25; 1518 pub const ETXTBSY: ::c_int = 26; 1519 pub const EFBIG: ::c_int = 27; 1520 pub const ENOSPC: ::c_int = 28; 1521 pub const ESPIPE: ::c_int = 29; 1522 pub const EROFS: ::c_int = 30; 1523 pub const EMLINK: ::c_int = 31; 1524 pub const EPIPE: ::c_int = 32; 1525 pub const EDOM: ::c_int = 33; 1526 pub const ERANGE: ::c_int = 34; 1527 pub const EAGAIN: ::c_int = 35; 1528 pub const EWOULDBLOCK: ::c_int = EAGAIN; 1529 pub const EINPROGRESS: ::c_int = 36; 1530 pub const EALREADY: ::c_int = 37; 1531 pub const ENOTSOCK: ::c_int = 38; 1532 pub const EDESTADDRREQ: ::c_int = 39; 1533 pub const EMSGSIZE: ::c_int = 40; 1534 pub const EPROTOTYPE: ::c_int = 41; 1535 pub const ENOPROTOOPT: ::c_int = 42; 1536 pub const EPROTONOSUPPORT: ::c_int = 43; 1537 pub const ESOCKTNOSUPPORT: ::c_int = 44; 1538 pub const ENOTSUP: ::c_int = 45; 1539 pub const EPFNOSUPPORT: ::c_int = 46; 1540 pub const EAFNOSUPPORT: ::c_int = 47; 1541 pub const EADDRINUSE: ::c_int = 48; 1542 pub const EADDRNOTAVAIL: ::c_int = 49; 1543 pub const ENETDOWN: ::c_int = 50; 1544 pub const ENETUNREACH: ::c_int = 51; 1545 pub const ENETRESET: ::c_int = 52; 1546 pub const ECONNABORTED: ::c_int = 53; 1547 pub const ECONNRESET: ::c_int = 54; 1548 pub const ENOBUFS: ::c_int = 55; 1549 pub const EISCONN: ::c_int = 56; 1550 pub const ENOTCONN: ::c_int = 57; 1551 pub const ESHUTDOWN: ::c_int = 58; 1552 pub const ETOOMANYREFS: ::c_int = 59; 1553 pub const ETIMEDOUT: ::c_int = 60; 1554 pub const ECONNREFUSED: ::c_int = 61; 1555 pub const ELOOP: ::c_int = 62; 1556 pub const ENAMETOOLONG: ::c_int = 63; 1557 pub const EHOSTDOWN: ::c_int = 64; 1558 pub const EHOSTUNREACH: ::c_int = 65; 1559 pub const ENOTEMPTY: ::c_int = 66; 1560 pub const EPROCLIM: ::c_int = 67; 1561 pub const EUSERS: ::c_int = 68; 1562 pub const EDQUOT: ::c_int = 69; 1563 pub const ESTALE: ::c_int = 70; 1564 pub const EREMOTE: ::c_int = 71; 1565 pub const EBADRPC: ::c_int = 72; 1566 pub const ERPCMISMATCH: ::c_int = 73; 1567 pub const EPROGUNAVAIL: ::c_int = 74; 1568 pub const EPROGMISMATCH: ::c_int = 75; 1569 pub const EPROCUNAVAIL: ::c_int = 76; 1570 pub const ENOLCK: ::c_int = 77; 1571 pub const ENOSYS: ::c_int = 78; 1572 pub const EFTYPE: ::c_int = 79; 1573 pub const EAUTH: ::c_int = 80; 1574 pub const ENEEDAUTH: ::c_int = 81; 1575 pub const EPWROFF: ::c_int = 82; 1576 pub const EDEVERR: ::c_int = 83; 1577 pub const EOVERFLOW: ::c_int = 84; 1578 pub const EBADEXEC: ::c_int = 85; 1579 pub const EBADARCH: ::c_int = 86; 1580 pub const ESHLIBVERS: ::c_int = 87; 1581 pub const EBADMACHO: ::c_int = 88; 1582 pub const ECANCELED: ::c_int = 89; 1583 pub const EIDRM: ::c_int = 90; 1584 pub const ENOMSG: ::c_int = 91; 1585 pub const EILSEQ: ::c_int = 92; 1586 pub const ENOATTR: ::c_int = 93; 1587 pub const EBADMSG: ::c_int = 94; 1588 pub const EMULTIHOP: ::c_int = 95; 1589 pub const ENODATA: ::c_int = 96; 1590 pub const ENOLINK: ::c_int = 97; 1591 pub const ENOSR: ::c_int = 98; 1592 pub const ENOSTR: ::c_int = 99; 1593 pub const EPROTO: ::c_int = 100; 1594 pub const ETIME: ::c_int = 101; 1595 pub const EOPNOTSUPP: ::c_int = 102; 1596 pub const ENOPOLICY: ::c_int = 103; 1597 pub const ENOTRECOVERABLE: ::c_int = 104; 1598 pub const EOWNERDEAD: ::c_int = 105; 1599 pub const EQFULL: ::c_int = 106; 1600 pub const ELAST: ::c_int = 106; 1601 1602 pub const EAI_AGAIN: ::c_int = 2; 1603 pub const EAI_BADFLAGS: ::c_int = 3; 1604 pub const EAI_FAIL: ::c_int = 4; 1605 pub const EAI_FAMILY: ::c_int = 5; 1606 pub const EAI_MEMORY: ::c_int = 6; 1607 pub const EAI_NODATA: ::c_int = 7; 1608 pub const EAI_NONAME: ::c_int = 8; 1609 pub const EAI_SERVICE: ::c_int = 9; 1610 pub const EAI_SOCKTYPE: ::c_int = 10; 1611 pub const EAI_SYSTEM: ::c_int = 11; 1612 pub const EAI_OVERFLOW: ::c_int = 14; 1613 1614 pub const F_DUPFD: ::c_int = 0; 1615 pub const F_DUPFD_CLOEXEC: ::c_int = 67; 1616 pub const F_GETFD: ::c_int = 1; 1617 pub const F_SETFD: ::c_int = 2; 1618 pub const F_GETFL: ::c_int = 3; 1619 pub const F_SETFL: ::c_int = 4; 1620 pub const F_PREALLOCATE: ::c_int = 42; 1621 pub const F_RDADVISE: ::c_int = 44; 1622 pub const F_RDAHEAD: ::c_int = 45; 1623 pub const F_NOCACHE: ::c_int = 48; 1624 pub const F_GETPATH: ::c_int = 50; 1625 pub const F_FULLFSYNC: ::c_int = 51; 1626 pub const F_FREEZE_FS: ::c_int = 53; 1627 pub const F_THAW_FS: ::c_int = 54; 1628 pub const F_GLOBAL_NOCACHE: ::c_int = 55; 1629 pub const F_NODIRECT: ::c_int = 62; 1630 1631 pub const F_ALLOCATECONTIG: ::c_uint = 0x02; 1632 pub const F_ALLOCATEALL: ::c_uint = 0x04; 1633 1634 pub const F_PEOFPOSMODE: ::c_int = 3; 1635 pub const F_VOLPOSMODE: ::c_int = 4; 1636 1637 pub const AT_FDCWD: ::c_int = -2; 1638 pub const AT_EACCESS: ::c_int = 0x0010; 1639 pub const AT_SYMLINK_NOFOLLOW: ::c_int = 0x0020; 1640 pub const AT_SYMLINK_FOLLOW: ::c_int = 0x0040; 1641 pub const AT_REMOVEDIR: ::c_int = 0x0080; 1642 1643 pub const TIOCMODG: ::c_ulong = 0x40047403; 1644 pub const TIOCMODS: ::c_ulong = 0x80047404; 1645 pub const TIOCM_LE: ::c_int = 0x1; 1646 pub const TIOCM_DTR: ::c_int = 0x2; 1647 pub const TIOCM_RTS: ::c_int = 0x4; 1648 pub const TIOCM_ST: ::c_int = 0x8; 1649 pub const TIOCM_SR: ::c_int = 0x10; 1650 pub const TIOCM_CTS: ::c_int = 0x20; 1651 pub const TIOCM_CAR: ::c_int = 0x40; 1652 pub const TIOCM_CD: ::c_int = 0x40; 1653 pub const TIOCM_RNG: ::c_int = 0x80; 1654 pub const TIOCM_RI: ::c_int = 0x80; 1655 pub const TIOCM_DSR: ::c_int = 0x100; 1656 pub const TIOCEXCL: ::c_int = 0x2000740d; 1657 pub const TIOCNXCL: ::c_int = 0x2000740e; 1658 pub const TIOCFLUSH: ::c_ulong = 0x80047410; 1659 pub const TIOCGETD: ::c_ulong = 0x4004741a; 1660 pub const TIOCSETD: ::c_ulong = 0x8004741b; 1661 pub const TIOCIXON: ::c_uint = 0x20007481; 1662 pub const TIOCIXOFF: ::c_uint = 0x20007480; 1663 pub const TIOCSBRK: ::c_uint = 0x2000747b; 1664 pub const TIOCCBRK: ::c_uint = 0x2000747a; 1665 pub const TIOCSDTR: ::c_uint = 0x20007479; 1666 pub const TIOCCDTR: ::c_uint = 0x20007478; 1667 pub const TIOCGPGRP: ::c_ulong = 0x40047477; 1668 pub const TIOCSPGRP: ::c_ulong = 0x80047476; 1669 pub const TIOCOUTQ: ::c_ulong = 0x40047473; 1670 pub const TIOCSTI: ::c_ulong = 0x80017472; 1671 pub const TIOCNOTTY: ::c_uint = 0x20007471; 1672 pub const TIOCPKT: ::c_ulong = 0x80047470; 1673 pub const TIOCPKT_DATA: ::c_int = 0x0; 1674 pub const TIOCPKT_FLUSHREAD: ::c_int = 0x1; 1675 pub const TIOCPKT_FLUSHWRITE: ::c_int = 0x2; 1676 pub const TIOCPKT_STOP: ::c_int = 0x4; 1677 pub const TIOCPKT_START: ::c_int = 0x8; 1678 pub const TIOCPKT_NOSTOP: ::c_int = 0x10; 1679 pub const TIOCPKT_DOSTOP: ::c_int = 0x20; 1680 pub const TIOCPKT_IOCTL: ::c_int = 0x40; 1681 pub const TIOCSTOP: ::c_uint = 0x2000746f; 1682 pub const TIOCSTART: ::c_uint = 0x2000746e; 1683 pub const TIOCMSET: ::c_ulong = 0x8004746d; 1684 pub const TIOCMBIS: ::c_ulong = 0x8004746c; 1685 pub const TIOCMBIC: ::c_ulong = 0x8004746b; 1686 pub const TIOCMGET: ::c_ulong = 0x4004746a; 1687 pub const TIOCREMOTE: ::c_ulong = 0x80047469; 1688 pub const TIOCGWINSZ: ::c_ulong = 0x40087468; 1689 pub const TIOCSWINSZ: ::c_ulong = 0x80087467; 1690 pub const TIOCUCNTL: ::c_ulong = 0x80047466; 1691 pub const TIOCSTAT: ::c_uint = 0x20007465; 1692 pub const TIOCSCONS: ::c_uint = 0x20007463; 1693 pub const TIOCCONS: ::c_ulong = 0x80047462; 1694 pub const TIOCSCTTY: ::c_uint = 0x20007461; 1695 pub const TIOCEXT: ::c_ulong = 0x80047460; 1696 pub const TIOCSIG: ::c_uint = 0x2000745f; 1697 pub const TIOCDRAIN: ::c_uint = 0x2000745e; 1698 pub const TIOCMSDTRWAIT: ::c_ulong = 0x8004745b; 1699 pub const TIOCMGDTRWAIT: ::c_ulong = 0x4004745a; 1700 pub const TIOCSDRAINWAIT: ::c_ulong = 0x80047457; 1701 pub const TIOCGDRAINWAIT: ::c_ulong = 0x40047456; 1702 pub const TIOCDSIMICROCODE: ::c_uint = 0x20007455; 1703 pub const TIOCPTYGRANT: ::c_uint = 0x20007454; 1704 pub const TIOCPTYGNAME: ::c_uint = 0x40807453; 1705 pub const TIOCPTYUNLK: ::c_uint = 0x20007452; 1706 1707 pub const FIONCLEX: ::c_uint = 0x20006602; 1708 pub const FIONREAD: ::c_ulong = 0x4004667f; 1709 pub const FIOASYNC: ::c_ulong = 0x8004667d; 1710 pub const FIOSETOWN: ::c_ulong = 0x8004667c; 1711 pub const FIOGETOWN: ::c_ulong = 0x4004667b; 1712 pub const FIODTYPE: ::c_ulong = 0x4004667a; 1713 1714 pub const B0: speed_t = 0; 1715 pub const B50: speed_t = 50; 1716 pub const B75: speed_t = 75; 1717 pub const B110: speed_t = 110; 1718 pub const B134: speed_t = 134; 1719 pub const B150: speed_t = 150; 1720 pub const B200: speed_t = 200; 1721 pub const B300: speed_t = 300; 1722 pub const B600: speed_t = 600; 1723 pub const B1200: speed_t = 1200; 1724 pub const B1800: speed_t = 1800; 1725 pub const B2400: speed_t = 2400; 1726 pub const B4800: speed_t = 4800; 1727 pub const B9600: speed_t = 9600; 1728 pub const B19200: speed_t = 19200; 1729 pub const B38400: speed_t = 38400; 1730 pub const B7200: speed_t = 7200; 1731 pub const B14400: speed_t = 14400; 1732 pub const B28800: speed_t = 28800; 1733 pub const B57600: speed_t = 57600; 1734 pub const B76800: speed_t = 76800; 1735 pub const B115200: speed_t = 115200; 1736 pub const B230400: speed_t = 230400; 1737 pub const EXTA: speed_t = 19200; 1738 pub const EXTB: speed_t = 38400; 1739 1740 pub const SIGTRAP: ::c_int = 5; 1741 1742 pub const GLOB_APPEND : ::c_int = 0x0001; 1743 pub const GLOB_DOOFFS : ::c_int = 0x0002; 1744 pub const GLOB_ERR : ::c_int = 0x0004; 1745 pub const GLOB_MARK : ::c_int = 0x0008; 1746 pub const GLOB_NOCHECK : ::c_int = 0x0010; 1747 pub const GLOB_NOSORT : ::c_int = 0x0020; 1748 pub const GLOB_NOESCAPE: ::c_int = 0x2000; 1749 1750 pub const GLOB_NOSPACE : ::c_int = -1; 1751 pub const GLOB_ABORTED : ::c_int = -2; 1752 pub const GLOB_NOMATCH : ::c_int = -3; 1753 1754 pub const POSIX_MADV_NORMAL: ::c_int = 0; 1755 pub const POSIX_MADV_RANDOM: ::c_int = 1; 1756 pub const POSIX_MADV_SEQUENTIAL: ::c_int = 2; 1757 pub const POSIX_MADV_WILLNEED: ::c_int = 3; 1758 pub const POSIX_MADV_DONTNEED: ::c_int = 4; 1759 1760 pub const _SC_IOV_MAX: ::c_int = 56; 1761 pub const _SC_GETGR_R_SIZE_MAX: ::c_int = 70; 1762 pub const _SC_GETPW_R_SIZE_MAX: ::c_int = 71; 1763 pub const _SC_LOGIN_NAME_MAX: ::c_int = 73; 1764 pub const _SC_MQ_PRIO_MAX: ::c_int = 75; 1765 pub const _SC_THREAD_ATTR_STACKADDR: ::c_int = 82; 1766 pub const _SC_THREAD_ATTR_STACKSIZE: ::c_int = 83; 1767 pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: ::c_int = 85; 1768 pub const _SC_THREAD_KEYS_MAX: ::c_int = 86; 1769 pub const _SC_THREAD_PRIO_INHERIT: ::c_int = 87; 1770 pub const _SC_THREAD_PRIO_PROTECT: ::c_int = 88; 1771 pub const _SC_THREAD_PRIORITY_SCHEDULING: ::c_int = 89; 1772 pub const _SC_THREAD_PROCESS_SHARED: ::c_int = 90; 1773 pub const _SC_THREAD_SAFE_FUNCTIONS: ::c_int = 91; 1774 pub const _SC_THREAD_STACK_MIN: ::c_int = 93; 1775 pub const _SC_THREAD_THREADS_MAX: ::c_int = 94; 1776 pub const _SC_THREADS: ::c_int = 96; 1777 pub const _SC_TTY_NAME_MAX: ::c_int = 101; 1778 pub const _SC_ATEXIT_MAX: ::c_int = 107; 1779 pub const _SC_XOPEN_CRYPT: ::c_int = 108; 1780 pub const _SC_XOPEN_ENH_I18N: ::c_int = 109; 1781 pub const _SC_XOPEN_LEGACY: ::c_int = 110; 1782 pub const _SC_XOPEN_REALTIME: ::c_int = 111; 1783 pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 112; 1784 pub const _SC_XOPEN_SHM: ::c_int = 113; 1785 pub const _SC_XOPEN_UNIX: ::c_int = 115; 1786 pub const _SC_XOPEN_VERSION: ::c_int = 116; 1787 pub const _SC_XOPEN_XCU_VERSION: ::c_int = 121; 1788 pub const _SC_PHYS_PAGES: ::c_int = 200; 1789 1790 pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 2; 1791 pub const PTHREAD_PROCESS_SHARED: ::c_int = 1; 1792 pub const PTHREAD_CREATE_JOINABLE: ::c_int = 1; 1793 pub const PTHREAD_CREATE_DETACHED: ::c_int = 2; 1794 pub const PTHREAD_STACK_MIN: ::size_t = 8192; 1795 1796 pub const RLIMIT_CPU: ::c_int = 0; 1797 pub const RLIMIT_FSIZE: ::c_int = 1; 1798 pub const RLIMIT_DATA: ::c_int = 2; 1799 pub const RLIMIT_STACK: ::c_int = 3; 1800 pub const RLIMIT_CORE: ::c_int = 4; 1801 pub const RLIMIT_AS: ::c_int = 5; 1802 pub const RLIMIT_RSS: ::c_int = RLIMIT_AS; 1803 pub const RLIMIT_MEMLOCK: ::c_int = 6; 1804 pub const RLIMIT_NPROC: ::c_int = 7; 1805 pub const RLIMIT_NOFILE: ::c_int = 8; 1806 pub const RLIM_NLIMITS: ::c_int = 9; 1807 pub const _RLIMIT_POSIX_FLAG: ::c_int = 0x1000; 1808 1809 pub const RLIM_INFINITY: rlim_t = 0x7fff_ffff_ffff_ffff; 1810 1811 pub const RUSAGE_SELF: ::c_int = 0; 1812 pub const RUSAGE_CHILDREN: ::c_int = -1; 1813 1814 pub const MADV_NORMAL: ::c_int = 0; 1815 pub const MADV_RANDOM: ::c_int = 1; 1816 pub const MADV_SEQUENTIAL: ::c_int = 2; 1817 pub const MADV_WILLNEED: ::c_int = 3; 1818 pub const MADV_DONTNEED: ::c_int = 4; 1819 pub const MADV_FREE: ::c_int = 5; 1820 pub const MADV_ZERO_WIRED_PAGES: ::c_int = 6; 1821 pub const MADV_FREE_REUSABLE: ::c_int = 7; 1822 pub const MADV_FREE_REUSE: ::c_int = 8; 1823 pub const MADV_CAN_REUSE: ::c_int = 9; 1824 1825 pub const MINCORE_INCORE: ::c_int = 0x1; 1826 pub const MINCORE_REFERENCED: ::c_int = 0x2; 1827 pub const MINCORE_MODIFIED: ::c_int = 0x4; 1828 pub const MINCORE_REFERENCED_OTHER: ::c_int = 0x8; 1829 pub const MINCORE_MODIFIED_OTHER: ::c_int = 0x10; 1830 1831 // 1832 // sys/netinet/in.h 1833 // Protocols (RFC 1700) 1834 // NOTE: These are in addition to the constants defined in src/unix/mod.rs 1835 1836 // IPPROTO_IP defined in src/unix/mod.rs 1837 /// IP6 hop-by-hop options 1838 pub const IPPROTO_HOPOPTS: ::c_int = 0; 1839 // IPPROTO_ICMP defined in src/unix/mod.rs 1840 /// group mgmt protocol 1841 pub const IPPROTO_IGMP: ::c_int = 2; 1842 /// gateway<sup>2</sup> (deprecated) 1843 pub const IPPROTO_GGP: ::c_int = 3; 1844 /// for compatibility 1845 pub const IPPROTO_IPIP: ::c_int = 4; 1846 // IPPROTO_TCP defined in src/unix/mod.rs 1847 /// Stream protocol II. 1848 pub const IPPROTO_ST: ::c_int = 7; 1849 /// exterior gateway protocol 1850 pub const IPPROTO_EGP: ::c_int = 8; 1851 /// private interior gateway 1852 pub const IPPROTO_PIGP: ::c_int = 9; 1853 /// BBN RCC Monitoring 1854 pub const IPPROTO_RCCMON: ::c_int = 10; 1855 /// network voice protocol 1856 pub const IPPROTO_NVPII: ::c_int = 11; 1857 /// pup 1858 pub const IPPROTO_PUP: ::c_int = 12; 1859 /// Argus 1860 pub const IPPROTO_ARGUS: ::c_int = 13; 1861 /// EMCON 1862 pub const IPPROTO_EMCON: ::c_int = 14; 1863 /// Cross Net Debugger 1864 pub const IPPROTO_XNET: ::c_int = 15; 1865 /// Chaos 1866 pub const IPPROTO_CHAOS: ::c_int = 16; 1867 // IPPROTO_UDP defined in src/unix/mod.rs 1868 /// Multiplexing 1869 pub const IPPROTO_MUX: ::c_int = 18; 1870 /// DCN Measurement Subsystems 1871 pub const IPPROTO_MEAS: ::c_int = 19; 1872 /// Host Monitoring 1873 pub const IPPROTO_HMP: ::c_int = 20; 1874 /// Packet Radio Measurement 1875 pub const IPPROTO_PRM: ::c_int = 21; 1876 /// xns idp 1877 pub const IPPROTO_IDP: ::c_int = 22; 1878 /// Trunk-1 1879 pub const IPPROTO_TRUNK1: ::c_int = 23; 1880 /// Trunk-2 1881 pub const IPPROTO_TRUNK2: ::c_int = 24; 1882 /// Leaf-1 1883 pub const IPPROTO_LEAF1: ::c_int = 25; 1884 /// Leaf-2 1885 pub const IPPROTO_LEAF2: ::c_int = 26; 1886 /// Reliable Data 1887 pub const IPPROTO_RDP: ::c_int = 27; 1888 /// Reliable Transaction 1889 pub const IPPROTO_IRTP: ::c_int = 28; 1890 /// tp-4 w/ class negotiation 1891 pub const IPPROTO_TP: ::c_int = 29; 1892 /// Bulk Data Transfer 1893 pub const IPPROTO_BLT: ::c_int = 30; 1894 /// Network Services 1895 pub const IPPROTO_NSP: ::c_int = 31; 1896 /// Merit Internodal 1897 pub const IPPROTO_INP: ::c_int = 32; 1898 /// Sequential Exchange 1899 pub const IPPROTO_SEP: ::c_int = 33; 1900 /// Third Party Connect 1901 pub const IPPROTO_3PC: ::c_int = 34; 1902 /// InterDomain Policy Routing 1903 pub const IPPROTO_IDPR: ::c_int = 35; 1904 /// XTP 1905 pub const IPPROTO_XTP: ::c_int = 36; 1906 /// Datagram Delivery 1907 pub const IPPROTO_DDP: ::c_int = 37; 1908 /// Control Message Transport 1909 pub const IPPROTO_CMTP: ::c_int = 38; 1910 /// TP++ Transport 1911 pub const IPPROTO_TPXX: ::c_int = 39; 1912 /// IL transport protocol 1913 pub const IPPROTO_IL: ::c_int = 40; 1914 // IPPROTO_IPV6 defined in src/unix/mod.rs 1915 /// Source Demand Routing 1916 pub const IPPROTO_SDRP: ::c_int = 42; 1917 /// IP6 routing header 1918 pub const IPPROTO_ROUTING: ::c_int = 43; 1919 /// IP6 fragmentation header 1920 pub const IPPROTO_FRAGMENT: ::c_int = 44; 1921 /// InterDomain Routing 1922 pub const IPPROTO_IDRP: ::c_int = 45; 1923 /// resource reservation 1924 pub const IPPROTO_RSVP: ::c_int = 46; 1925 /// General Routing Encap. 1926 pub const IPPROTO_GRE: ::c_int = 47; 1927 /// Mobile Host Routing 1928 pub const IPPROTO_MHRP: ::c_int = 48; 1929 /// BHA 1930 pub const IPPROTO_BHA: ::c_int = 49; 1931 /// IP6 Encap Sec. Payload 1932 pub const IPPROTO_ESP: ::c_int = 50; 1933 /// IP6 Auth Header 1934 pub const IPPROTO_AH: ::c_int = 51; 1935 /// Integ. Net Layer Security 1936 pub const IPPROTO_INLSP: ::c_int = 52; 1937 /// IP with encryption 1938 pub const IPPROTO_SWIPE: ::c_int = 53; 1939 /// Next Hop Resolution 1940 pub const IPPROTO_NHRP: ::c_int = 54; 1941 /* 55-57: Unassigned */ 1942 // IPPROTO_ICMPV6 defined in src/unix/mod.rs 1943 /// IP6 no next header 1944 pub const IPPROTO_NONE: ::c_int = 59; 1945 /// IP6 destination option 1946 pub const IPPROTO_DSTOPTS: ::c_int = 60; 1947 /// any host internal protocol 1948 pub const IPPROTO_AHIP: ::c_int = 61; 1949 /// CFTP 1950 pub const IPPROTO_CFTP: ::c_int = 62; 1951 /// "hello" routing protocol 1952 pub const IPPROTO_HELLO: ::c_int = 63; 1953 /// SATNET/Backroom EXPAK 1954 pub const IPPROTO_SATEXPAK: ::c_int = 64; 1955 /// Kryptolan 1956 pub const IPPROTO_KRYPTOLAN: ::c_int = 65; 1957 /// Remote Virtual Disk 1958 pub const IPPROTO_RVD: ::c_int = 66; 1959 /// Pluribus Packet Core 1960 pub const IPPROTO_IPPC: ::c_int = 67; 1961 /// Any distributed FS 1962 pub const IPPROTO_ADFS: ::c_int = 68; 1963 /// Satnet Monitoring 1964 pub const IPPROTO_SATMON: ::c_int = 69; 1965 /// VISA Protocol 1966 pub const IPPROTO_VISA: ::c_int = 70; 1967 /// Packet Core Utility 1968 pub const IPPROTO_IPCV: ::c_int = 71; 1969 /// Comp. Prot. Net. Executive 1970 pub const IPPROTO_CPNX: ::c_int = 72; 1971 /// Comp. Prot. HeartBeat 1972 pub const IPPROTO_CPHB: ::c_int = 73; 1973 /// Wang Span Network 1974 pub const IPPROTO_WSN: ::c_int = 74; 1975 /// Packet Video Protocol 1976 pub const IPPROTO_PVP: ::c_int = 75; 1977 /// BackRoom SATNET Monitoring 1978 pub const IPPROTO_BRSATMON: ::c_int = 76; 1979 /// Sun net disk proto (temp.) 1980 pub const IPPROTO_ND: ::c_int = 77; 1981 /// WIDEBAND Monitoring 1982 pub const IPPROTO_WBMON: ::c_int = 78; 1983 /// WIDEBAND EXPAK 1984 pub const IPPROTO_WBEXPAK: ::c_int = 79; 1985 /// ISO cnlp 1986 pub const IPPROTO_EON: ::c_int = 80; 1987 /// VMTP 1988 pub const IPPROTO_VMTP: ::c_int = 81; 1989 /// Secure VMTP 1990 pub const IPPROTO_SVMTP: ::c_int = 82; 1991 /// Banyon VINES 1992 pub const IPPROTO_VINES: ::c_int = 83; 1993 /// TTP 1994 pub const IPPROTO_TTP: ::c_int = 84; 1995 /// NSFNET-IGP 1996 pub const IPPROTO_IGP: ::c_int = 85; 1997 /// dissimilar gateway prot. 1998 pub const IPPROTO_DGP: ::c_int = 86; 1999 /// TCF 2000 pub const IPPROTO_TCF: ::c_int = 87; 2001 /// Cisco/GXS IGRP 2002 pub const IPPROTO_IGRP: ::c_int = 88; 2003 /// OSPFIGP 2004 pub const IPPROTO_OSPFIGP: ::c_int = 89; 2005 /// Strite RPC protocol 2006 pub const IPPROTO_SRPC: ::c_int = 90; 2007 /// Locus Address Resoloution 2008 pub const IPPROTO_LARP: ::c_int = 91; 2009 /// Multicast Transport 2010 pub const IPPROTO_MTP: ::c_int = 92; 2011 /// AX.25 Frames 2012 pub const IPPROTO_AX25: ::c_int = 93; 2013 /// IP encapsulated in IP 2014 pub const IPPROTO_IPEIP: ::c_int = 94; 2015 /// Mobile Int.ing control 2016 pub const IPPROTO_MICP: ::c_int = 95; 2017 /// Semaphore Comm. security 2018 pub const IPPROTO_SCCSP: ::c_int = 96; 2019 /// Ethernet IP encapsulation 2020 pub const IPPROTO_ETHERIP: ::c_int = 97; 2021 /// encapsulation header 2022 pub const IPPROTO_ENCAP: ::c_int = 98; 2023 /// any private encr. scheme 2024 pub const IPPROTO_APES: ::c_int = 99; 2025 /// GMTP 2026 pub const IPPROTO_GMTP: ::c_int = 100; 2027 2028 /* 101-254: Partly Unassigned */ 2029 /// Protocol Independent Mcast 2030 pub const IPPROTO_PIM: ::c_int = 103; 2031 /// payload compression (IPComp) 2032 pub const IPPROTO_IPCOMP: ::c_int = 108; 2033 /// PGM 2034 pub const IPPROTO_PGM: ::c_int = 113; 2035 /// SCTP 2036 pub const IPPROTO_SCTP: ::c_int = 132; 2037 2038 /* 255: Reserved */ 2039 /* BSD Private, local use, namespace incursion */ 2040 /// divert pseudo-protocol 2041 pub const IPPROTO_DIVERT: ::c_int = 254; 2042 /// raw IP packet 2043 pub const IPPROTO_RAW: ::c_int = 255; 2044 pub const IPPROTO_MAX: ::c_int = 256; 2045 /// last return value of *_input(), meaning "all job for this pkt is done". 2046 pub const IPPROTO_DONE: ::c_int = 257; 2047 2048 pub const AF_UNSPEC: ::c_int = 0; 2049 pub const AF_LOCAL: ::c_int = 1; 2050 pub const AF_UNIX: ::c_int = AF_LOCAL; 2051 pub const AF_INET: ::c_int = 2; 2052 pub const AF_IMPLINK: ::c_int = 3; 2053 pub const AF_PUP: ::c_int = 4; 2054 pub const AF_CHAOS: ::c_int = 5; 2055 pub const AF_NS: ::c_int = 6; 2056 pub const AF_ISO: ::c_int = 7; 2057 pub const AF_OSI: ::c_int = AF_ISO; 2058 pub const AF_ECMA: ::c_int = 8; 2059 pub const AF_DATAKIT: ::c_int = 9; 2060 pub const AF_CCITT: ::c_int = 10; 2061 pub const AF_SNA: ::c_int = 11; 2062 pub const AF_DECnet: ::c_int = 12; 2063 pub const AF_DLI: ::c_int = 13; 2064 pub const AF_LAT: ::c_int = 14; 2065 pub const AF_HYLINK: ::c_int = 15; 2066 pub const AF_APPLETALK: ::c_int = 16; 2067 pub const AF_ROUTE: ::c_int = 17; 2068 pub const AF_LINK: ::c_int = 18; 2069 pub const pseudo_AF_XTP: ::c_int = 19; 2070 pub const AF_COIP: ::c_int = 20; 2071 pub const AF_CNT: ::c_int = 21; 2072 pub const pseudo_AF_RTIP: ::c_int = 22; 2073 pub const AF_IPX: ::c_int = 23; 2074 pub const AF_SIP: ::c_int = 24; 2075 pub const pseudo_AF_PIP: ::c_int = 25; 2076 pub const AF_ISDN: ::c_int = 28; 2077 pub const AF_E164: ::c_int = AF_ISDN; 2078 pub const pseudo_AF_KEY: ::c_int = 29; 2079 pub const AF_INET6: ::c_int = 30; 2080 pub const AF_NATM: ::c_int = 31; 2081 pub const AF_SYSTEM: ::c_int = 32; 2082 pub const AF_NETBIOS: ::c_int = 33; 2083 pub const AF_PPP: ::c_int = 34; 2084 pub const pseudo_AF_HDRCMPLT: ::c_int = 35; 2085 #[doc(hidden)] 2086 #[deprecated( 2087 since = "0.2.55", 2088 note = "If you are using this report to: \ 2089 https://github.com/rust-lang/libc/issues/665" 2090 )] 2091 pub const AF_MAX: ::c_int = 40; 2092 pub const AF_SYS_CONTROL: ::c_int = 2; 2093 2094 pub const SYSPROTO_EVENT: ::c_int = 1; 2095 pub const SYSPROTO_CONTROL: ::c_int = 2; 2096 2097 pub const PF_UNSPEC: ::c_int = AF_UNSPEC; 2098 pub const PF_LOCAL: ::c_int = AF_LOCAL; 2099 pub const PF_UNIX: ::c_int = PF_LOCAL; 2100 pub const PF_INET: ::c_int = AF_INET; 2101 pub const PF_IMPLINK: ::c_int = AF_IMPLINK; 2102 pub const PF_PUP: ::c_int = AF_PUP; 2103 pub const PF_CHAOS: ::c_int = AF_CHAOS; 2104 pub const PF_NS: ::c_int = AF_NS; 2105 pub const PF_ISO: ::c_int = AF_ISO; 2106 pub const PF_OSI: ::c_int = AF_ISO; 2107 pub const PF_ECMA: ::c_int = AF_ECMA; 2108 pub const PF_DATAKIT: ::c_int = AF_DATAKIT; 2109 pub const PF_CCITT: ::c_int = AF_CCITT; 2110 pub const PF_SNA: ::c_int = AF_SNA; 2111 pub const PF_DECnet: ::c_int = AF_DECnet; 2112 pub const PF_DLI: ::c_int = AF_DLI; 2113 pub const PF_LAT: ::c_int = AF_LAT; 2114 pub const PF_HYLINK: ::c_int = AF_HYLINK; 2115 pub const PF_APPLETALK: ::c_int = AF_APPLETALK; 2116 pub const PF_ROUTE: ::c_int = AF_ROUTE; 2117 pub const PF_LINK: ::c_int = AF_LINK; 2118 pub const PF_XTP: ::c_int = pseudo_AF_XTP; 2119 pub const PF_COIP: ::c_int = AF_COIP; 2120 pub const PF_CNT: ::c_int = AF_CNT; 2121 pub const PF_SIP: ::c_int = AF_SIP; 2122 pub const PF_IPX: ::c_int = AF_IPX; 2123 pub const PF_RTIP: ::c_int = pseudo_AF_RTIP; 2124 pub const PF_PIP: ::c_int = pseudo_AF_PIP; 2125 pub const PF_ISDN: ::c_int = AF_ISDN; 2126 pub const PF_KEY: ::c_int = pseudo_AF_KEY; 2127 pub const PF_INET6: ::c_int = AF_INET6; 2128 pub const PF_NATM: ::c_int = AF_NATM; 2129 pub const PF_SYSTEM: ::c_int = AF_SYSTEM; 2130 pub const PF_NETBIOS: ::c_int = AF_NETBIOS; 2131 pub const PF_PPP: ::c_int = AF_PPP; 2132 #[doc(hidden)] 2133 #[deprecated( 2134 since = "0.2.55", 2135 note = "If you are using this report to: \ 2136 https://github.com/rust-lang/libc/issues/665" 2137 )] 2138 #[allow(deprecated)] 2139 pub const PF_MAX: ::c_int = AF_MAX; 2140 2141 #[doc(hidden)] 2142 #[deprecated( 2143 since = "0.2.55", 2144 note = "If you are using this report to: \ 2145 https://github.com/rust-lang/libc/issues/665" 2146 )] 2147 #[allow(deprecated)] 2148 pub const NET_MAXID: ::c_int = AF_MAX; 2149 2150 pub const NET_RT_DUMP: ::c_int = 1; 2151 pub const NET_RT_FLAGS: ::c_int = 2; 2152 pub const NET_RT_IFLIST: ::c_int = 3; 2153 #[doc(hidden)] 2154 #[deprecated(since = "0.2.55")] 2155 pub const NET_RT_MAXID: ::c_int = 10; 2156 2157 pub const SOMAXCONN: ::c_int = 128; 2158 2159 pub const SOCK_MAXADDRLEN: ::c_int = 255; 2160 2161 pub const SOCK_STREAM: ::c_int = 1; 2162 pub const SOCK_DGRAM: ::c_int = 2; 2163 pub const SOCK_RAW: ::c_int = 3; 2164 pub const SOCK_RDM: ::c_int = 4; 2165 pub const SOCK_SEQPACKET: ::c_int = 5; 2166 pub const IP_TTL: ::c_int = 4; 2167 pub const IP_HDRINCL: ::c_int = 2; 2168 pub const IP_RECVDSTADDR: ::c_int = 7; 2169 pub const IP_ADD_MEMBERSHIP: ::c_int = 12; 2170 pub const IP_DROP_MEMBERSHIP: ::c_int = 13; 2171 pub const IP_RECVIF: ::c_int = 20; 2172 pub const IP_PKTINFO: ::c_int = 26; 2173 pub const IP_RECVTOS: ::c_int = 27; 2174 pub const IPV6_JOIN_GROUP: ::c_int = 12; 2175 pub const IPV6_LEAVE_GROUP: ::c_int = 13; 2176 pub const IPV6_RECVTCLASS: ::c_int = 35; 2177 pub const IPV6_TCLASS: ::c_int = 36; 2178 pub const IPV6_PKTINFO: ::c_int = 46; 2179 pub const IPV6_RECVPKTINFO: ::c_int = 61; 2180 2181 pub const TCP_NOPUSH: ::c_int = 4; 2182 pub const TCP_NOOPT: ::c_int = 8; 2183 pub const TCP_KEEPALIVE: ::c_int = 0x10; 2184 2185 pub const SOL_LOCAL: ::c_int = 0; 2186 2187 pub const LOCAL_PEERCRED: ::c_int = 0x001; 2188 pub const LOCAL_PEERPID: ::c_int = 0x002; 2189 pub const LOCAL_PEEREPID: ::c_int = 0x003; 2190 pub const LOCAL_PEERUUID: ::c_int = 0x004; 2191 pub const LOCAL_PEEREUUID: ::c_int = 0x005; 2192 2193 pub const SOL_SOCKET: ::c_int = 0xffff; 2194 2195 pub const SO_DEBUG: ::c_int = 0x01; 2196 pub const SO_ACCEPTCONN: ::c_int = 0x0002; 2197 pub const SO_REUSEADDR: ::c_int = 0x0004; 2198 pub const SO_KEEPALIVE: ::c_int = 0x0008; 2199 pub const SO_DONTROUTE: ::c_int = 0x0010; 2200 pub const SO_BROADCAST: ::c_int = 0x0020; 2201 pub const SO_USELOOPBACK: ::c_int = 0x0040; 2202 pub const SO_LINGER: ::c_int = 0x0080; 2203 pub const SO_OOBINLINE: ::c_int = 0x0100; 2204 pub const SO_REUSEPORT: ::c_int = 0x0200; 2205 pub const SO_TIMESTAMP: ::c_int = 0x0400; 2206 pub const SO_TIMESTAMP_MONOTONIC: ::c_int = 0x0800; 2207 pub const SO_DONTTRUNC: ::c_int = 0x2000; 2208 pub const SO_WANTMORE: ::c_int = 0x4000; 2209 pub const SO_WANTOOBFLAG: ::c_int = 0x8000; 2210 pub const SO_SNDBUF: ::c_int = 0x1001; 2211 pub const SO_RCVBUF: ::c_int = 0x1002; 2212 pub const SO_SNDLOWAT: ::c_int = 0x1003; 2213 pub const SO_RCVLOWAT: ::c_int = 0x1004; 2214 pub const SO_SNDTIMEO: ::c_int = 0x1005; 2215 pub const SO_RCVTIMEO: ::c_int = 0x1006; 2216 pub const SO_ERROR: ::c_int = 0x1007; 2217 pub const SO_TYPE: ::c_int = 0x1008; 2218 pub const SO_LABEL: ::c_int = 0x1010; 2219 pub const SO_PEERLABEL: ::c_int = 0x1011; 2220 pub const SO_NREAD: ::c_int = 0x1020; 2221 pub const SO_NKE: ::c_int = 0x1021; 2222 pub const SO_NOSIGPIPE: ::c_int = 0x1022; 2223 pub const SO_NOADDRERR: ::c_int = 0x1023; 2224 pub const SO_NWRITE: ::c_int = 0x1024; 2225 pub const SO_REUSESHAREUID: ::c_int = 0x1025; 2226 pub const SO_NOTIFYCONFLICT: ::c_int = 0x1026; 2227 pub const SO_RANDOMPORT: ::c_int = 0x1082; 2228 pub const SO_NP_EXTENSIONS: ::c_int = 0x1083; 2229 2230 pub const MSG_OOB: ::c_int = 0x1; 2231 pub const MSG_PEEK: ::c_int = 0x2; 2232 pub const MSG_DONTROUTE: ::c_int = 0x4; 2233 pub const MSG_EOR: ::c_int = 0x8; 2234 pub const MSG_TRUNC: ::c_int = 0x10; 2235 pub const MSG_CTRUNC: ::c_int = 0x20; 2236 pub const MSG_WAITALL: ::c_int = 0x40; 2237 pub const MSG_DONTWAIT: ::c_int = 0x80; 2238 pub const MSG_EOF: ::c_int = 0x100; 2239 pub const MSG_FLUSH: ::c_int = 0x400; 2240 pub const MSG_HOLD: ::c_int = 0x800; 2241 pub const MSG_SEND: ::c_int = 0x1000; 2242 pub const MSG_HAVEMORE: ::c_int = 0x2000; 2243 pub const MSG_RCVMORE: ::c_int = 0x4000; 2244 // pub const MSG_COMPAT: ::c_int = 0x8000; 2245 2246 pub const SCM_TIMESTAMP: ::c_int = 0x02; 2247 pub const SCM_CREDS: ::c_int = 0x03; 2248 2249 // https://github.com/aosm/xnu/blob/master/bsd/net/if.h#L140-L156 2250 pub const IFF_UP: ::c_int = 0x1; // interface is up 2251 pub const IFF_BROADCAST: ::c_int = 0x2; // broadcast address valid 2252 pub const IFF_DEBUG: ::c_int = 0x4; // turn on debugging 2253 pub const IFF_LOOPBACK: ::c_int = 0x8; // is a loopback net 2254 pub const IFF_POINTOPOINT: ::c_int = 0x10; // interface is point-to-point link 2255 pub const IFF_NOTRAILERS: ::c_int = 0x20; // obsolete: avoid use of trailers 2256 pub const IFF_RUNNING: ::c_int = 0x40; // resources allocated 2257 pub const IFF_NOARP: ::c_int = 0x80; // no address resolution protocol 2258 pub const IFF_PROMISC: ::c_int = 0x100;// receive all packets 2259 pub const IFF_ALLMULTI: ::c_int = 0x200;// receive all multicast packets 2260 pub const IFF_OACTIVE: ::c_int = 0x400;// transmission in progress 2261 pub const IFF_SIMPLEX: ::c_int = 0x800;// can't hear own transmissions 2262 pub const IFF_LINK0: ::c_int = 0x1000;// per link layer defined bit 2263 pub const IFF_LINK1: ::c_int = 0x2000;// per link layer defined bit 2264 pub const IFF_LINK2: ::c_int = 0x4000;// per link layer defined bit 2265 pub const IFF_ALTPHYS: ::c_int = IFF_LINK2;// use alternate physical connection 2266 pub const IFF_MULTICAST: ::c_int = 0x8000;// supports multicast 2267 2268 pub const SHUT_RD: ::c_int = 0; 2269 pub const SHUT_WR: ::c_int = 1; 2270 pub const SHUT_RDWR: ::c_int = 2; 2271 2272 pub const LOCK_SH: ::c_int = 1; 2273 pub const LOCK_EX: ::c_int = 2; 2274 pub const LOCK_NB: ::c_int = 4; 2275 pub const LOCK_UN: ::c_int = 8; 2276 2277 pub const MAP_COPY: ::c_int = 0x0002; 2278 pub const MAP_RENAME: ::c_int = 0x0020; 2279 pub const MAP_NORESERVE: ::c_int = 0x0040; 2280 pub const MAP_NOEXTEND: ::c_int = 0x0100; 2281 pub const MAP_HASSEMAPHORE: ::c_int = 0x0200; 2282 pub const MAP_NOCACHE: ::c_int = 0x0400; 2283 pub const MAP_JIT: ::c_int = 0x0800; 2284 2285 pub const _SC_ARG_MAX: ::c_int = 1; 2286 pub const _SC_CHILD_MAX: ::c_int = 2; 2287 pub const _SC_CLK_TCK: ::c_int = 3; 2288 pub const _SC_NGROUPS_MAX: ::c_int = 4; 2289 pub const _SC_OPEN_MAX: ::c_int = 5; 2290 pub const _SC_JOB_CONTROL: ::c_int = 6; 2291 pub const _SC_SAVED_IDS: ::c_int = 7; 2292 pub const _SC_VERSION: ::c_int = 8; 2293 pub const _SC_BC_BASE_MAX: ::c_int = 9; 2294 pub const _SC_BC_DIM_MAX: ::c_int = 10; 2295 pub const _SC_BC_SCALE_MAX: ::c_int = 11; 2296 pub const _SC_BC_STRING_MAX: ::c_int = 12; 2297 pub const _SC_COLL_WEIGHTS_MAX: ::c_int = 13; 2298 pub const _SC_EXPR_NEST_MAX: ::c_int = 14; 2299 pub const _SC_LINE_MAX: ::c_int = 15; 2300 pub const _SC_RE_DUP_MAX: ::c_int = 16; 2301 pub const _SC_2_VERSION: ::c_int = 17; 2302 pub const _SC_2_C_BIND: ::c_int = 18; 2303 pub const _SC_2_C_DEV: ::c_int = 19; 2304 pub const _SC_2_CHAR_TERM: ::c_int = 20; 2305 pub const _SC_2_FORT_DEV: ::c_int = 21; 2306 pub const _SC_2_FORT_RUN: ::c_int = 22; 2307 pub const _SC_2_LOCALEDEF: ::c_int = 23; 2308 pub const _SC_2_SW_DEV: ::c_int = 24; 2309 pub const _SC_2_UPE: ::c_int = 25; 2310 pub const _SC_STREAM_MAX: ::c_int = 26; 2311 pub const _SC_TZNAME_MAX: ::c_int = 27; 2312 pub const _SC_ASYNCHRONOUS_IO: ::c_int = 28; 2313 pub const _SC_PAGESIZE: ::c_int = 29; 2314 pub const _SC_MEMLOCK: ::c_int = 30; 2315 pub const _SC_MEMLOCK_RANGE: ::c_int = 31; 2316 pub const _SC_MEMORY_PROTECTION: ::c_int = 32; 2317 pub const _SC_MESSAGE_PASSING: ::c_int = 33; 2318 pub const _SC_PRIORITIZED_IO: ::c_int = 34; 2319 pub const _SC_PRIORITY_SCHEDULING: ::c_int = 35; 2320 pub const _SC_REALTIME_SIGNALS: ::c_int = 36; 2321 pub const _SC_SEMAPHORES: ::c_int = 37; 2322 pub const _SC_FSYNC: ::c_int = 38; 2323 pub const _SC_SHARED_MEMORY_OBJECTS: ::c_int = 39; 2324 pub const _SC_SYNCHRONIZED_IO: ::c_int = 40; 2325 pub const _SC_TIMERS: ::c_int = 41; 2326 pub const _SC_AIO_LISTIO_MAX: ::c_int = 42; 2327 pub const _SC_AIO_MAX: ::c_int = 43; 2328 pub const _SC_AIO_PRIO_DELTA_MAX: ::c_int = 44; 2329 pub const _SC_DELAYTIMER_MAX: ::c_int = 45; 2330 pub const _SC_MQ_OPEN_MAX: ::c_int = 46; 2331 pub const _SC_MAPPED_FILES: ::c_int = 47; 2332 pub const _SC_RTSIG_MAX: ::c_int = 48; 2333 pub const _SC_SEM_NSEMS_MAX: ::c_int = 49; 2334 pub const _SC_SEM_VALUE_MAX: ::c_int = 50; 2335 pub const _SC_SIGQUEUE_MAX: ::c_int = 51; 2336 pub const _SC_TIMER_MAX: ::c_int = 52; 2337 pub const _SC_NPROCESSORS_CONF: ::c_int = 57; 2338 pub const _SC_NPROCESSORS_ONLN: ::c_int = 58; 2339 pub const _SC_2_PBS: ::c_int = 59; 2340 pub const _SC_2_PBS_ACCOUNTING: ::c_int = 60; 2341 pub const _SC_2_PBS_CHECKPOINT: ::c_int = 61; 2342 pub const _SC_2_PBS_LOCATE: ::c_int = 62; 2343 pub const _SC_2_PBS_MESSAGE: ::c_int = 63; 2344 pub const _SC_2_PBS_TRACK: ::c_int = 64; 2345 pub const _SC_ADVISORY_INFO: ::c_int = 65; 2346 pub const _SC_BARRIERS: ::c_int = 66; 2347 pub const _SC_CLOCK_SELECTION: ::c_int = 67; 2348 pub const _SC_CPUTIME: ::c_int = 68; 2349 pub const _SC_FILE_LOCKING: ::c_int = 69; 2350 pub const _SC_HOST_NAME_MAX: ::c_int = 72; 2351 pub const _SC_MONOTONIC_CLOCK: ::c_int = 74; 2352 pub const _SC_READER_WRITER_LOCKS: ::c_int = 76; 2353 pub const _SC_REGEXP: ::c_int = 77; 2354 pub const _SC_SHELL: ::c_int = 78; 2355 pub const _SC_SPAWN: ::c_int = 79; 2356 pub const _SC_SPIN_LOCKS: ::c_int = 80; 2357 pub const _SC_SPORADIC_SERVER: ::c_int = 81; 2358 pub const _SC_THREAD_CPUTIME: ::c_int = 84; 2359 pub const _SC_THREAD_SPORADIC_SERVER: ::c_int = 92; 2360 pub const _SC_TIMEOUTS: ::c_int = 95; 2361 pub const _SC_TRACE: ::c_int = 97; 2362 pub const _SC_TRACE_EVENT_FILTER: ::c_int = 98; 2363 pub const _SC_TRACE_INHERIT: ::c_int = 99; 2364 pub const _SC_TRACE_LOG: ::c_int = 100; 2365 pub const _SC_TYPED_MEMORY_OBJECTS: ::c_int = 102; 2366 pub const _SC_V6_ILP32_OFF32: ::c_int = 103; 2367 pub const _SC_V6_ILP32_OFFBIG: ::c_int = 104; 2368 pub const _SC_V6_LP64_OFF64: ::c_int = 105; 2369 pub const _SC_V6_LPBIG_OFFBIG: ::c_int = 106; 2370 pub const _SC_IPV6: ::c_int = 118; 2371 pub const _SC_RAW_SOCKETS: ::c_int = 119; 2372 pub const _SC_SYMLOOP_MAX: ::c_int = 120; 2373 pub const _SC_PAGE_SIZE: ::c_int = _SC_PAGESIZE; 2374 pub const _SC_XOPEN_STREAMS: ::c_int = 114; 2375 pub const _SC_XBS5_ILP32_OFF32: ::c_int = 122; 2376 pub const _SC_XBS5_ILP32_OFFBIG: ::c_int = 123; 2377 pub const _SC_XBS5_LP64_OFF64: ::c_int = 124; 2378 pub const _SC_XBS5_LPBIG_OFFBIG: ::c_int = 125; 2379 pub const _SC_SS_REPL_MAX: ::c_int = 126; 2380 pub const _SC_TRACE_EVENT_NAME_MAX: ::c_int = 127; 2381 pub const _SC_TRACE_NAME_MAX: ::c_int = 128; 2382 pub const _SC_TRACE_SYS_MAX: ::c_int = 129; 2383 pub const _SC_TRACE_USER_EVENT_MAX: ::c_int = 130; 2384 pub const _SC_PASS_MAX: ::c_int = 131; 2385 2386 pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0; 2387 pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 1; 2388 pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 2; 2389 pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL; 2390 pub const _PTHREAD_MUTEX_SIG_init: ::c_long = 0x32AAABA7; 2391 pub const _PTHREAD_COND_SIG_init: ::c_long = 0x3CB0B1BB; 2392 pub const _PTHREAD_RWLOCK_SIG_init: ::c_long = 0x2DA8B3B4; 2393 pub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { 2394 __sig: _PTHREAD_MUTEX_SIG_init, 2395 __opaque: [0; __PTHREAD_MUTEX_SIZE__], 2396 }; 2397 pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { 2398 __sig: _PTHREAD_COND_SIG_init, 2399 __opaque: [0; __PTHREAD_COND_SIZE__], 2400 }; 2401 pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { 2402 __sig: _PTHREAD_RWLOCK_SIG_init, 2403 __opaque: [0; __PTHREAD_RWLOCK_SIZE__], 2404 }; 2405 2406 pub const SIGSTKSZ: ::size_t = 131072; 2407 2408 pub const FD_SETSIZE: usize = 1024; 2409 2410 pub const ST_NOSUID: ::c_ulong = 2; 2411 2412 pub const EVFILT_READ: i16 = -1; 2413 pub const EVFILT_WRITE: i16 = -2; 2414 pub const EVFILT_AIO: i16 = -3; 2415 pub const EVFILT_VNODE: i16 = -4; 2416 pub const EVFILT_PROC: i16 = -5; 2417 pub const EVFILT_SIGNAL: i16 = -6; 2418 pub const EVFILT_TIMER: i16 = -7; 2419 pub const EVFILT_MACHPORT: i16 = -8; 2420 pub const EVFILT_FS: i16 = -9; 2421 pub const EVFILT_USER: i16 = -10; 2422 pub const EVFILT_VM: i16 = -12; 2423 2424 pub const EV_ADD: u16 = 0x1; 2425 pub const EV_DELETE: u16 = 0x2; 2426 pub const EV_ENABLE: u16 = 0x4; 2427 pub const EV_DISABLE: u16 = 0x8; 2428 pub const EV_ONESHOT: u16 = 0x10; 2429 pub const EV_CLEAR: u16 = 0x20; 2430 pub const EV_RECEIPT: u16 = 0x40; 2431 pub const EV_DISPATCH: u16 = 0x80; 2432 pub const EV_FLAG0: u16 = 0x1000; 2433 pub const EV_POLL: u16 = 0x1000; 2434 pub const EV_FLAG1: u16 = 0x2000; 2435 pub const EV_OOBAND: u16 = 0x2000; 2436 pub const EV_ERROR: u16 = 0x4000; 2437 pub const EV_EOF: u16 = 0x8000; 2438 pub const EV_SYSFLAGS: u16 = 0xf000; 2439 2440 pub const NOTE_TRIGGER: u32 = 0x01000000; 2441 pub const NOTE_FFNOP: u32 = 0x00000000; 2442 pub const NOTE_FFAND: u32 = 0x40000000; 2443 pub const NOTE_FFOR: u32 = 0x80000000; 2444 pub const NOTE_FFCOPY: u32 = 0xc0000000; 2445 pub const NOTE_FFCTRLMASK: u32 = 0xc0000000; 2446 pub const NOTE_FFLAGSMASK: u32 = 0x00ffffff; 2447 pub const NOTE_LOWAT: u32 = 0x00000001; 2448 pub const NOTE_DELETE: u32 = 0x00000001; 2449 pub const NOTE_WRITE: u32 = 0x00000002; 2450 pub const NOTE_EXTEND: u32 = 0x00000004; 2451 pub const NOTE_ATTRIB: u32 = 0x00000008; 2452 pub const NOTE_LINK: u32 = 0x00000010; 2453 pub const NOTE_RENAME: u32 = 0x00000020; 2454 pub const NOTE_REVOKE: u32 = 0x00000040; 2455 pub const NOTE_NONE: u32 = 0x00000080; 2456 pub const NOTE_EXIT: u32 = 0x80000000; 2457 pub const NOTE_FORK: u32 = 0x40000000; 2458 pub const NOTE_EXEC: u32 = 0x20000000; 2459 #[doc(hidden)] 2460 #[deprecated(since="0.2.49", note="Deprecated since MacOSX 10.9")] 2461 pub const NOTE_REAP: u32 = 0x10000000; 2462 pub const NOTE_SIGNAL: u32 = 0x08000000; 2463 pub const NOTE_EXITSTATUS: u32 = 0x04000000; 2464 pub const NOTE_EXIT_DETAIL: u32 = 0x02000000; 2465 pub const NOTE_PDATAMASK: u32 = 0x000fffff; 2466 pub const NOTE_PCTRLMASK: u32 = 0xfff00000; 2467 #[doc(hidden)] 2468 #[deprecated(since="0.2.49", note="Deprecated since MacOSX 10.9")] 2469 pub const NOTE_EXIT_REPARENTED: u32 = 0x00080000; 2470 pub const NOTE_EXIT_DETAIL_MASK: u32 = 0x00070000; 2471 pub const NOTE_EXIT_DECRYPTFAIL: u32 = 0x00010000; 2472 pub const NOTE_EXIT_MEMORY: u32 = 0x00020000; 2473 pub const NOTE_EXIT_CSERROR: u32 = 0x00040000; 2474 pub const NOTE_VM_PRESSURE: u32 = 0x80000000; 2475 pub const NOTE_VM_PRESSURE_TERMINATE: u32 = 0x40000000; 2476 pub const NOTE_VM_PRESSURE_SUDDEN_TERMINATE: u32 = 0x20000000; 2477 pub const NOTE_VM_ERROR: u32 = 0x10000000; 2478 pub const NOTE_SECONDS: u32 = 0x00000001; 2479 pub const NOTE_USECONDS: u32 = 0x00000002; 2480 pub const NOTE_NSECONDS: u32 = 0x00000004; 2481 pub const NOTE_ABSOLUTE: u32 = 0x00000008; 2482 pub const NOTE_LEEWAY: u32 = 0x00000010; 2483 pub const NOTE_CRITICAL: u32 = 0x00000020; 2484 pub const NOTE_BACKGROUND: u32 = 0x00000040; 2485 pub const NOTE_TRACK: u32 = 0x00000001; 2486 pub const NOTE_TRACKERR: u32 = 0x00000002; 2487 pub const NOTE_CHILD: u32 = 0x00000004; 2488 2489 pub const OCRNL: ::tcflag_t = 0x00000010; 2490 pub const ONOCR: ::tcflag_t = 0x00000020; 2491 pub const ONLRET: ::tcflag_t = 0x00000040; 2492 pub const OFILL: ::tcflag_t = 0x00000080; 2493 pub const NLDLY: ::tcflag_t = 0x00000300; 2494 pub const TABDLY: ::tcflag_t = 0x00000c04; 2495 pub const CRDLY: ::tcflag_t = 0x00003000; 2496 pub const FFDLY: ::tcflag_t = 0x00004000; 2497 pub const BSDLY: ::tcflag_t = 0x00008000; 2498 pub const VTDLY: ::tcflag_t = 0x00010000; 2499 pub const OFDEL: ::tcflag_t = 0x00020000; 2500 2501 pub const NL0: ::tcflag_t = 0x00000000; 2502 pub const NL1: ::tcflag_t = 0x00000100; 2503 pub const TAB0: ::tcflag_t = 0x00000000; 2504 pub const TAB1: ::tcflag_t = 0x00000400; 2505 pub const TAB2: ::tcflag_t = 0x00000800; 2506 pub const CR0: ::tcflag_t = 0x00000000; 2507 pub const CR1: ::tcflag_t = 0x00001000; 2508 pub const CR2: ::tcflag_t = 0x00002000; 2509 pub const CR3: ::tcflag_t = 0x00003000; 2510 pub const FF0: ::tcflag_t = 0x00000000; 2511 pub const FF1: ::tcflag_t = 0x00004000; 2512 pub const BS0: ::tcflag_t = 0x00000000; 2513 pub const BS1: ::tcflag_t = 0x00008000; 2514 pub const TAB3: ::tcflag_t = 0x00000004; 2515 pub const VT0: ::tcflag_t = 0x00000000; 2516 pub const VT1: ::tcflag_t = 0x00010000; 2517 pub const IUTF8: ::tcflag_t = 0x00004000; 2518 pub const CRTSCTS: ::tcflag_t = 0x00030000; 2519 2520 pub const NI_MAXHOST: ::socklen_t = 1025; 2521 pub const NI_MAXSERV: ::socklen_t = 32; 2522 pub const NI_NOFQDN: ::c_int = 0x00000001; 2523 pub const NI_NUMERICHOST: ::c_int = 0x00000002; 2524 pub const NI_NAMEREQD: ::c_int = 0x00000004; 2525 pub const NI_NUMERICSERV: ::c_int = 0x00000008; 2526 pub const NI_NUMERICSCOPE: ::c_int = 0x00000100; 2527 pub const NI_DGRAM: ::c_int = 0x00000010; 2528 2529 pub const Q_GETQUOTA: ::c_int = 0x300; 2530 pub const Q_SETQUOTA: ::c_int = 0x400; 2531 2532 pub const RENAME_SWAP: ::c_uint = 0x00000002; 2533 pub const RENAME_EXCL: ::c_uint = 0x00000004; 2534 2535 pub const RTLD_LOCAL: ::c_int = 0x4; 2536 pub const RTLD_FIRST: ::c_int = 0x100; 2537 pub const RTLD_NODELETE: ::c_int = 0x80; 2538 pub const RTLD_NOLOAD: ::c_int = 0x10; 2539 pub const RTLD_GLOBAL: ::c_int = 0x8; 2540 2541 pub const _WSTOPPED: ::c_int = 0o177; 2542 2543 pub const LOG_NETINFO: ::c_int = 12 << 3; 2544 pub const LOG_REMOTEAUTH: ::c_int = 13 << 3; 2545 pub const LOG_INSTALL: ::c_int = 14 << 3; 2546 pub const LOG_RAS: ::c_int = 15 << 3; 2547 pub const LOG_LAUNCHD: ::c_int = 24 << 3; 2548 pub const LOG_NFACILITIES: ::c_int = 25; 2549 2550 pub const CTLTYPE: ::c_int = 0xf; 2551 pub const CTLTYPE_NODE: ::c_int = 1; 2552 pub const CTLTYPE_INT: ::c_int = 2; 2553 pub const CTLTYPE_STRING: ::c_int = 3; 2554 pub const CTLTYPE_QUAD: ::c_int = 4; 2555 pub const CTLTYPE_OPAQUE: ::c_int = 5; 2556 pub const CTLTYPE_STRUCT: ::c_int = CTLTYPE_OPAQUE; 2557 pub const CTLFLAG_RD: ::c_int = 0x80000000; 2558 pub const CTLFLAG_WR: ::c_int = 0x40000000; 2559 pub const CTLFLAG_RW: ::c_int = CTLFLAG_RD | CTLFLAG_WR; 2560 pub const CTLFLAG_NOLOCK: ::c_int = 0x20000000; 2561 pub const CTLFLAG_ANYBODY: ::c_int = 0x10000000; 2562 pub const CTLFLAG_SECURE: ::c_int = 0x08000000; 2563 pub const CTLFLAG_MASKED: ::c_int = 0x04000000; 2564 pub const CTLFLAG_NOAUTO: ::c_int = 0x02000000; 2565 pub const CTLFLAG_KERN: ::c_int = 0x01000000; 2566 pub const CTLFLAG_LOCKED: ::c_int = 0x00800000; 2567 pub const CTLFLAG_OID2: ::c_int = 0x00400000; 2568 pub const CTL_UNSPEC: ::c_int = 0; 2569 pub const CTL_KERN: ::c_int = 1; 2570 pub const CTL_VM: ::c_int = 2; 2571 pub const CTL_VFS: ::c_int = 3; 2572 pub const CTL_NET: ::c_int = 4; 2573 pub const CTL_DEBUG: ::c_int = 5; 2574 pub const CTL_HW: ::c_int = 6; 2575 pub const CTL_MACHDEP: ::c_int = 7; 2576 pub const CTL_USER: ::c_int = 8; 2577 pub const CTL_MAXID: ::c_int = 9; 2578 pub const KERN_OSTYPE: ::c_int = 1; 2579 pub const KERN_OSRELEASE: ::c_int = 2; 2580 pub const KERN_OSREV: ::c_int = 3; 2581 pub const KERN_VERSION: ::c_int = 4; 2582 pub const KERN_MAXVNODES: ::c_int = 5; 2583 pub const KERN_MAXPROC: ::c_int = 6; 2584 pub const KERN_MAXFILES: ::c_int = 7; 2585 pub const KERN_ARGMAX: ::c_int = 8; 2586 pub const KERN_SECURELVL: ::c_int = 9; 2587 pub const KERN_HOSTNAME: ::c_int = 10; 2588 pub const KERN_HOSTID: ::c_int = 11; 2589 pub const KERN_CLOCKRATE: ::c_int = 12; 2590 pub const KERN_VNODE: ::c_int = 13; 2591 pub const KERN_PROC: ::c_int = 14; 2592 pub const KERN_FILE: ::c_int = 15; 2593 pub const KERN_PROF: ::c_int = 16; 2594 pub const KERN_POSIX1: ::c_int = 17; 2595 pub const KERN_NGROUPS: ::c_int = 18; 2596 pub const KERN_JOB_CONTROL: ::c_int = 19; 2597 pub const KERN_SAVED_IDS: ::c_int = 20; 2598 pub const KERN_BOOTTIME: ::c_int = 21; 2599 pub const KERN_NISDOMAINNAME: ::c_int = 22; 2600 pub const KERN_DOMAINNAME: ::c_int = KERN_NISDOMAINNAME; 2601 pub const KERN_MAXPARTITIONS: ::c_int = 23; 2602 pub const KERN_KDEBUG: ::c_int = 24; 2603 pub const KERN_UPDATEINTERVAL: ::c_int = 25; 2604 pub const KERN_OSRELDATE: ::c_int = 26; 2605 pub const KERN_NTP_PLL: ::c_int = 27; 2606 pub const KERN_BOOTFILE: ::c_int = 28; 2607 pub const KERN_MAXFILESPERPROC: ::c_int = 29; 2608 pub const KERN_MAXPROCPERUID: ::c_int = 30; 2609 pub const KERN_DUMPDEV: ::c_int = 31; 2610 pub const KERN_IPC: ::c_int = 32; 2611 pub const KERN_DUMMY: ::c_int = 33; 2612 pub const KERN_PS_STRINGS: ::c_int = 34; 2613 pub const KERN_USRSTACK32: ::c_int = 35; 2614 pub const KERN_LOGSIGEXIT: ::c_int = 36; 2615 pub const KERN_SYMFILE: ::c_int = 37; 2616 pub const KERN_PROCARGS: ::c_int = 38; 2617 pub const KERN_NETBOOT: ::c_int = 40; 2618 pub const KERN_SYSV: ::c_int = 42; 2619 pub const KERN_AFFINITY: ::c_int = 43; 2620 pub const KERN_TRANSLATE: ::c_int = 44; 2621 pub const KERN_CLASSIC: ::c_int = KERN_TRANSLATE; 2622 pub const KERN_EXEC: ::c_int = 45; 2623 pub const KERN_CLASSICHANDLER: ::c_int = KERN_EXEC; 2624 pub const KERN_AIOMAX: ::c_int = 46; 2625 pub const KERN_AIOPROCMAX: ::c_int = 47; 2626 pub const KERN_AIOTHREADS: ::c_int = 48; 2627 pub const KERN_COREFILE: ::c_int = 50; 2628 pub const KERN_COREDUMP: ::c_int = 51; 2629 pub const KERN_SUGID_COREDUMP: ::c_int = 52; 2630 pub const KERN_PROCDELAYTERM: ::c_int = 53; 2631 pub const KERN_SHREG_PRIVATIZABLE: ::c_int = 54; 2632 pub const KERN_LOW_PRI_WINDOW: ::c_int = 56; 2633 pub const KERN_LOW_PRI_DELAY: ::c_int = 57; 2634 pub const KERN_POSIX: ::c_int = 58; 2635 pub const KERN_USRSTACK64: ::c_int = 59; 2636 pub const KERN_NX_PROTECTION: ::c_int = 60; 2637 pub const KERN_TFP: ::c_int = 61; 2638 pub const KERN_PROCNAME: ::c_int = 62; 2639 pub const KERN_THALTSTACK: ::c_int = 63; 2640 pub const KERN_SPECULATIVE_READS: ::c_int = 64; 2641 pub const KERN_OSVERSION: ::c_int = 65; 2642 pub const KERN_SAFEBOOT: ::c_int = 66; 2643 pub const KERN_RAGEVNODE: ::c_int = 68; 2644 pub const KERN_TTY: ::c_int = 69; 2645 pub const KERN_CHECKOPENEVT: ::c_int = 70; 2646 pub const KERN_THREADNAME: ::c_int = 71; 2647 pub const KERN_MAXID: ::c_int = 72; 2648 pub const KERN_RAGE_PROC: ::c_int = 1; 2649 pub const KERN_RAGE_THREAD: ::c_int = 2; 2650 pub const KERN_UNRAGE_PROC: ::c_int = 3; 2651 pub const KERN_UNRAGE_THREAD: ::c_int = 4; 2652 pub const KERN_OPENEVT_PROC: ::c_int = 1; 2653 pub const KERN_UNOPENEVT_PROC: ::c_int = 2; 2654 pub const KERN_TFP_POLICY: ::c_int = 1; 2655 pub const KERN_TFP_POLICY_DENY: ::c_int = 0; 2656 pub const KERN_TFP_POLICY_DEFAULT: ::c_int = 2; 2657 pub const KERN_KDEFLAGS: ::c_int = 1; 2658 pub const KERN_KDDFLAGS: ::c_int = 2; 2659 pub const KERN_KDENABLE: ::c_int = 3; 2660 pub const KERN_KDSETBUF: ::c_int = 4; 2661 pub const KERN_KDGETBUF: ::c_int = 5; 2662 pub const KERN_KDSETUP: ::c_int = 6; 2663 pub const KERN_KDREMOVE: ::c_int = 7; 2664 pub const KERN_KDSETREG: ::c_int = 8; 2665 pub const KERN_KDGETREG: ::c_int = 9; 2666 pub const KERN_KDREADTR: ::c_int = 10; 2667 pub const KERN_KDPIDTR: ::c_int = 11; 2668 pub const KERN_KDTHRMAP: ::c_int = 12; 2669 pub const KERN_KDPIDEX: ::c_int = 14; 2670 pub const KERN_KDSETRTCDEC: ::c_int = 15; 2671 pub const KERN_KDGETENTROPY: ::c_int = 16; 2672 pub const KERN_KDWRITETR: ::c_int = 17; 2673 pub const KERN_KDWRITEMAP: ::c_int = 18; 2674 #[doc(hidden)] 2675 #[deprecated(since = "0.2.49", note ="Removed in MacOSX 10.12")] 2676 pub const KERN_KDENABLE_BG_TRACE: ::c_int = 19; 2677 #[doc(hidden)] 2678 #[deprecated(since = "0.2.49", note ="Removed in MacOSX 10.12")] 2679 pub const KERN_KDDISABLE_BG_TRACE: ::c_int = 20; 2680 pub const KERN_KDREADCURTHRMAP: ::c_int = 21; 2681 pub const KERN_KDSET_TYPEFILTER: ::c_int = 22; 2682 pub const KERN_KDBUFWAIT: ::c_int = 23; 2683 pub const KERN_KDCPUMAP: ::c_int = 24; 2684 pub const KERN_PROC_ALL: ::c_int = 0; 2685 pub const KERN_PROC_PID: ::c_int = 1; 2686 pub const KERN_PROC_PGRP: ::c_int = 2; 2687 pub const KERN_PROC_SESSION: ::c_int = 3; 2688 pub const KERN_PROC_TTY: ::c_int = 4; 2689 pub const KERN_PROC_UID: ::c_int = 5; 2690 pub const KERN_PROC_RUID: ::c_int = 6; 2691 pub const KERN_PROC_LCID: ::c_int = 7; 2692 pub const KIPC_MAXSOCKBUF: ::c_int = 1; 2693 pub const KIPC_SOCKBUF_WASTE: ::c_int = 2; 2694 pub const KIPC_SOMAXCONN: ::c_int = 3; 2695 pub const KIPC_MAX_LINKHDR: ::c_int = 4; 2696 pub const KIPC_MAX_PROTOHDR: ::c_int = 5; 2697 pub const KIPC_MAX_HDR: ::c_int = 6; 2698 pub const KIPC_MAX_DATALEN: ::c_int = 7; 2699 pub const KIPC_MBSTAT: ::c_int = 8; 2700 pub const KIPC_NMBCLUSTERS: ::c_int = 9; 2701 pub const KIPC_SOQLIMITCOMPAT: ::c_int = 10; 2702 pub const VM_METER: ::c_int = 1; 2703 pub const VM_LOADAVG: ::c_int = 2; 2704 pub const VM_MACHFACTOR: ::c_int = 4; 2705 pub const VM_SWAPUSAGE: ::c_int = 5; 2706 pub const VM_MAXID: ::c_int = 6; 2707 pub const HW_MACHINE: ::c_int = 1; 2708 pub const HW_MODEL: ::c_int = 2; 2709 pub const HW_NCPU: ::c_int = 3; 2710 pub const HW_BYTEORDER: ::c_int = 4; 2711 pub const HW_PHYSMEM: ::c_int = 5; 2712 pub const HW_USERMEM: ::c_int = 6; 2713 pub const HW_PAGESIZE: ::c_int = 7; 2714 pub const HW_DISKNAMES: ::c_int = 8; 2715 pub const HW_DISKSTATS: ::c_int = 9; 2716 pub const HW_EPOCH: ::c_int = 10; 2717 pub const HW_FLOATINGPT: ::c_int = 11; 2718 pub const HW_MACHINE_ARCH: ::c_int = 12; 2719 pub const HW_VECTORUNIT: ::c_int = 13; 2720 pub const HW_BUS_FREQ: ::c_int = 14; 2721 pub const HW_CPU_FREQ: ::c_int = 15; 2722 pub const HW_CACHELINE: ::c_int = 16; 2723 pub const HW_L1ICACHESIZE: ::c_int = 17; 2724 pub const HW_L1DCACHESIZE: ::c_int = 18; 2725 pub const HW_L2SETTINGS: ::c_int = 19; 2726 pub const HW_L2CACHESIZE: ::c_int = 20; 2727 pub const HW_L3SETTINGS: ::c_int = 21; 2728 pub const HW_L3CACHESIZE: ::c_int = 22; 2729 pub const HW_TB_FREQ: ::c_int = 23; 2730 pub const HW_MEMSIZE: ::c_int = 24; 2731 pub const HW_AVAILCPU: ::c_int = 25; 2732 pub const HW_MAXID: ::c_int = 26; 2733 pub const USER_CS_PATH: ::c_int = 1; 2734 pub const USER_BC_BASE_MAX: ::c_int = 2; 2735 pub const USER_BC_DIM_MAX: ::c_int = 3; 2736 pub const USER_BC_SCALE_MAX: ::c_int = 4; 2737 pub const USER_BC_STRING_MAX: ::c_int = 5; 2738 pub const USER_COLL_WEIGHTS_MAX: ::c_int = 6; 2739 pub const USER_EXPR_NEST_MAX: ::c_int = 7; 2740 pub const USER_LINE_MAX: ::c_int = 8; 2741 pub const USER_RE_DUP_MAX: ::c_int = 9; 2742 pub const USER_POSIX2_VERSION: ::c_int = 10; 2743 pub const USER_POSIX2_C_BIND: ::c_int = 11; 2744 pub const USER_POSIX2_C_DEV: ::c_int = 12; 2745 pub const USER_POSIX2_CHAR_TERM: ::c_int = 13; 2746 pub const USER_POSIX2_FORT_DEV: ::c_int = 14; 2747 pub const USER_POSIX2_FORT_RUN: ::c_int = 15; 2748 pub const USER_POSIX2_LOCALEDEF: ::c_int = 16; 2749 pub const USER_POSIX2_SW_DEV: ::c_int = 17; 2750 pub const USER_POSIX2_UPE: ::c_int = 18; 2751 pub const USER_STREAM_MAX: ::c_int = 19; 2752 pub const USER_TZNAME_MAX: ::c_int = 20; 2753 pub const USER_MAXID: ::c_int = 21; 2754 pub const CTL_DEBUG_NAME: ::c_int = 0; 2755 pub const CTL_DEBUG_VALUE: ::c_int = 1; 2756 pub const CTL_DEBUG_MAXID: ::c_int = 20; 2757 2758 pub const PRIO_DARWIN_THREAD: ::c_int = 3; 2759 pub const PRIO_DARWIN_PROCESS: ::c_int = 4; 2760 pub const PRIO_DARWIN_BG: ::c_int = 0x1000; 2761 pub const PRIO_DARWIN_NONUI: ::c_int = 0x1001; 2762 2763 pub const SEM_FAILED: *mut sem_t = -1isize as *mut ::sem_t; 2764 2765 pub const AI_PASSIVE: ::c_int = 0x00000001; 2766 pub const AI_CANONNAME: ::c_int = 0x00000002; 2767 pub const AI_NUMERICHOST: ::c_int = 0x00000004; 2768 pub const AI_NUMERICSERV: ::c_int = 0x00001000; 2769 pub const AI_MASK: ::c_int = AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | 2770 AI_NUMERICSERV | AI_ADDRCONFIG; 2771 pub const AI_ALL: ::c_int = 0x00000100; 2772 pub const AI_V4MAPPED_CFG: ::c_int = 0x00000200; 2773 pub const AI_ADDRCONFIG: ::c_int = 0x00000400; 2774 pub const AI_V4MAPPED: ::c_int = 0x00000800; 2775 pub const AI_DEFAULT: ::c_int = AI_V4MAPPED_CFG | AI_ADDRCONFIG; 2776 pub const AI_UNUSABLE: ::c_int = 0x10000000; 2777 2778 pub const SIGEV_NONE: ::c_int = 0; 2779 pub const SIGEV_SIGNAL: ::c_int = 1; 2780 pub const SIGEV_THREAD: ::c_int = 3; 2781 2782 pub const AIO_CANCELED: ::c_int = 2; 2783 pub const AIO_NOTCANCELED: ::c_int = 4; 2784 pub const AIO_ALLDONE: ::c_int = 1; 2785 pub const AIO_LISTIO_MAX: ::c_int = 16; 2786 pub const LIO_NOP: ::c_int = 0; 2787 pub const LIO_WRITE: ::c_int = 2; 2788 pub const LIO_READ: ::c_int = 1; 2789 pub const LIO_WAIT: ::c_int = 2; 2790 pub const LIO_NOWAIT: ::c_int = 1; 2791 2792 pub const WEXITED: ::c_int = 0x00000004; 2793 pub const WSTOPPED: ::c_int = 0x00000008; 2794 pub const WCONTINUED: ::c_int = 0x00000010; 2795 pub const WNOWAIT: ::c_int = 0x00000020; 2796 2797 pub const P_ALL: idtype_t = 0; 2798 pub const P_PID: idtype_t = 1; 2799 pub const P_PGID: idtype_t = 2; 2800 2801 pub const XATTR_NOFOLLOW: ::c_int = 0x0001; 2802 pub const XATTR_CREATE: ::c_int = 0x0002; 2803 pub const XATTR_REPLACE: ::c_int = 0x0004; 2804 pub const XATTR_NOSECURITY: ::c_int = 0x0008; 2805 pub const XATTR_NODEFAULT: ::c_int = 0x0010; 2806 pub const XATTR_SHOWCOMPRESSION: ::c_int = 0x0020; 2807 2808 pub const NET_RT_IFLIST2: ::c_int = 0x0006; 2809 2810 // net/route.h 2811 pub const RTF_UP: ::c_int = 0x1; 2812 pub const RTF_GATEWAY: ::c_int = 0x2; 2813 pub const RTF_HOST: ::c_int = 0x4; 2814 pub const RTF_REJECT: ::c_int = 0x8; 2815 pub const RTF_DYNAMIC: ::c_int = 0x10; 2816 pub const RTF_MODIFIED: ::c_int = 0x20; 2817 pub const RTF_DONE: ::c_int = 0x40; 2818 pub const RTF_DELCLONE: ::c_int = 0x80; 2819 pub const RTF_CLONING: ::c_int = 0x100; 2820 pub const RTF_XRESOLVE: ::c_int = 0x200; 2821 pub const RTF_LLINFO: ::c_int = 0x400; 2822 pub const RTF_STATIC: ::c_int = 0x800; 2823 pub const RTF_BLACKHOLE: ::c_int = 0x1000; 2824 pub const RTF_NOIFREF: ::c_int = 0x2000; 2825 pub const RTF_PROTO2: ::c_int = 0x4000; 2826 pub const RTF_PROTO1: ::c_int = 0x8000; 2827 pub const RTF_PRCLONING: ::c_int = 0x10000; 2828 pub const RTF_WASCLONED: ::c_int = 0x20000; 2829 pub const RTF_PROTO3: ::c_int = 0x40000; 2830 pub const RTF_PINNED: ::c_int = 0x100000; 2831 pub const RTF_LOCAL: ::c_int = 0x200000; 2832 pub const RTF_BROADCAST: ::c_int = 0x400000; 2833 pub const RTF_MULTICAST: ::c_int = 0x800000; 2834 pub const RTF_IFSCOPE: ::c_int = 0x1000000; 2835 pub const RTF_CONDEMNED: ::c_int = 0x2000000; 2836 pub const RTF_IFREF: ::c_int = 0x4000000; 2837 pub const RTF_PROXY: ::c_int = 0x8000000; 2838 pub const RTF_ROUTER: ::c_int = 0x10000000; 2839 2840 pub const RTM_VERSION: ::c_int = 5; 2841 2842 // Message types 2843 pub const RTM_ADD: ::c_int = 0x1; 2844 pub const RTM_DELETE: ::c_int = 0x2; 2845 pub const RTM_CHANGE: ::c_int = 0x3; 2846 pub const RTM_GET: ::c_int = 0x4; 2847 pub const RTM_LOSING: ::c_int = 0x5; 2848 pub const RTM_REDIRECT: ::c_int = 0x6; 2849 pub const RTM_MISS: ::c_int = 0x7; 2850 pub const RTM_LOCK: ::c_int = 0x8; 2851 pub const RTM_OLDADD: ::c_int = 0x9; 2852 pub const RTM_OLDDEL: ::c_int = 0xa; 2853 pub const RTM_RESOLVE: ::c_int = 0xb; 2854 pub const RTM_NEWADDR: ::c_int = 0xc; 2855 pub const RTM_DELADDR: ::c_int = 0xd; 2856 pub const RTM_IFINFO: ::c_int = 0xe; 2857 pub const RTM_NEWMADDR: ::c_int = 0xf; 2858 pub const RTM_DELMADDR: ::c_int = 0x10; 2859 pub const RTM_IFINFO2: ::c_int = 0x12; 2860 pub const RTM_NEWMADDR2: ::c_int = 0x13; 2861 pub const RTM_GET2: ::c_int = 0x14; 2862 2863 // Bitmask values for rtm_inits and rmx_locks. 2864 pub const RTV_MTU: ::c_int = 0x1; 2865 pub const RTV_HOPCOUNT: ::c_int = 0x2; 2866 pub const RTV_EXPIRE: ::c_int = 0x4; 2867 pub const RTV_RPIPE: ::c_int = 0x8; 2868 pub const RTV_SPIPE: ::c_int = 0x10; 2869 pub const RTV_SSTHRESH: ::c_int = 0x20; 2870 pub const RTV_RTT: ::c_int = 0x40; 2871 pub const RTV_RTTVAR: ::c_int = 0x80; 2872 2873 // Bitmask values for rtm_addrs. 2874 pub const RTA_DST: ::c_int = 0x1; 2875 pub const RTA_GATEWAY: ::c_int = 0x2; 2876 pub const RTA_NETMASK: ::c_int = 0x4; 2877 pub const RTA_GENMASK: ::c_int = 0x8; 2878 pub const RTA_IFP: ::c_int = 0x10; 2879 pub const RTA_IFA: ::c_int = 0x20; 2880 pub const RTA_AUTHOR: ::c_int = 0x40; 2881 pub const RTA_BRD: ::c_int = 0x80; 2882 2883 // Index offsets for sockaddr array for alternate internal encoding. 2884 pub const RTAX_DST: ::c_int = 0; 2885 pub const RTAX_GATEWAY: ::c_int = 1; 2886 pub const RTAX_NETMASK: ::c_int = 2; 2887 pub const RTAX_GENMASK: ::c_int = 3; 2888 pub const RTAX_IFP: ::c_int = 4; 2889 pub const RTAX_IFA: ::c_int = 5; 2890 pub const RTAX_AUTHOR: ::c_int = 6; 2891 pub const RTAX_BRD: ::c_int = 7; 2892 pub const RTAX_MAX: ::c_int = 8; 2893 2894 pub const KERN_PROCARGS2: ::c_int = 49; 2895 2896 pub const PROC_PIDTASKALLINFO: ::c_int = 2; 2897 pub const PROC_PIDTASKINFO: ::c_int = 4; 2898 pub const PROC_PIDTHREADINFO: ::c_int = 5; 2899 pub const MAXCOMLEN: usize = 16; 2900 pub const MAXTHREADNAMESIZE: usize = 64; 2901 2902 pub const XUCRED_VERSION: ::c_uint = 0; 2903 2904 pub const LC_SEGMENT: u32 = 0x1; 2905 pub const LC_SEGMENT_64: u32 = 0x19; 2906 2907 pub const MH_MAGIC: u32 = 0xfeedface; 2908 pub const MH_MAGIC_64: u32 = 0xfeedfacf; 2909 2910 // net/if_utun.h 2911 pub const UTUN_OPT_FLAGS: ::c_int = 1; 2912 pub const UTUN_OPT_IFNAME: ::c_int = 2; 2913 2914 // net/bpf.h 2915 pub const DLT_NULL: ::c_uint = 0; // no link-layer encapsulation 2916 pub const DLT_EN10MB: ::c_uint = 1; // Ethernet (10Mb) 2917 pub const DLT_EN3MB: ::c_uint = 2; // Experimental Ethernet (3Mb) 2918 pub const DLT_AX25: ::c_uint = 3; // Amateur Radio AX.25 2919 pub const DLT_PRONET: ::c_uint = 4; // Proteon ProNET Token Ring 2920 pub const DLT_CHAOS: ::c_uint = 5; // Chaos 2921 pub const DLT_IEEE802: ::c_uint = 6; // IEEE 802 Networks 2922 pub const DLT_ARCNET: ::c_uint = 7; // ARCNET 2923 pub const DLT_SLIP: ::c_uint = 8; // Serial Line IP 2924 pub const DLT_PPP: ::c_uint = 9; // Point-to-point Protocol 2925 pub const DLT_FDDI: ::c_uint = 10; // FDDI 2926 pub const DLT_ATM_RFC1483: ::c_uint = 11; // LLC/SNAP encapsulated atm 2927 pub const DLT_RAW: ::c_uint = 12; // raw IP 2928 pub const DLT_LOOP: ::c_uint = 108; 2929 2930 // https://github.com/apple/darwin-xnu/blob/master/bsd/net/bpf.h#L100 2931 // sizeof(i32) 2932 pub const BPF_ALIGNMENT: ::c_int = 4; 2933 2934 // sys/spawn.h: 2935 pub const POSIX_SPAWN_RESETIDS: ::c_int = 0x01; 2936 pub const POSIX_SPAWN_SETPGROUP: ::c_int = 0x02; 2937 pub const POSIX_SPAWN_SETSIGDEF: ::c_int = 0x04; 2938 pub const POSIX_SPAWN_SETSIGMASK: ::c_int = 0x08; 2939 pub const POSIX_SPAWN_SETEXEC: ::c_int = 0x40; 2940 pub const POSIX_SPAWN_START_SUSPENDED: ::c_int = 0x80; 2941 pub const POSIX_SPAWN_CLOEXEC_DEFAULT: ::c_int = 0x4000; 2942 2943 // sys/ipc.h: 2944 pub const IPC_CREAT: ::c_int = 0x200; 2945 pub const IPC_EXCL: ::c_int = 0x400; 2946 pub const IPC_NOWAIT: ::c_int = 0x800; 2947 pub const IPC_PRIVATE: key_t = 0; 2948 2949 pub const IPC_RMID: ::c_int = 0; 2950 pub const IPC_SET: ::c_int = 1; 2951 pub const IPC_STAT: ::c_int = 2; 2952 2953 pub const IPC_R: ::c_int = 0x100; 2954 pub const IPC_W: ::c_int = 0x80; 2955 pub const IPC_M: ::c_int = 0x1000; 2956 2957 // sys/sem.h 2958 pub const SEM_UNDO: ::c_int = 0o10000; 2959 2960 pub const GETNCNT: ::c_int = 3; 2961 pub const GETPID: ::c_int = 4; 2962 pub const GETVAL: ::c_int = 5; 2963 pub const GETALL: ::c_int = 6; 2964 pub const GETZCNT: ::c_int = 7; 2965 pub const SETVAL: ::c_int = 8; 2966 pub const SETALL: ::c_int = 9; 2967 2968 // sys/shm.h 2969 pub const SHM_RDONLY: ::c_int = 0x1000; 2970 pub const SHM_RND: ::c_int = 0x2000; 2971 pub const SHMLBA: ::c_int = 4096; 2972 pub const SHM_R: ::c_int = IPC_R; 2973 pub const SHM_W: ::c_int = IPC_W; 2974 2975 // Flags for chflags(2) 2976 pub const UF_SETTABLE: ::c_uint = 0x0000ffff; 2977 pub const UF_NODUMP: ::c_uint = 0x00000001; 2978 pub const UF_IMMUTABLE: ::c_uint = 0x00000002; 2979 pub const UF_APPEND: ::c_uint = 0x00000004; 2980 pub const UF_OPAQUE: ::c_uint = 0x00000008; 2981 pub const UF_COMPRESSED: ::c_uint = 0x00000020; 2982 pub const UF_TRACKED: ::c_uint = 0x00000040; 2983 pub const SF_SETTABLE: ::c_uint = 0xffff0000; 2984 pub const SF_ARCHIVED: ::c_uint = 0x00010000; 2985 pub const SF_IMMUTABLE: ::c_uint = 0x00020000; 2986 pub const SF_APPEND: ::c_uint = 0x00040000; 2987 pub const UF_HIDDEN: ::c_uint = 0x00008000; 2988 2989 cfg_if! { 2990 if #[cfg(libc_const_size_of)] { 2991 fn __DARWIN_ALIGN32(p: usize) -> usize { 2992 const __DARWIN_ALIGNBYTES32: usize = ::mem::size_of::<u32>() - 1; 2993 p + __DARWIN_ALIGNBYTES32 & !__DARWIN_ALIGNBYTES32 2994 } 2995 } else { 2996 fn __DARWIN_ALIGN32(p: usize) -> usize { 2997 let __DARWIN_ALIGNBYTES32: usize = ::mem::size_of::<u32>() - 1; 2998 p + __DARWIN_ALIGNBYTES32 & !__DARWIN_ALIGNBYTES32 2999 } 3000 } 3001 } 3002 3003 f! { 3004 pub fn CMSG_NXTHDR(mhdr: *const ::msghdr, 3005 cmsg: *const ::cmsghdr) -> *mut ::cmsghdr { 3006 if cmsg.is_null() { 3007 return ::CMSG_FIRSTHDR(mhdr); 3008 }; 3009 let cmsg_len = (*cmsg).cmsg_len as usize; 3010 let next = cmsg as usize + __DARWIN_ALIGN32(cmsg_len as usize); 3011 let max = (*mhdr).msg_control as usize 3012 + (*mhdr).msg_controllen as usize; 3013 if next + __DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) > max { 3014 0 as *mut ::cmsghdr 3015 } else { 3016 next as *mut ::cmsghdr 3017 } 3018 } 3019 3020 pub fn CMSG_DATA(cmsg: *const ::cmsghdr) -> *mut ::c_uchar { 3021 (cmsg as *mut ::c_uchar) 3022 .offset(__DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) as isize) 3023 } 3024 3025 pub fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { 3026 (__DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) 3027 + __DARWIN_ALIGN32(length as usize)) 3028 as ::c_uint 3029 } 3030 3031 pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { 3032 (__DARWIN_ALIGN32(::mem::size_of::<::cmsghdr>()) + length as usize) 3033 as ::c_uint 3034 } 3035 3036 pub fn WSTOPSIG(status: ::c_int) -> ::c_int { 3037 status >> 8 3038 } 3039 3040 pub fn _WSTATUS(status: ::c_int) -> ::c_int { 3041 status & 0x7f 3042 } 3043 3044 pub fn WIFCONTINUED(status: ::c_int) -> bool { 3045 _WSTATUS(status) == _WSTOPPED && WSTOPSIG(status) == 0x13 3046 } 3047 3048 pub fn WIFSIGNALED(status: ::c_int) -> bool { 3049 _WSTATUS(status) != _WSTOPPED && _WSTATUS(status) != 0 3050 } 3051 3052 pub fn WIFSTOPPED(status: ::c_int) -> bool { 3053 _WSTATUS(status) == _WSTOPPED && WSTOPSIG(status) != 0x13 3054 } 3055 } 3056 3057 extern { setgrent()3058 pub fn setgrent(); 3059 #[doc(hidden)] 3060 #[deprecated(since="0.2.49", note="Deprecated in MacOSX 10.5")] 3061 #[link_name = "daemon$1050"] daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int3062 pub fn daemon(nochdir: ::c_int, noclose: ::c_int) -> ::c_int; 3063 #[doc(hidden)] 3064 #[deprecated(since="0.2.49", note="Deprecated in MacOSX 10.10")] sem_destroy(sem: *mut sem_t) -> ::c_int3065 pub fn sem_destroy(sem: *mut sem_t) -> ::c_int; 3066 #[doc(hidden)] 3067 #[deprecated(since="0.2.49", note="Deprecated in MacOSX 10.10")] sem_init(sem: *mut sem_t, pshared: ::c_int, value: ::c_uint) -> ::c_int3068 pub fn sem_init(sem: *mut sem_t, 3069 pshared: ::c_int, 3070 value: ::c_uint) 3071 -> ::c_int; aio_read(aiocbp: *mut aiocb) -> ::c_int3072 pub fn aio_read(aiocbp: *mut aiocb) -> ::c_int; aio_write(aiocbp: *mut aiocb) -> ::c_int3073 pub fn aio_write(aiocbp: *mut aiocb) -> ::c_int; aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int3074 pub fn aio_fsync(op: ::c_int, aiocbp: *mut aiocb) -> ::c_int; aio_error(aiocbp: *const aiocb) -> ::c_int3075 pub fn aio_error(aiocbp: *const aiocb) -> ::c_int; aio_return(aiocbp: *mut aiocb) -> ::ssize_t3076 pub fn aio_return(aiocbp: *mut aiocb) -> ::ssize_t; 3077 #[cfg_attr(all(target_os = "macos", target_arch = "x86"), 3078 link_name = "aio_suspend$UNIX2003")] aio_suspend(aiocb_list: *const *const aiocb, nitems: ::c_int, timeout: *const ::timespec) -> ::c_int3079 pub fn aio_suspend(aiocb_list: *const *const aiocb, nitems: ::c_int, 3080 timeout: *const ::timespec) -> ::c_int; aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int3081 pub fn aio_cancel(fd: ::c_int, aiocbp: *mut aiocb) -> ::c_int; chflags(path: *const ::c_char, flags: ::c_uint) -> ::c_int3082 pub fn chflags(path: *const ::c_char, flags: ::c_uint) -> ::c_int; fchflags(fd: ::c_int, flags: ::c_uint) -> ::c_int3083 pub fn fchflags(fd: ::c_int, flags: ::c_uint) -> ::c_int; clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int3084 pub fn clock_getres(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int3085 pub fn clock_gettime(clk_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; lio_listio(mode: ::c_int, aiocb_list: *const *mut aiocb, nitems: ::c_int, sevp: *mut sigevent) -> ::c_int3086 pub fn lio_listio(mode: ::c_int, aiocb_list: *const *mut aiocb, 3087 nitems: ::c_int, sevp: *mut sigevent) -> ::c_int; 3088 dirfd(dirp: *mut ::DIR) -> ::c_int3089 pub fn dirfd(dirp: *mut ::DIR) -> ::c_int; 3090 lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int3091 pub fn lutimes(file: *const ::c_char, times: *const ::timeval) -> ::c_int; 3092 gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int3093 pub fn gettimeofday(tp: *mut ::timeval, 3094 tz: *mut ::c_void) -> ::c_int; getutxent() -> *mut utmpx3095 pub fn getutxent() -> *mut utmpx; getutxid(ut: *const utmpx) -> *mut utmpx3096 pub fn getutxid(ut: *const utmpx) -> *mut utmpx; getutxline(ut: *const utmpx) -> *mut utmpx3097 pub fn getutxline(ut: *const utmpx) -> *mut utmpx; pututxline(ut: *const utmpx) -> *mut utmpx3098 pub fn pututxline(ut: *const utmpx) -> *mut utmpx; setutxent()3099 pub fn setutxent(); endutxent()3100 pub fn endutxent(); utmpxname(file: *const ::c_char) -> ::c_int3101 pub fn utmpxname(file: *const ::c_char) -> ::c_int; 3102 getnameinfo(sa: *const ::sockaddr, salen: ::socklen_t, host: *mut ::c_char, hostlen: ::socklen_t, serv: *mut ::c_char, sevlen: ::socklen_t, flags: ::c_int) -> ::c_int3103 pub fn getnameinfo(sa: *const ::sockaddr, 3104 salen: ::socklen_t, 3105 host: *mut ::c_char, 3106 hostlen: ::socklen_t, 3107 serv: *mut ::c_char, 3108 sevlen: ::socklen_t, 3109 flags: ::c_int) -> ::c_int; mincore(addr: *const ::c_void, len: ::size_t, vec: *mut ::c_char) -> ::c_int3110 pub fn mincore(addr: *const ::c_void, len: ::size_t, 3111 vec: *mut ::c_char) -> ::c_int; sysctlnametomib(name: *const ::c_char, mibp: *mut ::c_int, sizep: *mut ::size_t) -> ::c_int3112 pub fn sysctlnametomib(name: *const ::c_char, 3113 mibp: *mut ::c_int, 3114 sizep: *mut ::size_t) 3115 -> ::c_int; 3116 #[cfg_attr(all(target_os = "macos", target_arch = "x86"), 3117 link_name = "mprotect$UNIX2003")] mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) -> ::c_int3118 pub fn mprotect(addr: *mut ::c_void, len: ::size_t, prot: ::c_int) 3119 -> ::c_int; semget(key: key_t, nsems: ::c_int, semflg: ::c_int) -> ::c_int3120 pub fn semget(key: key_t, nsems: ::c_int, semflg: ::c_int) -> ::c_int; 3121 #[cfg_attr(all(target_os = "macos", target_arch = "x86"), 3122 link_name = "semctl$UNIX2003")] semctl(semid: ::c_int, semnum: ::c_int, cmd: ::c_int, ...) -> ::c_int3123 pub fn semctl(semid: ::c_int, 3124 semnum: ::c_int, 3125 cmd: ::c_int, ...) -> ::c_int; semop(semid: ::c_int, sops: *mut sembuf, nsops: ::size_t) -> ::c_int3126 pub fn semop(semid: ::c_int, sops: *mut sembuf, nsops: ::size_t) -> ::c_int; shm_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::c_int3127 pub fn shm_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::c_int; ftok(pathname : *const c_char, proj_id : ::c_int) -> key_t3128 pub fn ftok(pathname : *const c_char, proj_id : ::c_int) -> key_t; shmat(shmid: ::c_int, shmaddr: *const ::c_void, shmflg: ::c_int) -> *mut ::c_void3129 pub fn shmat(shmid: ::c_int, shmaddr: *const ::c_void, 3130 shmflg: ::c_int) -> *mut ::c_void; shmdt(shmaddr: *const ::c_void) -> ::c_int3131 pub fn shmdt(shmaddr: *const ::c_void) -> ::c_int; 3132 #[cfg_attr(all(target_os = "macos", target_arch = "x86"), 3133 link_name = "shmctl$UNIX2003")] shmctl(shmid: ::c_int, cmd: ::c_int, buf: *mut ::shmid_ds) -> ::c_int3134 pub fn shmctl(shmid: ::c_int, cmd: ::c_int, 3135 buf: *mut ::shmid_ds) -> ::c_int; shmget(key: key_t, size: ::size_t, shmflg: ::c_int) -> ::c_int3136 pub fn shmget(key: key_t, size: ::size_t, shmflg: ::c_int) -> ::c_int; sysctl(name: *mut ::c_int, namelen: ::c_uint, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t) -> ::c_int3137 pub fn sysctl(name: *mut ::c_int, 3138 namelen: ::c_uint, 3139 oldp: *mut ::c_void, 3140 oldlenp: *mut ::size_t, 3141 newp: *mut ::c_void, 3142 newlen: ::size_t) 3143 -> ::c_int; sysctlbyname(name: *const ::c_char, oldp: *mut ::c_void, oldlenp: *mut ::size_t, newp: *mut ::c_void, newlen: ::size_t) -> ::c_int3144 pub fn sysctlbyname(name: *const ::c_char, 3145 oldp: *mut ::c_void, 3146 oldlenp: *mut ::size_t, 3147 newp: *mut ::c_void, 3148 newlen: ::size_t) 3149 -> ::c_int; 3150 #[deprecated(since = "0.2.55", note = "Use the mach crate")] mach_absolute_time() -> u643151 pub fn mach_absolute_time() -> u64; 3152 #[deprecated(since = "0.2.55", note = "Use the mach crate")] 3153 #[allow(deprecated)] mach_timebase_info(info: *mut ::mach_timebase_info) -> ::c_int3154 pub fn mach_timebase_info(info: *mut ::mach_timebase_info) -> ::c_int; pthread_setname_np(name: *const ::c_char) -> ::c_int3155 pub fn pthread_setname_np(name: *const ::c_char) -> ::c_int; pthread_get_stackaddr_np(thread: ::pthread_t) -> *mut ::c_void3156 pub fn pthread_get_stackaddr_np(thread: ::pthread_t) -> *mut ::c_void; pthread_get_stacksize_np(thread: ::pthread_t) -> ::size_t3157 pub fn pthread_get_stacksize_np(thread: ::pthread_t) -> ::size_t; pthread_condattr_setpshared(attr: *mut pthread_condattr_t, pshared: ::c_int) -> ::c_int3158 pub fn pthread_condattr_setpshared(attr: *mut pthread_condattr_t, 3159 pshared: ::c_int) -> ::c_int; pthread_condattr_getpshared(attr: *const pthread_condattr_t, pshared: *mut ::c_int) -> ::c_int3160 pub fn pthread_condattr_getpshared(attr: *const pthread_condattr_t, 3161 pshared: *mut ::c_int) -> ::c_int; pthread_mutexattr_setpshared(attr: *mut pthread_mutexattr_t, pshared: ::c_int) -> ::c_int3162 pub fn pthread_mutexattr_setpshared(attr: *mut pthread_mutexattr_t, 3163 pshared: ::c_int) -> ::c_int; pthread_mutexattr_getpshared(attr: *const pthread_mutexattr_t, pshared: *mut ::c_int) -> ::c_int3164 pub fn pthread_mutexattr_getpshared(attr: *const pthread_mutexattr_t, 3165 pshared: *mut ::c_int) -> ::c_int; pthread_rwlockattr_getpshared(attr: *const pthread_rwlockattr_t, val: *mut ::c_int) -> ::c_int3166 pub fn pthread_rwlockattr_getpshared(attr: *const pthread_rwlockattr_t, 3167 val: *mut ::c_int) -> ::c_int; pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t, val: ::c_int) -> ::c_int3168 pub fn pthread_rwlockattr_setpshared(attr: *mut pthread_rwlockattr_t, 3169 val: ::c_int) -> ::c_int; __error() -> *mut ::c_int3170 pub fn __error() -> *mut ::c_int; backtrace(buf: *mut *mut ::c_void, sz: ::c_int) -> ::c_int3171 pub fn backtrace(buf: *mut *mut ::c_void, 3172 sz: ::c_int) -> ::c_int; 3173 #[cfg_attr(target_os = "macos", link_name = "statfs$INODE64")] statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int3174 pub fn statfs(path: *const ::c_char, buf: *mut statfs) -> ::c_int; 3175 #[cfg_attr(target_os = "macos", link_name = "fstatfs$INODE64")] fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int3176 pub fn fstatfs(fd: ::c_int, buf: *mut statfs) -> ::c_int; kevent(kq: ::c_int, changelist: *const ::kevent, nchanges: ::c_int, eventlist: *mut ::kevent, nevents: ::c_int, timeout: *const ::timespec) -> ::c_int3177 pub fn kevent(kq: ::c_int, 3178 changelist: *const ::kevent, 3179 nchanges: ::c_int, 3180 eventlist: *mut ::kevent, 3181 nevents: ::c_int, 3182 timeout: *const ::timespec) -> ::c_int; kevent64(kq: ::c_int, changelist: *const ::kevent64_s, nchanges: ::c_int, eventlist: *mut ::kevent64_s, nevents: ::c_int, flags: ::c_uint, timeout: *const ::timespec) -> ::c_int3183 pub fn kevent64(kq: ::c_int, 3184 changelist: *const ::kevent64_s, 3185 nchanges: ::c_int, 3186 eventlist: *mut ::kevent64_s, 3187 nevents: ::c_int, 3188 flags: ::c_uint, 3189 timeout: *const ::timespec) -> ::c_int; mount(src: *const ::c_char, target: *const ::c_char, flags: ::c_int, data: *mut ::c_void) -> ::c_int3190 pub fn mount(src: *const ::c_char, 3191 target: *const ::c_char, 3192 flags: ::c_int, 3193 data: *mut ::c_void) -> ::c_int; ptrace(request: ::c_int, pid: ::pid_t, addr: *mut ::c_char, data: ::c_int) -> ::c_int3194 pub fn ptrace(request: ::c_int, 3195 pid: ::pid_t, 3196 addr: *mut ::c_char, 3197 data: ::c_int) -> ::c_int; quotactl(special: *const ::c_char, cmd: ::c_int, id: ::c_int, data: *mut ::c_char) -> ::c_int3198 pub fn quotactl(special: *const ::c_char, 3199 cmd: ::c_int, 3200 id: ::c_int, 3201 data: *mut ::c_char) -> ::c_int; sethostname(name: *const ::c_char, len: ::c_int) -> ::c_int3202 pub fn sethostname(name: *const ::c_char, len: ::c_int) -> ::c_int; sendfile(fd: ::c_int, s: ::c_int, offset: ::off_t, len: *mut ::off_t, hdtr: *mut ::sf_hdtr, flags: ::c_int) -> ::c_int3203 pub fn sendfile(fd: ::c_int, 3204 s: ::c_int, 3205 offset: ::off_t, 3206 len: *mut ::off_t, 3207 hdtr: *mut ::sf_hdtr, 3208 flags: ::c_int) -> ::c_int; futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int3209 pub fn futimens(fd: ::c_int, times: *const ::timespec) -> ::c_int; utimensat(dirfd: ::c_int, path: *const ::c_char, times: *const ::timespec, flag: ::c_int) -> ::c_int3210 pub fn utimensat(dirfd: ::c_int, path: *const ::c_char, 3211 times: *const ::timespec, flag: ::c_int) -> ::c_int; openpty(amaster: *mut ::c_int, aslave: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize) -> ::c_int3212 pub fn openpty(amaster: *mut ::c_int, 3213 aslave: *mut ::c_int, 3214 name: *mut ::c_char, 3215 termp: *mut termios, 3216 winp: *mut ::winsize) -> ::c_int; forkpty(amaster: *mut ::c_int, name: *mut ::c_char, termp: *mut termios, winp: *mut ::winsize) -> ::pid_t3217 pub fn forkpty(amaster: *mut ::c_int, 3218 name: *mut ::c_char, 3219 termp: *mut termios, 3220 winp: *mut ::winsize) -> ::pid_t; login_tty(fd: ::c_int) -> ::c_int3221 pub fn login_tty(fd: ::c_int) -> ::c_int; duplocale(base: ::locale_t) -> ::locale_t3222 pub fn duplocale(base: ::locale_t) -> ::locale_t; freelocale(loc: ::locale_t) -> ::c_int3223 pub fn freelocale(loc: ::locale_t) -> ::c_int; localeconv_l(loc: ::locale_t) -> *mut lconv3224 pub fn localeconv_l(loc: ::locale_t) -> *mut lconv; newlocale(mask: ::c_int, locale: *const ::c_char, base: ::locale_t) -> ::locale_t3225 pub fn newlocale(mask: ::c_int, 3226 locale: *const ::c_char, 3227 base: ::locale_t) -> ::locale_t; uselocale(loc: ::locale_t) -> ::locale_t3228 pub fn uselocale(loc: ::locale_t) -> ::locale_t; querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char3229 pub fn querylocale(mask: ::c_int, loc: ::locale_t) -> *const ::c_char; getpriority(which: ::c_int, who: ::id_t) -> ::c_int3230 pub fn getpriority(which: ::c_int, who: ::id_t) -> ::c_int; setpriority(which: ::c_int, who: ::id_t, prio: ::c_int) -> ::c_int3231 pub fn setpriority(which: ::c_int, who: ::id_t, prio: ::c_int) -> ::c_int; getdomainname(name: *mut ::c_char, len: ::c_int) -> ::c_int3232 pub fn getdomainname(name: *mut ::c_char, len: ::c_int) -> ::c_int; setdomainname(name: *const ::c_char, len: ::c_int) -> ::c_int3233 pub fn setdomainname(name: *const ::c_char, len: ::c_int) -> ::c_int; getxattr(path: *const ::c_char, name: *const ::c_char, value: *mut ::c_void, size: ::size_t, position: u32, flags: ::c_int) -> ::ssize_t3234 pub fn getxattr(path: *const ::c_char, name: *const ::c_char, 3235 value: *mut ::c_void, size: ::size_t, position: u32, 3236 flags: ::c_int) -> ::ssize_t; fgetxattr(filedes: ::c_int, name: *const ::c_char, value: *mut ::c_void, size: ::size_t, position: u32, flags: ::c_int) -> ::ssize_t3237 pub fn fgetxattr(filedes: ::c_int, name: *const ::c_char, 3238 value: *mut ::c_void, size: ::size_t, position: u32, 3239 flags: ::c_int) -> ::ssize_t; setxattr(path: *const ::c_char, name: *const ::c_char, value: *const ::c_void, size: ::size_t, position: u32, flags: ::c_int) -> ::c_int3240 pub fn setxattr(path: *const ::c_char, name: *const ::c_char, 3241 value: *const ::c_void, size: ::size_t, position: u32, 3242 flags: ::c_int) -> ::c_int; fsetxattr(filedes: ::c_int, name: *const ::c_char, value: *const ::c_void, size: ::size_t, position: u32, flags: ::c_int) -> ::c_int3243 pub fn fsetxattr(filedes: ::c_int, name: *const ::c_char, 3244 value: *const ::c_void, size: ::size_t, position: u32, 3245 flags: ::c_int) -> ::c_int; listxattr(path: *const ::c_char, list: *mut ::c_char, size: ::size_t, flags: ::c_int) -> ::ssize_t3246 pub fn listxattr(path: *const ::c_char, list: *mut ::c_char, 3247 size: ::size_t, flags: ::c_int) -> ::ssize_t; flistxattr(filedes: ::c_int, list: *mut ::c_char, size: ::size_t, flags: ::c_int) -> ::ssize_t3248 pub fn flistxattr(filedes: ::c_int, list: *mut ::c_char, 3249 size: ::size_t, flags: ::c_int) -> ::ssize_t; removexattr(path: *const ::c_char, name: *const ::c_char, flags: ::c_int) -> ::c_int3250 pub fn removexattr(path: *const ::c_char, name: *const ::c_char, 3251 flags: ::c_int) -> ::c_int; renamex_np(from: *const ::c_char, to: *const ::c_char, flags: ::c_uint) -> ::c_int3252 pub fn renamex_np(from: *const ::c_char, to: *const ::c_char, 3253 flags: ::c_uint) -> ::c_int; renameatx_np(fromfd: ::c_int, from: *const ::c_char, tofd: ::c_int, to: *const ::c_char, flags: ::c_uint) -> ::c_int3254 pub fn renameatx_np(fromfd: ::c_int, from: *const ::c_char, 3255 tofd: ::c_int, to: *const ::c_char, 3256 flags: ::c_uint) -> ::c_int; fremovexattr(filedes: ::c_int, name: *const ::c_char, flags: ::c_int) -> ::c_int3257 pub fn fremovexattr(filedes: ::c_int, name: *const ::c_char, 3258 flags: ::c_int) -> ::c_int; 3259 getgrouplist(name: *const ::c_char, basegid: ::c_int, groups: *mut ::c_int, ngroups: *mut ::c_int) -> ::c_int3260 pub fn getgrouplist(name: *const ::c_char, 3261 basegid: ::c_int, 3262 groups: *mut ::c_int, 3263 ngroups: *mut ::c_int) -> ::c_int; initgroups(user: *const ::c_char, basegroup: ::c_int) -> ::c_int3264 pub fn initgroups(user: *const ::c_char, basegroup: ::c_int) -> ::c_int; 3265 3266 #[cfg_attr(all(target_os = "macos", target_arch = "x86"), 3267 link_name = "waitid$UNIX2003")] waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, options: ::c_int) -> ::c_int3268 pub fn waitid(idtype: idtype_t, id: id_t, infop: *mut ::siginfo_t, 3269 options: ::c_int) -> ::c_int; brk(addr: *const ::c_void) -> *mut ::c_void3270 pub fn brk(addr: *const ::c_void) -> *mut ::c_void; sbrk(increment: ::c_int) -> *mut ::c_void3271 pub fn sbrk(increment: ::c_int) -> *mut ::c_void; settimeofday(tv: *const ::timeval, tz: *const ::timezone) -> ::c_int3272 pub fn settimeofday(tv: *const ::timeval, tz: *const ::timezone) -> ::c_int; 3273 #[deprecated(since = "0.2.55", note = "Use the mach crate")] _dyld_image_count() -> u323274 pub fn _dyld_image_count() -> u32; 3275 #[deprecated(since = "0.2.55", note = "Use the mach crate")] 3276 #[allow(deprecated)] _dyld_get_image_header(image_index: u32) -> *const mach_header3277 pub fn _dyld_get_image_header(image_index: u32) -> *const mach_header; 3278 #[deprecated(since = "0.2.55", note = "Use the mach crate")] _dyld_get_image_vmaddr_slide(image_index: u32) -> ::intptr_t3279 pub fn _dyld_get_image_vmaddr_slide(image_index: u32) -> ::intptr_t; 3280 #[deprecated(since = "0.2.55", note = "Use the mach crate")] _dyld_get_image_name(image_index: u32) -> *const ::c_char3281 pub fn _dyld_get_image_name(image_index: u32) -> *const ::c_char; 3282 posix_spawn(pid: *mut ::pid_t, path: *const ::c_char, file_actions: *const ::posix_spawn_file_actions_t, attrp: *const ::posix_spawnattr_t, argv: *const *mut ::c_char, envp: *const *mut ::c_char) -> ::c_int3283 pub fn posix_spawn(pid: *mut ::pid_t, 3284 path: *const ::c_char, 3285 file_actions: *const ::posix_spawn_file_actions_t, 3286 attrp: *const ::posix_spawnattr_t, 3287 argv: *const *mut ::c_char, 3288 envp: *const *mut ::c_char) -> ::c_int; posix_spawnp(pid: *mut ::pid_t, file: *const ::c_char, file_actions: *const ::posix_spawn_file_actions_t, attrp: *const ::posix_spawnattr_t, argv: *const *mut ::c_char, envp: *const *mut ::c_char) -> ::c_int3289 pub fn posix_spawnp(pid: *mut ::pid_t, 3290 file: *const ::c_char, 3291 file_actions: *const ::posix_spawn_file_actions_t, 3292 attrp: *const ::posix_spawnattr_t, 3293 argv: *const *mut ::c_char, 3294 envp: *const *mut ::c_char) -> ::c_int; posix_spawnattr_init(attr: *mut posix_spawnattr_t) -> ::c_int3295 pub fn posix_spawnattr_init(attr: *mut posix_spawnattr_t) -> ::c_int; posix_spawnattr_destroy(attr: *mut posix_spawnattr_t) -> ::c_int3296 pub fn posix_spawnattr_destroy(attr: *mut posix_spawnattr_t) -> ::c_int; posix_spawnattr_getsigdefault(attr: *const posix_spawnattr_t, default: *mut ::sigset_t) -> ::c_int3297 pub fn posix_spawnattr_getsigdefault(attr: *const posix_spawnattr_t, 3298 default: *mut ::sigset_t) -> ::c_int; posix_spawnattr_setsigdefault(attr: *mut posix_spawnattr_t, default: *const ::sigset_t) -> ::c_int3299 pub fn posix_spawnattr_setsigdefault(attr: *mut posix_spawnattr_t, 3300 default: *const ::sigset_t) -> ::c_int; posix_spawnattr_getsigmask(attr: *const posix_spawnattr_t, default: *mut ::sigset_t) -> ::c_int3301 pub fn posix_spawnattr_getsigmask(attr: *const posix_spawnattr_t, 3302 default: *mut ::sigset_t) -> ::c_int; posix_spawnattr_setsigmask(attr: *mut posix_spawnattr_t, default: *const ::sigset_t) -> ::c_int3303 pub fn posix_spawnattr_setsigmask(attr: *mut posix_spawnattr_t, 3304 default: *const ::sigset_t) -> ::c_int; posix_spawnattr_getflags(attr: *const posix_spawnattr_t, flags: *mut ::c_short) -> ::c_int3305 pub fn posix_spawnattr_getflags(attr: *const posix_spawnattr_t, 3306 flags: *mut ::c_short) -> ::c_int; posix_spawnattr_setflags(attr: *mut posix_spawnattr_t, flags: ::c_short) -> ::c_int3307 pub fn posix_spawnattr_setflags(attr: *mut posix_spawnattr_t, 3308 flags: ::c_short) -> ::c_int; posix_spawnattr_getpgroup(attr: *const posix_spawnattr_t, flags: *mut ::pid_t) -> ::c_int3309 pub fn posix_spawnattr_getpgroup(attr: *const posix_spawnattr_t, 3310 flags: *mut ::pid_t) -> ::c_int; posix_spawnattr_setpgroup(attr: *mut posix_spawnattr_t, flags: ::pid_t) -> ::c_int3311 pub fn posix_spawnattr_setpgroup(attr: *mut posix_spawnattr_t, 3312 flags: ::pid_t) -> ::c_int; 3313 posix_spawn_file_actions_init( actions: *mut posix_spawn_file_actions_t, ) -> ::c_int3314 pub fn posix_spawn_file_actions_init( 3315 actions: *mut posix_spawn_file_actions_t, 3316 ) -> ::c_int; posix_spawn_file_actions_destroy( actions: *mut posix_spawn_file_actions_t, ) -> ::c_int3317 pub fn posix_spawn_file_actions_destroy( 3318 actions: *mut posix_spawn_file_actions_t, 3319 ) -> ::c_int; posix_spawn_file_actions_addopen( actions: *mut posix_spawn_file_actions_t, fd: ::c_int, path: *const ::c_char, oflag: ::c_int, mode: ::mode_t, ) -> ::c_int3320 pub fn posix_spawn_file_actions_addopen( 3321 actions: *mut posix_spawn_file_actions_t, 3322 fd: ::c_int, 3323 path: *const ::c_char, 3324 oflag: ::c_int, 3325 mode: ::mode_t, 3326 ) -> ::c_int; posix_spawn_file_actions_addclose( actions: *mut posix_spawn_file_actions_t, fd: ::c_int, ) -> ::c_int3327 pub fn posix_spawn_file_actions_addclose( 3328 actions: *mut posix_spawn_file_actions_t, 3329 fd: ::c_int, 3330 ) -> ::c_int; posix_spawn_file_actions_adddup2( actions: *mut posix_spawn_file_actions_t, fd: ::c_int, newfd: ::c_int, ) -> ::c_int3331 pub fn posix_spawn_file_actions_adddup2( 3332 actions: *mut posix_spawn_file_actions_t, 3333 fd: ::c_int, 3334 newfd: ::c_int, 3335 ) -> ::c_int; uname(buf: *mut ::utsname) -> ::c_int3336 pub fn uname(buf: *mut ::utsname) -> ::c_int; 3337 } 3338 3339 cfg_if! { 3340 if #[cfg(any(target_arch = "arm", target_arch = "x86"))] { 3341 mod b32; 3342 pub use self::b32::*; 3343 } else if #[cfg(any(target_arch = "x86_64", target_arch = "aarch64"))] { 3344 mod b64; 3345 pub use self::b64::*; 3346 } else { 3347 // Unknown target_arch 3348 } 3349 } 3350