[settings] add FreeRDP_ClipboardFeatureMask

This commit is contained in:
akallabeth 2023-05-09 11:31:16 +02:00 committed by Martin Fleisz
parent b8f7b59fff
commit 393577750e
5 changed files with 25 additions and 1 deletions

View File

@ -333,6 +333,16 @@ extern "C"
#define ORIENTATION_LANDSCAPE_FLIPPED 180
#define ORIENTATION_PORTRAIT_FLIPPED 270
/* Clipboard feature mask */
#define CLIPRDR_FLAG_LOCAL_TO_REMOTE 0x01
#define CLIPRDR_FLAG_LOCAL_TO_REMOTE_FILES 0x02
#define CLIPRDR_FLAG_REMOTE_TO_LOCAL 0x10
#define CLIPRDR_FLAG_REMOTE_TO_LOCAL_FILES 0x20
#define CLIPRDR_FLAG_DEFAULT_MASK \
(CLIPRDR_FLAG_LOCAL_TO_REMOTE | CLIPRDR_FLAG_LOCAL_TO_REMOTE_FILES | \
CLIPRDR_FLAG_REMOTE_TO_LOCAL | CLIPRDR_FLAG_REMOTE_TO_LOCAL_FILES)
/* ARC_CS_PRIVATE_PACKET */
typedef struct
{
@ -893,6 +903,7 @@ extern "C"
#define FreeRDP_RedirectParallelPorts (4673)
#define FreeRDP_PreferIPv6OverIPv4 (4674)
#define FreeRDP_RedirectClipboard (4800)
#define FreeRDP_ClipboardFeatureMask (4801)
#define FreeRDP_StaticChannelCount (4928)
#define FreeRDP_StaticChannelArraySize (4929)
#define FreeRDP_StaticChannelArray (4930)
@ -1606,7 +1617,8 @@ extern "C"
*/
ALIGN64 BOOL RedirectClipboard; /* 4800 */
UINT64 padding4928[4928 - 4801]; /* 4801 */
ALIGN64 UINT32 ClipboardFeatureMask; /* 4801 */
UINT64 padding4928[4928 - 4802]; /* 4802 */
/**
* Static Virtual Channels

View File

@ -1558,6 +1558,9 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, size_t id)
case FreeRDP_ClientSessionId:
return settings->ClientSessionId;
case FreeRDP_ClipboardFeatureMask:
return settings->ClipboardFeatureMask;
case FreeRDP_ClusterInfoFlags:
return settings->ClusterInfoFlags;
@ -1956,6 +1959,10 @@ BOOL freerdp_settings_set_uint32(rdpSettings* settings, size_t id, UINT32 val)
settings->ClientSessionId = cnv.c;
break;
case FreeRDP_ClipboardFeatureMask:
settings->ClipboardFeatureMask = cnv.c;
break;
case FreeRDP_ClusterInfoFlags:
settings->ClusterInfoFlags = cnv.c;
break;

View File

@ -278,6 +278,7 @@ static const struct settings_str_entry settings_map[] = {
{ FreeRDP_ClientBuild, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ClientBuild" },
{ FreeRDP_ClientRandomLength, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ClientRandomLength" },
{ FreeRDP_ClientSessionId, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ClientSessionId" },
{ FreeRDP_ClipboardFeatureMask, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ClipboardFeatureMask" },
{ FreeRDP_ClusterInfoFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ClusterInfoFlags" },
{ FreeRDP_ColorDepth, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ColorDepth" },
{ FreeRDP_ColorPointerCacheSize, FREERDP_SETTINGS_TYPE_UINT32,

View File

@ -346,6 +346,9 @@ rdpSettings* freerdp_settings_new(DWORD flags)
if (!settings)
return NULL;
if (!freerdp_settings_set_uint32(settings, FreeRDP_ClipboardFeatureMask,
CLIPRDR_FLAG_DEFAULT_MASK))
goto out_fail;
if (!freerdp_settings_set_string(settings, FreeRDP_ServerLicenseCompanyName, "FreeRDP"))
goto out_fail;
if (!freerdp_settings_set_string(settings, FreeRDP_ServerLicenseProductName,

View File

@ -216,6 +216,7 @@ static const size_t uint32_list_indices[] = {
FreeRDP_ClientBuild,
FreeRDP_ClientRandomLength,
FreeRDP_ClientSessionId,
FreeRDP_ClipboardFeatureMask,
FreeRDP_ClusterInfoFlags,
FreeRDP_ColorDepth,
FreeRDP_ColorPointerCacheSize,