# Copyright (C) 2012 The Android Open Source Project
#
# IMPORTANT: Do not create world writable files or directories.
# This is a common source of Android security bugs.
#

on boot
service ril-daemon /system/bin/rild
    class main
    socket rild stream 660 root radio
    socket rild-debug stream 660 radio system
    socket rild-cas stream 660 casdrm mmb
    user root
    group radio cache inet misc audio log qcom_diag system drmrpc vpn system

service diag_uart_log /system/bin/diag_uart_log
    class main
    user root
    group radio

# QMUX must be in multiple groups to support external process connections
service qmuxd /system/bin/qmuxd
    class main
    user root
    group radio audio bluetooth gps qcom_diag

service diag_mdlog_start /system/bin/diag_mdlog
    class late_start
    user sdcard_rw
    group system qcom_diag sdcard_rw sdcard_r media_rw
    disabled
    oneshot

service diag_mdlog_stop /system/bin/diag_mdlog -k
    class late_start
    user sdcard_rw
    group system qcom_diag sdcard_rw sdcard_r media_rw
    disabled
    oneshot

service ril-daemon1 /system/bin/rild -c 2
    class main
    socket rild2 stream 660 root radio
    socket rild-debug2 stream 660 radio system
    user root
    group radio cache inet misc audio log qcom_diag system drmrpc sdcard_r sdcard_rw shell
    disabled
