#include "llist.h"
#include "timeeventq.h"
#include "announce.h"
-#include "subscribe.h"
+#include "resolve.h"
#include "dns.h"
#include "rrlist.h"
GMainContext *context;
AvahiInterfaceMonitor *monitor;
+ AvahiServerConfig config;
+
AVAHI_LLIST_HEAD(AvahiEntry, entries);
GHashTable *entries_by_key;
AVAHI_LLIST_HEAD(AvahiEntryGroup, groups);
- AVAHI_LLIST_HEAD(AvahiSubscription, subscriptions);
- GHashTable *subscription_hashtable;
+ AVAHI_LLIST_HEAD(AvahiRecordResolver, record_resolvers);
+ GHashTable *record_resolver_hashtable;
+ AVAHI_LLIST_HEAD(AvahiHostNameResolver, host_name_resolvers);
+ AVAHI_LLIST_HEAD(AvahiAddressResolver, address_resolvers);
gboolean need_entry_cleanup, need_group_cleanup;
AvahiTimeEventQueue *time_event_queue;
- gchar *host_name, *host_name_fqdn, *domain;
+ gchar *host_name, *host_name_fqdn, *domain_name;
gint fd_ipv4, fd_ipv6;
GPollFD pollfd_ipv4, pollfd_ipv6;
GSource *source;
- gboolean ignore_bad_ttl;
+ AvahiServerState state;
+ AvahiServerCallback callback;
+ gpointer userdata;
+
+ AvahiEntryGroup *hinfo_entry_group;
+ AvahiEntryGroup *browse_domain_entry_group;
+ guint n_host_rr_pending;
+ AvahiTimeEvent *register_time_event;
+
/* Used for assembling responses */
AvahiRecordList *record_list;
};
void avahi_server_enumerate_aux_records(AvahiServer *s, AvahiInterface *i, AvahiRecord *r, void (*callback)(AvahiServer *s, AvahiRecord *r, gboolean flush_cache, gpointer userdata), gpointer userdata);
+void avahi_host_rr_entry_group_callback(AvahiServer *s, AvahiEntryGroup *g, AvahiEntryGroupState state, void *userdata);
+
+void avahi_server_decrease_host_rr_pending(AvahiServer *s);
+void avahi_server_increase_host_rr_pending(AvahiServer *s);
+
#endif