1/*** 2 This file is part of avahi. 3 4 avahi is free software; you can redistribute it and/or modify it 5 under the terms of the GNU Lesser General Public License as 6 published by the Free Software Foundation; either version 2.1 of the 7 License, or (at your option) any later version. 8 9 avahi is distributed in the hope that it will be useful, but WITHOUT 10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 11 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General 12 Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with avahi; if not, write to the Free Software 16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 17 USA. 18***/ 19 20#ifdef HAVE_CONFIG_H 21#include <config.h> 22#endif 23 24#include <stdio.h> 25#include <assert.h> 26 27#include <avahi-client/client.h> 28#include <avahi-client/lookup.h> 29#include <avahi-common/error.h> 30#include <avahi-common/simple-watch.h> 31#include "avahi-common/avahi-malloc.h" 32 33static void callback( 34 AVAHI_GCC_UNUSED AvahiServiceResolver *r, 35 AVAHI_GCC_UNUSED AvahiIfIndex interface, 36 AVAHI_GCC_UNUSED AvahiProtocol protocol, 37 AvahiResolverEvent event, 38 const char *name, 39 const char *type, 40 const char *domain, 41 const char *host_name, 42 AVAHI_GCC_UNUSED const AvahiAddress *a, 43 AVAHI_GCC_UNUSED uint16_t port, 44 AVAHI_GCC_UNUSED AvahiStringList *txt, 45 AVAHI_GCC_UNUSED AvahiLookupResultFlags flags, 46 AVAHI_GCC_UNUSED void *userdata) { 47 48 fprintf(stderr, "%i name=%s type=%s domain=%s host=%s\n", event, name, type, domain, host_name); 49} 50 51int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) { 52 53 AvahiSimplePoll *simple_poll; 54 const AvahiPoll *poll_api; 55 AvahiClient *client; 56 AvahiServiceResolver *r; 57 58 simple_poll = avahi_simple_poll_new(); 59 assert(simple_poll); 60 61 poll_api = avahi_simple_poll_get(simple_poll); 62 assert(poll_api); 63 64 client = avahi_client_new(poll_api, 0, NULL, NULL, NULL); 65 assert(client); 66 67 r = avahi_service_resolver_new(client, AVAHI_IF_UNSPEC, AVAHI_PROTO_UNSPEC, NULL, "_domain._udp", "0pointer.de", AVAHI_PROTO_UNSPEC, AVAHI_LOOKUP_NO_TXT, callback, simple_poll); 68 assert(r); 69 70 avahi_simple_poll_loop(simple_poll); 71 72 avahi_client_free(client); 73 avahi_simple_poll_free(simple_poll); 74 75 return 0; 76} 77