CPppLcp Class Reference

class CPppLcp : public ESock::CSubConnectionFlowBase

PPP Link Control Protocol class. This class oversees all the other PPP protocol classes, in addition to implementing the LCP state machine. Objects are instantiated at initialization or as necessary to implement the protocols: CCP, authentication, CBCP, IPCP, IPV6CP

Public Member Functions
IMPORT_C voidAgentToFlowNotification(TInt)
voidAuthenticate(CPppAuthentication *)
IMPORT_C voidAuthenticateResponseMessage()
IMPORT_C voidBinderLinkUp(TPppProtocol)
TBool CallbackEnabled()
voidCallbackGrantedAndAuthenticated()
TCallbackIETFRequestType CallbackRequestType()
voidCancelAuthenticate(CPppAuthentication *)
voidCancelRead()
CObjectConIx *ContainerForDlls()
IMPORT_C voidDestroy()
TBool DoLcpExts()
TBool DoesDllExist(const TDesC &)
IMPORT_C voidError(TInt)
IMPORT_C ESock::CSubConnectionFlowBase *Flow()
voidFlowDown(TInt, MNifIfNotify::TAction)
voidFlowUp()
const CPppAuthConfig *GetAuthConfig()
const CBCAProvision *GetBCAProvision()
IMPORT_C ESock::MLowerControl *GetControlL(const TDesC8 &)
const CCredentialsConfig *GetCredentials()
const TDesC8 &GetExcessData()
const CPppLcpConfig *GetLcpConfig()
const CIPConfig *GetNcpConfig()
const CPppProvisionInfo *GetPppAgentConfig()
voidLinkFlowOn()
voidLinkLayerUp()
voidLinkRecv(RMBufChain &)
TInt MaxReceiveSize()
voidNcpUp()
IMPORT_C CPppLcp *NewL(ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)
TInt Notification(TAgentToNifEventType, void *)
voidPhaseAdvance(TPppPhase)
voidPhaseComplete()
voidPhaseRetard(TPppPhase, TInt)
voidPppClose(TInt)
CPppLinkBase *PppLink()
CPppLcpConfig::TPppLinkMode PppLinkMode()
TInt PppOpen()
voidPppUnloadCompressor()
IMPORT_C voidProcess(RMBufChain &)
voidProgress(TInt, TInt)
IMPORT_C voidProvisionConfig(const ESock::RMetaExtensionContainerC &)
TBool QueryExternalIPConfiguration()
voidRegisterRecvr(MPppRecvr *)
voidReregisterRecvr(MPppRecvr *)
ESock::MLowerDataSender::TSendResult Send(RMBufChain &, TUint)
TUint8 SendEchoRequest()
voidSendIdentification()
voidSetMaxReceiveSize(TInt)
voidSetMaxTransferSize(TInt)
IMPORT_C voidStartSending()
voidStop(TInt, MNifIfNotify::TAction)
IMPORT_C voidStopFlow(TInt)
voidStopProtocol(TUint)
IMPORT_C voidSubConnectionError(TInt)
IMPORT_C voidSubConnectionGoingDown()
voidTerminateLink(MNifIfNotify::TAction, TInt)
IMPORT_C voidUnbind(ESock::MUpperDataReceiver *, ESock::MUpperControl *)
Protected Member Functions
CPppLcp(ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)
~CPppLcp()
IMPORT_C ESock::MFlowBinderControl *DoGetBinderControlL()
TInt DoStartFlow()
voidDoStopFlow(TInt, MNifIfNotify::TAction)
IMPORT_C voidFsmCheckConfigRequest(RPppOptionList &, RPppOptionList &, RPppOptionList &, RPppOptionList &)
IMPORT_C TBoolFsmConfigRequestOptionsValid(RPppOptionList &)
IMPORT_C voidFsmFillinConfigRequestL(RPppOptionList &)
IMPORT_C voidFsmLayerDown(TInt)
IMPORT_C TIntFsmLayerStarted()
IMPORT_C voidFsmLayerUp()
IMPORT_C voidFsmRecvConfigAck(RPppOptionList &)
IMPORT_C voidFsmRecvConfigNak(RPppOptionList &, RPppOptionList &)
IMPORT_C voidFsmRecvConfigReject(RPppOptionList &, RPppOptionList &)
IMPORT_C TBoolFsmRecvUnknownCode(TUint8, TUint8, TInt, RMBufChain &)
IMPORT_C TBoolFsmRejectOptionsValid(RPppOptionList &, RPppOptionList &)
IMPORT_C voidFsmTerminationPhaseComplete()
voidInitL()
voidProvisionConfigL(const ESock::RMetaExtensionContainerC &)
IMPORT_C voidReceivedL(const Messages::TRuntimeCtxId &, const Messages::TNodeId &, Messages::TSignatureBase &)
Private Member Functions
TBool AllNcpsUp()
INLINE voidInitCallbackInfoL()
voidMaybePostDataClientIdle()
INLINE voidNewCallbackRequestInfoL(TCallbackIETFRequestType)
voidNewMagicNumberL(TUint &)
TInt NotificationMessage(TAgentToNifEventType)
INLINE voidPhaseAdvancesBeyondAuthenticate()
voidPostErrorMessage(TInt)
voidPostFlowDownMessage(TInt)
voidPostProgressMessage(TInt, TInt)
TInt RetrieveDynamicProvisionInfo()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
ESock::CCommsProviderBase::AccessPointConfig()const
ESock::CCommsProviderBase::~CCommsProviderBase()
ESock::CSubConnectionFlowBase::CSubConnectionFlowBase(CSubConnectionFlowFactoryBase &,const Messages::TNodeId &,CProtocolIntfBase *)
ESock::CSubConnectionFlowBase::ControlProvider()const
ESock::CSubConnectionFlowBase::DeleteThisFlow()
ESock::CSubConnectionFlowBase::Factory()const
ESock::CSubConnectionFlowBase::FetchNodeInterfaceControlL(TInt)
ESock::CSubConnectionFlowBase::GetBinderControlL()
ESock::CSubConnectionFlowBase::HasControlPlane()const
ESock::CSubConnectionFlowBase::ProtocolIntf()const
ESock::CSubConnectionFlowBase::~CSubConnectionFlowBase()
Public Member Enumerations
enumTPppProtocol {
EPppProtocolBegin = 1, EPppProtoNone = EPppProtocolBegin, EPppIp4, EPppIp6, EPppAuth, EPppProtocolEnd
}
Private Member Enumerations
enumTMeshMachineFlowState { EStopped, EStarting, EStarted, EStopping }
Private Attributes
__FLOG_DECLARATION_MEMBER
const CAgentProvisionInfo *iAgentProvision
CPppAuthentication *iAuthenticate
TBool iAuthenticateDone
const CBCAProvision *iBCAProvision
CPppBinderIp4 *iBinder4
CPppBinderIp6 *iBinder6
TCallbackAction iCallbackAction
TBool iCallbackEnabled
TUint8 *iCallbackIETFRequestPacket
TInt iCallbackIETFRequestPacketLen
TCallbackIETFRequestType iCallbackIETFRequestType
TUint8 *iCallbackInfo
TInt iCallbackInfoLen
TBool iCallbackRequestGranted
TInt iConsecMagic
CObjectConIx *iContainerForDlls
const CCredentialsConfig *iCredentials
TBool iDoExternalIPConfiguration
TBool iDoLcpExts
TInt iError
TBool iGotCallbackInfo
TBool iInitialised
Messages::TNodeSignal::TMessageId iLastRequest
TBool iLastRequestErrored
Elements::TStateChange iLastStateChange
CPppLcpConfig::TPppLinkMode iLinkMode
TUint iLocMagicNumber
TMeshMachineFlowState iMMState
TInt iMaxRecvSize
TInt iMaxSendSize
TInt iNcpUpCount
TInt iOpenCount
TPppPhase iPhase
CPppAcp *iPppAcp
const CPppProvisionInfo *iPppAgentProvision
const CPppAuthConfig *iPppAuthConfig
CPppCcp *iPppCcp
const CPppLcpConfig *iPppLcpConfig
CPppLinkBase *iPppLink
CPppLrd *iPppLrd
CPppMsCbcpClient *iPppMsCbcp
const CIPConfig *iPppNcpConfig
TBool iRecursive
HBufC8 *iRecvIdentification
TTime iRecvTimeNotification
HBufC8 *iRecvTimeRemMessage
TTimeIntervalSeconds iRecvTimeRemaining
TDblQue< MPppRecvr >iRecvrList
TUint iRemMagicNumber
TInt iSavedError
TBool iSentIdle
MNifIfNotify::TAction iTerminateAction
Inherited Attributes
ESock::CCommsProviderBase::iAccessPointConfig
ESock::CSubConnectionFlowBase::iLastRequestOriginator
ESock::CSubConnectionFlowBase::iProtocolIntf
ESock::CSubConnectionFlowBase::iSubConnectionProvider

