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.

138 lines
2.4 KiB

  1. #ifndef _SOFTPCIDEVICEH_
  2. #define _SOFTPCIDEVICEH_
  3. #define SoftPCI_GetCurrentConfigSpace(pdn, commonConfig) \
  4. SoftPCI_ReadWriteConfigSpace(pdn, \
  5. 0, \
  6. sizeof(PCI_COMMON_CONFIG), \
  7. commonConfig, \
  8. FALSE \
  9. )
  10. BOOL
  11. SoftPCI_GetSlotPathList(
  12. IN PPCI_DN Pdn,
  13. OUT PULONG SlotCount,
  14. OUT PLIST_ENTRY SlotPathList
  15. );
  16. BOOL
  17. SoftPCI_GetDevicePathList(
  18. IN PPCI_DN Pdn,
  19. OUT PLIST_ENTRY DevicePathList
  20. );
  21. VOID
  22. SoftPCI_DestroySlotPathList(
  23. PLIST_ENTRY SlotPathList
  24. );
  25. PWCHAR
  26. SoftPCI_GetPciPathFromDn(
  27. IN PPCI_DN Pdn
  28. );
  29. VOID
  30. SoftPCI_EnumerateDevices(
  31. IN PPCI_TREE PciTree,
  32. IN PPCI_DN *Pdn,
  33. IN DEVNODE Dn,
  34. IN PPCI_DN Parent
  35. );
  36. BOOL
  37. SoftPCI_EnumerateHotplugDevices(
  38. IN PPCI_TREE PciTree,
  39. IN PPCI_DN ControllerDevnode
  40. );
  41. VOID
  42. SoftPCI_AddChild(
  43. IN PPCI_DN Parent,
  44. IN PPCI_DN Child
  45. );
  46. VOID
  47. SoftPCI_BringHotplugDeviceOnline(
  48. IN PPCI_DN PciDn,
  49. IN UCHAR SlotNumber
  50. );
  51. VOID
  52. SoftPCI_TakeHotplugDeviceOffline(
  53. IN PPCI_DN PciDn,
  54. IN UCHAR SlotNumber
  55. );
  56. ULONGLONG
  57. SoftPCI_GetLengthFromBar(
  58. ULONGLONG BaseAddressRegister
  59. );
  60. VOID
  61. SoftPCI_CompletePciDevNode(
  62. IN PPCI_DN Pdn
  63. );
  64. HANDLE
  65. SoftPCI_OpenHandleToDriver(
  66. VOID
  67. );
  68. BOOL
  69. SoftPCI_IsBridgeDevice(
  70. IN PPCI_DN Pdn
  71. );
  72. BOOL
  73. SoftPCI_IsSoftPCIDevice(
  74. IN PPCI_DN Pdn
  75. );
  76. BOOL
  77. SoftPCI_IsDevnodePCIRoot(
  78. IN DEVNODE Dn,
  79. IN BOOL ValidateAll
  80. );
  81. BOOL
  82. SoftPCI_UpdateDeviceFriendlyName(
  83. IN DEVNODE DeviceNode,
  84. IN PWCHAR NewName
  85. );
  86. VOID
  87. SoftPCI_InitializeDevice(
  88. IN PSOFTPCI_DEVICE Device,
  89. IN SOFTPCI_DEV_TYPE Type
  90. );
  91. VOID
  92. SoftPCI_InstallScriptDevices(
  93. VOID
  94. );
  95. BOOL
  96. SoftPCI_CreateDevice(
  97. IN PVOID CreateDevice,
  98. IN ULONG PossibleDeviceMask,
  99. IN BOOL PathBasedDevice
  100. );
  101. BOOL
  102. SoftPCI_DeleteDevice(
  103. IN PSOFTPCI_DEVICE Device
  104. );
  105. BOOL
  106. SoftPCI_ReadWriteConfigSpace(
  107. IN PPCI_DN Device,
  108. IN ULONG Offset,
  109. IN ULONG Length,
  110. IN OUT PVOID Buffer,
  111. IN BOOL WriteConfig
  112. );
  113. #endif