1/* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18 19option java_multiple_files = true; 20 21import "frameworks/base/core/proto/android/privacy.proto"; 22 23package android.os; 24 25// Android Platform Exported System Properties 26// TODO: This is not the completed list, new properties need to be whitelisted. 27message SystemPropertiesProto { 28 29 // Properties that are not specified below would be appended here. 30 // These values stay on device only. 31 message Property { 32 option (android.msg_privacy).dest = DEST_LOCAL; 33 34 optional string name = 1; 35 optional string value = 2; 36 } 37 repeated Property extra_properties = 1; 38 39 message AacDrc { 40 optional int32 boost = 1; 41 optional int32 cut = 2; 42 optional int32 enc_target_level = 3; 43 optional int32 heavy = 4; 44 optional int32 reference_level = 5; 45 } 46 optional AacDrc aac_drc = 2; 47 48 message Aaudio { 49 optional int32 hw_burst_min_usec = 1; 50 optional int32 minimum_sleep_usec = 2; 51 optional int32 mixer_bursts = 3; 52 optional int32 mmap_exclusive_policy = 4; 53 optional int32 mmap_policy = 5; 54 optional int32 wakeup_delay_usec = 6; 55 56 // Next Tag: 7 57 } 58 optional Aaudio aaudio = 3; 59 60 optional int32 af_fast_track_multiplier = 4; 61 62 message Camera { 63 optional bool disable_zsl_mode = 1; 64 optional int32 fifo_disable = 2; 65 66 // Next Tag: 3 67 } 68 optional Camera camera = 5; 69 70 message DalvikVm { 71 optional string appimageformat = 1; 72 optional string backgroundgctype = 2; 73 optional bool checkjni = 3; 74 optional string dex2oat_filter = 4; 75 optional string dex2oat_flags = 5; 76 optional int32 dex2oat_threads = 6; 77 optional string dex2oat_Xms = 7; 78 optional string dex2oat_Xmx = 8; 79 optional bool dexopt_secondary = 9; 80 optional string execution_mode = 10; 81 optional string extra_opts = 11; 82 optional string gctype = 12; 83 optional string heapgrowthlimit = 13; 84 optional string heapmaxfree = 14; 85 optional string heapminfree = 15; 86 optional string heapsize = 16; 87 optional string heapstartsize = 17; 88 optional double heaptargetutilization = 18; 89 optional int32 hot_startup_method_samples = 19; 90 optional string image_dex2oat_filter = 20; 91 optional string image_dex2oat_flags = 21; 92 optional int32 image_dex2oat_threads = 22; 93 optional string image_dex2oat_Xms = 23; 94 optional string image_dex2oat_Xmx = 24; 95 optional string isa_arm_features = 25; 96 optional string isa_arm_variant = 26; 97 optional string isa_arm64_features = 27; 98 optional string isa_arm64_variant = 28; 99 optional string isa_mips_features = 29; 100 optional string isa_mips_variant = 30; 101 optional string isa_mips64_features = 31; 102 optional string isa_mips64_variant = 32; 103 optional string isa_unknown_features = 33; 104 optional string isa_unknown_variant = 34; 105 optional string isa_x86_64_features = 35; 106 optional string isa_x86_64_variant = 36; 107 optional string isa_x86_features = 37; 108 optional string isa_x86_variant = 38; 109 optional string jitinitialsize = 39; 110 optional string jitmaxsize = 40; 111 optional int32 jitprithreadweight = 41; 112 optional int32 jitthreshold = 42; 113 optional int32 jittransitionweight = 43; 114 optional string jniopts = 44; 115 optional int32 lockprof_threshold = 45; 116 optional bool method_trace = 46; 117 optional string method_trace_file = 47; 118 optional int32 method_trace_file_siz = 48; 119 optional bool method_trace_stream = 49; 120 optional bool profilesystemserver = 50; 121 optional string stack_trace_dir = 51; 122 optional bool usejit = 52; 123 optional bool usejitprofiles = 53; 124 optional int32 zygote_max_boot_retry = 54; 125 126 // Next Tag: 55 127 } 128 optional DalvikVm dalvik_vm = 6; 129 130 optional bool drm_64bit_enabled = 7; 131 optional bool drm_service_enabled = 8; 132 optional bool dumpstate_dry_run = 9; 133 optional string gsm_sim_operator_numeric = 10; 134 optional bool hal_instrumentation_enable = 11; 135 136 message InitSvc { 137 option (android.msg_privacy).dest = DEST_AUTOMATIC; 138 139 enum Status { 140 STATUS_UNKNOWN = 0; 141 STATUS_RUNNING = 1; 142 STATUS_STOPPED = 2; 143 } 144 optional Status adbd = 1; 145 optional Status audioserver = 2; 146 optional Status bootanim = 3; 147 optional Status bufferhubd = 4; 148 optional Status cameraserver = 5; 149 optional Status clear_bcb = 6; 150 optional Status drm = 7; 151 optional Status gatekeeperd = 8; 152 optional Status healthd = 9; 153 optional Status hidl_memory = 10; 154 optional Status hostapd = 11; 155 optional Status hwservicemanager = 12; 156 optional Status installd = 13; 157 optional Status keystore = 14; 158 optional Status lmkd = 15; 159 optional Status logd = 16; 160 optional Status logd_reinit = 17; 161 optional Status media = 18; 162 optional Status mediadrm = 19; 163 optional Status mediaextractor = 20; 164 optional Status mediametrics = 21; 165 optional Status netd = 22; 166 optional Status performanced = 23; 167 optional Status ril_daemon = 24; 168 optional Status servicemanager = 25; 169 optional Status storaged = 26; 170 optional Status surfaceflinger = 27; 171 optional Status thermalservice = 28; 172 optional Status tombstoned = 29; 173 optional Status ueventd = 30; 174 optional Status update_engine = 31; 175 optional Status update_verifier = 32; 176 optional Status virtual_touchpad = 33; 177 optional Status vndservicemanager = 34; 178 optional Status vold = 35; 179 optional Status vr_hwc = 36; 180 optional Status webview_zygote32 = 37; 181 optional Status wificond = 38; 182 optional Status wpa_supplicant = 39; 183 optional Status zygote = 40; 184 optional Status zygote_secondary = 41; 185 186 // Next Tag: 42 187 } 188 optional InitSvc init_svc = 12; 189 190 optional bool keyguard_no_require_sim = 13; 191 optional string libc_debug_malloc_options = 14; 192 optional string libc_debug_malloc_program = 15; 193 194 message Log { 195 option (android.msg_privacy).dest = DEST_AUTOMATIC; 196 197 optional string tag_wifi_hal = 1; 198 optional string tag_stats_log = 2; 199 200 // Next Tag: 3 201 } 202 optional Log log = 16; 203 204 optional bool media_mediadrmservice_enable = 17; 205 optional bool media_recorder_show_manufacturer_and_model = 18; 206 207 message Persist { 208 optional string config_calibration_fac = 1; 209 optional int32 dbg_volte_avail_ovr = 2; 210 optional int32 dbg_vt_avail_ovr = 3; 211 optional int32 dbg_wfc_avail_ovr = 4; 212 optional int32 radio_airplane_mode_on = 5; 213 optional string radio_multisim_config = 6; 214 optional int32 rcs_supported = 7; 215 optional bool sys_crash_rcu = 8; 216 optional string sys_dalvik_vm_lib_2 = 9; 217 optional float sys_sf_color_saturation = 10; 218 optional string sys_timezone = 11; 219 220 // Next Tag: 12 221 } 222 optional Persist persist = 19; 223 224 message PmDexopt { 225 optional string ab_ota = 1; 226 optional string bg_dexopt = 2; 227 optional string boot = 3; 228 optional string first_boot = 4; 229 optional string install = 5; 230 231 // Next Tag: 6 232 } 233 optional PmDexopt pm_dexopt = 20; 234 235 // Read only properites on the device. 236 message Ro { 237 optional bool adb_secure = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 238 optional string arch = 2; 239 optional bool audio_ignore_effects = 3; 240 optional bool audio_monitor_rotation = 4; 241 optional string baseband = 5; 242 optional string board_platform = 6; 243 244 message Boot { 245 optional string avb_version = 1; 246 optional string baseband = 2; 247 optional string bootdevice = 3; 248 optional string bootloader = 4; 249 repeated string boottime = 5; 250 optional string console = 6; 251 optional int32 fake_battery = 7; 252 // The name of the hardware (from the kernel command line or /proc). It 253 // SHOULD be reasonably human-readable. 254 optional string hardware = 8; 255 optional string hardware_color = 9; 256 optional string hardware_revision = 10; 257 // SKU is for small variants such as device color, targeted market, 258 // ram/rom size, etc. 259 optional string hardware_sku = 11; 260 optional string keymaster = 12; 261 optional string mode = 13; 262 optional string revision = 14; 263 optional string slot_suffix = 15; 264 optional string vbmeta_avb_version = 16; 265 optional string vendor_overlay_theme = 17; 266 optional string verifiedbootstate = 18; 267 optional string veritymode = 19; 268 optional string wificountrycode = 20; 269 270 // Next Tag: 21 271 } 272 optional Boot boot = 7; 273 274 // boot.img's properties. 275 message BootImage { 276 option (android.msg_privacy).dest = DEST_AUTOMATIC; 277 278 // When the boot.img is built. 279 optional string build_date = 1; 280 // UTC timestamp of build date. 281 optional int64 build_date_utc = 2; 282 // Android Build fingerprint of the build, e.g. 283 // google/marlin/marlin:P/MASTER/android-build/dev-keys 284 optional string build_fingerprint = 3; 285 286 // Next Tag: 4 287 } 288 optional BootImage bootimage = 8; 289 290 // Version of bootloader on device. 291 optional string bootloader = 9 [ (android.privacy).dest = DEST_AUTOMATIC ]; 292 // Kernel bootmode, e.g. charger. 293 optional string bootmode = 10 [ (android.privacy).dest = DEST_AUTOMATIC ]; 294 295 // Android Platform build metadata. 296 message Build { 297 option (android.msg_privacy).dest = DEST_AUTOMATIC; 298 299 // Date of the platform build. 300 optional string date = 1; 301 // UTC timstamp of build data. 302 optional int64 date_utc = 2; 303 optional string description = 3; 304 // A build ID string meant for displaying to the user. 305 optional string display_id = 4; 306 // A string that uniquely identifies the host the build was built on, in 307 // human-readable format. Only makes sense for internal engineering 308 // builds. 309 optional string host = 5; 310 // Unique id of this android platform build. An identifier chosen by the 311 // device implementer to refer to a specific release, in human-readable 312 // format. This field can be the same as 313 // android.os.Build.VERSION.INCREMENTAL, but SHOULD be a value 314 // sufficiently meaningful for end users to distinguish between software 315 // builds. 316 optional string id = 6; 317 // Product name. 318 optional string product = 7; 319 optional bool system_root_image = 8; 320 // Tags of the buid, e.g. dev-keys, release-keys. 321 optional string tags = 9; 322 // Type of the build, e.g. eng, userdebug, user. 323 optional string type = 10; 324 // Name of the user (an engineer or a build bot) that built the image. For 325 // production builds, this is from the build bot but some OEMs might use a 326 // real username. Only makes sense for internal engineering builds. 327 optional string user = 11; 328 329 message Version { 330 option (android.msg_privacy).dest = DEST_AUTOMATIC; 331 332 // The base OS build the product is based on. A value representing the 333 // FINGERPRINT parameter of the build that is otherwise identical to 334 // this build except for the patches provided in the Android Public 335 // Security Bulletin. 336 optional string base_os = 1; 337 optional string codename = 2; 338 // A value chosen by the device implementer designating the specific 339 // build of the currently-executing Android system, in human-readable 340 // format. This value MUST NOT be reused for different builds made 341 // available to end users. A typical use of this field is to indicate 342 // which build number or source-control change identifier was used to 343 // generate the build. 344 optional string incremental = 3; 345 optional int32 preview_sdk = 4; 346 // The version of the currently-executing Android system, in 347 // human-readable format. 348 optional string release = 5; 349 // The version of the currently-executing Android system, in a format 350 // accessible to third-party application code. 351 optional int32 sdk = 6; 352 // A value indicating the security patch level of a build. 353 optional string security_patch = 7; 354 355 // Next Tag: 8 356 } 357 optional Version version = 12; 358 359 // Next Tag: 13 360 } 361 optional Build build = 11; 362 363 optional bool camera_notify_nfc = 12 [ (android.privacy).dest = DEST_AUTOMATIC ]; 364 // Carrier name on the phone. 365 optional string carrier = 13; 366 // Is dataroaming enabled. 367 optional bool com_android_dataroaming = 14 [ (android.privacy).dest = DEST_AUTOMATIC ]; 368 // does it provide mobiledata. 369 optional bool com_android_prov_mobiledata = 15 [ (android.privacy).dest = DEST_AUTOMATIC ]; 370 optional string com_google_clientidbase = 16; 371 372 message Config { 373 optional string alarm_alert = 1; 374 optional int32 media_vol_steps = 2; 375 optional string notification_sound = 3; 376 optional string ringtone = 4; 377 optional int32 vc_call_vol_steps = 5; 378 379 // Next Tag: 6 380 } 381 optional Config config = 17; 382 383 optional string control_privapp_permissions = 18; 384 optional int32 cp_system_other_odex = 19; 385 optional string crypto_scrypt_params = 20; 386 optional string crypto_state = 21; 387 optional string crypto_type = 22; 388 optional string dalvik_vm_native_bridge = 23; 389 // Is this build debuggable. 390 optional bool debuggable = 24; 391 optional string frp_pst = 25; 392 optional string gfx_driver_0 = 26; 393 394 message Hardware { 395 option (android.msg_privacy).dest = DEST_LOCAL; 396 397 // value of ro.hardware itself 398 optional string value = 1; 399 optional string activity_recognition = 2; 400 optional string audio = 3; 401 optional string audio_policy = 4; 402 optional string audio_a2dp = 5; 403 optional string audio_primary = 6; 404 optional string audio_usb = 7; 405 optional string bootctrl = 8; 406 optional string camera = 9; 407 optional string consumerir = 10; 408 optional string context_hub = 11; 409 optional string egl = 12; 410 optional string fingerprint = 13; 411 optional string flp = 14; 412 optional string gatekeeper = 15; 413 optional string gps = 16; 414 optional string gralloc = 17; 415 optional string hdmi_cec = 18; 416 optional string hwcomposer = 19; 417 optional string input = 20; 418 optional string keystore = 21; 419 optional string lights = 22; 420 optional string local_time = 23; 421 optional string memtrack = 24; 422 optional string nfc = 25; 423 optional string nfc_nci = 26; 424 optional string nfc_tag = 27; 425 optional string nvram = 28; 426 optional string power = 29; 427 optional string radio = 30; 428 optional string sensors = 31; 429 optional string sound_trigger = 32; 430 optional string thermal = 33; 431 optional string tv_input = 34; 432 optional string type = 35; 433 optional string vehicle = 36; 434 optional string vibrator = 37; 435 optional string virtual_device = 38; 436 optional string vulkan = 39; 437 438 // Next Tag: 40 439 } 440 optional Hardware hardware = 27; 441 442 optional int32 kernel_qemu = 28; 443 optional int32 kernel_qemu_gles = 29; 444 optional int32 oem_unlock_supported = 30; 445 optional int32 opengles_version = 31; 446 447 // The product of the device. 448 message Product { 449 option (android.msg_privacy).dest = DEST_AUTOMATIC; 450 451 // Name of the product. 452 optional string board = 1; 453 // Brand of the product. 454 optional string brand = 2; 455 optional string cpu_abi = 3; 456 repeated string cpu_abilist = 4; 457 repeated string cpu_abilist32 = 5; 458 repeated string cpu_abilist64 = 6; 459 // Device name. 460 optional string device = 7; 461 // The first api level when the phone is launched. 462 optional int32 first_api_level = 8; 463 // Manufacturer of the product. 464 optional string manufacturer = 9; 465 // Marketing name of the phone. 466 optional string model = 10; 467 // Name of the product. 468 optional string name = 11; 469 470 // Vendor related information about the product. 471 message Vendor { 472 option (android.msg_privacy).dest = DEST_AUTOMATIC; 473 474 optional string brand = 1; 475 optional string device = 2; 476 optional string manufacturer = 3; 477 optional string model = 4; 478 optional string name = 5; 479 } 480 optional Vendor vendor = 12; 481 482 // Next Tag: 13 483 } 484 optional Product product = 32; 485 486 optional int32 property_service_version = 33; 487 reserved 34; // Removed retaildemo_video_path. 488 optional string revision = 35; 489 optional int32 sf_lcd_density = 36; 490 optional bool storage_manager_enabled = 37; 491 492 message Telephony { 493 optional bool call_ring_multiple = 1; 494 // CDMA subscription number. 495 optional int32 default_cdma_sub = 2; 496 optional int32 default_network = 3; 497 } 498 optional Telephony telephony = 38; 499 500 reserved 39, 40; // Removed url_legal* props 501 502 message Vendor { 503 optional string build_date = 1; 504 optional int64 build_date_utc = 2; 505 optional string build_fingerprint = 3; 506 } 507 optional Vendor vendor = 41; 508 509 // Vendor Native Development Kit version. 510 optional string vndk_version = 42; 511 optional int32 vts_coverage = 43; 512 optional string zygote = 44; 513 514 optional string gfx_driver_whitelist_0 = 45; 515 516 optional bool egl_blobcache_multifile = 46; 517 optional int32 egl_blobcache_multifile_limit = 47; 518 519 // Next Tag: 48 520 } 521 optional Ro ro = 21; 522 523 optional string sendbug_preferred_domain = 22; 524 optional int32 service_bootanim_exit = 23; 525 526 message Sys { 527 optional int32 boot_completed = 1; 528 optional int32 boot_from_charger_mode = 2; 529 optional int32 retaildemo_enabled = 3; 530 optional string shutdown_requested = 4; 531 532 message Usb { 533 optional string config = 1; 534 optional int32 configfs = 2; 535 optional string controller = 3; 536 optional int32 ffs_max_read = 4; 537 optional int32 ffs_max_write = 5; 538 optional int32 ffs_mtp_ready = 6; 539 optional int32 ffs_ready = 7; 540 optional int32 mtp_device_type = 8; 541 optional string state = 9; 542 543 // Next Tag: 10 544 } 545 optional Usb usb = 5; 546 547 // Next Tag: 6 548 } 549 optional Sys sys = 24; 550 551 optional int32 telephony_lte_on_cdma_device = 25; 552 optional int32 tombstoned_max_tombstone_count = 26; 553 optional string vold_decrypt = 27; 554 optional int32 vold_post_fs_data_done = 28; 555 optional int32 vts_native_server_on = 29; 556 optional string wifi_direct_interface = 30; 557 optional string wifi_interface = 31; 558 559 // Next Tag: 32 560} 561 562