Trait VeraPortal
pub trait VeraPortal {
Show 16 methods
// Required methods
fn exit(exit_reason: ExitReason) -> !;
fn map_memory(
location: MemoryLocation,
protections: MemoryProtections,
bytes: usize,
) -> Result<*mut u8, MapMemoryError>;
fn get_pid() -> usize;
fn signal_wait() -> WaitSignal;
fn yield_now();
fn recv(handle: u64, buf: &mut [u8]) -> Result<usize, RecvHandleError>;
fn send(handle: u64, buf: &[u8]) -> Result<usize, SendHandleError>;
fn serve(endpoint: &str) -> Result<u64, ServeHandleError>;
fn connect(endpoint: &str) -> Result<u64, ConnectHandleError>;
fn close(handle: u64);
fn unmap_memory(ptr: *mut u8);
fn fixme_cpuio_read_u8(address: u16) -> u8;
fn fixme_cpuio_write_u8(address: u16, data: u8);
fn fixme_cpuio_read_u16(address: u16) -> u16;
fn fixme_cpuio_write_u16(address: u16, data: u16);
fn debug_msg(msg: &str) -> Result<(), DebugMsgError>;
}
Required Methods§
fn exit(exit_reason: ExitReason) -> !
fn map_memory(
location: MemoryLocation,
protections: MemoryProtections,
bytes: usize,
) -> Result<*mut u8, MapMemoryError>
fn map_memory( location: MemoryLocation, protections: MemoryProtections, bytes: usize, ) -> Result<*mut u8, MapMemoryError>
Map a memory region into this process’s memory map
This function acts like mmap on common unix systems.
fn get_pid() -> usize
fn signal_wait() -> WaitSignal
fn yield_now()
fn serve(endpoint: &str) -> Result<u64, ServeHandleError>
fn connect(endpoint: &str) -> Result<u64, ConnectHandleError>
fn unmap_memory(ptr: *mut u8)
fn unmap_memory(ptr: *mut u8)
Unmap a memory region allocated with [map_memory
]
fn fixme_cpuio_read_u8(address: u16) -> u8
fn fixme_cpuio_write_u8(address: u16, data: u8)
fn fixme_cpuio_read_u16(address: u16) -> u16
fn fixme_cpuio_write_u16(address: u16, data: u16)
fn debug_msg(msg: &str) -> Result<(), DebugMsgError>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.