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