]> git.sur5r.net Git - freertos/blob - FreeRTOS-Labs/Source/mbedtls/library/version_features.c
Add the Labs projects provided in the V10.2.1_191129 zip file.
[freertos] / FreeRTOS-Labs / Source / mbedtls / library / version_features.c
1 /*\r
2  *  Version feature information\r
3  *\r
4  *  Copyright (C) 2006-2015, ARM Limited, All Rights Reserved\r
5  *  SPDX-License-Identifier: Apache-2.0\r
6  *\r
7  *  Licensed under the Apache License, Version 2.0 (the "License"); you may\r
8  *  not use this file except in compliance with the License.\r
9  *  You may obtain a copy of the License at\r
10  *\r
11  *  http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  *  Unless required by applicable law or agreed to in writing, software\r
14  *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT\r
15  *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  *  See the License for the specific language governing permissions and\r
17  *  limitations under the License.\r
18  *\r
19  *  This file is part of mbed TLS (https://tls.mbed.org)\r
20  */\r
21 \r
22 #if !defined(MBEDTLS_CONFIG_FILE)\r
23 #include "mbedtls/config.h"\r
24 #else\r
25 #include MBEDTLS_CONFIG_FILE\r
26 #endif\r
27 \r
28 #if defined(MBEDTLS_VERSION_C)\r
29 \r
30 #include "mbedtls/version.h"\r
31 \r
32 #include <string.h>\r
33 \r
34 static const char *features[] = {\r
35 #if defined(MBEDTLS_VERSION_FEATURES)\r
36 #if defined(MBEDTLS_HAVE_ASM)\r
37     "MBEDTLS_HAVE_ASM",\r
38 #endif /* MBEDTLS_HAVE_ASM */\r
39 #if defined(MBEDTLS_NO_UDBL_DIVISION)\r
40     "MBEDTLS_NO_UDBL_DIVISION",\r
41 #endif /* MBEDTLS_NO_UDBL_DIVISION */\r
42 #if defined(MBEDTLS_NO_64BIT_MULTIPLICATION)\r
43     "MBEDTLS_NO_64BIT_MULTIPLICATION",\r
44 #endif /* MBEDTLS_NO_64BIT_MULTIPLICATION */\r
45 #if defined(MBEDTLS_HAVE_SSE2)\r
46     "MBEDTLS_HAVE_SSE2",\r
47 #endif /* MBEDTLS_HAVE_SSE2 */\r
48 #if defined(MBEDTLS_HAVE_TIME)\r
49     "MBEDTLS_HAVE_TIME",\r
50 #endif /* MBEDTLS_HAVE_TIME */\r
51 #if defined(MBEDTLS_HAVE_TIME_DATE)\r
52     "MBEDTLS_HAVE_TIME_DATE",\r
53 #endif /* MBEDTLS_HAVE_TIME_DATE */\r
54 #if defined(MBEDTLS_PLATFORM_MEMORY)\r
55     "MBEDTLS_PLATFORM_MEMORY",\r
56 #endif /* MBEDTLS_PLATFORM_MEMORY */\r
57 #if defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS)\r
58     "MBEDTLS_PLATFORM_NO_STD_FUNCTIONS",\r
59 #endif /* MBEDTLS_PLATFORM_NO_STD_FUNCTIONS */\r
60 #if defined(MBEDTLS_PLATFORM_EXIT_ALT)\r
61     "MBEDTLS_PLATFORM_EXIT_ALT",\r
62 #endif /* MBEDTLS_PLATFORM_EXIT_ALT */\r
63 #if defined(MBEDTLS_PLATFORM_TIME_ALT)\r
64     "MBEDTLS_PLATFORM_TIME_ALT",\r
65 #endif /* MBEDTLS_PLATFORM_TIME_ALT */\r
66 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT)\r
67     "MBEDTLS_PLATFORM_FPRINTF_ALT",\r
68 #endif /* MBEDTLS_PLATFORM_FPRINTF_ALT */\r
69 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT)\r
70     "MBEDTLS_PLATFORM_PRINTF_ALT",\r
71 #endif /* MBEDTLS_PLATFORM_PRINTF_ALT */\r
72 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT)\r
73     "MBEDTLS_PLATFORM_SNPRINTF_ALT",\r
74 #endif /* MBEDTLS_PLATFORM_SNPRINTF_ALT */\r
75 #if defined(MBEDTLS_PLATFORM_VSNPRINTF_ALT)\r
76     "MBEDTLS_PLATFORM_VSNPRINTF_ALT",\r
77 #endif /* MBEDTLS_PLATFORM_VSNPRINTF_ALT */\r
78 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT)\r
79     "MBEDTLS_PLATFORM_NV_SEED_ALT",\r
80 #endif /* MBEDTLS_PLATFORM_NV_SEED_ALT */\r
81 #if defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT)\r
82     "MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT",\r
83 #endif /* MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT */\r
84 #if defined(MBEDTLS_DEPRECATED_WARNING)\r
85     "MBEDTLS_DEPRECATED_WARNING",\r
86 #endif /* MBEDTLS_DEPRECATED_WARNING */\r
87 #if defined(MBEDTLS_DEPRECATED_REMOVED)\r
88     "MBEDTLS_DEPRECATED_REMOVED",\r
89 #endif /* MBEDTLS_DEPRECATED_REMOVED */\r
90 #if defined(MBEDTLS_CHECK_PARAMS)\r
91     "MBEDTLS_CHECK_PARAMS",\r
92 #endif /* MBEDTLS_CHECK_PARAMS */\r
93 #if defined(MBEDTLS_TIMING_ALT)\r
94     "MBEDTLS_TIMING_ALT",\r
95 #endif /* MBEDTLS_TIMING_ALT */\r
96 #if defined(MBEDTLS_AES_ALT)\r
97     "MBEDTLS_AES_ALT",\r
98 #endif /* MBEDTLS_AES_ALT */\r
99 #if defined(MBEDTLS_ARC4_ALT)\r
100     "MBEDTLS_ARC4_ALT",\r
101 #endif /* MBEDTLS_ARC4_ALT */\r
102 #if defined(MBEDTLS_ARIA_ALT)\r
103     "MBEDTLS_ARIA_ALT",\r
104 #endif /* MBEDTLS_ARIA_ALT */\r
105 #if defined(MBEDTLS_BLOWFISH_ALT)\r
106     "MBEDTLS_BLOWFISH_ALT",\r
107 #endif /* MBEDTLS_BLOWFISH_ALT */\r
108 #if defined(MBEDTLS_CAMELLIA_ALT)\r
109     "MBEDTLS_CAMELLIA_ALT",\r
110 #endif /* MBEDTLS_CAMELLIA_ALT */\r
111 #if defined(MBEDTLS_CCM_ALT)\r
112     "MBEDTLS_CCM_ALT",\r
113 #endif /* MBEDTLS_CCM_ALT */\r
114 #if defined(MBEDTLS_CHACHA20_ALT)\r
115     "MBEDTLS_CHACHA20_ALT",\r
116 #endif /* MBEDTLS_CHACHA20_ALT */\r
117 #if defined(MBEDTLS_CHACHAPOLY_ALT)\r
118     "MBEDTLS_CHACHAPOLY_ALT",\r
119 #endif /* MBEDTLS_CHACHAPOLY_ALT */\r
120 #if defined(MBEDTLS_CMAC_ALT)\r
121     "MBEDTLS_CMAC_ALT",\r
122 #endif /* MBEDTLS_CMAC_ALT */\r
123 #if defined(MBEDTLS_DES_ALT)\r
124     "MBEDTLS_DES_ALT",\r
125 #endif /* MBEDTLS_DES_ALT */\r
126 #if defined(MBEDTLS_DHM_ALT)\r
127     "MBEDTLS_DHM_ALT",\r
128 #endif /* MBEDTLS_DHM_ALT */\r
129 #if defined(MBEDTLS_ECJPAKE_ALT)\r
130     "MBEDTLS_ECJPAKE_ALT",\r
131 #endif /* MBEDTLS_ECJPAKE_ALT */\r
132 #if defined(MBEDTLS_GCM_ALT)\r
133     "MBEDTLS_GCM_ALT",\r
134 #endif /* MBEDTLS_GCM_ALT */\r
135 #if defined(MBEDTLS_NIST_KW_ALT)\r
136     "MBEDTLS_NIST_KW_ALT",\r
137 #endif /* MBEDTLS_NIST_KW_ALT */\r
138 #if defined(MBEDTLS_MD2_ALT)\r
139     "MBEDTLS_MD2_ALT",\r
140 #endif /* MBEDTLS_MD2_ALT */\r
141 #if defined(MBEDTLS_MD4_ALT)\r
142     "MBEDTLS_MD4_ALT",\r
143 #endif /* MBEDTLS_MD4_ALT */\r
144 #if defined(MBEDTLS_MD5_ALT)\r
145     "MBEDTLS_MD5_ALT",\r
146 #endif /* MBEDTLS_MD5_ALT */\r
147 #if defined(MBEDTLS_POLY1305_ALT)\r
148     "MBEDTLS_POLY1305_ALT",\r
149 #endif /* MBEDTLS_POLY1305_ALT */\r
150 #if defined(MBEDTLS_RIPEMD160_ALT)\r
151     "MBEDTLS_RIPEMD160_ALT",\r
152 #endif /* MBEDTLS_RIPEMD160_ALT */\r
153 #if defined(MBEDTLS_RSA_ALT)\r
154     "MBEDTLS_RSA_ALT",\r
155 #endif /* MBEDTLS_RSA_ALT */\r
156 #if defined(MBEDTLS_SHA1_ALT)\r
157     "MBEDTLS_SHA1_ALT",\r
158 #endif /* MBEDTLS_SHA1_ALT */\r
159 #if defined(MBEDTLS_SHA256_ALT)\r
160     "MBEDTLS_SHA256_ALT",\r
161 #endif /* MBEDTLS_SHA256_ALT */\r
162 #if defined(MBEDTLS_SHA512_ALT)\r
163     "MBEDTLS_SHA512_ALT",\r
164 #endif /* MBEDTLS_SHA512_ALT */\r
165 #if defined(MBEDTLS_XTEA_ALT)\r
166     "MBEDTLS_XTEA_ALT",\r
167 #endif /* MBEDTLS_XTEA_ALT */\r
168 #if defined(MBEDTLS_ECP_ALT)\r
169     "MBEDTLS_ECP_ALT",\r
170 #endif /* MBEDTLS_ECP_ALT */\r
171 #if defined(MBEDTLS_MD2_PROCESS_ALT)\r
172     "MBEDTLS_MD2_PROCESS_ALT",\r
173 #endif /* MBEDTLS_MD2_PROCESS_ALT */\r
174 #if defined(MBEDTLS_MD4_PROCESS_ALT)\r
175     "MBEDTLS_MD4_PROCESS_ALT",\r
176 #endif /* MBEDTLS_MD4_PROCESS_ALT */\r
177 #if defined(MBEDTLS_MD5_PROCESS_ALT)\r
178     "MBEDTLS_MD5_PROCESS_ALT",\r
179 #endif /* MBEDTLS_MD5_PROCESS_ALT */\r
180 #if defined(MBEDTLS_RIPEMD160_PROCESS_ALT)\r
181     "MBEDTLS_RIPEMD160_PROCESS_ALT",\r
182 #endif /* MBEDTLS_RIPEMD160_PROCESS_ALT */\r
183 #if defined(MBEDTLS_SHA1_PROCESS_ALT)\r
184     "MBEDTLS_SHA1_PROCESS_ALT",\r
185 #endif /* MBEDTLS_SHA1_PROCESS_ALT */\r
186 #if defined(MBEDTLS_SHA256_PROCESS_ALT)\r
187     "MBEDTLS_SHA256_PROCESS_ALT",\r
188 #endif /* MBEDTLS_SHA256_PROCESS_ALT */\r
189 #if defined(MBEDTLS_SHA512_PROCESS_ALT)\r
190     "MBEDTLS_SHA512_PROCESS_ALT",\r
191 #endif /* MBEDTLS_SHA512_PROCESS_ALT */\r
192 #if defined(MBEDTLS_DES_SETKEY_ALT)\r
193     "MBEDTLS_DES_SETKEY_ALT",\r
194 #endif /* MBEDTLS_DES_SETKEY_ALT */\r
195 #if defined(MBEDTLS_DES_CRYPT_ECB_ALT)\r
196     "MBEDTLS_DES_CRYPT_ECB_ALT",\r
197 #endif /* MBEDTLS_DES_CRYPT_ECB_ALT */\r
198 #if defined(MBEDTLS_DES3_CRYPT_ECB_ALT)\r
199     "MBEDTLS_DES3_CRYPT_ECB_ALT",\r
200 #endif /* MBEDTLS_DES3_CRYPT_ECB_ALT */\r
201 #if defined(MBEDTLS_AES_SETKEY_ENC_ALT)\r
202     "MBEDTLS_AES_SETKEY_ENC_ALT",\r
203 #endif /* MBEDTLS_AES_SETKEY_ENC_ALT */\r
204 #if defined(MBEDTLS_AES_SETKEY_DEC_ALT)\r
205     "MBEDTLS_AES_SETKEY_DEC_ALT",\r
206 #endif /* MBEDTLS_AES_SETKEY_DEC_ALT */\r
207 #if defined(MBEDTLS_AES_ENCRYPT_ALT)\r
208     "MBEDTLS_AES_ENCRYPT_ALT",\r
209 #endif /* MBEDTLS_AES_ENCRYPT_ALT */\r
210 #if defined(MBEDTLS_AES_DECRYPT_ALT)\r
211     "MBEDTLS_AES_DECRYPT_ALT",\r
212 #endif /* MBEDTLS_AES_DECRYPT_ALT */\r
213 #if defined(MBEDTLS_ECDH_GEN_PUBLIC_ALT)\r
214     "MBEDTLS_ECDH_GEN_PUBLIC_ALT",\r
215 #endif /* MBEDTLS_ECDH_GEN_PUBLIC_ALT */\r
216 #if defined(MBEDTLS_ECDH_COMPUTE_SHARED_ALT)\r
217     "MBEDTLS_ECDH_COMPUTE_SHARED_ALT",\r
218 #endif /* MBEDTLS_ECDH_COMPUTE_SHARED_ALT */\r
219 #if defined(MBEDTLS_ECDSA_VERIFY_ALT)\r
220     "MBEDTLS_ECDSA_VERIFY_ALT",\r
221 #endif /* MBEDTLS_ECDSA_VERIFY_ALT */\r
222 #if defined(MBEDTLS_ECDSA_SIGN_ALT)\r
223     "MBEDTLS_ECDSA_SIGN_ALT",\r
224 #endif /* MBEDTLS_ECDSA_SIGN_ALT */\r
225 #if defined(MBEDTLS_ECDSA_GENKEY_ALT)\r
226     "MBEDTLS_ECDSA_GENKEY_ALT",\r
227 #endif /* MBEDTLS_ECDSA_GENKEY_ALT */\r
228 #if defined(MBEDTLS_ECP_INTERNAL_ALT)\r
229     "MBEDTLS_ECP_INTERNAL_ALT",\r
230 #endif /* MBEDTLS_ECP_INTERNAL_ALT */\r
231 #if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT)\r
232     "MBEDTLS_ECP_RANDOMIZE_JAC_ALT",\r
233 #endif /* MBEDTLS_ECP_RANDOMIZE_JAC_ALT */\r
234 #if defined(MBEDTLS_ECP_ADD_MIXED_ALT)\r
235     "MBEDTLS_ECP_ADD_MIXED_ALT",\r
236 #endif /* MBEDTLS_ECP_ADD_MIXED_ALT */\r
237 #if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT)\r
238     "MBEDTLS_ECP_DOUBLE_JAC_ALT",\r
239 #endif /* MBEDTLS_ECP_DOUBLE_JAC_ALT */\r
240 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT)\r
241     "MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT",\r
242 #endif /* MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT */\r
243 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT)\r
244     "MBEDTLS_ECP_NORMALIZE_JAC_ALT",\r
245 #endif /* MBEDTLS_ECP_NORMALIZE_JAC_ALT */\r
246 #if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT)\r
247     "MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT",\r
248 #endif /* MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT */\r
249 #if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT)\r
250     "MBEDTLS_ECP_RANDOMIZE_MXZ_ALT",\r
251 #endif /* MBEDTLS_ECP_RANDOMIZE_MXZ_ALT */\r
252 #if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT)\r
253     "MBEDTLS_ECP_NORMALIZE_MXZ_ALT",\r
254 #endif /* MBEDTLS_ECP_NORMALIZE_MXZ_ALT */\r
255 #if defined(MBEDTLS_TEST_NULL_ENTROPY)\r
256     "MBEDTLS_TEST_NULL_ENTROPY",\r
257 #endif /* MBEDTLS_TEST_NULL_ENTROPY */\r
258 #if defined(MBEDTLS_ENTROPY_HARDWARE_ALT)\r
259     "MBEDTLS_ENTROPY_HARDWARE_ALT",\r
260 #endif /* MBEDTLS_ENTROPY_HARDWARE_ALT */\r
261 #if defined(MBEDTLS_AES_ROM_TABLES)\r
262     "MBEDTLS_AES_ROM_TABLES",\r
263 #endif /* MBEDTLS_AES_ROM_TABLES */\r
264 #if defined(MBEDTLS_AES_FEWER_TABLES)\r
265     "MBEDTLS_AES_FEWER_TABLES",\r
266 #endif /* MBEDTLS_AES_FEWER_TABLES */\r
267 #if defined(MBEDTLS_CAMELLIA_SMALL_MEMORY)\r
268     "MBEDTLS_CAMELLIA_SMALL_MEMORY",\r
269 #endif /* MBEDTLS_CAMELLIA_SMALL_MEMORY */\r
270 #if defined(MBEDTLS_CIPHER_MODE_CBC)\r
271     "MBEDTLS_CIPHER_MODE_CBC",\r
272 #endif /* MBEDTLS_CIPHER_MODE_CBC */\r
273 #if defined(MBEDTLS_CIPHER_MODE_CFB)\r
274     "MBEDTLS_CIPHER_MODE_CFB",\r
275 #endif /* MBEDTLS_CIPHER_MODE_CFB */\r
276 #if defined(MBEDTLS_CIPHER_MODE_CTR)\r
277     "MBEDTLS_CIPHER_MODE_CTR",\r
278 #endif /* MBEDTLS_CIPHER_MODE_CTR */\r
279 #if defined(MBEDTLS_CIPHER_MODE_OFB)\r
280     "MBEDTLS_CIPHER_MODE_OFB",\r
281 #endif /* MBEDTLS_CIPHER_MODE_OFB */\r
282 #if defined(MBEDTLS_CIPHER_MODE_XTS)\r
283     "MBEDTLS_CIPHER_MODE_XTS",\r
284 #endif /* MBEDTLS_CIPHER_MODE_XTS */\r
285 #if defined(MBEDTLS_CIPHER_NULL_CIPHER)\r
286     "MBEDTLS_CIPHER_NULL_CIPHER",\r
287 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */\r
288 #if defined(MBEDTLS_CIPHER_PADDING_PKCS7)\r
289     "MBEDTLS_CIPHER_PADDING_PKCS7",\r
290 #endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */\r
291 #if defined(MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS)\r
292     "MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS",\r
293 #endif /* MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS */\r
294 #if defined(MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN)\r
295     "MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN",\r
296 #endif /* MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN */\r
297 #if defined(MBEDTLS_CIPHER_PADDING_ZEROS)\r
298     "MBEDTLS_CIPHER_PADDING_ZEROS",\r
299 #endif /* MBEDTLS_CIPHER_PADDING_ZEROS */\r
300 #if defined(MBEDTLS_ENABLE_WEAK_CIPHERSUITES)\r
301     "MBEDTLS_ENABLE_WEAK_CIPHERSUITES",\r
302 #endif /* MBEDTLS_ENABLE_WEAK_CIPHERSUITES */\r
303 #if defined(MBEDTLS_REMOVE_ARC4_CIPHERSUITES)\r
304     "MBEDTLS_REMOVE_ARC4_CIPHERSUITES",\r
305 #endif /* MBEDTLS_REMOVE_ARC4_CIPHERSUITES */\r
306 #if defined(MBEDTLS_REMOVE_3DES_CIPHERSUITES)\r
307     "MBEDTLS_REMOVE_3DES_CIPHERSUITES",\r
308 #endif /* MBEDTLS_REMOVE_3DES_CIPHERSUITES */\r
309 #if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED)\r
310     "MBEDTLS_ECP_DP_SECP192R1_ENABLED",\r
311 #endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */\r
312 #if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED)\r
313     "MBEDTLS_ECP_DP_SECP224R1_ENABLED",\r
314 #endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */\r
315 #if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED)\r
316     "MBEDTLS_ECP_DP_SECP256R1_ENABLED",\r
317 #endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */\r
318 #if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)\r
319     "MBEDTLS_ECP_DP_SECP384R1_ENABLED",\r
320 #endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */\r
321 #if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED)\r
322     "MBEDTLS_ECP_DP_SECP521R1_ENABLED",\r
323 #endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */\r
324 #if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED)\r
325     "MBEDTLS_ECP_DP_SECP192K1_ENABLED",\r
326 #endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */\r
327 #if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED)\r
328     "MBEDTLS_ECP_DP_SECP224K1_ENABLED",\r
329 #endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */\r
330 #if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)\r
331     "MBEDTLS_ECP_DP_SECP256K1_ENABLED",\r
332 #endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */\r
333 #if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED)\r
334     "MBEDTLS_ECP_DP_BP256R1_ENABLED",\r
335 #endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */\r
336 #if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED)\r
337     "MBEDTLS_ECP_DP_BP384R1_ENABLED",\r
338 #endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */\r
339 #if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED)\r
340     "MBEDTLS_ECP_DP_BP512R1_ENABLED",\r
341 #endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */\r
342 #if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED)\r
343     "MBEDTLS_ECP_DP_CURVE25519_ENABLED",\r
344 #endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */\r
345 #if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED)\r
346     "MBEDTLS_ECP_DP_CURVE448_ENABLED",\r
347 #endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */\r
348 #if defined(MBEDTLS_ECP_NIST_OPTIM)\r
349     "MBEDTLS_ECP_NIST_OPTIM",\r
350 #endif /* MBEDTLS_ECP_NIST_OPTIM */\r
351 #if defined(MBEDTLS_ECP_RESTARTABLE)\r
352     "MBEDTLS_ECP_RESTARTABLE",\r
353 #endif /* MBEDTLS_ECP_RESTARTABLE */\r
354 #if defined(MBEDTLS_ECDH_LEGACY_CONTEXT)\r
355     "MBEDTLS_ECDH_LEGACY_CONTEXT",\r
356 #endif /* MBEDTLS_ECDH_LEGACY_CONTEXT */\r
357 #if defined(MBEDTLS_ECDSA_DETERMINISTIC)\r
358     "MBEDTLS_ECDSA_DETERMINISTIC",\r
359 #endif /* MBEDTLS_ECDSA_DETERMINISTIC */\r
360 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)\r
361     "MBEDTLS_KEY_EXCHANGE_PSK_ENABLED",\r
362 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */\r
363 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)\r
364     "MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED",\r
365 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */\r
366 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)\r
367     "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED",\r
368 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */\r
369 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)\r
370     "MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED",\r
371 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */\r
372 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)\r
373     "MBEDTLS_KEY_EXCHANGE_RSA_ENABLED",\r
374 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */\r
375 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)\r
376     "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED",\r
377 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */\r
378 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)\r
379     "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED",\r
380 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */\r
381 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)\r
382     "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED",\r
383 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */\r
384 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)\r
385     "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED",\r
386 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */\r
387 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)\r
388     "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED",\r
389 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */\r
390 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)\r
391     "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED",\r
392 #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */\r
393 #if defined(MBEDTLS_PK_PARSE_EC_EXTENDED)\r
394     "MBEDTLS_PK_PARSE_EC_EXTENDED",\r
395 #endif /* MBEDTLS_PK_PARSE_EC_EXTENDED */\r
396 #if defined(MBEDTLS_ERROR_STRERROR_DUMMY)\r
397     "MBEDTLS_ERROR_STRERROR_DUMMY",\r
398 #endif /* MBEDTLS_ERROR_STRERROR_DUMMY */\r
399 #if defined(MBEDTLS_GENPRIME)\r
400     "MBEDTLS_GENPRIME",\r
401 #endif /* MBEDTLS_GENPRIME */\r
402 #if defined(MBEDTLS_FS_IO)\r
403     "MBEDTLS_FS_IO",\r
404 #endif /* MBEDTLS_FS_IO */\r
405 #if defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES)\r
406     "MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES",\r
407 #endif /* MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES */\r
408 #if defined(MBEDTLS_NO_PLATFORM_ENTROPY)\r
409     "MBEDTLS_NO_PLATFORM_ENTROPY",\r
410 #endif /* MBEDTLS_NO_PLATFORM_ENTROPY */\r
411 #if defined(MBEDTLS_ENTROPY_FORCE_SHA256)\r
412     "MBEDTLS_ENTROPY_FORCE_SHA256",\r
413 #endif /* MBEDTLS_ENTROPY_FORCE_SHA256 */\r
414 #if defined(MBEDTLS_ENTROPY_NV_SEED)\r
415     "MBEDTLS_ENTROPY_NV_SEED",\r
416 #endif /* MBEDTLS_ENTROPY_NV_SEED */\r
417 #if defined(MBEDTLS_MEMORY_DEBUG)\r
418     "MBEDTLS_MEMORY_DEBUG",\r
419 #endif /* MBEDTLS_MEMORY_DEBUG */\r
420 #if defined(MBEDTLS_MEMORY_BACKTRACE)\r
421     "MBEDTLS_MEMORY_BACKTRACE",\r
422 #endif /* MBEDTLS_MEMORY_BACKTRACE */\r
423 #if defined(MBEDTLS_PK_RSA_ALT_SUPPORT)\r
424     "MBEDTLS_PK_RSA_ALT_SUPPORT",\r
425 #endif /* MBEDTLS_PK_RSA_ALT_SUPPORT */\r
426 #if defined(MBEDTLS_PKCS1_V15)\r
427     "MBEDTLS_PKCS1_V15",\r
428 #endif /* MBEDTLS_PKCS1_V15 */\r
429 #if defined(MBEDTLS_PKCS1_V21)\r
430     "MBEDTLS_PKCS1_V21",\r
431 #endif /* MBEDTLS_PKCS1_V21 */\r
432 #if defined(MBEDTLS_PSA_CRYPTO_SPM)\r
433     "MBEDTLS_PSA_CRYPTO_SPM",\r
434 #endif /* MBEDTLS_PSA_CRYPTO_SPM */\r
435 #if defined(MBEDTLS_PSA_INJECT_ENTROPY)\r
436     "MBEDTLS_PSA_INJECT_ENTROPY",\r
437 #endif /* MBEDTLS_PSA_INJECT_ENTROPY */\r
438 #if defined(MBEDTLS_RSA_NO_CRT)\r
439     "MBEDTLS_RSA_NO_CRT",\r
440 #endif /* MBEDTLS_RSA_NO_CRT */\r
441 #if defined(MBEDTLS_SELF_TEST)\r
442     "MBEDTLS_SELF_TEST",\r
443 #endif /* MBEDTLS_SELF_TEST */\r
444 #if defined(MBEDTLS_SHA256_SMALLER)\r
445     "MBEDTLS_SHA256_SMALLER",\r
446 #endif /* MBEDTLS_SHA256_SMALLER */\r
447 #if defined(MBEDTLS_SSL_ALL_ALERT_MESSAGES)\r
448     "MBEDTLS_SSL_ALL_ALERT_MESSAGES",\r
449 #endif /* MBEDTLS_SSL_ALL_ALERT_MESSAGES */\r
450 #if defined(MBEDTLS_SSL_DTLS_CONNECTION_ID)\r
451     "MBEDTLS_SSL_DTLS_CONNECTION_ID",\r
452 #endif /* MBEDTLS_SSL_DTLS_CONNECTION_ID */\r
453 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE)\r
454     "MBEDTLS_SSL_ASYNC_PRIVATE",\r
455 #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */\r
456 #if defined(MBEDTLS_SSL_DEBUG_ALL)\r
457     "MBEDTLS_SSL_DEBUG_ALL",\r
458 #endif /* MBEDTLS_SSL_DEBUG_ALL */\r
459 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)\r
460     "MBEDTLS_SSL_ENCRYPT_THEN_MAC",\r
461 #endif /* MBEDTLS_SSL_ENCRYPT_THEN_MAC */\r
462 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET)\r
463     "MBEDTLS_SSL_EXTENDED_MASTER_SECRET",\r
464 #endif /* MBEDTLS_SSL_EXTENDED_MASTER_SECRET */\r
465 #if defined(MBEDTLS_SSL_FALLBACK_SCSV)\r
466     "MBEDTLS_SSL_FALLBACK_SCSV",\r
467 #endif /* MBEDTLS_SSL_FALLBACK_SCSV */\r
468 #if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)\r
469     "MBEDTLS_SSL_KEEP_PEER_CERTIFICATE",\r
470 #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */\r
471 #if defined(MBEDTLS_SSL_HW_RECORD_ACCEL)\r
472     "MBEDTLS_SSL_HW_RECORD_ACCEL",\r
473 #endif /* MBEDTLS_SSL_HW_RECORD_ACCEL */\r
474 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)\r
475     "MBEDTLS_SSL_CBC_RECORD_SPLITTING",\r
476 #endif /* MBEDTLS_SSL_CBC_RECORD_SPLITTING */\r
477 #if defined(MBEDTLS_SSL_RENEGOTIATION)\r
478     "MBEDTLS_SSL_RENEGOTIATION",\r
479 #endif /* MBEDTLS_SSL_RENEGOTIATION */\r
480 #if defined(MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO)\r
481     "MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO",\r
482 #endif /* MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO */\r
483 #if defined(MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE)\r
484     "MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE",\r
485 #endif /* MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE */\r
486 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)\r
487     "MBEDTLS_SSL_MAX_FRAGMENT_LENGTH",\r
488 #endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */\r
489 #if defined(MBEDTLS_SSL_PROTO_SSL3)\r
490     "MBEDTLS_SSL_PROTO_SSL3",\r
491 #endif /* MBEDTLS_SSL_PROTO_SSL3 */\r
492 #if defined(MBEDTLS_SSL_PROTO_TLS1)\r
493     "MBEDTLS_SSL_PROTO_TLS1",\r
494 #endif /* MBEDTLS_SSL_PROTO_TLS1 */\r
495 #if defined(MBEDTLS_SSL_PROTO_TLS1_1)\r
496     "MBEDTLS_SSL_PROTO_TLS1_1",\r
497 #endif /* MBEDTLS_SSL_PROTO_TLS1_1 */\r
498 #if defined(MBEDTLS_SSL_PROTO_TLS1_2)\r
499     "MBEDTLS_SSL_PROTO_TLS1_2",\r
500 #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */\r
501 #if defined(MBEDTLS_SSL_PROTO_DTLS)\r
502     "MBEDTLS_SSL_PROTO_DTLS",\r
503 #endif /* MBEDTLS_SSL_PROTO_DTLS */\r
504 #if defined(MBEDTLS_SSL_ALPN)\r
505     "MBEDTLS_SSL_ALPN",\r
506 #endif /* MBEDTLS_SSL_ALPN */\r
507 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)\r
508     "MBEDTLS_SSL_DTLS_ANTI_REPLAY",\r
509 #endif /* MBEDTLS_SSL_DTLS_ANTI_REPLAY */\r
510 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY)\r
511     "MBEDTLS_SSL_DTLS_HELLO_VERIFY",\r
512 #endif /* MBEDTLS_SSL_DTLS_HELLO_VERIFY */\r
513 #if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE)\r
514     "MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE",\r
515 #endif /* MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE */\r
516 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)\r
517     "MBEDTLS_SSL_DTLS_BADMAC_LIMIT",\r
518 #endif /* MBEDTLS_SSL_DTLS_BADMAC_LIMIT */\r
519 #if defined(MBEDTLS_SSL_SESSION_TICKETS)\r
520     "MBEDTLS_SSL_SESSION_TICKETS",\r
521 #endif /* MBEDTLS_SSL_SESSION_TICKETS */\r
522 #if defined(MBEDTLS_SSL_EXPORT_KEYS)\r
523     "MBEDTLS_SSL_EXPORT_KEYS",\r
524 #endif /* MBEDTLS_SSL_EXPORT_KEYS */\r
525 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)\r
526     "MBEDTLS_SSL_SERVER_NAME_INDICATION",\r
527 #endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */\r
528 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC)\r
529     "MBEDTLS_SSL_TRUNCATED_HMAC",\r
530 #endif /* MBEDTLS_SSL_TRUNCATED_HMAC */\r
531 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT)\r
532     "MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT",\r
533 #endif /* MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT */\r
534 #if defined(MBEDTLS_THREADING_ALT)\r
535     "MBEDTLS_THREADING_ALT",\r
536 #endif /* MBEDTLS_THREADING_ALT */\r
537 #if defined(MBEDTLS_THREADING_PTHREAD)\r
538     "MBEDTLS_THREADING_PTHREAD",\r
539 #endif /* MBEDTLS_THREADING_PTHREAD */\r
540 #if defined(MBEDTLS_USE_PSA_CRYPTO)\r
541     "MBEDTLS_USE_PSA_CRYPTO",\r
542 #endif /* MBEDTLS_USE_PSA_CRYPTO */\r
543 #if defined(MBEDTLS_VERSION_FEATURES)\r
544     "MBEDTLS_VERSION_FEATURES",\r
545 #endif /* MBEDTLS_VERSION_FEATURES */\r
546 #if defined(MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3)\r
547     "MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3",\r
548 #endif /* MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 */\r
549 #if defined(MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION)\r
550     "MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION",\r
551 #endif /* MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION */\r
552 #if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK)\r
553     "MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK",\r
554 #endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */\r
555 #if defined(MBEDTLS_X509_CHECK_KEY_USAGE)\r
556     "MBEDTLS_X509_CHECK_KEY_USAGE",\r
557 #endif /* MBEDTLS_X509_CHECK_KEY_USAGE */\r
558 #if defined(MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE)\r
559     "MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE",\r
560 #endif /* MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE */\r
561 #if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT)\r
562     "MBEDTLS_X509_RSASSA_PSS_SUPPORT",\r
563 #endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */\r
564 #if defined(MBEDTLS_ZLIB_SUPPORT)\r
565     "MBEDTLS_ZLIB_SUPPORT",\r
566 #endif /* MBEDTLS_ZLIB_SUPPORT */\r
567 #if defined(MBEDTLS_AESNI_C)\r
568     "MBEDTLS_AESNI_C",\r
569 #endif /* MBEDTLS_AESNI_C */\r
570 #if defined(MBEDTLS_AES_C)\r
571     "MBEDTLS_AES_C",\r
572 #endif /* MBEDTLS_AES_C */\r
573 #if defined(MBEDTLS_ARC4_C)\r
574     "MBEDTLS_ARC4_C",\r
575 #endif /* MBEDTLS_ARC4_C */\r
576 #if defined(MBEDTLS_ASN1_PARSE_C)\r
577     "MBEDTLS_ASN1_PARSE_C",\r
578 #endif /* MBEDTLS_ASN1_PARSE_C */\r
579 #if defined(MBEDTLS_ASN1_WRITE_C)\r
580     "MBEDTLS_ASN1_WRITE_C",\r
581 #endif /* MBEDTLS_ASN1_WRITE_C */\r
582 #if defined(MBEDTLS_BASE64_C)\r
583     "MBEDTLS_BASE64_C",\r
584 #endif /* MBEDTLS_BASE64_C */\r
585 #if defined(MBEDTLS_BIGNUM_C)\r
586     "MBEDTLS_BIGNUM_C",\r
587 #endif /* MBEDTLS_BIGNUM_C */\r
588 #if defined(MBEDTLS_BLOWFISH_C)\r
589     "MBEDTLS_BLOWFISH_C",\r
590 #endif /* MBEDTLS_BLOWFISH_C */\r
591 #if defined(MBEDTLS_CAMELLIA_C)\r
592     "MBEDTLS_CAMELLIA_C",\r
593 #endif /* MBEDTLS_CAMELLIA_C */\r
594 #if defined(MBEDTLS_ARIA_C)\r
595     "MBEDTLS_ARIA_C",\r
596 #endif /* MBEDTLS_ARIA_C */\r
597 #if defined(MBEDTLS_CCM_C)\r
598     "MBEDTLS_CCM_C",\r
599 #endif /* MBEDTLS_CCM_C */\r
600 #if defined(MBEDTLS_CERTS_C)\r
601     "MBEDTLS_CERTS_C",\r
602 #endif /* MBEDTLS_CERTS_C */\r
603 #if defined(MBEDTLS_CHACHA20_C)\r
604     "MBEDTLS_CHACHA20_C",\r
605 #endif /* MBEDTLS_CHACHA20_C */\r
606 #if defined(MBEDTLS_CHACHAPOLY_C)\r
607     "MBEDTLS_CHACHAPOLY_C",\r
608 #endif /* MBEDTLS_CHACHAPOLY_C */\r
609 #if defined(MBEDTLS_CIPHER_C)\r
610     "MBEDTLS_CIPHER_C",\r
611 #endif /* MBEDTLS_CIPHER_C */\r
612 #if defined(MBEDTLS_CMAC_C)\r
613     "MBEDTLS_CMAC_C",\r
614 #endif /* MBEDTLS_CMAC_C */\r
615 #if defined(MBEDTLS_CTR_DRBG_C)\r
616     "MBEDTLS_CTR_DRBG_C",\r
617 #endif /* MBEDTLS_CTR_DRBG_C */\r
618 #if defined(MBEDTLS_DEBUG_C)\r
619     "MBEDTLS_DEBUG_C",\r
620 #endif /* MBEDTLS_DEBUG_C */\r
621 #if defined(MBEDTLS_DES_C)\r
622     "MBEDTLS_DES_C",\r
623 #endif /* MBEDTLS_DES_C */\r
624 #if defined(MBEDTLS_DHM_C)\r
625     "MBEDTLS_DHM_C",\r
626 #endif /* MBEDTLS_DHM_C */\r
627 #if defined(MBEDTLS_ECDH_C)\r
628     "MBEDTLS_ECDH_C",\r
629 #endif /* MBEDTLS_ECDH_C */\r
630 #if defined(MBEDTLS_ECDSA_C)\r
631     "MBEDTLS_ECDSA_C",\r
632 #endif /* MBEDTLS_ECDSA_C */\r
633 #if defined(MBEDTLS_ECJPAKE_C)\r
634     "MBEDTLS_ECJPAKE_C",\r
635 #endif /* MBEDTLS_ECJPAKE_C */\r
636 #if defined(MBEDTLS_ECP_C)\r
637     "MBEDTLS_ECP_C",\r
638 #endif /* MBEDTLS_ECP_C */\r
639 #if defined(MBEDTLS_ENTROPY_C)\r
640     "MBEDTLS_ENTROPY_C",\r
641 #endif /* MBEDTLS_ENTROPY_C */\r
642 #if defined(MBEDTLS_ERROR_C)\r
643     "MBEDTLS_ERROR_C",\r
644 #endif /* MBEDTLS_ERROR_C */\r
645 #if defined(MBEDTLS_GCM_C)\r
646     "MBEDTLS_GCM_C",\r
647 #endif /* MBEDTLS_GCM_C */\r
648 #if defined(MBEDTLS_HAVEGE_C)\r
649     "MBEDTLS_HAVEGE_C",\r
650 #endif /* MBEDTLS_HAVEGE_C */\r
651 #if defined(MBEDTLS_HKDF_C)\r
652     "MBEDTLS_HKDF_C",\r
653 #endif /* MBEDTLS_HKDF_C */\r
654 #if defined(MBEDTLS_HMAC_DRBG_C)\r
655     "MBEDTLS_HMAC_DRBG_C",\r
656 #endif /* MBEDTLS_HMAC_DRBG_C */\r
657 #if defined(MBEDTLS_NIST_KW_C)\r
658     "MBEDTLS_NIST_KW_C",\r
659 #endif /* MBEDTLS_NIST_KW_C */\r
660 #if defined(MBEDTLS_MD_C)\r
661     "MBEDTLS_MD_C",\r
662 #endif /* MBEDTLS_MD_C */\r
663 #if defined(MBEDTLS_MD2_C)\r
664     "MBEDTLS_MD2_C",\r
665 #endif /* MBEDTLS_MD2_C */\r
666 #if defined(MBEDTLS_MD4_C)\r
667     "MBEDTLS_MD4_C",\r
668 #endif /* MBEDTLS_MD4_C */\r
669 #if defined(MBEDTLS_MD5_C)\r
670     "MBEDTLS_MD5_C",\r
671 #endif /* MBEDTLS_MD5_C */\r
672 #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)\r
673     "MBEDTLS_MEMORY_BUFFER_ALLOC_C",\r
674 #endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */\r
675 #if defined(MBEDTLS_NET_C)\r
676     "MBEDTLS_NET_C",\r
677 #endif /* MBEDTLS_NET_C */\r
678 #if defined(MBEDTLS_OID_C)\r
679     "MBEDTLS_OID_C",\r
680 #endif /* MBEDTLS_OID_C */\r
681 #if defined(MBEDTLS_PADLOCK_C)\r
682     "MBEDTLS_PADLOCK_C",\r
683 #endif /* MBEDTLS_PADLOCK_C */\r
684 #if defined(MBEDTLS_PEM_PARSE_C)\r
685     "MBEDTLS_PEM_PARSE_C",\r
686 #endif /* MBEDTLS_PEM_PARSE_C */\r
687 #if defined(MBEDTLS_PEM_WRITE_C)\r
688     "MBEDTLS_PEM_WRITE_C",\r
689 #endif /* MBEDTLS_PEM_WRITE_C */\r
690 #if defined(MBEDTLS_PK_C)\r
691     "MBEDTLS_PK_C",\r
692 #endif /* MBEDTLS_PK_C */\r
693 #if defined(MBEDTLS_PK_PARSE_C)\r
694     "MBEDTLS_PK_PARSE_C",\r
695 #endif /* MBEDTLS_PK_PARSE_C */\r
696 #if defined(MBEDTLS_PK_WRITE_C)\r
697     "MBEDTLS_PK_WRITE_C",\r
698 #endif /* MBEDTLS_PK_WRITE_C */\r
699 #if defined(MBEDTLS_PKCS5_C)\r
700     "MBEDTLS_PKCS5_C",\r
701 #endif /* MBEDTLS_PKCS5_C */\r
702 #if defined(MBEDTLS_PKCS11_C)\r
703     "MBEDTLS_PKCS11_C",\r
704 #endif /* MBEDTLS_PKCS11_C */\r
705 #if defined(MBEDTLS_PKCS12_C)\r
706     "MBEDTLS_PKCS12_C",\r
707 #endif /* MBEDTLS_PKCS12_C */\r
708 #if defined(MBEDTLS_PLATFORM_C)\r
709     "MBEDTLS_PLATFORM_C",\r
710 #endif /* MBEDTLS_PLATFORM_C */\r
711 #if defined(MBEDTLS_POLY1305_C)\r
712     "MBEDTLS_POLY1305_C",\r
713 #endif /* MBEDTLS_POLY1305_C */\r
714 #if defined(MBEDTLS_PSA_CRYPTO_C)\r
715     "MBEDTLS_PSA_CRYPTO_C",\r
716 #endif /* MBEDTLS_PSA_CRYPTO_C */\r
717 #if defined(MBEDTLS_PSA_CRYPTO_STORAGE_C)\r
718     "MBEDTLS_PSA_CRYPTO_STORAGE_C",\r
719 #endif /* MBEDTLS_PSA_CRYPTO_STORAGE_C */\r
720 #if defined(MBEDTLS_PSA_ITS_FILE_C)\r
721     "MBEDTLS_PSA_ITS_FILE_C",\r
722 #endif /* MBEDTLS_PSA_ITS_FILE_C */\r
723 #if defined(MBEDTLS_RIPEMD160_C)\r
724     "MBEDTLS_RIPEMD160_C",\r
725 #endif /* MBEDTLS_RIPEMD160_C */\r
726 #if defined(MBEDTLS_RSA_C)\r
727     "MBEDTLS_RSA_C",\r
728 #endif /* MBEDTLS_RSA_C */\r
729 #if defined(MBEDTLS_SHA1_C)\r
730     "MBEDTLS_SHA1_C",\r
731 #endif /* MBEDTLS_SHA1_C */\r
732 #if defined(MBEDTLS_SHA256_C)\r
733     "MBEDTLS_SHA256_C",\r
734 #endif /* MBEDTLS_SHA256_C */\r
735 #if defined(MBEDTLS_SHA512_C)\r
736     "MBEDTLS_SHA512_C",\r
737 #endif /* MBEDTLS_SHA512_C */\r
738 #if defined(MBEDTLS_SSL_CACHE_C)\r
739     "MBEDTLS_SSL_CACHE_C",\r
740 #endif /* MBEDTLS_SSL_CACHE_C */\r
741 #if defined(MBEDTLS_SSL_COOKIE_C)\r
742     "MBEDTLS_SSL_COOKIE_C",\r
743 #endif /* MBEDTLS_SSL_COOKIE_C */\r
744 #if defined(MBEDTLS_SSL_TICKET_C)\r
745     "MBEDTLS_SSL_TICKET_C",\r
746 #endif /* MBEDTLS_SSL_TICKET_C */\r
747 #if defined(MBEDTLS_SSL_CLI_C)\r
748     "MBEDTLS_SSL_CLI_C",\r
749 #endif /* MBEDTLS_SSL_CLI_C */\r
750 #if defined(MBEDTLS_SSL_SRV_C)\r
751     "MBEDTLS_SSL_SRV_C",\r
752 #endif /* MBEDTLS_SSL_SRV_C */\r
753 #if defined(MBEDTLS_SSL_TLS_C)\r
754     "MBEDTLS_SSL_TLS_C",\r
755 #endif /* MBEDTLS_SSL_TLS_C */\r
756 #if defined(MBEDTLS_THREADING_C)\r
757     "MBEDTLS_THREADING_C",\r
758 #endif /* MBEDTLS_THREADING_C */\r
759 #if defined(MBEDTLS_TIMING_C)\r
760     "MBEDTLS_TIMING_C",\r
761 #endif /* MBEDTLS_TIMING_C */\r
762 #if defined(MBEDTLS_VERSION_C)\r
763     "MBEDTLS_VERSION_C",\r
764 #endif /* MBEDTLS_VERSION_C */\r
765 #if defined(MBEDTLS_X509_USE_C)\r
766     "MBEDTLS_X509_USE_C",\r
767 #endif /* MBEDTLS_X509_USE_C */\r
768 #if defined(MBEDTLS_X509_CRT_PARSE_C)\r
769     "MBEDTLS_X509_CRT_PARSE_C",\r
770 #endif /* MBEDTLS_X509_CRT_PARSE_C */\r
771 #if defined(MBEDTLS_X509_CRL_PARSE_C)\r
772     "MBEDTLS_X509_CRL_PARSE_C",\r
773 #endif /* MBEDTLS_X509_CRL_PARSE_C */\r
774 #if defined(MBEDTLS_X509_CSR_PARSE_C)\r
775     "MBEDTLS_X509_CSR_PARSE_C",\r
776 #endif /* MBEDTLS_X509_CSR_PARSE_C */\r
777 #if defined(MBEDTLS_X509_CREATE_C)\r
778     "MBEDTLS_X509_CREATE_C",\r
779 #endif /* MBEDTLS_X509_CREATE_C */\r
780 #if defined(MBEDTLS_X509_CRT_WRITE_C)\r
781     "MBEDTLS_X509_CRT_WRITE_C",\r
782 #endif /* MBEDTLS_X509_CRT_WRITE_C */\r
783 #if defined(MBEDTLS_X509_CSR_WRITE_C)\r
784     "MBEDTLS_X509_CSR_WRITE_C",\r
785 #endif /* MBEDTLS_X509_CSR_WRITE_C */\r
786 #if defined(MBEDTLS_XTEA_C)\r
787     "MBEDTLS_XTEA_C",\r
788 #endif /* MBEDTLS_XTEA_C */\r
789 #endif /* MBEDTLS_VERSION_FEATURES */\r
790     NULL\r
791 };\r
792 \r
793 int mbedtls_version_check_feature( const char *feature )\r
794 {\r
795     const char **idx = features;\r
796 \r
797     if( *idx == NULL )\r
798         return( -2 );\r
799 \r
800     if( feature == NULL )\r
801         return( -1 );\r
802 \r
803     while( *idx != NULL )\r
804     {\r
805         if( !strcmp( *idx, feature ) )\r
806             return( 0 );\r
807         idx++;\r
808     }\r
809     return( -1 );\r
810 }\r
811 \r
812 #endif /* MBEDTLS_VERSION_C */\r