Constructor & Destructor Documentation

CPppLcp(ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)

IMPORT_CCPppLcp(ESock::CSubConnectionFlowFactoryBase &aFactory,
const Messages::TNodeId &aSubConnId,
ESock::CProtocolIntfBase *aProtocolIntf
)[protected]

Parameters

ESock::CSubConnectionFlowFactoryBase & aFactory
const Messages::TNodeId & aSubConnId
ESock::CProtocolIntfBase * aProtocolIntf

~CPppLcp()

IMPORT_C~CPppLcp()[protected, virtual]

Member Functions Documentation

AgentToFlowNotification(TInt)

IMPORT_C voidAgentToFlowNotification(TIntaNotificationId)[virtual]

Parameters

TInt aNotificationId

AllNcpsUp()

TBool AllNcpsUp()[private]

Authenticate(CPppAuthentication *)

voidAuthenticate(CPppAuthentication *aAp)

Parameters

CPppAuthentication * aAp

AuthenticateResponseMessage()

IMPORT_C voidAuthenticateResponseMessage()[virtual]

BinderLinkUp(TPppProtocol)

IMPORT_C voidBinderLinkUp(TPppProtocolaProtocol)[virtual]

Parameters

TPppProtocol aProtocol

CallbackEnabled()

TBool CallbackEnabled()[inline]

