From d4b64f4277b21d6041b61d344efababd3a9fa84e Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Wed, 16 Mar 2005 23:21:22 +0000 Subject: [PATCH] add option to get mc guid --- ipmitool/lib/ipmi_mc.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/ipmitool/lib/ipmi_mc.c b/ipmitool/lib/ipmi_mc.c index 4bbcb49..0dd4d70 100644 --- a/ipmitool/lib/ipmi_mc.c +++ b/ipmitool/lib/ipmi_mc.c @@ -368,6 +368,39 @@ ipmi_mc_get_deviceid(struct ipmi_intf * intf) return 0; } +/* ipmi_mc_get_guid - print this MC GUID + * + * @intf: ipmi interface + * + * returns 0 on success + * returns -1 on error + */ +static int +ipmi_mc_get_guid(struct ipmi_intf * intf) +{ + struct ipmi_rs * rsp; + struct ipmi_rq req; + + memset(&req, 0, sizeof(req)); + req.msg.netfn = IPMI_NETFN_APP; + req.msg.cmd = BMC_GET_GUID; + + rsp = intf->sendrecv(intf, &req); + if (rsp == NULL) { + lprintf(LOG_ERR, "Get GUID command failed"); + return -1; + } + if (rsp->ccode > 0) { + lprintf(LOG_ERR, "Get GUID command failed: %s", + val2str(rsp->ccode, completion_code_vals)); + return -1; + } + + printf("System GUID: %s\n", buf2str(rsp->data, rsp->data_len)); + + return 0; +} + /* ipmi_mc_main - top-level handler for MC functions * * @intf: ipmi interface @@ -402,6 +435,9 @@ ipmi_mc_main(struct ipmi_intf * intf, int argc, char ** argv) else if (strncmp(argv[0], "info", 4) == 0) { rc = ipmi_mc_get_deviceid(intf); } + else if (strncmp(argv[0], "guid", 4) == 0) { + rc = ipmi_mc_get_guid(intf); + } else if (strncmp(argv[0], "getenables", 10) == 0) { rc = ipmi_mc_get_enables(intf); }