diff --git a/sensordatahandler.cpp b/sensordatahandler.cpp
index 05471b1..ae0b878 100644
--- a/sensordatahandler.cpp
+++ b/sensordatahandler.cpp
@@ -31,7 +31,7 @@
     return std::make_pair(assertionStates, deassertionStates);
 }
 
-ipmi_ret_t updateToDbus(IpmiUpdateData& msg)
+ipmi::Cc updateToDbus(IpmiUpdateData& msg)
 {
     sdbusplus::bus_t bus{ipmid_get_sd_bus_connection()};
     try
@@ -196,8 +196,8 @@
                                updateInterface.c_str(), command.c_str());
 }
 
-ipmi_ret_t eventdata(const SetSensorReadingReq&, const Info& sensorInfo,
-                     uint8_t data)
+ipmi::Cc eventdata(const SetSensorReadingReq&, const Info& sensorInfo,
+                   uint8_t data)
 {
     auto msg =
         makeDbusMsg("org.freedesktop.DBus.Properties", sensorInfo.sensorPath,
@@ -219,7 +219,7 @@
     return updateToDbus(msg);
 }
 
-ipmi_ret_t assertion(const SetSensorReadingReq& cmdData, const Info& sensorInfo)
+ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info& sensorInfo)
 {
     std::bitset<16> assertionSet(getAssertionSet(cmdData).first);
     std::bitset<16> deassertionSet(getAssertionSet(cmdData).second);
@@ -289,7 +289,7 @@
                                updateInterface.c_str(), command.c_str());
 }
 
-ipmi_ret_t assertion(const SetSensorReadingReq& cmdData, const Info& sensorInfo)
+ipmi::Cc assertion(const SetSensorReadingReq& cmdData, const Info& sensorInfo)
 {
     auto msg = makeDbusMsg(sensorInfo.sensorInterface, sensorInfo.sensorPath,
                            "Notify", sensorInfo.sensorInterface);
