Skip to main content

Crate air_sys_syscall

Crate air_sys_syscall 

Source
Expand description

Wrappers Rust des syscalls Linux pour Air (couche 0).

Cette crate appelle les syscalls Linux directement via core::arch::asm!, sans passer par la libc. Les arguments et retours sont typés via les newtypes exposés par [air_sys_types].

L’organisation suit les familles spécifiées dans docs/specs/layer-0/family-*.md : un module Rust par famille.

Familles implémentées (passe 2 — corps complets) :

  • process : getpid/gettid/clone3/waitid/pidfd_*/prctl/rlimits/capget/capset.
  • signal : signalfd, masques, kill/tgkill/rt_sigqueueinfo, sigaction.
  • time : clock_gettime/clock_getres/clock_nanosleep, timerfd.
  • ipc : eventfd2, pipe2, splice/tee/vmsplice.
  • mem : mmap/munmap/mremap/mprotect/madvise/mlock, memfd, msync, process_vm_*.
  • fs : openat2/openat, read/write, statx, getdents64, fcntl, copy_file_range, etc.
  • net : socket/bind/listen/connect/accept4/send/recv/sendmsg/recvmsg, sockopt.
  • poll : ppoll — attente synchrone bornée/interruptible (ADR-044).
  • futex : futex_wait/futex_wake — blocage/réveil noyau (ADR-048).
  • security : seccomp_set_mode_filter/strict, Landlock (create_ruleset/restrict_self).
  • system : uname, sysinfo, gethostname/sethostname, getrandom.
  • terminal : termios — tcgetattr/tcsetattr (ioctls typés, ADR-060).

Module asynchrone (en cours) :

  • io_uring : façade typée d’io_uring (cible 6.12). Temps 1 (cœur) au stade squelette doc-first : surface complète (cycle de vie du ring, slab S1, soumission/complétion, téardown S2, probe/capabilities) avec corps todo!() ; implémentation en Pass B. Cf. docs/specs/layer-0/io-uring-1-core.md.

Modules§

arch
Syscalls spécifiques à l’architecturearch_prctl(2) (ADR-051).
device
Wrappers de la famille device.
ebpf
Wrappers de la famille ebpf.
fs
Wrappers de la famille fs — filesystem, I/O synchrone, métadonnées.
futex
Famille futex — blocage/réveil noyau sur un mot 32 bits (futex(2)).
io_uring
Module air-sys-syscall::io_uring — façade typée d’io_uring (cible 6.12).
ipc
Wrappers de la famille ipc — eventfd, pipe, opérations zero-copy.
mem
Wrappers de la famille mem — mappings, protection, memfd, etc.
net
Wrappers de la famille net — sockets synchrones.
poll
Famille poll — attente synchrone bornée et interruptible (ppoll(2)).
process
Wrappers de la famille process.
raw_syscall
raw_syscalltrappe de sortie (escape hatch) syscall générique.
security
Wrappers de la famille security — seccomp-BPF primitif et Landlock.
signal
Wrappers de la famille signal.
system
Wrappers de la famille system.
terminal
Wrappers de la famille terminal (termios/tty).
time
Wrappers de la famille time.