X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fecoli_config.h;h=96e47b322cdcc2454effbcee229426e1d1cf276a;hb=41be2fa5bc7520b4d9ba2028aa151ddfac8e62ed;hp=44e32c8e4a426ef9ba3a5a02a44dbdf72616d7be;hpb=6178ad591304a1d6de5eae9704bc8e0bd4218429;p=protos%2Flibecoli.git diff --git a/lib/ecoli_config.h b/lib/ecoli_config.h index 44e32c8..96e47b3 100644 --- a/lib/ecoli_config.h +++ b/lib/ecoli_config.h @@ -8,6 +8,7 @@ #include #include #include +#include #ifndef EC_COUNT_OF //XXX #define EC_COUNT_OF(x) ((sizeof(x)/sizeof(0[x])) / \ @@ -109,6 +110,16 @@ void ec_config_schema_dump(FILE *out, const struct ec_config_schema *schema, /* config */ +/** + * Get the type of the configuration. + * + * @param config + * The configuration. + * @return + * The configuration type. + */ +enum ec_config_type ec_config_get_type(const struct ec_config *config); + /** * Create a boolean configuration value. * @@ -264,7 +275,7 @@ int ec_config_cmp(const struct ec_config *config1, /** * Get configuration value. */ -struct ec_config *ec_config_get(const struct ec_config *config, +struct ec_config *ec_config_dict_get(const struct ec_config *config, const char *key); /** @@ -314,6 +325,17 @@ void ec_config_free(struct ec_config *config); int ec_config_cmp(const struct ec_config *value1, const struct ec_config *value2); +/** + * Duplicate a configuration. + * + * @param config + * The configuration to duplicate. + * @return + * The duplicated configuration, or NULL on error (errno is set). + */ +struct ec_config * +ec_config_dup(const struct ec_config *config); + /** * Dump a configuration. *