@@ -6,6 +6,7 @@ pub type ino_t = ::c_ulong;
66pub type shmatt_t = :: c_uint ;
77pub type kpaddr_t = u64 ;
88pub type kssize_t = i64 ;
9+ pub type domainset_t = __c_anonymous_domainset ;
910
1011s ! {
1112 pub struct shmid_ds {
4950 pub kp_offset: :: off_t,
5051 pub kp_len: :: size_t,
5152 }
53+
54+ pub struct __c_anonymous_domainset {
55+ _priv: [ :: uintptr_t; 4 ] ,
56+ }
5257}
5358
5459s_no_extra_traits ! {
@@ -222,6 +227,13 @@ pub const KF_TYPE_EVENTFD: ::c_int = 13;
222227pub const SPECNAMELEN : :: c_int = 255 ;
223228pub const KI_NSPARE_PTR : usize = 5 ;
224229
230+ /// domainset policies
231+ pub const DOMAINSET_POLICY_INVALID : :: c_int = 0 ;
232+ pub const DOMAINSET_POLICY_ROUNDROBIN : :: c_int = 1 ;
233+ pub const DOMAINSET_POLICY_FIRSTTOUCH : :: c_int = 2 ;
234+ pub const DOMAINSET_POLICY_PREFER : :: c_int = 3 ;
235+ pub const DOMAINSET_POLICY_INTERLEAVE : :: c_int = 4 ;
236+
225237f ! {
226238 pub fn SOCKCRED2SIZE ( ngrps: usize ) -> usize {
227239 let ngrps = if ngrps > 0 {
@@ -261,6 +273,23 @@ extern "C" {
261273 pub fn setproctitle_fast ( fmt : * const :: c_char , ...) ;
262274 pub fn timingsafe_bcmp ( a : * const :: c_void , b : * const :: c_void , len : :: size_t ) -> :: c_int ;
263275 pub fn timingsafe_memcmp ( a : * const :: c_void , b : * const :: c_void , len : :: size_t ) -> :: c_int ;
276+
277+ pub fn cpuset_getdomain (
278+ level : :: cpulevel_t ,
279+ which : :: cpuwhich_t ,
280+ id : :: id_t ,
281+ setsize : :: size_t ,
282+ mask : * mut :: domainset_t ,
283+ policy : * mut :: c_int ,
284+ ) -> :: c_int ;
285+ pub fn cpuset_setdomain (
286+ level : :: cpulevel_t ,
287+ which : :: cpuwhich_t ,
288+ id : :: id_t ,
289+ setsize : :: size_t ,
290+ mask : * const :: domainset_t ,
291+ policy : :: c_int ,
292+ ) -> :: c_int ;
264293}
265294
266295#[ link( name = "kvm" ) ]
0 commit comments