TInet6PacketBase Class Reference

#include <in_pkt.h>

Link against: inhook6.lib

class TInet6PacketBase
Public Attributes
TInt iLength
Protected Attributes
TAlign iAlign
Public Member Enumerations
enumTAlign { EAlign1, EAlign2, EAlign4, EAlign8 }
Public Member Functions
TInet6PacketBase(TAlign)
IMPORT_C TUint8 *Access(RMBufChain &, TInt, TInt, TInt)
voidSetAlign(TAlign)

Detailed Description

Thin base class for the TInet6Packet.

Member Attribute Documentation

iAlign

TAlign iAlign[protected]

The align requirement.

iLength

TInt iLength

Length of the mapped region.

The real mapped length as computed by the Access function. If access returned non-NULL, the following is always TRUE:

  • aMin <= iLength

Member Enumeration Documentation

Enum TAlign

EnumeratorValueDescription
EAlign10
EAlign21
EAlign43
EAlign87

Constructor & Destructor Documentation

TInet6PacketBase ( TAlign )

TInet6PacketBase(TAlignaAlign)[inline]

Constructor.

ParameterDescription
aAlignThe align requirement.

Member Function Documentation

Access ( RMBufChain &, TInt, TInt, TInt )

IMPORT_C TUint8 *Access(RMBufChain &aPacket,
TIntaOffset,
TIntaSize,
TIntaMin
)

Accesses a contiguous block of memory within RMBufChain starting at specified offset.

Attempts to map aSize amount of contiguous RMBuf space at the specified offset, by rearranging the RMBufs, if necessary.

If aSize amount is not available, the returned pointer maps the maximum available space (< aSize).

Note:

The length can be either less or larger than aSize. The caller must verify the returned length to detect whether Access succeeded.

ParameterDescription
aOffsetThe offset to the beginning of the area. The value MUST be in range: 0 <= aOffset <= Length().
aSizeThe size of the requested contiguous mapping (in octets). The value cannot be larger than KMBufSmallSize. If aSize <= 1, the method will return availabe contiguous mapping at the indicated offset without rearranging the RMBuf chain. Values larger than 1 may require rearrangement to get the requested area into single RMBuf.
aMinThe minimum accepted iLength. If iLength is less that aMin, then returns NULL.

Returns: A pointer to the data starting at indicated offset. The iLength is set to the maximum available contiguous data starting from the requested offset. iLength is always <= KMBufSmallSize.

SetAlign ( TAlign )

voidSetAlign(TAlignaAlign)[inline]

Changes the align requirement.

ParameterDescription
aAlignThe new align requirement.