|GETIFADDRS(3)||Library Functions Manual||GETIFADDRS(3)|
freeifaddrs — get interface
function stores a reference to a linked list of the network interfaces on
the local machine in the memory referenced by ifap.
The list consists of ifaddrs structures, as defined in
the include file
ifaddrs structure contains at least the following
struct ifaddrs *ifa_next; /* Pointer to next struct */ char *ifa_name; /* Interface name */ u_int ifa_flags; /* Interface flags */ struct sockaddr *ifa_addr; /* Interface address */ struct sockaddr *ifa_netmask; /* Interface netmask */ struct sockaddr *ifa_broadaddr; /* Interface broadcast address */ struct sockaddr *ifa_dstaddr; /* P2P interface destination */ void *ifa_data; /* Address specific data */
NULLin the last structure on the list.
NULL. (The sa_family field of the ifa_addr field should be consulted to determine the format of the ifa_addr address.)
AF_LINKaddresses it contains a pointer to the struct if_data (as defined in include file
<net/if.h>) which contains various interface attributes and statistics. For all other address families, ifa_data is
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
getifaddrs() function first appeared
in BSDI BSD/OS. The function has been available on
OpenBSD since OpenBSD
|January 12, 2018||OpenBSD-6.9|