X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fmdnsd.git;a=blobdiff_plain;f=main.c;h=02d13f54ff3423e76d4ea02af077127bced3d194;hp=f559c199cea40fb7a888e81c748145abc6e60941;hb=95d8e0d4f03dd7c1211d3f98dc31074365717acf;hpb=b2fcf49ef01411ab1ed8a0721e89460d0e870616 diff --git a/main.c b/main.c index f559c19..02d13f5 100644 --- a/main.c +++ b/main.c @@ -37,6 +37,9 @@ #include "announce.h" #include "interface.h" +int cfg_proto = 0; +int cfg_no_subnet = 0; + static void signal_shutdown(int signal) { @@ -50,7 +53,7 @@ main(int argc, char **argv) uloop_init(); - while ((ch = getopt(argc, argv, "t:i:d")) != -1) { + while ((ch = getopt(argc, argv, "t:i:d46n")) != -1) { switch (ch) { case 't': ttl = atoi(optarg); @@ -65,6 +68,16 @@ main(int argc, char **argv) case 'i': interface_add(optarg); break; + case '4': + cfg_proto = 4; + break; + case '6': + cfg_proto = 6; + break; + case 'n': + cfg_no_subnet = 1; + break; + default: return -1; } @@ -77,13 +90,15 @@ main(int argc, char **argv) if (cache_init()) return -1; - service_init(); - ubus_startup(); + + service_init(0); + uloop_run(); uloop_done(); - cache_cleanup(); + interface_shutdown(); + cache_cleanup(NULL); service_cleanup(); vlist_flush(&interfaces);