authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-15 14:56:00+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-22 22:15:31+02:00
log0935f72e78915510e9a27e9f64eb2ddd2079134c
tree2d8e27a3811a47c41275d24bff6a455ed4415d1f
parent5fdde72c0781838ba8c28bda1938648ed8131f5d
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.c: fix sendmmsg() signature for freebsd


2 files changed, 8 insertions(+), 1 deletions(-)

lib/std/c.zig+5-1
......@@ -11034,7 +11034,10 @@ pub extern "c" fn sendto(
1103411034 addrlen: socklen_t,
1103511035) isize;
1103611036pub extern "c" fn sendmsg(sockfd: fd_t, msg: *const msghdr_const, flags: u32) isize;
11037pub extern "c" fn sendmmsg(sockfd: fd_t, msgvec: [*]mmsghdr, n: c_uint, flags: u32) c_int;
11037pub const sendmmsg = switch (native_os) {
11038 .freebsd => freebsd.sendmmsg,
11039 else => private.sendmmsg,
11040};
1103811041
1103911042pub extern "c" fn recv(
1104011043 sockfd: fd_t,
......@@ -11897,6 +11900,7 @@ const private = struct {
1189711900 extern "c" fn recvmsg(sockfd: fd_t, msg: *msghdr, flags: u32) isize;
1189811901 extern "c" fn sched_yield() c_int;
1189911902 extern "c" fn sendfile(out_fd: fd_t, in_fd: fd_t, offset: ?*off_t, count: usize) isize;
11903 extern "c" fn sendmmsg(sockfd: fd_t, msgvec: [*]mmsghdr, n: c_uint, flags: u32) c_int;
1190011904 extern "c" fn sigaction(sig: SIG, noalias act: ?*const Sigaction, noalias oact: ?*Sigaction) c_int;
1190111905 extern "c" fn sigdelset(set: ?*sigset_t, signo: SIG) c_int;
1190211906 extern "c" fn sigaddset(set: ?*sigset_t, signo: SIG) c_int;
lib/std/c/freebsd.zig+3
......@@ -21,6 +21,7 @@ const timespec = std.c.timespec;
2121const uid_t = std.c.uid_t;
2222const sf_hdtr = std.c.sf_hdtr;
2323const clockid_t = std.c.clockid_t;
24const mmsghdr = std.c.mmsghdr;
2425
2526comptime {
2627 assert(builtin.os.tag == .freebsd); // Prevent access of std.c symbols on wrong OS.
......@@ -41,6 +42,8 @@ pub extern "c" fn sendfile(
4142 flags: u32,
4243) c_int;
4344
45pub extern "c" fn sendmmsg(sockfd: fd_t, msgvec: [*]mmsghdr, vlen: usize, flags: u32) isize;
46
4447pub const UMTX_OP = enum(c_int) {
4548 LOCK = 0,
4649 UNLOCK = 1,