Struct optee_utee::time::Time
source · pub struct Time {
pub seconds: u32,
pub millis: u32,
}Expand description
A millisecond resolution structure for saving the time.
Fields§
§seconds: u32The field for the seconds.
millis: u32The field for the milliseconds within this second.
Implementations§
source§impl Time
impl Time
sourcepub fn system_time(&mut self)
pub fn system_time(&mut self)
Retrieve the current system time. The origin of this system time is arbitrary and implementation-dependent. Different TA instances may even have different system times. The only guarantee is that the system time is not reset or rolled back during the life of a given TA instance, so it can be used to compute time differences and operation deadlines.
§Example
let mut time = Time::new();
time.system_time();§Panics
- If the Implementation detects any error.
sourcepub fn wait(timeout: u32) -> Result<()>
pub fn wait(timeout: u32) -> Result<()>
Wait for the specified number of milliseconds or wait forever if timeout equals
raw::TEE_TIMEOUT_INFINITE (0xFFFFFFFF). The waiting timer is System Time.
§Parameters
timeout: The number of milliseconds to wait, orraw::TEE_TIMEOUT_INFINITE.
§Example
Time::wait(1000)?;§Errors
Cancel: If the wait has been cancelled.
§Panics
- If the Implementation detects any error.
sourcepub fn ta_time(&mut self) -> Result<()>
pub fn ta_time(&mut self) -> Result<()>
Retrieve the persisten time of the Trusted Application. Since the timer is not automatically set, this function should be called after set_ta_time. The time is a real-time source of time and the origin of this time is set individually by each Trusted Application. Also, the time SHALL persist across reboots.
§Example
let mut time = Time::new();
time.system_time();
time.set_ta_time()?;
time.ta_time()?;§Errors
TimeNotSet: Time is not set.TimeNeedsReset: Time needs to be reset.Overflow: The number of seconds in the TA Persistent Time overflows the range of au32. The fieldsecondsis still set to the TA Persistent Time truncated to 32 bits.
§Panics
- If the Implementation detects any error.