diff --git a/host-ipmid/ipmid-host-cmd-utils.hpp b/host-ipmid/ipmid-host-cmd-utils.hpp
new file mode 100644
index 0000000..f564e2a
--- /dev/null
+++ b/host-ipmid/ipmid-host-cmd-utils.hpp
@@ -0,0 +1,49 @@
+#pragma once
+
+#include <unistd.h>
+#include <tuple>
+
+namespace phosphor
+{
+namespace host
+{
+namespace command
+{
+    /** @detail After sending SMS_ATN to the Host, Host comes down and
+     *          asks why an 'SMS_ATN` was sent.
+     *          BMC then sends 'There is a Message to be Read` as reponse.
+     *          Host then comes down asks for Message and the specified
+     *          commands and data would go as data conforming to IPMI spec.
+     *
+     *          Refer: 6.13.2 Send Message Command From System Interface
+     *          in IPMI V2.0 spec.
+     */
+
+    /** @brief IPMI command */
+    using IPMIcmd = uint8_t;
+
+    /** @brief Data associated with command */
+    using Data = uint8_t;
+
+    /** @brief <IPMI command, Data> to be sent as payload when Host asks for
+     *          the message that can be associated with the previous SMS_ATN
+     */
+    using IpmiCmdData = std::pair<IPMIcmd, Data>;
+
+    /** @detail Implementation specific callback function to be invoked
+     *          conveying the status of the executed command. Specific
+     *          implementations may then broadcast an agreed signal
+     */
+    using CallBack = std::function<void(IpmiCmdData, bool)>;
+
+    /** @detail Tuple encapsulating above 2 to enable using Manager by
+     *          different implementations. Users of Manager will supply
+     *          <Ipmi command, Data> along with the callback handler.
+     *          Manager will invoke the handler onveying the status of
+     *          the command.
+     */
+    using CommandHandler = std::tuple<IpmiCmdData, CallBack>;
+
+} // namespace command
+} // namespace host
+} // namespace phosphor
diff --git a/host-ipmid/ipmid-host-cmd.hpp b/host-ipmid/ipmid-host-cmd.hpp
new file mode 100644
index 0000000..6541bae
--- /dev/null
+++ b/host-ipmid/ipmid-host-cmd.hpp
@@ -0,0 +1,10 @@
+#include <memory>
+#include <sdbusplus/bus.hpp>
+#include "ipmid-host-cmd-utils.hpp"
+
+// Need this to use new sdbusplus compatible interfaces
+using sdbusPtr =  std::unique_ptr<sdbusplus::bus::bus>;
+extern sdbusPtr& ipmid_get_sdbus_plus_handler();
+
+// Global Host Bound Command manager
+extern void ipmid_send_cmd_to_host(phosphor::host::command::CommandHandler&&);
