Added kfreebsd support. Patch by Petr Salinger <Petr.Salinger@seznam.cz>.

2006-11-27  Benoît Dejean  <benoit@placenet.org>

	* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write):
	* mem.c: (glibtop_get_mem_p):
	* prockernel.c: (glibtop_get_proc_kernel_p):
	* proclist.c: (glibtop_get_proclist_p):
	* procmap.c: (glibtop_get_proc_map_p):
	* procmem.c: (glibtop_get_proc_mem_p):
	* procsignal.c: (glibtop_get_proc_signal_p):
	* procstate.c: (glibtop_get_proc_state_p):
	* proctime.c:
	* procuid.c: (glibtop_get_proc_uid_p):
	* swap.c: (glibtop_init_swap_p), (glibtop_get_swap_p):

	Added kfreebsd support.
	Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
This commit is contained in:
Benoît Dejean
2006-11-27 19:22:45 +00:00
committed by Benoît Dejean
parent 0d2382e666
commit 0b438b5250
12 changed files with 68 additions and 58 deletions

View File

@@ -1,3 +1,20 @@
2006-11-27 Benoît Dejean <benoit@placenet.org>
* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write):
* mem.c: (glibtop_get_mem_p):
* prockernel.c: (glibtop_get_proc_kernel_p):
* proclist.c: (glibtop_get_proclist_p):
* procmap.c: (glibtop_get_proc_map_p):
* procmem.c: (glibtop_get_proc_mem_p):
* procsignal.c: (glibtop_get_proc_signal_p):
* procstate.c: (glibtop_get_proc_state_p):
* proctime.c:
* procuid.c: (glibtop_get_proc_uid_p):
* swap.c: (glibtop_init_swap_p), (glibtop_get_swap_p):
Added kfreebsd support.
Patch by Petr Salinger <Petr.Salinger@seznam.cz>.
2006-04-09 Benoît Dejean <benoit@placenet.org> 2006-04-09 Benoît Dejean <benoit@placenet.org>
* fsusage.c: (_glibtop_freebsd_get_fsusage_read_write): * fsusage.c: (_glibtop_freebsd_get_fsusage_read_write):

View File

@@ -46,9 +46,9 @@ _glibtop_freebsd_get_fsusage_read_write(glibtop *server,
if (result == -1) { if (result == -1) {
return; return;
} }
#if !defined(__FreeBSD_kernel__)
buf->read = sfs.f_syncreads + sfs.f_asyncreads; buf->read = sfs.f_syncreads + sfs.f_asyncreads;
buf->write = sfs.f_syncwrites + sfs.f_asyncwrites; buf->write = sfs.f_syncwrites + sfs.f_asyncwrites;
#endif
buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE); buf->flags |= (1 << GLIBTOP_FSUSAGE_READ) | (1 << GLIBTOP_FSUSAGE_WRITE);
} }

View File

@@ -43,7 +43,7 @@ static const unsigned long _glibtop_sysdeps_mem =
(1L << GLIBTOP_MEM_FREE) + (1L << GLIBTOP_MEM_FREE) +
(1L << GLIBTOP_MEM_SHARED) + (1L << GLIBTOP_MEM_SHARED) +
(1L << GLIBTOP_MEM_BUFFER) + (1L << GLIBTOP_MEM_BUFFER) +
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
(1L << GLIBTOP_MEM_CACHED) + (1L << GLIBTOP_MEM_CACHED) +
#endif #endif
(1L << GLIBTOP_MEM_USER) + (1L << GLIBTOP_MEM_LOCKED); (1L << GLIBTOP_MEM_USER) + (1L << GLIBTOP_MEM_LOCKED);
@@ -66,7 +66,7 @@ static struct nlist nlst [] = {
#else #else
#if defined(__bsdi__) #if defined(__bsdi__)
{ "_bufcachemem" }, { "_bufcachemem" },
#elif defined(__FreeBSD__) #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
{ "_bufspace" }, { "_bufspace" },
#else #else
{ "_bufpages" }, { "_bufpages" },
@@ -171,7 +171,7 @@ glibtop_get_mem_p (glibtop *server, glibtop_mem *buf)
/* convert memory stats to Kbytes */ /* convert memory stats to Kbytes */
#if defined(__FreeBSD__) #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
v_total_count = vmm.v_page_count; v_total_count = vmm.v_page_count;
#else #else
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__) #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) || defined(__OpenBSD__)
@@ -198,7 +198,7 @@ glibtop_get_mem_p (glibtop *server, glibtop_mem *buf)
buf->used = (guint64) pagetok (v_used_count) << LOG1024; buf->used = (guint64) pagetok (v_used_count) << LOG1024;
buf->free = (guint64) pagetok (v_free_count) << LOG1024; buf->free = (guint64) pagetok (v_free_count) << LOG1024;
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
buf->cached = (guint64) pagetok (vmm.v_cache_count) << LOG1024; buf->cached = (guint64) pagetok (vmm.v_cache_count) << LOG1024;
#endif #endif
@@ -210,7 +210,7 @@ glibtop_get_mem_p (glibtop *server, glibtop_mem *buf)
buf->shared = (guint64) pagetok (vmt.t_rmshr) << LOG1024; buf->shared = (guint64) pagetok (vmt.t_rmshr) << LOG1024;
#if __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
buf->buffer = (guint64) bufspace; buf->buffer = (guint64) bufspace;
#else #else
buf->buffer = (guint64) pagetok (bufspace) << LOG1024; buf->buffer = (guint64) pagetok (bufspace) << LOG1024;

