#!/usr/bin/ksh
#
# description: Simple Network Management Protocol (SNMP) Trap Daemon
#
# processname: /opt/freeware/sbin/snmptrapd
# config: /opt/freeware/etc/snmp/snmptrapd.conf
# pidfile: /var/run/snmptrapd.pid

SNMPTRAPD_BIN=/opt/freeware/sbin/snmptrapd

PIDFILE=/var/run/snmptrapd.pid

UID=`id|awk -F\( '{print $1}'|awk -F= '{print $2}'`

if [ -e /opt/freeware/etc/snmp/snmptrapd.options ]; then
    . /opt/freeware/etc/snmp/snmptrapd.options
else
    OPTIONS="-Lsd -p $PIDFILE"
fi

RETVAL=0

do_start()
{
    echo "Starting $SNMPTRAPD_BIN"
    if [ $UID -ne 0 ]; then
        RETVAL=1
    else
        if [ -r $PIDFILE ]; then
            echo "SNMP trap daemon is already running with PID "`cat $PIDFILE`"."
            RETVAL=1
        else
            mkdir -p /var/run
            $SNMPTRAPD_BIN $OPTIONS
            RETVAL=$?
        fi
    fi
    return $RETVAL
}

do_stop()
{
    echo "Stopping $SNMPTRAPD_BIN"
    if [ $UID -ne 0 ]; then
        RETVAL=1
    else
        if [ -r $PIDFILE ]; then
            kill -15 `cat $PIDFILE`
            rm -f $PIDFILE
            RETVAL=$?
        else
            RETVAL=0
        fi
    fi
    return $RETVAL
}

do_reload()
{
    do_stop
    do_start
}

do_restart()
{
    do_stop
    do_start
}

case "$1" in
    start)
        do_start
        ;;
    stop)
        do_stop
        ;;
    reload)
        do_reload
        ;;
    restart)
        do_restart
        ;;
    status)
        if [ -r $PIDFILE ]; then
            echo "SNMP trap daemon is running with PID "`cat $PIDFILE`"."
        else
            echo "SNMP trap daemon is not running."
        fi
        RETVAL=0
        ;;
    *)
        echo "Usage: $0 {start|stop|status|restart|reload}"
        RETVAL=1
esac

exit $RETVAL

