Lines Matching full:argv
494 static int set_lifetime(unsigned int *lifetime, char *argv)
496 if (strcmp(argv, "forever") == 0)
498 else if (get_u32(lifetime, argv, 0))
763 static int ipaddr_list_or_flush(int argc, char **argv, int flush)
792 if (strcmp(*argv, "to") == 0) {
794 get_prefix(&filter.pfx, *argv, filter.family);
797 } else if (strcmp(*argv, "scope") == 0) {
801 if (rtnl_rtscope_a2n(&scope, *argv)) {
802 if (strcmp(*argv, "all") != 0)
803 invarg("invalid \"scope\"\n", *argv);
808 } else if (strcmp(*argv, "up") == 0) {
810 } else if (strcmp(*argv, "dynamic") == 0) {
813 } else if (strcmp(*argv, "permanent") == 0) {
816 } else if (strcmp(*argv, "secondary") == 0 ||
817 strcmp(*argv, "temporary") == 0) {
820 } else if (strcmp(*argv, "primary") == 0) {
823 } else if (strcmp(*argv, "tentative") == 0) {
826 } else if (strcmp(*argv, "deprecated") == 0) {
829 } else if (strcmp(*argv, "home") == 0) {
832 } else if (strcmp(*argv, "nodad") == 0) {
835 } else if (strcmp(*argv, "dadfailed") == 0) {
838 } else if (strcmp(*argv, "label") == 0) {
840 filter.label = *argv;
841 } else if (strcmp(*argv, "group") == 0) {
843 if (rtnl_group_a2n(&filter.group, *argv))
844 invarg("Invalid \"group\" value\n", *argv);
846 if (strcmp(*argv, "dev") == 0) {
849 if (matches(*argv, "help") == 0)
852 duparg2("dev", *argv);
853 filter_dev = *argv;
855 argv++; argc--;
1027 int ipaddr_list_link(int argc, char **argv)
1031 return ipaddr_list_or_flush(argc, argv, 0);
1049 static int ipaddr_modify(int cmd, int flags, int argc, char **argv)
1080 if (strcmp(*argv, "peer") == 0 ||
1081 strcmp(*argv, "remote") == 0) {
1085 duparg("peer", *argv);
1086 get_prefix(&peer, *argv, req.ifa.ifa_family);
1092 } else if (matches(*argv, "broadcast") == 0 ||
1093 strcmp(*argv, "brd") == 0) {
1097 duparg("broadcast", *argv);
1098 if (strcmp(*argv, "+") == 0)
1100 else if (strcmp(*argv, "-") == 0)
1103 get_addr(&addr, *argv, req.ifa.ifa_family);
1109 } else if (strcmp(*argv, "anycast") == 0) {
1113 duparg("anycast", *argv);
1114 get_addr(&addr, *argv, req.ifa.ifa_family);
1119 } else if (strcmp(*argv, "scope") == 0) {
1122 if (rtnl_rtscope_a2n(&scope, *argv))
1123 invarg(*argv, "invalid scope value.");
1126 } else if (strcmp(*argv, "dev") == 0) {
1128 d = *argv;
1129 } else if (strcmp(*argv, "label") == 0) {
1131 l = *argv;
1133 } else if (matches(*argv, "valid_lft") == 0) {
1135 duparg("valid_lft", *argv);
1137 valid_lftp = *argv;
1138 if (set_lifetime(&valid_lft, *argv))
1139 invarg("valid_lft value", *argv);
1140 } else if (matches(*argv, "preferred_lft") == 0) {
1142 duparg("preferred_lft", *argv);
1144 preferred_lftp = *argv;
1145 if (set_lifetime(&preferred_lft, *argv))
1146 invarg("preferred_lft value", *argv);
1147 } else if (strcmp(*argv, "home") == 0) {
1149 } else if (strcmp(*argv, "nodad") == 0) {
1152 if (strcmp(*argv, "local") == 0) {
1155 if (matches(*argv, "help") == 0)
1158 duparg2("local", *argv);
1159 lcl_arg = *argv;
1160 get_prefix(&lcl, *argv, req.ifa.ifa_family);
1166 argc--; argv++;
1244 int do_ipaddr(int argc, char **argv)
1248 if (matches(*argv, "add") == 0)
1249 return ipaddr_modify(RTM_NEWADDR, NLM_F_CREATE|NLM_F_EXCL, argc-1, argv+1);
1250 if (matches(*argv, "change") == 0 ||
1251 strcmp(*argv, "chg") == 0)
1252 return ipaddr_modify(RTM_NEWADDR, NLM_F_REPLACE, argc-1, argv+1);
1253 if (matches(*argv, "replace") == 0)
1254 return ipaddr_modify(RTM_NEWADDR, NLM_F_CREATE|NLM_F_REPLACE, argc-1, argv+1);
1255 if (matches(*argv, "delete") == 0)
1256 return ipaddr_modify(RTM_DELADDR, 0, argc-1, argv+1);
1257 if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0
1258 || matches(*argv, "lst") == 0)
1259 return ipaddr_list_or_flush(argc-1, argv+1, 0);
1260 if (matches(*argv, "flush") == 0)
1261 return ipaddr_list_or_flush(argc-1, argv+1, 1);
1262 if (matches(*argv, "help") == 0)
1264 fprintf(stderr, "Command \"%s\" is unknown, try \"ip addr help\".\n", *argv);