Lines Matching full:argv
107 char **argv = *argvp;
109 if (strcmp(*argv, "in") == 0)
111 else if (strcmp(*argv, "out") == 0)
113 else if (strcmp(*argv, "fwd") == 0)
116 invarg("DIR value is invalid", *argv);
119 *argvp = argv;
127 char **argv = *argvp;
129 if (strcmp(*argv, "main") == 0)
131 else if (strcmp(*argv, "sub") == 0)
134 invarg("PTYPE value is invalid", *argv);
137 *argvp = argv;
145 char **argv = *argvp;
146 int len = strlen(*argv);
148 if (len > 2 && strncmp(*argv, "0x", 2) == 0) {
151 if (get_u8(&val, *argv, 16))
152 invarg("FLAG value is invalid", *argv);
156 if (strcmp(*argv, "localok") == 0)
158 else if (strcmp(*argv, "icmp") == 0)
172 *argvp = argv;
181 char **argv = *argvp;
185 if (strcmp(*argv, "mode") == 0) {
187 xfrm_mode_parse(&tmpl->mode, &argc, &argv);
188 } else if (strcmp(*argv, "reqid") == 0) {
190 xfrm_reqid_parse(&tmpl->reqid, &argc, &argv);
191 } else if (strcmp(*argv, "level") == 0) {
194 if (strcmp(*argv, "required") == 0)
196 else if (strcmp(*argv, "use") == 0)
199 invarg("LEVEL value is invalid\n", *argv);
206 idp = *argv;
209 0, &argc, &argv);
222 *argvp = argv;
244 static int xfrm_policy_modify(int cmd, unsigned int flags, int argc, char **argv)
275 if (strcmp(*argv, "dir") == 0) {
277 duparg("dir", *argv);
278 dirp = *argv;
281 xfrm_policy_dir_parse(&req.xpinfo.dir, &argc, &argv);
282 } else if (strcmp(*argv, "ctx") == 0) {
286 duparg("ctx", *argv);
287 sctxp = *argv;
289 context = *argv;
291 } else if (strcmp(*argv, "mark") == 0) {
292 xfrm_parse_mark(&mark, &argc, &argv);
293 } else if (strcmp(*argv, "index") == 0) {
295 if (get_u32(&req.xpinfo.index, *argv, 0))
296 invarg("INDEX value is invalid", *argv);
297 } else if (strcmp(*argv, "ptype") == 0) {
299 duparg("ptype", *argv);
300 ptypep = *argv;
303 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
304 } else if (strcmp(*argv, "action") == 0) {
306 if (strcmp(*argv, "allow") == 0)
308 else if (strcmp(*argv, "block") == 0)
311 invarg("ACTION value is invalid\n", *argv);
312 } else if (strcmp(*argv, "priority") == 0) {
314 if (get_u32(&req.xpinfo.priority, *argv, 0))
315 invarg("PRIORITY value is invalid", *argv);
316 } else if (strcmp(*argv, "flag") == 0) {
319 &argv);
320 } else if (strcmp(*argv, "limit") == 0) {
322 xfrm_lifetime_cfg_parse(&req.xpinfo.lft, &argc, &argv);
323 } else if (strcmp(*argv, "tmpl") == 0) {
338 xfrm_tmpl_parse(tmpl, &argc, &argv);
343 duparg("unknown", *argv);
344 selp = *argv;
346 xfrm_selector_parse(&req.xpinfo.sel, &argc, &argv);
351 argc--; argv++;
553 static int xfrm_policy_get_or_delete(int argc, char **argv, int delete,
580 if (strcmp(*argv, "dir") == 0) {
582 duparg("dir", *argv);
583 dirp = *argv;
586 xfrm_policy_dir_parse(&req.xpid.dir, &argc, &argv);
588 } else if (strcmp(*argv, "ctx") == 0) {
592 duparg("ctx", *argv);
593 sctxp = *argv;
595 context = *argv;
597 } else if (strcmp(*argv, "mark") == 0) {
598 xfrm_parse_mark(&mark, &argc, &argv);
599 } else if (strcmp(*argv, "index") == 0) {
601 duparg("index", *argv);
602 indexp = *argv;
605 if (get_u32(&req.xpid.index, *argv, 0))
606 invarg("INDEX value is invalid", *argv);
608 } else if (strcmp(*argv, "ptype") == 0) {
610 duparg("ptype", *argv);
611 ptypep = *argv;
614 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
618 invarg("unknown", *argv);
619 selp = *argv;
621 xfrm_selector_parse(&req.xpid.sel, &argc, &argv);
627 argc--; argv++;
673 static int xfrm_policy_delete(int argc, char **argv)
675 return xfrm_policy_get_or_delete(argc, argv, 1, NULL, 0);
678 static int xfrm_policy_get(int argc, char **argv)
683 xfrm_policy_get_or_delete(argc, argv, 0, n, sizeof(buf));
771 static int xfrm_policy_list_or_deleteall(int argc, char **argv, int deleteall)
781 if (strcmp(*argv, "dir") == 0) {
783 xfrm_policy_dir_parse(&filter.xpinfo.dir, &argc, &argv);
787 } else if (strcmp(*argv, "index") == 0) {
789 if (get_u32(&filter.xpinfo.index, *argv, 0))
790 invarg("INDEX value is invalid", *argv);
794 } else if (strcmp(*argv, "ptype") == 0) {
796 xfrm_policy_ptype_parse(&filter.ptype, &argc, &argv);
800 } else if (strcmp(*argv, "action") == 0) {
802 if (strcmp(*argv, "allow") == 0)
804 else if (strcmp(*argv, "block") == 0)
807 invarg("ACTION value is invalid\n", *argv);
811 } else if (strcmp(*argv, "priority") == 0) {
813 if (get_u32(&filter.xpinfo.priority, *argv, 0))
814 invarg("PRIORITY value is invalid", *argv);
818 } else if (strcmp(*argv, "flag") == 0) {
821 &argv);
825 } else if (strcmp(*argv, "nosock") == 0) {
830 invarg("unknown", *argv);
831 selp = *argv;
833 xfrm_selector_parse(&filter.xpinfo.sel, &argc, &argv);
839 argc--; argv++;
1013 static int xfrm_spd_setinfo(int argc, char **argv)
1031 if (strcmp(*argv, "hthresh4") == 0) {
1035 duparg("hthresh4", *argv);
1036 thr4 = *argv;
1038 if (get_u8(&thr.lbits, *argv, 0) || thr.lbits > 32)
1039 invarg("hthresh4 LBITS value is invalid", *argv);
1041 if (get_u8(&thr.rbits, *argv, 0) || thr.rbits > 32)
1042 invarg("hthresh4 RBITS value is invalid", *argv);
1046 } else if (strcmp(*argv, "hthresh6") == 0) {
1050 duparg("hthresh6", *argv);
1051 thr6 = *argv;
1053 if (get_u8(&thr.lbits, *argv, 0) || thr.lbits > 128)
1054 invarg("hthresh6 LBITS value is invalid", *argv);
1056 if (get_u8(&thr.rbits, *argv, 0) || thr.rbits > 128)
1057 invarg("hthresh6 RBITS value is invalid", *argv);
1062 invarg("unknown", *argv);
1065 argc--; argv++;
1079 static int xfrm_spd_getinfo(int argc, char **argv)
1106 static int xfrm_policy_flush(int argc, char **argv)
1121 if (strcmp(*argv, "ptype") == 0) {
1123 duparg("ptype", *argv);
1124 ptypep = *argv;
1127 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
1129 invarg("unknown", *argv);
1131 argc--; argv++;
1153 int do_xfrm_policy(int argc, char **argv)
1158 if (matches(*argv, "add") == 0)
1160 argc-1, argv+1);
1161 if (matches(*argv, "update") == 0)
1163 argc-1, argv+1);
1164 if (matches(*argv, "delete") == 0)
1165 return xfrm_policy_delete(argc-1, argv+1);
1166 if (matches(*argv, "deleteall") == 0 || matches(*argv, "delall") == 0)
1167 return xfrm_policy_list_or_deleteall(argc-1, argv+1, 1);
1168 if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0
1169 || matches(*argv, "lst") == 0)
1170 return xfrm_policy_list_or_deleteall(argc-1, argv+1, 0);
1171 if (matches(*argv, "get") == 0)
1172 return xfrm_policy_get(argc-1, argv+1);
1173 if (matches(*argv, "flush") == 0)
1174 return xfrm_policy_flush(argc-1, argv+1);
1175 if (matches(*argv, "count") == 0)
1176 return xfrm_spd_getinfo(argc, argv);
1177 if (matches(*argv, "set") == 0)
1178 return xfrm_spd_setinfo(argc-1, argv+1);
1179 if (matches(*argv, "help") == 0)
1181 fprintf(stderr, "Command \"%s\" is unknown, try \"ip xfrm policy help\".\n", *argv);