FreeRDP
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
32 extern "C"
33 {
34 #endif
35 
37  typedef BOOL (*freerdp_channel_handle_fkt_t)(rdpContext* context, void* userdata);
38 
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));
50 #endif
51  FREERDP_API BOOL freerdp_channels_check_fds(rdpChannels* channels, freerdp* instance);
52 
53  FREERDP_API void* freerdp_channels_get_static_channel_interface(rdpChannels* channels,
54  const char* name);
55 
76  FREERDP_API BOOL freerdp_client_channel_register(rdpChannels* channels, HANDLE handle,
77  freerdp_channel_handle_fkt_t fkt,
78  void* userdata);
79 
88  FREERDP_API BOOL freerdp_client_channel_unregister(rdpChannels* channels, HANDLE handle);
89 
90  FREERDP_API HANDLE freerdp_channels_get_event_handle(freerdp* instance);
91  FREERDP_API int freerdp_channels_process_pending_messages(freerdp* instance);
92 
93  FREERDP_API BOOL freerdp_channels_data(freerdp* instance, UINT16 channelId, const BYTE* data,
94  size_t dataSize, UINT32 flags, size_t totalSize);
95 
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);
98 
99  FREERDP_API const WtsApiFunctionTable* FreeRDP_InitWtsApi(void);
100 
101 #ifdef __cplusplus
102 }
103 #endif
104 
105 #endif /* FREERDP_CHANNELS_H */