// $Id$
//
// Copyright (C) 2007
-// Fraunhofer Institute for Open Communication Systems (FOKUS)
-// Competence Center NETwork research (NET), St. Augustin, GERMANY
+// Fraunhofer Institute for Open Communication Systems (FOKUS)
+// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
//
// This program is free software; you can redistribute it and/or modify
/** \file
\brief IPv6Extensions public header */
-#ifndef HH_IPv6Extensions_
-#define HH_IPv6Extensions_ 1
+#ifndef HH_SENF_Packets_DefaultBundle_IPv6Extensions_
+#define HH_SENF_Packets_DefaultBundle_IPv6Extensions_ 1
// Custom includes
#include "IPv6Packet.hh"
/** \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
<a href="http://tools.ietf.org/html/rfc2460">RFC 2460</a>
\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
{
#ifndef DOXYGEN
typedef PacketTypeMixin<IPv6ExtensionType_Fragment, IpTypes> mixin;
- typedef ConcretePacket<IPv6ExtensionType_Fragment> packet;
- typedef IPv6PacketParserExtension_Fragment parser;
#endif
+ /** \brief IPv6 fragment extension packet typedef */
+ typedef ConcretePacket<IPv6ExtensionType_Fragment> packet;
+ /** \brief typedef to the parser of IPv6 fragment extension packet */
+ typedef IPv6PacketParserExtension_Fragment parser;
+
using mixin::nextPacketRange;
using mixin::nextPacketType;
using mixin::initSize;
using mixin::init;
- static registry_key_t nextPacketKey(packet p)
+ 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 */