vpnc_plat/vpnapi/inc/vpnapidefs.h
changeset 0 33413c0669b9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vpnc_plat/vpnapi/inc/vpnapidefs.h	Thu Dec 17 09:14:51 2009 +0200
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2003-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: VPN API definitions.
+*
+*/
+
+
+/**  
+ @file
+ @released
+ @publishedPartner
+ 
+ VPN API definitions
+ */
+
+#ifndef __VPNAPIDEFS_H__
+#define __VPNAPIDEFS_H__
+
+// VPN API error codes
+// NOTE! The error code values below MUST be kept in sync with
+// the corresponding error code values defined together by
+// vpnapi/data/vpnerr.rss and vpnapi/data/vpnerr.ra
+const TInt KVpnErrNoPolicyFile                  = -5229;
+const TInt KVpnErrNoPolicyInfoFile              = -5230;
+const TInt KVpnErrInvalidPolicyFile             = -5231;
+const TInt KVpnErrPolicyNotFound                = -5232;
+const TInt KVpnErrInvalidCaCertFile             = -5233;
+const TInt KVpnErrPeerCertFileMissing           = -5234;
+const TInt KVpnErrInvalidUserCertFile           = -5235;
+const TInt KVpnErrInvalidUserPrivKeyFile        = -5236;
+const TInt KVpnErrImportOngoing                 = -5237;
+const TInt KVpnErrPwdChangeOngoing              = -5238;
+const TInt KVpnErrPolicyCountChanged            = -5239;
+const TInt KVpnErrPolicySizeChanged             = -5239;
+
+// Deprecated error code definitions
+const TInt KVpnErrCaCertFileMissing             = -5233;
+const TInt KVpnErrUserCertFileMissing           = -5235;
+const TInt KVpnErrUserPrivKeyFileMissing        = -5236;
+
+// Other constants
+const TInt KMaxIdLength             = 50;
+const TInt KMaxNameLength           = 128;
+const TInt KMaxVersionLength        = 16;
+const TInt KMaxDescriptionLength    = 256;
+
+// Type definitions
+typedef TBuf<KMaxIdLength> TVpnPolicyId;
+typedef TBuf8<KMaxIdLength> TVpnPolicyId8;
+
+typedef TBuf<KMaxNameLength> TVpnPolicyName;
+
+/**
+ * Policy usage status
+ */
+enum TPolicyUsageStatus
+    {
+    EUsageStatusUnknown = 1,    ///< For some reason, the usage status could not be found out
+    EUsageStatusUnused,         ///< The policy is neither assigned to any IAP nor active
+    EUsageStatusAssignedToIap,  ///< The policy is assigned to one or more IAPs but is not currently active
+    EUsageStatusActive,         ///< The policy is assigned to one or more IAPs and is currently active
+    };
+
+/**
+ * Policy PKI status
+ */
+enum TPolicyPkiStatus
+    {
+    EPkiStatusUnknown = 1,      ///< For some reason, the PKI status could not be found out
+    EPkiStatusReady,            ///< The PKI information is present 
+    EPkiStatusNoCert,           ///< At least one of the required certificates is missing 
+    EPkiStatusCertExpired,      ///< At least one of the required certificates has expired 
+    EPkiStatusCertNotValidYet,  ///< At least one of the required certificates is not yet valid 
+    };
+
+/**
+ * A compact policy information structure
+ */
+struct TVpnPolicyInfo
+    {
+    TVpnPolicyId            iId;            ///< Policy ID
+    TVpnPolicyName          iName;          ///< Policy name
+    };
+
+/**
+ * A more detailed policy information structure
+ */
+struct TVpnPolicyDetails : public TVpnPolicyInfo
+    {
+    TBuf<KMaxDescriptionLength> iDescription;   ///< A short description of the policy
+    TBuf<KMaxVersionLength>     iVersion;       ///< The version number of the policy
+    TBuf<KMaxNameLength>        iIssuerName;    ///< The name of the organization or person who created the policy
+    TBuf<KMaxNameLength>        iContactInfo;   ///< The phone number, email address, URL or other kind of issuer contact information
+    TPolicyUsageStatus          iUsageStatus;   ///< Policy usage status
+    TPolicyPkiStatus            iPkiStatus;     ///< Policy usage status
+    };
+
+_LIT(KHiddenPolicyIndicator, "<<HIDDEN>>");
+
+#endif