1/**
2 * libcollectdclient - src/libcollectdclient/lcc_features.h
3 * Copyright (C) 2009  Sebastian Harl
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in
13 * all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
22 *
23 * Authors:
24 *   Sebastian tokkee Harl <sh at tokkee.org>
25 **/
26
27#ifndef LIBCOLLECTD_LCC_FEATURES_H
28#define LIBCOLLECTD_LCC_FEATURES_H 1
29
30#ifdef __cplusplus
31# define LCC_BEGIN_DECLS extern "C" {
32# define LCC_END_DECLS   }
33#else
34# define LCC_BEGIN_DECLS
35# define LCC_END_DECLS
36#endif
37
38#define LCC_API_VERSION 0
39
40#define LCC_VERSION_MAJOR @LCC_VERSION_MAJOR@
41#define LCC_VERSION_MINOR @LCC_VERSION_MINOR@
42#define LCC_VERSION_PATCH @LCC_VERSION_PATCH@
43
44#define LCC_VERSION_EXTRA "@LCC_VERSION_EXTRA@"
45
46#define LCC_VERSION_STRING "@LCC_VERSION_STRING@"
47
48#define LCC_VERSION_ENCODE(major, minor, patch) \
49	((major) * 10000 + (minor) * 100 + (patch))
50
51#define LCC_VERSION \
52	LCC_VERSION_ENCODE(LCC_VERSION_MAJOR, LCC_VERSION_MINOR, LCC_VERSION_PATCH)
53
54LCC_BEGIN_DECLS
55
56unsigned int lcc_version (void);
57
58const char *lcc_version_string (void);
59
60const char *lcc_version_extra (void);
61
62LCC_END_DECLS
63
64#endif /* ! LIBCOLLECTD_LCC_FEATURES_H */
65