|
1 | 1 | use crate::prelude::*;
|
2 |
| -use crate::Ioctl; |
| 2 | +use crate::{Ioctl, _IOR, _IOW}; |
3 | 3 |
|
4 | 4 | s! {
|
5 | 5 | pub struct termios2 {
|
@@ -158,21 +158,8 @@ pub const SO_DEVMEM_LINEAR: c_int = 78;
|
158 | 158 | pub const SO_DEVMEM_DMABUF: c_int = 79;
|
159 | 159 | pub const SO_DEVMEM_DONTNEED: c_int = 80;
|
160 | 160 |
|
161 |
| -cfg_if! { |
162 |
| - if #[cfg(any( |
163 |
| - target_arch = "x86", |
164 |
| - target_arch = "x86_64", |
165 |
| - target_arch = "arm", |
166 |
| - target_arch = "aarch64", |
167 |
| - target_arch = "riscv64", |
168 |
| - target_arch = "s390x", |
169 |
| - target_arch = "csky", |
170 |
| - target_arch = "loongarch64" |
171 |
| - ))] { |
172 |
| - pub const FICLONE: c_ulong = 0x40049409; |
173 |
| - pub const FICLONERANGE: c_ulong = 0x4020940D; |
174 |
| - } |
175 |
| -} |
| 161 | +pub const FICLONE: Ioctl = _IOW::<c_int>(0x94, 9) as Ioctl; |
| 162 | +pub const FICLONERANGE: Ioctl = _IOW::<crate::file_clone_range>(0x94, 13) as Ioctl; |
176 | 163 |
|
177 | 164 | // Defined in unix/linux_like/mod.rs
|
178 | 165 | // pub const SCM_TIMESTAMP: c_int = SO_TIMESTAMP;
|
@@ -293,50 +280,18 @@ pub const TUNGETVNETBE: Ioctl = 0x800454df;
|
293 | 280 | pub const TUNSETSTEERINGEBPF: Ioctl = 0x800454e0;
|
294 | 281 | pub const TUNSETFILTEREBPF: Ioctl = 0x800454e1;
|
295 | 282 |
|
296 |
| -cfg_if! { |
297 |
| - // Those type are constructed using the _IOC macro |
298 |
| - // DD-SS_SSSS_SSSS_SSSS-TTTT_TTTT-NNNN_NNNN |
299 |
| - // where D stands for direction (either None (00), Read (01) or Write (11)) |
300 |
| - // where S stands for size (int, long, struct...) |
301 |
| - // where T stands for type ('f','v','X'...) |
302 |
| - // where N stands for NR (NumbeR) |
303 |
| - if #[cfg(any( |
304 |
| - target_arch = "x86", |
305 |
| - target_arch = "arm", |
306 |
| - target_arch = "csky" |
307 |
| - ))] { |
308 |
| - pub const FS_IOC_GETFLAGS: Ioctl = 0x80046601; |
309 |
| - pub const FS_IOC_SETFLAGS: Ioctl = 0x40046602; |
310 |
| - pub const FS_IOC_GETVERSION: Ioctl = 0x80047601; |
311 |
| - pub const FS_IOC_SETVERSION: Ioctl = 0x40047602; |
312 |
| - pub const FS_IOC32_GETFLAGS: Ioctl = 0x80046601; |
313 |
| - pub const FS_IOC32_SETFLAGS: Ioctl = 0x40046602; |
314 |
| - pub const FS_IOC32_GETVERSION: Ioctl = 0x80047601; |
315 |
| - pub const FS_IOC32_SETVERSION: Ioctl = 0x40047602; |
316 |
| - pub const TUNATTACHFILTER: Ioctl = 0x400854d5; |
317 |
| - pub const TUNDETACHFILTER: Ioctl = 0x400854d6; |
318 |
| - pub const TUNGETFILTER: Ioctl = 0x800854db; |
319 |
| - } else if #[cfg(any( |
320 |
| - target_arch = "x86_64", |
321 |
| - target_arch = "riscv64", |
322 |
| - target_arch = "aarch64", |
323 |
| - target_arch = "s390x", |
324 |
| - target_arch = "loongarch64", |
325 |
| - target_arch = "wasm32" |
326 |
| - ))] { |
327 |
| - pub const FS_IOC_GETFLAGS: Ioctl = 0x80086601; |
328 |
| - pub const FS_IOC_SETFLAGS: Ioctl = 0x40086602; |
329 |
| - pub const FS_IOC_GETVERSION: Ioctl = 0x80087601; |
330 |
| - pub const FS_IOC_SETVERSION: Ioctl = 0x40087602; |
331 |
| - pub const FS_IOC32_GETFLAGS: Ioctl = 0x80046601; |
332 |
| - pub const FS_IOC32_SETFLAGS: Ioctl = 0x40046602; |
333 |
| - pub const FS_IOC32_GETVERSION: Ioctl = 0x80047601; |
334 |
| - pub const FS_IOC32_SETVERSION: Ioctl = 0x40047602; |
335 |
| - pub const TUNATTACHFILTER: Ioctl = 0x401054d5; |
336 |
| - pub const TUNDETACHFILTER: Ioctl = 0x401054d6; |
337 |
| - pub const TUNGETFILTER: Ioctl = 0x801054db; |
338 |
| - } |
339 |
| -} |
| 283 | +pub const FS_IOC_GETFLAGS: Ioctl = _IOR::<c_long>('f' as u32, 1) as Ioctl; |
| 284 | +pub const FS_IOC_SETFLAGS: Ioctl = _IOW::<c_long>('f' as u32, 2) as Ioctl; |
| 285 | +pub const FS_IOC_GETVERSION: Ioctl = _IOR::<c_long>('v' as u32, 1) as Ioctl; |
| 286 | +pub const FS_IOC_SETVERSION: Ioctl = _IOW::<c_long>('v' as u32, 2) as Ioctl; |
| 287 | +pub const FS_IOC32_GETFLAGS: Ioctl = _IOR::<c_int>('f' as u32, 1) as Ioctl; |
| 288 | +pub const FS_IOC32_SETFLAGS: Ioctl = _IOW::<c_int>('f' as u32, 2) as Ioctl; |
| 289 | +pub const FS_IOC32_GETVERSION: Ioctl = _IOR::<c_int>('v' as u32, 1) as Ioctl; |
| 290 | +pub const FS_IOC32_SETVERSION: Ioctl = _IOW::<c_int>('v' as u32, 2) as Ioctl; |
| 291 | + |
| 292 | +pub const TUNATTACHFILTER: Ioctl = _IOW::<crate::sock_fprog>('T' as u32, 213) as Ioctl; |
| 293 | +pub const TUNDETACHFILTER: Ioctl = _IOW::<crate::sock_fprog>('T' as u32, 214) as Ioctl; |
| 294 | +pub const TUNGETFILTER: Ioctl = _IOR::<crate::sock_fprog>('T' as u32, 219) as Ioctl; |
340 | 295 |
|
341 | 296 | cfg_if! {
|
342 | 297 | if #[cfg(any(target_arch = "arm", target_arch = "s390x"))] {
|
|
0 commit comments