Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /usr/include/bind9/dns/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/include/bind9/dns/byaddr.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_BYADDR_H
#define DNS_BYADDR_H 1

/*****
 ***** Module Info
 *****/

/*! \file dns/byaddr.h
 * \brief
 * The byaddr module provides reverse lookup services for IPv4 and IPv6
 * addresses.
 *
 * MP:
 *\li	The module ensures appropriate synchronization of data structures it
 *	creates and manipulates.
 *
 * Reliability:
 *\li	No anticipated impact.
 *
 * Resources:
 *\li	TBS
 *
 * Security:
 *\li	No anticipated impact.
 *
 * Standards:
 *\li	RFCs:	1034, 1035, 2181, TBS
 *\li	Drafts:	TBS
 */

#include <stdbool.h>

#include <isc/lang.h>
#include <isc/event.h>

#include <dns/types.h>

ISC_LANG_BEGINDECLS

/*%
 * A 'dns_byaddrevent_t' is returned when a byaddr completes.
 * The sender field will be set to the byaddr that completed.  If 'result'
 * is ISC_R_SUCCESS, then 'names' will contain a list of names associated
 * with the address.  The recipient of the event must not change the list
 * and must not refer to any of the name data after the event is freed.
 */
typedef struct dns_byaddrevent {
	ISC_EVENT_COMMON(struct dns_byaddrevent);
	isc_result_t			result;
	dns_namelist_t			names;
} dns_byaddrevent_t;

/*
 * This option is deprecated since we now only consider nibbles.
#define DNS_BYADDROPT_IPV6NIBBLE	0x0001
 */
/*% Note DNS_BYADDROPT_IPV6NIBBLE is now deprecated. */
#define DNS_BYADDROPT_IPV6INT		0x0002

isc_result_t
dns_byaddr_create(isc_mem_t *mctx, isc_netaddr_t *address, dns_view_t *view,
		  unsigned int options, isc_task_t *task,
		  isc_taskaction_t action, void *arg, dns_byaddr_t **byaddrp);
/*%<
 * Find the domain name of 'address'.
 *
 * Notes:
 *
 *\li	There is a reverse lookup format for IPv6 addresses, 'nibble'
 *
 *\li	The 'nibble' format for that address is
 *
 * \code
 *   1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa.
 * \endcode
 *
 *\li	#DNS_BYADDROPT_IPV6INT can be used to get nibble lookups under ip6.int.
 *
 * Requires:
 *
 *\li	'mctx' is a valid mctx.
 *
 *\li	'address' is a valid IPv4 or IPv6 address.
 *
 *\li	'view' is a valid view which has a resolver.
 *
 *\li	'task' is a valid task.
 *
 *\li	byaddrp != NULL && *byaddrp == NULL
 *
 * Returns:
 *
 *\li	#ISC_R_SUCCESS
 *\li	#ISC_R_NOMEMORY
 *
 *\li	Any resolver-related error (e.g. #ISC_R_SHUTTINGDOWN) may also be
 *	returned.
 */

void
dns_byaddr_cancel(dns_byaddr_t *byaddr);
/*%<
 * Cancel 'byaddr'.
 *
 * Notes:
 *
 *\li	If 'byaddr' has not completed, post its #DNS_EVENT_BYADDRDONE
 *	event with a result code of #ISC_R_CANCELED.
 *
 * Requires:
 *
 *\li	'byaddr' is a valid byaddr.
 */

void
dns_byaddr_destroy(dns_byaddr_t **byaddrp);
/*%<
 * Destroy 'byaddr'.
 *
 * Requires:
 *
 *\li	'*byaddrp' is a valid byaddr.
 *
 *\li	The caller has received the #DNS_EVENT_BYADDRDONE event (either because
 *	the byaddr completed or because dns_byaddr_cancel() was called).
 *
 * Ensures:
 *
 *\li	*byaddrp == NULL.
 */

isc_result_t
dns_byaddr_createptrname(isc_netaddr_t *address, bool nibble,
			 dns_name_t *name);

isc_result_t
dns_byaddr_createptrname2(isc_netaddr_t *address, unsigned int options,
			  dns_name_t *name);
/*%<
 * Creates a name that would be used in a PTR query for this address.  The
 * nibble flag indicates that the 'nibble' format is to be used if an IPv6
 * address is provided, instead of the 'bitstring' format.  Since we dropped
 * the support of the bitstring labels, it is expected that the flag is always
 * set.  'options' are the same as for dns_byaddr_create().
 *
 * Requires:
 *
 * \li	'address' is a valid address.
 * \li	'name' is a valid name with a dedicated buffer.
 */

ISC_LANG_ENDDECLS

