AnyConnect Secure Mobility Client
5.1.14.145
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
* Aggregate the compiler directives that together identify desktop platforms into a single define.
25
*/
26
#if (defined(_WIN32) || defined(PLATFORM_DARWIN) \
27
|| (defined(PLATFORM_LINUX) && !defined(ANYCONNECT_USE_SNAK) && !defined (PLATFORM_ANDROID))) \
28
&& !defined(PLATFORM_WIN_APP)
29
#undef PLATFORM_DESKTOP
30
#define PLATFORM_DESKTOP
31
#endif
32
33
/*
34
* Platforms capable of supporting our standard interprocess communication mechanisms. At present,
35
* all platforms on which the client is deployed support our standard IPC mechanisms.
36
*/
37
#define INTERPROCESS_COMMUNICATION_SUPPORTED
38
39
/*
40
* Platforms capable of supporting host data objects.
41
*/
42
#if defined(PLATFORM_ANDROID) || defined(PLATFORM_APPLE_SSLVPN)
43
#define HOST_DATA_SUPPORTED
44
#endif
45
46
/*
47
* Platforms capable of supporting manual import of PKCS12 certificates.
48
*/
49
#if defined(PLATFORM_APPLE_SSLVPN) || defined(PLATFORM_ANDROID) || defined(PLATFORM_WIN_APP)
50
#define MANUAL_PKCS12_IMPORT_SUPPORTED
51
#endif
52
53
/*
54
* Platforms capable of supporting importing of program data (e.g. localization and profile).
55
*/
56
#if defined(PLATFORM_ANDROID)
57
#define PROGRAM_DATA_IMPORT_SUPPORTED
58
#endif
59
60
/*
61
* Platforms capable of supporting prefilled connection credentials via URI handling or API calls.
62
*/
63
#if defined(PLATFORM_ANDROID)
64
#define CREDENTIAL_PREFILL_SUPPORTED
65
#endif
66
67
/*
68
* Platforms capable of supporting dynamic update of the local policy.
69
*/
70
#if defined(PLATFORM_ANDROID)
71
#define DYNAMIC_UPDATE_LOCAL_POLICY
72
#endif
// PLATFORM_ANDROID
73
74
#if defined(MANUAL_PKCS12_IMPORT_SUPPORTED)
75
#if defined(HAVE_STDINT_H)
76
#include <stdint.h>
77
#else
78
typedef
unsigned
char
uint8_t;
79
#endif
80
#endif
// MANUAL_PKCS12_IMPORT_SUPPORTED
81
82
#if defined(PLATFORM_WIN_APP)
83
typedef
unsigned
char
uint8_t;
84
#endif
85
86
/*
87
* Platforms capable of supporting local policy directory changes.
88
*/
89
#if defined(PLATFORM_DESKTOP) && !defined(DYNAMIC_UPDATE_LOCAL_POLICY)
90
#define LOCAL_POLICY_DIR_CHANGE_SUPPORTED
91
#endif
92
93
/*
94
* Platforms capable of supporting profile file directory changes.
95
*/
96
#if defined(PLATFORM_DESKTOP)
97
#define PROFILE_FILES_DIR_CHANGE_SUPPORTED
98
#endif
99
100
/*
101
* Platforms capable of supporting event notifications to the VPN API.
102
*/
103
#if defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)
104
#define VPNAPI_EVENT_NOTIFICATION_SUPPORTED
105
#endif
106
107
/*
108
* Platforms capable of supporting the VPN API transmigration functionality.
109
*/
110
#if (defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)) && \
111
defined(VPNAPI_EVENT_NOTIFICATION_SUPPORTED)
112
#define VPNAPI_TRANSMIGRATION_SUPPORTED
113
#endif
114
115
/*
116
* Platforms capable of supporting the user notifications of an updated local policy file or
117
* updated client profiles.
118
*/
119
#if defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)
120
// #define VPNAPI_NOTIFY_USER_OF_POLICY_OR_PROFILE_CHANGE_SUPPORTED
121
#endif
122
123
#endif
// _CLIENTIFCCOMMON_
AnyConnect C++ API Documentation by
Cisco Systems