/* Port for generic request interface (relative offset). */ #define VMMDEV_PORT_OFF_REQUEST 0
/** Layout of VMMDEV RAM region that contains information for guest. */ struct vmmdev_memory { /** The size of this structure. */
u32 size; /** The structure version. (VMMDEV_MEMORY_VERSION) */
u32 version;
union { struct { /** Flag telling that VMMDev has events pending. */
u8 have_events; /** Explicit padding, MBZ. */
u8 padding[3];
} V1_04;
struct { /** Pending events flags, set by host. */
u32 host_events; /** Mask of events the guest wants, set by guest. */
u32 guest_event_mask;
} V1_03;
} V;
/* struct vbva_memory, not used */
};
VMMDEV_ASSERT_SIZE(vmmdev_memory, 8 + 8);
/** Version of vmmdev_memory structure (vmmdev_memory::version). */ #define VMMDEV_MEMORY_VERSION (1)
/* Host mouse capabilities has been changed. */ #define VMMDEV_EVENT_MOUSE_CAPABILITIES_CHANGED BIT(0) /* HGCM event. */ #define VMMDEV_EVENT_HGCM BIT(1) /* A display change request has been issued. */ #define VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST BIT(2) /* Credentials are available for judgement. */ #define VMMDEV_EVENT_JUDGE_CREDENTIALS BIT(3) /* The guest has been restored. */ #define VMMDEV_EVENT_RESTORED BIT(4) /* Seamless mode state changed. */ #define VMMDEV_EVENT_SEAMLESS_MODE_CHANGE_REQUEST BIT(5) /* Memory balloon size changed. */ #define VMMDEV_EVENT_BALLOON_CHANGE_REQUEST BIT(6) /* Statistics interval changed. */ #define VMMDEV_EVENT_STATISTICS_INTERVAL_CHANGE_REQUEST BIT(7) /* VRDP status changed. */ #define VMMDEV_EVENT_VRDP BIT(8) /* New mouse position data available. */ #define VMMDEV_EVENT_MOUSE_POSITION_CHANGED BIT(9) /* CPU hotplug event occurred. */ #define VMMDEV_EVENT_CPU_HOTPLUG BIT(10) /* The mask of valid events, for sanity checking. */ #define VMMDEV_EVENT_VALID_EVENT_MASK 0x000007ffU
/* The guest can (== wants to) handle absolute coordinates. */ #define VMMDEV_MOUSE_GUEST_CAN_ABSOLUTE BIT(0) /* *Thehostcan(==wantsto)sendabsolutecoordinates. *(Inputnotcaptured.)
*/ #define VMMDEV_MOUSE_HOST_WANTS_ABSOLUTE BIT(1) /* *Theguestcan*NOT*switchtosoftwarecursorandthereforedependsonthe *hostcursor. * *Whenguestadditionsareinstalledandthehosthaspromisedtodisplaythe *cursoritself,theguestinstallsahardwaremousedriver.Don'taskthe *guesttoswitchtoasoftwarecursorthen.
*/ #define VMMDEV_MOUSE_GUEST_NEEDS_HOST_CURSOR BIT(2) /* The host does NOT provide support for drawing the cursor itself. */ #define VMMDEV_MOUSE_HOST_CANNOT_HWPOINTER BIT(3) /* The guest can read VMMDev events to find out about pointer movement */ #define VMMDEV_MOUSE_NEW_PROTOCOL BIT(4) /* *IftheguestchangesthestatusoftheVMMDEV_MOUSE_GUEST_NEEDS_HOST_CURSOR *bit,thehostwillhonourthis.
*/ #define VMMDEV_MOUSE_HOST_RECHECKS_NEEDS_HOST_CURSOR BIT(5) /* *Thehostsuppliesanabsolutepointingdevice.TheGuestAdditionsmay *wishtousethistodecidewhethertoinstalltheirowndriver.
*/ #define VMMDEV_MOUSE_HOST_HAS_ABS_DEV BIT(6)
/* The minimum value our pointing device can return. */ #define VMMDEV_MOUSE_RANGE_MIN 0 /* The maximum value our pointing device can return. */ #define VMMDEV_MOUSE_RANGE_MAX 0xFFFF
/** IN: Client identifier. */
u32 client_id; /** IN: Service function number. */
u32 function; /** IN: Number of parameters. */
u32 parm_count; /** Parameters follow in form: HGCMFunctionParameter32|64 parms[X]; */
};
VMMDEV_ASSERT_SIZE(vmmdev_hgcm_call, 32 + 12);
/** *structvmmdev_hgcm_cancel2-HGCMcancelrequeststructure,version2. * *Aftertherequestheader.rcwillbe: * *VINF_SUCCESSwhencancelled. *VERR_NOT_FOUNDifthespecifiedrequestcannotbefound. *VERR_INVALID_PARAMETERiftheaddressisinvalidvalid.
*/ struct vmmdev_hgcm_cancel2 { /** Header. */ struct vmmdev_request_header header; /** The physical address of the request to cancel. */
u32 phys_req_to_cancel;
};
VMMDEV_ASSERT_SIZE(vmmdev_hgcm_cancel2, 24 + 4);
#endif
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.14Bemerkung:
(vorverarbeitet am 2026-09-30)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.