type irsc_util, domain, device_domain_deprecated;
type irsc_util_exec, exec_type, file_type;
init_daemon_domain(irsc_util)

userdebug_or_eng(`
  domain_auto_trans(shell, irsc_util_exec, irsc_util)
')

allow irsc_util irsc_util:socket { create ioctl };
allowxperm irsc_util self:socket ioctl msm_sock_ipc_ioctls;

create_pty(irsc_util)
allow irsc_util irsc_util_exec:file execute_no_trans;
