X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2F80221Bundle%2FMIHPacket.hh;h=99b89e85763078ce4c01ff3a12e48b4f4649b5fa;hb=474bf4ca752caa4edad3eb007f8dca7a19a47335;hp=5f4f997810f24bf7cc3c636189b23bcf8c6b51ea;hpb=bd9f9d3fd6fbcff0112a7bf48ab9284da9576b11;p=senf.git diff --git a/Packets/80221Bundle/MIHPacket.hh b/Packets/80221Bundle/MIHPacket.hh index 5f4f997..99b89e8 100644 --- a/Packets/80221Bundle/MIHPacket.hh +++ b/Packets/80221Bundle/MIHPacket.hh @@ -97,6 +97,11 @@ namespace senf { return boost::make_filter_iterator(begin, end); } }; + + struct MIHMessageRegistry { + // MIH messages registry + typedef boost::uint16_t key_t; + }; /** \brief Parse a MIH packet @@ -118,14 +123,18 @@ namespace senf { SENF_PARSER_SKIP_BITS ( 1 ); // MIH message ID (MID) - SENF_PARSER_BITFIELD ( sid, 4, unsigned ); - SENF_PARSER_BITFIELD ( opcode, 2, unsigned ); - SENF_PARSER_BITFIELD ( aid, 10, unsigned ); - + SENF_PARSER_LABEL ( msgId_begin) + SENF_PARSER_BITFIELD ( sid, 4, unsigned ); + SENF_PARSER_BITFIELD ( opcode, 2, unsigned ); + SENF_PARSER_BITFIELD ( aid, 10, unsigned ); + SENF_PARSER_GOTO ( msgId_begin ); + SENF_PARSER_FIELD ( messageId, UInt16Parser ); + SENF_PARSER_SKIP_BITS ( 4 ); SENF_PARSER_BITFIELD ( transactionId, 12, unsigned ); SENF_PARSER_FIELD_RO ( payloadLength, UInt16Parser ); + // Source MIHF Id SENF_PARSER_FIELD ( src_mihfId, MIHFId_TLVParser ); // Destination MIHF Id @@ -154,10 +163,10 @@ namespace senf { */ struct MIHPacketType : public PacketTypeBase, - public PacketTypeMixin + public PacketTypeMixin { #ifndef DOXYGEN - typedef PacketTypeMixin mixin; + typedef PacketTypeMixin mixin; #endif typedef ConcretePacket packet; ///< MIH packet typedef typedef MIHPacketParser parser; ///< typedef to the parser of MIH packet @@ -216,6 +225,7 @@ namespace senf { #endif + // Local Variables: // mode: c++ // fill-column: 100