]> git.decadent.org.uk Git - odhcp6c.git/blobdiff - src/odhcp6c.h
Export AFTR-IP as well and update README
[odhcp6c.git] / src / odhcp6c.h
index 16a26fec2fa2c06e626655d78047171ff4a23bb5..b0a198046df6c48c06115b18d8cf5191af85dc16 100644 (file)
@@ -51,6 +51,8 @@ enum dhcvp6_opt {
        DHCPV6_OPT_NTP_SERVER = 56,
        DHCPV6_OPT_SIP_SERVER_D = 21,
        DHCPV6_OPT_SIP_SERVER_A = 22,
+       DHCPV6_OPT_AFTR_NAME = 64,
+       DHCPV6_OPT_PD_EXCLUDE = 67,
 };
 
 enum dhcpv6_opt_npt {
@@ -131,6 +133,17 @@ struct dhcpv6_duid {
        uint8_t data[128];
 } _packed;
 
+struct dhcpv6_auth_reconfigure {
+       uint16_t type;
+       uint16_t len;
+       uint8_t protocol;
+       uint8_t algorithm;
+       uint8_t rdm;
+       uint64_t replay;
+       uint8_t reconf_type;
+       uint8_t key[16];
+} _packed;
+
 
 #define dhcpv6_for_each_option(start, end, otype, olen, odata)\
        for (uint8_t *_o = (uint8_t*)(start); _o + 4 <= (uint8_t*)(end) &&\
@@ -165,6 +178,7 @@ enum odhcp6c_state {
        STATE_RA_ROUTE,
        STATE_RA_PREFIX,
        STATE_RA_DNS,
+       STATE_AFTR_NAME,
        _STATE_MAX
 };
 
@@ -212,6 +226,7 @@ int set_rtnetlink_addr(int ifindex, const struct in6_addr *addr,
 int script_init(const char *path, const char *ifname);
 ssize_t script_unhexlify(uint8_t *dst, size_t len, const char *src);
 void script_call(const char *status);
+void script_delay_call(const char *status, int timeout);
 
 bool odhcp6c_signal_process(void);
 uint64_t odhcp6c_get_milli_time(void);