AnyConnect Secure Mobility Client 5.1.19.1862
ClientIfcCommon.h
1/**************************************************************************
2* Copyright (c) 2022-2023, 2025 Cisco Systems, Inc.
3* All Rights Reserved. Cisco Highly Confidential.
4***************************************************************************
5*
6* File: ClientIfcCommon.h
7* Author: Chris Fitzgerald
8* Date: 03/2022
9*
10***************************************************************************
11* Client Interface Common defines for the Client API.
12***************************************************************************/
13#ifndef _CLIENTIFCCOMMON_
14#define _CLIENTIFCCOMMON_
15
16/*
17* Platforms capable of supporting SNAK.
18*/
19#if defined(PLATFORM_WIN_APP)
20 #define ANYCONNECT_USE_SNAK
21#endif
22
23/*
24* Platforms capable of supporting our standard interprocess communication mechanisms. At present,
25* all platforms on which the client is deployed support our standard IPC mechanisms.
26*/
27#define INTERPROCESS_COMMUNICATION_SUPPORTED
28
29/*
30* Platforms capable of supporting host data objects.
31*/
32#if defined(PLATFORM_ANDROID) || defined(PLATFORM_APPLE_SSLVPN)
33 #define HOST_DATA_SUPPORTED
34#endif
35
36/*
37* Platforms capable of supporting manual import of PKCS12 certificates.
38*/
39#if defined(PLATFORM_APPLE_SSLVPN) || defined(PLATFORM_ANDROID) || defined(PLATFORM_WIN_APP)
40 #define MANUAL_PKCS12_IMPORT_SUPPORTED
41#endif
42
43/*
44* Platforms capable of supporting importing of program data (e.g. localization and profile).
45*/
46#if defined(PLATFORM_ANDROID)
47 #define PROGRAM_DATA_IMPORT_SUPPORTED
48#endif
49
50/*
51* Platforms capable of supporting prefilled connection credentials via URI handling or API calls.
52*/
53#if defined(PLATFORM_ANDROID)
54 #define CREDENTIAL_PREFILL_SUPPORTED
55#endif
56
57/*
58* Platforms capable of supporting dynamic update of the local policy.
59*/
60#if defined(PLATFORM_ANDROID)
61 #define DYNAMIC_UPDATE_LOCAL_POLICY
62#endif // PLATFORM_ANDROID
63
64#if defined(MANUAL_PKCS12_IMPORT_SUPPORTED)
65 #if defined(HAVE_STDINT_H)
66 #include <stdint.h>
67 #else
68 typedef unsigned char uint8_t;
69 #endif
70#endif // MANUAL_PKCS12_IMPORT_SUPPORTED
71
72#if defined(PLATFORM_WIN_APP)
73 typedef unsigned char uint8_t;
74#endif
75
76/*
77* Platforms capable of supporting local policy directory changes.
78*/
79#if defined(PLATFORM_DESKTOP) && !defined(DYNAMIC_UPDATE_LOCAL_POLICY)
80 #define LOCAL_POLICY_DIR_CHANGE_SUPPORTED
81#endif
82
83/*
84* Platforms capable of supporting profile file directory changes.
85*/
86#if defined(PLATFORM_DESKTOP)
87 #define PROFILE_FILES_DIR_CHANGE_SUPPORTED
88#endif
89
90/*
91* Platforms capable of supporting event notifications to the VPN API.
92*/
93#if defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)
94 #define VPNAPI_EVENT_NOTIFICATION_SUPPORTED
95#endif
96
97/*
98* Platforms capable of supporting the VPN API transmigration functionality.
99*/
100#if (defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)) && \
101 defined(VPNAPI_EVENT_NOTIFICATION_SUPPORTED)
102 #define VPNAPI_TRANSMIGRATION_SUPPORTED
103#endif
104
105/*
106* Platforms capable of supporting the user notifications of an updated local policy file or
107* updated client profiles.
108*/
109#if defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)
110// #define VPNAPI_NOTIFY_USER_OF_POLICY_OR_PROFILE_CHANGE_SUPPORTED
111#endif
112
113#endif // _CLIENTIFCCOMMON_