]> git.itanic.dy.fi Git - rrdd/blobdiff - built_in_parsers.c
Allow parsers to store private data to databases
[rrdd] / built_in_parsers.c
index cce3f66865ab210b59c408792f61d5dfabb30aaa..bf65ee9ad62006ee69b21fce0ec80d4ed95125cf 100644 (file)
@@ -11,7 +11,7 @@
 
 #define STATFILE "/proc/stat"
 
-static int cpu_parser(char *data, const char **p)
+static int cpu_parser(char *data, const char **p, void **state)
 {
        char buf[1024];
        char *str = buf;
@@ -46,7 +46,7 @@ static int cpu_parser(char *data, const char **p)
 
 #define MEMFILE "/proc/meminfo"
 
-static int mem_parser(char *data, const char **p)
+static int mem_parser(char *data, const char **p, void **state)
 {
        char buf[1024], word[1024];
        int free = 0, buffered = 0, cache = 0, active = 0, inactive = 0,
@@ -106,19 +106,19 @@ static int mem_parser(char *data, const char **p)
        return 0;
 }
 
-int cpu_mem_parser(char *data, const char **p)
+int cpu_mem_parser(char *data, const char **p, void **state)
 {
        char cpu[RRD_DATA_MAX_LEN], mem[RRD_DATA_MAX_LEN];
 
-       cpu_parser(cpu, p);
-       mem_parser(mem, p);
+       cpu_parser(cpu, p, state);
+       mem_parser(mem, p, state);
        snprintf(data, RRD_DATA_MAX_LEN, "%s:%s", cpu, mem);
 
        return 0;
 }
 
 /* Run a command and feed the output from stdout directly to rrdtool */
-static int script_parser(char *rrd_data, const char **parser_data)
+static int script_parser(char *rrd_data, const char **parser_data, void **state)
 {
        FILE *readf;
        int pid, ret;
@@ -201,7 +201,7 @@ static int get_iface_stats(const char *iface, struct iface_stats *stat)
        return -ENODEV;
 }
 
-int netstats_parser(char *rrd_data, const char **parser_data)
+int netstats_parser(char *rrd_data, const char **parser_data, void **state)
 {
        struct iface_stats stat;
        const char **iface_name = parser_data;