Added additional tcp keep alive settings.

This commit is contained in:
Armin Novak 2019-11-07 12:45:05 +01:00
parent 7db4f69cb6
commit 7f21f4ef3d
3 changed files with 31 additions and 1 deletions

View File

@ -881,6 +881,9 @@ typedef struct _RDPDR_PARALLEL RDPDR_PARALLEL;
#define FreeRDP_SupportVideoOptimized (5188)
#define FreeRDP_RDP2TCPArgs (5189)
#define FreeRDP_TcpKeepAlive (5190)
#define FreeRDP_TcpKeepAliveRetries (5191)
#define FreeRDP_TcpKeepAliveInterval (5192)
#define FreeRDP_TcpAckTimeout (5193)
/**
* FreeRDP Settings Data Structure
@ -1522,7 +1525,10 @@ struct rdp_settings
ALIGN64 BOOL SupportVideoOptimized; /* 5188 */
ALIGN64 char* RDP2TCPArgs; /* 5189 */
ALIGN64 BOOL TcpKeepAlive; /* 5190 */
UINT64 padding5312[5312 - 5191]; /* 5191 */
ALIGN64 UINT32 TcpKeepAliveRetries; /* 5191 */
ALIGN64 UINT32 TcpKeepAliveInterval; /* 5192 */
ALIGN64 UINT32 TcpAckTimeout; /* 5193 */
UINT64 padding5312[5312 - 5193]; /* 5193 */
/**
* WARNING: End of ABI stable zone!

View File

@ -1559,6 +1559,15 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, size_t id)
case FreeRDP_DynamicChannelArraySize:
return settings->DynamicChannelArraySize;
case FreeRDP_TcpKeepAliveRetries:
return settings->TcpKeepAliveRetries;
case FreeRDP_TcpKeepAliveInterval:
return settings->TcpKeepAliveInterval;
case FreeRDP_TcpAckTimeout:
return settings->TcpAckTimeout;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
return FALSE;
@ -1996,6 +2005,18 @@ BOOL freerdp_settings_set_uint32(rdpSettings* settings, size_t id, UINT32 val)
settings->DynamicChannelArraySize = val;
break;
case FreeRDP_TcpKeepAliveRetries:
settings->TcpKeepAliveRetries = val;
break;
case FreeRDP_TcpKeepAliveInterval:
settings->TcpKeepAliveInterval = val;
break;
case FreeRDP_TcpAckTimeout:
settings->TcpAckTimeout = val;
break;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
return FALSE;

View File

@ -281,6 +281,9 @@ static const size_t uint32_list_indices[] = {
FreeRDP_StaticChannelArraySize,
FreeRDP_DynamicChannelCount,
FreeRDP_DynamicChannelArraySize,
FreeRDP_TcpKeepAliveRetries,
FreeRDP_TcpKeepAliveInterval,
FreeRDP_TcpAckTimeout,
};
#define have_int32_list_indices