only decode sensor-specific states

This commit is contained in:
Duncan Laurie 2005-04-22 19:53:27 +00:00
parent 5298b1ca71
commit 30eec7d0ac

View File

@ -839,45 +839,50 @@ ipmi_sdr_print_sensor_compact(struct ipmi_intf * intf,
"Not Readable" :
"Not Readable ";
} else {
switch (sensor->sensor.type) {
case 0x07: /* processor */
if (rsp->data[2] & 0x80)
state = csv_output ?
"Present" :
"Present ";
else
state = csv_output ?
"Not Present" :
"Not Present ";
break;
case 0x10: /* event logging disabled */
if (rsp->data[2] & 0x10)
state = csv_output ?
"Log Full" :
"Log Full ";
else if (rsp->data[2] & 0x04)
state = csv_output ?
"Log Clear" :
"Log Clear ";
else {
sprintf(temp, "0x%02x", rsp->data[2]);
state = temp;
}
break;
case 0x21: /* slot/connector */
if (rsp->data[2] & 0x04)
state = csv_output ?
"Installed" :
"Installed ";
else
state = csv_output ?
"Not Installed" :
"Not Installed ";
break;
default:
if (sensor->event_type != 0x6f) {
sprintf(temp, "0x%02x", rsp->data[2]);
state = temp;
break;
} else {
switch (sensor->sensor.type) {
case 0x07: /* processor */
if (rsp->data[2] & 0x80)
state = csv_output ?
"Present" :
"Present ";
else
state = csv_output ?
"Not Present" :
"Not Present ";
break;
case 0x10: /* event logging disabled */
if (rsp->data[2] & 0x10)
state = csv_output ?
"Log Full" :
"Log Full ";
else if (rsp->data[2] & 0x04)
state = csv_output ?
"Log Clear" :
"Log Clear ";
else {
sprintf(temp, "0x%02x", rsp->data[2]);
state = temp;
}
break;
case 0x21: /* slot/connector */
if (rsp->data[2] & 0x04)
state = csv_output ?
"Installed" :
"Installed ";
else
state = csv_output ?
"Not Installed" :
"Not Installed ";
break;
default:
sprintf(temp, "0x%02x", rsp->data[2]);
state = temp;
break;
}
}
}
@ -2322,6 +2327,8 @@ ipmi_sdr_dump_bin(struct ipmi_intf * intf, const char * ofile)
}
}
ipmi_sdr_end(intf, itr);
fclose(fp);
return rc;
}