summaryrefslogtreecommitdiffhomepage
path: root/src/odhcpd.h
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2019-02-11 15:46:29 +0100
committerHans Dedecker <dedeckeh@gmail.com>2019-02-11 15:50:56 +0100
commit671ccaabc893b53be8a1891aaf2236b657d6ce06 (patch)
tree69283ce5503f16fffed26beb599148478d4f06a3 /src/odhcpd.h
parent0db69b0b85c83fedd74ac77e850669a17c4e6617 (diff)
dhcpv6-ia: move function definitions to odhcpd.h
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
Diffstat (limited to 'src/odhcpd.h')
-rw-r--r--src/odhcpd.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/odhcpd.h b/src/odhcpd.h
index e7fcd82..8165f76 100644
--- a/src/odhcpd.h
+++ b/src/odhcpd.h
@@ -52,6 +52,10 @@ struct odhcpd_event {
void (*recv_msgs)(struct odhcpd_event *e);
};
+typedef void (*dhcpv6_binding_cb_handler_t)(struct in6_addr *addr, int prefix,
+ uint32_t pref, uint32_t valid,
+ void *arg);
+
union if_addr {
struct in_addr in;
struct in6_addr in6;
@@ -332,6 +336,14 @@ void ubus_bcast_dhcp_event(const char *type, const uint8_t *mac, const size_t ma
const struct in_addr *addr, const char *name, const char *interface);
#endif
+ssize_t dhcpv6_ia_handle_IAs(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 dhcpv6_ia_setup_interface(struct interface *iface, bool enable);
+void dhcpv6_ia_enum_addrs(struct interface *iface, struct dhcp_assignment *c, time_t now,
+ dhcpv6_binding_cb_handler_t func, void *arg);
+void dhcpv6_ia_write_statefile(void);
+
int netlink_add_netevent_handler(struct netevent_handler *hdlr);
ssize_t netlink_get_interface_addrs(const int ifindex, bool v6,
struct odhcpd_ipaddr **addrs);