Home | History | Annotate | Download | only in sys
History log of /src/lib/libc/sys/socket.2
RevisionDateAuthorComments
 1.52  17-Jul-2025  kre Man pages for O_CLOFORK implementation

These are Ricardo Branco's man page updates for affected functions
using O_CLOFORK (and associated variants) for NetBSD (with
a few minor changes and additions by me).
 1.51  28-Jul-2023  wiz branches: 1.51.2;
Remove Pp that have no effect.
 1.50  20-Jul-2023  gutteridge socket.2: simplify and improve some phrasing
 1.49  08-Jun-2023  uwe socket(2): change type flags list back to -tag

On second thought, convert the list of type flags back to -tag, but
don't make it -compact. This way it's easier to see that it's related
to the list above.
 1.48  06-Jun-2023  uwe socket(2): fix macro invocation in a column
 1.47  06-Jun-2023  uwe socket(2): use "provides" consistently in "type" descriptions
 1.46  06-Jun-2023  uwe socket(2): use .Bl -column where appropriate
 1.45  06-Jun-2023  riastradh socket(2): Move prose list of socket type summaries into a table.
 1.44  06-Jun-2023  riastradh socket(2): Tidy up markup a bit.

Use a tag list, not a literal block with hand-formatted text, for
protocols and socket type flags.
 1.43  28-Jun-2022  rillig fix references in manual pages to the reference documentation
 1.42  27-May-2017  bouyer merge the bouyer-socketcan branch to HEAD.

CAN stands for Controller Area Network, a broadcast network used
in automation and automotive fields. For example, the NMEA2000 standard
developped for marine devices uses a CAN network as the link layer.

This is an implementation of the linux socketcan API:
https://www.kernel.org/doc/Documentation/networking/can.txt
you can also see can(4).

This adds a new socket family (AF_CAN) and protocol (PF_CAN),
as well as the canconfig(8) utility, used to set timing parameter of
CAN hardware. Also inclued is a driver for the CAN controller
found in the allwinner A20 SoC (I tested it with an Olimex lime2 board,
connected with PIC18-based CAN devices).

There is also the canloop(4) pseudo-device, which allows to use
the socketcan API without CAN hardware.

At this time the CANFD part of the linux socketcan API is not implemented.
Error frames are not implemented either. But I could get the cansend and
canreceive utilities from the canutils package to build and run with minimal
changes. tcpudmp(8) can also be used to record frames, which can be
decoded with etherreal.
 1.41  01-Mar-2013  joerg branches: 1.41.16;
Retire OSI network stack. OK core@
 1.40  05-Feb-2013  joerg Remove remnants of AF_IMPLINK.
 1.39  25-Jan-2012  wiz branches: 1.39.6;
Bump date for previous.
 1.38  25-Jan-2012  christos As discussed in tech-kern, provide the means to prevent delivery of SIGPIPE
on EPIPE for all file descriptor types:

- provide O_NOSIGPIPE for open,kqueue1,pipe2,dup3,fcntl(F_{G,S}ETFL) [NetBSD]
- provide SOCK_NOSIGPIPE for socket,socketpair [NetBSD]
- provide SO_NOSIGPIPE for {g,s}seckopt [NetBSD/FreeBSD/MacOSX]
- provide F_{G,S}ETNOSIGPIPE for fcntl [MacOSX]
 1.37  26-Jun-2011  christos branches: 1.37.2;
