include/babeltrace2: add `noexcept` specifier for C++ ≥ 11
[babeltrace.git] / include / babeltrace2 / version.h
index 8ced70e10a0aaae5ae5248a73bab31338760594f..66ad5415d07fd5c7b3d55ae6561649dc9a22873d 100644 (file)
@@ -1,28 +1,14 @@
-#ifndef BABELTRACE2_VERSION_H
-#define BABELTRACE2_VERSION_H
-
 /*
- * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
+ * SPDX-License-Identifier: MIT
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
+ * Copyright (C) 2010-2019 EfficiOS Inc. and Linux Foundation
  */
 
+#ifndef BABELTRACE2_VERSION_H
+#define BABELTRACE2_VERSION_H
+
+/* IWYU pragma: private, include <babeltrace2/babeltrace.h> */
+
 #ifndef __BT_IN_BABELTRACE_H
 # error "Please include <babeltrace2/babeltrace.h> instead."
 #endif
@@ -37,7 +23,7 @@ extern "C" {
 @brief
     Library version getters.
 
-This module contains four functions to information about the library's
+This module contains functions to get information about the library's
 version:
 
 <dl>
@@ -61,6 +47,15 @@ version:
 
   <dt>\bt_dt_opt Release name's description</dt>
   <dd>bt_version_get_name_description()</dd>
+
+  <dt>\bt_dt_opt Extra name</dt>
+  <dd>bt_version_get_extra_name()</dd>
+
+  <dt>\bt_dt_opt Extra description</dt>
+  <dd>bt_version_get_extra_description()</dd>
+
+  <dt>\bt_dt_opt Extra patch names</dt>
+  <dd>bt_version_get_extra_patch_names()</dd>
 </dl>
 */
 
@@ -73,7 +68,7 @@ version:
 @returns
     Major version of the library.
 */
-extern unsigned int bt_version_get_major(void);
+extern unsigned int bt_version_get_major(void) __BT_NOEXCEPT;
 
 /*!
 @brief
@@ -82,7 +77,7 @@ extern unsigned int bt_version_get_major(void);
 @returns
     Minor version of the library.
 */
-extern unsigned int bt_version_get_minor(void);
+extern unsigned int bt_version_get_minor(void) __BT_NOEXCEPT;
 
 /*!
 @brief
@@ -91,7 +86,7 @@ extern unsigned int bt_version_get_minor(void);
 @returns
     Patch version of the library.
 */
-extern unsigned int bt_version_get_patch(void);
+extern unsigned int bt_version_get_patch(void) __BT_NOEXCEPT;
 
 /*!
 @brief
@@ -103,7 +98,7 @@ The development stage \em can contain a version suffix such as
 @returns
     Development stage of the library's version, or \c NULL if none.
 */
-extern const char *bt_version_get_development_stage(void);
+extern const char *bt_version_get_development_stage(void) __BT_NOEXCEPT;
 
 /*!
 @brief
@@ -117,7 +112,7 @@ of the library.
     Version control system revision's description of the library's
     version, or \c NULL if none.
 */
-extern const char *bt_version_get_vcs_revision_description(void);
+extern const char *bt_version_get_vcs_revision_description(void) __BT_NOEXCEPT;
 
 /*!
 @brief
@@ -132,7 +127,7 @@ development build, this function returns \c NULL.
 @sa bt_version_get_name_description() &mdash;
     Returns the description of libbabeltrace2's release name.
 */
-extern const char *bt_version_get_name(void);
+extern const char *bt_version_get_name(void) __BT_NOEXCEPT;
 
 /*!
 @brief
@@ -147,7 +142,52 @@ case for a development build, this function returns \c NULL.
 @sa bt_version_get_name() &mdash;
     Returns libbabeltrace2's release name.
 */
-extern const char *bt_version_get_name_description(void);
+extern const char *bt_version_get_name_description(void) __BT_NOEXCEPT;
+
+/*!
+@brief
+    Returns the extra name of libbabeltrace2's version.
+
+The extra name of the library's version can be set at build time for a
+custom build.
+
+@returns
+    Library's version extra name, or \c NULL if not available.
+*/
+extern const char *bt_version_get_extra_name(void) __BT_NOEXCEPT;
+
+/*!
+@brief
+    Returns the extra description of libbabeltrace2's version.
+
+The extra description of the library's version can be set at build time
+for a custom build.
+
+@returns
+    @parblock
+    Library's version extra description, or \c NULL if not available.
+
+    Can contain newlines.
+    @endparblock
+*/
+extern const char *bt_version_get_extra_description(void) __BT_NOEXCEPT;
+
+/*!
+@brief
+    Returns the extra patch names of libbabeltrace2's version.
+
+The extra patch names of the library's version can be set at build time
+for a custom build.
+
+@returns
+    @parblock
+    Library's version extra patch names, or \c NULL if not available.
+
+    Each line of the returned string contains the name of a patch
+    applied to Babeltrace's source tree for a custom build.
+    @endparblock
+*/
+extern const char *bt_version_get_extra_patch_names(void) __BT_NOEXCEPT;
 
 /*! @} */
 
This page took 0.024442 seconds and 4 git commands to generate.