42 #if defined(PLX_WDM_DRIVER)
46 #if defined(PLX_NT_DRIVER)
50 #if defined(PLX_MSWINDOWS)
51 #if !defined(PLX_DRIVER)
57 #if defined(PLX_LINUX) && !defined(PLX_LINUX_DRIVER)
61 #if defined(PLX_LINUX) || defined(PLX_LINUX_DRIVER)
62 #include <linux/types.h>
65 #if defined(PLX_LINUX)
79 #if defined(PLX_LINUX)
89 typedef signed long PLX_INT_PTR;
90 typedef unsigned long PLX_UINT_PTR;
93 typedef int PLX_DRIVER_HANDLE;
95 #define INVALID_HANDLE_VALUE (HANDLE)-1
97 #if !defined(MAX_SCHEDULE_TIMEOUT)
98 #define MAX_SCHEDULE_TIMEOUT LONG_MAX
107 #if defined(PLX_LINUX_DRIVER)
116 #define PLX_SIZE_64 8
117 typedef signed long PLX_INT_PTR;
118 typedef unsigned long PLX_UINT_PTR;
120 typedef int PLX_DRIVER_HANDLE;
128 #if defined(PLX_MSWINDOWS)
129 typedef signed char S8;
130 typedef unsigned char U8;
131 typedef signed short S16;
132 typedef unsigned short U16;
133 typedef signed long S32;
134 typedef unsigned long U32;
135 typedef signed _int64 S64;
136 typedef unsigned _int64 U64;
137 typedef INT_PTR PLX_INT_PTR;
138 typedef UINT_PTR PLX_UINT_PTR;
140 typedef HANDLE PLX_DRIVER_HANDLE;
141 #define PLX_SIZE_64 8
153 #if defined(PLX_WDM_DRIVER)
156 #define RtlIsNtDdiVersionAvailable(ver) IoIsWdmVersionAvailable( (U8)(ver >> 24), (U8)(ver >> 16) )
159 #define NTDDI_WIN2K 0x01100000 // WDM=1.10 Winver=5.00
160 #define NTDDI_WINXP 0x01200000 // WDM=1.20 Winver=5.01
161 #define NTDDI_WS03 0x01300000 // WDM=1.30 Winver=5.02
165 #define NTDDI_WIN6 0x06000000
166 #define NTDDI_WIN6SP1 0x06000100
167 #define NTDDI_VISTA NTDDI_WIN6
168 #define NTDDI_WS08 NTDDI_WIN6SP1
169 #define NTDDI_WIN7 0x06010000
173 #define NTDDI_WIN8 0x06020000
180 struct _DRIVER_OBJECT *DriverObject,
181 PUNICODE_STRING RegistryPath
187 struct _DRIVER_OBJECT *DriverObject
193 struct _DRIVER_OBJECT *DriverObject,
194 struct _DEVICE_OBJECT *PhysicalDeviceObject
200 struct _DEVICE_OBJECT *DeviceObject,
207 struct _DEVICE_OBJECT *DeviceObject,
214 struct _KINTERRUPT *Interrupt,
222 PVOID DeferredContext,
223 PVOID SystemArgument1,
224 PVOID SystemArgument2
229 KSYNCHRONIZE_ROUTINE (
230 PVOID SynchronizeContext
235 IO_COMPLETION_ROUTINE (
236 PDEVICE_OBJECT DeviceObject,
243 IO_WORKITEM_ROUTINE (
244 PDEVICE_OBJECT DeviceObject,
250 REQUEST_POWER_COMPLETE (
251 PDEVICE_OBJECT DeviceObject,
253 POWER_STATE PowerState,
255 PIO_STATUS_BLOCK IoStatus
267 typedef signed char S8;
268 typedef unsigned char U8;
269 typedef signed short S16;
270 typedef unsigned short U16;
271 typedef signed long S32;
272 typedef unsigned long U32;
273 typedef signed long long S64;
274 typedef unsigned long long U64;
275 typedef S32 PLX_INT_PTR;
276 typedef U32 PLX_UINT_PTR;
278 typedef unsigned long HANDLE;
279 typedef HANDLE PLX_DRIVER_HANDLE;
280 #define INVALID_HANDLE_VALUE 0
281 #define PLX_SIZE_64 8
293 typedef volatile S8 VS8;
294 typedef volatile U8 VU8;
295 typedef volatile S16 VS16;
296 typedef volatile U16 VU16;
297 typedef volatile S32 VS32;
298 typedef volatile U32 VU32;
299 typedef volatile S64 VS64;
300 typedef volatile U64 VU64;