~ubuntu-branches/ubuntu/raring/virtualbox-ose/raring

« back to all changes in this revision

Viewing changes to include/VBox/VMMDev2.h

  • Committer: Bazaar Package Importer
  • Author(s): Felix Geyer
  • Date: 2009-12-18 16:44:29 UTC
  • mfrom: (0.3.3 upstream) (0.4.6 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091218164429-jd34ccexpv5na11a
Tags: 3.1.2-dfsg-1ubuntu1
* Merge from Debian unstable (LP: #498219), remaining changes:
  - Disable update action
    - debian/patches/u01-disable-update-action.dpatch
  - VirtualBox should go in Accessories, not in System tools (LP: #288590)
    - debian/virtualbox-ose-qt.files/virtualbox-ose.desktop
  - Add Apport hook
    - debian/virtualbox-ose.files/source_virtualbox-ose.py
    - debian/virtualbox-ose.install
  - Add Launchpad integration
    - debian/control
    - debian/lpi-bug.xpm
    - debian/patches/u02-lp-integration.dpatch
* Fixes the following bugs:
  - Kernel module fails to build with Linux >= 2.6.32 (LP: #474625)
  - X.Org drivers need to be rebuilt against X-Server 1.7 (LP: #495935)
  - The *-source packages try to build the kernel modules even though the
    kernel headers aren't available (LP: #473334)
* Replace *-source packages with transitional packages for *-dkms.
* Adapt u01-disable-update-action.dpatch and u02-lp-integration.dpatch for
  new upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/** @file
 
2
 * Virtual Device for Guest <-> VMM/Host communication, Mixed Up Mess. (ADD,DEV)
 
3
 */
 
4
 
 
5
/*
 
6
 * Copyright (C) 2006-2009 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_VMMDev2_h
 
31
#define ___VBox_VMMDev2_h
 
32
 
 
33
#include <iprt/assert.h>
 
34
 
 
35
/**
 
36
 * Seamless mode.
 
37
 *
 
38
 * Used by VbglR3SeamlessWaitEvent
 
39
 *
 
40
 * @ingroup grp_vmmdev_req
 
41
 *
 
42
 * @todo DARN! DARN! DARN! Who forgot to do the 32-bit hack here???
 
43
 *       FIXME! XXX!
 
44
 *
 
45
 *       We will now have to carefully check how our compilers have treated this
 
46
 *       flag. If any are compressing it into a byte type, we'll have to check
 
47
 *       how the request memory is initialized. If we are 104% sure it's ok to
 
48
 *       expand it, we'll expand it. If not, we must redefine the field to a
 
49
 *       uint8_t and a 3 byte padding.
 
50
 */
 
51
typedef enum
 
52
{
 
53
    VMMDev_Seamless_Disabled         = 0,     /**< normal mode; entire guest desktop displayed. */
 
54
    VMMDev_Seamless_Visible_Region   = 1,     /**< visible region mode; only top-level guest windows displayed. */
 
55
    VMMDev_Seamless_Host_Window      = 2      /**< windowed mode; each top-level guest window is represented in a host window. */
 
56
} VMMDevSeamlessMode;
 
57
 
 
58
 
 
59
/**
 
60
 * HGCM service location types.
 
61
 * @ingroup grp_vmmdev_req
 
62
 */
 
63
typedef enum
 
64
{
 
65
    VMMDevHGCMLoc_Invalid    = 0,
 
66
    VMMDevHGCMLoc_LocalHost  = 1,
 
67
    VMMDevHGCMLoc_LocalHost_Existing = 2,
 
68
    VMMDevHGCMLoc_SizeHack   = 0x7fffffff
 
69
} HGCMServiceLocationType;
 
70
AssertCompileSize(HGCMServiceLocationType, 4);
 
71
 
 
72
/**
 
73
 * HGCM host service location.
 
74
 * @ingroup grp_vmmdev_req
 
75
 */
 
76
typedef struct
 
77
{
 
78
    char achName[128]; /**< This is really szName. */
 
79
} HGCMServiceLocationHost;
 
80
AssertCompileSize(HGCMServiceLocationHost, 128);
 
81
 
 
82
/**
 
83
 * HGCM service location.
 
84
 * @ingroup grp_vmmdev_req
 
85
 */
 
86
typedef struct HGCMSERVICELOCATION
 
87
{
 
88
    /** Type of the location. */
 
89
    HGCMServiceLocationType type;
 
90
 
 
91
    union
 
92
    {
 
93
        HGCMServiceLocationHost host;
 
94
    } u;
 
95
} HGCMServiceLocation;
 
96
AssertCompileSize(HGCMServiceLocation, 128+4);
 
97
 
 
98
/* forward declarations: */
 
99
struct VMMDevReqMousePointer;
 
100
struct VMMDevMemory;
 
101
 
 
102
#endif
 
103