Files
linuxSmartie/src/sys.cpp
2025-09-22 22:17:51 +02:00

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;
}