Add rrd_update_v_r to librrd -- Frederik Kriewitz
[rrdtool.git] / src / rrd.h
index 90286d1..91bf660 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.3  Copyright by Tobi Oetiker, 1997-2010
  *****************************************************************************
  * rrdlib.h   Public header file for librrd
  *****************************************************************************
@@ -130,6 +130,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(
@@ -208,7 +212,7 @@ extern    "C" {
     unsigned long *,
     char ***,
     rrd_value_t **);
-    int       rrd_cmd_flush (int argc, char **argv);
+    int       rrd_flushcached (int argc, char **argv);
 
     void      rrd_freemem(
     void *mem);
@@ -222,14 +226,20 @@ extern    "C" {
     const char **argv);
     rrd_info_t *rrd_info_r(
     char *);
-/* NOTE: rrd_update_r are only thread-safe if no at-style time
-   specifications get used!!! */
+/* NOTE: rrd_update_r and rrd_update_v_r are only thread-safe if no at-style
+   time specifications get used!!! */
 
     int       rrd_update_r(
     const char *filename,
     const char *_template,
     int argc,
     const char **argv);
+    int       rrd_update_v_r(
+    const char *filename,
+    const char *_template,
+    int argc,
+    const char **argv,
+    rrd_info_t * pcdp_summary);
     int rrd_fetch_r (
             const char *filename,
             const char *cf,
@@ -252,6 +262,12 @@ 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,
@@ -283,13 +299,13 @@ extern    "C" {
 #ifdef WIN32
 /* this was added by the win32 porters Christof.Wegmann@exitgames.com */
     rrd_context_t *rrd_force_new_context(void);
+#endif
 
-    int       rrd_proc_start_end(
+int       rrd_proc_start_end(
     rrd_time_value_t *,
     rrd_time_value_t *,
     time_t *,
     time_t *);
-#endif
 
 /* HELPER FUNCTIONS */
     void      rrd_set_error(
@@ -319,6 +335,20 @@ extern    "C" {
 /* int    rrd_test_error_r (rrd_context_t *); */
 /* char  *rrd_get_error_r  (rrd_context_t *); */
 
+/** UTILITY FUNCTIONS */
+
+    long rrd_random(void);
+
+    int rrd_add_ptr_chunk(void ***dest, size_t *dest_size, void *src,
+                          size_t *alloc, size_t chunk);
+    int rrd_add_ptr(void ***dest, size_t *dest_size, void *src);
+    int rrd_add_strdup(char ***dest, size_t *dest_size, char *src);
+    int rrd_add_strdup_chunk(char ***dest, size_t *dest_size, char *src,
+                             size_t *alloc, size_t chunk);
+    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