1 #pragma once 2 3 #include <stdint.h> 4 5 #include <vector> 6 7 #include "libpldm/base.h" 8 9 namespace pldm 10 { 11 12 using Type = uint8_t; 13 14 using Response = std::vector<uint8_t>; 15 16 namespace responder 17 { 18 19 namespace base 20 { 21 /** @brief Register handlers for command from the base spec 22 */ 23 void registerHandlers(); 24 } // namespace base 25 26 /** @brief Handler for getPLDMTypes 27 * 28 * @param[in] request - Request message payload 29 * @param[in] payload_length - Request message payload length 30 * @param[return] Response - PLDM Response message 31 */ 32 Response getPLDMTypes(const pldm_msg* request, size_t payloadLength); 33 34 /** @brief Handler for getPLDMCommands 35 * 36 * @param[in] request - Request message payload 37 * @param[in] payload_length - Request message payload length 38 * @param[return] Response - PLDM Response message 39 */ 40 Response getPLDMCommands(const pldm_msg* request, size_t payloadLength); 41 42 /** @brief Handler for getPLDMCommands 43 * 44 * @param[in] request - Request message payload 45 * @param[in] payload_length - Request message payload length 46 * @param[return] Response - PLDM Response message 47 */ 48 Response getPLDMVersion(const pldm_msg* request, size_t payloadLength); 49 50 /** @brief Handler for getTID 51 * 52 * @param[in] request - Request message payload 53 * @param[in] payload_length - Request message payload length 54 * @param[return] Response - PLDM Response message 55 */ 56 Response getTID(const pldm_msg* request, size_t payloadLength); 57 } // namespace responder 58 } // namespace pldm 59