VirtualBox

source: vbox/trunk/include/VBox/VMMDev.h@ 21219

Last change on this file since 21219 was 21219, checked in by vboxsync, 16 years ago

VBox/VBoxDev.h -> VBox/VMMDev.h

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.9 KB
Line 
1/** @file
2 * Virtual Device for Guest <-> VMM/Host communication (ADD,DEV).
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_VMMDev_h
31#define ___VBox_VMMDev_h
32
33#include <VBox/cdefs.h>
34
35RT_C_DECLS_BEGIN
36
37/** @defgroup grp_vmmdev VMM Device
38 *
39 * Note! This interface cannot be changed, it can only be extended!
40 *
41 * @{
42 */
43
44/** Mouse capability bits
45 * @{ */
46/** the guest requests absolute mouse coordinates (guest additions installed) */
47#define VMMDEV_MOUSEGUESTWANTSABS RT_BIT(0)
48/** the host wants to send absolute mouse coordinates (input not captured) */
49#define VMMDEV_MOUSEHOSTWANTSABS RT_BIT(1)
50/** the guest needs a hardware cursor on host. When guest additions are installed
51 * and the host has promised to display the cursor itself, the guest installs a
52 * hardware mouse driver. Don't ask the guest to switch to a software cursor then. */
53#define VMMDEV_MOUSEGUESTNEEDSHOSTCUR RT_BIT(2)
54/** the host is NOT able to draw the cursor itself (e.g. L4 console) */
55#define VMMDEV_MOUSEHOSTCANNOTHWPOINTER RT_BIT(3)
56/** The guest can read VMMDev events to find out about pointer movement */
57#define VMMDEV_MOUSEGUESTUSESVMMDEV RT_BIT(4)
58/** @} */
59
60/** Flags for pfnSetCredentials
61 * @{ */
62/** the guest should perform a logon with the credentials */
63#define VMMDEV_SETCREDENTIALS_GUESTLOGON RT_BIT(0)
64/** the guest should prevent local logons */
65#define VMMDEV_SETCREDENTIALS_NOLOCALLOGON RT_BIT(1)
66/** the guest should verify the credentials */
67#define VMMDEV_SETCREDENTIALS_JUDGE RT_BIT(15)
68/** @} */
69
70/** Guest capability bits
71 * @{ */
72/** the guest supports seamless display rendering */
73#define VMMDEV_GUEST_SUPPORTS_SEAMLESS RT_BIT(0)
74/** the guest supports mapping guest to host windows */
75#define VMMDEV_GUEST_SUPPORTS_GUEST_HOST_WINDOW_MAPPING RT_BIT(1)
76/** the guest graphical additions are active - used for fast activation
77 * and deactivation of certain graphical operations (e.g. resizing & seamless).
78 * The legacy VMMDevReq_ReportGuestCapabilities request sets this
79 * automatically, but VMMDevReq_SetGuestCapabilities does not. */
80#define VMMDEV_GUEST_SUPPORTS_GRAPHICS RT_BIT(2)
81/** @} */
82
83/** Size of VMMDev RAM region accessible by guest.
84 * Must be big enough to contain VMMDevMemory structure (see VBoxGuest.h)
85 * For now: 4 megabyte.
86 */
87#define VMMDEV_RAM_SIZE (4 * 256 * PAGE_SIZE)
88
89/** Size of VMMDev heap region accessible by guest.
90 * (Must be a power of two (pci range).)
91 */
92#define VMMDEV_HEAP_SIZE (4 * PAGE_SIZE)
93
94/** @} */
95RT_C_DECLS_END
96
97#endif
98
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette