summaryrefslogtreecommitdiff
path: root/scripts/data_files/version_features.fmt
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2024-10-08 13:56:50 -0600
committerTom Rini <trini@konsulko.com>2024-10-08 13:56:50 -0600
commit0344c602eadc0802776b65ff90f0a02c856cf53c (patch)
tree236a705740939b84ff37d68ae650061dd14c3449 /scripts/data_files/version_features.fmt
Squashed 'lib/mbedtls/external/mbedtls/' content from commit 2ca6c285a0dd
git-subtree-dir: lib/mbedtls/external/mbedtls git-subtree-split: 2ca6c285a0dd3f33982dd57299012dacab1ff206
Diffstat (limited to 'scripts/data_files/version_features.fmt')
-rw-r--r--scripts/data_files/version_features.fmt50
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 */