130 lines
3.8 KiB
C
130 lines
3.8 KiB
C
/*++
|
|
|
|
Copyright (c) 1998 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
syspower.h
|
|
|
|
Abstract:
|
|
|
|
Contains all the code that deals with the system having to determine
|
|
System Power State to Device Power State mappings
|
|
|
|
Author:
|
|
|
|
Stephane Plante (splante)
|
|
|
|
Environment:
|
|
|
|
Kernel mode only.
|
|
|
|
Revision History:
|
|
|
|
October 29th, 1998
|
|
|
|
--*/
|
|
|
|
#ifndef _SYSPOWER_H_
|
|
#define _SYSPOWER_H_
|
|
|
|
#define IoCopyDeviceCapabilitiesMapping( Source, Dest ) \
|
|
RtlCopyMemory( (PUCHAR) Dest, (PUCHAR) Source, \
|
|
(PowerSystemShutdown + 1) * sizeof(DEVICE_POWER_STATE) )
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerDetermineSupportedDeviceStates(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN SYSTEM_POWER_STATE SystemState,
|
|
OUT ULONG *SupportedDeviceStates
|
|
);
|
|
|
|
DEVICE_POWER_STATE
|
|
ACPISystemPowerDetermineSupportedDeviceWakeState(
|
|
IN PDEVICE_EXTENSION DeviceExtension
|
|
);
|
|
|
|
SYSTEM_POWER_STATE
|
|
ACPISystemPowerDetermineSupportedSystemState(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN DEVICE_POWER_STATE DeviceState
|
|
);
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerGetSxD(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN SYSTEM_POWER_STATE SystemState,
|
|
OUT DEVICE_POWER_STATE *DeviceState
|
|
);
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerInitializeRootMapping(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN PDEVICE_CAPABILITIES DeviceCapabilities
|
|
);
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerProcessRootMapping(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN DEVICE_POWER_STATE DeviceMapping[PowerSystemMaximum]
|
|
);
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerProcessSxD(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN DEVICE_POWER_STATE CurrentMapping[PowerSystemMaximum],
|
|
IN PBOOLEAN MatchFound
|
|
);
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerQueryDeviceCapabilities(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN PDEVICE_CAPABILITIES DeviceCapabilities
|
|
);
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerUpdateDeviceCapabilities(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN PDEVICE_CAPABILITIES BaseCapabilities,
|
|
IN PDEVICE_CAPABILITIES DeviceCapabilities
|
|
);
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerUpdateWakeCapabilities(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN PDEVICE_CAPABILITIES BaseCapabilities,
|
|
IN PDEVICE_CAPABILITIES DeviceCapabilities,
|
|
IN DEVICE_POWER_STATE CurrentMapping[PowerSystemMaximum],
|
|
IN ULONG *SupportedWake,
|
|
IN SYSTEM_POWER_STATE *SystemWakeLevel,
|
|
IN DEVICE_POWER_STATE *DeviceWakeLevel,
|
|
IN DEVICE_POWER_STATE *FilterWakeLevel
|
|
);
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerUpdateWakeCapabilitiesForFilters(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN PDEVICE_CAPABILITIES BaseCapabilities,
|
|
IN PDEVICE_CAPABILITIES DeviceCapabilities,
|
|
IN DEVICE_POWER_STATE CurrentMapping[PowerSystemMaximum],
|
|
IN ULONG *SupportedWake,
|
|
IN SYSTEM_POWER_STATE *SystemWakeLevel,
|
|
IN DEVICE_POWER_STATE *DeviceWakeLevel,
|
|
IN DEVICE_POWER_STATE *FilterWakeLevel
|
|
);
|
|
|
|
NTSTATUS
|
|
ACPISystemPowerUpdateWakeCapabilitiesForPDOs(
|
|
IN PDEVICE_EXTENSION DeviceExtension,
|
|
IN PDEVICE_CAPABILITIES BaseCapabilities,
|
|
IN PDEVICE_CAPABILITIES DeviceCapabilities,
|
|
IN DEVICE_POWER_STATE CurrentMapping[PowerSystemMaximum],
|
|
IN ULONG *SupportedWake,
|
|
IN SYSTEM_POWER_STATE *SystemWakeLevel,
|
|
IN DEVICE_POWER_STATE *DeviceWakeLevel,
|
|
IN DEVICE_POWER_STATE *FilterWakeLevel
|
|
);
|
|
|
|
#endif
|
|
|