int do_iprule(int argc, char **argv) { #ifdef HTC_IPRULE_DEBUG ALOGD("[IPROUTE2]do_iprule cmd:%s",*argv); #endif if (argc < 1) { return iprule_list(0, NULL); } else if (matches(argv[0], "list") == 0 || matches(argv[0], "lst") == 0 || matches(argv[0], "show") == 0) { return iprule_list(argc-1, argv+1); } else if (matches(argv[0], "add") == 0) { return iprule_modify(RTM_NEWRULE, argc-1, argv+1); } else if (matches(argv[0], "delete") == 0) { return iprule_modify(RTM_DELRULE, argc-1, argv+1); } else if (matches(argv[0], "flush") == 0) { return iprule_flush(argc-1, argv+1); } else if (matches(argv[0], "help") == 0) usage(); fprintf(stderr, "Command \"%s\" is unknown, try \"ip rule help\".\n", *argv); exit(-1); }
int do_iprule(int argc, char **argv) { if (argc < 1) { return iprule_list_or_save(0, NULL, 0); } else if (matches(argv[0], "list") == 0 || matches(argv[0], "lst") == 0 || matches(argv[0], "show") == 0) { return iprule_list_or_save(argc-1, argv+1, 0); } else if (matches(argv[0], "save") == 0) { return iprule_list_or_save(argc-1, argv+1, 1); } else if (matches(argv[0], "restore") == 0) { return iprule_restore(); } else if (matches(argv[0], "add") == 0) { return iprule_modify(RTM_NEWRULE, argc-1, argv+1); } else if (matches(argv[0], "delete") == 0) { return iprule_modify(RTM_DELRULE, argc-1, argv+1); } else if (matches(argv[0], "flush") == 0) { return iprule_flush(argc-1, argv+1); } else if (matches(argv[0], "help") == 0) usage(); fprintf(stderr, "Command \"%s\" is unknown, try \"ip rule help\".\n", *argv); exit(-1); }