21#ifndef FREERDP_LIB_CORE_SETTINGS_H
22#define FREERDP_LIB_CORE_SETTINGS_H
24#include <winpr/string.h>
25#include <winpr/sspi.h>
26#include <winpr/json.h>
28#include <freerdp/config.h>
30#define FREERDP_SETTINGS_INTERNAL_USE
31#include <freerdp/settings_types_private.h>
33#include <freerdp/types.h>
34#include <freerdp/settings.h>
35#include <freerdp/api.h>
40FREERDP_LOCAL BOOL freerdp_settings_enforce_consistency(rdpSettings* settings);
53FREERDP_LOCAL
void freerdp_settings_sanitize_keyboard_type(wLog* log, rdpSettings* settings,
57FREERDP_LOCAL BOOL freerdp_settings_enforce_monitor_exists(rdpSettings* settings);
59FREERDP_LOCAL
void freerdp_settings_print_warnings(
const rdpSettings* settings);
62FREERDP_LOCAL BOOL freerdp_settings_check_client_after_preconnect(
const rdpSettings* settings);
65FREERDP_LOCAL BOOL freerdp_settings_set_default_order_support(rdpSettings* settings);
68FREERDP_LOCAL BOOL freerdp_settings_clone_keys(rdpSettings* dst,
const rdpSettings* src);
70FREERDP_LOCAL
void freerdp_settings_free_keys(rdpSettings* dst, BOOL cleanup);
73FREERDP_LOCAL BOOL freerdp_settings_set_string_(rdpSettings* settings,
74 FreeRDP_Settings_Keys_String
id,
const char* val,
78FREERDP_LOCAL BOOL freerdp_settings_set_string_copy_(rdpSettings* settings,
79 FreeRDP_Settings_Keys_String
id,
80 const char* val,
size_t len, BOOL cleanup);
83FREERDP_LOCAL BOOL freerdp_capability_buffer_resize(rdpSettings* settings,
size_t count,
88 const rdpSettings* settings,
89 FreeRDP_Settings_Keys_String UserId,
90 FreeRDP_Settings_Keys_String DomainId,
91 const WCHAR* Password,
size_t pwdLen);
95 const rdpSettings* settings,
96 FreeRDP_Settings_Keys_String UserId,
97 FreeRDP_Settings_Keys_String DomainId,
98 FreeRDP_Settings_Keys_String PwdId);
102 const rdpSettings* settings,
103 FreeRDP_Settings_Keys_String userId,
104 FreeRDP_Settings_Keys_String domainId,
105 FreeRDP_Settings_Keys_String pwdId,
106 const BYTE* certSha1,
size_t sha1len);
109FREERDP_LOCAL
const char* freerdp_settings_glyph_level_string(UINT32 level,
char* buffer,
113FREERDP_LOCAL BOOL freerdp_settings_set_pointer_len_(rdpSettings* settings,
114 FreeRDP_Settings_Keys_Pointer
id,
115 FreeRDP_Settings_Keys_UInt32 lenId,
116 const void* data,
size_t len,
size_t size);
119FREERDP_LOCAL BOOL freerdp_target_net_adresses_reset(rdpSettings* settings,
size_t size);
122FREERDP_LOCAL BOOL freerdp_target_net_addresses_resize(rdpSettings* settings,
size_t count);
133FREERDP_LOCAL BOOL freerdp_settings_apply_from_json(rdpSettings* settings, WINPR_JSON* json);