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 _SERVICE_H__ 15 #define _SERVICE_H__ 16 17 #include <libubox/vlist.h> 18 #include <libubox/avl-cmp.h> 19 20 struct service { 21 struct vlist_node node; 22 23 time_t t; 24 25 const char *id; 26 const char *instance; 27 const char *service; 28 const char *hostname; 29 const uint8_t *txt; 30 int txt_len; 31 int port; 32 int active; 33 }; 34 35 struct hostname { 36 struct vlist_node node; 37 38 const char *hostname; 39 }; 40 extern struct vlist_tree hostnames; 41 extern struct vlist_tree announced_services; 42 43 extern void service_init(int announce); 44 extern void service_cleanup(void); 45 extern void service_reply(struct interface *iface, struct sockaddr *to, const char *instance, const char *service_domain, int ttl, int force); 46 extern void service_announce_services(struct interface *iface, struct sockaddr *to, int ttl); 47 extern void service_update(struct vlist_tree *tree, struct vlist_node *node_new, struct vlist_node *node_old); 48 49 #endif 50
This page was automatically generated by LXR 0.3.1. • OpenWrt