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 <sys/types.h> 27#include <assert.h> 28#include <stdio.h> 29#include <stdlib.h> 30#include <unistd.h> 31 32#include <avahi-common/gccmacro.h> 33#include <dns_sd.h> 34 35static void reply( 36 AVAHI_GCC_UNUSED DNSServiceRef sdRef, 37 AVAHI_GCC_UNUSED DNSServiceFlags flags, 38 AVAHI_GCC_UNUSED uint32_t interfaceIndex, 39 AVAHI_GCC_UNUSED DNSServiceErrorType errorCode, 40 AVAHI_GCC_UNUSED const char *serviceName, 41 AVAHI_GCC_UNUSED const char *regtype, 42 AVAHI_GCC_UNUSED const char *replyDomain, 43 AVAHI_GCC_UNUSED void *context) { 44} 45 46int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char*argv[]) { 47 48 DNSServiceRef ref1, ref2, ref3, ref4 = NULL; 49 50 DNSServiceRegister(&ref1, 0, 0, "simple", "_simple._tcp", NULL, NULL, 4711, 0, NULL, NULL, NULL); 51 DNSServiceRegister(&ref2, 0, 0, "subtype #1", "_simple._tcp,_subtype1", NULL, NULL, 4711, 0, NULL, NULL, NULL); 52 DNSServiceRegister(&ref3, 0, 0, "subtype #2", "_simple._tcp,_subtype1,_subtype2", NULL, NULL, 4711, 0, NULL, NULL, NULL); 53 54 DNSServiceRegister(&ref4, 0, 0, "subtype #3", "_simple._tcp,,", NULL, NULL, 4711, 0, NULL, NULL, NULL); 55 assert(!ref4); 56 DNSServiceRegister(&ref4, 0, 0, "subtype #3", "", NULL, NULL, 4711, 0, NULL, NULL, NULL); 57 assert(!ref4); 58 DNSServiceRegister(&ref4, 0, 0, "subtype #3", ",", NULL, NULL, 4711, 0, NULL, NULL, NULL); 59 assert(!ref4); 60 DNSServiceRegister(&ref4, 0, 0, "subtype #3", ",,", NULL, NULL, 4711, 0, NULL, NULL, NULL); 61 assert(!ref4); 62 63 DNSServiceBrowse(&ref4, 0, 0, "_simple._tcp,_gurke", NULL, reply, NULL); 64 65 sleep(20); 66 67 DNSServiceRefDeallocate(ref1); 68 DNSServiceRefDeallocate(ref2); 69 DNSServiceRefDeallocate(ref3); 70 DNSServiceRefDeallocate(ref4); 71 72 return 0; 73} 74