ClientIfcCommon.h
/**************************************************************************
* Copyright (c) 2022-2023, 2025 Cisco Systems, Inc.
* All Rights Reserved. Cisco Highly Confidential.
***************************************************************************
*
* File: ClientIfcCommon.h
* Author: Chris Fitzgerald
* Date: 03/2022
*
***************************************************************************
* Client Interface Common defines for the Client API.
***************************************************************************/
#ifndef _CLIENTIFCCOMMON_
#define _CLIENTIFCCOMMON_
/*
* Platforms capable of supporting SNAK.
*/
#if defined(PLATFORM_WIN_APP)
#define ANYCONNECT_USE_SNAK
#endif
/*
* Platforms capable of supporting our standard interprocess communication mechanisms. At present,
* all platforms on which the client is deployed support our standard IPC mechanisms.
*/
#define INTERPROCESS_COMMUNICATION_SUPPORTED
/*
* Platforms capable of supporting host data objects.
*/
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_APPLE_SSLVPN)
#define HOST_DATA_SUPPORTED
#endif
/*
* Platforms capable of supporting manual import of PKCS12 certificates.
*/
#if defined(PLATFORM_APPLE_SSLVPN) || defined(PLATFORM_ANDROID) || defined(PLATFORM_WIN_APP)
#define MANUAL_PKCS12_IMPORT_SUPPORTED
#endif
/*
* Platforms capable of supporting importing of program data (e.g. localization and profile).
*/
#if defined(PLATFORM_ANDROID)
#define PROGRAM_DATA_IMPORT_SUPPORTED
#endif
/*
* Platforms capable of supporting prefilled connection credentials via URI handling or API calls.
*/
#if defined(PLATFORM_ANDROID)
#define CREDENTIAL_PREFILL_SUPPORTED
#endif
/*
* Platforms capable of supporting dynamic update of the local policy.
*/
#if defined(PLATFORM_ANDROID)
#define DYNAMIC_UPDATE_LOCAL_POLICY
#endif // PLATFORM_ANDROID
#if defined(MANUAL_PKCS12_IMPORT_SUPPORTED)
#if defined(HAVE_STDINT_H)
#include <stdint.h>
#else
typedef unsigned char uint8_t;
#endif
#endif // MANUAL_PKCS12_IMPORT_SUPPORTED
#if defined(PLATFORM_WIN_APP)
typedef unsigned char uint8_t;
#endif
/*
* Platforms capable of supporting local policy directory changes.
*/
#if defined(PLATFORM_DESKTOP) && !defined(DYNAMIC_UPDATE_LOCAL_POLICY)
#define LOCAL_POLICY_DIR_CHANGE_SUPPORTED
#endif
/*
* Platforms capable of supporting profile file directory changes.
*/
#if defined(PLATFORM_DESKTOP)
#define PROFILE_FILES_DIR_CHANGE_SUPPORTED
#endif
/*
* Platforms capable of supporting event notifications to the VPN API.
*/
#if defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)
#define VPNAPI_EVENT_NOTIFICATION_SUPPORTED
#endif
/*
* Platforms capable of supporting the VPN API transmigration functionality.
*/
#if (defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)) && \
defined(VPNAPI_EVENT_NOTIFICATION_SUPPORTED)
#define VPNAPI_TRANSMIGRATION_SUPPORTED
#endif
/*
* Platforms capable of supporting the user notifications of an updated local policy file or
* updated client profiles.
*/
#if defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)
// #define VPNAPI_NOTIFY_USER_OF_POLICY_OR_PROFILE_CHANGE_SUPPORTED
#endif
#endif // _CLIENTIFCCOMMON_