__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/*
* 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_RDATASLAB_H
#define DNS_RDATASLAB_H 1
/*! \file dns/rdataslab.h
* \brief
* Implements storage of rdatasets into slabs of memory.
*
* MP:
*\li Clients of this module must impose any required synchronization.
*
* Reliability:
*\li This module deals with low-level byte streams. Errors in any of
* the functions are likely to crash the server or corrupt memory.
*
*\li If the caller passes invalid memory references, these functions are
* likely to crash the server or corrupt memory.
*
* Resources:
*\li None.
*
* Security:
*\li None.
*
* Standards:
*\li None.
*/
/***
*** Imports
***/
#include <isc/lang.h>
#include <dns/types.h>
ISC_LANG_BEGINDECLS
#define DNS_RDATASLAB_FORCE 0x1
#define DNS_RDATASLAB_EXACT 0x2
#define DNS_RDATASLAB_OFFLINE 0x01 /* RRSIG is for offline DNSKEY */
#define DNS_RDATASLAB_WARNMASK 0x0E /*%< RRSIG(DNSKEY) expired
* warnings number mask. */
#define DNS_RDATASLAB_WARNSHIFT 1 /*%< How many bits to shift to find
* remaining expired warning number. */
/***
*** Functions
***/
isc_result_t
dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
isc_region_t *region, unsigned int reservelen);
/*%<
* Slabify a rdataset. The slab area will be allocated and returned
* in 'region'.
*
* Requires:
*\li 'rdataset' is valid.
*
* Ensures:
*\li 'region' will have base pointing to the start of allocated memory,
* with the slabified region beginning at region->base + reservelen.
* region->length contains the total length allocated.
*
* Returns:
*\li ISC_R_SUCCESS - successful completion
*\li ISC_R_NOMEMORY - no memory.
*\li XXX others
*/
void
dns_rdataslab_tordataset(unsigned char *slab, unsigned int reservelen,
dns_rdataclass_t rdclass, dns_rdatatype_t rdtype,
dns_rdatatype_t covers, dns_ttl_t ttl,
dns_rdataset_t *rdataset);
/*%<
* Construct an rdataset from a slab.
*
* Requires:
*\li 'slab' points to a slab.
*\li 'rdataset' is disassociated.
*
* Ensures:
*\li 'rdataset' is associated and points to a valid rdataest.
*/
unsigned int
dns_rdataslab_size(unsigned char *slab, unsigned int reservelen);
/*%<
* Return the total size of an rdataslab.
*
* Requires:
*\li 'slab' points to a slab.
*
* Returns:
*\li The number of bytes in the slab, including the reservelen.
*/
unsigned int
dns_rdataslab_count(unsigned char *slab, unsigned int reservelen);
/*%<
* Return the number of records in the rdataslab
*
* Requires:
*\li 'slab' points to a slab.
*
* Returns:
*\li The number of records in the slab.
*/
isc_result_t
dns_rdataslab_merge(unsigned char *oslab, unsigned char *nslab,
unsigned int reservelen, isc_mem_t *mctx,
dns_rdataclass_t rdclass, dns_rdatatype_t type,
unsigned int flags, unsigned char **tslabp);
/*%<
* Merge 'oslab' and 'nslab'.
*/
isc_result_t
dns_rdataslab_subtract(unsigned char *mslab, unsigned char *sslab,
unsigned int reservelen, isc_mem_t *mctx,
dns_rdataclass_t rdclass, dns_rdatatype_t type,
unsigned int flags, unsigned char **tslabp);
/*%<
* Subtract 'sslab' from 'mslab'. If 'exact' is true then all elements
* of 'sslab' must exist in 'mslab'.
*
* XXX
* valid flags are DNS_RDATASLAB_EXACT
*/
isc_boolean_t
dns_rdataslab_equal(unsigned char *slab1, unsigned char *slab2,
unsigned int reservelen);
/*%<
* Compare two rdataslabs for equality. This does _not_ do a full
* DNSSEC comparison.
*
* Requires:
*\li 'slab1' and 'slab2' point to slabs.
*
* Returns:
*\li ISC_TRUE if the slabs are equal, ISC_FALSE otherwise.
*/
isc_boolean_t
dns_rdataslab_equalx(unsigned char *slab1, unsigned char *slab2,
unsigned int reservelen, dns_rdataclass_t rdclass,
dns_rdatatype_t type);
/*%<
* Compare two rdataslabs for DNSSEC equality.
*
* Requires:
*\li 'slab1' and 'slab2' point to slabs.
*
* Returns:
*\li ISC_TRUE if the slabs are equal, #ISC_FALSE otherwise.
*/
ISC_LANG_ENDDECLS
#endif /* DNS_RDATASLAB_H */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| acache.h | File | 13.99 KB | 0644 |
|
| acl.h | File | 7.1 KB | 0644 |
|
| adb.h | File | 22.03 KB | 0644 |
|
| badcache.h | File | 3.28 KB | 0644 |
|
| bit.h | File | 856 B | 0644 |
|
| byaddr.h | File | 3.89 KB | 0644 |
|
| cache.h | File | 7.95 KB | 0644 |
|
| callbacks.h | File | 2.22 KB | 0644 |
|
| catz.h | File | 10.74 KB | 0644 |
|
| cert.h | File | 1.43 KB | 0644 |
|
| client.h | File | 21.52 KB | 0644 |
|
| clientinfo.h | File | 1.95 KB | 0644 |
|
| compress.h | File | 6.51 KB | 0644 |
|
| db.h | File | 44.68 KB | 0644 |
|
| dbiterator.h | File | 7.26 KB | 0644 |
|
| dbtable.h | File | 3.09 KB | 0644 |
|
| diff.h | File | 6.82 KB | 0644 |
|
| dispatch.h | File | 16.05 KB | 0644 |
|
| dlz.h | File | 10.38 KB | 0644 |
|
| dlz_dlopen.h | File | 4.54 KB | 0644 |
|
| dns64.h | File | 5.51 KB | 0644 |
|
| dnssec.h | File | 12 KB | 0644 |
|
| dnstap.h | File | 9.2 KB | 0644 |
|
| ds.h | File | 1.19 KB | 0644 |
|
| dsdigest.h | File | 1.68 KB | 0644 |
|
| dyndb.h | File | 4.72 KB | 0644 |
|
| ecdb.h | File | 808 B | 0644 |
|
| edns.h | File | 721 B | 0644 |
|
| enumclass.h | File | 1.19 KB | 0644 |
|
| enumtype.h | File | 7.74 KB | 0644 |
|
| events.h | File | 3.96 KB | 0644 |
|
| fixedname.h | File | 1.56 KB | 0644 |
|
| forward.h | File | 3.37 KB | 0644 |
|
| geoip.h | File | 2.34 KB | 0644 |
|
| ipkeylist.h | File | 2.12 KB | 0644 |
|
| iptable.h | File | 1.6 KB | 0644 |
|
| journal.h | File | 8.05 KB | 0644 |
|
| keydata.h | File | 1.02 KB | 0644 |
|
| keyflags.h | File | 1.25 KB | 0644 |
|
| keytable.h | File | 9.28 KB | 0644 |
|
| keyvalues.h | File | 4.06 KB | 0644 |
|
| lib.h | File | 1.16 KB | 0644 |
|
| log.h | File | 3.87 KB | 0644 |
|
| lookup.h | File | 2.85 KB | 0644 |
|
| master.h | File | 11.08 KB | 0644 |
|
| masterdump.h | File | 12.35 KB | 0644 |
|
| message.h | File | 38.28 KB | 0644 |
|
| name.h | File | 36.28 KB | 0644 |
|
| ncache.h | File | 4.8 KB | 0644 |
|
| nsec.h | File | 2.88 KB | 0644 |
|
| nsec3.h | File | 8.17 KB | 0644 |
|
| nta.h | File | 4.32 KB | 0644 |
|
| opcode.h | File | 1006 B | 0644 |
|
| order.h | File | 1.95 KB | 0644 |
|
| peer.h | File | 6.06 KB | 0644 |
|
| portlist.h | File | 2.05 KB | 0644 |
|
| private.h | File | 1.9 KB | 0644 |
|
| rbt.h | File | 39.7 KB | 0644 |
|
| rcode.h | File | 2.42 KB | 0644 |
|
| rdata.h | File | 20.92 KB | 0644 |
|
| rdataclass.h | File | 2.2 KB | 0644 |
|
| rdatalist.h | File | 2.51 KB | 0644 |
|
| rdataset.h | File | 20.47 KB | 0644 |
|
| rdatasetiter.h | File | 3.83 KB | 0644 |
|
| rdataslab.h | File | 4.29 KB | 0644 |
|
| rdatastruct.h | File | 57.57 KB | 0644 |
|
| rdatatype.h | File | 2.24 KB | 0644 |
|
| request.h | File | 10.89 KB | 0644 |
|
| resolver.h | File | 18.53 KB | 0644 |
|
| result.h | File | 8.57 KB | 0644 |
|
| rootns.h | File | 891 B | 0644 |
|
| rpz.h | File | 10.09 KB | 0644 |
|
| rriterator.h | File | 4.17 KB | 0644 |
|
| rrl.h | File | 6.49 KB | 0644 |
|
| sdb.h | File | 7.04 KB | 0644 |
|
| sdlz.h | File | 13.87 KB | 0644 |
|
| secalg.h | File | 1.67 KB | 0644 |
|
| secproto.h | File | 1.52 KB | 0644 |
|
| soa.h | File | 2.17 KB | 0644 |
|
| ssu.h | File | 8.09 KB | 0644 |
|
| stats.h | File | 13.15 KB | 0644 |
|
| tcpmsg.h | File | 3.05 KB | 0644 |
|
| time.h | File | 1.66 KB | 0644 |
|
| timer.h | File | 1.02 KB | 0644 |
|
| tkey.h | File | 7.43 KB | 0644 |
|
| tsec.h | File | 2.88 KB | 0644 |
|
| tsig.h | File | 8.06 KB | 0644 |
|
| ttl.h | File | 1.93 KB | 0644 |
|
| types.h | File | 13.65 KB | 0644 |
|
| update.h | File | 1.61 KB | 0644 |
|
| validator.h | File | 7 KB | 0644 |
|
| version.h | File | 867 B | 0644 |
|
| view.h | File | 34.69 KB | 0644 |
|
| xfrin.h | File | 2.85 KB | 0644 |
|
| zone.h | File | 59.8 KB | 0644 |
|
| zonekey.h | File | 763 B | 0644 |
|
| zt.h | File | 5.31 KB | 0644 |
|