diff options
author | Martin Baulig <martin@home-of-linux.org> | 1998-12-05 18:52:09 +0000 |
---|---|---|
committer | Martin Baulig <martin@src.gnome.org> | 1998-12-05 18:52:09 +0000 |
commit | 67a344b9d416ea2f3d71f0f9afea497bc0fc5cbc (patch) | |
tree | a080fc085255b4255606342c227900fc798422a0 /sysdeps/freebsd/swap.c | |
parent | d414a22ee3e692cdbc926c7a15fc8fc26253b7b8 (diff) | |
download | libgtop-67a344b9d416ea2f3d71f0f9afea497bc0fc5cbc.tar.gz |
Make it work with NetBSD 1.3.2.
1998-12-05 Martin Baulig <martin@home-of-linux.org>
* Make it work with NetBSD 1.3.2.
Well, it compiles without problems but not all features are currently
working; need to look a little bit closer at it.
Ok for now, think I'll install OpenBSD and test it there ...
Martin
Diffstat (limited to 'sysdeps/freebsd/swap.c')
-rw-r--r-- | sysdeps/freebsd/swap.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sysdeps/freebsd/swap.c b/sysdeps/freebsd/swap.c index 11e106a4..df6344fc 100644 --- a/sysdeps/freebsd/swap.c +++ b/sysdeps/freebsd/swap.c @@ -28,7 +28,9 @@ #include <glibtop_suid.h> #include <sys/conf.h> +#ifdef __FreeBSD__ #include <sys/rlist.h> +#endif #include <sys/vmmeter.h> static const unsigned long _glibtop_sysdeps_swap = @@ -79,9 +81,11 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) int i, div, avail, nfree, npfree, used; struct swdevt *sw; long blocksize, *perdev; +#ifdef __FreeBSD__ struct rlist head; struct rlisthdr swaplist; struct rlist *swapptr; +#endif size_t sw_size; u_long ptr; @@ -109,12 +113,22 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) buf->pagein = 0; buf->pageout = 0; } else { +#ifdef __FreeBSD__ buf->pagein = vmm.v_swappgsin - swappgsin; buf->pageout = vmm.v_swappgsout - swappgsout; +#else + buf->pagein = vmm.v_pswpin - swappgsin; + buf->pageout = vmm.v_pswpout - swappgsout; +#endif } +#ifdef __FreeBSD__ swappgsin = vmm.v_swappgsin; swappgsout = vmm.v_swappgsout; +#else + swappgsin = vmm.v_pswpin; + swappgsout = vmm.v_pswpout; +#endif /* Size of largest swap device. */ @@ -140,6 +154,8 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) return; } +#ifdef __FreeBSD__ + /* List of free swap areas. */ if (kvm_read (server->machine.kd, nlst[VM_SWAPLIST].n_value, @@ -148,6 +164,8 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) return; } +#endif + /* Kernel offset of list of swap devices and sizes. */ if (kvm_read (server->machine.kd, nlst[VM_SWDEVT].n_value, @@ -173,6 +191,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) nfree = 0; memset (perdev, 0, nswdev * sizeof(*perdev)); +#ifdef __FreeBSD__ swapptr = swaplist.rlh_list; while (swapptr) { @@ -212,6 +231,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) swapptr = head.rl_next; } +#endif header = getbsize (&hlen, &blocksize); |