[1] | 1 | /** @file
|
---|
[21217] | 2 | * Virtual Device for Guest <-> VMM/Host communication (ADD,DEV).
|
---|
[1] | 3 | */
|
---|
| 4 |
|
---|
| 5 | /*
|
---|
[8155] | 6 | * Copyright (C) 2006-2007 Sun Microsystems, Inc.
|
---|
[1] | 7 | *
|
---|
| 8 | * This file is part of VirtualBox Open Source Edition (OSE), as
|
---|
| 9 | * available from http://www.virtualbox.org. This file is free software;
|
---|
| 10 | * you can redistribute it and/or modify it under the terms of the GNU
|
---|
[5999] | 11 | * General Public License (GPL) as published by the Free Software
|
---|
| 12 | * Foundation, in version 2 as it comes in the "COPYING" file of the
|
---|
| 13 | * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
|
---|
| 14 | * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
|
---|
| 15 | *
|
---|
| 16 | * The contents of this file may alternatively be used under the terms
|
---|
| 17 | * of the Common Development and Distribution License Version 1.0
|
---|
| 18 | * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
|
---|
| 19 | * VirtualBox OSE distribution, in which case the provisions of the
|
---|
| 20 | * CDDL are applicable instead of those of the GPL.
|
---|
| 21 | *
|
---|
| 22 | * You may elect to license modified versions of this file under the
|
---|
| 23 | * terms and conditions of either the GPL or the CDDL or both.
|
---|
[8155] | 24 | *
|
---|
| 25 | * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
|
---|
| 26 | * Clara, CA 95054 USA or visit http://www.sun.com if you need
|
---|
| 27 | * additional information or have any questions.
|
---|
[1] | 28 | */
|
---|
| 29 |
|
---|
[3632] | 30 | #ifndef ___VBox_VBoxDev_h
|
---|
| 31 | #define ___VBox_VBoxDev_h
|
---|
[1] | 32 |
|
---|
| 33 | #include <VBox/cdefs.h>
|
---|
| 34 |
|
---|
[20374] | 35 | RT_C_DECLS_BEGIN
|
---|
[1] | 36 |
|
---|
| 37 | /** Mouse capability bits
|
---|
| 38 | * @{ */
|
---|
| 39 | /** the guest requests absolute mouse coordinates (guest additions installed) */
|
---|
[5605] | 40 | #define VMMDEV_MOUSEGUESTWANTSABS RT_BIT(0)
|
---|
[1] | 41 | /** the host wants to send absolute mouse coordinates (input not captured) */
|
---|
[5605] | 42 | #define VMMDEV_MOUSEHOSTWANTSABS RT_BIT(1)
|
---|
[1] | 43 | /** the guest needs a hardware cursor on host. When guest additions are installed
|
---|
| 44 | * and the host has promised to display the cursor itself, the guest installs a
|
---|
| 45 | * hardware mouse driver. Don't ask the guest to switch to a software cursor then. */
|
---|
[5605] | 46 | #define VMMDEV_MOUSEGUESTNEEDSHOSTCUR RT_BIT(2)
|
---|
[1] | 47 | /** the host is NOT able to draw the cursor itself (e.g. L4 console) */
|
---|
[5605] | 48 | #define VMMDEV_MOUSEHOSTCANNOTHWPOINTER RT_BIT(3)
|
---|
[19654] | 49 | /** The guest can read VMMDev events to find out about pointer movement */
|
---|
| 50 | #define VMMDEV_MOUSEGUESTUSESVMMDEV RT_BIT(4)
|
---|
[1] | 51 | /** @} */
|
---|
| 52 |
|
---|
| 53 | /** Flags for pfnSetCredentials
|
---|
| 54 | * @{ */
|
---|
| 55 | /** the guest should perform a logon with the credentials */
|
---|
[5605] | 56 | #define VMMDEV_SETCREDENTIALS_GUESTLOGON RT_BIT(0)
|
---|
[1] | 57 | /** the guest should prevent local logons */
|
---|
[5605] | 58 | #define VMMDEV_SETCREDENTIALS_NOLOCALLOGON RT_BIT(1)
|
---|
[1] | 59 | /** the guest should verify the credentials */
|
---|
[5605] | 60 | #define VMMDEV_SETCREDENTIALS_JUDGE RT_BIT(15)
|
---|
[1] | 61 | /** @} */
|
---|
| 62 |
|
---|
[3582] | 63 | /** Guest capability bits
|
---|
| 64 | * @{ */
|
---|
| 65 | /** the guest supports seamless display rendering */
|
---|
[5605] | 66 | #define VMMDEV_GUEST_SUPPORTS_SEAMLESS RT_BIT(0)
|
---|
[3582] | 67 | /** the guest supports mapping guest to host windows */
|
---|
[5605] | 68 | #define VMMDEV_GUEST_SUPPORTS_GUEST_HOST_WINDOW_MAPPING RT_BIT(1)
|
---|
[7425] | 69 | /** the guest graphical additions are active - used for fast activation
|
---|
| 70 | * and deactivation of certain graphical operations (e.g. resizing & seamless).
|
---|
| 71 | * The legacy VMMDevReq_ReportGuestCapabilities request sets this
|
---|
| 72 | * automatically, but VMMDevReq_SetGuestCapabilities does not. */
|
---|
[7409] | 73 | #define VMMDEV_GUEST_SUPPORTS_GRAPHICS RT_BIT(2)
|
---|
[3582] | 74 | /** @} */
|
---|
| 75 |
|
---|
[1] | 76 | /** Size of VMMDev RAM region accessible by guest.
|
---|
| 77 | * Must be big enough to contain VMMDevMemory structure (see VBoxGuest.h)
|
---|
| 78 | * For now: 4 megabyte.
|
---|
| 79 | */
|
---|
| 80 | #define VMMDEV_RAM_SIZE (4 * 256 * PAGE_SIZE)
|
---|
| 81 |
|
---|
[12687] | 82 | /** Size of VMMDev heap region accessible by guest.
|
---|
[12742] | 83 | * (must be a power of two (pci range))
|
---|
[12687] | 84 | */
|
---|
[12742] | 85 | #define VMMDEV_HEAP_SIZE (4*PAGE_SIZE)
|
---|
[12687] | 86 |
|
---|
[20374] | 87 | RT_C_DECLS_END
|
---|
[1] | 88 |
|
---|
[3633] | 89 | #endif
|
---|