From eb05de73bf3d846d89c75177a6180760b83d434f Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sun, 15 Feb 2026 16:45:54 -0800 Subject: [PATCH] add memfd_create --- mod.zig | 7 +++++++ test.zig | 1 + 2 files changed, 8 insertions(+) diff --git a/mod.zig b/mod.zig index 0adf8ccae38f16a2de1d2a14eb15b89788b5e51e..8e858095c92e8d42271a6d09c95e1c0b291bf746 100644 --- a/mod.zig +++ b/mod.zig @@ -2632,6 +2632,7 @@ pub const libc = struct { pub extern fn __errno_location() *c_int; pub extern fn gettid() pid_t; pub extern fn accept4(socket: c_int, noalias address: ?*struct_sockaddr, noalias address_len: *socklen_t, flags: c_int) c_int; + pub extern fn memfd_create(name: [*:0]const u8, flags: c_uint) c_int; }; pub const clock_t = c_long; @@ -3130,3 +3131,9 @@ pub fn clock_gettime(clock_id: clockid_t) !struct_timespec { std.debug.assert(rc == 0); return tp; } +pub fn memfd_create(name: [*:0]const u8, flags: c_uint) !c_int { + const rc = libc.memfd_create(name, flags); + if (rc == -1) return errno.fromInt(errno.fromLibC()); + std.debug.assert(rc >= 0); + return rc; +} diff --git a/test.zig b/test.zig index ff8468da0655681e71d891c00452fd87e90015fc..fa77a4ada674e8f42c3c8154c816fbc981f4e5a8 100644 --- a/test.zig +++ b/test.zig @@ -28,4 +28,5 @@ test { _ = &linux.getaddrinfo; _ = &linux.freeaddrinfo; _ = &linux.clock_gettime; + _ = &linux.memfd_create; } -- 2.54.0