# Default type for anything under /firmware.
type firmware_file, fs_type, contextmount_type;

#Define the qmux socket type
type qmuxd_socket, file_type;

#Define the pps socket type
type pps_socket, file_type;

# Define cnd socket and data file type
type cnd_socket, file_type;
type cnd_data_file, file_type;

# Define dpmd data file type
type dpmd_socket, file_type;
type dpmwrapper_socket, file_type;
type dpmd_data_file, file_type, data_file_type;

#Define the timeout for platform specific transports
type sysfs_hsic_modem_wait, sysfs_type, fs_type;
type sysfs_smd_open_timeout, sysfs_type, fs_type;

#Define the files written during the operation of netmgrd and qmuxd
type data_test_data_file, file_type, data_file_type;
type sysrq_trigger_proc, fs_type, mlstrustedobject;
# Persist file types
type persist_file, file_type;
type persist_data_file, file_type;
type persist_drm_file, file_type;
type data_qsee_file, file_type;

type diag_data_file, file_type, data_file_type;

#file type for restricting proc read by audiod
type proc_audiod, fs_type;

# Sensor file types
type sensors_socket, file_type;
type sensors_data_file, file_type, data_file_type;
type sensors_persist_file, file_type;

#type for thermal-engine
type sysfs_thermal, sysfs_type, fs_type;
type thermal_socket, file_type;
#type for uart
type sysfs_msmuart_file, sysfs_type, fs_type;

# Storage RFS file types
type rfs_data_file, file_type;
type rfs_system_file, file_type;
type rfs_shared_hlos_file, file_type;

#mm-pp-daemon file type for sysfs access
type sysfs_leds, fs_type, sysfs_type;

#Define the files written during the operation of mm-pp-daemon
type data_ad_calib_cfg, file_type, data_file_type;

#SurfaceFlinger file type for sysfs access
type sysfs_graphics, sysfs_type, fs_type;

# USB/battery power supply type for hvdcp/quickcharge
type sysfs_usb_supply, sysfs_type, fs_type;
type sysfs_battery_supply, sysfs_type, fs_type;

#Define the files written during the operation of mpdecision
type sysfs_mpdecision, fs_type, sysfs_type;
type sysfs_rqstats, fs_type, sysfs_type;
type sysfs_cpu_online, fs_type, sysfs_type;
type mpctl_socket, file_type;
type mpctl_data_file, file_type, data_file_type;

#mm-qcamera-daemon socket
type camera_socket, file_type;

#Socket node needed by ims_data daemon
type ims_socket, file_type;

#location file types
type location_data_file, file_type, data_file_type;
type location_socket, file_type;
type location_app_data_file, file_type, data_file_type;

#File types required by mdm-helper
type sysfs_esoc, sysfs_type, fs_type;
type sysfs_ssr,  sysfs_type, fs_type;
type sysfs_ssr_toggle,  sysfs_type, file_type;
type sysfs_hsic, sysfs_type, fs_type;
type sysfs_hsic_host_rdy, sysfs_type, file_type;

# Files accessed by qcom-system-daemon
type sysfs_socinfo, fs_type, sysfs_type;

#Define the sysfs files for usb_uicc_daemon
type sysfs_usb_uicc, sysfs_type, fs_type;

type qlogd_socket, file_type;
type qlogd_data_file, file_type;
#Define the files written during the operation of mm-pp-daemon
type display_config, file_type, data_file_type;

# IPA file types
type ipacm_socket, file_type;
type ipacm_data_file, file_type;

#Define the files written during the operation of mmi
type mmi_data_file, file_type, data_file_type;

#needed by vold
type  proc_dirty_ratio, fs_type;

# hbtp config file
type hbtp_cfg_file, file_type;
type hbtp_log_file, file_type;
