pub struct UserIO<Interface: IoInterface, Access: IoAccessKind = ReadWrite, OwnKind: OwnStrictness = Owned> { /* private fields */ }
Expand description
Userspace access to IO devices
§Currently Supported Interfaces
CpuIO
CPU IO Port bus access
§Why use this type?
UserIO
represents an ‘owned’ access over some IO device on the system. This is important because future
processes will not be able to access this IO device until it is dropped.
This type also attempts to implment the interface to access such hardware device in the safest possible way.
Implementations§
Source§impl<Access: IoAccessKind, OwnKind: OwnStrictness> UserIO<CpuIO, Access, OwnKind>
impl<Access: IoAccessKind, OwnKind: OwnStrictness> UserIO<CpuIO, Access, OwnKind>
Source§impl<Access: IoAccessKind, OwnKind: OwnStrictness> UserIO<CpuIO, Access, OwnKind>
impl<Access: IoAccessKind, OwnKind: OwnStrictness> UserIO<CpuIO, Access, OwnKind>
Source§impl<Access: IoAccessKind, OwnKind: OwnStrictness> UserIO<CpuIO, Access, OwnKind>
impl<Access: IoAccessKind, OwnKind: OwnStrictness> UserIO<CpuIO, Access, OwnKind>
Trait Implementations§
impl<Interface: IoInterface, Owner: OwnStrictness> IoSupportsReadWrite for UserIO<Interface, ReadWrite, Owner>
impl<Interface: IoInterface, Owner: OwnStrictness> IoSupportsReading for UserIO<Interface, ReadOnly, Owner>
impl<Interface: IoInterface, Owner: OwnStrictness> IoSupportsReading for UserIO<Interface, ReadWrite, Owner>
impl<Interface: IoInterface, Owner: OwnStrictness> IoSupportsWritting for UserIO<Interface, ReadWrite, Owner>
impl<Interface: IoInterface, Owner: OwnStrictness> IoSupportsWritting for UserIO<Interface, WriteOnly, Owner>
Auto Trait Implementations§
impl<Interface, Access, OwnKind> Freeze for UserIO<Interface, Access, OwnKind>where
Interface: Freeze,
impl<Interface, Access, OwnKind> RefUnwindSafe for UserIO<Interface, Access, OwnKind>
impl<Interface, Access, OwnKind> Send for UserIO<Interface, Access, OwnKind>
impl<Interface, Access, OwnKind> Sync for UserIO<Interface, Access, OwnKind>
impl<Interface, Access, OwnKind> Unpin for UserIO<Interface, Access, OwnKind>
impl<Interface, Access, OwnKind> UnwindSafe for UserIO<Interface, Access, OwnKind>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more