b7a0bdcaedcf58591b9b1b09e2d4bf7c92c5ab70
[reactos.git] / reactos / drivers / usb / cromwell / host / ohci_main.h
1 /*
2 * OHCI WDM/PNP driver
3 *
4 * Copyright (C) 2005 ReactOS Team
5 *
6 * Author: Aleksey Bragin (aleksey@reactos.com)
7 *
8 */
9
10 #ifndef OHCI_MAIN_H
11 #define OHCI_MAIN_H
12
13 typedef struct _OHCI_DRIVER_EXTENSION
14 {
15 //OHCI_HW_INITIALIZATION_DATA InitializationData;
16 PVOID HwContext;
17 //UNICODE_STRING RegistryPath;
18
19 } OHCI_DRIVER_EXTENSION, *POHCI_DRIVER_EXTENSION;
20
21 typedef struct _OHCI_DEVICE_EXTENSTION
22 {
23 ULONG DeviceNumber;
24 PDEVICE_OBJECT PhysicalDeviceObject;
25 PDEVICE_OBJECT FunctionalDeviceObject;
26 PDEVICE_OBJECT NextDeviceObject;
27 //UNICODE_STRING RegistryPath;
28 UNICODE_STRING HcdInterfaceName;
29 PKINTERRUPT InterruptObject;
30 KSPIN_LOCK InterruptSpinLock;
31 PCM_RESOURCE_LIST AllocatedResources;
32 ULONG InterruptVector;
33 ULONG InterruptLevel;
34 PHYSICAL_ADDRESS BaseAddress;
35 ULONG BaseAddrLength;
36 ULONG Flags;
37 ULONG AdapterInterfaceType;
38 ULONG SystemIoBusNumber;
39 ULONG SystemIoSlotNumber;
40 LIST_ENTRY AddressMappingListHead;
41
42 // DMA stuff, and buffers
43 PDMA_ADAPTER pDmaAdapter;
44 PVOID MapRegisterBase;
45 ULONG mapRegisterCount;
46 #ifdef USB_DMA_SINGLE_SUPPORT
47 PHYSICAL_ADDRESS Buffer;
48 PVOID VirtualBuffer;
49 ULONG BufferSize;
50
51 // Mdl used for single DMA transfers
52 PMDL Mdl;
53 #endif
54
55 //KDPC DpcObject;
56 OHCI_DRIVER_EXTENSION *DriverExtension;
57 ULONG DeviceOpened;
58 //KMUTEX DeviceLock;
59 //CHAR MiniPortDeviceExtension[1];
60 BOOLEAN IsFDO;
61 struct pci_dev * pdev;
62 PDEVICE_OBJECT RootHubPdo;
63 } OHCI_DEVICE_EXTENSION, *POHCI_DEVICE_EXTENSION;
64
65 #define IOCTL_INTERNAL_KEYBOARD_CONNECT \
66 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
67
68 #endif