summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-10-02 22:50:59 +0000
committerbors <bors@rust-lang.org>2022-10-02 22:50:59 +0000
commit198beb0d45ef9ae2be1f4a6d35446a2822c13d76 (patch)
tree72b51f5c10cc63c42baff9664f880943f680f2db
parentd99a59db0c27fee88dc2be97f5df171e94faec29 (diff)
parent11a1ffe2246cdcb029a1d7f6f1e96a869ef9e336 (diff)
downloadrust-libc-198beb0d45ef9ae2be1f4a6d35446a2822c13d76.tar.gz
Auto merge of #2937 - SteveLauC:add-major-minor-makedev-on-apple-oses, r=JohnTitor
add major/minor/makedev on apple OSes This impl corresponds to the macros in [`sys/types.h`](https://opensource.apple.com/source/xnu/xnu-7195.81.3/bsd/sys/types.h.auto.html): ```c #define major(x) ((int32_t)(((u_int32_t)(x) >> 24) & 0xff)) #define minor(x) ((int32_t)((x) & 0xffffff)) #define makedev(x, y) ((dev_t)(((x) << 24) | (y))) ```
-rw-r--r--src/unix/bsd/apple/mod.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs
index d17d5e0050..cee87ffbfc 100644
--- a/src/unix/bsd/apple/mod.rs
+++ b/src/unix/bsd/apple/mod.rs
@@ -4976,6 +4976,18 @@ f! {
pub {const} fn VM_MAKE_TAG(id: u8) -> u32 {
(id as u32) << 24u32
}
+
+ pub fn major(dev: dev_t) -> i32 {
+ (dev >> 24) & 0xff
+ }
+
+ pub fn minor(dev: dev_t) -> i32 {
+ dev & 0xffffff
+ }
+
+ pub fn makedev(major: i32, minor: i32) -> dev_t {
+ (major << 24) | minor
+ }
}
safe_f! {