]> git.sur5r.net Git - freertos/blob - FreeRTOS-Labs/Source/mbedtls/include/mbedtls/version.h
Add the Labs projects provided in the V10.2.1_191129 zip file.
[freertos] / FreeRTOS-Labs / Source / mbedtls / include / mbedtls / version.h
1 /**\r
2  * \file version.h\r
3  *\r
4  * \brief Run-time version information\r
5  */\r
6 /*\r
7  *  Copyright (C) 2006-2015, ARM Limited, All Rights Reserved\r
8  *  SPDX-License-Identifier: Apache-2.0\r
9  *\r
10  *  Licensed under the Apache License, Version 2.0 (the "License"); you may\r
11  *  not use this file except in compliance with the License.\r
12  *  You may obtain a copy of the License at\r
13  *\r
14  *  http://www.apache.org/licenses/LICENSE-2.0\r
15  *\r
16  *  Unless required by applicable law or agreed to in writing, software\r
17  *  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT\r
18  *  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
19  *  See the License for the specific language governing permissions and\r
20  *  limitations under the License.\r
21  *\r
22  *  This file is part of mbed TLS (https://tls.mbed.org)\r
23  */\r
24 /*\r
25  * This set of compile-time defines and run-time variables can be used to\r
26  * determine the version number of the mbed TLS library used.\r
27  */\r
28 #ifndef MBEDTLS_VERSION_H\r
29 #define MBEDTLS_VERSION_H\r
30 \r
31 #if !defined(MBEDTLS_CONFIG_FILE)\r
32 #include "config.h"\r
33 #else\r
34 #include MBEDTLS_CONFIG_FILE\r
35 #endif\r
36 \r
37 /**\r
38  * The version number x.y.z is split into three parts.\r
39  * Major, Minor, Patchlevel\r
40  */\r
41 #define MBEDTLS_VERSION_MAJOR  2\r
42 #define MBEDTLS_VERSION_MINOR  18\r
43 #define MBEDTLS_VERSION_PATCH  0\r
44 \r
45 /**\r
46  * The single version number has the following structure:\r
47  *    MMNNPP00\r
48  *    Major version | Minor version | Patch version\r
49  */\r
50 #define MBEDTLS_VERSION_NUMBER         0x02120000\r
51 #define MBEDTLS_VERSION_STRING         "2.18.0"\r
52 #define MBEDTLS_VERSION_STRING_FULL    "mbed TLS 2.18.0"\r
53 \r
54 #if defined(MBEDTLS_VERSION_C)\r
55 \r
56 #ifdef __cplusplus\r
57 extern "C" {\r
58 #endif\r
59 \r
60 /**\r
61  * Get the version number.\r
62  *\r
63  * \return          The constructed version number in the format\r
64  *                  MMNNPP00 (Major, Minor, Patch).\r
65  */\r
66 unsigned int mbedtls_version_get_number( void );\r
67 \r
68 /**\r
69  * Get the version string ("x.y.z").\r
70  *\r
71  * \param string    The string that will receive the value.\r
72  *                  (Should be at least 9 bytes in size)\r
73  */\r
74 void mbedtls_version_get_string( char *string );\r
75 \r
76 /**\r
77  * Get the full version string ("mbed TLS x.y.z").\r
78  *\r
79  * \param string    The string that will receive the value. The mbed TLS version\r
80  *                  string will use 18 bytes AT MOST including a terminating\r
81  *                  null byte.\r
82  *                  (So the buffer should be at least 18 bytes to receive this\r
83  *                  version string).\r
84  */\r
85 void mbedtls_version_get_string_full( char *string );\r
86 \r
87 /**\r
88  * \brief           Check if support for a feature was compiled into this\r
89  *                  mbed TLS binary. This allows you to see at runtime if the\r
90  *                  library was for instance compiled with or without\r
91  *                  Multi-threading support.\r
92  *\r
93  * \note            only checks against defines in the sections "System\r
94  *                  support", "mbed TLS modules" and "mbed TLS feature\r
95  *                  support" in config.h\r
96  *\r
97  * \param feature   The string for the define to check (e.g. "MBEDTLS_AES_C")\r
98  *\r
99  * \return          0 if the feature is present,\r
100  *                  -1 if the feature is not present and\r
101  *                  -2 if support for feature checking as a whole was not\r
102  *                  compiled in.\r
103  */\r
104 int mbedtls_version_check_feature( const char *feature );\r
105 \r
106 #ifdef __cplusplus\r
107 }\r
108 #endif\r
109 \r
110 #endif /* MBEDTLS_VERSION_C */\r
111 \r
112 #endif /* version.h */\r