X7ROOT File Manager
Current Path:
/usr/include/bind9/dns
usr
/
include
/
bind9
/
dns
/
ðŸ“
..
📄
acache.h
(13.9 KB)
📄
acl.h
(7.07 KB)
📄
adb.h
(22.07 KB)
📄
badcache.h
(3.29 KB)
📄
bit.h
(807 B)
📄
byaddr.h
(3.91 KB)
📄
cache.h
(8.44 KB)
📄
callbacks.h
(2.22 KB)
📄
catz.h
(11.56 KB)
📄
cert.h
(1.43 KB)
📄
client.h
(21.53 KB)
📄
clientinfo.h
(1.96 KB)
📄
compress.h
(6.49 KB)
📄
db.h
(45.48 KB)
📄
dbiterator.h
(7.25 KB)
📄
dbtable.h
(3.09 KB)
📄
diff.h
(6.82 KB)
📄
dispatch.h
(16.04 KB)
📄
dlz.h
(10.37 KB)
📄
dlz_dlopen.h
(4.57 KB)
📄
dns64.h
(5.5 KB)
📄
dnssec.h
(11.83 KB)
📄
dnstap.h
(9.14 KB)
📄
ds.h
(1.2 KB)
📄
dsdigest.h
(1.68 KB)
📄
dyndb.h
(4.72 KB)
📄
ecdb.h
(809 B)
📄
edns.h
(722 B)
📄
enumclass.h
(1.19 KB)
📄
enumtype.h
(8.11 KB)
📄
events.h
(3.96 KB)
📄
fixedname.h
(1.62 KB)
📄
forward.h
(3.37 KB)
📄
geoip.h
(2.73 KB)
📄
ipkeylist.h
(2.13 KB)
📄
iptable.h
(1.58 KB)
📄
journal.h
(8.03 KB)
📄
keydata.h
(1.03 KB)
📄
keyflags.h
(1.25 KB)
📄
keytable.h
(9.24 KB)
📄
keyvalues.h
(4.06 KB)
📄
lib.h
(1.16 KB)
📄
log.h
(3.87 KB)
📄
lookup.h
(2.86 KB)
📄
master.h
(11.02 KB)
📄
masterdump.h
(12.35 KB)
📄
message.h
(37.92 KB)
📄
name.h
(36.25 KB)
📄
ncache.h
(4.81 KB)
📄
nsec.h
(2.86 KB)
📄
nsec3.h
(7.84 KB)
📄
nta.h
(4.44 KB)
📄
opcode.h
(1007 B)
📄
order.h
(1.95 KB)
📄
peer.h
(5.83 KB)
📄
portlist.h
(2.05 KB)
📄
private.h
(1.89 KB)
📄
rbt.h
(39.67 KB)
📄
rcode.h
(2.42 KB)
📄
rdata.h
(21.11 KB)
📄
rdataclass.h
(2.2 KB)
📄
rdatalist.h
(2.51 KB)
📄
rdataset.h
(21.03 KB)
📄
rdatasetiter.h
(3.83 KB)
📄
rdataslab.h
(4.28 KB)
📄
rdatastruct.h
(60.14 KB)
📄
rdatatype.h
(2.24 KB)
📄
request.h
(10.89 KB)
📄
resolver.h
(19.75 KB)
📄
result.h
(9.07 KB)
📄
rootns.h
(892 B)
📄
rpz.h
(10.09 KB)
📄
rriterator.h
(4.13 KB)
📄
rrl.h
(6.48 KB)
📄
sdb.h
(7.05 KB)
📄
sdlz.h
(13.88 KB)
📄
secalg.h
(1.67 KB)
📄
secproto.h
(1.52 KB)
📄
soa.h
(2.13 KB)
📄
ssu.h
(8.11 KB)
📄
stats.h
(13.14 KB)
📄
tcpmsg.h
(3.07 KB)
📄
time.h
(1.66 KB)
📄
timer.h
(1.03 KB)
📄
tkey.h
(7.45 KB)
📄
tsec.h
(2.88 KB)
📄
tsig.h
(8.19 KB)
📄
ttl.h
(1.9 KB)
📄
types.h
(13.83 KB)
📄
update.h
(1.61 KB)
📄
validator.h
(6.99 KB)
📄
version.h
(868 B)
📄
view.h
(34.45 KB)
📄
xfrin.h
(2.86 KB)
📄
zone.h
(59.44 KB)
📄
zonekey.h
(777 B)
📄
zt.h
(5.43 KB)
Editing: sdb.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 https://mozilla.org/MPL/2.0/. * * See the COPYRIGHT file distributed with this work for additional * information regarding copyright ownership. */ #ifndef DNS_SDB_H #define DNS_SDB_H 1 /***** ***** Module Info *****/ /*! \file dns/sdb.h * \brief * Simple database API. */ /*** *** Imports ***/ #include <inttypes.h> #include <isc/lang.h> #include <dns/clientinfo.h> #include <dns/types.h> /*** *** Types ***/ /*% * A simple database. This is an opaque type. */ typedef struct dns_sdb dns_sdb_t; /*% * A simple database lookup in progress. This is an opaque type. */ typedef struct dns_sdblookup dns_sdblookup_t; /*% * A simple database traversal in progress. This is an opaque type. */ typedef struct dns_sdballnodes dns_sdballnodes_t; typedef isc_result_t (*dns_sdblookupfunc_t)(const char *zone, const char *name, void *dbdata, dns_sdblookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo); typedef isc_result_t (*dns_sdblookup2func_t)(const dns_name_t *zone, const dns_name_t *name, void *dbdata, dns_sdblookup_t *lookup, dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo); typedef isc_result_t (*dns_sdbauthorityfunc_t)(const char *zone, void *dbdata, dns_sdblookup_t *); typedef isc_result_t (*dns_sdballnodesfunc_t)(const char *zone, void *dbdata, dns_sdballnodes_t *allnodes); typedef isc_result_t (*dns_sdbcreatefunc_t)(const char *zone, int argc, char **argv, void *driverdata, void **dbdata); typedef void (*dns_sdbdestroyfunc_t)(const char *zone, void *driverdata, void **dbdata); typedef struct dns_sdbmethods { dns_sdblookupfunc_t lookup; dns_sdbauthorityfunc_t authority; dns_sdballnodesfunc_t allnodes; dns_sdbcreatefunc_t create; dns_sdbdestroyfunc_t destroy; dns_sdblookup2func_t lookup2; } dns_sdbmethods_t; /*** *** Functions ***/ ISC_LANG_BEGINDECLS #define DNS_SDBFLAG_RELATIVEOWNER 0x00000001U #define DNS_SDBFLAG_RELATIVERDATA 0x00000002U #define DNS_SDBFLAG_THREADSAFE 0x00000004U #define DNS_SDBFLAG_DNS64 0x00000008U isc_result_t dns_sdb_register(const char *drivername, const dns_sdbmethods_t *methods, void *driverdata, unsigned int flags, isc_mem_t *mctx, dns_sdbimplementation_t **sdbimp); /*%< * Register a simple database driver for the database type 'drivername', * implemented by the functions in '*methods'. * * sdbimp must point to a NULL dns_sdbimplementation_t pointer. That is, * sdbimp != NULL && *sdbimp == NULL. It will be assigned a value that * will later be used to identify the driver when deregistering it. * * The name server will perform lookups in the database by calling the * function 'lookup', passing it a printable zone name 'zone', a printable * domain name 'name', and a copy of the argument 'dbdata' that * was potentially returned by the create function. The 'dns_sdblookup_t' * argument to 'lookup' and 'authority' is an opaque pointer to be passed to * ns_sdb_putrr(). * * The lookup function returns the lookup results to the name server * by calling ns_sdb_putrr() once for each record found. On success, * the return value of the lookup function should be ISC_R_SUCCESS. * If the domain name 'name' does not exist, the lookup function should * ISC_R_NOTFOUND. Any other return value is treated as an error. * * Lookups at the zone apex will cause the server to also call the * function 'authority' (if non-NULL), which must provide an SOA record * and NS records for the zone by calling ns_sdb_putrr() once for each of * these records. The 'authority' function may be NULL if invoking * the 'lookup' function on the zone apex will return SOA and NS records. * * The allnodes function, if non-NULL, fills in an opaque structure to be * used by a database iterator. This allows the zone to be transferred. * This may use a considerable amount of memory for large zones, and the * zone transfer may not be fully RFC1035 compliant if the zone is * frequently changed. * * The create function will be called for each zone configured * into the name server using this database type. It can be used * to create a "database object" containing zone specific data, * which can make use of the database arguments specified in the * name server configuration. * * The destroy function will be called to free the database object * when its zone is destroyed. * * The create and destroy functions may be NULL. * * If flags includes DNS_SDBFLAG_RELATIVEOWNER, the lookup and authority * functions will be called with relative names rather than absolute names. * The string "@" represents the zone apex in this case. * * If flags includes DNS_SDBFLAG_RELATIVERDATA, the rdata strings may * include relative names. Otherwise, all names in the rdata string must * be absolute. Be aware that if relative names are allowed, any * absolute names must contain a trailing dot. * * If flags includes DNS_SDBFLAG_THREADSAFE, the driver must be able to * handle multiple lookups in parallel. Otherwise, calls into the driver * are serialized. */ void dns_sdb_unregister(dns_sdbimplementation_t **sdbimp); /*%< * Removes the simple database driver from the list of registered database * types. There must be no active databases of this type when this function * is called. */ /*% See dns_sdb_putradata() */ isc_result_t dns_sdb_putrr(dns_sdblookup_t *lookup, const char *type, dns_ttl_t ttl, const char *data); isc_result_t dns_sdb_putrdata(dns_sdblookup_t *lookup, dns_rdatatype_t type, dns_ttl_t ttl, const unsigned char *rdata, unsigned int rdlen); /*%< * Add a single resource record to the lookup structure to be * returned in the query response. dns_sdb_putrr() takes the * resource record in master file text format as a null-terminated * string, and dns_sdb_putrdata() takes the raw RDATA in * uncompressed wire format. */ /*% See dns_sdb_putnamerdata() */ isc_result_t dns_sdb_putnamedrr(dns_sdballnodes_t *allnodes, const char *name, const char *type, dns_ttl_t ttl, const char *data); isc_result_t dns_sdb_putnamedrdata(dns_sdballnodes_t *allnodes, const char *name, dns_rdatatype_t type, dns_ttl_t ttl, const void *rdata, unsigned int rdlen); /*%< * Add a single resource record to the allnodes structure to be * included in a zone transfer response, in text or wire * format as above. */ isc_result_t dns_sdb_putsoa(dns_sdblookup_t *lookup, const char *mname, const char *rname, uint32_t serial); /*%< * This function may optionally be called from the 'authority' callback * to simplify construction of the SOA record for 'zone'. It will * provide a SOA listing 'mname' as as the master server and 'rname' as * the responsible person mailbox. It is the responsibility of the * driver to increment the serial number between responses if necessary. * All other SOA fields will have reasonable default values. */ ISC_LANG_ENDDECLS #endif /* DNS_SDB_H */
Upload File
Create Folder