#syscalls #libos #kernel

no-std safa-api

A high-level API over SafaOS's syscalls

20 unstable releases (3 breaking)

0.4.3 Aug 11, 2025
0.4.2 Jul 30, 2025
0.3.1 Jun 21, 2025
0.3.0 May 15, 2025
0.1.7 Mar 25, 2025

#124 in Operating systems

Download history 12/week @ 2025-12-10 13/week @ 2025-12-17

1,585 downloads per month

MIT license

89KB
2K SLoC

A high-level API over SafaOS's syscalls

for example self::alloc is a high-level userspace allocator which internally uses the self::syscalls::syssbrk syscall

This crate also exposes raw SafaOS syscalls (see self::syscalls) and raw SafaOS abi structures (see self::raw)


safa-api

An API that exposes SafaOS's syscalls, and provides a higher-level interface over some syscalls.

crates.io docs.rs

Usage

Using in your rust project

simply run

cargo add safa-api

if you have std then you can also add the feature std

cargo add safa-api --features std

if you want to use it in any other project which is written in a language that has a C FFi (such as C, C++, etc.) proceed to the next section

Compiling to static library

there is a script build.sh which builds the library and the crt0 object to ./out directory.

run

./build.sh

and then link it to your project

Dependencies

~70–315KB