X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2F80211Bundle%2FWLANPacket.cc;h=141dcd1c60112d30782fdee3b0a93a8a5f7a9d27;hb=9bc655e14d2d8c204ed835896cb51e42d49bd68f;hp=013f645895c97e889a4493b93d8779308e66cc5c;hpb=5a7344d1bc318ab9105b71d65a0cc86337dcd4d5;p=senf.git diff --git a/senf/Packets/80211Bundle/WLANPacket.cc b/senf/Packets/80211Bundle/WLANPacket.cc index 013f645..141dcd1 100644 --- a/senf/Packets/80211Bundle/WLANPacket.cc +++ b/senf/Packets/80211Bundle/WLANPacket.cc @@ -26,7 +26,6 @@ //#include "WLANPacket.ih" // Custom includes -#include #include #define prefix_ @@ -49,13 +48,19 @@ namespace { if ( p.order() ) os << " order"; if ( !(p.toDS() || p.fromDS() || p.moreFrag() || p.retry() || p.pwrMgt() || - p.moreData() || p.protectedFrame() || p.order()) ) + p.moreData() || p.protectedFrame() || p.order()) ) os << " none"; os << "\n" << " duration : " << unsigned(p.duration()) << "\n"; } } +prefix_ void senf::WLANPacket_MgtFrameParser::sequenceNumber(boost::uint16_t sn) +{ + seqNumber_2() = 0u | (sn >> 4 ) ; + seqNumber_1() = 0u | sn; +} + prefix_ void senf::WLANPacket_MgtFrameType::dump(packet p, std::ostream &os) { boost::io::ios_all_saver ias(os); @@ -78,14 +83,21 @@ prefix_ void senf::WLANPacket_CtrlFrameType::dump(packet p, std::ostream &os) os << senf::fieldName("source") << p->sourceAddress() << "\n"; } +prefix_ void senf::WLANPacket_DataFrameParser::sequenceNumber(boost::uint16_t sn) +{ + seqNumber_2() = 0u | (sn >> 4 ) ; + seqNumber_1() = 0u | sn; +} + + prefix_ senf::MACAddressParser senf::WLANPacket_DataFrameParser::destinationAddress() const { switch (dsBits()) { case 0 : - case 2 : + case 2 : return addr1(); - default: + default: return addr3(); } } @@ -99,7 +111,7 @@ prefix_ senf::MACAddressParser senf::WLANPacket_DataFrameParser::sourceAddress() return addr2(); // TODO wds frames // case 3 : return addr4(); - default: + default: return addr3(); } }