summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/driver.h3
-rw-r--r--include/element.h17
2 files changed, 19 insertions, 1 deletions
diff --git a/include/driver.h b/include/driver.h
index f4c6187a..61ec465f 100644
--- a/include/driver.h
+++ b/include/driver.h
@@ -44,7 +44,8 @@ struct connman_driver {
int priority;
int (*probe) (struct connman_element *element);
void (*remove) (struct connman_element *element);
- int (*update) (struct connman_element *element);
+ void (*update) (struct connman_element *element);
+ void (*change) (struct connman_element *element);
};
extern int connman_driver_register(struct connman_driver *driver);
diff --git a/include/element.h b/include/element.h
index d8fa88c1..bc6a2a9e 100644
--- a/include/element.h
+++ b/include/element.h
@@ -56,6 +56,19 @@ enum connman_element_type {
CONNMAN_ELEMENT_TYPE_VENDOR = 10000,
};
+enum connman_element_state {
+ CONNMAN_ELEMENT_STATE_UNKNOWN = 0,
+ CONNMAN_ELEMENT_STATE_ERROR = 1,
+ CONNMAN_ELEMENT_STATE_IDLE = 2,
+ CONNMAN_ELEMENT_STATE_DONE = 3,
+};
+
+enum connman_element_error {
+ CONNMAN_ELEMENT_ERROR_UNKNOWN = 0,
+ CONNMAN_ELEMENT_ERROR_FAILED = 1,
+ CONNMAN_ELEMENT_ERROR_DHCP_FAILED = 2,
+};
+
struct connman_driver;
struct connman_element {
@@ -64,6 +77,8 @@ struct connman_element {
gchar *name;
gchar *path;
enum connman_element_type type;
+ enum connman_element_state state;
+ enum connman_element_error error;
gboolean enabled;
gboolean configuring;
gchar *devname;
@@ -122,6 +137,8 @@ extern void connman_element_update(struct connman_element *element);
extern int connman_element_set_enabled(struct connman_element *element,
gboolean enabled);
+extern void connman_element_set_error(struct connman_element *element,
+ enum connman_element_error error);
static inline void *connman_element_get_data(struct connman_element *element)
{