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 › setSocketOptionPosix Private Function setSocketOptionPosix Doc Source Private Function std.Io.Threaded.setSocketOptionPosix
fn setSocketOptionPosix (fd : posix .fd_t , level : i32 , opt_name : u32 , option : u32 ) !void Params fd : posix .fd_t level : i32 opt_name : u32 option : u32 File Io/Threaded.zig: 12302
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327 fn setSocketOptionPosix (fd : posix .fd_t , level : i32 , opt_name : u32 , option : u32 ) !void {
const o : []const u8 = @ptrCast (&option );
const syscall : Syscall = try .start ();
while (true ) {
switch (posix .errno (posix .system .setsockopt (fd , level , opt_name , o .ptr , @intCast (o .len )))) {
.SUCCESS => {
syscall .finish ();
return ;
},
.INTR => {
try syscall .checkCancel ();
continue ;
},
else => |e | {
syscall .finish ();
switch (e ) {
.BADF => |err | return errnoBug (err ), // File descriptor used after closed.
.NOTSOCK => |err | return errnoBug (err ),
.INVAL => |err | return errnoBug (err ),
.FAULT => |err | return errnoBug (err ),
else => |err | return posix .unexpectedErrno (err ),
}
},
}
}
}