feature. See also
. The project being documented here (as the example) is the Zig library itself.
Threaded.socketOptionAfd
fn socketOptionAfd(socket: net.Socket.Handle, mode: windows.AFD.SOCKOPT_INFO.Mode, level: i32, opt_name: u32, opt_val: []u8) !void
File
Code
fn socketOptionAfd(socket: net.Socket.Handle, mode: windows.AFD.SOCKOPT_INFO.Mode, level: i32, opt_name: u32, opt_val: []u8) !void {
switch ((try deviceIoControl(&.{
.file = .{ .handle = socket, .flags = .{ .nonblocking = true } },
.code = windows.IOCTL.AFD.SOCKOPT,
.in = @ptrCast(&windows.AFD.SOCKOPT_INFO{
.mode = mode,
.level = level,
.optname = opt_name,
.optval = opt_val.ptr,
.optlen = opt_val.len,
}),
})).u.Status) {
.SUCCESS => return,
.CANCELLED => unreachable,
.INSUFFICIENT_RESOURCES => return error.SystemResources,
else => |status| return windows.unexpectedStatus(status),
}
}