RPacketContext::TPacketFilterV3 Class Reference

class RPacketContext::TPacketFilterV3 : public RPacketContext::TPacketFilterV2

Packet filter that supports packet filter types. Contains member data compatible with parameters required for configuring a packet filter on a Rel99/R4/R5 packet network. .

Inherits from the TPacketFilterV2 class.

Supported from 9.1

Inherits from

Public Member Functions
TPacketFilterV3(TPacketFilterType)
TPacketFilterV3()
TInt DestPortMax()
TInt DestPortMin()
TUint32 FlowLabel()
TBool IsPresent(TPacketFilterDataBitmapPos)
TInt ProtocolNumberOrNextHeader()
voidReset(TPacketFilterDataBitmapPos)
voidReset()
TUint32 SPI()
IMPORT_C TBoolSetDestPortMax(TInt)
IMPORT_C TBoolSetDestPortMin(TInt)
IMPORT_C TBoolSetFlowLabel(TUint32)
IMPORT_C TBoolSetProtocolNumberOrNextHeader(TInt)
IMPORT_C TBoolSetSPI(TUint32)
IMPORT_C TBoolSetSrcAddr(TIPAddress &)
IMPORT_C TBoolSetSrcAddrSubnetMask(TIPAddress &)
IMPORT_C TBoolSetSrcPortMax(TInt)
IMPORT_C TBoolSetSrcPortMin(TInt)
IMPORT_C TBoolSetTOSorTrafficClass(TUint16)
const TIPAddress &SrcAddr()
const TIPAddress &SrcAddrSubnetMask()
TInt SrcPortMax()
TInt SrcPortMin()
TUint16 TOSorTrafficClass()
Inherited Functions
RPacketContext::TPacketFilterV2::TPacketFilterV2()
TPacketBase::ExtensionId()const
TPacketBase::TPacketBase()
Public Member Enumerations
enumTPacketFilterDataBitmapPos {
EPacketFilterSrcAddr = 0x001, EPacketFilterSrcAddrSubnetMask = 0x002, EPacketFilterProtocolNumberOrNextHeader = 0x004, EPacketFilterSrcPortMin = 0x008, EPacketFilterSrcPortMax = 0x010, EPacketFilterDestPortMin = 0x020, EPacketFilterDestPortMax = 0x040, EPacketFilterIPSecSPI = 0x080, EPacketFilterTOSorTrafficClass = 0x100, EPacketFilterFlowLabel = 0x200
}
Protected Attributes
TUint16 iAllowedDataBitmap
TUint16 iPresentDataBitmap
TPacketFilterType iType
Inherited Attributes
RPacketContext::TPacketFilterV2::iDestPortMax
RPacketContext::TPacketFilterV2::iDestPortMin
RPacketContext::TPacketFilterV2::iEvaluationPrecedenceIndex
RPacketContext::TPacketFilterV2::iFlowLabel
RPacketContext::TPacketFilterV2::iIPSecSPI
RPacketContext::TPacketFilterV2::iId
RPacketContext::TPacketFilterV2::iProtocolNumberOrNextHeader
RPacketContext::TPacketFilterV2::iSrcAddr
RPacketContext::TPacketFilterV2::iSrcAddrSubnetMask
RPacketContext::TPacketFilterV2::iSrcPortMax
RPacketContext::TPacketFilterV2::iSrcPortMin
RPacketContext::TPacketFilterV2::iTOSorTrafficClass
TPacketBase::iExtensionId

Constructor & Destructor Documentation

TPacketFilterV3(TPacketFilterType)

IMPORT_CTPacketFilterV3(TPacketFilterTypeaType)

Standard Constructor: Version 3 of the API

iType is set to aType which is passed as parameter and can be of the type EPacketFilterTypeOne, EPacketFilterTypeTwo or EPacketFilterTypeThree. iPresentDataBitmap is initialised to zero. iAllowedDataBitmap is set to a valid combination of TPacketFilterV3DataBitmapPos according to aType.

