NAME | SYNOPSIS | DESCRIPTION | PARAMETERS | ATTRIBUTES | SEE ALSO
cc [ flag ... ] file ... -lxnet [ library ... ] #include <net/if.h>unsigned int if_nametoindex(const char *ifname);
This API defines two functions that map between an Internet Protocol network interface name and index, a third function that returns all the interface names and indexes, and a fourth function to return the dynamic memory allocated by the previous function.
Network interfaces are normally known by names such as "le0", "sl1", "ppp2", and the like. The ifname argument must point to a buffer of at least IF_NAMESIZE bytes into which the interface name corresponding to the specified index is returned. IF_NAMESIZE is defined in <net/if.h> and its value includes a terminating null byte at the end of the interface name.
The if_nametoindex() function returns the interface index corresponding to the interface name pointed to by the ifname pointer. If the specified interface name does not exist, the return value is 0, and errno is set to ENXIO. If there was a system error, such as running out of memory, the return value is 0 and errno is set to the proper value, for example, ENOMEM.
The if_indextoname() function maps an interface
index into its corresponding name. This pointer is also the return value
of the function. If there is no interface corresponding to the specified
index, NULL
is returned, and errno is set to ENXIO, if
there was a system error, such as running out of memory, if_indextoname() returns NULL
and errno would be set to the proper value, for example, ENOMEM.
struct if_nameindex { unsigned int if_index; /* 1, 2, ... */ char *if_name; /* null terminated name: "le0", ... */ };
NULL
. The function
returns a null pointer upon an error and sets errno to the appropriate value. The memory used for this array of structures
along with the interface names pointed to by the if_name members is obtained dynamically. This memory is freed by
the if_freenameindex() function.
The if_freenameindex() function frees the dynamic memory that was allocated by if_nameindex(). The argument to this function must be a pointer that was returned by if_nameindex().
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Availability | SUNWcsl (32-bit) |
SUNWcslx (64-bit) | |
MT Level | MT Safe |
Interface Stability | Standard |
NAME | SYNOPSIS | DESCRIPTION | PARAMETERS | ATTRIBUTES | SEE ALSO