X-Git-Url: https://git.decadent.org.uk/gitweb/?p=odhcp6c.git;a=blobdiff_plain;f=src%2Fodhcp6c.h;h=1a4fbcef9d893448375b0329938e4684ac7a6216;hp=5b9b78fd1faa200c73e9f6f8e4ca9dbf70158bdc;hb=7ea97a433c3ce62dab3d99f6dbe72a6cb319cd44;hpb=24c064ccbf819f85c8709ea60acb3b278377b408 diff --git a/src/odhcp6c.h b/src/odhcp6c.h index 5b9b78f..1a4fbce 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 @@ -81,8 +77,14 @@ enum dhcpv6_msg { }; enum dhcpv6_status { + DHCPV6_Success = 0, + DHCPV6_UnspecFail = 1, DHCPV6_NoAddrsAvail = 2, + DHCPV6_NoBinding = 3, + DHCPV6_NotOnLink = 4, + DHCPV6_UseMulticast = 5, DHCPV6_NoPrefixAvail = 6, + _DHCPV6_Status_Max }; typedef int(reply_handler)(enum dhcpv6_msg orig, const int rc, @@ -219,6 +221,8 @@ struct odhcp6c_entry { struct in6_addr target; uint32_t valid; uint32_t preferred; + uint32_t t1; + uint32_t t2; uint16_t class; }; @@ -240,6 +244,7 @@ void script_delay_call(const char *status, int timeout); 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); // State manipulation void odhcp6c_clear_state(enum odhcp6c_state state);