summaryrefslogtreecommitdiffhomepage
path: root/src/dhcpv6.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/dhcpv6.h')
-rw-r--r--src/dhcpv6.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dhcpv6.h b/src/dhcpv6.h
index c0775f1..b38ae82 100644
--- a/src/dhcpv6.h
+++ b/src/dhcpv6.h
@@ -171,7 +171,9 @@ struct dhcpv6_cer_id {
struct in6_addr addr;
};
-
+typedef void (*dhcpv6_binding_cb_handler_t)(struct in6_addr *addr, int prefix,
+ uint32_t pref, uint32_t valid,
+ void *arg);
#define dhcpv6_for_each_option(start, end, otype, olen, odata)\
for (uint8_t *_o = (uint8_t*)(start); _o + 4 <= (end) &&\
@@ -184,6 +186,8 @@ ssize_t dhcpv6_handle_ia(uint8_t *buf, size_t buflen, struct interface *iface,
const struct sockaddr_in6 *addr, const void *data, const uint8_t *end);
int dhcpv6_ia_init(void);
int setup_dhcpv6_ia_interface(struct interface *iface, bool enable);
+void dhcpv6_enum_ia_addrs(struct interface *iface, struct dhcpv6_assignment *c, time_t now,
+ dhcpv6_binding_cb_handler_t func, void *arg);
void dhcpv6_write_statefile(void);
void dhcpv6_ia_preupdate(struct interface *iface);
void dhcpv6_ia_postupdate(struct interface *iface, time_t now);