| AnyConnect Secure Mobility Client 5.1.9.113

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

# include/ClientIfcCommon.h

    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_