CallbackGrantedAndAuthenticated()

voidCallbackGrantedAndAuthenticated()

To be called when the authentication (if any) has been completed successfully. If there's no authentication at all, this should be called at the point where the authentication phase would otherwise be.

If the other end has agreed to our request for callback, then this causes NETDIAL to be notified that it's "all systems go" for callback.

If the other end has not confirmed accepted our request for callback, or if we haven't asked, then this does nothing.

CallbackRequestType()

TCallbackIETFRequestType CallbackRequestType()[inline]

CancelAuthenticate(CPppAuthentication *)

voidCancelAuthenticate(CPppAuthentication *aAp)

Parameters

CPppAuthentication * aAp

CancelRead()

voidCancelRead()

Unused

ContainerForDlls()

CObjectConIx *ContainerForDlls()const [inline]

Destroy()

IMPORT_C voidDestroy()[virtual]

DoGetBinderControlL()

IMPORT_C ESock::MFlowBinderControl *DoGetBinderControlL()[protected, virtual]

DoLcpExts()

TBool DoLcpExts()const [inline]

DoStartFlow()

TInt DoStartFlow()[protected]

Start the PPP link.

DoStopFlow(TInt, MNifIfNotify::TAction)

voidDoStopFlow(TIntaReason,
MNifIfNotify::TActionaAction
)[protected]

Cleanly stop the LCP link and notify the NIF. If aReason == KErrConnectionTerminated signal Authoritative stop: there is no graceful termination: PPP signals CNifAgentRef::LinkLayerDown to Nifman, which results in PPP deletion.

Parameters

