Lines Matching refs:rrset

53 static int rr_data_from(const knot_rrset_t *rrset, struct rr_data *data, knot_mm_t *mm)  in rr_data_from()  argument
55 int ret = knot_rdataset_copy(&data->rrs, &rrset->rrs, mm); in rr_data_from()
59 data->ttl = rrset->ttl; in rr_data_from()
60 data->type = rrset->type; in rr_data_from()
67 static int add_rrset_no_merge(zone_node_t *node, const knot_rrset_t *rrset, in add_rrset_no_merge() argument
84 while (insert_pos != end && insert_pos->type < rrset->type) { in add_rrset_no_merge()
89 int ret = rr_data_from(rrset, insert_pos, mm); in add_rrset_no_merge()
99 static bool ttl_changed(struct rr_data *node_data, const knot_rrset_t *rrset) in ttl_changed() argument
101 if (rrset->type == KNOT_RRTYPE_RRSIG || node_data->rrs.count == 0) { in ttl_changed()
105 return rrset->ttl != node_data->ttl; in ttl_changed()
308 int node_add_rrset(zone_node_t *node, const knot_rrset_t *rrset, knot_mm_t *mm) in node_add_rrset() argument
310 if (node == NULL || rrset == NULL) { in node_add_rrset()
317 if (node->rrs[i].type == rrset->type) { in node_add_rrset()
319 const bool ttl_change = ttl_changed(node_data, rrset); in node_add_rrset()
321 node_data->ttl = rrset->ttl; in node_add_rrset()
325 &rrset->rrs, mm); in node_add_rrset()
335 return add_rrset_no_merge(node, rrset, mm); in node_add_rrset()
362 int node_remove_rrset(zone_node_t *node, const knot_rrset_t *rrset, knot_mm_t *mm) in node_remove_rrset() argument
364 if (node == NULL || rrset == NULL) { in node_remove_rrset()
368 knot_rdataset_t *node_rrs = node_rdataset(node, rrset->type); in node_remove_rrset()
375 int ret = knot_rdataset_subtract(node_rrs, &rrset->rrs, mm); in node_remove_rrset()
381 node_remove_rdataset(node, rrset->type); in node_remove_rrset()
395 knot_rrset_t rrset = node_rrset_at(node, i); in node_create_rrset() local
396 return knot_rrset_copy(&rrset, NULL); in node_create_rrset()