Vanetza
Loading...
Searching...
No Matches
basic_elements.hpp
1#pragma once
2#include <vanetza/common/clock.hpp>
3#include <vanetza/asn1/support/OCTET_STRING.h>
4#include <vanetza/common/byte_buffer.hpp>
5#include <array>
6#include <cstdint>
7
8namespace vanetza
9{
10namespace security
11{
12namespace v3
13{
14
15using Time64 = uint64_t;
16using Time32 = uint32_t;
17
18/**
19 * Convert time point to time stamp
20 * \param tp time point
21 * \return time stamp with second accuracy
22 */
23Time32 convert_time32(const Clock::time_point& tp);
24
25/**
26 * Convert time stamp to time point
27 * \param t time stamp with second accuracy
28 * \return time point
29 */
30Clock::time_point convert_time_point(const Time32& t);
31
32/**
33 * Convert time point to time stamp
34 * \param tp time point
35 * \return time stamp with microsecond accuracy
36 */
37Time64 convert_time64(const Clock::time_point& tp);
38
39/**
40 * Convert time stamp to time point
41 * \param t time stamp with microsecond accuracy
42 * \return time point
43 */
44Clock::time_point convert_time_point(const Time64& t);
45
46} // namespace v3
47} // namespace security
48} // namespace vanetza