1 #ifndef ACPI_DEV_INTERFACE_H
2 #define ACPI_DEV_INTERFACE_H
3 
4 #include "qom/object.h"
5 #include "qapi-types.h"
6 
7 #define TYPE_ACPI_DEVICE_IF "acpi-device-interface"
8 
9 #define ACPI_DEVICE_IF_CLASS(klass) \
10      OBJECT_CLASS_CHECK(AcpiDeviceIfClass, (klass), \
11                         TYPE_ACPI_DEVICE_IF)
12 #define ACPI_DEVICE_IF_GET_CLASS(obj) \
13      OBJECT_GET_CLASS(AcpiDeviceIfClass, (obj), \
14                       TYPE_ACPI_DEVICE_IF)
15 #define ACPI_DEVICE_IF(obj) \
16      INTERFACE_CHECK(AcpiDeviceIf, (obj), \
17                      TYPE_ACPI_DEVICE_IF)
18 
19 
20 typedef struct AcpiDeviceIf {
21     /* <private> */
22     Object Parent;
23 } AcpiDeviceIf;
24 
25 /**
26  * AcpiDeviceIfClass:
27  *
28  * ospm_status: returns status of ACPI device objects, reported
29  *              via _OST method if device supports it.
30  *
31  * Interface is designed for providing unified interface
32  * to generic ACPI functionality that could be used without
33  * knowledge about internals of actual device that implements
34  * ACPI interface.
35  */
36 typedef struct AcpiDeviceIfClass {
37     /* <private> */
38     InterfaceClass parent_class;
39 
40     /* <public> */
41     void (*ospm_status)(AcpiDeviceIf *adev, ACPIOSTInfoList ***list);
42 } AcpiDeviceIfClass;
43 #endif
44