diff --git a/program/src/rrd_tool.h b/program/src/rrd_tool.h
index 426cef81be214f79b5f44c0110a0ed9560ed21f3..6d7652b74d0bd507ad553bed09c564199d61b5f8 100644 (file)
--- a/program/src/rrd_tool.h
+++ b/program/src/rrd_tool.h
#define _RRD_TOOL_H
#ifdef WIN32
#define _RRD_TOOL_H
#ifdef WIN32
-# include "ntconfig.h"
+#include "../confignt/config.h"
#else
#ifdef HAVE_CONFIG_H
#include <config.h>
#else
#ifdef HAVE_CONFIG_H
#include <config.h>
#if HAVE_MATH_H
# include <math.h>
#endif
#if HAVE_MATH_H
# include <math.h>
#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 <dirent.h>
+# define NAMLEN(dirent) strlen((dirent)->d_name)
+#else
+# define dirent direct
+# define NAMLEN(dirent) (dirent)->d_namlen
+# if HAVE_SYS_NDIR_H
+# include <sys/ndir.h>
+# endif
+# if HAVE_SYS_DIR_H
+# include <sys/dir.h>
+# endif
+# if HAVE_NDIR_H
+# include <ndir.h>
+# endif
+#endif
+
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+
+
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
/* HELPER FUNCTIONS */
/* 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 PngSize(FILE *, long *, long *);
int rrd_create_fn(char *file_name, rrd_t *rrd);
rrd_value_t **data);
void rrd_free(rrd_t *rrd);
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);
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(char *file, char **buffer, int skipfirst);
+int readfile_r(char *file, char **buffer, int skipfirst);
#define RRD_READONLY 0
#define RRD_READWRITE 1
#define RRD_READONLY 0
#define RRD_READWRITE 1
long ds_match(rrd_t *rrd,char *ds_nam);
double rrd_diff(char *a, char *b);
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
#endif
#ifdef __cplusplus