X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fodhcpd.git;a=blobdiff_plain;f=src%2Fodhcpd.h;h=10f0edbe80bae725f98dced345f411097910bc9a;hp=8a196eac6c81948dae407c5ef1648299fe6f053e;hb=f4d38e0a853e933a4da54fde8ec2711b5dc5b741;hpb=5dad295c283a8ab8101d58ec3d8ead49a3a62a19 diff --git a/src/odhcpd.h b/src/odhcpd.h index 8a196ea..10f0edb 100644 --- a/src/odhcpd.h +++ b/src/odhcpd.h @@ -68,10 +68,16 @@ struct odhcpd_event { void (*recv_msgs)(struct odhcpd_event *e); }; +union if_addr { + struct in_addr in; + struct in6_addr in6; +}; struct odhcpd_ipaddr { - struct in6_addr addr; + union if_addr addr; uint8_t prefix; + + /* ipv6 only */ uint8_t dprefix; uint32_t preferred; uint32_t valid; @@ -154,7 +160,7 @@ struct interface { // RA int learn_routes; int default_router; - int managed; + int ra_managed; int route_preference; int ra_maxinterval; int ra_mininterval; @@ -190,8 +196,9 @@ struct interface { extern struct list_head interfaces; -#define RELAYD_MANAGED_MFLAG 1 -#define RELAYD_MANAGED_NO_AFLAG 2 +#define RA_MANAGED_NO_MFLAG 0 +#define RA_MANAGED_MFLAG 1 +#define RA_MANAGED_NO_AFLAG 2 // Exported main functions @@ -203,7 +210,7 @@ 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); -ssize_t odhcpd_get_interface_addresses(int ifindex, +ssize_t odhcpd_get_interface_addresses(int ifindex, bool v6, struct odhcpd_ipaddr **addrs); int odhcpd_get_interface_dns_addr(const struct interface *iface, struct in6_addr *addr); @@ -229,9 +236,6 @@ void odhcpd_bmemcpy(void *av, const void *bv, size_t bits); int config_parse_interface(void *data, size_t len, const char *iname, bool overwrite); -void ndp_handle_addr6_dump(void); -void ndp_rqs_addr6_dump(void); - #ifdef WITH_UBUS int init_ubus(void); const char* ubus_get_ifname(const char *name);