From: Sebastian Harl Date: Thu, 5 Dec 2013 07:58:48 +0000 (+0100) Subject: Added version functions to libsysdbclient. X-Git-Tag: sysdb-0.1.0~331 X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=commitdiff_plain;h=d3416a7383ebf10e91570b23e3764f7a230e59d2 Added version functions to libsysdbclient. This is basically the same as the sdb_version() functions but to be used only in the client lib. --- diff --git a/src/Makefile.am b/src/Makefile.am index 34470ae..a82a16b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -6,7 +6,7 @@ AM_CPPFLAGS += -DSYSCONFDIR='"${sysconfdir}"' AM_CPPFLAGS += -DLOCALSTATEDIR='"${localstatedir}"' AM_CPPFLAGS += -DPKGLIBDIR='"${pkglibdir}"' -BUILT_SOURCES = include/sysdb.h +BUILT_SOURCES = include/client/sysdb.h include/sysdb.h pkginclude_HEADERS = include/sysdb.h pkgcoreincludedir = $(pkgincludedir)/core @@ -37,6 +37,7 @@ pkgclientinclude_HEADERS = \ lib_LTLIBRARIES = libsysdbclient.la libsysdb.la libsysdbclient_la_SOURCES = \ + client/client.c include/client/sysdb.h \ client/sock.c include/client/sock.h \ utils/proto.c include/utils/proto.h \ utils/strbuf.c include/utils/strbuf.h @@ -137,6 +138,15 @@ libsysdb_la_LIBADD += -dlopen plugins/cname/dns.la libsysdb_la_DEPENDENCIES += plugins/cname/dns.la endif +include/client/sysdb.h: include/client/sysdb.h.in ../version + source ../version; sed \ + -e "s/@SDB_VERSION_MAJOR@/$$VERSION_MAJOR/g" \ + -e "s/@SDB_VERSION_MINOR@/$$VERSION_MINOR/g" \ + -e "s/@SDB_VERSION_PATCH@/$$VERSION_PATCH/g" \ + -e "s/@SDB_VERSION_EXTRA@/$$VERSION_EXTRA/g" \ + -e "s/@SDB_VERSION_STRING@/$$VERSION_STRING/g" \ + include/client/sysdb.h.in > include/client/sysdb.h + include/sysdb.h: include/sysdb.h.in ../version source ../version; sed \ -e "s/@SDB_VERSION_MAJOR@/$$VERSION_MAJOR/g" \ diff --git a/src/client/client.c b/src/client/client.c new file mode 100644 index 0000000..a46fe44 --- /dev/null +++ b/src/client/client.c @@ -0,0 +1,53 @@ +/* + * SysDB - src/client/client.c + * Copyright (C) 2013 Sebastian 'tokkee' Harl + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "client/sysdb.h" + +/* + * public API + */ + +unsigned int +sdb_client_version(void) +{ + return SDB_CLIENT_VERSION; +} /* sdb_client_version */ + +const char * +sdb_client_version_string(void) +{ + return SDB_CLIENT_VERSION_STRING; +} /* sdb_client_version_string */ + +const char * +sdb_client_version_extra(void) +{ + return SDB_CLIENT_VERSION_EXTRA; +} /* sdb_client_version_extra */ + +/* vim: set tw=78 sw=4 ts=4 noexpandtab : */ + diff --git a/src/include/client/sysdb.h.in b/src/include/client/sysdb.h.in new file mode 100644 index 0000000..0458c09 --- /dev/null +++ b/src/include/client/sysdb.h.in @@ -0,0 +1,70 @@ +/* + * SysDB - src/include/client/sysdb.h + * Copyright (C) 2013 Sebastian 'tokkee' Harl + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef CLIENT_SYSDB_H +#define CLIENT_SYSDB_H 1 + +#define SDB_CLIENT_VERSION_MAJOR @SDB_VERSION_MAJOR@ +#define SDB_CLIENT_VERSION_MINOR @SDB_VERSION_MINOR@ +#define SDB_CLIENT_VERSION_PATCH @SDB_VERSION_PATCH@ + +#define SDB_CLIENT_VERSION_EXTRA "@SDB_VERSION_EXTRA@" + +#define SDB_CLIENT_VERSION_STRING "@SDB_VERSION_STRING@" + +#define SDB_CLIENT_VERSION_ENCODE(major, minor, patch) \ + ((major) * 10000 + (minor) * 100 + (patch)) +#define SDB_CLIENT_VERSION_DECODE(version) \ + (int)((version) / 10000), \ + (int)((version) / 100) - (int)((version) / 10000) * 100, \ + (int)(version) - (int)((version) / 100) * 100 + +#define SDB_CLIENT_VERSION \ + SDB_CLIENT_VERSION_ENCODE(SDB_CLIENT_VERSION_MAJOR, \ + SDB_CLIENT_VERSION_MINOR, SDB_CLIENT_VERSION_PATCH) + +#ifdef __cplusplus +extern "C" { +#endif + +unsigned int +sdb_client_version(void); + +const char * +sdb_client_version_string(void); + +const char * +sdb_client_version_extra(void); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* ! CLIENT_SYSDB_H */ + +/* vim: set tw=78 sw=4 ts=4 noexpandtab : */ +