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