RMBufPacketBase Class Reference

class RMBufPacketBase : public RMBufChain

Inherits from

Public Member Functions
RMBufPacketBase()
IMPORT_C voidCopyInfoL(RMBufPacketBase &)
IMPORT_C voidCopyPackedL(RMBufChain &)
IMPORT_C voidFree()
IMPORT_C voidFreeInfo()
IMPORT_C RMBufPktInfo *Info()
IMPORT_C RMBufPktInfo *NewInfo(TUint)
IMPORT_C RMBufPktInfo *NewInfoL(TUint)
IMPORT_C voidPack()
IMPORT_C RMBufPktInfo *PeekInfo()
IMPORT_C RMBufPktInfo *PeekInfoInChain(RMBufChain &)
IMPORT_C voidSetInfo(RMBufPktInfo *)
IMPORT_C voidTrimEnd(TInt)
IMPORT_C voidTrimStart(TInt)
IMPORT_C RMBufPktInfo *Unpack()
Protected Member Functions
IMPORT_C RMBufPktInfo *CreateCopyL(const RMBufQ &, TInt, TInt, TInt, TUint)
IMPORT_C RMBufPktInfo *CreateCopyL(RMBufStreamQ &, TInt, TInt, TInt, TUint)
IMPORT_C RMBufPktInfo *CreateCopyL(const RMBufPktQ &, TInt, TUint)
IMPORT_C RMBufPktInfo *CreateL(RMBufQ &, TInt, TUint)
IMPORT_C RMBufPktInfo *CreateL(TInt, TUint)
IMPORT_C RMBufPktInfo *CreateL(const TDesC8 &, TInt, TUint)
Inherited Functions
RCommsBufChain::Alloc(TInt,TCommsBufAllocator &)
RCommsBufChain::Alloc(TInt,TInt,TCommsBufAllocator &)
RCommsBufChain::Alloc(TInt,TInt,TInt,TCommsBufAllocator &)
RCommsBufChain::Append(RCommsBuf *)
RCommsBufChain::Append(RCommsBufChain &)
RCommsBufChain::Assign(RCommsBufChain &)
RCommsBufChain::Goto(TInt,TInt &,TInt &)const
RCommsBufChain::Goto(TInt,TInt &,TInt &,RCommsBuf *&)const
RCommsBufChain::Prepend(RCommsBuf *)
RCommsBufChain::Prepend(RCommsBufChain &)
RCommsBufChain::RCommsBufChain()
RCommsBufChain::RCommsBufChain(RCommsBuf *)
RCommsBufChain::Read(TDes8 &,TInt)const
RCommsBufChain::Split(TInt,RCommsBufChain &)
RCommsBufChain::Write(const TDesC8 &,TInt)
RMBufChain::Align(TInt)
RMBufChain::Alloc(TInt)
RMBufChain::Alloc(TInt,RMBufAllocator &)
RMBufChain::Alloc(TInt,TInt)
RMBufChain::Alloc(TInt,TInt,RMBufAllocator &)
RMBufChain::Alloc(TInt,TInt,TInt)
RMBufChain::Alloc(TInt,TInt,TInt,RMBufAllocator &)
RMBufChain::AllocL(TInt)
RMBufChain::AllocL(TInt,RMBufAllocator &)
RMBufChain::Append(RMBufChain &)
RMBufChain::Append(TInt)
RMBufChain::Append(TInt,RMBufAllocator &)
RMBufChain::AppendL(TInt)
RMBufChain::Assign(RMBufChain &)
RMBufChain::Assign(RMBufQ &)
RMBufChain::Copy(RMBufChain &)const
RMBufChain::Copy(RMBufChain &,TInt)const
RMBufChain::Copy(RMBufChain &,TInt,TInt)const
RMBufChain::Copy(RMBufChain &,TInt,TInt,TInt)const
RMBufChain::CopyIn(const TDesC8 &,TInt)
RMBufChain::CopyL(RMBufChain &,TInt,TInt)const
RMBufChain::CopyOut(TDes8 &,TInt)const
RMBufChain::Create(const TDesC8 &,TInt)
RMBufChain::CreateL(const TDesC8 &,TInt)
RMBufChain::FillZ(TInt)
RMBufChain::First()
RMBufChain::First()const
RMBufChain::Goto(TInt,RMBuf *&,TInt &,TInt &)const
RMBufChain::Goto(TInt,RMBuf *&,TInt &,TInt &,RMBuf *&)const
RMBufChain::Init()
RMBufChain::IsEmpty()const
RMBufChain::Last()const
RMBufChain::Length()const
RMBufChain::Link(RMBufChain &)
RMBufChain::Next()
RMBufChain::Next()const
RMBufChain::NumBufs()const
RMBufChain::Prepend(RMBuf *)
RMBufChain::Prepend(RMBufChain &)
RMBufChain::Prepend(TInt)
RMBufChain::Prepend(TInt,RMBufAllocator &)
RMBufChain::PrependL(TInt)
RMBufChain::RMBufChain()
RMBufChain::RMBufChain(RCommsBuf *)
RMBufChain::ReAlloc(TInt)
RMBufChain::ReAllocL(TInt)
RMBufChain::Remove()
RMBufChain::Split(TInt,RMBufChain &)
RMBufChain::Split(TInt,RMBufChain &,RMBufAllocator &)
RMBufChain::SplitL(TInt,RMBufChain &)
RMBufChain::Unlink()
RMBufChain::operator=(RMBuf *)
Protected Attributes
RMBufPktInfo *iInfo
Inherited Attributes
RCommsBufChain::iNext

Constructor & Destructor Documentation

RMBufPacketBase()

IMPORT_CRMBufPacketBase()

Member Functions Documentation

CopyInfoL(RMBufPacketBase &)

