Use a per-thread buffer and write(2) for debug traces.
[wine] / include / clipboard.h
1 #ifndef __WINE_CLIPBOARD_H
2 #define __WINE_CLIPBOARD_H
3
4 #include "windef.h"
5
6 struct tagWND;
7
8 typedef struct tagWINE_CLIPFORMAT {
9     WORD        wFormatID;
10     WORD        wRefCount;
11     WORD        wDataPresent;
12     LPSTR       Name;
13     HANDLE16    hData16;
14     HANDLE      hDataSrc32;
15     HANDLE      hData32;
16     ULONG       drvData;
17     struct tagWINE_CLIPFORMAT *PrevFormat;
18     struct tagWINE_CLIPFORMAT *NextFormat;
19 } WINE_CLIPFORMAT, *LPWINE_CLIPFORMAT;
20
21 typedef struct tagCLIPBOARD_DRIVER
22 {
23     void (*pAcquire)(void);                     /* Acquire selection */
24     void (*pRelease)(void);                     /* Release selection */
25     void (*pSetData)(UINT);                     /* Set specified selection data */
26     BOOL (*pGetData)(UINT);                     /* Get specified selection data */
27     BOOL (*pIsFormatAvailable)(UINT);           /* Check if specified format is available */
28     BOOL (*pRegisterFormat)(LPCSTR);            /* Register a clipboard format */
29     BOOL (*pIsSelectionOwner)(void);            /* Check if we own the selection */
30     void (*pResetOwner)(struct tagWND *, BOOL);
31 } CLIPBOARD_DRIVER;
32
33 extern CLIPBOARD_DRIVER *CLIPBOARD_Driver;
34
35 extern LPWINE_CLIPFORMAT CLIPBOARD_LookupFormat( WORD wID );
36 extern BOOL CLIPBOARD_IsCacheRendered();
37 extern void CLIPBOARD_DeleteRecord(LPWINE_CLIPFORMAT lpFormat, BOOL bChange);
38 extern void CLIPBOARD_EmptyCache( BOOL bChange );
39 extern BOOL CLIPBOARD_IsPresent(WORD wFormat);
40 extern char * CLIPBOARD_GetFormatName(UINT wFormat);
41 extern void CLIPBOARD_ReleaseOwner();
42
43
44 #endif /* __WINE_CLIPBOARD_H */