ldns_struct_resolver Struct Reference

DNS stub resolver structure. More...

`#include <resolver.h>`

## Data Fields

uint16_t | _port
| Port to send queries to.
ldns_rdf ** | _nameservers
| Array of nameservers to query (IP addresses or dnames)
size_t | _nameserver_count
| Number of nameservers in `_nameservers`.
size_t * | _rtt
| Round trip time; 0 -> infinity.
signed char | _recursive
| Whether or not to be recursive.
signed char | _debug
| Print debug information.
ldns_rdf * | _domain
| Default domain to add to non fully qualified domain names.
ldns_rdf ** | _searchlist
| Searchlist array, add the names in this array if a query cannot be found.
size_t | _searchlist_count
| Number of entries in the searchlist array.
uint8_t | _retry
| Number of times to retry before giving up.
uint8_t | _retrans
| Time to wait before retrying.
signed char | _fallback
| Use new fallback mechanism (try EDNS, then do TCP)
signed char | _dnssec
| Whether to do DNSSEC.
signed char | _dnssec_cd
| Whether to set the CD bit on DNSSEC requests.
ldns_rr_list * | _dnssec_anchors
| Optional trust anchors for complete DNSSEC validation.
signed char | _usevc
| Whether to use tcp or udp (tcp if the value is true)
signed char | _igntc
| Whether to ignore the tc bit.
uint8_t | _ip6
| Whether to use ip6: 0->does not matter, 1 is IPv4, 2 is IPv6.
signed char | _defnames
| If true append the default domain.
signed char | _dnsrch
| If true apply the search list.
struct timeval | _timeout
| Timeout for socket connections.
signed char | _fail
| Only try the first nameserver, and return with an error directly if it fails.
signed char | _random
| Randomly choose a nameserver.
int | _socket
| Keep some things to make AXFR possible.
int | _axfr_soa_count
| Count the number of LDNS_RR_TYPE_SOA RRs we have seen so far (the second one signifies the end of the AXFR)
ldns_pkt * | _cur_axfr_pkt
| Packet currently handled when doing part of an AXFR.
uint16_t | _axfr_i
| Counter for within the AXFR packets.
uint16_t | _edns_udp_size
uint32_t | _serial
char * | _tsig_keyname
| Name of the key to use with TSIG, if _tsig_keyname and _tsig_keydata both contain values, outgoing messages are automatically signed with TSIG.
char * | _tsig_keydata
| Secret key data to use with TSIG, if _tsig_keyname and _tsig_keydata both contain values, outgoing messages are automatically signed with TSIG.
char * | _tsig_algorithm
| TSIG signing algorithm.
ldns_rdf * | _source
| Source address to query from.

## Detailed Description

DNS stub resolver structure.

Definition at line 59 of file resolver.h.

## Field Documentation

## _port

uint16_t ldns_struct_resolver::_port

Port to send queries to.

Definition at line 62 of file resolver.h.

## _nameservers

ldns_rdf** ldns_struct_resolver::_nameservers

Array of nameservers to query (IP addresses or dnames)

Definition at line 65 of file resolver.h.

## _nameserver_count

size_t ldns_struct_resolver::_nameserver_count

Number of nameservers in `_nameservers`.

Definition at line 67 of file resolver.h.

## _rtt

size_t* ldns_struct_resolver::_rtt

Round trip time; 0 -> infinity.

Unit: ms?

Definition at line 70 of file resolver.h.

## _recursive

signed char ldns_struct_resolver::_recursive

Whether or not to be recursive.

Definition at line 73 of file resolver.h.

## _debug

signed char ldns_struct_resolver::_debug

Print debug information.

Definition at line 76 of file resolver.h.

## _domain

ldns_rdf* ldns_struct_resolver::_domain

Default domain to add to non fully qualified domain names.

Definition at line 79 of file resolver.h.

## _searchlist

ldns_rdf** ldns_struct_resolver::_searchlist

Searchlist array, add the names in this array if a query cannot be found.

Definition at line 82 of file resolver.h.

## _searchlist_count

