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
10enum { /* ioctl op-codes */
11	drvOpGetThermalType = B_DEVICE_OP_CODES_END + 10001,
12};
13
14
15typedef struct acpi_thermal_active_object acpi_thermal_active_object;
16typedef struct acpi_thermal_type acpi_thermal_type;
17
18struct 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
36struct acpi_thermal_active_object {
37	uint32 threshold_temp;
38	acpi_object_type *active_package;
39};
40
41#endif /* _ACPI_THERMAL_H */
42