+#ifndef CONFIGFILE_H
+#define CONFIGFILE_H
/**
* collectd - src/configfile.h
- * Copyright (C) 2005 Florian octo Forster
+ * Copyright (C) 2005,2006 Florian octo Forster
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Florian octo Forster <octo at verplant.org>
**/
-#ifndef CONFIGFILE_H
-#define CONFIGFILE_H
+#include "collectd.h"
+#include "liboconfig/oconfig.h"
/*
* DESCRIPTION
* `type' Name of the plugin (must be the same as passed to
* `plugin_register'
*/
-void cf_unregister (char *type);
+void cf_unregister (const char *type);
+void cf_unregister_complex (const char *type);
/*
* DESCRIPTION
* `cf_register' is called by plugins that wish to receive config keys. The
* plugin will then receive all keys it registered for if they're found in a
- * `<Moudle $type>' section.
+ * `<Plugin $type>' section.
*
* PARAMETERS
* `type' Name of the plugin (must be the same as passed to
* exists for each `type' at any time. This means that `cf_register' may be
* called multiple times, but only the last call will have an effect.
*/
-void cf_register (char *type,
- int (*callback) (char *, char *),
- char **keys, int keys_num);
+void cf_register (const char *type,
+ int (*callback) (const char *, const char *),
+ const char **keys, int keys_num);
+
+int cf_register_complex (const char *type, int (*callback) (oconfig_item_t *));
/*
* DESCRIPTION
* information to functions/variables. Most important: Is calls `plugin_load'
* to load specific plugins, depending on the current mode of operation.
*
+ * PARAMETERS
+ * `filename' An additional filename to look for. This function calls
+ * `lc_process' which already searches many standard locations..
+ * If set to NULL will use the `CONFIGFILE' define.
+ *
* RETURN VALUE
* Returns zero upon success and non-zero otherwise. A error-message will have
* been printed in this case.
*/
int cf_read (char *filename);
+int global_option_set (const char *option, const char *value);
+const char *global_option_get (const char *option);
+
#endif /* defined(CONFIGFILE_H) */