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 FREERDP_API BOOL freerdp_client_parse_rdp_file(rdpFile* file, const char* name);
44 FREERDP_API BOOL freerdp_client_parse_rdp_file_ex(rdpFile* file, const char* name,
45 rdp_file_fkt_parse parse);
46 FREERDP_API BOOL freerdp_client_parse_rdp_file_buffer(rdpFile* file, const BYTE* buffer,
47 size_t size);
48 FREERDP_API BOOL freerdp_client_parse_rdp_file_buffer_ex(rdpFile* file, const BYTE* buffer,
49 size_t size, rdp_file_fkt_parse parse);
50
60 FREERDP_API BOOL freerdp_client_populate_settings_from_rdp_file_unchecked(
61 const rdpFile* file, rdpSettings* settings);
62
70 FREERDP_API BOOL freerdp_client_populate_settings_from_rdp_file(const rdpFile* file,
71 rdpSettings* settings);
72
73 FREERDP_API BOOL freerdp_client_populate_rdp_file_from_settings(rdpFile* file,
74 const rdpSettings* settings);
75 FREERDP_API BOOL freerdp_client_write_rdp_file(const rdpFile* file, const char* name,
76 BOOL unicode);
77 FREERDP_API size_t freerdp_client_write_rdp_file_buffer(const rdpFile* file, char* buffer,
78 size_t size);
79
80 FREERDP_API int freerdp_client_rdp_file_set_string_option(rdpFile* file, const char* name,
81 const char* value);
82 FREERDP_API const char* freerdp_client_rdp_file_get_string_option(const rdpFile* file,
83 const char* name);
84
85 FREERDP_API int freerdp_client_rdp_file_set_integer_option(rdpFile* file, const char* name,
86 int value);
87 FREERDP_API int freerdp_client_rdp_file_get_integer_option(const rdpFile* file,
88 const char* name);
89
90 FREERDP_API void freerdp_client_rdp_file_free(rdpFile* file);
91
92 WINPR_ATTR_MALLOC(freerdp_client_rdp_file_free, 1)
93 FREERDP_API rdpFile* freerdp_client_rdp_file_new(void);
94
95 WINPR_ATTR_MALLOC(freerdp_client_rdp_file_free, 1)
96 FREERDP_API rdpFile* freerdp_client_rdp_file_new_ex(DWORD flags);
97
98#ifdef __cplusplus
99}
100#endif
101
102#endif /* FREERDP_CLIENT_RDP_FILE_H */