sysstat/rd_sensors.h

86 lines
2.3 KiB
C

/*
* rd_sensors.h: Include file used to read sensors statistics
* (C) 1999-2022 by Sebastien Godard (sysstat <at> orange.fr)
*/
#ifndef _RD_SENSORS_H
#define _RD_SENSORS_H
/*
***************************************************************************
* Definitions of structures for sensors statistics
***************************************************************************
*/
/*
* Structure for fan statistics.
*/
struct stats_pwr_fan {
double rpm __attribute__ ((aligned (8)));
double rpm_min __attribute__ ((aligned (8)));
char device[MAX_SENSORS_DEV_LEN] __attribute__ ((aligned (8)));
};
#define STATS_PWR_FAN_SIZE (sizeof(struct stats_pwr_fan))
#define STATS_PWR_FAN_ULL 2
#define STATS_PWR_FAN_UL 0
#define STATS_PWR_FAN_U 0
/*
* Structure for device temperature statistics.
*/
struct stats_pwr_temp {
double temp __attribute__ ((aligned (8)));
double temp_min __attribute__ ((aligned (8)));
double temp_max __attribute__ ((aligned (8)));
char device[MAX_SENSORS_DEV_LEN] __attribute__ ((aligned (8)));
};
#define STATS_PWR_TEMP_SIZE (sizeof(struct stats_pwr_temp))
#define STATS_PWR_TEMP_ULL 3
#define STATS_PWR_TEMP_UL 0
#define STATS_PWR_TEMP_U 0
/*
* Structure for voltage inputs statistics.
*/
struct stats_pwr_in {
double in __attribute__ ((aligned (8)));
double in_min __attribute__ ((aligned (8)));
double in_max __attribute__ ((aligned (8)));
char device[MAX_SENSORS_DEV_LEN] __attribute__ ((aligned (8)));
};
#define STATS_PWR_IN_SIZE (sizeof(struct stats_pwr_in))
#define STATS_PWR_IN_ULL 3
#define STATS_PWR_IN_UL 0
#define STATS_PWR_IN_U 0
/*
***************************************************************************
* Prototypes for functions used to read sensors statistics
***************************************************************************
*/
__nr_t read_fan
(struct stats_pwr_fan *, __nr_t);
__nr_t read_temp
(struct stats_pwr_temp *, __nr_t);
__nr_t read_in
(struct stats_pwr_in *, __nr_t);
/*
***************************************************************************
* Prototypes for functions used to count number of items
***************************************************************************
*/
__nr_t get_fan_nr
(void);
__nr_t get_temp_nr
(void);
__nr_t get_in_nr
(void);
#endif /* _RD_SENSORS_H */