]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-dhcp6-client: add is_running() method
authorTom Gundersen <teg@jklm.no>
Tue, 10 Nov 2015 14:41:30 +0000 (15:41 +0100)
committerTom Gundersen <teg@jklm.no>
Wed, 11 Nov 2015 14:42:38 +0000 (15:42 +0100)
src/libsystemd-network/sd-dhcp6-client.c
src/systemd/sd-dhcp6-client.h

index e29de60d2489dba8fe9442d113cfcf599951dde0..e00ca2b00d0d96d058f60f85f4781824689d438e 100644 (file)
@@ -1115,11 +1115,19 @@ static int client_start(sd_dhcp6_client *client, enum DHCP6State state) {
 }
 
 int sd_dhcp6_client_stop(sd_dhcp6_client *client) {
+        assert_return(client, -EINVAL);
+
         client_stop(client, SD_DHCP6_CLIENT_EVENT_STOP);
 
         return 0;
 }
 
+int sd_dhcp6_client_is_running(sd_dhcp6_client *client) {
+        assert_return(client, -EINVAL);
+
+        return client->state != DHCP6_STATE_STOPPED;
+}
+
 int sd_dhcp6_client_start(sd_dhcp6_client *client) {
         int r = 0;
         enum DHCP6State state = DHCP6_STATE_SOLICITATION;
index 13182a481d92f3ba7f9282f7b705e79d742758ad..9f0e92806e7171f6705154f4a072f96921141b84 100644 (file)
@@ -62,6 +62,7 @@ int sd_dhcp6_client_get_lease(sd_dhcp6_client *client, sd_dhcp6_lease **ret);
 
 int sd_dhcp6_client_stop(sd_dhcp6_client *client);
 int sd_dhcp6_client_start(sd_dhcp6_client *client);
+int sd_dhcp6_client_is_running(sd_dhcp6_client *client);
 int sd_dhcp6_client_attach_event(sd_dhcp6_client *client, sd_event *event,
                                  int priority);
 int sd_dhcp6_client_detach_event(sd_dhcp6_client *client);