static struct uci_package *uci_network;
bool config_init = false;
static struct blob_buf b;
+static unsigned int config_version = 1;
static void uci_attr_to_blob(struct blob_buf *b, const char *str,
return 0;
}
+void
+config_set_state(struct config_state *state, struct blob_attr *attr)
+{
+ state->data = malloc(blob_pad_len(attr));
+ if (!state->data)
+ return;
+
+ memcpy(state->data, attr, blob_pad_len(attr));
+}
+
static void
config_parse_interface(struct uci_section *s)
{
uci_to_blob(&b, s, iface->proto_handler->config_params);
proto_init_interface(iface, b.head);
+ iface->config.version = config_version;
}
void
const struct config_param_list *next[];
};
+struct config_state {
+ struct blob_attr *data;
+ unsigned int version;
+};
+
+void config_set_state(struct config_state *state, struct blob_attr *attr);
+
+
#endif
/* interface that layer 3 communication will go through */
struct device_user *l3_iface;
+ struct config_state config;
+
/* primary protocol state */
const struct proto_handler *proto_handler;
struct interface_proto_state *proto;