api.h File Reference
`#include "GlobalEnums.h"`

Go to the source code of this file.

## Macros

#define | UNICODE
#define | _UNICODE
#define | tstring std::wstring
#define | tostream std::wostream
#define | VPN_VPNAPI __declspec(dllimport)
#define | OUT
#define | IN

## Enumerations

enum | MessageType { MsgType_Error , MsgType_Alert , MsgType_Warn , MsgType_Info , MsgType_Status , MsgType_UrlError , MsgType_Announcement , MsgType_Ephemeral_Alert , MsgType_Critical }
enum | SDITokenType { SDITT_NONE , SDITT_HARDWARE , SDITT_SOFTWARE }
enum | VPNState { CONNECTED = STATE_CONNECTED , DISCONNECTED = STATE_DISCONNECTED , CONNECTING = STATE_CONNECTING , DISCONNECTING = STATE_DISCONNECTING , RECONNECTING = STATE_RECONNECTING , PAUSING = STATE_PAUSING , PAUSED = STATE_PAUSED , SSOPOLLING = STATE_SSOPOLLING , UNKNOWN = ~0 }

enum

VPNSubState {
VPNSS_NORMAL = VCSS_NORMAL , VPNSS_INDEFINITE_DELAY = VCSS_INDEFINITE_DELAY , VPNSS_SESSION_EXPIRING = VCSS_SESSION_EXPIRING , VPNSS_MT_DISCONNECTED_DISABLED = VCSS_MT_DISCONNECTED_DISABLED ,
VPNSS_MT_DISCONNECTED_TRUSTED_NW = VCSS_MT_DISCONNECTED_TRUSTED_NW , VPNSS_MT_DISCONNECTED_USER_TUNNEL_ACTIVE = VCSS_MT_DISCONNECTED_USER_TUNNEL_ACTIVE , VPNSS_MT_DISCONNECTED_LAUNCH_FAILED = VCSS_MT_DISCONNECTED_LAUNCH_FAILED , VPNSS_MT_DISCONNECTED_CONNECT_FAILED = VCSS_MT_DISCONNECTED_CONNECT_FAILED ,
VPNSS_MT_DISCONNECTED_BAD_VPN_CONFIG = VCSS_MT_DISCONNECTED_BAD_VPN_CONFIG , VPNSS_MT_DISCONNECTED_SW_UP_PENDING = VCSS_MT_DISCONNECTED_SW_UP_PENDING , VPNSS_MTU_ADJUSTMENT_PENDING = VCSS_MTU_ADJUSTMENT_PENDING
}

enum | VPNDisconnectReason { UserRequestedDisconnect , ApplicationTermination }
enum | WMHint { MINIMIZE , OPEN , QUIT , REFRESHHOSTNAMES , REFRESHPREFS , SHOWCONNECTING , CLOSECREDENTIALPOPUP }
enum | WMHintReason { SECONDGUISTART , PROXYREQUEST , SERVICEFAILURE , DISCONNECT , SERVICESTOPPED , CONNECT , REASONUNKNOWN }
enum | ConnectPromptType { CERTIFICATE , CREDENTIALS , PROXY , MANUAL_PKCS12_IMPORT , STATUS , SINGLESIGNON , SINGLELOGOUT , LEGACY_SINGLESIGNON }
enum | PromptType { Prompt_Input , Prompt_Password , Prompt_Banner , Prompt_Combo , Prompt_Header , Prompt_Hidden , Prompt_CheckBox , Prompt_SSO }

enum

PreferenceId {
ServiceDisable , CertificateStoreOverride , CertificateStore , CertificateStoreMac ,
CertificateStoreLinux , ShowPreConnectMessage , AutoConnectOnStart , MinimizeOnConnect ,
LocalLanAccess , DisableCaptivePortalDetection , AutoReconnect , AutoReconnectBehavior ,
SuspendOnConnectedStandby , UseStartBeforeLogon , AutoUpdate , RSASecurIDIntegration ,
WindowsLogonEnforcement , WindowsVPNEstablishment , LinuxLogonEnforcement , LinuxVPNEstablishment ,
ProxySettings , AllowLocalProxyConnections , PPPExclusion , PPPExclusionServerIP ,
AutomaticVPNPolicy , TrustedNetworkPolicy , UntrustedNetworkPolicy , BypassConnectUponSessionTimeout ,
TrustedDNSDomains , TrustedDNSServers , TrustedHttpsServerList , DisableUntrustedInterfaces ,
AlwaysOn , ConnectFailurePolicy , AllowCaptivePortalRemediation , CaptivePortalRemediationTimeout ,
ApplyLastVPNLocalResourceRules , AllowVPNDisconnect , SuppressConnectionRetries , AllowedHosts ,
EnableScripting , TerminateScriptOnNextEvent , EnablePostSBLOnConnectScript , AutomaticCertSelection ,
RetainVpnOnLogoff , UserEnforcement , DeviceLockRequired , DeviceLockMaximumTimeoutMinutes ,
DeviceLockMinimumPasswordLength , DeviceLockPasswordComplexity , EnableAutomaticServerSelection , AutoServerSelectionImprovement ,
AutoServerSelectionSuspendTime , AuthenticationTimeout , SafeWordSofTokenIntegration , AllowIPsecOverSSL ,
ClearSmartcardPin , IPProtocolSupport , CaptivePortalRemediationBrowserFailover , AllowManualHostInput ,
BlockUntrustedServers , PublicProxyServerAddress , CertificatePinning , UnknownPreference
}

enum | PreferenceScope { User , Global , UserAndGlobal }

enum

OperatingMode {
FIPS = (1 << 0) , StartBeforeLogon = (1 << 1) , GUI = (1 << 2) , TrustedNetworkDetection = (1 << 3) ,
AlwaysOnVpn = (1 << 4) , NetworkIssue = (1 << 5) , Quarantined = (1 << 6) , AutomaticHeadendSelection = (1 << 7) ,
DisconnectAllowed = (1 << 8) , VPNDisabled = (1 << 9) , SCEPMode = (1 << 10) , OnTrustedNetwork = (1 << 11) ,
ManualHostInputAllowed = (1 << 12) , ErrorSuppressed = (1 << 13) , StrictMode = (1 << 14) , CLI = (1 << 15) ,
Management = (1 << 16)
}

enum

VPNError {
VPNSuccess = 0 , VPNError_Generic_FatalError = 1 , VPNError_Connection_Error = 100 , VPNError_Connection_InvalidGroupURL ,
VPNError_Network_Error = 200 , VPNError_Authentication_Error = 300 , VPNError_Authentication_DAP_Terminate , VPNError_ClientCertificate_UnknownError = 400 ,
VPNError_ClientCertificate_Missing , VPNError_ClientCertificate_Expired , VPNError_ClientCertificate_NotYetValid , VPNError_ServerCertificate_UnknownError = 500 ,
VPNError_ServerCertificate_Expired , VPNError_ServerCertificate_NotYetValid
}

enum | CertAuthMode { CertAuth_Automatic , CertAuth_Disabled , CertAuth_Manual }
enum | CertificateType { CertificateType_Client , CertificateType_SystemTrusted , CertificateType_Server }

enum

