API Reference

This page summarises the most important public items exported by the kernel. For full details, see the source code.

Memory Management

  • pub fn init_heap(mapper: &mut impl Mapper, frame_allocator: &mut impl FrameAllocator) -> Result
  • pub struct BootInfoFrameAllocator – implements FrameAllocator.
  • pub struct Locked<A> – wrapper for spin mutex with GlobalAlloc impl.

ATA Driver

  • pub static ATA_BUS: Mutex<AtaBus>
  • impl AtaBus { pub fn read_sector(&mut self, lba: u32, buffer: &mut [u8; 512]); }

Task / Executor

  • pub struct Task { ... }Task::new(future)
  • pub struct Executor { ... }new(), spawn(), run()
  • pub fn print_keypresses() -> impl Future – async keyboard stream.

Interrupts & GDT

  • pub fn init() – initialises IDT, GDT, PIC.
  • pub const DOUBLE_FAULT_IST_INDEX: u16
  • pub unsafe fn jump_to_user_space(user_fn: fn() -> !) -> !

Serial & VGA

  • serial_print!, serial_println! macros
  • print!, println! macros for VGA text mode