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)