| 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 |
| 44 | |