mirror of
https://github.com/netfun2000/lcd4linux.git
synced 2026-02-27 09:44:34 +08:00
plugins work on MacOS X: proc_stat, cpuinfo
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1077 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
This commit is contained in:
@@ -41,6 +41,11 @@
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef __MAC_OS_X_VERSION_10_3
|
||||
#include <mach/mach_host.h>
|
||||
#include <mach/host_info.h>
|
||||
#endif
|
||||
|
||||
#include "debug.h"
|
||||
#include "plugin.h"
|
||||
#include "qprintf.h"
|
||||
@@ -84,6 +89,10 @@ static int parse_proc_stat(void)
|
||||
if (age > 0 && age <= 10)
|
||||
return 0;
|
||||
|
||||
#if 0
|
||||
|
||||
/* Linux Kernel, /proc-filesystem */
|
||||
|
||||
if (stream == NULL)
|
||||
stream = fopen("/proc/stat", "r");
|
||||
if (stream == NULL) {
|
||||
@@ -214,6 +223,35 @@ static int parse_proc_stat(void)
|
||||
hash_put1(buffer, beg);
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
/* MACH Kernel, MacOS X */
|
||||
|
||||
kern_return_t err;
|
||||
mach_msg_type_number_t count;
|
||||
host_info_t r_load;
|
||||
host_cpu_load_info_data_t cpu_load;
|
||||
char s_val[8];
|
||||
|
||||
r_load = &cpu_load;
|
||||
count = HOST_CPU_LOAD_INFO_COUNT;
|
||||
err = host_statistics(mach_host_self(), HOST_CPU_LOAD_INFO, r_load, &count);
|
||||
if (KERN_SUCCESS != err) {
|
||||
error("Error getting cpu load");
|
||||
return -1;
|
||||
}
|
||||
snprintf(s_val, sizeof(s_val), "%d", cpu_load.cpu_ticks[CPU_STATE_USER]);
|
||||
hash_put2("cpu", "user", s_val);
|
||||
snprintf(s_val, sizeof(s_val), "%d", cpu_load.cpu_ticks[CPU_STATE_NICE]);
|
||||
hash_put2("cpu", "nice", s_val);
|
||||
snprintf(s_val, sizeof(s_val), "%d", cpu_load.cpu_ticks[CPU_STATE_SYSTEM]);
|
||||
hash_put2("cpu", "system", s_val);
|
||||
snprintf(s_val, sizeof(s_val), "%d", cpu_load.cpu_ticks[CPU_STATE_IDLE]);
|
||||
hash_put2("cpu", "idle", s_val);
|
||||
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user