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 pub type zx_status_t
= i32;
94 // FIXME: why are these uninhabited types? that seems... wrong?
95 // Presumably these should be `()` or an `extern type` (when that stabilizes).
96 #[cfg_attr(feature = "extra_traits", derive(Debug))]
98 impl ::Copy
for timezone {}
99 impl ::Clone
for timezone
{
100 fn clone(&self) -> timezone
{
104 #[cfg_attr(feature = "extra_traits", derive(Debug))]
106 impl ::Copy
for DIR {}
107 impl ::Clone
for DIR
{
108 fn clone(&self) -> DIR
{
113 #[cfg_attr(feature = "extra_traits", derive(Debug))]
114 pub enum fpos64_t {}
// FIXME: fill this out with a struct
115 impl ::Copy
for fpos64_t {}
116 impl ::Clone
for fpos64_t
{
117 fn clone(&self) -> fpos64_t
{
126 pub gr_name
: *mut ::c_char
,
127 pub gr_passwd
: *mut ::c_char
,
129 pub gr_mem
: *mut *mut ::c_char
,
139 pub tv_usec
: suseconds_t
,
142 pub struct timespec
{
144 pub tv_nsec
: ::c_long
,
147 // FIXME: the rlimit and rusage related functions and types don't exist
148 // within zircon. Are there reasons for keeping them around?
150 pub rlim_cur
: rlim_t
,
151 pub rlim_max
: rlim_t
,
155 pub ru_utime
: timeval
,
156 pub ru_stime
: timeval
,
157 pub ru_maxrss
: c_long
,
158 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
160 pub ru_ixrss
: c_long
,
161 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
163 pub ru_idrss
: c_long
,
164 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
166 pub ru_isrss
: c_long
,
167 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
169 pub ru_minflt
: c_long
,
170 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
172 pub ru_majflt
: c_long
,
173 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
175 pub ru_nswap
: c_long
,
176 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
178 pub ru_inblock
: c_long
,
179 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
181 pub ru_oublock
: c_long
,
182 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
184 pub ru_msgsnd
: c_long
,
185 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
187 pub ru_msgrcv
: c_long
,
188 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
190 pub ru_nsignals
: c_long
,
191 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
193 pub ru_nvcsw
: c_long
,
194 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
196 pub ru_nivcsw
: c_long
,
197 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
202 pub s_addr
: in_addr_t
,
205 pub struct in6_addr
{
206 pub s6_addr
: [u8; 16],
210 pub imr_multiaddr
: in_addr
,
211 pub imr_interface
: in_addr
,
214 pub struct ip_mreqn
{
215 pub imr_multiaddr
: in_addr
,
216 pub imr_address
: in_addr
,
217 pub imr_ifindex
: ::c_int
,
220 pub struct ipv6_mreq
{
221 pub ipv6mr_multiaddr
: in6_addr
,
222 pub ipv6mr_interface
: ::c_uint
,
226 pub h_name
: *mut ::c_char
,
227 pub h_aliases
: *mut *mut ::c_char
,
228 pub h_addrtype
: ::c_int
,
229 pub h_length
: ::c_int
,
230 pub h_addr_list
: *mut *mut ::c_char
,
234 pub iov_base
: *mut ::c_void
,
235 pub iov_len
: ::size_t
,
240 pub events
: ::c_short
,
241 pub revents
: ::c_short
,
245 pub ws_row
: ::c_ushort
,
246 pub ws_col
: ::c_ushort
,
247 pub ws_xpixel
: ::c_ushort
,
248 pub ws_ypixel
: ::c_ushort
,
252 pub l_onoff
: ::c_int
,
253 pub l_linger
: ::c_int
,
257 // Actually a union of an int and a void*
258 pub sival_ptr
: *mut ::c_void
262 pub struct itimerval
{
263 pub it_interval
: ::timeval
,
264 pub it_value
: ::timeval
,
269 pub tms_utime
: ::clock_t
,
270 pub tms_stime
: ::clock_t
,
271 pub tms_cutime
: ::clock_t
,
272 pub tms_cstime
: ::clock_t
,
276 pub s_name
: *mut ::c_char
,
277 pub s_aliases
: *mut *mut ::c_char
,
279 pub s_proto
: *mut ::c_char
,
282 pub struct protoent
{
283 pub p_name
: *mut ::c_char
,
284 pub p_aliases
: *mut *mut ::c_char
,
285 pub p_proto
: ::c_int
,
289 pub aio_fildes
: ::c_int
,
290 pub aio_lio_opcode
: ::c_int
,
291 pub aio_reqprio
: ::c_int
,
292 pub aio_buf
: *mut ::c_void
,
293 pub aio_nbytes
: ::size_t
,
294 pub aio_sigevent
: ::sigevent
,
296 __lock
: [::c_int
; 2],
299 pub aio_offset
: off_t
,
300 __next
: *mut ::c_void
,
301 __prev
: *mut ::c_void
,
302 #[cfg(target_pointer_width = "32")]
303 __dummy4
: [::c_char
; 24],
304 #[cfg(target_pointer_width = "64")]
305 __dummy4
: [::c_char
; 16],
308 pub struct sigaction
{
309 pub sa_sigaction
: ::sighandler_t
,
310 pub sa_mask
: ::sigset_t
,
311 pub sa_flags
: ::c_int
,
312 pub sa_restorer
: ::Option
<extern fn()>,
316 pub c_iflag
: ::tcflag_t
,
317 pub c_oflag
: ::tcflag_t
,
318 pub c_cflag
: ::tcflag_t
,
319 pub c_lflag
: ::tcflag_t
,
321 pub c_cc
: [::cc_t
; ::NCCS
],
322 pub __c_ispeed
: ::speed_t
,
323 pub __c_ospeed
: ::speed_t
,
327 pub l_type
: ::c_short
,
328 pub l_whence
: ::c_short
,
329 pub l_start
: ::off_t
,
340 pub struct sockaddr
{
341 pub sa_family
: sa_family_t
,
342 pub sa_data
: [::c_char
; 14],
345 pub struct sockaddr_in
{
346 pub sin_family
: sa_family_t
,
347 pub sin_port
: ::in_port_t
,
348 pub sin_addr
: ::in_addr
,
349 pub sin_zero
: [u8; 8],
352 pub struct sockaddr_in6
{
353 pub sin6_family
: sa_family_t
,
354 pub sin6_port
: ::in_port_t
,
355 pub sin6_flowinfo
: u32,
356 pub sin6_addr
: ::in6_addr
,
357 pub sin6_scope_id
: u32,
360 pub struct addrinfo
{
361 pub ai_flags
: ::c_int
,
362 pub ai_family
: ::c_int
,
363 pub ai_socktype
: ::c_int
,
364 pub ai_protocol
: ::c_int
,
365 pub ai_addrlen
: socklen_t
,
367 pub ai_addr
: *mut ::sockaddr
,
369 pub ai_canonname
: *mut c_char
,
371 pub ai_next
: *mut addrinfo
,
374 pub struct sockaddr_ll
{
375 pub sll_family
: ::c_ushort
,
376 pub sll_protocol
: ::c_ushort
,
377 pub sll_ifindex
: ::c_int
,
378 pub sll_hatype
: ::c_ushort
,
379 pub sll_pkttype
: ::c_uchar
,
380 pub sll_halen
: ::c_uchar
,
381 pub sll_addr
: [::c_uchar
; 8]
385 fds_bits
: [::c_ulong
; FD_SETSIZE
/ ULONG_SIZE
],
391 pub tm_hour
: ::c_int
,
392 pub tm_mday
: ::c_int
,
394 pub tm_year
: ::c_int
,
395 pub tm_wday
: ::c_int
,
396 pub tm_yday
: ::c_int
,
397 pub tm_isdst
: ::c_int
,
398 pub tm_gmtoff
: ::c_long
,
399 pub tm_zone
: *const ::c_char
,
402 pub struct sched_param
{
403 pub sched_priority
: ::c_int
,
404 pub sched_ss_low_priority
: ::c_int
,
405 pub sched_ss_repl_period
: ::timespec
,
406 pub sched_ss_init_budget
: ::timespec
,
407 pub sched_ss_max_repl
: ::c_int
,
411 pub dli_fname
: *const ::c_char
,
412 pub dli_fbase
: *mut ::c_void
,
413 pub dli_sname
: *const ::c_char
,
414 pub dli_saddr
: *mut ::c_void
,
417 pub struct epoll_event
{
423 pub decimal_point
: *mut ::c_char
,
424 pub thousands_sep
: *mut ::c_char
,
425 pub grouping
: *mut ::c_char
,
426 pub int_curr_symbol
: *mut ::c_char
,
427 pub currency_symbol
: *mut ::c_char
,
428 pub mon_decimal_point
: *mut ::c_char
,
429 pub mon_thousands_sep
: *mut ::c_char
,
430 pub mon_grouping
: *mut ::c_char
,
431 pub positive_sign
: *mut ::c_char
,
432 pub negative_sign
: *mut ::c_char
,
433 pub int_frac_digits
: ::c_char
,
434 pub frac_digits
: ::c_char
,
435 pub p_cs_precedes
: ::c_char
,
436 pub p_sep_by_space
: ::c_char
,
437 pub n_cs_precedes
: ::c_char
,
438 pub n_sep_by_space
: ::c_char
,
439 pub p_sign_posn
: ::c_char
,
440 pub n_sign_posn
: ::c_char
,
441 pub int_p_cs_precedes
: ::c_char
,
442 pub int_p_sep_by_space
: ::c_char
,
443 pub int_n_cs_precedes
: ::c_char
,
444 pub int_n_sep_by_space
: ::c_char
,
445 pub int_p_sign_posn
: ::c_char
,
446 pub int_n_sign_posn
: ::c_char
,
449 pub struct rlimit64
{
450 pub rlim_cur
: rlim64_t
,
451 pub rlim_max
: rlim64_t
,
455 pub gl_pathc
: ::size_t
,
456 pub gl_pathv
: *mut *mut c_char
,
457 pub gl_offs
: ::size_t
,
458 pub gl_flags
: ::c_int
,
460 __unused1
: *mut ::c_void
,
461 __unused2
: *mut ::c_void
,
462 __unused3
: *mut ::c_void
,
463 __unused4
: *mut ::c_void
,
464 __unused5
: *mut ::c_void
,
468 pub ifa_next
: *mut ifaddrs
,
469 pub ifa_name
: *mut c_char
,
470 pub ifa_flags
: ::c_uint
,
471 pub ifa_addr
: *mut ::sockaddr
,
472 pub ifa_netmask
: *mut ::sockaddr
,
473 pub ifa_ifu
: *mut ::sockaddr
, // FIXME This should be a union
474 pub ifa_data
: *mut ::c_void
478 pub pw_name
: *mut ::c_char
,
479 pub pw_passwd
: *mut ::c_char
,
482 pub pw_gecos
: *mut ::c_char
,
483 pub pw_dir
: *mut ::c_char
,
484 pub pw_shell
: *mut ::c_char
,
488 pub sp_namp
: *mut ::c_char
,
489 pub sp_pwdp
: *mut ::c_char
,
490 pub sp_lstchg
: ::c_long
,
491 pub sp_min
: ::c_long
,
492 pub sp_max
: ::c_long
,
493 pub sp_warn
: ::c_long
,
494 pub sp_inact
: ::c_long
,
495 pub sp_expire
: ::c_long
,
496 pub sp_flag
: ::c_ulong
,
500 pub f_bsize
: ::c_ulong
,
501 pub f_frsize
: ::c_ulong
,
502 pub f_blocks
: ::fsblkcnt_t
,
503 pub f_bfree
: ::fsblkcnt_t
,
504 pub f_bavail
: ::fsblkcnt_t
,
505 pub f_files
: ::fsfilcnt_t
,
506 pub f_ffree
: ::fsfilcnt_t
,
507 pub f_favail
: ::fsfilcnt_t
,
508 #[cfg(target_endian = "little")]
509 pub f_fsid
: ::c_ulong
,
510 #[cfg(all(target_pointer_width = "32", not(target_arch = "x86_64")))]
512 #[cfg(target_endian = "big")]
513 pub f_fsid
: ::c_ulong
,
514 pub f_flag
: ::c_ulong
,
515 pub f_namemax
: ::c_ulong
,
516 __f_spare
: [::c_int
; 6],
520 pub dqb_bhardlimit
: u64,
521 pub dqb_bsoftlimit
: u64,
522 pub dqb_curspace
: u64,
523 pub dqb_ihardlimit
: u64,
524 pub dqb_isoftlimit
: u64,
525 pub dqb_curinodes
: u64,
531 pub struct signalfd_siginfo
{
540 pub ssi_overrun
: u32,
548 pub ssi_addr_lsb
: u16,
550 pub ssi_syscall
: i32,
551 pub ssi_call_addr
: u64,
556 pub struct itimerspec
{
557 pub it_interval
: ::timespec
,
558 pub it_value
: ::timespec
,
565 pub struct cpu_set_t
{
566 #[cfg(all(target_pointer_width = "32",
567 not(target_arch
= "x86_64")))]
569 #[cfg(not(all(target_pointer_width = "32",
570 not(target_arch
= "x86_64"))))]
574 pub struct if_nameindex
{
575 pub if_index
: ::c_uint
,
576 pub if_name
: *mut ::c_char
,
581 pub msgpool
: ::c_int
,
588 pub msgseg
: ::c_ushort
,
592 pub msg_hdr
: ::msghdr
,
593 pub msg_len
: ::c_uint
,
597 pub sem_num
: ::c_ushort
,
598 pub sem_op
: ::c_short
,
599 pub sem_flg
: ::c_short
,
602 pub struct input_event
{
609 pub struct input_id
{
610 pub bustype
: ::__u16
,
612 pub product
: ::__u16
,
613 pub version
: ::__u16
,
616 pub struct input_absinfo
{
618 pub minimum
: ::__s32
,
619 pub maximum
: ::__s32
,
622 pub resolution
: ::__s32
,
625 pub struct input_keymap_entry
{
629 pub keycode
: ::__u32
,
630 pub scancode
: [::__u8
; 32],
633 pub struct input_mask
{
635 pub codes_size
: ::__u32
,
636 pub codes_ptr
: ::__u64
,
639 pub struct ff_replay
{
644 pub struct ff_trigger
{
646 pub interval
: ::__u16
,
649 pub struct ff_envelope
{
650 pub attack_length
: ::__u16
,
651 pub attack_level
: ::__u16
,
652 pub fade_length
: ::__u16
,
653 pub fade_level
: ::__u16
,
656 pub struct ff_constant_effect
{
658 pub envelope
: ff_envelope
,
661 pub struct ff_ramp_effect
{
662 pub start_level
: ::__s16
,
663 pub end_level
: ::__s16
,
664 pub envelope
: ff_envelope
,
667 pub struct ff_condition_effect
{
668 pub right_saturation
: ::__u16
,
669 pub left_saturation
: ::__u16
,
671 pub right_coeff
: ::__s16
,
672 pub left_coeff
: ::__s16
,
674 pub deadband
: ::__u16
,
678 pub struct ff_periodic_effect
{
679 pub waveform
: ::__u16
,
681 pub magnitude
: ::__s16
,
685 pub envelope
: ff_envelope
,
687 pub custom_len
: ::__u32
,
688 pub custom_data
: *mut ::__s16
,
691 pub struct ff_rumble_effect
{
692 pub strong_magnitude
: ::__u16
,
693 pub weak_magnitude
: ::__u16
,
696 pub struct ff_effect
{
699 pub direction
: ::__u16
,
700 pub trigger
: ff_trigger
,
701 pub replay
: ff_replay
,
702 // FIXME this is actually a union
703 #[cfg(target_pointer_width = "64")]
705 #[cfg(target_pointer_width = "32")]
709 pub struct dl_phdr_info
{
710 #[cfg(target_pointer_width = "64")]
711 pub dlpi_addr
: Elf64_Addr
,
712 #[cfg(target_pointer_width = "32")]
713 pub dlpi_addr
: Elf32_Addr
,
715 pub dlpi_name
: *const ::c_char
,
717 #[cfg(target_pointer_width = "64")]
718 pub dlpi_phdr
: *const Elf64_Phdr
,
719 #[cfg(target_pointer_width = "32")]
720 pub dlpi_phdr
: *const Elf32_Phdr
,
722 #[cfg(target_pointer_width = "64")]
723 pub dlpi_phnum
: Elf64_Half
,
724 #[cfg(target_pointer_width = "32")]
725 pub dlpi_phnum
: Elf32_Half
,
727 pub dlpi_adds
: ::c_ulonglong
,
728 pub dlpi_subs
: ::c_ulonglong
,
729 pub dlpi_tls_modid
: ::size_t
,
730 pub dlpi_tls_data
: *mut ::c_void
,
733 pub struct Elf32_Phdr
{
734 pub p_type
: Elf32_Word
,
735 pub p_offset
: Elf32_Off
,
736 pub p_vaddr
: Elf32_Addr
,
737 pub p_paddr
: Elf32_Addr
,
738 pub p_filesz
: Elf32_Word
,
739 pub p_memsz
: Elf32_Word
,
740 pub p_flags
: Elf32_Word
,
741 pub p_align
: Elf32_Word
,
744 pub struct Elf64_Phdr
{
745 pub p_type
: Elf64_Word
,
746 pub p_flags
: Elf64_Word
,
747 pub p_offset
: Elf64_Off
,
748 pub p_vaddr
: Elf64_Addr
,
749 pub p_paddr
: Elf64_Addr
,
750 pub p_filesz
: Elf64_Xword
,
751 pub p_memsz
: Elf64_Xword
,
752 pub p_align
: Elf64_Xword
,
755 pub struct statfs64
{
756 pub f_type
: ::c_ulong
,
757 pub f_bsize
: ::c_ulong
,
758 pub f_blocks
: ::fsblkcnt_t
,
759 pub f_bfree
: ::fsblkcnt_t
,
760 pub f_bavail
: ::fsblkcnt_t
,
761 pub f_files
: ::fsfilcnt_t
,
762 pub f_ffree
: ::fsfilcnt_t
,
763 pub f_fsid
: ::fsid_t
,
764 pub f_namelen
: ::c_ulong
,
765 pub f_frsize
: ::c_ulong
,
766 pub f_flags
: ::c_ulong
,
767 pub f_spare
: [::c_ulong
; 4],
770 pub struct statvfs64
{
771 pub f_bsize
: ::c_ulong
,
772 pub f_frsize
: ::c_ulong
,
779 pub f_fsid
: ::c_ulong
,
780 pub f_flag
: ::c_ulong
,
781 pub f_namemax
: ::c_ulong
,
782 __f_spare
: [::c_int
; 6],
786 pub ss_sp
: *mut ::c_void
,
787 pub ss_flags
: ::c_int
,
788 pub ss_size
: ::size_t
791 pub struct pthread_attr_t
{
795 pub struct sigset_t
{
796 __val
: [::c_ulong
; 16],
799 pub struct shmid_ds
{
800 pub shm_perm
: ::ipc_perm
,
801 pub shm_segsz
: ::size_t
,
802 pub shm_atime
: ::time_t
,
803 pub shm_dtime
: ::time_t
,
804 pub shm_ctime
: ::time_t
,
805 pub shm_cpid
: ::pid_t
,
806 pub shm_lpid
: ::pid_t
,
807 pub shm_nattch
: ::c_ulong
,
812 pub struct msqid_ds
{
813 pub msg_perm
: ::ipc_perm
,
814 pub msg_stime
: ::time_t
,
815 pub msg_rtime
: ::time_t
,
816 pub msg_ctime
: ::time_t
,
817 __msg_cbytes
: ::c_ulong
,
818 pub msg_qnum
: ::msgqnum_t
,
819 pub msg_qbytes
: ::msglen_t
,
820 pub msg_lspid
: ::pid_t
,
821 pub msg_lrpid
: ::pid_t
,
827 pub f_type
: ::c_ulong
,
828 pub f_bsize
: ::c_ulong
,
829 pub f_blocks
: ::fsblkcnt_t
,
830 pub f_bfree
: ::fsblkcnt_t
,
831 pub f_bavail
: ::fsblkcnt_t
,
832 pub f_files
: ::fsfilcnt_t
,
833 pub f_ffree
: ::fsfilcnt_t
,
834 pub f_fsid
: ::fsid_t
,
835 pub f_namelen
: ::c_ulong
,
836 pub f_frsize
: ::c_ulong
,
837 pub f_flags
: ::c_ulong
,
838 pub f_spare
: [::c_ulong
; 4],
842 pub msg_name
: *mut ::c_void
,
843 pub msg_namelen
: ::socklen_t
,
844 pub msg_iov
: *mut ::iovec
,
845 pub msg_iovlen
: ::c_int
,
847 pub msg_control
: *mut ::c_void
,
848 pub msg_controllen
: ::socklen_t
,
850 pub msg_flags
: ::c_int
,
854 pub cmsg_len
: ::socklen_t
,
856 pub cmsg_level
: ::c_int
,
857 pub cmsg_type
: ::c_int
,
864 pub struct siginfo_t
{
865 pub si_signo
: ::c_int
,
866 pub si_errno
: ::c_int
,
867 pub si_code
: ::c_int
,
868 pub _pad
: [::c_int
; 29],
872 pub struct termios2
{
873 pub c_iflag
: ::tcflag_t
,
874 pub c_oflag
: ::tcflag_t
,
875 pub c_cflag
: ::tcflag_t
,
876 pub c_lflag
: ::tcflag_t
,
878 pub c_cc
: [::cc_t
; 19],
879 pub c_ispeed
: ::speed_t
,
880 pub c_ospeed
: ::speed_t
,
886 pub uptime
: ::c_ulong
,
887 pub loads
: [::c_ulong
; 3],
888 pub totalram
: ::c_ulong
,
889 pub freeram
: ::c_ulong
,
890 pub sharedram
: ::c_ulong
,
891 pub bufferram
: ::c_ulong
,
892 pub totalswap
: ::c_ulong
,
893 pub freeswap
: ::c_ulong
,
894 pub procs
: ::c_ushort
,
896 pub totalhigh
: ::c_ulong
,
897 pub freehigh
: ::c_ulong
,
898 pub mem_unit
: ::c_uint
,
899 pub __reserved
: [::c_char
; 256],
902 pub struct sockaddr_un
{
903 pub sun_family
: sa_family_t
,
904 pub sun_path
: [::c_char
; 108]
907 pub struct sockaddr_storage
{
908 pub ss_family
: sa_family_t
,
909 __ss_align
: ::size_t
,
910 __ss_pad2
: [u8; 128 - 2 * 8],
914 pub sysname
: [::c_char
; 65],
915 pub nodename
: [::c_char
; 65],
916 pub release
: [::c_char
; 65],
917 pub version
: [::c_char
; 65],
918 pub machine
: [::c_char
; 65],
919 pub domainname
: [::c_char
; 65]
925 pub d_reclen
: ::c_ushort
,
926 pub d_type
: ::c_uchar
,
927 pub d_name
: [::c_char
; 256],
930 pub struct dirent64
{
931 pub d_ino
: ::ino64_t
,
932 pub d_off
: ::off64_t
,
933 pub d_reclen
: ::c_ushort
,
934 pub d_type
: ::c_uchar
,
935 pub d_name
: [::c_char
; 256],
939 // See https://sourceware.org/bugzilla/show_bug.cgi?id=21279
941 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
943 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
945 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
947 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
949 #[cfg(all(target_arch = "x86_64", target_pointer_width = "32"))]
952 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
953 pub mq_flags
: ::c_long
,
954 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
955 pub mq_maxmsg
: ::c_long
,
956 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
957 pub mq_msgsize
: ::c_long
,
958 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
959 pub mq_curmsgs
: ::c_long
,
960 #[cfg(not(all(target_arch = "x86_64", target_pointer_width = "32")))]
964 pub struct sockaddr_nl
{
965 pub nl_family
: ::sa_family_t
,
971 pub struct sigevent
{
972 pub sigev_value
: ::sigval
,
973 pub sigev_signo
: ::c_int
,
974 pub sigev_notify
: ::c_int
,
975 pub sigev_notify_function
: fn(::sigval
),
976 pub sigev_notify_attributes
: *mut pthread_attr_t
,
977 pub __pad
: [::c_char
; 56 - 3 * 8 /* 8 == sizeof(long) */],
982 if #[cfg(feature = "extra_traits")] {
983 impl PartialEq
for sysinfo
{
984 fn eq(&self, other
: &sysinfo
) -> bool
{
985 self.uptime
== other
.uptime
986 && self.loads
== other
.loads
987 && self.totalram
== other
.totalram
988 && self.freeram
== other
.freeram
989 && self.sharedram
== other
.sharedram
990 && self.bufferram
== other
.bufferram
991 && self.totalswap
== other
.totalswap
992 && self.freeswap
== other
.freeswap
993 && self.procs
== other
.procs
994 && self.pad
== other
.pad
995 && self.totalhigh
== other
.totalhigh
996 && self.freehigh
== other
.freehigh
997 && self.mem_unit
== other
.mem_unit
1001 .zip(other
.__reserved
.iter())
1002 .all(|(a
,b
)| a
== b
)
1005 impl Eq
for sysinfo {}
1006 impl ::fmt
::Debug
for sysinfo
{
1007 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1008 f
.debug_struct("sysinfo")
1009 .field("uptime", &self.uptime
)
1010 .field("loads", &self.loads
)
1011 .field("totalram", &self.totalram
)
1012 .field("freeram", &self.freeram
)
1013 .field("sharedram", &self.sharedram
)
1014 .field("bufferram", &self.bufferram
)
1015 .field("totalswap", &self.totalswap
)
1016 .field("freeswap", &self.freeswap
)
1017 .field("procs", &self.procs
)
1018 .field("pad", &self.pad
)
1019 .field("totalhigh", &self.totalhigh
)
1020 .field("freehigh", &self.freehigh
)
1021 .field("mem_unit", &self.mem_unit
)
1022 // FIXME: .field("__reserved", &self.__reserved)
1026 impl ::hash
::Hash
for sysinfo
{
1027 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1028 self.uptime
.hash(state
);
1029 self.loads
.hash(state
);
1030 self.totalram
.hash(state
);
1031 self.freeram
.hash(state
);
1032 self.sharedram
.hash(state
);
1033 self.bufferram
.hash(state
);
1034 self.totalswap
.hash(state
);
1035 self.freeswap
.hash(state
);
1036 self.procs
.hash(state
);
1037 self.pad
.hash(state
);
1038 self.totalhigh
.hash(state
);
1039 self.freehigh
.hash(state
);
1040 self.mem_unit
.hash(state
);
1041 self.__reserved
.hash(state
);
1045 impl PartialEq
for sockaddr_un
{
1046 fn eq(&self, other
: &sockaddr_un
) -> bool
{
1047 self.sun_family
== other
.sun_family
1051 .zip(other
.sun_path
.iter())
1052 .all(|(a
,b
)| a
== b
)
1055 impl Eq
for sockaddr_un {}
1056 impl ::fmt
::Debug
for sockaddr_un
{
1057 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1058 f
.debug_struct("sockaddr_un")
1059 .field("sun_family", &self.sun_family
)
1060 // FIXME: .field("sun_path", &self.sun_path)
1064 impl ::hash
::Hash
for sockaddr_un
{
1065 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1066 self.sun_family
.hash(state
);
1067 self.sun_path
.hash(state
);
1071 impl PartialEq
for sockaddr_storage
{
1072 fn eq(&self, other
: &sockaddr_storage
) -> bool
{
1073 self.ss_family
== other
.ss_family
1074 && self.__ss_align
== other
.__ss_align
1078 .zip(other
.__ss_pad2
.iter())
1079 .all(|(a
, b
)| a
== b
)
1082 impl Eq
for sockaddr_storage {}
1083 impl ::fmt
::Debug
for sockaddr_storage
{
1084 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1085 f
.debug_struct("sockaddr_storage")
1086 .field("ss_family", &self.ss_family
)
1087 .field("__ss_align", &self.__ss_align
)
1088 // FIXME: .field("__ss_pad2", &self.__ss_pad2)
1092 impl ::hash
::Hash
for sockaddr_storage
{
1093 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1094 self.ss_family
.hash(state
);
1095 self.__ss_align
.hash(state
);
1096 self.__ss_pad2
.hash(state
);
1100 impl PartialEq
for utsname
{
1101 fn eq(&self, other
: &utsname
) -> bool
{
1104 .zip(other
.sysname
.iter())
1105 .all(|(a
,b
)| a
== b
)
1109 .zip(other
.nodename
.iter())
1110 .all(|(a
,b
)| a
== b
)
1114 .zip(other
.release
.iter())
1115 .all(|(a
,b
)| a
== b
)
1119 .zip(other
.version
.iter())
1120 .all(|(a
,b
)| a
== b
)
1124 .zip(other
.machine
.iter())
1125 .all(|(a
,b
)| a
== b
)
1128 impl Eq
for utsname {}
1129 impl ::fmt
::Debug
for utsname
{
1130 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1131 f
.debug_struct("utsname")
1132 // FIXME: .field("sysname", &self.sysname)
1133 // FIXME: .field("nodename", &self.nodename)
1134 // FIXME: .field("release", &self.release)
1135 // FIXME: .field("version", &self.version)
1136 // FIXME: .field("machine", &self.machine)
1140 impl ::hash
::Hash
for utsname
{
1141 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1142 self.sysname
.hash(state
);
1143 self.nodename
.hash(state
);
1144 self.release
.hash(state
);
1145 self.version
.hash(state
);
1146 self.machine
.hash(state
);
1150 impl PartialEq
for dirent
{
1151 fn eq(&self, other
: &dirent
) -> bool
{
1152 self.d_ino
== other
.d_ino
1153 && self.d_off
== other
.d_off
1154 && self.d_reclen
== other
.d_reclen
1155 && self.d_type
== other
.d_type
1159 .zip(other
.d_name
.iter())
1160 .all(|(a
,b
)| a
== b
)
1163 impl Eq
for dirent {}
1164 impl ::fmt
::Debug
for dirent
{
1165 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1166 f
.debug_struct("dirent")
1167 .field("d_ino", &self.d_ino
)
1168 .field("d_off", &self.d_off
)
1169 .field("d_reclen", &self.d_reclen
)
1170 .field("d_type", &self.d_type
)
1171 // FIXME: .field("d_name", &self.d_name)
1175 impl ::hash
::Hash
for dirent
{
1176 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1177 self.d_ino
.hash(state
);
1178 self.d_off
.hash(state
);
1179 self.d_reclen
.hash(state
);
1180 self.d_type
.hash(state
);
1181 self.d_name
.hash(state
);
1185 impl PartialEq
for dirent64
{
1186 fn eq(&self, other
: &dirent64
) -> bool
{
1187 self.d_ino
== other
.d_ino
1188 && self.d_off
== other
.d_off
1189 && self.d_reclen
== other
.d_reclen
1190 && self.d_type
== other
.d_type
1194 .zip(other
.d_name
.iter())
1195 .all(|(a
,b
)| a
== b
)
1198 impl Eq
for dirent64 {}
1199 impl ::fmt
::Debug
for dirent64
{
1200 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1201 f
.debug_struct("dirent64")
1202 .field("d_ino", &self.d_ino
)
1203 .field("d_off", &self.d_off
)
1204 .field("d_reclen", &self.d_reclen
)
1205 .field("d_type", &self.d_type
)
1206 // FIXME: .field("d_name", &self.d_name)
1210 impl ::hash
::Hash
for dirent64
{
1211 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1212 self.d_ino
.hash(state
);
1213 self.d_off
.hash(state
);
1214 self.d_reclen
.hash(state
);
1215 self.d_type
.hash(state
);
1216 self.d_name
.hash(state
);
1220 impl PartialEq
for mq_attr
{
1221 fn eq(&self, other
: &mq_attr
) -> bool
{
1222 self.mq_flags
== other
.mq_flags
&&
1223 self.mq_maxmsg
== other
.mq_maxmsg
&&
1224 self.mq_msgsize
== other
.mq_msgsize
&&
1225 self.mq_curmsgs
== other
.mq_curmsgs
1228 impl Eq
for mq_attr {}
1229 impl ::fmt
::Debug
for mq_attr
{
1230 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1231 f
.debug_struct("mq_attr")
1232 .field("mq_flags", &self.mq_flags
)
1233 .field("mq_maxmsg", &self.mq_maxmsg
)
1234 .field("mq_msgsize", &self.mq_msgsize
)
1235 .field("mq_curmsgs", &self.mq_curmsgs
)
1239 impl ::hash
::Hash
for mq_attr
{
1240 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1241 self.mq_flags
.hash(state
);
1242 self.mq_maxmsg
.hash(state
);
1243 self.mq_msgsize
.hash(state
);
1244 self.mq_curmsgs
.hash(state
);
1248 impl PartialEq
for sockaddr_nl
{
1249 fn eq(&self, other
: &sockaddr_nl
) -> bool
{
1250 self.nl_family
== other
.nl_family
&&
1251 self.nl_pid
== other
.nl_pid
&&
1252 self.nl_groups
== other
.nl_groups
1255 impl Eq
for sockaddr_nl {}
1256 impl ::fmt
::Debug
for sockaddr_nl
{
1257 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1258 f
.debug_struct("sockaddr_nl")
1259 .field("nl_family", &self.nl_family
)
1260 .field("nl_pid", &self.nl_pid
)
1261 .field("nl_groups", &self.nl_groups
)
1265 impl ::hash
::Hash
for sockaddr_nl
{
1266 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1267 self.nl_family
.hash(state
);
1268 self.nl_pid
.hash(state
);
1269 self.nl_groups
.hash(state
);
1273 impl PartialEq
for sigevent
{
1274 fn eq(&self, other
: &sigevent
) -> bool
{
1275 self.sigev_value
== other
.sigev_value
1276 && self.sigev_signo
== other
.sigev_signo
1277 && self.sigev_notify
== other
.sigev_notify
1278 && self.sigev_notify_function
1279 == other
.sigev_notify_function
1280 && self.sigev_notify_attributes
1281 == other
.sigev_notify_attributes
1284 impl Eq
for sigevent {}
1285 impl ::fmt
::Debug
for sigevent
{
1286 fn fmt(&self, f
: &mut ::fmt
::Formatter
) -> ::fmt
::Result
{
1287 f
.debug_struct("sigevent")
1288 .field("sigev_value", &self.sigev_value
)
1289 .field("sigev_signo", &self.sigev_signo
)
1290 .field("sigev_notify", &self.sigev_notify
)
1291 .field("sigev_notify_function", &self.sigev_notify_function
)
1292 .field("sigev_notify_attributes",
1293 &self.sigev_notify_attributes
)
1297 impl ::hash
::Hash
for sigevent
{
1298 fn hash
<H
: ::hash
::Hasher
>(&self, state
: &mut H
) {
1299 self.sigev_value
.hash(state
);
1300 self.sigev_signo
.hash(state
);
1301 self.sigev_notify
.hash(state
);
1302 self.sigev_notify_function
.hash(state
);
1303 self.sigev_notify_attributes
.hash(state
);
1311 pub const INT_MIN
: c_int
= -2147483648;
1312 pub const INT_MAX
: c_int
= 2147483647;
1314 pub const SIG_DFL
: sighandler_t
= 0 as sighandler_t
;
1315 pub const SIG_IGN
: sighandler_t
= 1 as sighandler_t
;
1316 pub const SIG_ERR
: sighandler_t
= !0 as sighandler_t
;
1318 pub const DT_FIFO
: u8 = 1;
1319 pub const DT_CHR
: u8 = 2;
1320 pub const DT_DIR
: u8 = 4;
1321 pub const DT_BLK
: u8 = 6;
1322 pub const DT_REG
: u8 = 8;
1323 pub const DT_LNK
: u8 = 10;
1324 pub const DT_SOCK
: u8 = 12;
1326 pub const FD_CLOEXEC
: ::c_int
= 0x1;
1328 pub const USRQUOTA
: ::c_int
= 0;
1329 pub const GRPQUOTA
: ::c_int
= 1;
1331 pub const SIGIOT
: ::c_int
= 6;
1333 pub const S_ISUID
: ::c_int
= 0x800;
1334 pub const S_ISGID
: ::c_int
= 0x400;
1335 pub const S_ISVTX
: ::c_int
= 0x200;
1337 pub const IF_NAMESIZE
: ::size_t
= 16;
1338 pub const IFNAMSIZ
: ::size_t
= IF_NAMESIZE
;
1340 pub const LOG_EMERG
: ::c_int
= 0;
1341 pub const LOG_ALERT
: ::c_int
= 1;
1342 pub const LOG_CRIT
: ::c_int
= 2;
1343 pub const LOG_ERR
: ::c_int
= 3;
1344 pub const LOG_WARNING
: ::c_int
= 4;
1345 pub const LOG_NOTICE
: ::c_int
= 5;
1346 pub const LOG_INFO
: ::c_int
= 6;
1347 pub const LOG_DEBUG
: ::c_int
= 7;
1349 pub const LOG_KERN
: ::c_int
= 0;
1350 pub const LOG_USER
: ::c_int
= 1 << 3;
1351 pub const LOG_MAIL
: ::c_int
= 2 << 3;
1352 pub const LOG_DAEMON
: ::c_int
= 3 << 3;
1353 pub const LOG_AUTH
: ::c_int
= 4 << 3;
1354 pub const LOG_SYSLOG
: ::c_int
= 5 << 3;
1355 pub const LOG_LPR
: ::c_int
= 6 << 3;
1356 pub const LOG_NEWS
: ::c_int
= 7 << 3;
1357 pub const LOG_UUCP
: ::c_int
= 8 << 3;
1358 pub const LOG_LOCAL0
: ::c_int
= 16 << 3;
1359 pub const LOG_LOCAL1
: ::c_int
= 17 << 3;
1360 pub const LOG_LOCAL2
: ::c_int
= 18 << 3;
1361 pub const LOG_LOCAL3
: ::c_int
= 19 << 3;
1362 pub const LOG_LOCAL4
: ::c_int
= 20 << 3;
1363 pub const LOG_LOCAL5
: ::c_int
= 21 << 3;
1364 pub const LOG_LOCAL6
: ::c_int
= 22 << 3;
1365 pub const LOG_LOCAL7
: ::c_int
= 23 << 3;
1367 pub const LOG_PID
: ::c_int
= 0x01;
1368 pub const LOG_CONS
: ::c_int
= 0x02;
1369 pub const LOG_ODELAY
: ::c_int
= 0x04;
1370 pub const LOG_NDELAY
: ::c_int
= 0x08;
1371 pub const LOG_NOWAIT
: ::c_int
= 0x10;
1373 pub const LOG_PRIMASK
: ::c_int
= 7;
1374 pub const LOG_FACMASK
: ::c_int
= 0x3f8;
1376 pub const PRIO_PROCESS
: ::c_int
= 0;
1377 pub const PRIO_PGRP
: ::c_int
= 1;
1378 pub const PRIO_USER
: ::c_int
= 2;
1380 pub const PRIO_MIN
: ::c_int
= -20;
1381 pub const PRIO_MAX
: ::c_int
= 20;
1383 pub const IPPROTO_ICMP
: ::c_int
= 1;
1384 pub const IPPROTO_ICMPV6
: ::c_int
= 58;
1385 pub const IPPROTO_TCP
: ::c_int
= 6;
1386 pub const IPPROTO_UDP
: ::c_int
= 17;
1387 pub const IPPROTO_IP
: ::c_int
= 0;
1388 pub const IPPROTO_IPV6
: ::c_int
= 41;
1390 pub const INADDR_LOOPBACK
: in_addr_t
= 2130706433;
1391 pub const INADDR_ANY
: in_addr_t
= 0;
1392 pub const INADDR_BROADCAST
: in_addr_t
= 4294967295;
1393 pub const INADDR_NONE
: in_addr_t
= 4294967295;
1395 pub const EXIT_FAILURE
: ::c_int
= 1;
1396 pub const EXIT_SUCCESS
: ::c_int
= 0;
1397 pub const RAND_MAX
: ::c_int
= 2147483647;
1398 pub const EOF
: ::c_int
= -1;
1399 pub const SEEK_SET
: ::c_int
= 0;
1400 pub const SEEK_CUR
: ::c_int
= 1;
1401 pub const SEEK_END
: ::c_int
= 2;
1402 pub const _IOFBF
: ::c_int
= 0;
1403 pub const _IONBF
: ::c_int
= 2;
1404 pub const _IOLBF
: ::c_int
= 1;
1406 pub const F_DUPFD
: ::c_int
= 0;
1407 pub const F_GETFD
: ::c_int
= 1;
1408 pub const F_SETFD
: ::c_int
= 2;
1409 pub const F_GETFL
: ::c_int
= 3;
1410 pub const F_SETFL
: ::c_int
= 4;
1412 // Linux-specific fcntls
1413 pub const F_SETLEASE
: ::c_int
= 1024;
1414 pub const F_GETLEASE
: ::c_int
= 1025;
1415 pub const F_NOTIFY
: ::c_int
= 1026;
1416 pub const F_CANCELLK
: ::c_int
= 1029;
1417 pub const F_DUPFD_CLOEXEC
: ::c_int
= 1030;
1418 pub const F_SETPIPE_SZ
: ::c_int
= 1031;
1419 pub const F_GETPIPE_SZ
: ::c_int
= 1032;
1420 pub const F_ADD_SEALS
: ::c_int
= 1033;
1421 pub const F_GET_SEALS
: ::c_int
= 1034;
1423 pub const F_SEAL_SEAL
: ::c_int
= 0x0001;
1424 pub const F_SEAL_SHRINK
: ::c_int
= 0x0002;
1425 pub const F_SEAL_GROW
: ::c_int
= 0x0004;
1426 pub const F_SEAL_WRITE
: ::c_int
= 0x0008;
1428 // FIXME(#235): Include file sealing fcntls once we have a way to verify them.
1430 pub const SIGTRAP
: ::c_int
= 5;
1432 pub const PTHREAD_CREATE_JOINABLE
: ::c_int
= 0;
1433 pub const PTHREAD_CREATE_DETACHED
: ::c_int
= 1;
1435 pub const CLOCK_REALTIME
: ::clockid_t
= 0;
1436 pub const CLOCK_MONOTONIC
: ::clockid_t
= 1;
1437 pub const CLOCK_PROCESS_CPUTIME_ID
: ::clockid_t
= 2;
1438 pub const CLOCK_THREAD_CPUTIME_ID
: ::clockid_t
= 3;
1439 pub const CLOCK_MONOTONIC_RAW
: ::clockid_t
= 4;
1440 pub const CLOCK_REALTIME_COARSE
: ::clockid_t
= 5;
1441 pub const CLOCK_MONOTONIC_COARSE
: ::clockid_t
= 6;
1442 pub const CLOCK_BOOTTIME
: ::clockid_t
= 7;
1443 pub const CLOCK_REALTIME_ALARM
: ::clockid_t
= 8;
1444 pub const CLOCK_BOOTTIME_ALARM
: ::clockid_t
= 9;
1445 pub const CLOCK_SGI_CYCLE
: ::clockid_t
= 10;
1446 pub const CLOCK_TAI
: ::clockid_t
= 11;
1447 pub const TIMER_ABSTIME
: ::c_int
= 1;
1449 pub const RLIMIT_CPU
: ::c_int
= 0;
1450 pub const RLIMIT_FSIZE
: ::c_int
= 1;
1451 pub const RLIMIT_DATA
: ::c_int
= 2;
1452 pub const RLIMIT_STACK
: ::c_int
= 3;
1453 pub const RLIMIT_CORE
: ::c_int
= 4;
1454 pub const RLIMIT_LOCKS
: ::c_int
= 10;
1455 pub const RLIMIT_SIGPENDING
: ::c_int
= 11;
1456 pub const RLIMIT_MSGQUEUE
: ::c_int
= 12;
1457 pub const RLIMIT_NICE
: ::c_int
= 13;
1458 pub const RLIMIT_RTPRIO
: ::c_int
= 14;
1460 pub const RUSAGE_SELF
: ::c_int
= 0;
1462 pub const O_RDONLY
: ::c_int
= 0;
1463 pub const O_WRONLY
: ::c_int
= 1;
1464 pub const O_RDWR
: ::c_int
= 2;
1466 pub const S_IFIFO
: ::mode_t
= 4096;
1467 pub const S_IFCHR
: ::mode_t
= 8192;
1468 pub const S_IFBLK
: ::mode_t
= 24576;
1469 pub const S_IFDIR
: ::mode_t
= 16384;
1470 pub const S_IFREG
: ::mode_t
= 32768;
1471 pub const S_IFLNK
: ::mode_t
= 40960;
1472 pub const S_IFSOCK
: ::mode_t
= 49152;
1473 pub const S_IFMT
: ::mode_t
= 61440;
1474 pub const S_IRWXU
: ::mode_t
= 448;
1475 pub const S_IXUSR
: ::mode_t
= 64;
1476 pub const S_IWUSR
: ::mode_t
= 128;
1477 pub const S_IRUSR
: ::mode_t
= 256;
1478 pub const S_IRWXG
: ::mode_t
= 56;
1479 pub const S_IXGRP
: ::mode_t
= 8;
1480 pub const S_IWGRP
: ::mode_t
= 16;
1481 pub const S_IRGRP
: ::mode_t
= 32;
1482 pub const S_IRWXO
: ::mode_t
= 7;
1483 pub const S_IXOTH
: ::mode_t
= 1;
1484 pub const S_IWOTH
: ::mode_t
= 2;
1485 pub const S_IROTH
: ::mode_t
= 4;
1486 pub const F_OK
: ::c_int
= 0;
1487 pub const R_OK
: ::c_int
= 4;
1488 pub const W_OK
: ::c_int
= 2;
1489 pub const X_OK
: ::c_int
= 1;
1490 pub const STDIN_FILENO
: ::c_int
= 0;
1491 pub const STDOUT_FILENO
: ::c_int
= 1;
1492 pub const STDERR_FILENO
: ::c_int
= 2;
1493 pub const SIGHUP
: ::c_int
= 1;
1494 pub const SIGINT
: ::c_int
= 2;
1495 pub const SIGQUIT
: ::c_int
= 3;
1496 pub const SIGILL
: ::c_int
= 4;
1497 pub const SIGABRT
: ::c_int
= 6;
1498 pub const SIGFPE
: ::c_int
= 8;
1499 pub const SIGKILL
: ::c_int
= 9;
1500 pub const SIGSEGV
: ::c_int
= 11;
1501 pub const SIGPIPE
: ::c_int
= 13;
1502 pub const SIGALRM
: ::c_int
= 14;
1503 pub const SIGTERM
: ::c_int
= 15;
1505 pub const PROT_NONE
: ::c_int
= 0;
1506 pub const PROT_READ
: ::c_int
= 1;
1507 pub const PROT_WRITE
: ::c_int
= 2;
1508 pub const PROT_EXEC
: ::c_int
= 4;
1510 pub const LC_CTYPE
: ::c_int
= 0;
1511 pub const LC_NUMERIC
: ::c_int
= 1;
1512 pub const LC_TIME
: ::c_int
= 2;
1513 pub const LC_COLLATE
: ::c_int
= 3;
1514 pub const LC_MONETARY
: ::c_int
= 4;
1515 pub const LC_MESSAGES
: ::c_int
= 5;
1516 pub const LC_ALL
: ::c_int
= 6;
1517 pub const LC_CTYPE_MASK
: ::c_int
= 1 << LC_CTYPE
;
1518 pub const LC_NUMERIC_MASK
: ::c_int
= 1 << LC_NUMERIC
;
1519 pub const LC_TIME_MASK
: ::c_int
= 1 << LC_TIME
;
1520 pub const LC_COLLATE_MASK
: ::c_int
= 1 << LC_COLLATE
;
1521 pub const LC_MONETARY_MASK
: ::c_int
= 1 << LC_MONETARY
;
1522 pub const LC_MESSAGES_MASK
: ::c_int
= 1 << LC_MESSAGES
;
1523 // LC_ALL_MASK defined per platform
1525 pub const MAP_FILE
: ::c_int
= 0x0000;
1526 pub const MAP_SHARED
: ::c_int
= 0x0001;
1527 pub const MAP_PRIVATE
: ::c_int
= 0x0002;
1528 pub const MAP_FIXED
: ::c_int
= 0x0010;
1530 pub const MAP_FAILED
: *mut ::c_void
= !0 as *mut ::c_void
;
1532 // MS_ flags for msync(2)
1533 pub const MS_ASYNC
: ::c_int
= 0x0001;
1534 pub const MS_INVALIDATE
: ::c_int
= 0x0002;
1535 pub const MS_SYNC
: ::c_int
= 0x0004;
1537 // MS_ flags for mount(2)
1538 pub const MS_RDONLY
: ::c_ulong
= 0x01;
1539 pub const MS_NOSUID
: ::c_ulong
= 0x02;
1540 pub const MS_NODEV
: ::c_ulong
= 0x04;
1541 pub const MS_NOEXEC
: ::c_ulong
= 0x08;
1542 pub const MS_SYNCHRONOUS
: ::c_ulong
= 0x10;
1543 pub const MS_REMOUNT
: ::c_ulong
= 0x20;
1544 pub const MS_MANDLOCK
: ::c_ulong
= 0x40;
1545 pub const MS_DIRSYNC
: ::c_ulong
= 0x80;
1546 pub const MS_NOATIME
: ::c_ulong
= 0x0400;
1547 pub const MS_NODIRATIME
: ::c_ulong
= 0x0800;
1548 pub const MS_BIND
: ::c_ulong
= 0x1000;
1549 pub const MS_MOVE
: ::c_ulong
= 0x2000;
1550 pub const MS_REC
: ::c_ulong
= 0x4000;
1551 pub const MS_SILENT
: ::c_ulong
= 0x8000;
1552 pub const MS_POSIXACL
: ::c_ulong
= 0x010000;
1553 pub const MS_UNBINDABLE
: ::c_ulong
= 0x020000;
1554 pub const MS_PRIVATE
: ::c_ulong
= 0x040000;
1555 pub const MS_SLAVE
: ::c_ulong
= 0x080000;
1556 pub const MS_SHARED
: ::c_ulong
= 0x100000;
1557 pub const MS_RELATIME
: ::c_ulong
= 0x200000;
1558 pub const MS_KERNMOUNT
: ::c_ulong
= 0x400000;
1559 pub const MS_I_VERSION
: ::c_ulong
= 0x800000;
1560 pub const MS_STRICTATIME
: ::c_ulong
= 0x1000000;
1561 pub const MS_ACTIVE
: ::c_ulong
= 0x40000000;
1562 pub const MS_NOUSER
: ::c_ulong
= 0x80000000;
1563 pub const MS_MGC_VAL
: ::c_ulong
= 0xc0ed0000;
1564 pub const MS_MGC_MSK
: ::c_ulong
= 0xffff0000;
1565 pub const MS_RMT_MASK
: ::c_ulong
= 0x800051;
1567 pub const EPERM
: ::c_int
= 1;
1568 pub const ENOENT
: ::c_int
= 2;
1569 pub const ESRCH
: ::c_int
= 3;
1570 pub const EINTR
: ::c_int
= 4;
1571 pub const EIO
: ::c_int
= 5;
1572 pub const ENXIO
: ::c_int
= 6;
1573 pub const E2BIG
: ::c_int
= 7;
1574 pub const ENOEXEC
: ::c_int
= 8;
1575 pub const EBADF
: ::c_int
= 9;
1576 pub const ECHILD
: ::c_int
= 10;
1577 pub const EAGAIN
: ::c_int
= 11;
1578 pub const ENOMEM
: ::c_int
= 12;
1579 pub const EACCES
: ::c_int
= 13;
1580 pub const EFAULT
: ::c_int
= 14;
1581 pub const ENOTBLK
: ::c_int
= 15;
1582 pub const EBUSY
: ::c_int
= 16;
1583 pub const EEXIST
: ::c_int
= 17;
1584 pub const EXDEV
: ::c_int
= 18;
1585 pub const ENODEV
: ::c_int
= 19;
1586 pub const ENOTDIR
: ::c_int
= 20;
1587 pub const EISDIR
: ::c_int
= 21;
1588 pub const EINVAL
: ::c_int
= 22;
1589 pub const ENFILE
: ::c_int
= 23;
1590 pub const EMFILE
: ::c_int
= 24;
1591 pub const ENOTTY
: ::c_int
= 25;
1592 pub const ETXTBSY
: ::c_int
= 26;
1593 pub const EFBIG
: ::c_int
= 27;
1594 pub const ENOSPC
: ::c_int
= 28;
1595 pub const ESPIPE
: ::c_int
= 29;
1596 pub const EROFS
: ::c_int
= 30;
1597 pub const EMLINK
: ::c_int
= 31;
1598 pub const EPIPE
: ::c_int
= 32;
1599 pub const EDOM
: ::c_int
= 33;
1600 pub const ERANGE
: ::c_int
= 34;
1601 pub const EWOULDBLOCK
: ::c_int
= EAGAIN
;
1603 pub const SCM_RIGHTS
: ::c_int
= 0x01;
1604 pub const SCM_CREDENTIALS
: ::c_int
= 0x02;
1606 pub const PROT_GROWSDOWN
: ::c_int
= 0x1000000;
1607 pub const PROT_GROWSUP
: ::c_int
= 0x2000000;
1609 pub const MAP_TYPE
: ::c_int
= 0x000f;
1611 pub const MADV_NORMAL
: ::c_int
= 0;
1612 pub const MADV_RANDOM
: ::c_int
= 1;
1613 pub const MADV_SEQUENTIAL
: ::c_int
= 2;
1614 pub const MADV_WILLNEED
: ::c_int
= 3;
1615 pub const MADV_DONTNEED
: ::c_int
= 4;
1616 pub const MADV_FREE
: ::c_int
= 8;
1617 pub const MADV_REMOVE
: ::c_int
= 9;
1618 pub const MADV_DONTFORK
: ::c_int
= 10;
1619 pub const MADV_DOFORK
: ::c_int
= 11;
1620 pub const MADV_MERGEABLE
: ::c_int
= 12;
1621 pub const MADV_UNMERGEABLE
: ::c_int
= 13;
1622 pub const MADV_HUGEPAGE
: ::c_int
= 14;
1623 pub const MADV_NOHUGEPAGE
: ::c_int
= 15;
1624 pub const MADV_DONTDUMP
: ::c_int
= 16;
1625 pub const MADV_DODUMP
: ::c_int
= 17;
1626 pub const MADV_HWPOISON
: ::c_int
= 100;
1627 pub const MADV_SOFT_OFFLINE
: ::c_int
= 101;
1629 pub const IFF_UP
: ::c_int
= 0x1;
1630 pub const IFF_BROADCAST
: ::c_int
= 0x2;
1631 pub const IFF_DEBUG
: ::c_int
= 0x4;
1632 pub const IFF_LOOPBACK
: ::c_int
= 0x8;
1633 pub const IFF_POINTOPOINT
: ::c_int
= 0x10;
1634 pub const IFF_NOTRAILERS
: ::c_int
= 0x20;
1635 pub const IFF_RUNNING
: ::c_int
= 0x40;
1636 pub const IFF_NOARP
: ::c_int
= 0x80;
1637 pub const IFF_PROMISC
: ::c_int
= 0x100;
1638 pub const IFF_ALLMULTI
: ::c_int
= 0x200;
1639 pub const IFF_MASTER
: ::c_int
= 0x400;
1640 pub const IFF_SLAVE
: ::c_int
= 0x800;
1641 pub const IFF_MULTICAST
: ::c_int
= 0x1000;
1642 pub const IFF_PORTSEL
: ::c_int
= 0x2000;
1643 pub const IFF_AUTOMEDIA
: ::c_int
= 0x4000;
1644 pub const IFF_DYNAMIC
: ::c_int
= 0x8000;
1645 pub const IFF_TUN
: ::c_int
= 0x0001;
1646 pub const IFF_TAP
: ::c_int
= 0x0002;
1647 pub const IFF_NO_PI
: ::c_int
= 0x1000;
1649 pub const SOL_IP
: ::c_int
= 0;
1650 pub const SOL_TCP
: ::c_int
= 6;
1651 pub const SOL_UDP
: ::c_int
= 17;
1652 pub const SOL_IPV6
: ::c_int
= 41;
1653 pub const SOL_ICMPV6
: ::c_int
= 58;
1654 pub const SOL_RAW
: ::c_int
= 255;
1655 pub const SOL_DECNET
: ::c_int
= 261;
1656 pub const SOL_X25
: ::c_int
= 262;
1657 pub const SOL_PACKET
: ::c_int
= 263;
1658 pub const SOL_ATM
: ::c_int
= 264;
1659 pub const SOL_AAL
: ::c_int
= 265;
1660 pub const SOL_IRDA
: ::c_int
= 266;
1661 pub const SOL_NETBEUI
: ::c_int
= 267;
1662 pub const SOL_LLC
: ::c_int
= 268;
1663 pub const SOL_DCCP
: ::c_int
= 269;
1664 pub const SOL_NETLINK
: ::c_int
= 270;
1665 pub const SOL_TIPC
: ::c_int
= 271;
1667 pub const AF_UNSPEC
: ::c_int
= 0;
1668 pub const AF_UNIX
: ::c_int
= 1;
1669 pub const AF_LOCAL
: ::c_int
= 1;
1670 pub const AF_INET
: ::c_int
= 2;
1671 pub const AF_AX25
: ::c_int
= 3;
1672 pub const AF_IPX
: ::c_int
= 4;
1673 pub const AF_APPLETALK
: ::c_int
= 5;
1674 pub const AF_NETROM
: ::c_int
= 6;
1675 pub const AF_BRIDGE
: ::c_int
= 7;
1676 pub const AF_ATMPVC
: ::c_int
= 8;
1677 pub const AF_X25
: ::c_int
= 9;
1678 pub const AF_INET6
: ::c_int
= 10;
1679 pub const AF_ROSE
: ::c_int
= 11;
1680 pub const AF_DECnet
: ::c_int
= 12;
1681 pub const AF_NETBEUI
: ::c_int
= 13;
1682 pub const AF_SECURITY
: ::c_int
= 14;
1683 pub const AF_KEY
: ::c_int
= 15;
1684 pub const AF_NETLINK
: ::c_int
= 16;
1685 pub const AF_ROUTE
: ::c_int
= AF_NETLINK
;
1686 pub const AF_PACKET
: ::c_int
= 17;
1687 pub const AF_ASH
: ::c_int
= 18;
1688 pub const AF_ECONET
: ::c_int
= 19;
1689 pub const AF_ATMSVC
: ::c_int
= 20;
1690 pub const AF_RDS
: ::c_int
= 21;
1691 pub const AF_SNA
: ::c_int
= 22;
1692 pub const AF_IRDA
: ::c_int
= 23;
1693 pub const AF_PPPOX
: ::c_int
= 24;
1694 pub const AF_WANPIPE
: ::c_int
= 25;
1695 pub const AF_LLC
: ::c_int
= 26;
1696 pub const AF_CAN
: ::c_int
= 29;
1697 pub const AF_TIPC
: ::c_int
= 30;
1698 pub const AF_BLUETOOTH
: ::c_int
= 31;
1699 pub const AF_IUCV
: ::c_int
= 32;
1700 pub const AF_RXRPC
: ::c_int
= 33;
1701 pub const AF_ISDN
: ::c_int
= 34;
1702 pub const AF_PHONET
: ::c_int
= 35;
1703 pub const AF_IEEE802154
: ::c_int
= 36;
1704 pub const AF_CAIF
: ::c_int
= 37;
1705 pub const AF_ALG
: ::c_int
= 38;
1707 pub const PF_UNSPEC
: ::c_int
= AF_UNSPEC
;
1708 pub const PF_UNIX
: ::c_int
= AF_UNIX
;
1709 pub const PF_LOCAL
: ::c_int
= AF_LOCAL
;
1710 pub const PF_INET
: ::c_int
= AF_INET
;
1711 pub const PF_AX25
: ::c_int
= AF_AX25
;
1712 pub const PF_IPX
: ::c_int
= AF_IPX
;
1713 pub const PF_APPLETALK
: ::c_int
= AF_APPLETALK
;
1714 pub const PF_NETROM
: ::c_int
= AF_NETROM
;
1715 pub const PF_BRIDGE
: ::c_int
= AF_BRIDGE
;
1716 pub const PF_ATMPVC
: ::c_int
= AF_ATMPVC
;
1717 pub const PF_X25
: ::c_int
= AF_X25
;
1718 pub const PF_INET6
: ::c_int
= AF_INET6
;
1719 pub const PF_ROSE
: ::c_int
= AF_ROSE
;
1720 pub const PF_DECnet
: ::c_int
= AF_DECnet
;
1721 pub const PF_NETBEUI
: ::c_int
= AF_NETBEUI
;
1722 pub const PF_SECURITY
: ::c_int
= AF_SECURITY
;
1723 pub const PF_KEY
: ::c_int
= AF_KEY
;
1724 pub const PF_NETLINK
: ::c_int
= AF_NETLINK
;
1725 pub const PF_ROUTE
: ::c_int
= AF_ROUTE
;
1726 pub const PF_PACKET
: ::c_int
= AF_PACKET
;
1727 pub const PF_ASH
: ::c_int
= AF_ASH
;
1728 pub const PF_ECONET
: ::c_int
= AF_ECONET
;
1729 pub const PF_ATMSVC
: ::c_int
= AF_ATMSVC
;
1730 pub const PF_RDS
: ::c_int
= AF_RDS
;
1731 pub const PF_SNA
: ::c_int
= AF_SNA
;
1732 pub const PF_IRDA
: ::c_int
= AF_IRDA
;
1733 pub const PF_PPPOX
: ::c_int
= AF_PPPOX
;
1734 pub const PF_WANPIPE
: ::c_int
= AF_WANPIPE
;
1735 pub const PF_LLC
: ::c_int
= AF_LLC
;
1736 pub const PF_CAN
: ::c_int
= AF_CAN
;
1737 pub const PF_TIPC
: ::c_int
= AF_TIPC
;
1738 pub const PF_BLUETOOTH
: ::c_int
= AF_BLUETOOTH
;
1739 pub const PF_IUCV
: ::c_int
= AF_IUCV
;
1740 pub const PF_RXRPC
: ::c_int
= AF_RXRPC
;
1741 pub const PF_ISDN
: ::c_int
= AF_ISDN
;
1742 pub const PF_PHONET
: ::c_int
= AF_PHONET
;
1743 pub const PF_IEEE802154
: ::c_int
= AF_IEEE802154
;
1744 pub const PF_CAIF
: ::c_int
= AF_CAIF
;
1745 pub const PF_ALG
: ::c_int
= AF_ALG
;
1747 pub const SOMAXCONN
: ::c_int
= 128;
1749 pub const MSG_OOB
: ::c_int
= 1;
1750 pub const MSG_PEEK
: ::c_int
= 2;
1751 pub const MSG_DONTROUTE
: ::c_int
= 4;
1752 pub const MSG_CTRUNC
: ::c_int
= 8;
1753 pub const MSG_TRUNC
: ::c_int
= 0x20;
1754 pub const MSG_DONTWAIT
: ::c_int
= 0x40;
1755 pub const MSG_EOR
: ::c_int
= 0x80;
1756 pub const MSG_WAITALL
: ::c_int
= 0x100;
1757 pub const MSG_FIN
: ::c_int
= 0x200;
1758 pub const MSG_SYN
: ::c_int
= 0x400;
1759 pub const MSG_CONFIRM
: ::c_int
= 0x800;
1760 pub const MSG_RST
: ::c_int
= 0x1000;
1761 pub const MSG_ERRQUEUE
: ::c_int
= 0x2000;
1762 pub const MSG_NOSIGNAL
: ::c_int
= 0x4000;
1763 pub const MSG_MORE
: ::c_int
= 0x8000;
1764 pub const MSG_WAITFORONE
: ::c_int
= 0x10000;
1765 pub const MSG_FASTOPEN
: ::c_int
= 0x20000000;
1766 pub const MSG_CMSG_CLOEXEC
: ::c_int
= 0x40000000;
1768 pub const SCM_TIMESTAMP
: ::c_int
= SO_TIMESTAMP
;
1770 pub const SOCK_RAW
: ::c_int
= 3;
1771 pub const SOCK_RDM
: ::c_int
= 4;
1773 pub const IP_TOS
: ::c_int
= 1;
1774 pub const IP_TTL
: ::c_int
= 2;
1775 pub const IP_HDRINCL
: ::c_int
= 3;
1776 pub const IP_RECVTOS
: ::c_int
= 13;
1777 pub const IP_FREEBIND
: ::c_int
= 15;
1778 pub const IP_TRANSPARENT
: ::c_int
= 19;
1779 pub const IP_MULTICAST_IF
: ::c_int
= 32;
1780 pub const IP_MULTICAST_TTL
: ::c_int
= 33;
1781 pub const IP_MULTICAST_LOOP
: ::c_int
= 34;
1782 pub const IP_ADD_MEMBERSHIP
: ::c_int
= 35;
1783 pub const IP_DROP_MEMBERSHIP
: ::c_int
= 36;
1785 pub const IPV6_UNICAST_HOPS
: ::c_int
= 16;
1786 pub const IPV6_MULTICAST_IF
: ::c_int
= 17;
1787 pub const IPV6_MULTICAST_HOPS
: ::c_int
= 18;
1788 pub const IPV6_MULTICAST_LOOP
: ::c_int
= 19;
1789 pub const IPV6_ADD_MEMBERSHIP
: ::c_int
= 20;
1790 pub const IPV6_DROP_MEMBERSHIP
: ::c_int
= 21;
1791 pub const IPV6_V6ONLY
: ::c_int
= 26;
1793 pub const TCP_NODELAY
: ::c_int
= 1;
1794 pub const TCP_MAXSEG
: ::c_int
= 2;
1795 pub const TCP_CORK
: ::c_int
= 3;
1796 pub const TCP_KEEPIDLE
: ::c_int
= 4;
1797 pub const TCP_KEEPINTVL
: ::c_int
= 5;
1798 pub const TCP_KEEPCNT
: ::c_int
= 6;
1799 pub const TCP_SYNCNT
: ::c_int
= 7;
1800 pub const TCP_LINGER2
: ::c_int
= 8;
1801 pub const TCP_DEFER_ACCEPT
: ::c_int
= 9;
1802 pub const TCP_WINDOW_CLAMP
: ::c_int
= 10;
1803 pub const TCP_INFO
: ::c_int
= 11;
1804 pub const TCP_QUICKACK
: ::c_int
= 12;
1805 pub const TCP_CONGESTION
: ::c_int
= 13;
1807 pub const SO_DEBUG
: ::c_int
= 1;
1809 pub const SHUT_RD
: ::c_int
= 0;
1810 pub const SHUT_WR
: ::c_int
= 1;
1811 pub const SHUT_RDWR
: ::c_int
= 2;
1813 pub const LOCK_SH
: ::c_int
= 1;
1814 pub const LOCK_EX
: ::c_int
= 2;
1815 pub const LOCK_NB
: ::c_int
= 4;
1816 pub const LOCK_UN
: ::c_int
= 8;
1818 pub const SS_ONSTACK
: ::c_int
= 1;
1819 pub const SS_DISABLE
: ::c_int
= 2;
1821 pub const PATH_MAX
: ::c_int
= 4096;
1823 pub const FD_SETSIZE
: usize = 1024;
1825 pub const EPOLLIN
: ::c_int
= 0x1;
1826 pub const EPOLLPRI
: ::c_int
= 0x2;
1827 pub const EPOLLOUT
: ::c_int
= 0x4;
1828 pub const EPOLLRDNORM
: ::c_int
= 0x40;
1829 pub const EPOLLRDBAND
: ::c_int
= 0x80;
1830 pub const EPOLLWRNORM
: ::c_int
= 0x100;
1831 pub const EPOLLWRBAND
: ::c_int
= 0x200;
1832 pub const EPOLLMSG
: ::c_int
= 0x400;
1833 pub const EPOLLERR
: ::c_int
= 0x8;
1834 pub const EPOLLHUP
: ::c_int
= 0x10;
1835 pub const EPOLLET
: ::c_int
= 0x80000000;
1837 pub const EPOLL_CTL_ADD
: ::c_int
= 1;
1838 pub const EPOLL_CTL_MOD
: ::c_int
= 3;
1839 pub const EPOLL_CTL_DEL
: ::c_int
= 2;
1841 pub const MNT_DETACH
: ::c_int
= 0x2;
1842 pub const MNT_EXPIRE
: ::c_int
= 0x4;
1844 pub const Q_GETFMT
: ::c_int
= 0x800004;
1845 pub const Q_GETINFO
: ::c_int
= 0x800005;
1846 pub const Q_SETINFO
: ::c_int
= 0x800006;
1847 pub const QIF_BLIMITS
: u32 = 1;
1848 pub const QIF_SPACE
: u32 = 2;
1849 pub const QIF_ILIMITS
: u32 = 4;
1850 pub const QIF_INODES
: u32 = 8;
1851 pub const QIF_BTIME
: u32 = 16;
1852 pub const QIF_ITIME
: u32 = 32;
1853 pub const QIF_LIMITS
: u32 = 5;
1854 pub const QIF_USAGE
: u32 = 10;
1855 pub const QIF_TIMES
: u32 = 48;
1856 pub const QIF_ALL
: u32 = 63;
1858 pub const MNT_FORCE
: ::c_int
= 0x1;
1860 pub const Q_SYNC
: ::c_int
= 0x800001;
1861 pub const Q_QUOTAON
: ::c_int
= 0x800002;
1862 pub const Q_QUOTAOFF
: ::c_int
= 0x800003;
1863 pub const Q_GETQUOTA
: ::c_int
= 0x800007;
1864 pub const Q_SETQUOTA
: ::c_int
= 0x800008;
1866 pub const TCIOFF
: ::c_int
= 2;
1867 pub const TCION
: ::c_int
= 3;
1868 pub const TCOOFF
: ::c_int
= 0;
1869 pub const TCOON
: ::c_int
= 1;
1870 pub const TCIFLUSH
: ::c_int
= 0;
1871 pub const TCOFLUSH
: ::c_int
= 1;
1872 pub const TCIOFLUSH
: ::c_int
= 2;
1873 pub const NL0
: ::c_int
= 0x00000000;
1874 pub const NL1
: ::c_int
= 0x00000100;
1875 pub const TAB0
: ::c_int
= 0x00000000;
1876 pub const CR0
: ::c_int
= 0x00000000;
1877 pub const FF0
: ::c_int
= 0x00000000;
1878 pub const BS0
: ::c_int
= 0x00000000;
1879 pub const VT0
: ::c_int
= 0x00000000;
1880 pub const VERASE
: usize = 2;
1881 pub const VKILL
: usize = 3;
1882 pub const VINTR
: usize = 0;
1883 pub const VQUIT
: usize = 1;
1884 pub const VLNEXT
: usize = 15;
1885 pub const IGNBRK
: ::tcflag_t
= 0x00000001;
1886 pub const BRKINT
: ::tcflag_t
= 0x00000002;
1887 pub const IGNPAR
: ::tcflag_t
= 0x00000004;
1888 pub const PARMRK
: ::tcflag_t
= 0x00000008;
1889 pub const INPCK
: ::tcflag_t
= 0x00000010;
1890 pub const ISTRIP
: ::tcflag_t
= 0x00000020;
1891 pub const INLCR
: ::tcflag_t
= 0x00000040;
1892 pub const IGNCR
: ::tcflag_t
= 0x00000080;
1893 pub const ICRNL
: ::tcflag_t
= 0x00000100;
1894 pub const IXANY
: ::tcflag_t
= 0x00000800;
1895 pub const IMAXBEL
: ::tcflag_t
= 0x00002000;
1896 pub const OPOST
: ::tcflag_t
= 0x1;
1897 pub const CS5
: ::tcflag_t
= 0x00000000;
1898 pub const CRTSCTS
: ::tcflag_t
= 0x80000000;
1899 pub const ECHO
: ::tcflag_t
= 0x00000008;
1900 pub const OCRNL
: ::tcflag_t
= 0o000010;
1901 pub const ONOCR
: ::tcflag_t
= 0o000020;
1902 pub const ONLRET
: ::tcflag_t
= 0o000040;
1903 pub const OFILL
: ::tcflag_t
= 0o000100;
1904 pub const OFDEL
: ::tcflag_t
= 0o000200;
1906 pub const CLONE_VM
: ::c_int
= 0x100;
1907 pub const CLONE_FS
: ::c_int
= 0x200;
1908 pub const CLONE_FILES
: ::c_int
= 0x400;
1909 pub const CLONE_SIGHAND
: ::c_int
= 0x800;
1910 pub const CLONE_PTRACE
: ::c_int
= 0x2000;
1911 pub const CLONE_VFORK
: ::c_int
= 0x4000;
1912 pub const CLONE_PARENT
: ::c_int
= 0x8000;
1913 pub const CLONE_THREAD
: ::c_int
= 0x10000;
1914 pub const CLONE_NEWNS
: ::c_int
= 0x20000;
1915 pub const CLONE_SYSVSEM
: ::c_int
= 0x40000;
1916 pub const CLONE_SETTLS
: ::c_int
= 0x80000;
1917 pub const CLONE_PARENT_SETTID
: ::c_int
= 0x100000;
1918 pub const CLONE_CHILD_CLEARTID
: ::c_int
= 0x200000;
1919 pub const CLONE_DETACHED
: ::c_int
= 0x400000;
1920 pub const CLONE_UNTRACED
: ::c_int
= 0x800000;
1921 pub const CLONE_CHILD_SETTID
: ::c_int
= 0x01000000;
1922 pub const CLONE_NEWUTS
: ::c_int
= 0x04000000;
1923 pub const CLONE_NEWIPC
: ::c_int
= 0x08000000;
1924 pub const CLONE_NEWUSER
: ::c_int
= 0x10000000;
1925 pub const CLONE_NEWPID
: ::c_int
= 0x20000000;
1926 pub const CLONE_NEWNET
: ::c_int
= 0x40000000;
1927 pub const CLONE_IO
: ::c_int
= 0x80000000;
1928 pub const CLONE_NEWCGROUP
: ::c_int
= 0x02000000;
1930 pub const WNOHANG
: ::c_int
= 0x00000001;
1931 pub const WUNTRACED
: ::c_int
= 0x00000002;
1932 pub const WSTOPPED
: ::c_int
= WUNTRACED
;
1933 pub const WEXITED
: ::c_int
= 0x00000004;
1934 pub const WCONTINUED
: ::c_int
= 0x00000008;
1935 pub const WNOWAIT
: ::c_int
= 0x01000000;
1937 // ::Options set using PTRACE_SETOPTIONS.
1938 pub const PTRACE_O_TRACESYSGOOD
: ::c_int
= 0x00000001;
1939 pub const PTRACE_O_TRACEFORK
: ::c_int
= 0x00000002;
1940 pub const PTRACE_O_TRACEVFORK
: ::c_int
= 0x00000004;
1941 pub const PTRACE_O_TRACECLONE
: ::c_int
= 0x00000008;
1942 pub const PTRACE_O_TRACEEXEC
: ::c_int
= 0x00000010;
1943 pub const PTRACE_O_TRACEVFORKDONE
: ::c_int
= 0x00000020;
1944 pub const PTRACE_O_TRACEEXIT
: ::c_int
= 0x00000040;
1945 pub const PTRACE_O_TRACESECCOMP
: ::c_int
= 0x00000080;
1946 pub const PTRACE_O_EXITKILL
: ::c_int
= 0x00100000;
1947 pub const PTRACE_O_SUSPEND_SECCOMP
: ::c_int
= 0x00200000;
1948 pub const PTRACE_O_MASK
: ::c_int
= 0x003000ff;
1950 // Wait extended result codes for the above trace options.
1951 pub const PTRACE_EVENT_FORK
: ::c_int
= 1;
1952 pub const PTRACE_EVENT_VFORK
: ::c_int
= 2;
1953 pub const PTRACE_EVENT_CLONE
: ::c_int
= 3;
1954 pub const PTRACE_EVENT_EXEC
: ::c_int
= 4;
1955 pub const PTRACE_EVENT_VFORK_DONE
: ::c_int
= 5;
1956 pub const PTRACE_EVENT_EXIT
: ::c_int
= 6;
1957 pub const PTRACE_EVENT_SECCOMP
: ::c_int
= 7;
1958 // PTRACE_EVENT_STOP was added to glibc in 2.26
1959 // pub const PTRACE_EVENT_STOP: ::c_int = 128;
1961 pub const __WNOTHREAD
: ::c_int
= 0x20000000;
1962 pub const __WALL
: ::c_int
= 0x40000000;
1963 pub const __WCLONE
: ::c_int
= 0x80000000;
1965 pub const SPLICE_F_MOVE
: ::c_uint
= 0x01;
1966 pub const SPLICE_F_NONBLOCK
: ::c_uint
= 0x02;
1967 pub const SPLICE_F_MORE
: ::c_uint
= 0x04;
1968 pub const SPLICE_F_GIFT
: ::c_uint
= 0x08;
1970 pub const RTLD_LOCAL
: ::c_int
= 0;
1971 pub const RTLD_LAZY
: ::c_int
= 1;
1973 pub const POSIX_FADV_NORMAL
: ::c_int
= 0;
1974 pub const POSIX_FADV_RANDOM
: ::c_int
= 1;
1975 pub const POSIX_FADV_SEQUENTIAL
: ::c_int
= 2;
1976 pub const POSIX_FADV_WILLNEED
: ::c_int
= 3;
1978 pub const AT_FDCWD
: ::c_int
= -100;
1979 pub const AT_SYMLINK_NOFOLLOW
: ::c_int
= 0x100;
1980 pub const AT_REMOVEDIR
: ::c_int
= 0x200;
1981 pub const AT_EACCESS
: ::c_int
= 0x200;
1982 pub const AT_SYMLINK_FOLLOW
: ::c_int
= 0x400;
1983 pub const AT_NO_AUTOMOUNT
: ::c_int
= 0x800;
1984 pub const AT_EMPTY_PATH
: ::c_int
= 0x1000;
1986 pub const LOG_CRON
: ::c_int
= 9 << 3;
1987 pub const LOG_AUTHPRIV
: ::c_int
= 10 << 3;
1988 pub const LOG_FTP
: ::c_int
= 11 << 3;
1989 pub const LOG_PERROR
: ::c_int
= 0x20;
1991 pub const PIPE_BUF
: usize = 4096;
1993 pub const SI_LOAD_SHIFT
: ::c_uint
= 16;
1995 pub const CLD_EXITED
: ::c_int
= 1;
1996 pub const CLD_KILLED
: ::c_int
= 2;
1997 pub const CLD_DUMPED
: ::c_int
= 3;
1998 pub const CLD_TRAPPED
: ::c_int
= 4;
1999 pub const CLD_STOPPED
: ::c_int
= 5;
2000 pub const CLD_CONTINUED
: ::c_int
= 6;
2002 pub const SIGEV_SIGNAL
: ::c_int
= 0;
2003 pub const SIGEV_NONE
: ::c_int
= 1;
2004 pub const SIGEV_THREAD
: ::c_int
= 2;
2006 pub const P_ALL
: idtype_t
= 0;
2007 pub const P_PID
: idtype_t
= 1;
2008 pub const P_PGID
: idtype_t
= 2;
2010 pub const UTIME_OMIT
: c_long
= 1073741822;
2011 pub const UTIME_NOW
: c_long
= 1073741823;
2013 pub const POLLIN
: ::c_short
= 0x1;
2014 pub const POLLPRI
: ::c_short
= 0x2;
2015 pub const POLLOUT
: ::c_short
= 0x4;
2016 pub const POLLERR
: ::c_short
= 0x8;
2017 pub const POLLHUP
: ::c_short
= 0x10;
2018 pub const POLLNVAL
: ::c_short
= 0x20;
2019 pub const POLLRDNORM
: ::c_short
= 0x040;
2020 pub const POLLRDBAND
: ::c_short
= 0x080;
2022 pub const ABDAY_1
: ::nl_item
= 0x20000;
2023 pub const ABDAY_2
: ::nl_item
= 0x20001;
2024 pub const ABDAY_3
: ::nl_item
= 0x20002;
2025 pub const ABDAY_4
: ::nl_item
= 0x20003;
2026 pub const ABDAY_5
: ::nl_item
= 0x20004;
2027 pub const ABDAY_6
: ::nl_item
= 0x20005;
2028 pub const ABDAY_7
: ::nl_item
= 0x20006;
2030 pub const DAY_1
: ::nl_item
= 0x20007;
2031 pub const DAY_2
: ::nl_item
= 0x20008;
2032 pub const DAY_3
: ::nl_item
= 0x20009;
2033 pub const DAY_4
: ::nl_item
= 0x2000A;
2034 pub const DAY_5
: ::nl_item
= 0x2000B;
2035 pub const DAY_6
: ::nl_item
= 0x2000C;
2036 pub const DAY_7
: ::nl_item
= 0x2000D;
2038 pub const ABMON_1
: ::nl_item
= 0x2000E;
2039 pub const ABMON_2
: ::nl_item
= 0x2000F;
2040 pub const ABMON_3
: ::nl_item
= 0x20010;
2041 pub const ABMON_4
: ::nl_item
= 0x20011;
2042 pub const ABMON_5
: ::nl_item
= 0x20012;
2043 pub const ABMON_6
: ::nl_item
= 0x20013;
2044 pub const ABMON_7
: ::nl_item
= 0x20014;
2045 pub const ABMON_8
: ::nl_item
= 0x20015;
2046 pub const ABMON_9
: ::nl_item
= 0x20016;
2047 pub const ABMON_10
: ::nl_item
= 0x20017;
2048 pub const ABMON_11
: ::nl_item
= 0x20018;
2049 pub const ABMON_12
: ::nl_item
= 0x20019;
2051 pub const MON_1
: ::nl_item
= 0x2001A;
2052 pub const MON_2
: ::nl_item
= 0x2001B;
2053 pub const MON_3
: ::nl_item
= 0x2001C;
2054 pub const MON_4
: ::nl_item
= 0x2001D;
2055 pub const MON_5
: ::nl_item
= 0x2001E;
2056 pub const MON_6
: ::nl_item
= 0x2001F;
2057 pub const MON_7
: ::nl_item
= 0x20020;
2058 pub const MON_8
: ::nl_item
= 0x20021;
2059 pub const MON_9
: ::nl_item
= 0x20022;
2060 pub const MON_10
: ::nl_item
= 0x20023;
2061 pub const MON_11
: ::nl_item
= 0x20024;
2062 pub const MON_12
: ::nl_item
= 0x20025;
2064 pub const AM_STR
: ::nl_item
= 0x20026;
2065 pub const PM_STR
: ::nl_item
= 0x20027;
2067 pub const D_T_FMT
: ::nl_item
= 0x20028;
2068 pub const D_FMT
: ::nl_item
= 0x20029;
2069 pub const T_FMT
: ::nl_item
= 0x2002A;
2070 pub const T_FMT_AMPM
: ::nl_item
= 0x2002B;
2072 pub const ERA
: ::nl_item
= 0x2002C;
2073 pub const ERA_D_FMT
: ::nl_item
= 0x2002E;
2074 pub const ALT_DIGITS
: ::nl_item
= 0x2002F;
2075 pub const ERA_D_T_FMT
: ::nl_item
= 0x20030;
2076 pub const ERA_T_FMT
: ::nl_item
= 0x20031;
2078 pub const CODESET
: ::nl_item
= 14;
2080 pub const CRNCYSTR
: ::nl_item
= 0x4000F;
2082 pub const RUSAGE_THREAD
: ::c_int
= 1;
2083 pub const RUSAGE_CHILDREN
: ::c_int
= -1;
2085 pub const RADIXCHAR
: ::nl_item
= 0x10000;
2086 pub const THOUSEP
: ::nl_item
= 0x10001;
2088 pub const YESEXPR
: ::nl_item
= 0x50000;
2089 pub const NOEXPR
: ::nl_item
= 0x50001;
2090 pub const YESSTR
: ::nl_item
= 0x50002;
2091 pub const NOSTR
: ::nl_item
= 0x50003;
2093 pub const FILENAME_MAX
: ::c_uint
= 4096;
2094 pub const L_tmpnam
: ::c_uint
= 20;
2095 pub const _PC_LINK_MAX
: ::c_int
= 0;
2096 pub const _PC_MAX_CANON
: ::c_int
= 1;
2097 pub const _PC_MAX_INPUT
: ::c_int
= 2;
2098 pub const _PC_NAME_MAX
: ::c_int
= 3;
2099 pub const _PC_PATH_MAX
: ::c_int
= 4;
2100 pub const _PC_PIPE_BUF
: ::c_int
= 5;
2101 pub const _PC_CHOWN_RESTRICTED
: ::c_int
= 6;
2102 pub const _PC_NO_TRUNC
: ::c_int
= 7;
2103 pub const _PC_VDISABLE
: ::c_int
= 8;
2104 pub const _PC_SYNC_IO
: ::c_int
= 9;
2105 pub const _PC_ASYNC_IO
: ::c_int
= 10;
2106 pub const _PC_PRIO_IO
: ::c_int
= 11;
2107 pub const _PC_SOCK_MAXBUF
: ::c_int
= 12;
2108 pub const _PC_FILESIZEBITS
: ::c_int
= 13;
2109 pub const _PC_REC_INCR_XFER_SIZE
: ::c_int
= 14;
2110 pub const _PC_REC_MAX_XFER_SIZE
: ::c_int
= 15;
2111 pub const _PC_REC_MIN_XFER_SIZE
: ::c_int
= 16;
2112 pub const _PC_REC_XFER_ALIGN
: ::c_int
= 17;
2113 pub const _PC_ALLOC_SIZE_MIN
: ::c_int
= 18;
2114 pub const _PC_SYMLINK_MAX
: ::c_int
= 19;
2115 pub const _PC_2_SYMLINKS
: ::c_int
= 20;
2117 pub const _SC_ARG_MAX
: ::c_int
= 0;
2118 pub const _SC_CHILD_MAX
: ::c_int
= 1;
2119 pub const _SC_CLK_TCK
: ::c_int
= 2;
2120 pub const _SC_NGROUPS_MAX
: ::c_int
= 3;
2121 pub const _SC_OPEN_MAX
: ::c_int
= 4;
2122 pub const _SC_STREAM_MAX
: ::c_int
= 5;
2123 pub const _SC_TZNAME_MAX
: ::c_int
= 6;
2124 pub const _SC_JOB_CONTROL
: ::c_int
= 7;
2125 pub const _SC_SAVED_IDS
: ::c_int
= 8;
2126 pub const _SC_REALTIME_SIGNALS
: ::c_int
= 9;
2127 pub const _SC_PRIORITY_SCHEDULING
: ::c_int
= 10;
2128 pub const _SC_TIMERS
: ::c_int
= 11;
2129 pub const _SC_ASYNCHRONOUS_IO
: ::c_int
= 12;
2130 pub const _SC_PRIORITIZED_IO
: ::c_int
= 13;
2131 pub const _SC_SYNCHRONIZED_IO
: ::c_int
= 14;
2132 pub const _SC_FSYNC
: ::c_int
= 15;
2133 pub const _SC_MAPPED_FILES
: ::c_int
= 16;
2134 pub const _SC_MEMLOCK
: ::c_int
= 17;
2135 pub const _SC_MEMLOCK_RANGE
: ::c_int
= 18;
2136 pub const _SC_MEMORY_PROTECTION
: ::c_int
= 19;
2137 pub const _SC_MESSAGE_PASSING
: ::c_int
= 20;
2138 pub const _SC_SEMAPHORES
: ::c_int
= 21;
2139 pub const _SC_SHARED_MEMORY_OBJECTS
: ::c_int
= 22;
2140 pub const _SC_AIO_LISTIO_MAX
: ::c_int
= 23;
2141 pub const _SC_AIO_MAX
: ::c_int
= 24;
2142 pub const _SC_AIO_PRIO_DELTA_MAX
: ::c_int
= 25;
2143 pub const _SC_DELAYTIMER_MAX
: ::c_int
= 26;
2144 pub const _SC_MQ_OPEN_MAX
: ::c_int
= 27;
2145 pub const _SC_MQ_PRIO_MAX
: ::c_int
= 28;
2146 pub const _SC_VERSION
: ::c_int
= 29;
2147 pub const _SC_PAGESIZE
: ::c_int
= 30;
2148 pub const _SC_PAGE_SIZE
: ::c_int
= _SC_PAGESIZE
;
2149 pub const _SC_RTSIG_MAX
: ::c_int
= 31;
2150 pub const _SC_SEM_NSEMS_MAX
: ::c_int
= 32;
2151 pub const _SC_SEM_VALUE_MAX
: ::c_int
= 33;
2152 pub const _SC_SIGQUEUE_MAX
: ::c_int
= 34;
2153 pub const _SC_TIMER_MAX
: ::c_int
= 35;
2154 pub const _SC_BC_BASE_MAX
: ::c_int
= 36;
2155 pub const _SC_BC_DIM_MAX
: ::c_int
= 37;
2156 pub const _SC_BC_SCALE_MAX
: ::c_int
= 38;
2157 pub const _SC_BC_STRING_MAX
: ::c_int
= 39;
2158 pub const _SC_COLL_WEIGHTS_MAX
: ::c_int
= 40;
2159 pub const _SC_EXPR_NEST_MAX
: ::c_int
= 42;
2160 pub const _SC_LINE_MAX
: ::c_int
= 43;
2161 pub const _SC_RE_DUP_MAX
: ::c_int
= 44;
2162 pub const _SC_2_VERSION
: ::c_int
= 46;
2163 pub const _SC_2_C_BIND
: ::c_int
= 47;
2164 pub const _SC_2_C_DEV
: ::c_int
= 48;
2165 pub const _SC_2_FORT_DEV
: ::c_int
= 49;
2166 pub const _SC_2_FORT_RUN
: ::c_int
= 50;
2167 pub const _SC_2_SW_DEV
: ::c_int
= 51;
2168 pub const _SC_2_LOCALEDEF
: ::c_int
= 52;
2169 pub const _SC_UIO_MAXIOV
: ::c_int
= 60;
2170 pub const _SC_IOV_MAX
: ::c_int
= 60;
2171 pub const _SC_THREADS
: ::c_int
= 67;
2172 pub const _SC_THREAD_SAFE_FUNCTIONS
: ::c_int
= 68;
2173 pub const _SC_GETGR_R_SIZE_MAX
: ::c_int
= 69;
2174 pub const _SC_GETPW_R_SIZE_MAX
: ::c_int
= 70;
2175 pub const _SC_LOGIN_NAME_MAX
: ::c_int
= 71;
2176 pub const _SC_TTY_NAME_MAX
: ::c_int
= 72;
2177 pub const _SC_THREAD_DESTRUCTOR_ITERATIONS
: ::c_int
= 73;
2178 pub const _SC_THREAD_KEYS_MAX
: ::c_int
= 74;
2179 pub const _SC_THREAD_STACK_MIN
: ::c_int
= 75;
2180 pub const _SC_THREAD_THREADS_MAX
: ::c_int
= 76;
2181 pub const _SC_THREAD_ATTR_STACKADDR
: ::c_int
= 77;
2182 pub const _SC_THREAD_ATTR_STACKSIZE
: ::c_int
= 78;
2183 pub const _SC_THREAD_PRIORITY_SCHEDULING
: ::c_int
= 79;
2184 pub const _SC_THREAD_PRIO_INHERIT
: ::c_int
= 80;
2185 pub const _SC_THREAD_PRIO_PROTECT
: ::c_int
= 81;
2186 pub const _SC_THREAD_PROCESS_SHARED
: ::c_int
= 82;
2187 pub const _SC_NPROCESSORS_CONF
: ::c_int
= 83;
2188 pub const _SC_NPROCESSORS_ONLN
: ::c_int
= 84;
2189 pub const _SC_PHYS_PAGES
: ::c_int
= 85;
2190 pub const _SC_AVPHYS_PAGES
: ::c_int
= 86;
2191 pub const _SC_ATEXIT_MAX
: ::c_int
= 87;
2192 pub const _SC_PASS_MAX
: ::c_int
= 88;
2193 pub const _SC_XOPEN_VERSION
: ::c_int
= 89;
2194 pub const _SC_XOPEN_XCU_VERSION
: ::c_int
= 90;
2195 pub const _SC_XOPEN_UNIX
: ::c_int
= 91;
2196 pub const _SC_XOPEN_CRYPT
: ::c_int
= 92;
2197 pub const _SC_XOPEN_ENH_I18N
: ::c_int
= 93;
2198 pub const _SC_XOPEN_SHM
: ::c_int
= 94;
2199 pub const _SC_2_CHAR_TERM
: ::c_int
= 95;
2200 pub const _SC_2_UPE
: ::c_int
= 97;
2201 pub const _SC_XOPEN_XPG2
: ::c_int
= 98;
2202 pub const _SC_XOPEN_XPG3
: ::c_int
= 99;
2203 pub const _SC_XOPEN_XPG4
: ::c_int
= 100;
2204 pub const _SC_NZERO
: ::c_int
= 109;
2205 pub const _SC_XBS5_ILP32_OFF32
: ::c_int
= 125;
2206 pub const _SC_XBS5_ILP32_OFFBIG
: ::c_int
= 126;
2207 pub const _SC_XBS5_LP64_OFF64
: ::c_int
= 127;
2208 pub const _SC_XBS5_LPBIG_OFFBIG
: ::c_int
= 128;
2209 pub const _SC_XOPEN_LEGACY
: ::c_int
= 129;
2210 pub const _SC_XOPEN_REALTIME
: ::c_int
= 130;
2211 pub const _SC_XOPEN_REALTIME_THREADS
: ::c_int
= 131;
2212 pub const _SC_ADVISORY_INFO
: ::c_int
= 132;
2213 pub const _SC_BARRIERS
: ::c_int
= 133;
2214 pub const _SC_CLOCK_SELECTION
: ::c_int
= 137;
2215 pub const _SC_CPUTIME
: ::c_int
= 138;
2216 pub const _SC_THREAD_CPUTIME
: ::c_int
= 139;
2217 pub const _SC_MONOTONIC_CLOCK
: ::c_int
= 149;
2218 pub const _SC_READER_WRITER_LOCKS
: ::c_int
= 153;
2219 pub const _SC_SPIN_LOCKS
: ::c_int
= 154;
2220 pub const _SC_REGEXP
: ::c_int
= 155;
2221 pub const _SC_SHELL
: ::c_int
= 157;
2222 pub const _SC_SPAWN
: ::c_int
= 159;
2223 pub const _SC_SPORADIC_SERVER
: ::c_int
= 160;
2224 pub const _SC_THREAD_SPORADIC_SERVER
: ::c_int
= 161;
2225 pub const _SC_TIMEOUTS
: ::c_int
= 164;
2226 pub const _SC_TYPED_MEMORY_OBJECTS
: ::c_int
= 165;
2227 pub const _SC_2_PBS
: ::c_int
= 168;
2228 pub const _SC_2_PBS_ACCOUNTING
: ::c_int
= 169;
2229 pub const _SC_2_PBS_LOCATE
: ::c_int
= 170;
2230 pub const _SC_2_PBS_MESSAGE
: ::c_int
= 171;
2231 pub const _SC_2_PBS_TRACK
: ::c_int
= 172;
2232 pub const _SC_SYMLOOP_MAX
: ::c_int
= 173;
2233 pub const _SC_STREAMS
: ::c_int
= 174;
2234 pub const _SC_2_PBS_CHECKPOINT
: ::c_int
= 175;
2235 pub const _SC_V6_ILP32_OFF32
: ::c_int
= 176;
2236 pub const _SC_V6_ILP32_OFFBIG
: ::c_int
= 177;
2237 pub const _SC_V6_LP64_OFF64
: ::c_int
= 178;
2238 pub const _SC_V6_LPBIG_OFFBIG
: ::c_int
= 179;
2239 pub const _SC_HOST_NAME_MAX
: ::c_int
= 180;
2240 pub const _SC_TRACE
: ::c_int
= 181;
2241 pub const _SC_TRACE_EVENT_FILTER
: ::c_int
= 182;
2242 pub const _SC_TRACE_INHERIT
: ::c_int
= 183;
2243 pub const _SC_TRACE_LOG
: ::c_int
= 184;
2244 pub const _SC_IPV6
: ::c_int
= 235;
2245 pub const _SC_RAW_SOCKETS
: ::c_int
= 236;
2246 pub const _SC_V7_ILP32_OFF32
: ::c_int
= 237;
2247 pub const _SC_V7_ILP32_OFFBIG
: ::c_int
= 238;
2248 pub const _SC_V7_LP64_OFF64
: ::c_int
= 239;
2249 pub const _SC_V7_LPBIG_OFFBIG
: ::c_int
= 240;
2250 pub const _SC_SS_REPL_MAX
: ::c_int
= 241;
2251 pub const _SC_TRACE_EVENT_NAME_MAX
: ::c_int
= 242;
2252 pub const _SC_TRACE_NAME_MAX
: ::c_int
= 243;
2253 pub const _SC_TRACE_SYS_MAX
: ::c_int
= 244;
2254 pub const _SC_TRACE_USER_EVENT_MAX
: ::c_int
= 245;
2255 pub const _SC_XOPEN_STREAMS
: ::c_int
= 246;
2256 pub const _SC_THREAD_ROBUST_PRIO_INHERIT
: ::c_int
= 247;
2257 pub const _SC_THREAD_ROBUST_PRIO_PROTECT
: ::c_int
= 248;
2259 pub const RLIM_SAVED_MAX
: ::rlim_t
= RLIM_INFINITY
;
2260 pub const RLIM_SAVED_CUR
: ::rlim_t
= RLIM_INFINITY
;
2262 pub const GLOB_ERR
: ::c_int
= 1 << 0;
2263 pub const GLOB_MARK
: ::c_int
= 1 << 1;
2264 pub const GLOB_NOSORT
: ::c_int
= 1 << 2;
2265 pub const GLOB_DOOFFS
: ::c_int
= 1 << 3;
2266 pub const GLOB_NOCHECK
: ::c_int
= 1 << 4;
2267 pub const GLOB_APPEND
: ::c_int
= 1 << 5;
2268 pub const GLOB_NOESCAPE
: ::c_int
= 1 << 6;
2270 pub const GLOB_NOSPACE
: ::c_int
= 1;
2271 pub const GLOB_ABORTED
: ::c_int
= 2;
2272 pub const GLOB_NOMATCH
: ::c_int
= 3;
2274 pub const POSIX_MADV_NORMAL
: ::c_int
= 0;
2275 pub const POSIX_MADV_RANDOM
: ::c_int
= 1;
2276 pub const POSIX_MADV_SEQUENTIAL
: ::c_int
= 2;
2277 pub const POSIX_MADV_WILLNEED
: ::c_int
= 3;
2279 pub const S_IEXEC
: mode_t
= 64;
2280 pub const S_IWRITE
: mode_t
= 128;
2281 pub const S_IREAD
: mode_t
= 256;
2283 pub const F_LOCK
: ::c_int
= 1;
2284 pub const F_TEST
: ::c_int
= 3;
2285 pub const F_TLOCK
: ::c_int
= 2;
2286 pub const F_ULOCK
: ::c_int
= 0;
2288 pub const IFF_LOWER_UP
: ::c_int
= 0x10000;
2289 pub const IFF_DORMANT
: ::c_int
= 0x20000;
2290 pub const IFF_ECHO
: ::c_int
= 0x40000;
2292 pub const ST_RDONLY
: ::c_ulong
= 1;
2293 pub const ST_NOSUID
: ::c_ulong
= 2;
2294 pub const ST_NODEV
: ::c_ulong
= 4;
2295 pub const ST_NOEXEC
: ::c_ulong
= 8;
2296 pub const ST_SYNCHRONOUS
: ::c_ulong
= 16;
2297 pub const ST_MANDLOCK
: ::c_ulong
= 64;
2298 pub const ST_WRITE
: ::c_ulong
= 128;
2299 pub const ST_APPEND
: ::c_ulong
= 256;
2300 pub const ST_IMMUTABLE
: ::c_ulong
= 512;
2301 pub const ST_NOATIME
: ::c_ulong
= 1024;
2302 pub const ST_NODIRATIME
: ::c_ulong
= 2048;
2304 pub const RTLD_NEXT
: *mut ::c_void
= -1i64 as *mut ::c_void
;
2305 pub const RTLD_DEFAULT
: *mut ::c_void
= 0i64 as *mut ::c_void
;
2306 pub const RTLD_NODELETE
: ::c_int
= 0x1000;
2307 pub const RTLD_NOW
: ::c_int
= 0x2;
2309 pub const TCP_MD5SIG
: ::c_int
= 14;
2312 pub const PTHREAD_MUTEX_INITIALIZER
: pthread_mutex_t
= pthread_mutex_t
{
2313 size
: [0; __SIZEOF_PTHREAD_MUTEX_T
],
2315 pub const PTHREAD_COND_INITIALIZER
: pthread_cond_t
= pthread_cond_t
{
2316 size
: [0; __SIZEOF_PTHREAD_COND_T
],
2318 pub const PTHREAD_RWLOCK_INITIALIZER
: pthread_rwlock_t
= pthread_rwlock_t
{
2319 size
: [0; __SIZEOF_PTHREAD_RWLOCK_T
],
2322 pub const PTHREAD_MUTEX_NORMAL
: ::c_int
= 0;
2323 pub const PTHREAD_MUTEX_RECURSIVE
: ::c_int
= 1;
2324 pub const PTHREAD_MUTEX_ERRORCHECK
: ::c_int
= 2;
2325 pub const PTHREAD_MUTEX_DEFAULT
: ::c_int
= PTHREAD_MUTEX_NORMAL
;
2326 pub const PTHREAD_PROCESS_PRIVATE
: ::c_int
= 0;
2327 pub const PTHREAD_PROCESS_SHARED
: ::c_int
= 1;
2328 pub const __SIZEOF_PTHREAD_COND_T
: usize = 48;
2330 pub const RENAME_NOREPLACE
: ::c_int
= 1;
2331 pub const RENAME_EXCHANGE
: ::c_int
= 2;
2332 pub const RENAME_WHITEOUT
: ::c_int
= 4;
2334 pub const SCHED_OTHER
: ::c_int
= 0;
2335 pub const SCHED_FIFO
: ::c_int
= 1;
2336 pub const SCHED_RR
: ::c_int
= 2;
2337 pub const SCHED_BATCH
: ::c_int
= 3;
2338 pub const SCHED_IDLE
: ::c_int
= 5;
2341 // NOTE: These are in addition to the constants defined in src/unix/mod.rs
2343 // IPPROTO_IP defined in src/unix/mod.rs
2344 /// Hop-by-hop option header
2345 pub const IPPROTO_HOPOPTS
: ::c_int
= 0;
2346 // IPPROTO_ICMP defined in src/unix/mod.rs
2347 /// group mgmt protocol
2348 pub const IPPROTO_IGMP
: ::c_int
= 2;
2349 /// for compatibility
2350 pub const IPPROTO_IPIP
: ::c_int
= 4;
2351 // IPPROTO_TCP defined in src/unix/mod.rs
2352 /// exterior gateway protocol
2353 pub const IPPROTO_EGP
: ::c_int
= 8;
2355 pub const IPPROTO_PUP
: ::c_int
= 12;
2356 // IPPROTO_UDP defined in src/unix/mod.rs
2358 pub const IPPROTO_IDP
: ::c_int
= 22;
2359 /// tp-4 w/ class negotiation
2360 pub const IPPROTO_TP
: ::c_int
= 29;
2362 pub const IPPROTO_DCCP
: ::c_int
= 33;
2363 // IPPROTO_IPV6 defined in src/unix/mod.rs
2364 /// IP6 routing header
2365 pub const IPPROTO_ROUTING
: ::c_int
= 43;
2366 /// IP6 fragmentation header
2367 pub const IPPROTO_FRAGMENT
: ::c_int
= 44;
2368 /// resource reservation
2369 pub const IPPROTO_RSVP
: ::c_int
= 46;
2370 /// General Routing Encap.
2371 pub const IPPROTO_GRE
: ::c_int
= 47;
2372 /// IP6 Encap Sec. Payload
2373 pub const IPPROTO_ESP
: ::c_int
= 50;
2375 pub const IPPROTO_AH
: ::c_int
= 51;
2376 // IPPROTO_ICMPV6 defined in src/unix/mod.rs
2377 /// IP6 no next header
2378 pub const IPPROTO_NONE
: ::c_int
= 59;
2379 /// IP6 destination option
2380 pub const IPPROTO_DSTOPTS
: ::c_int
= 60;
2381 pub const IPPROTO_MTP
: ::c_int
= 92;
2382 pub const IPPROTO_BEETPH
: ::c_int
= 94;
2383 /// encapsulation header
2384 pub const IPPROTO_ENCAP
: ::c_int
= 98;
2385 /// Protocol indep. multicast
2386 pub const IPPROTO_PIM
: ::c_int
= 103;
2387 /// IP Payload Comp. Protocol
2388 pub const IPPROTO_COMP
: ::c_int
= 108;
2390 pub const IPPROTO_SCTP
: ::c_int
= 132;
2391 pub const IPPROTO_MH
: ::c_int
= 135;
2392 pub const IPPROTO_UDPLITE
: ::c_int
= 136;
2393 pub const IPPROTO_MPLS
: ::c_int
= 137;
2395 pub const IPPROTO_RAW
: ::c_int
= 255;
2396 pub const IPPROTO_MAX
: ::c_int
= 256;
2398 pub const AF_IB
: ::c_int
= 27;
2399 pub const AF_MPLS
: ::c_int
= 28;
2400 pub const AF_NFC
: ::c_int
= 39;
2401 pub const AF_VSOCK
: ::c_int
= 40;
2402 pub const PF_IB
: ::c_int
= AF_IB
;
2403 pub const PF_MPLS
: ::c_int
= AF_MPLS
;
2404 pub const PF_NFC
: ::c_int
= AF_NFC
;
2405 pub const PF_VSOCK
: ::c_int
= AF_VSOCK
;
2408 pub const IPC_PRIVATE
: ::key_t
= 0;
2410 pub const IPC_CREAT
: ::c_int
= 0o1000;
2411 pub const IPC_EXCL
: ::c_int
= 0o2000;
2412 pub const IPC_NOWAIT
: ::c_int
= 0o4000;
2414 pub const IPC_RMID
: ::c_int
= 0;
2415 pub const IPC_SET
: ::c_int
= 1;
2416 pub const IPC_STAT
: ::c_int
= 2;
2417 pub const IPC_INFO
: ::c_int
= 3;
2418 pub const MSG_STAT
: ::c_int
= 11;
2419 pub const MSG_INFO
: ::c_int
= 12;
2421 pub const MSG_NOERROR
: ::c_int
= 0o10000;
2422 pub const MSG_EXCEPT
: ::c_int
= 0o20000;
2423 pub const MSG_COPY
: ::c_int
= 0o40000;
2425 pub const SHM_R
: ::c_int
= 0o400;
2426 pub const SHM_W
: ::c_int
= 0o200;
2428 pub const SHM_RDONLY
: ::c_int
= 0o10000;
2429 pub const SHM_RND
: ::c_int
= 0o20000;
2430 pub const SHM_REMAP
: ::c_int
= 0o40000;
2431 pub const SHM_EXEC
: ::c_int
= 0o100000;
2433 pub const SHM_LOCK
: ::c_int
= 11;
2434 pub const SHM_UNLOCK
: ::c_int
= 12;
2436 pub const SHM_HUGETLB
: ::c_int
= 0o4000;
2437 pub const SHM_NORESERVE
: ::c_int
= 0o10000;
2439 pub const EPOLLRDHUP
: ::c_int
= 0x2000;
2440 pub const EPOLLEXCLUSIVE
: ::c_int
= 0x10000000;
2441 pub const EPOLLONESHOT
: ::c_int
= 0x40000000;
2443 pub const QFMT_VFS_OLD
: ::c_int
= 1;
2444 pub const QFMT_VFS_V0
: ::c_int
= 2;
2445 pub const QFMT_VFS_V1
: ::c_int
= 4;
2447 pub const EFD_SEMAPHORE
: ::c_int
= 0x1;
2449 pub const LOG_NFACILITIES
: ::c_int
= 24;
2451 pub const SEM_FAILED
: *mut ::sem_t
= 0 as *mut sem_t
;
2453 pub const RB_AUTOBOOT
: ::c_int
= 0x01234567u32 as i32;
2454 pub const RB_HALT_SYSTEM
: ::c_int
= 0xcdef0123u32 as i32;
2455 pub const RB_ENABLE_CAD
: ::c_int
= 0x89abcdefu32 as i32;
2456 pub const RB_DISABLE_CAD
: ::c_int
= 0x00000000u32 as i32;
2457 pub const RB_POWER_OFF
: ::c_int
= 0x4321fedcu32 as i32;
2458 pub const RB_SW_SUSPEND
: ::c_int
= 0xd000fce2u32 as i32;
2459 pub const RB_KEXEC
: ::c_int
= 0x45584543u32 as i32;
2461 pub const AI_PASSIVE
: ::c_int
= 0x0001;
2462 pub const AI_CANONNAME
: ::c_int
= 0x0002;
2463 pub const AI_NUMERICHOST
: ::c_int
= 0x0004;
2464 pub const AI_V4MAPPED
: ::c_int
= 0x0008;
2465 pub const AI_ALL
: ::c_int
= 0x0010;
2466 pub const AI_ADDRCONFIG
: ::c_int
= 0x0020;
2468 pub const AI_NUMERICSERV
: ::c_int
= 0x0400;
2470 pub const EAI_BADFLAGS
: ::c_int
= -1;
2471 pub const EAI_NONAME
: ::c_int
= -2;
2472 pub const EAI_AGAIN
: ::c_int
= -3;
2473 pub const EAI_FAIL
: ::c_int
= -4;
2474 pub const EAI_FAMILY
: ::c_int
= -6;
2475 pub const EAI_SOCKTYPE
: ::c_int
= -7;
2476 pub const EAI_SERVICE
: ::c_int
= -8;
2477 pub const EAI_MEMORY
: ::c_int
= -10;
2478 pub const EAI_OVERFLOW
: ::c_int
= -12;
2480 pub const NI_NUMERICHOST
: ::c_int
= 1;
2481 pub const NI_NUMERICSERV
: ::c_int
= 2;
2482 pub const NI_NOFQDN
: ::c_int
= 4;
2483 pub const NI_NAMEREQD
: ::c_int
= 8;
2484 pub const NI_DGRAM
: ::c_int
= 16;
2486 pub const SYNC_FILE_RANGE_WAIT_BEFORE
: ::c_uint
= 1;
2487 pub const SYNC_FILE_RANGE_WRITE
: ::c_uint
= 2;
2488 pub const SYNC_FILE_RANGE_WAIT_AFTER
: ::c_uint
= 4;
2490 pub const EAI_SYSTEM
: ::c_int
= -11;
2492 pub const AIO_CANCELED
: ::c_int
= 0;
2493 pub const AIO_NOTCANCELED
: ::c_int
= 1;
2494 pub const AIO_ALLDONE
: ::c_int
= 2;
2495 pub const LIO_READ
: ::c_int
= 0;
2496 pub const LIO_WRITE
: ::c_int
= 1;
2497 pub const LIO_NOP
: ::c_int
= 2;
2498 pub const LIO_WAIT
: ::c_int
= 0;
2499 pub const LIO_NOWAIT
: ::c_int
= 1;
2501 pub const MREMAP_MAYMOVE
: ::c_int
= 1;
2502 pub const MREMAP_FIXED
: ::c_int
= 2;
2504 pub const PR_SET_PDEATHSIG
: ::c_int
= 1;
2505 pub const PR_GET_PDEATHSIG
: ::c_int
= 2;
2507 pub const PR_GET_DUMPABLE
: ::c_int
= 3;
2508 pub const PR_SET_DUMPABLE
: ::c_int
= 4;
2510 pub const PR_GET_UNALIGN
: ::c_int
= 5;
2511 pub const PR_SET_UNALIGN
: ::c_int
= 6;
2512 pub const PR_UNALIGN_NOPRINT
: ::c_int
= 1;
2513 pub const PR_UNALIGN_SIGBUS
: ::c_int
= 2;
2515 pub const PR_GET_KEEPCAPS
: ::c_int
= 7;
2516 pub const PR_SET_KEEPCAPS
: ::c_int
= 8;
2518 pub const PR_GET_FPEMU
: ::c_int
= 9;
2519 pub const PR_SET_FPEMU
: ::c_int
= 10;
2520 pub const PR_FPEMU_NOPRINT
: ::c_int
= 1;
2521 pub const PR_FPEMU_SIGFPE
: ::c_int
= 2;
2523 pub const PR_GET_FPEXC
: ::c_int
= 11;
2524 pub const PR_SET_FPEXC
: ::c_int
= 12;
2525 pub const PR_FP_EXC_SW_ENABLE
: ::c_int
= 0x80;
2526 pub const PR_FP_EXC_DIV
: ::c_int
= 0x010000;
2527 pub const PR_FP_EXC_OVF
: ::c_int
= 0x020000;
2528 pub const PR_FP_EXC_UND
: ::c_int
= 0x040000;
2529 pub const PR_FP_EXC_RES
: ::c_int
= 0x080000;
2530 pub const PR_FP_EXC_INV
: ::c_int
= 0x100000;
2531 pub const PR_FP_EXC_DISABLED
: ::c_int
= 0;
2532 pub const PR_FP_EXC_NONRECOV
: ::c_int
= 1;
2533 pub const PR_FP_EXC_ASYNC
: ::c_int
= 2;
2534 pub const PR_FP_EXC_PRECISE
: ::c_int
= 3;
2536 pub const PR_GET_TIMING
: ::c_int
= 13;
2537 pub const PR_SET_TIMING
: ::c_int
= 14;
2538 pub const PR_TIMING_STATISTICAL
: ::c_int
= 0;
2539 pub const PR_TIMING_TIMESTAMP
: ::c_int
= 1;
2541 pub const PR_SET_NAME
: ::c_int
= 15;
2542 pub const PR_GET_NAME
: ::c_int
= 16;
2544 pub const PR_GET_ENDIAN
: ::c_int
= 19;
2545 pub const PR_SET_ENDIAN
: ::c_int
= 20;
2546 pub const PR_ENDIAN_BIG
: ::c_int
= 0;
2547 pub const PR_ENDIAN_LITTLE
: ::c_int
= 1;
2548 pub const PR_ENDIAN_PPC_LITTLE
: ::c_int
= 2;
2550 pub const PR_GET_SECCOMP
: ::c_int
= 21;
2551 pub const PR_SET_SECCOMP
: ::c_int
= 22;
2553 pub const PR_CAPBSET_READ
: ::c_int
= 23;
2554 pub const PR_CAPBSET_DROP
: ::c_int
= 24;
2556 pub const PR_GET_TSC
: ::c_int
= 25;
2557 pub const PR_SET_TSC
: ::c_int
= 26;
2558 pub const PR_TSC_ENABLE
: ::c_int
= 1;
2559 pub const PR_TSC_SIGSEGV
: ::c_int
= 2;
2561 pub const PR_GET_SECUREBITS
: ::c_int
= 27;
2562 pub const PR_SET_SECUREBITS
: ::c_int
= 28;
2564 pub const PR_SET_TIMERSLACK
: ::c_int
= 29;
2565 pub const PR_GET_TIMERSLACK
: ::c_int
= 30;
2567 pub const PR_TASK_PERF_EVENTS_DISABLE
: ::c_int
= 31;
2568 pub const PR_TASK_PERF_EVENTS_ENABLE
: ::c_int
= 32;
2570 pub const PR_MCE_KILL
: ::c_int
= 33;
2571 pub const PR_MCE_KILL_CLEAR
: ::c_int
= 0;
2572 pub const PR_MCE_KILL_SET
: ::c_int
= 1;
2574 pub const PR_MCE_KILL_LATE
: ::c_int
= 0;
2575 pub const PR_MCE_KILL_EARLY
: ::c_int
= 1;
2576 pub const PR_MCE_KILL_DEFAULT
: ::c_int
= 2;
2578 pub const PR_MCE_KILL_GET
: ::c_int
= 34;
2580 pub const PR_SET_MM
: ::c_int
= 35;
2581 pub const PR_SET_MM_START_CODE
: ::c_int
= 1;
2582 pub const PR_SET_MM_END_CODE
: ::c_int
= 2;
2583 pub const PR_SET_MM_START_DATA
: ::c_int
= 3;
2584 pub const PR_SET_MM_END_DATA
: ::c_int
= 4;
2585 pub const PR_SET_MM_START_STACK
: ::c_int
= 5;
2586 pub const PR_SET_MM_START_BRK
: ::c_int
= 6;
2587 pub const PR_SET_MM_BRK
: ::c_int
= 7;
2588 pub const PR_SET_MM_ARG_START
: ::c_int
= 8;
2589 pub const PR_SET_MM_ARG_END
: ::c_int
= 9;
2590 pub const PR_SET_MM_ENV_START
: ::c_int
= 10;
2591 pub const PR_SET_MM_ENV_END
: ::c_int
= 11;
2592 pub const PR_SET_MM_AUXV
: ::c_int
= 12;
2593 pub const PR_SET_MM_EXE_FILE
: ::c_int
= 13;
2594 pub const PR_SET_MM_MAP
: ::c_int
= 14;
2595 pub const PR_SET_MM_MAP_SIZE
: ::c_int
= 15;
2597 pub const PR_SET_PTRACER
: ::c_int
= 0x59616d61;
2599 pub const PR_SET_CHILD_SUBREAPER
: ::c_int
= 36;
2600 pub const PR_GET_CHILD_SUBREAPER
: ::c_int
= 37;
2602 pub const PR_SET_NO_NEW_PRIVS
: ::c_int
= 38;
2603 pub const PR_GET_NO_NEW_PRIVS
: ::c_int
= 39;
2605 pub const PR_GET_TID_ADDRESS
: ::c_int
= 40;
2607 pub const PR_SET_THP_DISABLE
: ::c_int
= 41;
2608 pub const PR_GET_THP_DISABLE
: ::c_int
= 42;
2610 pub const PR_MPX_ENABLE_MANAGEMENT
: ::c_int
= 43;
2611 pub const PR_MPX_DISABLE_MANAGEMENT
: ::c_int
= 44;
2613 pub const PR_SET_FP_MODE
: ::c_int
= 45;
2614 pub const PR_GET_FP_MODE
: ::c_int
= 46;
2615 pub const PR_FP_MODE_FR
: ::c_int
= 1 << 0;
2616 pub const PR_FP_MODE_FRE
: ::c_int
= 1 << 1;
2618 pub const PR_CAP_AMBIENT
: ::c_int
= 47;
2619 pub const PR_CAP_AMBIENT_IS_SET
: ::c_int
= 1;
2620 pub const PR_CAP_AMBIENT_RAISE
: ::c_int
= 2;
2621 pub const PR_CAP_AMBIENT_LOWER
: ::c_int
= 3;
2622 pub const PR_CAP_AMBIENT_CLEAR_ALL
: ::c_int
= 4;
2624 pub const ITIMER_REAL
: ::c_int
= 0;
2625 pub const ITIMER_VIRTUAL
: ::c_int
= 1;
2626 pub const ITIMER_PROF
: ::c_int
= 2;
2628 pub const TFD_CLOEXEC
: ::c_int
= O_CLOEXEC
;
2629 pub const TFD_NONBLOCK
: ::c_int
= O_NONBLOCK
;
2630 pub const TFD_TIMER_ABSTIME
: ::c_int
= 1;
2632 pub const XATTR_CREATE
: ::c_int
= 0x1;
2633 pub const XATTR_REPLACE
: ::c_int
= 0x2;
2635 pub const _POSIX_VDISABLE
: ::cc_t
= 0;
2637 pub const FALLOC_FL_KEEP_SIZE
: ::c_int
= 0x01;
2638 pub const FALLOC_FL_PUNCH_HOLE
: ::c_int
= 0x02;
2639 pub const FALLOC_FL_COLLAPSE_RANGE
: ::c_int
= 0x08;
2640 pub const FALLOC_FL_ZERO_RANGE
: ::c_int
= 0x10;
2641 pub const FALLOC_FL_INSERT_RANGE
: ::c_int
= 0x20;
2642 pub const FALLOC_FL_UNSHARE_RANGE
: ::c_int
= 0x40;
2644 // On Linux, libc doesn't define this constant, libattr does instead.
2645 // We still define it for Linux as it's defined by libc on other platforms,
2646 // and it's mentioned in the man pages for getxattr and setxattr.
2647 pub const ENOATTR
: ::c_int
= ::ENODATA
;
2649 pub const SO_ORIGINAL_DST
: ::c_int
= 80;
2650 pub const IUTF8
: ::tcflag_t
= 0x00004000;
2651 pub const CMSPAR
: ::tcflag_t
= 0o10000000000;
2653 pub const MFD_CLOEXEC
: ::c_uint
= 0x0001;
2654 pub const MFD_ALLOW_SEALING
: ::c_uint
= 0x0002;
2656 // these are used in the p_type field of Elf32_Phdr and Elf64_Phdr, which has
2657 // the type Elf32Word and Elf64Word respectively. Luckily, both of those are u32
2658 // so we can use that type here to avoid having to cast.
2659 pub const PT_NULL
: u32 = 0;
2660 pub const PT_LOAD
: u32 = 1;
2661 pub const PT_DYNAMIC
: u32 = 2;
2662 pub const PT_INTERP
: u32 = 3;
2663 pub const PT_NOTE
: u32 = 4;
2664 pub const PT_SHLIB
: u32 = 5;
2665 pub const PT_PHDR
: u32 = 6;
2666 pub const PT_TLS
: u32 = 7;
2667 pub const PT_NUM
: u32 = 8;
2668 pub const PT_LOOS
: u32 = 0x60000000;
2669 pub const PT_GNU_EH_FRAME
: u32 = 0x6474e550;
2670 pub const PT_GNU_STACK
: u32 = 0x6474e551;
2671 pub const PT_GNU_RELRO
: u32 = 0x6474e552;
2673 pub const SFD_CLOEXEC
: ::c_int
= 0x080000;
2675 pub const NCCS
: usize = 32;
2677 pub const O_TRUNC
: ::c_int
= 0x00040000;
2678 pub const O_NOATIME
: ::c_int
= 0x00002000;
2679 pub const O_CLOEXEC
: ::c_int
= 0x00000100;
2680 pub const O_TMPFILE
: ::c_int
= 0x00004000;
2682 pub const EBFONT
: ::c_int
= 59;
2683 pub const ENOSTR
: ::c_int
= 60;
2684 pub const ENODATA
: ::c_int
= 61;
2685 pub const ETIME
: ::c_int
= 62;
2686 pub const ENOSR
: ::c_int
= 63;
2687 pub const ENONET
: ::c_int
= 64;
2688 pub const ENOPKG
: ::c_int
= 65;
2689 pub const EREMOTE
: ::c_int
= 66;
2690 pub const ENOLINK
: ::c_int
= 67;
2691 pub const EADV
: ::c_int
= 68;
2692 pub const ESRMNT
: ::c_int
= 69;
2693 pub const ECOMM
: ::c_int
= 70;
2694 pub const EPROTO
: ::c_int
= 71;
2695 pub const EDOTDOT
: ::c_int
= 73;
2697 pub const SA_NODEFER
: ::c_int
= 0x40000000;
2698 pub const SA_RESETHAND
: ::c_int
= 0x80000000;
2699 pub const SA_RESTART
: ::c_int
= 0x10000000;
2700 pub const SA_NOCLDSTOP
: ::c_int
= 0x00000001;
2702 pub const EPOLL_CLOEXEC
: ::c_int
= 0x80000;
2704 pub const EFD_CLOEXEC
: ::c_int
= 0x80000;
2706 pub const BUFSIZ
: ::c_uint
= 1024;
2707 pub const TMP_MAX
: ::c_uint
= 10000;
2708 pub const FOPEN_MAX
: ::c_uint
= 1000;
2709 pub const O_PATH
: ::c_int
= 0x00400000;
2710 pub const O_EXEC
: ::c_int
= O_PATH
;
2711 pub const O_SEARCH
: ::c_int
= O_PATH
;
2712 pub const O_ACCMODE
: ::c_int
= 03 | O_SEARCH
;
2713 pub const O_NDELAY
: ::c_int
= O_NONBLOCK
;
2714 pub const NI_MAXHOST
: ::socklen_t
= 255;
2715 pub const PTHREAD_STACK_MIN
: ::size_t
= 2048;
2716 pub const POSIX_FADV_DONTNEED
: ::c_int
= 4;
2717 pub const POSIX_FADV_NOREUSE
: ::c_int
= 5;
2719 pub const POSIX_MADV_DONTNEED
: ::c_int
= 4;
2721 pub const RLIM_INFINITY
: ::rlim_t
= !0;
2722 pub const RLIMIT_RTTIME
: ::c_int
= 15;
2723 pub const RLIMIT_NLIMITS
: ::c_int
= 16;
2724 pub const RLIM_NLIMITS
: ::c_int
= RLIMIT_NLIMITS
;
2726 pub const MAP_ANONYMOUS
: ::c_int
= MAP_ANON
;
2728 pub const SOCK_DCCP
: ::c_int
= 6;
2729 pub const SOCK_PACKET
: ::c_int
= 10;
2731 pub const TCP_COOKIE_TRANSACTIONS
: ::c_int
= 15;
2732 pub const TCP_THIN_LINEAR_TIMEOUTS
: ::c_int
= 16;
2733 pub const TCP_THIN_DUPACK
: ::c_int
= 17;
2734 pub const TCP_USER_TIMEOUT
: ::c_int
= 18;
2735 pub const TCP_REPAIR
: ::c_int
= 19;
2736 pub const TCP_REPAIR_QUEUE
: ::c_int
= 20;
2737 pub const TCP_QUEUE_SEQ
: ::c_int
= 21;
2738 pub const TCP_REPAIR_OPTIONS
: ::c_int
= 22;
2739 pub const TCP_FASTOPEN
: ::c_int
= 23;
2740 pub const TCP_TIMESTAMP
: ::c_int
= 24;
2742 pub const SIGUNUSED
: ::c_int
= ::SIGSYS
;
2744 pub const __SIZEOF_PTHREAD_CONDATTR_T
: usize = 4;
2745 pub const __SIZEOF_PTHREAD_MUTEXATTR_T
: usize = 4;
2746 pub const __SIZEOF_PTHREAD_RWLOCKATTR_T
: usize = 8;
2748 pub const CPU_SETSIZE
: ::c_int
= 128;
2750 pub const PTRACE_TRACEME
: ::c_int
= 0;
2751 pub const PTRACE_PEEKTEXT
: ::c_int
= 1;
2752 pub const PTRACE_PEEKDATA
: ::c_int
= 2;
2753 pub const PTRACE_PEEKUSER
: ::c_int
= 3;
2754 pub const PTRACE_POKETEXT
: ::c_int
= 4;
2755 pub const PTRACE_POKEDATA
: ::c_int
= 5;
2756 pub const PTRACE_POKEUSER
: ::c_int
= 6;
2757 pub const PTRACE_CONT
: ::c_int
= 7;
2758 pub const PTRACE_KILL
: ::c_int
= 8;
2759 pub const PTRACE_SINGLESTEP
: ::c_int
= 9;
2760 pub const PTRACE_GETREGS
: ::c_int
= 12;
2761 pub const PTRACE_SETREGS
: ::c_int
= 13;
2762 pub const PTRACE_GETFPREGS
: ::c_int
= 14;
2763 pub const PTRACE_SETFPREGS
: ::c_int
= 15;
2764 pub const PTRACE_ATTACH
: ::c_int
= 16;
2765 pub const PTRACE_DETACH
: ::c_int
= 17;
2766 pub const PTRACE_GETFPXREGS
: ::c_int
= 18;
2767 pub const PTRACE_SETFPXREGS
: ::c_int
= 19;
2768 pub const PTRACE_SYSCALL
: ::c_int
= 24;
2769 pub const PTRACE_SETOPTIONS
: ::c_int
= 0x4200;
2770 pub const PTRACE_GETEVENTMSG
: ::c_int
= 0x4201;
2771 pub const PTRACE_GETSIGINFO
: ::c_int
= 0x4202;
2772 pub const PTRACE_SETSIGINFO
: ::c_int
= 0x4203;
2773 pub const PTRACE_GETREGSET
: ::c_int
= 0x4204;
2774 pub const PTRACE_SETREGSET
: ::c_int
= 0x4205;
2775 pub const PTRACE_SEIZE
: ::c_int
= 0x4206;
2776 pub const PTRACE_INTERRUPT
: ::c_int
= 0x4207;
2777 pub const PTRACE_LISTEN
: ::c_int
= 0x4208;
2778 pub const PTRACE_PEEKSIGINFO
: ::c_int
= 0x4209;
2780 pub const EPOLLWAKEUP
: ::c_int
= 0x20000000;
2782 pub const EFD_NONBLOCK
: ::c_int
= ::O_NONBLOCK
;
2784 pub const SFD_NONBLOCK
: ::c_int
= ::O_NONBLOCK
;
2786 pub const TCSANOW
: ::c_int
= 0;
2787 pub const TCSADRAIN
: ::c_int
= 1;
2788 pub const TCSAFLUSH
: ::c_int
= 2;
2790 pub const TIOCINQ
: ::c_int
= ::FIONREAD
;
2792 pub const RTLD_GLOBAL
: ::c_int
= 0x100;
2793 pub const RTLD_NOLOAD
: ::c_int
= 0x4;
2795 pub const MCL_CURRENT
: ::c_int
= 0x0001;
2796 pub const MCL_FUTURE
: ::c_int
= 0x0002;
2798 pub const CBAUD
: ::tcflag_t
= 0o0010017;
2799 pub const TAB1
: ::c_int
= 0x00000800;
2800 pub const TAB2
: ::c_int
= 0x00001000;
2801 pub const TAB3
: ::c_int
= 0x00001800;
2802 pub const CR1
: ::c_int
= 0x00000200;
2803 pub const CR2
: ::c_int
= 0x00000400;
2804 pub const CR3
: ::c_int
= 0x00000600;
2805 pub const FF1
: ::c_int
= 0x00008000;
2806 pub const BS1
: ::c_int
= 0x00002000;
2807 pub const VT1
: ::c_int
= 0x00004000;
2808 pub const VWERASE
: usize = 14;
2809 pub const VREPRINT
: usize = 12;
2810 pub const VSUSP
: usize = 10;
2811 pub const VSTART
: usize = 8;
2812 pub const VSTOP
: usize = 9;
2813 pub const VDISCARD
: usize = 13;
2814 pub const VTIME
: usize = 5;
2815 pub const IXON
: ::tcflag_t
= 0x00000400;
2816 pub const IXOFF
: ::tcflag_t
= 0x00001000;
2817 pub const ONLCR
: ::tcflag_t
= 0x4;
2818 pub const CSIZE
: ::tcflag_t
= 0x00000030;
2819 pub const CS6
: ::tcflag_t
= 0x00000010;
2820 pub const CS7
: ::tcflag_t
= 0x00000020;
2821 pub const CS8
: ::tcflag_t
= 0x00000030;
2822 pub const CSTOPB
: ::tcflag_t
= 0x00000040;
2823 pub const CREAD
: ::tcflag_t
= 0x00000080;
2824 pub const PARENB
: ::tcflag_t
= 0x00000100;
2825 pub const PARODD
: ::tcflag_t
= 0x00000200;
2826 pub const HUPCL
: ::tcflag_t
= 0x00000400;
2827 pub const CLOCAL
: ::tcflag_t
= 0x00000800;
2828 pub const ECHOKE
: ::tcflag_t
= 0x00000800;
2829 pub const ECHOE
: ::tcflag_t
= 0x00000010;
2830 pub const ECHOK
: ::tcflag_t
= 0x00000020;
2831 pub const ECHONL
: ::tcflag_t
= 0x00000040;
2832 pub const ECHOPRT
: ::tcflag_t
= 0x00000400;
2833 pub const ECHOCTL
: ::tcflag_t
= 0x00000200;
2834 pub const ISIG
: ::tcflag_t
= 0x00000001;
2835 pub const ICANON
: ::tcflag_t
= 0x00000002;
2836 pub const PENDIN
: ::tcflag_t
= 0x00004000;
2837 pub const NOFLSH
: ::tcflag_t
= 0x00000080;
2838 pub const CIBAUD
: ::tcflag_t
= 0o02003600000;
2839 pub const CBAUDEX
: ::tcflag_t
= 0o010000;
2840 pub const VSWTC
: usize = 7;
2841 pub const OLCUC
: ::tcflag_t
= 0o000002;
2842 pub const NLDLY
: ::tcflag_t
= 0o000400;
2843 pub const CRDLY
: ::tcflag_t
= 0o003000;
2844 pub const TABDLY
: ::tcflag_t
= 0o014000;
2845 pub const BSDLY
: ::tcflag_t
= 0o020000;
2846 pub const FFDLY
: ::tcflag_t
= 0o100000;
2847 pub const VTDLY
: ::tcflag_t
= 0o040000;
2848 pub const XTABS
: ::tcflag_t
= 0o014000;
2850 pub const B0
: ::speed_t
= 0o000000;
2851 pub const B50
: ::speed_t
= 0o000001;
2852 pub const B75
: ::speed_t
= 0o000002;
2853 pub const B110
: ::speed_t
= 0o000003;
2854 pub const B134
: ::speed_t
= 0o000004;
2855 pub const B150
: ::speed_t
= 0o000005;
2856 pub const B200
: ::speed_t
= 0o000006;
2857 pub const B300
: ::speed_t
= 0o000007;
2858 pub const B600
: ::speed_t
= 0o000010;
2859 pub const B1200
: ::speed_t
= 0o000011;
2860 pub const B1800
: ::speed_t
= 0o000012;
2861 pub const B2400
: ::speed_t
= 0o000013;
2862 pub const B4800
: ::speed_t
= 0o000014;
2863 pub const B9600
: ::speed_t
= 0o000015;
2864 pub const B19200
: ::speed_t
= 0o000016;
2865 pub const B38400
: ::speed_t
= 0o000017;
2866 pub const EXTA
: ::speed_t
= B19200
;
2867 pub const EXTB
: ::speed_t
= B38400
;
2868 pub const B57600
: ::speed_t
= 0o010001;
2869 pub const B115200
: ::speed_t
= 0o010002;
2870 pub const B230400
: ::speed_t
= 0o010003;
2871 pub const B460800
: ::speed_t
= 0o010004;
2872 pub const B500000
: ::speed_t
= 0o010005;
2873 pub const B576000
: ::speed_t
= 0o010006;
2874 pub const B921600
: ::speed_t
= 0o010007;
2875 pub const B1000000
: ::speed_t
= 0o010010;
2876 pub const B1152000
: ::speed_t
= 0o010011;
2877 pub const B1500000
: ::speed_t
= 0o010012;
2878 pub const B2000000
: ::speed_t
= 0o010013;
2879 pub const B2500000
: ::speed_t
= 0o010014;
2880 pub const B3000000
: ::speed_t
= 0o010015;
2881 pub const B3500000
: ::speed_t
= 0o010016;
2882 pub const B4000000
: ::speed_t
= 0o010017;
2884 pub const SO_BINDTODEVICE
: ::c_int
= 25;
2885 pub const SO_TIMESTAMP
: ::c_int
= 29;
2886 pub const SO_MARK
: ::c_int
= 36;
2887 pub const SO_RXQ_OVFL
: ::c_int
= 40;
2888 pub const SO_PEEK_OFF
: ::c_int
= 42;
2889 pub const SO_BUSY_POLL
: ::c_int
= 46;
2891 pub const __SIZEOF_PTHREAD_RWLOCK_T
: usize = 56;
2892 pub const __SIZEOF_PTHREAD_MUTEX_T
: usize = 40;
2894 pub const O_ASYNC
: ::c_int
= 0x00000400;
2896 pub const FIOCLEX
: ::c_int
= 0x5451;
2897 pub const FIONBIO
: ::c_int
= 0x5421;
2899 pub const RLIMIT_RSS
: ::c_int
= 5;
2900 pub const RLIMIT_NOFILE
: ::c_int
= 7;
2901 pub const RLIMIT_AS
: ::c_int
= 9;
2902 pub const RLIMIT_NPROC
: ::c_int
= 6;
2903 pub const RLIMIT_MEMLOCK
: ::c_int
= 8;
2905 pub const O_APPEND
: ::c_int
= 0x00100000;
2906 pub const O_CREAT
: ::c_int
= 0x00010000;
2907 pub const O_EXCL
: ::c_int
= 0x00020000;
2908 pub const O_NOCTTY
: ::c_int
= 0x00000200;
2909 pub const O_NONBLOCK
: ::c_int
= 0x00000010;
2910 pub const O_SYNC
: ::c_int
= 0x00000040 | O_DSYNC
;
2911 pub const O_RSYNC
: ::c_int
= O_SYNC
;
2912 pub const O_DSYNC
: ::c_int
= 0x00000020;
2914 pub const SOCK_CLOEXEC
: ::c_int
= 0o2000000;
2915 pub const SOCK_NONBLOCK
: ::c_int
= 0o4000;
2917 pub const MAP_ANON
: ::c_int
= 0x0020;
2918 pub const MAP_GROWSDOWN
: ::c_int
= 0x0100;
2919 pub const MAP_DENYWRITE
: ::c_int
= 0x0800;
2920 pub const MAP_EXECUTABLE
: ::c_int
= 0x01000;
2921 pub const MAP_LOCKED
: ::c_int
= 0x02000;
2922 pub const MAP_NORESERVE
: ::c_int
= 0x04000;
2923 pub const MAP_POPULATE
: ::c_int
= 0x08000;
2924 pub const MAP_NONBLOCK
: ::c_int
= 0x010000;
2925 pub const MAP_STACK
: ::c_int
= 0x020000;
2927 pub const SOCK_STREAM
: ::c_int
= 1;
2928 pub const SOCK_DGRAM
: ::c_int
= 2;
2929 pub const SOCK_SEQPACKET
: ::c_int
= 5;
2931 pub const SOL_SOCKET
: ::c_int
= 1;
2933 pub const EDEADLK
: ::c_int
= 35;
2934 pub const ENAMETOOLONG
: ::c_int
= 36;
2935 pub const ENOLCK
: ::c_int
= 37;
2936 pub const ENOSYS
: ::c_int
= 38;
2937 pub const ENOTEMPTY
: ::c_int
= 39;
2938 pub const ELOOP
: ::c_int
= 40;
2939 pub const ENOMSG
: ::c_int
= 42;
2940 pub const EIDRM
: ::c_int
= 43;
2941 pub const ECHRNG
: ::c_int
= 44;
2942 pub const EL2NSYNC
: ::c_int
= 45;
2943 pub const EL3HLT
: ::c_int
= 46;
2944 pub const EL3RST
: ::c_int
= 47;
2945 pub const ELNRNG
: ::c_int
= 48;
2946 pub const EUNATCH
: ::c_int
= 49;
2947 pub const ENOCSI
: ::c_int
= 50;
2948 pub const EL2HLT
: ::c_int
= 51;
2949 pub const EBADE
: ::c_int
= 52;
2950 pub const EBADR
: ::c_int
= 53;
2951 pub const EXFULL
: ::c_int
= 54;
2952 pub const ENOANO
: ::c_int
= 55;
2953 pub const EBADRQC
: ::c_int
= 56;
2954 pub const EBADSLT
: ::c_int
= 57;
2955 pub const EDEADLOCK
: ::c_int
= EDEADLK
;
2956 pub const EMULTIHOP
: ::c_int
= 72;
2957 pub const EBADMSG
: ::c_int
= 74;
2958 pub const EOVERFLOW
: ::c_int
= 75;
2959 pub const ENOTUNIQ
: ::c_int
= 76;
2960 pub const EBADFD
: ::c_int
= 77;
2961 pub const EREMCHG
: ::c_int
= 78;
2962 pub const ELIBACC
: ::c_int
= 79;
2963 pub const ELIBBAD
: ::c_int
= 80;
2964 pub const ELIBSCN
: ::c_int
= 81;
2965 pub const ELIBMAX
: ::c_int
= 82;
2966 pub const ELIBEXEC
: ::c_int
= 83;
2967 pub const EILSEQ
: ::c_int
= 84;
2968 pub const ERESTART
: ::c_int
= 85;
2969 pub const ESTRPIPE
: ::c_int
= 86;
2970 pub const EUSERS
: ::c_int
= 87;
2971 pub const ENOTSOCK
: ::c_int
= 88;
2972 pub const EDESTADDRREQ
: ::c_int
= 89;
2973 pub const EMSGSIZE
: ::c_int
= 90;
2974 pub const EPROTOTYPE
: ::c_int
= 91;
2975 pub const ENOPROTOOPT
: ::c_int
= 92;
2976 pub const EPROTONOSUPPORT
: ::c_int
= 93;
2977 pub const ESOCKTNOSUPPORT
: ::c_int
= 94;
2978 pub const EOPNOTSUPP
: ::c_int
= 95;
2979 pub const ENOTSUP
: ::c_int
= EOPNOTSUPP
;
2980 pub const EPFNOSUPPORT
: ::c_int
= 96;
2981 pub const EAFNOSUPPORT
: ::c_int
= 97;
2982 pub const EADDRINUSE
: ::c_int
= 98;
2983 pub const EADDRNOTAVAIL
: ::c_int
= 99;
2984 pub const ENETDOWN
: ::c_int
= 100;
2985 pub const ENETUNREACH
: ::c_int
= 101;
2986 pub const ENETRESET
: ::c_int
= 102;
2987 pub const ECONNABORTED
: ::c_int
= 103;
2988 pub const ECONNRESET
: ::c_int
= 104;
2989 pub const ENOBUFS
: ::c_int
= 105;
2990 pub const EISCONN
: ::c_int
= 106;
2991 pub const ENOTCONN
: ::c_int
= 107;
2992 pub const ESHUTDOWN
: ::c_int
= 108;
2993 pub const ETOOMANYREFS
: ::c_int
= 109;
2994 pub const ETIMEDOUT
: ::c_int
= 110;
2995 pub const ECONNREFUSED
: ::c_int
= 111;
2996 pub const EHOSTDOWN
: ::c_int
= 112;
2997 pub const EHOSTUNREACH
: ::c_int
= 113;
2998 pub const EALREADY
: ::c_int
= 114;
2999 pub const EINPROGRESS
: ::c_int
= 115;
3000 pub const ESTALE
: ::c_int
= 116;
3001 pub const EUCLEAN
: ::c_int
= 117;
3002 pub const ENOTNAM
: ::c_int
= 118;
3003 pub const ENAVAIL
: ::c_int
= 119;
3004 pub const EISNAM
: ::c_int
= 120;
3005 pub const EREMOTEIO
: ::c_int
= 121;
3006 pub const EDQUOT
: ::c_int
= 122;
3007 pub const ENOMEDIUM
: ::c_int
= 123;
3008 pub const EMEDIUMTYPE
: ::c_int
= 124;
3009 pub const ECANCELED
: ::c_int
= 125;
3010 pub const ENOKEY
: ::c_int
= 126;
3011 pub const EKEYEXPIRED
: ::c_int
= 127;
3012 pub const EKEYREVOKED
: ::c_int
= 128;
3013 pub const EKEYREJECTED
: ::c_int
= 129;
3014 pub const EOWNERDEAD
: ::c_int
= 130;
3015 pub const ENOTRECOVERABLE
: ::c_int
= 131;
3016 pub const ERFKILL
: ::c_int
= 132;
3017 pub const EHWPOISON
: ::c_int
= 133;
3019 pub const SO_REUSEADDR
: ::c_int
= 2;
3020 pub const SO_TYPE
: ::c_int
= 3;
3021 pub const SO_ERROR
: ::c_int
= 4;
3022 pub const SO_DONTROUTE
: ::c_int
= 5;
3023 pub const SO_BROADCAST
: ::c_int
= 6;
3024 pub const SO_SNDBUF
: ::c_int
= 7;
3025 pub const SO_RCVBUF
: ::c_int
= 8;
3026 pub const SO_KEEPALIVE
: ::c_int
= 9;
3027 pub const SO_OOBINLINE
: ::c_int
= 10;
3028 pub const SO_NO_CHECK
: ::c_int
= 11;
3029 pub const SO_PRIORITY
: ::c_int
= 12;
3030 pub const SO_LINGER
: ::c_int
= 13;
3031 pub const SO_BSDCOMPAT
: ::c_int
= 14;
3032 pub const SO_REUSEPORT
: ::c_int
= 15;
3033 pub const SO_PASSCRED
: ::c_int
= 16;
3034 pub const SO_PEERCRED
: ::c_int
= 17;
3035 pub const SO_RCVLOWAT
: ::c_int
= 18;
3036 pub const SO_SNDLOWAT
: ::c_int
= 19;
3037 pub const SO_RCVTIMEO
: ::c_int
= 20;
3038 pub const SO_SNDTIMEO
: ::c_int
= 21;
3039 pub const SO_ACCEPTCONN
: ::c_int
= 30;
3040 pub const SO_SNDBUFFORCE
: ::c_int
= 32;
3041 pub const SO_RCVBUFFORCE
: ::c_int
= 33;
3042 pub const SO_PROTOCOL
: ::c_int
= 38;
3043 pub const SO_DOMAIN
: ::c_int
= 39;
3045 pub const SA_ONSTACK
: ::c_int
= 0x08000000;
3046 pub const SA_SIGINFO
: ::c_int
= 0x00000004;
3047 pub const SA_NOCLDWAIT
: ::c_int
= 0x00000002;
3049 pub const SIGCHLD
: ::c_int
= 17;
3050 pub const SIGBUS
: ::c_int
= 7;
3051 pub const SIGTTIN
: ::c_int
= 21;
3052 pub const SIGTTOU
: ::c_int
= 22;
3053 pub const SIGXCPU
: ::c_int
= 24;
3054 pub const SIGXFSZ
: ::c_int
= 25;
3055 pub const SIGVTALRM
: ::c_int
= 26;
3056 pub const SIGPROF
: ::c_int
= 27;
3057 pub const SIGWINCH
: ::c_int
= 28;
3058 pub const SIGUSR1
: ::c_int
= 10;
3059 pub const SIGUSR2
: ::c_int
= 12;
3060 pub const SIGCONT
: ::c_int
= 18;
3061 pub const SIGSTOP
: ::c_int
= 19;
3062 pub const SIGTSTP
: ::c_int
= 20;
3063 pub const SIGURG
: ::c_int
= 23;
3064 pub const SIGIO
: ::c_int
= 29;
3065 pub const SIGSYS
: ::c_int
= 31;
3066 pub const SIGSTKFLT
: ::c_int
= 16;
3067 pub const SIGPOLL
: ::c_int
= 29;
3068 pub const SIGPWR
: ::c_int
= 30;
3069 pub const SIG_SETMASK
: ::c_int
= 2;
3070 pub const SIG_BLOCK
: ::c_int
= 0x000000;
3071 pub const SIG_UNBLOCK
: ::c_int
= 0x01;
3073 pub const EXTPROC
: ::tcflag_t
= 0x00010000;
3075 pub const MAP_HUGETLB
: ::c_int
= 0x040000;
3077 pub const F_GETLK
: ::c_int
= 5;
3078 pub const F_GETOWN
: ::c_int
= 9;
3079 pub const F_SETLK
: ::c_int
= 6;
3080 pub const F_SETLKW
: ::c_int
= 7;
3081 pub const F_SETOWN
: ::c_int
= 8;
3083 pub const VEOF
: usize = 4;
3084 pub const VEOL
: usize = 11;
3085 pub const VEOL2
: usize = 16;
3086 pub const VMIN
: usize = 6;
3087 pub const IEXTEN
: ::tcflag_t
= 0x00008000;
3088 pub const TOSTOP
: ::tcflag_t
= 0x00000100;
3089 pub const FLUSHO
: ::tcflag_t
= 0x00001000;
3091 pub const TCGETS
: ::c_int
= 0x5401;
3092 pub const TCSETS
: ::c_int
= 0x5402;
3093 pub const TCSETSW
: ::c_int
= 0x5403;
3094 pub const TCSETSF
: ::c_int
= 0x5404;
3095 pub const TCGETA
: ::c_int
= 0x5405;
3096 pub const TCSETA
: ::c_int
= 0x5406;
3097 pub const TCSETAW
: ::c_int
= 0x5407;
3098 pub const TCSETAF
: ::c_int
= 0x5408;
3099 pub const TCSBRK
: ::c_int
= 0x5409;
3100 pub const TCXONC
: ::c_int
= 0x540A;
3101 pub const TCFLSH
: ::c_int
= 0x540B;
3102 pub const TIOCGSOFTCAR
: ::c_int
= 0x5419;
3103 pub const TIOCSSOFTCAR
: ::c_int
= 0x541A;
3104 pub const TIOCLINUX
: ::c_int
= 0x541C;
3105 pub const TIOCGSERIAL
: ::c_int
= 0x541E;
3106 pub const TIOCEXCL
: ::c_int
= 0x540C;
3107 pub const TIOCNXCL
: ::c_int
= 0x540D;
3108 pub const TIOCSCTTY
: ::c_int
= 0x540E;
3109 pub const TIOCGPGRP
: ::c_int
= 0x540F;
3110 pub const TIOCSPGRP
: ::c_int
= 0x5410;
3111 pub const TIOCOUTQ
: ::c_int
= 0x5411;
3112 pub const TIOCSTI
: ::c_int
= 0x5412;
3113 pub const TIOCGWINSZ
: ::c_int
= 0x5413;
3114 pub const TIOCSWINSZ
: ::c_int
= 0x5414;
3115 pub const TIOCMGET
: ::c_int
= 0x5415;
3116 pub const TIOCMBIS
: ::c_int
= 0x5416;
3117 pub const TIOCMBIC
: ::c_int
= 0x5417;
3118 pub const TIOCMSET
: ::c_int
= 0x5418;
3119 pub const FIONREAD
: ::c_int
= 0x541B;
3120 pub const TIOCCONS
: ::c_int
= 0x541D;
3122 pub const POLLWRNORM
: ::c_short
= 0x100;
3123 pub const POLLWRBAND
: ::c_short
= 0x200;
3125 pub const TIOCM_LE
: ::c_int
= 0x001;
3126 pub const TIOCM_DTR
: ::c_int
= 0x002;
3127 pub const TIOCM_RTS
: ::c_int
= 0x004;
3128 pub const TIOCM_ST
: ::c_int
= 0x008;
3129 pub const TIOCM_SR
: ::c_int
= 0x010;
3130 pub const TIOCM_CTS
: ::c_int
= 0x020;
3131 pub const TIOCM_CAR
: ::c_int
= 0x040;
3132 pub const TIOCM_RNG
: ::c_int
= 0x080;
3133 pub const TIOCM_DSR
: ::c_int
= 0x100;
3134 pub const TIOCM_CD
: ::c_int
= TIOCM_CAR
;
3135 pub const TIOCM_RI
: ::c_int
= TIOCM_RNG
;
3137 pub const O_DIRECTORY
: ::c_int
= 0x00080000;
3138 pub const O_DIRECT
: ::c_int
= 0x00000800;
3139 pub const O_LARGEFILE
: ::c_int
= 0x00001000;
3140 pub const O_NOFOLLOW
: ::c_int
= 0x00000080;
3142 // intentionally not public, only used for fd_set
3144 if #[cfg(target_pointer_width = "32")] {
3145 const ULONG_SIZE
: usize = 32;
3146 } else if #[cfg(target_pointer_width = "64")] {
3147 const ULONG_SIZE
: usize = 64;
3149 // Unknown target_pointer_width
3156 pub fn FD_CLR(fd
: ::c_int
, set
: *mut fd_set
) -> () {
3157 let fd
= fd
as usize;
3158 let size
= ::mem
::size_of_val(&(*set
).fds_bits
[0]) * 8;
3159 (*set
).fds_bits
[fd
/ size
] &= !(1 << (fd
% size
));
3163 pub fn FD_ISSET(fd
: ::c_int
, set
: *const fd_set
) -> bool
{
3164 let fd
= fd
as usize;
3165 let size
= ::mem
::size_of_val(&(*set
).fds_bits
[0]) * 8;
3166 return ((*set
).fds_bits
[fd
/ size
] & (1 << (fd
% size
))) != 0
3169 pub fn FD_SET(fd
: ::c_int
, set
: *mut fd_set
) -> () {
3170 let fd
= fd
as usize;
3171 let size
= ::mem
::size_of_val(&(*set
).fds_bits
[0]) * 8;
3172 (*set
).fds_bits
[fd
/ size
] |= 1 << (fd
% size
);
3176 pub fn FD_ZERO(set
: *mut fd_set
) -> () {
3177 for slot
in (*set
).fds_bits
.iter_mut() {
3182 pub fn CPU_ZERO(cpuset
: &mut cpu_set_t
) -> () {
3183 for slot
in cpuset
.bits
.iter_mut() {
3188 pub fn CPU_SET(cpu
: usize, cpuset
: &mut cpu_set_t
) -> () {
3190 = 8 * ::mem
::size_of_val(&cpuset
.bits
[0]); // 32, 64 etc
3191 let (idx
, offset
) = (cpu
/ size_in_bits
, cpu
% size_in_bits
);
3192 cpuset
.bits
[idx
] |= 1 << offset
;
3196 pub fn CPU_CLR(cpu
: usize, cpuset
: &mut cpu_set_t
) -> () {
3198 = 8 * ::mem
::size_of_val(&cpuset
.bits
[0]); // 32, 64 etc
3199 let (idx
, offset
) = (cpu
/ size_in_bits
, cpu
% size_in_bits
);
3200 cpuset
.bits
[idx
] &= !(1 << offset
);
3204 pub fn CPU_ISSET(cpu
: usize, cpuset
: &cpu_set_t
) -> bool
{
3205 let size_in_bits
= 8 * ::mem
::size_of_val(&cpuset
.bits
[0]);
3206 let (idx
, offset
) = (cpu
/ size_in_bits
, cpu
% size_in_bits
);
3207 0 != (cpuset
.bits
[idx
] & (1 << offset
))
3210 pub fn CPU_EQUAL(set1
: &cpu_set_t
, set2
: &cpu_set_t
) -> bool
{
3211 set1
.bits
== set2
.bits
3214 pub fn major(dev
: ::dev_t
) -> ::c_uint
{
3216 major
|= (dev
& 0x00000000000fff00) >> 8;
3217 major
|= (dev
& 0xfffff00000000000) >> 32;
3221 pub fn minor(dev
: ::dev_t
) -> ::c_uint
{
3223 minor
|= (dev
& 0x00000000000000ff) >> 0;
3224 minor
|= (dev
& 0x00000ffffff00000) >> 12;
3228 pub fn makedev(major
: ::c_uint
, minor
: ::c_uint
) -> ::dev_t
{
3229 let major
= major
as ::dev_t
;
3230 let minor
= minor
as ::dev_t
;
3232 dev
|= (major
& 0x00000fff) << 8;
3233 dev
|= (major
& 0xfffff000) << 32;
3234 dev
|= (minor
& 0x000000ff) << 0;
3235 dev
|= (minor
& 0xffffff00) << 12;
3239 pub fn CMSG_DATA(cmsg
: *const cmsghdr
) -> *mut c_uchar
{
3240 cmsg
.offset(1) as *mut c_uchar
3243 pub fn CMSG_NXTHDR(mhdr
: *const msghdr
, cmsg
: *const cmsghdr
)
3246 if ((*cmsg
).cmsg_len
as ::size_t
) < ::mem
::size_of
::<cmsghdr
>() {
3248 } else if __CMSG_NEXT(cmsg
).add(::mem
::size_of
::<cmsghdr
>())
3249 >= __MHDR_END(mhdr
) {
3252 __CMSG_NEXT(cmsg
).cast()
3256 pub fn CMSG_FIRSTHDR(mhdr
: *const msghdr
) -> *mut cmsghdr
{
3257 if (*mhdr
).msg_controllen
as ::size_t
>= ::mem
::size_of
::<cmsghdr
>() {
3258 (*mhdr
).msg_control
.cast()
3264 pub {const}
fn CMSG_ALIGN(len
: ::size_t
) -> ::size_t
{
3265 (len
+ ::mem
::size_of
::<::size_t
>() - 1)
3266 & !(::mem
::size_of
::<::size_t
>() - 1)
3269 pub {const}
fn CMSG_SPACE(len
: ::c_uint
) -> ::c_uint
{
3270 (CMSG_ALIGN(len
as ::size_t
) + CMSG_ALIGN(::mem
::size_of
::<cmsghdr
>()))
3274 pub fn CMSG_LEN(len
: ::c_uint
) -> ::c_uint
{
3275 (CMSG_ALIGN(::mem
::size_of
::<cmsghdr
>()) + len
as ::size_t
) as ::c_uint
3280 pub {const}
fn WIFSTOPPED(status
: ::c_int
) -> bool
{
3281 (status
& 0xff) == 0x7f
3284 pub {const}
fn WSTOPSIG(status
: ::c_int
) -> ::c_int
{
3285 (status
>> 8) & 0xff
3288 pub {const}
fn WIFCONTINUED(status
: ::c_int
) -> bool
{
3292 pub {const}
fn WIFSIGNALED(status
: ::c_int
) -> bool
{
3293 ((status
& 0x7f) + 1) as i8 >= 2
3296 pub {const}
fn WTERMSIG(status
: ::c_int
) -> ::c_int
{
3300 pub {const}
fn WIFEXITED(status
: ::c_int
) -> bool
{
3301 (status
& 0x7f) == 0
3304 pub {const}
fn WEXITSTATUS(status
: ::c_int
) -> ::c_int
{
3305 (status
>> 8) & 0xff
3308 pub {const}
fn WCOREDUMP(status
: ::c_int
) -> bool
{
3309 (status
& 0x80) != 0
3312 pub {const}
fn QCMD(cmd
: ::c_int
, type_
: ::c_int
) -> ::c_int
{
3313 (cmd
<< 8) | (type_
& 0x00ff)
3317 fn __CMSG_LEN(cmsg
: *const cmsghdr
) -> ::ssize_t
{
3318 ((unsafe { (*cmsg).cmsg_len as ::size_t }
+ ::mem
::size_of
::<::c_long
>() - 1)
3319 & !(::mem
::size_of
::<::c_long
>() - 1)) as ::ssize_t
3322 fn __CMSG_NEXT(cmsg
: *const cmsghdr
) -> *mut c_uchar
{
3323 (unsafe { cmsg.offset(__CMSG_LEN(cmsg)) }
) as *mut c_uchar
3326 fn __MHDR_END(mhdr
: *const msghdr
) -> *mut c_uchar
{
3327 unsafe { (*mhdr).msg_control.offset((*mhdr).msg_controllen as isize) }
.cast()
3333 #[link(name = "fdio")]
3336 #[cfg_attr(feature = "extra_traits", derive(Debug))]
3338 impl ::Copy
for FILE {}
3339 impl ::Clone
for FILE
{
3340 fn clone(&self) -> FILE
{
3344 #[cfg_attr(feature = "extra_traits", derive(Debug))]
3345 pub enum fpos_t {}
// FIXME: fill this out with a struct
3346 impl ::Copy
for fpos_t {}
3347 impl ::Clone
for fpos_t
{
3348 fn clone(&self) -> fpos_t
{
3354 pub fn isalnum(c
: c_int
) -> c_int
;
3355 pub fn isalpha(c
: c_int
) -> c_int
;
3356 pub fn iscntrl(c
: c_int
) -> c_int
;
3357 pub fn isdigit(c
: c_int
) -> c_int
;
3358 pub fn isgraph(c
: c_int
) -> c_int
;
3359 pub fn islower(c
: c_int
) -> c_int
;
3360 pub fn isprint(c
: c_int
) -> c_int
;
3361 pub fn ispunct(c
: c_int
) -> c_int
;
3362 pub fn isspace(c
: c_int
) -> c_int
;
3363 pub fn isupper(c
: c_int
) -> c_int
;
3364 pub fn isxdigit(c
: c_int
) -> c_int
;
3365 pub fn isblank(c
: c_int
) -> c_int
;
3366 pub fn tolower(c
: c_int
) -> c_int
;
3367 pub fn toupper(c
: c_int
) -> c_int
;
3368 pub fn fopen(filename
: *const c_char
, mode
: *const c_char
) -> *mut FILE
;
3369 pub fn freopen(filename
: *const c_char
, mode
: *const c_char
, file
: *mut FILE
) -> *mut FILE
;
3370 pub fn fflush(file
: *mut FILE
) -> c_int
;
3371 pub fn fclose(file
: *mut FILE
) -> c_int
;
3372 pub fn remove(filename
: *const c_char
) -> c_int
;
3373 pub fn rename(oldname
: *const c_char
, newname
: *const c_char
) -> c_int
;
3374 pub fn tmpfile() -> *mut FILE
;
3375 pub fn setvbuf(stream
: *mut FILE
, buffer
: *mut c_char
, mode
: c_int
, size
: size_t
) -> c_int
;
3376 pub fn setbuf(stream
: *mut FILE
, buf
: *mut c_char
);
3377 pub fn getchar() -> c_int
;
3378 pub fn putchar(c
: c_int
) -> c_int
;
3379 pub fn fgetc(stream
: *mut FILE
) -> c_int
;
3380 pub fn fgets(buf
: *mut c_char
, n
: c_int
, stream
: *mut FILE
) -> *mut c_char
;
3381 pub fn fputc(c
: c_int
, stream
: *mut FILE
) -> c_int
;
3382 pub fn fputs(s
: *const c_char
, stream
: *mut FILE
) -> c_int
;
3383 pub fn puts(s
: *const c_char
) -> c_int
;
3384 pub fn ungetc(c
: c_int
, stream
: *mut FILE
) -> c_int
;
3385 pub fn fread(ptr
: *mut c_void
, size
: size_t
, nobj
: size_t
, stream
: *mut FILE
) -> size_t
;
3386 pub fn fwrite(ptr
: *const c_void
, size
: size_t
, nobj
: size_t
, stream
: *mut FILE
) -> size_t
;
3387 pub fn fseek(stream
: *mut FILE
, offset
: c_long
, whence
: c_int
) -> c_int
;
3388 pub fn ftell(stream
: *mut FILE
) -> c_long
;
3389 pub fn rewind(stream
: *mut FILE
);
3390 pub fn fgetpos(stream
: *mut FILE
, ptr
: *mut fpos_t
) -> c_int
;
3391 pub fn fsetpos(stream
: *mut FILE
, ptr
: *const fpos_t
) -> c_int
;
3392 pub fn feof(stream
: *mut FILE
) -> c_int
;
3393 pub fn ferror(stream
: *mut FILE
) -> c_int
;
3394 pub fn perror(s
: *const c_char
);
3395 pub fn atoi(s
: *const c_char
) -> c_int
;
3396 pub fn strtod(s
: *const c_char
, endp
: *mut *mut c_char
) -> c_double
;
3397 pub fn strtol(s
: *const c_char
, endp
: *mut *mut c_char
, base
: c_int
) -> c_long
;
3398 pub fn strtoul(s
: *const c_char
, endp
: *mut *mut c_char
, base
: c_int
) -> c_ulong
;
3399 pub fn calloc(nobj
: size_t
, size
: size_t
) -> *mut c_void
;
3400 pub fn malloc(size
: size_t
) -> *mut c_void
;
3401 pub fn realloc(p
: *mut c_void
, size
: size_t
) -> *mut c_void
;
3402 pub fn free(p
: *mut c_void
);
3403 pub fn abort() -> !;
3404 pub fn exit(status
: c_int
) -> !;
3405 pub fn _exit(status
: c_int
) -> !;
3406 pub fn atexit(cb
: extern "C" fn()) -> c_int
;
3407 pub fn system(s
: *const c_char
) -> c_int
;
3408 pub fn getenv(s
: *const c_char
) -> *mut c_char
;
3410 pub fn strcpy(dst
: *mut c_char
, src
: *const c_char
) -> *mut c_char
;
3411 pub fn strncpy(dst
: *mut c_char
, src
: *const c_char
, n
: size_t
) -> *mut c_char
;
3412 pub fn strcat(s
: *mut c_char
, ct
: *const c_char
) -> *mut c_char
;
3413 pub fn strncat(s
: *mut c_char
, ct
: *const c_char
, n
: size_t
) -> *mut c_char
;
3414 pub fn strcmp(cs
: *const c_char
, ct
: *const c_char
) -> c_int
;
3415 pub fn strncmp(cs
: *const c_char
, ct
: *const c_char
, n
: size_t
) -> c_int
;
3416 pub fn strcoll(cs
: *const c_char
, ct
: *const c_char
) -> c_int
;
3417 pub fn strchr(cs
: *const c_char
, c
: c_int
) -> *mut c_char
;
3418 pub fn strrchr(cs
: *const c_char
, c
: c_int
) -> *mut c_char
;
3419 pub fn strspn(cs
: *const c_char
, ct
: *const c_char
) -> size_t
;
3420 pub fn strcspn(cs
: *const c_char
, ct
: *const c_char
) -> size_t
;
3421 pub fn strdup(cs
: *const c_char
) -> *mut c_char
;
3422 pub fn strpbrk(cs
: *const c_char
, ct
: *const c_char
) -> *mut c_char
;
3423 pub fn strstr(cs
: *const c_char
, ct
: *const c_char
) -> *mut c_char
;
3424 pub fn strlen(cs
: *const c_char
) -> size_t
;
3425 pub fn strnlen(cs
: *const c_char
, maxlen
: size_t
) -> size_t
;
3426 pub fn strerror(n
: c_int
) -> *mut c_char
;
3427 pub fn strtok(s
: *mut c_char
, t
: *const c_char
) -> *mut c_char
;
3428 pub fn strxfrm(s
: *mut c_char
, ct
: *const c_char
, n
: size_t
) -> size_t
;
3429 pub fn wcslen(buf
: *const wchar_t
) -> size_t
;
3430 pub fn wcstombs(dest
: *mut c_char
, src
: *const wchar_t
, n
: size_t
) -> ::size_t
;
3432 pub fn memchr(cx
: *const c_void
, c
: c_int
, n
: size_t
) -> *mut c_void
;
3433 pub fn wmemchr(cx
: *const wchar_t
, c
: wchar_t
, n
: size_t
) -> *mut wchar_t
;
3434 pub fn memcmp(cx
: *const c_void
, ct
: *const c_void
, n
: size_t
) -> c_int
;
3435 pub fn memcpy(dest
: *mut c_void
, src
: *const c_void
, n
: size_t
) -> *mut c_void
;
3436 pub fn memmove(dest
: *mut c_void
, src
: *const c_void
, n
: size_t
) -> *mut c_void
;
3437 pub fn memset(dest
: *mut c_void
, c
: c_int
, n
: size_t
) -> *mut c_void
;
3439 pub fn abs(i
: c_int
) -> c_int
;
3440 pub fn atof(s
: *const c_char
) -> c_double
;
3441 pub fn labs(i
: c_long
) -> c_long
;
3442 pub fn rand() -> c_int
;
3443 pub fn srand(seed
: c_uint
);
3445 pub fn getpwnam(name
: *const ::c_char
) -> *mut passwd
;
3446 pub fn getpwuid(uid
: ::uid_t
) -> *mut passwd
;
3448 pub fn fprintf(stream
: *mut ::FILE
, format
: *const ::c_char
, ...) -> ::c_int
;
3449 pub fn printf(format
: *const ::c_char
, ...) -> ::c_int
;
3450 pub fn snprintf(s
: *mut ::c_char
, n
: ::size_t
, format
: *const ::c_char
, ...) -> ::c_int
;
3451 pub fn sprintf(s
: *mut ::c_char
, format
: *const ::c_char
, ...) -> ::c_int
;
3452 pub fn fscanf(stream
: *mut ::FILE
, format
: *const ::c_char
, ...) -> ::c_int
;
3453 pub fn scanf(format
: *const ::c_char
, ...) -> ::c_int
;
3454 pub fn sscanf(s
: *const ::c_char
, format
: *const ::c_char
, ...) -> ::c_int
;
3455 pub fn getchar_unlocked() -> ::c_int
;
3456 pub fn putchar_unlocked(c
: ::c_int
) -> ::c_int
;
3458 pub fn socket(domain
: ::c_int
, ty
: ::c_int
, protocol
: ::c_int
) -> ::c_int
;
3459 pub fn connect(socket
: ::c_int
, address
: *const sockaddr
, len
: socklen_t
) -> ::c_int
;
3460 pub fn listen(socket
: ::c_int
, backlog
: ::c_int
) -> ::c_int
;
3461 pub fn accept(socket
: ::c_int
, address
: *mut sockaddr
, address_len
: *mut socklen_t
) -> ::c_int
;
3464 address
: *mut sockaddr
,
3465 address_len
: *mut socklen_t
,
3469 address
: *mut sockaddr
,
3470 address_len
: *mut socklen_t
,
3476 value
: *const ::c_void
,
3477 option_len
: socklen_t
,
3483 socket_vector
: *mut ::c_int
,
3487 buf
: *const ::c_void
,
3490 addr
: *const sockaddr
,
3493 pub fn shutdown(socket
: ::c_int
, how
: ::c_int
) -> ::c_int
;
3495 pub fn chmod(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
3496 pub fn fchmod(fd
: ::c_int
, mode
: mode_t
) -> ::c_int
;
3498 pub fn fstat(fildes
: ::c_int
, buf
: *mut stat
) -> ::c_int
;
3500 pub fn mkdir(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
3502 pub fn stat(path
: *const c_char
, buf
: *mut stat
) -> ::c_int
;
3504 pub fn pclose(stream
: *mut ::FILE
) -> ::c_int
;
3505 pub fn fdopen(fd
: ::c_int
, mode
: *const c_char
) -> *mut ::FILE
;
3506 pub fn fileno(stream
: *mut ::FILE
) -> ::c_int
;
3508 pub fn open(path
: *const c_char
, oflag
: ::c_int
, ...) -> ::c_int
;
3509 pub fn creat(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
3510 pub fn fcntl(fd
: ::c_int
, cmd
: ::c_int
, ...) -> ::c_int
;
3512 pub fn opendir(dirname
: *const c_char
) -> *mut ::DIR
;
3513 pub fn readdir(dirp
: *mut ::DIR
) -> *mut ::dirent
;
3514 pub fn readdir_r(dirp
: *mut ::DIR
, entry
: *mut ::dirent
, result
: *mut *mut ::dirent
)
3516 pub fn closedir(dirp
: *mut ::DIR
) -> ::c_int
;
3517 pub fn rewinddir(dirp
: *mut ::DIR
);
3519 pub fn openat(dirfd
: ::c_int
, pathname
: *const ::c_char
, flags
: ::c_int
, ...) -> ::c_int
;
3522 pathname
: *const ::c_char
,
3526 pub fn fchown(fd
: ::c_int
, owner
: ::uid_t
, group
: ::gid_t
) -> ::c_int
;
3529 pathname
: *const ::c_char
,
3536 pathname
: *const ::c_char
,
3542 oldpath
: *const ::c_char
,
3544 newpath
: *const ::c_char
,
3547 pub fn mkdirat(dirfd
: ::c_int
, pathname
: *const ::c_char
, mode
: ::mode_t
) -> ::c_int
;
3550 pathname
: *const ::c_char
,
3556 oldpath
: *const ::c_char
,
3558 newpath
: *const ::c_char
,
3561 target
: *const ::c_char
,
3563 linkpath
: *const ::c_char
,
3565 pub fn unlinkat(dirfd
: ::c_int
, pathname
: *const ::c_char
, flags
: ::c_int
) -> ::c_int
;
3567 pub fn access(path
: *const c_char
, amode
: ::c_int
) -> ::c_int
;
3568 pub fn alarm(seconds
: ::c_uint
) -> ::c_uint
;
3569 pub fn chdir(dir
: *const c_char
) -> ::c_int
;
3570 pub fn chown(path
: *const c_char
, uid
: uid_t
, gid
: gid_t
) -> ::c_int
;
3571 pub fn lchown(path
: *const c_char
, uid
: uid_t
, gid
: gid_t
) -> ::c_int
;
3572 pub fn close(fd
: ::c_int
) -> ::c_int
;
3573 pub fn dup(fd
: ::c_int
) -> ::c_int
;
3574 pub fn dup2(src
: ::c_int
, dst
: ::c_int
) -> ::c_int
;
3575 pub fn execl(path
: *const c_char
, arg0
: *const c_char
, ...) -> ::c_int
;
3576 pub fn execle(path
: *const ::c_char
, arg0
: *const ::c_char
, ...) -> ::c_int
;
3577 pub fn execlp(file
: *const ::c_char
, arg0
: *const ::c_char
, ...) -> ::c_int
;
3578 pub fn execv(prog
: *const c_char
, argv
: *const *const c_char
) -> ::c_int
;
3580 prog
: *const c_char
,
3581 argv
: *const *const c_char
,
3582 envp
: *const *const c_char
,
3584 pub fn execvp(c
: *const c_char
, argv
: *const *const c_char
) -> ::c_int
;
3585 pub fn fork() -> pid_t
;
3586 pub fn fpathconf(filedes
: ::c_int
, name
: ::c_int
) -> c_long
;
3587 pub fn getcwd(buf
: *mut c_char
, size
: ::size_t
) -> *mut c_char
;
3588 pub fn getegid() -> gid_t
;
3589 pub fn geteuid() -> uid_t
;
3590 pub fn getgid() -> gid_t
;
3591 pub fn getgroups(ngroups_max
: ::c_int
, groups
: *mut gid_t
) -> ::c_int
;
3592 pub fn getlogin() -> *mut c_char
;
3593 pub fn getopt(argc
: ::c_int
, argv
: *const *mut c_char
, optstr
: *const c_char
) -> ::c_int
;
3594 pub fn getpgid(pid
: pid_t
) -> pid_t
;
3595 pub fn getpgrp() -> pid_t
;
3596 pub fn getpid() -> pid_t
;
3597 pub fn getppid() -> pid_t
;
3598 pub fn getuid() -> uid_t
;
3599 pub fn isatty(fd
: ::c_int
) -> ::c_int
;
3600 pub fn link(src
: *const c_char
, dst
: *const c_char
) -> ::c_int
;
3601 pub fn lseek(fd
: ::c_int
, offset
: off_t
, whence
: ::c_int
) -> off_t
;
3602 pub fn pathconf(path
: *const c_char
, name
: ::c_int
) -> c_long
;
3603 pub fn pause() -> ::c_int
;
3604 pub fn pipe(fds
: *mut ::c_int
) -> ::c_int
;
3605 pub fn posix_memalign(memptr
: *mut *mut ::c_void
, align
: ::size_t
, size
: ::size_t
) -> ::c_int
;
3606 pub fn read(fd
: ::c_int
, buf
: *mut ::c_void
, count
: ::size_t
) -> ::ssize_t
;
3607 pub fn rmdir(path
: *const c_char
) -> ::c_int
;
3608 pub fn seteuid(uid
: uid_t
) -> ::c_int
;
3609 pub fn setegid(gid
: gid_t
) -> ::c_int
;
3610 pub fn setgid(gid
: gid_t
) -> ::c_int
;
3611 pub fn setpgid(pid
: pid_t
, pgid
: pid_t
) -> ::c_int
;
3612 pub fn setsid() -> pid_t
;
3613 pub fn setuid(uid
: uid_t
) -> ::c_int
;
3614 pub fn sleep(secs
: ::c_uint
) -> ::c_uint
;
3615 pub fn nanosleep(rqtp
: *const timespec
, rmtp
: *mut timespec
) -> ::c_int
;
3616 pub fn tcgetpgrp(fd
: ::c_int
) -> pid_t
;
3617 pub fn tcsetpgrp(fd
: ::c_int
, pgrp
: ::pid_t
) -> ::c_int
;
3618 pub fn ttyname(fd
: ::c_int
) -> *mut c_char
;
3619 pub fn unlink(c
: *const c_char
) -> ::c_int
;
3620 pub fn wait(status
: *mut ::c_int
) -> pid_t
;
3621 pub fn waitpid(pid
: pid_t
, status
: *mut ::c_int
, options
: ::c_int
) -> pid_t
;
3622 pub fn write(fd
: ::c_int
, buf
: *const ::c_void
, count
: ::size_t
) -> ::ssize_t
;
3623 pub fn pread(fd
: ::c_int
, buf
: *mut ::c_void
, count
: ::size_t
, offset
: off_t
) -> ::ssize_t
;
3624 pub fn pwrite(fd
: ::c_int
, buf
: *const ::c_void
, count
: ::size_t
, offset
: off_t
) -> ::ssize_t
;
3625 pub fn umask(mask
: mode_t
) -> mode_t
;
3627 pub fn utime(file
: *const c_char
, buf
: *const utimbuf
) -> ::c_int
;
3629 pub fn kill(pid
: pid_t
, sig
: ::c_int
) -> ::c_int
;
3631 pub fn mlock(addr
: *const ::c_void
, len
: ::size_t
) -> ::c_int
;
3632 pub fn munlock(addr
: *const ::c_void
, len
: ::size_t
) -> ::c_int
;
3633 pub fn mlockall(flags
: ::c_int
) -> ::c_int
;
3634 pub fn munlockall() -> ::c_int
;
3637 addr
: *mut ::c_void
,
3644 pub fn munmap(addr
: *mut ::c_void
, len
: ::size_t
) -> ::c_int
;
3646 pub fn if_nametoindex(ifname
: *const c_char
) -> ::c_uint
;
3647 pub fn if_indextoname(ifindex
: ::c_uint
, ifname
: *mut ::c_char
) -> *mut ::c_char
;
3649 pub fn lstat(path
: *const c_char
, buf
: *mut stat
) -> ::c_int
;
3651 pub fn fsync(fd
: ::c_int
) -> ::c_int
;
3653 pub fn setenv(name
: *const c_char
, val
: *const c_char
, overwrite
: ::c_int
) -> ::c_int
;
3654 pub fn unsetenv(name
: *const c_char
) -> ::c_int
;
3656 pub fn symlink(path1
: *const c_char
, path2
: *const c_char
) -> ::c_int
;
3658 pub fn ftruncate(fd
: ::c_int
, length
: off_t
) -> ::c_int
;
3660 pub fn signal(signum
: ::c_int
, handler
: sighandler_t
) -> sighandler_t
;
3662 pub fn realpath(pathname
: *const ::c_char
, resolved
: *mut ::c_char
) -> *mut ::c_char
;
3664 pub fn flock(fd
: ::c_int
, operation
: ::c_int
) -> ::c_int
;
3666 pub fn gettimeofday(tp
: *mut ::timeval
, tz
: *mut ::c_void
) -> ::c_int
;
3667 pub fn times(buf
: *mut ::tms
) -> ::clock_t
;
3669 pub fn pthread_self() -> ::pthread_t
;
3670 pub fn pthread_join(native
: ::pthread_t
, value
: *mut *mut ::c_void
) -> ::c_int
;
3671 pub fn pthread_exit(value
: *mut ::c_void
) -> !;
3672 pub fn pthread_attr_init(attr
: *mut ::pthread_attr_t
) -> ::c_int
;
3673 pub fn pthread_attr_destroy(attr
: *mut ::pthread_attr_t
) -> ::c_int
;
3674 pub fn pthread_attr_setstacksize(attr
: *mut ::pthread_attr_t
, stack_size
: ::size_t
) -> ::c_int
;
3675 pub fn pthread_attr_setdetachstate(attr
: *mut ::pthread_attr_t
, state
: ::c_int
) -> ::c_int
;
3676 pub fn pthread_detach(thread
: ::pthread_t
) -> ::c_int
;
3677 pub fn sched_yield() -> ::c_int
;
3678 pub fn pthread_key_create(
3679 key
: *mut pthread_key_t
,
3680 dtor
: ::Option
<unsafe extern "C" fn(*mut ::c_void
)>,
3682 pub fn pthread_key_delete(key
: pthread_key_t
) -> ::c_int
;
3683 pub fn pthread_getspecific(key
: pthread_key_t
) -> *mut ::c_void
;
3684 pub fn pthread_setspecific(key
: pthread_key_t
, value
: *const ::c_void
) -> ::c_int
;
3685 pub fn pthread_mutex_init(
3686 lock
: *mut pthread_mutex_t
,
3687 attr
: *const pthread_mutexattr_t
,
3689 pub fn pthread_mutex_destroy(lock
: *mut pthread_mutex_t
) -> ::c_int
;
3690 pub fn pthread_mutex_lock(lock
: *mut pthread_mutex_t
) -> ::c_int
;
3691 pub fn pthread_mutex_trylock(lock
: *mut pthread_mutex_t
) -> ::c_int
;
3692 pub fn pthread_mutex_unlock(lock
: *mut pthread_mutex_t
) -> ::c_int
;
3694 pub fn pthread_mutexattr_init(attr
: *mut pthread_mutexattr_t
) -> ::c_int
;
3695 pub fn pthread_mutexattr_destroy(attr
: *mut pthread_mutexattr_t
) -> ::c_int
;
3696 pub fn pthread_mutexattr_settype(attr
: *mut pthread_mutexattr_t
, _type
: ::c_int
) -> ::c_int
;
3698 pub fn pthread_cond_init(cond
: *mut pthread_cond_t
, attr
: *const pthread_condattr_t
)
3700 pub fn pthread_cond_wait(cond
: *mut pthread_cond_t
, lock
: *mut pthread_mutex_t
) -> ::c_int
;
3701 pub fn pthread_cond_timedwait(
3702 cond
: *mut pthread_cond_t
,
3703 lock
: *mut pthread_mutex_t
,
3704 abstime
: *const ::timespec
,
3706 pub fn pthread_cond_signal(cond
: *mut pthread_cond_t
) -> ::c_int
;
3707 pub fn pthread_cond_broadcast(cond
: *mut pthread_cond_t
) -> ::c_int
;
3708 pub fn pthread_cond_destroy(cond
: *mut pthread_cond_t
) -> ::c_int
;
3709 pub fn pthread_condattr_init(attr
: *mut pthread_condattr_t
) -> ::c_int
;
3710 pub fn pthread_condattr_destroy(attr
: *mut pthread_condattr_t
) -> ::c_int
;
3711 pub fn pthread_rwlock_init(
3712 lock
: *mut pthread_rwlock_t
,
3713 attr
: *const pthread_rwlockattr_t
,
3715 pub fn pthread_rwlock_destroy(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3716 pub fn pthread_rwlock_rdlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3717 pub fn pthread_rwlock_tryrdlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3718 pub fn pthread_rwlock_wrlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3719 pub fn pthread_rwlock_trywrlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3720 pub fn pthread_rwlock_unlock(lock
: *mut pthread_rwlock_t
) -> ::c_int
;
3721 pub fn pthread_rwlockattr_init(attr
: *mut pthread_rwlockattr_t
) -> ::c_int
;
3722 pub fn pthread_rwlockattr_destroy(attr
: *mut pthread_rwlockattr_t
) -> ::c_int
;
3723 pub fn strerror_r(errnum
: ::c_int
, buf
: *mut c_char
, buflen
: ::size_t
) -> ::c_int
;
3729 optval
: *mut ::c_void
,
3730 optlen
: *mut ::socklen_t
,
3732 pub fn raise(signum
: ::c_int
) -> ::c_int
;
3733 pub fn sigaction(signum
: ::c_int
, act
: *const sigaction
, oldact
: *mut sigaction
) -> ::c_int
;
3735 pub fn utimes(filename
: *const ::c_char
, times
: *const ::timeval
) -> ::c_int
;
3736 pub fn dlopen(filename
: *const ::c_char
, flag
: ::c_int
) -> *mut ::c_void
;
3737 pub fn dlerror() -> *mut ::c_char
;
3738 pub fn dlsym(handle
: *mut ::c_void
, symbol
: *const ::c_char
) -> *mut ::c_void
;
3739 pub fn dlclose(handle
: *mut ::c_void
) -> ::c_int
;
3740 pub fn dladdr(addr
: *const ::c_void
, info
: *mut Dl_info
) -> ::c_int
;
3743 node
: *const c_char
,
3744 service
: *const c_char
,
3745 hints
: *const addrinfo
,
3746 res
: *mut *mut addrinfo
,
3748 pub fn freeaddrinfo(res
: *mut addrinfo
);
3749 pub fn gai_strerror(errcode
: ::c_int
) -> *const ::c_char
;
3750 pub fn res_init() -> ::c_int
;
3752 pub fn gmtime_r(time_p
: *const time_t
, result
: *mut tm
) -> *mut tm
;
3753 pub fn localtime_r(time_p
: *const time_t
, result
: *mut tm
) -> *mut tm
;
3754 pub fn mktime(tm
: *mut tm
) -> time_t
;
3755 pub fn time(time
: *mut time_t
) -> time_t
;
3756 pub fn gmtime(time_p
: *const time_t
) -> *mut tm
;
3757 pub fn localtime(time_p
: *const time_t
) -> *mut tm
;
3759 pub fn mknod(pathname
: *const ::c_char
, mode
: ::mode_t
, dev
: ::dev_t
) -> ::c_int
;
3760 pub fn uname(buf
: *mut ::utsname
) -> ::c_int
;
3761 pub fn gethostname(name
: *mut ::c_char
, len
: ::size_t
) -> ::c_int
;
3762 pub fn getservbyname(name
: *const ::c_char
, proto
: *const ::c_char
) -> *mut servent
;
3763 pub fn getprotobyname(name
: *const ::c_char
) -> *mut protoent
;
3764 pub fn getprotobynumber(proto
: ::c_int
) -> *mut protoent
;
3765 pub fn usleep(secs
: ::c_uint
) -> ::c_int
;
3766 pub fn send(socket
: ::c_int
, buf
: *const ::c_void
, len
: ::size_t
, flags
: ::c_int
) -> ::ssize_t
;
3767 pub fn recv(socket
: ::c_int
, buf
: *mut ::c_void
, len
: ::size_t
, flags
: ::c_int
) -> ::ssize_t
;
3768 pub fn putenv(string
: *mut c_char
) -> ::c_int
;
3769 pub fn poll(fds
: *mut pollfd
, nfds
: nfds_t
, timeout
: ::c_int
) -> ::c_int
;
3772 readfs
: *mut fd_set
,
3773 writefds
: *mut fd_set
,
3774 errorfds
: *mut fd_set
,
3775 timeout
: *mut timeval
,
3777 pub fn setlocale(category
: ::c_int
, locale
: *const ::c_char
) -> *mut ::c_char
;
3778 pub fn localeconv() -> *mut lconv
;
3780 pub fn sem_destroy(sem
: *mut sem_t
) -> ::c_int
;
3781 pub fn sem_wait(sem
: *mut sem_t
) -> ::c_int
;
3782 pub fn sem_trywait(sem
: *mut sem_t
) -> ::c_int
;
3783 pub fn sem_post(sem
: *mut sem_t
) -> ::c_int
;
3784 pub fn sem_init(sem
: *mut sem_t
, pshared
: ::c_int
, value
: ::c_uint
) -> ::c_int
;
3785 pub fn statvfs(path
: *const c_char
, buf
: *mut statvfs
) -> ::c_int
;
3786 pub fn fstatvfs(fd
: ::c_int
, buf
: *mut statvfs
) -> ::c_int
;
3788 pub fn readlink(path
: *const c_char
, buf
: *mut c_char
, bufsz
: ::size_t
) -> ::ssize_t
;
3790 pub fn sigemptyset(set
: *mut sigset_t
) -> ::c_int
;
3791 pub fn sigaddset(set
: *mut sigset_t
, signum
: ::c_int
) -> ::c_int
;
3792 pub fn sigfillset(set
: *mut sigset_t
) -> ::c_int
;
3793 pub fn sigdelset(set
: *mut sigset_t
, signum
: ::c_int
) -> ::c_int
;
3794 pub fn sigismember(set
: *const sigset_t
, signum
: ::c_int
) -> ::c_int
;
3796 pub fn sigprocmask(how
: ::c_int
, set
: *const sigset_t
, oldset
: *mut sigset_t
) -> ::c_int
;
3797 pub fn sigpending(set
: *mut sigset_t
) -> ::c_int
;
3799 pub fn timegm(tm
: *mut ::tm
) -> time_t
;
3801 pub fn getsid(pid
: pid_t
) -> pid_t
;
3803 pub fn sysconf(name
: ::c_int
) -> ::c_long
;
3805 pub fn mkfifo(path
: *const c_char
, mode
: mode_t
) -> ::c_int
;
3809 readfs
: *mut fd_set
,
3810 writefds
: *mut fd_set
,
3811 errorfds
: *mut fd_set
,
3812 timeout
: *const timespec
,
3813 sigmask
: *const sigset_t
,
3815 pub fn fseeko(stream
: *mut ::FILE
, offset
: ::off_t
, whence
: ::c_int
) -> ::c_int
;
3816 pub fn ftello(stream
: *mut ::FILE
) -> ::off_t
;
3817 pub fn tcdrain(fd
: ::c_int
) -> ::c_int
;
3818 pub fn cfgetispeed(termios
: *const ::termios
) -> ::speed_t
;
3819 pub fn cfgetospeed(termios
: *const ::termios
) -> ::speed_t
;
3820 pub fn cfmakeraw(termios
: *mut ::termios
);
3821 pub fn cfsetispeed(termios
: *mut ::termios
, speed
: ::speed_t
) -> ::c_int
;
3822 pub fn cfsetospeed(termios
: *mut ::termios
, speed
: ::speed_t
) -> ::c_int
;
3823 pub fn cfsetspeed(termios
: *mut ::termios
, speed
: ::speed_t
) -> ::c_int
;
3824 pub fn tcgetattr(fd
: ::c_int
, termios
: *mut ::termios
) -> ::c_int
;
3825 pub fn tcsetattr(fd
: ::c_int
, optional_actions
: ::c_int
, termios
: *const ::termios
) -> ::c_int
;
3826 pub fn tcflow(fd
: ::c_int
, action
: ::c_int
) -> ::c_int
;
3827 pub fn tcflush(fd
: ::c_int
, action
: ::c_int
) -> ::c_int
;
3828 pub fn tcgetsid(fd
: ::c_int
) -> ::pid_t
;
3829 pub fn tcsendbreak(fd
: ::c_int
, duration
: ::c_int
) -> ::c_int
;
3830 pub fn mkstemp(template
: *mut ::c_char
) -> ::c_int
;
3831 pub fn mkdtemp(template
: *mut ::c_char
) -> *mut ::c_char
;
3833 pub fn tmpnam(ptr
: *mut ::c_char
) -> *mut ::c_char
;
3835 pub fn openlog(ident
: *const ::c_char
, logopt
: ::c_int
, facility
: ::c_int
);
3837 pub fn setlogmask(maskpri
: ::c_int
) -> ::c_int
;
3838 pub fn syslog(priority
: ::c_int
, message
: *const ::c_char
, ...);
3840 pub fn grantpt(fd
: ::c_int
) -> ::c_int
;
3841 pub fn posix_openpt(flags
: ::c_int
) -> ::c_int
;
3842 pub fn ptsname(fd
: ::c_int
) -> *mut ::c_char
;
3843 pub fn unlockpt(fd
: ::c_int
) -> ::c_int
;
3845 pub fn fdatasync(fd
: ::c_int
) -> ::c_int
;
3846 pub fn clock_getres(clk_id
: ::clockid_t
, tp
: *mut ::timespec
) -> ::c_int
;
3847 pub fn clock_gettime(clk_id
: ::clockid_t
, tp
: *mut ::timespec
) -> ::c_int
;
3848 pub fn clock_settime(clk_id
: ::clockid_t
, tp
: *const ::timespec
) -> ::c_int
;
3849 pub fn dirfd(dirp
: *mut ::DIR
) -> ::c_int
;
3851 pub fn pthread_getattr_np(native
: ::pthread_t
, attr
: *mut ::pthread_attr_t
) -> ::c_int
;
3852 pub fn pthread_attr_getstack(
3853 attr
: *const ::pthread_attr_t
,
3854 stackaddr
: *mut *mut ::c_void
,
3855 stacksize
: *mut ::size_t
,
3857 pub fn memalign(align
: ::size_t
, size
: ::size_t
) -> *mut ::c_void
;
3858 pub fn setgroups(ngroups
: ::size_t
, ptr
: *const ::gid_t
) -> ::c_int
;
3859 pub fn pipe2(fds
: *mut ::c_int
, flags
: ::c_int
) -> ::c_int
;
3860 pub fn statfs(path
: *const ::c_char
, buf
: *mut statfs
) -> ::c_int
;
3861 pub fn fstatfs(fd
: ::c_int
, buf
: *mut statfs
) -> ::c_int
;
3862 pub fn memrchr(cx
: *const ::c_void
, c
: ::c_int
, n
: ::size_t
) -> *mut ::c_void
;
3864 pub fn posix_fadvise(fd
: ::c_int
, offset
: ::off_t
, len
: ::off_t
, advise
: ::c_int
) -> ::c_int
;
3865 pub fn futimens(fd
: ::c_int
, times
: *const ::timespec
) -> ::c_int
;
3868 path
: *const ::c_char
,
3869 times
: *const ::timespec
,
3872 pub fn duplocale(base
: ::locale_t
) -> ::locale_t
;
3873 pub fn freelocale(loc
: ::locale_t
);
3874 pub fn newlocale(mask
: ::c_int
, locale
: *const ::c_char
, base
: ::locale_t
) -> ::locale_t
;
3875 pub fn uselocale(loc
: ::locale_t
) -> ::locale_t
;
3877 pub fn fdopendir(fd
: ::c_int
) -> *mut ::DIR
;
3881 pathname
: *const ::c_char
,
3885 pub fn pthread_condattr_getclock(
3886 attr
: *const pthread_condattr_t
,
3887 clock_id
: *mut clockid_t
,
3889 pub fn pthread_condattr_setclock(
3890 attr
: *mut pthread_condattr_t
,
3891 clock_id
: ::clockid_t
,
3895 addr
: *mut ::sockaddr
,
3896 len
: *mut ::socklen_t
,
3899 pub fn ptsname_r(fd
: ::c_int
, buf
: *mut ::c_char
, buflen
: ::size_t
) -> ::c_int
;
3900 pub fn clearenv() -> ::c_int
;
3901 pub fn waitid(idtype
: idtype_t
, id
: id_t
, infop
: *mut ::siginfo_t
, options
: ::c_int
)
3903 pub fn setreuid(ruid
: ::uid_t
, euid
: ::uid_t
) -> ::c_int
;
3904 pub fn setregid(rgid
: ::gid_t
, egid
: ::gid_t
) -> ::c_int
;
3905 pub fn getresuid(ruid
: *mut ::uid_t
, euid
: *mut ::uid_t
, suid
: *mut ::uid_t
) -> ::c_int
;
3906 pub fn getresgid(rgid
: *mut ::gid_t
, egid
: *mut ::gid_t
, sgid
: *mut ::gid_t
) -> ::c_int
;
3907 pub fn acct(filename
: *const ::c_char
) -> ::c_int
;
3908 pub fn brk(addr
: *mut ::c_void
) -> ::c_int
;
3909 pub fn setresgid(rgid
: ::gid_t
, egid
: ::gid_t
, sgid
: ::gid_t
) -> ::c_int
;
3910 pub fn setresuid(ruid
: ::uid_t
, euid
: ::uid_t
, suid
: ::uid_t
) -> ::c_int
;
3912 amaster
: *mut ::c_int
,
3913 aslave
: *mut ::c_int
,
3914 name
: *mut ::c_char
,
3915 termp
: *const termios
,
3916 winp
: *const ::winsize
,
3919 file
: *const ::c_char
,
3920 argv
: *const *const ::c_char
,
3921 envp
: *const *const ::c_char
,
3925 argv
: *const *const ::c_char
,
3926 envp
: *const *const ::c_char
,
3929 pub fn ioctl(fd
: ::c_int
, request
: ::c_int
, ...) -> ::c_int
;
3931 pub fn lutimes(file
: *const ::c_char
, times
: *const ::timeval
) -> ::c_int
;
3935 pub fn getpwent() -> *mut passwd
;
3937 pub fn shm_open(name
: *const c_char
, oflag
: ::c_int
, mode
: mode_t
) -> ::c_int
;
3940 pub fn shmget(key
: ::key_t
, size
: ::size_t
, shmflg
: ::c_int
) -> ::c_int
;
3941 pub fn shmat(shmid
: ::c_int
, shmaddr
: *const ::c_void
, shmflg
: ::c_int
) -> *mut ::c_void
;
3942 pub fn shmdt(shmaddr
: *const ::c_void
) -> ::c_int
;
3943 pub fn shmctl(shmid
: ::c_int
, cmd
: ::c_int
, buf
: *mut ::shmid_ds
) -> ::c_int
;
3944 pub fn ftok(pathname
: *const ::c_char
, proj_id
: ::c_int
) -> ::key_t
;
3945 pub fn semget(key
: ::key_t
, nsems
: ::c_int
, semflag
: ::c_int
) -> ::c_int
;
3946 pub fn semop(semid
: ::c_int
, sops
: *mut ::sembuf
, nsops
: ::size_t
) -> ::c_int
;
3947 pub fn semctl(semid
: ::c_int
, semnum
: ::c_int
, cmd
: ::c_int
, ...) -> ::c_int
;
3948 pub fn msgctl(msqid
: ::c_int
, cmd
: ::c_int
, buf
: *mut msqid_ds
) -> ::c_int
;
3949 pub fn msgget(key
: ::key_t
, msgflg
: ::c_int
) -> ::c_int
;
3952 msgp
: *mut ::c_void
,
3959 msgp
: *const ::c_void
,
3964 pub fn mprotect(addr
: *mut ::c_void
, len
: ::size_t
, prot
: ::c_int
) -> ::c_int
;
3965 pub fn __errno_location() -> *mut ::c_int
;
3967 pub fn fallocate(fd
: ::c_int
, mode
: ::c_int
, offset
: ::off_t
, len
: ::off_t
) -> ::c_int
;
3968 pub fn posix_fallocate(fd
: ::c_int
, offset
: ::off_t
, len
: ::off_t
) -> ::c_int
;
3969 pub fn readahead(fd
: ::c_int
, offset
: ::off64_t
, count
: ::size_t
) -> ::ssize_t
;
3970 pub fn signalfd(fd
: ::c_int
, mask
: *const ::sigset_t
, flags
: ::c_int
) -> ::c_int
;
3971 pub fn timerfd_create(clockid
: ::c_int
, flags
: ::c_int
) -> ::c_int
;
3972 pub fn timerfd_gettime(fd
: ::c_int
, curr_value
: *mut itimerspec
) -> ::c_int
;
3973 pub fn timerfd_settime(
3976 new_value
: *const itimerspec
,
3977 old_value
: *mut itimerspec
,
3979 pub fn pwritev(fd
: ::c_int
, iov
: *const ::iovec
, iovcnt
: ::c_int
, offset
: ::off_t
)
3981 pub fn preadv(fd
: ::c_int
, iov
: *const ::iovec
, iovcnt
: ::c_int
, offset
: ::off_t
) -> ::ssize_t
;
3984 special
: *const ::c_char
,
3986 data
: *mut ::c_char
,
3988 pub fn dup3(oldfd
: ::c_int
, newfd
: ::c_int
, flags
: ::c_int
) -> ::c_int
;
3989 pub fn mkostemp(template
: *mut ::c_char
, flags
: ::c_int
) -> ::c_int
;
3990 pub fn mkostemps(template
: *mut ::c_char
, suffixlen
: ::c_int
, flags
: ::c_int
) -> ::c_int
;
3991 pub fn sigtimedwait(
3992 set
: *const sigset_t
,
3993 info
: *mut siginfo_t
,
3994 timeout
: *const ::timespec
,
3996 pub fn sigwaitinfo(set
: *const sigset_t
, info
: *mut siginfo_t
) -> ::c_int
;
3997 pub fn nl_langinfo_l(item
: ::nl_item
, locale
: ::locale_t
) -> *mut ::c_char
;
3999 sa
: *const ::sockaddr
,
4001 host
: *mut ::c_char
,
4002 hostlen
: ::socklen_t
,
4003 serv
: *mut ::c_char
,
4004 sevlen
: ::socklen_t
,
4007 pub fn reboot(how_to
: ::c_int
) -> ::c_int
;
4008 pub fn setfsgid(gid
: ::gid_t
) -> ::c_int
;
4009 pub fn setfsuid(uid
: ::uid_t
) -> ::c_int
;
4011 // Not available now on Android
4012 pub fn mkfifoat(dirfd
: ::c_int
, pathname
: *const ::c_char
, mode
: ::mode_t
) -> ::c_int
;
4013 pub fn if_nameindex() -> *mut if_nameindex
;
4014 pub fn if_freenameindex(ptr
: *mut if_nameindex
);
4015 pub fn sync_file_range(
4021 pub fn getifaddrs(ifap
: *mut *mut ::ifaddrs
) -> ::c_int
;
4022 pub fn freeifaddrs(ifa
: *mut ::ifaddrs
);
4025 pattern
: *const c_char
,
4027 errfunc
: ::Option
<extern "C" fn(epath
: *const c_char
, errno
: ::c_int
) -> ::c_int
>,
4028 pglob
: *mut ::glob_t
,
4030 pub fn globfree(pglob
: *mut ::glob_t
);
4032 pub fn posix_madvise(addr
: *mut ::c_void
, len
: ::size_t
, advice
: ::c_int
) -> ::c_int
;
4034 pub fn shm_unlink(name
: *const ::c_char
) -> ::c_int
;
4036 pub fn seekdir(dirp
: *mut ::DIR
, loc
: ::c_long
);
4038 pub fn telldir(dirp
: *mut ::DIR
) -> ::c_long
;
4039 pub fn madvise(addr
: *mut ::c_void
, len
: ::size_t
, advice
: ::c_int
) -> ::c_int
;
4041 pub fn msync(addr
: *mut ::c_void
, len
: ::size_t
, flags
: ::c_int
) -> ::c_int
;
4048 addr
: *mut ::sockaddr
,
4049 addrlen
: *mut ::socklen_t
,
4051 pub fn mkstemps(template
: *mut ::c_char
, suffixlen
: ::c_int
) -> ::c_int
;
4052 pub fn futimes(fd
: ::c_int
, times
: *const ::timeval
) -> ::c_int
;
4053 pub fn nl_langinfo(item
: ::nl_item
) -> *mut ::c_char
;
4055 pub fn bind(socket
: ::c_int
, address
: *const ::sockaddr
, address_len
: ::socklen_t
) -> ::c_int
;
4057 pub fn writev(fd
: ::c_int
, iov
: *const ::iovec
, iovcnt
: ::c_int
) -> ::ssize_t
;
4058 pub fn readv(fd
: ::c_int
, iov
: *const ::iovec
, iovcnt
: ::c_int
) -> ::ssize_t
;
4060 pub fn sendmsg(fd
: ::c_int
, msg
: *const ::msghdr
, flags
: ::c_int
) -> ::ssize_t
;
4061 pub fn recvmsg(fd
: ::c_int
, msg
: *mut ::msghdr
, flags
: ::c_int
) -> ::ssize_t
;
4062 pub fn getdomainname(name
: *mut ::c_char
, len
: ::size_t
) -> ::c_int
;
4063 pub fn setdomainname(name
: *const ::c_char
, len
: ::size_t
) -> ::c_int
;
4064 pub fn vhangup() -> ::c_int
;
4067 msgvec
: *mut mmsghdr
,
4073 msgvec
: *mut mmsghdr
,
4076 timeout
: *mut ::timespec
,
4079 pub fn syscall(num
: ::c_long
, ...) -> ::c_long
;
4080 pub fn sched_getaffinity(pid
: ::pid_t
, cpusetsize
: ::size_t
, cpuset
: *mut cpu_set_t
)
4082 pub fn sched_setaffinity(
4084 cpusetsize
: ::size_t
,
4085 cpuset
: *const cpu_set_t
,
4087 pub fn umount(target
: *const ::c_char
) -> ::c_int
;
4088 pub fn sched_get_priority_max(policy
: ::c_int
) -> ::c_int
;
4089 pub fn tee(fd_in
: ::c_int
, fd_out
: ::c_int
, len
: ::size_t
, flags
: ::c_uint
) -> ::ssize_t
;
4090 pub fn settimeofday(tv
: *const ::timeval
, tz
: *const ::timezone
) -> ::c_int
;
4093 off_in
: *mut ::loff_t
,
4095 off_out
: *mut ::loff_t
,
4099 pub fn eventfd(init
: ::c_uint
, flags
: ::c_int
) -> ::c_int
;
4100 pub fn sched_rr_get_interval(pid
: ::pid_t
, tp
: *mut ::timespec
) -> ::c_int
;
4101 pub fn sem_timedwait(sem
: *mut sem_t
, abstime
: *const ::timespec
) -> ::c_int
;
4102 pub fn sem_getvalue(sem
: *mut sem_t
, sval
: *mut ::c_int
) -> ::c_int
;
4103 pub fn sched_setparam(pid
: ::pid_t
, param
: *const ::sched_param
) -> ::c_int
;
4104 pub fn swapoff(puath
: *const ::c_char
) -> ::c_int
;
4107 iov
: *const ::iovec
,
4112 src
: *const ::c_char
,
4113 target
: *const ::c_char
,
4114 fstype
: *const ::c_char
,
4116 data
: *const ::c_void
,
4118 pub fn personality(persona
: ::c_ulong
) -> ::c_int
;
4119 pub fn sched_getparam(pid
: ::pid_t
, param
: *mut ::sched_param
) -> ::c_int
;
4123 timeout
: *const ::timespec
,
4124 sigmask
: *const sigset_t
,
4126 pub fn pthread_mutex_timedlock(
4127 lock
: *mut pthread_mutex_t
,
4128 abstime
: *const ::timespec
,
4131 cb
: extern "C" fn(*mut ::c_void
) -> ::c_int
,
4132 child_stack
: *mut ::c_void
,
4137 pub fn sched_getscheduler(pid
: ::pid_t
) -> ::c_int
;
4138 pub fn clock_nanosleep(
4139 clk_id
: ::clockid_t
,
4141 rqtp
: *const ::timespec
,
4142 rmtp
: *mut ::timespec
,
4144 pub fn pthread_attr_getguardsize(
4145 attr
: *const ::pthread_attr_t
,
4146 guardsize
: *mut ::size_t
,
4148 pub fn sethostname(name
: *const ::c_char
, len
: ::size_t
) -> ::c_int
;
4149 pub fn sched_get_priority_min(policy
: ::c_int
) -> ::c_int
;
4150 pub fn umount2(target
: *const ::c_char
, flags
: ::c_int
) -> ::c_int
;
4151 pub fn swapon(path
: *const ::c_char
, swapflags
: ::c_int
) -> ::c_int
;
4152 pub fn sched_setscheduler(
4155 param
: *const ::sched_param
,
4157 pub fn sigsuspend(mask
: *const ::sigset_t
) -> ::c_int
;
4163 result
: *mut *mut ::group
,
4165 pub fn sigaltstack(ss
: *const stack_t
, oss
: *mut stack_t
) -> ::c_int
;
4166 pub fn sem_close(sem
: *mut sem_t
) -> ::c_int
;
4167 pub fn getdtablesize() -> ::c_int
;
4169 name
: *const ::c_char
,
4173 result
: *mut *mut ::group
,
4175 pub fn initgroups(user
: *const ::c_char
, group
: ::gid_t
) -> ::c_int
;
4176 pub fn pthread_sigmask(how
: ::c_int
, set
: *const sigset_t
, oldset
: *mut sigset_t
) -> ::c_int
;
4177 pub fn sem_open(name
: *const ::c_char
, oflag
: ::c_int
, ...) -> *mut sem_t
;
4178 pub fn getgrnam(name
: *const ::c_char
) -> *mut ::group
;
4179 pub fn pthread_cancel(thread
: ::pthread_t
) -> ::c_int
;
4180 pub fn pthread_kill(thread
: ::pthread_t
, sig
: ::c_int
) -> ::c_int
;
4181 pub fn sem_unlink(name
: *const ::c_char
) -> ::c_int
;
4182 pub fn daemon(nochdir
: ::c_int
, noclose
: ::c_int
) -> ::c_int
;
4184 name
: *const ::c_char
,
4188 result
: *mut *mut passwd
,
4195 result
: *mut *mut passwd
,
4197 pub fn sigwait(set
: *const sigset_t
, sig
: *mut ::c_int
) -> ::c_int
;
4198 pub fn pthread_atfork(
4199 prepare
: ::Option
<unsafe extern "C" fn()>,
4200 parent
: ::Option
<unsafe extern "C" fn()>,
4201 child
: ::Option
<unsafe extern "C" fn()>,
4203 pub fn getgrgid(gid
: ::gid_t
) -> *mut ::group
;
4204 pub fn getgrouplist(
4205 user
: *const ::c_char
,
4207 groups
: *mut ::gid_t
,
4208 ngroups
: *mut ::c_int
,
4210 pub fn popen(command
: *const c_char
, mode
: *const c_char
) -> *mut ::FILE
;
4213 pathname
: *const ::c_char
,
4217 pub fn pthread_create(
4218 native
: *mut ::pthread_t
,
4219 attr
: *const ::pthread_attr_t
,
4220 f
: extern "C" fn(*mut ::c_void
) -> *mut ::c_void
,
4221 value
: *mut ::c_void
,
4223 pub fn dl_iterate_phdr(
4225 unsafe extern "C" fn(
4226 info
: *mut ::dl_phdr_info
,
4228 data
: *mut ::c_void
,
4231 data
: *mut ::c_void
,
4234 pub fn zx_cprng_draw(buffer
: *mut ::c_void
, buffer_size
: ::size_t
);
4235 pub fn zx_cprng_add_entropy(buffer
: *const ::c_void
, buffer_size
: ::size_t
) -> ::zx_status_t
;
4239 if #[cfg(target_arch = "aarch64")] {
4241 pub use self::aarch64
::*;
4242 } else if #[cfg(any(target_arch = "x86_64"))] {
4244 pub use self::x86_64
::*;
4246 // Unknown target_arch
4251 if #[cfg(libc_align)] {
4262 if #[cfg(libc_core_cvoid)] {
4263 pub use ::ffi
::c_void
;
4265 // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help
4266 // enable more optimization opportunities around it recognizing things
4267 // like malloc/free.
4269 #[allow(missing_copy_implementations)]
4270 #[allow(missing_debug_implementations)]
4272 // Two dummy variants so the #[repr] attribute can be used.