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 /* Published thermal device number */ 20 int devnum; 21 22 /* Required fields for thermal devices */ 23 uint32 critical_temp; 24 uint32 current_temp; 25 26 /* Optional HOT temp, S4 sleep threshold */ 27 uint32 hot_temp; 28 29 /* acpi_objects_type evaluated from _PSL 30 if != NULL, client must free() 31 */ 32 acpi_object_type *passive_package; 33 34 /* List of acpi_thermal_active_objects that can actively manage this thermal device */ 35 uint32 active_count; 36 acpi_thermal_active_object *active_devices; 37 }; 38 39 struct acpi_thermal_active_object { 40 uint32 threshold_temp; 41 acpi_object_type *active_package; 42 }; 43 44 #endif /* _ACPI_THERMAL_H */