20#ifndef FREERDP_CLIENT_RDP_FILE_H
21#define FREERDP_CLIENT_RDP_FILE_H
23#include <freerdp/api.h>
24#include <freerdp/types.h>
25#include <freerdp/settings.h>
28#define RDP_FILE_FLAG_PARSE_INT_RELAXED 1
35 typedef struct rdp_file rdpFile;
36 typedef BOOL (*rdp_file_fkt_parse)(
void* context,
const char* key,
char type,
41 FREERDP_API
void freerdp_client_rdp_file_set_callback_context(rdpFile* file,
void* context);
44 FREERDP_API BOOL freerdp_client_parse_rdp_file(rdpFile* file,
const char* name);
47 FREERDP_API BOOL freerdp_client_parse_rdp_file_ex(rdpFile* file,
const char* name,
48 rdp_file_fkt_parse parse);
51 FREERDP_API BOOL freerdp_client_parse_rdp_file_buffer(rdpFile* file,
const BYTE* buffer,
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);
68 FREERDP_API BOOL freerdp_client_populate_settings_from_rdp_file_unchecked(
69 const rdpFile* file, rdpSettings* settings);
79 FREERDP_API BOOL freerdp_client_populate_settings_from_rdp_file(
const rdpFile* file,
80 rdpSettings* settings);
83 FREERDP_API BOOL freerdp_client_populate_rdp_file_from_settings(rdpFile* file,
84 const rdpSettings* settings);
87 FREERDP_API BOOL freerdp_client_write_rdp_file(
const rdpFile* file,
const char* name,
91 FREERDP_API
size_t freerdp_client_write_rdp_file_buffer(
const rdpFile* file,
char* buffer,
95 FREERDP_API
int freerdp_client_rdp_file_set_string_option(rdpFile* file,
const char* name,
99 FREERDP_API
const char* freerdp_client_rdp_file_get_string_option(
const rdpFile* file,
103 FREERDP_API
int freerdp_client_rdp_file_set_integer_option(rdpFile* file,
const char* name,
107 FREERDP_API
int freerdp_client_rdp_file_get_integer_option(
const rdpFile* file,
110 FREERDP_API
void freerdp_client_rdp_file_free(rdpFile* file);
112 WINPR_ATTR_MALLOC(freerdp_client_rdp_file_free, 1)
114 FREERDP_API rdpFile* freerdp_client_rdp_file_new(
void);
116 WINPR_ATTR_MALLOC(freerdp_client_rdp_file_free, 1)
118 FREERDP_API rdpFile* freerdp_client_rdp_file_new_ex(DWORD flags);