20#ifndef FREERDP_CHANNEL_CLIPRDR_H
21#define FREERDP_CHANNEL_CLIPRDR_H
23#include <freerdp/api.h>
24#include <freerdp/types.h>
25#include <freerdp/utils/cliprdr_utils.h>
27#include <winpr/shell.h>
33#define CLIPRDR_CHANNEL_NAME "cliprdr"
34#define CLIPRDR_SVC_CHANNEL_NAME "cliprdr"
39 CB_TYPE_NONE = 0x0000,
40 CB_MONITOR_READY = 0x0001,
41 CB_FORMAT_LIST = 0x0002,
42 CB_FORMAT_LIST_RESPONSE = 0x0003,
43 CB_FORMAT_DATA_REQUEST = 0x0004,
44 CB_FORMAT_DATA_RESPONSE = 0x0005,
45 CB_TEMP_DIRECTORY = 0x0006,
46 CB_CLIP_CAPS = 0x0007,
47 CB_FILECONTENTS_REQUEST = 0x0008,
48 CB_FILECONTENTS_RESPONSE = 0x0009,
49 CB_LOCK_CLIPDATA = 0x000A,
50 CB_UNLOCK_CLIPDATA = 0x000B
54#define CB_RESPONSE_OK 0x0001
55#define CB_RESPONSE_FAIL 0x0002
56#define CB_ASCII_NAMES 0x0004
59#define CB_CAPSTYPE_GENERAL 0x0001
62#define CB_CAPSTYPE_GENERAL_LEN 12
65#define CB_CAPS_VERSION_1 0x00000001
66#define CB_CAPS_VERSION_2 0x00000002
69#define CB_USE_LONG_FORMAT_NAMES 0x00000002
70#define CB_STREAM_FILECLIP_ENABLED 0x00000004
71#define CB_FILECLIP_NO_FILE_PATHS 0x00000008
72#define CB_CAN_LOCK_CLIPDATA 0x00000010
73#define CB_HUGE_FILE_SUPPORT_ENABLED 0x00000020
76#define FILECONTENTS_SIZE 0x00000001
77#define FILECONTENTS_RANGE 0x00000002
106 UINT16 capabilitySetType;
107 UINT16 capabilitySetLength;
112 UINT16 capabilitySetType;
113 UINT16 capabilitySetLength;
123 UINT32 cCapabilitiesSets;
176 UINT32 requestedFormatId;
183 const BYTE* requestedFormatData;
194 UINT32 nPositionHigh;
206 const BYTE* requestedData;