#[repr(C)]pub struct ByteBuffer {
pub data: *const u8,
pub len: usize,
}🔬This is a nightly-only experimental API. (
sgx_platform #56975)Available on Fortanix and SGX only.
Expand description
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 u8🔬This is a nightly-only experimental API. (
§sgx_platform #56975)len: usize🔬This is a nightly-only experimental API. (
sgx_platform #56975)Trait Implementations§
Source§impl Clone for ByteBuffer
impl Clone for ByteBuffer
Source§fn clone(&self) -> ByteBuffer
fn clone(&self) -> ByteBuffer
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ByteBuffer
impl Send for ByteBuffer
impl UserSafeSized for ByteBuffer
Auto Trait Implementations§
impl !Sync for ByteBuffer
impl Freeze for ByteBuffer
impl RefUnwindSafe for ByteBuffer
impl Unpin for ByteBuffer
impl UnsafeUnpin for ByteBuffer
impl UnwindSafe for ByteBuffer
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,
Source§impl<T> UserSafe for Twhere
T: UserSafeSized,
impl<T> UserSafe for Twhere
T: UserSafeSized,
Source§fn align_of() -> usize
fn align_of() -> usize
🔬This is a nightly-only experimental API. (
sgx_platform #56975)Available on Fortanix and SGX only.
Equivalent to
align_of::<Self>.Source§unsafe fn from_raw_sized_unchecked(ptr: *mut u8, size: usize) -> *mut T
unsafe fn from_raw_sized_unchecked(ptr: *mut u8, size: usize) -> *mut T
🔬This is a nightly-only experimental API. (
sgx_platform #56975)Available on Fortanix and SGX only.
Constructs a pointer to
Self given a memory range in user space. Read moreSource§impl<T> UserSafeCopyDestination<T> for T
impl<T> UserSafeCopyDestination<T> for T
Source§fn as_mut_ptr(&mut self) -> *mut T
fn as_mut_ptr(&mut self) -> *mut T
🔬This is a nightly-only experimental API. (
sgx_platform #56975)Available on Fortanix and SGX only.
Returns a pointer for writing to the value.