XenevaOS
Loading...
Searching...
No Matches
mps_common.h
Go to the documentation of this file.
1/*
2 * Copyright The Mbed TLS Contributors
3 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
4 */
5
12#ifndef MBEDTLS_MPS_COMMON_H
13#define MBEDTLS_MPS_COMMON_H
14
15#include "mps_error.h"
16
17#include <stdio.h>
18
66#define MBEDTLS_MPS_STATE_VALIDATION
67
81#define MBEDTLS_MPS_ENABLE_ASSERTIONS
82
84//#define MBEDTLS_MPS_ENABLE_TRACE
85
86#if defined(MBEDTLS_MPS_STATE_VALIDATION)
87
88#define MBEDTLS_MPS_STATE_VALIDATE_RAW(cond, string) \
89 do \
90 { \
91 if (!(cond)) \
92 { \
93 MBEDTLS_MPS_TRACE(MBEDTLS_MPS_TRACE_TYPE_ERROR, string); \
94 MBEDTLS_MPS_TRACE_RETURN(MBEDTLS_ERR_MPS_OPERATION_UNEXPECTED); \
95 } \
96 } while (0)
97
98#else /* MBEDTLS_MPS_STATE_VALIDATION */
99
100#define MBEDTLS_MPS_STATE_VALIDATE_RAW(cond, string) \
101 do \
102 { \
103 (cond); \
104 } while (0)
105
106#endif /* MBEDTLS_MPS_STATE_VALIDATION */
107
108#if defined(MBEDTLS_MPS_ENABLE_ASSERTIONS)
109
110#define MBEDTLS_MPS_ASSERT_RAW(cond, string) \
111 do \
112 { \
113 if (!(cond)) \
114 { \
115 MBEDTLS_MPS_TRACE(MBEDTLS_MPS_TRACE_TYPE_ERROR, string); \
116 MBEDTLS_MPS_TRACE_RETURN(MBEDTLS_ERR_MPS_INTERNAL_ERROR); \
117 } \
118 } while (0)
119
120#else /* MBEDTLS_MPS_ENABLE_ASSERTIONS */
121
122#define MBEDTLS_MPS_ASSERT_RAW(cond, string) do {} while (0)
123
124#endif /* MBEDTLS_MPS_ENABLE_ASSERTIONS */
125
126
127/* \} name SECTION: MPS Configuration */
128
158#define MBEDTLS_MPS_STORED_SIZE_MAX (SIZE_MAX)
159
171typedef size_t mbedtls_mps_size_t;
172#define MBEDTLS_MPS_SIZE_MAX (SIZE_MAX)
173
174#if MBEDTLS_MPS_STORED_SIZE_MAX > MBEDTLS_MPS_SIZE_MAX
175#error "Misconfiguration of mbedtls_mps_size_t and mbedtls_mps_stored_size_t."
176#endif
177
178/* \} SECTION: Common types */
179
180
181#endif /* MBEDTLS_MPS_COMMON_H */
size_t mbedtls_mps_stored_size_t
The type of buffer sizes and offsets used in MPS structures.
Definition mps_common.h:157
size_t mbedtls_mps_size_t
The type of buffer sizes and offsets used in the MPS API and implementation.
Definition mps_common.h:171
Error codes used by MPS.