Code

introduce "epoch" as a new base time reference, meaning timestamp 0.
[rrdtool.git] / src / rrd.h
index 412e20abe592823aa868730569964ce06b28d46c..79a8bd26c696b8709274839d4cc04c905de871f8 100644 (file)
--- a/src/rrd.h
+++ b/src/rrd.h
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * RRDtool 1.3.2  Copyright by Tobi Oetiker, 1997-2008
+ * RRDtool 1.4.4  Copyright by Tobi Oetiker, 1997-2010
  *****************************************************************************
  * rrdlib.h   Public header file for librrd
  *****************************************************************************
@@ -57,6 +57,10 @@ extern    "C" {
 #ifndef WIN32
 #include <unistd.h>     /* for off_t */
 #else
+#ifdef _MSC_VER
+       typedef int mode_t;
+       #define strtoll _strtoi64 
+#endif
        typedef size_t ssize_t;
        typedef long off_t;
 #endif 
@@ -130,6 +134,10 @@ extern    "C" {
         struct rrd_info_t *next;
     } rrd_info_t;
 
+    typedef size_t (* rrd_output_callback_t)(
+    const void *,
+    size_t,
+    void *);
 
 /* main function blocks */
     int       rrd_create(
@@ -252,11 +260,18 @@ extern    "C" {
     const char *filename,
     int rraindex);
 
+    int rrd_dump_cb_r(
+    const char *filename,
+    int opt_header,
+    rrd_output_callback_t cb,
+    void *user);
+
 /* Transplanted from rrd_parsetime.h */
     typedef enum {
         ABSOLUTE_TIME,
         RELATIVE_TO_START_TIME,
-        RELATIVE_TO_END_TIME
+        RELATIVE_TO_END_TIME,
+        RELATIVE_TO_EPOCH
     } rrd_timetype_t;
 
 #define TIME_OK NULL
@@ -327,6 +342,8 @@ int       rrd_proc_start_end(
     int rrd_add_strdup(char ***dest, size_t *dest_size, char *src);
     void rrd_free_ptrs(void ***src, size_t *cnt);
 
+    int rrd_mkdir_p(const char *pathname, mode_t mode);
+
 /*
  * The following functions are _internal_ functions needed to read the raw RRD
  * files. Since they are _internal_ they may change with the file format and