Lines Matching +full:1 +full:ac

10  * 1. Redistributions of source code must retain the above copyright
52 static void rulespec_intok(struct devfs_rule *dr, int ac, char **av,
75 { NULL, -1 }
81 rule_main(int ac, char **av) in rule_main() argument
87 optreset = optind = 1; in rule_main()
88 while ((ch = getopt(ac, av, "s:")) != -1) in rule_main()
96 ac -= optind; in rule_main()
98 if (ac < 1) 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
113 if (ac < 2) in rule_add()
115 if (strcmp(av[1], "-") == 0) in rule_add()
118 rulespec_intok(&dr, ac - 1, av + 1, in_rsnum); in rule_add()
120 if (rv == -1) in rule_add()
121 err(1, "ioctl DEVFSIO_RADD"); in rule_add()
127 rule_apply(int ac __unused, char **av __unused) in rule_apply()
134 if (ac < 2) 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()
142 if (rv == -1) in rule_apply()
143 err(1, "ioctl DEVFSIO_RAPPLY"); in rule_apply()
148 if (rv == -1) in rule_apply()
149 err(1, "ioctl DEVFSIO_RAPPLYID"); in rule_apply()
155 rule_applyset(int ac, char **av __unused) in rule_applyset() argument
159 if (ac != 1) in rule_applyset()
162 if (rv == -1) in rule_applyset()
163 err(1, "ioctl DEVFSIO_SAPPLY"); in rule_applyset()
168 rule_del(int ac __unused, char **av) in rule_del()
173 if (av[1] == NULL) in rule_del()
175 rid = mkrid(in_rsnum, eatoi(av[1])); in rule_del()
177 if (rv == -1) in rule_del()
178 err(1, "ioctl DEVFSIO_RDEL"); in rule_del()
183 rule_delset(int ac, char **av __unused) in rule_delset() argument
188 if (ac != 1) in rule_delset()
193 while (ioctl(mpfd, DEVFSIO_RGETNEXT, &dr) != -1) { in rule_delset()
195 if (rv == -1) in rule_delset()
196 err(1, "ioctl DEVFSIO_RDEL"); in rule_delset()
199 err(1, "ioctl DEVFSIO_RGETNEXT"); in rule_delset()
204 rule_show(int ac __unused, char **av) in rule_show()
212 if (av[1] != NULL) { in rule_show()
213 rnum = eatoi(av[1]); in rule_show()
214 dr.dr_id = mkrid(in_rsnum, rnum - 1); in rule_show()
216 if (rv == -1) in rule_show()
217 err(1, "ioctl DEVFSIO_RGETNEXT"); in rule_show()
222 while (ioctl(mpfd, DEVFSIO_RGETNEXT, &dr) != -1) in rule_show()
225 err(1, "ioctl DEVFSIO_RGETNEXT"); in rule_show()
231 rule_showsets(int ac, char **av __unused) in rule_showsets() argument
235 if (ac != 1) in rule_showsets()
238 while (ioctl(mpfd, DEVFSIO_SGETNEXT, &rsnum) != -1) in rule_showsets()
241 err(1, "ioctl DEVFSIO_SGETNEXT"); in rule_showsets()
246 ruleset_main(int ac, char **av) in ruleset_main() argument
252 if (ac < 2) in ruleset_main()
254 rsnum = eatonum(av[1]); in ruleset_main()
256 if (rv == -1) in ruleset_main()
257 err(1, "ioctl DEVFSIO_SUSE"); in ruleset_main()
280 if (rv == -1) in rulespec_infp()
281 err(1, "ioctl"); in rulespec_infp()
285 err(1, "stdin"); in rulespec_infp()
295 int ac; in rulespec_instr() local
297 tokenize(str, &ac, &av); in rulespec_instr()
298 if (ac == 0) in rulespec_instr()
299 errx(1, "unexpected end of rulespec"); in rulespec_instr()
300 rulespec_intok(dr, ac, av, rsnum); 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()
321 * We don't maintain ac hereinafter. in rulespec_intok()
324 errx(1, "unexpected end of rulespec"); in rulespec_intok()
340 if (av[1] == NULL) in rulespec_intok()
341 errx(1, "expecting argument for type"); 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()
352 if (av[1] == NULL) in rulespec_intok()
353 errx(1, "expecting argument for path"); in rulespec_intok()
354 if (strlcpy(dr->dr_pathptrn, av[1], DEVFS_MAXPTRNLEN) in rulespec_intok()
372 if (av[1] == NULL) in rulespec_intok()
373 errx(1, "expecting argument for user"); in rulespec_intok()
375 pw = getpwnam(av[1]); in rulespec_intok()
379 dr->dr_uid = eatoi(av[1]); /* XXX overflow */ in rulespec_intok()
382 if (av[1] == NULL) in rulespec_intok()
383 errx(1, "expecting argument for group"); in rulespec_intok()
385 gr = getgrnam(av[1]); in rulespec_intok()
389 dr->dr_gid = eatoi(av[1]); /* XXX overflow */ in rulespec_intok()
392 if (av[1] == NULL) in rulespec_intok()
393 errx(1, "expecting argument for mode"); in rulespec_intok()
395 set = setmode(av[1]); in rulespec_intok()
397 errx(1, "invalid mode: %s", av[1]); in rulespec_intok()
401 if (av[1] == NULL) in rulespec_intok()
402 errx(1, "expecting argument for include"); in rulespec_intok()
404 dr->dr_incset = eatonum(av[1]); in rulespec_intok()
407 errx(1, "unknown argument: %s", av[0]); in rulespec_intok()