#include <senf/Packets/DefaultBundle/EthernetPacket.hh>
#include <senf/Packets/DefaultBundle/LlcSnapPacket.hh>
+///////////////////////////////hh.p////////////////////////////////////////
+
namespace senf
{
Frame base class.
*/
- struct WLANPacketParser : public senf::PacketParserBase
+ struct WLANPacketParser : public PacketParserBase
{
# include SENF_PARSER()
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
\ingroup protocolbundle_80211
*/
struct WLANPacket_MgtFrameType
- : public senf::PacketTypeBase,
- public senf::PacketTypeMixin<WLANPacket_MgtFrameType>
+ : public PacketTypeBase,
+ public PacketTypeMixin<WLANPacket_MgtFrameType>
{
- typedef senf::PacketTypeMixin<WLANPacket_MgtFrameType> mixin;
- typedef senf::ConcretePacket<WLANPacket_MgtFrameType> packet;
+ typedef PacketTypeMixin<WLANPacket_MgtFrameType> mixin;
+ typedef ConcretePacket<WLANPacket_MgtFrameType> 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;
///////////////////////////////////////////////////////////////////////////
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
\ingroup protocolbundle_80211
*/
struct WLANPacket_CtrlFrameType
- : public senf::PacketTypeBase,
- public senf::PacketTypeMixin<WLANPacket_CtrlFrameType>
+ : public PacketTypeBase,
+ public PacketTypeMixin<WLANPacket_CtrlFrameType>
{
- typedef senf::PacketTypeMixin<WLANPacket_CtrlFrameType> mixin;
- typedef senf::ConcretePacket<WLANPacket_CtrlFrameType> packet;
+ typedef PacketTypeMixin<WLANPacket_CtrlFrameType> mixin;
+ typedef ConcretePacket<WLANPacket_CtrlFrameType> 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;
///////////////////////////////////////////////////////////////////////////
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,
\ingroup protocolbundle_80211
*/
struct WLANPacket_DataFrameType
- : public senf::PacketTypeBase,
- public senf::PacketTypeMixin<WLANPacket_DataFrameType>
+ : public PacketTypeBase,
+ public PacketTypeMixin<WLANPacket_DataFrameType>
{
- typedef senf::PacketTypeMixin<WLANPacket_DataFrameType> mixin;
- typedef senf::ConcretePacket<WLANPacket_DataFrameType> packet;
+ typedef PacketTypeMixin<WLANPacket_DataFrameType> mixin;
+ typedef ConcretePacket<WLANPacket_DataFrameType> packet;
typedef WLANPacket_DataFrameParser parser;
using mixin::init;
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
\f
// Local Variables: