pub struct Pmt(/* private fields */);Expand description
An object representing a Zircon Pinned Memory Token. See PMT Documentation for details.
As essentially a subtype of NullableHandle, it can be freely interconverted.
Implementations§
Source§impl Pmt
impl Pmt
Sourcepub fn raw_handle(&self) -> zx_handle_t
pub fn raw_handle(&self) -> zx_handle_t
Return the handle’s integer value.
Sourcepub fn into_raw(self) -> zx_handle_t
pub fn into_raw(self) -> zx_handle_t
Return the raw handle’s integer value without closing it when self is dropped.
Sourcepub fn as_handle_ref(&self) -> HandleRef<'_>
pub fn as_handle_ref(&self) -> HandleRef<'_>
Returns a HandleRef referring to this handle.
Sourcepub fn duplicate(&self, rights: Rights) -> Result<Self, Status>
pub fn duplicate(&self, rights: Rights) -> Result<Self, Status>
Wraps the
zx_handle_duplicate
syscall.
Sourcepub fn replace(self, rights: Rights) -> Result<Self, Status>
pub fn replace(self, rights: Rights) -> Result<Self, Status>
Wraps the
zx_handle_replace
syscall.
Sourcepub fn signal(
&self,
clear_mask: Signals,
set_mask: Signals,
) -> Result<(), Status>
pub fn signal( &self, clear_mask: Signals, set_mask: Signals, ) -> Result<(), Status>
Wraps the
zx_object_signal
syscall.
Sourcepub fn wait_one(
&self,
signals: Signals,
deadline: MonotonicInstant,
) -> WaitResult
pub fn wait_one( &self, signals: Signals, deadline: MonotonicInstant, ) -> WaitResult
Wraps the
zx_object_wait_one
syscall.
Sourcepub fn wait_async(
&self,
port: &Port,
key: u64,
signals: Signals,
options: WaitAsyncOpts,
) -> Result<(), Status>
pub fn wait_async( &self, port: &Port, key: u64, signals: Signals, options: WaitAsyncOpts, ) -> Result<(), Status>
Wraps the
zx_object_wait_async
syscall.
Sourcepub fn get_name(&self) -> Result<Name, Status>
pub fn get_name(&self) -> Result<Name, Status>
Wraps a call to the
zx_object_get_property
syscall for the ZX_PROP_NAME property.
Sourcepub fn set_name(&self, name: &Name) -> Result<(), Status>
pub fn set_name(&self, name: &Name) -> Result<(), Status>
Wraps a call to the
zx_object_set_property
syscall for the ZX_PROP_NAME property.
Sourcepub fn basic_info(&self) -> Result<HandleBasicInfo, Status>
pub fn basic_info(&self) -> Result<HandleBasicInfo, Status>
Wraps the
zx_object_get_info
syscall for the ZX_INFO_HANDLE_BASIC topic.
Sourcepub fn count_info(&self) -> Result<HandleCountInfo, Status>
pub fn count_info(&self) -> Result<HandleCountInfo, Status>
Wraps the
zx_object_get_info
syscall for the ZX_INFO_HANDLE_COUNT topic.
Source§impl Pmt
impl Pmt
Sourcepub unsafe fn unpin(self) -> Result<(), Status>
pub unsafe fn unpin(self) -> Result<(), Status>
Unpins a Pinned Memory Token.
Wraps the
zx_pmt_unpin system call
to unpin a pmt.
This function is marked unsafe because calling it at the wrong time (i.e., while hardware
is still accessing the pinned memory) can lead to memory corruption.
§Safety
The caller must ensure hardware is no longer accessing the memory that has been pinned or else risk arbitrary memory corruption. It is strongly recommended you do not call this in a drop method.
Trait Implementations§
Source§impl AsHandleRef for Pmt
impl AsHandleRef for Pmt
Source§fn as_handle_ref(&self) -> HandleRef<'_>
fn as_handle_ref(&self) -> HandleRef<'_>
object_wait_many.