PcapPlusPlus  Next
pcpp::WireGuardTransportDataLayer Class Reference

#include <WireGuardLayer.h>

Inheritance diagram for pcpp::WireGuardTransportDataLayer:
pcpp::WireGuardLayer pcpp::Layer pcpp::IDataContainer

Public Member Functions

 WireGuardTransportDataLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
 
 WireGuardTransportDataLayer (uint32_t receiverIndex, uint64_t counter, const uint8_t *encryptedData, size_t encryptedDataLen)
 
uint32_t getReceiverIndex () const
 
uint64_t getCounter () const
 
const uint8_t * getEncryptedData () const
 
void setReceiverIndex (uint32_t receiverIndex)
 
void setCounter (uint64_t counter)
 
void setEncryptedData (const uint8_t *encryptedData, size_t encryptedDataLen)
 
WireGuardMessageType getWireGuardMessageType () const override
 
- Public Member Functions inherited from pcpp::WireGuardLayer
 WireGuardLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
 
std::string getMessageTypeAsString () const
 
uint8_t getMessageType () const
 
uint32_t getReserved () const
 
void setReserved (const std::array< uint8_t, 3 > &reserved)
 
void parseNextLayer () override
 
size_t getHeaderLen () const override
 
void computeCalculateFields () override
 
std::string toString () const override
 
OsiModelLayer getOsiModelLayer () const override
 
- Public Member Functions inherited from pcpp::Layer
 ~Layer () override
 
LayergetNextLayer () const
 
LayergetPrevLayer () const
 
ProtocolType getProtocol () const
 
bool isMemberOfProtocolFamily (ProtocolTypeFamily protocolTypeFamily) 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 override
 

Additional Inherited Members

- Public Types inherited from pcpp::WireGuardLayer
enum class  WireGuardMessageType {
  Unknown = 0 , HandshakeInitiation = 1 , HandshakeResponse = 2 , CookieReply = 3 ,
  TransportData = 4
}
 
- Static Public Member Functions inherited from pcpp::WireGuardLayer
static bool isWireGuardPorts (uint16_t portSrc, uint16_t portDst)
 
static bool isDataValid (const uint8_t *data, size_t dataLen)
 
static WireGuardLayerparseWireGuardLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
 

Detailed Description

Represents a Transport Data message

Constructor & Destructor Documentation

◆ WireGuardTransportDataLayer() [1/2]

pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer ( 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

◆ WireGuardTransportDataLayer() [2/2]

pcpp::WireGuardTransportDataLayer::WireGuardTransportDataLayer ( uint32_t  receiverIndex,
uint64_t  counter,
const uint8_t *  encryptedData,
size_t  encryptedDataLen 
)

A constructor that creates a new Transport Data message

Parameters
[in]receiverIndexThe receiver index
[in]counterThe counter field
[in]encryptedDataThe encrypted data
[in]encryptedDataLenThe length of the encrypted data

Member Function Documentation

◆ getCounter()

uint64_t pcpp::WireGuardTransportDataLayer::getCounter ( ) const
Returns
The counter field as a 64-bit unsigned integer.

◆ getEncryptedData()

const uint8_t* pcpp::WireGuardTransportDataLayer::getEncryptedData ( ) const
Returns
A pointer to the encrypted data field.

◆ getReceiverIndex()

uint32_t pcpp::WireGuardTransportDataLayer::getReceiverIndex ( ) const
Returns
The receiver index as a 32-bit unsigned integer.

◆ getWireGuardMessageType()

WireGuardMessageType pcpp::WireGuardTransportDataLayer::getWireGuardMessageType ( ) const
inlineoverridevirtual
Returns
The message type as a WireGuardMessageType enum value.

Reimplemented from pcpp::WireGuardLayer.

◆ setCounter()

void pcpp::WireGuardTransportDataLayer::setCounter ( uint64_t  counter)
Parameters
counterA 64-bit unsigned integer representing the counter field.

◆ setEncryptedData()

void pcpp::WireGuardTransportDataLayer::setEncryptedData ( const uint8_t *  encryptedData,
size_t  encryptedDataLen 
)
Parameters
encryptedDataA pointer to the encrypted data.
encryptedDataLenThe length of the encrypted data.

◆ setReceiverIndex()

void pcpp::WireGuardTransportDataLayer::setReceiverIndex ( uint32_t  receiverIndex)
Parameters
receiverIndexA 32-bit unsigned integer representing the receiver index.