authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-03-03 15:59:15 -08:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-03-03 15:59:15 -08:00
logae3e52c61e26720f694af0e9f08c8ae7365817a0
tree6a9c1ae8f13a9852c17a798ee66aee35e186436c
parent41d1c3d53babe8d7e6bc135ddaa6c6a2b8ef37fa
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

add getsockname


2 files changed, 10 insertions(+), 0 deletions(-)

mod.zig+9
......@@ -1598,6 +1598,10 @@ pub const libc = struct {
15981598 /// https://pubs.opengroup.org/onlinepubs/9699919799.orig/functions/getsid.html
15991599 pub extern fn getsid(pid: pid_t) pid_t;
16001600
1601 /// int getsockname(int socket, struct sockaddr *restrict address, socklen_t *restrict address_len);
1602 /// https://pubs.opengroup.org/onlinepubs/9699919799.orig/functions/getsockname.html
1603 pub extern fn getsockname(fd: c_int, noalias addr: *struct_sockaddr, noalias len: *socklen_t) c_int;
1604
16011605 /// uid_t getuid(void);
16021606 /// https://pubs.opengroup.org/onlinepubs/9699919799.orig/functions/getuid.html
16031607 pub extern fn getuid() uid_t;
......@@ -3167,3 +3171,8 @@ pub fn writev(fd: c_int, iovec: []const struct_iovec) !usize {
31673171 std.debug.assert(rc >= 0);
31683172 return @intCast(rc);
31693173}
3174pub fn getsockname(socketfd: c_uint, noalias address: *struct_sockaddr, noalias address_len: *socklen_t) errno.Error!void {
3175 const rc = libc.getsockname(@intCast(socketfd), address, address_len);
3176 if (rc == -1) return errno.fromInt(errno.fromLibC());
3177 std.debug.assert(rc == 0);
3178}
test.zig+1
......@@ -32,4 +32,5 @@ test {
3232 _ = &linux.readlinkat;
3333 _ = &linux.write;
3434 _ = &linux.writev;
35 _ = &linux.getsockname;
3536}