File timing.h

Portable interface to timeouts and to the CPU cycle counter.

Functions

unsigned long mbedtls_timing_get_timer(struct mbedtls_timing_hr_time *val, int reset)
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().)

Note

To set a single delay, either use mbedtls_timing_set_timer directly or use this function with int_ms == fin_ms.

Parameters
  • 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.

int mbedtls_timing_get_delay(void *data)

Get the status of delays (Memory helper: number of delays passed.)

Parameters

data – Pointer to timing data Must point to a valid mbedtls_timing_delay_context struct.

Returns

-1 if cancelled (fin_ms = 0), 0 if none of the delays are passed, 1 if only the intermediate delay is passed, 2 if the final delay is passed.

uint32_t mbedtls_timing_get_final_delay(const mbedtls_timing_delay_context *data)

Get the final timing delay.

Parameters

data – Pointer to timing data Must point to a valid mbedtls_timing_delay_context struct.

Returns

Final timing delay in milliseconds.