X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_tool.h;h=6d7652b74d0bd507ad553bed09c564199d61b5f8;hp=40e54806de2883375777229c15ee2cde0d6e3e63;hb=ed9474147fcf5bace60fd36b5c3ca3b4f1f8ac53;hpb=a278779cdf2ded56b89fc404d6914bff7ad7dcbd diff --git a/src/rrd_tool.h b/src/rrd_tool.h index 40e5480..6d7652b 100644 --- a/src/rrd_tool.h +++ b/src/rrd_tool.h @@ -12,7 +12,7 @@ extern "C" { #define _RRD_TOOL_H #ifdef WIN32 -# include "ntconfig.h" +#include "../confignt/config.h" #else #ifdef HAVE_CONFIG_H #include @@ -45,6 +45,36 @@ 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 @@ -118,12 +148,8 @@ typedef struct info_t { info_t *rrd_info(int, char **); /* HELPER FUNCTIONS */ -int GifSize(FILE *, long *, long *); -int PngSize(FILE *, long *, long *); -int PngSize(FILE *, long *, long *); -#include -void gdImagePng(gdImagePtr im, FILE *out); +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, @@ -134,10 +160,13 @@ 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 rrd_open_r(char *file_name, FILE **in_file, rrd_t *rrd, int rdwr); int readfile(char *file, char **buffer, int skipfirst); +int readfile_r(char *file, char **buffer, int skipfirst); #define RRD_READONLY 0 #define RRD_READWRITE 1 @@ -147,6 +176,14 @@ 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); + +/* just a defensive work-around... */ +#define strerror(x) rrd_strerror(x) + #endif #ifdef __cplusplus