diff options
author | Steve Lau <stevelauc@outlook.com> | 2023-05-06 16:36:01 +0800 |
---|---|---|
committer | Steve Lau <stevelauc@outlook.com> | 2023-05-06 16:36:01 +0800 |
commit | 044941617a2695ea0050f682a2d4a5e57a65799d (patch) | |
tree | 34af43f1290e752fe78805b943e0d3b1a896b47a /src/unix/bsd/netbsdlike/netbsd/mod.rs | |
parent | 79b7d3c7520a29c98f346285b1184091fd36fff2 (diff) | |
download | rust-libc-044941617a2695ea0050f682a2d4a5e57a65799d.tar.gz |
add major/minor on BSDs/illumos
Diffstat (limited to 'src/unix/bsd/netbsdlike/netbsd/mod.rs')
-rw-r--r-- | src/unix/bsd/netbsdlike/netbsd/mod.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 402257fd3b..d9ffa923d8 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -2464,6 +2464,17 @@ f! { pub fn PROT_MPROTECT_EXTRACT(x: ::c_int) -> ::c_int { (x >> 3) & 0x7 } + + pub fn major(dev: ::dev_t) -> ::c_int { + (((dev as u32) & 0x000fff00) >> 8) as ::c_int + } + + pub fn minor(dev: ::dev_t) -> ::c_int { + let mut res = 0; + res |= ((dev as u32) & 0xfff00000) >> 12; + res |= (dev as u32) & 0x000000ff; + res as ::c_int + } } safe_f! { |