Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › Io/ › Threaded.zig › posixGetSockName
posixGetSockName
Threaded.posixGetSockName
fn posixGetSockName (
socket_fd : posix .fd_t ,
addr : *posix .sockaddr ,
addr_len : *posix .socklen_t ,
) !void
File
Code
fn posixGetSockName (
socket_fd : posix .fd_t ,
addr : *posix .sockaddr ,
addr_len : *posix .socklen_t ,
) !void {
const syscall : Syscall = try .start ();
while (true ) {
switch (posix .errno (posix .system .getsockname (socket_fd , addr , addr_len ))) {
.SUCCESS => {
syscall .finish ();
break ;
},
.INTR => {
try syscall .checkCancel ();
continue ;
},
else => |e | {
syscall .finish ();
switch (e ) {
.BADF => |err | return errnoBug (err ),
.FAULT => |err | return errnoBug (err ),
.INVAL => |err | return errnoBug (err ),
.NOTSOCK => |err | return errnoBug (err ),
.NOBUFS => return error .SystemResources ,
else => |err | return posix .unexpectedErrno (err ),
}
},
}
}
}