Speedify SDK for Desktop  14.7.0
Macros | Typedefs | Functions
speedifysdk.h File Reference
#include "sdkdefines.h"
#include "results.h"
#include "callbacks.h"
#include "types.h"
#include <stddef.h>
#include <stdint.h>

Macros

#define SpeedifySDK_SetDnsLeak   SpeedifySDK_SetDNSLeakProtection
 
#define SpeedifySDK_SetIpLeak   SpeedifySDK_SetIPLeakProtection
 

Typedefs

typedef void * CSpeedifySDK
 Speedify SDK object. Managed with SpeedifySDK_Create() and SpeedifySDK_Destroy(). More...
 

Functions

CSpeedifySDK SpeedifySDK_Create (uint16_t port)
 Create a new SDK object. More...
 
CSpeedifySDK SpeedifySDK_CreateWithSettings (SpeedifySDK_CreateSettings settings)
 Create a new SDK object. More...
 
void SpeedifySDK_Destroy (CSpeedifySDK sdk)
 Destroys an SDK object. More...
 
SpeedifySDK_BaseResult SpeedifySDK_SetAppName (CSpeedifySDK sdk, SpeedifySDK_AppNameString name)
 
SpeedifySDK_StateResult SpeedifySDK_GetState (CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
 Get the current state of Speedify. More...
 
SpeedifySDK_VersionResult SpeedifySDK_GetVersion (CSpeedifySDK sdk, SpeedifySDK_VersionCallback cb, void *userData)
 Get the version of the connected Speedify daemon. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectAuto (CSpeedifySDK sdk, SpeedifySDK_AutoConnectMethod method, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect to a server by an automatic selection method. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectCountry (CSpeedifySDK sdk, const char *country, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect to a server by server country. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectCity (CSpeedifySDK sdk, const char *country, const char *city, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect to a server by server city. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectServer (CSpeedifySDK sdk, const char *country, const char *city, int32_t num, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect to a specific server. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectServerExact (CSpeedifySDK sdk, const char *country, const char *city, int32_t num, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect to a specific server, without fallback. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectProxy (CSpeedifySDK sdk, SpeedifySDK_ConnectCallback cb, void *userData)
 Runs the Speedify VPN as a local proxy, without a connection to a remote server. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_ConnectIgnoreLast (CSpeedifySDK sdk, SpeedifySDK_ConnectCallback cb, void *userData)
 Connect using the current selection setting, but choose a different server instance than the one last used. More...
 
SpeedifySDK_StateResult SpeedifySDK_Disconnect (CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
 
  • Disconnect from the server if connected, or cancel a connection attempt if currenty connecting.
More...
 
SpeedifySDK_ActivationCodeResult SpeedifySDK_GetActivationCode (CSpeedifySDK sdk, SpeedifySDK_ActivationCodeCallback cb, void *userData)
 Gets an activation code usable to login via the website. More...
 
SpeedifySDK_StateResult SpeedifySDK_Login (CSpeedifySDK sdk, const char *username, const char *password, SpeedifySDK_StateCallback cb, void *userData)
 Authenticate a new user. More...
 
SpeedifySDK_StateResult SpeedifySDK_LoginOAuth (CSpeedifySDK sdk, const char *oauthAccessToken, SpeedifySDK_StateCallback cb, void *userData)
 Authenticate a new user using an oauth access token. More...
 
SpeedifySDK_StateResult SpeedifySDK_RefreshOAuthToken (CSpeedifySDK sdk, const char *newOAuthAccessToken, SpeedifySDK_StateCallback cb, void *userData)
 Refreshes the current oauth access token. The application is responsible for fetching updated access tokens if using this method. If not logged in or logged in not using oauth, this will initiate a new login. Otherwise, the new token is stored to be used for future requests. Calling this from a logged in state presumes this is a token for the same user. More...
 
SpeedifySDK_StateResult SpeedifySDK_LoginAutoAccount (CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
 Logs out of any current account and logs in to an automatically generated account for this device. More...
 
SpeedifySDK_StateResult SpeedifySDK_LoginLocalLoopbackOnly (CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
 Comcast Loopback Function. More...
 
SpeedifySDK_StateResult SpeedifySDK_Logout (CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
 Logout the current user. More...
 
SpeedifySDK_AccountCheckResult SpeedifySDK_AccountCheck (CSpeedifySDK sdk, const char *email, SpeedifySDK_AccountCheckCallback cb, void *userData)
 Check if there is already an account using this email address. More...
 
SpeedifySDK_AccountCreateResult SpeedifySDK_AccountCreate (CSpeedifySDK sdk, const char *email, const char *password, SpeedifySDK_AccountCreateCallback cb, void *userData)
 Create a new account using this email address. More...
 
SpeedifySDK_AccountPasswordChangeResult SpeedifySDK_AccountPasswordChange (CSpeedifySDK sdk, const char *email, const char *originalPassword, const char *newPassword, SpeedifySDK_AccountPasswordChangeCallback cb, void *userData)
 Change the password on the account. More...
 
SpeedifySDK_DirectoryResult SpeedifySDK_GetDirectory (CSpeedifySDK sdk, SpeedifySDK_DirectoryCallback cb, void *userData)
 Get a list of available servers from the directory list. More...
 
SpeedifySDK_ConnectResult SpeedifySDK_GetConnectedServer (CSpeedifySDK sdk, SpeedifySDK_ConnectCallback cb, void *userData)
 Get the currently or last connected server. More...
 
SpeedifySDK_DirectorySettingsResult SpeedifySDK_SetESNIEnabled (CSpeedifySDK sdk, bool enableEsni, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
 Sets if ESNI is used when talking to the directory domain. More...
 
SpeedifySDK_DirectorySettingsResult SpeedifySDK_SetDirectoryDomain (CSpeedifySDK sdk, const char *domain, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
 Change directory server used for user authentication and server management. More...
 
SpeedifySDK_DirectorySettingsResult SpeedifySDK_ResetDirectoryDomain (CSpeedifySDK sdk, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
 Reset the directory server to defaults. More...
 
SpeedifySDK_DirectorySettingsResult SpeedifySDK_SetDirectoryGatewayURI (CSpeedifySDK sdk, const char *gatewayUri, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
 Set an oauth gateway to use for directory server requests. More...
 
SpeedifySDK_DirectorySettingsResult SpeedifySDK_ResetDirectoryGatewayURI (CSpeedifySDK sdk, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
 Reset the directory oauth gateway to defaults. More...
 
SpeedifySDK_DirectorySettingsResult SpeedifySDK_GetDirectorySettings (CSpeedifySDK sdk, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
 Get the directory settings. More...
 
SpeedifySDK_AccountingResult SpeedifySDK_GetAccountingData (CSpeedifySDK sdk, SpeedifySDK_AccountingCallback cb, void *userData)
 Gets information on the currently used account. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_GetServerSettings (CSpeedifySDK sdk, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Get the default connection method. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodAuto (CSpeedifySDK sdk, SpeedifySDK_AutoConnectMethod method, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Set the default connection method to an automatic selection method. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodCountry (CSpeedifySDK sdk, const char *country, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Set the default connection method to a specific country. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodCity (CSpeedifySDK sdk, const char *country, const char *city, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Set the default connection method to a specific city. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodServer (CSpeedifySDK sdk, const char *country, const char *city, int32_t num, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Set the default connection method to a specific server. More...
 
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodServerExact (CSpeedifySDK sdk, const char *country, const char *city, int32_t num, SpeedifySDK_ServerSettingsCallback cb, void *userData)
 Set the default connection method to a specific server, without fallback. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_GetSettings (CSpeedifySDK sdk, SpeedifySDK_SettingsCallback cb, void *userData)
 Get general connecttion settings. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetEnableDefaultRoute (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Set whether the default route (0.0.0.0/0) goes over the VPN tunnel. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetJumboPackets (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets whether to allow jumbo packets over the VPN tunnel. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetAllowChaChaEncryption (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Allow or disallow use of ChaCha for connection encryptions. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetTunnelEncrypted (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets encryption status on all connections forming the tunnels. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetMode (CSpeedifySDK sdk, SpeedifySDK_BondingMode mode, SpeedifySDK_SettingsCallback cb, void *userData)
 Change the basic mode of operation, between optimizing for speed or maximizing reliability. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetStartupConnect (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Set if Speedify should autmatically connect when the daemon starts. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionTransportMode (CSpeedifySDK sdk, SpeedifySDK_TransportMode mode, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets the transport mode selection used for each connection. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetForwardPorts (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_ForwardedPort *ports, SpeedifySDK_SettingsCallback cb, void *userData)
 Set ports to be forwarded to this client when connected to a dedicated server. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetDownstreamSubnets (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_Subnet *subnets, SpeedifySDK_SettingsCallback cb, void *userData)
 Set the downstream subnets available on this device. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetOverflowThreshold (CSpeedifySDK sdk, double mbpsOverflow, SpeedifySDK_SettingsCallback cb, void *userData)
 Set the overflow threshold. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetPriorityOverflowThreshold (CSpeedifySDK sdk, double mbpsOverflow, SpeedifySDK_SettingsCallback cb, void *userData)
 Set the priority overflow threshold, which is used when there is active priority traffic (i.e. real-time streams). More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetPacketAggregation (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets whether to allow aggregating smaller packets sent over the VPN. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_GetPrivacySettings (CSpeedifySDK sdk, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Gets privacy settings. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDoNotStoreCredentials (CSpeedifySDK sdk, bool doNotStore, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Sets if credentials will not be stored. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetKillswitch (CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Sets if Internet Killswitch should be enabled. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDNSLeakProtection (CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Sets if DNS Leak protection is enabled. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetIPLeakProtection (CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Sets if IP Leak protection is enabled. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetRequestToDisableDoH (CSpeedifySDK sdk, bool disableDoH, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Requests that browsers do not use DNS over HTTPS. More...
 
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDNSServers (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_IPAddressString *dnsAddrs, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
 Sets DNS servers to use. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_GetAdapters (CSpeedifySDK sdk, SpeedifySDK_AdaptersCallback cb, void *userData)
 Gets a list of current adapters. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionPriorities (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_ConnectionPriority priority, SpeedifySDK_AdaptersCallback cb, void *userData)
 Change priorities of a connection. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_EnableAutomaticConnectionPriority (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Set if automatic priority is allowed. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_ResetConnectionRateLimit (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
 Reset the speed rate limit on a connection to unlimited. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionRateLimit (CSpeedifySDK sdk, const char *adapterID, int64_t bps, SpeedifySDK_AdaptersCallback cb, void *userData)
 Set the speed rate limit on a connection. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterMonthlyDataLimit (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
 Sets the adapter to unlimited daily data usage. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterMonthlyDataLimit (CSpeedifySDK sdk, const char *adapterID, int64_t allowedBytes, int64_t resetDay, SpeedifySDK_AdaptersCallback cb, void *userData)
 Set the data usage, in bytes, allowed on this adapter in a single month. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterDailyDataLimit (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
 Sets the adapter to unlimited daily data usage. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterDailyDataLimit (CSpeedifySDK sdk, const char *adapterID, int64_t allowedBytes, SpeedifySDK_AdaptersCallback cb, void *userData)
 Set the data usage, in bytes, allowed on this adapter in a single day. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_AddAdapterDailyDataLimitBoost (CSpeedifySDK sdk, const char *adapterID, int64_t additionalBytes, SpeedifySDK_AdaptersCallback cb, void *userData)
 Adds additional bytes to the adapter's daily data usage limit for today. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterOverlimitRateLimit (CSpeedifySDK sdk, const char *adapterID, int64_t bps, SpeedifySDK_AdaptersCallback cb, void *userData)
 Sets how to handle an adapter that has hit its daily or monthly data limit. More...
 
SpeedifySDK_AdaptersResult SpeedifySDK_ResetAdapterUsage (CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
 Resets the tracked data usage on an adapter. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionEncryption (CSpeedifySDK sdk, const char *adapterID, bool encrypted, SpeedifySDK_SettingsCallback cb, void *userData)
 Change encryption settings per connection. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionExposeDscp (CSpeedifySDK sdk, const char *adapterID, bool exposed, SpeedifySDK_SettingsCallback cb, void *userData)
 Change expose DSCP setting per connection, which allows DSCP values of internal packets to be exposed on the VPN transport connections. Only supported on Linux. More...
 
SpeedifySDK_BaseResult SpeedifySDK_EnableStatUpdates (CSpeedifySDK sdk, bool enabled, uint8_t periodCount, uint32_t *periods)
 Enable periodic connection stats, adapter list updates, session stats, and streaming stats to be sent while Speedify is connected. More...
 
SpeedifySDK_ConnectionStatsResult SpeedifySDK_GetConnectionStats (CSpeedifySDK sdk, SpeedifySDK_ConnectionStatsCallback cb, void *userData)
 Get stats on current connections to the Speedify server. More...
 
SpeedifySDK_ConnectionStatsResult SpeedifySDK_GetHistoricConnectionStats (CSpeedifySDK sdk, SpeedifySDK_ConnectionStatsCallback cb, void *userData)
 Gets historic tunnel stats for last 5 minutes. More...
 
SpeedifySDK_SessionStatsResult SpeedifySDK_GetSessionStats (CSpeedifySDK sdk, SpeedifySDK_SessionStatsCallback cb, void *userData)
 Get session stats.
Supports Subscription. More...
 
SpeedifySDK_StreamingStatsResult SpeedifySDK_GetStreamingStats (CSpeedifySDK sdk, SpeedifySDK_StreamingStatsCallback cb, void *userData)
 Get streaming stats.
Supports Subscription. More...
 
SpeedifySDK_NewAdapterResult SpeedifySDK_ListenForNewAdapter (CSpeedifySDK sdk, SpeedifySDK_NewAdapterCallback cb, void *userData)
 Receive messages when a new adapter is connected. More...
 
SpeedifySDK_BaseResult SpeedifySDK_HandleNewAdapter (CSpeedifySDK sdk, const char *adapterID)
 Clear a new adapter message. More...
 
SpeedifySDK_AdapterOverlimitResult SpeedifySDK_ListenForAdapterOverlimit (CSpeedifySDK sdk, SpeedifySDK_AdapterOverlimitCallback cb, void *userData)
 Receive messages when an adapter reaches its daily or monthly limit. More...
 
SpeedifySDK_BaseResult SpeedifySDK_HandleAdapterOverlimit (CSpeedifySDK sdk, const char *adapterID)
 Clear an overlimit message. More...
 
SpeedifySDK_BaseResult SpeedifySDK_SetReportingEncryptionKey (CSpeedifySDK sdk, const char *key128bit)
 Set reporting encryption key. More...
 
SpeedifySDK_TorrentResult SpeedifySDK_ListenForTorrentDetection (CSpeedifySDK sdk, SpeedifySDK_TorrentCallback cb, void *userData)
 Receive messages when a torrent is detected. Subscription Only. More...
 
SpeedifySDK_CaptivePortalCheckResult SpeedifySDK_CheckForCaptivePortals (CSpeedifySDK sdk, SpeedifySDK_CaptivePortalCheckCallback cb, void *userData)
 Check for captive portals. More...
 
SpeedifySDK_CaptivePortalCheckResult SpeedifySDK_ListenForCaptivePortals (CSpeedifySDK sdk, SpeedifySDK_CaptivePortalCheckCallback cb, void *userData)
 Receive messages when a captive protal is detected. Subscription Only. More...
 
SpeedifySDK_CaptivePortalLoginResult SpeedifySDK_SetCaptivePortalLoginMode (CSpeedifySDK sdk, bool enabled, const char *adapterID, SpeedifySDK_CaptivePortalLoginCallback cb, void *userData)
 Controls the captive portal login mode. If enabled, new port 80, 443, and 53 sockets will be directed through the chosen adapter instead of over the VPN tunnel. Can only be started while the VPN tunnel is connected. If enabling, an adapterID must be provided. More...
 
SpeedifySDK_CaptivePortalLoginResult SpeedifySDK_GetCaptivePortalLoginMode (CSpeedifySDK sdk, SpeedifySDK_CaptivePortalLoginCallback cb, void *userData)
 Get status of the captive portal login mode. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_GetLocalProxySettings (CSpeedifySDK sdk, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Get configuration of the local proxy. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyEnabled (CSpeedifySDK sdk, bool enabled, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Enables or disables the local proxy. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyMatchMode (CSpeedifySDK sdk, SpeedifySDK_ProxyMatchMode matchMode, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set the match mode used by the local proxy. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomains (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString *domains, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set domains to proxy locally, instead of going through the VPN. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyIPv4 (CSpeedifySDK sdk, uint16_t count, struct in_addr *ipv4, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set IPv4 address to proxy locally, instead of going through the VPN. IP addresses should be in network byte order. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyIPv6 (CSpeedifySDK sdk, uint16_t count, struct in6_addr *ipv6, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set IPv6 address to proxy locally, instead of going through the VPN. IP addresses should be in network byte order. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyPorts (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_LocalProxyPort *ports, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set ports to proxy locally, instead of going through the VPN. Ports should be in host byte order. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomainWatchlist (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_LocalProxyDomainWatchlistItem *domainWatchlist, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Set domain watchlist settings for the local proxy. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomainWatchlistEnable (CSpeedifySDK sdk, const char *title, bool enabled, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Toggle a single domain watchlist item from being enabled over the local proxy. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyGlobalDomainWatchlistEnable (CSpeedifySDK sdk, bool watchlistEnabled, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Sets if settings in the local proxy domain watchlist entries are applied. More...
 
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_ResetLocalProxyDomainWatchlist (CSpeedifySDK sdk, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
 Resets the local proxy domain watchlist entries to their default settings. More...
 
SpeedifySDK_LocalProxyDomainWatchlistHitResult SpeedifySDK_ListenForLocalProxyDomainWatchlistHit (CSpeedifySDK sdk, SpeedifySDK_LocalProxyDomainWatchlistHitCallback cb, void *userData)
 Receive messages when a domain watchlist domain is detected. More...
 
SpeedifySDK_VendorSettingsResult SpeedifySDK_SetLocalVendorSettings (CSpeedifySDK sdk, const char *settingsJson, bool merge, SpeedifySDK_VendorSettingsCallback cb, void *userData)
 Set local vendor settings. More...
 
SpeedifySDK_VendorSettingsResult SpeedifySDK_GetLocalVendorSettings (CSpeedifySDK sdk, SpeedifySDK_VendorSettingsCallback cb, void *userData)
 Get local vendor settings. More...
 
SpeedifySDK_VendorSettingsResult SpeedifySDK_GetRemoteVendorSettings (CSpeedifySDK sdk, SpeedifySDK_VendorSettingsCallback cb, void *userData)
 Get remote vendor settings. More...
 
SpeedifySDK_VendorUserDataResult SpeedifySDK_SetVendorUserData (CSpeedifySDK sdk, const char *vendorUserData, SpeedifySDK_VendorUserDataCallback cb, void *userData)
 Set vendor user data. More...
 
SpeedifySDK_VendorUserDataResult SpeedifySDK_GetVendorUserData (CSpeedifySDK sdk, SpeedifySDK_VendorUserDataCallback cb, void *userData)
 Get vendor user data. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_GetFirewallSettings (CSpeedifySDK sdk, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Get configuration of the firewall. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallMode (CSpeedifySDK sdk, SpeedifySDK_FirewallMode mode, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set the mode used by the firewall. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallDomains (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString *domains, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set domains to firewall. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallIPv4 (CSpeedifySDK sdk, uint16_t count, struct in_addr *ipv4, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set IPv4 address to firewall. IP addresses should be in network byte order. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallIPv6 (CSpeedifySDK sdk, uint16_t count, struct in6_addr *ipv6, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set IPv6 address to firewall. IP addresses should be in network byte order. More...
 
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallPorts (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_FirewallPort *ports, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
 Set ports to firewall Ports should be in host byte order. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_StartSafeBrowsing (CSpeedifySDK sdk, const char *initConfig, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Start Safe Browsing. Wrapper for InitSafeBrowsing and SetSafeBrowsingEnabled. After this call Safe Browsing is initialized and enabled. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_StopSafeBrowsing (CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Terminate Safe Browsing. Wrapper for InitSafeBrowsing and SetSafeBrowsingEnabled After this call Safe Browsing is not initialized, and disabled. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_InitSafeBrowsing (CSpeedifySDK sdk, const char *initConfig, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Initialize Safe Browsing library. Call with empty string to terminate safe browsing, and reset initialized state. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingConfig (CSpeedifySDK sdk, const char *safeBrowsingConfig, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Sets an optional config, used to bypass certain initialization steps. Applied to subsequent init calls. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingEnabled (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Sets if Safe Browsing is enabled. More...
 
SpeedifySDK_DisconnectEventResult SpeedifySDK_GetLastDisconnectEvent (CSpeedifySDK sdk, SpeedifySDK_DisconnectEventCallback cb, void *userData)
 Get the last session disconnect event. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_GetSafeBrowsing (CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Get log file settings. More...
 
SpeedifySDK_SafeBrowsingStatsResult SpeedifySDK_GetSafeBrowsingStats (CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingStatsCallback cb, void *userData)
 Get Safe Browsing lookup stats. More...
 
SpeedifySDK_SafeBrowsingErrorResult SpeedifySDK_ListenForSafeBrowsingError (CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingErrorCallback cb, void *userData)
 Receive messages when a Safe Browsing lookup fails. More...
 
SpeedifySDK_SafeBrowsingBlockResult SpeedifySDK_ListenForSafeBrowsingBlock (CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingBlockCallback cb, void *userData)
 Receive messages when a host is blocked. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingLogLevel (CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingLogLevel logLevel, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Sets the libsafebro logging level. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_RefreshSafeBrowsingToken (CSpeedifySDK sdk, const char *token, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Update the NSP token. Only call if previous token has become invalid, as told through receiving a CUJO_ERR_INVALID_NSP_TOKEN error. If connecting to safebrowsing for the first time with a token, use the SpeedifySDK_InitSafeBrowsing call. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_ReportSafeBrowsingHomeNetwork (CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Report the current connected network is a home network. Use default retry/delay/timeout values If current network is Safe Browsing protected, CUJO_ERR_ON_PROTECTED_NETWORK will be returned. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_ReportSafeBrowsingHomeNetworkWithParameters (CSpeedifySDK sdk, uint32_t retries, uint64_t delay, uint64_t timeout, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Report the current connected network is a home network. If current network is Safe Browsing protected, CUJO_ERR_ON_PROTECTED_NETWORK will be returned. More...
 
SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingSafeNetworkOverride (CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingSafeNetworkOverride snOverride, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
 Override the safe network decision. This setting overrides the safe/unsafe network decision made by the SDK when calling SpeedifySDK_ReportSafeBrowsingHomeNetwork. More...
 
SpeedifySDK_LogSettingsResult SpeedifySDK_GetLogSettings (CSpeedifySDK sdk, SpeedifySDK_LogSettingsCallback cb, void *userData)
 Get Safe Browsing mode settings Supports Subscription. More...
 
SpeedifySDK_LogSettingsResult SpeedifySDK_SetDaemonLogSettings (CSpeedifySDK sdk, SpeedifySDK_DaemonLogSettings daemon, SpeedifySDK_LogSettingsCallback cb, void *userData)
 Set daemon log file settings. More...
 
SpeedifySDK_BaseResult SpeedifySDK_EraseAllLogFiles (CSpeedifySDK sdk)
 Erase all log files. More...
 
SpeedifySDK_StreamingSettingsResult SpeedifySDK_GetStreamingSettings (CSpeedifySDK sdk, SpeedifySDK_StreamingSettingsCallback cb, void *userData)
 Get configuration of streaming settings. More...
 
SpeedifySDK_StreamingSettingsResult SpeedifySDK_SetStreamingDomains (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString *domains, SpeedifySDK_StreamingSettingsCallback cb, void *userData)
 Set domains to be identified as streams. More...
 
SpeedifySDK_StreamingSettingsResult SpeedifySDK_SetStreamingIPv4 (CSpeedifySDK sdk, uint16_t count, struct in_addr *ipv4, SpeedifySDK_StreamingSettingsCallback cb, void *userData)
 Set IPv4 address to be identified as streams. IP addresses should be in network byte order. More...
 
SpeedifySDK_StreamingSettingsResult SpeedifySDK_SetStreamingIPv6 (CSpeedifySDK sdk, uint16_t count, struct in6_addr *ipv6, SpeedifySDK_StreamingSettingsCallback cb, void *userData)
 Set IPv6 address to be identified as streams. IP addresses should be in network byte order. More...
 
SpeedifySDK_StreamingSettingsResult SpeedifySDK_SetStreamingPorts (CSpeedifySDK sdk, uint16_t count, SpeedifySDK_StreamingPort *ports, SpeedifySDK_StreamingSettingsCallback cb, void *userData)
 Set ports to be identified as streams Ports should be in host byte order. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetLanguage (CSpeedifySDK sdk, const char *language, SpeedifySDK_SettingsCallback cb, void *userData)
 Set the language used for error messages. More...
 
SpeedifySDK_SpeedTestResult SpeedifySDK_GetSpeedTestResults (CSpeedifySDK sdk, SpeedifySDK_SpeedTestCallback cb, void *userData)
 Get speed test results Supports Subscription. More...
 
SpeedifySDK_SpeedTestResult SpeedifySDK_StartSpeedTest (CSpeedifySDK sdk, SpeedifySDK_SpeedTestCallback cb, void *userData)
 Start a speed test. More...
 
SpeedifySDK_SpeedTestResult SpeedifySDK_StartStreamTest (CSpeedifySDK sdk, SpeedifySDK_SpeedTestCallback cb, void *userData)
 Start a streaming test. More...
 
void SpeedifySDK_UnregisterCallback (CSpeedifySDK sdk, SpeedifySDK_EventID eventId)
 Unregister an asynchronous callback registered via other calls. More...
 
bool SpeedifySDK_WaitOnCallback (CSpeedifySDK sdk, SpeedifySDK_EventID eventId, uint64_t timeoutMs)
 Wait for an asynchronous result. More...
 
SpeedifySDK_BaseResult SpeedifySDK_DaemonExit (CSpeedifySDK sdk)
 Tells the Speedify daemon to exit cleanly. More...
 
void SpeedifySDK_Free (void *object)
 Free memory allocated by SpeedifySDK. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetHeaderCompression (CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets whether to allow header compression of packets sent over the VPN. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetUlpReportIntervalSeconds (CSpeedifySDK sdk, unsigned long interval, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets the interval between ULP reports. More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetMaxRedundantSends (CSpeedifySDK sdk, uint32_t maxRedundantSends, SpeedifySDK_SettingsCallback cb, void *userData)
 Sets the maximum number of connections to use to simultaneously send a redundant packet. More...
 
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_GetNetworkSharingSettings (CSpeedifySDK sdk, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
 Get configuration of network sharing settings. More...
 
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingClientEnabled (CSpeedifySDK sdk, bool enabled, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
 Sets whether network sharing client will be active. More...
 
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingHostEnabled (CSpeedifySDK sdk, bool enabled, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
 Sets whether network sharing host will be active. More...
 
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingDisplayName (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingDisplayName displayName, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
 Sets the display name of this device. More...
 
SpeedifySDK_NetworkSharingConnectionResult SpeedifySDK_ConnectToNetworkShareViaConnectCode (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingConnectCode hostConnectCode, SpeedifySDK_NetworkSharingConnectionCallback cb, void *userData)
 Connects to a network share manually via a connect code. More...
 
SpeedifySDK_NetworkSharingConnectionResult SpeedifySDK_ReconnectToNetworkShare (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, SpeedifySDK_NetworkSharingConnectionCallback cb, void *userData)
 Reconnects to a previously authenticated network share. More...
 
SpeedifySDK_NetworkSharingDiscoveryResult SpeedifySDK_StartNetworkSharingDiscovery (CSpeedifySDK sdk, SpeedifySDK_NetworkSharingDiscoveryCallback cb, void *userData)
 Manually start (or restart) a discovery session. This lasts for 30 seconds. More...
 
SpeedifySDK_NetworkSharingDiscoveryResult SpeedifySDK_GetNetworkSharingDiscovery (CSpeedifySDK sdk, SpeedifySDK_NetworkSharingDiscoveryCallback cb, void *userData)
 Get the state of network sharing discovery. More...
 
SpeedifySDK_NetworkSharingAvailableSharesResult SpeedifySDK_GetNetworkSharesAvailable (CSpeedifySDK sdk, SpeedifySDK_NetworkSharingAvailableSharesCallback cb, void *userData)
 Gets the discovered network shares. More...
 
SpeedifySDK_NetworkSharingConnectionResult SpeedifySDK_ListenForNetworkSharePeerStatusChange (CSpeedifySDK sdk, SpeedifySDK_NetworkSharingConnectionCallback cb, void *userData)
 Listen continuously for state changes and connection errors with peers. More...
 
SpeedifySDK_NetworkSharingAvailableSharesResult SpeedifySDK_SetNetworkSharingPeerAutoReconnect (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, bool enabled, SpeedifySDK_NetworkSharingAvailableSharesCallback cb, void *userData)
 Sets whether this device should automatically reconnect on discovery to a known network share. More...
 
SpeedifySDK_NetworkSharingAvailableSharesResult SpeedifySDK_SetNetworkSharingPeerAllowAsHost (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, bool enabled, SpeedifySDK_NetworkSharingAvailableSharesCallback cb, void *userData)
 Sets whether or not the peer at the given UUID may be treated as a host, i.e. whether this device may receive data from the host device at the given UUID. More...
 
SpeedifySDK_NetworkSharingAvailableSharesResult SpeedifySDK_SetNetworkSharingPeerAllowAsClient (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, bool enabled, SpeedifySDK_NetworkSharingAvailableSharesCallback cb, void *userData)
 Sets whether or not the peer at the given UUID may be treated as a client, i.e. whether this device may share data with the client device at the given UUID. More...
 
SpeedifySDK_NetworkSharingPairResult SpeedifySDK_UnpairNetworkSharingPeer (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, SpeedifySDK_NetworkSharingPairCallback cb, void *userData)
 Unpair from a device at the given UUID. Reports the current settings. If the device at uuid was a currently-connected peer, this call will also reports the now-unpaired peer's state change. More...
 
SpeedifySDK_NetworkSharingPairResult SpeedifySDK_RequestNetworkSharingPair (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, SpeedifySDK_NetworkSharingPairCallback cb, void *userData)
 Initiate a pair request with the specified peer. More...
 
SpeedifySDK_NetworkSharingPairResult SpeedifySDK_AllowNetworkSharingPair (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, bool allowed, SpeedifySDK_NetworkSharingPairCallback cb, void *userData)
 Allow or deny a pair request from the specified peer. More...
 
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingPairRequestBehavior (CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPairRequestBehavior behavior, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
 Sets the behavior of pair requests from peers. More...
 
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingSameUserAutoPair (CSpeedifySDK sdk, const bool allow, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
 Sets if devices from the same user are automatically paired. More...
 
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingAlwaysOnDiscovery (CSpeedifySDK sdk, const bool enable, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
 Sets if discovery is always active. This can cause excessive battery usage. More...
 
SpeedifySDK_NetworkSharingPairResult SpeedifySDK_ListenForNetworkSharePairRequest (CSpeedifySDK sdk, SpeedifySDK_NetworkSharingPairCallback cb, void *userData)
 listen for network share pair requests More...
 
SpeedifySDK_NetworkSharingPairResult SpeedifySDK_ListenForNetworkShareNewPeerAvailable (CSpeedifySDK sdk, SpeedifySDK_NetworkSharingPairCallback cb, void *userData)
 listen for announcements of new peers on the network More...
 
SpeedifySDK_SettingsResult SpeedifySDK_SetMaximumConnectRetry (CSpeedifySDK sdk, uint32_t timeout, SpeedifySDK_SettingsCallback cb, void *userData)
 
SpeedifySDK_SettingsResult SpeedifySDK_SetMaximumTransportRetry (CSpeedifySDK sdk, uint32_t timeout, SpeedifySDK_SettingsCallback cb, void *userData)
 
SpeedifySDK_BaseResult SpeedifySDK_SendFeedback (CSpeedifySDK sdk, const char *feedback)
 

Typedef Documentation

◆ CSpeedifySDK

typedef void* CSpeedifySDK

Speedify SDK object. Managed with SpeedifySDK_Create() and SpeedifySDK_Destroy().