Don't cache hosts as services
[project/mdnsd.git] / interface.h
index 8fffc7e..4ba6eee 100644 (file)
@@ -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