socket(2): refactor the manual page
Create a chapter on every important socket type: stream, datagram,
seqpacket. Always list what protocol families do support what kinds of
sockets. Improve some statements possessing language from the
specification [1]. Reduce some statements that are mostly specific to
TCP. Provide more external links and references to various important
syscalls that can be used on sockets.
Add a paragrph on non-blocking mode.
The big factual change is documentation of SOCK_SEQPACKET. In FreeBSD 15
this socket now fully follows the specification and is a stream socket
with record boundaries.
[1] https://pubs.opengroup.org/onlinepubs/9799919799/functions/V2_chap02.html#tag_16_10_06
Approved by: re (cperciva)
Differential Revision: https://reviews.freebsd.org/D52771
(cherry picked from commit 86d17239233ea4f5766bee68ba6355804525cefa)
(cherry picked from commit ad13fd5a8fa1607805d11ced3428e86dbd94778e)
(cherry picked from commit a091d6919c3175f2385719e7b1c6fbd8576134f9)