X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=include%2Favahi%2Flookup.h;fp=include%2Favahi%2Flookup.h;h=0000000000000000000000000000000000000000;hb=2c550daf4ac6a6aab7f21047c037b4dd53c57fa6;hp=5a04ff94952b1becb09ce62264cd78acda7bc466;hpb=37d19f15523b6fe4d1fef2329abe421221b3d4b3;p=catta diff --git a/include/avahi/lookup.h b/include/avahi/lookup.h deleted file mode 100644 index 5a04ff9..0000000 --- a/include/avahi/lookup.h +++ /dev/null @@ -1,235 +0,0 @@ -#ifndef foolookuphfoo -#define foolookuphfoo - -/*** - 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. -***/ - -/** \file avahi/lookup.h Functions for browsing/resolving services and other RRs */ - -/** \example core-browse-services.c Example how to browse for DNS-SD - * services using an embedded mDNS stack. */ - -/** A browsing object for arbitrary RRs */ -typedef struct AvahiSRecordBrowser AvahiSRecordBrowser; - -/** A host name to IP adddress resolver object */ -typedef struct AvahiSHostNameResolver AvahiSHostNameResolver; - -/** An IP address to host name resolver object ("reverse lookup") */ -typedef struct AvahiSAddressResolver AvahiSAddressResolver; - -/** A local domain browsing object. May be used to enumerate domains used on the local LAN */ -typedef struct AvahiSDomainBrowser AvahiSDomainBrowser; - -/** A DNS-SD service type browsing object. May be used to enumerate the service types of all available services on the local LAN */ -typedef struct AvahiSServiceTypeBrowser AvahiSServiceTypeBrowser; - -/** A DNS-SD service browser. Use this to enumerate available services of a certain kind on the local LAN. Use AvahiSServiceResolver to get specific service data like address and port for a service. */ -typedef struct AvahiSServiceBrowser AvahiSServiceBrowser; - -/** A DNS-SD service resolver. Use this to retrieve addres, port and TXT data for a DNS-SD service */ -typedef struct AvahiSServiceResolver AvahiSServiceResolver; - -#include -#include -#include - -AVAHI_C_DECL_BEGIN - -/** Callback prototype for AvahiSRecordBrowser events */ -typedef void (*AvahiSRecordBrowserCallback)( - AvahiSRecordBrowser *b, /**< The AvahiSRecordBrowser object that is emitting this callback */ - AvahiIfIndex interface, /**< Logical OS network interface number the record was found on */ - AvahiProtocol protocol, /**< Protocol number the record was found. */ - AvahiBrowserEvent event, /**< Browsing event, either AVAHI_BROWSER_NEW or AVAHI_BROWSER_REMOVE */ - AvahiRecord *record, /**< The record that was found */ - AvahiLookupResultFlags flags, /**< Lookup flags */ - void* userdata /**< Arbitrary user data passed to avahi_s_record_browser_new() */ ); - -/** Create a new browsing object for arbitrary RRs */ -AvahiSRecordBrowser *avahi_s_record_browser_new( - AvahiServer *server, /**< The server object to which attach this query */ - AvahiIfIndex interface, /**< Logical OS interface number where to look for the records, or AVAHI_IF_UNSPEC to look on interfaces */ - AvahiProtocol protocol, /**< Protocol number to use when looking for the record, or AVAHI_PROTO_UNSPEC to look on all protocols */ - AvahiKey *key, /**< The search key */ - AvahiLookupFlags flags, /**< Lookup flags. Must have set either AVAHI_LOOKUP_FORCE_WIDE_AREA or AVAHI_LOOKUP_FORCE_MULTICAST, since domain based detection is not available here. */ - AvahiSRecordBrowserCallback callback, /**< The callback to call on browsing events */ - void* userdata /**< Arbitrary use suppliable data which is passed to the callback */); - -/** Free an AvahiSRecordBrowser object */ -void avahi_s_record_browser_free(AvahiSRecordBrowser *b); - -/** Callback prototype for AvahiSHostNameResolver events */ -typedef void (*AvahiSHostNameResolverCallback)( - AvahiSHostNameResolver *r, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiResolverEvent event, /**< Resolving event */ - const char *host_name, /**< Host name which should be resolved. May differ in case from the query */ - const AvahiAddress *a, /**< The address, or NULL if the host name couldn't be resolved. */ - AvahiLookupResultFlags flags, /**< Lookup flags */ - void* userdata); - -/** Create an AvahiSHostNameResolver object for resolving a host name to an adddress. See AvahiSRecordBrowser for more info on the paramters. */ -AvahiSHostNameResolver *avahi_s_host_name_resolver_new( - AvahiServer *server, - AvahiIfIndex interface, - AvahiProtocol protocol, - const char *host_name, /**< The host name to look for */ - AvahiProtocol aprotocol, /**< The address family of the desired address or AVAHI_PROTO_UNSPEC if doesn't matter. */ - AvahiLookupFlags flags, /**< Lookup flags. */ - AvahiSHostNameResolverCallback calback, - void* userdata); - -/** Free a AvahiSHostNameResolver object */ -void avahi_s_host_name_resolver_free(AvahiSHostNameResolver *r); - -/** Callback prototype for AvahiSAddressResolver events */ -typedef void (*AvahiSAddressResolverCallback)( - AvahiSAddressResolver *r, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiResolverEvent event, - const AvahiAddress *a, - const char *host_name, /**< A host name for the specified address, if one was found, i.e. event == AVAHI_RESOLVER_FOUND */ - AvahiLookupResultFlags flags, /**< Lookup flags */ - void* userdata); - -/** Create an AvahiSAddressResolver object. See AvahiSRecordBrowser for more info on the paramters. */ -AvahiSAddressResolver *avahi_s_address_resolver_new( - AvahiServer *server, - AvahiIfIndex interface, - AvahiProtocol protocol, - const AvahiAddress *address, - AvahiLookupFlags flags, /**< Lookup flags. */ - AvahiSAddressResolverCallback calback, - void* userdata); - -/** Free an AvahiSAddressResolver object */ -void avahi_s_address_resolver_free(AvahiSAddressResolver *r); - -/** Callback prototype for AvahiSDomainBrowser events */ -typedef void (*AvahiSDomainBrowserCallback)( - AvahiSDomainBrowser *b, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiBrowserEvent event, - const char *domain, - AvahiLookupResultFlags flags, /**< Lookup flags */ - void* userdata); - -/** Create a new AvahiSDomainBrowser object */ -AvahiSDomainBrowser *avahi_s_domain_browser_new( - AvahiServer *server, - AvahiIfIndex interface, - AvahiProtocol protocol, - const char *domain, - AvahiDomainBrowserType type, - AvahiLookupFlags flags, /**< Lookup flags. */ - AvahiSDomainBrowserCallback callback, - void* userdata); - -/** Free an AvahiSDomainBrowser object */ -void avahi_s_domain_browser_free(AvahiSDomainBrowser *b); - -/** Callback prototype for AvahiSServiceTypeBrowser events */ -typedef void (*AvahiSServiceTypeBrowserCallback)( - AvahiSServiceTypeBrowser *b, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiBrowserEvent event, - const char *type, - const char *domain, - AvahiLookupResultFlags flags, /**< Lookup flags */ - void* userdata); - -/** Create a new AvahiSServiceTypeBrowser object. */ -AvahiSServiceTypeBrowser *avahi_s_service_type_browser_new( - AvahiServer *server, - AvahiIfIndex interface, - AvahiProtocol protocol, - const char *domain, - AvahiLookupFlags flags, /**< Lookup flags. */ - AvahiSServiceTypeBrowserCallback callback, - void* userdata); - -/** Free an AvahiSServiceTypeBrowser object */ -void avahi_s_service_type_browser_free(AvahiSServiceTypeBrowser *b); - -/** Callback prototype for AvahiSServiceBrowser events */ -typedef void (*AvahiSServiceBrowserCallback)( - AvahiSServiceBrowser *b, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiBrowserEvent event, - const char *name /**< Service name, e.g. "Lennart's Files" */, - const char *type /**< DNS-SD type, e.g. "_http._tcp" */, - const char *domain /**< Domain of this service, e.g. "local" */, - AvahiLookupResultFlags flags, /**< Lookup flags */ - void* userdata); - -/** Create a new AvahiSServiceBrowser object. */ -AvahiSServiceBrowser *avahi_s_service_browser_new( - AvahiServer *server, - AvahiIfIndex interface, - AvahiProtocol protocol, - const char *service_type /** DNS-SD service type, e.g. "_http._tcp" */, - const char *domain, - AvahiLookupFlags flags, /**< Lookup flags. */ - AvahiSServiceBrowserCallback callback, - void* userdata); - -/** Free an AvahiSServiceBrowser object */ -void avahi_s_service_browser_free(AvahiSServiceBrowser *b); - -/** Callback prototype for AvahiSServiceResolver events */ -typedef void (*AvahiSServiceResolverCallback)( - AvahiSServiceResolver *r, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiResolverEvent event, /**< Is AVAHI_RESOLVER_FOUND when the service was resolved successfully, and everytime it changes. Is AVAHI_RESOLVER_TIMOUT when the service failed to resolve or disappeared. */ - const char *name, /**< Service name */ - const char *type, /**< Service Type */ - const char *domain, - const char *host_name, /**< Host name of the service */ - const AvahiAddress *a, /**< The resolved host name */ - uint16_t port, /**< Service name */ - AvahiStringList *txt, /**< TXT record data */ - AvahiLookupResultFlags flags, /**< Lookup flags */ - void* userdata); - -/** Create a new AvahiSServiceResolver object. The specified callback function will be called with the resolved service data. */ -AvahiSServiceResolver *avahi_s_service_resolver_new( - AvahiServer *server, - AvahiIfIndex interface, - AvahiProtocol protocol, - const char *name, - const char *type, - const char *domain, - AvahiProtocol aprotocol, /**< Address family of the desired service address. Use AVAHI_PROTO_UNSPEC if you don't care */ - AvahiLookupFlags flags, /**< Lookup flags. */ - AvahiSServiceResolverCallback calback, - void* userdata); - -/** Free an AvahiSServiceResolver object */ -void avahi_s_service_resolver_free(AvahiSServiceResolver *r); - -AVAHI_C_DECL_END - -#endif