X-Git-Url: http://git.meshlink.io/?p=catta;a=blobdiff_plain;f=examples%2Fcore-browse-services.c;h=44f8ece0f48fb8d346d52f2f73d18538cec89d8b;hp=563125b54ad326429722567d46d4f713f616a36a;hb=2c550daf4ac6a6aab7f21047c037b4dd53c57fa6;hpb=37d19f15523b6fe4d1fef2329abe421221b3d4b3 diff --git a/examples/core-browse-services.c b/examples/core-browse-services.c index 563125b..44f8ece 100644 --- a/examples/core-browse-services.c +++ b/examples/core-browse-services.c @@ -1,5 +1,5 @@ /* PLEASE NOTE * - * This file demonstrates how to use Avahi's core API, this is + * This file demonstrates how to use Catta's core API, this is * the embeddable mDNS stack for embedded applications. * * End user applications should *not* use this API and should use @@ -10,20 +10,20 @@ */ /*** - This file is part of avahi. + This file is part of catta. - avahi is free software; you can redistribute it and/or modify it + catta 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 + catta 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 + License along with catta; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. ***/ @@ -37,46 +37,46 @@ #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -static AvahiSimplePoll *simple_poll = NULL; -static AvahiServer *server = NULL; +static CattaSimplePoll *simple_poll = NULL; +static CattaServer *server = NULL; static void resolve_callback( - AvahiSServiceResolver *r, - AVAHI_GCC_UNUSED AvahiIfIndex interface, - AVAHI_GCC_UNUSED AvahiProtocol protocol, - AvahiResolverEvent event, + CattaSServiceResolver *r, + CATTA_GCC_UNUSED CattaIfIndex interface, + CATTA_GCC_UNUSED CattaProtocol protocol, + CattaResolverEvent event, const char *name, const char *type, const char *domain, const char *host_name, - const AvahiAddress *address, + const CattaAddress *address, uint16_t port, - AvahiStringList *txt, - AvahiLookupResultFlags flags, - AVAHI_GCC_UNUSED void* userdata) { + CattaStringList *txt, + CattaLookupResultFlags flags, + CATTA_GCC_UNUSED void* userdata) { assert(r); /* Called whenever a service has been resolved successfully or timed out */ switch (event) { - case AVAHI_RESOLVER_FAILURE: - fprintf(stderr, "(Resolver) Failed to resolve service '%s' of type '%s' in domain '%s': %s\n", name, type, domain, avahi_strerror(avahi_server_errno(server))); + case CATTA_RESOLVER_FAILURE: + fprintf(stderr, "(Resolver) Failed to resolve service '%s' of type '%s' in domain '%s': %s\n", name, type, domain, catta_strerror(catta_server_errno(server))); break; - case AVAHI_RESOLVER_FOUND: { - char a[AVAHI_ADDRESS_STR_MAX], *t; + case CATTA_RESOLVER_FOUND: { + char a[CATTA_ADDRESS_STR_MAX], *t; fprintf(stderr, "(Resolver) Service '%s' of type '%s' in domain '%s':\n", name, type, domain); - avahi_address_snprint(a, sizeof(a), address); - t = avahi_string_list_to_string(txt); + catta_address_snprint(a, sizeof(a), address); + t = catta_string_list_to_string(txt); fprintf(stderr, "\t%s:%u (%s)\n" "\tTXT=%s\n" @@ -87,43 +87,43 @@ static void resolve_callback( "\tcached: %i\n", host_name, port, a, t, - avahi_string_list_get_service_cookie(txt), - !!(flags & AVAHI_LOOKUP_RESULT_LOCAL), - !!(flags & AVAHI_LOOKUP_RESULT_WIDE_AREA), - !!(flags & AVAHI_LOOKUP_RESULT_MULTICAST), - !!(flags & AVAHI_LOOKUP_RESULT_CACHED)); - avahi_free(t); + catta_string_list_get_service_cookie(txt), + !!(flags & CATTA_LOOKUP_RESULT_LOCAL), + !!(flags & CATTA_LOOKUP_RESULT_WIDE_AREA), + !!(flags & CATTA_LOOKUP_RESULT_MULTICAST), + !!(flags & CATTA_LOOKUP_RESULT_CACHED)); + catta_free(t); } } - avahi_s_service_resolver_free(r); + catta_s_service_resolver_free(r); } static void browse_callback( - AvahiSServiceBrowser *b, - AvahiIfIndex interface, - AvahiProtocol protocol, - AvahiBrowserEvent event, + CattaSServiceBrowser *b, + CattaIfIndex interface, + CattaProtocol protocol, + CattaBrowserEvent event, const char *name, const char *type, const char *domain, - AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, + CATTA_GCC_UNUSED CattaLookupResultFlags flags, void* userdata) { - AvahiServer *s = userdata; + CattaServer *s = userdata; assert(b); /* Called whenever a new services becomes available on the LAN or is removed from the LAN */ switch (event) { - case AVAHI_BROWSER_FAILURE: + case CATTA_BROWSER_FAILURE: - fprintf(stderr, "(Browser) %s\n", avahi_strerror(avahi_server_errno(server))); - avahi_simple_poll_quit(simple_poll); + fprintf(stderr, "(Browser) %s\n", catta_strerror(catta_server_errno(server))); + catta_simple_poll_quit(simple_poll); return; - case AVAHI_BROWSER_NEW: + case CATTA_BROWSER_NEW: fprintf(stderr, "(Browser) NEW: service '%s' of type '%s' in domain '%s'\n", name, type, domain); /* We ignore the returned resolver object. In the callback @@ -131,25 +131,25 @@ static void browse_callback( the callback function is called the server will free the resolver for us. */ - if (!(avahi_s_service_resolver_new(s, interface, protocol, name, type, domain, AVAHI_PROTO_UNSPEC, 0, resolve_callback, s))) - fprintf(stderr, "Failed to resolve service '%s': %s\n", name, avahi_strerror(avahi_server_errno(s))); + if (!(catta_s_service_resolver_new(s, interface, protocol, name, type, domain, CATTA_PROTO_UNSPEC, 0, resolve_callback, s))) + fprintf(stderr, "Failed to resolve service '%s': %s\n", name, catta_strerror(catta_server_errno(s))); break; - case AVAHI_BROWSER_REMOVE: + case CATTA_BROWSER_REMOVE: fprintf(stderr, "(Browser) REMOVE: service '%s' of type '%s' in domain '%s'\n", name, type, domain); break; - case AVAHI_BROWSER_ALL_FOR_NOW: - case AVAHI_BROWSER_CACHE_EXHAUSTED: - fprintf(stderr, "(Browser) %s\n", event == AVAHI_BROWSER_CACHE_EXHAUSTED ? "CACHE_EXHAUSTED" : "ALL_FOR_NOW"); + case CATTA_BROWSER_ALL_FOR_NOW: + case CATTA_BROWSER_CACHE_EXHAUSTED: + fprintf(stderr, "(Browser) %s\n", event == CATTA_BROWSER_CACHE_EXHAUSTED ? "CACHE_EXHAUSTED" : "ALL_FOR_NOW"); break; } } -int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char*argv[]) { - AvahiServerConfig config; - AvahiSServiceBrowser *sb = NULL; +int main(CATTA_GCC_UNUSED int argc, CATTA_GCC_UNUSED char*argv[]) { + CattaServerConfig config; + CattaSServiceBrowser *sb = NULL; int error; int ret = 1; @@ -157,43 +157,43 @@ int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char*argv[]) { srand(time(NULL)); /* Allocate main loop object */ - if (!(simple_poll = avahi_simple_poll_new())) { + if (!(simple_poll = catta_simple_poll_new())) { fprintf(stderr, "Failed to create simple poll object.\n"); goto fail; } /* Do not publish any local records */ - avahi_server_config_init(&config); + catta_server_config_init(&config); config.publish_hinfo = 0; config.publish_addresses = 0; config.publish_workstation = 0; config.publish_domain = 0; /* Set a unicast DNS server for wide area DNS-SD */ - avahi_address_parse("192.168.50.1", AVAHI_PROTO_UNSPEC, &config.wide_area_servers[0]); + catta_address_parse("192.168.50.1", CATTA_PROTO_UNSPEC, &config.wide_area_servers[0]); config.n_wide_area_servers = 1; config.enable_wide_area = 1; /* Allocate a new server */ - server = avahi_server_new(avahi_simple_poll_get(simple_poll), &config, NULL, NULL, &error); + server = catta_server_new(catta_simple_poll_get(simple_poll), &config, NULL, NULL, &error); /* Free the configuration data */ - avahi_server_config_free(&config); + catta_server_config_free(&config); /* Check wether creating the server object succeeded */ if (!server) { - fprintf(stderr, "Failed to create server: %s\n", avahi_strerror(error)); + fprintf(stderr, "Failed to create server: %s\n", catta_strerror(error)); goto fail; } /* Create the service browser */ - if (!(sb = avahi_s_service_browser_new(server, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, "_ipp._tcp", NULL, 0, browse_callback, server))) { - fprintf(stderr, "Failed to create service browser: %s\n", avahi_strerror(avahi_server_errno(server))); + if (!(sb = catta_s_service_browser_new(server, CATTA_IF_UNSPEC, CATTA_PROTO_UNSPEC, "_ipp._tcp", NULL, 0, browse_callback, server))) { + fprintf(stderr, "Failed to create service browser: %s\n", catta_strerror(catta_server_errno(server))); goto fail; } /* Run the main loop */ - avahi_simple_poll_loop(simple_poll); + catta_simple_poll_loop(simple_poll); ret = 0; @@ -201,13 +201,13 @@ fail: /* Cleanup things */ if (sb) - avahi_s_service_browser_free(sb); + catta_s_service_browser_free(sb); if (server) - avahi_server_free(server); + catta_server_free(server); if (simple_poll) - avahi_simple_poll_free(simple_poll); + catta_simple_poll_free(simple_poll); return ret; }