#include #include #include #include #include #include #include #include #include #include #include #include "mdns.h" /* ------------------------------------------------------------------ */ static Display *dpy; static struct mdns_window *mdns; static char *service = "_xendom._tcp"; static char *domain = NULL; /* ------------------------------------------------------------------ */ static void usage(FILE *fp) { fprintf(fp, "This is a mDNS browser\n" "\n" "usage: mdns-browser [options]\n" "options:\n" " -h print this text\n" " -s specify service [%s]\n" " -d specify domain\n" "\n" "-- \n" "(c) 2006 Gerd Hoffmann \n", service); } int main(int argc, char *argv[]) { int c; gtk_init(&argc, &argv); for (;;) { if (-1 == (c = getopt(argc, argv, "hs:d:"))) break; switch (c) { case 's': service = optarg; break; case 'd': domain = optarg; break; case 'h': usage(stdout); exit(0); default: usage(stderr); exit(1); } } dpy = gdk_x11_display_get_xdisplay(gdk_display_get_default()); fcntl(ConnectionNumber(dpy),F_SETFD,FD_CLOEXEC); mdns = mdns_create_window(1); if (NULL == mdns) { fprintf(stderr,"Oops: mDNS did't initialize ok\n"); exit(1); } mdns_show_window(mdns); mdns_browse(mdns, service, domain); gtk_main(); fprintf(stderr,"bye...\n"); exit(0); }