type atfwd, domain, device_domain_deprecated;
type atfwd_exec, exec_type, file_type;

# Started by init
init_daemon_domain(atfwd)

binder_use(atfwd)
binder_call(atfwd,system_app)

allow atfwd sysfs_msm_subsys:dir r_dir_perms;
allow atfwd sysfs_msm_subsys:lnk_file r_file_perms;

set_prop(atfwd, radio_atfwd_prop)

allow atfwd atfwd_service:service_manager find;
qmux_socket(atfwd)
