CProtocolInterfaceBase Class Reference

class CProtocolInterfaceBase : public CProtocolBaseUnbind

A special interface for a protocol module that itself provides access to a network interface.

When IP6 is bound to a protocol, such protocol is loaded whenever IP is active. If the TServerProtocolDesc::iServiceTypeInfo has EInterface (of TProtocolServiceInfo) flag set, the IP6 assumes that the protocol is derived from CProtocolIneterfaceBase and that it supports the GetBinderL method.

The GetBinderL method is then called using the current protocol name (ip or ip6) as a parameter. If GetBinderL succeeds by returning a NIF pointer, the stack installs this an interface to the system. This can be used to create "fake" or real interfaces to the stack outside the NIFMAN control.

WARNING: TCPIP is just stealing the EInterface flag for this purpose. The original use of this flag is unknown, and it does not seem to be used for anything in current socket server (as of writing this).

Since
v7.0

Inherits from

Member Functions Documentation

GetBinderL(const TDesC &)

CNifIfBase *GetBinderL(const TDesC &aName)[pure virtual]

Gets the network inteface provided by the protocol module.

Network layer calls this method once after a protocol that has been tagged as "interface protocol" by use of EInterface flag in the TServerProtocolDesc::iServiceTypeInfo field.

The returned NIF (if ANY) is installed a network interface to the IP stack.

leave
Close the protocol (protocol is not left running).

Parameters

const TDesC & aNameName of the binding protocol ("ip" or "ip6").