Getnameinfo – Comtrol eCos User Manual

Page 522

Advertising
background image

Chapter 38. TCP/IP Library Reference

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.)

ifa_netmask

References the netmask associated with ifa_addr, if one is set,

otherwise it is NULL.

ifa_broadaddr

This field, which should only be referenced for non-P2P inter-

faces, references the broadcast address associated with ifa_addr,

if one exists, otherwise it is NULL.

ifa_dstaddr

References the destination address on a P2P interface, if one

exists, otherwise it is NULL.

ifa_data

References address family specific data.

For AF_LINK addresses

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, it

contains a pointer to the struct ifa_data (as defined in include

file

<

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.

RETURN VALUES

Upon successful completion, a value of 0 is returned.

Otherwise, a value

of -1 is returned and errno is set to indicate the error.

ERRORS

The getifaddrs() may fail and set errno for any of the errors specified

for the library routines ioctl(2), socket(2), malloc(3), or sysctl(3).

BUGS

If both

<

net/if.h> and

<

ifaddrs.h> are being included,

<

net/if.h> must be

included before

<

ifaddrs.h>.

SEE ALSO

ioctl(2), socket(2), sysctl(3), networking(4), ifconfig(8)

HISTORY

The getifaddrs() function first appeared in BSDI BSD/OS.

The function is

supplied on OpenBSD since OpenBSD 2.7.

BSD

February 24, 2003

BSD

418

Advertising