# All files under /vendor/firmware
type vendor_firmware_file, vendor_file_type, file_type;

#Define the qmux socket type
type qmuxd_socket, file_type;

#Define the netmgrd socket type
type netmgrd_socket, file_type;

#QTI file types
type vendor_qti_data_file, file_type, data_file_type;

type proc_wifi_dbg, proc_type, fs_type;
type proc_swappiness, proc_type, fs_type;

#Define the qdcmss socket type
type qdcmsocket_socket, file_type;

# Define cnd socket and data file type
type cnd_socket, file_type, mlstrustedobject;
type cnd_data_file, file_type, data_file_type;
type chre_socket, 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;
type sysfs_soc, sysfs_type, fs_type;
type sysfs_msm_subsys, sysfs_type, fs_type;
type sysfs_spss, sysfs_type, fs_type;
type sysfs_faceauth, sysfs_type, fs_type;

#Define the files written during the operation of netmgrd and qmuxd
type netmgrd_data_file, file_type, data_file_type;
# Persist file types
type persist_bluetooth_file, file_type , vendor_persist_type;
type persist_camera_file, file_type , vendor_persist_type;
type persist_data_file, file_type , vendor_persist_type;
type persist_drm_file, file_type , vendor_persist_type;
type data_qtee_file, file_type, data_file_type;
type vendor_persist_mmi_file, file_type, vendor_persist_type;
type persist_misc_file, file_type , vendor_persist_type;
type persist_bms_file, file_type , vendor_persist_type;
type persist_secnvm_file, file_type , vendor_persist_type;
type persist_audio_file, file_type , vendor_persist_type;

type proc_sysctl_schedboost, proc_type, fs_type;

#msm irqbalance
type proc_irq, fs_type, proc_type;
type sysfs_irq, fs_type, sysfs_type;
type irqbalance_socket, file_type;

# Sensor file types
type sensors_socket, file_type;
type sensors_persist_file, file_type, vendor_persist_type;
type sysfs_sensors, sysfs_type, fs_type;

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

# Storage RFS file types
type rfs_system_file, system_file_type, file_type;
type rfs_file, file_type, data_file_type;
type rfs_shared_hlos_file, file_type, data_file_type;
type persist_rfs_file, file_type, vendor_persist_type;
type persist_rfs_shared_hlos_file, file_type, vendor_persist_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;
type sysfs_usbpd_device, sysfs_type, fs_type;
# sysfs vadc device for hvdcp/quickcharge
type sysfs_vadc_dev, sysfs_type, fs_type;
# sysfs spmi device for hvdcp/quickcharge
type sysfs_spmi_dev, sysfs_type, fs_type;

# sysfs poweron_alarm is used in init.target.rc
type sysfs_poweron_alarm, 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_data_file, file_type, data_file_type;

#Define the files used by lm
type lm_data_file, file_type, data_file_type;

type sysfs_devfreq, fs_type, sysfs_type;
type sysfs_devfreq_l3cdsp, fs_type, sysfs_type;
type sysfs_mmc_host, fs_type, sysfs_type;
type sysfs_scsi_host, fs_type, sysfs_type;
type sysfs_cpu_boost, fs_type, sysfs_type;
type sysfs_msm_perf, fs_type, sysfs_type;
type sysfs_memory, fs_type, sysfs_type;
type sysfs_lib, fs_type, sysfs_type;
type sysfs_slpi, fs_type, sysfs_type;
type sysfs_process_reclaim, fs_type, sysfs_type;
type sysfs_vmpressure, fs_type, sysfs_type;
type sysfs_msm_boot, fs_type, sysfs_type;
type sysfs_timestamp_switch, sysfs_type, fs_type;

#define the files writer during the operation of app state changes

#define the files writter during the operatio of iop
type iop_socket, file_type;
type iop_data_file, file_type, data_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, data_file_type;

#wifihal service socket for clients to communicate
type wifihal_socket, file_type;

#File types required by mdm-helper, subsystem_ramdump and ssr_setup
type sysfs_esoc, sysfs_type, fs_type;
type sysfs_ssr,  sysfs_type, fs_type;
type sysfs_ssr_writable, sysfs_type, fs_type;
type sysfs_ssr_toggle,  sysfs_type, fs_type;
type sysfs_hsic, sysfs_type, fs_type;
type sysfs_hsic_host_rdy, sysfs_type, fs_type;

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

#Defines the files (configs, dumps, etc) used by display processes
type display_vendor_data_file, file_type, data_file_type;

#Define the files for the operation of QDCM
type persist_display_file, file_type, vendor_persist_type;

# IPA file types
type ipacm_socket, file_type;
type ipa_vendor_data_file, file_type, data_file_type;

# Camera file types
type camera_vendor_data_file, file_type, data_file_type;

# vendor audio data file
type vendor_audio_data_file, file_type, data_file_type;

# Tombstone vendor data
type vendor_tombstone_data_file, file_type, data_file_type;

# Port-bridge file types
type port_bridge_data_file, file_type, data_file_type;

#bluetooth firmware file types
type bt_firmware_file, file_type, contextmount_type, vendor_file_type;

#needed by vold
type  proc_dirty_ratio, fs_type, proc_type;

#File types by mmi


#rmt files
type sysfs_rmtfs, sysfs_type, fs_type;




# used for /dsp files
type adsprpcd_file, file_type, mlstrustedobject, vendor_file_type;


# Regionalization files
type regionalization_file, file_type , vendor_persist_type;
type vendor_carrier_file, file_type, vendor_file_type;

# /data/system/swap/swapfile - swapfile
type swap_data_file, file_type, data_file_type;

# dynamic nv files
type dynamic_nv_data_file, file_type, data_file_type;

# Wifi Data file
type wifi_vendor_data_file, file_type, data_file_type;
type wifi_vendor_wpa_socket, file_type, data_file_type;

#widevine data file
type vendor_mediadrm_data_file, file_type, data_file_type;

# wififtmd socket file
type wififtmd_socket, file_type;

type persist_alarm_file, file_type, vendor_persist_type;

type persist_time_file, file_type, vendor_persist_type;

# kgsl file type for sysfs access
type sysfs_kgsl, sysfs_type, fs_type;
type sysfs_kgsl_proc, sysfs_type, fs_type;
# kgsl snapshot file type for sysfs access
type sysfs_kgsl_snapshot, sysfs_type, fs_type;

# secure touch files
type sysfs_securetouch, fs_type, sysfs_type;

#data sysfs  files
type sysfs_data, fs_type, sysfs_type;

#diag sysfs files
type sysfs_diag, fs_type, sysfs_type;

#laser sysfs files
type sysfs_laser, fs_type, sysfs_type;

# QDMA data files

# path to debugfs use this whic should be only used
# in debug builds
type qti_debugfs, fs_type, debugfs_type;

# vendor radio files
type vendor_radio_data_file, file_type, data_file_type, mlstrustedobject;

# vendor MBN files
type vendor_mbn_data_file, file_type, data_file_type;

#uio sysfs
type sysfs_uio_file, fs_type, sysfs_type;

#irq balance sysfs type
type sysfs_irqbalance , sysfs_type, fs_type;

# vendor camera files
type vendor_camera_data_file, file_type, data_file_type;

# vendor media files
type vendor_media_data_file, file_type, data_file_type;

# vendor sensors files
type sensors_vendor_data_file, file_type, data_file_type;

# wigig, fstman
type sysfs_bond0, fs_type, sysfs_type;
type sysfs_wigig, fs_type, sysfs_type;
type wigignpt_socket, file_type, data_file_type;


# ea sysfs files
type sysfs_ea, fs_type, sysfs_type;

#audio sysfs files
type sysfs_audio, fs_type, sysfs_type;

# audio delta files
type audio_vendor_data_file, file_type, data_file_type;

# lpm sysfs files
type sysfs_msm_stats, fs_type, sysfs_type;
type sysfs_msm_power, fs_type, sysfs_type;

type sysfs_fm, sysfs_type, fs_type;

# for adsp to load /sys/kernel/b ot_adsp/boot
type sysfs_boot_adsp, sysfs_type, fs_type;

# SFS listener data file
type data_tzstorage_file, file_type, data_file_type;

#TLOC Files

#DRM files
type data_qsee_file, file_type, data_file_type;

#secure touch
type sysfs_sectouch, sysfs_type, fs_type;

#TUI Files
type vendor_tui_data_file, file_type, data_file_type;

#BT Files
type vendor_bt_data_file, file_type, data_file_type;

#sysfs jpeg
type sysfs_jpeg, fs_type, sysfs_type;

#SSR Log Files
type ramdump_vendor_data_file, file_type, data_file_type, mlstrustedobject;

# RamdumpFs files
type ramdump_vendor_mnt_file, file_type, data_file_type, mlstrustedobject;

# npu file
type sysfs_npu, fs_type, sysfs_type;

# subsystem_ramdump files
type vendor_ramdump_data_file, file_type, data_file_type;
type vendor_mdmhelperdata_data_file, file_type, data_file_type;

# subsystem ssr log file
type ssr_log_file, file_type, data_file_type;

#for mount of /persist
typeattribute mnt_vendor_file vendor_persist_type;

#NNHAL files
type hal_neuralnetworks_data_file, file_type, data_file_type;

#mpss rfs files
type mpss_rfs_data_file, data_file_type, file_type;

# rfs tombstone data file
type rfs_tombstone_data_file, data_file_type, file_type;

# sysfs wlan
type sysfs_msm_wlan, sysfs_type, fs_type;

type sysfs_scsi_devices_0000, sysfs_type, fs_type;

# for PowerHal
type proc_sched_energy_aware, proc_type, fs_type;

# debugfs wlan
type debugfs_wlan, debugfs_type, fs_type;

# debugfs bt
type debugfs_ipc, debugfs_type, fs_type;

# debugfs icnss
type debugfs_icnss, debugfs_type, fs_type;

# debugfs ion
type debugfs_ion, debugfs_type, fs_type;

# debugfs tz
type debugfs_tzdbg, debugfs_type, fs_type;

# CNSS file
type cnss_vendor_data_file, file_type, data_file_type, mlstrustedobject;

# modem factory data reset file
type modem_fdr_file, file_type, data_file_type;
