diff options
Diffstat (limited to 'scripts/data_files/version_features.fmt')
-rw-r--r-- | scripts/data_files/version_features.fmt | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/scripts/data_files/version_features.fmt b/scripts/data_files/version_features.fmt new file mode 100644 index 00000000000..d820d4d1a72 --- /dev/null +++ b/scripts/data_files/version_features.fmt @@ -0,0 +1,50 @@ +/* + * Version feature information + * + * Copyright The Mbed TLS Contributors + * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later + */ + +#include "common.h" + +#if defined(MBEDTLS_VERSION_C) + +#include "mbedtls/version.h" + +#include <string.h> + +static const char * const features[] = { +#if defined(MBEDTLS_VERSION_FEATURES) + FEATURE_DEFINES +#endif /* MBEDTLS_VERSION_FEATURES */ + NULL +}; + +int mbedtls_version_check_feature(const char *feature) +{ + const char * const *idx = features; + + if (*idx == NULL) { + return -2; + } + + if (feature == NULL) { + return -1; + } + + if (strncmp(feature, "MBEDTLS_", 8)) { + return -1; + } + + feature += 8; + + while (*idx != NULL) { + if (!strcmp(*idx, feature)) { + return 0; + } + idx++; + } + return -1; +} + +#endif /* MBEDTLS_VERSION_C */ |