20#ifndef FREERDP_REMOTE_ASSISTANCE_H
21#define FREERDP_REMOTE_ASSISTANCE_H
23#include <freerdp/api.h>
24#include <freerdp/types.h>
25#include <freerdp/settings.h>
32 typedef struct rdp_assistance_file rdpAssistanceFile;
34 WINPR_ATTR_MALLOC(free, 1)
36 FREERDP_API BYTE* freerdp_assistance_hex_string_to_bin(const
void* str,
size_t* size);
38 WINPR_ATTR_MALLOC(free, 1)
40 FREERDP_API
char* freerdp_assistance_bin_to_hex_string(const
void* data,
size_t size);
42 WINPR_ATTR_MALLOC(free, 1)
44 FREERDP_API
char* freerdp_assistance_generate_pass_stub(DWORD flags);
46 WINPR_ATTR_MALLOC(free, 1)
48 FREERDP_API
char* freerdp_assistance_construct_expert_blob(const
char* name, const
char* pass);
50 WINPR_ATTR_MALLOC(free, 1)
52 FREERDP_API BYTE* freerdp_assistance_encrypt_pass_stub(const
char* password,
54 size_t* pEncryptedSize);
56 FREERDP_API
int freerdp_assistance_set_connection_string2(rdpAssistanceFile* file,
58 const
char* password);
60 FREERDP_API
int freerdp_assistance_parse_file_buffer(rdpAssistanceFile* file,
61 const
char* buffer,
size_t size,
62 const
char* password);
63 FREERDP_API
int freerdp_assistance_parse_file(rdpAssistanceFile* file, const
char* name,
64 const
char* password);
66 FREERDP_API BOOL freerdp_assistance_populate_settings_from_assistance_file(
67 rdpAssistanceFile* file, rdpSettings* settings);
68 FREERDP_API BOOL freerdp_assistance_get_encrypted_pass_stub(rdpAssistanceFile* file,
69 const
char** pwd,
size_t* size);
71 FREERDP_API
void freerdp_assistance_file_free(rdpAssistanceFile* file);
73 WINPR_ATTR_MALLOC(freerdp_assistance_file_free, 1)
75 FREERDP_API rdpAssistanceFile* freerdp_assistance_file_new(
void);
77 FREERDP_API
void freerdp_assistance_print_file(rdpAssistanceFile* file, wLog* log, DWORD level);