Lines Matching full:argv
107 static int parse_args(int argc, char **argv, struct ifreq *ifr, uid_t *uid, gid_t *gid)
116 if (matches(*argv, "mode") == 0) {
118 if (matches(*argv, "tun") == 0) {
124 } else if (matches(*argv, "tap") == 0) {
131 fprintf(stderr,"Unknown tunnel mode \"%s\"\n", *argv);
134 } else if (uid && matches(*argv, "user") == 0) {
139 if (**argv && ((user = strtol(*argv, &end, 10)), !*end))
142 struct passwd *pw = getpwnam(*argv);
144 fprintf(stderr, "invalid user \"%s\"\n", *argv);
149 } else if (gid && matches(*argv, "group") == 0) {
155 if (**argv && ((group = strtol(*argv, &end, 10)), !*end))
158 struct group *gr = getgrnam(*argv);
160 fprintf(stderr, "invalid group \"%s\"\n", *argv);
165 } else if (matches(*argv, "pi") == 0) {
167 } else if (matches(*argv, "one_queue") == 0) {
169 } else if (matches(*argv, "vnet_hdr") == 0) {
171 } else if (matches(*argv, "multi_queue") == 0) {
173 } else if (matches(*argv, "dev") == 0) {
175 strncpy(ifr->ifr_name, *argv, IFNAMSIZ-1);
177 if (matches(*argv, "name") == 0) {
179 } else if (matches(*argv, "help") == 0)
182 duparg2("name", *argv);
183 strncpy(ifr->ifr_name, *argv, IFNAMSIZ);
186 argc--; argv++;
198 static int do_add(int argc, char **argv)
204 if (parse_args(argc, argv, &ifr, &uid, &gid) < 0)
210 static int do_del(int argc, char **argv)
214 if (parse_args(argc, argv, &ifr, NULL, NULL) < 0)
274 static int do_show(int argc, char **argv)
308 int do_iptuntap(int argc, char **argv)
311 if (matches(*argv, "add") == 0)
312 return do_add(argc-1, argv+1);
313 if (matches(*argv, "delete") == 0)
314 return do_del(argc-1, argv+1);
315 if (matches(*argv, "show") == 0 ||
316 matches(*argv, "lst") == 0 ||
317 matches(*argv, "list") == 0)
318 return do_show(argc-1, argv+1);
319 if (matches(*argv, "help") == 0)
325 *argv);