File tree Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -753,6 +753,17 @@ f! {
753
753
pub fn CPU_EQUAL ( set1: & cpu_set_t, set2: & cpu_set_t) -> bool {
754
754
set1. __bits == set2. __bits
755
755
}
756
+ pub fn major( dev: :: dev_t) -> :: c_int {
757
+ ( ( dev >> 8 ) & 0xfff ) as :: c_int
758
+ }
759
+ pub fn minor( dev: :: dev_t) -> :: c_int {
760
+ ( ( dev & 0xff ) | ( ( dev >> 12 ) & 0xfff00 ) ) as :: c_int
761
+ }
762
+ pub fn makedev( ma: :: c_int, mi: :: c_int) -> :: dev_t {
763
+ let ma = ma as :: dev_t;
764
+ let mi = mi as :: dev_t;
765
+ ( ( ma & 0xfff ) << 8 ) | ( mi & 0xff ) | ( ( mi & 0xfff00 ) << 12 )
766
+ }
756
767
}
757
768
758
769
extern {
Original file line number Diff line number Diff line change @@ -722,6 +722,31 @@ f! {
722
722
pub fn CPU_EQUAL ( set1: & cpu_set_t, set2: & cpu_set_t) -> bool {
723
723
set1. bits == set2. bits
724
724
}
725
+
726
+ pub fn major( dev: :: dev_t) -> :: c_uint {
727
+ let mut major = 0 ;
728
+ major |= ( dev & 0x00000000000fff00 ) >> 8 ;
729
+ major |= ( dev & 0xfffff00000000000 ) >> 32 ;
730
+ major as :: c_uint
731
+ }
732
+
733
+ pub fn minor( dev: :: dev_t) -> :: c_uint {
734
+ let mut minor = 0 ;
735
+ minor |= ( dev & 0xfffff00000000000 ) >> 0 ;
736
+ minor |= ( dev & 0x00000ffffff00000 ) >> 12 ;
737
+ minor as :: c_uint
738
+ }
739
+
740
+ pub fn makedev( major: :: c_uint, minor: :: c_uint) -> :: dev_t {
741
+ let major = major as :: dev_t;
742
+ let minor = minor as :: dev_t;
743
+ let mut dev = 0 ;
744
+ dev |= ( major & 0x00000fff ) << 8 ;
745
+ dev |= ( major & 0xfffff000 ) << 32 ;
746
+ dev |= ( minor & 0x000000ff ) << 0 ;
747
+ dev |= ( minor & 0xffffff00 ) << 12 ;
748
+ dev
749
+ }
725
750
}
726
751
727
752
extern {
You can’t perform that action at this time.
0 commit comments