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.
 
 
 
 
 
 

136 lines
2.6 KiB

/*++
Copyright (c) 2000-2001 Microsoft Corporation
Module Name:
acpisim.h
Abstract:
ACPI BIOS Simulator / Generic 3rd Party Operation Region Provider
Author(s):
Vincent Geglia
Michael T. Murphy
Chris Burgess
Environment:
Kernel mode
Notes:
Revision History:
--*/
#if !defined(_ACPISIM_H_)
#define _ACPISIM_H_
//
// includes
//
#include "asimlib.h"
//
// State definitions for PNP
//
typedef enum {
PNP_STATE_INITIALIZING = 0,
PNP_STATE_STARTED,
PNP_STATE_STOPPED,
PNP_STATE_REMOVED,
PNP_STATE_SURPRISE_REMOVAL,
PNP_STATE_STOP_PENDING,
PNP_STATE_REMOVE_PENDING
} PNP_STATE;
//
// State definitions for Power
//
typedef enum {
POWER_STATE_WORKING = 0,
POWER_STATE_POWER_PENDING,
POWER_STATE_POWERED_DOWN
} PWR_STATE;
//
// Device extension flag types
//
typedef enum {
DE_FLAG_INTERFACE_REGISTERED = 1,
DE_FLAG_INTERFACE_ENABLED = 2,
DE_FLAG_OPREGION_REGISTERED = 4
} DEV_EXT_FLAGS;
//
// Global driver object extension definition
//
typedef struct _DRIVER_OBJECT_EXTENSION {
UNICODE_STRING RegistryPath;
PDRIVER_OBJECT DriverObject;
} DRIVER_OBJECT_EXTENSION, *PDRIVER_OBJECT_EXTENSION;
//
// Device extension definition
//
typedef struct _DEVICE_EXTENSION {
ULONG Signature;
PNP_STATE PnpState;
PWR_STATE PowerState;
DEVICE_POWER_STATE DevicePowerState;
ULONG OperationsInProgress;
ULONG OutstandingIrpCount;
ULONG HandleCount;
UNICODE_STRING InterfaceString;
KEVENT IrpsCompleted;
PDEVICE_OBJECT NextDevice;
PDEVICE_OBJECT DeviceObject;
PDEVICE_OBJECT Pdo;
DEVICE_POWER_STATE PowerMappings [6];
IO_REMOVE_LOCK RemoveLock;
//
// Project specific fields
//
DEV_EXT_FLAGS Flags;
} DEVICE_EXTENSION, *PDEVICE_EXTENSION;
//
// Irp dispatch routine handler function prototype
//
typedef
NTSTATUS
(*PIRP_DISPATCH_ROUTINE) (
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp
);
//
// Irp dispatch table definition
//
typedef struct _IRP_DISPATCH_TABLE {
ULONG IrpFunction;
TCHAR IrpName[50];
PIRP_DISPATCH_ROUTINE IrpHandler;
} IRP_DISPATCH_TABLE, *PIRP_DISPATCH_TABLE;
//
// Public function prototypes
//
#endif // _ACPISIM_H_