数据结构
/** 无线驱动对象 */
struct wireless_driver {
struct avl_node node;
const char *name;
const char *script;
struct {
char *buf;
struct uci_blob_param_list *config;
} device, interface;
};
/** 无线device对象 */
struct wireless_device {
struct vlist_node node;
struct wireless_driver *drv; /** wireless drive object */
struct vlist_tree interfaces;
char *name;
struct netifd_process script_task;
struct uloop_timeout timeout;
struct uloop_timeout poll;
struct list_head script_proc;
struct uloop_fd script_proc_fd;
struct uloop_timeout script_check;
struct ubus_request_data *kill_request;
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;
bool cancel;
int retry;
int vif_idx;
};
/** 无线i