opnsense-src/lib/libc/sys
Mark Johnston 93ff7dbaea socket: Implement SO_SPLICE
This is a feature which allows one to splice two TCP sockets together
such that data which arrives on one socket is automatically pushed into
the send buffer of the spliced socket.  This can be used to make TCP
proxying more efficient as it eliminates the need to copy data into and
out of userspace.

The interface is copied from OpenBSD, and this implementation aims to be
compatible.  Splicing is enabled by setting the SO_SPLICE socket option.
When spliced, data that arrives on the receive buffer is automatically
forwarded to the other socket.  In particular, splicing is a
unidirectional operation; to splice a socket pair in both directions,
SO_SPLICE needs to be applied to both sockets.  More concretely, when
setting the option one passes the following struct:

    struct splice {
	    int fd;
	    off_t max;
	    struct timveval idle;
    };

where "fd" refers to the socket to which the first socket is to be
spliced, and two setsockopt(SO_SPLICE) calls are required to set up a
bi-directional splice.

select(), poll() and kevent() do not return when data arrives in the
receive buffer of a spliced socket, as such data is expected to be
removed automatically once space is available in the corresponding send
buffer.  Userspace can perform I/O on spliced sockets, but it will be
unpredictably interleaved with splice I/O.

A splice can be configured to unsplice once a certain number of bytes
have been transmitted, or after a given time period.  Once unspliced,
the socket behaves normally from userspace's perspective.  The number of
bytes transmitted via the splice can be retrieved using
getsockopt(SO_SPLICE); this works after unsplicing as well, up until the
socket is closed or spliced again.  Userspace can also manually trigger
unsplicing by splicing to -1.

Splicing work is handled by dedicated threads, similar to KTLS.  A
worker thread is assigned at splice creation time.  At some point it
would be nice to have a direct dispatch mode, wherein the thread which
places data into a receive buffer is also responsible for pushing it
into the sink, but this requires tighter integration with the protocol
stack in order to avoid reentrancy problems.

Currently, sowakeup() and related functions will signal the worker
thread assigned to a spliced socket.  so_splice_xfer() does the hard
work of moving data between socket buffers.

Co-authored by:	gallatin
Reviewed by:	brooks (interface bits)
MFC after:	3 months
Sponsored by:	Klara, Inc.
Sponsored by:	Stormshield
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D46411

