From 7a9bb6e43ddff574ae914408ab1b0b488a9f351b Mon Sep 17 00:00:00 2001 From: Martin Baulig Date: Sun, 24 Oct 1999 20:17:42 +0000 Subject: [PATCH] Return 0 on success and -1 on error. --- sysdeps/freebsd/cpu.c | 12 ++++++++---- sysdeps/freebsd/loadavg.c | 4 ++++ sysdeps/freebsd/mem.c | 16 ++++++++++------ sysdeps/freebsd/msg_limits.c | 16 ++++++++++++---- sysdeps/freebsd/netload.c | 6 +++++- sysdeps/freebsd/ppp.c | 4 ++++ sysdeps/freebsd/procargs.c | 2 ++ sysdeps/freebsd/prockernel.c | 10 +++++++--- sysdeps/freebsd/proclist.c | 2 ++ sysdeps/freebsd/procmap.c | 2 ++ sysdeps/freebsd/procmem.c | 22 ++++++++++++--------- sysdeps/freebsd/procsegment.c | 6 +++++- sysdeps/freebsd/procsignal.c | 8 ++++++-- sysdeps/freebsd/procstate.c | 12 ++++++++---- sysdeps/freebsd/proctime.c | 12 ++++++++---- sysdeps/freebsd/procuid.c | 8 ++++++-- sysdeps/freebsd/sem_limits.c | 17 +++++++++++++---- sysdeps/freebsd/shm_limits.c | 17 +++++++++++++---- sysdeps/freebsd/swap.c | 36 +++++++++++++++++++---------------- sysdeps/freebsd/uptime.c | 6 +++++- 20 files changed, 153 insertions(+), 65 deletions(-) diff --git a/sysdeps/freebsd/cpu.c b/sysdeps/freebsd/cpu.c index 9a53ccbb..83931be2 100644 --- a/sysdeps/freebsd/cpu.c +++ b/sysdeps/freebsd/cpu.c @@ -53,11 +53,13 @@ glibtop_init_cpu_p (glibtop *server) { if (kvm_nlist (server->machine.kd, nlst) != 0) { glibtop_warn_io_r (server, "kvm_nlist (cpu)"); - return; + return -1; } /* Set this only if kvm_nlist () succeeded. */ server->sysdeps.cpu = _glibtop_sysdeps_cpu; + + return 0; } /* Provides information about cpu usage. */ @@ -76,19 +78,19 @@ glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf) /* If this fails, the nlist may not be valid. */ if (server->sysdeps.cpu == 0) - return; + return -1; if (kvm_read (server->machine.kd, nlst [0].n_value, &cpts, sizeof (cpts)) != sizeof (cpts)) { glibtop_warn_io_r (server, "kvm_read (cp_time)"); - return; + return -1; } /* Get the clockrate data */ length = sizeof (struct clockinfo); if (sysctl (mib, mib_length, &ci, &length, NULL, 0)) { glibtop_warn_io_r (server, "sysctl"); - return; + return -1; } /* set user time */ @@ -114,4 +116,6 @@ glibtop_get_cpu_p (glibtop *server, glibtop_cpu *buf) /* Set the flags last. */ buf->flags = _glibtop_sysdeps_cpu; + + return 0; } diff --git a/sysdeps/freebsd/loadavg.c b/sysdeps/freebsd/loadavg.c index 1c0a7979..8acf4ffa 100644 --- a/sysdeps/freebsd/loadavg.c +++ b/sysdeps/freebsd/loadavg.c @@ -36,6 +36,8 @@ int glibtop_init_loadavg_p (glibtop *server) { server->sysdeps.loadavg = _glibtop_sysdeps_loadavg; + + return 0; } /* Provides load averange. */ @@ -57,4 +59,6 @@ glibtop_get_loadavg_p (glibtop *server, glibtop_loadavg *buf) for (i = 0; i < 3; i++) { buf->loadavg [i] = ldavg [i]; } /* end for */ + + return 0; } diff --git a/sysdeps/freebsd/mem.c b/sysdeps/freebsd/mem.c index 62c19095..3dd60f9f 100644 --- a/sysdeps/freebsd/mem.c +++ b/sysdeps/freebsd/mem.c @@ -94,7 +94,7 @@ glibtop_init_mem_p (glibtop *server) if (kvm_nlist (server->machine.kd, nlst) != 0) { glibtop_warn_io_r (server, "kvm_nlist (mem)"); - return; + return -1; } /* get the page size with "getpagesize" and calculate pageshift @@ -110,6 +110,8 @@ glibtop_init_mem_p (glibtop *server) pageshift -= LOG1024; server->sysdeps.mem = _glibtop_sysdeps_mem; + + return 0; } int @@ -133,7 +135,7 @@ glibtop_get_mem_p (glibtop *server, glibtop_mem *buf) memset (buf, 0, sizeof (glibtop_mem)); if (server->sysdeps.mem == 0) - return; + return -1; /* [FIXME: On FreeBSD 2.2.6, sysctl () returns an incorrect * value for `vmt.vm'. We use some code from Unix top @@ -143,28 +145,28 @@ glibtop_get_mem_p (glibtop *server, glibtop_mem *buf) length_vmt = sizeof (vmt); if (sysctl (mib, 2, &vmt, &length_vmt, NULL, 0)) { glibtop_warn_io_r (server, "sysctl (vmt)"); - return; + return -1; } #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) length_uvmexp = sizeof (uvmexp); if (sysctl (mib_uvmexp, 2, &uvmexp, &length_uvmexp, NULL, 0)) { glibtop_warn_io_r (server, "sysctl (uvmexp)"); - return; + return -1; } #else /* Get the data from kvm_* */ if (kvm_read (server->machine.kd, nlst[1].n_value, &vmm, sizeof (vmm)) != sizeof (vmm)) { glibtop_warn_io_r (server, "kvm_read (cnt)"); - return; + return -1; } #endif if (kvm_read (server->machine.kd, nlst[0].n_value, &bufspace, sizeof (bufspace)) != sizeof (bufspace)) { glibtop_warn_io_r (server, "kvm_read (bufspace)"); - return; + return -1; } /* convert memory stats to Kbytes */ @@ -219,4 +221,6 @@ glibtop_get_mem_p (glibtop *server, glibtop_mem *buf) /* Set the values to return */ buf->flags = _glibtop_sysdeps_mem; + + return 0; } diff --git a/sysdeps/freebsd/msg_limits.c b/sysdeps/freebsd/msg_limits.c index f1428e74..f838ce04 100644 --- a/sysdeps/freebsd/msg_limits.c +++ b/sysdeps/freebsd/msg_limits.c @@ -32,7 +32,9 @@ int glibtop_init_msg_limits_p (glibtop *server) -{ } +{ + return 0; +} int glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf) @@ -40,6 +42,8 @@ glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf) glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_MSG_LIMITS), 0); memset (buf, 0, sizeof (glibtop_msg_limits)); + + return 0; } #else @@ -78,16 +82,18 @@ glibtop_init_msg_limits_p (glibtop *server) { if (kvm_nlist (server->machine.kd, nlst) != 0) { glibtop_warn_io_r (server, "kvm_nlist (msg_limits)"); - return; + return -1; } if (kvm_read (server->machine.kd, nlst [0].n_value, &_msginfo, sizeof (_msginfo)) != sizeof (_msginfo)) { glibtop_warn_io_r (server, "kvm_read (msginfo)"); - return; + return -1; } server->sysdeps.msg_limits = _glibtop_sysdeps_msg_limits; + + return 0; } /* Provides information about sysv ipc limits. */ @@ -100,7 +106,7 @@ glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf) memset (buf, 0, sizeof (glibtop_msg_limits)); if (server->sysdeps.msg_limits == 0) - return; + return -1; buf->msgmax = _msginfo.msgmax; buf->msgmni = _msginfo.msgmni; @@ -109,6 +115,8 @@ glibtop_get_msg_limits_p (glibtop *server, glibtop_msg_limits *buf) buf->msgssz = _msginfo.msgtql; buf->flags = _glibtop_sysdeps_msg_limits; + + return 0; } #endif /* either a newer BSDI or no BSDI at all. */ diff --git a/sysdeps/freebsd/netload.c b/sysdeps/freebsd/netload.c index 42461aca..455872f8 100644 --- a/sysdeps/freebsd/netload.c +++ b/sysdeps/freebsd/netload.c @@ -69,6 +69,8 @@ glibtop_init_netload_p (glibtop *server) if (kvm_nlist (server->machine.kd, nlst) != 0) glibtop_error_io_r (server, "kvm_nlist"); + + return 0; } /* Provides Network statistics. */ @@ -191,7 +193,7 @@ glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, buf->collisions = ifnet.if_collisions; buf->flags = _glibtop_sysdeps_netload; - return; + return -1; } #if defined(__FreeBSD__) && (__FreeBSD_version >= 300000) @@ -211,4 +213,6 @@ glibtop_get_netload_p (glibtop *server, glibtop_netload *buf, ifnetaddr = (u_long) ifnet.if_list.tqe_next; #endif } + + return 0; } diff --git a/sysdeps/freebsd/ppp.c b/sysdeps/freebsd/ppp.c index cf089486..dce3b4a3 100644 --- a/sysdeps/freebsd/ppp.c +++ b/sysdeps/freebsd/ppp.c @@ -84,6 +84,8 @@ glibtop_init_ppp_p (glibtop *server) if (kvm_nlist (server->machine.kd, nlst) != 0) glibtop_error_io_r (server, "kvm_nlist"); + + return 0; } /* Provides information about ppp usage. */ @@ -141,4 +143,6 @@ glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device) buf->flags |= _glibtop_sysdeps_ppp_acct; #endif #endif /* HAVE_I4B */ + + return 0; } diff --git a/sysdeps/freebsd/procargs.c b/sysdeps/freebsd/procargs.c index c6b3a8a5..fcd40117 100644 --- a/sysdeps/freebsd/procargs.c +++ b/sysdeps/freebsd/procargs.c @@ -41,6 +41,8 @@ int glibtop_init_proc_args_p (glibtop *server) { server->sysdeps.proc_args = _glibtop_sysdeps_proc_args; + + return 0; } /* Provides detailed information about a process. */ diff --git a/sysdeps/freebsd/prockernel.c b/sysdeps/freebsd/prockernel.c index c562b728..a894dcad 100644 --- a/sysdeps/freebsd/prockernel.c +++ b/sysdeps/freebsd/prockernel.c @@ -70,6 +70,8 @@ glibtop_init_proc_kernel_p (glibtop *server) server->sysdeps.proc_kernel = _glibtop_sysdeps_proc_kernel_pstats | _glibtop_sysdeps_proc_kernel_pcb | _glibtop_sysdeps_proc_kernel_wchan; + + return 0; } int @@ -91,10 +93,10 @@ glibtop_get_proc_kernel_p (glibtop *server, memset (buf, 0, sizeof (glibtop_proc_kernel)); if (server->sysdeps.proc_time == 0) - return; + return -1; /* It does not work for the swapper task. */ - if (pid == 0) return; + if (pid == 0) return -1; /* Get the process information */ pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count); @@ -125,7 +127,7 @@ glibtop_get_proc_kernel_p (glibtop *server, * `kvm_uread' work. */ sprintf (filename, "/proc/%d/mem", (int) pid); - if (stat (filename, &statb)) return; + if (stat (filename, &statb)) return -1; glibtop_suid_enter (server); @@ -181,4 +183,6 @@ glibtop_get_proc_kernel_p (glibtop *server, /* Taken from `wchan ()' in `/usr/src/bin/ps/print.c'. */ glibtop_suid_leave (server); + + return 0; } diff --git a/sysdeps/freebsd/proclist.c b/sysdeps/freebsd/proclist.c index 2f466c7f..7a32a356 100644 --- a/sysdeps/freebsd/proclist.c +++ b/sysdeps/freebsd/proclist.c @@ -56,6 +56,8 @@ int glibtop_init_proclist_p (glibtop *server) { server->sysdeps.proclist = _glibtop_sysdeps_proclist; + + return 0; } unsigned * diff --git a/sysdeps/freebsd/procmap.c b/sysdeps/freebsd/procmap.c index d39a7a2a..9152bfea 100644 --- a/sysdeps/freebsd/procmap.c +++ b/sysdeps/freebsd/procmap.c @@ -71,6 +71,8 @@ int glibtop_init_proc_map_p (glibtop *server) { server->sysdeps.proc_map = _glibtop_sysdeps_proc_map; + + return 0; } /* Provides detailed information about a process. */ diff --git a/sysdeps/freebsd/procmem.c b/sysdeps/freebsd/procmem.c index 43717b82..2271af85 100644 --- a/sysdeps/freebsd/procmem.c +++ b/sysdeps/freebsd/procmem.c @@ -100,6 +100,8 @@ glibtop_init_proc_mem_p (glibtop *server) server->sysdeps.proc_mem = _glibtop_sysdeps_proc_mem | _glibtop_sysdeps_proc_mem_share; + + return 0; } /* Provides detailed information about a process. */ @@ -125,23 +127,23 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, memset (buf, 0, sizeof (glibtop_proc_mem)); if (server->sysdeps.proc_mem == 0) - return; + return -1; /* It does not work for the swapper task. */ - if (pid == 0) return; + if (pid == 0) return -1; /* Get the process data */ pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count); if ((pinfo == NULL) || (count < 1)) { glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid); - return; + return -1; } if (kvm_read (server->machine.kd, (unsigned long) pinfo [0].kp_proc.p_limit, (char *) &plimit, sizeof (plimit)) != sizeof (plimit)) { glibtop_warn_io_r (server, "kvm_read (plimit)"); - return; + return -1; } buf->rss_rlim = (u_int64_t) @@ -161,7 +163,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, (unsigned long) pinfo [0].kp_proc.p_vmspace, (char *) &vmspace, sizeof (vmspace)) != sizeof (vmspace)) { glibtop_warn_io_r (server, "kvm_read (vmspace)"); - return; + return -1; } first = vmspace.vm_map.header.next; @@ -170,7 +172,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, (unsigned long) vmspace.vm_map.header.next, (char *) &entry, sizeof (entry)) != sizeof (entry)) { glibtop_warn_io_r (server, "kvm_read (entry)"); - return; + return -1; } /* Walk through the `vm_map_entry' list ... */ @@ -184,7 +186,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, (unsigned long) entry.next, &entry, sizeof (entry)) != sizeof (entry)) { glibtop_warn_io_r (server, "kvm_read (entry)"); - return; + return -1; } #ifdef __FreeBSD__ @@ -215,7 +217,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, (unsigned long) entry.object.uvm_obj, &vnode, sizeof (vnode)) != sizeof (vnode)) { glibtop_warn_io_r (server, "kvm_read (vnode)"); - return; + return -1; } #else if (!entry.object.vm_object) @@ -227,7 +229,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, (unsigned long) entry.object.vm_object, &object, sizeof (object)) != sizeof (object)) { glibtop_warn_io_r (server, "kvm_read (object)"); - return; + return -1; } #endif /* If the object is of type vnode, add its size */ @@ -256,4 +258,6 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf, buf->flags = _glibtop_sysdeps_proc_mem | _glibtop_sysdeps_proc_mem_share; + + return 0; } diff --git a/sysdeps/freebsd/procsegment.c b/sysdeps/freebsd/procsegment.c index f14a9d94..b458fa9c 100644 --- a/sysdeps/freebsd/procsegment.c +++ b/sysdeps/freebsd/procsegment.c @@ -39,6 +39,8 @@ int glibtop_init_proc_segment_p (glibtop *server) { server->sysdeps.proc_segment = _glibtop_sysdeps_proc_segment; + + return 0; } /* Provides detailed information about a process. */ @@ -56,7 +58,7 @@ glibtop_get_proc_segment_p (glibtop *server, /* Get the process info from the kernel */ kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, count); if (*count != 1) { - return; /* the zeroed-out buffer indicating no data */ + return -1; /* the zeroed-out buffer indicating no data */ } /* trs: text resident set size @@ -78,5 +80,7 @@ glibtop_get_proc_segment_p (glibtop *server, /* start_stack: address of the bottom of stack segment */ #endif + + return 0; } diff --git a/sysdeps/freebsd/procsignal.c b/sysdeps/freebsd/procsignal.c index b9d60dfd..85023d38 100644 --- a/sysdeps/freebsd/procsignal.c +++ b/sysdeps/freebsd/procsignal.c @@ -43,6 +43,8 @@ int glibtop_init_proc_signal_p (glibtop *server) { server->sysdeps.proc_signal = _glibtop_sysdeps_proc_signal; + + return 0; } int @@ -58,13 +60,13 @@ glibtop_get_proc_signal_p (glibtop *server, memset (buf, 0, sizeof (glibtop_proc_signal)); /* It does not work for the swapper task. */ - if (pid == 0) return; + if (pid == 0) return -1; /* Get the process information */ pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count); if ((pinfo == NULL) || (count != 1)) { glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid); - return; + return -1; } /* signal: mask of pending signals. @@ -104,4 +106,6 @@ glibtop_get_proc_signal_p (glibtop *server, #endif buf->flags = _glibtop_sysdeps_proc_signal; + + return 0; } diff --git a/sysdeps/freebsd/procstate.c b/sysdeps/freebsd/procstate.c index 263fe937..c2f0466d 100644 --- a/sysdeps/freebsd/procstate.c +++ b/sysdeps/freebsd/procstate.c @@ -50,6 +50,8 @@ glibtop_init_proc_state_p (glibtop *server) { server->sysdeps.proc_state = _glibtop_sysdeps_proc_state | _glibtop_sysdeps_proc_state_new; + + return 0; } /* Provides detailed information about a process. */ @@ -67,13 +69,13 @@ glibtop_get_proc_state_p (glibtop *server, memset (buf, 0, sizeof (glibtop_proc_state)); /* It does not work for the swapper task. */ - if (pid == 0) return; + if (pid == 0) return -1; /* Get the process information */ pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count); if ((pinfo == NULL) || (count != 1)) { glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid); - return; + return -1; } strncpy (buf->cmd, pinfo [0].kp_proc.p_comm, sizeof (buf->cmd)-1); @@ -109,7 +111,7 @@ glibtop_get_proc_state_p (glibtop *server, buf->state = GLIBTOP_PROCESS_ZOMBIE; break; default: - return; + return -1; } #else switch (pinfo [0].kp_proc.p_stat) { @@ -129,9 +131,11 @@ glibtop_get_proc_state_p (glibtop *server, buf->state = 'Z'; break; default: - return; + return -1; } #endif buf->flags |= (1L << GLIBTOP_PROC_STATE_STATE); + + return 0; } diff --git a/sysdeps/freebsd/proctime.c b/sysdeps/freebsd/proctime.c index 2c7ebd12..e8aecaf3 100644 --- a/sysdeps/freebsd/proctime.c +++ b/sysdeps/freebsd/proctime.c @@ -48,6 +48,8 @@ glibtop_init_proc_time_p (glibtop *server) { server->sysdeps.proc_time = _glibtop_sysdeps_proc_time | _glibtop_sysdeps_proc_time_user; + + return 0; } /* Taken from /usr/src/sys/kern/kern_resource.c */ @@ -140,15 +142,15 @@ glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, memset (buf, 0, sizeof (glibtop_proc_time)); /* It does not work for the swapper task. */ - if (pid == 0) return; + if (pid == 0) return -1; #if !(defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)) if (server->sysdeps.proc_time == 0) - return; + return -1; #ifndef __bsdi__ sprintf (filename, "/proc/%d/mem", (int) pid); - if (stat (filename, &statb)) return; + if (stat (filename, &statb)) return -1; #endif #endif @@ -173,7 +175,7 @@ glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, (unsigned long) pinfo [0].kp_proc.p_stats, &pstats, sizeof (pstats)) != sizeof (pstats)) { glibtop_warn_io_r (server, "kvm_read (pstats)"); - return; + return -1; } glibtop_suid_leave (server); @@ -225,5 +227,7 @@ glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf, glibtop_suid_leave (server); #endif + + return 0; } diff --git a/sysdeps/freebsd/procuid.c b/sysdeps/freebsd/procuid.c index dffddfb4..457725db 100644 --- a/sysdeps/freebsd/procuid.c +++ b/sysdeps/freebsd/procuid.c @@ -52,6 +52,8 @@ glibtop_init_proc_uid_p (glibtop *server) { server->sysdeps.proc_uid = _glibtop_sysdeps_proc_uid | _glibtop_sysdeps_proc_uid_groups; + + return 0; } /* Provides detailed information about a process. */ @@ -75,13 +77,13 @@ glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, memset (buf, 0, sizeof (glibtop_proc_uid)); /* It does not work for the swapper task. */ - if (pid == 0) return; + if (pid == 0) return -1; /* Get the process information */ pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count); if ((pinfo == NULL) || (count != 1)) { glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid); - return; + return -1; } buf->uid = pinfo [0].kp_eproc.e_pcred.p_ruid; @@ -125,4 +127,6 @@ glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf, } #endif #endif + + return 0; } diff --git a/sysdeps/freebsd/sem_limits.c b/sysdeps/freebsd/sem_limits.c index 64e6befa..b44e5892 100644 --- a/sysdeps/freebsd/sem_limits.c +++ b/sysdeps/freebsd/sem_limits.c @@ -32,7 +32,10 @@ int glibtop_init_sem_limits_p (glibtop *server) -{ } +{ + + return 0; +} int glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf) @@ -40,6 +43,8 @@ glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf) glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_SEM_LIMITS), 0); memset (buf, 0, sizeof (glibtop_sem_limits)); + + return 0; } #else @@ -80,16 +85,18 @@ glibtop_init_sem_limits_p (glibtop *server) { if (kvm_nlist (server->machine.kd, nlst) != 0) { glibtop_warn_io_r (server, "kvm_nlist (sem_limits)"); - return; + return -1; } if (kvm_read (server->machine.kd, nlst [0].n_value, &_seminfo, sizeof (_seminfo)) != sizeof (_seminfo)) { glibtop_warn_io_r (server, "kvm_read (seminfo)"); - return; + return -1; } server->sysdeps.sem_limits = _glibtop_sysdeps_sem_limits; + + return 0; } /* Provides information about sysv sem limits. */ @@ -102,7 +109,7 @@ glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf) memset (buf, 0, sizeof (glibtop_sem_limits)); if (server->sysdeps.sem_limits == 0) - return; + return -1; buf->semmap = _seminfo.semmap; buf->semmni = _seminfo.semmni; @@ -114,6 +121,8 @@ glibtop_get_sem_limits_p (glibtop *server, glibtop_sem_limits *buf) buf->semaem = _seminfo.semaem; buf->flags = _glibtop_sysdeps_sem_limits; + + return 0; } #endif /* either a newer BSDI or no BSDI at all. */ diff --git a/sysdeps/freebsd/shm_limits.c b/sysdeps/freebsd/shm_limits.c index e2429f8e..f59316eb 100644 --- a/sysdeps/freebsd/shm_limits.c +++ b/sysdeps/freebsd/shm_limits.c @@ -32,7 +32,10 @@ int glibtop_init_shm_limits_p (glibtop *server) -{ } +{ + + return 0; +} int glibtop_get_shm_limits_p (glibtop *server, glibtop_shm_limits *buf) @@ -40,6 +43,8 @@ glibtop_get_shm_limits_p (glibtop *server, glibtop_shm_limits *buf) glibtop_init_p (server, (1L << GLIBTOP_SYSDEPS_SHM_LIMITS), 0); memset (buf, 0, sizeof (glibtop_shm_limits)); + + return 0; } #else @@ -78,16 +83,18 @@ glibtop_init_shm_limits_p (glibtop *server) { if (kvm_nlist (server->machine.kd, nlst) != 0) { glibtop_warn_io_r (server, "kvm_nlist (shm_limits)"); - return; + return -1; } if (kvm_read (server->machine.kd, nlst [0].n_value, &_shminfo, sizeof (_shminfo)) != sizeof (_shminfo)) { glibtop_warn_io_r (server, "kvm_read (shminfo)"); - return; + return -1; } server->sysdeps.shm_limits = _glibtop_sysdeps_shm_limits; + + return 0; } /* Provides information about sysv ipc limits. */ @@ -100,7 +107,7 @@ glibtop_get_shm_limits_p (glibtop *server, glibtop_shm_limits *buf) memset (buf, 0, sizeof (glibtop_shm_limits)); if (server->sysdeps.shm_limits == 0) - return; + return -1; buf->shmmax = _shminfo.shmmax; buf->shmmin = _shminfo.shmmin; @@ -109,6 +116,8 @@ glibtop_get_shm_limits_p (glibtop *server, glibtop_shm_limits *buf) buf->shmall = _shminfo.shmall; buf->flags = _glibtop_sysdeps_shm_limits; + + return 0; } #endif /* either a newer BSDI or no BSDI at all. */ diff --git a/sysdeps/freebsd/swap.c b/sysdeps/freebsd/swap.c index de078370..a0583fe3 100644 --- a/sysdeps/freebsd/swap.c +++ b/sysdeps/freebsd/swap.c @@ -99,14 +99,14 @@ glibtop_init_swap_p (glibtop *server) #if __FreeBSD__ < 4 || defined(__bsdi__) if (kvm_nlist (server->machine.kd, nlst) != 0) { glibtop_warn_io_r (server, "kvm_nlist (swap)"); - return; + return -1; } #else struct kvm_swap dummy; if (kvm_getswapinfo (server->machine.kd, &dummy, 1, 0) != 0) { glibtop_warn_io_r (server, "kvm_swap (swap)"); - return; + return -1; } #endif #endif @@ -114,11 +114,13 @@ glibtop_init_swap_p (glibtop *server) #if !(defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000)) if (kvm_nlist (server->machine.kd, nlst2) != 0) { glibtop_warn_io_r (server, "kvm_nlist (cnt)"); - return; + return -1; } #endif server->sysdeps.swap = _glibtop_sysdeps_swap; + + return 0; } /* Provides information about swap usage. */ @@ -173,13 +175,13 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) memset (buf, 0, sizeof (glibtop_swap)); if (server->sysdeps.swap == 0) - return; + return -1; #if defined(__NetBSD__) && (__NetBSD_Version__ >= 104000000) length_uvmexp = sizeof (uvmexp); if (sysctl (mib_uvmexp, 2, &uvmexp, &length_uvmexp, NULL, 0)) { glibtop_warn_io_r (server, "sysctl (uvmexp)"); - return; + return -1; } #else /* This is used to get the `pagein' and `pageout' members. */ @@ -187,7 +189,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (kvm_read (server->machine.kd, nlst2[0].n_value, &vmm, sizeof (vmm)) != sizeof (vmm)) { glibtop_warn_io_r (server, "kvm_read (cnt)"); - return; + return -1; } #endif @@ -231,7 +233,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (kvm_read (server->machine.kd, nlst[VM_NSWAP].n_value, &nswap, sizeof (nswap)) != sizeof (nswap)) { glibtop_warn_io_r (server, "kvm_read (nswap)"); - return; + return -1; } /* Number of swap devices. */ @@ -239,7 +241,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (kvm_read (server->machine.kd, nlst[VM_NSWDEV].n_value, &nswdev, sizeof (nswdev)) != sizeof (nswdev)) { glibtop_warn_io_r (server, "kvm_read (nswdev)"); - return; + return -1; } /* Maximum size of a swap block. */ @@ -247,7 +249,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (kvm_read (server->machine.kd, nlst[VM_DMMAX].n_value, &dmmax, sizeof (dmmax)) != sizeof (dmmax)) { glibtop_warn_io_r (server, "kvm_read (dmmax)"); - return; + return -1; } /* List of free swap areas. */ @@ -255,7 +257,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (kvm_read (server->machine.kd, nlst[VM_SWAPLIST].n_value, &swaplist, sizeof (swaplist)) != sizeof (swaplist)) { glibtop_warn_io_r (server, "kvm_read (swaplist)"); - return; + return -1; } /* Kernel offset of list of swap devices and sizes. */ @@ -263,7 +265,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (kvm_read (server->machine.kd, nlst[VM_SWDEVT].n_value, &ptr, sizeof (ptr)) != sizeof (ptr)) { glibtop_warn_io_r (server, "kvm_read (swdevt)"); - return; + return -1; } /* List of swap devices and sizes. */ @@ -273,7 +275,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (kvm_read (server->machine.kd, ptr, sw, sw_size) != (ssize_t)sw_size) { glibtop_warn_io_r (server, "kvm_read (*swdevt)"); - return; + return -1; } perdev = glibtop_malloc (nswdev * sizeof (*perdev)); @@ -291,7 +293,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (kvm_read (server->machine.kd, (int) swapptr, &head, sizeof (struct rlist)) != sizeof (struct rlist)) { glibtop_warn_io_r (server, "kvm_read (swapptr)"); - return; + return -1; } top = head.rl_end; @@ -383,7 +385,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (kvm_read (server->machine.kd, nlst[0].n_value, &swap, sizeof (swap)) != sizeof (swap)) { glibtop_warn_io_r (server, "kvm_read (swap)"); - return; + return -1; } buf->flags = _glibtop_sysdeps_swap; @@ -398,7 +400,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) nswap = swapctl (SWAP_NSWAP, NULL, 0); if (nswap < 0) { glibtop_warn_io_r (server, "swapctl (SWAP_NSWAP)"); - return; + return -1; } swaplist = glibtop_calloc_r (server, nswap, sizeof (struct swapent)); @@ -406,7 +408,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) if (swapctl (SWAP_STATS, swaplist, nswap) != nswap) { glibtop_warn_io_r (server, "swapctl (SWAP_STATS)"); glibtop_free_r (server, swaplist); - return; + return -1; } for (i = 0; i < nswap; i++) { @@ -423,4 +425,6 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf) buf->total = inuse + avail; #endif + + return 0; } diff --git a/sysdeps/freebsd/uptime.c b/sysdeps/freebsd/uptime.c index 0a0aef66..ef6d93b9 100644 --- a/sysdeps/freebsd/uptime.c +++ b/sysdeps/freebsd/uptime.c @@ -42,6 +42,8 @@ int glibtop_init_uptime_p (glibtop *server) { server->sysdeps.uptime = _glibtop_sysdeps_uptime; + + return 0; } /* Provides uptime and idle time. */ @@ -62,7 +64,7 @@ glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf) /* Make sure all required fields are present. */ if ((cpu.flags & _required_cpu_flags) != _required_cpu_flags) - return; + return -1; /* Calculate values. */ @@ -70,4 +72,6 @@ glibtop_get_uptime_p (glibtop *server, glibtop_uptime *buf) buf->idletime = (double) cpu.idle / (double) cpu.frequency; buf->flags = _glibtop_sysdeps_uptime; + + return 0; }