X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fconfigfile.h;h=aca58770efbdc9dbd530d06b399fd2d6510158f2;hb=275bc6640dfc2ba747dd64884d9e91191f06fa82;hp=0802ba5ad60070e2081bf619f65763f91d4ce6b0;hpb=c1e47ad7b5e5e889fb86250f714b299e4bf8819f;p=collectd.git diff --git a/src/configfile.h b/src/configfile.h index 0802ba5a..aca58770 100644 --- a/src/configfile.h +++ b/src/configfile.h @@ -1,6 +1,8 @@ +#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 @@ -20,8 +22,8 @@ * Florian octo Forster **/ -#ifndef CONFIGFILE_H -#define CONFIGFILE_H +#include "collectd.h" +#include "liboconfig/oconfig.h" /* * DESCRIPTION @@ -31,13 +33,14 @@ * `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 - * `' section. + * `' section. * * PARAMETERS * `type' Name of the plugin (must be the same as passed to @@ -57,9 +60,11 @@ void cf_unregister (char *type); * 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 @@ -67,10 +72,23 @@ void cf_register (char *type, * 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); + +/* Assures the config option is a string, duplicates it and returns the copy in + * "ret_string". If necessary "*ret_string" is freed first. Returns zero upon + * success. */ +int cf_util_get_string (const oconfig_item_t *ci, char **ret_string); + #endif /* defined(CONFIGFILE_H) */