X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuci.git;a=blobdiff_plain;f=ucimap.h;h=94095009aed5066f8c4f40a331555e8c277fc35d;hp=001ae1b206338f426cc3debe6c2abf02ef16c0ab;hb=7af0c0eda078866cc0e61e2f437273809ed27596;hpb=43ff3a3a5489f214ddcabefe375215148e534f84 diff --git a/ucimap.h b/ucimap.h index 001ae1b..9409500 100644 --- a/ucimap.h +++ b/ucimap.h @@ -42,6 +42,7 @@ struct uci_sectmap; struct uci_optmap; +struct ucimap_list; struct uci_map { struct uci_sectmap **sections; @@ -66,17 +67,17 @@ enum ucimap_type { UCIMAP_SUBTYPE = 0xf, /* subtype mask */ }; -union uci_datamap { +union ucimap_data { int i; bool b; const char *s; void *section; - struct list_head list; + struct ucimap_list *list; }; struct uci_listmap { struct list_head list; - union uci_datamap data; + union ucimap_data data; }; struct uci_sectmap { @@ -118,6 +119,11 @@ struct uci_optmap { } data; }; +struct ucimap_list { + int n_items; + union ucimap_data item[]; +}; + extern int ucimap_init(struct uci_map *map); extern void ucimap_cleanup(struct uci_map *map); extern void ucimap_set_changed(void *section, void *field);