TInet6HeaderICMP Class Reference

class TInet6HeaderICMP

ICMPv6 header common part layout.

The basic ICMP header format only covers the common part (4 bytes) and 4 bytes of the Message Body (can be accesses as "Parameter")
Extract from RFC-2462: General format of ICMP message

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |     Code      |          Checksum             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                         Message Body                          +
|                                                               |
Public Member Functions
TInt Checksum()
TUint8 Code()
TUint8 *EndPtr()
TInt HeaderLength()
TInt MaxHeaderLength()
TInt MinHeaderLength()
TUint32 Parameter()
voidSetChecksum(TInt)
voidSetCode(TUint8)
voidSetParameter(TUint32)
voidSetType(TUint8)
TUint8 Type()
Public Attributes
TUint8 i
TUint32 iAlign
Protected Attributes
union TInet6HeaderICMP::@50@51

Member Functions Documentation

Checksum()

TInt Checksum()const [inline]

Gets the Checksum from the header.

Code()

TUint8 Code()const [inline]

Gets the ICMPv6 code from the header.

EndPtr()

TUint8 *EndPtr()const [inline]

Gets a pointer to the byte following the header.

HeaderLength()

TInt HeaderLength()const [inline]

Gets the header length.

Note:

This length is not the true length of the ICMP header. This only covers the fixed part.

MaxHeaderLength()

TInt MaxHeaderLength()[static, inline]

Gets the maximum header length.

Note:

This length is not the true length of the ICMP header. This only covers the fixed part.

MinHeaderLength()

TInt MinHeaderLength()[static, inline]

Gets the minimum header length.

Parameter()

TUint32 Parameter()const [inline]

Gets the ICMPv6 Parameter.

Accesses the first 4 bytes of ICMP message body, and assumes they form a 32 bit integer in network byte order. Returns this integer in host order.

SetChecksum(TInt)

voidSetChecksum(TIntaSum)[inline]

Sets the Checksum.

Parameters

TInt aSumThe Checksum [0..65535] (16 least significant bits stored as is (assumed to be in NETWORK byte order).

SetCode(TUint8)

voidSetCode(TUint8aCode)[inline]

Sets the ICMPv6 code.

Parameters

TUint8 aCodeICMPv6 code [0..255]

SetParameter(TUint32)

voidSetParameter(TUint32aValue)[inline]

Sets the ICMPv6 Parameter.

The value is converted into network byte order and stored as the first 4 bytes of the ICMP message body.

Parameters

TUint32 aValueThe parameter.

SetType(TUint8)

voidSetType(TUint8aType)[inline]

Sets the ICMPv6 type.

Parameters

TUint8 aTypeICMPv6 type [0..255]

Type()

TUint8 Type()const [inline]

Gets the ICMPv6 type from the header.

Member Data Documentation

union TInet6HeaderICMP::@50 @51

union TInet6HeaderICMP::@50@51[protected]

TUint8 i

TUint8 i

TUint32 iAlign

TUint32 iAlign