diff options
author | Chris Austen <austenc@us.ibm.com> | 2015-12-03 15:26:20 -0600 |
---|---|---|
committer | Chris Austen <austenc@us.ibm.com> | 2015-12-03 15:26:20 -0600 |
commit | 7888c4dcef5340b6dbff931218b7100095b34dd1 (patch) | |
tree | e535caf304161d4fa965c0cf43bf8857871c89bd /chassishandler.C | |
parent | 169395e5d6133e4d5151e8f7cc14493da74f76be (diff) | |
download | phosphor-host-ipmid-7888c4dcef5340b6dbff931218b7100095b34dd1.tar.gz phosphor-host-ipmid-7888c4dcef5340b6dbff931218b7100095b34dd1.zip |
Support host reboot
Diffstat (limited to 'chassishandler.C')
-rw-r--r-- | chassishandler.C | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/chassishandler.C b/chassishandler.C index 56b8375..1389db9 100644 --- a/chassishandler.C +++ b/chassishandler.C @@ -31,7 +31,7 @@ ipmi_ret_t ipmi_chassis_wildcard(ipmi_netfn_t netfn, ipmi_cmd_t cmd, //------------------------------------------------------------ // Calls into Chassis Control Dbus object to do the power off //------------------------------------------------------------ -int ipmi_chassis_power_off() +int ipmi_chassis_power_control(const char *method) { // sd_bus error int rc = 0; @@ -50,7 +50,7 @@ int ipmi_chassis_power_off() chassis_bus_name, // Service to contact chassis_object_name, // Object path chassis_intf_name, // Interface name - "powerOff", // Method to be called + method, // Method to be called &bus_error, // object to return error &response, // Response buffer if any NULL); // No input arguments @@ -69,6 +69,7 @@ int ipmi_chassis_power_off() return rc; } + //---------------------------------------------------------------------- // Chassis Control commands //---------------------------------------------------------------------- @@ -89,11 +90,11 @@ ipmi_ret_t ipmi_chassis_control(ipmi_netfn_t netfn, ipmi_cmd_t cmd, switch(chassis_ctrl_cmd) { case CMD_POWER_OFF: + rc = ipmi_chassis_power_control("powerOff"); + break; case CMD_HARD_RESET: - { - rc = ipmi_chassis_power_off(); + rc = ipmi_chassis_power_control("reboot"); break; - } default: { fprintf(stderr, "Invalid Chassis Control command:[0x%X] received\n",chassis_ctrl_cmd); |