Skip to content

Commit e4742b8

Browse files
committed
fix style issue
1 parent c34fb06 commit e4742b8

File tree

2 files changed

+83
-84
lines changed

2 files changed

+83
-84
lines changed

src/unix/linux_like/linux/ioctl.rs

+82
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
const _IOC_NRBITS: u32 = 8;
2+
const _IOC_TYPEBITS: u32 = 8;
3+
4+
// https://github.com/search?q=repo%3Atorvalds%2Flinux+%22%23define+_IOC_NONE%22&type=code
5+
cfg_if! {
6+
if #[cfg(any(
7+
any(target_arch = "powerpc", target_arch = "powerpc64"),
8+
any(target_arch = "sparc", target_arch = "sparc64"),
9+
any(target_arch = "mips", target_arch = "mips64"),
10+
))]
11+
{
12+
// https://github.com/torvalds/linux/blob/b311c1b497e51a628aa89e7cb954481e5f9dced2/arch/powerpc/include/uapi/asm/ioctl.h
13+
// https://github.com/torvalds/linux/blob/b311c1b497e51a628aa89e7cb954481e5f9dced2/arch/sparc/include/uapi/asm/ioctl.h
14+
// https://github.com/torvalds/linux/blob/b311c1b497e51a628aa89e7cb954481e5f9dced2/arch/mips/include/uapi/asm/ioctl.h
15+
16+
const _IOC_SIZEBITS: u32 = 13;
17+
const _IOC_DIRBITS: u32 = 3;
18+
19+
const _IOC_NONE: u32 = 1;
20+
const _IOC_READ: u32 = 2;
21+
const _IOC_WRITE: u32 = 4;
22+
} else {
23+
// https://github.com/torvalds/linux/blob/b311c1b497e51a628aa89e7cb954481e5f9dced2/include/uapi/asm-generic/ioctl.h
24+
25+
const _IOC_SIZEBITS: u32 = 14;
26+
const _IOC_DIRBITS: u32 = 2;
27+
28+
const _IOC_NONE: u32 = 0;
29+
const _IOC_WRITE: u32 = 1;
30+
const _IOC_READ: u32 = 2;
31+
}
32+
}
33+
34+
const _IOC_NRMASK: u32 = (1 << _IOC_NRBITS) - 1;
35+
const _IOC_TYPEMASK: u32 = (1 << _IOC_TYPEBITS) - 1;
36+
const _IOC_SIZEMASK: u32 = (1 << _IOC_SIZEBITS) - 1;
37+
const _IOC_DIRMASK: u32 = (1 << _IOC_DIRBITS) - 1;
38+
39+
const _IOC_NRSHIFT: u32 = 0;
40+
const _IOC_TYPESHIFT: u32 = _IOC_NRSHIFT + _IOC_NRBITS;
41+
const _IOC_SIZESHIFT: u32 = _IOC_TYPESHIFT + _IOC_TYPEBITS;
42+
const _IOC_DIRSHIFT: u32 = _IOC_SIZESHIFT + _IOC_SIZEBITS;
43+
44+
// adopted from https://github.com/torvalds/linux/blob/8a696a29c6905594e4abf78eaafcb62165ac61f1/rust/kernel/ioctl.rs
45+
46+
/// Build an ioctl number, analogous to the C macro of the same name.
47+
#[inline(always)]
48+
const fn _IOC(dir: u32, ty: u32, nr: u32, size: usize) -> u32 {
49+
debug_assert!(dir <= _IOC_DIRMASK);
50+
debug_assert!(ty <= _IOC_TYPEMASK);
51+
debug_assert!(nr <= _IOC_NRMASK);
52+
debug_assert!(size <= (_IOC_SIZEMASK as usize));
53+
54+
(dir << _IOC_DIRSHIFT)
55+
| (ty << _IOC_TYPESHIFT)
56+
| (nr << _IOC_NRSHIFT)
57+
| ((size as u32) << _IOC_SIZESHIFT)
58+
}
59+
60+
/// Build an ioctl number for an argumentless ioctl.
61+
#[inline(always)]
62+
pub const fn _IO(ty: u32, nr: u32) -> u32 {
63+
_IOC(_IOC_NONE, ty, nr, 0)
64+
}
65+
66+
/// Build an ioctl number for an read-only ioctl.
67+
#[inline(always)]
68+
pub const fn _IOR<T>(ty: u32, nr: u32) -> u32 {
69+
_IOC(_IOC_READ, ty, nr, core::mem::size_of::<T>())
70+
}
71+
72+
/// Build an ioctl number for an write-only ioctl.
73+
#[inline(always)]
74+
pub const fn _IOW<T>(ty: u32, nr: u32) -> u32 {
75+
_IOC(_IOC_WRITE, ty, nr, core::mem::size_of::<T>())
76+
}
77+
78+
/// Build an ioctl number for a read-write ioctl.
79+
#[inline(always)]
80+
pub const fn _IOWR<T>(ty: u32, nr: u32) -> u32 {
81+
_IOC(_IOC_READ | _IOC_WRITE, ty, nr, core::mem::size_of::<T>())
82+
}

src/unix/linux_like/linux/mod.rs