View File

@@ -36,7 +36,7 @@
#include <sys/user.h> #include <sys/user.h>
#endif #endif
#if !defined(__bsdi__) && !(defined(__FreeBSD__) && defined(__alpha__)) && \ #if !defined(__bsdi__) && !(defined(__FreeBSD__) && defined(__alpha__)) && \
!defined(__NetBSD__) !defined(__NetBSD__)
#include <machine/pcb.h> #include <machine/pcb.h>
#endif #endif
@@ -94,7 +94,7 @@ glibtop_get_proc_kernel_p (glibtop *server,
pid_t pid) pid_t pid)
{ {
struct kinfo_proc *pinfo; struct kinfo_proc *pinfo;
#ifndef __FreeBSD__ #if !(defined(__FreeBSD__) || defined(__FreeBSD_kernel__))
struct user *u_addr = (struct user *)USRSTACK; struct user *u_addr = (struct user *)USRSTACK;
struct pstats pstats; struct pstats pstats;
struct pcb pcb; struct pcb pcb;
@@ -119,7 +119,7 @@ glibtop_get_proc_kernel_p (glibtop *server,
if ((pinfo == NULL) || (count != 1)) if ((pinfo == NULL) || (count != 1))
glibtop_error_io_r (server, "kvm_getprocs (%d)", pid); glibtop_error_io_r (server, "kvm_getprocs (%d)", pid);
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500013) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500013)) || defined(__FreeBSD_kernel__)
#define PROC_WCHAN ki_wchan #define PROC_WCHAN ki_wchan
#define PROC_WMESG ki_wmesg #define PROC_WMESG ki_wmesg
@@ -147,7 +147,7 @@ glibtop_get_proc_kernel_p (glibtop *server,
} }
#endif #endif
#ifndef __FreeBSD__ #if !(defined(__FreeBSD__) || defined(__FreeBSD_kernel__))
/* Taken from `saveuser ()' in `/usr/src/bin/ps/ps.c'. */ /* Taken from `saveuser ()' in `/usr/src/bin/ps/ps.c'. */
@@ -203,9 +203,9 @@ glibtop_get_proc_kernel_p (glibtop *server,
(unsigned long) &u_addr->u_pcb, (unsigned long) &u_addr->u_pcb,
(char *) &pcb, sizeof (pcb)) == sizeof (pcb)) (char *) &pcb, sizeof (pcb)) == sizeof (pcb))
{ {
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#ifndef __alpha__ #ifndef __alpha__
#if (__FreeBSD_version >= 300003) #if (__FreeBSD_version >= 300003) || defined(__FreeBSD_kernel__)
buf->kstk_esp = (guint64) pcb.pcb_esp; buf->kstk_esp = (guint64) pcb.pcb_esp;
buf->kstk_eip = (guint64) pcb.pcb_eip; buf->kstk_eip = (guint64) pcb.pcb_eip;
#else #else

View File

@@ -86,7 +86,7 @@ glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
pids = g_realloc (pids, count * sizeof (unsigned)); pids = g_realloc (pids, count * sizeof (unsigned));
/* Copy the pids over to this chain */ /* Copy the pids over to this chain */
for (i=j=0; i < count; i++) { for (i=j=0; i < count; i++) {
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500013) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500013)) || defined(__FreeBSD_kernel__)
#define PROC_STAT ki_stat #define PROC_STAT ki_stat
#define PROC_RUID ki_ruid #define PROC_RUID ki_ruid
#define PROC_PID ki_pid #define PROC_PID ki_pid

View File

@@ -41,18 +41,18 @@
#else #else
#include <vm/vm_object.h> #include <vm/vm_object.h>
#include <vm/vm_map.h> #include <vm/vm_map.h>
#if (__FreeBSD_version >= 400011) #if (__FreeBSD_version >= 400011) || defined(__FreeBSD_kernel__)
#include <vm/vm.h> #include <vm/vm.h>
#else #else
#include <vm/vm_prot.h> #include <vm/vm_prot.h>
#endif #endif
#endif #endif
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#define _KVM_VNODE #define _KVM_VNODE
#endif #endif
#include <sys/vnode.h> #include <sys/vnode.h>
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#undef _KVM_VNODE #undef _KVM_VNODE
#endif #endif
#include <sys/mount.h> #include <sys/mount.h>
@@ -109,9 +109,9 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
struct vm_object object; struct vm_object object;
#endif #endif
glibtop_map_entry *maps; glibtop_map_entry *maps;
#if defined __FreeBSD__ #if (defined __FreeBSD__) || defined(__FreeBSD_kernel__)
struct vnode vnode; struct vnode vnode;
#if __FreeBSD_version < 500039 #if (__FreeBSD_version < 500039) && !defined(__FreeBSD_kernel__)
struct inode inode; struct inode inode;
#endif #endif
#endif #endif
@@ -137,7 +137,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
/* Now we get the memory maps. */ /* Now we get the memory maps. */
if (kvm_read (server->machine.kd, if (kvm_read (server->machine.kd,
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500013) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500013)) || defined(__FreeBSD_kernel__)
(unsigned long) pinfo [0].ki_vmspace, (unsigned long) pinfo [0].ki_vmspace,
#else #else
(unsigned long) pinfo [0].kp_proc.p_vmspace, (unsigned long) pinfo [0].kp_proc.p_vmspace,
@@ -179,8 +179,8 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
update = 1; update = 1;
} }
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#if __FreeBSD__ >= 4 #if (__FreeBSD__ >= 4) || defined(__FreeBSD_kernel__)
if (entry.eflags & (MAP_ENTRY_IS_SUB_MAP)) if (entry.eflags & (MAP_ENTRY_IS_SUB_MAP))
continue; continue;
#else #else
@@ -256,7 +256,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
#endif #endif
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
/* If the object is of type vnode, add its size */ /* If the object is of type vnode, add its size */
if (object.type != OBJT_VNODE) if (object.type != OBJT_VNODE)
@@ -270,10 +270,10 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
&vnode, sizeof (vnode)) != sizeof (vnode)) &vnode, sizeof (vnode)) != sizeof (vnode))
glibtop_error_io_r (server, "kvm_read (vnode)"); glibtop_error_io_r (server, "kvm_read (vnode)");
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500039) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500039)) || defined(__FreeBSD_kernel__)
switch (vnode.v_type) { switch (vnode.v_type) {
case VREG: case VREG:
#if __FreeBSD_version < 600006 #if (__FreeBSD_version < 600006) && !defined(__FreeBSD_kernel__)
maps [i-1].inode = vnode.v_cachedid; maps [i-1].inode = vnode.v_cachedid;
maps [i-1].device = vnode.v_cachedfs; maps [i-1].device = vnode.v_cachedfs;
#endif #endif

View File

@@ -73,7 +73,7 @@ static const unsigned long _glibtop_sysdeps_proc_mem =
static const unsigned long _glibtop_sysdeps_proc_mem_share = static const unsigned long _glibtop_sysdeps_proc_mem_share =
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)
(1L << GLIBTOP_PROC_MEM_SHARE); (1L << GLIBTOP_PROC_MEM_SHARE);
#elif defined(__FreeBSD__) #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
(1L << GLIBTOP_PROC_MEM_SHARE); (1L << GLIBTOP_PROC_MEM_SHARE);
#else #else
0; 0;
@@ -126,7 +126,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
#else #else
struct vm_object object; struct vm_object object;
#endif #endif
#if !defined(__FreeBSD__) || (__FreeBSD_version < 500013) #if (!defined(__FreeBSD__) || (__FreeBSD_version < 500013)) && !defined(__FreeBSD_kernel__)
struct plimit plimit; struct plimit plimit;
#endif #endif
int count; int count;
@@ -147,7 +147,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid); glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
return; return;
} }
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500013) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500013)) || defined(__FreeBSD_kernel__)
#define PROC_VMSPACE ki_vmspace #define PROC_VMSPACE ki_vmspace
@@ -214,8 +214,8 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
return; return;
} }
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#if __FreeBSD__ >= 4 #if (__FreeBSD__ >= 4) || defined(__FreeBSD_kernel__)
if (entry.eflags & (MAP_ENTRY_IS_SUB_MAP)) if (entry.eflags & (MAP_ENTRY_IS_SUB_MAP))
continue; continue;
#else #else
@@ -282,7 +282,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
#endif /* __NetBSD_Version__ >= 105250000 */ #endif /* __NetBSD_Version__ >= 105250000 */
#endif #endif
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
if (object.type != OBJT_VNODE) if (object.type != OBJT_VNODE)
continue; continue;

