12dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley###################################### 22dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# Attribute declarations 32dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# 42dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 52dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types used for devices. 6ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# On change, update CHECK_FC_ASSERT_ATTRS 7ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# in tools/checkfc.c 82dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute dev_type; 92dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 102dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types used for processes. 112dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute domain; 122dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 132dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types used for filesystems. 14ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# On change, update CHECK_FC_ASSERT_ATTRS 15ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# definition in tools/checkfc.c. 162dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute fs_type; 172dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 18d2503ba864b4a8b992529178608aa3c881626006Stephen Smalley# All types used for context= mounts. 19d2503ba864b4a8b992529178608aa3c881626006Stephen Smalleyattribute contextmount_type; 20d2503ba864b4a8b992529178608aa3c881626006Stephen Smalley 212dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types used for files that can exist on a labeled fs. 222dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# Do not use for pseudo file types. 23ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# On change, update CHECK_FC_ASSERT_ATTRS 24ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# definition in tools/checkfc.c. 252dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute file_type; 262dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 272dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types used for domain entry points. 282dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute exec_type; 292dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 302dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types used for /data files. 312dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute data_file_type; 3291d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanexpandattribute data_file_type false; 334a478c47f464f0f49f8802b3f49d03744450ac15Jeff Vander Stoep# All types in /data, not in /data/vendor 344a478c47f464f0f49f8802b3f49d03744450ac15Jeff Vander Stoepattribute core_data_file_type; 35bdd454792d52719f3b8b1fe8c3fd08cb13a393f1Jeff Vander Stoepexpandattribute core_data_file_type false; 36277a20ebecda8f9d12a10c4f8eb52dbf04c30e43Sandeep Patil# All types in /vendor 37277a20ebecda8f9d12a10c4f8eb52dbf04c30e43Sandeep Patilattribute vendor_file_type; 38277a20ebecda8f9d12a10c4f8eb52dbf04c30e43Sandeep Patil 3962e6850a2be1954148e5282cb773ea22cca4b214Tri Vo# All types used for procfs files. 4062e6850a2be1954148e5282cb773ea22cca4b214Tri Voattribute proc_type; 41db6218417c6ceb8ee61f6d1e7cc0410f2c516e95Jeff Vander Stoepexpandattribute proc_type false; 4262e6850a2be1954148e5282cb773ea22cca4b214Tri Vo 4362e6850a2be1954148e5282cb773ea22cca4b214Tri Vo# All types used for sysfs files. 442dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute sysfs_type; 452dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 4644826cb5e4b20e0f7b7bfa72f64767e5fcc4f253Nick Kralevich# All types use for debugfs files. 4744826cb5e4b20e0f7b7bfa72f64767e5fcc4f253Nick Kralevichattribute debugfs_type; 4844826cb5e4b20e0f7b7bfa72f64767e5fcc4f253Nick Kralevich 49c195ec31485766d065d3e3101268d5ce727ff4c0William Roberts# Attribute used for all sdcards 50c195ec31485766d065d3e3101268d5ce727ff4c0William Robertsattribute sdcard_type; 51c195ec31485766d065d3e3101268d5ce727ff4c0William Roberts 522dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types used for nodes/hosts. 532dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute node_type; 542dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 552dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types used for network interfaces. 562dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute netif_type; 572dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 582dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types used for network ports. 592dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute port_type; 602dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 61124720a6976a69357522299afbe5591854e40775Stephen Smalley# All types used for property service 62ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# On change, update CHECK_PC_ASSERT_ATTRS 63ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# definition in tools/checkfc.c. 64124720a6976a69357522299afbe5591854e40775Stephen Smalleyattribute property_type; 65124720a6976a69357522299afbe5591854e40775Stephen Smalley 665a570a4b6b89a2226970de93887f25a10a2e4548Nick Kralevich# All properties defined in core SELinux policy. Should not be 675a570a4b6b89a2226970de93887f25a10a2e4548Nick Kralevich# used by device specific properties 685a570a4b6b89a2226970de93887f25a10a2e4548Nick Kralevichattribute core_property_type; 695a570a4b6b89a2226970de93887f25a10a2e4548Nick Kralevich 7084cfde229ce05f44944df1237c4e9465c04c67d3mukesh agrawal# All properties used to configure log filtering. 7184cfde229ce05f44944df1237c4e9465c04c67d3mukesh agrawalattribute log_property_type; 7284cfde229ce05f44944df1237c4e9465c04c67d3mukesh agrawal 73c0f8f2f82a9526be7c7835f2ef9501948fd5b4edJiyong Park# All properties that are not specific to device but are added from 74c0f8f2f82a9526be7c7835f2ef9501948fd5b4edJiyong Park# outside of AOSP. (e.g. OEM-specific properties) 75c0f8f2f82a9526be7c7835f2ef9501948fd5b4edJiyong Park# These properties are not accessible from device-specific domains 76c0f8f2f82a9526be7c7835f2ef9501948fd5b4edJiyong Parkattribute extended_core_property_type; 77c0f8f2f82a9526be7c7835f2ef9501948fd5b4edJiyong Park 78bd7f5803f924b0ca318c1d426b683c3f658754f9dcashman# All service_manager types created by system_server 79d12993f0846744ae8188a299cb1bb135014f626adcashmanattribute system_server_service; 80d12993f0846744ae8188a299cb1bb135014f626adcashman 81d12993f0846744ae8188a299cb1bb135014f626adcashman# services which should be available to all but isolated apps 82d12993f0846744ae8188a299cb1bb135014f626adcashmanattribute app_api_service; 83d12993f0846744ae8188a299cb1bb135014f626adcashman 846237d8b787adc5d685e8ce2eb983182add58aadbAlex Klyubin# services which should be available to all ephemeral apps 856237d8b787adc5d685e8ce2eb983182add58aadbAlex Klyubinattribute ephemeral_app_api_service; 866237d8b787adc5d685e8ce2eb983182add58aadbAlex Klyubin 87d12993f0846744ae8188a299cb1bb135014f626adcashman# services which export only system_api 88d12993f0846744ae8188a299cb1bb135014f626adcashmanattribute system_api_service; 894a89cdfa89448c8660308a31bfcb517fffaa239edcashman 90bc6d88d2da12aa9cf43442d928f296c573a345b3Martijn Coenen# All types used for services managed by servicemanager. 91ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# On change, update CHECK_SC_ASSERT_ATTRS 92ad3cb39e54040e5a03328d8006f428579d1654e0William Roberts# definition in tools/checkfc.c. 93f90c41f6e8d5c1266e154f46586a2ceb260f1be6Riley Spahnattribute service_manager_type; 94f90c41f6e8d5c1266e154f46586a2ceb260f1be6Riley Spahn 95bc6d88d2da12aa9cf43442d928f296c573a345b3Martijn Coenen# All types used for services managed by hwservicemanager 96bc6d88d2da12aa9cf43442d928f296c573a345b3Martijn Coenenattribute hwservice_manager_type; 97bc6d88d2da12aa9cf43442d928f296c573a345b3Martijn Coenen 982a7f4fb069a574fb9bd34acbf27ba86cd804005bAlex Klyubin# All HwBinder services guaranteed to be passthrough. These services always run 992a7f4fb069a574fb9bd34acbf27ba86cd804005bAlex Klyubin# in the process of their clients, and thus operate with the same access as 1002a7f4fb069a574fb9bd34acbf27ba86cd804005bAlex Klyubin# their clients. 1012a7f4fb069a574fb9bd34acbf27ba86cd804005bAlex Klyubinattribute same_process_hwservice; 1022a7f4fb069a574fb9bd34acbf27ba86cd804005bAlex Klyubin 1032a7f4fb069a574fb9bd34acbf27ba86cd804005bAlex Klyubin# All HwBinder services guaranteed to be offered only by core domain components 1042a7f4fb069a574fb9bd34acbf27ba86cd804005bAlex Klyubinattribute coredomain_hwservice; 1052a7f4fb069a574fb9bd34acbf27ba86cd804005bAlex Klyubin 106bc6d88d2da12aa9cf43442d928f296c573a345b3Martijn Coenen# All types used for services managed by vndservicemanager 107bc6d88d2da12aa9cf43442d928f296c573a345b3Martijn Coenenattribute vndservice_manager_type; 108bc6d88d2da12aa9cf43442d928f296c573a345b3Martijn Coenen 109bc6d88d2da12aa9cf43442d928f296c573a345b3Martijn Coenen 1102dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All domains that can override MLS restrictions. 1112dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# i.e. processes that can read up and write down. 1122dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute mlstrustedsubject; 1132dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 1142dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All types that can override MLS restrictions. 1152dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# i.e. files that can be read by lower and written by higher 1162dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute mlstrustedobject; 1172dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 1182dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All domains used for apps. 1192dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute appdomain; 1202dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 121bacb6d79360f3591680b215177602dcdc3181bf3Jeff Vander Stoep# All third party apps. 122bacb6d79360f3591680b215177602dcdc3181bf3Jeff Vander Stoepattribute untrusted_app_all; 123bacb6d79360f3591680b215177602dcdc3181bf3Jeff Vander Stoep 1242dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All domains used for apps with network access. 1252dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute netdomain; 1262dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 1272dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All domains used for apps with bluetooth access. 1282dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute bluetoothdomain; 1292dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley 1302dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalley# All domains used for binder service domains. 1312dd4e51d5c2a2dfc0bfdee9303269f5a665f6e3Stephen Smalleyattribute binderservicedomain; 1320f8d9261536dfe3c2370dd76059aee8bd059624dAlex Deymo 133d63084d32a45ea443c19c871f9de7d44102034a0Alex Deymo# update_engine related domains that need to apply an update and run 134d63084d32a45ea443c19c871f9de7d44102034a0Alex Deymo# postinstall. This includes the background daemon and the sideload tool from 135d63084d32a45ea443c19c871f9de7d44102034a0Alex Deymo# recovery for A/B devices. 136d63084d32a45ea443c19c871f9de7d44102034a0Alex Deymoattribute update_engine_common; 1373319d5ee16d6b90f1ce5137e9f650e4c38c975b3dcashman 138f5446eb1486816c00136b2b5f0a3cc4a01706000Alex Klyubin# All core domains (as opposed to vendor/device-specific domains) 139f5446eb1486816c00136b2b5f0a3cc4a01706000Alex Klyubinattribute coredomain; 140f5446eb1486816c00136b2b5f0a3cc4a01706000Alex Klyubin 1412f6151ea445f9fab01296bf740c6714a371313b0Alex Klyubin# All socket devices owned by core domain components 1422f6151ea445f9fab01296bf740c6714a371313b0Alex Klyubinattribute coredomain_socket; 143bdd454792d52719f3b8b1fe8c3fd08cb13a393f1Jeff Vander Stoepexpandattribute coredomain_socket false; 1442f6151ea445f9fab01296bf740c6714a371313b0Alex Klyubin 145f5446eb1486816c00136b2b5f0a3cc4a01706000Alex Klyubin# All vendor domains which violate the requirement of not using Binder 146f5446eb1486816c00136b2b5f0a3cc4a01706000Alex Klyubin# TODO(b/35870313): Remove this once there are no violations 147f5446eb1486816c00136b2b5f0a3cc4a01706000Alex Klyubinattribute binder_in_vendor_violators; 14891d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanexpandattribute binder_in_vendor_violators false; 149f5446eb1486816c00136b2b5f0a3cc4a01706000Alex Klyubin 1502746ae6822820ce8d3c74c510203a3a0c6ab543dAlex Klyubin# All vendor domains which violate the requirement of not using sockets for 1512746ae6822820ce8d3c74c510203a3a0c6ab543dAlex Klyubin# communicating with core components 1522746ae6822820ce8d3c74c510203a3a0c6ab543dAlex Klyubin# TODO(b/36577153): Remove this once there are no violations 1532746ae6822820ce8d3c74c510203a3a0c6ab543dAlex Klyubinattribute socket_between_core_and_vendor_violators; 15491d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanexpandattribute socket_between_core_and_vendor_violators false; 1552746ae6822820ce8d3c74c510203a3a0c6ab543dAlex Klyubin 156b99676eece98d8fa732dc64dabca4dd2cbbbcac5Sandeep Patil# All vendor domains which violate the requirement of not executing 157b99676eece98d8fa732dc64dabca4dd2cbbbcac5Sandeep Patil# system processes 158b99676eece98d8fa732dc64dabca4dd2cbbbcac5Sandeep Patil# TODO(b/36463595) 159b99676eece98d8fa732dc64dabca4dd2cbbbcac5Sandeep Patilattribute vendor_executes_system_violators; 16091d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanexpandattribute vendor_executes_system_violators false; 161b99676eece98d8fa732dc64dabca4dd2cbbbcac5Sandeep Patil 1622ae575b08018bcdddaa0ca44ef14f484fd360c53Jeff Vander Stoep# All domains which violate the requirement of not sharing files by path 1632ae575b08018bcdddaa0ca44ef14f484fd360c53Jeff Vander Stoep# between between vendor and core domains. 1642ae575b08018bcdddaa0ca44ef14f484fd360c53Jeff Vander Stoep# TODO(b/34980020) 1652ae575b08018bcdddaa0ca44ef14f484fd360c53Jeff Vander Stoepattribute data_between_core_and_vendor_violators; 1662ae575b08018bcdddaa0ca44ef14f484fd360c53Jeff Vander Stoepexpandattribute data_between_core_and_vendor_violators false; 1672ae575b08018bcdddaa0ca44ef14f484fd360c53Jeff Vander Stoep 168282dbf7bbbe1d5541c769038e2800ee9dd3eda21Tri Vo# All system domains which violate the requirement of not executing vendor 169282dbf7bbbe1d5541c769038e2800ee9dd3eda21Tri Vo# binaries/libraries. 170282dbf7bbbe1d5541c769038e2800ee9dd3eda21Tri Vo# TODO(b/62041836) 171282dbf7bbbe1d5541c769038e2800ee9dd3eda21Tri Voattribute system_executes_vendor_violators; 172282dbf7bbbe1d5541c769038e2800ee9dd3eda21Tri Voexpandattribute system_executes_vendor_violators false; 173282dbf7bbbe1d5541c769038e2800ee9dd3eda21Tri Vo 174cdb1624c27e51ee85b6a4ea6ebd529bd0e07648fTom Cherry# All system domains which violate the requirement of not writing vendor 175cdb1624c27e51ee85b6a4ea6ebd529bd0e07648fTom Cherry# properties. 176cdb1624c27e51ee85b6a4ea6ebd529bd0e07648fTom Cherry# TODO(b/78598545): Remove this once there are no violations 177cdb1624c27e51ee85b6a4ea6ebd529bd0e07648fTom Cherryattribute system_writes_vendor_properties_violators; 178cdb1624c27e51ee85b6a4ea6ebd529bd0e07648fTom Cherryexpandattribute system_writes_vendor_properties_violators false; 179cdb1624c27e51ee85b6a4ea6ebd529bd0e07648fTom Cherry 1803e307a4de570a64437e3071ae398ed291ba82098Dan Cashman# hwservices that are accessible from untrusted applications 1813e307a4de570a64437e3071ae398ed291ba82098Dan Cashman# WARNING: Use of this attribute should be avoided unless 1823e307a4de570a64437e3071ae398ed291ba82098Dan Cashman# absolutely necessary. It is a temporary allowance to aid the 1833e307a4de570a64437e3071ae398ed291ba82098Dan Cashman# transition to treble and will be removed in a future platform 1843e307a4de570a64437e3071ae398ed291ba82098Dan Cashman# version, requiring all hwservices that are labeled with this 1853e307a4de570a64437e3071ae398ed291ba82098Dan Cashman# attribute to be submitted to AOSP in order to maintain their 1863e307a4de570a64437e3071ae398ed291ba82098Dan Cashman# app-visibility. 1873e307a4de570a64437e3071ae398ed291ba82098Dan Cashmanattribute untrusted_app_visible_hwservice; 18891d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanexpandattribute untrusted_app_visible_hwservice false; 18991d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashman 19091d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashman# halserver domains that are accessible to untrusted applications. These 19191d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashman# domains are typically those hosting hwservices attributed by the 19291d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashman# untrusted_app_visible_hwservice. 19391d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashman# WARNING: Use of this attribute should be avoided unless absolutely necessary. 19491d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashman# It is a temporary allowance to aid the transition to treble and will be 19591d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashman# removed in the future platform version, requiring all halserver domains that 19691d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashman# are labeled with this attribute to be submitted to AOSP in order to maintain 19791d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashman# their app-visibility. 19891d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanattribute untrusted_app_visible_halserver; 19991d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanexpandattribute untrusted_app_visible_halserver false; 2003e307a4de570a64437e3071ae398ed291ba82098Dan Cashman 20141daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenko# PDX services 20241daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenkoattribute pdx_endpoint_dir_type; 20341daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenkoattribute pdx_endpoint_socket_type; 20491d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanexpandattribute pdx_endpoint_socket_type false; 20541daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenkoattribute pdx_channel_socket_type; 20691d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanexpandattribute pdx_channel_socket_type false; 20741daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenko 20841daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenkopdx_service_attributes(display_client) 20941daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenkopdx_service_attributes(display_manager) 21041daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenkopdx_service_attributes(display_screenshot) 21141daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenkopdx_service_attributes(display_vsync) 21241daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenkopdx_service_attributes(performance_client) 21341daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenkopdx_service_attributes(bufferhub_client) 21441daa7f859be06a49e4770a1f1d33b0d3070fa5aAlex Vakulenko 215ac2b4cd2cb69b9182725e536f395b64db258d4b8Alex Klyubin# All HAL servers 216ac2b4cd2cb69b9182725e536f395b64db258d4b8Alex Klyubinattribute halserverdomain; 217ac2b4cd2cb69b9182725e536f395b64db258d4b8Alex Klyubin# All HAL clients 218ac2b4cd2cb69b9182725e536f395b64db258d4b8Alex Klyubinattribute halclientdomain; 21991d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanexpandattribute halclientdomain true; 220f41d89eb249ca1f9fce41d86852047f924b1714eAlex Klyubin 2214cafae77a4ac9e9b34410714787b68523dcd5345Pavel Maltsev# Exempt for halserverdomain to access sockets. Only builds for automotive 2224cafae77a4ac9e9b34410714787b68523dcd5345Pavel Maltsev# device types are allowed to use this attribute (enforced by CTS). 2234cafae77a4ac9e9b34410714787b68523dcd5345Pavel Maltsev# Unlike phone, in a car many modules are external from Android perspective and 2244cafae77a4ac9e9b34410714787b68523dcd5345Pavel Maltsev# HALs should be able to communicate with those devices through sockets. 2254cafae77a4ac9e9b34410714787b68523dcd5345Pavel Maltsevattribute hal_automotive_socket_exemption; 2264cafae77a4ac9e9b34410714787b68523dcd5345Pavel Maltsev 227284a18ae52678daa1134f140598e40531b1bd63fTri Vo# TODO(b/72757373): Use hal_attribute macro once expandattribute value conflicts 228284a18ae52678daa1134f140598e40531b1bd63fTri Vo# can be resolve. 229284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_audio; 230284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_audio_client; 231284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_audio_client true; 232284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_audio_server; 233284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_audio_server false; 234284a18ae52678daa1134f140598e40531b1bd63fTri Vo 235284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_bootctl; 236284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_bootctl_client; 237284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_bootctl_client true; 238284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_bootctl_server; 239284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_bootctl_server false; 240284a18ae52678daa1134f140598e40531b1bd63fTri Vo 241284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_camera; 242284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_camera_client; 243284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_camera_client true; 244284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_camera_server; 245284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_camera_server false; 246284a18ae52678daa1134f140598e40531b1bd63fTri Vo 247284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_drm; 248284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_drm_client; 249284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_drm_client true; 250284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_drm_server; 251284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_drm_server false; 252284a18ae52678daa1134f140598e40531b1bd63fTri Vo 253284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_cas; 254284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_cas_client; 255284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_cas_client true; 256284a18ae52678daa1134f140598e40531b1bd63fTri Voattribute hal_cas_server; 257284a18ae52678daa1134f140598e40531b1bd63fTri Voexpandattribute hal_cas_server false; 258284a18ae52678daa1134f140598e40531b1bd63fTri Vo 2593319d5ee16d6b90f1ce5137e9f650e4c38c975b3dcashman# HALs 26091d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(allocator); 261394dbe34a0dc7519acb9948175ba63ee18bedbedPavel Maltsevhal_attribute(audiocontrol); 2621aedf4b5f8bdc391c61a22d01278de70c26eb9e8Andrew Scullhal_attribute(authsecret); 26391d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(bluetooth); 26491d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(broadcastradio); 26591d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(configstore); 26697c56bdd78629cb3a57acdbd27d977f1cc6eed4bJanis Danisevskishal_attribute(confirmationui); 26791d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(contexthub); 26891d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(dumpstate); 269394dbe34a0dc7519acb9948175ba63ee18bedbedPavel Maltsevhal_attribute(evs); 27091d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(fingerprint); 27191d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(gatekeeper); 27291d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(gnss); 27391d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(graphics_allocator); 27491d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(graphics_composer); 27591d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(health); 27691d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(ir); 27791d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(keymaster); 27891d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(light); 27991d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(lowpan); 28091d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(memtrack); 28191d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(neuralnetworks); 28291d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(nfc); 28391d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(oemlock); 28491d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(power); 2858a2b4a783e5c9f4a342b7b0923fa1089842566e5Ruchi Kandoihal_attribute(secure_element); 28691d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(sensors); 28791d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(telephony); 28891d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(tetheroffload); 28991d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(thermal); 29091d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(tv_cec); 29191d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(tv_input); 29291d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(usb); 2939b0788945221ab99817b7e883e7b7be1fe8c9940Badhri Jagan Sridharanhal_attribute(usb_gadget); 294394dbe34a0dc7519acb9948175ba63ee18bedbedPavel Maltsevhal_attribute(vehicle); 29591d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(vibrator); 29691d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(vr); 29791d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(weaver); 29891d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(wifi); 2995bca3e860d34b3aff070a38bfd39caa74cade443Roshan Piushal_attribute(wifi_hostapd); 30091d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(wifi_offload); 30191d398d802b4fbd33c2b88da9f56ecee8bdc363cDan Cashmanhal_attribute(wifi_supplicant); 3029a14704f62488795f896793339ab0d5a62757483Alex Klyubin 3039a14704f62488795f896793339ab0d5a62757483Alex Klyubin# HwBinder services offered across the core-vendor boundary 3049a14704f62488795f896793339ab0d5a62757483Alex Klyubin# 3059a14704f62488795f896793339ab0d5a62757483Alex Klyubin# We annotate server domains with x_server to loosen the coupling between 3069a14704f62488795f896793339ab0d5a62757483Alex Klyubin# system and vendor images. For example, it should be possible to move a service 3079a14704f62488795f896793339ab0d5a62757483Alex Klyubin# from one core domain to another, without having to update the vendor image 3089a14704f62488795f896793339ab0d5a62757483Alex Klyubin# which contains clients of this service. 3099a14704f62488795f896793339ab0d5a62757483Alex Klyubin 310e8ab0020ba58978e8d7f8b1b77ae36da1f3bffa0Steven Morelandattribute display_service_server; 3119a14704f62488795f896793339ab0d5a62757483Alex Klyubinattribute wifi_keystore_service_server; 312