TInt aReasonThe reason the link is going down
MNifIfNotify::TAction aActionThe action to take once the link is down

DoesDllExist(const TDesC &)

TBool DoesDllExist(const TDesC &aFilename)

Parameters

const TDesC & aFilename

Error(TInt)

IMPORT_C voidError(TIntaError)[virtual]

Parameters

TInt aError

Flow()

IMPORT_C ESock::CSubConnectionFlowBase *Flow()[virtual]

FlowDown(TInt, MNifIfNotify::TAction)

voidFlowDown(TIntaError,
MNifIfNotify::TActionaAction
)

Parameters

TInt aError
MNifIfNotify::TAction aAction

FlowUp()

voidFlowUp()

FsmCheckConfigRequest(RPppOptionList &, RPppOptionList &, RPppOptionList &, RPppOptionList &)

IMPORT_C voidFsmCheckConfigRequest(RPppOptionList &aRequestList,
RPppOptionList &aAckList,
RPppOptionList &aNakList,
RPppOptionList &aRejList
)[protected, virtual]

Parameters

RPppOptionList & aRequestList
RPppOptionList & aAckList
RPppOptionList & aNakList
RPppOptionList & aRejList

FsmConfigRequestOptionsValid(RPppOptionList &)

IMPORT_C TBoolFsmConfigRequestOptionsValid(RPppOptionList &aList)[protected, virtual]

Parameters

RPppOptionList & aList

FsmFillinConfigRequestL(RPppOptionList &)

IMPORT_C voidFsmFillinConfigRequestL(RPppOptionList &aRequestList)[protected, virtual]

Parameters

RPppOptionList & aRequestList

FsmLayerDown(TInt)

IMPORT_C voidFsmLayerDown(TIntaReason =  KErrNone )[protected, virtual]

Parameters

TInt aReason =  KErrNone

FsmLayerStarted()

IMPORT_C TIntFsmLayerStarted()[protected, virtual]

Open the layer below. Upcall from the FSM.

FsmLayerUp()

IMPORT_C voidFsmLayerUp()[protected, virtual]

Signal up event to next layer above Upcall from the FSM.

FsmRecvConfigAck(RPppOptionList &)

IMPORT_C voidFsmRecvConfigAck(RPppOptionList &aReplyList)[protected, virtual]

Received a Config Ack - apply the options Upcall from the FSM.

Parameters

RPppOptionList & aReplyListLCP options to use

FsmRecvConfigNak(RPppOptionList &, RPppOptionList &)

IMPORT_C voidFsmRecvConfigNak(RPppOptionList &aReplyList,
RPppOptionList &aReqList
)[protected, virtual]

Modify request after receiving a Config Nak Upcall from the FSM.

Parameters

RPppOptionList & aReplyListNAK'd LCP options
RPppOptionList & aReqListThe associated original request to be modified

FsmRecvConfigReject(RPppOptionList &, RPppOptionList &)

IMPORT_C voidFsmRecvConfigReject(RPppOptionList &aReplyList,
RPppOptionList &aReqList
)[protected, virtual]

Modify request after receiving a Config Reject Upcall from the FSM.

Parameters

RPppOptionList & aReplyListNAK'd LCP options
RPppOptionList & aReqListThe associated original request to be modified

FsmRecvUnknownCode(TUint8, TUint8, TInt, RMBufChain &)

IMPORT_C TBoolFsmRecvUnknownCode(TUint8aCode,
TUint8aId,
TIntaLength,
RMBufChain &aPacket
)[protected, virtual]

Parameters

TUint8 aCode
TUint8 aId
TInt aLength
RMBufChain & aPacket

FsmRejectOptionsValid(RPppOptionList &, RPppOptionList &)

IMPORT_C TBoolFsmRejectOptionsValid(RPppOptionList &aList,
RPppOptionList &aRequestList
)[protected, virtual]

Check if the option list specified matches the original Config-Request option list.

