• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500-V1.0.1.40_1.0.68/src/router/udev/

Lines Matching refs:rules

33 void udev_rules_iter_init(struct udev_rules *rules)
35 dbg("bufsize=%zi", rules->bufsize);
36 rules->current = 0;
39 struct udev_rule *udev_rules_iter_next(struct udev_rules *rules)
43 if (!rules)
46 dbg("current=%zi", rules->current);
47 if (rules->current >= rules->bufsize) {
48 dbg("no more rules");
53 rule = (struct udev_rule *) (rules->buf + rules->current);
54 rules->current += sizeof(struct udev_rule) + rule->bufsize;
59 struct udev_rule *udev_rules_iter_label(struct udev_rules *rules, const char *label)
64 dbg("current=%zi", rules->current);
65 if (rules->current >= rules->bufsize) {
66 dbg("no more rules");
69 rule = (struct udev_rule *) (rules->buf + rules->current);
73 rules->current += sizeof(struct udev_rule) + rule->bufsize;
233 static int add_to_rules(struct udev_rules *rules, char *line, const char *filename, unsigned int lineno)
530 if (rules->resolve_names && (!strchr(value, '$') && !strchr(value, '%'))) {
549 if (rules->resolve_names && (!strchr(value, '$') && !strchr(value, '%'))) {
627 rules->buf = realloc(rules->buf, rules->bufsize + rule_size);
628 if (!rules->buf) {
632 dbg("adding rule to offset %zi", rules->bufsize);
633 memcpy(rules->buf + rules->bufsize, rule, rule_size);
634 rules->bufsize += rule_size;
643 static int parse_file(struct udev_rules *rules, const char *filename)
655 err("can't open '%s' as rules file: %s", filename, strerror(errno));
658 info("reading '%s' as rules file", filename);
688 /* skip backslash and newline from multiline rules */
698 add_to_rules(rules, line, filename, lineno);
705 int udev_rules_init(struct udev_rules *rules, int resolve_names)
710 memset(rules, 0x00, sizeof(struct udev_rules));
711 rules->resolve_names = resolve_names;
713 /* parse rules file or all matching files in directory */
718 dbg("parse single rules file '%s'", udev_rules_dir);
719 retval = parse_file(rules, udev_rules_dir);
724 dbg("parse rules directory '%s'", udev_rules_dir);
730 parse_file(rules, name_loop->name);
732 dbg("empty rules file '%s'", name_loop->name);
743 void udev_rules_cleanup(struct udev_rules *rules)
745 if (rules->buf) {
746 free(rules->buf);
747 rules->buf = NULL;