Add sys command for powercycle on host shutdown.

The new command will trigger a power cycle the next time the host shuts
down. This can exist in parallel with the existing mechanism to trigger
a power cycle after a specified time interval.

The implementation of host state detection and power cycling is platfrom
specific; the new command will just add a temporary file that marks the
system ready to powercycle on the next shutdown. Usually, a systemd unit
would be enabled by the presence of this file to handle the power
cycling process.

Signed-off-by: Shounak Mitra <shounak@google.com>
Change-Id: I0cc40307748fb996be3f6062d8cba1a4b5049683
diff --git a/ipmi.cpp b/ipmi.cpp
index 509ec15..cdf3b64 100644
--- a/ipmi.cpp
+++ b/ipmi.cpp
@@ -66,6 +66,9 @@
             return getEntityName(reqBuf, replyCmdBuf, dataLen, handler);
         case SysMachineName:
             return getMachineName(reqBuf, replyCmdBuf, dataLen, handler);
+        case SysPsuHardResetOnShutdown:
+            return psuHardResetOnShutdown(reqBuf, replyCmdBuf, dataLen,
+                                          handler);
         default:
             std::fprintf(stderr, "Invalid subcommand: 0x%x\n", reqBuf[0]);
             return IPMI_CC_INVALID;