@@ -878,6 +878,17 @@ s_no_extra_traits! {
878
878
pub d_type: :: c_uchar,
879
879
pub d_name: [ :: c_char; 256 ] ,
880
880
}
881
+
882
+ pub struct sched_attr {
883
+ pub size: :: __u32,
884
+ pub sched_policy: :: __u32,
885
+ pub sched_flags: :: __u64,
886
+ pub sched_nice: :: __s32,
887
+ pub sched_priority: :: __u32,
888
+ pub sched_runtime: :: __u64,
889
+ pub sched_deadline: :: __u64,
890
+ pub sched_period: :: __u64,
891
+ }
881
892
}
882
893
883
894
s_no_extra_traits ! {
@@ -1343,6 +1354,46 @@ cfg_if! {
1343
1354
self . rx_filter. hash( state) ;
1344
1355
}
1345
1356
}
1357
+
1358
+ impl :: fmt:: Debug for sched_attr {
1359
+ fn fmt( & self , f: & mut :: fmt:: Formatter ) -> :: fmt:: Result {
1360
+ f. debug_struct( "sched_attr" )
1361
+ . field( "size" , & self . size)
1362
+ . field( "sched_policy" , & self . sched_policy)
1363
+ . field( "sched_flags" , & self . sched_flags)
1364
+ . field( "sched_nice" , & self . sched_nice)
1365
+ . field( "sched_priority" , & self . sched_priority)
1366
+ . field( "sched_runtime" , & self . sched_runtime)
1367
+ . field( "sched_deadline" , & self . sched_deadline)
1368
+ . field( "sched_period" , & self . sched_period)
1369
+ . finish( )
1370
+ }
1371
+ }
1372
+ impl PartialEq for sched_attr {
1373
+ fn eq( & self , other: & sched_attr) -> bool {
1374
+ self . size == other. size &&
1375
+ self . sched_policy == other. sched_policy &&
1376
+ self . sched_flags == other. sched_flags &&
1377
+ self . sched_nice == other. sched_nice &&
1378
+ self . sched_priority == other. sched_priority &&
1379
+ self . sched_runtime == other. sched_runtime &&
1380
+ self . sched_deadline == other. sched_deadline &&
1381
+ self . sched_period == other. sched_period
1382
+ }
1383
+ }
1384
+ impl Eq for sched_attr { }
1385
+ impl :: hash:: Hash for sched_attr {
1386
+ fn hash<H : :: hash:: Hasher >( & self , state: & mut H ) {
1387
+ self . size. hash( state) ;
1388
+ self . sched_policy. hash( state) ;
1389
+ self . sched_flags. hash( state) ;
1390
+ self . sched_nice. hash( state) ;
1391
+ self . sched_priority. hash( state) ;
1392
+ self . sched_runtime. hash( state) ;
1393
+ self . sched_deadline. hash( state) ;
1394
+ self . sched_period. hash( state) ;
1395
+ }
1396
+ }
1346
1397
}
1347
1398
}
1348
1399
@@ -2032,16 +2083,6 @@ pub const RENAME_NOREPLACE: ::c_uint = 1;
2032
2083
pub const RENAME_EXCHANGE : :: c_uint = 2 ;
2033
2084
pub const RENAME_WHITEOUT : :: c_uint = 4 ;
2034
2085
2035
- pub const SCHED_OTHER : :: c_int = 0 ;
2036
- pub const SCHED_FIFO : :: c_int = 1 ;
2037
- pub const SCHED_RR : :: c_int = 2 ;
2038
- pub const SCHED_BATCH : :: c_int = 3 ;
2039
- pub const SCHED_IDLE : :: c_int = 5 ;
2040
-
2041
- pub const SCHED_RESET_ON_FORK : :: c_int = 0x40000000 ;
2042
-
2043
- pub const CLONE_PIDFD : :: c_int = 0x1000 ;
2044
-
2045
2086
// netinet/in.h
2046
2087
// NOTE: These are in addition to the constants defined in src/unix/mod.rs
2047
2088
@@ -4588,6 +4629,38 @@ pub const PF_NO_SETAFFINITY: ::c_int = 0x04000000;
4588
4629
pub const PF_MCE_EARLY : :: c_int = 0x08000000 ;
4589
4630
pub const PF_MEMALLOC_PIN : :: c_int = 0x10000000 ;
4590
4631
4632
+ pub const CSIGNAL : :: c_int = 0x000000ff ;
4633
+
4634
+ pub const SCHED_NORMAL : :: c_int = 0 ;
4635
+ pub const SCHED_OTHER : :: c_int = 0 ;
4636
+ pub const SCHED_FIFO : :: c_int = 1 ;
4637
+ pub const SCHED_RR : :: c_int = 2 ;
4638
+ pub const SCHED_BATCH : :: c_int = 3 ;
4639
+ pub const SCHED_IDLE : :: c_int = 5 ;
4640
+ pub const SCHED_DEADLINE : :: c_int = 6 ;
4641
+
4642
+ pub const SCHED_RESET_ON_FORK : :: c_int = 0x40000000 ;
4643
+
4644
+ pub const CLONE_PIDFD : :: c_int = 0x1000 ;
4645
+
4646
+ pub const SCHED_FLAG_RESET_ON_FORK : :: c_int = 0x01 ;
4647
+ pub const SCHED_FLAG_RECLAIM : :: c_int = 0x02 ;
4648
+ pub const SCHED_FLAG_DL_OVERRUN : :: c_int = 0x04 ;
4649
+ pub const SCHED_FLAG_KEEP_POLICY : :: c_int = 0x08 ;
4650
+ pub const SCHED_FLAG_KEEP_PARAMS : :: c_int = 0x10 ;
4651
+ pub const SCHED_FLAG_UTIL_CLAMP_MIN : :: c_int = 0x20 ;
4652
+ pub const SCHED_FLAG_UTIL_CLAMP_MAX : :: c_int = 0x40 ;
4653
+
4654
+ pub const SCHED_FLAG_KEEP_ALL : :: c_int = SCHED_FLAG_KEEP_POLICY | SCHED_FLAG_KEEP_PARAMS ;
4655
+
4656
+ pub const SCHED_FLAG_UTIL_CLAMP : :: c_int = SCHED_FLAG_UTIL_CLAMP_MIN | SCHED_FLAG_UTIL_CLAMP_MAX ;
4657
+
4658
+ pub const SCHED_FLAG_ALL : :: c_int = SCHED_FLAG_RESET_ON_FORK
4659
+ | SCHED_FLAG_RECLAIM
4660
+ | SCHED_FLAG_DL_OVERRUN
4661
+ | SCHED_FLAG_KEEP_ALL
4662
+ | SCHED_FLAG_UTIL_CLAMP ;
4663
+
4591
4664
f ! {
4592
4665
pub fn NLA_ALIGN ( len: :: c_int) -> :: c_int {
4593
4666
return ( ( len) + NLA_ALIGNTO - 1 ) & !( NLA_ALIGNTO - 1 )
0 commit comments