lib: add bt_version_get_extra_{name,description,patch_names}
[babeltrace.git] / include / babeltrace2 / version.h
1 #ifndef BABELTRACE2_VERSION_H
2 #define BABELTRACE2_VERSION_H
3
4 /*
5 * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal
9 * in the Software without restriction, including without limitation the rights
10 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 * copies of the Software, and to permit persons to whom the Software is
12 * furnished to do so, subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included in
15 * all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 * SOFTWARE.
24 */
25
26 #ifndef __BT_IN_BABELTRACE_H
27 # error "Please include <babeltrace2/babeltrace.h> instead."
28 #endif
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 /*!
35 @defgroup api-version Library version
36
37 @brief
38 Library version getters.
39
40 This module contains functions to get information about the library's
41 version:
42
43 <dl>
44 <dt>Major version</dt>
45 <dd>bt_version_get_major()</dd>
46
47 <dt>Minor version</dt>
48 <dd>bt_version_get_minor()</dd>
49
50 <dt>Patch version</dt>
51 <dd>bt_version_get_patch()</dd>
52
53 <dt>\bt_dt_opt Development stage</dt>
54 <dd>bt_version_get_development_stage()</dd>
55
56 <dt>\bt_dt_opt Version control system revision's description</dt>
57 <dd>bt_version_get_vcs_revision_description()</dd>
58
59 <dt>\bt_dt_opt Release name</dt>
60 <dd>bt_version_get_name()</dd>
61
62 <dt>\bt_dt_opt Release name's description</dt>
63 <dd>bt_version_get_name_description()</dd>
64
65 <dt>\bt_dt_opt Extra name</dt>
66 <dd>bt_version_get_extra_name()</dd>
67
68 <dt>\bt_dt_opt Extra description</dt>
69 <dd>bt_version_get_extra_description()</dd>
70
71 <dt>\bt_dt_opt Extra patch names</dt>
72 <dd>bt_version_get_extra_patch_names()</dd>
73 </dl>
74 */
75
76 /*! @{ */
77
78 /*!
79 @brief
80 Returns the major version of libbabeltrace2.
81
82 @returns
83 Major version of the library.
84 */
85 extern unsigned int bt_version_get_major(void);
86
87 /*!
88 @brief
89 Returns the minor version of libbabeltrace2.
90
91 @returns
92 Minor version of the library.
93 */
94 extern unsigned int bt_version_get_minor(void);
95
96 /*!
97 @brief
98 Returns the patch version of libbabeltrace2.
99
100 @returns
101 Patch version of the library.
102 */
103 extern unsigned int bt_version_get_patch(void);
104
105 /*!
106 @brief
107 Returns the development stage of libbabeltrace2's version.
108
109 The development stage \em can contain a version suffix such as
110 <code>-pre5</code> or <code>-rc1</code>.
111
112 @returns
113 Development stage of the library's version, or \c NULL if none.
114 */
115 extern const char *bt_version_get_development_stage(void);
116
117 /*!
118 @brief
119 Returns the version control system (VCS) revision's description of
120 libbabeltrace2's version.
121
122 The VCS revision description is only available for a non-release build
123 of the library.
124
125 @returns
126 Version control system revision's description of the library's
127 version, or \c NULL if none.
128 */
129 extern const char *bt_version_get_vcs_revision_description(void);
130
131 /*!
132 @brief
133 Returns libbabeltrace2's release name.
134
135 If the release name is not available, which can be the case for a
136 development build, this function returns \c NULL.
137
138 @returns
139 Library's release name, or \c NULL if not available.
140
141 @sa bt_version_get_name_description() &mdash;
142 Returns the description of libbabeltrace2's release name.
143 */
144 extern const char *bt_version_get_name(void);
145
146 /*!
147 @brief
148 Returns libbabeltrace2's release name's description.
149
150 If the release name's description is not available, which can be the
151 case for a development build, this function returns \c NULL.
152
153 @returns
154 Library's release name's description, or \c NULL if not available.
155
156 @sa bt_version_get_name() &mdash;
157 Returns libbabeltrace2's release name.
158 */
159 extern const char *bt_version_get_name_description(void);
160
161 /*!
162 @brief
163 Returns the extra name of libbabeltrace2's version.
164
165 The extra name of the library's version can be set at build time for a
166 custom build.
167
168 @returns
169 Library's version extra name, or \c NULL if not available.
170 */
171 extern const char *bt_version_get_extra_name(void);
172
173 /*!
174 @brief
175 Returns the extra description of libbabeltrace2's version.
176
177 The extra description of the library's version can be set at build time
178 for a custom build.
179
180 @returns
181 @parblock
182 Library's version extra description, or \c NULL if not available.
183
184 Can contain newlines.
185 @endparblock
186 */
187 extern const char *bt_version_get_extra_description(void);
188
189 /*!
190 @brief
191 Returns the extra patch names of libbabeltrace2's version.
192
193 The extra patch names of the library's version can be set at build time
194 for a custom build.
195
196 @returns
197 @parblock
198 Library's version extra patch names, or \c NULL if not available.
199
200 Each line of the returned string contains the name of a patch
201 applied to Babeltrace's source tree for a custom build.
202 @endparblock
203 */
204 extern const char *bt_version_get_extra_patch_names(void);
205
206 /*! @} */
207
208 #ifdef __cplusplus
209 }
210 #endif
211
212 #endif /* BABELTRACE2_VERSION_H */
This page took 0.033286 seconds and 4 git commands to generate.