• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Query Mbed TLS compile time configurations from config.h
3  *
4  *  Copyright The Mbed TLS Contributors
5  *  SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
6  *
7  *  This file is provided under the Apache License 2.0, or the
8  *  GNU General Public License v2.0 or later.
9  *
10  *  **********
11  *  Apache License 2.0:
12  *
13  *  Licensed under the Apache License, Version 2.0 (the "License"); you may
14  *  not use this file except in compliance with the License.
15  *  You may obtain a copy of the License at
16  *
17  *  http://www.apache.org/licenses/LICENSE-2.0
18  *
19  *  Unless required by applicable law or agreed to in writing, software
20  *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
21  *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22  *  See the License for the specific language governing permissions and
23  *  limitations under the License.
24  *
25  *  **********
26  *
27  *  **********
28  *  GNU General Public License v2.0 or later:
29  *
30  *  This program is free software; you can redistribute it and/or modify
31  *  it under the terms of the GNU General Public License as published by
32  *  the Free Software Foundation; either version 2 of the License, or
33  *  (at your option) any later version.
34  *
35  *  This program is distributed in the hope that it will be useful,
36  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
37  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
38  *  GNU General Public License for more details.
39  *
40  *  You should have received a copy of the GNU General Public License along
41  *  with this program; if not, write to the Free Software Foundation, Inc.,
42  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
43  *
44  *  **********
45  */
46 
47 #if !defined(MBEDTLS_CONFIG_FILE)
48 #include "mbedtls/config.h"
49 #else
50 #include MBEDTLS_CONFIG_FILE
51 #endif
52 
53 #if defined(MBEDTLS_PLATFORM_C)
54 #include "mbedtls/platform.h"
55 #else
56 #include <stdio.h>
57 #define mbedtls_printf printf
58 #endif /* MBEDTLS_PLATFORM_C */
59 
60 /*
61  * Include all the headers with public APIs in case they define a macro to its
62  * default value when that configuration is not set in the config.h.
63  */
64 #include "mbedtls/aes.h"
65 #include "mbedtls/aesni.h"
66 #include "mbedtls/arc4.h"
67 #include "mbedtls/aria.h"
68 #include "mbedtls/asn1.h"
69 #include "mbedtls/asn1write.h"
70 #include "mbedtls/base64.h"
71 #include "mbedtls/bignum.h"
72 #include "mbedtls/blowfish.h"
73 #include "mbedtls/camellia.h"
74 #include "mbedtls/ccm.h"
75 #include "mbedtls/certs.h"
76 #include "mbedtls/chacha20.h"
77 #include "mbedtls/chachapoly.h"
78 #include "mbedtls/cipher.h"
79 #include "mbedtls/cmac.h"
80 #include "mbedtls/ctr_drbg.h"
81 #include "mbedtls/debug.h"
82 #include "mbedtls/des.h"
83 #include "mbedtls/dhm.h"
84 #include "mbedtls/ecdh.h"
85 #include "mbedtls/ecdsa.h"
86 #include "mbedtls/ecjpake.h"
87 #include "mbedtls/ecp.h"
88 #include "mbedtls/entropy.h"
89 #include "mbedtls/entropy_poll.h"
90 #include "mbedtls/error.h"
91 #include "mbedtls/gcm.h"
92 #include "mbedtls/havege.h"
93 #include "mbedtls/hkdf.h"
94 #include "mbedtls/hmac_drbg.h"
95 #include "mbedtls/md.h"
96 #include "mbedtls/md2.h"
97 #include "mbedtls/md4.h"
98 #include "mbedtls/md5.h"
99 #include "mbedtls/memory_buffer_alloc.h"
100 #include "mbedtls/net_sockets.h"
101 #include "mbedtls/nist_kw.h"
102 #include "mbedtls/oid.h"
103 #include "mbedtls/padlock.h"
104 #include "mbedtls/pem.h"
105 #include "mbedtls/pk.h"
106 #include "mbedtls/pkcs11.h"
107 #include "mbedtls/pkcs12.h"
108 #include "mbedtls/pkcs5.h"
109 #include "mbedtls/platform_time.h"
110 #include "mbedtls/platform_util.h"
111 #include "mbedtls/poly1305.h"
112 #include "mbedtls/ripemd160.h"
113 #include "mbedtls/rsa.h"
114 #include "mbedtls/sha1.h"
115 #include "mbedtls/sha256.h"
116 #include "mbedtls/sha512.h"
117 #include "mbedtls/ssl.h"
118 #include "mbedtls/ssl_cache.h"
119 #include "mbedtls/ssl_ciphersuites.h"
120 #include "mbedtls/ssl_cookie.h"
121 #include "mbedtls/ssl_internal.h"
122 #include "mbedtls/ssl_ticket.h"
123 #include "mbedtls/threading.h"
124 #include "mbedtls/timing.h"
125 #include "mbedtls/version.h"
126 #include "mbedtls/x509.h"
127 #include "mbedtls/x509_crl.h"
128 #include "mbedtls/x509_crt.h"
129 #include "mbedtls/x509_csr.h"
130 #include "mbedtls/xtea.h"
131 
132 #include <string.h>
133 
134 /*
135  * Helper macros to convert a macro or its expansion into a string
136  * WARNING: This does not work for expanding function-like macros. However,
137  * Mbed TLS does not currently have configuration options used in this fashion.
138  */
139 #define MACRO_EXPANSION_TO_STR(macro)   MACRO_NAME_TO_STR(macro)
140 #define MACRO_NAME_TO_STR(macro)                                        \
141     mbedtls_printf( "%s", strlen( #macro "" ) > 0 ? #macro "\n" : "" )
142 
143 #if defined(_MSC_VER)
144 /*
145  * Visual Studio throws the warning 4003 because many Mbed TLS feature macros
146  * are defined empty. This means that from the preprocessor's point of view
147  * the macro MBEDTLS_EXPANSION_TO_STR is being invoked without arguments as
148  * some macros expand to nothing. We suppress that specific warning to get a
149  * clean build and to ensure that tests treating warnings as errors do not
150  * fail.
151  */
152 #pragma warning(push)
153 #pragma warning(disable:4003)
154 #endif /* _MSC_VER */
155 
query_config(const char * config)156 int query_config( const char *config )
157 {
158 #if defined(MBEDTLS_HAVE_ASM)
159     if( strcmp( "MBEDTLS_HAVE_ASM", config ) == 0 )
160     {
161         MACRO_EXPANSION_TO_STR( MBEDTLS_HAVE_ASM );
162         return( 0 );
163     }
164 #endif /* MBEDTLS_HAVE_ASM */
165 
166 #if defined(MBEDTLS_NO_UDBL_DIVISION)
167     if( strcmp( "MBEDTLS_NO_UDBL_DIVISION", config ) == 0 )
168     {
169         MACRO_EXPANSION_TO_STR( MBEDTLS_NO_UDBL_DIVISION );
170         return( 0 );
171     }
172 #endif /* MBEDTLS_NO_UDBL_DIVISION */
173 
174 #if defined(MBEDTLS_NO_64BIT_MULTIPLICATION)
175     if( strcmp( "MBEDTLS_NO_64BIT_MULTIPLICATION", config ) == 0 )
176     {
177         MACRO_EXPANSION_TO_STR( MBEDTLS_NO_64BIT_MULTIPLICATION );
178         return( 0 );
179     }
180 #endif /* MBEDTLS_NO_64BIT_MULTIPLICATION */
181 
182 #if defined(MBEDTLS_HAVE_SSE2)
183     if( strcmp( "MBEDTLS_HAVE_SSE2", config ) == 0 )
184     {
185         MACRO_EXPANSION_TO_STR( MBEDTLS_HAVE_SSE2 );
186         return( 0 );
187     }
188 #endif /* MBEDTLS_HAVE_SSE2 */
189 
190 #if defined(MBEDTLS_HAVE_TIME)
191     if( strcmp( "MBEDTLS_HAVE_TIME", config ) == 0 )
192     {
193         MACRO_EXPANSION_TO_STR( MBEDTLS_HAVE_TIME );
194         return( 0 );
195     }
196 #endif /* MBEDTLS_HAVE_TIME */
197 
198 #if defined(MBEDTLS_HAVE_TIME_DATE)
199     if( strcmp( "MBEDTLS_HAVE_TIME_DATE", config ) == 0 )
200     {
201         MACRO_EXPANSION_TO_STR( MBEDTLS_HAVE_TIME_DATE );
202         return( 0 );
203     }
204 #endif /* MBEDTLS_HAVE_TIME_DATE */
205 
206 #if defined(MBEDTLS_PLATFORM_MEMORY)
207     if( strcmp( "MBEDTLS_PLATFORM_MEMORY", config ) == 0 )
208     {
209         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_MEMORY );
210         return( 0 );
211     }
212 #endif /* MBEDTLS_PLATFORM_MEMORY */
213 
214 #if defined(MBEDTLS_PLATFORM_NO_STD_FUNCTIONS)
215     if( strcmp( "MBEDTLS_PLATFORM_NO_STD_FUNCTIONS", config ) == 0 )
216     {
217         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_NO_STD_FUNCTIONS );
218         return( 0 );
219     }
220 #endif /* MBEDTLS_PLATFORM_NO_STD_FUNCTIONS */
221 
222 #if defined(MBEDTLS_PLATFORM_EXIT_ALT)
223     if( strcmp( "MBEDTLS_PLATFORM_EXIT_ALT", config ) == 0 )
224     {
225         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_EXIT_ALT );
226         return( 0 );
227     }
228 #endif /* MBEDTLS_PLATFORM_EXIT_ALT */
229 
230 #if defined(MBEDTLS_PLATFORM_TIME_ALT)
231     if( strcmp( "MBEDTLS_PLATFORM_TIME_ALT", config ) == 0 )
232     {
233         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_TIME_ALT );
234         return( 0 );
235     }
236 #endif /* MBEDTLS_PLATFORM_TIME_ALT */
237 
238 #if defined(MBEDTLS_PLATFORM_FPRINTF_ALT)
239     if( strcmp( "MBEDTLS_PLATFORM_FPRINTF_ALT", config ) == 0 )
240     {
241         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_FPRINTF_ALT );
242         return( 0 );
243     }
244 #endif /* MBEDTLS_PLATFORM_FPRINTF_ALT */
245 
246 #if defined(MBEDTLS_PLATFORM_PRINTF_ALT)
247     if( strcmp( "MBEDTLS_PLATFORM_PRINTF_ALT", config ) == 0 )
248     {
249         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_PRINTF_ALT );
250         return( 0 );
251     }
252 #endif /* MBEDTLS_PLATFORM_PRINTF_ALT */
253 
254 #if defined(MBEDTLS_PLATFORM_SNPRINTF_ALT)
255     if( strcmp( "MBEDTLS_PLATFORM_SNPRINTF_ALT", config ) == 0 )
256     {
257         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_SNPRINTF_ALT );
258         return( 0 );
259     }
260 #endif /* MBEDTLS_PLATFORM_SNPRINTF_ALT */
261 
262 #if defined(MBEDTLS_PLATFORM_NV_SEED_ALT)
263     if( strcmp( "MBEDTLS_PLATFORM_NV_SEED_ALT", config ) == 0 )
264     {
265         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_NV_SEED_ALT );
266         return( 0 );
267     }
268 #endif /* MBEDTLS_PLATFORM_NV_SEED_ALT */
269 
270 #if defined(MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT)
271     if( strcmp( "MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT", config ) == 0 )
272     {
273         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT );
274         return( 0 );
275     }
276 #endif /* MBEDTLS_PLATFORM_SETUP_TEARDOWN_ALT */
277 
278 #if defined(MBEDTLS_DEPRECATED_WARNING)
279     if( strcmp( "MBEDTLS_DEPRECATED_WARNING", config ) == 0 )
280     {
281         MACRO_EXPANSION_TO_STR( MBEDTLS_DEPRECATED_WARNING );
282         return( 0 );
283     }
284 #endif /* MBEDTLS_DEPRECATED_WARNING */
285 
286 #if defined(MBEDTLS_DEPRECATED_REMOVED)
287     if( strcmp( "MBEDTLS_DEPRECATED_REMOVED", config ) == 0 )
288     {
289         MACRO_EXPANSION_TO_STR( MBEDTLS_DEPRECATED_REMOVED );
290         return( 0 );
291     }
292 #endif /* MBEDTLS_DEPRECATED_REMOVED */
293 
294 #if defined(MBEDTLS_CHECK_PARAMS)
295     if( strcmp( "MBEDTLS_CHECK_PARAMS", config ) == 0 )
296     {
297         MACRO_EXPANSION_TO_STR( MBEDTLS_CHECK_PARAMS );
298         return( 0 );
299     }
300 #endif /* MBEDTLS_CHECK_PARAMS */
301 
302 #if defined(MBEDTLS_CHECK_PARAMS_ASSERT)
303     if( strcmp( "MBEDTLS_CHECK_PARAMS_ASSERT", config ) == 0 )
304     {
305         MACRO_EXPANSION_TO_STR( MBEDTLS_CHECK_PARAMS_ASSERT );
306         return( 0 );
307     }
308 #endif /* MBEDTLS_CHECK_PARAMS_ASSERT */
309 
310 #if defined(MBEDTLS_TIMING_ALT)
311     if( strcmp( "MBEDTLS_TIMING_ALT", config ) == 0 )
312     {
313         MACRO_EXPANSION_TO_STR( MBEDTLS_TIMING_ALT );
314         return( 0 );
315     }
316 #endif /* MBEDTLS_TIMING_ALT */
317 
318 #if defined(MBEDTLS_AES_ALT)
319     if( strcmp( "MBEDTLS_AES_ALT", config ) == 0 )
320     {
321         MACRO_EXPANSION_TO_STR( MBEDTLS_AES_ALT );
322         return( 0 );
323     }
324 #endif /* MBEDTLS_AES_ALT */
325 
326 #if defined(MBEDTLS_ARC4_ALT)
327     if( strcmp( "MBEDTLS_ARC4_ALT", config ) == 0 )
328     {
329         MACRO_EXPANSION_TO_STR( MBEDTLS_ARC4_ALT );
330         return( 0 );
331     }
332 #endif /* MBEDTLS_ARC4_ALT */
333 
334 #if defined(MBEDTLS_ARIA_ALT)
335     if( strcmp( "MBEDTLS_ARIA_ALT", config ) == 0 )
336     {
337         MACRO_EXPANSION_TO_STR( MBEDTLS_ARIA_ALT );
338         return( 0 );
339     }
340 #endif /* MBEDTLS_ARIA_ALT */
341 
342 #if defined(MBEDTLS_BLOWFISH_ALT)
343     if( strcmp( "MBEDTLS_BLOWFISH_ALT", config ) == 0 )
344     {
345         MACRO_EXPANSION_TO_STR( MBEDTLS_BLOWFISH_ALT );
346         return( 0 );
347     }
348 #endif /* MBEDTLS_BLOWFISH_ALT */
349 
350 #if defined(MBEDTLS_CAMELLIA_ALT)
351     if( strcmp( "MBEDTLS_CAMELLIA_ALT", config ) == 0 )
352     {
353         MACRO_EXPANSION_TO_STR( MBEDTLS_CAMELLIA_ALT );
354         return( 0 );
355     }
356 #endif /* MBEDTLS_CAMELLIA_ALT */
357 
358 #if defined(MBEDTLS_CCM_ALT)
359     if( strcmp( "MBEDTLS_CCM_ALT", config ) == 0 )
360     {
361         MACRO_EXPANSION_TO_STR( MBEDTLS_CCM_ALT );
362         return( 0 );
363     }
364 #endif /* MBEDTLS_CCM_ALT */
365 
366 #if defined(MBEDTLS_CHACHA20_ALT)
367     if( strcmp( "MBEDTLS_CHACHA20_ALT", config ) == 0 )
368     {
369         MACRO_EXPANSION_TO_STR( MBEDTLS_CHACHA20_ALT );
370         return( 0 );
371     }
372 #endif /* MBEDTLS_CHACHA20_ALT */
373 
374 #if defined(MBEDTLS_CHACHAPOLY_ALT)
375     if( strcmp( "MBEDTLS_CHACHAPOLY_ALT", config ) == 0 )
376     {
377         MACRO_EXPANSION_TO_STR( MBEDTLS_CHACHAPOLY_ALT );
378         return( 0 );
379     }
380 #endif /* MBEDTLS_CHACHAPOLY_ALT */
381 
382 #if defined(MBEDTLS_CMAC_ALT)
383     if( strcmp( "MBEDTLS_CMAC_ALT", config ) == 0 )
384     {
385         MACRO_EXPANSION_TO_STR( MBEDTLS_CMAC_ALT );
386         return( 0 );
387     }
388 #endif /* MBEDTLS_CMAC_ALT */
389 
390 #if defined(MBEDTLS_DES_ALT)
391     if( strcmp( "MBEDTLS_DES_ALT", config ) == 0 )
392     {
393         MACRO_EXPANSION_TO_STR( MBEDTLS_DES_ALT );
394         return( 0 );
395     }
396 #endif /* MBEDTLS_DES_ALT */
397 
398 #if defined(MBEDTLS_DHM_ALT)
399     if( strcmp( "MBEDTLS_DHM_ALT", config ) == 0 )
400     {
401         MACRO_EXPANSION_TO_STR( MBEDTLS_DHM_ALT );
402         return( 0 );
403     }
404 #endif /* MBEDTLS_DHM_ALT */
405 
406 #if defined(MBEDTLS_ECJPAKE_ALT)
407     if( strcmp( "MBEDTLS_ECJPAKE_ALT", config ) == 0 )
408     {
409         MACRO_EXPANSION_TO_STR( MBEDTLS_ECJPAKE_ALT );
410         return( 0 );
411     }
412 #endif /* MBEDTLS_ECJPAKE_ALT */
413 
414 #if defined(MBEDTLS_GCM_ALT)
415     if( strcmp( "MBEDTLS_GCM_ALT", config ) == 0 )
416     {
417         MACRO_EXPANSION_TO_STR( MBEDTLS_GCM_ALT );
418         return( 0 );
419     }
420 #endif /* MBEDTLS_GCM_ALT */
421 
422 #if defined(MBEDTLS_NIST_KW_ALT)
423     if( strcmp( "MBEDTLS_NIST_KW_ALT", config ) == 0 )
424     {
425         MACRO_EXPANSION_TO_STR( MBEDTLS_NIST_KW_ALT );
426         return( 0 );
427     }
428 #endif /* MBEDTLS_NIST_KW_ALT */
429 
430 #if defined(MBEDTLS_MD2_ALT)
431     if( strcmp( "MBEDTLS_MD2_ALT", config ) == 0 )
432     {
433         MACRO_EXPANSION_TO_STR( MBEDTLS_MD2_ALT );
434         return( 0 );
435     }
436 #endif /* MBEDTLS_MD2_ALT */
437 
438 #if defined(MBEDTLS_MD4_ALT)
439     if( strcmp( "MBEDTLS_MD4_ALT", config ) == 0 )
440     {
441         MACRO_EXPANSION_TO_STR( MBEDTLS_MD4_ALT );
442         return( 0 );
443     }
444 #endif /* MBEDTLS_MD4_ALT */
445 
446 #if defined(MBEDTLS_MD5_ALT)
447     if( strcmp( "MBEDTLS_MD5_ALT", config ) == 0 )
448     {
449         MACRO_EXPANSION_TO_STR( MBEDTLS_MD5_ALT );
450         return( 0 );
451     }
452 #endif /* MBEDTLS_MD5_ALT */
453 
454 #if defined(MBEDTLS_POLY1305_ALT)
455     if( strcmp( "MBEDTLS_POLY1305_ALT", config ) == 0 )
456     {
457         MACRO_EXPANSION_TO_STR( MBEDTLS_POLY1305_ALT );
458         return( 0 );
459     }
460 #endif /* MBEDTLS_POLY1305_ALT */
461 
462 #if defined(MBEDTLS_RIPEMD160_ALT)
463     if( strcmp( "MBEDTLS_RIPEMD160_ALT", config ) == 0 )
464     {
465         MACRO_EXPANSION_TO_STR( MBEDTLS_RIPEMD160_ALT );
466         return( 0 );
467     }
468 #endif /* MBEDTLS_RIPEMD160_ALT */
469 
470 #if defined(MBEDTLS_RSA_ALT)
471     if( strcmp( "MBEDTLS_RSA_ALT", config ) == 0 )
472     {
473         MACRO_EXPANSION_TO_STR( MBEDTLS_RSA_ALT );
474         return( 0 );
475     }
476 #endif /* MBEDTLS_RSA_ALT */
477 
478 #if defined(MBEDTLS_SHA1_ALT)
479     if( strcmp( "MBEDTLS_SHA1_ALT", config ) == 0 )
480     {
481         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA1_ALT );
482         return( 0 );
483     }
484 #endif /* MBEDTLS_SHA1_ALT */
485 
486 #if defined(MBEDTLS_SHA256_ALT)
487     if( strcmp( "MBEDTLS_SHA256_ALT", config ) == 0 )
488     {
489         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA256_ALT );
490         return( 0 );
491     }
492 #endif /* MBEDTLS_SHA256_ALT */
493 
494 #if defined(MBEDTLS_SHA512_ALT)
495     if( strcmp( "MBEDTLS_SHA512_ALT", config ) == 0 )
496     {
497         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA512_ALT );
498         return( 0 );
499     }
500 #endif /* MBEDTLS_SHA512_ALT */
501 
502 #if defined(MBEDTLS_XTEA_ALT)
503     if( strcmp( "MBEDTLS_XTEA_ALT", config ) == 0 )
504     {
505         MACRO_EXPANSION_TO_STR( MBEDTLS_XTEA_ALT );
506         return( 0 );
507     }
508 #endif /* MBEDTLS_XTEA_ALT */
509 
510 #if defined(MBEDTLS_ECP_ALT)
511     if( strcmp( "MBEDTLS_ECP_ALT", config ) == 0 )
512     {
513         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_ALT );
514         return( 0 );
515     }
516 #endif /* MBEDTLS_ECP_ALT */
517 
518 #if defined(MBEDTLS_MD2_PROCESS_ALT)
519     if( strcmp( "MBEDTLS_MD2_PROCESS_ALT", config ) == 0 )
520     {
521         MACRO_EXPANSION_TO_STR( MBEDTLS_MD2_PROCESS_ALT );
522         return( 0 );
523     }
524 #endif /* MBEDTLS_MD2_PROCESS_ALT */
525 
526 #if defined(MBEDTLS_MD4_PROCESS_ALT)
527     if( strcmp( "MBEDTLS_MD4_PROCESS_ALT", config ) == 0 )
528     {
529         MACRO_EXPANSION_TO_STR( MBEDTLS_MD4_PROCESS_ALT );
530         return( 0 );
531     }
532 #endif /* MBEDTLS_MD4_PROCESS_ALT */
533 
534 #if defined(MBEDTLS_MD5_PROCESS_ALT)
535     if( strcmp( "MBEDTLS_MD5_PROCESS_ALT", config ) == 0 )
536     {
537         MACRO_EXPANSION_TO_STR( MBEDTLS_MD5_PROCESS_ALT );
538         return( 0 );
539     }
540 #endif /* MBEDTLS_MD5_PROCESS_ALT */
541 
542 #if defined(MBEDTLS_RIPEMD160_PROCESS_ALT)
543     if( strcmp( "MBEDTLS_RIPEMD160_PROCESS_ALT", config ) == 0 )
544     {
545         MACRO_EXPANSION_TO_STR( MBEDTLS_RIPEMD160_PROCESS_ALT );
546         return( 0 );
547     }
548 #endif /* MBEDTLS_RIPEMD160_PROCESS_ALT */
549 
550 #if defined(MBEDTLS_SHA1_PROCESS_ALT)
551     if( strcmp( "MBEDTLS_SHA1_PROCESS_ALT", config ) == 0 )
552     {
553         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA1_PROCESS_ALT );
554         return( 0 );
555     }
556 #endif /* MBEDTLS_SHA1_PROCESS_ALT */
557 
558 #if defined(MBEDTLS_SHA256_PROCESS_ALT)
559     if( strcmp( "MBEDTLS_SHA256_PROCESS_ALT", config ) == 0 )
560     {
561         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA256_PROCESS_ALT );
562         return( 0 );
563     }
564 #endif /* MBEDTLS_SHA256_PROCESS_ALT */
565 
566 #if defined(MBEDTLS_SHA512_PROCESS_ALT)
567     if( strcmp( "MBEDTLS_SHA512_PROCESS_ALT", config ) == 0 )
568     {
569         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA512_PROCESS_ALT );
570         return( 0 );
571     }
572 #endif /* MBEDTLS_SHA512_PROCESS_ALT */
573 
574 #if defined(MBEDTLS_DES_SETKEY_ALT)
575     if( strcmp( "MBEDTLS_DES_SETKEY_ALT", config ) == 0 )
576     {
577         MACRO_EXPANSION_TO_STR( MBEDTLS_DES_SETKEY_ALT );
578         return( 0 );
579     }
580 #endif /* MBEDTLS_DES_SETKEY_ALT */
581 
582 #if defined(MBEDTLS_DES_CRYPT_ECB_ALT)
583     if( strcmp( "MBEDTLS_DES_CRYPT_ECB_ALT", config ) == 0 )
584     {
585         MACRO_EXPANSION_TO_STR( MBEDTLS_DES_CRYPT_ECB_ALT );
586         return( 0 );
587     }
588 #endif /* MBEDTLS_DES_CRYPT_ECB_ALT */
589 
590 #if defined(MBEDTLS_DES3_CRYPT_ECB_ALT)
591     if( strcmp( "MBEDTLS_DES3_CRYPT_ECB_ALT", config ) == 0 )
592     {
593         MACRO_EXPANSION_TO_STR( MBEDTLS_DES3_CRYPT_ECB_ALT );
594         return( 0 );
595     }
596 #endif /* MBEDTLS_DES3_CRYPT_ECB_ALT */
597 
598 #if defined(MBEDTLS_AES_SETKEY_ENC_ALT)
599     if( strcmp( "MBEDTLS_AES_SETKEY_ENC_ALT", config ) == 0 )
600     {
601         MACRO_EXPANSION_TO_STR( MBEDTLS_AES_SETKEY_ENC_ALT );
602         return( 0 );
603     }
604 #endif /* MBEDTLS_AES_SETKEY_ENC_ALT */
605 
606 #if defined(MBEDTLS_AES_SETKEY_DEC_ALT)
607     if( strcmp( "MBEDTLS_AES_SETKEY_DEC_ALT", config ) == 0 )
608     {
609         MACRO_EXPANSION_TO_STR( MBEDTLS_AES_SETKEY_DEC_ALT );
610         return( 0 );
611     }
612 #endif /* MBEDTLS_AES_SETKEY_DEC_ALT */
613 
614 #if defined(MBEDTLS_AES_ENCRYPT_ALT)
615     if( strcmp( "MBEDTLS_AES_ENCRYPT_ALT", config ) == 0 )
616     {
617         MACRO_EXPANSION_TO_STR( MBEDTLS_AES_ENCRYPT_ALT );
618         return( 0 );
619     }
620 #endif /* MBEDTLS_AES_ENCRYPT_ALT */
621 
622 #if defined(MBEDTLS_AES_DECRYPT_ALT)
623     if( strcmp( "MBEDTLS_AES_DECRYPT_ALT", config ) == 0 )
624     {
625         MACRO_EXPANSION_TO_STR( MBEDTLS_AES_DECRYPT_ALT );
626         return( 0 );
627     }
628 #endif /* MBEDTLS_AES_DECRYPT_ALT */
629 
630 #if defined(MBEDTLS_ECDH_GEN_PUBLIC_ALT)
631     if( strcmp( "MBEDTLS_ECDH_GEN_PUBLIC_ALT", config ) == 0 )
632     {
633         MACRO_EXPANSION_TO_STR( MBEDTLS_ECDH_GEN_PUBLIC_ALT );
634         return( 0 );
635     }
636 #endif /* MBEDTLS_ECDH_GEN_PUBLIC_ALT */
637 
638 #if defined(MBEDTLS_ECDH_COMPUTE_SHARED_ALT)
639     if( strcmp( "MBEDTLS_ECDH_COMPUTE_SHARED_ALT", config ) == 0 )
640     {
641         MACRO_EXPANSION_TO_STR( MBEDTLS_ECDH_COMPUTE_SHARED_ALT );
642         return( 0 );
643     }
644 #endif /* MBEDTLS_ECDH_COMPUTE_SHARED_ALT */
645 
646 #if defined(MBEDTLS_ECDSA_VERIFY_ALT)
647     if( strcmp( "MBEDTLS_ECDSA_VERIFY_ALT", config ) == 0 )
648     {
649         MACRO_EXPANSION_TO_STR( MBEDTLS_ECDSA_VERIFY_ALT );
650         return( 0 );
651     }
652 #endif /* MBEDTLS_ECDSA_VERIFY_ALT */
653 
654 #if defined(MBEDTLS_ECDSA_SIGN_ALT)
655     if( strcmp( "MBEDTLS_ECDSA_SIGN_ALT", config ) == 0 )
656     {
657         MACRO_EXPANSION_TO_STR( MBEDTLS_ECDSA_SIGN_ALT );
658         return( 0 );
659     }
660 #endif /* MBEDTLS_ECDSA_SIGN_ALT */
661 
662 #if defined(MBEDTLS_ECDSA_GENKEY_ALT)
663     if( strcmp( "MBEDTLS_ECDSA_GENKEY_ALT", config ) == 0 )
664     {
665         MACRO_EXPANSION_TO_STR( MBEDTLS_ECDSA_GENKEY_ALT );
666         return( 0 );
667     }
668 #endif /* MBEDTLS_ECDSA_GENKEY_ALT */
669 
670 #if defined(MBEDTLS_ECP_INTERNAL_ALT)
671     if( strcmp( "MBEDTLS_ECP_INTERNAL_ALT", config ) == 0 )
672     {
673         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_INTERNAL_ALT );
674         return( 0 );
675     }
676 #endif /* MBEDTLS_ECP_INTERNAL_ALT */
677 
678 #if defined(MBEDTLS_ECP_RANDOMIZE_JAC_ALT)
679     if( strcmp( "MBEDTLS_ECP_RANDOMIZE_JAC_ALT", config ) == 0 )
680     {
681         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_RANDOMIZE_JAC_ALT );
682         return( 0 );
683     }
684 #endif /* MBEDTLS_ECP_RANDOMIZE_JAC_ALT */
685 
686 #if defined(MBEDTLS_ECP_ADD_MIXED_ALT)
687     if( strcmp( "MBEDTLS_ECP_ADD_MIXED_ALT", config ) == 0 )
688     {
689         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_ADD_MIXED_ALT );
690         return( 0 );
691     }
692 #endif /* MBEDTLS_ECP_ADD_MIXED_ALT */
693 
694 #if defined(MBEDTLS_ECP_DOUBLE_JAC_ALT)
695     if( strcmp( "MBEDTLS_ECP_DOUBLE_JAC_ALT", config ) == 0 )
696     {
697         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DOUBLE_JAC_ALT );
698         return( 0 );
699     }
700 #endif /* MBEDTLS_ECP_DOUBLE_JAC_ALT */
701 
702 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT)
703     if( strcmp( "MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT", config ) == 0 )
704     {
705         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT );
706         return( 0 );
707     }
708 #endif /* MBEDTLS_ECP_NORMALIZE_JAC_MANY_ALT */
709 
710 #if defined(MBEDTLS_ECP_NORMALIZE_JAC_ALT)
711     if( strcmp( "MBEDTLS_ECP_NORMALIZE_JAC_ALT", config ) == 0 )
712     {
713         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_NORMALIZE_JAC_ALT );
714         return( 0 );
715     }
716 #endif /* MBEDTLS_ECP_NORMALIZE_JAC_ALT */
717 
718 #if defined(MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT)
719     if( strcmp( "MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT", config ) == 0 )
720     {
721         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT );
722         return( 0 );
723     }
724 #endif /* MBEDTLS_ECP_DOUBLE_ADD_MXZ_ALT */
725 
726 #if defined(MBEDTLS_ECP_RANDOMIZE_MXZ_ALT)
727     if( strcmp( "MBEDTLS_ECP_RANDOMIZE_MXZ_ALT", config ) == 0 )
728     {
729         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_RANDOMIZE_MXZ_ALT );
730         return( 0 );
731     }
732 #endif /* MBEDTLS_ECP_RANDOMIZE_MXZ_ALT */
733 
734 #if defined(MBEDTLS_ECP_NORMALIZE_MXZ_ALT)
735     if( strcmp( "MBEDTLS_ECP_NORMALIZE_MXZ_ALT", config ) == 0 )
736     {
737         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_NORMALIZE_MXZ_ALT );
738         return( 0 );
739     }
740 #endif /* MBEDTLS_ECP_NORMALIZE_MXZ_ALT */
741 
742 #if defined(MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN)
743     if( strcmp( "MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN", config ) == 0 )
744     {
745         MACRO_EXPANSION_TO_STR( MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN );
746         return( 0 );
747     }
748 #endif /* MBEDTLS_TEST_CONSTANT_FLOW_MEMSAN */
749 
750 #if defined(MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND)
751     if( strcmp( "MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND", config ) == 0 )
752     {
753         MACRO_EXPANSION_TO_STR( MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND );
754         return( 0 );
755     }
756 #endif /* MBEDTLS_TEST_CONSTANT_FLOW_VALGRIND */
757 
758 #if defined(MBEDTLS_TEST_NULL_ENTROPY)
759     if( strcmp( "MBEDTLS_TEST_NULL_ENTROPY", config ) == 0 )
760     {
761         MACRO_EXPANSION_TO_STR( MBEDTLS_TEST_NULL_ENTROPY );
762         return( 0 );
763     }
764 #endif /* MBEDTLS_TEST_NULL_ENTROPY */
765 
766 #if defined(MBEDTLS_ENTROPY_HARDWARE_ALT)
767     if( strcmp( "MBEDTLS_ENTROPY_HARDWARE_ALT", config ) == 0 )
768     {
769         MACRO_EXPANSION_TO_STR( MBEDTLS_ENTROPY_HARDWARE_ALT );
770         return( 0 );
771     }
772 #endif /* MBEDTLS_ENTROPY_HARDWARE_ALT */
773 
774 #if defined(MBEDTLS_AES_ROM_TABLES)
775     if( strcmp( "MBEDTLS_AES_ROM_TABLES", config ) == 0 )
776     {
777         MACRO_EXPANSION_TO_STR( MBEDTLS_AES_ROM_TABLES );
778         return( 0 );
779     }
780 #endif /* MBEDTLS_AES_ROM_TABLES */
781 
782 #if defined(MBEDTLS_AES_FEWER_TABLES)
783     if( strcmp( "MBEDTLS_AES_FEWER_TABLES", config ) == 0 )
784     {
785         MACRO_EXPANSION_TO_STR( MBEDTLS_AES_FEWER_TABLES );
786         return( 0 );
787     }
788 #endif /* MBEDTLS_AES_FEWER_TABLES */
789 
790 #if defined(MBEDTLS_CAMELLIA_SMALL_MEMORY)
791     if( strcmp( "MBEDTLS_CAMELLIA_SMALL_MEMORY", config ) == 0 )
792     {
793         MACRO_EXPANSION_TO_STR( MBEDTLS_CAMELLIA_SMALL_MEMORY );
794         return( 0 );
795     }
796 #endif /* MBEDTLS_CAMELLIA_SMALL_MEMORY */
797 
798 #if defined(MBEDTLS_CIPHER_MODE_CBC)
799     if( strcmp( "MBEDTLS_CIPHER_MODE_CBC", config ) == 0 )
800     {
801         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_MODE_CBC );
802         return( 0 );
803     }
804 #endif /* MBEDTLS_CIPHER_MODE_CBC */
805 
806 #if defined(MBEDTLS_CIPHER_MODE_CFB)
807     if( strcmp( "MBEDTLS_CIPHER_MODE_CFB", config ) == 0 )
808     {
809         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_MODE_CFB );
810         return( 0 );
811     }
812 #endif /* MBEDTLS_CIPHER_MODE_CFB */
813 
814 #if defined(MBEDTLS_CIPHER_MODE_CTR)
815     if( strcmp( "MBEDTLS_CIPHER_MODE_CTR", config ) == 0 )
816     {
817         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_MODE_CTR );
818         return( 0 );
819     }
820 #endif /* MBEDTLS_CIPHER_MODE_CTR */
821 
822 #if defined(MBEDTLS_CIPHER_MODE_OFB)
823     if( strcmp( "MBEDTLS_CIPHER_MODE_OFB", config ) == 0 )
824     {
825         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_MODE_OFB );
826         return( 0 );
827     }
828 #endif /* MBEDTLS_CIPHER_MODE_OFB */
829 
830 #if defined(MBEDTLS_CIPHER_MODE_XTS)
831     if( strcmp( "MBEDTLS_CIPHER_MODE_XTS", config ) == 0 )
832     {
833         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_MODE_XTS );
834         return( 0 );
835     }
836 #endif /* MBEDTLS_CIPHER_MODE_XTS */
837 
838 #if defined(MBEDTLS_CIPHER_NULL_CIPHER)
839     if( strcmp( "MBEDTLS_CIPHER_NULL_CIPHER", config ) == 0 )
840     {
841         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_NULL_CIPHER );
842         return( 0 );
843     }
844 #endif /* MBEDTLS_CIPHER_NULL_CIPHER */
845 
846 #if defined(MBEDTLS_CIPHER_PADDING_PKCS7)
847     if( strcmp( "MBEDTLS_CIPHER_PADDING_PKCS7", config ) == 0 )
848     {
849         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_PADDING_PKCS7 );
850         return( 0 );
851     }
852 #endif /* MBEDTLS_CIPHER_PADDING_PKCS7 */
853 
854 #if defined(MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS)
855     if( strcmp( "MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS", config ) == 0 )
856     {
857         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS );
858         return( 0 );
859     }
860 #endif /* MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS */
861 
862 #if defined(MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN)
863     if( strcmp( "MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN", config ) == 0 )
864     {
865         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN );
866         return( 0 );
867     }
868 #endif /* MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN */
869 
870 #if defined(MBEDTLS_CIPHER_PADDING_ZEROS)
871     if( strcmp( "MBEDTLS_CIPHER_PADDING_ZEROS", config ) == 0 )
872     {
873         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_PADDING_ZEROS );
874         return( 0 );
875     }
876 #endif /* MBEDTLS_CIPHER_PADDING_ZEROS */
877 
878 #if defined(MBEDTLS_CTR_DRBG_USE_128_BIT_KEY)
879     if( strcmp( "MBEDTLS_CTR_DRBG_USE_128_BIT_KEY", config ) == 0 )
880     {
881         MACRO_EXPANSION_TO_STR( MBEDTLS_CTR_DRBG_USE_128_BIT_KEY );
882         return( 0 );
883     }
884 #endif /* MBEDTLS_CTR_DRBG_USE_128_BIT_KEY */
885 
886 #if defined(MBEDTLS_ENABLE_WEAK_CIPHERSUITES)
887     if( strcmp( "MBEDTLS_ENABLE_WEAK_CIPHERSUITES", config ) == 0 )
888     {
889         MACRO_EXPANSION_TO_STR( MBEDTLS_ENABLE_WEAK_CIPHERSUITES );
890         return( 0 );
891     }
892 #endif /* MBEDTLS_ENABLE_WEAK_CIPHERSUITES */
893 
894 #if defined(MBEDTLS_REMOVE_ARC4_CIPHERSUITES)
895     if( strcmp( "MBEDTLS_REMOVE_ARC4_CIPHERSUITES", config ) == 0 )
896     {
897         MACRO_EXPANSION_TO_STR( MBEDTLS_REMOVE_ARC4_CIPHERSUITES );
898         return( 0 );
899     }
900 #endif /* MBEDTLS_REMOVE_ARC4_CIPHERSUITES */
901 
902 #if defined(MBEDTLS_REMOVE_3DES_CIPHERSUITES)
903     if( strcmp( "MBEDTLS_REMOVE_3DES_CIPHERSUITES", config ) == 0 )
904     {
905         MACRO_EXPANSION_TO_STR( MBEDTLS_REMOVE_3DES_CIPHERSUITES );
906         return( 0 );
907     }
908 #endif /* MBEDTLS_REMOVE_3DES_CIPHERSUITES */
909 
910 #if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED)
911     if( strcmp( "MBEDTLS_ECP_DP_SECP192R1_ENABLED", config ) == 0 )
912     {
913         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_SECP192R1_ENABLED );
914         return( 0 );
915     }
916 #endif /* MBEDTLS_ECP_DP_SECP192R1_ENABLED */
917 
918 #if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED)
919     if( strcmp( "MBEDTLS_ECP_DP_SECP224R1_ENABLED", config ) == 0 )
920     {
921         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_SECP224R1_ENABLED );
922         return( 0 );
923     }
924 #endif /* MBEDTLS_ECP_DP_SECP224R1_ENABLED */
925 
926 #if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED)
927     if( strcmp( "MBEDTLS_ECP_DP_SECP256R1_ENABLED", config ) == 0 )
928     {
929         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_SECP256R1_ENABLED );
930         return( 0 );
931     }
932 #endif /* MBEDTLS_ECP_DP_SECP256R1_ENABLED */
933 
934 #if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)
935     if( strcmp( "MBEDTLS_ECP_DP_SECP384R1_ENABLED", config ) == 0 )
936     {
937         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_SECP384R1_ENABLED );
938         return( 0 );
939     }
940 #endif /* MBEDTLS_ECP_DP_SECP384R1_ENABLED */
941 
942 #if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED)
943     if( strcmp( "MBEDTLS_ECP_DP_SECP521R1_ENABLED", config ) == 0 )
944     {
945         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_SECP521R1_ENABLED );
946         return( 0 );
947     }
948 #endif /* MBEDTLS_ECP_DP_SECP521R1_ENABLED */
949 
950 #if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED)
951     if( strcmp( "MBEDTLS_ECP_DP_SECP192K1_ENABLED", config ) == 0 )
952     {
953         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_SECP192K1_ENABLED );
954         return( 0 );
955     }
956 #endif /* MBEDTLS_ECP_DP_SECP192K1_ENABLED */
957 
958 #if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED)
959     if( strcmp( "MBEDTLS_ECP_DP_SECP224K1_ENABLED", config ) == 0 )
960     {
961         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_SECP224K1_ENABLED );
962         return( 0 );
963     }
964 #endif /* MBEDTLS_ECP_DP_SECP224K1_ENABLED */
965 
966 #if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
967     if( strcmp( "MBEDTLS_ECP_DP_SECP256K1_ENABLED", config ) == 0 )
968     {
969         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_SECP256K1_ENABLED );
970         return( 0 );
971     }
972 #endif /* MBEDTLS_ECP_DP_SECP256K1_ENABLED */
973 
974 #if defined(MBEDTLS_ECP_DP_BP256R1_ENABLED)
975     if( strcmp( "MBEDTLS_ECP_DP_BP256R1_ENABLED", config ) == 0 )
976     {
977         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_BP256R1_ENABLED );
978         return( 0 );
979     }
980 #endif /* MBEDTLS_ECP_DP_BP256R1_ENABLED */
981 
982 #if defined(MBEDTLS_ECP_DP_BP384R1_ENABLED)
983     if( strcmp( "MBEDTLS_ECP_DP_BP384R1_ENABLED", config ) == 0 )
984     {
985         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_BP384R1_ENABLED );
986         return( 0 );
987     }
988 #endif /* MBEDTLS_ECP_DP_BP384R1_ENABLED */
989 
990 #if defined(MBEDTLS_ECP_DP_BP512R1_ENABLED)
991     if( strcmp( "MBEDTLS_ECP_DP_BP512R1_ENABLED", config ) == 0 )
992     {
993         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_BP512R1_ENABLED );
994         return( 0 );
995     }
996 #endif /* MBEDTLS_ECP_DP_BP512R1_ENABLED */
997 
998 #if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED)
999     if( strcmp( "MBEDTLS_ECP_DP_CURVE25519_ENABLED", config ) == 0 )
1000     {
1001         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_CURVE25519_ENABLED );
1002         return( 0 );
1003     }
1004 #endif /* MBEDTLS_ECP_DP_CURVE25519_ENABLED */
1005 
1006 #if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED)
1007     if( strcmp( "MBEDTLS_ECP_DP_CURVE448_ENABLED", config ) == 0 )
1008     {
1009         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_DP_CURVE448_ENABLED );
1010         return( 0 );
1011     }
1012 #endif /* MBEDTLS_ECP_DP_CURVE448_ENABLED */
1013 
1014 #if defined(MBEDTLS_ECP_NIST_OPTIM)
1015     if( strcmp( "MBEDTLS_ECP_NIST_OPTIM", config ) == 0 )
1016     {
1017         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_NIST_OPTIM );
1018         return( 0 );
1019     }
1020 #endif /* MBEDTLS_ECP_NIST_OPTIM */
1021 
1022 #if defined(MBEDTLS_ECP_NO_INTERNAL_RNG)
1023     if( strcmp( "MBEDTLS_ECP_NO_INTERNAL_RNG", config ) == 0 )
1024     {
1025         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_NO_INTERNAL_RNG );
1026         return( 0 );
1027     }
1028 #endif /* MBEDTLS_ECP_NO_INTERNAL_RNG */
1029 
1030 #if defined(MBEDTLS_ECP_RESTARTABLE)
1031     if( strcmp( "MBEDTLS_ECP_RESTARTABLE", config ) == 0 )
1032     {
1033         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_RESTARTABLE );
1034         return( 0 );
1035     }
1036 #endif /* MBEDTLS_ECP_RESTARTABLE */
1037 
1038 #if defined(MBEDTLS_ECDSA_DETERMINISTIC)
1039     if( strcmp( "MBEDTLS_ECDSA_DETERMINISTIC", config ) == 0 )
1040     {
1041         MACRO_EXPANSION_TO_STR( MBEDTLS_ECDSA_DETERMINISTIC );
1042         return( 0 );
1043     }
1044 #endif /* MBEDTLS_ECDSA_DETERMINISTIC */
1045 
1046 #if defined(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
1047     if( strcmp( "MBEDTLS_KEY_EXCHANGE_PSK_ENABLED", config ) == 0 )
1048     {
1049         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_PSK_ENABLED );
1050         return( 0 );
1051     }
1052 #endif /* MBEDTLS_KEY_EXCHANGE_PSK_ENABLED */
1053 
1054 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)
1055     if( strcmp( "MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED", config ) == 0 )
1056     {
1057         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED );
1058         return( 0 );
1059     }
1060 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED */
1061 
1062 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1063     if( strcmp( "MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED", config ) == 0 )
1064     {
1065         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED );
1066         return( 0 );
1067     }
1068 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED */
1069 
1070 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED)
1071     if( strcmp( "MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED", config ) == 0 )
1072     {
1073         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED );
1074         return( 0 );
1075     }
1076 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED */
1077 
1078 #if defined(MBEDTLS_KEY_EXCHANGE_RSA_ENABLED)
1079     if( strcmp( "MBEDTLS_KEY_EXCHANGE_RSA_ENABLED", config ) == 0 )
1080     {
1081         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_RSA_ENABLED );
1082         return( 0 );
1083     }
1084 #endif /* MBEDTLS_KEY_EXCHANGE_RSA_ENABLED */
1085 
1086 #if defined(MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED)
1087     if( strcmp( "MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED", config ) == 0 )
1088     {
1089         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED );
1090         return( 0 );
1091     }
1092 #endif /* MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED */
1093 
1094 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
1095     if( strcmp( "MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED", config ) == 0 )
1096     {
1097         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED );
1098         return( 0 );
1099     }
1100 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED */
1101 
1102 #if defined(MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
1103     if( strcmp( "MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED", config ) == 0 )
1104     {
1105         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED );
1106         return( 0 );
1107     }
1108 #endif /* MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED */
1109 
1110 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
1111     if( strcmp( "MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED", config ) == 0 )
1112     {
1113         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED );
1114         return( 0 );
1115     }
1116 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED */
1117 
1118 #if defined(MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED)
1119     if( strcmp( "MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED", config ) == 0 )
1120     {
1121         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED );
1122         return( 0 );
1123     }
1124 #endif /* MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED */
1125 
1126 #if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
1127     if( strcmp( "MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED", config ) == 0 )
1128     {
1129         MACRO_EXPANSION_TO_STR( MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED );
1130         return( 0 );
1131     }
1132 #endif /* MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED */
1133 
1134 #if defined(MBEDTLS_PK_PARSE_EC_EXTENDED)
1135     if( strcmp( "MBEDTLS_PK_PARSE_EC_EXTENDED", config ) == 0 )
1136     {
1137         MACRO_EXPANSION_TO_STR( MBEDTLS_PK_PARSE_EC_EXTENDED );
1138         return( 0 );
1139     }
1140 #endif /* MBEDTLS_PK_PARSE_EC_EXTENDED */
1141 
1142 #if defined(MBEDTLS_ERROR_STRERROR_DUMMY)
1143     if( strcmp( "MBEDTLS_ERROR_STRERROR_DUMMY", config ) == 0 )
1144     {
1145         MACRO_EXPANSION_TO_STR( MBEDTLS_ERROR_STRERROR_DUMMY );
1146         return( 0 );
1147     }
1148 #endif /* MBEDTLS_ERROR_STRERROR_DUMMY */
1149 
1150 #if defined(MBEDTLS_GENPRIME)
1151     if( strcmp( "MBEDTLS_GENPRIME", config ) == 0 )
1152     {
1153         MACRO_EXPANSION_TO_STR( MBEDTLS_GENPRIME );
1154         return( 0 );
1155     }
1156 #endif /* MBEDTLS_GENPRIME */
1157 
1158 #if defined(MBEDTLS_FS_IO)
1159     if( strcmp( "MBEDTLS_FS_IO", config ) == 0 )
1160     {
1161         MACRO_EXPANSION_TO_STR( MBEDTLS_FS_IO );
1162         return( 0 );
1163     }
1164 #endif /* MBEDTLS_FS_IO */
1165 
1166 #if defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES)
1167     if( strcmp( "MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES", config ) == 0 )
1168     {
1169         MACRO_EXPANSION_TO_STR( MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES );
1170         return( 0 );
1171     }
1172 #endif /* MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES */
1173 
1174 #if defined(MBEDTLS_NO_PLATFORM_ENTROPY)
1175     if( strcmp( "MBEDTLS_NO_PLATFORM_ENTROPY", config ) == 0 )
1176     {
1177         MACRO_EXPANSION_TO_STR( MBEDTLS_NO_PLATFORM_ENTROPY );
1178         return( 0 );
1179     }
1180 #endif /* MBEDTLS_NO_PLATFORM_ENTROPY */
1181 
1182 #if defined(MBEDTLS_ENTROPY_FORCE_SHA256)
1183     if( strcmp( "MBEDTLS_ENTROPY_FORCE_SHA256", config ) == 0 )
1184     {
1185         MACRO_EXPANSION_TO_STR( MBEDTLS_ENTROPY_FORCE_SHA256 );
1186         return( 0 );
1187     }
1188 #endif /* MBEDTLS_ENTROPY_FORCE_SHA256 */
1189 
1190 #if defined(MBEDTLS_ENTROPY_NV_SEED)
1191     if( strcmp( "MBEDTLS_ENTROPY_NV_SEED", config ) == 0 )
1192     {
1193         MACRO_EXPANSION_TO_STR( MBEDTLS_ENTROPY_NV_SEED );
1194         return( 0 );
1195     }
1196 #endif /* MBEDTLS_ENTROPY_NV_SEED */
1197 
1198 #if defined(MBEDTLS_MEMORY_DEBUG)
1199     if( strcmp( "MBEDTLS_MEMORY_DEBUG", config ) == 0 )
1200     {
1201         MACRO_EXPANSION_TO_STR( MBEDTLS_MEMORY_DEBUG );
1202         return( 0 );
1203     }
1204 #endif /* MBEDTLS_MEMORY_DEBUG */
1205 
1206 #if defined(MBEDTLS_MEMORY_BACKTRACE)
1207     if( strcmp( "MBEDTLS_MEMORY_BACKTRACE", config ) == 0 )
1208     {
1209         MACRO_EXPANSION_TO_STR( MBEDTLS_MEMORY_BACKTRACE );
1210         return( 0 );
1211     }
1212 #endif /* MBEDTLS_MEMORY_BACKTRACE */
1213 
1214 #if defined(MBEDTLS_PK_RSA_ALT_SUPPORT)
1215     if( strcmp( "MBEDTLS_PK_RSA_ALT_SUPPORT", config ) == 0 )
1216     {
1217         MACRO_EXPANSION_TO_STR( MBEDTLS_PK_RSA_ALT_SUPPORT );
1218         return( 0 );
1219     }
1220 #endif /* MBEDTLS_PK_RSA_ALT_SUPPORT */
1221 
1222 #if defined(MBEDTLS_PKCS1_V15)
1223     if( strcmp( "MBEDTLS_PKCS1_V15", config ) == 0 )
1224     {
1225         MACRO_EXPANSION_TO_STR( MBEDTLS_PKCS1_V15 );
1226         return( 0 );
1227     }
1228 #endif /* MBEDTLS_PKCS1_V15 */
1229 
1230 #if defined(MBEDTLS_PKCS1_V21)
1231     if( strcmp( "MBEDTLS_PKCS1_V21", config ) == 0 )
1232     {
1233         MACRO_EXPANSION_TO_STR( MBEDTLS_PKCS1_V21 );
1234         return( 0 );
1235     }
1236 #endif /* MBEDTLS_PKCS1_V21 */
1237 
1238 #if defined(MBEDTLS_RSA_NO_CRT)
1239     if( strcmp( "MBEDTLS_RSA_NO_CRT", config ) == 0 )
1240     {
1241         MACRO_EXPANSION_TO_STR( MBEDTLS_RSA_NO_CRT );
1242         return( 0 );
1243     }
1244 #endif /* MBEDTLS_RSA_NO_CRT */
1245 
1246 #if defined(MBEDTLS_SELF_TEST)
1247     if( strcmp( "MBEDTLS_SELF_TEST", config ) == 0 )
1248     {
1249         MACRO_EXPANSION_TO_STR( MBEDTLS_SELF_TEST );
1250         return( 0 );
1251     }
1252 #endif /* MBEDTLS_SELF_TEST */
1253 
1254 #if defined(MBEDTLS_SHA256_SMALLER)
1255     if( strcmp( "MBEDTLS_SHA256_SMALLER", config ) == 0 )
1256     {
1257         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA256_SMALLER );
1258         return( 0 );
1259     }
1260 #endif /* MBEDTLS_SHA256_SMALLER */
1261 
1262 #if defined(MBEDTLS_SSL_ALL_ALERT_MESSAGES)
1263     if( strcmp( "MBEDTLS_SSL_ALL_ALERT_MESSAGES", config ) == 0 )
1264     {
1265         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_ALL_ALERT_MESSAGES );
1266         return( 0 );
1267     }
1268 #endif /* MBEDTLS_SSL_ALL_ALERT_MESSAGES */
1269 
1270 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
1271     if( strcmp( "MBEDTLS_SSL_ASYNC_PRIVATE", config ) == 0 )
1272     {
1273         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_ASYNC_PRIVATE );
1274         return( 0 );
1275     }
1276 #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */
1277 
1278 #if defined(MBEDTLS_SSL_DEBUG_ALL)
1279     if( strcmp( "MBEDTLS_SSL_DEBUG_ALL", config ) == 0 )
1280     {
1281         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_DEBUG_ALL );
1282         return( 0 );
1283     }
1284 #endif /* MBEDTLS_SSL_DEBUG_ALL */
1285 
1286 #if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC)
1287     if( strcmp( "MBEDTLS_SSL_ENCRYPT_THEN_MAC", config ) == 0 )
1288     {
1289         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_ENCRYPT_THEN_MAC );
1290         return( 0 );
1291     }
1292 #endif /* MBEDTLS_SSL_ENCRYPT_THEN_MAC */
1293 
1294 #if defined(MBEDTLS_SSL_EXTENDED_MASTER_SECRET)
1295     if( strcmp( "MBEDTLS_SSL_EXTENDED_MASTER_SECRET", config ) == 0 )
1296     {
1297         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_EXTENDED_MASTER_SECRET );
1298         return( 0 );
1299     }
1300 #endif /* MBEDTLS_SSL_EXTENDED_MASTER_SECRET */
1301 
1302 #if defined(MBEDTLS_SSL_FALLBACK_SCSV)
1303     if( strcmp( "MBEDTLS_SSL_FALLBACK_SCSV", config ) == 0 )
1304     {
1305         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_FALLBACK_SCSV );
1306         return( 0 );
1307     }
1308 #endif /* MBEDTLS_SSL_FALLBACK_SCSV */
1309 
1310 #if defined(MBEDTLS_SSL_HW_RECORD_ACCEL)
1311     if( strcmp( "MBEDTLS_SSL_HW_RECORD_ACCEL", config ) == 0 )
1312     {
1313         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_HW_RECORD_ACCEL );
1314         return( 0 );
1315     }
1316 #endif /* MBEDTLS_SSL_HW_RECORD_ACCEL */
1317 
1318 #if defined(MBEDTLS_SSL_CBC_RECORD_SPLITTING)
1319     if( strcmp( "MBEDTLS_SSL_CBC_RECORD_SPLITTING", config ) == 0 )
1320     {
1321         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_CBC_RECORD_SPLITTING );
1322         return( 0 );
1323     }
1324 #endif /* MBEDTLS_SSL_CBC_RECORD_SPLITTING */
1325 
1326 #if defined(MBEDTLS_SSL_RENEGOTIATION)
1327     if( strcmp( "MBEDTLS_SSL_RENEGOTIATION", config ) == 0 )
1328     {
1329         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_RENEGOTIATION );
1330         return( 0 );
1331     }
1332 #endif /* MBEDTLS_SSL_RENEGOTIATION */
1333 
1334 #if defined(MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO)
1335     if( strcmp( "MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO", config ) == 0 )
1336     {
1337         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO );
1338         return( 0 );
1339     }
1340 #endif /* MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO */
1341 
1342 #if defined(MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE)
1343     if( strcmp( "MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE", config ) == 0 )
1344     {
1345         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE );
1346         return( 0 );
1347     }
1348 #endif /* MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE */
1349 
1350 #if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
1351     if( strcmp( "MBEDTLS_SSL_MAX_FRAGMENT_LENGTH", config ) == 0 )
1352     {
1353         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_MAX_FRAGMENT_LENGTH );
1354         return( 0 );
1355     }
1356 #endif /* MBEDTLS_SSL_MAX_FRAGMENT_LENGTH */
1357 
1358 #if defined(MBEDTLS_SSL_PROTO_SSL3)
1359     if( strcmp( "MBEDTLS_SSL_PROTO_SSL3", config ) == 0 )
1360     {
1361         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_PROTO_SSL3 );
1362         return( 0 );
1363     }
1364 #endif /* MBEDTLS_SSL_PROTO_SSL3 */
1365 
1366 #if defined(MBEDTLS_SSL_PROTO_TLS1)
1367     if( strcmp( "MBEDTLS_SSL_PROTO_TLS1", config ) == 0 )
1368     {
1369         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_PROTO_TLS1 );
1370         return( 0 );
1371     }
1372 #endif /* MBEDTLS_SSL_PROTO_TLS1 */
1373 
1374 #if defined(MBEDTLS_SSL_PROTO_TLS1_1)
1375     if( strcmp( "MBEDTLS_SSL_PROTO_TLS1_1", config ) == 0 )
1376     {
1377         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_PROTO_TLS1_1 );
1378         return( 0 );
1379     }
1380 #endif /* MBEDTLS_SSL_PROTO_TLS1_1 */
1381 
1382 #if defined(MBEDTLS_SSL_PROTO_TLS1_2)
1383     if( strcmp( "MBEDTLS_SSL_PROTO_TLS1_2", config ) == 0 )
1384     {
1385         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_PROTO_TLS1_2 );
1386         return( 0 );
1387     }
1388 #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */
1389 
1390 #if defined(MBEDTLS_SSL_PROTO_DTLS)
1391     if( strcmp( "MBEDTLS_SSL_PROTO_DTLS", config ) == 0 )
1392     {
1393         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_PROTO_DTLS );
1394         return( 0 );
1395     }
1396 #endif /* MBEDTLS_SSL_PROTO_DTLS */
1397 
1398 #if defined(MBEDTLS_SSL_ALPN)
1399     if( strcmp( "MBEDTLS_SSL_ALPN", config ) == 0 )
1400     {
1401         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_ALPN );
1402         return( 0 );
1403     }
1404 #endif /* MBEDTLS_SSL_ALPN */
1405 
1406 #if defined(MBEDTLS_SSL_DTLS_ANTI_REPLAY)
1407     if( strcmp( "MBEDTLS_SSL_DTLS_ANTI_REPLAY", config ) == 0 )
1408     {
1409         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_DTLS_ANTI_REPLAY );
1410         return( 0 );
1411     }
1412 #endif /* MBEDTLS_SSL_DTLS_ANTI_REPLAY */
1413 
1414 #if defined(MBEDTLS_SSL_DTLS_HELLO_VERIFY)
1415     if( strcmp( "MBEDTLS_SSL_DTLS_HELLO_VERIFY", config ) == 0 )
1416     {
1417         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_DTLS_HELLO_VERIFY );
1418         return( 0 );
1419     }
1420 #endif /* MBEDTLS_SSL_DTLS_HELLO_VERIFY */
1421 
1422 #if defined(MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE)
1423     if( strcmp( "MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE", config ) == 0 )
1424     {
1425         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE );
1426         return( 0 );
1427     }
1428 #endif /* MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE */
1429 
1430 #if defined(MBEDTLS_SSL_DTLS_BADMAC_LIMIT)
1431     if( strcmp( "MBEDTLS_SSL_DTLS_BADMAC_LIMIT", config ) == 0 )
1432     {
1433         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_DTLS_BADMAC_LIMIT );
1434         return( 0 );
1435     }
1436 #endif /* MBEDTLS_SSL_DTLS_BADMAC_LIMIT */
1437 
1438 #if defined(MBEDTLS_SSL_SESSION_TICKETS)
1439     if( strcmp( "MBEDTLS_SSL_SESSION_TICKETS", config ) == 0 )
1440     {
1441         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_SESSION_TICKETS );
1442         return( 0 );
1443     }
1444 #endif /* MBEDTLS_SSL_SESSION_TICKETS */
1445 
1446 #if defined(MBEDTLS_SSL_EXPORT_KEYS)
1447     if( strcmp( "MBEDTLS_SSL_EXPORT_KEYS", config ) == 0 )
1448     {
1449         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_EXPORT_KEYS );
1450         return( 0 );
1451     }
1452 #endif /* MBEDTLS_SSL_EXPORT_KEYS */
1453 
1454 #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION)
1455     if( strcmp( "MBEDTLS_SSL_SERVER_NAME_INDICATION", config ) == 0 )
1456     {
1457         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_SERVER_NAME_INDICATION );
1458         return( 0 );
1459     }
1460 #endif /* MBEDTLS_SSL_SERVER_NAME_INDICATION */
1461 
1462 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC)
1463     if( strcmp( "MBEDTLS_SSL_TRUNCATED_HMAC", config ) == 0 )
1464     {
1465         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TRUNCATED_HMAC );
1466         return( 0 );
1467     }
1468 #endif /* MBEDTLS_SSL_TRUNCATED_HMAC */
1469 
1470 #if defined(MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT)
1471     if( strcmp( "MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT", config ) == 0 )
1472     {
1473         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT );
1474         return( 0 );
1475     }
1476 #endif /* MBEDTLS_SSL_TRUNCATED_HMAC_COMPAT */
1477 
1478 #if defined(MBEDTLS_TEST_HOOKS)
1479     if( strcmp( "MBEDTLS_TEST_HOOKS", config ) == 0 )
1480     {
1481         MACRO_EXPANSION_TO_STR( MBEDTLS_TEST_HOOKS );
1482         return( 0 );
1483     }
1484 #endif /* MBEDTLS_TEST_HOOKS */
1485 
1486 #if defined(MBEDTLS_THREADING_ALT)
1487     if( strcmp( "MBEDTLS_THREADING_ALT", config ) == 0 )
1488     {
1489         MACRO_EXPANSION_TO_STR( MBEDTLS_THREADING_ALT );
1490         return( 0 );
1491     }
1492 #endif /* MBEDTLS_THREADING_ALT */
1493 
1494 #if defined(MBEDTLS_THREADING_PTHREAD)
1495     if( strcmp( "MBEDTLS_THREADING_PTHREAD", config ) == 0 )
1496     {
1497         MACRO_EXPANSION_TO_STR( MBEDTLS_THREADING_PTHREAD );
1498         return( 0 );
1499     }
1500 #endif /* MBEDTLS_THREADING_PTHREAD */
1501 
1502 #if defined(MBEDTLS_VERSION_FEATURES)
1503     if( strcmp( "MBEDTLS_VERSION_FEATURES", config ) == 0 )
1504     {
1505         MACRO_EXPANSION_TO_STR( MBEDTLS_VERSION_FEATURES );
1506         return( 0 );
1507     }
1508 #endif /* MBEDTLS_VERSION_FEATURES */
1509 
1510 #if defined(MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3)
1511     if( strcmp( "MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3", config ) == 0 )
1512     {
1513         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 );
1514         return( 0 );
1515     }
1516 #endif /* MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3 */
1517 
1518 #if defined(MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION)
1519     if( strcmp( "MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION", config ) == 0 )
1520     {
1521         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION );
1522         return( 0 );
1523     }
1524 #endif /* MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION */
1525 
1526 #if defined(MBEDTLS_X509_CHECK_KEY_USAGE)
1527     if( strcmp( "MBEDTLS_X509_CHECK_KEY_USAGE", config ) == 0 )
1528     {
1529         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_CHECK_KEY_USAGE );
1530         return( 0 );
1531     }
1532 #endif /* MBEDTLS_X509_CHECK_KEY_USAGE */
1533 
1534 #if defined(MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE)
1535     if( strcmp( "MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE", config ) == 0 )
1536     {
1537         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE );
1538         return( 0 );
1539     }
1540 #endif /* MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE */
1541 
1542 #if defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT)
1543     if( strcmp( "MBEDTLS_X509_RSASSA_PSS_SUPPORT", config ) == 0 )
1544     {
1545         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_RSASSA_PSS_SUPPORT );
1546         return( 0 );
1547     }
1548 #endif /* MBEDTLS_X509_RSASSA_PSS_SUPPORT */
1549 
1550 #if defined(MBEDTLS_ZLIB_SUPPORT)
1551     if( strcmp( "MBEDTLS_ZLIB_SUPPORT", config ) == 0 )
1552     {
1553         MACRO_EXPANSION_TO_STR( MBEDTLS_ZLIB_SUPPORT );
1554         return( 0 );
1555     }
1556 #endif /* MBEDTLS_ZLIB_SUPPORT */
1557 
1558 #if defined(MBEDTLS_AESNI_C)
1559     if( strcmp( "MBEDTLS_AESNI_C", config ) == 0 )
1560     {
1561         MACRO_EXPANSION_TO_STR( MBEDTLS_AESNI_C );
1562         return( 0 );
1563     }
1564 #endif /* MBEDTLS_AESNI_C */
1565 
1566 #if defined(MBEDTLS_AES_C)
1567     if( strcmp( "MBEDTLS_AES_C", config ) == 0 )
1568     {
1569         MACRO_EXPANSION_TO_STR( MBEDTLS_AES_C );
1570         return( 0 );
1571     }
1572 #endif /* MBEDTLS_AES_C */
1573 
1574 #if defined(MBEDTLS_ARC4_C)
1575     if( strcmp( "MBEDTLS_ARC4_C", config ) == 0 )
1576     {
1577         MACRO_EXPANSION_TO_STR( MBEDTLS_ARC4_C );
1578         return( 0 );
1579     }
1580 #endif /* MBEDTLS_ARC4_C */
1581 
1582 #if defined(MBEDTLS_ASN1_PARSE_C)
1583     if( strcmp( "MBEDTLS_ASN1_PARSE_C", config ) == 0 )
1584     {
1585         MACRO_EXPANSION_TO_STR( MBEDTLS_ASN1_PARSE_C );
1586         return( 0 );
1587     }
1588 #endif /* MBEDTLS_ASN1_PARSE_C */
1589 
1590 #if defined(MBEDTLS_ASN1_WRITE_C)
1591     if( strcmp( "MBEDTLS_ASN1_WRITE_C", config ) == 0 )
1592     {
1593         MACRO_EXPANSION_TO_STR( MBEDTLS_ASN1_WRITE_C );
1594         return( 0 );
1595     }
1596 #endif /* MBEDTLS_ASN1_WRITE_C */
1597 
1598 #if defined(MBEDTLS_BASE64_C)
1599     if( strcmp( "MBEDTLS_BASE64_C", config ) == 0 )
1600     {
1601         MACRO_EXPANSION_TO_STR( MBEDTLS_BASE64_C );
1602         return( 0 );
1603     }
1604 #endif /* MBEDTLS_BASE64_C */
1605 
1606 #if defined(MBEDTLS_BIGNUM_C)
1607     if( strcmp( "MBEDTLS_BIGNUM_C", config ) == 0 )
1608     {
1609         MACRO_EXPANSION_TO_STR( MBEDTLS_BIGNUM_C );
1610         return( 0 );
1611     }
1612 #endif /* MBEDTLS_BIGNUM_C */
1613 
1614 #if defined(MBEDTLS_BLOWFISH_C)
1615     if( strcmp( "MBEDTLS_BLOWFISH_C", config ) == 0 )
1616     {
1617         MACRO_EXPANSION_TO_STR( MBEDTLS_BLOWFISH_C );
1618         return( 0 );
1619     }
1620 #endif /* MBEDTLS_BLOWFISH_C */
1621 
1622 #if defined(MBEDTLS_CAMELLIA_C)
1623     if( strcmp( "MBEDTLS_CAMELLIA_C", config ) == 0 )
1624     {
1625         MACRO_EXPANSION_TO_STR( MBEDTLS_CAMELLIA_C );
1626         return( 0 );
1627     }
1628 #endif /* MBEDTLS_CAMELLIA_C */
1629 
1630 #if defined(MBEDTLS_ARIA_C)
1631     if( strcmp( "MBEDTLS_ARIA_C", config ) == 0 )
1632     {
1633         MACRO_EXPANSION_TO_STR( MBEDTLS_ARIA_C );
1634         return( 0 );
1635     }
1636 #endif /* MBEDTLS_ARIA_C */
1637 
1638 #if defined(MBEDTLS_CCM_C)
1639     if( strcmp( "MBEDTLS_CCM_C", config ) == 0 )
1640     {
1641         MACRO_EXPANSION_TO_STR( MBEDTLS_CCM_C );
1642         return( 0 );
1643     }
1644 #endif /* MBEDTLS_CCM_C */
1645 
1646 #if defined(MBEDTLS_CERTS_C)
1647     if( strcmp( "MBEDTLS_CERTS_C", config ) == 0 )
1648     {
1649         MACRO_EXPANSION_TO_STR( MBEDTLS_CERTS_C );
1650         return( 0 );
1651     }
1652 #endif /* MBEDTLS_CERTS_C */
1653 
1654 #if defined(MBEDTLS_CHACHA20_C)
1655     if( strcmp( "MBEDTLS_CHACHA20_C", config ) == 0 )
1656     {
1657         MACRO_EXPANSION_TO_STR( MBEDTLS_CHACHA20_C );
1658         return( 0 );
1659     }
1660 #endif /* MBEDTLS_CHACHA20_C */
1661 
1662 #if defined(MBEDTLS_CHACHAPOLY_C)
1663     if( strcmp( "MBEDTLS_CHACHAPOLY_C", config ) == 0 )
1664     {
1665         MACRO_EXPANSION_TO_STR( MBEDTLS_CHACHAPOLY_C );
1666         return( 0 );
1667     }
1668 #endif /* MBEDTLS_CHACHAPOLY_C */
1669 
1670 #if defined(MBEDTLS_CIPHER_C)
1671     if( strcmp( "MBEDTLS_CIPHER_C", config ) == 0 )
1672     {
1673         MACRO_EXPANSION_TO_STR( MBEDTLS_CIPHER_C );
1674         return( 0 );
1675     }
1676 #endif /* MBEDTLS_CIPHER_C */
1677 
1678 #if defined(MBEDTLS_CMAC_C)
1679     if( strcmp( "MBEDTLS_CMAC_C", config ) == 0 )
1680     {
1681         MACRO_EXPANSION_TO_STR( MBEDTLS_CMAC_C );
1682         return( 0 );
1683     }
1684 #endif /* MBEDTLS_CMAC_C */
1685 
1686 #if defined(MBEDTLS_CTR_DRBG_C)
1687     if( strcmp( "MBEDTLS_CTR_DRBG_C", config ) == 0 )
1688     {
1689         MACRO_EXPANSION_TO_STR( MBEDTLS_CTR_DRBG_C );
1690         return( 0 );
1691     }
1692 #endif /* MBEDTLS_CTR_DRBG_C */
1693 
1694 #if defined(MBEDTLS_DEBUG_C)
1695     if( strcmp( "MBEDTLS_DEBUG_C", config ) == 0 )
1696     {
1697         MACRO_EXPANSION_TO_STR( MBEDTLS_DEBUG_C );
1698         return( 0 );
1699     }
1700 #endif /* MBEDTLS_DEBUG_C */
1701 
1702 #if defined(MBEDTLS_DES_C)
1703     if( strcmp( "MBEDTLS_DES_C", config ) == 0 )
1704     {
1705         MACRO_EXPANSION_TO_STR( MBEDTLS_DES_C );
1706         return( 0 );
1707     }
1708 #endif /* MBEDTLS_DES_C */
1709 
1710 #if defined(MBEDTLS_DHM_C)
1711     if( strcmp( "MBEDTLS_DHM_C", config ) == 0 )
1712     {
1713         MACRO_EXPANSION_TO_STR( MBEDTLS_DHM_C );
1714         return( 0 );
1715     }
1716 #endif /* MBEDTLS_DHM_C */
1717 
1718 #if defined(MBEDTLS_ECDH_C)
1719     if( strcmp( "MBEDTLS_ECDH_C", config ) == 0 )
1720     {
1721         MACRO_EXPANSION_TO_STR( MBEDTLS_ECDH_C );
1722         return( 0 );
1723     }
1724 #endif /* MBEDTLS_ECDH_C */
1725 
1726 #if defined(MBEDTLS_ECDSA_C)
1727     if( strcmp( "MBEDTLS_ECDSA_C", config ) == 0 )
1728     {
1729         MACRO_EXPANSION_TO_STR( MBEDTLS_ECDSA_C );
1730         return( 0 );
1731     }
1732 #endif /* MBEDTLS_ECDSA_C */
1733 
1734 #if defined(MBEDTLS_ECJPAKE_C)
1735     if( strcmp( "MBEDTLS_ECJPAKE_C", config ) == 0 )
1736     {
1737         MACRO_EXPANSION_TO_STR( MBEDTLS_ECJPAKE_C );
1738         return( 0 );
1739     }
1740 #endif /* MBEDTLS_ECJPAKE_C */
1741 
1742 #if defined(MBEDTLS_ECP_C)
1743     if( strcmp( "MBEDTLS_ECP_C", config ) == 0 )
1744     {
1745         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_C );
1746         return( 0 );
1747     }
1748 #endif /* MBEDTLS_ECP_C */
1749 
1750 #if defined(MBEDTLS_ENTROPY_C)
1751     if( strcmp( "MBEDTLS_ENTROPY_C", config ) == 0 )
1752     {
1753         MACRO_EXPANSION_TO_STR( MBEDTLS_ENTROPY_C );
1754         return( 0 );
1755     }
1756 #endif /* MBEDTLS_ENTROPY_C */
1757 
1758 #if defined(MBEDTLS_ERROR_C)
1759     if( strcmp( "MBEDTLS_ERROR_C", config ) == 0 )
1760     {
1761         MACRO_EXPANSION_TO_STR( MBEDTLS_ERROR_C );
1762         return( 0 );
1763     }
1764 #endif /* MBEDTLS_ERROR_C */
1765 
1766 #if defined(MBEDTLS_GCM_C)
1767     if( strcmp( "MBEDTLS_GCM_C", config ) == 0 )
1768     {
1769         MACRO_EXPANSION_TO_STR( MBEDTLS_GCM_C );
1770         return( 0 );
1771     }
1772 #endif /* MBEDTLS_GCM_C */
1773 
1774 #if defined(MBEDTLS_HAVEGE_C)
1775     if( strcmp( "MBEDTLS_HAVEGE_C", config ) == 0 )
1776     {
1777         MACRO_EXPANSION_TO_STR( MBEDTLS_HAVEGE_C );
1778         return( 0 );
1779     }
1780 #endif /* MBEDTLS_HAVEGE_C */
1781 
1782 #if defined(MBEDTLS_HKDF_C)
1783     if( strcmp( "MBEDTLS_HKDF_C", config ) == 0 )
1784     {
1785         MACRO_EXPANSION_TO_STR( MBEDTLS_HKDF_C );
1786         return( 0 );
1787     }
1788 #endif /* MBEDTLS_HKDF_C */
1789 
1790 #if defined(MBEDTLS_HMAC_DRBG_C)
1791     if( strcmp( "MBEDTLS_HMAC_DRBG_C", config ) == 0 )
1792     {
1793         MACRO_EXPANSION_TO_STR( MBEDTLS_HMAC_DRBG_C );
1794         return( 0 );
1795     }
1796 #endif /* MBEDTLS_HMAC_DRBG_C */
1797 
1798 #if defined(MBEDTLS_NIST_KW_C)
1799     if( strcmp( "MBEDTLS_NIST_KW_C", config ) == 0 )
1800     {
1801         MACRO_EXPANSION_TO_STR( MBEDTLS_NIST_KW_C );
1802         return( 0 );
1803     }
1804 #endif /* MBEDTLS_NIST_KW_C */
1805 
1806 #if defined(MBEDTLS_MD_C)
1807     if( strcmp( "MBEDTLS_MD_C", config ) == 0 )
1808     {
1809         MACRO_EXPANSION_TO_STR( MBEDTLS_MD_C );
1810         return( 0 );
1811     }
1812 #endif /* MBEDTLS_MD_C */
1813 
1814 #if defined(MBEDTLS_MD2_C)
1815     if( strcmp( "MBEDTLS_MD2_C", config ) == 0 )
1816     {
1817         MACRO_EXPANSION_TO_STR( MBEDTLS_MD2_C );
1818         return( 0 );
1819     }
1820 #endif /* MBEDTLS_MD2_C */
1821 
1822 #if defined(MBEDTLS_MD4_C)
1823     if( strcmp( "MBEDTLS_MD4_C", config ) == 0 )
1824     {
1825         MACRO_EXPANSION_TO_STR( MBEDTLS_MD4_C );
1826         return( 0 );
1827     }
1828 #endif /* MBEDTLS_MD4_C */
1829 
1830 #if defined(MBEDTLS_MD5_C)
1831     if( strcmp( "MBEDTLS_MD5_C", config ) == 0 )
1832     {
1833         MACRO_EXPANSION_TO_STR( MBEDTLS_MD5_C );
1834         return( 0 );
1835     }
1836 #endif /* MBEDTLS_MD5_C */
1837 
1838 #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
1839     if( strcmp( "MBEDTLS_MEMORY_BUFFER_ALLOC_C", config ) == 0 )
1840     {
1841         MACRO_EXPANSION_TO_STR( MBEDTLS_MEMORY_BUFFER_ALLOC_C );
1842         return( 0 );
1843     }
1844 #endif /* MBEDTLS_MEMORY_BUFFER_ALLOC_C */
1845 
1846 #if defined(MBEDTLS_NET_C)
1847     if( strcmp( "MBEDTLS_NET_C", config ) == 0 )
1848     {
1849         MACRO_EXPANSION_TO_STR( MBEDTLS_NET_C );
1850         return( 0 );
1851     }
1852 #endif /* MBEDTLS_NET_C */
1853 
1854 #if defined(MBEDTLS_OID_C)
1855     if( strcmp( "MBEDTLS_OID_C", config ) == 0 )
1856     {
1857         MACRO_EXPANSION_TO_STR( MBEDTLS_OID_C );
1858         return( 0 );
1859     }
1860 #endif /* MBEDTLS_OID_C */
1861 
1862 #if defined(MBEDTLS_PADLOCK_C)
1863     if( strcmp( "MBEDTLS_PADLOCK_C", config ) == 0 )
1864     {
1865         MACRO_EXPANSION_TO_STR( MBEDTLS_PADLOCK_C );
1866         return( 0 );
1867     }
1868 #endif /* MBEDTLS_PADLOCK_C */
1869 
1870 #if defined(MBEDTLS_PEM_PARSE_C)
1871     if( strcmp( "MBEDTLS_PEM_PARSE_C", config ) == 0 )
1872     {
1873         MACRO_EXPANSION_TO_STR( MBEDTLS_PEM_PARSE_C );
1874         return( 0 );
1875     }
1876 #endif /* MBEDTLS_PEM_PARSE_C */
1877 
1878 #if defined(MBEDTLS_PEM_WRITE_C)
1879     if( strcmp( "MBEDTLS_PEM_WRITE_C", config ) == 0 )
1880     {
1881         MACRO_EXPANSION_TO_STR( MBEDTLS_PEM_WRITE_C );
1882         return( 0 );
1883     }
1884 #endif /* MBEDTLS_PEM_WRITE_C */
1885 
1886 #if defined(MBEDTLS_PK_C)
1887     if( strcmp( "MBEDTLS_PK_C", config ) == 0 )
1888     {
1889         MACRO_EXPANSION_TO_STR( MBEDTLS_PK_C );
1890         return( 0 );
1891     }
1892 #endif /* MBEDTLS_PK_C */
1893 
1894 #if defined(MBEDTLS_PK_PARSE_C)
1895     if( strcmp( "MBEDTLS_PK_PARSE_C", config ) == 0 )
1896     {
1897         MACRO_EXPANSION_TO_STR( MBEDTLS_PK_PARSE_C );
1898         return( 0 );
1899     }
1900 #endif /* MBEDTLS_PK_PARSE_C */
1901 
1902 #if defined(MBEDTLS_PK_WRITE_C)
1903     if( strcmp( "MBEDTLS_PK_WRITE_C", config ) == 0 )
1904     {
1905         MACRO_EXPANSION_TO_STR( MBEDTLS_PK_WRITE_C );
1906         return( 0 );
1907     }
1908 #endif /* MBEDTLS_PK_WRITE_C */
1909 
1910 #if defined(MBEDTLS_PKCS5_C)
1911     if( strcmp( "MBEDTLS_PKCS5_C", config ) == 0 )
1912     {
1913         MACRO_EXPANSION_TO_STR( MBEDTLS_PKCS5_C );
1914         return( 0 );
1915     }
1916 #endif /* MBEDTLS_PKCS5_C */
1917 
1918 #if defined(MBEDTLS_PKCS11_C)
1919     if( strcmp( "MBEDTLS_PKCS11_C", config ) == 0 )
1920     {
1921         MACRO_EXPANSION_TO_STR( MBEDTLS_PKCS11_C );
1922         return( 0 );
1923     }
1924 #endif /* MBEDTLS_PKCS11_C */
1925 
1926 #if defined(MBEDTLS_PKCS12_C)
1927     if( strcmp( "MBEDTLS_PKCS12_C", config ) == 0 )
1928     {
1929         MACRO_EXPANSION_TO_STR( MBEDTLS_PKCS12_C );
1930         return( 0 );
1931     }
1932 #endif /* MBEDTLS_PKCS12_C */
1933 
1934 #if defined(MBEDTLS_PLATFORM_C)
1935     if( strcmp( "MBEDTLS_PLATFORM_C", config ) == 0 )
1936     {
1937         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_C );
1938         return( 0 );
1939     }
1940 #endif /* MBEDTLS_PLATFORM_C */
1941 
1942 #if defined(MBEDTLS_POLY1305_C)
1943     if( strcmp( "MBEDTLS_POLY1305_C", config ) == 0 )
1944     {
1945         MACRO_EXPANSION_TO_STR( MBEDTLS_POLY1305_C );
1946         return( 0 );
1947     }
1948 #endif /* MBEDTLS_POLY1305_C */
1949 
1950 #if defined(MBEDTLS_RIPEMD160_C)
1951     if( strcmp( "MBEDTLS_RIPEMD160_C", config ) == 0 )
1952     {
1953         MACRO_EXPANSION_TO_STR( MBEDTLS_RIPEMD160_C );
1954         return( 0 );
1955     }
1956 #endif /* MBEDTLS_RIPEMD160_C */
1957 
1958 #if defined(MBEDTLS_RSA_C)
1959     if( strcmp( "MBEDTLS_RSA_C", config ) == 0 )
1960     {
1961         MACRO_EXPANSION_TO_STR( MBEDTLS_RSA_C );
1962         return( 0 );
1963     }
1964 #endif /* MBEDTLS_RSA_C */
1965 
1966 #if defined(MBEDTLS_SHA1_C)
1967     if( strcmp( "MBEDTLS_SHA1_C", config ) == 0 )
1968     {
1969         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA1_C );
1970         return( 0 );
1971     }
1972 #endif /* MBEDTLS_SHA1_C */
1973 
1974 #if defined(MBEDTLS_SHA256_C)
1975     if( strcmp( "MBEDTLS_SHA256_C", config ) == 0 )
1976     {
1977         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA256_C );
1978         return( 0 );
1979     }
1980 #endif /* MBEDTLS_SHA256_C */
1981 
1982 #if defined(MBEDTLS_SHA512_C)
1983     if( strcmp( "MBEDTLS_SHA512_C", config ) == 0 )
1984     {
1985         MACRO_EXPANSION_TO_STR( MBEDTLS_SHA512_C );
1986         return( 0 );
1987     }
1988 #endif /* MBEDTLS_SHA512_C */
1989 
1990 #if defined(MBEDTLS_SSL_CACHE_C)
1991     if( strcmp( "MBEDTLS_SSL_CACHE_C", config ) == 0 )
1992     {
1993         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_CACHE_C );
1994         return( 0 );
1995     }
1996 #endif /* MBEDTLS_SSL_CACHE_C */
1997 
1998 #if defined(MBEDTLS_SSL_COOKIE_C)
1999     if( strcmp( "MBEDTLS_SSL_COOKIE_C", config ) == 0 )
2000     {
2001         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_COOKIE_C );
2002         return( 0 );
2003     }
2004 #endif /* MBEDTLS_SSL_COOKIE_C */
2005 
2006 #if defined(MBEDTLS_SSL_TICKET_C)
2007     if( strcmp( "MBEDTLS_SSL_TICKET_C", config ) == 0 )
2008     {
2009         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TICKET_C );
2010         return( 0 );
2011     }
2012 #endif /* MBEDTLS_SSL_TICKET_C */
2013 
2014 #if defined(MBEDTLS_SSL_CLI_C)
2015     if( strcmp( "MBEDTLS_SSL_CLI_C", config ) == 0 )
2016     {
2017         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_CLI_C );
2018         return( 0 );
2019     }
2020 #endif /* MBEDTLS_SSL_CLI_C */
2021 
2022 #if defined(MBEDTLS_SSL_SRV_C)
2023     if( strcmp( "MBEDTLS_SSL_SRV_C", config ) == 0 )
2024     {
2025         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_SRV_C );
2026         return( 0 );
2027     }
2028 #endif /* MBEDTLS_SSL_SRV_C */
2029 
2030 #if defined(MBEDTLS_SSL_TLS_C)
2031     if( strcmp( "MBEDTLS_SSL_TLS_C", config ) == 0 )
2032     {
2033         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_TLS_C );
2034         return( 0 );
2035     }
2036 #endif /* MBEDTLS_SSL_TLS_C */
2037 
2038 #if defined(MBEDTLS_THREADING_C)
2039     if( strcmp( "MBEDTLS_THREADING_C", config ) == 0 )
2040     {
2041         MACRO_EXPANSION_TO_STR( MBEDTLS_THREADING_C );
2042         return( 0 );
2043     }
2044 #endif /* MBEDTLS_THREADING_C */
2045 
2046 #if defined(MBEDTLS_TIMING_C)
2047     if( strcmp( "MBEDTLS_TIMING_C", config ) == 0 )
2048     {
2049         MACRO_EXPANSION_TO_STR( MBEDTLS_TIMING_C );
2050         return( 0 );
2051     }
2052 #endif /* MBEDTLS_TIMING_C */
2053 
2054 #if defined(MBEDTLS_VERSION_C)
2055     if( strcmp( "MBEDTLS_VERSION_C", config ) == 0 )
2056     {
2057         MACRO_EXPANSION_TO_STR( MBEDTLS_VERSION_C );
2058         return( 0 );
2059     }
2060 #endif /* MBEDTLS_VERSION_C */
2061 
2062 #if defined(MBEDTLS_X509_USE_C)
2063     if( strcmp( "MBEDTLS_X509_USE_C", config ) == 0 )
2064     {
2065         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_USE_C );
2066         return( 0 );
2067     }
2068 #endif /* MBEDTLS_X509_USE_C */
2069 
2070 #if defined(MBEDTLS_X509_CRT_PARSE_C)
2071     if( strcmp( "MBEDTLS_X509_CRT_PARSE_C", config ) == 0 )
2072     {
2073         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_CRT_PARSE_C );
2074         return( 0 );
2075     }
2076 #endif /* MBEDTLS_X509_CRT_PARSE_C */
2077 
2078 #if defined(MBEDTLS_X509_CRL_PARSE_C)
2079     if( strcmp( "MBEDTLS_X509_CRL_PARSE_C", config ) == 0 )
2080     {
2081         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_CRL_PARSE_C );
2082         return( 0 );
2083     }
2084 #endif /* MBEDTLS_X509_CRL_PARSE_C */
2085 
2086 #if defined(MBEDTLS_X509_CSR_PARSE_C)
2087     if( strcmp( "MBEDTLS_X509_CSR_PARSE_C", config ) == 0 )
2088     {
2089         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_CSR_PARSE_C );
2090         return( 0 );
2091     }
2092 #endif /* MBEDTLS_X509_CSR_PARSE_C */
2093 
2094 #if defined(MBEDTLS_X509_CREATE_C)
2095     if( strcmp( "MBEDTLS_X509_CREATE_C", config ) == 0 )
2096     {
2097         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_CREATE_C );
2098         return( 0 );
2099     }
2100 #endif /* MBEDTLS_X509_CREATE_C */
2101 
2102 #if defined(MBEDTLS_X509_CRT_WRITE_C)
2103     if( strcmp( "MBEDTLS_X509_CRT_WRITE_C", config ) == 0 )
2104     {
2105         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_CRT_WRITE_C );
2106         return( 0 );
2107     }
2108 #endif /* MBEDTLS_X509_CRT_WRITE_C */
2109 
2110 #if defined(MBEDTLS_X509_CSR_WRITE_C)
2111     if( strcmp( "MBEDTLS_X509_CSR_WRITE_C", config ) == 0 )
2112     {
2113         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_CSR_WRITE_C );
2114         return( 0 );
2115     }
2116 #endif /* MBEDTLS_X509_CSR_WRITE_C */
2117 
2118 #if defined(MBEDTLS_XTEA_C)
2119     if( strcmp( "MBEDTLS_XTEA_C", config ) == 0 )
2120     {
2121         MACRO_EXPANSION_TO_STR( MBEDTLS_XTEA_C );
2122         return( 0 );
2123     }
2124 #endif /* MBEDTLS_XTEA_C */
2125 
2126 #if defined(MBEDTLS_MPI_WINDOW_SIZE)
2127     if( strcmp( "MBEDTLS_MPI_WINDOW_SIZE", config ) == 0 )
2128     {
2129         MACRO_EXPANSION_TO_STR( MBEDTLS_MPI_WINDOW_SIZE );
2130         return( 0 );
2131     }
2132 #endif /* MBEDTLS_MPI_WINDOW_SIZE */
2133 
2134 #if defined(MBEDTLS_MPI_MAX_SIZE)
2135     if( strcmp( "MBEDTLS_MPI_MAX_SIZE", config ) == 0 )
2136     {
2137         MACRO_EXPANSION_TO_STR( MBEDTLS_MPI_MAX_SIZE );
2138         return( 0 );
2139     }
2140 #endif /* MBEDTLS_MPI_MAX_SIZE */
2141 
2142 #if defined(MBEDTLS_CTR_DRBG_ENTROPY_LEN)
2143     if( strcmp( "MBEDTLS_CTR_DRBG_ENTROPY_LEN", config ) == 0 )
2144     {
2145         MACRO_EXPANSION_TO_STR( MBEDTLS_CTR_DRBG_ENTROPY_LEN );
2146         return( 0 );
2147     }
2148 #endif /* MBEDTLS_CTR_DRBG_ENTROPY_LEN */
2149 
2150 #if defined(MBEDTLS_CTR_DRBG_RESEED_INTERVAL)
2151     if( strcmp( "MBEDTLS_CTR_DRBG_RESEED_INTERVAL", config ) == 0 )
2152     {
2153         MACRO_EXPANSION_TO_STR( MBEDTLS_CTR_DRBG_RESEED_INTERVAL );
2154         return( 0 );
2155     }
2156 #endif /* MBEDTLS_CTR_DRBG_RESEED_INTERVAL */
2157 
2158 #if defined(MBEDTLS_CTR_DRBG_MAX_INPUT)
2159     if( strcmp( "MBEDTLS_CTR_DRBG_MAX_INPUT", config ) == 0 )
2160     {
2161         MACRO_EXPANSION_TO_STR( MBEDTLS_CTR_DRBG_MAX_INPUT );
2162         return( 0 );
2163     }
2164 #endif /* MBEDTLS_CTR_DRBG_MAX_INPUT */
2165 
2166 #if defined(MBEDTLS_CTR_DRBG_MAX_REQUEST)
2167     if( strcmp( "MBEDTLS_CTR_DRBG_MAX_REQUEST", config ) == 0 )
2168     {
2169         MACRO_EXPANSION_TO_STR( MBEDTLS_CTR_DRBG_MAX_REQUEST );
2170         return( 0 );
2171     }
2172 #endif /* MBEDTLS_CTR_DRBG_MAX_REQUEST */
2173 
2174 #if defined(MBEDTLS_CTR_DRBG_MAX_SEED_INPUT)
2175     if( strcmp( "MBEDTLS_CTR_DRBG_MAX_SEED_INPUT", config ) == 0 )
2176     {
2177         MACRO_EXPANSION_TO_STR( MBEDTLS_CTR_DRBG_MAX_SEED_INPUT );
2178         return( 0 );
2179     }
2180 #endif /* MBEDTLS_CTR_DRBG_MAX_SEED_INPUT */
2181 
2182 #if defined(MBEDTLS_HMAC_DRBG_RESEED_INTERVAL)
2183     if( strcmp( "MBEDTLS_HMAC_DRBG_RESEED_INTERVAL", config ) == 0 )
2184     {
2185         MACRO_EXPANSION_TO_STR( MBEDTLS_HMAC_DRBG_RESEED_INTERVAL );
2186         return( 0 );
2187     }
2188 #endif /* MBEDTLS_HMAC_DRBG_RESEED_INTERVAL */
2189 
2190 #if defined(MBEDTLS_HMAC_DRBG_MAX_INPUT)
2191     if( strcmp( "MBEDTLS_HMAC_DRBG_MAX_INPUT", config ) == 0 )
2192     {
2193         MACRO_EXPANSION_TO_STR( MBEDTLS_HMAC_DRBG_MAX_INPUT );
2194         return( 0 );
2195     }
2196 #endif /* MBEDTLS_HMAC_DRBG_MAX_INPUT */
2197 
2198 #if defined(MBEDTLS_HMAC_DRBG_MAX_REQUEST)
2199     if( strcmp( "MBEDTLS_HMAC_DRBG_MAX_REQUEST", config ) == 0 )
2200     {
2201         MACRO_EXPANSION_TO_STR( MBEDTLS_HMAC_DRBG_MAX_REQUEST );
2202         return( 0 );
2203     }
2204 #endif /* MBEDTLS_HMAC_DRBG_MAX_REQUEST */
2205 
2206 #if defined(MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT)
2207     if( strcmp( "MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT", config ) == 0 )
2208     {
2209         MACRO_EXPANSION_TO_STR( MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT );
2210         return( 0 );
2211     }
2212 #endif /* MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT */
2213 
2214 #if defined(MBEDTLS_ECP_MAX_BITS)
2215     if( strcmp( "MBEDTLS_ECP_MAX_BITS", config ) == 0 )
2216     {
2217         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_MAX_BITS );
2218         return( 0 );
2219     }
2220 #endif /* MBEDTLS_ECP_MAX_BITS */
2221 
2222 #if defined(MBEDTLS_ECP_WINDOW_SIZE)
2223     if( strcmp( "MBEDTLS_ECP_WINDOW_SIZE", config ) == 0 )
2224     {
2225         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_WINDOW_SIZE );
2226         return( 0 );
2227     }
2228 #endif /* MBEDTLS_ECP_WINDOW_SIZE */
2229 
2230 #if defined(MBEDTLS_ECP_FIXED_POINT_OPTIM)
2231     if( strcmp( "MBEDTLS_ECP_FIXED_POINT_OPTIM", config ) == 0 )
2232     {
2233         MACRO_EXPANSION_TO_STR( MBEDTLS_ECP_FIXED_POINT_OPTIM );
2234         return( 0 );
2235     }
2236 #endif /* MBEDTLS_ECP_FIXED_POINT_OPTIM */
2237 
2238 #if defined(MBEDTLS_ENTROPY_MAX_SOURCES)
2239     if( strcmp( "MBEDTLS_ENTROPY_MAX_SOURCES", config ) == 0 )
2240     {
2241         MACRO_EXPANSION_TO_STR( MBEDTLS_ENTROPY_MAX_SOURCES );
2242         return( 0 );
2243     }
2244 #endif /* MBEDTLS_ENTROPY_MAX_SOURCES */
2245 
2246 #if defined(MBEDTLS_ENTROPY_MAX_GATHER)
2247     if( strcmp( "MBEDTLS_ENTROPY_MAX_GATHER", config ) == 0 )
2248     {
2249         MACRO_EXPANSION_TO_STR( MBEDTLS_ENTROPY_MAX_GATHER );
2250         return( 0 );
2251     }
2252 #endif /* MBEDTLS_ENTROPY_MAX_GATHER */
2253 
2254 #if defined(MBEDTLS_ENTROPY_MIN_HARDWARE)
2255     if( strcmp( "MBEDTLS_ENTROPY_MIN_HARDWARE", config ) == 0 )
2256     {
2257         MACRO_EXPANSION_TO_STR( MBEDTLS_ENTROPY_MIN_HARDWARE );
2258         return( 0 );
2259     }
2260 #endif /* MBEDTLS_ENTROPY_MIN_HARDWARE */
2261 
2262 #if defined(MBEDTLS_MEMORY_ALIGN_MULTIPLE)
2263     if( strcmp( "MBEDTLS_MEMORY_ALIGN_MULTIPLE", config ) == 0 )
2264     {
2265         MACRO_EXPANSION_TO_STR( MBEDTLS_MEMORY_ALIGN_MULTIPLE );
2266         return( 0 );
2267     }
2268 #endif /* MBEDTLS_MEMORY_ALIGN_MULTIPLE */
2269 
2270 #if defined(MBEDTLS_PLATFORM_STD_MEM_HDR)
2271     if( strcmp( "MBEDTLS_PLATFORM_STD_MEM_HDR", config ) == 0 )
2272     {
2273         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_MEM_HDR );
2274         return( 0 );
2275     }
2276 #endif /* MBEDTLS_PLATFORM_STD_MEM_HDR */
2277 
2278 #if defined(MBEDTLS_PLATFORM_STD_CALLOC)
2279     if( strcmp( "MBEDTLS_PLATFORM_STD_CALLOC", config ) == 0 )
2280     {
2281         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_CALLOC );
2282         return( 0 );
2283     }
2284 #endif /* MBEDTLS_PLATFORM_STD_CALLOC */
2285 
2286 #if defined(MBEDTLS_PLATFORM_STD_FREE)
2287     if( strcmp( "MBEDTLS_PLATFORM_STD_FREE", config ) == 0 )
2288     {
2289         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_FREE );
2290         return( 0 );
2291     }
2292 #endif /* MBEDTLS_PLATFORM_STD_FREE */
2293 
2294 #if defined(MBEDTLS_PLATFORM_STD_EXIT)
2295     if( strcmp( "MBEDTLS_PLATFORM_STD_EXIT", config ) == 0 )
2296     {
2297         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_EXIT );
2298         return( 0 );
2299     }
2300 #endif /* MBEDTLS_PLATFORM_STD_EXIT */
2301 
2302 #if defined(MBEDTLS_PLATFORM_STD_TIME)
2303     if( strcmp( "MBEDTLS_PLATFORM_STD_TIME", config ) == 0 )
2304     {
2305         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_TIME );
2306         return( 0 );
2307     }
2308 #endif /* MBEDTLS_PLATFORM_STD_TIME */
2309 
2310 #if defined(MBEDTLS_PLATFORM_STD_FPRINTF)
2311     if( strcmp( "MBEDTLS_PLATFORM_STD_FPRINTF", config ) == 0 )
2312     {
2313         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_FPRINTF );
2314         return( 0 );
2315     }
2316 #endif /* MBEDTLS_PLATFORM_STD_FPRINTF */
2317 
2318 #if defined(MBEDTLS_PLATFORM_STD_PRINTF)
2319     if( strcmp( "MBEDTLS_PLATFORM_STD_PRINTF", config ) == 0 )
2320     {
2321         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_PRINTF );
2322         return( 0 );
2323     }
2324 #endif /* MBEDTLS_PLATFORM_STD_PRINTF */
2325 
2326 #if defined(MBEDTLS_PLATFORM_STD_SNPRINTF)
2327     if( strcmp( "MBEDTLS_PLATFORM_STD_SNPRINTF", config ) == 0 )
2328     {
2329         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_SNPRINTF );
2330         return( 0 );
2331     }
2332 #endif /* MBEDTLS_PLATFORM_STD_SNPRINTF */
2333 
2334 #if defined(MBEDTLS_PLATFORM_STD_EXIT_SUCCESS)
2335     if( strcmp( "MBEDTLS_PLATFORM_STD_EXIT_SUCCESS", config ) == 0 )
2336     {
2337         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_EXIT_SUCCESS );
2338         return( 0 );
2339     }
2340 #endif /* MBEDTLS_PLATFORM_STD_EXIT_SUCCESS */
2341 
2342 #if defined(MBEDTLS_PLATFORM_STD_EXIT_FAILURE)
2343     if( strcmp( "MBEDTLS_PLATFORM_STD_EXIT_FAILURE", config ) == 0 )
2344     {
2345         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_EXIT_FAILURE );
2346         return( 0 );
2347     }
2348 #endif /* MBEDTLS_PLATFORM_STD_EXIT_FAILURE */
2349 
2350 #if defined(MBEDTLS_PLATFORM_STD_NV_SEED_READ)
2351     if( strcmp( "MBEDTLS_PLATFORM_STD_NV_SEED_READ", config ) == 0 )
2352     {
2353         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_NV_SEED_READ );
2354         return( 0 );
2355     }
2356 #endif /* MBEDTLS_PLATFORM_STD_NV_SEED_READ */
2357 
2358 #if defined(MBEDTLS_PLATFORM_STD_NV_SEED_WRITE)
2359     if( strcmp( "MBEDTLS_PLATFORM_STD_NV_SEED_WRITE", config ) == 0 )
2360     {
2361         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_NV_SEED_WRITE );
2362         return( 0 );
2363     }
2364 #endif /* MBEDTLS_PLATFORM_STD_NV_SEED_WRITE */
2365 
2366 #if defined(MBEDTLS_PLATFORM_STD_NV_SEED_FILE)
2367     if( strcmp( "MBEDTLS_PLATFORM_STD_NV_SEED_FILE", config ) == 0 )
2368     {
2369         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_STD_NV_SEED_FILE );
2370         return( 0 );
2371     }
2372 #endif /* MBEDTLS_PLATFORM_STD_NV_SEED_FILE */
2373 
2374 #if defined(MBEDTLS_PLATFORM_CALLOC_MACRO)
2375     if( strcmp( "MBEDTLS_PLATFORM_CALLOC_MACRO", config ) == 0 )
2376     {
2377         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_CALLOC_MACRO );
2378         return( 0 );
2379     }
2380 #endif /* MBEDTLS_PLATFORM_CALLOC_MACRO */
2381 
2382 #if defined(MBEDTLS_PLATFORM_FREE_MACRO)
2383     if( strcmp( "MBEDTLS_PLATFORM_FREE_MACRO", config ) == 0 )
2384     {
2385         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_FREE_MACRO );
2386         return( 0 );
2387     }
2388 #endif /* MBEDTLS_PLATFORM_FREE_MACRO */
2389 
2390 #if defined(MBEDTLS_PLATFORM_EXIT_MACRO)
2391     if( strcmp( "MBEDTLS_PLATFORM_EXIT_MACRO", config ) == 0 )
2392     {
2393         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_EXIT_MACRO );
2394         return( 0 );
2395     }
2396 #endif /* MBEDTLS_PLATFORM_EXIT_MACRO */
2397 
2398 #if defined(MBEDTLS_PLATFORM_TIME_MACRO)
2399     if( strcmp( "MBEDTLS_PLATFORM_TIME_MACRO", config ) == 0 )
2400     {
2401         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_TIME_MACRO );
2402         return( 0 );
2403     }
2404 #endif /* MBEDTLS_PLATFORM_TIME_MACRO */
2405 
2406 #if defined(MBEDTLS_PLATFORM_TIME_TYPE_MACRO)
2407     if( strcmp( "MBEDTLS_PLATFORM_TIME_TYPE_MACRO", config ) == 0 )
2408     {
2409         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_TIME_TYPE_MACRO );
2410         return( 0 );
2411     }
2412 #endif /* MBEDTLS_PLATFORM_TIME_TYPE_MACRO */
2413 
2414 #if defined(MBEDTLS_PLATFORM_FPRINTF_MACRO)
2415     if( strcmp( "MBEDTLS_PLATFORM_FPRINTF_MACRO", config ) == 0 )
2416     {
2417         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_FPRINTF_MACRO );
2418         return( 0 );
2419     }
2420 #endif /* MBEDTLS_PLATFORM_FPRINTF_MACRO */
2421 
2422 #if defined(MBEDTLS_PLATFORM_PRINTF_MACRO)
2423     if( strcmp( "MBEDTLS_PLATFORM_PRINTF_MACRO", config ) == 0 )
2424     {
2425         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_PRINTF_MACRO );
2426         return( 0 );
2427     }
2428 #endif /* MBEDTLS_PLATFORM_PRINTF_MACRO */
2429 
2430 #if defined(MBEDTLS_PLATFORM_SNPRINTF_MACRO)
2431     if( strcmp( "MBEDTLS_PLATFORM_SNPRINTF_MACRO", config ) == 0 )
2432     {
2433         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_SNPRINTF_MACRO );
2434         return( 0 );
2435     }
2436 #endif /* MBEDTLS_PLATFORM_SNPRINTF_MACRO */
2437 
2438 #if defined(MBEDTLS_PLATFORM_NV_SEED_READ_MACRO)
2439     if( strcmp( "MBEDTLS_PLATFORM_NV_SEED_READ_MACRO", config ) == 0 )
2440     {
2441         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_NV_SEED_READ_MACRO );
2442         return( 0 );
2443     }
2444 #endif /* MBEDTLS_PLATFORM_NV_SEED_READ_MACRO */
2445 
2446 #if defined(MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO)
2447     if( strcmp( "MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO", config ) == 0 )
2448     {
2449         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO );
2450         return( 0 );
2451     }
2452 #endif /* MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO */
2453 
2454 #if defined(MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT)
2455     if( strcmp( "MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT", config ) == 0 )
2456     {
2457         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT );
2458         return( 0 );
2459     }
2460 #endif /* MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT */
2461 
2462 #if defined(MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES)
2463     if( strcmp( "MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES", config ) == 0 )
2464     {
2465         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES );
2466         return( 0 );
2467     }
2468 #endif /* MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES */
2469 
2470 #if defined(MBEDTLS_SSL_MAX_CONTENT_LEN)
2471     if( strcmp( "MBEDTLS_SSL_MAX_CONTENT_LEN", config ) == 0 )
2472     {
2473         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_MAX_CONTENT_LEN );
2474         return( 0 );
2475     }
2476 #endif /* MBEDTLS_SSL_MAX_CONTENT_LEN */
2477 
2478 #if defined(MBEDTLS_SSL_IN_CONTENT_LEN)
2479     if( strcmp( "MBEDTLS_SSL_IN_CONTENT_LEN", config ) == 0 )
2480     {
2481         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_IN_CONTENT_LEN );
2482         return( 0 );
2483     }
2484 #endif /* MBEDTLS_SSL_IN_CONTENT_LEN */
2485 
2486 #if defined(MBEDTLS_SSL_OUT_CONTENT_LEN)
2487     if( strcmp( "MBEDTLS_SSL_OUT_CONTENT_LEN", config ) == 0 )
2488     {
2489         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_OUT_CONTENT_LEN );
2490         return( 0 );
2491     }
2492 #endif /* MBEDTLS_SSL_OUT_CONTENT_LEN */
2493 
2494 #if defined(MBEDTLS_SSL_DTLS_MAX_BUFFERING)
2495     if( strcmp( "MBEDTLS_SSL_DTLS_MAX_BUFFERING", config ) == 0 )
2496     {
2497         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_DTLS_MAX_BUFFERING );
2498         return( 0 );
2499     }
2500 #endif /* MBEDTLS_SSL_DTLS_MAX_BUFFERING */
2501 
2502 #if defined(MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME)
2503     if( strcmp( "MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME", config ) == 0 )
2504     {
2505         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME );
2506         return( 0 );
2507     }
2508 #endif /* MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME */
2509 
2510 #if defined(MBEDTLS_PSK_MAX_LEN)
2511     if( strcmp( "MBEDTLS_PSK_MAX_LEN", config ) == 0 )
2512     {
2513         MACRO_EXPANSION_TO_STR( MBEDTLS_PSK_MAX_LEN );
2514         return( 0 );
2515     }
2516 #endif /* MBEDTLS_PSK_MAX_LEN */
2517 
2518 #if defined(MBEDTLS_SSL_COOKIE_TIMEOUT)
2519     if( strcmp( "MBEDTLS_SSL_COOKIE_TIMEOUT", config ) == 0 )
2520     {
2521         MACRO_EXPANSION_TO_STR( MBEDTLS_SSL_COOKIE_TIMEOUT );
2522         return( 0 );
2523     }
2524 #endif /* MBEDTLS_SSL_COOKIE_TIMEOUT */
2525 
2526 #if defined(MBEDTLS_X509_MAX_INTERMEDIATE_CA)
2527     if( strcmp( "MBEDTLS_X509_MAX_INTERMEDIATE_CA", config ) == 0 )
2528     {
2529         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_MAX_INTERMEDIATE_CA );
2530         return( 0 );
2531     }
2532 #endif /* MBEDTLS_X509_MAX_INTERMEDIATE_CA */
2533 
2534 #if defined(MBEDTLS_X509_MAX_FILE_PATH_LEN)
2535     if( strcmp( "MBEDTLS_X509_MAX_FILE_PATH_LEN", config ) == 0 )
2536     {
2537         MACRO_EXPANSION_TO_STR( MBEDTLS_X509_MAX_FILE_PATH_LEN );
2538         return( 0 );
2539     }
2540 #endif /* MBEDTLS_X509_MAX_FILE_PATH_LEN */
2541 
2542 #if defined(MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES)
2543     if( strcmp( "MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES", config ) == 0 )
2544     {
2545         MACRO_EXPANSION_TO_STR( MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES );
2546         return( 0 );
2547     }
2548 #endif /* MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_CERTIFICATES */
2549 
2550 #if defined(MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE)
2551     if( strcmp( "MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE", config ) == 0 )
2552     {
2553         MACRO_EXPANSION_TO_STR( MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE );
2554         return( 0 );
2555     }
2556 #endif /* MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE */
2557 
2558 #if defined(MBEDTLS_PLATFORM_ZEROIZE_ALT)
2559     if( strcmp( "MBEDTLS_PLATFORM_ZEROIZE_ALT", config ) == 0 )
2560     {
2561         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_ZEROIZE_ALT );
2562         return( 0 );
2563     }
2564 #endif /* MBEDTLS_PLATFORM_ZEROIZE_ALT */
2565 
2566 #if defined(MBEDTLS_PLATFORM_GMTIME_R_ALT)
2567     if( strcmp( "MBEDTLS_PLATFORM_GMTIME_R_ALT", config ) == 0 )
2568     {
2569         MACRO_EXPANSION_TO_STR( MBEDTLS_PLATFORM_GMTIME_R_ALT );
2570         return( 0 );
2571     }
2572 #endif /* MBEDTLS_PLATFORM_GMTIME_R_ALT */
2573 
2574     /* If the symbol is not found, return an error */
2575     return( 1 );
2576 }
2577 
2578 #if defined(_MSC_VER)
2579 #pragma warning(pop)
2580 #endif /* _MSC_VER */
2581