xref: /reactos/sdk/include/ddk/oprghdlr.h (revision c2c66aff)
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