Parameters

TPacketFilterType aTypeTPacketFilterType - Can take any of the following values: EPacketFilterTypeOne, EPacketFilterTypeTwo or EPacketFilterTypeThree.

TPacketFilterV3()

IMPORT_CTPacketFilterV3()

Default Constructor

iType is set to EPacketFilterTypeUnknown

Member Functions Documentation

DestPortMax()

TInt DestPortMax()[inline]

This method may be called by the client application. Gets the iDestPortMax value which has been set by the SetDestPortMax method.

DestPortMin()

TInt DestPortMin()[inline]

This method may be called by the client application. Gets the iDestPortMin value which has been set by the SetDestPortMin method.

FlowLabel()

TUint32 FlowLabel()[inline]

This method may be called by the client application. Gets the iFlowLabel value which has been set by the SetFlowLabel method.

IsPresent(TPacketFilterDataBitmapPos)

TBool IsPresent(TPacketFilterDataBitmapPosaDataMemberBitmapPos)[inline]

This method may be called by the client application. Checks if the bitmap of a certain attribute is set or not.

Parameters

TPacketFilterDataBitmapPos aDataMemberBitmapPosBitmap of an attribute.

ProtocolNumberOrNextHeader()

TInt ProtocolNumberOrNextHeader()[inline]

This method may be called by the client application. Gets the iProtocolNumberOrNextHeader value which has been set by the SetProtocolNumberOrNextHeader method.

Reset(TPacketFilterDataBitmapPos)

voidReset(TPacketFilterDataBitmapPosaDataMemberBitmapPos)[inline]

This method may be called by the client application. Resets the iPresentDataBitmap of an attribute accordign to its Bitmap value.

Parameters

TPacketFilterDataBitmapPos aDataMemberBitmapPosBitmap of an attribute.

Reset()

voidReset()[inline]

This method may be called by the client application. Sets the iPresentDataBitmap to 0.

SPI()

TUint32 SPI()[inline]

This method may be called by the client application. Gets the iIPSecSPI value which has been set by the SetSPI method.

SetDestPortMax(TInt)

IMPORT_C TBoolSetDestPortMax(TIntaDestPortMax)

This method may be called by the client application. Sets the iDestPortMax to aDestPortMax only if a valid combination of bitmap is present.

Parameters

TInt aDestPortMaxTInt value to be set.

SetDestPortMin(TInt)

IMPORT_C TBoolSetDestPortMin(TIntaDestPortMin)

This method may be called by the client application. Sets the iDestPortMin to aDestPortMin only if a valid combination of bitmap is present.

Parameters

TInt aDestPortMinTInt value to be set.

SetFlowLabel(TUint32)

IMPORT_C TBoolSetFlowLabel(TUint32aFlowLabel)

This method may be called by the client application. Sets the iFlowLabel to aFlowLabel only if a valid combination of bitmap is present.

Parameters

TUint32 aFlowLabelTUint32 value to be set.

SetProtocolNumberOrNextHeader(TInt)

IMPORT_C TBoolSetProtocolNumberOrNextHeader(TIntaProtocolNumberOrNextHeader)

This method may be called by the client application. Sets the iProtocolNumberOrNextHeader to aProtocolNumberOrNextHeader only if a valid combination of bitmap is present.

Parameters

TInt aProtocolNumberOrNextHeaderTInt value to be set.

SetSPI(TUint32)

IMPORT_C TBoolSetSPI(TUint32aIPSecSPI)

This method may be called by the client application. Sets the iIPSecSPI to aIPSecSPI only if a valid combination of bitmap is present.

Parameters

TUint32 aIPSecSPITUint32 value to be set.

SetSrcAddr(TIPAddress &)

IMPORT_C TBoolSetSrcAddr(TIPAddress &aSrcAddr)

This method may be called by the client application. Sets the iSrcAddr to a SrcAddr only if a valid combination of bitmap is present.

Parameters

