sortix-mirror/libc/include
Jonas 'Sortie' Termansen 3c43f71084 Implement file descriptor passing.
This change refactors the Unix socket / pipe backend to have a ring buffer
containing segments, where each segment has an optional leading ancillary
buffer containing control messages followed by a normal data buffer.

The SCM_RIGHTS control message has been implemented which transfers file
descriptors to the receiving process. File descriptors are reference counted
and cycles are prevented using the following restrictions:

1) Unix sockets cannot be sent on themselves (on either end).
2) Unix sockets themselves being sent cannot be sent on.
3) Unix sockets cannot send a Unix socket being sent on.

This is a compatible ABI change.
2021-12-31 22:24:11 +01:00
..
__ Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
arpa Delete inet_addr(3) and inet_ntoa(3). 2020-07-29 21:38:41 +02:00
netinet Add TCP_MAXSEG and TCP_NOPUSH definitions. 2021-01-23 00:35:38 +01:00
sys Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
DIR.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
FILE.h Fix <stdio.h> pulling in <pthread.h> through <FILE.h> when __is_sortix_libc. 2018-07-17 12:25:52 +02:00
alloca.h Clean up alloca.h header. 2016-05-15 22:43:29 +02:00
ar.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
argp.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
assert.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
blf.h Add bcrypt_checkhash(3) and bcrypt_newhash(3). 2016-01-09 02:54:51 +01:00
brand.h Make the branding system more neutral. 2016-05-15 22:43:29 +02:00
byteswap.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ctype.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
dirent.h Fix <fcntl.h> including <sys/stat.h> namespace pollution. 2018-08-06 23:59:34 +02:00
dlfcn.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
elf.h Replace <elf.h> with public domain version from musl. 2016-02-29 01:37:31 +01:00
endian.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
err.h Add errc(3) family. 2016-11-06 15:31:52 -06:00
errno.h Add ENOMEDIUM. 2021-05-29 00:52:33 +02:00
error.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fcntl.h Fix <fcntl.h> including <sys/stat.h> namespace pollution. 2018-08-06 23:59:34 +02:00
features.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fnmatch.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fsmarshall-msg.h Fix <fcntl.h> including <sys/stat.h> namespace pollution. 2018-08-06 23:59:34 +02:00
fsmarshall.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fstab.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
getopt.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
grp.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
inttypes.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ioleast.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
langinfo.h Add nl_langinfo(3). 2016-10-03 20:02:12 +02:00
libgen.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
libk.h Abort on overlapping memcpy. 2021-05-30 23:48:19 +02:00
locale.h Fix <locale.h> not defining NULL. 2017-08-20 12:44:34 +02:00
malloc.h Fix kernel HEAP_GUARD_DEBUG support. 2017-05-15 22:11:24 +02:00
msr.h Compile libc with -ffreestanding. 2016-05-15 22:43:29 +02:00
netdb.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
poll.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
psctl.h Fix <psctl.h> using the same include guard as <sys/ioctl.h>. 2021-12-12 22:13:05 +01:00
pthread.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
pty.h Add openpty(3). 2016-11-23 22:31:05 +01:00
pwd.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
regex.h Add REG_STARTEND. 2016-10-30 18:08:59 +01:00
sched.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
scram.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
semaphore.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
setjmp.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
sha2.h Add <sha2.h>. 2020-04-13 22:15:04 +02:00
signal.h Fix <signal.h> namespace pollution for strict C. 2017-08-20 12:44:33 +02:00
stdint.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
stdio.h Rewrite scanf(3) to be standards compliant. 2020-03-07 23:31:05 +01:00
stdio_ext.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
stdlib.h Fix <stdlib.h> using long long in C89 mode. 2017-08-20 12:44:34 +02:00
string.h Fix <string.h> including <sys/__/types.h> in strict C mode. 2017-08-20 12:44:34 +02:00
strings.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
syslog.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
system-elf.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
termios.h Add pseudo terminals. 2016-11-23 22:31:05 +01:00
time.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
timespec.h Fix handling of overflow and non-canonical values in timespec APIs. 2021-06-22 21:48:27 +02:00
unistd.h Add support for sessions. 2016-11-23 22:30:47 +01:00
utime.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
wchar.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
wctype.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00