blob: bf7b448cb9aeb41dd00a1d3be7ec6af4ef85d096 [file] [log] [blame]
Patrick Venture123b5c02019-03-05 14:01:00 -08001#pragma once
2
3#include <cstdint>
4#include <vector>
5
Patrick Venture1470bec2019-03-06 07:33:12 -08006namespace ipmiblob
Patrick Venture123b5c02019-03-05 14:01:00 -08007{
8
9class IpmiInterface
10{
11 public:
12 virtual ~IpmiInterface() = default;
13
14 /**
15 * Send an IPMI packet to the BMC.
16 *
17 * @param[in] data - a vector of the IPMI packet contents.
18 * @return the bytes returned.
19 * @throws IpmiException on failure.
20 */
21 virtual std::vector<std::uint8_t>
22 sendPacket(std::vector<std::uint8_t>& data) = 0;
23};
24
Patrick Venture1470bec2019-03-06 07:33:12 -080025} // namespace ipmiblob