NET_PHYGETNEXT(9F) Kernel Functions for Drivers NET_PHYGETNEXT(9F)

net_phygetnext - search through the current list of network interfaces

#include <sys/neti.h>
phy_if_t net_phygetnext(const net_data_t net, const phy_if_t ifp);

illumos DDI specific (illumos DDI).

net

value returned from a successful call to net_protocol_lookup(9F).

ifp

value returned from a successful call to this function or net_phylookup(9F).

The net_phygetnext() function searches through all of the network interfaces that a network protocol "owns". To start searching through all of the interfaces owned by a protocol, a value of 0 should be passed through as the value of ifp. 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 network interface that exists, at the time of the call, within the scope of the network interface. This value is only guaranteed to be unique for a name within the scope of the network protocol.



net_data_t net;
phy_if_t ifp;
char buffer[32];
net = net_protocol_lookup("inet");
if (net != NULL) {
for (ifp = net_phygetnext(net, 0); ifp != 0;
ifp = net_phygetnext(net, ifp)) {
/* Do something with ifp */
if (net_getifname(net, ifp, buffer,
sizeof(buffer) >= 0)
printf("Interface %s0, buffer);
}
}

The net_phygetnext() function returns -1 if it is not supported by the network protocol or 0 if an attempt to go beyond the last network interface is made. Otherwise, it returns a value representing a network interface.

The net_phygetnext() function may be called from user, kernel, or interrupt context.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Committed

attributes(7), net_phylookup(9F), net_protocol_lookup(9F)

May 1, 2008 OmniOS