CertConfirmReason {
CertConfirmReason_Unspecified , CertConfirmReason_NameMismatch , CertConfirmReason_Expired , CertConfirmReason_NotValidYet ,
CertConfirmReason_UntrustedSource , CertConfirmReason_InvalidUse , CertConfirmReason_Revoked , CertConfirmReason_Malformed ,
CertConfirmReason_NotFipsCompliant , CertConfirmReason_InvalidateDate , CertConfirmReason_SignatureAlgorithm , CertConfirmReason_KeySize
}

enum | UserResponseError { UserResponseError_None , UserResponseError_Unspecified , UserResponseError_BadServerCert , UserResponseError_SsoNavigation , UserResponseError_SsoGettingCookie , UserResponseError_SsoTimeout , UserResponseError_SsoMissingDependency , UserResponseError_SsoClientCertRequest , UserResponseError_SsoAborted }
enum | ClientType { ClientType_GUI , ClientType_GUI_SBL , ClientType_CLI , ClientType_MGMT }

## Detailed Description

This file contains some basic compiler definitions as well as common enums.

## Macro Definition Documentation

## tstring

#define tstring std::wstring

std::wstring my wstring description

## Enumeration Type Documentation

## CertAuthMode

enum CertAuthMode

Enumerator
CertAuth_Automatic | Will try each available certificate in succession until authentication is obtained or we run out of available certificates
CertAuth_Disabled | Will disable Certificate Based Authentication
CertAuth_Manual | Will only use preconfigured certificate to attempt Certificate Based Authentication

{
CertAuth_Automatic, /**< Will try each available certificate in succession
until authentication is obtained or we run out of
available certificates */
CertAuth_Disabled, /**< Will disable Certificate Based Authentication */
CertAuth_Manual /**< Will only use preconfigured certificate to attempt
Certificate Based Authentication */
};
CertAuth_Automatic
@ CertAuth_Automatic
Definition api.h:642
CertAuth_Manual
@ CertAuth_Manual
Definition api.h:646
CertAuth_Disabled
@ CertAuth_Disabled
Definition api.h:645

## CertConfirmReason

enum CertConfirmReason

{
CertConfirmReason_Unspecified,
CertConfirmReason_NameMismatch,
CertConfirmReason_Expired,
CertConfirmReason_NotValidYet,
CertConfirmReason_UntrustedSource,
CertConfirmReason_InvalidUse,
CertConfirmReason_Revoked,
CertConfirmReason_Malformed,
CertConfirmReason_NotFipsCompliant,
CertConfirmReason_InvalidateDate,
CertConfirmReason_SignatureAlgorithm,
CertConfirmReason_KeySize
};

## CertificateType

enum CertificateType

{
CertificateType_Client,
CertificateType_SystemTrusted,
CertificateType_Server
};

## ClientType

enum ClientType

{
ClientType_GUI,
ClientType_GUI_SBL,
ClientType_CLI,
ClientType_MGMT
};

## ConnectPromptType

enum ConnectPromptType

provides an indication of the type of credential data being requested.

Enumerator
CERTIFICATE | Indicates a certificate-only type of connection and would not normally be sent to client unless a post-authentication banner is to be displayed.
CREDENTIALS | Indicates that the user is to be prompted for authentication credentials
PROXY | Indicates that the user is to be prompted for proxy-authentication credentials
MANUAL_PKCS12_IMPORT | Indicates that the user is to be prompted for passwords related to PKCS12 import
STATUS | Indicates that status messages are to be displayed to the user
SINGLESIGNON | Indicates an embedded browser based single sign-on authentication method is requested.
SINGLELOGOUT | Indicates an embedded browser based single sign-on authentication logout is requested.
LEGACY_SINGLESIGNON | (deprecated) Indicates a browser based single sign-on authentication method is requested.

{
CERTIFICATE, /**< Indicates a certificate-only type of connection and
would not normally be sent to client unless a
post-authentication banner is to be displayed. */
CREDENTIALS, /**< Indicates that the user is to be prompted for authentication
credentials */
PROXY, /**< Indicates that the user is to be prompted for
proxy-authentication credentials */
MANUAL_PKCS12_IMPORT, /**< Indicates that the user is to be prompted for passwords related
to PKCS12 import*/
STATUS, /**< Indicates that status messages are to be displayed to
the user*/
SINGLESIGNON, /**< Indicates an embedded browser based single sign-on authentication method is requested. */
SINGLELOGOUT, /**< Indicates an embedded browser based single sign-on authentication logout is requested. */
LEGACY_SINGLESIGNON, /**< (deprecated) Indicates a browser based single sign-on authentication method is requested. */
};
SINGLESIGNON
@ SINGLESIGNON
Definition api.h:257
MANUAL_PKCS12_IMPORT
@ MANUAL_PKCS12_IMPORT
Definition api.h:253
CREDENTIALS
@ CREDENTIALS
Definition api.h:249
CERTIFICATE
@ CERTIFICATE
Definition api.h:246
STATUS
@ STATUS
Definition api.h:255
SINGLELOGOUT
@ SINGLELOGOUT
Definition api.h:258
PROXY
@ PROXY
Definition api.h:251
LEGACY_SINGLESIGNON
@ LEGACY_SINGLESIGNON
Definition api.h:259

## MessageType

enum MessageType

MessageType presents a level of severity associated with messages that are sent to the API. The severity can be useful for deciding how a message is to be shown. A UI might decide based on type to show a message as a modal dialog versus a message written to the status area for an existing UI.

Enumerator
MsgType_Error | Issue usually requiring user to acknowledge
MsgType_Alert | Warning message that must be shown to user.
MsgType_Warn | Less severe, not required to be shown to user
MsgType_Info | General message providing status, progress, etc.
MsgType_Status | Can be used to indicate unexpected tunnel status change.
MsgType_UrlError | Error message that provides additional information by opening browser.
MsgType_Announcement | Informational message that must be shown to the user. Announcements are currently only supported on desktop platforms.
MsgType_Ephemeral_Alert | Warning message that must be shown to the user, but is closed by the occurrence of an error, announcement, alert, or critical message. Ephemeral Alerts are currently only supported on desktop platforms
MsgType_Critical | Error message that MUST BE POPPED UP to the user, even if operating in ErrorSuppressed mode.

{
MsgType_Error, /**< Issue usually requiring user to acknowledge */
MsgType_Alert, /**< Warning message that must be shown to user. */
MsgType_Warn, /**< Less severe, not required to be shown to user */
MsgType_Info, /**< General message providing status, progress, etc. */
MsgType_Status, /**< Can be used to indicate unexpected tunnel status change. */
MsgType_UrlError, /**< Error message that provides additional information by opening browser. */
MsgType_Announcement, /**< Informational message that must be shown to the user.
Announcements are currently only supported on desktop platforms. */
MsgType_Ephemeral_Alert,/**< Warning message that must be shown to the user, but is closed by
the occurrence of an error, announcement, alert, or critical message.
Ephemeral Alerts are currently only supported on desktop platforms */
MsgType_Critical, /**< Error message that MUST BE POPPED UP to the user, even if operating in
ErrorSuppressed mode. */
};
MsgType_Error
@ MsgType_Error
Definition api.h:110
MsgType_Announcement
@ MsgType_Announcement
Definition api.h:116
MsgType_Critical
@ MsgType_Critical
Definition api.h:121
MsgType_Info
@ MsgType_Info
Definition api.h:113
MsgType_UrlError
@ MsgType_UrlError
Definition api.h:115
MsgType_Alert
@ MsgType_Alert
Definition api.h:111
MsgType_Status
@ MsgType_Status
Definition api.h:114
MsgType_Warn
@ MsgType_Warn
Definition api.h:112
MsgType_Ephemeral_Alert
@ MsgType_Ephemeral_Alert
Definition api.h:118

