32 #include "../api_network.h"
42 class DNSResourceRecord_Impl;
64 std::string get_name()
const;
69 std::string get_type()
const;
74 std::string get_class()
const;
86 int get_record_offset()
const;
91 int get_rdata_offset()
const;
96 int get_rdata_length()
const;
101 std::string get_cname_cname()
const;
106 int get_mx_preference()
const;
111 std::string get_mx_exchange()
const;
116 std::string get_ns_nsdname()
const;
121 std::string get_ptr_ptrdname()
const;
126 std::string get_soa_mname()
const;
131 std::string get_soa_rname()
const;
133 unsigned int get_soa_serial()
const;
138 int get_soa_refresh()
const;
143 int get_soa_retry()
const;
148 int get_soa_expire()
const;
150 unsigned int get_soa_minimum()
const;
152 unsigned int get_a_address()
const;
157 std::string get_a_address_str()
const;
159 unsigned int get_wks_address()
const;
164 std::string get_wks_address_str()
const;
166 unsigned char get_wks_protocol()
const;
183 void set_record(
DNSPacket packet,
int record_offset);
190 static int type_to_int(
const std::string &qtype);
197 static std::string type_from_int(
int qtype);
204 static std::string type_description(
const std::string &qtype);
211 static std::string type_description(
int qtype);
218 static int class_to_int(
const std::string &qclass);
225 static std::string class_from_int(
int qclass);
232 static std::string class_description(
const std::string &qclass);
239 static std::string class_description(
int qclass);
247 static int find_domain_name_end(
const DataBuffer &packet,
int offset);
255 static std::string read_domain_name(
const DataBuffer &packet,
int offset);
262 std::shared_ptr<DNSResourceRecord_Impl> impl;
DNS packet.
Definition: dns_packet.h:45
General purpose data buffer.
Definition: databuffer.h:43
DNS resource record.
Definition: dns_resource_record.h:45