# Temperature sensor daemon (root process)
type thermald, domain, domain_deprecated;
type thermald_exec, exec_type, file_type;

# Started by init
init_daemon_domain(thermald)

allow thermald shared_log_device:chr_file rw_file_perms;

allow thermald self:capability { dac_override fsetid chown };

# Access to /dev/msm_thermal_query
allow thermald thermal_engine_device:chr_file rw_file_perms;

# Talk to qmuxd (/dev/socket/qmux_radio)
qmux_socket(thermald)

# Create and access to /dev/socket/thermal-.*
type_transition thermald socket_device:sock_file thermald_socket;
allow thermald socket_device:dir w_dir_perms;
allow thermald thermald_socket:sock_file create_file_perms;

allow thermald self:socket create_socket_perms;

# Writes to /sys/module/msm_thermal/core_control/cpus_offlined
allow thermald sysfs_mpdecision:file rw_file_perms;

# TODO specify specific labels for /sys/ files
allow thermald sysfs:file write;
allow thermald sysfs_usb:file write;
allow thermald sysfs_batteryinfo:file r_file_perms;
