blob: 43f120bf015d10cc4be46b0dc00cc0c51ae8651f [file] [log] [blame]
Gilles Peskinec772b182021-01-12 15:55:10 +01001/*
Bence Szépkútibb0cfeb2021-05-28 09:42:25 +02002 * Query Mbed TLS compile time configurations from mbedtls_config.h
Gilles Peskinec772b182021-01-12 15:55:10 +01003 *
4 * Copyright The Mbed TLS Contributors
Dave Rodgman16799db2023-11-02 19:47:20 +00005 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
Gilles Peskinec772b182021-01-12 15:55:10 +01006 */
7
8#ifndef MBEDTLS_PROGRAMS_TEST_QUERY_CONFIG_H
9#define MBEDTLS_PROGRAMS_TEST_QUERY_CONFIG_H
10
Bence Szépkútic662b362021-05-27 11:25:03 +020011#include "mbedtls/build_info.h"
Gilles Peskinec772b182021-01-12 15:55:10 +010012
13/** Check whether a given configuration symbol is enabled.
14 *
15 * \param config The symbol to query (e.g. "MBEDTLS_RSA_C").
16 * \return \c 0 if the symbol was defined at compile time
Bence Szépkútibb0cfeb2021-05-28 09:42:25 +020017 * (in MBEDTLS_CONFIG_FILE or mbedtls_config.h),
Gilles Peskinec772b182021-01-12 15:55:10 +010018 * \c 1 otherwise.
19 *
20 * \note This function is defined in `programs/test/query_config.c`
21 * which is automatically generated by
22 * `scripts/generate_query_config.pl`.
23 */
Gilles Peskine449bd832023-01-11 14:50:10 +010024int query_config(const char *config);
Gilles Peskinec772b182021-01-12 15:55:10 +010025
Jerry Yu84e63a72021-12-06 13:40:37 +080026/** List all enabled configuration symbols
27 *
28 * \note This function is defined in `programs/test/query_config.c`
29 * which is automatically generated by
30 * `scripts/generate_query_config.pl`.
31 */
Gilles Peskine449bd832023-01-11 14:50:10 +010032void list_config(void);
Jerry Yu84e63a72021-12-06 13:40:37 +080033
Gilles Peskinec772b182021-01-12 15:55:10 +010034#endif /* MBEDTLS_PROGRAMS_TEST_QUERY_CONFIG_H */