senf::RadiotapPacketParser Struct Reference

#include <senf/Packets/80211Bundle/RadiotapPacket.hh>

Inheritance diagram for senf::RadiotapPacketParser:

Public Types

typedef RadiotapPacket_FlagsParser flags_t
 
typedef UInt32Parser fcs_t
 
- Public Types inherited from senf::RadiotapPacket_HeaderParser
enum  PresentIndex {
  TSFT_INDEX = 0, FLAGS_INDEX = 1, RATE_INDEX = 2, CHANNEL_INDEX = 3,
  FHSS_INDEX = 4, DBM_ANTSIGNAL_INDEX = 5, DBM_ANTNOISE_INDEX = 6, LOCK_QUALITY_INDEX = 7,
  TX_ATTENUATION_INDEX = 8, DB_TX_ATTENUATION_INDEX = 9, DBM_TX_POWER_INDEX = 10, ANTENNA_INDEX = 11,
  DB_ANTSIGNAL_INDEX = 12, DB_ANTNOISE_INDEX = 13, RX_FLAGS_INDEX = 14, TX_FLAGS_INDEX = 15,
  RTS_RETRIES_INDEX = 16, DATA_RETRIES_INDEX = 17, MCS_INDEX = 19, A_MPDU_STATUS_INDEX = 20,
  VHT_INDEX = 21, MAX_INDEX = 21, RADIOTOP_NS_INDEX = 29, VENDOR_NS_INDEX = 30,
  EXTENDED_BITMASK_INDEX = 31
}
 
enum  PresentFlag {
  TSFT_FLAG = (1<<TSFT_INDEX), FLAGS_FLAG = (1<<FLAGS_INDEX), RATE_FLAG = (1<<RATE_INDEX), CHANNEL_FLAG = (1<<CHANNEL_INDEX),
  FHSS_FLAG = (1<<FHSS_INDEX), DBM_ANTSIGNAL_FLAG = (1<<DBM_ANTSIGNAL_INDEX), DBM_ANTNOISE_FLAG = (1<<DBM_ANTNOISE_INDEX), LOCK_QUALITY_FLAG = (1<<LOCK_QUALITY_INDEX),
  TX_ATTENUATION_FLAG = (1<<TX_ATTENUATION_INDEX), DB_TX_ATTENUATION_FLAG = (1<<DB_TX_ATTENUATION_INDEX), DBM_TX_POWER_FLAG = (1<<DBM_TX_POWER_INDEX), ANTENNA_FLAG = (1<<ANTENNA_INDEX),
  DB_ANTSIGNAL_FLAG = (1<<DB_ANTSIGNAL_INDEX), DB_ANTNOISE_FLAG = (1<<DB_ANTNOISE_INDEX), RX_FLAGS_FLAG = (1<<RX_FLAGS_INDEX), TX_FLAGS_FLAG = (1<<TX_FLAGS_INDEX),
  RTS_RETRIES_FLAG = (1<<RTS_RETRIES_INDEX), DATA_RETRIES_FLAG = (1<<DATA_RETRIES_INDEX), MCS_FLAG = (1<<MCS_INDEX), A_MPDU_STATUS_FLAG = (1<<A_MPDU_STATUS_INDEX),
  VHT_FLAG = (1<<VHT_INDEX), RADIOTOP_NS_FLAG = (1<<RADIOTOP_NS_INDEX), VENDOR_NS_FLAG = (1<<VENDOR_NS_INDEX), EXTENDED_BITMASK_FLAG = (1<<EXTENDED_BITMASK_INDEX)
}
 
typedef UInt8Parser version_t
 
typedef UInt16LSBParser length_t
 
- Public Types inherited from senf::PacketParserBase
typedef detail::packet::iterator data_iterator
 Raw data iterator type. More...
 
typedef detail::packet::size_type size_type
 Unsigned integral type. More...
 
typedef detail::packet::difference_type difference_type
 Signed integral type. More...
 
typedef detail::packet::byte byte
 Unsigned 8bit value, the raw value type. More...
 
typedef PacketData * state_type
 Type of the 'state' parameter. More...
 
typedef PacketParserBase parser_base_type
 Base type of the next parser. More...
 

Public Member Functions

 RadiotapPacketParser (data_iterator i, state_type s)
 
size_type bytes () const
 
 FIELD (tsft, UInt64LSBParser, TSFT_INDEX)
 
flags_t flags (unsigned extIndex=0)
 
bool has_flags (unsigned extIndex=0)
 
bool flagsPresent (unsigned extIndex=0)
 
flags_t init_flags ()
 
