#!/bin/bash
#
# iwpmd         Start/Stop the IWPMD daemon
#
# chkconfig: 345 90 10
# description: iWarp Port Mapper Daemon for opening sockets to reserve ports from userspace
#
### BEGIN INIT INFO
# Provides: iwpmd
# Required-Start: $network $syslog
# Required-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: iWarp Port Mapper Daemon
# Description: iWarp Port Mapper Daemon for opening sockets to claim TCP ports from userspace
### END INIT INFO

IWPMD_BIN="/usr/bin/iwpmd"
LOCK="/var/lock/subsys/iwpmd"

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

start() {
	[ -x $IWPMD_BIN ] || exit 5

	echo -n $"Starting iWarp port mapper daemon: "
	ulimit -n 102400
	daemon $IWPMD_BIN
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch $LOCK
	return $RETVAL
}

stop() {
	echo -n $"Stopping iWarp port mapper daemon: "
	killproc $IWPMD_BIN
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f $LOCK
	return $RETVAL
}

restart() {
	stop
	start
}

rh_status() {
	status $IWPMD_BIN
}

rh_status_q() {
	rh_status >/dev/null 2>&1
}

case "$1" in
start)
	rh_status_q && exit 0
	start
	;;
stop)
	rh_status_q || exit 0
	stop
	;;
restart)
	restart
	;;
condrestart | try-restart)
	rh_status_q || exit 0
	restart
	;;
force-reload)
	restart
	;;
status)
	rh_status
	;;
*)
	echo $"Usage: $0 {start|stop|restart|condrestart|try-restart|force-reload|status}"
	exit 2
esac

exit $?
