path: root/ares_parse_txt_reply.3
diff options
Diffstat (limited to 'ares_parse_txt_reply.3')
1 files changed, 44 insertions, 4 deletions
diff --git a/ares_parse_txt_reply.3 b/ares_parse_txt_reply.3
index 063b3ff..e15d0ea 100644
--- a/ares_parse_txt_reply.3
+++ b/ares_parse_txt_reply.3
@@ -22,13 +22,16 @@ ares_parse_txt_reply \- Parse a reply to a DNS query of type TXT
.B int ares_parse_txt_reply(const unsigned char* \fIabuf\fP, int \fIalen\fP,
.B struct ares_txt_reply **\fItxt_out\fP);
+.B int ares_parse_txt_reply_ext(const unsigned char* \fIabuf\fP, int \fIalen\fP,
+.B struct ares_txt_ext **\fItxt_out\fP);
-.B ares_parse_txt_reply
+.BR "ares_parse_txt_reply" " (" "ares_parse_txt_reply_ext" ")"
function parses the response to a query of type TXT into a
linked list (one element per sub-string) of
-.I struct ares_txt_reply
+.IR "struct ares_txt_reply" " (" "struct ares_txt_ext" ")"
The parameters
.I abuf
@@ -55,8 +58,44 @@ struct ares_txt_reply {
+The structure
+.I ares_txt_ext
+contains the following fields:
+.sp +4n
+struct ares_txt_ext {
+ struct ares_txt_ext *next;
+ unsigned int length;
+ unsigned char *txt;
+ unsigned char record_start;
+.I record_start
+field in
+.I struct ares_txt_ext
+is 1 if this structure is a start of a TXT record, and 0 if the structure is a
+continuation of a previous record. The linked list of the
+.I struct ares_txt_ext
+will have at least one item with
+.I record_start
+equal to 1, and may have some items with
+.I record_start
+equal to 0 between them.
+These sequences of
+.I struct ares_txt_ext
+(starting from the item with
+.I record_start
+equal to 1, and ending right before the record start item) may be treated as
+either components of a single TXT record or as a multi-parted TXT record,
+depending on particular use case.
-.B ares_parse_txt_reply
+.BR "ares_parse_txt_reply" " (" "ares_parse_txt_reply_ext" ")"
can return any of the following values:
.TP 15
@@ -77,4 +116,5 @@ This function was first introduced in c-ares version 1.7.0.
.BR ares_free_data (3)
Written by Jakub Hrozek <>, on behalf of Red Hat, Inc
+Amended by Fedor Indutny <>, on behalf of PayPal, Inc