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 void 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 uint32_t pollReadReady(std::uint16_t session, ipmiblob::BlobInterface* blob);
27 
28 /**
29  * Aligned memcpy
30  * @param[out] destination - destination memory pointer
31  * @param[in] source - source memory pointer
32  * @param[in] size - bytes to copy
33  * @return destination pointer
34  */
35 void* memcpyAligned(void* destination, const void* source, std::size_t size);
36 
37 } // namespace host_tool
38