View File

@@ -70,7 +70,7 @@ glibtop_get_proc_signal_p (glibtop *server,
return; return;
} }
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500013) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500013)) || defined(__FreeBSD_kernel__)
#define PROC_SIGLIST ki_siglist #define PROC_SIGLIST ki_siglist
#define PROC_SIGMASK ki_sigmask #define PROC_SIGMASK ki_sigmask
@@ -92,7 +92,7 @@ glibtop_get_proc_signal_p (glibtop *server,
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) #if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000)
buf->signal [0] = pinfo [0].kp_proc.p_sigctx.ps_siglist.__bits[0]; buf->signal [0] = pinfo [0].kp_proc.p_sigctx.ps_siglist.__bits[0];
#elif (defined(__NetBSD__) && (NSIG > 32)) || \ #elif (defined(__NetBSD__) && (NSIG > 32)) || \
(defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) (defined(__FreeBSD__) && (__FreeBSD_version >= 400011) || defined(__FreeBSD_kernel__))
buf->signal [0] = pinfo [0].PROC_SIGLIST.__bits[0]; buf->signal [0] = pinfo [0].PROC_SIGLIST.__bits[0];
#else #else
buf->signal [0] = pinfo [0].kp_proc.p_siglist; buf->signal [0] = pinfo [0].kp_proc.p_siglist;
@@ -104,7 +104,7 @@ glibtop_get_proc_signal_p (glibtop *server,
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) #if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000)
buf->blocked [0] = pinfo [0].kp_proc.p_sigctx.ps_sigmask.__bits[0]; buf->blocked [0] = pinfo [0].kp_proc.p_sigctx.ps_sigmask.__bits[0];
#elif (defined(__NetBSD__) && (NSIG > 32)) || \ #elif (defined(__NetBSD__) && (NSIG > 32)) || \
(defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) (defined(__FreeBSD__) && (__FreeBSD_version >= 400011) || defined(__FreeBSD_kernel__))
buf->blocked [0] = pinfo [0].PROC_SIGMASK.__bits[0]; buf->blocked [0] = pinfo [0].PROC_SIGMASK.__bits[0];
#else #else
buf->blocked [0] = pinfo [0].kp_proc.p_sigmask; buf->blocked [0] = pinfo [0].kp_proc.p_sigmask;
@@ -116,7 +116,7 @@ glibtop_get_proc_signal_p (glibtop *server,
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) #if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000)
buf->sigignore [0] = pinfo [0].kp_proc.p_sigctx.ps_sigignore.__bits[0]; buf->sigignore [0] = pinfo [0].kp_proc.p_sigctx.ps_sigignore.__bits[0];
#elif (defined(__NetBSD__) && (NSIG > 32)) || \ #elif (defined(__NetBSD__) && (NSIG > 32)) || \
(defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) (defined(__FreeBSD__) && (__FreeBSD_version >= 400011) || defined(__FreeBSD_kernel__))
buf->sigignore [0] = pinfo [0].PROC_SIGIGNORE.__bits[0]; buf->sigignore [0] = pinfo [0].PROC_SIGIGNORE.__bits[0];
#else #else
buf->sigignore [0] = pinfo [0].kp_proc.p_sigignore; buf->sigignore [0] = pinfo [0].kp_proc.p_sigignore;
@@ -128,7 +128,7 @@ glibtop_get_proc_signal_p (glibtop *server,
#if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000) #if defined(__NetBSD__) && (__NetBSD_Version__ >= 105150000)
buf->sigcatch [0] = pinfo [0].kp_proc.p_sigctx.ps_sigcatch.__bits[0]; buf->sigcatch [0] = pinfo [0].kp_proc.p_sigctx.ps_sigcatch.__bits[0];
#elif (defined(__NetBSD__) && (NSIG > 32)) || \ #elif (defined(__NetBSD__) && (NSIG > 32)) || \
(defined(__FreeBSD__) && (__FreeBSD_version >= 400011)) (defined(__FreeBSD__) && (__FreeBSD_version >= 400011) || defined(__FreeBSD_kernel__))
buf->sigcatch [0] = pinfo [0].PROC_SIGCATCH.__bits[0]; buf->sigcatch [0] = pinfo [0].PROC_SIGCATCH.__bits[0];
#else #else
buf->sigcatch [0] = pinfo [0].kp_proc.p_sigcatch; buf->sigcatch [0] = pinfo [0].kp_proc.p_sigcatch;

View File

@@ -73,7 +73,7 @@ glibtop_get_proc_state_p (glibtop *server,
return; return;
} }
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500013) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500013)) || defined(__FreeBSD_kernel__)
#define PROC_COMM ki_comm #define PROC_COMM ki_comm
#define PROC_SVUID ki_svuid #define PROC_SVUID ki_svuid
#define PROC_SVGID ki_svgid #define PROC_SVGID ki_svgid

