18 class IDnsResourceData;
19 class DnsResourceDataPtr;
33 size_t m_OffsetInLayer;
35 std::string m_DecodedName;
37 uint8_t* m_ExternalRawData;
43 size_t decodeName(
const char* encodedName,
char* result,
int iteration = 1);
44 void encodeName(
const std::string& decodedName,
char* result,
size_t& resultLen);
48 return m_NextResource;
52 m_NextResource = next;
55 uint8_t* getRawData()
const;
57 void setDnsLayer(
DnsLayer* dnsLayer,
size_t offsetInLayer);
85 return m_OffsetInLayer;
129 return m_NameLength + 2 *
sizeof(uint16_t);
149 m_ResourceType = resourceType;
220 return m_NameLength + 3 *
sizeof(uint16_t) +
sizeof(uint32_t) +
getDataLength();
224 return m_ResourceType;
Definition: DnsLayer.h:88
Definition: DnsResource.h:113
size_t getSize() const override
Definition: DnsResource.h:127
DnsResourceType getType() const override
Definition: DnsResource.h:131
Definition: DnsResourceData.h:71
Definition: DnsResource.h:140
void setTTL(uint32_t newTTL)
void setCustomDnsClass(uint16_t customValue)
size_t getSize() const override
Definition: DnsResource.h:218
uint16_t getCustomDnsClass() const
DnsResourceType getType() const override
Definition: DnsResource.h:222
size_t getDataOffset() const
size_t getDataLength() const
DnsResourceDataPtr getData() const
bool setData(IDnsResourceData *data)
Definition: DnsResourceData.h:24
Definition: DnsResource.h:26
void setDnsType(DnsType newType)
virtual DnsResourceType getType() const =0
const std::string & getName() const
Definition: DnsResource.h:77
virtual size_t getSize() const =0
DnsClass getDnsClass() const
size_t getNameOffset() const
Definition: DnsResource.h:83
void setDnsClass(DnsClass newClass)
DnsType getDnsType() const
bool setName(const std::string &newName)
The main namespace for the PcapPlusPlus lib.
DnsClass
An enum for all possible DNS classes.
Definition: DnsLayerEnums.h:120
DnsResourceType
An enum for representing the 4 types of possible DNS records.
Definition: DnsLayerEnums.h:135
@ DnsQueryType
DNS query record.
Definition: DnsLayerEnums.h:137
DnsType
An enum for all possible DNS record types.
Definition: DnsLayerEnums.h:11