mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
107 lines
2.4 KiB
Bash
107 lines
2.4 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Start/stop the Bluetooth daemons
|
|
#
|
|
|
|
. /etc/rc.conf
|
|
. /etc/rc.d/functions
|
|
|
|
DAEMON_NAME="bluetoothd"
|
|
HID2HCI_NAME="hid2hci"
|
|
HIDD_NAME="hidd"
|
|
RFCOMM_NAME="rfcomm"
|
|
PAND_NAME="pand"
|
|
DUND_NAME="dund"
|
|
|
|
DAEMON_EXEC="/usr/sbin/bluetoothd"
|
|
HID2HCI_EXEC="/usr/sbin/hid2hci"
|
|
HIDD_EXEC="/usr/bin/hidd"
|
|
RFCOMM_EXEC="/usr/bin/rfcomm"
|
|
PAND_EXEC="/usr/bin/pand"
|
|
DUND_EXEC="/usr/bin/dund"
|
|
|
|
DAEMON_ENABLE="true"
|
|
HID2HCI_ENABLE="false"
|
|
HIDD_ENABLE="false"
|
|
RFCOMM_ENABLE="false"
|
|
DUND_ENABLE="false"
|
|
PAND_ENABLE="false"
|
|
|
|
RFCOMM_CONFIG="/etc/bluetooth/rfcomm.conf"
|
|
|
|
HIDD_OPTIONS=""
|
|
DUND_OPTIONS=""
|
|
PAND_OPTIONS=""
|
|
|
|
[ -f /etc/conf.d/bluetooth ] && . /etc/conf.d/bluetooth
|
|
|
|
case "$1" in
|
|
start)
|
|
stat_busy "Starting bluetooth subsystem:"
|
|
if [ "$DAEMON_ENABLE" = "true" -a -x "$DAEMON_EXEC" ] ; then
|
|
stat_append " $DAEMON_NAME"
|
|
$DAEMON_EXEC
|
|
sleep 1
|
|
fi
|
|
if [ "$HID2HCI_ENABLE" = "true" -a -x "$HID2HCI_EXEC" ] ; then
|
|
stat_append " $HID2HCI_NAME"
|
|
$HID2HCI_EXEC --tohci > /dev/null 2>&1 || true
|
|
fi
|
|
if [ "$SDPD_ENABLE" = "true" -a -x "$SDPD_EXEC" ] ; then
|
|
stat_append " $SDPD_NAME"
|
|
$SDPD_EXEC
|
|
fi
|
|
if [ "$HIDD_ENABLE" = "true" -a -x "$HIDD_EXEC" ]; then
|
|
stat_append " $HIDD_NAME"
|
|
$HIDD_EXEC $HIDD_OPTIONS --server
|
|
fi
|
|
if [ "$RFCOMM_ENABLE" = "true" -a -x "$RFCOMM_EXEC" -a -f "$RFCOMM_CONFIG" ]; then
|
|
stat_append " $RFCOMM_NAME"
|
|
$RFCOMM_EXEC -f $RFCOMM_CONFIG bind all
|
|
fi
|
|
if [ "$DUND_ENABLE" = "true" -a -x "$DUND_EXEC" -a -n "$DUND_OPTIONS" ]; then
|
|
stat_append " $DUND_NAME"
|
|
$DUND_EXEC $DUND_OPTIONS
|
|
fi
|
|
if [ "$PAND_ENABLE" = "true" -a -x "$PAND_EXEC" -a -n "$PAND_OPTIONS" ]; then
|
|
stat_append " $PAND_NAME"
|
|
$PAND_EXEC $PAND_OPTIONS
|
|
fi
|
|
add_daemon bluetooth
|
|
stat_done
|
|
;;
|
|
stop)
|
|
stat_busy "Stopping bluetooth subsystem:"
|
|
|
|
stat_append " $PAND_NAME"
|
|
killall $PAND_NAME >/dev/null 2>&1
|
|
|
|
stat_append " $DUND_NAME"
|
|
killall $DUND_NAME >/dev/null 2>&1
|
|
|
|
if [ -x "$RFCOMM_EXEC" ]; then
|
|
stat_append " $RFCOMM_NAME"
|
|
$RFCOMM_EXEC release all >/dev/null 2>&1
|
|
fi
|
|
|
|
stat_append " $HIDD_NAME"
|
|
killall $HIDD_NAME >/dev/null 2>&1
|
|
|
|
stat_append " $SDPD_NAME"
|
|
killall $SDPD_NAME >/dev/null 2>&1
|
|
|
|
stat_append " $DAEMON_NAME"
|
|
killall $DAEMON_NAME >/dev/null 2>&1
|
|
|
|
rm_daemon bluetooth
|
|
stat_done
|
|
;;
|
|
restart)
|
|
$0 stop
|
|
sleep 1
|
|
$0 start
|
|
;;
|
|
*)
|
|
echo "usage: $0 {start|stop|restart}"
|
|
esac
|
|
exit 0
|