# bluetoothtbd.
type bluetoothtbd, domain;
type bluetoothtbd_exec, exec_type, file_type;
type bluetoothtbd_device, dev_type;
type sysfs_bluetoothtbd_readable, fs_type, sysfs_type;
type sysfs_bluetoothtbd_writable, fs_type, sysfs_type;

brillo_domain(bluetoothtbd)

set_prop(bluetoothtbd, bluetooth_prop)
set_prop(bluetoothtbd, debug_prop)
wakelock_use(bluetoothtbd)

allow bluetoothtbd bluetooth_service:service_manager add;

allow bluetoothtbd bluetooth_data_file:dir create_dir_perms;
allow bluetoothtbd bluetooth_data_file:notdevfile_class_set create_file_perms;

type_transition bluetoothtbd bluetooth_data_file:sock_file bluetooth_socket;

allow bluetoothtbd bluetoothtbd_device:chr_file rw_file_perms;

# sysfs access.
allow bluetoothtbd sysfs_bluetoothtbd_readable:file r_file_perms;
allow bluetoothtbd sysfs_bluetoothtbd_writable:file rw_file_perms;

allow bluetoothtbd self:capability net_admin;
allow bluetoothtbd self:capability2 wake_alarm;

# Allow crash_reporter access to core dump files.
allow_crash_reporter(bluetoothtbd)
