epoc32/include/in6_if.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     1.1 --- a/epoc32/include/in6_if.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/in6_if.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -1,9 +1,9 @@
     1.4  // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5  // All rights reserved.
     1.6  // This component and the accompanying materials are made available
     1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 +// under the terms of "Eclipse Public License v1.0"
     1.9  // which accompanies this distribution, and is available
    1.10 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.11 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
    1.12  //
    1.13  // Initial Contributors:
    1.14  // Nokia Corporation - initial contribution.
    1.15 @@ -28,7 +28,7 @@
    1.16  #define __IN6_IF_H__
    1.17  
    1.18  #include <e32std.h>
    1.19 -#include "in_iface.h"	// TSoIfInfo
    1.20 +#include <in_sock.h>
    1.21  
    1.22  //	CNifIfBase::Control(aLevel, aName, aOption, ..)
    1.23  //  aLevel is KSOLInterface defined in in_iface.h in standard EPOC
    1.24 @@ -83,6 +83,38 @@
    1.25  */
    1.26  const TUint KIfNeedsND	= 0x00000100;
    1.27  
    1.28 +const TUint KMaxInterfaceName=32;
    1.29 +
    1.30 +/** 
    1.31 + * Holds the name of a network interface. 
    1.32 + * 
    1.33 + * This is used in TSoIfInfo. 
    1.34 + * 
    1.35 + */
    1.36 +typedef TBuf<KMaxInterfaceName> TInterfaceName;
    1.37 +
    1.38 +class TSoIfInfo
    1.39 +// Socket option structure for KSoIfInfo
    1.40 +/** 
    1.41 + * Current network interface operation parameters.
    1.42 + * 
    1.43 + * It is returned by RSocket::GetOpt(), when that function is called with anOptionLevel 
    1.44 + * set to KSOLInterface and anOptionName set to KSoIfInfo. 
    1.45 + *
    1.46 + */
    1.47 +	{
    1.48 +public:
    1.49 +	/** Feature flags. Possible values are defined in in_iface.h. */
    1.50 +	TUint iFeatures;		// Feature flags
    1.51 +	/** Maximum transmission unit. */
    1.52 +	TInt iMtu;				// Max frame size
    1.53 +	/** An approximation of the interface speed in Kbps. */
    1.54 +	TInt iSpeedMetric;		// Indication of performance, approx to Kbps
    1.55 +	/** Interface protocol name, ipcp::\<port\>. */
    1.56 +	TInterfaceName iName;
    1.57 +	};
    1.58 +
    1.59 +
    1.60  class TSoIfInfo6 : public TSoIfInfo		// aOption when aName == KSoIfInfo
    1.61  	/**
    1.62  	* Extends the TSoIfInfo for the receive MTU.
    1.63 @@ -112,6 +144,19 @@
    1.64  	TInt iRMtu;
    1.65  	};
    1.66  
    1.67 +class TSoIfConfigBase
    1.68 +/** 
    1.69 + * Base class for TSoInetIfConfig, which simply identifies the protocol family 
    1.70 + * using the interface. 
    1.71 + *
    1.72 + * @internalComponent
    1.73 + */
    1.74 +	{
    1.75 +public:
    1.76 +	/** The protocol family, e.g. KAfInet. */
    1.77 +	TUint iFamily;
    1.78 +	};
    1.79 +
    1.80  class TSoInet6IfConfig : public TSoIfConfigBase
    1.81  	/**
    1.82  	* IPv6 interface configuration.