#!/bin/sh # # bluetooth Bluetooth subsystem starting and stopping # # chkconfig: 345 25 90 # # description: Bluetooth subsystem # # $Id$ # Source function library . /etc/rc.d/init.d/functions UART_CONF="/etc/bluetooth/uart" [ -f /etc/sysconfig/bluetooth ] && . /etc/sysconfig/bluetooth if [ "$UART_CONF" != "no" -a ! -f "$UART_CONF" ]; then UART_CONF="no" fi # See how we were called. case "$1" in start) # Check if the service is already running? if [ ! -f /var/lock/subsys/bluetooth ]; then # show "Starting %s service" Bluetooth msg_starting Bluetooth if [ -f /usr/sbin/hciattach -a "$UART_CONF" != "no" ]; then grep -v '^#' $UART_CONF | while read i; do /usr/sbin/hciattach $i done fi daemon /usr/sbin/hcid -f /etc/bluetooth/hcid.conf RETVAL=$? if [ $RETVAL -ne 0 ]; then killproc hciattach >/dev/null 2>&1 elif [ -x /usr/sbin/sdpd ]; then msg_starting "Bluetooth SDP" daemon /usr/sbin/sdpd RETVAL=$? if [ $RETVAL -ne 0 ]; then killproc hcid >/dev/null 2>&1 if [ "$UART_CONF" != "no" ]; then killproc hciattach >/dev/null 2>&1 fi fi fi [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bluetooth else # show "%s service is already running." Bluetooth msg_already_running Bluetooth exit 1 fi ;; stop) if [ -f /var/lock/subsys/bluetooth ]; then if [ -x /usr/sbin/sdpd ]; then msg_stopping "Bluetooth SDP" killproc sdpd fi # show "Stopping %s service" Bluetooth msg_stopping Bluetooth killproc hcid RETVAL=$? if [ "$UART_CONF" != "no" ]; then killproc hciattach >/dev/null 2>&1 fi rm -f /var/lock/subsys/bluetooth else # show "%s service is not running." Bluetooth msg_not_running Bluetooth exit 1 fi ;; restart) $0 stop $0 start ;; reload) if [ -f /var/lock/subsys/bluetooth ]; then # show "Reload %s service" Bluetooth msg_reloading Bluetooth killproc hcid -HUP RETVAL=$? else # show "%s service is not running." Bluetooth msg_not_running Bluetooth RETVAL=1 fi ;; force-reload) # if program allows reloading without stopping $0 reload ;; status) status hcid RETVAL=$? ;; *) # show "Usage: %s {start|stop|status|restart|reload|force-reload}" $0 msg_usage "$0 {start|stop|status|restart|reload|force-reload}" exit 1 esac exit $RETVAL # This must be last line ! # vi:syntax=sh:tw=78:ts=8:sw=4