NET_LIFGETNEXT(9F) Kernel Functions for Drivers NET_LIFGETNEXT(9F)
NAME
net_lifgetnext - search through a list of logical network interfaces
SYNOPSIS
#include <sys/neti.h>
net_if_t net_lifgetnext(
const net_data_t net,
const phy_if_t ifp,
net_if_t lif);
INTERFACE LEVEL
illumos DDI specific (illumos DDI).
PARAMETERS
net value returned from a successful call to
net_protocol_lookup(9F).
ifp value returned from a successful call to
net_phylookup(9F) or
net_phygetnext(9F).
lif value returned from a successful call to this function.
DESCRIPTION
The
net_lifgetnext() function is used to search through all of the
logical interfaces that are associated with a physical network
interface. To start searching through this list, a value of 0 should
be passed through as the value of
lif. When 0 is returned by this
function, the last of the interfaces owned by this protocol has been
reached.
When called successfully, the value returned represents a logical
interface that exists, at the time of the call, within the scope of
the network interface and its assigned network protocol. This value
is only guaranteed to be unique for a name within the scope of the
network interface and its assigned protocol.
EXAMPLES
net_data_t net;
phy_if_t ifp;
net_if_t lif;
char buffer[32];
net_ifaddr_t atype[1];
struct sockaddr_in sin[1];
net = net_protocol_lookup("inet");
if (net != NULL) {
atype[0] = NA_ADDRESS;
ifp = net_phylookup(net, "hme0");
for (lif = net_lifgetnext(net, 0); lif != 0;
lif = net_lifgetnext(net, lif)) {
/* Do something with lif */
if (net_getlifaddr(net, ifp, lif, 1, atype, sin) == 0)
printf("hme0:%d %x0, lif,
ntohl(sin[0].sin_addr.s_addr));
}
}
RETURN VALUES
The
net_lifgetnext() function returns a value of -1 if it is not
supported by the network protocol and a value of 0 if an attempt to
go beyond the last network interface is made. Otherwise, it returns a
value representing a network interface.
CONTEXT
The
net_lifgetnext() function may be called from user, kernel, or
interrupt context.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
SEE ALSO
net_phygetnext(9F),
net_phylookup(9F) May 1, 2008 NET_LIFGETNEXT(9F)