FreeRDP
Loading...
Searching...
No Matches
include/freerdp/channels/channels.h
1
21#ifndef FREERDP_CHANNELS_H
22#define FREERDP_CHANNELS_H
23
24#include <winpr/crt.h>
25#include <winpr/wtsapi.h>
26
27#include <freerdp/api.h>
28#include <freerdp/types.h>
29#include <freerdp/settings.h>
30
31#ifdef __cplusplus
32extern "C"
33{
34#endif
35
37 typedef BOOL (*freerdp_channel_handle_fkt_t)(rdpContext* context, void* userdata);
38
39 WINPR_ATTR_NODISCARD
40 FREERDP_API int freerdp_channels_client_load(rdpChannels* channels, rdpSettings* settings,
41 PVIRTUALCHANNELENTRY entry, void* data);
42
43 WINPR_ATTR_NODISCARD
44 FREERDP_API int freerdp_channels_client_load_ex(rdpChannels* channels, rdpSettings* settings,
45 PVIRTUALCHANNELENTRYEX entryEx, void* data);
46
47 WINPR_ATTR_NODISCARD
48 FREERDP_API int freerdp_channels_load_plugin(rdpChannels* channels, rdpSettings* settings,
49 const char* name, void* data);
50#if defined(WITH_FREERDP_DEPRECATED)
51 WINPR_DEPRECATED_VAR("Use freerdp_channels_get_event_handle",
52 WINPR_ATTR_NODISCARD FREERDP_API BOOL freerdp_channels_get_fds(
53 rdpChannels* channels, freerdp* instance, void** read_fds,
54 int* read_count, void** write_fds, int* write_count));
55#endif
56
57 FREERDP_API BOOL freerdp_channels_check_fds(rdpChannels* channels, freerdp* instance);
58
59 WINPR_ATTR_NODISCARD
60 FREERDP_API void* freerdp_channels_get_static_channel_interface(rdpChannels* channels,
61 const char* name);
62
83 WINPR_ATTR_NODISCARD
84 FREERDP_API BOOL freerdp_client_channel_register(rdpChannels* channels, HANDLE handle,
85 freerdp_channel_handle_fkt_t fkt,
86 void* userdata);
87
96 FREERDP_API BOOL freerdp_client_channel_unregister(rdpChannels* channels, HANDLE handle);
97
98 WINPR_ATTR_NODISCARD
99 FREERDP_API HANDLE freerdp_channels_get_event_handle(freerdp* instance);
100
101 WINPR_ATTR_NODISCARD
102 FREERDP_API int freerdp_channels_process_pending_messages(freerdp* instance);
103
104 WINPR_ATTR_NODISCARD
105 FREERDP_API BOOL freerdp_channels_data(freerdp* instance, UINT16 channelId, const BYTE* data,
106 size_t dataSize, UINT32 flags, size_t totalSize);
107
108 WINPR_ATTR_NODISCARD
109 FREERDP_API UINT16 freerdp_channels_get_id_by_name(freerdp* instance, const char* channel_name);
110
111 WINPR_ATTR_NODISCARD
112 FREERDP_API const char* freerdp_channels_get_name_by_id(freerdp* instance, UINT16 channelId);
113
114 WINPR_ATTR_NODISCARD
115 FREERDP_API const WtsApiFunctionTable* FreeRDP_InitWtsApi(void);
116
117#ifdef __cplusplus
118}
119#endif
120
121#endif /* FREERDP_CHANNELS_H */