X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FIpV6Extensions.hh;h=a0bd5b0117c347bd68f3034d8dd1ce9bf7686fa2;hb=a4e052fb8832499ef5e3ae4e563ea01b834010c2;hp=79cc42acdd1b597430b13bc4143e0bafd3e018f0;hpb=47368f306a577d1e46df69a7f729bd3893cbe5e7;p=senf.git diff --git a/Packets/DefaultBundle/IpV6Extensions.hh b/Packets/DefaultBundle/IpV6Extensions.hh index 79cc42a..a0bd5b0 100644 --- a/Packets/DefaultBundle/IpV6Extensions.hh +++ b/Packets/DefaultBundle/IpV6Extensions.hh @@ -32,19 +32,25 @@ namespace senf { - // See RFC2460 + /** \brief Parse in IpV6 fragment extension header + + Parser implementing the IpV6 fragment extension. The fields implemented are: + + \see IpV6ExtensionType_Fragment \n + RFC 2460 + */ struct Parse_IpV6Extension_Fragment : public PacketParserBase { - SENF_PACKET_PARSER_INIT(Parse_IpV6Extension_Fragment); - - /////////////////////////////////////////////////////////////////////////// - typedef Parse_UInt8 Parse_8bit; typedef Parse_UIntField < 0, 13 > Parse_Offset; typedef Parse_UIntField < 13, 15 > Parse_Reserved; typedef Parse_Flag < 15 > Parse_More; typedef Parse_UInt32 Parse_32bit; +# ifndef DOXYGEN + + SENF_PACKET_PARSER_INIT(Parse_IpV6Extension_Fragment); + SENF_PACKET_PARSER_DEFINE_FIXED_FIELDS( ((Field )( nextHeader , Parse_8bit )) ((Field )( reserved1 , Parse_8bit )) @@ -52,8 +58,32 @@ namespace senf { ((OverlayField)( reserved2 , Parse_Reserved )) ((Field )( moreFragments , Parse_More )) ((Field )( id , Parse_32bit )) ); + +# else + + Parse_8bit nextHeader(); + Parse_8bit reserved1(); + Parse_Offset fragmentOffset(); + Parse_Reserved reserved2(); + Parse_More moreFragments(); + Parse_32bit id(); + +# endif }; + /** \brief IpV6 fragment extension + + \par Packet type (typedef): + \ref IpV6Extension_Fragment + + \par Fields: + \ref Parse_IpV6Extension_Fragment + + \par Associated registries: + \par IpTypes + + \ingroup protocolbundle_default + */ struct IpV6ExtensionType_Fragment : public PacketTypeBase, public PacketTypeMixin @@ -73,10 +103,13 @@ namespace senf { static void dump(packet p, std::ostream & os); }; + /** \brief IpV6 fragment extension packet typedef */ typedef IpV6ExtensionType_Fragment::packet IpV6Extension_Fragment; } ///////////////////////////////hh.e//////////////////////////////////////// +#endif +#ifndef SENF_PACKETS_DECL_ONLY //#include "IpV6Extensions.cci" //#include "IpV6Extensions.ct" //#include "IpV6Extensions.cti"