![]() |
Speedify SDK for Desktop/Embedded 15.5.0
|
#include "sdkdefines.h"
#include <stdbool.h>
#include <stdint.h>
#include <time.h>
#include "../cJSON.h"
#include <netinet/ip.h>
#include <arpa/inet.h>
Go to the source code of this file.
Data Structures | |
struct | SpeedifySDK_CreateSettings |
SDK creation settings structure. More... | |
struct | SpeedifySDK_Version |
Version structure. More... | |
struct | SpeedifySDK_ServerInformation |
Detailed information about a server. More... | |
struct | SpeedifySDK_AccountingData |
Data on an account. More... | |
struct | SpeedifySDK_AdapterUsageData |
Information about the data usage and limits of a network adapter. More... | |
struct | SpeedifySDK_ConnectionDirectionalSettings |
Directional settings for a connection. More... | |
struct | SpeedifySDK_AdapterData |
Information about a network adapter. More... | |
struct | SpeedifySDK_ServerSettings |
Automatic server selection method settings. More... | |
struct | SpeedifySDK_ProtocolPortPair |
A protocol/port pair. More... | |
struct | SpeedifySDK_Subnet |
A subnet. More... | |
struct | SpeedifySDK_PerConnectionEncryption |
Adapter setting for per-connection encryption. More... | |
struct | SpeedifySDK_PerConnectionExposeDscp |
Adapter setting for per-connection expose DSCP. More... | |
struct | SpeedifySDK_PerConnectionParallelSockets |
Adapter setting for per-connection parallel sockets. More... | |
struct | SpeedifySDK_TargetNumberOfConnections |
Target number of connections for the VPN tunnel. More... | |
struct | SpeedifySDK_Settings |
Speedify settings. More... | |
struct | SpeedifySDK_PrivacySettings |
Privacy settings. More... | |
struct | SpeedifySDK_ConnectionStats |
Statistics about a connection. More... | |
struct | SpeedifySDK_ConnectionStatsGroup |
A grouping of ConnectionStats. More... | |
struct | SpeedifySDK_TunStats |
Contains stats regarding the TUN, for use in session stats. More... | |
struct | SpeedifySDK_HandlerStats |
Contains stats regarding the packet handler, for use in session stats. More... | |
struct | SpeedifySDK_CaptivePortalStats |
Contains stats regarding the captive portal. More... | |
struct | SpeedifySDK_StreamingSessionStats |
Contains session stats regarding streaming mode. More... | |
struct | SpeedifySDK_DscpStats |
Contains stats for a defined DSCP queue. More... | |
struct | SpeedifySDK_DscpStatsArray |
Array of DSCP queue stats. More... | |
struct | SpeedifySDK_SessionStats |
Statistics for a period. More... | |
struct | SpeedifySDK_SessionStatPeriods |
Statistics for sessions over various time periods. More... | |
struct | SpeedifySDK_LocalProxyDomainWatchlistItem |
Local proxy domain watchlist item. More... | |
struct | SpeedifySDK_LocalProxySettings |
Settings for the local proxy. More... | |
struct | SpeedifySDK_StreamingSettings |
Settings for the priority streaming. More... | |
struct | SpeedifySDK_FirewallSettings |
Firewall settings. More... | |
struct | SpeedifySDK_StreamStats |
Statistics for a single stream. More... | |
struct | SpeedifySDK_StreamingStats |
Streaming mode stats. More... | |
struct | SpeedifySDK_DisconnectEvent |
Information about a disconnect event. More... | |
struct | SpeedifySDK_DaemonLogSettings |
Settings for logging in the daemon. More... | |
struct | SpeedifySDK_DirectorySettings |
Directory settings. More... | |
struct | SpeedifySDK_SpeedTestResultData |
Results of a speed test. More... | |
struct | SpeedifySDK_NetworkSharingSettings |
Network sharing settings. More... | |
struct | SpeedifySDK_NetworkSharingUsage |
Network sharing usage data. More... | |
struct | SpeedifySDK_NetworkSharingConnection |
Network sharing connection. More... | |
struct | SpeedifySDK_NetworkSharePeer |
Represents a network share peer. More... | |
struct | SpeedifySDK_DSCPQueue |
DSCP queue configuration. More... | |
struct | SpeedifySDK_DSCPSettings |
DSCP settings. More... | |
Variables | |
SpeedifySDK_EXTERN typedef char | SpeedifySDK_IPAddressString [SPEEDIFYSDK_MAX_IP_STRING_LENGTH] |
String representation of an IP address. | |
SpeedifySDK_EXTERN typedef char | SpeedifySDK_DomainString [SPEEDIFYSDK_MAX_DOMAIN_LENGTH] |
String representation of a domain or hostname. | |
SpeedifySDK_EXTERN typedef char | SpeedifySDK_AppNameString [SPEEDIFYSDK_MAX_APP_NAME_LENGTH] |
String representation of a SDK App name. | |
SpeedifySDK_EXTERN typedef SpeedifySDK_ServerInformation | SpeedifySDK_ServerInformationDetailed |
Information about a. | |
SpeedifySDK_EXTERN typedef SpeedifySDK_ProtocolPortPair | SpeedifySDK_ForwardedPort |
A forwarded port. | |
SpeedifySDK_EXTERN typedef char | SpeedifySDK_HostnameString [SPEEDIFYSDK_MAX_HOSTNAME_LENGTH] |
String representation of an IP address. | |
SpeedifySDK_EXTERN typedef SpeedifySDK_ProtocolPortPair | SpeedifySDK_LocalProxyPort |
A proxied port. | |
SpeedifySDK_EXTERN typedef SpeedifySDK_ProtocolPortPair | SpeedifySDK_StreamingPort |
A streaming port. | |
SpeedifySDK_EXTERN typedef SpeedifySDK_ProtocolPortPair | SpeedifySDK_FirewallPort |
A firewall port. | |
SpeedifySDK_EXTERN typedef char | SpeedifySDK_NetworkSharingConnectCode [SPEEDIFYSDK_MAX_NETWORKSHARING_CONNECT_CODE_LENGTH] |
Connect code for network sharing. | |
SpeedifySDK_EXTERN typedef char | SpeedifySDK_NetworkSharingDisplayName [SPEEDIFYSDK_MAX_NETWORKSHARING_DISPLAY_NAME_LENGTH] |
The public display name for this device. | |
SpeedifySDK_EXTERN typedef char | SpeedifySDK_NetworkSharingPeerUuid [SPEEDIFYSDK_NETWORKSHARING_PEER_UUID_LENGTH] |
Peer UUID for network sharing peer data. | |
Actions that should be taken on an account.
Methods for automatic server selection.
How a connection should be combined.
State of Speedify on a given connection (network adapter).
Because different connections come and go, it's possible for Speedify as whole to be connected as long as even one tunnel is CONNECTED, while others may be CONNECTING or DISCONNECTED.
Enumerator | |
---|---|
CSTATE_DISCONNECTED | Disconnected.
|
CSTATE_CONNECTING | Connecting.
|
CSTATE_CONNECTED | Connected.
|
Reason for a disconnect.
Type classification for errors.
Enumerator | |
---|---|
ET_OK | No error.
|
ET_NETWORK | Network related error.
|
ET_SERVER | An error occurred on the server.
|
ET_CREDENTIAL | Invalid credentials.
|
ET_DIRECTORY | Directory list was empty.
|
ET_ACCOUNT | An issue with the account being used.
|
ET_RATELIMITED | Too many requests are being made by this device.
|
ET_TOKEN_EXPIRED | The provided OAUTH token is expired.
|
ET_VPN_ADAPTER | Error opening or configuring the VPN adapter.
|
ET_DEVICE_LIMIT | The device limit has been reached.
|
ET_LOCK_TEAM | Setting locked by server configuration.
|
ET_LOCK_ACCOUNT | Setting locked by account configuration.
|
ET_INVALID_ARGUMENT | An invalid argument was supplied.
|
ET_SDK_ASYNC | Result is an async call SDK. Not an error.
|
ET_SDK_ERROR | An error in the SDK.
|
ET_SDK_TIMEOUT | Timeout waiting for result.
|
ET_SDK_INVALID_ARGUMENT | An invalid argument was supplied.
|
ET_SDK_CALLBACK_REQUIRED | A callback is required for this call.
|
ET_SDK_PLATFORM_NO_SUPPORT | Platform does not support this call.
|
ET_SDK_NO_CONNECTION | No connection to the Speedify daemon.
|
ET_SDK_SYNC_FROM_ASYNC | Synchronous call used from within asynchronous callback. Not supported.
|
ET_SDK_SETTING_LOCKED_TEAM | Setting locked by server configuration.
|
ET_SDK_SETTING_LOCKED_ACCOUNT | Setting locked by account configuration.
|
enum SpeedifySDK_LogLevel |
Status of a NetworkSharing tunnel.
Type of network adapter.
Safe browsing errors.
enum SpeedifySDK_State |
State of the VPN.
Stream health indicator.
Transport Protocol modes.
Enumerator | |
---|---|
TMODE_TCP | Always use TCP.
|
TMODE_UDP | Always use UDP.
|
TMODE_AUTO | Intelligently choose between available protocols.
|
TMODE_HTTPS | Always use websocket.
|
TMODE_MULTITCP | Always use Multi TCP.
|
TMODE_PROXY | Proxy-only. This is not valid for
|
TMODE_SHARE | shared traffic. This is not valid for
|
ENABLE_NETWORK_SHARING const char * SpeedifySDK_AccountAction_toString | ( | SpeedifySDK_AccountAction | action | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_AccountPaymentType_toString | ( | SpeedifySDK_AccountPaymentType | paymentType | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_AutoConnectMethod_toString | ( | SpeedifySDK_AutoConnectMethod | method | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_BondingMode_toString | ( | SpeedifySDK_BondingMode | priority | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ConnectionDirectionalMode_toString | ( | SpeedifySDK_ConnectionDirectionalMode | mode | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ConnectionPriority_toString | ( | SpeedifySDK_ConnectionPriority | priority | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ConnectionState_toString | ( | SpeedifySDK_ConnectionState | state | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_DisconnectReason_toString | ( | SpeedifySDK_DisconnectReason | reason | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_DSCPPriority_toString | ( | SpeedifySDK_DSCPPriority | priority | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_DSCPReplication_toString | ( | SpeedifySDK_DSCPReplication | replication | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ErrorType_toString | ( | SpeedifySDK_ErrorType | error | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_FirewallMode_toString | ( | SpeedifySDK_FirewallMode | matchMode | ) |
ENABLE_NETWORK_SHARING void SpeedifySDK_InitializeCreateSettings | ( | SpeedifySDK_CreateSettings * | settings | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_LogLevel_toString | ( | SpeedifySDK_LogLevel | level | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_NetworkSharingAutoPairBehavior_toString | ( | SpeedifySDK_NetworkSharingAutoPairBehavior | behavior | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_NetworkSharingPairRequestBehavior_toString | ( | SpeedifySDK_NetworkSharingPairRequestBehavior | behavior | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_NetworkSharingPeerRole_toString | ( | SpeedifySDK_NetworkSharingPeerRole | role | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_NetworkSharingPeerStatus_toString | ( | SpeedifySDK_NetworkSharingPeerStatus | status | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_NetworkSharingTunnelStatus_toString | ( | SpeedifySDK_NetworkSharingTunnelStatus | status | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_NetworkType_toString | ( | SpeedifySDK_NetworkType | type | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_PortProtocol_toString | ( | SpeedifySDK_PortProtocol | portProto | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ProxyMatchMode_toString | ( | SpeedifySDK_ProxyMatchMode | matchMode | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_SafeBrowsing_LogLevel_toString | ( | SpeedifySDK_SafeBrowsingLogLevel | level | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_SafeBrowsing_SafeNetworkOverride_toString | ( | SpeedifySDK_SafeBrowsingSafeNetworkOverride | level | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ServerInformation_GetCityName | ( | SpeedifySDK_ServerInformation | server | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ServerInformation_GetCountryName | ( | SpeedifySDK_ServerInformation | server | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ServerInformation_toString | ( | SpeedifySDK_ServerInformation | server | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ServerInformationDetailed_GetCityName | ( | SpeedifySDK_ServerInformationDetailed | server | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ServerInformationDetailed_GetCountryName | ( | SpeedifySDK_ServerInformationDetailed | server | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_ServerInformationDetailed_toString | ( | SpeedifySDK_ServerInformationDetailed | server | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_SpeedTestType_toString | ( | SpeedifySDK_SpeedTestType | type | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_State_toString | ( | SpeedifySDK_State | state | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_StreamHealth_toString | ( | SpeedifySDK_StreamHealth | health | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_TransportMode_toString | ( | SpeedifySDK_TransportMode | priority | ) |
ENABLE_NETWORK_SHARING const char * SpeedifySDK_Version_toString | ( | SpeedifySDK_Version | state | ) |
SpeedifySDK_EXTERN typedef char SpeedifySDK_AppNameString[SPEEDIFYSDK_MAX_APP_NAME_LENGTH] |
String representation of a SDK App name.
SpeedifySDK_EXTERN typedef char SpeedifySDK_DomainString[SPEEDIFYSDK_MAX_DOMAIN_LENGTH] |
String representation of a domain or hostname.
SpeedifySDK_EXTERN typedef SpeedifySDK_ProtocolPortPair SpeedifySDK_FirewallPort |
A firewall port.
SpeedifySDK_EXTERN typedef SpeedifySDK_ProtocolPortPair SpeedifySDK_ForwardedPort |
A forwarded port.
SpeedifySDK_EXTERN typedef char SpeedifySDK_HostnameString[SPEEDIFYSDK_MAX_HOSTNAME_LENGTH] |
String representation of an IP address.
SpeedifySDK_EXTERN typedef char SpeedifySDK_IPAddressString[SPEEDIFYSDK_MAX_IP_STRING_LENGTH] |
String representation of an IP address.
SpeedifySDK_EXTERN typedef SpeedifySDK_ProtocolPortPair SpeedifySDK_LocalProxyPort |
A proxied port.
SpeedifySDK_EXTERN typedef char SpeedifySDK_NetworkSharingConnectCode[SPEEDIFYSDK_MAX_NETWORKSHARING_CONNECT_CODE_LENGTH] |
Connect code for network sharing.
SpeedifySDK_EXTERN typedef char SpeedifySDK_NetworkSharingDisplayName[SPEEDIFYSDK_MAX_NETWORKSHARING_DISPLAY_NAME_LENGTH] |
The public display name for this device.
SpeedifySDK_EXTERN typedef char SpeedifySDK_NetworkSharingPeerUuid[SPEEDIFYSDK_NETWORKSHARING_PEER_UUID_LENGTH] |
Peer UUID for network sharing peer data.
SpeedifySDK_EXTERN typedef SpeedifySDK_ServerInformation SpeedifySDK_ServerInformationDetailed |
SpeedifySDK_EXTERN typedef SpeedifySDK_ProtocolPortPair SpeedifySDK_StreamingPort |
A streaming port.