Type SOCK [src]

Members

Source

pub const SOCK = switch (native_os) { .linux => linux.SOCK, .emscripten => emscripten.SOCK, .windows => ws2_32.SOCK, .macos, .ios, .tvos, .watchos, .visionos => struct { pub const STREAM = 1; pub const DGRAM = 2; pub const RAW = 3; pub const RDM = 4; pub const SEQPACKET = 5; pub const MAXADDRLEN = 255; /// Not actually supported by Darwin, but Zig supplies a shim. /// This numerical value is not ABI-stable. It need only not conflict /// with any other `SOCK` bits. pub const CLOEXEC = 1 << 15; /// Not actually supported by Darwin, but Zig supplies a shim. /// This numerical value is not ABI-stable. It need only not conflict /// with any other `SOCK` bits. pub const NONBLOCK = 1 << 16; }, .freebsd => struct { pub const STREAM = 1; pub const DGRAM = 2; pub const RAW = 3; pub const RDM = 4; pub const SEQPACKET = 5; pub const CLOEXEC = 0x10000000; pub const NONBLOCK = 0x20000000; }, .solaris, .illumos => struct { /// Datagram. pub const DGRAM = 1; /// STREAM. pub const STREAM = 2; /// Raw-protocol interface. pub const RAW = 4; /// Reliably-delivered message. pub const RDM = 5; /// Sequenced packed stream. pub const SEQPACKET = 6; pub const NONBLOCK = 0x100000; pub const NDELAY = 0x200000; pub const CLOEXEC = 0x080000; }, .netbsd => struct { pub const STREAM = 1; pub const DGRAM = 2; pub const RAW = 3; pub const RDM = 4; pub const SEQPACKET = 5; pub const CONN_DGRAM = 6; pub const DCCP = CONN_DGRAM; pub const CLOEXEC = 0x10000000; pub const NONBLOCK = 0x20000000; pub const NOSIGPIPE = 0x40000000; pub const FLAGS_MASK = 0xf0000000; }, .dragonfly => struct { pub const STREAM = 1; pub const DGRAM = 2; pub const RAW = 3; pub const RDM = 4; pub const SEQPACKET = 5; pub const MAXADDRLEN = 255; pub const CLOEXEC = 0x10000000; pub const NONBLOCK = 0x20000000; }, .haiku => struct { pub const STREAM = 1; pub const DGRAM = 2; pub const RAW = 3; pub const SEQPACKET = 5; pub const MISC = 255; }, .openbsd => struct { pub const STREAM = 1; pub const DGRAM = 2; pub const RAW = 3; pub const RDM = 4; pub const SEQPACKET = 5; pub const CLOEXEC = 0x8000; pub const NONBLOCK = 0x4000; }, // https://github.com/SerenityOS/serenity/blob/ac44ec5ebc707f9dd0c3d4759a1e17e91db5d74f/Kernel/API/POSIX/sys/socket.h#L31-L38 .serenity => struct { pub const STREAM = 1; pub const DGRAM = 2; pub const RAW = 3; pub const RDM = 4; pub const SEQPACKET = 5; pub const NONBLOCK = 0o4000; pub const CLOEXEC = 0o2000000; }, else => void, }