void disable_flags ()
 
 FIELD (rate, UInt8Parser, RATE_INDEX)
 
 FIELD (channelOptions, RadiotapPacket_ChannelOptionsParser, CHANNEL_INDEX)
 
 FIELD (fhss, UInt16LSBParser, FHSS_INDEX)
 
 FIELD (dbmAntennaSignal, Int8Parser, DBM_ANTSIGNAL_INDEX)
 
 FIELD (dbmAntennaNoise, Int8Parser, DBM_ANTNOISE_INDEX)
 
 FIELD (lockQuality, UInt16LSBParser, LOCK_QUALITY_INDEX)
 
 FIELD (txAttenuation, UInt16LSBParser, TX_ATTENUATION_INDEX)
 
 FIELD (dbTxAttenuation, UInt16LSBParser, DB_TX_ATTENUATION_INDEX)
 
 FIELD (dbmTxAttenuation, Int8Parser, DBM_TX_POWER_INDEX)
 
 FIELD (antenna, UInt8Parser, ANTENNA_INDEX)
 
 FIELD (dbAntennaSignal, UInt8Parser, DB_ANTSIGNAL_INDEX)
 
 FIELD (dbAntennaNoise, UInt8Parser, DB_ANTNOISE_INDEX)
 
 FIELD (rxFlags, RadiotapPacket_RxFlagsParser, RX_FLAGS_INDEX)
 
 FIELD (txFlags, RadiotapPacket_TxFlagsParser, TX_FLAGS_INDEX)
 
 FIELD (rtsRetries, UInt8Parser, RTS_RETRIES_INDEX)
 
 FIELD (dataRetries, UInt8Parser, DATA_RETRIES_INDEX)
 
 FIELD (mcs, RadiotapPacket_MCSParser, MCS_INDEX)
 
 FIELD (vht, RadiotapPacket_VHTParser, VHT_INDEX)
 
 FIELD (ampduStatus, RadiotapPacket_AMPDUStatusParser, A_MPDU_STATUS_INDEX)
 
UInt32Parser fcs ()
 
bool has_fcs ()
 
UInt32Parser init_fcs ()
 
void disable_fcs ()
 
unsigned frameType ()
 
unsigned rateInKbps ()
 
unsigned bandwidth ()
 
- Public Member Functions inherited from senf::RadiotapPacket_HeaderParser
UInt8Parser version () const
 
UInt16LSBParser length () const
 
- Public Member Functions inherited from senf::PacketParserBase
data_iterator i () const
 Return beginning of data to parse. More...
 
data_iterator i (size_type offset) const
 Return iterator offset bytes from the start. More...
 
state_type state () const
 Return state of this parser. More...
 
PacketData & data () const
 Access the packets raw data container. More...
 
void init () const
 Default implementation. More...
 

Static Public Attributes

static const size_type init_bytes = RadiotapPacket_HeaderParser::fixed_bytes
 
- Static Public Attributes inherited from senf::RadiotapPacket_HeaderParser
static unsigned const FIELD_SIZE [MAX_INDEX+2]
 

Additional Inherited Members

- Protected Types inherited from senf::RadiotapPacket_HeaderParser
typedef UInt32LSBParser presentFlags_t
 
typedef UInt32LSBParser presentFlags_ext1_t
 
typedef UInt32LSBParser presentFlags_ext2_t
 
- Protected Member Functions inherited from senf::RadiotapPacket_HeaderParser
UInt32LSBParser presentFlags () const
 
UInt32LSBParser presentFlags_ext1 () const
 
UInt32LSBParser presentFlags_ext2 () const
 
- Protected Member Functions inherited from senf::PacketParserBase
ParserProtector protect () const
 
 PacketParserBase (data_iterator i, state_type s)
 Standard constructor. More...
 
 PacketParserBase (data_iterator i, state_type s, size_type size)
 Size checking constructor. More...
 
bool check (size_type size) const
 Check size of data container. More...
 
void validate (size_type size) const
 Validate size of data container. More...
 
template<class Parser >
Parser parse (data_iterator i) const
 Create sub-parser. More...
 
template<class Parser , class Arg >
Parser parse (Arg const &arg, data_iterator i) const
 Create sub-parser. More...
 
template<class Parser >
Parser parse (size_type n) const
 Create sub-parser. More...
 
template<class Parser , class Arg >
Parser parse (Arg const &arg, size_type n) const
 Create sub-parser. More...
 
void defaultInit () const
 Default implementation. More...
 
Packet packet () const
 Get packet this parser is parsing from. More...
 
void resize (size_type oldSize, size_type newSize)
 Resize data container. More...
 

Detailed Description

Definition at line 292 of file RadiotapPacket.hh.

Member Typedef Documentation

◆ fcs_t

◆ flags_t

Constructor & Destructor Documentation

◆ RadiotapPacketParser()

senf::RadiotapPacketParser::RadiotapPacketParser ( data_iterator  i,
state_type  s 
)

Member Function Documentation

◆ bandwidth()

unsigned senf::RadiotapPacketParser::bandwidth ( )

Definition at line 205 of file RadiotapPacket.cc.

◆ bytes()

size_type senf::RadiotapPacketParser::bytes ( ) const

◆ disable_fcs()

void senf::RadiotapPacketParser::disable_fcs ( )

Definition at line 111 of file RadiotapPacket.cc.

◆ disable_flags()

void senf::RadiotapPacketParser::disable_flags ( )
inline

Definition at line 318 of file RadiotapPacket.hh.

◆ fcs()

UInt32Parser senf::RadiotapPacketParser::fcs ( )

◆ FIELD() [1/20]

senf::RadiotapPacketParser::FIELD ( tsft  ,
UInt64LSBParser  ,
TSFT_INDEX   
)

