1 #ifndef PACKETPP_IGMP_LAYER 2 #define PACKETPP_IGMP_LAYER 169 uint16_t calculateChecksum();
409 igmpv3_group_record* addGroupRecordAt(uint8_t recordType,
const IPv4Address& multicastAddress,
const std::vector<IPv4Address>& sourceAddresses,
int offset);
509 #endif // PACKETPP_IGMP_LAYER igmpv3_group_record * addGroupRecord(uint8_t recordType, const IPv4Address &multicastAddress, const std::vector< IPv4Address > &sourceAddresses)
IPv4Address getSourceAddressAtIndex(int index)
uint8_t auxDataLen
Definition: IgmpLayer.h:86
bool removeAllSourceAddresses()
Definition: IgmpLayer.h:81
Definition: IgmpLayer.h:125
void computeCalculateFields()
Definition: IgmpLayer.h:131
IgmpV1Layer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
igmpv3_query_header * getIgmpV3QueryHeader()
Definition: IgmpLayer.h:342
static ProtocolType getIGMPVerFromData(uint8_t *data, size_t dataLen, bool &isQuery)
Definition: IgmpLayer.h:137
IgmpType
Definition: IgmpLayer.h:122
Definition: IgmpLayer.h:133
uint8_t sourceAddresses[]
Definition: IgmpLayer.h:92
uint16_t numOfSources
Definition: IgmpLayer.h:53
uint16_t getGroupRecordCount()
Definition: IgmpLayer.h:406
Definition: IgmpLayer.h:238
uint16_t checksum
Definition: IgmpLayer.h:28
uint8_t type
Definition: IgmpLayer.h:41
Definition: IgmpLayer.h:141
void computeCalculateFields()
uint16_t checksum
Definition: IgmpLayer.h:68
IPv4Address getSoruceAddressAtIndex(int index)
Definition: IpAddress.h:113
void setGroupAddress(const IPv4Address &groupAddr)
Definition: IgmpLayer.h:151
Definition: IgmpLayer.h:135
uint16_t reserved2
Definition: IgmpLayer.h:70
uint32_t multicastAddress
Definition: IgmpLayer.h:90
bool removeSourceAddressAtIndex(int index)
size_t getHeaderLen()
Definition: IgmpLayer.h:226
igmp_header * getIgmpHeader()
Definition: IgmpLayer.h:180
Definition: IgmpLayer.h:139
igmpv3_group_record * addGroupRecordAtIndex(uint8_t recordType, const IPv4Address &multicastAddress, const std::vector< IPv4Address > &sourceAddresses, int index)
Definition: IgmpLayer.h:315
Definition: IgmpLayer.h:21
uint8_t maxResponseTime
Definition: IgmpLayer.h:43
bool addSourceAddress(const IPv4Address &addr)
Definition: IgmpLayer.h:161
~IgmpV1Layer()
Definition: IgmpLayer.h:260
uint8_t reserved1
Definition: IgmpLayer.h:66
IgmpV2Layer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
OsiModelLayer getOsiModelLayer()
Definition: IgmpLayer.h:230
uint16_t getSourceAdressCount()
void parseNextLayer()
Definition: IgmpLayer.h:221
void computeCalculateFields()
OsiModelLayer
Definition: ProtocolType.h:213
uint8_t type
Definition: IgmpLayer.h:64
Definition: IgmpLayer.h:143
Definition: IgmpLayer.h:277
uint16_t getSourceAddressCount()
Definition: ProtocolType.h:220
uint16_t numOfSources
Definition: IgmpLayer.h:88
void computeCalculateFields()
Definition: IgmpLayer.h:145
Definition: IgmpLayer.h:127
bool removeAllGroupRecords()
bool removeGroupRecordAtIndex(int index)
Definition: IgmpLayer.h:147
IPv4Address getGroupAddress()
Definition: IgmpLayer.h:185
Definition: IgmpLayer.h:129
ProtocolType
Definition: ProtocolType.h:16
uint32_t groupAddress
Definition: IgmpLayer.h:30
Definition: IgmpLayer.h:61
uint8_t recordType
Definition: IgmpLayer.h:84
static IPv4Address Zero
Definition: IpAddress.h:203
uint32_t groupAddress
Definition: IgmpLayer.h:47
uint8_t maxResponseTime
Definition: IgmpLayer.h:26
uint8_t s_qrv
Definition: IgmpLayer.h:49
IgmpV3QueryLayer(uint8_t *data, size_t dataLen, Layer *prevLayer, Packet *packet)
void setType(IgmpType type)
uint8_t qqic
Definition: IgmpLayer.h:51
~IgmpV2Layer()
Definition: IgmpLayer.h:299
uint16_t numOfGroupRecords
Definition: IgmpLayer.h:72
Definition: IgmpLayer.h:38
uint8_t type
Definition: IgmpLayer.h:24
uint16_t checksum
Definition: IgmpLayer.h:45
igmpv3_report_header * getReportHeader()
Definition: IgmpLayer.h:431
The main namespace for the PcapPlusPlus lib.
IPv4Address getMulticastAddress()
Definition: IgmpLayer.h:149
igmpv3_group_record * getNextGroupRecord(igmpv3_group_record *groupRecord)
igmpv3_group_record * getFirstGroupRecord()
bool addSourceAddressAtIndex(const IPv4Address &addr, int index)