RadiotapPacket.cc File Reference
#include "RadiotapPacket.hh"
#include <memory.h>
#include <endian.h>
#include <boost/io/ios_state.hpp>
#include "WLANPacket.hh"
#include "MCSInfo.hh"
#include <byteswap.h>
#include <arpa/inet.h>
#include "radiotap/radiotap_iter.h"
Include dependency graph for RadiotapPacket.cc:

Go to the source code of this file.

Macros

#define htole32(x)   (bswap_32(htonl(x)))
 
#define le32toh(x)   (ntohl(bswap_32(x)))
 
#define MHZ_TO_KHZ(freq)   ((freq) * 1000)
 
#define ARRAY_SIZE(arr)   (sizeof(arr) / sizeof(arr[0]))
 
#define prefix_
 
#define FIELD(name, sign, desc)
 
#define ENTER(name)
 
#define SUBFIELD(name, sign, desc)   os << senf::fieldName(desc) << sign(subparser.name()) << '\n';
 
#define LEAVE()   }
 
#define START_FLAGS(desc)   os << senf::fieldName(desc);
 
#define FLAG(name, desc)   if (subparser.name()) os << desc " "
 
#define END_FLAGS()   os << '\n';
 
#define MCS_FLAG(name, desc, longDesc)
 
#define VHT_FLAG(name, desc, longDesc)
 

Functions

 SENF_PACKET_INSTANTIATE_TEMPLATE (senf::RadiotapPacket)
 

Macro Definition Documentation

◆ ARRAY_SIZE

#define ARRAY_SIZE (   arr)    (sizeof(arr) / sizeof(arr[0]))

Definition at line 37 of file RadiotapPacket.cc.

◆ END_FLAGS

#define END_FLAGS ( )    os << '\n';

◆ ENTER

#define ENTER (   name)
Value:
if (p->name ## Present()) { \
packet::Parser::name ## _t subparser (p->name());

◆ FIELD

#define FIELD (   name,
  sign,
  desc 
)
Value:
if (p->name ## Present()) \
os << senf::fieldName(desc) << sign(p->name()) << '\n';
std::string fieldName(std::string const &s)
Definition: DumpFormat.cc:28

◆ FLAG

#define FLAG (   name,
  desc 
)    if (subparser.name()) os << desc " "

◆ htole32

#define htole32 (   x)    (bswap_32(htonl(x)))

Definition at line 28 of file RadiotapPacket.cc.

◆ le32toh

#define le32toh (   x)    (ntohl(bswap_32(x)))

Definition at line 29 of file RadiotapPacket.cc.

◆ LEAVE

#define LEAVE ( )    }

◆ MCS_FLAG

#define MCS_FLAG (   name,
  desc,
  longDesc 
)
Value:
if (subparser.name ## Known()) { \
os << senf::fieldName(" " desc) << unsigned(subparser.name()); \
if (longDesc) \
os << " (" << MCS ## name ## Desc[subparser.name()] << ")"; \
os << "\n"; }
std::string fieldName(std::string const &s)
Definition: DumpFormat.cc:28
unspecified_keyword_type name

◆ MHZ_TO_KHZ

#define MHZ_TO_KHZ (   freq)    ((freq) * 1000)

Definition at line 36 of file RadiotapPacket.cc.

◆ prefix_

#define prefix_

Definition at line 40 of file RadiotapPacket.cc.

◆ START_FLAGS

#define START_FLAGS (   desc)    os << senf::fieldName(desc);

◆ SUBFIELD

#define SUBFIELD (   name,
  sign,
  desc 
)    os << senf::fieldName(desc) << sign(subparser.name()) << '\n';

◆ VHT_FLAG

#define VHT_FLAG (   name,
  desc,
  longDesc 
)
Value:
if (subparser.name ## Known()) { \
os << senf::fieldName(" " desc) << unsigned(subparser.name()); \
if (longDesc) \
os << " (" << VHT ## name ## Desc[subparser.name()] << ")"; \
os << "\n"; }
std::string fieldName(std::string const &s)
Definition: DumpFormat.cc:28
unspecified_keyword_type name

Function Documentation

◆ SENF_PACKET_INSTANTIATE_TEMPLATE()

SENF_PACKET_INSTANTIATE_TEMPLATE ( senf::RadiotapPacket  )