ETSI STF525 / Internal Testing test suite
This project provides an internal testing test suite and its associated Test Adapter/Codec
commsignia_layer.hh
Go to the documentation of this file.
1 
11 #pragma once
12 
13 #include "t_layer.hh"
14 #include "Params.hh"
15 
16 class OCTETSTRING;
17 
22 class commsignia_layer : public layer {
23  static constexpr unsigned char LL_ADDR_LENGTH = 6;
24  static constexpr unsigned char LL_ORG_CODE_LENGTH = 3;
25 
29  typedef struct {
30  unsigned char version;
31  unsigned int timestamp_sec;
32  unsigned int timestamp_msec;
33  unsigned char primary_channel;
34  unsigned char secondary_channel;
35  unsigned char used_iface;
36  unsigned char data_rate;
37  unsigned char antenna;
38  unsigned int latitude;
39  unsigned int longitude;
40  unsigned short speed;
41  unsigned short heading;
42  unsigned char rssi_ant1;
43  unsigned char rssi_ant2;
44  unsigned char noise_ant1;
45  unsigned char noise_ant2;
46  unsigned short cbr_ant1;
47  unsigned short cbr_ant2;
48  } __attribute__((__packed__)) c2p_recv;
49 
53  typedef struct {
54  unsigned short frame_ctrl;
55  unsigned short duration;
56  unsigned char dst_addr[commsignia_layer::LL_ADDR_LENGTH];
57  unsigned char src_addr[commsignia_layer::LL_ADDR_LENGTH];
58  unsigned char bss_id[commsignia_layer::LL_ADDR_LENGTH];
59  unsigned short fragment_seq_num;
60  } __attribute__((__packed__)) c2p_802_11p_hdr;
61 
62  typedef unsigned short c2p_qos_ctrl;
63 
67  typedef struct {
68  unsigned char dsap;
69  unsigned char ssap;
70  unsigned char ctrl;
71  unsigned char org_code[commsignia_layer::LL_ORG_CODE_LENGTH];
72  unsigned short type;
73  } __attribute__((__packed__)) c2p_llc_hdr;
74 
76  c2p_recv _c2p_recv;
77  c2p_802_11p_hdr _802_11p_hdr;
78  c2p_llc_hdr _c2p_llc_hdr;
79  std::vector<unsigned char> _mac_src;
80  std::vector<unsigned char> _eth_type;
81 
82 public:
84 
90  commsignia_layer(const std::string & p_type, const std::string & param);
95  virtual ~commsignia_layer() {};
96 
97  virtual void send_data(OCTETSTRING& data, Params& params);
98  virtual void receive_data(OCTETSTRING& data, Params& info);
99 }; // End of class commsignia_layer
unsigned short type
Definition: commsignia_layer.hh:72
unsigned char version
Definition: commsignia_layer.hh:30
unsigned char ctrl
Definition: commsignia_layer.hh:70
std::vector< unsigned char > _eth_type
Used to optimize filtering on source mac address in.
Definition: commsignia_layer.hh:80
Definition: commsignia_layer.hh:29
Forward declaration of TITAN class.
Definition: layer.hh:29
unsigned short c2p_qos_ctrl
Definition: commsignia_layer.hh:62
unsigned char noise_ant1
Definition: commsignia_layer.hh:44
Params _params
Definition: commsignia_layer.hh:75
unsigned short cbr_ant1
Definition: commsignia_layer.hh:46
unsigned int timestamp_msec
Definition: commsignia_layer.hh:32
unsigned short fragment_seq_num
Definition: commsignia_layer.hh:59
Header file for the parameter dictionary.
unsigned char primary_channel
Definition: commsignia_layer.hh:33
unsigned short frame_ctrl
Definition: commsignia_layer.hh:54
virtual void receive_data(OCTETSTRING &data, Params &info)
Receive bytes formated data from the lower layers.
Definition: commsignia_layer.cc:42
unsigned char antenna
Definition: commsignia_layer.hh:37
commsignia_layer(const std::string &p_type, const std::string &param)
Used to optimize filtering on ethernet type in.
Definition: commsignia_layer.cc:11
unsigned char ssap
Definition: commsignia_layer.hh:69
unsigned char noise_ant2
Definition: commsignia_layer.hh:45
unsigned char used_iface
Definition: commsignia_layer.hh:35
unsigned char rssi_ant2
Definition: commsignia_layer.hh:43
This class provides basic functionalities for an ITS dictionary.
Definition: Params.hh:21
virtual ~commsignia_layer()
Default destructor.
Definition: commsignia_layer.hh:95
unsigned short duration
Definition: commsignia_layer.hh:55
unsigned char dsap
Definition: commsignia_layer.hh:68
c2p_802_11p_hdr _802_11p_hdr
Definition: commsignia_layer.hh:77
unsigned int latitude
Definition: commsignia_layer.hh:38
virtual void send_data(OCTETSTRING &data, Params &params)
Send bytes formated data to the lower layers.
Definition: commsignia_layer.cc:37
unsigned char rssi_ant1
Definition: commsignia_layer.hh:42
std::vector< unsigned char > _mac_src
Definition: commsignia_layer.hh:79
static constexpr unsigned char LL_ORG_CODE_LENGTH
Definition: commsignia_layer.hh:24
Forward declaration of TITAN class.
Definition: commsignia_layer.hh:22
c2p_llc_hdr _c2p_llc_hdr
Definition: commsignia_layer.hh:78
static constexpr unsigned char LL_ADDR_LENGTH
Definition: commsignia_layer.hh:23
unsigned char secondary_channel
Definition: commsignia_layer.hh:34
unsigned int longitude
Definition: commsignia_layer.hh:39
unsigned short speed
Definition: commsignia_layer.hh:40
unsigned char data_rate
Definition: commsignia_layer.hh:36
unsigned int timestamp_sec
Definition: commsignia_layer.hh:31
unsigned short cbr_ant2
Definition: commsignia_layer.hh:47
Header file for ITS abstract protocol layer definition.
unsigned short heading
Definition: commsignia_layer.hh:41
c2p_recv _c2p_recv
Layer parameters.
Definition: commsignia_layer.hh:76