Multiboot Build Status Crates.io

This is a multiboot (v1) library written entirely in rust. The code depends only on libcore.

How-to use

```rust extern crate multiboot;

use multiboot::{Multiboot, PAddr}; use core::slice; use core::mem;

pub fn paddrtoslice<'a>(p: multiboot::PAddr, sz: usize) -> Option<&'a [u8]> { unsafe { let ptr = mem::transmute(p); Some(slice::fromrawparts(ptr, sz)) } }

/// mbootptr is the initial pointer to the multiboot structure /// provided in %ebx on start-up. pub fn usemultiboot(mbootptr: PAddr) { unsafe { Multiboot::new(mbootptr, paddrtoslice); } } ```

Functionality is still not complete and patches are welcome!

Documentation