X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FDefaultBundle%2FICMPv6Packet.hh;fp=senf%2FPackets%2FDefaultBundle%2FICMPv6Packet.hh;h=7cba25e634af114c007a53246cd35cad0c3e9d70;hb=9cb871b939efe93e35dd96808d25089399acfc46;hp=c5c26940e195fcf1b56e68946fb33e0268470095;hpb=3a43b572a2c0028b353d47e86fa7546633d6e2cf;p=senf.git diff --git a/senf/Packets/DefaultBundle/ICMPv6Packet.hh b/senf/Packets/DefaultBundle/ICMPv6Packet.hh index c5c2694..7cba25e 100644 --- a/senf/Packets/DefaultBundle/ICMPv6Packet.hh +++ b/senf/Packets/DefaultBundle/ICMPv6Packet.hh @@ -31,7 +31,7 @@ //#include "ICMPv6Packet.mpp" ///////////////////////////////hh.p//////////////////////////////////////// -namespace senf +namespace senf { struct ICMPv6PacketParser : public PacketParserBase { @@ -39,12 +39,12 @@ namespace senf SENF_PARSER_FIELD ( type, UInt8Parser ); SENF_PARSER_FIELD ( code, UInt8Parser ); SENF_PARSER_FIELD ( checksum, UInt16Parser ); - + SENF_PARSER_FINALIZE ( ICMPv6PacketParser ); - + boost::uint16_t calcChecksum() const; }; - + struct ICMPTypes { // ICMP type registry typedef boost::uint8_t key_t; @@ -58,37 +58,37 @@ namespace senf \par Fields: \ref ICMPv6PacketParser \image html ICMPv6Packet.png - + \par Associated registries: \ref ICMPTypes \ingroup protocolbundle_default */ - struct ICMPv6PacketType + struct ICMPv6PacketType : public PacketTypeBase, public PacketTypeMixin { typedef PacketTypeMixin mixin; typedef ConcretePacket packet; typedef ICMPv6PacketParser parser; - + using mixin::nextPacketRange; using mixin::nextPacketType; using mixin::init; using mixin::initSize; - + static void dump(packet p, std::ostream & os); - - static key_t nextPacketKey(packet p) { + + static key_t nextPacketKey(packet p) { return p->type(); } - + static void finalize(packet p) { p->type() << key(p.next(senf::nothrow)); p->checksum() << p->calcChecksum(); } }; - + /** \brief ICMPv6 packet typedef \ingroup protocolbundle_default */