VBoxMouse.h revision 7b06d4d64dc8e4ea0ff4a616d9b4128b26b8463e
/** @file
*
* VBoxGuest -- VirtualBox Win32 guest mouse filter driver
*
* Based on a Microsoft DDK sample
*
* Copyright (C) 2006-2007 Sun Microsystems, Inc.
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
* Clara, CA 95054 USA or visit http://www.sun.com if you need
* additional information or have any questions.
*/
#ifndef VBOXMOUSE_H
#define VBOXMOUSE_H
#include "ntddk.h"
#include "kbdmou.h"
#include <ntddmou.h>
#include <ntdd8042.h>
#include <VBox/VBoxGuest.h>
//VBOX begin
/* debug printf */
# define OSDBGPRINT(a) DbgPrint a
/* dprintf */
# ifdef LOG_TO_BACKDOOR
# define dprintf(a) RTLogBackdoorPrintf a
# else
# define dprintf(a) OSDBGPRINT(a)
# endif
#else
# define dprintf(a) do {} while (0)
#endif
/* dprintf2 - extended logging. */
#if 0
#else
# define dprintf2(a) do { } while (0)
#endif
//VBOX end
#if DBG
#define TRAP() DbgBreakPoint()
#else // DBG
#define TRAP()
#define DbgLowerIrql(_x_)
#endif
typedef struct _DEVICE_EXTENSION
{
//
// A backpointer to the device object for which this is the extension
//
//
// "THE PDO" (ejected by the bus)
//
//
// The top of the stack before this filter was added. AKA the location
// to which all IRPS should be directed.
//
//
// Number of creates sent down
//
//
// Previous hook routine and context
//
//
// Write to the mouse in the context of VBoxMouse_IsrHook
//
//
// Context for IsrWritePort, QueueMousePacket
//
//
// Queue the current packet (ie the one passed into VBoxMouse_IsrHook)
// to be reported to the class driver
//
//
// The real connect data that this driver reports to
//
//
// current power state of the device
//
//
// State of the stack and this device object
//
// VBOX begin
/* Preallocated request for VBoxMouse_ServiceCallback */
// VBOX end
//
// Prototypes
//
);
);
);
);
);
);
);
);
);
);
);
#endif // VBOXMOUSE_H