## OperatingMode

enum OperatingMode

Indicates the client mode of operation. Unlike tunneling mode or other mutually exclusive modes, client operating modes are independent settings, several of which can be turned on simultaneously.

Enumerator
FIPS | Indicates that the client is running in FIPS mode.
StartBeforeLogon | Indicates that the client is running in Start Before Login mode.
GUI | Indicates that the client is a GUI client.
TrustedNetworkDetection | Indicates that a Trusted Network Detection policy is enabled for the client.
AlwaysOnVpn | Indicates that the Always On policy is enabled for the client.
NetworkIssue | For user notifications only. Indication by API to the UI that there is a network condition.
Quarantined | Indicates that the VPN session is being Quarantined by the secure gateway.
AutomaticHeadendSelection | Indicates that Automatic Headend is enabled.
DisconnectAllowed | Indicates that the user is allowed to disconnect the VPN based on policy.
VPNDisabled | Indicates that the VPN service is to be marked as disabled.
SCEPMode | Indicates that the client is performing a SCEP cert enrollment.
OnTrustedNetwork | Indicates that at last check, the client detected that it was on a trusted network.
ManualHostInputAllowed | Indicates that the user is allowed to add a new host by typing its name in the VPN edit box.
ErrorSuppressed | Indicates a connection error has been returned fronm the agent, but was suppressed to warning to prevent popup dialog in the UI.
StrictMode | Indicates that the client is running in strict certificate trust mode.
CLI | Indicates that the client is a CLI client.
Management | Indicates that the client is strictly used for initiating a management tunnel.

{
FIPS = (1 << 0), /**< Indicates that the client is
running in FIPS mode. */
StartBeforeLogon = (1 << 1), /**< Indicates that the client is
running in Start Before Login
mode. */
GUI = (1 << 2), /**< Indicates that the client is
a GUI client. */
TrustedNetworkDetection = (1 << 3), /**< Indicates that a Trusted Network
Detection policy is enabled for
the client. */
AlwaysOnVpn = (1 << 4), /**< Indicates that the Always On
policy is enabled for the client. */
NetworkIssue = (1 << 5), /**< For user notifications only.
Indication by API to the UI that
there is a network condition. */
Quarantined = (1 << 6), /**< Indicates that the VPN session is being
Quarantined by the secure gateway. */
AutomaticHeadendSelection= (1 << 7), /**< Indicates that Automatic Headend
is enabled. */
DisconnectAllowed = (1 << 8), /**< Indicates that the user is allowed
to disconnect the VPN based on
policy. */
VPNDisabled = (1 << 9), /**< Indicates that the VPN service is
to be marked as disabled. */
SCEPMode = (1 << 10), /**< Indicates that the client is
performing a SCEP cert enrollment. */
OnTrustedNetwork = (1 << 11), /**< Indicates that at last check, the
client detected that it was on
a trusted network. */
ManualHostInputAllowed = (1 << 12), /**< Indicates that the user is allowed
to add a new host by typing its name
in the VPN edit box. */
ErrorSuppressed = (1 << 13), /**< Indicates a connection error has
been returned fronm the agent, but
was suppressed to warning to
prevent popup dialog in the UI. */
StrictMode = (1 << 14), /**< Indicates that the client is
running in strict certificate trust mode. */
CLI = (1 << 15), /**< Indicates that the client is
a CLI client. */
Management = (1 << 16) /**< Indicates that the client is strictly
used for initiating a management tunnel. */
};
CLI
@ CLI
Definition api.h:585
VPNDisabled
@ VPNDisabled
Definition api.h:569
FIPS
@ FIPS
Definition api.h:547
NetworkIssue
@ NetworkIssue
Definition api.h:559
DisconnectAllowed
@ DisconnectAllowed
Definition api.h:566
GUI
@ GUI
Definition api.h:552
ErrorSuppressed
@ ErrorSuppressed
Definition api.h:579
ManualHostInputAllowed
@ ManualHostInputAllowed
Definition api.h:576
AlwaysOnVpn
@ AlwaysOnVpn
Definition api.h:557
AutomaticHeadendSelection
@ AutomaticHeadendSelection
Definition api.h:564
StrictMode
@ StrictMode
Definition api.h:583
TrustedNetworkDetection
@ TrustedNetworkDetection
Definition api.h:554
Management
@ Management
Definition api.h:587
Quarantined
@ Quarantined
Definition api.h:562
OnTrustedNetwork
@ OnTrustedNetwork
Definition api.h:573
StartBeforeLogon
@ StartBeforeLogon
Definition api.h:549
SCEPMode
@ SCEPMode
Definition api.h:571

## PreferenceId

enum PreferenceId

