Mbed TLS v3.5.0
timing.h
Go to the documentation of this file.
1
6/*
7 * Copyright The Mbed TLS Contributors
8 * SPDX-License-Identifier: Apache-2.0
9 *
10 * Licensed under the Apache License, Version 2.0 (the "License"); you may
11 * not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
13 *
14 * http://www.apache.org/licenses/LICENSE-2.0
15 *
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
18 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
21 */
22#ifndef MBEDTLS_TIMING_H
23#define MBEDTLS_TIMING_H
25
26#include "mbedtls/build_info.h"
27
28#include <stdint.h>
29
30#ifdef __cplusplus
31extern "C" {
32#endif
33
34#if !defined(MBEDTLS_TIMING_ALT)
35// Regular implementation
36//
37
42 uint64_t MBEDTLS_PRIVATE(opaque)[4];
43};
44
50 uint32_t MBEDTLS_PRIVATE(int_ms);
51 uint32_t MBEDTLS_PRIVATE(fin_ms);
53
54#else /* MBEDTLS_TIMING_ALT */
55#include "timing_alt.h"
56#endif /* MBEDTLS_TIMING_ALT */
57
58/* Internal use */
59unsigned long mbedtls_timing_get_timer(struct mbedtls_timing_hr_time *val, int reset);
60
75void mbedtls_timing_set_delay(void *data, uint32_t int_ms, uint32_t fin_ms);
76
90
100 const mbedtls_timing_delay_context *data);
101
102#ifdef __cplusplus
103}
104#endif
105
106#endif /* timing.h */
Build-time configuration info.
Macro wrapper for struct's members.
#define MBEDTLS_PRIVATE(member)
Context for mbedtls_timing_set/get_delay()
Definition: timing.h:48
timer structure
Definition: timing.h:41
unsigned long mbedtls_timing_get_timer(struct mbedtls_timing_hr_time *val, int reset)
struct mbedtls_timing_delay_context mbedtls_timing_delay_context
Context for mbedtls_timing_set/get_delay()
uint32_t mbedtls_timing_get_final_delay(const mbedtls_timing_delay_context *data)
Get the final timing delay.
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().)
int mbedtls_timing_get_delay(void *data)
Get the status of delays (Memory helper: number of delays passed.)