Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.5 KiB

  1. #define TRANSLATION_RANGE_SPARSE 0x0001
  2. #define TRANSLATION_DATA_PARENT_ADDRESS 0x6000
  3. #define TRANSLATION_MEM_TO_IO 0x20
  4. #define TRANSLATION_IO_TO_MEM 0x40
  5. typedef struct {
  6. UCHAR ParentType;
  7. UCHAR ChildType;
  8. PHYSICAL_ADDRESS ParentAddress;
  9. PHYSICAL_ADDRESS ChildAddress;
  10. ULONGLONG Length;
  11. } BRIDGE_WINDOW, *PBRIDGE_WINDOW;
  12. typedef struct {
  13. PNSOBJ AcpiObject;
  14. ULONG RangeCount;
  15. PBRIDGE_WINDOW Ranges;
  16. PIO_RESOURCE_REQUIREMENTS_LIST IoList;
  17. } BRIDGE_TRANSLATOR, *PBRIDGE_TRANSLATOR;
  18. NTSTATUS
  19. TranslateEjectInterface(
  20. PDEVICE_OBJECT DeviceObject,
  21. PIRP Irp
  22. );
  23. NTSTATUS
  24. TranslateBridgeResources(
  25. IN PVOID Context,
  26. IN PCM_PARTIAL_RESOURCE_DESCRIPTOR Source,
  27. IN RESOURCE_TRANSLATION_DIRECTION Direction,
  28. IN ULONG AlternativesCount, OPTIONAL
  29. IN IO_RESOURCE_DESCRIPTOR Alternatives[], OPTIONAL
  30. IN PDEVICE_OBJECT PhysicalDeviceObject,
  31. OUT PCM_PARTIAL_RESOURCE_DESCRIPTOR Target
  32. );
  33. NTSTATUS
  34. TranslateBridgeRequirements(
  35. IN PVOID Context,
  36. IN PIO_RESOURCE_DESCRIPTOR Source,
  37. IN PDEVICE_OBJECT PhysicalDeviceObject,
  38. OUT PULONG TargetCount,
  39. OUT PIO_RESOURCE_DESCRIPTOR *Target
  40. );
  41. NTSTATUS
  42. PciBusEjectInterface(
  43. PDEVICE_OBJECT DeviceObject,
  44. PIRP Irp
  45. );
  46. VOID
  47. AcpiNullReference(
  48. PVOID Context
  49. );
  50. extern HAL_PORT_RANGE_INTERFACE HalPortRangeInterface;