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'
47 typedef struct _DRIVER_INIT_DATA
50 HW_INITIALIZATION_DATA HwInitData
;
51 } DRIVER_INIT_DATA
, *PDRIVER_INIT_DATA
;
53 typedef struct _DRIVER_OBJECT_EXTENSION
55 EXTENSION_TYPE ExtensionType
;
56 PDRIVER_OBJECT DriverObject
;
58 KSPIN_LOCK AdapterListLock
;
59 LIST_ENTRY AdapterListHead
;
62 LIST_ENTRY InitDataListHead
;
63 } DRIVER_OBJECT_EXTENSION
, *PDRIVER_OBJECT_EXTENSION
;
65 typedef struct _MINIPORT_DEVICE_EXTENSION
67 struct _MINIPORT
*Miniport
;
68 UCHAR HwDeviceExtension
[0];
69 } MINIPORT_DEVICE_EXTENSION
, *PMINIPORT_DEVICE_EXTENSION
;
71 typedef struct _MINIPORT
73 struct _FDO_DEVICE_EXTENSION
*DeviceExtension
;
74 PHW_INITIALIZATION_DATA InitData
;
75 PMINIPORT_DEVICE_EXTENSION MiniportExtension
;
76 } MINIPORT
, *PMINIPORT
;
78 typedef struct _FDO_DEVICE_EXTENSION
80 EXTENSION_TYPE ExtensionType
;
82 PDEVICE_OBJECT Device
;
83 PDEVICE_OBJECT LowerDevice
;
84 PDEVICE_OBJECT PhysicalDevice
;
86 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_ */