21 #ifndef FREERDP_CHANNELS_H
22 #define FREERDP_CHANNELS_H
24 #include <winpr/crt.h>
25 #include <winpr/wtsapi.h>
27 #include <freerdp/api.h>
28 #include <freerdp/types.h>
29 #include <freerdp/settings.h>
37 typedef BOOL (*freerdp_channel_handle_fkt_t)(rdpContext* context,
void* userdata);
39 FREERDP_API
int freerdp_channels_client_load(rdpChannels* channels, rdpSettings* settings,
40 PVIRTUALCHANNELENTRY entry,
void* data);
41 FREERDP_API
int freerdp_channels_client_load_ex(rdpChannels* channels, rdpSettings* settings,
42 PVIRTUALCHANNELENTRYEX entryEx,
void* data);
43 FREERDP_API
int freerdp_channels_load_plugin(rdpChannels* channels, rdpSettings* settings,
44 const char* name,
void* data);
45 #if defined(WITH_FREERDP_DEPRECATED)
46 FREERDP_API WINPR_DEPRECATED_VAR(
47 "Use freerdp_channels_get_event_handle",
48 BOOL freerdp_channels_get_fds(rdpChannels* channels, freerdp* instance,
void** read_fds,
49 int* read_count,
void** write_fds,
int* write_count));
51 FREERDP_API BOOL freerdp_channels_check_fds(rdpChannels* channels, freerdp* instance);
53 FREERDP_API
void* freerdp_channels_get_static_channel_interface(rdpChannels* channels,
76 FREERDP_API BOOL freerdp_client_channel_register(rdpChannels* channels, HANDLE handle,
77 freerdp_channel_handle_fkt_t fkt,
88 FREERDP_API BOOL freerdp_client_channel_unregister(rdpChannels* channels, HANDLE handle);
90 FREERDP_API HANDLE freerdp_channels_get_event_handle(freerdp* instance);
91 FREERDP_API
int freerdp_channels_process_pending_messages(freerdp* instance);
93 FREERDP_API BOOL freerdp_channels_data(freerdp* instance, UINT16 channelId,
const BYTE* data,
94 size_t dataSize, UINT32 flags,
size_t totalSize);
96 FREERDP_API UINT16 freerdp_channels_get_id_by_name(freerdp* instance,
const char* channel_name);
97 FREERDP_API
const char* freerdp_channels_get_name_by_id(freerdp* instance, UINT16 channelId);