authorgravatar for devnexen@gmail.comDavid Carlier <devnexen@gmail.com> 2023-05-09 14:24:08+01:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-05-10 01:13:15+03:00
log10a7cf58c1530e004e5ccb1a81f02aa86ab51dd1
treefbf6ed890d689e4bb0e67ac345691250b0d9bb80
parentffccd706710d582c9cca129ae5ac84457aa377ec

std.c: adding freebsd's domainset_t bitset


1 files changed, 10 insertions(+), 1 deletions(-)

lib/std/c/freebsd.zig+10-1
......@@ -10,7 +10,6 @@ pub const cpuset_t = extern struct {
1010 __bits: [(CPU_SETSIZE + (@bitSizeOf(c_long) - 1)) / @bitSizeOf(c_long)]c_long,
1111};
1212
13// TODO: can eventually serve for the domainset_t's type too.
1413fn __BIT_COUNT(bits: []const c_long) c_long {
1514 var count: c_long = 0;
1615 for (bits) |b| {
......@@ -2563,8 +2562,18 @@ pub const DOMAINSET = struct {
25632562 pub const POLICY_MAX = DOMAINSET.POLICY_INTERLEAVE;
25642563};
25652564
2565pub const DOMAINSET_SIZE = 256;
25662566pub const domainset_t = extern struct {
2567 __bits: [(DOMAINSET_SIZE + (@sizeOf(domainset) - 1)) / @bitSizeOf(domainset)]domainset,
2568};
2569
2570pub fn DOMAINSET_COUNT(set: domainset_t) c_int {
2571 return @intCast(c_int, __BIT_COUNT(set.__bits[0..]));
2572}
2573
2574pub const domainset = extern struct {
25672575 link: LIST_ENTRY,
2576 mask: domainset_t,
25682577 policy: u16,
25692578 prefer: domainid_t,
25702579 cnt: domainid_t,