Patrick Venture | 01123b2 | 2019-06-20 13:49:06 -0700 | [diff] [blame] | 1 | #pragma once |
| 2 | |
Patrick Venture | 01123b2 | 2019-06-20 13:49:06 -0700 | [diff] [blame] | 3 | #include <ipmiblob/blob_interface.hpp> |
| 4 | |
Patrick Venture | 9b37b09 | 2020-05-28 20:58:57 -0700 | [diff] [blame] | 5 | #include <cstdint> |
| 6 | |
Patrick Venture | 01123b2 | 2019-06-20 13:49:06 -0700 | [diff] [blame] | 7 | namespace host_tool |
| 8 | { |
| 9 | |
| 10 | /** |
| 11 | * Poll an open verification session. |
| 12 | * |
| 13 | * @param[in] session - the open verification session |
| 14 | * @param[in] blob - pointer to blob interface implementation object. |
Jie Yang | 328f520 | 2021-03-16 00:52:07 -0700 | [diff] [blame^] | 15 | * @return true if the verification was successful. |
Patrick Venture | 01123b2 | 2019-06-20 13:49:06 -0700 | [diff] [blame] | 16 | */ |
| 17 | bool pollStatus(std::uint16_t session, ipmiblob::BlobInterface* blob); |
| 18 | |
Vivekanand Veeracholan | c7fa2c2 | 2021-02-18 18:05:41 -0800 | [diff] [blame] | 19 | /** |
Jie Yang | 328f520 | 2021-03-16 00:52:07 -0700 | [diff] [blame^] | 20 | * Poll an open firmware version blob session and check if it ready to read. |
| 21 | * |
| 22 | * @param[in] session - the open firmware version blob session |
| 23 | * @param[in] blob - pointer to blob interface implementation object |
| 24 | * @return the polling status and blob buffer size |
| 25 | */ |
| 26 | std::pair<bool, uint32_t> pollReadReady(std::uint16_t session, |
| 27 | ipmiblob::BlobInterface* blob); |
| 28 | |
| 29 | /** |
Vivekanand Veeracholan | c7fa2c2 | 2021-02-18 18:05:41 -0800 | [diff] [blame] | 30 | * Aligned memcpy |
| 31 | * @param[out] destination - destination memory pointer |
| 32 | * @param[in] source - source memory pointer |
| 33 | * @param[in] size - bytes to copy |
| 34 | * @return destination pointer |
| 35 | */ |
| 36 | void* memcpyAligned(void* destination, const void* source, std::size_t size); |
| 37 | |
Patrick Venture | 01123b2 | 2019-06-20 13:49:06 -0700 | [diff] [blame] | 38 | } // namespace host_tool |