[NDK]
[reactos.git] / reactos / include / ddk / oprghdlr.h
1 #include "wdm.h"
2
3 #ifdef EXPORT
4 #undef EXPORT
5 #endif
6 #define EXPORT __cdecl
7
8
9 typedef VOID (EXPORT *PACPI_OP_REGION_CALLBACK)();
10
11 typedef
12 NTSTATUS
13 (EXPORT *PACPI_OP_REGION_HANDLER) (ULONG AccessType,
14 PVOID OperationRegionObject,
15 ULONG Address,
16 ULONG Size,
17 PULONG Data,
18 ULONG_PTR Context,
19 PACPI_OP_REGION_CALLBACK CompletionHandler,
20 PVOID CompletionContext);
21
22 NTSTATUS
23 RegisterOpRegionHandler (IN PDEVICE_OBJECT DeviceObject,
24 IN ULONG AccessType,
25 IN ULONG RegionSpace,
26 IN PACPI_OP_REGION_HANDLER Handler,
27 IN PVOID Context, IN ULONG Flags,
28 IN OUT PVOID *OperationRegionObject);
29
30 NTSTATUS
31 DeRegisterOpRegionHandler (IN PDEVICE_OBJECT DeviceObject,
32 IN PVOID OperationRegionObject);
33
34 #define ACPI_OPREGION_ACCESS_AS_RAW 0x1
35 #define ACPI_OPREGION_ACCESS_AS_COOKED 0x2
36 #define ACPI_OPREGION_REGION_SPACE_MEMORY 0x0
37 #define ACPI_OPREGION_REGION_SPACE_IO 0x1
38 #define ACPI_OPREGION_REGION_SPACE_PCI_CONFIG 0x2
39 #define ACPI_OPREGION_REGION_SPACE_EC 0x3
40 #define ACPI_OPREGION_REGION_SPACE_SMB 0x4
41 #define ACPI_OPREGION_READ 0x0
42 #define ACPI_OPREGION_WRITE 0x1
43 #define ACPI_OPREGION_ACCESS_AT_HIGH_LEVEL 0x1