#ifndef _PLUGINS_H_ #define _PLUGINS_H_ #include #include "list.h" #include "logging.h" #define PLUGIN_RRD 0x01 #define PLUGIN_NET 0x02 struct sammler_plugin { struct list_head list; const char *name; /* timing */ unsigned int interval; time_t lastprobe; /* scratchpad memory */ int bufsize; char *buffer; int (*init) (void); int (*fini) (void); int (*probe) (void); const char * (*get_ds) (int ds_id); }; int plugin_init(int flags); void plugins_probe(void); struct sammler_plugin * plugin_lookup(const char *name); int probe_submit(struct sammler_plugin *plugin, const char *filename, int ds_id, const char *fmt, ... ); #endif /* _PLUGINS_H_ */