Migrate to decode_pldm_base_get_tid_resp() Migrate the codes that use decode_get_tid_resp() to using the newly added decode_pldm_base_get_tid_resp() API as a replacement. Change-Id: I76d8488fb91a0dbcf77560de77ae117262900b68 Signed-off-by: Chau Ly <chaul@amperecomputing.com>
diff --git a/platform-mc/terminus_manager.cpp b/platform-mc/terminus_manager.cpp index 4a160a8..19e64b5 100644 --- a/platform-mc/terminus_manager.cpp +++ b/platform-mc/terminus_manager.cpp
@@ -503,8 +503,8 @@ co_return rc; } - uint8_t completionCode = 0; - rc = decode_get_tid_resp(responseMsg, responseLen, &completionCode, tid); + pldm_base_get_tid_resp resp{}; + rc = decode_pldm_base_get_tid_resp(responseMsg, responseLen, &resp); if (rc) { lg2::error( @@ -513,14 +513,16 @@ co_return rc; } - if (completionCode != PLDM_SUCCESS) + if (resp.completion_code != PLDM_SUCCESS) { lg2::error("Error : GetTID for Endpoint ID {EID}, complete code {CC}.", - "EID", eid, "CC", completionCode); + "EID", eid, "CC", resp.completion_code); co_return rc; } - co_return completionCode; + *tid = resp.tid; + + co_return resp.completion_code; } exec::task<int> TerminusManager::setTidOverMctp(mctp_eid_t eid, pldm_tid_t tid)
diff --git a/pldmtool/pldm_base_cmd.cpp b/pldmtool/pldm_base_cmd.cpp index 7f9cf6b..1073f4c 100644 --- a/pldmtool/pldm_base_cmd.cpp +++ b/pldmtool/pldm_base_cmd.cpp
@@ -373,18 +373,18 @@ void parseResponseMsg(pldm_msg* responsePtr, size_t payloadLength) override { - uint8_t cc = 0; - uint8_t tid = 0; - std::vector<bitfield8_t> types(8); - auto rc = decode_get_tid_resp(responsePtr, payloadLength, &cc, &tid); - if (rc != PLDM_SUCCESS || cc != PLDM_SUCCESS) + pldm_base_get_tid_resp resp{}; + auto rc = + decode_pldm_base_get_tid_resp(responsePtr, payloadLength, &resp); + if (rc != PLDM_SUCCESS || resp.completion_code != PLDM_SUCCESS) { std::cerr << "Response Message Error: " - << "rc=" << rc << ",cc=" << (int)cc << "\n"; + << "rc=" << rc << ",cc=" + << static_cast<int>(resp.completion_code) << "\n"; return; } ordered_json data; - data["Response"] = static_cast<uint32_t>(tid); + data["Response"] = static_cast<uint32_t>(resp.tid); pldmtool::helper::DisplayInJson(data); } };
diff --git a/requester/test/handler_test.cpp b/requester/test/handler_test.cpp index 37be41c..cbc9ccc 100644 --- a/requester/test/handler_test.cpp +++ b/requester/test/handler_test.cpp
@@ -275,11 +275,12 @@ co_await handler.sendRecvMsg(eid, std::move(request)); EXPECT_NE(responseLen, 0); - uint8_t cc = 0; - rc = decode_get_tid_resp(responseMsg, responseLen, &cc, &tid); + pldm_base_get_tid_resp resp{}; + rc = decode_pldm_base_get_tid_resp(responseMsg, responseLen, &resp); EXPECT_EQ(rc, PLDM_SUCCESS); - co_return cc; + tid = resp.tid; + co_return resp.completion_code; } };