Sync with trunk r58740.
[reactos.git] / drivers / bus / pcix / pci / busno.c
index e5a9816..caf7632 100644 (file)
 
 /* FUNCTIONS ******************************************************************/
 
+BOOLEAN
+NTAPI
+PciAreBusNumbersConfigured(IN PPCI_PDO_EXTENSION PdoExtension)
+{
+    UCHAR PrimaryBus, BaseBus, SecondaryBus, SubordinateBus;
+
+    PAGED_CODE();
+
+    /* Get all relevant bus number details */
+    PrimaryBus = PdoExtension->Dependent.type1.PrimaryBus;
+    BaseBus = PdoExtension->ParentFdoExtension->BaseBus;
+    SecondaryBus = PdoExtension->Dependent.type1.SecondaryBus;
+    SubordinateBus = PdoExtension->Dependent.type1.SubordinateBus;
+
+    /* The primary bus should be the base bus of the parent */
+    if ((PrimaryBus != BaseBus) || (SecondaryBus <= PrimaryBus)) return FALSE;
+
+    /* The subordinate should be a higher bus number than the secondary */
+    return SubordinateBus >= SecondaryBus;
+}
+
 /* EOF */