X7ROOT File Manager
Current Path:
/usr/include/bind9/dns
usr
/
include
/
bind9
/
dns
/
📁
..
📄
acache.h
(13.99 KB)
📄
acl.h
(7.1 KB)
📄
adb.h
(22.03 KB)
📄
badcache.h
(3.28 KB)
📄
bit.h
(856 B)
📄
byaddr.h
(3.89 KB)
📄
cache.h
(7.95 KB)
📄
callbacks.h
(2.22 KB)
📄
catz.h
(11.54 KB)
📄
cert.h
(1.43 KB)
📄
client.h
(21.52 KB)
📄
clientinfo.h
(1.95 KB)
📄
compress.h
(6.51 KB)
📄
db.h
(44.68 KB)
📄
dbiterator.h
(7.26 KB)
📄
dbtable.h
(3.09 KB)
📄
diff.h
(6.82 KB)
📄
dispatch.h
(16.05 KB)
📄
dlz.h
(10.38 KB)
📄
dlz_dlopen.h
(4.54 KB)
📄
dns64.h
(5.51 KB)
📄
dnssec.h
(12 KB)
📄
dnstap.h
(9.2 KB)
📄
ds.h
(1.19 KB)
📄
dsdigest.h
(1.68 KB)
📄
dyndb.h
(4.72 KB)
📄
ecdb.h
(808 B)
📄
edns.h
(721 B)
📄
enumclass.h
(1.19 KB)
📄
enumtype.h
(7.74 KB)
📄
events.h
(3.96 KB)
📄
fixedname.h
(1.56 KB)
📄
forward.h
(3.37 KB)
📄
geoip.h
(2.34 KB)
📄
ipkeylist.h
(2.12 KB)
📄
iptable.h
(1.6 KB)
📄
journal.h
(8.05 KB)
📄
keydata.h
(1.02 KB)
📄
keyflags.h
(1.25 KB)
📄
keytable.h
(9.28 KB)
📄
keyvalues.h
(4.06 KB)
📄
lib.h
(1.16 KB)
📄
log.h
(3.87 KB)
📄
lookup.h
(2.85 KB)
📄
master.h
(11.08 KB)
📄
masterdump.h
(12.35 KB)
📄
message.h
(38.28 KB)
📄
name.h
(36.4 KB)
📄
ncache.h
(4.8 KB)
📄
nsec.h
(2.88 KB)
📄
nsec3.h
(8.17 KB)
📄
nta.h
(4.32 KB)
📄
opcode.h
(1006 B)
📄
order.h
(1.95 KB)
📄
peer.h
(6.06 KB)
📄
portlist.h
(2.05 KB)
📄
private.h
(1.9 KB)
📄
rbt.h
(39.7 KB)
📄
rcode.h
(2.42 KB)
📄
rdata.h
(20.92 KB)
📄
rdataclass.h
(2.2 KB)
📄
rdatalist.h
(2.51 KB)
📄
rdataset.h
(20.85 KB)
📄
rdatasetiter.h
(3.83 KB)
📄
rdataslab.h
(4.29 KB)
📄
rdatastruct.h
(57.57 KB)
📄
rdatatype.h
(2.24 KB)
📄
request.h
(10.89 KB)
📄
resolver.h
(18.63 KB)
📄
result.h
(8.57 KB)
📄
rootns.h
(891 B)
📄
rpz.h
(10.09 KB)
📄
rriterator.h
(4.17 KB)
📄
rrl.h
(6.49 KB)
📄
sdb.h
(7.04 KB)
📄
sdlz.h
(13.87 KB)
📄
secalg.h
(1.67 KB)
📄
secproto.h
(1.52 KB)
📄
soa.h
(2.17 KB)
📄
ssu.h
(8.09 KB)
📄
stats.h
(13.15 KB)
📄
tcpmsg.h
(3.05 KB)
📄
time.h
(1.66 KB)
📄
timer.h
(1.02 KB)
📄
tkey.h
(7.43 KB)
📄
tsec.h
(2.88 KB)
📄
tsig.h
(8.06 KB)
📄
ttl.h
(1.93 KB)
📄
types.h
(13.65 KB)
📄
update.h
(1.61 KB)
📄
validator.h
(7.02 KB)
📄
version.h
(867 B)
📄
view.h
(34.69 KB)
📄
xfrin.h
(2.85 KB)
📄
zone.h
(59.8 KB)
📄
zonekey.h
(763 B)
📄
zt.h
(5.31 KB)
Editing: rdatasetiter.h
/* * Copyright (C) Internet Systems Consortium, Inc. ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * See the COPYRIGHT file distributed with this work for additional * information regarding copyright ownership. */ #ifndef DNS_RDATASETITER_H #define DNS_RDATASETITER_H 1 /***** ***** Module Info *****/ /*! \file dns/rdatasetiter.h * \brief * The DNS Rdataset Iterator interface allows iteration of all of the * rdatasets at a node. * * The dns_rdatasetiter_t type is like a "virtual class". To actually use * it, an implementation of the class is required. This implementation is * supplied by the database. * * It is the client's responsibility to call dns_rdataset_disassociate() * on all rdatasets returned. * * XXX more XXX * * MP: *\li The iterator itself is not locked. The caller must ensure * synchronization. * *\li The iterator methods ensure appropriate database locking. * * Reliability: *\li No anticipated impact. * * Resources: *\li TBS * * Security: *\li No anticipated impact. * * Standards: *\li None. */ /***** ***** Imports *****/ #include <isc/lang.h> #include <isc/magic.h> #include <isc/stdtime.h> #include <dns/types.h> ISC_LANG_BEGINDECLS /***** ***** Types *****/ typedef struct dns_rdatasetitermethods { void (*destroy)(dns_rdatasetiter_t **iteratorp); isc_result_t (*first)(dns_rdatasetiter_t *iterator); isc_result_t (*next)(dns_rdatasetiter_t *iterator); void (*current)(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset); } dns_rdatasetitermethods_t; #define DNS_RDATASETITER_MAGIC ISC_MAGIC('D','N','S','i') #define DNS_RDATASETITER_VALID(i) ISC_MAGIC_VALID(i, DNS_RDATASETITER_MAGIC) /*% * This structure is actually just the common prefix of a DNS db * implementation's version of a dns_rdatasetiter_t. * \brief * Direct use of this structure by clients is forbidden. DB implementations * may change the structure. 'magic' must be #DNS_RDATASETITER_MAGIC for * any of the dns_rdatasetiter routines to work. DB implementations must * maintain all DB rdataset iterator invariants. */ struct dns_rdatasetiter { /* Unlocked. */ unsigned int magic; dns_rdatasetitermethods_t * methods; dns_db_t * db; dns_dbnode_t * node; dns_dbversion_t * version; isc_stdtime_t now; }; void dns_rdatasetiter_destroy(dns_rdatasetiter_t **iteratorp); /*%< * Destroy '*iteratorp'. * * Requires: * *\li '*iteratorp' is a valid iterator. * * Ensures: * *\li All resources used by the iterator are freed. * *\li *iteratorp == NULL. */ isc_result_t dns_rdatasetiter_first(dns_rdatasetiter_t *iterator); /*%< * Move the rdataset cursor to the first rdataset at the node (if any). * * Requires: *\li 'iterator' is a valid iterator. * * Returns: *\li ISC_R_SUCCESS *\li ISC_R_NOMORE There are no rdatasets at the node. * *\li Other results are possible, depending on the DB implementation. */ isc_result_t dns_rdatasetiter_next(dns_rdatasetiter_t *iterator); /*%< * Move the rdataset cursor to the next rdataset at the node (if any). * * Requires: *\li 'iterator' is a valid iterator. * * Returns: *\li ISC_R_SUCCESS *\li ISC_R_NOMORE There are no more rdatasets at the * node. * *\li Other results are possible, depending on the DB implementation. */ void dns_rdatasetiter_current(dns_rdatasetiter_t *iterator, dns_rdataset_t *rdataset); /*%< * Return the current rdataset. * * Requires: *\li 'iterator' is a valid iterator. * *\li 'rdataset' is a valid, disassociated rdataset. * *\li The rdataset cursor of 'iterator' is at a valid location (i.e. the * result of last call to a cursor movement command was #ISC_R_SUCCESS). */ ISC_LANG_ENDDECLS #endif /* DNS_RDATASETITER_H */
Upload File
Create Folder