1#ifndef G5_LINK_LAYER_HPP_CESAPUOW
2#define G5_LINK_LAYER_HPP_CESAPUOW
7#include <vanetza/common/bit_number.hpp>
8#include <vanetza/common/byte_order.hpp>
9#include <vanetza/common/serialization.hpp>
10#include <vanetza/net/mac_address.hpp>
47 Type type()
const {
return Type(raw.get() >> 2); }
48 SubType sub_type()
const {
return SubType(raw.get() >> 4); }
49 bool to_ds()
const {
return raw.get() & 0x0100; }
50 bool from_ds()
const {
return raw.get() & 0x0200; }
51 bool more_fragments()
const {
return raw.get() & 0x0400; }
52 bool retry()
const {
return raw.get() & 0x0800; }
103static constexpr std::size_t fcs_length_bytes = 4;
115 std::uint8_t dsap = 0xAA;
116 std::uint8_t ssap = 0xAA;
117 std::uint8_t control = 0x03;
118 std::array<std::uint8_t, 3> oui = {{ 0x00, 0x00, 0x00 }};
123 static constexpr std::size_t length_bytes = 8;
144 static constexpr std::size_t length_bytes =
146 ieee802::LlcSnapHeader::length_bytes;
159bool check_fixed_fields(
const G5LinkLayer& link_layer);
AccessCategory
AccessCategory represents packet priority at link layer.
Link layer header used by ITS-G5 stations.
Frame Control field in IEEE 802.11 MAC header.
BitNumber< std::uint16_t, 2 > Protocol
static FrameControl qos_data_frame()
QoS Control field in IEEE 802.11 MAC header.
void user_priority(AccessCategory ac)
Sequence Control field in IEEE 802.11 MAC header.