1 #pragma once
2 
3 #include <ipmiblob/blob_interface.hpp>
4 
5 #include <cstdint>
6 
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.
15  * @return true if the verification was successful.
16  */
17 bool pollStatus(std::uint16_t session, ipmiblob::BlobInterface* blob);
18 
19 /**
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 /**
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 
38 } // namespace host_tool
39