NAME¶
ares_expand_name - Expand a DNS-encoded domain name
SYNOPSIS¶
#include <ares.h>
int ares_expand_name(const unsigned char *encoded,
const unsigned char *abuf, int alen, char **s,
long *enclen)
DESCRIPTION¶
The
ares_expand_name function converts a DNS-encoded domain name to a
dot-separated C string. The argument
encoded gives the beginning of the
encoded domain name, and the arguments
abuf and
alen give the
containing message buffer (necessary for the processing of indirection
pointers within the encoded domain name). The result is placed in a
NUL-terminated allocated buffer, a pointer to which is stored in the variable
pointed to by
s. The length of the encoded name is stored in the
variable pointed to by
enclen so that the caller can advance past the
encoded domain name to read further data in the message.
Use
ares_free_string(3) to free the allocated hostname.
RETURN VALUES¶
ares_expand_name can return any of the following values:
- ARES_SUCCESS
- Expansion of the encoded name succeeded.
- ARES_EBADNAME
- The encoded domain name was malformed and could not be expanded.
- ARES_ENOMEM
- Memory was exhausted.
SEE ALSO¶
ares_mkquery(3),
ares_free_string(3)
AUTHOR¶
Greg Hudson, MIT Information Systems
Copyright 1998 by the Massachusetts Institute of Technology.