Lines Matching defs:rule
882 rule_add(struct protocol *proto, struct relay_rule *rule, const char *rulefile)
892 kv = &rule->rule_kv[i];
911 if (rule->rule_dir != RELAY_DIR_REQUEST)
925 TAILQ_INSERT_TAIL(&proto->rules, rule, rule_entry);
938 if ((r = rule_inherit(rule)) == NULL)
957 rule_free(rule);
958 free(rule);
967 rule_inherit(struct relay_rule *rule)
975 memcpy(r, rule, sizeof(*r));
978 kv = &rule->rule_kv[i];
998 rule_free(struct relay_rule *rule)
1003 kv_free(&rule->rule_kv[i]);
1004 if (rule->rule_label > 0)
1005 label_unref(rule->rule_label);
1006 if (rule->rule_tag > 0)
1007 tag_unref(rule->rule_tag);
1008 if (rule->rule_tagged > 0)
1009 tag_unref(rule->rule_tagged);
1013 rule_delete(struct relay_rules *rules, struct relay_rule *rule)
1015 TAILQ_REMOVE(rules, rule, rule_entry);
1016 rule_free(rule);
1017 free(rule);