#!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/rng-tools/files/2/rngd,v 1.2 2009/07/15 19:47:25 nelchael Exp $

depend() {
	need localmount
	after random
}

start() {
	ebegin "Starting hardware RNG daemon"
	if [ -e /dev/hw_random ]; then
		start-stop-daemon --start --quiet --exec /usr/sbin/rngd -- -s ${STEP-64} -t ${TIMEOUT-60} -b -r /dev/hw_random
		eend $? "Failed to start hardware RNG daemon"
	elif [ -e /dev/hwrandom ]; then
		start-stop-daemon --start --quiet --exec /usr/sbin/rngd -- -s ${STEP-64} -t ${TIMEOUT-60} -b -r /dev/hwrandom
		eend $? "Failed to start hardware RNG daemon"
	elif [ -e /dev/i810_rng ]; then
		start-stop-daemon --start --quiet --exec /usr/sbin/rngd -- -s ${STEP-64} -t ${TIMEOUT-60} -b -r /dev/i810_rng
		eend $? "Failed to start hardware RNG daemon"
	elif [ -e /dev/hwrng ]; then
		start-stop-daemon --start --quiet --exec /usr/sbin/rngd -- -s ${STEP-64} -t ${TIMEOUT-60} -b -r /dev/hwrng
		eend $? "Failed to start hardware RNG daemon"
	else
		einfo "No hardware RNG found, using /dev/urandom as feedback input"
		start-stop-daemon --start --quiet --exec /usr/sbin/rngd -- -s ${STEP-64} -t ${TIMEOUT-60} -b -r /dev/urandom
		eend $? "Failed to start hardware RNG daemon"
	fi
}

stop() {
	ebegin "Stopping hardware RNG daemon"
	start-stop-daemon --stop --quiet --exec /usr/sbin/rngd
	eend $? "Failed to stop hardware RNG daemon"
}
