index e4aa759df1a8c0131bdc8fd155b0b3dd554ecc65..11e7b13cc31575ee83d598a1f75984ae19b09e63 100644 (file)
#ifndef LIBCOLLECTD_COLLECTDCLIENT_H
#define LIBCOLLECTD_COLLECTDCLIENT_H 1
#ifndef LIBCOLLECTD_COLLECTDCLIENT_H
#define LIBCOLLECTD_COLLECTDCLIENT_H 1
+#include "lcc_features.h"
+
/*
* Includes (for data types)
*/
/*
* Includes (for data types)
*/
-#include <stdint.h>
+#if HAVE_STDINT_H
+# include <stdint.h>
+#endif
#include <inttypes.h>
#include <time.h>
/*
* Defines
*/
#include <inttypes.h>
#include <time.h>
/*
* Defines
*/
-#define LCC_VERSION 0
#define LCC_NAME_LEN 64
#define LCC_DEFAULT_PORT "25826"
/*
* Types
*/
#define LCC_NAME_LEN 64
#define LCC_DEFAULT_PORT "25826"
/*
* Types
*/
+#define LCC_TYPE_COUNTER 0
+#define LCC_TYPE_GAUGE 1
+#define LCC_TYPE_DERIVE 2
+#define LCC_TYPE_ABSOLUTE 3
+
+LCC_BEGIN_DECLS
+
typedef uint64_t counter_t;
typedef double gauge_t;
typedef uint64_t counter_t;
typedef double gauge_t;
+typedef uint64_t derive_t;
+typedef uint64_t absolute_t;
union value_u
{
counter_t counter;
gauge_t gauge;
union value_u
{
counter_t counter;
gauge_t gauge;
+ derive_t derive;
+ absolute_t absolute;
};
typedef union value_u value_t;
};
typedef union value_u value_t;
struct lcc_value_list_s
{
value_t *values;
struct lcc_value_list_s
{
value_t *values;
+ int *values_types;
size_t values_len;
time_t time;
int interval;
size_t values_len;
time_t time;
int interval;
int lcc_putval (lcc_connection_t *c, const lcc_value_list_t *vl);
int lcc_putval (lcc_connection_t *c, const lcc_value_list_t *vl);
-int lcc_flush (lcc_connection_t *c, lcc_identifier_t *ident, int timeout);
+int lcc_flush (lcc_connection_t *c, const char *plugin,
+ lcc_identifier_t *ident, int timeout);
int lcc_listval (lcc_connection_t *c,
lcc_identifier_t **ret_ident, size_t *ret_ident_num);
int lcc_listval (lcc_connection_t *c,
lcc_identifier_t **ret_ident, size_t *ret_ident_num);
int lcc_string_to_identifier (lcc_connection_t *c,
lcc_identifier_t *ident, const char *string);
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 */
/* vim: set sw=2 sts=2 et : */
#endif /* LIBCOLLECTD_COLLECTDCLIENT_H */