Speedify SDK for Desktop  10.9.5
Go to the documentation of this file.
4 #include "sdkdefines.h"
5 #include <stdbool.h>
6 #include <stdint.h>
7 #include <time.h>
9 #ifdef _WIN32
10 #include <ws2tcpip.h>
11 #else
12 #include <netinet/ip.h>
13 #include <arpa/inet.h>
14 #endif
35 SpeedifySDK_EXTERN typedef struct {
41  uint16_t port;
46 SpeedifySDK_EXTERN typedef struct {
49  uint16_t major;
52  uint16_t minor;
55  uint16_t bugfix;
58  uint16_t build;
62 SpeedifySDK_EXPORT const char* SpeedifySDK_Version_toString(SpeedifySDK_Version state);
67 SpeedifySDK_EXTERN typedef enum {
98 SpeedifySDK_EXPORT const char* SpeedifySDK_State_toString(SpeedifySDK_State state);
102 SpeedifySDK_EXTERN typedef enum {
130 SpeedifySDK_EXPORT const char* SpeedifySDK_AutoConnectMethod_toString(SpeedifySDK_AutoConnectMethod method);
134 SpeedifySDK_EXTERN typedef struct {
143  int32_t num;
146  bool isPrivate;
151 SpeedifySDK_EXTERN typedef struct {
160  int num;
163  bool isPrivate;
169  uint16_t publicIPCount;
181 SpeedifySDK_EXPORT const char* SpeedifySDK_ServerInformation_GetCityName(SpeedifySDK_ServerInformation server);
184 SpeedifySDK_EXPORT const char* SpeedifySDK_ServerInformation_toString(SpeedifySDK_ServerInformation server);
200 SpeedifySDK_EXTERN typedef enum {
213 SpeedifySDK_EXPORT const char* SpeedifySDK_AccountPaymentType_toString(SpeedifySDK_AccountPaymentType paymentType);
217 SpeedifySDK_EXTERN typedef struct {
226  int64_t bytesAvailable;
229  int64_t bytesUsed;
232  bool isTeam;
238  int32_t minutesUsed;
244  struct tm dataPeriodEnd;
252 SpeedifySDK_EXTERN typedef enum {
265 SpeedifySDK_EXPORT const char* SpeedifySDK_ConnectionState_toString(SpeedifySDK_ConnectionState state);
269 SpeedifySDK_EXTERN typedef enum {
294 SpeedifySDK_EXPORT const char* SpeedifySDK_NetworkType_toString(SpeedifySDK_NetworkType type);
298 SpeedifySDK_EXTERN typedef enum {
318 SpeedifySDK_EXPORT const char* SpeedifySDK_ConnectionPriority_toString(SpeedifySDK_ConnectionPriority priority);
322 SpeedifySDK_EXTERN typedef struct {
325  int64_t usageMonthly;
328  int64_t usageDaily;
349 SpeedifySDK_EXTERN typedef struct {
358  char description[SPEEDIFYSDK_MAX_ADAPTER_NAME];
370  char connectedNetworkName[SPEEDIFYSDK_MAX_ADAPTER_NAME];
373  char connectedNetworkBSSID[SPEEDIFYSDK_MAX_ADAPTER_NAME];
376  int64_t rateLimit;
385 SpeedifySDK_EXTERN typedef struct {
397  int32_t num;
402 SpeedifySDK_EXTERN typedef enum {
415 SpeedifySDK_EXPORT const char* SpeedifySDK_BondingMode_toString(SpeedifySDK_BondingMode priority);
419 SpeedifySDK_EXTERN typedef enum {
438 SpeedifySDK_EXPORT const char* SpeedifySDK_TransportMode_toString(SpeedifySDK_TransportMode priority);
442 SpeedifySDK_EXTERN typedef enum {
452 SpeedifySDK_EXPORT const char* SpeedifySDK_PortProtocol_toString(SpeedifySDK_PortProtocol portProto);
456 SpeedifySDK_EXTERN typedef struct {
462  uint16_t port;
471 SpeedifySDK_EXTERN typedef struct {
477  bool encrypted;
482 SpeedifySDK_EXTERN typedef struct {
488  uint16_t sockets;
493 SpeedifySDK_EXTERN typedef struct {
501  bool encrypted;
516  uint16_t portsCount;
555 SpeedifySDK_EXTERN typedef struct {
565  bool dnsleak;
570  bool ipleak;
578  uint16_t dnsAddressCount;
598 SpeedifySDK_EXTERN typedef struct {
603  int64_t inFlight;
608  int64_t inFlightWindow;
611  bool connected;
614  bool sleeping;
633  int64_t lossReceive;
638  int64_t lossSend;
641  int64_t latencyMs;
659  uint32_t numberOfSockets;
668  int64_t totalBps;
673  int64_t sendBps;
678  int64_t receiveBps;
695 SpeedifySDK_EXTERN typedef struct {
698  uint64_t time;
701  uint16_t count;
709 SpeedifySDK_EXTERN typedef struct {
712  uint64_t packetsIn;
715  uint64_t packetsOut;
718  uint64_t bytesIn;
721  uint64_t bytesOut;
724  uint64_t bufferWaits;
727  uint64_t packetWaits;
730  uint64_t readQueue;
733  uint64_t droppedIncoming;
738 SpeedifySDK_EXTERN typedef struct {
741  uint64_t packetsIn;
744  uint64_t packetsOut;
747  uint64_t bytesIn;
750  uint64_t bytesOut;
753  uint64_t retries;
758 SpeedifySDK_EXTERN typedef struct {
761  uint64_t detections;
764  uint64_t successes;
769 SpeedifySDK_EXTERN typedef struct {
781  uint64_t totalStreams;
784  uint64_t uniqueSaves;
789 SpeedifySDK_EXTERN typedef struct {
792  uint32_t period;
795  int64_t bytesReceived;
798  int64_t bytesSent;
813  int32_t daysSinceFirst;
816  int64_t numFailovers;
819  int64_t numSessions;
822  int64_t retransBytes;
852 SpeedifySDK_EXTERN typedef struct {
855  uint8_t periodCount;
864 SpeedifySDK_EXTERN typedef enum {
867  ET_OK = 0,
894  ET_SDK_ASYNC = 0xE00,
897  ET_SDK_ERROR = 0xF00,
922 SpeedifySDK_EXPORT const char* SpeedifySDK_ErrorType_toString(SpeedifySDK_ErrorType error);
926 SpeedifySDK_EXTERN typedef enum {
936 SpeedifySDK_EXPORT const char* SpeedifySDK_ProxyMatchMode_toString(SpeedifySDK_ProxyMatchMode matchMode);
944 SpeedifySDK_EXTERN typedef struct {
950  bool enabled;
967 SpeedifySDK_EXTERN typedef struct {
970  bool enabled;
976  uint16_t domainsCount;
982  uint16_t ipv4Count;
986  struct in_addr ipv4[SPEEDIFYSDK_MAX_PROXY_IPS];
989  uint16_t portsCount;
1009 SpeedifySDK_EXTERN typedef struct {
1012  uint16_t domainsCount;
1018  uint16_t ipv4Count;
1022  struct in_addr ipv4[SPEEDIFYSDK_MAX_STREAMING_IPS];
1025  uint16_t ipv6Count;
1029  struct in6_addr ipv6[SPEEDIFYSDK_MAX_STREAMING_IPS];
1032  uint16_t portsCount;
1041 SpeedifySDK_EXTERN typedef enum {
1054 SpeedifySDK_EXPORT const char* SpeedifySDK_FirewallMode_toString(SpeedifySDK_FirewallMode matchMode);
1062 SpeedifySDK_EXTERN typedef struct {
1068  uint16_t domainsCount;
1074  uint16_t ipv4Count;
1078  struct in_addr ipv4[SPEEDIFYSDK_MAX_FIREWALL_IPS];
1081  uint16_t ipv6Count;
1085  struct in6_addr ipv6[SPEEDIFYSDK_MAX_FIREWALL_IPS];
1088  uint16_t portsCount;
1098 SpeedifySDK_EXTERN typedef struct {
1101  bool active;
1104  uint64_t duration;
1107  uint64_t id;
1110  uint64_t groupId;
1113  uint64_t startTime;
1116  double uploadSpeed;
1131  uint64_t speedModeSaves;
1140 SpeedifySDK_EXTERN typedef struct {
1146  uint32_t streamsCount;
1156 SpeedifySDK_EXTERN typedef enum {
1206 SpeedifySDK_EXPORT const char* SpeedifySDK_DisconnectReason_toString(SpeedifySDK_DisconnectReason reason);
1210 SpeedifySDK_EXTERN typedef struct {
1219 SpeedifySDK_EXTERN typedef enum {
1233 SpeedifySDK_EXPORT const char* SpeedifySDK_LogLevel_toString(SpeedifySDK_LogLevel level);
1237 SpeedifySDK_EXTERN typedef struct {
1243  int32_t fileSize;
1255  int32_t totalFiles;
1267 SpeedifySDK_EXTERN typedef struct {
1281 SpeedifySDK_EXTERN typedef enum {
1330 SpeedifySDK_EXTERN typedef enum {
1337 #endif
const char * SpeedifySDK_SafeBrowsing_LogLevel_toString(SpeedifySDK_SafeBrowsingLogLevel level)
Definition: types.h:290
uint16_t watchedDomainsCount
Number of watched domains.
Definition: types.h:953
An invalid argument was supplied.
Definition: types.h:903
SpeedifySDK_AdapterUsageData dataUsage
Data usage and limit information for this adapter.
Definition: types.h:379
uint64_t packetWaits
Number of packet pool waits.
Definition: types.h:727
Always use websocket.
Definition: types.h:431
uint16_t dnsAddressCount
Number of configured dns addresses to forward.
Definition: types.h:578
SpeedifySDK_NetworkType type
Type of the adapter.
Definition: types.h:364
Maximum number of domains returned.
Definition: sdkdefines.h:54
Definition: types.h:1304
Definition: types.h:445
Information on an account's payment type.
Definition: types.h:200
const char * SpeedifySDK_ProxyMatchMode_toString(SpeedifySDK_ProxyMatchMode matchMode)
String representation of a SpeedifySDK_ProxyMatchMode.
Settings for the local proxy.
Definition: types.h:967
Adapter name length.
Definition: sdkdefines.h:33
int64_t bytesReceived
bytes received this period
Definition: types.h:795
Account out of data.
Definition: types.h:1204
Reason for a disconnect.
Definition: types.h:1156
Always use TCP.
Definition: types.h:422
Contains stats regarding the TUN, for use in session stats.
Definition: types.h:709
const char * SpeedifySDK_FirewallMode_toString(SpeedifySDK_FirewallMode matchMode)
String representation of a SpeedifySDK_ProxyMatchMode.
bool sleeping
is sleeping. Used on Cellular connections to improve battery life.
Definition: types.h:614
SpeedifySDK_ProtocolPortPair SpeedifySDK_FirewallPort
A firewall port.
Definition: types.h:1058
uint16_t port
Port number.
Definition: types.h:462
Statistics about a connection.
Definition: types.h:598
City id.
Definition: sdkdefines.h:24
Synchronous call used from within asynchronous callback. Not supported.
Definition: types.h:918
uint16_t perConnectionEncryptionCount
Number of configured per-connection encryption settings.
Definition: types.h:525
uint64_t time
timestamp of the connection stats
Definition: types.h:698
Data on an account.
Definition: types.h:217
Maximum number of ports returned.
Definition: sdkdefines.h:69
Safe browsing errors.
Definition: types.h:1281
Definition: types.h:261
Automatic reconnect from setting change.
Definition: types.h:1195
bool encrypted
Whether all connections will be enabled.
Definition: types.h:501
Definition: types.h:1285
Methods for automatic server selection.
Definition: types.h:102
double sendEstimateMbps
estimated maximum megabits per second send.
Definition: types.h:684
Paid, yearly contract.
Definition: types.h:209
Definition: types.h:1318
Definition: types.h:1332
SpeedifySDK_FirewallMode mode
How matches are handled.
Definition: types.h:1065
DNS timeout.
Definition: types.h:1198
Statistics for a single stream.
Definition: types.h:1098
Paid, monthly contract.
Definition: types.h:206
bool torrentAllowed
Whether this server allows bittorrent/P2P.
Definition: types.h:166
bool crashReports
If crash reporting is enabled.
Definition: types.h:574
uint16_t domainsCount
Number of domains.
Definition: types.h:1068
double overflowThreshold
Overflow threshold, in megabits per second.
Definition: types.h:537
const char * SpeedifySDK_Version_toString(SpeedifySDK_Version state)
String representation of a SpeedifySDK_Version.
Definition: types.h:1231
Software update.
Definition: types.h:1171
Firewall settings.
Definition: types.h:1062
int64_t bytesSent
bytes sent this period
Definition: types.h:798
uint64_t packetsOut
Number of packets written to TUN.
Definition: types.h:715
An error in the SDK.
Definition: types.h:897
int32_t minutesUsed
Minutes used this data period (typically a month) for this account.
Definition: types.h:238
Definition: types.h:448
int64_t totalBps
bits per second through this tunnel
Definition: types.h:668
Definition: types.h:1324
Timeout waiting for result.
Definition: types.h:900
uint16_t sockets
Number of parallel sockets.
Definition: types.h:488
uint64_t bytesOut
Number of bytes leaving packethandler (download)
Definition: types.h:750
Combine for reliability.
Definition: types.h:408
Maximum number of ports returned.
Definition: sdkdefines.h:60
Definition: types.h:258
uint16_t minor
Minor version.
Definition: types.h:52
const char * SpeedifySDK_ServerInformation_toString(SpeedifySDK_ServerInformation server)
String representation of a SpeedifySDK_ServerInformation.
Definition: types.h:1302
Definition: types.h:1282
Definition: types.h:1312
Language id length.
Definition: sdkdefines.h:117
Definition: types.h:278
SpeedifySDK_ProxyMatchMode matchMode
How matches are handled.
Definition: types.h:973
Transitional state as system automatically connects us to speed server.
Definition: types.h:79
Daemon stopped cleanly.
Definition: types.h:1186
Definition: types.h:255
const char * SpeedifySDK_ServerInformationDetailed_toString(SpeedifySDK_ServerInformationDetailed server)
String representation of a SpeedifySDK_ServerInformationDetailed.
Tunnel timeout.
Definition: types.h:1192
double maxDownloadSpeed
maximum download speed this period, megabits per second
Definition: types.h:807
Definition: types.h:1293
An issue with the account being used.
Definition: types.h:882
uint32_t period
period the time period this stat covers, in hours, SPEEDIFYSDK_STAT_PERIOD_CURRENT for current,...
Definition: types.h:792
Definition: types.h:1298
A grouping of ConnectionStats.
Definition: types.h:695
Definition: types.h:275
Network related error.
Definition: types.h:870
Protocol for ports.
Definition: types.h:442
Speedify settings.
Definition: types.h:493
const char * SpeedifySDK_ConnectionState_toString(SpeedifySDK_ConnectionState state)
String representation of a SpeedifySDK_ConnectionState.
Always use Multi TCP.
Definition: types.h:434
double averageDownloadSpeed
Average download speed of this stream, in megabits per second.
Definition: types.h:1125
int64_t overlimitRatelimit
Rate limit used when this adapter hits a daily or monthly limit. If 0, this adapter is no longer used...
Definition: types.h:343
int32_t num
Server number. Each specific server in an area is given a number unique to that region,...
Definition: types.h:143
bool perConnectionEncryptionEnabled
If per-connection encryption is being used.
Definition: types.h:522
Definition: types.h:1300
uint64_t totalRedundantModeSaves
Total number of saves while in redundant mode.
Definition: types.h:778
uint64_t totalSpeedModeSaves
Total number of saves while in speed mode.
Definition: types.h:775
Definition: types.h:1284
Definition: types.h:1225
uint16_t publicIPCount
How many public IPs are in the list.
Definition: types.h:169
uint16_t ipv6Count
Number of IPv6 addresses.
Definition: types.h:1025
Definition: types.h:1309
double maxUploadSpeed
maximum upload speed this period, megabits per second
Definition: types.h:810
int32_t filesPerDaemon
Number of log files allowed per SDK service instance.
Definition: types.h:1249
Definition: types.h:1296
SpeedifySDK_ProtocolPortPair SpeedifySDK_ForwardedPort
A forwarded port.
Definition: types.h:467
bool isPrivate
Whether this is a private or public server.
Definition: types.h:163
Transport Protocol modes.
Definition: types.h:419
int32_t num
Chosen server number, if connectMethod is ACM_COUNTRYCITYSERVER.
Definition: types.h:397
int64_t receiveBps
bits per second received through this tunnel.
Definition: types.h:678
const char * SpeedifySDK_TransportMode_toString(SpeedifySDK_TransportMode priority)
String representation of a SpeedifySDK_TransportMode.
uint64_t readQueue
Size of the read queue.
Definition: types.h:730
Mode of the VPN tunnel.
Definition: types.h:402
SpeedifySDK_ConnectionPriority priority
Priority of connections over this adapter.
Definition: types.h:367
Never use this connection.
Definition: types.h:314
SpeedifySDK_IPAddressString localIp
internet facing ip address of the adapter.
Definition: types.h:628
int64_t encryptedBytesSent
encrypted bytes sent this period
Definition: types.h:804
Unknown reason.
Definition: types.h:1159
Device reboot.
Definition: types.h:1168
Definition: types.h:203
const char * SpeedifySDK_ServerInformation_GetCountryName(SpeedifySDK_ServerInformation server)
String representation of a SpeedifySDK_ServerInformation's country.
SpeedifySDK_AccountPaymentType paymentType
Payment status of this account.
Definition: types.h:241
SpeedifySDK_BondingMode bondingMode
The current bonding mode.
Definition: types.h:507
Maximum number of domains returned.
Definition: sdkdefines.h:63
bool enabled
If the local proxy should be enabled.
Definition: types.h:970
Definition: types.h:287
int32_t totalFiles
Total number of daemon log files to keep over all SDK service instances.
Definition: types.h:1255
int64_t bytesAvailable
Bytes allowed per data period (typically a month) for this account. -1 for unlimited.
Definition: types.h:226
Definition: types.h:1289
int64_t usageMonthlyResetDay
Day of the month to reset monthly usage on. 0 for last 30 days.
Definition: types.h:334
uint64_t droppedIncoming
Number of incoming packets dropped.
Definition: types.h:733
Adapter setting for per-connection parallel sockets.
Definition: types.h:482
const char * SpeedifySDK_ServerInformationDetailed_GetCountryName(SpeedifySDK_ServerInformationDetailed server)
String representation of a SpeedifySDK_ServerInformationDetailed's country.
bool killswitch
If Internet Killswitch is enabled.
Definition: types.h:560
No error.
Definition: types.h:867
int64_t retransBytes
bytes retransmitted this period
Definition: types.h:822
int64_t bytesUsed
Bytes used this data period (typically a month) for this account.
Definition: types.h:229
bool enableEsni
If ESNI is enabled for this domain.
Definition: types.h:1273
Domains and IP Addresses matched are sent over the VPN, all others are sent over the proxy @since 10....
Definition: types.h:932
Use this connection if others are unavailable.
Definition: types.h:311
uint16_t domainWatchlistItemsCount
Number of watchlist items.
Definition: types.h:996
Transitional state as we log in.
Definition: types.h:73
Maximum number of DNS addresses to configure.
Definition: sdkdefines.h:48
bool enableDefaultRoute
Whether the default route goes over the VPN tunnel.
Definition: types.h:543
Information about a network adapter.
Definition: types.h:349
uint64_t bufferWaits
Number of buffer full waits.
Definition: types.h:724
uint16_t perConnectionParallelSocketsCount
Number of configured per-connection parallel socket settings.
Definition: types.h:531
const char * SpeedifySDK_ConnectionPriority_toString(SpeedifySDK_ConnectionPriority priority)
String representation of a SpeedifySDK_ConnectionPriority.
Server that supports P2P/BitTorrent.
Definition: types.h:117
Definition: types.h:1295
int64_t encryptedBytesReceived
encrypted bytes received this period
Definition: types.h:801
double uploadSpeed
Current upload speed of this stream, in megabits per second.
Definition: types.h:1116
uint16_t major
Major version.
Definition: types.h:49
Maximum number of domain watchlist items.
Definition: sdkdefines.h:72
Combine for speed.
Definition: types.h:405
Intelligently choose between available protocols.
Definition: types.h:428
uint16_t domainsCount
Number of domains.
Definition: types.h:976
uint64_t packetsIn
Number of packets going into packethandler (upload)
Definition: types.h:741
User initiated.
Definition: types.h:1180
Email length.
Definition: sdkdefines.h:30
uint64_t bytesIn
Number of bytes going into packethandler (upload)
Definition: types.h:747
uint64_t packetsIn
Number of packets read from TUN.
Definition: types.h:712
Log levels in the SDK.
Definition: types.h:1330
uint64_t speedModeSaves
Number of saves while in speed mode.
Definition: types.h:1131
SpeedifySDK_DisconnectReason disconnectReason
Reason for the disconnect.
Definition: types.h:1213
Maximum title length of domain watchlist item.
Definition: sdkdefines.h:75
Error opening or configuring the VPN adapter.
Definition: types.h:891
bool startupConnect
If Speedify will automatically connect when the daemon starts.
Definition: types.h:510
All available adapters are overlimit, VPN still in connected state.
Definition: types.h:91
Automatic server selection method settings.
Definition: types.h:385
Directory settings.
Definition: types.h:1267
Last server connected to.
Definition: types.h:114
Closest private server to user.
Definition: types.h:108
const char * SpeedifySDK_NetworkType_toString(SpeedifySDK_NetworkType type)
String representation of a SpeedifySDK_NetworkType.
const char * SpeedifySDK_ServerInformation_GetCityName(SpeedifySDK_ServerInformation server)
String representation of a SpeedifySDK_ServerInformation's city.
Length of directory server domain.
Definition: sdkdefines.h:42
Maximum number of streams returns in a stats result.
Definition: sdkdefines.h:81
Transitional state as we connect to speed server.
Definition: types.h:82
bool isAutoAccount
If this account is an automatically generated account.
Definition: types.h:223
Closest public or private server to user.
Definition: types.h:105
bool connected
is connected
Definition: types.h:611
Type of network adapter.
Definition: types.h:269
Fail open error.
Definition: types.h:1288
uint16_t bugfix
Bugfix version.
Definition: types.h:55
bool enabled
If the domains in this watchlist should be added to the local proxy filter.
Definition: types.h:950
Completely disconnected and unathenticated. Need to login() to do anything.
Definition: types.h:70
SpeedifySDK_ProtocolPortPair SpeedifySDK_StreamingPort
A streaming port.
Definition: types.h:1005
int64_t usageDailyBoost
Extra Bytes allowed over this adapter today. This value resets to 0 every day.
Definition: types.h:340
Definition: types.h:281
int64_t inFlight
bytes currently in flight
Definition: types.h:603
How a connection should be combined.
Definition: types.h:298
uint16_t ipv6Count
Number of IPv6 addresses.
Definition: types.h:1081
double mbpsUpBenefit
extra upload bandwidth acheived this period, in megabits per second
Definition: types.h:834
Always use this connection.
Definition: types.h:303
uint64_t totalStreams
Total number of streams seen.
Definition: types.h:781
Setting locked by server configuration.
Definition: types.h:915
Streaming mode stats.
Definition: types.h:1140
Definition: types.h:1333
const char * SpeedifySDK_AutoConnectMethod_toString(SpeedifySDK_AutoConnectMethod method)
String representation of a SpeedifySDK_AutoConnectMethod.
SpeedifySDK_TransportMode transportMode
Currently used connection transport mode selection.
Definition: types.h:513
SpeedifySDK_IPAddressString privateIp
local ip address of the adapter.
Definition: types.h:647
int64_t usageDailyLimit
Bytes allowed over this adapter in a single day. 0 for unlimited.
Definition: types.h:337
Transitional state as we disconnect from speed server.
Definition: types.h:85
SpeedifySDK_IPAddressString ip
IP address of the speedify daemon to connect to.
Definition: types.h:38
uint16_t ipv4Count
Number of IPv4 addresses.
Definition: types.h:1074
Type classification for errors.
Definition: types.h:864
How local proxy treats matches.
Definition: types.h:926
int64_t rateLimit
Speed limit, in bits per second. Or zero if unlimited.
Definition: types.h:376
int64_t periodStartTime
start time of this period, in seconds since epoch
Definition: types.h:825
int64_t usageDaily
Bytes used over this adapter today.
Definition: types.h:328
SpeedifySDK_TransportMode protocol
protocol used for the tunnel.
Definition: types.h:653
uint64_t startTime
Time this stream started, seconds since epoch.
Definition: types.h:1113
const char * SpeedifySDK_ErrorType_toString(SpeedifySDK_ErrorType error)
String representation of a SpeedifySDK_ErrorType.
Maximum length of SpeedifySDK_StreamStats name field.
Definition: sdkdefines.h:84
SpeedifySDK_LogLevel logLevel
Minimim logging level to allow.
Definition: types.h:1261
uint16_t portsCount
Number of ports.
Definition: types.h:1032
const char * SpeedifySDK_State_toString(SpeedifySDK_State state)
String representation of a SpeedifySDK_State.
Domains and IP Addresses matched are sent over the proxy, all others are sent over the VPN @since 10....
Definition: types.h:929
Log levels in the SDK.
Definition: types.h:1219
int num
Server number. Each specific server in an area is given a number unique to that region,...
Definition: types.h:160
SpeedifySDK_ProtocolPortPair SpeedifySDK_LocalProxyPort
A proxied port.
Definition: types.h:940
double receiveEstimateMbps
estimated maximum megabits per second received.
Definition: types.h:690
Firewall is disabled.
Definition: types.h:1044
Optimize for streaming.
Definition: types.h:411
const char * SpeedifySDK_BondingMode_toString(SpeedifySDK_BondingMode priority)
String representation of a SpeedifySDK_BondingMode.
bool jumboPackets
Whether to allow jumbo packets over the VPN tunnel.
Definition: types.h:496
uint16_t count
how many connections are in this group
Definition: types.h:701
uint16_t domainsCount
Number of domains.
Definition: types.h:1012
Matches are allowed through the VPN, all others are dropped @since 10.2.
Definition: types.h:1047
State of Speedify on a given connection (network adapter).
Definition: types.h:252
uint16_t build
Build number.
Definition: types.h:58
Country id length.
Definition: sdkdefines.h:21
Too many requests are being made by this device.
Definition: types.h:885
Definition: types.h:1222
uint16_t portsCount
Number of ports.
Definition: types.h:1088
uint64_t groupId
Group ID number of this stream.
Definition: types.h:1110
Maximum number of IPs returned.
Definition: sdkdefines.h:111
uint8_t periodCount
Number of stat periods.
Definition: types.h:855
const char * SpeedifySDK_LogLevel_toString(SpeedifySDK_LogLevel level)
uint64_t duration
Time, in seconds, this stream has been active.
Definition: types.h:1104
Timeout initializing the connection.
Definition: types.h:1189
Definition: types.h:1315
uint32_t numberOfSockets
Number of active sockets for this connection.
Definition: types.h:659
uint64_t totalFailoverSaves
Total number of saves from a failover.
Definition: types.h:772
Statistics for sessions over various time periods.
Definition: types.h:852
Forwarded ports supported.
Definition: sdkdefines.h:36
uint64_t bytesOut
Number of bytes written to TUN.
Definition: types.h:721
The provided OAUTH token is expired.
Definition: types.h:888
How firewall treats matches.
Definition: types.h:1041
SpeedifySDK_PortProtocol protocol
Transport layer protocol.
Definition: types.h:459
uint64_t packetsOut
Number of packets leaving packethandler (download)
Definition: types.h:744
int64_t lossReceive
receive loss ratio (0.0-1.0)
Definition: types.h:633
No network connectivity.
Definition: types.h:1162
Connect by automatic connection method.
Definition: types.h:120
const char * SpeedifySDK_PortProtocol_toString(SpeedifySDK_PortProtocol portProto)
String representation of a SpeedifySDK_PortProtocol.
const char * SpeedifySDK_AccountPaymentType_toString(SpeedifySDK_AccountPaymentType paymentType)
String representation of a SpeedifySDK_AccountPaymentType.
const char * SpeedifySDK_DisconnectReason_toString(SpeedifySDK_DisconnectReason reason)
int32_t fileSize
Size of individual daemon log files, in bytes.
Definition: types.h:1243
const char * SpeedifySDK_ServerInformationDetailed_GetCityName(SpeedifySDK_ServerInformationDetailed server)
String representation of a SpeedifySDK_ServerInformationDetailed's city.
Contains stats regarding the packet handler, for use in session stats.
Definition: types.h:738
A callback is required for this call.
Definition: types.h:906
SpeedifySDK_AutoConnectMethod connectMethod
Type of automatic selection used.
Definition: types.h:388
Definition: types.h:1306
Local-proxy only connection.
Definition: types.h:126
Use this connection if others are full.
Definition: types.h:308
Maximum number of IPs returned.
Definition: sdkdefines.h:57
Unable to connect to the local Speedify daemon.
Definition: types.h:94
SpeedifySDK_HandlerStats handlerStats
Contains stats regarding the packet handler this period.
Definition: types.h:840
SDK creation settings structure.
Definition: types.h:35
double averageUploadSpeed
Average upload speed of this stream, in megabits per second.
Definition: types.h:1122
Invalid credentials.
Definition: types.h:876
Privacy settings.
Definition: types.h:555
int64_t numSessions
total number of sessions this period
Definition: types.h:819
bool dnsleak
If DNS Leak protection is enabled.
Definition: types.h:565
Fully authenticated, but not using a speed server. Ready to connect()
Definition: types.h:76
Adapter setting for per-connection encryption.
Definition: types.h:471
uint16_t proxiedDomainsCount
Number of proxied domains.
Definition: types.h:959
uint16_t portsCount
Number of ports.
Definition: types.h:989
Closest public server to user.
Definition: types.h:111
Statistics for a period.
Definition: types.h:789
Maximum length of domain to proxy.
Definition: sdkdefines.h:51
Maximum number of ports returned.
Definition: sdkdefines.h:114
uint16_t port
Port number of the speedify daemon to connect to.
Definition: types.h:41
SpeedifySDK_BondingMode bondingMode
Bonding mode in use.
Definition: types.h:1143
Maximum number of domains returned.
Definition: sdkdefines.h:108
State of the VPN.
Definition: types.h:67
SpeedifySDK_ConnectionState state
State of the connection over this adapter.
Definition: types.h:361
int64_t inFlightWindow
inflight window, bytes
Definition: types.h:608
int64_t totalConnectedMinutes
minutes connected, this period
Definition: types.h:828
int64_t numFailovers
connection failovers this period
Definition: types.h:816
By specific country/city/server.
Definition: types.h:123
Definition: types.h:1294
bool ipleak
If IP Leak protection is enabled.
Definition: types.h:570
Contains stats regarding the captive portal.
Definition: types.h:758
Version structure.
Definition: types.h:46
bool isTeam
If this user is a teams member.
Definition: types.h:232
int64_t latencyMs
latency, milliseconds
Definition: types.h:641
uint16_t ipv4Count
Number of IPv4 addresses.
Definition: types.h:982
Maximum number of domains in a watchlist item.
Definition: sdkdefines.h:78
Information about a disconnect event.
Definition: types.h:1210
Contains session stats regarding streaming mode.
Definition: types.h:769
IP string length.
Definition: sdkdefines.h:39
Result is an async call SDK. Not an error.
Definition: types.h:894
String representation of an IP address.
Definition: types.h:30
Really connected to a speed server.
Definition: types.h:88
SpeedifySDK_CaptivePortalStats captivePortalStats
Contains stats regarding captive portals this period.
Definition: types.h:843
int64_t sendBps
bits per second sent through this tunnel.
Definition: types.h:673
Definition: types.h:272
Device sleep.
Definition: types.h:1177
Settings for the priority streaming.
Definition: types.h:1009
uint64_t id
ID number of this stream.
Definition: types.h:1107
Information about a server.
Definition: types.h:134
uint32_t streamsCount
Number of streams in this result.
Definition: types.h:1146
uint64_t uniqueSaves
Unique streams saved.
Definition: types.h:784
Airplane mode activated, or no networks available.
Definition: types.h:1165
uint16_t ipv4Count
Number of IPv4 addresses.
Definition: types.h:1018
Maximum number of IPs returned.
Definition: sdkdefines.h:66
int32_t daysSinceFirst
days since first connection
Definition: types.h:813
Detailed information about a server.
Definition: types.h:151
Maximum number of IPs on a server.
Definition: sdkdefines.h:45
Always use UDP.
Definition: types.h:425
Definition: types.h:1321
Maximum number of stat periods requested.
Definition: sdkdefines.h:90
bool headerCompression
Whether header compression is enabled.
Definition: types.h:546
int32_t minutesAvailable
Minutes allowed per data period (typically a month) for this account. -1 for unlimited.
Definition: types.h:235
Local proxy domain watchlist item.
Definition: types.h:944
int64_t usageMonthly
Bytes used over this adapter in current month period.
Definition: types.h:325
uint16_t portsCount
Number of configured ports to forward.
Definition: types.h:516
Platform does not support this call.
Definition: types.h:909
Definition: types.h:1291
uint64_t detections
Captive portal detections.
Definition: types.h:761
uint64_t bytesIn
Number of bytes read from TUN.
Definition: types.h:718
double downloadSpeed
Current download speed of this stream, in megabits per second.
Definition: types.h:1119
Definition: types.h:1331
int64_t lossSend
send loss ratio (0.0-1.0)
Definition: types.h:638
uint64_t redundantModeSaves
Number of saves while in redundant mode.
Definition: types.h:1128
uint64_t successes
Successful captive portal logins.
Definition: types.h:764
VPN tunnel blocked.
Definition: types.h:1201
bool allowChaChaEncryption
Whether the use of ChaCha is allowed for connection encryption.
Definition: types.h:504
double mbpsDownBenefit
extra download bandwidth acheived this period, in megabits per second
Definition: types.h:831
An error occurred on the server.
Definition: types.h:873
Automatic disconnect from torrent activity.
Definition: types.h:1183
A protocol/port pair.
Definition: types.h:456
int64_t usageMonthlyLimit
Bytes allowed over this adapter in current month period. 0 for unlimited.
Definition: types.h:331
Definition: types.h:1228
Information about the data usage and limits of a network adapter.
Definition: types.h:322
Matches are dropped, all others are allowed through the VPN @since 10.2.
Definition: types.h:1050
SpeedifySDK_StreamingSessionStats streamingStats
Contains stats regarding streaming mode this period.
Definition: types.h:846
bool doNotStoreCredentials
If credentials, including oauth tokens and passwords, are not stored locally.
Definition: types.h:589
Settings for logging in the daemon.
Definition: types.h:1237
Daemon crash.
Definition: types.h:1174
bool isPrivate
Whether this is a private or public server.
Definition: types.h:146
SpeedifySDK_TunStats tunStats
Contains stats regarding the TUN this period.
Definition: types.h:837
bool active
If this stream is currently active.
Definition: types.h:1101
Simultaneous adapters supported.
Definition: sdkdefines.h:15
uint64_t retries
Number of packets retries.
Definition: types.h:753
Directory list was empty.
Definition: types.h:879
bool encrypted
If encryption is enabled.
Definition: types.h:477
No connection to the Speedify daemon.
Definition: types.h:912
Definition: types.h:284
bool packetAggregation
Whether packet aggregation is enabled.
Definition: types.h:540
SpeedifySDK_IPAddressString remoteIp
internet facing up address of the tunnel.
Definition: types.h:665
String representation of an IP address.
Definition: types.h:25