1 /* Generated by */
2
3 #include <freerdp/settings.h>
4 #include <freerdp/log.h>
5
6 #include "../core/settings.h"
7
8 #define TAG FREERDP_TAG("common.settings")
9
10 struct settings_str_entry
11 {
12 size_t id;
13 size_t type;
14 const char* str;
15 };
16 static const struct settings_str_entry settings_map[] = {
17 { FreeRDP_AllowCacheWaitingList, 0, "FreeRDP_AllowCacheWaitingList" },
18 { FreeRDP_AllowDesktopComposition, 0, "FreeRDP_AllowDesktopComposition" },
19 { FreeRDP_AllowFontSmoothing, 0, "FreeRDP_AllowFontSmoothing" },
20 { FreeRDP_AllowUnanouncedOrdersFromServer, 0, "FreeRDP_AllowUnanouncedOrdersFromServer" },
21 { FreeRDP_AltSecFrameMarkerSupport, 0, "FreeRDP_AltSecFrameMarkerSupport" },
22 { FreeRDP_AsyncChannels, 0, "FreeRDP_AsyncChannels" },
23 { FreeRDP_AsyncInput, 0, "FreeRDP_AsyncInput" },
24 { FreeRDP_AsyncUpdate, 0, "FreeRDP_AsyncUpdate" },
25 { FreeRDP_AudioCapture, 0, "FreeRDP_AudioCapture" },
26 { FreeRDP_AudioPlayback, 0, "FreeRDP_AudioPlayback" },
27 { FreeRDP_Authentication, 0, "FreeRDP_Authentication" },
28 { FreeRDP_AuthenticationOnly, 0, "FreeRDP_AuthenticationOnly" },
29 { FreeRDP_AutoAcceptCertificate, 0, "FreeRDP_AutoAcceptCertificate" },
30 { FreeRDP_AutoDenyCertificate, 0, "FreeRDP_AutoDenyCertificate" },
31 { FreeRDP_AutoLogonEnabled, 0, "FreeRDP_AutoLogonEnabled" },
32 { FreeRDP_AutoReconnectionEnabled, 0, "FreeRDP_AutoReconnectionEnabled" },
33 { FreeRDP_BitmapCacheEnabled, 0, "FreeRDP_BitmapCacheEnabled" },
34 { FreeRDP_BitmapCachePersistEnabled, 0, "FreeRDP_BitmapCachePersistEnabled" },
35 { FreeRDP_BitmapCacheV3Enabled, 0, "FreeRDP_BitmapCacheV3Enabled" },
36 { FreeRDP_BitmapCompressionDisabled, 0, "FreeRDP_BitmapCompressionDisabled" },
37 { FreeRDP_ColorPointerFlag, 0, "FreeRDP_ColorPointerFlag" },
38 { FreeRDP_CompressionEnabled, 0, "FreeRDP_CompressionEnabled" },
39 { FreeRDP_ConsoleSession, 0, "FreeRDP_ConsoleSession" },
40 { FreeRDP_CredentialsFromStdin, 0, "FreeRDP_CredentialsFromStdin" },
41 { FreeRDP_Decorations, 0, "FreeRDP_Decorations" },
42 { FreeRDP_DesktopResize, 0, "FreeRDP_DesktopResize" },
43 { FreeRDP_DeviceRedirection, 0, "FreeRDP_DeviceRedirection" },
44 { FreeRDP_DisableCredentialsDelegation, 0, "FreeRDP_DisableCredentialsDelegation" },
45 { FreeRDP_DisableCtrlAltDel, 0, "FreeRDP_DisableCtrlAltDel" },
46 { FreeRDP_DisableCursorBlinking, 0, "FreeRDP_DisableCursorBlinking" },
47 { FreeRDP_DisableCursorShadow, 0, "FreeRDP_DisableCursorShadow" },
48 { FreeRDP_DisableFullWindowDrag, 0, "FreeRDP_DisableFullWindowDrag" },
49 { FreeRDP_DisableMenuAnims, 0, "FreeRDP_DisableMenuAnims" },
50 { FreeRDP_DisableRemoteAppCapsCheck, 0, "FreeRDP_DisableRemoteAppCapsCheck" },
51 { FreeRDP_DisableThemes, 0, "FreeRDP_DisableThemes" },
52 { FreeRDP_DisableWallpaper, 0, "FreeRDP_DisableWallpaper" },
53 { FreeRDP_DrawAllowColorSubsampling, 0, "FreeRDP_DrawAllowColorSubsampling" },
54 { FreeRDP_DrawAllowDynamicColorFidelity, 0, "FreeRDP_DrawAllowDynamicColorFidelity" },
55 { FreeRDP_DrawAllowSkipAlpha, 0, "FreeRDP_DrawAllowSkipAlpha" },
56 { FreeRDP_DrawGdiPlusCacheEnabled, 0, "FreeRDP_DrawGdiPlusCacheEnabled" },
57 { FreeRDP_DrawGdiPlusEnabled, 0, "FreeRDP_DrawGdiPlusEnabled" },
58 { FreeRDP_DrawNineGridEnabled, 0, "FreeRDP_DrawNineGridEnabled" },
59 { FreeRDP_DumpRemoteFx, 0, "FreeRDP_DumpRemoteFx" },
60 { FreeRDP_DynamicDaylightTimeDisabled, 0, "FreeRDP_DynamicDaylightTimeDisabled" },
61 { FreeRDP_DynamicResolutionUpdate, 0, "FreeRDP_DynamicResolutionUpdate" },
62 { FreeRDP_EmbeddedWindow, 0, "FreeRDP_EmbeddedWindow" },
63 { FreeRDP_EnableWindowsKey, 0, "FreeRDP_EnableWindowsKey" },
64 { FreeRDP_EncomspVirtualChannel, 0, "FreeRDP_EncomspVirtualChannel" },
65 { FreeRDP_ExtSecurity, 0, "FreeRDP_ExtSecurity" },
66 { FreeRDP_ExternalCertificateManagement, 0, "FreeRDP_ExternalCertificateManagement" },
67 { FreeRDP_FIPSMode, 0, "FreeRDP_FIPSMode" },
68 { FreeRDP_FastPathInput, 0, "FreeRDP_FastPathInput" },
69 { FreeRDP_FastPathOutput, 0, "FreeRDP_FastPathOutput" },
70 { FreeRDP_ForceEncryptedCsPdu, 0, "FreeRDP_ForceEncryptedCsPdu" },
71 { FreeRDP_ForceMultimon, 0, "FreeRDP_ForceMultimon" },
72 { FreeRDP_FrameMarkerCommandEnabled, 0, "FreeRDP_FrameMarkerCommandEnabled" },
73 { FreeRDP_Fullscreen, 0, "FreeRDP_Fullscreen" },
74 { FreeRDP_GatewayBypassLocal, 0, "FreeRDP_GatewayBypassLocal" },
75 { FreeRDP_GatewayEnabled, 0, "FreeRDP_GatewayEnabled" },
76 { FreeRDP_GatewayHttpTransport, 0, "FreeRDP_GatewayHttpTransport" },
77 { FreeRDP_GatewayHttpUseWebsockets, 0, "FreeRDP_GatewayHttpUseWebsockets" },
78 { FreeRDP_GatewayRpcTransport, 0, "FreeRDP_GatewayRpcTransport" },
79 { FreeRDP_GatewayUdpTransport, 0, "FreeRDP_GatewayUdpTransport" },
80 { FreeRDP_GatewayUseSameCredentials, 0, "FreeRDP_GatewayUseSameCredentials" },
81 { FreeRDP_GfxAVC444, 0, "FreeRDP_GfxAVC444" },
82 { FreeRDP_GfxAVC444v2, 0, "FreeRDP_GfxAVC444v2" },
83 { FreeRDP_GfxH264, 0, "FreeRDP_GfxH264" },
84 { FreeRDP_GfxProgressive, 0, "FreeRDP_GfxProgressive" },
85 { FreeRDP_GfxProgressiveV2, 0, "FreeRDP_GfxProgressiveV2" },
86 { FreeRDP_GfxSendQoeAck, 0, "FreeRDP_GfxSendQoeAck" },
87 { FreeRDP_GfxSmallCache, 0, "FreeRDP_GfxSmallCache" },
88 { FreeRDP_GfxThinClient, 0, "FreeRDP_GfxThinClient" },
89 { FreeRDP_GrabKeyboard, 0, "FreeRDP_GrabKeyboard" },
90 { FreeRDP_HasExtendedMouseEvent, 0, "FreeRDP_HasExtendedMouseEvent" },
91 { FreeRDP_HasHorizontalWheel, 0, "FreeRDP_HasHorizontalWheel" },
92 { FreeRDP_HasMonitorAttributes, 0, "FreeRDP_HasMonitorAttributes" },
93 { FreeRDP_HiDefRemoteApp, 0, "FreeRDP_HiDefRemoteApp" },
94 { FreeRDP_IPv6Enabled, 0, "FreeRDP_IPv6Enabled" },
95 { FreeRDP_IgnoreCertificate, 0, "FreeRDP_IgnoreCertificate" },
96 { FreeRDP_JpegCodec, 0, "FreeRDP_JpegCodec" },
97 { FreeRDP_ListMonitors, 0, "FreeRDP_ListMonitors" },
98 { FreeRDP_LocalConnection, 0, "FreeRDP_LocalConnection" },
99 { FreeRDP_LogonErrors, 0, "FreeRDP_LogonErrors" },
100 { FreeRDP_LogonNotify, 0, "FreeRDP_LogonNotify" },
101 { FreeRDP_LongCredentialsSupported, 0, "FreeRDP_LongCredentialsSupported" },
102 { FreeRDP_LyncRdpMode, 0, "FreeRDP_LyncRdpMode" },
103 { FreeRDP_MaximizeShell, 0, "FreeRDP_MaximizeShell" },
104 { FreeRDP_MouseAttached, 0, "FreeRDP_MouseAttached" },
105 { FreeRDP_MouseHasWheel, 0, "FreeRDP_MouseHasWheel" },
106 { FreeRDP_MouseMotion, 0, "FreeRDP_MouseMotion" },
107 { FreeRDP_MstscCookieMode, 0, "FreeRDP_MstscCookieMode" },
108 { FreeRDP_MultiTouchGestures, 0, "FreeRDP_MultiTouchGestures" },
109 { FreeRDP_MultiTouchInput, 0, "FreeRDP_MultiTouchInput" },
110 { FreeRDP_NSCodec, 0, "FreeRDP_NSCodec" },
111 { FreeRDP_NSCodecAllowDynamicColorFidelity, 0, "FreeRDP_NSCodecAllowDynamicColorFidelity" },
112 { FreeRDP_NSCodecAllowSubsampling, 0, "FreeRDP_NSCodecAllowSubsampling" },
113 { FreeRDP_NegotiateSecurityLayer, 0, "FreeRDP_NegotiateSecurityLayer" },
114 { FreeRDP_NetworkAutoDetect, 0, "FreeRDP_NetworkAutoDetect" },
115 { FreeRDP_NlaSecurity, 0, "FreeRDP_NlaSecurity" },
116 { FreeRDP_NoBitmapCompressionHeader, 0, "FreeRDP_NoBitmapCompressionHeader" },
117 { FreeRDP_OldLicenseBehaviour, 0, "FreeRDP_OldLicenseBehaviour" },
118 { FreeRDP_PasswordIsSmartcardPin, 0, "FreeRDP_PasswordIsSmartcardPin" },
119 { FreeRDP_PercentScreenUseHeight, 0, "FreeRDP_PercentScreenUseHeight" },
120 { FreeRDP_PercentScreenUseWidth, 0, "FreeRDP_PercentScreenUseWidth" },
121 { FreeRDP_PlayRemoteFx, 0, "FreeRDP_PlayRemoteFx" },
122 { FreeRDP_PreferIPv6OverIPv4, 0, "FreeRDP_PreferIPv6OverIPv4" },
123 { FreeRDP_PrintReconnectCookie, 0, "FreeRDP_PrintReconnectCookie" },
124 { FreeRDP_PromptForCredentials, 0, "FreeRDP_PromptForCredentials" },
125 { FreeRDP_RdpSecurity, 0, "FreeRDP_RdpSecurity" },
126 { FreeRDP_RedirectClipboard, 0, "FreeRDP_RedirectClipboard" },
127 { FreeRDP_RedirectDrives, 0, "FreeRDP_RedirectDrives" },
128 { FreeRDP_RedirectHomeDrive, 0, "FreeRDP_RedirectHomeDrive" },
129 { FreeRDP_RedirectParallelPorts, 0, "FreeRDP_RedirectParallelPorts" },
130 { FreeRDP_RedirectPrinters, 0, "FreeRDP_RedirectPrinters" },
131 { FreeRDP_RedirectSerialPorts, 0, "FreeRDP_RedirectSerialPorts" },
132 { FreeRDP_RedirectSmartCards, 0, "FreeRDP_RedirectSmartCards" },
133 { FreeRDP_RefreshRect, 0, "FreeRDP_RefreshRect" },
134 { FreeRDP_RemdeskVirtualChannel, 0, "FreeRDP_RemdeskVirtualChannel" },
135 { FreeRDP_RemoteAppLanguageBarSupported, 0, "FreeRDP_RemoteAppLanguageBarSupported" },
136 { FreeRDP_RemoteApplicationMode, 0, "FreeRDP_RemoteApplicationMode" },
137 { FreeRDP_RemoteAssistanceMode, 0, "FreeRDP_RemoteAssistanceMode" },
138 { FreeRDP_RemoteAssistanceRequestControl, 0, "FreeRDP_RemoteAssistanceRequestControl" },
139 { FreeRDP_RemoteConsoleAudio, 0, "FreeRDP_RemoteConsoleAudio" },
140 { FreeRDP_RemoteFxCodec, 0, "FreeRDP_RemoteFxCodec" },
141 { FreeRDP_RemoteFxImageCodec, 0, "FreeRDP_RemoteFxImageCodec" },
142 { FreeRDP_RemoteFxOnly, 0, "FreeRDP_RemoteFxOnly" },
143 { FreeRDP_RestrictedAdminModeRequired, 0, "FreeRDP_RestrictedAdminModeRequired" },
144 { FreeRDP_SaltedChecksum, 0, "FreeRDP_SaltedChecksum" },
145 { FreeRDP_SendPreconnectionPdu, 0, "FreeRDP_SendPreconnectionPdu" },
146 { FreeRDP_ServerMode, 0, "FreeRDP_ServerMode" },
147 { FreeRDP_SmartSizing, 0, "FreeRDP_SmartSizing" },
148 { FreeRDP_SmartcardLogon, 0, "FreeRDP_SmartcardLogon" },
149 { FreeRDP_SoftwareGdi, 0, "FreeRDP_SoftwareGdi" },
150 { FreeRDP_SoundBeepsEnabled, 0, "FreeRDP_SoundBeepsEnabled" },
151 { FreeRDP_SpanMonitors, 0, "FreeRDP_SpanMonitors" },
152 { FreeRDP_SupportAsymetricKeys, 0, "FreeRDP_SupportAsymetricKeys" },
153 { FreeRDP_SupportDisplayControl, 0, "FreeRDP_SupportDisplayControl" },
154 { FreeRDP_SupportDynamicChannels, 0, "FreeRDP_SupportDynamicChannels" },
155 { FreeRDP_SupportDynamicTimeZone, 0, "FreeRDP_SupportDynamicTimeZone" },
156 { FreeRDP_SupportEchoChannel, 0, "FreeRDP_SupportEchoChannel" },
157 { FreeRDP_SupportErrorInfoPdu, 0, "FreeRDP_SupportErrorInfoPdu" },
158 { FreeRDP_SupportGeometryTracking, 0, "FreeRDP_SupportGeometryTracking" },
159 { FreeRDP_SupportGraphicsPipeline, 0, "FreeRDP_SupportGraphicsPipeline" },
160 { FreeRDP_SupportHeartbeatPdu, 0, "FreeRDP_SupportHeartbeatPdu" },
161 { FreeRDP_SupportMonitorLayoutPdu, 0, "FreeRDP_SupportMonitorLayoutPdu" },
162 { FreeRDP_SupportMultitransport, 0, "FreeRDP_SupportMultitransport" },
163 { FreeRDP_SupportSSHAgentChannel, 0, "FreeRDP_SupportSSHAgentChannel" },
164 { FreeRDP_SupportStatusInfoPdu, 0, "FreeRDP_SupportStatusInfoPdu" },
165 { FreeRDP_SupportVideoOptimized, 0, "FreeRDP_SupportVideoOptimized" },
166 { FreeRDP_SuppressOutput, 0, "FreeRDP_SuppressOutput" },
167 { FreeRDP_SurfaceCommandsEnabled, 0, "FreeRDP_SurfaceCommandsEnabled" },
168 { FreeRDP_SurfaceFrameMarkerEnabled, 0, "FreeRDP_SurfaceFrameMarkerEnabled" },
169 { FreeRDP_TcpKeepAlive, 0, "FreeRDP_TcpKeepAlive" },
170 { FreeRDP_TlsSecurity, 0, "FreeRDP_TlsSecurity" },
171 { FreeRDP_ToggleFullscreen, 0, "FreeRDP_ToggleFullscreen" },
172 { FreeRDP_UnicodeInput, 0, "FreeRDP_UnicodeInput" },
173 { FreeRDP_UnmapButtons, 0, "FreeRDP_UnmapButtons" },
174 { FreeRDP_UseMultimon, 0, "FreeRDP_UseMultimon" },
175 { FreeRDP_UseRdpSecurityLayer, 0, "FreeRDP_UseRdpSecurityLayer" },
176 { FreeRDP_UsingSavedCredentials, 0, "FreeRDP_UsingSavedCredentials" },
177 { FreeRDP_VideoDisable, 0, "FreeRDP_VideoDisable" },
178 { FreeRDP_VmConnectMode, 0, "FreeRDP_VmConnectMode" },
179 { FreeRDP_WaitForOutputBufferFlush, 0, "FreeRDP_WaitForOutputBufferFlush" },
180 { FreeRDP_Workarea, 0, "FreeRDP_Workarea" },
181 { FreeRDP_DesktopOrientation, 1, "FreeRDP_DesktopOrientation" },
182 { FreeRDP_ProxyPort, 1, "FreeRDP_ProxyPort" },
183 { FreeRDP_AcceptedCertLength, 3, "FreeRDP_AcceptedCertLength" },
184 { FreeRDP_AuthenticationLevel, 3, "FreeRDP_AuthenticationLevel" },
185 { FreeRDP_AutoReconnectMaxRetries, 3, "FreeRDP_AutoReconnectMaxRetries" },
186 { FreeRDP_BitmapCacheV2NumCells, 3, "FreeRDP_BitmapCacheV2NumCells" },
187 { FreeRDP_BitmapCacheV3CodecId, 3, "FreeRDP_BitmapCacheV3CodecId" },
188 { FreeRDP_BitmapCacheVersion, 3, "FreeRDP_BitmapCacheVersion" },
189 { FreeRDP_BrushSupportLevel, 3, "FreeRDP_BrushSupportLevel" },
190 { FreeRDP_ChannelCount, 3, "FreeRDP_ChannelCount" },
191 { FreeRDP_ChannelDefArraySize, 3, "FreeRDP_ChannelDefArraySize" },
192 { FreeRDP_ClientBuild, 3, "FreeRDP_ClientBuild" },
193 { FreeRDP_ClientRandomLength, 3, "FreeRDP_ClientRandomLength" },
194 { FreeRDP_ClusterInfoFlags, 3, "FreeRDP_ClusterInfoFlags" },
195 { FreeRDP_ColorDepth, 3, "FreeRDP_ColorDepth" },
196 { FreeRDP_CompDeskSupportLevel, 3, "FreeRDP_CompDeskSupportLevel" },
197 { FreeRDP_CompressionLevel, 3, "FreeRDP_CompressionLevel" },
198 { FreeRDP_ConnectionType, 3, "FreeRDP_ConnectionType" },
199 { FreeRDP_CookieMaxLength, 3, "FreeRDP_CookieMaxLength" },
200 { FreeRDP_DesktopHeight, 3, "FreeRDP_DesktopHeight" },
201 { FreeRDP_DesktopPhysicalHeight, 3, "FreeRDP_DesktopPhysicalHeight" },
202 { FreeRDP_DesktopPhysicalWidth, 3, "FreeRDP_DesktopPhysicalWidth" },
203 { FreeRDP_DesktopPosX, 3, "FreeRDP_DesktopPosX" },
204 { FreeRDP_DesktopPosY, 3, "FreeRDP_DesktopPosY" },
205 { FreeRDP_DesktopScaleFactor, 3, "FreeRDP_DesktopScaleFactor" },
206 { FreeRDP_DesktopWidth, 3, "FreeRDP_DesktopWidth" },
207 { FreeRDP_DeviceArraySize, 3, "FreeRDP_DeviceArraySize" },
208 { FreeRDP_DeviceCount, 3, "FreeRDP_DeviceCount" },
209 { FreeRDP_DeviceScaleFactor, 3, "FreeRDP_DeviceScaleFactor" },
210 { FreeRDP_DrawNineGridCacheEntries, 3, "FreeRDP_DrawNineGridCacheEntries" },
211 { FreeRDP_DrawNineGridCacheSize, 3, "FreeRDP_DrawNineGridCacheSize" },
212 { FreeRDP_DynamicChannelArraySize, 3, "FreeRDP_DynamicChannelArraySize" },
213 { FreeRDP_DynamicChannelCount, 3, "FreeRDP_DynamicChannelCount" },
214 { FreeRDP_EarlyCapabilityFlags, 3, "FreeRDP_EarlyCapabilityFlags" },
215 { FreeRDP_EncryptionLevel, 3, "FreeRDP_EncryptionLevel" },
216 { FreeRDP_EncryptionMethods, 3, "FreeRDP_EncryptionMethods" },
217 { FreeRDP_ExtEncryptionMethods, 3, "FreeRDP_ExtEncryptionMethods" },
218 { FreeRDP_FrameAcknowledge, 3, "FreeRDP_FrameAcknowledge" },
219 { FreeRDP_GatewayAcceptedCertLength, 3, "FreeRDP_GatewayAcceptedCertLength" },
220 { FreeRDP_GatewayCredentialsSource, 3, "FreeRDP_GatewayCredentialsSource" },
221 { FreeRDP_GatewayPort, 3, "FreeRDP_GatewayPort" },
222 { FreeRDP_GatewayUsageMethod, 3, "FreeRDP_GatewayUsageMethod" },
223 { FreeRDP_GfxCapsFilter, 3, "FreeRDP_GfxCapsFilter" },
224 { FreeRDP_GlyphSupportLevel, 3, "FreeRDP_GlyphSupportLevel" },
225 { FreeRDP_JpegCodecId, 3, "FreeRDP_JpegCodecId" },
226 { FreeRDP_JpegQuality, 3, "FreeRDP_JpegQuality" },
227 { FreeRDP_KeyboardCodePage, 3, "FreeRDP_KeyboardCodePage" },
228 { FreeRDP_KeyboardFunctionKey, 3, "FreeRDP_KeyboardFunctionKey" },
229 { FreeRDP_KeyboardHook, 3, "FreeRDP_KeyboardHook" },
230 { FreeRDP_KeyboardLayout, 3, "FreeRDP_KeyboardLayout" },
231 { FreeRDP_KeyboardSubType, 3, "FreeRDP_KeyboardSubType" },
232 { FreeRDP_KeyboardType, 3, "FreeRDP_KeyboardType" },
233 { FreeRDP_LargePointerFlag, 3, "FreeRDP_LargePointerFlag" },
234 { FreeRDP_LoadBalanceInfoLength, 3, "FreeRDP_LoadBalanceInfoLength" },
235 { FreeRDP_MaxTimeInCheckLoop, 3, "FreeRDP_MaxTimeInCheckLoop" },
236 { FreeRDP_MonitorCount, 3, "FreeRDP_MonitorCount" },
237 { FreeRDP_MonitorDefArraySize, 3, "FreeRDP_MonitorDefArraySize" },
238 { FreeRDP_MonitorLocalShiftX, 3, "FreeRDP_MonitorLocalShiftX" },
239 { FreeRDP_MonitorLocalShiftY, 3, "FreeRDP_MonitorLocalShiftY" },
240 { FreeRDP_MultifragMaxRequestSize, 3, "FreeRDP_MultifragMaxRequestSize" },
241 { FreeRDP_MultitransportFlags, 3, "FreeRDP_MultitransportFlags" },
242 { FreeRDP_NSCodecColorLossLevel, 3, "FreeRDP_NSCodecColorLossLevel" },
243 { FreeRDP_NSCodecId, 3, "FreeRDP_NSCodecId" },
244 { FreeRDP_NegotiationFlags, 3, "FreeRDP_NegotiationFlags" },
245 { FreeRDP_NumMonitorIds, 3, "FreeRDP_NumMonitorIds" },
246 { FreeRDP_OffscreenCacheEntries, 3, "FreeRDP_OffscreenCacheEntries" },
247 { FreeRDP_OffscreenCacheSize, 3, "FreeRDP_OffscreenCacheSize" },
248 { FreeRDP_OffscreenSupportLevel, 3, "FreeRDP_OffscreenSupportLevel" },
249 { FreeRDP_OsMajorType, 3, "FreeRDP_OsMajorType" },
250 { FreeRDP_OsMinorType, 3, "FreeRDP_OsMinorType" },
251 { FreeRDP_Password51Length, 3, "FreeRDP_Password51Length" },
252 { FreeRDP_PduSource, 3, "FreeRDP_PduSource" },
253 { FreeRDP_PercentScreen, 3, "FreeRDP_PercentScreen" },
254 { FreeRDP_PerformanceFlags, 3, "FreeRDP_PerformanceFlags" },
255 { FreeRDP_PointerCacheSize, 3, "FreeRDP_PointerCacheSize" },
256 { FreeRDP_PreconnectionId, 3, "FreeRDP_PreconnectionId" },
257 { FreeRDP_ProxyType, 3, "FreeRDP_ProxyType" },
258 { FreeRDP_RdpVersion, 3, "FreeRDP_RdpVersion" },
259 { FreeRDP_ReceivedCapabilitiesSize, 3, "FreeRDP_ReceivedCapabilitiesSize" },
260 { FreeRDP_RedirectedSessionId, 3, "FreeRDP_RedirectedSessionId" },
261 { FreeRDP_RedirectionAcceptedCertLength, 3, "FreeRDP_RedirectionAcceptedCertLength" },
262 { FreeRDP_RedirectionFlags, 3, "FreeRDP_RedirectionFlags" },
263 { FreeRDP_RedirectionPasswordLength, 3, "FreeRDP_RedirectionPasswordLength" },
264 { FreeRDP_RedirectionPreferType, 3, "FreeRDP_RedirectionPreferType" },
265 { FreeRDP_RedirectionTsvUrlLength, 3, "FreeRDP_RedirectionTsvUrlLength" },
266 { FreeRDP_RemoteAppNumIconCacheEntries, 3, "FreeRDP_RemoteAppNumIconCacheEntries" },
267 { FreeRDP_RemoteAppNumIconCaches, 3, "FreeRDP_RemoteAppNumIconCaches" },
268 { FreeRDP_RemoteApplicationExpandCmdLine, 3, "FreeRDP_RemoteApplicationExpandCmdLine" },
269 { FreeRDP_RemoteApplicationExpandWorkingDir, 3, "FreeRDP_RemoteApplicationExpandWorkingDir" },
270 { FreeRDP_RemoteApplicationSupportLevel, 3, "FreeRDP_RemoteApplicationSupportLevel" },
271 { FreeRDP_RemoteApplicationSupportMask, 3, "FreeRDP_RemoteApplicationSupportMask" },
272 { FreeRDP_RemoteFxCaptureFlags, 3, "FreeRDP_RemoteFxCaptureFlags" },
273 { FreeRDP_RemoteFxCodecId, 3, "FreeRDP_RemoteFxCodecId" },
274 { FreeRDP_RemoteFxCodecMode, 3, "FreeRDP_RemoteFxCodecMode" },
275 { FreeRDP_RemoteWndSupportLevel, 3, "FreeRDP_RemoteWndSupportLevel" },
276 { FreeRDP_RequestedProtocols, 3, "FreeRDP_RequestedProtocols" },
277 { FreeRDP_SelectedProtocol, 3, "FreeRDP_SelectedProtocol" },
278 { FreeRDP_ServerCertificateLength, 3, "FreeRDP_ServerCertificateLength" },
279 { FreeRDP_ServerPort, 3, "FreeRDP_ServerPort" },
280 { FreeRDP_ServerRandomLength, 3, "FreeRDP_ServerRandomLength" },
281 { FreeRDP_ShareId, 3, "FreeRDP_ShareId" },
282 { FreeRDP_SmartSizingHeight, 3, "FreeRDP_SmartSizingHeight" },
283 { FreeRDP_SmartSizingWidth, 3, "FreeRDP_SmartSizingWidth" },
284 { FreeRDP_StaticChannelArraySize, 3, "FreeRDP_StaticChannelArraySize" },
285 { FreeRDP_StaticChannelCount, 3, "FreeRDP_StaticChannelCount" },
286 { FreeRDP_TargetNetAddressCount, 3, "FreeRDP_TargetNetAddressCount" },
287 { FreeRDP_TcpAckTimeout, 3, "FreeRDP_TcpAckTimeout" },
288 { FreeRDP_TcpConnectTimeout, 3, "FreeRDP_TcpConnectTimeout" },
289 { FreeRDP_TcpKeepAliveDelay, 3, "FreeRDP_TcpKeepAliveDelay" },
290 { FreeRDP_TcpKeepAliveInterval, 3, "FreeRDP_TcpKeepAliveInterval" },
291 { FreeRDP_TcpKeepAliveRetries, 3, "FreeRDP_TcpKeepAliveRetries" },
292 { FreeRDP_TlsSecLevel, 3, "FreeRDP_TlsSecLevel" },
293 { FreeRDP_VirtualChannelChunkSize, 3, "FreeRDP_VirtualChannelChunkSize" },
294 { FreeRDP_VirtualChannelCompressionFlags, 3, "FreeRDP_VirtualChannelCompressionFlags" },
295 { FreeRDP_XPan, 4, "FreeRDP_XPan" },
296 { FreeRDP_YPan, 4, "FreeRDP_YPan" },
297 { FreeRDP_ParentWindowId, 5, "FreeRDP_ParentWindowId" },
298 { FreeRDP_AcceptedCert, 7, "FreeRDP_AcceptedCert" },
299 { FreeRDP_AllowedTlsCiphers, 7, "FreeRDP_AllowedTlsCiphers" },
300 { FreeRDP_AlternateShell, 7, "FreeRDP_AlternateShell" },
301 { FreeRDP_AssistanceFile, 7, "FreeRDP_AssistanceFile" },
302 { FreeRDP_AuthenticationServiceClass, 7, "FreeRDP_AuthenticationServiceClass" },
303 { FreeRDP_CertificateAcceptedFingerprints, 7, "FreeRDP_CertificateAcceptedFingerprints" },
304 { FreeRDP_CertificateContent, 7, "FreeRDP_CertificateContent" },
305 { FreeRDP_CertificateFile, 7, "FreeRDP_CertificateFile" },
306 { FreeRDP_CertificateName, 7, "FreeRDP_CertificateName" },
307 { FreeRDP_ClientAddress, 7, "FreeRDP_ClientAddress" },
308 { FreeRDP_ClientDir, 7, "FreeRDP_ClientDir" },
309 { FreeRDP_ClientHostname, 7, "FreeRDP_ClientHostname" },
310 { FreeRDP_ClientProductId, 7, "FreeRDP_ClientProductId" },
311 { FreeRDP_ComputerName, 7, "FreeRDP_ComputerName" },
312 { FreeRDP_ConfigPath, 7, "FreeRDP_ConfigPath" },
313 { FreeRDP_ConnectionFile, 7, "FreeRDP_ConnectionFile" },
314 { FreeRDP_CurrentPath, 7, "FreeRDP_CurrentPath" },
315 { FreeRDP_Domain, 7, "FreeRDP_Domain" },
316 { FreeRDP_DrivesToRedirect, 7, "FreeRDP_DrivesToRedirect" },
317 { FreeRDP_DumpRemoteFxFile, 7, "FreeRDP_DumpRemoteFxFile" },
318 { FreeRDP_DynamicDSTTimeZoneKeyName, 7, "FreeRDP_DynamicDSTTimeZoneKeyName" },
319 { FreeRDP_GatewayAcceptedCert, 7, "FreeRDP_GatewayAcceptedCert" },
320 { FreeRDP_GatewayAccessToken, 7, "FreeRDP_GatewayAccessToken" },
321 { FreeRDP_GatewayDomain, 7, "FreeRDP_GatewayDomain" },
322 { FreeRDP_GatewayHostname, 7, "FreeRDP_GatewayHostname" },
323 { FreeRDP_GatewayPassword, 7, "FreeRDP_GatewayPassword" },
324 { FreeRDP_GatewayUsername, 7, "FreeRDP_GatewayUsername" },
325 { FreeRDP_HomePath, 7, "FreeRDP_HomePath" },
326 { FreeRDP_ImeFileName, 7, "FreeRDP_ImeFileName" },
327 { FreeRDP_KerberosKdc, 7, "FreeRDP_KerberosKdc" },
328 { FreeRDP_KerberosRealm, 7, "FreeRDP_KerberosRealm" },
329 { FreeRDP_KeyboardRemappingList, 7, "FreeRDP_KeyboardRemappingList" },
330 { FreeRDP_NtlmSamFile, 7, "FreeRDP_NtlmSamFile" },
331 { FreeRDP_Password, 7, "FreeRDP_Password" },
332 { FreeRDP_PasswordHash, 7, "FreeRDP_PasswordHash" },
333 { FreeRDP_PlayRemoteFxFile, 7, "FreeRDP_PlayRemoteFxFile" },
334 { FreeRDP_PreconnectionBlob, 7, "FreeRDP_PreconnectionBlob" },
335 { FreeRDP_PrivateKeyContent, 7, "FreeRDP_PrivateKeyContent" },
336 { FreeRDP_PrivateKeyFile, 7, "FreeRDP_PrivateKeyFile" },
337 { FreeRDP_ProxyHostname, 7, "FreeRDP_ProxyHostname" },
338 { FreeRDP_ProxyPassword, 7, "FreeRDP_ProxyPassword" },
339 { FreeRDP_ProxyUsername, 7, "FreeRDP_ProxyUsername" },
340 { FreeRDP_RDP2TCPArgs, 7, "FreeRDP_RDP2TCPArgs" },
341 { FreeRDP_RdpKeyContent, 7, "FreeRDP_RdpKeyContent" },
342 { FreeRDP_RdpKeyFile, 7, "FreeRDP_RdpKeyFile" },
343 { FreeRDP_RedirectionAcceptedCert, 7, "FreeRDP_RedirectionAcceptedCert" },
344 { FreeRDP_RedirectionDomain, 7, "FreeRDP_RedirectionDomain" },
345 { FreeRDP_RedirectionTargetFQDN, 7, "FreeRDP_RedirectionTargetFQDN" },
346 { FreeRDP_RedirectionTargetNetBiosName, 7, "FreeRDP_RedirectionTargetNetBiosName" },
347 { FreeRDP_RedirectionUsername, 7, "FreeRDP_RedirectionUsername" },
348 { FreeRDP_RemoteApplicationCmdLine, 7, "FreeRDP_RemoteApplicationCmdLine" },
349 { FreeRDP_RemoteApplicationFile, 7, "FreeRDP_RemoteApplicationFile" },
350 { FreeRDP_RemoteApplicationGuid, 7, "FreeRDP_RemoteApplicationGuid" },
351 { FreeRDP_RemoteApplicationIcon, 7, "FreeRDP_RemoteApplicationIcon" },
352 { FreeRDP_RemoteApplicationName, 7, "FreeRDP_RemoteApplicationName" },
353 { FreeRDP_RemoteApplicationProgram, 7, "FreeRDP_RemoteApplicationProgram" },
354 { FreeRDP_RemoteApplicationWorkingDir, 7, "FreeRDP_RemoteApplicationWorkingDir" },
355 { FreeRDP_RemoteAssistancePassStub, 7, "FreeRDP_RemoteAssistancePassStub" },
356 { FreeRDP_RemoteAssistancePassword, 7, "FreeRDP_RemoteAssistancePassword" },
357 { FreeRDP_RemoteAssistanceRCTicket, 7, "FreeRDP_RemoteAssistanceRCTicket" },
358 { FreeRDP_RemoteAssistanceSessionId, 7, "FreeRDP_RemoteAssistanceSessionId" },
359 { FreeRDP_ServerHostname, 7, "FreeRDP_ServerHostname" },
360 { FreeRDP_ShellWorkingDirectory, 7, "FreeRDP_ShellWorkingDirectory" },
361 { FreeRDP_TargetNetAddress, 7, "FreeRDP_TargetNetAddress" },
362 { FreeRDP_Username, 7, "FreeRDP_Username" },
363 { FreeRDP_WindowTitle, 7, "FreeRDP_WindowTitle" },
364 { FreeRDP_WmClass, 7, "FreeRDP_WmClass" },
365 { FreeRDP_BitmapCacheV2CellInfo, 8, "FreeRDP_BitmapCacheV2CellInfo" },
366 { FreeRDP_ChannelDefArray, 8, "FreeRDP_ChannelDefArray" },
367 { FreeRDP_ClientAutoReconnectCookie, 8, "FreeRDP_ClientAutoReconnectCookie" },
368 { FreeRDP_ClientRandom, 8, "FreeRDP_ClientRandom" },
369 { FreeRDP_ClientTimeZone, 8, "FreeRDP_ClientTimeZone" },
370 { FreeRDP_DeviceArray, 8, "FreeRDP_DeviceArray" },
371 { FreeRDP_DynamicChannelArray, 8, "FreeRDP_DynamicChannelArray" },
372 { FreeRDP_FragCache, 8, "FreeRDP_FragCache" },
373 { FreeRDP_GlyphCache, 8, "FreeRDP_GlyphCache" },
374 { FreeRDP_LoadBalanceInfo, 8, "FreeRDP_LoadBalanceInfo" },
375 { FreeRDP_MonitorDefArray, 8, "FreeRDP_MonitorDefArray" },
376 { FreeRDP_MonitorIds, 8, "FreeRDP_MonitorIds" },
377 { FreeRDP_OrderSupport, 8, "FreeRDP_OrderSupport" },
378 { FreeRDP_Password51, 8, "FreeRDP_Password51" },
379 { FreeRDP_RdpServerCertificate, 8, "FreeRDP_RdpServerCertificate" },
380 { FreeRDP_RdpServerRsaKey, 8, "FreeRDP_RdpServerRsaKey" },
381 { FreeRDP_ReceivedCapabilities, 8, "FreeRDP_ReceivedCapabilities" },
382 { FreeRDP_RedirectionPassword, 8, "FreeRDP_RedirectionPassword" },
383 { FreeRDP_RedirectionTsvUrl, 8, "FreeRDP_RedirectionTsvUrl" },
384 { FreeRDP_ServerAutoReconnectCookie, 8, "FreeRDP_ServerAutoReconnectCookie" },
385 { FreeRDP_ServerCertificate, 8, "FreeRDP_ServerCertificate" },
386 { FreeRDP_ServerRandom, 8, "FreeRDP_ServerRandom" },
387 { FreeRDP_StaticChannelArray, 8, "FreeRDP_StaticChannelArray" },
388 { FreeRDP_TargetNetAddresses, 8, "FreeRDP_TargetNetAddresses" },
389 { FreeRDP_TargetNetPorts, 8, "FreeRDP_TargetNetPorts" },
390 { FreeRDP_instance, 8, "FreeRDP_instance" },
391 };
392
freerdp_settings_clone_keys(rdpSettings * dst,const rdpSettings * src)393 BOOL freerdp_settings_clone_keys(rdpSettings* dst, const rdpSettings* src)
394 {
395 size_t x;
396 for (x = 0; x < ARRAYSIZE(settings_map); x++)
397 {
398 const struct settings_str_entry* cur = &settings_map[x];
399 switch (cur->type)
400 {
401 case 0: /* bool */
402 {
403 BOOL sval = freerdp_settings_get_bool(src, cur->id);
404 if (!freerdp_settings_set_bool(dst, cur->id, sval))
405 return FALSE;
406 }
407 break;
408 case 1: /* UINT16 */
409 {
410 UINT16 sval = freerdp_settings_get_uint16(src, cur->id);
411 if (!freerdp_settings_set_uint16(dst, cur->id, sval))
412 return FALSE;
413 }
414 break;
415 case 2: /* INT16 */
416 {
417 INT16 sval = freerdp_settings_get_int16(src, cur->id);
418 if (!freerdp_settings_set_int16(dst, cur->id, sval))
419 return FALSE;
420 }
421 break;
422 case 3: /* UINT32 */
423 {
424 UINT32 sval = freerdp_settings_get_uint32(src, cur->id);
425 if (!freerdp_settings_set_uint32(dst, cur->id, sval))
426 return FALSE;
427 }
428 break;
429 case 4: /* INT32 */
430 {
431 INT32 sval = freerdp_settings_get_int32(src, cur->id);
432 if (!freerdp_settings_set_int32(dst, cur->id, sval))
433 return FALSE;
434 }
435 break;
436 case 5: /* UINT64 */
437 {
438 UINT64 sval = freerdp_settings_get_uint64(src, cur->id);
439 if (!freerdp_settings_set_uint64(dst, cur->id, sval))
440 return FALSE;
441 }
442 break;
443 case 6: /* INT64 */
444 {
445 INT64 sval = freerdp_settings_get_int64(src, cur->id);
446 if (!freerdp_settings_set_int64(dst, cur->id, sval))
447 return FALSE;
448 }
449 break;
450 case 7: /* strings */
451 {
452 const char* sval = freerdp_settings_get_string(src, cur->id);
453 if (!freerdp_settings_set_string_(dst, cur->id, sval, FALSE))
454 return FALSE;
455 }
456 break;
457 case 8: /* pointer */
458 {
459 const void* sval = freerdp_settings_get_pointer(src, cur->id);
460 if (!freerdp_settings_set_pointer(dst, cur->id, sval))
461 return FALSE;
462 }
463 break;
464 }
465 }
466 return TRUE;
467 }
468
freerdp_settings_free_keys(rdpSettings * dst,BOOL cleanup)469 void freerdp_settings_free_keys(rdpSettings* dst, BOOL cleanup)
470 {
471 size_t x;
472 for (x = 0; x < ARRAYSIZE(settings_map); x++)
473 {
474 const struct settings_str_entry* cur = &settings_map[x];
475 switch (cur->type)
476 {
477 case 7: /* strings */
478 freerdp_settings_set_string_(dst, cur->id, NULL, cleanup);
479 break;
480 case 8: /* pointer */
481 freerdp_settings_set_pointer(dst, cur->id, NULL);
482 break;
483 }
484 }
485 }
486
freerdp_settings_get_key_for_name(const char * value)487 SSIZE_T freerdp_settings_get_key_for_name(const char* value)
488 {
489 size_t x;
490 for (x = 0; x < ARRAYSIZE(settings_map); x++)
491 {
492 const struct settings_str_entry* cur = &settings_map[x];
493 if (strcmp(value, cur->str) == 0)
494 return cur->id;
495 }
496 return -1;
497 }
498
freerdp_settings_get_type_for_name(const char * value)499 SSIZE_T freerdp_settings_get_type_for_name(const char* value)
500 {
501 size_t x;
502 for (x = 0; x < ARRAYSIZE(settings_map); x++)
503 {
504 const struct settings_str_entry* cur = &settings_map[x];
505 if (strcmp(value, cur->str) == 0)
506 return cur->type;
507 }
508 return -1;
509 }
510
freerdp_settings_get_type_for_key(size_t key)511 SSIZE_T freerdp_settings_get_type_for_key(size_t key)
512 {
513 size_t x;
514 for (x = 0; x < ARRAYSIZE(settings_map); x++)
515 {
516 const struct settings_str_entry* cur = &settings_map[x];
517 if (cur->id == key)
518 return cur->type;
519 }
520 return -1;
521 }
522
freerdp_settings_get_name_for_key(size_t key)523 const char* freerdp_settings_get_name_for_key(size_t key)
524 {
525 size_t x;
526 for (x = 0; x < ARRAYSIZE(settings_map); x++)
527 {
528 const struct settings_str_entry* cur = &settings_map[x];
529 if (cur->id == key)
530 return cur->str;
531 }
532 return NULL;
533 }
534