use core::marker::PhantomData;
use core::net::IpAddr;
#[doc(alias = "IgmpMessageType")]
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum IgmpType {
Query,
Report,
Leave,
}
#[doc(alias = "IGMP")]
#[doc(alias = "IGMPv2")]
#[doc(alias = "IGMPv3")]
#[doc(alias = "RFC 2236")]
#[doc(alias = "RFC2236")]
#[doc(alias = "RFC 3376")]
#[doc(alias = "RFC3376")]
#[doc(alias = "QUERY")]
#[doc(alias = "REPORT")]
#[doc(alias = "LEAVE")]
#[doc(alias = "GROUP")]
#[doc(alias = "MAX_RESP")]
#[derive(Debug, Clone, PartialEq, Eq, Default)]
pub struct IgmpSpec<'a> {
pub igmp_type: Option<IgmpType>,
pub group: Option<IpAddr>,
pub max_resp: Option<u8>,
pub version: Option<u8>,
pub _marker: PhantomData<&'a ()>,
}