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

# [NAME](#NAME)

ares\_parse\_ptr\_reply - Parse a reply to a DNS query of type PTR into a hostent

# [SYNOPSIS](#SYNOPSIS)

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


                         const void *addr, int addrlen,


                         int family, struct hostent **host);
```

# [DESCRIPTION](#DESCRIPTION)

The **ares\_parse\_ptr\_reply** function parses the response to a query of type PTR into a **struct hostent**. The parameters *abuf* and *alen* give the contents of the response. The parameters *addr*, *addrlen*, and *family* specify which address was queried for; they are not used to verify the response, merely used to fill in the address of the **struct hostent**. The resulting **struct hostent** is stored in allocated memory and a pointer to it stored into the variable pointed to by *host*. 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.

# [RETURN VALUES](#RETURN_VALUES)

**ares\_parse\_ptr\_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\_gethostbyaddr**(3)](/man/os/c-ares/ares_gethostbyaddr.3), [**ares\_free\_hostent**(3)](/man/os/c-ares/ares_free_hostent.3)

25 July 1998

---

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