diff --git a/Packets/80211Bundle/WLANPacket.cc b/Packets/80211Bundle/WLANPacket.cc index c4c6512590a16197fa82578d2616a1498267ef3e..2f1c1481d9153e09511807b8cec115f490b7d273 100644 --- a/Packets/80211Bundle/WLANPacket.cc +++ b/Packets/80211Bundle/WLANPacket.cc @@ -81,27 +81,6 @@ prefix_ senf::MACAddressParser senf::WLANPacket_DataFrameParser::bssid() return addr1(); } -//shift some bits to read the 12bit sequence number bit field in LSB byte order -prefix_ boost::uint16_t senf::WLANPacket_MgtFrameParser::sequenceNumber() - const -{ - boost::uint16_t seqN = 0; - seqN |= seqNumber_2(); - seqN <<= 4; - seqN |= seqNumber_1(); - return seqN; -} - -//shift some bits to read the 12bit sequence number bit field in LSB byte order -prefix_ boost::uint16_t senf::WLANPacket_DataFrameParser::sequenceNumber() - const -{ - boost::uint16_t seqN = 0; - seqN |= seqNumber_2(); - seqN <<= 4; - seqN |= seqNumber_1(); - return seqN; -} prefix_ void senf::WLANPacketType::dump(packet p, std::ostream &os) { diff --git a/Packets/80211Bundle/WLANPacket.hh b/Packets/80211Bundle/WLANPacket.hh index 52c71b53d0a70c47bf616c95d6f657790ca20f08..3138826198e38d07f7e3bb1c4e50ff6b2db7ac8a 100644 --- a/Packets/80211Bundle/WLANPacket.hh +++ b/Packets/80211Bundle/WLANPacket.hh @@ -58,7 +58,9 @@ namespace senf //this is needed due to the goto in the WLANPacketParser. Don't know exactly why yet. SENF_PARSER_INIT() {} - boost::uint16_t sequenceNumber() const; + boost::uint16_t sequenceNumber() const { + return (uint16_t)(seqNumber_2()) << 4 | seqNumber_1(); + }; }; /** \brief Control frame parser @@ -136,7 +138,9 @@ namespace senf //this is needed to due to the goto in the WLANPacketParser. Don't know exactly why yet. SENF_PARSER_INIT() {} - boost::uint16_t sequenceNumber() const; + boost::uint16_t sequenceNumber() const { + return (uint16_t)(seqNumber_2()) << 4 | seqNumber_1(); + }; MACAddressParser receiverAddress() const { return addr1(); }; //ra is always addr1 MACAddressParser transmitterAddress() const { return addr2(); }; //ta is always addr2