pub struct DeviceManagerSynchronousProxy { /* private fields */ }Implementations§
Source§impl DeviceManagerSynchronousProxy
impl DeviceManagerSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<DeviceManagerEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<DeviceManagerEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn format(
&self,
key: &[u8],
slot: u8,
___deadline: MonotonicInstant,
) -> Result<i32, Error>
pub fn format( &self, key: &[u8], slot: u8, ___deadline: MonotonicInstant, ) -> Result<i32, Error>
Formats the device, destroying any previously-secured data. A new data
key is generated and wrapped with the provided key into key slot slot,
Returns ZX_ERR_BAD_STATE if the device is not currently sealed.
Returns ZX_OK on success.
Sourcepub fn unseal(
&self,
key: &[u8],
slot: u8,
___deadline: MonotonicInstant,
) -> Result<i32, Error>
pub fn unseal( &self, key: &[u8], slot: u8, ___deadline: MonotonicInstant, ) -> Result<i32, Error>
Attempts to unseal the device by using the provided master key to unwrap
the data key wrapped in the specified key slot. If the key provided was
the correct key for this slot, then the device node responding to this
protocol will create an unsealed zxcrypt device as a child of itself in
the device tree before returning success.
Returns ZX_ERR_INVALID_ARGS if slot is invalid.
Returns ZX_ERR_BAD_STATE and keeps the device open if the device is already unsealed.
Returns other errors if operations on the underlying block device return errors.
Returns ZX_OK on success.
Sourcepub fn seal(&self, ___deadline: MonotonicInstant) -> Result<i32, Error>
pub fn seal(&self, ___deadline: MonotonicInstant) -> Result<i32, Error>
Seals the device, causing any previously-created child zxcrypt Device to
be removed some time later. (Someday we’d like this to only return once
the unsealed child device is removed, but that’s not straightforward today.)
Returns ZX_ERR_BAD_STATE if the device is already sealed.
Returns ZX_OK on success.
Sourcepub fn shred(&self, ___deadline: MonotonicInstant) -> Result<i32, Error>
pub fn shred(&self, ___deadline: MonotonicInstant) -> Result<i32, Error>
Shreds the device, permanently overwriting the keys that would allow
Unseal()ing the device again in the future. This call does not
impact the current sealed/unsealed state of the device – if currently
unsealed, the device will remain in that state until Seal() is called
or the device is unbound.
Returns ZX_OK on success.
Returns other errors if operations on the underlying block device return errors.
Trait Implementations§
Source§impl From<Channel> for DeviceManagerSynchronousProxy
Available on Fuchsia only.
impl From<Channel> for DeviceManagerSynchronousProxy
Source§impl From<DeviceManagerSynchronousProxy> for Handle
Available on Fuchsia only.
impl From<DeviceManagerSynchronousProxy> for Handle
Source§fn from(value: DeviceManagerSynchronousProxy) -> Self
fn from(value: DeviceManagerSynchronousProxy) -> Self
Source§impl FromClient for DeviceManagerSynchronousProxy
Available on Fuchsia only.
impl FromClient for DeviceManagerSynchronousProxy
Source§type Protocol = DeviceManagerMarker
type Protocol = DeviceManagerMarker
Source§fn from_client(value: ClientEnd<DeviceManagerMarker>) -> Self
fn from_client(value: ClientEnd<DeviceManagerMarker>) -> Self
Source§impl SynchronousProxy for DeviceManagerSynchronousProxy
Available on Fuchsia only.
impl SynchronousProxy for DeviceManagerSynchronousProxy
Source§type Proxy = DeviceManagerProxy
type Proxy = DeviceManagerProxy
Source§type Protocol = DeviceManagerMarker
type Protocol = DeviceManagerMarker
Proxy controls.