Smart Home firewall
Profile-based Smart Home firewall
Classes | Enumerations | Functions
igmp.h File Reference

IGMP message parser. More...

#include <stdio.h>
#include <stdint.h>
#include "packet_utils.h"
Include dependency graph for igmp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  igmp_v2_message_t
 IGMPv2 message. More...
 
struct  igmp_v3_membership_query_t
 IGMPv3 membership query. More...
 
struct  igmp_v3_group_record_t
 IGMPv3 Group Record. More...
 
struct  igmp_v3_membership_report_t
 IGMPv3 membership report. More...
 
union  igmp_message_body_t
 IGMP message body. More...
 
struct  igmp_message_t
 Generic IGMP message. More...
 

Enumerations

enum  igmp_message_type_t {
  MEMBERSHIP_QUERY = 0x11 , V1_MEMBERSHIP_REPORT = 0x12 , V2_MEMBERSHIP_REPORT = 0x16 , LEAVE_GROUP = 0x17 ,
  V3_MEMBERSHIP_REPORT = 0x22
}
 IGMP message types.
 

Functions

igmp_message_t igmp_parse_message (uint8_t *data)
 Parse an IGMP message. More...
 
void igmp_free_message (igmp_message_t message)
 Free the memory allocated for an IGMP message. More...
 
void igmp_print_message (igmp_message_t message)
 Print an IGMP message. More...
 

Detailed Description

IGMP message parser.

Date
2022-10-05

IGMP message parser. Supports v1 and v2, and v3 Membership Report messages. TODO: support v3 Membership Query messages.

Function Documentation

◆ igmp_free_message()

void igmp_free_message ( igmp_message_t  message)

Free the memory allocated for an IGMP message.

Parameters
messagethe IGMP message to free

◆ igmp_parse_message()

igmp_message_t igmp_parse_message ( uint8_t *  data)

Parse an IGMP message.

Parameters
datapointer to the start of the IGMP message
Returns
the parsed IGMP message

◆ igmp_print_message()

void igmp_print_message ( igmp_message_t  message)

Print an IGMP message.

Parameters
messagethe IGMP message to print