Enumerator
ServiceDisable | This preference disable the VPN service. If more than one profile exists and any one profile has VPN enabled, then it will be enabled. False is the default.
CertificateStoreOverride | This preference will trigger an alternate authentication sequence in the API. The preference is only settable by an administrator.
CertificateStore | This preference indicates which Windows certificate store AnyConnect should look in for client certificates. The options are All, Machine and User with a default of All. The preference is only settable by an administrator.
CertificateStoreMac | This preference indicates which macOS keychain AnyConnect should look in for client certificates. The options are All, System and Login with a default of All. The preference is only settable by an administrator.
CertificateStoreLinux | This preference indicates which Linux certificate store AnyConnect should look in for client certificates. The options are All, Machine and User with a default of All. The preference is only settable by an administrator.
ShowPreConnectMessage | The ShowPreConnectMessage preference gives the administrator the ability to display an AnyConnect startup banner message. The message will appear only once per AnyConnect program start. The preference is only settable by an administrator.
AutoConnectOnStart | This preference allows the user to select whether to establish a connection automatically on startup or not.
MinimizeOnConnect | This preference allows the user to select if the GUI should minimize when the connection is established
LocalLanAccess | This preference will provide a mechanism where the user can disable access to their Local LAN.
DisableCaptivePortalDetection | This preference will provide a mechanism where the user can disable captive portal detection.
AutoReconnect | First control of the reconnect behavior. If the client becomes disconnected for any reason, a reconnect attempt is made.
AutoReconnectBehavior | Second control of the reconnect behavior. When coming out of suspend/hibernate/standby mode. Options are disconnect on suspend and reconnect after suspend.
SuspendOnConnectedStandby | This setting allows to control whether the VPN tunnel is suspended when the system enters the Connected Standby mode. It applies only to Windows 8 and above.
UseStartBeforeLogon | Deprecated. Start Before Logon is no longer controlled via profile preference and is enabled by default.
AutoUpdate | Once the Downloader has loaded the profile, it can check the AutoUpdate preference to see if updates are either disabled or enabled
RSASecurIDIntegration | This preference will enable the administrator and possibly end user to select the preferred method of managing their SDI PIN and PASSCODE interactions. Options are Automatic (default), SoftwareTokens and HardwareTokens.
WindowsLogonEnforcement | This preference allows an administrator to control if more than one user may be logged into the client PC during the VPN connection (Windows only).
WindowsVPNEstablishment | This preference allows an administrator to control whether or not remote users may initiate a VPN connection (Windows only).
LinuxLogonEnforcement | This preference allows an administrator to control if more than one user may be logged into the client PC during the VPN connection (Linux only).
LinuxVPNEstablishment | This preference allows an administrator to control whether or not remote users may initiate a VPN connection (Linux only).
ProxySettings | This preference allows an administrator to control how user's proxy setups are handled.
AllowLocalProxyConnections | This preference allows the administrator to control whether to allow establishing a connection through a local proxy.
PPPExclusion | This preference allows an administrator to control the policy used to exclude routes to PPP servers when connecting over L2TP or PPTP. Options are Automatic (default), Disable, and Override.
PPPExclusionServerIP | When PPPExclusion is set to Manual, the value of this preference allows an end user to specify the address of a PPP server that should be excluded from tunnel traffic.
AutomaticVPNPolicy | This preference allows an administrator to define a policy to automatically manage when a VPN connection should be started or stopped.
TrustedNetworkPolicy | This preference allows an administrator to define a policy for users in trusted networks. The options are: Disconnect or DoNothing.
UntrustedNetworkPolicy | This preference allows an administrator to define a policy for users in untrusted networks. The options are: Connect or DoNothing.
BypassConnectUponSessionTimeout | This preference allows an administrator the ability to instruct the client to bypass the automatic connection retry after a VPN session timeout.
TrustedDNSDomains | This preference defines a list of comma separated DNS suffixes that a network interface in a trusted network might have.
TrustedDNSServers | This preference defines a list of comma separated DNS servers that a network interface in a trusted network might have.
TrustedHttpsServerList | This preference defines a list of comma separated https servers reachable only via a trusted network.
DisableUntrustedInterfaces | This preference disables interface without trusted server connectivity while in trusted network when there are multiple network interfaces.
AlwaysOn | This preference governs VPN reestablishment after interruptions
ConnectFailurePolicy | This preference gives the network administrator the ability to dictate the network access allowed by the client endpoint device following a VPN connection establishment failure. It is a component of Always On
AllowCaptivePortalRemediation | This preference gives the network administrator the ability to dictate the network access allowed by the client endpoint device following a VPN connection establishment failure it is a component of Always On
CaptivePortalRemediationTimeout | This preference allows the network administrator the ability to impose a time limit for captive portal remediation when the ConnectFailurePolicy value is Closed It is a component of Always On
ApplyLastVPNLocalResourceRules | This preference gives the network administrator the ability to allow split routes and firewall rules to be applied following a VPN connection establishment failure when the ConnectFailurePolicy value is Closed It is a component of Always On
AllowVPNDisconnect | During Always On, this specifies that the user is allowed to disconnect the VPN session.
SuppressConnectionRetries | During Always On, this preference gives the network administrator the ability to suppress the VPN connection retry attempts
AllowedHosts | During Always On, user has access to the specified hosts when VPN is disconnected.
EnableScripting | This preference allows an administrator to enable scripting (on connect or on disconnect).
TerminateScriptOnNextEvent | This preference dictates whether or not AnyConnect will terminate a running script process if a transition to another scriptable event occurs.
EnablePostSBLOnConnectScript | This preference is used to control whether or not the OnConnect script will be launched from the desktop GUI when a tunnel has been established via SBL.
AutomaticCertSelection | This preference dictates whether or not to disable the default automatic certificate selection for user certificates. If disabled, a certificate selection dialog is displayed. This only applies if the GUI is enabled and not SBL. This only applies to Windows (not WinMobile).
RetainVpnOnLogoff | First control of the logoff behavior. This preference allows an administrator to control if the VPN is terminated or retained after user logs off.
UserEnforcement | Second control of the logoff behavior. When the VPN connection has been retained after user logged off. Controls what user can log in and keep the VPN connection. Options are same user only and any user.
DeviceLockRequired | This preference indicates whether or not a Windows Mobile device must be configured with a password or PIN prior to establishing a VPN connection. This configuration is only valid on Windows Mobile devices that use the Microsoft Default Local Authentication Provider (LAP).
DeviceLockMaximumTimeoutMinutes | When set to a non-negative number, this preference specifies the maximum number of minutes a device can be inactive before device lock takes into effect. (WM5/WM5AKU2+)
DeviceLockMinimumPasswordLength | When set to a non-negative number, this preference specifies that any PIN/password used for device lock must be equal to or longer than the specified value, in characters. This setting must be pushed down to the mobile device by syncing with an Exchange server before it can be enforced. (WM5AKU2+)
DeviceLockPasswordComplexity | This preference checks whether or not the password belongs to one of three subtypes: alpha, pin, strong
EnableAutomaticServerSelection | Automatic server selection will automatically select the optimal secure gateway for the endpoint
AutoServerSelectionImprovement | During a reconnection attempt after a system resume, this setting specifies the minimum estimated performance improvement required to justify transitioning a user to a new server This value represents percentage in 0..100
AutoServerSelectionSuspendTime | During a reconnection attempt after a system resume, this specifies the minimum time a user must have been suspended in order to justify a new server selection calculation. Unit is hours
AuthenticationTimeout | Time, in seconds, that the client waits for authentication to be completed.
SafeWordSofTokenIntegration | This preference will enable the administrator and possibly the end user to enable SafeWord SofToken integration. Options are Enabled (true) and Disabled (false - default).
AllowIPsecOverSSL | if 'true' then tunneling of IPSEC over SSL is made possible with help from the ASA.
ClearSmartcardPin | This preference controls whether the smartcard pin will be cleared on a successful connection
IPProtocolSupport | This preference controls which protocol(s) will be allowed for the connection
CaptivePortalRemediationBrowserFailover | This preference is applicable to enhanced captive portal remediation and specifies whether the user is allowed to opt for an external browser for remediation, as opposed to the AnyConnect browser.
AllowManualHostInput | This preference specifies whether the user is allowed to type a new hostname in the VPN edit box.
BlockUntrustedServers | This preference specifies whether the user wants to allow for connections to secure gateways with certificate errors.
PublicProxyServerAddress | This preference specifies the public proxy server address to be used. This number is in the format ServerAddr:ServerPort (ex. 101.89.85.444:8080) or just the FQDN.
CertificatePinning | This preference specifies whether Certificate Pinning check should be performed during server certificate verification.

