API Reference — AeroOS 26R1

Kernel C API

aeroos_uart_puts()

void aeroos_uart_puts(const char *s);

Write null-terminated string to UART console (NS16550).

aeroos_uart_putc()

void aeroos_uart_putc(char c);

Write single character to UART.

scheduler_create()

int scheduler_create(void (*entry)(void), int mode);

Create new task. mode = 0 (S-mode) or 1 (U-mode). Returns task ID ≥ 0, or -1.

scheduler_create2()

int scheduler_create2(uint64_t entry, uint64_t priority);

Create U-mode task from Aero (needs #[no_mangle] extern).

timer_enable() / timer_disable()

void timer_enable(void);
void timer_disable(void);

Enable/disable CLINT timer interrupt.

Aero Runtime Exports

From U-mode programs (via extern "C" declaration):

extern "C" fn sys_write(s: str, n: i64) -> i64;
extern "C" fn sys_yield();
extern "C" fn sys_exit();
extern "C" fn sys_fork(entry: u64) -> i64;