X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2F80211Bundle%2FRadiotapPacket.cci;h=8351b62cf3a573f8efa5a9767d031497519d5030;hb=57daeae6f2e924ce3f16f9677c3474f531cba9e5;hp=2164b40a001dffbde2c218cbca9fa84edbc169b6;hpb=01e8fa6cf173c60c3deb47c29c6d56718ef9548e;p=senf.git diff --git a/senf/Packets/80211Bundle/RadiotapPacket.cci b/senf/Packets/80211Bundle/RadiotapPacket.cci index 2164b40..8351b62 100644 --- a/senf/Packets/80211Bundle/RadiotapPacket.cci +++ b/senf/Packets/80211Bundle/RadiotapPacket.cci @@ -28,19 +28,24 @@ // Custom includes #define prefix_ inline -///////////////////////////////cci.p/////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::RadiotapPacketParser prefix_ senf::RadiotapPacketParser::RadiotapPacketParser(data_iterator i, state_type s) : RadiotapPacketParser_Header(i,s) -{} +{ + OffsetTable & table (offsetTable(presentFlags())); + if (! table[MAX_INDEX+1]) + parseOffsetTable(&(*data().begin()), data().size(), table); + currentTable_ = &table; +} prefix_ senf::RadiotapPacketParser::size_type senf::RadiotapPacketParser::bytes() const { - return calculateSize(); + return length(); } prefix_ senf::UInt32Parser senf::RadiotapPacketParser::fcs() @@ -58,7 +63,7 @@ prefix_ unsigned senf::RadiotapPacketParser::frameType() { return parse(length()).frameType(); } -//////////////////////////////////////// +//-///////////////////////////////////////////////////////////////////////////////////////////////// // private members prefix_ void senf::RadiotapPacketParser::initField(unsigned index) @@ -77,7 +82,14 @@ prefix_ senf::RadiotapPacketParser::size_type senf::RadiotapPacketParser::calcul return currentTable()[MAX_INDEX+1]; } -///////////////////////////////cci.e/////////////////////////////////////// +prefix_ senf::RadiotapPacketParser::OffsetTable const & +senf::RadiotapPacketParser::currentTable() + const +{ + return *currentTable_; +} + +//-///////////////////////////////////////////////////////////////////////////////////////////////// #undef prefix_