MAN page from Other c-ares-1.3.0-4.sl5.x86_64.rpm
ARES_QUERY
Section: C Library Functions (3)
Updated: 24 July 1998
Index NAME
ares_query - Initiate a single-question DNS query
SYNOPSIS
#include <ares.h>typedef void (*ares_callback)(void *arg, int status,void ares_query(ares_channel channel, const char *name,int dnsclass, int type, ares_callback callback,
DESCRIPTION
The
ares_queryfunction initiates a single-question DNS query on the name servicechannel identified by
channel.The parameter
namegives the query name as a NUL-terminated C string of period-separatedlabels optionally ending with a period; periods and backslashes withina label must be escaped with a backslash. The parameters
dnsclassand
typegive the class and type of the query using the values defined in
<arpa/nameser.h>.When the query is complete or has failed, the ares library will invoke
callback.Completion or failure of the query may happen immediately, or mayhappen during a later call to
ares_process(3)or
ares_destroy(3).
The callback argumentargis copied from theares_queryargumentarg.The callback argumentstatusindicates whether the query succeeded and, if not, how it failed. Itmay have any of the following values:
- ARES_SUCCESS
- The query completed successfully.
- ARES_ENODATA
- The query completed but contains no answers.
- ARES_EFORMERR
- The query completed but the server claims that the query wasmalformatted.
- ARES_ESERVFAIL
- The query completed but the server claims to have experienced afailure. (This code can only occur if theARES_FLAG_NOCHECKRESPflag was specified at channel initialization time; otherwise, suchresponses are ignored at theares_send(3)level.)
- ARES_ENOTFOUND
- The query completed but the queried-for domain name was not found.
- ARES_ENOTIMP
- The query completed but the server does not implement the operationrequested by the query. (This code can only occur if theARES_FLAG_NOCHECKRESPflag was specified at channel initialization time; otherwise, suchresponses are ignored at theares_send(3)level.)
- ARES_EREFUSED
- The query completed but the server refused the query. (This code canonly occur if theARES_FLAG_NOCHECKRESPflag was specified at channel initialization time; otherwise, suchresponses are ignored at theares_send(3)level.)
- ARES_EBADNAME
- The query namenamecould not be encoded as a domain name, either because it contained azero-length label or because it contained a label of more than 63characters.
- ARES_ETIMEOUT
- No name servers responded within the timeout period.
- ARES_ECONNREFUSED
- No name servers could be contacted.
- ARES_ENOMEM
- Memory was exhausted.
- ARES_EDESTRUCTION
- The name service channelchannelis being destroyed; the query will not be completed.
If the query completed (even if there was something wrong with it, asindicated by some of the above error codes), the callback argumentabufpoints to a result buffer of lengthalen.If the query did not complete,abufwill be NULL andalenwill be 0.
SEE ALSO
ares_process(3)
AUTHOR
Greg Hudson, MIT Information Systems
Copyright 1998 by the Massachusetts Institute of Technology.
Index
- NAME
- SYNOPSIS
- DESCRIPTION
- SEE ALSO
- AUTHOR
This document was created byman2html,using the manual pages.