From c32789cd27d397a2423483d65c618f5ef4ff6731 Mon Sep 17 00:00:00 2001 From: qinghon Date: Sun, 25 May 2025 00:44:44 +0800 Subject: [PATCH 1/8] netbsd: Export ioctl request generator macros --- libc-test/semver/netbsd.txt | 15 +++++++++++ libc-test/semver/openbsd.txt | 9 +++++++ src/unix/bsd/netbsdlike/mod.rs | 46 ++++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+) diff --git a/libc-test/semver/netbsd.txt b/libc-test/semver/netbsd.txt index 57e1cf5c4bd1b..bf642e20cd17b 100644 --- a/libc-test/semver/netbsd.txt +++ b/libc-test/semver/netbsd.txt @@ -426,6 +426,17 @@ IFF_SIMPLEX IFF_UP IMAXBEL INIT_PROCESS +IOCBASECMD +IOCGROUP +IOCGROUP_SHIFT +IOCPARM_LEN +IOCPARM_MASK +IOCPARM_SHIFT +IOC_DIRMASK +IOC_IN +IOC_INOUT +IOC_OUT +IOC_VOID IOV_MAX IPC_CREAT IPC_EXCL @@ -1116,9 +1127,13 @@ XATTR_CREATE XATTR_REPLACE YESEXPR YESSTR +_IO _IOFBF _IOLBF _IONBF +_IOR +_IOW +_IOWR _PC_2_SYMLINKS _PC_ACL_EXTENDED _PC_FILESIZEBITS diff --git a/libc-test/semver/openbsd.txt b/libc-test/semver/openbsd.txt index f609a7b72cd45..f2fac24eb341e 100644 --- a/libc-test/semver/openbsd.txt +++ b/libc-test/semver/openbsd.txt @@ -267,6 +267,15 @@ IFF_SIMPLEX IFF_STATICARP IFF_UP IMAXBEL +IOCBASECMD +IOCGROUP +IOCPARM_LEN +IOCPARM_MASK +IOC_DIRMASK +IOC_IN +IOC_INOUT +IOC_OUT +IOC_VOID IOV_MAX IPC_CREAT IPC_EXCL diff --git a/src/unix/bsd/netbsdlike/mod.rs b/src/unix/bsd/netbsdlike/mod.rs index c95880ecb272c..39d805c3e2c69 100644 --- a/src/unix/bsd/netbsdlike/mod.rs +++ b/src/unix/bsd/netbsdlike/mod.rs @@ -439,6 +439,52 @@ pub const MNT_NODEV: c_int = 0x00000010; pub const MNT_LOCAL: c_int = 0x00001000; pub const MNT_QUOTA: c_int = 0x00002000; +// sys/ioccom.h in NetBSD and OpenBSD +pub const IOCPARM_MASK: u32 = 0x1fff; +pub const IOCPARM_SHIFT: u32 = 16; +pub const IOCGROUP_SHIFT: u32 = 8; + +pub const fn IOCPARM_LEN(x: u32) -> u32 { + (x >> IOCPARM_SHIFT) & IOCPARM_MASK +} + +pub const fn IOCBASECMD(x: u32) -> u32 { + x & (!(IOCPARM_MASK << IOCPARM_SHIFT)) +} + +pub const fn IOCGROUP(x: u32) -> u32 { + (x >> IOCGROUP_SHIFT) & 0xff +} + +pub const IOC_VOID: u32 = 0x20000000; +pub const IOC_OUT: u32 = 0x40000000; +pub const IOC_IN: u32 = 0x80000000; +pub const IOC_INOUT: u32 = IOC_IN | IOC_IN; +pub const IOC_DIRMASK: u32 = 0xe0000000; + +pub const fn _IOC(inout: u32, group: u32, num: u32, len: u32) -> u32 { + (inout) | (((len) & IOCPARM_MASK) << IOCPARM_SHIFT) | ((group) << IOCGROUP_SHIFT) | (num) +} + +pub const fn _IO(g: u32, n: u32) -> u32 { + _IOC(IOC_VOID, g, n, 0) +} + +/// Build an ioctl number for an read-only ioctl. +pub const fn _IOR(g: u32, n: u32) -> u32 { + _IOC(IOC_OUT, g, n, size_of::() as u32) +} + +/// Build an ioctl number for an write-only ioctl. +pub const fn _IOW(g: u32, n: u32) -> u32 { + _IOC(IOC_IN, g, n, size_of::() as u32) +} + +/// Build an ioctl number for a read-write ioctl. +pub const fn _IOWR(g: u32, n: u32) -> u32 { + _IOC(IOC_INOUT, g, n, size_of::() as u32) +} + pub const AF_UNSPEC: c_int = 0; pub const AF_LOCAL: c_int = 1; pub const AF_UNIX: c_int = AF_LOCAL; From ab4d8fdb5568bbbdbc58aa77eb1fa15b5af19173 Mon Sep 17 00:00:00 2001 From: qinghon Date: Sun, 25 May 2025 12:29:46 +0800 Subject: [PATCH 2/8] netbsd: fix build error for x86_64-unknown-netbsd --- src/unix/bsd/netbsdlike/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/unix/bsd/netbsdlike/mod.rs b/src/unix/bsd/netbsdlike/mod.rs index 39d805c3e2c69..41f7b40042dc0 100644 --- a/src/unix/bsd/netbsdlike/mod.rs +++ b/src/unix/bsd/netbsdlike/mod.rs @@ -472,17 +472,17 @@ pub const fn _IO(g: u32, n: u32) -> u32 { /// Build an ioctl number for an read-only ioctl. pub const fn _IOR(g: u32, n: u32) -> u32 { - _IOC(IOC_OUT, g, n, size_of::() as u32) + _IOC(IOC_OUT, g, n, mem::size_of::() as u32) } /// Build an ioctl number for an write-only ioctl. pub const fn _IOW(g: u32, n: u32) -> u32 { - _IOC(IOC_IN, g, n, size_of::() as u32) + _IOC(IOC_IN, g, n, mem::size_of::() as u32) } /// Build an ioctl number for a read-write ioctl. pub const fn _IOWR(g: u32, n: u32) -> u32 { - _IOC(IOC_INOUT, g, n, size_of::() as u32) + _IOC(IOC_INOUT, g, n, mem::size_of::() as u32) } pub const AF_UNSPEC: c_int = 0; From e055b0c12475b26bd38bf8109d6a56f98080a10f Mon Sep 17 00:00:00 2001 From: qinghon Date: Sun, 25 May 2025 18:25:50 +0800 Subject: [PATCH 3/8] openbsd: remove doesn't exist `IOCPARM_SHIFT` and `IOCGROUP_SHIFT` --- src/unix/bsd/netbsdlike/mod.rs | 18 ------------------ src/unix/bsd/netbsdlike/netbsd/mod.rs | 20 ++++++++++++++++++++ src/unix/bsd/netbsdlike/openbsd/mod.rs | 18 ++++++++++++++++++ 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/src/unix/bsd/netbsdlike/mod.rs b/src/unix/bsd/netbsdlike/mod.rs index 41f7b40042dc0..207dcd38dff31 100644 --- a/src/unix/bsd/netbsdlike/mod.rs +++ b/src/unix/bsd/netbsdlike/mod.rs @@ -441,20 +441,6 @@ pub const MNT_QUOTA: c_int = 0x00002000; // sys/ioccom.h in NetBSD and OpenBSD pub const IOCPARM_MASK: u32 = 0x1fff; -pub const IOCPARM_SHIFT: u32 = 16; -pub const IOCGROUP_SHIFT: u32 = 8; - -pub const fn IOCPARM_LEN(x: u32) -> u32 { - (x >> IOCPARM_SHIFT) & IOCPARM_MASK -} - -pub const fn IOCBASECMD(x: u32) -> u32 { - x & (!(IOCPARM_MASK << IOCPARM_SHIFT)) -} - -pub const fn IOCGROUP(x: u32) -> u32 { - (x >> IOCGROUP_SHIFT) & 0xff -} pub const IOC_VOID: u32 = 0x20000000; pub const IOC_OUT: u32 = 0x40000000; @@ -462,10 +448,6 @@ pub const IOC_IN: u32 = 0x80000000; pub const IOC_INOUT: u32 = IOC_IN | IOC_IN; pub const IOC_DIRMASK: u32 = 0xe0000000; -pub const fn _IOC(inout: u32, group: u32, num: u32, len: u32) -> u32 { - (inout) | (((len) & IOCPARM_MASK) << IOCPARM_SHIFT) | ((group) << IOCGROUP_SHIFT) | (num) -} - pub const fn _IO(g: u32, n: u32) -> u32 { _IOC(IOC_VOID, g, n, 0) } diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index ddb02928a5ece..e98da66ffda40 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -1,4 +1,5 @@ use crate::prelude::*; +use crate::unix::bsd::IOCPARM_MASK; use crate::{cmsghdr, off_t}; pub type clock_t = c_uint; @@ -1712,6 +1713,25 @@ pub const MNT_WAIT: c_int = 1; pub const MNT_NOWAIT: c_int = 2; pub const MNT_LAZY: c_int = 3; +// sys/ioccom.h +pub const IOCPARM_SHIFT: u32 = 16; +pub const IOCGROUP_SHIFT: u32 = 8; + +pub const fn IOCPARM_LEN(x: u32) -> u32 { + (x >> IOCPARM_SHIFT) & IOCPARM_MASK +} + +pub const fn IOCBASECMD(x: u32) -> u32 { + x & (!(IOCPARM_MASK << IOCPARM_SHIFT)) +} + +pub const fn IOCGROUP(x: u32) -> u32 { + (x >> IOCGROUP_SHIFT) & 0xff +} +pub const fn _IOC(inout: u32, group: u32, num: u32, len: u32) -> u32 { + (inout) | (((len) & IOCPARM_MASK) << IOCPARM_SHIFT) | ((group) << IOCGROUP_SHIFT) | (num) +} + // pub const CLOCK_PROCESS_CPUTIME_ID: crate::clockid_t = 2; pub const CLOCK_THREAD_CPUTIME_ID: crate::clockid_t = 4; diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs index 9bd2367e42089..d68bfbb81fe42 100644 --- a/src/unix/bsd/netbsdlike/openbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs @@ -1,5 +1,6 @@ use crate::prelude::*; use crate::unix::bsd::O_SYNC; +use crate::unix::bsd::IOCPARM_MASK; use crate::{cmsghdr, off_t}; pub type clock_t = i64; @@ -1721,6 +1722,23 @@ pub const PF_R: u32 = 0x4; pub const PF_MASKOS: u32 = 0x0ff00000; pub const PF_MASKPROC: u32 = 0xf0000000; +// sys/ioccom.h +pub const fn IOCPARM_LEN(x: u32) -> u32 { + (x >> 16) & IOCPARM_MASK +} + +pub const fn IOCBASECMD(x: u32) -> u32 { + x & (!(IOCPARM_MASK << 16)) +} + +pub const fn IOCGROUP(x: u32) -> u32 { + (x >> 8) & 0xff +} +pub const fn _IOC(inout: u32, group: u32, num: u32, len: u32) -> u32 { + (inout) | (((len) & IOCPARM_MASK) << 16) | ((group) << 8) | (num) +} + + // sys/mount.h pub const MNT_NOPERM: c_int = 0x00000020; pub const MNT_WXALLOWED: c_int = 0x00000800; From 1fbb4b94b83ee96e5e34729d7e7f1deb20e00930 Mon Sep 17 00:00:00 2001 From: qinghon Date: Sun, 25 May 2025 18:44:46 +0800 Subject: [PATCH 4/8] openbsd: better format --- src/unix/bsd/netbsdlike/netbsd/mod.rs | 7 +++---- src/unix/bsd/netbsdlike/openbsd/mod.rs | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index e98da66ffda40..49ecfa20e721c 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -1,5 +1,4 @@ use crate::prelude::*; -use crate::unix::bsd::IOCPARM_MASK; use crate::{cmsghdr, off_t}; pub type clock_t = c_uint; @@ -1718,18 +1717,18 @@ pub const IOCPARM_SHIFT: u32 = 16; pub const IOCGROUP_SHIFT: u32 = 8; pub const fn IOCPARM_LEN(x: u32) -> u32 { - (x >> IOCPARM_SHIFT) & IOCPARM_MASK + (x >> IOCPARM_SHIFT) & crate::IOCPARM_MASK } pub const fn IOCBASECMD(x: u32) -> u32 { - x & (!(IOCPARM_MASK << IOCPARM_SHIFT)) + x & (!(crate::IOCPARM_MASK << IOCPARM_SHIFT)) } pub const fn IOCGROUP(x: u32) -> u32 { (x >> IOCGROUP_SHIFT) & 0xff } pub const fn _IOC(inout: u32, group: u32, num: u32, len: u32) -> u32 { - (inout) | (((len) & IOCPARM_MASK) << IOCPARM_SHIFT) | ((group) << IOCGROUP_SHIFT) | (num) + (inout) | (((len) & crate::IOCPARM_MASK) << IOCPARM_SHIFT) | ((group) << IOCGROUP_SHIFT) | (num) } // diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs index d68bfbb81fe42..d0768a49846ea 100644 --- a/src/unix/bsd/netbsdlike/openbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs @@ -1,6 +1,5 @@ use crate::prelude::*; use crate::unix::bsd::O_SYNC; -use crate::unix::bsd::IOCPARM_MASK; use crate::{cmsghdr, off_t}; pub type clock_t = i64; @@ -1724,18 +1723,18 @@ pub const PF_MASKPROC: u32 = 0xf0000000; // sys/ioccom.h pub const fn IOCPARM_LEN(x: u32) -> u32 { - (x >> 16) & IOCPARM_MASK + (x >> 16) & crate::IOCPARM_MASK } pub const fn IOCBASECMD(x: u32) -> u32 { - x & (!(IOCPARM_MASK << 16)) + x & (!(crate::IOCPARM_MASK << 16)) } pub const fn IOCGROUP(x: u32) -> u32 { (x >> 8) & 0xff } pub const fn _IOC(inout: u32, group: u32, num: u32, len: u32) -> u32 { - (inout) | (((len) & IOCPARM_MASK) << 16) | ((group) << 8) | (num) + (inout) | (((len) & crate::IOCPARM_MASK) << 16) | ((group) << 8) | (num) } From a08ea5844a0998e30892b11676a26f28543c92aa Mon Sep 17 00:00:00 2001 From: qinghon Date: Sun, 25 May 2025 21:41:11 +0800 Subject: [PATCH 5/8] openbsd: fix bug for `IOC_INOUT` --- src/unix/bsd/netbsdlike/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unix/bsd/netbsdlike/mod.rs b/src/unix/bsd/netbsdlike/mod.rs index 207dcd38dff31..9fc83776adfda 100644 --- a/src/unix/bsd/netbsdlike/mod.rs +++ b/src/unix/bsd/netbsdlike/mod.rs @@ -445,7 +445,7 @@ pub const IOCPARM_MASK: u32 = 0x1fff; pub const IOC_VOID: u32 = 0x20000000; pub const IOC_OUT: u32 = 0x40000000; pub const IOC_IN: u32 = 0x80000000; -pub const IOC_INOUT: u32 = IOC_IN | IOC_IN; +pub const IOC_INOUT: u32 = IOC_IN | IOC_OUT; pub const IOC_DIRMASK: u32 = 0xe0000000; pub const fn _IO(g: u32, n: u32) -> u32 { From 54aa6e7a6adea0f71858ed47acd229a801bd181e Mon Sep 17 00:00:00 2001 From: qinghon Date: Mon, 26 May 2025 22:08:31 +0800 Subject: [PATCH 6/8] openbsd: fix width bug for ioctl builder --- libc-test/semver/netbsd.txt | 1 + libc-test/semver/openbsd.txt | 5 +++++ src/unix/bsd/netbsdlike/mod.rs | 24 ++++++++++++------------ src/unix/bsd/netbsdlike/netbsd/mod.rs | 7 ++++--- src/unix/bsd/netbsdlike/openbsd/mod.rs | 6 +++--- 5 files changed, 25 insertions(+), 18 deletions(-) diff --git a/libc-test/semver/netbsd.txt b/libc-test/semver/netbsd.txt index bf642e20cd17b..677e37ea0a155 100644 --- a/libc-test/semver/netbsd.txt +++ b/libc-test/semver/netbsd.txt @@ -1128,6 +1128,7 @@ XATTR_REPLACE YESEXPR YESSTR _IO +_IOC _IOFBF _IOLBF _IONBF diff --git a/libc-test/semver/openbsd.txt b/libc-test/semver/openbsd.txt index f2fac24eb341e..6e452dadea797 100644 --- a/libc-test/semver/openbsd.txt +++ b/libc-test/semver/openbsd.txt @@ -917,9 +917,14 @@ WSTOPPED WTRAPPED YESEXPR YESSTR +_IO +_IOC _IOFBF _IOLBF _IONBF +_IOR +_IOW +_IOWR _MAX_PAGE_SHIFT _PC_2_SYMLINKS _PC_ALLOC_SIZE_MIN diff --git a/src/unix/bsd/netbsdlike/mod.rs b/src/unix/bsd/netbsdlike/mod.rs index 9fc83776adfda..4b66584b8e562 100644 --- a/src/unix/bsd/netbsdlike/mod.rs +++ b/src/unix/bsd/netbsdlike/mod.rs @@ -442,29 +442,29 @@ pub const MNT_QUOTA: c_int = 0x00002000; // sys/ioccom.h in NetBSD and OpenBSD pub const IOCPARM_MASK: u32 = 0x1fff; -pub const IOC_VOID: u32 = 0x20000000; -pub const IOC_OUT: u32 = 0x40000000; -pub const IOC_IN: u32 = 0x80000000; -pub const IOC_INOUT: u32 = IOC_IN | IOC_OUT; -pub const IOC_DIRMASK: u32 = 0xe0000000; +pub const IOC_VOID: c_ulong = 0x20000000; +pub const IOC_OUT: c_ulong = 0x40000000; +pub const IOC_IN: c_ulong = 0x80000000; +pub const IOC_INOUT: c_ulong = IOC_IN | IOC_OUT; +pub const IOC_DIRMASK: c_ulong = 0xe0000000; -pub const fn _IO(g: u32, n: u32) -> u32 { +pub const fn _IO(g: c_ulong, n: c_ulong) -> c_ulong { _IOC(IOC_VOID, g, n, 0) } /// Build an ioctl number for an read-only ioctl. -pub const fn _IOR(g: u32, n: u32) -> u32 { - _IOC(IOC_OUT, g, n, mem::size_of::() as u32) +pub const fn _IOR(g: c_ulong, n: c_ulong) -> c_ulong { + _IOC(IOC_OUT, g, n, mem::size_of::() as c_ulong) } /// Build an ioctl number for an write-only ioctl. -pub const fn _IOW(g: u32, n: u32) -> u32 { - _IOC(IOC_IN, g, n, mem::size_of::() as u32) +pub const fn _IOW(g: c_ulong, n: c_ulong) -> c_ulong { + _IOC(IOC_IN, g, n, mem::size_of::() as c_ulong) } /// Build an ioctl number for a read-write ioctl. -pub const fn _IOWR(g: u32, n: u32) -> u32 { - _IOC(IOC_INOUT, g, n, mem::size_of::() as u32) +pub const fn _IOWR(g: c_ulong, n: c_ulong) -> c_ulong { + _IOC(IOC_INOUT, g, n, mem::size_of::() as c_ulong) } pub const AF_UNSPEC: c_int = 0; diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 49ecfa20e721c..6004e1ce07e9b 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -1712,7 +1712,7 @@ pub const MNT_WAIT: c_int = 1; pub const MNT_NOWAIT: c_int = 2; pub const MNT_LAZY: c_int = 3; -// sys/ioccom.h +// sys/ioccom.h pub const IOCPARM_SHIFT: u32 = 16; pub const IOCGROUP_SHIFT: u32 = 8; @@ -1727,8 +1727,9 @@ pub const fn IOCBASECMD(x: u32) -> u32 { pub const fn IOCGROUP(x: u32) -> u32 { (x >> IOCGROUP_SHIFT) & 0xff } -pub const fn _IOC(inout: u32, group: u32, num: u32, len: u32) -> u32 { - (inout) | (((len) & crate::IOCPARM_MASK) << IOCPARM_SHIFT) | ((group) << IOCGROUP_SHIFT) | (num) + +pub const fn _IOC(inout: c_ulong, group: c_ulong, num: c_ulong, len: c_ulong) -> c_ulong { + (inout) | (((len) & crate::IOCPARM_MASK as c_ulong) << IOCPARM_SHIFT) | ((group) << IOCGROUP_SHIFT) | (num) } // diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs index d0768a49846ea..c5f7521d622b5 100644 --- a/src/unix/bsd/netbsdlike/openbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs @@ -1721,7 +1721,7 @@ pub const PF_R: u32 = 0x4; pub const PF_MASKOS: u32 = 0x0ff00000; pub const PF_MASKPROC: u32 = 0xf0000000; -// sys/ioccom.h +// sys/ioccom.h pub const fn IOCPARM_LEN(x: u32) -> u32 { (x >> 16) & crate::IOCPARM_MASK } @@ -1733,11 +1733,11 @@ pub const fn IOCBASECMD(x: u32) -> u32 { pub const fn IOCGROUP(x: u32) -> u32 { (x >> 8) & 0xff } -pub const fn _IOC(inout: u32, group: u32, num: u32, len: u32) -> u32 { + +pub const fn _IOC(inout: c_ulong, group: c_ulong, num: c_ulong, len: c_ulong) -> c_ulong { (inout) | (((len) & crate::IOCPARM_MASK) << 16) | ((group) << 8) | (num) } - // sys/mount.h pub const MNT_NOPERM: c_int = 0x00000020; pub const MNT_WXALLOWED: c_int = 0x00000800; From 07648332a9c4c41e4cd6bcb3e41946037fbc408b Mon Sep 17 00:00:00 2001 From: qinghon Date: Mon, 26 May 2025 22:19:09 +0800 Subject: [PATCH 7/8] openbsd: fix width bug for `_IOC` --- src/unix/bsd/netbsdlike/openbsd/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unix/bsd/netbsdlike/openbsd/mod.rs b/src/unix/bsd/netbsdlike/openbsd/mod.rs index c5f7521d622b5..a50c405476196 100644 --- a/src/unix/bsd/netbsdlike/openbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/openbsd/mod.rs @@ -1735,7 +1735,7 @@ pub const fn IOCGROUP(x: u32) -> u32 { } pub const fn _IOC(inout: c_ulong, group: c_ulong, num: c_ulong, len: c_ulong) -> c_ulong { - (inout) | (((len) & crate::IOCPARM_MASK) << 16) | ((group) << 8) | (num) + (inout) | (((len) & crate::IOCPARM_MASK as c_ulong) << 16) | ((group) << 8) | (num) } // sys/mount.h From 2c24c6b7bbc2f9ae22c90a431d3f3294f9eec244 Mon Sep 17 00:00:00 2001 From: qinghon Date: Mon, 28 Jul 2025 23:43:12 +0800 Subject: [PATCH 8/8] netbsd: fix ci code style check --- src/unix/bsd/netbsdlike/netbsd/mod.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 6004e1ce07e9b..123093f07388c 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -1729,7 +1729,10 @@ pub const fn IOCGROUP(x: u32) -> u32 { } pub const fn _IOC(inout: c_ulong, group: c_ulong, num: c_ulong, len: c_ulong) -> c_ulong { - (inout) | (((len) & crate::IOCPARM_MASK as c_ulong) << IOCPARM_SHIFT) | ((group) << IOCGROUP_SHIFT) | (num) + (inout) + | (((len) & crate::IOCPARM_MASK as c_ulong) << IOCPARM_SHIFT) + | ((group) << IOCGROUP_SHIFT) + | (num) } //