From d8c51121bb3fe7ee17a06419c91854abd3f7941f Mon Sep 17 00:00:00 2001 From: Patrik Flykt Date: Thu, 6 Sep 2018 11:31:48 -0600 Subject: [PATCH] dhcp6_client: Add helper for fetching Prefix Delegation information Add helper function for fetching enabled/disabled state of Prefix Delegation for a DHCPv6 client. Update function setting prefix delegation to use an int instead of a boolean. --- src/libsystemd-network/sd-dhcp6-client.c | 11 ++++++++++- src/systemd/sd-dhcp6-client.h | 5 +++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c index a99ddaae9d..20e19be3bc 100644 --- a/src/libsystemd-network/sd-dhcp6-client.c +++ b/src/libsystemd-network/sd-dhcp6-client.c @@ -325,7 +325,16 @@ int sd_dhcp6_client_set_request_option(sd_dhcp6_client *client, uint16_t option) return 0; } -int sd_dhcp6_client_set_prefix_delegation(sd_dhcp6_client *client, bool delegation) { +int sd_dhcp6_client_get_prefix_delegation(sd_dhcp6_client *client, int *delegation) { + assert_return(client, -EINVAL); + assert_return(delegation, -EINVAL); + + *delegation = client->prefix_delegation; + + return 0; +} + +int sd_dhcp6_client_set_prefix_delegation(sd_dhcp6_client *client, int delegation) { assert_return(client, -EINVAL); client->prefix_delegation = delegation; diff --git a/src/systemd/sd-dhcp6-client.h b/src/systemd/sd-dhcp6-client.h index fa36dca909..b7e0db1d6c 100644 --- a/src/systemd/sd-dhcp6-client.h +++ b/src/systemd/sd-dhcp6-client.h @@ -21,7 +21,6 @@ #include #include -#include #include #include "sd-dhcp6-lease.h" @@ -120,8 +119,10 @@ int sd_dhcp6_client_get_information_request( int sd_dhcp6_client_set_request_option( sd_dhcp6_client *client, uint16_t option); +int sd_dhcp6_client_get_prefix_delegation(sd_dhcp6_client *client, + int *delegation); int sd_dhcp6_client_set_prefix_delegation(sd_dhcp6_client *client, - bool delegation); + int delegation); int sd_dhcp6_client_get_lease( sd_dhcp6_client *client,