version 1.44, 2005/06/08 04:47:04 |
version 1.45, 2005/10/17 19:09:36 |
|
|
*/ |
*/ |
if (kread(ifnetaddr, &ifhead, sizeof ifhead)) |
if (kread(ifnetaddr, &ifhead, sizeof ifhead)) |
return; |
return; |
ifnetaddr = (u_long)ifhead.tqh_first; |
ifnetaddr = (u_long)TAILQ_FIRST(&ifhead); |
|
|
printf("%-7.7s %-5.5s %-11.11s %-17.17s ", |
printf("%-7.7s %-5.5s %-11.11s %-17.17s ", |
"Name", "Mtu", "Network", "Address"); |
"Name", "Mtu", "Network", "Address"); |
|
|
return; |
return; |
bcopy(ifnet.if_xname, name, IFNAMSIZ); |
bcopy(ifnet.if_xname, name, IFNAMSIZ); |
name[IFNAMSIZ - 1] = '\0'; /* sanity */ |
name[IFNAMSIZ - 1] = '\0'; /* sanity */ |
ifnetaddr = (u_long)ifnet.if_list.tqe_next; |
ifnetaddr = (u_long)TAILQ_NEXT(&ifnet, if_list); |
if (interface != 0 && strcmp(name, interface) != 0) |
if (interface != 0 && strcmp(name, interface) != 0) |
continue; |
continue; |
cp = strchr(name, '\0'); |
cp = strchr(name, '\0'); |
if ((ifnet.if_flags & IFF_UP) == 0) |
if ((ifnet.if_flags & IFF_UP) == 0) |
*cp++ = '*'; |
*cp++ = '*'; |
*cp = '\0'; |
*cp = '\0'; |
ifaddraddr = (u_long)ifnet.if_addrlist.tqh_first; |
ifaddraddr = (u_long)TAILQ_FIRST(&ifnet.if_addrlist); |
} |
} |
|
|
if (qflag) { |
if (qflag) { |
|
|
u_long multiaddr; |
u_long multiaddr; |
struct in_multi inm; |
struct in_multi inm; |
|
|
multiaddr = (u_long)ifaddr.in.ia_multiaddrs.lh_first; |
multiaddr = (u_long)LIST_FIRST(&ifaddr.in.ia_multiaddrs); |
while (multiaddr != 0) { |
while (multiaddr != 0) { |
kread(multiaddr, &inm, sizeof inm); |
kread(multiaddr, &inm, sizeof inm); |
printf("\n%25s %-17.17s ", "", |
printf("\n%25s %-17.17s ", "", |
routename(inm.inm_addr.s_addr)); |
routename(inm.inm_addr.s_addr)); |
multiaddr = (u_long)inm.inm_list.le_next; |
multiaddr = (u_long)LIST_NEXT(&inm, inm_list); |
} |
} |
} |
} |
break; |
break; |
|
|
struct in6_multi inm; |
struct in6_multi inm; |
struct sockaddr_in6 m6; |
struct sockaddr_in6 m6; |
|
|
multiaddr = (u_long)ifaddr.in6.ia6_multiaddrs.lh_first; |
multiaddr = (u_long)LIST_FIRST(&ifaddr.in6.ia6_multiaddrs); |
while (multiaddr != 0) { |
while (multiaddr != 0) { |
kread(multiaddr, &inm, sizeof inm); |
kread(multiaddr, &inm, sizeof inm); |
memset(&m6, 0, sizeof(m6)); |
memset(&m6, 0, sizeof(m6)); |
|
|
n = 17; |
n = 17; |
printf("\n%25s %-*.*s ", "", |
printf("\n%25s %-*.*s ", "", |
n, n, cp); |
n, n, cp); |
multiaddr = (u_long)inm.in6m_entry.le_next; |
multiaddr = (u_long)LIST_NEXT(&inm, in6m_entry); |
} |
} |
} |
} |
break; |
break; |
|
|
putchar(' '); |
putchar(' '); |
break; |
break; |
} |
} |
ifaddraddr = (u_long)ifaddr.ifa.ifa_list.tqe_next; |
ifaddraddr = (u_long)TAILQ_NEXT(&ifaddr.ifa, ifa_list); |
} |
} |
if (bflag) |
if (bflag) |
printf("%10lu %10lu", |
printf("%10lu %10lu", |
|
|
*/ |
*/ |
if (kread(off, &ifhead, sizeof ifhead)) |
if (kread(off, &ifhead, sizeof ifhead)) |
return; |
return; |
firstifnet = (u_long)ifhead.tqh_first; |
firstifnet = (u_long)TAILQ_FIRST(&ifhead); |
|
|
lastif = iftot; |
lastif = iftot; |
sum = iftot + MAXIF - 1; |
sum = iftot + MAXIF - 1; |
|
|
ip++; |
ip++; |
if (ip >= iftot + MAXIF - 2) |
if (ip >= iftot + MAXIF - 2) |
break; |
break; |
off = (u_long)ifnet.if_list.tqe_next; |
off = (u_long)TAILQ_NEXT(&ifnet, if_list); |
} |
} |
if (interesting == NULL) { |
if (interesting == NULL) { |
fprintf(stderr, "%s: %s: unknown interface\n", |
fprintf(stderr, "%s: %s: unknown interface\n", |
|
|
sum->ift_oe += ip->ift_oe; |
sum->ift_oe += ip->ift_oe; |
sum->ift_co += ip->ift_co; |
sum->ift_co += ip->ift_co; |
sum->ift_dr += ip->ift_dr; |
sum->ift_dr += ip->ift_dr; |
off = (u_long)ifnet.if_list.tqe_next; |
off = (u_long)TAILQ_NEXT(&ifnet, if_list); |
} |
} |
if (lastif - iftot > 0) { |
if (lastif - iftot > 0) { |
if (bflag) |
if (bflag) |