Files
linuxSmartie/include/sys.h
2026-08-14 18:00:02 +02:00

54 lines
1.1 KiB
C

#ifndef LINUXSMARTIE_SYS_H
#define LINUXSMARTIE_SYS_H
#include "utils.h"
#include <stdint.h>
#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_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