]> git.pld-linux.org Git - packages/bluez-utils.git/blob - bluez-utils.init
- LSB compliance
[packages/bluez-utils.git] / bluez-utils.init
1 #!/bin/sh
2 #
3 # bluetooth     Bluetooth subsystem starting and stopping
4 #
5 # chkconfig:    345 25 90
6 #
7 # description:  Bluetooth subsystem
8 #
9 # $Id$
10
11
12 # Source function library
13 . /etc/rc.d/init.d/functions
14
15 UART_CONF="/etc/bluetooth/uart"
16 [ -f /etc/sysconfig/bluetooth ] && . /etc/sysconfig/bluetooth
17
18 if [ "$UART_CONF" != "no" -a ! -f "$UART_CONF" ]; then
19         UART_CONF="no"
20 fi
21
22 RETVAL=0
23 # See how we were called.
24 case "$1" in
25   start)
26         # Check if the service is already running?
27         if [ ! -f /var/lock/subsys/bluetooth ]; then
28                 # show "Starting %s service" Bluetooth
29                 msg_starting Bluetooth
30                 if [ -f /usr/sbin/hciattach -a "$UART_CONF" != "no" ]; then
31                         grep -v '^#' $UART_CONF | while read i; do
32                                 /usr/sbin/hciattach $i
33                         done
34                 fi
35                 daemon /usr/sbin/hcid -f /etc/bluetooth/hcid.conf
36                 RETVAL=$?
37                 if [ $RETVAL -ne 0 ]; then
38                         killproc hciattach >/dev/null 2>&1
39                 elif [ -x /usr/sbin/sdpd ]; then
40                         msg_starting "Bluetooth SDP"
41                         daemon /usr/sbin/sdpd
42                         RETVAL=$?
43                         if [ $RETVAL -ne 0 ]; then
44                                 killproc hcid >/dev/null 2>&1
45                                 if [ "$UART_CONF" != "no" ]; then
46                                         killproc hciattach >/dev/null 2>&1
47                                 fi
48                         fi
49                 fi
50                 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/bluetooth
51         else
52                 # show "%s service is already running." Bluetooth
53                 msg_already_running Bluetooth
54         fi
55         ;;
56   stop)
57         if [ -f /var/lock/subsys/bluetooth ]; then
58                 if [ -x /usr/sbin/sdpd ]; then
59                         msg_stopping "Bluetooth SDP"
60                         killproc sdpd
61                 fi
62                 # show "Stopping %s service" Bluetooth
63                 msg_stopping Bluetooth
64                 killproc hcid
65                 RETVAL=$?
66                 if [ "$UART_CONF" != "no" ]; then
67                         killproc hciattach >/dev/null 2>&1
68                 fi
69                 rm -f /var/lock/subsys/bluetooth
70         else
71                 # show "%s service is not running." Bluetooth
72                 msg_not_running Bluetooth
73         fi      
74         ;;
75   restart)
76         $0 stop
77         $0 start
78         exit $?
79         ;;
80   reload|force-reload)
81         if [ -f /var/lock/subsys/bluetooth ]; then
82                 # show "Reload %s service" Bluetooth
83                 msg_reloading Bluetooth
84                 killproc hcid -HUP
85                 RETVAL=$?
86         else
87                 # show "%s service is not running." Bluetooth
88                 msg_not_running Bluetooth
89                 RETVAL=7
90         fi
91         ;;
92   status)
93         status hcid
94         RETVAL=$?
95         ;;
96   *)
97         # show "Usage: %s {start|stop|restart|reload|force-reload|status}"
98         msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
99         exit 3
100 esac
101
102 exit $RETVAL
103
104 # This must be last line !
105 # vi:syntax=sh:tw=78:ts=8:sw=4
This page took 0.039601 seconds and 3 git commands to generate.