diff --git a/sys/compat/linsysfs/linsysfs.c b/sys/compat/linsysfs/linsysfs.c --- a/sys/compat/linsysfs/linsysfs.c +++ b/sys/compat/linsysfs/linsysfs.c @@ -270,57 +270,36 @@ return (error == -1 ? ERANGE : error); } -static void -linsysfs_listnics(struct pfs_node *dir) +static int +linsysfs_listnics_cb(if_t ifp, void *arg) { + struct pfs_node *dir = arg; struct pfs_node *nic; - struct pfs_node *lo; - nic = pfs_create_dir(dir, "eth0", NULL, NULL, NULL, 0); + nic = pfs_create_dir(dir, if_name(ifp), NULL, NULL, NULL, 0); pfs_create_file(nic, "address", &linsysfs_ifnet_addr, NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "addr_len", &linsysfs_ifnet_addrlen, NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "flags", &linsysfs_ifnet_flags, NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "ifindex", &linsysfs_ifnet_ifindex, NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "mtu", &linsysfs_ifnet_mtu, NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "tx_queue_len", &linsysfs_ifnet_tx_queue_len, NULL, NULL, NULL, PFS_RD); - pfs_create_file(nic, "type", &linsysfs_ifnet_type, NULL, NULL, NULL, PFS_RD); + return (0); +} - lo = pfs_create_dir(dir, "lo", NULL, NULL, NULL, 0); - - pfs_create_file(lo, "address", &linsysfs_ifnet_addr, - NULL, NULL, NULL, PFS_RD); - - pfs_create_file(lo, "addr_len", &linsysfs_ifnet_addrlen, - NULL, NULL, NULL, PFS_RD); - - pfs_create_file(lo, "flags", &linsysfs_ifnet_flags, - NULL, NULL, NULL, PFS_RD); - - pfs_create_file(lo, "ifindex", &linsysfs_ifnet_ifindex, - NULL, NULL, NULL, PFS_RD); - - pfs_create_file(lo, "mtu", &linsysfs_ifnet_mtu, - NULL, NULL, NULL, PFS_RD); - - pfs_create_file(lo, "tx_queue_len", &linsysfs_ifnet_tx_queue_len, - NULL, NULL, NULL, PFS_RD); +static void +linsysfs_listnics(struct pfs_node *dir) +{ - pfs_create_file(lo, "type", &linsysfs_ifnet_type, - NULL, NULL, NULL, PFS_RD); + if_foreach_sleep(NULL, NULL, linsysfs_listnics_cb, dir); } /*