linklayercontrol/networkinterfacemgr/inc/nifif_internal.h
changeset 0 af10295192d8
equal deleted inserted replaced
-1:000000000000 0:af10295192d8
       
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // Network interface (nif) APIs.
       
    15 // This file contains all the Internal APIs required to implement a NIF for Symbian OS.
       
    16 // 
       
    17 //
       
    18 
       
    19 /**
       
    20  @file nifif_internal.h
       
    21  @internalTechnology
       
    22  @released
       
    23 */
       
    24 
       
    25 #if !defined(__NIFIF_INTERNAL_H__)
       
    26 #define __NIFIF_INTERNAL_H__
       
    27 
       
    28 #define SYMBIAN_NETWORKING_UPS
       
    29 
       
    30 class CNifIfBase;
       
    31 class CProtocolBase;
       
    32 class MNifIfUser
       
    33 /**
       
    34  * Interface between nifman and a layer 3 protocol
       
    35  * This interface is used by nifman to perform operations on the layer 3 protocol
       
    36  *
       
    37  * @internalTechnology
       
    38  * @released
       
    39  * @since v5.0
       
    40  */
       
    41 	{
       
    42 public:
       
    43 
       
    44 	/**
       
    45 	 *
       
    46 	 */
       
    47 	virtual void IfUserBindFailure(TInt aResult, TAny* aId)=0;
       
    48 
       
    49 	/**
       
    50 	 *
       
    51 	 */
       
    52 	virtual void IfUserNewInterfaceL(CNifIfBase* aIf, TAny* aId)=0;
       
    53 
       
    54 	/**
       
    55 	 *
       
    56 	 */
       
    57 	virtual void IfUserInterfaceDown(TInt aResult, CNifIfBase* aIf)=0;
       
    58 
       
    59 	/**
       
    60 	 *
       
    61 	 */
       
    62 	virtual void IfUserOpenNetworkLayer()=0;
       
    63 
       
    64 	/**
       
    65 	 *
       
    66 	 */
       
    67 	virtual void IfUserCloseNetworkLayer()=0;
       
    68 
       
    69 	/**
       
    70 	 *
       
    71 	 */
       
    72 	virtual CProtocolBase* IfUserProtocol()=0;
       
    73 
       
    74 	/**
       
    75 	 *
       
    76 	 */
       
    77  	virtual TBool IfUserIsNetworkLayerActive()=0;
       
    78 	};
       
    79 
       
    80 /**
       
    81  * Option level for the nif - used with Get/SetOpt/Control/Ioctl methods
       
    82  *
       
    83  * @internalTechnology
       
    84  * @released
       
    85  * @since v5.0
       
    86  */
       
    87 const TUint KNifOptLevel = 0x191;
       
    88 
       
    89 /**
       
    90  * Options for controlling a nif through the RSocket::SetOption() and RSocket::GetOption() interface
       
    91  * @defgroup RSocketSetGetOptoptions Options for use with RSocket::SetOption() and RSocket::GetOption()
       
    92  *
       
    93  * @internalTechnology
       
    94  * @released
       
    95  * @since v5.0
       
    96  */
       
    97 //@{
       
    98 const TUint KNifOptStartInterface = 1;		//< Start the specified nif by CObject-name using Nif::Start
       
    99 const TUint KNifOptStopInterface = 2;		//< Stop the specified nif by CObject-name using Nif::Stop
       
   100 const TUint KNifOptInterfaceProgress = 3;	//< Fetch the current progress from the interface by CObject-name using Nif::ProgressL()
       
   101 //@}
       
   102 
       
   103 /**
       
   104  * @internalComponent
       
   105  */
       
   106 typedef TPckgBuf<MNifIfUser*> TNifIfUser;
       
   107 
       
   108 #ifdef SYMBIAN_NETWORKING_UPS
       
   109 /**
       
   110 @internalTechnology
       
   111 
       
   112 Special NetworkId value to pass in TSoIfConnectionInfo to indicate that the NetworkId
       
   113 should be determined from the socket address.  This should only be issued in special
       
   114 circumstances (see TCP/IP stack and ESock server for detailed comments).
       
   115 */
       
   116 const TUint32 KNetworkIdFromAddress = -1;
       
   117 #endif
       
   118 
       
   119 #endif
       
   120