--- 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 <e32std.h>
-#include "in_iface.h" // TSoIfInfo
+#include <in_sock.h>
// 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<KMaxInterfaceName> 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::\<port\>. */
+ 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.