]> git.meshlink.io Git - catta/blobdiff - avahi-core/browse.h
forgot to pull the publish_no_reverse change to the example.
[catta] / avahi-core / browse.h
index ac33c5115209cf52e496a1fd2de094bc104707c2..a0dc2076293ee2f23308d12c460ebaa5ae1901cc 100644 (file)
@@ -1,39 +1,60 @@
 #ifndef foobrowsehfoo
 #define foobrowsehfoo
 
-/* $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 "llist.h"
+#include <avahi-common/llist.h>
+
 #include "core.h"
 #include "timeeventq.h"
-#include "server.h"
+#include "internal.h"
+#include "dns.h"
+#include "lookup.h"
 
-void avahi_browser_cleanup(AvahiServer *server);
-void avahi_browser_notify(AvahiServer *s, AvahiInterface *i, AvahiRecord *record, AvahiBrowserEvent event);
+typedef struct AvahiSRBLookup AvahiSRBLookup;
 
-gboolean avahi_is_subscribed(AvahiServer *s, AvahiInterface *i, AvahiKey *k);
+struct AvahiSRecordBrowser {
+    AVAHI_LLIST_FIELDS(AvahiSRecordBrowser, browser);
+    int dead;
+    AvahiServer *server;
 
-void avahi_record_browser_destroy(AvahiRecordBrowser *b);
+    AvahiKey *key;
+    AvahiIfIndex interface;
+    AvahiProtocol protocol;
+    AvahiLookupFlags flags;
+
+    AvahiTimeEvent *defer_time_event;
+
+    AvahiSRecordBrowserCallback callback;
+    void* userdata;
+
+    /* Lookup data */
+    AVAHI_LLIST_HEAD(AvahiSRBLookup, lookups);
+    unsigned n_lookups;
+
+    AvahiSRBLookup *root_lookup;
+};
+
+void avahi_browser_cleanup(AvahiServer *server);
 
-void avahi_browser_new_interface(AvahiServer*s, AvahiInterface *i);
+void avahi_s_record_browser_destroy(AvahiSRecordBrowser *b);
+void avahi_s_record_browser_restart(AvahiSRecordBrowser *b);
 
 #endif