aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/libstb/crypto/mbedtls/scripts
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/skiboot/libstb/crypto/mbedtls/scripts
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/skiboot/libstb/crypto/mbedtls/scripts')
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/abi_check.py406
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/apidoc_full.sh25
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/bump_version.sh143
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/config.pl299
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/error.fmt123
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/query_config.fmt139
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/rename-1.3-2.0.txt2174
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/version_features.fmt60
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-app-template.vcxproj173
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-main-template.vcxproj157
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-sln-template.sln28
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-app-template.dsp101
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-main-template.dsp94
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-workspace-template.dsw18
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/ecc-heap.sh74
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/find-mem-leak.cocci20
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/footprint.sh109
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/generate_errors.pl207
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/generate_features.pl74
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/generate_query_config.pl75
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/generate_visualc_files.pl210
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/massif_max.pl33
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/memory.sh126
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/output_env.sh121
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/rename.pl122
-rw-r--r--roms/skiboot/libstb/crypto/mbedtls/scripts/rm-calloc-cast.cocci7
-rwxr-xr-xroms/skiboot/libstb/crypto/mbedtls/scripts/tmp_ignore_makefiles.sh44
27 files changed, 5162 insertions, 0 deletions
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/abi_check.py b/roms/skiboot/libstb/crypto/mbedtls/scripts/abi_check.py
new file mode 100755
index 000000000..502c7ae02
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/abi_check.py
@@ -0,0 +1,406 @@
+#!/usr/bin/env python3
+"""
+This file is part of Mbed TLS (https://tls.mbed.org)
+
+Copyright (c) 2018, Arm Limited, All Rights Reserved
+
+Purpose
+
+This script is a small wrapper around the abi-compliance-checker and
+abi-dumper tools, applying them to compare the ABI and API of the library
+files from two different Git revisions within an Mbed TLS repository.
+The results of the comparison are either formatted as HTML and stored at
+a configurable location, or are given as a brief list of problems.
+Returns 0 on success, 1 on ABI/API non-compliance, and 2 if there is an error
+while running the script. Note: must be run from Mbed TLS root.
+"""
+
+import os
+import sys
+import traceback
+import shutil
+import subprocess
+import argparse
+import logging
+import tempfile
+import fnmatch
+from types import SimpleNamespace
+
+import xml.etree.ElementTree as ET
+
+
+class AbiChecker(object):
+ """API and ABI checker."""
+
+ def __init__(self, old_version, new_version, configuration):
+ """Instantiate the API/ABI checker.
+
+ old_version: RepoVersion containing details to compare against
+ new_version: RepoVersion containing details to check
+ configuration.report_dir: directory for output files
+ configuration.keep_all_reports: if false, delete old reports
+ configuration.brief: if true, output shorter report to stdout
+ configuration.skip_file: path to file containing symbols and types to skip
+ """
+ self.repo_path = "."
+ self.log = None
+ self.verbose = configuration.verbose
+ self._setup_logger()
+ self.report_dir = os.path.abspath(configuration.report_dir)
+ self.keep_all_reports = configuration.keep_all_reports
+ self.can_remove_report_dir = not (os.path.exists(self.report_dir) or
+ self.keep_all_reports)
+ self.old_version = old_version
+ self.new_version = new_version
+ self.skip_file = configuration.skip_file
+ self.brief = configuration.brief
+ self.git_command = "git"
+ self.make_command = "make"
+
+ @staticmethod
+ def check_repo_path():
+ current_dir = os.path.realpath('.')
+ root_dir = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
+ if current_dir != root_dir:
+ raise Exception("Must be run from Mbed TLS root")
+
+ def _setup_logger(self):
+ self.log = logging.getLogger()
+ if self.verbose:
+ self.log.setLevel(logging.DEBUG)
+ else:
+ self.log.setLevel(logging.INFO)
+ self.log.addHandler(logging.StreamHandler())
+
+ @staticmethod
+ def check_abi_tools_are_installed():
+ for command in ["abi-dumper", "abi-compliance-checker"]:
+ if not shutil.which(command):
+ raise Exception("{} not installed, aborting".format(command))
+
+ def _get_clean_worktree_for_git_revision(self, version):
+ """Make a separate worktree with version.revision checked out.
+ Do not modify the current worktree."""
+ git_worktree_path = tempfile.mkdtemp()
+ if version.repository:
+ self.log.debug(
+ "Checking out git worktree for revision {} from {}".format(
+ version.revision, version.repository
+ )
+ )
+ fetch_output = subprocess.check_output(
+ [self.git_command, "fetch",
+ version.repository, version.revision],
+ cwd=self.repo_path,
+ stderr=subprocess.STDOUT
+ )
+ self.log.debug(fetch_output.decode("utf-8"))
+ worktree_rev = "FETCH_HEAD"
+ else:
+ self.log.debug("Checking out git worktree for revision {}".format(
+ version.revision
+ ))
+ worktree_rev = version.revision
+ worktree_output = subprocess.check_output(
+ [self.git_command, "worktree", "add", "--detach",
+ git_worktree_path, worktree_rev],
+ cwd=self.repo_path,
+ stderr=subprocess.STDOUT
+ )
+ self.log.debug(worktree_output.decode("utf-8"))
+ return git_worktree_path
+
+ def _update_git_submodules(self, git_worktree_path, version):
+ """If the crypto submodule is present, initialize it.
+ if version.crypto_revision exists, update it to that revision,
+ otherwise update it to the default revision"""
+ update_output = subprocess.check_output(
+ [self.git_command, "submodule", "update", "--init", '--recursive'],
+ cwd=git_worktree_path,
+ stderr=subprocess.STDOUT
+ )
+ self.log.debug(update_output.decode("utf-8"))
+ if not (os.path.exists(os.path.join(git_worktree_path, "crypto"))
+ and version.crypto_revision):
+ return
+
+ if version.crypto_repository:
+ fetch_output = subprocess.check_output(
+ [self.git_command, "fetch", version.crypto_repository,
+ version.crypto_revision],
+ cwd=os.path.join(git_worktree_path, "crypto"),
+ stderr=subprocess.STDOUT
+ )
+ self.log.debug(fetch_output.decode("utf-8"))
+ crypto_rev = "FETCH_HEAD"
+ else:
+ crypto_rev = version.crypto_revision
+
+ checkout_output = subprocess.check_output(
+ [self.git_command, "checkout", crypto_rev],
+ cwd=os.path.join(git_worktree_path, "crypto"),
+ stderr=subprocess.STDOUT
+ )
+ self.log.debug(checkout_output.decode("utf-8"))
+
+ def _build_shared_libraries(self, git_worktree_path, version):
+ """Build the shared libraries in the specified worktree."""
+ my_environment = os.environ.copy()
+ my_environment["CFLAGS"] = "-g -Og"
+ my_environment["SHARED"] = "1"
+ if os.path.exists(os.path.join(git_worktree_path, "crypto")):
+ my_environment["USE_CRYPTO_SUBMODULE"] = "1"
+ make_output = subprocess.check_output(
+ [self.make_command, "lib"],
+ env=my_environment,
+ cwd=git_worktree_path,
+ stderr=subprocess.STDOUT
+ )
+ self.log.debug(make_output.decode("utf-8"))
+ for root, _dirs, files in os.walk(git_worktree_path):
+ for file in fnmatch.filter(files, "*.so"):
+ version.modules[os.path.splitext(file)[0]] = (
+ os.path.join(root, file)
+ )
+
+ def _get_abi_dumps_from_shared_libraries(self, version):
+ """Generate the ABI dumps for the specified git revision.
+ The shared libraries must have been built and the module paths
+ present in version.modules."""
+ for mbed_module, module_path in version.modules.items():
+ output_path = os.path.join(
+ self.report_dir, "{}-{}-{}.dump".format(
+ mbed_module, version.revision, version.version
+ )
+ )
+ abi_dump_command = [
+ "abi-dumper",
+ module_path,
+ "-o", output_path,
+ "-lver", version.revision
+ ]
+ abi_dump_output = subprocess.check_output(
+ abi_dump_command,
+ stderr=subprocess.STDOUT
+ )
+ self.log.debug(abi_dump_output.decode("utf-8"))
+ version.abi_dumps[mbed_module] = output_path
+
+ def _cleanup_worktree(self, git_worktree_path):
+ """Remove the specified git worktree."""
+ shutil.rmtree(git_worktree_path)
+ worktree_output = subprocess.check_output(
+ [self.git_command, "worktree", "prune"],
+ cwd=self.repo_path,
+ stderr=subprocess.STDOUT
+ )
+ self.log.debug(worktree_output.decode("utf-8"))
+
+ def _get_abi_dump_for_ref(self, version):
+ """Generate the ABI dumps for the specified git revision."""
+ git_worktree_path = self._get_clean_worktree_for_git_revision(version)
+ self._update_git_submodules(git_worktree_path, version)
+ self._build_shared_libraries(git_worktree_path, version)
+ self._get_abi_dumps_from_shared_libraries(version)
+ self._cleanup_worktree(git_worktree_path)
+
+ def _remove_children_with_tag(self, parent, tag):
+ children = parent.getchildren()
+ for child in children:
+ if child.tag == tag:
+ parent.remove(child)
+ else:
+ self._remove_children_with_tag(child, tag)
+
+ def _remove_extra_detail_from_report(self, report_root):
+ for tag in ['test_info', 'test_results', 'problem_summary',
+ 'added_symbols', 'affected']:
+ self._remove_children_with_tag(report_root, tag)
+
+ for report in report_root:
+ for problems in report.getchildren()[:]:
+ if not problems.getchildren():
+ report.remove(problems)
+
+ def get_abi_compatibility_report(self):
+ """Generate a report of the differences between the reference ABI
+ and the new ABI. ABI dumps from self.old_version and self.new_version
+ must be available."""
+ compatibility_report = ""
+ compliance_return_code = 0
+ shared_modules = list(set(self.old_version.modules.keys()) &
+ set(self.new_version.modules.keys()))
+ for mbed_module in shared_modules:
+ output_path = os.path.join(
+ self.report_dir, "{}-{}-{}.html".format(
+ mbed_module, self.old_version.revision,
+ self.new_version.revision
+ )
+ )
+ abi_compliance_command = [
+ "abi-compliance-checker",
+ "-l", mbed_module,
+ "-old", self.old_version.abi_dumps[mbed_module],
+ "-new", self.new_version.abi_dumps[mbed_module],
+ "-strict",
+ "-report-path", output_path,
+ ]
+ if self.skip_file:
+ abi_compliance_command += ["-skip-symbols", self.skip_file,
+ "-skip-types", self.skip_file]
+ if self.brief:
+ abi_compliance_command += ["-report-format", "xml",
+ "-stdout"]
+ try:
+ subprocess.check_output(
+ abi_compliance_command,
+ stderr=subprocess.STDOUT
+ )
+ except subprocess.CalledProcessError as err:
+ if err.returncode == 1:
+ compliance_return_code = 1
+ if self.brief:
+ self.log.info(
+ "Compatibility issues found for {}".format(mbed_module)
+ )
+ report_root = ET.fromstring(err.output.decode("utf-8"))
+ self._remove_extra_detail_from_report(report_root)
+ self.log.info(ET.tostring(report_root).decode("utf-8"))
+ else:
+ self.can_remove_report_dir = False
+ compatibility_report += (
+ "Compatibility issues found for {}, "
+ "for details see {}\n".format(mbed_module, output_path)
+ )
+ else:
+ raise err
+ else:
+ compatibility_report += (
+ "No compatibility issues for {}\n".format(mbed_module)
+ )
+ if not (self.keep_all_reports or self.brief):
+ os.remove(output_path)
+ for version in [self.old_version, self.new_version]:
+ for mbed_module, mbed_module_dump in version.abi_dumps.items():
+ os.remove(mbed_module_dump)
+ if self.can_remove_report_dir:
+ os.rmdir(self.report_dir)
+ self.log.info(compatibility_report)
+ return compliance_return_code
+
+ def check_for_abi_changes(self):
+ """Generate a report of ABI differences
+ between self.old_rev and self.new_rev."""
+ self.check_repo_path()
+ self.check_abi_tools_are_installed()
+ self._get_abi_dump_for_ref(self.old_version)
+ self._get_abi_dump_for_ref(self.new_version)
+ return self.get_abi_compatibility_report()
+
+
+def run_main():
+ try:
+ parser = argparse.ArgumentParser(
+ description=(
+ """This script is a small wrapper around the
+ abi-compliance-checker and abi-dumper tools, applying them
+ to compare the ABI and API of the library files from two
+ different Git revisions within an Mbed TLS repository.
+ The results of the comparison are either formatted as HTML and
+ stored at a configurable location, or are given as a brief list
+ of problems. Returns 0 on success, 1 on ABI/API non-compliance,
+ and 2 if there is an error while running the script.
+ Note: must be run from Mbed TLS root."""
+ )
+ )
+ parser.add_argument(
+ "-v", "--verbose", action="store_true",
+ help="set verbosity level",
+ )
+ parser.add_argument(
+ "-r", "--report-dir", type=str, default="reports",
+ help="directory where reports are stored, default is reports",
+ )
+ parser.add_argument(
+ "-k", "--keep-all-reports", action="store_true",
+ help="keep all reports, even if there are no compatibility issues",
+ )
+ parser.add_argument(
+ "-o", "--old-rev", type=str, help="revision for old version.",
+ required=True,
+ )
+ parser.add_argument(
+ "-or", "--old-repo", type=str, help="repository for old version."
+ )
+ parser.add_argument(
+ "-oc", "--old-crypto-rev", type=str,
+ help="revision for old crypto submodule."
+ )
+ parser.add_argument(
+ "-ocr", "--old-crypto-repo", type=str,
+ help="repository for old crypto submodule."
+ )
+ parser.add_argument(
+ "-n", "--new-rev", type=str, help="revision for new version",
+ required=True,
+ )
+ parser.add_argument(
+ "-nr", "--new-repo", type=str, help="repository for new version."
+ )
+ parser.add_argument(
+ "-nc", "--new-crypto-rev", type=str,
+ help="revision for new crypto version"
+ )
+ parser.add_argument(
+ "-ncr", "--new-crypto-repo", type=str,
+ help="repository for new crypto submodule."
+ )
+ parser.add_argument(
+ "-s", "--skip-file", type=str,
+ help="path to file containing symbols and types to skip"
+ )
+ parser.add_argument(
+ "-b", "--brief", action="store_true",
+ help="output only the list of issues to stdout, instead of a full report",
+ )
+ abi_args = parser.parse_args()
+ if os.path.isfile(abi_args.report_dir):
+ print("Error: {} is not a directory".format(abi_args.report_dir))
+ parser.exit()
+ old_version = SimpleNamespace(
+ version="old",
+ repository=abi_args.old_repo,
+ revision=abi_args.old_rev,
+ crypto_repository=abi_args.old_crypto_repo,
+ crypto_revision=abi_args.old_crypto_rev,
+ abi_dumps={},
+ modules={}
+ )
+ new_version = SimpleNamespace(
+ version="new",
+ repository=abi_args.new_repo,
+ revision=abi_args.new_rev,
+ crypto_repository=abi_args.new_crypto_repo,
+ crypto_revision=abi_args.new_crypto_rev,
+ abi_dumps={},
+ modules={}
+ )
+ configuration = SimpleNamespace(
+ verbose=abi_args.verbose,
+ report_dir=abi_args.report_dir,
+ keep_all_reports=abi_args.keep_all_reports,
+ brief=abi_args.brief,
+ skip_file=abi_args.skip_file
+ )
+ abi_check = AbiChecker(old_version, new_version, configuration)
+ return_code = abi_check.check_for_abi_changes()
+ sys.exit(return_code)
+ except Exception: # pylint: disable=broad-except
+ # Print the backtrace and exit explicitly so as to exit with
+ # status 2, not 1.
+ traceback.print_exc()
+ sys.exit(2)
+
+
+if __name__ == "__main__":
+ run_main()
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/apidoc_full.sh b/roms/skiboot/libstb/crypto/mbedtls/scripts/apidoc_full.sh
new file mode 100755
index 000000000..bebab103e
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/apidoc_full.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# Generate doxygen documentation with a full config.h (this ensures that every
+# available flag is documented, and avoids warnings about documentation
+# without a corresponding #define).
+#
+# /!\ This must not be a Makefile target, as it would create a race condition
+# when multiple targets are invoked in the same parallel build.
+
+set -eu
+
+CONFIG_H='include/mbedtls/config.h'
+
+if [ -r $CONFIG_H ]; then :; else
+ echo "$CONFIG_H not found" >&2
+ exit 1
+fi
+
+CONFIG_BAK=${CONFIG_H}.bak
+cp -p $CONFIG_H $CONFIG_BAK
+
+scripts/config.pl realfull
+make apidoc
+
+mv $CONFIG_BAK $CONFIG_H
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/bump_version.sh b/roms/skiboot/libstb/crypto/mbedtls/scripts/bump_version.sh
new file mode 100755
index 000000000..c39a86a5e
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/bump_version.sh
@@ -0,0 +1,143 @@
+#!/bin/bash
+#
+# This file is part of mbed TLS (https://tls.mbed.org)
+#
+# Copyright (c) 2012-2016, ARM Limited, All Rights Reserved
+#
+# Purpose
+#
+# Sets the version numbers in the source code to those given.
+#
+# Usage: bump_version.sh [ --version <version> ] [ --so-crypto <version>]
+# [ --so-x509 <version> ] [ --so-tls <version> ]
+# [ -v | --verbose ] [ -h | --help ]
+#
+
+VERSION=""
+SOVERSION=""
+
+# Parse arguments
+#
+until [ -z "$1" ]
+do
+ case "$1" in
+ --version)
+ # Version to use
+ shift
+ VERSION=$1
+ ;;
+ --so-crypto)
+ shift
+ SO_CRYPTO=$1
+ ;;
+ --so-x509)
+ shift
+ SO_X509=$1
+ ;;
+ --so-tls)
+ shift
+ SO_TLS=$1
+ ;;
+ -v|--verbose)
+ # Be verbose
+ VERBOSE="1"
+ ;;
+ -h|--help)
+ # print help
+ echo "Usage: $0"
+ echo -e " -h|--help\t\tPrint this help."
+ echo -e " --version <version>\tVersion to bump to."
+ echo -e " --so-crypto <version>\tSO version to bump libmbedcrypto to."
+ echo -e " --so-x509 <version>\tSO version to bump libmbedx509 to."
+ echo -e " --so-tls <version>\tSO version to bump libmbedtls to."
+ echo -e " -v|--verbose\t\tVerbose."
+ exit 1
+ ;;
+ *)
+ # print error
+ echo "Unknown argument: '$1'"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+if [ "X" = "X$VERSION" ];
+then
+ echo "No version specified. Unable to continue."
+ exit 1
+fi
+
+[ $VERBOSE ] && echo "Bumping VERSION in library/CMakeLists.txt"
+sed -e "s/ VERSION [0-9.]\{1,\}/ VERSION $VERSION/g" < library/CMakeLists.txt > tmp
+mv tmp library/CMakeLists.txt
+
+if [ "X" != "X$SO_CRYPTO" ];
+then
+ [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedcrypto in library/CMakeLists.txt"
+ sed -e "/mbedcrypto/ s/ SOVERSION [0-9]\{1,\}/ SOVERSION $SO_CRYPTO/g" < library/CMakeLists.txt > tmp
+ mv tmp library/CMakeLists.txt
+
+ [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedcrypto in library/Makefile"
+ sed -e "s/SOEXT_CRYPTO=so.[0-9]\{1,\}/SOEXT_CRYPTO=so.$SO_CRYPTO/g" < library/Makefile > tmp
+ mv tmp library/Makefile
+fi
+
+if [ "X" != "X$SO_X509" ];
+then
+ [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedx509 in library/CMakeLists.txt"
+ sed -e "/mbedx509/ s/ SOVERSION [0-9]\{1,\}/ SOVERSION $SO_X509/g" < library/CMakeLists.txt > tmp
+ mv tmp library/CMakeLists.txt
+
+ [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedx509 in library/Makefile"
+ sed -e "s/SOEXT_X509=so.[0-9]\{1,\}/SOEXT_X509=so.$SO_X509/g" < library/Makefile > tmp
+ mv tmp library/Makefile
+fi
+
+if [ "X" != "X$SO_TLS" ];
+then
+ [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedtls in library/CMakeLists.txt"
+ sed -e "/mbedtls/ s/ SOVERSION [0-9]\{1,\}/ SOVERSION $SO_TLS/g" < library/CMakeLists.txt > tmp
+ mv tmp library/CMakeLists.txt
+
+ [ $VERBOSE ] && echo "Bumping SOVERSION for libmbedtls in library/Makefile"
+ sed -e "s/SOEXT_TLS=so.[0-9]\{1,\}/SOEXT_TLS=so.$SO_TLS/g" < library/Makefile > tmp
+ mv tmp library/Makefile
+fi
+
+[ $VERBOSE ] && echo "Bumping VERSION in include/mbedtls/version.h"
+read MAJOR MINOR PATCH <<<$(IFS="."; echo $VERSION)
+VERSION_NR="$( printf "0x%02X%02X%02X00" $MAJOR $MINOR $PATCH )"
+cat include/mbedtls/version.h | \
+ sed -e "s/_VERSION_MAJOR .\{1,\}/_VERSION_MAJOR $MAJOR/" | \
+ sed -e "s/_VERSION_MINOR .\{1,\}/_VERSION_MINOR $MINOR/" | \
+ sed -e "s/_VERSION_PATCH .\{1,\}/_VERSION_PATCH $PATCH/" | \
+ sed -e "s/_VERSION_NUMBER .\{1,\}/_VERSION_NUMBER $VERSION_NR/" | \
+ sed -e "s/_VERSION_STRING .\{1,\}/_VERSION_STRING \"$VERSION\"/" | \
+ sed -e "s/_VERSION_STRING_FULL .\{1,\}/_VERSION_STRING_FULL \"mbed TLS $VERSION\"/" \
+ > tmp
+mv tmp include/mbedtls/version.h
+
+[ $VERBOSE ] && echo "Bumping version in tests/suites/test_suite_version.data"
+sed -e "s/version:\".\{1,\}/version:\"$VERSION\"/g" < tests/suites/test_suite_version.data > tmp
+mv tmp tests/suites/test_suite_version.data
+
+[ $VERBOSE ] && echo "Bumping PROJECT_NAME in doxygen/mbedtls.doxyfile and doxygen/input/doc_mainpage.h"
+for i in doxygen/mbedtls.doxyfile doxygen/input/doc_mainpage.h;
+do
+ sed -e "s/mbed TLS v[0-9\.]\{1,\}/mbed TLS v$VERSION/g" < $i > tmp
+ mv tmp $i
+done
+
+[ $VERBOSE ] && echo "Re-generating library/error.c"
+scripts/generate_errors.pl
+
+[ $VERBOSE ] && echo "Re-generating programs/ssl/query_config.c"
+scripts/generate_query_config.pl
+
+[ $VERBOSE ] && echo "Re-generating library/version_features.c"
+scripts/generate_features.pl
+
+[ $VERBOSE ] && echo "Re-generating visualc files"
+scripts/generate_visualc_files.pl
+
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/config.pl b/roms/skiboot/libstb/crypto/mbedtls/scripts/config.pl
new file mode 100755
index 000000000..42ec6f81b
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/config.pl
@@ -0,0 +1,299 @@
+#!/usr/bin/env perl
+#
+# This file is part of mbed TLS (https://tls.mbed.org)
+#
+# Copyright (c) 2014-2016, ARM Limited, All Rights Reserved
+#
+# Purpose
+#
+# Comments and uncomments #define lines in the given header file and optionally
+# sets their value or can get the value. This is to provide scripting control of
+# what preprocessor symbols, and therefore what build time configuration flags
+# are set in the 'config.h' file.
+#
+# Usage: config.pl [-f <file> | --file <file>] [-o | --force]
+# [set <symbol> <value> | unset <symbol> | get <symbol> |
+# full | realfull]
+#
+# Full usage description provided below.
+#
+# The following options are disabled instead of enabled with "full".
+#
+# MBEDTLS_TEST_NULL_ENTROPY
+# MBEDTLS_DEPRECATED_REMOVED
+# MBEDTLS_HAVE_SSE2
+# MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
+# MBEDTLS_ECP_DP_M221_ENABLED
+# MBEDTLS_ECP_DP_M383_ENABLED
+# MBEDTLS_ECP_DP_M511_ENABLED
+# MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
+# MBEDTLS_NO_PLATFORM_ENTROPY
+# MBEDTLS_REMOVE_ARC4_CIPHERSUITES
+# MBEDTLS_REMOVE_3DES_CIPHERSUITES
+# MBEDTLS_SSL_HW_RECORD_ACCEL
+# MBEDTLS_RSA_NO_CRT
+# MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
+# MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
+# - this could be enabled if the respective tests were adapted
+# MBEDTLS_ZLIB_SUPPORT
+# MBEDTLS_PKCS11_C
+# and any symbol beginning _ALT
+#
+
+use warnings;
+use strict;
+
+my $config_file = "include/mbedtls/config.h";
+my $usage = <<EOU;
+$0 [-f <file> | --file <file>] [-o | --force]
+ [set <symbol> <value> | unset <symbol> | get <symbol> |
+ full | realfull | baremetal]
+
+Commands
+ set <symbol> [<value>] - Uncomments or adds a #define for the <symbol> to
+ the configuration file, and optionally making it
+ of <value>.
+ If the symbol isn't present in the file an error
+ is returned.
+ unset <symbol> - Comments out the #define for the given symbol if
+ present in the configuration file.
+ get <symbol> - Finds the #define for the given symbol, returning
+ an exitcode of 0 if the symbol is found, and 1 if
+ not. The value of the symbol is output if one is
+ specified in the configuration file.
+ full - Uncomments all #define's in the configuration file
+ excluding some reserved symbols, until the
+ 'Module configuration options' section
+ realfull - Uncomments all #define's with no exclusions
+ baremetal - Sets full configuration suitable for baremetal build.
+
+Options
+ -f | --file <filename> - The file or file path for the configuration file
+ to edit. When omitted, the following default is
+ used:
+ $config_file
+ -o | --force - If the symbol isn't present in the configuration
+ file when setting its value, a #define is
+ appended to the end of the file.
+
+EOU
+
+my @excluded = qw(
+MBEDTLS_TEST_NULL_ENTROPY
+MBEDTLS_DEPRECATED_REMOVED
+MBEDTLS_HAVE_SSE2
+MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
+MBEDTLS_ECP_DP_M221_ENABLED
+MBEDTLS_ECP_DP_M383_ENABLED
+MBEDTLS_ECP_DP_M511_ENABLED
+MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
+MBEDTLS_NO_PLATFORM_ENTROPY
+MBEDTLS_RSA_NO_CRT
+MBEDTLS_REMOVE_ARC4_CIPHERSUITES
+MBEDTLS_REMOVE_3DES_CIPHERSUITES
+MBEDTLS_SSL_HW_RECORD_ACCEL
+MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
+MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
+MBEDTLS_ZLIB_SUPPORT
+MBEDTLS_PKCS11_C
+MBEDTLS_NO_UDBL_DIVISION
+MBEDTLS_NO_64BIT_MULTIPLICATION
+_ALT\s*$
+);
+
+# Things that should be disabled in "baremetal"
+my @excluded_baremetal = qw(
+MBEDTLS_NET_C
+MBEDTLS_TIMING_C
+MBEDTLS_FS_IO
+MBEDTLS_ENTROPY_NV_SEED
+MBEDTLS_HAVE_TIME
+MBEDTLS_HAVE_TIME_DATE
+MBEDTLS_DEPRECATED_WARNING
+MBEDTLS_HAVEGE_C
+MBEDTLS_THREADING_C
+MBEDTLS_THREADING_PTHREAD
+MBEDTLS_MEMORY_BACKTRACE
+MBEDTLS_MEMORY_BUFFER_ALLOC_C
+MBEDTLS_PLATFORM_TIME_ALT
+MBEDTLS_PLATFORM_FPRINTF_ALT
+);
+
+# Things that should be enabled in "full" even if they match @excluded
+my @non_excluded = qw(
+PLATFORM_[A-Z0-9]+_ALT
+);
+
+# Things that should be enabled in "baremetal"
+my @non_excluded_baremetal = qw(
+MBEDTLS_NO_PLATFORM_ENTROPY
+);
+
+# Process the command line arguments
+
+my $force_option = 0;
+
+my ($arg, $name, $value, $action);
+
+while ($arg = shift) {
+
+ # Check if the argument is an option
+ if ($arg eq "-f" || $arg eq "--file") {
+ $config_file = shift;
+
+ -f $config_file or die "No such file: $config_file\n";
+
+ }
+ elsif ($arg eq "-o" || $arg eq "--force") {
+ $force_option = 1;
+
+ }
+ else
+ {
+ # ...else assume it's a command
+ $action = $arg;
+
+ if ($action eq "full" || $action eq "realfull" || $action eq "baremetal" ) {
+ # No additional parameters
+ die $usage if @ARGV;
+
+ }
+ elsif ($action eq "unset" || $action eq "get") {
+ die $usage unless @ARGV;
+ $name = shift;
+
+ }
+ elsif ($action eq "set") {
+ die $usage unless @ARGV;
+ $name = shift;
+ $value = shift if @ARGV;
+
+ }
+ else {
+ die "Command '$action' not recognised.\n\n".$usage;
+ }
+ }
+}
+
+# If no command was specified, exit...
+if ( not defined($action) ){ die $usage; }
+
+# Check the config file is present
+if (! -f $config_file) {
+
+ chdir '..' or die;
+
+ # Confirm this is the project root directory and try again
+ if ( !(-d 'scripts' && -d 'include' && -d 'library' && -f $config_file) ) {
+ die "If no file specified, must be run from the project root or scripts directory.\n";
+ }
+}
+
+
+# Now read the file and process the contents
+
+open my $config_read, '<', $config_file or die "read $config_file: $!\n";
+my @config_lines = <$config_read>;
+close $config_read;
+
+# Add required baremetal symbols to the list that is included.
+if ( $action eq "baremetal" ) {
+ @non_excluded = ( @non_excluded, @non_excluded_baremetal );
+}
+
+my ($exclude_re, $no_exclude_re, $exclude_baremetal_re);
+if ($action eq "realfull") {
+ $exclude_re = qr/^$/;
+ $no_exclude_re = qr/./;
+} else {
+ $exclude_re = join '|', @excluded;
+ $no_exclude_re = join '|', @non_excluded;
+}
+if ( $action eq "baremetal" ) {
+ $exclude_baremetal_re = join '|', @excluded_baremetal;
+}
+
+my $config_write = undef;
+if ($action ne "get") {
+ open $config_write, '>', $config_file or die "write $config_file: $!\n";
+}
+
+my $done;
+for my $line (@config_lines) {
+ if ($action eq "full" || $action eq "realfull" || $action eq "baremetal" ) {
+ if ($line =~ /name SECTION: Module configuration options/) {
+ $done = 1;
+ }
+
+ if (!$done && $line =~ m!^//\s?#define! &&
+ ( $line !~ /$exclude_re/ || $line =~ /$no_exclude_re/ ) &&
+ ( $action ne "baremetal" || ( $line !~ /$exclude_baremetal_re/ ) ) ) {
+ $line =~ s!^//\s?!!;
+ }
+ if (!$done && $line =~ m!^\s?#define! &&
+ ! ( ( $line !~ /$exclude_re/ || $line =~ /$no_exclude_re/ ) &&
+ ( $action ne "baremetal" || ( $line !~ /$exclude_baremetal_re/ ) ) ) ) {
+ $line =~ s!^!//!;
+ }
+ } elsif ($action eq "unset") {
+ if (!$done && $line =~ /^\s*#define\s*$name\b/) {
+ $line = '//' . $line;
+ $done = 1;
+ }
+ } elsif (!$done && $action eq "set") {
+ if ($line =~ m!^(?://)?\s*#define\s*$name\b!) {
+ $line = "#define $name";
+ $line .= " $value" if defined $value && $value ne "";
+ $line .= "\n";
+ $done = 1;
+ }
+ } elsif (!$done && $action eq "get") {
+ if ($line =~ /^\s*#define\s*$name(?:\s+(.*?))\s*(?:$|\/\*|\/\/)/) {
+ $value = $1;
+ $done = 1;
+ }
+ }
+
+ if (defined $config_write) {
+ print $config_write $line or die "write $config_file: $!\n";
+ }
+}
+
+# Did the set command work?
+if ($action eq "set" && $force_option && !$done) {
+
+ # If the force option was set, append the symbol to the end of the file
+ my $line = "#define $name";
+ $line .= " $value" if defined $value && $value ne "";
+ $line .= "\n";
+ $done = 1;
+
+ print $config_write $line or die "write $config_file: $!\n";
+}
+
+if (defined $config_write) {
+ close $config_write or die "close $config_file: $!\n";
+}
+
+if ($action eq "get") {
+ if ($done) {
+ if ($value ne '') {
+ print "$value\n";
+ }
+ exit 0;
+ } else {
+ # If the symbol was not found, return an error
+ exit 1;
+ }
+}
+
+if ($action eq "full" && !$done) {
+ die "Configuration section was not found in $config_file\n";
+
+}
+
+if ($action ne "full" && $action ne "unset" && !$done) {
+ die "A #define for the symbol $name was not found in $config_file\n";
+}
+
+__END__
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/error.fmt b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/error.fmt
new file mode 100644
index 000000000..a08742c83
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/error.fmt
@@ -0,0 +1,123 @@
+/*
+ * Error message information
+ *
+ * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * This file is part of mbed TLS (https://tls.mbed.org)
+ */
+
+#if !defined(MBEDTLS_CONFIG_FILE)
+#include "mbedtls/config.h"
+#else
+#include MBEDTLS_CONFIG_FILE
+#endif
+
+#if defined(MBEDTLS_ERROR_C) || defined(MBEDTLS_ERROR_STRERROR_DUMMY)
+#include "mbedtls/error.h"
+#include <string.h>
+#endif
+
+#if defined(MBEDTLS_PLATFORM_C)
+#include "mbedtls/platform.h"
+#else
+#define mbedtls_snprintf snprintf
+#define mbedtls_time_t time_t
+#endif
+
+#if defined(MBEDTLS_ERROR_C)
+
+#include <stdio.h>
+
+HEADER_INCLUDED
+
+void mbedtls_strerror( int ret, char *buf, size_t buflen )
+{
+ size_t len;
+ int use_ret;
+
+ if( buflen == 0 )
+ return;
+
+ memset( buf, 0x00, buflen );
+
+ if( ret < 0 )
+ ret = -ret;
+
+ if( ret & 0xFF80 )
+ {
+ use_ret = ret & 0xFF80;
+
+ // High level error codes
+ //
+ // BEGIN generated code
+HIGH_LEVEL_CODE_CHECKS
+ // END generated code
+
+ if( strlen( buf ) == 0 )
+ mbedtls_snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", use_ret );
+ }
+
+ use_ret = ret & ~0xFF80;
+
+ if( use_ret == 0 )
+ return;
+
+ // If high level code is present, make a concatenation between both
+ // error strings.
+ //
+ len = strlen( buf );
+
+ if( len > 0 )
+ {
+ if( buflen - len < 5 )
+ return;
+
+ mbedtls_snprintf( buf + len, buflen - len, " : " );
+
+ buf += len + 3;
+ buflen -= len + 3;
+ }
+
+ // Low level error codes
+ //
+ // BEGIN generated code
+LOW_LEVEL_CODE_CHECKS
+ // END generated code
+
+ if( strlen( buf ) != 0 )
+ return;
+
+ mbedtls_snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", use_ret );
+}
+
+#else /* MBEDTLS_ERROR_C */
+
+#if defined(MBEDTLS_ERROR_STRERROR_DUMMY)
+
+/*
+ * Provide an non-function in case MBEDTLS_ERROR_C is not defined
+ */
+void mbedtls_strerror( int ret, char *buf, size_t buflen )
+{
+ ((void) ret);
+
+ if( buflen > 0 )
+ buf[0] = '\0';
+}
+
+#endif /* MBEDTLS_ERROR_STRERROR_DUMMY */
+
+#endif /* MBEDTLS_ERROR_C */
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/query_config.fmt b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/query_config.fmt
new file mode 100644
index 000000000..064da4c38
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/query_config.fmt
@@ -0,0 +1,139 @@
+/*
+ * Query Mbed TLS compile time configurations from config.h
+ *
+ * Copyright (C) 2018, Arm Limited, All Rights Reserved
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * This file is part of Mbed TLS (https://tls.mbed.org)
+ */
+
+#if !defined(MBEDTLS_CONFIG_FILE)
+#include "mbedtls/config.h"
+#else
+#include MBEDTLS_CONFIG_FILE
+#endif
+
+#if defined(MBEDTLS_PLATFORM_C)
+#include "mbedtls/platform.h"
+#else
+#include <stdio.h>
+#define mbedtls_printf printf
+#endif /* MBEDTLS_PLATFORM_C */
+
+/*
+ * Include all the headers with public APIs in case they define a macro to its
+ * default value when that configuration is not set in the config.h.
+ */
+#include "mbedtls/aes.h"
+#include "mbedtls/aesni.h"
+#include "mbedtls/arc4.h"
+#include "mbedtls/aria.h"
+#include "mbedtls/asn1.h"
+#include "mbedtls/asn1write.h"
+#include "mbedtls/base64.h"
+#include "mbedtls/bignum.h"
+#include "mbedtls/blowfish.h"
+#include "mbedtls/camellia.h"
+#include "mbedtls/ccm.h"
+#include "mbedtls/certs.h"
+#include "mbedtls/chacha20.h"
+#include "mbedtls/chachapoly.h"
+#include "mbedtls/cipher.h"
+#include "mbedtls/cmac.h"
+#include "mbedtls/ctr_drbg.h"
+#include "mbedtls/debug.h"
+#include "mbedtls/des.h"
+#include "mbedtls/dhm.h"
+#include "mbedtls/ecdh.h"
+#include "mbedtls/ecdsa.h"
+#include "mbedtls/ecjpake.h"
+#include "mbedtls/ecp.h"
+#include "mbedtls/entropy.h"
+#include "mbedtls/entropy_poll.h"
+#include "mbedtls/error.h"
+#include "mbedtls/gcm.h"
+#include "mbedtls/havege.h"
+#include "mbedtls/hkdf.h"
+#include "mbedtls/hmac_drbg.h"
+#include "mbedtls/md.h"
+#include "mbedtls/md2.h"
+#include "mbedtls/md4.h"
+#include "mbedtls/md5.h"
+#include "mbedtls/memory_buffer_alloc.h"
+#include "mbedtls/net_sockets.h"
+#include "mbedtls/nist_kw.h"
+#include "mbedtls/oid.h"
+#include "mbedtls/padlock.h"
+#include "mbedtls/pem.h"
+#include "mbedtls/pk.h"
+#include "mbedtls/pkcs11.h"
+#include "mbedtls/pkcs12.h"
+#include "mbedtls/pkcs5.h"
+#include "mbedtls/platform_time.h"
+#include "mbedtls/platform_util.h"
+#include "mbedtls/poly1305.h"
+#include "mbedtls/ripemd160.h"
+#include "mbedtls/rsa.h"
+#include "mbedtls/sha1.h"
+#include "mbedtls/sha256.h"
+#include "mbedtls/sha512.h"
+#include "mbedtls/ssl.h"
+#include "mbedtls/ssl_cache.h"
+#include "mbedtls/ssl_ciphersuites.h"
+#include "mbedtls/ssl_cookie.h"
+#include "mbedtls/ssl_internal.h"
+#include "mbedtls/ssl_ticket.h"
+#include "mbedtls/threading.h"
+#include "mbedtls/timing.h"
+#include "mbedtls/version.h"
+#include "mbedtls/x509.h"
+#include "mbedtls/x509_crl.h"
+#include "mbedtls/x509_crt.h"
+#include "mbedtls/x509_csr.h"
+#include "mbedtls/xtea.h"
+
+#include <string.h>
+
+/*
+ * Helper macros to convert a macro or its expansion into a string
+ * WARNING: This does not work for expanding function-like macros. However,
+ * Mbed TLS does not currently have configuration options used in this fashion.
+ */
+#define MACRO_EXPANSION_TO_STR(macro) MACRO_NAME_TO_STR(macro)
+#define MACRO_NAME_TO_STR(macro) \
+ mbedtls_printf( "%s", strlen( #macro "" ) > 0 ? #macro "\n" : "" )
+
+#if defined(_MSC_VER)
+/*
+ * Visual Studio throws the warning 4003 because many Mbed TLS feature macros
+ * are defined empty. This means that from the preprocessor's point of view
+ * the macro MBEDTLS_EXPANSION_TO_STR is being invoked without arguments as
+ * some macros expand to nothing. We suppress that specific warning to get a
+ * clean build and to ensure that tests treating warnings as errors do not
+ * fail.
+ */
+#pragma warning(push)
+#pragma warning(disable:4003)
+#endif /* _MSC_VER */
+
+int query_config( const char *config )
+{
+CHECK_CONFIG /* If the symbol is not found, return an error */
+ return( 1 );
+}
+
+#if defined(_MSC_VER)
+#pragma warning(pop)
+#endif /* _MSC_VER */
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/rename-1.3-2.0.txt b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/rename-1.3-2.0.txt
new file mode 100644
index 000000000..cb3381ab8
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/rename-1.3-2.0.txt
@@ -0,0 +1,2174 @@
+AES_DECRYPT MBEDTLS_AES_DECRYPT
+AES_ENCRYPT MBEDTLS_AES_ENCRYPT
+ASN1_BIT_STRING MBEDTLS_ASN1_BIT_STRING
+ASN1_BMP_STRING MBEDTLS_ASN1_BMP_STRING
+ASN1_BOOLEAN MBEDTLS_ASN1_BOOLEAN
+ASN1_CHK_ADD MBEDTLS_ASN1_CHK_ADD
+ASN1_CONSTRUCTED MBEDTLS_ASN1_CONSTRUCTED
+ASN1_CONTEXT_SPECIFIC MBEDTLS_ASN1_CONTEXT_SPECIFIC
+ASN1_GENERALIZED_TIME MBEDTLS_ASN1_GENERALIZED_TIME
+ASN1_IA5_STRING MBEDTLS_ASN1_IA5_STRING
+ASN1_INTEGER MBEDTLS_ASN1_INTEGER
+ASN1_NULL MBEDTLS_ASN1_NULL
+ASN1_OCTET_STRING MBEDTLS_ASN1_OCTET_STRING
+ASN1_OID MBEDTLS_ASN1_OID
+ASN1_PRIMITIVE MBEDTLS_ASN1_PRIMITIVE
+ASN1_PRINTABLE_STRING MBEDTLS_ASN1_PRINTABLE_STRING
+ASN1_SEQUENCE MBEDTLS_ASN1_SEQUENCE
+ASN1_SET MBEDTLS_ASN1_SET
+ASN1_T61_STRING MBEDTLS_ASN1_T61_STRING
+ASN1_UNIVERSAL_STRING MBEDTLS_ASN1_UNIVERSAL_STRING
+ASN1_UTC_TIME MBEDTLS_ASN1_UTC_TIME
+ASN1_UTF8_STRING MBEDTLS_ASN1_UTF8_STRING
+BADCERT_CN_MISMATCH MBEDTLS_X509_BADCERT_CN_MISMATCH
+BADCERT_EXPIRED MBEDTLS_X509_BADCERT_EXPIRED
+BADCERT_EXT_KEY_USAGE MBEDTLS_X509_BADCERT_EXT_KEY_USAGE
+BADCERT_FUTURE MBEDTLS_X509_BADCERT_FUTURE
+BADCERT_KEY_USAGE MBEDTLS_X509_BADCERT_KEY_USAGE
+BADCERT_MISSING MBEDTLS_X509_BADCERT_MISSING
+BADCERT_NOT_TRUSTED MBEDTLS_X509_BADCERT_NOT_TRUSTED
+BADCERT_NS_CERT_TYPE MBEDTLS_X509_BADCERT_NS_CERT_TYPE
+BADCERT_OTHER MBEDTLS_X509_BADCERT_OTHER
+BADCERT_REVOKED MBEDTLS_X509_BADCERT_REVOKED
+BADCERT_SKIP_VERIFY MBEDTLS_X509_BADCERT_SKIP_VERIFY
+BADCRL_EXPIRED MBEDTLS_X509_BADCRL_EXPIRED
+BADCRL_FUTURE MBEDTLS_X509_BADCRL_FUTURE
+BADCRL_NOT_TRUSTED MBEDTLS_X509_BADCRL_NOT_TRUSTED
+BLOWFISH_BLOCKSIZE MBEDTLS_BLOWFISH_BLOCKSIZE
+BLOWFISH_DECRYPT MBEDTLS_BLOWFISH_DECRYPT
+BLOWFISH_ENCRYPT MBEDTLS_BLOWFISH_ENCRYPT
+BLOWFISH_MAX_KEY MBEDTLS_BLOWFISH_MAX_KEY_BITS
+BLOWFISH_MIN_KEY MBEDTLS_BLOWFISH_MIN_KEY_BITS
+BLOWFISH_ROUNDS MBEDTLS_BLOWFISH_ROUNDS
+CAMELLIA_DECRYPT MBEDTLS_CAMELLIA_DECRYPT
+CAMELLIA_ENCRYPT MBEDTLS_CAMELLIA_ENCRYPT
+COLLECT_SIZE MBEDTLS_HAVEGE_COLLECT_SIZE
+CTR_DRBG_BLOCKSIZE MBEDTLS_CTR_DRBG_BLOCKSIZE
+CTR_DRBG_ENTROPY_LEN MBEDTLS_CTR_DRBG_ENTROPY_LEN
+CTR_DRBG_KEYBITS MBEDTLS_CTR_DRBG_KEYBITS
+CTR_DRBG_KEYSIZE MBEDTLS_CTR_DRBG_KEYSIZE
+CTR_DRBG_MAX_INPUT MBEDTLS_CTR_DRBG_MAX_INPUT
+CTR_DRBG_MAX_REQUEST MBEDTLS_CTR_DRBG_MAX_REQUEST
+CTR_DRBG_MAX_SEED_INPUT MBEDTLS_CTR_DRBG_MAX_SEED_INPUT
+CTR_DRBG_PR_OFF MBEDTLS_CTR_DRBG_PR_OFF
+CTR_DRBG_PR_ON MBEDTLS_CTR_DRBG_PR_ON
+CTR_DRBG_RESEED_INTERVAL MBEDTLS_CTR_DRBG_RESEED_INTERVAL
+CTR_DRBG_SEEDLEN MBEDTLS_CTR_DRBG_SEEDLEN
+DEPRECATED MBEDTLS_DEPRECATED
+DES_DECRYPT MBEDTLS_DES_DECRYPT
+DES_ENCRYPT MBEDTLS_DES_ENCRYPT
+DES_KEY_SIZE MBEDTLS_DES_KEY_SIZE
+ENTROPY_BLOCK_SIZE MBEDTLS_ENTROPY_BLOCK_SIZE
+ENTROPY_MAX_GATHER MBEDTLS_ENTROPY_MAX_GATHER
+ENTROPY_MAX_SEED_SIZE MBEDTLS_ENTROPY_MAX_SEED_SIZE
+ENTROPY_MAX_SOURCES MBEDTLS_ENTROPY_MAX_SOURCES
+ENTROPY_MIN_HARDCLOCK MBEDTLS_ENTROPY_MIN_HARDCLOCK
+ENTROPY_MIN_HAVEGE MBEDTLS_ENTROPY_MIN_HAVEGE
+ENTROPY_MIN_PLATFORM MBEDTLS_ENTROPY_MIN_PLATFORM
+ENTROPY_SOURCE_MANUAL MBEDTLS_ENTROPY_SOURCE_MANUAL
+EXT_AUTHORITY_KEY_IDENTIFIER MBEDTLS_X509_EXT_AUTHORITY_KEY_IDENTIFIER
+EXT_BASIC_CONSTRAINTS MBEDTLS_X509_EXT_BASIC_CONSTRAINTS
+EXT_CERTIFICATE_POLICIES MBEDTLS_X509_EXT_CERTIFICATE_POLICIES
+EXT_CRL_DISTRIBUTION_POINTS MBEDTLS_X509_EXT_CRL_DISTRIBUTION_POINTS
+EXT_EXTENDED_KEY_USAGE MBEDTLS_X509_EXT_EXTENDED_KEY_USAGE
+EXT_FRESHEST_CRL MBEDTLS_X509_EXT_FRESHEST_CRL
+EXT_INIHIBIT_ANYPOLICY MBEDTLS_X509_EXT_INIHIBIT_ANYPOLICY
+EXT_ISSUER_ALT_NAME MBEDTLS_X509_EXT_ISSUER_ALT_NAME
+EXT_KEY_USAGE MBEDTLS_X509_EXT_KEY_USAGE
+EXT_NAME_CONSTRAINTS MBEDTLS_X509_EXT_NAME_CONSTRAINTS
+EXT_NS_CERT_TYPE MBEDTLS_X509_EXT_NS_CERT_TYPE
+EXT_POLICY_CONSTRAINTS MBEDTLS_X509_EXT_POLICY_CONSTRAINTS
+EXT_POLICY_MAPPINGS MBEDTLS_X509_EXT_POLICY_MAPPINGS
+EXT_SUBJECT_ALT_NAME MBEDTLS_X509_EXT_SUBJECT_ALT_NAME
+EXT_SUBJECT_DIRECTORY_ATTRS MBEDTLS_X509_EXT_SUBJECT_DIRECTORY_ATTRS
+EXT_SUBJECT_KEY_IDENTIFIER MBEDTLS_X509_EXT_SUBJECT_KEY_IDENTIFIER
+GCM_DECRYPT MBEDTLS_GCM_DECRYPT
+GCM_ENCRYPT MBEDTLS_GCM_ENCRYPT
+KU_CRL_SIGN MBEDTLS_X509_KU_CRL_SIGN
+KU_DATA_ENCIPHERMENT MBEDTLS_X509_KU_DATA_ENCIPHERMENT
+KU_DIGITAL_SIGNATURE MBEDTLS_X509_KU_DIGITAL_SIGNATURE
+KU_KEY_AGREEMENT MBEDTLS_X509_KU_KEY_AGREEMENT
+KU_KEY_CERT_SIGN MBEDTLS_X509_KU_KEY_CERT_SIGN
+KU_KEY_ENCIPHERMENT MBEDTLS_X509_KU_KEY_ENCIPHERMENT
+KU_NON_REPUDIATION MBEDTLS_X509_KU_NON_REPUDIATION
+LN_2_DIV_LN_10_SCALE100 MBEDTLS_LN_2_DIV_LN_10_SCALE100
+MD_CONTEXT_T_INIT MBEDTLS_MD_CONTEXT_T_INIT
+MEMORY_VERIFY_ALLOC MBEDTLS_MEMORY_VERIFY_ALLOC
+MEMORY_VERIFY_ALWAYS MBEDTLS_MEMORY_VERIFY_ALWAYS
+MEMORY_VERIFY_FREE MBEDTLS_MEMORY_VERIFY_FREE
+MEMORY_VERIFY_NONE MBEDTLS_MEMORY_VERIFY_NONE
+MPI_CHK MBEDTLS_MPI_CHK
+NET_PROTO_TCP MBEDTLS_NET_PROTO_TCP
+NET_PROTO_UDP MBEDTLS_NET_PROTO_UDP
+NS_CERT_TYPE_EMAIL MBEDTLS_X509_NS_CERT_TYPE_EMAIL
+NS_CERT_TYPE_EMAIL_CA MBEDTLS_X509_NS_CERT_TYPE_EMAIL_CA
+NS_CERT_TYPE_OBJECT_SIGNING MBEDTLS_X509_NS_CERT_TYPE_OBJECT_SIGNING
+NS_CERT_TYPE_OBJECT_SIGNING_CA MBEDTLS_X509_NS_CERT_TYPE_OBJECT_SIGNING_CA
+NS_CERT_TYPE_RESERVED MBEDTLS_X509_NS_CERT_TYPE_RESERVED
+NS_CERT_TYPE_SSL_CA MBEDTLS_X509_NS_CERT_TYPE_SSL_CA
+NS_CERT_TYPE_SSL_CLIENT MBEDTLS_X509_NS_CERT_TYPE_SSL_CLIENT
+NS_CERT_TYPE_SSL_SERVER MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER
+OID_ANSI_X9_62 MBEDTLS_OID_ANSI_X9_62
+OID_ANSI_X9_62_FIELD_TYPE MBEDTLS_OID_ANSI_X9_62_FIELD_TYPE
+OID_ANSI_X9_62_PRIME_FIELD MBEDTLS_OID_ANSI_X9_62_PRIME_FIELD
+OID_ANSI_X9_62_SIG MBEDTLS_OID_ANSI_X9_62_SIG
+OID_ANSI_X9_62_SIG_SHA2 MBEDTLS_OID_ANSI_X9_62_SIG_SHA2
+OID_ANY_EXTENDED_KEY_USAGE MBEDTLS_OID_ANY_EXTENDED_KEY_USAGE
+OID_AT MBEDTLS_OID_AT
+OID_AT_CN MBEDTLS_OID_AT_CN
+OID_AT_COUNTRY MBEDTLS_OID_AT_COUNTRY
+OID_AT_DN_QUALIFIER MBEDTLS_OID_AT_DN_QUALIFIER
+OID_AT_GENERATION_QUALIFIER MBEDTLS_OID_AT_GENERATION_QUALIFIER
+OID_AT_GIVEN_NAME MBEDTLS_OID_AT_GIVEN_NAME
+OID_AT_INITIALS MBEDTLS_OID_AT_INITIALS
+OID_AT_LOCALITY MBEDTLS_OID_AT_LOCALITY
+OID_AT_ORGANIZATION MBEDTLS_OID_AT_ORGANIZATION
+OID_AT_ORG_UNIT MBEDTLS_OID_AT_ORG_UNIT
+OID_AT_POSTAL_ADDRESS MBEDTLS_OID_AT_POSTAL_ADDRESS
+OID_AT_POSTAL_CODE MBEDTLS_OID_AT_POSTAL_CODE
+OID_AT_PSEUDONYM MBEDTLS_OID_AT_PSEUDONYM
+OID_AT_SERIAL_NUMBER MBEDTLS_OID_AT_SERIAL_NUMBER
+OID_AT_STATE MBEDTLS_OID_AT_STATE
+OID_AT_SUR_NAME MBEDTLS_OID_AT_SUR_NAME
+OID_AT_TITLE MBEDTLS_OID_AT_TITLE
+OID_AT_UNIQUE_IDENTIFIER MBEDTLS_OID_AT_UNIQUE_IDENTIFIER
+OID_AUTHORITY_KEY_IDENTIFIER MBEDTLS_OID_AUTHORITY_KEY_IDENTIFIER
+OID_BASIC_CONSTRAINTS MBEDTLS_OID_BASIC_CONSTRAINTS
+OID_CERTICOM MBEDTLS_OID_CERTICOM
+OID_CERTIFICATE_POLICIES MBEDTLS_OID_CERTIFICATE_POLICIES
+OID_CLIENT_AUTH MBEDTLS_OID_CLIENT_AUTH
+OID_CMP MBEDTLS_OID_CMP
+OID_CODE_SIGNING MBEDTLS_OID_CODE_SIGNING
+OID_COUNTRY_US MBEDTLS_OID_COUNTRY_US
+OID_CRL_DISTRIBUTION_POINTS MBEDTLS_OID_CRL_DISTRIBUTION_POINTS
+OID_CRL_NUMBER MBEDTLS_OID_CRL_NUMBER
+OID_DES_CBC MBEDTLS_OID_DES_CBC
+OID_DES_EDE3_CBC MBEDTLS_OID_DES_EDE3_CBC
+OID_DIGEST_ALG_MD2 MBEDTLS_OID_DIGEST_ALG_MD2
+OID_DIGEST_ALG_MD4 MBEDTLS_OID_DIGEST_ALG_MD4
+OID_DIGEST_ALG_MD5 MBEDTLS_OID_DIGEST_ALG_MD5
+OID_DIGEST_ALG_SHA1 MBEDTLS_OID_DIGEST_ALG_SHA1
+OID_DIGEST_ALG_SHA224 MBEDTLS_OID_DIGEST_ALG_SHA224
+OID_DIGEST_ALG_SHA256 MBEDTLS_OID_DIGEST_ALG_SHA256
+OID_DIGEST_ALG_SHA384 MBEDTLS_OID_DIGEST_ALG_SHA384
+OID_DIGEST_ALG_SHA512 MBEDTLS_OID_DIGEST_ALG_SHA512
+OID_DOMAIN_COMPONENT MBEDTLS_OID_DOMAIN_COMPONENT
+OID_ECDSA_SHA1 MBEDTLS_OID_ECDSA_SHA1
+OID_ECDSA_SHA224 MBEDTLS_OID_ECDSA_SHA224
+OID_ECDSA_SHA256 MBEDTLS_OID_ECDSA_SHA256
+OID_ECDSA_SHA384 MBEDTLS_OID_ECDSA_SHA384
+OID_ECDSA_SHA512 MBEDTLS_OID_ECDSA_SHA512
+OID_EC_ALG_ECDH MBEDTLS_OID_EC_ALG_ECDH
+OID_EC_ALG_UNRESTRICTED MBEDTLS_OID_EC_ALG_UNRESTRICTED
+OID_EC_BRAINPOOL_V1 MBEDTLS_OID_EC_BRAINPOOL_V1
+OID_EC_GRP_BP256R1 MBEDTLS_OID_EC_GRP_BP256R1
+OID_EC_GRP_BP384R1 MBEDTLS_OID_EC_GRP_BP384R1
+OID_EC_GRP_BP512R1 MBEDTLS_OID_EC_GRP_BP512R1
+OID_EC_GRP_SECP192K1 MBEDTLS_OID_EC_GRP_SECP192K1
+OID_EC_GRP_SECP192R1 MBEDTLS_OID_EC_GRP_SECP192R1
+OID_EC_GRP_SECP224K1 MBEDTLS_OID_EC_GRP_SECP224K1
+OID_EC_GRP_SECP224R1 MBEDTLS_OID_EC_GRP_SECP224R1
+OID_EC_GRP_SECP256K1 MBEDTLS_OID_EC_GRP_SECP256K1
+OID_EC_GRP_SECP256R1 MBEDTLS_OID_EC_GRP_SECP256R1
+OID_EC_GRP_SECP384R1 MBEDTLS_OID_EC_GRP_SECP384R1
+OID_EC_GRP_SECP521R1 MBEDTLS_OID_EC_GRP_SECP521R1
+OID_EMAIL_PROTECTION MBEDTLS_OID_EMAIL_PROTECTION
+OID_EXTENDED_KEY_USAGE MBEDTLS_OID_EXTENDED_KEY_USAGE
+OID_FRESHEST_CRL MBEDTLS_OID_FRESHEST_CRL
+OID_GOV MBEDTLS_OID_GOV
+OID_HMAC_SHA1 MBEDTLS_OID_HMAC_SHA1
+OID_ID_CE MBEDTLS_OID_ID_CE
+OID_INIHIBIT_ANYPOLICY MBEDTLS_OID_INIHIBIT_ANYPOLICY
+OID_ISO_CCITT_DS MBEDTLS_OID_ISO_CCITT_DS
+OID_ISO_IDENTIFIED_ORG MBEDTLS_OID_ISO_IDENTIFIED_ORG
+OID_ISO_ITU_COUNTRY MBEDTLS_OID_ISO_ITU_COUNTRY
+OID_ISO_ITU_US_ORG MBEDTLS_OID_ISO_ITU_US_ORG
+OID_ISO_MEMBER_BODIES MBEDTLS_OID_ISO_MEMBER_BODIES
+OID_ISSUER_ALT_NAME MBEDTLS_OID_ISSUER_ALT_NAME
+OID_KEY_USAGE MBEDTLS_OID_KEY_USAGE
+OID_KP MBEDTLS_OID_KP
+OID_MGF1 MBEDTLS_OID_MGF1
+OID_NAME_CONSTRAINTS MBEDTLS_OID_NAME_CONSTRAINTS
+OID_NETSCAPE MBEDTLS_OID_NETSCAPE
+OID_NS_BASE_URL MBEDTLS_OID_NS_BASE_URL
+OID_NS_CA_POLICY_URL MBEDTLS_OID_NS_CA_POLICY_URL
+OID_NS_CA_REVOCATION_URL MBEDTLS_OID_NS_CA_REVOCATION_URL
+OID_NS_CERT MBEDTLS_OID_NS_CERT
+OID_NS_CERT_SEQUENCE MBEDTLS_OID_NS_CERT_SEQUENCE
+OID_NS_CERT_TYPE MBEDTLS_OID_NS_CERT_TYPE
+OID_NS_COMMENT MBEDTLS_OID_NS_COMMENT
+OID_NS_DATA_TYPE MBEDTLS_OID_NS_DATA_TYPE
+OID_NS_RENEWAL_URL MBEDTLS_OID_NS_RENEWAL_URL
+OID_NS_REVOCATION_URL MBEDTLS_OID_NS_REVOCATION_URL
+OID_NS_SSL_SERVER_NAME MBEDTLS_OID_NS_SSL_SERVER_NAME
+OID_OCSP_SIGNING MBEDTLS_OID_OCSP_SIGNING
+OID_OIW_SECSIG MBEDTLS_OID_OIW_SECSIG
+OID_OIW_SECSIG_ALG MBEDTLS_OID_OIW_SECSIG_ALG
+OID_OIW_SECSIG_SHA1 MBEDTLS_OID_OIW_SECSIG_SHA1
+OID_ORGANIZATION MBEDTLS_OID_ORGANIZATION
+OID_ORG_ANSI_X9_62 MBEDTLS_OID_ORG_ANSI_X9_62
+OID_ORG_CERTICOM MBEDTLS_OID_ORG_CERTICOM
+OID_ORG_DOD MBEDTLS_OID_ORG_DOD
+OID_ORG_GOV MBEDTLS_OID_ORG_GOV
+OID_ORG_NETSCAPE MBEDTLS_OID_ORG_NETSCAPE
+OID_ORG_OIW MBEDTLS_OID_ORG_OIW
+OID_ORG_RSA_DATA_SECURITY MBEDTLS_OID_ORG_RSA_DATA_SECURITY
+OID_ORG_TELETRUST MBEDTLS_OID_ORG_TELETRUST
+OID_PKCS MBEDTLS_OID_PKCS
+OID_PKCS1 MBEDTLS_OID_PKCS1
+OID_PKCS12 MBEDTLS_OID_PKCS12
+OID_PKCS12_PBE MBEDTLS_OID_PKCS12_PBE
+OID_PKCS12_PBE_SHA1_DES2_EDE_CBC MBEDTLS_OID_PKCS12_PBE_SHA1_DES2_EDE_CBC
+OID_PKCS12_PBE_SHA1_DES3_EDE_CBC MBEDTLS_OID_PKCS12_PBE_SHA1_DES3_EDE_CBC
+OID_PKCS12_PBE_SHA1_RC2_128_CBC MBEDTLS_OID_PKCS12_PBE_SHA1_RC2_128_CBC
+OID_PKCS12_PBE_SHA1_RC2_40_CBC MBEDTLS_OID_PKCS12_PBE_SHA1_RC2_40_CBC
+OID_PKCS12_PBE_SHA1_RC4_128 MBEDTLS_OID_PKCS12_PBE_SHA1_RC4_128
+OID_PKCS12_PBE_SHA1_RC4_40 MBEDTLS_OID_PKCS12_PBE_SHA1_RC4_40
+OID_PKCS1_MD2 MBEDTLS_OID_PKCS1_MD2
+OID_PKCS1_MD4 MBEDTLS_OID_PKCS1_MD4
+OID_PKCS1_MD5 MBEDTLS_OID_PKCS1_MD5
+OID_PKCS1_RSA MBEDTLS_OID_PKCS1_RSA
+OID_PKCS1_SHA1 MBEDTLS_OID_PKCS1_SHA1
+OID_PKCS1_SHA224 MBEDTLS_OID_PKCS1_SHA224
+OID_PKCS1_SHA256 MBEDTLS_OID_PKCS1_SHA256
+OID_PKCS1_SHA384 MBEDTLS_OID_PKCS1_SHA384
+OID_PKCS1_SHA512 MBEDTLS_OID_PKCS1_SHA512
+OID_PKCS5 MBEDTLS_OID_PKCS5
+OID_PKCS5_PBES2 MBEDTLS_OID_PKCS5_PBES2
+OID_PKCS5_PBE_MD2_DES_CBC MBEDTLS_OID_PKCS5_PBE_MD2_DES_CBC
+OID_PKCS5_PBE_MD2_RC2_CBC MBEDTLS_OID_PKCS5_PBE_MD2_RC2_CBC
+OID_PKCS5_PBE_MD5_DES_CBC MBEDTLS_OID_PKCS5_PBE_MD5_DES_CBC
+OID_PKCS5_PBE_MD5_RC2_CBC MBEDTLS_OID_PKCS5_PBE_MD5_RC2_CBC
+OID_PKCS5_PBE_SHA1_DES_CBC MBEDTLS_OID_PKCS5_PBE_SHA1_DES_CBC
+OID_PKCS5_PBE_SHA1_RC2_CBC MBEDTLS_OID_PKCS5_PBE_SHA1_RC2_CBC
+OID_PKCS5_PBKDF2 MBEDTLS_OID_PKCS5_PBKDF2
+OID_PKCS5_PBMAC1 MBEDTLS_OID_PKCS5_PBMAC1
+OID_PKCS9 MBEDTLS_OID_PKCS9
+OID_PKCS9_CSR_EXT_REQ MBEDTLS_OID_PKCS9_CSR_EXT_REQ
+OID_PKCS9_EMAIL MBEDTLS_OID_PKCS9_EMAIL
+OID_PKIX MBEDTLS_OID_PKIX
+OID_POLICY_CONSTRAINTS MBEDTLS_OID_POLICY_CONSTRAINTS
+OID_POLICY_MAPPINGS MBEDTLS_OID_POLICY_MAPPINGS
+OID_PRIVATE_KEY_USAGE_PERIOD MBEDTLS_OID_PRIVATE_KEY_USAGE_PERIOD
+OID_RSASSA_PSS MBEDTLS_OID_RSASSA_PSS
+OID_RSA_COMPANY MBEDTLS_OID_RSA_COMPANY
+OID_RSA_SHA_OBS MBEDTLS_OID_RSA_SHA_OBS
+OID_SERVER_AUTH MBEDTLS_OID_SERVER_AUTH
+OID_SIZE MBEDTLS_OID_SIZE
+OID_SUBJECT_ALT_NAME MBEDTLS_OID_SUBJECT_ALT_NAME
+OID_SUBJECT_DIRECTORY_ATTRS MBEDTLS_OID_SUBJECT_DIRECTORY_ATTRS
+OID_SUBJECT_KEY_IDENTIFIER MBEDTLS_OID_SUBJECT_KEY_IDENTIFIER
+OID_TELETRUST MBEDTLS_OID_TELETRUST
+OID_TIME_STAMPING MBEDTLS_OID_TIME_STAMPING
+PADLOCK_ACE MBEDTLS_PADLOCK_ACE
+PADLOCK_ALIGN16 MBEDTLS_PADLOCK_ALIGN16
+PADLOCK_PHE MBEDTLS_PADLOCK_PHE
+PADLOCK_PMM MBEDTLS_PADLOCK_PMM
+PADLOCK_RNG MBEDTLS_PADLOCK_RNG
+PKCS12_DERIVE_IV MBEDTLS_PKCS12_DERIVE_IV
+PKCS12_DERIVE_KEY MBEDTLS_PKCS12_DERIVE_KEY
+PKCS12_DERIVE_MAC_KEY MBEDTLS_PKCS12_DERIVE_MAC_KEY
+PKCS12_PBE_DECRYPT MBEDTLS_PKCS12_PBE_DECRYPT
+PKCS12_PBE_ENCRYPT MBEDTLS_PKCS12_PBE_ENCRYPT
+PKCS5_DECRYPT MBEDTLS_PKCS5_DECRYPT
+PKCS5_ENCRYPT MBEDTLS_PKCS5_ENCRYPT
+POLARSSL_AESNI_AES MBEDTLS_AESNI_AES
+POLARSSL_AESNI_C MBEDTLS_AESNI_C
+POLARSSL_AESNI_CLMUL MBEDTLS_AESNI_CLMUL
+POLARSSL_AESNI_H MBEDTLS_AESNI_H
+POLARSSL_AES_ALT MBEDTLS_AES_ALT
+POLARSSL_AES_C MBEDTLS_AES_C
+POLARSSL_AES_H MBEDTLS_AES_H
+POLARSSL_AES_ROM_TABLES MBEDTLS_AES_ROM_TABLES
+POLARSSL_ARC4_ALT MBEDTLS_ARC4_ALT
+POLARSSL_ARC4_C MBEDTLS_ARC4_C
+POLARSSL_ARC4_H MBEDTLS_ARC4_H
+POLARSSL_ASN1_H MBEDTLS_ASN1_H
+POLARSSL_ASN1_PARSE_C MBEDTLS_ASN1_PARSE_C
+POLARSSL_ASN1_WRITE_C MBEDTLS_ASN1_WRITE_C
+POLARSSL_ASN1_WRITE_H MBEDTLS_ASN1_WRITE_H
+POLARSSL_BASE64_C MBEDTLS_BASE64_C
+POLARSSL_BASE64_H MBEDTLS_BASE64_H
+POLARSSL_BIGNUM_C MBEDTLS_BIGNUM_C
+POLARSSL_BIGNUM_H MBEDTLS_BIGNUM_H
+POLARSSL_BLOWFISH_ALT MBEDTLS_BLOWFISH_ALT
+POLARSSL_BLOWFISH_C MBEDTLS_BLOWFISH_C
+POLARSSL_BLOWFISH_H MBEDTLS_BLOWFISH_H
+POLARSSL_BN_MUL_H MBEDTLS_BN_MUL_H
+POLARSSL_CAMELLIA_ALT MBEDTLS_CAMELLIA_ALT
+POLARSSL_CAMELLIA_C MBEDTLS_CAMELLIA_C
+POLARSSL_CAMELLIA_H MBEDTLS_CAMELLIA_H
+POLARSSL_CAMELLIA_SMALL_MEMORY MBEDTLS_CAMELLIA_SMALL_MEMORY
+POLARSSL_CCM_C MBEDTLS_CCM_C
+POLARSSL_CCM_H MBEDTLS_CCM_H
+POLARSSL_CERTS_C MBEDTLS_CERTS_C
+POLARSSL_CERTS_H MBEDTLS_CERTS_H
+POLARSSL_CHECK_CONFIG_H MBEDTLS_CHECK_CONFIG_H
+POLARSSL_CIPHERSUITE_NODTLS MBEDTLS_CIPHERSUITE_NODTLS
+POLARSSL_CIPHERSUITE_SHORT_TAG MBEDTLS_CIPHERSUITE_SHORT_TAG
+POLARSSL_CIPHERSUITE_WEAK MBEDTLS_CIPHERSUITE_WEAK
+POLARSSL_CIPHER_AES_128_CBC MBEDTLS_CIPHER_AES_128_CBC
+POLARSSL_CIPHER_AES_128_CCM MBEDTLS_CIPHER_AES_128_CCM
+POLARSSL_CIPHER_AES_128_CFB128 MBEDTLS_CIPHER_AES_128_CFB128
+POLARSSL_CIPHER_AES_128_CTR MBEDTLS_CIPHER_AES_128_CTR
+POLARSSL_CIPHER_AES_128_ECB MBEDTLS_CIPHER_AES_128_ECB
+POLARSSL_CIPHER_AES_128_GCM MBEDTLS_CIPHER_AES_128_GCM
+POLARSSL_CIPHER_AES_192_CBC MBEDTLS_CIPHER_AES_192_CBC
+POLARSSL_CIPHER_AES_192_CCM MBEDTLS_CIPHER_AES_192_CCM
+POLARSSL_CIPHER_AES_192_CFB128 MBEDTLS_CIPHER_AES_192_CFB128
+POLARSSL_CIPHER_AES_192_CTR MBEDTLS_CIPHER_AES_192_CTR
+POLARSSL_CIPHER_AES_192_ECB MBEDTLS_CIPHER_AES_192_ECB
+POLARSSL_CIPHER_AES_192_GCM MBEDTLS_CIPHER_AES_192_GCM
+POLARSSL_CIPHER_AES_256_CBC MBEDTLS_CIPHER_AES_256_CBC
+POLARSSL_CIPHER_AES_256_CCM MBEDTLS_CIPHER_AES_256_CCM
+POLARSSL_CIPHER_AES_256_CFB128 MBEDTLS_CIPHER_AES_256_CFB128
+POLARSSL_CIPHER_AES_256_CTR MBEDTLS_CIPHER_AES_256_CTR
+POLARSSL_CIPHER_AES_256_ECB MBEDTLS_CIPHER_AES_256_ECB
+POLARSSL_CIPHER_AES_256_GCM MBEDTLS_CIPHER_AES_256_GCM
+POLARSSL_CIPHER_ARC4_128 MBEDTLS_CIPHER_ARC4_128
+POLARSSL_CIPHER_BLOWFISH_CBC MBEDTLS_CIPHER_BLOWFISH_CBC
+POLARSSL_CIPHER_BLOWFISH_CFB64 MBEDTLS_CIPHER_BLOWFISH_CFB64
+POLARSSL_CIPHER_BLOWFISH_CTR MBEDTLS_CIPHER_BLOWFISH_CTR
+POLARSSL_CIPHER_BLOWFISH_ECB MBEDTLS_CIPHER_BLOWFISH_ECB
+POLARSSL_CIPHER_C MBEDTLS_CIPHER_C
+POLARSSL_CIPHER_CAMELLIA_128_CBC MBEDTLS_CIPHER_CAMELLIA_128_CBC
+POLARSSL_CIPHER_CAMELLIA_128_CCM MBEDTLS_CIPHER_CAMELLIA_128_CCM
+POLARSSL_CIPHER_CAMELLIA_128_CFB128 MBEDTLS_CIPHER_CAMELLIA_128_CFB128
+POLARSSL_CIPHER_CAMELLIA_128_CTR MBEDTLS_CIPHER_CAMELLIA_128_CTR
+POLARSSL_CIPHER_CAMELLIA_128_ECB MBEDTLS_CIPHER_CAMELLIA_128_ECB
+POLARSSL_CIPHER_CAMELLIA_128_GCM MBEDTLS_CIPHER_CAMELLIA_128_GCM
+POLARSSL_CIPHER_CAMELLIA_192_CBC MBEDTLS_CIPHER_CAMELLIA_192_CBC
+POLARSSL_CIPHER_CAMELLIA_192_CCM MBEDTLS_CIPHER_CAMELLIA_192_CCM
+POLARSSL_CIPHER_CAMELLIA_192_CFB128 MBEDTLS_CIPHER_CAMELLIA_192_CFB128
+POLARSSL_CIPHER_CAMELLIA_192_CTR MBEDTLS_CIPHER_CAMELLIA_192_CTR
+POLARSSL_CIPHER_CAMELLIA_192_ECB MBEDTLS_CIPHER_CAMELLIA_192_ECB
+POLARSSL_CIPHER_CAMELLIA_192_GCM MBEDTLS_CIPHER_CAMELLIA_192_GCM
+POLARSSL_CIPHER_CAMELLIA_256_CBC MBEDTLS_CIPHER_CAMELLIA_256_CBC
+POLARSSL_CIPHER_CAMELLIA_256_CCM MBEDTLS_CIPHER_CAMELLIA_256_CCM
+POLARSSL_CIPHER_CAMELLIA_256_CFB128 MBEDTLS_CIPHER_CAMELLIA_256_CFB128
+POLARSSL_CIPHER_CAMELLIA_256_CTR MBEDTLS_CIPHER_CAMELLIA_256_CTR
+POLARSSL_CIPHER_CAMELLIA_256_ECB MBEDTLS_CIPHER_CAMELLIA_256_ECB
+POLARSSL_CIPHER_CAMELLIA_256_GCM MBEDTLS_CIPHER_CAMELLIA_256_GCM
+POLARSSL_CIPHER_DES_CBC MBEDTLS_CIPHER_DES_CBC
+POLARSSL_CIPHER_DES_ECB MBEDTLS_CIPHER_DES_ECB
+POLARSSL_CIPHER_DES_EDE3_CBC MBEDTLS_CIPHER_DES_EDE3_CBC
+POLARSSL_CIPHER_DES_EDE3_ECB MBEDTLS_CIPHER_DES_EDE3_ECB
+POLARSSL_CIPHER_DES_EDE_CBC MBEDTLS_CIPHER_DES_EDE_CBC
+POLARSSL_CIPHER_DES_EDE_ECB MBEDTLS_CIPHER_DES_EDE_ECB
+POLARSSL_CIPHER_H MBEDTLS_CIPHER_H
+POLARSSL_CIPHER_ID_3DES MBEDTLS_CIPHER_ID_3DES
+POLARSSL_CIPHER_ID_AES MBEDTLS_CIPHER_ID_AES
+POLARSSL_CIPHER_ID_ARC4 MBEDTLS_CIPHER_ID_ARC4
+POLARSSL_CIPHER_ID_BLOWFISH MBEDTLS_CIPHER_ID_BLOWFISH
+POLARSSL_CIPHER_ID_CAMELLIA MBEDTLS_CIPHER_ID_CAMELLIA
+POLARSSL_CIPHER_ID_DES MBEDTLS_CIPHER_ID_DES
+POLARSSL_CIPHER_ID_NONE MBEDTLS_CIPHER_ID_NONE
+POLARSSL_CIPHER_ID_NULL MBEDTLS_CIPHER_ID_NULL
+POLARSSL_CIPHER_MODE_AEAD MBEDTLS_CIPHER_MODE_AEAD
+POLARSSL_CIPHER_MODE_CBC MBEDTLS_CIPHER_MODE_CBC
+POLARSSL_CIPHER_MODE_CFB MBEDTLS_CIPHER_MODE_CFB
+POLARSSL_CIPHER_MODE_CTR MBEDTLS_CIPHER_MODE_CTR
+POLARSSL_CIPHER_MODE_STREAM MBEDTLS_CIPHER_MODE_STREAM
+POLARSSL_CIPHER_MODE_WITH_PADDING MBEDTLS_CIPHER_MODE_WITH_PADDING
+POLARSSL_CIPHER_NONE MBEDTLS_CIPHER_NONE
+POLARSSL_CIPHER_NULL MBEDTLS_CIPHER_NULL
+POLARSSL_CIPHER_NULL_CIPHER MBEDTLS_CIPHER_NULL_CIPHER
+POLARSSL_CIPHER_PADDING_ONE_AND_ZEROS MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
+POLARSSL_CIPHER_PADDING_PKCS7 MBEDTLS_CIPHER_PADDING_PKCS7
+POLARSSL_CIPHER_PADDING_ZEROS MBEDTLS_CIPHER_PADDING_ZEROS
+POLARSSL_CIPHER_PADDING_ZEROS_AND_LEN MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
+POLARSSL_CIPHER_VARIABLE_IV_LEN MBEDTLS_CIPHER_VARIABLE_IV_LEN
+POLARSSL_CIPHER_VARIABLE_KEY_LEN MBEDTLS_CIPHER_VARIABLE_KEY_LEN
+POLARSSL_CIPHER_WRAP_H MBEDTLS_CIPHER_WRAP_H
+POLARSSL_CONFIG_FILE MBEDTLS_CONFIG_FILE
+POLARSSL_CONFIG_H MBEDTLS_CONFIG_H
+POLARSSL_CTR_DRBG_C MBEDTLS_CTR_DRBG_C
+POLARSSL_CTR_DRBG_H MBEDTLS_CTR_DRBG_H
+POLARSSL_DEBUG_C MBEDTLS_DEBUG_C
+POLARSSL_DEBUG_DFL_MODE MBEDTLS_DEBUG_DFL_MODE
+POLARSSL_DEBUG_H MBEDTLS_DEBUG_H
+POLARSSL_DEBUG_LOG_FULL MBEDTLS_DEBUG_LOG_FULL
+POLARSSL_DEBUG_LOG_RAW MBEDTLS_DEBUG_LOG_RAW
+POLARSSL_DECRYPT MBEDTLS_DECRYPT
+POLARSSL_DEPRECATED_REMOVED MBEDTLS_DEPRECATED_REMOVED
+POLARSSL_DEPRECATED_WARNING MBEDTLS_DEPRECATED_WARNING
+POLARSSL_DES_ALT MBEDTLS_DES_ALT
+POLARSSL_DES_C MBEDTLS_DES_C
+POLARSSL_DES_H MBEDTLS_DES_H
+POLARSSL_DHM_C MBEDTLS_DHM_C
+POLARSSL_DHM_H MBEDTLS_DHM_H
+POLARSSL_DHM_RFC2409_MODP_1024_G MBEDTLS_DHM_RFC2409_MODP_1024_G
+POLARSSL_DHM_RFC2409_MODP_1024_P MBEDTLS_DHM_RFC2409_MODP_1024_P
+POLARSSL_DHM_RFC3526_MODP_2048_G MBEDTLS_DHM_RFC3526_MODP_2048_G
+POLARSSL_DHM_RFC3526_MODP_2048_P MBEDTLS_DHM_RFC3526_MODP_2048_P
+POLARSSL_DHM_RFC3526_MODP_3072_G MBEDTLS_DHM_RFC3526_MODP_3072_G
+POLARSSL_DHM_RFC3526_MODP_3072_P MBEDTLS_DHM_RFC3526_MODP_3072_P
+POLARSSL_DHM_RFC5114_MODP_1024_G MBEDTLS_DHM_RFC5114_MODP_1024_G
+POLARSSL_DHM_RFC5114_MODP_1024_P MBEDTLS_DHM_RFC5114_MODP_1024_P
+POLARSSL_DHM_RFC5114_MODP_2048_G MBEDTLS_DHM_RFC5114_MODP_2048_G
+POLARSSL_DHM_RFC5114_MODP_2048_P MBEDTLS_DHM_RFC5114_MODP_2048_P
+POLARSSL_ECDH_C MBEDTLS_ECDH_C
+POLARSSL_ECDH_H MBEDTLS_ECDH_H
+POLARSSL_ECDH_OURS MBEDTLS_ECDH_OURS
+POLARSSL_ECDH_THEIRS MBEDTLS_ECDH_THEIRS
+POLARSSL_ECDSA_C MBEDTLS_ECDSA_C
+POLARSSL_ECDSA_DETERMINISTIC MBEDTLS_ECDSA_DETERMINISTIC
+POLARSSL_ECDSA_H MBEDTLS_ECDSA_H
+POLARSSL_ECP_C MBEDTLS_ECP_C
+POLARSSL_ECP_DP_BP256R1 MBEDTLS_ECP_DP_BP256R1
+POLARSSL_ECP_DP_BP256R1_ENABLED MBEDTLS_ECP_DP_BP256R1_ENABLED
+POLARSSL_ECP_DP_BP384R1 MBEDTLS_ECP_DP_BP384R1
+POLARSSL_ECP_DP_BP384R1_ENABLED MBEDTLS_ECP_DP_BP384R1_ENABLED
+POLARSSL_ECP_DP_BP512R1 MBEDTLS_ECP_DP_BP512R1
+POLARSSL_ECP_DP_BP512R1_ENABLED MBEDTLS_ECP_DP_BP512R1_ENABLED
+POLARSSL_ECP_DP_M255 MBEDTLS_ECP_DP_CURVE25519
+POLARSSL_ECP_DP_M255_ENABLED MBEDTLS_ECP_DP_CURVE25519_ENABLED
+POLARSSL_ECP_DP_MAX MBEDTLS_ECP_DP_MAX
+POLARSSL_ECP_DP_NONE MBEDTLS_ECP_DP_NONE
+POLARSSL_ECP_DP_SECP192K1 MBEDTLS_ECP_DP_SECP192K1
+POLARSSL_ECP_DP_SECP192K1_ENABLED MBEDTLS_ECP_DP_SECP192K1_ENABLED
+POLARSSL_ECP_DP_SECP192R1 MBEDTLS_ECP_DP_SECP192R1
+POLARSSL_ECP_DP_SECP192R1_ENABLED MBEDTLS_ECP_DP_SECP192R1_ENABLED
+POLARSSL_ECP_DP_SECP224K1 MBEDTLS_ECP_DP_SECP224K1
+POLARSSL_ECP_DP_SECP224K1_ENABLED MBEDTLS_ECP_DP_SECP224K1_ENABLED
+POLARSSL_ECP_DP_SECP224R1 MBEDTLS_ECP_DP_SECP224R1
+POLARSSL_ECP_DP_SECP224R1_ENABLED MBEDTLS_ECP_DP_SECP224R1_ENABLED
+POLARSSL_ECP_DP_SECP256K1 MBEDTLS_ECP_DP_SECP256K1
+POLARSSL_ECP_DP_SECP256K1_ENABLED MBEDTLS_ECP_DP_SECP256K1_ENABLED
+POLARSSL_ECP_DP_SECP256R1 MBEDTLS_ECP_DP_SECP256R1
+POLARSSL_ECP_DP_SECP256R1_ENABLED MBEDTLS_ECP_DP_SECP256R1_ENABLED
+POLARSSL_ECP_DP_SECP384R1 MBEDTLS_ECP_DP_SECP384R1
+POLARSSL_ECP_DP_SECP384R1_ENABLED MBEDTLS_ECP_DP_SECP384R1_ENABLED
+POLARSSL_ECP_DP_SECP521R1 MBEDTLS_ECP_DP_SECP521R1
+POLARSSL_ECP_DP_SECP521R1_ENABLED MBEDTLS_ECP_DP_SECP521R1_ENABLED
+POLARSSL_ECP_FIXED_POINT_OPTIM MBEDTLS_ECP_FIXED_POINT_OPTIM
+POLARSSL_ECP_H MBEDTLS_ECP_H
+POLARSSL_ECP_MAX_BITS MBEDTLS_ECP_MAX_BITS
+POLARSSL_ECP_MAX_BYTES MBEDTLS_ECP_MAX_BYTES
+POLARSSL_ECP_MAX_PT_LEN MBEDTLS_ECP_MAX_PT_LEN
+POLARSSL_ECP_NIST_OPTIM MBEDTLS_ECP_NIST_OPTIM
+POLARSSL_ECP_PF_COMPRESSED MBEDTLS_ECP_PF_COMPRESSED
+POLARSSL_ECP_PF_UNCOMPRESSED MBEDTLS_ECP_PF_UNCOMPRESSED
+POLARSSL_ECP_TLS_NAMED_CURVE MBEDTLS_ECP_TLS_NAMED_CURVE
+POLARSSL_ECP_WINDOW_SIZE MBEDTLS_ECP_WINDOW_SIZE
+POLARSSL_ENABLE_WEAK_CIPHERSUITES MBEDTLS_ENABLE_WEAK_CIPHERSUITES
+POLARSSL_ENCRYPT MBEDTLS_ENCRYPT
+POLARSSL_ENTROPY_C MBEDTLS_ENTROPY_C
+POLARSSL_ENTROPY_FORCE_SHA256 MBEDTLS_ENTROPY_FORCE_SHA256
+POLARSSL_ENTROPY_H MBEDTLS_ENTROPY_H
+POLARSSL_ENTROPY_POLL_H MBEDTLS_ENTROPY_POLL_H
+POLARSSL_ENTROPY_SHA256_ACCUMULATOR MBEDTLS_ENTROPY_SHA256_ACCUMULATOR
+POLARSSL_ENTROPY_SHA512_ACCUMULATOR MBEDTLS_ENTROPY_SHA512_ACCUMULATOR
+POLARSSL_ERROR_C MBEDTLS_ERROR_C
+POLARSSL_ERROR_H MBEDTLS_ERROR_H
+POLARSSL_ERROR_STRERROR_BC MBEDTLS_ERROR_STRERROR_BC
+POLARSSL_ERROR_STRERROR_DUMMY MBEDTLS_ERROR_STRERROR_DUMMY
+POLARSSL_ERR_AES_INVALID_INPUT_LENGTH MBEDTLS_ERR_AES_INVALID_INPUT_LENGTH
+POLARSSL_ERR_AES_INVALID_KEY_LENGTH MBEDTLS_ERR_AES_INVALID_KEY_LENGTH
+POLARSSL_ERR_ASN1_BUF_TOO_SMALL MBEDTLS_ERR_ASN1_BUF_TOO_SMALL
+POLARSSL_ERR_ASN1_INVALID_DATA MBEDTLS_ERR_ASN1_INVALID_DATA
+POLARSSL_ERR_ASN1_INVALID_LENGTH MBEDTLS_ERR_ASN1_INVALID_LENGTH
+POLARSSL_ERR_ASN1_LENGTH_MISMATCH MBEDTLS_ERR_ASN1_LENGTH_MISMATCH
+POLARSSL_ERR_ASN1_MALLOC_FAILED MBEDTLS_ERR_ASN1_ALLOC_FAILED
+POLARSSL_ERR_ASN1_OUT_OF_DATA MBEDTLS_ERR_ASN1_OUT_OF_DATA
+POLARSSL_ERR_ASN1_UNEXPECTED_TAG MBEDTLS_ERR_ASN1_UNEXPECTED_TAG
+POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL MBEDTLS_ERR_BASE64_BUFFER_TOO_SMALL
+POLARSSL_ERR_BASE64_INVALID_CHARACTER MBEDTLS_ERR_BASE64_INVALID_CHARACTER
+POLARSSL_ERR_BLOWFISH_INVALID_INPUT_LENGTH MBEDTLS_ERR_BLOWFISH_INVALID_INPUT_LENGTH
+POLARSSL_ERR_BLOWFISH_INVALID_KEY_LENGTH MBEDTLS_ERR_BLOWFISH_INVALID_KEY_LENGTH
+POLARSSL_ERR_CAMELLIA_INVALID_INPUT_LENGTH MBEDTLS_ERR_CAMELLIA_INVALID_INPUT_LENGTH
+POLARSSL_ERR_CAMELLIA_INVALID_KEY_LENGTH MBEDTLS_ERR_CAMELLIA_INVALID_KEY_LENGTH
+POLARSSL_ERR_CCM_AUTH_FAILED MBEDTLS_ERR_CCM_AUTH_FAILED
+POLARSSL_ERR_CCM_BAD_INPUT MBEDTLS_ERR_CCM_BAD_INPUT
+POLARSSL_ERR_CIPHER_ALLOC_FAILED MBEDTLS_ERR_CIPHER_ALLOC_FAILED
+POLARSSL_ERR_CIPHER_AUTH_FAILED MBEDTLS_ERR_CIPHER_AUTH_FAILED
+POLARSSL_ERR_CIPHER_BAD_INPUT_DATA MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA
+POLARSSL_ERR_CIPHER_FEATURE_UNAVAILABLE MBEDTLS_ERR_CIPHER_FEATURE_UNAVAILABLE
+POLARSSL_ERR_CIPHER_FULL_BLOCK_EXPECTED MBEDTLS_ERR_CIPHER_FULL_BLOCK_EXPECTED
+POLARSSL_ERR_CIPHER_INVALID_PADDING MBEDTLS_ERR_CIPHER_INVALID_PADDING
+POLARSSL_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED
+POLARSSL_ERR_CTR_DRBG_FILE_IO_ERROR MBEDTLS_ERR_CTR_DRBG_FILE_IO_ERROR
+POLARSSL_ERR_CTR_DRBG_INPUT_TOO_BIG MBEDTLS_ERR_CTR_DRBG_INPUT_TOO_BIG
+POLARSSL_ERR_CTR_DRBG_REQUEST_TOO_BIG MBEDTLS_ERR_CTR_DRBG_REQUEST_TOO_BIG
+POLARSSL_ERR_DES_INVALID_INPUT_LENGTH MBEDTLS_ERR_DES_INVALID_INPUT_LENGTH
+POLARSSL_ERR_DHM_BAD_INPUT_DATA MBEDTLS_ERR_DHM_BAD_INPUT_DATA
+POLARSSL_ERR_DHM_CALC_SECRET_FAILED MBEDTLS_ERR_DHM_CALC_SECRET_FAILED
+POLARSSL_ERR_DHM_FILE_IO_ERROR MBEDTLS_ERR_DHM_FILE_IO_ERROR
+POLARSSL_ERR_DHM_INVALID_FORMAT MBEDTLS_ERR_DHM_INVALID_FORMAT
+POLARSSL_ERR_DHM_MAKE_PARAMS_FAILED MBEDTLS_ERR_DHM_MAKE_PARAMS_FAILED
+POLARSSL_ERR_DHM_MAKE_PUBLIC_FAILED MBEDTLS_ERR_DHM_MAKE_PUBLIC_FAILED
+POLARSSL_ERR_DHM_MALLOC_FAILED MBEDTLS_ERR_DHM_ALLOC_FAILED
+POLARSSL_ERR_DHM_READ_PARAMS_FAILED MBEDTLS_ERR_DHM_READ_PARAMS_FAILED
+POLARSSL_ERR_DHM_READ_PUBLIC_FAILED MBEDTLS_ERR_DHM_READ_PUBLIC_FAILED
+POLARSSL_ERR_ECP_BAD_INPUT_DATA MBEDTLS_ERR_ECP_BAD_INPUT_DATA
+POLARSSL_ERR_ECP_BUFFER_TOO_SMALL MBEDTLS_ERR_ECP_BUFFER_TOO_SMALL
+POLARSSL_ERR_ECP_FEATURE_UNAVAILABLE MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE
+POLARSSL_ERR_ECP_INVALID_KEY MBEDTLS_ERR_ECP_INVALID_KEY
+POLARSSL_ERR_ECP_MALLOC_FAILED MBEDTLS_ERR_ECP_ALLOC_FAILED
+POLARSSL_ERR_ECP_RANDOM_FAILED MBEDTLS_ERR_ECP_RANDOM_FAILED
+POLARSSL_ERR_ECP_SIG_LEN_MISMATCH MBEDTLS_ERR_ECP_SIG_LEN_MISMATCH
+POLARSSL_ERR_ECP_VERIFY_FAILED MBEDTLS_ERR_ECP_VERIFY_FAILED
+POLARSSL_ERR_ENTROPY_FILE_IO_ERROR MBEDTLS_ERR_ENTROPY_FILE_IO_ERROR
+POLARSSL_ERR_ENTROPY_MAX_SOURCES MBEDTLS_ERR_ENTROPY_MAX_SOURCES
+POLARSSL_ERR_ENTROPY_NO_SOURCES_DEFINED MBEDTLS_ERR_ENTROPY_NO_SOURCES_DEFINED
+POLARSSL_ERR_ENTROPY_SOURCE_FAILED MBEDTLS_ERR_ENTROPY_SOURCE_FAILED
+POLARSSL_ERR_GCM_AUTH_FAILED MBEDTLS_ERR_GCM_AUTH_FAILED
+POLARSSL_ERR_GCM_BAD_INPUT MBEDTLS_ERR_GCM_BAD_INPUT
+POLARSSL_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED MBEDTLS_ERR_HMAC_DRBG_ENTROPY_SOURCE_FAILED
+POLARSSL_ERR_HMAC_DRBG_FILE_IO_ERROR MBEDTLS_ERR_HMAC_DRBG_FILE_IO_ERROR
+POLARSSL_ERR_HMAC_DRBG_INPUT_TOO_BIG MBEDTLS_ERR_HMAC_DRBG_INPUT_TOO_BIG
+POLARSSL_ERR_HMAC_DRBG_REQUEST_TOO_BIG MBEDTLS_ERR_HMAC_DRBG_REQUEST_TOO_BIG
+POLARSSL_ERR_MD2_FILE_IO_ERROR MBEDTLS_ERR_MD2_FILE_IO_ERROR
+POLARSSL_ERR_MD4_FILE_IO_ERROR MBEDTLS_ERR_MD4_FILE_IO_ERROR
+POLARSSL_ERR_MD5_FILE_IO_ERROR MBEDTLS_ERR_MD5_FILE_IO_ERROR
+POLARSSL_ERR_MD_ALLOC_FAILED MBEDTLS_ERR_MD_ALLOC_FAILED
+POLARSSL_ERR_MD_BAD_INPUT_DATA MBEDTLS_ERR_MD_BAD_INPUT_DATA
+POLARSSL_ERR_MD_FEATURE_UNAVAILABLE MBEDTLS_ERR_MD_FEATURE_UNAVAILABLE
+POLARSSL_ERR_MD_FILE_IO_ERROR MBEDTLS_ERR_MD_FILE_IO_ERROR
+POLARSSL_ERR_MPI_BAD_INPUT_DATA MBEDTLS_ERR_MPI_BAD_INPUT_DATA
+POLARSSL_ERR_MPI_BUFFER_TOO_SMALL MBEDTLS_ERR_MPI_BUFFER_TOO_SMALL
+POLARSSL_ERR_MPI_DIVISION_BY_ZERO MBEDTLS_ERR_MPI_DIVISION_BY_ZERO
+POLARSSL_ERR_MPI_FILE_IO_ERROR MBEDTLS_ERR_MPI_FILE_IO_ERROR
+POLARSSL_ERR_MPI_INVALID_CHARACTER MBEDTLS_ERR_MPI_INVALID_CHARACTER
+POLARSSL_ERR_MPI_MALLOC_FAILED MBEDTLS_ERR_MPI_ALLOC_FAILED
+POLARSSL_ERR_MPI_NEGATIVE_VALUE MBEDTLS_ERR_MPI_NEGATIVE_VALUE
+POLARSSL_ERR_MPI_NOT_ACCEPTABLE MBEDTLS_ERR_MPI_NOT_ACCEPTABLE
+POLARSSL_ERR_NET_ACCEPT_FAILED MBEDTLS_ERR_NET_ACCEPT_FAILED
+POLARSSL_ERR_NET_BIND_FAILED MBEDTLS_ERR_NET_BIND_FAILED
+POLARSSL_ERR_NET_CONNECT_FAILED MBEDTLS_ERR_NET_CONNECT_FAILED
+POLARSSL_ERR_NET_CONN_RESET MBEDTLS_ERR_NET_CONN_RESET
+POLARSSL_ERR_NET_LISTEN_FAILED MBEDTLS_ERR_NET_LISTEN_FAILED
+POLARSSL_ERR_NET_RECV_FAILED MBEDTLS_ERR_NET_RECV_FAILED
+POLARSSL_ERR_NET_SEND_FAILED MBEDTLS_ERR_NET_SEND_FAILED
+POLARSSL_ERR_NET_SOCKET_FAILED MBEDTLS_ERR_NET_SOCKET_FAILED
+POLARSSL_ERR_NET_TIMEOUT MBEDTLS_ERR_SSL_TIMEOUT
+POLARSSL_ERR_NET_UNKNOWN_HOST MBEDTLS_ERR_NET_UNKNOWN_HOST
+POLARSSL_ERR_NET_WANT_READ MBEDTLS_ERR_SSL_WANT_READ
+POLARSSL_ERR_NET_WANT_WRITE MBEDTLS_ERR_SSL_WANT_WRITE
+POLARSSL_ERR_OID_BUF_TOO_SMALL MBEDTLS_ERR_OID_BUF_TOO_SMALL
+POLARSSL_ERR_OID_NOT_FOUND MBEDTLS_ERR_OID_NOT_FOUND
+POLARSSL_ERR_PADLOCK_DATA_MISALIGNED MBEDTLS_ERR_PADLOCK_DATA_MISALIGNED
+POLARSSL_ERR_PBKDF2_BAD_INPUT_DATA MBEDTLS_ERR_PBKDF2_BAD_INPUT_DATA
+POLARSSL_ERR_PEM_BAD_INPUT_DATA MBEDTLS_ERR_PEM_BAD_INPUT_DATA
+POLARSSL_ERR_PEM_FEATURE_UNAVAILABLE MBEDTLS_ERR_PEM_FEATURE_UNAVAILABLE
+POLARSSL_ERR_PEM_INVALID_DATA MBEDTLS_ERR_PEM_INVALID_DATA
+POLARSSL_ERR_PEM_INVALID_ENC_IV MBEDTLS_ERR_PEM_INVALID_ENC_IV
+POLARSSL_ERR_PEM_MALLOC_FAILED MBEDTLS_ERR_PEM_ALLOC_FAILED
+POLARSSL_ERR_PEM_NO_HEADER_FOOTER_PRESENT MBEDTLS_ERR_PEM_NO_HEADER_FOOTER_PRESENT
+POLARSSL_ERR_PEM_PASSWORD_MISMATCH MBEDTLS_ERR_PEM_PASSWORD_MISMATCH
+POLARSSL_ERR_PEM_PASSWORD_REQUIRED MBEDTLS_ERR_PEM_PASSWORD_REQUIRED
+POLARSSL_ERR_PEM_UNKNOWN_ENC_ALG MBEDTLS_ERR_PEM_UNKNOWN_ENC_ALG
+POLARSSL_ERR_PKCS12_BAD_INPUT_DATA MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA
+POLARSSL_ERR_PKCS12_FEATURE_UNAVAILABLE MBEDTLS_ERR_PKCS12_FEATURE_UNAVAILABLE
+POLARSSL_ERR_PKCS12_PASSWORD_MISMATCH MBEDTLS_ERR_PKCS12_PASSWORD_MISMATCH
+POLARSSL_ERR_PKCS12_PBE_INVALID_FORMAT MBEDTLS_ERR_PKCS12_PBE_INVALID_FORMAT
+POLARSSL_ERR_PKCS5_BAD_INPUT_DATA MBEDTLS_ERR_PKCS5_BAD_INPUT_DATA
+POLARSSL_ERR_PKCS5_FEATURE_UNAVAILABLE MBEDTLS_ERR_PKCS5_FEATURE_UNAVAILABLE
+POLARSSL_ERR_PKCS5_INVALID_FORMAT MBEDTLS_ERR_PKCS5_INVALID_FORMAT
+POLARSSL_ERR_PKCS5_PASSWORD_MISMATCH MBEDTLS_ERR_PKCS5_PASSWORD_MISMATCH
+POLARSSL_ERR_PK_BAD_INPUT_DATA MBEDTLS_ERR_PK_BAD_INPUT_DATA
+POLARSSL_ERR_PK_FEATURE_UNAVAILABLE MBEDTLS_ERR_PK_FEATURE_UNAVAILABLE
+POLARSSL_ERR_PK_FILE_IO_ERROR MBEDTLS_ERR_PK_FILE_IO_ERROR
+POLARSSL_ERR_PK_INVALID_ALG MBEDTLS_ERR_PK_INVALID_ALG
+POLARSSL_ERR_PK_INVALID_PUBKEY MBEDTLS_ERR_PK_INVALID_PUBKEY
+POLARSSL_ERR_PK_KEY_INVALID_FORMAT MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
+POLARSSL_ERR_PK_KEY_INVALID_VERSION MBEDTLS_ERR_PK_KEY_INVALID_VERSION
+POLARSSL_ERR_PK_MALLOC_FAILED MBEDTLS_ERR_PK_ALLOC_FAILED
+POLARSSL_ERR_PK_PASSWORD_MISMATCH MBEDTLS_ERR_PK_PASSWORD_MISMATCH
+POLARSSL_ERR_PK_PASSWORD_REQUIRED MBEDTLS_ERR_PK_PASSWORD_REQUIRED
+POLARSSL_ERR_PK_SIG_LEN_MISMATCH MBEDTLS_ERR_PK_SIG_LEN_MISMATCH
+POLARSSL_ERR_PK_TYPE_MISMATCH MBEDTLS_ERR_PK_TYPE_MISMATCH
+POLARSSL_ERR_PK_UNKNOWN_NAMED_CURVE MBEDTLS_ERR_PK_UNKNOWN_NAMED_CURVE
+POLARSSL_ERR_PK_UNKNOWN_PK_ALG MBEDTLS_ERR_PK_UNKNOWN_PK_ALG
+POLARSSL_ERR_RIPEMD160_FILE_IO_ERROR MBEDTLS_ERR_RIPEMD160_FILE_IO_ERROR
+POLARSSL_ERR_RSA_BAD_INPUT_DATA MBEDTLS_ERR_RSA_BAD_INPUT_DATA
+POLARSSL_ERR_RSA_INVALID_PADDING MBEDTLS_ERR_RSA_INVALID_PADDING
+POLARSSL_ERR_RSA_KEY_CHECK_FAILED MBEDTLS_ERR_RSA_KEY_CHECK_FAILED
+POLARSSL_ERR_RSA_KEY_GEN_FAILED MBEDTLS_ERR_RSA_KEY_GEN_FAILED
+POLARSSL_ERR_RSA_OUTPUT_TOO_LARGE MBEDTLS_ERR_RSA_OUTPUT_TOO_LARGE
+POLARSSL_ERR_RSA_PRIVATE_FAILED MBEDTLS_ERR_RSA_PRIVATE_FAILED
+POLARSSL_ERR_RSA_PUBLIC_FAILED MBEDTLS_ERR_RSA_PUBLIC_FAILED
+POLARSSL_ERR_RSA_RNG_FAILED MBEDTLS_ERR_RSA_RNG_FAILED
+POLARSSL_ERR_RSA_VERIFY_FAILED MBEDTLS_ERR_RSA_VERIFY_FAILED
+POLARSSL_ERR_SHA1_FILE_IO_ERROR MBEDTLS_ERR_SHA1_FILE_IO_ERROR
+POLARSSL_ERR_SHA256_FILE_IO_ERROR MBEDTLS_ERR_SHA256_FILE_IO_ERROR
+POLARSSL_ERR_SHA512_FILE_IO_ERROR MBEDTLS_ERR_SHA512_FILE_IO_ERROR
+POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE
+POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST
+POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY MBEDTLS_ERR_SSL_BAD_HS_CERTIFICATE_VERIFY
+POLARSSL_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC MBEDTLS_ERR_SSL_BAD_HS_CHANGE_CIPHER_SPEC
+POLARSSL_ERR_SSL_BAD_HS_CLIENT_HELLO MBEDTLS_ERR_SSL_BAD_HS_CLIENT_HELLO
+POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE
+POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_CS
+POLARSSL_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP MBEDTLS_ERR_SSL_BAD_HS_CLIENT_KEY_EXCHANGE_RP
+POLARSSL_ERR_SSL_BAD_HS_FINISHED MBEDTLS_ERR_SSL_BAD_HS_FINISHED
+POLARSSL_ERR_SSL_BAD_HS_NEW_SESSION_TICKET MBEDTLS_ERR_SSL_BAD_HS_NEW_SESSION_TICKET
+POLARSSL_ERR_SSL_BAD_HS_PROTOCOL_VERSION MBEDTLS_ERR_SSL_BAD_HS_PROTOCOL_VERSION
+POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO
+POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO_DONE MBEDTLS_ERR_SSL_BAD_HS_SERVER_HELLO_DONE
+POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE MBEDTLS_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE
+POLARSSL_ERR_SSL_BAD_INPUT_DATA MBEDTLS_ERR_SSL_BAD_INPUT_DATA
+POLARSSL_ERR_SSL_BUFFER_TOO_SMALL MBEDTLS_ERR_SSL_BUFFER_TOO_SMALL
+POLARSSL_ERR_SSL_CA_CHAIN_REQUIRED MBEDTLS_ERR_SSL_CA_CHAIN_REQUIRED
+POLARSSL_ERR_SSL_CERTIFICATE_REQUIRED MBEDTLS_ERR_SSL_CERTIFICATE_REQUIRED
+POLARSSL_ERR_SSL_CERTIFICATE_TOO_LARGE MBEDTLS_ERR_SSL_CERTIFICATE_TOO_LARGE
+POLARSSL_ERR_SSL_COMPRESSION_FAILED MBEDTLS_ERR_SSL_COMPRESSION_FAILED
+POLARSSL_ERR_SSL_CONN_EOF MBEDTLS_ERR_SSL_CONN_EOF
+POLARSSL_ERR_SSL_COUNTER_WRAPPING MBEDTLS_ERR_SSL_COUNTER_WRAPPING
+POLARSSL_ERR_SSL_FATAL_ALERT_MESSAGE MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE
+POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE MBEDTLS_ERR_SSL_FEATURE_UNAVAILABLE
+POLARSSL_ERR_SSL_HELLO_VERIFY_REQUIRED MBEDTLS_ERR_SSL_HELLO_VERIFY_REQUIRED
+POLARSSL_ERR_SSL_HW_ACCEL_FAILED MBEDTLS_ERR_SSL_HW_ACCEL_FAILED
+POLARSSL_ERR_SSL_HW_ACCEL_FALLTHROUGH MBEDTLS_ERR_SSL_HW_ACCEL_FALLTHROUGH
+POLARSSL_ERR_SSL_INTERNAL_ERROR MBEDTLS_ERR_SSL_INTERNAL_ERROR
+POLARSSL_ERR_SSL_INVALID_MAC MBEDTLS_ERR_SSL_INVALID_MAC
+POLARSSL_ERR_SSL_INVALID_RECORD MBEDTLS_ERR_SSL_INVALID_RECORD
+POLARSSL_ERR_SSL_MALLOC_FAILED MBEDTLS_ERR_SSL_ALLOC_FAILED
+POLARSSL_ERR_SSL_NO_CIPHER_CHOSEN MBEDTLS_ERR_SSL_NO_CIPHER_CHOSEN
+POLARSSL_ERR_SSL_NO_CLIENT_CERTIFICATE MBEDTLS_ERR_SSL_NO_CLIENT_CERTIFICATE
+POLARSSL_ERR_SSL_NO_RNG MBEDTLS_ERR_SSL_NO_RNG
+POLARSSL_ERR_SSL_NO_USABLE_CIPHERSUITE MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE
+POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY MBEDTLS_ERR_SSL_PEER_CLOSE_NOTIFY
+POLARSSL_ERR_SSL_PEER_VERIFY_FAILED MBEDTLS_ERR_SSL_PEER_VERIFY_FAILED
+POLARSSL_ERR_SSL_PK_TYPE_MISMATCH MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH
+POLARSSL_ERR_SSL_PRIVATE_KEY_REQUIRED MBEDTLS_ERR_SSL_PRIVATE_KEY_REQUIRED
+POLARSSL_ERR_SSL_SESSION_TICKET_EXPIRED MBEDTLS_ERR_SSL_SESSION_TICKET_EXPIRED
+POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE MBEDTLS_ERR_SSL_UNEXPECTED_MESSAGE
+POLARSSL_ERR_SSL_UNKNOWN_CIPHER MBEDTLS_ERR_SSL_UNKNOWN_CIPHER
+POLARSSL_ERR_SSL_UNKNOWN_IDENTITY MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY
+POLARSSL_ERR_SSL_WAITING_SERVER_HELLO_RENEGO MBEDTLS_ERR_SSL_WAITING_SERVER_HELLO_RENEGO
+POLARSSL_ERR_THREADING_BAD_INPUT_DATA MBEDTLS_ERR_THREADING_BAD_INPUT_DATA
+POLARSSL_ERR_THREADING_FEATURE_UNAVAILABLE MBEDTLS_ERR_THREADING_FEATURE_UNAVAILABLE
+POLARSSL_ERR_THREADING_MUTEX_ERROR MBEDTLS_ERR_THREADING_MUTEX_ERROR
+POLARSSL_ERR_X509_BAD_INPUT_DATA MBEDTLS_ERR_X509_BAD_INPUT_DATA
+POLARSSL_ERR_X509_CERT_UNKNOWN_FORMAT MBEDTLS_ERR_X509_CERT_UNKNOWN_FORMAT
+POLARSSL_ERR_X509_CERT_VERIFY_FAILED MBEDTLS_ERR_X509_CERT_VERIFY_FAILED
+POLARSSL_ERR_X509_FEATURE_UNAVAILABLE MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE
+POLARSSL_ERR_X509_FILE_IO_ERROR MBEDTLS_ERR_X509_FILE_IO_ERROR
+POLARSSL_ERR_X509_INVALID_ALG MBEDTLS_ERR_X509_INVALID_ALG
+POLARSSL_ERR_X509_INVALID_DATE MBEDTLS_ERR_X509_INVALID_DATE
+POLARSSL_ERR_X509_INVALID_EXTENSIONS MBEDTLS_ERR_X509_INVALID_EXTENSIONS
+POLARSSL_ERR_X509_INVALID_FORMAT MBEDTLS_ERR_X509_INVALID_FORMAT
+POLARSSL_ERR_X509_INVALID_NAME MBEDTLS_ERR_X509_INVALID_NAME
+POLARSSL_ERR_X509_INVALID_SERIAL MBEDTLS_ERR_X509_INVALID_SERIAL
+POLARSSL_ERR_X509_INVALID_SIGNATURE MBEDTLS_ERR_X509_INVALID_SIGNATURE
+POLARSSL_ERR_X509_INVALID_VERSION MBEDTLS_ERR_X509_INVALID_VERSION
+POLARSSL_ERR_X509_MALLOC_FAILED MBEDTLS_ERR_X509_ALLOC_FAILED
+POLARSSL_ERR_X509_SIG_MISMATCH MBEDTLS_ERR_X509_SIG_MISMATCH
+POLARSSL_ERR_X509_UNKNOWN_OID MBEDTLS_ERR_X509_UNKNOWN_OID
+POLARSSL_ERR_X509_UNKNOWN_SIG_ALG MBEDTLS_ERR_X509_UNKNOWN_SIG_ALG
+POLARSSL_ERR_X509_UNKNOWN_VERSION MBEDTLS_ERR_X509_UNKNOWN_VERSION
+POLARSSL_ERR_XTEA_INVALID_INPUT_LENGTH MBEDTLS_ERR_XTEA_INVALID_INPUT_LENGTH
+POLARSSL_FS_IO MBEDTLS_FS_IO
+POLARSSL_GCM_C MBEDTLS_GCM_C
+POLARSSL_GCM_H MBEDTLS_GCM_H
+POLARSSL_GENPRIME MBEDTLS_GENPRIME
+POLARSSL_HAVEGE_C MBEDTLS_HAVEGE_C
+POLARSSL_HAVEGE_H MBEDTLS_HAVEGE_H
+POLARSSL_HAVE_ASM MBEDTLS_HAVE_ASM
+POLARSSL_HAVE_INT16 MBEDTLS_HAVE_INT16
+POLARSSL_HAVE_INT32 MBEDTLS_HAVE_INT32
+POLARSSL_HAVE_INT64 MBEDTLS_HAVE_INT64
+POLARSSL_HAVE_INT8 MBEDTLS_HAVE_INT8
+POLARSSL_HAVE_IPV6 MBEDTLS_HAVE_IPV6
+POLARSSL_HAVE_LONGLONG MBEDTLS_HAVE_LONGLONG
+POLARSSL_HAVE_SSE2 MBEDTLS_HAVE_SSE2
+POLARSSL_HAVE_TIME MBEDTLS_HAVE_TIME
+POLARSSL_HAVE_UDBL MBEDTLS_HAVE_UDBL
+POLARSSL_HAVE_X86 MBEDTLS_HAVE_X86
+POLARSSL_HAVE_X86_64 MBEDTLS_HAVE_X86_64
+POLARSSL_HMAC_DRBG_C MBEDTLS_HMAC_DRBG_C
+POLARSSL_HMAC_DRBG_H MBEDTLS_HMAC_DRBG_H
+POLARSSL_HMAC_DRBG_MAX_INPUT MBEDTLS_HMAC_DRBG_MAX_INPUT
+POLARSSL_HMAC_DRBG_MAX_REQUEST MBEDTLS_HMAC_DRBG_MAX_REQUEST
+POLARSSL_HMAC_DRBG_MAX_SEED_INPUT MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT
+POLARSSL_HMAC_DRBG_PR_OFF MBEDTLS_HMAC_DRBG_PR_OFF
+POLARSSL_HMAC_DRBG_PR_ON MBEDTLS_HMAC_DRBG_PR_ON
+POLARSSL_HMAC_DRBG_RESEED_INTERVAL MBEDTLS_HMAC_DRBG_RESEED_INTERVAL
+POLARSSL_KEY_EXCHANGE_DHE_PSK MBEDTLS_KEY_EXCHANGE_DHE_PSK
+POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
+POLARSSL_KEY_EXCHANGE_DHE_RSA MBEDTLS_KEY_EXCHANGE_DHE_RSA
+POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
+POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA
+POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
+POLARSSL_KEY_EXCHANGE_ECDHE_PSK MBEDTLS_KEY_EXCHANGE_ECDHE_PSK
+POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
+POLARSSL_KEY_EXCHANGE_ECDHE_RSA MBEDTLS_KEY_EXCHANGE_ECDHE_RSA
+POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
+POLARSSL_KEY_EXCHANGE_ECDH_ECDSA MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA
+POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
+POLARSSL_KEY_EXCHANGE_ECDH_RSA MBEDTLS_KEY_EXCHANGE_ECDH_RSA
+POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
+POLARSSL_KEY_EXCHANGE_NONE MBEDTLS_KEY_EXCHANGE_NONE
+POLARSSL_KEY_EXCHANGE_PSK MBEDTLS_KEY_EXCHANGE_PSK
+POLARSSL_KEY_EXCHANGE_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
+POLARSSL_KEY_EXCHANGE_RSA MBEDTLS_KEY_EXCHANGE_RSA
+POLARSSL_KEY_EXCHANGE_RSA_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
+POLARSSL_KEY_EXCHANGE_RSA_PSK MBEDTLS_KEY_EXCHANGE_RSA_PSK
+POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
+POLARSSL_KEY_EXCHANGE__SOME__ECDHE_ENABLED MBEDTLS_KEY_EXCHANGE__SOME__ECDHE_ENABLED
+POLARSSL_KEY_EXCHANGE__SOME__PSK_ENABLED MBEDTLS_KEY_EXCHANGE__SOME__PSK_ENABLED
+POLARSSL_KEY_EXCHANGE__WITH_CERT__ENABLED MBEDTLS_KEY_EXCHANGE__WITH_CERT__ENABLED
+POLARSSL_KEY_LENGTH_DES MBEDTLS_KEY_LENGTH_DES
+POLARSSL_KEY_LENGTH_DES_EDE MBEDTLS_KEY_LENGTH_DES_EDE
+POLARSSL_KEY_LENGTH_DES_EDE3 MBEDTLS_KEY_LENGTH_DES_EDE3
+POLARSSL_KEY_LENGTH_NONE MBEDTLS_KEY_LENGTH_NONE
+POLARSSL_MAX_BLOCK_LENGTH MBEDTLS_MAX_BLOCK_LENGTH
+POLARSSL_MAX_IV_LENGTH MBEDTLS_MAX_IV_LENGTH
+POLARSSL_MD2_ALT MBEDTLS_MD2_ALT
+POLARSSL_MD2_C MBEDTLS_MD2_C
+POLARSSL_MD2_H MBEDTLS_MD2_H
+POLARSSL_MD4_ALT MBEDTLS_MD4_ALT
+POLARSSL_MD4_C MBEDTLS_MD4_C
+POLARSSL_MD4_H MBEDTLS_MD4_H
+POLARSSL_MD5_ALT MBEDTLS_MD5_ALT
+POLARSSL_MD5_C MBEDTLS_MD5_C
+POLARSSL_MD5_H MBEDTLS_MD5_H
+POLARSSL_MD_C MBEDTLS_MD_C
+POLARSSL_MD_H MBEDTLS_MD_H
+POLARSSL_MD_MAX_SIZE MBEDTLS_MD_MAX_SIZE
+POLARSSL_MD_MD2 MBEDTLS_MD_MD2
+POLARSSL_MD_MD4 MBEDTLS_MD_MD4
+POLARSSL_MD_MD5 MBEDTLS_MD_MD5
+POLARSSL_MD_NONE MBEDTLS_MD_NONE
+POLARSSL_MD_RIPEMD160 MBEDTLS_MD_RIPEMD160
+POLARSSL_MD_SHA1 MBEDTLS_MD_SHA1
+POLARSSL_MD_SHA224 MBEDTLS_MD_SHA224
+POLARSSL_MD_SHA256 MBEDTLS_MD_SHA256
+POLARSSL_MD_SHA384 MBEDTLS_MD_SHA384
+POLARSSL_MD_SHA512 MBEDTLS_MD_SHA512
+POLARSSL_MD_WRAP_H MBEDTLS_MD_WRAP_H
+POLARSSL_MEMORY_ALIGN_MULTIPLE MBEDTLS_MEMORY_ALIGN_MULTIPLE
+POLARSSL_MEMORY_BACKTRACE MBEDTLS_MEMORY_BACKTRACE
+POLARSSL_MEMORY_BUFFER_ALLOC_C MBEDTLS_MEMORY_BUFFER_ALLOC_C
+POLARSSL_MEMORY_BUFFER_ALLOC_H MBEDTLS_MEMORY_BUFFER_ALLOC_H
+POLARSSL_MEMORY_C MBEDTLS_MEMORY_C
+POLARSSL_MEMORY_DEBUG MBEDTLS_MEMORY_DEBUG
+POLARSSL_MEMORY_H MBEDTLS_MEMORY_H
+POLARSSL_MODE_CBC MBEDTLS_MODE_CBC
+POLARSSL_MODE_CCM MBEDTLS_MODE_CCM
+POLARSSL_MODE_CFB MBEDTLS_MODE_CFB
+POLARSSL_MODE_CTR MBEDTLS_MODE_CTR
+POLARSSL_MODE_ECB MBEDTLS_MODE_ECB
+POLARSSL_MODE_GCM MBEDTLS_MODE_GCM
+POLARSSL_MODE_NONE MBEDTLS_MODE_NONE
+POLARSSL_MODE_OFB MBEDTLS_MODE_OFB
+POLARSSL_MODE_STREAM MBEDTLS_MODE_STREAM
+POLARSSL_MPI_MAX_BITS MBEDTLS_MPI_MAX_BITS
+POLARSSL_MPI_MAX_BITS_SCALE100 MBEDTLS_MPI_MAX_BITS_SCALE100
+POLARSSL_MPI_MAX_LIMBS MBEDTLS_MPI_MAX_LIMBS
+POLARSSL_MPI_MAX_SIZE MBEDTLS_MPI_MAX_SIZE
+POLARSSL_MPI_RW_BUFFER_SIZE MBEDTLS_MPI_RW_BUFFER_SIZE
+POLARSSL_MPI_WINDOW_SIZE MBEDTLS_MPI_WINDOW_SIZE
+POLARSSL_NET_C MBEDTLS_NET_C
+POLARSSL_NET_H MBEDTLS_NET_H
+POLARSSL_NET_LISTEN_BACKLOG MBEDTLS_NET_LISTEN_BACKLOG
+POLARSSL_NO_DEFAULT_ENTROPY_SOURCES MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
+POLARSSL_NO_PLATFORM_ENTROPY MBEDTLS_NO_PLATFORM_ENTROPY
+POLARSSL_OID_C MBEDTLS_OID_C
+POLARSSL_OID_H MBEDTLS_OID_H
+POLARSSL_OPERATION_NONE MBEDTLS_OPERATION_NONE
+POLARSSL_PADDING_NONE MBEDTLS_PADDING_NONE
+POLARSSL_PADDING_ONE_AND_ZEROS MBEDTLS_PADDING_ONE_AND_ZEROS
+POLARSSL_PADDING_PKCS7 MBEDTLS_PADDING_PKCS7
+POLARSSL_PADDING_ZEROS MBEDTLS_PADDING_ZEROS
+POLARSSL_PADDING_ZEROS_AND_LEN MBEDTLS_PADDING_ZEROS_AND_LEN
+POLARSSL_PADLOCK_C MBEDTLS_PADLOCK_C
+POLARSSL_PADLOCK_H MBEDTLS_PADLOCK_H
+POLARSSL_PBKDF2_C MBEDTLS_PBKDF2_C
+POLARSSL_PBKDF2_H MBEDTLS_PBKDF2_H
+POLARSSL_PEM_H MBEDTLS_PEM_H
+POLARSSL_PEM_PARSE_C MBEDTLS_PEM_PARSE_C
+POLARSSL_PEM_WRITE_C MBEDTLS_PEM_WRITE_C
+POLARSSL_PKCS11_C MBEDTLS_PKCS11_C
+POLARSSL_PKCS11_H MBEDTLS_PKCS11_H
+POLARSSL_PKCS12_C MBEDTLS_PKCS12_C
+POLARSSL_PKCS12_H MBEDTLS_PKCS12_H
+POLARSSL_PKCS1_V15 MBEDTLS_PKCS1_V15
+POLARSSL_PKCS1_V21 MBEDTLS_PKCS1_V21
+POLARSSL_PKCS5_C MBEDTLS_PKCS5_C
+POLARSSL_PKCS5_H MBEDTLS_PKCS5_H
+POLARSSL_PK_C MBEDTLS_PK_C
+POLARSSL_PK_DEBUG_ECP MBEDTLS_PK_DEBUG_ECP
+POLARSSL_PK_DEBUG_MAX_ITEMS MBEDTLS_PK_DEBUG_MAX_ITEMS
+POLARSSL_PK_DEBUG_MPI MBEDTLS_PK_DEBUG_MPI
+POLARSSL_PK_DEBUG_NONE MBEDTLS_PK_DEBUG_NONE
+POLARSSL_PK_ECDSA MBEDTLS_PK_ECDSA
+POLARSSL_PK_ECKEY MBEDTLS_PK_ECKEY
+POLARSSL_PK_ECKEY_DH MBEDTLS_PK_ECKEY_DH
+POLARSSL_PK_H MBEDTLS_PK_H
+POLARSSL_PK_NONE MBEDTLS_PK_NONE
+POLARSSL_PK_PARSE_C MBEDTLS_PK_PARSE_C
+POLARSSL_PK_PARSE_EC_EXTENDED MBEDTLS_PK_PARSE_EC_EXTENDED
+POLARSSL_PK_RSA MBEDTLS_PK_RSA
+POLARSSL_PK_RSASSA_PSS MBEDTLS_PK_RSASSA_PSS
+POLARSSL_PK_RSA_ALT MBEDTLS_PK_RSA_ALT
+POLARSSL_PK_WRAP_H MBEDTLS_PK_WRAP_H
+POLARSSL_PK_WRITE_C MBEDTLS_PK_WRITE_C
+POLARSSL_PLATFORM_C MBEDTLS_PLATFORM_C
+POLARSSL_PLATFORM_EXIT_ALT MBEDTLS_PLATFORM_EXIT_ALT
+POLARSSL_PLATFORM_EXIT_MACRO MBEDTLS_PLATFORM_EXIT_MACRO
+POLARSSL_PLATFORM_FPRINTF_ALT MBEDTLS_PLATFORM_FPRINTF_ALT
+POLARSSL_PLATFORM_FPRINTF_MACRO MBEDTLS_PLATFORM_FPRINTF_MACRO
+POLARSSL_PLATFORM_FREE_MACRO MBEDTLS_PLATFORM_FREE_MACRO
+POLARSSL_PLATFORM_H MBEDTLS_PLATFORM_H
+POLARSSL_PLATFORM_MALLOC_MACRO MBEDTLS_PLATFORM_ALLOC_MACRO
+POLARSSL_PLATFORM_MEMORY MBEDTLS_PLATFORM_MEMORY
+POLARSSL_PLATFORM_NO_STD_FUNCTIONS MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
+POLARSSL_PLATFORM_PRINTF_ALT MBEDTLS_PLATFORM_PRINTF_ALT
+POLARSSL_PLATFORM_PRINTF_MACRO MBEDTLS_PLATFORM_PRINTF_MACRO
+POLARSSL_PLATFORM_SNPRINTF_ALT MBEDTLS_PLATFORM_SNPRINTF_ALT
+POLARSSL_PLATFORM_SNPRINTF_MACRO MBEDTLS_PLATFORM_SNPRINTF_MACRO
+POLARSSL_PLATFORM_STD_EXIT MBEDTLS_PLATFORM_STD_EXIT
+POLARSSL_PLATFORM_STD_FPRINTF MBEDTLS_PLATFORM_STD_FPRINTF
+POLARSSL_PLATFORM_STD_FREE MBEDTLS_PLATFORM_STD_FREE
+POLARSSL_PLATFORM_STD_MALLOC MBEDTLS_PLATFORM_STD_CALLOC
+POLARSSL_PLATFORM_STD_MEM_HDR MBEDTLS_PLATFORM_STD_MEM_HDR
+POLARSSL_PLATFORM_STD_PRINTF MBEDTLS_PLATFORM_STD_PRINTF
+POLARSSL_PLATFORM_STD_SNPRINTF MBEDTLS_PLATFORM_STD_SNPRINTF
+POLARSSL_PREMASTER_SIZE MBEDTLS_PREMASTER_SIZE
+POLARSSL_PSK_MAX_LEN MBEDTLS_PSK_MAX_LEN
+POLARSSL_REMOVE_ARC4_CIPHERSUITES MBEDTLS_REMOVE_ARC4_CIPHERSUITES
+POLARSSL_RIPEMD160_ALT MBEDTLS_RIPEMD160_ALT
+POLARSSL_RIPEMD160_C MBEDTLS_RIPEMD160_C
+POLARSSL_RIPEMD160_H MBEDTLS_RIPEMD160_H
+POLARSSL_RSA_C MBEDTLS_RSA_C
+POLARSSL_RSA_H MBEDTLS_RSA_H
+POLARSSL_RSA_NO_CRT MBEDTLS_RSA_NO_CRT
+POLARSSL_SELF_TEST MBEDTLS_SELF_TEST
+POLARSSL_SHA1_ALT MBEDTLS_SHA1_ALT
+POLARSSL_SHA1_C MBEDTLS_SHA1_C
+POLARSSL_SHA1_H MBEDTLS_SHA1_H
+POLARSSL_SHA256_ALT MBEDTLS_SHA256_ALT
+POLARSSL_SHA256_C MBEDTLS_SHA256_C
+POLARSSL_SHA256_H MBEDTLS_SHA256_H
+POLARSSL_SHA512_ALT MBEDTLS_SHA512_ALT
+POLARSSL_SHA512_C MBEDTLS_SHA512_C
+POLARSSL_SHA512_H MBEDTLS_SHA512_H
+POLARSSL_SSL_AEAD_RANDOM_IV MBEDTLS_SSL_AEAD_RANDOM_IV
+POLARSSL_SSL_ALERT_MESSAGES MBEDTLS_SSL_ALERT_MESSAGES
+POLARSSL_SSL_ALPN MBEDTLS_SSL_ALPN
+POLARSSL_SSL_CACHE_C MBEDTLS_SSL_CACHE_C
+POLARSSL_SSL_CACHE_H MBEDTLS_SSL_CACHE_H
+POLARSSL_SSL_CBC_RECORD_SPLITTING MBEDTLS_SSL_CBC_RECORD_SPLITTING
+POLARSSL_SSL_CIPHERSUITES_H MBEDTLS_SSL_CIPHERSUITES_H
+POLARSSL_SSL_CLI_C MBEDTLS_SSL_CLI_C
+POLARSSL_SSL_COOKIE_C MBEDTLS_SSL_COOKIE_C
+POLARSSL_SSL_COOKIE_H MBEDTLS_SSL_COOKIE_H
+POLARSSL_SSL_COOKIE_TIMEOUT MBEDTLS_SSL_COOKIE_TIMEOUT
+POLARSSL_SSL_DEBUG_ALL MBEDTLS_SSL_DEBUG_ALL
+POLARSSL_SSL_DISABLE_RENEGOTIATION MBEDTLS_SSL_DISABLE_RENEGOTIATION
+POLARSSL_SSL_DTLS_ANTI_REPLAY MBEDTLS_SSL_DTLS_ANTI_REPLAY
+POLARSSL_SSL_DTLS_BADMAC_LIMIT MBEDTLS_SSL_DTLS_BADMAC_LIMIT
+POLARSSL_SSL_DTLS_HELLO_VERIFY MBEDTLS_SSL_DTLS_HELLO_VERIFY
+POLARSSL_SSL_ENCRYPT_THEN_MAC MBEDTLS_SSL_ENCRYPT_THEN_MAC
+POLARSSL_SSL_EXTENDED_MASTER_SECRET MBEDTLS_SSL_EXTENDED_MASTER_SECRET
+POLARSSL_SSL_FALLBACK_SCSV MBEDTLS_SSL_FALLBACK_SCSV
+POLARSSL_SSL_H MBEDTLS_SSL_H
+POLARSSL_SSL_HW_RECORD_ACCEL MBEDTLS_SSL_HW_RECORD_ACCEL
+POLARSSL_SSL_MAX_FRAGMENT_LENGTH MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
+POLARSSL_SSL_PROTO_DTLS MBEDTLS_SSL_PROTO_DTLS
+POLARSSL_SSL_PROTO_SSL3 MBEDTLS_SSL_PROTO_SSL3
+POLARSSL_SSL_PROTO_TLS1 MBEDTLS_SSL_PROTO_TLS1
+POLARSSL_SSL_PROTO_TLS1_1 MBEDTLS_SSL_PROTO_TLS1_1
+POLARSSL_SSL_PROTO_TLS1_2 MBEDTLS_SSL_PROTO_TLS1_2
+POLARSSL_SSL_RENEGOTIATION MBEDTLS_SSL_RENEGOTIATION
+POLARSSL_SSL_SERVER_NAME_INDICATION MBEDTLS_SSL_SERVER_NAME_INDICATION
+POLARSSL_SSL_SESSION_TICKETS MBEDTLS_SSL_SESSION_TICKETS
+POLARSSL_SSL_SRV_C MBEDTLS_SSL_SRV_C
+POLARSSL_SSL_SRV_RESPECT_CLIENT_PREFERENCE MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE
+POLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
+POLARSSL_SSL_TLS_C MBEDTLS_SSL_TLS_C
+POLARSSL_SSL_TRUNCATED_HMAC MBEDTLS_SSL_TRUNCATED_HMAC
+POLARSSL_THREADING_ALT MBEDTLS_THREADING_ALT
+POLARSSL_THREADING_C MBEDTLS_THREADING_C
+POLARSSL_THREADING_H MBEDTLS_THREADING_H
+POLARSSL_THREADING_IMPL MBEDTLS_THREADING_IMPL
+POLARSSL_THREADING_PTHREAD MBEDTLS_THREADING_PTHREAD
+POLARSSL_TIMING_ALT MBEDTLS_TIMING_ALT
+POLARSSL_TIMING_C MBEDTLS_TIMING_C
+POLARSSL_TIMING_H MBEDTLS_TIMING_H
+POLARSSL_VERSION_C MBEDTLS_VERSION_C
+POLARSSL_VERSION_FEATURES MBEDTLS_VERSION_FEATURES
+POLARSSL_VERSION_H MBEDTLS_VERSION_H
+POLARSSL_VERSION_MAJOR MBEDTLS_VERSION_MAJOR
+POLARSSL_VERSION_MINOR MBEDTLS_VERSION_MINOR
+POLARSSL_VERSION_NUMBER MBEDTLS_VERSION_NUMBER
+POLARSSL_VERSION_PATCH MBEDTLS_VERSION_PATCH
+POLARSSL_VERSION_STRING MBEDTLS_VERSION_STRING
+POLARSSL_VERSION_STRING_FULL MBEDTLS_VERSION_STRING_FULL
+POLARSSL_X509_ALLOW_EXTENSIONS_NON_V3 MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
+POLARSSL_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
+POLARSSL_X509_CHECK_EXTENDED_KEY_USAGE MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE
+POLARSSL_X509_CHECK_KEY_USAGE MBEDTLS_X509_CHECK_KEY_USAGE
+POLARSSL_X509_CREATE_C MBEDTLS_X509_CREATE_C
+POLARSSL_X509_CRL_H MBEDTLS_X509_CRL_H
+POLARSSL_X509_CRL_PARSE_C MBEDTLS_X509_CRL_PARSE_C
+POLARSSL_X509_CRT_H MBEDTLS_X509_CRT_H
+POLARSSL_X509_CRT_PARSE_C MBEDTLS_X509_CRT_PARSE_C
+POLARSSL_X509_CRT_WRITE_C MBEDTLS_X509_CRT_WRITE_C
+POLARSSL_X509_CSR_H MBEDTLS_X509_CSR_H
+POLARSSL_X509_CSR_PARSE_C MBEDTLS_X509_CSR_PARSE_C
+POLARSSL_X509_CSR_WRITE_C MBEDTLS_X509_CSR_WRITE_C
+POLARSSL_X509_H MBEDTLS_X509_H
+POLARSSL_X509_MAX_INTERMEDIATE_CA MBEDTLS_X509_MAX_INTERMEDIATE_CA
+POLARSSL_X509_RSASSA_PSS_SUPPORT MBEDTLS_X509_RSASSA_PSS_SUPPORT
+POLARSSL_X509_USE_C MBEDTLS_X509_USE_C
+POLARSSL_XTEA_ALT MBEDTLS_XTEA_ALT
+POLARSSL_XTEA_C MBEDTLS_XTEA_C
+POLARSSL_XTEA_H MBEDTLS_XTEA_H
+POLARSSL_ZLIB_SUPPORT MBEDTLS_ZLIB_SUPPORT
+RSA_CRYPT MBEDTLS_RSA_CRYPT
+RSA_PKCS_V15 MBEDTLS_RSA_PKCS_V15
+RSA_PKCS_V21 MBEDTLS_RSA_PKCS_V21
+RSA_PRIVATE MBEDTLS_RSA_PRIVATE
+RSA_PUBLIC MBEDTLS_RSA_PUBLIC
+RSA_SALT_LEN_ANY MBEDTLS_RSA_SALT_LEN_ANY
+RSA_SIGN MBEDTLS_RSA_SIGN
+SSL_ALERT_LEVEL_FATAL MBEDTLS_SSL_ALERT_LEVEL_FATAL
+SSL_ALERT_LEVEL_WARNING MBEDTLS_SSL_ALERT_LEVEL_WARNING
+SSL_ALERT_MSG_ACCESS_DENIED MBEDTLS_SSL_ALERT_MSG_ACCESS_DENIED
+SSL_ALERT_MSG_BAD_CERT MBEDTLS_SSL_ALERT_MSG_BAD_CERT
+SSL_ALERT_MSG_BAD_RECORD_MAC MBEDTLS_SSL_ALERT_MSG_BAD_RECORD_MAC
+SSL_ALERT_MSG_CERT_EXPIRED MBEDTLS_SSL_ALERT_MSG_CERT_EXPIRED
+SSL_ALERT_MSG_CERT_REVOKED MBEDTLS_SSL_ALERT_MSG_CERT_REVOKED
+SSL_ALERT_MSG_CERT_UNKNOWN MBEDTLS_SSL_ALERT_MSG_CERT_UNKNOWN
+SSL_ALERT_MSG_CLOSE_NOTIFY MBEDTLS_SSL_ALERT_MSG_CLOSE_NOTIFY
+SSL_ALERT_MSG_DECODE_ERROR MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR
+SSL_ALERT_MSG_DECOMPRESSION_FAILURE MBEDTLS_SSL_ALERT_MSG_DECOMPRESSION_FAILURE
+SSL_ALERT_MSG_DECRYPTION_FAILED MBEDTLS_SSL_ALERT_MSG_DECRYPTION_FAILED
+SSL_ALERT_MSG_DECRYPT_ERROR MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR
+SSL_ALERT_MSG_EXPORT_RESTRICTION MBEDTLS_SSL_ALERT_MSG_EXPORT_RESTRICTION
+SSL_ALERT_MSG_HANDSHAKE_FAILURE MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE
+SSL_ALERT_MSG_ILLEGAL_PARAMETER MBEDTLS_SSL_ALERT_MSG_ILLEGAL_PARAMETER
+SSL_ALERT_MSG_INAPROPRIATE_FALLBACK MBEDTLS_SSL_ALERT_MSG_INAPROPRIATE_FALLBACK
+SSL_ALERT_MSG_INSUFFICIENT_SECURITY MBEDTLS_SSL_ALERT_MSG_INSUFFICIENT_SECURITY
+SSL_ALERT_MSG_INTERNAL_ERROR MBEDTLS_SSL_ALERT_MSG_INTERNAL_ERROR
+SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL MBEDTLS_SSL_ALERT_MSG_NO_APPLICATION_PROTOCOL
+SSL_ALERT_MSG_NO_CERT MBEDTLS_SSL_ALERT_MSG_NO_CERT
+SSL_ALERT_MSG_NO_RENEGOTIATION MBEDTLS_SSL_ALERT_MSG_NO_RENEGOTIATION
+SSL_ALERT_MSG_PROTOCOL_VERSION MBEDTLS_SSL_ALERT_MSG_PROTOCOL_VERSION
+SSL_ALERT_MSG_RECORD_OVERFLOW MBEDTLS_SSL_ALERT_MSG_RECORD_OVERFLOW
+SSL_ALERT_MSG_UNEXPECTED_MESSAGE MBEDTLS_SSL_ALERT_MSG_UNEXPECTED_MESSAGE
+SSL_ALERT_MSG_UNKNOWN_CA MBEDTLS_SSL_ALERT_MSG_UNKNOWN_CA
+SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY
+SSL_ALERT_MSG_UNRECOGNIZED_NAME MBEDTLS_SSL_ALERT_MSG_UNRECOGNIZED_NAME
+SSL_ALERT_MSG_UNSUPPORTED_CERT MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_CERT
+SSL_ALERT_MSG_UNSUPPORTED_EXT MBEDTLS_SSL_ALERT_MSG_UNSUPPORTED_EXT
+SSL_ALERT_MSG_USER_CANCELED MBEDTLS_SSL_ALERT_MSG_USER_CANCELED
+SSL_ANTI_REPLAY_DISABLED MBEDTLS_SSL_ANTI_REPLAY_DISABLED
+SSL_ANTI_REPLAY_ENABLED MBEDTLS_SSL_ANTI_REPLAY_ENABLED
+SSL_ARC4_DISABLED MBEDTLS_SSL_ARC4_DISABLED
+SSL_ARC4_ENABLED MBEDTLS_SSL_ARC4_ENABLED
+SSL_BUFFER_LEN MBEDTLS_SSL_BUFFER_LEN
+SSL_CACHE_DEFAULT_MAX_ENTRIES MBEDTLS_SSL_CACHE_DEFAULT_MAX_ENTRIES
+SSL_CACHE_DEFAULT_TIMEOUT MBEDTLS_SSL_CACHE_DEFAULT_TIMEOUT
+SSL_CBC_RECORD_SPLITTING_DISABLED MBEDTLS_SSL_CBC_RECORD_SPLITTING_DISABLED
+SSL_CBC_RECORD_SPLITTING_ENABLED MBEDTLS_SSL_CBC_RECORD_SPLITTING_ENABLED
+SSL_CERTIFICATE_REQUEST MBEDTLS_SSL_CERTIFICATE_REQUEST
+SSL_CERTIFICATE_VERIFY MBEDTLS_SSL_CERTIFICATE_VERIFY
+SSL_CERT_TYPE_ECDSA_SIGN MBEDTLS_SSL_CERT_TYPE_ECDSA_SIGN
+SSL_CERT_TYPE_RSA_SIGN MBEDTLS_SSL_CERT_TYPE_RSA_SIGN
+SSL_CHANNEL_INBOUND MBEDTLS_SSL_CHANNEL_INBOUND
+SSL_CHANNEL_OUTBOUND MBEDTLS_SSL_CHANNEL_OUTBOUND
+SSL_CIPHERSUITES MBEDTLS_SSL_CIPHERSUITES
+SSL_CLIENT_CERTIFICATE MBEDTLS_SSL_CLIENT_CERTIFICATE
+SSL_CLIENT_CHANGE_CIPHER_SPEC MBEDTLS_SSL_CLIENT_CHANGE_CIPHER_SPEC
+SSL_CLIENT_FINISHED MBEDTLS_SSL_CLIENT_FINISHED
+SSL_CLIENT_HELLO MBEDTLS_SSL_CLIENT_HELLO
+SSL_CLIENT_KEY_EXCHANGE MBEDTLS_SSL_CLIENT_KEY_EXCHANGE
+SSL_COMPRESSION_ADD MBEDTLS_SSL_COMPRESSION_ADD
+SSL_COMPRESS_DEFLATE MBEDTLS_SSL_COMPRESS_DEFLATE
+SSL_COMPRESS_NULL MBEDTLS_SSL_COMPRESS_NULL
+SSL_DEBUG_BUF MBEDTLS_SSL_DEBUG_BUF
+SSL_DEBUG_CRT MBEDTLS_SSL_DEBUG_CRT
+SSL_DEBUG_ECP MBEDTLS_SSL_DEBUG_ECP
+SSL_DEBUG_MPI MBEDTLS_SSL_DEBUG_MPI
+SSL_DEBUG_MSG MBEDTLS_SSL_DEBUG_MSG
+SSL_DEBUG_RET MBEDTLS_SSL_DEBUG_RET
+SSL_DEFAULT_TICKET_LIFETIME MBEDTLS_SSL_DEFAULT_TICKET_LIFETIME
+SSL_DTLS_TIMEOUT_DFL_MAX MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MAX
+SSL_DTLS_TIMEOUT_DFL_MIN MBEDTLS_SSL_DTLS_TIMEOUT_DFL_MIN
+SSL_EMPTY_RENEGOTIATION_INFO MBEDTLS_SSL_EMPTY_RENEGOTIATION_INFO
+SSL_ETM_DISABLED MBEDTLS_SSL_ETM_DISABLED
+SSL_ETM_ENABLED MBEDTLS_SSL_ETM_ENABLED
+SSL_EXTENDED_MS_DISABLED MBEDTLS_SSL_EXTENDED_MS_DISABLED
+SSL_EXTENDED_MS_ENABLED MBEDTLS_SSL_EXTENDED_MS_ENABLED
+SSL_FALLBACK_SCSV MBEDTLS_SSL_FALLBACK_SCSV
+SSL_FLUSH_BUFFERS MBEDTLS_SSL_FLUSH_BUFFERS
+SSL_HANDSHAKE_OVER MBEDTLS_SSL_HANDSHAKE_OVER
+SSL_HANDSHAKE_WRAPUP MBEDTLS_SSL_HANDSHAKE_WRAPUP
+SSL_HASH_MD5 MBEDTLS_SSL_HASH_MD5
+SSL_HASH_NONE MBEDTLS_SSL_HASH_NONE
+SSL_HASH_SHA1 MBEDTLS_SSL_HASH_SHA1
+SSL_HASH_SHA224 MBEDTLS_SSL_HASH_SHA224
+SSL_HASH_SHA256 MBEDTLS_SSL_HASH_SHA256
+SSL_HASH_SHA384 MBEDTLS_SSL_HASH_SHA384
+SSL_HASH_SHA512 MBEDTLS_SSL_HASH_SHA512
+SSL_HELLO_REQUEST MBEDTLS_SSL_HELLO_REQUEST
+SSL_HS_CERTIFICATE MBEDTLS_SSL_HS_CERTIFICATE
+SSL_HS_CERTIFICATE_REQUEST MBEDTLS_SSL_HS_CERTIFICATE_REQUEST
+SSL_HS_CERTIFICATE_VERIFY MBEDTLS_SSL_HS_CERTIFICATE_VERIFY
+SSL_HS_CLIENT_HELLO MBEDTLS_SSL_HS_CLIENT_HELLO
+SSL_HS_CLIENT_KEY_EXCHANGE MBEDTLS_SSL_HS_CLIENT_KEY_EXCHANGE
+SSL_HS_FINISHED MBEDTLS_SSL_HS_FINISHED
+SSL_HS_HELLO_REQUEST MBEDTLS_SSL_HS_HELLO_REQUEST
+SSL_HS_HELLO_VERIFY_REQUEST MBEDTLS_SSL_HS_HELLO_VERIFY_REQUEST
+SSL_HS_NEW_SESSION_TICKET MBEDTLS_SSL_HS_NEW_SESSION_TICKET
+SSL_HS_SERVER_HELLO MBEDTLS_SSL_HS_SERVER_HELLO
+SSL_HS_SERVER_HELLO_DONE MBEDTLS_SSL_HS_SERVER_HELLO_DONE
+SSL_HS_SERVER_KEY_EXCHANGE MBEDTLS_SSL_HS_SERVER_KEY_EXCHANGE
+SSL_INITIAL_HANDSHAKE MBEDTLS_SSL_INITIAL_HANDSHAKE
+SSL_IS_CLIENT MBEDTLS_SSL_IS_CLIENT
+SSL_IS_FALLBACK MBEDTLS_SSL_IS_FALLBACK
+SSL_IS_NOT_FALLBACK MBEDTLS_SSL_IS_NOT_FALLBACK
+SSL_IS_SERVER MBEDTLS_SSL_IS_SERVER
+SSL_LEGACY_ALLOW_RENEGOTIATION MBEDTLS_SSL_LEGACY_ALLOW_RENEGOTIATION
+SSL_LEGACY_BREAK_HANDSHAKE MBEDTLS_SSL_LEGACY_BREAK_HANDSHAKE
+SSL_LEGACY_NO_RENEGOTIATION MBEDTLS_SSL_LEGACY_NO_RENEGOTIATION
+SSL_LEGACY_RENEGOTIATION MBEDTLS_SSL_LEGACY_RENEGOTIATION
+SSL_MAC_ADD MBEDTLS_SSL_MAC_ADD
+SSL_MAJOR_VERSION_3 MBEDTLS_SSL_MAJOR_VERSION_3
+SSL_MAX_CONTENT_LEN MBEDTLS_SSL_MAX_CONTENT_LEN
+SSL_MAX_FRAG_LEN_1024 MBEDTLS_SSL_MAX_FRAG_LEN_1024
+SSL_MAX_FRAG_LEN_2048 MBEDTLS_SSL_MAX_FRAG_LEN_2048
+SSL_MAX_FRAG_LEN_4096 MBEDTLS_SSL_MAX_FRAG_LEN_4096
+SSL_MAX_FRAG_LEN_512 MBEDTLS_SSL_MAX_FRAG_LEN_512
+SSL_MAX_FRAG_LEN_INVALID MBEDTLS_SSL_MAX_FRAG_LEN_INVALID
+SSL_MAX_FRAG_LEN_NONE MBEDTLS_SSL_MAX_FRAG_LEN_NONE
+SSL_MAX_MAJOR_VERSION MBEDTLS_SSL_MAX_MAJOR_VERSION
+SSL_MAX_MINOR_VERSION MBEDTLS_SSL_MAX_MINOR_VERSION
+SSL_MINOR_VERSION_0 MBEDTLS_SSL_MINOR_VERSION_0
+SSL_MINOR_VERSION_1 MBEDTLS_SSL_MINOR_VERSION_1
+SSL_MINOR_VERSION_2 MBEDTLS_SSL_MINOR_VERSION_2
+SSL_MINOR_VERSION_3 MBEDTLS_SSL_MINOR_VERSION_3
+SSL_MIN_MAJOR_VERSION MBEDTLS_SSL_MIN_MAJOR_VERSION
+SSL_MIN_MINOR_VERSION MBEDTLS_SSL_MIN_MINOR_VERSION
+SSL_MSG_ALERT MBEDTLS_SSL_MSG_ALERT
+SSL_MSG_APPLICATION_DATA MBEDTLS_SSL_MSG_APPLICATION_DATA
+SSL_MSG_CHANGE_CIPHER_SPEC MBEDTLS_SSL_MSG_CHANGE_CIPHER_SPEC
+SSL_MSG_HANDSHAKE MBEDTLS_SSL_MSG_HANDSHAKE
+SSL_PADDING_ADD MBEDTLS_SSL_PADDING_ADD
+SSL_RENEGOTIATION MBEDTLS_SSL_RENEGOTIATION
+SSL_RENEGOTIATION_DISABLED MBEDTLS_SSL_RENEGOTIATION_DISABLED
+SSL_RENEGOTIATION_DONE MBEDTLS_SSL_RENEGOTIATION_DONE
+SSL_RENEGOTIATION_ENABLED MBEDTLS_SSL_RENEGOTIATION_ENABLED
+SSL_RENEGOTIATION_NOT_ENFORCED MBEDTLS_SSL_RENEGOTIATION_NOT_ENFORCED
+SSL_RENEGOTIATION_PENDING MBEDTLS_SSL_RENEGOTIATION_PENDING
+SSL_RENEGO_MAX_RECORDS_DEFAULT MBEDTLS_SSL_RENEGO_MAX_RECORDS_DEFAULT
+SSL_RETRANS_FINISHED MBEDTLS_SSL_RETRANS_FINISHED
+SSL_RETRANS_PREPARING MBEDTLS_SSL_RETRANS_PREPARING
+SSL_RETRANS_SENDING MBEDTLS_SSL_RETRANS_SENDING
+SSL_RETRANS_WAITING MBEDTLS_SSL_RETRANS_WAITING
+SSL_SECURE_RENEGOTIATION MBEDTLS_SSL_SECURE_RENEGOTIATION
+SSL_SERVER_CERTIFICATE MBEDTLS_SSL_SERVER_CERTIFICATE
+SSL_SERVER_CHANGE_CIPHER_SPEC MBEDTLS_SSL_SERVER_CHANGE_CIPHER_SPEC
+SSL_SERVER_FINISHED MBEDTLS_SSL_SERVER_FINISHED
+SSL_SERVER_HELLO MBEDTLS_SSL_SERVER_HELLO
+SSL_SERVER_HELLO_DONE MBEDTLS_SSL_SERVER_HELLO_DONE
+SSL_SERVER_HELLO_VERIFY_REQUEST_SENT MBEDTLS_SSL_SERVER_HELLO_VERIFY_REQUEST_SENT
+SSL_SERVER_KEY_EXCHANGE MBEDTLS_SSL_SERVER_KEY_EXCHANGE
+SSL_SERVER_NEW_SESSION_TICKET MBEDTLS_SSL_SERVER_NEW_SESSION_TICKET
+SSL_SESSION_TICKETS_DISABLED MBEDTLS_SSL_SESSION_TICKETS_DISABLED
+SSL_SESSION_TICKETS_ENABLED MBEDTLS_SSL_SESSION_TICKETS_ENABLED
+SSL_SIG_ANON MBEDTLS_SSL_SIG_ANON
+SSL_SIG_ECDSA MBEDTLS_SSL_SIG_ECDSA
+SSL_SIG_RSA MBEDTLS_SSL_SIG_RSA
+SSL_TRANSPORT_DATAGRAM MBEDTLS_SSL_TRANSPORT_DATAGRAM
+SSL_TRANSPORT_STREAM MBEDTLS_SSL_TRANSPORT_STREAM
+SSL_TRUNCATED_HMAC_LEN MBEDTLS_SSL_TRUNCATED_HMAC_LEN
+SSL_TRUNC_HMAC_DISABLED MBEDTLS_SSL_TRUNC_HMAC_DISABLED
+SSL_TRUNC_HMAC_ENABLED MBEDTLS_SSL_TRUNC_HMAC_ENABLED
+SSL_VERIFY_DATA_MAX_LEN MBEDTLS_SSL_VERIFY_DATA_MAX_LEN
+SSL_VERIFY_NONE MBEDTLS_SSL_VERIFY_NONE
+SSL_VERIFY_OPTIONAL MBEDTLS_SSL_VERIFY_OPTIONAL
+SSL_VERIFY_REQUIRED MBEDTLS_SSL_VERIFY_REQUIRED
+TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
+TLS_DHE_PSK_WITH_AES_128_CBC_SHA MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA
+TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
+TLS_DHE_PSK_WITH_AES_128_CCM MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM
+TLS_DHE_PSK_WITH_AES_128_CCM_8 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_CCM_8
+TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
+TLS_DHE_PSK_WITH_AES_256_CBC_SHA MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA
+TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
+TLS_DHE_PSK_WITH_AES_256_CCM MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM
+TLS_DHE_PSK_WITH_AES_256_CCM_8 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_CCM_8
+TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
+TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
+TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
+TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
+TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
+TLS_DHE_PSK_WITH_NULL_SHA MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA
+TLS_DHE_PSK_WITH_NULL_SHA256 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA256
+TLS_DHE_PSK_WITH_NULL_SHA384 MBEDTLS_TLS_DHE_PSK_WITH_NULL_SHA384
+TLS_DHE_PSK_WITH_RC4_128_SHA MBEDTLS_TLS_DHE_PSK_WITH_RC4_128_SHA
+TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
+TLS_DHE_RSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA
+TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
+TLS_DHE_RSA_WITH_AES_128_CCM MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM
+TLS_DHE_RSA_WITH_AES_128_CCM_8 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_CCM_8
+TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
+TLS_DHE_RSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA
+TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
+TLS_DHE_RSA_WITH_AES_256_CCM MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM
+TLS_DHE_RSA_WITH_AES_256_CCM_8 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_CCM_8
+TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
+TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
+TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
+TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
+TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
+TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
+TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
+TLS_DHE_RSA_WITH_DES_CBC_SHA MBEDTLS_TLS_DHE_RSA_WITH_DES_CBC_SHA
+TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
+TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
+TLS_ECDHE_ECDSA_WITH_AES_128_CCM MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM
+TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
+TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
+TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
+TLS_ECDHE_ECDSA_WITH_AES_256_CCM MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM
+TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
+TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
+TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
+TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
+TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
+TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
+TLS_ECDHE_ECDSA_WITH_NULL_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_NULL_SHA
+TLS_ECDHE_ECDSA_WITH_RC4_128_SHA MBEDTLS_TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
+TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
+TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
+TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
+TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
+TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
+TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
+TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
+TLS_ECDHE_PSK_WITH_NULL_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA
+TLS_ECDHE_PSK_WITH_NULL_SHA256 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA256
+TLS_ECDHE_PSK_WITH_NULL_SHA384 MBEDTLS_TLS_ECDHE_PSK_WITH_NULL_SHA384
+TLS_ECDHE_PSK_WITH_RC4_128_SHA MBEDTLS_TLS_ECDHE_PSK_WITH_RC4_128_SHA
+TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
+TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
+TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
+TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
+TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
+TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
+TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
+TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
+TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
+TLS_ECDHE_RSA_WITH_NULL_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_NULL_SHA
+TLS_ECDHE_RSA_WITH_RC4_128_SHA MBEDTLS_TLS_ECDHE_RSA_WITH_RC4_128_SHA
+TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
+TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
+TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
+TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
+TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
+TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
+TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
+TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
+TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
+TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
+TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
+TLS_ECDH_ECDSA_WITH_NULL_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_NULL_SHA
+TLS_ECDH_ECDSA_WITH_RC4_128_SHA MBEDTLS_TLS_ECDH_ECDSA_WITH_RC4_128_SHA
+TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
+TLS_ECDH_RSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
+TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
+TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
+TLS_ECDH_RSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
+TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
+TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
+TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
+TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
+TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
+TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
+TLS_ECDH_RSA_WITH_NULL_SHA MBEDTLS_TLS_ECDH_RSA_WITH_NULL_SHA
+TLS_ECDH_RSA_WITH_RC4_128_SHA MBEDTLS_TLS_ECDH_RSA_WITH_RC4_128_SHA
+TLS_EXT_ALPN MBEDTLS_TLS_EXT_ALPN
+TLS_EXT_ENCRYPT_THEN_MAC MBEDTLS_TLS_EXT_ENCRYPT_THEN_MAC
+TLS_EXT_EXTENDED_MASTER_SECRET MBEDTLS_TLS_EXT_EXTENDED_MASTER_SECRET
+TLS_EXT_MAX_FRAGMENT_LENGTH MBEDTLS_TLS_EXT_MAX_FRAGMENT_LENGTH
+TLS_EXT_RENEGOTIATION_INFO MBEDTLS_TLS_EXT_RENEGOTIATION_INFO
+TLS_EXT_SERVERNAME MBEDTLS_TLS_EXT_SERVERNAME
+TLS_EXT_SERVERNAME_HOSTNAME MBEDTLS_TLS_EXT_SERVERNAME_HOSTNAME
+TLS_EXT_SESSION_TICKET MBEDTLS_TLS_EXT_SESSION_TICKET
+TLS_EXT_SIG_ALG MBEDTLS_TLS_EXT_SIG_ALG
+TLS_EXT_SUPPORTED_ELLIPTIC_CURVES MBEDTLS_TLS_EXT_SUPPORTED_ELLIPTIC_CURVES
+TLS_EXT_SUPPORTED_POINT_FORMATS MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS
+TLS_EXT_SUPPORTED_POINT_FORMATS_PRESENT MBEDTLS_TLS_EXT_SUPPORTED_POINT_FORMATS_PRESENT
+TLS_EXT_TRUNCATED_HMAC MBEDTLS_TLS_EXT_TRUNCATED_HMAC
+TLS_PSK_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_PSK_WITH_3DES_EDE_CBC_SHA
+TLS_PSK_WITH_AES_128_CBC_SHA MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA
+TLS_PSK_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_PSK_WITH_AES_128_CBC_SHA256
+TLS_PSK_WITH_AES_128_CCM MBEDTLS_TLS_PSK_WITH_AES_128_CCM
+TLS_PSK_WITH_AES_128_CCM_8 MBEDTLS_TLS_PSK_WITH_AES_128_CCM_8
+TLS_PSK_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_PSK_WITH_AES_128_GCM_SHA256
+TLS_PSK_WITH_AES_256_CBC_SHA MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA
+TLS_PSK_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_PSK_WITH_AES_256_CBC_SHA384
+TLS_PSK_WITH_AES_256_CCM MBEDTLS_TLS_PSK_WITH_AES_256_CCM
+TLS_PSK_WITH_AES_256_CCM_8 MBEDTLS_TLS_PSK_WITH_AES_256_CCM_8
+TLS_PSK_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_PSK_WITH_AES_256_GCM_SHA384
+TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
+TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
+TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
+TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
+TLS_PSK_WITH_NULL_SHA MBEDTLS_TLS_PSK_WITH_NULL_SHA
+TLS_PSK_WITH_NULL_SHA256 MBEDTLS_TLS_PSK_WITH_NULL_SHA256
+TLS_PSK_WITH_NULL_SHA384 MBEDTLS_TLS_PSK_WITH_NULL_SHA384
+TLS_PSK_WITH_RC4_128_SHA MBEDTLS_TLS_PSK_WITH_RC4_128_SHA
+TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
+TLS_RSA_PSK_WITH_AES_128_CBC_SHA MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA
+TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
+TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
+TLS_RSA_PSK_WITH_AES_256_CBC_SHA MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA
+TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
+TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
+TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
+TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
+TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
+TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
+TLS_RSA_PSK_WITH_NULL_SHA MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA
+TLS_RSA_PSK_WITH_NULL_SHA256 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA256
+TLS_RSA_PSK_WITH_NULL_SHA384 MBEDTLS_TLS_RSA_PSK_WITH_NULL_SHA384
+TLS_RSA_PSK_WITH_RC4_128_SHA MBEDTLS_TLS_RSA_PSK_WITH_RC4_128_SHA
+TLS_RSA_WITH_3DES_EDE_CBC_SHA MBEDTLS_TLS_RSA_WITH_3DES_EDE_CBC_SHA
+TLS_RSA_WITH_AES_128_CBC_SHA MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA
+TLS_RSA_WITH_AES_128_CBC_SHA256 MBEDTLS_TLS_RSA_WITH_AES_128_CBC_SHA256
+TLS_RSA_WITH_AES_128_CCM MBEDTLS_TLS_RSA_WITH_AES_128_CCM
+TLS_RSA_WITH_AES_128_CCM_8 MBEDTLS_TLS_RSA_WITH_AES_128_CCM_8
+TLS_RSA_WITH_AES_128_GCM_SHA256 MBEDTLS_TLS_RSA_WITH_AES_128_GCM_SHA256
+TLS_RSA_WITH_AES_256_CBC_SHA MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA
+TLS_RSA_WITH_AES_256_CBC_SHA256 MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA256
+TLS_RSA_WITH_AES_256_CCM MBEDTLS_TLS_RSA_WITH_AES_256_CCM
+TLS_RSA_WITH_AES_256_CCM_8 MBEDTLS_TLS_RSA_WITH_AES_256_CCM_8
+TLS_RSA_WITH_AES_256_GCM_SHA384 MBEDTLS_TLS_RSA_WITH_AES_256_GCM_SHA384
+TLS_RSA_WITH_CAMELLIA_128_CBC_SHA MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
+TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
+TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256 MBEDTLS_TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
+TLS_RSA_WITH_CAMELLIA_256_CBC_SHA MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
+TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
+TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384 MBEDTLS_TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
+TLS_RSA_WITH_DES_CBC_SHA MBEDTLS_TLS_RSA_WITH_DES_CBC_SHA
+TLS_RSA_WITH_NULL_MD5 MBEDTLS_TLS_RSA_WITH_NULL_MD5
+TLS_RSA_WITH_NULL_SHA MBEDTLS_TLS_RSA_WITH_NULL_SHA
+TLS_RSA_WITH_NULL_SHA256 MBEDTLS_TLS_RSA_WITH_NULL_SHA256
+TLS_RSA_WITH_RC4_128_MD5 MBEDTLS_TLS_RSA_WITH_RC4_128_MD5
+TLS_RSA_WITH_RC4_128_SHA MBEDTLS_TLS_RSA_WITH_RC4_128_SHA
+X509_CRT_VERSION_1 MBEDTLS_X509_CRT_VERSION_1
+X509_CRT_VERSION_2 MBEDTLS_X509_CRT_VERSION_2
+X509_CRT_VERSION_3 MBEDTLS_X509_CRT_VERSION_3
+X509_FORMAT_DER MBEDTLS_X509_FORMAT_DER
+X509_FORMAT_PEM MBEDTLS_X509_FORMAT_PEM
+X509_MAX_DN_NAME_SIZE MBEDTLS_X509_MAX_DN_NAME_SIZE
+X509_RFC5280_MAX_SERIAL_LEN MBEDTLS_X509_RFC5280_MAX_SERIAL_LEN
+X509_RFC5280_UTC_TIME_LEN MBEDTLS_X509_RFC5280_UTC_TIME_LEN
+XTEA_DECRYPT MBEDTLS_XTEA_DECRYPT
+XTEA_ENCRYPT MBEDTLS_XTEA_ENCRYPT
+_asn1_bitstring mbedtls_asn1_bitstring
+_asn1_buf mbedtls_asn1_buf
+_asn1_named_data mbedtls_asn1_named_data
+_asn1_sequence mbedtls_asn1_sequence
+_ssl_cache_context mbedtls_ssl_cache_context
+_ssl_cache_entry mbedtls_ssl_cache_entry
+_ssl_ciphersuite_t mbedtls_ssl_ciphersuite_t
+_ssl_context mbedtls_ssl_context
+_ssl_flight_item mbedtls_ssl_flight_item
+_ssl_handshake_params mbedtls_ssl_handshake_params
+_ssl_key_cert mbedtls_ssl_key_cert
+_ssl_premaster_secret mbedtls_ssl_premaster_secret
+_ssl_session mbedtls_ssl_session
+_ssl_ticket_keys mbedtls_ssl_ticket_keys
+_ssl_transform mbedtls_ssl_transform
+_x509_crl mbedtls_x509_crl
+_x509_crl_entry mbedtls_x509_crl_entry
+_x509_crt mbedtls_x509_crt
+_x509_csr mbedtls_x509_csr
+_x509_time mbedtls_x509_time
+_x509write_cert mbedtls_x509write_cert
+_x509write_csr mbedtls_x509write_csr
+aes_context mbedtls_aes_context
+aes_crypt_cbc mbedtls_aes_crypt_cbc
+aes_crypt_cfb128 mbedtls_aes_crypt_cfb128
+aes_crypt_cfb8 mbedtls_aes_crypt_cfb8
+aes_crypt_ctr mbedtls_aes_crypt_ctr
+aes_crypt_ecb mbedtls_aes_crypt_ecb
+aes_free mbedtls_aes_free
+aes_init mbedtls_aes_init
+aes_self_test mbedtls_aes_self_test
+aes_setkey_dec mbedtls_aes_setkey_dec
+aes_setkey_enc mbedtls_aes_setkey_enc
+aesni_crypt_ecb mbedtls_aesni_crypt_ecb
+aesni_gcm_mult mbedtls_aesni_gcm_mult
+aesni_inverse_key mbedtls_aesni_inverse_key
+aesni_setkey_enc mbedtls_aesni_setkey_enc
+aesni_supports mbedtls_aesni_has_support
+alarmed mbedtls_timing_alarmed
+arc4_context mbedtls_arc4_context
+arc4_crypt mbedtls_arc4_crypt
+arc4_free mbedtls_arc4_free
+arc4_init mbedtls_arc4_init
+arc4_self_test mbedtls_arc4_self_test
+arc4_setup mbedtls_arc4_setup
+asn1_bitstring mbedtls_asn1_bitstring
+asn1_buf mbedtls_asn1_buf
+asn1_find_named_data mbedtls_asn1_find_named_data
+asn1_free_named_data mbedtls_asn1_free_named_data
+asn1_free_named_data_list mbedtls_asn1_free_named_data_list
+asn1_get_alg mbedtls_asn1_get_alg
+asn1_get_alg_null mbedtls_asn1_get_alg_null
+asn1_get_bitstring mbedtls_asn1_get_bitstring
+asn1_get_bitstring_null mbedtls_asn1_get_bitstring_null
+asn1_get_bool mbedtls_asn1_get_bool
+asn1_get_int mbedtls_asn1_get_int
+asn1_get_len mbedtls_asn1_get_len
+asn1_get_mpi mbedtls_asn1_get_mpi
+asn1_get_sequence_of mbedtls_asn1_get_sequence_of
+asn1_get_tag mbedtls_asn1_get_tag
+asn1_named_data mbedtls_asn1_named_data
+asn1_sequence mbedtls_asn1_sequence
+asn1_store_named_data mbedtls_asn1_store_named_data
+asn1_write_algorithm_identifier mbedtls_asn1_write_algorithm_identifier
+asn1_write_bitstring mbedtls_asn1_write_bitstring
+asn1_write_bool mbedtls_asn1_write_bool
+asn1_write_ia5_string mbedtls_asn1_write_ia5_string
+asn1_write_int mbedtls_asn1_write_int
+asn1_write_len mbedtls_asn1_write_len
+asn1_write_mpi mbedtls_asn1_write_mpi
+asn1_write_null mbedtls_asn1_write_null
+asn1_write_octet_string mbedtls_asn1_write_octet_string
+asn1_write_oid mbedtls_asn1_write_oid
+asn1_write_printable_string mbedtls_asn1_write_printable_string
+asn1_write_raw_buffer mbedtls_asn1_write_raw_buffer
+asn1_write_tag mbedtls_asn1_write_tag
+base64_decode mbedtls_base64_decode
+base64_encode mbedtls_base64_encode
+base64_self_test mbedtls_base64_self_test
+blowfish_context mbedtls_blowfish_context
+blowfish_crypt_cbc mbedtls_blowfish_crypt_cbc
+blowfish_crypt_cfb64 mbedtls_blowfish_crypt_cfb64
+blowfish_crypt_ctr mbedtls_blowfish_crypt_ctr
+blowfish_crypt_ecb mbedtls_blowfish_crypt_ecb
+blowfish_free mbedtls_blowfish_free
+blowfish_init mbedtls_blowfish_init
+blowfish_setkey mbedtls_blowfish_setkey
+camellia_context mbedtls_camellia_context
+camellia_crypt_cbc mbedtls_camellia_crypt_cbc
+camellia_crypt_cfb128 mbedtls_camellia_crypt_cfb128
+camellia_crypt_ctr mbedtls_camellia_crypt_ctr
+camellia_crypt_ecb mbedtls_camellia_crypt_ecb
+camellia_free mbedtls_camellia_free
+camellia_init mbedtls_camellia_init
+camellia_self_test mbedtls_camellia_self_test
+camellia_setkey_dec mbedtls_camellia_setkey_dec
+camellia_setkey_enc mbedtls_camellia_setkey_enc
+ccm_auth_decrypt mbedtls_ccm_auth_decrypt
+ccm_context mbedtls_ccm_context
+ccm_encrypt_and_tag mbedtls_ccm_encrypt_and_tag
+ccm_free mbedtls_ccm_free
+ccm_init mbedtls_ccm_init
+ccm_self_test mbedtls_ccm_self_test
+cipher_auth_decrypt mbedtls_cipher_auth_decrypt
+cipher_auth_encrypt mbedtls_cipher_auth_encrypt
+cipher_base_t mbedtls_cipher_base_t
+cipher_check_tag mbedtls_cipher_check_tag
+cipher_context_t mbedtls_cipher_context_t
+cipher_crypt mbedtls_cipher_crypt
+cipher_definition_t mbedtls_cipher_definition_t
+cipher_definitions mbedtls_cipher_definitions
+cipher_finish mbedtls_cipher_finish
+cipher_free mbedtls_cipher_free
+cipher_free_ctx mbedtls_cipher_free_ctx
+cipher_get_block_size mbedtls_cipher_get_block_size
+cipher_get_cipher_mode mbedtls_cipher_get_cipher_mode
+cipher_get_iv_size mbedtls_cipher_get_iv_size
+cipher_get_key_size mbedtls_cipher_get_key_bitlen
+cipher_get_name mbedtls_cipher_get_name
+cipher_get_operation mbedtls_cipher_get_operation
+cipher_get_type mbedtls_cipher_get_type
+cipher_id_t mbedtls_cipher_id_t
+cipher_info_from_string mbedtls_cipher_info_from_string
+cipher_info_from_type mbedtls_cipher_info_from_type
+cipher_info_from_values mbedtls_cipher_info_from_values
+cipher_info_t mbedtls_cipher_info_t
+cipher_init mbedtls_cipher_init
+cipher_init_ctx mbedtls_cipher_setup
+cipher_list mbedtls_cipher_list
+cipher_mode_t mbedtls_cipher_mode_t
+cipher_padding_t mbedtls_cipher_padding_t
+cipher_reset mbedtls_cipher_reset
+cipher_self_test mbedtls_cipher_self_test
+cipher_set_iv mbedtls_cipher_set_iv
+cipher_set_padding_mode mbedtls_cipher_set_padding_mode
+cipher_setkey mbedtls_cipher_setkey
+cipher_type_t mbedtls_cipher_type_t
+cipher_update mbedtls_cipher_update
+cipher_update_ad mbedtls_cipher_update_ad
+cipher_write_tag mbedtls_cipher_write_tag
+ctr_drbg_context mbedtls_ctr_drbg_context
+ctr_drbg_free mbedtls_ctr_drbg_free
+ctr_drbg_init mbedtls_ctr_drbg_init
+ctr_drbg_init_entropy_len mbedtls_ctr_drbg_init_entropy_len
+ctr_drbg_random mbedtls_ctr_drbg_random
+ctr_drbg_random_with_add mbedtls_ctr_drbg_random_with_add
+ctr_drbg_reseed mbedtls_ctr_drbg_reseed
+ctr_drbg_self_test mbedtls_ctr_drbg_self_test
+ctr_drbg_set_entropy_len mbedtls_ctr_drbg_set_entropy_len
+ctr_drbg_set_prediction_resistance mbedtls_ctr_drbg_set_prediction_resistance
+ctr_drbg_set_reseed_interval mbedtls_ctr_drbg_set_reseed_interval
+ctr_drbg_update mbedtls_ctr_drbg_update
+ctr_drbg_update_seed_file mbedtls_ctr_drbg_update_seed_file
+ctr_drbg_write_seed_file mbedtls_ctr_drbg_write_seed_file
+debug_fmt mbedtls_debug_fmt
+debug_print_buf mbedtls_debug_print_buf
+debug_print_crt mbedtls_debug_print_crt
+debug_print_ecp mbedtls_debug_print_ecp
+debug_print_mpi mbedtls_debug_print_mpi
+debug_print_msg mbedtls_debug_print_msg
+debug_print_ret mbedtls_debug_print_ret
+debug_set_log_mode mbedtls_debug_set_log_mode
+debug_set_threshold mbedtls_debug_set_threshold
+des3_context mbedtls_des3_context
+des3_crypt_cbc mbedtls_des3_crypt_cbc
+des3_crypt_ecb mbedtls_des3_crypt_ecb
+des3_free mbedtls_des3_free
+des3_init mbedtls_des3_init
+des3_set2key_dec mbedtls_des3_set2key_dec
+des3_set2key_enc mbedtls_des3_set2key_enc
+des3_set3key_dec mbedtls_des3_set3key_dec
+des3_set3key_enc mbedtls_des3_set3key_enc
+des_context mbedtls_des_context
+des_crypt_cbc mbedtls_des_crypt_cbc
+des_crypt_ecb mbedtls_des_crypt_ecb
+des_free mbedtls_des_free
+des_init mbedtls_des_init
+des_key_check_key_parity mbedtls_des_key_check_key_parity
+des_key_check_weak mbedtls_des_key_check_weak
+des_key_set_parity mbedtls_des_key_set_parity
+des_self_test mbedtls_des_self_test
+des_setkey_dec mbedtls_des_setkey_dec
+des_setkey_enc mbedtls_des_setkey_enc
+dhm_calc_secret mbedtls_dhm_calc_secret
+dhm_context mbedtls_dhm_context
+dhm_free mbedtls_dhm_free
+dhm_init mbedtls_dhm_init
+dhm_make_params mbedtls_dhm_make_params
+dhm_make_public mbedtls_dhm_make_public
+dhm_parse_dhm mbedtls_dhm_parse_dhm
+dhm_parse_dhmfile mbedtls_dhm_parse_dhmfile
+dhm_read_params mbedtls_dhm_read_params
+dhm_read_public mbedtls_dhm_read_public
+dhm_self_test mbedtls_dhm_self_test
+ecdh_calc_secret mbedtls_ecdh_calc_secret
+ecdh_compute_shared mbedtls_ecdh_compute_shared
+ecdh_context mbedtls_ecdh_context
+ecdh_free mbedtls_ecdh_free
+ecdh_gen_public mbedtls_ecdh_gen_public
+ecdh_get_params mbedtls_ecdh_get_params
+ecdh_init mbedtls_ecdh_init
+ecdh_make_params mbedtls_ecdh_make_params
+ecdh_make_public mbedtls_ecdh_make_public
+ecdh_read_params mbedtls_ecdh_read_params
+ecdh_read_public mbedtls_ecdh_read_public
+ecdh_self_test mbedtls_ecdh_self_test
+ecdh_side mbedtls_ecdh_side
+ecdsa_context mbedtls_ecdsa_context
+ecdsa_free mbedtls_ecdsa_free
+ecdsa_from_keypair mbedtls_ecdsa_from_keypair
+ecdsa_genkey mbedtls_ecdsa_genkey
+ecdsa_info mbedtls_ecdsa_info
+ecdsa_init mbedtls_ecdsa_init
+ecdsa_read_signature mbedtls_ecdsa_read_signature
+ecdsa_self_test mbedtls_ecdsa_self_test
+ecdsa_sign mbedtls_ecdsa_sign
+ecdsa_sign_det mbedtls_ecdsa_sign_det
+ecdsa_verify mbedtls_ecdsa_verify
+ecdsa_write_signature mbedtls_ecdsa_write_signature
+ecdsa_write_signature_det mbedtls_ecdsa_write_signature_det
+eckey_info mbedtls_eckey_info
+eckeydh_info mbedtls_eckeydh_info
+ecp_add mbedtls_ecp_add
+ecp_check_privkey mbedtls_ecp_check_privkey
+ecp_check_pub_priv mbedtls_ecp_check_pub_priv
+ecp_check_pubkey mbedtls_ecp_check_pubkey
+ecp_copy mbedtls_ecp_copy
+ecp_curve_info mbedtls_ecp_curve_info
+ecp_curve_info_from_grp_id mbedtls_ecp_curve_info_from_grp_id
+ecp_curve_info_from_name mbedtls_ecp_curve_info_from_name
+ecp_curve_info_from_tls_id mbedtls_ecp_curve_info_from_tls_id
+ecp_curve_list mbedtls_ecp_curve_list
+ecp_gen_key mbedtls_ecp_gen_key
+ecp_gen_keypair mbedtls_ecp_gen_keypair
+ecp_group mbedtls_ecp_group
+ecp_group_copy mbedtls_ecp_group_copy
+ecp_group_free mbedtls_ecp_group_free
+ecp_group_id mbedtls_ecp_group_id
+ecp_group_init mbedtls_ecp_group_init
+ecp_group_read_string mbedtls_ecp_group_read_string
+ecp_grp_id_list mbedtls_ecp_grp_id_list
+ecp_is_zero mbedtls_ecp_is_zero
+ecp_keypair mbedtls_ecp_keypair
+ecp_keypair_free mbedtls_ecp_keypair_free
+ecp_keypair_init mbedtls_ecp_keypair_init
+ecp_mul mbedtls_ecp_mul
+ecp_point mbedtls_ecp_point
+ecp_point_free mbedtls_ecp_point_free
+ecp_point_init mbedtls_ecp_point_init
+ecp_point_read_binary mbedtls_ecp_point_read_binary
+ecp_point_read_string mbedtls_ecp_point_read_string
+ecp_point_write_binary mbedtls_ecp_point_write_binary
+ecp_self_test mbedtls_ecp_self_test
+ecp_set_zero mbedtls_ecp_set_zero
+ecp_sub mbedtls_ecp_sub
+ecp_tls_read_group mbedtls_ecp_tls_read_group
+ecp_tls_read_point mbedtls_ecp_tls_read_point
+ecp_tls_write_group mbedtls_ecp_tls_write_group
+ecp_tls_write_point mbedtls_ecp_tls_write_point
+ecp_use_known_dp mbedtls_ecp_group_load
+entropy_add_source mbedtls_entropy_add_source
+entropy_context mbedtls_entropy_context
+entropy_free mbedtls_entropy_free
+entropy_func mbedtls_entropy_func
+entropy_gather mbedtls_entropy_gather
+entropy_init mbedtls_entropy_init
+entropy_self_test mbedtls_entropy_self_test
+entropy_update_manual mbedtls_entropy_update_manual
+entropy_update_seed_file mbedtls_entropy_update_seed_file
+entropy_write_seed_file mbedtls_entropy_write_seed_file
+error_strerror mbedtls_strerror
+f_source_ptr mbedtls_entropy_f_source_ptr
+gcm_auth_decrypt mbedtls_gcm_auth_decrypt
+gcm_context mbedtls_gcm_context
+gcm_crypt_and_tag mbedtls_gcm_crypt_and_tag
+gcm_finish mbedtls_gcm_finish
+gcm_free mbedtls_gcm_free
+gcm_init mbedtls_gcm_init
+gcm_self_test mbedtls_gcm_self_test
+gcm_starts mbedtls_gcm_starts
+gcm_update mbedtls_gcm_update
+get_timer mbedtls_timing_get_timer
+hardclock mbedtls_timing_hardclock
+hardclock_poll mbedtls_hardclock_poll
+havege_free mbedtls_havege_free
+havege_init mbedtls_havege_init
+havege_poll mbedtls_havege_poll
+havege_random mbedtls_havege_random
+havege_state mbedtls_havege_state
+hmac_drbg_context mbedtls_hmac_drbg_context
+hmac_drbg_free mbedtls_hmac_drbg_free
+hmac_drbg_init mbedtls_hmac_drbg_init
+hmac_drbg_init_buf mbedtls_hmac_drbg_init_buf
+hmac_drbg_random mbedtls_hmac_drbg_random
+hmac_drbg_random_with_add mbedtls_hmac_drbg_random_with_add
+hmac_drbg_reseed mbedtls_hmac_drbg_reseed
+hmac_drbg_self_test mbedtls_hmac_drbg_self_test
+hmac_drbg_set_entropy_len mbedtls_hmac_drbg_set_entropy_len
+hmac_drbg_set_prediction_resistance mbedtls_hmac_drbg_set_prediction_resistance
+hmac_drbg_set_reseed_interval mbedtls_hmac_drbg_set_reseed_interval
+hmac_drbg_update mbedtls_hmac_drbg_update
+hmac_drbg_update_seed_file mbedtls_hmac_drbg_update_seed_file
+hmac_drbg_write_seed_file mbedtls_hmac_drbg_write_seed_file
+hr_time mbedtls_timing_hr_time
+key_exchange_type_t mbedtls_key_exchange_type_t
+m_sleep mbedtls_timing_m_sleep
+md mbedtls_md
+md2 mbedtls_md2
+md2_context mbedtls_md2_context
+md2_file mbedtls_md2_file
+md2_finish mbedtls_md2_finish
+md2_free mbedtls_md2_free
+md2_hmac mbedtls_md2_hmac
+md2_hmac_finish mbedtls_md2_hmac_finish
+md2_hmac_reset mbedtls_md2_hmac_reset
+md2_hmac_starts mbedtls_md2_hmac_starts
+md2_hmac_update mbedtls_md2_hmac_update
+md2_info mbedtls_md2_info
+md2_init mbedtls_md2_init
+md2_process mbedtls_md2_process
+md2_self_test mbedtls_md2_self_test
+md2_starts mbedtls_md2_starts
+md2_update mbedtls_md2_update
+md4 mbedtls_md4
+md4_context mbedtls_md4_context
+md4_file mbedtls_md4_file
+md4_finish mbedtls_md4_finish
+md4_free mbedtls_md4_free
+md4_hmac mbedtls_md4_hmac
+md4_hmac_finish mbedtls_md4_hmac_finish
+md4_hmac_reset mbedtls_md4_hmac_reset
+md4_hmac_starts mbedtls_md4_hmac_starts
+md4_hmac_update mbedtls_md4_hmac_update
+md4_info mbedtls_md4_info
+md4_init mbedtls_md4_init
+md4_process mbedtls_md4_process
+md4_self_test mbedtls_md4_self_test
+md4_starts mbedtls_md4_starts
+md4_update mbedtls_md4_update
+md5 mbedtls_md5
+md5_context mbedtls_md5_context
+md5_file mbedtls_md5_file
+md5_finish mbedtls_md5_finish
+md5_free mbedtls_md5_free
+md5_hmac mbedtls_md5_hmac
+md5_hmac_finish mbedtls_md5_hmac_finish
+md5_hmac_reset mbedtls_md5_hmac_reset
+md5_hmac_starts mbedtls_md5_hmac_starts
+md5_hmac_update mbedtls_md5_hmac_update
+md5_info mbedtls_md5_info
+md5_init mbedtls_md5_init
+md5_process mbedtls_md5_process
+md5_self_test mbedtls_md5_self_test
+md5_starts mbedtls_md5_starts
+md5_update mbedtls_md5_update
+md_context_t mbedtls_md_context_t
+md_file mbedtls_md_file
+md_finish mbedtls_md_finish
+md_free mbedtls_md_free
+md_free_ctx mbedtls_md_free_ctx
+md_get_name mbedtls_md_get_name
+md_get_size mbedtls_md_get_size
+md_get_type mbedtls_md_get_type
+md_hmac mbedtls_md_hmac
+md_hmac_finish mbedtls_md_hmac_finish
+md_hmac_reset mbedtls_md_hmac_reset
+md_hmac_starts mbedtls_md_hmac_starts
+md_hmac_update mbedtls_md_hmac_update
+md_info_from_string mbedtls_md_info_from_string
+md_info_from_type mbedtls_md_info_from_type
+md_info_t mbedtls_md_info_t
+md_init mbedtls_md_init
+md_init_ctx mbedtls_md_init_ctx
+md_list mbedtls_md_list
+md_process mbedtls_md_process
+md_starts mbedtls_md_starts
+md_type_t mbedtls_md_type_t
+md_update mbedtls_md_update
+memory_buffer_alloc_cur_get mbedtls_memory_buffer_alloc_cur_get
+memory_buffer_alloc_free mbedtls_memory_buffer_alloc_free
+memory_buffer_alloc_init mbedtls_memory_buffer_alloc_init
+memory_buffer_alloc_max_get mbedtls_memory_buffer_alloc_max_get
+memory_buffer_alloc_max_reset mbedtls_memory_buffer_alloc_max_reset
+memory_buffer_alloc_self_test mbedtls_memory_buffer_alloc_self_test
+memory_buffer_alloc_status mbedtls_memory_buffer_alloc_status
+memory_buffer_alloc_verify mbedtls_memory_buffer_alloc_verify
+memory_buffer_set_verify mbedtls_memory_buffer_set_verify
+memory_set_own mbedtls_memory_set_own
+mpi mbedtls_mpi
+mpi_add_abs mbedtls_mpi_add_abs
+mpi_add_int mbedtls_mpi_add_int
+mpi_add_mpi mbedtls_mpi_add_mpi
+mpi_cmp_abs mbedtls_mpi_cmp_abs
+mpi_cmp_int mbedtls_mpi_cmp_int
+mpi_cmp_mpi mbedtls_mpi_cmp_mpi
+mpi_copy mbedtls_mpi_copy
+mpi_div_int mbedtls_mpi_div_int
+mpi_div_mpi mbedtls_mpi_div_mpi
+mpi_exp_mod mbedtls_mpi_exp_mod
+mpi_fill_random mbedtls_mpi_fill_random
+mpi_free mbedtls_mpi_free
+mpi_gcd mbedtls_mpi_gcd
+mpi_gen_prime mbedtls_mpi_gen_prime
+mpi_get_bit mbedtls_mpi_get_bit
+mpi_grow mbedtls_mpi_grow
+mpi_init mbedtls_mpi_init
+mpi_inv_mod mbedtls_mpi_inv_mod
+mpi_is_prime mbedtls_mpi_is_prime
+mpi_lsb mbedtls_mpi_lsb
+mpi_lset mbedtls_mpi_lset
+mpi_mod_int mbedtls_mpi_mod_int
+mpi_mod_mpi mbedtls_mpi_mod_mpi
+mpi_msb mbedtls_mpi_bitlen
+mpi_mul_int mbedtls_mpi_mul_int
+mpi_mul_mpi mbedtls_mpi_mul_mpi
+mpi_read_binary mbedtls_mpi_read_binary
+mpi_read_file mbedtls_mpi_read_file
+mpi_read_string mbedtls_mpi_read_string
+mpi_safe_cond_assign mbedtls_mpi_safe_cond_assign
+mpi_safe_cond_swap mbedtls_mpi_safe_cond_swap
+mpi_self_test mbedtls_mpi_self_test
+mpi_set_bit mbedtls_mpi_set_bit
+mpi_shift_l mbedtls_mpi_shift_l
+mpi_shift_r mbedtls_mpi_shift_r
+mpi_shrink mbedtls_mpi_shrink
+mpi_size mbedtls_mpi_size
+mpi_sub_abs mbedtls_mpi_sub_abs
+mpi_sub_int mbedtls_mpi_sub_int
+mpi_sub_mpi mbedtls_mpi_sub_mpi
+mpi_swap mbedtls_mpi_swap
+mpi_write_binary mbedtls_mpi_write_binary
+mpi_write_file mbedtls_mpi_write_file
+mpi_write_string mbedtls_mpi_write_string
+net_accept mbedtls_net_accept
+net_bind mbedtls_net_bind
+net_close mbedtls_net_free
+net_connect mbedtls_net_connect
+net_recv mbedtls_net_recv
+net_recv_timeout mbedtls_net_recv_timeout
+net_send mbedtls_net_send
+net_set_block mbedtls_net_set_block
+net_set_nonblock mbedtls_net_set_nonblock
+net_usleep mbedtls_net_usleep
+oid_descriptor_t mbedtls_oid_descriptor_t
+oid_get_attr_short_name mbedtls_oid_get_attr_short_name
+oid_get_cipher_alg mbedtls_oid_get_cipher_alg
+oid_get_ec_grp mbedtls_oid_get_ec_grp
+oid_get_extended_key_usage mbedtls_oid_get_extended_key_usage
+oid_get_md_alg mbedtls_oid_get_md_alg
+oid_get_numeric_string mbedtls_oid_get_numeric_string
+oid_get_oid_by_ec_grp mbedtls_oid_get_oid_by_ec_grp
+oid_get_oid_by_md mbedtls_oid_get_oid_by_md
+oid_get_oid_by_pk_alg mbedtls_oid_get_oid_by_pk_alg
+oid_get_oid_by_sig_alg mbedtls_oid_get_oid_by_sig_alg
+oid_get_pk_alg mbedtls_oid_get_pk_alg
+oid_get_pkcs12_pbe_alg mbedtls_oid_get_pkcs12_pbe_alg
+oid_get_sig_alg mbedtls_oid_get_sig_alg
+oid_get_sig_alg_desc mbedtls_oid_get_sig_alg_desc
+oid_get_x509_ext_type mbedtls_oid_get_x509_ext_type
+operation_t mbedtls_operation_t
+padlock_supports mbedtls_padlock_has_support
+padlock_xcryptcbc mbedtls_padlock_xcryptcbc
+padlock_xcryptecb mbedtls_padlock_xcryptecb
+pem_context mbedtls_pem_context
+pem_free mbedtls_pem_free
+pem_init mbedtls_pem_init
+pem_read_buffer mbedtls_pem_read_buffer
+pem_write_buffer mbedtls_pem_write_buffer
+pk_can_do mbedtls_pk_can_do
+pk_check_pair mbedtls_pk_check_pair
+pk_context mbedtls_pk_context
+pk_debug mbedtls_pk_debug
+pk_debug_item mbedtls_pk_debug_item
+pk_debug_type mbedtls_pk_debug_type
+pk_decrypt mbedtls_pk_decrypt
+pk_ec mbedtls_pk_ec
+pk_encrypt mbedtls_pk_encrypt
+pk_free mbedtls_pk_free
+pk_get_len mbedtls_pk_get_len
+pk_get_name mbedtls_pk_get_name
+pk_get_size mbedtls_pk_get_bitlen
+pk_get_type mbedtls_pk_get_type
+pk_info_from_type mbedtls_pk_info_from_type
+pk_info_t mbedtls_pk_info_t
+pk_init mbedtls_pk_init
+pk_init_ctx mbedtls_pk_setup
+pk_init_ctx_rsa_alt mbedtls_pk_setup_rsa_alt
+pk_load_file mbedtls_pk_load_file
+pk_parse_key mbedtls_pk_parse_key
+pk_parse_keyfile mbedtls_pk_parse_keyfile
+pk_parse_public_key mbedtls_pk_parse_public_key
+pk_parse_public_keyfile mbedtls_pk_parse_public_keyfile
+pk_parse_subpubkey mbedtls_pk_parse_subpubkey
+pk_rsa mbedtls_pk_rsa
+pk_rsa_alt_decrypt_func mbedtls_pk_rsa_alt_decrypt_func
+pk_rsa_alt_key_len_func mbedtls_pk_rsa_alt_key_len_func
+pk_rsa_alt_sign_func mbedtls_pk_rsa_alt_sign_func
+pk_rsassa_pss_options mbedtls_pk_rsassa_pss_options
+pk_sign mbedtls_pk_sign
+pk_type_t mbedtls_pk_type_t
+pk_verify mbedtls_pk_verify
+pk_verify_ext mbedtls_pk_verify_ext
+pk_write_key_der mbedtls_pk_write_key_der
+pk_write_key_pem mbedtls_pk_write_key_pem
+pk_write_pubkey mbedtls_pk_write_pubkey
+pk_write_pubkey_der mbedtls_pk_write_pubkey_der
+pk_write_pubkey_pem mbedtls_pk_write_pubkey_pem
+pkcs11_context mbedtls_pkcs11_context
+pkcs11_decrypt mbedtls_pkcs11_decrypt
+pkcs11_priv_key_free mbedtls_pkcs11_priv_key_free
+pkcs11_priv_key_init mbedtls_pkcs11_priv_key_bind
+pkcs11_sign mbedtls_pkcs11_sign
+pkcs11_x509_cert_init mbedtls_pkcs11_x509_cert_bind
+pkcs12_derivation mbedtls_pkcs12_derivation
+pkcs12_pbe mbedtls_pkcs12_pbe
+pkcs12_pbe_sha1_rc4_128 mbedtls_pkcs12_pbe_sha1_rc4_128
+pkcs5_pbes2 mbedtls_pkcs5_pbes2
+pkcs5_pbkdf2_hmac mbedtls_pkcs5_pbkdf2_hmac
+pkcs5_self_test mbedtls_pkcs5_self_test
+platform_entropy_poll mbedtls_platform_entropy_poll
+platform_set_exit mbedtls_platform_set_exit
+platform_set_fprintf mbedtls_platform_set_fprintf
+platform_set_malloc_free mbedtls_platform_set_malloc_free
+platform_set_printf mbedtls_platform_set_printf
+platform_set_snprintf mbedtls_platform_set_snprintf
+polarssl_exit mbedtls_exit
+polarssl_fprintf mbedtls_fprintf
+polarssl_free mbedtls_free
+polarssl_malloc mbedtls_malloc
+polarssl_mutex_free mbedtls_mutex_free
+polarssl_mutex_init mbedtls_mutex_init
+polarssl_mutex_lock mbedtls_mutex_lock
+polarssl_mutex_unlock mbedtls_mutex_unlock
+polarssl_printf mbedtls_printf
+polarssl_snprintf mbedtls_snprintf
+polarssl_strerror mbedtls_strerror
+ripemd160 mbedtls_ripemd160
+ripemd160_context mbedtls_ripemd160_context
+ripemd160_file mbedtls_ripemd160_file
+ripemd160_finish mbedtls_ripemd160_finish
+ripemd160_free mbedtls_ripemd160_free
+ripemd160_hmac mbedtls_ripemd160_hmac
+ripemd160_hmac_finish mbedtls_ripemd160_hmac_finish
+ripemd160_hmac_reset mbedtls_ripemd160_hmac_reset
+ripemd160_hmac_starts mbedtls_ripemd160_hmac_starts
+ripemd160_hmac_update mbedtls_ripemd160_hmac_update
+ripemd160_info mbedtls_ripemd160_info
+ripemd160_init mbedtls_ripemd160_init
+ripemd160_process mbedtls_ripemd160_process
+ripemd160_self_test mbedtls_ripemd160_self_test
+ripemd160_starts mbedtls_ripemd160_starts
+ripemd160_update mbedtls_ripemd160_update
+rsa_alt_context mbedtls_rsa_alt_context
+rsa_alt_info mbedtls_rsa_alt_info
+rsa_check_privkey mbedtls_rsa_check_privkey
+rsa_check_pub_priv mbedtls_rsa_check_pub_priv
+rsa_check_pubkey mbedtls_rsa_check_pubkey
+rsa_context mbedtls_rsa_context
+rsa_copy mbedtls_rsa_copy
+rsa_decrypt_func mbedtls_rsa_decrypt_func
+rsa_free mbedtls_rsa_free
+rsa_gen_key mbedtls_rsa_gen_key
+rsa_info mbedtls_rsa_info
+rsa_init mbedtls_rsa_init
+rsa_key_len_func mbedtls_rsa_key_len_func
+rsa_pkcs1_decrypt mbedtls_rsa_pkcs1_decrypt
+rsa_pkcs1_encrypt mbedtls_rsa_pkcs1_encrypt
+rsa_pkcs1_sign mbedtls_rsa_pkcs1_sign
+rsa_pkcs1_verify mbedtls_rsa_pkcs1_verify
+rsa_private mbedtls_rsa_private
+rsa_public mbedtls_rsa_public
+rsa_rsaes_oaep_decrypt mbedtls_rsa_rsaes_oaep_decrypt
+rsa_rsaes_oaep_encrypt mbedtls_rsa_rsaes_oaep_encrypt
+rsa_rsaes_pkcs1_v15_decrypt mbedtls_rsa_rsaes_pkcs1_v15_decrypt
+rsa_rsaes_pkcs1_v15_encrypt mbedtls_rsa_rsaes_pkcs1_v15_encrypt
+rsa_rsassa_pkcs1_v15_sign mbedtls_rsa_rsassa_pkcs1_v15_sign
+rsa_rsassa_pkcs1_v15_verify mbedtls_rsa_rsassa_pkcs1_v15_verify
+rsa_rsassa_pss_sign mbedtls_rsa_rsassa_pss_sign
+rsa_rsassa_pss_verify mbedtls_rsa_rsassa_pss_verify
+rsa_rsassa_pss_verify_ext mbedtls_rsa_rsassa_pss_verify_ext
+rsa_self_test mbedtls_rsa_self_test
+rsa_set_padding mbedtls_rsa_set_padding
+rsa_sign_func mbedtls_rsa_sign_func
+safer_memcmp mbedtls_ssl_safer_memcmp
+set_alarm mbedtls_set_alarm
+sha1 mbedtls_sha1
+sha1_context mbedtls_sha1_context
+sha1_file mbedtls_sha1_file
+sha1_finish mbedtls_sha1_finish
+sha1_free mbedtls_sha1_free
+sha1_hmac mbedtls_sha1_hmac
+sha1_hmac_finish mbedtls_sha1_hmac_finish
+sha1_hmac_reset mbedtls_sha1_hmac_reset
+sha1_hmac_starts mbedtls_sha1_hmac_starts
+sha1_hmac_update mbedtls_sha1_hmac_update
+sha1_info mbedtls_sha1_info
+sha1_init mbedtls_sha1_init
+sha1_process mbedtls_sha1_process
+sha1_self_test mbedtls_sha1_self_test
+sha1_starts mbedtls_sha1_starts
+sha1_update mbedtls_sha1_update
+sha224_info mbedtls_sha224_info
+sha256 mbedtls_sha256
+sha256_context mbedtls_sha256_context
+sha256_file mbedtls_sha256_file
+sha256_finish mbedtls_sha256_finish
+sha256_free mbedtls_sha256_free
+sha256_hmac mbedtls_sha256_hmac
+sha256_hmac_finish mbedtls_sha256_hmac_finish
+sha256_hmac_reset mbedtls_sha256_hmac_reset
+sha256_hmac_starts mbedtls_sha256_hmac_starts
+sha256_hmac_update mbedtls_sha256_hmac_update
+sha256_info mbedtls_sha256_info
+sha256_init mbedtls_sha256_init
+sha256_process mbedtls_sha256_process
+sha256_self_test mbedtls_sha256_self_test
+sha256_starts mbedtls_sha256_starts
+sha256_update mbedtls_sha256_update
+sha384_info mbedtls_sha384_info
+sha512 mbedtls_sha512
+sha512_context mbedtls_sha512_context
+sha512_file mbedtls_sha512_file
+sha512_finish mbedtls_sha512_finish
+sha512_free mbedtls_sha512_free
+sha512_hmac mbedtls_sha512_hmac
+sha512_hmac_finish mbedtls_sha512_hmac_finish
+sha512_hmac_reset mbedtls_sha512_hmac_reset
+sha512_hmac_starts mbedtls_sha512_hmac_starts
+sha512_hmac_update mbedtls_sha512_hmac_update
+sha512_info mbedtls_sha512_info
+sha512_init mbedtls_sha512_init
+sha512_process mbedtls_sha512_process
+sha512_self_test mbedtls_sha512_self_test
+sha512_starts mbedtls_sha512_starts
+sha512_update mbedtls_sha512_update
+source_state mbedtls_entropy_source_state
+ssl_cache_context mbedtls_ssl_cache_context
+ssl_cache_entry mbedtls_ssl_cache_entry
+ssl_cache_free mbedtls_ssl_cache_free
+ssl_cache_get mbedtls_ssl_cache_get
+ssl_cache_init mbedtls_ssl_cache_init
+ssl_cache_set mbedtls_ssl_cache_set
+ssl_cache_set_max_entries mbedtls_ssl_cache_set_max_entries
+ssl_cache_set_timeout mbedtls_ssl_cache_set_timeout
+ssl_check_cert_usage mbedtls_ssl_check_cert_usage
+ssl_ciphersuite_from_id mbedtls_ssl_ciphersuite_from_id
+ssl_ciphersuite_from_string mbedtls_ssl_ciphersuite_from_string
+ssl_ciphersuite_t mbedtls_ssl_ciphersuite_t
+ssl_ciphersuite_uses_ec mbedtls_ssl_ciphersuite_uses_ec
+ssl_ciphersuite_uses_psk mbedtls_ssl_ciphersuite_uses_psk
+ssl_close_notify mbedtls_ssl_close_notify
+ssl_context mbedtls_ssl_context
+ssl_cookie_check mbedtls_ssl_cookie_check
+ssl_cookie_check_t mbedtls_ssl_cookie_check_t
+ssl_cookie_ctx mbedtls_ssl_cookie_ctx
+ssl_cookie_free mbedtls_ssl_cookie_free
+ssl_cookie_init mbedtls_ssl_cookie_init
+ssl_cookie_set_timeout mbedtls_ssl_cookie_set_timeout
+ssl_cookie_setup mbedtls_ssl_cookie_setup
+ssl_cookie_write mbedtls_ssl_cookie_write
+ssl_cookie_write_t mbedtls_ssl_cookie_write_t
+ssl_curve_is_acceptable mbedtls_ssl_curve_is_acceptable
+ssl_derive_keys mbedtls_ssl_derive_keys
+ssl_dtls_replay_check mbedtls_ssl_dtls_replay_check
+ssl_dtls_replay_update mbedtls_ssl_dtls_replay_update
+ssl_fetch_input mbedtls_ssl_fetch_input
+ssl_flight_item mbedtls_ssl_flight_item
+ssl_flush_output mbedtls_ssl_flush_output
+ssl_free mbedtls_ssl_free
+ssl_get_alpn_protocol mbedtls_ssl_get_alpn_protocol
+ssl_get_bytes_avail mbedtls_ssl_get_bytes_avail
+ssl_get_ciphersuite mbedtls_ssl_get_ciphersuite
+ssl_get_ciphersuite_id mbedtls_ssl_get_ciphersuite_id
+ssl_get_ciphersuite_name mbedtls_ssl_get_ciphersuite_name
+ssl_get_ciphersuite_sig_pk_alg mbedtls_ssl_get_ciphersuite_sig_pk_alg
+ssl_get_peer_cert mbedtls_ssl_get_peer_cert
+ssl_get_record_expansion mbedtls_ssl_get_record_expansion
+ssl_get_session mbedtls_ssl_get_session
+ssl_get_verify_result mbedtls_ssl_get_verify_result
+ssl_get_version mbedtls_ssl_get_version
+ssl_handshake mbedtls_ssl_handshake
+ssl_handshake_client_step mbedtls_ssl_handshake_client_step
+ssl_handshake_free mbedtls_ssl_handshake_free
+ssl_handshake_params mbedtls_ssl_handshake_params
+ssl_handshake_server_step mbedtls_ssl_handshake_server_step
+ssl_handshake_step mbedtls_ssl_handshake_step
+ssl_handshake_wrapup mbedtls_ssl_handshake_wrapup
+ssl_hdr_len mbedtls_ssl_hdr_len
+ssl_hs_hdr_len mbedtls_ssl_hs_hdr_len
+ssl_hw_record_activate mbedtls_ssl_hw_record_activate
+ssl_hw_record_finish mbedtls_ssl_hw_record_finish
+ssl_hw_record_init mbedtls_ssl_hw_record_init
+ssl_hw_record_read mbedtls_ssl_hw_record_read
+ssl_hw_record_reset mbedtls_ssl_hw_record_reset
+ssl_hw_record_write mbedtls_ssl_hw_record_write
+ssl_init mbedtls_ssl_init
+ssl_key_cert mbedtls_ssl_key_cert
+ssl_legacy_renegotiation mbedtls_ssl_conf_legacy_renegotiation
+ssl_list_ciphersuites mbedtls_ssl_list_ciphersuites
+ssl_md_alg_from_hash mbedtls_ssl_md_alg_from_hash
+ssl_optimize_checksum mbedtls_ssl_optimize_checksum
+ssl_own_cert mbedtls_ssl_own_cert
+ssl_own_key mbedtls_ssl_own_key
+ssl_parse_certificate mbedtls_ssl_parse_certificate
+ssl_parse_change_cipher_spec mbedtls_ssl_parse_change_cipher_spec
+ssl_parse_finished mbedtls_ssl_parse_finished
+ssl_pk_alg_from_sig mbedtls_ssl_pk_alg_from_sig
+ssl_pkcs11_decrypt mbedtls_ssl_pkcs11_decrypt
+ssl_pkcs11_key_len mbedtls_ssl_pkcs11_key_len
+ssl_pkcs11_sign mbedtls_ssl_pkcs11_sign
+ssl_psk_derive_premaster mbedtls_ssl_psk_derive_premaster
+ssl_read mbedtls_ssl_read
+ssl_read_record mbedtls_ssl_read_record
+ssl_read_version mbedtls_ssl_read_version
+ssl_recv_flight_completed mbedtls_ssl_recv_flight_completed
+ssl_renegotiate mbedtls_ssl_renegotiate
+ssl_resend mbedtls_ssl_resend
+ssl_reset_checksum mbedtls_ssl_reset_checksum
+ssl_send_alert_message mbedtls_ssl_send_alert_message
+ssl_send_fatal_handshake_failure mbedtls_ssl_send_fatal_handshake_failure
+ssl_send_flight_completed mbedtls_ssl_send_flight_completed
+ssl_session mbedtls_ssl_session
+ssl_session_free mbedtls_ssl_session_free
+ssl_session_init mbedtls_ssl_session_init
+ssl_session_reset mbedtls_ssl_session_reset
+ssl_set_alpn_protocols mbedtls_ssl_conf_alpn_protocols
+ssl_set_arc4_support mbedtls_ssl_conf_arc4_support
+ssl_set_authmode mbedtls_ssl_conf_authmode
+ssl_set_bio mbedtls_ssl_set_bio
+ssl_set_ca_chain mbedtls_ssl_conf_ca_chain
+ssl_set_cbc_record_splitting mbedtls_ssl_conf_cbc_record_splitting
+ssl_set_ciphersuites mbedtls_ssl_conf_ciphersuites
+ssl_set_ciphersuites_for_version mbedtls_ssl_conf_ciphersuites_for_version
+ssl_set_client_transport_id mbedtls_ssl_set_client_transport_id
+ssl_set_curves mbedtls_ssl_conf_curves
+ssl_set_dbg mbedtls_ssl_conf_dbg
+ssl_set_dh_param mbedtls_ssl_conf_dh_param
+ssl_set_dh_param_ctx mbedtls_ssl_conf_dh_param_ctx
+ssl_set_dtls_anti_replay mbedtls_ssl_conf_dtls_anti_replay
+ssl_set_dtls_badmac_limit mbedtls_ssl_conf_dtls_badmac_limit
+ssl_set_dtls_cookies mbedtls_ssl_conf_dtls_cookies
+ssl_set_encrypt_then_mac mbedtls_ssl_conf_encrypt_then_mac
+ssl_set_endpoint mbedtls_ssl_conf_endpoint
+ssl_set_extended_master_secret mbedtls_ssl_conf_extended_master_secret
+ssl_set_fallback mbedtls_ssl_conf_fallback
+ssl_set_handshake_timeout mbedtls_ssl_conf_handshake_timeout
+ssl_set_hostname mbedtls_ssl_set_hostname
+ssl_set_max_frag_len mbedtls_ssl_conf_max_frag_len
+ssl_set_max_version mbedtls_ssl_conf_max_version
+ssl_set_min_version mbedtls_ssl_conf_min_version
+ssl_set_own_cert mbedtls_ssl_conf_own_cert
+ssl_set_own_cert_alt mbedtls_ssl_set_own_cert_alt
+ssl_set_own_cert_rsa mbedtls_ssl_set_own_cert_rsa
+ssl_set_psk mbedtls_ssl_conf_psk
+ssl_set_psk_cb mbedtls_ssl_conf_psk_cb
+ssl_set_renegotiation mbedtls_ssl_conf_renegotiation
+ssl_set_renegotiation_enforced mbedtls_ssl_conf_renegotiation_enforced
+ssl_set_renegotiation_period mbedtls_ssl_conf_renegotiation_period
+ssl_set_rng mbedtls_ssl_conf_rng
+ssl_set_session mbedtls_ssl_set_session
+ssl_set_session_cache mbedtls_ssl_conf_session_cache
+ssl_set_session_ticket_lifetime mbedtls_ssl_conf_session_ticket_lifetime
+ssl_set_session_tickets mbedtls_ssl_conf_session_tickets
+ssl_set_sni mbedtls_ssl_conf_sni
+ssl_set_transport mbedtls_ssl_conf_transport
+ssl_set_truncated_hmac mbedtls_ssl_conf_truncated_hmac
+ssl_set_verify mbedtls_ssl_conf_verify
+ssl_sig_from_pk mbedtls_ssl_sig_from_pk
+ssl_states mbedtls_ssl_states
+ssl_ticket_keys mbedtls_ssl_ticket_keys
+ssl_transform mbedtls_ssl_transform
+ssl_transform_free mbedtls_ssl_transform_free
+ssl_write mbedtls_ssl_write
+ssl_write_certificate mbedtls_ssl_write_certificate
+ssl_write_change_cipher_spec mbedtls_ssl_write_change_cipher_spec
+ssl_write_finished mbedtls_ssl_write_finished
+ssl_write_record mbedtls_ssl_write_record
+ssl_write_version mbedtls_ssl_write_version
+supported_ciphers mbedtls_cipher_supported
+t_sint mbedtls_mpi_sint
+t_udbl mbedtls_t_udbl
+t_uint mbedtls_mpi_uint
+test_ca_crt mbedtls_test_ca_crt
+test_ca_crt_ec mbedtls_test_ca_crt_ec
+test_ca_crt_rsa mbedtls_test_ca_crt_rsa
+test_ca_key mbedtls_test_ca_key
+test_ca_key_ec mbedtls_test_ca_key_ec
+test_ca_key_rsa mbedtls_test_ca_key_rsa
+test_ca_list mbedtls_test_cas_pem
+test_ca_pwd mbedtls_test_ca_pwd
+test_ca_pwd_ec mbedtls_test_ca_pwd_ec
+test_ca_pwd_rsa mbedtls_test_ca_pwd_rsa
+test_cli_crt mbedtls_test_cli_crt
+test_cli_crt_ec mbedtls_test_cli_crt_ec
+test_cli_crt_rsa mbedtls_test_cli_crt_rsa
+test_cli_key mbedtls_test_cli_key
+test_cli_key_ec mbedtls_test_cli_key_ec
+test_cli_key_rsa mbedtls_test_cli_key_rsa
+test_dhm_params mbedtls_test_dhm_params
+test_srv_crt mbedtls_test_srv_crt
+test_srv_crt_ec mbedtls_test_srv_crt_ec
+test_srv_crt_rsa mbedtls_test_srv_crt_rsa
+test_srv_key mbedtls_test_srv_key
+test_srv_key_ec mbedtls_test_srv_key_ec
+test_srv_key_rsa mbedtls_test_srv_key_rsa
+threading_mutex_t mbedtls_threading_mutex_t
+threading_set_alt mbedtls_threading_set_alt
+timing_self_test mbedtls_timing_self_test
+version_check_feature mbedtls_version_check_feature
+version_get_number mbedtls_version_get_number
+version_get_string mbedtls_version_get_string
+version_get_string_full mbedtls_version_get_string_full
+x509_bitstring mbedtls_x509_bitstring
+x509_buf mbedtls_x509_buf
+x509_crl mbedtls_x509_crl
+x509_crl_entry mbedtls_x509_crl_entry
+x509_crl_free mbedtls_x509_crl_free
+x509_crl_info mbedtls_x509_crl_info
+x509_crl_init mbedtls_x509_crl_init
+x509_crl_parse mbedtls_x509_crl_parse
+x509_crl_parse_der mbedtls_x509_crl_parse_der
+x509_crl_parse_file mbedtls_x509_crl_parse_file
+x509_crt mbedtls_x509_crt
+x509_crt_check_extended_key_usage mbedtls_x509_crt_check_extended_key_usage
+x509_crt_check_key_usage mbedtls_x509_crt_check_key_usage
+x509_crt_free mbedtls_x509_crt_free
+x509_crt_info mbedtls_x509_crt_info
+x509_crt_init mbedtls_x509_crt_init
+x509_crt_parse mbedtls_x509_crt_parse
+x509_crt_parse_der mbedtls_x509_crt_parse_der
+x509_crt_parse_file mbedtls_x509_crt_parse_file
+x509_crt_parse_path mbedtls_x509_crt_parse_path
+x509_crt_revoked mbedtls_x509_crt_is_revoked
+x509_crt_verify mbedtls_x509_crt_verify
+x509_crt_verify_info mbedtls_x509_crt_verify_info
+x509_csr mbedtls_x509_csr
+x509_csr_free mbedtls_x509_csr_free
+x509_csr_info mbedtls_x509_csr_info
+x509_csr_init mbedtls_x509_csr_init
+x509_csr_parse mbedtls_x509_csr_parse
+x509_csr_parse_der mbedtls_x509_csr_parse_der
+x509_csr_parse_file mbedtls_x509_csr_parse_file
+x509_dn_gets mbedtls_x509_dn_gets
+x509_get_alg mbedtls_x509_get_alg
+x509_get_alg_null mbedtls_x509_get_alg_null
+x509_get_ext mbedtls_x509_get_ext
+x509_get_name mbedtls_x509_get_name
+x509_get_rsassa_pss_params mbedtls_x509_get_rsassa_pss_params
+x509_get_serial mbedtls_x509_get_serial
+x509_get_sig mbedtls_x509_get_sig
+x509_get_sig_alg mbedtls_x509_get_sig_alg
+x509_get_time mbedtls_x509_get_time
+x509_key_size_helper mbedtls_x509_key_size_helper
+x509_name mbedtls_x509_name
+x509_oid_get_description mbedtls_x509_oid_get_description
+x509_oid_get_numeric_string mbedtls_x509_oid_get_numeric_string
+x509_self_test mbedtls_x509_self_test
+x509_sequence mbedtls_x509_sequence
+x509_serial_gets mbedtls_x509_serial_gets
+x509_set_extension mbedtls_x509_set_extension
+x509_sig_alg_gets mbedtls_x509_sig_alg_gets
+x509_string_to_names mbedtls_x509_string_to_names
+x509_time mbedtls_x509_time
+x509_time_expired mbedtls_x509_time_is_past
+x509_time_future mbedtls_x509_time_is_future
+x509_write_extensions mbedtls_x509_write_extensions
+x509_write_names mbedtls_x509_write_names
+x509_write_sig mbedtls_x509_write_sig
+x509write_cert mbedtls_x509write_cert
+x509write_crt_der mbedtls_x509write_crt_der
+x509write_crt_free mbedtls_x509write_crt_free
+x509write_crt_init mbedtls_x509write_crt_init
+x509write_crt_pem mbedtls_x509write_crt_pem
+x509write_crt_set_authority_key_identifier mbedtls_x509write_crt_set_authority_key_identifier
+x509write_crt_set_basic_constraints mbedtls_x509write_crt_set_basic_constraints
+x509write_crt_set_extension mbedtls_x509write_crt_set_extension
+x509write_crt_set_issuer_key mbedtls_x509write_crt_set_issuer_key
+x509write_crt_set_issuer_name mbedtls_x509write_crt_set_issuer_name
+x509write_crt_set_key_usage mbedtls_x509write_crt_set_key_usage
+x509write_crt_set_md_alg mbedtls_x509write_crt_set_md_alg
+x509write_crt_set_ns_cert_type mbedtls_x509write_crt_set_ns_cert_type
+x509write_crt_set_serial mbedtls_x509write_crt_set_serial
+x509write_crt_set_subject_key mbedtls_x509write_crt_set_subject_key
+x509write_crt_set_subject_key_identifier mbedtls_x509write_crt_set_subject_key_identifier
+x509write_crt_set_subject_name mbedtls_x509write_crt_set_subject_name
+x509write_crt_set_validity mbedtls_x509write_crt_set_validity
+x509write_crt_set_version mbedtls_x509write_crt_set_version
+x509write_csr mbedtls_x509write_csr
+x509write_csr_der mbedtls_x509write_csr_der
+x509write_csr_free mbedtls_x509write_csr_free
+x509write_csr_init mbedtls_x509write_csr_init
+x509write_csr_pem mbedtls_x509write_csr_pem
+x509write_csr_set_extension mbedtls_x509write_csr_set_extension
+x509write_csr_set_key mbedtls_x509write_csr_set_key
+x509write_csr_set_key_usage mbedtls_x509write_csr_set_key_usage
+x509write_csr_set_md_alg mbedtls_x509write_csr_set_md_alg
+x509write_csr_set_ns_cert_type mbedtls_x509write_csr_set_ns_cert_type
+x509write_csr_set_subject_name mbedtls_x509write_csr_set_subject_name
+xtea_context mbedtls_xtea_context
+xtea_crypt_cbc mbedtls_xtea_crypt_cbc
+xtea_crypt_ecb mbedtls_xtea_crypt_ecb
+xtea_free mbedtls_xtea_free
+xtea_init mbedtls_xtea_init
+xtea_self_test mbedtls_xtea_self_test
+xtea_setup mbedtls_xtea_setup
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/version_features.fmt b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/version_features.fmt
new file mode 100644
index 000000000..767eda1c7
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/version_features.fmt
@@ -0,0 +1,60 @@
+/*
+ * Version feature information
+ *
+ * Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * This file is part of mbed TLS (https://tls.mbed.org)
+ */
+
+#if !defined(MBEDTLS_CONFIG_FILE)
+#include "mbedtls/config.h"
+#else
+#include MBEDTLS_CONFIG_FILE
+#endif
+
+#if defined(MBEDTLS_VERSION_C)
+
+#include "mbedtls/version.h"
+
+#include <string.h>
+
+static const char *features[] = {
+#if defined(MBEDTLS_VERSION_FEATURES)
+FEATURE_DEFINES
+#endif /* MBEDTLS_VERSION_FEATURES */
+ NULL
+};
+
+int mbedtls_version_check_feature( const char *feature )
+{
+ const char **idx = features;
+
+ if( *idx == NULL )
+ return( -2 );
+
+ if( feature == NULL )
+ return( -1 );
+
+ while( *idx != NULL )
+ {
+ if( !strcmp( *idx, feature ) )
+ return( 0 );
+ idx++;
+ }
+ return( -1 );
+}
+
+#endif /* MBEDTLS_VERSION_C */
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-app-template.vcxproj b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-app-template.vcxproj
new file mode 100644
index 000000000..fac9812e6
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-app-template.vcxproj
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <ItemGroup> <SOURCES>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="mbedTLS.vcxproj">
+ <Project>{46cf2d25-6a36-4189-b59c-e4815388e554}</Project>
+ <LinkLibraryDependencies>true</LinkLibraryDependencies>
+ </ProjectReference>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid><GUID></ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace><APPNAME></RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <IntDir>$(Configuration)\$(TargetName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <IntDir>$(Configuration)\$(TargetName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <IntDir>$(Configuration)\$(TargetName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <IntDir>$(Configuration)\$(TargetName)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ShowProgress>NotSet</ShowProgress>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>Debug</AdditionalLibraryDirectories>
+ </Link>
+ <ProjectReference>
+ <LinkLibraryDependencies>false</LinkLibraryDependencies>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ShowProgress>NotSet</ShowProgress>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>Debug</AdditionalLibraryDirectories>
+ </Link>
+ <ProjectReference>
+ <LinkLibraryDependencies>false</LinkLibraryDependencies>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>Release</AdditionalLibraryDirectories>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>Release</AdditionalLibraryDirectories>
+ <AdditionalDependencies>%(AdditionalDependencies);</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-main-template.vcxproj b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-main-template.vcxproj
new file mode 100644
index 000000000..773b58a33
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-main-template.vcxproj
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{46CF2D25-6A36-4189-B59C-E4815388E554}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>mbedTLS</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <IntDir>$(Configuration)\$(TargetName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <IntDir>$(Configuration)\$(TargetName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <IntDir>$(Configuration)\$(TargetName)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <IntDir>$(Configuration)\$(TargetName)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;MBEDTLS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;MBEDTLS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
+ <CompileAs>CompileAsC</CompileAs>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;MBEDTLS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN64;NDEBUG;_WINDOWS;_USRDLL;MBEDTLS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+HEADER_ENTRIES
+ </ItemGroup>
+ <ItemGroup>
+SOURCE_ENTRIES
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-sln-template.sln b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-sln-template.sln
new file mode 100644
index 000000000..78dcde8d1
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs2010-sln-template.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual C++ Express 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbedTLS", "mbedTLS.vcxproj", "{46CF2D25-6A36-4189-B59C-E4815388E554}"
+EndProject
+APP_ENTRIES
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {46CF2D25-6A36-4189-B59C-E4815388E554}.Debug|Win32.ActiveCfg = Debug|Win32
+ {46CF2D25-6A36-4189-B59C-E4815388E554}.Debug|Win32.Build.0 = Debug|Win32
+ {46CF2D25-6A36-4189-B59C-E4815388E554}.Debug|x64.ActiveCfg = Debug|x64
+ {46CF2D25-6A36-4189-B59C-E4815388E554}.Debug|x64.Build.0 = Debug|x64
+ {46CF2D25-6A36-4189-B59C-E4815388E554}.Release|Win32.ActiveCfg = Release|Win32
+ {46CF2D25-6A36-4189-B59C-E4815388E554}.Release|Win32.Build.0 = Release|Win32
+ {46CF2D25-6A36-4189-B59C-E4815388E554}.Release|x64.ActiveCfg = Release|x64
+ {46CF2D25-6A36-4189-B59C-E4815388E554}.Release|x64.Build.0 = Release|x64
+CONF_ENTRIES
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-app-template.dsp b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-app-template.dsp
new file mode 100644
index 000000000..87dbea247
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-app-template.dsp
@@ -0,0 +1,101 @@
+# Microsoft Developer Studio Project File - Name="<APPNAME>" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=<APPNAME> - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "<APPNAME>.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "<APPNAME>.mak" CFG="<APPNAME> - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "<APPNAME> - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "<APPNAME> - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "<APPNAME> - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "temp"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "temp"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "<APPNAME> - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "temp"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "temp"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "<APPNAME> - Win32 Release"
+# Name "<APPNAME> - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\..\programs\<PATHNAME>.c
+# ADD CPP /I "../../include"
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-main-template.dsp b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-main-template.dsp
new file mode 100644
index 000000000..dc728c489
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-main-template.dsp
@@ -0,0 +1,94 @@
+# Microsoft Developer Studio Project File - Name="mbedtls" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=mbedtls - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "mbedtls.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "mbedtls.mak" CFG="mbedtls - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "mbedtls - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "mbedtls - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "mbedtls - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "temp"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "temp"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "../../include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD BASE RSC /l 0x40c /d "NDEBUG"
+# ADD RSC /l 0x40c /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF "$(CFG)" == "mbedtls - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir ""
+# PROP BASE Intermediate_Dir "temp"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir ""
+# PROP Intermediate_Dir "temp"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /GX /Z7 /Od /I "../../include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x40c /d "_DEBUG"
+# ADD RSC /l 0x40c /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ENDIF
+
+# Begin Target
+
+# Name "mbedtls - Win32 Release"
+# Name "mbedtls - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+SOURCE_ENTRIES
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+HEADER_ENTRIES
+# End Group
+# End Target
+# End Project
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-workspace-template.dsw b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-workspace-template.dsw
new file mode 100644
index 000000000..ef90098f4
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/data_files/vs6-workspace-template.dsw
@@ -0,0 +1,18 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+APP_ENTRIES
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/ecc-heap.sh b/roms/skiboot/libstb/crypto/mbedtls/scripts/ecc-heap.sh
new file mode 100755
index 000000000..94a04cf7e
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/ecc-heap.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+# Measure heap usage (and performance) of ECC operations with various values of
+# the relevant tunable compile-time parameters.
+#
+# Usage (preferably on a 32-bit platform):
+# cmake -D CMAKE_BUILD_TYPE=Release .
+# scripts/ecc-heap.sh | tee ecc-heap.log
+
+set -eu
+
+CONFIG_H='include/mbedtls/config.h'
+
+if [ -r $CONFIG_H ]; then :; else
+ echo "$CONFIG_H not found" >&2
+ exit 1
+fi
+
+if grep -i cmake Makefile >/dev/null; then :; else
+ echo "Needs Cmake" >&2
+ exit 1
+fi
+
+if git status | grep -F $CONFIG_H >/dev/null 2>&1; then
+ echo "config.h not clean" >&2
+ exit 1
+fi
+
+CONFIG_BAK=${CONFIG_H}.bak
+cp $CONFIG_H $CONFIG_BAK
+
+cat << EOF >$CONFIG_H
+#define MBEDTLS_PLATFORM_C
+#define MBEDTLS_PLATFORM_MEMORY
+#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
+#define MBEDTLS_MEMORY_DEBUG
+
+#define MBEDTLS_TIMING_C
+
+#define MBEDTLS_BIGNUM_C
+#define MBEDTLS_ECP_C
+#define MBEDTLS_ASN1_PARSE_C
+#define MBEDTLS_ASN1_WRITE_C
+#define MBEDTLS_ECDSA_C
+#define MBEDTLS_ECDH_C
+
+#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
+#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
+#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
+#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
+#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
+#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
+
+#include "check_config.h"
+
+//#define MBEDTLS_ECP_WINDOW_SIZE 6
+//#define MBEDTLS_ECP_FIXED_POINT_OPTIM 1
+EOF
+
+for F in 0 1; do
+ for W in 2 3 4 5 6; do
+ scripts/config.pl set MBEDTLS_ECP_WINDOW_SIZE $W
+ scripts/config.pl set MBEDTLS_ECP_FIXED_POINT_OPTIM $F
+ make benchmark >/dev/null 2>&1
+ echo "fixed point optim = $F, max window size = $W"
+ echo "--------------------------------------------"
+ programs/test/benchmark
+ done
+done
+
+# cleanup
+
+mv $CONFIG_BAK $CONFIG_H
+make clean
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/find-mem-leak.cocci b/roms/skiboot/libstb/crypto/mbedtls/scripts/find-mem-leak.cocci
new file mode 100644
index 000000000..8179e2b3e
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/find-mem-leak.cocci
@@ -0,0 +1,20 @@
+@@
+expression x, y;
+statement S;
+@@
+ x = mbedtls_calloc(...);
+ y = mbedtls_calloc(...);
+ ...
+* if (x == NULL || y == NULL)
+ S
+
+@@
+expression x, y;
+statement S;
+@@
+ if (
+* (x = mbedtls_calloc(...)) == NULL
+ ||
+* (y = mbedtls_calloc(...)) == NULL
+ )
+ S
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/footprint.sh b/roms/skiboot/libstb/crypto/mbedtls/scripts/footprint.sh
new file mode 100755
index 000000000..c08ef1c90
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/footprint.sh
@@ -0,0 +1,109 @@
+#!/bin/sh
+#
+# This file is part of mbed TLS (https://tls.mbed.org)
+#
+# Copyright (c) 2015-2016, ARM Limited, All Rights Reserved
+#
+# Purpose
+#
+# This script determines ROM size (or code size) for the standard mbed TLS
+# configurations, when built for a Cortex M3/M4 target.
+#
+# Configurations included:
+# default include/mbedtls/config.h
+# thread configs/config-thread.h
+# suite-b configs/config-suite-b.h
+# psk configs/config-ccm-psk-tls1_2.h
+#
+# Usage: footprint.sh
+#
+set -eu
+
+CONFIG_H='include/mbedtls/config.h'
+
+if [ -r $CONFIG_H ]; then :; else
+ echo "$CONFIG_H not found" >&2
+ echo "This script needs to be run from the root of" >&2
+ echo "a git checkout or uncompressed tarball" >&2
+ exit 1
+fi
+
+if grep -i cmake Makefile >/dev/null; then
+ echo "Not compatible with CMake" >&2
+ exit 1
+fi
+
+if which arm-none-eabi-gcc >/dev/null 2>&1; then :; else
+ echo "You need the ARM-GCC toolchain in your path" >&2
+ echo "See https://launchpad.net/gcc-arm-embedded/" >&2
+ exit 1
+fi
+
+ARMGCC_FLAGS='-Os -march=armv7-m -mthumb'
+OUTFILE='00-footprint-summary.txt'
+
+log()
+{
+ echo "$@"
+ echo "$@" >> "$OUTFILE"
+}
+
+doit()
+{
+ NAME="$1"
+ FILE="$2"
+
+ log ""
+ log "$NAME ($FILE):"
+
+ cp $CONFIG_H ${CONFIG_H}.bak
+ if [ "$FILE" != $CONFIG_H ]; then
+ cp "$FILE" $CONFIG_H
+ fi
+
+ {
+ scripts/config.pl unset MBEDTLS_NET_C || true
+ scripts/config.pl unset MBEDTLS_TIMING_C || true
+ scripts/config.pl unset MBEDTLS_FS_IO || true
+ scripts/config.pl --force set MBEDTLS_NO_PLATFORM_ENTROPY || true
+ } >/dev/null 2>&1
+
+ make clean >/dev/null
+ CC=arm-none-eabi-gcc AR=arm-none-eabi-ar LD=arm-none-eabi-ld \
+ CFLAGS="$ARMGCC_FLAGS" make lib >/dev/null
+
+ OUT="size-${NAME}.txt"
+ arm-none-eabi-size -t library/libmbed*.a > "$OUT"
+ log "$( head -n1 "$OUT" )"
+ log "$( tail -n1 "$OUT" )"
+
+ cp ${CONFIG_H}.bak $CONFIG_H
+}
+
+# truncate the file just this time
+echo "(generated by $0)" > "$OUTFILE"
+echo "" >> "$OUTFILE"
+
+log "Footprint of standard configurations (minus net_sockets.c, timing.c, fs_io)"
+log "for bare-metal ARM Cortex-M3/M4 microcontrollers."
+
+VERSION_H="include/mbedtls/version.h"
+MBEDTLS_VERSION=$( sed -n 's/.*VERSION_STRING *"\(.*\)"/\1/p' $VERSION_H )
+if git rev-parse HEAD >/dev/null; then
+ GIT_HEAD=$( git rev-parse HEAD | head -c 10 )
+ GIT_VERSION=" (git head: $GIT_HEAD)"
+else
+ GIT_VERSION=""
+fi
+
+log ""
+log "mbed TLS $MBEDTLS_VERSION$GIT_VERSION"
+log "$( arm-none-eabi-gcc --version | head -n1 )"
+log "CFLAGS=$ARMGCC_FLAGS"
+
+doit default include/mbedtls/config.h
+doit thread configs/config-thread.h
+doit suite-b configs/config-suite-b.h
+doit psk configs/config-ccm-psk-tls1_2.h
+
+zip mbedtls-footprint.zip "$OUTFILE" size-*.txt >/dev/null
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_errors.pl b/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_errors.pl
new file mode 100755
index 000000000..0c1f7e16e
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_errors.pl
@@ -0,0 +1,207 @@
+#!/usr/bin/env perl
+
+# Generate error.c
+#
+# Usage: ./generate_errors.pl or scripts/generate_errors.pl without arguments,
+# or generate_errors.pl include_dir data_dir error_file
+
+use strict;
+
+my ($include_dir, $data_dir, $error_file);
+
+if( @ARGV ) {
+ die "Invalid number of arguments" if scalar @ARGV != 3;
+ ($include_dir, $data_dir, $error_file) = @ARGV;
+
+ -d $include_dir or die "No such directory: $include_dir\n";
+ -d $data_dir or die "No such directory: $data_dir\n";
+} else {
+ $include_dir = 'include/mbedtls';
+ $data_dir = 'scripts/data_files';
+ $error_file = 'library/error.c';
+
+ unless( -d $include_dir && -d $data_dir ) {
+ chdir '..' or die;
+ -d $include_dir && -d $data_dir
+ or die "Without arguments, must be run from root or scripts\n"
+ }
+}
+
+my $error_format_file = $data_dir.'/error.fmt';
+
+my @low_level_modules = qw( AES ARC4 ARIA ASN1 BASE64 BIGNUM BLOWFISH
+ CAMELLIA CCM CHACHA20 CHACHAPOLY CMAC CTR_DRBG DES
+ ENTROPY GCM HKDF HMAC_DRBG MD2 MD4 MD5
+ NET OID PADLOCK PBKDF2 PLATFORM POLY1305 RIPEMD160
+ SHA1 SHA256 SHA512 THREADING XTEA );
+my @high_level_modules = qw( CIPHER DHM ECP MD
+ PEM PK PKCS12 PKCS5
+ RSA SSL X509 );
+
+my $line_separator = $/;
+undef $/;
+
+open(FORMAT_FILE, "$error_format_file") or die "Opening error format file '$error_format_file': $!";
+my $error_format = <FORMAT_FILE>;
+close(FORMAT_FILE);
+
+$/ = $line_separator;
+
+my @files = <$include_dir/*.h>;
+my @matches;
+foreach my $file (@files) {
+ open(FILE, "$file");
+ my @grep_res = grep(/^\s*#define\s+MBEDTLS_ERR_\w+\s+\-0x[0-9A-Fa-f]+/, <FILE>);
+ push(@matches, @grep_res);
+ close FILE;
+}
+
+my $ll_old_define = "";
+my $hl_old_define = "";
+
+my $ll_code_check = "";
+my $hl_code_check = "";
+
+my $headers = "";
+
+my %error_codes_seen;
+
+
+foreach my $line (@matches)
+{
+ next if ($line =~ /compat-1.2.h/);
+ my ($error_name, $error_code) = $line =~ /(MBEDTLS_ERR_\w+)\s+\-(0x\w+)/;
+ my ($description) = $line =~ /\/\*\*< (.*?)\.? \*\//;
+
+ die "Duplicated error code: $error_code ($error_name)\n"
+ if( $error_codes_seen{$error_code}++ );
+
+ $description =~ s/\\/\\\\/g;
+ if ($description eq "") {
+ $description = "DESCRIPTION MISSING";
+ warn "Missing description for $error_name\n";
+ }
+
+ my ($module_name) = $error_name =~ /^MBEDTLS_ERR_([^_]+)/;
+
+ # Fix faulty ones
+ $module_name = "BIGNUM" if ($module_name eq "MPI");
+ $module_name = "CTR_DRBG" if ($module_name eq "CTR");
+ $module_name = "HMAC_DRBG" if ($module_name eq "HMAC");
+
+ my $define_name = $module_name;
+ $define_name = "X509_USE,X509_CREATE" if ($define_name eq "X509");
+ $define_name = "ASN1_PARSE" if ($define_name eq "ASN1");
+ $define_name = "SSL_TLS" if ($define_name eq "SSL");
+ $define_name = "PEM_PARSE,PEM_WRITE" if ($define_name eq "PEM");
+
+ my $include_name = $module_name;
+ $include_name =~ tr/A-Z/a-z/;
+ $include_name = "" if ($include_name eq "asn1");
+
+ # Fix faulty ones
+ $include_name = "net_sockets" if ($module_name eq "NET");
+
+ my $found_ll = grep $_ eq $module_name, @low_level_modules;
+ my $found_hl = grep $_ eq $module_name, @high_level_modules;
+ if (!$found_ll && !$found_hl)
+ {
+ printf("Error: Do not know how to handle: $module_name\n");
+ exit 1;
+ }
+
+ my $code_check;
+ my $old_define;
+ my $white_space;
+ my $first;
+
+ if ($found_ll)
+ {
+ $code_check = \$ll_code_check;
+ $old_define = \$ll_old_define;
+ $white_space = ' ';
+ }
+ else
+ {
+ $code_check = \$hl_code_check;
+ $old_define = \$hl_old_define;
+ $white_space = ' ';
+ }
+
+ if ($define_name ne ${$old_define})
+ {
+ if (${$old_define} ne "")
+ {
+ ${$code_check} .= "#endif /* ";
+ $first = 0;
+ foreach my $dep (split(/,/, ${$old_define}))
+ {
+ ${$code_check} .= " || " if ($first++);
+ ${$code_check} .= "MBEDTLS_${dep}_C";
+ }
+ ${$code_check} .= " */\n\n";
+ }
+
+ ${$code_check} .= "#if ";
+ $headers .= "#if " if ($include_name ne "");
+ $first = 0;
+ foreach my $dep (split(/,/, ${define_name}))
+ {
+ ${$code_check} .= " || " if ($first);
+ $headers .= " || " if ($first++);
+
+ ${$code_check} .= "defined(MBEDTLS_${dep}_C)";
+ $headers .= "defined(MBEDTLS_${dep}_C)" if
+ ($include_name ne "");
+ }
+ ${$code_check} .= "\n";
+ $headers .= "\n#include \"mbedtls/${include_name}.h\"\n".
+ "#endif\n\n" if ($include_name ne "");
+ ${$old_define} = $define_name;
+ }
+
+ if ($error_name eq "MBEDTLS_ERR_SSL_FATAL_ALERT_MESSAGE")
+ {
+ ${$code_check} .= "${white_space}if( use_ret == -($error_name) )\n".
+ "${white_space}\{\n".
+ "${white_space} mbedtls_snprintf( buf, buflen, \"$module_name - $description\" );\n".
+ "${white_space} return;\n".
+ "${white_space}}\n"
+ }
+ else
+ {
+ ${$code_check} .= "${white_space}if( use_ret == -($error_name) )\n".
+ "${white_space} mbedtls_snprintf( buf, buflen, \"$module_name - $description\" );\n"
+ }
+};
+
+if ($ll_old_define ne "")
+{
+ $ll_code_check .= "#endif /* ";
+ my $first = 0;
+ foreach my $dep (split(/,/, $ll_old_define))
+ {
+ $ll_code_check .= " || " if ($first++);
+ $ll_code_check .= "MBEDTLS_${dep}_C";
+ }
+ $ll_code_check .= " */\n";
+}
+if ($hl_old_define ne "")
+{
+ $hl_code_check .= "#endif /* ";
+ my $first = 0;
+ foreach my $dep (split(/,/, $hl_old_define))
+ {
+ $hl_code_check .= " || " if ($first++);
+ $hl_code_check .= "MBEDTLS_${dep}_C";
+ }
+ $hl_code_check .= " */\n";
+}
+
+$error_format =~ s/HEADER_INCLUDED\n/$headers/g;
+$error_format =~ s/LOW_LEVEL_CODE_CHECKS\n/$ll_code_check/g;
+$error_format =~ s/HIGH_LEVEL_CODE_CHECKS\n/$hl_code_check/g;
+
+open(ERROR_FILE, ">$error_file") or die "Opening destination file '$error_file': $!";
+print ERROR_FILE $error_format;
+close(ERROR_FILE);
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_features.pl b/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_features.pl
new file mode 100755
index 000000000..1bd82ca2a
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_features.pl
@@ -0,0 +1,74 @@
+#!/usr/bin/env perl
+#
+
+use strict;
+
+my ($include_dir, $data_dir, $feature_file);
+
+if( @ARGV ) {
+ die "Invalid number of arguments" if scalar @ARGV != 3;
+ ($include_dir, $data_dir, $feature_file) = @ARGV;
+
+ -d $include_dir or die "No such directory: $include_dir\n";
+ -d $data_dir or die "No such directory: $data_dir\n";
+} else {
+ $include_dir = 'include/mbedtls';
+ $data_dir = 'scripts/data_files';
+ $feature_file = 'library/version_features.c';
+
+ unless( -d $include_dir && -d $data_dir ) {
+ chdir '..' or die;
+ -d $include_dir && -d $data_dir
+ or die "Without arguments, must be run from root or scripts\n"
+ }
+}
+
+my $feature_format_file = $data_dir.'/version_features.fmt';
+
+my @sections = ( "System support", "mbed TLS modules",
+ "mbed TLS feature support" );
+
+my $line_separator = $/;
+undef $/;
+
+open(FORMAT_FILE, "$feature_format_file") or die "Opening feature format file '$feature_format_file': $!";
+my $feature_format = <FORMAT_FILE>;
+close(FORMAT_FILE);
+
+$/ = $line_separator;
+
+open(CONFIG_H, "$include_dir/config.h") || die("Failure when opening config.h: $!");
+
+my $feature_defines = "";
+my $in_section = 0;
+
+while (my $line = <CONFIG_H>)
+{
+ next if ($in_section && $line !~ /#define/ && $line !~ /SECTION/);
+ next if (!$in_section && $line !~ /SECTION/);
+
+ if ($in_section) {
+ if ($line =~ /SECTION/) {
+ $in_section = 0;
+ next;
+ }
+
+ my ($define) = $line =~ /#define (\w+)/;
+ $feature_defines .= "#if defined(${define})\n";
+ $feature_defines .= " \"${define}\",\n";
+ $feature_defines .= "#endif /* ${define} */\n";
+ }
+
+ if (!$in_section) {
+ my ($section_name) = $line =~ /SECTION: ([\w ]+)/;
+ my $found_section = grep $_ eq $section_name, @sections;
+
+ $in_section = 1 if ($found_section);
+ }
+};
+
+$feature_format =~ s/FEATURE_DEFINES\n/$feature_defines/g;
+
+open(ERROR_FILE, ">$feature_file") or die "Opening destination file '$feature_file': $!";
+print ERROR_FILE $feature_format;
+close(ERROR_FILE);
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_query_config.pl b/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_query_config.pl
new file mode 100755
index 000000000..f15e03a35
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_query_config.pl
@@ -0,0 +1,75 @@
+#! /usr/bin/env perl
+
+# Generate query_config.c
+#
+# The file query_config.c contains a C function that can be used to check if
+# a configuration macro is defined and to retrieve its expansion in string
+# form (if any). This facilitates querying the compile time configuration of
+# the library, for example, for testing.
+#
+# The query_config.c is generated from the current configuration at
+# include/mbedtls/config.h. The idea is that the config.h contains ALL the
+# compile time configurations available in Mbed TLS (commented or uncommented).
+# This script extracts the configuration macros from the config.h and this
+# information is used to automatically generate the body of the query_config()
+# function by using the template in scripts/data_files/query_config.fmt.
+#
+# Usage: ./scripts/generate_query_config.pl without arguments
+
+use strict;
+
+my $config_file = "./include/mbedtls/config.h";
+
+my $query_config_format_file = "./scripts/data_files/query_config.fmt";
+my $query_config_file = "./programs/ssl/query_config.c";
+
+# Excluded macros from the generated query_config.c. For example, macros that
+# have commas or function-like macros cannot be transformed into strings easily
+# using the preprocessor, so they should be excluded or the preprocessor will
+# throw errors.
+my @excluded = qw(
+MBEDTLS_SSL_CIPHERSUITES
+MBEDTLS_PARAM_FAILED
+);
+my $excluded_re = join '|', @excluded;
+
+open(CONFIG_FILE, "$config_file") or die "Opening config file '$config_file': $!";
+
+# This variable will contain the string to replace in the CHECK_CONFIG of the
+# format file
+my $config_check = "";
+
+while (my $line = <CONFIG_FILE>) {
+ if ($line =~ /^(\/\/)?\s*#\s*define\s+(MBEDTLS_\w+).*/) {
+ my $name = $2;
+
+ # Skip over the macro that prevents multiple inclusion
+ next if "MBEDTLS_CONFIG_H" eq $name;
+
+ # Skip over the macro if it is in the ecluded list
+ next if $name =~ /$excluded_re/;
+
+ $config_check .= "#if defined($name)\n";
+ $config_check .= " if( strcmp( \"$name\", config ) == 0 )\n";
+ $config_check .= " {\n";
+ $config_check .= " MACRO_EXPANSION_TO_STR( $name );\n";
+ $config_check .= " return( 0 );\n";
+ $config_check .= " }\n";
+ $config_check .= "#endif /* $name */\n";
+ $config_check .= "\n";
+ }
+}
+
+# Read the full format file into a string
+local $/;
+open(FORMAT_FILE, "$query_config_format_file") or die "Opening query config format file '$query_config_format_file': $!";
+my $query_config_format = <FORMAT_FILE>;
+close(FORMAT_FILE);
+
+# Replace the body of the query_config() function with the code we just wrote
+$query_config_format =~ s/CHECK_CONFIG/$config_check/g;
+
+# Rewrite the query_config.c file
+open(QUERY_CONFIG_FILE, ">$query_config_file") or die "Opening destination file '$query_config_file': $!";
+print QUERY_CONFIG_FILE $query_config_format;
+close(QUERY_CONFIG_FILE);
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_visualc_files.pl b/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_visualc_files.pl
new file mode 100755
index 000000000..991397674
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/generate_visualc_files.pl
@@ -0,0 +1,210 @@
+#!/usr/bin/env perl
+
+# Generate main file, individual apps and solution files for MS Visual Studio
+# 2010
+#
+# Must be run from mbedTLS root or scripts directory.
+# Takes no argument.
+
+use warnings;
+use strict;
+use Digest::MD5 'md5_hex';
+
+my $vsx_dir = "visualc/VS2010";
+my $vsx_ext = "vcxproj";
+my $vsx_app_tpl_file = "scripts/data_files/vs2010-app-template.$vsx_ext";
+my $vsx_main_tpl_file = "scripts/data_files/vs2010-main-template.$vsx_ext";
+my $vsx_main_file = "$vsx_dir/mbedTLS.$vsx_ext";
+my $vsx_sln_tpl_file = "scripts/data_files/vs2010-sln-template.sln";
+my $vsx_sln_file = "$vsx_dir/mbedTLS.sln";
+
+my $programs_dir = 'programs';
+my $header_dir = 'include/mbedtls';
+my $source_dir = 'library';
+
+# Need windows line endings!
+my $vsx_hdr_tpl = <<EOT;
+ <ClInclude Include="..\\..\\{NAME}" />\r
+EOT
+my $vsx_src_tpl = <<EOT;
+ <ClCompile Include="..\\..\\{NAME}" />\r
+EOT
+
+my $vsx_sln_app_entry_tpl = <<EOT;
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "{APPNAME}", "{APPNAME}.vcxproj", "{GUID}"\r
+ ProjectSection(ProjectDependencies) = postProject\r
+ {46CF2D25-6A36-4189-B59C-E4815388E554} = {46CF2D25-6A36-4189-B59C-E4815388E554}\r
+ EndProjectSection\r
+EndProject\r
+EOT
+
+my $vsx_sln_conf_entry_tpl = <<EOT;
+ {GUID}.Debug|Win32.ActiveCfg = Debug|Win32\r
+ {GUID}.Debug|Win32.Build.0 = Debug|Win32\r
+ {GUID}.Debug|x64.ActiveCfg = Debug|x64\r
+ {GUID}.Debug|x64.Build.0 = Debug|x64\r
+ {GUID}.Release|Win32.ActiveCfg = Release|Win32\r
+ {GUID}.Release|Win32.Build.0 = Release|Win32\r
+ {GUID}.Release|x64.ActiveCfg = Release|x64\r
+ {GUID}.Release|x64.Build.0 = Release|x64\r
+EOT
+
+exit( main() );
+
+sub check_dirs {
+ return -d $vsx_dir
+ && -d $header_dir
+ && -d $source_dir
+ && -d $programs_dir;
+}
+
+sub slurp_file {
+ my ($filename) = @_;
+
+ local $/ = undef;
+ open my $fh, '<', $filename or die "Could not read $filename\n";
+ my $content = <$fh>;
+ close $fh;
+
+ return $content;
+}
+
+sub content_to_file {
+ my ($content, $filename) = @_;
+
+ open my $fh, '>', $filename or die "Could not write to $filename\n";
+ print $fh $content;
+ close $fh;
+}
+
+sub gen_app_guid {
+ my ($path) = @_;
+
+ my $guid = md5_hex( "mbedTLS:$path" );
+ $guid =~ s/(.{8})(.{4})(.{4})(.{4})(.{12})/\U{$1-$2-$3-$4-$5}/;
+
+ return $guid;
+}
+
+sub gen_app {
+ my ($path, $template, $dir, $ext) = @_;
+
+ my $guid = gen_app_guid( $path );
+ $path =~ s!/!\\!g;
+ (my $appname = $path) =~ s/.*\\//;
+
+ my $srcs = "\n <ClCompile Include=\"..\\..\\programs\\$path.c\" \/>\r";
+ if( $appname eq "ssl_client2" or $appname eq "ssl_server2" or
+ $appname eq "query_compile_time_config" ) {
+ $srcs .= "\n <ClCompile Include=\"..\\..\\programs\\ssl\\query_config.c\" \/>\r";
+ }
+
+ my $content = $template;
+ $content =~ s/<SOURCES>/$srcs/g;
+ $content =~ s/<APPNAME>/$appname/g;
+ $content =~ s/<GUID>/$guid/g;
+
+ content_to_file( $content, "$dir/$appname.$ext" );
+}
+
+sub get_app_list {
+ my $app_list = `cd $programs_dir && make list`;
+ die "make list failed: $!\n" if $?;
+
+ return split /\s+/, $app_list;
+}
+
+sub gen_app_files {
+ my @app_list = @_;
+
+ my $vsx_tpl = slurp_file( $vsx_app_tpl_file );
+
+ for my $app ( @app_list ) {
+ gen_app( $app, $vsx_tpl, $vsx_dir, $vsx_ext );
+ }
+}
+
+sub gen_entry_list {
+ my ($tpl, @names) = @_;
+
+ my $entries;
+ for my $name (@names) {
+ (my $entry = $tpl) =~ s/{NAME}/$name/g;
+ $entries .= $entry;
+ }
+
+ return $entries;
+}
+
+sub gen_main_file {
+ my ($headers, $sources, $hdr_tpl, $src_tpl, $main_tpl, $main_out) = @_;
+
+ my $header_entries = gen_entry_list( $hdr_tpl, @$headers );
+ my $source_entries = gen_entry_list( $src_tpl, @$sources );
+
+ my $out = slurp_file( $main_tpl );
+ $out =~ s/SOURCE_ENTRIES\r\n/$source_entries/m;
+ $out =~ s/HEADER_ENTRIES\r\n/$header_entries/m;
+
+ content_to_file( $out, $main_out );
+}
+
+sub gen_vsx_solution {
+ my (@app_names) = @_;
+
+ my ($app_entries, $conf_entries);
+ for my $path (@app_names) {
+ my $guid = gen_app_guid( $path );
+ (my $appname = $path) =~ s!.*/!!;
+
+ my $app_entry = $vsx_sln_app_entry_tpl;
+ $app_entry =~ s/{APPNAME}/$appname/g;
+ $app_entry =~ s/{GUID}/$guid/g;
+
+ $app_entries .= $app_entry;
+
+ my $conf_entry = $vsx_sln_conf_entry_tpl;
+ $conf_entry =~ s/{GUID}/$guid/g;
+
+ $conf_entries .= $conf_entry;
+ }
+
+ my $out = slurp_file( $vsx_sln_tpl_file );
+ $out =~ s/APP_ENTRIES\r\n/$app_entries/m;
+ $out =~ s/CONF_ENTRIES\r\n/$conf_entries/m;
+
+ content_to_file( $out, $vsx_sln_file );
+}
+
+sub del_vsx_files {
+ unlink glob "'$vsx_dir/*.$vsx_ext'";
+ unlink $vsx_main_file;
+ unlink $vsx_sln_file;
+}
+
+sub main {
+ if( ! check_dirs() ) {
+ chdir '..' or die;
+ check_dirs or die "Must but run from mbedTLS root or scripts dir\n";
+ }
+
+ # Remove old files to ensure that, for example, project files from deleted
+ # apps are not kept
+ del_vsx_files();
+
+ my @app_list = get_app_list();
+ my @headers = <$header_dir/*.h>;
+ my @sources = <$source_dir/*.c>;
+ map { s!/!\\!g } @headers;
+ map { s!/!\\!g } @sources;
+
+ gen_app_files( @app_list );
+
+ gen_main_file( \@headers, \@sources,
+ $vsx_hdr_tpl, $vsx_src_tpl,
+ $vsx_main_tpl_file, $vsx_main_file );
+
+ gen_vsx_solution( @app_list );
+
+ return 0;
+}
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/massif_max.pl b/roms/skiboot/libstb/crypto/mbedtls/scripts/massif_max.pl
new file mode 100755
index 000000000..4e3342a2c
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/massif_max.pl
@@ -0,0 +1,33 @@
+#!/usr/bin/env perl
+
+# Parse a massif.out.xxx file and output peak total memory usage
+
+use warnings;
+use strict;
+
+use utf8;
+use open qw(:std utf8);
+
+die unless @ARGV == 1;
+
+my @snaps;
+open my $fh, '<', $ARGV[0] or die;
+{ local $/ = 'snapshot='; @snaps = <$fh>; }
+close $fh or die;
+
+my ($max, $max_heap, $max_he, $max_stack) = (0, 0, 0, 0);
+for (@snaps)
+{
+ my ($heap, $heap_extra, $stack) = m{
+ mem_heap_B=(\d+)\n
+ mem_heap_extra_B=(\d+)\n
+ mem_stacks_B=(\d+)
+ }xm;
+ next unless defined $heap;
+ my $total = $heap + $heap_extra + $stack;
+ if( $total > $max ) {
+ ($max, $max_heap, $max_he, $max_stack) = ($total, $heap, $heap_extra, $stack);
+ }
+}
+
+printf "$max (heap $max_heap+$max_he, stack $max_stack)\n";
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/memory.sh b/roms/skiboot/libstb/crypto/mbedtls/scripts/memory.sh
new file mode 100755
index 000000000..3dad2899c
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/memory.sh
@@ -0,0 +1,126 @@
+#!/bin/sh
+
+# Measure memory usage of a minimal client using a small configuration
+# Currently hardwired to ccm-psk and suite-b, may be expanded later
+#
+# Use different build options for measuring executable size and memory usage,
+# since for memory we want debug information.
+
+set -eu
+
+CONFIG_H='include/mbedtls/config.h'
+
+CLIENT='mini_client'
+
+CFLAGS_EXEC='-fno-asynchronous-unwind-tables -Wl,--gc-section -ffunction-sections -fdata-sections'
+CFLAGS_MEM=-g3
+
+if [ -r $CONFIG_H ]; then :; else
+ echo "$CONFIG_H not found" >&2
+ exit 1
+fi
+
+if grep -i cmake Makefile >/dev/null; then
+ echo "Not compatible with CMake" >&2
+ exit 1
+fi
+
+if [ $( uname ) != Linux ]; then
+ echo "Only work on Linux" >&2
+ exit 1
+fi
+
+if git status | grep -F $CONFIG_H >/dev/null 2>&1; then
+ echo "config.h not clean" >&2
+ exit 1
+fi
+
+# make measurements with one configuration
+# usage: do_config <name> <unset-list> <server-args>
+do_config()
+{
+ NAME=$1
+ UNSET_LIST=$2
+ SERVER_ARGS=$3
+
+ echo ""
+ echo "config-$NAME:"
+ cp configs/config-$NAME.h $CONFIG_H
+ scripts/config.pl unset MBEDTLS_SSL_SRV_C
+
+ for FLAG in $UNSET_LIST; do
+ scripts/config.pl unset $FLAG
+ done
+
+ grep -F SSL_MAX_CONTENT_LEN $CONFIG_H || echo 'SSL_MAX_CONTENT_LEN=16384'
+
+ printf " Executable size... "
+
+ make clean
+ CFLAGS=$CFLAGS_EXEC make OFLAGS=-Os lib >/dev/null 2>&1
+ cd programs
+ CFLAGS=$CFLAGS_EXEC make OFLAGS=-Os ssl/$CLIENT >/dev/null
+ strip ssl/$CLIENT
+ stat -c '%s' ssl/$CLIENT
+ cd ..
+
+ printf " Peak ram usage... "
+
+ make clean
+ CFLAGS=$CFLAGS_MEM make OFLAGS=-Os lib >/dev/null 2>&1
+ cd programs
+ CFLAGS=$CFLAGS_MEM make OFLAGS=-Os ssl/$CLIENT >/dev/null
+ cd ..
+
+ ./ssl_server2 $SERVER_ARGS >/dev/null &
+ SRV_PID=$!
+ sleep 1;
+
+ if valgrind --tool=massif --stacks=yes programs/ssl/$CLIENT >/dev/null 2>&1
+ then
+ FAILED=0
+ else
+ echo "client failed" >&2
+ FAILED=1
+ fi
+
+ kill $SRV_PID
+ wait $SRV_PID
+
+ scripts/massif_max.pl massif.out.*
+ mv massif.out.* massif-$NAME.$$
+}
+
+# preparation
+
+CONFIG_BAK=${CONFIG_H}.bak
+cp $CONFIG_H $CONFIG_BAK
+
+rm -f massif.out.*
+
+printf "building server... "
+
+make clean
+make lib >/dev/null 2>&1
+(cd programs && make ssl/ssl_server2) >/dev/null
+cp programs/ssl/ssl_server2 .
+
+echo "done"
+
+# actual measurements
+
+do_config "ccm-psk-tls1_2" \
+ "" \
+ "psk=000102030405060708090A0B0C0D0E0F"
+
+do_config "suite-b" \
+ "MBEDTLS_BASE64_C MBEDTLS_PEM_PARSE_C MBEDTLS_CERTS_C" \
+ ""
+
+# cleanup
+
+mv $CONFIG_BAK $CONFIG_H
+make clean
+rm ssl_server2
+
+exit $FAILED
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/output_env.sh b/roms/skiboot/libstb/crypto/mbedtls/scripts/output_env.sh
new file mode 100755
index 000000000..c809d46fe
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/output_env.sh
@@ -0,0 +1,121 @@
+#! /usr/bin/env sh
+
+# output_env.sh
+#
+# This file is part of mbed TLS (https://tls.mbed.org)
+#
+# Copyright (c) 2016, ARM Limited, All Rights Reserved
+#
+# Purpose
+#
+# To print out all the relevant information about the development environment.
+#
+# This includes:
+# - architecture of the system
+# - type and version of the operating system
+# - version of armcc, clang, gcc-arm and gcc compilers
+# - version of libc, clang, asan and valgrind if installed
+# - version of gnuTLS and OpenSSL
+
+print_version()
+{
+ BIN="$1"
+ shift
+ ARGS="$1"
+ shift
+ FAIL_MSG="$1"
+ shift
+
+ if ! `type "$BIN" > /dev/null 2>&1`; then
+ echo "* $FAIL_MSG"
+ return 0
+ fi
+
+ BIN=`which "$BIN"`
+ VERSION_STR=`$BIN $ARGS 2>&1`
+
+ # Apply all filters
+ while [ $# -gt 0 ]; do
+ FILTER="$1"
+ shift
+ VERSION_STR=`echo "$VERSION_STR" | $FILTER`
+ done
+
+ echo "* ${BIN##*/}: $BIN: $VERSION_STR"
+}
+
+print_version "uname" "-a" ""
+echo
+
+if [ "${RUN_ARMCC:-1}" -ne 0 ]; then
+ : "${ARMC5_CC:=armcc}"
+ print_version "$ARMC5_CC" "--vsn" "armcc not found!" "head -n 2"
+ echo
+
+ : "${ARMC6_CC:=armclang}"
+ print_version "$ARMC6_CC" "--vsn" "armclang not found!" "head -n 2"
+ echo
+fi
+
+print_version "arm-none-eabi-gcc" "--version" "gcc-arm not found!" "head -n 1"
+echo
+
+print_version "gcc" "--version" "gcc not found!" "head -n 1"
+echo
+
+print_version "clang" "--version" "clang not found" "head -n 2"
+echo
+
+print_version "ldd" "--version" \
+ "No ldd present: can't determine libc version!" \
+ "head -n 1"
+echo
+
+print_version "valgrind" "--version" "valgrind not found!"
+echo
+
+: ${OPENSSL:=openssl}
+print_version "$OPENSSL" "version" "openssl not found!"
+echo
+
+if [ -n "${OPENSSL_LEGACY+set}" ]; then
+ print_version "$OPENSSL_LEGACY" "version" "openssl legacy version not found!"
+ echo
+fi
+
+if [ -n "${OPENSSL_NEXT+set}" ]; then
+ print_version "$OPENSSL_NEXT" "version" "openssl next version not found!"
+ echo
+fi
+
+: ${GNUTLS_CLI:=gnutls-cli}
+print_version "$GNUTLS_CLI" "--version" "gnuTLS client not found!" "head -n 1"
+echo
+
+: ${GNUTLS_SERV:=gnutls-serv}
+print_version "$GNUTLS_SERV" "--version" "gnuTLS server not found!" "head -n 1"
+echo
+
+if [ -n "${GNUTLS_LEGACY_CLI+set}" ]; then
+ print_version "$GNUTLS_LEGACY_CLI" "--version" \
+ "gnuTLS client legacy version not found!" \
+ "head -n 1"
+ echo
+fi
+
+if [ -n "${GNUTLS_LEGACY_SERV+set}" ]; then
+ print_version "$GNUTLS_LEGACY_SERV" "--version" \
+ "gnuTLS server legacy version not found!" \
+ "head -n 1"
+ echo
+fi
+
+if `hash dpkg > /dev/null 2>&1`; then
+ echo "* asan:"
+ dpkg -s libasan2 2> /dev/null | grep -i version
+ dpkg -s libasan1 2> /dev/null | grep -i version
+ dpkg -s libasan0 2> /dev/null | grep -i version
+else
+ echo "* No dpkg present: can't determine asan version!"
+fi
+echo
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/rename.pl b/roms/skiboot/libstb/crypto/mbedtls/scripts/rename.pl
new file mode 100755
index 000000000..fb428098c
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/rename.pl
@@ -0,0 +1,122 @@
+#!/usr/bin/env perl
+#
+# This file is part of mbed TLS (https://tls.mbed.org)
+#
+# Copyright (c) 2015-2016, ARM Limited, All Rights Reserved
+#
+# Purpose
+#
+# This script migrates application source code from the mbed TLS 1.3 API to the
+# mbed TLS 2.0 API.
+#
+# The script processes the given source code and renames identifiers - functions
+# types, enums etc, as
+#
+# Usage: rename.pl [-f datafile] [-s] [--] [filenames...]
+#
+
+use warnings;
+use strict;
+
+use utf8;
+use Path::Class;
+use open qw(:std utf8);
+
+my $usage = "Usage: $0 [-f datafile] [-s] [--] [filenames...]\n";
+
+(my $datafile = $0) =~ s/rename.pl$/data_files\/rename-1.3-2.0.txt/;
+my $do_strings = 0;
+
+while( @ARGV && $ARGV[0] =~ /^-/ ) {
+ my $opt = shift;
+ if( $opt eq '--' ) {
+ last;
+ } elsif( $opt eq '-f' ) {
+ $datafile = shift;
+ } elsif( $opt eq '-s' ) {
+ $do_strings = 1; shift;
+ } else {
+ die $usage;
+ }
+}
+
+my %subst;
+open my $nfh, '<', $datafile or die "Could not read $datafile\n";
+my $ident = qr/[_A-Za-z][_A-Za-z0-9]*/;
+while( my $line = <$nfh> ) {
+ chomp $line;
+ my ( $old, $new ) = ( $line =~ /^($ident)\s+($ident)$/ );
+ if( ! $old || ! $new ) {
+ die "$0: $datafile:$.: bad input '$line'\n";
+ }
+ $subst{$old} = $new;
+}
+close $nfh or die;
+
+my $string = qr/"(?:\\.|[^\\"])*"/;
+my $space = qr/\s+/;
+my $idnum = qr/[a-zA-Z0-9_]+/;
+my $symbols = qr/[-!#\$%&'()*+,.\/:;<=>?@[\\\]^_`{|}~]+|"/;
+
+my $lib_include_dir = dir($0)->parent->parent->subdir('include', 'mbedtls');
+my $lib_source_dir = dir($0)->parent->parent->subdir('library');
+
+# if we replace inside strings, we don't consider them a token
+my $token = $do_strings ? qr/$space|$idnum|$symbols/
+ : qr/$string|$space|$idnum|$symbols/;
+
+my %warnings;
+
+# If no files were passed, exit...
+if ( not defined($ARGV[0]) ){ die $usage; }
+
+while( my $filename = shift )
+{
+ print STDERR "$filename... ";
+
+ if( dir($filename)->parent eq $lib_include_dir ||
+ dir($filename)->parent eq $lib_source_dir )
+ {
+ die "Script cannot be executed on the mbed TLS library itself.";
+ }
+
+ if( -d $filename ) { print STDERR "skip (directory)\n"; next }
+
+ open my $rfh, '<', $filename or die;
+ my @lines = <$rfh>;
+ close $rfh or die;
+
+ my @out;
+ for my $line (@lines) {
+ if( $line =~ /#include/ ) {
+ $line =~ s/polarssl/mbedtls/;
+ $line =~ s/POLARSSL/MBEDTLS/;
+ push( @out, $line );
+ next;
+ }
+
+ my @words = ($line =~ /$token/g);
+ my $checkline = join '', @words;
+ if( $checkline eq $line ) {
+ my @new = map { exists $subst{$_} ? $subst{$_} : $_ } @words;
+ push( @out, join '', @new );
+ } else {
+ $warnings{$filename} = [] unless $warnings{$filename};
+ push @{ $warnings{$filename} }, $line;
+ push( @out, $line );
+ }
+ }
+
+ open my $wfh, '>', $filename or die;
+ print $wfh $_ for @out;
+ close $wfh or die;
+ print STDERR "done\n";
+}
+
+if( %warnings ) {
+ print "\nWarning: lines skipped due to unexpected characters:\n";
+ for my $filename (sort keys %warnings) {
+ print "in $filename:\n";
+ print for @{ $warnings{$filename} };
+ }
+}
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/rm-calloc-cast.cocci b/roms/skiboot/libstb/crypto/mbedtls/scripts/rm-calloc-cast.cocci
new file mode 100644
index 000000000..89481c01a
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/rm-calloc-cast.cocci
@@ -0,0 +1,7 @@
+@rm_calloc_cast@
+expression x, n, m;
+type T;
+@@
+ x =
+- (T *)
+ mbedtls_calloc(n, m)
diff --git a/roms/skiboot/libstb/crypto/mbedtls/scripts/tmp_ignore_makefiles.sh b/roms/skiboot/libstb/crypto/mbedtls/scripts/tmp_ignore_makefiles.sh
new file mode 100755
index 000000000..df9450e14
--- /dev/null
+++ b/roms/skiboot/libstb/crypto/mbedtls/scripts/tmp_ignore_makefiles.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# Temporarily (de)ignore Makefiles generated by CMake to allow easier
+# git development
+
+IGNORE=""
+
+# Parse arguments
+#
+until [ -z "$1" ]
+do
+ case "$1" in
+ -u|--undo)
+ IGNORE="0"
+ ;;
+ -v|--verbose)
+ # Be verbose
+ VERBOSE="1"
+ ;;
+ -h|--help)
+ # print help
+ echo "Usage: $0"
+ echo -e " -h|--help\t\tPrint this help."
+ echo -e " -u|--undo\t\tRemove ignores and continue tracking."
+ echo -e " -v|--verbose\t\tVerbose."
+ exit 1
+ ;;
+ *)
+ # print error
+ echo "Unknown argument: '$1'"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+if [ "X" = "X$IGNORE" ];
+then
+ [ $VERBOSE ] && echo "Ignoring Makefiles"
+ git update-index --assume-unchanged Makefile library/Makefile programs/Makefile tests/Makefile
+else
+ [ $VERBOSE ] && echo "Tracking Makefiles"
+ git update-index --no-assume-unchanged Makefile library/Makefile programs/Makefile tests/Makefile
+fi