#ifndef LINUXSMARTIE_SYS_H #define LINUXSMARTIE_SYS_H #include "utils.h" #include #define SYS_GET_TIME_STR(t) sys_get_time_string((char[16]){0}, 16, t) #define SYS_GET_DATE_STR(t) sys_get_date_string((char[16]){0}, 16, t) struct memory_t { uint64_t free; uint64_t used; uint64_t total; }; struct disk_t { struct memory_t usage; char mountpoint[64]; }; struct network_t { uint32_t download; uint32_t upload; sensor_file_t f_rx; sensor_file_t f_tx; char device[16]; }; struct syssensors_t { char hwmon[64]; // uint16_t fan_speed[1]; // just one fan (pump) we monitor int16_t t_sensor; // ntc temp sensor }; char *sys_get_time_string(char *buf, size_t bufsz, time_t t); char *sys_get_date_string(char *buf, size_t bufsz, time_t t); void sys_get_load_avg(double *load_avg); void sys_get_distro(char* name, char* ver_str); void sys_get_ram(struct memory_t *ram); void sys_get_disk(struct disk_t *disk); void sys_get_network(struct network_t *network); void sys_netdev_detect(struct network_t *network); void sys_detect(struct syssensors_t *s, const char *platform); void sys_update_sensors(const struct syssensors_t *s); #endif // LINUXSMARTIE_SYS_H