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.
|
|
/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
wake.h
Abstract:
Handles wake code for the entire ACPI subsystem
Author:
splante (splante)
Environment:
Kernel mode only.
Revision History:
06-18-97: Initial Revision 11-24-97: Rewrite
--*/
#ifndef _WAKE_H_
#define _WAKE_H_
//
// This structure is used only within this module to ensure that we run
// the _PSW methods in a synchronized and well behabed manner
//
typedef struct _ACPI_WAKE_PSW_CONTEXT { LIST_ENTRY ListEntry; PDEVICE_EXTENSION DeviceExtension; BOOLEAN Enable; ULONG Count; PFNACB CallBack; PVOID Context; } ACPI_WAKE_PSW_CONTEXT, *PACPI_WAKE_PSW_CONTEXT;
//
// This structure is used when we wake up from hibernate and we need to
// re-enable all of the outstanding _PSWs
//
typedef struct _ACPI_WAKE_RESTORE_PSW_CONTEXT {
PACPI_POWER_CALLBACK CallBack; PVOID CallBackContext;
} ACPI_WAKE_RESTORE_PSW_CONTEXT, *PACPI_WAKE_RESTORE_PSW_CONTEXT;
extern NPAGED_LOOKASIDE_LIST PswContextLookAsideList; extern BOOLEAN PciPmeInterfaceInstantiated;
VOID ACPIWakeCompleteRequestQueue( IN PLIST_ENTRY RequestList, IN NTSTATUS Status );
NTSTATUS ACPIWakeDisableAsync( IN PDEVICE_EXTENSION DeviceExtenion, IN PLIST_ENTRY RequestList, IN PFNACB CallBack, IN PVOID Context );
NTSTATUS ACPIWakeEmptyRequestQueue( IN PDEVICE_EXTENSION DeviceExtension );
NTSTATUS ACPIWakeEnableDisableAsync( IN PDEVICE_EXTENSION DeviceExtension, IN BOOLEAN Enable, IN PFNACB CallBack, IN PVOID Context );
VOID EXPORT ACPIWakeEnableDisableAsyncCallBack( IN PNSOBJ AcpiObject, IN NTSTATUS Status, IN POBJDATA ObjData, IN PVOID Context );
VOID ACPIWakeEnableDisablePciDevice( IN PDEVICE_EXTENSION DeviceExtension, IN BOOLEAN Enable );
NTSTATUS ACPIWakeEnableDisableSync( IN PDEVICE_EXTENSION DeviceExtension, IN BOOLEAN Enable );
VOID EXPORT ACPIWakeEnableDisableSyncCallBack( IN PNSOBJ AcpiObject, IN NTSTATUS Status, IN POBJDATA ObjData, IN PVOID Context );
VOID ACPIWakeEnableWakeEvents( VOID );
NTSTATUS ACPIWakeInitializePciDevice( IN PDEVICE_OBJECT DeviceObject );
NTSTATUS ACPIWakeInitializePmeRouting( IN PDEVICE_OBJECT DeviceObject );
VOID ACPIWakeRemoveDevicesAndUpdate( IN PDEVICE_EXTENSION TargetExtension, IN PLIST_ENTRY ListHead );
NTSTATUS ACPIWakeRestoreEnables( IN PACPI_BUILD_CALLBACK CallBack, IN PVOID CallBackContext );
VOID ACPIWakeRestoreEnablesCompletion( IN PDEVICE_EXTENSION DeviceExtension, IN PVOID Context, IN NTSTATUS Status );
NTSTATUS ACPIWakeWaitIrp( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
#endif
|