1type hal_rcsservice, domain;
2type hal_rcsservice_exec, exec_type, vendor_file_type, file_type;
3
4# Started by init
5init_daemon_domain(hal_rcsservice)
6net_domain(hal_rcsservice)
7
8# To register imsrcsd to hwBinder
9hwbinder_use(hal_rcsservice)
10
11# add IUceSerive and IService to Hidl interface
12add_hwservice(hal_rcsservice, hal_imsrcsd_hwservice)
13add_hwservice(hal_rcsservice, hal_imscallinfo_hwservice)
14
15get_prop(hal_rcsservice, hwservicemanager_prop)
16set_prop(hal_rcsservice, qcom_ims_prop)
17
18allow hal_rcsservice sysfs_timestamp_switch:file r_file_perms;
19allow hal_rcsservice self: { socket qipcrtr_socket } create_socket_perms_no_ioctl;
20#required for socket creation
21unix_socket_connect(hal_rcsservice, ims, ims)
22
23# imsrcsd to bind with UceShimService.apk
24binder_call(hal_rcsservice, dataservice_app)
25
26binder_call(hal_rcsservice, radio)
27
28# imsrcsd needs read/write access to devpts
29allow hal_rcsservice devpts:chr_file rw_file_perms;
30
31# allow imsrcsd capabilities
32wakelock_use(hal_rcsservice)
33allow hal_rcsservice self:capability net_bind_service;
34
35#diag
36userdebug_or_eng(`
37    r_dir_file(hal_rcsservice, sysfs_diag)
38    allow hal_rcsservice diag_device:chr_file rw_file_perms;
39')
40
41set_prop(hal_rcsservice, ctl_vendor_imsrcsservice_prop)
42
43r_dir_file(hal_rcsservice, sysfs_soc)
44r_dir_file(hal_rcsservice, sysfs_ssr)
45r_dir_file(hal_rcsservice, sysfs_esoc)
46r_dir_file(hal_rcsservice, sysfs_msm_subsys)
47allow hal_rcsservice sysfs_data:file r_file_perms;
48