remove IPMI_CC

Since IPMI_CC declared in api.h has been gradually deprecated,
this submission will use ipmi::cc in api.hpp instead.

Change-Id: Iaaf74396f59ba924753398c136e232c5b8fcd796
Signed-off-by: George Liu <liuxiwei@ieisystem.com>
diff --git a/src/appcommands.cpp b/src/appcommands.cpp
index 8f470fe..3b633b0 100644
--- a/src/appcommands.cpp
+++ b/src/appcommands.cpp
@@ -49,12 +49,16 @@
 static SysInfoParam sysInfoParams;
 nlohmann::json appData __attribute__((init_priority(101)));
 
+// Custom completion codes can be defined in individual modules for command
+// specific errors in the 0x80-0xBE range
+constexpr ipmi::Cc ccSystemInfoParameterNotSupported = 0x80;
+
 int sendBicCmd(uint8_t, uint8_t, uint8_t, std::vector<uint8_t>&,
                std::vector<uint8_t>&);
 
 static inline auto responseSystemInfoParamterNotSupportCommand()
 {
-    return response(IPMI_CC_SYSTEM_INFO_PARAMETER_NOT_SUPPORTED);
+    return response(ccSystemInfoParameterNotSupported);
 }
 
 void printGUID(uint8_t* guid, off_t offset)
@@ -143,7 +147,7 @@
 
     *data_len = 2;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -155,7 +159,7 @@
 {
     uint8_t* req = reinterpret_cast<uint8_t*>(request);
     std::string mfrTest = "sled-cycle";
-    ipmi_ret_t rc = IPMI_CC_OK;
+    ipmi_ret_t rc = ipmi::ccSuccess;
 
     if (!memcmp(req, mfrTest.data(), mfrTest.length()) &&
         (*data_len == mfrTest.length()))
@@ -164,12 +168,12 @@
         auto ret = system("/usr/sbin/power-util sled-cycle");
         if (ret)
         {
-            rc = IPMI_CC_UNSPECIFIED_ERROR;
+            rc = ipmi::ccUnspecifiedError;
         }
     }
     else
     {
-        rc = IPMI_CC_SYSTEM_INFO_PARAMETER_NOT_SUPPORTED;
+        rc = ccSystemInfoParameterNotSupported;
     }
 
     *data_len = 0;
@@ -189,7 +193,7 @@
     globEna = *req;
     *data_len = 0;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -204,7 +208,7 @@
     *data_len = 1;
     *res++ = globEna;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -217,7 +221,7 @@
     // Do Nothing and just return success
     *data_len = 0;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -246,10 +250,10 @@
     uint8_t* res = reinterpret_cast<uint8_t*>(response);
     if (getSystemGUID(res))
     {
-        return IPMI_CC_UNSPECIFIED_ERROR;
+        return ipmi::ccUnspecifiedError;
     }
     *data_len = GUID_SIZE;
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 #endif
diff --git a/src/oemcommands.cpp b/src/oemcommands.cpp
index 9bb1e77..a356ecb 100644
--- a/src/oemcommands.cpp
+++ b/src/oemcommands.cpp
@@ -434,7 +434,7 @@
 
 ipmi_ret_t getNetworkData(uint8_t lan_param, char* data)
 {
-    ipmi_ret_t rc = IPMI_CC_OK;
+    ipmi_ret_t rc = ipmi::ccSuccess;
     sdbusplus::bus_t bus(ipmid_get_sd_bus_connection());
 
     const std::string ethdevice = "eth0";
@@ -496,7 +496,7 @@
         break;
 
         default:
-            rc = IPMI_CC_PARM_OUT_OF_RANGE;
+            rc = ipmi::ccParmOutOfRange;
     }
     return rc;
 }
@@ -813,7 +813,7 @@
     res[SIZE_IANA_ID] = num_frames;
     *data_len = SIZE_IANA_ID + 1;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -835,7 +835,7 @@
     res[SIZE_IANA_ID + 2] = 2; // cri sel update
     res[SIZE_IANA_ID + 3] = 3; // cri sensor update
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -862,7 +862,7 @@
     {
         memcpy(res, req, SIZE_IANA_ID); // IANA ID
         *data_len = SIZE_IANA_ID;
-        return IPMI_CC_UNSPECIFIED_ERROR;
+        return ipmi::ccUnspecifiedError;
     }
 
     memcpy(res, req, SIZE_IANA_ID); // IANA ID