{
ServiceDisable, /**< This preference disable the VPN service.
If more than one profile exists and any one
profile has VPN enabled, then it will be
enabled. False is the default. */
CertificateStoreOverride,/**< This preference will trigger an alternate
authentication sequence in the API. The
preference is only settable by an
administrator. */
CertificateStore, /**< This preference indicates which Windows certificate
store AnyConnect should look in for client certificates.
The options are All, Machine and User with a default of All.
The preference is only settable by an administrator. */
CertificateStoreMac, /**< This preference indicates which macOS keychain
AnyConnect should look in for client certificates.
The options are All, System and Login with a default of All.
The preference is only settable by an administrator. */
CertificateStoreLinux, /**< This preference indicates which Linux certificate
store AnyConnect should look in for client certificates.
The options are All, Machine and User with a default of All.
The preference is only settable by an administrator. */
ShowPreConnectMessage, /**< The ShowPreConnectMessage preference gives the
administrator the ability to display an AnyConnect
startup banner message. The message will appear
only once per AnyConnect program start. The
preference is only settable by an
administrator. */
AutoConnectOnStart, /**< This preference allows the user to select
whether to establish a connection automatically
on startup or not. */
MinimizeOnConnect, /**< This preference allows the user to select if
the GUI should minimize when the connection is
established */
LocalLanAccess, /**< This preference will provide a mechanism where
the user can disable access to their Local LAN. */
DisableCaptivePortalDetection, /**<This preference will provide a mechanism where
the user can disable captive portal detection.*/
AutoReconnect, /**< First control of the reconnect behavior. If the
client becomes disconnected for any reason, a
reconnect attempt is made. */
AutoReconnectBehavior, /**< Second control of the reconnect behavior. When
coming out of suspend/hibernate/standby mode.
Options are disconnect on suspend and reconnect
after suspend. */
SuspendOnConnectedStandby, /**< This setting allows to control whether the VPN tunnel
is suspended when the system enters the Connected Standby
mode. It applies only to Windows 8 and above. */
UseStartBeforeLogon, /**< Deprecated. Start Before Logon is no longer controlled
via profile preference and is enabled by default. */
AutoUpdate, /**< Once the Downloader has loaded the profile, it
can check the AutoUpdate preference to see if
updates are either disabled or enabled */
RSASecurIDIntegration, /**< This preference will enable the administrator
and possibly end user to select the preferred
method of managing their SDI PIN and PASSCODE
interactions. Options are Automatic (default),
SoftwareTokens and HardwareTokens. */
WindowsLogonEnforcement,/**< This preference allows an administrator to
control if more than one user may be logged into
the client PC during the VPN connection (Windows
only). */
WindowsVPNEstablishment,/**< This preference allows an administrator to
control whether or not remote users may initiate
a VPN connection (Windows only). */
LinuxLogonEnforcement, /**< This preference allows an administrator to
control if more than one user may be logged into
the client PC during the VPN connection (Linux
only). */
LinuxVPNEstablishment, /**< This preference allows an administrator to
control whether or not remote users may initiate
a VPN connection (Linux only). */
ProxySettings, /**< This preference allows an administrator to
control how user's proxy setups are handled.*/
AllowLocalProxyConnections, /**< This preference allows the administrator to control
whether to allow establishing a connection through
a local proxy. */
PPPExclusion, /**< This preference allows an administrator to control
the policy used to exclude routes to
PPP servers when connecting over L2TP or PPTP.
Options are Automatic (default), Disable,
and Override. */
PPPExclusionServerIP, /**< When PPPExclusion is set to Manual,
the value of this preference allows an
end user to specify the address of a
PPP server that should be excluded
from tunnel traffic. */
AutomaticVPNPolicy, /**< This preference allows an administrator to
define a policy to automatically manage when a
VPN connection should be started or stopped. */
TrustedNetworkPolicy, /**< This preference allows an administrator to
define a policy for users in trusted networks.
The options are: Disconnect or DoNothing. */
UntrustedNetworkPolicy, /**< This preference allows an administrator to
define a policy for users in untrusted networks.
The options are: Connect or DoNothing. */
BypassConnectUponSessionTimeout, /**< This preference allows an administrator
the ability to instruct the client to bypass the
automatic connection retry after a VPN session timeout. */
TrustedDNSDomains, /**< This preference defines a list of comma
separated DNS suffixes that a network interface
in a trusted network might have. */
TrustedDNSServers, /**< This preference defines a list of comma
separated DNS servers that a network interface
in a trusted network might have. */
TrustedHttpsServerList, /**< This preference defines a list of comma separated
https servers reachable only via a trusted network.*/
DisableUntrustedInterfaces, /**< This preference disables interface without trusted
server connectivity while in trusted network
when there are multiple network interfaces. */
AlwaysOn, /**< This preference governs VPN reestablishment after
interruptions */
ConnectFailurePolicy, /**< This preference gives the network administrator
the ability to dictate the network access allowed
by the client endpoint device following a VPN
connection establishment failure. It is a component
of Always On */
AllowCaptivePortalRemediation, /**< This preference gives the network administrator
the ability to dictate the network access
allowed by the client endpoint device following
a VPN connection establishment failure it is a
component of Always On */
CaptivePortalRemediationTimeout, /**< This preference allows the network administrator
the ability to impose a time limit for captive portal
remediation when the ConnectFailurePolicy value is Closed
It is a component of Always On */
ApplyLastVPNLocalResourceRules, /**< This preference gives the network administrator
the ability to allow split routes and firewall rules
to be applied following a VPN connection establishment
failure when the ConnectFailurePolicy value is Closed
It is a component of Always On */
AllowVPNDisconnect, /**< During Always On, this specifies that the user is allowed to
disconnect the VPN session. */
SuppressConnectionRetries, /**< During Always On, this preference gives the network administrator
the ability to suppress the VPN connection retry attempts */
AllowedHosts, /**< During Always On, user has access to the specified hosts
when VPN is disconnected. */
EnableScripting, /**< This preference allows an administrator to
enable scripting (on connect or on
disconnect). */
TerminateScriptOnNextEvent, /**< This preference dictates whether or not
AnyConnect will terminate a running script
process if a transition to another
scriptable event occurs. */
EnablePostSBLOnConnectScript, /**< This preference is used to control whether
or not the OnConnect script will be launched
from the desktop GUI when a tunnel has been
established via SBL. */
AutomaticCertSelection, /**< This preference dictates whether or not to disable
the default automatic certificate selection for user
certificates. If disabled, a certificate selection dialog is
displayed. This only applies if the GUI is enabled
and not SBL. This only applies to Windows (not WinMobile). */
RetainVpnOnLogoff, /**< First control of the logoff behavior. This preference allows
an administrator to control if the VPN is terminated or retained
after user logs off.*/
UserEnforcement, /**< Second control of the logoff behavior. When the VPN connection has
been retained after user logged off. Controls what user can log in
and keep the VPN connection. Options are same user only and any user. */
DeviceLockRequired, /**< This preference indicates whether or not
a Windows Mobile device must be configured
with a password or PIN prior to establishing
a VPN connection. This configuration is
only valid on Windows Mobile devices that
use the Microsoft Default Local
Authentication Provider (LAP). */
DeviceLockMaximumTimeoutMinutes, /**< When set to a non-negative number,
this preference specifies the maximum
number of minutes a device can be
inactive before device lock takes
into effect. (WM5/WM5AKU2+) */
DeviceLockMinimumPasswordLength, /**< When set to a non-negative number,
this preference specifies that any
PIN/password used for device lock
must be equal to or longer than
the specified value, in characters.
This setting must be pushed down to
the mobile device by syncing with
an Exchange server before it can be
enforced. (WM5AKU2+) */
DeviceLockPasswordComplexity, /**< This preference checks whether or
not the password belongs to one of
three subtypes: alpha, pin, strong */
EnableAutomaticServerSelection, /**< Automatic server selection will
automatically select the optimal
secure gateway for the endpoint */
AutoServerSelectionImprovement, /**< During a reconnection attempt after
a system resume, this setting
specifies the minimum estimated
performance improvement required to
justify transitioning a user to a new server
This value represents percentage in 0..100 */
AutoServerSelectionSuspendTime, /**< During a reconnection attempt after
a system resume, this specifies the
minimum time a user must have been
suspended in order to justify a new
server selection calculation. Unit is hours */
AuthenticationTimeout, /**< Time, in seconds, that the client waits
for authentication to be completed.*/
SafeWordSofTokenIntegration, /**< This preference will enable the administrator and possibly
the end user to enable SafeWord SofToken integration.
Options are Enabled (true) and Disabled (false - default). */
AllowIPsecOverSSL, /**< if 'true' then tunneling of IPSEC over SSL
is made possible with help from the ASA.
*/
ClearSmartcardPin, /**< This preference controls whether the smartcard pin
will be cleared on a successful connection*/
IPProtocolSupport, /**< This preference controls which protocol(s) will be
allowed for the connection*/
CaptivePortalRemediationBrowserFailover, /**< This preference is applicable to enhanced captive portal
remediation and specifies whether the user is allowed to
opt for an external browser for remediation, as opposed to
the AnyConnect browser. */
AllowManualHostInput, /**< This preference specifies whether the user
is allowed to type a new hostname in the VPN
edit box. */
BlockUntrustedServers, /**< This preference specifies whether the user wants
to allow for connections to secure gateways with
certificate errors. */
PublicProxyServerAddress, /**< This preference specifies the public proxy server
address to be used. This number is in the format
ServerAddr:ServerPort (ex. 101.89.85.444:8080)
or just the FQDN. */
CertificatePinning, /**< This preference specifies whether Certificate Pinning
check should be performed during server certificate
verification. */
UnknownPreference
};
TrustedDNSServers
@ TrustedDNSServers
Definition api.h:396
AutoReconnectBehavior
@ AutoReconnectBehavior
Definition api.h:335
AllowedHosts
@ AllowedHosts
Definition api.h:429
CaptivePortalRemediationTimeout
@ CaptivePortalRemediationTimeout
Definition api.h:416
WindowsLogonEnforcement
@ WindowsLogonEnforcement
Definition api.h:352
AllowCaptivePortalRemediation
@ AllowCaptivePortalRemediation
Definition api.h:411
PPPExclusionServerIP
@ PPPExclusionServerIP
Definition api.h:376
CaptivePortalRemediationBrowserFailover
@ CaptivePortalRemediationBrowserFailover
Definition api.h:503
AutoServerSelectionImprovement
@ AutoServerSelectionImprovement
Definition api.h:480
SuppressConnectionRetries
@ SuppressConnectionRetries
Definition api.h:427
AlwaysOn
@ AlwaysOn
Definition api.h:404
AutoUpdate
@ AutoUpdate
Definition api.h:344
DisableUntrustedInterfaces
@ DisableUntrustedInterfaces
Definition api.h:401
AutoReconnect
@ AutoReconnect
Definition api.h:332
AllowManualHostInput
@ AllowManualHostInput
Definition api.h:507
ConnectFailurePolicy
@ ConnectFailurePolicy
Definition api.h:406
TrustedHttpsServerList
@ TrustedHttpsServerList
Definition api.h:399
UseStartBeforeLogon
@ UseStartBeforeLogon
Definition api.h:342
DisableCaptivePortalDetection
@ DisableCaptivePortalDetection
Definition api.h:330
CertificateStoreOverride
@ CertificateStoreOverride
Definition api.h:300
TrustedDNSDomains
@ TrustedDNSDomains
Definition api.h:393
ProxySettings
@ ProxySettings
Definition api.h:366
PPPExclusion
@ PPPExclusion
Definition api.h:371
ShowPreConnectMessage
@ ShowPreConnectMessage
Definition api.h:316
DeviceLockRequired
@ DeviceLockRequired
Definition api.h:453
PublicProxyServerAddress
@ PublicProxyServerAddress
Definition api.h:513
ApplyLastVPNLocalResourceRules
@ ApplyLastVPNLocalResourceRules
Definition api.h:420
CertificateStore
@ CertificateStore
Definition api.h:304
UserEnforcement
@ UserEnforcement
Definition api.h:450
WindowsVPNEstablishment
@ WindowsVPNEstablishment
Definition api.h:356
SuspendOnConnectedStandby
@ SuspendOnConnectedStandby
Definition api.h:339
DeviceLockMaximumTimeoutMinutes
@ DeviceLockMaximumTimeoutMinutes
Definition api.h:460
AutoConnectOnStart
@ AutoConnectOnStart
Definition api.h:322
LinuxLogonEnforcement
@ LinuxLogonEnforcement
Definition api.h:359
LinuxVPNEstablishment
@ LinuxVPNEstablishment
Definition api.h:363
AutomaticCertSelection
@ AutomaticCertSelection
Definition api.h:442
AllowIPsecOverSSL
@ AllowIPsecOverSSL
Definition api.h:496
TerminateScriptOnNextEvent
@ TerminateScriptOnNextEvent
Definition api.h:434
AuthenticationTimeout
@ AuthenticationTimeout
Definition api.h:491
AutomaticVPNPolicy
@ AutomaticVPNPolicy
Definition api.h:381
BypassConnectUponSessionTimeout
@ BypassConnectUponSessionTimeout
Definition api.h:390
EnableScripting
@ EnableScripting
Definition api.h:431
AutoServerSelectionSuspendTime
@ AutoServerSelectionSuspendTime
Definition api.h:486
RSASecurIDIntegration
@ RSASecurIDIntegration
Definition api.h:347
EnableAutomaticServerSelection
@ EnableAutomaticServerSelection
Definition api.h:477
IPProtocolSupport
@ IPProtocolSupport
Definition api.h:501
RetainVpnOnLogoff
@ RetainVpnOnLogoff
Definition api.h:447
LocalLanAccess
@ LocalLanAccess
Definition api.h:328
AllowVPNDisconnect
@ AllowVPNDisconnect
Definition api.h:425
ServiceDisable
@ ServiceDisable
Definition api.h:296
EnablePostSBLOnConnectScript
@ EnablePostSBLOnConnectScript
Definition api.h:438
CertificatePinning
@ CertificatePinning
Definition api.h:517
UntrustedNetworkPolicy
@ UntrustedNetworkPolicy
Definition api.h:387
DeviceLockMinimumPasswordLength
@ DeviceLockMinimumPasswordLength
Definition api.h:465
BlockUntrustedServers
@ BlockUntrustedServers
Definition api.h:510
MinimizeOnConnect
@ MinimizeOnConnect
Definition api.h:325
CertificateStoreLinux
@ CertificateStoreLinux
Definition api.h:312
AllowLocalProxyConnections
@ AllowLocalProxyConnections
Definition api.h:368
CertificateStoreMac
@ CertificateStoreMac
Definition api.h:308
DeviceLockPasswordComplexity
@ DeviceLockPasswordComplexity
Definition api.h:474
SafeWordSofTokenIntegration
@ SafeWordSofTokenIntegration
Definition api.h:493
TrustedNetworkPolicy
@ TrustedNetworkPolicy
Definition api.h:384
ClearSmartcardPin
@ ClearSmartcardPin
Definition api.h:499

