10a7ce71fSopenharmony_ci root {
20a7ce71fSopenharmony_ci    device_info {
30a7ce71fSopenharmony_ci        match_attr = "hdf_manager";
40a7ce71fSopenharmony_ci        template host {
50a7ce71fSopenharmony_ci            hostName = "";
60a7ce71fSopenharmony_ci            priority = 100;
70a7ce71fSopenharmony_ci            uid = "";
80a7ce71fSopenharmony_ci            gid = [""];
90a7ce71fSopenharmony_ci            caps = [""];
100a7ce71fSopenharmony_ci            template device {
110a7ce71fSopenharmony_ci                template deviceNode {
120a7ce71fSopenharmony_ci                    policy = 0;
130a7ce71fSopenharmony_ci                    priority = 100;
140a7ce71fSopenharmony_ci                    preload = 0;
150a7ce71fSopenharmony_ci                    permission = 0664;
160a7ce71fSopenharmony_ci                    moduleName = "";
170a7ce71fSopenharmony_ci                    serviceName = "";
180a7ce71fSopenharmony_ci                    deviceMatchAttr = "";
190a7ce71fSopenharmony_ci                }
200a7ce71fSopenharmony_ci            }
210a7ce71fSopenharmony_ci        }
220a7ce71fSopenharmony_ci        platform :: host {
230a7ce71fSopenharmony_ci            hostName = "sample_host";
240a7ce71fSopenharmony_ci            priority = 50;
250a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
260a7ce71fSopenharmony_ci            sample_device :: device {
270a7ce71fSopenharmony_ci                device0 :: deviceNode {
280a7ce71fSopenharmony_ci                    policy = 2;
290a7ce71fSopenharmony_ci                    priority = 100;
300a7ce71fSopenharmony_ci                    preload = 2;
310a7ce71fSopenharmony_ci                    moduleName = "libsample_driver.z.so";
320a7ce71fSopenharmony_ci                    serviceName = "sample_driver_service";
330a7ce71fSopenharmony_ci                }
340a7ce71fSopenharmony_ci            }
350a7ce71fSopenharmony_ci        }
360a7ce71fSopenharmony_ci        bluetooth :: host {
370a7ce71fSopenharmony_ci            hostName = "blue_host";
380a7ce71fSopenharmony_ci            priority = 50;
390a7ce71fSopenharmony_ci            uid = "root";
400a7ce71fSopenharmony_ci            gid = ["system"];
410a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
420a7ce71fSopenharmony_ci            bluetooth_device :: device {
430a7ce71fSopenharmony_ci                device0 :: deviceNode {
440a7ce71fSopenharmony_ci                    policy = 2;
450a7ce71fSopenharmony_ci                    priority = 100;
460a7ce71fSopenharmony_ci                    moduleName = "libbluetooth_hdi_server.z.so";
470a7ce71fSopenharmony_ci                    serviceName = "BtHciService";
480a7ce71fSopenharmony_ci                }
490a7ce71fSopenharmony_ci            }
500a7ce71fSopenharmony_ci        }
510a7ce71fSopenharmony_ci        audio_bluetooth :: host {
520a7ce71fSopenharmony_ci            hostName = "a2dp_host";
530a7ce71fSopenharmony_ci            priority = 50;
540a7ce71fSopenharmony_ci            uid = "root";
550a7ce71fSopenharmony_ci            gid = ["system"];
560a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
570a7ce71fSopenharmony_ci            bluetooth_device :: device {
580a7ce71fSopenharmony_ci                device0 :: deviceNode {
590a7ce71fSopenharmony_ci                    policy = 2;
600a7ce71fSopenharmony_ci                    priority = 100;
610a7ce71fSopenharmony_ci                    preload = 2;
620a7ce71fSopenharmony_ci                    moduleName = "libaudio_bluetooth_hdi_adapter_server.z.so";
630a7ce71fSopenharmony_ci                    serviceName = "audio_bluetooth_hdi_service";
640a7ce71fSopenharmony_ci                }
650a7ce71fSopenharmony_ci            }
660a7ce71fSopenharmony_ci        }
670a7ce71fSopenharmony_ci        usb :: host {
680a7ce71fSopenharmony_ci            hostName = "usb_host";
690a7ce71fSopenharmony_ci            priority = 50;
700a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE"];
710a7ce71fSopenharmony_ci            usb_device :: device {
720a7ce71fSopenharmony_ci                device0 :: deviceNode {
730a7ce71fSopenharmony_ci                    policy = 2;
740a7ce71fSopenharmony_ci                    priority = 100;
750a7ce71fSopenharmony_ci                    moduleName = "libusb_driver.z.so";
760a7ce71fSopenharmony_ci                    serviceName = "usb_interface_service";
770a7ce71fSopenharmony_ci                    deviceMatchAttr = "usb_device_interface_driver";
780a7ce71fSopenharmony_ci                }
790a7ce71fSopenharmony_ci            }
800a7ce71fSopenharmony_ci        }
810a7ce71fSopenharmony_ci        usbfn :: host {
820a7ce71fSopenharmony_ci            hostName = "usbfn_host";
830a7ce71fSopenharmony_ci            priority = 50;
840a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE"];
850a7ce71fSopenharmony_ci            usb_pnp_manager_device :: device {
860a7ce71fSopenharmony_ci                device0 :: deviceNode {
870a7ce71fSopenharmony_ci                    policy = 2;
880a7ce71fSopenharmony_ci                    priority = 70;
890a7ce71fSopenharmony_ci                    moduleName = "libusb_pnp_manager.z.so";
900a7ce71fSopenharmony_ci                    serviceName = "usb_pnp_manager";
910a7ce71fSopenharmony_ci                }
920a7ce71fSopenharmony_ci            }
930a7ce71fSopenharmony_ci            usbfn_device :: device {
940a7ce71fSopenharmony_ci                device0 :: deviceNode {
950a7ce71fSopenharmony_ci                    policy = 2;
960a7ce71fSopenharmony_ci                    priority = 80;
970a7ce71fSopenharmony_ci                    moduleName = "libusbfn.z.so";
980a7ce71fSopenharmony_ci                    serviceName = "usbfn";
990a7ce71fSopenharmony_ci                    deviceMatchAttr = "usbfn_driver";
1000a7ce71fSopenharmony_ci                }
1010a7ce71fSopenharmony_ci            }
1020a7ce71fSopenharmony_ci            ecm_device :: device {
1030a7ce71fSopenharmony_ci                device0 :: deviceNode {
1040a7ce71fSopenharmony_ci                    policy = 2;
1050a7ce71fSopenharmony_ci                    priority = 81;
1060a7ce71fSopenharmony_ci                    moduleName = "libusbfn_cdcecm.z.so";
1070a7ce71fSopenharmony_ci                    serviceName = "usbfn_cdcecm";
1080a7ce71fSopenharmony_ci                    deviceMatchAttr = "usbfn_cdcecm_driver";
1090a7ce71fSopenharmony_ci                }
1100a7ce71fSopenharmony_ci            }
1110a7ce71fSopenharmony_ci            acm_device :: device {
1120a7ce71fSopenharmony_ci                device0 :: deviceNode {
1130a7ce71fSopenharmony_ci                    policy = 2;
1140a7ce71fSopenharmony_ci                    priority = 100;
1150a7ce71fSopenharmony_ci                    moduleName = "libusbfn_cdcacm.z.so";
1160a7ce71fSopenharmony_ci                    serviceName = "usbfn_cdcacm";
1170a7ce71fSopenharmony_ci                    deviceMatchAttr = "usbfn_cdcacm_driver";
1180a7ce71fSopenharmony_ci                }
1190a7ce71fSopenharmony_ci            }
1200a7ce71fSopenharmony_ci        }
1210a7ce71fSopenharmony_ci        power :: host {
1220a7ce71fSopenharmony_ci            hostName = "power_host";
1230a7ce71fSopenharmony_ci            priority = 50;
1240a7ce71fSopenharmony_ci            uid = "system";
1250a7ce71fSopenharmony_ci            gid = ["system"];
1260a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "BLOCK_SUSPEND"];
1270a7ce71fSopenharmony_ci            power_device :: device {
1280a7ce71fSopenharmony_ci                device0 :: deviceNode {
1290a7ce71fSopenharmony_ci                    policy = 2;
1300a7ce71fSopenharmony_ci                    priority = 100;
1310a7ce71fSopenharmony_ci                    moduleName = "libpower_driver.z.so";
1320a7ce71fSopenharmony_ci                    serviceName = "power_interface_service";
1330a7ce71fSopenharmony_ci                }
1340a7ce71fSopenharmony_ci            }
1350a7ce71fSopenharmony_ci            battery_device :: device {
1360a7ce71fSopenharmony_ci                device0 :: deviceNode {
1370a7ce71fSopenharmony_ci                    policy = 2;
1380a7ce71fSopenharmony_ci                    priority = 100;
1390a7ce71fSopenharmony_ci                    moduleName = "libbattery_driver.z.so";
1400a7ce71fSopenharmony_ci                    serviceName = "battery_interface_service";
1410a7ce71fSopenharmony_ci                }
1420a7ce71fSopenharmony_ci            }
1430a7ce71fSopenharmony_ci            thermal_device :: device {
1440a7ce71fSopenharmony_ci                device0 :: deviceNode {
1450a7ce71fSopenharmony_ci                    policy = 2;
1460a7ce71fSopenharmony_ci                    priority = 100;
1470a7ce71fSopenharmony_ci                    moduleName = "libthermal_driver.z.so";
1480a7ce71fSopenharmony_ci                    serviceName = "thermal_interface_service";
1490a7ce71fSopenharmony_ci                }
1500a7ce71fSopenharmony_ci            }
1510a7ce71fSopenharmony_ci        }
1520a7ce71fSopenharmony_ci        wlan :: host {
1530a7ce71fSopenharmony_ci            hostName = "wifi_host";
1540a7ce71fSopenharmony_ci            priority = 50;
1550a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"];
1560a7ce71fSopenharmony_ci            gid = ["wifi_host", "wifi_group"];
1570a7ce71fSopenharmony_ci            wifi_c_device :: device {
1580a7ce71fSopenharmony_ci                device0 :: deviceNode {
1590a7ce71fSopenharmony_ci                    policy = 2;
1600a7ce71fSopenharmony_ci                    priority = 100;
1610a7ce71fSopenharmony_ci                    moduleName = "libwifi_hdi_c_device.z.so";
1620a7ce71fSopenharmony_ci                    serviceName = "wlan_interface_service";
1630a7ce71fSopenharmony_ci                }
1640a7ce71fSopenharmony_ci            }
1650a7ce71fSopenharmony_ci        }
1660a7ce71fSopenharmony_ci        wpa :: host {
1670a7ce71fSopenharmony_ci            hostName = "wpa_host";
1680a7ce71fSopenharmony_ci            priority = 50;
1690a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"];
1700a7ce71fSopenharmony_ci            initconfig = ["\"permission\" : [\"ohos.permission.ACCESS_CERT_MANAGER\"]", "\"secon\" : \"u:r:wifi_host:s0\""];
1710a7ce71fSopenharmony_ci            uid = "wifi";
1720a7ce71fSopenharmony_ci            gid = ["wifi", "wifi_group", "wifi_host"];
1730a7ce71fSopenharmony_ci            wpa_device :: device {
1740a7ce71fSopenharmony_ci                device0 :: deviceNode {
1750a7ce71fSopenharmony_ci                    policy = 2;
1760a7ce71fSopenharmony_ci                    preload = 2;
1770a7ce71fSopenharmony_ci                    priority = 100;
1780a7ce71fSopenharmony_ci                    moduleName = "libwpa_hdi_c_device.z.so";
1790a7ce71fSopenharmony_ci                    serviceName = "wpa_interface_service";
1800a7ce71fSopenharmony_ci                }
1810a7ce71fSopenharmony_ci            }
1820a7ce71fSopenharmony_ci        }
1830a7ce71fSopenharmony_ci        hostapd :: host {
1840a7ce71fSopenharmony_ci            hostName = "hostapd_host";
1850a7ce71fSopenharmony_ci            priority = 50;
1860a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"];
1870a7ce71fSopenharmony_ci            initconfig = ["\"secon\" : \"u:r:wifi_host:s0\""];
1880a7ce71fSopenharmony_ci            uid = "wifi";
1890a7ce71fSopenharmony_ci            gid = ["wifi", "wifi_group", "wifi_host"];
1900a7ce71fSopenharmony_ci            wpa_device :: device {
1910a7ce71fSopenharmony_ci                device0 :: deviceNode {
1920a7ce71fSopenharmony_ci                    policy = 2;
1930a7ce71fSopenharmony_ci                    preload = 2;
1940a7ce71fSopenharmony_ci                    priority = 100;
1950a7ce71fSopenharmony_ci                    moduleName = "libhostapd_hdi_c_device.z.so";
1960a7ce71fSopenharmony_ci                    serviceName = "hostapd_interface_service";
1970a7ce71fSopenharmony_ci                }
1980a7ce71fSopenharmony_ci            }
1990a7ce71fSopenharmony_ci        }
2000a7ce71fSopenharmony_ci        audio :: host {
2010a7ce71fSopenharmony_ci            hostName = "audio_host";
2020a7ce71fSopenharmony_ci            priority = 50;
2030a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
2040a7ce71fSopenharmony_ci            audio_device :: device {
2050a7ce71fSopenharmony_ci                device0 :: deviceNode {
2060a7ce71fSopenharmony_ci                    policy = 2;
2070a7ce71fSopenharmony_ci                    priority = 100;
2080a7ce71fSopenharmony_ci                    moduleName = "libhdi_audio_primary_server.z.so";
2090a7ce71fSopenharmony_ci                    serviceName = "audio_hdi_service";
2100a7ce71fSopenharmony_ci                }
2110a7ce71fSopenharmony_ci            }
2120a7ce71fSopenharmony_ci        }
2130a7ce71fSopenharmony_ci        hdi_server :: host {
2140a7ce71fSopenharmony_ci            hostName = "camera_mpp_host";
2150a7ce71fSopenharmony_ci            priority = 50;
2160a7ce71fSopenharmony_ci            uid = "root";
2170a7ce71fSopenharmony_ci            gid = ["system"];
2180a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
2190a7ce71fSopenharmony_ci            camera_device :: device {
2200a7ce71fSopenharmony_ci                 device0 :: deviceNode {
2210a7ce71fSopenharmony_ci                     policy = 2;
2220a7ce71fSopenharmony_ci                     priority = 100;
2230a7ce71fSopenharmony_ci                     moduleName = "libcamera_hdi_impl.z.so";
2240a7ce71fSopenharmony_ci                     serviceName = "camera_service";
2250a7ce71fSopenharmony_ci                 }
2260a7ce71fSopenharmony_ci             }
2270a7ce71fSopenharmony_ci
2280a7ce71fSopenharmony_ci	    display_device :: device {
2290a7ce71fSopenharmony_ci                device0 :: deviceNode {
2300a7ce71fSopenharmony_ci                    policy = 2;
2310a7ce71fSopenharmony_ci                    priority = 120;
2320a7ce71fSopenharmony_ci                    moduleName = "libhdi_video_layer_service.z.so";
2330a7ce71fSopenharmony_ci                    serviceName = "hdi_video_layer_service";
2340a7ce71fSopenharmony_ci                }
2350a7ce71fSopenharmony_ci            }
2360a7ce71fSopenharmony_ci        }
2370a7ce71fSopenharmony_ci
2380a7ce71fSopenharmony_ci        input_hal :: host {
2390a7ce71fSopenharmony_ci            hostName = "input_user_host";
2400a7ce71fSopenharmony_ci            priority = 50;
2410a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
2420a7ce71fSopenharmony_ci            input_device :: device {
2430a7ce71fSopenharmony_ci                device0 :: deviceNode {
2440a7ce71fSopenharmony_ci                    policy = 2;
2450a7ce71fSopenharmony_ci                    priority = 150;
2460a7ce71fSopenharmony_ci                    moduleName = "libhdf_input_hotplug.z.so";
2470a7ce71fSopenharmony_ci                    serviceName = "input_service";
2480a7ce71fSopenharmony_ci                }
2490a7ce71fSopenharmony_ci            }
2500a7ce71fSopenharmony_ci            input_hdi_device :: device {
2510a7ce71fSopenharmony_ci                device0 :: deviceNode {
2520a7ce71fSopenharmony_ci                    policy = 2;
2530a7ce71fSopenharmony_ci                    priority = 100;
2540a7ce71fSopenharmony_ci                    moduleName = "libinput_driver.z.so";
2550a7ce71fSopenharmony_ci                    serviceName = "input_interfaces_service";
2560a7ce71fSopenharmony_ci                }
2570a7ce71fSopenharmony_ci            }
2580a7ce71fSopenharmony_ci        }
2590a7ce71fSopenharmony_ci
2600a7ce71fSopenharmony_ci        display_gralloc :: host {
2610a7ce71fSopenharmony_ci            hostName = "display_gralloc_host";
2620a7ce71fSopenharmony_ci            priority = 40;
2630a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
2640a7ce71fSopenharmony_ci            input_device :: device {
2650a7ce71fSopenharmony_ci                device0 :: deviceNode {
2660a7ce71fSopenharmony_ci                    policy = 2;
2670a7ce71fSopenharmony_ci                    priority = 160;
2680a7ce71fSopenharmony_ci                    moduleName = "libhdi_display_gralloc_stub.z.so";
2690a7ce71fSopenharmony_ci                    serviceName = "hdi_display_gralloc_service";
2700a7ce71fSopenharmony_ci                }
2710a7ce71fSopenharmony_ci            }
2720a7ce71fSopenharmony_ci        }
2730a7ce71fSopenharmony_ci
2740a7ce71fSopenharmony_ci        codec :: host {
2750a7ce71fSopenharmony_ci            hostName = "codec_host";
2760a7ce71fSopenharmony_ci            priority = 50;
2770a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
2780a7ce71fSopenharmony_ci            codec_device :: device {
2790a7ce71fSopenharmony_ci                device0 :: deviceNode {
2800a7ce71fSopenharmony_ci                    policy = 2;
2810a7ce71fSopenharmony_ci                    priority = 200;
2820a7ce71fSopenharmony_ci                    moduleName = "libcodec_server.z.so";
2830a7ce71fSopenharmony_ci                    serviceName = "codec_hdi_service";
2840a7ce71fSopenharmony_ci                }
2850a7ce71fSopenharmony_ci            }
2860a7ce71fSopenharmony_ci        }
2870a7ce71fSopenharmony_ci        riladapter :: host {
2880a7ce71fSopenharmony_ci            hostName = "riladapter_host";
2890a7ce71fSopenharmony_ci            priority = 50;
2900a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
2910a7ce71fSopenharmony_ci            riladapter_device :: device {
2920a7ce71fSopenharmony_ci                device0 :: deviceNode {
2930a7ce71fSopenharmony_ci                    policy = 2;
2940a7ce71fSopenharmony_ci                    priority = 100;
2950a7ce71fSopenharmony_ci                    moduleName = "libhril_hdf.z.so";
2960a7ce71fSopenharmony_ci                    serviceName = "cellular_radio1";
2970a7ce71fSopenharmony_ci                }
2980a7ce71fSopenharmony_ci            }
2990a7ce71fSopenharmony_ci        }
3000a7ce71fSopenharmony_ci        sensor :: host { 
3010a7ce71fSopenharmony_ci            hostName = "sensor_host"; 
3020a7ce71fSopenharmony_ci            priority = 50;
3030a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
3040a7ce71fSopenharmony_ci            sensor_device :: device { 
3050a7ce71fSopenharmony_ci                device0 :: deviceNode { 
3060a7ce71fSopenharmony_ci                    policy = 2; 
3070a7ce71fSopenharmony_ci                    priority = 100; 
3080a7ce71fSopenharmony_ci                    moduleName = "libsensor_driver.z.so"; 
3090a7ce71fSopenharmony_ci                    serviceName = "sensor_interface_service"; 
3100a7ce71fSopenharmony_ci                } 
3110a7ce71fSopenharmony_ci            } 
3120a7ce71fSopenharmony_ci        }
3130a7ce71fSopenharmony_ci        vibrator :: host {
3140a7ce71fSopenharmony_ci            hostName = "vibrator_host";
3150a7ce71fSopenharmony_ci            priority = 50;
3160a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
3170a7ce71fSopenharmony_ci            vibrator_device :: device {
3180a7ce71fSopenharmony_ci                device0 :: deviceNode {
3190a7ce71fSopenharmony_ci                    policy = 2;
3200a7ce71fSopenharmony_ci                    priority = 100;
3210a7ce71fSopenharmony_ci                    moduleName = "libvibrator_driver.z.so";
3220a7ce71fSopenharmony_ci                    serviceName = "vibrator_interface_service";
3230a7ce71fSopenharmony_ci                }
3240a7ce71fSopenharmony_ci            }
3250a7ce71fSopenharmony_ci        }
3260a7ce71fSopenharmony_ci        light :: host {
3270a7ce71fSopenharmony_ci            hostName = "light_host";
3280a7ce71fSopenharmony_ci            priority = 50;
3290a7ce71fSopenharmony_ci            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH"];
3300a7ce71fSopenharmony_ci            light_device :: device {
3310a7ce71fSopenharmony_ci                device0 :: deviceNode {
3320a7ce71fSopenharmony_ci                    policy = 2;
3330a7ce71fSopenharmony_ci                    priority = 100;
3340a7ce71fSopenharmony_ci                    moduleName = "liblight_driver.z.so";
3350a7ce71fSopenharmony_ci                    serviceName = "light_interface_service";
3360a7ce71fSopenharmony_ci                }
3370a7ce71fSopenharmony_ci            }
3380a7ce71fSopenharmony_ci        }
3390a7ce71fSopenharmony_ci    }
3400a7ce71fSopenharmony_ci}
341