| 1 | use crate::fs::Dev; |
| 2 | |
| 3 | #[inline ] |
| 4 | pub(crate) fn makedev(maj: u32, min: u32) -> Dev { |
| 5 | ((u64::from(maj) & 0xffff_f000_u64) << 32) |
| 6 | | ((u64::from(maj) & 0x0000_0fff_u64) << 8) |
| 7 | | ((u64::from(min) & 0xffff_ff00_u64) << 12) |
| 8 | | (u64::from(min) & 0x0000_00ff_u64) |
| 9 | } |
| 10 | |
| 11 | #[inline ] |
| 12 | pub(crate) fn major(dev: Dev) -> u32 { |
| 13 | (((dev >> 31 >> 1) & 0xffff_f000) | ((dev >> 8) & 0x0000_0fff)) as u32 |
| 14 | } |
| 15 | |
| 16 | #[inline ] |
| 17 | pub(crate) fn minor(dev: Dev) -> u32 { |
| 18 | (((dev >> 12) & 0xffff_ff00) | (dev & 0x0000_00ff)) as u32 |
| 19 | } |
| 20 | |