Portable interface to timeouts and to the CPU cycle counter. More...
Go to the source code of this file.
Classes | |
struct | mbedtls_timing_hr_time |
timer structure More... | |
struct | mbedtls_timing_delay_context |
Context for mbedtls_timing_set/get_delay() More... | |
Typedefs | |
typedef struct mbedtls_timing_delay_context | mbedtls_timing_delay_context |
Context for mbedtls_timing_set/get_delay() More... | |
Functions | |
unsigned long | mbedtls_timing_hardclock (void) |
Return the CPU cycle counter value. More... | |
unsigned long | mbedtls_timing_get_timer (struct mbedtls_timing_hr_time *val, int reset) |
Return the elapsed time in milliseconds. More... | |
void | mbedtls_set_alarm (int seconds) |
Setup an alarm clock. More... | |
void | mbedtls_timing_set_delay (void *data, uint32_t int_ms, uint32_t fin_ms) |
Set a pair of delays to watch (See mbedtls_timing_get_delay() .) More... | |
int | mbedtls_timing_get_delay (void *data) |
Get the status of delays (Memory helper: number of delays passed.) More... | |
Variables | |
volatile int | mbedtls_timing_alarmed |
Portable interface to timeouts and to the CPU cycle counter.
typedef struct mbedtls_timing_delay_context mbedtls_timing_delay_context |
Context for mbedtls_timing_set/get_delay()
void mbedtls_set_alarm | ( | int | seconds | ) |
Setup an alarm clock.
seconds | delay before the "mbedtls_timing_alarmed" flag is set (must be >=0) |
int mbedtls_timing_get_delay | ( | void * | data | ) |
Get the status of delays (Memory helper: number of delays passed.)
data | Pointer to timing data Must point to a valid mbedtls_timing_delay_context struct. |
unsigned long mbedtls_timing_get_timer | ( | struct mbedtls_timing_hr_time * | val, |
int | reset | ||
) |
Return the elapsed time in milliseconds.
val | points to a timer structure |
reset | If 0, query the elapsed time. Otherwise (re)start the timer. |
Determining the elapsed time and resetting the timer is not atomic on all platforms, so after the sequence `{ get_timer(1); ...; time1 = get_timer(1); ...; time2 = get_timer(0) }` the value time1+time2 is only approximately the delay since the first reset.
unsigned long mbedtls_timing_hardclock | ( | void | ) |
Return the CPU cycle counter value.
void mbedtls_timing_set_delay | ( | void * | data, |
uint32_t | int_ms, | ||
uint32_t | fin_ms | ||
) |
Set a pair of delays to watch (See mbedtls_timing_get_delay()
.)
data | Pointer to timing data. Must point to a valid mbedtls_timing_delay_context struct. |
int_ms | First (intermediate) delay in milliseconds. The effect if int_ms > fin_ms is unspecified. |
fin_ms | Second (final) delay in milliseconds. Pass 0 to cancel the current delay. |
mbedtls_timing_set_timer
directly or use this function with int_ms == fin_ms. volatile int mbedtls_timing_alarmed |