Used for conformance to RFC1661 sections 5.2 and 5.4 (the option list in a Config-Ack or Config-Reject must exactly match the option list in the original Config-Request - same option values in the same order with no new options appended).

Parameters

RPppOptionList & aListoption list to check against (e.g. from a Config-Ack or Config-Reject etc).
RPppOptionList & aRequestList

FsmTerminationPhaseComplete()

IMPORT_C voidFsmTerminationPhaseComplete()[protected, virtual]

Called when the FSM has stopped. Upcall from the FSM.

GetAuthConfig()

const CPppAuthConfig *GetAuthConfig()const [inline]

GetBCAProvision()

const CBCAProvision *GetBCAProvision()const [inline]

GetControlL(const TDesC8 &)

IMPORT_C ESock::MLowerControl *GetControlL(const TDesC8 &aProtocol)[virtual]

Parameters

const TDesC8 & aProtocol

GetCredentials()

const CCredentialsConfig *GetCredentials()const [inline]

GetExcessData()

const TDesC8 &GetExcessData()const [inline]

GetLcpConfig()

const CPppLcpConfig *GetLcpConfig()const [inline]

GetNcpConfig()

const CIPConfig *GetNcpConfig()const [inline]

GetPppAgentConfig()

const CPppProvisionInfo *GetPppAgentConfig()const [inline]

InitCallbackInfoL()

INLINE voidInitCallbackInfoL()[private]

InitL()

voidInitL()[protected]

Construct the Link Protocol Object

Exceptions
leaves

if could not allocate memory

LinkFlowOn()

voidLinkFlowOn()

Link advisory flow on signal.

LinkLayerUp()

voidLinkLayerUp()

Called from the lower layer when it becomes ready.

LinkRecv(RMBufChain &)

voidLinkRecv(RMBufChain &aPacket)

Called by the link layer for each new PPP packet received. Search registered Recvr list and deliver to all recipients.

Parameters

RMBufChain & aPacketMBuf chain containing received packet

MaxReceiveSize()

TInt MaxReceiveSize()const [inline]

MaybePostDataClientIdle()

voidMaybePostDataClientIdle()[private]

NcpUp()

voidNcpUp()

NewCallbackRequestInfoL(TCallbackIETFRequestType)

INLINE voidNewCallbackRequestInfoL(TCallbackIETFRequestTypeaRequestType)[private]

Allocates a buffer containing a PPP callback request packet a la draft RFC.

Format is: [ length ] [ type ] [ .. info ... ]

Post-condition
Sets iCallbackIETFRequestPacket to point to the buffer allocated

Parameters

TCallbackIETFRequestType aRequestTypeCallback IETF request type code

NewL(ESock::CSubConnectionFlowFactoryBase &, const Messages::TNodeId &, ESock::CProtocolIntfBase *)

IMPORT_C CPppLcp *NewL(ESock::CSubConnectionFlowFactoryBase &aFactory,
const Messages::TNodeId &aSubConnId,
ESock::CProtocolIntfBase *aProtocolIntf
)[static]

Parameters

ESock::CSubConnectionFlowFactoryBase & aFactory
const Messages::TNodeId & aSubConnId
ESock::CProtocolIntfBase * aProtocolIntf

NewMagicNumberL(TUint &)

voidNewMagicNumberL(TUint &aMagicNumber)[private, static]

Generate a new magic number, based upon existing number, machine unique ID and tick count.

Parameters

TUint & aMagicNumberMagic number to update

Notification(TAgentToNifEventType, void *)

TInt Notification(TAgentToNifEventTypeaEvent,
void *aInfo
)

Notification from Agent

Parameters

TAgentToNifEventType aEventEvent type
void * aInfoData relating to event

NotificationMessage(TAgentToNifEventType)

TInt NotificationMessage(TAgentToNifEventTypeaNotificationId)[private]

Parameters

TAgentToNifEventType aNotificationId

PhaseAdvance(TPppPhase)

voidPhaseAdvance(TPppPhaseaNewPhase)

Switch to the next PPP operation phase. When the PPP phase is advanced, protocols may have reached their active phase and so have to be bound in to the main data path and signalled active.

