/usr/include/bind9/dns
NameSizeModeActions
acache.h142320644editdlrm
acl.h72420644editdlrm
adb.h225950644editdlrm
badcache.h33690644editdlrm
bit.h8070644editdlrm
byaddr.h40020644editdlrm
cache.h86430644editdlrm
callbacks.h22710644editdlrm
catz.h118330644editdlrm
cert.h14660644editdlrm
client.h220420644editdlrm
clientinfo.h20060644editdlrm
compress.h66460644editdlrm
db.h470610644editdlrm
dbiterator.h74220644editdlrm
dbtable.h31650644editdlrm
diff.h69800644editdlrm
dispatch.h164270644editdlrm
dlz.h106180644editdlrm
dlz_dlopen.h46770644editdlrm
dns64.h56350644editdlrm
dnssec.h123710644editdlrm
dnstap.h93640644editdlrm
ds.h12250644editdlrm
dsdigest.h17220644editdlrm
dyndb.h48350644editdlrm
ecdb.h8090644editdlrm
edns.h7220644editdlrm
enumclass.h12200644editdlrm
enumtype.h83000644editdlrm
events.h40590644editdlrm
fixedname.h16630644editdlrm
forward.h34520644editdlrm
geoip.h27920644editdlrm
ipkeylist.h21860644editdlrm
iptable.h16210644editdlrm
journal.h82270644editdlrm
keydata.h10590644editdlrm
keyflags.h12780644editdlrm
keytable.h94620644editdlrm
keyvalues.h41590644editdlrm
lib.h11920644editdlrm
log.h39640644editdlrm
lookup.h29240644editdlrm
master.h112890644editdlrm
masterdump.h126470644editdlrm
message.h390230644editdlrm
name.h371150644editdlrm
ncache.h49290644editdlrm
nsec.h33970644editdlrm
nsec3.h80320644editdlrm
nta.h45480644editdlrm
opcode.h10070644editdlrm
order.h19990644editdlrm
peer.h59660644editdlrm
portlist.h21010644editdlrm
private.h19350644editdlrm
rbt.h406180644editdlrm
rcode.h24810644editdlrm
rdata.h216130644editdlrm
rdataclass.h22570644editdlrm
rdatalist.h25690644editdlrm
rdataset.h215360644editdlrm
rdatasetiter.h39260644editdlrm
rdataslab.h45280644editdlrm
rdatastruct.h615840644editdlrm
rdatatype.h22980644editdlrm
request.h111560644editdlrm
resolver.h202270644editdlrm
result.h92840644editdlrm
rootns.h8920644editdlrm
rpz.h103350644editdlrm
rriterator.h42300644editdlrm
rrl.h66400644editdlrm
sdb.h72240644editdlrm
sdlz.h142140644editdlrm
secalg.h17060644editdlrm
secproto.h15570644editdlrm
soa.h21860644editdlrm
ssu.h83080644editdlrm
stats.h134510644editdlrm
tcpmsg.h31450644editdlrm
time.h16950644editdlrm
timer.h10510644editdlrm
tkey.h76310644editdlrm
tsec.h29490644editdlrm
tsig.h83840644editdlrm
ttl.h19450644editdlrm
types.h142120644editdlrm
update.h16530644editdlrm
validator.h71610644editdlrm
version.h8680644editdlrm
view.h352740644editdlrm
xfrin.h29240644editdlrm
zone.h608640644editdlrm
zonekey.h7770644editdlrm
zt.h55620644editdlrm
Edit: /usr/include/bind9/dns/dyndb.h (4835B)
/* * 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_DYNDB_H #define DNS_DYNDB_H #include #include #include ISC_LANG_BEGINDECLS /*! * \brief * Context for initializing a dyndb module. * * This structure passes global server data to which a dyndb * module will need access -- the server memory context, hash * initializer, log context, etc. The structure doesn't persist * beyond configuring the dyndb module. The module's register function * should attach to all reference-counted variables and its destroy * function should detach from them. */ struct dns_dyndbctx { unsigned int magic; const void *hashinit; isc_mem_t *mctx; isc_log_t *lctx; dns_view_t *view; dns_zonemgr_t *zmgr; isc_task_t *task; isc_timermgr_t *timermgr; bool *refvar; }; #define DNS_DYNDBCTX_MAGIC ISC_MAGIC('D', 'd', 'b', 'c') #define DNS_DYNDBCTX_VALID(d) ISC_MAGIC_VALID(d, DNS_DYNDBCTX_MAGIC) /* * API version * * When the API changes, increment DNS_DYNDB_VERSION. If the * change is backward-compatible (e.g., adding a new function call * but not changing or removing an old one), increment DNS_DYNDB_AGE; * if not, set DNS_DYNDB_AGE to 0. */ #ifndef DNS_DYNDB_VERSION #define DNS_DYNDB_VERSION 1 #define DNS_DYNDB_AGE 0 #endif typedef isc_result_t dns_dyndb_register_t(isc_mem_t *mctx, const char *name, const char *parameters, const char *file, unsigned long line, const dns_dyndbctx_t *dctx, void **instp); /*% * Called when registering a new driver instance. 'name' must be unique. * 'parameters' contains the driver configuration text. 'dctx' is the * initialization context set up in dns_dyndb_createctx(). * * '*instp' must be set to the driver instance handle if the function * is successful. * * Returns: *\li #ISC_R_SUCCESS *\li #ISC_R_NOMEMORY *\li Other errors are possible */ typedef void dns_dyndb_destroy_t(void **instp); /*% * Destroy a driver instance. Dereference any reference-counted * variables passed in 'dctx' and 'inst' in the register function. * * \c *instp must be set to \c NULL by the function before it returns. */ typedef int dns_dyndb_version_t(unsigned int *flags); /*% * Return the API version number a dyndb module was compiled with. * * If the returned version number is no greater than than * DNS_DYNDB_VERSION, and no less than DNS_DYNDB_VERSION - DNS_DYNDB_AGE, * then the module is API-compatible with named. * * 'flags' is currently unused and may be NULL, but could be used in * the future to pass back driver capabilities or other information. */ isc_result_t dns_dyndb_load(const char *libname, const char *name, const char *parameters, const char *file, unsigned long line, isc_mem_t *mctx, const dns_dyndbctx_t *dctx); /*% * Load a dyndb module. * * This loads a dyndb module using dlopen() or equivalent, calls its register * function (see dns_dyndb_register_t above), and if successful, adds * the instance handle to a list of dyndb instances so it can be cleaned * up later. * * 'file' and 'line' can be used to indicate the name of the file and * the line number from which the parameters were taken, so that logged * error messages, if any, will display the correct locations. * * Returns: *\li #ISC_R_SUCCESS *\li #ISC_R_NOMEMORY *\li Other errors are possible */ void dns_dyndb_cleanup(bool exiting); /*% * Shut down and destroy all running dyndb modules. * * 'exiting' indicates whether the server is shutting down, * as opposed to merely being reconfigured. */ isc_result_t dns_dyndb_createctx(isc_mem_t *mctx, const void *hashinit, isc_log_t *lctx, dns_view_t *view, dns_zonemgr_t *zmgr, isc_task_t *task, isc_timermgr_t *tmgr, dns_dyndbctx_t **dctxp); /*% * Create a dyndb initialization context structure, with * pointers to structures in the server that the dyndb module will * need to access (view, zone manager, memory context, hash initializer, * etc). This structure is expected to last only until all dyndb * modules have been loaded and initialized; after that it will be * destroyed with dns_dyndb_destroyctx(). * * Returns: *\li #ISC_R_SUCCESS *\li #ISC_R_NOMEMORY *\li Other errors are possible */ void dns_dyndb_destroyctx(dns_dyndbctx_t **dctxp); /*% * Destroys a dyndb initialization context structure; all * reference-counted members are detached and the structure is freed. */ ISC_LANG_ENDDECLS #endif /* DNS_DYNDB_H */