channels.h (2637B)
1/** 2 * FreeRDP: A Remote Desktop Protocol Implementation 3 * Virtual Channel Manager 4 * 5 * Copyright 2009-2011 Jay Sorg 6 * Copyright 2010-2011 Vic Lee 7 * 8 * Licensed under the Apache License, Version 2.0 (the "License"); 9 * you may not use this file except in compliance with the License. 10 * You may obtain a copy of the License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 */ 20 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/freerdp.h> 30 31#ifdef __cplusplus 32extern "C" 33{ 34#endif 35 36 FREERDP_API int freerdp_channels_client_load(rdpChannels* channels, rdpSettings* settings, 37 PVIRTUALCHANNELENTRY entry, void* data); 38 FREERDP_API int freerdp_channels_client_load_ex(rdpChannels* channels, rdpSettings* settings, 39 PVIRTUALCHANNELENTRYEX entryEx, void* data); 40 FREERDP_API int freerdp_channels_load_plugin(rdpChannels* channels, rdpSettings* settings, 41 const char* name, void* data); 42 FREERDP_API BOOL freerdp_channels_get_fds(rdpChannels* channels, freerdp* instance, 43 void** read_fds, int* read_count, void** write_fds, 44 int* write_count); 45 FREERDP_API BOOL freerdp_channels_check_fds(rdpChannels* channels, freerdp* instance); 46 47 FREERDP_API void* freerdp_channels_get_static_channel_interface(rdpChannels* channels, 48 const char* name); 49 50 FREERDP_API HANDLE freerdp_channels_get_event_handle(freerdp* instance); 51 FREERDP_API int freerdp_channels_process_pending_messages(freerdp* instance); 52 53 FREERDP_API BOOL freerdp_channels_data(freerdp* instance, UINT16 channelId, const BYTE* data, 54 size_t dataSize, UINT32 flags, size_t totalSize); 55 56 FREERDP_API UINT16 freerdp_channels_get_id_by_name(freerdp* instance, const char* channel_name); 57 FREERDP_API const char* freerdp_channels_get_name_by_id(freerdp* instance, UINT16 channelId); 58 59 FREERDP_API PWtsApiFunctionTable FreeRDP_InitWtsApi(void); 60 61#ifdef __cplusplus 62} 63#endif 64 65#endif /* FREERDP_CHANNELS_H */