FreeRDP
Loading...
Searching...
No Matches
include/freerdp/client/file.h
1
20#ifndef FREERDP_CLIENT_RDP_FILE_H
21#define FREERDP_CLIENT_RDP_FILE_H
22
23#include <freerdp/api.h>
24#include <freerdp/types.h>
25#include <freerdp/settings.h>
26
27/* Ignore invalid integer values */
28#define RDP_FILE_FLAG_PARSE_INT_RELAXED 1
29
30#ifdef __cplusplus
31extern "C"
32{
33#endif
34
35 typedef struct rdp_file rdpFile;
36 typedef BOOL (*rdp_file_fkt_parse)(void* context, const char* key, char type,
37 const char* value);
38
39 /* When using freerdp_client_parse_rdp_file_ex or freerdp_client_parse_rdp_file_buffer_ex
40 * set the context for the callback with this function. */
41 FREERDP_API void freerdp_client_rdp_file_set_callback_context(rdpFile* file, void* context);
42
43 WINPR_ATTR_NODISCARD
44 FREERDP_API BOOL freerdp_client_parse_rdp_file(rdpFile* file, const char* name);
45
46 WINPR_ATTR_NODISCARD
47 FREERDP_API BOOL freerdp_client_parse_rdp_file_ex(rdpFile* file, const char* name,
48 rdp_file_fkt_parse parse);
49
50 WINPR_ATTR_NODISCARD
51 FREERDP_API BOOL freerdp_client_parse_rdp_file_buffer(rdpFile* file, const BYTE* buffer,
52 size_t size);
53
54 WINPR_ATTR_NODISCARD
55 FREERDP_API BOOL freerdp_client_parse_rdp_file_buffer_ex(rdpFile* file, const BYTE* buffer,
56 size_t size, rdp_file_fkt_parse parse);
57
67 WINPR_ATTR_NODISCARD
68 FREERDP_API BOOL freerdp_client_populate_settings_from_rdp_file_unchecked(
69 const rdpFile* file, rdpSettings* settings);
70
78 WINPR_ATTR_NODISCARD
79 FREERDP_API BOOL freerdp_client_populate_settings_from_rdp_file(const rdpFile* file,
80 rdpSettings* settings);
81
82 WINPR_ATTR_NODISCARD
83 FREERDP_API BOOL freerdp_client_populate_rdp_file_from_settings(rdpFile* file,
84 const rdpSettings* settings);
85
86 WINPR_ATTR_NODISCARD
87 FREERDP_API BOOL freerdp_client_write_rdp_file(const rdpFile* file, const char* name,
88 BOOL unicode);
89
90 WINPR_ATTR_NODISCARD
91 FREERDP_API size_t freerdp_client_write_rdp_file_buffer(const rdpFile* file, char* buffer,
92 size_t size);
93
94 WINPR_ATTR_NODISCARD
95 FREERDP_API int freerdp_client_rdp_file_set_string_option(rdpFile* file, const char* name,
96 const char* value);
97
98 WINPR_ATTR_NODISCARD
99 FREERDP_API const char* freerdp_client_rdp_file_get_string_option(const rdpFile* file,
100 const char* name);
101
102 WINPR_ATTR_NODISCARD
103 FREERDP_API int freerdp_client_rdp_file_set_integer_option(rdpFile* file, const char* name,
104 int value);
105
106 WINPR_ATTR_NODISCARD
107 FREERDP_API int freerdp_client_rdp_file_get_integer_option(const rdpFile* file,
108 const char* name);
109
110 FREERDP_API void freerdp_client_rdp_file_free(rdpFile* file);
111
112 WINPR_ATTR_MALLOC(freerdp_client_rdp_file_free, 1)
113 WINPR_ATTR_NODISCARD
114 FREERDP_API rdpFile* freerdp_client_rdp_file_new(void);
115
116 WINPR_ATTR_MALLOC(freerdp_client_rdp_file_free, 1)
117 WINPR_ATTR_NODISCARD
118 FREERDP_API rdpFile* freerdp_client_rdp_file_new_ex(DWORD flags);
119
120#ifdef __cplusplus
121}
122#endif
123
124#endif /* FREERDP_CLIENT_RDP_FILE_H */