mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-23 22:45:39 +00:00
This change adds an abstracted core DNS API which resembles the API described here[1]. The API provides a pluggable mechanism for resolvers and also a consistent view for records. Both synchronous and asynchronous queries are supported. This change also adds a res_resolver_unbound module which uses the libunbound library to provide resolution. Unit tests have also been written for all of the above to confirm the API and functionality. ASTERISK-24834 #close Reported by: Matt Jordan ASTERISK-24836 #close Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/4474/ Review: https://reviewboard.asterisk.org/r/4512/ [1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+DNS+API git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@433370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
90 lines
2.0 KiB
C
90 lines
2.0 KiB
C
/*
|
|
* Asterisk -- An open source telephony toolkit.
|
|
*
|
|
* Copyright (C) 2015, Digium, Inc.
|
|
*
|
|
* Joshua Colp <jcolp@digium.com>
|
|
*
|
|
* See http://www.asterisk.org for more information about
|
|
* the Asterisk project. Please do not directly contact
|
|
* any of the maintainers of this project for assistance;
|
|
* the project provides a web site, mailing lists and IRC
|
|
* channels for your use.
|
|
*
|
|
* This program is free software, distributed under the terms of
|
|
* the GNU General Public License Version 2. See the LICENSE file
|
|
* at the top of the source tree.
|
|
*/
|
|
|
|
/*! \file
|
|
* \brief DNS NAPTR Record Parsing API
|
|
* \author Joshua Colp <jcolp@digium.com>
|
|
*/
|
|
|
|
#ifndef _ASTERISK_DNS_NAPTR_H
|
|
#define _ASTERISK_DNS_NAPTR_H
|
|
|
|
#if defined(__cplusplus) || defined(c_plusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*!
|
|
* \brief Get the flags from a NAPTR record
|
|
*
|
|
* \param record The DNS record
|
|
*
|
|
* \return the flags
|
|
*/
|
|
const char *ast_dns_naptr_get_flags(const struct ast_dns_record *record);
|
|
|
|
/*!
|
|
* \brief Get the service from a NAPTR record
|
|
*
|
|
* \param record The DNS record
|
|
*
|
|
* \return the service
|
|
*/
|
|
const char *ast_dns_naptr_get_service(const struct ast_dns_record *record);
|
|
|
|
/*!
|
|
* \brief Get the regular expression from a NAPTR record
|
|
*
|
|
* \param record The DNS record
|
|
*
|
|
* \return the regular expression
|
|
*/
|
|
const char *ast_dns_naptr_get_regexp(const struct ast_dns_record *record);
|
|
|
|
/*!
|
|
* \brief Get the replacement value from a NAPTR record
|
|
*
|
|
* \param record The DNS record
|
|
*
|
|
* \return the replacement value
|
|
*/
|
|
const char *ast_dns_naptr_get_replacement(const struct ast_dns_record *record);
|
|
|
|
/*!
|
|
* \brief Get the order from a NAPTR record
|
|
*
|
|
* \param record The DNS record
|
|
*
|
|
* \return the order
|
|
*/
|
|
unsigned short ast_dns_naptr_get_order(const struct ast_dns_record *record);
|
|
|
|
/*!
|
|
* \brief Get the preference from a NAPTR record
|
|
*
|
|
* \param record The DNS record
|
|
*
|
|
* \return the preference
|
|
*/
|
|
unsigned short ast_dns_naptr_get_preference(const struct ast_dns_record *record);
|
|
|
|
#if defined(__cplusplus) || defined(c_plusplus)
|
|
}
|
|
#endif
|
|
|
|
#endif /* _ASTERISK_DNS_NAPTR_H */
|