TIPAddress & aSrcAddrTIPAddress value to be set.

SetSrcAddrSubnetMask(TIPAddress &)

IMPORT_C TBoolSetSrcAddrSubnetMask(TIPAddress &aSrcAddrSubnetMask)

This method may be called by the client application. Sets the iSrcAddrSubnetMask to aSrcAddrSubnetMask only if a valid combination of bitmap is present.

Parameters

TIPAddress & aSrcAddrSubnetMaskTIPAddress value to be set.

SetSrcPortMax(TInt)

IMPORT_C TBoolSetSrcPortMax(TIntaSrcPortMax)

This method may be called by the client application. Sets the iSrcPortMax to aSrcPortMax only if a valid combination of bitmap is present.

Parameters

TInt aSrcPortMaxTInt value to be set.

SetSrcPortMin(TInt)

IMPORT_C TBoolSetSrcPortMin(TIntaSrcPortMin)

This method may be called by the client application. Sets the iSrcPortMin to aSrcPortMin only if a valid combination of bitmap is present.

Parameters

TInt aSrcPortMinTInt value to be set.

SetTOSorTrafficClass(TUint16)

IMPORT_C TBoolSetTOSorTrafficClass(TUint16aTOSorTrafficClass)

This method may be called by the client application. Sets the iTOSorTrafficClass to aTOSorTrafficClass only if a valid combination of bitmap is present.

Parameters

TUint16 aTOSorTrafficClassTUint16 value to be set.

SrcAddr()

const TIPAddress &SrcAddr()[inline]

Return the Domain Source address.

SrcAddrSubnetMask()

const TIPAddress &SrcAddrSubnetMask()[inline]

Return the Domain Subnet mask.

SrcPortMax()

TInt SrcPortMax()[inline]

This method may be called by the client application. Gets the iSrcPortMax value which has been set by the SetSrcPortMax method.

SrcPortMin()

TInt SrcPortMin()[inline]

This method may be called by the client application. Gets the iSrcPortMin value which has been set by the SetSrcPortMin method.

TOSorTrafficClass()

TUint16 TOSorTrafficClass()[inline]

This method may be called by the client application. Gets the iTOSorTrafficClass value which has been set by the SetTOSorTrafficClass method.

Member Enumerations Documentation

Enum TPacketFilterDataBitmapPos

Enumerators

EPacketFilterSrcAddr = 0x001

Bitmap for Domain Source address.

EPacketFilterSrcAddrSubnetMask = 0x002

Bitmap for Domain Subnet mask.

EPacketFilterProtocolNumberOrNextHeader = 0x004

Bitmap for Protocol number (IPv4) or Next Header (IPv6) field of incoming packets.

EPacketFilterSrcPortMin = 0x008

Bitmap for Minimum source port number of incoming packets.

EPacketFilterSrcPortMax = 0x010

Bitmap for Maximum source port number of incoming packets.

EPacketFilterDestPortMin = 0x020

Bitmap for Lowest destination port number of incoming packets.

EPacketFilterDestPortMax = 0x040

Bitmap for Maximum destination port number of incoming packets.

EPacketFilterIPSecSPI = 0x080

Bitmap for Security Parameter Index.

EPacketFilterTOSorTrafficClass = 0x100

Bitmap for Type of Service (IPv4) or Traffic Class (IPv6).

EPacketFilterFlowLabel = 0x200

Bitmap for Flow label (IPv6 only) of incoming packets.

Member Data Documentation

TUint16 iAllowedDataBitmap

TUint16 iAllowedDataBitmap[protected]

Bitmap of allowed attributes set in the constructor in accordance to type of the filter as defined in TS 23.060.

TUint16 iPresentDataBitmap

TUint16 iPresentDataBitmap[protected]

Bitmap of data members that are set(initialised) - data member can be set in allowed for the specified type of the filter only.

TPacketFilterType iType

TPacketFilterType iType[protected]

Initialised in the constructor - type can be I, II or III