[][src]Struct cpuio::Port

pub struct Port<T: InOut> { /* fields omitted */ }

An I/O port over an arbitrary type supporting the InOut interface.

This version of Port has safe read and write functions, and it's appropriate for communicating with hardware that can't violate Rust's safety guarantees.

Implementations

impl<T: InOut> Port<T>[src]

pub const unsafe fn new(port: u16) -> Port<T>[src]

Create a new I/O port.

pub fn read(&mut self) -> T[src]

Read data from the port. This is nominally safe, because you shouldn't be able to get hold of a port object unless somebody thinks it's safe to give you one.

pub fn write(&mut self, value: T)[src]

Write data to the port.

Trait Implementations

impl<T: Debug + InOut> Debug for Port<T>[src]

Auto Trait Implementations

impl<T> Send for Port<T> where
    T: Send

impl<T> Sync for Port<T> where
    T: Sync

impl<T> Unpin for Port<T> where
    T: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.