more config accessor
authorOlivier Matz <zer0@droids-corp.org>
Sat, 11 Aug 2018 12:46:29 +0000 (14:46 +0200)
committerOlivier Matz <zer0@droids-corp.org>
Sat, 11 Aug 2018 12:46:29 +0000 (14:46 +0200)
lib/ecoli_config.c
lib/ecoli_config.h

index 63b5725..5a9a5fb 100644 (file)
@@ -375,6 +375,18 @@ ec_config_schema_lookup(const struct ec_config_schema *schema,
        return NULL;
 }
 
+enum ec_config_type
+ec_config_schema_type(const struct ec_config_schema *schema_elt)
+{
+       return schema_elt->type;
+}
+
+const struct ec_config_schema *
+ec_config_schema_sub(const struct ec_config_schema *schema_elt)
+{
+       return schema_elt->subschema;
+}
+
 void
 ec_config_free(struct ec_config *value)
 {
index 706af79..9d7c628 100644 (file)
@@ -113,6 +113,28 @@ const struct ec_config_schema *
 ec_config_schema_lookup(const struct ec_config_schema *schema,
                        const char *key);
 
+/**
+ * Get the type of a schema entry.
+ *
+ * @param schema_elt
+ *   Pointer to an element of the schema array.
+ * @return
+ *   The type of the schema entry.
+ */
+enum ec_config_type
+ec_config_schema_type(const struct ec_config_schema *schema_elt);
+
+/**
+ * Get the subschema of a schema entry.
+ *
+ * @param schema_elt
+ *   Pointer to an element of the schema array.
+ * @return
+ *   The subschema if any, or NULL.
+ */
+const struct ec_config_schema *
+ec_config_schema_sub(const struct ec_config_schema *schema_elt);
+
 /**
  * Check if a key name is reserved in a config dict.
  *