PcapPlusPlus
pcpp::PayloadLayer Class Reference

#include <PayloadLayer.h>

Inheritance diagram for pcpp::PayloadLayer:
pcpp::Layer

Public Member Functions

 PayloadLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
 
 PayloadLayer (const uint8_t *data, size_t dataLen, bool dummy)
 
uint8_t * getPayload ()
 
size_t getPayloadLen ()
 
void parseNextLayer ()
 
size_t getHeaderLen ()
 
void computeCalculateFields ()
 
std::string toString ()
 
OsiModelLayer getOsiModelLayer ()
 
- Public Member Functions inherited from pcpp::Layer
virtual ~Layer ()
 
LayergetNextLayer ()
 
LayergetPrevLayer ()
 
ProtocolType getProtocol ()
 
uint8_t * getData ()
 
size_t getDataLen ()
 
uint8_t * getLayerPayload ()
 
size_t getLayerPayloadSize ()
 
bool isAllocatedToPacket ()
 
void copyData (uint8_t *toArr)
 

Detailed Description

Represents a generic or unknown layer or a packet payload

Constructor & Destructor Documentation

pcpp::PayloadLayer::PayloadLayer ( uint8_t *  data,
size_t  dataLen,
Layer prevLayer,
Packet packet 
)
inline

A constructor that creates the layer from an existing packet raw data

Parameters
[in]dataA pointer to the raw data
[in]dataLenSize of the data in bytes
[in]prevLayerA pointer to the previous layer
[in]packetA pointer to the Packet instance where layer will be stored in
pcpp::PayloadLayer::PayloadLayer ( const uint8_t *  data,
size_t  dataLen,
bool  dummy 
)

A constructor that allocates a new payload

Parameters
[in]dataA raw buffer that will be used as a payload. This data will be copied to the layer
[in]dataLenThe raw buffer length
[in]dummyA dummy parameter to separate the constructor signature from the other constructor. Its value isn't used anywhere
Todo:
dummy is probably not necessary anymore. Remove it

Member Function Documentation

void pcpp::PayloadLayer::computeCalculateFields ( )
inlinevirtual

Does nothing for this layer

Implements pcpp::Layer.

size_t pcpp::PayloadLayer::getHeaderLen ( )
inlinevirtual
Returns
Payload data length in bytes

Implements pcpp::Layer.

OsiModelLayer pcpp::PayloadLayer::getOsiModelLayer ( )
inlinevirtual
Returns
The OSI Model layer this protocol belongs to

Implements pcpp::Layer.

uint8_t* pcpp::PayloadLayer::getPayload ( )
inline

Get a pointer to the payload data

Returns
A pointer to the payload data
size_t pcpp::PayloadLayer::getPayloadLen ( )
inline

Get the payload data length

Returns
The payload data length in bytes
void pcpp::PayloadLayer::parseNextLayer ( )
inlinevirtual

Does nothing for this layer (PayloadLayer is always last)

Implements pcpp::Layer.

std::string pcpp::PayloadLayer::toString ( )
virtual
Returns
A string representation of the layer most important data (should look like the layer description in Wireshark)

Implements pcpp::Layer.