Parameters

TPppPhase aNewPhasePhase just entered

PhaseAdvancesBeyondAuthenticate()

INLINE voidPhaseAdvancesBeyondAuthenticate()[private]

PhaseComplete()

voidPhaseComplete()

Advance to the next PPP phase after successfully completing the current phase.

PhaseRetard(TPppPhase, TInt)

voidPhaseRetard(TPppPhaseaNewPhase,
TIntaReason
)

Return to a previous PPP operation phase. When the PPP phase is retarded, active protocols may no longer be in their active phase and so have to be unbound from the main data path and signalled inactive.

Parameters

TPppPhase aNewPhasePhase just entered
TInt aReasonError code indicating the reason we are changing phases

PostErrorMessage(TInt)

voidPostErrorMessage(TIntaError)[private]

Parameters

TInt aError

PostFlowDownMessage(TInt)

voidPostFlowDownMessage(TIntaError)[private]

Parameters

TInt aError

PostProgressMessage(TInt, TInt)

voidPostProgressMessage(TIntaStage,
TIntaError
)[private]

Parameters

TInt aStage
TInt aError

PppClose(TInt)

voidPppClose(TIntaReason)

Parameters

TInt aReason

PppLink()

CPppLinkBase *PppLink()[inline]

PppLinkMode()

CPppLcpConfig::TPppLinkMode PppLinkMode()const [inline]

PppOpen()

TInt PppOpen()

Called by an upper layer when it is started.

PppUnloadCompressor()

voidPppUnloadCompressor()

Unload the compression module after a compressed packet is rejected. Upcall from the FSM.

Process(RMBufChain &)

IMPORT_C voidProcess(RMBufChain &aData)[virtual]

Parameters

RMBufChain & aData

Progress(TInt, TInt)

voidProgress(TIntaStage,
TIntaError
)

Upcall from binders to send progress

Parameters

TInt aStage
TInt aError

ProvisionConfig(const ESock::RMetaExtensionContainerC &)

IMPORT_C voidProvisionConfig(const ESock::RMetaExtensionContainerC &aConfigData)[virtual]

Parameters

const ESock::RMetaExtensionContainerC & aConfigData

ProvisionConfigL(const ESock::RMetaExtensionContainerC &)

voidProvisionConfigL(const ESock::RMetaExtensionContainerC &aConfigData)[protected]

Handle ProvisionConfig messages from SCPR.

Provisioning requirements:

  • On receipt of a ProvisionConfig message, provisioning information in the SAccessPointConfig array is validated, and the following structures must be present:

Parameters

const ESock::RMetaExtensionContainerC & aConfigData

QueryExternalIPConfiguration()

TBool QueryExternalIPConfiguration()

Returns the external IP configuration flag.

ReceivedL(const Messages::TRuntimeCtxId &, const Messages::TNodeId &, Messages::TSignatureBase &)

IMPORT_C voidReceivedL(const Messages::TRuntimeCtxId &aSender,
const Messages::TNodeId &aRecipient,
Messages::TSignatureBase &aMessage
)[protected, virtual]

Parameters

const Messages::TRuntimeCtxId & aSender
const Messages::TNodeId & aRecipient
Messages::TSignatureBase & aMessage

RegisterRecvr(MPppRecvr *)

voidRegisterRecvr(MPppRecvr *aRecvr)

Register an object that is interested in receiving certain packets. The receiver object knows the protocol number it is interested in.

Parameters

MPppRecvr * aRecvrObject to receive packets

ReregisterRecvr(MPppRecvr *)

voidReregisterRecvr(MPppRecvr *aRecvr)

Reregister an object that is receiving certain packets. The receiver object knows the protocol number it is interested in.

Parameters

MPppRecvr * aRecvrObject registered to receive packets

RetrieveDynamicProvisionInfo()

TInt RetrieveDynamicProvisionInfo()[private]

Retrieve Provisioning Information which becomes available at Flow start time.

