sd-dhcp6-client: introduce direct getter and setter of DUID
This commit is contained in:
@@ -268,6 +268,26 @@ int sd_dhcp6_client_set_duid_raw(sd_dhcp6_client *client, uint16_t duid_type, co
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sd_dhcp6_client_set_duid(sd_dhcp6_client *client, const sd_dhcp_duid *duid) {
|
||||
assert_return(client, -EINVAL);
|
||||
assert_return(!sd_dhcp6_client_is_running(client), -EBUSY);
|
||||
assert_return(sd_dhcp_duid_is_set(duid), -EINVAL);
|
||||
|
||||
client->duid = *duid;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sd_dhcp6_client_get_duid(sd_dhcp6_client *client, const sd_dhcp_duid **ret) {
|
||||
assert_return(client, -EINVAL);
|
||||
assert_return(ret, -EINVAL);
|
||||
|
||||
if (!sd_dhcp_duid_is_set(&client->duid))
|
||||
return -ENODATA;
|
||||
|
||||
*ret = &client->duid;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sd_dhcp6_client_duid_as_string(
|
||||
sd_dhcp6_client *client,
|
||||
char **duid) {
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "sd-device.h"
|
||||
#include "sd-dhcp-duid.h"
|
||||
#include "sd-dhcp6-lease.h"
|
||||
#include "sd-dhcp6-option.h"
|
||||
#include "sd-event.h"
|
||||
@@ -68,6 +69,8 @@ int sd_dhcp6_client_set_duid_ll(sd_dhcp6_client *client);
|
||||
int sd_dhcp6_client_set_duid_en(sd_dhcp6_client *client);
|
||||
int sd_dhcp6_client_set_duid_uuid(sd_dhcp6_client *client);
|
||||
int sd_dhcp6_client_set_duid_raw(sd_dhcp6_client *client, uint16_t duid_type, const uint8_t *duid, size_t duid_len);
|
||||
int sd_dhcp6_client_set_duid(sd_dhcp6_client *client, const sd_dhcp_duid *duid);
|
||||
int sd_dhcp6_client_get_duid(sd_dhcp6_client *client, const sd_dhcp_duid **ret);
|
||||
int sd_dhcp6_client_set_iaid(
|
||||
sd_dhcp6_client *client,
|
||||
uint32_t iaid);
|
||||
|
||||
Reference in New Issue
Block a user