#pragma once #include #include namespace ipmiblob { class IpmiInterface { public: virtual ~IpmiInterface() = default; /** * Send an IPMI packet to the BMC. * * @param[in] netfn - the netfn for the IPMI packet. * @param[in] cmd - the command. * @param[in] data - a vector of the IPMI packet contents. * @return the bytes returned. * @throws IpmiException on failure. */ virtual std::vector sendPacket(std::uint8_t netfn, std::uint8_t cmd, std::vector& data) = 0; }; } // namespace ipmiblob