1
0
Fork 0
mirror of https://gitlab.com/sortix/sortix.git synced 2023-02-13 20:55:38 -05:00
sortix--sortix/kernel/include/sortix
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
..
__ Fix <fcntl.h> including <sys/stat.h> namespace pollution. 2018-08-06 23:59:34 +02:00
kernel Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
clock.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
display.h Fix system headers using C89 incompatible comments. 2017-07-10 13:37:46 +02:00
exit.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
fcntl.h Add factory inode support. 2016-11-23 21:46:06 +01:00
fork.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
futex.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
initrd.h Fix system headers using C89 incompatible comments. 2017-07-10 13:37:46 +02:00
ioctl.h Detect whether the terminal has a display and a keyboard layout. 2016-11-23 22:31:04 +01:00
itimerspec.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
kblayout.h Fix system headers using C89 incompatible comments. 2017-07-10 13:37:46 +02:00
keycodes.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
limits.h Move readv/writev family and sendmsg/recvmsg into drivers. 2017-02-13 22:04:21 +01:00
mman.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
mode.h Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
mount.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
ps2mouse.h Add header for working with the PS/2 mouse protocol. 2021-12-12 20:34:07 +02:00
psctl.h Add support for sessions. 2016-11-23 22:30:47 +01:00
resource.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
seek.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
sigaction.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
sigevent.h Compile libc with -ffreestanding. 2016-05-15 22:43:29 +02:00
siginfo.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
signal.h Fix <signal.h> namespace pollution for strict C. 2017-08-20 12:44:33 +02:00
sigprocmask.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
sigset.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
sigval.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
socket.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
stack.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
stat.h Fix <fcntl.h> including <sys/stat.h> namespace pollution. 2018-08-06 23:59:34 +02:00
statvfs.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
syscall.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
tar.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
termios.h Add ONLCR and OCRNL. 2016-11-05 23:38:40 +01:00
termmode.h Add ONLCR and OCRNL. 2016-11-05 23:38:40 +01:00
time.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
timespec.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
tmns.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
types.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ucontext.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
uio.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
unistd.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
uthread.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
vga.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
wait.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
winsize.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00