1 root { 2 device_info { 3 match_attr = "hdf_manager"; 4 template host { 5 hostName = ""; 6 priority = 100; 7 uid = ""; 8 gid = [""]; 9 caps = [""]; 10 critical = []; 11 template device { 12 template deviceNode { 13 policy = 0; 14 priority = 100; 15 preload = 0; 16 permission = 0664; 17 moduleName = ""; 18 serviceName = ""; 19 deviceMatchAttr = ""; 20 } 21 } 22 } 23 platform :: host { 24 hostName = "sample_host"; 25 priority = 50; 26 gid = ["sample_host", "uhdf_driver"]; 27 sample_device :: device { 28 device0 :: deviceNode { 29 policy = 2; 30 priority = 100; 31 preload = 2; 32 moduleName = "libsample_driver.z.so"; 33 serviceName = "sample_driver_service"; 34 } 35 device1 :: deviceNode { 36 policy = 2; 37 priority = 100; 38 preload = 2; 39 moduleName = "libsample1_driver.z.so"; 40 serviceName = "sample1_driver_service"; 41 } 42 } 43 } 44 bluetooth :: host { 45 hostName = "blue_host"; 46 priority = 50; 47 caps = ["NET_ADMIN"]; 48 bluetooth_device :: device { 49 device0 :: deviceNode { 50 policy = 2; 51 priority = 100; 52 moduleName = "libbluetooth_hci_hdi_driver.z.so"; 53 serviceName = "hci_interface_service"; 54 } 55 } 56 } 57 audio_bluetooth :: host { 58 hostName = "a2dp_host"; 59 priority = 50; 60 bluetooth_device :: device { 61 device0 :: deviceNode { 62 policy = 2; 63 priority = 100; 64 preload = 2; 65 moduleName = "libaudio_bluetooth_hdi_adapter_server.z.so"; 66 serviceName = "audio_bluetooth_hdi_service"; 67 } 68 } 69 } 70 usb :: host { 71 hostName = "usb_host"; 72 priority = 50; 73 caps = ["DAC_OVERRIDE"]; 74 usb_pnp_manager_device :: device { 75 device0 :: deviceNode { 76 policy = 2; 77 priority = 70; 78 moduleName = "libusb_pnp_manager.z.so"; 79 serviceName = "usb_pnp_manager"; 80 } 81 } 82 usbfn_device :: device { 83 device0 :: deviceNode { 84 policy = 2; 85 priority = 80; 86 preload = 2; 87 moduleName = "libusbfn.z.so"; 88 serviceName = "usbfn"; 89 deviceMatchAttr = "usbfn_driver"; 90 } 91 } 92 ecm_device :: device { 93 device0 :: deviceNode { 94 policy = 2; 95 priority = 81; 96 preload = 2; 97 moduleName = "libusbfn_cdcecm.z.so"; 98 serviceName = "usbfn_cdcecm"; 99 deviceMatchAttr = "usbfn_cdcecm_driver"; 100 } 101 } 102 acm_device :: device { 103 device0 :: deviceNode { 104 policy = 2; 105 priority = 100; 106 preload = 2; 107 moduleName = "libusbfn_cdcacm.z.so"; 108 serviceName = "usbfn_cdcacm"; 109 deviceMatchAttr = "usbfn_cdcacm_driver"; 110 } 111 } 112 mtp_device :: device { 113 device0 :: deviceNode { 114 policy = 2; 115 priority = 90; 116 preload = 2; 117 moduleName = "libusbfn_mtp_driver.z.so"; 118 serviceName = "usbfn_mtp_interface_service"; 119 deviceMatchAttr = "usbfn_mtp_interface_driver"; 120 } 121 } 122 usb_device :: device { 123 device0 :: deviceNode { 124 policy = 2; 125 priority = 100; 126 moduleName = "libusb_driver.z.so"; 127 serviceName = "usb_interface_service"; 128 deviceMatchAttr = "usb_device_interface_driver"; 129 } 130 } 131 ddk_device :: device { 132 device0 :: deviceNode { 133 policy = 2; 134 priority = 100; 135 moduleName = "libusb_ddk_driver.z.so"; 136 serviceName = "usb_ddk_service"; 137 } 138 } 139 } 140 power :: host { 141 hostName = "power_host"; 142 priority = 50; 143 uid = "power_host"; 144 gid = ["power_host", "system", "log"]; 145 caps = ["BLOCK_SUSPEND"]; 146 power_device :: device { 147 device0 :: deviceNode { 148 policy = 2; 149 priority = 100; 150 moduleName = "libpower_driver.z.so"; 151 serviceName = "power_interface_service"; 152 } 153 } 154 battery_device :: device { 155 device0 :: deviceNode { 156 policy = 2; 157 priority = 100; 158 moduleName = "libbattery_driver.z.so"; 159 serviceName = "battery_interface_service"; 160 } 161 } 162 thermal_device :: device { 163 device0 :: deviceNode { 164 policy = 2; 165 priority = 100; 166 moduleName = "libthermal_driver.z.so"; 167 serviceName = "thermal_interface_service"; 168 } 169 } 170 } 171 wlan :: host { 172 hostName = "wifi_host"; 173 priority = 50; 174 caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"]; 175 gid = ["wifi_host", "wifi_group"]; 176 wifi_device :: device { 177 device0 :: deviceNode { 178 policy = 2; 179 priority = 100; 180 moduleName = "libwifi_hdi_c_device.z.so"; 181 serviceName = "wlan_interface_service"; 182 } 183 } 184 } 185 wpa :: host { 186 hostName = "wpa_host"; 187 priority = 50; 188 caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"]; 189 initconfig = ["\"permission\" : [\"ohos.permission.ACCESS_CERT_MANAGER\"]", "\"secon\" : \"u:r:wifi_host:s0\""]; 190 uid = "wifi"; 191 gid = ["wifi", "wifi_group", "wifi_host"]; 192 wpa_device :: device { 193 device0 :: deviceNode { 194 policy = 2; 195 preload = 2; 196 priority = 100; 197 moduleName = "libwpa_hdi_c_device.z.so"; 198 serviceName = "wpa_interface_service"; 199 } 200 } 201 } 202 hostapd :: host { 203 hostName = "hostapd_host"; 204 priority = 50; 205 caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"]; 206 initconfig = ["\"secon\" : \"u:r:wifi_host:s0\""]; 207 uid = "wifi"; 208 gid = ["wifi", "wifi_group", "wifi_host"]; 209 wpa_device :: device { 210 device0 :: deviceNode { 211 policy = 2; 212 preload = 2; 213 priority = 100; 214 moduleName = "libhostapd_hdi_c_device.z.so"; 215 serviceName = "hostapd_interface_service"; 216 } 217 } 218 } 219 audio :: host { 220 hostName = "audio_host"; 221 priority = 50; 222 gid = ["audio_host", "uhdf_driver", "root", "audio"]; 223 audio_device :: device { 224 device0 :: deviceNode { 225 policy = 2; 226 priority = 100; 227 moduleName = "libhdi_audio_primary_server.z.so"; 228 serviceName = "audio_hdi_service"; 229 } 230 } 231 audio_usb_device :: device { 232 device0 :: deviceNode { 233 policy = 2; 234 priority = 100; 235 moduleName = "libhdi_audio_usb_server.z.so"; 236 serviceName = "audio_hdi_usb_service"; 237 } 238 } 239 audio_a2dp_device :: device { 240 device0 :: deviceNode { 241 policy = 2; 242 priority = 100; 243 moduleName = "libhdi_audio_a2dp_server.z.so"; 244 serviceName = "audio_hdi_a2dp_service"; 245 } 246 } 247 audio_pnp_device :: device { 248 device0 :: deviceNode { 249 policy = 2; 250 priority = 110; 251 moduleName = "libhdi_audio_pnp_server.z.so"; 252 serviceName = "audio_hdi_pnp_service"; 253 } 254 } 255 idl_audio_device :: device { 256 device0 :: deviceNode { 257 policy = 2; 258 priority = 100; 259 moduleName = "libaudio_primary_driver.z.so"; 260 serviceName = "audio_manager_service"; 261 } 262 } 263 effect_device :: device { 264 device0 :: deviceNode { 265 policy = 2; 266 priority = 100; 267 moduleName = "libeffect_model_service.z.so"; 268 serviceName = "effect_model_service"; 269 } 270 } 271 trigger_device :: device { 272 device0 :: deviceNode { 273 policy = 2; 274 priority = 100; 275 moduleName = "libintell_voice_trigger_driver.z.so"; 276 serviceName = "intell_voice_trigger_manager_service"; 277 } 278 } 279 280 } 281 hdi_server :: host { 282 hostName = "camera_host"; 283 priority = 50; 284 gid = ["camera_host", "uhdf_driver", "vendor_mpp_driver"]; 285 camera_device :: device { 286 device0 :: deviceNode { 287 policy = 2; 288 priority = 100; 289 moduleName = "libcamera_host_service_1.0.z.so"; 290 serviceName = "camera_service"; 291 } 292 } 293 display_device :: device { 294 device0 :: deviceNode { 295 policy = 2; 296 priority = 120; 297 moduleName = "libhdi_media_layer_service.z.so"; 298 serviceName = "hdi_media_layer_service"; 299 } 300 } 301 } 302 input_hal :: host { 303 hostName = "input_user_host"; 304 priority = 50; 305 gid = ["input_user_host", "uhdf_driver"]; 306 input_device :: device { 307 device0 :: deviceNode { 308 policy = 2; 309 priority = 150; 310 moduleName = "libhdf_input_hotplug.z.so"; 311 serviceName = "input_service"; 312 } 313 } 314 input_hdi_device :: device { 315 device0 :: deviceNode { 316 policy = 2; 317 priority = 100; 318 moduleName = "libinput_driver.z.so"; 319 serviceName = "input_interfaces_service"; 320 } 321 } 322 } 323 display_composer :: host { 324 hostName = "composer_host"; 325 priority = 40; 326 processPriority = -8; 327 threadPriority = 1; 328 caps = ["SYS_NICE"]; 329 uid = ["composer_host"]; 330 gid = ["composer_host", "graphics", "vendor_mpp_driver"]; 331 composer_device :: device { 332 device0 :: deviceNode { 333 policy = 2; 334 priority = 160; 335 moduleName = "libdisplay_composer_driver_1.0.z.so"; 336 serviceName = "display_composer_service"; 337 } 338 } 339 } 340 allocator :: host { 341 hostName = "allocator_host"; 342 priority = 40; 343 allocator_device :: device { 344 device0 :: deviceNode { 345 policy = 2; 346 priority = 160; 347 moduleName = "liballocator_driver_1.0.z.so"; 348 serviceName = "allocator_service"; 349 } 350 } 351 } 352 sensor :: host { 353 hostName = "sensor_host"; 354 priority = 50; 355 gid = ["sensor_host", "uhdf_driver"]; 356 sensor_device :: device { 357 device0 :: deviceNode { 358 policy = 2; 359 priority = 100; 360 moduleName = "libsensor_driver.z.so"; 361 serviceName = "sensor_interface_service"; 362 } 363 } 364 } 365 vibrator :: host { 366 hostName = "vibrator_host"; 367 priority = 50; 368 vibrator_device :: device { 369 device0 :: deviceNode { 370 policy = 2; 371 priority = 100; 372 moduleName = "libvibrator_driver.z.so"; 373 serviceName = "vibrator_interface_service"; 374 } 375 } 376 } 377 light :: host { 378 hostName = "light_host"; 379 priority = 50; 380 light_device :: device { 381 device0 :: deviceNode { 382 policy = 2; 383 priority = 100; 384 moduleName = "liblight_driver.z.so"; 385 serviceName = "light_interface_service"; 386 } 387 } 388 } 389 390 codec :: host { 391 hostName = "codec_host"; 392 priority = 50; 393 gid = ["codec_host", "uhdf_driver", "vendor_mpp_driver"]; 394 codec_omx_device :: device { 395 device0 :: deviceNode { 396 policy = 2; 397 priority = 100; 398 moduleName = "libcodec_hdi_omx_server.z.so"; 399 serviceName = "codec_hdi_omx_service"; 400 deviceMatchAttr = "media_codec_capabilities"; 401 } 402 } 403 codec_omx_idl_device :: device { 404 device0 :: deviceNode { 405 policy = 2; 406 priority = 100; 407 moduleName = "libcodec_driver.z.so"; 408 serviceName = "codec_component_manager_service"; 409 deviceMatchAttr = "media_codec_capabilities"; 410 } 411 } 412 codec_device :: device { 413 device0 :: deviceNode { 414 policy = 2; 415 priority = 100; 416 moduleName = "libcodec_server.z.so"; 417 serviceName = "codec_hdi_service"; 418 deviceMatchAttr = "codec_hdi1.0_capabilities"; 419 } 420 } 421 codec_image_device :: device { 422 device0 :: deviceNode { 423 policy = 2; 424 priority = 100; 425 moduleName = "libcodec_image_driver.z.so"; 426 serviceName = "codec_image_service"; 427 deviceMatchAttr = "image_codec_capabilities"; 428 } 429 } 430 } 431 432 distributed_camera_host :: host { 433 hostName = "dcamera_host"; 434 priority = 50; 435 distributed_camera_device :: device { 436 device0 :: deviceNode { 437 policy = 2; 438 priority = 100; 439 preload = 2; 440 moduleName = "libdistributed_camera_host_config.z.so"; 441 serviceName = "distributed_camera_service"; 442 } 443 device1 :: deviceNode { 444 policy = 2; 445 priority = 100; 446 preload = 2; 447 moduleName = "libdistributed_camera_provider_config.z.so"; 448 serviceName = "distributed_camera_provider_service"; 449 } 450 } 451 } 452 453 distributed_audio_host :: host { 454 hostName = "daudio_host"; 455 priority = 50; 456 distributed_audio_device :: device { 457 device0 :: deviceNode { 458 policy = 2; 459 priority = 100; 460 preload = 2; 461 moduleName = "libdaudio_primary_driver.z.so"; 462 serviceName = "daudio_primary_service"; 463 } 464 device1 :: deviceNode { 465 policy = 2; 466 priority = 100; 467 preload = 2; 468 moduleName = "libdaudio_ext_driver.z.so"; 469 serviceName = "daudio_ext_service"; 470 } 471 } 472 } 473 474 face_auth :: host { 475 hostName = "face_auth_host"; 476 priority = 50; 477 uid = "face_auth_host"; 478 gid = ["face_auth_host"]; 479 face_auth_device :: device { 480 device0 :: deviceNode { 481 policy = 2; 482 priority = 200; 483 moduleName = "libface_auth_driver.z.so"; 484 serviceName = "face_auth_interface_service"; 485 } 486 } 487 } 488 489 pin_auth :: host { 490 hostName = "pin_auth_host"; 491 priority = 50; 492 uid = "pin_auth_host"; 493 gid = ["pin_auth_host"]; 494 pin_auth_device :: device { 495 device0 :: deviceNode { 496 policy = 2; 497 priority = 200; 498 moduleName = "libpin_auth_driver.z.so"; 499 serviceName = "pin_auth_interface_service"; 500 } 501 } 502 } 503 504 user_auth :: host { 505 hostName = "user_auth_host"; 506 priority = 50; 507 uid = "user_auth_host"; 508 gid = ["user_auth_host"]; 509 user_auth_device :: device { 510 device0 :: deviceNode { 511 policy = 2; 512 priority = 200; 513 moduleName = "libuser_auth_driver.z.so"; 514 serviceName = "user_auth_interface_service"; 515 } 516 } 517 } 518 519 fingerprint_auth :: host { 520 hostName = "fingerprint_auth_host"; 521 priority = 50; 522 uid = "fingerprint_auth_host"; 523 gid = ["fingerprint_auth_host"]; 524 fingerprint_device :: device { 525 device0 :: deviceNode { 526 policy = 2; 527 priority = 200; 528 moduleName = "libfingerprint_auth_driver.z.so"; 529 serviceName = "fingerprint_auth_interface_service"; 530 } 531 } 532 } 533 534 location :: host { 535 hostName = "location_host"; 536 priority = 50; 537 uid = "location_host"; 538 gid = ["location_host"]; 539 location_gnss_device :: device { 540 device0 :: deviceNode { 541 policy = 2; 542 priority = 100; 543 preload = 2; 544 moduleName = "liblocation_gnss_hdi_driver.z.so"; 545 serviceName = "gnss_interface_service"; 546 } 547 } 548 location_agnss_device :: device { 549 device0 :: deviceNode { 550 policy = 2; 551 priority = 100; 552 preload = 2; 553 moduleName = "liblocation_agnss_hdi_driver.z.so"; 554 serviceName = "agnss_interface_service"; 555 } 556 } 557 location_geofence_device :: device { 558 device0 :: deviceNode { 559 policy = 2; 560 priority = 100; 561 preload = 2; 562 moduleName = "liblocation_geofence_hdi_driver.z.so"; 563 serviceName = "geofence_interface_service"; 564 } 565 } 566 } 567 partitionslot :: host { 568 hostName = "partitionslot_host"; 569 priority = 100; 570 uid = "useriam"; 571 gid = ["useriam", "update"]; 572 partitionslot_device :: device { 573 device0 :: deviceNode { 574 policy = 2; 575 priority = 100; 576 preload = 2; 577 moduleName = "libpartitionslot_driver.z.so"; 578 serviceName = "partition_slot_service"; 579 } 580 } 581 } 582 intell_voice :: host { 583 hostName = "intell_voice_host"; 584 priority = 100; 585 intell_voice_device :: device { 586 device0 :: deviceNode { 587 policy = 2; 588 priority = 100; 589 preload = 2; 590 moduleName = "libintell_voice_engine_driver.z.so"; 591 serviceName = "intell_voice_engine_manager_service"; 592 } 593 } 594 } 595 } 596} 597