Index: trunk/init/samhain.startFreeBSD.in
===================================================================
--- trunk/init/samhain.startFreeBSD.in	(revision 1)
+++ trunk/init/samhain.startFreeBSD.in	(revision 59)
@@ -1,95 +1,44 @@
-#! /bin/sh -
+#!/bin/sh
+
+# PROVIDE: @install_name@
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name="@install_name@"
+rcvar=`set_rcvar`
+
+pidfile="@mylockfile@"
+
+# there are no required_files in general,
+# as they might be downloaded from the server
 #
-#    initialization/shutdown script for @install_name@ package
+# required_files="@myconffile@ @mydatafile@"
 
-prefix="@prefix@"
-exec_prefix="@exec_prefix@"
+extra_commands="reload"
+stop_postcmd="remove_stale_files"
 
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-DAEMON=@sbindir@/@install_name@
-NAME=@install_name@
-pidfile=@mylockfile@
+command="@sbindir@/@install_name@"
 
-test -f $DAEMON || exit 0
-
-safe_pidof () {
-    pidval=0
-    if [ -f $pidfile ] ; then
-       pidval=`cat $pidfile | awk '{ print $1 }'`
-       echo "${pidval}" | grep ['[^0123456789]'] >/dev/null 2>&1 && pidval=0
-    fi
-    echo $pidval
-    if [ x"$pidval" = x0 ] ; then
-	return 1
-    else
-	return 0
-    fi
+is_set()
+{
+    eval "[ -n \"\${$1+X}\" ]"
 }
 
-log_stat_msg () {
-case "$1" in
-	0)
-	echo "Service $NAME: Running";
-	break;
-	;;
-	1)
-	echo "Service $NAME: Stopped and @mylockfile@ pid file exists";
-	break;
-	;;
-	3)
-	echo "Service $NAME: Stopped";
-	break;
-	;;
-	*)
-	echo "Service $NAME: Status unknown";
-	break;
-	;;
-esac
+remove_stale_files()
+{
+    if test -f @mylockfile@; then
+	/bin/rm -f @mylockfile@
+    fi
+    /bin/rm -f @mylockdir@/${name}.sock
 }
 
-case "$1" in
-  start)
-	#
-	# Remove a stale lockfile, if found
-	#
-	if test -f @mylockfile@; then
-	    rm -f @mylockfile@
-	fi
-        /bin/rm -f @mylockdir@/${NAME}.sock
-        $DAEMON -D && echo -n " $NAME"
-        ;;
-  stop)
-        PID=`safe_pidof`
-	if test "x$PID" != x0
-	then
-		kill $PID && echo -n " $NAME"
-        fi
-        ;;
-  reload|force-reload)
-        PID=`safe_pidof`
-        if test "x$PID" != x0
-        then
-		echo " Reloading $NAME configuration file."
-                kill -s HUP $PID && echo -n " $NAME"
-	else
-		echo " Cannot determine PID of process $NAME."
-		exit 1
-        fi
-        ;;
-  restart)
-	$0 stop
-        sleep 3
-        $0 start
-        ;;
-    status)
-        $DAEMON  status
-	ERRNUM=$?
-	log_stat_msg ${ERRNUM}
-	exit ${ERRNUM}
-        ;;
-  *)
-        echo " Usage: $0 {start|stop|restart|reload|force-reload}" >&2
-        exit 1
-        ;;
-esac
+load_rc_config "$name"
 
+if ! is_set ${rcvar}; then 
+    eval "${rcvar}=YES"
+fi
+
+run_rc_command "$1"
+
Index: trunk/init/samhain.startLinux.in
===================================================================
--- trunk/init/samhain.startLinux.in	(revision 1)
+++ trunk/init/samhain.startLinux.in	(revision 59)
@@ -63,5 +63,5 @@
 fi
 
-function debian_end ()
+debian_end()
 {
 	if [ $RETVAL -eq 0 ];
@@ -103,5 +103,5 @@
 
 # echo OK in green if is success, FAILED in red is failed
-function generic_end ()
+generic_end()
 {
 	if [ $RETVAL -eq 0 ];
Index: trunk/init/samhain.startSolaris.in
===================================================================
--- trunk/init/samhain.startSolaris.in	(revision 1)
+++ trunk/init/samhain.startSolaris.in	(revision 59)
@@ -9,5 +9,5 @@
 
 
-log_stat_msg () {
+log_stat_msg() {
 case "$1" in
 	0)
