diff --git a/ipmitool/include/ipmitool/ipmi_strings.h b/ipmitool/include/ipmitool/ipmi_strings.h index 818a8bb..0e952dc 100644 --- a/ipmitool/include/ipmitool/ipmi_strings.h +++ b/ipmitool/include/ipmitool/ipmi_strings.h @@ -53,6 +53,8 @@ extern const struct valstr ipmi_integrity_algorithms[]; extern const struct valstr ipmi_encryption_algorithms[]; extern const struct valstr ipmi_oem_info[]; +extern const struct valstr picmg_frucontrol_vals[]; + /* these are similar, expect that the lookup takes the IANA number as first parameter */ extern const struct oemvalstr ipmi_oem_product_info[]; diff --git a/ipmitool/lib/ipmi_picmg.c b/ipmitool/lib/ipmi_picmg.c index 23a684c..8de653e 100644 --- a/ipmitool/lib/ipmi_picmg.c +++ b/ipmitool/lib/ipmi_picmg.c @@ -34,6 +34,7 @@ #include #include #include /* for access to link descriptor defines */ +#include #include #define PICMG_EXTENSION_ATCA_MAJOR_VERSION 2 @@ -997,7 +998,8 @@ ipmi_picmg_fru_control(struct ipmi_intf * intf, int argc, char ** argv) msg_data[1] = atoi(argv[0]); /* FRU-ID */ msg_data[2] = atoi(argv[1]); /* control option */ - printf("0: 0x%02x 1: 0x%02x\n\r", msg_data[1], msg_data[2]); + printf("FRU Device Id: %d FRU Control Option: %s\n\r", msg_data[1], \ + val2str( msg_data[2], picmg_frucontrol_vals)); rsp = intf->sendrecv(intf, &req); @@ -1009,10 +1011,10 @@ ipmi_picmg_fru_control(struct ipmi_intf * intf, int argc, char ** argv) if (rsp->ccode) { printf("frucontrol: returned CC code 0x%02x\n", rsp->ccode); return -1; + } else { + printf("frucontrol: ok\n"); } - - return 0; } @@ -1169,17 +1171,15 @@ ipmi_picmg_main (struct ipmi_intf * intf, int argc, char ** argv) else { printf("usage: frucontrol