| AnyConnect Secure Mobility Client 5.1.16.194

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_