authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-16 21:17:05+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-22 22:15:32+02:00
log3b8f1e655357523f50752296093e56da53ca287f
treecb8b225f1671a82741c322a23fb5ab2166287199
parentda1b245719e37fbf1db7279530dedec5f2d44647
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.c: fix ioctl() signature for freebsd and openbsd


4 files changed, 13 insertions(+), 1 deletions(-)

lib/std/c.zig+4-1
......@@ -11430,6 +11430,9 @@ pub const clock_nanosleep = switch (native_os) {
1143011430};
1143111431
1143211432pub const ioctl = switch (native_os) {
11433 .dragonfly => dragonfly.ioctl,
11434 .freebsd => freebsd.ioctl,
11435 .openbsd => openbsd.ioctl,
1143311436 .windows => {},
1143411437 else => private.ioctl,
1143511438};
......@@ -11897,7 +11900,7 @@ const private = struct {
1189711900 };
1189811901 extern "c" fn getrusage(who: c_int, usage: *rusage) c_int;
1189911902 extern "c" fn gettimeofday(noalias tv: ?*timeval, noalias tz: ?*timezone) c_int;
11900 extern "c" fn ioctl(fd: fd_t, request: if (native_os == .dragonfly) c_ulong else c_int, ...) c_int;
11903 extern "c" fn ioctl(fd: fd_t, request: c_int, ...) c_int;
1190111904 extern "c" fn msync(addr: *align(page_size) const anyopaque, len: usize, flags: c_int) c_int;
1190211905 extern "c" fn mremap(addr: ?*align(page_size) const anyopaque, old_len: usize, new_len: usize, flags: MREMAP, ...) *anyopaque;
1190311906 extern "c" fn nanosleep(rqtp: *const timespec, rmtp: ?*timespec) c_int;
lib/std/c/dragonfly.zig+3
......@@ -8,9 +8,12 @@ const pid_t = std.c.pid_t;
88const sockaddr = std.c.sockaddr;
99const socklen_t = std.c.socklen_t;
1010const uid_t = std.c.uid_t;
11const fd_t = std.c.fd_t;
1112const NI = std.c.NI;
1213const EAI = std.c.EAI;
1314
15pub extern "c" fn ioctl(fd: fd_t, request: c_ulong, ...) c_int;
16
1417pub extern "c" fn lwp_gettid() c_int;
1518pub extern "c" fn ptrace(request: c_int, pid: pid_t, addr: caddr_t, data: c_int) c_int;
1619pub extern "c" fn umtx_sleep(ptr: *const volatile c_int, value: c_int, timeout: c_int) c_int;
lib/std/c/freebsd.zig+2
......@@ -30,6 +30,8 @@ comptime {
3030 assert(builtin.os.tag == .freebsd); // Prevent access of std.c symbols on wrong OS.
3131}
3232
33pub extern "c" fn ioctl(fd: fd_t, request: c_ulong, ...) c_int;
34
3335pub extern "c" fn ptrace(request: c_int, pid: pid_t, addr: caddr_t, data: c_int) c_int;
3436
3537pub extern "c" fn kinfo_getfile(pid: pid_t, cntp: *c_int) ?[*]kinfo_file;
lib/std/c/openbsd.zig+4
......@@ -9,6 +9,7 @@ const passwd = std.c.passwd;
99const timespec = std.c.timespec;
1010const uid_t = std.c.uid_t;
1111const pid_t = std.c.pid_t;
12const fd_t = std.c.fd_t;
1213const sockaddr = std.c.sockaddr;
1314const socklen_t = std.c.socklen_t;
1415const NI = std.c.NI;
......@@ -17,6 +18,9 @@ const EAI = std.c.EAI;
1718comptime {
1819 assert(builtin.os.tag == .openbsd); // Prevent access of std.c symbols on wrong OS.
1920}
21
22pub extern "c" fn ioctl(fd: fd_t, request: c_ulong, ...) c_int;
23
2024pub extern "c" fn getnameinfo(
2125 noalias addr: *const sockaddr,
2226 addrlen: socklen_t,