2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS NDIS library
4 * FILE: ndis/hardware.c
5 * PURPOSE: Hardware related routines
6 * PROGRAMMERS: Casper S. Hornstrup (chorns@users.sourceforge.net)
7 * Vizzini (vizzini@plasmic.com)
9 * CSH 01/08-2000 Created
10 * 8/25/2003 Vizzini - NDIS4/5 and PnP additions
21 NdisImmediateReadPciSlotInformation(
22 IN NDIS_HANDLE WrapperConfigurationContext,
28 return HalGetBusDataByOffset (PCIConfiguration,
42 NdisImmediateWritePciSlotInformation(
43 IN NDIS_HANDLE WrapperConfigurationContext,
49 return HalSetBusDataByOffset (PCIConfiguration,
63 NdisMPciAssignResources(
64 IN NDIS_HANDLE MiniportHandle,
66 OUT PNDIS_RESOURCE_LIST *AssignedResources)
69 * - I think this is fundamentally broken
72 PCM_RESOURCE_LIST ResourceList;
74 PLOGICAL_ADAPTER Adapter = (PLOGICAL_ADAPTER)MiniportHandle;
77 Status = HalAssignSlotResources (Adapter->Miniport->RegistryPath,
79 Adapter->Miniport->DriverObject,
85 if (!NT_SUCCESS (Status))
87 *AssignedResources = NULL;
88 return NDIS_STATUS_FAILURE;
92 (PNDIS_RESOURCE_LIST)&ResourceList->List[0].PartialResourceList;
94 return NDIS_STATUS_SUCCESS;
103 NdisMQueryAdapterResources(
104 OUT PNDIS_STATUS Status,
105 IN NDIS_HANDLE WrapperConfigurationContext,
106 OUT PNDIS_RESOURCE_LIST ResourceList,
107 IN OUT PUINT BufferSize)
118 NdisQueryMapRegisterCount(
119 IN NDIS_INTERFACE_TYPE BusType,
120 OUT PUINT MapRegisterCount)
122 * On X86 (and all other current hardware), map registers aren't real hardware,
123 * and there is no real limit to the number that can be allocated.
124 * As such, we do what microsoft does on the x86 hals and return as follows
127 return NDIS_STATUS_NOT_SUPPORTED;
136 NdisReadEisaSlotInformation(
137 OUT PNDIS_STATUS Status,
138 IN NDIS_HANDLE WrapperConfigurationContext,
139 OUT PUINT SlotNumber,
140 OUT PNDIS_EISA_FUNCTION_INFORMATION EisaData)
151 NdisReadEisaSlotInformationEx(
152 OUT PNDIS_STATUS Status,
153 IN NDIS_HANDLE WrapperConfigurationContext,
154 OUT PUINT SlotNumber,
155 OUT PNDIS_EISA_FUNCTION_INFORMATION *EisaData,
156 OUT PUINT NumberOfFunctions)
167 NdisReadPciSlotInformation(
168 IN NDIS_HANDLE NdisAdapterHandle,
174 return HalGetBusDataByOffset (PCIConfiguration,
188 NdisWritePciSlotInformation(
189 IN NDIS_HANDLE NdisAdapterHandle,
195 return HalSetBusDataByOffset (PCIConfiguration,