struct uci_sectionmap;
struct uci_optmap;
struct ucimap_list;
+struct uci_alloc;
+struct uci_alloc_custom;
struct uci_map {
struct uci_sectionmap **sections;
bool b;
char *s;
void *ptr;
+ void **data;
struct ucimap_list *list;
};
/* list of allocations done by ucimap */
struct uci_alloc *allocmap;
- unsigned long allocmap_len;
+ struct uci_alloc_custom *alloc_custom;
+ unsigned int allocmap_len;
+ unsigned int alloc_custom_len;
/* map for changed fields */
unsigned char *cmap;
int detected_type;
int (*parse)(void *section, struct uci_optmap *om, union ucimap_data *data, const char *string);
int (*format)(void *section, struct uci_optmap *om, union ucimap_data *data, char **string);
+ void (*free)(void *section, struct uci_optmap *om, void *ptr);
union {
struct {
int base;