28 static_assert(
sizeof(
udphdr) == 8,
"udphdr size is not 8 bytes");
41 :
Layer(data, dataLen, prevLayer, packet,
UDP)
54 return reinterpret_cast<udphdr*
>(m_Data);
73 static inline bool isDataValid(
const uint8_t* data,
size_t dataLen);
103 static std::vector<FieldDescriptor>
all()
107 std::copy(extra.begin(), extra.end(), std::back_inserter(result));
127 return data && dataLen >=
sizeof(
udphdr);
Definition: Serializers.h:230
Definition: UdpLayer.h:33
udphdr * getUdpHeader() const
Definition: UdpLayer.h:52
OsiModelLayer getOsiModelLayer() const override
Definition: UdpLayer.h:92
uint16_t getDstPort() const
void serializeLayer(ObjectScope &serializer) const override
void computeCalculateFields() override
Calculate udphdr::headerChecksum field.
static bool isDataValid(const uint8_t *data, size_t dataLen)
Definition: UdpLayer.h:125
uint16_t getSrcPort() const
size_t getHeaderLen() const override
Definition: UdpLayer.h:82
void parseNextLayer() override
uint16_t calculateChecksum(bool writeResultToPacket)
UdpLayer(uint16_t portSrc, uint16_t portDst)
UdpLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: UdpLayer.h:40
std::string toString() const override
const ProtocolType UDP
UDP protocol.
Definition: ProtocolType.h:63
The main namespace for the PcapPlusPlus lib.
Definition: AssertionUtils.h:19
OsiModelLayer
An enum representing OSI model layers.
Definition: ProtocolType.h:420
@ OsiModelTransportLayer
Transport layer (layer 4)
Definition: ProtocolType.h:428
Definition: Serializers.h:18
static std::vector< FieldDescriptor > all()
Definition: Layer.h:214
Definition: UdpLayer.h:101
static const FieldDescriptor DstPort
Destination port, in host byte order.
Definition: UdpLayer.h:115
static const FieldDescriptor SrcPort
Source port, in host byte order.
Definition: UdpLayer.h:112
static std::vector< FieldDescriptor > all()
Definition: UdpLayer.h:103
static const FieldDescriptor Checksum
Checksum, as a hex string.
Definition: UdpLayer.h:118
Definition: UdpLayer.h:17
uint16_t length
Length of header and payload in bytes.
Definition: UdpLayer.h:23
uint16_t portSrc
Source port.
Definition: UdpLayer.h:19
uint16_t portDst
Destination port.
Definition: UdpLayer.h:21
uint16_t headerChecksum
Error-checking of the header and data.
Definition: UdpLayer.h:25