* Arrange for interfaces that create new file descriptors to be able to
set close-on-exec on creation (http://udrepper.livejournal.com/20407.html).

- Add F_DUPFD_CLOEXEC to fcntl(2).
- Add MSG_CMSG_CLOEXEC to recvmsg(2) for unix file descriptor passing.
- Add dup3(2) syscall with a flags argument for O_CLOEXEC, O_NONBLOCK.
- Add pipe2(2) syscall with a flags argument for O_CLOEXEC, O_NONBLOCK.
- Add flags SOCK_CLOEXEC, SOCK_NONBLOCK to the socket type parameter
for socket(2) and socketpair(2).
- Add new paccept(2) syscall that takes an additional sigset_t to alter
the sigmask temporarily and a flags argument to set SOCK_CLOEXEC,
SOCK_NONBLOCK.
- Add new mode character 'e' to fopen(3) and popen(3) to open pipes
and file descriptors for close on exec.
- Add new kqueue1(2) syscall with a new flags argument to open the
kqueue file descriptor with O_CLOEXEC, O_NONBLOCK.

* Fix the system calls that take socklen_t arguments to actually do so.

* Don't include userland header files (signal.h) from system header files
(rump_syscallargs.h).

* Bump libc version for the new syscalls.
 1.36  06-Sep-2007  jnemeth PR/36933 - Robert Elz -- ARPA IPv6 -> IPv6
 1.35  02-Mar-2007  wiz branches: 1.35.4;
Bump date for previous.
 1.34  20-Feb-2007  plunky Add PF_BLUETOOTH to list of supported protocol families
 1.33  13-Jun-2006  ginsbach branches: 1.33.4; 1.33.6;
Add EAFNOSUPPORT as a possible error if the address family is not
supported. This adds further differentiation between which argument to
socket(2) caused the error. No longer are invalid domain (address family)
errors classified as ENOPROTOSUPPORT errors. This should make socket(2)
conform to current POSIX and X/Open standards. Fixes PR/33676.
 1.32  13-Jun-2006  ginsbach Sort ERRORS. Bump date.
 1.31  03-Nov-2004  jmmv branches: 1.31.2;
Add missing colon symbol after sentence.
 1.30  13-May-2004  wiz \- is a minus, not -.
 1.29  31-Mar-2004  pooka Pipes aren't "full-duplex byte streams", so don't compare SOCK_STREAM
type sockets to them.
 1.28  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.27  15-May-2003  wiz Point to IPC tutorials in /usr/share/doc/psd, update names, and add authors.
Bump date.
Suggested by kleink.
 1.26  01-May-2003  wiz a -> an from jmc@openbsd. Add a comma while here.
 1.25  16-Apr-2003  wiz Use
.In header.h
instead of
.Fd #include \*[Lt]header.h\*[Gt]
Much easier to read and write, and supported by groff for ages.
Okayed by ross.
 1.24  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.23  01-Oct-2002  wiz New sentence, new line. From Robert Elz.
 1.22  08-Feb-2002  ross Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 1.21  16-Oct-2001  kleink Remove inclusion of <sys/types.h> from synopsis; it is no longer needed.
 1.20  16-Sep-2001  wiz Sort sections, sort SEE ALSO, punctuation and miscellanous fixes.
 1.19  16-Sep-2001  wiz Boring whitespace fixes.
 1.18  05-Oct-2000  ad branches: 1.18.2;
insure -> ensure
 1.17  22-May-2000  itojun add PF_INET6.
 1.16  11-Dec-1999  msaitoh use .Er
 1.15  02-Dec-1999  kleink Add a LIBRARY section to system call manual pages. While it's clear that the
libraries contain stubs only (with minor exceptions a la pipe(2)), the purpose
of this section is to provide linkage information.
 1.14  24-Jun-1999  tron branches: 1.14.4;
Add missing reference to setsockopt(2) to "SEE ALSO" section.
 1.13  22-Mar-1999  garbled branches: 1.13.2;
Last of the .Os cleanups. .Os is defined in the tmac.doc-common file,
so we shouldn't override it with versions in the manpages. Wheee!
 1.12  29-Aug-1998  lukem first pass at fixing up capitalization of function names and
arguments; ensure that each is correct with respect to the
implementation, rather than being correct as per english.
 1.11  01-Aug-1998  thorpej Protocol Family (PF_*) constants are used to select the domain,
not Address Family (AF_*).
 1.10  28-Jul-1998  is Mention poll(2), too, where we formerly only mentioned select(2).
 1.9  21-Jul-1998  jeremy Added AppleTalk to the list of supported protocol domains.
 1.8  18-Jul-1998  lukem use AF_LOCAL instead of AF_UNIX
 1.7  30-Apr-1998  fair fix .Xr reference
 1.6  27-Nov-1997  mikel s/EACCESS/EACCES/, from Brian Evans via OpenBSD
 1.5  27-Feb-1995  cgd branches: 1.5.10;
merge with lite, keeping most local changes. clean up Ids
 1.4  29-Nov-1993  jtc Use "Er" for argument to -width in the lists in the ERROR sections --- so
the formatting is consistant.
 1.3  25-Nov-1993  jtc Clean up manpages:
Use .Fn rather than .Nm macro in HISTORY and STANDARDS sections.
Use .At and .St macros instead of spelling out "Version 6 UNIX",
"IEEE 1003.1-1988 (POSIX)", etc.
 1.2  01-Aug-1993  mycroft Add RCS indentifiers.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  27-Feb-1995  cgd from Lite
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.5.10.1  28-Nov-1997  mellon Pull rev 1.6 up from trunk (mikel)
 1.13.2.1  25-Jun-1999  perry pullup 1.13->1.14 (tron)
 1.14.4.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.18.2.5  18-Oct-2002  nathanw Catch up to -current.
 1.18.2.4  22-Mar-2002  nathanw Catch up to -current.
 1.18.2.3  08-Mar-2002  nathanw Catch up to -current.
 1.18.2.2  14-Nov-2001  nathanw Catch up to -current.
 1.18.2.1  08-Oct-2001  nathanw Catch up to -current.
 1.31.2.2  25-Oct-2006  ghen Back out ticket #1568, it breaks source and binary compatibility.
Noted by pavel.
 1.31.2.1  25-Oct-2006  ghen Pull up following revision(s) (requested by ginsbach in ticket #1568):
sys/kern/uipc_socket.c: revision 1.120
lib/libc/sys/socket.2: revision 1.32
lib/libc/sys/socket.2: revision 1.33
Sort ERRORS. Bump date.
Add EAFNOSUPPORT as a possible error if the address family is not
supported. This adds further differentiation between which argument to
socket(2) caused the error. No longer are invalid domain (address family)
errors classified as ENOPROTOSUPPORT errors. This should make socket(2)
conform to current POSIX and X/Open standards. Fixes PR/33676.
 1.33.6.1  23-Sep-2007  wrstuden Sync with somewhat-recent netbsd-4.
 1.33.4.1  11-Sep-2007  msaitoh Pull up rev. 1.34-1.36 (requested by jnemeth in ticket #868):

Add PF_BLUETOOTH to list of supported protocol families.
ARPA IPv6 -> IPv6 reported from Robert Elz (PR/36933)
 1.35.4.1  06-Nov-2007  matt sync with HEAD
 1.37.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.37.2.1  17-Apr-2012  yamt sync with head
 1.39.6.2  23-Jun-2013  tls resync from head
 1.39.6.1  25-Feb-2013  tls resync with head
 1.41.16.1  18-May-2017  bouyer add PF_CAN
 1.51.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed