rttrust 0.1.3

Rust wrapper for rt-thread
Documentation
pub(crate) mod device {
    use crate::device::DeviceCommand;
    use crate::device::DeviceType;
    use crate::device::OpenFlag;
    use crate::device::RegisterFlag;
    use crate::Result;
    use core::fmt::Debug;
    use mockall::mock;

    mock! {
        pub Device {
            unsafe fn create_uninit(type0: DeviceType, attach_size: usize) -> Result<Self>;
            fn create<O:'static>(type0: DeviceType) -> Result<Self>;
            unsafe fn destroy(self);
            fn register(&self, name: &str, flags: RegisterFlag) -> Result<()>;
            fn unregister(&self) -> Result<()>;
            fn find(name: &str) -> Result<Self>;
            fn init(&mut self) -> Result<()>;
            fn open(&mut self, oflag: OpenFlag) -> Result<()>;
            fn close(&mut self) -> Result<()>;
            unsafe fn read(&mut self, pos: usize, buffer: &mut [u8], size: usize) -> Result<usize>;
            unsafe fn write(&mut self, pos: usize, buffer: &[u8], size: usize) -> Result<usize>;
            fn control<R:'static>(&mut self, cmd: &mut (dyn DeviceCommand<Return = R> + 'static)) -> Result<()>;
            fn get_device_type(&self) -> DeviceType;
        }
    }
    impl Debug for MockDevice {
        fn fmt(&self, _: &mut std::fmt::Formatter<'_>) -> std::result::Result<(), std::fmt::Error> {
            unimplemented!()
        }
    }
}