1 | //! Linux-specific raw type definitions. |
2 | |
3 | #![stable (feature = "raw_ext" , since = "1.1.0" )] |
4 | #![deprecated ( |
5 | since = "1.8.0" , |
6 | note = "these type aliases are no longer supported by \ |
7 | the standard library, the `libc` crate on \ |
8 | crates.io should be used instead for the correct \ |
9 | definitions" |
10 | )] |
11 | #![allow (deprecated)] |
12 | |
13 | use crate::os::raw::c_ulong; |
14 | |
15 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
16 | pub type dev_t = u64; |
17 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
18 | pub type mode_t = u32; |
19 | |
20 | #[stable (feature = "pthread_t" , since = "1.8.0" )] |
21 | pub type pthread_t = c_ulong; |
22 | |
23 | #[doc (inline)] |
24 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
25 | pub use self::arch::{blkcnt_t, blksize_t, ino_t, nlink_t, off_t, stat, time_t}; |
26 | |
27 | #[cfg (any( |
28 | target_arch = "x86" , |
29 | target_arch = "m68k" , |
30 | target_arch = "csky" , |
31 | target_arch = "powerpc" , |
32 | target_arch = "sparc" , |
33 | target_arch = "arm" , |
34 | target_arch = "wasm32" |
35 | ))] |
36 | mod arch { |
37 | use crate::os::raw::{c_long, c_short, c_uint}; |
38 | |
39 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
40 | pub type blkcnt_t = u64; |
41 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
42 | pub type blksize_t = u64; |
43 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
44 | pub type ino_t = u64; |
45 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
46 | pub type nlink_t = u64; |
47 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
48 | pub type off_t = u64; |
49 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
50 | pub type time_t = i64; |
51 | |
52 | #[repr (C)] |
53 | #[derive (Clone)] |
54 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
55 | pub struct stat { |
56 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
57 | pub st_dev: u64, |
58 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
59 | pub __pad1: c_short, |
60 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
61 | pub __st_ino: u32, |
62 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
63 | pub st_mode: u32, |
64 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
65 | pub st_nlink: u32, |
66 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
67 | pub st_uid: u32, |
68 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
69 | pub st_gid: u32, |
70 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
71 | pub st_rdev: u64, |
72 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
73 | pub __pad2: c_uint, |
74 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
75 | pub st_size: i64, |
76 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
77 | pub st_blksize: i32, |
78 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
79 | pub st_blocks: i64, |
80 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
81 | pub st_atime: i32, |
82 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
83 | pub st_atime_nsec: c_long, |
84 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
85 | pub st_mtime: i32, |
86 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
87 | pub st_mtime_nsec: c_long, |
88 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
89 | pub st_ctime: i32, |
90 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
91 | pub st_ctime_nsec: c_long, |
92 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
93 | pub st_ino: u64, |
94 | } |
95 | } |
96 | |
97 | #[cfg (any(target_arch = "mips" , target_arch = "mips32r6" ))] |
98 | mod arch { |
99 | use crate::os::raw::{c_long, c_ulong}; |
100 | |
101 | #[cfg (target_env = "musl" )] |
102 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
103 | pub type blkcnt_t = i64; |
104 | #[cfg (not(target_env = "musl" ))] |
105 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
106 | pub type blkcnt_t = u64; |
107 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
108 | pub type blksize_t = u64; |
109 | #[cfg (target_env = "musl" )] |
110 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
111 | pub type ino_t = u64; |
112 | #[cfg (not(target_env = "musl" ))] |
113 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
114 | pub type ino_t = u64; |
115 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
116 | pub type nlink_t = u64; |
117 | #[cfg (target_env = "musl" )] |
118 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
119 | pub type off_t = u64; |
120 | #[cfg (not(target_env = "musl" ))] |
121 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
122 | pub type off_t = u64; |
123 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
124 | pub type time_t = i64; |
125 | |
126 | #[repr (C)] |
127 | #[derive (Clone)] |
128 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
129 | pub struct stat { |
130 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
131 | pub st_dev: c_ulong, |
132 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
133 | pub st_pad1: [c_long; 3], |
134 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
135 | pub st_ino: u64, |
136 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
137 | pub st_mode: u32, |
138 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
139 | pub st_nlink: u32, |
140 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
141 | pub st_uid: u32, |
142 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
143 | pub st_gid: u32, |
144 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
145 | pub st_rdev: c_ulong, |
146 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
147 | pub st_pad2: [c_long; 2], |
148 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
149 | pub st_size: i64, |
150 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
151 | pub st_atime: i32, |
152 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
153 | pub st_atime_nsec: c_long, |
154 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
155 | pub st_mtime: i32, |
156 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
157 | pub st_mtime_nsec: c_long, |
158 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
159 | pub st_ctime: i32, |
160 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
161 | pub st_ctime_nsec: c_long, |
162 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
163 | pub st_blksize: i32, |
164 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
165 | pub st_blocks: i64, |
166 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
167 | pub st_pad5: [c_long; 14], |
168 | } |
169 | } |
170 | |
171 | #[cfg (target_arch = "hexagon" )] |
172 | mod arch { |
173 | use crate::os::raw::{c_int, c_long, c_uint}; |
174 | |
175 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
176 | pub type blkcnt_t = i64; |
177 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
178 | pub type blksize_t = c_long; |
179 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
180 | pub type ino_t = u64; |
181 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
182 | pub type nlink_t = c_uint; |
183 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
184 | pub type off_t = i64; |
185 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
186 | pub type time_t = i64; |
187 | |
188 | #[repr (C)] |
189 | #[derive (Clone)] |
190 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
191 | pub struct stat { |
192 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
193 | pub st_dev: u64, |
194 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
195 | pub st_ino: u64, |
196 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
197 | pub st_mode: u32, |
198 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
199 | pub st_nlink: u32, |
200 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
201 | pub st_uid: u32, |
202 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
203 | pub st_gid: u32, |
204 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
205 | pub st_rdev: u64, |
206 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
207 | pub __pad1: u32, |
208 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
209 | pub st_size: i64, |
210 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
211 | pub st_blksize: i32, |
212 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
213 | pub __pad2: i32, |
214 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
215 | pub st_blocks: i64, |
216 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
217 | pub st_atime: i64, |
218 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
219 | pub st_atime_nsec: c_long, |
220 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
221 | pub st_mtime: i64, |
222 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
223 | pub st_mtime_nsec: c_long, |
224 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
225 | pub st_ctime: i64, |
226 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
227 | pub st_ctime_nsec: c_long, |
228 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
229 | pub __pad3: [c_int; 2], |
230 | } |
231 | } |
232 | |
233 | #[cfg (any( |
234 | target_arch = "loongarch64" , |
235 | target_arch = "mips64" , |
236 | target_arch = "mips64r6" , |
237 | target_arch = "s390x" , |
238 | target_arch = "sparc64" , |
239 | target_arch = "riscv64" , |
240 | target_arch = "riscv32" |
241 | ))] |
242 | mod arch { |
243 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
244 | pub use libc::{blkcnt_t, blksize_t, ino_t, nlink_t, off_t, stat, time_t}; |
245 | } |
246 | |
247 | #[cfg (target_arch = "aarch64" )] |
248 | mod arch { |
249 | use crate::os::raw::{c_int, c_long}; |
250 | |
251 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
252 | pub type blkcnt_t = i64; |
253 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
254 | pub type blksize_t = i32; |
255 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
256 | pub type ino_t = u64; |
257 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
258 | pub type nlink_t = u32; |
259 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
260 | pub type off_t = i64; |
261 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
262 | pub type time_t = c_long; |
263 | |
264 | #[repr (C)] |
265 | #[derive (Clone)] |
266 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
267 | pub struct stat { |
268 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
269 | pub st_dev: u64, |
270 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
271 | pub st_ino: u64, |
272 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
273 | pub st_mode: u32, |
274 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
275 | pub st_nlink: u32, |
276 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
277 | pub st_uid: u32, |
278 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
279 | pub st_gid: u32, |
280 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
281 | pub st_rdev: u64, |
282 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
283 | pub __pad1: u64, |
284 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
285 | pub st_size: i64, |
286 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
287 | pub st_blksize: i32, |
288 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
289 | pub __pad2: c_int, |
290 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
291 | pub st_blocks: i64, |
292 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
293 | pub st_atime: time_t, |
294 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
295 | pub st_atime_nsec: c_long, |
296 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
297 | pub st_mtime: time_t, |
298 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
299 | pub st_mtime_nsec: c_long, |
300 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
301 | pub st_ctime: time_t, |
302 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
303 | pub st_ctime_nsec: c_long, |
304 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
305 | pub __unused: [c_int; 2], |
306 | } |
307 | } |
308 | |
309 | #[cfg (any(target_arch = "x86_64" , target_arch = "powerpc64" ))] |
310 | mod arch { |
311 | use crate::os::raw::{c_int, c_long}; |
312 | |
313 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
314 | pub type blkcnt_t = u64; |
315 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
316 | pub type blksize_t = u64; |
317 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
318 | pub type ino_t = u64; |
319 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
320 | pub type nlink_t = u64; |
321 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
322 | pub type off_t = u64; |
323 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
324 | pub type time_t = i64; |
325 | |
326 | #[repr (C)] |
327 | #[derive (Clone)] |
328 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
329 | pub struct stat { |
330 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
331 | pub st_dev: u64, |
332 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
333 | pub st_ino: u64, |
334 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
335 | pub st_nlink: u64, |
336 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
337 | pub st_mode: u32, |
338 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
339 | pub st_uid: u32, |
340 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
341 | pub st_gid: u32, |
342 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
343 | pub __pad0: c_int, |
344 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
345 | pub st_rdev: u64, |
346 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
347 | pub st_size: i64, |
348 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
349 | pub st_blksize: i64, |
350 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
351 | pub st_blocks: i64, |
352 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
353 | pub st_atime: i64, |
354 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
355 | pub st_atime_nsec: c_long, |
356 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
357 | pub st_mtime: i64, |
358 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
359 | pub st_mtime_nsec: c_long, |
360 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
361 | pub st_ctime: i64, |
362 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
363 | pub st_ctime_nsec: c_long, |
364 | #[stable (feature = "raw_ext" , since = "1.1.0" )] |
365 | pub __unused: [c_long; 3], |
366 | } |
367 | } |
368 | |