2
\* Just trying to cut back on overly-repeated code. --vmw */
4
#include "getsysinfo.h"
6
char *linux_get_proc_uptime ()
7
{ /* This code modeled on the linux sh-utils 1.16 uptime.c code */
10
int up_days,up_hrs,up_mins;
11
char temp_string[BUFSIZ];
13
fff=fopen("/proc/uptime","r");
15
fscanf(fff,"%f",&uptime_seconds);
18
up_days=uptime_seconds/86400;
19
up_hrs=(uptime_seconds-(up_days*86400))/3600;
20
up_mins=(uptime_seconds-(up_days*86400)-(up_hrs*3600))/60;
23
sprintf(temp_string,"Uptime %d %s %d %s",
24
up_hrs,(up_hrs==1 ? "hour":"hours"),
25
up_mins,(up_mins==1 ? "minute":"minutes"));
27
sprintf(temp_string,"Uptime %d %s %d %s %d %s",
28
up_days,(up_days==1 ? "day":"days"),
29
up_hrs,(up_hrs==1 ? "hour":"hours"),
30
up_mins,(up_mins==1 ? "minute":"minutes"));
31
return strdup(temp_string);
36
/* Code contributed by Anders Rundegren <anders@rundegren.com> */
37
char *linux_get_proc_loadavg()
43
char temp_string[BUFSIZ];
45
fff=fopen("/proc/loadavg","r");
47
fscanf(fff,"%f" "%f" "%f", &load_1, &load_5, &load_15);
50
sprintf(temp_string,"Load average %4.2f, %4.2f, %4.2f",
51
load_1,load_5,load_15);
52
return strdup(temp_string);
57
char *get_loadavg_noproc()
59
/* Unfortunately it seems getting the load-average is platform *\
64
char *utmp_get_uptime()
66
/* To implement uptime on architechtures w/o a /proc/uptime one *\
67
\* has to scan the /var/utmp file. Very annoying thing to do */
68
/* Check out the linux sh-utils uptime.c for a reference. *\
69
\* Currently not implemented here. */
74
void clear_os_pointers(struct os_info_type *os_info)
76
os_info->os_name=NULL;
77
os_info->os_version=NULL;
78
os_info->os_revision=NULL;
79
os_info->host_name=NULL;
81
os_info->load_average=NULL;
84
void clear_hw_pointers(struct hw_info_type *hw_info)
87
hw_info->bogo_total=NULL;
88
hw_info->megahertz=NULL;
89
hw_info->cpu_vendor=NULL;
90
hw_info->cpu_type=NULL;
91
hw_info->mem_size=NULL;