X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=cache.h;h=897d01b2bbc353cce7560d795386734e08e2210b;hb=480d7bc74eba20c03875aa06c1c25dbdb98e0b12;hp=4b86a835eb3d2d854b048e18fb22ab0e030beead;hpb=1283a0f4414dd66c7ef0665ee60413d30f3ee2cc;p=project%2Fmdnsd.git diff --git a/cache.h b/cache.h index 4b86a83..897d01b 100644 --- a/cache.h +++ b/cache.h @@ -44,17 +44,20 @@ struct cache_record { uint16_t rdlength; time_t time; struct interface *iface; + struct sockaddr_storage from; + int refresh; }; extern struct avl_tree services; +extern struct avl_tree records; int cache_init(void); void cache_update(void); void cache_cleanup(struct interface *iface); -void cache_answer(struct interface *iface, uint8_t *base, int blen, - char *name, struct dns_answer *a, uint8_t *rdata, int flush); +void cache_answer(struct interface *iface, struct sockaddr *from, uint8_t *base, + int blen, char *name, struct dns_answer *a, uint8_t *rdata, + int flush); int cache_host_is_known(char *record); -char *cache_lookup_name(const char *key); void cache_dump_records(struct blob_buf *buf, const char *name); void cache_dump_recursive(struct blob_buf *b, const char *name, uint16_t type, struct interface *iface);