mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-22 15:47:37 +00:00
libutil: add kinfo_getswapvmobject(3)
which is the wrapper around the vm.swap_objects sysctl, same as kinfo_getvmobject(3) wraps vm.objects. Submitted by: Yoshihiro Ota MFC after: 1 week Differential revision: https://reviews.freebsd.org/D29754
This commit is contained in:
parent
1833cf1373
commit
f2069331e5
@ -36,8 +36,8 @@ __FBSDID("$FreeBSD$");
|
||||
|
||||
#include "libutil.h"
|
||||
|
||||
struct kinfo_vmobject *
|
||||
kinfo_getvmobject(int *cntp)
|
||||
static struct kinfo_vmobject *
|
||||
kinfo_getvmobject_impl(int *cntp, const char *vmobjsysctl)
|
||||
{
|
||||
char *buf, *bp, *ep;
|
||||
struct kinfo_vmobject *kvo, *list, *kp;
|
||||
@ -46,14 +46,14 @@ kinfo_getvmobject(int *cntp)
|
||||
|
||||
buf = NULL;
|
||||
for (i = 0; i < 3; i++) {
|
||||
if (sysctlbyname("vm.objects", NULL, &len, NULL, 0) < 0) {
|
||||
if (sysctlbyname(vmobjsysctl, NULL, &len, NULL, 0) < 0) {
|
||||
free(buf);
|
||||
return (NULL);
|
||||
}
|
||||
buf = reallocf(buf, len);
|
||||
if (buf == NULL)
|
||||
return (NULL);
|
||||
if (sysctlbyname("vm.objects", buf, &len, NULL, 0) == 0)
|
||||
if (sysctlbyname(vmobjsysctl, buf, &len, NULL, 0) == 0)
|
||||
goto unpack;
|
||||
if (errno != ENOMEM) {
|
||||
free(buf);
|
||||
@ -94,3 +94,15 @@ kinfo_getvmobject(int *cntp)
|
||||
*cntp = cnt;
|
||||
return (list);
|
||||
}
|
||||
|
||||
struct kinfo_vmobject *
|
||||
kinfo_getvmobject(int *cntp)
|
||||
{
|
||||
return (kinfo_getvmobject_impl(cntp, "vm.objects"));
|
||||
}
|
||||
|
||||
struct kinfo_vmobject *
|
||||
kinfo_getswapvmobject(int *cntp)
|
||||
{
|
||||
return (kinfo_getvmobject_impl(cntp, "vm.swap_objects"));
|
||||
}
|
||||
|
@ -109,6 +109,8 @@ struct kinfo_vmentry *
|
||||
kinfo_getvmmap(pid_t _pid, int *_cntp);
|
||||
struct kinfo_vmobject *
|
||||
kinfo_getvmobject(int *_cntp);
|
||||
struct kinfo_vmobject *
|
||||
kinfo_getswapvmobject(int *_cntp);
|
||||
struct kinfo_proc *
|
||||
kinfo_getallproc(int *_cntp);
|
||||
struct kinfo_proc *
|
||||
|
Loading…
Reference in New Issue
Block a user