sdk_reference

Userland SDK Reference

Overview and entry point for BoredOS userland development.


BoredOS provides a compact userland SDK for building .elf applications. This page is the high-level map; detailed API references now live in dedicated pages.

SDK Structure

Primary headers are in src/userland/libc/ and UI helpers are in src/wm/.

  • stdlib.h, string.h, stdio.h, unistd.h: core libc surface
  • syscall.h: raw syscall wrappers and command constants
  • libui.h: window creation, drawing, and event polling
  • libwidget.h: higher-level reusable widgets
  • math.h: freestanding math helpers

Detailed References

  • libc Reference: current libc headers and implemented APIs
  • Syscalls: syscall numbers, FS/SYSTEM command IDs, and wrappers
  • UI API: drawing and event APIs
  • Widget API: common widgets and interaction helpers
  • Native TCC: Native C compilation directly on BoredOS

Typical Include Set

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <syscall.h>

For GUI apps:

#include <libui.h>
#include <libwidget.h>

Build and Packaging

  • Add app source under src/userland/ (CLI, GUI, or games subfolder).
  • Ensure it is included in the userland build rules/targets.
  • Build from repo root with make.
  • Built binaries are copied into initrd under /bin by the top-level Makefile.