summaryrefslogtreecommitdiff
path: root/src/libsystemd-network/sd-dhcp6-lease.c
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2021-10-15 04:19:59 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2021-10-20 02:36:20 +0900
commit653ddc1d184b173698a4cf6ba780bdeada81bd60 (patch)
tree136b773cb4a7f31bb93300da3214ce624f09e1ef /src/libsystemd-network/sd-dhcp6-lease.c
parenta2ca8c54ccdb19de99a260a0bae369726254a4fd (diff)
downloadsystemd-653ddc1d184b173698a4cf6ba780bdeada81bd60.tar.gz
sd-dhcp6-client: introduce sd_dhcp6_lease_get_timestamp()
Diffstat (limited to 'src/libsystemd-network/sd-dhcp6-lease.c')
-rw-r--r--src/libsystemd-network/sd-dhcp6-lease.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libsystemd-network/sd-dhcp6-lease.c b/src/libsystemd-network/sd-dhcp6-lease.c
index c55b06d2f7..6c7ffc7999 100644
--- a/src/libsystemd-network/sd-dhcp6-lease.c
+++ b/src/libsystemd-network/sd-dhcp6-lease.c
@@ -11,6 +11,19 @@
#include "strv.h"
#include "util.h"
+int sd_dhcp6_lease_get_timestamp(sd_dhcp6_lease *lease, clockid_t clock, uint64_t *ret) {
+ assert_return(lease, -EINVAL);
+ assert_return(TRIPLE_TIMESTAMP_HAS_CLOCK(clock), -EOPNOTSUPP);
+ assert_return(clock_supported(clock), -EOPNOTSUPP);
+ assert_return(ret, -EINVAL);
+
+ if (!triple_timestamp_is_set(&lease->timestamp))
+ return -ENODATA;
+
+ *ret = triple_timestamp_by_clock(&lease->timestamp, clock);
+ return 0;
+}
+
int dhcp6_lease_ia_rebind_expire(const DHCP6IA *ia, uint32_t *expire) {
DHCP6Address *addr;
uint32_t valid = 0, t;