X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FIPv6Packet.hh;h=63815d83503ddedae7ccfcf1a8a1a390f8e2c3f4;hb=adcd3672d48f44103f2b4abc6417acf5d0107978;hp=a7006e99c0dd54dc8e58b0764e8a9e452945cb8e;hpb=6116cb96ea7bdcb42b7d12165a05fcbe0687226d;p=senf.git diff --git a/Packets/DefaultBundle/IPv6Packet.hh b/Packets/DefaultBundle/IPv6Packet.hh index a7006e9..63815d8 100644 --- a/Packets/DefaultBundle/IPv6Packet.hh +++ b/Packets/DefaultBundle/IPv6Packet.hh @@ -1,8 +1,8 @@ // $Id: EthernetPacket.hh 299 2007-07-10 21:23:49Z g0dil $ // // Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY // Stefan Bund // // This program is free software; you can redistribute it and/or modify @@ -23,8 +23,8 @@ /** \file \brief IPv6Packet public header */ -#ifndef HH_IPv6Packet_ -#define HH_IPv6Packet_ 1 +#ifndef HH_SENF_Packets_DefaultBundle_IPv6Packet_ +#define HH_SENF_Packets_DefaultBundle_IPv6Packet_ 1 // Custom includes #include "../../Socket/Protocols/INet/INet6Address.hh" @@ -40,9 +40,9 @@ namespace senf { \see INet6Address */ - struct Parse_INet6Address : public PacketParserBase + struct INet6AddressParser : public PacketParserBase { - Parse_INet6Address(data_iterator i, state_type s) : PacketParserBase(i,s,fixed_bytes) {} + INet6AddressParser(data_iterator i, state_type s) : PacketParserBase(i,s,fixed_bytes) {} /////////////////////////////////////////////////////////////////////////// @@ -51,9 +51,9 @@ namespace senf { value_type value() const { return value_type::from_data(i()); } void value(value_type const & v) { std::copy(v.begin(), v.end(), i()); } - operator value_type() { return value(); } - byte & operator[](size_type index) { return *boost::next(i(),index); } - Parse_INet6Address const & operator= (value_type const & other) + operator value_type() const { return value(); } + byte & operator[](size_type index) const { return *boost::next(i(),index); } + INet6AddressParser const & operator= (value_type const & other) { value(other); return *this; } }; @@ -62,7 +62,7 @@ namespace senf { \see IPv6PacketType \n RFC 2460 */ - struct Parse_IPv6 : public PacketParserBase + struct IPv6PacketParser : public PacketParserBase { # include SENF_FIXED_PARSER() @@ -70,17 +70,17 @@ namespace senf { SENF_PARSER_BITFIELD( trafficClass, 8, unsigned ); SENF_PARSER_BITFIELD( flowLabel, 20, unsigned ); - SENF_PARSER_FIELD( length, Parse_UInt16 ); - SENF_PARSER_FIELD( nextHeader, Parse_UInt8 ); - SENF_PARSER_FIELD( hopLimit, Parse_UInt8 ); - SENF_PARSER_FIELD( source, Parse_INet6Address ); - SENF_PARSER_FIELD( destination, Parse_INet6Address ); + SENF_PARSER_FIELD( length, UInt16Parser ); + SENF_PARSER_FIELD( nextHeader, UInt8Parser ); + SENF_PARSER_FIELD( hopLimit, UInt8Parser ); + SENF_PARSER_FIELD( source, INet6AddressParser ); + SENF_PARSER_FIELD( destination, INet6AddressParser ); SENF_PARSER_INIT() { version() = 6; } - SENF_PARSER_FINALIZE(Parse_IPv6); + SENF_PARSER_FINALIZE(IPv6PacketParser); }; /** \brief IPv6 packet @@ -89,7 +89,7 @@ namespace senf { \ref IPv6Packet \par Fields: - \ref Parse_IPv6 + \ref IPv6PacketParser \par Associated registries: \ref IpTypes @@ -107,14 +107,14 @@ namespace senf { #ifndef DOXYGEN typedef PacketTypeMixin mixin; typedef ConcretePacket packet; - typedef Parse_IPv6 parser; + typedef IPv6PacketParser parser; #endif 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);