View File

@@ -58,9 +58,8 @@ glibtop_init_proc_time_p (glibtop *server)
* system, and interrupt time usage. * system, and interrupt time usage.
*/ */
#ifndef __FreeBSD__ #if !(defined(__FreeBSD__) || defined(__FreeBSD_kernel__))
#ifndef __FreeBSD__
static void static void
calcru(p, up, sp, ip) calcru(p, up, sp, ip)
struct proc *p; struct proc *p;
@@ -109,8 +108,6 @@ calcru(p, up, sp, ip)
ip->tv_usec = it % 1000000; ip->tv_usec = it % 1000000;
} }
} }
#endif
#endif /* !__FreeBSD__ */ #endif /* !__FreeBSD__ */
/* Provides detailed information about a process. */ /* Provides detailed information about a process. */
@@ -145,7 +142,7 @@ glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf,
if ((pinfo == NULL) || (count != 1)) if ((pinfo == NULL) || (count != 1))
glibtop_error_io_r (server, "kvm_getprocs (%d)", pid); glibtop_error_io_r (server, "kvm_getprocs (%d)", pid);
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500013) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500013)) || defined(__FreeBSD_kernel__)
buf->rtime = pinfo [0].ki_runtime; buf->rtime = pinfo [0].ki_runtime;
#elif (defined __FreeBSD__) && (__FreeBSD_version <= 500013) #elif (defined __FreeBSD__) && (__FreeBSD_version <= 500013)
buf->rtime = pinfo [0].kp_proc.p_runtime; buf->rtime = pinfo [0].kp_proc.p_runtime;
@@ -182,8 +179,8 @@ glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf,
buf->flags |= _glibtop_sysdeps_proc_time_user; buf->flags |= _glibtop_sysdeps_proc_time_user;
#else #else
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500013) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500013)) || defined(__FreeBSD_kernel__)
#if __FreeBSD_version >= 500016 #if (__FreeBSD_version >= 500016) || defined(__FreeBSD_kernel__)
if ((pinfo [0].ki_flag & PS_INMEM)) { if ((pinfo [0].ki_flag & PS_INMEM)) {
#else #else
if ((pinfo [0].ki_flag & P_INMEM)) { if ((pinfo [0].ki_flag & P_INMEM)) {

View File

@@ -77,7 +77,7 @@ glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf,
return; return;
} }
#if defined(__FreeBSD__) && (__FreeBSD_version >= 500013) #if (defined(__FreeBSD__) && (__FreeBSD_version >= 500013)) || defined(__FreeBSD_kernel__)
#define PROC_RUID ki_ruid #define PROC_RUID ki_ruid
#define PROC_SVUID ki_svuid #define PROC_SVUID ki_svuid
@@ -87,12 +87,8 @@ glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf,
#define PROC_PGID ki_pgid #define PROC_PGID ki_pgid
#define PROC_TPGID ki_tpgid #define PROC_TPGID ki_tpgid
#define PROC_NICE ki_nice #define PROC_NICE ki_nice
#if __FreeBSD_version >= 500013
#define PROC_PRIORITY ki_pri.pri_user #define PROC_PRIORITY ki_pri.pri_user
#else #else
#define PROC_PRIORITY ki_priority
#endif
#else
#define PROC_RUID kp_eproc.e_pcred.p_ruid #define PROC_RUID kp_eproc.e_pcred.p_ruid
#define PROC_SVUID kp_eproc.e_pcred.p_svuid #define PROC_SVUID kp_eproc.e_pcred.p_svuid

View File

@@ -33,13 +33,13 @@ static const unsigned long _glibtop_sysdeps_swap =
(1L << GLIBTOP_SWAP_FREE) + (1L << GLIBTOP_SWAP_PAGEIN) + (1L << GLIBTOP_SWAP_FREE) + (1L << GLIBTOP_SWAP_PAGEIN) +
(1L << GLIBTOP_SWAP_PAGEOUT); (1L << GLIBTOP_SWAP_PAGEOUT);
#if defined(__FreeBSD__) || defined(__bsdi__) #if defined(__FreeBSD__) || defined(__bsdi__) || defined(__FreeBSD_kernel__)
#include <sys/conf.h> #include <sys/conf.h>
#ifdef __bsdi__ #ifdef __bsdi__
#include <vm/swap_pager.h> #include <vm/swap_pager.h>
#else #else
#if __FreeBSD_version < 400005 #if (__FreeBSD_version < 400005) && !defined(__FreeBSD_kernel__)
#include <sys/rlist.h> #include <sys/rlist.h>
#endif #endif
#endif #endif
@@ -94,7 +94,7 @@ static struct nlist nlst2 [] = {
void void
glibtop_init_swap_p (glibtop *server) glibtop_init_swap_p (glibtop *server)
{ {
#if defined(__FreeBSD__) || defined(__bsdi__) #if defined(__FreeBSD__) || defined(__bsdi__) || defined(__FreeBSD_kernel__)
#if __FreeBSD__ < 4 || defined(__bsdi__) #if __FreeBSD__ < 4 || defined(__bsdi__)
if (kvm_nlist (server->machine.kd, nlst) < 0) { if (kvm_nlist (server->machine.kd, nlst) < 0) {
glibtop_warn_io_r (server, "kvm_nlist (swap)"); glibtop_warn_io_r (server, "kvm_nlist (swap)");
@@ -130,9 +130,9 @@ glibtop_init_swap_p (glibtop *server)
void void
glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
{ {
#if defined(__FreeBSD__) #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
# if __FreeBSD__ < 4 # if (__FreeBSD__ < 4) && !defined(__FreeBSD_kernel__)
char *header; char *header;
int hlen, nswdev, dmmax; int hlen, nswdev, dmmax;
int div, nfree, npfree; int div, nfree, npfree;
@@ -194,7 +194,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
buf->pagein = 0; buf->pagein = 0;
buf->pageout = 0; buf->pageout = 0;
} else { } else {
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
buf->pagein = vmm.v_swappgsin - swappgsin; buf->pagein = vmm.v_swappgsin - swappgsin;
buf->pageout = vmm.v_swappgsout - swappgsout; buf->pageout = vmm.v_swappgsout - swappgsout;
#else #else
@@ -208,7 +208,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
#endif #endif
} }
#ifdef __FreeBSD__ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
swappgsin = vmm.v_swappgsin; swappgsin = vmm.v_swappgsin;
swappgsout = vmm.v_swappgsout; swappgsout = vmm.v_swappgsout;
#else #else
@@ -221,9 +221,9 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
#endif #endif
#endif #endif
#if defined(__FreeBSD__) #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
#if __FreeBSD__ < 4 #if (__FreeBSD__ < 4) && !defined(__FreeBSD_kernel__)
/* Size of largest swap device. */ /* Size of largest swap device. */