Lines Matching refs:argv

108 	char **argv = *argvp;
110 if (strcmp(*argv, "in") == 0)
112 else if (strcmp(*argv, "out") == 0)
114 else if (strcmp(*argv, "fwd") == 0)
117 invarg("\"DIR\" is invalid", *argv);
120 *argvp = argv;
128 char **argv = *argvp;
130 if (strcmp(*argv, "main") == 0)
132 else if (strcmp(*argv, "sub") == 0)
135 invarg("\"PTYPE\" is invalid", *argv);
138 *argvp = argv;
146 char **argv = *argvp;
147 int len = strlen(*argv);
149 if (len > 2 && strncmp(*argv, "0x", 2) == 0) {
152 if (get_u8(&val, *argv, 16))
153 invarg("\"FLAG\" is invalid", *argv);
157 if (strcmp(*argv, "localok") == 0)
171 *argvp = argv;
180 char **argv = *argvp;
184 if (strcmp(*argv, "mode") == 0) {
186 xfrm_mode_parse(&tmpl->mode, &argc, &argv);
187 } else if (strcmp(*argv, "reqid") == 0) {
189 xfrm_reqid_parse(&tmpl->reqid, &argc, &argv);
190 } else if (strcmp(*argv, "level") == 0) {
193 if (strcmp(*argv, "required") == 0)
195 else if (strcmp(*argv, "use") == 0)
198 invarg("\"LEVEL\" is invalid\n", *argv);
205 idp = *argv;
208 0, &argc, &argv);
221 *argvp = argv;
226 static int xfrm_policy_modify(int cmd, unsigned flags, int argc, char **argv)
257 if (strcmp(*argv, "dir") == 0) {
259 duparg("dir", *argv);
260 dirp = *argv;
263 xfrm_policy_dir_parse(&req.xpinfo.dir, &argc, &argv);
264 } else if (strcmp(*argv, "mark") == 0) {
265 xfrm_parse_mark(&mark, &argc, &argv);
266 } else if (strcmp(*argv, "index") == 0) {
268 if (get_u32(&req.xpinfo.index, *argv, 0))
269 invarg("\"INDEX\" is invalid", *argv);
270 } else if (strcmp(*argv, "ptype") == 0) {
272 duparg("ptype", *argv);
273 ptypep = *argv;
276 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
277 } else if (strcmp(*argv, "action") == 0) {
279 if (strcmp(*argv, "allow") == 0)
281 else if (strcmp(*argv, "block") == 0)
284 invarg("\"action\" value is invalid\n", *argv);
285 } else if (strcmp(*argv, "priority") == 0) {
287 if (get_u32(&req.xpinfo.priority, *argv, 0))
288 invarg("\"PRIORITY\" is invalid", *argv);
289 } else if (strcmp(*argv, "flag") == 0) {
292 &argv);
293 } else if (strcmp(*argv, "limit") == 0) {
295 xfrm_lifetime_cfg_parse(&req.xpinfo.lft, &argc, &argv);
296 } else if (strcmp(*argv, "tmpl") == 0) {
311 xfrm_tmpl_parse(tmpl, &argc, &argv);
316 duparg("unknown", *argv);
317 selp = *argv;
319 xfrm_selector_parse(&req.xpinfo.sel, &argc, &argv);
324 argc--; argv++;
519 static int xfrm_policy_get_or_delete(int argc, char **argv, int delete,
543 if (strcmp(*argv, "dir") == 0) {
545 duparg("dir", *argv);
546 dirp = *argv;
549 xfrm_policy_dir_parse(&req.xpid.dir, &argc, &argv);
551 } else if (strcmp(*argv, "mark") == 0) {
552 xfrm_parse_mark(&mark, &argc, &argv);
553 } else if (strcmp(*argv, "index") == 0) {
555 duparg("index", *argv);
556 indexp = *argv;
559 if (get_u32(&req.xpid.index, *argv, 0))
560 invarg("\"INDEX\" is invalid", *argv);
562 } else if (strcmp(*argv, "ptype") == 0) {
564 duparg("ptype", *argv);
565 ptypep = *argv;
568 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
572 invarg("unknown", *argv);
573 selp = *argv;
575 xfrm_selector_parse(&req.xpid.sel, &argc, &argv);
581 argc--; argv++;
622 static int xfrm_policy_delete(int argc, char **argv)
624 return xfrm_policy_get_or_delete(argc, argv, 1, NULL);
627 static int xfrm_policy_get(int argc, char **argv)
634 xfrm_policy_get_or_delete(argc, argv, 0, n);
711 static int xfrm_policy_list_or_deleteall(int argc, char **argv, int deleteall)
721 if (strcmp(*argv, "dir") == 0) {
723 xfrm_policy_dir_parse(&filter.xpinfo.dir, &argc, &argv);
727 } else if (strcmp(*argv, "index") == 0) {
729 if (get_u32(&filter.xpinfo.index, *argv, 0))
730 invarg("\"INDEX\" is invalid", *argv);
734 } else if (strcmp(*argv, "ptype") == 0) {
736 xfrm_policy_ptype_parse(&filter.ptype, &argc, &argv);
740 } else if (strcmp(*argv, "action") == 0) {
742 if (strcmp(*argv, "allow") == 0)
744 else if (strcmp(*argv, "block") == 0)
747 invarg("\"ACTION\" is invalid\n", *argv);
751 } else if (strcmp(*argv, "priority") == 0) {
753 if (get_u32(&filter.xpinfo.priority, *argv, 0))
754 invarg("\"PRIORITY\" is invalid", *argv);
758 } else if (strcmp(*argv, "flag") == 0) {
761 &argv);
767 invarg("unknown", *argv);
768 selp = *argv;
770 xfrm_selector_parse(&filter.xpinfo.sel, &argc, &argv);
776 argc--; argv++;
900 static int xfrm_spd_getinfo(int argc, char **argv)
929 static int xfrm_policy_flush(int argc, char **argv)
947 if (strcmp(*argv, "ptype") == 0) {
949 duparg("ptype", *argv);
950 ptypep = *argv;
953 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
955 invarg("unknown", *argv);
957 argc--; argv++;
979 int do_xfrm_policy(int argc, char **argv)
984 if (matches(*argv, "add") == 0)
986 argc-1, argv+1);
987 if (matches(*argv, "update") == 0)
989 argc-1, argv+1);
990 if (matches(*argv, "delete") == 0)
991 return xfrm_policy_delete(argc-1, argv+1);
992 if (matches(*argv, "deleteall") == 0 || matches(*argv, "delall") == 0)
993 return xfrm_policy_list_or_deleteall(argc-1, argv+1, 1);
994 if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0
995 || matches(*argv, "lst") == 0)
996 return xfrm_policy_list_or_deleteall(argc-1, argv+1, 0);
997 if (matches(*argv, "get") == 0)
998 return xfrm_policy_get(argc-1, argv+1);
999 if (matches(*argv, "flush") == 0)
1000 return xfrm_policy_flush(argc-1, argv+1);
1001 if (matches(*argv, "count") == 0)
1002 return xfrm_spd_getinfo(argc, argv);
1003 if (matches(*argv, "help") == 0)
1005 fprintf(stderr, "Command \"%s\" is unknown, try \"ip xfrm policy help\".\n", *argv);