oem-ibm: Support system reboot after inband code update

This commit adds a bmc effecter that causes a system reboot(
phyp, chassis and bmc)

After bmc sends an end update successful event, Host will
set this new effecter. Upon getting the setStateEffecterStates
call bmc-pldm does the following:
1. Set the power restore to reboot the host once the BMC
   is rebooted
2. power off Host and Chassis
3. reboot the bmc

Tested with pldmtool
Steps after patching changes:
1. Boot host to STANDBY
2. Fetch the effecter to note the effecterId
   Ex: ./pldmtool platform GetPDR -d 28
3. Trigger the system reboot by toggling the effecter
   ./pldmtool platform SetStateEffecterStates -i 10 -c 1
   -d 1 1

Signed-off-by: Sagar Srinivas <sagar.srinivas@ibm.com>
Change-Id: Id2d4201a7d61ae335adc64f2583571a37dc7879d
diff --git a/oem/ibm/libpldmresponder/file_io_type_lid.hpp b/oem/ibm/libpldmresponder/file_io_type_lid.hpp
index e5e5b5f..841099c 100644
--- a/oem/ibm/libpldmresponder/file_io_type_lid.hpp
+++ b/oem/ibm/libpldmresponder/file_io_type_lid.hpp
@@ -125,7 +125,7 @@
         {
             flags = O_WRONLY | O_CREAT | O_TRUNC | O_SYNC;
         }
-        auto fd = open(lidPath.c_str(), flags);
+        auto fd = open(lidPath.c_str(), flags, S_IRUSR);
         if (fd == -1)
         {
             std::cerr << "Could not open file for writing  " << lidPath.c_str()
@@ -219,7 +219,7 @@
                 return PLDM_DATA_OUT_OF_RANGE;
             }
         }
-        auto fd = open(lidPath.c_str(), flags);
+        auto fd = open(lidPath.c_str(), flags, S_IRUSR);
         if (fd == -1)
         {
             std::cerr << "could not open file " << lidPath.c_str() << "\n";