API to update IM value on system planar

This commit implements code to update IM value on system planar
EEPROM path.

Change-Id: Ib4e8570d1ad5c86dd4573aca9882031282342a88
Signed-off-by: Rekha Aparna <vrekhaaparna@ibm.com>
diff --git a/vpd-manager/include/constants.hpp b/vpd-manager/include/constants.hpp
index e605cd1..5195c38 100644
--- a/vpd-manager/include/constants.hpp
+++ b/vpd-manager/include/constants.hpp
@@ -142,6 +142,7 @@
 constexpr auto kwdFN = "FN";
 constexpr auto recVSYS = "VSYS";
 constexpr auto recVCEN = "VCEN";
+constexpr auto recVSBP = "VSBP";
 constexpr auto locationCodeInf = "com.ibm.ipzvpd.Location";
 constexpr auto xyzLocationCodeInf =
     "xyz.openbmc_project.Inventory.Decorator.LocationCode";
diff --git a/vpd-manager/include/single_fab.hpp b/vpd-manager/include/single_fab.hpp
index 8587519..c618cb8 100644
--- a/vpd-manager/include/single_fab.hpp
+++ b/vpd-manager/include/single_fab.hpp
@@ -29,5 +29,14 @@
      * @return IM value on success, empty string otherwise.
      */
     std::string getImFromPlanar() const noexcept;
+
+    /**
+     * @brief API to update IM value on system planar EEPROM path.
+     *
+     * @param[in] i_imValue - IM value to be updated.
+     *
+     * @return true if value updated successfully, otherwise false.
+     */
+    bool setImOnPlanar(const std::string& i_imValue) const noexcept;
 };
 } // namespace vpd