FreeRDP
cliprdr_format.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 CLIPRDR_FILEDESCRIPTOR_SIZE   (4 + 32 + 4 + 16 + 8 + 8 + 520)
 
#define CLIPRDR_MAX_FILE_SIZE   (2U * 1024 * 1024 * 1024)
 

Functions

UINT cliprdr_process_format_list (cliprdrPlugin *cliprdr, wStream *s, UINT32 dataLen, UINT16 msgFlags)
 
UINT cliprdr_process_format_list_response (cliprdrPlugin *cliprdr, wStream *s, UINT32 dataLen, UINT16 msgFlags)
 
UINT cliprdr_process_format_data_request (cliprdrPlugin *cliprdr, wStream *s, UINT32 dataLen, UINT16 msgFlags)
 
UINT cliprdr_process_format_data_response (cliprdrPlugin *cliprdr, wStream *s, UINT32 dataLen, UINT16 msgFlags)
 
static UINT64 filetime_to_uint64 (FILETIME value)
 
static FILETIME uint64_to_filetime (UINT64 value)
 
UINT cliprdr_parse_file_list (const BYTE *format_data, UINT32 format_data_length, FILEDESCRIPTOR **file_descriptor_array, UINT32 *file_descriptor_count)
 
UINT cliprdr_serialize_file_list (const FILEDESCRIPTOR *file_descriptor_array, UINT32 file_descriptor_count, BYTE **format_data, UINT32 *format_data_length)
 

Macro Definition Documentation

#define CLIPRDR_FILEDESCRIPTOR_SIZE   (4 + 32 + 4 + 16 + 8 + 8 + 520)
#define CLIPRDR_MAX_FILE_SIZE   (2U * 1024 * 1024 * 1024)

Function Documentation

UINT cliprdr_parse_file_list ( const BYTE format_data,
UINT32  format_data_length,
FILEDESCRIPTOR **  file_descriptor_array,
UINT32 file_descriptor_count 
)

Parse a packed file list.

The resulting array must be freed with the free() function.

Parameters
[in]format_datapacked CLIPRDR_FILELIST to parse.
[in]format_data_lengthlength of format_data in bytes.
[out]file_descriptor_arrayparsed array of FILEDESCRIPTOR structs.
[out]file_descriptor_countnumber of elements in file_descriptor_array.
Returns
0 on success, otherwise a Win32 error code.

Here is the call graph for this function:

UINT cliprdr_process_format_data_request ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  dataLen,
UINT16  msgFlags 
)

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:

UINT cliprdr_process_format_data_response ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  dataLen,
UINT16  msgFlags 
)

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:

UINT cliprdr_process_format_list ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  dataLen,
UINT16  msgFlags 
)

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. 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:

UINT cliprdr_process_format_list_response ( cliprdrPlugin *  cliprdr,
wStream *  s,
UINT32  dataLen,
UINT16  msgFlags 
)

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:

UINT cliprdr_serialize_file_list ( const FILEDESCRIPTOR *  file_descriptor_array,
UINT32  file_descriptor_count,
BYTE **  format_data,
UINT32 format_data_length 
)

Serialize a packed file list.

The resulting format data must be freed with the free() function.

Parameters
[in]file_descriptor_arrayarray of FILEDESCRIPTOR structs to serialize.
[in]file_descriptor_countnumber of elements in file_descriptor_array.
[out]format_dataserialized CLIPRDR_FILELIST.
[out]format_data_lengthlength of format_data in bytes.
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 UINT64 filetime_to_uint64 ( FILETIME  value)
static

Here is the caller graph for this function:

static FILETIME uint64_to_filetime ( UINT64  value)
static

Here is the caller graph for this function: