ARES\_PARSE\_AAAA\_REPLY(3) Library Functions Manual ARES\_PARSE\_AAAA\_REPLY(3)

# [NAME](#NAME)

ares\_parse\_aaaa\_reply - Parse a reply to a DNS query of type AAAA

# [SYNOPSIS](#SYNOPSIS)

```
#include <ares.h>
int ares_parse_aaaa_reply(const unsigned char *abuf, int alen,


                          struct hostent **host,         


                          struct ares_addr6ttl *addrttls, int *naddrttls);
```

# [DESCRIPTION](#DESCRIPTION)

The **ares\_parse\_aaaa\_reply** function parses the response to a query of type AAAA into a **struct hostent** and/or an array of **struct ares\_addr6ttl**. The parameters *abuf* and *alen* give the contents of the response. The result is stored in allocated memory and a pointer to it stored into the variable pointed to by *host*, if host is nonnull. It is the caller's responsibility to free the resulting host structure using [**ares\_free\_hostent**(3)](/man/os/c-ares/ares_free_hostent.3) when it is no longer needed.

If *addrttls* and *naddrttls* are both nonnull, then up to \*naddrttls **struct ares\_addr6ttl** records are stored in the array pointed to by addrttls, and then \*naddrttls is set to the number of records so stored. Note that the memory for these records is supplied by the caller.

# [RETURN VALUES](#RETURN_VALUES)

**ares\_parse\_aaaa\_reply** can return any of the following values:

[**ARES\_SUCCESS**](#ARES_SUCCESS)

The response was successfully parsed.

[**ARES\_EBADRESP**](#ARES_EBADRESP)

The response was malformatted.

[**ARES\_ENODATA**](#ARES_ENODATA)

The response did not contain an answer to the query.

[**ARES\_ENOMEM**](#ARES_ENOMEM)

Memory was exhausted.

# [SEE ALSO](#SEE_ALSO)

[**ares\_gethostbyname**(3)](/man/os/c-ares/ares_gethostbyname.3), [**ares\_free\_hostent**(3)](/man/os/c-ares/ares_free_hostent.3)

20 Nov 2009

---

Document: ares_parse_aaaa_reply(3) from c-ares 1.34.8-r2 (Chainguard OS)
Source: https://github.com/c-ares/c-ares
