authorgravatar for devnexen@gmail.comDavid Carlier <devnexen@gmail.com> 2023-05-01 15:29:42+01:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-05-09 14:24:03+03:00
loge8f76b452bf86481069c2eeeb02d46161ea79a08
tree2cf8fcd6c5a38c62cdb743d16170f5d2b8f7ceac
parent1585ed637d101ed16adb6b9ebdfa465299bfdb13

std.c: adding freebsd's domainset api


1 files changed, 25 insertions(+), 0 deletions(-)

lib/std/c/freebsd.zig+25
...@@ -2548,3 +2548,28 @@ pub extern "c" fn mincore(...@@ -2548,3 +2548,28 @@ pub extern "c" fn mincore(
2548 length: usize,2548 length: usize,
2549 vec: [*]u8,2549 vec: [*]u8,
2550) c_int;2550) c_int;
2551
2552pub const MAXMEMDOM = 8;
2553pub const domainid_t = u8;
2554
2555pub const LIST_ENTRY = opaque {};
2556
2557pub const DOMAINSET = struct {
2558 pub const POLICY_INVALID = 0;
2559 pub const POLICY_ROUNDROBIN = 1;
2560 pub const POLICY_FIRSTOUCH = 2;
2561 pub const POLICY_PREFER = 3;
2562 pub const POLICY_INTERLEAVE = 4;
2563 pub const POLICY_MAX = DOMAINSET.POLICY_INTERLEAVE;
2564};
2565
2566pub const domainset_t = extern struct {
2567 link: LIST_ENTRY,
2568 policy: u16,
2569 prefer: domainid_t,
2570 cnt: domainid_t,
2571 order: [MAXMEMDOM]domainid_t,
2572};
2573
2574pub extern "c" fn cpuset_getdomain(level: cpulevel_t, which: cpuwhich_t, id: id_t, len: usize, domain: *domainset_t, r: *c_int) c_int;
2575pub extern "c" fn cpuset_setdomain(level: cpulevel_t, which: cpuwhich_t, id: id_t, len: usize, domain: *const domainset_t, r: c_int) c_int;