Struct fuchsia_zircon::Vmo
[−]
[src]
pub struct Vmo(_);
An object representing a Zircon virtual memory object.
As essentially a subtype of Handle
, it can be freely interconverted.
Methods
impl Vmo
[src]
fn create(size: u64) -> Result<Vmo, Status>
[src]
Create a virtual memory object.
Wraps the
zx_vmo_create
syscall. See the
Shared Memory: Virtual Memory Objects (VMOs)
for more information.
fn read(&self, data: &mut [u8], offset: u64) -> Result<usize, Status>
[src]
Read from a virtual memory object.
Wraps the zx_vmo_read
syscall.
fn write(&self, data: &[u8], offset: u64) -> Result<usize, Status>
[src]
Write to a virtual memory object.
Wraps the zx_vmo_write
syscall.
fn get_size(&self) -> Result<u64, Status>
[src]
Get the size of a virtual memory object.
Wraps the zx_vmo_get_size
syscall.
fn set_size(&self, size: u64) -> Result<(), Status>
[src]
Attempt to change the size of a virtual memory object.
Wraps the zx_vmo_set_size
syscall.
fn op_range(&self, op: VmoOp, offset: u64, size: u64) -> Result<(), Status>
[src]
Perform an operation on a range of a virtual memory object.
Wraps the zx_vmo_op_range syscall.
fn lookup(
&self,
offset: u64,
size: u64,
buffer: &mut [zx_paddr_t]
) -> Result<(), Status>
[src]
&self,
offset: u64,
size: u64,
buffer: &mut [zx_paddr_t]
) -> Result<(), Status>
Look up a list of physical addresses corresponding to the pages held by the VMO from
offset
to offset
+size
, and store them in buffer
.
Wraps the zx_vmo_op_range syscall with ZX_VMO_OP_LOOKUP.
fn clone(&self, offset: u64, size: u64) -> Result<Vmo, Status>
[src]
Create a new virtual memory object that clones a range of this one.
Wraps the zx_vmo_clone syscall.
Trait Implementations
impl Debug for Vmo
[src]
impl Eq for Vmo
[src]
impl PartialEq for Vmo
[src]
fn eq(&self, __arg_0: &Vmo) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Vmo) -> bool
[src]
This method tests for !=
.
impl AsHandleRef for Vmo
[src]
fn as_handle_ref(&self) -> HandleRef
[src]
Get a reference to the handle. One important use of such a reference is for object_wait_many
. Read more
fn raw_handle(&self) -> zx_handle_t
[src]
Interpret the reference as a raw handle (an integer type). Two distinct handles will have different raw values (so it can perhaps be used as a key in a data structure). Read more
fn signal_handle(
&self,
clear_mask: Signals,
set_mask: Signals
) -> Result<(), Status>
[src]
&self,
clear_mask: Signals,
set_mask: Signals
) -> Result<(), Status>
Set and clear userspace-accessible signal bits on an object. Wraps the zx_object_signal syscall. Read more
fn wait_handle(
&self,
signals: Signals,
deadline: Time
) -> Result<Signals, Status>
[src]
&self,
signals: Signals,
deadline: Time
) -> Result<Signals, Status>
Waits on a handle. Wraps the zx_object_wait_one syscall. Read more
fn wait_async_handle(
&self,
port: &Port,
key: u64,
signals: Signals,
options: WaitAsyncOpts
) -> Result<(), Status>
[src]
&self,
port: &Port,
key: u64,
signals: Signals,
options: WaitAsyncOpts
) -> Result<(), Status>
Causes packet delivery on the given port when the object changes state and matches signals. zx_object_wait_async syscall. Read more
impl From<Handle> for Vmo
[src]
impl HandleBased for Vmo
[src]
fn duplicate_handle(&self, rights: Rights) -> Result<Self, Status>
[src]
Duplicate a handle, possibly reducing the rights available. Wraps the zx_handle_duplicate syscall. Read more
fn replace_handle(self, rights: Rights) -> Result<Self, Status>
[src]
Create a replacement for a handle, possibly reducing the rights available. This invalidates the original handle. Wraps the zx_handle_replace syscall. Read more
fn into_handle(self) -> Handle
[src]
Converts the value into its inner handle. Read more
fn into_raw(self) -> zx_handle_t
[src]
Converts the handle into it's raw representation. Read more
fn from_handle(handle: Handle) -> Self
[src]
Creates an instance of this type from a handle. Read more
fn into_handle_based<H: HandleBased>(self) -> H
[src]
Creates an instance of another handle-based type from this value's inner handle.
fn from_handle_based<H: HandleBased>(h: H) -> Self
[src]
Creates an instance of this type from the inner handle of another handle-based type. Read more