1 /*
2  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, you can obtain one at https://mozilla.org/MPL/2.0/.
7  *
8  * See the COPYRIGHT file distributed with this work for additional
9  * information regarding copyright ownership.
10  */
11 
12 #ifndef DNS_RDATALIST_P_H
13 #define DNS_RDATALIST_P_H
14 
15 /*! \file */
16 
17 #include <isc/result.h>
18 
19 #include <dns/types.h>
20 
21 ISC_LANG_BEGINDECLS
22 
23 void
24 isc__rdatalist_disassociate(dns_rdataset_t *rdatasetp);
25 
26 isc_result_t
27 isc__rdatalist_first(dns_rdataset_t *rdataset);
28 
29 isc_result_t
30 isc__rdatalist_next(dns_rdataset_t *rdataset);
31 
32 void
33 isc__rdatalist_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata);
34 
35 void
36 isc__rdatalist_clone(dns_rdataset_t *source, dns_rdataset_t *target);
37 
38 unsigned int
39 isc__rdatalist_count(dns_rdataset_t *rdataset);
40 
41 isc_result_t
42 isc__rdatalist_addnoqname(dns_rdataset_t *rdataset, const dns_name_t *name);
43 
44 isc_result_t
45 isc__rdatalist_getnoqname(dns_rdataset_t *rdataset, dns_name_t *name,
46 			  dns_rdataset_t *neg, dns_rdataset_t *negsig);
47 
48 isc_result_t
49 isc__rdatalist_addclosest(dns_rdataset_t *rdataset, const dns_name_t *name);
50 
51 isc_result_t
52 isc__rdatalist_getclosest(dns_rdataset_t *rdataset, dns_name_t *name,
53 			  dns_rdataset_t *neg, dns_rdataset_t *negsig);
54 
55 void
56 isc__rdatalist_setownercase(dns_rdataset_t *rdataset, const dns_name_t *name);
57 
58 void
59 isc__rdatalist_getownercase(const dns_rdataset_t *rdataset, dns_name_t *name);
60 
61 ISC_LANG_ENDDECLS
62 
63 #endif /* DNS_RDATALIST_P_H */
64