getifmaddrs(3)

NAME

getifmaddrs - get multicast group memberships

SYNOPSIS

#include <sys/types.h>
#include <sys/socket.h>
#include <ifaddrs.h>
int
getifmaddrs(struct ifmaddrs **ifmap);
void
freeifmaddrs(struct ifmaddrs *ifmp);

DESCRIPTION

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 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 transla
tion, if any */
The ifma_next field contains a pointer to the next structure
on the list.
This field is NULL in last structure on the list.
The ifma_name field references an AF_LINK address structure,
containing
the name of the interface where the membership exists.
The ifma_addr references the address that this membership is
for.
The ifma_lladdr field references a link-layer translation
for the protocol-level address in ifma_addr, if one is set, otherwise it
is NULL.
The data returned by getifmaddrs() is dynamically allocated
and should be
freed using freeifmaddrs() when no longer needed.

RETURN VALUES

The getifmaddrs() function returns the value 0 if success
ful; otherwise
the value -1 is returned and the global variable errno is
set to indicate
the error.

ERRORS

The getifmaddrs() may fail and set errno for any of the er
rors specified
for the library routines malloc(3) or sysctl(3).

SEE ALSO

sysctl(3), networking(4), ifconfig(8)

HISTORY

The getifmaddrs() function first appeared in FreeBSD 5.2.

BUGS

If both #include <net/if.h>
and #include <ifaddrs.h>
are being included, #include <net/if.h> must be included before
BSD November 14, 2003
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout