diff --git a/lib/std/c.zig b/lib/std/c.zig index 235ec18da1a1cddbd09eaf5acfae736aa28b0635..fc64f8b282310bb3fa767e2f790c5525fd84569c 100644 --- a/lib/std/c.zig +++ b/lib/std/c.zig @@ -11235,6 +11235,7 @@ pub extern "c" fn freeaddrinfo(res: *addrinfo) void; pub const getnameinfo = switch (native_os) { .dragonfly => dragonfly.getnameinfo, .freebsd => freebsd.getnameinfo, + .openbsd => openbsd.getnameinfo, else => private.getnameinfo, }; diff --git a/lib/std/c/openbsd.zig b/lib/std/c/openbsd.zig index e6d277af9f4a613743d5d6fd1e29a739a7be6d93..5d9b863fdb7b50f173fc66ef3b85228beefb286b 100644 --- a/lib/std/c/openbsd.zig +++ b/lib/std/c/openbsd.zig @@ -9,10 +9,23 @@ const passwd = std.c.passwd; const timespec = std.c.timespec; const uid_t = std.c.uid_t; const pid_t = std.c.pid_t; +const sockaddr = std.c.sockaddr; +const socklen_t = std.c.socklen_t; +const NI = std.c.NI; +const EAI = std.c.EAI; comptime { assert(builtin.os.tag == .openbsd); // Prevent access of std.c symbols on wrong OS. } +pub extern "c" fn getnameinfo( + noalias addr: *const sockaddr, + addrlen: socklen_t, + noalias host: ?[*]u8, + hostlen: usize, + noalias serv: ?[*]u8, + servlen: usize, + flags: NI, +) EAI; pub extern "c" fn ptrace(request: c_int, pid: pid_t, addr: caddr_t, data: c_int) c_int;