(cherry picked from commit a1da7dc1cdad8c000622a7b23ff5994ccfe9cac6)
2024-10-17 15:48:36 +00:00
..
__error.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
__vdso_gettimeofday.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
_exit.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
_umtx_op.2 _umtx_op.2: Fix a typo in the manual page 2024-01-23 07:40:33 +01:00
abort2.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
accept.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
accept.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
accept4.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
access.2 faccessat(2): Honor AT_SYMLINK_NOFOLLOW 2024-09-26 09:13:50 -04:00
acct.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
adjtime.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
aio_cancel.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_error.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_fsync.2 Remove _POSIX_PRIORITIZED_IO references from man pages 2024-01-19 18:52:18 -07:00
aio_mlock.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_read.2 Document aio_read2/aio_write2 2024-02-18 12:01:46 +02:00
aio_return.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_suspend.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_suspend.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
aio_waitcomplete.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
aio_write.2 Document aio_read2/aio_write2 2024-02-18 12:01:46 +02:00
bind.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
bindat.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
brk.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
brk.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
cap_enter.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cap_fcntls_limit.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cap_ioctls_limit.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cap_rights_limit.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
chdir.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
chflags.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
chmod.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
chown.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
chroot.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
clock_gettime.2 clock_gettime.2: fix markup 2024-05-10 09:01:52 -04:00
clock_gettime.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
clock_nanosleep.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
close.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
close.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
closefrom.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
closefrom.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
compat-ino64.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
compat-stub.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
connect.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
connect.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
connectat.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
copy_file_range.2 copy_file_range.2: Clarify that only regular files work 2024-01-10 17:13:23 -08:00
cpuset.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cpuset_getaffinity.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
cpuset_getdomain.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
dup.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
eventfd.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
execve.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
extattr_get_file.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fcntl.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fcntl.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fdatasync.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
ffclock.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fhlink.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fhopen.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
fhreadlink.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
flock.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fork.2 Fix "version introduced" in numerous manual pages 2024-01-15 10:20:56 -05:00
fork.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
fspacectl.2 spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
fstat.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
fstatat.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
fstatfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
fsync.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
fsync.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getdents.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getdirentries.2 getdirentries.2: Reference dir(5) 2023-09-12 13:48:18 +02:00
getdirentries.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
getdtablesize.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getfh.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getfsstat.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getfsstat.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
getgid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getgroups.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getitimer.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getlogin.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getloginclass.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getpeername.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getpgrp.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getpid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getpriority.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getrandom.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getrlimit.2 getrlimit(2): document RLIMIT_PIPEBUF 2024-10-05 10:08:54 +03:00
getrlimitusage.2 getrlimitusage.2: add the man page 2024-10-10 12:10:33 +03:00
getrusage.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getsid.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
getsockname.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
getsockopt.2 socket: Implement SO_SPLICE 2024-10-17 15:48:36 +00:00
gettimeofday.2 gettimeofday.2: Do mention improbable future removal 2024-05-04 15:05:09 +02:00
gettimeofday.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
getuid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
interposing_table.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
intro.2 intro.2 as errno.2: Update maximum hard link limit 2024-05-20 21:15:00 -06:00
ioctl.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
issetugid.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
jail.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kcmp.2 kcmp: Add a manual page 2024-01-31 09:16:29 -05:00
kenv.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kevent.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
kill.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
kldfind.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kldfirstmod.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kldload.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kldnext.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kldstat.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kldsym.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kldunload.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
kqueue.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
ktrace.2 ktrace.2: correct kern.ktrace.genio_size sysctl name 2023-10-13 10:12:34 -04:00
link.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
lio_listio.2 lio_listio(2): add LIO_FOFFSET flag to ignore aiocb aio_offset 2024-02-18 12:01:46 +02:00
listen.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
lseek.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
lstat.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
madvise.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
Makefile.inc getrlimitusage.2: add the man page 2024-10-10 12:10:33 +03:00
mincore.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
minherit.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mkdir.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mkfifo.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mknod.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mknod.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
mlock.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mlockall.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mmap.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
modfind.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
modnext.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
modstat.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mount.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mprotect.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
mq_close.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_getattr.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_notify.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_open.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_receive.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_send.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_setattr.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
mq_unlink.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
msgctl.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
msgget.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
msgrcv.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
msgsnd.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
msync.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
msync.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
munmap.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
nanosleep.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
nanosleep.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
nfssvc.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
ntp_adjtime.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
open.2 open(2): Extend EINVAL's description 2024-09-01 03:53:36 +03:00
open.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
openat.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
pathconf.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
pdfork.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
pdfork.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
pipe.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
pipe.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
poll.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
poll.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
POSIX2x_Fork.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
posix_fadvise.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
posix_fallocate.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
posix_openpt.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
ppoll.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
procctl.2 procctl.2: improve phrasing for ASLR disable 2023-12-02 00:03:25 +00:00
profil.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
pselect.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
pselect.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
ptrace.2 ptrace(2): Disabling: Describe influence of security.bsd.see_jail_proc 2023-10-17 16:42:59 -03:00
ptrace.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
quotactl.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
rctl_add_rule.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
read.2 read.2: Describe debug.iosize_max_clamp 2024-02-14 05:41:54 +02:00
read.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
readlink.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
readv.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
reboot.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
recv.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
recvfrom.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
recvmsg.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
rename.2 rename(2): Extend EINVAL's description 2024-09-01 03:53:36 +03:00
revoke.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
rfork.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
rmdir.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
rtprio.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sched_get_priority_max.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sched_setparam.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sched_setscheduler.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sched_yield.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sctp_generic_recvmsg.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sctp_generic_sendmsg.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sctp_peeloff.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
select.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
select.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
semctl.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
semget.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
semop.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
send.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sendfile.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sendmsg.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sendto.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
setcontext.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
setfib.2 setfib.2: Consistently capitalize "FIB" 2024-01-11 09:18:12 -05:00
setgroups.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setpgid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setregid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setresuid.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
setreuid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setsid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
setuid.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
shm_open.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
shm_open.c memfd_create: move implementation to libc/gen 2023-12-21 18:13:18 +00:00
shmat.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
shmctl.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
shmget.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
shutdown.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigaction.2 sigaction.2: clarify that fork isn't async-signal-safe, but _Fork is 2024-01-19 18:51:27 -07:00
sigaction.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigaltstack.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigfastblock.2 sigfastblock.2: Fix a typo in the manual page 2024-01-23 07:43:27 +01:00
sigpending.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigprocmask.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigprocmask.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigqueue.2 sigqueue(2): Document __SIGQUEUE_TID 2024-04-30 03:48:09 +03:00
sigreturn.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigstack.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigsuspend.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sigsuspend.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigtimedwait.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigwait.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sigwait.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
sigwaitinfo.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
sigwaitinfo.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
socket.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
socketpair.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
stat.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
stat.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
statfs.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
statfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
swapcontext.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
swapon.2 swapon.2: correct FreeBSD release that introduced swapoff 2023-09-21 12:52:46 -04:00
Symbol.map Userspace enablement for getrlimitusage(2) 2024-10-05 10:08:55 +03:00
symlink.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sync.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
sysarch.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
syscall.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
thr_exit.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
thr_kill.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
thr_new.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
thr_self.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
thr_set_name.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
thr_suspend.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
thr_wake.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
timer_create.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
timer_delete.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
timer_settime.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
timerfd.2 timerfd.2: Remove a double word 2024-04-23 07:22:46 +02:00
truncate.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
umask.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
undelete.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
unlink.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
utimensat.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
utimes.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
utrace.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
uuidgen.2 Remove $FreeBSD$: two-line nroff pattern 2023-08-16 11:55:10 -06:00
vadvise.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
vfork.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
wait.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
wait4.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
wait6.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
write.2 Remove $FreeBSD$: one-line nroff pattern 2023-08-16 11:55:15 -06:00
write.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00
writev.c libc: Purge unneeded cdefs.h 2023-11-26 21:20:09 -07:00