IMPORT_C voidCopyInfoL(RMBufPacketBase &aNewPkt)

Copy the information header

Parameters

RMBufPacketBase & aNewPktthe new packet where the header is copied to

CopyPackedL(RMBufChain &)

IMPORT_C voidCopyPackedL(RMBufChain &aPacket)

Copy an entire packed packet, complete with info header

Parameters

RMBufChain & aPacketthe packet

CreateCopyL(const RMBufQ &, TInt, TInt, TInt, TUint)

IMPORT_C RMBufPktInfo *CreateCopyL(const RMBufQ &aPacket,
TIntaOffset,
TIntaLength,
TIntaHdrSize,
TUintaMBufHdrSize
)[protected]
Create a MBuf chain from an received MBuf Queue
  • used by Interfaces

Parameters

const RMBufQ & aPacketthe MBuf Queue
TInt aOffsetthe offset
TInt aLengththe length of the data to be copied
TInt aHdrSizethe header size
TUint aMBufHdrSizethe MBuf Header Size

CreateCopyL(RMBufStreamQ &, TInt, TInt, TInt, TUint)

IMPORT_C RMBufPktInfo *CreateCopyL(RMBufStreamQ &aStream,
TIntaOffset,
TIntaLength,
TIntaHdrSize,
TUintaMBufHdrSize
)[protected]

Create a MBuf chain by copying data from a stream queue (basically an RMBufQ) aOffset and aLength specify location in stream queue.

Parameters

RMBufStreamQ & aStreamthe stream queue
TInt aOffsetthe offset
TInt aLengththe data length
TInt aHdrSizethe header size
TUint aMBufHdrSizethe MBuf Header size

CreateCopyL(const RMBufPktQ &, TInt, TUint)

IMPORT_C RMBufPktInfo *CreateCopyL(const RMBufPktQ &aList,
TIntaHdrSize,
TUintaMBufHdrSize
)[protected]
Build a MBuf chain by copying a packet queue list, leaving space on the front for a header. (Very heavily used in PPP option processing). This is specially coded rather than using combination of RMBufChain::CopyL and RMBufChain::AppendL to ensure that the resulting packet is stored efficiently.
  • refer RMBufChain::AllocL notes regarding the deliberate decision not to provide an overloaded min/max mbuf size variant

Parameters

const RMBufPktQ & aListthe packet queue
TInt aHdrSizethe header size
TUint aMBufHdrSizethe MBuf Header size

CreateL(RMBufQ &, TInt, TUint)

IMPORT_C RMBufPktInfo *CreateL(RMBufQ &aPacket,
TIntaLength,
TUintaMBufHdrSize
)[protected]
Create an MBuf chain from an received MBuf Queue
  • used by Interfaces

  • queue in emptied.

Parameters

RMBufQ & aPacketthe MBuf Queue
TInt aLengththe chain length
TUint aMBufHdrSizethe MBuf header size

CreateL(TInt, TUint)

IMPORT_C RMBufPktInfo *CreateL(TIntaLength,
TUintaMBufHdrSize
)[protected]
Create an empty MBuf chain of required length and header size
  • used by Interfaces

  • refer RMBufChain::AllocL notes regarding the deliberate decision not to provide an overloaded min/max mbuf size variant

Parameters

TInt aLengththe chain length
TUint aMBufHdrSizethe header size

CreateL(const TDesC8 &, TInt, TUint)

IMPORT_C RMBufPktInfo *CreateL(const TDesC8 &aDesc,
TIntaHdrSize,
TUintaMBufHdrSize
)[protected]
Create a MBuf chain and header for receiving from a descriptor
  • used by SAPs

Parameters

const TDesC8 & aDescthe buffer which contains the header info
TInt aHdrSizethe header size
TUint aMBufHdrSizethe MBuf header size

Free()

IMPORT_C voidFree()

Delete info and data

FreeInfo()

IMPORT_C voidFreeInfo()

Free info header only

Info()

IMPORT_C RMBufPktInfo *Info()

Returns pointer to info header

NewInfo(TUint)

IMPORT_C RMBufPktInfo *NewInfo(TUintaMBufHdrSize)

Create an info header

Parameters

TUint aMBufHdrSizethe MBuf header size

NewInfoL(TUint)

IMPORT_C RMBufPktInfo *NewInfoL(TUintaMBufHdrSize)

Create an info header

Parameters

TUint aMBufHdrSizethe MBuf header size

Pack()

IMPORT_C voidPack()

Combine info header with data ready for queueing

PeekInfo()

IMPORT_C RMBufPktInfo *PeekInfo()

Allows the packet info header to be accessed without unpacking

PeekInfoInChain(RMBufChain &)

IMPORT_C RMBufPktInfo *PeekInfoInChain(RMBufChain &aChain)[static]

Allows the packet info header to be accessed while still on a packet queue

Parameters

RMBufChain & aChainthe chain to be accessed

SetInfo(RMBufPktInfo *)

IMPORT_C voidSetInfo(RMBufPktInfo *iInfo)

Associate an info header with packet (Also used to disassociate if aInfo==NULL)

Parameters

RMBufPktInfo * iInfothe info header

TrimEnd(TInt)

IMPORT_C voidTrimEnd(TIntaOffset)

As RMBufChain::TrimEnd, but updates length in info header

Parameters

TInt aOffsetthe offset

TrimStart(TInt)

IMPORT_C voidTrimStart(TIntaOffset)

As RMBufChain::TrimStart, but updates length in info header

Parameters

TInt aOffsetthe offset

Unpack()

IMPORT_C RMBufPktInfo *Unpack()

Splits off the info header

Member Data Documentation

RMBufPktInfo * iInfo

RMBufPktInfo *iInfo[protected]