[][src]Struct fortanix_sgx_abi::ByteBuffer

#[repr(C)]
pub struct ByteBuffer {
    pub data: *const u8,
    pub len: usize,
}

An arbitrary-sized buffer of bytes in userspace, allocated by userspace.

This type is used when userspace may return arbitrary-sized data from a usercall. When reading from the buffer, if len is not 0, the enclave must ensure the entire buffer is in the user memory range. Once the enclave is done with the buffer, it should deallocate the buffer buffer by calling free(data, len, 1).

If len is 0, the enclave should ignore data. It should not call free.

Fields

data: *const u8len: usize

Trait Implementations

impl Copy for ByteBuffer[src]

impl Clone for ByteBuffer[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Unpin for ByteBuffer

impl !Send for ByteBuffer

impl !Sync for ByteBuffer

Blanket Implementations

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]