mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-11 11:07:23 +00:00
only decode sensor-specific states
This commit is contained in:
parent
5298b1ca71
commit
30eec7d0ac
@ -839,45 +839,50 @@ ipmi_sdr_print_sensor_compact(struct ipmi_intf * intf,
|
|||||||
"Not Readable" :
|
"Not Readable" :
|
||||||
"Not Readable ";
|
"Not Readable ";
|
||||||
} else {
|
} else {
|
||||||
switch (sensor->sensor.type) {
|
if (sensor->event_type != 0x6f) {
|
||||||
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]);
|
sprintf(temp, "0x%02x", rsp->data[2]);
|
||||||
state = temp;
|
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);
|
fclose(fp);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user