version 1.9, 2001/12/07 09:18:08 |
version 1.10, 2002/06/09 05:16:20 |
|
|
#include <sys/param.h> |
#include <sys/param.h> |
#include <sys/types.h> |
#include <sys/types.h> |
#include <sys/mbuf.h> |
#include <sys/mbuf.h> |
|
#include <sys/sysctl.h> |
|
|
#include <stdlib.h> |
#include <stdlib.h> |
#include <string.h> |
#include <string.h> |
|
|
{ |
{ |
int ret; |
int ret; |
|
|
if (namelist[X_MBSTAT].n_type == 0) { |
if (kd != NULL) { |
if ((ret = kvm_nlist(kd, namelist)) == -1) |
|
errx(1, "%s", kvm_geterr(kd)); |
|
else if (ret) |
|
nlisterr(namelist); |
|
if (namelist[X_MBSTAT].n_type == 0) { |
if (namelist[X_MBSTAT].n_type == 0) { |
error("namelist on %s failed", _PATH_UNIX); |
if ((ret = kvm_nlist(kd, namelist)) == -1) |
return(0); |
errx(1, "%s", kvm_geterr(kd)); |
|
else if (ret) |
|
nlisterr(namelist); |
|
if (namelist[X_MBSTAT].n_type == 0) { |
|
error("namelist on %s failed", _PATH_UNIX); |
|
return(0); |
|
} |
} |
} |
} |
} |
if (mb == 0) |
if (mb == 0) |
|
|
void |
void |
fetchmbufs() |
fetchmbufs() |
{ |
{ |
if (namelist[X_MBSTAT].n_type == 0) |
int mib[2]; |
return; |
size_t size = sizeof (*mb); |
NREAD(X_MBSTAT, mb, sizeof (*mb)); |
|
|
if (kd == NULL) { |
|
mib[0] = CTL_KERN; |
|
mib[1] = KERN_MBSTAT; |
|
if (sysctl(mib, 2, mb, &size, NULL, 0) < 0) |
|
err(1, "sysctl(KERN_MBSTAT) failed"); |
|
} else { |
|
if (namelist[X_MBSTAT].n_type == 0) |
|
return; |
|
NREAD(X_MBSTAT, mb, size); |
|
} |
} |
} |