1 root {
2    device_info {
3        match_attr = "hdf_manager";
4        template host {
5            hostName = "";
6            priority = 100;
7            template device {
8                template deviceNode {
9                    policy = 0;
10                    priority = 100;
11                    preload = 0;
12                    permission = 0664;
13                    moduleName = "";
14                    serviceName = "";
15                    deviceMatchAttr = "";
16                }
17            }
18        }
19        platform :: host {
20            hostName = "sample_host";
21            priority = 50;
22            sample_device :: device {
23                device0 :: deviceNode {
24                    policy = 2;
25                    priority = 100;
26                    preload = 2;
27                    moduleName = "libsample_driver.z.so";
28                    serviceName = "sample_driver_service";
29                }
30            }
31        }
32        usb :: host {
33            hostName = "usb_host";
34            priority = 50;
35            caps = ["DAC_OVERRIDE"];
36            usb_device :: device {
37                device0 :: deviceNode {
38                    policy = 2;
39                    priority = 100;
40                    moduleName = "libusb_driver.z.so";
41                    serviceName = "usb_interface_service";
42                    deviceMatchAttr = "usb_device_interface_driver";
43                }
44            }
45        }
46        usbfn :: host {
47            hostName = "usbfn_host";
48            priority = 50;
49            caps = ["DAC_OVERRIDE"];
50            usb_pnp_manager_device :: device {
51                device0 :: deviceNode {
52                    policy = 2;
53                    priority = 70;
54                    moduleName = "libusb_pnp_manager.z.so";
55                    serviceName = "usb_pnp_manager";
56                }
57            }
58            usbfn_device :: device {
59                device0 :: deviceNode {
60                    policy = 2;
61                    priority = 80;
62                    moduleName = "libusbfn.z.so";
63                    serviceName = "usbfn";
64                    deviceMatchAttr = "usbfn_driver";
65                }
66            }
67            ecm_device :: device {
68                device0 :: deviceNode {
69                    policy = 2;
70                    priority = 81;
71                    moduleName = "libusbfn_cdcecm.z.so";
72                    serviceName = "usbfn_cdcecm";
73                    deviceMatchAttr = "usbfn_cdcecm_driver";
74                }
75            }
76            acm_device :: device {
77                device0 :: deviceNode {
78                    policy = 2;
79                    priority = 100;
80                    moduleName = "libusbfn_cdcacm.z.so";
81                    serviceName = "usbfn_cdcacm";
82                    deviceMatchAttr = "usbfn_cdcacm_driver";
83                }
84            }
85        }
86        power :: host {
87            hostName = "power_host";
88            priority = 50;
89            caps = ["BLOCK_SUSPEND"];
90            power_device :: device {
91                device0 :: deviceNode {
92                    policy = 2;
93                    priority = 100;
94                    moduleName = "libpower_driver.z.so";
95                    serviceName = "power_interface_service";
96                }
97            }
98            battery_device :: device {
99                device0 :: deviceNode {
100                    policy = 2;
101                    priority = 100;
102                    moduleName = "libbattery_driver.z.so";
103                    serviceName = "battery_interface_service";
104                }
105            }
106            thermal_device :: device {
107                device0 :: deviceNode {
108                    policy = 2;
109                    priority = 100;
110                    moduleName = "libthermal_driver.z.so";
111                    serviceName = "thermal_interface_service";
112                }
113            }
114        }
115        wlan :: host {
116            hostName = "wifi_host";
117            priority = 50;
118            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"];
119            gid = ["wifi_host", "wifi_group"];
120            wifi_c_device :: device {
121                device0 :: deviceNode {
122                    policy = 2;
123                    priority = 100;
124                    moduleName = "libwifi_hdi_c_device.z.so";
125                    serviceName = "wlan_interface_service";
126                }
127            }
128        }
129        wpa :: host {
130            hostName = "wpa_host";
131            priority = 50;
132            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"];
133            initconfig = ["\"permission\" : [\"ohos.permission.ACCESS_CERT_MANAGER\"]", "\"secon\" : \"u:r:wifi_host:s0\""];
134            uid = "wifi";
135            gid = ["wifi", "wifi_group", "wifi_host"];
136            wpa_device :: device {
137                device0 :: deviceNode {
138                    policy = 2;
139                    preload = 2;
140                    priority = 100;
141                    moduleName = "libwpa_hdi_c_device.z.so";
142                    serviceName = "wpa_interface_service";
143                }
144            }
145        }
146        hostapd :: host {
147            hostName = "hostapd_host";
148            priority = 50;
149            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"];
150            initconfig = ["\"secon\" : \"u:r:wifi_host:s0\""];
151            uid = "wifi";
152            gid = ["wifi", "wifi_group", "wifi_host"];
153            wpa_device :: device {
154                device0 :: deviceNode {
155                    policy = 2;
156                    preload = 2;
157                    priority = 100;
158                    moduleName = "libhostapd_hdi_c_device.z.so";
159                    serviceName = "hostapd_interface_service";
160                }
161            }
162        }
163        audio :: host {
164            hostName = "audio_host";
165            priority = 50;
166            audio_device :: device {
167                device0 :: deviceNode {
168                    policy = 2;
169                    priority = 100;
170                    moduleName = "libhdi_audio_server.z.so";
171                    serviceName = "audio_hdi_service";
172                }
173            }
174        }
175        hdi_server :: host {
176            hostName = "camera_host";
177            priority = 50;
178            camera_device :: device {
179                 device0 :: deviceNode {
180                     policy = 2;
181                     priority = 100;
182                     moduleName = "libcamera_hdi_impl.z.so";
183                     serviceName = "camera_service";
184                 }
185             }
186
187	    display_device :: device {
188                device0 :: deviceNode {
189                    policy = 2;
190                    priority = 120;
191                    moduleName = "libhdi_video_layer_service.z.so";
192                    serviceName = "hdi_video_layer_service";
193                }
194            }
195        }
196
197        input_hal :: host {
198            hostName = "input_user_host";
199            priority = 50;
200            input_device :: device {
201                device0 :: deviceNode {
202                    policy = 2;
203                    priority = 150;
204                    moduleName = "libhdf_input_hotplug.z.so";
205                    serviceName = "input_service";
206                }
207            }
208        }
209
210        display_gralloc :: host {
211            hostName = "display_gralloc_host";
212            priority = 40;
213            input_device :: device {
214                device0 :: deviceNode {
215                    policy = 2;
216                    priority = 160;
217                    moduleName = "libhdi_display_gralloc_stub.z.so";
218                    serviceName = "hdi_display_gralloc_service";
219                }
220            }
221        }
222
223        codec :: host {
224            hostName = "codec_host";
225            priority = 50;
226            codec_device :: device {
227                device0 :: deviceNode {
228                    policy = 2;
229                    priority = 200;
230                    moduleName = "libcodec_server.z.so";
231                    serviceName = "codec_hdi_service";
232                }
233            }
234        }
235        riladapter :: host {
236            hostName = "riladapter_host";
237            priority = 50;
238            riladapter_device :: device {
239                device0 :: deviceNode {
240                    policy = 2;
241                    priority = 100;
242                    moduleName = "libhril_hdf.z.so";
243                    serviceName = "cellular_radio1";
244                }
245            }
246        }
247        sensor :: host { 
248            hostName = "sensor_host"; 
249            priority = 50; 
250            sensor_device :: device { 
251                device0 :: deviceNode { 
252                    policy = 2; 
253                    priority = 100; 
254                    moduleName = "libsensor_driver.z.so"; 
255                    serviceName = "sensor_interface_service"; 
256                } 
257            } 
258        }
259        vibrator :: host {
260            hostName = "vibrator_host";
261            priority = 50;
262            vibrator_device :: device {
263                device0 :: deviceNode {
264                    policy = 2;
265                    priority = 100;
266                    moduleName = "libvibrator_driver.z.so";
267                    serviceName = "vibrator_interface_service";
268                }
269            }
270        }
271        light :: host {
272            hostName = "light_host";
273            priority = 50;
274            uhdf_light_device :: device {
275                device0 :: deviceNode {
276                    policy = 2;
277                    priority = 100;
278                    moduleName = "liblight_driver.z.so";
279                    serviceName = "light_interface_service";
280                }
281            }
282        }
283    }
284}
285