2013-12-09 18:28:09 -06:00
. \" The "BSD-New" License
. \"
2014-02-19 17:18:52 -06:00
. \" Copyright (c) 2013, NLNet Labs, Verisign, Inc.
2013-12-09 18:28:09 -06:00
. \" All rights reserved.
. \"
. \" Redistribution and use in source and binary forms, with or without
. \" modification, are permitted provided that the following conditions are met:
. \" * Redistributions of source code must retain the above copyright
. \" notice, this list of conditions and the following disclaimer.
. \" * Redistributions in binary form must reproduce the above copyright
. \" notice, this list of conditions and the following disclaimer in the
. \" documentation and/or other materials provided with the distribution.
. \" * Neither the name of the <organization> nor the
. \" names of its contributors may be used to endorse or promote products
. \" derived from this software without specific prior written permission.
. \"
. \" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
. \" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
. \" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
. \" DISCLAIMED. IN NO EVENT SHALL Verisign, Inc. BE LIABLE FOR ANY
. \" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
. \" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
. \" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
. \" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
. \" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
. \" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
. \"
2013-12-10 04:44:36 -06:00
.TH getdns_hostname 3 "@date@" "getdns @version@" getdns
2013-12-09 18:28:09 -06:00
.SH NAME
.B getdns_hostname,
.B getdns_hostname_sync
.SH LIBRARY
DNS Resolver library (libgetdns, -lgetdns)
.SH SYNOPSIS
#include <getdns.h>
getdns_return_t
.br
.B getdns_hostname
2014-02-20 16:29:39 -06:00
(getdns_context *context,
2013-12-09 18:28:09 -06:00
.RS 3
2014-02-20 16:29:39 -06:00
getdns_dict *address,
2013-12-09 18:28:09 -06:00
.br
2014-02-20 16:29:39 -06:00
getdns_dict *extensions,
2013-12-09 18:28:09 -06:00
.br
void *userarg,
.br
getdns_transaction_t *transaction_id,
.br
getdns_callback_t callbackfn)
.RE
getdns_return_t
.br
.B getdns_hostname_sync
2014-02-20 16:29:39 -06:00
(getdns_context *context,
2013-12-09 18:28:09 -06:00
.RS 3
2014-02-20 16:29:39 -06:00
getdns_dict *address,
2013-12-09 18:28:09 -06:00
.br
2014-02-20 16:29:39 -06:00
getdns_dict *extensions,
2013-12-09 18:28:09 -06:00
.br
2014-02-20 16:29:39 -06:00
getdns_dict **response)
2013-12-09 18:28:09 -06:00
.RE
.SH DESCRIPTION
.LP
The getdns_hostname(3) and getdns_hostname_sync functions provide public entry points into the getdns API library to retrieve the host name given an address.
.HP 3
.I context
see getdns_context (3)
.HP 3
.I address
a getdns_dict structure containing two names: address_type (whose value is bindata and is either "IPv4" or "IPv6") and address_data whose value is bindata
.HP 3
.I extensions
2014-02-20 16:29:39 -06:00
.RP
2013-12-09 18:28:09 -06:00
extensions for this request, NULL if no extensions, see libgetdns (3) for a detailed description of extensions
.HP 3
.I userarg
2014-02-20 16:29:39 -06:00
.RP
2013-12-09 18:28:09 -06:00
returned to the callback function untouched, can be NULL
.HP 3
.I transaction_id
2014-02-20 16:29:39 -06:00
.RP
2013-12-09 18:28:09 -06:00
populated by the API and used to identify the callback (for example to getdns_cancel_callback), can be NULL, set to 0 if the function fails
.HP 3
.I callbackfn
2014-02-20 16:29:39 -06:00
.RP
2013-12-09 18:28:09 -06:00
pointer to a callback function defined by the application, typically used to process the response, may not be NULL. Only the asynchronous signature accepts a callback function, the synchronous signature does not include a callback.
.HP 3
.I response
2014-02-20 16:29:39 -06:00
.RP
2013-12-09 18:28:09 -06:00
A getdns_dict type is returned in response and always contains at least three names: replies_full (a list containing the DNS response as binary data), replies_tree (a list containing the parsed DNS response data) and status (an int). The storage associated with this must be freed by a call to getdns_free_sync_request_memory (3).
.HP
.SH "RETURN VALUES"
Upon successful completion the functions return
.B GETDNS_RETURN_GOOD
, otherwise the following error values are returned:
.LP
.B GETDNS_RETURN_BAD_CONTEXT
if the context pointer is invalid
.LP
2014-02-20 16:29:39 -06:00
.B GETDNS_RETURN_INVALID PARAMETER
one or more parameters has an invalid value
.LP
2013-12-09 18:28:09 -06:00
.B GETDNS_RETURN_BAD_DOMAIN_NAME
if the domain name passed to the function is invalid
.LP
.B GETDNS_RETURN_EXTENSION_MISFORMAT
if the data type specified in one or more of the extensions does not match the specifications
.LP
.B GETDNS_RETURN_NO_SUCH_EXTENSION
if one or more of the strings specified in the extensions are not valid
2014-02-20 16:29:39 -06:00
.LP
.B GETDNS_RETURN_GENERIC_ERROR
some problem was encountered in the function not addressed by one of the more
specific return codes
2013-12-09 18:28:09 -06:00
The values of status in the response include:
.LP
.B GETDNS_RESPSTATUS_GOOD
At least one response was returned
.LP
.B GETDNS_RESPSTATUS_NO_NAME
Queries for the name yielded all negative responses
.LP
.B GETDNS_RESPSTATUS_ALL_TIMEOUT
All queries for the name timed out
.LP
.B GETDNS_RESPSTATUS_NO_SECURE_ANSWERS
only secure replies accepted (per context), at least one response was received but no DNS responses were secure through DNSSEC
.LP
For a more detailed explanation of the response object see
.I libgetdns
(3)
.SH EXAMPLES
TBD
.SH FILES
.br
/etc/hosts
.br
/etc/resolv.conf
.SH SEE ALSO
.BR libgetdns (3),
2014-02-20 16:29:39 -06:00
.BR getdns_context (3),
.BR getdns_free_sync_request_memory (3),
.BR getdns_general (3),
.BR getdns_general_sync (3),
.BR getdns_address (3),
.BR getdns_address_sync (3),
.BR getdns_service (3),
.BR getdns_service_sync (3)
2013-12-09 18:28:09 -06:00