VBoxClipboard.h revision 929fb9ebb388276d4f0e544ab804c076669f5bdd
248c89033c87fed7229aa29bbbc4f4698fb13687vboxsync * Shared Clipboard
248c89033c87fed7229aa29bbbc4f4698fb13687vboxsync * Copyright (C) 2006-2007 innotek GmbH
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * available from http://www.virtualbox.org. This file is free software;
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * you can redistribute it and/or modify it under the terms of the GNU
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * General Public License as published by the Free Software Foundation,
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * distribution. VirtualBox OSE is distributed in the hope that it will
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * be useful, but WITHOUT ANY WARRANTY of any kind.
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * If you received this file as part of a commercial VirtualBox
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * distribution, then only the terms of your commercial VirtualBox
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync * license agreement apply instead of the previous paragraph.
750df3fe104e01cadbc3d5bd20243055d283d4e5vboxsync/** Constants needed for string conversions done by the Linux clipboard code. */
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync /** In Linux, lines end with a linefeed character. */
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync /** In Windows, lines end with a carriage return and a linefeed character. */
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync /** Little endian "real" Utf16 strings start with this marker. */
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsync /** Big endian "real" Utf16 strings start with this marker. */
c10a6f0c7041e4d1ee50ad38425aab9d43c55522vboxsync /** The number of milliseconds before the clipboard times out. */
750df3fe104e01cadbc3d5bd20243055d283d4e5vboxsynctypedef struct _VBOXCLIPBOARDCONTEXT VBOXCLIPBOARDCONTEXT;
c89333d3e41e439ed9e74768000edc399d3e72e6vboxsync bool fAsync: 1; /* Guest is waiting for a message. */
750df3fe104e01cadbc3d5bd20243055d283d4e5vboxsync * The service functions. Locking is between the service thread and the platform dependedn windows thread.
750df3fe104e01cadbc3d5bd20243055d283d4e5vboxsyncvoid vboxSvcClipboardReportMsg (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Msg, uint32_t u32Formats);
750df3fe104e01cadbc3d5bd20243055d283d4e5vboxsync * Platform dependent functions.
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsyncint vboxClipboardConnect (VBOXCLIPBOARDCLIENTDATA *pClient);
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsyncvoid vboxClipboardDisconnect (VBOXCLIPBOARDCLIENTDATA *pClient);
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsyncvoid vboxClipboardFormatAnnounce (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Formats);
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsyncint vboxClipboardReadData (VBOXCLIPBOARDCLIENTDATA *pClient, uint32_t u32Format, void *pv, uint32_t cb, uint32_t *pcbActual);
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsyncvoid vboxClipboardWriteData (VBOXCLIPBOARDCLIENTDATA *pClient, void *pv, uint32_t cb, uint32_t u32Format);
553a2f0d8ef91a6dad8de4eef206ff093af53a5dvboxsyncint vboxClipboardSync (VBOXCLIPBOARDCLIENTDATA *pClient);
ffb50166c9adb4ae583b914d405197035cf890advboxsync#endif /* __VBOXCLIPBOARD__H */