zig/lib/std/os/bits
lithdew 2ab588049e x/os, x/net: layout tcp, ipv4/ipv6, and socket abstractions
The `Socket` abstraction was refactored to only comprise of methods that
can be generically used/applied to all socket domains and protocols.

A more comprehensive IPv4/IPv6 module derived from @LemonBoy's earlier
work was implemented under `std.x.os.IPv4` and `std.x.os.IPv6`. Using
this module, one can then combine them together into a union for example
in order to optimize memory usage when dealing with socket addresses.

A `TCP.Client` and `TCP.Listener` abstraction is introduced that is one
layer over the `Socket` abstraction, which isolates methods that can
only be applied to a "client socket" and a "listening socket". All prior
tests from the `Socket` abstraction, which all previously operated
assuming the socket is operating via. TCP/IP, were moved. All TCP socket
options were also moved into the `TCP.Client` and `TCP.Listener`
abstractions respectively away from the `Socket` abstraction.

Some additional socket options from @LemonBoy's prior PR for Darwin were
also moved in (i.e. SIGNOPIPE).
2021-05-03 14:49:10 +09:00
..
linux std: Import correct errno defs for SPARC 2021-05-01 11:03:59 +02:00
darwin.zig x/os, x/net: layout tcp, ipv4/ipv6, and socket abstractions 2021-05-03 14:49:10 +09:00
dragonfly.zig freebsd, netbsd, dragonfly: add struct timeval 2021-01-05 13:07:25 -08:00
freebsd.zig Convert inline fn to callconv(.Inline) everywhere 2021-02-10 20:06:12 -07:00
haiku.zig update haiku system constants 2021-04-23 23:40:42 -05:00
linux.zig std: Add signal numbers for SPARC 2021-05-01 12:25:40 +02:00
netbsd.zig netbsd: minor fixes to allow stage1 to build 2021-04-07 16:26:21 -07:00
openbsd.zig x: fmt source code 2021-04-25 21:15:02 +09:00
wasi.zig Year++ 2020-12-31 15:45:24 -08:00
windows.zig define nfds_t for windows 2021-01-12 16:37:58 -08:00