Sync with trunk (r47116), hopefully without breaking anything.
[reactos.git] / ntoskrnl / include / internal / io.h
index 1faff6b..9398ef1 100644 (file)
 #define IopFreeMdlFromLookaside                         \
     ObpFreeCapturedAttributes
 
-//
-// Returns the size of a CM_RESOURCE_LIST
-//
-#define CM_RESOURCE_LIST_SIZE(ResList)                  \
-    (ResList->Count == 1) ?                             \
-        FIELD_OFFSET(                                   \
-            CM_RESOURCE_LIST,                           \
-            List[0].PartialResourceList.                \
-            PartialDescriptors[(ResList)->              \
-                               List[0].                 \
-                               PartialResourceList.     \
-                               Count])                  \
-        :                                               \
-        FIELD_OFFSET(CM_RESOURCE_LIST, List)
-
 //
 // Determines if the IRP is Synchronous
 //
@@ -506,6 +491,21 @@ typedef struct _DEVICETREE_TRAVERSE_CONTEXT
     PVOID Context;
 } DEVICETREE_TRAVERSE_CONTEXT, *PDEVICETREE_TRAVERSE_CONTEXT;
 
+//
+// Resource code
+//
+ULONG
+NTAPI
+IopCalculateResourceListSize(
+    IN PCM_RESOURCE_LIST ResourceList
+);
+
+NTSTATUS
+NTAPI
+IopAssignDeviceResources(
+    IN PDEVICE_NODE DeviceNode
+);
+
 //
 // PNP Routines
 //