13 #ifndef __MONITORING_H__
14 #define __MONITORING_H__
30 SENSOR_DATA_T_OHTER=1,
31 SENSOR_DATA_T_UNKNOWN=2,
32 SENSOR_DATA_T_VOLTS_AC=3,
33 SENSOR_DATA_T_VOLTS_DC=4,
34 SENSOR_DATA_T_AMPERES=5,
35 SENSOR_DATA_T_WATTS=6,
36 SENSOR_DATA_T_HERTZ=7,
37 SENSOR_DATA_T_CELSIUS=8,
38 SENSOR_DATA_T_PERCENTRH=9,
41 SENSOR_DATA_T_TRUTH_VALUE=12
49 SENSOR_DATA_S_YOCTO=1,
50 SENSOR_DATA_S_ZEPTO=2,
52 SENSOR_DATA_S_FEMTO=4,
55 SENSOR_DATA_S_MICRO=7,
56 SENSOR_DATA_S_MILLI=8,
57 SENSOR_DATA_S_UNITS=9,
58 SENSOR_DATA_S_KILO=10,
59 SENSOR_DATA_S_MEGA=11,
60 SENSOR_DATA_S_GIGA=12,
61 SENSOR_DATA_S_TERA=13,
63 SENSOR_DATA_S_PETA=15,
64 SENSOR_DATA_S_ZETTA=16,
65 SENSOR_DATA_S_YOTTA=17
74 SENSOR_DATA_OS_UNAVAILABLE=2,
75 SENSOR_DATA_OS_NONOPERATIONAL=3,
85 unsigned int precision;
88 unsigned int unitsdisplay;
89 time_t value_timestamp;
90 unsigned int value_update_rate;
104 ME_TYPE_POWER_SUPPLY=6,
116 #define MONITORED_ENTITY_MAX_SENSOR_DATA 8
130 unsigned int physical_index;
139 char* manufacturer_model_name;
143 bool is_field_replaceable_unit;
187 platform_rwlock_t* rwlock;
190 platform_mutex_t* mutex;
228 return *last_seen_rev != state->last_rev;
276 return __monitoring_remove_monitored_entity(monitoring, entity,
false);
static monitoring_snapshot_state_t * monitoring_clone_snapshot(monitoring_snapshot_state_t *orig)
Clone a monitoring snapshot.
Defines the locking interface used by the library. The user of the library MUST provide an implementa...
monitoring_snapshot_state_t * monitoring_get_snapshot(monitoring_state_t *monitoring)
Get a snapshot of the current monitoring state.
struct monitoring_state monitoring_state_t
Container of the monitoring state.
static bool monitoring_has_changed(monitoring_state_t *state, uint64_t *last_seen_rev)
Returns true if the monitoring state has changed.
static void monitoring_destroy_snapshot(monitoring_snapshot_state_t *snapshot)
Destroy a snapshot previously generated via monitoring_get_snapshot() routine.
sensor_data_scale
Sensor data scale.
Container of the monitoring state.
sensor_data_type
Sensor data type.
sensor_data_oper_status
Sensor data operational status.
static void monitoring_dump_snapshot(monitoring_snapshot_state_t *snapshot)
Dumps the monitoring state of a snapshot.
struct sensor_data sensor_data_t
Sensor data information.
void monitoring_dump(monitoring_state_t *monitoring)
Dumps the monitoring state, only meaningful for debugging purposes.
Abstraction of a monitored entity data.
monitored_entity_t * monitoring_add_monitored_entity(monitoring_state_t *monitoring, enum monitored_entity_type type, monitored_entity_t *prev, monitored_entity_t *parent)
Creates a monitored entity object and links it to the linked-list, in the position of prev OR parent...
#define MONITORED_ENTITY_MAX_SENSOR_DATA
Maximum number of sensors per monitored entity.
static rofl_result_t monitoring_remove_monitored_entity(monitoring_state_t *monitoring, monitored_entity_t *entity)
Destroys an detaches monitored entity object.
monitored_entity_type
Monitoring entity type enum, defined according to RFC2737.
ROFL_BEGIN_DECLS rofl_result_t __monitoring_init(monitoring_state_t *monitoring)
Initializes the monitoring state.
struct monitored_entity monitored_entity_t
Abstraction of a monitored entity data.