]> git.proxmox.com Git - rustc.git/blob - src/liblibc/src/unix/bsd/freebsdlike/freebsd/mod.rs
Imported Upstream version 1.9.0+dfsg1
[rustc.git] / src / liblibc / src / unix / bsd / freebsdlike / freebsd / mod.rs
1 pub type fflags_t = u32;
2 pub type clock_t = i32;
3 pub type ino_t = u32;
4 pub type nlink_t = u16;
5 pub type blksize_t = u32;
6 pub type clockid_t = ::c_int;
7
8 pub type fsblkcnt_t = ::uint64_t;
9 pub type fsfilcnt_t = ::uint64_t;
10
11 s! {
12 pub struct dirent {
13 pub d_fileno: u32,
14 pub d_reclen: u16,
15 pub d_type: u8,
16 pub d_namlen: u8,
17 pub d_name: [::c_char; 256],
18 }
19
20 pub struct statvfs {
21 pub f_bavail: ::fsblkcnt_t,
22 pub f_bfree: ::fsblkcnt_t,
23 pub f_blocks: ::fsblkcnt_t,
24 pub f_favail: ::fsfilcnt_t,
25 pub f_ffree: ::fsfilcnt_t,
26 pub f_files: ::fsfilcnt_t,
27 pub f_bsize: ::c_ulong,
28 pub f_flag: ::c_ulong,
29 pub f_frsize: ::c_ulong,
30 pub f_fsid: ::c_ulong,
31 pub f_namemax: ::c_ulong,
32 }
33 }
34
35 pub const RAND_MAX: ::c_int = 0x7fff_fffd;
36 pub const PTHREAD_STACK_MIN: ::size_t = 2048;
37 pub const KERN_PROC_PATHNAME: ::c_int = 12;
38 pub const SIGSTKSZ: ::size_t = 34816;
39 pub const SF_NODISKIO: ::c_int = 0x00000001;
40 pub const SF_MNOWAIT: ::c_int = 0x00000002;
41 pub const SF_SYNC: ::c_int = 0x00000004;
42 pub const O_CLOEXEC: ::c_int = 0x00100000;
43 pub const F_GETLK: ::c_int = 11;
44 pub const F_SETLK: ::c_int = 12;
45 pub const F_SETLKW: ::c_int = 13;
46 pub const ELAST: ::c_int = 96;
47 pub const RLIMIT_NPTS: ::c_int = 11;
48 pub const RLIMIT_SWAP: ::c_int = 12;
49 pub const RLIM_NLIMITS: ::rlim_t = 13;
50
51 pub const Q_GETQUOTA: ::c_int = 0x700;
52 pub const Q_SETQUOTA: ::c_int = 0x800;
53
54 pub const POSIX_FADV_NORMAL: ::c_int = 0;
55 pub const POSIX_FADV_RANDOM: ::c_int = 1;
56 pub const POSIX_FADV_SEQUENTIAL: ::c_int = 2;
57 pub const POSIX_FADV_WILLNEED: ::c_int = 3;
58 pub const POSIX_FADV_DONTNEED: ::c_int = 4;
59 pub const POSIX_FADV_NOREUSE: ::c_int = 5;
60
61 pub const MADV_PROTECT: ::c_int = 10;
62 pub const RUSAGE_THREAD: ::c_int = 1;
63
64 pub const CLOCK_REALTIME: clockid_t = 0;
65 pub const CLOCK_VIRTUAL: clockid_t = 1;
66 pub const CLOCK_PROF: clockid_t = 2;
67 pub const CLOCK_MONOTONIC: clockid_t = 4;
68 pub const CLOCK_UPTIME: clockid_t = 5;
69 pub const CLOCK_UPTIME_PRECISE: clockid_t = 7;
70 pub const CLOCK_UPTIME_FAST: clockid_t = 8;
71 pub const CLOCK_REALTIME_PRECISE: clockid_t = 9;
72 pub const CLOCK_REALTIME_FAST: clockid_t = 10;
73 pub const CLOCK_MONOTONIC_PRECISE: clockid_t = 11;
74 pub const CLOCK_MONOTONIC_FAST: clockid_t = 12;
75 pub const CLOCK_SECOND: clockid_t = 13;
76 pub const CLOCK_THREAD_CPUTIME_ID: clockid_t = 14;
77 pub const CLOCK_PROCESS_CPUTIME_ID: clockid_t = 15;
78
79 extern {
80 pub fn __error() -> *mut ::c_int;
81
82 pub fn mprotect(addr: *const ::c_void, len: ::size_t, prot: ::c_int)
83 -> ::c_int;
84
85 pub fn clock_getres(clk_id: clockid_t, tp: *mut ::timespec) -> ::c_int;
86 pub fn clock_gettime(clk_id: clockid_t, tp: *mut ::timespec) -> ::c_int;
87
88 pub fn posix_fallocate(fd: ::c_int, offset: ::off_t,
89 len: ::off_t) -> ::c_int;
90 pub fn posix_fadvise(fd: ::c_int, offset: ::off_t, len: ::off_t,
91 advise: ::c_int) -> ::c_int;
92 pub fn mkostemp(template: *mut ::c_char, flags: ::c_int) -> ::c_int;
93 pub fn mkostemps(template: *mut ::c_char,
94 suffixlen: ::c_int,
95 flags: ::c_int) -> ::c_int;
96 }
97
98 cfg_if! {
99 if #[cfg(target_arch = "x86")] {
100 mod x86;
101 pub use self::x86::*;
102 } else if #[cfg(target_arch = "x86_64")] {
103 mod x86_64;
104 pub use self::x86_64::*;
105 } else {
106 // Unknown target_arch
107 }
108 }