FreeRDP
Loading...
Searching...
No Matches
client/cliprdr.h
1
22#ifndef FREERDP_CHANNEL_CLIPRDR_CLIENT_CLIPRDR_H
23#define FREERDP_CHANNEL_CLIPRDR_CLIENT_CLIPRDR_H
24
25#include <freerdp/api.h>
26#include <freerdp/types.h>
27
28#include <freerdp/message.h>
29#include <freerdp/channels/cliprdr.h>
30
31#ifdef __cplusplus
32extern "C"
33{
34#endif
35
40 typedef struct s_cliprdr_client_context CliprdrClientContext;
41
42 typedef UINT (*pcCliprdrServerCapabilities)(CliprdrClientContext* context,
43 const CLIPRDR_CAPABILITIES* capabilities);
44 typedef UINT (*pcCliprdrClientCapabilities)(CliprdrClientContext* context,
45 const CLIPRDR_CAPABILITIES* capabilities);
46 typedef UINT (*pcCliprdrMonitorReady)(CliprdrClientContext* context,
47 const CLIPRDR_MONITOR_READY* monitorReady);
48 typedef UINT (*pcCliprdrTempDirectory)(CliprdrClientContext* context,
49 const CLIPRDR_TEMP_DIRECTORY* tempDirectory);
50 typedef UINT (*pcCliprdrClientFormatList)(CliprdrClientContext* context,
51 const CLIPRDR_FORMAT_LIST* formatList);
52 typedef UINT (*pcCliprdrServerFormatList)(CliprdrClientContext* context,
53 const CLIPRDR_FORMAT_LIST* formatList);
54 typedef UINT (*pcCliprdrClientFormatListResponse)(
55 CliprdrClientContext* context, const CLIPRDR_FORMAT_LIST_RESPONSE* formatListResponse);
56 typedef UINT (*pcCliprdrServerFormatListResponse)(
57 CliprdrClientContext* context, const CLIPRDR_FORMAT_LIST_RESPONSE* formatListResponse);
58 typedef UINT (*pcCliprdrClientLockClipboardData)(
59 CliprdrClientContext* context, const CLIPRDR_LOCK_CLIPBOARD_DATA* lockClipboardData);
60 typedef UINT (*pcCliprdrServerLockClipboardData)(
61 CliprdrClientContext* context, const CLIPRDR_LOCK_CLIPBOARD_DATA* lockClipboardData);
62 typedef UINT (*pcCliprdrClientUnlockClipboardData)(
63 CliprdrClientContext* context, const CLIPRDR_UNLOCK_CLIPBOARD_DATA* unlockClipboardData);
64 typedef UINT (*pcCliprdrServerUnlockClipboardData)(
65 CliprdrClientContext* context, const CLIPRDR_UNLOCK_CLIPBOARD_DATA* unlockClipboardData);
66 typedef UINT (*pcCliprdrClientFormatDataRequest)(
67 CliprdrClientContext* context, const CLIPRDR_FORMAT_DATA_REQUEST* formatDataRequest);
68 typedef UINT (*pcCliprdrServerFormatDataRequest)(
69 CliprdrClientContext* context, const CLIPRDR_FORMAT_DATA_REQUEST* formatDataRequest);
70 typedef UINT (*pcCliprdrClientFormatDataResponse)(
71 CliprdrClientContext* context, const CLIPRDR_FORMAT_DATA_RESPONSE* formatDataResponse);
72 typedef UINT (*pcCliprdrServerFormatDataResponse)(
73 CliprdrClientContext* context, const CLIPRDR_FORMAT_DATA_RESPONSE* formatDataResponse);
74 typedef UINT (*pcCliprdrClientFileContentsRequest)(
75 CliprdrClientContext* context, const CLIPRDR_FILE_CONTENTS_REQUEST* fileContentsRequest);
76 typedef UINT (*pcCliprdrServerFileContentsRequest)(
77 CliprdrClientContext* context, const CLIPRDR_FILE_CONTENTS_REQUEST* fileContentsRequest);
78 typedef UINT (*pcCliprdrClientFileContentsResponse)(
79 CliprdrClientContext* context, const CLIPRDR_FILE_CONTENTS_RESPONSE* fileContentsResponse);
80 typedef UINT (*pcCliprdrServerFileContentsResponse)(
81 CliprdrClientContext* context, const CLIPRDR_FILE_CONTENTS_RESPONSE* fileContentsResponse);
82
84 {
85 void* handle;
86 void* custom;
87
88 pcCliprdrServerCapabilities ServerCapabilities;
89 pcCliprdrClientCapabilities ClientCapabilities;
90 pcCliprdrMonitorReady MonitorReady;
91 pcCliprdrTempDirectory TempDirectory;
92 pcCliprdrClientFormatList ClientFormatList;
93 pcCliprdrServerFormatList ServerFormatList;
94 pcCliprdrClientFormatListResponse ClientFormatListResponse;
95 pcCliprdrServerFormatListResponse ServerFormatListResponse;
96 pcCliprdrClientLockClipboardData ClientLockClipboardData;
97 pcCliprdrServerLockClipboardData ServerLockClipboardData;
98 pcCliprdrClientUnlockClipboardData ClientUnlockClipboardData;
99 pcCliprdrServerUnlockClipboardData ServerUnlockClipboardData;
100 pcCliprdrClientFormatDataRequest ClientFormatDataRequest;
101 pcCliprdrServerFormatDataRequest ServerFormatDataRequest;
102 pcCliprdrClientFormatDataResponse ClientFormatDataResponse;
103 pcCliprdrServerFormatDataResponse ServerFormatDataResponse;
104 pcCliprdrClientFileContentsRequest ClientFileContentsRequest;
105 pcCliprdrServerFileContentsRequest ServerFileContentsRequest;
106 pcCliprdrClientFileContentsResponse ClientFileContentsResponse;
107 pcCliprdrServerFileContentsResponse ServerFileContentsResponse;
108
109 UINT32 lastRequestedFormatId;
110 rdpContext* rdpcontext;
111 };
112
113 typedef struct
114 {
115 UINT32 id;
116 char* name;
117 int length;
119
124 typedef struct
125 {
126 wMessage event;
127 UINT32 capabilities;
129
130 typedef struct
131 {
132 wMessage event;
133 UINT32 capabilities;
135
136 typedef struct
137 {
138 wMessage event;
139 UINT32* formats;
140 UINT16 num_formats;
141 BYTE* raw_format_data;
142 UINT32 raw_format_data_size;
143 BOOL raw_format_unicode;
145
146 typedef struct
147 {
148 wMessage event;
149 UINT32 format;
151
152 typedef struct
153 {
154 wMessage event;
155 BYTE* data;
156 UINT32 size;
158
159 typedef struct
160 {
161 wMessage event;
162 UINT32 streamId;
163 UINT32 lindex;
164 UINT32 dwFlags;
165 UINT32 nPositionLow;
166 UINT32 nPositionHigh;
167 UINT32 cbRequested;
168 UINT32 clipDataId;
170
171 typedef struct
172 {
173 wMessage event;
174 BYTE* data;
175 UINT32 size;
176 UINT32 streamId;
178
179 typedef struct
180 {
181 wMessage event;
182 UINT32 clipDataId;
184
185 typedef struct
186 {
187 wMessage event;
188 UINT32 clipDataId;
190
191 typedef struct
192 {
193 wMessage event;
194 char dirname[520];
196
197#ifdef __cplusplus
198}
199#endif
200
201#endif /* FREERDP_CHANNEL_CLIPRDR_CLIENT_CLIPRDR_H */