Struct optee_utee::TeeParams
source · pub struct TeeParams<'a> { /* private fields */ }
Expand description
The TeeParams struct is used to manage the parameters for TEE commands.
Implementations§
source§impl<'a> TeeParams<'a>
impl<'a> TeeParams<'a>
pub fn new() -> Self
sourcepub fn with_memref_in(self, idx: ParamIndex, buffer: &'a [u8]) -> Self
pub fn with_memref_in(self, idx: ParamIndex, buffer: &'a [u8]) -> Self
These functions allow for method-chaining to easily configure multiple parameters at once.
The following methods can be chained:
with_memref_in
: Sets a memory reference input parameter.with_memref_out
: Sets a memory reference output parameter.with_memref_inout
: Sets a memory reference inout parameter.with_value_in
: Sets a value input parameter.with_value_out
: Sets a value output parameter.with_value_inout
: Sets a value inout parameter.
Example usage:
let params = TeeParams::new()
.with_memref_in(ParamIndex::Arg0, &input_buffer)
.with_memref_out(ParamIndex::Arg1, &mut output_buffer)
.with_value_in(ParamIndex::Arg2, 42, 0)
.with_value_out(ParamIndex::Arg3, 0, 0);
pub fn with_memref_out(self, idx: ParamIndex, buffer: &'a mut [u8]) -> Self
pub fn with_memref_inout(self, idx: ParamIndex, buffer: &'a mut [u8]) -> Self
pub fn with_value_in(self, idx: ParamIndex, a: u32, b: u32) -> Self
pub fn with_value_out(self, idx: ParamIndex, a: u32, b: u32) -> Self
pub fn with_value_inout(self, idx: ParamIndex, a: u32, b: u32) -> Self
sourcepub fn set_memref_in(&mut self, idx: ParamIndex, buffer: &'a [u8]) -> &mut Self
pub fn set_memref_in(&mut self, idx: ParamIndex, buffer: &'a [u8]) -> &mut Self
These methods allow the user to set the content at a specific index.
Example usage:
let mut params = TeeParams::new();
params.set_memref_in(ParamIndex::Arg0, &input_buffer);
params.set_memref_out(ParamIndex::Arg1, &mut output_buffer);
params.set_value_in(ParamIndex::Arg2, 42, 0);
params.set_value_out(ParamIndex::Arg3, 0, 0);
pub fn set_memref_out( &mut self, idx: ParamIndex, buffer: &'a mut [u8] ) -> &mut Self
pub fn set_memref_inout( &mut self, idx: ParamIndex, buffer: &'a mut [u8] ) -> &mut Self
pub fn set_value_in(&mut self, idx: ParamIndex, a: u32, b: u32) -> &mut Self
pub fn set_value_out(&mut self, idx: ParamIndex, a: u32, b: u32) -> &mut Self
pub fn set_value_inout(&mut self, idx: ParamIndex, a: u32, b: u32) -> &mut Self
Trait Implementations§
source§impl<'a> Index<ParamIndex> for TeeParams<'a>
impl<'a> Index<ParamIndex> for TeeParams<'a>
Auto Trait Implementations§
impl<'a> Freeze for TeeParams<'a>
impl<'a> RefUnwindSafe for TeeParams<'a>
impl<'a> Send for TeeParams<'a>
impl<'a> Sync for TeeParams<'a>
impl<'a> Unpin for TeeParams<'a>
impl<'a> !UnwindSafe for TeeParams<'a>
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