X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fuci.git;a=blobdiff_plain;f=uci.h;h=26cc3b7016816b22c381d88d37784f6e18cd0848;hp=4706255db9dc66da1789bc66b37d03511a1c9243;hb=143aee566ef51011e45f66e2a18c8361270ac31f;hpb=f57d582f15c0ead3b600cb999ca298390957f597 diff --git a/uci.h b/uci.h index 4706255..26cc3b7 100644 --- a/uci.h +++ b/uci.h @@ -50,6 +50,11 @@ struct uci_parse_context; extern struct uci_context *uci_alloc(void); /** + * uci_free: Free the uci context including all of its data + */ +extern void uci_free(struct uci_context *ctx); + +/** * uci_perror: Print the last uci error that occured * @ctx: uci context * @str: string to print before the error message @@ -62,15 +67,21 @@ extern void uci_perror(struct uci_context *ctx, const char *str); * @ctx: uci context * @name: name of the config file (relative to the config directory) */ -int uci_load(struct uci_context *ctx, const char *name); +extern int uci_load(struct uci_context *ctx, const char *name); /** * uci_cleanup: Clean up after an error * * @ctx: uci context */ -int uci_cleanup(struct uci_context *ctx); +extern int uci_cleanup(struct uci_context *ctx); +/** + * uci_list_configs: List available uci config files + * + * @ctx: uci context + */ +extern char **uci_list_configs(struct uci_context *ctx); /* UCI data structures */ @@ -84,8 +95,6 @@ struct uci_context /* private: */ int errno; jmp_buf trap; - jmp_buf trap_saved; - int saved; }; struct uci_parse_context @@ -97,6 +106,7 @@ struct uci_parse_context struct uci_config *cfg; FILE *file; char *buf; + char *reason; int bufsz; };