ares_parse_txt_reply: return a ares_txt_reply node for each sub-string
[platform/upstream/c-ares.git] / ares_expand_name.3
1 .\"
2 .\" Copyright 1998 by the Massachusetts Institute of Technology.
3 .\"
4 .\" Permission to use, copy, modify, and distribute this
5 .\" software and its documentation for any purpose and without
6 .\" fee is hereby granted, provided that the above copyright
7 .\" notice appear in all copies and that both that copyright
8 .\" notice and this permission notice appear in supporting
9 .\" documentation, and that the name of M.I.T. not be used in
10 .\" advertising or publicity pertaining to distribution of the
11 .\" software without specific, written prior permission.
12 .\" M.I.T. makes no representations about the suitability of
13 .\" this software for any purpose.  It is provided "as is"
14 .\" without express or implied warranty.
15 .\"
16 .TH ARES_EXPAND_NAME 3 "20 Nov 2009"
17 .SH NAME
18 ares_expand_name \- Expand a DNS-encoded domain name
19 .SH SYNOPSIS
20 .nf
21 .B #include <ares.h>
22 .PP
23 .B int ares_expand_name(const unsigned char *\fIencoded\fP,
24 .B      const unsigned char *\fIabuf\fP, int \fIalen\fP, char **\fIs\fP,
25 .B      long *\fIenclen\fP)
26 .fi
27 .SH DESCRIPTION
28 The
29 .B ares_expand_name
30 function converts a DNS-encoded domain name to a dot-separated C
31 string.  The argument
32 .I encoded
33 gives the beginning of the encoded domain name, and the arguments
34 .I abuf
35 and
36 .I alen
37 give the containing message buffer (necessary for the processing of
38 indirection pointers within the encoded domain name).  The result is
39 placed in a NUL-terminated allocated buffer, a pointer to which is
40 stored in the variable pointed to by
41 .IR s .
42 The length of the encoded name is stored in the variable pointed to by
43 .I enclen
44 so that the caller can advance past the encoded domain name to read
45 further data in the message.
46
47 Use \fIares_free_string(3)\fP to free the allocated hostname.
48 .SH RETURN VALUES
49 .B ares_expand_name
50 can return any of the following values:
51 .TP 15
52 .B ARES_SUCCESS
53 Expansion of the encoded name succeeded.
54 .TP 15
55 .B ARES_EBADNAME
56 The encoded domain name was malformed and could not be expanded.
57 .TP 15
58 .B ARES_ENOMEM
59 Memory was exhausted.
60 .SH SEE ALSO
61 .BR ares_mkquery (3), ares_free_string (3)
62 .SH AUTHOR
63 Greg Hudson, MIT Information Systems
64 .br
65 Copyright 1998 by the Massachusetts Institute of Technology.