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 standard library.
std › Io › Threaded › posixGetSockName Private Function posixGetSockName Doc Source Private Function std.Io.Threaded.posixGetSockName
fn posixGetSockName (
socket_fd : posix .fd_t ,
addr : *posix .sockaddr ,
addr_len : *posix .socklen_t ,
) !void Params File Io/Threaded.zig: 12271
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300 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 ), // File descriptor used after closed.
.FAULT => |err | return errnoBug (err ),
.INVAL => |err | return errnoBug (err ), // invalid parameters
.NOTSOCK => |err | return errnoBug (err ), // always a race condition
.NOBUFS => return error .SystemResources ,
else => |err | return posix .unexpectedErrno (err ),
}
},
}
}
}