diff options
Diffstat (limited to 'libavahi-core/iface.h')
-rw-r--r-- | libavahi-core/iface.h | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/libavahi-core/iface.h b/libavahi-core/iface.h deleted file mode 100644 index 74136aa..0000000 --- a/libavahi-core/iface.h +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef fooifacehfoo -#define fooifacehfoo - -/* $Id$ */ - -/*** - This file is part of avahi. - - avahi is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. - - avahi is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General - Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with avahi; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - USA. -***/ - -#include <glib.h> - -typedef struct _AvahiInterfaceMonitor AvahiInterfaceMonitor; -typedef struct _AvahiInterfaceAddress AvahiInterfaceAddress; -typedef struct _AvahiInterface AvahiInterface; -typedef struct _AvahiHwInterface AvahiHwInterface; - -#include "address.h" -#include "server.h" -#include "netlink.h" -#include "cache.h" -#include "llist.h" -#include "psched.h" -#include "dns.h" -#include "announce.h" - -struct _AvahiInterfaceMonitor { - AvahiServer *server; - AvahiNetlink *netlink; - GHashTable *hash_table; - - AVAHI_LLIST_HEAD(AvahiInterface, interfaces); - AVAHI_LLIST_HEAD(AvahiHwInterface, hw_interfaces); - - guint query_addr_seq, query_link_seq; - - enum { - LIST_IFACE, - LIST_ADDR, - LIST_DONE - } list; -}; - -struct _AvahiHwInterface { - AVAHI_LLIST_FIELDS(AvahiHwInterface, hardware); - AvahiInterfaceMonitor *monitor; - - gchar *name; - gint index; - guint flags; - guint mtu; - - AVAHI_LLIST_HEAD(AvahiInterface, interfaces); -}; - -struct _AvahiInterface { - AVAHI_LLIST_FIELDS(AvahiInterface, interface); - AVAHI_LLIST_FIELDS(AvahiInterface, by_hardware); - AvahiInterfaceMonitor *monitor; - - AvahiHwInterface *hardware; - guchar protocol; - gboolean announcing; - - AvahiCache *cache; - AvahiPacketScheduler *scheduler; - - AVAHI_LLIST_HEAD(AvahiInterfaceAddress, addresses); - AVAHI_LLIST_HEAD(AvahiAnnouncement, announcements); -}; - -struct _AvahiInterfaceAddress { - AVAHI_LLIST_FIELDS(AvahiInterfaceAddress, address); - AvahiInterfaceMonitor *monitor; - - guchar flags; - guchar scope; - AvahiAddress address; - - AvahiEntryGroup *entry_group; - AvahiInterface *interface; -}; - -AvahiInterfaceMonitor *avahi_interface_monitor_new(AvahiServer *server); -void avahi_interface_monitor_free(AvahiInterfaceMonitor *m); - -void avahi_interface_monitor_sync(AvahiInterfaceMonitor *m); - -AvahiInterface* avahi_interface_monitor_get_interface(AvahiInterfaceMonitor *m, gint index, guchar protocol); -AvahiHwInterface* avahi_interface_monitor_get_hw_interface(AvahiInterfaceMonitor *m, gint index); - -void avahi_interface_send_packet(AvahiInterface *i, AvahiDnsPacket *p); - -void avahi_interface_post_query(AvahiInterface *i, AvahiKey *k, gboolean immediately); -void avahi_interface_post_probe(AvahiInterface *i, AvahiRecord *p, gboolean immediately); -void avahi_interface_post_response(AvahiInterface *i, const AvahiAddress *a, AvahiRecord *record, gboolean flush_cache, gboolean immediately); - -void avahi_dump_caches(AvahiInterfaceMonitor *m, FILE *f); - -gboolean avahi_interface_relevant(AvahiInterface *i); -gboolean avahi_interface_address_relevant(AvahiInterfaceAddress *a); - -gboolean avahi_interface_match(AvahiInterface *i, gint index, guchar protocol); - -typedef void (*AvahiInterfaceMonitorWalkCallback)(AvahiInterfaceMonitor *m, AvahiInterface *i, gpointer userdata); - -void avahi_interface_monitor_walk(AvahiInterfaceMonitor *m, gint index, guchar protocol, AvahiInterfaceMonitorWalkCallback callback, gpointer userdata); - -#endif |