dhcpv6: server unicast option support
[project/odhcp6c.git] / src / odhcp6c.h
index 08a816f4446dd893d89db315bf6f8932200ab2b8..e55d3c1a988d2622fbe26fb6b66132b9e9d89ae2 100644 (file)
@@ -18,7 +18,7 @@
 
 #define _unused __attribute__((unused))
 #define _packed __attribute__((packed))
-#define __aligned(n) __attribute__((aligned(n)))
+#define _aligned(n) __attribute__((aligned(n)))
 
 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
 
@@ -227,6 +227,7 @@ struct dhcpv6_server_cand {
        int16_t preference;
        uint8_t duid_len;
        uint8_t duid[130];
+       struct in6_addr server_addr;
        uint32_t sol_max_rt;
        uint32_t inf_max_rt;
        void *ia_na;
@@ -282,6 +283,10 @@ enum dhcpv6_mode {
        DHCPV6_STATEFUL
 };
 
+enum ra_config {
+       RA_RDNSS_DEFAULT_LIFETIME = 1,
+};
+
 enum odhcp6c_ia_mode {
        IA_MODE_NONE,
        IA_MODE_TRY,
@@ -339,6 +344,7 @@ bool odhcp6c_signal_process(void);
 uint64_t odhcp6c_get_milli_time(void);
 int odhcp6c_random(void *buf, size_t len);
 bool odhcp6c_is_bound(void);
+bool odhcp6c_addr_in_scope(const struct in6_addr *addr);
 
 // State manipulation
 void odhcp6c_clear_state(enum odhcp6c_state state);