X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fcache.h;h=fa723e9d68125c1d165c0a978bac03fce91a75a8;hb=16db94194059f7ca05813f68c26c59cfcfdcbd7c;hp=de685f4322e18aaf88c08a4ca6aeed70384b37fc;hpb=7540df5ed6b383ec93f5a4f10ab2d08f9b9869e4;p=catta diff --git a/avahi-core/cache.h b/avahi-core/cache.h index de685f4..fa723e9 100644 --- a/avahi-core/cache.h +++ b/avahi-core/cache.h @@ -22,14 +22,13 @@ USA. ***/ -#include - typedef struct AvahiCache AvahiCache; #include #include "prioq.h" #include "server.h" #include "timeeventq.h" +#include "hashmap.h" typedef enum { AVAHI_CACHE_VALID, @@ -44,9 +43,9 @@ typedef struct AvahiCacheEntry AvahiCacheEntry; struct AvahiCacheEntry { AvahiCache *cache; AvahiRecord *record; - GTimeVal timestamp; - GTimeVal expiry; - gboolean cache_flush; + struct timeval timestamp; + struct timeval expiry; + int cache_flush; AvahiAddress origin; @@ -62,11 +61,11 @@ struct AvahiCache { AvahiInterface *interface; - GHashTable *hash_table; + AvahiHashmap *hashmap; AVAHI_LLIST_HEAD(AvahiCacheEntry, entries); - guint n_entries; + unsigned n_entries; }; AvahiCache *avahi_cache_new(AvahiServer *server, AvahiInterface *interface); @@ -75,14 +74,14 @@ void avahi_cache_free(AvahiCache *c); AvahiCacheEntry *avahi_cache_lookup_key(AvahiCache *c, AvahiKey *k); AvahiCacheEntry *avahi_cache_lookup_record(AvahiCache *c, AvahiRecord *r); -void avahi_cache_update(AvahiCache *c, AvahiRecord *r, gboolean cache_flush, const AvahiAddress *a); +void avahi_cache_update(AvahiCache *c, AvahiRecord *r, int cache_flush, const AvahiAddress *a); -void avahi_cache_dump(AvahiCache *c, AvahiDumpCallback callback, gpointer userdata); +int avahi_cache_dump(AvahiCache *c, AvahiDumpCallback callback, void* userdata); -typedef gpointer AvahiCacheWalkCallback(AvahiCache *c, AvahiKey *pattern, AvahiCacheEntry *e, gpointer userdata); -gpointer avahi_cache_walk(AvahiCache *c, AvahiKey *pattern, AvahiCacheWalkCallback cb, gpointer userdata); +typedef void* AvahiCacheWalkCallback(AvahiCache *c, AvahiKey *pattern, AvahiCacheEntry *e, void* userdata); +void* avahi_cache_walk(AvahiCache *c, AvahiKey *pattern, AvahiCacheWalkCallback cb, void* userdata); -gboolean avahi_cache_entry_half_ttl(AvahiCache *c, AvahiCacheEntry *e); +int avahi_cache_entry_half_ttl(AvahiCache *c, AvahiCacheEntry *e); void avahi_cache_flush(AvahiCache *c);