// Handling this special OEM sensor by coping what is in byte 4. I also think that is odd // considering byte 3 is for sensor reading. This seems like a misuse of the IPMI spec int set_sensor_dbus_state_osboot(const sensorRES_t *pRec, const lookup_t *pTable, const char *value) { char valuestring[32]; char* pStr = valuestring; sprintf(valuestring, "%d", pRec->assert_state7_0); return set_sensor_dbus_state_v(pRec->sensor_number, pTable->method, pStr); }
// The fw progress sensor contains some additional information that needs to be processed // prior to calling the dbus code. int set_sensor_dbus_state_fwprogress(const sensorRES_t *pRec, const lookup_t *pTable, const char *value) { char valuestring[64]; char* p = valuestring; switch (pTable->offset) { case 0x00 : snprintf(p, sizeof(valuestring), "POST Error, 0x%02x", pRec->event_data2); break; case 0x01 : snprintf(p, sizeof(valuestring), "FW Hang, 0x%02x", pRec->event_data2); break; case 0x02 : snprintf(p, sizeof(valuestring), "FW Progress, %s", getfw02string(pRec->event_data2)); break; } return set_sensor_dbus_state_v(pRec->sensor_number, pTable->method, p); }
// The fw progress sensor contains some additional information that needs to be processed // prior to calling the dbus code. int set_sensor_dbus_state_fwprogress(const sensorRES_t *pRec, const lookup_t *pTable, const char *value) { char valuestring[128]; char* p = valuestring; switch (pTable->offset) { case 0x00 : snprintf(p, sizeof(valuestring), "POST Error, %s", event_data_lookup(g_fwprogress00h, pRec->event_data2)); break; case 0x01 : /* Using g_fwprogress02h for 0x01 because thats what the ipmi spec says to do */ snprintf(p, sizeof(valuestring), "FW Hang, %s", event_data_lookup(g_fwprogress02h, pRec->event_data2)); break; case 0x02 : snprintf(p, sizeof(valuestring), "FW Progress, %s", event_data_lookup(g_fwprogress02h, pRec->event_data2)); break; } return set_sensor_dbus_state_v(pRec->sensor_number, pTable->method, p); }