23 lines
879 B
C++
23 lines
879 B
C++
#include <sys.hpp>
|
|
|
|
void sys::getTimeDate(TimeDate* td) {
|
|
auto now = std::time(nullptr);
|
|
auto tm = *std::localtime(&now);
|
|
sprintf(td->time, "%02d:%02d:%02d", tm.tm_hour, tm.tm_min, tm.tm_sec);
|
|
sprintf(td->date, "%s, %d %s", wdays[tm.tm_wday], tm.tm_mday, months[tm.tm_mon]);
|
|
}
|
|
|
|
void sys::getRam(Memory* mem) {
|
|
auto content = readFile("/proc/meminfo", 128); // file is longer than that but its all we need
|
|
mem->free = get_val("MemAvailable:", content);
|
|
mem->total = get_val("MemTotal:", content);
|
|
mem->used = mem->total - mem->free;
|
|
}
|
|
|
|
void sys::getDisk(Memory* disk, std::string mount) {
|
|
struct statvfs diskData;
|
|
statvfs(mount.c_str(), &diskData);
|
|
disk->free = diskData.f_bfree * diskData.f_frsize;
|
|
disk->used = (diskData.f_blocks - diskData.f_bfree) * diskData.f_frsize;
|
|
disk->total = diskData.f_blocks * diskData.f_frsize;
|
|
} |