Compile time improvments for NetWare and Win32 -- Guenter Knauf gk.gknw.de
[rrdtool.git] / src / rrd_tool.h
index 92c99ae..350183b 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * RRDtool 1.0.33  Copyright Tobias Oetiker, 1997 - 2000
+ * RRDtool 1.2.12  Copyright by Tobi Oetiker, 1997-2005
  *****************************************************************************
  * rrd_tool.h   Common Header File
  *****************************************************************************/
@@ -11,7 +11,7 @@ extern "C" {
 #ifndef _RRD_TOOL_H
 #define _RRD_TOOL_H
 
-#ifdef WIN32
+#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__) && !defined(HAVE_CONFIG_H)
 #include "../confignt/config.h"
 #else
 #ifdef HAVE_CONFIG_H
@@ -95,18 +95,18 @@ extern int getrusage(int, struct rusage *);
 
 #include "rrd.h"
 
-#ifndef WIN32
-
-/* unix-only includes */
-#ifndef isnan
-int isnan(double value);
-#endif
-
-#else
+#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
 
 /* Win32 only includes */
 
 #include <float.h>        /* for _isnan  */
+#include <io.h>           /* for chdir   */
+#ifdef __MINGW32__
+#define localtime_r(a,b) localtime(a)
+#define ctime_r(a,b) ctime(a)
+#define gmtime_r(a,b) gmtime(a)
+#define strtok_r(a,b,c) strtok(a,b)
+#else
 #define isnan _isnan
 #define finite _finite
 #define isinf(a) (_fpclass(a) == _FPCLASS_NINF || _fpclass(a) == _FPCLASS_PINF)
@@ -116,6 +116,15 @@ struct tm* gmtime_r(const time_t *timep, struct tm* result);
 char *strtok_r(char *str, const char *sep, char **last);
 #endif
 
+#else
+
+/* unix-only includes */
+#ifndef isnan
+int isnan(double value);
+#endif
+
+#endif
+
 /* local include files -- need to be after the system ones */
 #include "getopt.h"
 #include "rrd_format.h"
@@ -140,7 +149,7 @@ typedef union infoval {
     unsigned long u_cnt; 
     rrd_value_t   u_val;
     char         *u_str;
-       int                       u_int;
+    int                  u_int;
 } infoval;
 
 typedef struct info_t {
@@ -171,10 +180,8 @@ 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);
+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
@@ -189,9 +196,6 @@ double rrd_diff(char *a, char *b);
        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