X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_tool.h;h=86c4aa8ce22271053c3afcef5f0c297e8851c318;hp=f8ab9c48d0fa4e036fb76e7c89c4b64148ba4d0c;hb=8f9c2c2b3c3f8a65e24dd9d8d612eafe48ccfb2e;hpb=818549a636c390fb4a8390a7e2195a52293cd56b diff --git a/src/rrd_tool.h b/src/rrd_tool.h index f8ab9c4..86c4aa8 100644 --- a/src/rrd_tool.h +++ b/src/rrd_tool.h @@ -1,10 +1,10 @@ /***************************************************************************** - * RRDtool 1.2.23 Copyright by Tobi Oetiker, 1997-2007 + * RRDtool 1.4.2 Copyright by Tobi Oetiker, 1997-2009 ***************************************************************************** * rrd_tool.h Common Header File *****************************************************************************/ #ifdef __cplusplus -extern "C" { +extern "C" { #endif #ifndef _RRD_TOOL_H @@ -22,25 +22,41 @@ extern "C" { /* Win32 only includes */ -#include /* for _isnan */ -#include /* for chdir */ - -struct tm* localtime_r(const time_t *timep, struct tm* result); -char* ctime_r(const time_t *timep, char* result); -struct tm* gmtime_r(const time_t *timep, struct tm* result); -char *strtok_r(char *str, const char *sep, char **last); +#include /* for _isnan */ +#include /* for chdir */ + + struct tm *localtime_r( + const time_t *timep, + struct tm *result); + char *ctime_r( + const time_t *timep, + char *result); + struct tm *gmtime_r( + const time_t *timep, + struct tm *result); + char *strtok_r( + char *str, + const char *sep, + char **last); #else /* unix-only includes */ #if !defined isnan && !defined HAVE_ISNAN -int isnan(double value); + int isnan( + double value); #endif #endif /* local include files -- need to be after the system ones */ +#ifdef HAVE_GETOPT_LONG +#define _GNU_SOURCE +#include +#else #include "rrd_getopt.h" +#endif + #include "rrd_format.h" #ifndef max @@ -53,74 +69,61 @@ int isnan(double value); #define DIM(x) (sizeof(x)/sizeof(x[0])) -/* rrd info interface */ -enum info_type { RD_I_VAL=0, - RD_I_CNT, - RD_I_STR, - RD_I_INT }; - -typedef union infoval { - unsigned long u_cnt; - rrd_value_t u_val; - char *u_str; - int u_int; -} infoval; - -typedef struct info_t { - char *key; - enum info_type type; - union infoval value; - struct info_t *next; -} info_t; - -info_t *rrd_info(int, char **); -int rrd_lastupdate(int argc, char **argv, time_t *last_update, - unsigned long *ds_cnt, char ***ds_namv, char ***last_ds); -info_t *rrd_update_v(int, char **); -char * sprintf_alloc(char *, ...); -info_t *info_push(info_t *, char *, enum info_type, infoval); + char *sprintf_alloc( + char *, + ...); /* HELPER FUNCTIONS */ -int PngSize(FILE *, long *, long *); - -int rrd_create_fn(const char *file_name, rrd_t *rrd); -int rrd_fetch_fn(const char *filename, enum cf_en cf_idx, - time_t *start,time_t *end, - unsigned long *step, - unsigned long *ds_cnt, - char ***ds_namv, - rrd_value_t **data); - -void rrd_free(rrd_t *rrd); -void rrd_freemem(void *mem); -void rrd_init(rrd_t *rrd); - -rrd_file_t* rrd_open(const char * const file_name, rrd_t *rrd, unsigned rdwr); -int rrd_close(rrd_file_t* rrd_file); -ssize_t rrd_read(rrd_file_t* rrd_file, void*buf, size_t count); -ssize_t rrd_write(rrd_file_t* rrd_file, const void*buf, size_t count); -void rrd_flush(rrd_file_t* rrd_file); -off_t rrd_seek(rrd_file_t* rrd_file, off_t off, int whence); -off_t rrd_tell(rrd_file_t* rrd_file); -int readfile(const char *file, char **buffer, int skipfirst); - -#define RRD_READONLY 0 -#define RRD_READWRITE 1 -#define RRD_CREAT 2 - -enum cf_en cf_conv(const char *string); -enum dst_en dst_conv(char *string); -long ds_match(rrd_t *rrd,char *ds_nam); -double rrd_diff(char *a, char *b); - - /* rrd_strerror is thread safe, but still it uses a global buffer - (but one per thread), thus subsequent calls within a single - thread overwrite the same buffer */ -const char *rrd_strerror(int err); - + int PngSize( + FILE *, + long *, + long *); + + int rrd_create_fn( + const char *file_name, + rrd_t *rrd); + int rrd_fetch_fn (const char *filename, + enum cf_en cf_idx, + time_t *start, + time_t *end, + unsigned long *step, + unsigned long *ds_cnt, + char ***ds_namv, + rrd_value_t **data); + + +#ifdef HAVE_LIBDBI +int rrd_fetch_fn_libdbi(const char *filename, enum cf_en cf_idx, + time_t *start,time_t *end, + unsigned long *step, + unsigned long *ds_cnt, + char ***ds_namv, + rrd_value_t **data); #endif +#define RRD_READONLY (1<<0) +#define RRD_READWRITE (1<<1) +#define RRD_CREAT (1<<2) +#define RRD_READAHEAD (1<<3) +#define RRD_COPY (1<<4) +#define RRD_EXCL (1<<5) + + enum cf_en cf_conv( + const char *string); + enum dst_en dst_conv( + char *string); + long ds_match( + rrd_t *rrd, + char *ds_nam); + off_t rrd_get_header_size( + rrd_t *rrd); + double rrd_diff( + char *a, + char *b); + +#endif /* _RRD_TOOL_H */ + #ifdef __cplusplus } #endif