NetBurner 3.5.0
PDF Version
 
multicast.h
Go to the documentation of this file.
1/*NB_REVISION*/
2
3/*NB_COPYRIGHT*/
4
16#ifndef _NB_MULTICAST_H
17#define _NB_MULTICAST_H
18// NB Definitions
19#include <predef.h>
20
21// NB Libs
22#include <nbrtos.h>
23#include <nettypes.h>
24
25// This Module provides code for joining multicast groups, using the IGMP protocol per RFC1112 and RFC 2236
26
45void RegisterMulticastFifo4(IPADDR4 group, uint16_t dest_port, OS_FIFO *pfifo, int interface = 0);
46
59void UnregisterMulticastFifo4(IPADDR4 group, uint16_t destination_port, int interface = 0);
60
61#ifdef IPV6
80void RegisterMulticastFifo6(IPADDR group, uint16_t dest_port, OS_FIFO *pfifo, int interface = 0);
81inline void RegisterMulticastFifo(IPADDR group, uint16_t dest_port, OS_FIFO *pfifo, int interface = 0)
82{
83 RegisterMulticastFifo6(group, dest_port, pfifo, interface);
84}
85
98void UnregisterMulticastFifo6(IPADDR group, uint16_t destination_port, int interface = 0);
99inline void UnregisterMulticastFifo(IPADDR group, uint16_t destination_port, int interface = 0)
100{
101 UnregisterMulticastFifo6(group, destination_port, interface);
102}
103
104OS_FIFO *ListeningForGroup(const IPADDR &group);
105#else
106inline void RegisterMulticastFifo(IPADDR group, uint16_t dest_port, OS_FIFO *pfifo, int interface = 0)
107{
108 RegisterMulticastFifo4(group, dest_port, pfifo, interface);
109}
110
111inline void UnregisterMulticastFifo(IPADDR group, uint16_t destination_port, int interface = 0)
112{
113 UnregisterMulticastFifo4(group, destination_port, interface);
114}
115#endif
116
117#endif // _NB_MULTICAST_H
118
Used to store and manipulate IPv4 addresses in dual stack mode.
Definition nettypes.h:208
Used to hold and manipulate IPv4 and IPv6 addresses in dual stack mode.
Definition ipv6_addr.h:41
void UnregisterMulticastFifo6(IPADDR group, uint16_t destination_port, int interface=0)
Unregister from a Multicast group.
void UnregisterMulticastFifo4(IPADDR4 group, uint16_t destination_port, int interface=0)
Unregister from a Multicast group.
void RegisterMulticastFifo6(IPADDR group, uint16_t dest_port, OS_FIFO *pfifo, int interface=0)
Register to join a Multicast group.
void RegisterMulticastFifo4(IPADDR4 group, uint16_t dest_port, OS_FIFO *pfifo, int interface=0)
Register to join a Multicast group.
NetBurner Real-Time Operating System (NBRTOS) API.
NetBurner IPADDR4 Class. See the IPADDR4 Class page for complete documentation.
Definition nbrtos.h:907