cpuio
: Rust wrapper for inb
, outb
, etc., instructions
WARNING: The interface to the low-level outb
, outw
and outl
functions has changed to match Linux. Please reverse the order of
arguments to these three functions.
This library is intended to be run on bare metal, and it only depends on
the core
library.
To use this, add it to your Cargo.toml
file and call cpuio::Port::new
to create a port, being sure to specify u8
, u16
or u32
depending on
the size data supported by the port.
extern crate cpuio;
use Port;
The constructor Port::new
is available as a const fn
, which allows you
to configure a port at compile time.
The is also an UnsafePort
type which is identical, except that read
and
write
are explicitly marked as unsafe. It's better to use UnsafePort
whenever any individual port operation might corrupt memory or cause
undefined behavior.
Licensing
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.