Send(RMBufChain &, TUint)

ESock::MLowerDataSender::TSendResult Send(RMBufChain &aPdu,
TUintaProtocol
)

Parameters

RMBufChain & aPdu
TUint aProtocol

SendEchoRequest()

TUint8 SendEchoRequest()

Send an LCP Echo Request frame. Called by CPppLrd::TimerComplete periodically

SendIdentification()

voidSendIdentification()

Send an LCP Identification frame (RFC 1570).

SetMaxReceiveSize(TInt)

voidSetMaxReceiveSize(TIntaSize)[inline]

Set the MRU

Parameters

TInt aSize

SetMaxTransferSize(TInt)

voidSetMaxTransferSize(TIntaLength)[inline]

Set the MTU

Parameters

TInt aLength

StartSending()

IMPORT_C voidStartSending()[virtual]

Stop(TInt, MNifIfNotify::TAction)

voidStop(TIntaReason,
MNifIfNotify::TActionaAction
)

Parameters

TInt aReason
MNifIfNotify::TAction aAction

StopFlow(TInt)

IMPORT_C voidStopFlow(TIntaError)[virtual]

Parameters

TInt aError

StopProtocol(TUint)

voidStopProtocol(TUintaProtocol)

One of the NCP protocols has been shut down, so kill it. Searches for the registered protocol handler based on the protocol ID.

Parameters

TUint aProtocolPPP protocol number

SubConnectionError(TInt)

IMPORT_C voidSubConnectionError(TIntaError)[virtual]

Parameters

TInt aError

SubConnectionGoingDown()

IMPORT_C voidSubConnectionGoingDown()[virtual]

TerminateLink(MNifIfNotify::TAction, TInt)

voidTerminateLink(MNifIfNotify::TActionaAction = MNifIfNotify::EDisconnect,
TIntaError =  KErrNone
)

Cleanly take down the LCP (and therefore PPP) link.

Parameters

MNifIfNotify::TAction aAction = MNifIfNotify::EDisconnectThe action to take after the link terminates
TInt aError =  KErrNone The reason the link is going down

Unbind(ESock::MUpperDataReceiver *, ESock::MUpperControl *)

IMPORT_C voidUnbind(ESock::MUpperDataReceiver *aReceiver,
ESock::MUpperControl *aControl
)[virtual]

Parameters

ESock::MUpperDataReceiver * aReceiver
ESock::MUpperControl * aControl

Member Enumerations Documentation

Enum TMeshMachineFlowState

Enumerators

EStopped
EStarting
EStarted
EStopping

Enum TPppProtocol

Enumerators

EPppProtocolBegin = 1
EPppProtoNone = EPppProtocolBegin
EPppIp4
EPppIp6
EPppAuth
EPppProtocolEnd

Member Data Documentation

__FLOG_DECLARATION_MEMBER

__FLOG_DECLARATION_MEMBER[private]

const CAgentProvisionInfo * iAgentProvision

const CAgentProvisionInfo *iAgentProvision[private]

CPppAuthentication * iAuthenticate

CPppAuthentication *iAuthenticate[private]

TBool iAuthenticateDone

TBool iAuthenticateDone[private]

Whether authentication has been completed

const CBCAProvision * iBCAProvision

const CBCAProvision *iBCAProvision[private]

CPppBinderIp4 * iBinder4

CPppBinderIp4 *iBinder4[private]

CPppBinderIp6 * iBinder6

CPppBinderIp6 *iBinder6[private]

TCallbackAction iCallbackAction

TCallbackAction iCallbackAction[private]

TBool iCallbackEnabled

TBool iCallbackEnabled[private]

Whether CBCP is enabled

TUint8 * iCallbackIETFRequestPacket

TUint8 *iCallbackIETFRequestPacket[private]

TInt iCallbackIETFRequestPacketLen

TInt iCallbackIETFRequestPacketLen[private]

TCallbackIETFRequestType iCallbackIETFRequestType

TCallbackIETFRequestType iCallbackIETFRequestType[private]

