260 lines
6.4 KiB
C
260 lines
6.4 KiB
C
|
/*++
|
||
|
|
||
|
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
|