FreeRDP
client/cliprdr_main.c File Reference
#include <winpr/crt.h>
#include <winpr/print.h>
#include <freerdp/types.h>
#include <freerdp/constants.h>
#include <freerdp/client/cliprdr.h>
#include "cliprdr_main.h"
#include "cliprdr_format.h"

Macros

#define VirtualChannelEntryEx   cliprdr_VirtualChannelEntryEx
 

Functions

CliprdrClientContext * cliprdr_get_client_interface (cliprdrPlugin *cliprdr)
 
static wStream * cliprdr_packet_new (UINT16 msgType, UINT16 msgFlags, UINT32 dataLen)
 
static UINT cliprdr_packet_send (cliprdrPlugin *cliprdr, wStream *s)
 
static UINT cliprdr_process_general_capability (cliprdrPlugin *cliprdr, wStream *s)
 
static UINT cliprdr_process_clip_caps (cliprdrPlugin *cliprdr, wStream *s, UINT32 length, UINT16 flags)
 
static UINT cliprdr_process_monitor_ready (cliprdrPlugin *cliprdr, wStream *s, UINT32 length, UINT16 flags)
 
static UINT cliprdr_process_filecontents_request (cliprdrPlugin *cliprdr, wStream *s, UINT32 length, UINT16 flags)
 
static UINT cliprdr_process_filecontents_response (cliprdrPlugin *cliprdr, wStream *s, UINT32 length, UINT16 flags)
 
static UINT cliprdr_process_lock_clipdata (cliprdrPlugin *cliprdr, wStream *s, UINT32 length, UINT16 flags)
 
static UINT cliprdr_process_unlock_clipdata (cliprdrPlugin *cliprdr, wStream *s, UINT32 length, UINT16 flags)
 
static UINT cliprdr_order_recv (cliprdrPlugin *cliprdr, wStream *s)
 
static UINT cliprdr_client_capabilities (CliprdrClientContext *context, CLIPRDR_CAPABILITIES *capabilities)
 
static UINT cliprdr_temp_directory (CliprdrClientContext *context, CLIPRDR_TEMP_DIRECTORY *tempDirectory)
 
static UINT cliprdr_client_format_list (CliprdrClientContext *context, CLIPRDR_FORMAT_LIST *formatList)
 
static UINT cliprdr_client_format_list_response (CliprdrClientContext *context, CLIPRDR_FORMAT_LIST_RESPONSE *formatListResponse)
 
static UINT cliprdr_client_lock_clipboard_data (CliprdrClientContext *context, CLIPRDR_LOCK_CLIPBOARD_DATA *lockClipboardData)
 
static UINT cliprdr_client_unlock_clipboard_data (CliprdrClientContext *context, CLIPRDR_UNLOCK_CLIPBOARD_DATA *unlockClipboardData)
 
static UINT cliprdr_client_format_data_request (CliprdrClientContext *context, CLIPRDR_FORMAT_DATA_REQUEST *formatDataRequest)
 
static UINT cliprdr_client_format_data_response (CliprdrClientContext *context, CLIPRDR_FORMAT_DATA_RESPONSE *formatDataResponse)
 
static UINT cliprdr_client_file_contents_request (CliprdrClientContext *context, CLIPRDR_FILE_CONTENTS_REQUEST *fileContentsRequest)
 
static UINT cliprdr_client_file_contents_response (CliprdrClientContext *context, CLIPRDR_FILE_CONTENTS_RESPONSE *fileContentsResponse)
 
static UINT cliprdr_virtual_channel_event_data_received (cliprdrPlugin *cliprdr, void *pData, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags)
 
static VOID VCAPITYPE cliprdr_virtual_channel_open_event_ex (LPVOID lpUserParam, DWORD openHandle, UINT event, LPVOID pData, UINT32 dataLength, UINT32 totalLength, UINT32 dataFlags)
 
static DWORD WINAPI cliprdr_virtual_channel_client_thread (LPVOID arg)
 
static void cliprdr_free_msg (void *obj)
 
static UINT cliprdr_virtual_channel_event_connected (cliprdrPlugin *cliprdr, LPVOID pData, UINT32 dataLength)
 
static UINT cliprdr_virtual_channel_event_disconnected (cliprdrPlugin *cliprdr)
 
static UINT cliprdr_virtual_channel_event_terminated (cliprdrPlugin *cliprdr)
 
static VOID VCAPITYPE cliprdr_virtual_channel_init_event_ex (LPVOID lpUserParam, LPVOID pInitHandle, UINT event, LPVOID pData, UINT dataLength)
 
BOOL VCAPITYPE VirtualChannelEntryEx (PCHANNEL_ENTRY_POINTS pEntryPoints, PVOID pInitHandle)
 

Macro Definition Documentation

