Add setting name for invalid function access

Try to be helpful and resolve the settings index with a readable
name if possible to help diagnose wrong function use
This commit is contained in:
akallabeth 2022-10-25 14:12:29 +02:00 committed by David Fort
parent dbb1889a54
commit 58599c91a3
4 changed files with 664 additions and 433 deletions

View File

@ -1826,7 +1826,11 @@ extern "C"
FREERDP_API SSIZE_T freerdp_settings_get_key_for_name(const char* value);
FREERDP_API SSIZE_T freerdp_settings_get_type_for_name(const char* value);
FREERDP_API SSIZE_T freerdp_settings_get_type_for_key(size_t key);
FREERDP_API const char* freerdp_settings_get_type_name_for_key(size_t key);
FREERDP_API const char* freerdp_settings_get_type_name_for_type(SSIZE_T type);
FREERDP_API const char* freerdp_settings_get_name_for_key(size_t key);
FREERDP_API UINT32 freerdp_settings_get_codecs_flags(const rdpSettings* settings);

View File

@ -553,7 +553,9 @@ BOOL freerdp_settings_get_bool(const rdpSettings* settings, size_t id)
return settings->Workarea;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -1266,7 +1268,9 @@ BOOL freerdp_settings_set_bool(rdpSettings* settings, size_t id, BOOL val)
break;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
return TRUE;
@ -1291,7 +1295,9 @@ UINT16 freerdp_settings_get_uint16(const rdpSettings* settings, size_t id)
return settings->TLSMinVersion;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -1328,7 +1334,9 @@ BOOL freerdp_settings_set_uint16(rdpSettings* settings, size_t id, UINT16 val)
break;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
return TRUE;
@ -1341,7 +1349,9 @@ INT16 freerdp_settings_get_int16(const rdpSettings* settings, size_t id)
switch (id)
{
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -1362,7 +1372,9 @@ BOOL freerdp_settings_set_int16(rdpSettings* settings, size_t id, INT16 val)
switch (id)
{
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
return TRUE;
@ -1729,7 +1741,9 @@ UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, size_t id)
return settings->VirtualChannelCompressionFlags;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -2222,7 +2236,9 @@ BOOL freerdp_settings_set_uint32(rdpSettings* settings, size_t id, UINT32 val)
break;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
return TRUE;
@ -2241,7 +2257,9 @@ INT32 freerdp_settings_get_int32(const rdpSettings* settings, size_t id)
return settings->YPan;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -2270,7 +2288,9 @@ BOOL freerdp_settings_set_int32(rdpSettings* settings, size_t id, INT32 val)
break;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
return TRUE;
@ -2286,7 +2306,9 @@ UINT64 freerdp_settings_get_uint64(const rdpSettings* settings, size_t id)
return settings->ParentWindowId;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -2311,7 +2333,9 @@ BOOL freerdp_settings_set_uint64(rdpSettings* settings, size_t id, UINT64 val)
break;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
return TRUE;
@ -2324,7 +2348,9 @@ INT64 freerdp_settings_get_int64(const rdpSettings* settings, size_t id)
switch (id)
{
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -2345,7 +2371,9 @@ BOOL freerdp_settings_set_int64(rdpSettings* settings, size_t id, INT64 val)
switch (id)
{
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
return TRUE;
@ -2616,7 +2644,9 @@ const char* freerdp_settings_get_string(const rdpSettings* settings, size_t id)
return settings->WmClass;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -2886,7 +2916,9 @@ char* freerdp_settings_get_string_writable(rdpSettings* settings, size_t id)
return settings->WmClass;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -3166,7 +3198,9 @@ BOOL freerdp_settings_set_string_(rdpSettings* settings, size_t id, const char*
return update_string(&settings->WmClass, cnv.cc, len, cleanup);
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
return TRUE;
@ -3270,7 +3304,9 @@ void* freerdp_settings_get_pointer_writable(rdpSettings* settings, size_t id)
return settings->instance;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
}
@ -3393,7 +3429,9 @@ BOOL freerdp_settings_set_pointer(rdpSettings* settings, size_t id, const void*
break;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id,
freerdp_settings_get_name_for_key(id),
freerdp_settings_get_type_name_for_key(id));
return FALSE;
}
return TRUE;

View File

@ -7,6 +7,19 @@
#define TAG FREERDP_TAG("common.settings")
typedef enum
{
FREERDP_SETTINGS_TYPE_BOOL,
FREERDP_SETTINGS_TYPE_UINT16,
FREERDP_SETTINGS_TYPE_INT16,
FREERDP_SETTINGS_TYPE_UINT32,
FREERDP_SETTINGS_TYPE_INT32,
FREERDP_SETTINGS_TYPE_UINT64,
FREERDP_SETTINGS_TYPE_INT64,
FREERDP_SETTINGS_TYPE_STRING,
FREERDP_SETTINGS_TYPE_POINTER
} FREERDP_SETTINGS_TYPE;
struct settings_str_entry
{
size_t id;
@ -14,416 +27,512 @@ struct settings_str_entry
const char* str;
};
static const struct settings_str_entry settings_map[] = {
{ FreeRDP_AllowCacheWaitingList, 0, "FreeRDP_AllowCacheWaitingList" },
{ FreeRDP_AllowDesktopComposition, 0, "FreeRDP_AllowDesktopComposition" },
{ FreeRDP_AllowFontSmoothing, 0, "FreeRDP_AllowFontSmoothing" },
{ FreeRDP_AllowUnanouncedOrdersFromServer, 0, "FreeRDP_AllowUnanouncedOrdersFromServer" },
{ FreeRDP_AltSecFrameMarkerSupport, 0, "FreeRDP_AltSecFrameMarkerSupport" },
{ FreeRDP_AsyncChannels, 0, "FreeRDP_AsyncChannels" },
{ FreeRDP_AsyncUpdate, 0, "FreeRDP_AsyncUpdate" },
{ FreeRDP_AudioCapture, 0, "FreeRDP_AudioCapture" },
{ FreeRDP_AudioPlayback, 0, "FreeRDP_AudioPlayback" },
{ FreeRDP_Authentication, 0, "FreeRDP_Authentication" },
{ FreeRDP_AuthenticationOnly, 0, "FreeRDP_AuthenticationOnly" },
{ FreeRDP_AutoAcceptCertificate, 0, "FreeRDP_AutoAcceptCertificate" },
{ FreeRDP_AutoDenyCertificate, 0, "FreeRDP_AutoDenyCertificate" },
{ FreeRDP_AutoLogonEnabled, 0, "FreeRDP_AutoLogonEnabled" },
{ FreeRDP_AutoReconnectionEnabled, 0, "FreeRDP_AutoReconnectionEnabled" },
{ FreeRDP_BitmapCacheEnabled, 0, "FreeRDP_BitmapCacheEnabled" },
{ FreeRDP_BitmapCachePersistEnabled, 0, "FreeRDP_BitmapCachePersistEnabled" },
{ FreeRDP_BitmapCacheV3Enabled, 0, "FreeRDP_BitmapCacheV3Enabled" },
{ FreeRDP_BitmapCompressionDisabled, 0, "FreeRDP_BitmapCompressionDisabled" },
{ FreeRDP_CertificateCallbackPreferPEM, 0, "FreeRDP_CertificateCallbackPreferPEM" },
{ FreeRDP_CertificateUseKnownHosts, 0, "FreeRDP_CertificateUseKnownHosts" },
{ FreeRDP_ColorPointerFlag, 0, "FreeRDP_ColorPointerFlag" },
{ FreeRDP_CompressionEnabled, 0, "FreeRDP_CompressionEnabled" },
{ FreeRDP_ConsoleSession, 0, "FreeRDP_ConsoleSession" },
{ FreeRDP_CredentialsFromStdin, 0, "FreeRDP_CredentialsFromStdin" },
{ FreeRDP_DeactivateClientDecoding, 0, "FreeRDP_DeactivateClientDecoding" },
{ FreeRDP_Decorations, 0, "FreeRDP_Decorations" },
{ FreeRDP_DesktopResize, 0, "FreeRDP_DesktopResize" },
{ FreeRDP_DeviceRedirection, 0, "FreeRDP_DeviceRedirection" },
{ FreeRDP_DisableCredentialsDelegation, 0, "FreeRDP_DisableCredentialsDelegation" },
{ FreeRDP_DisableCtrlAltDel, 0, "FreeRDP_DisableCtrlAltDel" },
{ FreeRDP_DisableCursorBlinking, 0, "FreeRDP_DisableCursorBlinking" },
{ FreeRDP_DisableCursorShadow, 0, "FreeRDP_DisableCursorShadow" },
{ FreeRDP_DisableFullWindowDrag, 0, "FreeRDP_DisableFullWindowDrag" },
{ FreeRDP_DisableMenuAnims, 0, "FreeRDP_DisableMenuAnims" },
{ FreeRDP_DisableRemoteAppCapsCheck, 0, "FreeRDP_DisableRemoteAppCapsCheck" },
{ FreeRDP_DisableThemes, 0, "FreeRDP_DisableThemes" },
{ FreeRDP_DisableWallpaper, 0, "FreeRDP_DisableWallpaper" },
{ FreeRDP_DrawAllowColorSubsampling, 0, "FreeRDP_DrawAllowColorSubsampling" },
{ FreeRDP_DrawAllowDynamicColorFidelity, 0, "FreeRDP_DrawAllowDynamicColorFidelity" },
{ FreeRDP_DrawAllowSkipAlpha, 0, "FreeRDP_DrawAllowSkipAlpha" },
{ FreeRDP_DrawGdiPlusCacheEnabled, 0, "FreeRDP_DrawGdiPlusCacheEnabled" },
{ FreeRDP_DrawGdiPlusEnabled, 0, "FreeRDP_DrawGdiPlusEnabled" },
{ FreeRDP_DrawNineGridEnabled, 0, "FreeRDP_DrawNineGridEnabled" },
{ FreeRDP_DumpRemoteFx, 0, "FreeRDP_DumpRemoteFx" },
{ FreeRDP_DynamicDaylightTimeDisabled, 0, "FreeRDP_DynamicDaylightTimeDisabled" },
{ FreeRDP_DynamicResolutionUpdate, 0, "FreeRDP_DynamicResolutionUpdate" },
{ FreeRDP_EmbeddedWindow, 0, "FreeRDP_EmbeddedWindow" },
{ FreeRDP_EnableWindowsKey, 0, "FreeRDP_EnableWindowsKey" },
{ FreeRDP_EncomspVirtualChannel, 0, "FreeRDP_EncomspVirtualChannel" },
{ FreeRDP_ExtSecurity, 0, "FreeRDP_ExtSecurity" },
{ FreeRDP_ExternalCertificateManagement, 0, "FreeRDP_ExternalCertificateManagement" },
{ FreeRDP_FIPSMode, 0, "FreeRDP_FIPSMode" },
{ FreeRDP_FastPathInput, 0, "FreeRDP_FastPathInput" },
{ FreeRDP_FastPathOutput, 0, "FreeRDP_FastPathOutput" },
{ FreeRDP_ForceEncryptedCsPdu, 0, "FreeRDP_ForceEncryptedCsPdu" },
{ FreeRDP_ForceMultimon, 0, "FreeRDP_ForceMultimon" },
{ FreeRDP_FrameMarkerCommandEnabled, 0, "FreeRDP_FrameMarkerCommandEnabled" },
{ FreeRDP_Fullscreen, 0, "FreeRDP_Fullscreen" },
{ FreeRDP_GatewayBypassLocal, 0, "FreeRDP_GatewayBypassLocal" },
{ FreeRDP_GatewayEnabled, 0, "FreeRDP_GatewayEnabled" },
{ FreeRDP_GatewayHttpTransport, 0, "FreeRDP_GatewayHttpTransport" },
{ FreeRDP_GatewayHttpUseWebsockets, 0, "FreeRDP_GatewayHttpUseWebsockets" },
{ FreeRDP_GatewayRpcTransport, 0, "FreeRDP_GatewayRpcTransport" },
{ FreeRDP_GatewayUdpTransport, 0, "FreeRDP_GatewayUdpTransport" },
{ FreeRDP_GatewayUseSameCredentials, 0, "FreeRDP_GatewayUseSameCredentials" },
{ FreeRDP_GfxAVC444, 0, "FreeRDP_GfxAVC444" },
{ FreeRDP_GfxAVC444v2, 0, "FreeRDP_GfxAVC444v2" },
{ FreeRDP_GfxH264, 0, "FreeRDP_GfxH264" },
{ FreeRDP_GfxPlanar, 0, "FreeRDP_GfxPlanar" },
{ FreeRDP_GfxProgressive, 0, "FreeRDP_GfxProgressive" },
{ FreeRDP_GfxProgressiveV2, 0, "FreeRDP_GfxProgressiveV2" },
{ FreeRDP_GfxSendQoeAck, 0, "FreeRDP_GfxSendQoeAck" },
{ FreeRDP_GfxSmallCache, 0, "FreeRDP_GfxSmallCache" },
{ FreeRDP_GfxThinClient, 0, "FreeRDP_GfxThinClient" },
{ FreeRDP_GrabKeyboard, 0, "FreeRDP_GrabKeyboard" },
{ FreeRDP_GrabMouse, 0, "FreeRDP_GrabMouse" },
{ FreeRDP_HasExtendedMouseEvent, 0, "FreeRDP_HasExtendedMouseEvent" },
{ FreeRDP_HasHorizontalWheel, 0, "FreeRDP_HasHorizontalWheel" },
{ FreeRDP_HasMonitorAttributes, 0, "FreeRDP_HasMonitorAttributes" },
{ FreeRDP_HiDefRemoteApp, 0, "FreeRDP_HiDefRemoteApp" },
{ FreeRDP_IPv6Enabled, 0, "FreeRDP_IPv6Enabled" },
{ FreeRDP_IgnoreCertificate, 0, "FreeRDP_IgnoreCertificate" },
{ FreeRDP_JpegCodec, 0, "FreeRDP_JpegCodec" },
{ FreeRDP_ListMonitors, 0, "FreeRDP_ListMonitors" },
{ FreeRDP_LocalConnection, 0, "FreeRDP_LocalConnection" },
{ FreeRDP_LogonErrors, 0, "FreeRDP_LogonErrors" },
{ FreeRDP_LogonNotify, 0, "FreeRDP_LogonNotify" },
{ FreeRDP_LongCredentialsSupported, 0, "FreeRDP_LongCredentialsSupported" },
{ FreeRDP_LyncRdpMode, 0, "FreeRDP_LyncRdpMode" },
{ FreeRDP_MaximizeShell, 0, "FreeRDP_MaximizeShell" },
{ FreeRDP_MouseAttached, 0, "FreeRDP_MouseAttached" },
{ FreeRDP_MouseHasWheel, 0, "FreeRDP_MouseHasWheel" },
{ FreeRDP_MouseMotion, 0, "FreeRDP_MouseMotion" },
{ FreeRDP_MouseUseRelativeMove, 0, "FreeRDP_MouseUseRelativeMove" },
{ FreeRDP_MstscCookieMode, 0, "FreeRDP_MstscCookieMode" },
{ FreeRDP_MultiTouchGestures, 0, "FreeRDP_MultiTouchGestures" },
{ FreeRDP_MultiTouchInput, 0, "FreeRDP_MultiTouchInput" },
{ FreeRDP_NSCodec, 0, "FreeRDP_NSCodec" },
{ FreeRDP_NSCodecAllowDynamicColorFidelity, 0, "FreeRDP_NSCodecAllowDynamicColorFidelity" },
{ FreeRDP_NSCodecAllowSubsampling, 0, "FreeRDP_NSCodecAllowSubsampling" },
{ FreeRDP_NegotiateSecurityLayer, 0, "FreeRDP_NegotiateSecurityLayer" },
{ FreeRDP_NetworkAutoDetect, 0, "FreeRDP_NetworkAutoDetect" },
{ FreeRDP_NlaSecurity, 0, "FreeRDP_NlaSecurity" },
{ FreeRDP_NoBitmapCompressionHeader, 0, "FreeRDP_NoBitmapCompressionHeader" },
{ FreeRDP_OldLicenseBehaviour, 0, "FreeRDP_OldLicenseBehaviour" },
{ FreeRDP_PasswordIsSmartcardPin, 0, "FreeRDP_PasswordIsSmartcardPin" },
{ FreeRDP_PercentScreenUseHeight, 0, "FreeRDP_PercentScreenUseHeight" },
{ FreeRDP_PercentScreenUseWidth, 0, "FreeRDP_PercentScreenUseWidth" },
{ FreeRDP_PlayRemoteFx, 0, "FreeRDP_PlayRemoteFx" },
{ FreeRDP_PreferIPv6OverIPv4, 0, "FreeRDP_PreferIPv6OverIPv4" },
{ FreeRDP_PrintReconnectCookie, 0, "FreeRDP_PrintReconnectCookie" },
{ FreeRDP_PromptForCredentials, 0, "FreeRDP_PromptForCredentials" },
{ FreeRDP_RdpSecurity, 0, "FreeRDP_RdpSecurity" },
{ FreeRDP_RedirectClipboard, 0, "FreeRDP_RedirectClipboard" },
{ FreeRDP_RedirectDrives, 0, "FreeRDP_RedirectDrives" },
{ FreeRDP_RedirectHomeDrive, 0, "FreeRDP_RedirectHomeDrive" },
{ FreeRDP_RedirectParallelPorts, 0, "FreeRDP_RedirectParallelPorts" },
{ FreeRDP_RedirectPrinters, 0, "FreeRDP_RedirectPrinters" },
{ FreeRDP_RedirectSerialPorts, 0, "FreeRDP_RedirectSerialPorts" },
{ FreeRDP_RedirectSmartCards, 0, "FreeRDP_RedirectSmartCards" },
{ FreeRDP_RefreshRect, 0, "FreeRDP_RefreshRect" },
{ FreeRDP_RemdeskVirtualChannel, 0, "FreeRDP_RemdeskVirtualChannel" },
{ FreeRDP_RemoteAppLanguageBarSupported, 0, "FreeRDP_RemoteAppLanguageBarSupported" },
{ FreeRDP_RemoteApplicationMode, 0, "FreeRDP_RemoteApplicationMode" },
{ FreeRDP_RemoteAssistanceMode, 0, "FreeRDP_RemoteAssistanceMode" },
{ FreeRDP_RemoteAssistanceRequestControl, 0, "FreeRDP_RemoteAssistanceRequestControl" },
{ FreeRDP_RemoteConsoleAudio, 0, "FreeRDP_RemoteConsoleAudio" },
{ FreeRDP_RemoteFxCodec, 0, "FreeRDP_RemoteFxCodec" },
{ FreeRDP_RemoteFxImageCodec, 0, "FreeRDP_RemoteFxImageCodec" },
{ FreeRDP_RemoteFxOnly, 0, "FreeRDP_RemoteFxOnly" },
{ FreeRDP_RestrictedAdminModeRequired, 0, "FreeRDP_RestrictedAdminModeRequired" },
{ FreeRDP_SaltedChecksum, 0, "FreeRDP_SaltedChecksum" },
{ FreeRDP_SendPreconnectionPdu, 0, "FreeRDP_SendPreconnectionPdu" },
{ FreeRDP_ServerMode, 0, "FreeRDP_ServerMode" },
{ FreeRDP_SmartSizing, 0, "FreeRDP_SmartSizing" },
{ FreeRDP_SmartcardEmulation, 0, "FreeRDP_SmartcardEmulation" },
{ FreeRDP_SmartcardLogon, 0, "FreeRDP_SmartcardLogon" },
{ FreeRDP_SoftwareGdi, 0, "FreeRDP_SoftwareGdi" },
{ FreeRDP_SoundBeepsEnabled, 0, "FreeRDP_SoundBeepsEnabled" },
{ FreeRDP_SpanMonitors, 0, "FreeRDP_SpanMonitors" },
{ FreeRDP_SupportAsymetricKeys, 0, "FreeRDP_SupportAsymetricKeys" },
{ FreeRDP_SupportDisplayControl, 0, "FreeRDP_SupportDisplayControl" },
{ FreeRDP_SupportDynamicChannels, 0, "FreeRDP_SupportDynamicChannels" },
{ FreeRDP_SupportDynamicTimeZone, 0, "FreeRDP_SupportDynamicTimeZone" },
{ FreeRDP_SupportEchoChannel, 0, "FreeRDP_SupportEchoChannel" },
{ FreeRDP_SupportErrorInfoPdu, 0, "FreeRDP_SupportErrorInfoPdu" },
{ FreeRDP_SupportGeometryTracking, 0, "FreeRDP_SupportGeometryTracking" },
{ FreeRDP_SupportGraphicsPipeline, 0, "FreeRDP_SupportGraphicsPipeline" },
{ FreeRDP_SupportHeartbeatPdu, 0, "FreeRDP_SupportHeartbeatPdu" },
{ FreeRDP_SupportMonitorLayoutPdu, 0, "FreeRDP_SupportMonitorLayoutPdu" },
{ FreeRDP_SupportMultitransport, 0, "FreeRDP_SupportMultitransport" },
{ FreeRDP_SupportSSHAgentChannel, 0, "FreeRDP_SupportSSHAgentChannel" },
{ FreeRDP_SupportStatusInfoPdu, 0, "FreeRDP_SupportStatusInfoPdu" },
{ FreeRDP_SupportVideoOptimized, 0, "FreeRDP_SupportVideoOptimized" },
{ FreeRDP_SuppressOutput, 0, "FreeRDP_SuppressOutput" },
{ FreeRDP_SurfaceCommandsEnabled, 0, "FreeRDP_SurfaceCommandsEnabled" },
{ FreeRDP_SurfaceFrameMarkerEnabled, 0, "FreeRDP_SurfaceFrameMarkerEnabled" },
{ FreeRDP_SuspendInput, 0, "FreeRDP_SuspendInput" },
{ FreeRDP_TcpKeepAlive, 0, "FreeRDP_TcpKeepAlive" },
{ FreeRDP_TlsSecurity, 0, "FreeRDP_TlsSecurity" },
{ FreeRDP_ToggleFullscreen, 0, "FreeRDP_ToggleFullscreen" },
{ FreeRDP_TransportDump, 0, "FreeRDP_TransportDump" },
{ FreeRDP_TransportDumpReplay, 0, "FreeRDP_TransportDumpReplay" },
{ FreeRDP_UnicodeInput, 0, "FreeRDP_UnicodeInput" },
{ FreeRDP_UnmapButtons, 0, "FreeRDP_UnmapButtons" },
{ FreeRDP_UseMultimon, 0, "FreeRDP_UseMultimon" },
{ FreeRDP_UseRdpSecurityLayer, 0, "FreeRDP_UseRdpSecurityLayer" },
{ FreeRDP_UsingSavedCredentials, 0, "FreeRDP_UsingSavedCredentials" },
{ FreeRDP_VideoDisable, 0, "FreeRDP_VideoDisable" },
{ FreeRDP_VmConnectMode, 0, "FreeRDP_VmConnectMode" },
{ FreeRDP_WaitForOutputBufferFlush, 0, "FreeRDP_WaitForOutputBufferFlush" },
{ FreeRDP_Workarea, 0, "FreeRDP_Workarea" },
{ FreeRDP_DesktopOrientation, 1, "FreeRDP_DesktopOrientation" },
{ FreeRDP_ProxyPort, 1, "FreeRDP_ProxyPort" },
{ FreeRDP_TLSMaxVersion, 1, "FreeRDP_TLSMaxVersion" },
{ FreeRDP_TLSMinVersion, 1, "FreeRDP_TLSMinVersion" },
{ FreeRDP_AcceptedCertLength, 3, "FreeRDP_AcceptedCertLength" },
{ FreeRDP_AuthenticationLevel, 3, "FreeRDP_AuthenticationLevel" },
{ FreeRDP_AutoReconnectMaxRetries, 3, "FreeRDP_AutoReconnectMaxRetries" },
{ FreeRDP_BitmapCacheV2NumCells, 3, "FreeRDP_BitmapCacheV2NumCells" },
{ FreeRDP_BitmapCacheV3CodecId, 3, "FreeRDP_BitmapCacheV3CodecId" },
{ FreeRDP_BitmapCacheVersion, 3, "FreeRDP_BitmapCacheVersion" },
{ FreeRDP_BrushSupportLevel, 3, "FreeRDP_BrushSupportLevel" },
{ FreeRDP_ChannelCount, 3, "FreeRDP_ChannelCount" },
{ FreeRDP_ChannelDefArraySize, 3, "FreeRDP_ChannelDefArraySize" },
{ FreeRDP_ClientBuild, 3, "FreeRDP_ClientBuild" },
{ FreeRDP_ClientRandomLength, 3, "FreeRDP_ClientRandomLength" },
{ FreeRDP_ClientSessionId, 3, "FreeRDP_ClientSessionId" },
{ FreeRDP_ClusterInfoFlags, 3, "FreeRDP_ClusterInfoFlags" },
{ FreeRDP_ColorDepth, 3, "FreeRDP_ColorDepth" },
{ FreeRDP_CompDeskSupportLevel, 3, "FreeRDP_CompDeskSupportLevel" },
{ FreeRDP_CompressionLevel, 3, "FreeRDP_CompressionLevel" },
{ FreeRDP_ConnectionType, 3, "FreeRDP_ConnectionType" },
{ FreeRDP_CookieMaxLength, 3, "FreeRDP_CookieMaxLength" },
{ FreeRDP_DesktopHeight, 3, "FreeRDP_DesktopHeight" },
{ FreeRDP_DesktopPhysicalHeight, 3, "FreeRDP_DesktopPhysicalHeight" },
{ FreeRDP_DesktopPhysicalWidth, 3, "FreeRDP_DesktopPhysicalWidth" },
{ FreeRDP_DesktopPosX, 3, "FreeRDP_DesktopPosX" },
{ FreeRDP_DesktopPosY, 3, "FreeRDP_DesktopPosY" },
{ FreeRDP_DesktopScaleFactor, 3, "FreeRDP_DesktopScaleFactor" },
{ FreeRDP_DesktopWidth, 3, "FreeRDP_DesktopWidth" },
{ FreeRDP_DeviceArraySize, 3, "FreeRDP_DeviceArraySize" },
{ FreeRDP_DeviceCount, 3, "FreeRDP_DeviceCount" },
{ FreeRDP_DeviceScaleFactor, 3, "FreeRDP_DeviceScaleFactor" },
{ FreeRDP_DrawNineGridCacheEntries, 3, "FreeRDP_DrawNineGridCacheEntries" },
{ FreeRDP_DrawNineGridCacheSize, 3, "FreeRDP_DrawNineGridCacheSize" },
{ FreeRDP_DynamicChannelArraySize, 3, "FreeRDP_DynamicChannelArraySize" },
{ FreeRDP_DynamicChannelCount, 3, "FreeRDP_DynamicChannelCount" },
{ FreeRDP_EarlyCapabilityFlags, 3, "FreeRDP_EarlyCapabilityFlags" },
{ FreeRDP_EncryptionLevel, 3, "FreeRDP_EncryptionLevel" },
{ FreeRDP_EncryptionMethods, 3, "FreeRDP_EncryptionMethods" },
{ FreeRDP_ExtEncryptionMethods, 3, "FreeRDP_ExtEncryptionMethods" },
{ FreeRDP_Floatbar, 3, "FreeRDP_Floatbar" },
{ FreeRDP_FrameAcknowledge, 3, "FreeRDP_FrameAcknowledge" },
{ FreeRDP_GatewayAcceptedCertLength, 3, "FreeRDP_GatewayAcceptedCertLength" },
{ FreeRDP_GatewayCredentialsSource, 3, "FreeRDP_GatewayCredentialsSource" },
{ FreeRDP_GatewayPort, 3, "FreeRDP_GatewayPort" },
{ FreeRDP_GatewayUsageMethod, 3, "FreeRDP_GatewayUsageMethod" },
{ FreeRDP_GfxCapsFilter, 3, "FreeRDP_GfxCapsFilter" },
{ FreeRDP_GlyphSupportLevel, 3, "FreeRDP_GlyphSupportLevel" },
{ FreeRDP_JpegCodecId, 3, "FreeRDP_JpegCodecId" },
{ FreeRDP_JpegQuality, 3, "FreeRDP_JpegQuality" },
{ FreeRDP_KeySpec, 3, "FreeRDP_KeySpec" },
{ FreeRDP_KeyboardCodePage, 3, "FreeRDP_KeyboardCodePage" },
{ FreeRDP_KeyboardFunctionKey, 3, "FreeRDP_KeyboardFunctionKey" },
{ FreeRDP_KeyboardHook, 3, "FreeRDP_KeyboardHook" },
{ FreeRDP_KeyboardLayout, 3, "FreeRDP_KeyboardLayout" },
{ FreeRDP_KeyboardSubType, 3, "FreeRDP_KeyboardSubType" },
{ FreeRDP_KeyboardType, 3, "FreeRDP_KeyboardType" },
{ FreeRDP_LargePointerFlag, 3, "FreeRDP_LargePointerFlag" },
{ FreeRDP_LoadBalanceInfoLength, 3, "FreeRDP_LoadBalanceInfoLength" },
{ FreeRDP_MaxTimeInCheckLoop, 3, "FreeRDP_MaxTimeInCheckLoop" },
{ FreeRDP_MonitorAttributeFlags, 3, "FreeRDP_MonitorAttributeFlags" },
{ FreeRDP_MonitorCount, 3, "FreeRDP_MonitorCount" },
{ FreeRDP_MonitorDefArraySize, 3, "FreeRDP_MonitorDefArraySize" },
{ FreeRDP_MonitorFlags, 3, "FreeRDP_MonitorFlags" },
{ FreeRDP_MonitorLocalShiftX, 3, "FreeRDP_MonitorLocalShiftX" },
{ FreeRDP_MonitorLocalShiftY, 3, "FreeRDP_MonitorLocalShiftY" },
{ FreeRDP_MultifragMaxRequestSize, 3, "FreeRDP_MultifragMaxRequestSize" },
{ FreeRDP_MultitransportFlags, 3, "FreeRDP_MultitransportFlags" },
{ FreeRDP_NSCodecColorLossLevel, 3, "FreeRDP_NSCodecColorLossLevel" },
{ FreeRDP_NSCodecId, 3, "FreeRDP_NSCodecId" },
{ FreeRDP_NegotiationFlags, 3, "FreeRDP_NegotiationFlags" },
{ FreeRDP_NumMonitorIds, 3, "FreeRDP_NumMonitorIds" },
{ FreeRDP_OffscreenCacheEntries, 3, "FreeRDP_OffscreenCacheEntries" },
{ FreeRDP_OffscreenCacheSize, 3, "FreeRDP_OffscreenCacheSize" },
{ FreeRDP_OffscreenSupportLevel, 3, "FreeRDP_OffscreenSupportLevel" },
{ FreeRDP_OsMajorType, 3, "FreeRDP_OsMajorType" },
{ FreeRDP_OsMinorType, 3, "FreeRDP_OsMinorType" },
{ FreeRDP_Password51Length, 3, "FreeRDP_Password51Length" },
{ FreeRDP_PduSource, 3, "FreeRDP_PduSource" },
{ FreeRDP_PercentScreen, 3, "FreeRDP_PercentScreen" },
{ FreeRDP_PerformanceFlags, 3, "FreeRDP_PerformanceFlags" },
{ FreeRDP_PointerCacheSize, 3, "FreeRDP_PointerCacheSize" },
{ FreeRDP_PreconnectionId, 3, "FreeRDP_PreconnectionId" },
{ FreeRDP_ProxyType, 3, "FreeRDP_ProxyType" },
{ FreeRDP_RdpVersion, 3, "FreeRDP_RdpVersion" },
{ FreeRDP_ReceivedCapabilitiesSize, 3, "FreeRDP_ReceivedCapabilitiesSize" },
{ FreeRDP_RedirectedSessionId, 3, "FreeRDP_RedirectedSessionId" },
{ FreeRDP_RedirectionAcceptedCertLength, 3, "FreeRDP_RedirectionAcceptedCertLength" },
{ FreeRDP_RedirectionFlags, 3, "FreeRDP_RedirectionFlags" },
{ FreeRDP_RedirectionPasswordLength, 3, "FreeRDP_RedirectionPasswordLength" },
{ FreeRDP_RedirectionPreferType, 3, "FreeRDP_RedirectionPreferType" },
{ FreeRDP_RedirectionTsvUrlLength, 3, "FreeRDP_RedirectionTsvUrlLength" },
{ FreeRDP_RemoteAppNumIconCacheEntries, 3, "FreeRDP_RemoteAppNumIconCacheEntries" },
{ FreeRDP_RemoteAppNumIconCaches, 3, "FreeRDP_RemoteAppNumIconCaches" },
{ FreeRDP_RemoteApplicationExpandCmdLine, 3, "FreeRDP_RemoteApplicationExpandCmdLine" },
{ FreeRDP_RemoteApplicationExpandWorkingDir, 3, "FreeRDP_RemoteApplicationExpandWorkingDir" },
{ FreeRDP_RemoteApplicationSupportLevel, 3, "FreeRDP_RemoteApplicationSupportLevel" },
{ FreeRDP_RemoteApplicationSupportMask, 3, "FreeRDP_RemoteApplicationSupportMask" },
{ FreeRDP_RemoteFxCaptureFlags, 3, "FreeRDP_RemoteFxCaptureFlags" },
{ FreeRDP_RemoteFxCodecId, 3, "FreeRDP_RemoteFxCodecId" },
{ FreeRDP_RemoteFxCodecMode, 3, "FreeRDP_RemoteFxCodecMode" },
{ FreeRDP_RemoteWndSupportLevel, 3, "FreeRDP_RemoteWndSupportLevel" },
{ FreeRDP_RequestedProtocols, 3, "FreeRDP_RequestedProtocols" },
{ FreeRDP_SelectedProtocol, 3, "FreeRDP_SelectedProtocol" },
{ FreeRDP_ServerCertificateLength, 3, "FreeRDP_ServerCertificateLength" },
{ FreeRDP_ServerPort, 3, "FreeRDP_ServerPort" },
{ FreeRDP_ServerRandomLength, 3, "FreeRDP_ServerRandomLength" },
{ FreeRDP_ShareId, 3, "FreeRDP_ShareId" },
{ FreeRDP_SmartSizingHeight, 3, "FreeRDP_SmartSizingHeight" },
{ FreeRDP_SmartSizingWidth, 3, "FreeRDP_SmartSizingWidth" },
{ FreeRDP_StaticChannelArraySize, 3, "FreeRDP_StaticChannelArraySize" },
{ FreeRDP_StaticChannelCount, 3, "FreeRDP_StaticChannelCount" },
{ FreeRDP_TargetNetAddressCount, 3, "FreeRDP_TargetNetAddressCount" },
{ FreeRDP_TcpAckTimeout, 3, "FreeRDP_TcpAckTimeout" },
{ FreeRDP_TcpConnectTimeout, 3, "FreeRDP_TcpConnectTimeout" },
{ FreeRDP_TcpKeepAliveDelay, 3, "FreeRDP_TcpKeepAliveDelay" },
{ FreeRDP_TcpKeepAliveInterval, 3, "FreeRDP_TcpKeepAliveInterval" },
{ FreeRDP_TcpKeepAliveRetries, 3, "FreeRDP_TcpKeepAliveRetries" },
{ FreeRDP_ThreadingFlags, 3, "FreeRDP_ThreadingFlags" },
{ FreeRDP_TlsSecLevel, 3, "FreeRDP_TlsSecLevel" },
{ FreeRDP_VirtualChannelChunkSize, 3, "FreeRDP_VirtualChannelChunkSize" },
{ FreeRDP_VirtualChannelCompressionFlags, 3, "FreeRDP_VirtualChannelCompressionFlags" },
{ FreeRDP_XPan, 4, "FreeRDP_XPan" },
{ FreeRDP_YPan, 4, "FreeRDP_YPan" },
{ FreeRDP_ParentWindowId, 5, "FreeRDP_ParentWindowId" },
{ FreeRDP_AcceptedCert, 7, "FreeRDP_AcceptedCert" },
{ FreeRDP_ActionScript, 7, "FreeRDP_ActionScript" },
{ FreeRDP_AllowedTlsCiphers, 7, "FreeRDP_AllowedTlsCiphers" },
{ FreeRDP_AlternateShell, 7, "FreeRDP_AlternateShell" },
{ FreeRDP_AssistanceFile, 7, "FreeRDP_AssistanceFile" },
{ FreeRDP_AuthenticationPackageList, 7, "FreeRDP_AuthenticationPackageList" },
{ FreeRDP_AuthenticationServiceClass, 7, "FreeRDP_AuthenticationServiceClass" },
{ FreeRDP_BitmapCachePersistFile, 7, "FreeRDP_BitmapCachePersistFile" },
{ FreeRDP_CardName, 7, "FreeRDP_CardName" },
{ FreeRDP_CertificateAcceptedFingerprints, 7, "FreeRDP_CertificateAcceptedFingerprints" },
{ FreeRDP_CertificateContent, 7, "FreeRDP_CertificateContent" },
{ FreeRDP_CertificateFile, 7, "FreeRDP_CertificateFile" },
{ FreeRDP_CertificateName, 7, "FreeRDP_CertificateName" },
{ FreeRDP_ClientAddress, 7, "FreeRDP_ClientAddress" },
{ FreeRDP_ClientDir, 7, "FreeRDP_ClientDir" },
{ FreeRDP_ClientHostname, 7, "FreeRDP_ClientHostname" },
{ FreeRDP_ClientProductId, 7, "FreeRDP_ClientProductId" },
{ FreeRDP_ComputerName, 7, "FreeRDP_ComputerName" },
{ FreeRDP_ConfigPath, 7, "FreeRDP_ConfigPath" },
{ FreeRDP_ConnectionFile, 7, "FreeRDP_ConnectionFile" },
{ FreeRDP_ContainerName, 7, "FreeRDP_ContainerName" },
{ FreeRDP_CspName, 7, "FreeRDP_CspName" },
{ FreeRDP_CurrentPath, 7, "FreeRDP_CurrentPath" },
{ FreeRDP_Domain, 7, "FreeRDP_Domain" },
{ FreeRDP_DrivesToRedirect, 7, "FreeRDP_DrivesToRedirect" },
{ FreeRDP_DumpRemoteFxFile, 7, "FreeRDP_DumpRemoteFxFile" },
{ FreeRDP_DynamicDSTTimeZoneKeyName, 7, "FreeRDP_DynamicDSTTimeZoneKeyName" },
{ FreeRDP_GatewayAcceptedCert, 7, "FreeRDP_GatewayAcceptedCert" },
{ FreeRDP_GatewayAccessToken, 7, "FreeRDP_GatewayAccessToken" },
{ FreeRDP_GatewayDomain, 7, "FreeRDP_GatewayDomain" },
{ FreeRDP_GatewayHostname, 7, "FreeRDP_GatewayHostname" },
{ FreeRDP_GatewayPassword, 7, "FreeRDP_GatewayPassword" },
{ FreeRDP_GatewayUsername, 7, "FreeRDP_GatewayUsername" },
{ FreeRDP_HomePath, 7, "FreeRDP_HomePath" },
{ FreeRDP_ImeFileName, 7, "FreeRDP_ImeFileName" },
{ FreeRDP_KerberosArmor, 7, "FreeRDP_KerberosArmor" },
{ FreeRDP_KerberosCache, 7, "FreeRDP_KerberosCache" },
{ FreeRDP_KerberosKdcUrl, 7, "FreeRDP_KerberosKdcUrl" },
{ FreeRDP_KerberosKeytab, 7, "FreeRDP_KerberosKeytab" },
{ FreeRDP_KerberosLifeTime, 7, "FreeRDP_KerberosLifeTime" },
{ FreeRDP_KerberosRealm, 7, "FreeRDP_KerberosRealm" },
{ FreeRDP_KerberosRenewableLifeTime, 7, "FreeRDP_KerberosRenewableLifeTime" },
{ FreeRDP_KerberosStartTime, 7, "FreeRDP_KerberosStartTime" },
{ FreeRDP_KeyboardRemappingList, 7, "FreeRDP_KeyboardRemappingList" },
{ FreeRDP_NtlmSamFile, 7, "FreeRDP_NtlmSamFile" },
{ FreeRDP_Password, 7, "FreeRDP_Password" },
{ FreeRDP_PasswordHash, 7, "FreeRDP_PasswordHash" },
{ FreeRDP_Pkcs11Module, 7, "FreeRDP_Pkcs11Module" },
{ FreeRDP_PkinitAnchors, 7, "FreeRDP_PkinitAnchors" },
{ FreeRDP_PlayRemoteFxFile, 7, "FreeRDP_PlayRemoteFxFile" },
{ FreeRDP_PreconnectionBlob, 7, "FreeRDP_PreconnectionBlob" },
{ FreeRDP_PrivateKeyContent, 7, "FreeRDP_PrivateKeyContent" },
{ FreeRDP_PrivateKeyFile, 7, "FreeRDP_PrivateKeyFile" },
{ FreeRDP_ProxyHostname, 7, "FreeRDP_ProxyHostname" },
{ FreeRDP_ProxyPassword, 7, "FreeRDP_ProxyPassword" },
{ FreeRDP_ProxyUsername, 7, "FreeRDP_ProxyUsername" },
{ FreeRDP_RDP2TCPArgs, 7, "FreeRDP_RDP2TCPArgs" },
{ FreeRDP_ReaderName, 7, "FreeRDP_ReaderName" },
{ FreeRDP_RedirectionAcceptedCert, 7, "FreeRDP_RedirectionAcceptedCert" },
{ FreeRDP_RedirectionDomain, 7, "FreeRDP_RedirectionDomain" },
{ FreeRDP_RedirectionTargetFQDN, 7, "FreeRDP_RedirectionTargetFQDN" },
{ FreeRDP_RedirectionTargetNetBiosName, 7, "FreeRDP_RedirectionTargetNetBiosName" },
{ FreeRDP_RedirectionUsername, 7, "FreeRDP_RedirectionUsername" },
{ FreeRDP_RemoteApplicationCmdLine, 7, "FreeRDP_RemoteApplicationCmdLine" },
{ FreeRDP_RemoteApplicationFile, 7, "FreeRDP_RemoteApplicationFile" },
{ FreeRDP_RemoteApplicationGuid, 7, "FreeRDP_RemoteApplicationGuid" },
{ FreeRDP_RemoteApplicationIcon, 7, "FreeRDP_RemoteApplicationIcon" },
{ FreeRDP_RemoteApplicationName, 7, "FreeRDP_RemoteApplicationName" },
{ FreeRDP_RemoteApplicationProgram, 7, "FreeRDP_RemoteApplicationProgram" },
{ FreeRDP_RemoteApplicationWorkingDir, 7, "FreeRDP_RemoteApplicationWorkingDir" },
{ FreeRDP_RemoteAssistancePassStub, 7, "FreeRDP_RemoteAssistancePassStub" },
{ FreeRDP_RemoteAssistancePassword, 7, "FreeRDP_RemoteAssistancePassword" },
{ FreeRDP_RemoteAssistanceRCTicket, 7, "FreeRDP_RemoteAssistanceRCTicket" },
{ FreeRDP_RemoteAssistanceSessionId, 7, "FreeRDP_RemoteAssistanceSessionId" },
{ FreeRDP_ServerHostname, 7, "FreeRDP_ServerHostname" },
{ FreeRDP_ShellWorkingDirectory, 7, "FreeRDP_ShellWorkingDirectory" },
{ FreeRDP_SmartcardCertificate, 7, "FreeRDP_SmartcardCertificate" },
{ FreeRDP_SmartcardPrivateKey, 7, "FreeRDP_SmartcardPrivateKey" },
{ FreeRDP_SspiModule, 7, "FreeRDP_SspiModule" },
{ FreeRDP_TargetNetAddress, 7, "FreeRDP_TargetNetAddress" },
{ FreeRDP_TlsSecretsFile, 7, "FreeRDP_TlsSecretsFile" },
{ FreeRDP_TransportDumpFile, 7, "FreeRDP_TransportDumpFile" },
{ FreeRDP_UserSpecifiedServerName, 7, "FreeRDP_UserSpecifiedServerName" },
{ FreeRDP_Username, 7, "FreeRDP_Username" },
{ FreeRDP_WindowTitle, 7, "FreeRDP_WindowTitle" },
{ FreeRDP_WmClass, 7, "FreeRDP_WmClass" },
{ FreeRDP_BitmapCacheV2CellInfo, 8, "FreeRDP_BitmapCacheV2CellInfo" },
{ FreeRDP_ChannelDefArray, 8, "FreeRDP_ChannelDefArray" },
{ FreeRDP_ClientAutoReconnectCookie, 8, "FreeRDP_ClientAutoReconnectCookie" },
{ FreeRDP_ClientRandom, 8, "FreeRDP_ClientRandom" },
{ FreeRDP_ClientTimeZone, 8, "FreeRDP_ClientTimeZone" },
{ FreeRDP_DeviceArray, 8, "FreeRDP_DeviceArray" },
{ FreeRDP_DynamicChannelArray, 8, "FreeRDP_DynamicChannelArray" },
{ FreeRDP_FragCache, 8, "FreeRDP_FragCache" },
{ FreeRDP_GlyphCache, 8, "FreeRDP_GlyphCache" },
{ FreeRDP_LoadBalanceInfo, 8, "FreeRDP_LoadBalanceInfo" },
{ FreeRDP_MonitorDefArray, 8, "FreeRDP_MonitorDefArray" },
{ FreeRDP_MonitorIds, 8, "FreeRDP_MonitorIds" },
{ FreeRDP_OrderSupport, 8, "FreeRDP_OrderSupport" },
{ FreeRDP_Password51, 8, "FreeRDP_Password51" },
{ FreeRDP_RdpServerCertificate, 8, "FreeRDP_RdpServerCertificate" },
{ FreeRDP_RdpServerRsaKey, 8, "FreeRDP_RdpServerRsaKey" },
{ FreeRDP_ReceivedCapabilities, 8, "FreeRDP_ReceivedCapabilities" },
{ FreeRDP_RedirectionPassword, 8, "FreeRDP_RedirectionPassword" },
{ FreeRDP_RedirectionTsvUrl, 8, "FreeRDP_RedirectionTsvUrl" },
{ FreeRDP_ServerAutoReconnectCookie, 8, "FreeRDP_ServerAutoReconnectCookie" },
{ FreeRDP_ServerCertificate, 8, "FreeRDP_ServerCertificate" },
{ FreeRDP_ServerRandom, 8, "FreeRDP_ServerRandom" },
{ FreeRDP_StaticChannelArray, 8, "FreeRDP_StaticChannelArray" },
{ FreeRDP_TargetNetAddresses, 8, "FreeRDP_TargetNetAddresses" },
{ FreeRDP_TargetNetPorts, 8, "FreeRDP_TargetNetPorts" },
{ FreeRDP_instance, 8, "FreeRDP_instance" },
{ FreeRDP_AllowCacheWaitingList, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AllowCacheWaitingList" },
{ FreeRDP_AllowDesktopComposition, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_AllowDesktopComposition" },
{ FreeRDP_AllowFontSmoothing, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AllowFontSmoothing" },
{ FreeRDP_AllowUnanouncedOrdersFromServer, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_AllowUnanouncedOrdersFromServer" },
{ FreeRDP_AltSecFrameMarkerSupport, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_AltSecFrameMarkerSupport" },
{ FreeRDP_AsyncChannels, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AsyncChannels" },
{ FreeRDP_AsyncUpdate, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AsyncUpdate" },
{ FreeRDP_AudioCapture, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AudioCapture" },
{ FreeRDP_AudioPlayback, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AudioPlayback" },
{ FreeRDP_Authentication, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_Authentication" },
{ FreeRDP_AuthenticationOnly, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AuthenticationOnly" },
{ FreeRDP_AutoAcceptCertificate, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AutoAcceptCertificate" },
{ FreeRDP_AutoDenyCertificate, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AutoDenyCertificate" },
{ FreeRDP_AutoLogonEnabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_AutoLogonEnabled" },
{ FreeRDP_AutoReconnectionEnabled, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_AutoReconnectionEnabled" },
{ FreeRDP_BitmapCacheEnabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_BitmapCacheEnabled" },
{ FreeRDP_BitmapCachePersistEnabled, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_BitmapCachePersistEnabled" },
{ FreeRDP_BitmapCacheV3Enabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_BitmapCacheV3Enabled" },
{ FreeRDP_BitmapCompressionDisabled, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_BitmapCompressionDisabled" },
{ FreeRDP_CertificateCallbackPreferPEM, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_CertificateCallbackPreferPEM" },
{ FreeRDP_CertificateUseKnownHosts, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_CertificateUseKnownHosts" },
{ FreeRDP_ColorPointerFlag, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_ColorPointerFlag" },
{ FreeRDP_CompressionEnabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_CompressionEnabled" },
{ FreeRDP_ConsoleSession, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_ConsoleSession" },
{ FreeRDP_CredentialsFromStdin, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_CredentialsFromStdin" },
{ FreeRDP_DeactivateClientDecoding, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_DeactivateClientDecoding" },
{ FreeRDP_Decorations, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_Decorations" },
{ FreeRDP_DesktopResize, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DesktopResize" },
{ FreeRDP_DeviceRedirection, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DeviceRedirection" },
{ FreeRDP_DisableCredentialsDelegation, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_DisableCredentialsDelegation" },
{ FreeRDP_DisableCtrlAltDel, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DisableCtrlAltDel" },
{ FreeRDP_DisableCursorBlinking, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DisableCursorBlinking" },
{ FreeRDP_DisableCursorShadow, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DisableCursorShadow" },
{ FreeRDP_DisableFullWindowDrag, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DisableFullWindowDrag" },
{ FreeRDP_DisableMenuAnims, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DisableMenuAnims" },
{ FreeRDP_DisableRemoteAppCapsCheck, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_DisableRemoteAppCapsCheck" },
{ FreeRDP_DisableThemes, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DisableThemes" },
{ FreeRDP_DisableWallpaper, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DisableWallpaper" },
{ FreeRDP_DrawAllowColorSubsampling, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_DrawAllowColorSubsampling" },
{ FreeRDP_DrawAllowDynamicColorFidelity, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_DrawAllowDynamicColorFidelity" },
{ FreeRDP_DrawAllowSkipAlpha, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DrawAllowSkipAlpha" },
{ FreeRDP_DrawGdiPlusCacheEnabled, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_DrawGdiPlusCacheEnabled" },
{ FreeRDP_DrawGdiPlusEnabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DrawGdiPlusEnabled" },
{ FreeRDP_DrawNineGridEnabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DrawNineGridEnabled" },
{ FreeRDP_DumpRemoteFx, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_DumpRemoteFx" },
{ FreeRDP_DynamicDaylightTimeDisabled, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_DynamicDaylightTimeDisabled" },
{ FreeRDP_DynamicResolutionUpdate, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_DynamicResolutionUpdate" },
{ FreeRDP_EmbeddedWindow, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_EmbeddedWindow" },
{ FreeRDP_EnableWindowsKey, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_EnableWindowsKey" },
{ FreeRDP_EncomspVirtualChannel, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_EncomspVirtualChannel" },
{ FreeRDP_ExtSecurity, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_ExtSecurity" },
{ FreeRDP_ExternalCertificateManagement, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_ExternalCertificateManagement" },
{ FreeRDP_FIPSMode, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_FIPSMode" },
{ FreeRDP_FastPathInput, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_FastPathInput" },
{ FreeRDP_FastPathOutput, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_FastPathOutput" },
{ FreeRDP_ForceEncryptedCsPdu, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_ForceEncryptedCsPdu" },
{ FreeRDP_ForceMultimon, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_ForceMultimon" },
{ FreeRDP_FrameMarkerCommandEnabled, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_FrameMarkerCommandEnabled" },
{ FreeRDP_Fullscreen, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_Fullscreen" },
{ FreeRDP_GatewayBypassLocal, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GatewayBypassLocal" },
{ FreeRDP_GatewayEnabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GatewayEnabled" },
{ FreeRDP_GatewayHttpTransport, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GatewayHttpTransport" },
{ FreeRDP_GatewayHttpUseWebsockets, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_GatewayHttpUseWebsockets" },
{ FreeRDP_GatewayRpcTransport, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GatewayRpcTransport" },
{ FreeRDP_GatewayUdpTransport, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GatewayUdpTransport" },
{ FreeRDP_GatewayUseSameCredentials, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_GatewayUseSameCredentials" },
{ FreeRDP_GfxAVC444, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GfxAVC444" },
{ FreeRDP_GfxAVC444v2, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GfxAVC444v2" },
{ FreeRDP_GfxH264, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GfxH264" },
{ FreeRDP_GfxPlanar, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GfxPlanar" },
{ FreeRDP_GfxProgressive, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GfxProgressive" },
{ FreeRDP_GfxProgressiveV2, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GfxProgressiveV2" },
{ FreeRDP_GfxSendQoeAck, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GfxSendQoeAck" },
{ FreeRDP_GfxSmallCache, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GfxSmallCache" },
{ FreeRDP_GfxThinClient, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GfxThinClient" },
{ FreeRDP_GrabKeyboard, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GrabKeyboard" },
{ FreeRDP_GrabMouse, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_GrabMouse" },
{ FreeRDP_HasExtendedMouseEvent, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HasExtendedMouseEvent" },
{ FreeRDP_HasHorizontalWheel, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HasHorizontalWheel" },
{ FreeRDP_HasMonitorAttributes, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HasMonitorAttributes" },
{ FreeRDP_HiDefRemoteApp, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_HiDefRemoteApp" },
{ FreeRDP_IPv6Enabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_IPv6Enabled" },
{ FreeRDP_IgnoreCertificate, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_IgnoreCertificate" },
{ FreeRDP_JpegCodec, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_JpegCodec" },
{ FreeRDP_ListMonitors, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_ListMonitors" },
{ FreeRDP_LocalConnection, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_LocalConnection" },
{ FreeRDP_LogonErrors, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_LogonErrors" },
{ FreeRDP_LogonNotify, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_LogonNotify" },
{ FreeRDP_LongCredentialsSupported, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_LongCredentialsSupported" },
{ FreeRDP_LyncRdpMode, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_LyncRdpMode" },
{ FreeRDP_MaximizeShell, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_MaximizeShell" },
{ FreeRDP_MouseAttached, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_MouseAttached" },
{ FreeRDP_MouseHasWheel, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_MouseHasWheel" },
{ FreeRDP_MouseMotion, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_MouseMotion" },
{ FreeRDP_MouseUseRelativeMove, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_MouseUseRelativeMove" },
{ FreeRDP_MstscCookieMode, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_MstscCookieMode" },
{ FreeRDP_MultiTouchGestures, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_MultiTouchGestures" },
{ FreeRDP_MultiTouchInput, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_MultiTouchInput" },
{ FreeRDP_NSCodec, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_NSCodec" },
{ FreeRDP_NSCodecAllowDynamicColorFidelity, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_NSCodecAllowDynamicColorFidelity" },
{ FreeRDP_NSCodecAllowSubsampling, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_NSCodecAllowSubsampling" },
{ FreeRDP_NegotiateSecurityLayer, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_NegotiateSecurityLayer" },
{ FreeRDP_NetworkAutoDetect, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_NetworkAutoDetect" },
{ FreeRDP_NlaSecurity, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_NlaSecurity" },
{ FreeRDP_NoBitmapCompressionHeader, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_NoBitmapCompressionHeader" },
{ FreeRDP_OldLicenseBehaviour, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_OldLicenseBehaviour" },
{ FreeRDP_PasswordIsSmartcardPin, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_PasswordIsSmartcardPin" },
{ FreeRDP_PercentScreenUseHeight, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_PercentScreenUseHeight" },
{ FreeRDP_PercentScreenUseWidth, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_PercentScreenUseWidth" },
{ FreeRDP_PlayRemoteFx, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_PlayRemoteFx" },
{ FreeRDP_PreferIPv6OverIPv4, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_PreferIPv6OverIPv4" },
{ FreeRDP_PrintReconnectCookie, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_PrintReconnectCookie" },
{ FreeRDP_PromptForCredentials, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_PromptForCredentials" },
{ FreeRDP_RdpSecurity, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RdpSecurity" },
{ FreeRDP_RedirectClipboard, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RedirectClipboard" },
{ FreeRDP_RedirectDrives, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RedirectDrives" },
{ FreeRDP_RedirectHomeDrive, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RedirectHomeDrive" },
{ FreeRDP_RedirectParallelPorts, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RedirectParallelPorts" },
{ FreeRDP_RedirectPrinters, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RedirectPrinters" },
{ FreeRDP_RedirectSerialPorts, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RedirectSerialPorts" },
{ FreeRDP_RedirectSmartCards, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RedirectSmartCards" },
{ FreeRDP_RefreshRect, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RefreshRect" },
{ FreeRDP_RemdeskVirtualChannel, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RemdeskVirtualChannel" },
{ FreeRDP_RemoteAppLanguageBarSupported, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_RemoteAppLanguageBarSupported" },
{ FreeRDP_RemoteApplicationMode, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RemoteApplicationMode" },
{ FreeRDP_RemoteAssistanceMode, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RemoteAssistanceMode" },
{ FreeRDP_RemoteAssistanceRequestControl, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_RemoteAssistanceRequestControl" },
{ FreeRDP_RemoteConsoleAudio, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RemoteConsoleAudio" },
{ FreeRDP_RemoteFxCodec, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RemoteFxCodec" },
{ FreeRDP_RemoteFxImageCodec, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RemoteFxImageCodec" },
{ FreeRDP_RemoteFxOnly, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_RemoteFxOnly" },
{ FreeRDP_RestrictedAdminModeRequired, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_RestrictedAdminModeRequired" },
{ FreeRDP_SaltedChecksum, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SaltedChecksum" },
{ FreeRDP_SendPreconnectionPdu, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SendPreconnectionPdu" },
{ FreeRDP_ServerMode, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_ServerMode" },
{ FreeRDP_SmartSizing, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SmartSizing" },
{ FreeRDP_SmartcardEmulation, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SmartcardEmulation" },
{ FreeRDP_SmartcardLogon, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SmartcardLogon" },
{ FreeRDP_SoftwareGdi, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SoftwareGdi" },
{ FreeRDP_SoundBeepsEnabled, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SoundBeepsEnabled" },
{ FreeRDP_SpanMonitors, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SpanMonitors" },
{ FreeRDP_SupportAsymetricKeys, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SupportAsymetricKeys" },
{ FreeRDP_SupportDisplayControl, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SupportDisplayControl" },
{ FreeRDP_SupportDynamicChannels, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_SupportDynamicChannels" },
{ FreeRDP_SupportDynamicTimeZone, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_SupportDynamicTimeZone" },
{ FreeRDP_SupportEchoChannel, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SupportEchoChannel" },
{ FreeRDP_SupportErrorInfoPdu, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SupportErrorInfoPdu" },
{ FreeRDP_SupportGeometryTracking, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_SupportGeometryTracking" },
{ FreeRDP_SupportGraphicsPipeline, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_SupportGraphicsPipeline" },
{ FreeRDP_SupportHeartbeatPdu, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SupportHeartbeatPdu" },
{ FreeRDP_SupportMonitorLayoutPdu, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_SupportMonitorLayoutPdu" },
{ FreeRDP_SupportMultitransport, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SupportMultitransport" },
{ FreeRDP_SupportSSHAgentChannel, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_SupportSSHAgentChannel" },
{ FreeRDP_SupportStatusInfoPdu, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SupportStatusInfoPdu" },
{ FreeRDP_SupportVideoOptimized, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SupportVideoOptimized" },
{ FreeRDP_SuppressOutput, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SuppressOutput" },
{ FreeRDP_SurfaceCommandsEnabled, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_SurfaceCommandsEnabled" },
{ FreeRDP_SurfaceFrameMarkerEnabled, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_SurfaceFrameMarkerEnabled" },
{ FreeRDP_SuspendInput, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_SuspendInput" },
{ FreeRDP_TcpKeepAlive, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_TcpKeepAlive" },
{ FreeRDP_TlsSecurity, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_TlsSecurity" },
{ FreeRDP_ToggleFullscreen, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_ToggleFullscreen" },
{ FreeRDP_TransportDump, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_TransportDump" },
{ FreeRDP_TransportDumpReplay, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_TransportDumpReplay" },
{ FreeRDP_UnicodeInput, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_UnicodeInput" },
{ FreeRDP_UnmapButtons, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_UnmapButtons" },
{ FreeRDP_UseMultimon, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_UseMultimon" },
{ FreeRDP_UseRdpSecurityLayer, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_UseRdpSecurityLayer" },
{ FreeRDP_UsingSavedCredentials, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_UsingSavedCredentials" },
{ FreeRDP_VideoDisable, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_VideoDisable" },
{ FreeRDP_VmConnectMode, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_VmConnectMode" },
{ FreeRDP_WaitForOutputBufferFlush, FREERDP_SETTINGS_TYPE_BOOL,
"FreeRDP_WaitForOutputBufferFlush" },
{ FreeRDP_Workarea, FREERDP_SETTINGS_TYPE_BOOL, "FreeRDP_Workarea" },
{ FreeRDP_DesktopOrientation, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_DesktopOrientation" },
{ FreeRDP_ProxyPort, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_ProxyPort" },
{ FreeRDP_TLSMaxVersion, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_TLSMaxVersion" },
{ FreeRDP_TLSMinVersion, FREERDP_SETTINGS_TYPE_UINT16, "FreeRDP_TLSMinVersion" },
{ FreeRDP_AcceptedCertLength, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_AcceptedCertLength" },
{ FreeRDP_AuthenticationLevel, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_AuthenticationLevel" },
{ FreeRDP_AutoReconnectMaxRetries, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_AutoReconnectMaxRetries" },
{ FreeRDP_BitmapCacheV2NumCells, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_BitmapCacheV2NumCells" },
{ FreeRDP_BitmapCacheV3CodecId, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_BitmapCacheV3CodecId" },
{ FreeRDP_BitmapCacheVersion, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_BitmapCacheVersion" },
{ FreeRDP_BrushSupportLevel, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_BrushSupportLevel" },
{ FreeRDP_ChannelCount, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ChannelCount" },
{ FreeRDP_ChannelDefArraySize, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ChannelDefArraySize" },
{ 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_ClusterInfoFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ClusterInfoFlags" },
{ FreeRDP_ColorDepth, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ColorDepth" },
{ FreeRDP_CompDeskSupportLevel, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_CompDeskSupportLevel" },
{ FreeRDP_CompressionLevel, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_CompressionLevel" },
{ FreeRDP_ConnectionType, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ConnectionType" },
{ FreeRDP_CookieMaxLength, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_CookieMaxLength" },
{ FreeRDP_DesktopHeight, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DesktopHeight" },
{ FreeRDP_DesktopPhysicalHeight, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_DesktopPhysicalHeight" },
{ FreeRDP_DesktopPhysicalWidth, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DesktopPhysicalWidth" },
{ FreeRDP_DesktopPosX, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DesktopPosX" },
{ FreeRDP_DesktopPosY, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DesktopPosY" },
{ FreeRDP_DesktopScaleFactor, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DesktopScaleFactor" },
{ FreeRDP_DesktopWidth, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DesktopWidth" },
{ FreeRDP_DeviceArraySize, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DeviceArraySize" },
{ FreeRDP_DeviceCount, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DeviceCount" },
{ FreeRDP_DeviceScaleFactor, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DeviceScaleFactor" },
{ FreeRDP_DrawNineGridCacheEntries, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_DrawNineGridCacheEntries" },
{ FreeRDP_DrawNineGridCacheSize, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_DrawNineGridCacheSize" },
{ FreeRDP_DynamicChannelArraySize, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_DynamicChannelArraySize" },
{ FreeRDP_DynamicChannelCount, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_DynamicChannelCount" },
{ FreeRDP_EarlyCapabilityFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_EarlyCapabilityFlags" },
{ FreeRDP_EncryptionLevel, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_EncryptionLevel" },
{ FreeRDP_EncryptionMethods, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_EncryptionMethods" },
{ FreeRDP_ExtEncryptionMethods, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ExtEncryptionMethods" },
{ FreeRDP_Floatbar, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_Floatbar" },
{ FreeRDP_FrameAcknowledge, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_FrameAcknowledge" },
{ FreeRDP_GatewayAcceptedCertLength, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_GatewayAcceptedCertLength" },
{ FreeRDP_GatewayCredentialsSource, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_GatewayCredentialsSource" },
{ FreeRDP_GatewayPort, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_GatewayPort" },
{ FreeRDP_GatewayUsageMethod, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_GatewayUsageMethod" },
{ FreeRDP_GfxCapsFilter, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_GfxCapsFilter" },
{ FreeRDP_GlyphSupportLevel, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_GlyphSupportLevel" },
{ FreeRDP_JpegCodecId, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_JpegCodecId" },
{ FreeRDP_JpegQuality, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_JpegQuality" },
{ FreeRDP_KeySpec, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_KeySpec" },
{ FreeRDP_KeyboardCodePage, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_KeyboardCodePage" },
{ FreeRDP_KeyboardFunctionKey, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_KeyboardFunctionKey" },
{ FreeRDP_KeyboardHook, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_KeyboardHook" },
{ FreeRDP_KeyboardLayout, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_KeyboardLayout" },
{ FreeRDP_KeyboardSubType, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_KeyboardSubType" },
{ FreeRDP_KeyboardType, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_KeyboardType" },
{ FreeRDP_LargePointerFlag, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_LargePointerFlag" },
{ FreeRDP_LoadBalanceInfoLength, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_LoadBalanceInfoLength" },
{ FreeRDP_MaxTimeInCheckLoop, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MaxTimeInCheckLoop" },
{ FreeRDP_MonitorAttributeFlags, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_MonitorAttributeFlags" },
{ FreeRDP_MonitorCount, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorCount" },
{ FreeRDP_MonitorDefArraySize, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorDefArraySize" },
{ FreeRDP_MonitorFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorFlags" },
{ FreeRDP_MonitorLocalShiftX, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorLocalShiftX" },
{ FreeRDP_MonitorLocalShiftY, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MonitorLocalShiftY" },
{ FreeRDP_MultifragMaxRequestSize, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_MultifragMaxRequestSize" },
{ FreeRDP_MultitransportFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_MultitransportFlags" },
{ FreeRDP_NSCodecColorLossLevel, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_NSCodecColorLossLevel" },
{ FreeRDP_NSCodecId, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_NSCodecId" },
{ FreeRDP_NegotiationFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_NegotiationFlags" },
{ FreeRDP_NumMonitorIds, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_NumMonitorIds" },
{ FreeRDP_OffscreenCacheEntries, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_OffscreenCacheEntries" },
{ FreeRDP_OffscreenCacheSize, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_OffscreenCacheSize" },
{ FreeRDP_OffscreenSupportLevel, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_OffscreenSupportLevel" },
{ FreeRDP_OsMajorType, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_OsMajorType" },
{ FreeRDP_OsMinorType, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_OsMinorType" },
{ FreeRDP_Password51Length, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_Password51Length" },
{ FreeRDP_PduSource, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_PduSource" },
{ FreeRDP_PercentScreen, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_PercentScreen" },
{ FreeRDP_PerformanceFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_PerformanceFlags" },
{ FreeRDP_PointerCacheSize, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_PointerCacheSize" },
{ FreeRDP_PreconnectionId, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_PreconnectionId" },
{ FreeRDP_ProxyType, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ProxyType" },
{ FreeRDP_RdpVersion, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RdpVersion" },
{ FreeRDP_ReceivedCapabilitiesSize, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_ReceivedCapabilitiesSize" },
{ FreeRDP_RedirectedSessionId, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RedirectedSessionId" },
{ FreeRDP_RedirectionAcceptedCertLength, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RedirectionAcceptedCertLength" },
{ FreeRDP_RedirectionFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RedirectionFlags" },
{ FreeRDP_RedirectionPasswordLength, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RedirectionPasswordLength" },
{ FreeRDP_RedirectionPreferType, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RedirectionPreferType" },
{ FreeRDP_RedirectionTsvUrlLength, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RedirectionTsvUrlLength" },
{ FreeRDP_RemoteAppNumIconCacheEntries, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RemoteAppNumIconCacheEntries" },
{ FreeRDP_RemoteAppNumIconCaches, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RemoteAppNumIconCaches" },
{ FreeRDP_RemoteApplicationExpandCmdLine, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RemoteApplicationExpandCmdLine" },
{ FreeRDP_RemoteApplicationExpandWorkingDir, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RemoteApplicationExpandWorkingDir" },
{ FreeRDP_RemoteApplicationSupportLevel, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RemoteApplicationSupportLevel" },
{ FreeRDP_RemoteApplicationSupportMask, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RemoteApplicationSupportMask" },
{ FreeRDP_RemoteFxCaptureFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RemoteFxCaptureFlags" },
{ FreeRDP_RemoteFxCodecId, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RemoteFxCodecId" },
{ FreeRDP_RemoteFxCodecMode, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RemoteFxCodecMode" },
{ FreeRDP_RemoteWndSupportLevel, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_RemoteWndSupportLevel" },
{ FreeRDP_RequestedProtocols, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_RequestedProtocols" },
{ FreeRDP_SelectedProtocol, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_SelectedProtocol" },
{ FreeRDP_ServerCertificateLength, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_ServerCertificateLength" },
{ FreeRDP_ServerPort, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ServerPort" },
{ FreeRDP_ServerRandomLength, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ServerRandomLength" },
{ FreeRDP_ShareId, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ShareId" },
{ FreeRDP_SmartSizingHeight, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_SmartSizingHeight" },
{ FreeRDP_SmartSizingWidth, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_SmartSizingWidth" },
{ FreeRDP_StaticChannelArraySize, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_StaticChannelArraySize" },
{ FreeRDP_StaticChannelCount, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_StaticChannelCount" },
{ FreeRDP_TargetNetAddressCount, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_TargetNetAddressCount" },
{ FreeRDP_TcpAckTimeout, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_TcpAckTimeout" },
{ FreeRDP_TcpConnectTimeout, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_TcpConnectTimeout" },
{ FreeRDP_TcpKeepAliveDelay, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_TcpKeepAliveDelay" },
{ FreeRDP_TcpKeepAliveInterval, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_TcpKeepAliveInterval" },
{ FreeRDP_TcpKeepAliveRetries, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_TcpKeepAliveRetries" },
{ FreeRDP_ThreadingFlags, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_ThreadingFlags" },
{ FreeRDP_TlsSecLevel, FREERDP_SETTINGS_TYPE_UINT32, "FreeRDP_TlsSecLevel" },
{ FreeRDP_VirtualChannelChunkSize, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_VirtualChannelChunkSize" },
{ FreeRDP_VirtualChannelCompressionFlags, FREERDP_SETTINGS_TYPE_UINT32,
"FreeRDP_VirtualChannelCompressionFlags" },
{ FreeRDP_XPan, FREERDP_SETTINGS_TYPE_INT32, "FreeRDP_XPan" },
{ FreeRDP_YPan, FREERDP_SETTINGS_TYPE_INT32, "FreeRDP_YPan" },
{ FreeRDP_ParentWindowId, FREERDP_SETTINGS_TYPE_UINT64, "FreeRDP_ParentWindowId" },
{ FreeRDP_AcceptedCert, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_AcceptedCert" },
{ FreeRDP_ActionScript, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ActionScript" },
{ FreeRDP_AllowedTlsCiphers, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_AllowedTlsCiphers" },
{ FreeRDP_AlternateShell, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_AlternateShell" },
{ FreeRDP_AssistanceFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_AssistanceFile" },
{ FreeRDP_AuthenticationPackageList, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_AuthenticationPackageList" },
{ FreeRDP_AuthenticationServiceClass, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_AuthenticationServiceClass" },
{ FreeRDP_BitmapCachePersistFile, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_BitmapCachePersistFile" },
{ FreeRDP_CardName, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_CardName" },
{ FreeRDP_CertificateAcceptedFingerprints, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_CertificateAcceptedFingerprints" },
{ FreeRDP_CertificateContent, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_CertificateContent" },
{ FreeRDP_CertificateFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_CertificateFile" },
{ FreeRDP_CertificateName, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_CertificateName" },
{ FreeRDP_ClientAddress, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ClientAddress" },
{ FreeRDP_ClientDir, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ClientDir" },
{ FreeRDP_ClientHostname, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ClientHostname" },
{ FreeRDP_ClientProductId, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ClientProductId" },
{ FreeRDP_ComputerName, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ComputerName" },
{ FreeRDP_ConfigPath, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ConfigPath" },
{ FreeRDP_ConnectionFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ConnectionFile" },
{ FreeRDP_ContainerName, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ContainerName" },
{ FreeRDP_CspName, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_CspName" },
{ FreeRDP_CurrentPath, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_CurrentPath" },
{ FreeRDP_Domain, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_Domain" },
{ FreeRDP_DrivesToRedirect, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_DrivesToRedirect" },
{ FreeRDP_DumpRemoteFxFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_DumpRemoteFxFile" },
{ FreeRDP_DynamicDSTTimeZoneKeyName, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_DynamicDSTTimeZoneKeyName" },
{ FreeRDP_GatewayAcceptedCert, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_GatewayAcceptedCert" },
{ FreeRDP_GatewayAccessToken, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_GatewayAccessToken" },
{ FreeRDP_GatewayDomain, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_GatewayDomain" },
{ FreeRDP_GatewayHostname, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_GatewayHostname" },
{ FreeRDP_GatewayPassword, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_GatewayPassword" },
{ FreeRDP_GatewayUsername, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_GatewayUsername" },
{ FreeRDP_HomePath, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_HomePath" },
{ FreeRDP_ImeFileName, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ImeFileName" },
{ FreeRDP_KerberosArmor, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_KerberosArmor" },
{ FreeRDP_KerberosCache, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_KerberosCache" },
{ FreeRDP_KerberosKdcUrl, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_KerberosKdcUrl" },
{ FreeRDP_KerberosKeytab, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_KerberosKeytab" },
{ FreeRDP_KerberosLifeTime, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_KerberosLifeTime" },
{ FreeRDP_KerberosRealm, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_KerberosRealm" },
{ FreeRDP_KerberosRenewableLifeTime, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_KerberosRenewableLifeTime" },
{ FreeRDP_KerberosStartTime, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_KerberosStartTime" },
{ FreeRDP_KeyboardRemappingList, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_KeyboardRemappingList" },
{ FreeRDP_NtlmSamFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_NtlmSamFile" },
{ FreeRDP_Password, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_Password" },
{ FreeRDP_PasswordHash, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_PasswordHash" },
{ FreeRDP_Pkcs11Module, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_Pkcs11Module" },
{ FreeRDP_PkinitAnchors, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_PkinitAnchors" },
{ FreeRDP_PlayRemoteFxFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_PlayRemoteFxFile" },
{ FreeRDP_PreconnectionBlob, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_PreconnectionBlob" },
{ FreeRDP_PrivateKeyContent, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_PrivateKeyContent" },
{ FreeRDP_PrivateKeyFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_PrivateKeyFile" },
{ FreeRDP_ProxyHostname, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ProxyHostname" },
{ FreeRDP_ProxyPassword, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ProxyPassword" },
{ FreeRDP_ProxyUsername, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ProxyUsername" },
{ FreeRDP_RDP2TCPArgs, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_RDP2TCPArgs" },
{ FreeRDP_ReaderName, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ReaderName" },
{ FreeRDP_RedirectionAcceptedCert, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RedirectionAcceptedCert" },
{ FreeRDP_RedirectionDomain, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_RedirectionDomain" },
{ FreeRDP_RedirectionTargetFQDN, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RedirectionTargetFQDN" },
{ FreeRDP_RedirectionTargetNetBiosName, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RedirectionTargetNetBiosName" },
{ FreeRDP_RedirectionUsername, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_RedirectionUsername" },
{ FreeRDP_RemoteApplicationCmdLine, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteApplicationCmdLine" },
{ FreeRDP_RemoteApplicationFile, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteApplicationFile" },
{ FreeRDP_RemoteApplicationGuid, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteApplicationGuid" },
{ FreeRDP_RemoteApplicationIcon, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteApplicationIcon" },
{ FreeRDP_RemoteApplicationName, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteApplicationName" },
{ FreeRDP_RemoteApplicationProgram, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteApplicationProgram" },
{ FreeRDP_RemoteApplicationWorkingDir, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteApplicationWorkingDir" },
{ FreeRDP_RemoteAssistancePassStub, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteAssistancePassStub" },
{ FreeRDP_RemoteAssistancePassword, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteAssistancePassword" },
{ FreeRDP_RemoteAssistanceRCTicket, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteAssistanceRCTicket" },
{ FreeRDP_RemoteAssistanceSessionId, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_RemoteAssistanceSessionId" },
{ FreeRDP_ServerHostname, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_ServerHostname" },
{ FreeRDP_ShellWorkingDirectory, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_ShellWorkingDirectory" },
{ FreeRDP_SmartcardCertificate, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_SmartcardCertificate" },
{ FreeRDP_SmartcardPrivateKey, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_SmartcardPrivateKey" },
{ FreeRDP_SspiModule, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_SspiModule" },
{ FreeRDP_TargetNetAddress, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_TargetNetAddress" },
{ FreeRDP_TlsSecretsFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_TlsSecretsFile" },
{ FreeRDP_TransportDumpFile, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_TransportDumpFile" },
{ FreeRDP_UserSpecifiedServerName, FREERDP_SETTINGS_TYPE_STRING,
"FreeRDP_UserSpecifiedServerName" },
{ FreeRDP_Username, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_Username" },
{ FreeRDP_WindowTitle, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_WindowTitle" },
{ FreeRDP_WmClass, FREERDP_SETTINGS_TYPE_STRING, "FreeRDP_WmClass" },
{ FreeRDP_BitmapCacheV2CellInfo, FREERDP_SETTINGS_TYPE_POINTER,
"FreeRDP_BitmapCacheV2CellInfo" },
{ FreeRDP_ChannelDefArray, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_ChannelDefArray" },
{ FreeRDP_ClientAutoReconnectCookie, FREERDP_SETTINGS_TYPE_POINTER,
"FreeRDP_ClientAutoReconnectCookie" },
{ FreeRDP_ClientRandom, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_ClientRandom" },
{ FreeRDP_ClientTimeZone, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_ClientTimeZone" },
{ FreeRDP_DeviceArray, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_DeviceArray" },
{ FreeRDP_DynamicChannelArray, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_DynamicChannelArray" },
{ FreeRDP_FragCache, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_FragCache" },
{ FreeRDP_GlyphCache, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_GlyphCache" },
{ FreeRDP_LoadBalanceInfo, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_LoadBalanceInfo" },
{ FreeRDP_MonitorDefArray, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_MonitorDefArray" },
{ FreeRDP_MonitorIds, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_MonitorIds" },
{ FreeRDP_OrderSupport, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_OrderSupport" },
{ FreeRDP_Password51, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_Password51" },
{ FreeRDP_RdpServerCertificate, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_RdpServerCertificate" },
{ FreeRDP_RdpServerRsaKey, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_RdpServerRsaKey" },
{ FreeRDP_ReceivedCapabilities, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_ReceivedCapabilities" },
{ FreeRDP_RedirectionPassword, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_RedirectionPassword" },
{ FreeRDP_RedirectionTsvUrl, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_RedirectionTsvUrl" },
{ FreeRDP_ServerAutoReconnectCookie, FREERDP_SETTINGS_TYPE_POINTER,
"FreeRDP_ServerAutoReconnectCookie" },
{ FreeRDP_ServerCertificate, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_ServerCertificate" },
{ FreeRDP_ServerRandom, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_ServerRandom" },
{ FreeRDP_StaticChannelArray, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_StaticChannelArray" },
{ FreeRDP_TargetNetAddresses, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_TargetNetAddresses" },
{ FreeRDP_TargetNetPorts, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_TargetNetPorts" },
{ FreeRDP_instance, FREERDP_SETTINGS_TYPE_POINTER, "FreeRDP_instance" },
};
BOOL freerdp_settings_clone_keys(rdpSettings* dst, const rdpSettings* src)
@ -762,6 +871,39 @@ SSIZE_T freerdp_settings_get_type_for_name(const char* value)
return -1;
}
const char* freerdp_settings_get_type_name_for_key(size_t key)
{
const SSIZE_T type = freerdp_settings_get_type_for_key(key);
return freerdp_settings_get_type_name_for_type(type);
}
const char* freerdp_settings_get_type_name_for_type(SSIZE_T type)
{
switch (type)
{
case FREERDP_SETTINGS_TYPE_BOOL:
return "FREERDP_SETTINGS_TYPE_BOOL";
case FREERDP_SETTINGS_TYPE_UINT16:
return "FREERDP_SETTINGS_TYPE_UINT16";
case FREERDP_SETTINGS_TYPE_INT16:
return "FREERDP_SETTINGS_TYPE_INT16";
case FREERDP_SETTINGS_TYPE_UINT32:
return "FREERDP_SETTINGS_TYPE_UINT32";
case FREERDP_SETTINGS_TYPE_INT32:
return "FREERDP_SETTINGS_TYPE_INT32";
case FREERDP_SETTINGS_TYPE_UINT64:
return "FREERDP_SETTINGS_TYPE_UINT64";
case FREERDP_SETTINGS_TYPE_INT64:
return "FREERDP_SETTINGS_TYPE_INT64";
case FREERDP_SETTINGS_TYPE_STRING:
return "FREERDP_SETTINGS_TYPE_STRING";
case FREERDP_SETTINGS_TYPE_POINTER:
return "FREERDP_SETTINGS_TYPE_POINTER";
default:
return "FREERDP_SETTINGS_TYPE_UNKNOWN";
}
}
SSIZE_T freerdp_settings_get_type_for_key(size_t key)
{
size_t x;

View File

@ -30,10 +30,23 @@ def write_entry(f, entry_dict, entry_type, entry_name):
f.write('};\n\n')
def write_str_case(f, entry_type, val):
f.write('\t\t{FreeRDP_' + val + ', ' + str(entry_type) + ', "FreeRDP_' + val + '"},\n')
def write_str_case(f, entry_idx, val):
entry_types = ['BOOL', 'UINT16', 'INT16', 'UINT32', 'INT32', 'UINT64', 'INT64', 'STRING', 'POINTER']
f.write('\t\t{FreeRDP_' + val + ', FREERDP_SETTINGS_TYPE_' + str(entry_types[entry_idx]) + ', "FreeRDP_' + val + '"},\n')
def write_str(f, entry_dict):
f.write('typedef enum {\n')
f.write('\tFREERDP_SETTINGS_TYPE_BOOL,\n')
f.write('\tFREERDP_SETTINGS_TYPE_UINT16,\n')
f.write('\tFREERDP_SETTINGS_TYPE_INT16,\n')
f.write('\tFREERDP_SETTINGS_TYPE_UINT32,\n')
f.write('\tFREERDP_SETTINGS_TYPE_INT32,\n')
f.write('\tFREERDP_SETTINGS_TYPE_UINT64,\n')
f.write('\tFREERDP_SETTINGS_TYPE_INT64,\n')
f.write('\tFREERDP_SETTINGS_TYPE_STRING,\n')
f.write('\tFREERDP_SETTINGS_TYPE_POINTER\n')
f.write('} FREERDP_SETTINGS_TYPE;\n')
f.write('\n')
f.write('struct settings_str_entry {\n')
f.write('\tsize_t id;\n')
f.write('\tsize_t type;\n')
@ -382,6 +395,40 @@ def write_str(f, entry_dict):
f.write('\treturn -1;\n')
f.write('}\n')
f.write('\n')
f.write('const char* freerdp_settings_get_type_name_for_key(size_t key)\n')
f.write('{\n')
f.write('\tconst SSIZE_T type = freerdp_settings_get_type_for_key(key);\n')
f.write('\treturn freerdp_settings_get_type_name_for_type(type);\n')
f.write('}\n')
f.write('\n')
f.write('const char* freerdp_settings_get_type_name_for_type(SSIZE_T type)\n')
f.write('{\n')
f.write('\tswitch(type)\n')
f.write('\t{\n')
f.write('\t\tcase FREERDP_SETTINGS_TYPE_BOOL:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_BOOL";\n')
f.write('\t\tcase FREERDP_SETTINGS_TYPE_UINT16:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_UINT16";\n')
f.write('\t\tcase FREERDP_SETTINGS_TYPE_INT16:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_INT16";\n')
f.write('\t\tcase FREERDP_SETTINGS_TYPE_UINT32:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_UINT32";\n')
f.write('\t\tcase FREERDP_SETTINGS_TYPE_INT32:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_INT32";\n')
f.write('\t\tcase FREERDP_SETTINGS_TYPE_UINT64:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_UINT64";\n')
f.write('\t\tcase FREERDP_SETTINGS_TYPE_INT64:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_INT64";\n')
f.write('\t\tcase FREERDP_SETTINGS_TYPE_STRING:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_STRING";\n')
f.write('\t\tcase FREERDP_SETTINGS_TYPE_POINTER:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_POINTER";\n')
f.write('\t\tdefault:\n')
f.write('\t\t\treturn "FREERDP_SETTINGS_TYPE_UNKNOWN";\n')
f.write('\t}')
f.write('}\n')
f.write('\n')
f.write('SSIZE_T freerdp_settings_get_type_for_key(size_t key)\n')
f.write('{\n')
f.write('\tsize_t x;\n')
@ -422,7 +469,7 @@ def write_getter_body(f, values):
for val in values:
write_getter_case(f, val)
f.write('\t\tdefault:\n')
f.write('\t\t\tWLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);\n')
f.write('\t\t\tWLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id, freerdp_settings_get_name_for_key(id), freerdp_settings_get_type_name_for_key(id));\n')
f.write('\t\t\treturn FALSE;\n')
f.write('\t}\n')
f.write('}\n\n')
@ -502,7 +549,7 @@ def write_setter(f, entry_dict, entry_type, entry_name):
for val in values:
write_setter_case(f, val, isString, isPointer)
f.write('\t\tdefault:\n')
f.write('\t\t\tWLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);\n')
f.write('\t\t\tWLog_ERR(TAG, "[%s] Invalid key index %" PRIuz " [%s|%s]", __FUNCTION__, id, freerdp_settings_get_name_for_key(id), freerdp_settings_get_type_name_for_key(id));\n')
f.write('\t\t\treturn FALSE;\n')
f.write('\t}\n')
f.write('\treturn TRUE;\n')