#include <freerdp/api.h>
#include <freerdp/types.h>
+#include <winpr/shell.h>
+
#define CLIPRDR_SVC_CHANNEL_NAME "cliprdr"
/**
};
typedef struct _CLIPRDR_MFPICT CLIPRDR_MFPICT;
-struct _CLIPRDR_FILEDESCRIPTOR
-{
- DWORD dwFlags;
- BYTE clsid[16];
- BYTE sizel[8];
- BYTE pointl[8];
- DWORD dwFileAttributes;
- FILETIME ftCreationTime;
- FILETIME ftLastAccessTime;
- FILETIME ftLastWriteTime;
- DWORD nFileSizeHigh;
- DWORD nFileSizeLow;
- union
- {
- WCHAR w[260];
- CHAR c[520];
- } cFileName;
-};
-typedef struct _CLIPRDR_FILEDESCRIPTOR CLIPRDR_FILEDESCRIPTOR;
-
-struct _CLIPRDR_FILELIST
-{
- UINT32 cItems;
- CLIPRDR_FILEDESCRIPTOR* fileDescriptorArray;
-};
-typedef struct _CLIPRDR_FILELIST CLIPRDR_FILELIST;
-
/* Clipboard Messages */
#define DEFINE_CLIPRDR_HEADER_COMMON() \
#ifndef _WIN32
+/* Shell clipboard formats */
+
+struct _FILEDESCRIPTOR {
+ DWORD dwFlags;
+ BYTE clsid[16];
+ BYTE sizel[8];
+ BYTE pointl[8];
+ DWORD dwFileAttributes;
+ FILETIME ftCreationTime;
+ FILETIME ftLastAccessTime;
+ FILETIME ftLastWriteTime;
+ DWORD nFileSizeHigh;
+ DWORD nFileSizeLow;
+ WCHAR fileName[260];
+};
+typedef struct _FILEDESCRIPTOR FILEDESCRIPTOR;
+
+/* FILEDESCRIPTOR.dwFlags */
+#define FD_ATTRIBUTES 0x00000004
+#define FD_FILESIZE 0x00000040
+#define FD_WRITESTIME 0x00000020
+#define FD_SHOWPROGRESSUI 0x00004000
+
+/* FILEDESCRIPTOR.dwFileAttributes */
+#define FILE_ATTRIBUTE_READONLY 0x00000001
+#define FILE_ATTRIBUTE_HIDDEN 0x00000002
+#define FILE_ATTRIBUTE_SYSTEM 0x00000004
+#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
+#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
+#define FILE_ATTRIBUTE_NORMAL 0x00000080
+
#ifdef __cplusplus
extern "C" {
#endif