VBoxClipboard.h revision a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fc
5b281ba489ca18f0380d7efc7a5108b606cce449vboxsync * Shared Clipboard
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * Copyright (C) 2006-2007 innotek GmbH
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync * available from http://www.virtualbox.org. This file is free software;
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync * you can redistribute it and/or modify it under the terms of the GNU
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync * General Public License (GPL) as published by the Free Software
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync/** Constants needed for string conversions done by the Linux clipboard code. */
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync /** In Linux, lines end with a linefeed character. */
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync /** In Windows, lines end with a carriage return and a linefeed character. */
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync /** Little endian "real" Utf16 strings start with this marker. */
3aad980b92149dd95a1ab72ddb8d11d61a28ace6vboxsync /** Big endian "real" Utf16 strings start with this marker. */
0a7b20727716a00270f358a1c546473d8c36e8f3vboxsync /** The number of milliseconds before the clipboard times out. */
0a7b20727716a00270f358a1c546473d8c36e8f3vboxsynctypedef struct _VBOXCLIPBOARDCONTEXT VBOXCLIPBOARDCONTEXT;
8e342a5c34610667d2b554cb86f1dc2f38a5313cvboxsync bool fAsync: 1; /* Guest is waiting for a message. */
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync * The service functions. Locking is between the service thread and the platform dependedn windows thread.
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsyncvoid vboxSvcClipboardReportMsg (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Msg, uint32_t u32Formats);
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync * Platform dependent functions.
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsyncint vboxClipboardConnect (VBOXCLIPBOARDCLIENTDATA *pClient);
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsyncvoid vboxClipboardDisconnect (VBOXCLIPBOARDCLIENTDATA *pClient);
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsyncvoid vboxClipboardFormatAnnounce (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Formats);
8e342a5c34610667d2b554cb86f1dc2f38a5313cvboxsyncint vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format, void *pv, uint32_t cb, uint32_t *pcbActual);
8e342a5c34610667d2b554cb86f1dc2f38a5313cvboxsyncvoid vboxClipboardWriteData (VBOXCLIPBOARDCLIENTDATA *pClient, void *pv, uint32_t cb, uint32_t u32Format);
8e342a5c34610667d2b554cb86f1dc2f38a5313cvboxsyncint vboxClipboardSync (VBOXCLIPBOARDCLIENTDATA *pClient);
9e5c26690d45216629b5f588aced8fcfb68c23b6vboxsync#endif /* __VBOXCLIPBOARD__H */