A DNS response record. More...
#include <gnunet_dnsparser_lib.h>
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... | |
A DNS response record.
Definition at line 464 of file gnunet_dnsparser_lib.h.
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().
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().
struct GNUNET_DNSPARSER_SoaRecord* GNUNET_DNSPARSER_Record::soa |
SOA data for SOA records.
Definition at line 492 of file gnunet_dnsparser_lib.h.
Referenced by dns_result_parser(), GNUNET_DNSPARSER_duplicate_record(), GNUNET_DNSPARSER_free_record(), GNUNET_DNSPARSER_parse_record(), process_record(), and reply_to_dns().
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().
struct GNUNET_DNSPARSER_MxRecord* GNUNET_DNSPARSER_Record::mx |
MX data for MX records.
Definition at line 502 of file gnunet_dnsparser_lib.h.
Referenced by dns_result_parser(), GNUNET_DNSPARSER_duplicate_record(), GNUNET_DNSPARSER_free_record(), GNUNET_DNSPARSER_parse_record(), process_record(), and reply_to_dns().
struct GNUNET_DNSPARSER_SrvRecord* GNUNET_DNSPARSER_Record::srv |
SRV data for SRV records.
Definition at line 507 of file gnunet_dnsparser_lib.h.
Referenced by dns_result_parser(), GNUNET_DNSPARSER_duplicate_record(), GNUNET_DNSPARSER_free_record(), GNUNET_DNSPARSER_parse_record(), and process_record().
struct GNUNET_DNSPARSER_UriRecord* GNUNET_DNSPARSER_Record::uri |
URI data for URI records.
Definition at line 512 of file gnunet_dnsparser_lib.h.
Referenced by dns_result_parser(), GNUNET_DNSPARSER_duplicate_record(), GNUNET_DNSPARSER_free_record(), GNUNET_DNSPARSER_parse_record(), process_record(), and reply_to_dns().
struct GNUNET_DNSPARSER_RawRecord GNUNET_DNSPARSER_Record::raw |
Raw data for all other types.
Definition at line 517 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(), modify_address(), process_record(), reply_to_dns(), result_processor(), and vpn_allocation_callback().
union { ... } GNUNET_DNSPARSER_Record::data |
Payload of the record (which one of these is valid depends on the 'type').
Referenced by add_host(), check_for_glue(), dns_result_parser(), GNUNET_DNSPARSER_duplicate_record(), GNUNET_DNSPARSER_free_record(), GNUNET_DNSPARSER_parse_record(), modify_address(), typescriptdomain.TypeScriptDomain::objects(), process_record(), reply_to_dns(), httpdomain.httpdomain.HTTPDomain::resolve_xref(), result_processor(), httpdomain.httpdomain.HTTPDomain::routes(), and vpn_allocation_callback().
struct GNUNET_TIME_Absolute GNUNET_DNSPARSER_Record::expiration_time |
When does the record expire?
Definition at line 524 of file gnunet_dnsparser_lib.h.
Referenced by add_host(), check_for_glue(), dns_result_parser(), GNUNET_DNSPARSER_parse_record(), process_record(), reply_to_dns(), and result_processor().
uint16_t GNUNET_DNSPARSER_Record::type |
See GNUNET_DNSPARSER_TYPE_*.
Definition at line 529 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(), modify_address(), process_record(), reply_to_dns(), result_processor(), and vpn_allocation_callback().
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().