networksecurity/ipsec/ipsecpolapi/inc/ipsecpolapi.h
branchRCL_3
changeset 58 8d540f55e491
parent 57 abbed5a4b42a
child 75 c1029e558ef5
--- a/networksecurity/ipsec/ipsecpolapi/inc/ipsecpolapi.h	Tue Aug 31 16:45:15 2010 +0300
+++ b/networksecurity/ipsec/ipsecpolapi/inc/ipsecpolapi.h	Wed Sep 01 12:33:58 2010 +0100
@@ -156,6 +156,9 @@
 const TInt KAddIkeBypassSelectors =  (1 << 0);   //< Add IKE bypass selectors to the policy
 const TInt KAddIpsecBypassSelectors =  (1 << 1); //< Add an bypass selector for traffic identified with a TIpsecSelectorInfo structure
 const TInt KAddDhcpBypassSelectors =  (1 << 2);  //< Add DHCP bypass selectors to the policy
+
+const TInt KAddUMAExceptionSelectors = (1<<3);   ///< Add UMA information to the policy
+
 /*
  * A flag uset in GetDebugInfo call.
  *
@@ -164,6 +167,19 @@
 const TInt KParsingErrorInfo =  (1 << 1);        //< Return information about a policy parsing error
 
 /**
+ * An integer constant which identifies an option.Level
+ *
+ **/
+const TInt KOptionLevelDefault = 0x1000;
+
+
+/**
+ * An integer constant which identifies an option.
+ *
+ **/
+const TInt KOptionNameSid = 0x1020;
+
+/**
  * IPSec Policy API methods return the following error codes
  * in the TRequestStatus parameter.
  * NOTE! The error code values below MUST be kept in sync with
@@ -190,6 +206,8 @@
 
 typedef TPckg<TInetAddr> TInetAddrPckg;
 
+
+
 /**
  * RIpsecPolicyServ API is used by clients to:
  *    Users who load and unload policies
@@ -400,7 +418,22 @@
 	 *		system wide error codes.
      */ 
     IMPORT_C void AvailableSelectors(const TDesC8& aGateway, CArrayFixFlat<TIpsecSelectorInfo>* aSelectors, TRequestStatus& aStatus);
-private:
+
+	/**
+	 *Sets an option.
+	 *RIpsecPolicyServ implementations may provide options that can be set with this method.
+	 *Eg:- Seting SID of an appliction that is going to load policy file. Then that application
+	 *Can call this api with option name 'KOptionLevelDefault' and option level 'KOptionNameSid' and provide the SID value.
+	 *
+	 *@param aOptionName : An integer constant which identifies an option
+	 *@param aOptionLevel  : An integer constant which identifies level of an option 
+	 *@param aOption  : An option value as descriptor
+	 *@return TInt:	KErrNone if succsess 
+	 */
+	IMPORT_C TInt SetOpt(TUint aOptionName, TUint aOptionLevel, const TDesC8 &aOption);
+
+
+private:	
 	void EnumerateSelectors(const TDesC8& aGateway, TInt& aCount);
 
 private: