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