namespace senf {
- ///\addtogroup protocolbundle_default
- ///@{
+ /** \brief Parse in IpV6 fragment extension header
+
+ Parser implementing the IpV6 fragment extension. The fields implemented are:
- // See RFC2460
+ \see IpV6ExtensionType_Fragment \n
+ <a href="http://tools.ietf.org/html/rfc2460">RFC 2460</a>
+ */
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 ))
((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<IpV6ExtensionType_Fragment, IpTypes>
static void dump(packet p, std::ostream & os);
};
+ /** \brief IpV6 fragment extension packet typedef */
typedef IpV6ExtensionType_Fragment::packet IpV6Extension_Fragment;
-
- ///@}
}
///////////////////////////////hh.e////////////////////////////////////////