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

Sources/mdnsd/interface.h

  1 /*
  2  * Copyright (C) 2014 John Crispin <blogic@openwrt.org>
  3  * Copyright (C) 2014 Felix Fietkau <nbd@openwrt.org>
  4  *
  5  * This program is free software; you can redistribute it and/or modify
  6  * it under the terms of the GNU Lesser General Public License version 2.1
  7  * as published by the Free Software Foundation
  8  *
  9  * This program is distributed in the hope that it will be useful,
 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 12  * GNU General Public License for more details.
 13  */
 14 
 15 #ifndef __MDNS_INTERFACE_H
 16 #define __MDNS_INTERFACE_H
 17 
 18 #include <sys/types.h>
 19 #include <sys/uio.h>
 20 
 21 #include <arpa/inet.h>
 22 
 23 #include <libubox/uloop.h>
 24 #include <libubox/vlist.h>
 25 
 26 extern struct vlist_tree interfaces;
 27 
 28 struct interface {
 29         struct vlist_node node;
 30         struct interface *peer;
 31 
 32         const char *name;
 33         char *id;
 34         struct uloop_fd fd;
 35         struct uloop_timeout reconnect;
 36 
 37         int v6;
 38         int multicast;
 39         int ifindex;
 40 
 41         struct in_addr v4_addr;
 42         struct in_addr v4_netmask;
 43         struct in6_addr v6_addr;
 44         struct in6_addr v6_netmask;
 45         char v4_addrs[16];
 46         char v6_addrs[64];
 47 
 48         struct uloop_timeout announce_timer;
 49         int announce_state;
 50 
 51         char *mcast_addr;
 52 };
 53 
 54 int interface_add(const char *name);
 55 void interface_shutdown(void);
 56 int interface_send_packet(struct interface *iface, struct sockaddr *to, struct iovec *iov, int iov_len);
 57 struct interface* interface_get(const char *name, int v6, int multicast);
 58 
 59 #endif
 60 

This page was automatically generated by LXR 0.3.1.  •  OpenWrt