]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: radv introduce sd_radv_prefix_get_prefix
authorSusant Sahani <ssahani@vmware.com>
Thu, 27 Feb 2020 12:31:09 +0000 (13:31 +0100)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 29 Feb 2020 15:16:51 +0000 (00:16 +0900)
src/libsystemd-network/sd-radv.c
src/systemd/sd-radv.h

index 873a2f40f84363182fb8ef066bd908c7455b9c5e..e7ffe879a82ac7da212fb34782f69842f8d59dc2 100644 (file)
@@ -829,6 +829,18 @@ _public_ int sd_radv_prefix_set_prefix(sd_radv_prefix *p, const struct in6_addr
         return 0;
 }
 
+_public_ int sd_radv_prefix_get_prefix(sd_radv_prefix *p, struct in6_addr *ret_in6_addr,
+                                       unsigned char *ret_prefixlen) {
+        assert_return(p, -EINVAL);
+        assert_return(ret_in6_addr, -EINVAL);
+        assert_return(ret_prefixlen, -EINVAL);
+
+        *ret_in6_addr = p->opt.in6_addr;
+        *ret_prefixlen = p->opt.prefixlen;
+
+        return 0;
+}
+
 _public_ int sd_radv_prefix_set_onlink(sd_radv_prefix *p, int onlink) {
         assert_return(p, -EINVAL);
 
index f0852319347be3620cb213c65055b06b3f9d7885..011e40d8a5c68552a637503a62f63924408acc54 100644 (file)
@@ -74,6 +74,8 @@ sd_radv_prefix *sd_radv_prefix_unref(sd_radv_prefix *ra);
 
 int sd_radv_prefix_set_prefix(sd_radv_prefix *p, const struct in6_addr *in6_addr,
                               unsigned char prefixlen);
+int sd_radv_prefix_get_prefix(sd_radv_prefix *p, struct in6_addr *ret_in6_addr,
+                              unsigned char *ret_prefixlen);
 int sd_radv_prefix_set_onlink(sd_radv_prefix *p, int onlink);
 int sd_radv_prefix_set_address_autoconfiguration(sd_radv_prefix *p,
                                                  int address_autoconfiguration);