#!/bin/bash
#
# /etc/rc.d/init.d/gpsd
#
# Starts the gps daemon
#
# chkconfig: 345 44 56
# description: Listen and dispatch GPS events
# processname: gpsd

# Source function library.
. /etc/rc.d/init.d/functions

DAEMON=gps
PROGNAME=${DAEMON}d
TTY=/dev/ttyUSB0
PIDFILE=/var/run/gpsd.pid
CONTROL_SOCKET=/var/run/gpsd.sock
OPTIONS="-n -F $CONTROL_SOCKET -P $PIDFILE"

test -x /usr/sbin/$PROGNAME || exit 0

RETVAL=0

#
# See how we were called.
#

start() {
# Check if it is already running
  [ "$EUID" != "0" ] && exit 4
  if [ ! -f /var/lock/subsys/$PROGNAME ]; then
    gprintf "Starting %s daemon: " "$DAEMON"
    daemon /usr/sbin/$PROGNAME $OPTIONS $TTY
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$PROGNAME
    echo
  fi
  return $RETVAL
}

stop() {
  [ "$EUID" != "0" ] && exit 4
  gprintf "Stopping %s daemon: " "$DAEMON"
  killproc /usr/sbin/$PROGNAME
  RETVAL=$?
  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROGNAME
  echo
  return $RETVAL
}


restart() {
  stop
  start
}

reload() {
  trap "" SIGHUP
  killall -HUP $PROGNAME
}

case "$1" in
  start)
    start
  ;;
  stop)
    stop
  ;;
  reload)
    reload
  ;;
  restart)
    restart
  ;;
  condrestart)
    if [ -f /var/lock/subsys/$PROGNAME ]; then
      restart
    fi
  ;;
  status)
    status $PROGNAME
  ;;
  *)
    INITNAME=`basename $0`
    gprintf "Usage: %s {start|stop|restart|condrestart|status}\n" "$INITNAME"
    exit 1
esac

exit $RETVAL