#endif /* DNS_BYADDR_H */
Name
Size
Permissions
Options
acache.h
13.898 KB
-rw-r--r--
acl.h
7.072 KB
-rw-r--r--
adb.h
22.065 KB
-rw-r--r--
badcache.h
3.29 KB
-rw-r--r--
bit.h
0.788 KB
-rw-r--r--
byaddr.h
3.908 KB
-rw-r--r--
cache.h
8.44 KB
-rw-r--r--
callbacks.h
2.218 KB
-rw-r--r--
catz.h
11.556 KB
-rw-r--r--
cert.h
1.432 KB
-rw-r--r--
client.h
21.525 KB
-rw-r--r--
clientinfo.h
1.959 KB
-rw-r--r--
compress.h
6.49 KB
-rw-r--r--
db.h
45.958 KB
-rw-r--r--
dbiterator.h
7.248 KB
-rw-r--r--
dbtable.h
3.091 KB
-rw-r--r--
diff.h
6.816 KB
-rw-r--r--
dispatch.h
16.042 KB
-rw-r--r--
dlz.h
10.369 KB
-rw-r--r--
dlz_dlopen.h
4.567 KB
-rw-r--r--
dns64.h
5.503 KB
-rw-r--r--
dnssec.h
11.831 KB
-rw-r--r--
dnstap.h
9.145 KB
-rw-r--r--
ds.h
1.196 KB
-rw-r--r--
dsdigest.h
1.682 KB
-rw-r--r--
dyndb.h
4.722 KB
-rw-r--r--
ecdb.h
0.79 KB
-rw-r--r--
edns.h
0.705 KB
-rw-r--r--
enumclass.h
1.191 KB
-rw-r--r--
enumtype.h
8.105 KB
-rw-r--r--
events.h
3.964 KB
-rw-r--r--
fixedname.h
1.624 KB
-rw-r--r--
forward.h
3.371 KB
-rw-r--r--
geoip.h
2.727 KB
-rw-r--r--
ipkeylist.h
2.135 KB
-rw-r--r--
iptable.h
1.583 KB
-rw-r--r--
journal.h
8.034 KB
-rw-r--r--
keydata.h
1.034 KB
-rw-r--r--
keyflags.h
1.248 KB
-rw-r--r--
keytable.h
9.24 KB
-rw-r--r--
keyvalues.h
4.062 KB
-rw-r--r--
lib.h
1.164 KB
-rw-r--r--
log.h
3.871 KB
-rw-r--r--
lookup.h
2.855 KB
-rw-r--r--
master.h
11.024 KB
-rw-r--r--
masterdump.h
12.351 KB
-rw-r--r--
message.h
38.108 KB
-rw-r--r--
name.h
36.245 KB
-rw-r--r--
ncache.h
4.813 KB
-rw-r--r--
nsec.h
2.859 KB
-rw-r--r--
nsec3.h
7.844 KB
-rw-r--r--
nta.h
4.441 KB
-rw-r--r--
opcode.h
0.983 KB
-rw-r--r--
order.h
1.952 KB
-rw-r--r--
peer.h
5.826 KB
-rw-r--r--
portlist.h
2.052 KB
-rw-r--r--
private.h
1.89 KB
-rw-r--r--
rbt.h
39.666 KB
-rw-r--r--
rcode.h
2.423 KB
-rw-r--r--
rdata.h
21.106 KB
-rw-r--r--
rdataclass.h
2.204 KB
-rw-r--r--
rdatalist.h
2.509 KB
-rw-r--r--
rdataset.h
21.031 KB
-rw-r--r--
rdatasetiter.h
3.834 KB
-rw-r--r--
rdataslab.h
4.396 KB
-rw-r--r--
rdatastruct.h
60.141 KB
-rw-r--r--
rdatatype.h
2.244 KB
-rw-r--r--
request.h
10.895 KB
-rw-r--r--
resolver.h
19.753 KB
-rw-r--r--
result.h
9.066 KB
-rw-r--r--
rootns.h
0.871 KB
-rw-r--r--
rpz.h
10.093 KB
-rw-r--r--
rriterator.h
4.131 KB
-rw-r--r--
rrl.h
6.484 KB
-rw-r--r--
sdb.h
7.055 KB
-rw-r--r--
sdlz.h
13.881 KB
-rw-r--r--
secalg.h
1.666 KB
-rw-r--r--
secproto.h
1.521 KB
-rw-r--r--
soa.h
2.135 KB
-rw-r--r--
ssu.h
8.113 KB
-rw-r--r--
stats.h
13.136 KB
-rw-r--r--
tcpmsg.h
3.071 KB
-rw-r--r--
time.h
1.655 KB
-rw-r--r--
timer.h
1.026 KB
-rw-r--r--
tkey.h
7.452 KB
-rw-r--r--
tsec.h
2.88 KB
-rw-r--r--
tsig.h
8.188 KB
-rw-r--r--
ttl.h
1.899 KB
-rw-r--r--
types.h
13.826 KB
-rw-r--r--
update.h
1.614 KB
-rw-r--r--
validator.h
6.993 KB
-rw-r--r--
version.h
0.848 KB
-rw-r--r--
view.h
34.447 KB
-rw-r--r--
xfrin.h
2.855 KB
-rw-r--r--
zone.h
59.438 KB
-rw-r--r--
zonekey.h
0.759 KB
-rw-r--r--
zt.h
5.432 KB
-rw-r--r--