1 //! Definitions found commonly among almost all Unix derivatives
3 //! More functions and definitions can be found in the more specific modules
4 //! according to the platform in question.
10 pub type c_short
= i16;
11 pub type c_ushort
= u16;
13 pub type c_uint
= u32;
14 pub type c_float
= f32;
15 pub type c_double
= f64;
16 pub type c_longlong
= i64;
17 pub type c_ulonglong
= u64;
18 pub type intmax_t
= i64;
19 pub type uintmax_t
= u64;
21 pub type locale_t
= *mut ::c_void
;
23 pub type size_t
= usize;
24 pub type ptrdiff_t
= isize;
25 pub type intptr_t
= isize;
26 pub type uintptr_t
= usize;
27 pub type ssize_t
= isize;
32 pub type in_addr_t
= u32;
33 pub type in_port_t
= u16;
34 pub type sighandler_t
= ::size_t
;
35 pub type cc_t
= ::c_uchar
;
36 pub type sa_family_t
= u16;
37 pub type pthread_key_t
= ::c_uint
;
38 pub type speed_t
= ::c_uint
;
39 pub type tcflag_t
= ::c_uint
;
40 pub type clockid_t
= ::c_int
;
41 pub type key_t
= ::c_int
;
42 pub type id_t
= ::c_uint
;
43 pub type useconds_t
= u32;
45 pub type socklen_t
= u32;
46 pub type pthread_t
= c_ulong
;
47 pub type mode_t
= u32;
48 pub type ino64_t
= u64;
49 pub type off64_t
= i64;
50 pub type blkcnt64_t
= i64;
51 pub type rlim64_t
= u64;
52 pub type mqd_t
= ::c_int
;
53 pub type nfds_t
= ::c_ulong
;
54 pub type nl_item
= ::c_int
;
55 pub type idtype_t
= ::c_uint
;
56 pub type loff_t
= ::c_longlong
;
58 pub type __u8
= ::c_uchar
;
59 pub type __u16
= ::c_ushort
;
60 pub type __s16
= ::c_short
;
61 pub type __u32
= ::c_uint
;
62 pub type __s32
= ::c_int
;
64 pub type Elf32_Half
= u16;
65 pub type Elf32_Word
= u32;
66 pub type Elf32_Off
= u32;
67 pub type Elf32_Addr
= u32;
69 pub type Elf64_Half
= u16;
70 pub type Elf64_Word
= u32;
71 pub type Elf64_Off
= u64;
72 pub type Elf64_Addr
= u64;
73 pub type Elf64_Xword
= u64;
75 pub type clock_t
= c_long
;
76 pub type time_t
= c_long
;
77 pub type suseconds_t
= c_long
;
80 pub type blkcnt_t
= i64;
82 pub type shmatt_t
= ::c_ulong
;
83 pub type msgqnum_t
= ::c_ulong
;
84 pub type msglen_t
= ::c_ulong
;
85 pub type fsblkcnt_t
= ::c_ulonglong
;
86 pub type fsfilcnt_t
= ::c_ulonglong
;
87 pub type rlim_t
= ::c_ulonglong
;
89 pub type c_long
= i64;
90 pub type c_ulong
= u64;
92 // FIXME: why are these uninhabited types? that seems... wrong?
93 // Presumably these should be `()` or an `extern type` (when that stabilizes).
94 #[cfg_attr(feature = "extra_traits", derive(Debug))]
96 impl ::Copy
for timezone {}
97 impl ::Clone
for timezone
{
98 fn clone(&self) -> timezone
{
102 #[cfg_attr(feature = "extra_traits", derive(Debug))]
104 impl ::Copy
for DIR {}
105 impl ::Clone
for DIR
{
106 fn clone(&self) -> DIR
{
111 #[cfg_attr(feature = "extra_traits", derive(Debug))]
112 pub enum fpos64_t {}
// FIXME: fill this out with a struct
113 impl ::Copy
for fpos64_t {}
114 impl ::Clone
for fpos64_t
{
115 fn clone(&self) -> fpos64_t
{
124 pub gr_name
: *mut ::c_char
,
125 pub gr_passwd
: *mut ::c_char
,
127 pub gr_mem
: *mut *mut ::c_char
,
137 pub tv_usec
: suseconds_t
,
140 pub struct timespec
{
142 pub tv_nsec
: ::c_long
,
145 // FIXME: the rlimit and rusage related functions and types don't exist
146 // within zircon. Are there reasons for keeping them around?
148 pub rlim_cur
: rlim_t
,
149 pub rlim_max
: rlim_t
,
153 pub ru_utime
: timeval
,
154 pub ru_stime
: timeval
,
155 pub ru_maxrss
: c_long
,
156 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
158 pub ru_ixrss
: c_long
,
159 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
161 pub ru_idrss
: c_long
,
162 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
164 pub ru_isrss
: c_long
,
165 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
167 pub ru_minflt
: c_long
,
168 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
170 pub ru_majflt
: c_long
,
171 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
173 pub ru_nswap
: c_long
,
174 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
176 pub ru_inblock
: c_long
,
177 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
179 pub ru_oublock
: c_long
,
180 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
182 pub ru_msgsnd
: c_long
,
183 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
185 pub ru_msgrcv
: c_long
,
186 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
188 pub ru_nsignals
: c_long
,
189 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
191 pub ru_nvcsw
: c_long
,
192 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
194 pub ru_nivcsw
: c_long
,
195 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
200 pub s_addr
: in_addr_t
,
203 pub struct in6_addr
{
204 pub s6_addr
: [u8; 16],
208 pub imr_multiaddr
: in_addr
,
209 pub imr_interface
: in_addr
,
212 pub struct ipv6_mreq
{
213 pub ipv6mr_multiaddr
: in6_addr
,
214 pub ipv6mr_interface
: ::c_uint
,
218 pub h_name
: *mut ::c_char
,
219 pub h_aliases
: *mut *mut ::c_char
,
220 pub h_addrtype
: ::c_int
,
221 pub h_length
: ::c_int
,
222 pub h_addr_list
: *mut *mut ::c_char
,
226 pub iov_base
: *mut ::c_void
,
227 pub iov_len
: ::size_t
,
232 pub events
: ::c_short
,
233 pub revents
: ::c_short
,
237 pub ws_row
: ::c_ushort
,
238 pub ws_col
: ::c_ushort
,
239 pub ws_xpixel
: ::c_ushort
,
240 pub ws_ypixel
: ::c_ushort
,
244 pub l_onoff
: ::c_int
,
245 pub l_linger
: ::c_int
,
249 // Actually a union of an int and a void*
250 pub sival_ptr
: *mut ::c_void
254 pub struct itimerval
{
255 pub it_interval
: ::timeval
,
256 pub it_value
: ::timeval
,
261 pub tms_utime
: ::clock_t
,
262 pub tms_stime
: ::clock_t
,
263 pub tms_cutime
: ::clock_t
,
264 pub tms_cstime
: ::clock_t
,
268 pub s_name
: *mut ::c_char
,
269 pub s_aliases
: *mut *mut ::c_char
,
271 pub s_proto
: *mut ::c_char
,
274 pub struct protoent
{
275 pub p_name
: *mut ::c_char
,
276 pub p_aliases
: *mut *mut ::c_char
,
277 pub p_proto
: ::c_int
,
281 pub aio_fildes
: ::c_int
,
282 pub aio_lio_opcode
: ::c_int
,
283 pub aio_reqprio
: ::c_int
,
284 pub aio_buf
: *mut ::c_void
,
285 pub aio_nbytes
: ::size_t
,
286 pub aio_sigevent
: ::sigevent
,
288 __lock
: [::c_int
; 2],
291 pub aio_offset
: off_t
,
292 __next
: *mut ::c_void
,
293 __prev
: *mut ::c_void
,
294 #[cfg(target_pointer_width = "32")]
295 __dummy4
: [::c_char
; 24],
296 #[cfg(target_pointer_width = "64")]
297 __dummy4
: [::c_char
; 16],
300 pub struct sigaction
{
301 pub sa_sigaction
: ::sighandler_t
,
302 pub sa_mask
: ::sigset_t
,
303 pub sa_flags
: ::c_int
,
304 pub sa_restorer
: ::Option
<extern fn()>,
308 pub c_iflag
: ::tcflag_t
,
309 pub c_oflag
: ::tcflag_t
,
310 pub c_cflag
: ::tcflag_t
,
311 pub c_lflag
: ::tcflag_t
,
313 pub c_cc
: [::cc_t
; ::NCCS
],
314 pub __c_ispeed
: ::speed_t
,
315 pub __c_ospeed
: ::speed_t
,
319 pub l_type
: ::c_short
,
320 pub l_whence
: ::c_short
,
321 pub l_start
: ::off_t
,
332 pub struct sockaddr
{
333 pub sa_family
: sa_family_t
,
334 pub sa_data
: [::c_char
; 14],
337 pub struct sockaddr_in
{
338 pub sin_family
: sa_family_t
,
339 pub sin_port
: ::in_port_t
,
340 pub sin_addr
: ::in_addr
,
341 pub sin_zero
: [u8; 8],
344 pub struct sockaddr_in6
{
345 pub sin6_family
: sa_family_t
,
346 pub sin6_port
: ::in_port_t
,
347 pub sin6_flowinfo
: u32,
348 pub sin6_addr
: ::in6_addr
,
349 pub sin6_scope_id
: u32,
352 pub struct addrinfo
{
353 pub ai_flags
: ::c_int
,
354 pub ai_family
: ::c_int
,
355 pub ai_socktype
: ::c_int
,
356 pub ai_protocol
: ::c_int
,
357 pub ai_addrlen
: socklen_t
,
359 pub ai_addr
: *mut ::sockaddr
,
361 pub ai_canonname
: *mut c_char
,
363 pub ai_next
: *mut addrinfo
,
366 pub struct sockaddr_ll
{
367 pub sll_family
: ::c_ushort
,
368 pub sll_protocol
: ::c_ushort
,
369 pub sll_ifindex
: ::c_int
,
370 pub sll_hatype
: ::c_ushort
,
371 pub sll_pkttype
: ::c_uchar
,
372 pub sll_halen
: ::c_uchar
,
373 pub sll_addr
: [::c_uchar
; 8]
377 fds_bits
: [::c_ulong
; FD_SETSIZE
/ ULONG_SIZE
],
383 pub tm_hour
: ::c_int
,
384 pub tm_mday
: ::c_int
,
386 pub tm_year
: ::c_int
,
387 pub tm_wday
: ::c_int
,
388 pub tm_yday
: ::c_int
,
389 pub tm_isdst
: ::c_int
,
390 pub tm_gmtoff
: ::c_long
,
391 pub tm_zone
: *const ::c_char
,
394 pub struct sched_param
{
395 pub sched_priority
: ::c_int
,
396 pub sched_ss_low_priority
: ::c_int
,
397 pub sched_ss_repl_period
: ::timespec
,
398 pub sched_ss_init_budget
: ::timespec
,
399 pub sched_ss_max_repl
: ::c_int
,
403 pub dli_fname
: *const ::c_char
,
404 pub dli_fbase
: *mut ::c_void
,
405 pub dli_sname
: *const ::c_char
,
406 pub dli_saddr
: *mut ::c_void
,
409 pub struct epoll_event
{
415 pub decimal_point
: *mut ::c_char
,
416 pub thousands_sep
: *mut ::c_char
,
417 pub grouping
: *mut ::c_char
,
418 pub int_curr_symbol
: *mut ::c_char
,
419 pub currency_symbol
: *mut ::c_char
,
420 pub mon_decimal_point
: *mut ::c_char
,
421 pub mon_thousands_sep
: *mut ::c_char
,
422 pub mon_grouping
: *mut ::c_char
,
423 pub positive_sign
: *mut ::c_char
,
424 pub negative_sign
: *mut ::c_char
,
425 pub int_frac_digits
: ::c_char
,
426 pub frac_digits
: ::c_char
,
427 pub p_cs_precedes
: ::c_char
,
428 pub p_sep_by_space
: ::c_char
,
429 pub n_cs_precedes
: ::c_char
,
430 pub n_sep_by_space
: ::c_char
,
431 pub p_sign_posn
: ::c_char
,
432 pub n_sign_posn
: ::c_char
,
433 pub int_p_cs_precedes
: ::c_char
,
434 pub int_p_sep_by_space
: ::c_char
,
435 pub int_n_cs_precedes
: ::c_char
,
436 pub int_n_sep_by_space
: ::c_char
,
437 pub int_p_sign_posn
: ::c_char
,
438 pub int_n_sign_posn
: ::c_char
,
441 pub struct rlimit64
{
442 pub rlim_cur
: rlim64_t
,
443 pub rlim_max
: rlim64_t
,
447 pub gl_pathc
: ::size_t
,
448 pub gl_pathv
: *mut *mut c_char
,
449 pub gl_offs
: ::size_t
,
450 pub gl_flags
: ::c_int
,
452 __unused1
: *mut ::c_void
,
453 __unused2
: *mut ::c_void
,
454 __unused3
: *mut ::c_void
,
455 __unused4
: *mut ::c_void
,
456 __unused5
: *mut ::c_void
,
460 pub ifa_next
: *mut ifaddrs
,
461 pub ifa_name
: *mut c_char
,
462 pub ifa_flags
: ::c_uint
,
463 pub ifa_addr
: *mut ::sockaddr
,
464 pub ifa_netmask
: *mut ::sockaddr
,
465 pub ifa_ifu
: *mut ::sockaddr
, // FIXME This should be a union
466 pub ifa_data
: *mut ::c_void
470 pub pw_name
: *mut ::c_char
,
471 pub pw_passwd
: *mut ::c_char
,
474 pub pw_gecos
: *mut ::c_char
,
475 pub pw_dir
: *mut ::c_char
,
476 pub pw_shell
: *mut ::c_char
,
480 pub sp_namp
: *mut ::c_char
,
481 pub sp_pwdp
: *mut ::c_char
,
482 pub sp_lstchg
: ::c_long
,
483 pub sp_min
: ::c_long
,
484 pub sp_max
: ::c_long
,
485 pub sp_warn
: ::c_long
,
486 pub sp_inact
: ::c_long
,
487 pub sp_expire
: ::c_long
,
488 pub sp_flag
: ::c_ulong
,
492 pub f_bsize
: ::c_ulong
,
493 pub f_frsize
: ::c_ulong
,
494 pub f_blocks
: ::fsblkcnt_t
,
495 pub f_bfree
: ::fsblkcnt_t
,
496 pub f_bavail
: ::fsblkcnt_t
,
497 pub f_files
: ::fsfilcnt_t
,
498 pub f_ffree
: ::fsfilcnt_t
,
499 pub f_favail
: ::fsfilcnt_t
,
500 #[cfg(target_endian = "little")]
501 pub f_fsid
: ::c_ulong
,
502 #[cfg(all(target_pointer_width = "32", not(target_arch = "x86_64")))]
504 #[cfg(target_endian = "big")]
505 pub f_fsid
: ::c_ulong
,
506 pub f_flag
: ::c_ulong
,
507 pub f_namemax
: ::c_ulong
,
508 __f_spare
: [::c_int
; 6],
512 pub dqb_bhardlimit
: u64,
513 pub dqb_bsoftlimit
: u64,
514 pub dqb_curspace
: u64,
515 pub dqb_ihardlimit
: u64,
516 pub dqb_isoftlimit
: u64,
517 pub dqb_curinodes
: u64,
523 pub struct signalfd_siginfo
{
532 pub ssi_overrun
: u32,
540 pub ssi_addr_lsb
: u16,
542 pub ssi_syscall
: i32,
543 pub ssi_call_addr
: u64,
548 pub struct itimerspec
{
549 pub it_interval
: ::timespec
,
550 pub it_value
: ::timespec
,
557 pub struct cpu_set_t
{
558 #[cfg(all(target_pointer_width = "32",
559 not(target_arch
= "x86_64")))]
561 #[cfg(not(all(target_pointer_width = "32",
562 not(target_arch
= "x86_64"))))]
566 pub struct if_nameindex
{
567 pub if_index
: ::c_uint
,
568 pub if_name
: *mut ::c_char
,
573 pub msgpool
: ::c_int
,
580 pub msgseg
: ::c_ushort
,
584 pub msg_hdr
: ::msghdr
,
585 pub msg_len
: ::c_uint
,
589 pub sem_num
: ::c_ushort
,
590 pub sem_op
: ::c_short
,
591 pub sem_flg
: ::c_short
,
594 pub struct input_event
{
601 pub struct input_id
{
602 pub bustype
: ::__u16
,
604 pub product
: ::__u16
,
605 pub version
: ::__u16
,
608 pub struct input_absinfo
{
610 pub minimum
: ::__s32
,
611 pub maximum
: ::__s32
,
614 pub resolution
: ::__s32
,
617 pub struct input_keymap_entry
{
621 pub keycode
: ::__u32
,
622 pub scancode
: [::__u8
; 32],
625 pub struct input_mask
{
627 pub codes_size
: ::__u32
,
628 pub codes_ptr
: ::__u64
,
631 pub struct ff_replay
{
636 pub struct ff_trigger
{
638 pub interval
: ::__u16
,
641 pub struct ff_envelope
{
642 pub attack_length
: ::__u16
,
643 pub attack_level
: ::__u16
,
644 pub fade_length
: ::__u16
,
645 pub fade_level
: ::__u16
,
648 pub struct ff_constant_effect
{
650 pub envelope
: ff_envelope
,
653 pub struct ff_ramp_effect
{
654 pub start_level
: ::__s16
,
655 pub end_level
: ::__s16
,
656 pub envelope
: ff_envelope
,
659 pub struct ff_condition_effect
{
660 pub right_saturation
: ::__u16
,
661 pub left_saturation
: ::__u16
,
663 pub right_coeff
: ::__s16
,
664 pub left_coeff
: ::__s16
,
666 pub deadband
: ::__u16
,
670 pub struct ff_periodic_effect
{
671 pub waveform
: ::__u16
,
673 pub magnitude
: ::__s16
,
677 pub envelope
: ff_envelope
,
679 pub custom_len
: ::__u32
,
680 pub custom_data
: *mut ::__s16
,
683 pub struct ff_rumble_effect
{
684 pub strong_magnitude
: ::__u16
,
685 pub weak_magnitude
: ::__u16
,
688 pub struct ff_effect
{
691 pub direction
: ::__u16
,
692 pub trigger
: ff_trigger
,
693 pub replay
: ff_replay
,
694 // FIXME this is actually a union
695 #[cfg(target_pointer_width = "64")]
697 #[cfg(target_pointer_width = "32")]
701 pub struct dl_phdr_info
{
702 #[cfg(target_pointer_width = "64")]
703 pub dlpi_addr
: Elf64_Addr
,
704 #[cfg(target_pointer_width = "32")]
705 pub dlpi_addr
: Elf32_Addr
,
707 pub dlpi_name
: *const ::c_char
,
709 #[cfg(target_pointer_width = "64")]
710 pub dlpi_phdr
: *const Elf64_Phdr
,
711 #[cfg(target_pointer_width = "32")]
712 pub dlpi_phdr
: *const Elf32_Phdr
,
714 #[cfg(target_pointer_width = "64")]
715 pub dlpi_phnum
: Elf64_Half
,
716 #[cfg(target_pointer_width = "32")]
717 pub dlpi_phnum
: Elf32_Half
,
719 pub dlpi_adds
: ::c_ulonglong
,
720 pub dlpi_subs
: ::c_ulonglong
,
721 pub dlpi_tls_modid
: ::size_t
,
722 pub dlpi_tls_data
: *mut ::c_void
,
725 pub struct Elf32_Phdr
{
726 pub p_type
: Elf32_Word
,
727 pub p_offset
: Elf32_Off
,
728 pub p_vaddr
: Elf32_Addr
,
729 pub p_paddr
: Elf32_Addr
,
730 pub p_filesz
: Elf32_Word
,
731 pub p_memsz
: Elf32_Word
,
732 pub p_flags
: Elf32_Word
,
733 pub p_align
: Elf32_Word
,
736 pub struct Elf64_Phdr
{
737 pub p_type
: Elf64_Word
,
738 pub p_flags
: Elf64_Word
,
739 pub p_offset
: Elf64_Off
,
740 pub p_vaddr
: Elf64_Addr
,
741 pub p_paddr
: Elf64_Addr
,
742 pub p_filesz
: Elf64_Xword
,
743 pub p_memsz
: Elf64_Xword
,
744 pub p_align
: Elf64_Xword
,
747 pub struct statfs64
{
748 pub f_type
: ::c_ulong
,
749 pub f_bsize
: ::c_ulong
,
750 pub f_blocks
: ::fsblkcnt_t
,
751 pub f_bfree
: ::fsblkcnt_t
,
752 pub f_bavail
: ::fsblkcnt_t
,
753 pub f_files
: ::fsfilcnt_t
,
754 pub f_ffree
: ::fsfilcnt_t
,
755 pub f_fsid
: ::fsid_t
,
756 pub f_namelen
: ::c_ulong
,
757 pub f_frsize
: ::c_ulong
,
758 pub f_flags
: ::c_ulong
,
759 pub f_spare
: [::c_ulong
; 4],
762 pub struct statvfs64
{
763 pub f_bsize
: ::c_ulong
,
764 pub f_frsize
: ::c_ulong
,
771 pub f_fsid
: ::c_ulong
,
772 pub f_flag
: ::c_ulong
,
773 pub f_namemax
: ::c_ulong
,
774 __f_spare
: [::c_int
; 6],
778 pub ss_sp
: *mut ::c_void
,
779 pub ss_flags
: ::c_int
,
780 pub ss_size
: ::size_t
783 pub struct pthread_attr_t
{
787 pub struct sigset_t
{
788 __val
: [::c_ulong
; 16],
791 pub struct shmid_ds
{
792 pub shm_perm
: ::ipc_perm
,
793 pub shm_segsz
: ::size_t
,
794 pub shm_atime
: ::time_t
,
795 pub shm_dtime
: ::time_t
,
796 pub shm_ctime
: ::time_t
,
797 pub shm_cpid
: ::pid_t
,
798 pub shm_lpid
: ::pid_t
,
799 pub shm_nattch
: ::c_ulong
,
804 pub struct msqid_ds
{
805 pub msg_perm
: ::ipc_perm
,
806 pub msg_stime
: ::time_t
,
807 pub msg_rtime
: ::time_t
,
808 pub msg_ctime
: ::time_t
,
809 __msg_cbytes
: ::c_ulong
,
810 pub msg_qnum
: ::msgqnum_t
,
811 pub msg_qbytes
: ::msglen_t
,
812 pub msg_lspid
: ::pid_t
,
813 pub msg_lrpid
: ::pid_t
,
819 pub f_type
: ::c_ulong
,
820 pub f_bsize
: ::c_ulong
,
821 pub f_blocks
: ::fsblkcnt_t
,
822 pub f_bfree
: ::fsblkcnt_t
,
823 pub f_bavail
: ::fsblkcnt_t
,
824 pub f_files
: ::fsfilcnt_t
,
825 pub f_ffree
: ::fsfilcnt_t
,
826 pub f_fsid
: ::fsid_t
,
827 pub f_namelen
: ::c_ulong
,
828 pub f_frsize
: ::c_ulong
,
829 pub f_flags
: ::c_ulong
,
830 pub f_spare
: [::c_ulong
; 4],
834 pub msg_name
: *mut ::c_void
,
835 pub msg_namelen
: ::socklen_t
,
836 pub msg_iov
: *mut ::iovec
,
837 pub msg_iovlen
: ::c_int
,
839 pub msg_control
: *mut ::c_void
,
840 pub msg_controllen
: ::socklen_t
,
842 pub msg_flags
: ::c_int
,
846 pub cmsg_len
: ::socklen_t
,
848 pub cmsg_level
: ::c_int
,
849 pub cmsg_type
: ::c_int
,
856 pub struct siginfo_t
{
857 pub si_signo
: ::c_int
,
858 pub si_errno
: ::c_int
,
859 pub si_code
: ::c_int
,
860 pub _pad
: [::c_int
; 29],
864 pub struct termios2
{
865 pub c_iflag
: ::tcflag_t
,
866 pub c_oflag
: ::tcflag_t
,
867 pub c_cflag
: ::tcflag_t
,
868 pub c_lflag
: ::tcflag_t
,
870 pub c_cc
: [::cc_t
; 19],
871 pub c_ispeed
: ::speed_t
,
872 pub c_ospeed
: ::speed_t
,
878 pub uptime
: ::c_ulong
,
879 pub loads
: [::c_ulong
; 3],
880 pub totalram
: ::c_ulong
,
881 pub freeram
: ::c_ulong
,
882 pub sharedram
: ::c_ulong
,
883 pub bufferram
: ::c_ulong
,
884 pub totalswap
: ::c_ulong
,
885 pub freeswap
: ::c_ulong
,
886 pub procs
: ::c_ushort
,
888 pub totalhigh
: ::c_ulong
,
889 pub freehigh
: ::c_ulong
,
890 pub mem_unit
: ::c_uint
,
891 pub __reserved
: [::c_char
; 256],
894 pub struct sockaddr_un
{
895 pub sun_family
: sa_family_t
,
896 pub sun_path
: [::c_char
; 108]
899 pub struct sockaddr_storage
{
900 pub ss_family
: sa_family_t
,
901 __ss_align
: ::size_t
,
902 __ss_pad2
: [u8; 128 - 2 * 8],
906 pub sysname
: [::c_char
; 65],
907 pub nodename
: [::c_char
; 65],
908 pub release
: [::c_char
; 65],
909 pub version
: [::c_char
; 65],
910 pub machine
: [::c_char
; 65],
911 pub domainname
: [::c_char
; 65]
917 pub d_reclen
: ::c_ushort
,
918 pub d_type
: ::c_uchar
,
919 pub d_name
: [::c_char
; 256],
922 pub struct dirent64
{
923 pub d_ino
: ::ino64_t
,
924 pub d_off
: ::off64_t
,
925 pub d_reclen
: ::c_ushort
,
926 pub d_type
: ::c_uchar
,
927 pub d_name
: [::c_char
; 256],
931 // See https://sourceware.org/bugzilla/show_bug.cgi?id=21279
933 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
935 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
937 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
939 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
941 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
944 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
945 pub mq_flags
: ::c_long
,
946 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
947 pub mq_maxmsg
: ::c_long
,
948 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
949 pub mq_msgsize
: ::c_long
,
950 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
951 pub mq_curmsgs
: ::c_long
,
952 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
956 pub struct sockaddr_nl
{
957 pub nl_family
: ::sa_family_t
,
963 pub struct sigevent
{
964 pub sigev_value
: ::sigval
,
965 pub sigev_signo
: ::c_int
,
966 pub sigev_notify
: ::c_int
,
967 pub sigev_notify_function
: fn(::sigval
),
968 pub sigev_notify_attributes
: *mut pthread_attr_t
,
969 pub __pad
: [::c_char
; 56 - 3 * 8 /* 8 == sizeof(long) */],
974 if #[cfg(feature = "extra_traits")] {
975 impl PartialEq
for sysinfo
{
976 fn eq(&self, other
: &sysinfo
) -> bool
{
977 self.uptime
== other
.uptime
978 && self.loads
== other
.loads
979 && self.totalram
== other
.totalram
980 && self.freeram
== other
.freeram
981 && self.sharedram
== other
.sharedram
982 && self.bufferram
== other
.bufferram
983 && self.totalswap
== other
.totalswap
984 && self.freeswap
== other
.freeswap
985 && self.procs
== other
.procs
986 && self.pad
== other
.pad
987 && self.totalhigh
== other
.totalhigh
988 && self.freehigh
== other
.freehigh
989 && self.mem_unit
== other
.mem_unit
993 .zip(other
.__reserved
.iter())
997 impl Eq
for sysinfo {}
998 impl ::fmt
::Debug
for sysinfo
{
999 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1000 f
.debug_struct("sysinfo")
1001 .field("uptime", &self.uptime
)
1002 .field("loads", &self.loads
)
1003 .field("totalram", &self.totalram
)
1004 .field("freeram", &self.freeram
)
1005 .field("sharedram", &self.sharedram
)
1006 .field("bufferram", &self.bufferram
)
1007 .field("totalswap", &self.totalswap
)
1008 .field("freeswap", &self.freeswap
)
1009 .field("procs", &self.procs
)
1010 .field("pad", &self.pad
)
1011 .field("totalhigh", &self.totalhigh
)
1012 .field("freehigh", &self.freehigh
)
1013 .field("mem_unit", &self.mem_unit
)
1014 // FIXME: .field("__reserved", &self.__reserved)
1018 impl ::hash
::Hash
for sysinfo
{
1019 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1020 self.uptime
.hash(state
);
1021 self.loads
.hash(state
);
1022 self.totalram
.hash(state
);
1023 self.freeram
.hash(state
);
1024 self.sharedram
.hash(state
);
1025 self.bufferram
.hash(state
);
1026 self.totalswap
.hash(state
);
1027 self.freeswap
.hash(state
);
1028 self.procs
.hash(state
);
1029 self.pad
.hash(state
);
1030 self.totalhigh
.hash(state
);
1031 self.freehigh
.hash(state
);
1032 self.mem_unit
.hash(state
);
1033 self.__reserved
.hash(state
);
1037 impl PartialEq
for sockaddr_un
{
1038 fn eq(&self, other
: &sockaddr_un
) -> bool
{
1039 self.sun_family
== other
.sun_family
1043 .zip(other
.sun_path
.iter())
1044 .all(|(a
,b
)| a
== b
)
1047 impl Eq
for sockaddr_un {}
1048 impl ::fmt
::Debug
for sockaddr_un
{
1049 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1050 f
.debug_struct("sockaddr_un")
1051 .field("sun_family", &self.sun_family
)
1052 // FIXME: .field("sun_path", &self.sun_path)
1056 impl ::hash
::Hash
for sockaddr_un
{
1057 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1058 self.sun_family
.hash(state
);
1059 self.sun_path
.hash(state
);
1063 impl PartialEq
for sockaddr_storage
{
1064 fn eq(&self, other
: &sockaddr_storage
) -> bool
{
1065 self.ss_family
== other
.ss_family
1066 && self.__ss_align
== other
.__ss_align
1070 .zip(other
.__ss_pad2
.iter())
1071 .all(|(a
, b
)| a
== b
)
1074 impl Eq
for sockaddr_storage {}
1075 impl ::fmt
::Debug
for sockaddr_storage
{
1076 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1077 f
.debug_struct("sockaddr_storage")
1078 .field("ss_family", &self.ss_family
)
1079 .field("__ss_align", &self.__ss_align
)
1080 // FIXME: .field("__ss_pad2", &self.__ss_pad2)
1084 impl ::hash
::Hash
for sockaddr_storage
{
1085 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1086 self.ss_family
.hash(state
);
1087 self.__ss_align
.hash(state
);
1088 self.__ss_pad2
.hash(state
);
1092 impl PartialEq
for utsname
{
1093 fn eq(&self, other
: &utsname
) -> bool
{
1096 .zip(other
.sysname
.iter())
1097 .all(|(a
,b
)| a
== b
)
1101 .zip(other
.nodename
.iter())
1102 .all(|(a
,b
)| a
== b
)
1106 .zip(other
.release
.iter())
1107 .all(|(a
,b
)| a
== b
)
1111 .zip(other
.version
.iter())
1112 .all(|(a
,b
)| a
== b
)
1116 .zip(other
.machine
.iter())
1117 .all(|(a
,b
)| a
== b
)
1120 impl Eq
for utsname {}
1121 impl ::fmt
::Debug
for utsname
{
1122 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1123 f
.debug_struct("utsname")
1124 // FIXME: .field("sysname", &self.sysname)
1125 // FIXME: .field("nodename", &self.nodename)
1126 // FIXME: .field("release", &self.release)
1127 // FIXME: .field("version", &self.version)
1128 // FIXME: .field("machine", &self.machine)
1132 impl ::hash
::Hash
for utsname
{
1133 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1134 self.sysname
.hash(state
);
1135 self.nodename
.hash(state
);
1136 self.release
.hash(state
);
1137 self.version
.hash(state
);
1138 self.machine
.hash(state
);
1142 impl PartialEq
for dirent
{
1143 fn eq(&self, other
: &dirent
) -> bool
{
1144 self.d_ino
== other
.d_ino
1145 && self.d_off
== other
.d_off
1146 && self.d_reclen
== other
.d_reclen
1147 && self.d_type
== other
.d_type
1151 .zip(other
.d_name
.iter())
1152 .all(|(a
,b
)| a
== b
)
1155 impl Eq
for dirent {}
1156 impl ::fmt
::Debug
for dirent
{
1157 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1158 f
.debug_struct("dirent")
1159 .field("d_ino", &self.d_ino
)
1160 .field("d_off", &self.d_off
)
1161 .field("d_reclen", &self.d_reclen
)
1162 .field("d_type", &self.d_type
)
1163 // FIXME: .field("d_name", &self.d_name)
1167 impl ::hash
::Hash
for dirent
{
1168 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1169 self.d_ino
.hash(state
);
1170 self.d_off
.hash(state
);
1171 self.d_reclen
.hash(state
);
1172 self.d_type
.hash(state
);
1173 self.d_name
.hash(state
);
1177 impl PartialEq
for dirent64
{
1178 fn eq(&self, other
: &dirent64
) -> bool
{
1179 self.d_ino
== other
.d_ino
1180 && self.d_off
== other
.d_off
1181 && self.d_reclen
== other
.d_reclen
1182 && self.d_type
== other
.d_type
1186 .zip(other
.d_name
.iter())
1187 .all(|(a
,b
)| a
== b
)
1190 impl Eq
for dirent64 {}
1191 impl ::fmt
::Debug
for dirent64
{
1192 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1193 f
.debug_struct("dirent64")
1194 .field("d_ino", &self.d_ino
)
1195 .field("d_off", &self.d_off
)
1196 .field("d_reclen", &self.d_reclen
)
1197 .field("d_type", &self.d_type
)
1198 // FIXME: .field("d_name", &self.d_name)
1202 impl ::hash
::Hash
for dirent64
{
1203 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1204 self.d_ino
.hash(state
);
1205 self.d_off
.hash(state
);
1206 self.d_reclen
.hash(state
);
1207 self.d_type
.hash(state
);
1208 self.d_name
.hash(state
);
1212 impl PartialEq
for mq_attr
{
1213 fn eq(&self, other
: &mq_attr
) -> bool
{
1214 self.mq_flags
== other
.mq_flags
&&
1215 self.mq_maxmsg
== other
.mq_maxmsg
&&
1216 self.mq_msgsize
== other
.mq_msgsize
&&
1217 self.mq_curmsgs
== other
.mq_curmsgs
1220 impl Eq
for mq_attr {}
1221 impl ::fmt
::Debug
for mq_attr
{
1222 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1223 f
.debug_struct("mq_attr")
1224 .field("mq_flags", &self.mq_flags
)
1225 .field("mq_maxmsg", &self.mq_maxmsg
)
1226 .field("mq_msgsize", &self.mq_msgsize
)
1227 .field("mq_curmsgs", &self.mq_curmsgs
)
1231 impl ::hash
::Hash
for mq_attr
{
1232 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1233 self.mq_flags
.hash(state
);
1234 self.mq_maxmsg
.hash(state
);
1235 self.mq_msgsize
.hash(state
);
1236 self.mq_curmsgs
.hash(state
);
1240 impl PartialEq
for sockaddr_nl
{
1241 fn eq(&self, other
: &sockaddr_nl
) -> bool
{
1242 self.nl_family
== other
.nl_family
&&
1243 self.nl_pid
== other
.nl_pid
&&
1244 self.nl_groups
== other
.nl_groups
1247 impl Eq
for sockaddr_nl {}
1248 impl ::fmt
::Debug
for sockaddr_nl
{
1249 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1250 f
.debug_struct("sockaddr_nl")
1251 .field("nl_family", &self.nl_family
)
1252 .field("nl_pid", &self.nl_pid
)
1253 .field("nl_groups", &self.nl_groups
)
1257 impl ::hash
::Hash
for sockaddr_nl
{
1258 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1259 self.nl_family
.hash(state
);
1260 self.nl_pid
.hash(state
);
1261 self.nl_groups
.hash(state
);
1265 impl PartialEq
for sigevent
{
1266 fn eq(&self, other
: &sigevent
) -> bool
{
1267 self.sigev_value
== other
.sigev_value
1268 && self.sigev_signo
== other
.sigev_signo
1269 && self.sigev_notify
== other
.sigev_notify
1270 && self.sigev_notify_function
1271 == other
.sigev_notify_function
1272 && self.sigev_notify_attributes
1273 == other
.sigev_notify_attributes
1276 impl Eq
for sigevent {}
1277 impl ::fmt
::Debug
for sigevent
{
1278 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1279 f
.debug_struct("sigevent")
1280 .field("sigev_value", &self.sigev_value
)
1281 .field("sigev_signo", &self.sigev_signo
)
1282 .field("sigev_notify", &self.sigev_notify
)
1283 .field("sigev_notify_function", &self.sigev_notify_function
)
1284 .field("sigev_notify_attributes",
1285 &self.sigev_notify_attributes
)
1289 impl ::hash
::Hash
for sigevent
{
1290 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1291 self.sigev_value
.hash(state
);
1292 self.sigev_signo
.hash(state
);
1293 self.sigev_notify
.hash(state
);
1294 self.sigev_notify_function
.hash(state
);
1295 self.sigev_notify_attributes
.hash(state
);
1303 pub const INT_MIN
: c_int
= -2147483648;
1304 pub const INT_MAX
: c_int
= 2147483647;
1306 pub const SIG_DFL
: sighandler_t
= 0 as sighandler_t
;
1307 pub const SIG_IGN
: sighandler_t
= 1 as sighandler_t
;
1308 pub const SIG_ERR
: sighandler_t
= !0 as sighandler_t
;
1310 pub const DT_FIFO
: u8 = 1;
1311 pub const DT_CHR
: u8 = 2;
1312 pub const DT_DIR
: u8 = 4;
1313 pub const DT_BLK
: u8 = 6;
1314 pub const DT_REG
: u8 = 8;
1315 pub const DT_LNK
: u8 = 10;
1316 pub const DT_SOCK
: u8 = 12;
1318 pub const FD_CLOEXEC
: ::c_int
= 0x1;
1320 pub const USRQUOTA
: ::c_int
= 0;
1321 pub const GRPQUOTA
: ::c_int
= 1;
1323 pub const SIGIOT
: ::c_int
= 6;
1325 pub const S_ISUID
: ::c_int
= 0x800;
1326 pub const S_ISGID
: ::c_int
= 0x400;
1327 pub const S_ISVTX
: ::c_int
= 0x200;
1329 pub const IF_NAMESIZE
: ::size_t
= 16;
1331 pub const LOG_EMERG
: ::c_int
= 0;
1332 pub const LOG_ALERT
: ::c_int
= 1;
1333 pub const LOG_CRIT
: ::c_int
= 2;
1334 pub const LOG_ERR
: ::c_int
= 3;
1335 pub const LOG_WARNING
: ::c_int
= 4;
1336 pub const LOG_NOTICE
: ::c_int
= 5;
1337 pub const LOG_INFO
: ::c_int
= 6;
1338 pub const LOG_DEBUG
: ::c_int
= 7;
1340 pub const LOG_KERN
: ::c_int
= 0;
1341 pub const LOG_USER
: ::c_int
= 1 << 3;
1342 pub const LOG_MAIL
: ::c_int
= 2 << 3;
1343 pub const LOG_DAEMON
: ::c_int
= 3 << 3;
1344 pub const LOG_AUTH
: ::c_int
= 4 << 3;
1345 pub const LOG_SYSLOG
: ::c_int
= 5 << 3;
1346 pub const LOG_LPR
: ::c_int
= 6 << 3;
1347 pub const LOG_NEWS
: ::c_int
= 7 << 3;
1348 pub const LOG_UUCP
: ::c_int
= 8 << 3;
1349 pub const LOG_LOCAL0
: ::c_int
= 16 << 3;
1350 pub const LOG_LOCAL1
: ::c_int
= 17 << 3;
1351 pub const LOG_LOCAL2
: ::c_int
= 18 << 3;
1352 pub const LOG_LOCAL3
: ::c_int
= 19 << 3;
1353 pub const LOG_LOCAL4
: ::c_int
= 20 << 3;
1354 pub const LOG_LOCAL5
: ::c_int
= 21 << 3;
1355 pub const LOG_LOCAL6
: ::c_int
= 22 << 3;
1356 pub const LOG_LOCAL7
: ::c_int
= 23 << 3;
1358 pub const LOG_PID
: ::c_int
= 0x01;
1359 pub const LOG_CONS
: ::c_int
= 0x02;
1360 pub const LOG_ODELAY
: ::c_int
= 0x04;
1361 pub const LOG_NDELAY
: ::c_int
= 0x08;
1362 pub const LOG_NOWAIT
: ::c_int
= 0x10;
1364 pub const LOG_PRIMASK
: ::c_int
= 7;
1365 pub const LOG_FACMASK
: ::c_int
= 0x3f8;
1367 pub const PRIO_PROCESS
: ::c_int
= 0;
1368 pub const PRIO_PGRP
: ::c_int
= 1;
1369 pub const PRIO_USER
: ::c_int
= 2;
1371 pub const PRIO_MIN
: ::c_int
= -20;
1372 pub const PRIO_MAX
: ::c_int
= 20;
1374 pub const IPPROTO_ICMP
: ::c_int
= 1;
1375 pub const IPPROTO_ICMPV6
: ::c_int
= 58;
1376 pub const IPPROTO_TCP
: ::c_int
= 6;
1377 pub const IPPROTO_UDP
: ::c_int
= 17;
1378 pub const IPPROTO_IP
: ::c_int
= 0;
1379 pub const IPPROTO_IPV6
: ::c_int
= 41;
1381 pub const INADDR_LOOPBACK
: in_addr_t
= 2130706433;
1382 pub const INADDR_ANY
: in_addr_t
= 0;
1383 pub const INADDR_BROADCAST
: in_addr_t
= 4294967295;
1384 pub const INADDR_NONE
: in_addr_t
= 4294967295;
1386 pub const EXIT_FAILURE
: ::c_int
= 1;
1387 pub const EXIT_SUCCESS
: ::c_int
= 0;
1388 pub const RAND_MAX
: ::c_int
= 2147483647;
1389 pub const EOF
: ::c_int
= -1;
1390 pub const SEEK_SET
: ::c_int
= 0;
1391 pub const SEEK_CUR
: ::c_int
= 1;
1392 pub const SEEK_END
: ::c_int
= 2;
1393 pub const _IOFBF
: ::c_int
= 0;
1394 pub const _IONBF
: ::c_int
= 2;
1395 pub const _IOLBF
: ::c_int
= 1;
1397 pub const F_DUPFD
: ::c_int
= 0;
1398 pub const F_GETFD
: ::c_int
= 1;
1399 pub const F_SETFD
: ::c_int
= 2;
1400 pub const F_GETFL
: ::c_int
= 3;
1401 pub const F_SETFL
: ::c_int
= 4;
1403 // Linux-specific fcntls
1404 pub const F_SETLEASE
: ::c_int
= 1024;
1405 pub const F_GETLEASE
: ::c_int
= 1025;
1406 pub const F_NOTIFY
: ::c_int
= 1026;
1407 pub const F_CANCELLK
: ::c_int
= 1029;
1408 pub const F_DUPFD_CLOEXEC
: ::c_int
= 1030;
1409 pub const F_SETPIPE_SZ
: ::c_int
= 1031;
1410 pub const F_GETPIPE_SZ
: ::c_int
= 1032;
1411 pub const F_ADD_SEALS
: ::c_int
= 1033;
1412 pub const F_GET_SEALS
: ::c_int
= 1034;
1414 pub const F_SEAL_SEAL
: ::c_int
= 0x0001;
1415 pub const F_SEAL_SHRINK
: ::c_int
= 0x0002;
1416 pub const F_SEAL_GROW
: ::c_int
= 0x0004;
1417 pub const F_SEAL_WRITE
: ::c_int
= 0x0008;
1419 // FIXME(#235): Include file sealing fcntls once we have a way to verify them.
1421 pub const SIGTRAP
: ::c_int
= 5;
1423 pub const PTHREAD_CREATE_JOINABLE
: ::c_int
= 0;
1424 pub const PTHREAD_CREATE_DETACHED
: ::c_int
= 1;
1426 pub const CLOCK_REALTIME
: ::clockid_t
= 0;
1427 pub const CLOCK_MONOTONIC
: ::clockid_t
= 1;
1428 pub const CLOCK_PROCESS_CPUTIME_ID
: ::clockid_t
= 2;
1429 pub const CLOCK_THREAD_CPUTIME_ID
: ::clockid_t
= 3;
1430 pub const CLOCK_MONOTONIC_RAW
: ::clockid_t
= 4;
1431 pub const CLOCK_REALTIME_COARSE
: ::clockid_t
= 5;
1432 pub const CLOCK_MONOTONIC_COARSE
: ::clockid_t
= 6;
1433 pub const CLOCK_BOOTTIME
: ::clockid_t
= 7;
1434 pub const CLOCK_REALTIME_ALARM
: ::clockid_t
= 8;
1435 pub const CLOCK_BOOTTIME_ALARM
: ::clockid_t
= 9;
1436 pub const CLOCK_SGI_CYCLE
: ::clockid_t
= 10;
1437 pub const CLOCK_TAI
: ::clockid_t
= 11;
1438 pub const TIMER_ABSTIME
: ::c_int
= 1;
1440 pub const RLIMIT_CPU
: ::c_int
= 0;
1441 pub const RLIMIT_FSIZE
: ::c_int
= 1;
1442 pub const RLIMIT_DATA
: ::c_int
= 2;
1443 pub const RLIMIT_STACK
: ::c_int
= 3;
1444 pub const RLIMIT_CORE
: ::c_int
= 4;
1445 pub const RLIMIT_LOCKS
: ::c_int
= 10;
1446 pub const RLIMIT_SIGPENDING
: ::c_int
= 11;
1447 pub const RLIMIT_MSGQUEUE
: ::c_int
= 12;
1448 pub const RLIMIT_NICE
: ::c_int
= 13;
1449 pub const RLIMIT_RTPRIO
: ::c_int
= 14;
1451 pub const RUSAGE_SELF
: ::c_int
= 0;
1453 pub const O_RDONLY
: ::c_int
= 0;
1454 pub const O_WRONLY
: ::c_int
= 1;
1455 pub const O_RDWR
: ::c_int
= 2;
1457 pub const SOCK_CLOEXEC
: ::c_int
= O_CLOEXEC
;
1459 pub const S_IFIFO
: ::mode_t
= 4096;
1460 pub const S_IFCHR
: ::mode_t
= 8192;
1461 pub const S_IFBLK
: ::mode_t
= 24576;
1462 pub const S_IFDIR
: ::mode_t
= 16384;
1463 pub const S_IFREG
: ::mode_t
= 32768;
1464 pub const S_IFLNK
: ::mode_t
= 40960;
1465 pub const S_IFSOCK
: ::mode_t
= 49152;
1466 pub const S_IFMT
: ::mode_t
= 61440;
1467 pub const S_IRWXU
: ::mode_t
= 448;
1468 pub const S_IXUSR
: ::mode_t
= 64;
1469 pub const S_IWUSR
: ::mode_t
= 128;
1470 pub const S_IRUSR
: ::mode_t
= 256;
1471 pub const S_IRWXG
: ::mode_t
= 56;
1472 pub const S_IXGRP
: ::mode_t
= 8;
1473 pub const S_IWGRP
: ::mode_t
= 16;
1474 pub const S_IRGRP
: ::mode_t
= 32;
1475 pub const S_IRWXO
: ::mode_t
= 7;
1476 pub const S_IXOTH
: ::mode_t
= 1;
1477 pub const S_IWOTH
: ::mode_t
= 2;
1478 pub const S_IROTH
: ::mode_t
= 4;
1479 pub const F_OK
: ::c_int
= 0;
1480 pub const R_OK
: ::c_int
= 4;
1481 pub const W_OK
: ::c_int
= 2;
1482 pub const X_OK
: ::c_int
= 1;
1483 pub const STDIN_FILENO
: ::c_int
= 0;
1484 pub const STDOUT_FILENO
: ::c_int
= 1;
1485 pub const STDERR_FILENO
: ::c_int
= 2;
1486 pub const SIGHUP
: ::c_int
= 1;
1487 pub const SIGINT
: ::c_int
= 2;
1488 pub const SIGQUIT
: ::c_int
= 3;
1489 pub const SIGILL
: ::c_int
= 4;
1490 pub const SIGABRT
: ::c_int
= 6;
1491 pub const SIGFPE
: ::c_int
= 8;
1492 pub const SIGKILL
: ::c_int
= 9;
1493 pub const SIGSEGV
: ::c_int
= 11;
1494 pub const SIGPIPE
: ::c_int
= 13;
1495 pub const SIGALRM
: ::c_int
= 14;
1496 pub const SIGTERM
: ::c_int
= 15;
1498 pub const PROT_NONE
: ::c_int
= 0;
1499 pub const PROT_READ
: ::c_int
= 1;
1500 pub const PROT_WRITE
: ::c_int
= 2;
1501 pub const PROT_EXEC
: ::c_int
= 4;
1503 pub const LC_CTYPE
: ::c_int
= 0;
1504 pub const LC_NUMERIC
: ::c_int
= 1;
1505 pub const LC_TIME
: ::c_int
= 2;
1506 pub const LC_COLLATE
: ::c_int
= 3;
1507 pub const LC_MONETARY
: ::c_int
= 4;
1508 pub const LC_MESSAGES
: ::c_int
= 5;
1509 pub const LC_ALL
: ::c_int
= 6;
1510 pub const LC_CTYPE_MASK
: ::c_int
= 1 << LC_CTYPE
;
1511 pub const LC_NUMERIC_MASK
: ::c_int
= 1 << LC_NUMERIC
;
1512 pub const LC_TIME_MASK
: ::c_int
= 1 << LC_TIME
;
1513 pub const LC_COLLATE_MASK
: ::c_int
= 1 << LC_COLLATE
;
1514 pub const LC_MONETARY_MASK
: ::c_int
= 1 << LC_MONETARY
;
1515 pub const LC_MESSAGES_MASK
: ::c_int
= 1 << LC_MESSAGES
;
1516 // LC_ALL_MASK defined per platform
1518 pub const MAP_FILE
: ::c_int
= 0x0000;
1519 pub const MAP_SHARED
: ::c_int
= 0x0001;
1520 pub const MAP_PRIVATE
: ::c_int
= 0x0002;
1521 pub const MAP_FIXED
: ::c_int
= 0x0010;
1523 pub const MAP_FAILED
: *mut ::c_void
= !0 as *mut ::c_void
;
1525 // MS_ flags for msync(2)
1526 pub const MS_ASYNC
: ::c_int
= 0x0001;
1527 pub const MS_INVALIDATE
: ::c_int
= 0x0002;
1528 pub const MS_SYNC
: ::c_int
= 0x0004;
1530 // MS_ flags for mount(2)
1531 pub const MS_RDONLY
: ::c_ulong
= 0x01;
1532 pub const MS_NOSUID
: ::c_ulong
= 0x02;
1533 pub const MS_NODEV
: ::c_ulong
= 0x04;
1534 pub const MS_NOEXEC
: ::c_ulong
= 0x08;
1535 pub const MS_SYNCHRONOUS
: ::c_ulong
= 0x10;
1536 pub const MS_REMOUNT
: ::c_ulong
= 0x20;
1537 pub const MS_MANDLOCK
: ::c_ulong
= 0x40;
1538 pub const MS_DIRSYNC
: ::c_ulong
= 0x80;
1539 pub const MS_NOATIME
: ::c_ulong
= 0x0400;
1540 pub const MS_NODIRATIME
: ::c_ulong
= 0x0800;
1541 pub const MS_BIND
: ::c_ulong
= 0x1000;
1542 pub const MS_MOVE
: ::c_ulong
= 0x2000;
1543 pub const MS_REC
: ::c_ulong
= 0x4000;
1544 pub const MS_SILENT
: ::c_ulong
= 0x8000;
1545 pub const MS_POSIXACL
: ::c_ulong
= 0x010000;
1546 pub const MS_UNBINDABLE
: ::c_ulong
= 0x020000;
1547 pub const MS_PRIVATE
: ::c_ulong
= 0x040000;
1548 pub const MS_SLAVE
: ::c_ulong
= 0x080000;
1549 pub const MS_SHARED
: ::c_ulong
= 0x100000;
1550 pub const MS_RELATIME
: ::c_ulong
= 0x200000;
1551 pub const MS_KERNMOUNT
: ::c_ulong
= 0x400000;
1552 pub const MS_I_VERSION
: ::c_ulong
= 0x800000;
1553 pub const MS_STRICTATIME
: ::c_ulong
= 0x1000000;
1554 pub const MS_ACTIVE
: ::c_ulong
= 0x40000000;
1555 pub const MS_NOUSER
: ::c_ulong
= 0x80000000;
1556 pub const MS_MGC_VAL
: ::c_ulong
= 0xc0ed0000;
1557 pub const MS_MGC_MSK
: ::c_ulong
= 0xffff0000;
1558 pub const MS_RMT_MASK
: ::c_ulong
= 0x800051;
1560 pub const EPERM
: ::c_int
= 1;
1561 pub const ENOENT
: ::c_int
= 2;
1562 pub const ESRCH
: ::c_int
= 3;
1563 pub const EINTR
: ::c_int
= 4;
1564 pub const EIO
: ::c_int
= 5;
1565 pub const ENXIO
: ::c_int
= 6;
1566 pub const E2BIG
: ::c_int
= 7;
1567 pub const ENOEXEC
: ::c_int
= 8;
1568 pub const EBADF
: ::c_int
= 9;
1569 pub const ECHILD
: ::c_int
= 10;
1570 pub const EAGAIN
: ::c_int
= 11;
1571 pub const ENOMEM
: ::c_int
= 12;
1572 pub const EACCES
: ::c_int
= 13;
1573 pub const EFAULT
: ::c_int
= 14;
1574 pub const ENOTBLK
: ::c_int
= 15;
1575 pub const EBUSY
: ::c_int
= 16;
1576 pub const EEXIST
: ::c_int
= 17;
1577 pub const EXDEV
: ::c_int
= 18;
1578 pub const ENODEV
: ::c_int
= 19;
1579 pub const ENOTDIR
: ::c_int
= 20;
1580 pub const EISDIR
: ::c_int
= 21;
1581 pub const EINVAL
: ::c_int
= 22;
1582 pub const ENFILE
: ::c_int
= 23;
1583 pub const EMFILE
: ::c_int
= 24;
1584 pub const ENOTTY
: ::c_int
= 25;
1585 pub const ETXTBSY
: ::c_int
= 26;
1586 pub const EFBIG
: ::c_int
= 27;
1587 pub const ENOSPC
: ::c_int
= 28;
1588 pub const ESPIPE
: ::c_int
= 29;
1589 pub const EROFS
: ::c_int
= 30;
1590 pub const EMLINK
: ::c_int
= 31;
1591 pub const EPIPE
: ::c_int
= 32;
1592 pub const EDOM
: ::c_int
= 33;
1593 pub const ERANGE
: ::c_int
= 34;
1594 pub const EWOULDBLOCK
: ::c_int
= EAGAIN
;
1596 pub const SCM_RIGHTS
: ::c_int
= 0x01;
1597 pub const SCM_CREDENTIALS
: ::c_int
= 0x02;
1599 pub const PROT_GROWSDOWN
: ::c_int
= 0x1000000;
1600 pub const PROT_GROWSUP
: ::c_int
= 0x2000000;
1602 pub const MAP_TYPE
: ::c_int
= 0x000f;
1604 pub const MADV_NORMAL
: ::c_int
= 0;
1605 pub const MADV_RANDOM
: ::c_int
= 1;
1606 pub const MADV_SEQUENTIAL
: ::c_int
= 2;
1607 pub const MADV_WILLNEED
: ::c_int
= 3;
1608 pub const MADV_DONTNEED
: ::c_int
= 4;
1609 pub const MADV_FREE
: ::c_int
= 8;
1610 pub const MADV_REMOVE
: ::c_int
= 9;
1611 pub const MADV_DONTFORK
: ::c_int
= 10;
1612 pub const MADV_DOFORK
: ::c_int
= 11;
1613 pub const MADV_MERGEABLE
: ::c_int
= 12;
1614 pub const MADV_UNMERGEABLE
: ::c_int
= 13;
1615 pub const MADV_HUGEPAGE
: ::c_int
= 14;
1616 pub const MADV_NOHUGEPAGE
: ::c_int
= 15;
1617 pub const MADV_DONTDUMP
: ::c_int
= 16;
1618 pub const MADV_DODUMP
: ::c_int
= 17;
1619 pub const MADV_HWPOISON
: ::c_int
= 100;
1620 pub const MADV_SOFT_OFFLINE
: ::c_int
= 101;
1622 pub const IFF_UP
: ::c_int
= 0x1;
1623 pub const IFF_BROADCAST
: ::c_int
= 0x2;
1624 pub const IFF_DEBUG
: ::c_int
= 0x4;
1625 pub const IFF_LOOPBACK
: ::c_int
= 0x8;
1626 pub const IFF_POINTOPOINT
: ::c_int
= 0x10;
1627 pub const IFF_NOTRAILERS
: ::c_int
= 0x20;
1628 pub const IFF_RUNNING
: ::c_int
= 0x40;
1629 pub const IFF_NOARP
: ::c_int
= 0x80;
1630 pub const IFF_PROMISC
: ::c_int
= 0x100;
1631 pub const IFF_ALLMULTI
: ::c_int
= 0x200;
1632 pub const IFF_MASTER
: ::c_int
= 0x400;
1633 pub const IFF_SLAVE
: ::c_int
= 0x800;
1634 pub const IFF_MULTICAST
: ::c_int
= 0x1000;
1635 pub const IFF_PORTSEL
: ::c_int
= 0x2000;
1636 pub const IFF_AUTOMEDIA
: ::c_int
= 0x4000;
1637 pub const IFF_DYNAMIC
: ::c_int
= 0x8000;
1638 pub const IFF_TUN
: ::c_int
= 0x0001;
1639 pub const IFF_TAP
: ::c_int
= 0x0002;
1640 pub const IFF_NO_PI
: ::c_int
= 0x1000;
1642 pub const SOL_IP
: ::c_int
= 0;
1643 pub const SOL_TCP
: ::c_int
= 6;
1644 pub const SOL_UDP
: ::c_int
= 17;
1645 pub const SOL_IPV6
: ::c_int
= 41;
1646 pub const SOL_ICMPV6
: ::c_int
= 58;
1647 pub const SOL_RAW
: ::c_int
= 255;
1648 pub const SOL_DECNET
: ::c_int
= 261;
1649 pub const SOL_X25
: ::c_int
= 262;
1650 pub const SOL_PACKET
: ::c_int
= 263;
1651 pub const SOL_ATM
: ::c_int
= 264;
1652 pub const SOL_AAL
: ::c_int
= 265;
1653 pub const SOL_IRDA
: ::c_int
= 266;
1654 pub const SOL_NETBEUI
: ::c_int
= 267;
1655 pub const SOL_LLC
: ::c_int
= 268;
1656 pub const SOL_DCCP
: ::c_int
= 269;
1657 pub const SOL_NETLINK
: ::c_int
= 270;
1658 pub const SOL_TIPC
: ::c_int
= 271;
1660 pub const AF_UNSPEC
: ::c_int
= 0;
1661 pub const AF_UNIX
: ::c_int
= 1;
1662 pub const AF_LOCAL
: ::c_int
= 1;
1663 pub const AF_INET
: ::c_int
= 2;
1664 pub const AF_AX25
: ::c_int
= 3;
1665 pub const AF_IPX
: ::c_int
= 4;
1666 pub const AF_APPLETALK
: ::c_int
= 5;
1667 pub const AF_NETROM
: ::c_int
= 6;
1668 pub const AF_BRIDGE
: ::c_int
= 7;
1669 pub const AF_ATMPVC
: ::c_int
= 8;
1670 pub const AF_X25
: ::c_int
= 9;
1671 pub const AF_INET6
: ::c_int
= 10;
1672 pub const AF_ROSE
: ::c_int
= 11;
1673 pub const AF_DECnet
: ::c_int
= 12;
1674 pub const AF_NETBEUI
: ::c_int
= 13;
1675 pub const AF_SECURITY
: ::c_int
= 14;
1676 pub const AF_KEY
: ::c_int
= 15;
1677 pub const AF_NETLINK
: ::c_int
= 16;
1678 pub const AF_ROUTE
: ::c_int
= AF_NETLINK
;
1679 pub const AF_PACKET
: ::c_int
= 17;
1680 pub const AF_ASH
: ::c_int
= 18;
1681 pub const AF_ECONET
: ::c_int
= 19;
1682 pub const AF_ATMSVC
: ::c_int
= 20;
1683 pub const AF_RDS
: ::c_int
= 21;
1684 pub const AF_SNA
: ::c_int
= 22;
1685 pub const AF_IRDA
: ::c_int
= 23;
1686 pub const AF_PPPOX
: ::c_int
= 24;
1687 pub const AF_WANPIPE
: ::c_int
= 25;
1688 pub const AF_LLC
: ::c_int
= 26;
1689 pub const AF_CAN
: ::c_int
= 29;
1690 pub const AF_TIPC
: ::c_int
= 30;
1691 pub const AF_BLUETOOTH
: ::c_int
= 31;
1692 pub const AF_IUCV
: ::c_int
= 32;
1693 pub const AF_RXRPC
: ::c_int
= 33;
1694 pub const AF_ISDN
: ::c_int
= 34;
1695 pub const AF_PHONET
: ::c_int
= 35;
1696 pub const AF_IEEE802154
: ::c_int
= 36;
1697 pub const AF_CAIF
: ::c_int
= 37;
1698 pub const AF_ALG
: ::c_int
= 38;
1700 pub const PF_UNSPEC
: ::c_int
= AF_UNSPEC
;
1701 pub const PF_UNIX
: ::c_int
= AF_UNIX
;
1702 pub const PF_LOCAL
: ::c_int
= AF_LOCAL
;
1703 pub const PF_INET
: ::c_int
= AF_INET
;
1704 pub const PF_AX25
: ::c_int
= AF_AX25
;
1705 pub const PF_IPX
: ::c_int
= AF_IPX
;
1706 pub const PF_APPLETALK
: ::c_int
= AF_APPLETALK
;
1707 pub const PF_NETROM
: ::c_int
= AF_NETROM
;
1708 pub const PF_BRIDGE
: ::c_int
= AF_BRIDGE
;
1709 pub const PF_ATMPVC
: ::c_int
= AF_ATMPVC
;
1710 pub const PF_X25
: ::c_int
= AF_X25
;
1711 pub const PF_INET6
: ::c_int
= AF_INET6
;
1712 pub const PF_ROSE
: ::c_int
= AF_ROSE
;
1713 pub const PF_DECnet
: ::c_int
= AF_DECnet
;
1714 pub const PF_NETBEUI
: ::c_int
= AF_NETBEUI
;
1715 pub const PF_SECURITY
: ::c_int
= AF_SECURITY
;
1716 pub const PF_KEY
: ::c_int
= AF_KEY
;
1717 pub const PF_NETLINK
: ::c_int
= AF_NETLINK
;
1718 pub const PF_ROUTE
: ::c_int
= AF_ROUTE
;
1719 pub const PF_PACKET
: ::c_int
= AF_PACKET
;
1720 pub const PF_ASH
: ::c_int
= AF_ASH
;
1721 pub const PF_ECONET
: ::c_int
= AF_ECONET
;
1722 pub const PF_ATMSVC
: ::c_int
= AF_ATMSVC
;
1723 pub const PF_RDS
: ::c_int
= AF_RDS
;
1724 pub const PF_SNA
: ::c_int
= AF_SNA
;
1725 pub const PF_IRDA
: ::c_int
= AF_IRDA
;
1726 pub const PF_PPPOX
: ::c_int
= AF_PPPOX
;
1727 pub const PF_WANPIPE
: ::c_int
= AF_WANPIPE
;
1728 pub const PF_LLC
: ::c_int
= AF_LLC
;
1729 pub const PF_CAN
: ::c_int
= AF_CAN
;
1730 pub const PF_TIPC
: ::c_int
= AF_TIPC
;
1731 pub const PF_BLUETOOTH
: ::c_int
= AF_BLUETOOTH
;
1732 pub const PF_IUCV
: ::c_int
= AF_IUCV
;
1733 pub const PF_RXRPC
: ::c_int
= AF_RXRPC
;
1734 pub const PF_ISDN
: ::c_int
= AF_ISDN
;
1735 pub const PF_PHONET
: ::c_int
= AF_PHONET
;
1736 pub const PF_IEEE802154
: ::c_int
= AF_IEEE802154
;
1737 pub const PF_CAIF
: ::c_int
= AF_CAIF
;
1738 pub const PF_ALG
: ::c_int
= AF_ALG
;
1740 pub const SOMAXCONN
: ::c_int
= 128;
1742 pub const MSG_OOB
: ::c_int
= 1;
1743 pub const MSG_PEEK
: ::c_int
= 2;
1744 pub const MSG_DONTROUTE
: ::c_int
= 4;
1745 pub const MSG_CTRUNC
: ::c_int
= 8;
1746 pub const MSG_TRUNC
: ::c_int
= 0x20;
1747 pub const MSG_DONTWAIT
: ::c_int
= 0x40;
1748 pub const MSG_EOR
: ::c_int
= 0x80;
1749 pub const MSG_WAITALL
: ::c_int
= 0x100;
1750 pub const MSG_FIN
: ::c_int
= 0x200;
1751 pub const MSG_SYN
: ::c_int
= 0x400;
1752 pub const MSG_CONFIRM
: ::c_int
= 0x800;
1753 pub const MSG_RST
: ::c_int
= 0x1000;
1754 pub const MSG_ERRQUEUE
: ::c_int
= 0x2000;
1755 pub const MSG_NOSIGNAL
: ::c_int
= 0x4000;
1756 pub const MSG_MORE
: ::c_int
= 0x8000;
1757 pub const MSG_WAITFORONE
: ::c_int
= 0x10000;
1758 pub const MSG_FASTOPEN
: ::c_int
= 0x20000000;
1759 pub const MSG_CMSG_CLOEXEC
: ::c_int
= 0x40000000;
1761 pub const SCM_TIMESTAMP
: ::c_int
= SO_TIMESTAMP
;
1763 pub const SOCK_RAW
: ::c_int
= 3;
1764 pub const SOCK_RDM
: ::c_int
= 4;
1765 pub const IP_MULTICAST_IF
: ::c_int
= 32;
1766 pub const IP_MULTICAST_TTL
: ::c_int
= 33;
1767 pub const IP_MULTICAST_LOOP
: ::c_int
= 34;
1768 pub const IP_TTL
: ::c_int
= 2;
1769 pub const IP_HDRINCL
: ::c_int
= 3;
1770 pub const IP_ADD_MEMBERSHIP
: ::c_int
= 35;
1771 pub const IP_DROP_MEMBERSHIP
: ::c_int
= 36;
1772 pub const IP_TRANSPARENT
: ::c_int
= 19;
1773 pub const IPV6_UNICAST_HOPS
: ::c_int
= 16;
1774 pub const IPV6_MULTICAST_IF
: ::c_int
= 17;
1775 pub const IPV6_MULTICAST_HOPS
: ::c_int
= 18;
1776 pub const IPV6_MULTICAST_LOOP
: ::c_int
= 19;
1777 pub const IPV6_ADD_MEMBERSHIP
: ::c_int
= 20;
1778 pub const IPV6_DROP_MEMBERSHIP
: ::c_int
= 21;
1779 pub const IPV6_V6ONLY
: ::c_int
= 26;
1781 pub const TCP_NODELAY
: ::c_int
= 1;
1782 pub const TCP_MAXSEG
: ::c_int
= 2;
1783 pub const TCP_CORK
: ::c_int
= 3;
1784 pub const TCP_KEEPIDLE
: ::c_int
= 4;
1785 pub const TCP_KEEPINTVL
: ::c_int
= 5;
1786 pub const TCP_KEEPCNT
: ::c_int
= 6;
1787 pub const TCP_SYNCNT
: ::c_int
= 7;
1788 pub const TCP_LINGER2
: ::c_int
= 8;
1789 pub const TCP_DEFER_ACCEPT
: ::c_int
= 9;
1790 pub const TCP_WINDOW_CLAMP
: ::c_int
= 10;
1791 pub const TCP_INFO
: ::c_int
= 11;
1792 pub const TCP_QUICKACK
: ::c_int
= 12;
1793 pub const TCP_CONGESTION
: ::c_int
= 13;
1795 pub const SO_DEBUG
: ::c_int
= 1;
1797 pub const SHUT_RD
: ::c_int
= 0;
1798 pub const SHUT_WR
: ::c_int
= 1;
1799 pub const SHUT_RDWR
: ::c_int
= 2;
1801 pub const LOCK_SH
: ::c_int
= 1;
1802 pub const LOCK_EX
: ::c_int
= 2;
1803 pub const LOCK_NB
: ::c_int
= 4;
1804 pub const LOCK_UN
: ::c_int
= 8;
1806 pub const SS_ONSTACK
: ::c_int
= 1;
1807 pub const SS_DISABLE
: ::c_int
= 2;
1809 pub const PATH_MAX
: ::c_int
= 4096;
1811 pub const FD_SETSIZE
: usize = 1024;
1813 pub const EPOLLIN
: ::c_int
= 0x1;
1814 pub const EPOLLPRI
: ::c_int
= 0x2;
1815 pub const EPOLLOUT
: ::c_int
= 0x4;
1816 pub const EPOLLRDNORM
: ::c_int
= 0x40;
1817 pub const EPOLLRDBAND
: ::c_int
= 0x80;
1818 pub const EPOLLWRNORM
: ::c_int
= 0x100;
1819 pub const EPOLLWRBAND
: ::c_int
= 0x200;
1820 pub const EPOLLMSG
: ::c_int
= 0x400;
1821 pub const EPOLLERR
: ::c_int
= 0x8;
1822 pub const EPOLLHUP
: ::c_int
= 0x10;
1823 pub const EPOLLET
: ::c_int
= 0x80000000;
1825 pub const EPOLL_CTL_ADD
: ::c_int
= 1;
1826 pub const EPOLL_CTL_MOD
: ::c_int
= 3;
1827 pub const EPOLL_CTL_DEL
: ::c_int
= 2;
1829 pub const MNT_DETACH
: ::c_int
= 0x2;
1830 pub const MNT_EXPIRE
: ::c_int
= 0x4;
1832 pub const Q_GETFMT
: ::c_int
= 0x800004;
1833 pub const Q_GETINFO
: ::c_int
= 0x800005;
1834 pub const Q_SETINFO
: ::c_int
= 0x800006;
1835 pub const QIF_BLIMITS
: u32 = 1;
1836 pub const QIF_SPACE
: u32 = 2;
1837 pub const QIF_ILIMITS
: u32 = 4;
1838 pub const QIF_INODES
: u32 = 8;
1839 pub const QIF_BTIME
: u32 = 16;
1840 pub const QIF_ITIME
: u32 = 32;
1841 pub const QIF_LIMITS
: u32 = 5;
1842 pub const QIF_USAGE
: u32 = 10;
1843 pub const QIF_TIMES
: u32 = 48;
1844 pub const QIF_ALL
: u32 = 63;
1846 pub const MNT_FORCE
: ::c_int
= 0x1;
1848 pub const Q_SYNC
: ::c_int
= 0x800001;
1849 pub const Q_QUOTAON
: ::c_int
= 0x800002;
1850 pub const Q_QUOTAOFF
: ::c_int
= 0x800003;
1851 pub const Q_GETQUOTA
: ::c_int
= 0x800007;
1852 pub const Q_SETQUOTA
: ::c_int
= 0x800008;
1854 pub const TCIOFF
: ::c_int
= 2;
1855 pub const TCION
: ::c_int
= 3;
1856 pub const TCOOFF
: ::c_int
= 0;
1857 pub const TCOON
: ::c_int
= 1;
1858 pub const TCIFLUSH
: ::c_int
= 0;
1859 pub const TCOFLUSH
: ::c_int
= 1;
1860 pub const TCIOFLUSH
: ::c_int
= 2;
1861 pub const NL0
: ::c_int
= 0x00000000;
1862 pub const NL1
: ::c_int
= 0x00000100;
1863 pub const TAB0
: ::c_int
= 0x00000000;
1864 pub const CR0
: ::c_int
= 0x00000000;
1865 pub const FF0
: ::c_int
= 0x00000000;
1866 pub const BS0
: ::c_int
= 0x00000000;
1867 pub const VT0
: ::c_int
= 0x00000000;
1868 pub const VERASE
: usize = 2;
1869 pub const VKILL
: usize = 3;
1870 pub const VINTR
: usize = 0;
1871 pub const VQUIT
: usize = 1;
1872 pub const VLNEXT
: usize = 15;
1873 pub const IGNBRK
: ::tcflag_t
= 0x00000001;
1874 pub const BRKINT
: ::tcflag_t
= 0x00000002;
1875 pub const IGNPAR
: ::tcflag_t
= 0x00000004;
1876 pub const PARMRK
: ::tcflag_t
= 0x00000008;
1877 pub const INPCK
: ::tcflag_t
= 0x00000010;
1878 pub const ISTRIP
: ::tcflag_t
= 0x00000020;
1879 pub const INLCR
: ::tcflag_t
= 0x00000040;
1880 pub const IGNCR
: ::tcflag_t
= 0x00000080;
1881 pub const ICRNL
: ::tcflag_t
= 0x00000100;
1882 pub const IXANY
: ::tcflag_t
= 0x00000800;
1883 pub const IMAXBEL
: ::tcflag_t
= 0x00002000;
1884 pub const OPOST
: ::tcflag_t
= 0x1;
1885 pub const CS5
: ::tcflag_t
= 0x00000000;
1886 pub const CRTSCTS
: ::tcflag_t
= 0x80000000;
1887 pub const ECHO
: ::tcflag_t
= 0x00000008;
1888 pub const OCRNL
: ::tcflag_t
= 0o000010;
1889 pub const ONOCR
: ::tcflag_t
= 0o000020;
1890 pub const ONLRET
: ::tcflag_t
= 0o000040;
1891 pub const OFILL
: ::tcflag_t
= 0o000100;
1892 pub const OFDEL
: ::tcflag_t
= 0o000200;
1894 pub const CLONE_VM
: ::c_int
= 0x100;
1895 pub const CLONE_FS
: ::c_int
= 0x200;
1896 pub const CLONE_FILES
: ::c_int
= 0x400;
1897 pub const CLONE_SIGHAND
: ::c_int
= 0x800;
1898 pub const CLONE_PTRACE
: ::c_int
= 0x2000;
1899 pub const CLONE_VFORK
: ::c_int
= 0x4000;
1900 pub const CLONE_PARENT
: ::c_int
= 0x8000;
1901 pub const CLONE_THREAD
: ::c_int
= 0x10000;
1902 pub const CLONE_NEWNS
: ::c_int
= 0x20000;
1903 pub const CLONE_SYSVSEM
: ::c_int
= 0x40000;
1904 pub const CLONE_SETTLS
: ::c_int
= 0x80000;
1905 pub const CLONE_PARENT_SETTID
: ::c_int
= 0x100000;
1906 pub const CLONE_CHILD_CLEARTID
: ::c_int
= 0x200000;
1907 pub const CLONE_DETACHED
: ::c_int
= 0x400000;
1908 pub const CLONE_UNTRACED
: ::c_int
= 0x800000;
1909 pub const CLONE_CHILD_SETTID
: ::c_int
= 0x01000000;
1910 pub const CLONE_NEWUTS
: ::c_int
= 0x04000000;
1911 pub const CLONE_NEWIPC
: ::c_int
= 0x08000000;
1912 pub const CLONE_NEWUSER
: ::c_int
= 0x10000000;
1913 pub const CLONE_NEWPID
: ::c_int
= 0x20000000;
1914 pub const CLONE_NEWNET
: ::c_int
= 0x40000000;
1915 pub const CLONE_IO
: ::c_int
= 0x80000000;
1916 pub const CLONE_NEWCGROUP
: ::c_int
= 0x02000000;
1918 pub const WNOHANG
: ::c_int
= 0x00000001;
1919 pub const WUNTRACED
: ::c_int
= 0x00000002;
1920 pub const WSTOPPED
: ::c_int
= WUNTRACED
;
1921 pub const WEXITED
: ::c_int
= 0x00000004;
1922 pub const WCONTINUED
: ::c_int
= 0x00000008;
1923 pub const WNOWAIT
: ::c_int
= 0x01000000;
1925 // ::Options set using PTRACE_SETOPTIONS.
1926 pub const PTRACE_O_TRACESYSGOOD
: ::c_int
= 0x00000001;
1927 pub const PTRACE_O_TRACEFORK
: ::c_int
= 0x00000002;
1928 pub const PTRACE_O_TRACEVFORK
: ::c_int
= 0x00000004;
1929 pub const PTRACE_O_TRACECLONE
: ::c_int
= 0x00000008;
1930 pub const PTRACE_O_TRACEEXEC
: ::c_int
= 0x00000010;
1931 pub const PTRACE_O_TRACEVFORKDONE
: ::c_int
= 0x00000020;
1932 pub const PTRACE_O_TRACEEXIT
: ::c_int
= 0x00000040;
1933 pub const PTRACE_O_TRACESECCOMP
: ::c_int
= 0x00000080;
1934 pub const PTRACE_O_EXITKILL
: ::c_int
= 0x00100000;
1935 pub const PTRACE_O_SUSPEND_SECCOMP
: ::c_int
= 0x00200000;
1936 pub const PTRACE_O_MASK
: ::c_int
= 0x003000ff;
1938 // Wait extended result codes for the above trace options.
1939 pub const PTRACE_EVENT_FORK
: ::c_int
= 1;
1940 pub const PTRACE_EVENT_VFORK
: ::c_int
= 2;
1941 pub const PTRACE_EVENT_CLONE
: ::c_int
= 3;
1942 pub const PTRACE_EVENT_EXEC
: ::c_int
= 4;
1943 pub const PTRACE_EVENT_VFORK_DONE
: ::c_int
= 5;
1944 pub const PTRACE_EVENT_EXIT
: ::c_int
= 6;
1945 pub const PTRACE_EVENT_SECCOMP
: ::c_int
= 7;
1946 // PTRACE_EVENT_STOP was added to glibc in 2.26
1947 // pub const PTRACE_EVENT_STOP: ::c_int = 128;
1949 pub const __WNOTHREAD
: ::c_int
= 0x20000000;
1950 pub const __WALL
: ::c_int
= 0x40000000;
1951 pub const __WCLONE
: ::c_int
= 0x80000000;
1953 pub const SPLICE_F_MOVE
: ::c_uint
= 0x01;
1954 pub const SPLICE_F_NONBLOCK
: ::c_uint
= 0x02;
1955 pub const SPLICE_F_MORE
: ::c_uint
= 0x04;
1956 pub const SPLICE_F_GIFT
: ::c_uint
= 0x08;
1958 pub const RTLD_LOCAL
: ::c_int
= 0;
1959 pub const RTLD_LAZY
: ::c_int
= 1;
1961 pub const POSIX_FADV_NORMAL
: ::c_int
= 0;
1962 pub const POSIX_FADV_RANDOM
: ::c_int
= 1;
1963 pub const POSIX_FADV_SEQUENTIAL
: ::c_int
= 2;
1964 pub const POSIX_FADV_WILLNEED
: ::c_int
= 3;
1966 pub const AT_FDCWD
: ::c_int
= -100;
1967 pub const AT_SYMLINK_NOFOLLOW
: ::c_int
= 0x100;
1968 pub const AT_REMOVEDIR
: ::c_int
= 0x200;
1969 pub const AT_EACCESS
: ::c_int
= 0x200;
1970 pub const AT_SYMLINK_FOLLOW
: ::c_int
= 0x400;
1971 pub const AT_NO_AUTOMOUNT
: ::c_int
= 0x800;
1972 pub const AT_EMPTY_PATH
: ::c_int
= 0x1000;
1974 pub const LOG_CRON
: ::c_int
= 9 << 3;
1975 pub const LOG_AUTHPRIV
: ::c_int
= 10 << 3;
1976 pub const LOG_FTP
: ::c_int
= 11 << 3;
1977 pub const LOG_PERROR
: ::c_int
= 0x20;
1979 pub const PIPE_BUF
: usize = 4096;
1981 pub const SI_LOAD_SHIFT
: ::c_uint
= 16;
1983 pub const SIGEV_SIGNAL
: ::c_int
= 0;
1984 pub const SIGEV_NONE
: ::c_int
= 1;
1985 pub const SIGEV_THREAD
: ::c_int
= 2;
1987 pub const P_ALL
: idtype_t
= 0;
1988 pub const P_PID
: idtype_t
= 1;
1989 pub const P_PGID
: idtype_t
= 2;
1991 pub const UTIME_OMIT
: c_long
= 1073741822;
1992 pub const UTIME_NOW
: c_long
= 1073741823;
1994 pub const POLLIN
: ::c_short
= 0x1;
1995 pub const POLLPRI
: ::c_short
= 0x2;
1996 pub const POLLOUT
: ::c_short
= 0x4;
1997 pub const POLLERR
: ::c_short
= 0x8;
1998 pub const POLLHUP
: ::c_short
= 0x10;
1999 pub const POLLNVAL
: ::c_short
= 0x20;
2000 pub const POLLRDNORM
: ::c_short
= 0x040;
2001 pub const POLLRDBAND
: ::c_short
= 0x080;
2003 pub const ABDAY_1
: ::nl_item
= 0x20000;
2004 pub const ABDAY_2
: ::nl_item
= 0x20001;
2005 pub const ABDAY_3
: ::nl_item
= 0x20002;
2006 pub const ABDAY_4
: ::nl_item
= 0x20003;
2007 pub const ABDAY_5
: ::nl_item
= 0x20004;
2008 pub const ABDAY_6
: ::nl_item
= 0x20005;
2009 pub const ABDAY_7
: ::nl_item
= 0x20006;
2011 pub const DAY_1
: ::nl_item
= 0x20007;
2012 pub const DAY_2
: ::nl_item
= 0x20008;
2013 pub const DAY_3
: ::nl_item
= 0x20009;
2014 pub const DAY_4
: ::nl_item
= 0x2000A;
2015 pub const DAY_5
: ::nl_item
= 0x2000B;
2016 pub const DAY_6
: ::nl_item
= 0x2000C;
2017 pub const DAY_7
: ::nl_item
= 0x2000D;
2019 pub const ABMON_1
: ::nl_item
= 0x2000E;
2020 pub const ABMON_2
: ::nl_item
= 0x2000F;
2021 pub const ABMON_3
: ::nl_item
= 0x20010;
2022 pub const ABMON_4
: ::nl_item
= 0x20011;
2023 pub const ABMON_5
: ::nl_item
= 0x20012;
2024 pub const ABMON_6
: ::nl_item
= 0x20013;
2025 pub const ABMON_7
: ::nl_item
= 0x20014;
2026 pub const ABMON_8
: ::nl_item
= 0x20015;
2027 pub const ABMON_9
: ::nl_item
= 0x20016;
2028 pub const ABMON_10
: ::nl_item
= 0x20017;
2029 pub const ABMON_11
: ::nl_item
= 0x20018;
2030 pub const ABMON_12
: ::nl_item
= 0x20019;
2032 pub const MON_1
: ::nl_item
= 0x2001A;
2033 pub const MON_2
: ::nl_item
= 0x2001B;
2034 pub const MON_3
: ::nl_item
= 0x2001C;
2035 pub const MON_4
: ::nl_item
= 0x2001D;
2036 pub const MON_5
: ::nl_item
= 0x2001E;
2037 pub const MON_6
: ::nl_item
= 0x2001F;
2038 pub const MON_7
: ::nl_item
= 0x20020;
2039 pub const MON_8
: ::nl_item
= 0x20021;
2040 pub const MON_9
: ::nl_item
= 0x20022;
2041 pub const MON_10
: ::nl_item
= 0x20023;
2042 pub const MON_11
: ::nl_item
= 0x20024;
2043 pub const MON_12
: ::nl_item
= 0x20025;
2045 pub const AM_STR
: ::nl_item
= 0x20026;
2046 pub const PM_STR
: ::nl_item
= 0x20027;
2048 pub const D_T_FMT
: ::nl_item
= 0x20028;
2049 pub const D_FMT
: ::nl_item
= 0x20029;
2050 pub const T_FMT
: ::nl_item
= 0x2002A;
2051 pub const T_FMT_AMPM
: ::nl_item
= 0x2002B;
2053 pub const ERA
: ::nl_item
= 0x2002C;
2054 pub const ERA_D_FMT
: ::nl_item
= 0x2002E;
2055 pub const ALT_DIGITS
: ::nl_item
= 0x2002F;
2056 pub const ERA_D_T_FMT
: ::nl_item
= 0x20030;
2057 pub const ERA_T_FMT
: ::nl_item
= 0x20031;
2059 pub const CODESET
: ::nl_item
= 14;
2061 pub const CRNCYSTR
: ::nl_item
= 0x4000F;
2063 pub const RUSAGE_THREAD
: ::c_int
= 1;
2064 pub const RUSAGE_CHILDREN
: ::c_int
= -1;
2066 pub const RADIXCHAR
: ::nl_item
= 0x10000;
2067 pub const THOUSEP
: ::nl_item
= 0x10001;
2069 pub const YESEXPR
: ::nl_item
= 0x50000;
2070 pub const NOEXPR
: ::nl_item
= 0x50001;
2071 pub const YESSTR
: ::nl_item
= 0x50002;
2072 pub const NOSTR
: ::nl_item
= 0x50003;
2074 pub const FILENAME_MAX
: ::c_uint
= 4096;
2075 pub const L_tmpnam
: ::c_uint
= 20;
2076 pub const _PC_LINK_MAX
: ::c_int
= 0;
2077 pub const _PC_MAX_CANON
: ::c_int
= 1;
2078 pub const _PC_MAX_INPUT
: ::c_int
= 2;
2079 pub const _PC_NAME_MAX
: ::c_int
= 3;
2080 pub const _PC_PATH_MAX
: ::c_int
= 4;
2081 pub const _PC_PIPE_BUF
: ::c_int
= 5;
2082 pub const _PC_CHOWN_RESTRICTED
: ::c_int
= 6;
2083 pub const _PC_NO_TRUNC
: ::c_int
= 7;
2084 pub const _PC_VDISABLE
: ::c_int
= 8;
2085 pub const _PC_SYNC_IO
: ::c_int
= 9;
2086 pub const _PC_ASYNC_IO
: ::c_int
= 10;
2087 pub const _PC_PRIO_IO
: ::c_int
= 11;
2088 pub const _PC_SOCK_MAXBUF
: ::c_int
= 12;
2089 pub const _PC_FILESIZEBITS
: ::c_int
= 13;
2090 pub const _PC_REC_INCR_XFER_SIZE
: ::c_int
= 14;
2091 pub const _PC_REC_MAX_XFER_SIZE
: ::c_int
= 15;
2092 pub const _PC_REC_MIN_XFER_SIZE
: ::c_int
= 16;
2093 pub const _PC_REC_XFER_ALIGN
: ::c_int
= 17;
2094 pub const _PC_ALLOC_SIZE_MIN
: ::c_int
= 18;
2095 pub const _PC_SYMLINK_MAX
: ::c_int
= 19;
2096 pub const _PC_2_SYMLINKS
: ::c_int
= 20;
2098 pub const _SC_ARG_MAX
: ::c_int
= 0;
2099 pub const _SC_CHILD_MAX
: ::c_int
= 1;
2100 pub const _SC_CLK_TCK
: ::c_int
= 2;
2101 pub const _SC_NGROUPS_MAX
: ::c_int
= 3;
2102 pub const _SC_OPEN_MAX
: ::c_int
= 4;
2103 pub const _SC_STREAM_MAX
: ::c_int
= 5;
2104 pub const _SC_TZNAME_MAX
: ::c_int
= 6;
2105 pub const _SC_JOB_CONTROL
: ::c_int
= 7;
2106 pub const _SC_SAVED_IDS
: ::c_int
= 8;
2107 pub const _SC_REALTIME_SIGNALS
: ::c_int
= 9;
2108 pub const _SC_PRIORITY_SCHEDULING
: ::c_int
= 10;
2109 pub const _SC_TIMERS
: ::c_int
= 11;
2110 pub const _SC_ASYNCHRONOUS_IO
: ::c_int
= 12;
2111 pub const _SC_PRIORITIZED_IO
: ::c_int
= 13;
2112 pub const _SC_SYNCHRONIZED_IO
: ::c_int
= 14;
2113 pub const _SC_FSYNC
: ::c_int
= 15;
2114 pub const _SC_MAPPED_FILES
: ::c_int
= 16;
2115 pub const _SC_MEMLOCK
: ::c_int
= 17;
2116 pub const _SC_MEMLOCK_RANGE
: ::c_int
= 18;
2117 pub const _SC_MEMORY_PROTECTION
: ::c_int
= 19;
2118 pub const _SC_MESSAGE_PASSING
: ::c_int
= 20;
2119 pub const _SC_SEMAPHORES
: ::c_int
= 21;
2120 pub const _SC_SHARED_MEMORY_OBJECTS
: ::c_int
= 22;
2121 pub const _SC_AIO_LISTIO_MAX
: ::c_int
= 23;
2122 pub const _SC_AIO_MAX
: ::c_int
= 24;
2123 pub const _SC_AIO_PRIO_DELTA_MAX
: ::c_int
= 25;
2124 pub const _SC_DELAYTIMER_MAX
: ::c_int
= 26;
2125 pub const _SC_MQ_OPEN_MAX
: ::c_int
= 27;
2126 pub const _SC_MQ_PRIO_MAX
: ::c_int
= 28;
2127 pub const _SC_VERSION
: ::c_int
= 29;
2128 pub const _SC_PAGESIZE
: ::c_int
= 30;
2129 pub const _SC_PAGE_SIZE
: ::c_int
= _SC_PAGESIZE
;
2130 pub const _SC_RTSIG_MAX
: ::c_int
= 31;
2131 pub const _SC_SEM_NSEMS_MAX
: ::c_int
= 32;
2132 pub const _SC_SEM_VALUE_MAX
: ::c_int
= 33;
2133 pub const _SC_SIGQUEUE_MAX
: ::c_int
= 34;
2134 pub const _SC_TIMER_MAX
: ::c_int
= 35;
2135 pub const _SC_BC_BASE_MAX
: ::c_int
= 36;
2136 pub const _SC_BC_DIM_MAX
: ::c_int
= 37;
2137 pub const _SC_BC_SCALE_MAX
: ::c_int
= 38;
2138 pub const _SC_BC_STRING_MAX
: ::c_int
= 39;
2139 pub const _SC_COLL_WEIGHTS_MAX
: ::c_int
= 40;
2140 pub const _SC_EXPR_NEST_MAX
: ::c_int
= 42;
2141 pub const _SC_LINE_MAX
: ::c_int
= 43;
2142 pub const _SC_RE_DUP_MAX
: ::c_int
= 44;
2143 pub const _SC_2_VERSION
: ::c_int
= 46;
2144 pub const _SC_2_C_BIND
: ::c_int
= 47;
2145 pub const _SC_2_C_DEV
: ::c_int
= 48;
2146 pub const _SC_2_FORT_DEV
: ::c_int
= 49;
2147 pub const _SC_2_FORT_RUN
: ::c_int
= 50;
2148 pub const _SC_2_SW_DEV
: ::c_int
= 51;
2149 pub const _SC_2_LOCALEDEF
: ::c_int
= 52;
2150 pub const _SC_UIO_MAXIOV
: ::c_int
= 60;
2151 pub const _SC_IOV_MAX
: ::c_int
= 60;
2152 pub const _SC_THREADS
: ::c_int
= 67;
2153 pub const _SC_THREAD_SAFE_FUNCTIONS
: ::c_int
= 68;
2154 pub const _SC_GETGR_R_SIZE_MAX
: ::c_int
= 69;
2155 pub const _SC_GETPW_R_SIZE_MAX
: ::c_int
= 70;
2156 pub const _SC_LOGIN_NAME_MAX
: ::c_int
= 71;
2157 pub const _SC_TTY_NAME_MAX
: ::c_int
= 72;
2158 pub const _SC_THREAD_DESTRUCTOR_ITERATIONS
: ::c_int
= 73;
2159 pub const _SC_THREAD_KEYS_MAX
: ::c_int
= 74;
2160 pub const _SC_THREAD_STACK_MIN
: ::c_int
= 75;
2161 pub const _SC_THREAD_THREADS_MAX
: ::c_int
= 76;
2162 pub const _SC_THREAD_ATTR_STACKADDR
: ::c_int
= 77;
2163 pub const _SC_THREAD_ATTR_STACKSIZE
: ::c_int
= 78;
2164 pub const _SC_THREAD_PRIORITY_SCHEDULING
: ::c_int
= 79;
2165 pub const _SC_THREAD_PRIO_INHERIT
: ::c_int
= 80;
2166 pub const _SC_THREAD_PRIO_PROTECT
: ::c_int
= 81;
2167 pub const _SC_THREAD_PROCESS_SHARED
: ::c_int
= 82;
2168 pub const _SC_NPROCESSORS_CONF
: ::c_int
= 83;
2169 pub const _SC_NPROCESSORS_ONLN
: ::c_int
= 84;
2170 pub const _SC_PHYS_PAGES
: ::c_int
= 85;
2171 pub const _SC_AVPHYS_PAGES
: ::c_int
= 86;
2172 pub const _SC_ATEXIT_MAX
: ::c_int
= 87;
2173 pub const _SC_PASS_MAX
: ::c_int
= 88;
2174 pub const _SC_XOPEN_VERSION
: ::c_int
= 89;
2175 pub const _SC_XOPEN_XCU_VERSION
: ::c_int
= 90;
2176 pub const _SC_XOPEN_UNIX
: ::c_int
= 91;
2177 pub const _SC_XOPEN_CRYPT
: ::c_int
= 92;
2178 pub const _SC_XOPEN_ENH_I18N
: ::c_int
= 93;
2179 pub const _SC_XOPEN_SHM
: ::c_int
= 94;
2180 pub const _SC_2_CHAR_TERM
: ::c_int
= 95;
2181 pub const _SC_2_UPE
: ::c_int
= 97;
2182 pub const _SC_XOPEN_XPG2
: ::c_int
= 98;
2183 pub const _SC_XOPEN_XPG3
: ::c_int
= 99;
2184 pub const _SC_XOPEN_XPG4
: ::c_int
= 100;
2185 pub const _SC_NZERO
: ::c_int
= 109;
2186 pub const _SC_XBS5_ILP32_OFF32
: ::c_int
= 125;
2187 pub const _SC_XBS5_ILP32_OFFBIG
: ::c_int
= 126;
2188 pub const _SC_XBS5_LP64_OFF64
: ::c_int
= 127;
2189 pub const _SC_XBS5_LPBIG_OFFBIG
: ::c_int
= 128;
2190 pub const _SC_XOPEN_LEGACY
: ::c_int
= 129;
2191 pub const _SC_XOPEN_REALTIME
: ::c_int
= 130;
2192 pub const _SC_XOPEN_REALTIME_THREADS
: ::c_int
= 131;
2193 pub const _SC_ADVISORY_INFO
: ::c_int
= 132;
2194 pub const _SC_BARRIERS
: ::c_int
= 133;
2195 pub const _SC_CLOCK_SELECTION
: ::c_int
= 137;
2196 pub const _SC_CPUTIME
: ::c_int
= 138;
2197 pub const _SC_THREAD_CPUTIME
: ::c_int
= 139;
2198 pub const _SC_MONOTONIC_CLOCK
: ::c_int
= 149;
2199 pub const _SC_READER_WRITER_LOCKS
: ::c_int
= 153;
2200 pub const _SC_SPIN_LOCKS
: ::c_int
= 154;
2201 pub const _SC_REGEXP
: ::c_int
= 155;
2202 pub const _SC_SHELL
: ::c_int
= 157;
2203 pub const _SC_SPAWN
: ::c_int
= 159;
2204 pub const _SC_SPORADIC_SERVER
: ::c_int
= 160;
2205 pub const _SC_THREAD_SPORADIC_SERVER
: ::c_int
= 161;
2206 pub const _SC_TIMEOUTS
: ::c_int
= 164;
2207 pub const _SC_TYPED_MEMORY_OBJECTS
: ::c_int
= 165;
2208 pub const _SC_2_PBS
: ::c_int
= 168;
2209 pub const _SC_2_PBS_ACCOUNTING
: ::c_int
= 169;
2210 pub const _SC_2_PBS_LOCATE
: ::c_int
= 170;
2211 pub const _SC_2_PBS_MESSAGE
: ::c_int
= 171;
2212 pub const _SC_2_PBS_TRACK
: ::c_int
= 172;
2213 pub const _SC_SYMLOOP_MAX
: ::c_int
= 173;
2214 pub const _SC_STREAMS
: ::c_int
= 174;
2215 pub const _SC_2_PBS_CHECKPOINT
: ::c_int
= 175;
2216 pub const _SC_V6_ILP32_OFF32
: ::c_int
= 176;
2217 pub const _SC_V6_ILP32_OFFBIG
: ::c_int
= 177;
2218 pub const _SC_V6_LP64_OFF64
: ::c_int
= 178;
2219 pub const _SC_V6_LPBIG_OFFBIG
: ::c_int
= 179;
2220 pub const _SC_HOST_NAME_MAX
: ::c_int
= 180;
2221 pub const _SC_TRACE
: ::c_int
= 181;
2222 pub const _SC_TRACE_EVENT_FILTER
: ::c_int
= 182;
2223 pub const _SC_TRACE_INHERIT
: ::c_int
= 183;
2224 pub const _SC_TRACE_LOG
: ::c_int
= 184;
2225 pub const _SC_IPV6
: ::c_int
= 235;
2226 pub const _SC_RAW_SOCKETS
: ::c_int
= 236;
2227 pub const _SC_V7_ILP32_OFF32
: ::c_int
= 237;
2228 pub const _SC_V7_ILP32_OFFBIG
: ::c_int
= 238;
2229 pub const _SC_V7_LP64_OFF64
: ::c_int
= 239;
2230 pub const _SC_V7_LPBIG_OFFBIG
: ::c_int
= 240;
2231 pub const _SC_SS_REPL_MAX
: ::c_int
= 241;
2232 pub const _SC_TRACE_EVENT_NAME_MAX
: ::c_int
= 242;
2233 pub const _SC_TRACE_NAME_MAX
: ::c_int
= 243;
2234 pub const _SC_TRACE_SYS_MAX
: ::c_int
= 244;
2235 pub const _SC_TRACE_USER_EVENT_MAX
: ::c_int
= 245;
2236 pub const _SC_XOPEN_STREAMS
: ::c_int
= 246;
2237 pub const _SC_THREAD_ROBUST_PRIO_INHERIT
: ::c_int
= 247;
2238 pub const _SC_THREAD_ROBUST_PRIO_PROTECT
: ::c_int
= 248;
2240 pub const RLIM_SAVED_MAX
: ::rlim_t
= RLIM_INFINITY
;
2241 pub const RLIM_SAVED_CUR
: ::rlim_t
= RLIM_INFINITY
;
2243 pub const GLOB_ERR
: ::c_int
= 1 << 0;
2244 pub const GLOB_MARK
: ::c_int
= 1 << 1;
2245 pub const GLOB_NOSORT
: ::c_int
= 1 << 2;
2246 pub const GLOB_DOOFFS
: ::c_int
= 1 << 3;
2247 pub const GLOB_NOCHECK
: ::c_int
= 1 << 4;
2248 pub const GLOB_APPEND
: ::c_int
= 1 << 5;
2249 pub const GLOB_NOESCAPE
: ::c_int
= 1 << 6;
2251 pub const GLOB_NOSPACE
: ::c_int
= 1;
2252 pub const GLOB_ABORTED
: ::c_int
= 2;
2253 pub const GLOB_NOMATCH
: ::c_int
= 3;
2255 pub const POSIX_MADV_NORMAL
: ::c_int
= 0;
2256 pub const POSIX_MADV_RANDOM
: ::c_int
= 1;
2257 pub const POSIX_MADV_SEQUENTIAL
: ::c_int
= 2;
2258 pub const POSIX_MADV_WILLNEED
: ::c_int
= 3;
2260 pub const S_IEXEC
: mode_t
= 64;
2261 pub const S_IWRITE
: mode_t
= 128;
2262 pub const S_IREAD
: mode_t
= 256;
2264 pub const F_LOCK
: ::c_int
= 1;
2265 pub const F_TEST
: ::c_int
= 3;
2266 pub const F_TLOCK
: ::c_int
= 2;
2267 pub const F_ULOCK
: ::c_int
= 0;
2269 pub const IFF_LOWER_UP
: ::c_int
= 0x10000;
2270 pub const IFF_DORMANT
: ::c_int
= 0x20000;
2271 pub const IFF_ECHO
: ::c_int
= 0x40000;
2273 pub const ST_RDONLY
: ::c_ulong
= 1;
2274 pub const ST_NOSUID
: ::c_ulong
= 2;
2275 pub const ST_NODEV
: ::c_ulong
= 4;
2276 pub const ST_NOEXEC
: ::c_ulong
= 8;
2277 pub const ST_SYNCHRONOUS
: ::c_ulong
= 16;
2278 pub const ST_MANDLOCK
: ::c_ulong
= 64;
2279 pub const ST_WRITE
: ::c_ulong
= 128;
2280 pub const ST_APPEND
: ::c_ulong
= 256;
2281 pub const ST_IMMUTABLE
: ::c_ulong
= 512;
2282 pub const ST_NOATIME
: ::c_ulong
= 1024;
2283 pub const ST_NODIRATIME
: ::c_ulong
= 2048;
2285 pub const RTLD_NEXT
: *mut ::c_void
= -1i64 as *mut ::c_void
;
2286 pub const RTLD_DEFAULT
: *mut ::c_void
= 0i64 as *mut ::c_void
;
2287 pub const RTLD_NODELETE
: ::c_int
= 0x1000;
2288 pub const RTLD_NOW
: ::c_int
= 0x2;
2290 pub const TCP_MD5SIG
: ::c_int
= 14;
2293 pub const PTHREAD_MUTEX_INITIALIZER
: pthread_mutex_t
= pthread_mutex_t
{
2294 size
: [0; __SIZEOF_PTHREAD_MUTEX_T
],
2296 pub const PTHREAD_COND_INITIALIZER
: pthread_cond_t
= pthread_cond_t
{
2297 size
: [0; __SIZEOF_PTHREAD_COND_T
],
2299 pub const PTHREAD_RWLOCK_INITIALIZER
: pthread_rwlock_t
= pthread_rwlock_t
{
2300 size
: [0; __SIZEOF_PTHREAD_RWLOCK_T
],
2303 pub const PTHREAD_MUTEX_NORMAL
: ::c_int
= 0;
2304 pub const PTHREAD_MUTEX_RECURSIVE
: ::c_int
= 1;
2305 pub const PTHREAD_MUTEX_ERRORCHECK
: ::c_int
= 2;
2306 pub const PTHREAD_MUTEX_DEFAULT
: ::c_int
= PTHREAD_MUTEX_NORMAL
;
2307 pub const PTHREAD_PROCESS_PRIVATE
: ::c_int
= 0;
2308 pub const PTHREAD_PROCESS_SHARED
: ::c_int
= 1;
2309 pub const __SIZEOF_PTHREAD_COND_T
: usize = 48;
2311 pub const RENAME_NOREPLACE
: ::c_int
= 1;
2312 pub const RENAME_EXCHANGE
: ::c_int
= 2;
2313 pub const RENAME_WHITEOUT
: ::c_int
= 4;
2315 pub const SCHED_OTHER
: ::c_int
= 0;
2316 pub const SCHED_FIFO
: ::c_int
= 1;
2317 pub const SCHED_RR
: ::c_int
= 2;
2318 pub const SCHED_BATCH
: ::c_int
= 3;
2319 pub const SCHED_IDLE
: ::c_int
= 5;
2322 // NOTE: These are in addition to the constants defined in src/unix/mod.rs
2324 // IPPROTO_IP defined in src/unix/mod.rs
2325 /// Hop-by-hop option header
2326 pub const IPPROTO_HOPOPTS
: ::c_int
= 0;
2327 // IPPROTO_ICMP defined in src/unix/mod.rs
2328 /// group mgmt protocol
2329 pub const IPPROTO_IGMP
: ::c_int
= 2;
2330 /// for compatibility
2331 pub const IPPROTO_IPIP
: ::c_int
= 4;
2332 // IPPROTO_TCP defined in src/unix/mod.rs
2333 /// exterior gateway protocol
2334 pub const IPPROTO_EGP
: ::c_int
= 8;
2336 pub const IPPROTO_PUP
: ::c_int
= 12;
2337 // IPPROTO_UDP defined in src/unix/mod.rs
2339 pub const IPPROTO_IDP
: ::c_int
= 22;
2340 /// tp-4 w/ class negotiation
2341 pub const IPPROTO_TP
: ::c_int
= 29;
2343 pub const IPPROTO_DCCP
: ::c_int
= 33;
2344 // IPPROTO_IPV6 defined in src/unix/mod.rs
2345 /// IP6 routing header
2346 pub const IPPROTO_ROUTING
: ::c_int
= 43;
2347 /// IP6 fragmentation header
2348 pub const IPPROTO_FRAGMENT
: ::c_int
= 44;
2349 /// resource reservation
2350 pub const IPPROTO_RSVP
: ::c_int
= 46;
2351 /// General Routing Encap.
2352 pub const IPPROTO_GRE
: ::c_int
= 47;
2353 /// IP6 Encap Sec. Payload
2354 pub const IPPROTO_ESP
: ::c_int
= 50;
2356 pub const IPPROTO_AH
: ::c_int
= 51;
2357 // IPPROTO_ICMPV6 defined in src/unix/mod.rs
2358 /// IP6 no next header
2359 pub const IPPROTO_NONE
: ::c_int
= 59;
2360 /// IP6 destination option
2361 pub const IPPROTO_DSTOPTS
: ::c_int
= 60;
2362 pub const IPPROTO_MTP
: ::c_int
= 92;
2363 pub const IPPROTO_BEETPH
: ::c_int
= 94;
2364 /// encapsulation header
2365 pub const IPPROTO_ENCAP
: ::c_int
= 98;
2366 /// Protocol indep. multicast
2367 pub const IPPROTO_PIM
: ::c_int
= 103;
2368 /// IP Payload Comp. Protocol
2369 pub const IPPROTO_COMP
: ::c_int
= 108;
2371 pub const IPPROTO_SCTP
: ::c_int
= 132;
2372 pub const IPPROTO_MH
: ::c_int
= 135;
2373 pub const IPPROTO_UDPLITE
: ::c_int
= 136;
2374 pub const IPPROTO_MPLS
: ::c_int
= 137;
2376 pub const IPPROTO_RAW
: ::c_int
= 255;
2377 pub const IPPROTO_MAX
: ::c_int
= 256;
2379 pub const AF_IB
: ::c_int
= 27;
2380 pub const AF_MPLS
: ::c_int
= 28;
2381 pub const AF_NFC
: ::c_int
= 39;
2382 pub const AF_VSOCK
: ::c_int
= 40;
2383 pub const PF_IB
: ::c_int
= AF_IB
;
2384 pub const PF_MPLS
: ::c_int
= AF_MPLS
;
2385 pub const PF_NFC
: ::c_int
= AF_NFC
;
2386 pub const PF_VSOCK
: ::c_int
= AF_VSOCK
;
2389 pub const IPC_PRIVATE
: ::key_t
= 0;
2391 pub const IPC_CREAT
: ::c_int
= 0o1000;
2392 pub const IPC_EXCL
: ::c_int
= 0o2000;
2393 pub const IPC_NOWAIT
: ::c_int
= 0o4000;
2395 pub const IPC_RMID
: ::c_int
= 0;
2396 pub const IPC_SET
: ::c_int
= 1;
2397 pub const IPC_STAT
: ::c_int
= 2;
2398 pub const IPC_INFO
: ::c_int
= 3;
2399 pub const MSG_STAT
: ::c_int
= 11;
2400 pub const MSG_INFO
: ::c_int
= 12;
2402 pub const MSG_NOERROR
: ::c_int
= 0o10000;
2403 pub const MSG_EXCEPT
: ::c_int
= 0o20000;
2404 pub const MSG_COPY
: ::c_int
= 0o40000;
2406 pub const SHM_R
: ::c_int
= 0o400;
2407 pub const SHM_W
: ::c_int
= 0o200;
2409 pub const SHM_RDONLY
: ::c_int
= 0o10000;
2410 pub const SHM_RND
: ::c_int
= 0o20000;
2411 pub const SHM_REMAP
: ::c_int
= 0o40000;
2412 pub const SHM_EXEC
: ::c_int
= 0o100000;
2414 pub const SHM_LOCK
: ::c_int
= 11;
2415 pub const SHM_UNLOCK
: ::c_int
= 12;
2417 pub const SHM_HUGETLB
: ::c_int
= 0o4000;
2418 pub const SHM_NORESERVE
: ::c_int
= 0o10000;
2420 pub const EPOLLRDHUP
: ::c_int
= 0x2000;
2421 pub const EPOLLEXCLUSIVE
: ::c_int
= 0x10000000;
2422 pub const EPOLLONESHOT
: ::c_int
= 0x40000000;
2424 pub const QFMT_VFS_OLD
: ::c_int
= 1;
2425 pub const QFMT_VFS_V0
: ::c_int
= 2;
2426 pub const QFMT_VFS_V1
: ::c_int
= 4;
2428 pub const EFD_SEMAPHORE
: ::c_int
= 0x1;
2430 pub const LOG_NFACILITIES
: ::c_int
= 24;
2432 pub const SEM_FAILED
: *mut ::sem_t
= 0 as *mut sem_t
;
2434 pub const RB_AUTOBOOT
: ::c_int
= 0x01234567u32 as i32;
2435 pub const RB_HALT_SYSTEM
: ::c_int
= 0xcdef0123u32 as i32;
2436 pub const RB_ENABLE_CAD
: ::c_int
= 0x89abcdefu32 as i32;
2437 pub const RB_DISABLE_CAD
: ::c_int
= 0x00000000u32 as i32;
2438 pub const RB_POWER_OFF
: ::c_int
= 0x4321fedcu32 as i32;
2439 pub const RB_SW_SUSPEND
: ::c_int
= 0xd000fce2u32 as i32;
2440 pub const RB_KEXEC
: ::c_int
= 0x45584543u32 as i32;
2442 pub const AI_PASSIVE
: ::c_int
= 0x0001;
2443 pub const AI_CANONNAME
: ::c_int
= 0x0002;
2444 pub const AI_NUMERICHOST
: ::c_int
= 0x0004;
2445 pub const AI_V4MAPPED
: ::c_int
= 0x0008;
2446 pub const AI_ALL
: ::c_int
= 0x0010;
2447 pub const AI_ADDRCONFIG
: ::c_int
= 0x0020;
2449 pub const AI_NUMERICSERV
: ::c_int
= 0x0400;
2451 pub const EAI_BADFLAGS
: ::c_int
= -1;
2452 pub const EAI_NONAME
: ::c_int
= -2;
2453 pub const EAI_AGAIN
: ::c_int
= -3;
2454 pub const EAI_FAIL
: ::c_int
= -4;
2455 pub const EAI_FAMILY
: ::c_int
= -6;
2456 pub const EAI_SOCKTYPE
: ::c_int
= -7;
2457 pub const EAI_SERVICE
: ::c_int
= -8;
2458 pub const EAI_MEMORY
: ::c_int
= -10;
2459 pub const EAI_OVERFLOW
: ::c_int
= -12;
2461 pub const NI_NUMERICHOST
: ::c_int
= 1;
2462 pub const NI_NUMERICSERV
: ::c_int
= 2;
2463 pub const NI_NOFQDN
: ::c_int
= 4;
2464 pub const NI_NAMEREQD
: ::c_int
= 8;
2465 pub const NI_DGRAM
: ::c_int
= 16;
2467 pub const SYNC_FILE_RANGE_WAIT_BEFORE
: ::c_uint
= 1;
2468 pub const SYNC_FILE_RANGE_WRITE
: ::c_uint
= 2;
2469 pub const SYNC_FILE_RANGE_WAIT_AFTER
: ::c_uint
= 4;
2471 pub const EAI_SYSTEM
: ::c_int
= -11;
2473 pub const AIO_CANCELED
: ::c_int
= 0;
2474 pub const AIO_NOTCANCELED
: ::c_int
= 1;
2475 pub const AIO_ALLDONE
: ::c_int
= 2;
2476 pub const LIO_READ
: ::c_int
= 0;
2477 pub const LIO_WRITE
: ::c_int
= 1;
2478 pub const LIO_NOP
: ::c_int
= 2;
2479 pub const LIO_WAIT
: ::c_int
= 0;
2480 pub const LIO_NOWAIT
: ::c_int
= 1;
2482 pub const MREMAP_MAYMOVE
: ::c_int
= 1;
2483 pub const MREMAP_FIXED
: ::c_int
= 2;
2485 pub const PR_SET_PDEATHSIG
: ::c_int
= 1;
2486 pub const PR_GET_PDEATHSIG
: ::c_int
= 2;
2488 pub const PR_GET_DUMPABLE
: ::c_int
= 3;
2489 pub const PR_SET_DUMPABLE
: ::c_int
= 4;
2491 pub const PR_GET_UNALIGN
: ::c_int
= 5;
2492 pub const PR_SET_UNALIGN
: ::c_int
= 6;
2493 pub const PR_UNALIGN_NOPRINT
: ::c_int
= 1;
2494 pub const PR_UNALIGN_SIGBUS
: ::c_int
= 2;
2496 pub const PR_GET_KEEPCAPS
: ::c_int
= 7;
2497 pub const PR_SET_KEEPCAPS
: ::c_int
= 8;
2499 pub const PR_GET_FPEMU
: ::c_int
= 9;
2500 pub const PR_SET_FPEMU
: ::c_int
= 10;
2501 pub const PR_FPEMU_NOPRINT
: ::c_int
= 1;
2502 pub const PR_FPEMU_SIGFPE
: ::c_int
= 2;
2504 pub const PR_GET_FPEXC
: ::c_int
= 11;
2505 pub const PR_SET_FPEXC
: ::c_int
= 12;
2506 pub const PR_FP_EXC_SW_ENABLE
: ::c_int
= 0x80;
2507 pub const PR_FP_EXC_DIV
: ::c_int
= 0x010000;
2508 pub const PR_FP_EXC_OVF
: ::c_int
= 0x020000;
2509 pub const PR_FP_EXC_UND
: ::c_int
= 0x040000;
2510 pub const PR_FP_EXC_RES
: ::c_int
= 0x080000;
2511 pub const PR_FP_EXC_INV
: ::c_int
= 0x100000;
2512 pub const PR_FP_EXC_DISABLED
: ::c_int
= 0;
2513 pub const PR_FP_EXC_NONRECOV
: ::c_int
= 1;
2514 pub const PR_FP_EXC_ASYNC
: ::c_int
= 2;
2515 pub const PR_FP_EXC_PRECISE
: ::c_int
= 3;
2517 pub const PR_GET_TIMING
: ::c_int
= 13;
2518 pub const PR_SET_TIMING
: ::c_int
= 14;
2519 pub const PR_TIMING_STATISTICAL
: ::c_int
= 0;
2520 pub const PR_TIMING_TIMESTAMP
: ::c_int
= 1;
2522 pub const PR_SET_NAME
: ::c_int
= 15;
2523 pub const PR_GET_NAME
: ::c_int
= 16;
2525 pub const PR_GET_ENDIAN
: ::c_int
= 19;
2526 pub const PR_SET_ENDIAN
: ::c_int
= 20;
2527 pub const PR_ENDIAN_BIG
: ::c_int
= 0;
2528 pub const PR_ENDIAN_LITTLE
: ::c_int
= 1;
2529 pub const PR_ENDIAN_PPC_LITTLE
: ::c_int
= 2;
2531 pub const PR_GET_SECCOMP
: ::c_int
= 21;
2532 pub const PR_SET_SECCOMP
: ::c_int
= 22;
2534 pub const PR_CAPBSET_READ
: ::c_int
= 23;
2535 pub const PR_CAPBSET_DROP
: ::c_int
= 24;
2537 pub const PR_GET_TSC
: ::c_int
= 25;
2538 pub const PR_SET_TSC
: ::c_int
= 26;
2539 pub const PR_TSC_ENABLE
: ::c_int
= 1;
2540 pub const PR_TSC_SIGSEGV
: ::c_int
= 2;
2542 pub const PR_GET_SECUREBITS
: ::c_int
= 27;
2543 pub const PR_SET_SECUREBITS
: ::c_int
= 28;
2545 pub const PR_SET_TIMERSLACK
: ::c_int
= 29;
2546 pub const PR_GET_TIMERSLACK
: ::c_int
= 30;
2548 pub const PR_TASK_PERF_EVENTS_DISABLE
: ::c_int
= 31;
2549 pub const PR_TASK_PERF_EVENTS_ENABLE
: ::c_int
= 32;
2551 pub const PR_MCE_KILL
: ::c_int
= 33;
2552 pub const PR_MCE_KILL_CLEAR
: ::c_int
= 0;
2553 pub const PR_MCE_KILL_SET
: ::c_int
= 1;
2555 pub const PR_MCE_KILL_LATE
: ::c_int
= 0;
2556 pub const PR_MCE_KILL_EARLY
: ::c_int
= 1;
2557 pub const PR_MCE_KILL_DEFAULT
: ::c_int
= 2;
2559 pub const PR_MCE_KILL_GET
: ::c_int
= 34;
2561 pub const PR_SET_MM
: ::c_int
= 35;
2562 pub const PR_SET_MM_START_CODE
: ::c_int
= 1;
2563 pub const PR_SET_MM_END_CODE
: ::c_int
= 2;
2564 pub const PR_SET_MM_START_DATA
: ::c_int
= 3;
2565 pub const PR_SET_MM_END_DATA
: ::c_int
= 4;
2566 pub const PR_SET_MM_START_STACK
: ::c_int
= 5;
2567 pub const PR_SET_MM_START_BRK
: ::c_int
= 6;
2568 pub const PR_SET_MM_BRK
: ::c_int
= 7;
2569 pub const PR_SET_MM_ARG_START
: ::c_int
= 8;
2570 pub const PR_SET_MM_ARG_END
: ::c_int
= 9;
2571 pub const PR_SET_MM_ENV_START
: ::c_int
= 10;
2572 pub const PR_SET_MM_ENV_END
: ::c_int
= 11;
2573 pub const PR_SET_MM_AUXV
: ::c_int
= 12;
2574 pub const PR_SET_MM_EXE_FILE
: ::c_int
= 13;
2575 pub const PR_SET_MM_MAP
: ::c_int
= 14;
2576 pub const PR_SET_MM_MAP_SIZE
: ::c_int
= 15;
2578 pub const PR_SET_PTRACER
: ::c_int
= 0x59616d61;
2580 pub const PR_SET_CHILD_SUBREAPER
: ::c_int
= 36;
2581 pub const PR_GET_CHILD_SUBREAPER
: ::c_int
= 37;
2583 pub const PR_SET_NO_NEW_PRIVS
: ::c_int
= 38;
2584 pub const PR_GET_NO_NEW_PRIVS
: ::c_int
= 39;
2586 pub const PR_GET_TID_ADDRESS
: ::c_int
= 40;
2588 pub const PR_SET_THP_DISABLE
: ::c_int
= 41;
2589 pub const PR_GET_THP_DISABLE
: ::c_int
= 42;
2591 pub const PR_MPX_ENABLE_MANAGEMENT
: ::c_int
= 43;
2592 pub const PR_MPX_DISABLE_MANAGEMENT
: ::c_int
= 44;
2594 pub const PR_SET_FP_MODE
: ::c_int
= 45;
2595 pub const PR_GET_FP_MODE
: ::c_int
= 46;
2596 pub const PR_FP_MODE_FR
: ::c_int
= 1 << 0;
2597 pub const PR_FP_MODE_FRE
: ::c_int
= 1 << 1;
2599 pub const PR_CAP_AMBIENT
: ::c_int
= 47;
2600 pub const PR_CAP_AMBIENT_IS_SET
: ::c_int
= 1;
2601 pub const PR_CAP_AMBIENT_RAISE
: ::c_int
= 2;
2602 pub const PR_CAP_AMBIENT_LOWER
: ::c_int
= 3;
2603 pub const PR_CAP_AMBIENT_CLEAR_ALL
: ::c_int
= 4;
2605 pub const ITIMER_REAL
: ::c_int
= 0;
2606 pub const ITIMER_VIRTUAL
: ::c_int
= 1;
2607 pub const ITIMER_PROF
: ::c_int
= 2;
2609 pub const TFD_CLOEXEC
: ::c_int
= O_CLOEXEC
;
2610 pub const TFD_NONBLOCK
: ::c_int
= O_NONBLOCK
;
2611 pub const TFD_TIMER_ABSTIME
: ::c_int
= 1;
2613 pub const XATTR_CREATE
: ::c_int
= 0x1;
2614 pub const XATTR_REPLACE
: ::c_int
= 0x2;
2616 pub const _POSIX_VDISABLE
: ::cc_t
= 0;
2618 pub const FALLOC_FL_KEEP_SIZE
: ::c_int
= 0x01;
2619 pub const FALLOC_FL_PUNCH_HOLE
: ::c_int
= 0x02;
2620 pub const FALLOC_FL_COLLAPSE_RANGE
: ::c_int
= 0x08;
2621 pub const FALLOC_FL_ZERO_RANGE
: ::c_int
= 0x10;
2622 pub const FALLOC_FL_INSERT_RANGE
: ::c_int
= 0x20;
2623 pub const FALLOC_FL_UNSHARE_RANGE
: ::c_int
= 0x40;
2625 // On Linux, libc doesn't define this constant, libattr does instead.
2626 // We still define it for Linux as it's defined by libc on other platforms,
2627 // and it's mentioned in the man pages for getxattr and setxattr.
2628 pub const ENOATTR
: ::c_int
= ::ENODATA
;
2630 pub const SO_ORIGINAL_DST
: ::c_int
= 80;
2631 pub const IUTF8
: ::tcflag_t
= 0x00004000;
2632 pub const CMSPAR
: ::tcflag_t
= 0o10000000000;
2634 pub const MFD_CLOEXEC
: ::c_uint
= 0x0001;
2635 pub const MFD_ALLOW_SEALING
: ::c_uint
= 0x0002;
2637 // these are used in the p_type field of Elf32_Phdr and Elf64_Phdr, which has
2638 // the type Elf32Word and Elf64Word respectively. Luckily, both of those are u32
2639 // so we can use that type here to avoid having to cast.
2640 pub const PT_NULL
: u32 = 0;
2641 pub const PT_LOAD
: u32 = 1;
2642 pub const PT_DYNAMIC
: u32 = 2;
2643 pub const PT_INTERP
: u32 = 3;
2644 pub const PT_NOTE
: u32 = 4;
2645 pub const PT_SHLIB
: u32 = 5;
2646 pub const PT_PHDR
: u32 = 6;
2647 pub const PT_TLS
: u32 = 7;
2648 pub const PT_NUM
: u32 = 8;
2649 pub const PT_LOOS
: u32 = 0x60000000;
2650 pub const PT_GNU_EH_FRAME
: u32 = 0x6474e550;
2651 pub const PT_GNU_STACK
: u32 = 0x6474e551;
2652 pub const PT_GNU_RELRO
: u32 = 0x6474e552;
2654 pub const SFD_CLOEXEC
: ::c_int
= 0x080000;
2656 pub const NCCS
: usize = 32;
2658 pub const O_TRUNC
: ::c_int
= 0x00040000;
2659 pub const O_NOATIME
: ::c_int
= 0x00002000;
2660 pub const O_CLOEXEC
: ::c_int
= 0x00000100;
2661 pub const O_TMPFILE
: ::c_int
= 0x00004000;
2663 pub const EBFONT
: ::c_int
= 59;
2664 pub const ENOSTR
: ::c_int
= 60;
2665 pub const ENODATA
: ::c_int
= 61;
2666 pub const ETIME
: ::c_int
= 62;
2667 pub const ENOSR
: ::c_int
= 63;
2668 pub const ENONET
: ::c_int
= 64;
2669 pub const ENOPKG
: ::c_int
= 65;
2670 pub const EREMOTE
: ::c_int
= 66;
2671 pub const ENOLINK
: ::c_int
= 67;
2672 pub const EADV
: ::c_int
= 68;
2673 pub const ESRMNT
: ::c_int
= 69;
2674 pub const ECOMM
: ::c_int
= 70;
2675 pub const EPROTO
: ::c_int
= 71;
2676 pub const EDOTDOT
: ::c_int
= 73;
2678 pub const SA_NODEFER
: ::c_int
= 0x40000000;
2679 pub const SA_RESETHAND
: ::c_int
= 0x80000000;
2680 pub const SA_RESTART
: ::c_int
= 0x10000000;
2681 pub const SA_NOCLDSTOP
: ::c_int
= 0x00000001;
2683 pub const EPOLL_CLOEXEC
: ::c_int
= 0x80000;
2685 pub const EFD_CLOEXEC
: ::c_int
= 0x80000;
2687 pub const BUFSIZ
: ::c_uint
= 1024;
2688 pub const TMP_MAX
: ::c_uint
= 10000;
2689 pub const FOPEN_MAX
: ::c_uint
= 1000;
2690 pub const O_PATH
: ::c_int
= 0x00400000;
2691 pub const O_EXEC
: ::c_int
= O_PATH
;
2692 pub const O_SEARCH
: ::c_int
= O_PATH
;
2693 pub const O_ACCMODE
: ::c_int
= 03 | O_SEARCH
;
2694 pub const O_NDELAY
: ::c_int
= O_NONBLOCK
;
2695 pub const NI_MAXHOST
: ::socklen_t
= 255;
2696 pub const PTHREAD_STACK_MIN
: ::size_t
= 2048;
2697 pub const POSIX_FADV_DONTNEED
: ::c_int
= 4;
2698 pub const POSIX_FADV_NOREUSE
: ::c_int
= 5;
2700 pub const POSIX_MADV_DONTNEED
: ::c_int
= 4;
2702 pub const RLIM_INFINITY
: ::rlim_t
= !0;
2703 pub const RLIMIT_RTTIME
: ::c_int
= 15;
2704 pub const RLIMIT_NLIMITS
: ::c_int
= 16;
2706 pub const MAP_ANONYMOUS
: ::c_int
= MAP_ANON
;
2708 pub const SOCK_DCCP
: ::c_int
= 6;
2709 pub const SOCK_PACKET
: ::c_int
= 10;
2711 pub const TCP_COOKIE_TRANSACTIONS
: ::c_int
= 15;
2712 pub const TCP_THIN_LINEAR_TIMEOUTS
: ::c_int
= 16;
2713 pub const TCP_THIN_DUPACK
: ::c_int
= 17;
2714 pub const TCP_USER_TIMEOUT
: ::c_int
= 18;
2715 pub const TCP_REPAIR
: ::c_int
= 19;
2716 pub const TCP_REPAIR_QUEUE
: ::c_int
= 20;
2717 pub const TCP_QUEUE_SEQ
: ::c_int
= 21;
2718 pub const TCP_REPAIR_OPTIONS
: ::c_int
= 22;
2719 pub const TCP_FASTOPEN
: ::c_int
= 23;
2720 pub const TCP_TIMESTAMP
: ::c_int
= 24;
2722 pub const SIGUNUSED
: ::c_int
= ::SIGSYS
;
2724 pub const __SIZEOF_PTHREAD_CONDATTR_T
: usize = 4;
2725 pub const __SIZEOF_PTHREAD_MUTEXATTR_T
: usize = 4;
2726 pub const __SIZEOF_PTHREAD_RWLOCKATTR_T
: usize = 8;
2728 pub const CPU_SETSIZE
: ::c_int
= 128;
2730 pub const PTRACE_TRACEME
: ::c_int
= 0;
2731 pub const PTRACE_PEEKTEXT
: ::c_int
= 1;
2732 pub const PTRACE_PEEKDATA
: ::c_int
= 2;
2733 pub const PTRACE_PEEKUSER
: ::c_int
= 3;
2734 pub const PTRACE_POKETEXT
: ::c_int
= 4;
2735 pub const PTRACE_POKEDATA
: ::c_int
= 5;
2736 pub const PTRACE_POKEUSER
: ::c_int
= 6;
2737 pub const PTRACE_CONT
: ::c_int
= 7;
2738 pub const PTRACE_KILL
: ::c_int
= 8;
2739 pub const PTRACE_SINGLESTEP
: ::c_int
= 9;
2740 pub const PTRACE_GETREGS
: ::c_int
= 12;
2741 pub const PTRACE_SETREGS
: ::c_int
= 13;
2742 pub const PTRACE_GETFPREGS
: ::c_int
= 14;
2743 pub const PTRACE_SETFPREGS
: ::c_int
= 15;
2744 pub const PTRACE_ATTACH
: ::c_int
= 16;
2745 pub const PTRACE_DETACH
: ::c_int
= 17;
2746 pub const PTRACE_GETFPXREGS
: ::c_int
= 18;
2747 pub const PTRACE_SETFPXREGS
: ::c_int
= 19;
2748 pub const PTRACE_SYSCALL
: ::c_int
= 24;
2749 pub const PTRACE_SETOPTIONS
: ::c_int
= 0x4200;
2750 pub const PTRACE_GETEVENTMSG
: ::c_int
= 0x4201;
2751 pub const PTRACE_GETSIGINFO
: ::c_int
= 0x4202;
2752 pub const PTRACE_SETSIGINFO
: ::c_int
= 0x4203;
2753 pub const PTRACE_GETREGSET
: ::c_int
= 0x4204;
2754 pub const PTRACE_SETREGSET
: ::c_int
= 0x4205;
2755 pub const PTRACE_SEIZE
: ::c_int
= 0x4206;
2756 pub const PTRACE_INTERRUPT
: ::c_int
= 0x4207;
2757 pub const PTRACE_LISTEN
: ::c_int
= 0x4208;
2758 pub const PTRACE_PEEKSIGINFO
: ::c_int
= 0x4209;
2760 pub const EPOLLWAKEUP
: ::c_int
= 0x20000000;
2762 pub const EFD_NONBLOCK
: ::c_int
= ::O_NONBLOCK
;
2764 pub const SFD_NONBLOCK
: ::c_int
= ::O_NONBLOCK
;
2766 pub const TCSANOW
: ::c_int
= 0;
2767 pub const TCSADRAIN
: ::c_int
= 1;
2768 pub const TCSAFLUSH
: ::c_int
= 2;
2770 pub const TIOCINQ
: ::c_int
= ::FIONREAD
;
2772 pub const RTLD_GLOBAL
: ::c_int
= 0x100;
2773 pub const RTLD_NOLOAD
: ::c_int
= 0x4;
2775 pub const MCL_CURRENT
: ::c_int
= 0x0001;
2776 pub const MCL_FUTURE
: ::c_int
= 0x0002;
2778 pub const CBAUD
: ::tcflag_t
= 0o0010017;
2779 pub const TAB1
: ::c_int
= 0x00000800;
2780 pub const TAB2
: ::c_int
= 0x00001000;
2781 pub const TAB3
: ::c_int
= 0x00001800;
2782 pub const CR1
: ::c_int
= 0x00000200;
2783 pub const CR2
: ::c_int
= 0x00000400;
2784 pub const CR3
: ::c_int
= 0x00000600;
2785 pub const FF1
: ::c_int
= 0x00008000;
2786 pub const BS1
: ::c_int
= 0x00002000;
2787 pub const VT1
: ::c_int
= 0x00004000;
2788 pub const VWERASE
: usize = 14;
2789 pub const VREPRINT
: usize = 12;
2790 pub const VSUSP
: usize = 10;
2791 pub const VSTART
: usize = 8;
2792 pub const VSTOP
: usize = 9;
2793 pub const VDISCARD
: usize = 13;
2794 pub const VTIME
: usize = 5;
2795 pub const IXON
: ::tcflag_t
= 0x00000400;
2796 pub const IXOFF
: ::tcflag_t
= 0x00001000;
2797 pub const ONLCR
: ::tcflag_t
= 0x4;
2798 pub const CSIZE
: ::tcflag_t
= 0x00000030;
2799 pub const CS6
: ::tcflag_t
= 0x00000010;
2800 pub const CS7
: ::tcflag_t
= 0x00000020;
2801 pub const CS8
: ::tcflag_t
= 0x00000030;
2802 pub const CSTOPB
: ::tcflag_t
= 0x00000040;
2803 pub const CREAD
: ::tcflag_t
= 0x00000080;
2804 pub const PARENB
: ::tcflag_t
= 0x00000100;
2805 pub const PARODD
: ::tcflag_t
= 0x00000200;
2806 pub const HUPCL
: ::tcflag_t
= 0x00000400;
2807 pub const CLOCAL
: ::tcflag_t
= 0x00000800;
2808 pub const ECHOKE
: ::tcflag_t
= 0x00000800;
2809 pub const ECHOE
: ::tcflag_t
= 0x00000010;
2810 pub const ECHOK
: ::tcflag_t
= 0x00000020;
2811 pub const ECHONL
: ::tcflag_t
= 0x00000040;
2812 pub const ECHOPRT
: ::tcflag_t
= 0x00000400;
2813 pub const ECHOCTL
: ::tcflag_t
= 0x00000200;
2814 pub const ISIG
: ::tcflag_t
= 0x00000001;
2815 pub const ICANON
: ::tcflag_t
= 0x00000002;
2816 pub const PENDIN
: ::tcflag_t
= 0x00004000;
2817 pub const NOFLSH
: ::tcflag_t
= 0x00000080;
2818 pub const CIBAUD
: ::tcflag_t
= 0o02003600000;
2819 pub const CBAUDEX
: ::tcflag_t
= 0o010000;
2820 pub const VSWTC
: usize = 7;
2821 pub const OLCUC
: ::tcflag_t
= 0o000002;
2822 pub const NLDLY
: ::tcflag_t
= 0o000400;
2823 pub const CRDLY
: ::tcflag_t
= 0o003000;
2824 pub const TABDLY
: ::tcflag_t
= 0o014000;
2825 pub const BSDLY
: ::tcflag_t
= 0o020000;
2826 pub const FFDLY
: ::tcflag_t
= 0o100000;
2827 pub const VTDLY
: ::tcflag_t
= 0o040000;
2828 pub const XTABS
: ::tcflag_t
= 0o014000;
2830 pub const B0
: ::speed_t
= 0o000000;
2831 pub const B50
: ::speed_t
= 0o000001;
2832 pub const B75
: ::speed_t
= 0o000002;
2833 pub const B110
: ::speed_t
= 0o000003;
2834 pub const B134
: ::speed_t
= 0o000004;
2835 pub const B150
: ::speed_t
= 0o000005;
2836 pub const B200
: ::speed_t
= 0o000006;
2837 pub const B300
: ::speed_t
= 0o000007;
2838 pub const B600
: ::speed_t
= 0o000010;
2839 pub const B1200
: ::speed_t
= 0o000011;
2840 pub const B1800
: ::speed_t
= 0o000012;
2841 pub const B2400
: ::speed_t
= 0o000013;
2842 pub const B4800
: ::speed_t
= 0o000014;
2843 pub const B9600
: ::speed_t
= 0o000015;
2844 pub const B19200
: ::speed_t
= 0o000016;
2845 pub const B38400
: ::speed_t
= 0o000017;
2846 pub const EXTA
: ::speed_t
= B19200
;
2847 pub const EXTB
: ::speed_t
= B38400
;
2848 pub const B57600
: ::speed_t
= 0o010001;
2849 pub const B115200
: ::speed_t
= 0o010002;
2850 pub const B230400
: ::speed_t
= 0o010003;
2851 pub const B460800
: ::speed_t
= 0o010004;
2852 pub const B500000
: ::speed_t
= 0o010005;
2853 pub const B576000
: ::speed_t
= 0o010006;
2854 pub const B921600
: ::speed_t
= 0o010007;
2855 pub const B1000000
: ::speed_t
= 0o010010;
2856 pub const B1152000
: ::speed_t
= 0o010011;
2857 pub const B1500000
: ::speed_t
= 0o010012;
2858 pub const B2000000
: ::speed_t
= 0o010013;
2859 pub const B2500000
: ::speed_t
= 0o010014;
2860 pub const B3000000
: ::speed_t
= 0o010015;
2861 pub const B3500000
: ::speed_t
= 0o010016;
2862 pub const B4000000
: ::speed_t
= 0o010017;
2864 pub const SO_BINDTODEVICE
: ::c_int
= 25;
2865 pub const SO_TIMESTAMP
: ::c_int
= 29;
2866 pub const SO_MARK
: ::c_int
= 36;
2867 pub const SO_RXQ_OVFL
: ::c_int
= 40;
2868 pub const SO_PEEK_OFF
: ::c_int
= 42;
2869 pub const SO_BUSY_POLL
: ::c_int
= 46;
2871 pub const __SIZEOF_PTHREAD_RWLOCK_T
: usize = 56;
2872 pub const __SIZEOF_PTHREAD_MUTEX_T
: usize = 40;
2874 pub const O_ASYNC
: ::c_int
= 0x00000400;
2876 pub const FIOCLEX
: ::c_int
= 0x5451;
2877 pub const FIONBIO
: ::c_int
= 0x5421;
2879 pub const RLIMIT_RSS
: ::c_int
= 5;
2880 pub const RLIMIT_NOFILE
: ::c_int
= 7;
2881 pub const RLIMIT_AS
: ::c_int
= 9;
2882 pub const RLIMIT_NPROC
: ::c_int
= 6;
2883 pub const RLIMIT_MEMLOCK
: ::c_int
= 8;
2885 pub const O_APPEND
: ::c_int
= 0x00100000;
2886 pub const O_CREAT
: ::c_int
= 0x00010000;
2887 pub const O_EXCL
: ::c_int
= 0x00020000;
2888 pub const O_NOCTTY
: ::c_int
= 0x00000200;
2889 pub const O_NONBLOCK
: ::c_int
= 0x00000010;
2890 pub const O_SYNC
: ::c_int
= 0x00000040 | O_DSYNC
;
2891 pub const O_RSYNC
: ::c_int
= O_SYNC
;
2892 pub const O_DSYNC
: ::c_int
= 0x00000020;
2894 pub const SOCK_NONBLOCK
: ::c_int
= 2048;
2896 pub const MAP_ANON
: ::c_int
= 0x0020;
2897 pub const MAP_GROWSDOWN
: ::c_int
= 0x0100;
2898 pub const MAP_DENYWRITE
: ::c_int
= 0x0800;
2899 pub const MAP_EXECUTABLE
: ::c_int
= 0x01000;
2900 pub const MAP_LOCKED
: ::c_int
= 0x02000;
2901 pub const MAP_NORESERVE
: ::c_int
= 0x04000;
2902 pub const MAP_POPULATE
: ::c_int
= 0x08000;
2903 pub const MAP_NONBLOCK
: ::c_int
= 0x010000;
2904 pub const MAP_STACK
: ::c_int
= 0x020000;
2906 pub const SOCK_STREAM
: ::c_int
= 1;
2907 pub const SOCK_DGRAM
: ::c_int
= 2;
2908 pub const SOCK_SEQPACKET
: ::c_int
= 5;
2910 pub const SOL_SOCKET
: ::c_int
= 1;
2912 pub const EDEADLK
: ::c_int
= 35;
2913 pub const ENAMETOOLONG
: ::c_int
= 36;
2914 pub const ENOLCK
: ::c_int
= 37;
2915 pub const ENOSYS
: ::c_int
= 38;
2916 pub const ENOTEMPTY
: ::c_int
= 39;
2917 pub const ELOOP
: ::c_int
= 40;
2918 pub const ENOMSG
: ::c_int
= 42;
2919 pub const EIDRM
: ::c_int
= 43;
2920 pub const ECHRNG
: ::c_int
= 44;
2921 pub const EL2NSYNC
: ::c_int
= 45;
2922 pub const EL3HLT
: ::c_int
= 46;
2923 pub const EL3RST
: ::c_int
= 47;
2924 pub const ELNRNG
: ::c_int
= 48;
2925 pub const EUNATCH
: ::c_int
= 49;
2926 pub const ENOCSI
: ::c_int
= 50;
2927 pub const EL2HLT
: ::c_int
= 51;
2928 pub const EBADE
: ::c_int
= 52;
2929 pub const EBADR
: ::c_int
= 53;
2930 pub const EXFULL
: ::c_int
= 54;
2931 pub const ENOANO
: ::c_int
= 55;
2932 pub const EBADRQC
: ::c_int
= 56;
2933 pub const EBADSLT
: ::c_int
= 57;
2934 pub const EDEADLOCK
: ::c_int
= EDEADLK
;
2935 pub const EMULTIHOP
: ::c_int
= 72;
2936 pub const EBADMSG
: ::c_int
= 74;
2937 pub const EOVERFLOW
: ::c_int
= 75;
2938 pub const ENOTUNIQ
: ::c_int
= 76;
2939 pub const EBADFD
: ::c_int
= 77;
2940 pub const EREMCHG
: ::c_int
= 78;
2941 pub const ELIBACC
: ::c_int
= 79;
2942 pub const ELIBBAD
: ::c_int
= 80;
2943 pub const ELIBSCN
: ::c_int
= 81;
2944 pub const ELIBMAX
: ::c_int
= 82;
2945 pub const ELIBEXEC
: ::c_int
= 83;
2946 pub const EILSEQ
: ::c_int
= 84;
2947 pub const ERESTART
: ::c_int
= 85;
2948 pub const ESTRPIPE
: ::c_int
= 86;
2949 pub const EUSERS
: ::c_int
= 87;
2950 pub const ENOTSOCK
: ::c_int
= 88;
2951 pub const EDESTADDRREQ
: ::c_int
= 89;
2952 pub const EMSGSIZE
: ::c_int
= 90;
2953 pub const EPROTOTYPE
: ::c_int
= 91;
2954 pub const ENOPROTOOPT
: ::c_int
= 92;
2955 pub const EPROTONOSUPPORT
: ::c_int
= 93;
2956 pub const ESOCKTNOSUPPORT
: ::c_int
= 94;
2957 pub const EOPNOTSUPP
: ::c_int
= 95;
2958 pub const ENOTSUP
: ::c_int
= EOPNOTSUPP
;
2959 pub const EPFNOSUPPORT
: ::c_int
= 96;
2960 pub const EAFNOSUPPORT
: ::c_int
= 97;
2961 pub const EADDRINUSE
: ::c_int
= 98;
2962 pub const EADDRNOTAVAIL
: ::c_int
= 99;
2963 pub const ENETDOWN
: ::c_int
= 100;
2964 pub const ENETUNREACH
: ::c_int
= 101;
2965 pub const ENETRESET
: ::c_int
= 102;
2966 pub const ECONNABORTED
: ::c_int
= 103;
2967 pub const ECONNRESET
: ::c_int
= 104;
2968 pub const ENOBUFS
: ::c_int
= 105;
2969 pub const EISCONN
: ::c_int
= 106;
2970 pub const ENOTCONN
: ::c_int
= 107;
2971 pub const ESHUTDOWN
: ::c_int
= 108;
2972 pub const ETOOMANYREFS
: ::c_int
= 109;
2973 pub const ETIMEDOUT
: ::c_int
= 110;
2974 pub const ECONNREFUSED
: ::c_int
= 111;
2975 pub const EHOSTDOWN
: ::c_int
= 112;
2976 pub const EHOSTUNREACH
: ::c_int
= 113;
2977 pub const EALREADY
: ::c_int
= 114;
2978 pub const EINPROGRESS
: ::c_int
= 115;
2979 pub const ESTALE
: ::c_int
= 116;
2980 pub const EUCLEAN
: ::c_int
= 117;
2981 pub const ENOTNAM
: ::c_int
= 118;
2982 pub const ENAVAIL
: ::c_int
= 119;
2983 pub const EISNAM
: ::c_int
= 120;
2984 pub const EREMOTEIO
: ::c_int
= 121;
2985 pub const EDQUOT
: ::c_int
= 122;
2986 pub const ENOMEDIUM
: ::c_int
= 123;
2987 pub const EMEDIUMTYPE
: ::c_int
= 124;
2988 pub const ECANCELED
: ::c_int
= 125;
2989 pub const ENOKEY
: ::c_int
= 126;
2990 pub const EKEYEXPIRED
: ::c_int
= 127;
2991 pub const EKEYREVOKED
: ::c_int
= 128;
2992 pub const EKEYREJECTED
: ::c_int
= 129;
2993 pub const EOWNERDEAD
: ::c_int
= 130;
2994 pub const ENOTRECOVERABLE
: ::c_int
= 131;
2995 pub const ERFKILL
: ::c_int
= 132;
2996 pub const EHWPOISON
: ::c_int
= 133;
2998 pub const SO_REUSEADDR
: ::c_int
= 2;
2999 pub const SO_TYPE
: ::c_int
= 3;
3000 pub const SO_ERROR
: ::c_int
= 4;
3001 pub const SO_DONTROUTE
: ::c_int
= 5;
3002 pub const SO_BROADCAST
: ::c_int
= 6;
3003 pub const SO_SNDBUF
: ::c_int
= 7;
3004 pub const SO_RCVBUF
: ::c_int
= 8;
3005 pub const SO_KEEPALIVE
: ::c_int
= 9;
3006 pub const SO_OOBINLINE
: ::c_int
= 10;
3007 pub const SO_NO_CHECK
: ::c_int
= 11;
3008 pub const SO_PRIORITY
: ::c_int
= 12;
3009 pub const SO_LINGER
: ::c_int
= 13;
3010 pub const SO_BSDCOMPAT
: ::c_int
= 14;
3011 pub const SO_REUSEPORT
: ::c_int
= 15;
3012 pub const SO_PASSCRED
: ::c_int
= 16;
3013 pub const SO_PEERCRED
: ::c_int
= 17;
3014 pub const SO_RCVLOWAT
: ::c_int
= 18;
3015 pub const SO_SNDLOWAT
: ::c_int
= 19;
3016 pub const SO_RCVTIMEO
: ::c_int
= 20;
3017 pub const SO_SNDTIMEO
: ::c_int
= 21;
3018 pub const SO_ACCEPTCONN
: ::c_int
= 30;
3019 pub const SO_SNDBUFFORCE
: ::c_int
= 32;
3020 pub const SO_RCVBUFFORCE
: ::c_int
= 33;
3021 pub const SO_PROTOCOL
: ::c_int
= 38;
3022 pub const SO_DOMAIN
: ::c_int
= 39;
3024 pub const SA_ONSTACK
: ::c_int
= 0x08000000;
3025 pub const SA_SIGINFO
: ::c_int
= 0x00000004;
3026 pub const SA_NOCLDWAIT
: ::c_int
= 0x00000002;
3028 pub const SIGCHLD
: ::c_int
= 17;
3029 pub const SIGBUS
: ::c_int
= 7;
3030 pub const SIGTTIN
: ::c_int
= 21;
3031 pub const SIGTTOU
: ::c_int
= 22;
3032 pub const SIGXCPU
: ::c_int
= 24;
3033 pub const SIGXFSZ
: ::c_int
= 25;
3034 pub const SIGVTALRM
: ::c_int
= 26;
3035 pub const SIGPROF
: ::c_int
= 27;
3036 pub const SIGWINCH
: ::c_int
= 28;
3037 pub const SIGUSR1
: ::c_int
= 10;
3038 pub const SIGUSR2
: ::c_int
= 12;
3039 pub const SIGCONT
: ::c_int
= 18;
3040 pub const SIGSTOP
: ::c_int
= 19;
3041 pub const SIGTSTP
: ::c_int
= 20;
3042 pub const SIGURG
: ::c_int
= 23;
3043 pub const SIGIO
: ::c_int
= 29;
3044 pub const SIGSYS
: ::c_int
= 31;
3045 pub const SIGSTKFLT
: ::c_int
= 16;
3046 pub const SIGPOLL
: ::c_int
= 29;
3047 pub const SIGPWR
: ::c_int
= 30;
3048 pub const SIG_SETMASK
: ::c_int
= 2;
3049 pub const SIG_BLOCK
: ::c_int
= 0x000000;
3050 pub const SIG_UNBLOCK
: ::c_int
= 0x01;
3052 pub const EXTPROC
: ::tcflag_t
= 0x00010000;
3054 pub const MAP_HUGETLB
: ::c_int
= 0x040000;
3056 pub const F_GETLK
: ::c_int
= 5;
3057 pub const F_GETOWN
: ::c_int
= 9;
3058 pub const F_SETLK
: ::c_int
= 6;
3059 pub const F_SETLKW
: ::c_int
= 7;
3060 pub const F_SETOWN
: ::c_int
= 8;
3062 pub const VEOF
: usize = 4;
3063 pub const VEOL
: usize = 11;
3064 pub const VEOL2
: usize = 16;
3065 pub const VMIN
: usize = 6;
3066 pub const IEXTEN
: ::tcflag_t
= 0x00008000;
3067 pub const TOSTOP
: ::tcflag_t
= 0x00000100;
3068 pub const FLUSHO
: ::tcflag_t
= 0x00001000;
3070 pub const TCGETS
: ::c_int
= 0x5401;
3071 pub const TCSETS
: ::c_int
= 0x5402;
3072 pub const TCSETSW
: ::c_int
= 0x5403;
3073 pub const TCSETSF
: ::c_int
= 0x5404;
3074 pub const TCGETA
: ::c_int
= 0x5405;
3075 pub const TCSETA
: ::c_int
= 0x5406;
3076 pub const TCSETAW
: ::c_int
= 0x5407;
3077 pub const TCSETAF
: ::c_int
= 0x5408;
3078 pub const TCSBRK
: ::c_int
= 0x5409;
3079 pub const TCXONC
: ::c_int
= 0x540A;
3080 pub const TCFLSH
: ::c_int
= 0x540B;
3081 pub const TIOCGSOFTCAR
: ::c_int
= 0x5419;
3082 pub const TIOCSSOFTCAR
: ::c_int
= 0x541A;
3083 pub const TIOCLINUX
: ::c_int
= 0x541C;
3084 pub const TIOCGSERIAL
: ::c_int
= 0x541E;
3085 pub const TIOCEXCL
: ::c_int
= 0x540C;
3086 pub const TIOCNXCL
: ::c_int
= 0x540D;
3087 pub const TIOCSCTTY
: ::c_int
= 0x540E;
3088 pub const TIOCGPGRP
: ::c_int
= 0x540F;
3089 pub const TIOCSPGRP
: ::c_int
= 0x5410;
3090 pub const TIOCOUTQ
: ::c_int
= 0x5411;
3091 pub const TIOCSTI
: ::c_int
= 0x5412;
3092 pub const TIOCGWINSZ
: ::c_int
= 0x5413;
3093 pub const TIOCSWINSZ
: ::c_int
= 0x5414;
3094 pub const TIOCMGET
: ::c_int
= 0x5415;
3095 pub const TIOCMBIS
: ::c_int
= 0x5416;
3096 pub const TIOCMBIC
: ::c_int
= 0x5417;
3097 pub const TIOCMSET
: ::c_int
= 0x5418;
3098 pub const FIONREAD
: ::c_int
= 0x541B;
3099 pub const TIOCCONS
: ::c_int
= 0x541D;
3101 pub const POLLWRNORM
: ::c_short
= 0x100;
3102 pub const POLLWRBAND
: ::c_short
= 0x200;
3104 pub const TIOCM_LE
: ::c_int
= 0x001;
3105 pub const TIOCM_DTR
: ::c_int
= 0x002;
3106 pub const TIOCM_RTS
: ::c_int
= 0x004;
3107 pub const TIOCM_ST
: ::c_int
= 0x008;
3108 pub const TIOCM_SR
: ::c_int
= 0x010;
3109 pub const TIOCM_CTS
: ::c_int
= 0x020;
3110 pub const TIOCM_CAR
: ::c_int
= 0x040;
3111 pub const TIOCM_RNG
: ::c_int
= 0x080;
3112 pub const TIOCM_DSR
: ::c_int
= 0x100;
3113 pub const TIOCM_CD
: ::c_int
= TIOCM_CAR
;
3114 pub const TIOCM_RI
: ::c_int
= TIOCM_RNG
;
3116 pub const O_DIRECTORY
: ::c_int
= 0x00080000;
3117 pub const O_DIRECT
: ::c_int
= 0x00000800;
3118 pub const O_LARGEFILE
: ::c_int
= 0x00001000;
3119 pub const O_NOFOLLOW
: ::c_int
= 0x00000080;
3121 // intentionally not public, only used for fd_set
3123 if #[cfg(target_pointer_width = "32")] {
3124 const ULONG_SIZE
: usize = 32;
3125 } else if #[cfg(target_pointer_width = "64")] {
3126 const ULONG_SIZE
: usize = 64;
3128 // Unknown target_pointer_width
3135 pub fn FD_CLR(fd
: ::c_int
, set
: *mut fd_set
) -> () {
3136 let fd
= fd
as usize;
3137 let size
= ::mem
::size_of_val(&(*set
).fds_bits
[0]) * 8;
3138 (*set
).fds_bits
[fd
/ size
] &= !(1 << (fd
% size
));
3142 pub fn FD_ISSET(fd
: ::c_int
, set
: *mut fd_set
) -> bool
{
3143 let fd
= fd
as usize;
3144 let size
= ::mem
::size_of_val(&(*set
).fds_bits
[0]) * 8;
3145 return ((*set
).fds_bits
[fd
/ size
] & (1 << (fd
% size
))) != 0
3148 pub fn FD_SET(fd
: ::c_int
, set
: *mut fd_set
) -> () {
3149 let fd
= fd
as usize;
3150 let size
= ::mem
::size_of_val(&(*set
).fds_bits
[0]) * 8;
3151 (*set
).fds_bits
[fd
/ size
] |= 1 << (fd
% size
);
3155 pub fn FD_ZERO(set
: *mut fd_set
) -> () {
3156 for slot
in (*set
).fds_bits
.iter_mut() {
3161 pub fn CPU_ZERO(cpuset
: &mut cpu_set_t
) -> () {
3162 for slot
in cpuset
.bits
.iter_mut() {
3167 pub fn CPU_SET(cpu
: usize, cpuset
: &mut cpu_set_t
) -> () {
3169 = 8 * ::mem
::size_of_val(&cpuset
.bits
[0]); // 32, 64 etc
3170 let (idx
, offset
) = (cpu
/ size_in_bits
, cpu
% size_in_bits
);
3171 cpuset
.bits
[idx
] |= 1 << offset
;
3175 pub fn CPU_CLR(cpu
: usize, cpuset
: &mut cpu_set_t
) -> () {
3177 = 8 * ::mem
::size_of_val(&cpuset
.bits
[0]); // 32, 64 etc
3178 let (idx
, offset
) = (cpu
/ size_in_bits
, cpu
% size_in_bits
);
3179 cpuset
.bits
[idx
] &= !(1 << offset
);
3183 pub fn CPU_ISSET(cpu
: usize, cpuset
: &cpu_set_t
) -> bool
{
3184 let size_in_bits
= 8 * ::mem
::size_of_val(&cpuset
.bits
[0]);
3185 let (idx
, offset
) = (cpu
/ size_in_bits
, cpu
% size_in_bits
);
3186 0 != (cpuset
.bits
[idx
] & (1 << offset
))
3189 pub fn CPU_EQUAL(set1
: &cpu_set_t
, set2
: &cpu_set_t
) -> bool
{
3190 set1
.bits
== set2
.bits
3193 pub fn major(dev
: ::dev_t
) -> ::c_uint
{
3195 major
|= (dev
& 0x00000000000fff00) >> 8;
3196 major
|= (dev
& 0xfffff00000000000) >> 32;
3200 pub fn minor(dev
: ::dev_t
) -> ::c_uint
{
3202 minor
|= (dev
& 0x00000000000000ff) >> 0;
3203 minor
|= (dev
& 0x00000ffffff00000) >> 12;
3207 pub fn makedev(major
: ::c_uint
, minor
: ::c_uint
) -> ::dev_t
{
3208 let major
= major
as ::dev_t
;
3209 let minor
= minor
as ::dev_t
;
3211 dev
|= (major
& 0x00000fff) << 8;
3212 dev
|= (major
& 0xfffff000) << 32;
3213 dev
|= (minor
& 0x000000ff) << 0;
3214 dev
|= (minor
& 0xffffff00) << 12;
3218 pub fn CMSG_DATA(cmsg
: *const cmsghdr
) -> *mut c_uchar
{
3219 cmsg
.offset(1) as *mut c_uchar
3222 pub fn CMSG_NXTHDR(mhdr
: *const msghdr
, cmsg
: *const cmsghdr
)
3225 if ((*cmsg
).cmsg_len
as ::size_t
) < ::mem
::size_of
::<cmsghdr
>() {
3227 } else if __CMSG_NEXT(cmsg
).add(::mem
::size_of
::<cmsghdr
>())
3228 >= __MHDR_END(mhdr
) {
3231 __CMSG_NEXT(cmsg
).cast()
3235 pub fn CMSG_FIRSTHDR(mhdr
: *const msghdr
) -> *mut cmsghdr
{
3236 if (*mhdr
).msg_controllen
as ::size_t
>= ::mem
::size_of
::<cmsghdr
>() {
3237 (*mhdr
).msg_control
.cast()
3243 pub fn CMSG_ALIGN(len
: ::size_t
) -> ::size_t
{
3244 (len
+ ::mem
::size_of
::<::size_t
>() - 1)
3245 & !(::mem
::size_of
::<::size_t
>() - 1)
3248 pub fn CMSG_SPACE(len
: ::c_uint
) -> ::c_uint
{
3249 (CMSG_ALIGN(len
as ::size_t
) + CMSG_ALIGN(::mem
::size_of
::<cmsghdr
>()))
3253 pub fn CMSG_LEN(len
: ::c_uint
) -> ::c_uint
{
3254 (CMSG_ALIGN(::mem
::size_of
::<cmsghdr
>()) + len
as ::size_t
) as ::c_uint
3259 pub {const}
fn WIFSTOPPED(status
: ::c_int
) -> bool
{
3260 (status
& 0xff) == 0x7f
3263 pub {const}
fn WSTOPSIG(status
: ::c_int
) -> ::c_int
{
3264 (status
>> 8) & 0xff
3267 pub {const}
fn WIFCONTINUED(status
: ::c_int
) -> bool
{
3271 pub {const}
fn WIFSIGNALED(status
: ::c_int
) -> bool
{
3272 ((status
& 0x7f) + 1) as i8 >= 2
3275 pub {const}
fn WTERMSIG(status
: ::c_int
) -> ::c_int
{
3279 pub {const}
fn WIFEXITED(status
: ::c_int
) -> bool
{
3280 (status
& 0x7f) == 0
3283 pub {const}
fn WEXITSTATUS(status
: ::c_int
) -> ::c_int
{
3284 (status
>> 8) & 0xff
3287 pub {const}
fn WCOREDUMP(status
: ::c_int
) -> bool
{
3288 (status
& 0x80) != 0
3291 pub {const}
fn QCMD(cmd
: ::c_int
, type_
: ::c_int
) -> ::c_int
{
3292 (cmd
<< 8) | (type_
& 0x00ff)
3296 fn __CMSG_LEN(cmsg
: *const cmsghdr
) -> ::ssize_t
{
3297 ((unsafe { (*cmsg).cmsg_len as ::size_t }
+ ::mem
::size_of
::<::c_long
>()
3299 & !(::mem
::size_of
::<::c_long
>() - 1)) as ::ssize_t
3302 fn __CMSG_NEXT(cmsg
: *const cmsghdr
) -> *mut c_uchar
{
3303 (unsafe { cmsg.offset(__CMSG_LEN(cmsg)) }
) as *mut c_uchar
3306 fn __MHDR_END(mhdr
: *const msghdr
) -> *mut c_uchar
{
3307 unsafe { (*mhdr).msg_control.offset((*mhdr).msg_controllen as isize) }
3314 #[link(name = "fdio")]
3317 #[cfg_attr(feature = "extra_traits", derive(Debug))]
3319 impl ::Copy
for FILE {}
3320 impl ::Clone
for FILE
{
3321 fn clone(&self) -> FILE
{
3325 #[cfg_attr(feature = "extra_traits", derive(Debug))]
3326 pub enum fpos_t {}
// FIXME: fill this out with a struct
3327 impl ::Copy
for fpos_t {}
3328 impl ::Clone
for fpos_t
{
3329 fn clone(&self) -> fpos_t
{
3335 pub fn isalnum(c
: c_int
) -> c_int
;
3336 pub fn isalpha(c
: c_int
) -> c_int
;
3337 pub fn iscntrl(c
: c_int
) -> c_int
;
3338 pub fn isdigit(c
: c_int
) -> c_int
;
3339 pub fn isgraph(c
: c_int
) -> c_int
;
3340 pub fn islower(c
: c_int
) -> c_int
;
3341 pub fn isprint(c
: c_int
) -> c_int
;
3342 pub fn ispunct(c
: c_int
) -> c_int
;
3343 pub fn isspace(c
: c_int
) -> c_int
;
3344 pub fn isupper(c
: c_int
) -> c_int
;
3345 pub fn isxdigit(c
: c_int
) -> c_int
;
3346 pub fn isblank(c
: c_int
) -> c_int
;
3347 pub fn tolower(c
: c_int
) -> c_int
;
3348 pub fn toupper(c
: c_int
) -> c_int
;
3349 pub fn fopen(filename
: *const c_char
, mode
: *const c_char
) -> *mut FILE
;
3351 filename
: *const c_char
,
3352 mode
: *const c_char
,
3355 pub fn fflush(file
: *mut FILE
) -> c_int
;
3356 pub fn fclose(file
: *mut FILE
) -> c_int
;
3357 pub fn remove(filename
: *const c_char
) -> c_int
;
3358 pub fn rename(oldname
: *const c_char
, newname
: *const c_char
) -> c_int
;
3359 pub fn tmpfile() -> *mut FILE
;
3362 buffer
: *mut c_char
,
3366 pub fn setbuf(stream
: *mut FILE
, buf
: *mut c_char
);
3367 pub fn getchar() -> c_int
;
3368 pub fn putchar(c
: c_int
) -> c_int
;
3369 pub fn fgetc(stream
: *mut FILE
) -> c_int
;
3370 pub fn fgets(buf
: *mut c_char
, n
: c_int
, stream
: *mut FILE
)
3372 pub fn fputc(c
: c_int
, stream
: *mut FILE
) -> c_int
;
3373 pub fn fputs(s
: *const c_char
, stream
: *mut FILE
) -> c_int
;
3374 pub fn puts(s
: *const c_char
) -> c_int
;
3375 pub fn ungetc(c
: c_int
, stream
: *mut FILE
) -> c_int
;
3388 pub fn fseek(stream
: *mut FILE
, offset
: c_long
, whence
: c_int
) -> c_int
;
3389 pub fn ftell(stream
: *mut FILE
) -> c_long
;
3390 pub fn rewind(stream
: *mut FILE
);
3391 pub fn fgetpos(stream
: *mut FILE
, ptr
: *mut fpos_t
) -> c_int
;
3392 pub fn fsetpos(stream
: *mut FILE
, ptr
: *const fpos_t
) -> c_int
;
3393 pub fn feof(stream
: *mut FILE
) -> c_int
;
3394 pub fn ferror(stream
: *mut FILE
) -> c_int
;
3395 pub fn perror(s
: *const c_char
);
3396 pub fn atoi(s
: *const c_char
) -> c_int
;
3397 pub fn strtod(s
: *const c_char
, endp
: *mut *mut c_char
) -> c_double
;
3400 endp
: *mut *mut c_char
,
3405 endp
: *mut *mut c_char
,
3408 pub fn calloc(nobj
: size_t
, size
: size_t
) -> *mut c_void
;
3409 pub fn malloc(size
: size_t
) -> *mut c_void
;
3410 pub fn realloc(p
: *mut c_void
, size
: size_t
) -> *mut c_void
;
3411 pub fn free(p
: *mut c_void
);
3412 pub fn abort() -> !;
3413 pub fn exit(status
: c_int
) -> !;
3414 pub fn _exit(status
: c_int
) -> !;
3415 pub fn atexit(cb
: extern "C" fn()) -> c_int
;
3416 pub fn system(s
: *const c_char
) -> c_int
;
3417 pub fn getenv(s
: *const c_char
) -> *mut c_char
;
3419 pub fn strcpy(dst
: *mut c_char
, src
: *const c_char
) -> *mut c_char
;
3425 pub fn strcat(s
: *mut c_char
, ct
: *const c_char
) -> *mut c_char
;
3431 pub fn strcmp(cs
: *const c_char
, ct
: *const c_char
) -> c_int
;
3432 pub fn strncmp(cs
: *const c_char
, ct
: *const c_char
, n
: size_t
) -> c_int
;
3433 pub fn strcoll(cs
: *const c_char
, ct
: *const c_char
) -> c_int
;
3434 pub fn strchr(cs
: *const c_char
, c
: c_int
) -> *mut c_char
;
3435 pub fn strrchr(cs
: *const c_char
, c
: c_int
) -> *mut c_char
;
3436 pub fn strspn(cs
: *const c_char
, ct
: *const c_char
) -> size_t
;
3437 pub fn strcspn(cs
: *const c_char
, ct
: *const c_char
) -> size_t
;
3438 pub fn strdup(cs
: *const c_char
) -> *mut c_char
;
3439 pub fn strpbrk(cs
: *const c_char
, ct
: *const c_char
) -> *mut c_char
;
3440 pub fn strstr(cs
: *const c_char
, ct
: *const c_char
) -> *mut c_char
;
3441 pub fn strlen(cs
: *const c_char
) -> size_t
;
3442 pub fn strnlen(cs
: *const c_char
, maxlen
: size_t
) -> size_t
;
3443 pub fn strerror(n
: c_int
) -> *mut c_char
;
3444 pub fn strtok(s
: *mut c_char
, t
: *const c_char
) -> *mut c_char
;
3445 pub fn strxfrm(s
: *mut c_char
, ct
: *const c_char
, n
: size_t
) -> size_t
;
3446 pub fn wcslen(buf
: *const wchar_t
) -> size_t
;
3449 src
: *const wchar_t
,
3453 pub fn memchr(cx
: *const c_void
, c
: c_int
, n
: size_t
) -> *mut c_void
;
3454 pub fn wmemchr(cx
: *const wchar_t
, c
: wchar_t
, n
: size_t
) -> *mut wchar_t
;
3455 pub fn memcmp(cx
: *const c_void
, ct
: *const c_void
, n
: size_t
) -> c_int
;
3466 pub fn memset(dest
: *mut c_void
, c
: c_int
, n
: size_t
) -> *mut c_void
;
3468 pub fn abs(i
: c_int
) -> c_int
;
3469 pub fn atof(s
: *const c_char
) -> c_double
;
3470 pub fn labs(i
: c_long
) -> c_long
;
3471 pub fn rand() -> c_int
;
3472 pub fn srand(seed
: c_uint
);
3474 pub fn getpwnam(name
: *const ::c_char
) -> *mut passwd
;
3475 pub fn getpwuid(uid
: ::uid_t
) -> *mut passwd
;
3478 stream
: *mut ::FILE
,
3479 format
: *const ::c_char
,
3482 pub fn printf(format
: *const ::c_char
, ...) -> ::c_int
;
3486 format
: *const ::c_char
,
3489 pub fn sprintf(s
: *mut ::c_char
, format
: *const ::c_char
, ...) -> ::c_int
;
3491 stream
: *mut ::FILE
,
3492 format
: *const ::c_char
,
3495 pub fn scanf(format
: *const ::c_char
, ...) -> ::c_int
;
3496 pub fn sscanf(s
: *const ::c_char
, format
: *const ::c_char
, ...)
3498 pub fn getchar_unlocked() -> ::c_int
;
3499 pub fn putchar_unlocked(c
: ::c_int
) -> ::c_int
;
3501 pub fn socket(domain
: ::c_int
, ty
: ::c_int
, protocol
: ::c_int
) -> ::c_int
;
3504 address
: *const sockaddr
,
3507 pub fn listen(socket
: ::c_int
, backlog
: ::c_int
) -> ::c_int
;
3510 address
: *mut sockaddr
,
3511 address_len
: *mut socklen_t
,
3515 address
: *mut sockaddr
,
3516 address_len
: *mut socklen_t
,
3520 address
: *mut sockaddr
,
3521 address_len
: *mut socklen_t
,
3527 value
: *const ::c_void
,
3528 option_len
: socklen_t
,
3534 socket_vector
: *mut ::c_int
,
3538 buf
: *const ::c_void
,
3541 addr
: *const sockaddr
,
3544 pub fn shutdown(socket
: ::c_int
, how
: ::c_int
) -> ::c_int
;
3546 pub fn chmod(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
3547 pub fn fchmod(fd
: ::c_int
, mode
: mode_t
) -> ::c_int
;
3549 pub fn fstat(fildes
: ::c_int
, buf
: *mut stat
) -> ::c_int
;
3551 pub fn mkdir(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
3553 pub fn stat(path
: *const c_char
, buf
: *mut stat
) -> ::c_int
;
3555 pub fn pclose(stream
: *mut ::FILE
) -> ::c_int
;
3556 pub fn fdopen(fd
: ::c_int
, mode
: *const c_char
) -> *mut ::FILE
;
3557 pub fn fileno(stream
: *mut ::FILE
) -> ::c_int
;
3559 pub fn open(path
: *const c_char
, oflag
: ::c_int
, ...) -> ::c_int
;
3560 pub fn creat(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
3561 pub fn fcntl(fd
: ::c_int
, cmd
: ::c_int
, ...) -> ::c_int
;
3563 pub fn opendir(dirname
: *const c_char
) -> *mut ::DIR
;
3564 pub fn readdir(dirp
: *mut ::DIR
) -> *mut ::dirent
;
3567 entry
: *mut ::dirent
,
3568 result
: *mut *mut ::dirent
,
3570 pub fn closedir(dirp
: *mut ::DIR
) -> ::c_int
;
3571 pub fn rewinddir(dirp
: *mut ::DIR
);
3575 pathname
: *const ::c_char
,
3581 pathname
: *const ::c_char
,
3585 pub fn fchown(fd
: ::c_int
, owner
: ::uid_t
, group
: ::gid_t
) -> ::c_int
;
3588 pathname
: *const ::c_char
,
3595 pathname
: *const ::c_char
,
3601 oldpath
: *const ::c_char
,
3603 newpath
: *const ::c_char
,
3608 pathname
: *const ::c_char
,
3613 pathname
: *const ::c_char
,
3619 oldpath
: *const ::c_char
,
3621 newpath
: *const ::c_char
,
3624 target
: *const ::c_char
,
3626 linkpath
: *const ::c_char
,
3630 pathname
: *const ::c_char
,
3634 pub fn access(path
: *const c_char
, amode
: ::c_int
) -> ::c_int
;
3635 pub fn alarm(seconds
: ::c_uint
) -> ::c_uint
;
3636 pub fn chdir(dir
: *const c_char
) -> ::c_int
;
3637 pub fn chown(path
: *const c_char
, uid
: uid_t
, gid
: gid_t
) -> ::c_int
;
3638 pub fn lchown(path
: *const c_char
, uid
: uid_t
, gid
: gid_t
) -> ::c_int
;
3639 pub fn close(fd
: ::c_int
) -> ::c_int
;
3640 pub fn dup(fd
: ::c_int
) -> ::c_int
;
3641 pub fn dup2(src
: ::c_int
, dst
: ::c_int
) -> ::c_int
;
3642 pub fn execl(path
: *const c_char
, arg0
: *const c_char
, ...) -> ::c_int
;
3644 path
: *const ::c_char
,
3645 arg0
: *const ::c_char
,
3649 file
: *const ::c_char
,
3650 arg0
: *const ::c_char
,
3653 pub fn execv(prog
: *const c_char
, argv
: *const *const c_char
) -> ::c_int
;
3655 prog
: *const c_char
,
3656 argv
: *const *const c_char
,
3657 envp
: *const *const c_char
,
3659 pub fn execvp(c
: *const c_char
, argv
: *const *const c_char
) -> ::c_int
;
3660 pub fn fork() -> pid_t
;
3661 pub fn fpathconf(filedes
: ::c_int
, name
: ::c_int
) -> c_long
;
3662 pub fn getcwd(buf
: *mut c_char
, size
: ::size_t
) -> *mut c_char
;
3663 pub fn getegid() -> gid_t
;
3664 pub fn geteuid() -> uid_t
;
3665 pub fn getgid() -> gid_t
;
3666 pub fn getgroups(ngroups_max
: ::c_int
, groups
: *mut gid_t
) -> ::c_int
;
3667 pub fn getlogin() -> *mut c_char
;
3670 argv
: *const *mut c_char
,
3671 optstr
: *const c_char
,
3673 pub fn getpgid(pid
: pid_t
) -> pid_t
;
3674 pub fn getpgrp() -> pid_t
;
3675 pub fn getpid() -> pid_t
;
3676 pub fn getppid() -> pid_t
;
3677 pub fn getuid() -> uid_t
;
3678 pub fn isatty(fd
: ::c_int
) -> ::c_int
;
3679 pub fn link(src
: *const c_char
, dst
: *const c_char
) -> ::c_int
;
3680 pub fn lseek(fd
: ::c_int
, offset
: off_t
, whence
: ::c_int
) -> off_t
;
3681 pub fn pathconf(path
: *const c_char
, name
: ::c_int
) -> c_long
;
3682 pub fn pause() -> ::c_int
;
3683 pub fn pipe(fds
: *mut ::c_int
) -> ::c_int
;
3684 pub fn posix_memalign(
3685 memptr
: *mut *mut ::c_void
,
3689 pub fn read(fd
: ::c_int
, buf
: *mut ::c_void
, count
: ::size_t
)
3691 pub fn rmdir(path
: *const c_char
) -> ::c_int
;
3692 pub fn seteuid(uid
: uid_t
) -> ::c_int
;
3693 pub fn setegid(gid
: gid_t
) -> ::c_int
;
3694 pub fn setgid(gid
: gid_t
) -> ::c_int
;
3695 pub fn setpgid(pid
: pid_t
, pgid
: pid_t
) -> ::c_int
;
3696 pub fn setsid() -> pid_t
;
3697 pub fn setuid(uid
: uid_t
) -> ::c_int
;
3698 pub fn sleep(secs
: ::c_uint
) -> ::c_uint
;
3699 pub fn nanosleep(rqtp
: *const timespec
, rmtp
: *mut timespec
) -> ::c_int
;
3700 pub fn tcgetpgrp(fd
: ::c_int
) -> pid_t
;
3701 pub fn tcsetpgrp(fd
: ::c_int
, pgrp
: ::pid_t
) -> ::c_int
;
3702 pub fn ttyname(fd
: ::c_int
) -> *mut c_char
;
3703 pub fn unlink(c
: *const c_char
) -> ::c_int
;
3704 pub fn wait(status
: *mut ::c_int
) -> pid_t
;
3707 status
: *mut ::c_int
,
3712 buf
: *const ::c_void
,
3723 buf
: *const ::c_void
,
3727 pub fn umask(mask
: mode_t
) -> mode_t
;
3729 pub fn utime(file
: *const c_char
, buf
: *const utimbuf
) -> ::c_int
;
3731 pub fn kill(pid
: pid_t
, sig
: ::c_int
) -> ::c_int
;
3733 pub fn mlock(addr
: *const ::c_void
, len
: ::size_t
) -> ::c_int
;
3734 pub fn munlock(addr
: *const ::c_void
, len
: ::size_t
) -> ::c_int
;
3735 pub fn mlockall(flags
: ::c_int
) -> ::c_int
;
3736 pub fn munlockall() -> ::c_int
;
3739 addr
: *mut ::c_void
,
3746 pub fn munmap(addr
: *mut ::c_void
, len
: ::size_t
) -> ::c_int
;
3748 pub fn if_nametoindex(ifname
: *const c_char
) -> ::c_uint
;
3749 pub fn if_indextoname(
3751 ifname
: *mut ::c_char
,
3754 pub fn lstat(path
: *const c_char
, buf
: *mut stat
) -> ::c_int
;
3756 pub fn fsync(fd
: ::c_int
) -> ::c_int
;
3759 name
: *const c_char
,
3763 pub fn unsetenv(name
: *const c_char
) -> ::c_int
;
3765 pub fn symlink(path1
: *const c_char
, path2
: *const c_char
) -> ::c_int
;
3767 pub fn ftruncate(fd
: ::c_int
, length
: off_t
) -> ::c_int
;
3769 pub fn signal(signum
: ::c_int
, handler
: sighandler_t
) -> sighandler_t
;
3772 pathname
: *const ::c_char
,
3773 resolved
: *mut ::c_char
,
3776 pub fn flock(fd
: ::c_int
, operation
: ::c_int
) -> ::c_int
;
3778 pub fn gettimeofday(tp
: *mut ::timeval
, tz
: *mut ::c_void
) -> ::c_int
;
3779 pub fn times(buf
: *mut ::tms
) -> ::clock_t
;
3781 pub fn pthread_self() -> ::pthread_t
;
3782 pub fn pthread_join(
3783 native
: ::pthread_t
,
3784 value
: *mut *mut ::c_void
,
3786 pub fn pthread_exit(value
: *mut ::c_void
) -> !;
3787 pub fn pthread_attr_init(attr
: *mut ::pthread_attr_t
) -> ::c_int
;
3788 pub fn pthread_attr_destroy(attr
: *mut ::pthread_attr_t
) -> ::c_int
;
3789 pub fn pthread_attr_setstacksize(
3790 attr
: *mut ::pthread_attr_t
,
3791 stack_size
: ::size_t
,
3793 pub fn pthread_attr_setdetachstate(
3794 attr
: *mut ::pthread_attr_t
,
3797 pub fn pthread_detach(thread
: ::pthread_t
) -> ::c_int
;
3798 pub fn sched_yield() -> ::c_int
;
3799 pub fn pthread_key_create(
3800 key
: *mut pthread_key_t
,
3801 dtor
: ::Option
<unsafe extern "C" fn(*mut ::c_void
)>,
3803 pub fn pthread_key_delete(key
: pthread_key_t
) -> ::c_int
;
3804 pub fn pthread_getspecific(key
: pthread_key_t
) -> *mut ::c_void
;
3805 pub fn pthread_setspecific(
3807 value
: *const ::c_void
,
3809 pub fn pthread_mutex_init(
3810 lock
: *mut pthread_mutex_t
,
3811 attr
: *const pthread_mutexattr_t
,
3813 pub fn pthread_mutex_destroy(lock
: *mut pthread_mutex_t
) -> ::c_int
;
3814 pub fn pthread_mutex_lock(lock
: *mut pthread_mutex_t
) -> ::c_int
;
3815 pub fn pthread_mutex_trylock(lock
: *mut pthread_mutex_t
) -> ::c_int
;
3816 pub fn pthread_mutex_unlock(lock
: *mut pthread_mutex_t
) -> ::c_int
;
3818 pub fn pthread_mutexattr_init(attr
: *mut pthread_mutexattr_t
) -> ::c_int
;
3819 pub fn pthread_mutexattr_destroy(
3820 attr
: *mut pthread_mutexattr_t
,
3822 pub fn pthread_mutexattr_settype(
3823 attr
: *mut pthread_mutexattr_t
,
3827 pub fn pthread_cond_init(
3828 cond
: *mut pthread_cond_t
,
3829 attr
: *const pthread_condattr_t
,
3831 pub fn pthread_cond_wait(
3832 cond
: *mut pthread_cond_t
,
3833 lock
: *mut pthread_mutex_t
,
3835 pub fn pthread_cond_timedwait(
3836 cond
: *mut pthread_cond_t
,
3837 lock
: *mut pthread_mutex_t
,
3838 abstime
: *const ::timespec
,
3840 pub fn pthread_cond_signal(cond
: *mut pthread_cond_t
) -> ::c_int
;
3841 pub fn pthread_cond_broadcast(cond
: *mut pthread_cond_t
) -> ::c_int
;
3842 pub fn pthread_cond_destroy(cond
: *mut pthread_cond_t
) -> ::c_int
;
3843 pub fn pthread_condattr_init(attr
: *mut pthread_condattr_t
) -> ::c_int
;
3844 pub fn pthread_condattr_destroy(attr
: *mut pthread_condattr_t
) -> ::c_int
;
3845 pub fn pthread_rwlock_init(
3846 lock
: *mut pthread_rwlock_t
,
3847 attr
: *const pthread_rwlockattr_t
,
3849 pub fn pthread_rwlock_destroy(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3850 pub fn pthread_rwlock_rdlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3851 pub fn pthread_rwlock_tryrdlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3852 pub fn pthread_rwlock_wrlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3853 pub fn pthread_rwlock_trywrlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3854 pub fn pthread_rwlock_unlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3855 pub fn pthread_rwlockattr_init(attr
: *mut pthread_rwlockattr_t
)
3857 pub fn pthread_rwlockattr_destroy(
3858 attr
: *mut pthread_rwlockattr_t
,
3870 optval
: *mut ::c_void
,
3871 optlen
: *mut ::socklen_t
,
3873 pub fn raise(signum
: ::c_int
) -> ::c_int
;
3876 act
: *const sigaction
,
3877 oldact
: *mut sigaction
,
3881 filename
: *const ::c_char
,
3882 times
: *const ::timeval
,
3884 pub fn dlopen(filename
: *const ::c_char
, flag
: ::c_int
) -> *mut ::c_void
;
3885 pub fn dlerror() -> *mut ::c_char
;
3887 handle
: *mut ::c_void
,
3888 symbol
: *const ::c_char
,
3890 pub fn dlclose(handle
: *mut ::c_void
) -> ::c_int
;
3891 pub fn dladdr(addr
: *const ::c_void
, info
: *mut Dl_info
) -> ::c_int
;
3894 node
: *const c_char
,
3895 service
: *const c_char
,
3896 hints
: *const addrinfo
,
3897 res
: *mut *mut addrinfo
,
3899 pub fn freeaddrinfo(res
: *mut addrinfo
);
3900 pub fn gai_strerror(errcode
: ::c_int
) -> *const ::c_char
;
3901 pub fn res_init() -> ::c_int
;
3903 pub fn gmtime_r(time_p
: *const time_t
, result
: *mut tm
) -> *mut tm
;
3904 pub fn localtime_r(time_p
: *const time_t
, result
: *mut tm
) -> *mut tm
;
3905 pub fn mktime(tm
: *mut tm
) -> time_t
;
3906 pub fn time(time
: *mut time_t
) -> time_t
;
3907 pub fn gmtime(time_p
: *const time_t
) -> *mut tm
;
3908 pub fn localtime(time_p
: *const time_t
) -> *mut tm
;
3911 pathname
: *const ::c_char
,
3915 pub fn uname(buf
: *mut ::utsname
) -> ::c_int
;
3916 pub fn gethostname(name
: *mut ::c_char
, len
: ::size_t
) -> ::c_int
;
3917 pub fn getservbyname(
3918 name
: *const ::c_char
,
3919 proto
: *const ::c_char
,
3921 pub fn getprotobyname(name
: *const ::c_char
) -> *mut protoent
;
3922 pub fn getprotobynumber(proto
: ::c_int
) -> *mut protoent
;
3923 pub fn usleep(secs
: ::c_uint
) -> ::c_int
;
3926 buf
: *const ::c_void
,
3936 pub fn putenv(string
: *mut c_char
) -> ::c_int
;
3937 pub fn poll(fds
: *mut pollfd
, nfds
: nfds_t
, timeout
: ::c_int
) -> ::c_int
;
3940 readfs
: *mut fd_set
,
3941 writefds
: *mut fd_set
,
3942 errorfds
: *mut fd_set
,
3943 timeout
: *mut timeval
,
3947 locale
: *const ::c_char
,
3949 pub fn localeconv() -> *mut lconv
;
3951 pub fn sem_destroy(sem
: *mut sem_t
) -> ::c_int
;
3952 pub fn sem_wait(sem
: *mut sem_t
) -> ::c_int
;
3953 pub fn sem_trywait(sem
: *mut sem_t
) -> ::c_int
;
3954 pub fn sem_post(sem
: *mut sem_t
) -> ::c_int
;
3960 pub fn statvfs(path
: *const c_char
, buf
: *mut statvfs
) -> ::c_int
;
3961 pub fn fstatvfs(fd
: ::c_int
, buf
: *mut statvfs
) -> ::c_int
;
3964 path
: *const c_char
,
3969 pub fn sigemptyset(set
: *mut sigset_t
) -> ::c_int
;
3970 pub fn sigaddset(set
: *mut sigset_t
, signum
: ::c_int
) -> ::c_int
;
3971 pub fn sigfillset(set
: *mut sigset_t
) -> ::c_int
;
3972 pub fn sigdelset(set
: *mut sigset_t
, signum
: ::c_int
) -> ::c_int
;
3973 pub fn sigismember(set
: *const sigset_t
, signum
: ::c_int
) -> ::c_int
;
3977 set
: *const sigset_t
,
3978 oldset
: *mut sigset_t
,
3980 pub fn sigpending(set
: *mut sigset_t
) -> ::c_int
;
3982 pub fn timegm(tm
: *mut ::tm
) -> time_t
;
3984 pub fn getsid(pid
: pid_t
) -> pid_t
;
3986 pub fn sysconf(name
: ::c_int
) -> ::c_long
;
3988 pub fn mkfifo(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
3992 readfs
: *mut fd_set
,
3993 writefds
: *mut fd_set
,
3994 errorfds
: *mut fd_set
,
3995 timeout
: *const timespec
,
3996 sigmask
: *const sigset_t
,
3999 stream
: *mut ::FILE
,
4003 pub fn ftello(stream
: *mut ::FILE
) -> ::off_t
;
4004 pub fn tcdrain(fd
: ::c_int
) -> ::c_int
;
4005 pub fn cfgetispeed(termios
: *const ::termios
) -> ::speed_t
;
4006 pub fn cfgetospeed(termios
: *const ::termios
) -> ::speed_t
;
4007 pub fn cfmakeraw(termios
: *mut ::termios
);
4008 pub fn cfsetispeed(termios
: *mut ::termios
, speed
: ::speed_t
) -> ::c_int
;
4009 pub fn cfsetospeed(termios
: *mut ::termios
, speed
: ::speed_t
) -> ::c_int
;
4010 pub fn cfsetspeed(termios
: *mut ::termios
, speed
: ::speed_t
) -> ::c_int
;
4011 pub fn tcgetattr(fd
: ::c_int
, termios
: *mut ::termios
) -> ::c_int
;
4014 optional_actions
: ::c_int
,
4015 termios
: *const ::termios
,
4017 pub fn tcflow(fd
: ::c_int
, action
: ::c_int
) -> ::c_int
;
4018 pub fn tcflush(fd
: ::c_int
, action
: ::c_int
) -> ::c_int
;
4019 pub fn tcgetsid(fd
: ::c_int
) -> ::pid_t
;
4020 pub fn tcsendbreak(fd
: ::c_int
, duration
: ::c_int
) -> ::c_int
;
4021 pub fn mkstemp(template
: *mut ::c_char
) -> ::c_int
;
4022 pub fn mkdtemp(template
: *mut ::c_char
) -> *mut ::c_char
;
4024 pub fn tmpnam(ptr
: *mut ::c_char
) -> *mut ::c_char
;
4026 pub fn openlog(ident
: *const ::c_char
, logopt
: ::c_int
, facility
: ::c_int
);
4028 pub fn setlogmask(maskpri
: ::c_int
) -> ::c_int
;
4029 pub fn syslog(priority
: ::c_int
, message
: *const ::c_char
, ...);
4031 pub fn grantpt(fd
: ::c_int
) -> ::c_int
;
4032 pub fn posix_openpt(flags
: ::c_int
) -> ::c_int
;
4033 pub fn ptsname(fd
: ::c_int
) -> *mut ::c_char
;
4034 pub fn unlockpt(fd
: ::c_int
) -> ::c_int
;
4036 pub fn fdatasync(fd
: ::c_int
) -> ::c_int
;
4037 pub fn clock_getres(clk_id
: ::clockid_t
, tp
: *mut ::timespec
) -> ::c_int
;
4038 pub fn clock_gettime(clk_id
: ::clockid_t
, tp
: *mut ::timespec
) -> ::c_int
;
4039 pub fn clock_settime(
4040 clk_id
: ::clockid_t
,
4041 tp
: *const ::timespec
,
4043 pub fn dirfd(dirp
: *mut ::DIR
) -> ::c_int
;
4045 pub fn pthread_getattr_np(
4046 native
: ::pthread_t
,
4047 attr
: *mut ::pthread_attr_t
,
4049 pub fn pthread_attr_getstack(
4050 attr
: *const ::pthread_attr_t
,
4051 stackaddr
: *mut *mut ::c_void
,
4052 stacksize
: *mut ::size_t
,
4054 pub fn memalign(align
: ::size_t
, size
: ::size_t
) -> *mut ::c_void
;
4055 pub fn setgroups(ngroups
: ::size_t
, ptr
: *const ::gid_t
) -> ::c_int
;
4056 pub fn pipe2(fds
: *mut ::c_int
, flags
: ::c_int
) -> ::c_int
;
4057 pub fn statfs(path
: *const ::c_char
, buf
: *mut statfs
) -> ::c_int
;
4058 pub fn fstatfs(fd
: ::c_int
, buf
: *mut statfs
) -> ::c_int
;
4060 cx
: *const ::c_void
,
4065 pub fn posix_fadvise(
4071 pub fn futimens(fd
: ::c_int
, times
: *const ::timespec
) -> ::c_int
;
4074 path
: *const ::c_char
,
4075 times
: *const ::timespec
,
4078 pub fn duplocale(base
: ::locale_t
) -> ::locale_t
;
4079 pub fn freelocale(loc
: ::locale_t
);
4082 locale
: *const ::c_char
,
4085 pub fn uselocale(loc
: ::locale_t
) -> ::locale_t
;
4087 pub fn fdopendir(fd
: ::c_int
) -> *mut ::DIR
;
4091 pathname
: *const ::c_char
,
4095 pub fn pthread_condattr_getclock(
4096 attr
: *const pthread_condattr_t
,
4097 clock_id
: *mut clockid_t
,
4099 pub fn pthread_condattr_setclock(
4100 attr
: *mut pthread_condattr_t
,
4101 clock_id
: ::clockid_t
,
4105 addr
: *mut ::sockaddr
,
4106 len
: *mut ::socklen_t
,
4114 pub fn clearenv() -> ::c_int
;
4118 infop
: *mut ::siginfo_t
,
4121 pub fn setreuid(ruid
: ::uid_t
, euid
: ::uid_t
) -> ::c_int
;
4122 pub fn setregid(rgid
: ::gid_t
, egid
: ::gid_t
) -> ::c_int
;
4133 pub fn acct(filename
: *const ::c_char
) -> ::c_int
;
4134 pub fn brk(addr
: *mut ::c_void
) -> ::c_int
;
4135 pub fn setresgid(rgid
: ::gid_t
, egid
: ::gid_t
, sgid
: ::gid_t
) -> ::c_int
;
4136 pub fn setresuid(ruid
: ::uid_t
, euid
: ::uid_t
, suid
: ::uid_t
) -> ::c_int
;
4138 amaster
: *mut ::c_int
,
4139 aslave
: *mut ::c_int
,
4140 name
: *mut ::c_char
,
4141 termp
: *const termios
,
4142 winp
: *const ::winsize
,
4145 file
: *const ::c_char
,
4146 argv
: *const *const ::c_char
,
4147 envp
: *const *const ::c_char
,
4151 argv
: *const *const ::c_char
,
4152 envp
: *const *const ::c_char
,
4155 pub fn ioctl(fd
: ::c_int
, request
: ::c_int
, ...) -> ::c_int
;
4157 pub fn lutimes(file
: *const ::c_char
, times
: *const ::timeval
) -> ::c_int
;
4161 pub fn getpwent() -> *mut passwd
;
4164 name
: *const c_char
,
4170 pub fn shmget(key
: ::key_t
, size
: ::size_t
, shmflg
: ::c_int
) -> ::c_int
;
4173 shmaddr
: *const ::c_void
,
4176 pub fn shmdt(shmaddr
: *const ::c_void
) -> ::c_int
;
4180 buf
: *mut ::shmid_ds
,
4182 pub fn ftok(pathname
: *const ::c_char
, proj_id
: ::c_int
) -> ::key_t
;
4183 pub fn semget(key
: ::key_t
, nsems
: ::c_int
, semflag
: ::c_int
) -> ::c_int
;
4186 sops
: *mut ::sembuf
,
4195 pub fn msgctl(msqid
: ::c_int
, cmd
: ::c_int
, buf
: *mut msqid_ds
)
4197 pub fn msgget(key
: ::key_t
, msgflg
: ::c_int
) -> ::c_int
;
4200 msgp
: *mut ::c_void
,
4207 msgp
: *const ::c_void
,
4213 addr
: *mut ::c_void
,
4217 pub fn __errno_location() -> *mut ::c_int
;
4225 pub fn posix_fallocate(
4237 mask
: *const ::sigset_t
,
4240 pub fn timerfd_create(clockid
: ::c_int
, flags
: ::c_int
) -> ::c_int
;
4241 pub fn timerfd_gettime(
4243 curr_value
: *mut itimerspec
,
4245 pub fn timerfd_settime(
4248 new_value
: *const itimerspec
,
4249 old_value
: *mut itimerspec
,
4253 iov
: *const ::iovec
,
4259 iov
: *const ::iovec
,
4265 special
: *const ::c_char
,
4267 data
: *mut ::c_char
,
4269 pub fn dup3(oldfd
: ::c_int
, newfd
: ::c_int
, flags
: ::c_int
) -> ::c_int
;
4270 pub fn mkostemp(template
: *mut ::c_char
, flags
: ::c_int
) -> ::c_int
;
4272 template
: *mut ::c_char
,
4276 pub fn sigtimedwait(
4277 set
: *const sigset_t
,
4278 info
: *mut siginfo_t
,
4279 timeout
: *const ::timespec
,
4281 pub fn sigwaitinfo(set
: *const sigset_t
, info
: *mut siginfo_t
) -> ::c_int
;
4282 pub fn nl_langinfo_l(item
: ::nl_item
, locale
: ::locale_t
)
4285 sa
: *const ::sockaddr
,
4287 host
: *mut ::c_char
,
4288 hostlen
: ::socklen_t
,
4289 serv
: *mut ::c_char
,
4290 sevlen
: ::socklen_t
,
4293 pub fn reboot(how_to
: ::c_int
) -> ::c_int
;
4294 pub fn setfsgid(gid
: ::gid_t
) -> ::c_int
;
4295 pub fn setfsuid(uid
: ::uid_t
) -> ::c_int
;
4297 // Not available now on Android
4300 pathname
: *const ::c_char
,
4303 pub fn if_nameindex() -> *mut if_nameindex
;
4304 pub fn if_freenameindex(ptr
: *mut if_nameindex
);
4305 pub fn sync_file_range(
4311 pub fn getifaddrs(ifap
: *mut *mut ::ifaddrs
) -> ::c_int
;
4312 pub fn freeifaddrs(ifa
: *mut ::ifaddrs
);
4315 pattern
: *const c_char
,
4318 extern "C" fn(epath
: *const c_char
, errno
: ::c_int
) -> ::c_int
,
4320 pglob
: *mut ::glob_t
,
4322 pub fn globfree(pglob
: *mut ::glob_t
);
4324 pub fn posix_madvise(
4325 addr
: *mut ::c_void
,
4330 pub fn shm_unlink(name
: *const ::c_char
) -> ::c_int
;
4332 pub fn seekdir(dirp
: *mut ::DIR
, loc
: ::c_long
);
4334 pub fn telldir(dirp
: *mut ::DIR
) -> ::c_long
;
4336 addr
: *mut ::c_void
,
4342 addr
: *mut ::c_void
,
4352 addr
: *mut ::sockaddr
,
4353 addrlen
: *mut ::socklen_t
,
4355 pub fn mkstemps(template
: *mut ::c_char
, suffixlen
: ::c_int
) -> ::c_int
;
4356 pub fn futimes(fd
: ::c_int
, times
: *const ::timeval
) -> ::c_int
;
4357 pub fn nl_langinfo(item
: ::nl_item
) -> *mut ::c_char
;
4361 address
: *const ::sockaddr
,
4362 address_len
: ::socklen_t
,
4367 iov
: *const ::iovec
,
4372 iov
: *const ::iovec
,
4378 msg
: *const ::msghdr
,
4386 pub fn getdomainname(name
: *mut ::c_char
, len
: ::size_t
) -> ::c_int
;
4387 pub fn setdomainname(name
: *const ::c_char
, len
: ::size_t
) -> ::c_int
;
4388 pub fn vhangup() -> ::c_int
;
4391 msgvec
: *mut mmsghdr
,
4397 msgvec
: *mut mmsghdr
,
4400 timeout
: *mut ::timespec
,
4403 pub fn syscall(num
: ::c_long
, ...) -> ::c_long
;
4404 pub fn sched_getaffinity(
4406 cpusetsize
: ::size_t
,
4407 cpuset
: *mut cpu_set_t
,
4409 pub fn sched_setaffinity(
4411 cpusetsize
: ::size_t
,
4412 cpuset
: *const cpu_set_t
,
4414 pub fn umount(target
: *const ::c_char
) -> ::c_int
;
4415 pub fn sched_get_priority_max(policy
: ::c_int
) -> ::c_int
;
4422 pub fn settimeofday(
4423 tv
: *const ::timeval
,
4424 tz
: *const ::timezone
,
4428 off_in
: *mut ::loff_t
,
4430 off_out
: *mut ::loff_t
,
4434 pub fn eventfd(init
: ::c_uint
, flags
: ::c_int
) -> ::c_int
;
4435 pub fn sched_rr_get_interval(pid
: ::pid_t
, tp
: *mut ::timespec
)
4437 pub fn sem_timedwait(
4439 abstime
: *const ::timespec
,
4441 pub fn sem_getvalue(sem
: *mut sem_t
, sval
: *mut ::c_int
) -> ::c_int
;
4442 pub fn sched_setparam(
4444 param
: *const ::sched_param
,
4446 pub fn swapoff(puath
: *const ::c_char
) -> ::c_int
;
4449 iov
: *const ::iovec
,
4454 src
: *const ::c_char
,
4455 target
: *const ::c_char
,
4456 fstype
: *const ::c_char
,
4458 data
: *const ::c_void
,
4460 pub fn personality(persona
: ::c_ulong
) -> ::c_int
;
4461 pub fn sched_getparam(pid
: ::pid_t
, param
: *mut ::sched_param
) -> ::c_int
;
4465 timeout
: *const ::timespec
,
4466 sigmask
: *const sigset_t
,
4468 pub fn pthread_mutex_timedlock(
4469 lock
: *mut pthread_mutex_t
,
4470 abstime
: *const ::timespec
,
4473 cb
: extern "C" fn(*mut ::c_void
) -> ::c_int
,
4474 child_stack
: *mut ::c_void
,
4479 pub fn sched_getscheduler(pid
: ::pid_t
) -> ::c_int
;
4480 pub fn clock_nanosleep(
4481 clk_id
: ::clockid_t
,
4483 rqtp
: *const ::timespec
,
4484 rmtp
: *mut ::timespec
,
4486 pub fn pthread_attr_getguardsize(
4487 attr
: *const ::pthread_attr_t
,
4488 guardsize
: *mut ::size_t
,
4490 pub fn sethostname(name
: *const ::c_char
, len
: ::size_t
) -> ::c_int
;
4491 pub fn sched_get_priority_min(policy
: ::c_int
) -> ::c_int
;
4492 pub fn umount2(target
: *const ::c_char
, flags
: ::c_int
) -> ::c_int
;
4493 pub fn swapon(path
: *const ::c_char
, swapflags
: ::c_int
) -> ::c_int
;
4494 pub fn sched_setscheduler(
4497 param
: *const ::sched_param
,
4499 pub fn sigsuspend(mask
: *const ::sigset_t
) -> ::c_int
;
4505 result
: *mut *mut ::group
,
4507 pub fn sigaltstack(ss
: *const stack_t
, oss
: *mut stack_t
) -> ::c_int
;
4508 pub fn sem_close(sem
: *mut sem_t
) -> ::c_int
;
4509 pub fn getdtablesize() -> ::c_int
;
4511 name
: *const ::c_char
,
4515 result
: *mut *mut ::group
,
4517 pub fn initgroups(user
: *const ::c_char
, group
: ::gid_t
) -> ::c_int
;
4518 pub fn pthread_sigmask(
4520 set
: *const sigset_t
,
4521 oldset
: *mut sigset_t
,
4523 pub fn sem_open(name
: *const ::c_char
, oflag
: ::c_int
, ...) -> *mut sem_t
;
4524 pub fn getgrnam(name
: *const ::c_char
) -> *mut ::group
;
4525 pub fn pthread_cancel(thread
: ::pthread_t
) -> ::c_int
;
4526 pub fn pthread_kill(thread
: ::pthread_t
, sig
: ::c_int
) -> ::c_int
;
4527 pub fn sem_unlink(name
: *const ::c_char
) -> ::c_int
;
4528 pub fn daemon(nochdir
: ::c_int
, noclose
: ::c_int
) -> ::c_int
;
4530 name
: *const ::c_char
,
4534 result
: *mut *mut passwd
,
4541 result
: *mut *mut passwd
,
4543 pub fn sigwait(set
: *const sigset_t
, sig
: *mut ::c_int
) -> ::c_int
;
4544 pub fn pthread_atfork(
4545 prepare
: ::Option
<unsafe extern "C" fn()>,
4546 parent
: ::Option
<unsafe extern "C" fn()>,
4547 child
: ::Option
<unsafe extern "C" fn()>,
4549 pub fn getgrgid(gid
: ::gid_t
) -> *mut ::group
;
4550 pub fn getgrouplist(
4551 user
: *const ::c_char
,
4553 groups
: *mut ::gid_t
,
4554 ngroups
: *mut ::c_int
,
4556 pub fn popen(command
: *const c_char
, mode
: *const c_char
) -> *mut ::FILE
;
4559 pathname
: *const ::c_char
,
4563 pub fn pthread_create(
4564 native
: *mut ::pthread_t
,
4565 attr
: *const ::pthread_attr_t
,
4566 f
: extern "C" fn(*mut ::c_void
) -> *mut ::c_void
,
4567 value
: *mut ::c_void
,
4569 pub fn dl_iterate_phdr(
4571 unsafe extern "C" fn(
4572 info
: *mut ::dl_phdr_info
,
4574 data
: *mut ::c_void
,
4577 data
: *mut ::c_void
,
4582 if #[cfg(target_arch = "aarch64")] {
4584 pub use self::aarch64
::*;
4585 } else if #[cfg(any(target_arch = "x86_64"))] {
4587 pub use self::x86_64
::*;
4589 // Unknown target_arch
4594 if #[cfg(libc_align)] {
4605 if #[cfg(libc_core_cvoid)] {
4606 pub use ::ffi
::c_void
;
4608 // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help
4609 // enable more optimization opportunities around it recognizing things
4610 // like malloc/free.
4612 #[allow(missing_copy_implementations)]
4613 #[allow(missing_debug_implementations)]
4615 // Two dummy variants so the #[repr] attribute can be used.