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 PacketDatastate_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...
 
PacketDatadata () 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: