type irsc_util, domain, 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)
  domain_auto_trans(adbd, irsc_util_exec, irsc_util)
')

allow irsc_util irsc_util:socket {create ioctl};
create_pty(irsc_util)
allow irsc_util irsc_util_exec:file execute_no_trans;
