X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-client%2Finternal.h;h=7a79dd7337628c34bdc73f2c5ceca21cfffb7ec8;hb=1b1e2692e498d7bab5183c344887f83c0a94e4bb;hp=56aaaae94ef6cb4aeab7b829968b3eb17a891e9b;hpb=0c54764cf19428a0c52724a75ddf3368e3899209;p=catta diff --git a/avahi-client/internal.h b/avahi-client/internal.h index 56aaaae..7a79dd7 100644 --- a/avahi-client/internal.h +++ b/avahi-client/internal.h @@ -33,6 +33,7 @@ struct AvahiClient { DBusConnection *bus; int error; AvahiClientState state; + AvahiClientFlags flags; /* Cache for some seldom changing server data */ char *version_string, *host_name, *host_name_fqdn, *domain_name; @@ -49,6 +50,7 @@ struct AvahiClient { AVAHI_LLIST_HEAD(AvahiServiceResolver, service_resolvers); AVAHI_LLIST_HEAD(AvahiHostNameResolver, host_name_resolvers); AVAHI_LLIST_HEAD(AvahiAddressResolver, address_resolvers); + AVAHI_LLIST_HEAD(AvahiRecordBrowser, record_browsers); }; struct AvahiEntryGroup { @@ -61,11 +63,20 @@ struct AvahiEntryGroup { }; struct AvahiDomainBrowser { + int ref; + char *path; AvahiClient *client; AvahiDomainBrowserCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiDomainBrowser, domain_browsers); + + AvahiIfIndex interface; + AvahiProtocol protocol; + + AvahiTimeout *defer_timeout; + + AvahiStringList *static_browse_domains; }; struct AvahiServiceBrowser { @@ -74,6 +85,10 @@ struct AvahiServiceBrowser { AvahiServiceBrowserCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiServiceBrowser, service_browsers); + + char *type, *domain; + AvahiIfIndex interface; + AvahiProtocol protocol; }; struct AvahiServiceTypeBrowser { @@ -82,6 +97,10 @@ struct AvahiServiceTypeBrowser { AvahiServiceTypeBrowserCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiServiceTypeBrowser, service_type_browsers); + + char *domain; + AvahiIfIndex interface; + AvahiProtocol protocol; }; struct AvahiServiceResolver { @@ -90,6 +109,10 @@ struct AvahiServiceResolver { AvahiServiceResolverCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiServiceResolver, service_resolvers); + + char *name, *type, *domain; + AvahiIfIndex interface; + AvahiProtocol protocol; }; struct AvahiHostNameResolver { @@ -98,6 +121,10 @@ struct AvahiHostNameResolver { AvahiHostNameResolverCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiHostNameResolver, host_name_resolvers); + + char *host_name; + AvahiIfIndex interface; + AvahiProtocol protocol; }; struct AvahiAddressResolver { @@ -106,6 +133,23 @@ struct AvahiAddressResolver { AvahiAddressResolverCallback callback; void *userdata; AVAHI_LLIST_FIELDS(AvahiAddressResolver, address_resolvers); + + AvahiAddress address; + AvahiIfIndex interface; + AvahiProtocol protocol; +}; + +struct AvahiRecordBrowser { + char *path; + AvahiClient *client; + AvahiRecordBrowserCallback callback; + void *userdata; + AVAHI_LLIST_FIELDS(AvahiRecordBrowser, record_browsers); + + char *name; + uint16_t clazz, type; + AvahiIfIndex interface; + AvahiProtocol protocol; }; int avahi_client_set_errno (AvahiClient *client, int error); @@ -116,6 +160,7 @@ void avahi_entry_group_set_state(AvahiEntryGroup *group, AvahiEntryGroupState st DBusHandlerResult avahi_domain_browser_event (AvahiClient *client, AvahiBrowserEvent event, DBusMessage *message); DBusHandlerResult avahi_service_type_browser_event (AvahiClient *client, AvahiBrowserEvent event, DBusMessage *message); DBusHandlerResult avahi_service_browser_event (AvahiClient *client, AvahiBrowserEvent event, DBusMessage *message); +DBusHandlerResult avahi_record_browser_event(AvahiClient *client, AvahiBrowserEvent event, DBusMessage *message); DBusHandlerResult avahi_service_resolver_event (AvahiClient *client, AvahiResolverEvent event, DBusMessage *message); DBusHandlerResult avahi_host_name_resolver_event (AvahiClient *client, AvahiResolverEvent event, DBusMessage *message); @@ -123,4 +168,6 @@ DBusHandlerResult avahi_address_resolver_event (AvahiClient *client, AvahiResolv int avahi_client_simple_method_call(AvahiClient *client, const char *path, const char *interface, const char *method); +int avahi_client_is_connected(AvahiClient *client); + #endif