PcapPlusPlus
22.11
|
#include <SomeIpLayer.h>
Classes | |
struct | someiptphdr |
Public Member Functions | |
SomeIpTpLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) | |
SomeIpTpLayer (uint16_t serviceID, uint16_t methodID, uint16_t clientID, uint16_t sessionID, uint8_t interfaceVersion, MsgType type, uint8_t returnCode, uint32_t offset, bool moreSegmentsFlag, const uint8_t *const data=nullptr, size_t dataLen=0) | |
~SomeIpTpLayer () | |
someiptphdr * | getSomeIpTpHeader () const |
uint32_t | getOffset () const |
void | setOffset (uint32_t offset) |
bool | getMoreSegmentsFlag () const |
void | setMoreSegmentsFlag (bool flag) |
void | computeCalculateFields () |
std::string | toString () const |
Public Member Functions inherited from pcpp::SomeIpLayer | |
SomeIpLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) | |
SomeIpLayer (uint16_t serviceID, uint16_t methodID, uint16_t clientID, uint16_t sessionID, uint8_t interfaceVersion, MsgType type, uint8_t returnCode, const uint8_t *const data=nullptr, size_t dataLen=0) | |
~SomeIpLayer () | |
someiphdr * | getSomeIpHeader () const |
uint32_t | getMessageID () const |
void | setMessageID (uint32_t messageID) |
uint16_t | getServiceID () const |
void | setServiceID (uint16_t serviceID) |
uint16_t | getMethodID () const |
void | setMethodID (uint16_t methodID) |
uint32_t | getLengthField () const |
uint32_t | getRequestID () const |
void | setRequestID (uint32_t requestID) |
uint16_t | getSessionID () const |
void | setSessionID (uint16_t sessionID) |
uint16_t | getClientID () const |
void | setClientID (uint16_t clientID) |
uint8_t | getProtocolVersion () const |
void | setProtocolVersion (uint8_t version) |
uint8_t | getInterfaceVersion () const |
void | setInterfaceVersion (uint8_t version) |
uint8_t | getMessageTypeAsInt () const |
SomeIpLayer::MsgType | getMessageType () const |
void | setMessageType (MsgType type) |
void | setMessageType (uint8_t type) |
uint8_t | getReturnCode () const |
void | setReturnCode (uint8_t returnCode) |
void | setPayloadLength (uint32_t payloadLength) |
uint8_t * | getPduPayload () const |
size_t | getPduPayloadSize () const |
size_t | getHeaderLen () const |
void | parseNextLayer () |
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 |
Additional Inherited Members | |
Public Types inherited from pcpp::SomeIpLayer | |
enum | MsgType : uint8_t { MsgType::REQUEST = 0x00, MsgType::REQUEST_ACK = 0x40, MsgType::REQUEST_NO_RETURN = 0x01, MsgType::REQUEST_NO_RETURN_ACK = 0x41, MsgType::NOTIFICATION = 0x02, MsgType::NOTIFICATION_ACK = 0x42, MsgType::RESPONSE = 0x80, MsgType::RESPONSE_ACK = 0xC0, MsgType::ERRORS = 0x81, MsgType::ERROR_ACK = 0xC1, MsgType::TP_REQUEST = 0x20, MsgType::TP_REQUEST_NO_RETURN = 0x21, MsgType::TP_NOTIFICATION = 0x22, MsgType::TP_RESPONSE = 0xa0, MsgType::TP_ERROR = 0xa1 } |
Static Public Member Functions inherited from pcpp::SomeIpLayer | |
static Layer * | parseSomeIpLayer (uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet) |
static bool | isSomeIpPort (uint16_t port) |
static void | addSomeIpPort (uint16_t port) |
static void | removeSomeIpPort (uint16_t port) |
static void | removeAllSomeIpPorts () |
Represents an SOME/IP Transport Protocol Layer
|
inline |
A constructor that creates the layer from an existing packet raw data
[in] | data | A pointer to the raw data (will be casted to someiptphdr) |
[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::SomeIpTpLayer::SomeIpTpLayer | ( | uint16_t | serviceID, |
uint16_t | methodID, | ||
uint16_t | clientID, | ||
uint16_t | sessionID, | ||
uint8_t | interfaceVersion, | ||
MsgType | type, | ||
uint8_t | returnCode, | ||
uint32_t | offset, | ||
bool | moreSegmentsFlag, | ||
const uint8_t *const | data = nullptr , |
||
size_t | dataLen = 0 |
||
) |
A constructor that creates empty layer and sets values
[in] | serviceID | Service ID |
[in] | methodID | Method ID |
[in] | clientID | Client ID |
[in] | sessionID | Session ID |
[in] | interfaceVersion | Interface Version |
[in] | type | Type of the message |
[in] | returnCode | Return Code |
[in] | offset | Offset indicating the data offset in increments of 16 bytes |
[in] | moreSegmentsFlag | Flag indicating whether more SOME/IP-TP Packets will follow |
[in] | data | A pointer to the raw data |
[in] | dataLen | Size of the data in bytes |
|
inline |
Destroy the layer object
|
virtual |
Sets the message type in this layer with enabling the TP flag
Reimplemented from pcpp::SomeIpLayer.
bool pcpp::SomeIpTpLayer::getMoreSegmentsFlag | ( | ) | const |
Get the More Segments Flag
uint32_t pcpp::SomeIpTpLayer::getOffset | ( | ) | const |
Get the Offset. Offset is returned in multiple of 16 bytes.
|
inline |
Get a pointer to the basic SOME/IP-TP header. Notice this points directly to the data, so every change will change the actual packet data
void pcpp::SomeIpTpLayer::setMoreSegmentsFlag | ( | bool | flag | ) |
Set the More Segments Flag
[in] | flag | True if the More Segments Flag shall be set, false for resetting |
void pcpp::SomeIpTpLayer::setOffset | ( | uint32_t | offset | ) |
Set the Offset. Already has to be in multiples of 16 bytes. If 32 bytes have already been transmitted, the offset has to be set to 2.
[in] | offset | Offset to set. Already has to be in multiples of 16 bytes. |
|
virtual |
Reimplemented from pcpp::SomeIpLayer.