#define VirtualChannelEntryEx   cliprdr_VirtualChannelEntryEx

Function Documentation

static UINT cliprdr_client_capabilities ( CliprdrClientContext *  context,
CLIPRDR_CAPABILITIES *  capabilities 
)
static

Callback Interface Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_client_file_contents_request ( CliprdrClientContext *  context,
CLIPRDR_FILE_CONTENTS_REQUEST *  fileContentsRequest 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_client_file_contents_response ( CliprdrClientContext *  context,
CLIPRDR_FILE_CONTENTS_RESPONSE *  fileContentsResponse 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

requestedFileContentsData: FILECONTENTS_SIZE: file size as UINT64 FILECONTENTS_RANGE: file data from requested range

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_client_format_data_request ( CliprdrClientContext *  context,
CLIPRDR_FORMAT_DATA_REQUEST *  formatDataRequest 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_client_format_data_response ( CliprdrClientContext *  context,
CLIPRDR_FORMAT_DATA_RESPONSE *  formatDataResponse 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_client_format_list ( CliprdrClientContext *  context,
CLIPRDR_FORMAT_LIST *  formatList 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_client_format_list_response ( CliprdrClientContext *  context,
CLIPRDR_FORMAT_LIST_RESPONSE *  formatListResponse 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_client_lock_clipboard_data ( CliprdrClientContext *  context,
CLIPRDR_LOCK_CLIPBOARD_DATA *  lockClipboardData 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_client_unlock_clipboard_data ( CliprdrClientContext *  context,
CLIPRDR_UNLOCK_CLIPBOARD_DATA *  unlockClipboardData 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static void cliprdr_free_msg ( void obj)
static

Here is the call graph for this function:

Here is the caller graph for this function:

CliprdrClientContext* cliprdr_get_client_interface ( cliprdrPlugin *  cliprdr)

FreeRDP: A Remote Desktop Protocol Implementation Clipboard Virtual Channel

Copyright 2009-2011 Jay Sorg Copyright 2010-2011 Vic Lee Copyright 2015 Thincast Technologies GmbH Copyright 2015 DI (FH) Martin Haimberger marti.nosp@m.n.ha.nosp@m.imber.nosp@m.ger@.nosp@m.thinc.nosp@m.ast..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Here is the caller graph for this function:

static UINT cliprdr_order_recv ( cliprdrPlugin *  cliprdr,
wStream *  s 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static wStream* cliprdr_packet_new ( UINT16  msgType,
UINT16  msgFlags,
UINT32  dataLen 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_packet_send ( cliprdrPlugin *  cliprdr,
wStream *  s 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_process_clip_caps ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  length,
UINT16  flags 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_process_filecontents_request ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  length,
UINT16  flags 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_process_filecontents_response ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  length,
UINT16  flags 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_process_general_capability ( cliprdrPlugin *  cliprdr,
wStream *  s 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_process_lock_clipdata ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  length,
UINT16  flags 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_process_monitor_ready ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  length,
UINT16  flags 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

The clipboard capabilities pdu from server to client is optional, but a server using it must send it before sending the monitor ready pdu. When the server capabilities pdu is not used, default capabilities corresponding to a generalFlags field set to zero are assumed.

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_process_unlock_clipdata ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  length,
UINT16  flags 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_temp_directory ( CliprdrClientContext *  context,
CLIPRDR_TEMP_DIRECTORY *  tempDirectory 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static DWORD WINAPI cliprdr_virtual_channel_client_thread ( LPVOID  arg)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_virtual_channel_event_connected ( cliprdrPlugin *  cliprdr,
LPVOID  pData,
UINT32  dataLength 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_virtual_channel_event_data_received ( cliprdrPlugin *  cliprdr,
void pData,
UINT32  dataLength,
UINT32  totalLength,
UINT32  dataFlags 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_virtual_channel_event_disconnected ( cliprdrPlugin *  cliprdr)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the call graph for this function:

Here is the caller graph for this function:

static UINT cliprdr_virtual_channel_event_terminated ( cliprdrPlugin *  cliprdr)
static

Function description

Returns
0 on success, otherwise a Win32 error code

Here is the caller graph for this function:

static VOID VCAPITYPE cliprdr_virtual_channel_init_event_ex ( LPVOID  lpUserParam,
LPVOID  pInitHandle,
UINT  event,
LPVOID  pData,
UINT  dataLength 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static VOID VCAPITYPE cliprdr_virtual_channel_open_event_ex ( LPVOID  lpUserParam,
DWORD  openHandle,
UINT  event,
LPVOID  pData,
UINT32  dataLength,
UINT32  totalLength,
UINT32  dataFlags 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL VCAPITYPE VirtualChannelEntryEx ( PCHANNEL_ENTRY_POINTS  pEntryPoints,
PVOID  pInitHandle 
)

Here is the call graph for this function: