blob: ebe7a1b408ebe4bce9babd7e107703b9672ae976 [file] [log] [blame]
Patrick Venture01123b22019-06-20 13:49:06 -07001#pragma once
2
Patrick Venture01123b22019-06-20 13:49:06 -07003#include <ipmiblob/blob_interface.hpp>
4
Patrick Venture9b37b092020-05-28 20:58:57 -07005#include <cstdint>
6
Patrick Venture01123b22019-06-20 13:49:06 -07007namespace 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 Yang328f5202021-03-16 00:52:07 -070015 * @return true if the verification was successful.
Patrick Venture01123b22019-06-20 13:49:06 -070016 */
William A. Kennington IIIf88bcf32021-10-14 02:15:10 -070017void pollStatus(std::uint16_t session, ipmiblob::BlobInterface* blob);
Patrick Venture01123b22019-06-20 13:49:06 -070018
Vivekanand Veeracholanc7fa2c22021-02-18 18:05:41 -080019/**
Jie Yang328f5202021-03-16 00:52:07 -070020 * 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 */
William A. Kennington IIIf88bcf32021-10-14 02:15:10 -070026uint32_t pollReadReady(std::uint16_t session, ipmiblob::BlobInterface* blob);
Jie Yang328f5202021-03-16 00:52:07 -070027
28/**
Vivekanand Veeracholanc7fa2c22021-02-18 18:05:41 -080029 * 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 */
35void* memcpyAligned(void* destination, const void* source, std::size_t size);
36
Patrick Venture01123b22019-06-20 13:49:06 -070037} // namespace host_tool