X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-core%2Fannounce.h;h=fd23d8be2906eeacb83d730b3fbfa6c01ac0419c;hb=9c0f9c65093cfa53d45f9b68782321eb8063a032;hp=389c7ca37c4d60505750ae630ebc84d91e2ba3a5;hpb=c526a85bcdb32f84e6ade05ce647a431f6a07c10;p=catta diff --git a/avahi-core/announce.h b/avahi-core/announce.h index 389c7ca..fd23d8b 100644 --- a/avahi-core/announce.h +++ b/avahi-core/announce.h @@ -1,72 +1,69 @@ #ifndef fooannouncehfoo #define fooannouncehfoo -/* $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 - -typedef struct AvahiAnnouncement AvahiAnnouncement; +typedef struct AvahiAnnouncer AvahiAnnouncer; -#include "llist.h" +#include #include "iface.h" -#include "server.h" +#include "internal.h" #include "timeeventq.h" +#include "publish.h" typedef enum { - AVAHI_PROBING, + AVAHI_PROBING, /* probing phase */ AVAHI_WAITING, /* wait for other records in group */ - AVAHI_ANNOUNCING, - AVAHI_ESTABLISHED -} AvahiAnnouncementState; + AVAHI_ANNOUNCING, /* announcing phase */ + AVAHI_ESTABLISHED /* we'e established */ +} AvahiAnnouncerState; -struct AvahiAnnouncement { +struct AvahiAnnouncer { AvahiServer *server; AvahiInterface *interface; AvahiEntry *entry; AvahiTimeEvent *time_event; - AvahiAnnouncementState state; - guint n_iteration; - guint sec_delay; + AvahiAnnouncerState state; + unsigned n_iteration; + unsigned sec_delay; - AVAHI_LLIST_FIELDS(AvahiAnnouncement, by_interface); - AVAHI_LLIST_FIELDS(AvahiAnnouncement, by_entry); + AVAHI_LLIST_FIELDS(AvahiAnnouncer, by_interface); + AVAHI_LLIST_FIELDS(AvahiAnnouncer, by_entry); }; void avahi_announce_interface(AvahiServer *s, AvahiInterface *i); void avahi_announce_entry(AvahiServer *s, AvahiEntry *e); -void avahi_announce_group(AvahiServer *s, AvahiEntryGroup *g); +void avahi_announce_group(AvahiServer *s, AvahiSEntryGroup *g); -void avahi_entry_group_check_probed(AvahiEntryGroup *g, gboolean immediately); +void avahi_entry_return_to_initial_state(AvahiServer *s, AvahiEntry *e, AvahiInterface *i); -gboolean avahi_entry_registered(AvahiServer *s, AvahiEntry *e, AvahiInterface *i); -gboolean avahi_entry_registering(AvahiServer *s, AvahiEntry *e, AvahiInterface *i); +void avahi_s_entry_group_check_probed(AvahiSEntryGroup *g, int immediately); -void avahi_goodbye_interface(AvahiServer *s, AvahiInterface *i, gboolean send); -void avahi_goodbye_entry(AvahiServer *s, AvahiEntry *e, gboolean send); +int avahi_entry_is_registered(AvahiServer *s, AvahiEntry *e, AvahiInterface *i); +int avahi_entry_is_probing(AvahiServer *s, AvahiEntry *e, AvahiInterface *i); -void avahi_goodbye_all(AvahiServer *s, gboolean send); +void avahi_goodbye_interface(AvahiServer *s, AvahiInterface *i, int send_goodbye, int rem); +void avahi_goodbye_entry(AvahiServer *s, AvahiEntry *e, int send_goodbye, int rem); -AvahiAnnouncement *avahi_get_announcement(AvahiServer *s, AvahiEntry *e, AvahiInterface *i); +void avahi_reannounce_entry(AvahiServer *s, AvahiEntry *e); #endif