## PreferenceScope

enum PreferenceScope

Indicates the scope of the preferences contained in a PreferenceInfo object

Enumerator
User | Indicates that the preferences were set by a user
Global | Indicates that the preferences are global
UserAndGlobal | Indicates that we have both user and global preferences

{
User, /**< Indicates that the preferences were set by a user */
Global, /**< Indicates that the preferences are global */
UserAndGlobal /**< Indicates that we have both user and global preferences */
};
Global
@ Global
Definition api.h:533
UserAndGlobal
@ UserAndGlobal
Definition api.h:534
User
@ User
Definition api.h:532

## PromptType

enum PromptType

Indicates the prompt or credential type.

Enumerator
Prompt_Input | label and value.
Prompt_Password | label and value, indicates user response should be masked.
Prompt_Banner | value (the banner) with no label set.
Prompt_Combo | list with choices options.
Prompt_Header | label intended as header and with value.
Prompt_Hidden | hidden value, should be ignored and left unchanged in response.
Prompt_CheckBox | label and value (contrained to true or false)
Prompt_SSO | single sign-on authentication token prompt

{ Prompt_Input, /**< label and value. */
Prompt_Password, /**< label and value, indicates user
response should be masked. */
Prompt_Banner, /**< value (the banner) with no label set. */
Prompt_Combo, /**< list with choices options. */
Prompt_Header, /**< label intended as header and with
value. */
Prompt_Hidden, /**< hidden value, should be ignored and
left unchanged in response. */
Prompt_CheckBox, /**< label and value (contrained to true or false) */
Prompt_SSO /**< single sign-on authentication token prompt */
};
Prompt_Input
@ Prompt_Input
Definition api.h:269
Prompt_Hidden
@ Prompt_Hidden
Definition api.h:276
Prompt_CheckBox
@ Prompt_CheckBox
Definition api.h:278
Prompt_Header
@ Prompt_Header
Definition api.h:274
Prompt_SSO
@ Prompt_SSO
Definition api.h:279
Prompt_Combo
@ Prompt_Combo
Definition api.h:273
Prompt_Password
@ Prompt_Password
Definition api.h:270
Prompt_Banner
@ Prompt_Banner
Definition api.h:272

