1 /* $NetBSD: private.h,v 1.5 2014/12/10 04:37:58 christos Exp $ */ 2 3 /* 4 * Copyright (C) 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC") 5 * 6 * Permission to use, copy, modify, and/or distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 11 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 12 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 13 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 14 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 15 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 /* Id: private.h,v 1.5 2011/10/28 12:20:31 tbox Exp */ 20 21 #include <isc/lang.h> 22 #include <isc/types.h> 23 24 #include <dns/types.h> 25 #include <dns/db.h> 26 27 #ifndef DNS_PRIVATE_H 28 #define DNS_PRIVATE_H 29 30 ISC_LANG_BEGINDECLS 31 32 isc_result_t 33 dns_private_chains(dns_db_t *db, dns_dbversion_t *ver, 34 dns_rdatatype_t privatetype, 35 isc_boolean_t *build_nsec, isc_boolean_t *build_nsec3); 36 /*%< 37 * Examine the NSEC, NSEC3PARAM and privatetype RRsets at the apex of the 38 * database to determine which of NSEC or NSEC3 chains we are currently 39 * maintaining. In normal operations only one of NSEC or NSEC3 is being 40 * maintained but when we are transitiong between NSEC and NSEC3 we need 41 * to update both sets of chains. If 'privatetype' is zero then the 42 * privatetype RRset will not be examined. 43 * 44 * Requires: 45 * \li 'db' is valid. 46 * \li 'version' is valid or NULL. 47 * \li 'build_nsec' is a pointer to a isc_boolean_t or NULL. 48 * \li 'build_nsec3' is a pointer to a isc_boolean_t or NULL. 49 * 50 * Returns: 51 * \li ISC_R_SUCCESS, 'build_nsec' and 'build_nsec3' will be valid. 52 * \li other on error 53 */ 54 55 isc_result_t 56 dns_private_totext(dns_rdata_t *privaterdata, isc_buffer_t *buffer); 57 /*%< 58 * Convert a private-type RR 'privaterdata' to human-readable form, 59 * and place the result in 'buffer'. The text should indicate 60 * which action the private-type record specifies and whether the 61 * action has been completed. 62 * 63 * Requires: 64 * \li 'privaterdata' is a valid rdata containing at least five bytes 65 * \li 'buffer' is a valid buffer 66 * 67 * Returns: 68 * \li ISC_R_SUCCESS 69 * \li other on error 70 */ 71 72 ISC_LANG_ENDDECLS 73 74 #endif 75