17 #ifndef HH_SENF_Packets_80221Bundle_MIHPacket_ 18 #define HH_SENF_Packets_80221Bundle_MIHPacket_ 1 40 # include SENF_PARSER() 96 using mixin::nextPacketRange;
98 using mixin::initSize;
101 static void dump(packet p, std::ostream & os);
102 static void finalize(packet p);
103 static factory_t nextPacketType(packet p);
118 # include SENF_PARSER() 131 using mixin::nextPacketRange;
133 using mixin::initSize;
136 static void dump(packet p, std::ostream & os);
137 static void finalize(packet p);
senf::UIntFieldParser<?,?+10 > aid() const
ConcretePacket< MIHPacketType > MIHPacket
MIH packet typedef.
senf::FlagParser<?> moreFragment() const
#define SENF_PARSER_BITFIELD(name, bits, type)
Define bit-field.
senf::FlagParser<?> ackRequest() const
PacketTypeMixin< MIHPacketType, MIHMessageRegistry > mixin
ConcretePacket< MIHPacketType > packet
MIH packet typedef.
Mixin to provide standard implementations for nextPacketRange and nextPacketType. ...
MIH Message-Registry public header.
ConcretePacket< MIHGenericPayloadPacketType > packet
MIH Payload packet typedef.
DefaultBundle packet registries public header.
Parser for 802.21 source MIHF_ID TLV.
senf::UIntFieldParser<?,?+12 > transactionId() const
senf::FlagParser<?> uir() const
#define SENF_PARSER_FIELD(name, type)
Define normal parser field.
#define SENF_PARSER_GOTO(name)
Change current offset.
MIHGenericPayloadPacketParser parser
typedef to the parser of MIH Payload packet
PacketTypeMixin< MIHGenericPayloadPacketType > mixin
senf::UIntFieldParser<?,?+4 > sid() const
#define SENF_PARSER_FINALIZE(name)
Generate parser control members.
#define SENF_PARSER_TLV_LIST
void dump(std::ostream &os, DirectoryNode &dir=root())
Protocol specific packet handle.
void defaultInit() const
Default implementation.
Helper base-class implementing the PacketType interface.
#define SENF_PARSER_BITFIELD_RO(name, bits, type)
Define bit-field (read-only)
#define SENF_PARSER_INIT()
Define parser initialization routine.
#define SENF_PARSER_FIELD_RO(name, type)
Define parser field (read-only)
senf::UIntFieldParser<?,?+2 > opcode() const
MIHFSrcIdTLVParser src_mihfId() const
MIHFDstIdTLVParser dst_mihfId() const
SENF_PACKET_PREVENT_TEMPLATE_INSTANTIATION(RadiotapPacket)
senf::UIntFieldParser<?,?+4 >::value_type version() const
senf::FlagParser<?> ackResponse() const
ConcretePacket< MIHGenericPayloadPacketType > MIHGenericPayloadPacket
MIH Payload packet typedef.
UInt16Parser messageId() const
MIHPacketParser parser
typedef to the parser of MIH packet
#define SENF_PARSER_SKIP_BITS(bits)
Skip bits within bitfield group.
PacketInterpreterBase::factory_t factory_t
#define SENF_PARSER_GOTO_OFFSET(offset)
Change current offset to explicit value.
void validate(size_type size) const
Validate size of data container.
Parser for 802.21 destination MIHF_ID TLV.
Parse 16bit unsigned byte aligned integer.
senf::UIntFieldParser<?,?+7 > fragmentNr() const
Parser for a generic TLV packet.
UInt16Parser ::value_type payloadLength() const