type citadeld, domain;
type citadeld_exec, exec_type, vendor_file_type, file_type;

init_daemon_domain(citadeld)

add_service(citadeld, citadeld_service)
binder_use(citadeld)
vndbinder_use(citadeld)
binder_call(citadeld, system_server)

allow citadeld citadel_device:chr_file rw_file_perms;
allow citadeld fwk_stats_service:service_manager find;
allow citadeld hal_power_stats_vendor_service:service_manager find;
