summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/service.h3
-rw-r--r--src/element.c2
-rw-r--r--src/service.c5
3 files changed, 8 insertions, 2 deletions
diff --git a/include/service.h b/include/service.h
index c173a91b..781ee0c1 100644
--- a/include/service.h
+++ b/include/service.h
@@ -67,7 +67,8 @@ enum connman_service_state {
};
enum connman_service_error {
- CONNMAN_SERVICE_ERROR_UNKNOWN = 0,
+ CONNMAN_SERVICE_ERROR_UNKNOWN = 0,
+ CONNMAN_SERVICE_ERROR_DHCP_FAILED = 1,
};
struct connman_service;
diff --git a/src/element.c b/src/element.c
index 6e44ec4c..81f5eafa 100644
--- a/src/element.c
+++ b/src/element.c
@@ -1334,7 +1334,7 @@ static enum connman_service_error convert_error(enum connman_element_error error
case CONNMAN_ELEMENT_ERROR_FAILED:
break;
case CONNMAN_ELEMENT_ERROR_DHCP_FAILED:
- return CONNMAN_SERVICE_ERROR_UNKNOWN;
+ return CONNMAN_SERVICE_ERROR_DHCP_FAILED;
}
return CONNMAN_SERVICE_ERROR_UNKNOWN;
diff --git a/src/service.c b/src/service.c
index 8b6a2c3e..94ef22dd 100644
--- a/src/service.c
+++ b/src/service.c
@@ -1278,6 +1278,8 @@ static const char *error2string(enum connman_service_error error)
switch (error) {
case CONNMAN_SERVICE_ERROR_UNKNOWN:
break;
+ case CONNMAN_SERVICE_ERROR_DHCP_FAILED:
+ return "dhcp-failed";
}
return NULL;
@@ -1285,6 +1287,9 @@ static const char *error2string(enum connman_service_error error)
static enum connman_service_error string2error(const char *error)
{
+ if (g_strcmp0(error, "dhcp-failed") == 0)
+ return CONNMAN_SERVICE_ERROR_DHCP_FAILED;
+
return CONNMAN_SERVICE_ERROR_UNKNOWN;
}