◆ FIELD() [2/20]

senf::RadiotapPacketParser::FIELD ( rate  ,
UInt8Parser  ,
RATE_INDEX   
)

◆ FIELD() [3/20]

senf::RadiotapPacketParser::FIELD ( channelOptions  ,
RadiotapPacket_ChannelOptionsParser  ,
CHANNEL_INDEX   
)

◆ FIELD() [4/20]

senf::RadiotapPacketParser::FIELD ( fhss  ,
UInt16LSBParser  ,
FHSS_INDEX   
)

◆ FIELD() [5/20]

senf::RadiotapPacketParser::FIELD ( dbmAntennaSignal  ,
Int8Parser  ,
DBM_ANTSIGNAL_INDEX   
)

◆ FIELD() [6/20]

senf::RadiotapPacketParser::FIELD ( dbmAntennaNoise  ,
Int8Parser  ,
DBM_ANTNOISE_INDEX   
)

◆ FIELD() [7/20]

senf::RadiotapPacketParser::FIELD ( lockQuality  ,
UInt16LSBParser  ,
LOCK_QUALITY_INDEX   
)

◆ FIELD() [8/20]

senf::RadiotapPacketParser::FIELD ( txAttenuation  ,
UInt16LSBParser  ,
TX_ATTENUATION_INDEX   
)

◆ FIELD() [9/20]

senf::RadiotapPacketParser::FIELD ( dbTxAttenuation  ,
UInt16LSBParser  ,
DB_TX_ATTENUATION_INDEX   
)

◆ FIELD() [10/20]

senf::RadiotapPacketParser::FIELD ( dbmTxAttenuation  ,
Int8Parser  ,
DBM_TX_POWER_INDEX   
)

◆ FIELD() [11/20]

senf::RadiotapPacketParser::FIELD ( antenna  ,
UInt8Parser  ,
ANTENNA_INDEX   
)

◆ FIELD() [12/20]

senf::RadiotapPacketParser::FIELD ( dbAntennaSignal  ,
UInt8Parser  ,
DB_ANTSIGNAL_INDEX   
)

◆ FIELD() [13/20]

senf::RadiotapPacketParser::FIELD ( dbAntennaNoise  ,
UInt8Parser  ,
DB_ANTNOISE_INDEX   
)

◆ FIELD() [14/20]

senf::RadiotapPacketParser::FIELD ( rxFlags  ,
RadiotapPacket_RxFlagsParser  ,
RX_FLAGS_INDEX   
)

◆ FIELD() [15/20]

senf::RadiotapPacketParser::FIELD ( txFlags  ,
RadiotapPacket_TxFlagsParser  ,
TX_FLAGS_INDEX   
)

◆ FIELD() [16/20]

senf::RadiotapPacketParser::FIELD ( rtsRetries  ,
UInt8Parser  ,
RTS_RETRIES_INDEX   
)

◆ FIELD() [17/20]

senf::RadiotapPacketParser::FIELD ( dataRetries  ,
UInt8Parser  ,
DATA_RETRIES_INDEX   
)

◆ FIELD() [18/20]

senf::RadiotapPacketParser::FIELD ( mcs  ,
RadiotapPacket_MCSParser  ,
MCS_INDEX   
)

◆ FIELD() [19/20]

senf::RadiotapPacketParser::FIELD ( vht  ,
RadiotapPacket_VHTParser  ,
VHT_INDEX   
)

◆ FIELD() [20/20]

senf::RadiotapPacketParser::FIELD ( ampduStatus  ,
RadiotapPacket_AMPDUStatusParser  ,
A_MPDU_STATUS_INDEX   
)

◆ flags()

flags_t senf::RadiotapPacketParser::flags ( unsigned  extIndex = 0)
inline

Definition at line 314 of file RadiotapPacket.hh.

◆ flagsPresent()

bool senf::RadiotapPacketParser::flagsPresent ( unsigned  extIndex = 0)
inline

Definition at line 316 of file RadiotapPacket.hh.

◆ frameType()

unsigned senf::RadiotapPacketParser::frameType ( )

◆ has_fcs()

bool senf::RadiotapPacketParser::has_fcs ( )

◆ has_flags()

bool senf::RadiotapPacketParser::has_flags ( unsigned  extIndex = 0)
inline

Definition at line 315 of file RadiotapPacket.hh.

◆ init_fcs()

senf::UInt32Parser senf::RadiotapPacketParser::init_fcs ( )

Definition at line 102 of file RadiotapPacket.cc.

◆ init_flags()

flags_t senf::RadiotapPacketParser::init_flags ( )
inline

Definition at line 317 of file RadiotapPacket.hh.

◆ rateInKbps()

unsigned senf::RadiotapPacketParser::rateInKbps ( )

Definition at line 193 of file RadiotapPacket.cc.

Member Data Documentation

◆ init_bytes

const size_type senf::RadiotapPacketParser::init_bytes = RadiotapPacket_HeaderParser::fixed_bytes
static

Definition at line 296 of file RadiotapPacket.hh.


The documentation for this struct was generated from the following files: