diff options
Diffstat (limited to 'sysdeps/freebsd/procmap.c')
-rw-r--r-- | sysdeps/freebsd/procmap.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/sysdeps/freebsd/procmap.c b/sysdeps/freebsd/procmap.c index a82b2f02..d4022dde 100644 --- a/sysdeps/freebsd/procmap.c +++ b/sysdeps/freebsd/procmap.c @@ -41,7 +41,17 @@ #define _KERNEL #include <sys/pipe.h> #include <sys/conf.h> +#undef _KERNEL +#if __FreeBSD_version >= 800038 +#define _WANT_FILE #include <sys/file.h> +#undef _WANT_FILE +#else +#define _KERNEL +#include <sys/file.h> +#undef _KERNEL +#endif +#define _KERNEL #include <sys/mount.h> #include <ufs/ufs/quota.h> #include <ufs/ufs/inode.h> @@ -103,8 +113,14 @@ _glibtop_sysdeps_freebsd_dev_inode (glibtop *server, struct vnode *vnode, if (kvm_read (server->machine.kd, (gulong) inode.i_dev, (char *) &si, sizeof (si)) != sizeof (si) || +#if __FreeBSD_version >= 800039 + kvm_read (server->machine.kd, (gulong) cdev2priv(&si), (char *) &priv, + sizeof (priv)) +#else kvm_read (server->machine.kd, (gulong) si.si_priv, (char *) &priv, - sizeof (priv)) != sizeof (priv)) + sizeof (priv)) +#endif + != sizeof (priv)) { glibtop_warn_io_r (server, "kvm_read (si)"); return; |