FreeRDP
Loading...
Searching...
No Matches
pf_client.h
1
22#ifndef FREERDP_SERVER_PROXY_PFCLIENT_H
23#define FREERDP_SERVER_PROXY_PFCLIENT_H
24
25#include <freerdp/freerdp.h>
26#include <freerdp/server/proxy/proxy_context.h>
27#include <winpr/wtypes.h>
28
34{
35 rdpClientContext cctx;
36
37 proxyData* pdata;
38
39 /*
40 * In a case when freerdp_connect fails,
41 * Used for NLA fallback feature, to check if the server should close the connection.
42 * When it is set to TRUE, proxy's client knows it shouldn't signal the server thread to
43 * closed the connection when pf_client_post_disconnect is called, because it is trying to
44 * connect reconnect without NLA. It must be set to TRUE before the first try, and to FALSE
45 * after the connection fully established, to ensure graceful shutdown of the connection
46 * when it will be closed.
47 */
48 BOOL allow_next_conn_failure;
49
50 BOOL connected; /* Set after client post_connect. */
51
52 pReceiveChannelData client_receive_channel_data_original;
53 wQueue* cached_server_channel_data;
54 WINPR_ATTR_NODISCARD BOOL (*sendChannelData)(pClientContext* pc,
56
57 /* X509 specific */
58 char* remote_hostname;
59 wStream* remote_pem;
60 UINT16 remote_port;
61 UINT32 remote_flags;
62
63 BOOL input_state_sync_pending;
64 UINT32 input_state;
65
66 wHashTable* interceptContextMap;
67 UINT32 computerNameLen;
68 BOOL computerNameUnicode;
69 union
70 {
71 WCHAR* wc;
72 char* c;
73 void* v;
74 } computerName;
75};
76
77int RdpClientEntry(RDP_CLIENT_ENTRY_POINTS* pEntryPoints);
78WINPR_ATTR_NODISCARD DWORD WINAPI pf_client_start(LPVOID arg);
79
80#endif /* FREERDP_SERVER_PROXY_PFCLIENT_H */