X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_client.h;h=787c2b6d649dcec54f6e171b6eba40c5a9c1d251;hp=92d4c07cb0a6f592bd6f8767284c652207123169;hb=95df04d6dd28f811004faf0cd000e7f0e82beba7;hpb=ac630adec930653637199258efd99024d49325c7 diff --git a/src/rrd_client.h b/src/rrd_client.h index 92d4c07..787c2b6 100644 --- a/src/rrd_client.h +++ b/src/rrd_client.h @@ -22,6 +22,37 @@ #ifndef __RRD_CLIENT_H #define __RRD_CLIENT_H 1 +#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H) +#include "../win32/config.h" +#else +#ifdef HAVE_CONFIG_H +#include "../rrd_config.h" +#endif +#endif + +#ifndef WIN32 +# ifdef HAVE_STDINT_H +# include +# else +# ifdef HAVE_INTTYPES_H +# include +# else +# error "you should have stdint.h or inttypes.h to compile this" +# endif +# endif +#else +# include + typedef signed char int8_t; + typedef unsigned char uint8_t; + typedef signed int int16_t; + typedef unsigned int uint16_t; + typedef signed long int int32_t; + typedef unsigned long int uint32_t; + typedef signed long long int int64_t; + typedef unsigned long long int uint64_t; +#endif + + #ifndef RRDCACHED_DEFAULT_ADDRESS # define RRDCACHED_DEFAULT_ADDRESS "unix:/tmp/rrdcached.sock" #endif @@ -29,12 +60,48 @@ #define RRDCACHED_DEFAULT_PORT "42217" #define ENV_RRDCACHED_ADDRESS "RRDCACHED_ADDRESS" + +// Windows version has no daemon/client support + +#ifndef WIN32 int rrdc_connect (const char *addr); +int rrdc_is_connected(const char *daemon_addr); int rrdc_disconnect (void); int rrdc_update (const char *filename, int values_num, const char * const *values); int rrdc_flush (const char *filename); +int rrdc_flush_if_daemon (const char *opt_daemon, const char *filename); + +#else +# define rrdc_flush_if_daemon(a,b) 0 +# define rrdc_connect(a) 0 +# define rrdc_is_connected(a) 0 +# define rrdc_flush(a) 0 +# define rrdc_update(a,b,c) 0 +#endif + +struct rrdc_stats_s +{ + const char *name; + uint16_t type; +#define RRDC_STATS_TYPE_GAUGE 0x0001 +#define RRDC_STATS_TYPE_COUNTER 0x0002 + uint16_t flags; + union + { + uint64_t counter; + double gauge; + } value; + struct rrdc_stats_s *next; +}; +typedef struct rrdc_stats_s rrdc_stats_t; + +int rrdc_stats_get (rrdc_stats_t **ret_stats); +void rrdc_stats_free (rrdc_stats_t *ret_stats); #endif /* __RRD_CLIENT_H */ +/* + * vim: set sw=2 sts=2 ts=8 et fdm=marker : + */