3#include "../core/settings.h"
5#include <winpr/assert.h>
6#include <freerdp/settings.h>
7#include <freerdp/log.h>
9#define TAG FREERDP_TAG("common.settings")
11static void free_string(
char** current, BOOL cleanup)
16 memset(*current, 0, strlen(*current));
22static BOOL alloc_empty_string(
char** current,
const char* next,
size_t next_len)
24 if (!next && (next_len > 0))
26 *current = calloc(next_len, 1);
27 return (*current != NULL);
32static BOOL update_string_copy_(
char** current,
const char* next,
size_t next_len, BOOL cleanup)
34 free_string(current, cleanup);
36 if (alloc_empty_string(current, next, next_len))
39 *current = (next ? strndup(next, next_len) : NULL);
40 return !next || (*current != NULL);
43static BOOL update_string_(
char** current,
char* next,
size_t next_len)
45 free_string(current, TRUE);
47 if (alloc_empty_string(current, next, next_len))
51 return !next || (*current != NULL);
55 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Bool
id)
57 WINPR_ASSERT(settings);
61 case FreeRDP_AadSecurity:
62 return settings->AadSecurity;
64 case FreeRDP_AllowCacheWaitingList:
65 return settings->AllowCacheWaitingList;
67 case FreeRDP_AllowDesktopComposition:
68 return settings->AllowDesktopComposition;
70 case FreeRDP_AllowFontSmoothing:
71 return settings->AllowFontSmoothing;
73 case FreeRDP_AllowUnanouncedOrdersFromServer:
74 return settings->AllowUnanouncedOrdersFromServer;
76 case FreeRDP_AltSecFrameMarkerSupport:
77 return settings->AltSecFrameMarkerSupport;
79 case FreeRDP_AsyncChannels:
80 return settings->AsyncChannels;
82 case FreeRDP_AsyncUpdate:
83 return settings->AsyncUpdate;
85 case FreeRDP_AudioCapture:
86 return settings->AudioCapture;
88 case FreeRDP_AudioPlayback:
89 return settings->AudioPlayback;
91 case FreeRDP_Authentication:
92 return settings->Authentication;
94 case FreeRDP_AuthenticationOnly:
95 return settings->AuthenticationOnly;
97 case FreeRDP_AutoAcceptCertificate:
98 return settings->AutoAcceptCertificate;
100 case FreeRDP_AutoDenyCertificate:
101 return settings->AutoDenyCertificate;
103 case FreeRDP_AutoLogonEnabled:
104 return settings->AutoLogonEnabled;
106 case FreeRDP_AutoReconnectionEnabled:
107 return settings->AutoReconnectionEnabled;
109 case FreeRDP_AutoReconnectionPacketSupported:
110 return settings->AutoReconnectionPacketSupported;
112 case FreeRDP_BitmapCacheEnabled:
113 return settings->BitmapCacheEnabled;
115 case FreeRDP_BitmapCachePersistEnabled:
116 return settings->BitmapCachePersistEnabled;
118 case FreeRDP_BitmapCacheV3Enabled:
119 return settings->BitmapCacheV3Enabled;
121 case FreeRDP_BitmapCompressionDisabled:
122 return settings->BitmapCompressionDisabled;
124 case FreeRDP_CertificateCallbackPreferPEM:
125 return settings->CertificateCallbackPreferPEM;
127 case FreeRDP_CompressionEnabled:
128 return settings->CompressionEnabled;
130 case FreeRDP_ConnectChildSession:
131 return settings->ConnectChildSession;
133 case FreeRDP_ConsoleSession:
134 return settings->ConsoleSession;
136 case FreeRDP_CredentialsFromStdin:
137 return settings->CredentialsFromStdin;
139 case FreeRDP_DeactivateClientDecoding:
140 return settings->DeactivateClientDecoding;
142 case FreeRDP_Decorations:
143 return settings->Decorations;
145 case FreeRDP_DesktopResize:
146 return settings->DesktopResize;
148 case FreeRDP_DeviceRedirection:
149 return settings->DeviceRedirection;
151 case FreeRDP_DisableCredentialsDelegation:
152 return settings->DisableCredentialsDelegation;
154 case FreeRDP_DisableCtrlAltDel:
155 return settings->DisableCtrlAltDel;
157 case FreeRDP_DisableCursorBlinking:
158 return settings->DisableCursorBlinking;
160 case FreeRDP_DisableCursorShadow:
161 return settings->DisableCursorShadow;
163 case FreeRDP_DisableFullWindowDrag:
164 return settings->DisableFullWindowDrag;
166 case FreeRDP_DisableMenuAnims:
167 return settings->DisableMenuAnims;
169 case FreeRDP_DisableRemoteAppCapsCheck:
170 return settings->DisableRemoteAppCapsCheck;
172 case FreeRDP_DisableThemes:
173 return settings->DisableThemes;
175 case FreeRDP_DisableWallpaper:
176 return settings->DisableWallpaper;
178 case FreeRDP_DrawAllowColorSubsampling:
179 return settings->DrawAllowColorSubsampling;
181 case FreeRDP_DrawAllowDynamicColorFidelity:
182 return settings->DrawAllowDynamicColorFidelity;
184 case FreeRDP_DrawAllowSkipAlpha:
185 return settings->DrawAllowSkipAlpha;
187 case FreeRDP_DrawGdiPlusCacheEnabled:
188 return settings->DrawGdiPlusCacheEnabled;
190 case FreeRDP_DrawGdiPlusEnabled:
191 return settings->DrawGdiPlusEnabled;
193 case FreeRDP_DrawNineGridEnabled:
194 return settings->DrawNineGridEnabled;
196 case FreeRDP_DumpRemoteFx:
197 return settings->DumpRemoteFx;
199 case FreeRDP_DynamicDaylightTimeDisabled:
200 return settings->DynamicDaylightTimeDisabled;
202 case FreeRDP_DynamicResolutionUpdate:
203 return settings->DynamicResolutionUpdate;
205 case FreeRDP_EmbeddedWindow:
206 return settings->EmbeddedWindow;
208 case FreeRDP_EnableWindowsKey:
209 return settings->EnableWindowsKey;
211 case FreeRDP_EncomspVirtualChannel:
212 return settings->EncomspVirtualChannel;
214 case FreeRDP_ExtSecurity:
215 return settings->ExtSecurity;
217 case FreeRDP_ExternalCertificateManagement:
218 return settings->ExternalCertificateManagement;
220 case FreeRDP_FIPSMode:
221 return settings->FIPSMode;
223 case FreeRDP_FastPathInput:
224 return settings->FastPathInput;
226 case FreeRDP_FastPathOutput:
227 return settings->FastPathOutput;
229 case FreeRDP_ForceEncryptedCsPdu:
230 return settings->ForceEncryptedCsPdu;
232 case FreeRDP_ForceMultimon:
233 return settings->ForceMultimon;
235 case FreeRDP_FrameMarkerCommandEnabled:
236 return settings->FrameMarkerCommandEnabled;
238 case FreeRDP_Fullscreen:
239 return settings->Fullscreen;
241 case FreeRDP_GatewayArmTransport:
242 return settings->GatewayArmTransport;
244 case FreeRDP_GatewayAvdUseTenantid:
245 return settings->GatewayAvdUseTenantid;
247 case FreeRDP_GatewayBypassLocal:
248 return settings->GatewayBypassLocal;
250 case FreeRDP_GatewayEnabled:
251 return settings->GatewayEnabled;
253 case FreeRDP_GatewayHttpExtAuthSspiNtlm:
254 return settings->GatewayHttpExtAuthSspiNtlm;
256 case FreeRDP_GatewayHttpTransport:
257 return settings->GatewayHttpTransport;
259 case FreeRDP_GatewayHttpUseWebsockets:
260 return settings->GatewayHttpUseWebsockets;
262 case FreeRDP_GatewayIgnoreRedirectionPolicy:
263 return settings->GatewayIgnoreRedirectionPolicy;
265 case FreeRDP_GatewayRpcTransport:
266 return settings->GatewayRpcTransport;
268 case FreeRDP_GatewayUdpTransport:
269 return settings->GatewayUdpTransport;
271 case FreeRDP_GatewayUseSameCredentials:
272 return settings->GatewayUseSameCredentials;
274 case FreeRDP_GfxAVC444:
275 return settings->GfxAVC444;
277 case FreeRDP_GfxAVC444v2:
278 return settings->GfxAVC444v2;
280 case FreeRDP_GfxH264:
281 return settings->GfxH264;
283 case FreeRDP_GfxPlanar:
284 return settings->GfxPlanar;
286 case FreeRDP_GfxProgressive:
287 return settings->GfxProgressive;
289 case FreeRDP_GfxProgressiveV2:
290 return settings->GfxProgressiveV2;
292 case FreeRDP_GfxSendQoeAck:
293 return settings->GfxSendQoeAck;
295 case FreeRDP_GfxSmallCache:
296 return settings->GfxSmallCache;
298 case FreeRDP_GfxSuspendFrameAck:
299 return settings->GfxSuspendFrameAck;
301 case FreeRDP_GfxThinClient:
302 return settings->GfxThinClient;
304 case FreeRDP_GrabKeyboard:
305 return settings->GrabKeyboard;
307 case FreeRDP_GrabMouse:
308 return settings->GrabMouse;
310 case FreeRDP_HasExtendedMouseEvent:
311 return settings->HasExtendedMouseEvent;
313 case FreeRDP_HasHorizontalWheel:
314 return settings->HasHorizontalWheel;
316 case FreeRDP_HasMonitorAttributes:
317 return settings->HasMonitorAttributes;
319 case FreeRDP_HasQoeEvent:
320 return settings->HasQoeEvent;
322 case FreeRDP_HasRelativeMouseEvent:
323 return settings->HasRelativeMouseEvent;
325 case FreeRDP_HiDefRemoteApp:
326 return settings->HiDefRemoteApp;
328 case FreeRDP_IPv6Enabled:
329 return settings->IPv6Enabled;
331 case FreeRDP_IgnoreCertificate:
332 return settings->IgnoreCertificate;
334 case FreeRDP_IgnoreInvalidDevices:
335 return settings->IgnoreInvalidDevices;
337 case FreeRDP_JpegCodec:
338 return settings->JpegCodec;
340 case FreeRDP_KerberosRdgIsProxy:
341 return settings->KerberosRdgIsProxy;
343 case FreeRDP_ListMonitors:
344 return settings->ListMonitors;
346 case FreeRDP_LocalConnection:
347 return settings->LocalConnection;
349 case FreeRDP_LogonErrors:
350 return settings->LogonErrors;
352 case FreeRDP_LogonNotify:
353 return settings->LogonNotify;
355 case FreeRDP_LongCredentialsSupported:
356 return settings->LongCredentialsSupported;
358 case FreeRDP_LyncRdpMode:
359 return settings->LyncRdpMode;
361 case FreeRDP_MaximizeShell:
362 return settings->MaximizeShell;
364 case FreeRDP_MouseAttached:
365 return settings->MouseAttached;
367 case FreeRDP_MouseHasWheel:
368 return settings->MouseHasWheel;
370 case FreeRDP_MouseMotion:
371 return settings->MouseMotion;
373 case FreeRDP_MouseUseRelativeMove:
374 return settings->MouseUseRelativeMove;
376 case FreeRDP_MstscCookieMode:
377 return settings->MstscCookieMode;
379 case FreeRDP_MultiTouchGestures:
380 return settings->MultiTouchGestures;
382 case FreeRDP_MultiTouchInput:
383 return settings->MultiTouchInput;
385 case FreeRDP_NSCodec:
386 return settings->NSCodec;
388 case FreeRDP_NSCodecAllowDynamicColorFidelity:
389 return settings->NSCodecAllowDynamicColorFidelity;
391 case FreeRDP_NSCodecAllowSubsampling:
392 return settings->NSCodecAllowSubsampling;
394 case FreeRDP_NegotiateSecurityLayer:
395 return settings->NegotiateSecurityLayer;
397 case FreeRDP_NetworkAutoDetect:
398 return settings->NetworkAutoDetect;
400 case FreeRDP_NlaSecurity:
401 return settings->NlaSecurity;
403 case FreeRDP_NoBitmapCompressionHeader:
404 return settings->NoBitmapCompressionHeader;
406 case FreeRDP_OldLicenseBehaviour:
407 return settings->OldLicenseBehaviour;
409 case FreeRDP_PasswordIsSmartcardPin:
410 return settings->PasswordIsSmartcardPin;
412 case FreeRDP_PercentScreenUseHeight:
413 return settings->PercentScreenUseHeight;
415 case FreeRDP_PercentScreenUseWidth:
416 return settings->PercentScreenUseWidth;
418 case FreeRDP_PlayRemoteFx:
419 return settings->PlayRemoteFx;
421 case FreeRDP_PreferIPv6OverIPv4:
422 return settings->PreferIPv6OverIPv4;
424 case FreeRDP_PrintReconnectCookie:
425 return settings->PrintReconnectCookie;
427 case FreeRDP_PromptForCredentials:
428 return settings->PromptForCredentials;
430 case FreeRDP_RdpSecurity:
431 return settings->RdpSecurity;
433 case FreeRDP_RdstlsSecurity:
434 return settings->RdstlsSecurity;
436 case FreeRDP_RedirectClipboard:
437 return settings->RedirectClipboard;
439 case FreeRDP_RedirectDrives:
440 return settings->RedirectDrives;
442 case FreeRDP_RedirectHomeDrive:
443 return settings->RedirectHomeDrive;
445 case FreeRDP_RedirectParallelPorts:
446 return settings->RedirectParallelPorts;
448 case FreeRDP_RedirectPrinters:
449 return settings->RedirectPrinters;
451 case FreeRDP_RedirectSerialPorts:
452 return settings->RedirectSerialPorts;
454 case FreeRDP_RedirectSmartCards:
455 return settings->RedirectSmartCards;
457 case FreeRDP_RedirectWebAuthN:
458 return settings->RedirectWebAuthN;
460 case FreeRDP_RefreshRect:
461 return settings->RefreshRect;
463 case FreeRDP_RemdeskVirtualChannel:
464 return settings->RemdeskVirtualChannel;
466 case FreeRDP_RemoteAppLanguageBarSupported:
467 return settings->RemoteAppLanguageBarSupported;
469 case FreeRDP_RemoteApplicationMode:
470 return settings->RemoteApplicationMode;
472 case FreeRDP_RemoteAssistanceMode:
473 return settings->RemoteAssistanceMode;
475 case FreeRDP_RemoteAssistanceRequestControl:
476 return settings->RemoteAssistanceRequestControl;
478 case FreeRDP_RemoteConsoleAudio:
479 return settings->RemoteConsoleAudio;
481 case FreeRDP_RemoteCredentialGuard:
482 return settings->RemoteCredentialGuard;
484 case FreeRDP_RemoteFxCodec:
485 return settings->RemoteFxCodec;
487 case FreeRDP_RemoteFxImageCodec:
488 return settings->RemoteFxImageCodec;
490 case FreeRDP_RemoteFxOnly:
491 return settings->RemoteFxOnly;
493 case FreeRDP_RestrictedAdminModeRequired:
494 return settings->RestrictedAdminModeRequired;
496 case FreeRDP_RestrictedAdminModeSupported:
497 return settings->RestrictedAdminModeSupported;
499 case FreeRDP_SaltedChecksum:
500 return settings->SaltedChecksum;
502 case FreeRDP_SendPreconnectionPdu:
503 return settings->SendPreconnectionPdu;
505 case FreeRDP_ServerLicenseRequired:
506 return settings->ServerLicenseRequired;
508 case FreeRDP_ServerMode:
509 return settings->ServerMode;
511 case FreeRDP_SmartSizing:
512 return settings->SmartSizing;
514 case FreeRDP_SmartcardEmulation:
515 return settings->SmartcardEmulation;
517 case FreeRDP_SmartcardLogon:
518 return settings->SmartcardLogon;
520 case FreeRDP_SoftwareGdi:
521 return settings->SoftwareGdi;
523 case FreeRDP_SoundBeepsEnabled:
524 return settings->SoundBeepsEnabled;
526 case FreeRDP_SpanMonitors:
527 return settings->SpanMonitors;
529 case FreeRDP_SupportAsymetricKeys:
530 return settings->SupportAsymetricKeys;
532 case FreeRDP_SupportDisplayControl:
533 return settings->SupportDisplayControl;
535 case FreeRDP_SupportDynamicChannels:
536 return settings->SupportDynamicChannels;
538 case FreeRDP_SupportDynamicTimeZone:
539 return settings->SupportDynamicTimeZone;
541 case FreeRDP_SupportEchoChannel:
542 return settings->SupportEchoChannel;
544 case FreeRDP_SupportEdgeActionV1:
545 return settings->SupportEdgeActionV1;
547 case FreeRDP_SupportEdgeActionV2:
548 return settings->SupportEdgeActionV2;
550 case FreeRDP_SupportErrorInfoPdu:
551 return settings->SupportErrorInfoPdu;
553 case FreeRDP_SupportGeometryTracking:
554 return settings->SupportGeometryTracking;
556 case FreeRDP_SupportGraphicsPipeline:
557 return settings->SupportGraphicsPipeline;
559 case FreeRDP_SupportHeartbeatPdu:
560 return settings->SupportHeartbeatPdu;
562 case FreeRDP_SupportMonitorLayoutPdu:
563 return settings->SupportMonitorLayoutPdu;
565 case FreeRDP_SupportMultitransport:
566 return settings->SupportMultitransport;
568 case FreeRDP_SupportSSHAgentChannel:
569 return settings->SupportSSHAgentChannel;
571 case FreeRDP_SupportSkipChannelJoin:
572 return settings->SupportSkipChannelJoin;
574 case FreeRDP_SupportStatusInfoPdu:
575 return settings->SupportStatusInfoPdu;
577 case FreeRDP_SupportVideoOptimized:
578 return settings->SupportVideoOptimized;
580 case FreeRDP_SuppressOutput:
581 return settings->SuppressOutput;
583 case FreeRDP_SurfaceCommandsEnabled:
584 return settings->SurfaceCommandsEnabled;
586 case FreeRDP_SurfaceFrameMarkerEnabled:
587 return settings->SurfaceFrameMarkerEnabled;
589 case FreeRDP_SuspendInput:
590 return settings->SuspendInput;
592 case FreeRDP_SynchronousDynamicChannels:
593 return settings->SynchronousDynamicChannels;
595 case FreeRDP_SynchronousStaticChannels:
596 return settings->SynchronousStaticChannels;
598 case FreeRDP_TcpKeepAlive:
599 return settings->TcpKeepAlive;
601 case FreeRDP_TlsSecurity:
602 return settings->TlsSecurity;
604 case FreeRDP_ToggleFullscreen:
605 return settings->ToggleFullscreen;
607 case FreeRDP_TransportDump:
608 return settings->TransportDump;
610 case FreeRDP_TransportDumpReplay:
611 return settings->TransportDumpReplay;
613 case FreeRDP_TransportDumpReplayNodelay:
614 return settings->TransportDumpReplayNodelay;
616 case FreeRDP_UnicodeInput:
617 return settings->UnicodeInput;
619 case FreeRDP_UnmapButtons:
620 return settings->UnmapButtons;
622 case FreeRDP_UseCommonStdioCallbacks:
623 return settings->UseCommonStdioCallbacks;
625 case FreeRDP_UseMultimon:
626 return settings->UseMultimon;
628 case FreeRDP_UseRdpSecurityLayer:
629 return settings->UseRdpSecurityLayer;
631 case FreeRDP_UsingSavedCredentials:
632 return settings->UsingSavedCredentials;
634 case FreeRDP_VideoDisable:
635 return settings->VideoDisable;
637 case FreeRDP_VmConnectMode:
638 return settings->VmConnectMode;
640 case FreeRDP_WaitForOutputBufferFlush:
641 return settings->WaitForOutputBufferFlush;
643 case FreeRDP_Workarea:
644 return settings->Workarea;
647 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
656 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Bool
id, BOOL val)
665 WINPR_ASSERT(settings);
671 case FreeRDP_AadSecurity:
672 settings->AadSecurity = cnv.c;
675 case FreeRDP_AllowCacheWaitingList:
676 settings->AllowCacheWaitingList = cnv.c;
679 case FreeRDP_AllowDesktopComposition:
680 settings->AllowDesktopComposition = cnv.c;
683 case FreeRDP_AllowFontSmoothing:
684 settings->AllowFontSmoothing = cnv.c;
687 case FreeRDP_AllowUnanouncedOrdersFromServer:
688 settings->AllowUnanouncedOrdersFromServer = cnv.c;
691 case FreeRDP_AltSecFrameMarkerSupport:
692 settings->AltSecFrameMarkerSupport = cnv.c;
695 case FreeRDP_AsyncChannels:
696 settings->AsyncChannels = cnv.c;
699 case FreeRDP_AsyncUpdate:
700 settings->AsyncUpdate = cnv.c;
703 case FreeRDP_AudioCapture:
704 settings->AudioCapture = cnv.c;
707 case FreeRDP_AudioPlayback:
708 settings->AudioPlayback = cnv.c;
711 case FreeRDP_Authentication:
712 settings->Authentication = cnv.c;
715 case FreeRDP_AuthenticationOnly:
716 settings->AuthenticationOnly = cnv.c;
719 case FreeRDP_AutoAcceptCertificate:
720 settings->AutoAcceptCertificate = cnv.c;
723 case FreeRDP_AutoDenyCertificate:
724 settings->AutoDenyCertificate = cnv.c;
727 case FreeRDP_AutoLogonEnabled:
728 settings->AutoLogonEnabled = cnv.c;
731 case FreeRDP_AutoReconnectionEnabled:
732 settings->AutoReconnectionEnabled = cnv.c;
735 case FreeRDP_AutoReconnectionPacketSupported:
736 settings->AutoReconnectionPacketSupported = cnv.c;
739 case FreeRDP_BitmapCacheEnabled:
740 settings->BitmapCacheEnabled = cnv.c;
743 case FreeRDP_BitmapCachePersistEnabled:
744 settings->BitmapCachePersistEnabled = cnv.c;
747 case FreeRDP_BitmapCacheV3Enabled:
748 settings->BitmapCacheV3Enabled = cnv.c;
751 case FreeRDP_BitmapCompressionDisabled:
752 settings->BitmapCompressionDisabled = cnv.c;
755 case FreeRDP_CertificateCallbackPreferPEM:
756 settings->CertificateCallbackPreferPEM = cnv.c;
759 case FreeRDP_CompressionEnabled:
760 settings->CompressionEnabled = cnv.c;
763 case FreeRDP_ConnectChildSession:
764 settings->ConnectChildSession = cnv.c;
767 case FreeRDP_ConsoleSession:
768 settings->ConsoleSession = cnv.c;
771 case FreeRDP_CredentialsFromStdin:
772 settings->CredentialsFromStdin = cnv.c;
775 case FreeRDP_DeactivateClientDecoding:
776 settings->DeactivateClientDecoding = cnv.c;
779 case FreeRDP_Decorations:
780 settings->Decorations = cnv.c;
783 case FreeRDP_DesktopResize:
784 settings->DesktopResize = cnv.c;
787 case FreeRDP_DeviceRedirection:
788 settings->DeviceRedirection = cnv.c;
791 case FreeRDP_DisableCredentialsDelegation:
792 settings->DisableCredentialsDelegation = cnv.c;
795 case FreeRDP_DisableCtrlAltDel:
796 settings->DisableCtrlAltDel = cnv.c;
799 case FreeRDP_DisableCursorBlinking:
800 settings->DisableCursorBlinking = cnv.c;
803 case FreeRDP_DisableCursorShadow:
804 settings->DisableCursorShadow = cnv.c;
807 case FreeRDP_DisableFullWindowDrag:
808 settings->DisableFullWindowDrag = cnv.c;
811 case FreeRDP_DisableMenuAnims:
812 settings->DisableMenuAnims = cnv.c;
815 case FreeRDP_DisableRemoteAppCapsCheck:
816 settings->DisableRemoteAppCapsCheck = cnv.c;
819 case FreeRDP_DisableThemes:
820 settings->DisableThemes = cnv.c;
823 case FreeRDP_DisableWallpaper:
824 settings->DisableWallpaper = cnv.c;
827 case FreeRDP_DrawAllowColorSubsampling:
828 settings->DrawAllowColorSubsampling = cnv.c;
831 case FreeRDP_DrawAllowDynamicColorFidelity:
832 settings->DrawAllowDynamicColorFidelity = cnv.c;
835 case FreeRDP_DrawAllowSkipAlpha:
836 settings->DrawAllowSkipAlpha = cnv.c;
839 case FreeRDP_DrawGdiPlusCacheEnabled:
840 settings->DrawGdiPlusCacheEnabled = cnv.c;
843 case FreeRDP_DrawGdiPlusEnabled:
844 settings->DrawGdiPlusEnabled = cnv.c;
847 case FreeRDP_DrawNineGridEnabled:
848 settings->DrawNineGridEnabled = cnv.c;
851 case FreeRDP_DumpRemoteFx:
852 settings->DumpRemoteFx = cnv.c;
855 case FreeRDP_DynamicDaylightTimeDisabled:
856 settings->DynamicDaylightTimeDisabled = cnv.c;
859 case FreeRDP_DynamicResolutionUpdate:
860 settings->DynamicResolutionUpdate = cnv.c;
863 case FreeRDP_EmbeddedWindow:
864 settings->EmbeddedWindow = cnv.c;
867 case FreeRDP_EnableWindowsKey:
868 settings->EnableWindowsKey = cnv.c;
871 case FreeRDP_EncomspVirtualChannel:
872 settings->EncomspVirtualChannel = cnv.c;
875 case FreeRDP_ExtSecurity:
876 settings->ExtSecurity = cnv.c;
879 case FreeRDP_ExternalCertificateManagement:
880 settings->ExternalCertificateManagement = cnv.c;
883 case FreeRDP_FIPSMode:
884 settings->FIPSMode = cnv.c;
887 case FreeRDP_FastPathInput:
888 settings->FastPathInput = cnv.c;
891 case FreeRDP_FastPathOutput:
892 settings->FastPathOutput = cnv.c;
895 case FreeRDP_ForceEncryptedCsPdu:
896 settings->ForceEncryptedCsPdu = cnv.c;
899 case FreeRDP_ForceMultimon:
900 settings->ForceMultimon = cnv.c;
903 case FreeRDP_FrameMarkerCommandEnabled:
904 settings->FrameMarkerCommandEnabled = cnv.c;
907 case FreeRDP_Fullscreen:
908 settings->Fullscreen = cnv.c;
911 case FreeRDP_GatewayArmTransport:
912 settings->GatewayArmTransport = cnv.c;
915 case FreeRDP_GatewayAvdUseTenantid:
916 settings->GatewayAvdUseTenantid = cnv.c;
919 case FreeRDP_GatewayBypassLocal:
920 settings->GatewayBypassLocal = cnv.c;
923 case FreeRDP_GatewayEnabled:
924 settings->GatewayEnabled = cnv.c;
927 case FreeRDP_GatewayHttpExtAuthSspiNtlm:
928 settings->GatewayHttpExtAuthSspiNtlm = cnv.c;
931 case FreeRDP_GatewayHttpTransport:
932 settings->GatewayHttpTransport = cnv.c;
935 case FreeRDP_GatewayHttpUseWebsockets:
936 settings->GatewayHttpUseWebsockets = cnv.c;
939 case FreeRDP_GatewayIgnoreRedirectionPolicy:
940 settings->GatewayIgnoreRedirectionPolicy = cnv.c;
943 case FreeRDP_GatewayRpcTransport:
944 settings->GatewayRpcTransport = cnv.c;
947 case FreeRDP_GatewayUdpTransport:
948 settings->GatewayUdpTransport = cnv.c;
951 case FreeRDP_GatewayUseSameCredentials:
952 settings->GatewayUseSameCredentials = cnv.c;
955 case FreeRDP_GfxAVC444:
956 settings->GfxAVC444 = cnv.c;
959 case FreeRDP_GfxAVC444v2:
960 settings->GfxAVC444v2 = cnv.c;
963 case FreeRDP_GfxH264:
964 settings->GfxH264 = cnv.c;
967 case FreeRDP_GfxPlanar:
968 settings->GfxPlanar = cnv.c;
971 case FreeRDP_GfxProgressive:
972 settings->GfxProgressive = cnv.c;
975 case FreeRDP_GfxProgressiveV2:
976 settings->GfxProgressiveV2 = cnv.c;
979 case FreeRDP_GfxSendQoeAck:
980 settings->GfxSendQoeAck = cnv.c;
983 case FreeRDP_GfxSmallCache:
984 settings->GfxSmallCache = cnv.c;
987 case FreeRDP_GfxSuspendFrameAck:
988 settings->GfxSuspendFrameAck = cnv.c;
991 case FreeRDP_GfxThinClient:
992 settings->GfxThinClient = cnv.c;
995 case FreeRDP_GrabKeyboard:
996 settings->GrabKeyboard = cnv.c;
999 case FreeRDP_GrabMouse:
1000 settings->GrabMouse = cnv.c;
1003 case FreeRDP_HasExtendedMouseEvent:
1004 settings->HasExtendedMouseEvent = cnv.c;
1007 case FreeRDP_HasHorizontalWheel:
1008 settings->HasHorizontalWheel = cnv.c;
1011 case FreeRDP_HasMonitorAttributes:
1012 settings->HasMonitorAttributes = cnv.c;
1015 case FreeRDP_HasQoeEvent:
1016 settings->HasQoeEvent = cnv.c;
1019 case FreeRDP_HasRelativeMouseEvent:
1020 settings->HasRelativeMouseEvent = cnv.c;
1023 case FreeRDP_HiDefRemoteApp:
1024 settings->HiDefRemoteApp = cnv.c;
1027 case FreeRDP_IPv6Enabled:
1028 settings->IPv6Enabled = cnv.c;
1031 case FreeRDP_IgnoreCertificate:
1032 settings->IgnoreCertificate = cnv.c;
1035 case FreeRDP_IgnoreInvalidDevices:
1036 settings->IgnoreInvalidDevices = cnv.c;
1039 case FreeRDP_JpegCodec:
1040 settings->JpegCodec = cnv.c;
1043 case FreeRDP_KerberosRdgIsProxy:
1044 settings->KerberosRdgIsProxy = cnv.c;
1047 case FreeRDP_ListMonitors:
1048 settings->ListMonitors = cnv.c;
1051 case FreeRDP_LocalConnection:
1052 settings->LocalConnection = cnv.c;
1055 case FreeRDP_LogonErrors:
1056 settings->LogonErrors = cnv.c;
1059 case FreeRDP_LogonNotify:
1060 settings->LogonNotify = cnv.c;
1063 case FreeRDP_LongCredentialsSupported:
1064 settings->LongCredentialsSupported = cnv.c;
1067 case FreeRDP_LyncRdpMode:
1068 settings->LyncRdpMode = cnv.c;
1071 case FreeRDP_MaximizeShell:
1072 settings->MaximizeShell = cnv.c;
1075 case FreeRDP_MouseAttached:
1076 settings->MouseAttached = cnv.c;
1079 case FreeRDP_MouseHasWheel:
1080 settings->MouseHasWheel = cnv.c;
1083 case FreeRDP_MouseMotion:
1084 settings->MouseMotion = cnv.c;
1087 case FreeRDP_MouseUseRelativeMove:
1088 settings->MouseUseRelativeMove = cnv.c;
1091 case FreeRDP_MstscCookieMode:
1092 settings->MstscCookieMode = cnv.c;
1095 case FreeRDP_MultiTouchGestures:
1096 settings->MultiTouchGestures = cnv.c;
1099 case FreeRDP_MultiTouchInput:
1100 settings->MultiTouchInput = cnv.c;
1103 case FreeRDP_NSCodec:
1104 settings->NSCodec = cnv.c;
1107 case FreeRDP_NSCodecAllowDynamicColorFidelity:
1108 settings->NSCodecAllowDynamicColorFidelity = cnv.c;
1111 case FreeRDP_NSCodecAllowSubsampling:
1112 settings->NSCodecAllowSubsampling = cnv.c;
1115 case FreeRDP_NegotiateSecurityLayer:
1116 settings->NegotiateSecurityLayer = cnv.c;
1119 case FreeRDP_NetworkAutoDetect:
1120 settings->NetworkAutoDetect = cnv.c;
1123 case FreeRDP_NlaSecurity:
1124 settings->NlaSecurity = cnv.c;
1127 case FreeRDP_NoBitmapCompressionHeader:
1128 settings->NoBitmapCompressionHeader = cnv.c;
1131 case FreeRDP_OldLicenseBehaviour:
1132 settings->OldLicenseBehaviour = cnv.c;
1135 case FreeRDP_PasswordIsSmartcardPin:
1136 settings->PasswordIsSmartcardPin = cnv.c;
1139 case FreeRDP_PercentScreenUseHeight:
1140 settings->PercentScreenUseHeight = cnv.c;
1143 case FreeRDP_PercentScreenUseWidth:
1144 settings->PercentScreenUseWidth = cnv.c;
1147 case FreeRDP_PlayRemoteFx:
1148 settings->PlayRemoteFx = cnv.c;
1151 case FreeRDP_PreferIPv6OverIPv4:
1152 settings->PreferIPv6OverIPv4 = cnv.c;
1155 case FreeRDP_PrintReconnectCookie:
1156 settings->PrintReconnectCookie = cnv.c;
1159 case FreeRDP_PromptForCredentials:
1160 settings->PromptForCredentials = cnv.c;
1163 case FreeRDP_RdpSecurity:
1164 settings->RdpSecurity = cnv.c;
1167 case FreeRDP_RdstlsSecurity:
1168 settings->RdstlsSecurity = cnv.c;
1171 case FreeRDP_RedirectClipboard:
1172 settings->RedirectClipboard = cnv.c;
1175 case FreeRDP_RedirectDrives:
1176 settings->RedirectDrives = cnv.c;
1179 case FreeRDP_RedirectHomeDrive:
1180 settings->RedirectHomeDrive = cnv.c;
1183 case FreeRDP_RedirectParallelPorts:
1184 settings->RedirectParallelPorts = cnv.c;
1187 case FreeRDP_RedirectPrinters:
1188 settings->RedirectPrinters = cnv.c;
1191 case FreeRDP_RedirectSerialPorts:
1192 settings->RedirectSerialPorts = cnv.c;
1195 case FreeRDP_RedirectSmartCards:
1196 settings->RedirectSmartCards = cnv.c;
1199 case FreeRDP_RedirectWebAuthN:
1200 settings->RedirectWebAuthN = cnv.c;
1203 case FreeRDP_RefreshRect:
1204 settings->RefreshRect = cnv.c;
1207 case FreeRDP_RemdeskVirtualChannel:
1208 settings->RemdeskVirtualChannel = cnv.c;
1211 case FreeRDP_RemoteAppLanguageBarSupported:
1212 settings->RemoteAppLanguageBarSupported = cnv.c;
1215 case FreeRDP_RemoteApplicationMode:
1216 settings->RemoteApplicationMode = cnv.c;
1219 case FreeRDP_RemoteAssistanceMode:
1220 settings->RemoteAssistanceMode = cnv.c;
1223 case FreeRDP_RemoteAssistanceRequestControl:
1224 settings->RemoteAssistanceRequestControl = cnv.c;
1227 case FreeRDP_RemoteConsoleAudio:
1228 settings->RemoteConsoleAudio = cnv.c;
1231 case FreeRDP_RemoteCredentialGuard:
1232 settings->RemoteCredentialGuard = cnv.c;
1235 case FreeRDP_RemoteFxCodec:
1236 settings->RemoteFxCodec = cnv.c;
1239 case FreeRDP_RemoteFxImageCodec:
1240 settings->RemoteFxImageCodec = cnv.c;
1243 case FreeRDP_RemoteFxOnly:
1244 settings->RemoteFxOnly = cnv.c;
1247 case FreeRDP_RestrictedAdminModeRequired:
1248 settings->RestrictedAdminModeRequired = cnv.c;
1251 case FreeRDP_RestrictedAdminModeSupported:
1252 settings->RestrictedAdminModeSupported = cnv.c;
1255 case FreeRDP_SaltedChecksum:
1256 settings->SaltedChecksum = cnv.c;
1259 case FreeRDP_SendPreconnectionPdu:
1260 settings->SendPreconnectionPdu = cnv.c;
1263 case FreeRDP_ServerLicenseRequired:
1264 settings->ServerLicenseRequired = cnv.c;
1267 case FreeRDP_ServerMode:
1268 settings->ServerMode = cnv.c;
1271 case FreeRDP_SmartSizing:
1272 settings->SmartSizing = cnv.c;
1275 case FreeRDP_SmartcardEmulation:
1276 settings->SmartcardEmulation = cnv.c;
1279 case FreeRDP_SmartcardLogon:
1280 settings->SmartcardLogon = cnv.c;
1283 case FreeRDP_SoftwareGdi:
1284 settings->SoftwareGdi = cnv.c;
1287 case FreeRDP_SoundBeepsEnabled:
1288 settings->SoundBeepsEnabled = cnv.c;
1291 case FreeRDP_SpanMonitors:
1292 settings->SpanMonitors = cnv.c;
1295 case FreeRDP_SupportAsymetricKeys:
1296 settings->SupportAsymetricKeys = cnv.c;
1299 case FreeRDP_SupportDisplayControl:
1300 settings->SupportDisplayControl = cnv.c;
1303 case FreeRDP_SupportDynamicChannels:
1304 settings->SupportDynamicChannels = cnv.c;
1307 case FreeRDP_SupportDynamicTimeZone:
1308 settings->SupportDynamicTimeZone = cnv.c;
1311 case FreeRDP_SupportEchoChannel:
1312 settings->SupportEchoChannel = cnv.c;
1315 case FreeRDP_SupportEdgeActionV1:
1316 settings->SupportEdgeActionV1 = cnv.c;
1319 case FreeRDP_SupportEdgeActionV2:
1320 settings->SupportEdgeActionV2 = cnv.c;
1323 case FreeRDP_SupportErrorInfoPdu:
1324 settings->SupportErrorInfoPdu = cnv.c;
1327 case FreeRDP_SupportGeometryTracking:
1328 settings->SupportGeometryTracking = cnv.c;
1331 case FreeRDP_SupportGraphicsPipeline:
1332 settings->SupportGraphicsPipeline = cnv.c;
1335 case FreeRDP_SupportHeartbeatPdu:
1336 settings->SupportHeartbeatPdu = cnv.c;
1339 case FreeRDP_SupportMonitorLayoutPdu:
1340 settings->SupportMonitorLayoutPdu = cnv.c;
1343 case FreeRDP_SupportMultitransport:
1344 settings->SupportMultitransport = cnv.c;
1347 case FreeRDP_SupportSSHAgentChannel:
1348 settings->SupportSSHAgentChannel = cnv.c;
1351 case FreeRDP_SupportSkipChannelJoin:
1352 settings->SupportSkipChannelJoin = cnv.c;
1355 case FreeRDP_SupportStatusInfoPdu:
1356 settings->SupportStatusInfoPdu = cnv.c;
1359 case FreeRDP_SupportVideoOptimized:
1360 settings->SupportVideoOptimized = cnv.c;
1363 case FreeRDP_SuppressOutput:
1364 settings->SuppressOutput = cnv.c;
1367 case FreeRDP_SurfaceCommandsEnabled:
1368 settings->SurfaceCommandsEnabled = cnv.c;
1371 case FreeRDP_SurfaceFrameMarkerEnabled:
1372 settings->SurfaceFrameMarkerEnabled = cnv.c;
1375 case FreeRDP_SuspendInput:
1376 settings->SuspendInput = cnv.c;
1379 case FreeRDP_SynchronousDynamicChannels:
1380 settings->SynchronousDynamicChannels = cnv.c;
1383 case FreeRDP_SynchronousStaticChannels:
1384 settings->SynchronousStaticChannels = cnv.c;
1387 case FreeRDP_TcpKeepAlive:
1388 settings->TcpKeepAlive = cnv.c;
1391 case FreeRDP_TlsSecurity:
1392 settings->TlsSecurity = cnv.c;
1395 case FreeRDP_ToggleFullscreen:
1396 settings->ToggleFullscreen = cnv.c;
1399 case FreeRDP_TransportDump:
1400 settings->TransportDump = cnv.c;
1403 case FreeRDP_TransportDumpReplay:
1404 settings->TransportDumpReplay = cnv.c;
1407 case FreeRDP_TransportDumpReplayNodelay:
1408 settings->TransportDumpReplayNodelay = cnv.c;
1411 case FreeRDP_UnicodeInput:
1412 settings->UnicodeInput = cnv.c;
1415 case FreeRDP_UnmapButtons:
1416 settings->UnmapButtons = cnv.c;
1419 case FreeRDP_UseCommonStdioCallbacks:
1420 settings->UseCommonStdioCallbacks = cnv.c;
1423 case FreeRDP_UseMultimon:
1424 settings->UseMultimon = cnv.c;
1427 case FreeRDP_UseRdpSecurityLayer:
1428 settings->UseRdpSecurityLayer = cnv.c;
1431 case FreeRDP_UsingSavedCredentials:
1432 settings->UsingSavedCredentials = cnv.c;
1435 case FreeRDP_VideoDisable:
1436 settings->VideoDisable = cnv.c;
1439 case FreeRDP_VmConnectMode:
1440 settings->VmConnectMode = cnv.c;
1443 case FreeRDP_WaitForOutputBufferFlush:
1444 settings->WaitForOutputBufferFlush = cnv.c;
1447 case FreeRDP_Workarea:
1448 settings->Workarea = cnv.c;
1452 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
1461 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt16
id)
1463 WINPR_ASSERT(settings);
1467 case FreeRDP_CapsGeneralCompressionLevel:
1468 return settings->CapsGeneralCompressionLevel;
1470 case FreeRDP_CapsGeneralCompressionTypes:
1471 return settings->CapsGeneralCompressionTypes;
1473 case FreeRDP_CapsProtocolVersion:
1474 return settings->CapsProtocolVersion;
1476 case FreeRDP_CapsRemoteUnshareFlag:
1477 return settings->CapsRemoteUnshareFlag;
1479 case FreeRDP_CapsUpdateCapabilityFlag:
1480 return settings->CapsUpdateCapabilityFlag;
1482 case FreeRDP_DesktopOrientation:
1483 return settings->DesktopOrientation;
1485 case FreeRDP_OrderSupportFlags:
1486 return settings->OrderSupportFlags;
1488 case FreeRDP_OrderSupportFlagsEx:
1489 return settings->OrderSupportFlagsEx;
1491 case FreeRDP_ProxyPort:
1492 return settings->ProxyPort;
1494 case FreeRDP_SupportedColorDepths:
1495 return settings->SupportedColorDepths;
1497 case FreeRDP_TLSMaxVersion:
1498 return settings->TLSMaxVersion;
1500 case FreeRDP_TLSMinVersion:
1501 return settings->TLSMinVersion;
1503 case FreeRDP_TextANSICodePage:
1504 return settings->TextANSICodePage;
1507 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
1510 WINPR_ASSERT(FALSE);
1516 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt16
id, UINT16 val)
1525 WINPR_ASSERT(settings);
1531 case FreeRDP_CapsGeneralCompressionLevel:
1532 settings->CapsGeneralCompressionLevel = cnv.c;
1535 case FreeRDP_CapsGeneralCompressionTypes:
1536 settings->CapsGeneralCompressionTypes = cnv.c;
1539 case FreeRDP_CapsProtocolVersion:
1540 settings->CapsProtocolVersion = cnv.c;
1543 case FreeRDP_CapsRemoteUnshareFlag:
1544 settings->CapsRemoteUnshareFlag = cnv.c;
1547 case FreeRDP_CapsUpdateCapabilityFlag:
1548 settings->CapsUpdateCapabilityFlag = cnv.c;
1551 case FreeRDP_DesktopOrientation:
1552 settings->DesktopOrientation = cnv.c;
1555 case FreeRDP_OrderSupportFlags:
1556 settings->OrderSupportFlags = cnv.c;
1559 case FreeRDP_OrderSupportFlagsEx:
1560 settings->OrderSupportFlagsEx = cnv.c;
1563 case FreeRDP_ProxyPort:
1564 settings->ProxyPort = cnv.c;
1567 case FreeRDP_SupportedColorDepths:
1568 settings->SupportedColorDepths = cnv.c;
1571 case FreeRDP_TLSMaxVersion:
1572 settings->TLSMaxVersion = cnv.c;
1575 case FreeRDP_TLSMinVersion:
1576 settings->TLSMinVersion = cnv.c;
1579 case FreeRDP_TextANSICodePage:
1580 settings->TextANSICodePage = cnv.c;
1584 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
1593 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int16
id)
1595 WINPR_ASSERT(settings);
1600 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
1603 WINPR_ASSERT(FALSE);
1609 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int16
id, INT16 val)
1618 WINPR_ASSERT(settings);
1625 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
1634 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt32
id)
1636 WINPR_ASSERT(settings);
1640 case FreeRDP_AcceptedCertLength:
1641 return settings->AcceptedCertLength;
1643 case FreeRDP_AuthenticationLevel:
1644 return settings->AuthenticationLevel;
1646 case FreeRDP_AutoReconnectMaxRetries:
1647 return settings->AutoReconnectMaxRetries;
1649 case FreeRDP_BitmapCacheV2NumCells:
1650 return settings->BitmapCacheV2NumCells;
1652 case FreeRDP_BitmapCacheV3CodecId:
1653 return settings->BitmapCacheV3CodecId;
1655 case FreeRDP_BitmapCacheVersion:
1656 return settings->BitmapCacheVersion;
1658 case FreeRDP_BrushSupportLevel:
1659 return settings->BrushSupportLevel;
1661 case FreeRDP_ChannelCount:
1662 return settings->ChannelCount;
1664 case FreeRDP_ChannelDefArraySize:
1665 return settings->ChannelDefArraySize;
1667 case FreeRDP_ClientBuild:
1668 return settings->ClientBuild;
1670 case FreeRDP_ClientRandomLength:
1671 return settings->ClientRandomLength;
1673 case FreeRDP_ClientSessionId:
1674 return settings->ClientSessionId;
1676 case FreeRDP_ClipboardFeatureMask:
1677 return settings->ClipboardFeatureMask;
1679 case FreeRDP_ClusterInfoFlags:
1680 return settings->ClusterInfoFlags;
1682 case FreeRDP_ColorDepth:
1683 return settings->ColorDepth;
1685 case FreeRDP_ColorPointerCacheSize:
1686 return settings->ColorPointerCacheSize;
1688 case FreeRDP_CompDeskSupportLevel:
1689 return settings->CompDeskSupportLevel;
1691 case FreeRDP_CompressionLevel:
1692 return settings->CompressionLevel;
1694 case FreeRDP_ConnectionType:
1695 return settings->ConnectionType;
1697 case FreeRDP_CookieMaxLength:
1698 return settings->CookieMaxLength;
1700 case FreeRDP_DesktopHeight:
1701 return settings->DesktopHeight;
1703 case FreeRDP_DesktopPhysicalHeight:
1704 return settings->DesktopPhysicalHeight;
1706 case FreeRDP_DesktopPhysicalWidth:
1707 return settings->DesktopPhysicalWidth;
1709 case FreeRDP_DesktopPosX:
1710 return settings->DesktopPosX;
1712 case FreeRDP_DesktopPosY:
1713 return settings->DesktopPosY;
1715 case FreeRDP_DesktopScaleFactor:
1716 return settings->DesktopScaleFactor;
1718 case FreeRDP_DesktopWidth:
1719 return settings->DesktopWidth;
1721 case FreeRDP_DeviceArraySize:
1722 return settings->DeviceArraySize;
1724 case FreeRDP_DeviceCount:
1725 return settings->DeviceCount;
1727 case FreeRDP_DeviceScaleFactor:
1728 return settings->DeviceScaleFactor;
1730 case FreeRDP_DrawNineGridCacheEntries:
1731 return settings->DrawNineGridCacheEntries;
1733 case FreeRDP_DrawNineGridCacheSize:
1734 return settings->DrawNineGridCacheSize;
1736 case FreeRDP_DynamicChannelArraySize:
1737 return settings->DynamicChannelArraySize;
1739 case FreeRDP_DynamicChannelCount:
1740 return settings->DynamicChannelCount;
1742 case FreeRDP_EarlyCapabilityFlags:
1743 return settings->EarlyCapabilityFlags;
1745 case FreeRDP_EncryptionLevel:
1746 return settings->EncryptionLevel;
1748 case FreeRDP_EncryptionMethods:
1749 return settings->EncryptionMethods;
1751 case FreeRDP_ExtEncryptionMethods:
1752 return settings->ExtEncryptionMethods;
1754 case FreeRDP_FakeMouseMotionInterval:
1755 return settings->FakeMouseMotionInterval;
1757 case FreeRDP_Floatbar:
1758 return settings->Floatbar;
1760 case FreeRDP_ForceIPvX:
1761 return settings->ForceIPvX;
1763 case FreeRDP_FrameAcknowledge:
1764 return settings->FrameAcknowledge;
1766 case FreeRDP_GatewayAcceptedCertLength:
1767 return settings->GatewayAcceptedCertLength;
1769 case FreeRDP_GatewayCredentialsSource:
1770 return settings->GatewayCredentialsSource;
1772 case FreeRDP_GatewayPort:
1773 return settings->GatewayPort;
1775 case FreeRDP_GatewayUsageMethod:
1776 return settings->GatewayUsageMethod;
1778 case FreeRDP_GfxCapsFilter:
1779 return settings->GfxCapsFilter;
1781 case FreeRDP_GlyphSupportLevel:
1782 return settings->GlyphSupportLevel;
1784 case FreeRDP_JpegCodecId:
1785 return settings->JpegCodecId;
1787 case FreeRDP_JpegQuality:
1788 return settings->JpegQuality;
1790 case FreeRDP_KeySpec:
1791 return settings->KeySpec;
1793 case FreeRDP_KeyboardCodePage:
1794 return settings->KeyboardCodePage;
1796 case FreeRDP_KeyboardFunctionKey:
1797 return settings->KeyboardFunctionKey;
1799 case FreeRDP_KeyboardHook:
1800 return settings->KeyboardHook;
1802 case FreeRDP_KeyboardLayout:
1803 return settings->KeyboardLayout;
1805 case FreeRDP_KeyboardSubType:
1806 return settings->KeyboardSubType;
1808 case FreeRDP_KeyboardType:
1809 return settings->KeyboardType;
1811 case FreeRDP_LargePointerFlag:
1812 return settings->LargePointerFlag;
1814 case FreeRDP_LoadBalanceInfoLength:
1815 return settings->LoadBalanceInfoLength;
1817 case FreeRDP_MonitorAttributeFlags:
1818 return settings->MonitorAttributeFlags;
1820 case FreeRDP_MonitorCount:
1821 return settings->MonitorCount;
1823 case FreeRDP_MonitorDefArraySize:
1824 return settings->MonitorDefArraySize;
1826 case FreeRDP_MonitorFlags:
1827 return settings->MonitorFlags;
1829 case FreeRDP_MultifragMaxRequestSize:
1830 return settings->MultifragMaxRequestSize;
1832 case FreeRDP_MultitransportFlags:
1833 return settings->MultitransportFlags;
1835 case FreeRDP_NSCodecColorLossLevel:
1836 return settings->NSCodecColorLossLevel;
1838 case FreeRDP_NSCodecId:
1839 return settings->NSCodecId;
1841 case FreeRDP_NegotiationFlags:
1842 return settings->NegotiationFlags;
1844 case FreeRDP_NumMonitorIds:
1845 return settings->NumMonitorIds;
1847 case FreeRDP_OffscreenCacheEntries:
1848 return settings->OffscreenCacheEntries;
1850 case FreeRDP_OffscreenCacheSize:
1851 return settings->OffscreenCacheSize;
1853 case FreeRDP_OffscreenSupportLevel:
1854 return settings->OffscreenSupportLevel;
1856 case FreeRDP_OsMajorType:
1857 return settings->OsMajorType;
1859 case FreeRDP_OsMinorType:
1860 return settings->OsMinorType;
1862 case FreeRDP_Password51Length:
1863 return settings->Password51Length;
1865 case FreeRDP_PduSource:
1866 return settings->PduSource;
1868 case FreeRDP_PercentScreen:
1869 return settings->PercentScreen;
1871 case FreeRDP_PerformanceFlags:
1872 return settings->PerformanceFlags;
1874 case FreeRDP_PointerCacheSize:
1875 return settings->PointerCacheSize;
1877 case FreeRDP_PreconnectionId:
1878 return settings->PreconnectionId;
1880 case FreeRDP_ProxyType:
1881 return settings->ProxyType;
1883 case FreeRDP_RdpVersion:
1884 return settings->RdpVersion;
1886 case FreeRDP_ReceivedCapabilitiesSize:
1887 return settings->ReceivedCapabilitiesSize;
1889 case FreeRDP_RedirectedSessionId:
1890 return settings->RedirectedSessionId;
1892 case FreeRDP_RedirectionAcceptedCertLength:
1893 return settings->RedirectionAcceptedCertLength;
1895 case FreeRDP_RedirectionFlags:
1896 return settings->RedirectionFlags;
1898 case FreeRDP_RedirectionGuidLength:
1899 return settings->RedirectionGuidLength;
1901 case FreeRDP_RedirectionPasswordLength:
1902 return settings->RedirectionPasswordLength;
1904 case FreeRDP_RedirectionPreferType:
1905 return settings->RedirectionPreferType;
1907 case FreeRDP_RedirectionTsvUrlLength:
1908 return settings->RedirectionTsvUrlLength;
1910 case FreeRDP_RemoteAppNumIconCacheEntries:
1911 return settings->RemoteAppNumIconCacheEntries;
1913 case FreeRDP_RemoteAppNumIconCaches:
1914 return settings->RemoteAppNumIconCaches;
1916 case FreeRDP_RemoteApplicationExpandCmdLine:
1917 return settings->RemoteApplicationExpandCmdLine;
1919 case FreeRDP_RemoteApplicationExpandWorkingDir:
1920 return settings->RemoteApplicationExpandWorkingDir;
1922 case FreeRDP_RemoteApplicationSupportLevel:
1923 return settings->RemoteApplicationSupportLevel;
1925 case FreeRDP_RemoteApplicationSupportMask:
1926 return settings->RemoteApplicationSupportMask;
1928 case FreeRDP_RemoteFxCaptureFlags:
1929 return settings->RemoteFxCaptureFlags;
1931 case FreeRDP_RemoteFxCodecId:
1932 return settings->RemoteFxCodecId;
1934 case FreeRDP_RemoteFxCodecMode:
1935 return settings->RemoteFxCodecMode;
1937 case FreeRDP_RemoteFxRlgrMode:
1938 return settings->RemoteFxRlgrMode;
1940 case FreeRDP_RemoteWndSupportLevel:
1941 return settings->RemoteWndSupportLevel;
1943 case FreeRDP_RequestedProtocols:
1944 return settings->RequestedProtocols;
1946 case FreeRDP_SelectedProtocol:
1947 return settings->SelectedProtocol;
1949 case FreeRDP_ServerCertificateLength:
1950 return settings->ServerCertificateLength;
1952 case FreeRDP_ServerLicenseProductIssuersCount:
1953 return settings->ServerLicenseProductIssuersCount;
1955 case FreeRDP_ServerLicenseProductVersion:
1956 return settings->ServerLicenseProductVersion;
1958 case FreeRDP_ServerPort:
1959 return settings->ServerPort;
1961 case FreeRDP_ServerRandomLength:
1962 return settings->ServerRandomLength;
1964 case FreeRDP_ShareId:
1965 return settings->ShareId;
1967 case FreeRDP_SmartSizingHeight:
1968 return settings->SmartSizingHeight;
1970 case FreeRDP_SmartSizingWidth:
1971 return settings->SmartSizingWidth;
1973 case FreeRDP_StaticChannelArraySize:
1974 return settings->StaticChannelArraySize;
1976 case FreeRDP_StaticChannelCount:
1977 return settings->StaticChannelCount;
1979 case FreeRDP_SurfaceCommandsSupported:
1980 return settings->SurfaceCommandsSupported;
1982 case FreeRDP_TargetNetAddressCount:
1983 return settings->TargetNetAddressCount;
1985 case FreeRDP_TcpAckTimeout:
1986 return settings->TcpAckTimeout;
1988 case FreeRDP_TcpConnectTimeout:
1989 return settings->TcpConnectTimeout;
1991 case FreeRDP_TcpKeepAliveDelay:
1992 return settings->TcpKeepAliveDelay;
1994 case FreeRDP_TcpKeepAliveInterval:
1995 return settings->TcpKeepAliveInterval;
1997 case FreeRDP_TcpKeepAliveRetries:
1998 return settings->TcpKeepAliveRetries;
2000 case FreeRDP_ThreadingFlags:
2001 return settings->ThreadingFlags;
2003 case FreeRDP_TlsSecLevel:
2004 return settings->TlsSecLevel;
2006 case FreeRDP_VCChunkSize:
2007 return settings->VCChunkSize;
2009 case FreeRDP_VCFlags:
2010 return settings->VCFlags;
2012#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
2014 case (FreeRDP_Settings_Keys_UInt32)FreeRDP_MonitorLocalShiftX:
2015 return (UINT32)settings->MonitorLocalShiftX;
2018 case (FreeRDP_Settings_Keys_UInt32)FreeRDP_MonitorLocalShiftY:
2019 return (UINT32)settings->MonitorLocalShiftY;
2023 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
2026 WINPR_ASSERT(FALSE);
2032 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt32
id, UINT32 val)
2041 WINPR_ASSERT(settings);
2047 case FreeRDP_AcceptedCertLength:
2048 settings->AcceptedCertLength = cnv.c;
2051 case FreeRDP_AuthenticationLevel:
2052 settings->AuthenticationLevel = cnv.c;
2055 case FreeRDP_AutoReconnectMaxRetries:
2056 settings->AutoReconnectMaxRetries = cnv.c;
2059 case FreeRDP_BitmapCacheV2NumCells:
2060 settings->BitmapCacheV2NumCells = cnv.c;
2063 case FreeRDP_BitmapCacheV3CodecId:
2064 settings->BitmapCacheV3CodecId = cnv.c;
2067 case FreeRDP_BitmapCacheVersion:
2068 settings->BitmapCacheVersion = cnv.c;
2071 case FreeRDP_BrushSupportLevel:
2072 settings->BrushSupportLevel = cnv.c;
2075 case FreeRDP_ChannelCount:
2076 settings->ChannelCount = cnv.c;
2079 case FreeRDP_ChannelDefArraySize:
2080 settings->ChannelDefArraySize = cnv.c;
2083 case FreeRDP_ClientBuild:
2084 settings->ClientBuild = cnv.c;
2087 case FreeRDP_ClientRandomLength:
2088 settings->ClientRandomLength = cnv.c;
2091 case FreeRDP_ClientSessionId:
2092 settings->ClientSessionId = cnv.c;
2095 case FreeRDP_ClipboardFeatureMask:
2096 settings->ClipboardFeatureMask = cnv.c;
2099 case FreeRDP_ClusterInfoFlags:
2100 settings->ClusterInfoFlags = cnv.c;
2103 case FreeRDP_ColorDepth:
2104 settings->ColorDepth = cnv.c;
2107 case FreeRDP_ColorPointerCacheSize:
2108 settings->ColorPointerCacheSize = cnv.c;
2111 case FreeRDP_CompDeskSupportLevel:
2112 settings->CompDeskSupportLevel = cnv.c;
2115 case FreeRDP_CompressionLevel:
2116 settings->CompressionLevel = cnv.c;
2119 case FreeRDP_ConnectionType:
2120 settings->ConnectionType = cnv.c;
2123 case FreeRDP_CookieMaxLength:
2124 settings->CookieMaxLength = cnv.c;
2127 case FreeRDP_DesktopHeight:
2128 settings->DesktopHeight = cnv.c;
2131 case FreeRDP_DesktopPhysicalHeight:
2132 settings->DesktopPhysicalHeight = cnv.c;
2135 case FreeRDP_DesktopPhysicalWidth:
2136 settings->DesktopPhysicalWidth = cnv.c;
2139 case FreeRDP_DesktopPosX:
2140 settings->DesktopPosX = cnv.c;
2143 case FreeRDP_DesktopPosY:
2144 settings->DesktopPosY = cnv.c;
2147 case FreeRDP_DesktopScaleFactor:
2148 settings->DesktopScaleFactor = cnv.c;
2151 case FreeRDP_DesktopWidth:
2152 settings->DesktopWidth = cnv.c;
2155 case FreeRDP_DeviceArraySize:
2156 settings->DeviceArraySize = cnv.c;
2159 case FreeRDP_DeviceCount:
2160 settings->DeviceCount = cnv.c;
2163 case FreeRDP_DeviceScaleFactor:
2164 settings->DeviceScaleFactor = cnv.c;
2167 case FreeRDP_DrawNineGridCacheEntries:
2168 settings->DrawNineGridCacheEntries = cnv.c;
2171 case FreeRDP_DrawNineGridCacheSize:
2172 settings->DrawNineGridCacheSize = cnv.c;
2175 case FreeRDP_DynamicChannelArraySize:
2176 settings->DynamicChannelArraySize = cnv.c;
2179 case FreeRDP_DynamicChannelCount:
2180 settings->DynamicChannelCount = cnv.c;
2183 case FreeRDP_EarlyCapabilityFlags:
2184 settings->EarlyCapabilityFlags = cnv.c;
2187 case FreeRDP_EncryptionLevel:
2188 settings->EncryptionLevel = cnv.c;
2191 case FreeRDP_EncryptionMethods:
2192 settings->EncryptionMethods = cnv.c;
2195 case FreeRDP_ExtEncryptionMethods:
2196 settings->ExtEncryptionMethods = cnv.c;
2199 case FreeRDP_FakeMouseMotionInterval:
2200 settings->FakeMouseMotionInterval = cnv.c;
2203 case FreeRDP_Floatbar:
2204 settings->Floatbar = cnv.c;
2207 case FreeRDP_ForceIPvX:
2208 settings->ForceIPvX = cnv.c;
2211 case FreeRDP_FrameAcknowledge:
2212 settings->FrameAcknowledge = cnv.c;
2215 case FreeRDP_GatewayAcceptedCertLength:
2216 settings->GatewayAcceptedCertLength = cnv.c;
2219 case FreeRDP_GatewayCredentialsSource:
2220 settings->GatewayCredentialsSource = cnv.c;
2223 case FreeRDP_GatewayPort:
2224 settings->GatewayPort = cnv.c;
2227 case FreeRDP_GatewayUsageMethod:
2228 settings->GatewayUsageMethod = cnv.c;
2231 case FreeRDP_GfxCapsFilter:
2232 settings->GfxCapsFilter = cnv.c;
2235 case FreeRDP_GlyphSupportLevel:
2236 settings->GlyphSupportLevel = cnv.c;
2239 case FreeRDP_JpegCodecId:
2240 settings->JpegCodecId = cnv.c;
2243 case FreeRDP_JpegQuality:
2244 settings->JpegQuality = cnv.c;
2247 case FreeRDP_KeySpec:
2248 settings->KeySpec = cnv.c;
2251 case FreeRDP_KeyboardCodePage:
2252 settings->KeyboardCodePage = cnv.c;
2255 case FreeRDP_KeyboardFunctionKey:
2256 settings->KeyboardFunctionKey = cnv.c;
2259 case FreeRDP_KeyboardHook:
2260 settings->KeyboardHook = cnv.c;
2263 case FreeRDP_KeyboardLayout:
2264 settings->KeyboardLayout = cnv.c;
2267 case FreeRDP_KeyboardSubType:
2268 settings->KeyboardSubType = cnv.c;
2271 case FreeRDP_KeyboardType:
2272 settings->KeyboardType = cnv.c;
2275 case FreeRDP_LargePointerFlag:
2276 settings->LargePointerFlag = cnv.c;
2279 case FreeRDP_LoadBalanceInfoLength:
2280 settings->LoadBalanceInfoLength = cnv.c;
2283 case FreeRDP_MonitorAttributeFlags:
2284 settings->MonitorAttributeFlags = cnv.c;
2287 case FreeRDP_MonitorCount:
2288 settings->MonitorCount = cnv.c;
2291 case FreeRDP_MonitorDefArraySize:
2292 settings->MonitorDefArraySize = cnv.c;
2295 case FreeRDP_MonitorFlags:
2296 settings->MonitorFlags = cnv.c;
2299 case FreeRDP_MultifragMaxRequestSize:
2300 settings->MultifragMaxRequestSize = cnv.c;
2303 case FreeRDP_MultitransportFlags:
2304 settings->MultitransportFlags = cnv.c;
2307 case FreeRDP_NSCodecColorLossLevel:
2308 settings->NSCodecColorLossLevel = cnv.c;
2311 case FreeRDP_NSCodecId:
2312 settings->NSCodecId = cnv.c;
2315 case FreeRDP_NegotiationFlags:
2316 settings->NegotiationFlags = cnv.c;
2319 case FreeRDP_NumMonitorIds:
2320 settings->NumMonitorIds = cnv.c;
2323 case FreeRDP_OffscreenCacheEntries:
2324 settings->OffscreenCacheEntries = cnv.c;
2327 case FreeRDP_OffscreenCacheSize:
2328 settings->OffscreenCacheSize = cnv.c;
2331 case FreeRDP_OffscreenSupportLevel:
2332 settings->OffscreenSupportLevel = cnv.c;
2335 case FreeRDP_OsMajorType:
2336 settings->OsMajorType = cnv.c;
2339 case FreeRDP_OsMinorType:
2340 settings->OsMinorType = cnv.c;
2343 case FreeRDP_Password51Length:
2344 settings->Password51Length = cnv.c;
2347 case FreeRDP_PduSource:
2348 settings->PduSource = cnv.c;
2351 case FreeRDP_PercentScreen:
2352 settings->PercentScreen = cnv.c;
2355 case FreeRDP_PerformanceFlags:
2356 settings->PerformanceFlags = cnv.c;
2359 case FreeRDP_PointerCacheSize:
2360 settings->PointerCacheSize = cnv.c;
2363 case FreeRDP_PreconnectionId:
2364 settings->PreconnectionId = cnv.c;
2367 case FreeRDP_ProxyType:
2368 settings->ProxyType = cnv.c;
2371 case FreeRDP_RdpVersion:
2372 settings->RdpVersion = cnv.c;
2375 case FreeRDP_ReceivedCapabilitiesSize:
2376 return freerdp_capability_buffer_resize(settings, cnv.c);
2378 case FreeRDP_RedirectedSessionId:
2379 settings->RedirectedSessionId = cnv.c;
2382 case FreeRDP_RedirectionAcceptedCertLength:
2383 settings->RedirectionAcceptedCertLength = cnv.c;
2386 case FreeRDP_RedirectionFlags:
2387 settings->RedirectionFlags = cnv.c;
2390 case FreeRDP_RedirectionGuidLength:
2391 settings->RedirectionGuidLength = cnv.c;
2394 case FreeRDP_RedirectionPasswordLength:
2395 settings->RedirectionPasswordLength = cnv.c;
2398 case FreeRDP_RedirectionPreferType:
2399 settings->RedirectionPreferType = cnv.c;
2402 case FreeRDP_RedirectionTsvUrlLength:
2403 settings->RedirectionTsvUrlLength = cnv.c;
2406 case FreeRDP_RemoteAppNumIconCacheEntries:
2407 settings->RemoteAppNumIconCacheEntries = cnv.c;
2410 case FreeRDP_RemoteAppNumIconCaches:
2411 settings->RemoteAppNumIconCaches = cnv.c;
2414 case FreeRDP_RemoteApplicationExpandCmdLine:
2415 settings->RemoteApplicationExpandCmdLine = cnv.c;
2418 case FreeRDP_RemoteApplicationExpandWorkingDir:
2419 settings->RemoteApplicationExpandWorkingDir = cnv.c;
2422 case FreeRDP_RemoteApplicationSupportLevel:
2423 settings->RemoteApplicationSupportLevel = cnv.c;
2426 case FreeRDP_RemoteApplicationSupportMask:
2427 settings->RemoteApplicationSupportMask = cnv.c;
2430 case FreeRDP_RemoteFxCaptureFlags:
2431 settings->RemoteFxCaptureFlags = cnv.c;
2434 case FreeRDP_RemoteFxCodecId:
2435 settings->RemoteFxCodecId = cnv.c;
2438 case FreeRDP_RemoteFxCodecMode:
2439 settings->RemoteFxCodecMode = cnv.c;
2442 case FreeRDP_RemoteFxRlgrMode:
2443 settings->RemoteFxRlgrMode = cnv.c;
2446 case FreeRDP_RemoteWndSupportLevel:
2447 settings->RemoteWndSupportLevel = cnv.c;
2450 case FreeRDP_RequestedProtocols:
2451 settings->RequestedProtocols = cnv.c;
2454 case FreeRDP_SelectedProtocol:
2455 settings->SelectedProtocol = cnv.c;
2458 case FreeRDP_ServerCertificateLength:
2459 settings->ServerCertificateLength = cnv.c;
2462 case FreeRDP_ServerLicenseProductIssuersCount:
2463 settings->ServerLicenseProductIssuersCount = cnv.c;
2466 case FreeRDP_ServerLicenseProductVersion:
2467 settings->ServerLicenseProductVersion = cnv.c;
2470 case FreeRDP_ServerPort:
2471 settings->ServerPort = cnv.c;
2474 case FreeRDP_ServerRandomLength:
2475 settings->ServerRandomLength = cnv.c;
2478 case FreeRDP_ShareId:
2479 settings->ShareId = cnv.c;
2482 case FreeRDP_SmartSizingHeight:
2483 settings->SmartSizingHeight = cnv.c;
2486 case FreeRDP_SmartSizingWidth:
2487 settings->SmartSizingWidth = cnv.c;
2490 case FreeRDP_StaticChannelArraySize:
2491 settings->StaticChannelArraySize = cnv.c;
2494 case FreeRDP_StaticChannelCount:
2495 settings->StaticChannelCount = cnv.c;
2498 case FreeRDP_SurfaceCommandsSupported:
2499 settings->SurfaceCommandsSupported = cnv.c;
2502 case FreeRDP_TargetNetAddressCount:
2503 return freerdp_target_net_addresses_resize(settings, cnv.c);
2505 case FreeRDP_TcpAckTimeout:
2506 settings->TcpAckTimeout = cnv.c;
2509 case FreeRDP_TcpConnectTimeout:
2510 settings->TcpConnectTimeout = cnv.c;
2513 case FreeRDP_TcpKeepAliveDelay:
2514 settings->TcpKeepAliveDelay = cnv.c;
2517 case FreeRDP_TcpKeepAliveInterval:
2518 settings->TcpKeepAliveInterval = cnv.c;
2521 case FreeRDP_TcpKeepAliveRetries:
2522 settings->TcpKeepAliveRetries = cnv.c;
2525 case FreeRDP_ThreadingFlags:
2526 settings->ThreadingFlags = cnv.c;
2529 case FreeRDP_TlsSecLevel:
2530 settings->TlsSecLevel = cnv.c;
2533 case FreeRDP_VCChunkSize:
2534 settings->VCChunkSize = cnv.c;
2537 case FreeRDP_VCFlags:
2538 settings->VCFlags = cnv.c;
2541#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
2543 case FreeRDP_MonitorLocalShiftX:
2544 settings->MonitorLocalShiftX = (int32_t)cnv.c;
2548 case FreeRDP_MonitorLocalShiftY:
2549 settings->MonitorLocalShiftY = (int32_t)cnv.c;
2554 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
2563 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int32
id)
2565 WINPR_ASSERT(settings);
2569 case FreeRDP_MonitorLocalShiftX:
2570 return settings->MonitorLocalShiftX;
2572 case FreeRDP_MonitorLocalShiftY:
2573 return settings->MonitorLocalShiftY;
2576 return settings->XPan;
2579 return settings->YPan;
2582 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
2585 WINPR_ASSERT(FALSE);
2591 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int32
id, INT32 val)
2600 WINPR_ASSERT(settings);
2606 case FreeRDP_MonitorLocalShiftX:
2607 settings->MonitorLocalShiftX = cnv.c;
2610 case FreeRDP_MonitorLocalShiftY:
2611 settings->MonitorLocalShiftY = cnv.c;
2615 settings->XPan = cnv.c;
2619 settings->YPan = cnv.c;
2623 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
2632 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt64
id)
2634 WINPR_ASSERT(settings);
2638 case FreeRDP_MonitorOverrideFlags:
2639 return settings->MonitorOverrideFlags;
2641 case FreeRDP_ParentWindowId:
2642 return settings->ParentWindowId;
2645 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
2648 WINPR_ASSERT(FALSE);
2654 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_UInt64
id, UINT64 val)
2663 WINPR_ASSERT(settings);
2669 case FreeRDP_MonitorOverrideFlags:
2670 settings->MonitorOverrideFlags = cnv.c;
2673 case FreeRDP_ParentWindowId:
2674 settings->ParentWindowId = cnv.c;
2678 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
2687 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int64
id)
2689 WINPR_ASSERT(settings);
2694 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
2697 WINPR_ASSERT(FALSE);
2703 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Int64
id, INT64 val)
2712 WINPR_ASSERT(settings);
2719 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
2728 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_String
id)
2730 WINPR_ASSERT(settings);
2734 case FreeRDP_AadServerHostname:
2735 return settings->AadServerHostname;
2737 case FreeRDP_AcceptedCert:
2738 return settings->AcceptedCert;
2740 case FreeRDP_ActionScript:
2741 return settings->ActionScript;
2743 case FreeRDP_AllowedTlsCiphers:
2744 return settings->AllowedTlsCiphers;
2746 case FreeRDP_AlternateShell:
2747 return settings->AlternateShell;
2749 case FreeRDP_AssistanceFile:
2750 return settings->AssistanceFile;
2752 case FreeRDP_AuthenticationPackageList:
2753 return settings->AuthenticationPackageList;
2755 case FreeRDP_AuthenticationServiceClass:
2756 return settings->AuthenticationServiceClass;
2758 case FreeRDP_BitmapCachePersistFile:
2759 return settings->BitmapCachePersistFile;
2761 case FreeRDP_CardName:
2762 return settings->CardName;
2764 case FreeRDP_CertificateAcceptedFingerprints:
2765 return settings->CertificateAcceptedFingerprints;
2767 case FreeRDP_CertificateName:
2768 return settings->CertificateName;
2770 case FreeRDP_ClientAddress:
2771 return settings->ClientAddress;
2773 case FreeRDP_ClientDir:
2774 return settings->ClientDir;
2776 case FreeRDP_ClientHostname:
2777 return settings->ClientHostname;
2779 case FreeRDP_ClientProductId:
2780 return settings->ClientProductId;
2782 case FreeRDP_ClipboardUseSelection:
2783 return settings->ClipboardUseSelection;
2785 case FreeRDP_ComputerName:
2786 return settings->ComputerName;
2788 case FreeRDP_ConfigPath:
2789 return settings->ConfigPath;
2791 case FreeRDP_ConnectionFile:
2792 return settings->ConnectionFile;
2794 case FreeRDP_ContainerName:
2795 return settings->ContainerName;
2797 case FreeRDP_CspName:
2798 return settings->CspName;
2800 case FreeRDP_CurrentPath:
2801 return settings->CurrentPath;
2803 case FreeRDP_Domain:
2804 return settings->Domain;
2806 case FreeRDP_DrivesToRedirect:
2807 return settings->DrivesToRedirect;
2809 case FreeRDP_DumpRemoteFxFile:
2810 return settings->DumpRemoteFxFile;
2812 case FreeRDP_DynamicDSTTimeZoneKeyName:
2813 return settings->DynamicDSTTimeZoneKeyName;
2815 case FreeRDP_GatewayAcceptedCert:
2816 return settings->GatewayAcceptedCert;
2818 case FreeRDP_GatewayAccessToken:
2819 return settings->GatewayAccessToken;
2821 case FreeRDP_GatewayAvdAadtenantid:
2822 return settings->GatewayAvdAadtenantid;
2824 case FreeRDP_GatewayAvdActivityhint:
2825 return settings->GatewayAvdActivityhint;
2827 case FreeRDP_GatewayAvdArmpath:
2828 return settings->GatewayAvdArmpath;
2830 case FreeRDP_GatewayAvdClientID:
2831 return settings->GatewayAvdClientID;
2833 case FreeRDP_GatewayAvdDiagnosticserviceurl:
2834 return settings->GatewayAvdDiagnosticserviceurl;
2836 case FreeRDP_GatewayAvdGeo:
2837 return settings->GatewayAvdGeo;
2839 case FreeRDP_GatewayAvdHubdiscoverygeourl:
2840 return settings->GatewayAvdHubdiscoverygeourl;
2842 case FreeRDP_GatewayAvdWvdEndpointPool:
2843 return settings->GatewayAvdWvdEndpointPool;
2845 case FreeRDP_GatewayAzureActiveDirectory:
2846 return settings->GatewayAzureActiveDirectory;
2848 case FreeRDP_GatewayDomain:
2849 return settings->GatewayDomain;
2851 case FreeRDP_GatewayHostname:
2852 return settings->GatewayHostname;
2854 case FreeRDP_GatewayHttpExtAuthBearer:
2855 return settings->GatewayHttpExtAuthBearer;
2857 case FreeRDP_GatewayPassword:
2858 return settings->GatewayPassword;
2860 case FreeRDP_GatewayUrl:
2861 return settings->GatewayUrl;
2863 case FreeRDP_GatewayUsername:
2864 return settings->GatewayUsername;
2866 case FreeRDP_HomePath:
2867 return settings->HomePath;
2869 case FreeRDP_ImeFileName:
2870 return settings->ImeFileName;
2872 case FreeRDP_KerberosArmor:
2873 return settings->KerberosArmor;
2875 case FreeRDP_KerberosCache:
2876 return settings->KerberosCache;
2878 case FreeRDP_KerberosKdcUrl:
2879 return settings->KerberosKdcUrl;
2881 case FreeRDP_KerberosKeytab:
2882 return settings->KerberosKeytab;
2884 case FreeRDP_KerberosLifeTime:
2885 return settings->KerberosLifeTime;
2887 case FreeRDP_KerberosRealm:
2888 return settings->KerberosRealm;
2890 case FreeRDP_KerberosRenewableLifeTime:
2891 return settings->KerberosRenewableLifeTime;
2893 case FreeRDP_KerberosStartTime:
2894 return settings->KerberosStartTime;
2896 case FreeRDP_KeyboardPipeName:
2897 return settings->KeyboardPipeName;
2899 case FreeRDP_KeyboardRemappingList:
2900 return settings->KeyboardRemappingList;
2902 case FreeRDP_NtlmSamFile:
2903 return settings->NtlmSamFile;
2905 case FreeRDP_Password:
2906 return settings->Password;
2908 case FreeRDP_PasswordHash:
2909 return settings->PasswordHash;
2911 case FreeRDP_Pkcs11Module:
2912 return settings->Pkcs11Module;
2914 case FreeRDP_PkinitAnchors:
2915 return settings->PkinitAnchors;
2917 case FreeRDP_PlayRemoteFxFile:
2918 return settings->PlayRemoteFxFile;
2920 case FreeRDP_PreconnectionBlob:
2921 return settings->PreconnectionBlob;
2923 case FreeRDP_ProxyHostname:
2924 return settings->ProxyHostname;
2926 case FreeRDP_ProxyPassword:
2927 return settings->ProxyPassword;
2929 case FreeRDP_ProxyUsername:
2930 return settings->ProxyUsername;
2932 case FreeRDP_RDP2TCPArgs:
2933 return settings->RDP2TCPArgs;
2935 case FreeRDP_ReaderName:
2936 return settings->ReaderName;
2938 case FreeRDP_RedirectionAcceptedCert:
2939 return settings->RedirectionAcceptedCert;
2941 case FreeRDP_RedirectionDomain:
2942 return settings->RedirectionDomain;
2944 case FreeRDP_RedirectionTargetFQDN:
2945 return settings->RedirectionTargetFQDN;
2947 case FreeRDP_RedirectionTargetNetBiosName:
2948 return settings->RedirectionTargetNetBiosName;
2950 case FreeRDP_RedirectionUsername:
2951 return settings->RedirectionUsername;
2953 case FreeRDP_RemoteApplicationCmdLine:
2954 return settings->RemoteApplicationCmdLine;
2956 case FreeRDP_RemoteApplicationFile:
2957 return settings->RemoteApplicationFile;
2959 case FreeRDP_RemoteApplicationGuid:
2960 return settings->RemoteApplicationGuid;
2962 case FreeRDP_RemoteApplicationIcon:
2963 return settings->RemoteApplicationIcon;
2965 case FreeRDP_RemoteApplicationName:
2966 return settings->RemoteApplicationName;
2968 case FreeRDP_RemoteApplicationProgram:
2969 return settings->RemoteApplicationProgram;
2971 case FreeRDP_RemoteApplicationWorkingDir:
2972 return settings->RemoteApplicationWorkingDir;
2974 case FreeRDP_RemoteAssistancePassStub:
2975 return settings->RemoteAssistancePassStub;
2977 case FreeRDP_RemoteAssistancePassword:
2978 return settings->RemoteAssistancePassword;
2980 case FreeRDP_RemoteAssistanceRCTicket:
2981 return settings->RemoteAssistanceRCTicket;
2983 case FreeRDP_RemoteAssistanceSessionId:
2984 return settings->RemoteAssistanceSessionId;
2986 case FreeRDP_ServerHostname:
2987 return settings->ServerHostname;
2989 case FreeRDP_ServerLicenseCompanyName:
2990 return settings->ServerLicenseCompanyName;
2992 case FreeRDP_ServerLicenseProductName:
2993 return settings->ServerLicenseProductName;
2995 case FreeRDP_ShellWorkingDirectory:
2996 return settings->ShellWorkingDirectory;
2998 case FreeRDP_SmartcardCertificate:
2999 return settings->SmartcardCertificate;
3001 case FreeRDP_SmartcardPrivateKey:
3002 return settings->SmartcardPrivateKey;
3004 case FreeRDP_SspiModule:
3005 return settings->SspiModule;
3007 case FreeRDP_TargetNetAddress:
3008 return settings->TargetNetAddress;
3010 case FreeRDP_TerminalDescriptor:
3011 return settings->TerminalDescriptor;
3013 case FreeRDP_TlsSecretsFile:
3014 return settings->TlsSecretsFile;
3016 case FreeRDP_TransportDumpFile:
3017 return settings->TransportDumpFile;
3019 case FreeRDP_UserSpecifiedServerName:
3020 return settings->UserSpecifiedServerName;
3022 case FreeRDP_Username:
3023 return settings->Username;
3025 case FreeRDP_WinSCardModule:
3026 return settings->WinSCardModule;
3028 case FreeRDP_WindowTitle:
3029 return settings->WindowTitle;
3031 case FreeRDP_WmClass:
3032 return settings->WmClass;
3035 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
3038 WINPR_ASSERT(FALSE);
3045 WINPR_ASSERT(settings);
3049 case FreeRDP_AadServerHostname:
3050 return settings->AadServerHostname;
3052 case FreeRDP_AcceptedCert:
3053 return settings->AcceptedCert;
3055 case FreeRDP_ActionScript:
3056 return settings->ActionScript;
3058 case FreeRDP_AllowedTlsCiphers:
3059 return settings->AllowedTlsCiphers;
3061 case FreeRDP_AlternateShell:
3062 return settings->AlternateShell;
3064 case FreeRDP_AssistanceFile:
3065 return settings->AssistanceFile;
3067 case FreeRDP_AuthenticationPackageList:
3068 return settings->AuthenticationPackageList;
3070 case FreeRDP_AuthenticationServiceClass:
3071 return settings->AuthenticationServiceClass;
3073 case FreeRDP_BitmapCachePersistFile:
3074 return settings->BitmapCachePersistFile;
3076 case FreeRDP_CardName:
3077 return settings->CardName;
3079 case FreeRDP_CertificateAcceptedFingerprints:
3080 return settings->CertificateAcceptedFingerprints;
3082 case FreeRDP_CertificateName:
3083 return settings->CertificateName;
3085 case FreeRDP_ClientAddress:
3086 return settings->ClientAddress;
3088 case FreeRDP_ClientDir:
3089 return settings->ClientDir;
3091 case FreeRDP_ClientHostname:
3092 return settings->ClientHostname;
3094 case FreeRDP_ClientProductId:
3095 return settings->ClientProductId;
3097 case FreeRDP_ClipboardUseSelection:
3098 return settings->ClipboardUseSelection;
3100 case FreeRDP_ComputerName:
3101 return settings->ComputerName;
3103 case FreeRDP_ConfigPath:
3104 return settings->ConfigPath;
3106 case FreeRDP_ConnectionFile:
3107 return settings->ConnectionFile;
3109 case FreeRDP_ContainerName:
3110 return settings->ContainerName;
3112 case FreeRDP_CspName:
3113 return settings->CspName;
3115 case FreeRDP_CurrentPath:
3116 return settings->CurrentPath;
3118 case FreeRDP_Domain:
3119 return settings->Domain;
3121 case FreeRDP_DrivesToRedirect:
3122 return settings->DrivesToRedirect;
3124 case FreeRDP_DumpRemoteFxFile:
3125 return settings->DumpRemoteFxFile;
3127 case FreeRDP_DynamicDSTTimeZoneKeyName:
3128 return settings->DynamicDSTTimeZoneKeyName;
3130 case FreeRDP_GatewayAcceptedCert:
3131 return settings->GatewayAcceptedCert;
3133 case FreeRDP_GatewayAccessToken:
3134 return settings->GatewayAccessToken;
3136 case FreeRDP_GatewayAvdAadtenantid:
3137 return settings->GatewayAvdAadtenantid;
3139 case FreeRDP_GatewayAvdActivityhint:
3140 return settings->GatewayAvdActivityhint;
3142 case FreeRDP_GatewayAvdArmpath:
3143 return settings->GatewayAvdArmpath;
3145 case FreeRDP_GatewayAvdClientID:
3146 return settings->GatewayAvdClientID;
3148 case FreeRDP_GatewayAvdDiagnosticserviceurl:
3149 return settings->GatewayAvdDiagnosticserviceurl;
3151 case FreeRDP_GatewayAvdGeo:
3152 return settings->GatewayAvdGeo;
3154 case FreeRDP_GatewayAvdHubdiscoverygeourl:
3155 return settings->GatewayAvdHubdiscoverygeourl;
3157 case FreeRDP_GatewayAvdWvdEndpointPool:
3158 return settings->GatewayAvdWvdEndpointPool;
3160 case FreeRDP_GatewayAzureActiveDirectory:
3161 return settings->GatewayAzureActiveDirectory;
3163 case FreeRDP_GatewayDomain:
3164 return settings->GatewayDomain;
3166 case FreeRDP_GatewayHostname:
3167 return settings->GatewayHostname;
3169 case FreeRDP_GatewayHttpExtAuthBearer:
3170 return settings->GatewayHttpExtAuthBearer;
3172 case FreeRDP_GatewayPassword:
3173 return settings->GatewayPassword;
3175 case FreeRDP_GatewayUrl:
3176 return settings->GatewayUrl;
3178 case FreeRDP_GatewayUsername:
3179 return settings->GatewayUsername;
3181 case FreeRDP_HomePath:
3182 return settings->HomePath;
3184 case FreeRDP_ImeFileName:
3185 return settings->ImeFileName;
3187 case FreeRDP_KerberosArmor:
3188 return settings->KerberosArmor;
3190 case FreeRDP_KerberosCache:
3191 return settings->KerberosCache;
3193 case FreeRDP_KerberosKdcUrl:
3194 return settings->KerberosKdcUrl;
3196 case FreeRDP_KerberosKeytab:
3197 return settings->KerberosKeytab;
3199 case FreeRDP_KerberosLifeTime:
3200 return settings->KerberosLifeTime;
3202 case FreeRDP_KerberosRealm:
3203 return settings->KerberosRealm;
3205 case FreeRDP_KerberosRenewableLifeTime:
3206 return settings->KerberosRenewableLifeTime;
3208 case FreeRDP_KerberosStartTime:
3209 return settings->KerberosStartTime;
3211 case FreeRDP_KeyboardPipeName:
3212 return settings->KeyboardPipeName;
3214 case FreeRDP_KeyboardRemappingList:
3215 return settings->KeyboardRemappingList;
3217 case FreeRDP_NtlmSamFile:
3218 return settings->NtlmSamFile;
3220 case FreeRDP_Password:
3221 return settings->Password;
3223 case FreeRDP_PasswordHash:
3224 return settings->PasswordHash;
3226 case FreeRDP_Pkcs11Module:
3227 return settings->Pkcs11Module;
3229 case FreeRDP_PkinitAnchors:
3230 return settings->PkinitAnchors;
3232 case FreeRDP_PlayRemoteFxFile:
3233 return settings->PlayRemoteFxFile;
3235 case FreeRDP_PreconnectionBlob:
3236 return settings->PreconnectionBlob;
3238 case FreeRDP_ProxyHostname:
3239 return settings->ProxyHostname;
3241 case FreeRDP_ProxyPassword:
3242 return settings->ProxyPassword;
3244 case FreeRDP_ProxyUsername:
3245 return settings->ProxyUsername;
3247 case FreeRDP_RDP2TCPArgs:
3248 return settings->RDP2TCPArgs;
3250 case FreeRDP_ReaderName:
3251 return settings->ReaderName;
3253 case FreeRDP_RedirectionAcceptedCert:
3254 return settings->RedirectionAcceptedCert;
3256 case FreeRDP_RedirectionDomain:
3257 return settings->RedirectionDomain;
3259 case FreeRDP_RedirectionTargetFQDN:
3260 return settings->RedirectionTargetFQDN;
3262 case FreeRDP_RedirectionTargetNetBiosName:
3263 return settings->RedirectionTargetNetBiosName;
3265 case FreeRDP_RedirectionUsername:
3266 return settings->RedirectionUsername;
3268 case FreeRDP_RemoteApplicationCmdLine:
3269 return settings->RemoteApplicationCmdLine;
3271 case FreeRDP_RemoteApplicationFile:
3272 return settings->RemoteApplicationFile;
3274 case FreeRDP_RemoteApplicationGuid:
3275 return settings->RemoteApplicationGuid;
3277 case FreeRDP_RemoteApplicationIcon:
3278 return settings->RemoteApplicationIcon;
3280 case FreeRDP_RemoteApplicationName:
3281 return settings->RemoteApplicationName;
3283 case FreeRDP_RemoteApplicationProgram:
3284 return settings->RemoteApplicationProgram;
3286 case FreeRDP_RemoteApplicationWorkingDir:
3287 return settings->RemoteApplicationWorkingDir;
3289 case FreeRDP_RemoteAssistancePassStub:
3290 return settings->RemoteAssistancePassStub;
3292 case FreeRDP_RemoteAssistancePassword:
3293 return settings->RemoteAssistancePassword;
3295 case FreeRDP_RemoteAssistanceRCTicket:
3296 return settings->RemoteAssistanceRCTicket;
3298 case FreeRDP_RemoteAssistanceSessionId:
3299 return settings->RemoteAssistanceSessionId;
3301 case FreeRDP_ServerHostname:
3302 return settings->ServerHostname;
3304 case FreeRDP_ServerLicenseCompanyName:
3305 return settings->ServerLicenseCompanyName;
3307 case FreeRDP_ServerLicenseProductName:
3308 return settings->ServerLicenseProductName;
3310 case FreeRDP_ShellWorkingDirectory:
3311 return settings->ShellWorkingDirectory;
3313 case FreeRDP_SmartcardCertificate:
3314 return settings->SmartcardCertificate;
3316 case FreeRDP_SmartcardPrivateKey:
3317 return settings->SmartcardPrivateKey;
3319 case FreeRDP_SspiModule:
3320 return settings->SspiModule;
3322 case FreeRDP_TargetNetAddress:
3323 return settings->TargetNetAddress;
3325 case FreeRDP_TerminalDescriptor:
3326 return settings->TerminalDescriptor;
3328 case FreeRDP_TlsSecretsFile:
3329 return settings->TlsSecretsFile;
3331 case FreeRDP_TransportDumpFile:
3332 return settings->TransportDumpFile;
3334 case FreeRDP_UserSpecifiedServerName:
3335 return settings->UserSpecifiedServerName;
3337 case FreeRDP_Username:
3338 return settings->Username;
3340 case FreeRDP_WinSCardModule:
3341 return settings->WinSCardModule;
3343 case FreeRDP_WindowTitle:
3344 return settings->WindowTitle;
3346 case FreeRDP_WmClass:
3347 return settings->WmClass;
3350 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
3353 WINPR_ASSERT(FALSE);
3358BOOL freerdp_settings_set_string_(WINPR_ATTR_UNUSED rdpSettings* settings,
3359 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_String
id,
3360 const char* val,
size_t len)
3369 WINPR_ASSERT(settings);
3375 case FreeRDP_AadServerHostname:
3376 return update_string_(&settings->AadServerHostname, cnv.c, len);
3378 case FreeRDP_AcceptedCert:
3379 return update_string_(&settings->AcceptedCert, cnv.c, len);
3381 case FreeRDP_ActionScript:
3382 return update_string_(&settings->ActionScript, cnv.c, len);
3384 case FreeRDP_AllowedTlsCiphers:
3385 return update_string_(&settings->AllowedTlsCiphers, cnv.c, len);
3387 case FreeRDP_AlternateShell:
3388 return update_string_(&settings->AlternateShell, cnv.c, len);
3390 case FreeRDP_AssistanceFile:
3391 return update_string_(&settings->AssistanceFile, cnv.c, len);
3393 case FreeRDP_AuthenticationPackageList:
3394 return update_string_(&settings->AuthenticationPackageList, cnv.c, len);
3396 case FreeRDP_AuthenticationServiceClass:
3397 return update_string_(&settings->AuthenticationServiceClass, cnv.c, len);
3399 case FreeRDP_BitmapCachePersistFile:
3400 return update_string_(&settings->BitmapCachePersistFile, cnv.c, len);
3402 case FreeRDP_CardName:
3403 return update_string_(&settings->CardName, cnv.c, len);
3405 case FreeRDP_CertificateAcceptedFingerprints:
3406 return update_string_(&settings->CertificateAcceptedFingerprints, cnv.c, len);
3408 case FreeRDP_CertificateName:
3409 return update_string_(&settings->CertificateName, cnv.c, len);
3411 case FreeRDP_ClientAddress:
3412 return update_string_(&settings->ClientAddress, cnv.c, len);
3414 case FreeRDP_ClientDir:
3415 return update_string_(&settings->ClientDir, cnv.c, len);
3417 case FreeRDP_ClientHostname:
3418 return update_string_(&settings->ClientHostname, cnv.c, len);
3420 case FreeRDP_ClientProductId:
3421 return update_string_(&settings->ClientProductId, cnv.c, len);
3423 case FreeRDP_ClipboardUseSelection:
3424 return update_string_(&settings->ClipboardUseSelection, cnv.c, len);
3426 case FreeRDP_ComputerName:
3427 return update_string_(&settings->ComputerName, cnv.c, len);
3429 case FreeRDP_ConfigPath:
3430 return update_string_(&settings->ConfigPath, cnv.c, len);
3432 case FreeRDP_ConnectionFile:
3433 return update_string_(&settings->ConnectionFile, cnv.c, len);
3435 case FreeRDP_ContainerName:
3436 return update_string_(&settings->ContainerName, cnv.c, len);
3438 case FreeRDP_CspName:
3439 return update_string_(&settings->CspName, cnv.c, len);
3441 case FreeRDP_CurrentPath:
3442 return update_string_(&settings->CurrentPath, cnv.c, len);
3444 case FreeRDP_Domain:
3445 return update_string_(&settings->Domain, cnv.c, len);
3447 case FreeRDP_DrivesToRedirect:
3448 return update_string_(&settings->DrivesToRedirect, cnv.c, len);
3450 case FreeRDP_DumpRemoteFxFile:
3451 return update_string_(&settings->DumpRemoteFxFile, cnv.c, len);
3453 case FreeRDP_DynamicDSTTimeZoneKeyName:
3454 return update_string_(&settings->DynamicDSTTimeZoneKeyName, cnv.c, len);
3456 case FreeRDP_GatewayAcceptedCert:
3457 return update_string_(&settings->GatewayAcceptedCert, cnv.c, len);
3459 case FreeRDP_GatewayAccessToken:
3460 return update_string_(&settings->GatewayAccessToken, cnv.c, len);
3462 case FreeRDP_GatewayAvdAadtenantid:
3463 return update_string_(&settings->GatewayAvdAadtenantid, cnv.c, len);
3465 case FreeRDP_GatewayAvdActivityhint:
3466 return update_string_(&settings->GatewayAvdActivityhint, cnv.c, len);
3468 case FreeRDP_GatewayAvdArmpath:
3469 return update_string_(&settings->GatewayAvdArmpath, cnv.c, len);
3471 case FreeRDP_GatewayAvdClientID:
3472 return update_string_(&settings->GatewayAvdClientID, cnv.c, len);
3474 case FreeRDP_GatewayAvdDiagnosticserviceurl:
3475 return update_string_(&settings->GatewayAvdDiagnosticserviceurl, cnv.c, len);
3477 case FreeRDP_GatewayAvdGeo:
3478 return update_string_(&settings->GatewayAvdGeo, cnv.c, len);
3480 case FreeRDP_GatewayAvdHubdiscoverygeourl:
3481 return update_string_(&settings->GatewayAvdHubdiscoverygeourl, cnv.c, len);
3483 case FreeRDP_GatewayAvdWvdEndpointPool:
3484 return update_string_(&settings->GatewayAvdWvdEndpointPool, cnv.c, len);
3486 case FreeRDP_GatewayAzureActiveDirectory:
3487 return update_string_(&settings->GatewayAzureActiveDirectory, cnv.c, len);
3489 case FreeRDP_GatewayDomain:
3490 return update_string_(&settings->GatewayDomain, cnv.c, len);
3492 case FreeRDP_GatewayHostname:
3493 return update_string_(&settings->GatewayHostname, cnv.c, len);
3495 case FreeRDP_GatewayHttpExtAuthBearer:
3496 return update_string_(&settings->GatewayHttpExtAuthBearer, cnv.c, len);
3498 case FreeRDP_GatewayPassword:
3499 return update_string_(&settings->GatewayPassword, cnv.c, len);
3501 case FreeRDP_GatewayUrl:
3502 return update_string_(&settings->GatewayUrl, cnv.c, len);
3504 case FreeRDP_GatewayUsername:
3505 return update_string_(&settings->GatewayUsername, cnv.c, len);
3507 case FreeRDP_HomePath:
3508 return update_string_(&settings->HomePath, cnv.c, len);
3510 case FreeRDP_ImeFileName:
3511 return update_string_(&settings->ImeFileName, cnv.c, len);
3513 case FreeRDP_KerberosArmor:
3514 return update_string_(&settings->KerberosArmor, cnv.c, len);
3516 case FreeRDP_KerberosCache:
3517 return update_string_(&settings->KerberosCache, cnv.c, len);
3519 case FreeRDP_KerberosKdcUrl:
3520 return update_string_(&settings->KerberosKdcUrl, cnv.c, len);
3522 case FreeRDP_KerberosKeytab:
3523 return update_string_(&settings->KerberosKeytab, cnv.c, len);
3525 case FreeRDP_KerberosLifeTime:
3526 return update_string_(&settings->KerberosLifeTime, cnv.c, len);
3528 case FreeRDP_KerberosRealm:
3529 return update_string_(&settings->KerberosRealm, cnv.c, len);
3531 case FreeRDP_KerberosRenewableLifeTime:
3532 return update_string_(&settings->KerberosRenewableLifeTime, cnv.c, len);
3534 case FreeRDP_KerberosStartTime:
3535 return update_string_(&settings->KerberosStartTime, cnv.c, len);
3537 case FreeRDP_KeyboardPipeName:
3538 return update_string_(&settings->KeyboardPipeName, cnv.c, len);
3540 case FreeRDP_KeyboardRemappingList:
3541 return update_string_(&settings->KeyboardRemappingList, cnv.c, len);
3543 case FreeRDP_NtlmSamFile:
3544 return update_string_(&settings->NtlmSamFile, cnv.c, len);
3546 case FreeRDP_Password:
3547 return update_string_(&settings->Password, cnv.c, len);
3549 case FreeRDP_PasswordHash:
3550 return update_string_(&settings->PasswordHash, cnv.c, len);
3552 case FreeRDP_Pkcs11Module:
3553 return update_string_(&settings->Pkcs11Module, cnv.c, len);
3555 case FreeRDP_PkinitAnchors:
3556 return update_string_(&settings->PkinitAnchors, cnv.c, len);
3558 case FreeRDP_PlayRemoteFxFile:
3559 return update_string_(&settings->PlayRemoteFxFile, cnv.c, len);
3561 case FreeRDP_PreconnectionBlob:
3562 return update_string_(&settings->PreconnectionBlob, cnv.c, len);
3564 case FreeRDP_ProxyHostname:
3565 return update_string_(&settings->ProxyHostname, cnv.c, len);
3567 case FreeRDP_ProxyPassword:
3568 return update_string_(&settings->ProxyPassword, cnv.c, len);
3570 case FreeRDP_ProxyUsername:
3571 return update_string_(&settings->ProxyUsername, cnv.c, len);
3573 case FreeRDP_RDP2TCPArgs:
3574 return update_string_(&settings->RDP2TCPArgs, cnv.c, len);
3576 case FreeRDP_ReaderName:
3577 return update_string_(&settings->ReaderName, cnv.c, len);
3579 case FreeRDP_RedirectionAcceptedCert:
3580 return update_string_(&settings->RedirectionAcceptedCert, cnv.c, len);
3582 case FreeRDP_RedirectionDomain:
3583 return update_string_(&settings->RedirectionDomain, cnv.c, len);
3585 case FreeRDP_RedirectionTargetFQDN:
3586 return update_string_(&settings->RedirectionTargetFQDN, cnv.c, len);
3588 case FreeRDP_RedirectionTargetNetBiosName:
3589 return update_string_(&settings->RedirectionTargetNetBiosName, cnv.c, len);
3591 case FreeRDP_RedirectionUsername:
3592 return update_string_(&settings->RedirectionUsername, cnv.c, len);
3594 case FreeRDP_RemoteApplicationCmdLine:
3595 return update_string_(&settings->RemoteApplicationCmdLine, cnv.c, len);
3597 case FreeRDP_RemoteApplicationFile:
3598 return update_string_(&settings->RemoteApplicationFile, cnv.c, len);
3600 case FreeRDP_RemoteApplicationGuid:
3601 return update_string_(&settings->RemoteApplicationGuid, cnv.c, len);
3603 case FreeRDP_RemoteApplicationIcon:
3604 return update_string_(&settings->RemoteApplicationIcon, cnv.c, len);
3606 case FreeRDP_RemoteApplicationName:
3607 return update_string_(&settings->RemoteApplicationName, cnv.c, len);
3609 case FreeRDP_RemoteApplicationProgram:
3610 return update_string_(&settings->RemoteApplicationProgram, cnv.c, len);
3612 case FreeRDP_RemoteApplicationWorkingDir:
3613 return update_string_(&settings->RemoteApplicationWorkingDir, cnv.c, len);
3615 case FreeRDP_RemoteAssistancePassStub:
3616 return update_string_(&settings->RemoteAssistancePassStub, cnv.c, len);
3618 case FreeRDP_RemoteAssistancePassword:
3619 return update_string_(&settings->RemoteAssistancePassword, cnv.c, len);
3621 case FreeRDP_RemoteAssistanceRCTicket:
3622 return update_string_(&settings->RemoteAssistanceRCTicket, cnv.c, len);
3624 case FreeRDP_RemoteAssistanceSessionId:
3625 return update_string_(&settings->RemoteAssistanceSessionId, cnv.c, len);
3627 case FreeRDP_ServerHostname:
3628 return update_string_(&settings->ServerHostname, cnv.c, len);
3630 case FreeRDP_ServerLicenseCompanyName:
3631 return update_string_(&settings->ServerLicenseCompanyName, cnv.c, len);
3633 case FreeRDP_ServerLicenseProductName:
3634 return update_string_(&settings->ServerLicenseProductName, cnv.c, len);
3636 case FreeRDP_ShellWorkingDirectory:
3637 return update_string_(&settings->ShellWorkingDirectory, cnv.c, len);
3639 case FreeRDP_SmartcardCertificate:
3640 return update_string_(&settings->SmartcardCertificate, cnv.c, len);
3642 case FreeRDP_SmartcardPrivateKey:
3643 return update_string_(&settings->SmartcardPrivateKey, cnv.c, len);
3645 case FreeRDP_SspiModule:
3646 return update_string_(&settings->SspiModule, cnv.c, len);
3648 case FreeRDP_TargetNetAddress:
3649 return update_string_(&settings->TargetNetAddress, cnv.c, len);
3651 case FreeRDP_TerminalDescriptor:
3652 return update_string_(&settings->TerminalDescriptor, cnv.c, len);
3654 case FreeRDP_TlsSecretsFile:
3655 return update_string_(&settings->TlsSecretsFile, cnv.c, len);
3657 case FreeRDP_TransportDumpFile:
3658 return update_string_(&settings->TransportDumpFile, cnv.c, len);
3660 case FreeRDP_UserSpecifiedServerName:
3661 return update_string_(&settings->UserSpecifiedServerName, cnv.c, len);
3663 case FreeRDP_Username:
3664 return update_string_(&settings->Username, cnv.c, len);
3666 case FreeRDP_WinSCardModule:
3667 return update_string_(&settings->WinSCardModule, cnv.c, len);
3669 case FreeRDP_WindowTitle:
3670 return update_string_(&settings->WindowTitle, cnv.c, len);
3672 case FreeRDP_WmClass:
3673 return update_string_(&settings->WmClass, cnv.c, len);
3676 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
3685 const char* val,
size_t len)
3687 return freerdp_settings_set_string_copy_(settings,
id, val, len, TRUE);
3696 return freerdp_settings_set_string_copy_(settings,
id, val, len, TRUE);
3699BOOL freerdp_settings_set_string_copy_(WINPR_ATTR_UNUSED rdpSettings* settings,
3700 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_String
id,
3701 const char* val,
size_t len, BOOL cleanup)
3710 WINPR_ASSERT(settings);
3716 case FreeRDP_AadServerHostname:
3717 return update_string_copy_(&settings->AadServerHostname, cnv.cc, len, cleanup);
3719 case FreeRDP_AcceptedCert:
3720 return update_string_copy_(&settings->AcceptedCert, cnv.cc, len, cleanup);
3722 case FreeRDP_ActionScript:
3723 return update_string_copy_(&settings->ActionScript, cnv.cc, len, cleanup);
3725 case FreeRDP_AllowedTlsCiphers:
3726 return update_string_copy_(&settings->AllowedTlsCiphers, cnv.cc, len, cleanup);
3728 case FreeRDP_AlternateShell:
3729 return update_string_copy_(&settings->AlternateShell, cnv.cc, len, cleanup);
3731 case FreeRDP_AssistanceFile:
3732 return update_string_copy_(&settings->AssistanceFile, cnv.cc, len, cleanup);
3734 case FreeRDP_AuthenticationPackageList:
3735 return update_string_copy_(&settings->AuthenticationPackageList, cnv.cc, len, cleanup);
3737 case FreeRDP_AuthenticationServiceClass:
3738 return update_string_copy_(&settings->AuthenticationServiceClass, cnv.cc, len, cleanup);
3740 case FreeRDP_BitmapCachePersistFile:
3741 return update_string_copy_(&settings->BitmapCachePersistFile, cnv.cc, len, cleanup);
3743 case FreeRDP_CardName:
3744 return update_string_copy_(&settings->CardName, cnv.cc, len, cleanup);
3746 case FreeRDP_CertificateAcceptedFingerprints:
3747 return update_string_copy_(&settings->CertificateAcceptedFingerprints, cnv.cc, len,
3750 case FreeRDP_CertificateName:
3751 return update_string_copy_(&settings->CertificateName, cnv.cc, len, cleanup);
3753 case FreeRDP_ClientAddress:
3754 return update_string_copy_(&settings->ClientAddress, cnv.cc, len, cleanup);
3756 case FreeRDP_ClientDir:
3757 return update_string_copy_(&settings->ClientDir, cnv.cc, len, cleanup);
3759 case FreeRDP_ClientHostname:
3760 return update_string_copy_(&settings->ClientHostname, cnv.cc, len, cleanup);
3762 case FreeRDP_ClientProductId:
3763 return update_string_copy_(&settings->ClientProductId, cnv.cc, len, cleanup);
3765 case FreeRDP_ClipboardUseSelection:
3766 return update_string_copy_(&settings->ClipboardUseSelection, cnv.cc, len, cleanup);
3768 case FreeRDP_ComputerName:
3769 return update_string_copy_(&settings->ComputerName, cnv.cc, len, cleanup);
3771 case FreeRDP_ConfigPath:
3772 return update_string_copy_(&settings->ConfigPath, cnv.cc, len, cleanup);
3774 case FreeRDP_ConnectionFile:
3775 return update_string_copy_(&settings->ConnectionFile, cnv.cc, len, cleanup);
3777 case FreeRDP_ContainerName:
3778 return update_string_copy_(&settings->ContainerName, cnv.cc, len, cleanup);
3780 case FreeRDP_CspName:
3781 return update_string_copy_(&settings->CspName, cnv.cc, len, cleanup);
3783 case FreeRDP_CurrentPath:
3784 return update_string_copy_(&settings->CurrentPath, cnv.cc, len, cleanup);
3786 case FreeRDP_Domain:
3787 return update_string_copy_(&settings->Domain, cnv.cc, len, cleanup);
3789 case FreeRDP_DrivesToRedirect:
3790 return update_string_copy_(&settings->DrivesToRedirect, cnv.cc, len, cleanup);
3792 case FreeRDP_DumpRemoteFxFile:
3793 return update_string_copy_(&settings->DumpRemoteFxFile, cnv.cc, len, cleanup);
3795 case FreeRDP_DynamicDSTTimeZoneKeyName:
3796 return update_string_copy_(&settings->DynamicDSTTimeZoneKeyName, cnv.cc, len, cleanup);
3798 case FreeRDP_GatewayAcceptedCert:
3799 return update_string_copy_(&settings->GatewayAcceptedCert, cnv.cc, len, cleanup);
3801 case FreeRDP_GatewayAccessToken:
3802 return update_string_copy_(&settings->GatewayAccessToken, cnv.cc, len, cleanup);
3804 case FreeRDP_GatewayAvdAadtenantid:
3805 return update_string_copy_(&settings->GatewayAvdAadtenantid, cnv.cc, len, cleanup);
3807 case FreeRDP_GatewayAvdActivityhint:
3808 return update_string_copy_(&settings->GatewayAvdActivityhint, cnv.cc, len, cleanup);
3810 case FreeRDP_GatewayAvdArmpath:
3811 return update_string_copy_(&settings->GatewayAvdArmpath, cnv.cc, len, cleanup);
3813 case FreeRDP_GatewayAvdClientID:
3814 return update_string_copy_(&settings->GatewayAvdClientID, cnv.cc, len, cleanup);
3816 case FreeRDP_GatewayAvdDiagnosticserviceurl:
3817 return update_string_copy_(&settings->GatewayAvdDiagnosticserviceurl, cnv.cc, len,
3820 case FreeRDP_GatewayAvdGeo:
3821 return update_string_copy_(&settings->GatewayAvdGeo, cnv.cc, len, cleanup);
3823 case FreeRDP_GatewayAvdHubdiscoverygeourl:
3824 return update_string_copy_(&settings->GatewayAvdHubdiscoverygeourl, cnv.cc, len,
3827 case FreeRDP_GatewayAvdWvdEndpointPool:
3828 return update_string_copy_(&settings->GatewayAvdWvdEndpointPool, cnv.cc, len, cleanup);
3830 case FreeRDP_GatewayAzureActiveDirectory:
3831 return update_string_copy_(&settings->GatewayAzureActiveDirectory, cnv.cc, len,
3834 case FreeRDP_GatewayDomain:
3835 return update_string_copy_(&settings->GatewayDomain, cnv.cc, len, cleanup);
3837 case FreeRDP_GatewayHostname:
3838 return update_string_copy_(&settings->GatewayHostname, cnv.cc, len, cleanup);
3840 case FreeRDP_GatewayHttpExtAuthBearer:
3841 return update_string_copy_(&settings->GatewayHttpExtAuthBearer, cnv.cc, len, cleanup);
3843 case FreeRDP_GatewayPassword:
3844 return update_string_copy_(&settings->GatewayPassword, cnv.cc, len, cleanup);
3846 case FreeRDP_GatewayUrl:
3847 return update_string_copy_(&settings->GatewayUrl, cnv.cc, len, cleanup);
3849 case FreeRDP_GatewayUsername:
3850 return update_string_copy_(&settings->GatewayUsername, cnv.cc, len, cleanup);
3852 case FreeRDP_HomePath:
3853 return update_string_copy_(&settings->HomePath, cnv.cc, len, cleanup);
3855 case FreeRDP_ImeFileName:
3856 return update_string_copy_(&settings->ImeFileName, cnv.cc, len, cleanup);
3858 case FreeRDP_KerberosArmor:
3859 return update_string_copy_(&settings->KerberosArmor, cnv.cc, len, cleanup);
3861 case FreeRDP_KerberosCache:
3862 return update_string_copy_(&settings->KerberosCache, cnv.cc, len, cleanup);
3864 case FreeRDP_KerberosKdcUrl:
3865 return update_string_copy_(&settings->KerberosKdcUrl, cnv.cc, len, cleanup);
3867 case FreeRDP_KerberosKeytab:
3868 return update_string_copy_(&settings->KerberosKeytab, cnv.cc, len, cleanup);
3870 case FreeRDP_KerberosLifeTime:
3871 return update_string_copy_(&settings->KerberosLifeTime, cnv.cc, len, cleanup);
3873 case FreeRDP_KerberosRealm:
3874 return update_string_copy_(&settings->KerberosRealm, cnv.cc, len, cleanup);
3876 case FreeRDP_KerberosRenewableLifeTime:
3877 return update_string_copy_(&settings->KerberosRenewableLifeTime, cnv.cc, len, cleanup);
3879 case FreeRDP_KerberosStartTime:
3880 return update_string_copy_(&settings->KerberosStartTime, cnv.cc, len, cleanup);
3882 case FreeRDP_KeyboardPipeName:
3883 return update_string_copy_(&settings->KeyboardPipeName, cnv.cc, len, cleanup);
3885 case FreeRDP_KeyboardRemappingList:
3886 return update_string_copy_(&settings->KeyboardRemappingList, cnv.cc, len, cleanup);
3888 case FreeRDP_NtlmSamFile:
3889 return update_string_copy_(&settings->NtlmSamFile, cnv.cc, len, cleanup);
3891 case FreeRDP_Password:
3892 return update_string_copy_(&settings->Password, cnv.cc, len, cleanup);
3894 case FreeRDP_PasswordHash:
3895 return update_string_copy_(&settings->PasswordHash, cnv.cc, len, cleanup);
3897 case FreeRDP_Pkcs11Module:
3898 return update_string_copy_(&settings->Pkcs11Module, cnv.cc, len, cleanup);
3900 case FreeRDP_PkinitAnchors:
3901 return update_string_copy_(&settings->PkinitAnchors, cnv.cc, len, cleanup);
3903 case FreeRDP_PlayRemoteFxFile:
3904 return update_string_copy_(&settings->PlayRemoteFxFile, cnv.cc, len, cleanup);
3906 case FreeRDP_PreconnectionBlob:
3907 return update_string_copy_(&settings->PreconnectionBlob, cnv.cc, len, cleanup);
3909 case FreeRDP_ProxyHostname:
3910 return update_string_copy_(&settings->ProxyHostname, cnv.cc, len, cleanup);
3912 case FreeRDP_ProxyPassword:
3913 return update_string_copy_(&settings->ProxyPassword, cnv.cc, len, cleanup);
3915 case FreeRDP_ProxyUsername:
3916 return update_string_copy_(&settings->ProxyUsername, cnv.cc, len, cleanup);
3918 case FreeRDP_RDP2TCPArgs:
3919 return update_string_copy_(&settings->RDP2TCPArgs, cnv.cc, len, cleanup);
3921 case FreeRDP_ReaderName:
3922 return update_string_copy_(&settings->ReaderName, cnv.cc, len, cleanup);
3924 case FreeRDP_RedirectionAcceptedCert:
3925 return update_string_copy_(&settings->RedirectionAcceptedCert, cnv.cc, len, cleanup);
3927 case FreeRDP_RedirectionDomain:
3928 return update_string_copy_(&settings->RedirectionDomain, cnv.cc, len, cleanup);
3930 case FreeRDP_RedirectionTargetFQDN:
3931 return update_string_copy_(&settings->RedirectionTargetFQDN, cnv.cc, len, cleanup);
3933 case FreeRDP_RedirectionTargetNetBiosName:
3934 return update_string_copy_(&settings->RedirectionTargetNetBiosName, cnv.cc, len,
3937 case FreeRDP_RedirectionUsername:
3938 return update_string_copy_(&settings->RedirectionUsername, cnv.cc, len, cleanup);
3940 case FreeRDP_RemoteApplicationCmdLine:
3941 return update_string_copy_(&settings->RemoteApplicationCmdLine, cnv.cc, len, cleanup);
3943 case FreeRDP_RemoteApplicationFile:
3944 return update_string_copy_(&settings->RemoteApplicationFile, cnv.cc, len, cleanup);
3946 case FreeRDP_RemoteApplicationGuid:
3947 return update_string_copy_(&settings->RemoteApplicationGuid, cnv.cc, len, cleanup);
3949 case FreeRDP_RemoteApplicationIcon:
3950 return update_string_copy_(&settings->RemoteApplicationIcon, cnv.cc, len, cleanup);
3952 case FreeRDP_RemoteApplicationName:
3953 return update_string_copy_(&settings->RemoteApplicationName, cnv.cc, len, cleanup);
3955 case FreeRDP_RemoteApplicationProgram:
3956 return update_string_copy_(&settings->RemoteApplicationProgram, cnv.cc, len, cleanup);
3958 case FreeRDP_RemoteApplicationWorkingDir:
3959 return update_string_copy_(&settings->RemoteApplicationWorkingDir, cnv.cc, len,
3962 case FreeRDP_RemoteAssistancePassStub:
3963 return update_string_copy_(&settings->RemoteAssistancePassStub, cnv.cc, len, cleanup);
3965 case FreeRDP_RemoteAssistancePassword:
3966 return update_string_copy_(&settings->RemoteAssistancePassword, cnv.cc, len, cleanup);
3968 case FreeRDP_RemoteAssistanceRCTicket:
3969 return update_string_copy_(&settings->RemoteAssistanceRCTicket, cnv.cc, len, cleanup);
3971 case FreeRDP_RemoteAssistanceSessionId:
3972 return update_string_copy_(&settings->RemoteAssistanceSessionId, cnv.cc, len, cleanup);
3974 case FreeRDP_ServerHostname:
3975 return update_string_copy_(&settings->ServerHostname, cnv.cc, len, cleanup);
3977 case FreeRDP_ServerLicenseCompanyName:
3978 return update_string_copy_(&settings->ServerLicenseCompanyName, cnv.cc, len, cleanup);
3980 case FreeRDP_ServerLicenseProductName:
3981 return update_string_copy_(&settings->ServerLicenseProductName, cnv.cc, len, cleanup);
3983 case FreeRDP_ShellWorkingDirectory:
3984 return update_string_copy_(&settings->ShellWorkingDirectory, cnv.cc, len, cleanup);
3986 case FreeRDP_SmartcardCertificate:
3987 return update_string_copy_(&settings->SmartcardCertificate, cnv.cc, len, cleanup);
3989 case FreeRDP_SmartcardPrivateKey:
3990 return update_string_copy_(&settings->SmartcardPrivateKey, cnv.cc, len, cleanup);
3992 case FreeRDP_SspiModule:
3993 return update_string_copy_(&settings->SspiModule, cnv.cc, len, cleanup);
3995 case FreeRDP_TargetNetAddress:
3996 return update_string_copy_(&settings->TargetNetAddress, cnv.cc, len, cleanup);
3998 case FreeRDP_TerminalDescriptor:
3999 return update_string_copy_(&settings->TerminalDescriptor, cnv.cc, len, cleanup);
4001 case FreeRDP_TlsSecretsFile:
4002 return update_string_copy_(&settings->TlsSecretsFile, cnv.cc, len, cleanup);
4004 case FreeRDP_TransportDumpFile:
4005 return update_string_copy_(&settings->TransportDumpFile, cnv.cc, len, cleanup);
4007 case FreeRDP_UserSpecifiedServerName:
4008 return update_string_copy_(&settings->UserSpecifiedServerName, cnv.cc, len, cleanup);
4010 case FreeRDP_Username:
4011 return update_string_copy_(&settings->Username, cnv.cc, len, cleanup);
4013 case FreeRDP_WinSCardModule:
4014 return update_string_copy_(&settings->WinSCardModule, cnv.cc, len, cleanup);
4016 case FreeRDP_WindowTitle:
4017 return update_string_copy_(&settings->WindowTitle, cnv.cc, len, cleanup);
4019 case FreeRDP_WmClass:
4020 return update_string_copy_(&settings->WmClass, cnv.cc, len, cleanup);
4023 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
4033 WINPR_ASSERT(settings);
4037 case FreeRDP_BitmapCacheV2CellInfo:
4038 return (
void*)settings->BitmapCacheV2CellInfo;
4040 case FreeRDP_ChannelDefArray:
4041 return (
void*)settings->ChannelDefArray;
4043 case FreeRDP_ClientAutoReconnectCookie:
4044 return (
void*)settings->ClientAutoReconnectCookie;
4046 case FreeRDP_ClientRandom:
4047 return (
void*)settings->ClientRandom;
4049 case FreeRDP_ClientTimeZone:
4050 return (
void*)settings->ClientTimeZone;
4052 case FreeRDP_DeviceArray:
4053 return (
void*)settings->DeviceArray;
4055 case FreeRDP_DynamicChannelArray:
4056 return (
void*)settings->DynamicChannelArray;
4058 case FreeRDP_FragCache:
4059 return (
void*)settings->FragCache;
4061 case FreeRDP_GlyphCache:
4062 return (
void*)settings->GlyphCache;
4064 case FreeRDP_LoadBalanceInfo:
4065 return (
void*)settings->LoadBalanceInfo;
4067 case FreeRDP_MonitorDefArray:
4068 return (
void*)settings->MonitorDefArray;
4070 case FreeRDP_MonitorIds:
4071 return (
void*)settings->MonitorIds;
4073 case FreeRDP_OrderSupport:
4074 return (
void*)settings->OrderSupport;
4076 case FreeRDP_Password51:
4077 return (
void*)settings->Password51;
4079 case FreeRDP_RdpServerCertificate:
4080 return (
void*)settings->RdpServerCertificate;
4082 case FreeRDP_RdpServerRsaKey:
4083 return (
void*)settings->RdpServerRsaKey;
4085 case FreeRDP_ReceivedCapabilities:
4086 return (
void*)settings->ReceivedCapabilities;
4088 case FreeRDP_ReceivedCapabilityData:
4089 return (
void*)settings->ReceivedCapabilityData;
4091 case FreeRDP_ReceivedCapabilityDataSizes:
4092 return (
void*)settings->ReceivedCapabilityDataSizes;
4094 case FreeRDP_RedirectionGuid:
4095 return (
void*)settings->RedirectionGuid;
4097 case FreeRDP_RedirectionPassword:
4098 return (
void*)settings->RedirectionPassword;
4100 case FreeRDP_RedirectionTargetCertificate:
4101 return (
void*)settings->RedirectionTargetCertificate;
4103 case FreeRDP_RedirectionTsvUrl:
4104 return (
void*)settings->RedirectionTsvUrl;
4106 case FreeRDP_ServerAutoReconnectCookie:
4107 return (
void*)settings->ServerAutoReconnectCookie;
4109 case FreeRDP_ServerCertificate:
4110 return (
void*)settings->ServerCertificate;
4112 case FreeRDP_ServerLicenseProductIssuers:
4113 return (
void*)settings->ServerLicenseProductIssuers;
4115 case FreeRDP_ServerRandom:
4116 return (
void*)settings->ServerRandom;
4118 case FreeRDP_StaticChannelArray:
4119 return (
void*)settings->StaticChannelArray;
4121 case FreeRDP_TargetNetAddresses:
4122 return (
void*)settings->TargetNetAddresses;
4124 case FreeRDP_TargetNetPorts:
4125 return (
void*)settings->TargetNetPorts;
4127 case FreeRDP_instance:
4128 return settings->instance;
4131 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
4134 WINPR_ASSERT(FALSE);
4140 WINPR_ATTR_UNUSED FreeRDP_Settings_Keys_Pointer
id,
4148 WINPR_ASSERT(settings);
4154 case FreeRDP_BitmapCacheV2CellInfo:
4158 case FreeRDP_ChannelDefArray:
4162 case FreeRDP_ClientAutoReconnectCookie:
4166 case FreeRDP_ClientRandom:
4167 settings->ClientRandom = (BYTE*)cnv.v;
4170 case FreeRDP_ClientTimeZone:
4174 case FreeRDP_DeviceArray:
4178 case FreeRDP_DynamicChannelArray:
4179 settings->DynamicChannelArray = (
ADDIN_ARGV**)cnv.v;
4182 case FreeRDP_FragCache:
4186 case FreeRDP_GlyphCache:
4190 case FreeRDP_LoadBalanceInfo:
4191 settings->LoadBalanceInfo = (BYTE*)cnv.v;
4194 case FreeRDP_MonitorDefArray:
4195 settings->MonitorDefArray = (
rdpMonitor*)cnv.v;
4198 case FreeRDP_MonitorIds:
4199 settings->MonitorIds = (UINT32*)cnv.v;
4202 case FreeRDP_OrderSupport:
4203 settings->OrderSupport = (BYTE*)cnv.v;
4206 case FreeRDP_Password51:
4207 settings->Password51 = (BYTE*)cnv.v;
4210 case FreeRDP_RdpServerCertificate:
4211 settings->RdpServerCertificate = (rdpCertificate*)cnv.v;
4214 case FreeRDP_RdpServerRsaKey:
4215 settings->RdpServerRsaKey = (rdpPrivateKey*)cnv.v;
4218 case FreeRDP_ReceivedCapabilities:
4219 settings->ReceivedCapabilities = (BYTE*)cnv.v;
4222 case FreeRDP_ReceivedCapabilityData:
4223 settings->ReceivedCapabilityData = (BYTE**)cnv.v;
4226 case FreeRDP_ReceivedCapabilityDataSizes:
4227 settings->ReceivedCapabilityDataSizes = (UINT32*)cnv.v;
4230 case FreeRDP_RedirectionGuid:
4231 settings->RedirectionGuid = (BYTE*)cnv.v;
4234 case FreeRDP_RedirectionPassword:
4235 settings->RedirectionPassword = (BYTE*)cnv.v;
4238 case FreeRDP_RedirectionTargetCertificate:
4239 settings->RedirectionTargetCertificate = (rdpCertificate*)cnv.v;
4242 case FreeRDP_RedirectionTsvUrl:
4243 settings->RedirectionTsvUrl = (BYTE*)cnv.v;
4246 case FreeRDP_ServerAutoReconnectCookie:
4250 case FreeRDP_ServerCertificate:
4251 settings->ServerCertificate = (BYTE*)cnv.v;
4254 case FreeRDP_ServerLicenseProductIssuers:
4255 settings->ServerLicenseProductIssuers = (
char**)cnv.v;
4258 case FreeRDP_ServerRandom:
4259 settings->ServerRandom = (BYTE*)cnv.v;
4262 case FreeRDP_StaticChannelArray:
4263 settings->StaticChannelArray = (
ADDIN_ARGV**)cnv.v;
4266 case FreeRDP_TargetNetAddresses:
4267 settings->TargetNetAddresses = (
char**)cnv.v;
4270 case FreeRDP_TargetNetPorts:
4271 settings->TargetNetPorts = (UINT32*)cnv.v;
4274 case FreeRDP_instance:
4275 settings->instance = cnv.v;
4279 WLog_ERR(TAG,
"Invalid key index %" PRIuz
" [%s|%s]",
id,
FREERDP_API UINT32 freerdp_settings_get_uint32(const rdpSettings *settings, FreeRDP_Settings_Keys_UInt32 id)
Returns a UINT32 settings value.
BOOL freerdp_settings_set_string(rdpSettings *settings, FreeRDP_Settings_Keys_String id, const char *val)
Sets a string settings value. The param is copied.
FREERDP_API BOOL freerdp_settings_get_bool(const rdpSettings *settings, FreeRDP_Settings_Keys_Bool id)
Returns a boolean settings value.
FREERDP_API INT64 freerdp_settings_get_int64(const rdpSettings *settings, FreeRDP_Settings_Keys_Int64 id)
Returns a INT64 settings value.
FREERDP_API UINT64 freerdp_settings_get_uint64(const rdpSettings *settings, FreeRDP_Settings_Keys_UInt64 id)
Returns a UINT64 settings value.
FREERDP_API BOOL freerdp_settings_set_int32(rdpSettings *settings, FreeRDP_Settings_Keys_Int32 id, INT32 param)
Sets a INT32 settings value.
FREERDP_API UINT16 freerdp_settings_get_uint16(const rdpSettings *settings, FreeRDP_Settings_Keys_UInt16 id)
Returns a UINT16 settings value.
void * freerdp_settings_get_pointer_writable(rdpSettings *settings, FreeRDP_Settings_Keys_Pointer id)
Returns a mutable pointer settings value.
FREERDP_API BOOL freerdp_settings_set_uint64(rdpSettings *settings, FreeRDP_Settings_Keys_UInt64 id, UINT64 param)
Sets a UINT64 settings value.
FREERDP_API BOOL freerdp_settings_set_int16(rdpSettings *settings, FreeRDP_Settings_Keys_Int16 id, INT16 param)
Sets a INT16 settings value.
FREERDP_API BOOL freerdp_settings_set_int64(rdpSettings *settings, FreeRDP_Settings_Keys_Int64 id, INT64 param)
Sets a INT64 settings value.
FREERDP_API BOOL freerdp_settings_set_pointer(rdpSettings *settings, FreeRDP_Settings_Keys_Pointer id, const void *data)
Set a pointer to value data.
FREERDP_API INT32 freerdp_settings_get_int32(const rdpSettings *settings, FreeRDP_Settings_Keys_Int32 id)
Returns a INT32 settings value.
FREERDP_API const char * freerdp_settings_get_type_name_for_key(SSIZE_T key)
Returns the type name for a key.
BOOL freerdp_settings_set_string_len(rdpSettings *settings, FreeRDP_Settings_Keys_String id, const char *val, size_t len)
Sets a string settings value. The param is copied.
FREERDP_API BOOL freerdp_settings_set_uint32(rdpSettings *settings, FreeRDP_Settings_Keys_UInt32 id, UINT32 param)
Sets a UINT32 settings value.
char * freerdp_settings_get_string_writable(rdpSettings *settings, FreeRDP_Settings_Keys_String id)
Returns a string settings value.
FREERDP_API const char * freerdp_settings_get_name_for_key(SSIZE_T key)
Returns the type name for a key.
FREERDP_API const char * freerdp_settings_get_string(const rdpSettings *settings, FreeRDP_Settings_Keys_String id)
Returns a immutable string settings value.
FREERDP_API BOOL freerdp_settings_set_uint16(rdpSettings *settings, FreeRDP_Settings_Keys_UInt16 id, UINT16 param)
Sets a UINT16 settings value.
FREERDP_API INT16 freerdp_settings_get_int16(const rdpSettings *settings, FreeRDP_Settings_Keys_Int16 id)
Returns a INT16 settings value.
FREERDP_API BOOL freerdp_settings_set_bool(rdpSettings *settings, FreeRDP_Settings_Keys_Bool id, BOOL param)
Sets a BOOL settings value.