PcapPlusPlus
21.05
|
#include <IgmpLayer.h>
Public Member Functions | |
igmp_header * | getIgmpHeader () const |
IPv4Address | getGroupAddress () const |
void | setGroupAddress (const IPv4Address &groupAddr) |
IgmpType | getType () const |
void | setType (IgmpType type) |
void | parseNextLayer () |
size_t | getHeaderLen () const |
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 |
virtual void | computeCalculateFields ()=0 |
Static Public Member Functions | |
static ProtocolType | getIGMPVerFromData (uint8_t *data, size_t dataLen, bool &isQuery) |
A base class for all IGMP (Internet Group Management Protocol) protocol classes. This is an abstract class and cannot be instantiated, only its child classes can be instantiated. The inherited classes represent the different versions of the protocol: IGMPv1, IGMPv2 and IGMPv3
|
inline |
|
inlinevirtual |
Implements pcpp::Layer.
Reimplemented in pcpp::IgmpV3ReportLayer, and pcpp::IgmpV3QueryLayer.
|
inline |
Get a pointer to the raw IGMPv1/IGMPv2 header. Notice this points directly to the data, so every change will change the actual packet data
|
static |
A static method that gets raw IGMP data (byte stream) and returns the IGMP version of this IGMP message
[in] | data | The IGMP raw data (byte stream) |
[in] | dataLen | Raw data length |
[out] | isQuery | Return true if IGMP message type is IgmpType_MembershipQuery and false otherwise |
|
inlinevirtual |
Implements pcpp::Layer.
IgmpType pcpp::IgmpLayer::getType | ( | ) | const |
|
inlinevirtual |
Does nothing for this layer (IGMP layer is always last)
Implements pcpp::Layer.
void pcpp::IgmpLayer::setGroupAddress | ( | const IPv4Address & | groupAddr | ) |
Set the IPv4 multicast address
[in] | groupAddr | The IPv4 address to set |
void pcpp::IgmpLayer::setType | ( | IgmpType | type | ) |
Set IGMP type (will be written to igmp_header::type field)
[in] | type | The type to set |
|
virtual |
Implements pcpp::Layer.