#endif
#endif
+/**
+ * FreeRDP Settings Ids
+ * This is generated with a script parsing the rdpSettings data structure
+ */
+
+#define FreeRDP_instance 0
+#define FreeRDP_ServerMode 16
+#define FreeRDP_ShareId 17
+#define FreeRDP_PduSource 18
+#define FreeRDP_ServerPort 19
+#define FreeRDP_ServerHostname 20
+#define FreeRDP_Username 21
+#define FreeRDP_Password 22
+#define FreeRDP_Domain 23
+#define FreeRDP_RdpVersion 128
+#define FreeRDP_DesktopWidth 129
+#define FreeRDP_DesktopHeight 130
+#define FreeRDP_ColorDepth 131
+#define FreeRDP_ConnectionType 132
+#define FreeRDP_ClientBuild 133
+#define FreeRDP_ClientHostname 134
+#define FreeRDP_ClientProductId 135
+#define FreeRDP_EarlyCapabilitiesFlag 136
+#define FreeRDP_NetworkAutoDetect 137
+#define FreeRDP_SupportAsymetricKeys 138
+#define FreeRDP_SupportErrorInfoPdu 139
+#define FreeRDP_SupportStatusInfoPdu 140
+#define FreeRDP_SupportMonitorLayoutPdu 141
+#define FreeRDP_SupportGraphicsPipeline 142
+#define FreeRDP_SupportDynamicTimeZone 143
+#define FreeRDP_DisableEncryption 192
+#define FreeRDP_EncryptionMethods 193
+#define FreeRDP_ExtEncryptionMethods 194
+#define FreeRDP_EncryptionLevel 195
+#define FreeRDP_ServerRandom 196
+#define FreeRDP_ServerRandomLength 197
+#define FreeRDP_ServerCertificate 198
+#define FreeRDP_ServerCertificateLength 199
+#define FreeRDP_ChannelCount 256
+#define FreeRDP_ChannelDefArraySize 257
+#define FreeRDP_ChannelDefArray 258
+#define FreeRDP_ClusterInfoFlags 320
+#define FreeRDP_RedirectedSessionId 321
+#define FreeRDP_ConsoleSession 322
+#define FreeRDP_MonitorCount 384
+#define FreeRDP_MonitorDefArraySize 385
+#define FreeRDP_MonitorDefArray 386
+#define FreeRDP_SpanMonitors 387
+#define FreeRDP_UseMultimon 388
+#define FreeRDP_ForceMultimon 389
+#define FreeRDP_MultitransportFlags 512
+#define FreeRDP_AlternateShell 640
+#define FreeRDP_ShellWorkingDirectory 641
+#define FreeRDP_AutoLogonEnabled 704
+#define FreeRDP_CompressionEnabled 705
+#define FreeRDP_DisableCtrlAltDel 706
+#define FreeRDP_EnableWindowsKey 707
+#define FreeRDP_MaximizeShell 708
+#define FreeRDP_LogonNotify 709
+#define FreeRDP_LogonErrors 710
+#define FreeRDP_MouseAttached 711
+#define FreeRDP_MouseHasWheel 712
+#define FreeRDP_RemoteConsoleAudio 713
+#define FreeRDP_AudioPlayback 714
+#define FreeRDP_AudioCapture 715
+#define FreeRDP_VideoDisable 716
+#define FreeRDP_PasswordIsSmartcardPin 717
+#define FreeRDP_UsingSavedCredentials 718
+#define FreeRDP_ForceEncryptedCsPdu 719
+#define FreeRDP_IPv6Enabled 768
+#define FreeRDP_ClientAddress 769
+#define FreeRDP_ClientDir 770
+#define FreeRDP_AutoReconnectionEnabled 832
+#define FreeRDP_AutoReconnectMaxRetries 833
+#define FreeRDP_ClientAutoReconnectCookie 834
+#define FreeRDP_ServerAutoReconnectCookie 835
+#define FreeRDP_ClientTimeZone 896
+#define FreeRDP_DynamicDSTTimeZoneKeyName 897
+#define FreeRDP_DynamicDaylightTimeDisabled 898
+#define FreeRDP_PerformanceFlags 960
+#define FreeRDP_AllowFontSmoothing 961
+#define FreeRDP_DisableWallpaper 962
+#define FreeRDP_DisableFullWindowDrag 963
+#define FreeRDP_DisableMenuAnims 964
+#define FreeRDP_DisableThemes 965
+#define FreeRDP_DisableCursorShadow 966
+#define FreeRDP_DisableCursorBlinking 967
+#define FreeRDP_AllowDesktopComposition 968
+#define FreeRDP_TlsSecurity 1088
+#define FreeRDP_NlaSecurity 1089
+#define FreeRDP_RdpSecurity 1090
+#define FreeRDP_ExtSecurity 1091
+#define FreeRDP_Authentication 1092
+#define FreeRDP_RequestedProtocols 1093
+#define FreeRDP_SelectedProtocol 1094
+#define FreeRDP_NegotiationFlags 1095
+#define FreeRDP_NegotiateSecurityLayer 1096
+#define FreeRDP_MstscCookieMode 1152
+#define FreeRDP_CookieMaxLength 1153
+#define FreeRDP_PreconnectionId 1154
+#define FreeRDP_PreconnectionBlob 1155
+#define FreeRDP_SendPreconnectionPdu 1156
+#define FreeRDP_RedirectionFlags 1216
+#define FreeRDP_LoadBalanceInfo 1217
+#define FreeRDP_LoadBalanceInfoLength 1218
+#define FreeRDP_RedirectionUsername 1219
+#define FreeRDP_RedirectionUsernameLength 1220
+#define FreeRDP_RedirectionDomain 1221
+#define FreeRDP_RedirectionDomainLength 1222
+#define FreeRDP_RedirectionPassword 1223
+#define FreeRDP_RedirectionPasswordLength 1224
+#define FreeRDP_RedirectionTargetFQDN 1225
+#define FreeRDP_RedirectionTargetFQDNLength 1226
+#define FreeRDP_RedirectionTargetNetBiosName 1227
+#define FreeRDP_RedirectionTargetNetBiosNameLength 1228
+#define FreeRDP_RedirectionTsvUrl 1229
+#define FreeRDP_RedirectionTsvUrlLength 1230
+#define FreeRDP_TargetNetAddressCount 1231
+#define FreeRDP_TargetNetAddresses 1232
+#define FreeRDP_Password51 1280
+#define FreeRDP_Password51Length 1281
+#define FreeRDP_KerberosKdc 1344
+#define FreeRDP_KerberosRealm 1345
+#define FreeRDP_IgnoreCertificate 1408
+#define FreeRDP_CertificateName 1409
+#define FreeRDP_CertificateFile 1410
+#define FreeRDP_PrivateKeyFile 1411
+#define FreeRDP_RdpKeyFile 1412
+#define FreeRDP_RdpServerRsaKey 1413
+#define FreeRDP_RdpServerCertificate 1414
+#define FreeRDP_Workarea 1536
+#define FreeRDP_Fullscreen 1537
+#define FreeRDP_PercentScreen 1538
+#define FreeRDP_GrabKeyboard 1539
+#define FreeRDP_Decorations 1540
+#define FreeRDP_MouseMotion 1541
+#define FreeRDP_WindowTitle 1542
+#define FreeRDP_ParentWindowId 1543
+#define FreeRDP_AsyncInput 1544
+#define FreeRDP_AsyncUpdate 1545
+#define FreeRDP_AsyncChannels 1546
+#define FreeRDP_ToggleFullscreen 1547
+#define FreeRDP_SoftwareGdi 1601
+#define FreeRDP_LocalConnection 1602
+#define FreeRDP_AuthenticationOnly 1603
+#define FreeRDP_CredentialsFromStdin 1604
+#define FreeRDP_ComputerName 1664
+#define FreeRDP_ConnectionFile 1728
+#define FreeRDP_HomePath 1792
+#define FreeRDP_ConfigPath 1793
+#define FreeRDP_CurrentPath 1794
+#define FreeRDP_DumpRemoteFx 1856
+#define FreeRDP_PlayRemoteFx 1857
+#define FreeRDP_DumpRemoteFxFile 1858
+#define FreeRDP_PlayRemoteFxFile 1859
+#define FreeRDP_GatewayUsageMethod 1984
+#define FreeRDP_GatewayPort 1985
+#define FreeRDP_GatewayHostname 1986
+#define FreeRDP_GatewayUsername 1987
+#define FreeRDP_GatewayPassword 1988
+#define FreeRDP_GatewayDomain 1989
+#define FreeRDP_GatewayCredentialsSource 1990
+#define FreeRDP_GatewayUseSameCredentials 1991
+#define FreeRDP_RemoteApplicationMode 2112
+#define FreeRDP_RemoteApplicationName 2113
+#define FreeRDP_RemoteApplicationIcon 2114
+#define FreeRDP_RemoteApplicationProgram 2115
+#define FreeRDP_RemoteApplicationFile 2116
+#define FreeRDP_RemoteApplicationGuid 2117
+#define FreeRDP_RemoteApplicationCmdLine 2118
+#define FreeRDP_RemoteApplicationExpandCmdLine 2119
+#define FreeRDP_RemoteApplicationExpandWorkingDir 2120
+#define FreeRDP_DisableRemoteAppCapsCheck 2121
+#define FreeRDP_RemoteAppNumIconCaches 2122
+#define FreeRDP_RemoteAppNumIconCacheEntries 2123
+#define FreeRDP_RemoteAppLanguageBarSupported 2124
+#define FreeRDP_ReceivedCapabilities 2240
+#define FreeRDP_ReceivedCapabilitiesSize 2241
+#define FreeRDP_OsMajorType 2304
+#define FreeRDP_OsMinorType 2305
+#define FreeRDP_RefreshRect 2306
+#define FreeRDP_SuppressOutput 2307
+#define FreeRDP_FastPathOutput 2308
+#define FreeRDP_SaltedChecksum 2309
+#define FreeRDP_LongCredentialsSupported 2310
+#define FreeRDP_NoBitmapCompressionHeader 2311
+#define FreeRDP_DesktopResize 2368
+#define FreeRDP_DrawAllowDynamicColorFidelity 2369
+#define FreeRDP_DrawAllowColorSubsampling 2370
+#define FreeRDP_DrawAllowSkipAlpha 2371
+#define FreeRDP_OrderSupport 2432
+#define FreeRDP_BitmapCacheV3Enabled 2433
+#define FreeRDP_AltSecFrameMarkerSupport 2434
+#define FreeRDP_BitmapCacheEnabled 2497
+#define FreeRDP_BitmapCacheVersion 2498
+#define FreeRDP_AllowCacheWaitingList 2499
+#define FreeRDP_BitmapCachePersistEnabled 2500
+#define FreeRDP_BitmapCacheV2NumCells 2501
+#define FreeRDP_BitmapCacheV2CellInfo 2502
+#define FreeRDP_ColorPointerFlag 2560
+#define FreeRDP_PointerCacheSize 2561
+#define FreeRDP_KeyboardLayout 2624
+#define FreeRDP_KeyboardType 2625
+#define FreeRDP_KeyboardSubType 2626
+#define FreeRDP_KeyboardFunctionKey 2627
+#define FreeRDP_ImeFileName 2628
+#define FreeRDP_UnicodeInput 2629
+#define FreeRDP_FastPathInput 2630
+#define FreeRDP_BrushSupportLevel 2688
+#define FreeRDP_GlyphSupportLevel 2752
+#define FreeRDP_GlyphCache 2753
+#define FreeRDP_FragCache 2754
+#define FreeRDP_OffscreenSupportLevel 2816
+#define FreeRDP_OffscreenCacheSize 2817
+#define FreeRDP_OffscreenCacheEntries 2818
+#define FreeRDP_VirtualChannelCompressionFlags 2880
+#define FreeRDP_VirtualChannelChunkSize 2881
+#define FreeRDP_SoundBeepsEnabled 2944
+#define FreeRDP_MultifragMaxRequestSize 3328
+#define FreeRDP_LargePointerFlag 3392
+#define FreeRDP_CompDeskSupportLevel 3456
+#define FreeRDP_SurfaceCommandsEnabled 3520
+#define FreeRDP_FrameMarkerCommandEnabled 3521
+#define FreeRDP_RemoteFxOnly 3648
+#define FreeRDP_RemoteFxCodec 3649
+#define FreeRDP_RemoteFxCodecId 3650
+#define FreeRDP_RemoteFxCodecMode 3651
+#define FreeRDP_RemoteFxImageCodec 3652
+#define FreeRDP_NSCodec 3712
+#define FreeRDP_NSCodecId 3713
+#define FreeRDP_FrameAcknowledge 3714
+#define FreeRDP_JpegCodec 3776
+#define FreeRDP_JpegCodecId 3777
+#define FreeRDP_JpegQuality 3778
+#define FreeRDP_BitmapCacheV3CodecId 3904
+#define FreeRDP_DrawNineGridEnabled 3968
+#define FreeRDP_DrawNineGridCacheSize 3969
+#define FreeRDP_DrawNineGridCacheEntries 3970
+#define FreeRDP_DrawGdiPlusEnabled 4032
+#define FreeRDP_DrawGdiPlusCacheEnabled 4033
+#define FreeRDP_DeviceRedirection 4160
+#define FreeRDP_DeviceCount 4161
+#define FreeRDP_DeviceArraySize 4162
+#define FreeRDP_DeviceArray 4163
+#define FreeRDP_RedirectDrives 4288
+#define FreeRDP_RedirectHomeDrive 4289
+#define FreeRDP_DrivesToRedirect 4290
+#define FreeRDP_RedirectSmartCards 4416
+#define FreeRDP_RedirectPrinters 4544
+#define FreeRDP_RedirectSerialPorts 4672
+#define FreeRDP_RedirectParallelPorts 4673
+#define FreeRDP_RedirectClipboard 4800
+#define FreeRDP_StaticChannelCount 4928
+#define FreeRDP_StaticChannelArraySize 4929
+#define FreeRDP_StaticChannelArray 4930
+#define FreeRDP_DynamicChannelCount 5056
+#define FreeRDP_DynamicChannelArraySize 5057
+#define FreeRDP_DynamicChannelArray 5058
+
+/**
+ * FreeRDP Settings Data Structure
+ */
+
struct rdp_settings
{
/**
FREERDP_API ADDIN_ARGV* freerdp_dynamic_channel_collection_find(rdpSettings* settings, const char* name);
FREERDP_API void freerdp_dynamic_channel_collection_free(rdpSettings* settings);
+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 UINT32 freerdp_get_param_uint32(rdpSettings* settings, int id);
+FREERDP_API int freerdp_set_param_uint32(rdpSettings* settings, int id, UINT32 param);
+
+FREERDP_API char* freerdp_get_param_string(rdpSettings* settings, int id);
+FREERDP_API int freerdp_set_param_string(rdpSettings* settings, int id, char* param);
+
#ifdef __cplusplus
}
#endif
settings->DynamicChannelArray = NULL;
settings->DynamicChannelCount = 0;
}
+
+/**
+ * Partially Generated Code
+ */
+
+BOOL freerdp_get_param_bool(rdpSettings* settings, int id)
+{
+ switch (id)
+ {
+ case FreeRDP_ServerMode:
+ return settings->ServerMode;
+ break;
+
+ case FreeRDP_NetworkAutoDetect:
+ return settings->NetworkAutoDetect;
+ break;
+
+ case FreeRDP_SupportAsymetricKeys:
+ return settings->SupportAsymetricKeys;
+ break;
+
+ case FreeRDP_SupportErrorInfoPdu:
+ return settings->SupportErrorInfoPdu;
+ break;
+
+ case FreeRDP_SupportStatusInfoPdu:
+ return settings->SupportStatusInfoPdu;
+ break;
+
+ case FreeRDP_SupportMonitorLayoutPdu:
+ return settings->SupportMonitorLayoutPdu;
+ break;
+
+ case FreeRDP_SupportGraphicsPipeline:
+ return settings->SupportGraphicsPipeline;
+ break;
+
+ case FreeRDP_SupportDynamicTimeZone:
+ return settings->SupportDynamicTimeZone;
+ break;
+
+ case FreeRDP_DisableEncryption:
+ return settings->DisableEncryption;
+ break;
+
+ case FreeRDP_ConsoleSession:
+ return settings->ConsoleSession;
+ break;
+
+ case FreeRDP_SpanMonitors:
+ return settings->SpanMonitors;
+ break;
+
+ case FreeRDP_UseMultimon:
+ return settings->UseMultimon;
+ break;
+
+ case FreeRDP_ForceMultimon:
+ return settings->ForceMultimon;
+ break;
+
+ case FreeRDP_AutoLogonEnabled:
+ return settings->AutoLogonEnabled;
+ break;
+
+ case FreeRDP_CompressionEnabled:
+ return settings->CompressionEnabled;
+ break;
+
+ case FreeRDP_DisableCtrlAltDel:
+ return settings->DisableCtrlAltDel;
+ break;
+
+ case FreeRDP_EnableWindowsKey:
+ return settings->EnableWindowsKey;
+ break;
+
+ case FreeRDP_MaximizeShell:
+ return settings->MaximizeShell;
+ break;
+
+ case FreeRDP_LogonNotify:
+ return settings->LogonNotify;
+ break;
+
+ case FreeRDP_LogonErrors:
+ return settings->LogonErrors;
+ break;
+
+ case FreeRDP_MouseAttached:
+ return settings->MouseAttached;
+ break;
+
+ case FreeRDP_MouseHasWheel:
+ return settings->MouseHasWheel;
+ break;
+
+ case FreeRDP_RemoteConsoleAudio:
+ return settings->RemoteConsoleAudio;
+ break;
+
+ case FreeRDP_AudioPlayback:
+ return settings->AudioPlayback;
+ break;
+
+ case FreeRDP_AudioCapture:
+ return settings->AudioCapture;
+ break;
+
+ case FreeRDP_VideoDisable:
+ return settings->VideoDisable;
+ break;
+
+ case FreeRDP_PasswordIsSmartcardPin:
+ return settings->PasswordIsSmartcardPin;
+ break;
+
+ case FreeRDP_UsingSavedCredentials:
+ return settings->UsingSavedCredentials;
+ break;
+
+ case FreeRDP_ForceEncryptedCsPdu:
+ return settings->ForceEncryptedCsPdu;
+ break;
+
+ case FreeRDP_IPv6Enabled:
+ return settings->IPv6Enabled;
+ break;
+
+ case FreeRDP_AutoReconnectionEnabled:
+ return settings->AutoReconnectionEnabled;
+ break;
+
+ case FreeRDP_DynamicDaylightTimeDisabled:
+ return settings->DynamicDaylightTimeDisabled;
+ break;
+
+ case FreeRDP_AllowFontSmoothing:
+ return settings->AllowFontSmoothing;
+ break;
+
+ case FreeRDP_DisableWallpaper:
+ return settings->DisableWallpaper;
+ break;
+
+ case FreeRDP_DisableFullWindowDrag:
+ return settings->DisableFullWindowDrag;
+ break;
+
+ case FreeRDP_DisableMenuAnims:
+ return settings->DisableMenuAnims;
+ break;
+
+ case FreeRDP_DisableThemes:
+ return settings->DisableThemes;
+ break;
+
+ case FreeRDP_DisableCursorShadow:
+ return settings->DisableCursorShadow;
+ break;
+
+ case FreeRDP_DisableCursorBlinking:
+ return settings->DisableCursorBlinking;
+ break;
+
+ case FreeRDP_AllowDesktopComposition:
+ return settings->AllowDesktopComposition;
+ break;
+
+ case FreeRDP_TlsSecurity:
+ return settings->TlsSecurity;
+ break;
+
+ case FreeRDP_NlaSecurity:
+ return settings->NlaSecurity;
+ break;
+
+ case FreeRDP_RdpSecurity:
+ return settings->RdpSecurity;
+ break;
+
+ case FreeRDP_ExtSecurity:
+ return settings->ExtSecurity;
+ break;
+
+ case FreeRDP_Authentication:
+ return settings->Authentication;
+ break;
+
+ case FreeRDP_NegotiateSecurityLayer:
+ return settings->NegotiateSecurityLayer;
+ break;
+
+ case FreeRDP_MstscCookieMode:
+ return settings->MstscCookieMode;
+ break;
+
+ case FreeRDP_SendPreconnectionPdu:
+ return settings->SendPreconnectionPdu;
+ break;
+
+ case FreeRDP_IgnoreCertificate:
+ return settings->IgnoreCertificate;
+ break;
+
+ case FreeRDP_Workarea:
+ return settings->Workarea;
+ break;
+
+ case FreeRDP_Fullscreen:
+ return settings->Fullscreen;
+ break;
+
+ case FreeRDP_GrabKeyboard:
+ return settings->GrabKeyboard;
+ break;
+
+ case FreeRDP_Decorations:
+ return settings->Decorations;
+ break;
+
+ case FreeRDP_MouseMotion:
+ return settings->MouseMotion;
+ break;
+
+ case FreeRDP_AsyncInput:
+ return settings->AsyncInput;
+ break;
+
+ case FreeRDP_AsyncUpdate:
+ return settings->AsyncUpdate;
+ break;
+
+ case FreeRDP_AsyncChannels:
+ return settings->AsyncChannels;
+ break;
+
+ case FreeRDP_ToggleFullscreen:
+ return settings->ToggleFullscreen;
+ break;
+
+ case FreeRDP_SoftwareGdi:
+ return settings->SoftwareGdi;
+ break;
+
+ case FreeRDP_LocalConnection:
+ return settings->LocalConnection;
+ break;
+
+ case FreeRDP_AuthenticationOnly:
+ return settings->AuthenticationOnly;
+ break;
+
+ case FreeRDP_CredentialsFromStdin:
+ return settings->CredentialsFromStdin;
+ break;
+
+ case FreeRDP_DumpRemoteFx:
+ return settings->DumpRemoteFx;
+ break;
+
+ case FreeRDP_PlayRemoteFx:
+ return settings->PlayRemoteFx;
+ break;
+
+ case FreeRDP_GatewayUsageMethod:
+ return settings->GatewayUsageMethod;
+ break;
+
+ case FreeRDP_GatewayUseSameCredentials:
+ return settings->GatewayUseSameCredentials;
+ break;
+
+ case FreeRDP_RemoteApplicationMode:
+ return settings->RemoteApplicationMode;
+ break;
+
+ case FreeRDP_RemoteAppLanguageBarSupported:
+ return settings->RemoteAppLanguageBarSupported;
+ break;
+
+ case FreeRDP_RefreshRect:
+ return settings->RefreshRect;
+ break;
+
+ case FreeRDP_SuppressOutput:
+ return settings->SuppressOutput;
+ break;
+
+ case FreeRDP_FastPathOutput:
+ return settings->FastPathOutput;
+ break;
+
+ case FreeRDP_SaltedChecksum:
+ return settings->SaltedChecksum;
+ break;
+
+ case FreeRDP_LongCredentialsSupported:
+ return settings->LongCredentialsSupported;
+ break;
+
+ case FreeRDP_NoBitmapCompressionHeader:
+ return settings->NoBitmapCompressionHeader;
+ break;
+
+ case FreeRDP_DesktopResize:
+ return settings->DesktopResize;
+ break;
+
+ case FreeRDP_DrawAllowDynamicColorFidelity:
+ return settings->DrawAllowDynamicColorFidelity;
+ break;
+
+ case FreeRDP_DrawAllowColorSubsampling:
+ return settings->DrawAllowColorSubsampling;
+ break;
+
+ case FreeRDP_DrawAllowSkipAlpha:
+ return settings->DrawAllowSkipAlpha;
+ break;
+
+ case FreeRDP_BitmapCacheV3Enabled:
+ return settings->BitmapCacheV3Enabled;
+ break;
+
+ case FreeRDP_AltSecFrameMarkerSupport:
+ return settings->AltSecFrameMarkerSupport;
+ break;
+
+ case FreeRDP_BitmapCacheEnabled:
+ return settings->BitmapCacheEnabled;
+ break;
+
+ case FreeRDP_AllowCacheWaitingList:
+ return settings->AllowCacheWaitingList;
+ break;
+
+ case FreeRDP_BitmapCachePersistEnabled:
+ return settings->BitmapCachePersistEnabled;
+ break;
+
+ case FreeRDP_ColorPointerFlag:
+ return settings->ColorPointerFlag;
+ break;
+
+ case FreeRDP_UnicodeInput:
+ return settings->UnicodeInput;
+ break;
+
+ case FreeRDP_FastPathInput:
+ return settings->FastPathInput;
+ break;
+
+ case FreeRDP_SoundBeepsEnabled:
+ return settings->SoundBeepsEnabled;
+ break;
+
+ case FreeRDP_SurfaceCommandsEnabled:
+ return settings->SurfaceCommandsEnabled;
+ break;
+
+ case FreeRDP_FrameMarkerCommandEnabled:
+ return settings->FrameMarkerCommandEnabled;
+ break;
+
+ case FreeRDP_RemoteFxOnly:
+ return settings->RemoteFxOnly;
+ break;
+
+ case FreeRDP_RemoteFxCodec:
+ return settings->RemoteFxCodec;
+ break;
+
+ case FreeRDP_RemoteFxImageCodec:
+ return settings->RemoteFxImageCodec;
+ break;
+
+ case FreeRDP_NSCodec:
+ return settings->NSCodec;
+ break;
+
+ case FreeRDP_FrameAcknowledge:
+ return settings->FrameAcknowledge;
+ break;
+
+ case FreeRDP_JpegCodec:
+ return settings->JpegCodec;
+ break;
+
+ case FreeRDP_DrawNineGridEnabled:
+ return settings->DrawNineGridEnabled;
+ break;
+
+ case FreeRDP_DrawGdiPlusEnabled:
+ return settings->DrawGdiPlusEnabled;
+ break;
+
+ case FreeRDP_DrawGdiPlusCacheEnabled:
+ return settings->DrawGdiPlusCacheEnabled;
+ break;
+
+ case FreeRDP_DeviceRedirection:
+ return settings->DeviceRedirection;
+ break;
+
+ case FreeRDP_RedirectDrives:
+ return settings->RedirectDrives;
+ break;
+
+ case FreeRDP_RedirectHomeDrive:
+ return settings->RedirectHomeDrive;
+ break;
+
+ case FreeRDP_RedirectSmartCards:
+ return settings->RedirectSmartCards;
+ break;
+
+ case FreeRDP_RedirectPrinters:
+ return settings->RedirectPrinters;
+ break;
+
+ case FreeRDP_RedirectSerialPorts:
+ return settings->RedirectSerialPorts;
+ break;
+
+ case FreeRDP_RedirectParallelPorts:
+ return settings->RedirectParallelPorts;
+ break;
+
+ case FreeRDP_RedirectClipboard:
+ return settings->RedirectClipboard;
+ break;
+
+ default:
+ return -1;
+ break;
+ }
+
+ 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_DisableEncryption:
+ settings->DisableEncryption = 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_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_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_MstscCookieMode:
+ settings->MstscCookieMode = param;
+ break;
+
+ case FreeRDP_SendPreconnectionPdu:
+ settings->SendPreconnectionPdu = param;
+ break;
+
+ case FreeRDP_IgnoreCertificate:
+ settings->IgnoreCertificate = 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_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_GatewayUsageMethod:
+ settings->GatewayUsageMethod = param;
+ break;
+
+ case FreeRDP_GatewayUseSameCredentials:
+ settings->GatewayUseSameCredentials = param;
+ break;
+
+ case FreeRDP_RemoteApplicationMode:
+ settings->RemoteApplicationMode = 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_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_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_FrameAcknowledge:
+ settings->FrameAcknowledge = param;
+ break;
+
+ case FreeRDP_JpegCodec:
+ settings->JpegCodec = 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;
+
+ default:
+ return -1;
+ break;
+ }
+
+ return -1;
+}
+
+UINT32 freerdp_get_param_uint32(rdpSettings* settings, int id)
+{
+ switch (id)
+ {
+ case FreeRDP_ShareId:
+ return settings->ShareId;
+ break;
+
+ case FreeRDP_PduSource:
+ return settings->PduSource;
+ break;
+
+ case FreeRDP_ServerPort:
+ return settings->ServerPort;
+ break;
+
+ case FreeRDP_RdpVersion:
+ return settings->RdpVersion;
+ break;
+
+ case FreeRDP_DesktopWidth:
+ return settings->DesktopWidth;
+ break;
+
+ case FreeRDP_DesktopHeight:
+ return settings->DesktopHeight;
+ break;
+
+ case FreeRDP_ColorDepth:
+ return settings->ColorDepth;
+ break;
+
+ case FreeRDP_ConnectionType:
+ return settings->ConnectionType;
+ break;
+
+ case FreeRDP_ClientBuild:
+ return settings->ClientBuild;
+ break;
+
+ case FreeRDP_EarlyCapabilitiesFlag:
+ return settings->EarlyCapabilitiesFlag;
+ break;
+
+ case FreeRDP_EncryptionMethods:
+ return settings->EncryptionMethods;
+ break;
+
+ case FreeRDP_ExtEncryptionMethods:
+ return settings->ExtEncryptionMethods;
+ break;
+
+ case FreeRDP_EncryptionLevel:
+ return settings->EncryptionLevel;
+ break;
+
+ case FreeRDP_ChannelCount:
+ return settings->ChannelCount;
+ break;
+
+ case FreeRDP_ChannelDefArraySize:
+ return settings->ChannelDefArraySize;
+ break;
+
+ case FreeRDP_ClusterInfoFlags:
+ return settings->ClusterInfoFlags;
+ break;
+
+ case FreeRDP_RedirectedSessionId:
+ return settings->RedirectedSessionId;
+ break;
+
+ case FreeRDP_MonitorDefArraySize:
+ return settings->MonitorDefArraySize;
+ break;
+
+ case FreeRDP_MultitransportFlags:
+ return settings->MultitransportFlags;
+ break;
+
+ case FreeRDP_AutoReconnectMaxRetries:
+ return settings->AutoReconnectMaxRetries;
+ break;
+
+ case FreeRDP_PerformanceFlags:
+ return settings->PerformanceFlags;
+ break;
+
+ case FreeRDP_RequestedProtocols:
+ return settings->RequestedProtocols;
+ break;
+
+ case FreeRDP_SelectedProtocol:
+ return settings->SelectedProtocol;
+ break;
+
+ case FreeRDP_NegotiationFlags:
+ return settings->NegotiationFlags;
+ break;
+
+ case FreeRDP_CookieMaxLength:
+ return settings->CookieMaxLength;
+ break;
+
+ case FreeRDP_PreconnectionId:
+ return settings->PreconnectionId;
+ break;
+
+ case FreeRDP_RedirectionFlags:
+ return settings->RedirectionFlags;
+ break;
+
+ case FreeRDP_LoadBalanceInfoLength:
+ return settings->LoadBalanceInfoLength;
+ break;
+
+ case FreeRDP_RedirectionUsernameLength:
+ return settings->RedirectionUsernameLength;
+ break;
+
+ case FreeRDP_RedirectionDomainLength:
+ return settings->RedirectionDomainLength;
+ break;
+
+ case FreeRDP_RedirectionPasswordLength:
+ return settings->RedirectionPasswordLength;
+ break;
+
+ case FreeRDP_RedirectionTargetFQDNLength:
+ return settings->RedirectionTargetFQDNLength;
+ break;
+
+ case FreeRDP_RedirectionTargetNetBiosNameLength:
+ return settings->RedirectionTargetNetBiosNameLength;
+ break;
+
+ case FreeRDP_RedirectionTsvUrlLength:
+ return settings->RedirectionTsvUrlLength;
+ break;
+
+ case FreeRDP_TargetNetAddressCount:
+ return settings->TargetNetAddressCount;
+ break;
+
+ case FreeRDP_PercentScreen:
+ return settings->PercentScreen;
+ break;
+
+ case FreeRDP_GatewayPort:
+ return settings->GatewayPort;
+ break;
+
+ case FreeRDP_GatewayCredentialsSource:
+ return settings->GatewayCredentialsSource;
+ break;
+
+ case FreeRDP_RemoteAppNumIconCaches:
+ return settings->RemoteAppNumIconCaches;
+ break;
+
+ case FreeRDP_RemoteAppNumIconCacheEntries:
+ return settings->RemoteAppNumIconCacheEntries;
+ break;
+
+ case FreeRDP_ReceivedCapabilitiesSize:
+ return settings->ReceivedCapabilitiesSize;
+ break;
+
+ case FreeRDP_OsMajorType:
+ return settings->OsMajorType;
+ break;
+
+ case FreeRDP_OsMinorType:
+ return settings->OsMinorType;
+ break;
+
+ case FreeRDP_BitmapCacheVersion:
+ return settings->BitmapCacheVersion;
+ break;
+
+ case FreeRDP_BitmapCacheV2NumCells:
+ return settings->BitmapCacheV2NumCells;
+ break;
+
+ case FreeRDP_PointerCacheSize:
+ return settings->PointerCacheSize;
+ break;
+
+ case FreeRDP_KeyboardLayout:
+ return settings->KeyboardLayout;
+ break;
+
+ case FreeRDP_KeyboardType:
+ return settings->KeyboardType;
+ break;
+
+ case FreeRDP_KeyboardSubType:
+ return settings->KeyboardSubType;
+ break;
+
+ case FreeRDP_KeyboardFunctionKey:
+ return settings->KeyboardFunctionKey;
+ break;
+
+ case FreeRDP_BrushSupportLevel:
+ return settings->BrushSupportLevel;
+ break;
+
+ case FreeRDP_GlyphSupportLevel:
+ return settings->GlyphSupportLevel;
+ break;
+
+ case FreeRDP_OffscreenSupportLevel:
+ return settings->OffscreenSupportLevel;
+ break;
+
+ case FreeRDP_OffscreenCacheSize:
+ return settings->OffscreenCacheSize;
+ break;
+
+ case FreeRDP_OffscreenCacheEntries:
+ return settings->OffscreenCacheEntries;
+ break;
+
+ case FreeRDP_VirtualChannelCompressionFlags:
+ return settings->VirtualChannelCompressionFlags;
+ break;
+
+ case FreeRDP_VirtualChannelChunkSize:
+ return settings->VirtualChannelChunkSize;
+ break;
+
+ case FreeRDP_MultifragMaxRequestSize:
+ return settings->MultifragMaxRequestSize;
+ break;
+
+ case FreeRDP_LargePointerFlag:
+ return settings->LargePointerFlag;
+ break;
+
+ case FreeRDP_CompDeskSupportLevel:
+ return settings->CompDeskSupportLevel;
+ break;
+
+ case FreeRDP_RemoteFxCodecId:
+ return settings->RemoteFxCodecId;
+ break;
+
+ case FreeRDP_RemoteFxCodecMode:
+ return settings->RemoteFxCodecMode;
+ break;
+
+ case FreeRDP_NSCodecId:
+ return settings->NSCodecId;
+ break;
+
+ case FreeRDP_JpegCodecId:
+ return settings->JpegCodecId;
+ break;
+
+ case FreeRDP_JpegQuality:
+ return settings->JpegQuality;
+ break;
+
+ case FreeRDP_BitmapCacheV3CodecId:
+ return settings->BitmapCacheV3CodecId;
+ break;
+
+ case FreeRDP_DrawNineGridCacheSize:
+ return settings->DrawNineGridCacheSize;
+ break;
+
+ case FreeRDP_DrawNineGridCacheEntries:
+ return settings->DrawNineGridCacheEntries;
+ break;
+
+ case FreeRDP_DeviceCount:
+ return settings->DeviceCount;
+ break;
+
+ case FreeRDP_DeviceArraySize:
+ return settings->DeviceArraySize;
+ break;
+
+ case FreeRDP_StaticChannelCount:
+ return settings->StaticChannelCount;
+ break;
+
+ case FreeRDP_StaticChannelArraySize:
+ return settings->StaticChannelArraySize;
+ break;
+
+ case FreeRDP_DynamicChannelCount:
+ return settings->DynamicChannelCount;
+ break;
+
+ case FreeRDP_DynamicChannelArraySize:
+ return settings->DynamicChannelArraySize;
+ break;
+
+ default:
+ return 0;
+ break;
+ }
+
+ 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_EarlyCapabilitiesFlag:
+ settings->EarlyCapabilitiesFlag = 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_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_MultitransportFlags:
+ settings->MultitransportFlags = 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_RedirectionUsernameLength:
+ settings->RedirectionUsernameLength = param;
+ break;
+
+ case FreeRDP_RedirectionDomainLength:
+ settings->RedirectionDomainLength = param;
+ break;
+
+ case FreeRDP_RedirectionPasswordLength:
+ settings->RedirectionPasswordLength = param;
+ break;
+
+ case FreeRDP_RedirectionTargetFQDNLength:
+ settings->RedirectionTargetFQDNLength = param;
+ break;
+
+ case FreeRDP_RedirectionTargetNetBiosNameLength:
+ settings->RedirectionTargetNetBiosNameLength = 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_GatewayPort:
+ settings->GatewayPort = param;
+ break;
+
+ case FreeRDP_GatewayCredentialsSource:
+ settings->GatewayCredentialsSource = 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_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_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;
+
+ default:
+ return -1;
+ break;
+ }
+
+ return 0;
+}
+
+char* freerdp_get_param_string(rdpSettings* settings, int id)
+{
+ switch (id)
+ {
+ case FreeRDP_ServerHostname:
+ return settings->ServerHostname;
+ break;
+
+ case FreeRDP_Username:
+ return settings->Username;
+ break;
+
+ case FreeRDP_Password:
+ return settings->Password;
+ break;
+
+ case FreeRDP_Domain:
+ return settings->Domain;
+ break;
+
+ case FreeRDP_ClientHostname:
+ return settings->ClientHostname;
+ break;
+
+ case FreeRDP_ClientProductId:
+ return settings->ClientProductId;
+ break;
+
+ case FreeRDP_AlternateShell:
+ return settings->AlternateShell;
+ break;
+
+ case FreeRDP_ShellWorkingDirectory:
+ return settings->ShellWorkingDirectory;
+ break;
+
+ case FreeRDP_ClientAddress:
+ return settings->ClientAddress;
+ break;
+
+ case FreeRDP_ClientDir:
+ return settings->ClientDir;
+ break;
+
+ case FreeRDP_DynamicDSTTimeZoneKeyName:
+ return settings->DynamicDSTTimeZoneKeyName;
+ break;
+
+ case FreeRDP_PreconnectionBlob:
+ return settings->PreconnectionBlob;
+ break;
+
+ case FreeRDP_KerberosKdc:
+ return settings->KerberosKdc;
+ break;
+
+ case FreeRDP_KerberosRealm:
+ return settings->KerberosRealm;
+ break;
+
+ case FreeRDP_CertificateName:
+ return settings->CertificateName;
+ break;
+
+ case FreeRDP_CertificateFile:
+ return settings->CertificateFile;
+ break;
+
+ case FreeRDP_PrivateKeyFile:
+ return settings->PrivateKeyFile;
+ break;
+
+ case FreeRDP_RdpKeyFile:
+ return settings->RdpKeyFile;
+ break;
+
+ case FreeRDP_WindowTitle:
+ return settings->WindowTitle;
+ break;
+
+ case FreeRDP_ComputerName:
+ return settings->ComputerName;
+ break;
+
+ case FreeRDP_ConnectionFile:
+ return settings->ConnectionFile;
+ break;
+
+ case FreeRDP_HomePath:
+ return settings->HomePath;
+ break;
+
+ case FreeRDP_ConfigPath:
+ return settings->ConfigPath;
+ break;
+
+ case FreeRDP_CurrentPath:
+ return settings->CurrentPath;
+ break;
+
+ case FreeRDP_DumpRemoteFxFile:
+ return settings->DumpRemoteFxFile;
+ break;
+
+ case FreeRDP_PlayRemoteFxFile:
+ return settings->PlayRemoteFxFile;
+ break;
+
+ case FreeRDP_GatewayHostname:
+ return settings->GatewayHostname;
+ break;
+
+ case FreeRDP_GatewayUsername:
+ return settings->GatewayUsername;
+ break;
+
+ case FreeRDP_GatewayPassword:
+ return settings->GatewayPassword;
+ break;
+
+ case FreeRDP_GatewayDomain:
+ return settings->GatewayDomain;
+ break;
+
+ case FreeRDP_RemoteApplicationName:
+ return settings->RemoteApplicationName;
+ break;
+
+ case FreeRDP_RemoteApplicationIcon:
+ return settings->RemoteApplicationIcon;
+ break;
+
+ case FreeRDP_RemoteApplicationProgram:
+ return settings->RemoteApplicationProgram;
+ break;
+
+ case FreeRDP_RemoteApplicationFile:
+ return settings->RemoteApplicationFile;
+ break;
+
+ case FreeRDP_RemoteApplicationGuid:
+ return settings->RemoteApplicationGuid;
+ break;
+
+ case FreeRDP_RemoteApplicationCmdLine:
+ return settings->RemoteApplicationCmdLine;
+ break;
+
+ case FreeRDP_ImeFileName:
+ return settings->ImeFileName;
+ break;
+
+ case FreeRDP_DrivesToRedirect:
+ return settings->DrivesToRedirect;
+ break;
+
+ default:
+ return NULL;
+ break;
+ }
+
+ return NULL;
+}
+
+int freerdp_set_param_string(rdpSettings* settings, int id, char* param)
+{
+ switch (id)
+ {
+ case FreeRDP_ServerHostname:
+ settings->ServerHostname = _strdup(param);
+ break;
+
+ case FreeRDP_Username:
+ settings->Username = _strdup(param);
+ break;
+
+ case FreeRDP_Password:
+ settings->Password = _strdup(param);
+ break;
+
+ case FreeRDP_Domain:
+ settings->Domain = _strdup(param);
+ break;
+
+ case FreeRDP_ClientHostname:
+ settings->ClientHostname = _strdup(param);
+ break;
+
+ case FreeRDP_ClientProductId:
+ settings->ClientProductId = _strdup(param);
+ break;
+
+ case FreeRDP_AlternateShell:
+ settings->AlternateShell = _strdup(param);
+ break;
+
+ case FreeRDP_ShellWorkingDirectory:
+ settings->ShellWorkingDirectory = _strdup(param);
+ break;
+
+ case FreeRDP_ClientAddress:
+ settings->ClientAddress = _strdup(param);
+ break;
+
+ case FreeRDP_ClientDir:
+ settings->ClientDir = _strdup(param);
+ break;
+
+ case FreeRDP_DynamicDSTTimeZoneKeyName:
+ settings->DynamicDSTTimeZoneKeyName = _strdup(param);
+ break;
+
+ case FreeRDP_PreconnectionBlob:
+ settings->PreconnectionBlob = _strdup(param);
+ break;
+
+ case FreeRDP_KerberosKdc:
+ settings->KerberosKdc = _strdup(param);
+ break;
+
+ case FreeRDP_KerberosRealm:
+ settings->KerberosRealm = _strdup(param);
+ break;
+
+ case FreeRDP_CertificateName:
+ settings->CertificateName = _strdup(param);
+ break;
+
+ case FreeRDP_CertificateFile:
+ settings->CertificateFile = _strdup(param);
+ break;
+
+ case FreeRDP_PrivateKeyFile:
+ settings->PrivateKeyFile = _strdup(param);
+ break;
+
+ case FreeRDP_RdpKeyFile:
+ settings->RdpKeyFile = _strdup(param);
+ break;
+
+ case FreeRDP_WindowTitle:
+ settings->WindowTitle = _strdup(param);
+ break;
+
+ case FreeRDP_ComputerName:
+ settings->ComputerName = _strdup(param);
+ break;
+
+ case FreeRDP_ConnectionFile:
+ settings->ConnectionFile = _strdup(param);
+ break;
+
+ case FreeRDP_HomePath:
+ settings->HomePath = _strdup(param);
+ break;
+
+ case FreeRDP_ConfigPath:
+ settings->ConfigPath = _strdup(param);
+ break;
+
+ case FreeRDP_CurrentPath:
+ settings->CurrentPath = _strdup(param);
+ break;
+
+ case FreeRDP_DumpRemoteFxFile:
+ settings->DumpRemoteFxFile = _strdup(param);
+ break;
+
+ case FreeRDP_PlayRemoteFxFile:
+ settings->PlayRemoteFxFile = _strdup(param);
+ break;
+
+ case FreeRDP_GatewayHostname:
+ settings->GatewayHostname = _strdup(param);
+ break;
+
+ case FreeRDP_GatewayUsername:
+ settings->GatewayUsername = _strdup(param);
+ break;
+
+ case FreeRDP_GatewayPassword:
+ settings->GatewayPassword = _strdup(param);
+ break;
+
+ case FreeRDP_GatewayDomain:
+ settings->GatewayDomain = _strdup(param);
+ break;
+
+ case FreeRDP_RemoteApplicationName:
+ settings->RemoteApplicationName = _strdup(param);
+ break;
+
+ case FreeRDP_RemoteApplicationIcon:
+ settings->RemoteApplicationIcon = _strdup(param);
+ break;
+
+ case FreeRDP_RemoteApplicationProgram:
+ settings->RemoteApplicationProgram = _strdup(param);
+ break;
+
+ case FreeRDP_RemoteApplicationFile:
+ settings->RemoteApplicationFile = _strdup(param);
+ break;
+
+ case FreeRDP_RemoteApplicationGuid:
+ settings->RemoteApplicationGuid = _strdup(param);
+ break;
+
+ case FreeRDP_RemoteApplicationCmdLine:
+ settings->RemoteApplicationCmdLine = _strdup(param);
+ break;
+
+ case FreeRDP_ImeFileName:
+ settings->ImeFileName = _strdup(param);
+ break;
+
+ case FreeRDP_DrivesToRedirect:
+ settings->DrivesToRedirect = _strdup(param);
+ break;
+
+ default:
+ return -1;
+ break;
+ }
+
+ return 0;
+}