X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FIPv6Extensions.hh;h=bac52d5c4917ebd546739aa393602983daf9a283;hb=1ac8479aaaa1491e2668c6f09d042ae9de1f2113;hp=d2e9de07d649daf3b2353e69db3d9130601e1623;hpb=cb01986c60bd68d43a56e1f648aecd23b43cb893;p=senf.git diff --git a/Packets/DefaultBundle/IPv6Extensions.hh b/Packets/DefaultBundle/IPv6Extensions.hh index d2e9de0..bac52d5 100644 --- a/Packets/DefaultBundle/IPv6Extensions.hh +++ b/Packets/DefaultBundle/IPv6Extensions.hh @@ -37,6 +37,7 @@ namespace senf { /** \brief Parse in IPv6 fragment extension header Parser implementing the IPv6 fragment extension. The fields implemented are: + \image html IPv6Extensions_Fragment.png \see IPv6ExtensionType_Fragment \n RFC 2460 @@ -45,14 +46,14 @@ namespace senf { { # include SENF_FIXED_PARSER() - SENF_PARSER_FIELD( nextHeader , UInt8Parser ); - SENF_PARSER_FIELD( reserved1 , UInt8Parser ); + SENF_PARSER_FIELD ( nextHeader , UInt8Parser ); + SENF_PARSER_PRIVATE_FIELD ( reserved1 , UInt8Parser ); - SENF_PARSER_BITFIELD( fragmentOffset, 13, unsigned ); - SENF_PARSER_BITFIELD( reserved2, 2, unsigned ); - SENF_PARSER_BITFIELD( moreFragments, 1, bool ); + SENF_PARSER_BITFIELD ( fragmentOffset , 13, unsigned ); + SENF_PARSER_PRIVATE_BITFIELD ( reserved2 , 2, unsigned ); + SENF_PARSER_BITFIELD ( moreFragments , 1, bool ); - SENF_PARSER_FIELD( id , UInt32Parser ); + SENF_PARSER_FIELD ( id , UInt32Parser ); SENF_PARSER_FINALIZE(IPv6PacketParserExtension_Fragment); }; @@ -66,13 +67,11 @@ namespace senf { \ref IPv6PacketParserExtension_Fragment \par Associated registries: - \par IpTypes + \ref IpTypes \par Finalize action: Set \a nextHeader from type of next packet if found in \ref IpTypes - \image html IPv6Extensions_Fragment.png - \ingroup protocolbundle_default */ struct IPv6ExtensionType_Fragment @@ -81,9 +80,12 @@ namespace senf { { #ifndef DOXYGEN typedef PacketTypeMixin mixin; - typedef ConcretePacket packet; - typedef IPv6PacketParserExtension_Fragment parser; #endif + /** \brief IPv6 fragment extension packet typedef */ + typedef ConcretePacket packet; + /** \brief typedef to the parser of IPv6 fragment extension packet */ + typedef IPv6PacketParserExtension_Fragment parser; + using mixin::nextPacketRange; using mixin::nextPacketType; using mixin::initSize; @@ -92,10 +94,11 @@ namespace senf { static key_t nextPacketKey(packet p) { return p->nextHeader(); } - static void dump(packet p, std::ostream & os); + /** \brief Dump given IPv6Extension_Fragment in readable form to given output stream */ + static void dump(packet p, std::ostream & os); - static void finalize(packet p) - { p->nextHeader() << key(p.next(nothrow)); } + static void finalize(packet p) { + p->nextHeader() << key(p.next(nothrow)); } }; /** \brief IPv6 fragment extension packet typedef */