Lines Matching full:av

52 static void rulespec_intok(struct devfs_rule *dr, int ac, char **av,
81 rule_main(int ac, char **av) in rule_main() argument
88 while ((ch = getopt(ac, av, "s:")) != -1) in rule_main()
97 av += optind; in rule_main()
102 if (strcmp(c->name, av[0]) == 0) in rule_main()
103 exit((*c->handler)(ac, av)); in rule_main()
104 errx(1, "unknown command: %s", av[0]); in rule_main()
108 rule_add(int ac, char **av) in rule_add() argument
115 if (strcmp(av[1], "-") == 0) in rule_add()
118 rulespec_intok(&dr, ac - 1, av + 1, in_rsnum); in rule_add()
127 rule_apply(int ac __unused, char **av __unused) in rule_apply()
136 if (!atonum(av[1], &rnum)) { in rule_apply()
137 if (strcmp(av[1], "-") == 0) in rule_apply()
140 rulespec_intok(&dr, ac - 1, av + 1, in_rsnum); in rule_apply()
155 rule_applyset(int ac, char **av __unused) in rule_applyset()
168 rule_del(int ac __unused, char **av) in rule_del() argument
173 if (av[1] == NULL) in rule_del()
175 rid = mkrid(in_rsnum, eatoi(av[1])); in rule_del()
183 rule_delset(int ac, char **av __unused) in rule_delset()
204 rule_show(int ac __unused, char **av) in rule_show() argument
212 if (av[1] != NULL) { in rule_show()
213 rnum = eatoi(av[1]); in rule_show()
231 rule_showsets(int ac, char **av __unused) in rule_showsets()
246 ruleset_main(int ac, char **av) in ruleset_main() argument
254 rsnum = eatonum(av[1]); in ruleset_main()
294 char **av; in rulespec_instr() local
297 tokenize(str, &ac, &av); in rulespec_instr()
300 rulespec_intok(dr, ac, av, rsnum); in rulespec_instr()
301 free(av[0]); in rulespec_instr()
302 free(av); in rulespec_instr()
306 * Construct a /struct devfs_rule/ from ac and av.
309 rulespec_intok(struct devfs_rule *dr, int ac __unused, char **av, in rulespec_intok() argument
323 if (av[0] == NULL) in rulespec_intok()
327 if (!atonum(av[0], &rnum)) in rulespec_intok()
330 ++av; in rulespec_intok()
337 if (av[0] == NULL) in rulespec_intok()
339 else if (strcmp(av[0], "type") == 0) { in rulespec_intok()
340 if (av[1] == NULL) in rulespec_intok()
343 if (strcmp(av[1], is->s) == 0) { in rulespec_intok()
348 errx(1, "unknown type: %s", av[1]); in rulespec_intok()
350 av += 2; in rulespec_intok()
351 } else if (strcmp(av[0], "path") == 0) { in rulespec_intok()
352 if (av[1] == NULL) in rulespec_intok()
354 if (strlcpy(dr->dr_pathptrn, av[1], DEVFS_MAXPTRNLEN) in rulespec_intok()
358 av += 2; in rulespec_intok()
362 while (av[0] != NULL) { in rulespec_intok()
363 if (strcmp(av[0], "hide") == 0) { in rulespec_intok()
366 ++av; in rulespec_intok()
367 } else if (strcmp(av[0], "unhide") == 0) { in rulespec_intok()
370 ++av; in rulespec_intok()
371 } else if (strcmp(av[0], "user") == 0) { in rulespec_intok()
372 if (av[1] == NULL) in rulespec_intok()
375 pw = getpwnam(av[1]); in rulespec_intok()
379 dr->dr_uid = eatoi(av[1]); /* XXX overflow */ in rulespec_intok()
380 av += 2; in rulespec_intok()
381 } else if (strcmp(av[0], "group") == 0) { in rulespec_intok()
382 if (av[1] == NULL) in rulespec_intok()
385 gr = getgrnam(av[1]); in rulespec_intok()
389 dr->dr_gid = eatoi(av[1]); /* XXX overflow */ in rulespec_intok()
390 av += 2; in rulespec_intok()
391 } else if (strcmp(av[0], "mode") == 0) { in rulespec_intok()
392 if (av[1] == NULL) in rulespec_intok()
395 set = setmode(av[1]); in rulespec_intok()
397 errx(1, "invalid mode: %s", av[1]); in rulespec_intok()
399 av += 2; in rulespec_intok()
400 } else if (strcmp(av[0], "include") == 0) { in rulespec_intok()
401 if (av[1] == NULL) in rulespec_intok()
404 dr->dr_incset = eatonum(av[1]); in rulespec_intok()
405 av += 2; in rulespec_intok()
407 errx(1, "unknown argument: %s", av[0]); in rulespec_intok()