Lines Matching +full:a +full:- +full:z
4 * a Net::DNS like library for C
6 * (c) NLnet Labs, 2005-2006
18 ldns_zone_soa(const ldns_zone *z) in ldns_zone_soa() argument
20 return z->_soa; in ldns_zone_soa()
24 ldns_zone_rr_count(const ldns_zone *z) in ldns_zone_rr_count() argument
26 return ldns_rr_list_rr_count(z->_rrs); in ldns_zone_rr_count()
30 ldns_zone_set_soa(ldns_zone *z, ldns_rr *soa) in ldns_zone_set_soa() argument
32 z->_soa = soa; in ldns_zone_set_soa()
36 ldns_zone_rrs(const ldns_zone *z) in ldns_zone_rrs() argument
38 return z->_rrs; in ldns_zone_rrs()
42 ldns_zone_set_rrs(ldns_zone *z, ldns_rr_list *rrlist) in ldns_zone_set_rrs() argument
44 z->_rrs = rrlist; in ldns_zone_set_rrs()
48 ldns_zone_push_rr_list(ldns_zone *z, const ldns_rr_list *list) in ldns_zone_push_rr_list() argument
50 return ldns_rr_list_cat(ldns_zone_rrs(z), list); in ldns_zone_push_rr_list()
54 ldns_zone_push_rr(ldns_zone *z, ldns_rr *rr) in ldns_zone_push_rr() argument
56 return ldns_rr_list_push_rr(ldns_zone_rrs(z), rr); in ldns_zone_push_rr()
61 * Get the list of glue records in a zone
62 * XXX: there should be a way for this to return error, other than NULL,
63 * since NULL is a valid return
66 ldns_zone_glue_rr_list(const ldns_zone *z) in ldns_zone_glue_rr_list() argument
69 * (AAAA/A) for a nameserver listed in the zone in ldns_zone_glue_rr_list()
73 * find all the AAAA or A records (can be done it the in ldns_zone_glue_rr_list()
76 * Check if the aaaa/a list are subdomains under the in ldns_zone_glue_rr_list()
78 * If yes -> glue, if no -> not glue in ldns_zone_glue_rr_list()
84 ldns_rr *r, *ns, *a; in ldns_zone_glue_rr_list() local
92 /* we cannot determine glue in a 'zone' without a SOA */ in ldns_zone_glue_rr_list()
93 if (!ldns_zone_soa(z)) { in ldns_zone_glue_rr_list()
104 for(i = 0; i < ldns_zone_rr_count(z); i++) { in ldns_zone_glue_rr_list()
105 r = ldns_rr_list_rr(ldns_zone_rrs(z), i); in ldns_zone_glue_rr_list()
113 /* multiple zones will end up here - in ldns_zone_glue_rr_list()
114 * for now; not a problem in ldns_zone_glue_rr_list()
118 ldns_rr_owner(ldns_zone_soa(z))) != 0) { in ldns_zone_glue_rr_list()
131 a = ldns_rr_list_rr(addr, j); in ldns_zone_glue_rr_list()
132 dname_a = ldns_rr_owner(a); in ldns_zone_glue_rr_list()
137 if (!ldns_rr_list_push_rr(glue, a)) goto memory_error; in ldns_zone_glue_rr_list()
168 ldns_zone *z; in ldns_zone_new() local
170 z = LDNS_MALLOC(ldns_zone); in ldns_zone_new()
171 if (!z) { in ldns_zone_new()
175 z->_rrs = ldns_rr_list_new(); in ldns_zone_new()
176 if (!z->_rrs) { in ldns_zone_new()
177 LDNS_FREE(z); in ldns_zone_new()
180 ldns_zone_set_soa(z, NULL); in ldns_zone_new()
181 return z; in ldns_zone_new()
188 ldns_zone_new_frm_fp(ldns_zone **z, FILE *fp, const ldns_rdf *origin, uint32_t ttl, ldns_rr_class c) in ldns_zone_new_frm_fp() argument
190 return ldns_zone_new_frm_fp_l(z, fp, origin, ttl, c, NULL); in ldns_zone_new_frm_fp()
195 ldns_zone_new_frm_fp_l(ldns_zone **z, FILE *fp, const ldns_rdf *origin, in ldns_zone_new_frm_fp_l() argument
302 /* a normal RR - as sofar the DNS is normal */ in ldns_zone_new_frm_fp_l()
334 if (z) { in ldns_zone_new_frm_fp_l()
335 *z = newzone; in ldns_zone_new_frm_fp_l()
368 ldns_rr_list_free(zone->_rrs); in ldns_zone_free()
375 ldns_rr_free(zone->_soa); in ldns_zone_deep_free()
376 ldns_rr_list_deep_free(zone->_rrs); in ldns_zone_deep_free()