# 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 sdcard_r sdcard_rw log qcom_diag system drmrpc vpn system shell 

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
