[PSDK/DDK]: Last couple of fixes to headers. Classpnp can compile (and link) now.
[reactos.git] / reactos / include / ddk / classpnp.h
index b6bbc9d..368f390 100644 (file)
 #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) ||     \
 
 #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