Struct solana_rbpf::memory_region::MemoryMapping
source · [−]pub struct MemoryMapping<'a> { /* private fields */ }
Expand description
Indirection to use instead of a slice to make handling easier
Implementations
pub fn new<E: UserDefinedError>(
regions: Vec<MemoryRegion>,
config: &'a Config
) -> Result<Self, EbpfError<E>>
pub fn new<E: UserDefinedError>(
regions: Vec<MemoryRegion>,
config: &'a Config
) -> Result<Self, EbpfError<E>>
Creates a new MemoryMapping structure from the given regions
pub fn map<E: UserDefinedError>(
&self,
access_type: AccessType,
vm_addr: u64,
len: u64
) -> Result<u64, EbpfError<E>>
pub fn map<E: UserDefinedError>(
&self,
access_type: AccessType,
vm_addr: u64,
len: u64
) -> Result<u64, EbpfError<E>>
Given a list of regions translate from virtual machine to host address
pub fn generate_access_violation<E: UserDefinedError>(
&self,
access_type: AccessType,
vm_addr: u64,
len: u64
) -> Result<u64, EbpfError<E>>
pub fn generate_access_violation<E: UserDefinedError>(
&self,
access_type: AccessType,
vm_addr: u64,
len: u64
) -> Result<u64, EbpfError<E>>
Helper for map to generate errors
pub fn resize_region<E: UserDefinedError>(
&mut self,
index: usize,
new_len: u64
) -> Result<(), EbpfError<E>>
pub fn resize_region<E: UserDefinedError>(
&mut self,
index: usize,
new_len: u64
) -> Result<(), EbpfError<E>>
Resize the memory_region at the given index