PcapPlusPlus
22.05
|
#include <PayloadLayer.h>
Public Member Functions | |
PayloadLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) | |
PayloadLayer (const uint8_t *data, size_t dataLen, bool dummy) | |
PayloadLayer (const std::string &payloadAsHexStream) | |
uint8_t * | getPayload () const |
size_t | getPayloadLen () const |
void | parseNextLayer () |
size_t | getHeaderLen () const |
void | computeCalculateFields () |
void | setPayload (const uint8_t *newPayload, size_t newPayloadLength) |
std::string | toString () const |
OsiModelLayer | getOsiModelLayer () const |
Public Member Functions inherited from pcpp::Layer | |
virtual | ~Layer () |
Layer * | getNextLayer () const |
Layer * | getPrevLayer () const |
ProtocolType | getProtocol () const |
uint8_t * | getData () const |
size_t | getDataLen () const |
uint8_t * | getLayerPayload () const |
size_t | getLayerPayloadSize () const |
bool | isAllocatedToPacket () const |
void | copyData (uint8_t *toArr) const |
uint8_t * | getDataPtr (size_t offset=0) const |
Represents a generic or unknown layer or a packet payload
|
inline |
A constructor that creates the layer from an existing packet raw data
[in] | data | A pointer to the raw data |
[in] | dataLen | Size of the data in bytes |
[in] | prevLayer | A pointer to the previous layer |
[in] | packet | A 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
[in] | data | A raw buffer that will be used as a payload. This data will be copied to the layer |
[in] | dataLen | The raw buffer length |
[in] | dummy | A dummy parameter to separate the constructor signature from the other constructor. Its value isn't used anywhere |
pcpp::PayloadLayer::PayloadLayer | ( | const std::string & | payloadAsHexStream | ) |
A constructor that allocates a new payload from an hex stream
[in] | payloadAsHexStream | A string that represents an hex stream of the payload. For example: 0001080006040002842b2b774c56c0a80078000000000000c0a8. In order for the hex stream to be valid it has to contain valid hex chars only (which means, for example, that it can't begin with "0x") and it also has to have an even number of chars (each char represents one nibble). If the string is not a valid hex stream an error will be printed to log and the payload layer will be empty (no data) |
|
inlinevirtual |
Does nothing for this layer
Implements pcpp::Layer.
|
inlinevirtual |
Implements pcpp::Layer.
|
inlinevirtual |
Implements pcpp::Layer.
|
inline |
Get a pointer to the payload data
|
inline |
Get the payload data length
|
inlinevirtual |
Does nothing for this layer (PayloadLayer is always last)
Implements pcpp::Layer.
void pcpp::PayloadLayer::setPayload | ( | const uint8_t * | newPayload, |
size_t | newPayloadLength | ||
) |
Sets the payload of the PayloadLayer to the given pointer. This will resize (extend/shorten) the underlying packet respectively if there is one.
[in] | newPayload | New payload that shall be set |
[in] | newPayloadLength | New length of payload |
|
virtual |
Implements pcpp::Layer.