]> git.meshlink.io Git - catta/blob - announce.h
Rename flx_* to avahi_*
[catta] / announce.h
1 #ifndef fooannouncehfoo
2 #define fooannouncehfoo
3
4 #include <glib.h>
5
6 typedef struct _AvahiAnnouncement AvahiAnnouncement;
7
8 #include "llist.h"
9 #include "iface.h"
10 #include "server.h"
11 #include "timeeventq.h"
12
13 typedef enum {
14     AVAHI_PROBING,
15     AVAHI_WAITING,         /* wait for other records in group */
16     AVAHI_ANNOUNCING,
17     AVAHI_ESTABLISHED
18 } AvahiAnnouncementState;
19
20 struct _AvahiAnnouncement {
21     AvahiServer *server;
22     AvahiInterface *interface;
23     AvahiEntry *entry;
24
25     AvahiTimeEvent *time_event;
26
27     AvahiAnnouncementState state;
28     guint n_iteration;
29     guint sec_delay;
30
31     AVAHI_LLIST_FIELDS(AvahiAnnouncement, by_interface);
32     AVAHI_LLIST_FIELDS(AvahiAnnouncement, by_entry);
33 };
34
35 void avahi_announce_interface(AvahiServer *s, AvahiInterface *i);
36 void avahi_announce_entry(AvahiServer *s, AvahiEntry *e);
37 void avahi_announce_group(AvahiServer *s, AvahiEntryGroup *g);
38
39 void avahi_entry_group_check_probed(AvahiEntryGroup *g, gboolean immediately);
40
41 gboolean avahi_entry_registered(AvahiServer *s, AvahiEntry *e, AvahiInterface *i);
42 gboolean avahi_entry_registering(AvahiServer *s, AvahiEntry *e, AvahiInterface *i);
43
44 void avahi_goodbye_interface(AvahiServer *s, AvahiInterface *i, gboolean send);
45 void avahi_goodbye_entry(AvahiServer *s, AvahiEntry *e, gboolean send);
46
47 void avahi_goodbye_all(AvahiServer *s, gboolean send);
48
49 AvahiAnnouncement *avahi_get_announcement(AvahiServer *s, AvahiEntry *e, AvahiInterface *i);
50
51 #endif