X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-client%2Flookup.h;h=e7dec49c5a78a5062a512baf787f2abf71317c3d;hb=bce1b94c3aec782393b3f3ffbd2e54eed8a660b0;hp=f2db9abec91ef1207e7169fe027ca86f5c631f2b;hpb=6efe2615e04c6ef664fa9d49b013e261ba1e6e66;p=catta diff --git a/avahi-client/lookup.h b/avahi-client/lookup.h index f2db9ab..e7dec49 100644 --- a/avahi-client/lookup.h +++ b/avahi-client/lookup.h @@ -58,14 +58,41 @@ typedef struct AvahiHostNameResolver AvahiHostNameResolver; /** An address resolver object */ typedef struct AvahiAddressResolver AvahiAddressResolver; +/** A record browser object */ +typedef struct AvahiRecordBrowser AvahiRecordBrowser; + /** The function prototype for the callback of an AvahiDomainBrowser */ -typedef void (*AvahiDomainBrowserCallback) (AvahiDomainBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *domain, AvahiLookupResultFlags flags, void *userdata); +typedef void (*AvahiDomainBrowserCallback) ( + AvahiDomainBrowser *b, + AvahiIfIndex interface, + AvahiProtocol protocol, + AvahiBrowserEvent event, + const char *domain, + AvahiLookupResultFlags flags, + void *userdata); /** The function prototype for the callback of an AvahiServiceBrowser */ -typedef void (*AvahiServiceBrowserCallback) (AvahiServiceBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, const char *type, const char *domain, AvahiLookupResultFlags flags, void *userdata); +typedef void (*AvahiServiceBrowserCallback) ( + AvahiServiceBrowser *b, + AvahiIfIndex interface, + AvahiProtocol protocol, + AvahiBrowserEvent event, + const char *name, + const char *type, + const char *domain, + AvahiLookupResultFlags flags, + void *userdata); /** The function prototype for the callback of an AvahiServiceTypeBrowser */ -typedef void (*AvahiServiceTypeBrowserCallback) (AvahiServiceTypeBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *type, const char *domain, AvahiLookupResultFlags flags, void *userdata); +typedef void (*AvahiServiceTypeBrowserCallback) ( + AvahiServiceTypeBrowser *b, + AvahiIfIndex interface, + AvahiProtocol protocol, + AvahiBrowserEvent event, + const char *type, + const char *domain, + AvahiLookupResultFlags flags, + void *userdata); /** The function prototype for the callback of an AvahiServiceResolver */ typedef void (*AvahiServiceResolverCallback) ( @@ -105,6 +132,20 @@ typedef void (*AvahiAddressResolverCallback) ( AvahiLookupResultFlags flags, void *userdata); +/** The function prototype for the callback of an AvahiRecordBrowser */ +typedef void (*AvahiRecordBrowserCallback) ( + AvahiRecordBrowser *b, + AvahiIfIndex interface, + AvahiProtocol protocol, + AvahiBrowserEvent event, + const char *name, + uint16_t clazz, + uint16_t type, + const void *rdata, + size_t size, + AvahiLookupResultFlags flags, + void *userdata); + /** Browse for domains on the local network */ AvahiDomainBrowser* avahi_domain_browser_new ( AvahiClient *client, @@ -152,10 +193,12 @@ AvahiServiceBrowser* avahi_service_browser_new ( /** Get the parent client of an AvahiServiceBrowser object */ AvahiClient* avahi_service_browser_get_client (AvahiServiceBrowser *); -/* Cleans up and frees an AvahiServiceBrowser object */ +/** Cleans up and frees an AvahiServiceBrowser object */ int avahi_service_browser_free (AvahiServiceBrowser *); -/** Create a new service resolver object */ +/** Create a new service resolver object. Please make sure to pass all + * the service data you received via avahi_service_browser_new()'s + * callback function, especially interface and protocol. */ AvahiServiceResolver * avahi_service_resolver_new( AvahiClient *client, AvahiIfIndex interface, @@ -207,6 +250,24 @@ AvahiClient* avahi_address_resolver_get_client (AvahiAddressResolver *); /** Free a AvahiAddressResolver resolver object */ int avahi_address_resolver_free(AvahiAddressResolver *r); +/** Browse for records of a type on the local network */ +AvahiRecordBrowser* avahi_record_browser_new( + AvahiClient *client, + AvahiIfIndex interface, + AvahiProtocol protocol, + const char *name, + uint16_t clazz, + uint16_t type, + AvahiLookupFlags flags, + AvahiRecordBrowserCallback callback, + void *userdata); + +/** Get the parent client of an AvahiRecordBrowser object */ +AvahiClient* avahi_record_browser_get_client(AvahiRecordBrowser *); + +/** Cleans up and frees an AvahiRecordBrowser object */ +int avahi_record_browser_free(AvahiRecordBrowser *); + AVAHI_C_DECL_END #endif