type atfwd, domain;
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)
