path: root/ares_create_query.3
diff options
Diffstat (limited to 'ares_create_query.3')
1 files changed, 81 insertions, 0 deletions
diff --git a/ares_create_query.3 b/ares_create_query.3
new file mode 100644
index 0000000..5fd94fc
--- /dev/null
+++ b/ares_create_query.3
@@ -0,0 +1,81 @@
+.\" Copyright 1998 by the Massachusetts Institute of Technology.
+.\" Permission to use, copy, modify, and distribute this
+.\" software and its documentation for any purpose and without
+.\" fee is hereby granted, provided that the above copyright
+.\" notice appear in all copies and that both that copyright
+.\" notice and this permission notice appear in supporting
+.\" documentation, and that the name of M.I.T. not be used in
+.\" advertising or publicity pertaining to distribution of the
+.\" software without specific, written prior permission.
+.\" M.I.T. makes no representations about the suitability of
+.\" this software for any purpose. It is provided "as is"
+.\" without express or implied warranty.
+.TH ARES_CREATE_QUERY 3 "17 Aug 2012"
+ares_create_query \- Compose a single-question DNS query buffer
+.B #include <ares.h>
+.B int ares_create_query(const char *\fIname\fP, int \fIdnsclass\fP,\
+ int \fItype\fP,
+.B unsigned short \fIid\fP, int \fIrd\fP,\
+ unsigned char **\fIbuf\fP,
+.B int *\fIbuflen\fP, int \fImax_udp_size\fP)
+.B ares_create_query
+function composes a DNS query with a single question.
+The parameter
+.I name
+gives the query name as a NUL-terminated C string of period-separated
+labels optionally ending with a period; periods and backslashes within
+a label must be escaped with a backlash. The parameters
+.I dnsclass
+.I type
+give the class and type of the query using the values defined in
+.BR <arpa/nameser.h> .
+The parameter
+.I id
+gives a 16-bit identifier for the query. The parameter
+.I rd
+should be nonzero if recursion is desired, zero if not. The query
+will be placed in an allocated buffer, a pointer to which will be
+stored in the variable pointed to by
+.IR buf ,
+and the length of which will be stored in the variable pointed to by
+.IR buflen .
+It is the caller's responsibility to free this buffer using
+\fIares_free_string(3)\fP when it is no longer needed.
+The parameter
+.I max_udp_size
+should be nonzero to activate EDNS. Usage of \fIares_create_query(3)\fP\ with
+.I max_udp_size
+set to zero is equivalent to \fIares_mkquery(3)\fP.
+.B ares_create_query
+can return any of the following values:
+.TP 15
+Construction of the DNS query succeeded.
+.TP 15
+The query name
+.I name
+could not be encoded as a domain name, either because it contained a
+zero-length label or because it contained a label of more than 63
+.TP 15
+Memory was exhausted.
+Added in c-ares 1.10.0
+.BR ares_expand_name (3),
+.BR ares_free_string (3)