25 static_assert(
sizeof(
tpkthdr) == 4,
"tpkthdr size is not 4 bytes");
38 :
Layer(data, dataLen, prevLayer, packet,
TPKT)
82 static bool isTpktPort(uint16_t portSrc, uint16_t portDst)
84 return portSrc == 102 || portDst == 102;
93 return canReinterpretAs<tpkthdr>(data, dataSize);
109 static std::vector<FieldDescriptor>
all()
112 std::initializer_list<FieldDescriptor> extra{
Version };
113 std::copy(extra.begin(), extra.end(), std::back_inserter(result));
131 return reinterpret_cast<tpkthdr*
>(m_Data);
Definition: Serializers.h:230
Definition: TpktLayer.h:30
void setVersion(uint8_t version) const
size_t getHeaderLen() const override
Definition: TpktLayer.h:66
std::string toString() const override
uint8_t getVersion() const
TpktLayer(uint8_t version, uint16_t length)
uint16_t getLength() const
static bool isTpktPort(uint16_t portSrc, uint16_t portDst)
Definition: TpktLayer.h:82
uint8_t getReserved() const
void computeCalculateFields() override
Does nothing for this layer.
Definition: TpktLayer.h:72
TpktLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
Definition: TpktLayer.h:37
static bool isDataValid(const uint8_t *data, size_t dataSize)
Definition: TpktLayer.h:91
void serializeLayer(ObjectScope &serializer) const override
void parseNextLayer() override
Currently parses the rest of the packet as a COTP protocol or generic payload (PayloadLayer)
void setLength(uint16_t length) const
OsiModelLayer getOsiModelLayer() const override
Definition: TpktLayer.h:98
const ProtocolType TPKT
TPKT protocol.
Definition: ProtocolType.h:213
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: TpktLayer.h:107
static const FieldDescriptor Version
TPKT version.
Definition: TpktLayer.h:118
static std::vector< FieldDescriptor > all()
Definition: TpktLayer.h:109
Definition: TpktLayer.h:16
uint8_t version
message version
Definition: TpktLayer.h:18
uint8_t reserved
message reserved
Definition: TpktLayer.h:20
uint16_t length
message length
Definition: TpktLayer.h:22