+1-84
Original file line numberDiff line numberDiff line change
@@ -6291,87 +6291,4 @@ expand_align!();
62916291
mod non_exhaustive;
62926292
pub use self::non_exhaustive::*;
62936293

6294-
mod ioctl {
6295-
const _IOC_NRBITS: u32 = 8;
6296-
const _IOC_TYPEBITS: u32 = 8;
6297-
6298-
// https://github.com/search?q=repo%3Atorvalds%2Flinux+%22%23define+_IOC_NONE%22&type=code
6299-
cfg_if! {
6300-
if #[cfg(any(
6301-
any(target_arch = "powerpc", target_arch = "powerpc64"),
6302-
any(target_arch = "sparc", target_arch = "sparc64"),
6303-
any(target_arch = "mips", target_arch = "mips64"),
6304-
))]
6305-
{
6306-
// https://github.com/torvalds/linux/blob/b311c1b497e51a628aa89e7cb954481e5f9dced2/arch/powerpc/include/uapi/asm/ioctl.h
6307-
// https://github.com/torvalds/linux/blob/b311c1b497e51a628aa89e7cb954481e5f9dced2/arch/sparc/include/uapi/asm/ioctl.h
6308-
// https://github.com/torvalds/linux/blob/b311c1b497e51a628aa89e7cb954481e5f9dced2/arch/mips/include/uapi/asm/ioctl.h
6309-
6310-
const _IOC_SIZEBITS: u32 = 13;
6311-
const _IOC_DIRBITS: u32 = 3;
6312-
6313-
const _IOC_NONE: u32 = 1;
6314-
const _IOC_READ: u32 = 2;
6315-
const _IOC_WRITE: u32 = 4;
6316-
} else {
6317-
// https://github.com/torvalds/linux/blob/b311c1b497e51a628aa89e7cb954481e5f9dced2/include/uapi/asm-generic/ioctl.h
6318-
6319-
const _IOC_SIZEBITS: u32 = 14;
6320-
const _IOC_DIRBITS: u32 = 2;
6321-
6322-
const _IOC_NONE: u32 = 0;
6323-
const _IOC_WRITE: u32 = 1;
6324-
const _IOC_READ: u32 = 2;
6325-
}
6326-
}
6327-
6328-
const _IOC_NRMASK: u32 = (1 << _IOC_NRBITS) - 1;
6329-
const _IOC_TYPEMASK: u32 = (1 << _IOC_TYPEBITS) - 1;
6330-
const _IOC_SIZEMASK: u32 = (1 << _IOC_SIZEBITS) - 1;
6331-
const _IOC_DIRMASK: u32 = (1 << _IOC_DIRBITS) - 1;
6332-
6333-
const _IOC_NRSHIFT: u32 = 0;
6334-
const _IOC_TYPESHIFT: u32 = _IOC_NRSHIFT + _IOC_NRBITS;
6335-
const _IOC_SIZESHIFT: u32 = _IOC_TYPESHIFT + _IOC_TYPEBITS;
6336-
const _IOC_DIRSHIFT: u32 = _IOC_SIZESHIFT + _IOC_SIZEBITS;
6337-
6338-
// adopted from https://github.com/torvalds/linux/blob/8a696a29c6905594e4abf78eaafcb62165ac61f1/rust/kernel/ioctl.rs
6339-
6340-
/// Build an ioctl number, analogous to the C macro of the same name.
6341-
#[inline(always)]
6342-
const fn _IOC(dir: u32, ty: u32, nr: u32, size: usize) -> u32 {
6343-
debug_assert!(dir <= _IOC_DIRMASK);
6344-
debug_assert!(ty <= _IOC_TYPEMASK);
6345-
debug_assert!(nr <= _IOC_NRMASK);
6346-
debug_assert!(size <= (_IOC_SIZEMASK as usize));
6347-
6348-
(dir << _IOC_DIRSHIFT)
6349-
| (ty << _IOC_TYPESHIFT)
6350-
| (nr << _IOC_NRSHIFT)
6351-
| ((size as u32) << _IOC_SIZESHIFT)
6352-
}
6353-
6354-
/// Build an ioctl number for an argumentless ioctl.
6355-
#[inline(always)]
6356-
pub const fn _IO(ty: u32, nr: u32) -> u32 {
6357-
_IOC(_IOC_NONE, ty, nr, 0)
6358-
}
6359-
6360-
/// Build an ioctl number for an read-only ioctl.
6361-
#[inline(always)]
6362-
pub const fn _IOR<T>(ty: u32, nr: u32) -> u32 {
6363-
_IOC(_IOC_READ, ty, nr, core::mem::size_of::<T>())
6364-
}
6365-
6366-
/// Build an ioctl number for an write-only ioctl.
6367-
#[inline(always)]
6368-
pub const fn _IOW<T>(ty: u32, nr: u32) -> u32 {
6369-
_IOC(_IOC_WRITE, ty, nr, core::mem::size_of::<T>())
6370-
}
6371-
6372-
/// Build an ioctl number for a read-write ioctl.
6373-
#[inline(always)]
6374-
pub const fn _IOWR<T>(ty: u32, nr: u32) -> u32 {
6375-
_IOC(_IOC_READ | _IOC_WRITE, ty, nr, core::mem::size_of::<T>())
6376-
}
6377-
}
6294+
mod ioctl;

0 commit comments

Comments
 (0)