Skip to content

Commit

Permalink
version UPDATE provide run-time version info
Browse files Browse the repository at this point in the history
Fixes #2260
  • Loading branch information
michalvasko committed Jun 28, 2024
1 parent 014507d commit 3ab37cc
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 1 deletion.
15 changes: 15 additions & 0 deletions src/ly_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,23 @@

#include "compat.h"
#include "tree_schema_internal.h"
#include "version.h"
#include "xml.h"

LIBYANG_API_DEF struct ly_version ly_version_so = {
.major = LY_VERSION_MAJOR,
.minor = LY_VERSION_MINOR,
.micro = LY_VERSION_MICRO,
.str = LY_VERSION
};

LIBYANG_API_DEF struct ly_version ly_version_proj = {
.major = LY_PROJ_VERSION_MAJOR,
.minor = LY_PROJ_VERSION_MINOR,
.micro = LY_PROJ_VERSION_MICRO,
.str = LY_PROJ_VERSION
};

void *
ly_realloc(void *ptr, size_t size)
{
Expand Down
28 changes: 27 additions & 1 deletion src/version.h.in
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
/**
* @file version.h
* @author Radek Krejci <rkrejci@cesnet.cz>
* @author Michal Vasko <mvasko@cesnet.cz>
* @brief libyang version definitions
*
* Copyright (c) 2020 CESNET, z.s.p.o.
* Copyright (c) 2020 - 2024 CESNET, z.s.p.o.
*
* This source code is licensed under BSD 3-Clause License (the "License").
* You may not use this file except in compliance with the License.
Expand All @@ -15,6 +16,10 @@
#ifndef LY_VERSION_H_
#define LY_VERSION_H_

#ifdef __cplusplus
extern "C" {
#endif

#define LY_VERSION_MAJOR @LIBYANG_MAJOR_SOVERSION@ /**< libyang major version number */
#define LY_VERSION_MINOR @LIBYANG_MINOR_SOVERSION@ /**< libyang minor version number */
#define LY_VERSION_MICRO @LIBYANG_MICRO_SOVERSION@ /**< libyang micro version number */
Expand All @@ -25,4 +30,25 @@
#define LY_PROJ_VERSION_MICRO @LIBYANG_MICRO_VERSION@ /**< project micro version number */
#define LY_PROJ_VERSION "@LIBYANG_VERSION@" /**< project version string */

struct ly_version {
uint32_t major; /**< Major version number */
uint32_t minor; /**< Minor version number */
uint32_t micro; /**< Micro version number */
const char *str; /**< Version string */
};

/**
* @brief libyang SO version.
*/
LIBYANG_API_DECL extern struct ly_version ly_version_so;

/**
* @brief libyang project version.
*/
LIBYANG_API_DECL extern struct ly_version ly_version_proj;

#ifdef __cplusplus
}
#endif

#endif /* LY_VERSION_H_ */

0 comments on commit 3ab37cc

Please sign in to comment.