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
00095 AvahiServiceBrowser* avahi_service_browser_new (
00096 AvahiClient *client,
00097 AvahiIfIndex interface,
00098 AvahiProtocol protocol,
00099 const char *type,
00100 const char *domain,
00101 AvahiLookupFlags flags,
00102 AvahiServiceBrowserCallback callback,
00103 void *userdata);
00104
00106 AvahiClient* avahi_service_browser_get_client (AvahiServiceBrowser *);
00107
00109 int avahi_service_browser_free (AvahiServiceBrowser *);
00110
00115 typedef struct AvahiServiceTypeBrowser AvahiServiceTypeBrowser;
00116
00118 typedef void (*AvahiServiceTypeBrowserCallback) (
00119 AvahiServiceTypeBrowser *b,
00120 AvahiIfIndex interface,
00121 AvahiProtocol protocol,
00122 AvahiBrowserEvent event,
00123 const char *type,
00124 const char *domain,
00125 AvahiLookupResultFlags flags,
00126 void *userdata);
00127
00129 AvahiServiceTypeBrowser* avahi_service_type_browser_new (
00130 AvahiClient *client,
00131 AvahiIfIndex interface,
00132 AvahiProtocol protocol,
00133 const char *domain,
00134 AvahiLookupFlags flags,
00135 AvahiServiceTypeBrowserCallback callback,
00136 void *userdata);
00137
00139 AvahiClient* avahi_service_type_browser_get_client (AvahiServiceTypeBrowser *);
00140
00142 int avahi_service_type_browser_free (AvahiServiceTypeBrowser *);
00143
00149 typedef struct AvahiServiceResolver AvahiServiceResolver;
00150
00152 typedef void (*AvahiServiceResolverCallback) (
00153 AvahiServiceResolver *r,
00154 AvahiIfIndex interface,
00155 AvahiProtocol protocol,
00156 AvahiResolverEvent event,
00157 const char *name,
00158 const char *type,
00159 const char *domain,
00160 const char *host_name,
00161 const AvahiAddress *a,
00162 uint16_t port,
00163 AvahiStringList *txt,
00164 AvahiLookupResultFlags flags,
00165 void *userdata);
00166
00170 AvahiServiceResolver * avahi_service_resolver_new(
00171 AvahiClient *client,
00172 AvahiIfIndex interface,
00173 AvahiProtocol protocol,
00174 const char *name,
00175 const char *type,
00176 const char *domain,
00177 AvahiProtocol aprotocol,
00178 AvahiLookupFlags flags,
00179 AvahiServiceResolverCallback callback,
00180 void *userdata);
00181
00183 AvahiClient* avahi_service_resolver_get_client (AvahiServiceResolver *);
00184
00186 int avahi_service_resolver_free(AvahiServiceResolver *r);
00187
00192 typedef struct AvahiHostNameResolver AvahiHostNameResolver;
00193
00195 typedef void (*AvahiHostNameResolverCallback) (
00196 AvahiHostNameResolver *r,
00197 AvahiIfIndex interface,
00198 AvahiProtocol protocol,
00199 AvahiResolverEvent event,
00200 const char *name,
00201 const AvahiAddress *a,
00202 AvahiLookupResultFlags flags,
00203 void *userdata);
00204
00206 AvahiHostNameResolver * avahi_host_name_resolver_new(
00207 AvahiClient *client,
00208 AvahiIfIndex interface,
00209 AvahiProtocol protocol,
00210 const char *name,
00211 AvahiProtocol aprotocol,
00212 AvahiLookupFlags flags,
00213 AvahiHostNameResolverCallback callback,
00214 void *userdata);
00215
00217 AvahiClient* avahi_host_name_resolver_get_client (AvahiHostNameResolver *);
00218
00220 int avahi_host_name_resolver_free(AvahiHostNameResolver *r);
00221
00223 typedef struct AvahiAddressResolver AvahiAddressResolver;
00224
00226 typedef void (*AvahiAddressResolverCallback) (
00227 AvahiAddressResolver *r,
00228 AvahiIfIndex interface,
00229 AvahiProtocol protocol,
00230 AvahiResolverEvent event,
00231 const AvahiAddress *a,
00232 const char *name,
00233 AvahiLookupResultFlags flags,
00234 void *userdata);
00235
00237 AvahiAddressResolver* avahi_address_resolver_new(
00238 AvahiClient *client,
00239 AvahiIfIndex interface,
00240 AvahiProtocol protocol,
00241 const AvahiAddress *a,
00242 AvahiLookupFlags flags,
00243 AvahiAddressResolverCallback callback,
00244 void *userdata);
00245
00247 AvahiClient* avahi_address_resolver_get_client (AvahiAddressResolver *);
00248
00250 int avahi_address_resolver_free(AvahiAddressResolver *r);
00251
00257 typedef struct AvahiRecordBrowser AvahiRecordBrowser;
00258
00260 typedef void (*AvahiRecordBrowserCallback) (
00261 AvahiRecordBrowser *b,
00262 AvahiIfIndex interface,
00263 AvahiProtocol protocol,
00264 AvahiBrowserEvent event,
00265 const char *name,
00266 uint16_t clazz,
00267 uint16_t type,
00268 const void *rdata,
00269 size_t size,
00270 AvahiLookupResultFlags flags,
00271 void *userdata);
00272
00274 AvahiRecordBrowser* avahi_record_browser_new(
00275 AvahiClient *client,
00276 AvahiIfIndex interface,
00277 AvahiProtocol protocol,
00278 const char *name,
00279 uint16_t clazz,
00280 uint16_t type,
00281 AvahiLookupFlags flags,
00282 AvahiRecordBrowserCallback callback,
00283 void *userdata);
00284
00286 AvahiClient* avahi_record_browser_get_client(AvahiRecordBrowser *);
00287
00289 int avahi_record_browser_free(AvahiRecordBrowser *);
00290
00293 AVAHI_C_DECL_END
00294
00295 #endif