Get multicast group memberships.
#include <sys/types.h> #include <sys/socket.h> #include <ifaddrs.h> int getifmaddrs(); void freeifmaddrs();
The getifmaddrs() function stores a reference to a linked list of the multicast memberships on the local machine in the memory referenced by ifmap. The list consists of ifmaddrs structures, as defined in the include file <ifaddrs.h>. The ifmaddrs structure contains at least the following entries:
struct ifmaddrs *ifma_next; /* Pointer to next struct */ struct sockaddr *ifma_name; /* Interface name (AF_LINK) */ struct sockaddr *ifma_addr; /* Multicast address */ struct sockaddr *ifma_lladdr; /* Link-layer translation, if any */
ifma_next
ifma_name
ifma_addr
ifma_lladdr
The data returned by getifmaddrs() is dynamically allocated and should be freed using freeifmaddrs() when no longer needed.
If both <net/if.h> and <ifaddrs.h> are being included, <net/if.h> must be included before <ifaddrs.h>.
The getifmaddrs() function returns the value 0 if successful; otherwisethe value -1 is returned and the global variable errno is set to indicate the error.
The getifmaddrs() may fail and set errno for any of the errors specified for the library routines malloc or sysctl.
Versions | Link to |
---|---|
INtime 4.0 | netlib.lib |