1eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok/* 2eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * Copyright (C) 2018 The Android Open Source Project 3eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * 4eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * Licensed under the Apache License, Version 2.0 (the "License"); 5eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * you may not use this file except in compliance with the License. 6eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * You may obtain a copy of the License at 7eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * 8eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * http://www.apache.org/licenses/LICENSE-2.0 9eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * 10eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * Unless required by applicable law or agreed to in writing, software 11eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * distributed under the License is distributed on an "AS IS" BASIS, 12eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * See the License for the specific language governing permissions and 14eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok * limitations under the License. 15eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok */ 16eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok 17eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok#ifndef _INIT_STABLE_PROPERTIES_H 18eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok#define _INIT_STABLE_PROPERTIES_H 19eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok 20eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok#include <set> 21eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok#include <string> 22eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok 23eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seoknamespace android { 24eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seoknamespace init { 25eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok 26eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seokstatic constexpr const char* kPartnerPrefixes[] = { 27cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "init.svc.vendor.", "ro.vendor.", "persist.vendor.", "vendor.", "init.svc.odm.", "ro.odm.", 28cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "persist.odm.", "odm.", "ro.boot.", 29eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok}; 30eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok 31eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seokstatic const std::set<std::string> kExportedActionableProperties = { 3265ce3b2cd879e39d75012798eef348283ad8b4f3Jaekyun Seok "dev.bootcomplete", 333b613ccedcf191c8e89595173b46f023805c64e3Jaekyun Seok "init.svc.console", 34cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "init.svc.mediadrm", 3566797804c68eac46318e19e00bf86554d30eaadaJaekyun Seok "init.svc.surfaceflinger", 36cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "init.svc.zygote", 37cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "persist.bluetooth.btsnoopenable", 38cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "persist.sys.crash_rcu", 3956f832e561a44b5ca6f989270899dc6c6a4f65b0Jaekyun Seok "persist.sys.usb.usbradio.config", 40cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "persist.sys.zram_enabled", 41f328b0d9359a23e8ea3c1c5194ee0caa83dc5b67Jaekyun Seok "ro.board.platform", 42cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "ro.bootmode", 43cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "ro.build.type", 4465ce3b2cd879e39d75012798eef348283ad8b4f3Jaekyun Seok "ro.crypto.state", 4565ce3b2cd879e39d75012798eef348283ad8b4f3Jaekyun Seok "ro.crypto.type", 46fce960cdf491d0de6101d76292eacab2c45b29dfJaekyun Seok "ro.debuggable", 47cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "sys.boot_completed", 48f328b0d9359a23e8ea3c1c5194ee0caa83dc5b67Jaekyun Seok "sys.boot_from_charger_mode", 49cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "sys.retaildemo.enabled", 50cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "sys.shutdown.requested", 51cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "sys.usb.config", 52cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "sys.usb.configfs", 53cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "sys.usb.ffs.mtp.ready", 54cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "sys.usb.ffs.ready", 55cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "sys.user.0.ce_available", 56cf2da29d66d641d3b2f27de886403b28804cbe7bJaekyun Seok "sys.vdso", 5765ce3b2cd879e39d75012798eef348283ad8b4f3Jaekyun Seok "vold.decrypt", 5865ce3b2cd879e39d75012798eef348283ad8b4f3Jaekyun Seok "vold.post_fs_data_done", 59eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok "vts.native_server.on", 6066797804c68eac46318e19e00bf86554d30eaadaJaekyun Seok "wlan.driver.status", 61eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok}; 62eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok 63eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok} // namespace init 64eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok} // namespace android 65eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok 66eeb21885545f25606498feee0ad3f1f9b29e44e8Jaekyun Seok#endif 67