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:50
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:25
vanetza::geonet::ManagementInformationBase
Definition:
mib.hpp:57
vanetza::geonet::ShbDataRequest
Definition:
data_request.hpp:98
vanetza
geonet
basic_header.hpp
Generated on Thu Nov 30 2023 12:03:35 for Vanetza by
1.9.6