1 | /** @file
|
---|
2 | * Virtual Device for Guest <-> VMM/Host communication
|
---|
3 | */
|
---|
4 |
|
---|
5 | /*
|
---|
6 | * Copyright (C) 2006-2007 Sun Microsystems, Inc.
|
---|
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
|
---|
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.
|
---|
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.
|
---|
28 | */
|
---|
29 |
|
---|
30 | #ifndef ___VBox_VBoxDev_h
|
---|
31 | #define ___VBox_VBoxDev_h
|
---|
32 |
|
---|
33 | #include <VBox/cdefs.h>
|
---|
34 |
|
---|
35 | __BEGIN_DECLS
|
---|
36 |
|
---|
37 | /** Mouse capability bits
|
---|
38 | * @{ */
|
---|
39 | /** the guest requests absolute mouse coordinates (guest additions installed) */
|
---|
40 | #define VMMDEV_MOUSEGUESTWANTSABS RT_BIT(0)
|
---|
41 | /** the host wants to send absolute mouse coordinates (input not captured) */
|
---|
42 | #define VMMDEV_MOUSEHOSTWANTSABS RT_BIT(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. */
|
---|
46 | #define VMMDEV_MOUSEGUESTNEEDSHOSTCUR RT_BIT(2)
|
---|
47 | /** the host is NOT able to draw the cursor itself (e.g. L4 console) */
|
---|
48 | #define VMMDEV_MOUSEHOSTCANNOTHWPOINTER RT_BIT(3)
|
---|
49 | /** The guest can read VMMDev events to find out about pointer movement */
|
---|
50 | #define VMMDEV_MOUSEGUESTUSESVMMDEV RT_BIT(4)
|
---|
51 | /** @} */
|
---|
52 |
|
---|
53 | /** Flags for pfnSetCredentials
|
---|
54 | * @{ */
|
---|
55 | /** the guest should perform a logon with the credentials */
|
---|
56 | #define VMMDEV_SETCREDENTIALS_GUESTLOGON RT_BIT(0)
|
---|
57 | /** the guest should prevent local logons */
|
---|
58 | #define VMMDEV_SETCREDENTIALS_NOLOCALLOGON RT_BIT(1)
|
---|
59 | /** the guest should verify the credentials */
|
---|
60 | #define VMMDEV_SETCREDENTIALS_JUDGE RT_BIT(15)
|
---|
61 | /** @} */
|
---|
62 |
|
---|
63 | /** Guest capability bits
|
---|
64 | * @{ */
|
---|
65 | /** the guest supports seamless display rendering */
|
---|
66 | #define VMMDEV_GUEST_SUPPORTS_SEAMLESS RT_BIT(0)
|
---|
67 | /** the guest supports mapping guest to host windows */
|
---|
68 | #define VMMDEV_GUEST_SUPPORTS_GUEST_HOST_WINDOW_MAPPING RT_BIT(1)
|
---|
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. */
|
---|
73 | #define VMMDEV_GUEST_SUPPORTS_GRAPHICS RT_BIT(2)
|
---|
74 | /** @} */
|
---|
75 |
|
---|
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 |
|
---|
82 | /** Size of VMMDev heap region accessible by guest.
|
---|
83 | * (must be a power of two (pci range))
|
---|
84 | */
|
---|
85 | #define VMMDEV_HEAP_SIZE (4*PAGE_SIZE)
|
---|
86 |
|
---|
87 | __END_DECLS
|
---|
88 |
|
---|
89 | #endif
|
---|