Mbed TLS v3.5.0
include
mbedtls
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
24
#include "
mbedtls/private_access.h
"
25
26
#include "
mbedtls/build_info.h
"
27
28
#include <stdint.h>
29
30
#ifdef __cplusplus
31
extern
"C"
{
32
#endif
33
34
#if !defined(MBEDTLS_TIMING_ALT)
35
// Regular implementation
36
//
37
41
struct
mbedtls_timing_hr_time
{
42
uint64_t
MBEDTLS_PRIVATE
(opaque)[4];
43
};
44
48
typedef
struct
mbedtls_timing_delay_context
{
49
struct
mbedtls_timing_hr_time
MBEDTLS_PRIVATE
(timer);
50
uint32_t
MBEDTLS_PRIVATE
(int_ms);
51
uint32_t
MBEDTLS_PRIVATE
(fin_ms);
52
}
mbedtls_timing_delay_context
;
53
54
#else
/* MBEDTLS_TIMING_ALT */
55
#include "timing_alt.h"
56
#endif
/* MBEDTLS_TIMING_ALT */
57
58
/* Internal use */
59
unsigned
long
mbedtls_timing_get_timer
(
struct
mbedtls_timing_hr_time
*val,
int
reset);
60
75
void
mbedtls_timing_set_delay
(
void
*data, uint32_t int_ms, uint32_t fin_ms);
76
89
int
mbedtls_timing_get_delay
(
void
*data);
90
99
uint32_t
mbedtls_timing_get_final_delay
(
100
const
mbedtls_timing_delay_context
*data);
101
102
#ifdef __cplusplus
103
}
104
#endif
105
106
#endif
/* timing.h */
build_info.h
Build-time configuration info.
private_access.h
Macro wrapper for struct's members.
MBEDTLS_PRIVATE
#define MBEDTLS_PRIVATE(member)
Definition:
private_access.h:27
mbedtls_timing_delay_context
Context for mbedtls_timing_set/get_delay()
Definition:
timing.h:48
mbedtls_timing_hr_time
timer structure
Definition:
timing.h:41
mbedtls_timing_get_timer
unsigned long mbedtls_timing_get_timer(struct mbedtls_timing_hr_time *val, int reset)
mbedtls_timing_delay_context
struct mbedtls_timing_delay_context mbedtls_timing_delay_context
Context for mbedtls_timing_set/get_delay()
mbedtls_timing_get_final_delay
uint32_t mbedtls_timing_get_final_delay(const mbedtls_timing_delay_context *data)
Get the final timing delay.
mbedtls_timing_set_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().)
mbedtls_timing_get_delay
int mbedtls_timing_get_delay(void *data)
Get the status of delays (Memory helper: number of delays passed.)
Generated on Mon Oct 9 2023 14:50:50 for Mbed TLS v3.5.0 by
1.9.4