X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Frrd_tool.h;h=6663c56e501ae2d6c3af021e063ecc58f6f207ea;hb=5fc7ff89bdbced9c593c566fea9840a269935dcd;hp=426cef81be214f79b5f44c0110a0ed9560ed21f3;hpb=a1fe8fd19bb4f558150e52c0624869667b739877;p=rrdtool.git diff --git a/src/rrd_tool.h b/src/rrd_tool.h index 426cef8..6663c56 100644 --- a/src/rrd_tool.h +++ b/src/rrd_tool.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.0.33 Copyright Tobias Oetiker, 1997 - 2000 + * RRDtool 1.2.23 Copyright by Tobi Oetiker, 1997-2007 ***************************************************************************** * rrd_tool.h Common Header File *****************************************************************************/ @@ -11,12 +11,10 @@ extern "C" { #ifndef _RRD_TOOL_H #define _RRD_TOOL_H -#ifdef WIN32 -# include "ntconfig.h" -#else #ifdef HAVE_CONFIG_H -#include -#endif +#include "../rrd_config.h" +#elif defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) +#include "../win32/config.h" #endif #ifdef MUST_DISABLE_SIGFPE @@ -26,12 +24,11 @@ extern "C" { #ifdef MUST_DISABLE_FPMASK #include #endif - + #include #include #include #include -#include #include #if HAVE_SYS_PARAM_H @@ -45,15 +42,55 @@ extern "C" { #if HAVE_MATH_H # include #endif +/* Sorry: don't know autoconf as well how to check the exist of + dirent.h ans sys/stat.h +*/ + +#if HAVE_DIRENT_H +# include +# define NAMLEN(dirent) strlen((dirent)->d_name) +#else +# define dirent direct +# define NAMLEN(dirent) (dirent)->d_namlen +# if HAVE_SYS_NDIR_H +# include +# endif +# if HAVE_SYS_DIR_H +# include +# endif +# if HAVE_NDIR_H +# include +# endif +#endif + +#if HAVE_SYS_TYPES_H +# include +#endif + +#if HAVE_SYS_STAT_H +# include +#endif + #if HAVE_UNISTD_H # include #endif -#if HAVE_SYS_TIME_H + +#if TIME_WITH_SYS_TIME # include +# include +#else +# if HAVE_SYS_TIME_H +# include +# else +# include +# endif #endif + #if HAVE_SYS_TIMES_H # include #endif + + #if HAVE_SYS_RESOURCE_H # include #if (defined(__svr4__) && defined(__sun__)) @@ -65,25 +102,29 @@ extern int getrusage(int, struct rusage *); #include "rrd.h" -#ifndef WIN32 +#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) -/* unix-only includes */ -#ifndef isnan -int isnan(double value); -#endif +/* 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); #else -/* Win32 only includes */ +/* unix-only includes */ +#if !defined isnan && !defined HAVE_ISNAN +int isnan(double value); +#endif -#include /* for _isnan */ -#define isnan _isnan -#define finite _finite -#define isinf(a) (_fpclass(a) == _FPCLASS_NINF || _fpclass(a) == _FPCLASS_PINF) #endif /* local include files -- need to be after the system ones */ -#include "getopt.h" +#include "rrd_getopt.h" #include "rrd_format.h" #ifndef max @@ -99,12 +140,14 @@ int isnan(double value); /* rrd info interface */ enum info_type { RD_I_VAL=0, RD_I_CNT, - RD_I_STR }; + 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 { @@ -114,17 +157,19 @@ typedef struct info_t { 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); /* HELPER FUNCTIONS */ -int GifSize(FILE *, long *, long *); -int PngSize(FILE *, long *, long *); int PngSize(FILE *, long *, long *); -int rrd_create_fn(char *file_name, rrd_t *rrd); -int rrd_fetch_fn(char *filename, enum cf_en cf_idx, +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, @@ -132,19 +177,25 @@ int rrd_fetch_fn(char *filename, enum cf_en cf_idx, rrd_value_t **data); void rrd_free(rrd_t *rrd); +void rrd_freemem(void *mem); void rrd_init(rrd_t *rrd); -int rrd_open(char *file_name, FILE **in_file, rrd_t *rrd, int rdwr); -int readfile(char *file, char **buffer, int skipfirst); +int rrd_open(const char *file_name, FILE **in_file, rrd_t *rrd, int rdwr); +int readfile(const char *file, char **buffer, int skipfirst); #define RRD_READONLY 0 #define RRD_READWRITE 1 -enum cf_en cf_conv(char *string); +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); + #endif #ifdef __cplusplus