nix/sys/
mod.rs

1//! Mostly platform-specific functionality
2#[cfg(any(
3    freebsdlike,
4    all(
5        target_os = "linux",
6        not(any(target_env = "uclibc", target_env = "ohos"))
7    ),
8    apple_targets,
9    target_os = "netbsd"
10))]
11feature! {
12    #![feature = "aio"]
13    pub mod aio;
14}
15
16feature! {
17    #![feature = "event"]
18
19    #[cfg(linux_android)]
20    #[allow(missing_docs)]
21    pub mod epoll;
22
23    #[cfg(bsd)]
24    pub mod event;
25
26    /// Event file descriptor.
27    #[cfg(any(linux_android, target_os = "freebsd"))]
28    pub mod eventfd;
29}
30
31#[cfg(target_os = "linux")]
32feature! {
33    #![feature = "fanotify"]
34    pub mod fanotify;
35}
36
37#[cfg(any(
38    bsd,
39    linux_android,
40    solarish,
41    target_os = "fuchsia",
42    target_os = "redox",
43))]
44#[cfg(feature = "ioctl")]
45#[cfg_attr(docsrs, doc(cfg(feature = "ioctl")))]
46#[macro_use]
47pub mod ioctl;
48
49#[cfg(any(linux_android, target_os = "freebsd"))]
50feature! {
51    #![feature = "fs"]
52    pub mod memfd;
53}
54
55#[cfg(not(target_os = "redox"))]
56feature! {
57    #![feature = "mman"]
58    pub mod mman;
59}
60
61#[cfg(target_os = "linux")]
62feature! {
63    #![feature = "personality"]
64    pub mod personality;
65}
66
67#[cfg(target_os = "linux")]
68feature! {
69    #![feature = "process"]
70    pub mod prctl;
71}
72
73feature! {
74    #![feature = "pthread"]
75    pub mod pthread;
76}
77
78#[cfg(any(linux_android, bsd))]
79feature! {
80    #![feature = "ptrace"]
81    #[allow(missing_docs)]
82    pub mod ptrace;
83}
84
85#[cfg(target_os = "linux")]
86feature! {
87    #![feature = "quota"]
88    pub mod quota;
89}
90
91#[cfg(any(target_os = "linux", netbsdlike))]
92feature! {
93    #![feature = "reboot"]
94    pub mod reboot;
95}
96
97#[cfg(not(any(
98    target_os = "redox",
99    target_os = "fuchsia",
100    solarish,
101    target_os = "haiku"
102)))]
103feature! {
104    #![feature = "resource"]
105    pub mod resource;
106}
107
108feature! {
109    #![feature = "poll"]
110    pub mod select;
111}
112
113#[cfg(any(linux_android, freebsdlike, apple_targets, solarish))]
114feature! {
115    #![feature = "zerocopy"]
116    pub mod sendfile;
117}
118
119pub mod signal;
120
121#[cfg(linux_android)]
122feature! {
123    #![feature = "signal"]
124    #[allow(missing_docs)]
125    pub mod signalfd;
126}
127
128feature! {
129    #![feature = "socket"]
130    #[allow(missing_docs)]
131    pub mod socket;
132}
133
134feature! {
135    #![feature = "fs"]
136    #[allow(missing_docs)]
137    pub mod stat;
138}
139
140#[cfg(any(
141    linux_android,
142    freebsdlike,
143    apple_targets,
144    target_os = "openbsd",
145    target_os = "cygwin"
146))]
147feature! {
148    #![feature = "fs"]
149    pub mod statfs;
150}
151
152feature! {
153    #![feature = "fs"]
154    pub mod statvfs;
155}
156
157#[cfg(linux_android)]
158#[allow(missing_docs)]
159pub mod sysinfo;
160
161feature! {
162    #![feature = "term"]
163    #[allow(missing_docs)]
164    pub mod termios;
165}
166
167#[allow(missing_docs)]
168pub mod time;
169
170feature! {
171    #![feature = "uio"]
172    pub mod uio;
173}
174
175feature! {
176    #![feature = "feature"]
177    pub mod utsname;
178}
179
180feature! {
181    #![feature = "process"]
182    pub mod wait;
183}
184
185#[cfg(linux_android)]
186feature! {
187    #![feature = "inotify"]
188    pub mod inotify;
189}
190
191#[cfg(linux_android)]
192feature! {
193    #![feature = "time"]
194    pub mod timerfd;
195}
196
197#[cfg(all(
198    any(
199        target_os = "freebsd",
200        solarish,
201        target_os = "linux",
202        target_os = "netbsd"
203    ),
204    feature = "time",
205    feature = "signal"
206))]
207feature! {
208    #![feature = "time"]
209    pub mod timer;
210}