VOID ReadCMOS( IN ULONG StartingOffset, IN ULONG Count, IN PUCHAR ReturnValuePtr ) /*++ Routine Description: This routine simply converts a ReadCMOS call (a routine in setup) to the corresponding routine provided in the Hal (HalpGetCmosData). --*/ { HalpGetCmosData(1, StartingOffset, ReturnValuePtr, Count); }
/* * @implemented */ ULONG NTAPI HalGetBusDataByOffset(IN BUS_DATA_TYPE BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length) { BUS_HANDLER BusHandler; /* Look as the bus type */ if (BusDataType == Cmos) { /* Call CMOS Function */ return HalpGetCmosData(0, SlotNumber, Buffer, Length); } else if (BusDataType == EisaConfiguration) { /* FIXME: TODO */ ASSERT(FALSE); } else if ((BusDataType == PCIConfiguration) && (HalpPCIConfigInitialized) && ((BusNumber >= HalpMinPciBus) && (BusNumber <= HalpMaxPciBus))) { /* Setup fake PCI Bus handler */ RtlCopyMemory(&BusHandler, &HalpFakePciBusHandler, sizeof(BUS_HANDLER)); BusHandler.BusNumber = BusNumber; /* Call PCI function */ return HalpGetPCIData(&BusHandler, &BusHandler, *(PPCI_SLOT_NUMBER)&SlotNumber, Buffer, Offset, Length); } /* Invalid bus */ return 0; }