;; new_objects - a collection of types that have been introduced that have no
;;   analogue in older policy.  Thus, we do not need to map these types to
;;   previous ones.  Add here to pass checkapi tests.
(typeattribute new_objects)
(typeattributeset new_objects
  ( adbd_exec
    bootloader_boot_reason_prop
    bpfloader
    bpfloader_exec
    broadcastradio_service
    cgroup_bpf
    crossprofileapps_service
    e2fs
    e2fs_exec
    exported_config_prop
    exported_dalvik_prop
    exported_default_prop
    exported_dumpstate_prop
    exported_ffs_prop
    exported_fingerprint_prop
    exported_overlay_prop
    exported_pm_prop
    exported_radio_prop
    exported_system_prop
    exported_system_radio_prop
    exported_vold_prop
    exported2_config_prop
    exported2_default_prop
    exported2_radio_prop
    exported2_system_prop
    exported2_vold_prop
    exported3_default_prop
    exported3_system_prop
    fs_bpf
    hal_broadcastradio_hwservice
    hal_cas_hwservice
    hal_lowpan_hwservice
    hal_neuralnetworks_hwservice
    hal_tetheroffload_hwservice
    hal_wifi_offload_hwservice
    kmsg_debug_device
    last_boot_reason_prop
    mediaprovider_tmpfs
    netd_stable_secret_prop
    package_native_service
    lowpan_device
    lowpan_prop
    lowpan_service
    mediaprovider_tmpfs
    netd_stable_secret_prop
    network_watchlist_data_file
    network_watchlist_service
    package_native_service
    perfprofd_service
    property_info
    slice_service
    stats
    stats_data_file
    stats_exec
    stats_service
    statsd
    statsd_exec
    statsd_tmpfs
    statscompanion_service
    storaged_data_file
    sysfs_fs_ext4_features
    system_boot_reason_prop
    system_net_netd_hwservice
    thermal_service
    thermalcallback_hwservice
    thermalserviced
    thermalserviced_exec
    thermalserviced_tmpfs
    timezone_service
    tombstoned_java_trace_socket
    tombstone_wifi_data_file
    traceur_app
    traceur_app_tmpfs
    traced
    traced_consumer_socket
    traced_exec
    traced_probes
    traced_probes_exec
    traced_probes_tmpfs
    traced_producer_socket
    traced_tmpfs
    update_engine_log_data_file
    vendor_default_prop
    vendor_init
    vendor_shell
    vold_prepare_subdirs
    vold_prepare_subdirs_exec
    vold_service
    wpantund
    wpantund_exec
    wpantund_service
    wpantund_tmpfs
    wm_trace_data_file))

;; private_objects - a collection of types that were labeled differently in
;;     older policy, but that should not remain accessible to vendor policy.
;;     Thus, these types are also not mapped, but recorded for checkapi tests
(typeattribute priv_objects)
(typeattributeset priv_objects
     ( adbd_tmpfs ))
