Lines Matching defs:set

60 	struct respip_set* set = calloc(1, sizeof(*set));
61 if(!set)
63 set->region = regional_create();
64 if(!set->region) {
65 free(set);
68 addr_tree_init(&set->ip_tree);
69 lock_rw_init(&set->lock);
70 return set;
85 respip_set_delete(struct respip_set* set)
87 if(!set)
89 lock_rw_destroy(&set->lock);
90 traverse_postorder(&set->ip_tree, resp_addr_del, NULL);
91 regional_destroy(set->region);
92 free(set);
96 respip_set_get_tree(struct respip_set* set)
98 if(!set)
100 return &set->ip_tree;
104 respip_sockaddr_find_or_create(struct respip_set* set, struct sockaddr_storage* addr,
108 node = (struct resp_addr*)addr_tree_find(&set->ip_tree, addr, addrlen, net);
110 node = regional_alloc_zero(set->region, sizeof(*node));
117 if(!addr_tree_insert(&set->ip_tree, &node->node, addr,
128 respip_sockaddr_delete(struct respip_set* set, struct resp_addr* node)
133 (void)rbtree_delete(&set->ip_tree, node);
136 addr_tree_init_parents((rbtree_type*)set);
144 respip_find_or_create(struct respip_set* set, const char* ipstr, int create)
154 return respip_sockaddr_find_or_create(set, &addr, addrlen, net, create,
159 respip_tag_cfg(struct respip_set* set, const char* ipstr,
164 if(!(node=respip_find_or_create(set, ipstr, 1)))
170 node->taglist = regional_alloc_init(set->region, taglist, taglen);
179 /** set action for the node specified by the netblock string */
181 respip_action_cfg(struct respip_set* set, const char* ipstr,
187 if(!(node=respip_find_or_create(set, ipstr, 1)))
325 respip_data_cfg(struct respip_set* set, const char* ipstr, const char* rrstr)
329 node=respip_find_or_create(set, ipstr, 0);
335 return respip_enter_rrstr(set->region, node, rrstr, ipstr);
339 respip_set_apply_cfg(struct respip_set* set, char* const* tagname, int num_tags,
348 set->tagname = tagname;
349 set->num_tags = num_tags;
356 if(!respip_tag_cfg(set, p->str, p->str2, p->str2len)) {
370 if(!respip_action_cfg(set, pa->str, pa->str2)) {
384 if(!respip_data_cfg(set, pd->str, pd->str2)) {
393 addr_tree_init_parents(&set->ip_tree);
399 respip_global_apply_cfg(struct respip_set* set, struct config_file* cfg)
401 int ret = respip_set_apply_cfg(set, cfg->tagname, cfg->num_tags,
598 * structure will be returned, and '*rrset_id' is set to the index in
793 * taking some action. Only action is set if action_only is true.
1285 respip_set_is_empty(const struct respip_set* set)
1287 return set ? set->ip_tree.count == 0 : 1;