clang format, similar to GNU Radio
This commit is contained in:
+56
-44
@@ -17,9 +17,9 @@
|
||||
#ifndef INCLUDED_IEEE802_11_UTILS_H
|
||||
#define INCLUDED_IEEE802_11_UTILS_H
|
||||
|
||||
#include <gnuradio/config.h>
|
||||
#include <ieee802_11/api.h>
|
||||
#include <ieee802_11/mapper.h>
|
||||
#include <gnuradio/config.h>
|
||||
#include <cinttypes>
|
||||
#include <iostream>
|
||||
|
||||
@@ -28,57 +28,64 @@
|
||||
#define MAX_SYM (((16 + 8 * MAX_PSDU_SIZE + 6) / 24) + 1)
|
||||
#define MAX_ENCODED_BITS ((16 + 8 * MAX_PSDU_SIZE + 6) * 2 + 288)
|
||||
|
||||
#define dout d_debug && std::cout
|
||||
#define mylog(msg) do { if(d_log) { GR_LOG_INFO(d_logger, msg); }} while(0);
|
||||
#define dout d_debug&& std::cout
|
||||
#define mylog(msg) \
|
||||
do { \
|
||||
if (d_log) { \
|
||||
GR_LOG_INFO(d_logger, msg); \
|
||||
} \
|
||||
} while (0);
|
||||
|
||||
struct mac_header {
|
||||
//protocol version, type, subtype, to_ds, from_ds, ...
|
||||
uint16_t frame_control;
|
||||
uint16_t duration;
|
||||
uint8_t addr1[6];
|
||||
uint8_t addr2[6];
|
||||
uint8_t addr3[6];
|
||||
uint16_t seq_nr;
|
||||
}__attribute__((packed));
|
||||
// protocol version, type, subtype, to_ds, from_ds, ...
|
||||
uint16_t frame_control;
|
||||
uint16_t duration;
|
||||
uint8_t addr1[6];
|
||||
uint8_t addr2[6];
|
||||
uint8_t addr3[6];
|
||||
uint16_t seq_nr;
|
||||
} __attribute__((packed));
|
||||
|
||||
/**
|
||||
* WIFI parameters
|
||||
*/
|
||||
class ofdm_param {
|
||||
class ofdm_param
|
||||
{
|
||||
public:
|
||||
ofdm_param(Encoding e);
|
||||
ofdm_param(Encoding e);
|
||||
|
||||
// data rate
|
||||
Encoding encoding;
|
||||
// rate field of the SIGNAL header
|
||||
char rate_field;
|
||||
// number of coded bits per sub carrier
|
||||
int n_bpsc;
|
||||
// number of coded bits per OFDM symbol
|
||||
int n_cbps;
|
||||
// number of data bits per OFDM symbol
|
||||
int n_dbps;
|
||||
// data rate
|
||||
Encoding encoding;
|
||||
// rate field of the SIGNAL header
|
||||
char rate_field;
|
||||
// number of coded bits per sub carrier
|
||||
int n_bpsc;
|
||||
// number of coded bits per OFDM symbol
|
||||
int n_cbps;
|
||||
// number of data bits per OFDM symbol
|
||||
int n_dbps;
|
||||
|
||||
void print();
|
||||
void print();
|
||||
};
|
||||
|
||||
/**
|
||||
* packet specific parameters
|
||||
*/
|
||||
class frame_param {
|
||||
class frame_param
|
||||
{
|
||||
public:
|
||||
frame_param(ofdm_param &ofdm, int psdu_length);
|
||||
// PSDU size in bytes
|
||||
int psdu_size;
|
||||
// number of OFDM symbols (17-11)
|
||||
int n_sym;
|
||||
// number of padding bits in the DATA field (17-13)
|
||||
int n_pad;
|
||||
int n_encoded_bits;
|
||||
// number of data bits, including service and padding (17-12)
|
||||
int n_data_bits;
|
||||
frame_param(ofdm_param& ofdm, int psdu_length);
|
||||
// PSDU size in bytes
|
||||
int psdu_size;
|
||||
// number of OFDM symbols (17-11)
|
||||
int n_sym;
|
||||
// number of padding bits in the DATA field (17-13)
|
||||
int n_pad;
|
||||
int n_encoded_bits;
|
||||
// number of data bits, including service and padding (17-12)
|
||||
int n_data_bits;
|
||||
|
||||
void print();
|
||||
void print();
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -93,20 +100,25 @@ public:
|
||||
* will be stored
|
||||
* \param seq sequence number of the frame
|
||||
*/
|
||||
void generate_mac_data_frame(const char *msdu, int msdu_size, char **psdu, int *psdu_size, char seq);
|
||||
void generate_mac_data_frame(
|
||||
const char* msdu, int msdu_size, char** psdu, int* psdu_size, char seq);
|
||||
|
||||
void scramble(const char *input, char *out, frame_param &frame, char initial_state);
|
||||
void scramble(const char* input, char* out, frame_param& frame, char initial_state);
|
||||
|
||||
void reset_tail_bits(char *scrambled_data, frame_param &frame);
|
||||
void reset_tail_bits(char* scrambled_data, frame_param& frame);
|
||||
|
||||
void convolutional_encoding(const char *input, char *out, frame_param &frame);
|
||||
void convolutional_encoding(const char* input, char* out, frame_param& frame);
|
||||
|
||||
void puncturing(const char *input, char *out, frame_param &frame, ofdm_param &ofdm);
|
||||
void puncturing(const char* input, char* out, frame_param& frame, ofdm_param& ofdm);
|
||||
|
||||
void interleave(const char *input, char *out, frame_param &frame, ofdm_param &ofdm, bool reverse = false);
|
||||
void interleave(const char* input,
|
||||
char* out,
|
||||
frame_param& frame,
|
||||
ofdm_param& ofdm,
|
||||
bool reverse = false);
|
||||
|
||||
void split_symbols(const char *input, char *out, frame_param &frame, ofdm_param &ofdm);
|
||||
void split_symbols(const char* input, char* out, frame_param& frame, ofdm_param& ofdm);
|
||||
|
||||
void generate_bits(const char *psdu, char *data_bits, frame_param &frame);
|
||||
void generate_bits(const char* psdu, char* data_bits, frame_param& frame);
|
||||
|
||||
#endif /* INCLUDED_IEEE802_11_UTILS_H */
|
||||
|
||||
Reference in New Issue
Block a user