|
|
/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
bus.h
Abstract:
This module contains the bus dispatcher for the ACPI driver, NT version
Author:
Stephane Plante (splante)
Environment:
NT Kernel Model Driver only
--*/
#ifndef _BUS_H_
#define _BUS_H_
extern LIST_ENTRY AcpiUnresolvedEjectList;
#define CompareGuid(g1, g2) ( (g1) == (g2) \
? TRUE \ : RtlCompareMemory( (g1), (g2), sizeof(GUID) ) == sizeof(GUID) \ )
NTSTATUS ACPIBusAndFilterIrpEject( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context, IN BOOLEAN ProcessingFilterIrp );
NTSTATUS ACPIBusAndFilterIrpQueryCapabilities( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context, IN BOOLEAN ProcessingFilterIrp );
NTSTATUS ACPIBusAndFilterIrpQueryEjectRelations( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN OUT PDEVICE_RELATIONS *PdeviceRelations );
NTSTATUS ACPIBusAndFilterIrpQueryPnpDeviceState( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context, IN BOOLEAN ProcessingFilterIrp );
NTSTATUS ACPIBusAndFilterIrpSetLock( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context, IN BOOLEAN ProcessingFilterIrp );
NTSTATUS ACPIBusIrpCancelRemoveOrStopDevice( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpDeviceUsageNotification( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpEject( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
VOID ACPIBusAndFilterIrpEjectCancelRoutine( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
VOID ACPIBusAndFilterIrpEjectComplete( IN PDEVICE_EXTENSION DeviceExtension, IN PIRP Irp OPTIONAL, IN NTSTATUS Status );
NTSTATUS ACPIBusIrpQueryBusInformation( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryBusRelations( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN OUT PDEVICE_RELATIONS *PdeviceRelations );
NTSTATUS ACPIBusIrpQueryCapabilities( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryDeviceRelations( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryId( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryInterface( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryPnpDeviceState( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryPower( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryRemoveOrStopDevice( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryResources( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryResourceRequirements( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpQueryTargetRelation( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN OUT PDEVICE_RELATIONS *PdeviceRelations );
NTSTATUS ACPIBusIrpRemoveDevice( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpSetLock( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpSetDevicePower( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PIO_STACK_LOCATION IrpStack );
NTSTATUS ACPIBusIrpSetPower( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpSetSystemPower( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PIO_STACK_LOCATION IrpStack );
NTSTATUS ACPIBusIrpSetSystemPowerComplete( IN PDEVICE_OBJECT DeviceObject, IN UCHAR MinorFunction, IN POWER_STATE PowerState, IN PVOID Context, IN PIO_STATUS_BLOCK IoStatus );
NTSTATUS ACPIBusIrpStartDevice( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
VOID ACPIBusIrpStartDeviceCompletion( IN PDEVICE_EXTENSION DeviceExtension, IN PVOID Context, IN NTSTATUS Status );
VOID ACPIBusIrpStartDeviceWorker( IN PVOID Context );
NTSTATUS ACPIBusIrpStopDevice( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpSurpriseRemoval( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
NTSTATUS ACPIBusIrpUnhandled( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
VOID SmashInterfaceQuery( IN OUT PIRP Irp );
#endif
|