FreeRDP
Loading...
Searching...
No Matches
include/freerdp/multitransport.h
1
18#ifndef FREERDP_MULTITRANSPORT_H
19#define FREERDP_MULTITRANSPORT_H
20
21#include <freerdp/api.h>
22#include <freerdp/types.h>
23#include <freerdp/freerdp.h>
24
25#ifdef __cplusplus
26extern "C"
27{
28#endif
29
33 typedef enum
34 {
35 FREERDP_MULTITRANSPORT_TUNNEL_NONE,
36 FREERDP_MULTITRANSPORT_TUNNEL_PENDING,
37 FREERDP_MULTITRANSPORT_TUNNEL_READY
38 } FreeRDP_MultitransportTunnelState;
39
52 typedef struct
53 {
57 WINPR_ATTR_NODISCARD BOOL (*TunnelDataReceived)(void* custom, UINT32 tunnelType,
58 wStream* s);
60 WINPR_ATTR_NODISCARD BOOL (*TunnelStateChanged)(void* custom, UINT32 tunnelType,
61 FreeRDP_MultitransportTunnelState state);
68
79 WINPR_ATTR_NODISCARD
80 FREERDP_API BOOL freerdp_multitransport_set_dvc_callbacks(
81 rdpContext* context, const FreeRDP_MultitransportDvcCallbacks* callbacks, void* custom);
82
84 WINPR_ATTR_NODISCARD
85 FREERDP_API FreeRDP_MultitransportTunnelState
86 freerdp_multitransport_get_tunnel_state(rdpContext* context, UINT32 tunnelType);
87
92 WINPR_ATTR_NODISCARD
93 FREERDP_API BOOL freerdp_multitransport_send_dvc(rdpContext* context, UINT32 tunnelType,
94 const BYTE* data, size_t length);
95
96#ifdef __cplusplus
97}
98#endif
99
100#endif /* FREERDP_MULTITRANSPORT_H */
Dynamic virtual channel hooks of the client side tunnels.