#include <libubox/utils.h>
#include "interface.h"
-struct vlist_tree wireless_devices;
-struct avl_tree wireless_drivers;
+extern struct vlist_tree wireless_devices;
+extern struct avl_tree wireless_drivers;
struct wireless_driver {
struct avl_node node;
struct ubus_request_data *kill_request;
+ struct blob_attr *prev_config;
struct blob_attr *config;
struct blob_attr *data;
bool config_autostart;
bool autostart;
+ bool disabled;
enum interface_state state;
enum interface_config_state config_state;
struct blob_attr *data;
const char *ifname;
- const char *network;
+ struct blob_attr *network;
+ bool isolate;
+ bool ap_mode;
};
struct wireless_process {
void wireless_device_set_up(struct wireless_device *wdev);
void wireless_device_set_down(struct wireless_device *wdev);
void wireless_device_status(struct wireless_device *wdev, struct blob_buf *b);
+void wireless_device_get_validate(struct wireless_device *wdev, struct blob_buf *b);
void wireless_interface_create(struct wireless_device *wdev, struct blob_attr *data, const char *section);
int wireless_device_notify(struct wireless_device *wdev, struct blob_attr *data,
struct ubus_request_data *req);
void wireless_start_pending(void);
+void wireless_init(void);
#endif