DTS Application Library
0.2.3
Application library containing referenced objects and interfaces to common libraries
|
Support for multicast sockets either IPv4 or IPv6. More...
Functions | |
void | mcast6_ip (struct in6_addr *addr) |
Randomally assign a SSM Multicast address.param addr Ip address structure to fill out. More... | |
void | mcast4_ip (struct in_addr *addr) |
Randomally assign a SSM Multicast address. More... | |
struct fwsocket * | mcast_socket (const char *iface, int family, const char *mcastip, const char *port, int flags) |
Create a multicast socket. More... | |
Support for multicast sockets either IPv4 or IPv6.
void mcast4_ip | ( | struct in_addr * | addr | ) |
Randomally assign a SSM Multicast address.
addr | Ip address structure to fill out. |
Definition at line 504 of file iputil.c.
References genrand().
Referenced by mcast_socket().
void mcast6_ip | ( | struct in6_addr * | addr | ) |
Randomally assign a SSM Multicast address.param addr Ip address structure to fill out.
Definition at line 480 of file iputil.c.
References genrand().
Referenced by mcast_socket().
struct fwsocket* mcast_socket | ( | const char * | iface, |
int | family, | ||
const char * | mcastip, | ||
const char * | port, | ||
int | flags | ||
) |
Create a multicast socket.
A multicast socket is both a client and server due to the nature of multicasting writing to a multicast socket should only be done with socketwrite not socketwrite_d the socket is created on a interface and the initial address can be set.
iface | Interface to send and recieve multicast traffic. |
family | IP address family PF_INET or PF_INET6. |
mcastip | Multicast ip to use must be in "family". |
port | Port to use. |
flags | Multicast flags currently disables LOOP. |
Definition at line 536 of file socket.c.
References fwsocket::addr, fwsocket::flags, get_iface_index(), get_ifinfo(), get_ifipaddr(), ifinfo::idx, inet_lookup(), ifinfo::ipv4addr, ifinfo::ipv6addr, make_socket(), mcast4_ip(), mcast6_ip(), objref(), objunref(), sockstruct::sa, seedrand(), fwsocket::sock, and SOCK_FLAG_MCAST.