summaryrefslogtreecommitdiff
path: root/src/unix/linux_like/linux/mod.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-09-09 13:47:17 +0000
committerbors <bors@rust-lang.org>2022-09-09 13:47:17 +0000
commit6eee580b51455131b10b780087025379a591ceb6 (patch)
tree289638e4531d6ef89f05c20b1a317f486037fa33 /src/unix/linux_like/linux/mod.rs
parentfb16d18481076c35e3700e0ccd17eefdfb1ba3bf (diff)
parent5e6d9c4a92fd563f7e2e58a1e2889ccc4a87ff44 (diff)
downloadrust-libc-6eee580b51455131b10b780087025379a591ceb6.tar.gz
Auto merge of #2891 - asomers:makedev, r=JohnTitor
Add makedev for the BSDs Also, make Linux's makedev function safe and const.
Diffstat (limited to 'src/unix/linux_like/linux/mod.rs')
-rw-r--r--src/unix/linux_like/linux/mod.rs24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs
index 54ca083279..512d5f0ffb 100644
--- a/src/unix/linux_like/linux/mod.rs
+++ b/src/unix/linux_like/linux/mod.rs
@@ -3570,17 +3570,6 @@ f! {
minor as ::c_uint
}
- pub fn makedev(major: ::c_uint, minor: ::c_uint) -> ::dev_t {
- let major = major as ::dev_t;
- let minor = minor as ::dev_t;
- let mut dev = 0;
- dev |= (major & 0x00000fff) << 8;
- dev |= (major & 0xfffff000) << 32;
- dev |= (minor & 0x000000ff) << 0;
- dev |= (minor & 0xffffff00) << 12;
- dev
- }
-
pub fn IPTOS_TOS(tos: u8) -> u8 {
tos & IPTOS_TOS_MASK
}
@@ -3622,6 +3611,19 @@ f! {
}
}
+safe_f! {
+ pub {const} fn makedev(major: ::c_uint, minor: ::c_uint) -> ::dev_t {
+ let major = major as ::dev_t;
+ let minor = minor as ::dev_t;
+ let mut dev = 0;
+ dev |= (major & 0x00000fff) << 8;
+ dev |= (major & 0xfffff000) << 32;
+ dev |= (minor & 0x000000ff) << 0;
+ dev |= (minor & 0xffffff00) << 12;
+ dev
+ }
+}
+
cfg_if! {
if #[cfg(not(target_env = "uclibc"))] {
extern "C" {