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 external/libc/include/.
stdlib.h,string.h,stdio.h,unistd.h: core libc surfacesyscall.h: raw syscall wrappers and command constantsmath.h: freestanding math helperssys/ioctl.h: device-specific I/O control operations (like framebuffer parameters, TTY window sizes, and TTY mode settings)sys/kd.h: console graphics mode definitions (KDSETMODE,KD_GRAPHICS,KD_TEXT)
Detailed References
libc Reference: current libc headers and implemented APIsSyscalls: syscall numbers, FS/SYSTEM command IDs, and wrappersRaw Graphics Guide: raw framebuffer (/dev/fb0) drawing, ioctls, mmap, and TTY recoveryNative TCC: Native C compilation directly on BoredOSNova Protocol: Compositor wire format protocols and event messaging.Nova Toolkit (NTK): Native C object-based widget library for graphical GUI software.
Typical Include Set
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <syscall.h>
#include <sys/ioctl.h>
For Direct Framebuffer (Graphics) apps:
#include <sys/ioctl.h>
#include <sys/kd.h>
For raw Nova compositor clients:
#include <novaproto.h>
For NTK GUI applications:
#include <ntk.h>
Build and Packaging
- Add app source under the appropriate external repository source directory (for example,
external/coreutils/src/,external/nova/src/, or a newexternal/<repo>/src/). - Ensure it is included in the userland build rules/targets.
- Build from repo root with
make. - Built binaries are copied into initrd under
/binby the top-levelMakefile.