*/
extern struct uci_context *uci_alloc_context(void);
+extern struct uci_option *uci_alloc_option(struct uci_section *s, const char *name, const char *value);
+
/**
* uci_free_context: Free the uci context including all of its data
*/
*/
extern int uci_add_section(struct uci_context *ctx, struct uci_package *p, const char *type, struct uci_section **res);
+extern int uci_add_named_section(struct uci_context *ctx, struct uci_package *p, const char *type, const char *name, struct uci_section **res);
+
/**
* uci_set: Set an element's value; create the element if necessary
* @ctx: uci context
return NULL;
}
+static inline const char *
+uci_lookup_option_string(struct uci_context *ctx, struct uci_section *s, const char *name)
+{
+ struct uci_option *o;
+
+ o = uci_lookup_option(ctx, s, name);
+ if (!o || o->type != UCI_TYPE_STRING)
+ return NULL;
+
+ return o->v.string;
+}
+
#endif