#[repr(C)]pub struct Ed25519VerifyInternalArgs {Show 15 fields
pub public_key_ptr: u64,
pub public_key_size: u32,
pub public_key_capacity: u32,
pub signature_ptr: u64,
pub signature_size: u32,
pub signature_capacity: u32,
pub message_ptr: u64,
pub message_size: u32,
pub message_capacity: u32,
pub result_ptr: u64,
pub public_key: Ed25519PublicKey,
pub signature: Ed25519Signature,
pub message: [u8; 32],
pub result: bool,
pub padding: [u8; 7],
}Expand description
Helper data structure for Benchmarks::ed25519_verify() method
Fields§
§public_key_ptr: u64§public_key_size: u32§public_key_capacity: u32§signature_ptr: u64§signature_size: u32§signature_capacity: u32§message_ptr: u64§message_size: u32§message_capacity: u32§result_ptr: u64§public_key: Ed25519PublicKey§signature: Ed25519Signature§message: [u8; 32]§result: bool§padding: [u8; 7]Explicit trailing padding.
The host copies the byte representation of this data structure into guest memory, which is only sound if every byte of it is initialized, hence implicit padding must not exist here.
Implementations§
Source§impl Ed25519VerifyInternalArgs
impl Ed25519VerifyInternalArgs
Sourcepub fn new(
internal_args_addr: u64,
public_key: Ed25519PublicKey,
signature: Ed25519Signature,
message: [u8; 32],
) -> Self
pub fn new( internal_args_addr: u64, public_key: Ed25519PublicKey, signature: Ed25519Signature, message: [u8; 32], ) -> Self
Create a new instance
Trait Implementations§
impl AnyBitPatternMarker for Ed25519VerifyInternalArgswhere
for<'__ab_io_type, '__ab_io_type, '__ab_io_type, '__ab_io_type> u64: AnyBitPatternMarker,
for<'__ab_io_type, '__ab_io_type, '__ab_io_type, '__ab_io_type, '__ab_io_type, '__ab_io_type> u32: AnyBitPatternMarker,
for<'__ab_io_type> Ed25519PublicKey: AnyBitPatternMarker,
for<'__ab_io_type> Ed25519Signature: AnyBitPatternMarker,
for<'__ab_io_type> [u8; 32]: AnyBitPatternMarker,
for<'__ab_io_type> bool: AnyBitPatternMarker,
for<'__ab_io_type> [u8; 7]: AnyBitPatternMarker,
Source§impl Clone for Ed25519VerifyInternalArgs
impl Clone for Ed25519VerifyInternalArgs
impl Copy for Ed25519VerifyInternalArgs
Source§impl Debug for Ed25519VerifyInternalArgs
impl Debug for Ed25519VerifyInternalArgs
Source§impl TrivialType for Ed25519VerifyInternalArgswhere
u64: TrivialType,
u32: TrivialType,
Ed25519PublicKey: TrivialType,
Ed25519Signature: TrivialType,
[u8; 32]: TrivialType,
bool: TrivialType,
[u8; 7]: TrivialType,
impl TrivialType for Ed25519VerifyInternalArgswhere
u64: TrivialType,
u32: TrivialType,
Ed25519PublicKey: TrivialType,
Ed25519Signature: TrivialType,
[u8; 32]: TrivialType,
bool: TrivialType,
[u8; 7]: TrivialType,
Source§const METADATA: &[u8]
const METADATA: &[u8]
Data structure metadata in binary form, describing shape and types of the contents, see
IoTypeMetadataKind for encoding details.const SIZE: u32
Source§final fn try_from_bytes(bytes: &[u8]) -> Option<(&Self, &[u8])>
final fn try_from_bytes(bytes: &[u8]) -> Option<(&Self, &[u8])>
Parse the beginning of aligned
bytes, returns the value and the remaining bytes. Read moreSource§final fn try_from_bytes_exact(bytes: &[u8]) -> Option<&Self>
final fn try_from_bytes_exact(bytes: &[u8]) -> Option<&Self>
Like
Self::try_from_bytes(), but returns None if there are more bytes than the valueSource§final fn try_from_bytes_mut(bytes: &mut [u8]) -> Option<(&mut Self, &mut [u8])>
final fn try_from_bytes_mut(bytes: &mut [u8]) -> Option<(&mut Self, &mut [u8])>
Like
Self::try_from_bytes(), but returns an exclusive reference. Read moreSource§final fn try_from_bytes_mut_exact(bytes: &mut [u8]) -> Option<&mut Self>
final fn try_from_bytes_mut_exact(bytes: &mut [u8]) -> Option<&mut Self>
Like
Self::try_from_bytes_mut(), but returns None if there are more bytes than the
valueSource§final fn from_bytes(bytes: &[u8]) -> Option<(&Self, &[u8])>where
Self: AnyBitPattern,
final fn from_bytes(bytes: &[u8]) -> Option<(&Self, &[u8])>where
Self: AnyBitPattern,
Create a reference to a value at the beginning of aligned
bytes, returns the value and
the remaining bytes. Read moreSource§final fn from_bytes_exact(bytes: &[u8]) -> Option<&Self>where
Self: AnyBitPattern,
final fn from_bytes_exact(bytes: &[u8]) -> Option<&Self>where
Self: AnyBitPattern,
Like
Self::from_bytes(), but returns None if there are more bytes than the valueSource§final unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
final unsafe fn from_bytes_unchecked(bytes: &[u8]) -> &Self
Similar to
Self::from_bytes(), but for any type and without any checks Read moreSource§final fn from_bytes_mut(bytes: &mut [u8]) -> Option<(&mut Self, &mut [u8])>where
Self: AnyBitPattern,
final fn from_bytes_mut(bytes: &mut [u8]) -> Option<(&mut Self, &mut [u8])>where
Self: AnyBitPattern,
Like
Self::from_bytes(), but returns an exclusive referenceSource§final fn from_bytes_mut_exact(bytes: &mut [u8]) -> Option<&mut Self>where
Self: AnyBitPattern,
final fn from_bytes_mut_exact(bytes: &mut [u8]) -> Option<&mut Self>where
Self: AnyBitPattern,
Like
Self::from_bytes_mut(), but returns None if there are more bytes than the valueSource§final unsafe fn from_bytes_mut_unchecked(bytes: &mut [u8]) -> &mut Self
final unsafe fn from_bytes_mut_unchecked(bytes: &mut [u8]) -> &mut Self
Similar to
Self::from_bytes_mut(), but for any type and without any checks Read moreSource§final fn slice_from_bytes(
bytes: &[u8],
count: usize,
) -> Option<(&[Self], &[u8])>where
Self: AnyBitPattern,
final fn slice_from_bytes(
bytes: &[u8],
count: usize,
) -> Option<(&[Self], &[u8])>where
Self: AnyBitPattern,
Create a slice of
count values at the beginning of aligned bytes, returns the values and
the remaining bytes. Read moreSource§final fn slice_from_bytes_mut(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [Self], &mut [u8])>where
Self: AnyBitPattern,
final fn slice_from_bytes_mut(
bytes: &mut [u8],
count: usize,
) -> Option<(&mut [Self], &mut [u8])>where
Self: AnyBitPattern,
Like
Self::slice_from_bytes(), but returns an exclusive referenceSource§final fn as_bytes(&self) -> &[u8; ab_io_type::trivial_type::SIZE_OF::<Self>]
final fn as_bytes(&self) -> &[u8; ab_io_type::trivial_type::SIZE_OF::<Self>]
Access the underlying byte representation of a data structure
Source§final fn slice_as_bytes(values: &[Self]) -> &[u8] ⓘ
final fn slice_as_bytes(values: &[Self]) -> &[u8] ⓘ
Access the underlying byte representation of a slice of values
Source§final fn as_bytes_mut(
&mut self,
) -> &mut [u8; ab_io_type::trivial_type::SIZE_OF::<Self>]where
Self: AnyBitPattern,
final fn as_bytes_mut(
&mut self,
) -> &mut [u8; ab_io_type::trivial_type::SIZE_OF::<Self>]where
Self: AnyBitPattern,
Access the underlying mutable byte representation of a data structure
Source§final unsafe fn as_bytes_mut_unchecked(
&mut self,
) -> &mut [u8; ab_io_type::trivial_type::SIZE_OF::<Self>]
final unsafe fn as_bytes_mut_unchecked( &mut self, ) -> &mut [u8; ab_io_type::trivial_type::SIZE_OF::<Self>]
Similar to
Self::as_bytes_mut(), but for any type. Read moreAuto Trait Implementations§
impl Forget for Ed25519VerifyInternalArgs
impl Freeze for Ed25519VerifyInternalArgs
impl RefUnwindSafe for Ed25519VerifyInternalArgs
impl Send for Ed25519VerifyInternalArgs
impl Sync for Ed25519VerifyInternalArgs
impl Unpin for Ed25519VerifyInternalArgs
impl UnsafeUnpin for Ed25519VerifyInternalArgs
impl UnwindSafe for Ed25519VerifyInternalArgs
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IoType for Twhere
T: TrivialType,
impl<T> IoType for Twhere
T: TrivialType,
Source§const METADATA: &'static [u8] = T::METADATA
const METADATA: &'static [u8] = T::METADATA
Data structure metadata in binary form, describing shape and types of the contents, see
IoTypeMetadataKind for encoding detailsSource§type PointerType = T
type PointerType = T
Pointer with a trivial type that this
IoType representsSource§type WithLifetime<'b> = T
type WithLifetime<'b> = T
The same type, viewing memory borrowed for
'b. Read moreSource§type Reborrowed<'b> = &'b mut T
type Reborrowed<'b> = &'b mut T
Source§unsafe fn from_ptr<'a>(
ptr: &'a NonNull<<T as IoType>::PointerType>,
size: &'a u32,
capacity: u32,
) -> impl Deref<Target = <T as IoType>::WithLifetime<'a>> + 'a
unsafe fn from_ptr<'a>( ptr: &'a NonNull<<T as IoType>::PointerType>, size: &'a u32, capacity: u32, ) -> impl Deref<Target = <T as IoType>::WithLifetime<'a>> + 'a
Create a reference to a type, which is represented by provided memory. Read more
Source§unsafe fn from_mut_ptr<'a>(
ptr: &'a mut NonNull<<T as IoType>::PointerType>,
_size: &'a mut u32,
capacity: u32,
) -> impl DerefMut + 'a
unsafe fn from_mut_ptr<'a>( ptr: &'a mut NonNull<<T as IoType>::PointerType>, _size: &'a mut u32, capacity: u32, ) -> impl DerefMut + 'a
Create a mutable reference to a type, which is represented by provided memory. Read more
Source§unsafe fn try_from_ptr<'a>(
ptr: &'a NonNull<<T as IoType>::PointerType>,
size: &'a u32,
capacity: u32,
) -> Option<impl Deref<Target = <T as IoType>::WithLifetime<'a>> + 'a>
unsafe fn try_from_ptr<'a>( ptr: &'a NonNull<<T as IoType>::PointerType>, size: &'a u32, capacity: u32, ) -> Option<impl Deref<Target = <T as IoType>::WithLifetime<'a>> + 'a>
Create a reference to a type, which is represented by provided memory, if the memory holds a
valid value. Read more
Source§unsafe fn try_from_mut_ptr<'a>(
ptr: &'a mut NonNull<<T as IoType>::PointerType>,
size: &'a mut u32,
capacity: u32,
) -> Option<impl DerefMut + 'a>
unsafe fn try_from_mut_ptr<'a>( ptr: &'a mut NonNull<<T as IoType>::PointerType>, size: &'a mut u32, capacity: u32, ) -> Option<impl DerefMut + 'a>
Like
Self::try_from_ptr(), but returns an exclusive reference. Read moreSource§fn as_ptr(&self) -> NonNull<<T as IoType>::PointerType>
fn as_ptr(&self) -> NonNull<<T as IoType>::PointerType>
Get a raw pointer to the underlying data. Read more
Source§fn as_mut_ptr(&mut self) -> NonNull<<T as IoType>::PointerType>
fn as_mut_ptr(&mut self) -> NonNull<<T as IoType>::PointerType>
Get an exclusive raw pointer to the underlying data. Read more
Source§fn reborrow_mut(&mut self) -> <T as IoType>::Reborrowed<'_>
fn reborrow_mut(&mut self) -> <T as IoType>::Reborrowed<'_>
Exclusive access to this value for the duration of the borrow. Read more