ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/src/libstatgrab/memory_stats.c
(Generate patch)

Comparing projects/libstatgrab/src/libstatgrab/memory_stats.c (file contents):
Revision 1.18 by tdb, Fri Jan 16 15:54:54 2004 UTC vs.
Revision 1.21 by tdb, Fri Feb 13 16:46:21 2004 UTC

# Line 17 | Line 17
17   * License along with this library; if not, write to the Free Software
18   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19   * 02111-1307 USA
20 + *
21 + * $Id$
22   */
23  
24   #ifdef HAVE_CONFIG_H
# Line 38 | Line 40
40   #include <sys/sysctl.h>
41   #include <unistd.h>
42   #endif
43 + #if defined(NETBSD) || defined(OPENBSD)
44 + #include <sys/param.h>
45 + #include <uvm/uvm.h>
46 + #endif
47  
48   mem_stat_t *get_memory_stats(){
49  
# Line 64 | Line 70 | mem_stat_t *get_memory_stats(){
70          u_int inactive_count;
71          int pagesize;
72   #endif
73 < #ifdef NETBSD
73 > #if defined(NETBSD) || defined(OPENBSD)
74          struct uvmexp *uvm;
75   #endif
76  
# Line 163 | Line 169 | mem_stat_t *get_memory_stats(){
169          mem_stat.used=physmem-mem_stat.free;
170   #endif
171  
172 < #ifdef NETBSD
172 > #if defined(NETBSD) || defined(OPENBSD)
173          if ((uvm = get_uvmexp()) == NULL) {
174                  return NULL;
175          }
176 +
177          mem_stat.total = uvm->pagesize * uvm->npages;
178 + #ifdef NETBSD
179          mem_stat.cache = uvm->pagesize * (uvm->filepages + uvm->execpages);
180 + #else
181 +        /* Can't find cache memory on OpenBSD */
182 +        mem_stat.cache = 0;
183 + #endif
184          mem_stat.free = uvm->pagesize * (uvm->free + uvm->inactive);
185          mem_stat.used = mem_stat.total - mem_stat.free;
186   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines