diff options
Diffstat (limited to 'src/odhcpd.h')
-rw-r--r-- | src/odhcpd.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/odhcpd.h b/src/odhcpd.h index a2ef9f7..fb6b182 100644 --- a/src/odhcpd.h +++ b/src/odhcpd.h @@ -67,6 +67,7 @@ struct odhcpd_event { void (*handle_dgram)(void *addr, void *data, size_t len, struct interface *iface, void *dest_addr); void (*handle_error)(int error); + void (*recv_msgs)(struct odhcpd_event *ev); }; @@ -186,11 +187,10 @@ extern struct list_head interfaces; // Exported main functions -struct nl_sock *odhcpd_open_rtnl(int protocol, int groups); int odhcpd_register(struct odhcpd_event *event); void odhcpd_process(struct odhcpd_event *event); -struct nl_sock *odhcpd_create_nl_socket(int protocol, int groups); +struct nl_sock *odhcpd_create_nl_socket(int protocol); ssize_t odhcpd_send(int socket, struct sockaddr_in6 *dest, struct iovec *iov, size_t iov_len, const struct interface *iface); @@ -203,9 +203,11 @@ int odhcpd_get_mac(const struct interface *iface, uint8_t mac[6]); struct interface* odhcpd_get_interface_by_index(int ifindex); struct interface* odhcpd_get_master_interface(void); int odhcpd_urandom(void *data, size_t len); -int odhcpd_setup_route(const struct in6_addr *addr, int prefixlen, +int odhcpd_setup_route(const struct in6_addr *addr, const int prefixlen, const struct interface *iface, const struct in6_addr *gw, - uint32_t metric, bool add); + const uint32_t metric, const bool add); +int odhcpd_setup_proxy_neigh(const struct in6_addr *addr, + const struct interface *iface, const bool add); void odhcpd_run(void); time_t odhcpd_time(void); |