bool config_pending;
bool present;
int active;
+ bool external;
bool current_config;
bool default_config;
struct list_head list;
bool claimed;
+ bool hotplug;
+
struct device *dev;
void (*cb)(struct device_user *, enum device_event);
};
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);