Home | History | Annotate | Download | only in ip

Lines Matching defs:argv

111 	char **argv = *argvp;
113 if (strcmp(*argv, "in") == 0)
115 else if (strcmp(*argv, "out") == 0)
117 else if (strcmp(*argv, "fwd") == 0)
120 invarg("\"DIR\" is invalid", *argv);
123 *argvp = argv;
131 char **argv = *argvp;
133 if (strcmp(*argv, "main") == 0)
135 else if (strcmp(*argv, "sub") == 0)
138 invarg("\"PTYPE\" is invalid", *argv);
141 *argvp = argv;
149 char **argv = *argvp;
150 int len = strlen(*argv);
152 if (len > 2 && strncmp(*argv, "0x", 2) == 0) {
155 if (get_u8(&val, *argv, 16))
156 invarg("\"FLAG\" is invalid", *argv);
160 if (strcmp(*argv, "localok") == 0)
162 else if (strcmp(*argv, "icmp") == 0)
176 *argvp = argv;
185 char **argv = *argvp;
189 if (strcmp(*argv, "mode") == 0) {
191 xfrm_mode_parse(&tmpl->mode, &argc, &argv);
192 } else if (strcmp(*argv, "reqid") == 0) {
194 xfrm_reqid_parse(&tmpl->reqid, &argc, &argv);
195 } else if (strcmp(*argv, "level") == 0) {
198 if (strcmp(*argv, "required") == 0)
200 else if (strcmp(*argv, "use") == 0)
203 invarg("\"LEVEL\" is invalid\n", *argv);
210 idp = *argv;
213 0, &argc, &argv);
226 *argvp = argv;
248 static int xfrm_policy_modify(int cmd, unsigned flags, int argc, char **argv)
285 if (strcmp(*argv, "dir") == 0) {
287 duparg("dir", *argv);
288 dirp = *argv;
291 xfrm_policy_dir_parse(&req.xpinfo.dir, &argc, &argv);
292 } else if (strcmp(*argv, "ctx") == 0) {
296 duparg("ctx", *argv);
297 sctxp = *argv;
299 context = *argv;
301 } else if (strcmp(*argv, "mark") == 0) {
302 xfrm_parse_mark(&mark, &argc, &argv);
303 } else if (strcmp(*argv, "index") == 0) {
305 if (get_u32(&req.xpinfo.index, *argv, 0))
306 invarg("\"INDEX\" is invalid", *argv);
307 } else if (strcmp(*argv, "ptype") == 0) {
309 duparg("ptype", *argv);
310 ptypep = *argv;
313 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
314 } else if (strcmp(*argv, "action") == 0) {
316 if (strcmp(*argv, "allow") == 0)
318 else if (strcmp(*argv, "block") == 0)
321 invarg("\"action\" value is invalid\n", *argv);
322 } else if (strcmp(*argv, "priority") == 0) {
324 if (get_u32(&req.xpinfo.priority, *argv, 0))
325 invarg("\"PRIORITY\" is invalid", *argv);
326 } else if (strcmp(*argv, "flag") == 0) {
329 &argv);
330 } else if (strcmp(*argv, "limit") == 0) {
332 xfrm_lifetime_cfg_parse(&req.xpinfo.lft, &argc, &argv);
333 } else if (strcmp(*argv, "tmpl") == 0) {
348 xfrm_tmpl_parse(tmpl, &argc, &argv);
353 duparg("unknown", *argv);
354 selp = *argv;
356 xfrm_selector_parse(&req.xpinfo.sel, &argc, &argv);
361 argc--; argv++;
560 static int xfrm_policy_get_or_delete(int argc, char **argv, int delete,
591 if (strcmp(*argv, "dir") == 0) {
593 duparg("dir", *argv);
594 dirp = *argv;
597 xfrm_policy_dir_parse(&req.xpid.dir, &argc, &argv);
599 } else if (strcmp(*argv, "ctx") == 0) {
603 duparg("ctx", *argv);
604 sctxp = *argv;
606 context = *argv;
608 } else if (strcmp(*argv, "mark") == 0) {
609 xfrm_parse_mark(&mark, &argc, &argv);
610 } else if (strcmp(*argv, "index") == 0) {
612 duparg("index", *argv);
613 indexp = *argv;
616 if (get_u32(&req.xpid.index, *argv, 0))
617 argv);
619 } else if (strcmp(*argv, "ptype") == 0) {
621 duparg("ptype", *argv);
622 ptypep = *argv;
625 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
629 invarg("unknown", *argv);
630 selp = *argv;
632 xfrm_selector_parse(&req.xpid.sel, &argc, &argv);
638 argc--; argv++;
684 static int xfrm_policy_delete(int argc, char **argv)
686 return xfrm_policy_get_or_delete(argc, argv, 1, NULL);
689 static int xfrm_policy_get(int argc, char **argv)
696 xfrm_policy_get_or_delete(argc, argv, 0, n);
773 static int xfrm_policy_list_or_deleteall(int argc, char **argv, int deleteall)
783 if (strcmp(*argv, "dir") == 0) {
785 xfrm_policy_dir_parse(&filter.xpinfo.dir, &argc, &argv);
789 } else if (strcmp(*argv, "index") == 0) {
791 if (get_u32(&filter.xpinfo.index, *argv, 0))
792 invarg("\"INDEX\" is invalid", *argv);
796 } else if (strcmp(*argv, "ptype") == 0) {
798 xfrm_policy_ptype_parse(&filter.ptype, &argc, &argv);
802 } else if (strcmp(*argv, "action") == 0) {
804 if (strcmp(*argv, "allow") == 0)
806 else if (strcmp(*argv, "block") == 0)
809 invarg("\"ACTION\" is invalid\n", *argv);
813 } else if (strcmp(*argv, "priority") == 0) {
815 if (get_u32(&filter.xpinfo.priority, *argv, 0))
816 invarg("\"PRIORITY\" is invalid", *argv);
820 } else if (strcmp(*argv, "flag") == 0) {
823 &argv);
829 invarg("unknown", *argv);
830 selp = *argv;
832 xfrm_selector_parse(&filter.xpinfo.sel, &argc, &argv);
838 argc--; argv++;
962 static int xfrm_spd_getinfo(int argc, char **argv)
991 static int xfrm_policy_flush(int argc, char **argv)
1009 if (strcmp(*argv, "ptype") == 0) {
1011 duparg("ptype", *argv);
1012 ptypep = *argv;
1015 xfrm_policy_ptype_parse(&upt.type, &argc, &argv);
1017 invarg("unknown", *argv);
1019 argc--; argv++;
1041 int do_xfrm_policy(int argc, char **argv)
1046 if (matches(*argv, "add") == 0)
1048 argc-1, argv+1);
1049 if (matches(*argv, "update") == 0)
1051 argc-1, argv+1);
1052 if (matches(*argv, "delete") == 0)
1053 return xfrm_policy_delete(argc-1, argv+1);
1054 if (matches(*argv, "deleteall") == 0 || matches(*argv, "delall") == 0)
1055 return xfrm_policy_list_or_deleteall(argc-1, argv+1, 1);
1056 if (matches(*argv, "list") == 0 || matches(*argv, "show") == 0
1057 || matches(*argv, "lst") == 0)
1058 return xfrm_policy_list_or_deleteall(argc-1, argv+1, 0);
1059 if (matches(*argv, "get") == 0)
1060 return xfrm_policy_get(argc-1, argv+1);
1061 if (matches(*argv, "flush") == 0)
1062 return xfrm_policy_flush(argc-1, argv+1);
1063 if (matches(*argv, "count") == 0)
1064 return xfrm_spd_getinfo(argc, argv);
1065 if (matches(*argv, "help") == 0)
1067 fprintf(stderr, "Command \"%s\" is unknown, try \"ip xfrm policy help\".\n", *argv);