X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FIPv6Packet.hh;h=2ce41a6101c0407a215d8438077d55d5711a5c69;hb=f2f5d59e83863f3b513950173baee1b6da2aee3c;hp=3ac278b6253fd75e66a28a0ed6af8e4920398a46;hpb=a1a6c76a214ad1935032826713cabaf9ac57bf07;p=senf.git diff --git a/Packets/DefaultBundle/IPv6Packet.hh b/Packets/DefaultBundle/IPv6Packet.hh index 3ac278b..2ce41a6 100644 --- a/Packets/DefaultBundle/IPv6Packet.hh +++ b/Packets/DefaultBundle/IPv6Packet.hh @@ -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" @@ -51,14 +51,15 @@ 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); } + 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; } }; /** \brief Parse an IPv6 packet + \image html IPv6Packet.png \see IPv6PacketType \n RFC 2460 */ @@ -91,12 +92,34 @@ namespace senf { \par Fields: \ref IPv6PacketParser +
0 | 4 | 8 | +12 | 16 | 20 | +24 | 28 | +31 | +
---|---|---|---|---|---|---|---|---|
\ref IPv6PacketParser::version() "Version" | +\ref IPv6PacketParser::trafficClass() "Traffic Class" | +\ref IPv6PacketParser::flowLabel() "Flow Label" | +||||||
\ref IPv6PacketParser::length() "Payload Length" | +\ref IPv6PacketParser::nextHeader() "Next Header" | +\ref IPv6PacketParser::hopLimit() "Hop Limit" | +||||||
+ \ref IPv6PacketParser::source() "Source Address" | +||||||||
+ \ref IPv6PacketParser::destination() "Destination Address" | +