## SDITokenType

enum SDITokenType

Identifies the type of token that was used successfully when SDI Authentication is in use.

{
SDITT_NONE,
SDITT_HARDWARE,
SDITT_SOFTWARE
};

## UserResponseError

enum UserResponseError

{
UserResponseError_None,
UserResponseError_Unspecified,
UserResponseError_BadServerCert,
UserResponseError_SsoNavigation,
UserResponseError_SsoGettingCookie,
UserResponseError_SsoTimeout,
UserResponseError_SsoMissingDependency,
UserResponseError_SsoClientCertRequest,
UserResponseError_SsoAborted,
};

## VPNDisconnectReason

enum VPNDisconnectReason

Provides a disconnect reason to terminate the VPN tunnel.

{
UserRequestedDisconnect,
ApplicationTermination,
};

## VPNError

enum VPNError

Indicates the last error seen by the API in this connection attempt.

Enumerator
VPNSuccess | No error has occurred.
VPNError_Generic_FatalError | An error of unknown type has occured
VPNError_Connection_Error | An unknown connection error has occured, such as bad hostname, bad group, etc.
VPNError_Connection_InvalidGroupURL | Invalid Group URL specified in the server address
VPNError_Network_Error | An unknown network error has occured, such as DNS resolution error, unable to open socket, routing error, captive portal, etc.
VPNError_Authentication_Error | An unknown user authenication error has occured.
VPNError_Authentication_DAP_Terminate | Access Denied: Your system does not meet policy requirements (DAP).
VPNError_ClientCertificate_UnknownError | An unknown client certificate error has occured.
VPNError_ClientCertificate_Missing | A client certificate is required but no client certificate has been found on the system.
VPNError_ClientCertificate_Expired | The client certificate has expired
VPNError_ClientCertificate_NotYetValid | The client certificate is not yet valid.
VPNError_ServerCertificate_UnknownError | An unknown error has occured when validating the server certificate.
VPNError_ServerCertificate_Expired | The server certificate has expired.
VPNError_ServerCertificate_NotYetValid | The server certificate is not yet valid.

{
VPNSuccess = 0, /**< No error has occurred. */
VPNError_Generic_FatalError = 1, /**< An error of unknown type has
occured */
VPNError_Connection_Error = 100, /**< An unknown connection error has
occured, such as bad hostname, bad
group, etc. */
VPNError_Connection_InvalidGroupURL, /**< Invalid Group URL specified in the
server address */
VPNError_Network_Error = 200, /**< An unknown network error has
occured, such as DNS resolution
error, unable to open socket,
routing error, captive portal,
etc. */
VPNError_Authentication_Error = 300, /**< An unknown user authenication
error has occured. */
VPNError_Authentication_DAP_Terminate, /**< Access Denied: Your system does
not meet policy requirements (DAP). */
VPNError_ClientCertificate_UnknownError = 400, /**< An unknown client
certificate error has
occured. */
VPNError_ClientCertificate_Missing, /**< A client certificate is required
but no client certificate has been
found on the system. */
VPNError_ClientCertificate_Expired, /**< The client certificate has expired */
VPNError_ClientCertificate_NotYetValid, /**< The client certificate is not
yet valid. */
VPNError_ServerCertificate_UnknownError = 500, /**< An unknown error has
occured when validating
the server certificate. */
VPNError_ServerCertificate_Expired, /**< The server certificate has
expired. */
VPNError_ServerCertificate_NotYetValid /**< The server certificate is not
yet valid. */
};
VPNError_Connection_Error
@ VPNError_Connection_Error
Definition api.h:603
VPNError_ClientCertificate_Expired
@ VPNError_ClientCertificate_Expired
Definition api.h:627
VPNError_ClientCertificate_Missing
@ VPNError_ClientCertificate_Missing
Definition api.h:624
VPNError_ServerCertificate_NotYetValid
@ VPNError_ServerCertificate_NotYetValid
Definition api.h:636
VPNError_Generic_FatalError
@ VPNError_Generic_FatalError
Definition api.h:600
VPNError_ClientCertificate_UnknownError
@ VPNError_ClientCertificate_UnknownError
Definition api.h:621
VPNSuccess
@ VPNSuccess
Definition api.h:599
VPNError_ServerCertificate_UnknownError
@ VPNError_ServerCertificate_UnknownError
Definition api.h:631
VPNError_Authentication_Error
@ VPNError_Authentication_Error
Definition api.h:615
VPNError_Connection_InvalidGroupURL
@ VPNError_Connection_InvalidGroupURL
Definition api.h:606
VPNError_ServerCertificate_Expired
@ VPNError_ServerCertificate_Expired
Definition api.h:634
VPNError_ClientCertificate_NotYetValid
@ VPNError_ClientCertificate_NotYetValid
Definition api.h:628
VPNError_Network_Error
@ VPNError_Network_Error
Definition api.h:609
VPNError_Authentication_DAP_Terminate
@ VPNError_Authentication_DAP_Terminate
Definition api.h:618

