VBoxGuest-win.h revision b4a81d521ea7f88aca6f77b2725541e58a2dc018
5b281ba489ca18f0380d7efc7a5108b606cce449vboxsync * VBoxGuest - Windows specifics.
1e40f57c72c881067b0314f898e1004211bb7650vboxsync * Copyright (C) 2010 Oracle Corporation
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
1e40f57c72c881067b0314f898e1004211bb7650vboxsync * available from http://www.virtualbox.org. This file is free software;
1e40f57c72c881067b0314f898e1004211bb7650vboxsync * you can redistribute it and/or modify it under the terms of the GNU
1e40f57c72c881067b0314f898e1004211bb7650vboxsync * General Public License (GPL) as published by the Free Software
1e40f57c72c881067b0314f898e1004211bb7650vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync/*******************************************************************************
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync* Header Files *
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync*******************************************************************************/
1e40f57c72c881067b0314f898e1004211bb7650vboxsync/*******************************************************************************
1e40f57c72c881067b0314f898e1004211bb7650vboxsync* Structures and Typedefs *
1e40f57c72c881067b0314f898e1004211bb7650vboxsync*******************************************************************************/
1e40f57c72c881067b0314f898e1004211bb7650vboxsync/** Pointer to the VBoxGuest per session data. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync/** Possible device states for our state machine. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Original device physical address. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Length of I/O or memory range. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Flag: Unmapped range is I/O or memory range. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Mapped I/O or memory range. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Flag: mapped range is I/O or memory range. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Flag: resource is mapped (i.e. MmMapIoSpace called). */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync} VBOXGUESTWINBASEADDRESS, *PVBOXGUESTWINBASEADDRESS;
1e40f57c72c881067b0314f898e1004211bb7650vboxsync/** Windows-specific device extension bits. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Our functional driver object. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Top of the stack. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Currently active Irp. */
1e40f57c72c881067b0314f898e1004211bb7650vboxsync /** Interrupt object pointer. */
void *pvMouseNotify;
} winVersion_t;
#include "VBoxGuestInternal.h"
#ifdef TARGET_NT4
NTSTATUS vboxguestwinnt4CreateDevice(PDRIVER_OBJECT pDrvObj, PDEVICE_OBJECT pDevObj, PUNICODE_STRING pRegPath);
NTSTATUS vboxguestwinInit(PDRIVER_OBJECT pDrvObj, PDEVICE_OBJECT pDevObj, PUNICODE_STRING pRegPath);
NTSTATUS vboxguestwinMapVMMDevMemory(PVBOXGUESTDEVEXT pDevExt, PHYSICAL_ADDRESS physicalAdr, ULONG ulLength,
#ifdef TARGET_NT4