blob: 082af9c759825ab070e0fb070b077fa162f704df [file] [log] [blame]
Patrick Venturecf2d1b12018-12-11 18:22:36 -08001#pragma once
2
3#include <cstdint>
4#include <vector>
5
6class IpmiInterface
7{
8 public:
9 virtual ~IpmiInterface() = default;
10
11 /**
12 * Send an IPMI packet to the BMC.
13 *
14 * @param[in] data - a vector of the IPMI packet contents.
Patrick Venture035bbbb2018-12-12 14:59:52 -080015 * @return the bytes returned.
16 * @throws IpmiException on failure.
Patrick Venturecf2d1b12018-12-11 18:22:36 -080017 */
Patrick Venture035bbbb2018-12-12 14:59:52 -080018 virtual std::vector<std::uint8_t>
19 sendPacket(const std::vector<std::uint8_t>& data) = 0;
Patrick Venturecf2d1b12018-12-11 18:22:36 -080020};