1 /* ++++++++++ 2 Public interface to the ACPI thermal device driver. 3 +++++ */ 4 #ifndef _ACPI_THERMAL_H 5 #define _ACPI_THERMAL_H 6 7 #include <KernelExport.h> 8 #include <ACPI.h> 9 10 enum { /* ioctl op-codes */ 11 drvOpGetThermalType = B_DEVICE_OP_CODES_END + 10001, 12 }; 13 14 15 typedef struct acpi_thermal_active_object acpi_thermal_active_object; 16 typedef struct acpi_thermal_type acpi_thermal_type; 17 18 struct acpi_thermal_type { 19 /* Required fields for thermal devices */ 20 uint32 critical_temp; 21 uint32 current_temp; 22 23 /* Optional HOT temp, S4 sleep threshold */ 24 uint32 hot_temp; 25 26 /* acpi_objects_type evaluated from _PSL 27 if != NULL, client must free() 28 */ 29 acpi_object_type *passive_package; 30 31 /* List of acpi_thermal_active_objects that can actively manage this thermal device */ 32 uint32 active_count; 33 acpi_thermal_active_object *active_devices; 34 }; 35 36 struct acpi_thermal_active_object { 37 uint32 threshold_temp; 38 acpi_object_type *active_package; 39 }; 40 41 #endif /* _ACPI_THERMAL_H */ 42