propagate sockaddr and port form the receive function to the parser
[project/mdnsd.git] / interface.h
index b9ecd8a..4a3c67e 100644 (file)
@@ -18,6 +18,8 @@
 #include <sys/types.h>
 #include <sys/uio.h>
 
+#include <arpa/inet.h>
+
 #include <libubox/uloop.h>
 #include <libubox/vlist.h>
 
@@ -25,20 +27,30 @@ 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;
-       const char *ip;
+
+       struct in_addr v4_addr;
+       struct in6_addr v6_addr;
+       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);
+void interface_shutdown(void);
 int interface_send_packet(struct interface *iface, struct iovec *iov, int iov_len);
-int interface_socket_setup(struct interface *iface);
 
 #endif