00001 #ifndef fooclientlookuphfoo
00002 #define fooclientlookuphfoo
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include <inttypes.h>
00026
00027 #include <avahi-common/cdecl.h>
00028 #include <avahi-common/address.h>
00029 #include <avahi-common/strlst.h>
00030 #include <avahi-common/defs.h>
00031 #include <avahi-common/watch.h>
00032 #include <avahi-common/gccmacro.h>
00033
00034 #include <avahi-client/client.h>
00035
00041 AVAHI_C_DECL_BEGIN
00042
00046 typedef struct AvahiDomainBrowser AvahiDomainBrowser;
00047
00049 typedef void (*AvahiDomainBrowserCallback) (
00050 AvahiDomainBrowser *b,
00051 AvahiIfIndex interface,
00052 AvahiProtocol protocol,
00053 AvahiBrowserEvent event,
00054 const char *domain,
00055 AvahiLookupResultFlags flags,
00056 void *userdata);
00057
00059 AvahiDomainBrowser* avahi_domain_browser_new (
00060 AvahiClient *client,
00061 AvahiIfIndex interface,
00062 AvahiProtocol protocol,
00063 const char *domain,
00064 AvahiDomainBrowserType btype,
00065 AvahiLookupFlags flags,
00066 AvahiDomainBrowserCallback callback,
00067 void *userdata);
00068
00070 AvahiClient* avahi_domain_browser_get_client (AvahiDomainBrowser *);
00071
00073 int avahi_domain_browser_free (AvahiDomainBrowser *);
00074
00080 typedef struct AvahiServiceBrowser AvahiServiceBrowser;
00081
00083 typedef void (*AvahiServiceBrowserCallback) (
00084 AvahiServiceBrowser *b,
00085 AvahiIfIndex interface,
00086 AvahiProtocol protocol,
00087 AvahiBrowserEvent event,
00088 const char *name,
00089 const char *type,
00090 const char *domain,
00091 AvahiLookupResultFlags flags,
00092 void *userdata);
00093
00105 AvahiServiceBrowser* avahi_service_browser_new (
00106 AvahiClient *client,
00107 AvahiIfIndex interface,
00108 AvahiProtocol protocol,
00109 const char *type,
00110 const char *domain,
00111 AvahiLookupFlags flags,
00112 AvahiServiceBrowserCallback callback,
00113 void *userdata);
00114
00116 AvahiClient* avahi_service_browser_get_client (AvahiServiceBrowser *);
00117
00119 int avahi_service_browser_free (AvahiServiceBrowser *);
00120
00125 typedef struct AvahiServiceTypeBrowser AvahiServiceTypeBrowser;
00126
00128 typedef void (*AvahiServiceTypeBrowserCallback) (
00129 AvahiServiceTypeBrowser *b,
00130 AvahiIfIndex interface,
00131 AvahiProtocol protocol,
00132 AvahiBrowserEvent event,
00133 const char *type,
00134 const char *domain,
00135 AvahiLookupResultFlags flags,
00136 void *userdata);
00137
00139 AvahiServiceTypeBrowser* avahi_service_type_browser_new (
00140 AvahiClient *client,
00141 AvahiIfIndex interface,
00142 AvahiProtocol protocol,
00143 const char *domain,
00144 AvahiLookupFlags flags,
00145 AvahiServiceTypeBrowserCallback callback,
00146 void *userdata);
00147
00149 AvahiClient* avahi_service_type_browser_get_client (AvahiServiceTypeBrowser *);
00150
00152 int avahi_service_type_browser_free (AvahiServiceTypeBrowser *);
00153
00159 typedef struct AvahiServiceResolver AvahiServiceResolver;
00160
00162 typedef void (*AvahiServiceResolverCallback) (
00163 AvahiServiceResolver *r,
00164 AvahiIfIndex interface,
00165 AvahiProtocol protocol,
00166 AvahiResolverEvent event,
00167 const char *name,
00168 const char *type,
00169 const char *domain,
00170 const char *host_name,
00171 const AvahiAddress *a,
00172 uint16_t port,
00173 AvahiStringList *txt,
00174 AvahiLookupResultFlags flags,
00175 void *userdata);
00176
00191 AvahiServiceResolver * avahi_service_resolver_new(
00192 AvahiClient *client,
00193 AvahiIfIndex interface,
00194 AvahiProtocol protocol,
00195 const char *name,
00196 const char *type,
00197 const char *domain,
00198 AvahiProtocol aprotocol,
00199 AvahiLookupFlags flags,
00200 AvahiServiceResolverCallback callback,
00201 void *userdata);
00202
00204 AvahiClient* avahi_service_resolver_get_client (AvahiServiceResolver *);
00205
00207 int avahi_service_resolver_free(AvahiServiceResolver *r);
00208
00213 typedef struct AvahiHostNameResolver AvahiHostNameResolver;
00214
00216 typedef void (*AvahiHostNameResolverCallback) (
00217 AvahiHostNameResolver *r,
00218 AvahiIfIndex interface,
00219 AvahiProtocol protocol,
00220 AvahiResolverEvent event,
00221 const char *name,
00222 const AvahiAddress *a,
00223 AvahiLookupResultFlags flags,
00224 void *userdata);
00225
00227 AvahiHostNameResolver * avahi_host_name_resolver_new(
00228 AvahiClient *client,
00229 AvahiIfIndex interface,
00230 AvahiProtocol protocol,
00231 const char *name,
00232 AvahiProtocol aprotocol,
00233 AvahiLookupFlags flags,
00234 AvahiHostNameResolverCallback callback,
00235 void *userdata);
00236
00238 AvahiClient* avahi_host_name_resolver_get_client (AvahiHostNameResolver *);
00239
00241 int avahi_host_name_resolver_free(AvahiHostNameResolver *r);
00242
00244 typedef struct AvahiAddressResolver AvahiAddressResolver;
00245
00247 typedef void (*AvahiAddressResolverCallback) (
00248 AvahiAddressResolver *r,
00249 AvahiIfIndex interface,
00250 AvahiProtocol protocol,
00251 AvahiResolverEvent event,
00252 const AvahiAddress *a,
00253 const char *name,
00254 AvahiLookupResultFlags flags,
00255 void *userdata);
00256
00258 AvahiAddressResolver* avahi_address_resolver_new(
00259 AvahiClient *client,
00260 AvahiIfIndex interface,
00261 AvahiProtocol protocol,
00262 const AvahiAddress *a,
00263 AvahiLookupFlags flags,
00264 AvahiAddressResolverCallback callback,
00265 void *userdata);
00266
00268 AvahiClient* avahi_address_resolver_get_client (AvahiAddressResolver *);
00269
00271 int avahi_address_resolver_free(AvahiAddressResolver *r);
00272
00278 typedef struct AvahiRecordBrowser AvahiRecordBrowser;
00279
00281 typedef void (*AvahiRecordBrowserCallback) (
00282 AvahiRecordBrowser *b,
00283 AvahiIfIndex interface,
00284 AvahiProtocol protocol,
00285 AvahiBrowserEvent event,
00286 const char *name,
00287 uint16_t clazz,
00288 uint16_t type,
00289 const void *rdata,
00290 size_t size,
00291 AvahiLookupResultFlags flags,
00292 void *userdata);
00293
00295 AvahiRecordBrowser* avahi_record_browser_new(
00296 AvahiClient *client,
00297 AvahiIfIndex interface,
00298 AvahiProtocol protocol,
00299 const char *name,
00300 uint16_t clazz,
00301 uint16_t type,
00302 AvahiLookupFlags flags,
00303 AvahiRecordBrowserCallback callback,
00304 void *userdata);
00305
00307 AvahiClient* avahi_record_browser_get_client(AvahiRecordBrowser *);
00308
00310 int avahi_record_browser_free(AvahiRecordBrowser *);
00311
00314 AVAHI_C_DECL_END
00315
00316 #endif