Run-time version information is now available
Run-time version information is available as exported four integers: - const int nl_ver_num = LIBNL_VER_NUM; - const int nl_ver_maj = LIBNL_VER_MAJ; - const int nl_ver_min = LIBNL_VER_MIN; - const int nl_ver_mic = LIBNL_VER_MIC; The purpose of this is to get version of compiled library as run time. Use cases: - To know exact version of the library in Python's ctypes module, Say, to find out if nl_cache_mngr_alloc() allow sk=NULL - To make sure that the version of the loaded library corresponds to the version of headers (for the paranoid). Say, to check: if (LIBNL_VER_NUM != nl_ver_num) exit(1);
This commit is contained in:
parent
d10d9633a5
commit
582a32433c
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* netlink/version.h Compile Time Versioning Information
|
* netlink/version.h Versioning Information
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -12,6 +12,8 @@
|
||||||
#ifndef NETLINK_VERSION_H_
|
#ifndef NETLINK_VERSION_H_
|
||||||
#define NETLINK_VERSION_H_
|
#define NETLINK_VERSION_H_
|
||||||
|
|
||||||
|
/* Compile Time Versioning Information */
|
||||||
|
|
||||||
#define LIBNL_STRING "@PACKAGE_STRING@"
|
#define LIBNL_STRING "@PACKAGE_STRING@"
|
||||||
#define LIBNL_VERSION "@PACKAGE_VERSION@"
|
#define LIBNL_VERSION "@PACKAGE_VERSION@"
|
||||||
|
|
||||||
|
@ -25,4 +27,11 @@
|
||||||
#define LIBNL_REVISION @LT_REVISION@
|
#define LIBNL_REVISION @LT_REVISION@
|
||||||
#define LIBNL_AGE @LT_AGE@
|
#define LIBNL_AGE @LT_AGE@
|
||||||
|
|
||||||
|
/* Run-time version information */
|
||||||
|
|
||||||
|
extern const int nl_ver_num;
|
||||||
|
extern const int nl_ver_maj;
|
||||||
|
extern const int nl_ver_min;
|
||||||
|
extern const int nl_ver_mic;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -17,7 +17,8 @@ lib_LTLIBRARIES = \
|
||||||
|
|
||||||
libnl_3_la_SOURCES = \
|
libnl_3_la_SOURCES = \
|
||||||
addr.c attr.c cache.c cache_mngr.c cache_mngt.c data.c \
|
addr.c attr.c cache.c cache_mngr.c cache_mngt.c data.c \
|
||||||
error.c handlers.c msg.c nl.c object.c socket.c utils.c
|
error.c handlers.c msg.c nl.c object.c socket.c utils.c \
|
||||||
|
version.c
|
||||||
|
|
||||||
libnl_genl_3_la_LIBADD = libnl-3.la
|
libnl_genl_3_la_LIBADD = libnl-3.la
|
||||||
libnl_genl_3_la_SOURCES = \
|
libnl_genl_3_la_SOURCES = \
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*
|
||||||
|
* lib/version.c Run-time version information
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation version 2.1
|
||||||
|
* of the License.
|
||||||
|
*
|
||||||
|
* Copyright (c) 2003-2012 Thomas Graf <tgraf@suug.ch>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ingroup core
|
||||||
|
* @defgroup utils Utilities
|
||||||
|
*
|
||||||
|
* Run-time version information
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name Run-time version information
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <netlink/version.h>
|
||||||
|
|
||||||
|
const int nl_ver_num = LIBNL_VER_NUM;
|
||||||
|
const int nl_ver_maj = LIBNL_VER_MAJ;
|
||||||
|
const int nl_ver_min = LIBNL_VER_MIN;
|
||||||
|
const int nl_ver_mic = LIBNL_VER_MIC;
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
|
/** @} */
|
Reference in New Issue