FreeRDP
Loading...
Searching...
No Matches
proxy_client.h
1
22/* WARNING: API unstable region, pin your programs to a specific version, the
23 * structs defined herein might change between minor versions!
24 */
25#pragma once
26
27#include <freerdp/freerdp.h>
28#include <freerdp/server/proxy/proxy_context.h>
29#include <winpr/wtypes.h>
30
36{
37#if !defined(WITHOUT_FREERDP_3x_DEPRECATED)
38 union
39 {
40 WINPR_DEPRECATED_VAR("[since 3.27.0]", rdpContext context);
41 rdpClientContext cctx;
42 };
43#else
44 rdpClientContext cctx;
45#endif
46 proxyData* pdata;
47
48 /*
49 * In a case when freerdp_connect fails,
50 * Used for NLA fallback feature, to check if the server should close the connection.
51 * When it is set to TRUE, proxy's client knows it shouldn't signal the server thread to
52 * closed the connection when pf_client_post_disconnect is called, because it is trying to
53 * connect reconnect without NLA. It must be set to TRUE before the first try, and to FALSE
54 * after the connection fully established, to ensure graceful shutdown of the connection
55 * when it will be closed.
56 */
57 BOOL allow_next_conn_failure;
58
59 BOOL connected; /* Set after client post_connect. */
60
61 pReceiveChannelData client_receive_channel_data_original;
62 wQueue* cached_server_channel_data;
63 WINPR_ATTR_NODISCARD BOOL (*sendChannelData)(pClientContext* pc,
65
66 /* X509 specific */
67 char* remote_hostname;
68 wStream* remote_pem;
69 UINT16 remote_port;
70 UINT32 remote_flags;
71
72 BOOL input_state_sync_pending;
73 UINT32 input_state;
74
75 wHashTable* interceptContextMap;
76 UINT32 computerNameLen;
77 BOOL computerNameUnicode;
78 union
79 {
80 WCHAR* wc;
81 char* c;
82 void* v;
83 } computerName;
84};