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