diff --git a/include/freerdp/settings.h b/include/freerdp/settings.h index 9aee398ae..cf14ba69d 100644 --- a/include/freerdp/settings.h +++ b/include/freerdp/settings.h @@ -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); diff --git a/libfreerdp/common/settings_getters.c b/libfreerdp/common/settings_getters.c index bddd26b85..97de841d5 100644 --- a/libfreerdp/common/settings_getters.c +++ b/libfreerdp/common/settings_getters.c @@ -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; diff --git a/libfreerdp/common/settings_str.c b/libfreerdp/common/settings_str.c index 3f9fc0774..9fa54d0a5 100644 --- a/libfreerdp/common/settings_str.c +++ b/libfreerdp/common/settings_str.c @@ -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; diff --git a/tools/update-settings-tests b/tools/update-settings-tests index ac4c68f88..cf15d69f3 100755 --- a/tools/update-settings-tests +++ b/tools/update-settings-tests @@ -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')