File tree 8 files changed +86
-0
lines changed
8 files changed +86
-0
lines changed Original file line number Diff line number Diff line change @@ -1577,6 +1577,14 @@ f! {
1577
1577
let ( idx, offset) = ( ( cpu >> 6 ) & 3 , cpu & 63 ) ;
1578
1578
0 != cpuset. ary[ idx] & ( 1 << offset)
1579
1579
}
1580
+
1581
+ pub fn major( dev: :: dev_t) -> :: c_int {
1582
+ ( ( dev >> 8 ) & 0xff ) as :: c_int
1583
+ }
1584
+
1585
+ pub fn minor( dev: :: dev_t) -> :: c_int {
1586
+ ( dev & 0xffff00ff ) as :: c_int
1587
+ }
1580
1588
}
1581
1589
1582
1590
safe_f ! {
Original file line number Diff line number Diff line change @@ -442,6 +442,16 @@ safe_f! {
442
442
}
443
443
}
444
444
445
+ f ! {
446
+ pub fn major( dev: :: dev_t) -> :: c_int {
447
+ ( ( dev >> 8 ) & 0xff ) as :: c_int
448
+ }
449
+
450
+ pub fn minor( dev: :: dev_t) -> :: c_int {
451
+ ( dev & 0xffff00ff ) as :: c_int
452
+ }
453
+ }
454
+
445
455
extern "C" {
446
456
// Return type ::c_int was removed in FreeBSD 12
447
457
pub fn setgrent ( ) -> :: c_int ;
Original file line number Diff line number Diff line change @@ -462,6 +462,16 @@ safe_f! {
462
462
}
463
463
}
464
464
465
+ f ! {
466
+ pub fn major( dev: :: dev_t) -> :: c_int {
467
+ ( ( ( dev >> 32 ) & 0xffffff00 ) | ( ( dev >> 8 ) & 0xff ) ) as :: c_int
468
+ }
469
+
470
+ pub fn minor( dev: :: dev_t) -> :: c_int {
471
+ ( ( ( dev >> 24 ) & 0xff00 ) | ( dev & 0xffff00ff ) ) as :: c_int
472
+ }
473
+ }
474
+
465
475
extern "C" {
466
476
pub fn setgrent ( ) ;
467
477
pub fn mprotect ( addr : * mut :: c_void , len : :: size_t , prot : :: c_int ) -> :: c_int ;
Original file line number Diff line number Diff line change @@ -481,6 +481,16 @@ safe_f! {
481
481
}
482
482
}
483
483
484
+ f ! {
485
+ pub fn major( dev: :: dev_t) -> :: c_int {
486
+ ( ( ( dev >> 32 ) & 0xffffff00 ) | ( ( dev >> 8 ) & 0xff ) ) as :: c_int
487
+ }
488
+
489
+ pub fn minor( dev: :: dev_t) -> :: c_int {
490
+ ( ( ( dev >> 24 ) & 0xff00 ) | ( dev & 0xffff00ff ) ) as :: c_int
491
+ }
492
+ }
493
+
484
494
extern "C" {
485
495
pub fn setgrent ( ) ;
486
496
pub fn mprotect ( addr : * mut :: c_void , len : :: size_t , prot : :: c_int ) -> :: c_int ;
Original file line number Diff line number Diff line change @@ -481,6 +481,16 @@ safe_f! {
481
481
}
482
482
}
483
483
484
+ f ! {
485
+ pub fn major( dev: :: dev_t) -> :: c_int {
486
+ ( ( ( dev >> 32 ) & 0xffffff00 ) | ( ( dev >> 8 ) & 0xff ) ) as :: c_int
487
+ }
488
+
489
+ pub fn minor( dev: :: dev_t) -> :: c_int {
490
+ ( ( ( dev >> 24 ) & 0xff00 ) | ( dev & 0xffff00ff ) ) as :: c_int
491
+ }
492
+ }
493
+
484
494
extern "C" {
485
495
pub fn setgrent ( ) ;
486
496
pub fn mprotect ( addr : * mut :: c_void , len : :: size_t , prot : :: c_int ) -> :: c_int ;
Original file line number Diff line number Diff line change @@ -2383,6 +2383,17 @@ f! {
2383
2383
pub fn PROT_MPROTECT_EXTRACT ( x: :: c_int) -> :: c_int {
2384
2384
( x >> 3 ) & 0x7
2385
2385
}
2386
+
2387
+ pub fn major( dev: :: dev_t) -> :: c_int {
2388
+ ( ( ( dev as u32 ) & 0x000fff00 ) >> 8 ) as :: c_int
2389
+ }
2390
+
2391
+ pub fn minor( dev: :: dev_t) -> :: c_int {
2392
+ let mut res = 0 ;
2393
+ res |= ( ( dev as u32 ) & 0xfff00000 ) >> 12 ;
2394
+ res |= ( ( dev as u32 ) & 0x000000ff ) ;
2395
+ res as :: c_int
2396
+ }
2386
2397
}
2387
2398
2388
2399
safe_f ! {
Original file line number Diff line number Diff line change @@ -1709,6 +1709,19 @@ f! {
1709
1709
( _ALIGN( :: mem:: size_of:: <:: cmsghdr>( ) ) + _ALIGN( length as usize ) )
1710
1710
as :: c_uint
1711
1711
}
1712
+
1713
+ pub fn major( dev: :: dev_t) -> :: c_uint{
1714
+ ( ( dev as :: c_uint) >> 8 ) & 0xff
1715
+ }
1716
+
1717
+ pub fn minor( dev: :: dev_t) -> :: c_uint {
1718
+ let dev = dev as :: c_uint;
1719
+ let mut res = 0 ;
1720
+ res |= ( dev) & 0xff ;
1721
+ res |= ( ( dev) & 0xffff0000 ) >> 8 ;
1722
+
1723
+ res
1724
+ }
1712
1725
}
1713
1726
1714
1727
safe_f ! {
Original file line number Diff line number Diff line change @@ -2652,6 +2652,20 @@ f! {
2652
2652
* slot = 0 ;
2653
2653
}
2654
2654
}
2655
+
2656
+ pub fn major( device: :: dev_t) -> :: major_t {
2657
+ ( ( device >> 8 ) & 0xff ) as :: major_t
2658
+ }
2659
+
2660
+ pub fn minor( device: :: dev_t) -> :: minor_t {
2661
+ ( device & 0xffff00ff ) as :: minor_t
2662
+ }
2663
+
2664
+ pub fn makedev( maj: :: major_t, min: :: minor_t) -> :: dev_t {
2665
+ let major = maj as :: dev_t;
2666
+ let minor = min as :: dev_t;
2667
+ ( major << 8 ) | minor
2668
+ }
2655
2669
}
2656
2670
2657
2671
safe_f ! {
You can’t perform that action at this time.
0 commit comments