• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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                device1 :: deviceNode {
131                    policy = 2;
132                    priority = 100;
133                    moduleName = "libusb_device_driver.z.so";
134                    serviceName = "usb_device_interface_service";
135                    deviceMatchAttr = "usb_device_interface_driver";
136                }
137                device2 :: deviceNode {
138                    policy = 2;
139                    priority = 100;
140                    moduleName = "libusb_port_driver.z.so";
141                    serviceName = "usb_port_interface_service";
142                    deviceMatchAttr = "usb_device_interface_driver";
143                }
144            }
145            ddk_device :: device {
146                device0 :: deviceNode {
147                    policy = 2;
148                    priority = 100;
149                    moduleName = "libusb_ddk_driver.z.so";
150                    serviceName = "usb_ddk_service";
151                }
152            }
153            usb_serial_device :: device {
154                device0 :: deviceNode {
155                    policy = 2;
156                    priority = 100;
157                    moduleName = "libusb_serial_ddk_driver.z.so";
158                    serviceName = "usb_serial_ddk_service";
159                }
160            }
161            scsi_device :: device {
162                device0 :: deviceNode {
163                    policy = 2;
164                    priority = 100;
165                    moduleName = "libscsi_ddk_driver.z.so";
166                    serviceName = "scsi_peripheral_ddk_service";
167                }
168            }
169        }
170        power :: host {
171            hostName = "power_host";
172            priority = 50;
173            uid = "power_host";
174            gid = ["power_host", "system", "log"];
175            caps = ["BLOCK_SUSPEND"];
176            power_device :: device {
177                device0 :: deviceNode {
178                    policy = 2;
179                    priority = 100;
180                    moduleName = "libpower_driver.z.so";
181                    serviceName = "power_interface_service";
182                }
183            }
184            battery_device :: device {
185                device0 :: deviceNode {
186                    policy = 2;
187                    priority = 100;
188                    moduleName = "libbattery_driver.z.so";
189                    serviceName = "battery_interface_service";
190                }
191            }
192            thermal_device :: device {
193                device0 :: deviceNode {
194                    policy = 2;
195                    priority = 100;
196                    moduleName = "libthermal_driver.z.so";
197                    serviceName = "thermal_interface_service";
198                }
199            }
200        }
201        wlan :: host {
202            hostName = "wifi_host";
203            priority = 50;
204            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"];
205            gid = ["wifi_host", "wifi_group"];
206            wifi_device :: device {
207                device0 :: deviceNode {
208                    policy = 2;
209                    priority = 100;
210                    moduleName = "libwifi_hdi_c_device.z.so";
211                    serviceName = "wlan_interface_service";
212                }
213            }
214            wifi_chip_device :: device {
215                device0 :: deviceNode {
216                    policy = 2;
217                    priority = 100;
218                    moduleName = "libchip_hdi_driver.z.so";
219                    serviceName = "chip_interface_service";
220                }
221            }
222        }
223        wpa :: host {
224            hostName = "wpa_host";
225            priority = 50;
226            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"];
227            initconfig = ["\"permission\" : [\"ohos.permission.ACCESS_CERT_MANAGER\"]", "\"secon\" : \"u:r:wifi_host:s0\""];
228            uid = "wifi";
229            gid = ["wifi", "wifi_group", "wifi_host"];
230            wpa_device :: device {
231                device0 :: deviceNode {
232                    policy = 2;
233                    preload = 2;
234                    priority = 100;
235                    moduleName = "libwpa_hdi_c_device.z.so";
236                    serviceName = "wpa_interface_service";
237                }
238            }
239        }
240        hostapd :: host {
241            hostName = "hostapd_host";
242            priority = 50;
243            caps = ["DAC_OVERRIDE", "DAC_READ_SEARCH", "NET_ADMIN", "NET_RAW"];
244            initconfig = ["\"secon\" : \"u:r:wifi_host:s0\""];
245            uid = "wifi";
246            gid = ["wifi", "wifi_group", "wifi_host"];
247            wpa_device :: device {
248                device0 :: deviceNode {
249                    policy = 2;
250                    preload = 2;
251                    priority = 100;
252                    moduleName = "libhostapd_hdi_c_device.z.so";
253                    serviceName = "hostapd_interface_service";
254                }
255            }
256        }
257        audio :: host {
258            hostName = "audio_host";
259            priority = 50;
260            gid = ["audio_host", "uhdf_driver", "root", "audio"];
261            audio_device :: device {
262                device0 :: deviceNode {
263                    policy = 2;
264                    priority = 100;
265                    moduleName = "libhdi_audio_primary_server.z.so";
266                    serviceName = "audio_hdi_service";
267                }
268            }
269            audio_usb_device :: device {
270                device0 :: deviceNode {
271                    policy = 2;
272                    priority = 100;
273                    moduleName = "libhdi_audio_usb_server.z.so";
274                    serviceName = "audio_hdi_usb_service";
275                }
276            }
277            audio_a2dp_device :: device {
278                device0 :: deviceNode {
279                    policy = 2;
280                    priority = 100;
281                    moduleName = "libhdi_audio_a2dp_server.z.so";
282                    serviceName = "audio_hdi_a2dp_service";
283                }
284            }
285            audio_pnp_device :: device {
286                device0 :: deviceNode {
287                    policy = 2;
288                    priority = 110;
289                    moduleName = "libhdi_audio_pnp_server.z.so";
290                    serviceName = "audio_hdi_pnp_service";
291                }
292            }
293            idl_audio_device :: device {
294                device0 :: deviceNode {
295                    policy = 2;
296                    priority = 100;
297                    moduleName = "libaudio_primary_driver.z.so";
298                    serviceName = "audio_manager_service";
299                }
300            }
301            effect_device :: device {
302                  device0 :: deviceNode {
303                      policy = 2;
304                      priority = 100;
305                      moduleName = "libeffect_model_service.z.so";
306                      serviceName = "effect_model_service";
307                }
308            }
309            trigger_device :: device {
310                device0 :: deviceNode {
311                    policy = 2;
312                    priority = 100;
313                    moduleName = "libintell_voice_trigger_driver.z.so";
314                    serviceName = "intell_voice_trigger_manager_service";
315                }
316            }
317
318        }
319        hdi_server :: host {
320            hostName = "camera_host";
321            priority = 50;
322            gid = ["camera_host", "uhdf_driver", "vendor_mpp_driver"];
323            camera_device :: device {
324                 device0 :: deviceNode {
325                     policy = 2;
326                     priority = 100;
327                     moduleName = "libcamera_host_service_1.0.z.so";
328                     serviceName = "camera_service";
329                 }
330             }
331	        display_device :: device {
332                device0 :: deviceNode {
333                    policy = 2;
334                    priority = 120;
335                    moduleName = "libhdi_media_layer_service.z.so";
336                    serviceName = "hdi_media_layer_service";
337                }
338            }
339        }
340	clearplay :: host {
341            hostName = "clearplay_host";
342            priority = 50;
343            uid = "clearplay_host";
344            gid = ["clearplay_host"];
345            clearplay_device :: device {
346                 device0 :: deviceNode {
347                     policy = 2;
348                     priority = 100;
349                     preload = 2;
350                     moduleName = "libclearplay_driver.z.so";
351                     serviceName = "clearplay_service";
352                 }
353            }
354        }
355        input_hal :: host {
356            hostName = "input_user_host";
357            priority = 50;
358            gid = ["input_user_host", "uhdf_driver", "uhid"];
359            input_device :: device {
360                device0 :: deviceNode {
361                    policy = 2;
362                    priority = 150;
363                    moduleName = "libhdf_input_hotplug.z.so";
364                    serviceName = "input_service";
365                }
366            }
367            input_hdi_device :: device {
368                device0 :: deviceNode {
369                    policy = 2;
370                    priority = 100;
371                    moduleName = "libinput_driver.z.so";
372                    serviceName = "input_interfaces_service";
373                }
374            }
375            hid_ddk_device :: device {
376                device0 :: deviceNode {
377                    policy = 2;
378                    priority = 100;
379                    moduleName = "libhid_ddk_driver.z.so";
380                    serviceName = "hid_ddk_service";
381                }
382            }
383        }
384        display_composer :: host {
385            hostName = "composer_host";
386            priority = 40;
387            processPriority = -8;
388            threadPriority = 1;
389            caps = ["SYS_NICE"];
390            uid = ["composer_host"];
391            gid = ["composer_host", "graphics", "vendor_mpp_driver"];
392	        composer_device :: device {
393                device0 :: deviceNode {
394                    policy = 2;
395                    priority = 160;
396                    moduleName = "libdisplay_composer_driver_1.0.z.so";
397                    serviceName = "display_composer_service";
398                }
399            }
400        }
401        allocator :: host {
402            hostName = "allocator_host";
403            priority = 40;
404            allocator_device :: device {
405                device0 :: deviceNode {
406                    policy = 2;
407                    priority = 160;
408                    moduleName = "liballocator_driver_1.0.z.so";
409                    serviceName = "allocator_service";
410                }
411            }
412        }
413        sensor :: host {
414            hostName = "sensor_host";
415            priority = 50;
416            gid = ["sensor_host", "uhdf_driver"];
417            sensor_device :: device {
418                device0 :: deviceNode {
419                    policy = 2;
420                    priority = 100;
421                    moduleName = "libsensor_driver.z.so";
422                    serviceName = "sensor_interface_service";
423                }
424            }
425        }
426        vibrator :: host {
427            hostName = "vibrator_host";
428            priority = 50;
429            vibrator_device :: device {
430                device0 :: deviceNode {
431                    policy = 2;
432                    priority = 100;
433                    moduleName = "libvibrator_driver.z.so";
434                    serviceName = "vibrator_interface_service";
435                }
436            }
437        }
438        light :: host {
439            hostName = "light_host";
440            priority = 50;
441            light_device :: device {
442                device0 :: deviceNode {
443                    policy = 2;
444                    priority = 100;
445                    moduleName = "liblight_driver.z.so";
446                    serviceName = "light_interface_service";
447                }
448            }
449        }
450
451        codec :: host {
452            hostName = "codec_host";
453            priority = 50;
454            gid = ["codec_host", "uhdf_driver", "vendor_mpp_driver"];
455            codec_omx_device :: device {
456                device0 :: deviceNode {
457                    policy = 2;
458                    priority = 100;
459                    moduleName = "libcodec_hdi_omx_server.z.so";
460                    serviceName = "codec_hdi_omx_service";
461                    deviceMatchAttr = "media_codec_capabilities";
462                }
463            }
464            codec_omx_idl_device :: device {
465                device0 :: deviceNode {
466                    policy = 2;
467                    priority = 100;
468                    moduleName = "libcodec_driver.z.so";
469                    serviceName = "codec_component_manager_service";
470                    deviceMatchAttr = "media_codec_capabilities";
471                }
472            }
473            codec_device :: device {
474                device0 :: deviceNode {
475                    policy = 2;
476                    priority = 100;
477                    moduleName = "libcodec_server.z.so";
478                    serviceName = "codec_hdi_service";
479                    deviceMatchAttr = "codec_hdi1.0_capabilities";
480                }
481            }
482            codec_image_device :: device {
483                device0 :: deviceNode {
484                    policy = 2;
485                    priority = 100;
486                    moduleName = "libcodec_image_driver.z.so";
487                    serviceName = "codec_image_service";
488                    deviceMatchAttr = "image_codec_capabilities";
489                }
490            }
491        }
492
493        distributed_camera_host :: host {
494            hostName = "dcamera_host";
495            priority = 50;
496            distributed_camera_device :: device {
497                device0 :: deviceNode {
498                    policy = 2;
499                    priority = 100;
500                    preload = 2;
501                    moduleName = "libdistributed_camera_host_config.z.so";
502                    serviceName = "distributed_camera_service";
503                }
504                device1 :: deviceNode {
505                    policy = 2;
506                    priority = 100;
507                    preload = 2;
508                    moduleName = "libdistributed_camera_provider_config.z.so";
509                    serviceName = "distributed_camera_provider_service";
510                }
511            }
512        }
513
514        distributed_audio_host :: host {
515            hostName = "daudio_host";
516            priority = 50;
517            distributed_audio_device :: device {
518                device0 :: deviceNode {
519                    policy = 2;
520                    priority = 100;
521                    preload = 2;
522                    moduleName = "libdaudio_primary_driver.z.so";
523                    serviceName = "daudio_primary_service";
524                }
525                device1 :: deviceNode {
526                    policy = 2;
527                    priority = 100;
528                    preload = 2;
529                    moduleName = "libdaudio_ext_driver.z.so";
530                    serviceName = "daudio_ext_service";
531                }
532            }
533        }
534
535        face_auth :: host {
536            hostName = "face_auth_host";
537            priority = 50;
538            uid = "face_auth_host";
539            gid = ["face_auth_host"];
540            face_auth_device :: device {
541                device0 :: deviceNode {
542                    policy = 2;
543                    priority = 200;
544                    moduleName = "libface_auth_driver.z.so";
545                    serviceName = "face_auth_interface_service";
546                }
547            }
548        }
549
550        pin_auth :: host {
551            hostName = "pin_auth_host";
552            priority = 50;
553            uid = "pin_auth_host";
554            gid = ["pin_auth_host"];
555            pin_auth_device :: device {
556                device0 :: deviceNode {
557                    policy = 2;
558                    priority = 200;
559                    moduleName = "libpin_auth_driver.z.so";
560                    serviceName = "pin_auth_interface_service";
561                }
562            }
563        }
564
565        user_auth :: host {
566            hostName = "user_auth_host";
567            priority = 50;
568            uid = "user_auth_host";
569            gid = ["user_auth_host"];
570            user_auth_device :: device {
571                device0 :: deviceNode {
572                    policy = 2;
573                    priority = 200;
574                    moduleName = "libuser_auth_driver.z.so";
575                    serviceName = "user_auth_interface_service";
576                }
577            }
578        }
579
580        fingerprint_auth :: host {
581            hostName = "fingerprint_auth_host";
582            priority = 50;
583            uid = "fingerprint_auth_host";
584            gid = ["fingerprint_auth_host"];
585            fingerprint_device :: device {
586                device0 :: deviceNode {
587                    policy = 2;
588                    priority = 200;
589                    moduleName = "libfingerprint_auth_driver.z.so";
590                    serviceName = "fingerprint_auth_interface_service";
591                }
592            }
593        }
594
595        location :: host {
596            hostName = "location_host";
597            priority = 50;
598            uid = "location_host";
599            gid = ["location_host"];
600            location_gnss_device :: device {
601                device0 :: deviceNode {
602                    policy = 2;
603                    priority = 100;
604                    preload = 2;
605                    moduleName = "liblocation_gnss_hdi_driver.z.so";
606                    serviceName = "gnss_interface_service";
607                }
608            }
609            location_agnss_device :: device {
610                device0 :: deviceNode {
611                    policy = 2;
612                    priority = 100;
613                    preload = 2;
614                    moduleName = "liblocation_agnss_hdi_driver.z.so";
615                    serviceName = "agnss_interface_service";
616                }
617            }
618            location_geofence_device :: device {
619                device0 :: deviceNode {
620                    policy = 2;
621                    priority = 100;
622                    preload = 2;
623                    moduleName = "liblocation_geofence_hdi_driver.z.so";
624                    serviceName = "geofence_interface_service";
625                }
626            }
627        }
628        partitionslot :: host {
629            hostName = "partitionslot_host";
630            priority = 100;
631            uid = "useriam";
632            gid = ["useriam", "update"];
633            partitionslot_device :: device {
634                device0 :: deviceNode {
635                    policy = 2;
636                    priority = 100;
637                    preload = 2;
638                    moduleName = "libpartitionslot_driver.z.so";
639                    serviceName = "partition_slot_service";
640                }
641            }
642        }
643        intell_voice :: host {
644            hostName = "intell_voice_host";
645            priority = 100;
646            intell_voice_device :: device {
647                device0 :: deviceNode {
648                    policy = 2;
649                    priority = 100;
650                    preload = 2;
651                    moduleName = "libintell_voice_engine_driver.z.so";
652                    serviceName = "intell_voice_engine_manager_service";
653                }
654            }
655        }
656    }
657}
658