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'
30 #define TAG_RESOURCE_LIST 'LRtS'
49 typedef struct _DRIVER_INIT_DATA
52 HW_INITIALIZATION_DATA HwInitData
;
53 } DRIVER_INIT_DATA
, *PDRIVER_INIT_DATA
;
55 typedef struct _DRIVER_OBJECT_EXTENSION
57 EXTENSION_TYPE ExtensionType
;
58 PDRIVER_OBJECT DriverObject
;
60 KSPIN_LOCK AdapterListLock
;
61 LIST_ENTRY AdapterListHead
;
64 LIST_ENTRY InitDataListHead
;
65 } DRIVER_OBJECT_EXTENSION
, *PDRIVER_OBJECT_EXTENSION
;
67 typedef struct _MINIPORT_DEVICE_EXTENSION
69 struct _MINIPORT
*Miniport
;
70 UCHAR HwDeviceExtension
[0];
71 } MINIPORT_DEVICE_EXTENSION
, *PMINIPORT_DEVICE_EXTENSION
;
73 typedef struct _MINIPORT
75 struct _FDO_DEVICE_EXTENSION
*DeviceExtension
;
76 PHW_INITIALIZATION_DATA InitData
;
77 PORT_CONFIGURATION_INFORMATION PortConfig
;
78 PMINIPORT_DEVICE_EXTENSION MiniportExtension
;
79 } MINIPORT
, *PMINIPORT
;
81 typedef struct _FDO_DEVICE_EXTENSION
83 EXTENSION_TYPE ExtensionType
;
85 PDEVICE_OBJECT Device
;
86 PDEVICE_OBJECT LowerDevice
;
87 PDEVICE_OBJECT PhysicalDevice
;
88 PDRIVER_OBJECT_EXTENSION DriverExtension
;
89 DEVICE_STATE PnpState
;
90 LIST_ENTRY AdapterListEntry
;
94 PCM_RESOURCE_LIST AllocatedResources
;
95 PCM_RESOURCE_LIST TranslatedResources
;
96 } FDO_DEVICE_EXTENSION
, *PFDO_DEVICE_EXTENSION
;
99 typedef struct _PDO_DEVICE_EXTENSION
101 EXTENSION_TYPE ExtensionType
;
103 PDEVICE_OBJECT AttachedFdo
;
105 DEVICE_STATE PnpState
;
107 } PDO_DEVICE_EXTENSION
, *PPDO_DEVICE_EXTENSION
;
115 _In_ PDEVICE_OBJECT DeviceObject
,
123 _In_ PMINIPORT Miniport
,
124 _In_ PFDO_DEVICE_EXTENSION DeviceExtension
,
125 _In_ PHW_INITIALIZATION_DATA HwInitializationData
);
129 _In_ PMINIPORT Miniport
);
132 MiniportHwInitialize(
133 _In_ PMINIPORT Miniport
);
140 _In_ PDEVICE_OBJECT LowerDevice
,
146 _In_ PDEVICE_OBJECT LowerDevice
,
151 PDEVICE_OBJECT DeviceObject
);
156 PCM_RESOURCE_LIST Source
);
164 _In_ PDEVICE_OBJECT DeviceObject
,
170 PHW_INITIALIZATION_DATA
171 PortGetDriverInitData(
172 PDRIVER_OBJECT_EXTENSION DriverExtension
,
173 INTERFACE_TYPE InterfaceType
);
178 _In_ PDRIVER_OBJECT DriverObject
,
179 _In_ PUNICODE_STRING RegistryPath
);
181 #endif /* _STORPORT_PCH_ */