Lines Matching refs:av

53 static void rulespec_intok(struct devfs_rule *dr, int ac, char **av,
82 rule_main(int ac, char **av)
89 while ((ch = getopt(ac, av, "s:")) != -1)
98 av += optind;
103 if (strcmp(c->name, av[0]) == 0)
104 exit((*c->handler)(ac, av));
105 errx(1, "unknown command: %s", av[0]);
109 rule_add(int ac, char **av)
116 if (strcmp(av[1], "-") == 0)
119 rulespec_intok(&dr, ac - 1, av + 1, in_rsnum);
128 rule_apply(int ac __unused, char **av __unused)
137 if (!atonum(av[1], &rnum)) {
138 if (strcmp(av[1], "-") == 0)
141 rulespec_intok(&dr, ac - 1, av + 1, in_rsnum);
156 rule_applyset(int ac, char **av __unused)
169 rule_del(int ac __unused, char **av)
174 if (av[1] == NULL)
176 rid = mkrid(in_rsnum, eatoi(av[1]));
184 rule_delset(int ac, char **av __unused)
205 rule_show(int ac __unused, char **av)
213 if (av[1] != NULL) {
214 rnum = eatoi(av[1]);
232 rule_showsets(int ac, char **av __unused)
247 ruleset_main(int ac, char **av)
255 rsnum = eatonum(av[1]);
295 char **av;
298 tokenize(str, &ac, &av);
301 rulespec_intok(dr, ac, av, rsnum);
302 free(av[0]);
303 free(av);
307 * Construct a /struct devfs_rule/ from ac and av.
310 rulespec_intok(struct devfs_rule *dr, int ac __unused, char **av,
324 if (av[0] == NULL)
328 if (!atonum(av[0], &rnum))
331 ++av;
338 if (av[0] == NULL)
340 else if (strcmp(av[0], "type") == 0) {
341 if (av[1] == NULL)
344 if (strcmp(av[1], is->s) == 0) {
349 errx(1, "unknown type: %s", av[1]);
351 av += 2;
352 } else if (strcmp(av[0], "path") == 0) {
353 if (av[1] == NULL)
355 if (strlcpy(dr->dr_pathptrn, av[1], DEVFS_MAXPTRNLEN)
359 av += 2;
363 while (av[0] != NULL) {
364 if (strcmp(av[0], "hide") == 0) {
367 ++av;
368 } else if (strcmp(av[0], "unhide") == 0) {
371 ++av;
372 } else if (strcmp(av[0], "user") == 0) {
373 if (av[1] == NULL)
376 pw = getpwnam(av[1]);
380 dr->dr_uid = eatoi(av[1]); /* XXX overflow */
381 av += 2;
382 } else if (strcmp(av[0], "group") == 0) {
383 if (av[1] == NULL)
386 gr = getgrnam(av[1]);
390 dr->dr_gid = eatoi(av[1]); /* XXX overflow */
391 av += 2;
392 } else if (strcmp(av[0], "mode") == 0) {
393 if (av[1] == NULL)
396 set = setmode(av[1]);
398 errx(1, "invalid mode: %s", av[1]);
400 av += 2;
401 } else if (strcmp(av[0], "include") == 0) {
402 if (av[1] == NULL)
405 dr->dr_incset = eatonum(av[1]);
406 av += 2;
408 errx(1, "unknown argument: %s", av[0]);