esockapiextensions/internetsockets/inc/in_iface.h
changeset 14 b33c3d136b7e
parent 0 af10295192d8
equal deleted inserted replaced
1:a579325b79dd 14:b33c3d136b7e
    29 #endif
    29 #endif
    30 
    30 
    31 #if !defined(__NIFVAR_H__)
    31 #if !defined(__NIFVAR_H__)
    32 #include <nifvar.h>
    32 #include <nifvar.h>
    33 #endif
    33 #endif
    34 
    34 #include <in6_if.h>
    35 // Feature Flags
    35 // Feature Flags
    36 
    36 
    37 /**
    37 /**
    38 Is a loopback interface
    38 Is a loopback interface
    39 @internalAll
    39 @internalAll
   146 /** Retrieve IAP and NID information 
   146 /** Retrieve IAP and NID information 
   147  * 
   147  * 
   148  * @internalTechnology
   148  * @internalTechnology
   149  */
   149  */
   150 const TUint KSoIfGetConnectionInfo	= 0xf001;		// Retrieve IAP and NID information
   150 const TUint KSoIfGetConnectionInfo	= 0xf001;		// Retrieve IAP and NID information
   151 
       
   152 /**
       
   153 @internalComponent
       
   154 */
       
   155 const TUint KMaxInterfaceName=32;
       
   156 
       
   157 /** 
       
   158  * Holds the name of a network interface. 
       
   159  * 
       
   160  * This is used in TSoIfInfo. 
       
   161  * 
       
   162  * @internalTechnology
       
   163  */
       
   164 typedef TBuf<KMaxInterfaceName> TInterfaceName;
       
   165 
   151 
   166 class TInetIfConfig
   152 class TInetIfConfig
   167 // Information which allows IP to enter route table entries
   153 // Information which allows IP to enter route table entries
   168 /** 
   154 /** 
   169  * Describes the IP routing options for a network interface. 
   155  * Describes the IP routing options for a network interface. 
   186 	TInetAddr iNameSer1;
   172 	TInetAddr iNameSer1;
   187 	/** IP secondary name server (if any). */
   173 	/** IP secondary name server (if any). */
   188 	TInetAddr iNameSer2;
   174 	TInetAddr iNameSer2;
   189 	};
   175 	};
   190 
   176 
   191 class TSoIfInfo
       
   192 // Socket option structure for KSoIfInfo
       
   193 /** 
       
   194  * Current network interface operation parameters.
       
   195  * 
       
   196  * It is returned by RSocket::GetOpt(), when that function is called with anOptionLevel 
       
   197  * set to KSOLInterface and anOptionName set to KSoIfInfo. 
       
   198  *
       
   199  * @internalTechnology
       
   200  */
       
   201 	{
       
   202 public:
       
   203 	/** Feature flags. Possible values are defined in in_iface.h. */
       
   204 	TUint iFeatures;		// Feature flags
       
   205 	/** Maximum transmission unit. */
       
   206 	TInt iMtu;				// Max frame size
       
   207 	/** An approximation of the interface speed in Kbps. */
       
   208 	TInt iSpeedMetric;		// Indication of performance, approx to Kbps
       
   209 	/** Interface protocol name, ipcp::\<port\>. */
       
   210 	TInterfaceName iName;
       
   211 	};
       
   212 
       
   213 class TSoIfHardwareAddr
   177 class TSoIfHardwareAddr
   214 // Socket option structure for KSoIfHardwareAddr 
   178 // Socket option structure for KSoIfHardwareAddr 
   215 /** 
   179 /** 
   216  * An interface's local hardware address.
   180  * An interface's local hardware address.
   217  * 
   181  * 
   223 public:
   187 public:
   224 	/** Local hardware address. */
   188 	/** Local hardware address. */
   225 	TSockAddr iHardwareAddr;
   189 	TSockAddr iHardwareAddr;
   226 	};
   190 	};
   227 
   191 
   228 class TSoIfConfigBase
       
   229 /** 
       
   230  * Base class for TSoInetIfConfig, which simply identifies the protocol family 
       
   231  * using the interface. 
       
   232  *
       
   233  * @internalComponent
       
   234  */
       
   235 	{
       
   236 public:
       
   237 	/** The protocol family, e.g. KAfInet. */
       
   238 	TUint iFamily;
       
   239 	};
       
   240 
       
   241 class TSoInetIfConfig : public TSoIfConfigBase
   192 class TSoInetIfConfig : public TSoIfConfigBase
   242 /** 
   193 /** 
   243  * Describes the current interface routing configuration. 
   194  * Describes the current interface routing configuration. 
   244  * 
   195  * 
   245  * It is returned by RSocket::GetOpt(), when this function is called with anOptionLevel 
   196  * It is returned by RSocket::GetOpt(), when this function is called with anOptionLevel