The settings getters and setters are now automatically generated.
Added a test case to check if all available options can be retrieved.
UINT64 padding0896[896 - 837]; /* 837 */
/* Client Info (Time Zone) */
- ALIGN64 LPTIME_ZONE_INFORMATION ClientTimeZone; /* 896 */
+ ALIGN64 TIME_ZONE_INFORMATION* ClientTimeZone; /* 896 */
ALIGN64 char* DynamicDSTTimeZoneKeyName; /* 897 */
ALIGN64 BOOL DynamicDaylightTimeDisabled; /* 898 */
UINT64 padding0960[960 - 899]; /* 899 */
ALIGN64 char* WmClass; /* 1549 */
ALIGN64 BOOL EmbeddedWindow; /* 1550 */
ALIGN64 BOOL SmartSizing; /* 1551 */
- ALIGN64 int XPan; /* 1552 */
- ALIGN64 int YPan; /* 1553 */
+ ALIGN64 INT32 XPan; /* 1552 */
+ ALIGN64 INT32 YPan; /* 1553 */
ALIGN64 UINT32 SmartSizingWidth; /* 1554 */
ALIGN64 UINT32 SmartSizingHeight; /* 1555 */
ALIGN64 BOOL PercentScreenUseWidth; /* 1556 */
*/
/* Extensions */
- ALIGN64 int num_extensions; /* */
+ ALIGN64 INT32 num_extensions; /* */
ALIGN64 struct rdp_ext_set extensions[16]; /* */
ALIGN64 BYTE*
FREERDP_API void freerdp_update_gateway_usage_method(rdpSettings* settings, UINT32 GatewayEnabled,
UINT32 GatewayBypassLocal);
-FREERDP_API BOOL freerdp_get_param_bool(rdpSettings* settings, int id);
-FREERDP_API int freerdp_set_param_bool(rdpSettings* settings, int id, BOOL param);
+FREERDP_API BOOL freerdp_get_param_bool(rdpSettings* settings, size_t id);
+FREERDP_API BOOL freerdp_set_param_bool(rdpSettings* settings, size_t id, BOOL param);
-FREERDP_API int freerdp_get_param_int(rdpSettings* settings, int id);
-FREERDP_API int freerdp_set_param_int(rdpSettings* settings, int id, int param);
+FREERDP_API INT16 freerdp_get_param_int16(rdpSettings* settings, size_t id);
+FREERDP_API BOOL freerdp_set_param_int16(rdpSettings* settings, size_t id, INT16 param);
-FREERDP_API UINT32 freerdp_get_param_uint32(rdpSettings* settings, int id);
-FREERDP_API int freerdp_set_param_uint32(rdpSettings* settings, int id, UINT32 param);
+FREERDP_API UINT16 freerdp_get_param_uint16(rdpSettings* settings, size_t id);
+FREERDP_API BOOL freerdp_set_param_uint16(rdpSettings* settings, size_t id, UINT16 param);
-FREERDP_API UINT64 freerdp_get_param_uint64(rdpSettings* settings, int id);
-FREERDP_API int freerdp_set_param_uint64(rdpSettings* settings, int id, UINT64 param);
+FREERDP_API INT32 freerdp_get_param_int32(rdpSettings* settings, size_t id);
+FREERDP_API BOOL freerdp_set_param_int32(rdpSettings* settings, size_t id, INT32 param);
-FREERDP_API char* freerdp_get_param_string(rdpSettings* settings, int id);
-FREERDP_API int freerdp_set_param_string(rdpSettings* settings, int id, const char* param);
+FREERDP_API UINT32 freerdp_get_param_uint32(rdpSettings* settings, size_t id);
+FREERDP_API BOOL freerdp_set_param_uint32(rdpSettings* settings, size_t id, UINT32 param);
+
+FREERDP_API INT64 freerdp_get_param_int64(rdpSettings* settings, size_t id);
+FREERDP_API BOOL freerdp_set_param_int64(rdpSettings* settings, size_t id, INT64 param);
+
+FREERDP_API UINT64 freerdp_get_param_uint64(rdpSettings* settings, size_t id);
+FREERDP_API BOOL freerdp_set_param_uint64(rdpSettings* settings, size_t id, UINT64 param);
+
+FREERDP_API const char* freerdp_get_param_string(rdpSettings* settings, size_t id);
+FREERDP_API BOOL freerdp_set_param_string(rdpSettings* settings, size_t id, const char* param);
+
+FREERDP_API const void* freerdp_get_param_pointer(rdpSettings* settings, size_t id);
#ifdef __cplusplus
}
set(${MODULE_PREFIX}_SRCS
addin.c
settings.c
+ settings_getters.c
assistance.c)
freerdp_module_add(${${MODULE_PREFIX}_SRCS})
freerdp_set_gateway_usage_method(settings, GatewayUsageMethod);
}
-
-/**
- * Partially Generated Code
- */
-
-BOOL freerdp_get_param_bool(rdpSettings* settings, int id)
-{
- switch (id)
- {
- case FreeRDP_ServerMode:
- return settings->ServerMode;
-
- case FreeRDP_NetworkAutoDetect:
- return settings->NetworkAutoDetect;
-
- case FreeRDP_SupportAsymetricKeys:
- return settings->SupportAsymetricKeys;
-
- case FreeRDP_SupportErrorInfoPdu:
- return settings->SupportErrorInfoPdu;
-
- case FreeRDP_SupportStatusInfoPdu:
- return settings->SupportStatusInfoPdu;
-
- case FreeRDP_SupportMonitorLayoutPdu:
- return settings->SupportMonitorLayoutPdu;
-
- case FreeRDP_SupportGraphicsPipeline:
- return settings->SupportGraphicsPipeline;
-
- case FreeRDP_SupportDynamicTimeZone:
- return settings->SupportDynamicTimeZone;
-
- case FreeRDP_UseRdpSecurityLayer:
- return settings->UseRdpSecurityLayer;
-
- case FreeRDP_ConsoleSession:
- return settings->ConsoleSession;
-
- case FreeRDP_SpanMonitors:
- return settings->SpanMonitors;
-
- case FreeRDP_UseMultimon:
- return settings->UseMultimon;
-
- case FreeRDP_ForceMultimon:
- return settings->ForceMultimon;
-
- case FreeRDP_AutoLogonEnabled:
- return settings->AutoLogonEnabled;
-
- case FreeRDP_CompressionEnabled:
- return settings->CompressionEnabled;
-
- case FreeRDP_DisableCtrlAltDel:
- return settings->DisableCtrlAltDel;
-
- case FreeRDP_EnableWindowsKey:
- return settings->EnableWindowsKey;
-
- case FreeRDP_MaximizeShell:
- return settings->MaximizeShell;
-
- case FreeRDP_LogonNotify:
- return settings->LogonNotify;
-
- case FreeRDP_LogonErrors:
- return settings->LogonErrors;
-
- case FreeRDP_MouseAttached:
- return settings->MouseAttached;
-
- case FreeRDP_MouseHasWheel:
- return settings->MouseHasWheel;
-
- case FreeRDP_RemoteConsoleAudio:
- return settings->RemoteConsoleAudio;
-
- case FreeRDP_AudioPlayback:
- return settings->AudioPlayback;
-
- case FreeRDP_AudioCapture:
- return settings->AudioCapture;
-
- case FreeRDP_VideoDisable:
- return settings->VideoDisable;
-
- case FreeRDP_PasswordIsSmartcardPin:
- return settings->PasswordIsSmartcardPin;
-
- case FreeRDP_UsingSavedCredentials:
- return settings->UsingSavedCredentials;
-
- case FreeRDP_ForceEncryptedCsPdu:
- return settings->ForceEncryptedCsPdu;
-
- case FreeRDP_HiDefRemoteApp:
- return settings->HiDefRemoteApp;
-
- case FreeRDP_IPv6Enabled:
- return settings->IPv6Enabled;
-
- case FreeRDP_AutoReconnectionEnabled:
- return settings->AutoReconnectionEnabled;
-
- case FreeRDP_DynamicDaylightTimeDisabled:
- return settings->DynamicDaylightTimeDisabled;
-
- case FreeRDP_AllowFontSmoothing:
- return settings->AllowFontSmoothing;
-
- case FreeRDP_DisableWallpaper:
- return settings->DisableWallpaper;
-
- case FreeRDP_DisableFullWindowDrag:
- return settings->DisableFullWindowDrag;
-
- case FreeRDP_DisableMenuAnims:
- return settings->DisableMenuAnims;
-
- case FreeRDP_DisableThemes:
- return settings->DisableThemes;
-
- case FreeRDP_DisableCursorShadow:
- return settings->DisableCursorShadow;
-
- case FreeRDP_DisableCursorBlinking:
- return settings->DisableCursorBlinking;
-
- case FreeRDP_AllowDesktopComposition:
- return settings->AllowDesktopComposition;
-
- case FreeRDP_RemoteAssistanceMode:
- return settings->RemoteAssistanceMode;
-
- case FreeRDP_TlsSecurity:
- return settings->TlsSecurity;
-
- case FreeRDP_NlaSecurity:
- return settings->NlaSecurity;
-
- case FreeRDP_RdpSecurity:
- return settings->RdpSecurity;
-
- case FreeRDP_ExtSecurity:
- return settings->ExtSecurity;
-
- case FreeRDP_Authentication:
- return settings->Authentication;
-
- case FreeRDP_NegotiateSecurityLayer:
- return settings->NegotiateSecurityLayer;
-
- case FreeRDP_RestrictedAdminModeRequired:
- return settings->RestrictedAdminModeRequired;
-
- case FreeRDP_DisableCredentialsDelegation:
- return settings->DisableCredentialsDelegation;
-
- case FreeRDP_AuthenticationLevel:
- return settings->AuthenticationLevel;
-
- case FreeRDP_VmConnectMode:
- return settings->VmConnectMode;
-
- case FreeRDP_MstscCookieMode:
- return settings->MstscCookieMode;
-
- case FreeRDP_SendPreconnectionPdu:
- return settings->SendPreconnectionPdu;
-
- case FreeRDP_IgnoreCertificate:
- return settings->IgnoreCertificate;
-
- case FreeRDP_AutoDenyCertificate:
- return settings->AutoDenyCertificate;
-
- case FreeRDP_AutoAcceptCertificate:
- return settings->AutoAcceptCertificate;
-
- case FreeRDP_ExternalCertificateManagement:
- return settings->ExternalCertificateManagement;
-
- case FreeRDP_FIPSMode:
- return settings->FIPSMode;
-
- case FreeRDP_Workarea:
- return settings->Workarea;
-
- case FreeRDP_Fullscreen:
- return settings->Fullscreen;
-
- case FreeRDP_GrabKeyboard:
- return settings->GrabKeyboard;
-
- case FreeRDP_Decorations:
- return settings->Decorations;
-
- case FreeRDP_SmartSizing:
- return settings->SmartSizing;
-
- case FreeRDP_MouseMotion:
- return settings->MouseMotion;
-
- case FreeRDP_AsyncInput:
- return settings->AsyncInput;
-
- case FreeRDP_AsyncUpdate:
- return settings->AsyncUpdate;
-
- case FreeRDP_AsyncChannels:
- return settings->AsyncChannels;
-
- case FreeRDP_ToggleFullscreen:
- return settings->ToggleFullscreen;
-
- case FreeRDP_SoftwareGdi:
- return settings->SoftwareGdi;
-
- case FreeRDP_LocalConnection:
- return settings->LocalConnection;
-
- case FreeRDP_AuthenticationOnly:
- return settings->AuthenticationOnly;
-
- case FreeRDP_CredentialsFromStdin:
- return settings->CredentialsFromStdin;
-
- case FreeRDP_DumpRemoteFx:
- return settings->DumpRemoteFx;
-
- case FreeRDP_PlayRemoteFx:
- return settings->PlayRemoteFx;
-
- case FreeRDP_GatewayUseSameCredentials:
- return settings->GatewayUseSameCredentials;
-
- case FreeRDP_GatewayEnabled:
- return settings->GatewayEnabled;
-
- case FreeRDP_GatewayBypassLocal:
- return settings->GatewayBypassLocal;
-
- case FreeRDP_GatewayRpcTransport:
- return settings->GatewayRpcTransport;
-
- case FreeRDP_GatewayHttpTransport:
- return settings->GatewayHttpTransport;
-
- case FreeRDP_GatewayUdpTransport:
- return settings->GatewayUdpTransport;
-
- case FreeRDP_RemoteApplicationMode:
- return settings->RemoteApplicationMode;
-
- case FreeRDP_DisableRemoteAppCapsCheck:
- return settings->DisableRemoteAppCapsCheck;
-
- case FreeRDP_RemoteAppLanguageBarSupported:
- return settings->RemoteAppLanguageBarSupported;
-
- case FreeRDP_RefreshRect:
- return settings->RefreshRect;
-
- case FreeRDP_SuppressOutput:
- return settings->SuppressOutput;
-
- case FreeRDP_FastPathOutput:
- return settings->FastPathOutput;
-
- case FreeRDP_SaltedChecksum:
- return settings->SaltedChecksum;
-
- case FreeRDP_LongCredentialsSupported:
- return settings->LongCredentialsSupported;
-
- case FreeRDP_NoBitmapCompressionHeader:
- return settings->NoBitmapCompressionHeader;
-
- case FreeRDP_BitmapCompressionDisabled:
- return settings->BitmapCompressionDisabled;
-
- case FreeRDP_DesktopResize:
- return settings->DesktopResize;
-
- case FreeRDP_DrawAllowDynamicColorFidelity:
- return settings->DrawAllowDynamicColorFidelity;
-
- case FreeRDP_DrawAllowColorSubsampling:
- return settings->DrawAllowColorSubsampling;
-
- case FreeRDP_DrawAllowSkipAlpha:
- return settings->DrawAllowSkipAlpha;
-
- case FreeRDP_BitmapCacheV3Enabled:
- return settings->BitmapCacheV3Enabled;
-
- case FreeRDP_AltSecFrameMarkerSupport:
- return settings->AltSecFrameMarkerSupport;
-
- case FreeRDP_BitmapCacheEnabled:
- return settings->BitmapCacheEnabled;
-
- case FreeRDP_AllowCacheWaitingList:
- return settings->AllowCacheWaitingList;
-
- case FreeRDP_BitmapCachePersistEnabled:
- return settings->BitmapCachePersistEnabled;
-
- case FreeRDP_ColorPointerFlag:
- return settings->ColorPointerFlag;
-
- case FreeRDP_UnicodeInput:
- return settings->UnicodeInput;
-
- case FreeRDP_FastPathInput:
- return settings->FastPathInput;
-
- case FreeRDP_MultiTouchInput:
- return settings->MultiTouchInput;
-
- case FreeRDP_MultiTouchGestures:
- return settings->MultiTouchGestures;
-
- case FreeRDP_SoundBeepsEnabled:
- return settings->SoundBeepsEnabled;
-
- case FreeRDP_SurfaceCommandsEnabled:
- return settings->SurfaceCommandsEnabled;
-
- case FreeRDP_FrameMarkerCommandEnabled:
- return settings->FrameMarkerCommandEnabled;
-
- case FreeRDP_RemoteFxOnly:
- return settings->RemoteFxOnly;
-
- case FreeRDP_RemoteFxCodec:
- return settings->RemoteFxCodec;
-
- case FreeRDP_RemoteFxImageCodec:
- return settings->RemoteFxImageCodec;
-
- case FreeRDP_NSCodec:
- return settings->NSCodec;
-
- case FreeRDP_NSCodecAllowSubsampling:
- return settings->NSCodecAllowSubsampling;
-
- case FreeRDP_NSCodecAllowDynamicColorFidelity:
- return settings->NSCodecAllowDynamicColorFidelity;
-
- case FreeRDP_JpegCodec:
- return settings->JpegCodec;
-
- case FreeRDP_GfxThinClient:
- return settings->GfxThinClient;
-
- case FreeRDP_GfxSmallCache:
- return settings->GfxSmallCache;
-
- case FreeRDP_GfxProgressive:
- return settings->GfxProgressive;
-
- case FreeRDP_GfxProgressiveV2:
- return settings->GfxProgressiveV2;
-
- case FreeRDP_GfxH264:
- return settings->GfxH264;
-
- case FreeRDP_GfxAVC444:
- return settings->GfxAVC444;
-
- case FreeRDP_DrawNineGridEnabled:
- return settings->DrawNineGridEnabled;
-
- case FreeRDP_DrawGdiPlusEnabled:
- return settings->DrawGdiPlusEnabled;
-
- case FreeRDP_DrawGdiPlusCacheEnabled:
- return settings->DrawGdiPlusCacheEnabled;
-
- case FreeRDP_DeviceRedirection:
- return settings->DeviceRedirection;
-
- case FreeRDP_RedirectDrives:
- return settings->RedirectDrives;
-
- case FreeRDP_RedirectHomeDrive:
- return settings->RedirectHomeDrive;
-
- case FreeRDP_RedirectSmartCards:
- return settings->RedirectSmartCards;
-
- case FreeRDP_RedirectPrinters:
- return settings->RedirectPrinters;
-
- case FreeRDP_RedirectSerialPorts:
- return settings->RedirectSerialPorts;
-
- case FreeRDP_RedirectParallelPorts:
- return settings->RedirectParallelPorts;
-
- case FreeRDP_RedirectClipboard:
- return settings->RedirectClipboard;
-
- case FreeRDP_SmartcardLogon:
- return settings->SmartcardLogon;
-
- default:
- WLog_ERR(TAG, "freerdp_get_param_bool: unknown id: %d", id);
- return -1;
- }
-}
-
-int freerdp_set_param_bool(rdpSettings* settings, int id, BOOL param)
-{
- switch (id)
- {
- case FreeRDP_ServerMode:
- settings->ServerMode = param;
- break;
-
- case FreeRDP_NetworkAutoDetect:
- settings->NetworkAutoDetect = param;
- break;
-
- case FreeRDP_SupportAsymetricKeys:
- settings->SupportAsymetricKeys = param;
- break;
-
- case FreeRDP_SupportErrorInfoPdu:
- settings->SupportErrorInfoPdu = param;
- break;
-
- case FreeRDP_SupportStatusInfoPdu:
- settings->SupportStatusInfoPdu = param;
- break;
-
- case FreeRDP_SupportMonitorLayoutPdu:
- settings->SupportMonitorLayoutPdu = param;
- break;
-
- case FreeRDP_SupportGraphicsPipeline:
- settings->SupportGraphicsPipeline = param;
- break;
-
- case FreeRDP_SupportDynamicTimeZone:
- settings->SupportDynamicTimeZone = param;
- break;
-
- case FreeRDP_UseRdpSecurityLayer:
- settings->UseRdpSecurityLayer = param;
- break;
-
- case FreeRDP_ConsoleSession:
- settings->ConsoleSession = param;
- break;
-
- case FreeRDP_SpanMonitors:
- settings->SpanMonitors = param;
- break;
-
- case FreeRDP_UseMultimon:
- settings->UseMultimon = param;
- break;
-
- case FreeRDP_ForceMultimon:
- settings->ForceMultimon = param;
- break;
-
- case FreeRDP_AutoLogonEnabled:
- settings->AutoLogonEnabled = param;
- break;
-
- case FreeRDP_CompressionEnabled:
- settings->CompressionEnabled = param;
- break;
-
- case FreeRDP_DisableCtrlAltDel:
- settings->DisableCtrlAltDel = param;
- break;
-
- case FreeRDP_EnableWindowsKey:
- settings->EnableWindowsKey = param;
- break;
-
- case FreeRDP_MaximizeShell:
- settings->MaximizeShell = param;
- break;
-
- case FreeRDP_LogonNotify:
- settings->LogonNotify = param;
- break;
-
- case FreeRDP_LogonErrors:
- settings->LogonErrors = param;
- break;
-
- case FreeRDP_MouseAttached:
- settings->MouseAttached = param;
- break;
-
- case FreeRDP_MouseHasWheel:
- settings->MouseHasWheel = param;
- break;
-
- case FreeRDP_RemoteConsoleAudio:
- settings->RemoteConsoleAudio = param;
- break;
-
- case FreeRDP_AudioPlayback:
- settings->AudioPlayback = param;
- break;
-
- case FreeRDP_AudioCapture:
- settings->AudioCapture = param;
- break;
-
- case FreeRDP_VideoDisable:
- settings->VideoDisable = param;
- break;
-
- case FreeRDP_PasswordIsSmartcardPin:
- settings->PasswordIsSmartcardPin = param;
- break;
-
- case FreeRDP_UsingSavedCredentials:
- settings->UsingSavedCredentials = param;
- break;
-
- case FreeRDP_ForceEncryptedCsPdu:
- settings->ForceEncryptedCsPdu = param;
- break;
-
- case FreeRDP_HiDefRemoteApp:
- settings->HiDefRemoteApp = param;
- break;
-
- case FreeRDP_IPv6Enabled:
- settings->IPv6Enabled = param;
- break;
-
- case FreeRDP_AutoReconnectionEnabled:
- settings->AutoReconnectionEnabled = param;
- break;
-
- case FreeRDP_DynamicDaylightTimeDisabled:
- settings->DynamicDaylightTimeDisabled = param;
- break;
-
- case FreeRDP_AllowFontSmoothing:
- settings->AllowFontSmoothing = param;
- break;
-
- case FreeRDP_DisableWallpaper:
- settings->DisableWallpaper = param;
- break;
-
- case FreeRDP_DisableFullWindowDrag:
- settings->DisableFullWindowDrag = param;
- break;
-
- case FreeRDP_DisableMenuAnims:
- settings->DisableMenuAnims = param;
- break;
-
- case FreeRDP_DisableThemes:
- settings->DisableThemes = param;
- break;
-
- case FreeRDP_DisableCursorShadow:
- settings->DisableCursorShadow = param;
- break;
-
- case FreeRDP_DisableCursorBlinking:
- settings->DisableCursorBlinking = param;
- break;
-
- case FreeRDP_AllowDesktopComposition:
- settings->AllowDesktopComposition = param;
- break;
-
- case FreeRDP_RemoteAssistanceMode:
- settings->RemoteAssistanceMode = param;
- break;
-
- case FreeRDP_TlsSecurity:
- settings->TlsSecurity = param;
- break;
-
- case FreeRDP_NlaSecurity:
- settings->NlaSecurity = param;
- break;
-
- case FreeRDP_RdpSecurity:
- settings->RdpSecurity = param;
- break;
-
- case FreeRDP_ExtSecurity:
- settings->ExtSecurity = param;
- break;
-
- case FreeRDP_Authentication:
- settings->Authentication = param;
- break;
-
- case FreeRDP_NegotiateSecurityLayer:
- settings->NegotiateSecurityLayer = param;
- break;
-
- case FreeRDP_RestrictedAdminModeRequired:
- settings->RestrictedAdminModeRequired = param;
- break;
-
- case FreeRDP_DisableCredentialsDelegation:
- settings->DisableCredentialsDelegation = param;
- break;
-
- case FreeRDP_AuthenticationLevel:
- settings->AuthenticationLevel = param;
- break;
-
- case FreeRDP_VmConnectMode:
- settings->VmConnectMode = param;
- break;
-
- case FreeRDP_MstscCookieMode:
- settings->MstscCookieMode = param;
- break;
-
- case FreeRDP_SendPreconnectionPdu:
- settings->SendPreconnectionPdu = param;
- break;
-
- case FreeRDP_IgnoreCertificate:
- settings->IgnoreCertificate = param;
- break;
-
- case FreeRDP_AutoDenyCertificate:
- settings->AutoDenyCertificate = param;
- break;
-
- case FreeRDP_AutoAcceptCertificate:
- settings->AutoAcceptCertificate = param;
- break;
-
- case FreeRDP_ExternalCertificateManagement:
- settings->ExternalCertificateManagement = param;
- break;
-
- case FreeRDP_FIPSMode:
- settings->FIPSMode = param;
- break;
-
- case FreeRDP_Workarea:
- settings->Workarea = param;
- break;
-
- case FreeRDP_Fullscreen:
- settings->Fullscreen = param;
- break;
-
- case FreeRDP_GrabKeyboard:
- settings->GrabKeyboard = param;
- break;
-
- case FreeRDP_Decorations:
- settings->Decorations = param;
- break;
-
- case FreeRDP_SmartSizing:
- settings->SmartSizing = param;
- break;
-
- case FreeRDP_MouseMotion:
- settings->MouseMotion = param;
- break;
-
- case FreeRDP_AsyncInput:
- settings->AsyncInput = param;
- break;
-
- case FreeRDP_AsyncUpdate:
- settings->AsyncUpdate = param;
- break;
-
- case FreeRDP_AsyncChannels:
- settings->AsyncChannels = param;
- break;
-
- case FreeRDP_ToggleFullscreen:
- settings->ToggleFullscreen = param;
- break;
-
- case FreeRDP_SoftwareGdi:
- settings->SoftwareGdi = param;
- break;
-
- case FreeRDP_LocalConnection:
- settings->LocalConnection = param;
- break;
-
- case FreeRDP_AuthenticationOnly:
- settings->AuthenticationOnly = param;
- break;
-
- case FreeRDP_CredentialsFromStdin:
- settings->CredentialsFromStdin = param;
- break;
-
- case FreeRDP_DumpRemoteFx:
- settings->DumpRemoteFx = param;
- break;
-
- case FreeRDP_PlayRemoteFx:
- settings->PlayRemoteFx = param;
- break;
-
- case FreeRDP_GatewayUseSameCredentials:
- settings->GatewayUseSameCredentials = param;
- break;
-
- case FreeRDP_GatewayEnabled:
- settings->GatewayEnabled = param;
- break;
-
- case FreeRDP_GatewayBypassLocal:
- settings->GatewayBypassLocal = param;
- break;
-
- case FreeRDP_GatewayRpcTransport:
- settings->GatewayRpcTransport = param;
- break;
-
- case FreeRDP_GatewayHttpTransport:
- settings->GatewayHttpTransport = param;
- break;
-
- case FreeRDP_GatewayUdpTransport:
- settings->GatewayUdpTransport = param;
- break;
-
- case FreeRDP_RemoteApplicationMode:
- settings->RemoteApplicationMode = param;
- break;
-
- case FreeRDP_DisableRemoteAppCapsCheck:
- settings->DisableRemoteAppCapsCheck = param;
- break;
-
- case FreeRDP_RemoteAppLanguageBarSupported:
- settings->RemoteAppLanguageBarSupported = param;
- break;
-
- case FreeRDP_RefreshRect:
- settings->RefreshRect = param;
- break;
-
- case FreeRDP_SuppressOutput:
- settings->SuppressOutput = param;
- break;
-
- case FreeRDP_FastPathOutput:
- settings->FastPathOutput = param;
- break;
-
- case FreeRDP_SaltedChecksum:
- settings->SaltedChecksum = param;
- break;
-
- case FreeRDP_LongCredentialsSupported:
- settings->LongCredentialsSupported = param;
- break;
-
- case FreeRDP_NoBitmapCompressionHeader:
- settings->NoBitmapCompressionHeader = param;
- break;
-
- case FreeRDP_BitmapCompressionDisabled:
- settings->BitmapCompressionDisabled = param;
- break;
-
- case FreeRDP_DesktopResize:
- settings->DesktopResize = param;
- break;
-
- case FreeRDP_DrawAllowDynamicColorFidelity:
- settings->DrawAllowDynamicColorFidelity = param;
- break;
-
- case FreeRDP_DrawAllowColorSubsampling:
- settings->DrawAllowColorSubsampling = param;
- break;
-
- case FreeRDP_DrawAllowSkipAlpha:
- settings->DrawAllowSkipAlpha = param;
- break;
-
- case FreeRDP_BitmapCacheV3Enabled:
- settings->BitmapCacheV3Enabled = param;
- break;
-
- case FreeRDP_AltSecFrameMarkerSupport:
- settings->AltSecFrameMarkerSupport = param;
- break;
-
- case FreeRDP_BitmapCacheEnabled:
- settings->BitmapCacheEnabled = param;
- break;
-
- case FreeRDP_AllowCacheWaitingList:
- settings->AllowCacheWaitingList = param;
- break;
-
- case FreeRDP_BitmapCachePersistEnabled:
- settings->BitmapCachePersistEnabled = param;
- break;
-
- case FreeRDP_ColorPointerFlag:
- settings->ColorPointerFlag = param;
- break;
-
- case FreeRDP_UnicodeInput:
- settings->UnicodeInput = param;
- break;
-
- case FreeRDP_FastPathInput:
- settings->FastPathInput = param;
- break;
-
- case FreeRDP_MultiTouchInput:
- settings->MultiTouchInput = param;
- break;
-
- case FreeRDP_MultiTouchGestures:
- settings->MultiTouchGestures = param;
- break;
-
- case FreeRDP_SoundBeepsEnabled:
- settings->SoundBeepsEnabled = param;
- break;
-
- case FreeRDP_SurfaceCommandsEnabled:
- settings->SurfaceCommandsEnabled = param;
- break;
-
- case FreeRDP_FrameMarkerCommandEnabled:
- settings->FrameMarkerCommandEnabled = param;
- break;
-
- case FreeRDP_RemoteFxOnly:
- settings->RemoteFxOnly = param;
- break;
-
- case FreeRDP_RemoteFxCodec:
- settings->RemoteFxCodec = param;
- break;
-
- case FreeRDP_RemoteFxImageCodec:
- settings->RemoteFxImageCodec = param;
- break;
-
- case FreeRDP_NSCodec:
- settings->NSCodec = param;
- break;
-
- case FreeRDP_NSCodecAllowSubsampling:
- settings->NSCodecAllowSubsampling = param;
- break;
-
- case FreeRDP_NSCodecAllowDynamicColorFidelity:
- settings->NSCodecAllowDynamicColorFidelity = param;
- break;
-
- case FreeRDP_JpegCodec:
- settings->JpegCodec = param;
- break;
-
- case FreeRDP_GfxThinClient:
- settings->GfxThinClient = param;
- break;
-
- case FreeRDP_GfxSmallCache:
- settings->GfxSmallCache = param;
- break;
-
- case FreeRDP_GfxProgressive:
- settings->GfxProgressive = param;
- break;
-
- case FreeRDP_GfxProgressiveV2:
- settings->GfxProgressiveV2 = param;
- break;
-
- case FreeRDP_GfxH264:
- settings->GfxH264 = param;
- break;
-
- case FreeRDP_GfxAVC444:
- settings->GfxAVC444 = param;
- break;
-
- case FreeRDP_GfxSendQoeAck:
- settings->GfxSendQoeAck = param;
- break;
-
- case FreeRDP_DrawNineGridEnabled:
- settings->DrawNineGridEnabled = param;
- break;
-
- case FreeRDP_DrawGdiPlusEnabled:
- settings->DrawGdiPlusEnabled = param;
- break;
-
- case FreeRDP_DrawGdiPlusCacheEnabled:
- settings->DrawGdiPlusCacheEnabled = param;
- break;
-
- case FreeRDP_DeviceRedirection:
- settings->DeviceRedirection = param;
- break;
-
- case FreeRDP_RedirectDrives:
- settings->RedirectDrives = param;
- break;
-
- case FreeRDP_RedirectHomeDrive:
- settings->RedirectHomeDrive = param;
- break;
-
- case FreeRDP_RedirectSmartCards:
- settings->RedirectSmartCards = param;
- break;
-
- case FreeRDP_RedirectPrinters:
- settings->RedirectPrinters = param;
- break;
-
- case FreeRDP_RedirectSerialPorts:
- settings->RedirectSerialPorts = param;
- break;
-
- case FreeRDP_RedirectParallelPorts:
- settings->RedirectParallelPorts = param;
- break;
-
- case FreeRDP_RedirectClipboard:
- settings->RedirectClipboard = param;
- break;
-
- case FreeRDP_SmartcardLogon:
- settings->SmartcardLogon = param;
- break;
-
- default:
- WLog_ERR(TAG, "freerdp_set_param_bool: unknown id %d (param = %"PRId32")", id, param);
- return -1;
- }
-
- /* Mark field as modified */
- settings->SettingsModified[id] = 1;
- return -1;
-}
-
-int freerdp_get_param_int(rdpSettings* settings, int id)
-{
- switch (id)
- {
- case FreeRDP_XPan:
- return settings->XPan;
-
- case FreeRDP_YPan:
- return settings->YPan;
-
- default:
- WLog_ERR(TAG, "freerdp_get_param_int: unknown id: %d", id);
- return 0;
- }
-}
-
-int freerdp_set_param_int(rdpSettings* settings, int id, int param)
-{
- switch (id)
- {
- case FreeRDP_XPan:
- settings->XPan = param;
- break;
-
- case FreeRDP_YPan:
- settings->YPan = param;
- break;
-
- default:
- WLog_ERR(TAG, "freerdp_set_param_int: unknown id %d (param = %d)", id, param);
- return -1;
- }
-
- settings->SettingsModified[id] = 1;
- return 0;
-}
-
-UINT32 freerdp_get_param_uint32(rdpSettings* settings, int id)
-{
- switch (id)
- {
- case FreeRDP_ShareId:
- return settings->ShareId;
-
- case FreeRDP_PduSource:
- return settings->PduSource;
-
- case FreeRDP_ServerPort:
- return settings->ServerPort;
-
- case FreeRDP_RdpVersion:
- return settings->RdpVersion;
-
- case FreeRDP_DesktopWidth:
- return settings->DesktopWidth;
-
- case FreeRDP_DesktopHeight:
- return settings->DesktopHeight;
-
- case FreeRDP_ColorDepth:
- return settings->ColorDepth;
-
- case FreeRDP_ConnectionType:
- return settings->ConnectionType;
-
- case FreeRDP_ClientBuild:
- return settings->ClientBuild;
-
- case FreeRDP_EarlyCapabilityFlags:
- return settings->EarlyCapabilityFlags;
-
- case FreeRDP_EncryptionMethods:
- return settings->EncryptionMethods;
-
- case FreeRDP_ExtEncryptionMethods:
- return settings->ExtEncryptionMethods;
-
- case FreeRDP_EncryptionLevel:
- return settings->EncryptionLevel;
-
- case FreeRDP_ServerRandomLength:
- return settings->ServerRandomLength;
-
- case FreeRDP_ClientRandomLength:
- return settings->ClientRandomLength;
-
- case FreeRDP_ChannelCount:
- return settings->ChannelCount;
-
- case FreeRDP_ChannelDefArraySize:
- return settings->ChannelDefArraySize;
-
- case FreeRDP_ClusterInfoFlags:
- return settings->ClusterInfoFlags;
-
- case FreeRDP_RedirectedSessionId:
- return settings->RedirectedSessionId;
-
- case FreeRDP_MonitorDefArraySize:
- return settings->MonitorDefArraySize;
-
- case FreeRDP_DesktopPosX:
- return settings->DesktopPosX;
-
- case FreeRDP_DesktopPosY:
- return settings->DesktopPosY;
-
- case FreeRDP_MultitransportFlags:
- return settings->MultitransportFlags;
-
- case FreeRDP_CompressionLevel:
- return settings->CompressionLevel;
-
- case FreeRDP_AutoReconnectMaxRetries:
- return settings->AutoReconnectMaxRetries;
-
- case FreeRDP_PerformanceFlags:
- return settings->PerformanceFlags;
-
- case FreeRDP_RequestedProtocols:
- return settings->RequestedProtocols;
-
- case FreeRDP_SelectedProtocol:
- return settings->SelectedProtocol;
-
- case FreeRDP_NegotiationFlags:
- return settings->NegotiationFlags;
-
- case FreeRDP_CookieMaxLength:
- return settings->CookieMaxLength;
-
- case FreeRDP_PreconnectionId:
- return settings->PreconnectionId;
-
- case FreeRDP_RedirectionFlags:
- return settings->RedirectionFlags;
-
- case FreeRDP_LoadBalanceInfoLength:
- return settings->LoadBalanceInfoLength;
-
- case FreeRDP_RedirectionPasswordLength:
- return settings->RedirectionPasswordLength;
-
- case FreeRDP_RedirectionTsvUrlLength:
- return settings->RedirectionTsvUrlLength;
-
- case FreeRDP_TargetNetAddressCount:
- return settings->TargetNetAddressCount;
-
- case FreeRDP_PercentScreen:
- return settings->PercentScreen;
-
- case FreeRDP_PercentScreenUseWidth:
- return settings->PercentScreenUseWidth;
-
- case FreeRDP_PercentScreenUseHeight:
- return settings->PercentScreenUseHeight;
-
- case FreeRDP_GatewayUsageMethod:
- return settings->GatewayUsageMethod;
-
- case FreeRDP_GatewayPort:
- return settings->GatewayPort;
-
- case FreeRDP_GatewayCredentialsSource:
- return settings->GatewayCredentialsSource;
-
- case FreeRDP_ProxyType:
- return settings->ProxyType;
-
- case FreeRDP_ProxyPort:
- return settings->ProxyPort;
-
- case FreeRDP_RemoteAppNumIconCaches:
- return settings->RemoteAppNumIconCaches;
-
- case FreeRDP_RemoteAppNumIconCacheEntries:
- return settings->RemoteAppNumIconCacheEntries;
-
- case FreeRDP_ReceivedCapabilitiesSize:
- return settings->ReceivedCapabilitiesSize;
-
- case FreeRDP_OsMajorType:
- return settings->OsMajorType;
-
- case FreeRDP_OsMinorType:
- return settings->OsMinorType;
-
- case FreeRDP_BitmapCacheVersion:
- return settings->BitmapCacheVersion;
-
- case FreeRDP_BitmapCacheV2NumCells:
- return settings->BitmapCacheV2NumCells;
-
- case FreeRDP_PointerCacheSize:
- return settings->PointerCacheSize;
-
- case FreeRDP_KeyboardLayout:
- return settings->KeyboardLayout;
-
- case FreeRDP_KeyboardType:
- return settings->KeyboardType;
-
- case FreeRDP_KeyboardSubType:
- return settings->KeyboardSubType;
-
- case FreeRDP_KeyboardFunctionKey:
- return settings->KeyboardFunctionKey;
-
- case FreeRDP_KeyboardHook:
- return settings->KeyboardHook;
- break;
-
- case FreeRDP_BrushSupportLevel:
- return settings->BrushSupportLevel;
-
- case FreeRDP_GlyphSupportLevel:
- return settings->GlyphSupportLevel;
-
- case FreeRDP_OffscreenSupportLevel:
- return settings->OffscreenSupportLevel;
-
- case FreeRDP_OffscreenCacheSize:
- return settings->OffscreenCacheSize;
-
- case FreeRDP_OffscreenCacheEntries:
- return settings->OffscreenCacheEntries;
-
- case FreeRDP_VirtualChannelCompressionFlags:
- return settings->VirtualChannelCompressionFlags;
-
- case FreeRDP_VirtualChannelChunkSize:
- return settings->VirtualChannelChunkSize;
-
- case FreeRDP_MultifragMaxRequestSize:
- return settings->MultifragMaxRequestSize;
-
- case FreeRDP_LargePointerFlag:
- return settings->LargePointerFlag;
-
- case FreeRDP_CompDeskSupportLevel:
- return settings->CompDeskSupportLevel;
-
- case FreeRDP_RemoteFxCodecId:
- return settings->RemoteFxCodecId;
-
- case FreeRDP_RemoteFxCodecMode:
- return settings->RemoteFxCodecMode;
-
- case FreeRDP_NSCodecId:
- return settings->NSCodecId;
-
- case FreeRDP_FrameAcknowledge:
- return settings->FrameAcknowledge;
-
- case FreeRDP_NSCodecColorLossLevel:
- return settings->NSCodecColorLossLevel;
-
- case FreeRDP_JpegCodecId:
- return settings->JpegCodecId;
-
- case FreeRDP_JpegQuality:
- return settings->JpegQuality;
-
- case FreeRDP_BitmapCacheV3CodecId:
- return settings->BitmapCacheV3CodecId;
-
- case FreeRDP_DrawNineGridCacheSize:
- return settings->DrawNineGridCacheSize;
-
- case FreeRDP_DrawNineGridCacheEntries:
- return settings->DrawNineGridCacheEntries;
-
- case FreeRDP_DeviceCount:
- return settings->DeviceCount;
-
- case FreeRDP_DeviceArraySize:
- return settings->DeviceArraySize;
-
- case FreeRDP_StaticChannelCount:
- return settings->StaticChannelCount;
-
- case FreeRDP_StaticChannelArraySize:
- return settings->StaticChannelArraySize;
-
- case FreeRDP_DynamicChannelCount:
- return settings->DynamicChannelCount;
-
- case FreeRDP_DynamicChannelArraySize:
- return settings->DynamicChannelArraySize;
-
- case FreeRDP_SmartSizingWidth:
- return settings->SmartSizingWidth;
-
- case FreeRDP_SmartSizingHeight:
- return settings->SmartSizingHeight;
-
- case FreeRDP_TlsSecLevel:
- return settings->TlsSecLevel;
-
- default:
- WLog_ERR(TAG, "freerdp_get_param_uint32: unknown id: %d", id);
- return 0;
- }
-}
-
-int freerdp_set_param_uint32(rdpSettings* settings, int id, UINT32 param)
-{
- switch (id)
- {
- case FreeRDP_ShareId:
- settings->ShareId = param;
- break;
-
- case FreeRDP_PduSource:
- settings->PduSource = param;
- break;
-
- case FreeRDP_ServerPort:
- settings->ServerPort = param;
- break;
-
- case FreeRDP_RdpVersion:
- settings->RdpVersion = param;
- break;
-
- case FreeRDP_DesktopWidth:
- settings->DesktopWidth = param;
- break;
-
- case FreeRDP_DesktopHeight:
- settings->DesktopHeight = param;
- break;
-
- case FreeRDP_ColorDepth:
- settings->ColorDepth = param;
- break;
-
- case FreeRDP_ConnectionType:
- settings->ConnectionType = param;
- break;
-
- case FreeRDP_ClientBuild:
- settings->ClientBuild = param;
- break;
-
- case FreeRDP_EarlyCapabilityFlags:
- settings->EarlyCapabilityFlags = param;
- break;
-
- case FreeRDP_EncryptionMethods:
- settings->EncryptionMethods = param;
- break;
-
- case FreeRDP_ExtEncryptionMethods:
- settings->ExtEncryptionMethods = param;
- break;
-
- case FreeRDP_EncryptionLevel:
- settings->EncryptionLevel = param;
- break;
-
- case FreeRDP_ServerRandomLength:
- settings->ServerRandomLength = param;
- break;
-
- case FreeRDP_ClientRandomLength:
- settings->ClientRandomLength = param;
- break;
-
- case FreeRDP_ChannelCount:
- settings->ChannelCount = param;
- break;
-
- case FreeRDP_ChannelDefArraySize:
- settings->ChannelDefArraySize = param;
- break;
-
- case FreeRDP_ClusterInfoFlags:
- settings->ClusterInfoFlags = param;
- break;
-
- case FreeRDP_RedirectedSessionId:
- settings->RedirectedSessionId = param;
- break;
-
- case FreeRDP_MonitorDefArraySize:
- settings->MonitorDefArraySize = param;
- break;
-
- case FreeRDP_DesktopPosX:
- settings->DesktopPosX = param;
- break;
-
- case FreeRDP_DesktopPosY:
- settings->DesktopPosY = param;
- break;
-
- case FreeRDP_MultitransportFlags:
- settings->MultitransportFlags = param;
- break;
-
- case FreeRDP_CompressionLevel:
- settings->CompressionLevel = param;
- break;
-
- case FreeRDP_AutoReconnectMaxRetries:
- settings->AutoReconnectMaxRetries = param;
- break;
-
- case FreeRDP_PerformanceFlags:
- settings->PerformanceFlags = param;
- break;
-
- case FreeRDP_RequestedProtocols:
- settings->RequestedProtocols = param;
- break;
-
- case FreeRDP_SelectedProtocol:
- settings->SelectedProtocol = param;
- break;
-
- case FreeRDP_NegotiationFlags:
- settings->NegotiationFlags = param;
- break;
-
- case FreeRDP_CookieMaxLength:
- settings->CookieMaxLength = param;
- break;
-
- case FreeRDP_PreconnectionId:
- settings->PreconnectionId = param;
- break;
-
- case FreeRDP_RedirectionFlags:
- settings->RedirectionFlags = param;
- break;
-
- case FreeRDP_LoadBalanceInfoLength:
- settings->LoadBalanceInfoLength = param;
- break;
-
- case FreeRDP_RedirectionPasswordLength:
- settings->RedirectionPasswordLength = param;
- break;
-
- case FreeRDP_RedirectionTsvUrlLength:
- settings->RedirectionTsvUrlLength = param;
- break;
-
- case FreeRDP_TargetNetAddressCount:
- settings->TargetNetAddressCount = param;
- break;
-
- case FreeRDP_PercentScreen:
- settings->PercentScreen = param;
- break;
-
- case FreeRDP_PercentScreenUseWidth:
- settings->PercentScreenUseWidth = param;
- break;
-
- case FreeRDP_PercentScreenUseHeight:
- settings->PercentScreenUseHeight = param;
- break;
-
- case FreeRDP_GatewayUsageMethod:
- settings->GatewayUsageMethod = param;
- break;
-
- case FreeRDP_GatewayPort:
- settings->GatewayPort = param;
- break;
-
- case FreeRDP_GatewayCredentialsSource:
- settings->GatewayCredentialsSource = param;
- break;
-
- case FreeRDP_ProxyType:
- settings->ProxyType = param;
- break;
-
- case FreeRDP_ProxyPort:
- settings->ProxyPort = param;
- break;
-
- case FreeRDP_RemoteAppNumIconCaches:
- settings->RemoteAppNumIconCaches = param;
- break;
-
- case FreeRDP_RemoteAppNumIconCacheEntries:
- settings->RemoteAppNumIconCacheEntries = param;
- break;
-
- case FreeRDP_ReceivedCapabilitiesSize:
- settings->ReceivedCapabilitiesSize = param;
- break;
-
- case FreeRDP_OsMajorType:
- settings->OsMajorType = param;
- break;
-
- case FreeRDP_OsMinorType:
- settings->OsMinorType = param;
- break;
-
- case FreeRDP_BitmapCacheVersion:
- settings->BitmapCacheVersion = param;
- break;
-
- case FreeRDP_BitmapCacheV2NumCells:
- settings->BitmapCacheV2NumCells = param;
- break;
-
- case FreeRDP_PointerCacheSize:
- settings->PointerCacheSize = param;
- break;
-
- case FreeRDP_KeyboardLayout:
- settings->KeyboardLayout = param;
- break;
-
- case FreeRDP_KeyboardType:
- settings->KeyboardType = param;
- break;
-
- case FreeRDP_KeyboardSubType:
- settings->KeyboardSubType = param;
- break;
-
- case FreeRDP_KeyboardFunctionKey:
- settings->KeyboardFunctionKey = param;
- break;
-
- case FreeRDP_KeyboardHook:
- settings->KeyboardHook = param;
- break;
-
- case FreeRDP_BrushSupportLevel:
- settings->BrushSupportLevel = param;
- break;
-
- case FreeRDP_GlyphSupportLevel:
- settings->GlyphSupportLevel = param;
- break;
-
- case FreeRDP_OffscreenSupportLevel:
- settings->OffscreenSupportLevel = param;
- break;
-
- case FreeRDP_OffscreenCacheSize:
- settings->OffscreenCacheSize = param;
- break;
-
- case FreeRDP_OffscreenCacheEntries:
- settings->OffscreenCacheEntries = param;
- break;
-
- case FreeRDP_VirtualChannelCompressionFlags:
- settings->VirtualChannelCompressionFlags = param;
- break;
-
- case FreeRDP_VirtualChannelChunkSize:
- settings->VirtualChannelChunkSize = param;
- break;
-
- case FreeRDP_MultifragMaxRequestSize:
- settings->MultifragMaxRequestSize = param;
- break;
-
- case FreeRDP_LargePointerFlag:
- settings->LargePointerFlag = param;
- break;
-
- case FreeRDP_CompDeskSupportLevel:
- settings->CompDeskSupportLevel = param;
- break;
-
- case FreeRDP_RemoteFxCodecId:
- settings->RemoteFxCodecId = param;
- break;
-
- case FreeRDP_RemoteFxCodecMode:
- settings->RemoteFxCodecMode = param;
- break;
-
- case FreeRDP_NSCodecId:
- settings->NSCodecId = param;
- break;
-
- case FreeRDP_FrameAcknowledge:
- settings->FrameAcknowledge = param;
- break;
-
- case FreeRDP_NSCodecColorLossLevel:
- settings->NSCodecColorLossLevel = param;
- break;
-
- case FreeRDP_JpegCodecId:
- settings->JpegCodecId = param;
- break;
-
- case FreeRDP_JpegQuality:
- settings->JpegQuality = param;
- break;
-
- case FreeRDP_BitmapCacheV3CodecId:
- settings->BitmapCacheV3CodecId = param;
- break;
-
- case FreeRDP_DrawNineGridCacheSize:
- settings->DrawNineGridCacheSize = param;
- break;
-
- case FreeRDP_DrawNineGridCacheEntries:
- settings->DrawNineGridCacheEntries = param;
- break;
-
- case FreeRDP_DeviceCount:
- settings->DeviceCount = param;
- break;
-
- case FreeRDP_DeviceArraySize:
- settings->DeviceArraySize = param;
- break;
-
- case FreeRDP_StaticChannelCount:
- settings->StaticChannelCount = param;
- break;
-
- case FreeRDP_StaticChannelArraySize:
- settings->StaticChannelArraySize = param;
- break;
-
- case FreeRDP_DynamicChannelCount:
- settings->DynamicChannelCount = param;
- break;
-
- case FreeRDP_DynamicChannelArraySize:
- settings->DynamicChannelArraySize = param;
- break;
-
- case FreeRDP_TlsSecLevel:
- settings->TlsSecLevel = param;
- break;
-
- default:
- WLog_ERR(TAG, "freerdp_set_param_uint32: unknown id %d (param = %"PRIu32")", id, param);
- return -1;
- }
-
- /* Mark field as modified */
- settings->SettingsModified[id] = 1;
- return 0;
-}
-
-UINT64 freerdp_get_param_uint64(rdpSettings* settings, int id)
-{
- switch (id)
- {
- case FreeRDP_ParentWindowId:
- return settings->ParentWindowId;
-
- default:
- WLog_ERR(TAG, "freerdp_get_param_uint64: unknown id: %d", id);
- return -1;
- }
-}
-
-int freerdp_set_param_uint64(rdpSettings* settings, int id, UINT64 param)
-{
- switch (id)
- {
- case FreeRDP_ParentWindowId:
- settings->ParentWindowId = param;
- break;
-
- default:
- WLog_ERR(TAG, "freerdp_set_param_uint64: unknown id %d (param = %"PRIu64")", id, param);
- return -1;
- }
-
- /* Mark field as modified */
- settings->SettingsModified[id] = 1;
- return 0;
-}
-
-char* freerdp_get_param_string(rdpSettings* settings, int id)
-{
- switch (id)
- {
- case FreeRDP_ServerHostname:
- return settings->ServerHostname;
-
- case FreeRDP_Username:
- return settings->Username;
-
- case FreeRDP_Password:
- return settings->Password;
-
- case FreeRDP_Domain:
- return settings->Domain;
-
- case FreeRDP_PasswordHash:
- return settings->PasswordHash;
-
- case FreeRDP_ClientHostname:
- return settings->ClientHostname;
-
- case FreeRDP_ClientProductId:
- return settings->ClientProductId;
-
- case FreeRDP_AlternateShell:
- return settings->AlternateShell;
-
- case FreeRDP_ShellWorkingDirectory:
- return settings->ShellWorkingDirectory;
-
- case FreeRDP_ClientAddress:
- return settings->ClientAddress;
-
- case FreeRDP_ClientDir:
- return settings->ClientDir;
-
- case FreeRDP_DynamicDSTTimeZoneKeyName:
- return settings->DynamicDSTTimeZoneKeyName;
-
- case FreeRDP_RemoteAssistanceSessionId:
- return settings->RemoteAssistanceSessionId;
-
- case FreeRDP_RemoteAssistancePassStub:
- return settings->RemoteAssistancePassStub;
-
- case FreeRDP_RemoteAssistancePassword:
- return settings->RemoteAssistancePassword;
-
- case FreeRDP_RemoteAssistanceRCTicket:
- return settings->RemoteAssistanceRCTicket;
-
- case FreeRDP_AuthenticationServiceClass:
- return settings->AuthenticationServiceClass;
-
- case FreeRDP_AllowedTlsCiphers:
- return settings->AllowedTlsCiphers;
-
- case FreeRDP_NtlmSamFile:
- return settings->NtlmSamFile;
-
- case FreeRDP_PreconnectionBlob:
- return settings->PreconnectionBlob;
-
- case FreeRDP_KerberosKdc:
- return settings->KerberosKdc;
-
- case FreeRDP_KerberosRealm:
- return settings->KerberosRealm;
-
- case FreeRDP_CertificateName:
- return settings->CertificateName;
-
- case FreeRDP_CertificateFile:
- return settings->CertificateFile;
-
- case FreeRDP_PrivateKeyFile:
- return settings->PrivateKeyFile;
-
- case FreeRDP_RdpKeyFile:
- return settings->RdpKeyFile;
-
- case FreeRDP_CertificateContent:
- return settings->CertificateContent;
-
- case FreeRDP_PrivateKeyContent:
- return settings->PrivateKeyContent;
-
- case FreeRDP_RdpKeyContent:
- return settings->RdpKeyContent;
-
- case FreeRDP_WindowTitle:
- return settings->WindowTitle;
-
- case FreeRDP_ComputerName:
- return settings->ComputerName;
-
- case FreeRDP_ConnectionFile:
- return settings->ConnectionFile;
-
- case FreeRDP_AssistanceFile:
- return settings->AssistanceFile;
-
- case FreeRDP_HomePath:
- return settings->HomePath;
-
- case FreeRDP_ConfigPath:
- return settings->ConfigPath;
-
- case FreeRDP_CurrentPath:
- return settings->CurrentPath;
-
- case FreeRDP_DumpRemoteFxFile:
- return settings->DumpRemoteFxFile;
-
- case FreeRDP_PlayRemoteFxFile:
- return settings->PlayRemoteFxFile;
-
- case FreeRDP_GatewayHostname:
- return settings->GatewayHostname;
-
- case FreeRDP_GatewayUsername:
- return settings->GatewayUsername;
-
- case FreeRDP_GatewayPassword:
- return settings->GatewayPassword;
-
- case FreeRDP_GatewayDomain:
- return settings->GatewayDomain;
-
- case FreeRDP_GatewayAccessToken:
- return settings->GatewayAccessToken;
-
- case FreeRDP_ProxyHostname:
- return settings->ProxyHostname;
-
- case FreeRDP_RemoteApplicationName:
- return settings->RemoteApplicationName;
-
- case FreeRDP_RemoteApplicationIcon:
- return settings->RemoteApplicationIcon;
-
- case FreeRDP_RemoteApplicationProgram:
- return settings->RemoteApplicationProgram;
-
- case FreeRDP_RemoteApplicationFile:
- return settings->RemoteApplicationFile;
-
- case FreeRDP_RemoteApplicationGuid:
- return settings->RemoteApplicationGuid;
-
- case FreeRDP_RemoteApplicationCmdLine:
- return settings->RemoteApplicationCmdLine;
-
- case FreeRDP_ImeFileName:
- return settings->ImeFileName;
-
- case FreeRDP_DrivesToRedirect:
- return settings->DrivesToRedirect;
-
- default:
- WLog_ERR(TAG, "freerdp_get_param_string: unknown id: %d", id);
- return NULL;
- }
-}
-
-int freerdp_set_param_string(rdpSettings* settings, int id, const char* param)
-{
- char** tmp = NULL;
-
- if (!param)
- return -1;
-
- switch (id)
- {
- case FreeRDP_ServerHostname:
- tmp = &settings->ServerHostname;
- break;
-
- case FreeRDP_Username:
- tmp = &settings->Username;
- break;
-
- case FreeRDP_Password:
- tmp = &settings->Password;
- break;
-
- case FreeRDP_Domain:
- tmp = &settings->Domain;
- break;
-
- case FreeRDP_PasswordHash:
- tmp = &settings->PasswordHash;
- break;
-
- case FreeRDP_ClientHostname:
- tmp = &settings->ClientHostname;
- break;
-
- case FreeRDP_ClientProductId:
- tmp = &settings->ClientProductId;
- break;
-
- case FreeRDP_AlternateShell:
- tmp = &settings->AlternateShell;
- break;
-
- case FreeRDP_ShellWorkingDirectory:
- tmp = &settings->ShellWorkingDirectory;
- break;
-
- case FreeRDP_ClientAddress:
- tmp = &settings->ClientAddress;
- break;
-
- case FreeRDP_ClientDir:
- tmp = &settings->ClientDir;
- break;
-
- case FreeRDP_DynamicDSTTimeZoneKeyName:
- tmp = &settings->DynamicDSTTimeZoneKeyName;
- break;
-
- case FreeRDP_RemoteAssistanceSessionId:
- tmp = &settings->RemoteAssistanceSessionId;
- break;
-
- case FreeRDP_RemoteAssistancePassStub:
- tmp = &settings->RemoteAssistancePassStub;
- break;
-
- case FreeRDP_RemoteAssistancePassword:
- tmp = &settings->RemoteAssistancePassword;
- break;
-
- case FreeRDP_RemoteAssistanceRCTicket:
- tmp = &settings->RemoteAssistanceRCTicket;
- break;
-
- case FreeRDP_AuthenticationServiceClass:
- tmp = &settings->AuthenticationServiceClass;
- break;
-
- case FreeRDP_AllowedTlsCiphers:
- tmp = &settings->AllowedTlsCiphers;
- break;
-
- case FreeRDP_NtlmSamFile:
- tmp = &settings->NtlmSamFile;
- break;
-
- case FreeRDP_PreconnectionBlob:
- tmp = &settings->PreconnectionBlob;
- break;
-
- case FreeRDP_KerberosKdc:
- tmp = &settings->KerberosKdc;
- break;
-
- case FreeRDP_KerberosRealm:
- tmp = &settings->KerberosRealm;
- break;
-
- case FreeRDP_CertificateName:
- tmp = &settings->CertificateName;
- break;
-
- case FreeRDP_CertificateFile:
- tmp = &settings->CertificateFile;
- break;
-
- case FreeRDP_PrivateKeyFile:
- tmp = &settings->PrivateKeyFile;
- break;
-
- case FreeRDP_CertificateContent:
- tmp = &settings->CertificateContent;
- break;
-
- case FreeRDP_PrivateKeyContent:
- tmp = &settings->PrivateKeyContent;
- break;
-
- case FreeRDP_RdpKeyContent:
- tmp = &settings->RdpKeyContent;
- break;
-
- case FreeRDP_RdpKeyFile:
- tmp = &settings->RdpKeyFile;
- break;
-
- case FreeRDP_WindowTitle:
- tmp = &settings->WindowTitle;
- break;
-
- case FreeRDP_ComputerName:
- tmp = &settings->ComputerName;
- break;
-
- case FreeRDP_ConnectionFile:
- tmp = &settings->ConnectionFile;
- break;
-
- case FreeRDP_AssistanceFile:
- tmp = &settings->AssistanceFile;
- break;
-
- case FreeRDP_HomePath:
- tmp = &settings->HomePath;
- break;
-
- case FreeRDP_ConfigPath:
- tmp = &settings->ConfigPath;
- break;
-
- case FreeRDP_CurrentPath:
- tmp = &settings->CurrentPath;
- break;
-
- case FreeRDP_DumpRemoteFxFile:
- tmp = &settings->DumpRemoteFxFile;
- break;
-
- case FreeRDP_PlayRemoteFxFile:
- tmp = &settings->PlayRemoteFxFile;
- break;
-
- case FreeRDP_GatewayHostname:
- tmp = &settings->GatewayHostname;
- break;
-
- case FreeRDP_GatewayUsername:
- tmp = &settings->GatewayUsername;
- break;
-
- case FreeRDP_GatewayPassword:
- tmp = &settings->GatewayPassword;
- break;
-
- case FreeRDP_GatewayDomain:
- tmp = &settings->GatewayDomain;
- break;
-
- case FreeRDP_GatewayAccessToken:
- tmp = &settings->GatewayAccessToken;
- break;
-
- case FreeRDP_ProxyHostname:
- tmp = &settings->ProxyHostname;
- break;
-
- case FreeRDP_RemoteApplicationName:
- tmp = &settings->RemoteApplicationName;
- break;
-
- case FreeRDP_RemoteApplicationIcon:
- tmp = &settings->RemoteApplicationIcon;
- break;
-
- case FreeRDP_RemoteApplicationProgram:
- tmp = &settings->RemoteApplicationProgram;
- break;
-
- case FreeRDP_RemoteApplicationFile:
- tmp = &settings->RemoteApplicationFile;
- break;
-
- case FreeRDP_RemoteApplicationGuid:
- tmp = &settings->RemoteApplicationGuid;
- break;
-
- case FreeRDP_RemoteApplicationCmdLine:
- tmp = &settings->RemoteApplicationCmdLine;
- break;
-
- case FreeRDP_ImeFileName:
- tmp = &settings->ImeFileName;
- break;
-
- case FreeRDP_DrivesToRedirect:
- tmp = &settings->DrivesToRedirect;
- break;
-
- default:
- WLog_ERR(TAG, "unknown id %d (param = %s)", id, param);
- return -1;
- }
-
- free(*tmp);
-
- if (!(*tmp = _strdup(param)))
- return -1;
-
- /* Mark field as modified */
- settings->SettingsModified[id] = 1;
- return 0;
-}
--- /dev/null
+/* Generated by */
+
+#include <freerdp/settings.h>
+#include <freerdp/log.h>
+
+#define TAG FREERDP_TAG("common.settings")
+
+BOOL freerdp_get_param_bool(rdpSettings* settings, size_t id)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_ServerMode:
+ return settings->ServerMode;
+
+ case FreeRDP_WaitForOutputBufferFlush:
+ return settings->WaitForOutputBufferFlush;
+
+ case FreeRDP_NetworkAutoDetect:
+ return settings->NetworkAutoDetect;
+
+ case FreeRDP_SupportAsymetricKeys:
+ return settings->SupportAsymetricKeys;
+
+ case FreeRDP_SupportErrorInfoPdu:
+ return settings->SupportErrorInfoPdu;
+
+ case FreeRDP_SupportStatusInfoPdu:
+ return settings->SupportStatusInfoPdu;
+
+ case FreeRDP_SupportMonitorLayoutPdu:
+ return settings->SupportMonitorLayoutPdu;
+
+ case FreeRDP_SupportGraphicsPipeline:
+ return settings->SupportGraphicsPipeline;
+
+ case FreeRDP_SupportDynamicTimeZone:
+ return settings->SupportDynamicTimeZone;
+
+ case FreeRDP_SupportHeartbeatPdu:
+ return settings->SupportHeartbeatPdu;
+
+ case FreeRDP_UseRdpSecurityLayer:
+ return settings->UseRdpSecurityLayer;
+
+ case FreeRDP_ConsoleSession:
+ return settings->ConsoleSession;
+
+ case FreeRDP_SpanMonitors:
+ return settings->SpanMonitors;
+
+ case FreeRDP_UseMultimon:
+ return settings->UseMultimon;
+
+ case FreeRDP_ForceMultimon:
+ return settings->ForceMultimon;
+
+ case FreeRDP_ListMonitors:
+ return settings->ListMonitors;
+
+ case FreeRDP_HasMonitorAttributes:
+ return settings->HasMonitorAttributes;
+
+ case FreeRDP_SupportMultitransport:
+ return settings->SupportMultitransport;
+
+ case FreeRDP_AutoLogonEnabled:
+ return settings->AutoLogonEnabled;
+
+ case FreeRDP_CompressionEnabled:
+ return settings->CompressionEnabled;
+
+ case FreeRDP_DisableCtrlAltDel:
+ return settings->DisableCtrlAltDel;
+
+ case FreeRDP_EnableWindowsKey:
+ return settings->EnableWindowsKey;
+
+ case FreeRDP_MaximizeShell:
+ return settings->MaximizeShell;
+
+ case FreeRDP_LogonNotify:
+ return settings->LogonNotify;
+
+ case FreeRDP_LogonErrors:
+ return settings->LogonErrors;
+
+ case FreeRDP_MouseAttached:
+ return settings->MouseAttached;
+
+ case FreeRDP_MouseHasWheel:
+ return settings->MouseHasWheel;
+
+ case FreeRDP_RemoteConsoleAudio:
+ return settings->RemoteConsoleAudio;
+
+ case FreeRDP_AudioPlayback:
+ return settings->AudioPlayback;
+
+ case FreeRDP_AudioCapture:
+ return settings->AudioCapture;
+
+ case FreeRDP_VideoDisable:
+ return settings->VideoDisable;
+
+ case FreeRDP_PasswordIsSmartcardPin:
+ return settings->PasswordIsSmartcardPin;
+
+ case FreeRDP_UsingSavedCredentials:
+ return settings->UsingSavedCredentials;
+
+ case FreeRDP_ForceEncryptedCsPdu:
+ return settings->ForceEncryptedCsPdu;
+
+ case FreeRDP_HiDefRemoteApp:
+ return settings->HiDefRemoteApp;
+
+ case FreeRDP_IPv6Enabled:
+ return settings->IPv6Enabled;
+
+ case FreeRDP_AutoReconnectionEnabled:
+ return settings->AutoReconnectionEnabled;
+
+ case FreeRDP_PrintReconnectCookie:
+ return settings->PrintReconnectCookie;
+
+ case FreeRDP_DynamicDaylightTimeDisabled:
+ return settings->DynamicDaylightTimeDisabled;
+
+ case FreeRDP_AllowFontSmoothing:
+ return settings->AllowFontSmoothing;
+
+ case FreeRDP_DisableWallpaper:
+ return settings->DisableWallpaper;
+
+ case FreeRDP_DisableFullWindowDrag:
+ return settings->DisableFullWindowDrag;
+
+ case FreeRDP_DisableMenuAnims:
+ return settings->DisableMenuAnims;
+
+ case FreeRDP_DisableThemes:
+ return settings->DisableThemes;
+
+ case FreeRDP_DisableCursorShadow:
+ return settings->DisableCursorShadow;
+
+ case FreeRDP_DisableCursorBlinking:
+ return settings->DisableCursorBlinking;
+
+ case FreeRDP_AllowDesktopComposition:
+ return settings->AllowDesktopComposition;
+
+ case FreeRDP_RemoteAssistanceMode:
+ return settings->RemoteAssistanceMode;
+
+ case FreeRDP_EncomspVirtualChannel:
+ return settings->EncomspVirtualChannel;
+
+ case FreeRDP_RemdeskVirtualChannel:
+ return settings->RemdeskVirtualChannel;
+
+ case FreeRDP_LyncRdpMode:
+ return settings->LyncRdpMode;
+
+ case FreeRDP_TlsSecurity:
+ return settings->TlsSecurity;
+
+ case FreeRDP_NlaSecurity:
+ return settings->NlaSecurity;
+
+ case FreeRDP_RdpSecurity:
+ return settings->RdpSecurity;
+
+ case FreeRDP_ExtSecurity:
+ return settings->ExtSecurity;
+
+ case FreeRDP_Authentication:
+ return settings->Authentication;
+
+ case FreeRDP_NegotiateSecurityLayer:
+ return settings->NegotiateSecurityLayer;
+
+ case FreeRDP_RestrictedAdminModeRequired:
+ return settings->RestrictedAdminModeRequired;
+
+ case FreeRDP_DisableCredentialsDelegation:
+ return settings->DisableCredentialsDelegation;
+
+ case FreeRDP_VmConnectMode:
+ return settings->VmConnectMode;
+
+ case FreeRDP_FIPSMode:
+ return settings->FIPSMode;
+
+ case FreeRDP_MstscCookieMode:
+ return settings->MstscCookieMode;
+
+ case FreeRDP_SendPreconnectionPdu:
+ return settings->SendPreconnectionPdu;
+
+ case FreeRDP_SmartcardLogon:
+ return settings->SmartcardLogon;
+
+ case FreeRDP_IgnoreCertificate:
+ return settings->IgnoreCertificate;
+
+ case FreeRDP_ExternalCertificateManagement:
+ return settings->ExternalCertificateManagement;
+
+ case FreeRDP_AutoAcceptCertificate:
+ return settings->AutoAcceptCertificate;
+
+ case FreeRDP_AutoDenyCertificate:
+ return settings->AutoDenyCertificate;
+
+ case FreeRDP_Workarea:
+ return settings->Workarea;
+
+ case FreeRDP_Fullscreen:
+ return settings->Fullscreen;
+
+ case FreeRDP_GrabKeyboard:
+ return settings->GrabKeyboard;
+
+ case FreeRDP_Decorations:
+ return settings->Decorations;
+
+ case FreeRDP_MouseMotion:
+ return settings->MouseMotion;
+
+ case FreeRDP_AsyncInput:
+ return settings->AsyncInput;
+
+ case FreeRDP_AsyncUpdate:
+ return settings->AsyncUpdate;
+
+ case FreeRDP_AsyncChannels:
+ return settings->AsyncChannels;
+
+ case FreeRDP_ToggleFullscreen:
+ return settings->ToggleFullscreen;
+
+ case FreeRDP_EmbeddedWindow:
+ return settings->EmbeddedWindow;
+
+ case FreeRDP_SmartSizing:
+ return settings->SmartSizing;
+
+ case FreeRDP_PercentScreenUseWidth:
+ return settings->PercentScreenUseWidth;
+
+ case FreeRDP_PercentScreenUseHeight:
+ return settings->PercentScreenUseHeight;
+
+ case FreeRDP_DynamicResolutionUpdate:
+ return settings->DynamicResolutionUpdate;
+
+ case FreeRDP_SoftwareGdi:
+ return settings->SoftwareGdi;
+
+ case FreeRDP_LocalConnection:
+ return settings->LocalConnection;
+
+ case FreeRDP_AuthenticationOnly:
+ return settings->AuthenticationOnly;
+
+ case FreeRDP_CredentialsFromStdin:
+ return settings->CredentialsFromStdin;
+
+ case FreeRDP_UnmapButtons:
+ return settings->UnmapButtons;
+
+ case FreeRDP_OldLicenseBehaviour:
+ return settings->OldLicenseBehaviour;
+
+ case FreeRDP_DumpRemoteFx:
+ return settings->DumpRemoteFx;
+
+ case FreeRDP_PlayRemoteFx:
+ return settings->PlayRemoteFx;
+
+ case FreeRDP_GatewayUseSameCredentials:
+ return settings->GatewayUseSameCredentials;
+
+ case FreeRDP_GatewayEnabled:
+ return settings->GatewayEnabled;
+
+ case FreeRDP_GatewayBypassLocal:
+ return settings->GatewayBypassLocal;
+
+ case FreeRDP_GatewayRpcTransport:
+ return settings->GatewayRpcTransport;
+
+ case FreeRDP_GatewayHttpTransport:
+ return settings->GatewayHttpTransport;
+
+ case FreeRDP_GatewayUdpTransport:
+ return settings->GatewayUdpTransport;
+
+ case FreeRDP_RemoteApplicationMode:
+ return settings->RemoteApplicationMode;
+
+ case FreeRDP_DisableRemoteAppCapsCheck:
+ return settings->DisableRemoteAppCapsCheck;
+
+ case FreeRDP_RemoteAppLanguageBarSupported:
+ return settings->RemoteAppLanguageBarSupported;
+
+ case FreeRDP_RefreshRect:
+ return settings->RefreshRect;
+
+ case FreeRDP_SuppressOutput:
+ return settings->SuppressOutput;
+
+ case FreeRDP_FastPathOutput:
+ return settings->FastPathOutput;
+
+ case FreeRDP_SaltedChecksum:
+ return settings->SaltedChecksum;
+
+ case FreeRDP_LongCredentialsSupported:
+ return settings->LongCredentialsSupported;
+
+ case FreeRDP_NoBitmapCompressionHeader:
+ return settings->NoBitmapCompressionHeader;
+
+ case FreeRDP_BitmapCompressionDisabled:
+ return settings->BitmapCompressionDisabled;
+
+ case FreeRDP_DesktopResize:
+ return settings->DesktopResize;
+
+ case FreeRDP_DrawAllowDynamicColorFidelity:
+ return settings->DrawAllowDynamicColorFidelity;
+
+ case FreeRDP_DrawAllowColorSubsampling:
+ return settings->DrawAllowColorSubsampling;
+
+ case FreeRDP_DrawAllowSkipAlpha:
+ return settings->DrawAllowSkipAlpha;
+
+ case FreeRDP_BitmapCacheV3Enabled:
+ return settings->BitmapCacheV3Enabled;
+
+ case FreeRDP_AltSecFrameMarkerSupport:
+ return settings->AltSecFrameMarkerSupport;
+
+ case FreeRDP_AllowUnanouncedOrdersFromServer:
+ return settings->AllowUnanouncedOrdersFromServer;
+
+ case FreeRDP_BitmapCacheEnabled:
+ return settings->BitmapCacheEnabled;
+
+ case FreeRDP_AllowCacheWaitingList:
+ return settings->AllowCacheWaitingList;
+
+ case FreeRDP_BitmapCachePersistEnabled:
+ return settings->BitmapCachePersistEnabled;
+
+ case FreeRDP_ColorPointerFlag:
+ return settings->ColorPointerFlag;
+
+ case FreeRDP_UnicodeInput:
+ return settings->UnicodeInput;
+
+ case FreeRDP_FastPathInput:
+ return settings->FastPathInput;
+
+ case FreeRDP_MultiTouchInput:
+ return settings->MultiTouchInput;
+
+ case FreeRDP_MultiTouchGestures:
+ return settings->MultiTouchGestures;
+
+ case FreeRDP_HasHorizontalWheel:
+ return settings->HasHorizontalWheel;
+
+ case FreeRDP_HasExtendedMouseEvent:
+ return settings->HasExtendedMouseEvent;
+
+ case FreeRDP_SoundBeepsEnabled:
+ return settings->SoundBeepsEnabled;
+
+ case FreeRDP_SurfaceCommandsEnabled:
+ return settings->SurfaceCommandsEnabled;
+
+ case FreeRDP_FrameMarkerCommandEnabled:
+ return settings->FrameMarkerCommandEnabled;
+
+ case FreeRDP_SurfaceFrameMarkerEnabled:
+ return settings->SurfaceFrameMarkerEnabled;
+
+ case FreeRDP_RemoteFxOnly:
+ return settings->RemoteFxOnly;
+
+ case FreeRDP_RemoteFxCodec:
+ return settings->RemoteFxCodec;
+
+ case FreeRDP_RemoteFxImageCodec:
+ return settings->RemoteFxImageCodec;
+
+ case FreeRDP_NSCodec:
+ return settings->NSCodec;
+
+ case FreeRDP_NSCodecAllowSubsampling:
+ return settings->NSCodecAllowSubsampling;
+
+ case FreeRDP_NSCodecAllowDynamicColorFidelity:
+ return settings->NSCodecAllowDynamicColorFidelity;
+
+ case FreeRDP_JpegCodec:
+ return settings->JpegCodec;
+
+ case FreeRDP_GfxThinClient:
+ return settings->GfxThinClient;
+
+ case FreeRDP_GfxSmallCache:
+ return settings->GfxSmallCache;
+
+ case FreeRDP_GfxProgressive:
+ return settings->GfxProgressive;
+
+ case FreeRDP_GfxProgressiveV2:
+ return settings->GfxProgressiveV2;
+
+ case FreeRDP_GfxH264:
+ return settings->GfxH264;
+
+ case FreeRDP_GfxAVC444:
+ return settings->GfxAVC444;
+
+ case FreeRDP_GfxSendQoeAck:
+ return settings->GfxSendQoeAck;
+
+ case FreeRDP_GfxAVC444v2:
+ return settings->GfxAVC444v2;
+
+ case FreeRDP_DrawNineGridEnabled:
+ return settings->DrawNineGridEnabled;
+
+ case FreeRDP_DrawGdiPlusEnabled:
+ return settings->DrawGdiPlusEnabled;
+
+ case FreeRDP_DrawGdiPlusCacheEnabled:
+ return settings->DrawGdiPlusCacheEnabled;
+
+ case FreeRDP_DeviceRedirection:
+ return settings->DeviceRedirection;
+
+ case FreeRDP_RedirectDrives:
+ return settings->RedirectDrives;
+
+ case FreeRDP_RedirectHomeDrive:
+ return settings->RedirectHomeDrive;
+
+ case FreeRDP_RedirectSmartCards:
+ return settings->RedirectSmartCards;
+
+ case FreeRDP_RedirectPrinters:
+ return settings->RedirectPrinters;
+
+ case FreeRDP_RedirectSerialPorts:
+ return settings->RedirectSerialPorts;
+
+ case FreeRDP_RedirectParallelPorts:
+ return settings->RedirectParallelPorts;
+
+ case FreeRDP_PreferIPv6OverIPv4:
+ return settings->PreferIPv6OverIPv4;
+
+ case FreeRDP_RedirectClipboard:
+ return settings->RedirectClipboard;
+
+ case FreeRDP_SupportDynamicChannels:
+ return settings->SupportDynamicChannels;
+
+ case FreeRDP_SupportEchoChannel:
+ return settings->SupportEchoChannel;
+
+ case FreeRDP_SupportDisplayControl:
+ return settings->SupportDisplayControl;
+
+ case FreeRDP_SupportGeometryTracking:
+ return settings->SupportGeometryTracking;
+
+ case FreeRDP_SupportSSHAgentChannel:
+ return settings->SupportSSHAgentChannel;
+
+ case FreeRDP_SupportVideoOptimized:
+ return settings->SupportVideoOptimized;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+}
+
+BOOL freerdp_set_param_bool(rdpSettings* settings, size_t id, BOOL val)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_ServerMode:
+ settings->ServerMode = val;
+ break;
+
+ case FreeRDP_WaitForOutputBufferFlush:
+ settings->WaitForOutputBufferFlush = val;
+ break;
+
+ case FreeRDP_NetworkAutoDetect:
+ settings->NetworkAutoDetect = val;
+ break;
+
+ case FreeRDP_SupportAsymetricKeys:
+ settings->SupportAsymetricKeys = val;
+ break;
+
+ case FreeRDP_SupportErrorInfoPdu:
+ settings->SupportErrorInfoPdu = val;
+ break;
+
+ case FreeRDP_SupportStatusInfoPdu:
+ settings->SupportStatusInfoPdu = val;
+ break;
+
+ case FreeRDP_SupportMonitorLayoutPdu:
+ settings->SupportMonitorLayoutPdu = val;
+ break;
+
+ case FreeRDP_SupportGraphicsPipeline:
+ settings->SupportGraphicsPipeline = val;
+ break;
+
+ case FreeRDP_SupportDynamicTimeZone:
+ settings->SupportDynamicTimeZone = val;
+ break;
+
+ case FreeRDP_SupportHeartbeatPdu:
+ settings->SupportHeartbeatPdu = val;
+ break;
+
+ case FreeRDP_UseRdpSecurityLayer:
+ settings->UseRdpSecurityLayer = val;
+ break;
+
+ case FreeRDP_ConsoleSession:
+ settings->ConsoleSession = val;
+ break;
+
+ case FreeRDP_SpanMonitors:
+ settings->SpanMonitors = val;
+ break;
+
+ case FreeRDP_UseMultimon:
+ settings->UseMultimon = val;
+ break;
+
+ case FreeRDP_ForceMultimon:
+ settings->ForceMultimon = val;
+ break;
+
+ case FreeRDP_ListMonitors:
+ settings->ListMonitors = val;
+ break;
+
+ case FreeRDP_HasMonitorAttributes:
+ settings->HasMonitorAttributes = val;
+ break;
+
+ case FreeRDP_SupportMultitransport:
+ settings->SupportMultitransport = val;
+ break;
+
+ case FreeRDP_AutoLogonEnabled:
+ settings->AutoLogonEnabled = val;
+ break;
+
+ case FreeRDP_CompressionEnabled:
+ settings->CompressionEnabled = val;
+ break;
+
+ case FreeRDP_DisableCtrlAltDel:
+ settings->DisableCtrlAltDel = val;
+ break;
+
+ case FreeRDP_EnableWindowsKey:
+ settings->EnableWindowsKey = val;
+ break;
+
+ case FreeRDP_MaximizeShell:
+ settings->MaximizeShell = val;
+ break;
+
+ case FreeRDP_LogonNotify:
+ settings->LogonNotify = val;
+ break;
+
+ case FreeRDP_LogonErrors:
+ settings->LogonErrors = val;
+ break;
+
+ case FreeRDP_MouseAttached:
+ settings->MouseAttached = val;
+ break;
+
+ case FreeRDP_MouseHasWheel:
+ settings->MouseHasWheel = val;
+ break;
+
+ case FreeRDP_RemoteConsoleAudio:
+ settings->RemoteConsoleAudio = val;
+ break;
+
+ case FreeRDP_AudioPlayback:
+ settings->AudioPlayback = val;
+ break;
+
+ case FreeRDP_AudioCapture:
+ settings->AudioCapture = val;
+ break;
+
+ case FreeRDP_VideoDisable:
+ settings->VideoDisable = val;
+ break;
+
+ case FreeRDP_PasswordIsSmartcardPin:
+ settings->PasswordIsSmartcardPin = val;
+ break;
+
+ case FreeRDP_UsingSavedCredentials:
+ settings->UsingSavedCredentials = val;
+ break;
+
+ case FreeRDP_ForceEncryptedCsPdu:
+ settings->ForceEncryptedCsPdu = val;
+ break;
+
+ case FreeRDP_HiDefRemoteApp:
+ settings->HiDefRemoteApp = val;
+ break;
+
+ case FreeRDP_IPv6Enabled:
+ settings->IPv6Enabled = val;
+ break;
+
+ case FreeRDP_AutoReconnectionEnabled:
+ settings->AutoReconnectionEnabled = val;
+ break;
+
+ case FreeRDP_PrintReconnectCookie:
+ settings->PrintReconnectCookie = val;
+ break;
+
+ case FreeRDP_DynamicDaylightTimeDisabled:
+ settings->DynamicDaylightTimeDisabled = val;
+ break;
+
+ case FreeRDP_AllowFontSmoothing:
+ settings->AllowFontSmoothing = val;
+ break;
+
+ case FreeRDP_DisableWallpaper:
+ settings->DisableWallpaper = val;
+ break;
+
+ case FreeRDP_DisableFullWindowDrag:
+ settings->DisableFullWindowDrag = val;
+ break;
+
+ case FreeRDP_DisableMenuAnims:
+ settings->DisableMenuAnims = val;
+ break;
+
+ case FreeRDP_DisableThemes:
+ settings->DisableThemes = val;
+ break;
+
+ case FreeRDP_DisableCursorShadow:
+ settings->DisableCursorShadow = val;
+ break;
+
+ case FreeRDP_DisableCursorBlinking:
+ settings->DisableCursorBlinking = val;
+ break;
+
+ case FreeRDP_AllowDesktopComposition:
+ settings->AllowDesktopComposition = val;
+ break;
+
+ case FreeRDP_RemoteAssistanceMode:
+ settings->RemoteAssistanceMode = val;
+ break;
+
+ case FreeRDP_EncomspVirtualChannel:
+ settings->EncomspVirtualChannel = val;
+ break;
+
+ case FreeRDP_RemdeskVirtualChannel:
+ settings->RemdeskVirtualChannel = val;
+ break;
+
+ case FreeRDP_LyncRdpMode:
+ settings->LyncRdpMode = val;
+ break;
+
+ case FreeRDP_TlsSecurity:
+ settings->TlsSecurity = val;
+ break;
+
+ case FreeRDP_NlaSecurity:
+ settings->NlaSecurity = val;
+ break;
+
+ case FreeRDP_RdpSecurity:
+ settings->RdpSecurity = val;
+ break;
+
+ case FreeRDP_ExtSecurity:
+ settings->ExtSecurity = val;
+ break;
+
+ case FreeRDP_Authentication:
+ settings->Authentication = val;
+ break;
+
+ case FreeRDP_NegotiateSecurityLayer:
+ settings->NegotiateSecurityLayer = val;
+ break;
+
+ case FreeRDP_RestrictedAdminModeRequired:
+ settings->RestrictedAdminModeRequired = val;
+ break;
+
+ case FreeRDP_DisableCredentialsDelegation:
+ settings->DisableCredentialsDelegation = val;
+ break;
+
+ case FreeRDP_VmConnectMode:
+ settings->VmConnectMode = val;
+ break;
+
+ case FreeRDP_FIPSMode:
+ settings->FIPSMode = val;
+ break;
+
+ case FreeRDP_MstscCookieMode:
+ settings->MstscCookieMode = val;
+ break;
+
+ case FreeRDP_SendPreconnectionPdu:
+ settings->SendPreconnectionPdu = val;
+ break;
+
+ case FreeRDP_SmartcardLogon:
+ settings->SmartcardLogon = val;
+ break;
+
+ case FreeRDP_IgnoreCertificate:
+ settings->IgnoreCertificate = val;
+ break;
+
+ case FreeRDP_ExternalCertificateManagement:
+ settings->ExternalCertificateManagement = val;
+ break;
+
+ case FreeRDP_AutoAcceptCertificate:
+ settings->AutoAcceptCertificate = val;
+ break;
+
+ case FreeRDP_AutoDenyCertificate:
+ settings->AutoDenyCertificate = val;
+ break;
+
+ case FreeRDP_Workarea:
+ settings->Workarea = val;
+ break;
+
+ case FreeRDP_Fullscreen:
+ settings->Fullscreen = val;
+ break;
+
+ case FreeRDP_GrabKeyboard:
+ settings->GrabKeyboard = val;
+ break;
+
+ case FreeRDP_Decorations:
+ settings->Decorations = val;
+ break;
+
+ case FreeRDP_MouseMotion:
+ settings->MouseMotion = val;
+ break;
+
+ case FreeRDP_AsyncInput:
+ settings->AsyncInput = val;
+ break;
+
+ case FreeRDP_AsyncUpdate:
+ settings->AsyncUpdate = val;
+ break;
+
+ case FreeRDP_AsyncChannels:
+ settings->AsyncChannels = val;
+ break;
+
+ case FreeRDP_ToggleFullscreen:
+ settings->ToggleFullscreen = val;
+ break;
+
+ case FreeRDP_EmbeddedWindow:
+ settings->EmbeddedWindow = val;
+ break;
+
+ case FreeRDP_SmartSizing:
+ settings->SmartSizing = val;
+ break;
+
+ case FreeRDP_PercentScreenUseWidth:
+ settings->PercentScreenUseWidth = val;
+ break;
+
+ case FreeRDP_PercentScreenUseHeight:
+ settings->PercentScreenUseHeight = val;
+ break;
+
+ case FreeRDP_DynamicResolutionUpdate:
+ settings->DynamicResolutionUpdate = val;
+ break;
+
+ case FreeRDP_SoftwareGdi:
+ settings->SoftwareGdi = val;
+ break;
+
+ case FreeRDP_LocalConnection:
+ settings->LocalConnection = val;
+ break;
+
+ case FreeRDP_AuthenticationOnly:
+ settings->AuthenticationOnly = val;
+ break;
+
+ case FreeRDP_CredentialsFromStdin:
+ settings->CredentialsFromStdin = val;
+ break;
+
+ case FreeRDP_UnmapButtons:
+ settings->UnmapButtons = val;
+ break;
+
+ case FreeRDP_OldLicenseBehaviour:
+ settings->OldLicenseBehaviour = val;
+ break;
+
+ case FreeRDP_DumpRemoteFx:
+ settings->DumpRemoteFx = val;
+ break;
+
+ case FreeRDP_PlayRemoteFx:
+ settings->PlayRemoteFx = val;
+ break;
+
+ case FreeRDP_GatewayUseSameCredentials:
+ settings->GatewayUseSameCredentials = val;
+ break;
+
+ case FreeRDP_GatewayEnabled:
+ settings->GatewayEnabled = val;
+ break;
+
+ case FreeRDP_GatewayBypassLocal:
+ settings->GatewayBypassLocal = val;
+ break;
+
+ case FreeRDP_GatewayRpcTransport:
+ settings->GatewayRpcTransport = val;
+ break;
+
+ case FreeRDP_GatewayHttpTransport:
+ settings->GatewayHttpTransport = val;
+ break;
+
+ case FreeRDP_GatewayUdpTransport:
+ settings->GatewayUdpTransport = val;
+ break;
+
+ case FreeRDP_RemoteApplicationMode:
+ settings->RemoteApplicationMode = val;
+ break;
+
+ case FreeRDP_DisableRemoteAppCapsCheck:
+ settings->DisableRemoteAppCapsCheck = val;
+ break;
+
+ case FreeRDP_RemoteAppLanguageBarSupported:
+ settings->RemoteAppLanguageBarSupported = val;
+ break;
+
+ case FreeRDP_RefreshRect:
+ settings->RefreshRect = val;
+ break;
+
+ case FreeRDP_SuppressOutput:
+ settings->SuppressOutput = val;
+ break;
+
+ case FreeRDP_FastPathOutput:
+ settings->FastPathOutput = val;
+ break;
+
+ case FreeRDP_SaltedChecksum:
+ settings->SaltedChecksum = val;
+ break;
+
+ case FreeRDP_LongCredentialsSupported:
+ settings->LongCredentialsSupported = val;
+ break;
+
+ case FreeRDP_NoBitmapCompressionHeader:
+ settings->NoBitmapCompressionHeader = val;
+ break;
+
+ case FreeRDP_BitmapCompressionDisabled:
+ settings->BitmapCompressionDisabled = val;
+ break;
+
+ case FreeRDP_DesktopResize:
+ settings->DesktopResize = val;
+ break;
+
+ case FreeRDP_DrawAllowDynamicColorFidelity:
+ settings->DrawAllowDynamicColorFidelity = val;
+ break;
+
+ case FreeRDP_DrawAllowColorSubsampling:
+ settings->DrawAllowColorSubsampling = val;
+ break;
+
+ case FreeRDP_DrawAllowSkipAlpha:
+ settings->DrawAllowSkipAlpha = val;
+ break;
+
+ case FreeRDP_BitmapCacheV3Enabled:
+ settings->BitmapCacheV3Enabled = val;
+ break;
+
+ case FreeRDP_AltSecFrameMarkerSupport:
+ settings->AltSecFrameMarkerSupport = val;
+ break;
+
+ case FreeRDP_AllowUnanouncedOrdersFromServer:
+ settings->AllowUnanouncedOrdersFromServer = val;
+ break;
+
+ case FreeRDP_BitmapCacheEnabled:
+ settings->BitmapCacheEnabled = val;
+ break;
+
+ case FreeRDP_AllowCacheWaitingList:
+ settings->AllowCacheWaitingList = val;
+ break;
+
+ case FreeRDP_BitmapCachePersistEnabled:
+ settings->BitmapCachePersistEnabled = val;
+ break;
+
+ case FreeRDP_ColorPointerFlag:
+ settings->ColorPointerFlag = val;
+ break;
+
+ case FreeRDP_UnicodeInput:
+ settings->UnicodeInput = val;
+ break;
+
+ case FreeRDP_FastPathInput:
+ settings->FastPathInput = val;
+ break;
+
+ case FreeRDP_MultiTouchInput:
+ settings->MultiTouchInput = val;
+ break;
+
+ case FreeRDP_MultiTouchGestures:
+ settings->MultiTouchGestures = val;
+ break;
+
+ case FreeRDP_HasHorizontalWheel:
+ settings->HasHorizontalWheel = val;
+ break;
+
+ case FreeRDP_HasExtendedMouseEvent:
+ settings->HasExtendedMouseEvent = val;
+ break;
+
+ case FreeRDP_SoundBeepsEnabled:
+ settings->SoundBeepsEnabled = val;
+ break;
+
+ case FreeRDP_SurfaceCommandsEnabled:
+ settings->SurfaceCommandsEnabled = val;
+ break;
+
+ case FreeRDP_FrameMarkerCommandEnabled:
+ settings->FrameMarkerCommandEnabled = val;
+ break;
+
+ case FreeRDP_SurfaceFrameMarkerEnabled:
+ settings->SurfaceFrameMarkerEnabled = val;
+ break;
+
+ case FreeRDP_RemoteFxOnly:
+ settings->RemoteFxOnly = val;
+ break;
+
+ case FreeRDP_RemoteFxCodec:
+ settings->RemoteFxCodec = val;
+ break;
+
+ case FreeRDP_RemoteFxImageCodec:
+ settings->RemoteFxImageCodec = val;
+ break;
+
+ case FreeRDP_NSCodec:
+ settings->NSCodec = val;
+ break;
+
+ case FreeRDP_NSCodecAllowSubsampling:
+ settings->NSCodecAllowSubsampling = val;
+ break;
+
+ case FreeRDP_NSCodecAllowDynamicColorFidelity:
+ settings->NSCodecAllowDynamicColorFidelity = val;
+ break;
+
+ case FreeRDP_JpegCodec:
+ settings->JpegCodec = val;
+ break;
+
+ case FreeRDP_GfxThinClient:
+ settings->GfxThinClient = val;
+ break;
+
+ case FreeRDP_GfxSmallCache:
+ settings->GfxSmallCache = val;
+ break;
+
+ case FreeRDP_GfxProgressive:
+ settings->GfxProgressive = val;
+ break;
+
+ case FreeRDP_GfxProgressiveV2:
+ settings->GfxProgressiveV2 = val;
+ break;
+
+ case FreeRDP_GfxH264:
+ settings->GfxH264 = val;
+ break;
+
+ case FreeRDP_GfxAVC444:
+ settings->GfxAVC444 = val;
+ break;
+
+ case FreeRDP_GfxSendQoeAck:
+ settings->GfxSendQoeAck = val;
+ break;
+
+ case FreeRDP_GfxAVC444v2:
+ settings->GfxAVC444v2 = val;
+ break;
+
+ case FreeRDP_DrawNineGridEnabled:
+ settings->DrawNineGridEnabled = val;
+ break;
+
+ case FreeRDP_DrawGdiPlusEnabled:
+ settings->DrawGdiPlusEnabled = val;
+ break;
+
+ case FreeRDP_DrawGdiPlusCacheEnabled:
+ settings->DrawGdiPlusCacheEnabled = val;
+ break;
+
+ case FreeRDP_DeviceRedirection:
+ settings->DeviceRedirection = val;
+ break;
+
+ case FreeRDP_RedirectDrives:
+ settings->RedirectDrives = val;
+ break;
+
+ case FreeRDP_RedirectHomeDrive:
+ settings->RedirectHomeDrive = val;
+ break;
+
+ case FreeRDP_RedirectSmartCards:
+ settings->RedirectSmartCards = val;
+ break;
+
+ case FreeRDP_RedirectPrinters:
+ settings->RedirectPrinters = val;
+ break;
+
+ case FreeRDP_RedirectSerialPorts:
+ settings->RedirectSerialPorts = val;
+ break;
+
+ case FreeRDP_RedirectParallelPorts:
+ settings->RedirectParallelPorts = val;
+ break;
+
+ case FreeRDP_PreferIPv6OverIPv4:
+ settings->PreferIPv6OverIPv4 = val;
+ break;
+
+ case FreeRDP_RedirectClipboard:
+ settings->RedirectClipboard = val;
+ break;
+
+ case FreeRDP_SupportDynamicChannels:
+ settings->SupportDynamicChannels = val;
+ break;
+
+ case FreeRDP_SupportEchoChannel:
+ settings->SupportEchoChannel = val;
+ break;
+
+ case FreeRDP_SupportDisplayControl:
+ settings->SupportDisplayControl = val;
+ break;
+
+ case FreeRDP_SupportGeometryTracking:
+ settings->SupportGeometryTracking = val;
+ break;
+
+ case FreeRDP_SupportSSHAgentChannel:
+ settings->SupportSSHAgentChannel = val;
+ break;
+
+ case FreeRDP_SupportVideoOptimized:
+ settings->SupportVideoOptimized = val;
+ break;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+UINT16 freerdp_get_param_uint16(rdpSettings* settings, size_t id)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_DesktopOrientation:
+ return settings->DesktopOrientation;
+
+ case FreeRDP_ProxyPort:
+ return settings->ProxyPort;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+}
+
+BOOL freerdp_set_param_uint16(rdpSettings* settings, size_t id, UINT16 val)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_DesktopOrientation:
+ settings->DesktopOrientation = val;
+ break;
+
+ case FreeRDP_ProxyPort:
+ settings->ProxyPort = val;
+ break;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+INT16 freerdp_get_param_int16(rdpSettings* settings, size_t id)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+}
+
+BOOL freerdp_set_param_int16(rdpSettings* settings, size_t id, INT16 val)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+UINT32 freerdp_get_param_uint32(rdpSettings* settings, size_t id)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_ShareId:
+ return settings->ShareId;
+
+ case FreeRDP_PduSource:
+ return settings->PduSource;
+
+ case FreeRDP_ServerPort:
+ return settings->ServerPort;
+
+ case FreeRDP_MaxTimeInCheckLoop:
+ return settings->MaxTimeInCheckLoop;
+
+ case FreeRDP_AcceptedCertLength:
+ return settings->AcceptedCertLength;
+
+ case FreeRDP_RdpVersion:
+ return settings->RdpVersion;
+
+ case FreeRDP_DesktopWidth:
+ return settings->DesktopWidth;
+
+ case FreeRDP_DesktopHeight:
+ return settings->DesktopHeight;
+
+ case FreeRDP_ColorDepth:
+ return settings->ColorDepth;
+
+ case FreeRDP_ConnectionType:
+ return settings->ConnectionType;
+
+ case FreeRDP_ClientBuild:
+ return settings->ClientBuild;
+
+ case FreeRDP_EarlyCapabilityFlags:
+ return settings->EarlyCapabilityFlags;
+
+ case FreeRDP_DesktopPhysicalWidth:
+ return settings->DesktopPhysicalWidth;
+
+ case FreeRDP_DesktopPhysicalHeight:
+ return settings->DesktopPhysicalHeight;
+
+ case FreeRDP_DesktopScaleFactor:
+ return settings->DesktopScaleFactor;
+
+ case FreeRDP_DeviceScaleFactor:
+ return settings->DeviceScaleFactor;
+
+ case FreeRDP_EncryptionMethods:
+ return settings->EncryptionMethods;
+
+ case FreeRDP_ExtEncryptionMethods:
+ return settings->ExtEncryptionMethods;
+
+ case FreeRDP_EncryptionLevel:
+ return settings->EncryptionLevel;
+
+ case FreeRDP_ServerRandomLength:
+ return settings->ServerRandomLength;
+
+ case FreeRDP_ServerCertificateLength:
+ return settings->ServerCertificateLength;
+
+ case FreeRDP_ClientRandomLength:
+ return settings->ClientRandomLength;
+
+ case FreeRDP_ChannelCount:
+ return settings->ChannelCount;
+
+ case FreeRDP_ChannelDefArraySize:
+ return settings->ChannelDefArraySize;
+
+ case FreeRDP_ClusterInfoFlags:
+ return settings->ClusterInfoFlags;
+
+ case FreeRDP_RedirectedSessionId:
+ return settings->RedirectedSessionId;
+
+ case FreeRDP_MonitorCount:
+ return settings->MonitorCount;
+
+ case FreeRDP_MonitorDefArraySize:
+ return settings->MonitorDefArraySize;
+
+ case FreeRDP_DesktopPosX:
+ return settings->DesktopPosX;
+
+ case FreeRDP_DesktopPosY:
+ return settings->DesktopPosY;
+
+ case FreeRDP_NumMonitorIds:
+ return settings->NumMonitorIds;
+
+ case FreeRDP_MonitorLocalShiftX:
+ return settings->MonitorLocalShiftX;
+
+ case FreeRDP_MonitorLocalShiftY:
+ return settings->MonitorLocalShiftY;
+
+ case FreeRDP_MultitransportFlags:
+ return settings->MultitransportFlags;
+
+ case FreeRDP_CompressionLevel:
+ return settings->CompressionLevel;
+
+ case FreeRDP_AutoReconnectMaxRetries:
+ return settings->AutoReconnectMaxRetries;
+
+ case FreeRDP_PerformanceFlags:
+ return settings->PerformanceFlags;
+
+ case FreeRDP_RequestedProtocols:
+ return settings->RequestedProtocols;
+
+ case FreeRDP_SelectedProtocol:
+ return settings->SelectedProtocol;
+
+ case FreeRDP_NegotiationFlags:
+ return settings->NegotiationFlags;
+
+ case FreeRDP_AuthenticationLevel:
+ return settings->AuthenticationLevel;
+
+ case FreeRDP_TlsSecLevel:
+ return settings->TlsSecLevel;
+
+ case FreeRDP_CookieMaxLength:
+ return settings->CookieMaxLength;
+
+ case FreeRDP_PreconnectionId:
+ return settings->PreconnectionId;
+
+ case FreeRDP_RedirectionFlags:
+ return settings->RedirectionFlags;
+
+ case FreeRDP_LoadBalanceInfoLength:
+ return settings->LoadBalanceInfoLength;
+
+ case FreeRDP_RedirectionPasswordLength:
+ return settings->RedirectionPasswordLength;
+
+ case FreeRDP_RedirectionTsvUrlLength:
+ return settings->RedirectionTsvUrlLength;
+
+ case FreeRDP_TargetNetAddressCount:
+ return settings->TargetNetAddressCount;
+
+ case FreeRDP_RedirectionAcceptedCertLength:
+ return settings->RedirectionAcceptedCertLength;
+
+ case FreeRDP_RedirectionPreferType:
+ return settings->RedirectionPreferType;
+
+ case FreeRDP_Password51Length:
+ return settings->Password51Length;
+
+ case FreeRDP_PercentScreen:
+ return settings->PercentScreen;
+
+ case FreeRDP_SmartSizingWidth:
+ return settings->SmartSizingWidth;
+
+ case FreeRDP_SmartSizingHeight:
+ return settings->SmartSizingHeight;
+
+ case FreeRDP_GatewayUsageMethod:
+ return settings->GatewayUsageMethod;
+
+ case FreeRDP_GatewayPort:
+ return settings->GatewayPort;
+
+ case FreeRDP_GatewayCredentialsSource:
+ return settings->GatewayCredentialsSource;
+
+ case FreeRDP_GatewayAcceptedCertLength:
+ return settings->GatewayAcceptedCertLength;
+
+ case FreeRDP_ProxyType:
+ return settings->ProxyType;
+
+ case FreeRDP_RemoteApplicationExpandCmdLine:
+ return settings->RemoteApplicationExpandCmdLine;
+
+ case FreeRDP_RemoteApplicationExpandWorkingDir:
+ return settings->RemoteApplicationExpandWorkingDir;
+
+ case FreeRDP_RemoteAppNumIconCaches:
+ return settings->RemoteAppNumIconCaches;
+
+ case FreeRDP_RemoteAppNumIconCacheEntries:
+ return settings->RemoteAppNumIconCacheEntries;
+
+ case FreeRDP_RemoteWndSupportLevel:
+ return settings->RemoteWndSupportLevel;
+
+ case FreeRDP_ReceivedCapabilitiesSize:
+ return settings->ReceivedCapabilitiesSize;
+
+ case FreeRDP_OsMajorType:
+ return settings->OsMajorType;
+
+ case FreeRDP_OsMinorType:
+ return settings->OsMinorType;
+
+ case FreeRDP_BitmapCacheVersion:
+ return settings->BitmapCacheVersion;
+
+ case FreeRDP_BitmapCacheV2NumCells:
+ return settings->BitmapCacheV2NumCells;
+
+ case FreeRDP_PointerCacheSize:
+ return settings->PointerCacheSize;
+
+ case FreeRDP_KeyboardLayout:
+ return settings->KeyboardLayout;
+
+ case FreeRDP_KeyboardType:
+ return settings->KeyboardType;
+
+ case FreeRDP_KeyboardSubType:
+ return settings->KeyboardSubType;
+
+ case FreeRDP_KeyboardFunctionKey:
+ return settings->KeyboardFunctionKey;
+
+ case FreeRDP_KeyboardHook:
+ return settings->KeyboardHook;
+
+ case FreeRDP_BrushSupportLevel:
+ return settings->BrushSupportLevel;
+
+ case FreeRDP_GlyphSupportLevel:
+ return settings->GlyphSupportLevel;
+
+ case FreeRDP_OffscreenSupportLevel:
+ return settings->OffscreenSupportLevel;
+
+ case FreeRDP_OffscreenCacheSize:
+ return settings->OffscreenCacheSize;
+
+ case FreeRDP_OffscreenCacheEntries:
+ return settings->OffscreenCacheEntries;
+
+ case FreeRDP_VirtualChannelCompressionFlags:
+ return settings->VirtualChannelCompressionFlags;
+
+ case FreeRDP_VirtualChannelChunkSize:
+ return settings->VirtualChannelChunkSize;
+
+ case FreeRDP_MultifragMaxRequestSize:
+ return settings->MultifragMaxRequestSize;
+
+ case FreeRDP_LargePointerFlag:
+ return settings->LargePointerFlag;
+
+ case FreeRDP_CompDeskSupportLevel:
+ return settings->CompDeskSupportLevel;
+
+ case FreeRDP_RemoteFxCodecId:
+ return settings->RemoteFxCodecId;
+
+ case FreeRDP_RemoteFxCodecMode:
+ return settings->RemoteFxCodecMode;
+
+ case FreeRDP_RemoteFxCaptureFlags:
+ return settings->RemoteFxCaptureFlags;
+
+ case FreeRDP_NSCodecId:
+ return settings->NSCodecId;
+
+ case FreeRDP_FrameAcknowledge:
+ return settings->FrameAcknowledge;
+
+ case FreeRDP_NSCodecColorLossLevel:
+ return settings->NSCodecColorLossLevel;
+
+ case FreeRDP_JpegCodecId:
+ return settings->JpegCodecId;
+
+ case FreeRDP_JpegQuality:
+ return settings->JpegQuality;
+
+ case FreeRDP_BitmapCacheV3CodecId:
+ return settings->BitmapCacheV3CodecId;
+
+ case FreeRDP_DrawNineGridCacheSize:
+ return settings->DrawNineGridCacheSize;
+
+ case FreeRDP_DrawNineGridCacheEntries:
+ return settings->DrawNineGridCacheEntries;
+
+ case FreeRDP_DeviceCount:
+ return settings->DeviceCount;
+
+ case FreeRDP_DeviceArraySize:
+ return settings->DeviceArraySize;
+
+ case FreeRDP_StaticChannelCount:
+ return settings->StaticChannelCount;
+
+ case FreeRDP_StaticChannelArraySize:
+ return settings->StaticChannelArraySize;
+
+ case FreeRDP_DynamicChannelCount:
+ return settings->DynamicChannelCount;
+
+ case FreeRDP_DynamicChannelArraySize:
+ return settings->DynamicChannelArraySize;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+}
+
+BOOL freerdp_set_param_uint32(rdpSettings* settings, size_t id, UINT32 val)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_ShareId:
+ settings->ShareId = val;
+ break;
+
+ case FreeRDP_PduSource:
+ settings->PduSource = val;
+ break;
+
+ case FreeRDP_ServerPort:
+ settings->ServerPort = val;
+ break;
+
+ case FreeRDP_MaxTimeInCheckLoop:
+ settings->MaxTimeInCheckLoop = val;
+ break;
+
+ case FreeRDP_AcceptedCertLength:
+ settings->AcceptedCertLength = val;
+ break;
+
+ case FreeRDP_RdpVersion:
+ settings->RdpVersion = val;
+ break;
+
+ case FreeRDP_DesktopWidth:
+ settings->DesktopWidth = val;
+ break;
+
+ case FreeRDP_DesktopHeight:
+ settings->DesktopHeight = val;
+ break;
+
+ case FreeRDP_ColorDepth:
+ settings->ColorDepth = val;
+ break;
+
+ case FreeRDP_ConnectionType:
+ settings->ConnectionType = val;
+ break;
+
+ case FreeRDP_ClientBuild:
+ settings->ClientBuild = val;
+ break;
+
+ case FreeRDP_EarlyCapabilityFlags:
+ settings->EarlyCapabilityFlags = val;
+ break;
+
+ case FreeRDP_DesktopPhysicalWidth:
+ settings->DesktopPhysicalWidth = val;
+ break;
+
+ case FreeRDP_DesktopPhysicalHeight:
+ settings->DesktopPhysicalHeight = val;
+ break;
+
+ case FreeRDP_DesktopScaleFactor:
+ settings->DesktopScaleFactor = val;
+ break;
+
+ case FreeRDP_DeviceScaleFactor:
+ settings->DeviceScaleFactor = val;
+ break;
+
+ case FreeRDP_EncryptionMethods:
+ settings->EncryptionMethods = val;
+ break;
+
+ case FreeRDP_ExtEncryptionMethods:
+ settings->ExtEncryptionMethods = val;
+ break;
+
+ case FreeRDP_EncryptionLevel:
+ settings->EncryptionLevel = val;
+ break;
+
+ case FreeRDP_ServerRandomLength:
+ settings->ServerRandomLength = val;
+ break;
+
+ case FreeRDP_ServerCertificateLength:
+ settings->ServerCertificateLength = val;
+ break;
+
+ case FreeRDP_ClientRandomLength:
+ settings->ClientRandomLength = val;
+ break;
+
+ case FreeRDP_ChannelCount:
+ settings->ChannelCount = val;
+ break;
+
+ case FreeRDP_ChannelDefArraySize:
+ settings->ChannelDefArraySize = val;
+ break;
+
+ case FreeRDP_ClusterInfoFlags:
+ settings->ClusterInfoFlags = val;
+ break;
+
+ case FreeRDP_RedirectedSessionId:
+ settings->RedirectedSessionId = val;
+ break;
+
+ case FreeRDP_MonitorCount:
+ settings->MonitorCount = val;
+ break;
+
+ case FreeRDP_MonitorDefArraySize:
+ settings->MonitorDefArraySize = val;
+ break;
+
+ case FreeRDP_DesktopPosX:
+ settings->DesktopPosX = val;
+ break;
+
+ case FreeRDP_DesktopPosY:
+ settings->DesktopPosY = val;
+ break;
+
+ case FreeRDP_NumMonitorIds:
+ settings->NumMonitorIds = val;
+ break;
+
+ case FreeRDP_MonitorLocalShiftX:
+ settings->MonitorLocalShiftX = val;
+ break;
+
+ case FreeRDP_MonitorLocalShiftY:
+ settings->MonitorLocalShiftY = val;
+ break;
+
+ case FreeRDP_MultitransportFlags:
+ settings->MultitransportFlags = val;
+ break;
+
+ case FreeRDP_CompressionLevel:
+ settings->CompressionLevel = val;
+ break;
+
+ case FreeRDP_AutoReconnectMaxRetries:
+ settings->AutoReconnectMaxRetries = val;
+ break;
+
+ case FreeRDP_PerformanceFlags:
+ settings->PerformanceFlags = val;
+ break;
+
+ case FreeRDP_RequestedProtocols:
+ settings->RequestedProtocols = val;
+ break;
+
+ case FreeRDP_SelectedProtocol:
+ settings->SelectedProtocol = val;
+ break;
+
+ case FreeRDP_NegotiationFlags:
+ settings->NegotiationFlags = val;
+ break;
+
+ case FreeRDP_AuthenticationLevel:
+ settings->AuthenticationLevel = val;
+ break;
+
+ case FreeRDP_TlsSecLevel:
+ settings->TlsSecLevel = val;
+ break;
+
+ case FreeRDP_CookieMaxLength:
+ settings->CookieMaxLength = val;
+ break;
+
+ case FreeRDP_PreconnectionId:
+ settings->PreconnectionId = val;
+ break;
+
+ case FreeRDP_RedirectionFlags:
+ settings->RedirectionFlags = val;
+ break;
+
+ case FreeRDP_LoadBalanceInfoLength:
+ settings->LoadBalanceInfoLength = val;
+ break;
+
+ case FreeRDP_RedirectionPasswordLength:
+ settings->RedirectionPasswordLength = val;
+ break;
+
+ case FreeRDP_RedirectionTsvUrlLength:
+ settings->RedirectionTsvUrlLength = val;
+ break;
+
+ case FreeRDP_TargetNetAddressCount:
+ settings->TargetNetAddressCount = val;
+ break;
+
+ case FreeRDP_RedirectionAcceptedCertLength:
+ settings->RedirectionAcceptedCertLength = val;
+ break;
+
+ case FreeRDP_RedirectionPreferType:
+ settings->RedirectionPreferType = val;
+ break;
+
+ case FreeRDP_Password51Length:
+ settings->Password51Length = val;
+ break;
+
+ case FreeRDP_PercentScreen:
+ settings->PercentScreen = val;
+ break;
+
+ case FreeRDP_SmartSizingWidth:
+ settings->SmartSizingWidth = val;
+ break;
+
+ case FreeRDP_SmartSizingHeight:
+ settings->SmartSizingHeight = val;
+ break;
+
+ case FreeRDP_GatewayUsageMethod:
+ settings->GatewayUsageMethod = val;
+ break;
+
+ case FreeRDP_GatewayPort:
+ settings->GatewayPort = val;
+ break;
+
+ case FreeRDP_GatewayCredentialsSource:
+ settings->GatewayCredentialsSource = val;
+ break;
+
+ case FreeRDP_GatewayAcceptedCertLength:
+ settings->GatewayAcceptedCertLength = val;
+ break;
+
+ case FreeRDP_ProxyType:
+ settings->ProxyType = val;
+ break;
+
+ case FreeRDP_RemoteApplicationExpandCmdLine:
+ settings->RemoteApplicationExpandCmdLine = val;
+ break;
+
+ case FreeRDP_RemoteApplicationExpandWorkingDir:
+ settings->RemoteApplicationExpandWorkingDir = val;
+ break;
+
+ case FreeRDP_RemoteAppNumIconCaches:
+ settings->RemoteAppNumIconCaches = val;
+ break;
+
+ case FreeRDP_RemoteAppNumIconCacheEntries:
+ settings->RemoteAppNumIconCacheEntries = val;
+ break;
+
+ case FreeRDP_RemoteWndSupportLevel:
+ settings->RemoteWndSupportLevel = val;
+ break;
+
+ case FreeRDP_ReceivedCapabilitiesSize:
+ settings->ReceivedCapabilitiesSize = val;
+ break;
+
+ case FreeRDP_OsMajorType:
+ settings->OsMajorType = val;
+ break;
+
+ case FreeRDP_OsMinorType:
+ settings->OsMinorType = val;
+ break;
+
+ case FreeRDP_BitmapCacheVersion:
+ settings->BitmapCacheVersion = val;
+ break;
+
+ case FreeRDP_BitmapCacheV2NumCells:
+ settings->BitmapCacheV2NumCells = val;
+ break;
+
+ case FreeRDP_PointerCacheSize:
+ settings->PointerCacheSize = val;
+ break;
+
+ case FreeRDP_KeyboardLayout:
+ settings->KeyboardLayout = val;
+ break;
+
+ case FreeRDP_KeyboardType:
+ settings->KeyboardType = val;
+ break;
+
+ case FreeRDP_KeyboardSubType:
+ settings->KeyboardSubType = val;
+ break;
+
+ case FreeRDP_KeyboardFunctionKey:
+ settings->KeyboardFunctionKey = val;
+ break;
+
+ case FreeRDP_KeyboardHook:
+ settings->KeyboardHook = val;
+ break;
+
+ case FreeRDP_BrushSupportLevel:
+ settings->BrushSupportLevel = val;
+ break;
+
+ case FreeRDP_GlyphSupportLevel:
+ settings->GlyphSupportLevel = val;
+ break;
+
+ case FreeRDP_OffscreenSupportLevel:
+ settings->OffscreenSupportLevel = val;
+ break;
+
+ case FreeRDP_OffscreenCacheSize:
+ settings->OffscreenCacheSize = val;
+ break;
+
+ case FreeRDP_OffscreenCacheEntries:
+ settings->OffscreenCacheEntries = val;
+ break;
+
+ case FreeRDP_VirtualChannelCompressionFlags:
+ settings->VirtualChannelCompressionFlags = val;
+ break;
+
+ case FreeRDP_VirtualChannelChunkSize:
+ settings->VirtualChannelChunkSize = val;
+ break;
+
+ case FreeRDP_MultifragMaxRequestSize:
+ settings->MultifragMaxRequestSize = val;
+ break;
+
+ case FreeRDP_LargePointerFlag:
+ settings->LargePointerFlag = val;
+ break;
+
+ case FreeRDP_CompDeskSupportLevel:
+ settings->CompDeskSupportLevel = val;
+ break;
+
+ case FreeRDP_RemoteFxCodecId:
+ settings->RemoteFxCodecId = val;
+ break;
+
+ case FreeRDP_RemoteFxCodecMode:
+ settings->RemoteFxCodecMode = val;
+ break;
+
+ case FreeRDP_RemoteFxCaptureFlags:
+ settings->RemoteFxCaptureFlags = val;
+ break;
+
+ case FreeRDP_NSCodecId:
+ settings->NSCodecId = val;
+ break;
+
+ case FreeRDP_FrameAcknowledge:
+ settings->FrameAcknowledge = val;
+ break;
+
+ case FreeRDP_NSCodecColorLossLevel:
+ settings->NSCodecColorLossLevel = val;
+ break;
+
+ case FreeRDP_JpegCodecId:
+ settings->JpegCodecId = val;
+ break;
+
+ case FreeRDP_JpegQuality:
+ settings->JpegQuality = val;
+ break;
+
+ case FreeRDP_BitmapCacheV3CodecId:
+ settings->BitmapCacheV3CodecId = val;
+ break;
+
+ case FreeRDP_DrawNineGridCacheSize:
+ settings->DrawNineGridCacheSize = val;
+ break;
+
+ case FreeRDP_DrawNineGridCacheEntries:
+ settings->DrawNineGridCacheEntries = val;
+ break;
+
+ case FreeRDP_DeviceCount:
+ settings->DeviceCount = val;
+ break;
+
+ case FreeRDP_DeviceArraySize:
+ settings->DeviceArraySize = val;
+ break;
+
+ case FreeRDP_StaticChannelCount:
+ settings->StaticChannelCount = val;
+ break;
+
+ case FreeRDP_StaticChannelArraySize:
+ settings->StaticChannelArraySize = val;
+ break;
+
+ case FreeRDP_DynamicChannelCount:
+ settings->DynamicChannelCount = val;
+ break;
+
+ case FreeRDP_DynamicChannelArraySize:
+ settings->DynamicChannelArraySize = val;
+ break;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+INT32 freerdp_get_param_int32(rdpSettings* settings, size_t id)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_XPan:
+ return settings->XPan;
+
+ case FreeRDP_YPan:
+ return settings->YPan;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+}
+
+BOOL freerdp_set_param_int32(rdpSettings* settings, size_t id, INT32 val)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_XPan:
+ settings->XPan = val;
+ break;
+
+ case FreeRDP_YPan:
+ settings->YPan = val;
+ break;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+UINT64 freerdp_get_param_uint64(rdpSettings* settings, size_t id)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_ParentWindowId:
+ return settings->ParentWindowId;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+}
+
+BOOL freerdp_set_param_uint64(rdpSettings* settings, size_t id, UINT64 val)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_ParentWindowId:
+ settings->ParentWindowId = val;
+ break;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+INT64 freerdp_get_param_int64(rdpSettings* settings, size_t id)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+}
+
+BOOL freerdp_set_param_int64(rdpSettings* settings, size_t id, INT64 val)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+const char* freerdp_get_param_string(rdpSettings* settings, size_t id)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_ServerHostname:
+ return settings->ServerHostname;
+
+ case FreeRDP_Username:
+ return settings->Username;
+
+ case FreeRDP_Password:
+ return settings->Password;
+
+ case FreeRDP_Domain:
+ return settings->Domain;
+
+ case FreeRDP_PasswordHash:
+ return settings->PasswordHash;
+
+ case FreeRDP_AcceptedCert:
+ return settings->AcceptedCert;
+
+ case FreeRDP_ClientHostname:
+ return settings->ClientHostname;
+
+ case FreeRDP_ClientProductId:
+ return settings->ClientProductId;
+
+ case FreeRDP_AlternateShell:
+ return settings->AlternateShell;
+
+ case FreeRDP_ShellWorkingDirectory:
+ return settings->ShellWorkingDirectory;
+
+ case FreeRDP_ClientAddress:
+ return settings->ClientAddress;
+
+ case FreeRDP_ClientDir:
+ return settings->ClientDir;
+
+ case FreeRDP_DynamicDSTTimeZoneKeyName:
+ return settings->DynamicDSTTimeZoneKeyName;
+
+ case FreeRDP_RemoteAssistanceSessionId:
+ return settings->RemoteAssistanceSessionId;
+
+ case FreeRDP_RemoteAssistancePassStub:
+ return settings->RemoteAssistancePassStub;
+
+ case FreeRDP_RemoteAssistancePassword:
+ return settings->RemoteAssistancePassword;
+
+ case FreeRDP_RemoteAssistanceRCTicket:
+ return settings->RemoteAssistanceRCTicket;
+
+ case FreeRDP_AuthenticationServiceClass:
+ return settings->AuthenticationServiceClass;
+
+ case FreeRDP_AllowedTlsCiphers:
+ return settings->AllowedTlsCiphers;
+
+ case FreeRDP_NtlmSamFile:
+ return settings->NtlmSamFile;
+
+ case FreeRDP_PreconnectionBlob:
+ return settings->PreconnectionBlob;
+
+ case FreeRDP_TargetNetAddress:
+ return settings->TargetNetAddress;
+
+ case FreeRDP_RedirectionUsername:
+ return settings->RedirectionUsername;
+
+ case FreeRDP_RedirectionDomain:
+ return settings->RedirectionDomain;
+
+ case FreeRDP_RedirectionTargetFQDN:
+ return settings->RedirectionTargetFQDN;
+
+ case FreeRDP_RedirectionTargetNetBiosName:
+ return settings->RedirectionTargetNetBiosName;
+
+ case FreeRDP_RedirectionAcceptedCert:
+ return settings->RedirectionAcceptedCert;
+
+ case FreeRDP_KerberosKdc:
+ return settings->KerberosKdc;
+
+ case FreeRDP_KerberosRealm:
+ return settings->KerberosRealm;
+
+ case FreeRDP_CertificateName:
+ return settings->CertificateName;
+
+ case FreeRDP_CertificateFile:
+ return settings->CertificateFile;
+
+ case FreeRDP_PrivateKeyFile:
+ return settings->PrivateKeyFile;
+
+ case FreeRDP_RdpKeyFile:
+ return settings->RdpKeyFile;
+
+ case FreeRDP_CertificateContent:
+ return settings->CertificateContent;
+
+ case FreeRDP_PrivateKeyContent:
+ return settings->PrivateKeyContent;
+
+ case FreeRDP_RdpKeyContent:
+ return settings->RdpKeyContent;
+
+ case FreeRDP_WindowTitle:
+ return settings->WindowTitle;
+
+ case FreeRDP_WmClass:
+ return settings->WmClass;
+
+ case FreeRDP_ComputerName:
+ return settings->ComputerName;
+
+ case FreeRDP_ConnectionFile:
+ return settings->ConnectionFile;
+
+ case FreeRDP_AssistanceFile:
+ return settings->AssistanceFile;
+
+ case FreeRDP_HomePath:
+ return settings->HomePath;
+
+ case FreeRDP_ConfigPath:
+ return settings->ConfigPath;
+
+ case FreeRDP_CurrentPath:
+ return settings->CurrentPath;
+
+ case FreeRDP_DumpRemoteFxFile:
+ return settings->DumpRemoteFxFile;
+
+ case FreeRDP_PlayRemoteFxFile:
+ return settings->PlayRemoteFxFile;
+
+ case FreeRDP_GatewayHostname:
+ return settings->GatewayHostname;
+
+ case FreeRDP_GatewayUsername:
+ return settings->GatewayUsername;
+
+ case FreeRDP_GatewayPassword:
+ return settings->GatewayPassword;
+
+ case FreeRDP_GatewayDomain:
+ return settings->GatewayDomain;
+
+ case FreeRDP_GatewayAccessToken:
+ return settings->GatewayAccessToken;
+
+ case FreeRDP_GatewayAcceptedCert:
+ return settings->GatewayAcceptedCert;
+
+ case FreeRDP_ProxyHostname:
+ return settings->ProxyHostname;
+
+ case FreeRDP_ProxyUsername:
+ return settings->ProxyUsername;
+
+ case FreeRDP_ProxyPassword:
+ return settings->ProxyPassword;
+
+ case FreeRDP_RemoteApplicationName:
+ return settings->RemoteApplicationName;
+
+ case FreeRDP_RemoteApplicationIcon:
+ return settings->RemoteApplicationIcon;
+
+ case FreeRDP_RemoteApplicationProgram:
+ return settings->RemoteApplicationProgram;
+
+ case FreeRDP_RemoteApplicationFile:
+ return settings->RemoteApplicationFile;
+
+ case FreeRDP_RemoteApplicationGuid:
+ return settings->RemoteApplicationGuid;
+
+ case FreeRDP_RemoteApplicationCmdLine:
+ return settings->RemoteApplicationCmdLine;
+
+ case FreeRDP_ImeFileName:
+ return settings->ImeFileName;
+
+ case FreeRDP_DrivesToRedirect:
+ return settings->DrivesToRedirect;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+}
+
+BOOL freerdp_set_param_string(rdpSettings* settings, size_t id, const char* val)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_ServerHostname:
+ free(settings->ServerHostname);
+ settings->ServerHostname = _strdup(val);
+ return settings->ServerHostname != NULL;
+
+ case FreeRDP_Username:
+ free(settings->Username);
+ settings->Username = _strdup(val);
+ return settings->Username != NULL;
+
+ case FreeRDP_Password:
+ free(settings->Password);
+ settings->Password = _strdup(val);
+ return settings->Password != NULL;
+
+ case FreeRDP_Domain:
+ free(settings->Domain);
+ settings->Domain = _strdup(val);
+ return settings->Domain != NULL;
+
+ case FreeRDP_PasswordHash:
+ free(settings->PasswordHash);
+ settings->PasswordHash = _strdup(val);
+ return settings->PasswordHash != NULL;
+
+ case FreeRDP_AcceptedCert:
+ free(settings->AcceptedCert);
+ settings->AcceptedCert = _strdup(val);
+ return settings->AcceptedCert != NULL;
+
+ case FreeRDP_ClientHostname:
+ free(settings->ClientHostname);
+ settings->ClientHostname = _strdup(val);
+ return settings->ClientHostname != NULL;
+
+ case FreeRDP_ClientProductId:
+ free(settings->ClientProductId);
+ settings->ClientProductId = _strdup(val);
+ return settings->ClientProductId != NULL;
+
+ case FreeRDP_AlternateShell:
+ free(settings->AlternateShell);
+ settings->AlternateShell = _strdup(val);
+ return settings->AlternateShell != NULL;
+
+ case FreeRDP_ShellWorkingDirectory:
+ free(settings->ShellWorkingDirectory);
+ settings->ShellWorkingDirectory = _strdup(val);
+ return settings->ShellWorkingDirectory != NULL;
+
+ case FreeRDP_ClientAddress:
+ free(settings->ClientAddress);
+ settings->ClientAddress = _strdup(val);
+ return settings->ClientAddress != NULL;
+
+ case FreeRDP_ClientDir:
+ free(settings->ClientDir);
+ settings->ClientDir = _strdup(val);
+ return settings->ClientDir != NULL;
+
+ case FreeRDP_DynamicDSTTimeZoneKeyName:
+ free(settings->DynamicDSTTimeZoneKeyName);
+ settings->DynamicDSTTimeZoneKeyName = _strdup(val);
+ return settings->DynamicDSTTimeZoneKeyName != NULL;
+
+ case FreeRDP_RemoteAssistanceSessionId:
+ free(settings->RemoteAssistanceSessionId);
+ settings->RemoteAssistanceSessionId = _strdup(val);
+ return settings->RemoteAssistanceSessionId != NULL;
+
+ case FreeRDP_RemoteAssistancePassStub:
+ free(settings->RemoteAssistancePassStub);
+ settings->RemoteAssistancePassStub = _strdup(val);
+ return settings->RemoteAssistancePassStub != NULL;
+
+ case FreeRDP_RemoteAssistancePassword:
+ free(settings->RemoteAssistancePassword);
+ settings->RemoteAssistancePassword = _strdup(val);
+ return settings->RemoteAssistancePassword != NULL;
+
+ case FreeRDP_RemoteAssistanceRCTicket:
+ free(settings->RemoteAssistanceRCTicket);
+ settings->RemoteAssistanceRCTicket = _strdup(val);
+ return settings->RemoteAssistanceRCTicket != NULL;
+
+ case FreeRDP_AuthenticationServiceClass:
+ free(settings->AuthenticationServiceClass);
+ settings->AuthenticationServiceClass = _strdup(val);
+ return settings->AuthenticationServiceClass != NULL;
+
+ case FreeRDP_AllowedTlsCiphers:
+ free(settings->AllowedTlsCiphers);
+ settings->AllowedTlsCiphers = _strdup(val);
+ return settings->AllowedTlsCiphers != NULL;
+
+ case FreeRDP_NtlmSamFile:
+ free(settings->NtlmSamFile);
+ settings->NtlmSamFile = _strdup(val);
+ return settings->NtlmSamFile != NULL;
+
+ case FreeRDP_PreconnectionBlob:
+ free(settings->PreconnectionBlob);
+ settings->PreconnectionBlob = _strdup(val);
+ return settings->PreconnectionBlob != NULL;
+
+ case FreeRDP_TargetNetAddress:
+ free(settings->TargetNetAddress);
+ settings->TargetNetAddress = _strdup(val);
+ return settings->TargetNetAddress != NULL;
+
+ case FreeRDP_RedirectionUsername:
+ free(settings->RedirectionUsername);
+ settings->RedirectionUsername = _strdup(val);
+ return settings->RedirectionUsername != NULL;
+
+ case FreeRDP_RedirectionDomain:
+ free(settings->RedirectionDomain);
+ settings->RedirectionDomain = _strdup(val);
+ return settings->RedirectionDomain != NULL;
+
+ case FreeRDP_RedirectionTargetFQDN:
+ free(settings->RedirectionTargetFQDN);
+ settings->RedirectionTargetFQDN = _strdup(val);
+ return settings->RedirectionTargetFQDN != NULL;
+
+ case FreeRDP_RedirectionTargetNetBiosName:
+ free(settings->RedirectionTargetNetBiosName);
+ settings->RedirectionTargetNetBiosName = _strdup(val);
+ return settings->RedirectionTargetNetBiosName != NULL;
+
+ case FreeRDP_RedirectionAcceptedCert:
+ free(settings->RedirectionAcceptedCert);
+ settings->RedirectionAcceptedCert = _strdup(val);
+ return settings->RedirectionAcceptedCert != NULL;
+
+ case FreeRDP_KerberosKdc:
+ free(settings->KerberosKdc);
+ settings->KerberosKdc = _strdup(val);
+ return settings->KerberosKdc != NULL;
+
+ case FreeRDP_KerberosRealm:
+ free(settings->KerberosRealm);
+ settings->KerberosRealm = _strdup(val);
+ return settings->KerberosRealm != NULL;
+
+ case FreeRDP_CertificateName:
+ free(settings->CertificateName);
+ settings->CertificateName = _strdup(val);
+ return settings->CertificateName != NULL;
+
+ case FreeRDP_CertificateFile:
+ free(settings->CertificateFile);
+ settings->CertificateFile = _strdup(val);
+ return settings->CertificateFile != NULL;
+
+ case FreeRDP_PrivateKeyFile:
+ free(settings->PrivateKeyFile);
+ settings->PrivateKeyFile = _strdup(val);
+ return settings->PrivateKeyFile != NULL;
+
+ case FreeRDP_RdpKeyFile:
+ free(settings->RdpKeyFile);
+ settings->RdpKeyFile = _strdup(val);
+ return settings->RdpKeyFile != NULL;
+
+ case FreeRDP_CertificateContent:
+ free(settings->CertificateContent);
+ settings->CertificateContent = _strdup(val);
+ return settings->CertificateContent != NULL;
+
+ case FreeRDP_PrivateKeyContent:
+ free(settings->PrivateKeyContent);
+ settings->PrivateKeyContent = _strdup(val);
+ return settings->PrivateKeyContent != NULL;
+
+ case FreeRDP_RdpKeyContent:
+ free(settings->RdpKeyContent);
+ settings->RdpKeyContent = _strdup(val);
+ return settings->RdpKeyContent != NULL;
+
+ case FreeRDP_WindowTitle:
+ free(settings->WindowTitle);
+ settings->WindowTitle = _strdup(val);
+ return settings->WindowTitle != NULL;
+
+ case FreeRDP_WmClass:
+ free(settings->WmClass);
+ settings->WmClass = _strdup(val);
+ return settings->WmClass != NULL;
+
+ case FreeRDP_ComputerName:
+ free(settings->ComputerName);
+ settings->ComputerName = _strdup(val);
+ return settings->ComputerName != NULL;
+
+ case FreeRDP_ConnectionFile:
+ free(settings->ConnectionFile);
+ settings->ConnectionFile = _strdup(val);
+ return settings->ConnectionFile != NULL;
+
+ case FreeRDP_AssistanceFile:
+ free(settings->AssistanceFile);
+ settings->AssistanceFile = _strdup(val);
+ return settings->AssistanceFile != NULL;
+
+ case FreeRDP_HomePath:
+ free(settings->HomePath);
+ settings->HomePath = _strdup(val);
+ return settings->HomePath != NULL;
+
+ case FreeRDP_ConfigPath:
+ free(settings->ConfigPath);
+ settings->ConfigPath = _strdup(val);
+ return settings->ConfigPath != NULL;
+
+ case FreeRDP_CurrentPath:
+ free(settings->CurrentPath);
+ settings->CurrentPath = _strdup(val);
+ return settings->CurrentPath != NULL;
+
+ case FreeRDP_DumpRemoteFxFile:
+ free(settings->DumpRemoteFxFile);
+ settings->DumpRemoteFxFile = _strdup(val);
+ return settings->DumpRemoteFxFile != NULL;
+
+ case FreeRDP_PlayRemoteFxFile:
+ free(settings->PlayRemoteFxFile);
+ settings->PlayRemoteFxFile = _strdup(val);
+ return settings->PlayRemoteFxFile != NULL;
+
+ case FreeRDP_GatewayHostname:
+ free(settings->GatewayHostname);
+ settings->GatewayHostname = _strdup(val);
+ return settings->GatewayHostname != NULL;
+
+ case FreeRDP_GatewayUsername:
+ free(settings->GatewayUsername);
+ settings->GatewayUsername = _strdup(val);
+ return settings->GatewayUsername != NULL;
+
+ case FreeRDP_GatewayPassword:
+ free(settings->GatewayPassword);
+ settings->GatewayPassword = _strdup(val);
+ return settings->GatewayPassword != NULL;
+
+ case FreeRDP_GatewayDomain:
+ free(settings->GatewayDomain);
+ settings->GatewayDomain = _strdup(val);
+ return settings->GatewayDomain != NULL;
+
+ case FreeRDP_GatewayAccessToken:
+ free(settings->GatewayAccessToken);
+ settings->GatewayAccessToken = _strdup(val);
+ return settings->GatewayAccessToken != NULL;
+
+ case FreeRDP_GatewayAcceptedCert:
+ free(settings->GatewayAcceptedCert);
+ settings->GatewayAcceptedCert = _strdup(val);
+ return settings->GatewayAcceptedCert != NULL;
+
+ case FreeRDP_ProxyHostname:
+ free(settings->ProxyHostname);
+ settings->ProxyHostname = _strdup(val);
+ return settings->ProxyHostname != NULL;
+
+ case FreeRDP_ProxyUsername:
+ free(settings->ProxyUsername);
+ settings->ProxyUsername = _strdup(val);
+ return settings->ProxyUsername != NULL;
+
+ case FreeRDP_ProxyPassword:
+ free(settings->ProxyPassword);
+ settings->ProxyPassword = _strdup(val);
+ return settings->ProxyPassword != NULL;
+
+ case FreeRDP_RemoteApplicationName:
+ free(settings->RemoteApplicationName);
+ settings->RemoteApplicationName = _strdup(val);
+ return settings->RemoteApplicationName != NULL;
+
+ case FreeRDP_RemoteApplicationIcon:
+ free(settings->RemoteApplicationIcon);
+ settings->RemoteApplicationIcon = _strdup(val);
+ return settings->RemoteApplicationIcon != NULL;
+
+ case FreeRDP_RemoteApplicationProgram:
+ free(settings->RemoteApplicationProgram);
+ settings->RemoteApplicationProgram = _strdup(val);
+ return settings->RemoteApplicationProgram != NULL;
+
+ case FreeRDP_RemoteApplicationFile:
+ free(settings->RemoteApplicationFile);
+ settings->RemoteApplicationFile = _strdup(val);
+ return settings->RemoteApplicationFile != NULL;
+
+ case FreeRDP_RemoteApplicationGuid:
+ free(settings->RemoteApplicationGuid);
+ settings->RemoteApplicationGuid = _strdup(val);
+ return settings->RemoteApplicationGuid != NULL;
+
+ case FreeRDP_RemoteApplicationCmdLine:
+ free(settings->RemoteApplicationCmdLine);
+ settings->RemoteApplicationCmdLine = _strdup(val);
+ return settings->RemoteApplicationCmdLine != NULL;
+
+ case FreeRDP_ImeFileName:
+ free(settings->ImeFileName);
+ settings->ImeFileName = _strdup(val);
+ return settings->ImeFileName != NULL;
+
+ case FreeRDP_DrivesToRedirect:
+ free(settings->DrivesToRedirect);
+ settings->DrivesToRedirect = _strdup(val);
+ return settings->DrivesToRedirect != NULL;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+const void* freerdp_get_param_pointer(rdpSettings* settings, size_t id)
+{
+ if (!settings)
+ return FALSE;
+
+ switch (id)
+ {
+ case FreeRDP_instance:
+ return settings->instance;
+
+ case FreeRDP_RdpServerCertificate:
+ return settings->RdpServerCertificate;
+
+ case FreeRDP_ServerAutoReconnectCookie:
+ return settings->ServerAutoReconnectCookie;
+
+ case FreeRDP_BitmapCacheV2CellInfo:
+ return settings->BitmapCacheV2CellInfo;
+
+ case FreeRDP_RdpServerRsaKey:
+ return settings->RdpServerRsaKey;
+
+ case FreeRDP_MonitorIds:
+ return settings->MonitorIds;
+
+ case FreeRDP_TargetNetPorts:
+ return settings->TargetNetPorts;
+
+ case FreeRDP_MonitorDefArray:
+ return settings->MonitorDefArray;
+
+ case FreeRDP_ChannelDefArray:
+ return settings->ChannelDefArray;
+
+ case FreeRDP_ClientAutoReconnectCookie:
+ return settings->ClientAutoReconnectCookie;
+
+ case FreeRDP_TargetNetAddresses:
+ return settings->TargetNetAddresses;
+
+ case FreeRDP_StaticChannelArray:
+ return settings->StaticChannelArray;
+
+ case FreeRDP_DynamicChannelArray:
+ return settings->DynamicChannelArray;
+
+ case FreeRDP_DeviceArray:
+ return settings->DeviceArray;
+
+ case FreeRDP_GlyphCache:
+ return settings->GlyphCache;
+
+ case FreeRDP_FragCache:
+ return settings->FragCache;
+
+ case FreeRDP_ClientTimeZone:
+ return settings->ClientTimeZone;
+
+ case FreeRDP_ServerRandom:
+ return settings->ServerRandom;
+
+ case FreeRDP_ServerCertificate:
+ return settings->ServerCertificate;
+
+ case FreeRDP_ClientRandom:
+ return settings->ClientRandom;
+
+ case FreeRDP_LoadBalanceInfo:
+ return settings->LoadBalanceInfo;
+
+ case FreeRDP_RedirectionPassword:
+ return settings->RedirectionPassword;
+
+ case FreeRDP_RedirectionTsvUrl:
+ return settings->RedirectionTsvUrl;
+
+ case FreeRDP_Password51:
+ return settings->Password51;
+
+ case FreeRDP_ReceivedCapabilities:
+ return settings->ReceivedCapabilities;
+
+ case FreeRDP_OrderSupport:
+ return settings->OrderSupport;
+
+ default:
+ WLog_ERR(TAG, "[%s] Invalid key index %"PRIuz, __FUNCTION__, id);
+ return FALSE;
+ }
+}
+
+
#include <freerdp/settings.h>
+#include "settings_property_lists.h"
int TestSettings(int argc, char* argv[])
{
+ int rc = -1;
+ size_t x;
rdpSettings* settings = NULL;
rdpSettings* cloned;
WINPR_UNUSED(argc);
return -1;
}
+#if defined(have_bool_list_indices)
+
+ for (x = 0; x < ARRAYSIZE(bool_list_indices); x++)
+ {
+ const size_t key = bool_list_indices[x];
+ const BOOL val = freerdp_get_param_bool(settings, key);
+
+ if (!freerdp_set_param_bool(settings, key, val))
+ goto fail;
+ }
+
+#endif
+#if defined(have_int16_list_indices)
+
+ for (x = 0; x < ARRAYSIZE(int16_list_indices); x++)
+ {
+ const size_t key = int16_list_indices[x];
+ const INT16 val = freerdp_get_param_int16(settings, key);
+
+ if (!freerdp_set_param_int16(settings, key, val))
+ goto fail;
+ }
+
+#endif
+#if defined(have_uint16_list_indices)
+
+ for (x = 0; x < ARRAYSIZE(uint16_list_indices); x++)
+ {
+ const size_t key = uint16_list_indices[x];
+ const UINT16 val = freerdp_get_param_uint16(settings, key);
+
+ if (!freerdp_set_param_uint16(settings, key, val))
+ goto fail;
+ }
+
+#endif
+#if defined(have_uint32_list_indices)
+
+ for (x = 0; x < ARRAYSIZE(uint32_list_indices); x++)
+ {
+ const size_t key = uint32_list_indices[x];
+ const UINT32 val = freerdp_get_param_uint32(settings, key);
+
+ if (!freerdp_set_param_uint32(settings, key, val))
+ goto fail;
+ }
+
+#endif
+#if defined(have_int32_list_indices)
+
+ for (x = 0; x < ARRAYSIZE(int32_list_indices); x++)
+ {
+ const size_t key = int32_list_indices[x];
+ const INT32 val = freerdp_get_param_int32(settings, key);
+
+ if (!freerdp_set_param_int32(settings, key, val))
+ goto fail;
+ }
+
+#endif
+#if defined(have_uint64_list_indices)
+
+ for (x = 0; x < ARRAYSIZE(uint64_list_indices); x++)
+ {
+ const size_t key = uint64_list_indices[x];
+ const UINT64 val = freerdp_get_param_uint64(settings, key);
+
+ if (!freerdp_set_param_uint64(settings, key, val))
+ goto fail;
+ }
+
+#endif
+#if defined(have_int64_list_indices)
+
+ for (x = 0; x < ARRAYSIZE(int64_list_indices); x++)
+ {
+ const size_t key = int64_list_indices[x];
+ const INT64 val = freerdp_get_param_int64(settings, key);
+
+ if (!freerdp_set_param_int64(settings, key, val))
+ goto fail;
+ }
+
+#endif
+#if defined(have_string_list_indices)
+
+ for (x = 0; x < ARRAYSIZE(string_list_indices); x++)
+ {
+ const size_t key = string_list_indices[x];
+ const char* val = "test-string";
+ const char* res;
+
+ if (!freerdp_set_param_string(settings, key, val))
+ goto fail;
+
+ res = freerdp_get_param_string(settings, key);
+ if (strncmp(val, res, sizeof(val)) != 0)
+ goto fail;
+ }
+
+#endif
+#if defined(have_pointer_list_indices)
+
+ for (x = 0; x < ARRAYSIZE(pointer_list_indices); x++)
+ {
+ const size_t key = pointer_list_indices[x];
+ const void* val = freerdp_get_param_pointer(settings, key);
+ }
+
+#endif
+ rc = 0;
+fail:
freerdp_settings_free(cloned);
freerdp_settings_free(settings);
- return 0;
+ return rc;
}
--- /dev/null
+#ifndef TEST_SETTINGS_PROPERTY_LISTS
+#define TEST_SETTINGS_PROPERTY_LISTS
+
+#define have_bool_list_indices
+static const size_t bool_list_indices[] =
+{
+ FreeRDP_ServerMode,
+ FreeRDP_WaitForOutputBufferFlush,
+ FreeRDP_NetworkAutoDetect,
+ FreeRDP_SupportAsymetricKeys,
+ FreeRDP_SupportErrorInfoPdu,
+ FreeRDP_SupportStatusInfoPdu,
+ FreeRDP_SupportMonitorLayoutPdu,
+ FreeRDP_SupportGraphicsPipeline,
+ FreeRDP_SupportDynamicTimeZone,
+ FreeRDP_SupportHeartbeatPdu,
+ FreeRDP_UseRdpSecurityLayer,
+ FreeRDP_ConsoleSession,
+ FreeRDP_SpanMonitors,
+ FreeRDP_UseMultimon,
+ FreeRDP_ForceMultimon,
+ FreeRDP_ListMonitors,
+ FreeRDP_HasMonitorAttributes,
+ FreeRDP_SupportMultitransport,
+ FreeRDP_AutoLogonEnabled,
+ FreeRDP_CompressionEnabled,
+ FreeRDP_DisableCtrlAltDel,
+ FreeRDP_EnableWindowsKey,
+ FreeRDP_MaximizeShell,
+ FreeRDP_LogonNotify,
+ FreeRDP_LogonErrors,
+ FreeRDP_MouseAttached,
+ FreeRDP_MouseHasWheel,
+ FreeRDP_RemoteConsoleAudio,
+ FreeRDP_AudioPlayback,
+ FreeRDP_AudioCapture,
+ FreeRDP_VideoDisable,
+ FreeRDP_PasswordIsSmartcardPin,
+ FreeRDP_UsingSavedCredentials,
+ FreeRDP_ForceEncryptedCsPdu,
+ FreeRDP_HiDefRemoteApp,
+ FreeRDP_IPv6Enabled,
+ FreeRDP_AutoReconnectionEnabled,
+ FreeRDP_PrintReconnectCookie,
+ FreeRDP_DynamicDaylightTimeDisabled,
+ FreeRDP_AllowFontSmoothing,
+ FreeRDP_DisableWallpaper,
+ FreeRDP_DisableFullWindowDrag,
+ FreeRDP_DisableMenuAnims,
+ FreeRDP_DisableThemes,
+ FreeRDP_DisableCursorShadow,
+ FreeRDP_DisableCursorBlinking,
+ FreeRDP_AllowDesktopComposition,
+ FreeRDP_RemoteAssistanceMode,
+ FreeRDP_EncomspVirtualChannel,
+ FreeRDP_RemdeskVirtualChannel,
+ FreeRDP_LyncRdpMode,
+ FreeRDP_TlsSecurity,
+ FreeRDP_NlaSecurity,
+ FreeRDP_RdpSecurity,
+ FreeRDP_ExtSecurity,
+ FreeRDP_Authentication,
+ FreeRDP_NegotiateSecurityLayer,
+ FreeRDP_RestrictedAdminModeRequired,
+ FreeRDP_DisableCredentialsDelegation,
+ FreeRDP_VmConnectMode,
+ FreeRDP_FIPSMode,
+ FreeRDP_MstscCookieMode,
+ FreeRDP_SendPreconnectionPdu,
+ FreeRDP_SmartcardLogon,
+ FreeRDP_IgnoreCertificate,
+ FreeRDP_ExternalCertificateManagement,
+ FreeRDP_AutoAcceptCertificate,
+ FreeRDP_AutoDenyCertificate,
+ FreeRDP_Workarea,
+ FreeRDP_Fullscreen,
+ FreeRDP_GrabKeyboard,
+ FreeRDP_Decorations,
+ FreeRDP_MouseMotion,
+ FreeRDP_AsyncInput,
+ FreeRDP_AsyncUpdate,
+ FreeRDP_AsyncChannels,
+ FreeRDP_ToggleFullscreen,
+ FreeRDP_EmbeddedWindow,
+ FreeRDP_SmartSizing,
+ FreeRDP_PercentScreenUseWidth,
+ FreeRDP_PercentScreenUseHeight,
+ FreeRDP_DynamicResolutionUpdate,
+ FreeRDP_SoftwareGdi,
+ FreeRDP_LocalConnection,
+ FreeRDP_AuthenticationOnly,
+ FreeRDP_CredentialsFromStdin,
+ FreeRDP_UnmapButtons,
+ FreeRDP_OldLicenseBehaviour,
+ FreeRDP_DumpRemoteFx,
+ FreeRDP_PlayRemoteFx,
+ FreeRDP_GatewayUseSameCredentials,
+ FreeRDP_GatewayEnabled,
+ FreeRDP_GatewayBypassLocal,
+ FreeRDP_GatewayRpcTransport,
+ FreeRDP_GatewayHttpTransport,
+ FreeRDP_GatewayUdpTransport,
+ FreeRDP_RemoteApplicationMode,
+ FreeRDP_DisableRemoteAppCapsCheck,
+ FreeRDP_RemoteAppLanguageBarSupported,
+ FreeRDP_RefreshRect,
+ FreeRDP_SuppressOutput,
+ FreeRDP_FastPathOutput,
+ FreeRDP_SaltedChecksum,
+ FreeRDP_LongCredentialsSupported,
+ FreeRDP_NoBitmapCompressionHeader,
+ FreeRDP_BitmapCompressionDisabled,
+ FreeRDP_DesktopResize,
+ FreeRDP_DrawAllowDynamicColorFidelity,
+ FreeRDP_DrawAllowColorSubsampling,
+ FreeRDP_DrawAllowSkipAlpha,
+ FreeRDP_BitmapCacheV3Enabled,
+ FreeRDP_AltSecFrameMarkerSupport,
+ FreeRDP_AllowUnanouncedOrdersFromServer,
+ FreeRDP_BitmapCacheEnabled,
+ FreeRDP_AllowCacheWaitingList,
+ FreeRDP_BitmapCachePersistEnabled,
+ FreeRDP_ColorPointerFlag,
+ FreeRDP_UnicodeInput,
+ FreeRDP_FastPathInput,
+ FreeRDP_MultiTouchInput,
+ FreeRDP_MultiTouchGestures,
+ FreeRDP_HasHorizontalWheel,
+ FreeRDP_HasExtendedMouseEvent,
+ FreeRDP_SoundBeepsEnabled,
+ FreeRDP_SurfaceCommandsEnabled,
+ FreeRDP_FrameMarkerCommandEnabled,
+ FreeRDP_SurfaceFrameMarkerEnabled,
+ FreeRDP_RemoteFxOnly,
+ FreeRDP_RemoteFxCodec,
+ FreeRDP_RemoteFxImageCodec,
+ FreeRDP_NSCodec,
+ FreeRDP_NSCodecAllowSubsampling,
+ FreeRDP_NSCodecAllowDynamicColorFidelity,
+ FreeRDP_JpegCodec,
+ FreeRDP_GfxThinClient,
+ FreeRDP_GfxSmallCache,
+ FreeRDP_GfxProgressive,
+ FreeRDP_GfxProgressiveV2,
+ FreeRDP_GfxH264,
+ FreeRDP_GfxAVC444,
+ FreeRDP_GfxSendQoeAck,
+ FreeRDP_GfxAVC444v2,
+ FreeRDP_DrawNineGridEnabled,
+ FreeRDP_DrawGdiPlusEnabled,
+ FreeRDP_DrawGdiPlusCacheEnabled,
+ FreeRDP_DeviceRedirection,
+ FreeRDP_RedirectDrives,
+ FreeRDP_RedirectHomeDrive,
+ FreeRDP_RedirectSmartCards,
+ FreeRDP_RedirectPrinters,
+ FreeRDP_RedirectSerialPorts,
+ FreeRDP_RedirectParallelPorts,
+ FreeRDP_PreferIPv6OverIPv4,
+ FreeRDP_RedirectClipboard,
+ FreeRDP_SupportDynamicChannels,
+ FreeRDP_SupportEchoChannel,
+ FreeRDP_SupportDisplayControl,
+ FreeRDP_SupportGeometryTracking,
+ FreeRDP_SupportSSHAgentChannel,
+ FreeRDP_SupportVideoOptimized,
+};
+
+#define have_uint16_list_indices
+static const size_t uint16_list_indices[] =
+{
+ FreeRDP_DesktopOrientation,
+ FreeRDP_ProxyPort,
+};
+
+#define have_uint32_list_indices
+static const size_t uint32_list_indices[] =
+{
+ FreeRDP_ShareId,
+ FreeRDP_PduSource,
+ FreeRDP_ServerPort,
+ FreeRDP_MaxTimeInCheckLoop,
+ FreeRDP_AcceptedCertLength,
+ FreeRDP_RdpVersion,
+ FreeRDP_DesktopWidth,
+ FreeRDP_DesktopHeight,
+ FreeRDP_ColorDepth,
+ FreeRDP_ConnectionType,
+ FreeRDP_ClientBuild,
+ FreeRDP_EarlyCapabilityFlags,
+ FreeRDP_DesktopPhysicalWidth,
+ FreeRDP_DesktopPhysicalHeight,
+ FreeRDP_DesktopScaleFactor,
+ FreeRDP_DeviceScaleFactor,
+ FreeRDP_EncryptionMethods,
+ FreeRDP_ExtEncryptionMethods,
+ FreeRDP_EncryptionLevel,
+ FreeRDP_ServerRandomLength,
+ FreeRDP_ServerCertificateLength,
+ FreeRDP_ClientRandomLength,
+ FreeRDP_ChannelCount,
+ FreeRDP_ChannelDefArraySize,
+ FreeRDP_ClusterInfoFlags,
+ FreeRDP_RedirectedSessionId,
+ FreeRDP_MonitorCount,
+ FreeRDP_MonitorDefArraySize,
+ FreeRDP_DesktopPosX,
+ FreeRDP_DesktopPosY,
+ FreeRDP_NumMonitorIds,
+ FreeRDP_MonitorLocalShiftX,
+ FreeRDP_MonitorLocalShiftY,
+ FreeRDP_MultitransportFlags,
+ FreeRDP_CompressionLevel,
+ FreeRDP_AutoReconnectMaxRetries,
+ FreeRDP_PerformanceFlags,
+ FreeRDP_RequestedProtocols,
+ FreeRDP_SelectedProtocol,
+ FreeRDP_NegotiationFlags,
+ FreeRDP_AuthenticationLevel,
+ FreeRDP_TlsSecLevel,
+ FreeRDP_CookieMaxLength,
+ FreeRDP_PreconnectionId,
+ FreeRDP_RedirectionFlags,
+ FreeRDP_LoadBalanceInfoLength,
+ FreeRDP_RedirectionPasswordLength,
+ FreeRDP_RedirectionTsvUrlLength,
+ FreeRDP_TargetNetAddressCount,
+ FreeRDP_RedirectionAcceptedCertLength,
+ FreeRDP_RedirectionPreferType,
+ FreeRDP_Password51Length,
+ FreeRDP_PercentScreen,
+ FreeRDP_SmartSizingWidth,
+ FreeRDP_SmartSizingHeight,
+ FreeRDP_GatewayUsageMethod,
+ FreeRDP_GatewayPort,
+ FreeRDP_GatewayCredentialsSource,
+ FreeRDP_GatewayAcceptedCertLength,
+ FreeRDP_ProxyType,
+ FreeRDP_RemoteApplicationExpandCmdLine,
+ FreeRDP_RemoteApplicationExpandWorkingDir,
+ FreeRDP_RemoteAppNumIconCaches,
+ FreeRDP_RemoteAppNumIconCacheEntries,
+ FreeRDP_RemoteWndSupportLevel,
+ FreeRDP_ReceivedCapabilitiesSize,
+ FreeRDP_OsMajorType,
+ FreeRDP_OsMinorType,
+ FreeRDP_BitmapCacheVersion,
+ FreeRDP_BitmapCacheV2NumCells,
+ FreeRDP_PointerCacheSize,
+ FreeRDP_KeyboardLayout,
+ FreeRDP_KeyboardType,
+ FreeRDP_KeyboardSubType,
+ FreeRDP_KeyboardFunctionKey,
+ FreeRDP_KeyboardHook,
+ FreeRDP_BrushSupportLevel,
+ FreeRDP_GlyphSupportLevel,
+ FreeRDP_OffscreenSupportLevel,
+ FreeRDP_OffscreenCacheSize,
+ FreeRDP_OffscreenCacheEntries,
+ FreeRDP_VirtualChannelCompressionFlags,
+ FreeRDP_VirtualChannelChunkSize,
+ FreeRDP_MultifragMaxRequestSize,
+ FreeRDP_LargePointerFlag,
+ FreeRDP_CompDeskSupportLevel,
+ FreeRDP_RemoteFxCodecId,
+ FreeRDP_RemoteFxCodecMode,
+ FreeRDP_RemoteFxCaptureFlags,
+ FreeRDP_NSCodecId,
+ FreeRDP_FrameAcknowledge,
+ FreeRDP_NSCodecColorLossLevel,
+ FreeRDP_JpegCodecId,
+ FreeRDP_JpegQuality,
+ FreeRDP_BitmapCacheV3CodecId,
+ FreeRDP_DrawNineGridCacheSize,
+ FreeRDP_DrawNineGridCacheEntries,
+ FreeRDP_DeviceCount,
+ FreeRDP_DeviceArraySize,
+ FreeRDP_StaticChannelCount,
+ FreeRDP_StaticChannelArraySize,
+ FreeRDP_DynamicChannelCount,
+ FreeRDP_DynamicChannelArraySize,
+};
+
+#define have_int32_list_indices
+static const size_t int32_list_indices[] =
+{
+ FreeRDP_XPan,
+ FreeRDP_YPan,
+};
+
+#define have_uint64_list_indices
+static const size_t uint64_list_indices[] =
+{
+ FreeRDP_ParentWindowId,
+};
+
+#define have_string_list_indices
+static const size_t string_list_indices[] =
+{
+ FreeRDP_ServerHostname,
+ FreeRDP_Username,
+ FreeRDP_Password,
+ FreeRDP_Domain,
+ FreeRDP_PasswordHash,
+ FreeRDP_AcceptedCert,
+ FreeRDP_ClientHostname,
+ FreeRDP_ClientProductId,
+ FreeRDP_AlternateShell,
+ FreeRDP_ShellWorkingDirectory,
+ FreeRDP_ClientAddress,
+ FreeRDP_ClientDir,
+ FreeRDP_DynamicDSTTimeZoneKeyName,
+ FreeRDP_RemoteAssistanceSessionId,
+ FreeRDP_RemoteAssistancePassStub,
+ FreeRDP_RemoteAssistancePassword,
+ FreeRDP_RemoteAssistanceRCTicket,
+ FreeRDP_AuthenticationServiceClass,
+ FreeRDP_AllowedTlsCiphers,
+ FreeRDP_NtlmSamFile,
+ FreeRDP_PreconnectionBlob,
+ FreeRDP_TargetNetAddress,
+ FreeRDP_RedirectionUsername,
+ FreeRDP_RedirectionDomain,
+ FreeRDP_RedirectionTargetFQDN,
+ FreeRDP_RedirectionTargetNetBiosName,
+ FreeRDP_RedirectionAcceptedCert,
+ FreeRDP_KerberosKdc,
+ FreeRDP_KerberosRealm,
+ FreeRDP_CertificateName,
+ FreeRDP_CertificateFile,
+ FreeRDP_PrivateKeyFile,
+ FreeRDP_RdpKeyFile,
+ FreeRDP_CertificateContent,
+ FreeRDP_PrivateKeyContent,
+ FreeRDP_RdpKeyContent,
+ FreeRDP_WindowTitle,
+ FreeRDP_WmClass,
+ FreeRDP_ComputerName,
+ FreeRDP_ConnectionFile,
+ FreeRDP_AssistanceFile,
+ FreeRDP_HomePath,
+ FreeRDP_ConfigPath,
+ FreeRDP_CurrentPath,
+ FreeRDP_DumpRemoteFxFile,
+ FreeRDP_PlayRemoteFxFile,
+ FreeRDP_GatewayHostname,
+ FreeRDP_GatewayUsername,
+ FreeRDP_GatewayPassword,
+ FreeRDP_GatewayDomain,
+ FreeRDP_GatewayAccessToken,
+ FreeRDP_GatewayAcceptedCert,
+ FreeRDP_ProxyHostname,
+ FreeRDP_ProxyUsername,
+ FreeRDP_ProxyPassword,
+ FreeRDP_RemoteApplicationName,
+ FreeRDP_RemoteApplicationIcon,
+ FreeRDP_RemoteApplicationProgram,
+ FreeRDP_RemoteApplicationFile,
+ FreeRDP_RemoteApplicationGuid,
+ FreeRDP_RemoteApplicationCmdLine,
+ FreeRDP_ImeFileName,
+ FreeRDP_DrivesToRedirect,
+};
+
+#define have_pointer_list_indices
+static const size_t pointer_list_indices[] =
+{
+ FreeRDP_StaticChannelArray,
+ FreeRDP_DynamicChannelArray,
+ FreeRDP_instance,
+ FreeRDP_RdpServerCertificate,
+ FreeRDP_MonitorIds,
+ FreeRDP_TargetNetPorts,
+ FreeRDP_DeviceArray,
+ FreeRDP_ClientAutoReconnectCookie,
+ FreeRDP_TargetNetAddresses,
+ FreeRDP_MonitorDefArray,
+ FreeRDP_BitmapCacheV2CellInfo,
+ FreeRDP_ServerAutoReconnectCookie,
+ FreeRDP_ServerRandom,
+ FreeRDP_ServerCertificate,
+ FreeRDP_ClientRandom,
+ FreeRDP_LoadBalanceInfo,
+ FreeRDP_RedirectionPassword,
+ FreeRDP_RedirectionTsvUrl,
+ FreeRDP_Password51,
+ FreeRDP_ReceivedCapabilities,
+ FreeRDP_OrderSupport,
+ FreeRDP_RdpServerRsaKey,
+ FreeRDP_GlyphCache,
+ FreeRDP_FragCache,
+ FreeRDP_ClientTimeZone,
+ FreeRDP_ChannelDefArray,
+};
+
+#endif /* TEST_SETTINGS_PROPERTY_LISTS */
+
--- /dev/null
+#!/usr/bin/env python
+import os
+import sys
+
+def get_values(entry_dict, entry_type):
+ values = []
+ if '*' == entry_type:
+ for key in entry_dict.keys():
+ if entry_type in key:
+ values += entry_dict[key]
+ entry_dict.pop(key, None)
+ elif entry_type in entry_dict:
+ values = entry_dict[entry_type]
+ entry_dict.pop(entry_type, None)
+ return values
+
+def write_entry(f, entry_dict, entry_type, entry_name):
+ values = get_values(entry_dict, entry_type)
+ if not values:
+ return
+
+ f.write('#define have_' + entry_name.lower() + '_list_indices\n')
+ f.write('static const size_t ' + entry_name.lower() + '_list_indices[] =\n')
+ f.write('{\n')
+
+ for val in values:
+ f.write('\tFreeRDP_' + val + ',\n')
+
+ f.write('};\n\n')
+
+def write_getter_case(f, val):
+ f.write('\t\tcase FreeRDP_' + val + ':\n')
+ f.write('\t\t\treturn settings->' + val + ';\n\n')
+
+def write_getter(f, entry_dict, entry_type, entry_name):
+ isString = 'string' in entry_name
+ isPointer = 'pointer' in entry_name
+ values = get_values(entry_dict, entry_type)
+
+ if isPointer:
+ f.write('const void*')
+ elif isString:
+ f.write('const ' + entry_type)
+ else:
+ f.write(entry_type)
+ f.write(' freerdp_get_param_' + entry_name.lower() + '(rdpSettings* settings, size_t id)\n')
+ f.write('{\n')
+ f.write('\tif (!settings)\n')
+ f.write('\t\treturn FALSE;\n\n')
+ f.write('\tswitch (id)\n')
+ f.write('\t{\n')
+ if 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\treturn FALSE;\n')
+ f.write('\t}\n')
+ f.write('}\n\n')
+
+def write_setter_case(f, val, isString, isPointer):
+ f.write('\t\tcase FreeRDP_' + val + ':\n')
+ if not isString:
+ f.write('\t\t\tsettings->' + val + ' = val;\n')
+ f.write('\t\t\tbreak;\n\n')
+ else:
+ f.write('\t\t\tfree(settings->' + val + ');\n')
+ f.write('\t\t\tsettings->' + val + ' = _strdup(val);\n')
+ f.write('\t\t\treturn settings->' + val + ' != NULL;\n\n')
+
+def write_setter(f, entry_dict, entry_type, entry_name):
+ isString = 'string' in entry_name
+ isPointer = 'pointer' in entry_name
+ values = get_values(entry_dict, entry_type)
+
+ f.write('BOOL freerdp_set_param_' + entry_name.lower() + '(rdpSettings* settings, size_t id, ')
+ if isString or isPointer:
+ f.write('const ')
+ if not isPointer:
+ f.write(entry_type + ' val)\n')
+ else:
+ f.write('void* val)\n')
+ f.write('{\n')
+ f.write('\tif (!settings)\n')
+ f.write('\t\treturn FALSE;\n\n')
+ f.write('\tswitch (id)\n')
+ f.write('\t{\n')
+ if values:
+ 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\treturn FALSE;\n')
+ f.write('\t}\n')
+ f.write('\treturn TRUE;\n')
+ f.write('}\n\n')
+
+name = os.path.dirname(os.path.realpath(__file__))
+begin = "WARNING: this data structure is carefully padded for ABI stability!"
+end = "WARNING: End of ABI stable zone!"
+
+print('begin parsing settings header')
+try:
+ type_list = dict()
+
+ with open(name + "/../include/freerdp/settings.h", "rb") as f:
+ lines = f.readlines()
+ started = False
+ for line in lines:
+ if not started:
+ if begin in line:
+ started = True
+ continue
+
+ if end in line:
+ break
+
+ sline = line.strip()
+ if not sline:
+ continue
+ if sline.startswith('/'):
+ continue
+ if sline.startswith('*'):
+ continue
+ if 'padding' in sline:
+ continue
+
+ if sline.startswith('ALIGN64'):
+ sline = sline[7:].strip()
+
+ sline = sline[:sline.find(';')]
+ pair = sline.split()
+ if pair[0] in type_list:
+ type_list[pair[0]].append(pair[1])
+ else:
+ type_list[pair[0]] = [pair[1]]
+
+ with open(name + '/../libfreerdp/common/settings_getters.c', 'w+') as f:
+ f.write('/* Generated by ' + '' + ' */\n\n')
+ f.write('#include <freerdp/settings.h>\n')
+ f.write('#include <freerdp/log.h>\n\n')
+ f.write('#define TAG FREERDP_TAG("common.settings")\n\n')
+
+ getter_list = dict(type_list)
+ setter_list = dict(type_list)
+ write_getter(f, getter_list, 'BOOL', 'bool')
+ write_setter(f, setter_list, 'BOOL', 'bool')
+ write_getter(f, getter_list, 'UINT16', 'uint16')
+ write_setter(f, setter_list, 'UINT16', 'uint16')
+ write_getter(f, getter_list, 'INT16', 'int16')
+ write_setter(f, setter_list, 'INT16', 'int16')
+ write_getter(f, getter_list, 'UINT32', 'uint32')
+ write_setter(f, setter_list, 'UINT32', 'uint32')
+ write_getter(f, getter_list, 'INT32', 'int32')
+ write_setter(f, setter_list, 'INT32', 'int32')
+ write_getter(f, getter_list, 'UINT64', 'uint64')
+ write_setter(f, setter_list, 'UINT64', 'uint64')
+ write_getter(f, getter_list, 'INT64', 'int64')
+ write_setter(f, setter_list, 'INT64', 'int64')
+ write_getter(f, getter_list, 'char*', 'string')
+ write_setter(f, setter_list, 'char*', 'string')
+ write_getter(f, getter_list, '*', 'pointer')
+# write_setter(f, setter_list, '*', 'pointer')
+
+ f.write('\n')
+
+ with open(name + '/../libfreerdp/core/test/settings_property_lists.h', 'w+') as f:
+ f.write('#ifndef TEST_SETTINGS_PROPERTY_LISTS\n')
+ f.write('#define TEST_SETTINGS_PROPERTY_LISTS\n\n')
+
+ write_entry(f, type_list, 'BOOL', 'bool')
+ write_entry(f, type_list, 'UINT16', 'uint16')
+ write_entry(f, type_list, 'INT16', 'int16')
+ write_entry(f, type_list, 'UINT32', 'uint32')
+ write_entry(f, type_list, 'INT32', 'int32')
+ write_entry(f, type_list, 'UINT64', 'uint64')
+ write_entry(f, type_list, 'INT64', 'int64')
+ write_entry(f, type_list, 'char*', 'string')
+ write_entry(f, type_list, '*', 'pointer')
+
+ f.write('#endif /* TEST_SETTINGS_PROPERTY_LISTS */\n\n')
+
+ print('remaining:\n' + str(type_list))
+except IOError as e:
+ print('failed to parse settings header ' + str(e))
+ sys.exit(-1)
+print('ended parsing settings header')