#include #include #include #include #include "hw_sensors_private.h" void netsnmp_sensor_arch_init( void ) { /* Nothing to do */ DEBUGMSGTL(("sensors:arch", "Initialise Dummy Sensors module\n")); } int netsnmp_sensor_arch_load(netsnmp_cache *cache, void *vp) { time_t now; struct tm *tm; netsnmp_sensor_info *sp; time(&now); tm = localtime(&now); DEBUGMSGTL(("sensors:arch", "Reload Dummy Sensors module\n")); /* First pseudo-sensor - slowly-rising temperature */ sp = sensor_by_name( "minute", NETSNMP_SENSOR_TYPE_TEMPERATURE ); sp->value = tm->tm_min; snprintf( sp->descr, 256, "Minute-based pseudo-sensor - slowly-rising temperature" ); sp->flags|= NETSNMP_SENSOR_FLAG_ACTIVE; /* Second pseudo-sensor - quickly-rising temperature */ sp = sensor_by_name( "second", NETSNMP_SENSOR_TYPE_TEMPERATURE ); sp->value = tm->tm_sec; snprintf( sp->descr, 256, "Second-based pseudo-sensor - quickly-rising temperature" ); sp->flags|= NETSNMP_SENSOR_FLAG_ACTIVE; /* Third pseudo-sensor - annual fan speed */ sp = sensor_by_name( "year", NETSNMP_SENSOR_TYPE_RPM ); sp->value = tm->tm_year + 1900; snprintf( sp->descr, 256, "RPM pseudo-sensor - annual fan speed" ); sp->flags|= NETSNMP_SENSOR_FLAG_ACTIVE; /* Fourth pseudo-sensor - daily voltage */ sp = sensor_by_name( "day", NETSNMP_SENSOR_TYPE_VOLTAGE_DC ); sp->value = tm->tm_mday-20; snprintf( sp->descr, 256, "Day-based pseudo-sensor - positive or negative voltage" ); sp->flags|= NETSNMP_SENSOR_FLAG_ACTIVE; /* Fifth pseudo-sensor - monthly voltage */ sp = sensor_by_name( "month", NETSNMP_SENSOR_TYPE_VOLTAGE_DC ); sp->value = tm->tm_mon; snprintf( sp->descr, 256, "Month-based pseudo-sensor - positive voltage" ); sp->flags|= NETSNMP_SENSOR_FLAG_ACTIVE; /* Sixth pseudo-sensor - annual daily something */ sp = sensor_by_name( "yday", NETSNMP_SENSOR_TYPE_OTHER ); sp->value = tm->tm_yday; snprintf( sp->descr, 256, "Day-based pseudo-sensor - annual something" ); sp->flags|= NETSNMP_SENSOR_FLAG_ACTIVE; return 0; }