libpldmresponder:Support GetNumericEffecterValue responder
The GetNumericEffecterValue command is used to return the present
numeric setting of a PLDM Numeric Effecter.
This commit adds responder support for GetNumericEffecterValue Cmd
as mentioned in Section22.3 of DSP0248_1.2.0.
Currently "effecterOperationalState" field in the response msg is
set to "enabled-noUpdatePending". Actual value can be fetched once
the support for EffecterEvent/SetNumericEffecterEnable is added.
Test:
Using pldmtool raw command
Success Case:
pldmtool raw -d 0x80 0x02 0x32 0x23 00
pldmtool: Tx: 08 01 80 02 32 23 00
pldmtool: Rx: 08 01 00 02 32 00 00 01 03 03
Failure Case:
pldmtool raw -d 0x80 0x02 0x32 0x25 0x00
pldmtool: Tx: 08 01 80 02 32 25 00
pldmtool: Rx: 08 01 00 02 32 80
Change-Id: I64a7205d8f69e3925b75b02558a0857b63c70ebf
Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
diff --git a/libpldmresponder/pdr_utils.cpp b/libpldmresponder/pdr_utils.cpp
index acaedd7..4a7d016 100644
--- a/libpldmresponder/pdr_utils.cpp
+++ b/libpldmresponder/pdr_utils.cpp
@@ -259,6 +259,28 @@
return frus;
}
+
+size_t getEffecterDataSize(uint8_t effecterDataSize)
+{
+ switch (effecterDataSize)
+ {
+ case PLDM_EFFECTER_DATA_SIZE_UINT8:
+ return sizeof(uint8_t);
+ case PLDM_EFFECTER_DATA_SIZE_SINT8:
+ return sizeof(int8_t);
+ case PLDM_EFFECTER_DATA_SIZE_UINT16:
+ return sizeof(uint16_t);
+ case PLDM_EFFECTER_DATA_SIZE_SINT16:
+ return sizeof(int16_t);
+ case PLDM_EFFECTER_DATA_SIZE_UINT32:
+ return sizeof(uint32_t);
+ case PLDM_EFFECTER_DATA_SIZE_SINT32:
+ return sizeof(int32_t);
+ default:
+ return 0;
+ }
+}
+
} // namespace pdr_utils
} // namespace responder
} // namespace pldm