Source code of Windows XP (NT5)
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.

102 lines
2.3 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997 - 1999
  6. //
  7. // File: power.h
  8. //
  9. //--------------------------------------------------------------------------
  10. #if !defined (___power_h___)
  11. #define ___power_h___
  12. typedef struct _SET_POWER_STATE_CONTEXT {
  13. KEVENT Event;
  14. NTSTATUS Status;
  15. } SET_POWER_STATE_CONTEXT, *PSET_POWER_STATE_CONTEXT;
  16. typedef struct _FDO_POWER_CONTEXT *PFDO_POWER_CONTEXT;
  17. NTSTATUS
  18. PciIdeIssueSetPowerState (
  19. IN PCTRLFDO_EXTENSION FdoExtension,
  20. IN POWER_STATE_TYPE Type,
  21. IN POWER_STATE State,
  22. IN BOOLEAN Sync
  23. );
  24. NTSTATUS
  25. PciIdePowerCompletionRoutine (
  26. IN PDEVICE_OBJECT DeviceObject,
  27. IN PIRP Irp,
  28. IN PVOID Context
  29. );
  30. NTSTATUS
  31. PciIdeXQueryPowerState (
  32. IN PDEVICE_OBJECT DeviceObject,
  33. IN OUT PIRP Irp
  34. );
  35. NTSTATUS
  36. PciIdeSetPdoPowerState (
  37. IN PDEVICE_OBJECT DeviceObject,
  38. IN OUT PIRP Irp
  39. );
  40. NTSTATUS
  41. PciIdeSetFdoPowerState (
  42. IN PDEVICE_OBJECT DeviceObject,
  43. IN OUT PIRP Irp
  44. );
  45. NTSTATUS
  46. FdoContingentPowerCompletionRoutine (
  47. IN PDEVICE_OBJECT DeviceObject,
  48. IN UCHAR MinorFunction,
  49. IN POWER_STATE PowerState,
  50. IN PVOID Context,
  51. IN PIO_STATUS_BLOCK IoStatus
  52. );
  53. NTSTATUS
  54. FdoPowerCompletionRoutine (
  55. IN PDEVICE_OBJECT DeviceObject,
  56. IN PIRP Irp,
  57. IN PVOID Context
  58. );
  59. VOID
  60. FdoChildReportPowerDown (
  61. IN PCTRLFDO_EXTENSION FdoExtension,
  62. IN PCHANPDO_EXTENSION PdoExtension
  63. );
  64. NTSTATUS
  65. FdoChildRequestPowerUp (
  66. IN PCTRLFDO_EXTENSION FdoExtension,
  67. IN PCHANPDO_EXTENSION PdoExtension,
  68. IN PIRP ChildPowerIrp
  69. );
  70. NTSTATUS
  71. FdoChildRequestPowerUpCompletionRoutine (
  72. IN PDEVICE_OBJECT DeviceObject,
  73. IN UCHAR MinorFunction,
  74. IN POWER_STATE PowerState,
  75. IN PVOID Context,
  76. IN PIO_STATUS_BLOCK IoStatus
  77. );
  78. NTSTATUS
  79. FdoSystemPowerUpCompletionRoutine (
  80. IN PDEVICE_OBJECT DeviceObject,
  81. IN UCHAR MinorFunction,
  82. IN POWER_STATE PowerState,
  83. IN PVOID Context,
  84. IN PIO_STATUS_BLOCK IoStatus
  85. );
  86. #endif // ___power_h___