sortix-mirror/kernel/include/sortix/kernel
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
..
addralloc.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
clock.h Make interrupt work thread reliable. 2017-04-12 23:22:09 +02:00
copy.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
cpu.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
cpuid.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
decl.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
descriptor.h Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
dtable.h Add file descriptor table reservations. 2021-12-31 22:24:07 +01:00
elf.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
fcache.h Move readv/writev family and sendmsg/recvmsg into drivers. 2017-02-13 22:04:21 +01:00
fsfunc.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
harddisk.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
inode.h Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
interlock.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
interrupt.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
ioctx.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ioport.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
kernel.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
keyboard.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
kthread.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
log.h Refactor graphical resolution changes. 2016-11-27 11:18:48 +01:00
memorymanagement.h Add cache-aware memory mapping functions. 2017-02-19 12:13:32 +01:00
mtable.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
panic.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
pat.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
pci-mmio.h Add cache-aware memory mapping functions. 2017-02-19 12:13:32 +01:00
pci.h Add PCI scanning functions and busmastering functions. 2017-02-19 12:10:59 +01:00
pipe.h Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
poll.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
process.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
ps2.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
ptable.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
random.h Seed kernel entropy with randomness from the previous boot. 2016-10-04 00:34:50 +02:00
refcount.h Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
registers.h Remove not_rsp and not_esp. 2016-10-30 12:03:47 +00:00
scheduler.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
segment.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
signal.h Add signal mask support to ppoll(2). 2018-12-08 22:54:28 +01:00
sockopt.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
sortedlist.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
string.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
textbuffer.h Support 8-bit/24-bit color and more escape codes in the graphical console. 2016-11-27 11:19:03 +01:00
thread.h Implement threading primitives that truly sleep. 2021-06-23 22:10:47 +02:00
time.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
timer.h Fix handling of overflow and non-canonical values in timespec APIs. 2021-06-22 21:48:27 +02:00
user-timer.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
video.h Refactor graphical resolution changes. 2016-11-27 11:18:48 +01:00
vnode.h Implement file descriptor passing. 2021-12-31 22:24:11 +01:00
worker.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00
yielder.h Relicense Sortix to the ISC license. 2016-03-05 22:21:50 +01:00