TUint8 * iCallbackInfo

TUint8 *iCallbackInfo[private]

TInt iCallbackInfoLen

TInt iCallbackInfoLen[private]

TBool iCallbackRequestGranted

TBool iCallbackRequestGranted[private]

TInt iConsecMagic

TInt iConsecMagic[private]

CObjectConIx * iContainerForDlls

CObjectConIx *iContainerForDlls[private]

const CCredentialsConfig * iCredentials

const CCredentialsConfig *iCredentials[private]

TBool iDoExternalIPConfiguration

TBool iDoExternalIPConfiguration[private]

Whether we are configured to do Mobile IP

TBool iDoLcpExts

TBool iDoLcpExts[private]

Whether certain extended PPP options from RFC 1570 are to be handled

TInt iError

TInt iError[private]

The reason the link is going down

TBool iGotCallbackInfo

TBool iGotCallbackInfo[private]

Authentication protocol object Whether CBCP configuration has been read

TBool iInitialised

TBool iInitialised[private]

Messages::TNodeSignal::TMessageId iLastRequest

Messages::TNodeSignal::TMessageId iLastRequest[private]

The last request received

TBool iLastRequestErrored

TBool iLastRequestErrored[private]

Elements::TStateChange iLastStateChange

Elements::TStateChange iLastStateChange[private]

CPppLcpConfig::TPppLinkMode iLinkMode

CPppLcpConfig::TPppLinkMode iLinkMode[private]

Whether we are configured for client or server mode

TUint iLocMagicNumber

TUint iLocMagicNumber[private]

TMeshMachineFlowState iMMState

TMeshMachineFlowState iMMState[private]

TInt iMaxRecvSize

TInt iMaxRecvSize[private]

TInt iMaxSendSize

TInt iMaxSendSize[private]

TInt iNcpUpCount

TInt iNcpUpCount[private]

TInt iOpenCount

TInt iOpenCount[private]

Number of times PppOpen has been called without a corresponding PppClose

TPppPhase iPhase

TPppPhase iPhase[private]

Current PPP phase

CPppAcp * iPppAcp

CPppAcp *iPppAcp[private]

Authentication protocol framework object

const CPppProvisionInfo * iPppAgentProvision

const CPppProvisionInfo *iPppAgentProvision[private]

const CPppAuthConfig * iPppAuthConfig

const CPppAuthConfig *iPppAuthConfig[private]

CPppCcp * iPppCcp

CPppCcp *iPppCcp[private]

IP Protocol The Compression Control Protocol object

const CPppLcpConfig * iPppLcpConfig

const CPppLcpConfig *iPppLcpConfig[private]

CPppLinkBase * iPppLink

CPppLinkBase *iPppLink[private]

Lower link-layer object

CPppLrd * iPppLrd

CPppLrd *iPppLrd[private]

Link quality checking object

CPppMsCbcpClient * iPppMsCbcp

CPppMsCbcpClient *iPppMsCbcp[private]

const CIPConfig * iPppNcpConfig

const CIPConfig *iPppNcpConfig[private]

TBool iRecursive

TBool iRecursive[private]

HBufC8 * iRecvIdentification

HBufC8 *iRecvIdentification[private]

TTime iRecvTimeNotification

TTime iRecvTimeNotification[private]

HBufC8 * iRecvTimeRemMessage

HBufC8 *iRecvTimeRemMessage[private]

TTimeIntervalSeconds iRecvTimeRemaining

TTimeIntervalSeconds iRecvTimeRemaining[private]

TDblQue< MPppRecvr > iRecvrList

TDblQue< MPppRecvr >iRecvrList[private]

List of objects that can receive incoming packets

TUint iRemMagicNumber

TUint iRemMagicNumber[private]

TInt iSavedError

TInt iSavedError[private]

TBool iSentIdle

TBool iSentIdle[private]

MNifIfNotify::TAction iTerminateAction

MNifIfNotify::TAction iTerminateAction[private]

The action to take once the link goes down