#elif defined(HAVE_PF_ROUTE)
#include "iface-pfroute.h"
#else
-#error "No network configuration notification system available"
+typedef struct AvahiInterfaceMonitorOSDep AvahiInterfaceMonitorOSDep;
+struct AvahiInterfaceMonitorOSDep {
+
+ unsigned query_addr_seq, query_link_seq;
+
+ enum {
+ LIST_IFACE,
+ LIST_ADDR,
+ LIST_DONE
+ } list;
+};
#endif
-#define AVAHI_MAX_MAC_ADDRESS 32
+#define AVAHI_MAC_ADDRESS_MAX 32
struct AvahiInterfaceMonitor {
AvahiServer *server;
unsigned mtu;
- uint8_t mac_address[AVAHI_MAX_MAC_ADDRESS];
+ uint8_t mac_address[AVAHI_MAC_ADDRESS_MAX];
size_t mac_address_size;
AvahiSEntryGroup *entry_group;
AvahiProtocol protocol;
int announcing;
+ AvahiAddress local_mcast_address;
+ int mcast_joined;
AvahiCache *cache;
void avahi_interface_send_packet(AvahiInterface *i, AvahiDnsPacket *p);
void avahi_interface_send_packet_unicast(AvahiInterface *i, AvahiDnsPacket *p, const AvahiAddress *a, uint16_t port);
-int avahi_interface_post_query(AvahiInterface *i, AvahiKey *k, int immediately);
+int avahi_interface_post_query(AvahiInterface *i, AvahiKey *k, int immediately, unsigned *ret_id);
+int avahi_interface_withraw_query(AvahiInterface *i, unsigned id);
int avahi_interface_post_response(AvahiInterface *i, AvahiRecord *record, int flush_cache, const AvahiAddress *querier, int immediately);
int avahi_interface_post_probe(AvahiInterface *i, AvahiRecord *p, int immediately);
AvahiInterfaceAddress* avahi_interface_monitor_get_address(AvahiInterfaceMonitor *m, AvahiInterface *i, const AvahiAddress *raddr);
+AvahiIfIndex avahi_find_interface_for_address(AvahiInterfaceMonitor *m, const AvahiAddress *a);
+
#endif