VBoxDev.h revision 616637905fa2f00febb1acd553136d7e56316f7c
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** @file
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * Virtual Device for Guest <-> VMM/Host communication
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/*
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * Copyright (C) 2006-2007 innotek GmbH
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync *
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * available from http://www.virtualbox.org. This file is free software;
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * you can redistribute it and/or modify it under the terms of the GNU
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * General Public License as published by the Free Software Foundation,
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * distribution. VirtualBox OSE is distributed in the hope that it will
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * be useful, but WITHOUT ANY WARRANTY of any kind.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync *
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * If you received this file as part of a commercial VirtualBox
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * distribution, then only the terms of your commercial VirtualBox
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * license agreement apply instead of the previous paragraph.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#ifndef ___VBox_VBoxDev_h
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define ___VBox_VBoxDev_h
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#include <VBox/cdefs.h>
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync__BEGIN_DECLS
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** Mouse capability bits
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * @{ */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** the guest requests absolute mouse coordinates (guest additions installed) */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_MOUSEGUESTWANTSABS BIT(0)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** the host wants to send absolute mouse coordinates (input not captured) */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_MOUSEHOSTWANTSABS BIT(1)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** the guest needs a hardware cursor on host. When guest additions are installed
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * and the host has promised to display the cursor itself, the guest installs a
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * hardware mouse driver. Don't ask the guest to switch to a software cursor then. */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_MOUSEGUESTNEEDSHOSTCUR BIT(2)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** the host is NOT able to draw the cursor itself (e.g. L4 console) */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_MOUSEHOSTCANNOTHWPOINTER BIT(3)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** @} */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** Flags for pfnSetCredentials
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * @{ */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** the guest should perform a logon with the credentials */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_SETCREDENTIALS_GUESTLOGON BIT(0)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** the guest should prevent local logons */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_SETCREDENTIALS_NOLOCALLOGON BIT(1)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** the guest should verify the credentials */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_SETCREDENTIALS_JUDGE BIT(15)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** @} */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** Guest capability bits
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * @{ */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** the guest supports seamless display rendering */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_GUEST_SUPPORTS_SEAMLESS BIT(0)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** the guest supports mapping guest to host windows */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_GUEST_SUPPORTS_GUEST_HOST_WINDOW_MAPPING BIT(1)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** @} */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync/** Size of VMMDev RAM region accessible by guest.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * Must be big enough to contain VMMDevMemory structure (see VBoxGuest.h)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync * For now: 4 megabyte.
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#define VMMDEV_RAM_SIZE (4 * 256 * PAGE_SIZE)
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync__END_DECLS
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync#endif /* ___VBox_VBoxDev_h */
14ea49401f3c8c61422aefbda43809e275f60c6cvboxsync