>"ifconfig -a plumb" is an intentional, though undocumented, special
>case. Ordinarily, the "-a" option means "read SIOCGIFCONF to
>determine what interfaces IP knows about, and operate on them."
>
The code to find all interfaces is as simple as:
#include <libdevinfo.h>
#include <stdio.h>
static int
devfs_entry(di_node_t node, di_minor_t minor, void *arg)
{
if (di_minor_type(minor) != DDM_ALIAS)
return (DI_WALK_CONTINUE);
printf("%s%d\n", di_minor_name(minor), di_instance(node));
return (DI_WALK_CONTINUE);
}
int
main(void)
{
di_node_t root = di_init("/", DINFOCACHE);
di_walk_minor(root, DDI_NT_NET, DI_CHECK_ALIAS, NULL, devfs_entry);
di_fini(root);
return (0);
}
(When compiled as, e.g., "findifs", it will list all interfaces on recent
Solaris versions; plumbed or not plumbed)
Casper
_______________________________________________
opensolaris-discuss mailing list
[email protected]