--- projects/libstatgrab/src/libstatgrab/page_stats.c 2003/03/07 14:44:38 1.4 +++ projects/libstatgrab/src/libstatgrab/page_stats.c 2003/04/03 20:26:45 1.5 @@ -33,8 +33,11 @@ #include #include "tools.h" #endif +#ifdef FREEBSD +#include +#include +#endif - static page_stat_t page_stats; static int page_stats_uninit=1; @@ -48,6 +51,9 @@ page_stat_t *get_page_stats(){ FILE *f; char *line_ptr; #endif +#ifdef FREEBSD + size_t size; +#endif page_stats.pages_pagein=0; page_stats.pages_pageout=0; @@ -83,6 +89,21 @@ page_stat_t *get_page_stats(){ } page_stats.systime=time(NULL); fclose(f); + +#endif +#ifdef FREEBSD + if (sysctlbyname("vm.stats.vm.v_swappgsin", NULL, &size, NULL, NULL) < 0){ + return NULL; + } + if (sysctlbyname("vm.stats.vm.v_swappgsin", &page_stats.pages_pagein, &size, NULL, NULL) < 0){ + return NULL; + } + if (sysctlbyname("vm.stats.vm.v_swappgsout", NULL, &size, NULL, NULL) < 0){ + return NULL; + } + if (sysctlbyname("vm.stats.vm.v_swappgsout", &page_stats.pages_pageout, &size, NULL, NULL) < 0){ + return NULL; + } #endif