Lines Matching refs:argv
106 char **argv = *argvp;
108 if (strcmp(*argv, "in") == 0)
110 else if (strcmp(*argv, "out") == 0)
112 else if (strcmp(*argv, "fwd") == 0)
115 invarg("\"DIR\" is invalid", *argv);
118 *argvp = argv;
126 char **argv = *argvp;
128 if (strcmp(*argv, "main") == 0)
130 else if (strcmp(*argv, "sub") == 0)
133 invarg("\"PTYPE\" is invalid", *argv);
136 *argvp = argv;
144 char **argv = *argvp;
145 int len = strlen(*argv);
147 if (len > 2 && strncmp(*argv, "0x", 2) == 0) {
150 if (get_u8(&val, *argv, 16))
151 invarg("\"FLAG\" is invalid", *argv);
155 if (strcmp(*argv, "localok") == 0)
169 *argvp = argv;
178 char **argv = *argvp;
182 if (strcmp(*argv, "mode") == 0) {
184 xfrm_mode_parse(&tmpl->mode, &argc, &argv);
185 } else if (strcmp(*argv, "reqid") == 0) {
187 xfrm_reqid_parse(&tmpl->reqid, &argc, &argv);
188 } else if (strcmp(*argv, "level") == 0) {
191 if (strcmp(*argv, "required") == 0)
193 else if (strcmp(*argv, "use") == 0)
196 invarg("\"LEVEL\" is invalid\n", *argv);
203 idp = *argv;
205 0, &argc, &argv);
219 *argvp = argv;
224 static int xfrm_policy_modify(int cmd, unsigned flags, int argc, char **argv)
254 if (strcmp(*argv, "dir") == 0) {
256 duparg("dir", *argv);
257 dirp = *argv;
260 xfrm_policy_dir_parse(&req.xpinfo.dir, &argc, &argv);
261 } else if (strcmp(*argv, "index") == 0) {
263 if (get_u32(&req.xpinfo.index, *argv, 0))
264 invarg("\"INDEX\" is invalid", *argv);
265 } else if (strcmp(*argv, "ptype") == 0) {
267 duparg("ptype", *argv);
268 ptypep = *argv;
271 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
272 } else if (strcmp(*argv, "action") == 0) {
274 if (strcmp(*argv, "allow") == 0)
276 else if (strcmp(*argv, "block") == 0)
279 invarg("\"action\" value is invalid\n", *argv);
280 } else if (strcmp(*argv, "priority") == 0) {
282 if (get_u32(&req.xpinfo.priority, *argv, 0))
283 invarg("\"PRIORITY\" is invalid", *argv);
284 } else if (strcmp(*argv, "flag") == 0) {
287 &argv);
288 } else if (strcmp(*argv, "limit") == 0) {
290 xfrm_lifetime_cfg_parse(&req.xpinfo.lft, &argc, &argv);
291 } else if (strcmp(*argv, "tmpl") == 0) {
306 xfrm_tmpl_parse(tmpl, &argc, &argv);
311 duparg("unknown", *argv);
312 selp = *argv;
314 xfrm_selector_parse(&req.xpinfo.sel, &argc, &argv);
319 argc--; argv++;
504 static int xfrm_policy_get_or_delete(int argc, char **argv, int delete,
527 if (strcmp(*argv, "dir") == 0) {
529 duparg("dir", *argv);
530 dirp = *argv;
533 xfrm_policy_dir_parse(&req.xpid.dir, &argc, &argv);
535 } else if (strcmp(*argv, "index") == 0) {
537 duparg("index", *argv);
538 indexp = *argv;
541 if (get_u32(&req.xpid.index, *argv, 0))
542 invarg("\"INDEX\" is invalid", *argv);
544 } else if (strcmp(*argv, "ptype") == 0) {
546 duparg("ptype", *argv);
547 ptypep = *argv;
550 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
554 invarg("unknown", *argv);
555 selp = *argv;
557 xfrm_selector_parse(&req.xpid.sel, &argc, &argv);
563 argc--; argv++;
595 static int xfrm_policy_delete(int argc, char **argv)
597 return xfrm_policy_get_or_delete(argc, argv, 1, NULL);
600 static int xfrm_policy_get(int argc, char **argv)
607 xfrm_policy_get_or_delete(argc, argv, 0, n);
684 static int xfrm_policy_list_or_deleteall(int argc, char **argv, int deleteall)
694 if (strcmp(*argv, "dir") == 0) {
696 xfrm_policy_dir_parse(&filter.xpinfo.dir, &argc, &argv);
700 } else if (strcmp(*argv, "index") == 0) {
702 if (get_u32(&filter.xpinfo.index, *argv, 0))
703 invarg("\"INDEX\" is invalid", *argv);
707 } else if (strcmp(*argv, "ptype") == 0) {
709 xfrm_policy_ptype_parse(&filter.ptype, &argc, &argv);
713 } else if (strcmp(*argv, "action") == 0) {
715 if (strcmp(*argv, "allow") == 0)
717 else if (strcmp(*argv, "block") == 0)
720 invarg("\"ACTION\" is invalid\n", *argv);
724 } else if (strcmp(*argv, "priority") == 0) {
726 if (get_u32(&filter.xpinfo.priority, *argv, 0))
727 invarg("\"PRIORITY\" is invalid", *argv);
731 } else if (strcmp(*argv, "flag") == 0) {
734 &argv);
740 invarg("unknown", *argv);
741 selp = *argv;
743 xfrm_selector_parse(&filter.xpinfo.sel, &argc, &argv);
749 argc--; argv++;
873 static int xfrm_spd_getinfo(int argc, char **argv)
902 static int xfrm_policy_flush(int argc, char **argv)
920 if (strcmp(*argv, "ptype") == 0) {
922 duparg("ptype", *argv);
923 ptypep = *argv;
926 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
928 invarg("unknown", *argv);
930 argc--; argv++;
952 int do_xfrm_policy(int argc, char **argv)
957 if (matches(*argv, "add") == 0)
959 argc-1, argv+1);
960 if (matches(*argv, "update") == 0)
962 argc-1, argv+1);
963 if (matches(*argv, "delete") == 0)
964 return xfrm_policy_delete(argc-1, argv+1);
965 if (matches(*argv, "deleteall") == 0 || matches(*argv, "delall") == 0)
966 return xfrm_policy_list_or_deleteall(argc-1, argv+1, 1);
967 if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0
968 || matches(*argv, "lst") == 0)
969 return xfrm_policy_list_or_deleteall(argc-1, argv+1, 0);
970 if (matches(*argv, "get") == 0)
971 return xfrm_policy_get(argc-1, argv+1);
972 if (matches(*argv, "flush") == 0)
973 return xfrm_policy_flush(argc-1, argv+1);
974 if (matches(*argv, "count") == 0)
975 return xfrm_spd_getinfo(argc, argv);
976 if (matches(*argv, "help") == 0)
978 fprintf(stderr, "Command \"%s\" is unknown, try \"ip xfrm policy help\".\n", *argv);