33 if (ArraySize ==
MAXULONG) ArraySize = 0;
56 if (!(*CurrentArray) || ((*NewArray)->ArraySize > (*CurrentArray)->ArraySize))
63 &(*CurrentArray)->Element,
64 sizeof(
PVOID) * ((*CurrentArray)->ArraySize + 1));
69 *CurrentArray = *NewArray;
85 if (Array->ArraySize >=
Type)
88 Array = Array->Element[
Type];
91 if ((Array) && (Array->ArraySize >=
Number))
94 Bus = Array->Element[
Number];
119 DPRINT1(
"STUB GetSetBusData(Bus %x:%x.%x)\n",
120 BusHandler->InterfaceType,
121 BusHandler->ConfigurationType,
122 BusHandler->BusNumber);
138 DPRINT1(
"STUB Adjustment(Bus %x:%x.%x)\n",
139 BusHandler->InterfaceType,
140 BusHandler->ConfigurationType,
141 BusHandler->BusNumber);
161 DPRINT1(
"STUB Assignment(Bus %x:%x.%x)\n",
162 BusHandler->InterfaceType,
163 BusHandler->ConfigurationType,
164 BusHandler->BusNumber);
249 if (ThisHandler == BusHandler)
break;
252 NextEntry = NextEntry->
Flink;
278 PARRAY InterfaceArray, InterfaceBusNumberArray, ConfigArray, ConfigBusNumberArray;
294 *ReturnedBusHandler = &Bus->
Handler;
324 if ((InterfaceArray) && (InterfaceBusNumberArray) && (ConfigArray) && (ConfigBusNumberArray))
374 &InterfaceBusNumberArray);
380 if (*BusEntry) OldHandler = *BusEntry;
392 &ConfigBusNumberArray);
399 ASSERT((OldHandler ==
NULL) || (OldHandler == *BusEntry));
400 OldHandler = *BusEntry;
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER Handler
BOOLEAN NTAPI HaliFindBusAddressTranslation(IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress, IN OUT PULONG_PTR Context, IN BOOLEAN NextBus)
BOOLEAN NTAPI HaliTranslateBusAddress(IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress)
NTSTATUS NTAPI HalpAssignSlotResources(IN PUNICODE_STRING RegistryPath, IN PUNICODE_STRING DriverClassName, IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT DeviceObject, IN INTERFACE_TYPE BusType, IN ULONG BusNumber, IN ULONG SlotNumber, IN OUT PCM_RESOURCE_LIST *AllocatedResources)
PBUS_HANDLER FASTCALL HaliReferenceHandlerForConfigSpace(IN BUS_DATA_TYPE ConfigType, IN ULONG BusNumber)
VOID FASTCALL HaliReferenceBusHandler(IN PBUS_HANDLER Handler)
PBUS_HANDLER FASTCALL HaliHandlerForConfigSpace(IN BUS_DATA_TYPE ConfigType, IN ULONG BusNumber)
NTSTATUS NTAPI HalpNoAdjustResourceList(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _Inout_ PIO_RESOURCE_REQUIREMENTS_LIST *pResourceList)
Handler for buses without configuration space.
VOID FASTCALL HaliDereferenceBusHandler(IN PBUS_HANDLER Handler)
PBUS_HANDLER FASTCALL HaliReferenceHandlerForBus(IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber)
PBUS_HANDLER FASTCALL HalpLookupHandler(IN PARRAY Array, IN ULONG Type, IN ULONG Number, IN BOOLEAN AddReference)
PBUS_HANDLER FASTCALL HaliHandlerForBus(IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber)
KSPIN_LOCK HalpBusDatabaseSpinLock
NTSTATUS NTAPI HaliRegisterBusHandler(IN INTERFACE_TYPE InterfaceType, IN BUS_DATA_TYPE ConfigType, IN ULONG BusNumber, IN INTERFACE_TYPE ParentBusType, IN ULONG ParentBusNumber, IN ULONG ExtraData, IN PINSTALL_BUS_HANDLER InstallCallback, OUT PBUS_HANDLER *ReturnedBusHandler)
VOID NTAPI HalpGrowArray(IN PARRAY *CurrentArray, IN PARRAY *NewArray)
VOID NTAPI HalpInitBusHandler(VOID)
PARRAY NTAPI HalpAllocateArray(IN ULONG ArraySize)
PBUS_HANDLER NTAPI HalpContextToBusHandler(IN ULONG_PTR ContextValue)
ULONG NTAPI HalpNoBusData(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _In_ ULONG SlotNumber, _In_ PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
Handler for buses without configuration space.
NTSTATUS NTAPI HalpNoAssignSlotResources(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _In_ PUNICODE_STRING RegistryPath, _In_opt_ PUNICODE_STRING DriverClassName, _In_ PDRIVER_OBJECT DriverObject, _In_opt_ PDEVICE_OBJECT DeviceObject, _In_ ULONG SlotNumber, _Inout_ PCM_RESOURCE_LIST *AllocatedResources)
Handler for buses without configuration space.
KEVENT HalpBusDatabaseEvent
LIST_ENTRY HalpAllBusHandlers
#define STATUS_NOT_SUPPORTED
#define RemoveEntryList(Entry)
#define InsertTailList(ListHead, Entry)
#define ExAllocatePoolWithTag(hernya, size, tag)
#define IsListEmpty(ListHead)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define KeReleaseSpinLock(sl, irql)
#define KeSetEvent(pEvt, foo, foo2)
#define KeAcquireSpinLock(sl, irql)
#define InitializeListHead(ListHead)
#define KeInitializeSpinLock(sl)
enum _INTERFACE_TYPE INTERFACE_TYPE
#define ExFreePoolWithTag(_P, _T)
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PCM_RESOURCE_LIST * AllocatedResources
#define HalFindBusAddressTranslation
#define HalRegisterBusHandler
#define HalHandlerForConfigSpace
#define HalPciTranslateBusAddress
#define HalPciAssignSlotResources
NTSTATUS(NTAPI * PINSTALL_BUS_HANDLER)(_In_ PBUS_HANDLER Bus)
_In_ ULONG _In_ ULONG Offset
_In_ ULONG _In_ ULONG _In_ ULONG Length
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
@ ConfigurationSpaceUndefined
enum _BUS_DATA_TYPE BUS_DATA_TYPE
PVOID Element[ANYSIZE_ARRAY]
PGETINTERRUPTVECTOR GetInterruptVector
PGETSETBUSDATA GetBusData
PTRANSLATEBUSADDRESS TranslateBusAddress
PASSIGNSLOTRESOURCES AssignSlotResources
BUS_DATA_TYPE ConfigurationType
struct _BUS_HANDLER * ParentHandler
PGETSETBUSDATA SetBusData
INTERFACE_TYPE InterfaceType
PADJUSTRESOURCELIST AdjustResourceList
struct _LIST_ENTRY * Flink
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
#define STATUS_UNSUCCESSFUL
#define STATUS_INSUFFICIENT_RESOURCES
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
_In_opt_ PUNICODE_STRING DriverClassName
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
#define HalDereferenceBusHandler
#define HalReferenceBusHandler
#define HalReferenceHandlerForBus
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql