diff -r 000000000000 -r 33413c0669b9 vpnc_plat/vpnapi/inc/vpnapidefs.h --- /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 TVpnPolicyId; +typedef TBuf8 TVpnPolicyId8; + +typedef TBuf 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 iDescription; ///< A short description of the policy + TBuf iVersion; ///< The version number of the policy + TBuf iIssuerName; ///< The name of the organization or person who created the policy + TBuf 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, "<>"); + +#endif