X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=uci.h;h=035c0513d53c21fb9e376444b9f1d6452010b8c6;hb=HEAD;hp=1b2fd63eaa1f8f5780a31e24d0f875b792ab5af0;hpb=cb9a05e41a9d0ba3c54e4efdff98333b33b9ca9d;p=uci.git diff --git a/uci.h b/uci.h index 1b2fd63..035c051 100644 --- a/uci.h +++ b/uci.h @@ -73,6 +73,8 @@ struct uci_parse_context; */ 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 */ @@ -162,6 +164,8 @@ extern int uci_lookup_ptr(struct uci_context *ctx, struct uci_ptr *ptr, char *st */ 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 @@ -698,4 +702,16 @@ uci_lookup_option(struct uci_context *ctx, struct uci_section *s, const char *na 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