]> git.meshlink.io Git - catta/blobdiff - avahi-core/server.h
Adapt to undocumented hack (passing 0:0 in tv to mean "now") that probably got introd...
[catta] / avahi-core / server.h
index 7384e9879f18b05b0368715e4473096a7bf8de3f..1723250ea4f9aa35a5b4f859220f26fcca49f775 100644 (file)
@@ -37,9 +37,13 @@ typedef struct AvahiEntry AvahiEntry;
 #include "dns.h"
 #include "rrlist.h"
 #include "hashmap.h"
+#include "wide-area.h"
+#include "multicast-lookup.h"
 
 #define AVAHI_MAX_LEGACY_UNICAST_REFLECT_SLOTS 100
 
+#define AVAHI_FLAGS_VALID(flags, max) (!((flags) & ~(max)))
+
 typedef struct AvahiLegacyUnicastReflectSlot AvahiLegacyUnicastReflectSlot;
 
 struct AvahiLegacyUnicastReflectSlot {
@@ -59,7 +63,7 @@ struct AvahiEntry {
 
     int dead;
     
-    AvahiEntryFlags flags;
+    AvahiPublishFlags flags;
     AvahiRecord *record;
     AvahiIfIndex interface;
     AvahiProtocol protocol;
@@ -84,6 +88,8 @@ struct AvahiSEntryGroup {
     unsigned n_register_try;
     struct timeval register_time;
     AvahiTimeEvent *register_time_event;
+
+    struct timeval established_at;
     
     AVAHI_LLIST_FIELDS(AvahiSEntryGroup, groups);
     AVAHI_LLIST_HEAD(AvahiEntry, entries);
@@ -138,9 +144,14 @@ struct AvahiServer {
     AvahiLegacyUnicastReflectSlot **legacy_unicast_reflect_slots;
     uint16_t legacy_unicast_reflect_id;
 
+    /* The last error code */
     int error;
 
+    /* The local service cookie */
     uint32_t local_service_cookie;
+
+    AvahiMulticastLookupEngine *multicast_lookup_engine;
+    AvahiWideAreaLookupEngine *wide_area_lookup_engine;
 };
 
 int avahi_server_entry_match_interface(AvahiEntry *e, AvahiInterface *i);