Man page - ares_create_query(3)

Packages contains this manual

Manual

ARES_CREATE_QUERY

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUES
AVAILABILITY
SEE ALSO

NAME

ares_create_query - Compose a single-question DNS query buffer

SYNOPSIS

#include <ares.h>

int ares_create_query(const char * name ,
int dnsclass ,
int type ,
unsigned short id ,
int rd ,
unsigned char ** buf ,
int * buflen ,
int max_udp_size )

DESCRIPTION

This function is deprecated as of c-ares 1.22, please use ares_dns_record_create(3) instead.

The ares_create_query(3) function composes a DNS query with a single question. The parameter 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 dnsclass and type give the class and type of the query using the values defined in <arpa/nameser.h> .

The parameter id gives a 16-bit identifier for the query.

The parameter 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 buf , and the length of which will be stored in the variable pointed to by buflen .

It is the caller’s responsibility to free this buffer using ares_free_string(3) when it is no longer needed. The parameter max_udp_size should be nonzero to activate EDNS. Usage of ares_create_query(3) with max_udp_size set to zero is equivalent to using ares_mkquery(3) .

RETURN VALUES

ares_create_query can return any of the following values:

ARES_SUCCESS

Construction of the DNS query succeeded.

ARES_ENOTFOUND

The query name name refers to a .onion domain name. See RFC 7686.

ARES_EBADNAME

The query name 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 characters.

ARES_ENOMEM

Memory was exhausted.

AVAILABILITY

Added in c-ares 1.10.0

SEE ALSO

ares_dns_record (3), ares_expand_name (3), ares_free_string (3), ares_mkquery (3)