2 * PROJECT: ReactOS Storport Driver
3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4 * PURPOSE: Storport driver common header file
5 * COPYRIGHT: Copyright 2017 Eric Kohl (eric.kohl@reactos.org)
16 /* Declare STORPORT_API functions as exports rather than imports */
26 #define TAG_GLOBAL_DATA 'DGtS'
27 #define TAG_INIT_DATA 'DItS'
28 #define TAG_MINIPORT_DATA 'DMtS'
29 #define TAG_ACCRESS_RANGE 'RAtS'
48 typedef struct _DRIVER_INIT_DATA
51 HW_INITIALIZATION_DATA HwInitData
;
52 } DRIVER_INIT_DATA
, *PDRIVER_INIT_DATA
;
54 typedef struct _DRIVER_OBJECT_EXTENSION
56 EXTENSION_TYPE ExtensionType
;
57 PDRIVER_OBJECT DriverObject
;
59 KSPIN_LOCK AdapterListLock
;
60 LIST_ENTRY AdapterListHead
;
63 LIST_ENTRY InitDataListHead
;
64 } DRIVER_OBJECT_EXTENSION
, *PDRIVER_OBJECT_EXTENSION
;
66 typedef struct _MINIPORT_DEVICE_EXTENSION
68 struct _MINIPORT
*Miniport
;
69 UCHAR HwDeviceExtension
[0];
70 } MINIPORT_DEVICE_EXTENSION
, *PMINIPORT_DEVICE_EXTENSION
;
72 typedef struct _MINIPORT
74 struct _FDO_DEVICE_EXTENSION
*DeviceExtension
;
75 PHW_INITIALIZATION_DATA InitData
;
76 PORT_CONFIGURATION_INFORMATION PortConfig
;
77 PMINIPORT_DEVICE_EXTENSION MiniportExtension
;
78 } MINIPORT
, *PMINIPORT
;
80 typedef struct _FDO_DEVICE_EXTENSION
82 EXTENSION_TYPE ExtensionType
;
84 PDEVICE_OBJECT Device
;
85 PDEVICE_OBJECT LowerDevice
;
86 PDEVICE_OBJECT PhysicalDevice
;
87 PDRIVER_OBJECT_EXTENSION DriverExtension
;
88 DEVICE_STATE PnpState
;
89 LIST_ENTRY AdapterListEntry
;
93 } FDO_DEVICE_EXTENSION
, *PFDO_DEVICE_EXTENSION
;
96 typedef struct _PDO_DEVICE_EXTENSION
98 EXTENSION_TYPE ExtensionType
;
100 PDEVICE_OBJECT AttachedFdo
;
102 DEVICE_STATE PnpState
;
104 } PDO_DEVICE_EXTENSION
, *PPDO_DEVICE_EXTENSION
;
112 _In_ PDEVICE_OBJECT DeviceObject
,
120 _In_ PMINIPORT Miniport
,
121 _In_ PFDO_DEVICE_EXTENSION DeviceExtension
,
122 _In_ PHW_INITIALIZATION_DATA HwInitializationData
);
126 _In_ PMINIPORT Miniport
);
129 MiniportHwInitialize(
130 _In_ PMINIPORT Miniport
);
137 _In_ PDEVICE_OBJECT LowerDevice
,
143 _In_ PDEVICE_OBJECT LowerDevice
,
148 PDEVICE_OBJECT DeviceObject
);
155 _In_ PDEVICE_OBJECT DeviceObject
,
161 PHW_INITIALIZATION_DATA
162 PortGetDriverInitData(
163 PDRIVER_OBJECT_EXTENSION DriverExtension
,
164 INTERFACE_TYPE InterfaceType
);
169 _In_ PDRIVER_OBJECT DriverObject
,
170 _In_ PUNICODE_STRING RegistryPath
);
172 #endif /* _STORPORT_PCH_ */