getifaddrs - get interface addresses
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 */
The ifa_next field contains a pointer to the next structure on the list. This field is NULL in last structure on the list.
The ifa_name field contains the interface name.
The ifa_flags field contains the interface flags, as set by ifconfig(8) utility.
The ifa_addr field references either the address of the interface or the link level address of the interface, if one exists, otherwise it is NULL. (The sa_family field of the ifa_addr field should be consulted to determine the format of the ifa_addr address.)
The ifa_netmask field references the netmask associated with ifa_addr if one is set, otherwise it is NULL.
The ifa_broadaddr field, which should only be referenced for non-P2P interfaces, references the broadcast address associated with ifa_addr if one exists, otherwise it is NULL.
The ifa_dstaddr field references the destination address on a P2P interface, if one exists, otherwise it is NULL.
The ifa_data field references address family specific data. For AF_LINK addresses it contains a pointer to the Fa struct if_data (as defined in include file In net/if.h ) which contains various interface attributes and statistics. For all other address families, it contains a pointer to the Fa struct ifa_data (as defined in include file In net/if.h ) which contains per-address interface statistics.
The data returned by
getifaddrs ();
is dynamically allocated and should be freed using
freeifaddrs ();
when no longer needed.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |