GNUnet 0.21.1
GNUNET_DNSPARSER_Record Struct Reference

A DNS response record. More...

#include <gnunet_dnsparser_lib.h>

Collaboration diagram for GNUNET_DNSPARSER_Record:
[legend]

Data Fields

char * name
 Name of the record that the query is for (0-terminated). More...
 
union {
   char *   hostname
 For NS, CNAME and PTR records, this is the uncompressed 0-terminated hostname. More...
 
   struct GNUNET_DNSPARSER_SoaRecord *   soa
 SOA data for SOA records. More...
 
   struct GNUNET_DNSPARSER_CertRecord *   cert
 CERT data for CERT records. More...
 
   struct GNUNET_DNSPARSER_MxRecord *   mx
 MX data for MX records. More...
 
   struct GNUNET_DNSPARSER_SrvRecord *   srv
 SRV data for SRV records. More...
 
   struct GNUNET_DNSPARSER_UriRecord *   uri
 URI data for URI records. More...
 
   struct GNUNET_DNSPARSER_RawRecord   raw
 Raw data for all other types. More...
 
data
 Payload of the record (which one of these is valid depends on the 'type'). More...
 
struct GNUNET_TIME_Absolute expiration_time
 When does the record expire? More...
 
uint16_t type
 See GNUNET_DNSPARSER_TYPE_*. More...
 
uint16_t dns_traffic_class
 See GNUNET_TUN_DNS_CLASS_*. More...
 

Detailed Description

A DNS response record.

Definition at line 464 of file gnunet_dnsparser_lib.h.

Field Documentation

◆ name

char* GNUNET_DNSPARSER_Record::name

Name of the record that the query is for (0-terminated).

In UTF-8 format. The library will convert from and to DNS-IDNA as necessary. Use GNUNET_DNSPARSER_check_label() to test if an individual label is well-formed. If a given name is not well-formed, creating the DNS packet will fail.

Definition at line 473 of file gnunet_dnsparser_lib.h.

Referenced by add_host(), check_for_glue(), dns_result_parser(), GNUNET_DNSPARSER_duplicate_record(), GNUNET_DNSPARSER_free_record(), GNUNET_DNSPARSER_parse_record(), process_record(), reply_to_dns(), and result_processor().

◆ hostname

char* GNUNET_DNSPARSER_Record::hostname

For NS, CNAME and PTR records, this is the uncompressed 0-terminated hostname.

In UTF-8 format. The library will convert from and to DNS-IDNA as necessary. Use GNUNET_DNSPARSER_check_label() to test if an individual label is well-formed. If a given name is not well-formed, creating the DNS packet will fail.

Definition at line 487 of file gnunet_dnsparser_lib.h.

Referenced by add_host(), check_for_glue(), dns_result_parser(), GNUNET_DNSPARSER_duplicate_record(), GNUNET_DNSPARSER_free_record(), GNUNET_DNSPARSER_parse_record(), process_record(), reply_to_dns(), result_processor(), and try_cache().

◆ soa

◆ cert

struct GNUNET_DNSPARSER_CertRecord* GNUNET_DNSPARSER_Record::cert

CERT data for CERT records.

Definition at line 497 of file gnunet_dnsparser_lib.h.

Referenced by GNUNET_DNSPARSER_duplicate_record(), GNUNET_DNSPARSER_free_record(), and process_record().

◆ mx

◆ srv

struct GNUNET_DNSPARSER_SrvRecord* GNUNET_DNSPARSER_Record::srv

◆ uri

◆ raw

◆ 

◆ expiration_time

struct GNUNET_TIME_Absolute GNUNET_DNSPARSER_Record::expiration_time

◆ type

◆ dns_traffic_class

uint16_t GNUNET_DNSPARSER_Record::dns_traffic_class

See GNUNET_TUN_DNS_CLASS_*.

Definition at line 534 of file gnunet_dnsparser_lib.h.

Referenced by add_host(), GNUNET_DNSPARSER_parse_record(), reply_to_dns(), and result_processor().


The documentation for this struct was generated from the following file: