# include SENF_FIXED_PARSER()
SENF_PARSER_PRIVATE_BITFIELD ( subtype, 4, unsigned );
- SENF_PARSER_SKIP_BITS ( 4 ); //skip type and version
//jump to fist address field
- SENF_PARSER_SKIP ( 3 );
+ SENF_PARSER_SKIP_BITS ( 28 );
SENF_PARSER_FIELD ( destinationAddress, MACAddressParser );
SENF_PARSER_FIELD ( sourceAddress, MACAddressParser );
SENF_PARSER_FIELD ( bssid, MACAddressParser );
# include SENF_PARSER()
SENF_PARSER_PRIVATE_BITFIELD ( subtype, 4, unsigned );
- SENF_PARSER_SKIP_BITS ( 4 ); //skip type and version
//jump to fist address field
- SENF_PARSER_SKIP ( 3, 3 );
+ SENF_PARSER_SKIP_BITS ( 28 );
SENF_PARSER_FIELD ( receiverAddress, MACAddressParser );
//only RTS frame contains a source address field
# include SENF_PARSER()
SENF_PARSER_PRIVATE_BITFIELD ( subtype, 4, unsigned );
//jump to 'toDS' and 'fromDS' bits
- //skip type and version
- SENF_PARSER_SKIP_BITS ( 4 );
- //skip other flags
- SENF_PARSER_SKIP_BITS ( 6 );
+ //skip type, version and other flags
+ SENF_PARSER_SKIP_BITS ( 10 );
//needed in data frames due to the variable address fields
SENF_PARSER_PRIVATE_BITFIELD ( dsBits, 2, unsigned );
//skip duration field
- SENF_PARSER_SKIP ( 2, 0 );
+ SENF_PARSER_SKIP ( 2, 2 );
SENF_PARSER_PRIVATE_FIELD ( addr1, MACAddressParser );
SENF_PARSER_PRIVATE_FIELD ( addr2, MACAddressParser );
\par Fields:
\ref WLANPacketParser
+ \image html WLANPacket.png
\ingroup protocolbundle_80211
*/
PKGDRAWPACKETS = "MLDv2ListenerReportParser"),
env.PkgDraw("DefaultBundle/MLDv2AddressRecord.png", "DefaultBundle/ICMPv6TypePacket.hh",
PKGDRAWPACKETS = "MLDv2AddressRecordParser"),
+ env.PkgDraw("80221Bundle/MIHPacket.hh",
+ PKGDRAWPACKETS = "MIHPacketParser"),
+ env.PkgDraw("80211Bundle/WLANPacket.hh"),
])
SENFSCons.InstallIncludeFiles(env, includes)