@@ -873,7 +873,7 @@
     res[7] = descLen;
     *data_len = SIZE_IANA_ID + 5 + descLen;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -901,7 +901,7 @@
     {
         memcpy(res, req, SIZE_IANA_ID); // IANA ID
         *data_len = SIZE_IANA_ID;
-        return IPMI_CC_UNSPECIFIED_ERROR;
+        return ipmi::ccUnspecifiedError;
     }
 
     memcpy(res, req, SIZE_IANA_ID); // IANA ID
@@ -912,7 +912,7 @@
     res[7] = descLen;
     *data_len = SIZE_IANA_ID + 5 + descLen;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -938,7 +938,7 @@
     {
         memcpy(res, req, SIZE_IANA_ID); // IANA ID
         *data_len = SIZE_IANA_ID;
-        return IPMI_CC_UNSPECIFIED_ERROR;
+        return ipmi::ccUnspecifiedError;
     }
 
     memcpy(res, req, SIZE_IANA_ID); // IANA ID
@@ -948,7 +948,7 @@
     res[6] = count;
     *data_len = SIZE_IANA_ID + 4 + count;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -1009,7 +1009,7 @@
 
     *data_len = 0;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -1022,7 +1022,7 @@
     /* TODO: Needs to implement this after GPIO implementation */
     *data_len = 0;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -1154,7 +1154,7 @@
     {
         phosphor::logging::log<phosphor::logging::level::ERR>(
             "Invalid machine configuration length received");
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
     }
 
     if (req->chassis_type >= sizeof(chassisType) / sizeof(uint8_t*))
@@ -1217,7 +1217,7 @@
 
     flushOemData();
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -1231,7 +1231,7 @@
 
     /* Do nothing, return success */
     *data_len = 0;
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -1255,7 +1255,7 @@
     // Sync time with system
     // TODO: Add code for syncing time
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -1288,7 +1288,7 @@
     oemData[KEY_PPIN_INFO] = ppinStr.c_str();
     flushOemData();
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -1300,7 +1300,7 @@
 {
     /* Do nothing, return success */
     *data_len = 0;
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 // Helper function to set guid at offset in EEPROM
@@ -1388,16 +1388,16 @@
     if (*data_len != GUID_SIZE) // 16bytes
     {
         *data_len = 0;
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
     }
 
     *data_len = 0;
 
     if (setGUID(OFFSET_SYS_GUID, req))
     {
-        return IPMI_CC_UNSPECIFIED_ERROR;
+        return ipmi::ccUnspecifiedError;
     }
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 #endif
 
@@ -1410,7 +1410,7 @@
 {
     /* Do nothing, return success */
     *data_len = 0;
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -1449,20 +1449,20 @@
             break;
         case PPR_ROW_COUNT:
             if (req[1] > 100)
-                return IPMI_CC_PARM_OUT_OF_RANGE;
+                return ipmi::ccParmOutOfRange;
 
             oemData[KEY_PPR][KEY_PPR_ROW_COUNT] = req[1];
             break;
         case PPR_ROW_ADDR:
             pprIndex = req[1];
             if (pprIndex > 100)
-                return IPMI_CC_PARM_OUT_OF_RANGE;
+                return ipmi::ccParmOutOfRange;
 
             if (len < PPR_ROW_ADDR_LEN + 1)
             {
                 phosphor::logging::log<phosphor::logging::level::ERR>(
                     "Invalid PPR Row Address length received");
-                return IPMI_CC_REQ_DATA_LEN_INVALID;
+                return ipmi::ccReqDataLenInvalid;
             }
 
             ss << std::hex;
@@ -1476,13 +1476,13 @@
         case PPR_HISTORY_DATA:
             pprIndex = req[1];
             if (pprIndex > 100)
-                return IPMI_CC_PARM_OUT_OF_RANGE;
+                return ipmi::ccParmOutOfRange;
 
             if (len < PPR_HST_DATA_LEN + 1)
             {
                 phosphor::logging::log<phosphor::logging::level::ERR>(
                     "Invalid PPR history data length received");
-                return IPMI_CC_REQ_DATA_LEN_INVALID;
+                return ipmi::ccReqDataLenInvalid;
             }
 
             ss << std::hex;
@@ -1494,13 +1494,13 @@
             oemData[KEY_PPR][ss.str()][KEY_PPR_HST_DATA] = str.c_str();
             break;
         default:
-            return IPMI_CC_PARM_OUT_OF_RANGE;
+            return ipmi::ccParmOutOfRange;
             break;
     }
 
     flushOemData();
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -1550,17 +1550,17 @@
         case PPR_ROW_ADDR:
             pprIndex = req[1];
             if (pprIndex > 100)
-                return IPMI_CC_PARM_OUT_OF_RANGE;
+                return ipmi::ccParmOutOfRange;
 
             ss << std::hex;
             ss << std::setw(2) << std::setfill('0') << (int)pprIndex;
 
             if (oemData[KEY_PPR].find(ss.str()) == oemData[KEY_PPR].end())
-                return IPMI_CC_PARM_OUT_OF_RANGE;
+                return ipmi::ccParmOutOfRange;
 
             if (oemData[KEY_PPR][ss.str()].find(KEY_PPR_ROW_ADDR) ==
                 oemData[KEY_PPR][ss.str()].end())
-                return IPMI_CC_PARM_OUT_OF_RANGE;
+                return ipmi::ccParmOutOfRange;
 
             str = oemData[KEY_PPR][ss.str()][KEY_PPR_ROW_ADDR];
             *data_len = strToBytes(str, res);
@@ -1568,27 +1568,27 @@
         case PPR_HISTORY_DATA:
             pprIndex = req[1];
             if (pprIndex > 100)
-                return IPMI_CC_PARM_OUT_OF_RANGE;
+                return ipmi::ccParmOutOfRange;
 
             ss << std::hex;
             ss << std::setw(2) << std::setfill('0') << (int)pprIndex;
 
             if (oemData[KEY_PPR].find(ss.str()) == oemData[KEY_PPR].end())
-                return IPMI_CC_PARM_OUT_OF_RANGE;
+                return ipmi::ccParmOutOfRange;
 
             if (oemData[KEY_PPR][ss.str()].find(KEY_PPR_HST_DATA) ==
                 oemData[KEY_PPR][ss.str()].end())
-                return IPMI_CC_PARM_OUT_OF_RANGE;
+                return ipmi::ccParmOutOfRange;
 
             str = oemData[KEY_PPR][ss.str()][KEY_PPR_HST_DATA];
             *data_len = strToBytes(str, res);
             break;
         default:
-            return IPMI_CC_PARM_OUT_OF_RANGE;
+            return ipmi::ccParmOutOfRange;
             break;
     }
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 /* FB OEM QC Commands */
@@ -1997,7 +1997,7 @@
     {
         phosphor::logging::log<phosphor::logging::level::ERR>(
             "Invalid parameter received");
-        return IPMI_CC_PARM_OUT_OF_RANGE;
+        return ipmi::ccParmOutOfRange;
     }
 
     len = len - 6; // Get Actual data length
@@ -2013,7 +2013,7 @@
            [driveInfoKey[req->paramSel]] = str.c_str();
     flushOemData();
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 //----------------------------------------------------------------------
@@ -2056,7 +2056,7 @@
     {
         phosphor::logging::log<phosphor::logging::level::ERR>(
             "Invalid parameter received");
-        return IPMI_CC_PARM_OUT_OF_RANGE;
+        return ipmi::ccParmOutOfRange;
     }
 
     if (oemData[KEY_Q_DRIVE_INFO].find(ctrlTypeKey[ctrlType]) ==
@@ -2079,7 +2079,7 @@
                  [dimmInfoKey[req->paramSel]];
     *data_len = strToBytes(str, res);
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 /* Helper function for sending DCMI commands to ME/BIC and
@@ -2236,11 +2236,11 @@
         case CrdState::free:
             break;
         default:
-            return IPMI_CC_UNSPECIFIED_ERROR;
+            return ipmi::ccUnspecifiedError;
     }
     currState = newState;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 static ipmi_ret_t handleMcaBank(const CrashDumpHdr& hdr,
@@ -2248,7 +2248,7 @@
                                 CrdState& currState, std::stringstream& ss)
 {
     if (data.size() < sizeof(CrdMcaBank))
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     ipmi_ret_t res = setDumpState(currState, CrdState::waitData);
     if (res)
@@ -2270,7 +2270,7 @@
     ss << std::format(" MCA_MISC1     : 0x{:016X}\n", pBank->mcaMisc1);
     ss << "\n";
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 template <typename T>
@@ -2278,12 +2278,12 @@
                                     CrdState& currState, std::stringstream& ss)
 {
     if (data.size() < sizeof(T))
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     const auto* pBank = reinterpret_cast<const T*>(data.data());
 
     if (data.size() < sizeof(T) + sizeof(BankCorePair) * pBank->mcaCount)
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     ipmi_ret_t res = setDumpState(currState, CrdState::waitData);
     if (res)
@@ -2310,14 +2310,14 @@
     }
     ss << "\n\n";
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 static ipmi_ret_t handleCpuWdtBank(std::span<const uint8_t> data,
                                    CrdState& currState, std::stringstream& ss)
 {
     if (data.size() < sizeof(CrdCpuWdtBank))
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     ipmi_ret_t res = setDumpState(currState, CrdState::waitData);
     if (res)
@@ -2344,7 +2344,7 @@
     }
     ss << "\n";
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 template <size_t N>
@@ -2353,7 +2353,7 @@
                                      CrdState& currState, std::stringstream& ss)
 {
     if (data.size() < sizeof(CrdHwAssertBank<N>))
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     ipmi_ret_t res = setDumpState(currState, CrdState::waitData);
     if (res)
@@ -2376,14 +2376,14 @@
     }
     ss << "\n";
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 static ipmi_ret_t handlePcieAerBank(std::span<const uint8_t> data,
                                     CrdState& currState, std::stringstream& ss)
 {
     if (data.size() < sizeof(CrdPcieAerBank))
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     ipmi_ret_t res = setDumpState(currState, CrdState::waitData);
     if (res)
@@ -2438,18 +2438,18 @@
                       pBank->laneErrSts);
     ss << "\n";
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 static ipmi_ret_t handleWdtRegBank(std::span<const uint8_t> data,
                                    CrdState& currState, std::stringstream& ss)
 {
     if (data.size() < sizeof(CrdWdtRegBank))
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     const auto* pBank = reinterpret_cast<const CrdWdtRegBank*>(data.data());
     if (data.size() < sizeof(CrdWdtRegBank) + sizeof(uint32_t) * pBank->count)
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     ipmi_ret_t res = setDumpState(currState, CrdState::waitData);
     if (res)
@@ -2465,14 +2465,14 @@
     }
     ss << "\n";
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 static ipmi_ret_t handleCrdHdrBank(std::span<const uint8_t> data,
                                    CrdState& currState, std::stringstream& ss)
 {
     if (data.size() < sizeof(CrdHdrBank))
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     ipmi_ret_t res = setDumpState(currState, CrdState::waitData);
     if (res)
@@ -2494,7 +2494,7 @@
                       (pBank->pmio & 0x10) >> 4);
     ss << "\n";
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 static std::string getFilename(const std::filesystem::path& dir,
@@ -2527,7 +2527,7 @@
                                  CrdState& currState, std::stringstream& ss)
 {
     if (data.empty())
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
 
     switch (static_cast<CrdCtrl>(data[0]))
     {
@@ -2543,7 +2543,7 @@
             std::string filename = getFilename(dumpDir, "crashdump_");
             std::ofstream outFile(dumpDir / filename);
             if (!outFile.is_open())
-                return IPMI_CC_UNSPECIFIED_ERROR;
+                return ipmi::ccUnspecifiedError;
 
             auto now = std::chrono::system_clock::to_time_t(
                 std::chrono::system_clock::now());
@@ -2561,7 +2561,7 @@
             return ccInvalidParam;
     }
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 ipmi::RspType<std::vector<uint8_t>> ipmiOemCrashdump(
@@ -2620,7 +2620,7 @@
             break;
         case BankType::ctrl:
             res = handleCtrlBank(bData, dumpState, ss);
-            if (res == IPMI_CC_OK &&
+            if (res == ipmi::ccSuccess &&
                 static_cast<CrdCtrl>(bData[0]) == CrdCtrl::getState)
             {
                 return ipmi::responseSuccess(
diff --git a/src/storagecommands.cpp b/src/storagecommands.cpp
index 1c6f36f..33c38b2 100644
--- a/src/storagecommands.cpp
+++ b/src/storagecommands.cpp
@@ -209,7 +209,7 @@
     bool timerRunning = (cacheTimer != nullptr) && !cacheTimer->isExpired();
     if (lastDevId == devId && timerRunning)
     {
-        return IPMI_CC_OK; // cache already up to date
+        return ipmi::ccSuccess; // cache already up to date
     }
     // if timer is running, stop it and writeFru manually
     else if (timerRunning)
@@ -231,7 +231,7 @@
     {
         phosphor::logging::log<phosphor::logging::level::ERR>(
             "replaceCacheFru: error getting managed objects");
-        return IPMI_CC_RESPONSE_ERROR;
+        return ipmi::ccResponseError;
     }
 
     deviceHashes.clear();
@@ -277,7 +277,7 @@
     auto deviceFind = deviceHashes.find(devId);
     if (deviceFind == deviceHashes.end())
     {
-        return IPMI_CC_SENSOR_INVALID;
+        return ipmi::ccSensorInvalid;
     }
 
     fruCache.clear();
@@ -297,11 +297,11 @@
         lastDevId = 0xFF;
         cacheBus = 0xFFFF;
         cacheAddr = 0xFF;
-        return IPMI_CC_RESPONSE_ERROR;
+        return ipmi::ccResponseError;
     }
 
     lastDevId = devId;
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 ipmi_ret_t ipmiStorageReadFRUData(
@@ -311,7 +311,7 @@
     if (*dataLen != 4)
     {
         *dataLen = 0;
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
     }
     *dataLen = 0; // default to 0 in case of an error
 
@@ -319,11 +319,11 @@
 
     if (req->countToRead > maxMessageSize - 1)
     {
-        return IPMI_CC_INVALID_FIELD_REQUEST;
+        return ipmi::ccInvalidFieldRequest;
     }
     ipmi_ret_t status = replaceCacheFru(req->fruDeviceID);
 
-    if (status != IPMI_CC_OK)
+    if (status != ipmi::ccSuccess)
     {
         return status;
     }
@@ -351,7 +351,7 @@
     }
     *dataLen = fromFRUByteLen + 1;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 ipmi_ret_t ipmiStorageWriteFRUData(
@@ -364,7 +364,7 @@
                       // byte of data after the three request data bytes
     {
         *dataLen = 0;
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
     }
 
     auto req = static_cast<WriteFRUDataReq*>(request);
@@ -372,7 +372,7 @@
     *dataLen = 0; // default to 0 in case of an error
 
     ipmi_ret_t status = replaceCacheFru(req->fruDeviceID);
-    if (status != IPMI_CC_OK)
+    if (status != ipmi::ccSuccess)
     {
         return status;
     }
@@ -419,7 +419,7 @@
         cacheTimer->stop();
         if (!writeFru())
         {
-            return IPMI_CC_INVALID_FIELD_REQUEST;
+            return ipmi::ccInvalidFieldRequest;
         }
         *respPtr = std::min(fruCache.size(), static_cast<size_t>(0xFF));
     }
@@ -435,30 +435,30 @@
 
     *dataLen = 1;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 ipmi_ret_t getFruSdrCount(size_t& count)
 {
     ipmi_ret_t ret = replaceCacheFru(0);
-    if (ret != IPMI_CC_OK)
+    if (ret != ipmi::ccSuccess)
     {
         return ret;
     }
     count = deviceHashes.size();
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 ipmi_ret_t getFruSdrs(size_t index, get_sdr::SensorDataFruRecord& resp)
 {
     ipmi_ret_t ret = replaceCacheFru(0); // this will update the hash list
-    if (ret != IPMI_CC_OK)
+    if (ret != ipmi::ccSuccess)
     {
         return ret;
     }
     if (deviceHashes.size() < index)
     {
-        return IPMI_CC_INVALID_FIELD_REQUEST;
+        return ipmi::ccInvalidFieldRequest;
     }
     auto device = deviceHashes.begin() + index;
     uint8_t& bus = device->second.first;
@@ -476,7 +476,7 @@
     }
     catch (const sdbusplus::exception_t&)
     {
-        return IPMI_CC_RESPONSE_ERROR;
+        return ipmi::ccResponseError;
     }
     boost::container::flat_map<std::string, DbusVariant>* fruData = nullptr;
     auto fru = std::find_if(
@@ -508,7 +508,7 @@
         });
     if (fru == frus.end())
     {
-        return IPMI_CC_RESPONSE_ERROR;
+        return ipmi::ccResponseError;
     }
     std::string name;
     auto findProductName = fruData->find("BOARD_PRODUCT_NAME");
@@ -548,7 +548,7 @@
     resp.body.deviceIDLen = name.size();
     name.copy(resp.body.deviceID, name.size());
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 ipmi_ret_t ipmiStorageReserveSDR(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
@@ -560,7 +560,7 @@
     if (*dataLen)
     {
         *dataLen = 0;
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
     }
     *dataLen = 0; // default to 0 in case of an error
     sdrReservationID++;
@@ -573,7 +573,7 @@
     resp[0] = sdrReservationID & 0xFF;
     resp[1] = sdrReservationID >> 8;
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 ipmi_ret_t ipmiStorageGetSDR(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
@@ -585,7 +585,7 @@
     if (*dataLen != 6)
     {
         *dataLen = 0;
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
     }
     auto requestedSize = *dataLen;
     *dataLen = 0; // default to 0 in case of an error
@@ -598,17 +598,17 @@
     if ((sdrReservationID == 0 || req->reservationID != sdrReservationID) &&
         req->offset)
     {
-        return IPMI_CC_INVALID_RESERVATION_ID;
+        return ipmi::ccInvalidReservationId;
     }
 
     if (!getSensorSubtree(sensorTree) && sensorTree.empty())
     {
-        return IPMI_CC_RESPONSE_ERROR;
+        return ipmi::ccResponseError;
     }
 
     size_t fruCount = 0;
     ipmi_ret_t ret = ipmi::storage::getFruSdrCount(fruCount);
-    if (ret != IPMI_CC_OK)
+    if (ret != ipmi::ccSuccess)
     {
         return ret;
     }
@@ -620,7 +620,7 @@
     }
     if (req->recordID > lastRecord)
     {
-        return IPMI_CC_INVALID_FIELD_REQUEST;
+        return ipmi::ccInvalidFieldRequest;
     }
 
     uint16_t nextRecord = lastRecord >= static_cast<size_t>(req->recordID + 1)
@@ -639,15 +639,15 @@
         size_t fruIndex = req->recordID - sensorTree.size();
         if (fruIndex >= fruCount)
         {
-            return IPMI_CC_INVALID_FIELD_REQUEST;
+            return ipmi::ccInvalidFieldRequest;
         }
         get_sdr::SensorDataFruRecord data;
         if (req->offset > sizeof(data))
         {
-            return IPMI_CC_INVALID_FIELD_REQUEST;
+            return ipmi::ccInvalidFieldRequest;
         }
         ret = ipmi::storage::getFruSdrs(fruIndex, data);
-        if (ret != IPMI_CC_OK)
+        if (ret != ipmi::ccSuccess)
         {
             return ret;
         }
@@ -660,7 +660,7 @@
         *dataLen = req->bytesToRead + 2; // next record
         std::memcpy(&resp->record_data, (char*)&data + req->offset,
                     req->bytesToRead);
-        return IPMI_CC_OK;
+        return ipmi::ccSuccess;
     }
 
     std::string connection;
@@ -672,7 +672,7 @@
         {
             if (!sensor.second.size())
             {
-                return IPMI_CC_RESPONSE_ERROR;
+                return ipmi::ccResponseError;
             }
             connection = sensor.second.begin()->first;
             path = sensor.first;
@@ -683,7 +683,7 @@
     SensorMap sensorMap;
     if (!getSensorMap(connection, path, sensorMap))
     {
-        return IPMI_CC_RESPONSE_ERROR;
+        return ipmi::ccResponseError;
     }
     uint8_t sensornumber = (req->recordID & 0xFF);
     get_sdr::SensorDataFullRecord record = {};
@@ -716,7 +716,7 @@
     auto sensorObject = sensorMap.find("xyz.openbmc_project.Sensor.Value");
     if (sensorObject == sensorMap.end())
     {
-        return IPMI_CC_RESPONSE_ERROR;
+        return ipmi::ccResponseError;
     }
 
     auto maxObject = sensorObject->second.find("MaxValue");
@@ -741,7 +741,7 @@
 
     if (!getSensorAttributes(max, min, mValue, rExp, bValue, bExp, bSigned))
     {
-        return IPMI_CC_RESPONSE_ERROR;
+        return ipmi::ccResponseError;
     }
 
     // apply M, B, and exponents, M and B are 10 bit values, exponents are 4
@@ -817,7 +817,7 @@
     std::memcpy(&resp->record_data, (char*)&record + req->offset,
                 req->bytesToRead);
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 static int getSensorConnectionByName(std::string& name, std::string& connection,
@@ -975,18 +975,18 @@
     if (*dataLen != 1)
     {
         *dataLen = 0;
-        return IPMI_CC_REQ_DATA_LEN_INVALID;
+        return ipmi::ccReqDataLenInvalid;
     }
     *dataLen = 0; // default to 0 in case of an error
 
     uint8_t reqDev = *(static_cast<uint8_t*>(request));
     if (reqDev == 0xFF)
     {
-        return IPMI_CC_INVALID_FIELD_REQUEST;
+        return ipmi::ccInvalidFieldRequest;
     }
     ipmi_ret_t status = replaceCacheFru(reqDev);
 
-    if (status != IPMI_CC_OK)
+    if (status != ipmi::ccSuccess)
     {
         return status;
     }
@@ -997,7 +997,7 @@
     respPtr->accessType = static_cast<uint8_t>(GetFRUAreaAccessType::byte);
 
     *dataLen = sizeof(GetFRUAreaResp);
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 void registerStorageFunctions()
diff --git a/src/transportcommands.cpp b/src/transportcommands.cpp
index d7f632b..77c55f6 100644
--- a/src/transportcommands.cpp
+++ b/src/transportcommands.cpp
@@ -17,8 +17,9 @@
 #include <ipmid/api.h>
 
 #include <commandutils.hpp>
+#include <ipmid/api-types.hpp>
 
-#define IPMI_CC_PARAMETER_NOT_SUPPORTED 0x80
+constexpr ipmi::Cc ccParameterNotSupported = 0x80;
 
 namespace ipmi
 {
@@ -62,7 +63,7 @@
      * with only one byte of data
      */
     if (param & 0x80)
-        return IPMI_CC_OK;
+        return ipmi::ccSuccess;
 
     switch (paramSel)
     {
@@ -98,11 +99,11 @@
             break;
         default:
             *data_len = 0;
-            return IPMI_CC_PARAMETER_NOT_SUPPORTED;
+            return ccParameterNotSupported;
             break;
     }
 
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 void registerTransportFunctions()
diff --git a/src/usb-dbg.cpp b/src/usb-dbg.cpp
index d125016..70b69a0 100644
--- a/src/usb-dbg.cpp
+++ b/src/usb-dbg.cpp
@@ -1004,11 +1004,11 @@
                                    uint8_t* buffer)
 {
     if (cur_panel > panelNum || cur_panel < std::to_underlying(panel::MAIN))
-        return IPMI_CC_PARM_OUT_OF_RANGE;
+        return ipmi::ccParmOutOfRange;
 
     // No more item; End of item list
     if (item > panels[cur_panel].item_num)
-        return IPMI_CC_PARM_OUT_OF_RANGE;
+        return ipmi::ccParmOutOfRange;
 
     switch (operation)
     {
@@ -1023,7 +1023,7 @@
             item = 0;
             break;
         default:
-            return IPMI_CC_PARM_OUT_OF_RANGE;
+            return ipmi::ccParmOutOfRange;
     }
 
     buffer[0] = cur_panel;
@@ -1036,7 +1036,7 @@
                     buffer[2]);
     }
     *count = buffer[2] + 3;
-    return IPMI_CC_OK;
+    return ipmi::ccSuccess;
 }
 
 } // end of namespace ipmi