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