- Get kbd/mouclass compiling
[reactos.git] / reactos / drivers / input / mouclass / mouclass.h
index cf77cb7..dd76369 100644 (file)
@@ -1,7 +1,59 @@
-typedef struct _DEVICE_EXTENSION {
-   BOOLEAN ReadIsPending;
-   ULONG InputCount;
-   PMOUSE_INPUT_DATA PortData;
-   PDEVICE_OBJECT PortDeviceObject; // FIXME: Expand this to handle multiple port drivers (make *PortDeviceObject)
-   GDI_INFORMATION GDIInformation;
-} DEVICE_EXTENSION, *PDEVICE_EXTENSION;
+#include <ntifs.h>
+#include <kbdmou.h>
+#include <ntddmou.h>
+#include <stdio.h>
+
+#define MAX_PATH 260
+typedef enum
+{
+       dsStopped,
+       dsStarted,
+       dsPaused,
+       dsRemoved,
+       dsSurpriseRemoved
+} PORT_DEVICE_STATE;
+
+typedef struct _CLASS_DRIVER_EXTENSION
+{
+       UNICODE_STRING RegistryPath;
+
+       /* Registry settings */
+       ULONG ConnectMultiplePorts;
+       ULONG DataQueueSize;
+       UNICODE_STRING DeviceBaseName;
+
+       PDEVICE_OBJECT MainClassDeviceObject;
+} CLASS_DRIVER_EXTENSION, *PCLASS_DRIVER_EXTENSION;
+
+typedef struct _COMMON_DEVICE_EXTENSION
+{
+       BOOLEAN IsClassDO;
+} COMMON_DEVICE_EXTENSION, *PCOMMON_DEVICE_EXTENSION;
+
+typedef struct _PORT_DEVICE_EXTENSION
+{
+       COMMON_DEVICE_EXTENSION Common;
+
+       PORT_DEVICE_STATE PnpState;
+       PDEVICE_OBJECT LowerDevice;
+       UNICODE_STRING InterfaceName;
+} PORT_DEVICE_EXTENSION, *PPORT_DEVICE_EXTENSION;
+
+typedef struct _CLASS_DEVICE_EXTENSION
+{
+       COMMON_DEVICE_EXTENSION Common;
+
+       PCLASS_DRIVER_EXTENSION DriverExtension;
+
+       KSPIN_LOCK SpinLock;
+       BOOLEAN ReadIsPending;
+       ULONG InputCount;
+       PMOUSE_INPUT_DATA PortData;
+} CLASS_DEVICE_EXTENSION, *PCLASS_DEVICE_EXTENSION;
+
+/* misc.c */
+
+NTSTATUS NTAPI
+ForwardIrpAndForget(
+       IN PDEVICE_OBJECT DeviceObject,
+       IN PIRP Irp);