## VPNState

enum VPNState

Provides the current state of the VPN tunnel.

Enumerator
CONNECTED | VPN is active
DISCONNECTED | VPN is inactive
CONNECTING | VPN is being established
DISCONNECTING | VPN is being terminated
RECONNECTING | VPN is being re-connected. This state can occur due to network or other temporary problems. The state indicates that the VPN is temporarily unavailable and indicates the connection is being re-established.
PAUSING | VPN is being paused.
PAUSED | VPN is paused.
SSOPOLLING | API is doing auth-poll, VPN is disconnected.

{
CONNECTED = STATE_CONNECTED, /**< VPN is active */
DISCONNECTED = STATE_DISCONNECTED, /**< VPN is inactive */
CONNECTING = STATE_CONNECTING, /**< VPN is being established */
DISCONNECTING = STATE_DISCONNECTING, /**< VPN is being terminated */
RECONNECTING = STATE_RECONNECTING, /**< VPN is being re-connected. This state
can occur due to network or other
temporary problems. The state
indicates that the VPN is temporarily
unavailable and indicates the
connection is being re-established. */
PAUSING = STATE_PAUSING, /**< VPN is being paused. */
PAUSED = STATE_PAUSED, /**< VPN is paused. */
SSOPOLLING = STATE_SSOPOLLING, /**< API is doing auth-poll, VPN is disconnected. */
UNKNOWN = ~0
};
CONNECTING
@ CONNECTING
Definition api.h:150
PAUSING
@ PAUSING
Definition api.h:158
RECONNECTING
@ RECONNECTING
Definition api.h:152
SSOPOLLING
@ SSOPOLLING
Definition api.h:160
CONNECTED
@ CONNECTED
Definition api.h:148
DISCONNECTING
@ DISCONNECTING
Definition api.h:151
DISCONNECTED
@ DISCONNECTED
Definition api.h:149
PAUSED
@ PAUSED
Definition api.h:159

## VPNSubState

enum VPNSubState

Provides the current sub-state of the VPN tunnel.

{
VPNSS_NORMAL = VCSS_NORMAL,
VPNSS_INDEFINITE_DELAY = VCSS_INDEFINITE_DELAY,
VPNSS_SESSION_EXPIRING = VCSS_SESSION_EXPIRING,
VPNSS_MT_DISCONNECTED_DISABLED = VCSS_MT_DISCONNECTED_DISABLED,
VPNSS_MT_DISCONNECTED_TRUSTED_NW = VCSS_MT_DISCONNECTED_TRUSTED_NW,
VPNSS_MT_DISCONNECTED_USER_TUNNEL_ACTIVE= VCSS_MT_DISCONNECTED_USER_TUNNEL_ACTIVE,
VPNSS_MT_DISCONNECTED_LAUNCH_FAILED = VCSS_MT_DISCONNECTED_LAUNCH_FAILED,
VPNSS_MT_DISCONNECTED_CONNECT_FAILED = VCSS_MT_DISCONNECTED_CONNECT_FAILED,
VPNSS_MT_DISCONNECTED_BAD_VPN_CONFIG = VCSS_MT_DISCONNECTED_BAD_VPN_CONFIG,
VPNSS_MT_DISCONNECTED_SW_UP_PENDING = VCSS_MT_DISCONNECTED_SW_UP_PENDING,
VPNSS_MTU_ADJUSTMENT_PENDING = VCSS_MTU_ADJUSTMENT_PENDING
};

## WMHint

enum WMHint

WMHint provides a hint for the GUI to either minimize or un-minimize.

Enumerator
MINIMIZE | hint to minimize GUI
OPEN | hint to un-minimize GUI

QUIT

hint that GUI should close.

See also
  WMHintReason

REFRESHHOSTNAMES | hint to refresh the list of secure gateways
REFRESHPREFS | hint to refresh the preferences
SHOWCONNECTING | hint to display "connecting" status
CLOSECREDENTIALPOPUP | hint to close the credentials popup

{
MINIMIZE, /**< hint to minimize GUI */
OPEN, /**< hint to un-minimize GUI */
QUIT, /**< hint that GUI should close. @see WMHintReason */
REFRESHHOSTNAMES,/**< hint to refresh the list of secure gateways */
REFRESHPREFS, /**< hint to refresh the preferences */
SHOWCONNECTING, /**< hint to display "connecting" status */
CLOSECREDENTIALPOPUP, /**< hint to close the credentials popup */
};
OPEN
@ OPEN
Definition api.h:204
REFRESHHOSTNAMES
@ REFRESHHOSTNAMES
Definition api.h:206
MINIMIZE
@ MINIMIZE
Definition api.h:203
REFRESHPREFS
@ REFRESHPREFS
Definition api.h:207
QUIT
@ QUIT
Definition api.h:205
SHOWCONNECTING
@ SHOWCONNECTING
Definition api.h:208
CLOSECREDENTIALPOPUP
@ CLOSECREDENTIALPOPUP
Definition api.h:209

## WMHintReason

enum WMHintReason

WMHintReason provides a reason indicator for the WMHint

Enumerator
SECONDGUISTART | Indicates a second GUI has been launched. This indicator is used to suggest that the GUI already running be OPENed and that the first one should exit.
PROXYREQUEST | Proxy credential request can be for web-launch or standalone-initiated connections.
SERVICEFAILURE | This tag is used when the VPN service is no longer available.
DISCONNECT | Any disconnect notices should be seen by the user.
SERVICESTOPPED | This tag will be used in cases where the VPN service has been stopped.
CONNECT | Tag indicating an action to be taken due to connect, for example a request to minimize the UI.

{
SECONDGUISTART, /**< Indicates a second GUI has been launched. This
indicator is used to suggest that the GUI
already running be OPENed and that the first one
should exit. */
PROXYREQUEST, /**< Proxy credential request can be for web-launch or
standalone-initiated connections. */
SERVICEFAILURE, /**< This tag is used when the VPN service
is no longer available. */
DISCONNECT, /**< Any disconnect notices should be seen by the user. */
SERVICESTOPPED, /**< This tag will be used in cases where the VPN service
has been stopped. */
CONNECT, /**< Tag indicating an action to be taken due to connect,
for example a request to minimize the UI. */
REASONUNKNOWN /**< */
};
CONNECT
@ CONNECT
Definition api.h:233
SERVICEFAILURE
@ SERVICEFAILURE
Definition api.h:228
DISCONNECT
@ DISCONNECT
Definition api.h:230
SECONDGUISTART
@ SECONDGUISTART
Definition api.h:222
SERVICESTOPPED
@ SERVICESTOPPED
Definition api.h:231
PROXYREQUEST
@ PROXYREQUEST
Definition api.h:226