X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmdnsd.git;a=blobdiff_plain;f=interface.h;h=4ba6eeeb322dda247c2ff812100fceda1982f774;hp=8fffc7e1ebae38a7b2ccc23ce085df4757f810fc;hb=fd5a160a15c48a97f7fc755c1310f17c869f0233;hpb=df298a725d5ef2c1aa5591775b316d0afecbf713 diff --git a/interface.h b/interface.h index 8fffc7e..4ba6eee 100644 --- a/interface.h +++ b/interface.h @@ -27,19 +27,33 @@ extern struct vlist_tree interfaces; struct interface { struct vlist_node node; + struct interface *peer; const char *name; + char *id; struct uloop_fd fd; struct uloop_timeout reconnect; + int v6; + int multicast; 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]; struct uloop_timeout announce_timer; int announce_state; + + char *mcast_addr; }; 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