Vanetza
Loading...
Searching...
No Matches
basic_header.hpp
1
#
ifndef
BASIC_HEADER_HPP_8QS7WLG3
2
#
define
BASIC_HEADER_HPP_8QS7WLG3
3
4
#
include
<
vanetza
/
common
/
bit_number
.
hpp
>
5
#
include
<
vanetza
/
geonet
/
lifetime
.
hpp
>
6
#
include
<
vanetza
/
geonet
/
mib
.
hpp
>
7
#
include
<
vanetza
/
geonet
/
serialization
.
hpp
>
8
9
namespace
vanetza
10
{
11
namespace
geonet
12
{
13
14
struct
DataRequest
;
15
struct
ShbDataRequest
;
16
17
/// NextHeaderBasic specified in ETSI EN 302 636-4-1 v1.2.1, section 8.6.3
18
enum
class
NextHeaderBasic : uint8_t
19
{
20
Any = 0,
21
Common = 1,
22
Secured = 2,
23
};
24
25
/// BasicHeader specified in ETSI EN 302 636-4-1 v1.2.1, section 8.6
26
struct
BasicHeader
27
{
28
BasicHeader();
29
BasicHeader(
const
MIB&);
30
BasicHeader(
const
DataRequest
&,
const
MIB&);
31
BasicHeader(
const
ShbDataRequest
&,
const
MIB&);
32
33
static
constexpr
std::size_t length_bytes = 3 +
sizeof
(
Lifetime
);
34
35
BitNumber
<
unsigned
, 4> version;
36
NextHeaderBasic next_header;
// 4 bit
37
uint8_t reserved;
38
Lifetime
lifetime;
39
uint8_t hop_limit;
40
};
41
42
/**
43
* \brief Serializes a BasicHeader into a binary archive
44
* \param basic to serialize
45
* \param ar to serialize in
46
*/
47
void
serialize(
const
BasicHeader
&,
OutputArchive
&);
48
49
/**
50
* \brief Deserializes a BasicHeader from a binary archive
51
* \param basic to deserialize
52
* \param ar with a serialized BasicHeader at the beginning
53
*/
54
void
deserialize(
BasicHeader
&,
InputArchive
&);
55
56
}
// namespace geonet
57
}
// namespace vanetza
58
59
#
endif
/* BASIC_HEADER_HPP_8QS7WLG3 */
vanetza::BitNumber
Definition
bit_number.hpp:18
vanetza::InputArchive
Definition
archives.hpp:17
vanetza::OutputArchive
Definition
archives.hpp:62
vanetza::geonet::Lifetime
Definition
lifetime.hpp:16
vanetza::geonet::BasicHeader
BasicHeader specified in ETSI EN 302 636-4-1 v1.2.1, section 8.6.
Definition
basic_header.hpp:27
vanetza::geonet::DataRequest
Definition
data_request.hpp:26
vanetza::geonet::ShbDataRequest
Definition
data_request.hpp:100
vanetza
geonet
basic_header.hpp
Generated on
for Vanetza by
1.16.1