fix the exit status for the proto-shell task, use WEXITSTATUS
[project/netifd.git] / device.h
index 8d610c9..057506b 100644 (file)
--- a/device.h
+++ b/device.h
@@ -62,6 +62,7 @@ struct device {
        bool config_pending;
        bool present;
        int active;
+       bool external;
 
        bool current_config;
        bool default_config;
@@ -100,6 +101,8 @@ struct device_user {
        struct list_head list;
 
        bool claimed;
+       bool hotplug;
+
        struct device *dev;
        void (*cb)(struct device_user *, enum device_event);
 };
@@ -113,18 +116,25 @@ extern const struct config_param_list device_attr_list;
 extern const struct device_type simple_device_type;
 extern const struct device_type bridge_device_type;
 
+void device_lock(void);
+void device_unlock(void);
+
 struct device *device_create(const char *name, const struct device_type *type,
                             struct blob_attr *config);
 void device_init_settings(struct device *dev, struct blob_attr **tb);
 void device_init_pending(void);
 
+enum dev_change_type
+device_set_config(struct device *dev, const struct device_type *type,
+                 struct blob_attr *attr);
+
 void device_reset_config(void);
 void device_reset_old(void);
 
 void device_init_virtual(struct device *dev, const struct device_type *type, const char *name);
 int device_init(struct device *iface, const struct device_type *type, const char *ifname);
 void device_cleanup(struct device *iface);
-struct device *device_get(const char *name, bool create);
+struct device *device_get(const char *name, int create);
 void device_add_user(struct device_user *dep, struct device *iface);
 void device_remove_user(struct device_user *dep);
 
@@ -143,5 +153,6 @@ device_free(struct device *dev)
 void device_free_unused(struct device *dev);
 
 struct device *get_vlan_device_chain(const char *ifname, bool create);
+void alias_notify_device(const char *name, struct device *dev);
 
 #endif