xref: /openbmc/pldm/libpldmresponder/base.hpp (revision 9d494bbe)
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