Page MenuHomeFreeBSD

socket(2): refactor the manual page
ClosedPublic

Authored by glebius on Sun, Sep 28, 9:57 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 23, 1:03 AM
Unknown Object (File)
Thu, Oct 23, 12:23 AM
Unknown Object (File)
Thu, Oct 23, 12:07 AM
Unknown Object (File)
Fri, Oct 17, 3:32 AM
Unknown Object (File)
Thu, Oct 16, 10:39 PM
Unknown Object (File)
Thu, Oct 16, 9:24 PM
Unknown Object (File)
Thu, Oct 16, 9:24 PM
Unknown Object (File)
Thu, Oct 16, 9:24 PM

Details

Summary

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.

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

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

lib/libsys/socket.2
246–253

I think it's worth noting that implicit boundaries are not set using write or writev anymore and the sender should use the send(2) family of functions with the MSG_EOR flag instead.

  • Added sentence on how to set record boundaries with SOCK_SEQPACKET.
  • Add a paragraph on non-blocking mode
This revision was not accepted when it landed; it landed in state Needs Review.Tue, Oct 14, 6:41 PM
This revision was automatically updated to reflect the committed changes.