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 › posix › setsockopt Public Function setsockopt Doc Source Public Function std.posix.setsockopt
pub fn setsockopt (fd : socket_t , level : i32 , optname : u32 , opt : []const u8 ) SetSockOptError !void Params fd : socket_t level : i32 optname : u32 opt : []const u8 File posix.zig: 1073
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094 pub fn setsockopt (fd : socket_t , level : i32 , optname : u32 , opt : []const u8 ) SetSockOptError !void {
if (native_os == .windows ) {
@compileError ("use std.Io instead" );
} else {
switch (errno (system .setsockopt (fd , level , optname , opt .ptr , @intCast (opt .len )))) {
.SUCCESS => {},
.BADF => unreachable , // always a race condition
.NOTSOCK => unreachable , // always a race condition
.INVAL => unreachable ,
.FAULT => unreachable ,
.DOM => return error .TimeoutTooBig ,
.ISCONN => return error .AlreadyConnected ,
.NOPROTOOPT => return error .InvalidProtocolOption ,
.NOMEM => return error .SystemResources ,
.NOBUFS => return error .SystemResources ,
.PERM => return error .PermissionDenied ,
.NODEV => return error .NoDevice ,
.OPNOTSUPP => return error .OperationUnsupported ,
else => |err | return unexpectedErrno (err ),
}
}
}
Set a socket's options.