Source
pub const msghdr = switch (native_os) {
.linux => linux.msghdr,
.openbsd,
.emscripten,
.dragonfly,
.freebsd,
.netbsd,
.haiku,
.solaris,
.illumos,
.macos,
.driverkit,
.ios,
.tvos,
.visionos,
.watchos,
=> extern struct {
/// optional address
name: ?*sockaddr,
/// size of address
namelen: socklen_t,
/// scatter/gather array
iov: [*]iovec,
/// # elements in iov
iovlen: i32,
/// ancillary data
control: ?*anyopaque,
/// ancillary data buffer len
controllen: socklen_t,
/// flags on received message
flags: i32,
},
// https://github.com/SerenityOS/serenity/blob/ac44ec5ebc707f9dd0c3d4759a1e17e91db5d74f/Kernel/API/POSIX/sys/socket.h#L74-L82
.serenity => extern struct {
name: ?*anyopaque,
namelen: socklen_t,
iov: [*]iovec,
iovlen: c_int,
control: ?*anyopaque,
controllen: socklen_t,
flags: c_int,
},
else => void,
}