diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/in6_if.h --- a/epoc32/include/in6_if.h Wed Mar 31 12:27:01 2010 +0100 +++ b/epoc32/include/in6_if.h Wed Mar 31 12:33:34 2010 +0100 @@ -1,9 +1,9 @@ // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available -// 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 +// under the terms of "Eclipse Public License v1.0" // which accompanies this distribution, and is available -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// at the URL "http://www.eclipse.org/legal/epl-v10.html". // // Initial Contributors: // Nokia Corporation - initial contribution. @@ -28,7 +28,7 @@ #define __IN6_IF_H__ #include -#include "in_iface.h" // TSoIfInfo +#include // CNifIfBase::Control(aLevel, aName, aOption, ..) // aLevel is KSOLInterface defined in in_iface.h in standard EPOC @@ -83,6 +83,38 @@ */ const TUint KIfNeedsND = 0x00000100; +const TUint KMaxInterfaceName=32; + +/** + * Holds the name of a network interface. + * + * This is used in TSoIfInfo. + * + */ +typedef TBuf TInterfaceName; + +class TSoIfInfo +// Socket option structure for KSoIfInfo +/** + * Current network interface operation parameters. + * + * It is returned by RSocket::GetOpt(), when that function is called with anOptionLevel + * set to KSOLInterface and anOptionName set to KSoIfInfo. + * + */ + { +public: + /** Feature flags. Possible values are defined in in_iface.h. */ + TUint iFeatures; // Feature flags + /** Maximum transmission unit. */ + TInt iMtu; // Max frame size + /** An approximation of the interface speed in Kbps. */ + TInt iSpeedMetric; // Indication of performance, approx to Kbps + /** Interface protocol name, ipcp::\. */ + TInterfaceName iName; + }; + + class TSoIfInfo6 : public TSoIfInfo // aOption when aName == KSoIfInfo /** * Extends the TSoIfInfo for the receive MTU. @@ -112,6 +144,19 @@ TInt iRMtu; }; +class TSoIfConfigBase +/** + * Base class for TSoInetIfConfig, which simply identifies the protocol family + * using the interface. + * + * @internalComponent + */ + { +public: + /** The protocol family, e.g. KAfInet. */ + TUint iFamily; + }; + class TSoInet6IfConfig : public TSoIfConfigBase /** * IPv6 interface configuration.