FreeRDP
Loading...
Searching...
No Matches
libfreerdp/core/utils.h
1
21#ifndef FREERDP_LIB_CORE_UTILS_H
22#define FREERDP_LIB_CORE_UTILS_H
23
24#include <winpr/winpr.h>
25#include <freerdp/freerdp.h>
26
27#include "../crypto/tls.h"
28
29/* HTTP tunnel redir flags. */
30#define HTTP_TUNNEL_REDIR_ENABLE_ALL 0x80000000
31#define HTTP_TUNNEL_REDIR_DISABLE_ALL 0x40000000
32#define HTTP_TUNNEL_REDIR_DISABLE_DRIVE 0x1
33#define HTTP_TUNNEL_REDIR_DISABLE_PRINTER 0x2
34#define HTTP_TUNNEL_REDIR_DISABLE_PORT 0x4
35#define HTTP_TUNNEL_REDIR_DISABLE_CLIPBOARD 0x8
36#define HTTP_TUNNEL_REDIR_DISABLE_PNP 0x10
37
38typedef enum
39{
40 AUTH_SUCCESS,
41 AUTH_SKIP,
42 AUTH_NO_CREDENTIALS,
43 AUTH_CANCELLED,
44 AUTH_FAILED
45} auth_status;
46
47WINPR_ATTR_NODISCARD FREERDP_LOCAL auth_status utils_authenticate_gateway(freerdp* instance,
48 rdp_auth_reason reason);
49
50WINPR_ATTR_NODISCARD FREERDP_LOCAL auth_status utils_authenticate(freerdp* instance,
51 rdp_auth_reason reason,
52 BOOL override);
53
54WINPR_ATTR_NODISCARD FREERDP_LOCAL HANDLE utils_get_abort_event(rdpRdp* rdp);
55
56WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL utils_abort_event_is_set(const rdpRdp* rdp);
57
58WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL utils_reset_abort(rdpRdp* rdp);
59
60FREERDP_LOCAL BOOL utils_abort_connect(rdpRdp* rdp);
61
62WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL utils_sync_credentials(rdpSettings* settings,
63 BOOL toGateway);
64
65WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL utils_persist_credentials(rdpSettings* settings,
66 const rdpSettings* current);
67
68WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL utils_str_is_empty(const char* str);
69
70WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL utils_str_copy(const char* value, char** dst);
71
72WINPR_ATTR_NODISCARD FREERDP_LOCAL const char* utils_is_vsock(const char* hostname);
73
74WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL utils_apply_gateway_policy(wLog* log, rdpContext* context,
75 UINT32 flags,
76 const char* module);
77
78WINPR_ATTR_NODISCARD FREERDP_LOCAL char* utils_redir_flags_to_string(UINT32 flags, char* buffer,
79 size_t size);
80
81WINPR_ATTR_NODISCARD FREERDP_LOCAL BOOL utils_reload_channels(rdpContext* context);
82
83#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
92WINPR_ATTR_MALLOC(free, 1)
93FREERDP_LOCAL
94char* freerdp_getApplicatonDetailsRegKey(WINPR_FORMAT_ARG const char* fmt);
95#endif
96
104WINPR_ATTR_MALLOC(free, 1)
105FREERDP_LOCAL
106char* freerdp_getApplicatonDetailsCombined(char separator);
107
114WINPR_ATTR_NODISCARD
115FREERDP_LOCAL
116BOOL freerdp_areApplicationDetailsCustomized(void);
117
118WINPR_ATTR_NODISCARD
119FREERDP_LOCAL const char* guid2str(const GUID* guid, char* buffer, size_t len);
120
121WINPR_ATTR_NODISCARD
122FREERDP_LOCAL BOOL utils_is_valid_ip(const char* ipAddress);
123
124WINPR_ATTR_NODISCARD
125FREERDP_LOCAL BOOL utils_is_valid_ipV6(const char* ipAddress);
126
127WINPR_ATTR_NODISCARD
128FREERDP_LOCAL BOOL utils_is_valid_ipN(const char* ipAddress, size_t len);
129
130WINPR_ATTR_NODISCARD
131FREERDP_LOCAL BOOL utils_is_valid_ipV6N(const char* ipAddress, size_t len);
132
133WINPR_ATTR_NODISCARD
134FREERDP_LOCAL BOOL utils_compare_ip_strings(const char* ipAddressA, size_t lenA,
135 const char* ipAddressB, size_t lenB);
136
141WINPR_ATTR_NODISCARD
142FREERDP_LOCAL BOOL utils_set_umask(void);
143
144WINPR_ATTR_NODISCARD
145FREERDP_LOCAL BOOL utils_tls_connect(rdpContext* context, rdpTls* tls, wLog* log,
146 const char* hostname, UINT16 port, BOOL layerConnect,
147 UINT32 timeout);
148
149#endif /* FREERDP_LIB_CORE_UTILS_H */