X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FIPv4Packet.hh;h=496c9b8e4aa7cfcf50b4993684669328d072aaf0;hb=6a0836b7f462d3d77b79b35638cdbf4c9d4202fc;hp=c047b96ca1dd4db1310996102829f4f5903759f6;hpb=67608d39cb73231d6deaae285aa5477762246e50;p=senf.git diff --git a/Packets/DefaultBundle/IPv4Packet.hh b/Packets/DefaultBundle/IPv4Packet.hh index c047b96..496c9b8 100644 --- a/Packets/DefaultBundle/IPv4Packet.hh +++ b/Packets/DefaultBundle/IPv4Packet.hh @@ -1,9 +1,9 @@ // $Id$ // // Copyright (C) 2006 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Stefan Bund +// 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 // it under the terms of the GNU General Public License as published by @@ -39,9 +39,9 @@ namespace senf { \see INet4Address */ - struct Parse_INet4Address : public PacketParserBase + struct INet4AddressParser : public PacketParserBase { - Parse_INet4Address(data_iterator i, state_type s) : PacketParserBase(i,s,fixed_bytes) {} + INet4AddressParser(data_iterator i, state_type s) : PacketParserBase(i,s,fixed_bytes) {} /////////////////////////////////////////////////////////////////////////// @@ -50,9 +50,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_INet4Address const & operator= (value_type const & other) + operator value_type() const { return value(); } + byte & operator[](size_type index) const { return *boost::next(i(),index); } + INet4AddressParser const & operator= (value_type const & other) { value(other); return *this; } }; @@ -65,27 +65,27 @@ namespace senf { \todo Implement options */ - struct Parse_IPv4 : public PacketParserBase + struct IPv4PacketParser : public PacketParserBase { # include SENF_FIXED_PARSER() SENF_PARSER_BITFIELD( version, 4, unsigned ); SENF_PARSER_BITFIELD( ihl, 4, unsigned ); - SENF_PARSER_FIELD( tos, Parse_UInt8 ); - SENF_PARSER_FIELD( length, Parse_UInt16 ); - SENF_PARSER_FIELD( identifier, Parse_UInt16 ); + SENF_PARSER_FIELD( tos, UInt8Parser ); + SENF_PARSER_FIELD( length, UInt16Parser ); + SENF_PARSER_FIELD( identifier, UInt16Parser ); SENF_PARSER_BITFIELD( reserved, 1, bool ); SENF_PARSER_BITFIELD( df, 1, bool ); SENF_PARSER_BITFIELD( mf, 1, bool ); SENF_PARSER_BITFIELD( frag, 13, unsigned ); - SENF_PARSER_FIELD( ttl, Parse_UInt8 ); - SENF_PARSER_FIELD( protocol, Parse_UInt8 ); - SENF_PARSER_FIELD( checksum, Parse_UInt16 ); - SENF_PARSER_FIELD( source, Parse_INet4Address ); - SENF_PARSER_FIELD( destination, Parse_INet4Address ); + SENF_PARSER_FIELD( ttl, UInt8Parser ); + SENF_PARSER_FIELD( protocol, UInt8Parser ); + SENF_PARSER_FIELD( checksum, UInt16Parser ); + SENF_PARSER_FIELD( source, INet4AddressParser ); + SENF_PARSER_FIELD( destination, INet4AddressParser ); SENF_PARSER_INIT() { version() = 4; @@ -93,7 +93,7 @@ namespace senf { ihl() = 5; } - SENF_PARSER_FINALIZE(Parse_IPv4); + SENF_PARSER_FINALIZE(IPv4PacketParser); boost::uint16_t calcChecksum() const; @@ -123,24 +123,24 @@ namespace senf { 20 24 28 31 - \ref Parse_IPv4::version() "Version" - \ref Parse_IPv4::ihl() "IHL" - \ref Parse_IPv4::tos() "TOS" - \ref Parse_IPv4::length() "Length" + \ref IPv4PacketParser::version() "Version" + \ref IPv4PacketParser::ihl() "IHL" + \ref IPv4PacketParser::tos() "TOS" + \ref IPv4PacketParser::length() "Length" - \ref Parse_IPv4::identifier() "Identifier" - \ref Parse_IPv4::reserved() "R" - \ref Parse_IPv4::df() "DF" - \ref Parse_IPv4::mf() "MF" - \ref Parse_IPv4::frag() "Fragment Offset" + \ref IPv4PacketParser::identifier() "Identifier" + \ref IPv4PacketParser::reserved() "R" + \ref IPv4PacketParser::df() "DF" + \ref IPv4PacketParser::mf() "MF" + \ref IPv4PacketParser::frag() "Fragment Offset" - \ref Parse_IPv4::ttl() "Time to Live (ttl)" - \ref Parse_IPv4::protocol() "Protocol" - \ref Parse_IPv4::checksum() "Header Checksum" + \ref IPv4PacketParser::ttl() "Time to Live (ttl)" + \ref IPv4PacketParser::protocol() "Protocol" + \ref IPv4PacketParser::checksum() "Header Checksum" - \ref Parse_IPv4::source() "Source Address" + \ref IPv4PacketParser::source() "Source Address" - \ref Parse_IPv4::destination() "Destination Address" + \ref IPv4PacketParser::destination() "Destination Address" @@ -148,7 +148,7 @@ namespace senf { \ref IPv4Packet \par Fields: - \ref Parse_IPv4 + \ref IPv4PacketParser \par Associated registries: \ref IpTypes @@ -167,14 +167,14 @@ namespace senf { #ifndef DOXYGEN typedef PacketTypeMixin mixin; typedef ConcretePacket packet; - typedef Parse_IPv4 parser; + typedef IPv4PacketParser 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->protocol(); } static void dump(packet p, std::ostream & os);