blob: 915a3672de3b8de33fe1346ee7c973e3f8f74f36 [file] [log] [blame]
Sampa Misra032bd502019-03-06 05:03:22 -06001#pragma once
2
3#include <stdint.h>
4
vkaverapa6575b82019-04-03 05:33:52 -05005#include <vector>
6
Sampa Misra032bd502019-03-06 05:03:22 -06007#include "libpldm/bios.h"
8
9namespace pldm
10{
11
vkaverapa6575b82019-04-03 05:33:52 -050012using Response = std::vector<uint8_t>;
13
Sampa Misra032bd502019-03-06 05:03:22 -060014namespace responder
15{
16
17/** @brief Handler for GetDateTime
18 *
19 * @param[in] request - Request message payload
vkaverapa6575b82019-04-03 05:33:52 -050020 * @param[return] Response - PLDM Response message
Sampa Misra032bd502019-03-06 05:03:22 -060021 */
vkaverapa6575b82019-04-03 05:33:52 -050022Response getDateTime(const pldm_msg* request);
Sampa Misra032bd502019-03-06 05:03:22 -060023
24namespace utils
25{
26
27/** @brief Convert epoch time to BCD time
28 *
29 * @param[in] timeSec - Time got from epoch time in seconds
30 * @param[out] seconds - number of seconds in BCD
31 * @param[out] minutes - number of minutes in BCD
32 * @param[out] hours - number of hours in BCD
33 * @param[out] day - day of the month in BCD
34 * @param[out] month - month number in BCD
35 * @param[out] year - year number in BCD
36 */
37void epochToBCDTime(uint64_t timeSec, uint8_t& seconds, uint8_t& minutes,
38 uint8_t& hours, uint8_t& day, uint8_t& month,
39 uint16_t& year);
40} // namespace utils
41
42} // namespace responder
43} // namespace pldm