size_t ldns_struct_resolver::_searchlist_count

Number of entries in the searchlist array.

Definition at line 85 of file resolver.h.

## _retry

uint8_t ldns_struct_resolver::_retry

Number of times to retry before giving up.

Definition at line 88 of file resolver.h.

## _retrans

uint8_t ldns_struct_resolver::_retrans

Time to wait before retrying.

Definition at line 90 of file resolver.h.

## _fallback

signed char ldns_struct_resolver::_fallback

Use new fallback mechanism (try EDNS, then do TCP)

Definition at line 92 of file resolver.h.

## _dnssec

signed char ldns_struct_resolver::_dnssec

Whether to do DNSSEC.

Definition at line 95 of file resolver.h.

## _dnssec_cd

signed char ldns_struct_resolver::_dnssec_cd

Whether to set the CD bit on DNSSEC requests.

Definition at line 97 of file resolver.h.

## _dnssec_anchors

ldns_rr_list* ldns_struct_resolver::_dnssec_anchors

Optional trust anchors for complete DNSSEC validation.

Definition at line 99 of file resolver.h.

## _usevc

signed char ldns_struct_resolver::_usevc

Whether to use tcp or udp (tcp if the value is true)

Definition at line 101 of file resolver.h.

## _igntc

signed char ldns_struct_resolver::_igntc

Whether to ignore the tc bit.

Definition at line 103 of file resolver.h.

## _ip6

uint8_t ldns_struct_resolver::_ip6

Whether to use ip6: 0->does not matter, 1 is IPv4, 2 is IPv6.

Definition at line 105 of file resolver.h.

## _defnames

signed char ldns_struct_resolver::_defnames

If true append the default domain.

Definition at line 107 of file resolver.h.

## _dnsrch

signed char ldns_struct_resolver::_dnsrch

If true apply the search list.

Definition at line 109 of file resolver.h.

## _timeout

struct timeval ldns_struct_resolver::_timeout

Timeout for socket connections.

Definition at line 111 of file resolver.h.

## _fail

signed char ldns_struct_resolver::_fail

Only try the first nameserver, and return with an error directly if it fails.

Definition at line 113 of file resolver.h.

## _random

signed char ldns_struct_resolver::_random

Randomly choose a nameserver.

Definition at line 115 of file resolver.h.

## _socket

int ldns_struct_resolver::_socket

Keep some things to make AXFR possible.

Definition at line 117 of file resolver.h.

## _axfr_soa_count

int ldns_struct_resolver::_axfr_soa_count

Count the number of LDNS_RR_TYPE_SOA RRs we have seen so far (the second one signifies the end of the AXFR)

Definition at line 121 of file resolver.h.

## _cur_axfr_pkt

ldns_pkt* ldns_struct_resolver::_cur_axfr_pkt

Packet currently handled when doing part of an AXFR.

Definition at line 126 of file resolver.h.

## _axfr_i

uint16_t ldns_struct_resolver::_axfr_i

Counter for within the AXFR packets.

Definition at line 128 of file resolver.h.

## _edns_udp_size

uint16_t ldns_struct_resolver::_edns_udp_size

Definition at line 130 of file resolver.h.

## _serial

uint32_t ldns_struct_resolver::_serial

Definition at line 132 of file resolver.h.

## _tsig_keyname

char* ldns_struct_resolver::_tsig_keyname

Name of the key to use with TSIG, if _tsig_keyname and _tsig_keydata both contain values, outgoing messages are automatically signed with TSIG.

Definition at line 138 of file resolver.h.

## _tsig_keydata

char* ldns_struct_resolver::_tsig_keydata

Secret key data to use with TSIG, if _tsig_keyname and _tsig_keydata both contain values, outgoing messages are automatically signed with TSIG.

Definition at line 140 of file resolver.h.

## _tsig_algorithm

char* ldns_struct_resolver::_tsig_algorithm

TSIG signing algorithm.

Definition at line 142 of file resolver.h.

## _source

ldns_rdf* ldns_struct_resolver::_source

Source address to query from.

Definition at line 145 of file resolver.h.