• source navigation  • diff markup  • identifier search  • freetext search  • 

Sources/mdnsd/cache.h

  1 /*
  2  * Copyright (C) 2014 John Crispin <blogic@openwrt.org>
  3  *
  4  * This program is free software; you can redistribute it and/or modify
  5  * it under the terms of the GNU Lesser General Public License version 2.1
  6  * as published by the Free Software Foundation
  7  *
  8  * This program is distributed in the hope that it will be useful,
  9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 11  * GNU General Public License for more details.
 12  */
 13 
 14 #ifndef _CACHE_H__
 15 #define _CACHE_H__
 16 
 17 #include <libubox/avl.h>
 18 #include <libubox/list.h>
 19 #include <libubox/blob.h>
 20 
 21 #include "dns.h"
 22 #include "interface.h"
 23 
 24 struct cache_service {
 25         struct avl_node avl;
 26 
 27         const char *entry;
 28         const char *host;
 29         uint32_t ttl;
 30         time_t time;
 31         struct interface *iface;
 32         int refresh;
 33 };
 34 
 35 struct cache_record {
 36         struct avl_node avl;
 37 
 38         const char *record;
 39         uint16_t type;
 40         uint32_t ttl;
 41         int port;
 42         const char *txt;
 43         const uint8_t *rdata;
 44         uint16_t rdlength;
 45         time_t time;
 46         struct interface *iface;
 47         struct sockaddr_storage from;
 48         int refresh;
 49 };
 50 
 51 extern struct avl_tree services;
 52 extern struct avl_tree records;
 53 
 54 int cache_init(void);
 55 void cache_update(void);
 56 void cache_cleanup(struct interface *iface);
 57 void cache_answer(struct interface *iface, struct sockaddr *from, uint8_t *base,
 58                   int blen, char *name, struct dns_answer *a, uint8_t *rdata,
 59                   int flush);
 60 int cache_host_is_known(char *record);
 61 void cache_dump_records(struct blob_buf *buf, const char *name, int array,
 62                         const char **hostname);
 63 void cache_dump_recursive(struct blob_buf *b, const char *name, uint16_t type, struct interface *iface);
 64 
 65 #endif
 66 

This page was automatically generated by LXR 0.3.1.  •  OpenWrt