X-Git-Url: https://git.decadent.org.uk/gitweb/?p=odhcp6c.git;a=blobdiff_plain;f=src%2Fodhcp6c.h;h=cf8ff741bc2759740192c89b9c291efb87917cfb;hp=183ed44a36725acf24ad2fb5fe77561642fb31c9;hb=348cbc2efee1281c3b39e705114f44eca72a8247;hpb=d77cbea57d1b7dd9c25421bb13c90e65bb54a6bc diff --git a/src/odhcp6c.h b/src/odhcp6c.h index 183ed44..cf8ff74 100644 --- a/src/odhcp6c.h +++ b/src/odhcp6c.h @@ -21,10 +21,6 @@ #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) -#ifndef SOL_NETLINK -#define SOL_NETLINK 270 -#endif - #define ND_OPT_RECURSIVE_DNS 25 #define ND_OPT_DNSSL 31 @@ -38,6 +34,7 @@ enum dhcvp6_opt { DHCPV6_OPT_ELAPSED = 8, DHCPV6_OPT_RELAY_MSG = 9, DHCPV6_OPT_AUTH = 11, + DHCPV6_OPT_UNICAST = 12, DHCPV6_OPT_STATUS = 13, DHCPV6_OPT_RAPID_COMMIT = 14, DHCPV6_OPT_RECONF_MESSAGE = 19, @@ -168,6 +165,7 @@ struct dhcpv6_server_cand { int16_t preference; uint8_t duid_len; uint8_t duid[130]; + struct in6_addr server_addr; void *ia_na; void *ia_pd; size_t ia_na_len; @@ -249,6 +247,7 @@ bool odhcp6c_signal_process(void); uint64_t odhcp6c_get_milli_time(void); void 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);