senf::RadiotapPacketParser_Header Struct Reference

Parse an Radiotap header. More...

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

Inheritance diagram for senf::RadiotapPacketParser_Header:
Inheritance graph
[legend]

List of all members.


Detailed Description

Parse an Radiotap header.

Parser implementing the Radiotap header

Radiotap requires that all fields in the radiotap header are aligned to natural boundaries. For radiotap, that means all 8-, 16-, 32-, and 64-bit fields must begin on 8-, 16-, 32-, and 64-bit boundaries, respectively. In this way, generators and parsers can avoid unaligned accesses to radiotap capture fields. Radiotap-compliant generators must insert padding before a capture field to ensure its natural alignment.

See also:
Radiotap.org
Todo:
extended present field (bit 31 of present field is set)

Definition at line 126 of file RadiotapPacket.hh.


Public Types

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, MAX_INDEX = 17, 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), 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 Member Functions

UInt8Parser  version () const
UInt16LSBParser  length () const

Static Public Attributes

static unsigned const  FIELD_SIZE [MAX_INDEX+2]

Protected Types

typedef UInt32LSBParser  presentFlags_t

Protected Member Functions

UInt32LSBParser  presentFlags () const

Member Typedef Documentation

typedef UInt16LSBParser senf::RadiotapPacketParser_Header::
length_t

Definition at line 136 of file RadiotapPacket.hh.

typedef UInt8Parser senf::RadiotapPacketParser_Header::
version_t

Definition at line 133 of file RadiotapPacket.hh.


Member Enumeration Documentation

enum senf::RadiotapPacketParser_Header::
PresentFlag
Enumerator:
TSFT_FLAG 
FLAGS_FLAG 
RATE_FLAG 
CHANNEL_FLAG 
FHSS_FLAG 
DBM_ANTSIGNAL_FLAG 
DBM_ANTNOISE_FLAG 
LOCK_QUALITY_FLAG 
TX_ATTENUATION_FLAG 
DB_TX_ATTENUATION_FLAG 
DBM_TX_POWER_FLAG 
ANTENNA_FLAG 
DB_ANTSIGNAL_FLAG 
DB_ANTNOISE_FLAG 
RX_FLAGS_FLAG 
TX_FLAGS_FLAG 
RTS_RETRIES_FLAG 
DATA_RETRIES_FLAG 
RADIOTOP_NS_FLAG 
VENDOR_NS_FLAG 
EXTENDED_BITMASK_FLAG 

Definition at line 171 of file RadiotapPacket.hh.

enum senf::RadiotapPacketParser_Header::
PresentIndex
Enumerator:
TSFT_INDEX 
FLAGS_INDEX 
RATE_INDEX 
CHANNEL_INDEX 
FHSS_INDEX 
DBM_ANTSIGNAL_INDEX 
DBM_ANTNOISE_INDEX 
LOCK_QUALITY_INDEX 
TX_ATTENUATION_INDEX 
DB_TX_ATTENUATION_INDEX 
DBM_TX_POWER_INDEX 
ANTENNA_INDEX 
DB_ANTSIGNAL_INDEX 
DB_ANTNOISE_INDEX 
RX_FLAGS_INDEX 
TX_FLAGS_INDEX 
RTS_RETRIES_INDEX 
DATA_RETRIES_INDEX 
MAX_INDEX 
RADIOTOP_NS_INDEX 
VENDOR_NS_INDEX 
EXTENDED_BITMASK_INDEX 

Definition at line 142 of file RadiotapPacket.hh.


Member Function Documentation

UInt16LSBParser senf::RadiotapPacketParser_Header::
length ()

UInt32LSBParser senf::RadiotapPacketParser_Header::
presentFlags ()

UInt8Parser senf::RadiotapPacketParser_Header::
version ()

Member Data Documentation

Initial value:

 {
    8, 1, 1, 4, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 1 }

Definition at line 196 of file RadiotapPacket.hh.


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