1 | /*
|
---|
2 | * {- join("\n * ", @autowarntext) -}
|
---|
3 | *
|
---|
4 | * Copyright 1999-2020 The OpenSSL Project Authors. All Rights Reserved.
|
---|
5 | *
|
---|
6 | * Licensed under the Apache License 2.0 (the "License"). You may not use
|
---|
7 | * this file except in compliance with the License. You can obtain a copy
|
---|
8 | * in the file LICENSE in the source distribution or at
|
---|
9 | * https://www.openssl.org/source/license.html
|
---|
10 | */
|
---|
11 |
|
---|
12 | #ifndef OPENSSL_OPENSSLV_H
|
---|
13 | # define OPENSSL_OPENSSLV_H
|
---|
14 | # pragma once
|
---|
15 |
|
---|
16 | # ifdef __cplusplus
|
---|
17 | extern "C" {
|
---|
18 | # endif
|
---|
19 |
|
---|
20 | /*
|
---|
21 | * SECTION 1: VERSION DATA. These will change for each release
|
---|
22 | */
|
---|
23 |
|
---|
24 | /*
|
---|
25 | * Base version macros
|
---|
26 | *
|
---|
27 | * These macros express version number MAJOR.MINOR.PATCH exactly
|
---|
28 | */
|
---|
29 | # define OPENSSL_VERSION_MAJOR {- $config{major} -}
|
---|
30 | # define OPENSSL_VERSION_MINOR {- $config{minor} -}
|
---|
31 | # define OPENSSL_VERSION_PATCH {- $config{patch} -}
|
---|
32 |
|
---|
33 | /*
|
---|
34 | * Additional version information
|
---|
35 | *
|
---|
36 | * These are also part of the new version scheme, but aren't part
|
---|
37 | * of the version number itself.
|
---|
38 | */
|
---|
39 |
|
---|
40 | /* Could be: #define OPENSSL_VERSION_PRE_RELEASE "-alpha.1" */
|
---|
41 | # define OPENSSL_VERSION_PRE_RELEASE "{- $config{prerelease} -}"
|
---|
42 | /* Could be: #define OPENSSL_VERSION_BUILD_METADATA "+fips" */
|
---|
43 | /* Could be: #define OPENSSL_VERSION_BUILD_METADATA "+vendor.1" */
|
---|
44 | # define OPENSSL_VERSION_BUILD_METADATA "{- $config{build_metadata} -}"
|
---|
45 |
|
---|
46 | /*
|
---|
47 | * Note: The OpenSSL Project will never define OPENSSL_VERSION_BUILD_METADATA
|
---|
48 | * to be anything but the empty string. Its use is entirely reserved for
|
---|
49 | * others
|
---|
50 | */
|
---|
51 |
|
---|
52 | /*
|
---|
53 | * Shared library version
|
---|
54 | *
|
---|
55 | * This is strictly to express ABI version, which may or may not
|
---|
56 | * be related to the API version expressed with the macros above.
|
---|
57 | * This is defined in free form.
|
---|
58 | */
|
---|
59 | # define OPENSSL_SHLIB_VERSION {- $config{shlib_version} -}
|
---|
60 |
|
---|
61 | /*
|
---|
62 | * SECTION 2: USEFUL MACROS
|
---|
63 | */
|
---|
64 |
|
---|
65 | /* For checking general API compatibility when preprocessing */
|
---|
66 | # define OPENSSL_VERSION_PREREQ(maj,min) \
|
---|
67 | ((OPENSSL_VERSION_MAJOR << 16) + OPENSSL_VERSION_MINOR >= ((maj) << 16) + (min))
|
---|
68 |
|
---|
69 | /*
|
---|
70 | * Macros to get the version in easily digested string form, both the short
|
---|
71 | * "MAJOR.MINOR.PATCH" variant (where MAJOR, MINOR and PATCH are replaced
|
---|
72 | * with the values from the corresponding OPENSSL_VERSION_ macros) and the
|
---|
73 | * longer variant with OPENSSL_VERSION_PRE_RELEASE_STR and
|
---|
74 | * OPENSSL_VERSION_BUILD_METADATA_STR appended.
|
---|
75 | */
|
---|
76 | # define OPENSSL_VERSION_STR "{- $config{version} -}"
|
---|
77 | # define OPENSSL_FULL_VERSION_STR "{- $config{full_version} -}"
|
---|
78 |
|
---|
79 | /*
|
---|
80 | * SECTION 3: ADDITIONAL METADATA
|
---|
81 | *
|
---|
82 | * These strings are defined separately to allow them to be parsable.
|
---|
83 | */
|
---|
84 | # define OPENSSL_RELEASE_DATE "{- $config{release_date} -}"
|
---|
85 |
|
---|
86 | /*
|
---|
87 | * SECTION 4: BACKWARD COMPATIBILITY
|
---|
88 | */
|
---|
89 |
|
---|
90 | # define OPENSSL_VERSION_TEXT "OpenSSL {- "$config{full_version} $config{release_date}" -}"
|
---|
91 |
|
---|
92 | /* Synthesize OPENSSL_VERSION_NUMBER with the layout 0xMNN00PPSL */
|
---|
93 | # ifdef OPENSSL_VERSION_PRE_RELEASE
|
---|
94 | # define _OPENSSL_VERSION_PRE_RELEASE 0x0L
|
---|
95 | # else
|
---|
96 | # define _OPENSSL_VERSION_PRE_RELEASE 0xfL
|
---|
97 | # endif
|
---|
98 | # define OPENSSL_VERSION_NUMBER \
|
---|
99 | ( (OPENSSL_VERSION_MAJOR<<28) \
|
---|
100 | |(OPENSSL_VERSION_MINOR<<20) \
|
---|
101 | |(OPENSSL_VERSION_PATCH<<4) \
|
---|
102 | |_OPENSSL_VERSION_PRE_RELEASE )
|
---|
103 |
|
---|
104 | # ifdef __cplusplus
|
---|
105 | }
|
---|
106 | # endif
|
---|
107 |
|
---|
108 | # include <openssl/macros.h>
|
---|
109 | # ifndef OPENSSL_NO_DEPRECATED_3_0
|
---|
110 | # define HEADER_OPENSSLV_H
|
---|
111 | # endif
|
---|
112 |
|
---|
113 | #endif /* OPENSSL_OPENSSLV_H */
|
---|