ares_parse_uri_reply.3 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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_PARSE_URI_REPLY 3 "14 August 2020"
  17. .SH NAME
  18. ares_parse_uri_reply \- Parse a reply to a DNS query of type URI
  19. .SH SYNOPSIS
  20. .nf
  21. .B #include <ares.h>
  22. .PP
  23. .B int ares_parse_uri_reply(const unsigned char* \fIabuf\fP, int \fIalen\fP,
  24. .B struct ares_uri_reply** \fIuri_out\fP);
  25. .fi
  26. .SH DESCRIPTION
  27. The
  28. .B ares_parse_uri_reply
  29. function parses the response to a query of type URI into a
  30. linked list of
  31. .I struct ares_uri_reply
  32. The parameters
  33. .I abuf
  34. and
  35. .I alen
  36. give the contents of the response. The result is stored in allocated
  37. memory and a pointer to it stored into the variable pointed to by
  38. .IR uri_out .
  39. It is the caller's responsibility to free the resulting
  40. .IR uri_out
  41. structure when it is no longer needed using the function
  42. .B ares_free_data
  43. .PP
  44. The structure
  45. .I ares_uri_reply
  46. contains the following fields:
  47. .sp
  48. .in +4n
  49. .nf
  50. struct ares_uri_reply {
  51. struct ares_uri_reply *next;
  52. unsigned short weight;
  53. unsigned short priority;
  54. char *uri;
  55. int ttl;
  56. };
  57. .fi
  58. .in
  59. .PP
  60. .SH RETURN VALUES
  61. .B ares_parse_uri_reply
  62. can return any of the following values:
  63. .TP 15
  64. .B ARES_SUCCESS
  65. The response was successfully parsed.
  66. .TP 15
  67. .B ARES_EBADRESP
  68. The response was malformatted.
  69. .TP 15
  70. .B ARES_ENODATA
  71. The response did not contain an answer to the query.
  72. .TP 15
  73. .B ARES_ENOMEM
  74. Memory was exhausted.
  75. .SH AVAILABILITY
  76. .SH SEE ALSO
  77. .BR ares_query (3)
  78. .BR ares_free_data (3)
  79. .SH AUTHOR
  80. Written by Jan Petrasek <[email protected]>