--- /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