SlopOS
ABI

Syscall Table

Overview of the SlopOS syscall ABI

The syscall table is part of the SlopOS ABI. The source tree defines the exact numeric assignments, table size, and constants. These docs describe the shape of the interface and the rules for keeping it stable.

Groups

GroupExamples
Coreyield, exit, time, system information, reboot
Random and rouletteentropy and Wheel of Fate calls
Filesystempath operations, fd operations, metadata, directory listing
Memoryheap break, mappings, protection, memfd, truncate
Processspawn, wait, terminate, exec, fork, clone, identity
SMPCPU count, current CPU, affinity
Signalsactions, masks, delivery, return, signalfd
Poll and descriptorspoll, select, pipe, dup, fcntl, ioctl, pidfd
Networkingsockets, bind/listen/accept/connect, TCP/UDP I/O, DNS, options
UI and TTYframebuffer, input, clipboard, font, pty, terminal I/O
SlopRingsetup, enter, fixed/provided buffer registration
Testingkernel/userland test reporting and test-phase control

Stability rules

  • Numeric assignments are canonical in the ABI source, not in prose.
  • Assigned numbers stay stable. Removed or reserved syscalls leave gaps.
  • New syscalls use the next available assignment from the source ABI module.
  • Structs shared across the boundary use fixed representation and explicit layout tests.
  • Userland wrappers should import ABI constants instead of duplicating numbers.
  • Public docs should describe behavior and link to generated or source ABI when exact values are required.

Return convention

Handlers return non-negative values on success and negative errno values on failure. Unknown table slots return -ENOSYS.

See Adding a syscall before extending the ABI.

On this page