New file. Added definition of `proc_map'.

1998-08-10  Martin Baulig  <martin@home-of-linux.org>

	* include/glibtop/procmap.h (glibtop_proc_map): New file.
	* features.def: Added definition of `proc_map'.
This commit is contained in:
Martin Baulig
1998-08-10 16:57:44 +00:00
committed by Martin Baulig
parent b6885555c1
commit d9361d388c
24 changed files with 552 additions and 19 deletions

View File

@@ -32,6 +32,10 @@
#include <vm/vm_object.h>
#include <vm/vm_map.h>
#include <sys/vnode.h>
#include <ufs/ufs/quota.h>
#include <ufs/ufs/inode.h>
#include <sys/ucred.h>
#include <sys/user.h>
#include <sys/sysctl.h>
@@ -89,6 +93,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
struct vmspace *vms, vmspace;
struct vm_object object;
struct plimit plimit;
struct vnode vnode;
struct inode inode;
int count;
glibtop_suid_enter (server);
@@ -157,8 +163,29 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
/* If the object is of type vnode, add its size */
if (object.type == OBJT_VNODE)
buf->share += object.un_pager.vnp.vnp_size;
if (object.type != OBJT_VNODE)
continue;
buf->share += object.un_pager.vnp.vnp_size;
if (!object.handle)
continue;
if (kvm_read (server->machine.kd,
(unsigned long) object.handle,
&vnode, sizeof (vnode)) != sizeof (vnode))
glibtop_error_io_r (server, "kvm_read (vnode)");
if ((vnode.v_type != VREG) || (vnode.v_tag != VT_UFS) ||
!vnode.v_data) continue;
if (kvm_read (server->machine.kd,
(unsigned long) vnode.v_data,
&inode, sizeof (inode)) != sizeof (inode))
glibtop_error_io_r (server, "kvm_read (inode)");
fprintf (stderr, "INODE: %ld\n", inode.i_number);
}
buf->flags = _glibtop_sysdeps_proc_mem;