From d59da19b08e81b8b4b65e11c8fc4819f0f761d73 Mon Sep 17 00:00:00 2001 From: Sir Richard Date: Sat, 25 Sep 2010 05:46:31 +0000 Subject: [PATCH] [PSDK/DDK]: Last couple of fixes to headers. Classpnp can compile (and link) now. svn path=/trunk/; revision=48865 --- reactos/include/ddk/classpnp.h | 32 ++++++++++++++++++++++++++++++++ reactos/include/psdk/ntddstor.h | 4 ++-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/reactos/include/ddk/classpnp.h b/reactos/include/ddk/classpnp.h index b6bbc9dbe8e..368f390619b 100644 --- a/reactos/include/ddk/classpnp.h +++ b/reactos/include/ddk/classpnp.h @@ -18,6 +18,12 @@ #define SRB_CLASS_FLAGS_PAGING 0x40000000 #define SRB_CLASS_FLAGS_FREE_MDL 0x80000000 +#define ASSERT_FDO(x) \ + ASSERT(((PCOMMON_DEVICE_EXTENSION) (x)->DeviceExtension)->IsFdo) + +#define ASSERT_PDO(x) \ + ASSERT(!(((PCOMMON_DEVICE_EXTENSION) (x)->DeviceExtension)->IsFdo)) + #define IS_CLEANUP_REQUEST(majorFunction) \ ((majorFunction == IRP_MJ_CLOSE) || \ (majorFunction == IRP_MJ_CLEANUP) || \ @@ -178,6 +184,17 @@ #define DEFAULT_FAILURE_PREDICTION_PERIOD 60 * 60 * 1 +static inline ULONG CountOfSetBitsUChar(UCHAR _X) +{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; } +static inline ULONG CountOfSetBitsULong(ULONG _X) +{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; } +static inline ULONG CountOfSetBitsULong32(ULONG32 _X) +{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; } +static inline ULONG CountOfSetBitsULong64(ULONG64 _X) +{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; } +static inline ULONG CountOfSetBitsUlongPtr(ULONG_PTR _X) +{ ULONG i = 0; while (_X) { _X &= _X - 1; i++; } return i; } + typedef enum _MEDIA_CHANGE_DETECTION_STATE { MediaUnknown, MediaPresent, @@ -771,6 +788,14 @@ ClassIoComplete( PIRP Irp, PVOID Context); +SCSIPORTAPI +NTSTATUS +NTAPI +ClassIoCompleteAssociated( + PDEVICE_OBJECT DeviceObject, + PIRP Irp, + PVOID Context); + SCSIPORTAPI BOOLEAN NTAPI @@ -860,6 +885,13 @@ NTAPI ClassClaimDevice( PDEVICE_OBJECT LowerDeviceObject, BOOLEAN Release); + +SCSIPORTAPI +NTSTATUS +NTAPI +ClassInternalIoControl ( + PDEVICE_OBJECT DeviceObject, + PIRP Irp); SCSIPORTAPI VOID diff --git a/reactos/include/psdk/ntddstor.h b/reactos/include/psdk/ntddstor.h index 6b74133e0b2..3d5081e0e14 100644 --- a/reactos/include/psdk/ntddstor.h +++ b/reactos/include/psdk/ntddstor.h @@ -124,10 +124,10 @@ DEFINE_GUID(GUID_DEVINTERFACE_HIDDEN_VOLUME, CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_STORAGE_RESET_BUS \ - CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS) #define IOCTL_STORAGE_RESET_DEVICE \ - CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS) #define IOCTL_STORAGE_GET_DEVICE_NUMBER \ CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS)