Speedify SDK for Desktop/Embedded  15.0.1
speedifysdk.h
Go to the documentation of this file.
1 #ifndef SPEEDIFYSDK_SDK
2 #define SPEEDIFYSDK_SDK
3 
4 #include "sdkdefines.h"
5 
6 #include "results.h"
7 #include "callbacks.h"
8 #include "types.h"
9 
10 #include <stddef.h>
11 #include <stdint.h>
12 
14 typedef void* CSpeedifySDK;
15 
29 
35 SpeedifySDK_EXPORT CSpeedifySDK SpeedifySDK_Create(uint16_t port);
46 SpeedifySDK_EXPORT void SpeedifySDK_Destroy(CSpeedifySDK sdk);
47 
48 
57 
67 SpeedifySDK_EXPORT SpeedifySDK_StateResult SpeedifySDK_GetState(CSpeedifySDK sdk, SpeedifySDK_StateCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
75 SpeedifySDK_EXPORT SpeedifySDK_VersionResult SpeedifySDK_GetVersion(CSpeedifySDK sdk, SpeedifySDK_VersionCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
76 
87 SpeedifySDK_EXPORT SpeedifySDK_ConnectResult SpeedifySDK_ConnectAuto(CSpeedifySDK sdk, SpeedifySDK_AutoConnectMethod method, SpeedifySDK_ConnectCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
98 SpeedifySDK_EXPORT SpeedifySDK_ConnectResult SpeedifySDK_ConnectCountry(CSpeedifySDK sdk, const char* country, SpeedifySDK_ConnectCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
110 SpeedifySDK_EXPORT SpeedifySDK_ConnectResult SpeedifySDK_ConnectCity(CSpeedifySDK sdk, const char* country, const char* city, SpeedifySDK_ConnectCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
123 SpeedifySDK_EXPORT SpeedifySDK_ConnectResult SpeedifySDK_ConnectServer(CSpeedifySDK sdk, const char* country, const char* city, int32_t num, SpeedifySDK_ConnectCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
136 SpeedifySDK_EXPORT SpeedifySDK_ConnectResult SpeedifySDK_ConnectServerExact(CSpeedifySDK sdk, const char* country, const char* city, int32_t num, SpeedifySDK_ConnectCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
146 SpeedifySDK_EXPORT SpeedifySDK_ConnectResult SpeedifySDK_ConnectProxy(CSpeedifySDK sdk, SpeedifySDK_ConnectCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
156 SpeedifySDK_EXPORT SpeedifySDK_ConnectResult SpeedifySDK_ConnectIgnoreLast(CSpeedifySDK sdk, SpeedifySDK_ConnectCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
164 SpeedifySDK_EXPORT SpeedifySDK_StateResult SpeedifySDK_Disconnect(CSpeedifySDK sdk, SpeedifySDK_StateCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
165 
175 SpeedifySDK_EXPORT SpeedifySDK_ActivationCodeResult SpeedifySDK_GetActivationCode(CSpeedifySDK sdk,SpeedifySDK_ActivationCodeCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
176 
188 SpeedifySDK_EXPORT SpeedifySDK_StateResult SpeedifySDK_Login(CSpeedifySDK sdk, const char* username, const char* password, SpeedifySDK_StateCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
201 SpeedifySDK_EXPORT SpeedifySDK_StateResult SpeedifySDK_LoginOAuth(CSpeedifySDK sdk, const char* oauthAccessToken, SpeedifySDK_StateCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
216 SpeedifySDK_EXPORT SpeedifySDK_StateResult SpeedifySDK_RefreshOAuthToken(CSpeedifySDK sdk, const char* newOAuthAccessToken, SpeedifySDK_StateCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
227 SpeedifySDK_EXPORT SpeedifySDK_StateResult SpeedifySDK_LoginAutoAccount(CSpeedifySDK sdk, SpeedifySDK_StateCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
235 SpeedifySDK_EXPORT SpeedifySDK_StateResult SpeedifySDK_LoginLocalLoopbackOnly(CSpeedifySDK sdk, SpeedifySDK_StateCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
245 SpeedifySDK_EXPORT SpeedifySDK_StateResult SpeedifySDK_Logout(CSpeedifySDK sdk, SpeedifySDK_StateCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
246 
247 
256 SpeedifySDK_EXPORT SpeedifySDK_AccountCheckResult SpeedifySDK_AccountCheck(CSpeedifySDK sdk, const char* email, SpeedifySDK_AccountCheckCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
266 SpeedifySDK_EXPORT SpeedifySDK_AccountCreateResult SpeedifySDK_AccountCreate(CSpeedifySDK sdk, const char* email, const char* password, SpeedifySDK_AccountCreateCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
277 SpeedifySDK_EXPORT SpeedifySDK_AccountPasswordChangeResult SpeedifySDK_AccountPasswordChange(CSpeedifySDK sdk, const char* email, const char* originalPassword, const char* newPassword, SpeedifySDK_AccountPasswordChangeCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
278 
279 
289 SpeedifySDK_EXPORT SpeedifySDK_DirectoryResult SpeedifySDK_GetDirectory(CSpeedifySDK sdk, SpeedifySDK_DirectoryCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
299 SpeedifySDK_EXPORT SpeedifySDK_ConnectResult SpeedifySDK_GetConnectedServer(CSpeedifySDK sdk, SpeedifySDK_ConnectCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
300 
311 SpeedifySDK_EXPORT SpeedifySDK_DirectorySettingsResult SpeedifySDK_SetESNIEnabled(CSpeedifySDK sdk, bool enableEsni, SpeedifySDK_DirectorySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
312 
323 SpeedifySDK_EXPORT SpeedifySDK_DirectorySettingsResult SpeedifySDK_SetDirectoryDomain(CSpeedifySDK sdk, const char* domain, SpeedifySDK_DirectorySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
331 SpeedifySDK_EXPORT SpeedifySDK_DirectorySettingsResult SpeedifySDK_ResetDirectoryDomain(CSpeedifySDK sdk, SpeedifySDK_DirectorySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
342 SpeedifySDK_EXPORT SpeedifySDK_DirectorySettingsResult SpeedifySDK_SetDirectoryGatewayURI(CSpeedifySDK sdk, const char* gatewayUri, SpeedifySDK_DirectorySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
350 SpeedifySDK_EXPORT SpeedifySDK_DirectorySettingsResult SpeedifySDK_ResetDirectoryGatewayURI(CSpeedifySDK sdk, SpeedifySDK_DirectorySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
360 SpeedifySDK_EXPORT SpeedifySDK_DirectorySettingsResult SpeedifySDK_GetDirectorySettings(CSpeedifySDK sdk, SpeedifySDK_DirectorySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
361 
371 SpeedifySDK_EXPORT SpeedifySDK_AccountingResult SpeedifySDK_GetAccountingData(CSpeedifySDK sdk, SpeedifySDK_AccountingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
372 
373 
383 SpeedifySDK_EXPORT SpeedifySDK_ServerSettingsResult SpeedifySDK_GetServerSettings(CSpeedifySDK sdk, SpeedifySDK_ServerSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
392 SpeedifySDK_EXPORT SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodAuto(CSpeedifySDK sdk, SpeedifySDK_AutoConnectMethod method, SpeedifySDK_ServerSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
401 SpeedifySDK_EXPORT SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodCountry(CSpeedifySDK sdk, const char* country, SpeedifySDK_ServerSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
411 SpeedifySDK_EXPORT SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodCity(CSpeedifySDK sdk, const char* country, const char* city, SpeedifySDK_ServerSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
422 SpeedifySDK_EXPORT SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodServer(CSpeedifySDK sdk, const char* country, const char* city, int32_t num, SpeedifySDK_ServerSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
423 
434 SpeedifySDK_EXPORT SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodServerExact(CSpeedifySDK sdk, const char* country, const char* city, int32_t num, SpeedifySDK_ServerSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
444 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_GetSettings(CSpeedifySDK sdk, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
453 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetEnableDefaultRoute(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
462 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetJumboPackets(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
471 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetAllowChaChaEncryption(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
480 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetTunnelEncrypted(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
489 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetMode(CSpeedifySDK sdk, SpeedifySDK_BondingMode mode, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
498 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetStartupConnect(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
507 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionTransportMode(CSpeedifySDK sdk, SpeedifySDK_TransportMode mode, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
517 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetForwardPorts(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_ForwardedPort* ports, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
527 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetDownstreamSubnets(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_Subnet* subnets, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
536 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetOverflowThreshold(CSpeedifySDK sdk, double mbpsOverflow, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
537 
546 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetPriorityOverflowThreshold(CSpeedifySDK sdk, double mbpsOverflow, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
547 
556 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetPacketAggregation(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
557 
567 SpeedifySDK_EXPORT SpeedifySDK_PrivacySettingsResult SpeedifySDK_GetPrivacySettings(CSpeedifySDK sdk, SpeedifySDK_PrivacySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
578 SpeedifySDK_EXPORT SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDoNotStoreCredentials(CSpeedifySDK sdk, bool doNotStore, SpeedifySDK_PrivacySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
590 SpeedifySDK_EXPORT SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetKillswitch(CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
601 SpeedifySDK_EXPORT SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDNSLeakProtection(CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
602 #define SpeedifySDK_SetDnsLeak SpeedifySDK_SetDNSLeakProtection
603 
613 SpeedifySDK_EXPORT SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetIPLeakProtection(CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
614 #define SpeedifySDK_SetIpLeak SpeedifySDK_SetIPLeakProtection
615 
625 SpeedifySDK_EXPORT SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetRequestToDisableDoH(CSpeedifySDK sdk, bool disableDoH, SpeedifySDK_PrivacySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
638 SpeedifySDK_EXPORT SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDNSServers(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_IPAddressString* dnsAddrs, SpeedifySDK_PrivacySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
639 
649 SpeedifySDK_EXPORT SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetAPIProtection(CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
650 
660 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_GetAdapters(CSpeedifySDK sdk, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
670 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionPriorities(CSpeedifySDK sdk, const char* adapterID, SpeedifySDK_ConnectionPriority priority, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
679 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_EnableAutomaticConnectionPriority(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
690 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionDirectionalMode(CSpeedifySDK sdk, const char* adapterID, SpeedifySDK_ConnectionDirectionalMode uploadMode, SpeedifySDK_ConnectionDirectionalMode downloadMode, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
700 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetTargetNumberOfConnections(CSpeedifySDK sdk, int32_t numUploadConnections, int32_t numDownloadConnections, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
709 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_ResetConnectionRateLimit(CSpeedifySDK sdk, const char* adapterID, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
719 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionRateLimit(CSpeedifySDK sdk, const char* adapterID, int64_t bps, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
728 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterMonthlyDataLimit(CSpeedifySDK sdk, const char* adapterID, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
741 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterMonthlyDataLimit(CSpeedifySDK sdk, const char* adapterID, int64_t allowedBytes, int64_t resetDay, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
750 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterDailyDataLimit(CSpeedifySDK sdk, const char* adapterID, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
762 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterDailyDataLimit(CSpeedifySDK sdk, const char* adapterID, int64_t allowedBytes, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
774 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_AddAdapterDailyDataLimitBoost(CSpeedifySDK sdk, const char* adapterID, int64_t additionalBytes, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
784 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_SetAdapterOverlimitRateLimit(CSpeedifySDK sdk, const char* adapterID, int64_t bps, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
793 SpeedifySDK_EXPORT SpeedifySDK_AdaptersResult SpeedifySDK_ResetAdapterUsage(CSpeedifySDK sdk, const char* adapterID, SpeedifySDK_AdaptersCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
803 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionEncryption(CSpeedifySDK sdk, const char* adapterID, bool encrypted, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
804 
815 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionExposeDscp(CSpeedifySDK sdk, const char* adapterID, bool exposed, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
816 
817 
826 SpeedifySDK_EXPORT SpeedifySDK_BaseResult SpeedifySDK_EnableStatUpdates(CSpeedifySDK sdk, bool enabled, uint8_t periodCount, uint32_t* periods);
827 
837 SpeedifySDK_EXPORT SpeedifySDK_ConnectionStatsResult SpeedifySDK_GetConnectionStats(CSpeedifySDK sdk, SpeedifySDK_ConnectionStatsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
856 SpeedifySDK_EXPORT SpeedifySDK_SessionStatsResult SpeedifySDK_GetSessionStats(CSpeedifySDK sdk, SpeedifySDK_SessionStatsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
865 SpeedifySDK_EXPORT SpeedifySDK_StreamingStatsResult SpeedifySDK_GetStreamingStats(CSpeedifySDK sdk, SpeedifySDK_StreamingStatsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
866 
877 SpeedifySDK_EXPORT SpeedifySDK_NewAdapterResult SpeedifySDK_ListenForNewAdapter(CSpeedifySDK sdk, SpeedifySDK_NewAdapterCallback cb, void* userData SpeedifySDK_DEFAULTNULL);
884 SpeedifySDK_EXPORT SpeedifySDK_BaseResult SpeedifySDK_HandleNewAdapter(CSpeedifySDK sdk, const char* adapterID);
902 SpeedifySDK_EXPORT SpeedifySDK_BaseResult SpeedifySDK_HandleAdapterOverlimit(CSpeedifySDK sdk, const char* adapterID);
903 
910 SpeedifySDK_EXPORT SpeedifySDK_BaseResult SpeedifySDK_SetReportingEncryptionKey(CSpeedifySDK sdk, const char* key128bit);
911 
912 
921 SpeedifySDK_EXPORT SpeedifySDK_TorrentResult SpeedifySDK_ListenForTorrentDetection(CSpeedifySDK sdk, SpeedifySDK_TorrentCallback cb, void* userData SpeedifySDK_DEFAULTNULL);
922 
931 SpeedifySDK_EXPORT SpeedifySDK_CaptivePortalCheckResult SpeedifySDK_CheckForCaptivePortals(CSpeedifySDK sdk, SpeedifySDK_CaptivePortalCheckCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
932 
942 
954 SpeedifySDK_EXPORT SpeedifySDK_CaptivePortalLoginResult SpeedifySDK_SetCaptivePortalLoginMode(CSpeedifySDK sdk, bool enabled, const char* adapterID SpeedifySDK_DEFAULTNULL, SpeedifySDK_CaptivePortalLoginCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
955 
965 SpeedifySDK_EXPORT SpeedifySDK_CaptivePortalLoginResult SpeedifySDK_GetCaptivePortalLoginMode(CSpeedifySDK sdk, SpeedifySDK_CaptivePortalLoginCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
966 
976 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_GetLocalProxySettings(CSpeedifySDK sdk, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
977 
987 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyEnabled(CSpeedifySDK sdk, bool enabled, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
988 
998 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyMatchMode(CSpeedifySDK sdk, SpeedifySDK_ProxyMatchMode matchMode, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
999 
1010 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomains(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString* domains, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1011 
1023 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyIPv4(CSpeedifySDK sdk, uint16_t count, struct in_addr* ipv4, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1024 
1036 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyIPv6(CSpeedifySDK sdk, uint16_t count, struct in6_addr* ipv6, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1037 
1038 
1050 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyPorts(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_LocalProxyPort* ports, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1051 
1062 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomainWatchlist(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_LocalProxyDomainWatchlistItem* domainWatchlist, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1063 
1074 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyDomainWatchlistEnable(CSpeedifySDK sdk, const char* title, bool enabled, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1075 
1085 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyGlobalDomainWatchlistEnable(CSpeedifySDK sdk, bool watchlistEnabled, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1086 
1095 SpeedifySDK_EXPORT SpeedifySDK_LocalProxySettingsResult SpeedifySDK_ResetLocalProxyDomainWatchlist(CSpeedifySDK sdk, SpeedifySDK_LocalProxySettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1096 
1108 
1119 SpeedifySDK_EXPORT SpeedifySDK_VendorSettingsResult SpeedifySDK_SetLocalVendorSettings(CSpeedifySDK sdk, const char* settingsJson, bool merge, SpeedifySDK_VendorSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1120 
1130 SpeedifySDK_EXPORT SpeedifySDK_VendorSettingsResult SpeedifySDK_GetLocalVendorSettings(CSpeedifySDK sdk, SpeedifySDK_VendorSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1131 
1141 SpeedifySDK_EXPORT SpeedifySDK_VendorSettingsResult SpeedifySDK_GetRemoteVendorSettings(CSpeedifySDK sdk, SpeedifySDK_VendorSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1142 
1143 
1153 SpeedifySDK_EXPORT SpeedifySDK_VendorUserDataResult SpeedifySDK_SetVendorUserData(CSpeedifySDK sdk, const char* vendorUserData, SpeedifySDK_VendorUserDataCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1154 
1164 SpeedifySDK_EXPORT SpeedifySDK_VendorUserDataResult SpeedifySDK_GetVendorUserData(CSpeedifySDK sdk, SpeedifySDK_VendorUserDataCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1165 
1175 SpeedifySDK_EXPORT SpeedifySDK_FirewallSettingsResult SpeedifySDK_GetFirewallSettings(CSpeedifySDK sdk, SpeedifySDK_FirewallSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1176 
1186 SpeedifySDK_EXPORT SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallMode(CSpeedifySDK sdk, SpeedifySDK_FirewallMode mode, SpeedifySDK_FirewallSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1187 
1198 SpeedifySDK_EXPORT SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallDomains(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString* domains, SpeedifySDK_FirewallSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1199 
1211 SpeedifySDK_EXPORT SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallIPv4(CSpeedifySDK sdk, uint16_t count, struct in_addr* ipv4, SpeedifySDK_FirewallSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1212 
1224 SpeedifySDK_EXPORT SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallIPv6(CSpeedifySDK sdk, uint16_t count, struct in6_addr* ipv6, SpeedifySDK_FirewallSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1225 
1237 SpeedifySDK_EXPORT SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallPorts(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_FirewallPort* ports, SpeedifySDK_FirewallSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1238 
1249 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingResult SpeedifySDK_StartSafeBrowsing(CSpeedifySDK sdk, const char* initConfig, SpeedifySDK_SafeBrowsingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1259 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingResult SpeedifySDK_StopSafeBrowsing(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1269 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingResult SpeedifySDK_InitSafeBrowsing(CSpeedifySDK sdk, const char* initConfig, SpeedifySDK_SafeBrowsingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1279 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingConfig(CSpeedifySDK sdk, const char* safeBrowsingConfig, SpeedifySDK_SafeBrowsingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1289 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingEnabled(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SafeBrowsingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1299 SpeedifySDK_EXPORT SpeedifySDK_DisconnectEventResult SpeedifySDK_GetLastDisconnectEvent(CSpeedifySDK sdk, SpeedifySDK_DisconnectEventCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1300 
1310 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingResult SpeedifySDK_GetSafeBrowsing(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1320 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingStatsResult SpeedifySDK_GetSafeBrowsingStats(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingStatsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1350 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingLogLevel(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingLogLevel logLevel, SpeedifySDK_SafeBrowsingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1361 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingResult SpeedifySDK_RefreshSafeBrowsingToken(CSpeedifySDK sdk, const char* token, SpeedifySDK_SafeBrowsingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1385  uint64_t delay, uint64_t timeout, SpeedifySDK_SafeBrowsingCallback cb, void* userData);
1396 SpeedifySDK_EXPORT SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingSafeNetworkOverride(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingSafeNetworkOverride snOverride, SpeedifySDK_SafeBrowsingCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1402 SpeedifySDK_EXPORT SpeedifySDK_LogSettingsResult SpeedifySDK_GetLogSettings(CSpeedifySDK sdk, SpeedifySDK_LogSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1403 
1414 SpeedifySDK_EXPORT SpeedifySDK_LogSettingsResult SpeedifySDK_SetDaemonLogSettings(CSpeedifySDK sdk, SpeedifySDK_DaemonLogSettings daemon, SpeedifySDK_LogSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1415 
1424 
1434 SpeedifySDK_EXPORT SpeedifySDK_StreamingSettingsResult SpeedifySDK_GetStreamingSettings(CSpeedifySDK sdk, SpeedifySDK_StreamingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1435 
1446 SpeedifySDK_EXPORT SpeedifySDK_StreamingSettingsResult SpeedifySDK_SetStreamingDomains(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString* domains, SpeedifySDK_StreamingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1447 
1459 SpeedifySDK_EXPORT SpeedifySDK_StreamingSettingsResult SpeedifySDK_SetStreamingIPv4(CSpeedifySDK sdk, uint16_t count, struct in_addr* ipv4, SpeedifySDK_StreamingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1460 
1472 SpeedifySDK_EXPORT SpeedifySDK_StreamingSettingsResult SpeedifySDK_SetStreamingIPv6(CSpeedifySDK sdk, uint16_t count, struct in6_addr* ipv6, SpeedifySDK_StreamingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1473 
1485 SpeedifySDK_EXPORT SpeedifySDK_StreamingSettingsResult SpeedifySDK_SetStreamingPorts(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_StreamingPort* ports, SpeedifySDK_StreamingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1486 
1497 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetLanguage(CSpeedifySDK sdk, const char* language, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1498 
1504 SpeedifySDK_EXPORT SpeedifySDK_SpeedTestResult SpeedifySDK_GetSpeedTestResults(CSpeedifySDK sdk, SpeedifySDK_SpeedTestCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1505 
1514 SpeedifySDK_EXPORT SpeedifySDK_SpeedTestResult SpeedifySDK_StartSpeedTest(CSpeedifySDK sdk, SpeedifySDK_SpeedTestCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1515 
1524 SpeedifySDK_EXPORT SpeedifySDK_SpeedTestResult SpeedifySDK_StartStreamTest(CSpeedifySDK sdk, SpeedifySDK_SpeedTestCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1525 
1531 SpeedifySDK_EXPORT void SpeedifySDK_UnregisterCallback(CSpeedifySDK sdk, SpeedifySDK_EventID eventId);
1532 
1540 SpeedifySDK_EXPORT bool SpeedifySDK_WaitOnCallback(CSpeedifySDK sdk, SpeedifySDK_EventID eventId, uint64_t timeoutMs);
1541 
1548 
1549 
1554 SpeedifySDK_EXPORT void SpeedifySDK_Free(void* object);
1555 
1564 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetHeaderCompression(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1565 
1574 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetUlpReportIntervalSeconds(CSpeedifySDK sdk, unsigned long interval, SpeedifySDK_SettingsCallback cb, void* userData);
1575 
1584 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetMaxRedundantSends(CSpeedifySDK sdk, uint32_t maxRedundantSends, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1585 
1586 #pragma region Network Sharing
1587 
1596 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_GetNetworkSharingSettings(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1597 
1606 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingClientEnabled(CSpeedifySDK sdk, bool enabled, SpeedifySDK_NetworkSharingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1607 
1616 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingHostEnabled(CSpeedifySDK sdk, bool enabled, SpeedifySDK_NetworkSharingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1617 
1626 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingDisplayName(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingDisplayName displayName, SpeedifySDK_NetworkSharingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1627 
1636 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingConnectionResult SpeedifySDK_ConnectToNetworkShareViaConnectCode(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingConnectCode hostConnectCode, SpeedifySDK_NetworkSharingConnectionCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1637 
1646 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingConnectionResult SpeedifySDK_ReconnectToNetworkShare(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, SpeedifySDK_NetworkSharingConnectionCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1647 
1655 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingDiscoveryResult SpeedifySDK_StartNetworkSharingDiscovery(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingDiscoveryCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1656 
1666 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingDiscoveryResult SpeedifySDK_GetNetworkSharingDiscovery(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingDiscoveryCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1667 
1677 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingAvailableSharesResult SpeedifySDK_GetNetworkSharesAvailable(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingAvailableSharesCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1678 
1688 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingConnectionResult SpeedifySDK_ListenForNetworkSharePeerStatusChange(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingConnectionCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1689 
1701 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingAvailableSharesResult SpeedifySDK_SetNetworkSharingPeerAutoReconnect(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, bool enabled, SpeedifySDK_NetworkSharingAvailableSharesCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1702 
1715 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingAvailableSharesResult SpeedifySDK_SetNetworkSharingPeerAllowAsHost(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, bool enabled, SpeedifySDK_NetworkSharingAvailableSharesCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1716 
1729 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingAvailableSharesResult SpeedifySDK_SetNetworkSharingPeerAllowAsClient(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, bool enabled, SpeedifySDK_NetworkSharingAvailableSharesCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1730 
1742 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingPairResult SpeedifySDK_UnpairNetworkSharingPeer(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, SpeedifySDK_NetworkSharingPairCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1743 
1753 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingPairResult SpeedifySDK_RequestNetworkSharingPair(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, SpeedifySDK_NetworkSharingPairCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1754 
1765 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingPairResult SpeedifySDK_AllowNetworkSharingPair(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, bool allowed, SpeedifySDK_NetworkSharingPairCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1766 
1777 
1788 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingSameUserAutoPair(CSpeedifySDK sdk, const bool allow, SpeedifySDK_NetworkSharingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1789 
1800 
1811 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingAlwaysOnDiscovery(CSpeedifySDK sdk, const bool enable, SpeedifySDK_NetworkSharingSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1812 
1813 
1823 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingPairResult SpeedifySDK_ListenForNetworkSharePairRequest(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingPairCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1824 
1834 SpeedifySDK_EXPORT SpeedifySDK_NetworkSharingPairResult SpeedifySDK_ListenForNetworkShareNewPeerAvailable(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingPairCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1835 
1836 #pragma endregion Network Sharing
1837 
1838 /*
1839  * Speedify follows a backoff pattern for repeated errors when logging
1840  * in or connecting to VPN servers. With each subsequent failure,
1841  * the wait time increases before attempting to login or connect again.
1842  * The backoff's timeout limit can be set with this call.
1843  *
1844  * @param sdk SpeedifySDK object
1845  * @param timeout Timeout in seconds
1846  * @param cb Optional callback
1847  * @param userData Optional user data pointer returned in the callback
1848  * @return Settings result object
1849  * @since 14.6
1850  */
1851 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetMaximumConnectRetry(CSpeedifySDK sdk, uint32_t timeout, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1852 
1853 /*
1854  * When Speedify fails to establish VPN transport connections over an
1855  * Internet connection, it will use a backoff pattern to wait before
1856  * attempting to establish a transport over that connection again.
1857  * This call is used to set that backoff timeout limit.
1858  *
1859  * @param sdk SpeedifySDK object
1860  * @param timeout Timeout in seconds
1861  * @param cb Optional callback
1862  * @param userData Optional user data pointer returned in the callback
1863  * @return Settings result object
1864  * @since 14.6
1865  */
1866 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetMaximumTransportRetry(CSpeedifySDK sdk, uint32_t timeout, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1867 
1868 /* \brief Generates new ulp data report with feedback message attached
1869  *
1870  * @param sdk SpeedifySDK object
1871  * @param feedback Feedback message to attach to the report
1872  * @return result object
1873  * @since 14.7
1874  */
1875 SpeedifySDK_EXPORT SpeedifySDK_BaseResult SpeedifySDK_SendFeedback(CSpeedifySDK sdk, const char* feedback);
1876 
1877 /* \brief Generates new log report with feedback message attached
1878  *
1879  * @param sdk SpeedifySDK object
1880  * @param email Email address of the user
1881  * @param message Feedback message to attach to the report
1882  * @param cb Optional callback
1883  * @param userData Optional user data pointer returned in the callback
1884  * @return result object
1885  * @since 14.8.6
1886  */
1887 SpeedifySDK_EXPORT SpeedifySDK_LogReportResult SpeedifySDK_SendLogReport(CSpeedifySDK sdk, const char* email, const char* message, const char* fileName, SpeedifySDK_LogReportCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1888 
1889 /* \brief Sets the size of the packet pool
1890  *
1891  * @param sdk SpeedifySDK object
1892  * @param pool_size Size of the packet pool (small | default | large)
1893  * @return result object
1894  * @since 14.8.5
1895  */
1896 SpeedifySDK_EXPORT SpeedifySDK_SettingsResult SpeedifySDK_SetPacketPoolSize(CSpeedifySDK sdk, const char* pool_size, SpeedifySDK_SettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1897 
1898 
1908 SpeedifySDK_EXPORT SpeedifySDK_DSCPSettingsResult SpeedifySDK_GetDSCPSettings(CSpeedifySDK sdk, SpeedifySDK_DSCPSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1909 
1920 SpeedifySDK_EXPORT SpeedifySDK_DSCPSettingsResult SpeedifySDK_SetDSCPQueues(CSpeedifySDK sdk, uint8_t count, SpeedifySDK_DSCPQueue* queues, SpeedifySDK_DSCPSettingsCallback cb SpeedifySDK_DEFAULTNULL, void* userData SpeedifySDK_DEFAULTNULL);
1921 
1922 
1926 #endif
1927 
uint64_t SpeedifySDK_EventID
Callback ID type.
Definition: results.h:21
Account create result.
Definition: results.h:193
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 m...
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.
SpeedifySDK_NetworkSharingConnectionResult SpeedifySDK_ReconnectToNetworkShare(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, SpeedifySDK_NetworkSharingConnectionCallback cb, void *userData)
Reconnects to a previously authenticated network share.
SpeedifySDK_ConnectResult SpeedifySDK_ConnectCity(CSpeedifySDK sdk, const char *country, const char *city, SpeedifySDK_ConnectCallback cb, void *userData)
Connect to a server by server city.
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...
SpeedifySDK_StreamingStatsResult SpeedifySDK_GetStreamingStats(CSpeedifySDK sdk, SpeedifySDK_StreamingStatsCallback cb, void *userData)
Get streaming stats. Supports Subscription.
Network Sharing Discovery Result Indicates the result of a discovery request.
Definition: results.h:452
SpeedifySDK_NetworkSharingPairResult SpeedifySDK_ListenForNetworkShareNewPeerAvailable(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingPairCallback cb, void *userData)
listen for announcements of new peers on the network
bool(* SpeedifySDK_ServerSettingsCallback)(SpeedifySDK_ServerSettingsResult, void *)
A callback for a SpeedifySDK_ServerSettingsResult.
Definition: callbacks.h:43
bool(* SpeedifySDK_AccountingCallback)(SpeedifySDK_AccountingResult, void *)
A callback for a SpeedifySDK_AccountingResult.
Definition: callbacks.h:37
Password change result.
Definition: results.h:199
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.
SpeedifySDK_StateResult SpeedifySDK_Logout(CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
Logout the current user.
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.
SpeedifySDK_DirectoryResult SpeedifySDK_GetDirectory(CSpeedifySDK sdk, SpeedifySDK_DirectoryCallback cb, void *userData)
Get a list of available servers from the directory list.
Speed test result.
Definition: results.h:418
SpeedifySDK_AccountingResult SpeedifySDK_GetAccountingData(CSpeedifySDK sdk, SpeedifySDK_AccountingCallback cb, void *userData)
Gets information on the currently used account.
bool(* SpeedifySDK_AdapterOverlimitCallback)(SpeedifySDK_AdapterOverlimitResult, void *)
A callback for a SpeedifySDK_AdapterOverlimitResult.
Definition: callbacks.h:61
Adapters result.
Definition: results.h:101
Log report result.
Definition: results.h:510
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingAutoPairBehavior(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingAutoPairBehavior behavior, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
Sets if and how devices are automatically paired when discovered.
bool(* SpeedifySDK_VendorSettingsCallback)(SpeedifySDK_VendorSettingsResult, void *)
A callback for a SpeedifySDK_VendorSettingsResult.
Definition: callbacks.h:85
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.
SpeedifySDK_AdaptersResult SpeedifySDK_ResetAdapterUsage(CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
Resets the tracked data usage on an adapter.
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 CUJ...
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.
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.
SpeedifySDK_TorrentResult SpeedifySDK_ListenForTorrentDetection(CSpeedifySDK sdk, SpeedifySDK_TorrentCallback cb, void *userData)
Receive messages when a torrent is detected. Subscription Only.
SpeedifySDK_DirectorySettingsResult SpeedifySDK_GetDirectorySettings(CSpeedifySDK sdk, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
Get the directory settings.
Accounting result.
Definition: results.h:92
bool(* SpeedifySDK_SafeBrowsingBlockCallback)(SpeedifySDK_SafeBrowsingBlockResult, void *)
A callback for a SpeedifySDK_SafeBrowsingBlockResult.
Definition: callbacks.h:109
Session Stats result.
Definition: results.h:150
SpeedifySDK_AutoConnectMethod
Methods for automatic server selection.
Definition: types.h:115
SpeedifySDK_NewAdapterResult SpeedifySDK_ListenForNewAdapter(CSpeedifySDK sdk, SpeedifySDK_NewAdapterCallback cb, void *userData)
Receive messages when a new adapter is connected.
bool(* SpeedifySDK_StreamingSettingsCallback)(SpeedifySDK_StreamingSettingsResult, void *)
A callback for a SpeedifySDK_StreamingSettingsResult.
Definition: callbacks.h:118
SpeedifySDK_SessionStatsResult SpeedifySDK_GetSessionStats(CSpeedifySDK sdk, SpeedifySDK_SessionStatsCallback cb, void *userData)
Get session stats. Supports Subscription.
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.
Log file settings result.
Definition: results.h:409
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 networ...
SpeedifySDK_SettingsResult SpeedifySDK_SetOverflowThreshold(CSpeedifySDK sdk, double mbpsOverflow, SpeedifySDK_SettingsCallback cb, void *userData)
Set the overflow threshold.
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.
bool(* SpeedifySDK_NetworkSharingDiscoveryCallback)(SpeedifySDK_NetworkSharingDiscoveryResult, void *)
A callback for a SpeedifySDK_NetworkSharingDiscoveryResult.
Definition: callbacks.h:130
CSpeedifySDK SpeedifySDK_CreateWithSettings(SpeedifySDK_CreateSettings settings)
Create a new SDK object.
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallDomains(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString *domains, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
Set domains to firewall.
bool(* SpeedifySDK_DirectorySettingsCallback)(SpeedifySDK_DirectorySettingsResult, void *)
A callback for a SpeedifySDK_DirectorySettingsResult.
Definition: callbacks.h:34
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingSameUserAutoPair(CSpeedifySDK sdk, const bool allow, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
Sets if devices from the same user are automatically paired.
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingClientEnabled(CSpeedifySDK sdk, bool enabled, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
Sets whether network sharing client will be active.
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.
bool(* SpeedifySDK_VendorUserDataCallback)(SpeedifySDK_VendorUserDataResult, void *)
A callback for a SpeedifySDK_VendorUserDataResult.
Definition: callbacks.h:97
bool(* SpeedifySDK_CaptivePortalCheckCallback)(SpeedifySDK_CaptivePortalCheckResult, void *)
A callback for a SpeedifySDK_CaptivePortalCheckResult.
Definition: callbacks.h:76
Captive portal check result.
Definition: results.h:212
Firewall settings result.
Definition: results.h:267
Basic result.
Definition: results.h:38
SpeedifySDK_DirectorySettingsResult SpeedifySDK_SetESNIEnabled(CSpeedifySDK sdk, bool enableEsni, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
Sets if ESNI is used when talking to the directory domain.
Connection result.
Definition: results.h:62
The result of a pair request.
Definition: results.h:481
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 Br...
bool(* SpeedifySDK_DisconnectEventCallback)(SpeedifySDK_DisconnectEventResult, void *)
A callback for a SpeedifySDK_VendorUserDataResult.
Definition: callbacks.h:112
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.
SpeedifySDK_LocalProxyDomainWatchlistHitResult SpeedifySDK_ListenForLocalProxyDomainWatchlistHit(CSpeedifySDK sdk, SpeedifySDK_LocalProxyDomainWatchlistHitCallback cb, void *userData)
Receive messages when a domain watchlist domain is detected.
SpeedifySDK_DSCPSettingsResult SpeedifySDK_SetDSCPQueues(CSpeedifySDK sdk, uint8_t count, SpeedifySDK_DSCPQueue *queues, SpeedifySDK_DSCPSettingsCallback cb, void *userData)
Set DSCP choose.
Connection Stats result.
Definition: results.h:141
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_GetNetworkSharingSettings(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
Get configuration of network sharing settings.
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 t...
SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionPriorities(CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_ConnectionPriority priority, SpeedifySDK_AdaptersCallback cb, void *userData)
Change priorities of a connection.
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetRequestToDisableDoH(CSpeedifySDK sdk, bool disableDoH, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
Requests that browsers do not use DNS over HTTPS.
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_ResetLocalProxyDomainWatchlist(CSpeedifySDK sdk, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
Resets the local proxy domain watchlist entries to their default settings.
Network Sharing Settings.
Definition: results.h:430
SpeedifySDK_SpeedTestResult SpeedifySDK_StartSpeedTest(CSpeedifySDK sdk, SpeedifySDK_SpeedTestCallback cb, void *userData)
Start a speed test.
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.
SpeedifySDK_NetworkSharingPairResult SpeedifySDK_RequestNetworkSharingPair(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPeerUuid uuid, SpeedifySDK_NetworkSharingPairCallback cb, void *userData)
Initiate a pair request with the specified peer.
SpeedifySDK_SettingsResult SpeedifySDK_SetStartupConnect(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
Set if Speedify should autmatically connect when the daemon starts.
bool(* SpeedifySDK_SessionStatsCallback)(SpeedifySDK_SessionStatsResult, void *)
A callback for a SpeedifySDK_SessionStatsResult.
Definition: callbacks.h:55
SpeedifySDK_LogSettingsResult SpeedifySDK_SetDaemonLogSettings(CSpeedifySDK sdk, SpeedifySDK_DaemonLogSettings daemon, SpeedifySDK_LogSettingsCallback cb, void *userData)
Set daemon log file settings.
bool(* SpeedifySDK_NetworkSharingSettingsCallback)(SpeedifySDK_NetworkSharingSettingsResult, void *)
A callback for a SpeedifySDK_NetworkSharingSettingsResult.
Definition: callbacks.h:124
bool(* SpeedifySDK_NetworkSharingAvailableSharesCallback)(SpeedifySDK_NetworkSharingAvailableSharesResult, void *)
A callback for a SpeedifySDK_NetworkSharingAvailableSharesResult.
Definition: callbacks.h:127
Safe Browsing Stats.
Definition: results.h:344
Directory settings result.
Definition: results.h:83
SpeedifySDK_DirectorySettingsResult SpeedifySDK_SetDirectoryGatewayURI(CSpeedifySDK sdk, const char *gatewayUri, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
Set an oauth gateway to use for directory server requests.
bool(* SpeedifySDK_ConnectCallback)(SpeedifySDK_ConnectResult, void *)
A callback for a SpeedifySDK_ConnectResult.
Definition: callbacks.h:28
SpeedifySDK_CaptivePortalCheckResult SpeedifySDK_ListenForCaptivePortals(CSpeedifySDK sdk, SpeedifySDK_CaptivePortalCheckCallback cb, void *userData)
Receive messages when a captive protal is detected. Subscription Only.
Local proxy settings result.
Definition: results.h:236
SpeedifySDK_FirewallSettingsResult SpeedifySDK_SetFirewallMode(CSpeedifySDK sdk, SpeedifySDK_FirewallMode mode, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
Set the mode used by the firewall.
Network Sharing Connection Result Describes a new connection, a connection status change,...
Definition: results.h:463
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.
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.
SpeedifySDK_SettingsResult SpeedifySDK_EnableAutomaticConnectionPriority(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
Set if automatic priority is allowed.
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 networ...
bool(* SpeedifySDK_LogReportCallback)(SpeedifySDK_LogReportResult, void *)
A callback for a SpeedifySDK_LogReportResult.
Definition: callbacks.h:142
bool(* SpeedifySDK_SafeBrowsingStatsCallback)(SpeedifySDK_SafeBrowsingStatsResult, void *)
A callback for a SpeedifySDK_SafeBrowsingStatsResult.
Definition: callbacks.h:103
SpeedifySDK_TransportMode
Transport Protocol modes.
Definition: types.h:516
bool(* SpeedifySDK_AdaptersCallback)(SpeedifySDK_AdaptersResult, void *)
A callback for a SpeedifySDK_AdaptersResult.
Definition: callbacks.h:40
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...
Captive portal login mode result.
Definition: results.h:224
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDoNotStoreCredentials(CSpeedifySDK sdk, bool doNotStore, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
Sets if credentials will not be stored.
SpeedifySDK_BondingMode
Mode of the VPN tunnel.
Definition: types.h:499
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.
A subnet.
Definition: types.h:578
bool(* SpeedifySDK_DirectoryCallback)(SpeedifySDK_DirectoryResult, void *)
A callback for a SpeedifySDK_DirectoryResult.
Definition: callbacks.h:31
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.
bool SpeedifySDK_WaitOnCallback(CSpeedifySDK sdk, SpeedifySDK_EventID eventId, uint64_t timeoutMs)
Wait for an asynchronous result.
SpeedifySDK_SettingsResult SpeedifySDK_SetMaximumTransportRetry(CSpeedifySDK sdk, uint32_t timeout, SpeedifySDK_SettingsCallback cb, void *userData)
Safe Browsing error.
Definition: results.h:378
SpeedifySDK_NetworkSharingConnectionResult SpeedifySDK_ListenForNetworkSharePeerStatusChange(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingConnectionCallback cb, void *userData)
Listen continuously for state changes and connection errors with peers.
DSCP queue configuration.
Definition: types.h:2000
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.
bool(* SpeedifySDK_StreamingStatsCallback)(SpeedifySDK_StreamingStatsResult, void *)
A callback for a SpeedifySDK_StreamingStatsResult.
Definition: callbacks.h:94
Network Sharing Available Shares Results.
Definition: results.h:439
SpeedifySDK_NetworkSharingDiscoveryResult SpeedifySDK_GetNetworkSharingDiscovery(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingDiscoveryCallback cb, void *userData)
Get the state of network sharing discovery.
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...
SpeedifySDK_BaseResult SpeedifySDK_HandleNewAdapter(CSpeedifySDK sdk, const char *adapterID)
Clear a new adapter message.
SpeedifySDK_FirewallSettingsResult SpeedifySDK_GetFirewallSettings(CSpeedifySDK sdk, SpeedifySDK_FirewallSettingsCallback cb, void *userData)
Get configuration of the firewall.
SpeedifySDK_ConnectResult SpeedifySDK_ConnectAuto(CSpeedifySDK sdk, SpeedifySDK_AutoConnectMethod method, SpeedifySDK_ConnectCallback cb, void *userData)
Connect to a server by an automatic selection method.
SpeedifySDK_SettingsResult SpeedifySDK_GetSettings(CSpeedifySDK sdk, SpeedifySDK_SettingsCallback cb, void *userData)
Get general connecttion settings.
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...
SpeedifySDK_DirectorySettingsResult SpeedifySDK_ResetDirectoryGatewayURI(CSpeedifySDK sdk, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
Reset the directory oauth gateway to defaults.
SpeedifySDK_SafeBrowsingResult SpeedifySDK_GetSafeBrowsing(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
Get log file settings.
char SpeedifySDK_AppNameString[SPEEDIFYSDK_MAX_APP_NAME_LENGTH]
String representation of a SDK App name.
Definition: types.h:37
bool(* SpeedifySDK_SafeBrowsingCallback)(SpeedifySDK_SafeBrowsingResult, void *)
A callback for a SpeedifySDK_SafeBrowsingResult.
Definition: callbacks.h:100
Privacy Settings result.
Definition: results.h:132
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 cur...
SpeedifySDK_SafeBrowsingErrorResult SpeedifySDK_ListenForSafeBrowsingError(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingErrorCallback cb, void *userData)
Receive messages when a Safe Browsing lookup fails.
SpeedifySDK_ConnectionStatsResult SpeedifySDK_GetHistoricConnectionStats(CSpeedifySDK sdk, SpeedifySDK_ConnectionStatsCallback cb, void *userData)
Gets historic tunnel stats for last 5 minutes.
SpeedifySDK_ActivationCodeResult SpeedifySDK_GetActivationCode(CSpeedifySDK sdk, SpeedifySDK_ActivationCodeCallback cb, void *userData)
Gets an activation code usable to login via the website.
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.
bool(* SpeedifySDK_SpeedTestCallback)(SpeedifySDK_SpeedTestResult, void *)
A callback for a SpeedifySDK_SpeedTestResult.
Definition: callbacks.h:121
Local proxy domain watchlist hit result.
Definition: results.h:285
SpeedifySDK_PrivacySettingsResult SpeedifySDK_GetPrivacySettings(CSpeedifySDK sdk, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
Gets privacy settings.
SpeedifySDK_NetworkSharingDiscoveryResult SpeedifySDK_StartNetworkSharingDiscovery(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingDiscoveryCallback cb, void *userData)
Manually start (or restart) a discovery session. This lasts for 30 seconds.
SpeedifySDK_SafeBrowsingBlockResult SpeedifySDK_ListenForSafeBrowsingBlock(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingBlockCallback cb, void *userData)
Receive messages when a host is blocked.
SpeedifySDK_ConnectResult SpeedifySDK_ConnectCountry(CSpeedifySDK sdk, const char *country, SpeedifySDK_ConnectCallback cb, void *userData)
Connect to a server by server country.
Safe Browsing block.
Definition: results.h:388
SpeedifySDK_SafeBrowsingLogLevel
Log levels in the SDK.
Definition: types.h:1676
Directory result.
Definition: results.h:71
bool(* SpeedifySDK_FirewallSettingsCallback)(SpeedifySDK_FirewallSettingsResult, void *)
A callback for a SpeedifySDK_FirewallSettingsResult.
Definition: callbacks.h:88
SpeedifySDK_BaseResult SpeedifySDK_SendFeedback(CSpeedifySDK sdk, const char *feedback)
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.
SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterDailyDataLimit(CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
Sets the adapter to unlimited daily data usage.
void * CSpeedifySDK
Speedify SDK object. Managed with SpeedifySDK_Create() and SpeedifySDK_Destroy().
Definition: speedifysdk.h:14
char SpeedifySDK_NetworkSharingDisplayName[SPEEDIFYSDK_MAX_NETWORKSHARING_DISPLAY_NAME_LENGTH]
The public display name for this device.
Definition: types.h:1760
SpeedifySDK_SettingsResult SpeedifySDK_SetJumboPackets(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
Sets whether to allow jumbo packets over the VPN tunnel.
SpeedifySDK_StateResult SpeedifySDK_LoginOAuth(CSpeedifySDK sdk, const char *oauthAccessToken, SpeedifySDK_StateCallback cb, void *userData)
Authenticate a new user using an oauth access token.
SpeedifySDK_SafeBrowsingStatsResult SpeedifySDK_GetSafeBrowsingStats(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingStatsCallback cb, void *userData)
Get Safe Browsing lookup stats.
Streaming stats result.
Definition: results.h:295
bool(* SpeedifySDK_ActivationCodeCallback)(SpeedifySDK_ActivationCodeResult, void *)
A callback for a SpeedifySDK_ActivationCodeResult.
Definition: callbacks.h:139
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingPairRequestBehavior(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingPairRequestBehavior behavior, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
Sets the behavior of pair requests from peers.
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.
SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionEncryption(CSpeedifySDK sdk, const char *adapterID, bool encrypted, SpeedifySDK_SettingsCallback cb, void *userData)
Change encryption settings per connection.
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDNSLeakProtection(CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
Sets if DNS Leak protection is enabled.
SpeedifySDK_StateResult SpeedifySDK_LoginLocalLoopbackOnly(CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
Comcast Loopback Function.
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingDisplayName(CSpeedifySDK sdk, const SpeedifySDK_NetworkSharingDisplayName displayName, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
Sets the display name of this device.
SpeedifySDK_ConnectResult SpeedifySDK_GetConnectedServer(CSpeedifySDK sdk, SpeedifySDK_ConnectCallback cb, void *userData)
Get the currently or last connected server.
SpeedifySDK_VendorSettingsResult SpeedifySDK_GetLocalVendorSettings(CSpeedifySDK sdk, SpeedifySDK_VendorSettingsCallback cb, void *userData)
Get local vendor settings.
SpeedifySDK_SafeBrowsingSafeNetworkOverride
Override safe network decisions.
Definition: types.h:1689
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...
bool(* SpeedifySDK_AccountCheckCallback)(SpeedifySDK_AccountCheckResult, void *)
A callback for a SpeedifySDK_AccountCheckResult.
Definition: callbacks.h:64
SpeedifySDK_ConnectionDirectionalMode
Directional mode of a connection.
Definition: types.h:408
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyMatchMode(CSpeedifySDK sdk, SpeedifySDK_ProxyMatchMode matchMode, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
Set the match mode used by the local proxy.
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.
SpeedifySDK_VendorSettingsResult SpeedifySDK_GetRemoteVendorSettings(CSpeedifySDK sdk, SpeedifySDK_VendorSettingsCallback cb, void *userData)
Get remote vendor settings.
bool(* SpeedifySDK_PrivacySettingsCallback)(SpeedifySDK_PrivacySettingsResult, void *)
A callback for a SpeedifySDK_PrivacySettingsResult.
Definition: callbacks.h:49
Server Settings result.
Definition: results.h:114
bool(* SpeedifySDK_VersionCallback)(SpeedifySDK_VersionResult, void *)
A callback for a SpeedifySDK_VersionResult.
Definition: callbacks.h:25
SpeedifySDK_ConnectionPriority
How a connection should be combined.
Definition: types.h:355
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.
bool(* SpeedifySDK_NetworkSharingPairCallback)(SpeedifySDK_NetworkSharingPairResult, void *)
A callback for a SpeedifySDK_NetworkSharingPairResult.
Definition: callbacks.h:136
SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingLogLevel(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingLogLevel logLevel, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
Sets the libsafebro logging level.
SpeedifySDK_BaseResult SpeedifySDK_EraseAllLogFiles(CSpeedifySDK sdk)
Erase all log files.
SpeedifySDK_StateResult SpeedifySDK_Login(CSpeedifySDK sdk, const char *username, const char *password, SpeedifySDK_StateCallback cb, void *userData)
Authenticate a new user.
SpeedifySDK_ProxyMatchMode
How local proxy treats matches.
Definition: types.h:1199
SpeedifySDK_SettingsResult SpeedifySDK_SetPacketPoolSize(CSpeedifySDK sdk, const char *pool_size, SpeedifySDK_SettingsCallback cb, void *userData)
SpeedifySDK_StreamingSettingsResult SpeedifySDK_GetStreamingSettings(CSpeedifySDK sdk, SpeedifySDK_StreamingSettingsCallback cb, void *userData)
Get configuration of streaming settings.
void SpeedifySDK_Destroy(CSpeedifySDK sdk)
Destroys an SDK object.
SpeedifySDK_SettingsResult SpeedifySDK_SetMaximumConnectRetry(CSpeedifySDK sdk, uint32_t timeout, SpeedifySDK_SettingsCallback cb, void *userData)
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetIPLeakProtection(CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
Sets if IP Leak protection is enabled.
SpeedifySDK_StreamingSettingsResult SpeedifySDK_SetStreamingDomains(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_DomainString *domains, SpeedifySDK_StreamingSettingsCallback cb, void *userData)
Set domains to be identified as streams.
SpeedifySDK_VendorUserDataResult SpeedifySDK_SetVendorUserData(CSpeedifySDK sdk, const char *vendorUserData, SpeedifySDK_VendorUserDataCallback cb, void *userData)
Set vendor user data.
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.
Disconnect event result.
Definition: results.h:400
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.
SpeedifySDK_BaseResult SpeedifySDK_HandleAdapterOverlimit(CSpeedifySDK sdk, const char *adapterID)
Clear an overlimit message.
SpeedifySDK_VendorSettingsResult SpeedifySDK_SetLocalVendorSettings(CSpeedifySDK sdk, const char *settingsJson, bool merge, SpeedifySDK_VendorSettingsCallback cb, void *userData)
Set local vendor settings.
char SpeedifySDK_NetworkSharingPeerUuid[SPEEDIFYSDK_NETWORKSHARING_PEER_UUID_LENGTH]
Peer UUID for network sharing peer data.
Definition: types.h:1763
SpeedifySDK_CaptivePortalLoginResult SpeedifySDK_GetCaptivePortalLoginMode(CSpeedifySDK sdk, SpeedifySDK_CaptivePortalLoginCallback cb, void *userData)
Get status of the captive portal login mode.
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_GetLocalProxySettings(CSpeedifySDK sdk, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
Get configuration of the local proxy.
SpeedifySDK_SettingsResult SpeedifySDK_SetTargetNumberOfConnections(CSpeedifySDK sdk, int32_t numUploadConnections, int32_t numDownloadConnections, SpeedifySDK_SettingsCallback cb, void *userData)
Set the target number of connections.
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodAuto(CSpeedifySDK sdk, SpeedifySDK_AutoConnectMethod method, SpeedifySDK_ServerSettingsCallback cb, void *userData)
Set the default connection method to an automatic selection method.
Torrent detection result.
Definition: results.h:205
SpeedifySDK_SettingsResult SpeedifySDK_SetTunnelEncrypted(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
Sets encryption status on all connections forming the tunnels.
SpeedifySDK_AdaptersResult SpeedifySDK_DisableAdapterMonthlyDataLimit(CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
Sets the adapter to unlimited daily data usage.
bool(* SpeedifySDK_SettingsCallback)(SpeedifySDK_SettingsResult, void *)
A callback for a SpeedifySDK_SettingsResult.
Definition: callbacks.h:46
SpeedifySDK_ServerSettingsResult SpeedifySDK_GetServerSettings(CSpeedifySDK sdk, SpeedifySDK_ServerSettingsCallback cb, void *userData)
Get the default connection method.
SpeedifySDK_CaptivePortalCheckResult SpeedifySDK_CheckForCaptivePortals(CSpeedifySDK sdk, SpeedifySDK_CaptivePortalCheckCallback cb, void *userData)
Check for captive portals.
SpeedifySDK_DisconnectEventResult SpeedifySDK_GetLastDisconnectEvent(CSpeedifySDK sdk, SpeedifySDK_DisconnectEventCallback cb, void *userData)
Get the last session disconnect event.
SpeedifySDK_SettingsResult SpeedifySDK_SetPacketAggregation(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
Sets whether to allow aggregating smaller packets sent over the VPN.
CSpeedifySDK SpeedifySDK_Create(uint16_t port)
Create a new SDK object.
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.
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.
bool(* SpeedifySDK_CaptivePortalLoginCallback)(SpeedifySDK_CaptivePortalLoginResult, void *)
A callback for a SpeedifySDK_CaptivePortalLoginResult.
Definition: callbacks.h:79
State result.
Definition: results.h:44
bool(* SpeedifySDK_TorrentCallback)(SpeedifySDK_TorrentResult, void *)
A callback for a SpeedifySDK_TorrentResult.
Definition: callbacks.h:73
bool(* SpeedifySDK_ConnectionStatsCallback)(SpeedifySDK_ConnectionStatsResult, void *)
A callback for a SpeedifySDK_ConnectionStatsResult.
Definition: callbacks.h:52
bool(* SpeedifySDK_LocalProxySettingsCallback)(SpeedifySDK_LocalProxySettingsResult, void *)
A callback for a SpeedifySDK_LocalProxySettingsResult.
Definition: callbacks.h:82
SpeedifySDK_LogSettingsResult SpeedifySDK_GetLogSettings(CSpeedifySDK sdk, SpeedifySDK_LogSettingsCallback cb, void *userData)
Get Safe Browsing mode settings Supports Subscription.
Safe Browsing result.
Definition: results.h:322
SpeedifySDK_BaseResult SpeedifySDK_SetReportingEncryptionKey(CSpeedifySDK sdk, const char *key128bit)
Set reporting encryption key.
SpeedifySDK_FirewallMode
How firewall treats matches.
Definition: types.h:1324
Activation code result.
Definition: results.h:497
SpeedifySDK_SettingsResult SpeedifySDK_SetAllowChaChaEncryption(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SettingsCallback cb, void *userData)
Allow or disallow use of ChaCha for connection encryptions.
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.
char SpeedifySDK_NetworkSharingConnectCode[SPEEDIFYSDK_MAX_NETWORKSHARING_CONNECT_CODE_LENGTH]
Connect code for network sharing.
Definition: types.h:1757
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 call...
SpeedifySDK_AdaptersResult SpeedifySDK_ResetConnectionRateLimit(CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_AdaptersCallback cb, void *userData)
Reset the speed rate limit on a connection to unlimited.
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetAPIProtection(CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
Sets if API protection is enabled to prevent api leak over non-local connections.
SpeedifySDK_StateResult SpeedifySDK_GetState(CSpeedifySDK sdk, SpeedifySDK_StateCallback cb, void *userData)
Get the current state of Speedify.
void SpeedifySDK_Free(void *object)
Free memory allocated by SpeedifySDK.
SpeedifySDK_VendorUserDataResult SpeedifySDK_GetVendorUserData(CSpeedifySDK sdk, SpeedifySDK_VendorUserDataCallback cb, void *userData)
Get vendor user data.
SpeedifySDK_DSCPSettingsResult SpeedifySDK_GetDSCPSettings(CSpeedifySDK sdk, SpeedifySDK_DSCPSettingsCallback cb, void *userData)
Get DSCP settings.
Vendor settings result.
Definition: results.h:245
bool(* SpeedifySDK_AccountPasswordChangeCallback)(SpeedifySDK_AccountPasswordChangeResult, void *)
A callback for a SpeedifySDK_AccountPasswordChangeResult.
Definition: callbacks.h:70
SDK creation settings structure.
Definition: types.h:42
New Adapter result.
Definition: results.h:160
SpeedifySDK_BaseResult SpeedifySDK_SetAppName(CSpeedifySDK sdk, SpeedifySDK_AppNameString name)
bool(* SpeedifySDK_AccountCreateCallback)(SpeedifySDK_AccountCreateResult, void *)
A callback for a SpeedifySDK_AccountCreateResult.
Definition: callbacks.h:67
bool(* SpeedifySDK_NewAdapterCallback)(SpeedifySDK_NewAdapterResult, void *)
A callback for a SpeedifySDK_NewAdapterResult.
Definition: callbacks.h:58
SpeedifySDK_LogReportResult SpeedifySDK_SendLogReport(CSpeedifySDK sdk, const char *email, const char *message, const char *fileName, SpeedifySDK_LogReportCallback cb, void *userData)
SpeedifySDK_ServerSettingsResult SpeedifySDK_SetConnectMethodCountry(CSpeedifySDK sdk, const char *country, SpeedifySDK_ServerSettingsCallback cb, void *userData)
Set the default connection method to a specific country.
bool(* SpeedifySDK_NetworkSharingConnectionCallback)(SpeedifySDK_NetworkSharingConnectionResult, void *)
A callback for a SpeedifySDK_NetworkSharingConnectionResult.
Definition: callbacks.h:133
SpeedifySDK_SafeBrowsingResult SpeedifySDK_SetSafeBrowsingEnabled(CSpeedifySDK sdk, bool enabled, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
Sets if Safe Browsing is enabled.
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.
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.
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.
bool(* SpeedifySDK_LogSettingsCallback)(SpeedifySDK_LogSettingsResult, void *)
A callback for a SpeedifySDK_LogSettingsResult.
Definition: callbacks.h:115
SpeedifySDK_NetworkSharingAvailableSharesResult SpeedifySDK_GetNetworkSharesAvailable(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingAvailableSharesCallback cb, void *userData)
Gets the discovered network shares.
SpeedifySDK_ConnectionStatsResult SpeedifySDK_GetConnectionStats(CSpeedifySDK sdk, SpeedifySDK_ConnectionStatsCallback cb, void *userData)
Get stats on current connections to the Speedify server.
Adapter Overlimit result.
Definition: results.h:172
void SpeedifySDK_UnregisterCallback(CSpeedifySDK sdk, SpeedifySDK_EventID eventId)
Unregister an asynchronous callback registered via other calls.
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.
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetDNSServers(CSpeedifySDK sdk, uint16_t count, SpeedifySDK_IPAddressString *dnsAddrs, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
Sets DNS servers to use.
Version result.
Definition: results.h:53
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,...
SpeedifySDK_NetworkSharingAutoPairBehavior
Auto pair behavior types.
Definition: types.h:1799
SpeedifySDK_NetworkSharingSettingsResult SpeedifySDK_SetNetworkSharingHostEnabled(CSpeedifySDK sdk, bool enabled, SpeedifySDK_NetworkSharingSettingsCallback cb, void *userData)
Sets whether network sharing host will be active.
Streaming settings result.
Definition: results.h:276
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.
Vendor user data result.
Definition: results.h:256
SpeedifySDK_DirectorySettingsResult SpeedifySDK_SetDirectoryDomain(CSpeedifySDK sdk, const char *domain, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
Change directory server used for user authentication and server management.
char SpeedifySDK_DomainString[SPEEDIFYSDK_MAX_DOMAIN_LENGTH]
String representation of a domain or hostname.
Definition: types.h:32
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.
DSCP settings result.
Definition: results.h:520
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.
SpeedifySDK_SettingsResult SpeedifySDK_SetUlpReportIntervalSeconds(CSpeedifySDK sdk, unsigned long interval, SpeedifySDK_SettingsCallback cb, void *userData)
Sets the interval between ULP reports.
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 cur...
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.
SpeedifySDK_BaseResult SpeedifySDK_DaemonExit(CSpeedifySDK sdk)
Tells the Speedify daemon to exit cleanly.
SpeedifySDK_SettingsResult SpeedifySDK_SetConnectionTransportMode(CSpeedifySDK sdk, SpeedifySDK_TransportMode mode, SpeedifySDK_SettingsCallback cb, void *userData)
Sets the transport mode selection used for each connection.
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.
SpeedifySDK_AdaptersResult SpeedifySDK_SetConnectionDirectionalMode(CSpeedifySDK sdk, const char *adapterID, SpeedifySDK_ConnectionDirectionalMode uploadMode, SpeedifySDK_ConnectionDirectionalMode downloadMode, SpeedifySDK_AdaptersCallback cb, void *userData)
Set the connection directional mode.
Local proxy domain watchlist item.
Definition: types.h:1217
SpeedifySDK_SpeedTestResult SpeedifySDK_GetSpeedTestResults(CSpeedifySDK sdk, SpeedifySDK_SpeedTestCallback cb, void *userData)
Get speed test results Supports Subscription.
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.
Account check result.
Definition: results.h:187
SpeedifySDK_SpeedTestResult SpeedifySDK_StartStreamTest(CSpeedifySDK sdk, SpeedifySDK_SpeedTestCallback cb, void *userData)
Start a streaming test.
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.
SpeedifySDK_DirectorySettingsResult SpeedifySDK_ResetDirectoryDomain(CSpeedifySDK sdk, SpeedifySDK_DirectorySettingsCallback cb, void *userData)
Reset the directory server to defaults.
SpeedifySDK_AdapterOverlimitResult SpeedifySDK_ListenForAdapterOverlimit(CSpeedifySDK sdk, SpeedifySDK_AdapterOverlimitCallback cb, void *userData)
Receive messages when an adapter reaches its daily or monthly limit.
SpeedifySDK_PrivacySettingsResult SpeedifySDK_SetKillswitch(CSpeedifySDK sdk, bool enabled, SpeedifySDK_PrivacySettingsCallback cb, void *userData)
Sets if Internet Killswitch should be enabled.
SpeedifySDK_NetworkSharingPairResult SpeedifySDK_ListenForNetworkSharePairRequest(CSpeedifySDK sdk, SpeedifySDK_NetworkSharingPairCallback cb, void *userData)
listen for network share pair requests
SpeedifySDK_AdaptersResult SpeedifySDK_GetAdapters(CSpeedifySDK sdk, SpeedifySDK_AdaptersCallback cb, void *userData)
Gets a list of current adapters.
A protocol/port pair.
Definition: types.h:559
SpeedifySDK_SafeBrowsingResult SpeedifySDK_StopSafeBrowsing(CSpeedifySDK sdk, SpeedifySDK_SafeBrowsingCallback cb, void *userData)
Terminate Safe Browsing. Wrapper for InitSafeBrowsing and SetSafeBrowsingEnabled After this call Safe...
Settings result.
Definition: results.h:123
SpeedifySDK_VersionResult SpeedifySDK_GetVersion(CSpeedifySDK sdk, SpeedifySDK_VersionCallback cb, void *userData)
Get the version of the connected Speedify daemon.
bool(* SpeedifySDK_SafeBrowsingErrorCallback)(SpeedifySDK_SafeBrowsingErrorResult, void *)
A callback for a SpeedifySDK_SafeBrowsingErrorResult.
Definition: callbacks.h:106
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 ...
SpeedifySDK_NetworkSharingPairRequestBehavior
pair request behavior types
Definition: types.h:1781
Settings for logging in the daemon.
Definition: types.h:1590
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...
bool(* SpeedifySDK_LocalProxyDomainWatchlistHitCallback)(SpeedifySDK_LocalProxyDomainWatchlistHitResult, void *)
A callback for a SpeedifySDK_LocalProxyDomainWatchlistHitResult.
Definition: callbacks.h:91
SpeedifySDK_LocalProxySettingsResult SpeedifySDK_SetLocalProxyEnabled(CSpeedifySDK sdk, bool enabled, SpeedifySDK_LocalProxySettingsCallback cb, void *userData)
Enables or disables the local proxy.
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....
SpeedifySDK_SettingsResult SpeedifySDK_SetLanguage(CSpeedifySDK sdk, const char *language, SpeedifySDK_SettingsCallback cb, void *userData)
Set the language used for error messages.
bool(* SpeedifySDK_DSCPSettingsCallback)(SpeedifySDK_DSCPSettingsResult, void *)
A callback for a SpeedifySDK_DSCPSettingsResult.
Definition: callbacks.h:145
char SpeedifySDK_IPAddressString[SPEEDIFYSDK_MAX_IP_STRING_LENGTH]
String representation of an IP address.
Definition: types.h:27
bool(* SpeedifySDK_StateCallback)(SpeedifySDK_StateResult, void *)
A callback for a SpeedifySDK_StateResult.
Definition: callbacks.h:22