X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2F80211Bundle%2FWLANPacket.hh;h=b5c2de947e3b5cf79c3b24905d37c8df40dbb0b9;hb=975639608e44e49058ccd52f05ffe6b21faeafef;hp=b406a94f522dd476dc0ff607b99e039b1f2a756a;hpb=26610f603ebdd465307b9621f532c1fe19fd5571;p=senf.git diff --git a/senf/Packets/80211Bundle/WLANPacket.hh b/senf/Packets/80211Bundle/WLANPacket.hh index b406a94..b5c2de9 100644 --- a/senf/Packets/80211Bundle/WLANPacket.hh +++ b/senf/Packets/80211Bundle/WLANPacket.hh @@ -30,6 +30,8 @@ #include #include +///////////////////////////////hh.p//////////////////////////////////////// + namespace senf { @@ -39,7 +41,7 @@ namespace senf Frame base class. */ - struct WLANPacketParser : public senf::PacketParserBase + struct WLANPacketParser : public PacketParserBase { # include SENF_PARSER() @@ -91,12 +93,14 @@ namespace senf boost::uint16_t sequenceNumber() const { return (uint16_t)(seqNumber_2()) << 4 | seqNumber_1(); }; + + void sequenceNumber(boost::uint16_t sn); }; /** \brief WLAN Management frame packet \par Packet type (typedef): - \refWLANPacket_MgtFrame + \ref WLANPacket_MgtFrame \par Fields: \ref WLANPacket_MgtFrameParser @@ -105,20 +109,23 @@ namespace senf \ingroup protocolbundle_80211 */ struct WLANPacket_MgtFrameType - : public senf::PacketTypeBase, - public senf::PacketTypeMixin + : public PacketTypeBase, + public PacketTypeMixin { - typedef senf::PacketTypeMixin mixin; - typedef senf::ConcretePacket packet; + typedef PacketTypeMixin mixin; + typedef ConcretePacket packet; typedef WLANPacket_MgtFrameParser parser; using mixin::init; using mixin::initSize; - using senf::PacketTypeBase::nextPacketRange; + using PacketTypeBase::nextPacketRange; static void dump(packet p, std::ostream &os); }; + /** \brief WLAN Management frame packet typedef + \ingroup protocolbundle_80211 + */ typedef WLANPacket_MgtFrameType::packet WLANPacket_MgtFrame; /////////////////////////////////////////////////////////////////////////// @@ -134,7 +141,7 @@ namespace senf SENF_PARSER_INHERIT(WLANPacketParser); - SENF_PARSER_FIELD ( receiverAddress, MACAddressParser ); + SENF_PARSER_FIELD ( receiverAddress, MACAddressParser ); //only RTS frame contains a source address field //variant is also needed to set correct subtype value @@ -160,20 +167,23 @@ namespace senf \ingroup protocolbundle_80211 */ struct WLANPacket_CtrlFrameType - : public senf::PacketTypeBase, - public senf::PacketTypeMixin + : public PacketTypeBase, + public PacketTypeMixin { - typedef senf::PacketTypeMixin mixin; - typedef senf::ConcretePacket packet; + typedef PacketTypeMixin mixin; + typedef ConcretePacket packet; typedef WLANPacket_CtrlFrameParser parser; using mixin::init; using mixin::initSize; - using senf::PacketTypeBase::nextPacketRange; + using PacketTypeBase::nextPacketRange; static void dump(packet p, std::ostream &os); }; + /** \brief WLAN Control frame packet typedef + \ingroup protocolbundle_80211 + */ typedef WLANPacket_CtrlFrameType::packet WLANPacket_CtrlFrame; /////////////////////////////////////////////////////////////////////////// @@ -205,6 +215,8 @@ namespace senf boost::uint16_t sequenceNumber() const { return (uint16_t)(seqNumber_2()) << 4 | seqNumber_1(); }; + + void sequenceNumber(boost::uint16_t sn); // TODO fourth address field in case of WDS // SENF_PARSER_PRIVATE_VARIANT (wds_, dsBits, @@ -244,11 +256,11 @@ namespace senf \ingroup protocolbundle_80211 */ struct WLANPacket_DataFrameType - : public senf::PacketTypeBase, - public senf::PacketTypeMixin + : public PacketTypeBase, + public PacketTypeMixin { - typedef senf::PacketTypeMixin mixin; - typedef senf::ConcretePacket packet; + typedef PacketTypeMixin mixin; + typedef ConcretePacket packet; typedef WLANPacket_DataFrameParser parser; using mixin::init; @@ -264,10 +276,17 @@ namespace senf static void dump(packet p, std::ostream &os); }; + /** \brief WLAN Data frame packet typedef + \ingroup protocolbundle_80211 + */ typedef WLANPacket_DataFrameType::packet WLANPacket_DataFrame; } -#endif /* HH_SENF_Packets_80211Bundle_WLANPacket_ */ +///////////////////////////////hh.e//////////////////////////////////////// +//#include "WLANPacket.cci" +//#include "WLANPacket.ct" +//#include "WLANPacket.cti" +#endif // Local Variables: