pub struct RegisterAndStackData<RegisterType, const NR_REGS: usize>where
RegisterType: Copy + Default,{
pub regs: [RegisterType; NR_REGS],
}Expand description
The syscall arg type that the RegisterAndStackEncoder uses.
Fields§
§regs: [RegisterType; NR_REGS]Trait Implementations§
source§impl<RegisterType, const NR_REGS: usize> Clone for RegisterAndStackData<RegisterType, NR_REGS>where
RegisterType: Clone + Copy + Default,
impl<RegisterType, const NR_REGS: usize> Clone for RegisterAndStackData<RegisterType, NR_REGS>where RegisterType: Clone + Copy + Default,
source§fn clone(&self) -> RegisterAndStackData<RegisterType, NR_REGS>
fn clone(&self) -> RegisterAndStackData<RegisterType, NR_REGS>
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<RegisterType, const NR_REGS: usize> Debug for RegisterAndStackData<RegisterType, NR_REGS>where
RegisterType: Debug + Copy + Default,
impl<RegisterType, const NR_REGS: usize> Debug for RegisterAndStackData<RegisterType, NR_REGS>where RegisterType: Debug + Copy + Default,
source§impl<R, const NR_REGS: usize> Default for RegisterAndStackData<R, NR_REGS>where
R: Copy + Default,
impl<R, const NR_REGS: usize> Default for RegisterAndStackData<R, NR_REGS>where R: Copy + Default,
source§fn default() -> RegisterAndStackData<R, NR_REGS>
fn default() -> RegisterAndStackData<R, NR_REGS>
Returns the “default value” for a type. Read more
source§impl<'a, Abi, RegisterType, const NR_REGS: usize> SyscallEncoder<'a, Abi, RegisterAndStackData<RegisterType, NR_REGS>> for RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>where
Abi: SyscallAbi,
RegisterType: Copy + Default + AllowedRegisterType,
impl<'a, Abi, RegisterType, const NR_REGS: usize> SyscallEncoder<'a, Abi, RegisterAndStackData<RegisterType, NR_REGS>> for RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>where Abi: SyscallAbi, RegisterType: Copy + Default + AllowedRegisterType,
source§fn new_decode(
abi: &'a Abi,
decode_data: RegisterAndStackData<RegisterType, NR_REGS>
) -> RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>
fn new_decode( abi: &'a Abi, decode_data: RegisterAndStackData<RegisterType, NR_REGS> ) -> RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>
Make a new encoder for decoding data.
source§fn new_encode(
abi: &'a Abi,
allocation: Allocation
) -> RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>
fn new_encode( abi: &'a Abi, allocation: Allocation ) -> RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>
Make a new encoder given this allocation.
source§fn encode<Source>(&mut self, item: &Source) -> Result<(), EncodeError>where
Source: SyscallEncodable<'a, Abi, RegisterAndStackData<RegisterType, NR_REGS>, RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>>,
fn encode<Source>(&mut self, item: &Source) -> Result<(), EncodeError>where Source: SyscallEncodable<'a, Abi, RegisterAndStackData<RegisterType, NR_REGS>, RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>>,
Encode an item.
source§fn finish(self) -> RegisterAndStackData<RegisterType, NR_REGS>
fn finish(self) -> RegisterAndStackData<RegisterType, NR_REGS>
Finish encoding and return the EncodedType.
source§fn decode<Target>(&mut self) -> Result<Target, DecodeError>where
Target: SyscallEncodable<'a, Abi, RegisterAndStackData<RegisterType, NR_REGS>, RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>>,
RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>: Sized,
fn decode<Target>(&mut self) -> Result<Target, DecodeError>where Target: SyscallEncodable<'a, Abi, RegisterAndStackData<RegisterType, NR_REGS>, RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>>, RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>: Sized,
Decode an item.
source§fn encode_u8(&mut self, item: u8) -> Result<(), EncodeError>where
RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>: Sized,
fn encode_u8(&mut self, item: u8) -> Result<(), EncodeError>where RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>: Sized,
Encode a u8.
source§fn decode_u8(&mut self) -> Result<u8, DecodeError>where
RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>: Sized,
fn decode_u8(&mut self) -> Result<u8, DecodeError>where RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>: Sized,
Decode a u8.
impl<RegisterType, const NR_REGS: usize> Copy for RegisterAndStackData<RegisterType, NR_REGS>where RegisterType: Copy + Default,
impl<'a, Abi, RegisterType, const NR_REGS: usize> EncodeAllPrimitives<'a, Abi, RegisterAndStackData<RegisterType, NR_REGS>, RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>> for RegistersAndStackEncoder<'a, Abi, RegisterType, NR_REGS>where Abi: SyscallAbi, RegisterType: Copy + Default + AllowedRegisterType,
Auto Trait Implementations§
impl<RegisterType, const NR_REGS: usize> RefUnwindSafe for RegisterAndStackData<RegisterType, NR_REGS>where RegisterType: RefUnwindSafe,
impl<RegisterType, const NR_REGS: usize> Send for RegisterAndStackData<RegisterType, NR_REGS>where RegisterType: Send,
impl<RegisterType, const NR_REGS: usize> Sync for RegisterAndStackData<RegisterType, NR_REGS>where RegisterType: Sync,
impl<RegisterType, const NR_REGS: usize> Unpin for RegisterAndStackData<RegisterType, NR_REGS>where RegisterType: Unpin,
impl<RegisterType, const NR_REGS: usize> UnwindSafe for RegisterAndStackData<RegisterType, NR_REGS>where RegisterType: UnwindSafe,
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