X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fconfigfile.h;h=aca58770efbdc9dbd530d06b399fd2d6510158f2;hb=275bc6640dfc2ba747dd64884d9e91191f06fa82;hp=fec1cf4be6bd1965d9d056cc94534f039b7e1467;hpb=ae8e8fdb8913818a33e9bf139c55fbe448c3a105;p=collectd.git diff --git a/src/configfile.h b/src/configfile.h index fec1cf4b..aca58770 100644 --- a/src/configfile.h +++ b/src/configfile.h @@ -1,3 +1,5 @@ +#ifndef CONFIGFILE_H +#define CONFIGFILE_H /** * collectd - src/configfile.h * Copyright (C) 2005,2006 Florian octo Forster @@ -20,8 +22,8 @@ * Florian octo Forster **/ -#ifndef CONFIGFILE_H -#define CONFIGFILE_H +#include "collectd.h" +#include "liboconfig/oconfig.h" /* * DESCRIPTION @@ -32,6 +34,7 @@ * `plugin_register' */ void cf_unregister (const char *type); +void cf_unregister_complex (const char *type); /* * DESCRIPTION @@ -61,20 +64,7 @@ void cf_register (const char *type, int (*callback) (const char *, const char *), const char **keys, int keys_num); -/* - * DESCRIPTION - * `cf_get_option' returns various general options. - * - * PARAMETERS - * `key' Name of the option to query. - * `def' Pointer to return as default value. - * - * RETURN VALUE - * The pointer returned is part of an internal structure and may not be - * changed. If the option is not found for whatever reason (wrong key, option - * not allowed for currently selected mode, ...) `NULL' is returned. - */ -char *cf_get_option (const char *key, char *def); +int cf_register_complex (const char *type, int (*callback) (oconfig_item_t *)); /* * DESCRIPTION @@ -93,4 +83,12 @@ char *cf_get_option (const char *key, char *def); */ 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) */