Struct libafl_bolts::shmem::unix_shmem::ashmem::AshmemShMemProvider
source · pub struct AshmemShMemProvider {}
Expand description
A ShMemProvider
which uses ashmem to provide shared memory mappings.
Trait Implementations§
source§impl Clone for AshmemShMemProvider
impl Clone for AshmemShMemProvider
source§fn clone(&self) -> AshmemShMemProvider
fn clone(&self) -> AshmemShMemProvider
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for AshmemShMemProvider
impl Debug for AshmemShMemProvider
source§impl Default for AshmemShMemProvider
impl Default for AshmemShMemProvider
source§impl ShMemProvider for AshmemShMemProvider
impl ShMemProvider for AshmemShMemProvider
Implement ShMemProvider
for AshmemShMemProvider
, for the Android ShMem
.
§type ShMem = AshmemShMem
type ShMem = AshmemShMem
The actual shared map handed out by this
ShMemProvider
.source§fn new_shmem(&mut self, map_size: usize) -> Result<Self::ShMem, Error>
fn new_shmem(&mut self, map_size: usize) -> Result<Self::ShMem, Error>
Create a new shared memory mapping
source§fn shmem_from_id_and_size(
&mut self,
id: ShMemId,
size: usize
) -> Result<Self::ShMem, Error>
fn shmem_from_id_and_size( &mut self, id: ShMemId, size: usize ) -> Result<Self::ShMem, Error>
Get a mapping given its id and size
source§fn new_shmem_object<T: Sized + 'static>(&mut self) -> Result<Self::ShMem, Error>
fn new_shmem_object<T: Sized + 'static>(&mut self) -> Result<Self::ShMem, Error>
Create a new shared memory mapping to hold an object of the given type
source§fn new_shmem_objects_array<T: Sized + 'static>(
&mut self,
len: usize
) -> Result<Self::ShMem, Error>
fn new_shmem_objects_array<T: Sized + 'static>( &mut self, len: usize ) -> Result<Self::ShMem, Error>
Create a new shared memory mapping to hold an array of objects of the given type
source§fn shmem_object_from_id<T: Sized + 'static>(
&mut self,
id: ShMemId
) -> Result<Self::ShMem, Error>
fn shmem_object_from_id<T: Sized + 'static>( &mut self, id: ShMemId ) -> Result<Self::ShMem, Error>
Get a mapping given its id to hold an object of the given type
source§fn shmem_from_description(
&mut self,
description: ShMemDescription
) -> Result<Self::ShMem, Error>
fn shmem_from_description( &mut self, description: ShMemDescription ) -> Result<Self::ShMem, Error>
Get a mapping given a description
source§fn clone_ref(&mut self, mapping: &Self::ShMem) -> Result<Self::ShMem, Error>
fn clone_ref(&mut self, mapping: &Self::ShMem) -> Result<Self::ShMem, Error>
Create a new sharedmap reference from an existing
id
and len
source§fn existing_from_env(&mut self, env_name: &str) -> Result<Self::ShMem, Error>
fn existing_from_env(&mut self, env_name: &str) -> Result<Self::ShMem, Error>
Reads an existing map config from env vars, then maps it
source§fn pre_fork(&mut self) -> Result<(), Error>
fn pre_fork(&mut self) -> Result<(), Error>
This method should be called before a fork or a thread creation event, allowing the
ShMemProvider
to
get ready for a potential reset of thread specific info, and for potential reconnects.
Make sure to call Self::post_fork()
after threading!source§fn post_fork(&mut self, _is_child: bool) -> Result<(), Error>
fn post_fork(&mut self, _is_child: bool) -> Result<(), Error>
This method should be called after a fork or after cloning/a thread creation event, allowing the
ShMemProvider
to
reset thread specific info, and potentially reconnect.
Make sure to call Self::pre_fork()
before threading!source§fn release_shmem(&mut self, _shmem: &mut Self::ShMem)
fn release_shmem(&mut self, _shmem: &mut Self::ShMem)
Release the resources associated with the given
ShMem
impl Send for AshmemShMemProvider
Auto Trait Implementations§
impl RefUnwindSafe for AshmemShMemProvider
impl Sync for AshmemShMemProvider
impl Unpin for AshmemShMemProvider
impl UnwindSafe for AshmemShMemProvider
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
source§impl<Tail, T> Prepend<T> for Tail
impl<Tail, T> Prepend<T> for Tail
§type PreprendResult = Tail
type PreprendResult = Tail
The Resulting
TupleList
, of an Prepend::prepend()
call,
including the prepended entry.source§fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
fn prepend(self, value: T) -> (T, <Tail as Prepend<T>>::PreprendResult)
Prepend a value to this tuple, returning a new tuple with prepended value.