diff options
author | Lennart Poettering <lennart@poettering.net> | 2005-01-21 00:16:08 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2005-01-21 00:16:08 +0000 |
commit | 0781d5363fb6fd723a2316fc7558aef6439b2f71 (patch) | |
tree | f6a942889c55230611d4472c21a7075a7c2fc609 /iface.h | |
parent | d6e2dbabccb08970da991e6d2b0fda7a56d83e6f (diff) |
massive work
git-svn-id: file:///home/lennart/svn/public/avahi/trunk@8 941a03a8-eaeb-0310-b9a0-b1bbd8fe43fe
Diffstat (limited to 'iface.h')
-rw-r--r-- | iface.h | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -15,13 +15,15 @@ typedef struct _flxInterface flxInterface; #include "address.h" #include "server.h" #include "netlink.h" +#include "cache.h" +#include "llist.h" struct _flxInterfaceMonitor { flxServer *server; flxNetlink *netlink; GHashTable *hash_table; - flxInterface *interfaces; + FLX_LLIST_HEAD(flxInterface, interfaces); guint query_addr_seq, query_link_seq; @@ -29,14 +31,16 @@ struct _flxInterfaceMonitor { }; struct _flxInterface { + flxInterfaceMonitor *monitor; gchar *name; gint index; guint flags; + FLX_LLIST_HEAD(flxInterfaceAddress, addresses); + FLX_LLIST_FIELDS(flxInterface, interface); + guint n_ipv6_addrs, n_ipv4_addrs; - - flxInterfaceAddress *addresses; - flxInterface *next, *prev; + flxCache *ipv4_cache, *ipv6_cache; }; struct _flxInterfaceAddress { @@ -45,7 +49,8 @@ struct _flxInterfaceAddress { flxAddress address; flxInterface *interface; - flxInterfaceAddress *next, *prev; + + FLX_LLIST_FIELDS(flxInterfaceAddress, address); gint rr_id; }; @@ -53,10 +58,12 @@ struct _flxInterfaceAddress { flxInterfaceMonitor *flx_interface_monitor_new(flxServer *server); void flx_interface_monitor_free(flxInterfaceMonitor *m); -const flxInterface* flx_interface_monitor_get_interface(flxInterfaceMonitor *m, gint index); -const flxInterface* flx_interface_monitor_get_first(flxInterfaceMonitor *m); +flxInterface* flx_interface_monitor_get_interface(flxInterfaceMonitor *m, gint index); +flxInterface* flx_interface_monitor_get_first(flxInterfaceMonitor *m); int flx_interface_is_relevant(flxInterface *i); int flx_address_is_relevant(flxInterfaceAddress *a); + +void flx_interface_send_query(flxInterface *i, guchar protocol, flxKey *k); #endif |