return 0;
}
-static int (*str_to_parser(const char *str))(char *rrd_data, void *parser_data)
+static int (*str_to_parser(const char *str))(char *rrd_data, const char **parser_data)
{
if (!str)
return NULL;
CONFIG_ADD_INT(group, setting, "rows", archive->rows);
}
-static char *parser_to_str(int (*parser)(char *rrd_data, void *parser_data))
+static char *parser_to_str(int (*parser)(char *rrd_data, const char **parser_data))
{
if (parser == cpu_parser)
return "cpu";
#define STATFILE "/proc/stat"
-int cpu_parser(char *data, void *p)
+int cpu_parser(char *data, const char **p)
{
char buf[1024];
char *str = buf;
#define MEMFILE "/proc/meminfo"
-int mem_parser(char *data, void *p)
+int mem_parser(char *data, const char **p)
{
char buf[1024], word[1024];
int free = 0, buffered = 0, cache = 0, active = 0, inactive = 0,
return 0;
}
-int cpu_mem_parser(char *data, void *p)
+int cpu_mem_parser(char *data, const char **p)
{
char cpu[1024], mem[1024];
return 0;
}
-int digitemp_parser(char *data, void *p)
+int digitemp_parser(char *data, const char **p)
{
const char digitemp_cmd[] = "/usr/bin/digitemp";
char *const digitemp_args[] = { "", "-o2", "-a", "-q", 0 };
return 0;
}
-int digitemp_parser_mod(char *data, void *p)
+int digitemp_parser_mod(char *data, const char **p)
{
char buf[1024];
int ret;
}
/* Run a command and feed the output from stdout directly to rrdtool */
-int script_parser(char *rrd_data, void *parser_data)
+int script_parser(char *rrd_data, const char **parser_data)
{
FILE *readf;
- char **cmd = parser_data;
int pid, ret;
+ void *tmp = parser_data;
+ char **cmd = tmp;
pid = run_piped_stream(cmd[0], &cmd[1], NULL, &readf, NULL);
ret = fread(rrd_data, RRD_DATA_MAX_LEN, 1, readf);
return -ENODEV;
}
-int netstats_parser(char *rrd_data, void *parser_data)
+int netstats_parser(char *rrd_data, const char **parser_data)
{
struct iface_stats stat;
- char **iface_name = parser_data, *original = rrd_data;
+ const char **iface_name = parser_data;
+ char *original = rrd_data;
int max_str = RRD_DATA_MAX_LEN;
int ret;
#define RRD_DATA_MAX_LEN 4096
-int cpu_parser(char *data, void *p);
-int mem_parser(char *data, void *p);
-int cpu_mem_parser(char *data, void *p);
-int digitemp_parser(char *data, void *p);
-int digitemp_parser_mod(char *data, void *p);
-int script_parser(char *rrd_data, void *parser_data);
-int netstats_parser(char *rrd_data, void *parser_data);
+int cpu_parser(char *data, const char **p);
+int mem_parser(char *data, const char **p);
+int cpu_mem_parser(char *data, const char **p);
+int digitemp_parser(char *data, const char **p);
+int digitemp_parser_mod(char *data, const char **p);
+int script_parser(char *rrd_data, const char **parser_data);
+int netstats_parser(char *rrd_data, const char **parser_data);
#endif