authorgravatar for devnexen@gmail.comDavid Carlier <devnexen@gmail.com> 2023-04-13 19:31:11+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-04-14 13:41:22-04:00
log7b908e173fa6034dc92e6b73c4264dc44706bd32
tree41a2b5255b49970865ac846aeab2ebad34512736
parentb42562be74ee7b88e39edc757643444de63d2df5

std: add shm_create_largepage for FreeBSD, completing MFD* constants.


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

lib/std/c/freebsd.zig+32
......@@ -1980,6 +1980,21 @@ pub const NAME_MAX = 255;
19801980pub const MFD = struct {
19811981 pub const CLOEXEC = 0x0001;
19821982 pub const ALLOW_SEALING = 0x0002;
1983 pub const HUGETLB = 0x00000004;
1984 pub const HUGE_MASK = 0xFC000000;
1985 pub const HUGE_SHIFT = 26;
1986 pub const HUGE_64KB = 16 << HUGE_SHIFT;
1987 pub const HUGE_512KB = 19 << HUGE_SHIFT;
1988 pub const HUGE_1MB = 20 << HUGE_SHIFT;
1989 pub const HUGE_2MB = 21 << HUGE_SHIFT;
1990 pub const HUGE_8MB = 23 << HUGE_SHIFT;
1991 pub const HUGE_16MB = 24 << HUGE_SHIFT;
1992 pub const HUGE_32MB = 25 << HUGE_SHIFT;
1993 pub const HUGE_256MB = 28 << HUGE_SHIFT;
1994 pub const HUGE_512MB = 29 << HUGE_SHIFT;
1995 pub const HUGE_1GB = 30 << HUGE_SHIFT;
1996 pub const HUGE_2GB = 31 << HUGE_SHIFT;
1997 pub const HUGE_16GB = 34 << HUGE_SHIFT;
19831998};
19841999
19852000pub extern "c" fn memfd_create(name: [*:0]const u8, flags: c_uint) c_int;
......@@ -2109,3 +2124,20 @@ pub const procctl_reaper_kill = extern struct {
21092124};
21102125
21112126pub extern "c" fn procctl(idtype: idtype_t, id: id_t, cmd: c_int, data: ?*anyopaque) c_int;
2127
2128pub const SHM = struct {
2129 pub const ALLOW_SEALING = 0x00000001;
2130 pub const GROW_ON_WRWITE = 0x00000002;
2131 pub const LARGEPAGE = 0x00000004;
2132 pub const LARGEPAGE_ALLOC_DEFAULT = 0;
2133 pub const LARGEPAGE_ALLOC_NOWAIT = 1;
2134 pub const LARGEPAGE_ALLOC_HARD = 2;
2135};
2136
2137pub const shm_largeconf = extern struct {
2138 psind: c_int,
2139 alloc_policy: c_int,
2140 pad: [10]c_int,
2141};
2142
2143pub extern "c" fn shm_create_largepage(path: [*:0]const u8, flags: c_int, psind: c_int, alloc_policy: c_int, mode: mode_t) c_int;