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:
committed by
Benoît Dejean
parent
0d2382e666
commit
0b438b5250
@@ -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):
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
||||||
|
@@ -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;
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
@@ -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
|
||||||
|
@@ -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)) {
|
||||||
|
@@ -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
|
||||||
|
@@ -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. */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user