type sysfs_nanoapp_cmd, sysfs_type, fs_type;

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

# /data
type smlog_dump_file, file_type, data_file_type;
type location_data_file, file_type, data_file_type;
type perfd_data_file, file_type, data_file_type;
type ramdump_data_file, file_type, data_file_type, mlstrustedobject;
type time_data_file, file_type, data_file_type;
type display_data_file, file_type, data_file_type;
type netmgr_data_file, file_type, data_file_type;
type nanohub_lock_file, file_type, data_file_type;
type sensors_cal_file, file_type;
type nfc_vendor_data_file, file_type, data_file_type;
type radio_vendor_data_file, file_type, data_file_type, mlstrustedobject;
type sensor_vendor_data_file, file_type, data_file_type, mlstrustedobject;
type cnss_vendor_data_file, file_type, data_file_type, mlstrustedobject;
type ramdump_vendor_data_file, file_type, data_file_type, mlstrustedobject;

# /sys
type sysfs_camera, sysfs_type, fs_type;
type sysfs_enable_ps_sensor, sysfs_type, fs_type;
type sysfs_fingerprint, sysfs_type, fs_type;
type sysfs_mdss_mdp_caps, sysfs_type, fs_type;
type sysfs_msm_subsys, sysfs_type, fs_type;
type sysfs_msm_subsys_restart, sysfs_type, fs_type;
type sysfs_msm_core, sysfs_type, fs_type;
type sysfs_net, sysfs_type, fs_type, mlstrustedobject;
type sysfs_perf, sysfs_type, fs_type;
type sysfs_pcie, sysfs_type, fs_type, mlstrustedobject;
type sysfs_power_management, sysfs_type, fs_type;
type sysfs_rmtfs, sysfs_type, fs_type;
type sysfs_soc, sysfs_type, fs_type, mlstrustedobject;
type sysfs_timestamp_switch, sysfs_type, fs_type;
type sysfs_video, sysfs_type, fs_type;
type sysfs_wifi, sysfs_type, fs_type, mlstrustedobject;
type sysfs_scsi_devices_0000, sysfs_type, fs_type;
type sysfs_diag, fs_type, sysfs_type;

# debugfs
type debugfs_msm_core, debugfs_type, fs_type;
type debugfs_rmt_storage, debugfs_type, fs_type;
type debugfs_sps, debugfs_type, fs_type;
type debugfs_rpm, debugfs_type, fs_type;
type debugfs_wlan, debugfs_type, fs_type;
type debugfs_kgsl, debugfs_type, fs_type;
type debugfs_ipc, debugfs_type, fs_type;
type debugfs_bufinfo, debugfs_type, fs_type;
type debugfs_mdp, debugfs_type, fs_type;
type debugfs_ion, debugfs_type, fs_type;
type debugfs_qsee_log, debugfs_type, fs_type;
type debugfs_usb, debugfs_type, fs_type;
type debugfs_runtime_pm, debugfs_type, fs_type;
type debugfs_cnss, debugfs_type, fs_type;
type debugfs_ufs, debugfs_type, fs_type;

# /proc
type proc_kernel_sched, fs_type;
type proc_wifi_dbg, fs_type;

# /dev/socket needs to be file_type so init can create
type cnd_socket, file_type;
type ims_socket, file_type;
type netmgrd_socket, file_type;
type qmuxd_socket, file_type;
type thermal_socket, file_type;

type bt_firmware_file, file_type;
type persist_file, file_type;
type persist_data_file, file_type;
type persist_display_file, file_type;

# msm_irqbalance
type proc_irq, fs_type;
type irqbalance_socket, file_type;

# /vendor
type idc_file, file_type, vendor_file_type;
type keylayout_file, file_type, vendor_file_type;
type camera_vendor_data_file, file_type, data_file_type;
