#!/bin/sh
#
# conserver -- serial-port console daemon
#
# chkconfig: 2345 92 08
# description: conserver is a serial-port console daemon
# config: /etc/conserver.cf
#

### BEGIN INIT INFO
# Provides: conserver
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-stop:
# Short-Description: conserver
# Description: Console server
### END INIT INFO

RHPassed()
{
    passed
    echo
}
RHSuccess()
{
    success
    echo
}
RHFailure()
{
    failure
    echo
}
MStatus()
{
  ps ax|grep -v grep|grep /usr/sbin/conserver >& /dev/null
  if [ "$?" = "0" ]; then
    RVAL=0
    echo "conserver is running"
  else
    RVAL=3
    echo "consever is not running"
  fi
  return $RVAL
}


# Source function library.
if [ -f /etc/rc.d/init.d/functions ]; then
    . /etc/rc.d/init.d/functions
    DAEMON=daemon
    SUCCESS=RHSuccess
    FAILURE=RHFailure
    PASSED=RHPassed
    STATUS=status
elif [ -f /lib/lsb/init-functions ]; then
    . /lib/lsb/init-functions
    DAEMON=start_daemon
    SUCCESS=log_success_msg
    FAILURE=log_failure_msg
    PASSED=log_warning_msg
    STATUS=MStatus
else
    echo "Error, not RedHat and not lsb, do not know how to run this platform"
fi

# make sure conserver is installed and executable
[ -x /usr/sbin/conserver  ] || exit 1


# See how we were called.
case "$1" in
  start)
    echo -n "Starting conserver: "
    $DAEMON /usr/sbin/conserver -o -O1 -d
    touch /var/lock/subsys/conserver
    $STATUS conserver >& /dev/null
    if [ "$?" != "0" ]; then
        $FAILURE
        exit 1
    fi
    $SUCCESS
    ;;
  stop)
    $STATUS conserver >& /dev/null
    if [ "$?" != "0" ]; then
        echo -n "conserver not running, not stopping "
        $PASSED
        exit 0
    fi
    echo -n "Shutting down conserver: "
    killproc conserver
    rm -f /var/lock/subsys/conserver
    $STATUS conserver >& /dev/null
    if [ "$?" == "0" ]; then
        $FAILURE
        exit 1
    fi
    $SUCCESS
    ;;
  status)
    $STATUS conserver
    exit $?
    ;;
  restart)
    $STATUS conserver >& /dev/null
    if [ "$?" != "0" ]; then
        exec $0 start
    else
        echo -n "Restarting conserver: "
        killproc conserver -HUP
    fi
    $SUCCESS
    ;;
  *)
    echo "Usage: conserver {start|stop|restart|status}"
    exit 1
esac

exit 0
