X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=interface.h;h=4ba6eeeb322dda247c2ff812100fceda1982f774;hb=c725494833228cb6e60633ef191e850903158ae1;hp=2f7aea4c5e69e93331dd79aaebd44b54bc4fe5b2;hpb=33d8d0b5523f35dcfc994651191e5c69349cdbfd;p=project%2Fmdnsd.git diff --git a/interface.h b/interface.h index 2f7aea4..4ba6eee 100644 --- a/interface.h +++ b/interface.h @@ -27,6 +27,7 @@ extern struct vlist_tree interfaces; struct interface { struct vlist_node node; + struct interface *peer; const char *name; char *id; @@ -38,7 +39,9 @@ struct interface { int ifindex; struct in_addr v4_addr; + struct in_addr v4_netmask; struct in6_addr v6_addr; + struct in6_addr v6_netmask; char v4_addrs[16]; char v6_addrs[64]; @@ -49,6 +52,8 @@ struct interface { }; int interface_add(const char *name); -int interface_send_packet(struct interface *iface, struct iovec *iov, int iov_len); +void interface_shutdown(void); +int interface_send_packet(struct interface *iface, struct sockaddr *to, struct iovec *iov, int iov_len); +struct interface* interface_get(const char *name, int v6, int multicast); #endif