![]() |
AnyConnect Secure Mobility Client 5.1.9.113
|
00001 /************************************************************************** 00002 * Copyright (c) 2022-2023, 2025 Cisco Systems, Inc. 00003 * All Rights Reserved. Cisco Highly Confidential. 00004 *************************************************************************** 00005 * 00006 * File: ClientIfcCommon.h 00007 * Author: Chris Fitzgerald 00008 * Date: 03/2022 00009 * 00010 *************************************************************************** 00011 * Client Interface Common defines for the Client API. 00012 ***************************************************************************/ 00013 #ifndef _CLIENTIFCCOMMON_ 00014 #define _CLIENTIFCCOMMON_ 00015 00016 /* 00017 * Platforms capable of supporting SNAK. 00018 */ 00019 #if defined(PLATFORM_WIN_APP) 00020 #define ANYCONNECT_USE_SNAK 00021 #endif 00022 00023 /* 00024 * Aggregate the compiler directives that together identify desktop platforms into a single define. 00025 */ 00026 #if (defined(_WIN32) || defined(PLATFORM_DARWIN) \ 00027 || (defined(PLATFORM_LINUX) && !defined(ANYCONNECT_USE_SNAK) && !defined (PLATFORM_ANDROID))) \ 00028 && !defined(PLATFORM_WIN_APP) 00029 #define PLATFORM_DESKTOP 00030 #endif 00031 00032 /* 00033 * Platforms capable of supporting our standard interprocess communication mechanisms. At present, 00034 * all platforms on which the client is deployed support our standard IPC mechanisms. 00035 */ 00036 #define INTERPROCESS_COMMUNICATION_SUPPORTED 00037 00038 /* 00039 * Platforms capable of supporting host data objects. 00040 */ 00041 #if defined(PLATFORM_ANDROID) || defined(PLATFORM_APPLE_SSLVPN) 00042 #define HOST_DATA_SUPPORTED 00043 #endif 00044 00045 /* 00046 * Platforms capable of supporting manual import of PKCS12 certificates. 00047 */ 00048 #if defined(PLATFORM_APPLE_SSLVPN) || defined(PLATFORM_ANDROID) || defined(PLATFORM_WIN_APP) 00049 #define MANUAL_PKCS12_IMPORT_SUPPORTED 00050 #endif 00051 00052 /* 00053 * Platforms capable of supporting importing of program data (e.g. localization and profile). 00054 */ 00055 #if defined(PLATFORM_ANDROID) 00056 #define PROGRAM_DATA_IMPORT_SUPPORTED 00057 #endif 00058 00059 /* 00060 * Platforms capable of supporting prefilled connection credentials via URI handling or API calls. 00061 */ 00062 #if defined(PLATFORM_ANDROID) 00063 #define CREDENTIAL_PREFILL_SUPPORTED 00064 #endif 00065 00066 /* 00067 * Platforms capable of supporting dynamic update of the local policy. 00068 */ 00069 #if defined(PLATFORM_ANDROID) 00070 #define DYNAMIC_UPDATE_LOCAL_POLICY 00071 #endif // PLATFORM_ANDROID 00072 00073 #if defined(MANUAL_PKCS12_IMPORT_SUPPORTED) 00074 #if defined(HAVE_STDINT_H) 00075 #include <stdint.h> 00076 #else 00077 typedef unsigned char uint8_t; 00078 #endif 00079 #endif // MANUAL_PKCS12_IMPORT_SUPPORTED 00080 00081 #if defined(PLATFORM_WIN_APP) 00082 typedef unsigned char uint8_t; 00083 #endif 00084 00085 /* 00086 * Platforms capable of supporting local policy directory changes. 00087 */ 00088 #if defined(PLATFORM_DESKTOP) && !defined(DYNAMIC_UPDATE_LOCAL_POLICY) 00089 #define LOCAL_POLICY_DIR_CHANGE_SUPPORTED 00090 #endif 00091 00092 /* 00093 * Platforms capable of supporting profile file directory changes. 00094 */ 00095 #if defined(PLATFORM_DESKTOP) 00096 #define PROFILE_FILES_DIR_CHANGE_SUPPORTED 00097 #endif 00098 00099 /* 00100 * Platforms capable of supporting event notifications to the VPN API. 00101 */ 00102 #if defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED) 00103 #define VPNAPI_EVENT_NOTIFICATION_SUPPORTED 00104 #endif 00105 00106 /* 00107 * Platforms capable of supporting the VPN API transmigration functionality. 00108 */ 00109 #if (defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED)) && \ 00110 defined(VPNAPI_EVENT_NOTIFICATION_SUPPORTED) 00111 #define VPNAPI_TRANSMIGRATION_SUPPORTED 00112 #endif 00113 00114 /* 00115 * Platforms capable of supporting the user notifications of an updated local policy file or 00116 * updated client profiles. 00117 */ 00118 #if defined(LOCAL_POLICY_DIR_CHANGE_SUPPORTED) || defined(PROFILE_FILES_DIR_CHANGE_SUPPORTED) 00119 // #define VPNAPI_NOTIFY_USER_OF_POLICY_OR_PROFILE_CHANGE_SUPPORTED 00120 #endif 00121 00122 #endif // _CLIENTIFCCOMMON_