libcollectdclient: Added LCC_{BEGIN,END}_DECLS macros.
authorSebastian Harl <sh@tokkee.org>
Sun, 11 Jan 2009 14:23:28 +0000 (15:23 +0100)
committerSebastian Harl <sh@tokkee.org>
Sun, 11 Jan 2009 14:23:28 +0000 (15:23 +0100)
These macros define an extern "C" block when using C++. This allows to use the
headers from C++ as well.

src/libcollectdclient/client.h
src/libcollectdclient/lcc_features.h.in

index 41fe8d7..d5371fb 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef LIBCOLLECTD_COLLECTDCLIENT_H
 #define LIBCOLLECTD_COLLECTDCLIENT_H 1
 
+#include "lcc_features.h"
+
 /*
  * Includes (for data types)
  */
@@ -41,6 +43,8 @@
 #define LCC_TYPE_COUNTER 0
 #define LCC_TYPE_GAUGE   1
 
+LCC_BEGIN_DECLS
+
 typedef uint64_t counter_t;
 typedef double gauge_t;
 
@@ -104,5 +108,7 @@ int lcc_identifier_to_string (lcc_connection_t *c,
 int lcc_string_to_identifier (lcc_connection_t *c,
     lcc_identifier_t *ident, const char *string);
 
+LCC_END_DECLS
+
 /* vim: set sw=2 sts=2 et : */
 #endif /* LIBCOLLECTD_COLLECTDCLIENT_H */
index 844e601..3916a17 100644 (file)
 #ifndef LIBCOLLECTD_LCC_FEATURES_H
 #define LIBCOLLECTD_LCC_FEATURES_H 1
 
+#ifdef __cplusplus
+# define LCC_BEGIN_DECLS extern "C" {
+# define LCC_END_DECLS   }
+#else
+# define LCC_BEGIN_DECLS
+# define LCC_END_DECLS
+#endif
+
 #define LCC_API_VERSION 0
 
 #define LCC_VERSION_MAJOR @LCC_VERSION_MAJOR@
 #define LCC_VERSION \
        LCC_VERSION_ENCODE(LCC_VERSION_MAJOR, LCC_VERSION_MINOR, LCC_VERSION_PATCH)
 
+LCC_BEGIN_DECLS
+
 unsigned int lcc_version (void);
 
 const char *lcc_version_string (void);
 
 const char *lcc_version_extra (void);
 
+LCC_END_DECLS
+
 #endif /* ! LIBCOLLECTD_LCC_FEATURES_H */
 
 /* vim: set sw=4 ts=4 tw=78 noexpandtab : */